用于视频序列编码的解码器、编码器和方法转让专利

申请号 : CN201380070683.1

文献号 : CN104937942B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 乔纳坦·萨缪尔森理卡尔德·肖伯格

申请人 : 瑞典爱立信有限公司

摘要 :

用于视频序列的编码的编码器(80)、解码器(50)和方法。编码器(80)计算(301)对先前参考图像的指示。先前参考图像具有等于0的时间标识。编码器(80)创建(302)针对先前参考图像、先前参考图像的第一参考图像集合中包括的所有参考图像、以及按照解码顺序在先前参考图像之后并且按照解码顺序在当前图像之前的所有图像的第一指示符集合。当长期参考图像具有图像顺序计数的最低有效位,并且第一集合中指示的多于一个图像与长期参考图像共享图像顺序计数的最低有效位的相同值时,编码器(80)设置(303)图像顺序计数循环的标记。解码器(50)从比特流中获得(305)针对当前图像的参考图像集合中包括的长期参考图像的图像顺序计数的最低有效位。解码器(50)获得(306)该标记。当该标记指示不使用图像顺序计数循环,并且最低有效位与多于一个参考图像相匹配时,解码器(50)断定(307)比特流是不遵从的比特流。还公开了对应的计算机程序和计算机程序产品。

权利要求 :

1.一种编码器(80)执行的用于将视频序列编码到比特流中的方法,其中所述比特流是遵从高效视频编码HEVC的比特流,其中所述方法包括,当对视频序列中的当前图像进行编码时:计算(301)针对先前参考图像的指示,其中所述先前参考图像按照解码顺序位于所述当前图像之前,其中所述先前参考图像是按照解码顺序相对于所述当前图像最接近的、具有等于0的时间标识的先前参考图像;

创建(302)针对先前图像的第一指示符集合,其中所述第一指示符集合包括:针对所述先前参考图像的指示,

针对包括在所述先前参考图像的第一参考图像集合RPS中的所有参考图像的第二指示符集合,以及针对按照解码顺序在所述先前参考图像之后并且按照解码顺序在所述当前图像之前的所有图像的第三指示符集合;以及当所述当前图像的第二RPS中的长期参考图像具有图像顺序计数的最低有效位,并且所述第一指示符集合中指示的多于一个图像与所述长期参考图像共享图像顺序计数的最低有效位的相同值时,设置(303)所述长期参考图像的标记,其中所述标记指示使用图像顺序计数循环和图像顺序计数的最低有效位来指示所述第二RPS中的所述长期参考图像。

2.根据权利要求1所述的方法,其中所述比特流的每个图像包括至少一个NAL单元,每个图像被编码到所述至少一个NAL单元中所包括的至少一个片之中,所述至少一个片包括片首部,所述片首部包括所述标记,所述视频序列的当前图像被编码到至少一个当前片之中,所述至少一个当前片被编码到当前NAL单元之中。

3.根据权利要求2所述的方法,其中所述方法还包括:

将所述图像顺序计数循环编码(304)到所述当前图像的当前NAL单元中。

4.根据权利要求2或3所述的方法,其中在所述先前参考图像的先前NAL单元中指示所述先前参考图像的时间标识。

5.根据权利要求2或3所述的方法,其中所述第一参考图像集合包括在所述先前参考图像的先前片首部中。

6.根据权利要求1至3中任一项所述的方法,其中所述图像顺序计数指示所述视频序列中的图像被输出的顺序。

7.一种遵从高效视频编码HEVC的解码器(50)执行的用于对比特流进行解码以获得视频序列的方法,其中所述方法包括,当对比特流中的当前图像进行解码时:从所述比特流获得(305)针对包括在所述当前图像的参考图像集合中的长期参考图像的图像顺序计数的最低有效位;

获得(306)所述长期参考图像的标记,其中所述标记指示是否使用图像顺序计数循环;

当所述标记指示不使用所述图像顺序计数循环,并且所述最低有效位与所述解码器(50)的解码图像缓存中的多于一个参考图像相匹配时,断定(307)所述比特流是不遵从的比特流。

8.根据权利要求7所述的方法,其中所述图像顺序计数指示所述视频序列中的图像被输出的顺序。

9.根据权利要求7或8所述的方法,其中所述比特流中的每个图像包括至少一个NAL单元,从所述至少一个NAL单元之中包括的片中解码每个图像,所述片包括片首部,所述片首部包括所述标记,从具有当前片首部的当前片中解码所述视频序列的当前图像,从当前NAL单元中解码所述当前片。

10.根据权利要求9所述的方法,其中从所述当前NAL单元获得所述最低有效位。

11.根据权利要求7或8所述的方法,其中所述解码图像缓存包括按照解码顺序在所述当前图像之前被解码的图像。

12.根据权利要求7或8所述的方法,其中所述断定包括断定不遵从高效视频编码HEVC。

13.一种编码器(80),被配置为将视频序列编码到比特流中,其中所述比特流是遵从高效视频编码HEVC的比特流,其中所述编码器(80)被配置为,当对所述视频序列中的当前图像进行编码时:计算针对先前参考图像的指示,其中所述先前参考图像按照解码顺序位于所述当前图像之前,其中所述先前参考图像是按照解码顺序相对于所述当前图像最接近的、具有等于0的时间标识的先前参考图像;

创建针对先前图像的第一指示符集合,其中所述第一指示符集合包括:

针对所述先前参考图像的指示,

针对包括在所述先前参考图像的第一参考图像集合RPS中的所有参考图像的第二指示符集合,以及针对按照解码顺序在所述先前参考图像之后并且按照解码顺序在所述当前图像之前的所有图像的第三指示符集合;以及当所述当前图像的第二RPS中的长期参考图像具有图像顺序计数的最低有效位,并且所述第一指示符集合中指示的多于一个图像与所述长期参考图像共享图像顺序计数的最低有效位的相同值时,设置所述长期参考图像的标记,其中所述标记指示使用图像顺序计数循环和图像顺序计数的最低有效位来指示所述第二RPS中的所述长期参考图像。

14.根据权利要求13所述的编码器(80),其中所述比特流的每个图像包括至少一个NAL单元,每个图像被编码到所述至少一个NAL单元中所包括的至少一个片之中,所述至少一个片包括片首部,其中所述片首部包括所述标记,所述视频序列的当前图像被编码到至少一个当前片之中,所述至少一个当前片被编码到当前NAL单元之中。

15.根据权利要求14所述的编码器(80),其中所述编码器(80)还被配置为:将所述图像顺序计数循环编码(304)到所述当前图像的当前NAL单元中。

16.根据权利要求14或15所述的编码器(80),其中在所述先前参考图像的先前NAL单元中指示所述先前参考图像的时间标识。

17.根据权利要求14或15所述的编码器(80),其中所述第一参考图像集合包括在所述先前参考图像的先前片首部中。

18.根据权利要求13至15中任一项所述的编码器(80),其中所述图像顺序计数指示所述视频序列的图像被输出的顺序。

19.一种遵从高效视频编码HEVC的解码器(50),被配置为对比特流进行解码以获得视频序列,所述解码器(50)被配置为,当对比特流中的当前图像进行解码时:从所述比特流获得针对包括在所述当前图像的参考图像集合中的长期参考图像的图像顺序计数的最低有效位;

获得所述长期参考图像的标记,其中所述标记指示是否使用图像顺序计数循环;

当所述标记指示不使用所述图像顺序计数循环,并且所述最低有效位与所述解码器(50)的解码图像缓存中的多于一个的参考图像相匹配时,断定所述比特流是不遵从的比特流。

20.根据权利要求19所述的解码器(50),其中所述图像顺序计数指示所述视频序列中的图像被输出的顺序。

21.根据权利要求19或20所述的解码器(50),其中所述比特流中的每个图像包括至少一个NAL单元,从所述至少一个NAL单元之中包括的片中解码每个图像,所述片包括片首部,所述片首部包括所述标记,从具有当前片首部的当前片中解码所述视频序列的当前图像,从当前NAL单元中解码所述当前片。

22.根据权利要求21所述的解码器(50),其中从所述当前NAL单元获得所述最低有效位。

23.根据权利要求19或20所述的解码器(50),其中所述解码图像缓存包括按照解码顺序在所述当前图像之前被解码的图像。

24.根据权利要求19或20所述的解码器(50),其中所述解码器还被配置为:断定不遵从高效视频编码HEVC。

说明书 :

用于视频序列编码的解码器、编码器和方法

技术领域

[0001] 本文实施例涉及视频编码。具体地,公开了用于解码比特流以获得视频序列的解码器及其方法,以及用于编码视频序列的编码器及其方法。此外,还公开了对应的计算机程序和计算机程序产品。

背景技术

[0002] 利用视频编码,经常希望将视频序列压缩为编码视频序列。例如,可通过摄像机来捕获视频序列。压缩视频序列的目的在于减小视频序列的大小,例如比特数。通过这种方式,编码视频序列在存储时需要更少的内存,和/或从例如摄像机发送时需要更小的带宽。通常使用所谓的编码器来执行对视频序列的压缩或编码。因此,摄像机可包括编码器。编码视频序列可从摄像机传输至显示设备,例如电视机(TV)等。为使TV能够对编码视频序列进行解压缩或解码,TV可包括所谓的解码器。这意味着解码器用于解码所接收的编码视频序列。在其他场景中,编码器可包括在蜂窝通信系统的无线电基站中,并且解码器可包括在无线设备(例如蜂窝电话等)中,反之亦然。
[0003] 一种已知的视频编码技术称为高效视频编码(HEVC),这是联合合作组-视频编码(JCT-VC)目前正在开发的新的视频编码标准。JCT-VC是移动图像专家组(MPEG)和国际电信联盟的电信标准部(ITU-T)之间的合作项目。
[0004] HEVC是使用多个参考图像进行帧间预测的混合编解码器。HEVC包括图像标记处理,在图像标记处理中,参考图像可被标记为“用于短期参考”、“用于长期参考”和“不用于参考”。如果图像被标记为“不用于参考”,则该图像不能用于帧间预测。通过参考图像集合(RPS)来控制HEVC中的标记处理。RPS是标识参考图像的图像标识符的集合。在每个片中发送该集合,并且如果RPS中存在参考图像,则参考图像将保存在解码图像缓存(DPB)中。片是帧内与同一帧的任何其他区域相独立编码的空间上不同的区域。表1中示出了片的段首部语法的RPS部分。
[0005] HEVC中的图像由它们的图像顺序计数(POC)值(也称为全部POC值)来标识。每个片包含码字pic_order_cnt_lsb,该码字对于图像中的所有片是相同的。pic_order_cnt_lsb也称为全部POC的最低有效位(lsb),因为它是定长码字,并且只发信号通知全部POC的最低有效位。编码器和解码器跟踪POC环绕,从而可以将全部POC值赋值给被编码/解码的每个图像。
[0006] 通过一对数字、参考图像的POC和标记used_by_curr_pic_lx_flag,在RPS中指示短期图像。解码器知晓DPB中的参考图像的POC,并且能够将它们与在RPS中接收的POC值进行匹配。标记used_by_curr_pic_lx_flag指示参考图像是否用于当前图像的参考。
[0007] 在RPS中通常由参考图像的POC值的最低有效位(lsb)部分指示长期图像。然而,HEVC标记具有可选码字delta_poc_msb_cycle_lt_minusl,该码字提供参考长期图像的备选方式。
[0008] 表1的结尾示出了HEVC片首部语法的长期图像部分。
[0009] 表1-RPS片首部语法
[0010]
[0011] 如果delta_poc_msb_present_flag等于0,则长期图像仅由其POC的lsb部分来指示。如果delta_poc_msb_present_flag等于1,则长期图像由全部POC(即,POC的lsb部分和用于计算POC的msb部分的POC msb循环)来指示。delta_poc_msb_present_flag等于1允许两个长期图像共享相同的PCB lsb。目前,HEVC标准规定,只要DPB中存在至少两个具有相同POC lsb的参考图像,则delta_poc_msb_present_flag应等于1。这通过以下HEVC规范草案中的语句进行限制,其中DeltaPocLt是包含RPS中的长期图像的所有POC lsb的列表。
[0012] 当解码图像缓存中存在一个以上的图像顺序计数模数MaxPicOrderCntLsb等于PocLsbLt[i]的参考图像时,delta_poc_msb_present_flag[i]应当等于1。
[0013] 这一限制表明,当RPS正指示长期图像,并且解码图像缓存中存在至少两个具有跟该长期图像相同的POC lsb的参考图像时,该长期图像指示应当包括POC msb循环的信令,即,针对RPS中的该长期图像指示,delta_poc_msb_present_flag应当等于1。
[0014] HEVC比特流由一个或多个编码视频序列(CVS)组成。按照解码顺序,编码视频序列开始于图像类型为不使用任何其他图像进行预测的第一个图像,并且针对第一个图像,DPB中的所有图像都被标记为“不用于参考”,以便CVS中的图像不使用另一个CVS中的图像作为参考。CVS由NAL单元流(参见下文)中连续的一系列访问单元组成,并且只使用一个序列参数集合(SPS)。SPS被定义为一种特殊类型的NAL单元,例如SPS_NUT。SPS包含对整个编码视频序列都有效的信息,例如,图像大小或者当图像从解码器输出时应用于图像的裁剪窗口参数。
[0015] HEVC定义了时间子层。针对每个图像,NAL单元首部中的从语法元素nuh_temporal_id_plusl计算得出的变量TemporalId指示图像属于哪一个时间子层。较低的时间子层无法依赖于较高的时间子层,并且子比特流提取处理要求:当从比特流中移除一个或多个最高时间子层时,余下的比特流应当是遵从的比特流(conforming bitstream)。例如,较低时间子层可与显示速率或者比特率相关联,该显示速率或者比特率低于对应于较高时间子层的显示速率或比特率。应当理解,时间子层使得仅通过查看NAL单元首部就能够实现子比特流提取,而不需要解码比特流的其他部分。
[0016] 在HEVC中,编码图像被封装在一个或多个网络抽象层单元(NAL)中,形成访问单元的一部分。根据其包含编码图像样本还是包含其他关联数据,将NAL单元分为视频编码层(VCL)单元或非VCL单元。在HEVC标准中,相同图像的所有VCL NAL单元必须具有相同的NAL单元类型,所述NAL单元类型指示有关编码图像的属性并可能影响解码处理。NAL单元类型,TRAIL_N、TSA_N、STSA_N、RASL_N以及RADL_N,用于指示该图像不用于相同时间子层的任何图像的参考。在本文中,这些图像称为非参考时间子层(NRTSL)图像。NAL单元类型,RSV_VCL_N10、RSV_VCL_N12或者RSV_VCL_N14保留用于HEVC规范的将来版本,但目前被要求其具有NRTSL图像的属性,因而尽管还不被允许使用遵从的比特流中的这些NAL单元,其仍可被认为是NRTSL图像。在本文中,所有其他图像类型称为参考时间子层(RTSL)图像。
[0017] 针对NRTSL图像X,如果X所属的时间子层是被解码的最高时间子层,则可以移除X,即,从比特流中移除携带图像X的所有NAL单元,而不影响剩余流的可解码性。然而,当按照解码顺序在X后的图像Y要根据X是否被解码或丢弃来进行解码时,DPB可包含不同图像。这种情形可能是,当图像X被移除时,DPB可能包含Y被解码时具有相同POC lsb的两个长期参考图像,但是如果X已被接收,则将不是这种情形。因此,在X存在于比特流中时,编码器可能已使用等于0的delta_poc_msb_present_flag,但是当X被移除时则违反前述限制的情形。这种情形的解码处理尚未定义。因此,针对这种情形,无法从比特流中移除X,而不影响剩余流的可解码性。
[0018] 在从较高时间子层中移除单独的图像时,可能发生相同的情况。
[0019] 考虑以下示例:
[0020] pic_order_cnt_lsb为8比特。这意味着POC lsb值在0到255的范围内,包括0和255。图像X的POC是257,并且POC 0和255的图像都是DPB中的长期图像,被标记为“用于长期参考”。这两个长期参考图像将具有等于0的POC lsb。假设图像X的RPS中只有POC 0的图像,即应当从DPB中移除POC 256的图像。HEVC包含这一限制。
[0021] 当解码图像缓存中存在一个以上的图像顺序计数模数MaxPicOrderCntLsb等于PocLsbLt[i]的参考图像时,delta_poc_msb_present_flag[i]应当等于1。
[0022] 因此,针对POC 0的图像,图像X必须发信号通知等于1的delta_poc_msb_present_flag。
[0023] 当图像X的RPS已经解码时,DPB中只有一个POC lsb等于0的图像。
[0024] 假设按照解码顺序图像Y在X之后,具有POC 258,并且在其RPS中指示POC等于0的长期图像应保持为DPB中的参考图像。当Y被解码时,DPB中只有一个POC lsb等于0的图像。因而,针对图像Y的RPS中的该图像,不要求delta_poc_msb_present_flag等于1。
[0025] 如果X是与Y相同时间子层中的NRTSL图像,或者X被编码到比Y更高的时间子层中,应能够移除X,而不影响Y的可解码性。然而,如果图像X被移除,则DPB中将存在两个POC lsb等于0的长期图像,并且由于Y的RPS中POC lsb等于0的长期参考图像的delta_poc_msb_present_flag等于0,在解码处理中没有定义将这些图像中的哪一个保持为DPB中的参考图像。因而,剩余比特流无法被解码,并且NRTSL图像类型和时间层的含义损坏。

发明内容

[0026] 本发明的目的是如何改进对遵从HEVC的比特流的编码。
[0027] 根据第一方面,通过编码器执行的用于对视频序列进行编码方法来实现这一目的。当对视频序列中的当前图像进行编码时,编码器执行以下操作。编码器计算针对先前参考图像的指示。所述先前参考图像按照解码顺序位于所述当前图像之前。所述先前参考图像是按照解码顺序相对于所述当前图像最接近的、具有等于0的时间标识的先前参考图像。编码器创建针对先前图像的第一指示符集合。所述第一集合包括:针对所述先前参考图像的指示,针对包括在所述先前参考图像的第一参考图像集合“RPS”中的所有参考图像的第二指示符集合,以及针对按照解码顺序在所述先前参考图像之后并且按照解码顺序在所述当前图像之前的所有图像的第三指示符集合。当所述当前图像的第二RPS中的长期参考图像具有图像顺序计数的最低有效位,并且所述第一集合中指示的多于一个图像与所述长期参考图像共享图像顺序计数的最低有效位的相同值时,编码器设置所述长期参考图像的标记。所述标记指示使用图像顺序计数循环和图像顺序计数的最低有效位来指示所述第二RPS中的所述长期参考图像。
[0028] 根据第二方面,通过被配置为对视频序列进行编码的编码器来实现这一目的。编码器被配置为根据如下方式对视频序列的当前图像进行编码。因此,编码器被配置为计算针对先前参考图像的指示。所述先前参考图像按照解码顺序位于所述当前图像之前。所述先前参考图像是按照解码顺序相对于所述当前图像最接近的、具有等于0的时间标识的先前参考图像。此外,编码器被配置为创建针对先前图像的第一指示符集合。所述第一集合包括:针对所述先前参考图像的指示,针对包括在所述先前参考图像的第一“RPS”中的所有参考图像的第二指示符集合,以及针对按照解码顺序在所述先前参考图像之后并且按照解码顺序在所述当前图像之前的所有图像的第三指示符集合。此外,编码器被配置为:当所述当前图像的第二RPS中的长期参考图像具有图像顺序计数的最低有效位,并且所述第一集合中指示的多于一个图像与所述长期参考图像共享图像顺序计数的最低有效位的相同值时,设置所述长期参考图像的标记。所述标记指示使用图像顺序计数循环和图像顺序计数的最低有效位来指示所述第二RPS中的所述长期参考图像。
[0029] 根据第三方面,通过解码器执行的用于对比特流进行解码以获得视频序列的方法来实现这一目的。当对比特流中的当前图像进行解码时,解码器执行以下步骤。解码器从所述比特流中获得针对包括在所述当前图像的参考图像集合中的长期参考图像的图像顺序计数的最低有效位。解码器获得所述长期参考图像的标记。所述标记指示是否使用图像顺序计数循环。当所述标记指示不使用所述图像顺序计数循环,并且所述最低有效位与所述解码器的解码图像缓存中的多于一个参考图像相匹配时,断定所述比特流是不遵从的比特流。
[0030] 根据第四方面,通过被配置为对比特流进行解码以获得视频序列的解码器来实现这一目的。解码器被配置如下从比特流中解码出当前图像。因此,解码器被配置为:从所述比特流中获得针对包括在所述当前图像的参考图像集合中的长期参考图像的图像顺序计数的最低有效位。此外,解码器被配置为获得所述长期参考图像的标记。所述标记指示是否使用图像顺序计数循环。此外,解码器被配置为,当所述标记指示不使用所述图像顺序计数循环,并且所述最低有效位与所述解码器的解码图像缓存中的多于一个参考图像相匹配时,断定所述比特流是不遵从的比特流。
[0031] 根据第五方面,通过一种编码器执行的用于对视频序列进行编码的方法来实现这一目的。当对所述视频序列的当前图像进行编码时,针对所述当前图像的RPS中的每个长期参考图像,编码器执行以下步骤。编码器在图像顺序计数的列表中存储所述每个长期参考图像的相应图像顺序计数。当所述列表包括与相应图像顺序计数不同的图像顺序计数,并且所述图像顺序计数的最低有效位等于相应图像顺序计数的最低有效位时,编码器将所述每个长期参考图像的标记设置为1。所述标记指示使用图像顺序计数循环和所述图像顺序计数的最低有效位来指示所述当前图像的RPS中的所述长期参考图像。
[0032] 根据第六方面,通过被配置为对视频序列进行编码的编码器来实现这一目的。编码器被配置如下以对视频序列的当前图像进行编码,并且针对所述当前图像的RPS中的每个长期参考图像。因此,编码器被配置为在图像顺序计数的列表中存储所述每个长期参考图像的相应图像顺序计数。此外,当所述列表包括与相应图像顺序计数不同的图像顺序计数,并且所述图像顺序计数的最低有效位等于相应图像顺序计数的最低有效位时,编码器被配置为设置所述每个长期参考图像的标记。所述标记指示使用图像顺序计数循环和所述图像顺序计数的最低有效位来指示所述当前图像的RPS中的所述长期参考图像。
[0033] 根据第七方面,通过包括计算机可读代码单元的计算机程序来实现这一目的,当所述计算机可读代码单元在编码器上执行时,使编码器执行本文所述的方法。
[0034] 根据第八方面,通过包括计算机可读介质和如上所述存储在计算机可读介质上的计算机程序在内的计算机程序产品来实现这一目的。
[0035] 根据第九方面,通过包括计算机可读代码单元的计算机程序来实现这一目的,当所述计算机可读代码单元在解码器上执行时,使解码器执行本文所述的方法。
[0036] 根据第十方面,通过包括计算机可读介质和如上所述存储在计算机可读介质上的计算机程序在内的计算机程序产品来实现这一目的。
[0037] 由于编码器详细检查何时设置标记,当时间层被移除时,可以避免有关HEVC中的长期图像指示的不明确。因此,当图像是一种类型或者属于时间子层而使得能够将其移除时,本文的至少一个实施例能够从比特流中移除该图像,而不影响流的可解码性。

附图说明

[0038] 根据以下具体实施例方式和附图,将容易理解本文公开的实施例的各方面及其所包括的特定特征和优点,在附图中:
[0039] 图1是可实现本文实施例的示例性系统的示意概述,
[0040] 图2是示出图像顺序计数、解码顺序和参考图像集合之间的关系的框图,[0041] 图3是示出方法实施例在根据图1的系统中执行时的示意组合信令方案及流程图,[0042] 图4是示出编码器中的方法的实施例的流程图,
[0043] 图5是示出编码器中的方法的实施例的另一流程图,
[0044] 图6是示出编码器的实施例的框图,
[0045] 图7是示出编码器的实施例的另一框图,
[0046] 图8是示出编码器的实施例的又一框图,
[0047] 图9是示出解码器中的方法的实施例的流程图,
[0048] 图10是示出解码器的实施例的框图,
[0049] 图11示出解码器的实施例的另一框图,以及
[0050] 图12是示出解码器的实施例的又一框图。

具体实施方式

[0051] 在整个说明书中,相似的附图标记在适用时用于表示相似的元件、单元、模块、电路、节点、部件、项目或特征。附图中,一些实施例中出现的特征可通过虚线来指示。
[0052] 图1示出了在示例性系统100中实现本文实施例的场景。系统包括解码器50和编码器80。
[0053] 解码器50和/或编码器80可包括电视机的机顶盒、视频播放器/记录器(例如摄像机)、蓝光播放器、数字多功能盘(DVD)播放器、媒体中心、媒体播放器等之中。
[0054] 图2示出了图像顺序计数(POC)、解码顺序和参考图像集合(RPS)之间的关系。为解码图像,使用201-207所谓的参考图像,作为参考图像。作为示例,为解码POC=1的图像,使用201、202 POC=0和POC=2的图像作为参考图像。参考图像集合(RPS)包括这些参考图像的POC值,例如RPS=[0,2]。需要注意的是,RPS还可包括这里为POC=1图像所指示的图像之外的图像。
[0055] POC值是指编码视频序列的图像被输出的顺序,或者向观看者(例如,用户、个人、检测者等)示出时的显示顺序。POC值在当前图像的片首部中指示。
[0056] 解码顺序是指编码视频序列的图像被解码的顺序。在图2中,图像“b”要求在解码图像“b”之前解码图像“B”。
[0057] 如图2所示,关于POC或者输出顺序,由于1<2,POC=1的图像是POC=2的图像的先前图像。然而,如上文所述,关于解码顺序,POC=2的图像“B”是POC=1的图像“b”的先前图像。
[0058] 参考图像集合(RPS)是指保持标记为参考图像的图像。这意味着,针对当前图像,对其解码不必使用DPB中的所有参考图像,例如,一些图像可被标记为参考图像,供将来使用。因此,针对POC=1的图像,由于图2中箭头指示POC=1和POC=2的图像需要在POC=1解码前解码,所以可以认为RPS是[0,2]。实际上,POC=1的图像的RPS还必须包括POC=4,这是因为在解码POC=3的图像时使用该图像。
[0059] 此外,示出了时间标识等于0的第一时间层t0。还示出了逐步增高的时间层t1、t2。时间层的目的是将图像分层,使得可以移除较高的时间层(例如从比特流中移除),而不影响属于较低层的图像的可解码性。因此,定义了较低时间层不能使用较高时间层中的图像作为参考图像。
[0060] 图3示出了图1所示的解码器50和编码器80中的示例性方法。因此,编码器80执行用于对视频序列进行编码的方法,并且解码器50执行对比特流310进行解码以获得视频序列的方法。视频序列可包括在比特流310中,例如以编码视频序列的形式。比特流可以是遵从HEVC的比特流。
[0061] 在对视频序列中的当前图像进行编码时,可执行动作301至304。在从比特流中解码当前图像时,可执行动作305至307。
[0062] 动作301
[0063] 为了能够在动作302中可使用指示,编码器80计算针对先前参考图像的指示。先前参考图像按照解码顺序位于当前图像之前。先前参考图像是按照解码顺序相对于当前图像最接近的、具有等于0的时间标识的先前参考图像。
[0064] 在一些示例中,针对先前参考图像的指示可以是先前参考图像自身,有时表示为prevTid0Pic。因此,该指示可以是按照解码顺序具有TemporalId等于0并且不是RSAL图像、RADL图像或者子层非参考图像的先前图像。
[0065] 先前参考图像的时间标识可以在先前参考图像的先前NAL单元中指示。
[0066] 动作302
[0067] 为跟踪哪些POC值已被使用,编码器80创建针对先前图像的第一指示符集合。第一集合包括:
[0068] 针对先前参考图像的指示,
[0069] 针对包括在先前参考图像的第一RPS中的所有参考图像的第二指示符集合,以及[0070] 针对按照解码顺序在由所述指示所指示的先前参考图像之后并且按照解码顺序在当前图像之前的所有图像的第三指示符集合。
[0071] 应当理解,词语“指示符”可表示指向某一图像的指示符。
[0072] 第一参考图像集合可包括在先前参考图像的先前片首部中。
[0073] 动作303
[0074] 在当前图像的第二RPS中的长期参考图像具有图像顺序计数的最低有效位,并且第一集合中指示的多于一个图像与长期参考图像共享图像顺序计数的最低有效位的相同值时,执行动作303。因而,当执行该动作时,编码器80设置长期参考图像的标记。这意味着,例如,编码器80为标记赋值1。标记指示图像顺序计数循环和图像顺序计数的最低有效位用于指示第二RPS中的长期参考图像。第二RPS可以包括长期参考图像或指向长期参考图像的指示符。因此,在一些示例中,长期参考图像可以是长期参考图像指示。
[0075] 标记有时也称为delta_poc_msb_present_flag。此外,图像顺序计数循环可称为delta_poc_msb_cycle_lt。
[0076] 图像顺序计数可指示视频序列中的图像被输出(例如,输出到显示设备,如电视等)的顺序。
[0077] 在当前图像的第二RPS中的长期参考图像具有图像顺序计数的最低有效位,并且第一集合中指示的0个或一个图像与长期参考图像共享图像顺序计数的最低有效位的相同值时,编码器80清除标记,例如,将标记赋值为0。
[0078] 动作304
[0079] 为向解码器50通知图像顺序计数循环,编码器80可将图像顺序计数循环编码到当前图像的当前NAL单元中。因此,比特流310可包括图像顺序计数循环。
[0080] 动作305
[0081] 为能够执行动作307,解码器50从比特流中获得针对当前图像的参考图像集合中所包括的长期参考图像的图像顺序计数的最低有效位。结合动作305,RPS中的图像顺序计数用于指示保留DPB中的哪些图像作为参考图像。图像顺序计数指示视频序列中的图像被输出的顺序。
[0082] 动作306
[0083] 同样,为能够执行动作307,解码器50获得所述长期参考图像的标记。标记指示是否使用图像顺序计数循环。标识可由编码器80编码到比特流中。
[0084] 比特流的每个图像可包括至少一个NAL单元。可从包括在所述至少一个NAL单元之中的片中解码每个图像。片可包括片首部。片首部可包括标记。可从具有当前片首部的当前片中解码视频序列的当前图像。可从当前NAL单元中解码当前片。在一些示例中,所述每个图像包括多个NAL单元。因此,所述每个图像可以有多个片。
[0085] 动作307
[0086] 当标记指示不使用图像顺序计数循环,并且在动作305中获得的最低有效位与解码器50的解码图像缓存中的多于一个参考图像相匹配时,解码器50断定比特流是不遵从的比特流,例如不遵从HEVC。解码图像缓存可包括按照解码顺序在当前图像之前被解码的图像。
[0087] 根据一些第一实施例,令prevTid0Pic是按照解码顺序TemporalId等于0(即最低时间子层)的先前RTSL图像。作为示例,prevTid0Pic可以是按照解码顺序TemporalId等于0、并且不是RASL图像、RADL图像或者子层非参考图像的先前图像。
[0088] 在这些第一实施例中,对比特流加以限制。当由prevTid0Pic、prevTid0Pic的RPS中的图像、以及按照解码顺序在prevTid0Pic之后且按照解码顺序在当前图像之前的所有图像所组成的图像集合中,存在具有相同POC lsb的至少两个图像时,应用这种限制。此外,当应用限制时,这意味着,针对具有包括在当前图像的RPS中的相同POC lsb的长期图像,必须发信号通知用于计算全部POC值的语法元素,例如POC msb循环。
[0089] 一种表示这种限制的备选方式为,当由prevTid0Pic、prevTid0Pic的RPS中的图像、以及按照解码顺序在prevTid0Pic之后并且按照解码顺序在当前图像之前的所有图像所组成的图像集合中,存在具有与长期参考图像Z的POC lsb相等的POC lsb的至少两个图像时,必须利用等于1的delta_poc_msb_present_flag来发信号通知长期参考图像Z。
[0090] 表示该限制的一种方式如下:
[0091] 令prevTid0Pic是按照解码顺序nal_unit_type不等于TRAIL_N、TSA_N、STSA_N、RADL_N或者RASL_N,并且TemporalId等于0的先前图像。
[0092] 令setOfPreviousPictures由以下组成:
[0093] -prevTid0Pic
[0094] -prevTid0Pic的RPS中的所有图像
[0095] -按照解码顺序在prevTid0Pic之后并且按照解码顺序在当前图像之前的所有图像。
[0096] 当setOfPreviousPictures中存在多于一个的图像顺序计数模数MaxPicOrderCntLsb等于PocLsbLt[i]的图像时,delta_poc_msb_present_flag[i]应当等于1。
[0097] 备选地,如下推导prevTid0Pic:
[0098] 令prevTid0Pic是按照解码顺序TemporalId等于0的先前参考图像。
[0099] 备选地,例如,将prevTid0Pic全局地定义如下:
[0100] 将PrevTid0Pic设置为按照解码顺序nal_unit_type不等于TRAIL_N、TSA_N、STSA_N、RADL_N、RASL_N、RSV_VCL_N10、RSV_VCL_N12或者RSV_VCL_N14、并且TemporalId等于0的的先前图像。
[0101] 这时,可以规定如下限制:
[0102] 令setOfPreviousPictures由以下组成:
[0103] -prevTid0Pic
[0104] -prevTid0Pic的RPS中的所有图像
[0105] -按照解码顺序在prevTid0Pic之后并且按照解码顺序在当前图像之前的所有图像。
[0106] 当setOfPreviousPictures中存在多于一个的图像顺序计数模数MaxPicOrderCntLsb等于PocLsbLt[i]的图像时,delta_poc_msb_present_flag[i]应当等于1。
[0107] 编码器可被配置为根据以下步骤使用实施例:
[0108] 1.编码器存储(或计算)哪个图像是PrevTid0Pic的信息,即按照解码顺序nal_unit_type不等于TRAIL_N、TSA_N、STSA_N、RADL_N、RASL_N、RSV_VCL_N10、RSV_VCL_N12或者RSV_VCL_N14、并且TemporalId等于0的先前图像。
[0109] 2.创建集合setOfPreviousPictures,该集合由prevTid0Pic、prevTid0Pic的RPS中的所有图像、以及按照解码顺序在prevTid0Pic之后并且按照解码顺序在当前图像之前的所有图像组成。
[0110] 3.每当编码器希望发信号通知RPS中具有POC lsb的长期参考图像,并且setOfPreviousPictures中存在多于一个具有相同POC lsb的图像时,则针对该图像,发信号通知等于1的delta_poc_msb_present_flag,即,发信号通知该图像的POC msb循环。
[0111] 以不同方式来表示,一种编码器可被配置为根据以下步骤使用实施例:
[0112] 1.编码器存储(或计算)哪个图像是PrevTid0Pic的信息,即按照解码顺序中不是其时间子层中的非参考图像、并且TemporalId等于0的先前图像。
[0113] 2.创建集合setOfPreviousPictures,该集合由prevTid0Pic、prevTid0Pic的RPS中的所有图像、以及按照解码顺序在prevTid0Pic之后并且按照解码顺序在当前图像之前的所有图像组成。
[0114] 3.每当编码器希望发信号通知RPS中具有POC lsb的长期参考图像,并且setOfPreviousPictures中存在多于一个的具有相同POC lsb的图像时,则针对该图像,发信号通知等于1的delta_poc_msb_present_flag,即,发信号通知该图像的POC msb循环。
[0115] 备选地,如下定义PrevTid0Pic:
[0116] 将PrevTid0Pic设置为按照解码顺序TemporalId等于0的先前时间子层参考图像。
[0117] 这时,参考时间子层(RTSL)图像定义为nal_unit_type不等于TRAIL_N、TSA_N、STSA_N、RADL_N、RASL_N、RSV_VCL_N10、RSV_VCL_N12或者RSV_VCL_N14、并且TemporalId等于0的图像。
[0118] 解码器可使用根据以下步骤的实施例:
[0119] 1.解码器接收片,并在包括RPS相关语法元素的片段首部中解析语法元素。
[0120] 2.如果DPB中存在具有相同POC lsb的两个参考图像(例如,一个短期参考图像和一个长期参考图像、或两个长期参考图像等),并且当前RPS包含PocLsbLt[i]等于该POC lsb且delta_poc_msb_present_flag等于0的条目,则解码器断定比特流不遵从HEVC标准,并且可将其解释为比特错误、数据丢失或不遵从的比特流或编码器。基于比特流不遵从的知识,可以报告该错误、执行错误隐藏或者采取其他措施。解码器还可断定,该比特流不是从遵从HEVC的比特流中通过移除较高时间层的一个或多个单独图像或者移除当前图像相同时间层中的NRTSL图像而创建的。
[0121] 在一些第二实施例中,编码器被配置为执行以下步骤:
[0122] 1.针对要被编码的每个图像,执行以下步骤:
[0123] a.针对被用作长期参考图像的每个图像A,执行以下步骤:
[0124] i.编码器在列表usedLongTermPocValues中存储A的POC值。
[0125] ii.如果usedLongTermPocValues中存在与A的POC值不同、但具有等于A的POC lsb的POC lsb值的POC值,则确定要用POC msb循环发信号通知A。
[0126] b.利用根据步骤a.ii中所确定的而设置的delta_poc_msb_present_flag发信号通知当前图像的RPS。
[0127] 该方法还在图5中如下示出:
[0128] 在实施例的一个版本中,当编码器开始对新的CVS(即,不是针对每个新图像)进行编码时,重置列表usedLongTermPocValues(清空)。
[0129] 在实施例的另一个版本中,存在比特流限制,其要求:当使用相同编码视频序列中具有相同POC lsb的两个不同图像作为长期参考图像时,必须针对这些图像,发信号通知POC msb循环。
[0130] 在当前HEVC设计中,移除较高时间子层的图像或者移除相同时间子层中的单独非参考时间子层(NRTSL)图像,可创建不可解码的比特流,这是因为,当DPB中存在具有相同POC lsb的两个长期图像,并且当前RPS只包含对其中一个的参考且用于该参考的delta_poc_msb_present_flag等于0时,没有定义哪个长期图像标记为“不用于参考”。
[0131] 实施例的基本构思是实施限制,使得将作为时间子层的非参考图像的图像移除不影响剩余流的可解码性。这根据下文所述的实施例来实现。
[0132] 根据第一方面,一种编码器被配置为实现限制,使得将作为时间子层的非参考图像的图像移除不影响剩余流的可解码性。“可解码性”被理解为表示解码的可能性。
[0133] 还提供了包括该编码器的接收机。
[0134] 根据第二方面,一种编码器中用于实现限制的方法,使得将作为时间子层的非参考图像的图像移除不影响剩余流的可解码性。
[0135] 编码器和/或解码器可实现在诸如摄像机或呈现设备之类的设备中。
[0136] 实施例的另一个相关方面限定了一种用于对图像进行编码的计算机程序。计算机程序包括代码装置,例如计算机程序文本或二进制文件,在被处理器运行时使处理器执行本文的一个或多个实施例。
[0137] 实施例的另一个附加方面涉及一种计算机程序产品,所述计算机程序产品包括计算机可读介质和存储在计算机可读介质上的计算机程序。
[0138] 根据另一个方面,提供了一种解码器。所述解码器被配置为接收与限制有关的信息,并在解码图像时使用该限制。
[0139] 实施例适用于解码器、编码器和对比特流进行操作的任何单元,例如,网络节点或媒体感知网络单元(MANE)。
[0140] 实施例不限于HEVC,并且适用于HEVC的任何扩展(例如,可缩放扩展或多视图扩展),或适用于不同的视频编码标准。
[0141] 图4中示出了编码器80中的方法的示例性示意流程图。如所述,编码器80执行用于对视频序列进行编码的方法。
[0142] 如所述,视频序列可被编码到比特流中,所述比特流可以是遵从HEVC的比特流。
[0143] 比特流中的每个图像可包括至少一个NAL单元,其中每个图像可被编码到包括在至少一个NAL单元中的至少一个片之中。至少一个片可包括片首部。片首部可包括标记。视频序列的当前图像可被编码到至少一个当前片之中。至少一个当前片被编码到当前NAL单元之中。
[0144] 在对视频序列中的当前图像进行编码时,可以以任意适当的顺序执行以下操作。
[0145] 动作401
[0146] 编码器80计算针对先前参考图像的指示。如所述,先前参考图像按照解码顺序位于当前图像之前。先前参考图像是按照解码顺序相对于当前图像最接近的、具有等于0的时间标识的先前参考图像。该动作与动作301类似。
[0147] 动作402
[0148] 编码器80创建针对先前图像的第一指示符集合。第一集合包括:
[0149] 针对先前参考图像的指示,
[0150] 针对包括在先前参考图像的第一参考图像集合“RPS”中的所有参考图像的第二指示符集合,以及
[0151] 针对按照解码顺序在先前参考图像之后并且按照解码顺序在当前图像之前的所有图像的第三指示符集合。
[0152] 第一参考图像集合可包括在先前参考图像的先前片首部中。该动作与动作302类似。
[0153] 动作403
[0154] 编码器80设置长期参考图像的标记。
[0155] 该动作与动作302类似。标记指示图像顺序计数循环和图像顺序计数的最低有效位用于指示所述第二RPS中的所述长期参考图像。在当前图像的第二RPS中的长期参考图像具有图像顺序计数的最低有效位,并且第一集合中指示的多于一个图像与长期参考图像共享图像顺序计数的最低有效位的相同值时,执行动作403。图像顺序计数可指示视频序列的图像被输出的顺序。该动作与动作303类似。
[0156] 动作404
[0157] 编码器80可将图像顺序计数循环编码到当前图像的当前NAL单元中。该动作与动作304类似。
[0158] 在图5中,示出了编码器80中根据第二实施例的方法的示例性示意流程图。如所述,编码器80执行用于对视频序列进行编码的方法。
[0159] 以下动作可以以任何合适的顺序执行。
[0160] 动作501
[0161] 在当前图像是视频序列(例如CVS)的第一个图像时,编码器80可重置列表。
[0162] 当对视频序列的当前图像进行编码时,针对当前图像的参考图像集合“RPS”中的每个长期参考图像,可执行以下动作。
[0163] 动作502
[0164] 编码器80在图像顺序计数的列表中存储所述每个长期参考图像的相应图像顺序计数。该动作与上述步骤1.a.i类似。
[0165] 动作503
[0166] 当列表包括与相应图像顺序计数不同的图像顺序计数,并且(例如,列表中的)图像顺序计数的最低有效位等于相应图像顺序计数的最低有效位时,编码器80设置所述每个长期参考图像的标记。标记指示图像顺序计数循环和图像顺序计数的最低有效位用于指示当前图像的RPS中的长期参考图像。该动作与上述步骤1.a.ii类似。
[0167] 图6是根据实施例的被配置为对图像进行编码的编码器601的示意框图。编码器包括被配置为应用根据所述实施例的限制的限制单元602。此外,编码器包括被配置为生成和输出比特流的输出单元603。
[0168] 现在具体参考图7,图7详细示出了被配置为对视频序列进行编码的编码器80。编码器80被配置为:当对视频序列的当前图像进行编码时,计算针对先前参考图像的指示。先前参考图像按照解码顺序位于当前图像之前。先前参考图像是按照解码顺序相对于当前图像最接近的、具有等于0的时间标识的先前参考图像。
[0169] 此外,编码器80被配置为:当对视频序列的图像进行编码时,创建针对先前图像的第一指示符集合。第一集合包括:
[0170] 针对先前参考图像的指示,
[0171] 针对包括在先前参考图像的第一参考图像集合“RPS”中的所有参考图像的第二指示符集合,以及
[0172] 针对按照解码顺序在先前参考图像之后并且按照解码顺序在当前图像之前的所有图像的第三指示符集合。
[0173] 此外,编码器80被配置为:当对视频序列的当前图像进行编码时,在当前图像的第二RPS中的长期参考图像具有图像顺序计数的最低有效位,并且第一集合中指示的多于一个图像与长期参考图像共享图像顺序计数的最低有效位的相同值时,设置长期参考图像的标记。标记指示图像顺序计数循环和图像顺序计数的最低有效位用于指示第二RPS中的长期参考图像。
[0174] 编码器80还可被配置为:将图像顺序计数循环编码到当前图像的当前NAL单元中。
[0175] 比特流中的每个图像可包括至少一个NAL单元,其中每个图像可被编码到包括在至少一个NAL单元中的至少一个片之中。至少一个片可包括片首部。片首部可包括标记。视频序列的当前图像可被编码到至少一个当前片之中。至少一个当前片可被编码到当前NAL单元之中。
[0176] 先前参考图像的时间标识可在先前参考图像的先前NAL单元中指示。
[0177] 第一参考图像集合可包括在先前参考图像的先前片首部中。
[0178] 图像顺序计数可指示视频序列中的图像被输出的顺序。
[0179] 比特流可以是遵从HEVC的比特流。
[0180] 此外,根据第二实施例,编码器80被配置为对视频序列进行编码。
[0181] 编码器80被配置为,当对视频序列的当前图像进行编码时,针对当前图像的参考图像集合RPS中的每个长期参考图像,在图像顺序计数的列表中存储所述每个长期参考图像的相应图像顺序计数。
[0182] 此外,编码器80被配置为:当对视频序列的当前图像进行编码时,针对当前图像的RPS中的每个长期参考图像,当列表包括与相应图像顺序计数不同的图像顺序计数,并且图像顺序计数的最低有效位等于相应图像顺序计数的最低有效位时,设置所述每个长期参考图像的标记。标记指示图像顺序计数循环和图像顺序计数的最低有效位用于指示当前图像的RPS中的长期参考图像。
[0183] 编码器80还可被配置为:在当前图像可能是视频序列的第一个图像时,重置该列表。
[0184] 因此,如图7所示,本文所述的编码器80可通过例如一个或多个处理器82或处理电路及其具有适当存储设备或存储器84的适当软件、可编程逻辑器件(PLD)或其他电子组件来实现。此外,编码器80优选地包括被配置为接收视频序列中的图像的输入或输入单元81。对应的输出或输出单元83被配置为输出片的已编码表示,优选采取NAL单元的形式。
[0185] 图7中的编码器及其所包括的单元可用硬件实现。存在可使用并组合以实现编码器的单元功能的各种电路元件的变型。这些变型包括在实施例范围内。编码器的硬件实现的特定示例是数字信号处理器(DSP)硬件和集成电路技术中的实现,包括通用电子电路和专用电路。
[0186] 图7还示出了包括计算机可读代码单元的计算机程序85,当计算机可读代码单元在编码器80上执行时使编码器80执行根据图3或4或5的方法。
[0187] 最后,图7示出了计算机程序产品86,包括计算机可读介质87和存储在计算机可读介质87上的以上刚描述的计算机程序85。
[0188] 计算机可读介质可以是存储器、通用序列总线(USB)存储器、DVD盘、蓝光盘、作为数据流接收的软件模块、闪存、硬盘驱动等。
[0189] 现在参考图8,根据本文实施例的编码器62可以例如,位于(例如,在移动设备中的)摄像机中的发射机60中。这时,发射机60可包括被配置为接收要编码的视频序列中的图像的输入或输入单元61。通过本文所公开的编码器62对图像进行编码。已编码的图像可以采取编码比特流的形式(例如NAL单元或者载有这些NAL单元的数据分组)通过输出或输出单元63从发射机60输出。
[0190] 图9中示出了解码器50执行的用于对比特流进行解码以获得视频序列的方法的示例性示意流程图。
[0191] 当对比特流中的当前图像进行解码时,可以以任何合适的顺序执行以下动作。
[0192] 动作901
[0193] 解码器50从比特流中获得针对包括在当前图像的参考图像集合中的长期参考图像的图像顺序计数的最低有效位。最低有效位可从当前NAL单元获得。该动作与动作305类似。
[0194] 动作902.
[0195] 编码器50获得所述长期参考图像的标记。该标记指示是否使用图像顺序计数循环。这个动作与动作306类似。
[0196] 比特流中的每个图像可包括至少一个NAL单元,其中可从包括在所述至少一个NAL单元之中的片中解码每个图像。片可包括片首部。片首部可包括标记。可从具有当前片首部的当前片中解码视频序列的当前图像。可从当前NAL单元中解码当前片。
[0197] 动作903
[0198] 当标记指示不使用图像顺序计数循环,并且最低有效位与解码器50的解码图像缓存中的多于一个参考图像相匹配时,解码器50断定比特流是不遵从的比特流。解码图像缓存可包括按照解码顺序在当前图像之前被解码的图像。该断定包括与不遵从HEVC的断定。该动作与动作307类似。
[0199] 图10是根据实施例的解码器1001的简化示意框图。解码器包括输入单元1002,所述单元1002被配置为接收具有根据上述任何实施例的限制的比特流。解码器还包括解码单元1003,所述解码单元1003被配置为在解码图像时使用该限制。
[0200] 图11示出了被配置为对比特流进行解码以获得视频序列的解码器50的框图。
[0201] 解码器50被配置为:当从比特流中解码当前图像时,从比特流中获得针对包括在当前图像的参考图像集合中的长期参考图像的图像顺序计数的最低有效位。
[0202] 此外,解码器50被配置为:当从比特流中解码当前图像时,获得所述长期参考图像的标记。该标记指示是否使用图像顺序计数循环。
[0203] 此外,解码器50被配置为:当从比特流中解码当前图像时,当标记指示不使用图像顺序计数循环,并且最低有效位与解码器50的解码图像缓存中的多于一个参考图像相匹配时,断定比特流是不遵从的比特流。
[0204] 图像顺序计数指示视频序列中的图像被输出的顺序。
[0205] 比特流中的每个图像可包括至少一个NAL单元,其中可从包括在所述至少一个NAL单元之中的片中解码每个图像。片可包括片首部。片首部可包括标记。可从具有当前片首部的当前片中解码视频序列的当前图像。可从当前NAL单元中解码当前片。
[0206] 可从当前NAL单元中获得最低有效位。
[0207] 解码图像缓存可包括按照解码顺序在当前图像之前被解码的图像。
[0208] 解码器50还可被配置为断定不遵从HEVC。
[0209] 图11中的解码器及其所包括的单元可用硬件实现。存在可使用并组合以实现解码器的单元功能的各种电路元件的变型。这些变型包括在实施例范围内。解码器的硬件实现的特定示例是数字信号处理器(DSP)硬件和集成电路技术中的实现,包括通用电子电路和专用电路。
[0210] 如图11所示,本文所述的解码器50可通过例如一个或多个处理器52或处理电路及其具有适当存储设备或存储器54的适当软件、可编程逻辑器件(PLD)或其他电子组件来实现。此外,解码器50优选地包括被配置为接收图像的已编码表示(例如,采取NAL(网络抽象层)单元的形式)的输入或输入单元51。对应的输出或输出单元53被配置为输出已解码图像。
[0211] 通常,参考图像缓存是解码器50的集成部分。存储器54可包含参考图像缓存和解码所需的其他部分。
[0212] 图11还是示出了包括计算机可读代码单元的计算机程序55,当计算机可读代码单元在解码器50上执行时使解码器50执行图3或9所示的方法。
[0213] 最后,图11示出了计算机程序产品56,包括计算机可读介质57和存储在计算机可读介质57上的以上刚描述的计算机程序55。
[0214] 计算机可读介质可以是存储器、通用序列总线(USB)存储器、DVD盘、蓝光盘、作为数据流接收的软件模块、闪存、硬盘驱动等。
[0215] 现在参考图12,根据实施例的解码器32可以在例如位于接收机30中(例如,在例如移动设备的摄像机、机顶盒或显示器中)。这时,接收机30包括被配置为接收编码比特流(例如NAL单元的数据分组)的输入或输入单元31。通过本文公开的解码器32,对NAL单元的编码表示进行解码。解码器32优选地包括或者连接到参考图像缓存34,所述参考图像缓存34临时存储将要被用作视频流中其他图像的参考图像的已解码图像。参考图像集合中的图像可存储在参考图像缓存中。已解码的图像通过输出或输出单元33从接收机30(例如,从参考图像缓存34)输出。发送这些图像,以在接收机30的或与接收机30相连(包括无线连接)的屏幕或显示器上向用户显示。输出图像还可存储在磁盘上或被转码,而不显示。
[0216] 实施例不限于HEVC,并且适用于HEVC的任何扩展(例如,可缩放扩展或多视图扩展),或适用于不同的视频编解码器。实施例适用用于2D和3D视频。
[0217] 应当理解,对互动单元或模块的选择以及单元的命名仅用于示例目的,并且可通过多个备选方式来配置,从而能够执行所公开的处理动作。
[0218] 还应当注意,本公开中描述的单元或模块应被认为是逻辑实体,并且不必是分离的物理实体。可以理解,本文公开技术的范围完全覆盖对本领域技术人员来说显而易见的其他实施例,相应地,本公开的范围不限于此。
[0219] 除非另有声明,以单数形式对单元的引用并不旨在表示“一个且只有一个”,而是指“一个或多个”。本领域技术人员已知的与上述实施例的单元等同的所有结构和功能等同物通过引用方式明确合并于此,并且旨在将其包括在其中。此外,为将其包括在其中,设备或方法不必解决本文公开的技术所要解决的每个问题。
[0220] 在前述描述中,为说明而非限制的目的,阐述了具体细节,例如特定架构、接口、技术等,以提供对所公开技术的全面理解。然而,对本领域技术人员来说,可通过与这些具体细节不同的其他实施例和/或实施例的组合来实施所公开的技术。也就是说,本领域技术人员能够设计各种本文中未明确描述或示出、但体现所公开技术的原理的装置。在一些实例中,省略了对公知设备、电路和方法的详细描述,以避免因不必要的细节而使所公开技术的描述含糊不清。本文中列出所公开技术的原理、方面和实施例,以及其具体实例的所有陈述旨在包括其结构和功能等同物。此外,还要指出,这些等同物包括当前已知的等同物和将来开发的等同物,例如,所开发的执行相同功能的任何单元,而不论其结构如何。
[0221] 因而,例如,本领域技术人员可以理解,本文的框图可表示体现技术原理的说明性电路或其他功能单元的概念性视图。类似地,可以理解,任何流程图、状态转移图、伪码等表示可实质表示在计算机可读介质中并且从而被计算机或处理器执行的各种处理,无论是否明确示出该计算机或处理器。
[0222] 可以通过使用硬件(例如,电路硬件和/或能够执行采取存储在计算机可读介质上的编码指令的形式的软件的硬件)来提供包括功能模块在内的各单元的功能。因此,这些功能和所示功能模块应被理解为硬件实现和/或计算机实现的,也就是机器实现的。
[0223] 因而,例如,本领域技术人员可以理解,本文的框图可表示体现技术原理的说明性电路或其他功能单元的概念性视图。类似地,可以理解,任何流程图、状态转移图、伪码等表示可实质表示在计算机可读介质中并且从而被计算机或处理器执行的各种处理,无论是否明确示出该计算机或处理器。
[0224] 上述实施例应被理解为本发明的一些说明性示例。本领域技术人员可以理解,可对实施例做出各种修改、组合和改变,而不脱离本发明的范围。具体来说,不同实施例中的不同部分方案可在技术上可行时以其他配置进行组合。
[0225] 本文所使用的术语“设置”在结合例如标记使用时,表示给标记赋值1。
[0226] 本文所使用的术语“清除”在结合例如标记使用时,表示给标记赋值0。