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

文档序号:9221981阅读:908来源:国知局
用于视频序列编码的解码器、编码器和方法
【技术领域】
[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] 通过一对数字、参考图像的P0C和标记used_by_curr_pic_lx_flag,在RPS中指 示短期图像。解码器知晓DPB中的参考图像的P0C,并且能够将它们与在RPS中接收的P0C 值进行匹配。标记used_by_curr_pic_lx_flag指示参考图像是否用于当前图像的参考。
[0007] 在RPS中通常由参考图像的P0C值的最低有效位(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(S卩,POC的lsb 部分和用于计算POC的msb部分的POCmsb循环)来指示。delta_poc_msb_present_flag 等于1允许两个长期图像共享相同的PCBlsb。目前,HEVC标准规定,只要DPB中存在至少 两个具有相同POClsb的参考图像,则delta_poc_msb_present_flag应等于1。这通过以 下HEVC规范草案中的语句进行限制,其中DeltaPocLt是包含RPS中的长期图像的所有P0C lsb的列表。
[0012] 当解码图像缓存中存在一个以上的图像顺序计数模数MaxPicOrderCntLsb等于 PocLsbLt[i]的参考图像时,delta_poc_msb_present_flag[i]应当等于 1〇
[0013] 这一限制表明,当RPS正指示长期图像,并且解码图像缓存中存在至少两个具有 跟该长期图像相同的POClsb的参考图像时,该长期图像指示应当包括POCmsb循环的信 令,即,针对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_ 七611^0四1」(1_口11181计算得出的变量1611^0四11(1指示图像属于哪一个时间子层。较低的时 间子层无法依赖于较高的时间子层,并且子比特流提取处理要求:当从比特流中移除一个 或多个最高时间子层时,余下的比特流应当是遵从的比特流(conformingbitstream)。例 如,较低时间子层可与显示速率或者比特率相关联,该显示速率或者比特率低于对应于较 高时间子层的显示速率或比特率。应当理解,时间子层使得仅通过查看NAL单元首部就能 够实现子比特流提取,而不需要解码比特流的其他部分。
[0016] 在HEVC中,编码图像被封装在一个或多个网络抽象层单元(NAL)中,形成访问单 元的一部分。根据其包含编码图像样本还是包含其他关联数据,将NAL单元分为视频编码 层(VCL)单元或非VCL单元。在HEVC标准中,相同图像的所有VCLNAL单元必须具有相同 的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被解码时具有相同POClsb的 两个长期参考图像,但是如果X已被接收,则将不是这种情形。因此,在X存在于比特流中 时,编码器可能已使用等于〇的delta_poc_msb_present_flag,但是当X被移除时则违反前 述限制的情形。这种情形的解码处理尚未定义。因此,针对这种情形,无法从比特流中移除 X,而不影响剩余流的可解码性。
[0018] 在从较高时间子层中移除单独的图像时,可能发生相同的情况。
[0019] 考虑以下示例:
[0020] pic_order_cnt_lsb为8比特。这意味着POClsb值在0到255的范围内,包括0 和255。图像X的POC是257,并且POC0和255的图像都是DPB中的长期图像,被标记为 "用于长期参考"。这两个长期参考图像将具有等于〇的P〇Clsb。假设图像X的RPS中只 有P0C0的图像,即应当从DPB中移除P0C256的图像。HEVC包含这一限制。
[0021] 当解码图像缓存中存在一个以上的图像顺序计数模数MaxPicOrderCntLsb等于 PocLsbLt[i]的参考图像时,delta_poc_msb_present_flag[i]应当等于 1〇
[0022] 因此,针对P0C0的图像,图像X必须发信号通知等于1的delta_poc_msb_ present_flag〇
[0023] 当图像X的RPS已经解码时,DPB中只有一个POClsb等于0的图像。
[0024] 假设按照解码顺序图像Y在X之后,具有P0C258,并且在其RPS中指示P0C等于 〇的长期图像应保持为DPB中的参考图像。当Y被解码时,DPB中只有一个POClsb等于0 的图像。因而,针对图像Y的RPS中的该图像,不要求delta_poc_msb_present_flag等于 1〇
[0025] 如果X是与Y相同时间子层中的NRTSL图像,或者X被编码到比Y更高的时间子层 中,应能够移除X,而不影响Y的可解码性。然而,如果图像X被移除,则DPB中将存在两个 POClsb等于0的长期图像,并且由于Y的RPS中POClsb等于0的长期参考图像的delta_ poc_msb_present_flag等于0,在解码处理中没有定义将这些图像中的哪一个保持为DPB 中的参考图像。因而,剩余比特流无法被解码,并且NRTSL图像类型和时间层的含义损坏。

【发明内容】

[0026] 本发明的目的是如何改进对遵从HEVC的比特流的编码。
[0027] 根据第一方面,通过编码器执行的用于对视频序列进行编码方法来实现这一目 的。当对视频序列中的当前图像进行编码时,编码器执行以下操作。编码器计算针对先前 参考图像的指示。所述先前参考图像按照解码顺序位于所述当前图像之前。所述先前参考 图像是按照解码顺序相对于所述当前图像最接近的、具有等于〇的时间标识的先前参考图 像。编码器创建针对先前图像的第一指示符集合。所述第一集合包括:针对所述先前参考 图像的指示,针对包括在所述先前参考图像的第一参考图像集合"RPS"中的所有参考图像 的第二指示符集合,以及针对按照解码顺序在所述先前参考图像之后并且按照解码顺序在 所述当前图像之前的所有图像的第三指示符集合。当所述当前图像的第二RPS中的长期参 考图像具有图像顺序计数的最低有效位,并且所述第一集合中指示的多于一个图像与所述 长期参考图像共享图像顺序计数的最低有效位的相同值时,编码器设置所述长期参考图像 的标记。所述标记指示使用图像顺序计数循环和图像顺序计数的最低有效位来指示所述第 二RPS中的所述长期参考图像。
[0028] 根据第二方面,通过被配置为对视频序列进行编码的编码器来实现这一目的。编 码器被配置为根据如下方式对视频序列的当前图像进行编码。因此,编码器被配置为计算 针对先前参考图像的指示。所述先前参考图像按照解码顺序位于所述当前图像之前。所述 先前参考图像是按照解码顺序相对于所述当前图像最接近的、具有等于〇的时间标识的先 前参考图像。此外,编码器被配置为创建针对先前图像的第一指示符集合。所述第一集合 包括:针对所述先前参考图像的指示,针对包括在所述先前参考图像的第一"RPS"中的所 有参考图像的第二指示符集合,以及针对按照解码顺序在所述先前参考图像之后并且按照 解码顺序在所述当前图像之前的所有图像的第三指示符集合。此外,编码器被配置为:当所 述当前图像的第二RPS中的长期参考图像具有图像顺序计数的最低有效位,并且所述第一 集合中指示的多于一个图像与所述长期参考图像共享图像顺序计数的最低有效位的相同 值时,设置所述长期参考图像的标记。所述标记指示使用图像顺序计数循环和图像顺序计 数的最低有效位来指示所述第二RPS中的所述长期参考图像。
[0029] 根据第三方面,通过解码器执行的用于对比特流进行解码以获得视频序列的方法 来实现这一目的。当对比特流中的当前图像进行解码时,解码器执行以下步骤。解码器从 所述比特流中获得针对包括在所述当前图像的参考图像集合中的长期参考图像的图像顺 序计数的最低有效位。解码器获得所述长期参考图像
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1