用于多视点视频编码的假设参考解码器的制作方法

文档序号:7937548阅读:207来源:国知局
专利名称:用于多视点视频编码的假设参考解码器的制作方法
技术领域
本申请涉及一种压缩视频系统中的用于多视点视频编码的假设参考解码器。

背景技术
假设参考解码器(HRD)在压缩视频系统中是有价值的,这是由于它用于使编码比特流对标准的遵循生效。在编码标准(比如H.264/AVC)中,在标准的多视点视频编码(MVC)特征中存在大量的互操作性点。MVC允许解码器同时对一个或者更多视点进行解码,并且对一个视点的解码可能需要来自其它视点的信息。H.264/AVC标准具有定义HRD的规则(也称作要求、限制或者操作规范)。HRD一致性是H.264/MPEG-4AVC标准的标准化部分。任意AVC比特流必须遵循根据该规则建立的HRD。目前,没有针对MVC HRD定义的规则。之前的HRD不具有足以允许它们使诸如AVC中的MVC比特流等比特流有效的规则。
在很多情况下,需要使用编码器以及解码器处的缓冲机制来使平滑压缩比特流中的比特率变化。物理缓冲的大小是有限的,因此编码器将对比特率变化进行限制以适合缓冲极限。视频编码标准不强制要求特定的编码器或者解码器缓冲机制,但是它们要求编码器控制比特率波动,使得给定缓冲区大小的假设参考解码器(HRD)(或者虚拟缓冲验证器(VBV))在不出现缓冲上溢或者下溢的情况下对视频比特流进行解码。
该HRD基于理想化的解码器模型。HRD的目的是在编码流中对于比特率随着时间的变化施加基本的缓冲限制。这些限制使得较高层可以对流进行复用,并且使得性价比高的解码器能够实时解码。在下面的讨论中,使用H.264/AVC作为例子。尽管如此,可以将本发明扩展至其它视频编码模型或者标准。


发明内容
本发明提出了几种定义用于多视点视频编码(MVC)的假设参考解码器(HRD)的方法。
在MVC的当前的基于H.264/MPEG-4AVC的实现中,参考软件通过用单一编码器对每一个视点进行编码并且考虑到交叉视点参考来实现多视点预测。编码器将每一个视点按照它原始的分辨率编码为分离的比特流,并且稍后将所有比特流合并以形成单一比特流。在解码器侧,用户可以基于其应用对一个或者更多个视点进行解码。在目前的规范中,没有针对MVC定义的HRD规则。
在MVC中,假定总共存在N个编码视点。解码器可以具有同时对任意M(1≤M≤N)个视点进行解码的灵活性。M个视点的每一种组合意味着一个互操作性点(IOP)。为了允许最佳的灵活性,在本类中,本发明提出MVC HRD针对每一IOP定义HRD限制。该解决方案的问题是存在高达(2N-1)种的、过多的组合。即使对M加以限制(其中M≤32),组合的总数依然很大。本发明描述了为用于多视点视频编码的假设参考解码器提供规则的方法,其中针对每一个可互操作点指定该规则。



图1示出了由单一视点的HRD参数得到的视点组合的HRD参数。
图2示出了多视点视频编码编码器。
图3示出了多视点视频编码解码器。
图4示出了用于第1类的MVC编码过程的视频可用性信息。
图5示出了用于第1类的MVC解码过程的视频可用性信息。
图6示出了第1类的多视点嵌套SEI编码过程。
图7示出了第1类的多视点嵌套SEI解码过程。
图8示出了用于第2类的MVC编码过程的视频可用性信息。
图9示出了用于第2类的MVC解码过程的视频可用性信息。
图10示出了第2和第3类的多视点嵌套SEI编码过程。
图11示出了第2和第3类的多视点嵌套SEI解码过程。
图12示出了用于第3类的MVC编码过程的视频可用性信息。
图13示出了用于第3类的MVC解码过程的视频可用性信息。

具体实施例方式 在当前H.264/MPEG-4AVC参考实现中,将HRD相关参数放在序列参数集合(SPS)和SEI消息中。
如表1所示,SPS包含语法结构VUI参数。
表1序列参数集合 如表2所示,将语法元素num_units_in_tick、time_scale、fixed_frame_rate_flag以及low_delay_hrd_flag以及语法结构HRD参数被置于语法结构VUI参数中。
表2VUI参数 语法结构HRD参数包含指定缓冲区大小以及比特率等的语法。
缓冲期SEI以及图像定时SEI指定在对图像进行解码之前的初始编码图像缓冲移除延迟以及用于导出每一幅图像的定时的参数。
基于当前的AVC实现、SPS中放置的HRD相关参数、以及在缓冲期SEI和图像定时SEI中放置的参数,可以针对H.264/MPEG-4AVC比特流定义一组HRD限制。
尽管如此,当前的AVC实现仅支持一组HRD参数,这不适合MVC比特流中包含的多个IOP。
在AVC的当前基于H.264/MPEG-4AVC的实现中,参考软件通过用单一编码器对每一个视点进行编码并且考虑到交叉视点参考来实现多视点预测。由编码器将每一个视点以其原始分辨率编码为分离的比特流,并且稍后将所有比特流合并以形成单一比特流。在解码器处,用户可以基于其应用对一个或者更多个视点进行解码。图2和图3分别示出了MVC编码器和解码器图。
在当前规范中,没有针对MVC定义的HRD规则。
在很多所描述的实施例中,使用MVC的基于H.264/MPEG-4AVC框架的实现。相似的理念适用于其它视频编码标准。例如,可以将为一个或者更多操作点(如互操作性点)指定特定参数的特征应用于除了H.264/MPEG-4AVC标准之外的标准。
本文描述了三个不同类别的实现。
A.为MVC中的每一个互操作点指定HRD规则 在MVC中,假定总共存在N个编码视点。解码器可以具有同时对任意M(1≤M≤N)个视点进行解码的灵活性。M个视点的每一种组合意味着一个互操作性点(IOP)。为了允许最佳灵活性,在本类中,本发明提出MVC HRD针对每一个IOP定义HRD限制。该解决方案的问题是存在高达(2N-1)种的、过多的组合。即使对于M加以限制,(其中M≤32),组合的总数依然很大。
下面描述本解决方案的实施例。
在下面对AVC HRD规则的修改中对视点的所有组合进行组合。表3取自AVC标准,并且涉及AVC-HRD。使用斜体来示出对AVC标准表的添加。在表4中引入新的SEI消息,即多视点嵌套SEI。在图4和图5中分别示出了VUI编码和解码过程的流程图。并且在图6和图7中分别示出了多视点嵌套SEI编码和解码过程的流程图。
1、VUI参数如表所示,表3示出通过引入测试变量“profile_idc”的“if-then”语句,对AVC标准中的VUI参数的语法进行了修改。如果“profile_idc”等于“MVC”,则执行一次或者更多次循环,以测试一个或者更多个点(即,IOP)。如果“profile_idc”不等于“MVC”,则假定“AVC”是相关标准,并且执行“else”,以为AVC兼容测试一个点(使用现有的AVC-HRD规则)。如果“profile_idc”等于MVC,则执行第30至60行,否则,执行第63至88行。变量“num_view_combinations_minus1”(第30行)提供循环中IOP的数量。在主循环中,针对每一个IOP的子循环(第33至34行)提供与IOP相关联的view_ids。对于每一个子循环,“num_views_minus1[i]”(第32行)提供与第i个IOP相关联的的视点数量,并且“view_id[i][j]”(第34行)提供第i个IOP的第j个视点的view_id。第35至59行提供针对第i个IOP的语法。对于MVC比特流来说,最多可以存在(2N-1)个IOP。这与针对AVC比特流的单一检查点相比较。
2、在表4中定义新的SEI消息,即多视点嵌套SEI。多视点嵌套SEI消息涉及存取单元。多视点嵌套SEI消息包含一个并且仅包含一个SEI消息,该消息称作嵌套SEI消息。嵌套SEI消息的应用范围由第2至10行的语法所指示。
“num_view_combinations_minus1”、“num_views_minus1[i]”以及“view_id[i][j]”共享VUI参数中的相同语义。
3、可以将缓冲期SEI消息以及图像定时SEI消息(它们是AVC的一部分)实现为在多视点嵌套SEI消息中嵌入的SEI消息有效载荷。缓冲期SEI和图像定时SEI的语法保持与AVC中的一样。针对AVC兼容视点的缓冲期SEI消息和图像定时SEI消息不应当嵌套在多视点嵌套SEI中。这允许AVC兼容性。
表3VUI参数语法 num_view_combinations_minus1加1指示由引用包含该hrd_parameters()的SPS中相同seq_parameter_set_id的比特流所支持的视点组合的数量。
num_views_minus1[i]指示与第i个IOP相关联的视点数量。
view_id[i][j]指示第i个IOP的第j个视点的view_id。
timing_info_present_flag[i]指定了第i个IOP的timing_info_present_flag值。
num_units_in_tick[i]指定了第i个IOP的num_units_in_tick值。
time_scale[i]指定了第i个IOP的time_scale值。
fixed_framerate_flag[i]指定了第i个IOP的fixed_frame_rate_flag值。
nal_hrd_parameters_present_flag[i]指定了第i个IOP的nal_hrd_parameters_present_flag值。
vcl_hrd_parameters_present_flag[i]指定了第i个IOP的vcl_hrd_parameters_present_flag值。
low_delay_hrd_flag[i]指定了第i个IOP的low_delay_hrd_flag值。
pic_struct_present_flag[i]指定了第i个IOP的pic_struct_present_flag值。
timing_info_present_flag、num_units_in_tick、time_scale、nal_hrd_parameters_present_flag、vcl_hrd_parameters_present_flag、low_delay_hrd_flag以及pic_struct_present_flag具有与AVC中一样的语义。
表4多视点嵌套SEI消息语法 all_view_combinations_in_au_flag等于1指示了嵌套SEI消息适用于存取单元的所有视点组合。all_view_combinations_in_au_flag等于0指示,由语法元素num_view_combinations_minus1、num_views_minus1[i]以及view_id[i][j]以信号发送该嵌套SEI消息的可应用范围。
num_view_combinations_minus1加1指示了该比特流支持的视点组合的数量。
num_views_minus1[i]指示了与第i个IOP相关联的视点的数量。
view_id[i][j]指示了第i个IOP的第j个视点的view_id。
B、指定仅针对一组IOP的HRD规则 在本类中,提出了针对一组IOP定义MVC HRD,并且从该组得到其它组IOP。在一实施例中,提出了MVC HRD仅定义用于对每一个可能的单一视点进行解码的HRD限制,并且根据相关单一视点参数推出用于对多于一个视点进行解码的HRD参数。该方法允许发送比第一种方法更少的参数,但是它为推导增添了更多的复杂性。
下面描述本解决方案的实施例 针对每一个视点定义HRD。发送的HRD参数集合的最大数量是M,其中M=1...N。所以,如果存在N个视点,该实施例将发送N组HRD参数。图8和图9分别示出了VUI编码和解码过程的流程图。并且图10和图11分别示出了多视点嵌套SEI编码和解码过程的流程图。
1、VUI参数如表所示,示出了通过引入测试变量“profile_idc”的“if-then”语句,对AVC标准中的VUI参数的语法进行了修改。如果“profile_idc”等于“MVC”,则执行一次或者更多次循环,以测试一个或者更多个点。如果“profile_idc”不等于“MVC”,则假定“AVC”是相关标准,并且执行“else”,以为AVC兼容测试一个点(使用现有的AVC-HRD规则)。如果“profile_idc”是MVC,则执行第30至58行,否则,执行第61至85行。变量“num_views_minus1”(第30行)提供循环中视点的数量。“view_id[i]”(第32行)提供第i个视点的view_id。第33至58行提供第i个视点的语法。在MVC比特流中最多可以存在M个视点(M=1...N)。这与针对AVC比特流的单一检查点相比较。
2、在表6中定义了新SEI消息,即多视点嵌套SEI。多视点嵌套SEI消息涉及存取单元。多视点嵌套SEI消息包含一个并且仅包含一个SEI消息,该消息称作嵌套SEI消息。嵌套SEI消息的应用范围由第2至7行的语法所指示。“num_views_minus1”以及“view_id[i]”共享VUI参数中的相同语义。
3、可以将缓冲期SEI消息以及图像定时SEI消息实现为在多视点嵌套SEI消息中嵌入的SEI消息有效载荷。缓冲期SEI和图像定时SEI的语法保持与AVC中的一样。针对AVC兼容视点的缓冲期SEI消息和图像定时SEI消息不应当嵌套在多视点嵌套SEI中。
由与IOP相关联的视点的HRD参数得到每一个IOP(视点组合)的HRD参数。在图1中给出了一个示例。
表5VUI参数语法 num_views_minus1指示比特流中的视点总数。
view_id[i]指示第i个视点的view_id。
timing_info_present_flag[i]指定了第i个视点的timing_info_present_flag值。
num_units_in_tick[i]指定了第i个视点的num_units_in_tick值。
time_scale[i]指定了第i个IOP的time_scale值。
fixed_frame_rate_flag[i]指定了第i个视点的fixed_frame_rate_flag值。
nal_hrd_parameters_present_flag[i]指定了第i个视点的nal_hrd_parameters_present_flag值。
vcl_hrd_parameters_present_flag[i]指定了第i个视点的vcl_hrd_parameters_present_flag值。
low_delay_hrd_flag[i]指定了第i个视点的low_delay_hrd_flag值。
pic_struct_present_flag[i]指定了第i个视点的pic_struct_present_flag值。
timing_info_present_flag、num_units_in_tick、time_scale、nal_hrd_parameters_present_flag、vcl_hrd_parameters_present_flag、low_delay_hrd_flag以及pic_struct_present_flag具有与AVC中相同的语义。
表6多视点嵌套SEI消息语法 all_views_in_au_flag等于1指示了嵌套SEI消息适用于存取单元的所有视点。all_views_in_au_flag等于0指示,由语法元素num_views_minus1以及view_id[i]以信号发送嵌套SEI消息的可应用范围。
num_views_minus1加1指示了该比特流支持的视点数量。
view_id[i]指示了第i个视点的view_id。
C、指定用于最差情况的HRD规则 在本类中,提出MVC HRD仅定义用于对M(M=1...N)个视点进行解码的最差情况的HRD限制。可以将最差情况定义为,例如要求最大的缓冲区大小、最长延迟、最高比特率、传输任意M个视点的最多比特消耗等情况。所以,可以为对每M个视点进行解码定义1组HRD参数。即,定义用于最差情况单一视点的一组HRD参数,以及用于最差情况2视点组合的一组HRD参数,等等,直到用于最差情况N-1视点组合的一组HRD参数,以及用于(最差情况)N视点组合的一组HRD参数。一共仅定义N组HRD参数,用于针对1、2、...、直至N个视点测试HRD一致性。该方法的缺点是,同一个特定情况可能需要的限制相比,它需要发送更高的限制。但是可以节约用于发送所有HRD参数的比特,并且不推导任意参数。
下面描述该解决方案的实施例。
发送的HRD参数集合的最大数量是M,其中M=1...N。图12和图13分别示出了VUI编码和解码过程的流程图。
1、VUI参数如表所示,表7示出了通过引入测试变量“profile_idc”的“if-then”语句,对AVC标准中的VUI参数的语法进行了修改。如果“profile_idc”等于“MVC”,则执行一次或者更多次循环,以测试一个或者更多个点。如果“profile_idc”不等于“MVC”,则假定“AVC”是相关标准,并且执行“else”,以为AVC兼容测试一个点(使用现有的AVC-HRD规则)。如果“profile_idc”是MVC,则执行第30至57行,否则,执行第60至84行。变量“num_views_minus1”(第30行)提供比特流中视点的数量。第32至56行提供了针对于与对(num_views_minus1+1)个视点的任意i个视点进行解码的最高HRD限制相关联的HRD相关参数的语法。
应当注意到表7与表5不同。例如,参见记载了“view_id[i]”的表5的第32行。
2、可以将缓冲期SEI消息以及图像定时SEI消息实现为在多视点嵌套SEI消息中嵌入的SEI消息有效载荷。多视点嵌套SEI消息的语法可以共享表6中定义的那个。嵌套缓冲期和图像定时SEI消息与对比特流中的视点发送的总数个视点中的任意(num_views_minus1+1)个视点进行解码的最高HRD限制相关联。缓冲期SEI和图像定时SEI的语法保持与AVC中的一样。针对AVC兼容视点的缓冲期SEI消息和图像定时SEI消息不应当嵌套在多视点嵌套SEI中。
表7VUI参数语法 num_views_minus1指示比特流中的视点总数。
timing_info_present_flag[i]指定了用于对i个视点进行解码的timing_info_present_flag值。
num_units_in_tick[i]指定了用于对i个视点进行解码的num_units_in_tick值。
time_scale[i]指定了用于对i个视点进行解码的time_scale值。
fixed_frame_rate_flag[i]指定了用于对i个视点进行解码的fixed_frame_rate_flag值。
nal_hrd_parameters_present_flag[i]指定了用于对i个视点进行解码的nal_hrd_parameters_present_flag值。
vcl_hrd_parameters_present_flag[i]指定了用于对i个视点进行解码的vcl_hrd_parameters_present_flag值。
low_delay_hrd_flag[i]指定了用于对i个视点进行解码的low_delay_hrd_flag值。
pic_struct_present_flag[i]指定了用于对i个视点进行解码的pic_struct_present_flag值。
参数timing_info_present_flag、num_units_in_tick、time_scale、nal_hrd_parameters_present_flag、vcl_hrd_parameters_present_flag、low_delay_hrd_flag以及pic_struct_present_flag具有与AVC中相同的语义。
图4至13示出了用于写入或者读取被标识的特定语法的各种流程图。
本文描述了几种实现,例如提供了用于写入和/或读取HRD说明的规则,所述HRD用于MVC。这使得可以在MVC中定义和使用HRD。
尽管如此,所描述的实现的特征和方面还可适于其它实现。例如,如上所述,可以使用用于其它标准的上述特征来提供HRD。此外,可以使用上述实施例的变型来提供HRD。这些变型可以包括例如使用其它高级语法、使用非高级语法、提供针对其它IOP的参数的实现。因此,尽管可以在实现了本文描述的三个主要实现之一的、针对H.264的高级语法的上下文中描述本文所述的发明,但不应当认为这些描述将特征和概念限制为这样的实现或者上下文。
可以用例如方法或者过程、装置、或者软件程序来实现本文中描述的实现。即使仅在单一形式实现的上下文中进行了讨论(例如,仅作为方法讨论),也还可以将所讨论的实现或者特征以其它形式加以实现(例如,装置或者程序)。可以用例如适当的硬件、软件以及固件来实现装置。可以用例如装置(比如计算机或者其它处理设备)来实现方法。此外,可以由处理设备或者其它装置执行的指令来实施方法,并且可以在计算机可读介质(比如CD、或者其它计算机可读存储设备、或者集成电路)上存储这些指令。
对于本领域技术人员而言显而易见的是,所述实现还可以产生被格式化为承载信息的信号,可以例如存储或者传输该信息。该信息可以包括例如用于执行方法的指令,或者由所描述的实现之一所产生的数据。例如,可以将信号格式化为,将用于写入或者读取描述的实施例的语法的规则作为数据来承载,或者将由所描述的实施例写入的实际语法作为数据来承载。
此外,可以在编码器和解码器中的一个或者二者中同时实现多种实现。
此外,通过本发明可以构思出其它实现。例如,可以通过将所披露的实现的各种特征进行组合、删除、修改或者补充,来创建附加实现。
之前的描述提供了一些不同的实施。本意上,这不是穷尽的,而仅仅是提供对多个可能实现中少量实现的简短描述。
权利要求
1、一种用于多视点视频编码的假设参考解码器,其中,针对MVC中的每一个互操作点,指定与一个或者更多个参数和比特流限制信息相关的规则。
2、一种用于多视点视频编码的、与假设参考解码器相关的参数和比特流限制信息,其中,仅针对一组互操作点来指定规则,并且根据所指定的一组推导出其它组。
3、一种用于多视点视频编码的、与假设参考解码器相关的参数和比特流限制信息,其中,仅针对对任意数量的视点进行解码的最差情况来指定规则。
4、一种假设参考解码器中的多视点视频编码方法,其中,定义嵌套SEI消息,以针对每一个视点或者不同视点的组合指定信息。
5、根据权利要求1、2或3所述的假设参考解码器,其中,以高级语法定义所有HRD相关参数以及比特流限制信息。
6、根据权利要求1、2或3所述的假设参考解码器,其中,使用高级语法来描述所述规则,并且所述高级别语法能够由序列参数集合(SPS)、视频可用性信息(VUI)、图像参数集合(PPS)、像条头、nal_unit头、或者补充增强信息(SEI)消息中的至少一个构成。
7、根据权利要求1、2或3所述的假设参考解码器,其中,使用所述profile_idc参数来区分所述多视点视频编码情况或者AVC兼容情况。
8、根据权利要求1所述的假设参考解码器,其中,所述实现遍历所有视点和它们的组合。
9、根据权利要求2所述的假设参考解码器,涉及用于多视点视频编码的HRD相关参数和比特流限制信息,其中,仅针对对单一视点进行解码来指定规则,并且根据所述单一视点的与假设参考解码器相关的参数和比特流限制信息推导用于对多于一个视点进行解码的、与假设参考解码器相关的参数和比特流限制信息。
10、根据权利要求9所述的假设参考解码器,其中,所述解码器遍历每一个视点。
11、根据权利要求3所述的假设参考解码器,还包括遍历所述比特流中的每一个视点。
12、一种用于指定规则、以创建用于多视点视频编码的假设参考解码器的方法,其中,所述规则可以以高级语法表示。
13、一种用于写入适当语法以描述假设参考解码器的参数的装置,所述假设参考解码器用于多视点视频编码。
14、一种用于读取适当语法的装置,所述语法描述了假设参考解码器的参数,所述假设参考解码器用于多视点视频编码。
15、一种存储规则、以指定用于多视点视频编码的假设参考解码器的计算机可读介质,其中,可以由编码器存取这些存储的规则,以描述所述HRD的参数。
16、一种存储规则、以解释接收到的信息的计算机可读介质,其中,所述信息描述了用于多视点视频编码的假设参考解码器的参数,并且解码器能够存取这些存储的规则,以解释从编码器接收到的语法。
17、一种对比特流进行编码的方法,其中,将所述比特流进行格式化为包括描述参数的信息,所述参数是用于多视点视频编码的假设参考解码器的参数。
全文摘要
本发明提供了一种定义用于多视点视频编码(MVC)的假设参考解码器(HRD)的方法和装置,所述方法和装置针对每一个可能的互操作性点定义限制。M个视点的每一种组合意味着一个互操作性点。本发明的所述原理还允许针对一组互操作点定义限制,并且从所定义一组推导出其它组。所述方法还使得可以根据所述比特流语法中的信息推导出互操作性点的规则。
文档编号H04N7/26GK101658040SQ200880012062
公开日2010年2月24日 申请日期2008年4月14日 优先权日2007年4月17日
发明者罗建聪, 朱立华, 鹏 尹, 普尔温·比贝哈斯·潘迪特 申请人:汤姆森许可贸易公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1