用于管理视频解码过程中的画面的解码器及其方法

文档序号:7992253阅读:281来源:国知局
用于管理视频解码过程中的画面的解码器及其方法
【专利摘要】本发明实施例的目标是使得从哪个先前解码的画面获取用于计算当前画面的POC的值到良好定义,而与已经解码了多少时间层无关。这是通过以下方式实现的:将解码器要使用的当前画面的POC确定为语法单元pic_order_cnt_lsb与当前画面的POC的最高有效位PicOrderCntMsb之和,其中,当前画面的PicOrderCntMsb是至少使用prevPicOrderCntMsb和prevPicOrderCntLsb导出的,prevPicOrderCntMsb被设置为等于层标识等于零的、按解码顺序的先前参考画面的POC的最高有效位,以及prevPicOrderCntLsb被设置为等于层标识等于零的、按解码顺序的先前参考画面的POC的最低有效位的值。
【专利说明】用于管理视频解码过程中的画面的解码器及其方法【技术领域】
[0001]实施例大体涉及管理视频编码/解码过程中的画面。
【背景技术】
[0002]H.264也被称为运动画面专家组-4 (MPEG-4)高级视频编码(AVC),是本领域最新的视频编码标准。其由利用了时间和空间冗余的基于块的混合视频编码方案组成。
[0003]在对编码画面进行解码时,H.264将先前解码的画面用于时间预测。这些画面被称为参考画面,并且可以存在用于解码画面的多于一个的参考画面。对于H.264中的每个参考画面,存在担当参考画面的标签的码字frame_num。frame_num指示解码顺序,并且针对按照解码顺序的每个参考画面,frame_num必须加I,否则比特流不遵从标准。H.264还规定针对每个画面的画面顺序计数(POC),解码器利用被称为缓冲(bumping)过程的过程或利用画面定时信息来使用POC按正确的顺序输出(显示)画面。简言之,缓冲过程只要可能便利用显示来等待。然后,输出(显示)解码画面缓冲器中存在的具有最低POC的画面。为了确定显示哪个画面,重要的是要适当地定义最低P0C。H.264比特流始终以POC=O的画面开始。与frame_num相反,POC不需要以I递增,其可以任意地递增。最大POC值是2~31— I。在H.264中,使用POC类型O是常见的。对于该POC类型,在比特流中信号通知POC的η个最低有效位。然后,将POC计算为:
[0004]PicOrderCnt=PicOrderCntMsb+pic_order_cnt_lsb
[0005]其中,Pic_order_cnt_l sb是在片首部中信号通知的最低有效位,PicOrderCntMsb是使用语法单兀 pic_order_cnt_lsb、PrevPicOrderCntLsb 和 PrevPicOrderCntMsb 来计算的最高有效位,其中,PrevPicOrderCntLsb和PrevPicOrderCntMsb是按解码顺序的先前参考画面的值。
[0006]要注意到的是,这不同于frame_num, frame_num是回绕的。回绕意味着不同画面的frame_num增加到特定值,在该特定值处被重置为零。POC不回绕。
[0007]高效视频编码(HEVC)是联合协作组-视频编码(JCT-VC)中当前正在开发的新视频编码标准。JCT-VC是MPEG与国际电信联盟电信标准化部(ITU-T)之间的协作计划。
[0008]在H.264 / AVC和HEVC中,将所有的编码数据置于网络抽象层(NAL)单元中。NAL单元由编码数据和NAL单元首部组成。在HEVC中,在NAL单元首部中存在temporal_id语法单元,以及与当前画面的时间层有关的信息。在HEVC中定义了:如果tldA小于tldB,temporal」d=tIdA的画面不能参考temporal」d=tIdB的画面。
[0009]因此,由temporal_id标识的较高时间层中的画面不能用于较低时间层中的预测,然而较低时间层中的画面可如图1中示意的用于较高时间层中的预测。解码顺序是解码画面的顺序和将压缩画面馈送到解码器中的顺序。系统负责按正确的顺序向解码器馈送画面。如果画面未处于正 确的顺序,解码是不可能的。向解码器要使用的每个画面指派画面顺序计数(POC),以按正确的顺序输出(显示)画面。有时,在一些或所有的画面中,取决于编码结构,一个时间层中的画面可被相同时间层中的其他画面用于预测。很少存在(如果有的话)除了最高时间层之外的任何其他时间层中有画面根本不用于预测的实际使用情况。因此可以假设比最高时间层低的时间层中的所有画面将被相同或更高时间层中的至少一个画面用于预测。
[0010]对于任何所选的时间层T,可以通过移除属于比时间层T更高的层的所有画面来从HEVC比特流创建包含范围temporal_id的画面的子流。例如,如果比特流具有4个时间层{0,1,2,3},时间层2和3已被删除的比特流可由HEVC解码器完全解码。
[0011]此外,将HEVC中的画面分割为一个或更多个片,其中,每个片都是画面的独立可解码段。这意味着如果丢失了片(例如,在传输期间丢失),仍然可以对该画面的其他片进行正确解码。为了使片独立,片不相互依赖。不需要另一片的比特流单元来解码不同片的任何单元。
[0012]每片包含为要独立可解码的片独立地提供所有所需数据的片首部。片首部中存在的数据单元的一个示例是片地址,解码器使用片地址来获知片的空间位置。另一示例是片量化增量数据(delta),解码器使用片量化增量数据来获知将什么量化参数用于片的开始。片首部中存在更多的数据单元。
[0013]在HEVC中,使用对参考画面的绝对信号通知来替代先前标准(例如,H.264)中的通过相对方式来信号通知参考画面修改。通过被称为参考画面集合的参考画面列表来实现绝对信号通知,所述参考画面集合或者是针对每个画面信号显式地通知的,或者是通过使用对序列参数集合(SPS)的参考来针对每个画面信号通知的。在HEVC中使用画面顺序计数(POC)来定义画面的显示顺序,并且还用于标识参考画面。
[0014]在H.264设计中,通常多数通过最低有效位来信号通知P0C。在HEVC中始终通过最低有效位来信号通知P0C,除了 POC被推断等于O的即时解码器刷新(IDR)画面之外。
[0015]使用来自按解码顺序的先前参考画面的值计算P0C。当在HEVC比特流中存在时间层时,解码器可以选择仅解码比特流中画面的子集,即,temp0ral_id低于特定值的那些画面。因此,哪个画面是特定画面P的先前参考画面可取决于解码器解码的层的数目,这可导致针对不同解码器的不同POC值。这是为了得到稳定的时间可缩放规范必须避免的事。

【发明内容】

[0016]本发明实施例的目标是使得从哪个先前解码的画面获取用于计算当前画面的POC的值得到良好定义,而与已经解码了多少时间层无关。
[0017]根据第一和第二方案,通过将解码器要使用的当前画面的POC确定为语法单兀pic_order_cnt_lsb与当前画面的POC的最高有效位PicOrderCntMsb之和,对此进行实现,其中,当前画面的PicOrderCntMsb是至少使用prevPicOrderCntMsb和prevPicOrderCntLsb导出的,prevPicOrderCntMsb被设置为等于层标识小于等于当前画面的层标识的、按解码顺序的先前参考画面的POC的最高有效位,以及prevPicOrderCntLsb被设置为等于层标识小于等于当前画面的层标识的、按解码顺序的先前参考画面的POC的最低有效位的值。
[0018]因此,根据第一方案,提供了使用参考画面对具有多个画面的视频流的当前画面的表示进行解码的方法。每个画面属于由层标识来标识的层。在该方法中,从比特流接收当前画面的POC值的最低有效位(例如,pic_order_cnt_lsb),以及将当前画面的POC值确定为pic_order_cnt_lsb与当前画面的POC值的最高有效位(PicOrderCntMsb)之和。当前画面的 PicOrderCntMsb 是至少使用 prevPicOrderCntMsb 和 prevPicOrderCntLsb 导出的,以及prevPicOrderCntMsb被设置为等于层标识小于等于当前画面的层标识的、按解码顺序的先前参考画面的POC的最高有效位,以及prevPicOrderCntLsb被设置为等于层标识小于等于当前画面的层标识的、按解码顺序的先前参考画面的POC值的最低有效位的值。
[0019]根据第二方案,提供了被配置为使用参考画面对具有多个画面的视频流的当前画面的表示进行解码的解码器。每个画面属于由层标识来标识的层。解码器被配置为从比特流接收当前画面的POC值的最低有效位U^^n,pic_order_cnt_lsb),以及解码器包括处理器,处理器被配置为将解码器要使用的当前画面的POC值确定为pic_order_cnt_lsb与当前画面的POC值的最高有效位(PicOrderCntMsb)之和。当前画面的PicOrderCntMsb是至少使用 prevPicOrderCntMsb 和 prevPicOrderCntLsb 导出的,prevPicOrderCntMsb 被设置为等于层标识小于等于当前画面的层标识的、按解码顺序的先前参考画面的POC的最高有效位,以及prevPicOrderCntLsb被设置为等于层标识小于等于当前画面的层标识的、按解码顺序的先前参考画面的POC值的最低有效位的值。
[0020]根据第三和第四方案,通过将解码器要使用的当前画面的POC确定为语法单兀pic_order_cnt_lsb与当前画面的POC的最高有效位PicOrderCntMsb之和,对该目标进行实现,其中,当前画面的PicOrderCntMsb是至少使用prevPicOrderCntMsb和prevPicOrderCntLsb导出的,以及prevPicOrderCntMsb被设置为等于层标识等于零的、按解码顺序的先前参考画面的POC的最高有效位,以及prevPicOrderCntLsb被设置为等于层标识等于零的、按解码顺序的先前参考画面的POC的最低有效位的值。
[0021]因此,根据第三方案,提供了使用参考画面对具有多个画面的视频流的当前画面的表示进行解码的方法。每个画面属于由层标识来标识的层。在该方法中,从比特流接收当前画面的POC值的最低有效位(例如,pic_order_cnt_lsb),以及将当前画面的POC值确定为pic_order_cnt_lsb与当前画面的POC值的最高有效位(PicOrderCntMsb)之和。当前画面的 PicOrderCntMsb 是至少使用 prevPicOrderCntMsb 和 prevPicOrderCntLsb 导出的,prevPicOrderCntMsb被设置为等于层标识等于零的、按解码顺序的先前参考画面的POC的最高有效位,以及prevPicOrderCntLsb被设置为等于层标识等于零的、按解码顺序的先前参考画面的POC值的最低有效位的值。
[0022]根据第四方案,提供了被配置为使用参考画面对具有多个画面的视频流的当前画面的表示进行解码的解码器。每个画面属于由层标识来标识的层。解码器被配置为从比特流接收当前画面的POC值的最低有效位(例如,pic_order_cnt_lsb),以及解码器包括处理器,处理器被配置为将解码器要使用的当前画面的POC值确定为piC_0rder_Cnt_lSb与当前画面的POC值的最高有效位(PicOrderCntMsb)之和。当前画面的PicOrderCntMsb是至少使用 prevPicOrderCntMsb 和 prevPicOrderCntLsb 导出的,prevPicOrderCntMsb被设置为等于层标识等于零的、按解码顺序的先前参考画面的POC的最高有效位,以及prevPicOrderCntLsb被设置为等于层标识等于零的、按解码顺序的先前参考画面的POC值的最低有效位的值。
[0023]本发明实施例的优点是其提供了与解码器已经接收到的时间层的数目无关的POC定义。【专利附图】

【附图说明】
[0024]图1示意性地示意了根据现有技术的具有两个时间层的编码结构的示例。
[0025]图2a示意了根据本发明的实施例的解码器中的方法的流程图。
[0026]图2b示出了如何根据第一和第二方案来确定P0C,而图2c示出了如何根据本发明的实施例的第三和第四方案来确定P0C。
[0027]图3示意性地示出了根据本发明的实施例的编码器。
[0028]图4示意性地示出了根据本发明的实施例的解码器。
【具体实施方式】
[0029]如上所述,编码器必须向解码器指示应该以何种顺序输出或显示画面。这是通过使用上述的POC值来进行的。为了计算当前画面的POC值,从先前参考画面计算变量prevPicOrderCntMsb和prevPicOrderCntLsb。因此,需要通过与解码器解码多少层无关的方式来识别从什么先前参考画面获取这些值。
[0030]应该注意到的是,在首先接收到当前画面时,即,在不存在先前参考画面时,将prevPicOrderCntMsb和prevPicOrderCntLsb设置为零,并从而POC值也被设置为零。在当前画面是第二个接收到的画面时,prevPicOrderCntMsb和prevPicOrderCntLsb等于零,但将与当前画面一起发送的pic_order_cnt_lsb与prevPicOrderCntMsb和prevPicOrderCntLsb 一起使用来计算该当前画面的POC值。此外,在解码器处存储prevPicOrderCntMsb 和 prevPicOrderCntLsb。
[0031]在图2a的流程图中,根据第一和第三方案示意了使用参考画面来编码具有多个画面的视频流的当前画面的表示的方法和解码具有多个画面的视频流的当前画面的表示的方法。POC值向解码器指示应该输出或显示当前画面的顺序,每个画面属于由层标识标识的层。
[0032]编码器确定200P0C值,并向解码器发送210对当前画面的POC值的最低有效位(称为piC_0rder_Cnt_lsb)进行指示的语法单元210,以及解码器接收202所述当前画面的Pic_order_cnt_lsb。可以如图2a中示意的在片首部中发送pic_order_cnt_lsb。pic_order_cnt_lsb被用于确定203解码器要使用的当前画面的POC值。此外,解码器将当前画面的POC值确定为pic_order_cnt_lsb与当前画面的POC值的最高有效位PicOrderCntMsb之和。根据第一方案,当前画面的PicOrderCntMsb是至少使用prevPicOrderCntMsb 和 prevPicOrderCntLsb 导出的,prevPicOrderCntMsb 被设置为等于层标识小于等于当前画面的层标识的、按解码顺序的先前参考画面的POC值的最高有效位,以及prevPicOrderCntLsb被设置为等于层标识小于等于当前画面的层标识的、按解码顺序的先前参考画面的POC的最低有效位(称为pic_order_cnt_lsb)的值。被用于确定POC的按解码顺序的先前参考画面是当前画面的最接近先前参考画面。满足特定条件(例如,参考画面的层标识小于等于当前画面的层标识)的按解码顺序的最接近参考画面等效于满足条件的最后解码的参考画面。用于prevPicOrderCntLsb的先前参考画面优选地与用于prevPicOrderCntMsb的先前参考画面相同。
[0033]因此,使用prevPicOrderCntMsb 和 prevPicOrderCntLsb 的值导出当前画面的PicOrderCntMsb。下面的伪代码给出了可以如何进行导出的示例:
[0034]
【权利要求】
1.一种使用参考画面对具有多个画面的视频流的当前画面的表示进行解码的方法,其中,每个画面属于由层标识来标识的层,所述方法包括以下步骤: -从比特流接收(202)当前画面的画面顺序计数POC值的最低有效位pic_order_cnt_lsb,以及 -将解码器要使用的当前画面的POC值确定(203)为pic_order_cnt_lsb与当前画面的POC的最高有效位PicOrderCntMsb之和,其中,当前画面的PicOrderCntMsb是至少使用PrevPicOrderCntMsb 和 prevPicOrderCntLsb 导出的,prevPicOrderCntMsb 被设置为等于层标识小于等于当前画面的层标识的、按解码顺序的先前参考画面的POC值的最高有效位PicOrderCntMsb,以及prevPicOrderCntLsb被设置为等于层标识小于等于当前画面的层标识的、按解码顺序的先前参考画面的POC值的最低有效位pic_order_cnt_lsb的值。
2.根据权利要求1所述的方法,其中,先前参考画面是层标识小于等于当前画面的层标识的、按解码顺序的最接近参考画面。
3.根据权利要求1或2所述的方法,其中,所述层是时间层,所述时间层标识符对应于temporal_id。
4.一种解码器(400),被配置为使用参考画面对具有多个画面的视频流的当前画面的表示进行解码,每个画面属于由层标识来标识的层,其中,所述解码器被配置为从比特流接收当前画面的画面顺序计 数POC值的最低有效位pic_order_cnt_lsb,以及所述解码器(400)包括处理器(420),所述处理器(420)被配置为将所述解码器(400)要使用的当前画面的POC值确定为pic_order_cnt_lsb与当前画面的POC值的最高有效位PicOrderCntMsb 之和,其中,当前画面的 PicOrderCntMsb 是至少使用 prevPicOrderCntMsb和prevPicOrderCntLsb导出的,prevPicOrderCntMsb被设置为等于层标识小于等于当前画面的层标识的、按解码顺序的先前参考画面的POC值的最高有效位PicOrderCntMsb,以及prevPicOrderCntLsb被设置为等于层标识小于等于当前画面的层标识的、按解码顺序的先前参考画面的POC值的最低有效位pic_order_cnt_lsb的值。
5.根据权利要求4所述的解码器(400),其中,先前参考画面是层标识小于等于当前画面的层标识的、按解码顺序的最接近参考画面。
6.根据权利要求4或5所述的解码器(400),其中,所述层是时间层,所述时间层标识符对应于temporal_id。
7.一种使用参考画面对具有多个画面的视频流的当前画面的表示进行解码的方法,其中,每个画面属于由层标识来标识的层,所述方法包括以下步骤: -从比特流接收(202)当前画面的画面顺序计数POC值的最低有效位pic_order_cnt_lsb,以及 -将解码器要使用的当前画面的POC值确定(203)为pic_order_cnt_lsb与当前画面的POC的最高有效位PicOrderCntMsb之和,其中,当前画面的PicOrderCntMsb是至少使用prevPicOrderCntMsb 和 prevPicOrderCntLsb 导出的,prevPicOrderCntMsb 被设置为等于层标识等于零的、按解码顺序的先前参考画面的POC值的最高有效位PicOrderCntMsb,以及prevPicOrderCntLsb被设置为等于层标识等于零的、按解码顺序的先前参考画面的POC值的最低有效位pic_order_cnt_lsb的值。
8.根据权利要求7所述的方法,其中,先前参考画面是层标识等于零的、按解码顺序的最接近参考画面。
9.根据权利要求7或8所述的方法,其中,所述层是时间层,所述时间层标识符对应于temporal_id。
10.一种解码器(400),被配置为使用参考画面对具有多个画面的视频流的当前画面的表示进行解码,每个画面属于由层标识来标识的层,其中,所述解码器被配置为从比特流接收当前画面的画面顺序计数POC值的最低有效位pic_order_cnt_lsb,以及所述解码器(400)包括处理器(420),所述处理器(420)被配置为将所述解码器(400)要使用的当前画面的POC值确定为pic_order_cnt_lsb与当前画面的POC值的最高有效位PicOrderCntMsb 之和,其中,当前画面的 PicOrderCntMsb 是至少使用 prevPicOrderCntMsb和prevPicOrderCntLsb导出的,prevPicOrderCntMsb被设置为等于层标识等于零的、按解码顺序的先前参考画面的POC值的最高有效位PicOrderCntMsb,以及prevPicOrderCntLsb被设置为等于层标识等于零的、按解码顺序的先前参考画面的POC值的最低有效位pic_order_cnt_lsb 的值。
11.根据权利要求10所述的解码器(400),其中,先前参考画面是层标识等于零的、按解码顺序的最接近参考画面。
12.根据权利要求10或11所述的解码器(400),其中,所述层是时间层,所述时间层标识符对应于temporal」d。
【文档编号】H04N19/46GK103843341SQ201280046868
【公开日】2014年6月4日 申请日期:2012年9月20日 优先权日:2011年9月27日
【发明者】乔纳坦·萨缪尔森, 理卡尔德·肖伯格, 玻尔·温纳斯滕 申请人:瑞典爱立信有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1