视频编码系统及其操作方法

文档序号:7988990阅读:290来源:国知局
视频编码系统及其操作方法
【专利摘要】视频编码系统(100)的操作的方法(1200),该方法包括:接收视频比特流(110);识别视频比特流(110)的语法类型(132);针对语法类型(132)从视频比特流(110)提取视频语法(114);以及基于视频语法(114)来形成用于在装置(102)上显示的视频流(112)。
【专利说明】视频编码系统及其操作方法
[0001]相关申请的交叉引用
[0002]本申请要求于2011年11月8日提交的美国临时专利申请序列号61/557,275、于2012年4月16日提交的美国临时专利申请序列号61/624,714、以及于2012年11月6日提交的美国专利申请序列号13/670,176的权益,并且其主题通过引用的方式全部并入本文。

【技术领域】
[0003]本发明总体地涉及视频系统,并且更具体地涉及用于视频编码的系统。
[0004]【技术领域】
[0005]近年来,将高质量视频运用到智能电话、高清晰度电视、汽车信息系统和其它带有屏幕的视频装置得到了极大的发展。支持视频内容的各种各样的信息装置要求将多种类型的视频内容提供给具有不同大小、质量和连接能力的装置。
[0006]视频已经从二维单视点视频发展到了具有高分辨率的三维图像的多视点视频了。为了使视频的转换更高效,已经尝试了不同的视频编码和压缩方案,以从最少量的数据得到最佳图片。运动图片专家组(MPEG)开发了基于标准化的数据序列和算法来允许良好视频质量的标准。H.261 (MPEG4 Part 10)/高级视频编码设计是一个改进,其在编码效率上通常是之前的MPEG-2格式的两倍。视频的质量依赖于对视频中的数据的操纵和压缩。视频可以被修改以适应用来将视频发送到具有不同显示分辨率和特征设置的显示装置的变化的带宽。但是,发布更大、更高质量的视频或更复杂的视频功能要求额外的带宽和改进的视频压缩。
[0007]这样,仍然需要可以在具有不同大小、分辨率和连接性的大范围的装置中发送良好的图片质量和特征的视频编码系统。鉴于对智能装置的逐渐增长的领域提供视频的不断增加的要求,找到这些问题的答案变得越来越关键。鉴于日益增加的商业竞争压力,以及逐渐增长的客户期望以及市场上逐渐减少的有意义的产品差异,找到这些问题的答案变得很关键。另外,节省成本、提高效率和性能、以及满足竞争压力的需求为找到这些问题的答案的关键的必要性增添了更大的紧迫性。
[0008]解决这些问题的方案已经被探索了很长时间了,但是之前的发展没有教导或提出任何解决方案,这样,对这些问题的解决方案长期困扰着本领域的技术人员。


【发明内容】

[0009]本发明提供视频编码系统的操作的方法,该方法包括:接收视频比特流;识别视频比特流的语法类型;针对语法类型从视频比特流提取视频语法;以及基于视频语法来形成用于在装置上显示的视频流。
[0010]本发明提供视频编码系统,该视频编码系统包括:用于接收视频比特流的接收模块;用于从视频比特流识别语法类型的耦接到接收模块的获取类型模块(get typemodule);用于针对语法类型从视频比特流提取视频语法的耦接到获取类型模块的获取语法模块;以及用于基于视频语法和视频比特流来形成用于在装置上显示的视频流的耦合到获取语法模块的解码模块。
[0011]本发明的某些实施例具有除了上面提到的或者代替上面提到的方面的其它方面。通过在参考附图时阅读下面的详细描述,这些方面对本领域技术人员来说将变得显而易见。

【专利附图】

【附图说明】
[0012]图1是本发明的实施例中的视频编码系统的框图。
[0013]图2是高级视频编码(AVC)视频可用性信息(VUI)语法的例子。
[0014]图3是可伸缩视频编码(Scalable Video Coding) (SVC) VUI语法的例子。
[0015]图4是SVC VUI语法扩展的例子。
[0016]图5是多视点视频编码(MVC) VUI语法的例子。
[0017]图6是MVC VUI语法扩展的例子。
[0018]图7是多视点视频+深度(MVD) VUI语法的例子。
[0019]图8是MVD VUI语法扩展的例子。
[0020]图9是立体视频(SSV) VUI语法扩展的例子。
[0021]图10是视频编码系统的功能框图。
[0022]图11是视频编码系统的控制流程。
[0023]图12是在本发明的另一个实施例中的视频编码系统的操作方法的流程图。

【具体实施方式】
[0024]对下列实施例进行足够详细的描述,以使得本领域技术人员能够制造和使用本发明。应当理解,其它实施例明显地是基于本公开,并且在不脱离本发明的范围的情况下,可以进行处理或机械的改变。
[0025]在下面的描述中,给出大量的具体细节,以提供对本发明透彻的理解。但是,显然,本发明可以在没有这些具体细节的情况下被实践。为了避免使本发明模糊,某些众所周知的电路、系统配置和处理步骤不作详细公开。
[0026]同样地,示出本系统的实施例的示图是半示意性的,并且未按比例绘制,尤其是,在绘制附图时,某些尺度是为了清晰呈现并且被大幅地放大了。在为了对其图示、描述和理解的简单明了而公开和描述了具有某些共同特征的多个实施例的情况中,彼此相似或相同的特征通常将使用相同的附图标记来描述。
[0027]术语“语法”是指描述数据结构的元素集。根据使用的上下文,在本发明中,在本文中提及的术语“模块”包括软件、硬件或其组合。
[0028]现在参考图1,其中示出本发明的实施例中的视频编码系统100的框图。视频编码器102可以接收视频内容108并将视频比特流110发送到用于解码的视频解码器104,并在显示接口 120上显示。
[0029]视频编码器102可以接收并编码视频内容108。视频编码器102是用于将视频内容108编码为不同形式的单元。视频内容108被定义为物体的场景的可视化表示。
[0030]编码被定义为在计算上将视频内容108修改为不同形式。例如,编码可以将视频内容108压缩为视频比特流110以降低发送视频比特流110所需的数据量。
[0031]在另一个例子中,视频内容108可以通过被压缩、可视化增强、分成一个或多个视点、改变分辨率、改变纵横比、或其组合来编码。在另一个示例性实施例中,视频内容108可以根据高效视频编码(HEVC) /H.265来编码。
[0032]视频编码器102可以对视频内容108进行编码以形成视频比特流110。视频比特流110定义了表不与视频内容108相关联的彳目息的位序列。例如,视频比特流110可以是表示视频内容108的压缩实例的位序列。
[0033]视频编码器102可以以各种方式接收关于场景的视频内容108。例如,表示真实世界中的物体的视频内容108可以使用摄像机、多个照相机捕获,使用计算机生成,作为文件提供,或者是其组合。
[0034]视频内容108可以支持各种视频特征。例如,视频内容108可以包括:单视点视频、多视点视频、立体视频或其组合。在另外的例子中,视频内容108可以是四个或更多照相机的多视点视频,以支持无三维(3D)眼镜的3D视频观看。
[0035]视频编码器102可以使用视频语法114来对视频内容108进行编码以生成视频比特流110。视频语法114被定义为描述用于对视频内容108进行编码和解码的编码方法的信息元素集。视频比特流110符合诸如高效视频编码/H.265标准的视频语法114,并且可以包括:HEVC视频比特流、超高清晰度视频比特流或其组合。
[0036]视频比特流110可以包括表示视频内容108的图像的信息以及与视频内容108的编码有关的相关控制信息。例如,视频比特流110可以包括视频语法114的实例和视频内容108的实例。
[0037]视频编码系统100可以包括用于对视频比特流110进行解码的视频解码器104。视频解码器104被定义为用于接收视频比特流110并修改视频比特流110以形成视频流112的单元。
[0038]视频解码器104可以使用视频语法114对视频比特流110进行解码以形成视频流112。解码被定义为在计算上修改视频比特流110以形成视频流112。例如,解码可以对视频比特流110进行解压缩,以形成用于在智能电话显示器上显示的格式化的视频比特流112。
[0039]视频比特流112被定义为视频内容108的计算上修改的版本。例如,视频流112可以包括具有不同性质的视频内容108的修改实例。视频流112可以包括来自视频内容108的剪切的解码图片。
[0040]在另一个实施例中,视频流112可以具有与视频内容108相比不同的分辨率、不同的纵横比、不同的帧率、不同的立体视点、不同的观看顺序、或者其组合。视频流112可以具有不同的可视化性质,不同的可视化性质包括不同的颜色参数、色平面、对比度、色调或其组合。
[0041]视频编码系统100可以包括显示处理器118。显示处理器118可以从视频解码器104接收用于在显示接口 120上显示的视频流112。显示接口 120是可以呈现视频流112的可视化表示的单元。例如,显示接口 120可以包括智能电话显示器、数字投影仪、DVD播放器显示器、或其组合。
[0042]视频编码器102可以将视频比特流110经由通信路径106发送到视频解码器104。通信路径106可以是各种网络。
[0043]例如,通信路径106可以包括无线通信、有线通信、光学通信、超声波通信、或其组合。卫星通信、蜂窝通信、蓝牙、红外数据协会标准(IrDA)、无线保真(WiFi)、以及微波接入全球互通(WiMAX)是可以被包括在通信路径106中的无线通信的例子。以太网、数字用户线(DSL)、光纤到家(FTTH)、以及普通老式电话服务(POTS)是可以被包括在通信路径106中的有线通信的例子。
[0044]视频编码系统100可以米用各种视频编码标准。例如,视频编码系统100可以使用高效视频编码/H.265工作草案版本来对视频信息进行编码和解码。HEVC草案版本在通过引用包括在本文中的文献中进行描述。通过引用并入的文献包括:
[0045]B.Boss, ff.Han, J Ohm, G.Sullivan, T.ffiegand, “WD4Working Draft4ofHigh-Efficiency Video Coding”,JCTVC_F803dl,July2011 (Torino).
[0046]M.Haque, A.Tabatabai, T.Suzuki, “On VUI syntax parameters”,JCTVC-F289, July2011(Torino).
[0047]M.Haque, K.Sato, A.Tabatabai,T.Suzuki,"HEVC VUI Parameters withExtens1n Hooks", JCTVC-J0270, July2012(Stockholm).
[0048]M.Haque, K.Sato, A.Tabatabai, T.Suzuki, ^Simplificat1ns of HRD parametersfor Temporal Scalability", JCTVC-J0272, July2012(Stockholm).
[0049]M.Haque, K.Sato, A.Tabatabai, T.Suzuki, 〃A simple ordering issue for VUIparameters syntax", JCTVC-J0273, July2012(Stockholm).
[0050]B.Boss, ff.Han, J Ohm, G.Sullivan, T.ffiegand, ^High-Efficiency VideoCoding(HEVC)text specificat1n draft8”,JCTVC-J1003d7, July2012(Stockholm).
[0051]视频比特流110可以包括由语法类型132所指示的各种视频类型。语法类型132被定义为用于对视频比特流110进行编码和解码的视频编码的指示器(indicator)。例如,视频内容108可以包括用于高级视频编码122、可伸缩视频编码124、多视点视频编码126、多视点视频+深度视频128以及立体视频130的语法类型132。
[0052]高级视频编码和可伸缩视频编码可以被用于对基于单视点的视频进行编码,以形成视频比特流110。基于单视点的视频可以包括由单个照相机生成的视频内容108。
[0053]多视点视频编码、多视点视频+深度以及立体视频可以被用于对具有两个以上的视点的视频内容108进行编码。例如,多视点视频可以包括来自多个照相机的视频内容108。
[0054]视频语法114可以包括条目标识符(entry identifier) 134。条目标识符134是用于区分多个编码视频序列的值。编码视频序列可以包括视频内容108的实例,其具有不同的比特率、帧率、分辨率,或者用于单视点视频、多视点视频或立体视频的可伸缩层。
[0055]视频语法114可以包括条目计数136,其用于识别与视频内容108中的每个帧相关联的条目的数量。条目计数136是表示在视频内容108中的条目的最大数量。
[0056]视频语法114可以包括迭代标识符138。迭代标识符138是区分视频内容108的各个迭代之间的值。
[0057]视频语法114可以包括迭代计数140。迭代计数140是指示视频内容108的迭代的最大数量的值。
[0058]对于可伸缩视频编码,术语“迭代计数”可以被用于指示在可伸缩视频编码的情况中与不同的可伸缩视频层连接的信息条目的数量。对于多视点视频编码,迭代计数可以被用于指示与视频内容108的视点数量连接的操作点的数量。
[0059]例如,在可伸缩视频编码中,视频内容108可以被编码为包括具有额外的增强层的基本层,以形成视频比特流110的多层实例。该基本层可以具有最低的分辨率、帧率或质量。
[0060]该增强层可以包括用来提高视频的质量的具有额外的剩余信息(left-overinformat1n)的逐步精细化。可伸缩视频层扩展可以包括HEVC的新的基线标准,其可以被扩展为覆盖可伸缩视频编码。
[0061]视频语法114可以包括操作标识符142。操作标识符142是区分视频内容108的各个操作点之间的值。操作点是针对多视点视频编码呈现的信息条目,诸如:定时信息、网络抽象层(NAL)假想参考解码器(HRD)参数、视频编码层(VCL)HRD参数、pic_struct_present_flag元素、或其组合。
[0062]视频语法114可以包括操作计数144。操作计数144是指示视频内容108的操作的最大数量的值。
[0063]操作点与针对多视点和3D视频由各种视点(例如,由不同照相机生成的视点)生成编码的视频序列连接。对于多视点视频编码,操作点与具有目标输出视点以及依赖于该目标输出视点的其它视点的视频比特流110的子集相关联。如果其它视点是使用子比特流提取处理推导出的,那么其依赖于目标输出视点。多于一个的操作点可以与相同的视频比特流110的子集相关联。例如,对操作点进行解码指对对应于该操作点的视频比特流的子集以及作为用于在装置102上显示的视频流112的一部分的目标输出视点的后续输出进行解码。
[0064]视频语法114可以包括视点标识符146。视点标识符146是区分视频内容108的各个视点之间的值。
[0065]视频语法114可以包括视点计数148。视点计数148是指示视频内容108的视点的最大数量的值。
[0066]例如,单视点可以是由单个照相机生成的视频。多视点视频可以是由置于不同的位置并且离场景中要被观看的物体的不同距离处的多个照相机生成。
[0067]视频内容108可以包括各种视频特性。例如,视频内容108可以是高分辨率视频,诸如超高清晰度视频。视频内容108可以具有3840X2160或更高的分辨率,包括:680X4320、8KX2K、4KX2K、或其组合的分辨率。尽管视频内容108支持高分辨率视频,但是应当理解,视频内容108也可以支持较低的分辨率,诸如高清晰度(HD)视频。视频语法114可以支持视频内容108的分辨率。
[0068]视频内容108可以支持各种帧率,所述帧率包括24帧每秒(fps)、25fps、50fps、60fps和120fps。尽管描述了各个帧率,但是应当理解,视频内容108可以支持固定的和可变的零帧每秒或更高的合理的帧率。视频语法114可以支持视频内容108的帧率。
[0069]现在参考图2,其中示出高级视频编码(AVC)视频可用性信息(VUI)语法202的例子。AVC VUI语法202描述了针对HEVC的图1的视频语法114的配置元素。
[0070]AVC VUI语法202包括如图2的AVC VUI语法表中所描述的元素。AVC VUI语法202的元素以如图2的AVC VUI语法表中所描述的分层结构来布置。
[0071]AVC VUI语法202包括支持针对HEVC的视频可用性信息的处理的各种元素。该处理被定义为基于视频语法114来修改视频信息。例如,该处理可以包括分别对图1的视频内容108和图1的视频比特流110进行编码或解码。
[0072]AVC VUI 语法 202 包括 AVC VUI 语法头 204,诸如 vui_parameters 元素。AVC VUI语法头204是用于识别AVC VUI语法202的描述符。AVC VUI语法202被用来对针对AVC的视频比特流110进行编码和解码。
[0073]AVC VUI语法可以包括诸如max_bits_per_cu_denom元素的编码单元206,以指示每个编码单元的最大位数。编码单元206是用于视频比特流110的压缩的视频内容108的一个图像的矩形区域。max_bits_per_cu_denom消息可以替换AVC VUI中的max_bits_per_mb_denom 消息。
[0074]已经发现使用AVC VUI语法202对视频内容108进行编码和解码可以降低视频比特流110的大小,并降低对视频缓冲的需求。降低视频比特流110的大小提高了功能性并且提高了图1的视频流120的显示性能。
[0075]现在参考图3,其中示出可伸缩视频编码(SVC) VUI语法302的例子。SVC VUI语法302能够使图1的视频比特流110的实例被以不同的帧率、空间分辨率或质量等级来使用。
[0076]SVC VUI语法302包括如图3的SVC VUI语法表中所描述的元素。SVC VUI语法302的元素以如图3的表中所描述的分层结构来布置。
[0077]SVC VUI 语法 302 包括 SVC VUI 语法头 304,诸如 svc_vui_parameters_extens1ns元素。SVC VUI语法头304是用于识别SVC VUI语法302的描述符。SVC VUI语法302被用来对针对SVC的视频比特流110进行编码和解码。
[0078]SVC VUI语法302可以包括诸如max_bits_per_cu_denom元素的图2的编码单元206,以指示每个编码单元的最大位数。max_bits_per_cu_denom消息可以替换ADC VUI中的 max_bits_per_mb_denom 消息。
[0079]SVC VUI语法302可以包括条目标识符134,诸如元素[i]。SVC VUI语法302可以包括用于识别与图1的视频内容108中的每个帧相关联的条目的数量的条目计数136,诸如vui_ext_num_entries_minusl元素。条目计数136指示条目的数量-1,以将条目计数136映射到0?条目的数量-1。
[0080]已经发现,通过包括针对由vui_ext_num_entries_minusl元素定义的每个条目的 vui_ext_dependency_id 兀素、vui_ext_quality_id 兀素和 vui_temporal_id 兀素,SVCWI语法302能够实现视频可伸缩性。基于针对每个条目的元素的值,可以实现空间可伸缩性、时间可伸缩性和质量可伸缩性。
[0081]已经发现使用SVC VUI语法302对视频内容108进行编码和解码可以降低视频比特流110的大小,并降低对视频缓冲的需求。降低视频比特流110的大小提高了功能性并且提高了图1的视频流112的显示性能。
[0082]现在参考图4,其中示出SVC VUI语法扩展402的例子。SVC VUI语法扩展402包括针对用于HEVC的高级视频编码和可伸缩视频编码的描述性视频信息。
[0083]SVC WI语法扩展402包括如图4的SVC WI语法扩展表中所描述的元素。SVCVUI语法扩展402的元素以如图4的SVC VUI语法扩展表中所描述的分层结构来布置。
[0084]SVC VUI语法扩展402包括SVC VUI语法扩展头404,诸如vui_parameters元素。SVC WI语法扩展头404是用于识别SVC WI语法扩展402的描述符。SVC WI语法扩展402被用来对针对SVC的图1的视频比特流110进行编码和解码。
[0085]SVC VUI语法扩展402可以包括诸如svc_mvc_f lag元素的类型指示器406,其用于识别用于视频比特流110的编码的类型。例如,类型指示器406可以表示使用0来指示AVC并使用1来指示SVC的编码的类型。
[0086]SVC VUI语法扩展402可以包括用于识别与图1的视频内容108中的每个帧相关联的条目的数量的图1的条目计数136,诸如num_entries_minusl元素。条目计数136指示条目的数量-1,以将条目计数136映射到0?条目的数量-1。
[0087]例如,条目计数136可以表示与视频内容108的立体实例相关联的条目的数量。条目计数136可以具有指示两个图像与每个帧相关联的1的值,以及,表示每一帧只有单个图像的视频比特流110的0的值。
[0088]SVC VUI语法扩展402可以包括诸如temporal_id元素的时间标识符410,以指示在视频内容108中的时间层的最大数量。SVC WI语法扩展402可以包括诸如cbpendency_id元素的依赖性标识符412,以指示图像间的空间依赖性。SVC WI语法扩展402可以包括诸如quality_id元素的质量标识符414,以指示质量级别标识符。
[0089]dependency_id元素和quality_id元素可以连接在一起以指示针对用于HEVC的SVC VUI语法扩展402中的编码视频序列的每个子集的DQID (数据质量标识)的最大值。DQID的最大值是通过将dependency_id元素和quality_id元素相加计算得到的。
[0090]已经发现,使用SVC VUI语法扩展402来对视频比特流110进行编码和解码提高了视频显示质量、可伸缩性和可靠性。使用temporal_id、dependency_id和quality_id来识别和链接多个图像限定了图像间的关系,从而提高了视频显示的质量。
[0091]已经发现,使用SVC VUI语法扩展402对视频内容108进行编码和解码可以降低视频比特流110的大小,并降低对视频缓冲的需求。降低视频比特流110的大小提高了功能性并且提高了图1的视频流120的显示性能。
[0092]现在参考图5,其中示出多视点视频编码(MVC) VUI语法502的例子。MVC VUI语法502包括用于对具有多视点视频信息的图1的视频内容108进行编码和解码的描述性信肩、Ο
[0093]MVC VUI语法502包括如图5的MVC VUI语法表中所描述的元素。MVC VUI语法502的元素以如图5的MVC VUI语法表中所描述的分层结构来布置。
[0094]MVC VUI 语法 502 包括 MVC VUI 语法头 504,诸如 mvc_vui_parameters_extens1n元素。MVC VUI语法头504是用于识别针对HEVC的MVC VUI语法502的描述符。MVC VUI语法502被用来对针对MVC的图1的视频比特流110进行编码和解码。
[0095]多视点视频编码是为了能够对视频比特流110的单个压缩实例内的多个视频序列进行有效的编码和解码。MVC可以被用于对立体视频以及其它类型的三维(3D)视频进行编码。
[0096]MVC VUI语法502可以包括诸如vui_mvc_num_ops_minusl元素的图1的操作计数144,以识别在视频比特流110中的操作的总数。vui_mvc_num_ops_minusl指定了针对多视点视频编码呈现的用于信息条目的操作点的数量,所述信息条目诸如为:定时信息、NALHRD 参数、VCL HRD 参数、pic_struct_present_f lag 元素、或其组合。MVC VUI 语法 502 可以包括图1的操作标识符142,诸如计数器[i]。
[0097]已经发现使用MVC VUI语法502对视频内容108进行编码和解码可以降低视频比特流110的大小,并降低对视频缓冲的需求。降低视频比特流110的大小提高了功能性并且提高了图1的视频流112的显示性能。
[0098]现在参考图6,其中示出MVC VUI语法扩展602的例子。MVC VUI语法扩展602是高级视频编码、可伸缩视频编码和多视点视频编码元素的组合。
[0099]MVC VUI语法扩展602包括如图6的MVC VUI语法扩展表中所描述的元素。MVCVUI语法扩展602的元素以如图6的MVC VUI语法扩展表中所描述的分层结构来布置。
[0100]MVC VUI 语法扩展 602 包括 MVC 扩展头 604,诸如 vui_parameters 元素。MVC VUI语法扩展602是用于识别针对HEVC的MVC VUI语法扩展602的描述符。MVC VUI语法扩展602被用来对针对AVC、SVC和MVC视频的图1的视频比特流110进行编码和解码。
[0101]MVC WI语法扩展602可以包括诸如svc_mvc_flag元素的图4的类型指示器406,其用于识别用于视频比特流110的编码的类型。例如,类型指示器406可以表示使用0的值来指示AVC、使用1的值来指示SVC以及使用2的值来指示MVC的编码的类型。
[0102]MVC VUI语法扩展602可以包括用于区别多个编码视频序列之间的迭代标识符138。MVC VUI语法扩展602可以包括用于识别与图1的视频内容108中的每个帧相关联的迭代的数量的迭代计数140,诸如num_iterat1ns_minusl元素。每个迭代都可以表示多个可伸缩视频层扩展的其中之一。迭代计数140指示迭代的数量-1,以映射从0到迭代数量-1的迭代范围。
[0103]对于SVC视频,num_iterat1ns_minusl元素指示用于多个可伸缩视频层扩展的多个迭代。对于MVC视频,num_iterat1ns_minusl元素指示用于多视点视频的多个操作点。
[0104]MVC VUI语法扩展602可以包括视点标识符146,诸如view_id元素。视点标识符146是识别用于显示视频内容108的多视点配置内的视点的值。
[0105]已经发现,使用MVC VUI语法扩展602来对视频比特流110进行编码和解码提高了视频显示质量、可伸缩性和可靠性。使用temporal_id、dependency_id和quality_id来识别和链接来自多个视点的多个图像限定了图像间的关系,从而提高了视频显示的质量。
[0106]已经发现,使用MVC VUI语法扩展602对视频内容108进行编码和解码可以降低视频比特流110的大小,并降低对视频缓冲的需求。降低视频比特流110的大小提高了功能性并且提高了图1的视频流112的显示性能。
[0107]现在参考图7,其中示出多视点视频+深度(MVD)VUI语法702的例子。MVD VUI语法702包括用于对具有三维视频(3DV)信息和可伸缩视频编码信息的图1的视频内容108进行编码和解码的描述性信息。
[0108]MVD VUI语法702包括如图7的MVD VUI语法表中所描述的元素。MVD VUI语法702的元素以如图7的MVD VUI语法扩展表中所描述的分层结构来布置。
[0109]MVD VUI 语法 702 包括 MVD VUI 头 704,诸如 mvd_vui_parameters_extens1n 兀素。MVD头704是用于识别针对HEVC的MVD VUI语法702的描述符。MVD VUI语法702被用来对图1的视频比特流110进行编码和解码。
[0110]MVC VUI语法702可以包括诸如vui_mvd_num_ops_minusl元素的图1的操作计数144,以识别在视频比特流110中的操作的总数。MVD VUI语法702可以包括图1的操作标识符142,诸如计数器[i]。
[0111]MVD VUI 语法 702 可以包括诸如 vui_mvd_num_target_output_views_minusl 兀素的视点计数148,以识别在多视点配置中的视点。MVD WI语法702可以包括视点标识符146,诸如 vui_mvd_view_id 兀素。
[0112]已经发现,通过使得能够以具有同时显示的多于一个的视点的多视点配置来显示图1的视频流112,MVD WI语法702提供提高的功能性和改进的性能。通过识别视点计数148视点的多视点配置中的视点的视点标识符146,MVD VUI语法702能够实现降低了开销的多视点功能。
[0113]已经发现,使用MVD VUI语法702对视频内容108进行编码和解码可以降低视频比特流110的大小,并降低对视频缓冲的需求。降低视频比特流110的大小提高了功能性并且提高了图1的视频流112的显示性能。
[0114]现在参考图8,其中示出MVD VUI语法扩展802的例子。MVD VUI语法扩展802是高级视频编码、可伸缩视频编码、多视点视频编码元素和多视点视频+深度元素的组合。
[0115]MVD VUI语法扩展802包括如图8的MVD VUI语法扩展表中所描述的元素。MVDVUI语法扩展802的元素以如图8的MVD VUI语法扩展表中所描述的分层结构来布置。
[0116]MVD VUI语法扩展802包括MVD扩展头804,诸如vui_parameters元素。MVD扩展头804是用于识别针对HEVC的MVD VUI语法扩展802的描述符。MVD VUI语法扩展802被用来对针对AVC、SVC、MVC和MVD视频的图1的视频比特流110进行编码和解码。
[0117]MVD WI语法扩展802可以包括诸如svc_mvc_flag元素的图4的类型指示器406,其用于识别用于视频比特流110的编码的类型。例如,类型指示器406可以表示使用0的值来指示AVC、使用1的值来指示SVC、使用2的值来指示MVC以及使用3的值来指示MVD的编码的类型。
[0118]MVD VUI语法扩展802可以包括图1的迭代标识符138。MVD VUI语法扩展802可以包括用于识别与视频比特流110相关联的迭代的数量的迭代计数140,诸如num_iterat1ns_minusl兀素。num_iterat1ns_minusl兀素可以代替其它编石马语法中的其它兀素,诸如:用于 SVC 的 vui_ext_num_entries_minusl、用于 MVC 的 vui_mvc_num_ops_minus 1、以及用于 MVD 的 vui_mvd_num_ops_minusl。
[0119]迭代计数140可以对迭代的数量-1进行编码,以映射从0到迭代数量-1的迭代范围。例如,对于MVD视频,迭代计数140指示针对多视点和深度视频的多个操作点。
[0120]MVD VUI 语法扩展 802 可以包括诸如 num_target_output_views_minusl 兀素的图1的视点计数148,以识别在多视点配置中每个迭代的视点。MVD WI语法扩展802可以包括诸如view_id元素的图1的视点计数146,用于识别在多视点视频信息中的每个视点。
[0121]已经发现,使用MVD VUI语法扩展802来对视频比特流110进行编码和解码提高了视频显示质量、可伸缩性和可靠性。使用temporal_id、dependency_id和quality_id来识别和链接来自多个视点的多个图像限定了图像间的关系,从而提高了视频显示的质量。
[0122]已经发现,使用图6的MVC VUI语法扩展602对图1的视频内容108进行编码和解码可以降低视频比特流110的大小,并降低对视频缓冲的需求。降低视频比特流110的大小提高了功能性并且提高了图1的视频流112的显示性能。
[0123]现在参考图9,其中示出立体视频(SSV) VUI语法扩展902的例子。SSV VUI语法扩展902是高级视频编码、可伸缩视频编码、多视点视频编码和立体视频元素的组合。SSVVUI语法扩展902可以被用于对左右立体视点视频进行编码和解码。
[0124]SSV VUI语法扩展902包括如图9的SSV VUI语法扩展表中所描述的元素。SSVVUI语法扩展902的元素以如图9的SSV VUI语法扩展表中所描述的分层结构来布置。
[0125]SSV WI语法扩展902包括SSV扩展头904,诸如vui_parameters元素。SSV扩展头904是用于识别针对HEVC的SSV VUI语法扩展902的描述符。SSV VUI语法扩展902被用来对针对SSV视频的图1的视频比特流110进行编码和解码。
[0126]SSV WI语法扩展902可以包括诸如svc_mvc_flag元素的图4的类型指示器406,其用于识别用于视频比特流110的编码的类型。例如,类型指示器406可以表示使用0的值来指示AVC并使用1的值来指示SSV的编码的类型。
[0127]SSV VUI语法扩展902可以包括诸如param_one_id元素的第一上下文指示器906和诸如param_tw0_id元素的第二上下文指示器908。术语“第一和第二”用来区分上下文指示器,并不意味着任何顺序、等级、重要性或其它特性。
[0128]第一上下文指示器906可以包括依赖于被执行的视频编码的类型的不同信息。例如,param_one_id元素可以表示用于SVC的dependency_id元素和用于SSV的left_view_id。
[0129]第二上下文指示器908可以包括依赖于被执行的视频编码的类型的不同信息类型。例如,param_two_id元素可以表示用于SVC的quality_id元素和用于SSV的right_view_icL
[0130]已经发现,使用SSV VUI语法扩展902来对视频比特流110进行编码和解码提高了立体视频的视频显示质量、可伸缩性和可靠性。使用第一上下文指示器906和第二上下文指示器908来识别用于立体视频的可伸缩因素提高了视频比特流110的质量。
[0131 ] 已经发现,使用SSV VUI语法扩展902对图1的视频内容108进行编码和解码可以降低视频比特流110的大小,并降低对视频缓冲的需求。降低视频比特流110的大小提高了功能性并且提高了图1的视频流112的显示性能。
[0132]现在参考图10,其中示出视频编码系统100的功能性框图。视频编码系统100可以包括第一装置102、第二装置104和通信路径106。
[0133]第一装置102可以通过通信路径106与第二装置104通信。第一装置102可以通过通信路径106将第一装置传输1032中的信息发送到第二装置104。第二装置104可以通过通信路径106将第二装置传输1034中的信息发送到第一装置102。
[0134]出于图示的目的,以第一装置102作为作为客户端装置示出视频编码系统100,尽管应当理解视频编码系统100可以具有作为不同类型的装置的第一装置102。例如,第一装置可以是服务器。在另一个例子中,第一装置102可以是视频编码器102、视频解码器104、或其组合。
[0135]此外,出于图示的目的,以第二装置104作为作为服务器示出视频编码系统100,尽管应当理解视频编码系统100可以具有作为不同类型的装置的第二装置104。例如,第二装置104可以是客户端装置。在另一个例子中,第二装置104可以是视频编码器102、视频解码器104、或其组合。
[0136]为了本发明的本实施例的描述的简要,第一装置102将被描述为客户端装置,诸如摄像机、智能电话、或其组合。本发明并不受限于对装置类型的这种选择。这种选择是本发明的例子。
[0137]第一装置102可以包括第一控制单元1008。第一控制单元1008可以包括第一控制接口 1014。第一控制单元1008可以执行第一软件1012以提供视频编码系统100的智倉泛。
[0138]第一控制单元1008可以以大量不同的方式来实现。例如,第一控制单元1008可以是处理器、嵌入式处理器、微处理器、硬件控制逻辑、硬件有限状态机器(FSM)、数字信号处理器(DSP)或其组合。
[0139]第一控制接口 1014可以被用于第一控制单元1008与第一装置102中的其它功能单元之间的通信。第一控制接口 1014还可以被用于第一装置102以外的通信。
[0140]第一控制接口 1014可以接收来自其它功能单元或来自外部源的信息,或者可以将信息发送到其它功能单元或外部目的地。外部源和外部目的地指在第一装置102以外的源和目的地。
[0141]第一控制接口 1014可以以不同的方式来实现,并且可以包括取决于哪些功能单元或外部单元与第一控制接口 1014连接的不同的实现方式。例如,第一控制接口 1014可以使用电学电路系统、微电子机械系统(MEMS)、光学电路系统、无线电路系统、有线电路系统、或其组合来实现。
[0142]第一装置102可以包括第一存储单元1004。第一存储单元1004可以存储第一软件1012。第一存储单元1004还可以存储相关信息,诸如图像、语法信息、视频、地图、轮廓、显示偏好、传感器数据、或其任意组合。
[0143]第一存储单元1004可以是易失性存储器、非易失性存储器、内部存储器、外部存储器、或其组合。例如,第一存储单元1004可以是诸如非易失性随机存取存储器(NVRAM)、闪存、盘存储器的非易失性存储,或者诸如静态随机存取存储器(SRAM)的易失性存储。
[0144]第一存储单元1004可以包括第一存储接口 1018。第一存储接口 1018可以被用于第一存储单元1004与第一装置102中的其它功能单元之间的通信。第一存储接口 1018还可以被用于第一装置102以外的通信。
[0145]第一装置102可以包括第一成像单元1006。第一成像单元1006可以从真实世界捕获视频内容108。第一成像单元1006可以包括:数字照相机、摄像机、光学传感器、或其组合。
[0146]第一成像单元1006可以包括第一成像接口 1016。第一成像接口 1016可以被用于第一成像单元1006与第一装置102中的其它功能单元之间的通信。
[0147]第一成像接口 1016可以接收来自其它功能单元或来自外部源的信息,或者可以将信息发送到其它功能单元或外部目的地。外部源和外部目的地指在第一装置102以外的源和目的地。
[0148]第一成像接口 1016可以包括取决于哪些功能单元或外部单元与第一成像单元1006连接的不同的实现方式。第一成像接口 1016可以使用类似于实现第一控制接口 1014的技术和工艺来实现。
[0149]第一存储接口 1018可以接收来自其它功能单元或来自外部源的信息,或者可以将信息发送到其它功能单元或外部目的地。外部源和外部目的地指在第一装置102以外的源和目的地。
[0150]第一存储接口 1018可以包括取决于哪些功能单元或外部单元与第一存储单元1004连接的不同的实现方式。第一存储接口 1018可以使用类似于实现第一控制接口 1014的技术和工艺来实现。
[0151]第一装置102可以包括第一通信单元1010。第一通信单元1010可以用于使得第一装置102能够与外部通信。例如,第一通信单元1010可以允许第一装置102与第二装置104、诸如外围装置或计算机桌面的附件、以及通信路径106进行通信。
[0152]第一通信单元1010还可以充当通信集线器,其允许第一装置102充当通信路径106的一部分,并且并不限于通信路径106的终端单元或终点。第一通信单元1010可以包括用于与通信路径106交互的有源和无源部件,诸如微电子装置或天线。
[0153]第一通信单元1010可以包括第一通信接口 1020。第一通信接口 1020可以被用于第一通信单元1010与第一装置102中的其它功能单元之间的通信。第一通信接口 1020可以接收来自其它功能单元的信息,或者可以将信息发送到其它功能单元。
[0154]第一通信接口 1020可以包括取决于哪些功能单元与第一通信单元1010连接的不同的实现方式。第一通信接口 1020可以使用类似于实现第一控制接口 1014的技术和工艺来实现。
[0155]第一装置102可以包括第一用户接口 1002。第一用户接口 1002允许用户(未示出)与第一装置102连接和交互。第一用户接口 1002可以包括第一用户输入(未示出)。第一用户输入可以包括:触摸屏、手势、运动检测、按钮、滑块、旋钮、虚拟键盘、声音识别控制、或其任意组合。
[0156]第一用户接口 1002可以包括第一显示接口 120。第一显示接口 120可以允许用户与第一用户接口 1002交互。第一显示接口 120可以包括:显示器、视频屏幕、扬声器、或其任意组合。
[0157]第一控制单元1008可以使用第一用户接口 1002进行操作,以将由视频编码系统100生成的视频信息显示在第一显示接口 120上。第一控制单元1008还可以执行用于视频编码系统100的其它功能的第一软件1012,其包括从第一存储单元1004接收用于在第一显示接口 120上显示的视频信息。第一控制单元1008可以进一步执行第一软件1012,以便经由第一通信单元1010与通信路径106进行交互。
[0158]出于图示的目的,第一装置102可以被分区为具有第一用户接口 1002、第一存储单元1004、第一控制单元1008、以及第一通信单元1010,尽管应当理解第一装置102可以具有不同的分区。例如,第一软件1012可以被不同地分区,从而使得其功能中的一些或全部可以在第一控制单元1008和第一通信单元1010中。此外,为了简要,第一装置102可以包括在图10中未示出的其它功能单元。
[0159]视频编码系统100可以包括第二装置104。第二装置104可以被优化,以在具有第一装置102的多装置实施例中实现本发明。第二装置104可以提供额外的或者与第一装置102相比更高性能的处理能力。
[0160]第二装置104可以包括第二控制单元1048。第二控制单元1048可以包括第二控制接口 1054。第二控制单元1048可以执行第二软件1052以提供视频编码系统100的智倉泛。
[0161]第二控制单元1048可以以大量不同的方式来实现。例如,第二控制单元1048可以是处理器、嵌入式处理器、微处理器、硬件控制逻辑、硬件有限状态机器(FSM)、数字信号处理器(DSP)或其组合。
[0162]第二控制接口 1054可以被用于第二控制单元1048与第二装置104中的其它功能单元之间的通信。第二控制接口 1054还可以被用于第二装置104以外的通信。
[0163]第二控制接口 1054可以接收来自其它功能单元或来自外部源的信息,或者可以将信息发送到其它功能单元或外部目的地。外部源和外部目的地指在第二装置104以外的源和目的地。
[0164]第二控制接口 1054可以以不同的方式来实现,并且可以包括取决于哪些功能单元或外部单元与第二控制接口 1054连接的不同的实现方式。例如,第二控制接口 1054可以使用电学电路系统、微电子机械系统(MEMS)、光学电路系统、无线电路系统、有线电路系统、或其组合来实现。
[0165]第二装置104可以包括第二存储单元1044。第二存储单元1044可以存储第二软件1052。第二存储单元1044还可以存储相关信息,诸如图像、语法信息、视频、地图、轮廓、显示偏好、传感器数据、或其任意组合。
[0166]第二存储单元1044可以是易失性存储器、非易失性存储器、内部存储器、外部存储器、或其组合。例如,第二存储单元1044可以是诸如非易失性随机存取存储器(NVRAM)、闪存、盘存储器的非易失性存储,或者诸如静态随机存取存储器(SRAM)的易失性存储。
[0167]第二控制单元1044可以包括第二存储接口 1058。第二存储接口 1058可以被用于第二存储单元1044与第二装置104中的其它功能单元之间的通信。第二存储接口 1058还可以被用于第二装置104以外的通信。
[0168]第二存储接口 1058可以接收来自其它功能单元或来自外部源的信息,或者可以将信息发送到其它功能单元或外部目的地。外部源和外部目的地指在第二装置104以外的源和目的地。
[0169]第二存储接口 1058可以包括取决于哪些功能单元或外部单元与第二存储单元1044连接的不同的实现方式。第二存储接口 1058可以使用类似于实现第二控制接口 1054的技术和工艺来实现。
[0170]第二装置104可以包括第二成像单元1046。第二成像单元1046可以从真实世界捕获图1的视频内容108。第二成像单元1046可以包括:数字照相机、摄像机、光学传感器、或其任意组合。
[0171]第二成像单元1046可以包括第二成像接口 1056。第二成像接口 1056可以被用于第二成像单元1046与第二装置104中的其它功能单元之间的通信。
[0172]第二成像接口 1056可以接收来自其它功能单元或来自外部源的信息,或者可以将信息发送到其它功能单元或外部目的地。外部源和外部目的地指在第二装置104以外的源和目的地。
[0173]第二成像接口 1056可以包括取决于哪些功能单元或外部单元与第二成像单元1046连接的不同的实现方式。第二成像接口 1056可以使用类似于实现第一控制接口 1014的技术和工艺来实现。
[0174]第二装置104可以包括第二通信单元1050。第二通信单元1050可以用于使得第二装置104能够与外部通信。例如,第二通信单元1050可以允许第二装置104与第一装置102、诸如外围装置或计算机桌面的附件、以及通信路径106进行通信。
[0175]第二通信单元1050还可以充当通信集线器,其允许第二装置104充当通信路径106的一部分,并且并不限于通信路径106的终端单元或终点。第二通信单元1050可以包括用于与通信路径106交互的有源和无源部件,诸如微电子装置或天线。
[0176]第二通信单元1050可以包括第二通信接口 1060。第二通信接口 1060可以被用于第二通信单元1050与第二装置104中的其它功能单元之间的通信。第二通信接口 1060可以接收来自其它功能单元的信息,或者可以将信息发送到其它功能单元。
[0177]第二通信接口 1060可以包括取决于哪些功能单元与第二通信单元1050连接的不同的实现方式。第二通信接口 1060可以使用类似于实现第二控制接口 1054的技术和工艺来实现。
[0178]第二装置104可以包括第二用户接口 1042。第二用户接口 1042允许用户(未示出)与第二装置104连接和交互。第二用户接口 1042可以包括第二用户输入(未示出)。第二用户输入可以包括:触摸屏、手势、运动检测、按钮、滑块、旋钮、虚拟键盘、声音识别控制、或其任意组合。
[0179]第二用户接口 1042可以包括第二显示接口 1043。第二显示接口 1043可以允许用户与第二用户接口 1042交互。第二显示接口 1043可以包括:显示器、视频屏幕、扬声器、或其任意组合。
[0180]第二控制单元1048可以使用第二用户接口 1042进行操作,以将由视频编码系统100生成的信息显示在第二显示接口 1043上。第二控制单元1048还可以执行用于视频编码系统100的其它功能的第二软件1052,其包括从第二存储单元1044接收用于在第二显示接口 1043上显示的显示信息。第二控制单元1048可以进一步执行第二软件1052,以便经由第二通信单元1050与通信路径106进行交互。
[0181]出于图示的目的,第二装置104可以被分区为具有第二用户接口 1042、第二存储单元1044、第二控制单元1048、以及第二通信单元1050,尽管应当理解第二装置104可以具有不同的分区。例如,第二软件1052可以被不同地分区,从而使得其功能中的一些或全部可以在第二控制单元1048和第二通信单元1050中。此外,为了简要,第二装置104可以包括在图10中未示出的其它功能单元。
[0182]第一通信单元1010可以与通信路径106耦接,以在第一装置传输1032中将信息发送到第二装置104。第二装置104可以从通信路径106的第一装置传输1032接收在第二通信单元1050中的信息。
[0183]第二通信单元1050可以与通信路径106耦接,以在第二装置传输1034中将视频信息发送到第一装置102。第一装置102可以从通信路径106的第二装置传输1034接收在第一通信单元1010中的视频信息。视频编码系统100可以由第一控制单元1008、第二控制单元1048、或其组合来执行。
[0184]在第一装置102中的功能单元可以单独地且独立于其它功能单元地工作。出于图示的目的,通过第一装置102的操作来描述视频编码系统100。应当理解,第一装置102可以操作视频编码系统100的任意模块和功能。例如,第一装置102可以被描述为操作第一控制单元1008。
[0185]在第二装置104中的功能单元可以单独地且独立于其它的功能单元地工作。出于图示的目的,通过第二装置104的操作,可以描述视频编码系统100。应当理解,第二装置104可以操作视频编码系统100的任意模块和功能。例如,第二装置104被描述为操作第二控制单元1048。
[0186]出于图示的目的,通过第一装置102和第二装置104的操作来描述视频编码系统100。应当理解,第一装置102和第二装置104可以操作视频编码系统100的任意模块和功能。例如,第一装置102被描述为操作第一控制单元1008,尽管应当理解,第二装置104也可以操作第一控制单元1008。
[0187]现在参考图11,其中示出图1的视频编码系统100的控制流程1100。控制流程1100描述了,通过接收视频比特流110、提取图1的视频语法114、对视频比特流110进行解码、以及显示图1的视频流120,对图1的视频比特流110进行解码。
[0188]视频编码系统100可以包括接收模块1102。接收模块1102可以接收由图1的视频编码器102编码的视频比特流110。
[0189]视频比特流110可以以各种方式接收。例如,视频比特流110可以从图1的视频编码器102通过图1的通信路径106,作为预编码视频文件(未示出)、以数字消息(未示出)的形式、或其组合来接收。
[0190]视频编码系统100可以包括获取类型模块1104。通过提取图1的语法类型132,获取类型模块1104可以识别用来对视频比特流110进行编码和解码的视频编码类型。
[0191]获取类型模块1104可以以各种方式检测语法类型132。通过解析来自视频比特流110的诸如SVC_mVC_flag元素的图4的类型指示器406,获取类型模块1104可以确定语法类型132。在另一个例子中,通过使用分用器(未示出)来将视频语法114从视频比特流110的视频图像数据分离,获取类型模块1104可以从视频语法114提取语法类型132,从而将从视频比特流110提取类型指示器406。
[0192]在一个示意性例子中,如果svc_mvc_flag具有0的值,那么类型指示器406被设置为AVC。如果svc_mvc_flag具有1的值,那么类型指示器406被设置为SVC。如果svc_mvc_flag元素具有2的值,那么类型指示器406被设置为MVC。
[0193]如果svc_mvc_flag元素具有3的值,那么类型指示器406被设置为MVD。如果svc_mvc_flag元素具有4的值,那么类型指示器406被设置为SSV。语法类型132被赋予从视频比特流110提取的类型指示器406的值。
[0194]视频编码系统100可以包括获取语法模块1106。获取语法模块1106可以识别和提取嵌入在视频比特流110内的视频语法114。
[0195]例如,通过在视频比特流110中搜索指示视频语法114的存在的视频可用性信息头,可以提取视频语法114。在另一个例子中,可以使用分用器(未示出)将视频语法114从视频比特流110的视频图像数据分离来提取视频语法114。在另一个例子中,通过提取序列参数集原始字节序列有效载荷(Raw Byte Sequence Payload) (RBSP)语法,可以从视频比特流110提取视频语法114。序列参数集RBSP是包含在网络抽象层单元中封装的整数个字节的语法结构。RBSP可以是空,或者可以具有一串数据位的形式,其包含后跟RBSP停止位并且后跟零或多个等于0的附加位的语法元素。
[0196]在另一个例子中,如果视频比特流110是以文件形式接收的,那么可以通过检查包含视频比特流110的文件的文件扩展名来检测视频语法114。在另一个例子中,如果视频比特流110是通过图1的通信路径106作为数字消息接收的,那么视频语法114可以作为数字消息的结构的一部分来提供。
[0197]获取语法模块1106可以基于语法类型132提取视频语法114的各个元素。获取语法模块1106可以包括AVC模块1108、SVC模块1110、MVC模块1112、MVD模块1114、以及SSV模块1116,以基于语法类型132提取视频语法114的元素。
[0198]如果语法类型132指示AVC编码,那么控制流程可以传递到AVC模块1108。AVC模块1108可以从视频语法114提取图2的AVC VUI语法202。根据图2的表格中的AVC VUI语法202的元素的定义,可以从视频语法114提取AVC VUI语法202的元素。
[0199]已经发现,根据降低的AVC WI语法202的视频可用性信息的数据覆盖区(footprint),通过对图1的视频内容108进行编码和解码,使用AVC VUI语法202提高了可靠性并且降低了开销。降低定义视频比特流110所需的数据的量提高了可靠性并降低了数据开销。
[0200]如果语法类型132指示SVC编码,那么控制流程可以传递到SVC模块1110。SVC模块1110可以从视频语法114提取图4的SVC VUI语法扩展402。根据图4的表格中的SVCVUI语法扩展402的元素的定义,可以从视频语法114提取SVC VUI语法扩展402的元素。
[0201]已经发现,根据降低的SVC VUI语法扩展402的视频可用性信息的数据覆盖区(footprint),通过对视频内容108进行编码和解码,使用SVC VUI语法扩展402提高了可靠性并且降低了开销。降低定义视频比特流110所需的数据的量提高了可靠性并降低了数据开销。
[0202]如果语法类型132指示MVC编码,那么控制流程可以传递到MVC模块1112。MVC模块1112可以从视频语法114提取图6的MVC VUI语法扩展602。根据图6的表格中的MVCVUI语法扩展602的元素的定义,可以从视频语法114提取MVC VUI语法扩展602的元素。
[0203]已经发现,根据降低的MVC VUI语法扩展602的视频可用性信息的数据覆盖区,通过对视频内容108进行编码和解码,使用MVC VUI语法扩展602提高了可靠性并且降低了开销。对于多视点视频+深度编码,降低定义视频比特流110所需的数据的量提高了可靠性并降低了数据开销。
[0204]如果语法类型132指示MVD编码,那么控制流程可以传递到MVD模块1114。MVD模块1114可以从视频语法114提取图8的MVD VUI语法扩展802。根据图8的表格中的MVDVUI语法扩展802的元素的定义,可以从视频语法114提取MVD VUI语法扩展802的元素。
[0205]已经发现,根据降低的MVD VUI语法扩展802的视频可用性信息的数据覆盖区,通过对视频内容108进行编码和解码,使用MVD VUI语法扩展802提高了可靠性并且降低了开销。对于MVD编码,降低定义视频比特流110所需的数据的量提高了可靠性并降低了数据开销。
[0206]如果语法类型132指示SSV编码,那么控制流程可以传递到SSV模块1116。SSV模块1116可以从视频语法114提取图9的SSV VUI语法扩展902。根据图9的表格中的SSVVUI语法扩展902的元素的定义,可以从视频语法114提取SSV VUI语法扩展902的元素。
[0207]已经发现,根据降低的SSV VUI语法扩展902的视频可用性信息的数据覆盖区,通过对视频内容108进行编码和解码,使用SSV VUI语法扩展902提高了可靠性并且降低了开销。对于立体视频,降低定义视频比特流110所需的数据的量提高了可靠性并降低了数据开销。
[0208]视频编码系统100可以包括解码模块1118。解码模块1118可以使用用于提取语法类型132的实例的视频语法114的元素来对视频比特流110进行解码以形成视频流112。
[0209]解码模块1118可以使用语法类型132来对视频比特流110进行解码,以确定用来形成视频比特流110的视频编码的类型。如果语法类型132指示高级视频编码,那么解码模块1118可以使用AVC VUI语法202来对视频比特流110进行解码。
[0210]如果语法类型132指示可伸缩视频编码,那么解码模块1118可以使用SVC VUI语法扩展402来对视频比特流110进行解码。SVC VUI语法扩展402可以包括具有由条目计数136指示的阵列大小的可伸缩性元素的阵列。例如,SVC WI语法扩展402可以包括temporal_id[i]、dependency_id[i]和 quality_id[i]的阵列,其中,[i]具有条目计数 136的最大值。
[0211]如果语法类型132指示多视点视频编码,那么解码模块1118可以使用MVC VUI语法扩展602来对视频比特流110进行解码。如果语法类型132指示MVC,那么MVC VUI语法扩展602可以包括View_id[i][j]的阵列,其中,[i]具有条目计数136的最大值,并且[j]具有图1的视点计数148的最大值。
[0212]如果语法类型132指示多视点视频编码+深度,那么解码模块1118可以使用MVDVUI语法扩展802来对视频比特流110进行解码。如果语法类型132指示多视点视频编码+深度,那么解码模块1118可以使用MVD VUI语法扩展802来对视频比特流110进行解码。如果语法类型132指示MVD,那么MVD VUI语法扩展802可以包括view_id[i] [j]的阵列,其中,[i]具有条目计数136的最大值,并且[j]具有视点计数148的最大值。
[0213]如果语法类型132指示SSV编码,那么解码模块1118可以使用SSV VUI语法扩展902来对视频比特流110进行解码。SSV VUI语法扩展902可以包括具有由条目计数136指示的阵列大小的可伸缩性元素的阵列。例如,SSV VUI语法扩展902可以包括temporalid[i]、param_one_id[i]和param_two_id[i]的阵列,其中,[i]具有条目计数136的最大值。
[0214]视频编码系统100可以包括显示模块1120。显示模块1120可以从解码模块1118接收视频流112并在图1的显示接口 120上显示视频流112。
[0215]从视频内容108的物理物体的光学图像到在图1的视频解码器104的显示接口120的像素元件上显示视频流112的物理变换导致在物理世界中显示接口 120的像素元件的物理变化,诸如像素元件的电状态的改变,其是基于视频编码系统100的操作。随着物理世界中的变化发生,诸如在视频内容108中捕获的物体的运动,运动本身产生了额外的信息,诸如视频内容108的更新,这被转换回为显示接口 120的像素元件的变化,用于视频编码系统100的继续操作。
[0216]第一装置102的图10的第一软件1012可以包括视频编码系统100。例如,第一软件1012可以包括接收模块1102、获取类型模块1104、获取语法模块1106、解码模块1118、以及显示模块1120。
[0217]图10的第一控制单元1008可以执行第一软件1012,以便接收模块1102接收视频比特流110。第一控制单元1008可以执行第一软件1012,以便获取类型模块1104确定视频比特流110的语法类型132。第一控制单元1008可以执行第一软件1012,以便获取语法模块1106从视频比特流110识别和提取视频语法114。第一控制单元1008可以执行第一软件1012,以便解码模块1118形成视频流112。第一控制单元1008可以执行第一软件1012,以便显示模块1120显示视频流112。
[0218]第二装置104的图10的第二软件1052可以包括视频编码系统100。例如,第二软件1052可以包括接收模块1102、获取类型模块1104、获取语法模块1106以及解码模块1118。
[0219]图10的第二控制单元1048可以执行第二软件1052,以便接收模块1102接收视频比特流110。第二控制单元1048可以执行第二软件1052,以便获取类型模块1104确定视频比特流110的语法类型132。第二控制单元1048可以执行第二软件1052,以便获取语法模块1106从视频比特流110识别和提取视频语法114。第二控制单元1048可以执行第二软件1052,以便解码模块1118形成图1的视频流112。第二控制单元1048可以执行第二软件,以便显示模块1120显示视频流112。
[0220]视频编码系统100可以在第一软件1012与第二软件1052之间分区。例如,第二软件1052可以包括获取语法模块1106、解码模块1118以及显示模块1120。如之前所描述的,第二控制单元1048可以执行在第二软件1052上分区的模块。
[0221]第一软件1012可以包括接收模块1102和获取类型模块1104。取决于图10的第一存储单元1004的大小,第一软件1012可以包括视频编码系统100的额外的模块。如之前所描述的,第一控制单元1008可以执行分区在第一软件1012上的模块。
[0222]第一控制单元1008可以操作图10的第一通信单元1010以将视频比特流110发送到第二装置104。第一控制单元1008可以操作第一软件1012,以操作图10的第一成像单元1006。图10的第二通信单元1050可以将视频流112通过通信路径106发送到第一装置 102。
[0223]视频编码系统100描述了作为例子的模块功能或顺序。这些模块可以被不同地分区。例如,获取类型模块1104、获取语法模块1106和解码模块1118可以被组合。每个模块都可以单独地且独立于其它模块地工作。
[0224]此外,在一个模块中生成的数据可以由另一个模块使用,而不必相互直接耦接。例如,获取语法模块1106可以从接收模块1102接收视频比特流110。
[0225]这些模块可以以各种方式来实现。接收模块1102、获取类型模块1104、获取语法模块1106、解码模块1118、以及显示模块1120可以作为第一控制单元1008或第二控制单元1048内的硬件加速器(未示出)来实现,或者可以作为在第一控制单元1008或第二控制单元1048外部的第一装置102或第二装置104中的硬件加速器(未示出)来实现。
[0226]现在参考图12,其中示出在本发明的另一个实施例中的图1的视频编码系统100的操作的方法1200的流程图。方法1200包括:在框1202中,接收视频比特流;在框1204中,识别视频比特流的语法类型;在框1206中,针对语法类型从视频比特流提取视频语法;以及,在框1208中,基于视频语法形成用于在装置上显示的视频流。
[0227]已经发现,本发明因而具有许多方面。本发明卓有成效地支持并服务于降低成本、简化系统并提高性能的历史趋势。因此,本发明的这些和其它的有价值的方面至少将本技术的状态向前推进到了下一个级别。
[0228]因此,已经发现,本发明的视频编码系统为对用于高清晰度应用的视频内容进行有效的编码和解码提供了重要的且至今未知的不可获得的解决方案、能力和功能方面。所得到的处理和配置是直接明了的、经济有效的、不复杂的、高度通用的、以及有效的,通过适应已知技术可以被令人惊奇地、不明显地实现,因此很容易地适合于有效地和经济地制造与传统制造工艺和技术完全兼容的视频编码装置。所得到的处理和配置是直接明了的、经济有效的、不复杂的、高度通用的、精确的、灵敏的以及有效的,并且可以通过适应已知部件来实现以便快捷、有效和经济的制造、应用和使用。
[0229]虽然已经结合具体的最佳模式描述了本发明,但是,应当理解,根据前述描述,许多替换、修改和改变对本领域技术人员来说是显而易见的。因此,本发明应当囊括所有落入附录的权利要求的范围内的这样的替换、修改和改变。迄今为止在本文中阐述或在附图中示出的所有主题都是在图示的非限制性的意义上解释的。
【权利要求】
1.一种视频编码系统(100)的操作的方法(1200),该方法包括: 接收视频比特流(I 10); 识别视频比特流(110)的语法类型(132); 针对语法类型(132 )从视频比特流(110)提取视频语法(114);以及 基于视频语法(114)来形成用于在装置(102 )上显示的视频流(112)。
2.如权利要求1所述的方法(1200),其中,提取视频语法(114)包括针对可伸缩视频编码视频可用性信息语法扩展(402)识别视频比特流(110)的语法类型(132)。
3.如权利要求1所述的方法(1200),其中,提取视频语法(114)包括针对多视点视频编码视频可用性信息语法扩展(602)识别视频比特流(110)的语法类型(132)。
4.如权利要求1所述的方法(1200),其中,提取视频语法(114)包括针对多视点视频+深度视频可用性信息语法扩展(802)识别视频比特流(110)的语法类型(132)
5.如权利要求1所述的方法(1200),其中,提取视频语法(114)包括针对立体视频可用性信息语法扩展(902)识别视频比特流(110)的语法类型(132)。
6.一种视频编码系统(100),包括: 用于接收视频比特流(I 10)的接收模块(I 102); 耦接到接收模块(1102)的获取类型模块(1104),用于从视频比特流(110)识别语法类型(132); 耦接到获取类型模块(1104)的获取语法模块(1106),用于针对语法类型(132)从视频比特流(110)提取视频语法(114);以及 耦合到获取语法模块(1106)的解码模块(1118),用于基于视频语法(114)和视频比特流(110 )来形成用于在装置(102 )上显示的视频流(112)。
7.如权利要求6所述的系统(100),其中,解码模块(1118)用于针对可伸缩视频编码视频可用性信息语法扩展(402)来识别视频比特流(110)的语法类型(132)。
8.如权利要求6所述的系统(100),其中,解码模块(1118)用于针对多视点视频编码视频可用性信息语法扩展(602)来识别视频比特流(110)的语法类型(132)。
9.如权利要求6所述的系统(100),其中,解码模块(1118)用于针对多视点加景深视频可用性信息语法扩展(802)来识别视频比特流(110)的语法类型(132)。
10.如权利要求6所述的系统(100),其中,解码模块(1118)用于针对立体视频可用性信息语法扩展(902)来识别视频比特流(110)的语法类型(132)。
【文档编号】H04N19/30GK104255034SQ201280003282
【公开日】2014年12月31日 申请日期:2012年11月7日 优先权日:2011年11月8日
【发明者】M·哈奎, A·塔巴塔贝 申请人:索尼公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1