CN110419223A - 必需的及非必需的视频补充信息的信号发送 - Google Patents

必需的及非必需的视频补充信息的信号发送 Download PDF

Info

Publication number
CN110419223A
CN110419223A CN201880017733.2A CN201880017733A CN110419223A CN 110419223 A CN110419223 A CN 110419223A CN 201880017733 A CN201880017733 A CN 201880017733A CN 110419223 A CN110419223 A CN 110419223A
Authority
CN
China
Prior art keywords
information
video data
sei message
video
sei
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201880017733.2A
Other languages
English (en)
Other versions
CN110419223B (zh
Inventor
王业奎
托马斯·斯托克哈默
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN110419223A publication Critical patent/CN110419223A/zh
Application granted granted Critical
Publication of CN110419223B publication Critical patent/CN110419223B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

在各项实施方案中,提供针对区分必需的信息与非必需的信息的SEI消息的技术以及实施这些技术的***。在各项实施方案中,编码器可经配置以确定与视频数据相关联的信息是必需的还是不是必需的。在各项实施方案中,可定义不同类型的SEI消息,其中这些类型的SEI消息中的一或多者可指示与特定视频相关联的信息是必需的还是不是必需的。必需的信息需要用于呈现所述视频数据,且不需要用于解码所述视频数据。

Description

必需的及非必需的视频补充信息的信号发送
技术领域
本申请案大体上涉及视频译码。举例来说,描述用于补充增强信息的编码及解码的***及方法。
背景技术
视频译码标准包含ITU-T H.261、ISO/IEC MPEG-1Visual、ITU-T H.262或ISO/IECMPEG-2Visual、ITU-T H.263、ISO/IEC MPEG-4Visual、ITU-T H.264或ISO/IEC MPEG-4AVC,包含其可伸缩视频译码(SVC)及多视图视频译码(MVC)扩展,及高效率视频译码(HEVC),也被称为ITU-T H.265及ISO/IEC 23008-2,包含其可伸缩译码扩展(即,可伸缩高效率视频译码,SHVC)及多视图扩展(即,多视图高效率视频译码,MV-HEVC)。
发明内容
在各项实施方案中,提供用于在SEI消息中用信号发送必需的信息的技术。当编码器确定信息需要用于显示视频数据时,所述信息是必需的。所述信息不需要用于解码所述视频数据。可在SEI消息中提供与显示或呈现视频数据相关的信息,然而,所述SEI消息可能不能够指示每一消息中携载的数据对于所述视频数据的呈现是必需的还是不是必需的。另外,使用SEI消息的译码标准可能不会提供一种用于使解码装置快速地识别及定位包含必需的信息的SEI消息的方式。
在各项实施方案中,提供可指示必需的信息与经编码视频位流一起被包含的SEI消息。这些SEI消息使解码装置能够确定必需的信息被提供,且定位所述必需的信息。
根据至少一项实例,提供一种编码视频数据的方法,其包含接收视频数据。所述方法进一步包含由编码装置确定是否需要与所述视频数据相关联的信息来呈现所述视频数据,其中所述信息不需要用于解码所述视频数据。所述方法进一步包含产生补充增强信息(SEI)消息,其中所述SEI消息包含指示是否需要所述信息来呈现所述视频数据的字段。所述方法进一步包含编码所述视频数据。所述方法进一步包含将所述SEI消息与所述经编码视频数据一起包含。
在另一实例中,提供一种编码,其包含:存储器,其经配置以存储视频数据;及处理器。所述处理器经配置以且可确定是否需要与所述视频数据相关联的信息来呈现所述视频数据,其中所述信息不需要用于解码所述视频数据。所述处理器经配置以且可产生补充增强信息(SEI)消息,其中所述SEI消息包含指示是否需要所述信息来呈现所述视频数据的字段。所述处理器经配置以且可编码所述视频数据。所述处理器经配置以且可将所述SEI消息与所述经编码视频数据一起包含。
在另一实例中,提供一种非暂时性计算机可读媒体,其包括在由一或多个处理器执行时致使所述一或多个处理器接收视频数据的指令。所述指令进一步致使所述一或多个处理器确定是否需要与所述视频数据相关联的信息来呈现所述视频数据,其中所述信息不需要用于解码所述视频数据。所述指令进一步致使所述一或多个处理器产生补充增强信息(SEI)消息,其中所述SEI消息包含指示是否需要所述信息来呈现所述视频数据的字段。所述指令进一步致使所述一或多个处理器编码所述视频数据。所述指令进一步致使所述一或多个处理器将所述SEI消息与所述经编码视频数据一起包含。
在另一实例中,提供一种设备,其包含用于接收视频数据的装置。所述设备进一步包括用于确定是否需要与所述视频数据相关联的信息来呈现所述视频数据的装置,其中所述信息不需要用于解码所述视频数据。所述设备进一步包括用于产生补充增强信息(SEI)消息的装置,其中所述SEI消息包含指示是否需要所述信息来呈现所述视频数据的字段。所述设备进一步包括用于编码所述视频数据的装置。所述设备进一步包括用于将所述SEI消息与所述经编码视频数据一起包含的装置。
在一些方面中,所述编码装置经配置有可由所述编码装置使用以确定是否需要所述信息来呈现所述视频数据的一或多个参数。
在一些方面中,所述编码装置确定需要所述信息来呈现所述视频数据。
在一些方面中,所述编码装置确定不需要所述信息来呈现所述视频数据。
在一些方面中,所述SEI消息的语法元素指示所述SEI消息的类型。
在一些方面中,所述信息与所述经编码视频数据一起被包含。
在一些方面中,上文所描述的方法、设备及计算机可读媒体进一步包括将所述经编码视频数据及所述SEI消息写入至文件,其中根据文件格式将所述经编码视频数据及所述SEI消息写入至所述文件。所述方面进一步包括使用所述文件格式以将所述SEI消息放置于所述文件中的可在读取所述经编码视频数据之前读取所述SEI之处。
在一些方面中,上文所描述的方法、设备及计算机可读媒体进一步包括封装所述经编码视频数据以供流式处理,其中根据流式处理格式封装所述经编码视频数据。这些方面进一步包括根据所述流式处理格式产生经编码视频数据的描述,其中所述描述包含所述SEI消息。
在一些方面中,上文所描述的方法、设备及计算机可读媒体进一步包括封装所述经编码视频数据以供经由网络而传输,其中根据容器格式封装所述经编码视频数据。这些方面进一步包括根据所述容器格式产生第一数据包,其中所述第一数据包的有效负载部分包含所述SEI消息作为描述符。这些方面进一步包括产生包含所述经编码视频数据的一或多个数据包,其中所述一或多个数据包按传输次序在所述第一数据包之后。
在一些方面中,上文所描述的方法、设备及计算机可读媒体进一步包括封装所述经编码视频数据以供经由网络而传输,其中根据实时传送协议封装所述经编码视频数据。这些方面进一步包括根据会话描述协议产生会话描述,其中所述会话描述包含所述SEI消息。
根据至少一项实例,提供一种解码视频数据的方法,其包含在解码装置处接收经编码视频位流、补充增强信息(SEI)消息及与所述经编码视频位流相关联的信息。所述方法进一步包含使用所述SEI消息确定是否需要所述信息来呈现所述经编码视频位流中的视频数据,其中所述信息不需要用于解码所述视频数据,且其中所述SEI消息包含指示是否需要所述信息来呈现所述视频数据的字段。所述方法进一步包含解码所述经编码视频位流以产生视频数据,其中根据确定是否需要所述信息来呈现所述视频数据的结果解码所述经编码视频位流。
在另一实例中,提供一种设备,其包含:存储器,其经配置以存储经编码视频数据、补充增强信息(SEI)消息及与所述经编码视频位流相关联的信息;及处理器。所述处理器经配置以且可使用所述SEI消息确定是否需要所述信息来呈现所述经编码视频位流中的视频数据,其中所述信息不需要用于解码所述视频数据,且其中所述SEI消息包含指示是否需要所述信息来呈现所述视频数据的字段。所述处理器经配置以且可解码所述经编码视频位流以产生视频数据,其中根据确定是否需要所述信息来呈现所述视频数据的结果解码所述经编码视频位流。
在另一实例中,提供一种非暂时性计算机可读媒体,其包括在由一或多个处理器执行时致使所述一或多个处理器接收经编码视频位流、补充增强信息(SEI)消息及与所述经编码视频位流相关联的信息的指令。所述指令进一步致使所述一或多个处理器使用所述SEI消息确定是否需要所述信息来呈现所述经编码视频位流中的视频数据,其中所述信息不需要用于解码所述视频数据,且其中所述SEI消息包含指示是否需要所述信息来呈现所述视频数据的字段。所述指令进一步致使所述一或多个处理器解码所述经编码视频位流以产生视频数据,其中根据确定是否需要所述信息来呈现所述视频数据的结果解码所述经编码视频位流。
在另一实例中,提供一种设备,其包含用于接收经编码视频位流、补充增强信息(SEI)消息及与所述经编码视频位流相关联的信息的装置。所述设备进一步包括用于使用所述SEI消息确定是否需要所述信息来呈现所述经编码视频位流中的视频数据的装置,其中所述信息不需要用于解码所述视频数据,且其中所述SEI消息包含指示是否需要所述信息来呈现所述视频数据的字段。所述设备进一步包括用于解码所述经编码视频位流以产生视频数据的装置,其中根据确定是否需要所述信息来呈现所述视频数据的结果解码所述经编码视频位流。
在一些方面中,所述解码装置确定需要所述信息来呈现所述视频数据,且其中所述解码装置根据所述信息配置所述视频数据。
在一些方面中,所述解码装置确定不需要所述信息来呈现所述视频数据,且其中所述解码装置在不使用所述信息的情况下解码所述经编码视频数据。
在一些方面中,所述SEI消息的语法元素指示所述SEI消息的类型。
在一些方面中,在文件中接收所述经编码视频位流、所述SEI消息及与所述经编码视频位流相关联的所述信息,其中根据文件格式来格式化所述文件,且其中,根据所述文件格式,所述SEI消息在由所述解码装置读取的所述文件的部分中,所述部分在包含所述经编码视频位流的所述文件的部分之前。
在一些方面中,在数据流中接收所述经编码视频位流、所述SEI消息及与所述经编码视频位流相关联的所述信息,其中根据流式处理格式来格式化所述数据流。这些方面进一步包含从所述数据流读取所述经编码视频数据的描述,其中所述描述包含所述SEI消息。
在一些方面中,在多个网络数据包中接收所述经编码视频位流、所述SEI消息及与所述经编码视频位流相关联的所述信息。这些方面进一步包含从来自所述多个网络数据包的第一数据包的有效负载部分读取所述SEI消息。这些方面进一步包含从来自所述多个网络数据包的一或多个数据包读取所述经编码视频数据,其中所述一或多个数据包按传输次序在所述第一数据包之后。
在一些方面中,经由网络接收所述经编码视频位流、所述SEI消息及与所述经编码视频位流相关联的所述信息,其中根据实时传送协议封装所述经编码视频位流,其中所述SEI消息包含于会话描述中,其中根据会话描述协议格式化所述会话描述。
附图说明
下文参考以下附图详细地描述本申请案的说明性实例:
图1为绘示视频译码***的实例的框图。
图2绘示存取单元的实例。
图3绘示ISO基本媒体文件的实例。
图4绘示用于流式处理视频内容的DASH呈现的实例。
图5绘示MPEG输送流的实例。
图6绘示用于网络通信的开放***互连(OSI)模型600的实例。
图7绘示用于编码视频数据的过程的实例。
图8绘示用于解码视频数据的过程的实例。
图9为绘示实例编码装置的框图。
图10为绘示实例解码装置的框图。
具体实施方式
下文提供本发明的某些方面及实例。这些方面及实例中的一些可被独立地应用且这些方面及实例中的一些可被组合地应用,这对于所属领域的技术人员来说将显而易见。在以下描述中,出于阐释的目的,按次序阐述特定细节以便提供对各项可能实施方案的透彻理解。然而,将显而易见,可在无这些特定细节的情况下实践各项实例。图及描述并不意图是限定性的。
随后的描述仅提供实例实施方案,且并不意图限制本发明的范围、适用性或配置。更确切地,实例实施方案的随后的描述将向所属领域的技术人员提供用于实施实例的令人能够实现的描述。应理解,在不脱离如所附权利要求书中所阐述的本申请案的精神及范围的情况下,可对元件的功能及布置作出各种改变。
在以下描述中给出特定细节以提供对实例的透彻理解。然而,所属领域的一般技术人员应理解,可在无这些特定细节的情况下实践实例。举例来说,可以框图形式将电路、***、网络、过程及其它组件展示为组件,以免以不必要的细节混淆实例。在其它情况下,可在无不必要的细节的情况下展示熟知的电路、过程、算法、结构及技术,以便避免混淆实例。
此外,应注意,可将个别实例描述为被描绘为流程图、流图、数据流图、结构图或框图的过程。尽管流程图可将操作描述为顺序过程,但许多操作可并行地或同时地执行。另外,可重新布置操作的次序。过程在其操作完成时终止,但可具有未包含于图中的额外步骤。过程可对应于方法、函数、规程、子例程、子程序等等。当过程对应于函数时,其终止可对应于函数返回至调用函数或主函数。
术语“计算机可读媒体”包含但不限于便携式或非便携式存储装置、光学存储装置,及能够存储、含有或携载指令及/或数据的各种其它媒体。计算机可读媒体可包含非暂时性媒体,非暂时性媒体中可存储数据,且非暂时性媒体不包含载波及/或以无线方式或经由有线连接而传播的暂时性电子信号。非暂时性媒体的实例可包含但不限于磁盘或磁带、例如紧密光盘(CD)或数字多功能光盘(DVD)的光学存储媒体、闪速存储器、存储器或存储器装置。计算机可读媒体可在其上存储有代码及/或机器可执行指令,代码及/或机器可执行指令可表示规程、函数、子程序、程序、例程、子例程、模块、软件包、类,或指令、数据结构或程序语句的任何组合。代码段可通过传递及/或接收信息、数据、自变量、参数或存储器内容而耦合至另一代码段或硬件电路。信息、自变量、参数、数据等等可经由包含存储器共享、消息传递、令牌传递、网络传输等等的任何合适方式而传递、转发或传输。
此外,本文中所论述的实例可由硬件、软件、固件、中间件、微码、硬件描述语言或其任何组合实施。当以软件、固件、中间件或微码予以实施时,用以执行必要的任务的程序代码或代码段(例如计算机程序产品)可存储于计算机可读或机器可读媒体中。处理器可执行必要的任务。
随着更多的装置及***向取用者提供取用数字视频数据的能力,针对高效视频译码技术的需要变得越来越重要。需要视频译码来缩减为处置存在于数字视频数据中的大量数据所必要的存储及传输要求。各种视频译码技术可用以将视频数据压缩成使用较低位速率同时维持高视频质量的形式。如本文中所使用,“译码”是指“编码”及“解码”。
经编码位流中的补充增强信息(SEI)消息可用以辅助经编码位流的解码及/或显示,或用于另一目的。SEI消息是“补充”,这在于SEI消息中的数据在解码过程期间不需要用于构造亮度或色度样本。另外,不需要符合支持SEI消息的视频译码标准的解码器来处理SEI消息以便为符合的。对于一些译码标准,可能需要一些SEI消息信息来检查位流符合性,或用于输出时序解码器符合性。
SEI消息可用以提供关于经编码位流的额外信息,所述额外信息可用以一旦解码所述位流就改变所述位流的呈现,或用以将信息提供至解码器。举例来说,SEI消息已用以提供帧包装信息(例如描述视频数据布置于视频帧中的方式)、内容描述(例如用以指示经编码位流为例如360度视频),及颜色信息(例如色域及/或颜色范围),以及其它者。
尽管视频译码标准规定SEI消息不需要用于解码经编码位流,但在一些状况下,SEI消息中携载的信息对于解码处理可能是必需的。举例来说,SEI消息可用以描述位流中编码的视频数据的格式,在没有所述格式的情况下,解码器可能不能够按照预期而呈现视频。举例来说,SEI消息可用以向解码器用信号发送经编码位流包含360度视频。在此实例中,解码器可使用此信息以显现视频数据以供360度呈现。替代地,如果解码器不能够显现360度视频,那么解码器可使用此信息以不显现视频数据,而非尝试显现视频数据且呈现严重失真的视频序列。作为另一实例,内容产生器可能已指定经编码视频数据运用特定色域予以显现。在此实例中,在SEI消息中无数据的情况下,解码器可运用不同色域显现视频,且因此以除了预期方式以外的方式呈现视频数据。
在各项实施方案中,提供针对区分“必需的”信息与“非必需的”信息的SEI消息的技术以及实施这些技术的***。在各项实施方案中,编码器可经配置以确定与视频数据相关联的信息是必需的还是不是必需的。举例来说,所述编码器可经配置有识别必需的信息的参数。对于特定视频,所述参数可指示例如帧包装布置或色量的信息或其它信息对于所述特定视频是必需的。
在各项实施方案中,可定义不同类型的SEI消息,其中这些类型的SEI消息中的一或多者可指示与特定视频相关联的信息对于呈现(例如如由编码装置所预期的呈现)视频数据是必需的还是不是必需的,例如如由编码装置所确定。如本文中所提供,术语“必需的”及“非必需的”用以区分已被认为(例如由编码装置及/或内容提供者/产生器)需要用于以特定方式呈现视频(例如预期呈现或显现)的信息与不需要用于以特定方式呈现视频的信息。可由内容产生器定义(例如确定或设定)信息是必需的还是非必需的。举例来说,对于一些视频数据,帧包装信息或颜色转换信息可被内容产生器认为是必需的,而层信息可能是非必需的。作为另一实例,对于一些视频数据,滤波信息可能是必需的,而时序信息是非必需的。必需的信息及非必需的信息两者不需要用于从位流解码视频。
在一项实例中,提供清单SEI消息及前缀SEI消息。在此实例中,清单SEI消息包含存在或不存在于位流中的SEI消息类型的列表,及位流中的SEI消息中的任一者是否包含必需的信息。还在此实例中,前缀SEI消息可包含前缀指示,其可指示前缀SEI消息中携载的有效负载的类型。有效负载可包含可能或可能不是必需的信息。
在另一实例中,针对必需的信息定义被称作必需的补充信息(ESI)SEI消息的SEI消息,且针对非必需的信息定义被称作非必需的补充信息(NSI)SEI消息的SEI消息。在使用ESI SEI及NSI SEI的情况下,视频译码标准可支持两种不同种类的SEI消息,其可由支持这些SEI消息类型的解码器设定优先权。
在各种实例视频译码标准中,SEI消息可放置于经编码位流的某些部分中,但无需放置于任何特定点处。举例来说,SEI消息不需要早先放置于经编码位流中。在这些实例中,在解码器开始在经编码位流中显现视频数据之前,包含必需的信息的SEI消息可能不会被解码器看见。
在各项实施方案中,提供用于使用封装格式使得SEI消息可由解码器早先看见的技术及实施这些技术的***。封装格式包含例如标准化组织(ISO)基本媒体文件格式(ISOBMFF)、会话描述协议(SDP)、超文本传送协议动态自适应流式处理(DASH),及动画专家组输送流(MPEG-TS),以及其它者。在各项实施方案中,由这些封装格式定义的格式可用以将SEI消息放置于解码器可早先在解码读取视频数据的过程中找到SEI消息之处。因此,支持用于必需的信息的SEI消息的解码器可在开始图片的解码之前获得由这些消息提供的信息。
可指示必需的或非必需的信息的SEI消息的用户可改进解码器的操作。举例来说,在没有可对必需的信息加旗标的SEI消息的情况下,一些解码器可尝试解码及显现位流,而不首先确定***是否能够显示视频。在此实例中,结果可为,视频在显示时严重失真,或在其它方面不以由内容产生器预期的方式呈现。
在一些实例中,在已开始解码视频之后,解码器可例如在包含于位流中的SEI消息中遇到必需的信息。在这些实例中,一些解码器可能能够校正输出,且按照预期而开始显示视频。然而,一些解码器可从SEI消息确定***并不支持视频,且不能够显示视频。在这些状况下,***可能必须决定是否停止解码及显现视频,或寻找***能够显示的视频的版本。如果***可找到***能够显示的视频的版本,那么***可能进一步必须决定是否开始从最初起解码视频,或进行搜索操作以在观看者所看的最后时间点附近开始。在任一状况下,解码器耗费处理时间以重新开始。另外,浪费了解码可能未适当显示的视频所花费的处理时间。
一种针对获得必需的信息的问题的解决方案是使解码器搜索经编码位流以得到必需的信息。然而,此解决方案可能需要大量存储器以使解码器缓冲经编码位流,且可能会在***可开始播放视频之前造成显著延迟。
在以上实例中的每一者中,通过以使解码器能够快速地识别及找到必需的信息的方式提供必需的信息,解码器可避免必须搜索必需的信息,可避免解码***不能够显示的位流,且可避免***以除了预期方式以外的方式显示经解码位流。解码器可进一步可能更高效地操作,其中会浪费较少的处理时间。
图1为绘示视频译码***100的实例的框图,视频译码***100包含编码装置104及解码装置112。在一些实例中,视频译码***100的编码装置100可产生ESI SEI消息及/或NSI SEI消息,且解码装置112可解码ESI SEI消息及/或NSI SEI消息,且使用包含于这些消息中的信息。编码装置104可为源装置的部分,且解码装置112可为接收装置的部分。源装置及/或接收装置可包含电子装置,例如移动或静止电话手机(例如智能电话、蜂窝电话等等)、桌上型计算机、膝上型或笔记本计算机、平板计算机、机顶盒、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式处理装置、互联网协议(IP)相机,或任何其它合适电子装置。在一些实例中,源装置及接收装置可包含用于无线通信的一或多个无线收发器。本文中所描述的译码技术适用于各种多媒体应用中的视频译码,包含流式处理视频传输(例如经由互联网)、电视广播或传输、编码数字视频以供存储于数据存储媒体上、解码存储于数据存储媒体上的数字视频,或其它应用。在一些实例中,***100可支持单向或双向视频传输以支持例如视频会议、视频流式处理、视频回放、视频广播、游戏及/或视频电话的应用。
编码装置104(或编码器)可用以使用视频译码标准或协议编码视频数据以产生经编码视频位流。视频译码标准的实例包含ITU-T H.261、ISO/IEC MPEG-1Visual、ITU-TH.262或ISO/IEC MPEG-2Visual、ITU-T H.263、ISO/IEC MPEG-4Visual、ITU-T H.264(也被称为ISO/IEC MPEG-4AVC),包含其可伸缩视频译码(SVC)及多视图视频译码(MVC)扩展,及高效率视频译码(HEVC)或ITU-T H.265。存在涉及多层视频译码的HEVC的各种扩展,包含范围及屏幕内容译码扩展、3D视频译码(3D-HEVC),以及多视图扩展(MV-HEVC)及可伸缩扩展(SHVC)。HEVC及其扩展已由ITU-T视频译码专家组(VCEG)及ISO/IEC动画专家组(MPEG)的视频译码联合合作小组(JCT-VC)以及3D视频译码扩展开发联合合作小组(JCT-3V)开发。MPEG及ITU-T VCEG还已形成联合探索视频小组(JVET),以探索用于下一代视频译码标准的新译码工具。参考软件被称为联合探索模型(JEM)。
本文中所描述的许多实例提供使用JEM模型、HEVC标准及/或其扩展的实例。然而,本文中所描述的技术及***还可适用于其它译码标准,例如AVC、MPEG、其扩展,或当前存在的其它合适译码标准,或未来译码标准。因此,虽然可参考特定视频译码标准描述本文中所描述的技术及***,但所属领域的一般技术人员应了解,所述描述不应被解释为仅适用于所述特定标准。
参看图1,视频源102可将视频数据提供至编码装置104。视频源102可为源装置的部分,或可为除了源装置以外的装置的部分。视频源102可包含视频捕获装置(例如视频相机、相机电话、视频电话等等)、含有经存储视频的视频存档、提供视频数据的视频服务器或内容提供者、从视频服务器或内容提供者接收视频的视频馈送接口、用于产生计算机图形视频数据的计算机图形***、这些源的组合,或任何其它合适视频源。
来自视频源102的视频数据可包含一或多个输入图片或帧。视频的图片或帧为场景的静态图像。编码装置104的编码器引擎106(或编码器)编码视频数据以产生经编码视频位流。在一些实例中,经编码视频位流(或“视频位流”或“位流”)为一系列一或多个经译码视频序列。经译码视频序列(CVS)包含一系列存取单元(AU),其始于具有在基础层中且具有某些性质的随机存取点图片的AU,直到且不包含具有在基础层中且具有某些性质的随机存取点图片的下一AU。举例来说,开始CVS的随机存取点图片的某些性质可包含等于1的RASL旗标(例如NoRaslOutputFlag)。否则,随机存取点图片(具有等于0的RASL旗标)并不开始CVS。存取单元(AU)包含一或多个经译码图片以及对应于共享相同输出时间的经译码图片的控制信息。图片的经译码切片在位流层级中封装成被称为网络抽象层(NAL)单元的数据单元。举例来说,HEVC视频位流可包含一或多个CVS,所述一或多个CVS包含NAL单元。所述NAL单元中的每一者具有一NAL单元标头。在一项实例中,标头对于H.264/AVC(但多层扩展除外)为一字节且对于HEVC为二字节。NAL单元标头中的语法元素采取指定位,且因此对所有种类的***及输送层可见,例如输送流、实时输送(RTP)协议、文件格式,以及其它者。
两类NAL单元存在于HEVC标准中,包含视频译码层(VCL)NAL单元及非VCLNAL单元。VCL NAL单元包含经译码图片数据的一个切片或切片区段(下文所描述),且非VCL NAL单元包含关于一或多个经译码图片的控制信息。在一些状况下,NAL单元可被称作数据包。HEVCAU包含含有经译码图片数据的VCL NAL单元,及对应于经译码图片数据的非VCL NAL单元(如果存在)。
NAL单元可含有形成视频数据的经译码表示(例如经编码视频位流、位流的CVS等等)的位序列,例如视频中的图片的经译码表示。编码器引擎106通过将每一图片分割成多个切片而产生图片的经译码表示。一切片独立于其它切片,使得在不取决于来自同一图片内的其它切片的数据的情况下译码所述切片中的信息。一切片包含一或多个切片区段,所述一或多个切片区段包含非相依切片区段,及(如果存在)取决于先前切片区段的一或多个相依切片区段。接着将切片分割成亮度样本及色度样本的译码树块(CTB)。亮度样本的CTB及色度样本的一或多个CTB连同所述样本的语法一起被称作译码树单元(CTU)。CTU为用于HEVC编码的基本处理单元。CTU可拆分成不同大小的多个译码单元(CU)。CU含有被称作译码块(CB)的亮度及色度样本阵列。
亮度及色度CB可进一步拆分成预测块(PB)。PB为针对帧间预测或块内复制预测(在可用或经启用以供使用时)使用相同运动参数的亮度分量或色度分量的样本块。亮度PB及一或多个色度PB连同关联语法一起形成预测单元(PU)。对于帧间预测,运动参数集合(例如一或多个运动向量、参考索引等等)在位流中针对每一PU进行信号发送,且用于亮度PB及一或多个色度PB的帧间预测。运动参数也可被称作运动信息。CB还可分割成一或多个变换块(TB)。TB表示颜色分量的样本的正方形块,对所述正方形块应用相同二维变换以用于译码预测残差信号。变换单元(TU)表示亮度及色度样本的TB,以及对应语法元素。
CU的大小对应于译码模式的大小,且可为正方形形状。举例来说,CU的大小可为8×8样本、16×16样本、32×32样本、64×64样本,或高达对应CTU的大小的任何其它适当大小。短语“N×N”在本文中用以是指视频块在竖直及水平维度方面的像素尺寸(例如8像素×8像素)。块中的像素可按行及列而布置。在一些实例中,块在水平方向上与在竖直方向上可能不具有相同数目个像素。与CU相关联的语法数据可描述例如将CU分割成一或多个PU。分割模式在CU被帧内预测模式编码还是帧间预测模式编码之间可不同。PU可分割成非正方形形状。与CU相关联的语法数据还可描述例如根据CTU将CU分割成一或多个TU。TU可为正方形或非正方形形状。
根据HEVC标准,可使用变换单元(TU)来执行变换。TU针对不同CU可变化。TU可基于给定CU内的PU的大小而定大小。TU可与PU大小相同或小于PU。在一些实例中,可使用被称为残差四叉树(RQT)的四叉树结构将对应于CU的残差样本再分成较小单元。RQT的叶节点可对应于TU。可变换与TU相关联的像素差值以产生变换系数。接着可由编码器引擎106量化变换系数。
一旦将视频数据的图片分割成CU,编码器引擎106就使用预测模式来预测每一PU。接着从原始视频数据减去预测单元或预测块以取得残差(下文所描述)。对于每一CU,可使用语法数据在位流内部用信号发送预测模式。预测模式可包含帧内预测(或图片内预测)或帧间预测(或图片间预测)。帧内预测利用图片内的空间相邻样本之间的相关性。举例来说,在使用帧内预测的情况下,使用例如DC预测以得知PU的平均值、使用平面预测以使平面表面拟合于PU、使用方向预测以从相邻数据外插或使用任何其它合适类型的预测而从同一图片中的相邻图像数据预测每一PU。帧间预测使用图片之间的时间相关性以便导出用于图像样本块的运动补偿预测。举例来说,在使用帧间预测的情况下,使用运动补偿预测而从一或多个参考图片(按输出次序在当前图片之前或之后)中的图像数据预测每一PU。可例如在CU层级处作出使用图片间预测还是图片内预测来译码图片区域的决策。
在一些实例中,图片的一或多个切片被指派切片类型。切片类型包含I切片、P切片及B切片。I切片(帧内帧,可独立解码)为仅通过帧内预测而译码的图片的切片,且因此可独立解码,这是因为I切片仅需要帧内的数据来预测切片的任何预测单元或预测块。P切片(单向预测帧)为可运用帧内预测及运用单向帧间预测而译码的图片的切片。P切片内的每一预测单元或预测块是运用帧内预测或帧间预测而译码。当帧间预测适用时,仅由一个参考图片预测所述预测单元或预测块,且因此参考样本仅来自一个帧的一个参考区。B切片(双向预测性帧)为可运用帧内预测及运用帧间预测(例如双向预测或单向预测)而译码的图片的切片。B切片的预测单元或预测块可从两个参考图片进行双向预测,其中每一图片贡献一个参考区,且两个参考区的样本集合被加权(例如运用相等权重或运用不同权重)以产生双向预测块的预测信号。如上文所阐释,一个图片的切片被独立地译码。在一些状况下,图片可被译码为仅仅一个切片。
PU可包含与预测过程相关的数据(例如运动参数或其它合适数据)。举例来说,当使用帧内预测来编码PU时,PU可包含描述用于PU的帧内预测模式的数据。作为另一实例,当使用帧间预测来编码PU时,PU可包含定义用于PU的运动向量的数据。定义用于PU的运动向量的数据可描述例如运动向量的水平分量(Δx)、运动向量的竖直分量(Δy)、用于运动向量的分辨率(例如整数精确度、四分之一像素精确度,或八分之一像素精确度)、运动向量所指向的参考图片、参考索引、用于运动向量的参考图片列表(例如列表0、列表1或列表C),或其任何组合。
编码装置104接着可执行变换及量化。举例来说,在预测之后,编码器引擎106可计算对应于PU的残差值。残差值可包括正被译码的像素的当前块(PU)与用以预测当前块的预测块(例如当前块的经预测版本)之间的像素差值。举例来说,在产生预测块(例如发出帧间预测或帧内预测)之后,编码器引擎106可通过从当前块减去由预测单元产生的预测块来产生残差块。残差块包含量化当前块的像素值与预测块的像素值之间的差的像素差值集合。在一些实例中,残差块可以二维块格式(例如像素值的二维矩阵或阵列)而表示。在这些实例中,残差块为像素值的二维表示。
使用块变换来变换可在执行预测之后剩余的任何残差数据,此块变换可基于离散余弦变换、离散正弦变换、整数变换、小波变换、其它合适变换函数,或其任何组合。在一些状况下,可将一或多个块变换(例如大小32×32、16×16、8×8、4×4等等)应用于每一CU中的残差数据。在一些实例中,TU可用于由编码器引擎106实施的变换及量化过程。具有一或多个PU的给定CU还可包含一或多个TU。如下文进一步详细地所描述,可使用块变换将残差值变换成变换系数,且接着可使用TU来量化及扫描残差值以产生用于熵译码的串行化变换系数。
在一些实例中,在使用CU的PU的帧内预测性或帧间预测性译码之后,编码器引擎106可计算用于CU的TU的残差数据。PU可包括空间域(或像素域)中的像素数据。在应用块变换之后,TU可包括变换域中的系数。如先前所提到,残差数据可对应于未经编码图片的像素与对应于PU的预测值之间的像素差值。编码器引擎106可形成包含用于CU的残差数据的TU,且接着可变换TU以产生用于CU的变换系数。
编码器引擎106可执行变换系数的量化。量化通过量化变换系数以缩减用以表示所述系数的数据的量而提供进一步压缩。举例来说,量化可缩减与系数中的一些或全部相关联的位深度。在一项实例中,可在量化期间将具有n位值的系数向下舍入至m位值,其中n大于m。
一旦执行量化,经译码视频位流就包含经量化变换系数、预测信息(例如预测模式、运动向量、块向量等等)、分割信息,及例如其它语法数据的任何其它合适数据。接着可由编码器引擎106熵编码经译码视频位流的不同元素。在一些实例中,编码器引擎106可利用预定义扫描次序来扫描经量化变换系数以产生可被熵编码的串行化向量。在一些实例中,编码器引擎106可执行自适应扫描。在扫描经量化变换系数以形成向量(例如一维向量)之后,编码器引擎106可熵编码向量。举例来说,编码器引擎106可使用上下文自适应可变长度译码、上下文自适应二进制算术译码、基于语法的上下文自适应二进制算术译码、概率区间分割熵译码或另一合适熵编码技术。
如先前所描述,HEVC位流包含NAL单元群组,包含VCL NAL单元及非VCL NAL单元。VCL NAL单元包含形成经译码视频位流的经译码图片数据。举例来说,形成经译码视频位流的位序列在VCL NAL单元中被重新发送。非VCL NAL单元可含有具有与经编码视频位流相关的高层级信息的参数集,外加其它信息。举例来说,参数集可包含视频参数集(VPS)、序列参数集(SPS)及图片参数集(PPS)。参数集的目标的实例包含位速率效率、错误复原(errorresiliency),及提供***层接口。每一切片参考单一活动PPS、SPS及VPS以存取可由解码装置112使用以用于解码所述切片的信息。可针对每一参数集译码一标识符(ID),包含VPSID、SPS ID及PPS ID。SPS包含SPS ID及VPS ID。PPS包含PPS ID及SPS ID。每一切片标头包含一PPS ID。在使用ID的情况下,可针对给定切片识别活动参数集。
PPS包含适用于给定图片中的所有切片的信息。由此,图片中的所有切片参考同一PPS。不同图片中的切片也可参考同一PPS。SPS包含适用于同一经译码视频序列(CVS)或位流中的所有图片的信息。如先前所描述,经译码视频序列为一系列存取单元(AU),其始于在基础层中且具有某些性质(上文所描述)的随机存取点图片(例如瞬时解码参考(IDR)图片或断链存取(BLA)图片,或其它适当随机存取点图片),直到且不包含具有在基础层中且具有某些性质的随机存取点图片的下一AU(或位流的结束)。SPS中的信息可能不会在经译码视频序列内在不同图片之间改变。经译码视频序列中的图片可使用同一SPS。VPS包含适用于经译码视频序列或位流内的所有层的信息。VPS包含具有适用于全部经译码视频序列的语法元素的语法结构。在一些实例中,可与经编码位流一起带内传输VPS、SPS或PPS。在一些实例中,相比于含有经译码视频数据的NAL单元,可在单独传输中带外传输VPS、SPS或PPS。
视频位流还可包含补充增强信息(SEI)消息。举例来说,SEI NAL单元可为视频位流的部分。在一些状况下,SEI消息可含有不为解码过程所需要的信息。举例来说,SEI消息中的信息对于使解码器解码位流的视频图片可能不是必需的,但解码器可使用所述信息以改进所述图片的显示或处理(例如经解码输出)。SEI消息中的信息可为嵌入式元数据。在一项说明性实例中,SEI消息中的信息可由解码器侧实体使用以改进内容的可观看性。在一些情况下,某些应用标准可强制这些SEI消息存在于位流中,使得符合应用标准的所有装置可实现质量改进(例如用于帧兼容平面立体3DTV视频格式的帧包装SEI消息的携载,其中针对视频的每一帧携载SEI消息;恢复点SEI消息的处置;拉移式扫描矩形SEI消息在DVB中的使用;外加许多其它实例)。
编码装置104的输出110可经由通信链路120将构成经编码视频数据的NAL单元发送至接收装置的解码装置112。解码装置112的输入114可接收NAL单元。通信链路120可包含由无线网络、有线网络或有线网络与无线网络的组合提供的信道。无线网络可包含任何无线接口或无线接口组合,且可包含任何合适无线网络(例如互联网或其它广域网、基于数据包的网络、WiFiTM、射频(RF)、UWB、WiFi-Direct、蜂窝、长期演进(LTE)、WiMaxTM等等)。有线网络可包含任何有线接口(例如光纤、以太网、电力线以太网、经由同轴电缆的以太网、数字信号线(DSL)等等)。可使用例如基站、路由器、存取点、网桥、网关、交换机等等的各种设备来实施有线及/或无线网络。可根据例如无线通信协议的通信标准来调制经编码视频数据,且将经编码视频数据传输至接收装置。
在一些实例中,编码装置104可将经编码视频数据存储于存储装置108中。输出110可从编码器引擎106或从存储装置108检索经编码视频数据。存储装置108可包含多种分布式或本地存取数据存储媒体中的任一者。举例来说,存储装置108可包含硬盘驱动器、存储光盘、闪速存储器、易失性或非易失性存储器,或用于存储经编码视频数据的任何其它合适数字存储媒体。
解码装置112的输入114接收经编码视频位流数据,且可将视频位流数据提供至解码器引擎116,或提供至存储装置118以供稍后由解码器引擎116使用。解码器引擎116可通过熵解码(例如使用熵解码器)且提取构成经编码视频数据的一或多个经译码视频序列的元素来解码经编码视频位流数据。解码器引擎116接着可重新缩放经编码视频位流数据且对其执行反变换。接着将残差数据传递至解码器引擎116的预测级。解码器引擎116接着预测像素块(例如PU)。在一些实例中,将预测与反变换的输出(残差数据)相加。
解码装置112可将经解码视频输出至视频目的地装置,视频目的地装置可包含用于将经解码视频数据显示给内容的取用者的显示器或其它输出装置。在一些方面中,视频目的地装置122可为包含解码装置112的接收装置的部分。在一些方面中,视频目的地装置122可为除了接收装置以外的单独装置的部分。
在一些实例中,视频编码装置104及/或视频解码装置112可分别与音频编码装置及音频解码装置集成。视频编码装置104及/或视频解码装置112还可包含为实施上文所描述的译码技术所必要的其它硬件或软件,例如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。视频编码装置104及视频解码装置112可被集成为相应装置中的组合式编码器/解码器(编解码器)的部分。下文参考图9描述编码装置104的特定细节的实例。下文参考图10描述解码装置112的特定细节的实例。
HEVC标准的扩展包含被称作MV-HEVC的多视图视频译码扩展,及被称作SHVC的可伸缩视频译码扩展。MV-HEVC及SHVC扩展共享分层译码的概念,其中不同层包含于经编码视频位流中。经译码视频序列中的每一层是由唯一层标识符(ID)寻址。层ID可存在于NAL单元的标头中以识别与NAL单元相关联的层。在MV-HEVC中,不同层通常表示视频位流中的同一场景的不同视图。在SHVC中,提供以不同空间分辨率(或图片分辨率)或不同重构保真度表示视频位流的不同可伸缩层。可伸缩层可包含基础层(其中层ID=0)及一或多个增强层(其中层ID=1,2,…n)。基础层可符合HEVC的第一版本的配置文件,且表示位流中的最低可用层。与基础层相比较,增强层具有增加的空间分辨率、时间分辨率或帧速率及/或重构保真度(或质量)。增强层被按层次组织,且可能(或可能不)取决于较低层。在一些实例中,可使用单一标准编解码器来译码不同层(例如使用HEVC、SHVC或其它译码标准来编码所有层)。在一些实例中,可使用多标准编解码器来译码不同层。举例来说,可使用AVC来译码基础层,而可使用对HEVC标准的SHVC及/或MV-HEVC扩展来译码一或多个增强层。
如上文所提到,SEI消息可提供不需要用以从经编码视频位流产生亮度及色度值的信息。然而,SEI消息仍然可携载可被视为对于显现位流是必需的信息,这为内容产生器所预期。
图2绘示可为位流的一部分的存取单元200(AU)的实例。位流可包含一系列存取单元,每一存取单元提供经译码图片且可能提供关于位流的一些信息。解码每一存取单元会产生一个经解码图片。例如此处所绘示的实例存取单元200的存取单元包含于H.264/AVC及H.265/HEVC标准中。
如图2的实例中所绘示的存取单元200可包含NAL单元集合,所述NAL单元一起编制主要经译码图片。存取单元200可包含任选NAL单元,此处,所述任选NAL单元是以点线绘示。存取单元200可任选地以存取单元分隔符202开始。存取单元分隔符可帮助定位存取单元的开始。存取单元200还可任选地包含先于主要经译码图片206的补充增强信息204(例如SEI消息)。SEI可含有例如图片时序信息的数据。主要经译码图片206可包含视频译码层(VCL)NAL单元。VCL NAL单元包含表示视频图片的样本的切片或切片数据分区。在主要经译码图片206之后可为含有冗余经译码图片208的一些额外VCL NAL单元。冗余经译码图片208可包含同一视频图片的区域的冗余表示,且可用于供解码器用来从主要经译码图片206中的数据的损耗或损坏中恢复。在存在冗余经译码图片的情况下,不需要解码器来解码冗余经译码图片。
当主要经译码图片206为经译码视频序列的最后图片时,存取单元200可包含序列结束210NAL单元,以指示序列的结束。当主要经译码图片206也为位流中的最后经译码图片时,存取单元200还可包含流结束212NAL单元(也被称作位流结束NAL单元)。
SEI NAL单元可用以将各种信息提供至解码器。以下表1提供SEI消息的一般语法的实例,如由国际电信联盟(ITU-T)H.265“Series H:Audiovisual and MultimediaSystems Infrastructure of audiovisual services-Coding of moving video”(在下文中为Recommendation ITU-T H.265)所提供。在表1中,已针对可包含于SEI消息中的不同信息定义不同有效负载类型。下文所提供的语法仅包含已在HEVC标准中定义及/或包含的SEI消息类型子集。
表1
在各种视频译码规范中,只要信息段不影响图片样本的解码,所述信息就可包含于SEI消息中。SEI消息中携载的一些信息可用于优化目的,且可在不显现正以不可接受的方式呈现的视频的情况下被解码器忽略。然而,例如帧包装信息、全向投影指示信息及副标题(subtitling)或字幕(captioning)信息的SEI消息中携载的一些其它信息对于保证可接受的视频***性能或对于观看体验可能是必需的。举例来说,在可显示帧包装或360度全向投影视频之前,必须应用例如解包装或解扭曲的某些解码后操作。相似地,当伴随视频的音频并非呈观看者理解的语言时,副标题或字幕可能是必要的。
对于一些译码***及应用,例如帧包装信息、全向投影指示信息及副标题或字幕信息的信息对于使视频应用***高效地及/或正确地执行(例如由于视频意图被看见而呈现所述视频)是必需的。对于这些***及应用,因此应与对于视频解码互操作性重要的信息(例如与***操作中的编解码器、配置文件及层级)相似地处理此信息。举例来说,当将经译码视频位流例如根据ISO基本媒体文件格式(ISOBMFF)封装成媒体文件或根据HTTP动态自适应流式处理(DASH)封装成媒体呈现时,应考虑此必需的信息。
当将经译码视频位流封装成ISOBMFF文件或DASH媒体呈现时,可在高层级处(例如在文件格式样本条目中、在DASH媒体呈现描述(MPD)中及/或在MIME类型参数中)公开例如上文所提及的必需的信息。通过在高层级处以封装构造而放置必需的信息,解码器可避免必须扫描整个位流来确定何种信息可包含于所述位流中的SEI消息中。另外,解码器可避免必须基于必需性条件分类SEI消息。代替地,使此信息早先在位流中可易于存取(例如其中用信号发送配置文件及层级信息)或对于现有标准共同地在一个SEI消息中可易于存取可简化解码器的实施方案。能够早先存取必需的信息可使解码器能够对如何最佳地处置经解码视频作出抢先式决策。另外,每当定义含有必需的信息的SEI消息时,就不需要修改视频译码标准。
在各项实施方案中,针对必需的信息定义被称作必需的补充信息(ESI)SEI消息的SEI消息,且针对非必需的信息定义被称作非必需的补充信息(NSI)SEI消息的SEI消息。如上文所提到,术语“必需的”及“非必需的”用以分类两种不同类型的SEI消息。ESISEI及NSISEI消息中正传达的信息是由例如呈正编码视频呈现的编码器的配置的内容产生器确定。ESI SEI及NSI SEI不需要传达任何特定信息,且可由解码器用来识别解码器在处理其它数据之前应处理的信息。
在各项实施方案中,编码器可确定必需的信息。举例来说,编码器可经配置以将某些信息识别为必需的。在这些实例中,编码器可针对必需的信息使用ESI SEI。另外,编码器可任选地针对非必需的信息使用NSI ESI。
在各项实施方案中,解码器可经配置以识别ESI SEI及NSI ESI消息,且使用包含于这些消息中的信息。当解码器未找到这些消息中的任一者时,解码器可继续根据适用标准解码位流。未经配置成处理ESI SEI或NSI SEI消息的解码器可将这些消息视为无法识别的SEI消息。在一些实例中,当解码器遇到无法识别的SEI消息时,解码器可经配置成停止处理位流。替代地,在一些实例中,解码器可继续解码位流。
在以下实例中,在HEVC的上下文中描述ESI SEI及NSI SEI消息,且应理解,这些实例还可应用于支持SEI消息的其它视频译码标准,例如AVC。
ESI SEI消息
以下提供用于ESI SEI消息的实例语法及语义。相似语法及语义可与各种视频译码标准一起被使用。
ESI SEI消息语法
ESI SEI消息语法的实例如下:
essential_supplemental_information(payloadSize){ 描述符
num_essential_sei_msg_types u(16)
for(i=0;i<num_essential_sei_msg_types;i++){
essential_sei_payload_type[i] u(16)
num_esei_init_payload_databits[i] u(16)
for(j=0;j<num_esei_init_pldbits;j++){
esei_payload_data_bit[i][j] u(1)
while(!byte_aligned())
esei_alignment_bit_equal_to_zero/*等于0*/ f(1)
}
}
替代地,三个u(16)-经译码语法元素的译码运用ue(v)译码被替换(即,运用“ue(v)”替换以上“u(16)”的所有例子)。
ESI SEI消息语义
必需的补充信息(ESI)SEI消息传达关于存在于位流中的所有必需的SEI消息的信息。必需的SEI消息为所携载信息被编码器(即,内容产生器)视为对于使解码器侧适当地处理以实现合意用户体验是必需的此SEI消息。由编码器(即,内容产生器)酌情处理以确定哪些类型的SEI消息为特定位流中的必需的SEI消息。
当ESI SEI消息存在于CVS的任何存取单元(AU)中时,ESI SEI消息应存在于CVS的第一存取单元中。ESI SEI消息从当前存取单元直到CVS结束为止持续按解码次序。
含有ESI SEI消息的SEI NAL单元不应含有不为非必需的补充信息SEI消息的任何其它SEI消息。当多个ESI消息存在于CVS中时,其应具有相同内容。
num_essential_sei_msg_types指定存在于CVS中的被视为必需的SEI消息的SEI消息类型的数目。
essential_sei_payload_type[i]指示第i种类型的必需的SEI消息的payloadType值。对于任何两个不同值m及n,essential_sei_payload_type[m]及essential_sei_payload_type[n]的值不应相同。
num_esei_init_payload_databits[i]指定提供关于存在于CVS中的第i种类型的必需的SEI消息的额外信息的后继位的数目。
esei_payload_data_bit[i][j]指定提供关于存在于CVS中的第i种类型的必需的SEI消息的额外信息的位中的第j个位。
num_esei_init_payload_databits[i]位在用于第i种类型的必需的SEI消息的payloadType的SEI有效负载语法之后,且含有从SEI有效负载语法中的第一语法元素开始的数个语法元素,但可能或可能不含有SEI有效负载语法中的所有语法元素。最后位应为SEI有效负载语法中的语法元素的最后位。含于这些位中的语法元素具有与其在具有payloadType的SEI消息中的情况下相同的语义,例外为:此处,信息应用于整个CVS。
这些位应提供用于指示根据处理能力观点在解码器侧处需要何些类型的处理的足够信息,基于所述信息,***层实体可确定解码器侧是否可适当地处理位流以实现合意用户体验。举例来说,如果payloadType为45(即,帧包装布置SEI消息),那么这些位应至少包含语法元素frame_packing_arrangement_type。对于另一实例,如果payloadType为150(即,如JCTVC-Z1005中所指定的全向投影指示SEI消息),那么这些位应至少包含语法元素projection_type。
esei_alignment_bit_equal_to_zero应等于0。
NSI SEI消息
以下提供用于NSI SEI消息的实例语法及语义。相似语法及语义可与各种视频译码标准一起被使用。
NSI SEI消息语法
NSI SEI消息语法的实例如下:
nonessential_supplemental_information(payloadSize){ 描述符
num_nonessential_sei_msg_types u(16)
for(i=0;i<num_nonessential_sei_msg_types;i++){
nonessential_sei_payload_type[i] u(16)
num_nesei_init_payload_databits[i] u(16)
for(j=0;j<num_nesei_init_pldbits;j++){
nesei_payload_data_bit[i][j] u(1)
while(!byte_aligned())
nesei_alignment_bit_equal_to_zero/*等于0*/ f(1)
}
}
替代地,三个u(16)-经译码语法元素的译码运用ue(v)译码被替换,即,运用“ue(v)”替换以上“u(16)”的所有例子。
NSI SEI消息语义
非必需的补充信息(NSI)SEI消息传达关于存在于位流中的所有非必需的SEI消息的信息。非必需的SEI消息为使得未被编码器(即,内容产生器)视为必需的SEI消息的SEI消息。由编码器(即,内容产生器)酌情处理以确定哪些类型的SEI消息为特定位流中的非必需的SEI消息。
当NSI SEI消息存在于CVS的任何存取单元中时,NSI SEI消息应存在于CVS的第一存取单元中。NSI SEI消息从当前存取单元直到CVS结束为止持续按解码次序。
含有NSI SEI消息的SEI NAL单元不应含有不为ESI SEI消息的任何其它SEI消息。当多个NSI消息存在于CVS中时,其应具有相同内容。
当特定类型的SEI消息由CVS中的ESI SEI消息识别为必需的SEI消息时,相同类型的SEI消息不应由CVS中的NSI SEI消息识别为非必需的SEI消息。
num_nonessential_sei_msg_types指定存在于CVS中的被视为非必需的SEI消息的SEI消息类型的数目。
nonessential_sei_payload_type[i]指示第i种类型的非必需的SEI消息的payloadType值。对于任何两个不同值m及n,nonessential_sei_payload_type[m]及nonessential_sei_payload_type[n]的值不应相同。
num_nesei_init_payload_databits[i]指定提供关于存在于CVS中的第i种类型的非必需的SEI消息的额外信息的后继位的数目。
nesei_payload_data_bit[i][j]指定提供关于存在于CVS中的第i种类型的非必需的SEI消息的额外信息的位的第j个位。
num_nesei_init_payload_databits[i]位在用于第i种类型的非必需的SEI消息的payloadType的SEI有效负载语法之后,且含有从SEI有效负载语法中的第一语法元素开始的数个语法元素,但可能或可能不含有SEI有效负载语法中的所有语法元素。最后位应为SEI有效负载语法中的语法元素的最后位。含于这些位中的语法元素具有与其在具有payloadType的SEI消息中的情况下相同的语义,例外为:此处,信息应用于整个CVS。
nesei_alignment_bit_equal_to_zero应等于0。
在各项实施方案中,提供用于指示SEI消息的存在、不存在及/或必需性的语法及语义。在各项实施方案中,定义SEI清单,以及包含SEI前缀指示的SEI消息。SEI清单可用以传达关于包含于位流中的SEI消息的信息。SEI前缀指示可用以识别SEI消息中的有效负载,且可由解码器用以确定位流中的内容所需要的过程类型。
在各项实施方案中,编码器可确定必需的信息。举例来说,编码器可经配置以识别对于视频的显示是必需的某些信息。在这些实例中,编码器可使用SEI前缀指示SEI消息来指示必需的信息,且使用SEI清单SEI消息来描述包含于位流中的SEI消息。
在各项实施方案中,解码器可经配置以识别SEI清单SEI消息及SEI前缀SEI消息,且使用包含于这些消息中的信息。当解码器未找到这些消息中的任一者时,解码器可继续根据适用标准解码位流。未经配置成处理SEI清单及SEI前缀消息的解码器可将这些消息视为无法识别的SEI消息。在一些实例中,当解码器遇到无法识别的SEI消息时,解码器可经配置成停止处理位流。替代地,在一些实例中,解码器可继续解码位流。
第一实例提供SEI清单SEI消息及SEI前缀指示SEI消息。下文提供用于这些SEI消息中的每一者的语法及语义。
SEI清单SEI消息
SEI清单SEI消息语法
sei_manifest(payloadSize){ 描述符
manifest_num_sei_msg_types u(16)
for(i=0;i<manifest_num_sei_msg_types;i++){
manifest_sei_payload_type[i] u(16)
manifest_sei_description[i] u(8)
}
}
SEI清单SEI消息语义
SEI清单SEI消息传达关于可由位流的接收器假定为存在或不存在的SEI消息的信息。此信息可包含:
1)位流的接收器可假定某些类型的SEI消息存在于CVS中。
注解1—在使用此“假定”措辞的情况下,当“承诺”被违背时,其并非错误,且不管“承诺”是否被违背,客户端假定仍可被视为正确。
2)对于可被假定为存在于CVS中的每一类型的SEI消息,此类型的SEI消息的必需性。
所述必需性可被指示为必需的、非必需的或未定的。
当所携载信息被视为对于使解码器侧适当地处理内容且实现合意用户体验是必需的时,SEI消息被编码器(即,内容产生器)视为必需的。由编码器酌情处理以确定哪些SEI消息被视为在特定位流中是必需的。然而,例如帧包装布置、分段矩形帧包装布置、显示定向及全向投影指示SEI消息的一些SEI消息应始终被视为必需的。
3)位流的接收器可假定某些类型的SEI消息不存在于CVS中。
注解2—举例来说,基于经信号发送的SEI清单SEI消息,位流的接收器可假定位流中不存在帧包装布置SEI消息、分段矩形帧包装布置SEI消息、显示定向SEI消息或全向投影指示SEI消息。因此,经解码视频图片很可能被显现以供观看,而不需要通常在存在这些SEI消息时所需要的任何额外后处理。
当SEI清单SEI消息存在于CVS的任何存取单元中时,SEI清单SEI消息应存在于CVS的第一存取单元中。SEI清单SEI消息从当前存取单元直到CVS结束为止持续按解码次序。当多个SEI清单SEI消息存在于CVS中时,其应具有相同内容。
含有SEI清单SEI消息的SEI NAL单元不应含有除了SEI前缀指示SEI消息以外的任何其它SEI消息。当存在于SEI NAL单元中时,SEI清单SEI消息应为SEI NAL单元中的第一SEI消息。
manifest_num_sei_msg_types指定信息被提供于SEI清单SEI消息中的SEI消息类型的数目。
manifest_sei_payload_type[i]指示信息被提供于SEI清单SEI消息中的第i种类型的SEI消息的payloadType值。manifest_sei_payload_type[m]及manifest_sei_payload_type[n]的值在m不等于n时不应相同。
manifest_sei_description[i]提供关于payloadType等于manifest_sei_payload_type[i]的SEI消息的信息,如表2中所指定。
表2—manifest_sei_description[i]值
在符合本说明书的此版本的位流中,manifest_sei_description[i]的值应在0至3的范围内,0及3包含在内。manifest_sei_description[i]的其它值保留以供ITU-T|ISO/IEC未来使用。解码器应允许大于或等于4的manifest_sei_description[i]的值出现于语法中,且应忽略SEI清单SEI消息中用信号发送的用于等于manifest_sei_payload_type[i]的payloadType的所有信息,且应忽略prefix_sei_payload_type等于manifest_sei_payload_type[i]的所有SEI前缀指示SEI消息。
SEI前缀指示SEI消息
SEI前缀指示SEI消息语法
sei_prefix_indication(payloadSize){ 描述符
prefix_sei_payload_type u(16)
num_sei_prefix_indications_minus1 u(8)
for(i=0;i<=num_sei_prefix_indications_minus1;i++){
num_bits_in_prefix_indication_minus1[i] u(16)
for(j=0;j<=num_bits_in_prefix_indication_minus1[i];j++)
sei_prefix_databit[i][j] u(1)
while(!byte_aligned())
byte_alignment_bit_equal_to_zero/*等于0*/ f(1)
}
}
SEI前缀指示SEI消息语义
SEI前缀指示SEI消息携载用于特定payloadType的SEI消息的一或多个SEI前缀指示。每一SEI前缀指示为在所述payloadType的SEI有效负载语法之后且含有从SEI有效负载中的第一语法元素开始的数个完整语法元素的位字符串。
接收器可假定CVS中的此payloadType的一些或所有SEI消息开始于这些位字符串。开始位字符串通常仅含有SEI消息类型的SEI有效负载的真实子集,可含有完全SEI有效负载,但决不含有多于完全SEI有效负载。
注解—允许此payloadType的一些SEI消息不以所指示的位字符串中的任一者开始。
这些SEI前缀指示应提供用于指示需要何种处理类型或包含何种内容类型的足够信息。前者(处理类型)指示解码器侧处理能力,例如是否需要某种类型的帧解包装。后者(内容类型)指示例如位流是否含有呈特定语言的副标题字幕。基于信息***层,实体可确定解码器侧是否可适当地处理位流以实现合意用户体验,或位流是否满足应用需要。
在一项实例中,当payloadType指示帧包装布置SEI消息时,SEI前缀指示应包含高达至少语法元素frame_packing_arrangement_type;当payloadType指示全向投影指示SEI消息时,SEI前缀指示应包含高达至少语法元素projection_type。
在另一实例中,对于用以携载字幕信息的用户数据注册SEI消息,SEI前缀指示应包含高达至少语言码;且对于经扩展以供私人使用的用户数据未注册SEI消息,SEI前缀指示应包含高达至少UUID。
当SEI前缀指示SEI消息存在于CVS的任何存取单元中时,SEI前缀指示SEI消息应存在于CVS的第一存取单元中。SEI前缀指示SEI消息从当前存取单元直到CVS结束为止持续按解码次序。当多个SEI前缀指示SEI消息存在于CVS中时,其应具有相同内容。
含有SEI前缀指示SEI消息的SEI NAL单元不应含有除了SEI清单SEI消息以外的任何其它SEI消息。
prefix_sei_payload_type指示一或多个SEI前缀指示被提供于SEI前缀指示SEI消息中的SEI消息的payloadType值。prefix_sei_payload_type的值应等于manifest_sei_payload_type[m]值中的一者,对于所述manifest_sei_payload_type[m]值,manifest_sei_description[m]等于1至3,1及3包含在内,如由应用于CVS的SEI清单SEI消息所指示。
num_sei_prefix_indications_minus1加1指定SEI前缀指示的数目。
num_bits_in_prefix_indication_minus1[i]加1指定第i个SEI前缀指示中的位的数目。
sei_prefix_databit[i][j]指定第i个SEI前缀指示的第j个位。
范围在0至num_bits_in_prefix_indication_minus1[i](包含在内)的j的位sei_prefix_databit[i][j]在payloadType等于prefix_sei_payload_type的SEI有效负载的语法之后,且含有从SEI有效负载语法中的第一语法元素开始的数个完整语法元素,且可能或可能不含有SEI有效负载语法中的所有语法元素。最后位应为SEI有效负载语法中的语法元素的最后位。
byte_alignment_bit_equal_to_zero应等于0。
在先前实例中,大小可小的SEI清单描述可在单独SEI消息中。此SEI消息的小的大小使SEI消息能够携载于***层级处,例如作为MIME类型参数。先前实例还允许针对前缀指示尚未被定义的SEI类型添加前缀指示。举例来说,可在不修改现有SEI消息的情况下添加新SEI消息。另外,针对一种特定SEI类型的SEI前缀指示不需要多个SEI消息。当针对前缀指示已经被定义的SEI类型增加前缀指示时,可能需要对现有SEI消息的改变。
在各项实例中,可使用替代语法。
在第一实例中,代替定义两个单独SEI消息,可在一个SEI消息中携载SEI清单描述及SEI前缀。以下为用于此SEI消息的实例语法:
sei_manifest(payloadSize){ 描述符
manifest_num_sei_msg_types u(16)
for(i=0;i<manifest_num_sei_msg_types;i++){
manifest_sei_payload_type[i] u(16)
manifest_sei_description[i] u(8)
}
for(i=0;i<manifest_num_sei_msg_types;i++){
num_sei_prefix_indications[i] u(8)
for(j=0;j<num_sei_prefix_indications[i];j++){
num_bits_in_prefix_indication[i][j] u(16)
for(k=0;k<num_bits_in_prefix_indication[i][j];k++)
sei_prefix_databit[i][j][k] u(1)
while(!byte_aligned())
byte_alignment_bit_equal_to_zero/*等于0*/ f(1)
}
}
}
在以上实例中,不需要定义多个SEI消息(例如针对所有SEI类型的SEI清单描述及SEI前缀指示)。然而,当需要额外信息时,可能需要改变SEI消息。
在第二实例中,代替允许一个SEI前缀指示SEI消息中的多个SEI前缀指示,SEI前缀消息可包含仅一个SEI前缀指示。以下为用于此SEI消息的实例语法。
在以上实例中,当针对前缀指示已经被定义的SEI类型添加前缀指示时,不需要改变现有SEI消息。然而,可能需要用于用信号发送针对一种特定SEI类型的SEI前缀指示的多个SEI消息。
在各项实例中,可使用替代技术以定义SEI消息的持续性范围。
在第一实例中,SEI消息的持续性范围可与活动SPS的持续性范围相同。在此实例中,当活动SPS应用于多个CVS时,SEI消息的持续性范围还将为多个CVS。
在第二实例中,可在位流中指定持续性范围。在此实例中,当多个位流被拼接成一个位流时,可能需要改变SEI消息。
在各项实例中,可使用用于语义的替代措辞。
在第一实例中,可例如在用于SEI清单的语义中使用例如“指示存在还是不存在某些类型的SEI消息”的断言性措辞。
作为第二实例,可使用例如“指示某些类型的SEI消息是否可被假定为存在或不存在”的非断言性措辞(如从解码器观点所见)。
作为第三实例,可使用例如“指示某些类型的SEI消息是否由编码器陈述为存在或不存在”的非断言性措辞(如从编码器观点所见)。在此实例中,可进一步陈述解码器可决定如何处理此信息,但如何处理所述信息可留给解码器。
在以上第一实例的状况下,可存在SEI清单可指示特定类型的SEI消息存在于位流中,但所述类型的SEI消息可能已被移除的例子。在这些实例中,位流的语义可能不正确,且位流可能是非符合的。
在以上第二及第三实例的情况下,移除位流中的SEI消息不会造成位流是非符合的。当例如SEI清单指示特定类型的SEI消息存在于位流中,但所述SEI消息被移除(例如在位流被编码之后)时,第二及第三实例的非断言性措辞将不会变得不正确。在第三实例中,所述非断言性措辞相比于第二实例的非断言性措辞较不严格。
必需的及非必需的SEI消息
已例如在HEVC规范的附录D中、在HEVC规范的草案修正(例如JCTVC-Z1005中的草案修正文本)中以及在所述规范的附录F及后续附录中定义各种SEI消息。
下文提供可被视为包含必需的信息的SEI消息的实例。这些SEI消息在存在(例如原生地存在或含于嵌套SEI消息中)时可直接影响经解码图片的显现。虽然这些SEI消息可被视为必需的,但由编码器考虑包含此信息的SEI消息是否被标记为必需的。
-帧包装布置SEI消息
-显示定向SEI消息
-分段矩形帧包装布置SEI消息
-全向投影指示SEI消息
以下SEI消息在存在(例如原生地存在或含于嵌套SEI消息中)时可影响经解码图片的显现。这些SEI消息还为可被视为必需的SEI消息的实例。
-胶片颗粒特性SEI消息
-后置滤波器提示SEI消息
-色调映射信息SEI消息
-无显示SEI消息
-无显示SEI消息
-主控显示色量SEI消息
-色度重新取样滤波器提示SEI消息
-拐点函数信息SEI消息
-颜色重新映射信息SEI消息
-去交错图片信息SEI消息
-内容光水平信息SEI消息
-替代传送特性SEI消息
-周围观测环境SEI消息
-内容色量SEI消息
较不可能影响经解码图片的显现的其它SEI消息可能或可能不包含至必需的SEI消息的列表中,这由编码器酌情处理。举例来说,编码器可确定由Recommendation ITU-TT.35注册的用户数据SEI消息或用户数据未注册SEI消息携载必需的信息,且因此将所述SEI有效负载类型包含至必需的SEI消息的列表中,且提供一些额外信息以充分地指示所需的处理能力。
必需的补充信息的***层级曝光
在各项实施方案中,例如上文所描述的SEI消息的SEI消息(例如ESI SEI、NSISEI、SEI清单SEI及SEI前缀SEI,其在本文中将被共同地称作必需的信息携载SEI)可以封装格式被放置,使得解码器可早先在解码视频区段的过程中能够存取这些SEI。封装格式包含例如文件格式、流式处理格式、网络格式及其它格式。
文件格式标准可定义用于将视频(及还可能为音频)数据包装及解包装成一或多个文件的格式。文件格式标准包含国际标准化组织(ISO)基本媒体文件格式(ISOBMFF,定义于ISO/IEC 14496-12中),及衍生于ISOBMFF的其它文件格式,包含动画专家组(MPEG)MPEG-4文件格式(定义于ISO/IEC 14496-15中)、第三代合作伙伴计划(3GPP)文件格式(定义于3GPP TS 26.244中),以及高级视频译码(AVC)文件格式及高效率视频译码(HEVC)文件格式(皆定义于ISO/IEC 14496-15中)。用于ISO/IEC 14496-12及14496-15的最新版本的草案文本分别可得自http://phenix.int-evry.fr/mpeg/doc_end_user/documents/111_Geneva/wg11/w15177-v6-w15177.zip及http://phenix.int-evry.fr/mpeg/doc_end_user/documents/112_Warsaw/wg11/w15479-v2-w15479.zip。
ISOBMFF用作用于许多编解码器封装格式(例如AVC文件格式或任何其它合适编解码器封装格式)以及用于许多多媒体容器格式(例如MPEG-4文件格式、3GPP文件格式(3GPP)、数字视频广播(DVB)文件格式或任何其它合适多媒体容器格式)的基础。基于ISOBMFF的文件格式可用于连续媒体,其也被称作流式处理媒体。
除了连续媒体(例如音频及视频)以外,静态媒体(例如图像)及元数据也可存储于符合ISOBMFF的文件中。根据ISOBMFF而结构化的文件可用于许多目的,包含本地媒体文件回放、远程文件的渐进式下载、用作HTTP动态自适应流式处理(DASH)的区段、用作待流式处理内容的容器(在此状况下,所述容器包含数据包化指令)、用于记录所接收的实时媒体流,或其它用途。
ISOBMFF及其衍生文件格式(例如AVC文件格式或其它衍生文件格式)在许多多媒体应用中广泛地用于媒体内容(例如包含视频、音频及计时文本)的存储及封装。在各项实施方案中,ISOBMFF文件格式可用以在被应用信息的视频数据之前提供必需的信息携载SEI消息。举例来说,必需的信息携载SEI可包含于样本条目中,如下文进一步所论述。
图3绘示含有根据ISOBMFF而格式化的用于视频呈现的数据及元数据的ISO基本媒体文件300的实例。ISOBMFF经设计成以灵活且可扩展的格式含有计时媒体信息,所述格式促进媒体的互换、管理、编辑及呈现。媒体的呈现对于含有呈现的***可为“本地的”,或呈现可经由网络或其它流递送机构。
如由ISOBMFF规范所定义的“呈现”为常常由于已由视频捕获装置按顺序捕获而相关或由于某其它原因而相关的图片序列。本文中,呈现也可被称作电影或视频呈现。呈现可包含音频。单一呈现可含于一或多个文件中,其中一个文件含有用于整个呈现的元数据。元数据包含例如时序及成帧数据、描述符、指标、参数及描述呈现的其它信息的信息。元数据自身并不包含视频及/或音频数据。除了含有元数据的文件以外的文件不需要根据ISOBMFF而格式化,且仅需要经格式化使得这些文件可由元数据参考。
ISO基本媒体文件的文件结构为面向对象的,且文件中的个别对象的结构可直接从所述对象的类型被推断。ISOBMFF规范将ISO基本媒体文件中的对象称作“方框(box)”。ISO基本媒体文件被结构化为可含有其它方框的方框序列。方框通常包含提供方框的大小及类型的标头。大小描述方框的整个大小,包含标头、字段,及含于方框内的所有方框。通常忽略及跳过具有未被播放器装置辨识的类型的方框。
如由图3的实例所绘示,在文件的顶部层级处,ISO基本媒体文件300可包含文件类型方框310、电影方框320,及一或多个电影片段330a、330n。可包含于此层级处但在此实例中未表示的其它方框包含自由空闲方框、元数据方框及媒体数据方框,以及其它者。
ISO基本媒体文件可包含由方框类型“ftyp”识别的文件类型方框310。文件类型方框310识别最适合于剖析文件的ISOBMFF规范。在此情况下,“最”意味着ISO基本媒体文件300可能已根据特定ISOBMFF规范而格式化,但很可能与所述规范的其它反复条目兼容。此最合适规范被称作主要品牌(major brand)。播放器装置可使用主要品牌来确定所述装置是否能够解码及显示文件的内容。文件类型方框310还可包含版本号码,所述版本号码可用以指示ISOBMFF规范的版本。文件类型方框310还可包含兼容品牌的列表,所述列表包含与文件兼容的其它品牌的列表。ISO基本媒体文件可与多于一个主要品牌兼容。
当ISO基本媒体文件300包含文件类型方框310时,存在仅一个文件类型方框。ISO基本媒体文件300可省略文件类型方框310以便与较旧播放器装置兼容。当ISO基本媒体文件300不包含文件类型方框310时,播放器装置可采取默认主要品牌(例如“mp41”)、次要版本(例如“0”)及兼容品牌(例如“mp41”)。文件类型方框310通常尽可能早先放置于ISO基本媒体文件300中。
ISO基本媒体文件可进一步包含电影方框320,其可含有元数据以供呈现。电影方框320由方框类型“moov”识别。ISO/IEC 14496-12规定含于一个文件还是多个文件中的呈现可包含仅一个电影方框320。通常,电影方框320靠近ISO基本媒体文件的开始。电影方框320包含电影标头方框322,且可包含一或多个播放轨方框324以及其它方框。
由方框类型“mvhd”识别的电影标头方框322可包含媒体非相依且整体上与呈现相关的信息。举例来说,电影标头方框322可包含例如创建时间、修改时间、时间刻度及/或呈现持续时间的信息,以及其它者。电影标头方框322还可包含识别呈现中的下一播放轨的标识符。举例来说,在所绘示实例中,标识符可指向由电影方框320含有的播放轨方框324。
由方框类型“trak”识别的播放轨方框324可含有用于呈现的播放轨的信息。呈现可包含一或多个播放轨,其中每一播放轨独立于呈现中的其它播放轨。每一播放轨可包含特定于所述播放轨中的内容的时间及空间信息,且每一播放轨可与一媒体方框相关联。播放轨中的数据可为媒体数据,在此状况下,播放轨为媒体播放轨;或数据可为用于流式处理协议的数据包化信息,在此状况下,播放轨为提示播放轨。举例来说,媒体数据包含视频及音频数据。在所绘示实例中,实例播放轨方框324包含播放轨标头方框324a及媒体方框324b。播放轨方框可包含其它方框,例如播放轨参考方框、播放轨群组方框、编辑方框、用户数据方框、元方框及其它者。
由方框类型“tkhd”识别的播放轨标头方框324a可指定含于播放轨方框324中的播放轨的特性。举例来说,播放轨标头方框324a可包含创建时间、修改时间、持续时间、播放轨标识符、层标识符、群组标识符、播放轨的音量、宽度及/或高度,以及其它者。对于媒体播放轨,播放轨标头方框324a可进一步识别播放轨是否被启用,播放轨是否应作为呈现的部分而播放,或播放轨是否可用以预览呈现,以及其它者。播放轨的呈现通常被假定为处于呈现的开始。播放轨方框324可包含此处未绘示的编辑列表方框,所述编辑列表方框可包含显式时间线映图。时间线映图可指定播放轨的偏移时间以及其它者,其中偏移指示播放轨的在呈现开始之后的开始时间。
在所绘示实例中,播放轨方框324还包含由方框类型“mdia”识别的媒体方框324b。媒体方框324b可含有对象及关于播放轨中的媒体数据的信息。举例来说,媒体方框324b可含有处理程序参考方框,其可识别播放轨的媒体类型以及借以呈现播放轨中的媒体的过程。作为另一实例,媒体方框324b可含有媒体信息方框,其可指定播放轨中的媒体的特性。媒体信息方框可进一步包含样本表,其中每一样本描述一大块媒体数据(例如视频或音频数据),其包含例如用于所述样本的数据的位置。用于样本的数据存储于下文进一步所论述的媒体数据方框中。如同大多数其它方框,媒体方框324b还可包含媒体标头方框。
在所绘示实例中,实例ISO基本媒体文件300还包含呈现的多个片段330a、330b、330c、330n。片段330a、330b、330c、330n并非ISOBMFF方框,而是描述电影片段方框332及由电影片段方框332参考的媒体数据方框338。电影片段方框332及媒体数据方框338为顶部层级方框,但此处分组在一起以指示电影片段方框332与媒体数据方框338之间的关系。
由方框类型“moof”识别的电影片段方框332可通过包含原本将存储于电影方框320中的额外信息而扩展呈现。在使用电影片段方框332的情况下,可递增地构建呈现。电影片段方框332可包含电影片段标头方框334及播放轨片段方框336,以及此处未绘示的其它方框。
由方框类型“mfhd”识别的电影片段标头方框334可包含序列号。播放器装置可使用序列号来验证片段330a包含下一数据段以供呈现。在一些状况下,文件的内容或用于呈现的文件可被无序地提供至播放器装置。举例来说,网络数据包可以除了最初传输数据包的次序以外的次序频繁地到达。在这些状况下,序列号可辅助播放器装置确定片段的正确次序。
电影片段方框332还可包含由方框类型“traf”识别的一或多个播放轨片段方框336。电影片段方框332可包含播放轨片段集合,每播放轨零或多个播放轨片段。播放轨片段可含有零或多个播放轨回合(track run),所述零或多个播放轨中的每一者描述用于播放轨的样本的连续回合。除了将样本添加至播放轨以外,播放轨片段还可用以将空的时间添加至播放轨。
由方框类型“mdat”识别的媒体数据方框338含有媒体数据。在视频播放轨中,媒体数据方框338将含有视频帧。媒体数据方框可替代地或另外包含音频数据。呈现可包含含于一或多个个别文件中的零或多个媒体数据方框。媒体数据是由元数据描述。在所绘示实例中,媒体数据方框338中的媒体数据可由包含于播放轨片段方框336中的元数据描述。在其它实例中,媒体数据方框中的媒体数据可由电影方框320中的元数据描述。元数据可通过文件300内的绝对偏移而参考特定媒体数据,使得可跳过媒体数据方框338内的媒体数据标头及/或空闲空间。
ISO基本媒体文件300中的其它片段330b、330c、330n可含有与针对第一片段330a所绘示的方框相似的方框,及/或可含有其它方框。
除了支持媒体的本地回放以外,ISOBMFF还包含针对经由网络的流式处理媒体数据的支持。包含一个电影呈现的一或多个文件可包含被称为提示播放轨的额外播放轨,其含有可辅助流式处理服务器形成及传输一或多个文件作为数据包的指令。举例来说,这些指令可包含用于供服务器发送的数据(例如标头信息)或对媒体数据的区段的参考。文件可包含用于不同流式处理协议的单独提示播放轨。还可在不需要重新格式化文件的情况下将提示播放轨添加至文件。
在图3所绘示的实例媒体文件300中,必需的信息携载SEI可包含于例如样本条目中。举例来说,含有必需的信息携载SEI消息的SEI NAL单元可直接包含于HEVC样本条目的解码器配置记录中的SEI NAL单元阵列中。在一些状况下,含有必需的信息携载SEI消息的SEI NAL单元可被包含作为解码器配置记录中的SEI NAL单元阵列的第一SEI NAL单元。在各项实例中,必需的信息携载SEI消息可替代地或另外携载于例如电影标头方框322或播放轨标头方框324a以及其它者的较高层级方框中。
例如DASH的流式处理封装格式也可用以向解码器呈现必需的信息携载SEI消息。ISO/IEC 23009-1中指定的DASH为用于HTTP(自适应)流式处理应用的标准。DASH指定被称作媒体呈现描述(MPD)的格式(也被称为清单)及媒体区段格式。MPD描述可用于服务器上的媒体,且使DASH客户端能够在媒体中在特定时间自主地下载特定媒体版本。
基于DASH的HTTP流式处理可包含以下步骤:
1)客户端获得流式处理内容(例如电影)的MPD。MPD包含关于不同替代表示的信息,例如流式处理内容的位速率、视频分辨率、帧速率、音频语言,以及HTTP资源的URL(例如初始化区段及媒体区段)。
2)基于MPD中的信息及客户端的本地信息(例如网络带宽、解码/显示能力及/或用户偏好),客户端请求所要表示,一次请求一个区段(或其部分)。
3)当客户端检测到网络带宽改变时,请求具有较佳匹配位速率的不同表示的区段,理想地从以随机存取点开始的区段开始。
在HTTP流式处理会话期间,为了对向后搜索至过去位置或向前搜索至未来位置的用户请求作出响应,客户端请求从接近于所要位置的区段开始的过去或未来区段。从所述点起,客户端可在随机存取点处开始。用户还可请求快速转发内容,这可通过请求数据以用于充分地仅解码经帧内译码视频图片或仅解码视频流的时间子集而实现。
图4绘示用于流式处理视频内容的DASH呈现400的实例。视频内容含于媒体呈现402中,媒体呈现402可描述连续视频流。媒体呈现402可包含媒体呈现描述(MPD),其也可被称作清单。MPD为使用例如可扩展标记语言(XML)而格式化的文件,其含有关于媒体呈现402中的媒体区段的信息。此信息可包含例如区段与可用以在区段之间选择的信息之间的关系。MPD还可包含客户端装置(例如接收内容的装置)可使用的其它数据。
媒体呈现402可划分成时段404a至404c。如由DASH定义的时段为媒体呈现402内的时间间隔。所述呈现因此由时段404a至404c的连续序列组成。时段404a至404c可由例如开始时间描述,其中开始时间指示时段中的时间间隔开始的时间。换句话说,开始时间为从时间零的偏移。
在时段404b(例如在所绘示实例中为时段2)内,媒体内容可具有一致的编码集合,其包含例如平均位速率、语言、字幕设定、副标题设定等等。时段404b还可提供可供流式处理内容的源(例如基本统一资源定位符(URL))。时段404b中的内容可布置成适配集424、426。适配集表示一或多个媒体内容组件的可互换式经编码版本集合。举例来说,时段可包含用于主要视频分量的一个适配集424及用于主要音频分量的单独适配集426。当存在例如字幕或音频描述的其它可用内容时,这些者中的每一者可具有单独适配集。
适配集(例如视频适配集424)可含有多个替代表示432。表示描述一或若干媒体内容分量的可递送式经编码版本。适配集内的任何单一表示可用以在时段中显现媒体内容分量。所发送的一个适配中的不同表示可被视为感知上等效,这意味着客户端装置可在适配集内从一个呈现动态地切换至另一呈现,以便适配于网络条件或其它因素。举例来说,每一表示可具有特定带宽及帧高度与宽度,以及例如帧速率或编码类型的其它信息。表示432可进一步包含描述媒体呈现402中的区段的区段信息442。
区段信息442可描述初始化区段444及一或多个媒体区段446a至446c。初始化区段444可包含先于媒体自身的一些内容。每一媒体区段446a至446c包含整个时段404b的部分。媒体区段446a至446c可由相对于时段404b的开始的开始时间以及源位置(例如URL)描述。
ISOBMFF指定用于AVC及HEVC以及其扩展的MIME类型“编解码器”参数的子参数。当使用DASH流式处理内容时,可提供MIME类型参数作为MPD中的属性(例如@mimeType)。含有必需的信息携载SEI消息的SEI NAL单元可被包含作为“编解码器”参数或不同MIME类型参数的部分,因此使这些SEI消息能够经由@mimeType属性而可从MPD提取。
MPEG输送流(MPEG-TS)为可借以经由网络传输经编码位流的封装格式。图5绘示MPEG输送流500的实例。MPEG-TS为用以传输及存储音频、视频及编程数据的容器格式。MPEG-TS指定封装经数据包化基本流的容器格式,其具有用于在信号降级时维持传输完整性的错误校正及流同步特征。MPEG-TS意图用于经由例如地面及卫星广播的不可靠传输媒体而流线化。
MPEG输送流500包含多个输送数据包502。数据包为输送流中的数据的基本单位。输送流自身为数据包序列,而无任何全局标头。每一数据包502包含标头504及有效负载506。标头504提供关于数据包502的信息,包含例如描述有效负载的内容、相对于其它数据包的数据包序列、错误信息等等。
标头504可包含数据包标识符508(PID),以及其它字段。数据包标识符508可描述包含于有效负载506中的数据。举例来说,PID=2指示有效负载506包含输送流描述符表(TSDT)中的一些或全部。输送流描述符表可含有与输送流500相关的描述符510。
在一些实例中,可包含必需的信息携载SEI消息作为含有视频编解码器配置文件及层级信息的描述符的部分,作为相似描述符。通过包含于这些描述符当中,解码器可剖析必需的信息携载SEI消息以及必需的解码信息。
一些实例应用可使用实时传送协议(RTP)进行媒体输送,且使用会话描述协议(SDP)以用信号发送关于媒体的信息。SDP可用以描述多媒体通信会话。举例来说,这些描述可用于会话通知、会话邀请及参数协商。SDP并不用以递送媒体自身,而是可用于针对媒体类型、格式及关联性质的协商的端点之间。性质及参数集合常常被称作会话配置文件。SDP最初为会话通知协议(SAP)的分量,但另外结合实时传送协议(RTP)、实时流式处理协议(RTSP)、会话发起协议(SIP)而使用,且用作用于描述多播会话的独立格式。SDP在RFC 4566中予以描述。
图6绘示用于网络通信的开放***互连(OSI)模型600的实例。在此模型内,SDP实施于会话层610中,其中发生连接管理、错误恢复、安全性、远程操作及其它功能。会话属性620可在会话层610中进行交换。
OSI模型600标准化通信功能,且合规性实现不同通信***之间的互操作性。模型600中的每一层服务于上方层,且由下方层服务。物理层602定义经由物理媒体的原始位流的传输及接收。数据链路层604定义两个节点之间的数据帧的可靠传输。在数据链路层604中处置例如物理寻址的操作。网络层606定义多节点网络的结构及管理,包含寻址、路由及业务控制。例如数据包片段化及逻辑寻址的操作发生于网络层606中。输送层608定义网络上的点之间的数据区段的可靠传输,包含分段、应答及多路复用。例如端对端连接管理、消息分段、消息定序、可靠性及流程控制的操作可发生于输送层608中。会话层610定义会话的管理,会话为呈两个节点之间的多个背对背传输的形式的信息的连续交换。如先前所提到,例如连接管理、错误恢复、安全性及远程操作的操作可发生于会话层610中。呈现层612定义网络连接服务与应用程序之间的数据的翻译,包含字符编码、数据压缩,及加密及/或解密。应用层614包含高层级应用程序编程接口(API),包含资源共享、远程文件存取及其它操作。
在一些实例中,必需的信息携载SEI消息可包含于SDP文件中作为SDP属性。下文提供会话描述中的字段的实例。运用“=*”指定任选字段,且在以下实例中,可使用会话属性线及/或媒体属性线指定必需的信息携载SEI消息。
会话描述
v=(协议版本号码,当前仅为0)
o=(发起方及会话标识符:用户名称,标识符,版本号码,网络地址)
s=(会话名称:强制具有至少一个UTF-8-经编码字符)
i=*(会话标题或短信息)
u=*(描述的URI)
e=*(具有任选联系人姓名的零或多个电子邮件地址)
p=*(具有任选联系人姓名的零或多个电话号码)
c=*(连接信息—在包含于所有媒体中的情况下是不需要的)
b=*(零或多个带宽信息线)
一或多个时间描述(“t=”及“r=”线;参见下文)
z=*(时区调整)
k=*(加密密钥)
a=*(零或多个会话属性线)
零或多个媒体描述(每一者始于“m=”线;参见下文)
时间描述
t=(会话活动的时间)
r=*(零或多个重复时间)
媒体描述
m=(媒体名称及输送地址)
i=*(媒体标题或信息字段)
c=*(连接信息—在包含于会话层级处的情况下是任选的)
b=*(零或多个带宽信息线)
k=*(加密密钥)
a=*(零或多个媒体属性线—覆盖会话属性线)
图7绘示用于编码视频数据的过程700的实例。方法可由例如本文中所描述的视频译码***实施。
在702处,过程700包含接收视频数据。可例如针对视频译码***的视频捕获装置接收视频数据。作为另一实例,可从例如硬盘驱动器或闪速存储器元件的存储装置及/或经由网络接收视频数据。
在704处,过程700包含由编码装置确定是否需要与视频数据相关联的信息来呈现视频数据,其中信息不需要用于解码视频数据。编码装置可为视频译码***的部分。可在接收视频数据的同时接收信息。替代地,可在编码装置接收视频数据之前将信息提供至编码装置。举例来说,编码装置可经提前配置有信息。替代地,信息可为视频数据的分量。
在各项实例中,信息在由解码装置使用时可使解码装置能够以某一方式处理及/或显示视频数据。举例来说,信息可包含帧包装布置,其指示图片在帧被编码之前已包装成所述帧的方式。作为另一实例,信息可包含显示定向,其指示视频数据将被呈现的显示的所要定向(例如旋转)。作为另一实例,信息可包含分段矩形帧包装布置,其可指示图片在包装成帧之前分段,及区段在帧被编码之前包装成帧的方式。作为另一实例,信息可包含全向投影指示,其可向解码装置指示视频数据为360度视频数据。在这些及其它实例中,在一些状况下,解码装置可使用信息以确定解码装置是否能够显示视频数据。
在各项实例中,编码装置经配置有可由编码装置使用以确定是否需要信息来呈现视频数据的一或多个参数。这些参数可包含例如适用于视频数据的胶片颗粒特性或色调映射、用以产生视频数据的色量或颜色映射,及/或帧包装配置,以及其它者。
在706处,过程700包含产生补充增强信息(SEI)消息,其中SEI消息包含指示是否需要信息来呈现视频数据的字段。举例来说,SEI消息可为SEI清单消息,其可包含识别与视频数据一起被包含的SEI消息类型的字段,及指示这些SEI消息中的每一者的必需性的字段。作为另一实例,SEI消息可为可包含必需的信息的前缀SEI消息。作为另一实例,SEI消息可为ESI SEI消息。作为另一实例,SEI消息可为NSI SEI消息。
在一些实例中,SEI消息的语法元素指示SEI消息的类型。在这些实例中,解码装置可使用语法元素以将SEI消息识别为不同于例如表1中所定义的SEI消息。
在708处,过程700包含编码视频数据。可使用例如HEVC或AVC标准或另一视频译码标准编码视频数据。在各项实例中,编码视频数据可产生经编码视频位流,其中经编码视频位流包含视频数据的经压缩版本。
在710处,过程700包含将SEI消息与经编码视频数据一起包含。在一些实例中,SEI消息可包含于经编码视频数据中。在一些实例中,可以封装格式将SEI消息连同经编码视频数据一起包含。
举例来说,过程700可包含将经编码视频数据及SEI消息写入至文件,其中根据文件格式将经编码视频数据及SEI消息写入至文件。在这些实例中,过程700可进一步包含使用文件格式以将SEI消息放置于文件中的可在读取经编码视频数据之前读取SEI之处。
作为另一实例,过程700可包含封装经编码视频数据以供流式处理,其中根据流式处理格式封装经编码视频数据。在此实例中,过程700可进一步包含根据流式处理格式产生经编码视频数据的描述,其中描述包含SEI消息。
作为另一实例,过程700可包含封装经编码视频数据以供经由网络而传输,其中根据容器格式封装经编码视频数据。在此实例中,过程700可进一步包含根据容器格式产生第一数据包,其中第一数据包的有效负载部分包含SEI消息作为描述符。过程700可进一步包含产生包含经编码视频数据的一或多个数据包,其中一或多个数据包按传输次序在第一数据包之后。
作为另一实例,过程700可进一步包含封装经编码视频数据以供经由网络而传输,其中根据实时传送协议封装经编码视频数据。在此实例中,过程700可进一步包含根据会话描述协议产生会话描述,其中会话描述包含SEI消息。
在一些实例中,经编码装置确定需要信息来呈现视频数据。在这些实例中,SEI消息中的字段可指示必需的信息包含于经编码视频数据中或具备经编码视频数据。在这些实例中,解码装置可使用SEI消息以识别及定位必需的信息。
在一些实例中,编码装置确定不需要信息来呈现视频数据。在这些实例中,SEI消息中的字段可指示无必需的信息包含于经编码视频数据中或与经编码视频数据一起被包含。
在一些实例中,信息与经编码视频数据一起被包含。举例来说,信息可包含于SEI消息中。替代地或另外,信息可包含于一或多个额外SEI消息中。在一些实例中,额外SEI消息可识别每一SEI消息所携载的类型信息。在一些实例中,额外SEI消息中的每一者可指示由每一SEI消息携载的信息的必需性。在一些实例中,在如上文所论述而产生的SEI消息中指示每一SEI消息的必需性。
图8绘示用于解码视频数据的过程800的实例。过程800可例如由例如本文中所描述的视频译码装置实施。
在802处,过程800包含在解码装置处接收经编码视频位流、补充增强信息(SEI)消息及与经编码视频位流相关联的信息。在一些实例中,解码装置为视频译码装置的部分。在一些实例中,解码装置从存储装置及/或经由网络接收经编码视频位流。在一些实例中,解码装置从编码装置接收经编码视频位流。
在一些实例中,SEI消息及/或与经编码视频位流相关联的信息包含于经编码视频位流中。在一些实例中,SEI消息及/或信息具备例如呈包含经编码视频位流的封装格式的经编码视频位流。
举例来说,可在文件中接收经编码视频位流、SEI消息及与经编码视频位流相关联的信息,其中根据文件格式来格式化文件。在此实例中,文件格式可规定SEI消息可在由解码装置读取的文件的部分中,所述部分在包含经编码视频位流的文件的部分之前。
作为另一实例,可在数据流中接收经编码视频位流、SEI消息及与经编码视频位流相关联的信息,其中根据流式处理格式来格式化数据流。在此实例中,解码装置可从数据流读取经编码视频数据的描述,其中描述包含SEI消息。
作为另一实例,可在多个网络数据包中接收经编码视频位流、SEI消息及与经编码视频位流相关联的信息。在此实例中,解码装置可从来自多个网络数据包的第一数据包的有效负载部分读取SEI消息。SEI消息可例如被提供为有效负载中的描述符。在此实例中,解码装置可进一步从来自多个网络数据包的一或多个数据包读取经编码视频数据,其中一或多个数据包按传输次序在第一数据包之后。
作为另一实例,可经由网络接收经编码视频位流、SEI消息及与经编码视频位流相关联的信息。在此实例中,可根据实时传送协议封装经编码视频位流,且可在会话描述中包含SEI消息,其中根据会话描述协议格式化会话描述。
在804处,过程800包含使用SEI消息确定是否需要信息来呈现经编码视频位流中的视频数据,其中信息不需要用于解码视频数据,且其中SEI消息包含指示是否需要信息来呈现视频数据的字段。
在一些实例中,SEI消息的语法元素指示SEI消息的类型。在这些实例中,解码装置可使用语法元素以确定SEI消息可包含是否需要信息来呈现视频数据的指示。
在一些实例中,信息包含于SEI消息中,及/或包含于与经编码视频数据一起被包含的一或多个额外SEI消息中。举例来说,SEI消息可包含与经编码视频数据一起被包含的SEI消息类型的列表。在此实例中,所述列表可进一步指示包含于SEI消息中的每一者中的数据的必需性。作为另一实例,SEI消息类型可指示SEI消息包含还是不包含必需的信息。
在806处,过程800包含解码经编码视频位流以产生视频数据,其中根据确定是否需要信息来呈现视频数据的结果解码经编码视频位流。
在一些实例中,解码装置确定需要信息来呈现视频数据。在这些实例中,解码装置根据信息配置视频数据。举例来说,在解码经编码视频数据后,解码装置就可根据帧包装格式重新布置视频帧的内容。作为另一实例,解码装置可布置视频帧以用于使用360度显示而显示。作为另一实例,解码装置可将颜色信息提供至显示装置,其中可使用颜色信息显示视频数据。
在一些实例中,解码装置确定不需要信息来呈现视频数据。在这些实例中,解码装置可在不使用信息的情况下解码经编码视频数据。
在一些实例中,过程700、800可由例如视频译码***100的计算装置或设备执行。举例来说,过程700、800可由图1所展示的视频译码***100执行。在一些状况下,计算装置或设备可包含处理器、微处理器、微计算机,或经配置以实行过程700及800的步骤的装置的其它组件。在一些实例中,计算装置或设备可包含经配置以捕获包含视频帧的视频数据(例如视频序列)的相机。举例来说,计算装置可包含相机装置(例如IP相机或其它类型的相机装置),所述相机装置可包含视频编解码器。在一些实例中,捕获视频数据的相机或其它捕获装置与计算装置分离,在此状况下,计算装置接收经捕获视频数据。计算装置可进一步包含经配置以传达视频数据的网络接口。网络接口可经配置以传达基于互联网协议(IP)的数据。
过程700、800被绘示为逻辑流图,其操作表示可以硬件、计算机指令或其组合而实施的操作序列。在计算机指令的上下文中,操作表示存储于一或多个计算机可读存储媒体上的在由一或多个处理器执行时执行所叙述操作的计算机可执行指令。通常,计算机可执行指令包含执行特定功能或实施特定数据类型的例程、程序、对象、组件、数据结构等等。操作被描述的次序并不意图被认作限制,且任何数目个所描述操作可按任何次序及/或与实施过程并行地组合。
另外,过程700、800可在经配置有可执行指令的一或多个计算机***的控制下执行,且可被实施为共同地执行于一或多个处理器上、由硬件执行或其组合的代码(例如可执行指令、一或多个计算机程序,或一或多个应用程序)。如上文所提到,代码可存储于计算机可读或机器可读存储媒体上,例如呈包括可由一或多个处理器执行的多个指令的计算机程序的形式。计算机可读或机器可读存储媒体可为非暂时性的。
本文中所论述的方法及操作可使用经压缩视频予以实施,且可实施于实例视频编码及解码***(例如***100)中。在一些实例中,***包含源装置,源装置提供稍后将由目的地装置解码的经编码视频数据。具体地说,源装置经由计算机可读媒体将视频数据提供至目的地装置。源装置及目的地装置可包括广泛范围的装置中的任一者,包含桌上型计算机、笔记本(即,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能”电话的电话手机、所谓的“智能”平板、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式处理装置等等。在一些状况下,源装置及目的地装置可经装备以用于无线通信。
目的地装置可经由计算机可读媒体接收待解码的经编码视频数据。计算机可读媒体可包括能够将经编码视频数据从源装置移动至目的地装置的任何类型的媒体或装置。在一项实例中,计算机可读媒体可包括通信媒体以使源装置能够实时将经编码视频数据直接传输至目的地装置。可根据例如无线通信协议的通信标准调制经编码视频数据,且将经编码视频数据传输至目的地装置。通信媒体可包括任何无线或有线通信媒体,例如射频(RF)频谱或一或多个物理传输线。通信媒体可形成例如局域网、广域网或例如互联网的全局网络的基于数据包的网络的部分。通信媒体可包含路由器、交换机、基站,或可用于促进从源装置至目的地装置的通信的任何其它设备。
在一些实例中,可将经编码数据从输出接口输出至存储装置。相似地,可由输入接口从存储装置存取经编码数据。存储装置可包含多种分布式或本地存取数据存储媒体中的任一者,例如硬盘驱动器、蓝光(Blu-ray)光盘、DVD、CD-ROM、闪速存储器、易失性或非易失性存储器,或用于存储经编码视频数据的任何其它合适数字存储媒体。在另外实例中,存储装置可对应于可存储由源装置产生的经编码视频的文件服务器或另一中间存储装置。目的地装置可经由流式处理或下载从存储装置存取经存储视频数据。文件服务器可为能够存储经编码视频数据且将所述经编码视频数据传输至目的地装置的任何类型的服务器。实例文件服务器包含网页服务器(例如用于网站)、FTP服务器、网络连接存储(NAS)装置或本地磁盘驱动器。目的地装置可经由包含互联网连接的任何标准数据连接来存取经编码视频数据。此连接可包含适合于存取存储于文件服务器上的经编码视频数据的无线信道(例如Wi-Fi连接)、有线连接(例如DSL、电缆调制解调器等等)或此两者的组合。从存储装置的经编码视频数据的传输可为流式处理传输、下载传输或其组合。
本发明的技术未必限于无线应用或设定。所述技术可应用于视频译码以支持多种多媒体应用中的任一者,例如空中电视广播、有线电视传输、***传输、互联网流式处理视频传输(例如HTTP动态自适应流式处理(DASH))、编码至数据存储媒体上的数字视频、存储于数据存储媒体上的数字视频的解码,或其它应用。在一些实例中,***可经配置以支持单向或双向视频传输以支持例如视频流式处理、视频回放、视频广播及/或视频电话的应用。
在一项实例中,源装置包含视频源、视频编码器及输出接口。目的地装置可包含输入接口、视频解码器及显示装置。源装置的视频编码器可经配置以应用本文中所揭示的技术。在其它实例中,源装置及目的地装置可包含其它组件或布置。举例来说,源装置可从例如外部相机的外部视频源接收视频数据。同样地,目的地装置可与外部显示装置介接,而非包含集成显示装置。
以上实例***仅仅为一项实例。用于并行地处理视频数据的技术可由任何数字视频编码及/或解码装置执行。尽管本发明的技术通常由视频编码装置执行,但所述技术还可由视频编码器/解码器(通常被称作“编解码器”)执行。此外,本发明的技术还可由视频预处理器执行。源装置及目的地装置仅仅为源装置产生经译码视频数据以供传输至目的地装置的这些译码装置的实例。在一些实例中,源装置及目的地装置可以大致上对称方式操作,使得所述装置中的每一者包含视频编码及解码组件。因此,实例***可支持视频装置之间的单向或双向视频传输,例如用于视频流式处理、视频回放、视频广播或视频电话。
视频源可包含视频捕获装置,例如视频相机、含有经先前捕获视频的视频存档,及/或用以从视频内容提供者接收视频的视频馈送接口。作为另外替代例,视频源可产生基于计算机图形的数据作为源视频,或实况视频、存档视频及计算机产生视频的组合。在一些状况下,如果视频源为视频相机,那么源装置及目的地装置可形成所谓的相机电话或视频电话。然而,如上文所提及,本发明中所描述的技术一般可适用于视频译码,且可适用于无线及/或有线应用。在每一状况下,可由视频编码器编码经捕获、经预捕获或计算机产生视频。接着可由输出接口将经编码视频信息输出至计算机可读媒体上。
如所提到,计算机可读媒体可包含:暂时性媒体,例如无线广播或有线网络传输;或存储媒体(即,非暂时性存储媒体),例如硬盘、闪存驱动器、紧密光盘、数字视频光盘、蓝光光盘或其它计算机可读媒体。在一些实例中,网络服务器(未展示)可从源装置接收经编码视频数据,且例如经由网络传输将经编码视频数据提供至目的地装置。相似地,媒体生产设施(例如光盘冲压设施)的计算装置可从源装置接收经编码视频数据且生产含有经编码视频数据的光盘。因此,在各项实例中,计算机可读媒体可被理解为包含各种形式的一或多个计算机可读媒体。
目的地装置的输入接口从计算机可读媒体接收信息。计算机可读媒体的信息可包含由视频编码器定义的语法信息,其也由视频解码器使用,所述语法信息包含描述块及其它经译码单元(例如图片群组(GOP))的特性及/或处理的语法元素。显示装置将经解码视频数据显示给用户,且可包括多种显示装置中的任一者,例如阴极射线管(CRT)、液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。已描述了各项实例。
图9及图10中分别展示编码装置104及解码装置112的特定细节。图9为绘示可实施本发明中所描述的技术中的一或多者的实例编码装置104的框图。编码装置104可例如产生本文中所描述的语法结构(例如VPS、SPS、PPS或其它语法元素的语法结构)。编码装置104可执行视频切片内的视频块的帧内预测及帧间预测译码。如先前所描述,帧内译码至少部分地依赖于空间预测以缩减或移除给定视频帧或图片内的空间冗余。帧间译码至少部分地依赖于时间预测以缩减或移除视频序列的邻近或周围帧内的时间冗余。帧内模式(I模式)可指若干基于空间的压缩模式中的任一者。例如单向预测(P模式)或双向预测(B模式)的帧间模式可指若干基于时间的压缩模式中的任一者。
编码装置104包含分割单元35、预测处理单元41、滤波器单元63、图片存储器64、求和器50、变换处理单元52、量化单元54及熵编码单元56。预测处理单元41包含运动估计单元42、运动补偿单元44及帧内预测处理单元46。对于视频块重构,编码装置104还包含反量化单元58、反变换处理单元60及求和器62。滤波器单元63意图表示一或多个环路滤波器,例如解块滤波器、自适应环路滤波器(ALF)及样本自适应偏移(SAO)滤波器。尽管滤波器单元63在图9中被展示为环路内滤波器,但在其它配置中,滤波器单元63可被实施为环路后滤波器。后处理装置57可对由编码装置104产生的经编码视频数据执行额外处理。在一些情况下,本发明的技术可由编码装置104实施。然而,在其它情况下,本发明的技术中的一或多者可由后处理装置57实施。
如图9所展示,编码装置104接收视频数据,且分割单元35将数据分割成视频块。分割还可包含分割成切片、切片区段、图块或其它较大单元,以及例如根据LCU及CU的四叉树结构的视频块分割。编码装置104大体上绘示编码待编码视频切片内的视频块的组件。可将切片划分成多个视频块(且可能划分成被称作图块的视频块集合)。预测处理单元41可针对当前视频块基于误差结果(例如译码速率及失真程度等等)选择多个可能译码模式中的一者,例如多种帧内预测译码模式中的一者或多种帧间预测译码模式中的一者。预测处理单元41可将所得的经帧内或帧间译码块提供至求和器50以产生残差块数据,且将所得的经帧内或帧间译码块提供至求和器62以重构经编码块以供用作参考图片。
预测处理单元41内的帧内预测处理单元46可相对于与待译码的当前块在同一帧或切片中的一或多个相邻块执行当前视频块的帧内预测译码,以提供空间压缩。预测处理单元41内的运动估计单元42及运动补偿单元44相对于一或多个参考图片中的一或多个预测性块执行当前视频块的帧间预测性译码,以提供时间压缩。
运动估计单元42可经配置以根据用于视频序列的预定图案来确定用于视频切片的帧间预测模式。预定图案可将序列中的视频切片指定为P切片、B切片或GPB切片。运动估计单元42及运动补偿单元44可高度地集成,但出于概念目的而被单独地绘示。由运动估计单元42执行的运动估计为产生运动向量的过程,所述运动向量估计视频块的运动。举例来说,运动向量可指示当前视频帧或图片内的视频块的预测单元(PU)相对于参考图片内的预测性块的位移。
预测性块为被发现在像素差方面接近地匹配于待译码视频块的PU的块,所述像素差可由绝对差总和(SAD)、平方差总和(SSD)或其它差度量确定。在一些实例中,编码装置104可计算存储于图片存储器64中的参考图片的次整数像素位置的值。举例来说,编码装置104可内插参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计单元42可执行关于全像素位置及分数像素位置的运动搜索,且输出具有分数像素精确度的运动向量。
运动估计单元42通过比较PU的位置与参考图片的预测性块的位置而计算用于经帧间译码切片中的视频块的PU的运动向量。参考图片可选自第一参考图片列表(列表0)或第二参考图片列表(列表1),所述参考图片列表中的每一者识别存储于图片存储器64中的一或多个参考图片。运动估计单元42将所计算的运动向量发送至熵编码单元56及运动补偿单元44。
由运动补偿单元44执行的运动补偿可涉及基于由运动估计确定的运动向量而提取或产生预测性块,可能执行子像素精确度的内插。在接收到用于当前视频块的PU的运动向量后,运动补偿单元44就可在参考图片列表中定位运动向量所指向的预测性块。编码装置104通过从正被译码的当前视频块的像素值减去预测性块的像素值从而形成像素差值来形成残差视频块。像素差值形成用于块的残差数据,且可包含亮度及色度差分量两者。求和器50表示执行此减去运算的一或多个组件。运动补偿单元44还可产生与视频块及视频切片相关联的语法元素,以供解码装置112用来解码视频切片的视频块。
作为如上文所描述的由运动估计单元42及运动补偿单元44执行的帧间预测的替代例,帧内预测处理单元46可帧内预测当前块。具体地说,帧内预测处理单元46可确定待使用的帧内预测模式以编码当前块。在一些实例中,帧内预测处理单元46可例如在单独编码遍次期间使用各种帧内预测模式编码当前块,且帧内预测处理单元46可从经测试模式选择待使用的适当帧内预测模式。举例来说,帧内预测处理单元46可使用针对各种经测试帧内预测模式的速率-失真分析来计算速率-失真值,且可在经测试模式当中选择具有最佳速率-失真特性的帧内预测模式。速率-失真分析通常确定经编码块与经编码以产生经编码块的原始未经编码块之间的失真(或误差)量,以及用以产生经编码块的位速率(即,位数目)。帧内预测处理单元46可从各种经编码块的失真及速率计算比率以确定哪一帧内预测模式展现块的最佳速率-失真值。
在任何状况下,在选择用于块的帧内预测模式之后,帧内预测处理单元46可将指示用于块的经选择帧内预测模式的信息提供至熵编码单元56。熵编码单元56可编码指示经选择帧内预测模式的信息。编码装置104可在经传输位流配置数据中包含用于各种块的编码上下文的定义,以及待用于所述上下文中的每一者的最可能帧内预测模式、帧内预测模式索引表及经修改帧内预测模式索引表的指示。位流配置数据可包含多个帧内预测模式索引表及多个经修改帧内预测模式索引表(也被称作码字映射表)。
在预测处理单元41经由帧间预测或帧内预测而产生用于当前视频块的预测性块之后,编码装置104通过从当前视频块减去预测性块而形成残差视频块。残差块中的残差视频数据可包含于一或多个TU中且应用于变换处理单元52。变换处理单元52使用例如离散余弦变换(DCT)或概念上相似变换的变换将残差视频数据变换成残差变换系数。变换处理单元52可将残差视频数据从像素域转换至变换域,例如频域。
变换处理单元52可将所得变换系数发送至量化单元54。量化单元54量化变换系数以进一步缩减位速率。量化过程可缩减与所述系数中的一些或全部相关联的位深度。可通过调整量化参数来修改量化程度。在一些实例中,量化单元54接着可执行包含经量化变换系数的矩阵的扫描。替代地,熵编码单元56可执行所述扫描。
在量化之后,熵编码单元56熵编码经量化变换系数。举例来说,熵编码单元56可执行上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵编码技术。在由熵编码单元56进行熵编码之后,可将经编码位流传输至解码装置112,或加以存档以供稍后由解码装置112传输或检索。熵编码单元56还可熵编码用于正被译码的当前视频切片的运动向量及其它语法元素。
反量化单元58及反变换处理单元60分别应用反量化及反变换以在像素域中重构残差块,以供稍后用作参考图片的参考块。运动补偿单元44可通过将残差块与参考图片列表内的参考图片中的一者的预测性块相加来计算参考块。运动补偿单元44还可将一或多个内插滤波器应用于经重构残差块,以计算次整数像素值以用于运动估计。求和器62将经重构残差块与由运动补偿单元44产生的运动补偿预测块相加以产生用于存储于图片存储器64中的参考块。参考块可由运动估计单元42及运动补偿单元44用作参考块以帧间预测后续视频帧或图片中的块。
以此方式,图9的编码装置104表示经配置以产生用于经编码视频位流的语法的视频编码器的实例。编码装置104可例如产生如上文所描述的VPS、SPS及PPS参数集。编码装置104可执行本文中所描述的技术中的任一者,包含上文关于图7及8所描述的过程。本发明的技术大体上已关于编码装置104加以描述,但如上文所提及,本发明的技术中的一些还可由后处理装置57实施。
图10为绘示实例解码装置112的框图。解码装置112包含熵解码单元80、预测处理单元81、反量化单元86、反变换处理单元88、求和器90、滤波器单元91及图片存储器92。预测处理单元81包含运动补偿单元82及帧内预测处理单元84。在一些实例中,解码装置112可执行与关于来自图9的编码装置104所描述的编码遍次大体上互逆的解码遍次。
在解码过程期间,解码装置112接收经编码视频位流,其表示经编码视频切片的视频块及由编码装置104发送的关联语法元素。在一些实例中,解码装置112可从编码装置104接收经编码视频位流。在一些实例中,解码装置112可从网络实体79接收经编码视频位流,网络实体79是例如服务器、媒体感知网络元件(MANE)、视频编辑器/拼接器,或经配置以实施上文所描述的技术中的一或多者的其它此类装置。网络实体79可能或可能不包含编码装置104。本发明中所描述的技术中的一些可在网络实体79将经编码视频位流传输至解码装置112之前由网络实体79实施。在一些视频解码***中,网络实体79及解码装置112可为单独装置的部分,而在其它情况下,关于网络实体79所描述的功能性可由包括解码装置112的同一装置执行。
解码装置112的熵解码单元80熵解码位流以产生经量化系数、运动向量及其它语法元素。熵解码单元80将运动向量及其它语法元素转发至预测处理单元81。解码装置112可接收视频切片层级及/或视频块层级处的语法元素。熵解码单元80可处理及剖析例如VPS、SPS及PPS的一或多个参数集中的固定长度语法元素及可变长度语法元素两者。
当视频切片被译码为经帧内译码(I)切片时,预测处理单元81的帧内预测处理单元84可基于经信号发送的帧内预测模式及来自当前帧或图片的经先前解码块的数据而产生用于当前视频切片的视频块的预测数据。当视频帧被译码为经帧间译码(即,B、P或GPB)切片时,预测处理单元81的运动补偿单元82基于从熵解码单元80接收的运动向量及其它语法元素而产生用于当前视频切片的视频块的预测性块。可从参考图片列表内的参考图片中的一者产生预测性块。解码装置112可基于存储于图片存储器92中的参考图片而使用默认构造技术来构造参考帧列表:列表0及列表1。
运动补偿单元82通过剖析运动向量及其它语法元素来确定用于当前视频切片的视频块的预测信息,且使用预测信息来产生用于正被解码的当前视频块的预测性块。举例来说,运动补偿单元82可使用参数集中的一或多个语法元素以确定用以译码视频切片的视频块的预测模式(例如帧内预测或帧间预测)、帧间预测切片类型(例如B切片、P切片或GPB切片)、用于切片的一或多个参考图片列表的构造信息、用于切片的每一经帧间编码视频块的运动向量、用于切片的每一经帧间译码视频块的帧间预测状态,及用以解码当前视频切片中的视频块的其它信息。
运动补偿单元82还可执行基于内插滤波器的内插。运动补偿单元82可使用如在编码视频块期间由编码装置104使用的内插滤波器来计算参考块的次整数像素的内插值。在此状况下,运动补偿单元82可从所接收的语法元素确定由编码装置104使用的内插滤波器,且可使用内插滤波器来产生预测性块。
反量化单元86反量化或解量化位流中提供且由熵解码单元80解码的经量化变换系数。反量化过程可包含使用由编码装置104针对视频切片中的每一视频块计算的量化参数以确定应被应用的量化程度且同样地确定应被应用的反量化程度。反变换处理单元88将反变换(例如反DCT或其它合适反变换)、反整数变换或概念上相似反变换过程应用于变换系数以便在像素域中产生残差块。
在运动补偿单元82基于运动向量及其它语法元素而产生用于当前视频块的预测性块之后,解码装置112通过对来自反变换处理单元88的残差块与由运动补偿单元82产生的对应预测性块求和而形成经解码视频块。求和器90表示可执行此求和运算的一或多个组件。必要时,环路滤波器(在译码环路中或在译码环路之后)也可用以使像素转变平滑,或以其它方式改进视频质量。滤波器单元91意图表示一或多个环路滤波器,例如解块滤波器、自适应环路滤波器(ALF)及样本自适应偏移(SAO)滤波器。尽管滤波器单元91在图10中被展示为环路内滤波器,但在其它配置中,滤波器单元91可被实施为环路后滤波器。给定帧或图片中的经解码视频块接着存储于图片存储器92中,图片存储器92存储用于后续运动补偿的参考图片。图片存储器92还存储经解码视频以供稍后呈现于例如图1所展示的视频目的地装置122的显示装置上。
在前述描述中,本申请案的方面参考其特定实例予以描述,但所属领域的技术人员将认识到,本申请案并不限于此情形。因此,虽然本文中已详细地描述本申请案的实例,但应理解,本发明的概念可以其它方式不同地体现及使用,且所附权利要求书意图被认作包含这些变化,但先前技术所限制者除外。上文所描述的实例的各种特征及方面可被个别地或联合地使用。另外,描述实例可用于超出本文中所描述的环境及应用的任何数目个环境及应用,而不脱离本说明书的较广精神及范围。因此,本说明书及附图应被视为说明性而不是限定性。出于说明的目的,以特定次序描述方法。应了解,在替代实例中,可以与所描述的次序不同的次序来执行方法。
在组件被描述为“经配置以”执行某些操作的情况下,可例如通过设计电子电路或其它硬件以执行操作、通过编程可编程电子电路(例如微处理器或其它合适电子电路)以执行操作或其任何组合来实现此配置。
结合本文中所揭示的实例而描述的各种说明性逻辑块、模块、电路及算法步骤可被实施为电子硬件、计算机软件、固件或其组合。为了清楚地说明硬件与软件的此可互换性,各种说明性组件、块、模块、电路及步骤已在上文大体上按其功能性予以描述。此功能性被实施为硬件还是软件取决于特定应用及强加于整个***上的设计约束。所属领域的技术人员可针对每一特定应用而以不同的方式实施所描述功能性,但不应将这些实施决策解释为造成脱离本申请案的范围。
本文中所描述的技术还可以电子硬件、计算机软件、固件或其任何组合予以实施。这些技术可实施于例如以下各者的多种装置中的任一者中:通用计算机;无线通信装置手机;或具有多种用途的集成电路装置,所述用途包含在无线通信装置手机及其它装置中的应用。可将被描述为模块或组件的任何特征一起实施于集成逻辑装置中或单独地实施为离散但可互操作的逻辑装置。如果以软件予以实施,那么所述技术可至少部分地由包括程序代码的计算机可读数据存储媒体实现,程序代码包含在执行时执行上文所描述的方法中的一或多者的指令。计算机可读数据存储媒体可形成计算机程序产品的部分,计算机程序产品可包含包装材料。计算机可读媒体可包括存储器或数据存储媒体,例如随机存取存储器(RAM),例如同步动态随机存取存储器(SDRAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、闪速存储器、磁性或光学数据存储媒体等等。另外或替代地,所述技术可至少部分地由计算机可读通信媒体实现,计算机可读通信媒体携载或传达呈指令或数据结构形式且可由计算机存取、读取及/或执行的程序代码,例如经传播信号或波。
程序代码可由处理器执行,所述处理器可包含一或多个处理器,例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路***。此处理器可经配置以执行本发明中所描述的技术中的任一者。通用处理器可为微处理器;但在替代例中,处理器可为任何常规处理器、控制器、微控制器或状态机。处理器还可被实施为计算装置的组合,例如DSP与微处理器的组合、多个微处理器、一或多个微处理器结合DSP核心,或任何其它此类配置。因此,如本文中所使用的术语“处理器”可指以下各者中的任一者:前述结构、前述结构的任何组合,或适合于实施本文中所描述的技术的任何其它结构或设备。另外,在一些方面中,本文中所描述的功能性可提供于经配置用于编码及解码的专用软件模块或硬件模块内,或并入于组合式视频编码器-解码器(编解码器)中。

Claims (32)

1.一种编码视频数据的方法,其包括:
接收视频数据;
由编码装置确定是否需要与所述视频数据相关联的信息来呈现所述视频数据,其中所述信息不需要用于解码所述视频数据;
产生补充增强信息SEI消息,其中所述SEI消息包含指示是否需要所述信息来呈现所述视频数据的字段;
编码所述视频数据;及
将所述SEI消息与所述经编码视频数据包含在一起。
2.根据权利要求1所述的方法,其中所述编码装置经配置有能够由所述编码装置使用以确定是否需要所述信息来呈现所述视频数据的一或多个参数。
3.根据权利要求1所述的方法,其中所述编码装置确定需要所述信息来呈现所述视频数据。
4.根据权利要求1所述的方法,其中所述编码装置确定不需要所述信息来呈现所述视频数据。
5.根据权利要求1所述的方法,其中所述SEI消息的语法元素指示所述SEI消息的类型。
6.根据权利要求1所述的方法,其中所述信息与所述经编码视频数据被包含在一起。
7.根据权利要求1所述的方法,其进一步包括:
将所述经编码视频数据及所述SEI消息写入至文件,其中根据文件格式将所述经编码视频数据及所述SEI消息写入至所述文件;及
使用所述文件格式以将所述SEI消息放置于所述文件中的能够在读取所述经编码视频数据之前读取所述SEI之处。
8.根据权利要求1所述的方法,其进一步包括:
封装所述经编码视频数据以供流式传输,其中根据流式传输格式封装所述经编码视频数据;及
根据所述流式传输格式产生经编码视频数据的描述,其中所述描述包含所述SEI消息。
9.根据权利要求1所述的方法,其进一步包括:
封装所述经编码视频数据以供经由网络而传输,其中根据容器格式封装所述经编码视频数据;
根据所述容器格式产生第一数据包,其中所述第一数据包的有效负载部分包含所述SEI消息作为描述符;及
产生包含所述经编码视频数据的一或多个数据包,其中所述一或多个数据包按传输次序在所述第一数据包之后。
10.根据权利要求1所述的方法,其进一步包括:
封装所述经编码视频数据以供经由网络而传输,其中根据实时传送协议封装所述经编码视频数据;及
根据会话描述协议产生会话描述,其中所述会话描述包含所述SEI消息。
11.一种编码装置,其包括:
存储器,其经配置以存储视频数据;及
处理器,其经配置以:
确定是否需要与所述视频数据相关联的信息来呈现所述视频数据,其中所述信息不需要用于解码所述视频数据;
产生补充增强信息SEI消息,其中所述SEI消息包含指示是否需要所述信息来呈现所述视频数据的字段;
编码所述视频数据;及
将所述SEI消息与所述经编码视频数据包含在一起。
12.根据权利要求11所述的编码装置,其中所述编码装置经配置有能够由所述编码装置使用以确定是否需要所述信息来呈现所述视频数据的一或多个参数。
13.根据权利要求11所述的编码装置,其中所述处理器经进一步配置以:
确定需要所述信息来呈现所述视频数据。
14.根据权利要求11所述的编码装置,其中所述处理器经进一步配置以:
确定不需要所述信息来呈现所述视频数据。
15.根据权利要求11所述的编码装置,其中所述SEI消息的语法元素指示所述SEI消息的类型。
16.根据权利要求11所述的编码装置,其中所述信息与所述经编码视频数据被包含在一起。
17.一种非暂时性计算机可读媒体,其包括在由一或多个处理器执行时致使所述一或多个处理器进行以下操作的指令:
接收视频数据;
确定是否需要与所述视频数据相关联的信息来呈现所述视频数据,其中所述信息不需要用于解码所述视频数据;
产生补充增强信息SEI消息,其中所述SEI消息包含指示是否需要所述信息来呈现所述视频数据的字段;
编码所述视频数据;及
将所述SEI消息与所述经编码视频数据包含在一起。
18.一种设备,其包括:
用于接收视频数据的装置;
用于确定是否需要与所述视频数据相关联的信息来呈现所述视频数据的装置,其中所述信息不需要用于解码所述视频数据;
用于产生补充增强信息SEI消息的装置,其中所述SEI消息包含指示是否需要所述信息来呈现所述视频数据的字段;
用于编码所述视频数据的装置;及
用于将所述SEI消息与所述经编码视频数据包含在一起的装置。
19.一种解码视频数据的方法,其包括:
在解码装置处接收经编码视频位流、补充增强信息SEI消息及与所述经编码视频位流相关联的信息;
使用所述SEI消息确定是否需要所述信息来呈现所述经编码视频位流中的视频数据,其中所述信息不需要用于解码所述视频数据,且其中所述SEI消息包含指示是否需要所述信息来呈现所述视频数据的字段;及
解码所述经编码视频位流以产生视频数据,其中根据确定是否需要所述信息来呈现所述视频数据的结果解码所述经编码视频位流。
20.根据权利要求19所述的方法,其中所述解码装置确定需要所述信息来呈现所述视频数据,且其中所述解码装置根据所述信息配置所述视频数据。
21.根据权利要求19所述的方法,其中所述解码装置确定不需要所述信息来呈现所述视频数据,且其中所述解码装置在不使用所述信息的情况下解码所述经编码视频数据。
22.根据权利要求19所述的方法,其中所述SEI消息的语法元素指示所述SEI消息的类型。
23.根据权利要求19所述的方法,其中在文件中接收所述经编码视频位流、所述SEI消息及与所述经编码视频位流相关联的所述信息,其中根据文件格式来格式化所述文件,且其中,根据所述文件格式,所述SEI消息在由所述解码装置读取的所述文件的部分中,所述部分在包含所述经编码视频位流的所述文件的部分之前。
24.根据权利要求19所述的方法,其中在数据流中接收所述经编码视频位流、所述SEI消息及与所述经编码视频位流相关联的所述信息,其中根据流式传输格式来格式化所述数据流;及
从所述数据流读取所述经编码视频数据的描述,其中所述描述包含所述SEI消息。
25.根据权利要求19所述的方法,其中在多个网络数据包中接收所述经编码视频位流、所述SEI消息及与所述经编码视频位流相关联的所述信息;
从来自所述多个网络数据包的第一数据包的有效负载部分读取所述SEI消息;及
从来自所述多个网络数据包的一或多个数据包读取所述经编码视频数据,其中所述一或多个数据包按传输次序在所述第一数据包之后。
26.根据权利要求19所述的方法,其中经由网络接收所述经编码视频位流、所述SEI消息及与所述经编码视频位流相关联的所述信息,其中根据实时传送协议封装所述经编码视频位流,其中所述SEI消息包含于会话描述中,其中根据会话描述协议格式化所述会话描述。
27.一种解码装置,其包括:
存储器,其经配置以存储经编码视频位流、补充增强信息SEI消息及与所述经编码视频位流相关联的信息;及
处理器,其经配置以:
使用所述SEI消息确定是否需要所述信息来呈现所述经编码视频位流中的视频数据,其中所述信息不需要用于解码所述视频数据,且其中所述SEI消息包含指示是否需要所述信息来呈现所述视频数据的字段;及
解码所述经编码视频位流以产生视频数据,其中根据确定是否需要所述信息来呈现所述视频数据的结果解码所述经编码视频位流。
28.根据权利要求27所述的解码装置,其中所述解码装置确定需要所述信息来呈现所述视频数据,且其中所述解码装置根据所述信息配置所述视频数据。
29.根据权利要求27所述的解码装置,其中所述解码装置确定不需要所述信息来呈现所述视频数据,且其中所述解码装置在不使用所述信息的情况下解码所述经编码视频数据。
30.根据权利要求27所述的解码装置,其中所述SEI消息的语法元素指示所述SEI消息的类型。
31.一种非暂时性计算机可读媒体,其包括在由一或多个处理器执行时致使所述一或多个处理器进行以下操作的指令:
接收经编码视频位流、补充增强信息SEI消息及与所述经编码视频位流相关联的信息;
使用所述SEI消息确定是否需要所述信息来呈现所述经编码视频位流中的视频数据,其中所述信息不需要用于解码所述视频数据,且其中所述SEI消息包含指示是否需要所述信息来呈现所述视频数据的字段;及
解码所述经编码视频位流以产生视频数据,其中根据确定是否需要所述信息来呈现所述视频数据的结果解码所述经编码视频位流。
32.一种设备,其包括:
用于接收经编码视频位流、补充增强信息SEI消息及与所述经编码视频位流相关联的信息的装置;
用于使用所述SEI消息确定是否需要所述信息来呈现所述经编码视频位流中的视频数据的装置,其中所述信息不需要用于解码所述视频数据,且其中所述SEI消息包含指示是否需要所述信息来呈现所述视频数据的字段;及
用于解码所述经编码视频位流以产生视频数据的装置,其中根据确定是否需要所述信息来呈现所述视频数据的结果解码所述经编码视频位流。
CN201880017733.2A 2017-03-21 2018-03-21 必需的及非必需的视频补充信息的信号发送 Active CN110419223B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762474540P 2017-03-21 2017-03-21
US62/474,540 2017-03-21
US15/926,833 US10701400B2 (en) 2017-03-21 2018-03-20 Signalling of summarizing video supplemental information
US15/926,833 2018-03-20
PCT/US2018/023598 WO2018175609A1 (en) 2017-03-21 2018-03-21 Signalling of essential and non-essential video supplemental information

Publications (2)

Publication Number Publication Date
CN110419223A true CN110419223A (zh) 2019-11-05
CN110419223B CN110419223B (zh) 2021-10-22

Family

ID=63581211

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880017733.2A Active CN110419223B (zh) 2017-03-21 2018-03-21 必需的及非必需的视频补充信息的信号发送

Country Status (9)

Country Link
US (1) US10701400B2 (zh)
EP (1) EP3603075A1 (zh)
JP (1) JP2020511861A (zh)
KR (1) KR102613593B1 (zh)
CN (1) CN110419223B (zh)
AU (1) AU2018237153B2 (zh)
BR (1) BR112019019250A2 (zh)
TW (1) TW201904297A (zh)
WO (1) WO2018175609A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114501070A (zh) * 2022-04-14 2022-05-13 全时云商务服务股份有限公司 视频会议同步额外信息的编解码方法、处理方法和***
CN114745600A (zh) * 2022-06-10 2022-07-12 中国传媒大学 一种基于sei的视频标签标注方法及装置
WO2022222656A1 (zh) * 2021-04-20 2022-10-27 中兴通讯股份有限公司 码流处理方法、装置、终端设备及存储介质
CN115443652A (zh) * 2020-04-11 2022-12-06 Lg电子株式会社 点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法
WO2024001471A1 (en) * 2022-06-30 2024-01-04 Beijing Xiaomi Mobile Software Co., Ltd. Encoding/decoding a video sequence associated with alpha channel information

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10771764B2 (en) * 2018-06-22 2020-09-08 Lg Electronics Inc. Method for transmitting 360-degree video, method for receiving 360-degree video, apparatus for transmitting 360-degree video, and apparatus for receiving 360-degree video
EP3591972A1 (en) * 2018-07-02 2020-01-08 Axis AB Method and system for encoding video with overlay
US10630976B2 (en) * 2018-08-17 2020-04-21 Qualcomm Incorporated Display refresh blocks determination for video coding
US11323731B2 (en) * 2019-03-08 2022-05-03 Tencent America LLC Method and apparatus for video coding
CN114402623B (zh) * 2019-04-19 2023-06-09 北京达佳互联信息技术有限公司 用于嵌入图像的补充增强信息消息
MX2021015641A (es) * 2019-06-21 2022-02-03 Ericsson Telefon Ab L M Indicacion de cambio ascendente de capa de codificacion de video.
CN112215378B (zh) * 2019-07-11 2022-09-30 浙江远图技术股份有限公司 一种基于lingo医院预约门诊***优化算法
US11336894B2 (en) * 2019-09-20 2022-05-17 Tencent America LLC Signaling of reference picture resampling with resampling picture size indication in video bitstream
US20220368922A1 (en) * 2019-09-23 2022-11-17 Telefonaktiebolaget Lm Ericsson (Publ) Providing segment presence information
WO2021210867A1 (ko) * 2020-04-12 2021-10-21 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
CN116325753A (zh) * 2020-09-25 2023-06-23 抖音视界有限公司 子比特流提取
AU2022257959B2 (en) * 2021-04-12 2024-06-20 Telefonaktiebolaget Lm Ericsson (Publ) Message referencing
WO2024039723A1 (en) * 2022-08-17 2024-02-22 Bytedance Inc. Presence and relative decoding order of neural-network post-filter sei messages
WO2024061330A1 (en) * 2022-09-21 2024-03-28 Douyin Vision Co., Ltd. Method, apparatus, and medium for video processing
WO2024076141A1 (ko) * 2022-10-05 2024-04-11 엘지전자 주식회사 포스트 디코딩 필터에 기반한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장하는 기록 매체

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1666195A (zh) * 2002-04-29 2005-09-07 索尼电子有限公司 支持媒体文件中的高级编码格式
US20100049865A1 (en) * 2008-04-16 2010-02-25 Nokia Corporation Decoding Order Recovery in Session Multiplexing
CN104541509A (zh) * 2012-08-15 2015-04-22 高通股份有限公司 兼容三维视频通信
US20160337670A1 (en) * 2014-02-10 2016-11-17 Lg Electronics Inc. Method and apparatus for transmitting/receiving broadcast signal for 3-dimensional (3d) broadcast service
CN106416259A (zh) * 2014-06-20 2017-02-15 高通股份有限公司 嵌套式辅助增强信息(sei)消息的可扩展设计

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040006575A1 (en) * 2002-04-29 2004-01-08 Visharam Mohammed Zubair Method and apparatus for supporting advanced coding formats in media files
JPWO2012153450A1 (ja) * 2011-05-11 2014-07-31 パナソニック株式会社 動画像送信装置および動画像送信方法
US20140079116A1 (en) 2012-09-20 2014-03-20 Qualcomm Incorporated Indication of interlaced video data for video coding

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1666195A (zh) * 2002-04-29 2005-09-07 索尼电子有限公司 支持媒体文件中的高级编码格式
US20100049865A1 (en) * 2008-04-16 2010-02-25 Nokia Corporation Decoding Order Recovery in Session Multiplexing
CN104541509A (zh) * 2012-08-15 2015-04-22 高通股份有限公司 兼容三维视频通信
US20160337670A1 (en) * 2014-02-10 2016-11-17 Lg Electronics Inc. Method and apparatus for transmitting/receiving broadcast signal for 3-dimensional (3d) broadcast service
CN106416259A (zh) * 2014-06-20 2017-02-15 高通股份有限公司 嵌套式辅助增强信息(sei)消息的可扩展设计

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115443652A (zh) * 2020-04-11 2022-12-06 Lg电子株式会社 点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法
US11818190B2 (en) 2020-04-11 2023-11-14 Lg Electronics Inc. Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
CN115443652B (zh) * 2020-04-11 2024-02-20 Lg电子株式会社 点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法
WO2022222656A1 (zh) * 2021-04-20 2022-10-27 中兴通讯股份有限公司 码流处理方法、装置、终端设备及存储介质
CN114501070A (zh) * 2022-04-14 2022-05-13 全时云商务服务股份有限公司 视频会议同步额外信息的编解码方法、处理方法和***
CN114745600A (zh) * 2022-06-10 2022-07-12 中国传媒大学 一种基于sei的视频标签标注方法及装置
WO2024001471A1 (en) * 2022-06-30 2024-01-04 Beijing Xiaomi Mobile Software Co., Ltd. Encoding/decoding a video sequence associated with alpha channel information

Also Published As

Publication number Publication date
US20180278964A1 (en) 2018-09-27
AU2018237153B2 (en) 2022-11-24
BR112019019250A2 (pt) 2020-04-14
WO2018175609A1 (en) 2018-09-27
KR20190122867A (ko) 2019-10-30
US10701400B2 (en) 2020-06-30
KR102613593B1 (ko) 2023-12-13
TW201904297A (zh) 2019-01-16
CN110419223B (zh) 2021-10-22
EP3603075A1 (en) 2020-02-05
JP2020511861A (ja) 2020-04-16
AU2018237153A1 (en) 2019-08-29

Similar Documents

Publication Publication Date Title
CN110419223A (zh) 必需的及非必需的视频补充信息的信号发送
AU2022228092B2 (en) Systems and methods for signaling missing or corrupted video data
US11532128B2 (en) Advanced signaling of regions of interest in omnidirectional visual media
EP3158764B1 (en) Systems and methods for signaling information for layer sets in a parameter set
CN105052150B (zh) 改进的有效负载格式设计
US10349067B2 (en) Handling of end of bitstream NAL units in L-HEVC file format and improvements to HEVC and L-HEVC tile tracks
CN110431849A (zh) 包含用于视频译码的子图片位流的视频内容的信令传输
CN108605168A (zh) 在媒体文件中虚拟现实视频的存储
US11997349B2 (en) Time signaling for media streaming
KR102527431B1 (ko) 비디오 코딩에서 파라미터 세트들 및 동기 샘플들의 배치

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant