一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

允许按照子画面或区域随机接入的视频编解码器以及使用该视频编解码器的视频合成概念的制作方法

2021-10-24 06:33:00 来源:中国专利 TAG:视频 合成 编码


1.本技术涉及视频编码和视频合成。


背景技术:

2.各种应用利用子画面,即,为了单独编码和解码,将视频画面细分为子画面。在这些应用中,有360
°
视频和渐进解码刷新。
3.在360
°
视频的情况下,如图1的左侧所示,以不同的分辨率单独地提供子画面(hevc情况下的图块)。如图1的中间所示,用户根据他们的观看方向选择一些高分辨率的图块和一些低分辨率的图块,并且如图10的右侧所示,将其合并为共同比特流。每当用户改变其观看方向时,高分辨率和低分辨率的图块集改变。然而,并非所有的高分辨率图块都会转换为低分辨率图块,反之亦然。这意味着仅对于改变其分辨率的图块子集,需要切换点,切换点通常是该特定子画面比特流的随机接入点(rap)。
4.渐进解码刷新(gdr)是一种在非rap处开始解码比特流的机制,并且能够在解码给定数量的画面之后以与如同解码过程是在rap处开始的一样的相同的质量显示视频,如图11所示。
5.例如,在图11中,四个连续的非rap画面(以编码顺序900连续的)示出为被相等地细分为三个图块组tile_group0、tile_group1和tile_group2,即,细分为相应画面的区域。视频902的画面由附图标记904a至904d表示,并且使用附图标记906来表示它们被细分成的区域。每个区域906被指示为以独立的方式编码,即以形成随机接入点的方式(即,通过在其中写入“irap”),或者不以独立的方式编码,即被指示为以参考其他画面的方式编码(通过在其中写入“inter”)。图11所示的四个画面904a至904d中没有一个是所有区域906都被编码为随机接入点的。相反,在图11的示例中,仅其区域之一是随机接入点,但是在图11的示例中,三个连续画面(例如,画面904a至904c)的随机接入点区域在空间上完全覆盖视频902的画面的画面区域,因此,在此三联画面之后,可在解码器处获得无伪影的此三联画面的最后一张画面(此处为画面904c),前提是编码器注意该画面904c的非rap区域仅参考(例如,为了预测和/或熵上下文导出,即,就编码相互依赖性而言)rap区域或本身直接或间接地仅对rap区域具有编码依赖性的非rap区域。也就是说,当解码以rap开始时,不会立即获得干净的解码画面,而是稍后,在解码画面已被逐渐刷新以消除丢失参考的伪影之后获得干净的解码画面。此处,即是画面904c。通常,gdr可以通过将内容划分为区域(例如,图块)并且利用非对准的子画面rap对其进行编码来实现。
6.作为所提到的两种情况中的任何一种的结果,跨不同子比特流的参考会有所变化。对于不同的子画面,rap标记也没有清楚地完成,因为这样的子画面仅被以信号传达为i_slice类型(不应用对先前解码画面的预测),并且仅通过不在参考画面列表中包括具有i_slice类型的画面之前的子画面来完成对同一子画面比特流的连续子画面的中断预测。
7.尽管存在上述现有视频编码概念,但是仍需要允许例如更有效的视频合成和/或
渐进解码刷新的更有效实现的视频编码环境。
8.因此,本发明的目的是提供一种视频编解码器,其允许更有效的视频合成/合并和/或渐进解码刷新的更有效实现和/或例如就合成/合并任务的复杂性而言允许视频合成/合并更有效的概念。


技术实现要素:

9.该目的通过本技术的独立权利要求的主题来实现。
10.本技术的第一方面旨在通过引入随机接入点信令粒度指示来使视频编解码器中的视频合成/合并和/或渐进解码刷新的实现更有效,该随机接入点信令粒度指示向视频解码器指示允许子画面相关信息在视频的画面内空间地变化的粒度。子画面相关信息将相应子画面标识为以随机接入点方式编码或不以随机接入点方式编码。即,如果在数据流中与子画面相关信息分开地或在子画面相关信息之外附加地以信号传达的随机接入点信令粒度指示呈现第一粒度,则这指示对于形成随机接入点信令粒度指示的范围的一个或多个画面的集合中的每个画面,子画面相关信息对于相应画面的所有子画面呈现共同状态。也就是说,所有子画面然后或者呈现第一状态或者呈现第二状态,第一状态以信号传达相关联的子画面的随机接入点编码,第二状态以信号传达相关联的子画面的非随机接入点编码。然而,如果随机接入点信令粒度指示呈现第二粒度,则这指示对于一个或多个画面的集合中的每个画面,允许子画面相关信息对于相应画面的子画面呈现不同状态。由于引入了这样的随机接入点信令粒度指示,因此就对一个或多个输入视频流(在本文中有时被称为子流,其中编码有子画面)的储集提出的要求而言,减轻了合成其中以其画面被细分为子画面的方式编码视频的数据流的任务。具体地,这些输入视频流不需要以相互依赖的方式编码,其中,如果一个子流中的一个子画面是rap编码的,则其他子流的时间上对准的子画面也以rap方式编码。如果一些子流被编码在一个共同输入视频流中,则这些子流可以以如下的通常方式来编码:其中相应输入视频数据流的每个画面以这样的方式编码,即其中相应画面的所有子画面在输入视频数据流中具有与其相关联的子画面相关信息,该子画面相关信息或者对于相应画面的所有子画面是第一状态,或者对于相应画面的所有子画面是第二状态。但是,其他子流中的时间上对准的子画面可能不以rap方式编码。在合成包括随机接入点信令粒度指示的视频数据流时,合成器/合并器以这样的方式自由地将所编码的视频的画面合成为合成数据流,即使得画面被细分为子画面,其子画面相关信息已经从相应的输入视频数据流中被采用或取出,尽管至少一个是rap而至少另一个不是。因此,不需要例如为合成数据流中存在的每个子画面的子画面相关信息引入一个或多个新状态。换句话说,子画面相关信息可以简单地从一个或多个输入视频数据流的相应储集中取出。
11.子画面可以是图块或图块组,即,子画面可以独立于同一画面的其他子画面被编码。可替代地,子画面可以是形成mcts(即,运动约束图块集)的图块或图块组,这意味着子画面可以除此之外独立于空间偏移的其他画面的子画面被编码,其中,在这种情况下,画面可以以恒定的方式被细分为子画面,使得不同画面的子画面与空间上重合的子画面边界共同对准或空间上对准。因此,包括这样的随机接入点信令粒度指示的这样的数据流将能够通过使用与可能已经在画面粒度体系中编码的子流的储集中使用的相同的字母表来以信号传达子画面相关信息。例如,子画面相关信息可以包括区分诸如nal单元类型之类的多个
类型的整数值语法元素。每个子画面可以被编码在一个或多个nal单元中,每个nal单元具有例如这样的整数值语法元素。因此,不管随机接入点信令粒度指示是指示第一粒度还是第二粒度,由整数值语法元素区分的多个nal单元类型中的一个或多个nal单元类型的第一子集将对应于子画面相关信息的第一状态,而一个或多个nal单元类型的第二子集将对应于其第二状态。
12.随机接入点信令粒度指示可以被包含在数据流的sps或vps中,其中形成随机接入点信令粒度指示的范围的一个或多个画面的集合包括视频的画面序列或覆盖整个视频。可替代地,随机接入点信令粒度指示可以在数据流中按照接入单元来传送,其中形成随机接入点信令粒度指示的范围的一个或多个画面的集合仅包括一个画面。
13.不能解析随机接入点信令粒度指示的视频解码器可以在对于任何画面,子画面相关信息对于该画面的不同子画面呈现不同状态的情况下将数据流标识为不符合的数据流。能够解析和解码随机接入信令粒度指示的其他视频解码器可以根据该指示来调适解码行为:在随机接入点信令粒度指示呈现第一粒度并且对于形成随机接入点信令粒度指示的范围的一个或多个画面的集合中的任何画面,子画面相关信息对于该画面的不同子画面呈现不同状态的情况下,它们可以将数据流标识为不符合的数据流。
14.附加地或可替代地,在随机接入点信令粒度指示呈现第二粒度(即,子画面粒度)的情况下,可以激活视频解码器的更多功能,随后关于本技术的其他方面讨论该内容,因为这些功能同样可以有利地用于实现更有效的视频编解码器,而与使用一方面子画面相关信息和另一方面随机接入点信令粒度指示的并置无关。也就是说,根据以下方面的解码器仅可以在子画面粒度体系中操作,而无需以信号传达该体系的使用。
15.根据本技术的第二方面,目的是使视频编解码器在其关于以子画面编码的使用和例如关于其用于表示合成视频的方面更灵活。其画面被细分为子画面。该目的通过响应于对在数据流中针对每个子画面传送的子画面相关信息的评估而呈现视频解码器来实现。具体地,根据第二方面,其中编码有这样的视频的数据流针对每个画面的每个子画面包括子画面相关信息,该子画面相关信息当呈现第一状态时将相应子画面标识为以随机接入点方式编码,而当呈现第二状态时将相应子画面标识为不以随机接入点方式编码。视频解码器关于其子画面的子画面相关信息来检查画面。如果对于任何画面,子画面相关信息对于该预定画面的所有子画面呈现第一状态(即,所有其子画面表示随机接入点),则视频解码器清除()其解码画面缓冲器。类似于第一方面,这种概念允许从实际上针对不同的视频编解码器域生成的子流中合成数据流,其中一个画面内的子画面必须在子画面相关信息方面一致,即,一个画面的所有子画面将必须呈现相同的状态。然而,当合成这样的数据流时,可以简单地采用或从中取出用于合成数据流的各个子画面的子画面相关信息的状态。此外,视频解码器仍然能够识别真正的随机接入点,因为通过识别其中子画面相关信息对于相应画面的所有子画面呈现第一状态的画面,可以无伪影地恢复整个画面。结合第一方面,如果随机接入点信令粒度指示呈现第二粒度(即,子画面粒度),则视频解码器可以应用该识别随机接入点画面的功能,其中可以响应于看到这些画面的子画面相关信息对于相应画面的所有子画面呈现第一状态来清除解码画面缓冲器。结合第一方面,这样的视频解码器甚至可以改变其清除解码画面缓冲器时的调度:在随机接入点信令粒度指示呈现第一粒度(即,以画面粒度)的情况下,视频解码器可以响应于子画面相关信息对于特定画面的第一子画面
呈现第一状态,根据子画面之间的解码/编码顺序来清除解码画面缓冲器,因为无论如何与其他子画面相关的子画面相关信息都需要呈现相同的状态(即,第一状态)。在随机接入点信令粒度指示呈现第二粒度(即,子画面粒度)的情况下,响应于对于特定画面、子画面相关信息对于该预定画面的所有子画面呈现第一状态的解码画面缓冲器的清除进而可以被调度为在解码该画面的最后子画面时发生。
16.本技术的第三方面和第四方面涉及解码器侧的解码画面缓冲器管理。本技术的这些方面可以与第一方面和第二方面中的任一个组合,并且具有与以上针对方面1和方面2所概述的类似的目的。也就是说,本技术的第三方面和第四方面的目的在于提供一种视频编解码器,其允许从子画面相关的子流中合成合成数据流,使得合成器/合并器不需要协调或统一描述应当保留在dpb中的参考画面集的参考画面缓冲器描述,该参考画面缓冲器描述在促成合成数据流的各个子流中以信号传达,使得合成数据流将在每个画面的开始处立即以信号传达关于哪些画面形成当前画面的参考画面集,使得解码器可以在该当前画面的开始处从解码画面缓冲器中移除所有其他画面。准确地说,根据第三方面和第四方面,视频编解码器允许数据流以信号传达参考画面缓冲器描述,该参考画面缓冲器描述针对当前编码/解码画面的每个子画面单独地提供关于解码当前画面或在下一画面处解码所需的参考画面集的信息,使得参考画面缓冲器描述在当前画面的子画面之间可以不同。对于当前画面的当前子画面,这种参考画面缓冲器描述描述了包含用作当前子画面或后续画面的子画面的参考的子画面的画面,该后续画面的子画面例如通过与例如一个子视频相关的来源而与当前参考画面相关联。当被编码为单独的子视频时,子画面的缓冲器描述实际上指示包含属于同一子视频并且要被保持在dpb中的子画面的参考画面,因为这些子画面用作该子视频的当前子画面或后续子画面的参考。根据本技术的第三方面,解码器具有这样的功能:根据子画面的参考画面缓冲器描述,形成应当保留在dpb中的该当前画面的子画面的参考画面集的并集,以便标记解码画面缓冲器中的要保留在其中的那些画面,同时从解码画面缓冲器中移除其他画面,例如在解码当前画面的结束时进行移除。根据本技术的第四方面,解码器能够以子画面而不是完整画面为单位来执行解码画面的清空。对每个子画面单独地执行子画面的标记和移除。甚至换言之,根据第四方面,以当前解码画面的每个子画面的一个子画面解码画面缓冲器为单位来管理解码画面缓冲器,并且基于针对当前解码画面的相应子画面在数据流中提交的参考画面缓冲器描述来执行应当保留在相应子画面解码画面缓冲器中的子画面的标记,而应当从中移除其他子画面。如上面已提到的,后面的第三方面和第四方面可以例如与第一方面组合,使得解码器可以例如在随机接入点信令粒度指示呈现第二粒度的情况下具有刚刚关于第三方面和第四方面描述的功能,而在随机接入点信令粒度指示呈现第一粒度(即,画面粒度)的情况下以画面为单位管理/清空解码画面缓冲器,在这种情况下,解码器可以被配置为基于针对当前解码画面的首先遇到的参考画面缓冲器描述(即,基于针对当前画面首先以信号传达的参考画面缓冲器描述)来执行解码画面缓冲器的清空和标记。
17.本技术的第五方面涉及poc处理。类似于第三方面和第四方面,第五方面的目的在于提供一种视频编解码器,其允许数据流由已经例如使用不同的随机接入点周期、画面组或甚至使用不同的帧速率单独地编码的子流组成,从而导致时间上共同对准的子画面应当促成合成数据流,实际上,这些子画面在各种子流中以信号传达为具有不同的poc值。本申
请的第五方面可与任何先前的方面组合,并且其目的在于通过使合成器/合并器免除必须协调与不同子画面相关联并且具有不同来源的子流的poc值来减轻这种合成/合并过程。准确地说,视频编解码器允许数据流以信号传达实际上属于数据流的同一画面的子画面的不同poc值,同时解码器被配置为针对当前解码画面的每个子画面基于该子画面的解码poc值和与相应子画面相关联并且由解码器保持更新的一个或多个子画面间poc补偿参数来导出相应子画面的最终poc值,使得对于每个画面,子画面的最终poc值彼此相等(对于视频的每个画面)。该一个或多个子画面间poc补偿参数可以补偿贡献子流之间的帧速率差异、画面组的不同大小、不同的poc最小数值等。该一个或多个子画面间poc补偿参数可以包括poc偏移值和poc步长差。一些参数可以由解码器本身基于以信号传达的poc值与同一画面的不形成随机接入点的至少一个其他子画面的最终poc值之间的差来确定,例如随机接入点子画面处的poc偏移值。依次地,关于poc步长差的提示可以在数据流中传送,以便指导解码器并且减轻对这些poc步长差的确定。这些提示可以由可基于贡献子流中的高级参数来获知该知识的合成器/合并器插入到数据流中。
18.本技术的第六方面涉及一种视频编解码器以这样的方式实现渐进解码刷新的思想,即其中解码器对渐进解码刷新的知晓不仅在时间点方面或在从其开始完成渐进解码刷新的画面方面,而且还在满足对基于渐进解码刷新期间在数据流中传送的编码参数执行预测导出的某些约束方面。具体地,根据本技术的第六方面,视频解码器被配置为针对视频的每个参考画面记录将参考画面细分为刷新画面区域和非刷新画面区域。解码器从数据流中解码关于当前解码画面内的刷新更新区域的信息,并且使用帧间预测从数据流中解码刷新更新区域。此外,解码器确定当前解码画面的与刷新更新区域分开的并且将独立于参考画面的非刷新画面区域被编码/解码的第一区域,并且通过基于数据流中针对第一区域以信号传达的编码参数、以依赖于参考画面的刷新画面区域的位置的方式从参考画面中导出对第一区域的预测,使得预测独立于参考画面的非刷新画面区域,来从数据流中解码第一区域。例如,可以对运动矢量进行裁剪以便延伸到非刷新画面区域中、和/或可以使用填充以便将参考画面中超出刷新画面区域的经运动补偿的预测块的部分填充到非刷新画面区域中。可替代地,运动矢量候选列表构造可以排除源自刷新画面区域之外的运动矢量。解码器可以不同地处理第二区域。第二区域与第一区域和刷新更新区域分开,并且可以由包括来自刷新画面区域以及非刷新画面区域的预测的解码器进行解码。通过这种措施,刷新画面区域从画面到画面不断地增长。解码器知晓该增长,因为解码器甚至必须跟踪刷新画面区域的增长并且必须相应地执行关于第一区域的预测导出。使解码器知晓渐进解码刷新具有若干优点:解码器知晓当前的刷新情况、可能的随机接入周期等。由于解码器可能需要例如在画面的外部边界或独立编码的画面图块的外部边界处实施类似的措施,因此与预测导出相关联的工作以及根据参考画面的刷新画面区域的位置来呈现该导出的必要性几乎没有成本。编码器进而能够在较宽的值范围内对编码参数进行编码,因为解码器将编码参数的一些可以信号传达的状态从将导致对参考画面的非刷新画面区域的依赖性的预测重定向到仅依赖于刷新画面区域的预测。然而,相对于这些编码参数的编码,扩大编码参数可以信号传达的状态可能导致更高的压缩效率。
附图说明
19.本技术的有利方面是从属权利要求的主题。下面参照附图描述本技术的优选实施例,其中:
20.图1示出了说明用于基于若干输入子流来合成数据流或将子流合并为合成数据流的环境的示意图,其中解码器对该合成数据流进行解码;还示出了用于形成子流的对应编码器以及合成器/合并器本身;参照图2至图8描述的实施例用于描述可由合成器/合并器和/或解码器应用的有利功能和概念;
21.图2示出了说明允许指示是将子画面粒度还是画面粒度用于随机接入点信号化的视频编解码器概念的示意图;
22.图3示出了说明用于清除其解码画面缓冲器的解码器的可能功能的示意流程图;
23.图4示出了用于说明解码器在执行解码画面缓冲器清空时的有利功能的示意流程图;
24.图5示出了说明被配置为以子画面为单位执行解码画面缓冲器清空的解码器的示意图;
25.图6示出了说明用于解决合成视频数据流的画面内属于连续子视频的子画面的子画面重排的可能措施的示意图;
26.图7示出了说明视频解码器为了处理视频的不同子画面的不同poc域的有利措施的示意图;
27.图8示出了关于根据实施例的随机接入点子画面处的poc偏移补偿说明图7的概念的示意图;
28.图9示出了说明允许高效的渐进解码刷新的编码器和解码器的实施例的示意图;
29.图10示出了说明360
°
流传输示例的示例示意图,其中视频数据流由涉及全景场景的不同mcts的子流组成;以及
30.图11示出了说明渐进解码刷新的示意图。
具体实施方式
31.参照图1,解释了从子流的储集中合成数据流的任务。这样做是为了解释与其相关联的问题,即与子流的不同来源以及例如随机接入点定位、相关poc值、不同gop结构等(仅举了几个例子)的差异相关联的问题。然后,根据随后描述的实施例解决这些问题。这些实施例涉及本技术的不同方面,并且它们可以相互组合以形成进一步的实施例,如下面还将进一步解释的。然而,应当注意,图1中做出的一些假设对于稍后描述的实施例不是必需的,或者换句话说,关于图1所解释和讨论的一些特征可以相对于随后描述的实施例省去,而仍然从各个实施例所涉及的方面实现优点。这种情况也将在下面讨论。
32.图1示出了通过基于多个子流12或子流12的储集合成数据流10来产生数据流10的情况。该合成或合并的过程由合成器/合并器14完成。具体地,数据流10以这样的方式产生,即其中编码有画面18的视频16。图1中的箭头20说明在视频16的画面18之间定义的呈现时间顺序,即,当解码器22从数据流10中解码视频16时由解码器22输出画面18的顺序。画面18在空间上被细分为子画面24,如图1中的虚线26所示,该虚线26因此表示子画面的边界。具体地,数据流10中编码有以彼此独立地编码子画面24的方式编码的视频16。将子画面独立
地编码到数据流10中以及因此可能以彼此独立的方式从数据流10中解码子画面24至少涉及一个画面18内的子画面,即画面内部地进行编码和解码。例如,在图1中,画面18被示出为被细分为子画面24,使得每个画面18包括六个子画面,在图1中通过在其中写入相应的数字来列举这些子画面。因此,例如,以独立于同一画面18的任何其他子画面的方式将子画面3编码到数据流10中。因此,子画面3(例如,图1中以阴影线示出的一个子画面)可以由解码器22以独立于同一画面18的其他子画面1、2、4、5和6(即,也以阴影线示出的多个子画面)的方式从数据流10中解码。然而,根据图1的数据流10的另一特征在于,视频16的画面18以在画面序列上恒定的方式被空间地细分为子画面24。也就是说,当比较不同的画面时,它们的边界26在空间上重合。除此之外,并置或空间上对准的子画面(即,图1中写入了相同数字的子画面24)形成一个子视频,因为每个子画面24不仅独立于同一画面的其他子画面被编码,而且独立于相对于相应子画面空间偏移的其他画面的子画面(即,属于另一子视频或图1中写入了另一数字的所有子画面)被编码。例如,以hevc的术语来说,图1的每个子画面24可以是mcts。在没有视频16的甚至不同画面的编码独立性或空间偏移子画面这一后述特征的情况下,使用hevc的术语,子画面24可以例如作为一个或多个图块。
33.图1中在28处再次示出了由视频16的空间上共同对准的子画面24形成的各个子视频。因此,所有这些子视频由子画面24的序列组成。编码器30将这些子视频28独立地编码成多个子流32或子流32的储集。实际上,子视频28可以由编码器30成组地处理。一组子视频28可以被编码成一个输入数据流,以便其中编码有由该组子视频28以彼此独立地编码的方式组成的视频,使得这样的输入视频数据流由针对每个子视频28的子流32组成。子流32由合成器/合并器14接收,合成器/合并器14进而基于子流32合成数据流10。根据应用,实际上,仅子视频28的子集或仅子流32的子集可以促成数据流10,并且除此之外,该子集可以在视频16的画面18之间改变或变化。
34.由合成器/合并器14完成的这种合成/合并任务的目的是在编码域中执行该任务。也就是说,合成器/合并器14避免了预测残差的重新量化或重新执行运动补偿。例如,将子视频28的每个子画面24编码到对应子流32的一个或多个nal单元34中,并且如果子画面24属于那些应当促成合成数据流10的视频16的nal单元,则合成器/合并器14将相应的一个或多个nal单元插入到数据流10中,如使用同一附图标记(即,34)所示,但是其具有撇号以便指示尽管如此,合成器/合并器14可能必须适配这些nal单元中的除了运动矢量信息或预测残差数据之外的其他编码参数。根据下文阐述的实施例,在基于子流32形成数据流10时,合成器/合并器14有机会减少子流32的必须适配的部分。当合成器/合并器14旨在形成数据流10中的对应参数集36时,这还涉及子流32或子流所属的输入视频数据流的参数集。
35.可以通过另外参考图10来说明图1的情况。图10示出了子视频28的储集形成360
°
视频的子片段的情况。在图10的示例中,整个场景被细分为24个子视频。在图10的示例中提供了许多子视频:24个子视频以高分辨率显示该场景,并且由编码器30编码成两个输入视频数据流38a和38b,一次使用较大的rap距离更高效地,而另一次,例如关于输入视频数据流38b,使用较低的rap距离,从而导致较低效率的压缩。同样,提供了两个另外的输入视频数据流,其中的每个输入视频数据流也具有完整的场景,其中24个子视频被再次编码成具有较高rap距离的一个数据流38c和具有较低rap距离的另一个数据流38d。合成视频数据流的画面16被示出为显示完整的场景。具体地,每个画面16由被编码成数据流38a和38b的子
视频的12个相互时间对准的子画面和取自数据流38c和38d的12个相互时间对准并且与高分辨率子画面时间对准的子画面组成。也就是说,在图10的示例中,假定视口宽为12个子画面或图块。在图10的中间,阴影线示出了对合成数据流的画面16内的子画面24的选择,即哪些以高分辨率促成合成视频的画面16和哪些以低分辨率促成合成视频的画面16。可以针对不同的rap距离版本做出另外的选择。对于每个高分辨率子画面24和对于每个低分辨率子画面24,针对特定的画面时间实例,在数据流38a和38c中分别有一个或多个nal单元使用较高的rap距离来更高效地编码,并且在另外的数据流38b和38d中分别有一个或多个nal单元使用较低的rap距离来编码。优选地,合成数据流10使用更高效编码的数据流38a和38c的nal单元合成。所有的数据流38a至38d可以分别地使用每个数据流38a至38d内的同步随机接入点将子流38编码到其中。也就是说,在每个数据流38a至38d中编码的视频的每个画面被细分为24个子画面24,并且对于每个这样的画面,要么所有要么没有子画面以随机接入点方式被编码到相应的输入视频数据流38a至38d中。
36.每当视口改变时就会出现问题。也就是说,对促成数据流10的合成/合并的贡献子流的选择发生了改变。在图8的示例中,有96个子流可用,但是对于特定画面,仅24个子流促成了合成数据流10。例如,假定视口改变了两个子画面或图块24。因此,画面16的四个子画面24改变了其来源子流:这四个子画面中源自高分辨率数据流38a的两个子画面现在取自低分辨率数据流38c和38d之一,而源自低分辨率数据流38c的另两个子画面24现在取自低分辨率数据流38d。具体地,为了减少遇到下一随机接入点的时间,低rap距离版本数据流38b和38d分别被预先用于这四个子画面24。所提到的四个子画面改变它们在画面16内的位置。然而,所有其他的子画面24仍然保持分别以相应的更高效版本的数据流38a和38c下载。它们不需要随机接入点。作为变体,应当注意,可能将允许合成器/合并器14针对从高分辨率改变到低分辨率的那些子画面24,使用从高分辨率到低分辨率的下采样,以便导出较低分辨率的对应非rap子画面的参考画面,以将更高效地编码的输入视频数据流38c的对应nal单元插入到数据流10中。
37.也就是说,在刚刚参照图1结合图10说明的该情况示例中,已经说明了与360
°
流传输相关联的以下问题。具体地,当用户加入服务(即调谐到服务中,即寻求观看全景视频)时,需要随机接入点画面。即,在没有稍后描述的实施例的情况下,合成数据流10将需要以随机接入点方式对起始画面内的每个子画面进行编码。即,该画面的所有nal单元将必须以随机接入点方式编码。以hevc语言来说,它们将必须是例如nal单元类型idr、cra或bla。也就是说,在没有下面进一步描述的实施例的情况下,解码器将被强制为遇到rap画面才开始解码。然而,当用户切换视口时,如前面关于图10所概述的,由于只有一些子比特流32被新添加到促成数据流10的比特流32子集中或被合并到数据流10中,因此要求所有子比特流32(即,甚至是那些保留在贡献比特流子集中的子比特流)在起始画面中具有以随机接入点方式编码的子画面24将是非常无效的。相反,如刚刚关于图10所概述的,如果仅一些子画面比特流32有效地具有rap而其他的没有,则将是优选的。然而,这意味着:然后,数据流10内的nal单元34’中指示的nal单元类型将必须相对于其在底层nal单元34中的设置而改变。具体地,起始画面的子画面24的nal单元34的被设置为idr、cra或bla的nal类型可以不与对应版本34’和数据流10中的相同nal单元类型相关联,因为数据流会要求如果子画面比特流之一具有这些nal单元类型之一,则所有其他子画面比特流必须具有相同的nal单元类型。具体
地,到目前为止定义的解码器将在针对数据流10的特定接入单元(即,针对视频16的特定画面18)找到idr或cra(之前具有eos nalu)nal单元时重新启动解码过程并且清除其解码器画面缓冲器(dpb),因为其中的任何画面都不能或不用于参考。这意味着,例如,如果将通过在其当前版本中对数据流10使用hevc来实现前面描述的情况,则在将子比特流32合并在一起时,如果对于视频16的某一画面18,不是所有的贡献子比特流32都包含对应于随机接入点编码的nal单元类型,而仅仅是其一部分包含nal单元类型,那么将必须采取措施。准确地说,在这种情况下,这样的画面18内的rap nal单元将必须被重写为非rap nal单元,该处理还需要改变诸如分片、图块和/或图块组报头之类的其他报头,因为它们的内容取决于所讨论的nal单元是否是rap。
38.因此,接下来关于图2描述的实施例寻求改进目前现有技术以外的子画面rap的信令。例如,已经有提议表示摆脱刚刚概述的强制措施,以将nal单元类型分配给数据流的nal单元,使得子画面被编码成的nal类型在每个画面内是恒定的。例如,wo2015/059194已经提出例如在nalu报头中使用基于每个nal单元的信令,更具体地,使用专用nalu类型来指示子画面随机接入点类型或包含替换获得符合hevc的数据流所需的所有参数的替换信息的恢复点sei消息。然而,以在后一文献中提出的方式解决上述问题仍然需要合成器/合并器14进行繁琐的“流转换”任务,并且因此,下面概述的实施例寻求克服该问题并且寻求避免合成器/合并器14花费附加rap类型的信令开销的必要性。
39.图2示出了根据涉及本技术第一方面的本技术实施例的视频编解码器的概念。在此范围内,图2示出了可以符合这种对应新视频编解码器的对应数据流10和视频解码器22的实施例。图1的附图标记10已经被重复使用,因为图1的数据流10可以对应于现在关于图2所提出的描述,从而允许至少部分地解决以上概述的问题。
40.也就是说,图2的视频解码器22接收其中编码有画面的视频的数据流10。视频以这样的方式被编码到数据流10中,即视频画面被空间地细分成的子画面被彼此独立地编码。每个子画面被编码到数据流10的相应的一个或多个nal单元34’中。即,nal单元34’承载运动信息和预测残差信息以及其他信息。应当指出,除了以上关于图1所提出的描述之外,子画面编码独立性可以仅涉及被编码到数据流10中的视频的一个画面18内的子画面。因此,图2示例性地示出了一个画面18、其被细分为子画面24以及子画面24在数据流10内被编码到的对应nal单元34’。自然地,也可以进行编码以产生单独编码的子视频,如上面关于图1所概述的。
41.对于每个画面18的每个子画面24,解码器22从数据流10中解码子画面相关信息40。特定子画面24的子画面相关信息例如可以是指示相应子画面24被编码到其中的一个或多个nal单元34’的nal单元类型的语法元素。当呈现第一状态时,子画面相关信息40将其子画面24标识为以随机接入点方式被编码到其一个或多个nal单元34’中。即,它形成子画面随机接入。也就是说,子画面将以独立的方式被编码到其一个或多个nal单元34’中,而不参考任何其他子块。当呈现第二状态时,子画面相关信息将其子画面24标识为未以随机接入点方式编码。即,具有这样的子画面相关信息40的nal单元34’可以使用对其他子块的编码依赖性将其相关联的子块24编码在其中。具体地,子画面相关信息40可以包括每个子画面24的整数值语法元素,其区分多个nal单元类型,其中一个或多个nal单元类型的第一子集对应于第一状态(即,子画面rap状态),而一个或多个nal单元类型的第二子集对应于第二
状态(即,非rap状态)。
42.然而,图2的解码器22还被配置为从数据流10中读取关于一个或多个画面的集合42的随机接入点信令粒度指示44。它可以作为与不止一个画面相关的一种较高级信令在数据流10中传送。也就是说,在这种情况下,一个或多个画面18的集合42将包括画面序列,例如gop等或甚至整个视频16。例如,指示44可以被包括在数据流10的序列参数集或视频参数集中。另一方面,指示44可以仅涉及一个接入单元(即,视频16的一个画面18)。换句话说,集合42可以包括一个画面。这种每接入单元信令可以被包含在数据流10的pps(画面参数集)或接入单元定界符等中。该指示44将具有至少两个可以信号传达的状态/粒度。当呈现或以信号传达第一粒度时,指示44将指示对于一个或多个画面的集合42的每个画面18,子画面相关信息40对于相应画面18的所有子画面24呈现共同状态。换句话说,子画面相关信息40将呈现对于集合42内的一个画面18内的所有子画面24都相等的状态。该相等性甚至当考虑nal单元类型的级别时也可以保持成立。也就是说,在指示44以信号传达第一粒度(即,画面粒度)的情况下,可以要求属于一个画面18的子画面24的nal单元34’的nal单元类型相同,即,彼此相等。
43.然而,如果指示44指示可以被称为子画面粒度的第二粒度,则这指示对于集合42的每个画面18,允许子画面相关信息40对于相应画面18的子画面24呈现不同状态。
44.也就是说,图2的解码器将能够从数据流中解码指示44,并且基于该指示44决策数据流10是否属于要求子画面相关信息40在每个画面18内相同的类型,或者数据流10是否属于不适用后一限制的类型。就下文更详细地描述的解码任务中的一个或多个而言,解码器22可以根据指示44进行不同的动作。
45.然而,在任何情况下,前述合成器/合并器14能够以以下方式利用将指示44设置为子画面粒度的可能性:其可以通过将与当前画面的时间上共同对准的子画面24相关的编码子流32的储集的nal单元34组合在一起来合成数据流10的接入单元,该接入单元(例如,图2中的46)指代这些子画面,并且在这样做时可以取出或采用或不修改nal单元的nal单元类型,使得该接入单元46内的数据流10中的nal单元34’在子画面相关信息40方面与被组合在一起的nal单元一致。
46.在下文中,描述了一些实施例,其针对指示44指示子画面粒度的情况描述了图2的解码器22的功能。然而,所有这些实施例及其描述应被理解为也适用于未被配置为从数据流10中读取或解码指示44的解码器。换句话说,随后解释的实施例不应限于指示44存在于数据流中并且解码器22被配置为从数据流10中读取指示44的情况。相反,随后解释的本技术的其他方面的实施例应同时被解释为对能够处理诸如子画面的随机接入点编码或非随机接入点编码之类的某些设置在一个画面内变化的事实的解码器的描述。然而,这些解码器可以不具有任何特定的替代功能,因为事实上,图2的解码器22根据指示44进行不同的动作。
47.简要地概括目前为止所描述的内容,图2示出了这样的概念:其中数据流10中的附加指示44(例如较高级信令,例如编码视频序列级或甚至比特流级相关的信令,即,用于编码视频序列cvs的级联)使得能够将nal单元级信令(例如,nal单元类型信令)重新解释为子画面随机接入指示。例如,可以以可被称为sub_picture_random_access_process_enabled_flag的标志的形式以信号传达指示44。例如,当该标志等于零时,指示随机接入功
能的nal单元类型将由解码器22解释为全画面级随机接入。然而,当该标志的值等于1时,相应的nal单元类型将被解释为子画面随机接入点。
48.作为替代方案,指示44可以被体现为每接入单元信令。例如,接入单元定界符nal单元可以用于指示在始于该接入单元定界符nal单元的接入单元中允许哪种类型的随机接入。可以向这样的接入单元定界符nal单元添加语法元素,其指示以下状态之一:1)定界符所属的接入单元的画面的所有子画面24包含随机接入画面(irap);2)一些子画面24可以包含随机接入画面(irap);3)没有子画面24包含随机接入画面(irap)。
49.使用指示44,解码器可以容易地识别哪种类型的随机接入功能可以被应用于定义指示44的范围(即,指示44所涉及的范围)的集合42的画面18以及是否要由解码器22执行关于以下实施例描述的以下处理之一。
50.在继续关于解码器22在指示44以信号传达子画面粒度的情况下会怎样做的描述之前,应当注意,如果指示44指示画面粒度并且对于指示44所属的集合42的任何画面18、子画面相关信息40对于该画面的不同子画面24呈现不同状态,则图2的解码器22可以被配置为将数据流10标识为不符合的数据流,即,不符合视频编解码器的数据流。
51.图3示出了解码器22的关于清除其解码画面缓冲器(即,基于可以预测哪些尚未解码的画面而在其中缓冲参考画面的缓冲器)的行为的实施例。利用实线,图3示出了解码器22的针对子画面粒度情况的功能,而虚线示出了针对画面粒度情况的对应功能。再次地,应当注意,在此范围内,图3应被视为对两种情况的描述(即,与关于图2描述的解码器相关地描述的功能的扩展,该解码器能够解码指示44并且根据图3所描绘的任一模式进行动作)或对用于数据流10不包括指示44并且解码器22不可避免地根据子画面粒度模式进行动作的情况的替代解码器22的描述。
52.如图3所示,根据图3的实施例的解码器22被配置为针对特定接入单元或针对特定画面18检查子画面相关信息40是否呈现该画面的所有子画面24的随机接入点状态,如50处所示。如果是,即响应于此,解码器在52处清除其解码画面缓冲器48。再次地,解码器22可以对指示44指示子画面粒度的画面18应用步骤50和52的该功能,而在指示44指示画面粒度的情况下应用图3中虚线所示的替代方法。根据该替代方法,解码器22在54处针对特定接入单元或画面18检查接入单元中首先遇到的子画面24或相应画面的子画面相关信息40是否是随机接入点编码,并且如果是,即响应于此,解码器清除56解码画面缓冲器48。在指示44一方面指示子画面粒度而另一方面指示画面粒度的情况下,解码器22用于清除解码画面缓冲器48的不同行为因此也可以体现在相对于解码器22开始解码该接入单元46的各个nal单元34’的时间(例如,相对于解码器22从编码画面缓冲器检索接入单元46的nal单元34’的时间)在52或56处清除解码画面缓冲器的不同调度中。在步骤52中,对解码画面缓冲器48的清除(即,在子画面粒度域中)可以在以解码顺序58解码最后子画面24的一个或多个nal单元34’时(即,明确当前接入单元的所有子画面都是随机接入点时)发生,而在步骤56的情况下,清除解码画面缓冲器48(即,在画面粒度域中)可以在以编码/解码顺序58解码第一子画面24的一个或多个nal单元34’时(即,明确数据流中存在的针对该子画面的子画面相关信息40指示随机接入点编码时)发生,即,甚至在以编码/解码顺序58解码当前画面或接入单元的第二子画面24之前。再次地,根据其中不存在指示44的替代实施例,关于图3解释的与画面粒度模式相关的功能可以不在解码器22中实现。
53.也就是说,图3解释了这样的实施例:其中仅当明确数据流10中特定画面的所有子画面24都是子画面随机接入点且因此整个画面本身是随机接入点时,解码处理被改变为清除解码器22的解码画面缓冲器48,并且执行随机接入点操作。因此,解码器22可以被配置为解码直到当前接入单元中的最后nal单元34’以确定该接入单元是否是完全随机接入点。
54.接下来关于图4描述的解码器的实施例专注于解码器的有关移除各个参考画面或存储在解码画面缓冲器48中的不再被尚未解码的画面需要的画面的功能/操作模式。也就是说,图3专注于解码画面缓冲器48的清除,即,移除当前在相应的解码画面缓冲器中缓冲的所有画面,而图4专注于另一方面,其中数据流10可以传送参考画面缓冲器描述,即,关于要保留在解码画面缓冲器48中以便用作对尚未解码的画面进行帧间预测的可能基础的参考画面的信息。为此,数据流10传送关于参考画面集的信息,该信息基于每个画面或每个接入单元更新。与子画面相关信息40类似地,关于将被保持在解码画面缓冲器中以供将来使用的参考画面集的该信息(即,参考画面缓冲器描述)是在数据流10中针对每个子画面24(即,在其对应的一个或多个nal单元34’中)以信号传达的信息。根据图4中通过使用实线和虚线所描绘的变体,该参考画面缓冲器描述可以是受到取决于指示44的类似约束的信息,如到现在为止关于用于指示rap和非rap编码的子画面相关信息40所描述的。因此,参考画面缓冲器描述在图2中如使用附图标记40’所示,以说明在取决于指示44或可替代指示44或指示44之外存在的类似指示的限制方面的相似性。具体地,可以要求由特定画面18的第一子画面24的缓冲器描述40’指示的参考画面集等于由同一画面18的任何其他子画面24的缓冲器描述40’指示的参考画面集或至少包括由该画面18的第二和后续子画面(按编码/解码顺序58)的参考画面缓冲器描述40’指示的所有参考画面。在指示44(或用于参考画面缓冲处理的对应指示)指示子画面粒度的情况下,由一个画面18的各个子画面24的缓冲器描述40’指示的参考画面集可以自由地以任何方式彼此不同,即,可以指示相互不同的参考画面集。相互不同意味着一个画面内的子画面和后续画面中的其对应的后继子画面需要不同的参考画面(即,不同的参考画面集),因为例如来自预测参考的其对应的在前子画面包含在相互不同的参考画面集中。子画面的相互对应例如源于它们的来源,即,它们可能已经被单独地编码到对应的子流32中作为子视频28。后一自由使得合成器/合并器能够基于子流32的储集的nal单元34来合成数据流10:通过在将这样的nal单元组合在一起以形成数据流10的一个接入单元时,简单地在没有任何修改的情况下取出参考画面缓冲器描述40’,因此,该参考画面缓冲器描述将在一方面最终数据流10中的nal单元34’和另一方面子流32的储集中的nal单元34之间相等。
55.因此,在继续图4的描述之前,这意味着图的实施例的数据流不一定包括子画面相关信息40。关于图2描述的实施例可以包括或可以不包括参考画面缓冲器描述40’。然后,类似于以上关于图3所作的陈述,图4的描述可以被解释为描述到目前为止关于图2和图3所描述的实施例的可能扩展/修改以及其中解码器仅实施图4中使用实线说明的功能的独立实施例。也就是说,具体地,数据流中可以不存在指示44。
56.根据图4,解码器22被配置为如下地执行从解码画面缓冲器48中移除画面。具体地,解码器在步骤60标记解码画面缓冲器48中的将保留在解码画面缓冲器48中以用作尚未解码的画面的预测参考的画面,并且移除62解码画面缓冲器48中的未标记且不是解码器所需用于将来的显示/输出的非标记参考画面(通过对每个画面循环地执行这些步骤60和
62)。然而,为了执行标记60,解码器针对当前接入单元的每个子画面i解码64指示参考画面集refp
i
的当前画面缓冲器描述40’。然后,通过形成针对当前接入单元或画面的所有子画面的集合refp
i
的并集来识别66解码缓冲器48中要在步骤60中标记的画面。如图4所示,在步骤62移除解码画面缓冲器中的非标记参考画面可以相应地在以编码/解码顺序58解码当前接入单元或画面的最后子画面24时发生。也就是说,移除62可以发生在解析或解码当前画面的所有子画面24之后或至少从解码画面缓冲器中提取所有子画面28或更精确而言所有nal单元34’之后。自然地,未标记的画面仅在其不需要用于输出(因为它们不是输出画面或因为它们已经被输出)时才被移除。
57.在解码器22能够在关于步骤60到66描述的子画面粒度模式以及图4中虚线所示的画面粒度模式下操作(解码器22可以根据指示44在其间切换)的情况下,可替代地,解码器22在从解码画面缓冲器中移除画面时可以如下地进行动作。具体地,当画面粒度模式有效时,解码器22仍然可以执行标记68将被保持在解码画面缓冲器48中的参考画面以及在步骤70中按接入单元/画面从解码画面缓冲器48中移除非标记参考画面,但是为了确定要标记的参考画面,并且相对于移除70的调度,可以应用不同的行为。具体地,解码器可以在步骤72中解码通知按编码/解码顺序58首先遇到的子画面28的参考画面集的缓冲器描述,并且将要在步骤68中标记的参考画面识别74为该集合,即,在索引对应于解码/编码顺序的情况下的refp1。自然地,解码器22还可以从数据流10中读取/解码当前接入单元或当前画面的除按照编码/解码顺序58的第一子画面之外的其他子画面的参考画面缓冲器描述40’,但是该信息不用于步骤68中的标记。此外,在步骤70移除非标记参考画面可以在以编码/解码顺序58解码第二子画面之前或换言之在以编码/解码顺序58解析或解码第一子画面之后发生。自然地,未标记的画面仅在其不需要用于输出(因为它们不是输出画面或因为它们已经被输出)时才被移除。
58.如果根据刚刚提到的可能性,解码器22还针对特定接入单元读取除按照编码/解码顺序58的第一子画面之外的子画面28相关的参考画面缓冲器描述,则解码器22可以被配置为在由除编码/解码顺序58中的第一子画面之外的任何子画面28的缓冲器描述40’指示的参考画面集包括未被由该画面的第一子画面24的缓冲器描述40’指示的参考画面集包括的参考画面的情况下,将数据流10标识为不符合的数据流。
59.图5示出了关于上面参照图4概述的概念的可替代方案。根据图4,解码画面缓冲器48已经被以画面为单位清空。已经根据子画面粒度模式采取措施,以仅移除不再需要的画面(既不用于输出也不作为其任何子画面相关的参考)。根据图5的实施例,解码器22能够以子画面24为单位执行解码画面缓冲器48的清空。就该实施例相对于之前描述的实施例的可能组合而言,与以上关于图4所提供的相同的模式适用。也就是说,接下来关于图5描述的实施例可以与图2或图3的解码器的描述组合,并且因此,根据图5实现的解码器可以或可以不被配置为可替代地在画面粒度模式下操作(例如,响应于指示44)。
60.根据图5的概念如下。具体地,由解码器22解码的数据流10具有编码到其中的视频16,使得视频画面18被不断地细分为以如下方式编码的共同对准的子画面24,即使得空间上不重叠的子画面24或属于不同子视频的子画面被彼此独立地编码。因此,编码在子视频28中发生,从而得到子流32的储集。如以上参照图1所解释的,每个子流32中编码有相应子视频28,每个子视频28包括特定子画面,即,数据流10的视频16的画面18中的子画面24的可
能候选。子流32彼此独立地被编码。它们对于每个子画面24包含一个或多个nal单元34。作为编码过程的一部分,nal单元34可能已经被提供了子画面标识符80。即,每个nal单元34可以用这样的子画面标识符80标记,以便能够区分子流32的储集。如参照图1所解释的,可能已选择的仅是子流32的储集的子集或更精确而言适当子集,以便使用其具有编码到其中的当前时间戳的对应子画面的nal单元34来通过将它们组合在一起而形成数据流10的接入单元46。在将它们组合在一起时,产生数据流10的nal单元34’中仍然具有子画面标识符80。在图5中,这通过以下方式示出:比特流32的储集的标识符80由整数1
……
n来区分。编码到数据流10中的视频16的画面18每个具有六个子画面24。对于一个画面18内的每个子画面24,数据流10在对应的接入单元46中具有一个或多个nal单元34’,其使用子画面标识符80a
i
来标记,其中i=1...6,a
i
∈{1...n}。选择哪些子视频28或哪些子流32用于合成数据流10可以取决于应用并且可以是恒定的或随时间变化。此外,通过其将数据流10组合在一起的每个nal单元34及其版本34’被指示为包括上述参考画面缓冲器描述40’。明显地,由于子流32的单独编码,该信息40’对于不同的子流32是不同的。
61.在以子画面24为单位执行解码画面缓冲器48的清空时,解码器22如下地进行动作。一般而言,对于当前解码画面18,解码器22从数据流10中解码关于当前解码画面18的每个子画面24的参考画面集的缓冲器描述40’。对于当前解码画面18的每个子画面24,解码器然后使用相应子画面24的参考画面缓冲器描述来识别空间上与相应子画面并置的解码画面缓冲器48中的那些应当保留在解码画面缓冲器48中的子画面(即,属于同一子视频28)。移除其他子画面。因此,移除是按子画面进行的。
62.如图5所示,为此,视频解码器可以将解码画面缓冲器48逻辑地拆分为子画面dpb 481至486,每个子画面24对应一个子画面dpb,该子画面24是视频16的画面18当前被空间地细分为的子画面。作为一个方面,应当注意,在本技术的附图中示出画面18被细分为六个子画面,这仅用于说明的目的。任何其他数量也是可行的。每个子画面dpb 48
i
用于缓冲来自数据流10中的nal单元34’的画面18的子画面24,该nal单元标记有与相应子画面dpb相关联的特定子画面标识符80。换句话说,解码器22将每个子画面dpb 48
i
与某个预定子画面标识符a
i
相关联,因此,每个子画面dpb 48
i
专门用于缓冲由标记有与该预定子画面标识符a
i
相等的子画面标识符80的nal单元34’编码的先前编码画面18的子画面。对于当前解码画面,解码器22执行以下操作:对于每个子画面dpb 48
i
,解码器22检查当前解码画面18是否包含其子画面标识符80等于与相应子画面dpb 48
i
相关联的预定子画面标识符ai的对应子画面24,并且如果是,则使用由后者的缓冲器描述40’指示的对应子画面的参考画面集来分别识别各个子画面dpb 48
i
中的那些应当保留在该子画面dpb 48
i
并且因此在解码画面缓冲器48中的子画面。在该子画面dpb 48
i
中的所有这些子画面属于同一子视频28,因为在该子画面dpb 48
i
中仅收集那些被编码到标记有特定可区分的子画面标识符的nal单元34’中的子画面。然而,如果对于某个子画面dpb 48
i
,当前接入单元中不存在nal单元34’,并且相应地,当前画面18中不包含对应的子画面24,则解码器22清除对应的子画面dpb 48
i
,并且将相应的子画面dpb 48
i
重新分配给当前解码画面18的非对应子画面24的另一预定子画面标识符,该另一预定子画面标识符与所有子画面dpb 481至486的预定子画面标识符都不相等。代替清除,根据应用,解码器可以不清除重新分配的子画面dpb,而是对包含在其中的子画面进行子采样等,以便将包含在其中的参考子画面重新用作子画面dpb已经被重新分配到的
预定子画面标识符的子画面24的参考子画面。
63.在通过进一步实施例的描述继续对本技术的描述之前,将再次以换言之的方式简要地概括以上参照图4和图5概述的实施例。具体地,图4呈现了全画面清理的概念,而图5表示了部分画面清理的实施例。这两个实施例的共同点在于,它们处理这样的情况,即其中解码画面缓冲器清空不是响应于随机接入点执行的,而是响应于参考画面缓冲器描述,即,关于不再需要用于参考的参考画面/子画面的信息。如上所述,随机接入点不是确定不再需要用于参考的画面信息并且因此可以将其(如果已经输出)从相应的解码画面缓冲器中移除的唯一适用情况。在avc或hevc中,解码画面缓冲器中的画面在解码过程期间被标记为“用于参考”或“不用于参考”。在hevc中,例如,存在用于所谓参考画面集(rps)的信令。rps指示解码画面缓冲器中的哪些画面用于当前画面或解码顺序中的后续画面的参考,即,rps(refp)以信号传达将哪个画面标记为用于参考。未出现在rps中的那些画面被标记为“不用于参考”,并且因此可以在其不需要用于输出(例如,已经输出)时被从解码画面缓冲器中移除。
64.如上所述,对于其中只有一些图块/子画面从高分辨率切换到低分辨率或反之亦然的360
°
,可以对随机接入点进行对准,因为参考画面可能不同。
65.对于rap的情况,在若干比特流被拼接在一起(即,被转换成新比特流10的子画面比特流)的情况下,将需要重写rps,该过程将导致要由合成器/合并器14执行的这种操作的复杂度增加。
66.新的视频编解码器可能具有不同的标记参考画面的方式,但是问题始终存在:对于比特流内的不同子画面可能适用不同的参考,并且如果如图4中使用虚线所示对接入单元的第一分片/图块进行标记处理,并且这需要传送接入单元中的所有分片/图块的所有信息,则在流被合并在一起时将需要重写报头。
67.因此,图4和图5的实施例的思想是改变参考画面标记的过程,以便允许子画面随机接入或关于解码画面缓冲器的子画面馈送和移除。
68.根据图4的实施例,解码画面缓冲器移除仍然以画面为单位进行,但是仍然允许子画面随机接入。根据实现图4的实施例的可能性,关于序列或画面级的信令(例如,指示44)定义了标记过程是否以图4中使用虚线示出的画面粒度方式执行或其是否仅在当前接入单元中的最后子画面之后(例如,在解析或解码当前接入单元中的最后子画面的nal单元或分片或图块之后)执行。在这两种方法之间切换的信令可以以sub_picture_management_process_enabled_flag的形式包括在诸如sps或pps之类的参数集处。
69.在如上所述可以是停止了两种模式之间的切换的情况下的唯一模式的子画面处理的情况下,根据实施方式示例,该过程可以包括为当前画面18的每个子画面24生成时间标记画面列表,其中在结尾处,检查哪一个被标记为“不用于参考”。例如,在使用来自hevc的rps信令40’作为参考画面指示的示例的情况下,可以使用以下伪代码来识别应当保留在解码画面缓冲器中的画面:
[0070][0071]
当针对当前接入单元解码所有子画面比特流时,从dpb中移除被标记为“不用于参考”并且已经输出的所有画面。
[0072]
然而,与重写所有rps信息的方法相比,该方法需要解码画面缓冲器中更多的内存。
[0073]
在图4的实施例的关于子画面dpb移除模式的替代实施方式中,通过将所有画面标记为“不用于参考”在每个画面开始处(即,当处理第一分片/图块或子画面时)执行第一处理,同时,另外,对于每个所解析的分片/图块/子画面,执行将按分片/图块/子画面指示的画面标记为“用于参考”的另一处理。在已经输出参考画面并且传递/接收当前画面的所有分片/图块/子画面之后,执行根据最终结果(即,在解析/解码最后分片/图块/子画面时)的参考画面清理。
[0074]
图5涉及以下情况:利用运动约束图块(即,mcts)或更一般而言独立于空间偏移的子画面或属于不同子视频的子画面被编码的子画面对内容进行编码,所述子画面不仅包括同一画面的子画面,而且还包括其他画面的子画面。在这种情况下,可以使用子画面标识符来标记子画面特定区域,使得可以将其从解码画面缓冲器中移除。mcts编码的比特流只能参考其自身。
[0075]
在图5中,使用了单独地标记画面18的子画面区域的可能性。如果子画面被标记为“不用于参考”并且该画面已经被输出,则可以从解码画面缓冲器中移除该区域。因此,将可以在解析分片/图块组或子画面报头处的nal单元类型和rps的同时为每个子画面单独地运行标记过程,而不必等到解析接入单元的所有nal单元之后。
[0076]
这是根据图5通过基于例如在数据流中传送的某个参数集中的信息初始化多个子画面dpb 48
i
或通过重新分配子画面dpb或通过为每个新出现的子画面标识符(为每个新的子视频)分配dpb空间来完成的。在初始化之后,画面(意指重构样本和用于预测的对应的可参考数据,例如运动矢量)将被存储在与子画面标识符a
i
相对应的子画面dpb 48
i
中。例如,子画面标识符a
i
可以是一个图块组id。
[0077]
然后,将解析参考画面集,即,指示需要将哪些画面与对应id一起保存在解码画面缓冲器48中以供预测的列表,并且其将影响是否可以移除其对应子画面dpb中的子画面。显然,在一些情况下,画面内的图块设置可能改变。例如,在子画面比特流合并情况下,可能发生一段时间内id为0和1的子画面被合并在一起,然后id为1和2的子画面被合并在一起。在这种情况下,基于参数集指示清除子画面dpb。每当被激活的参数集不包含先前的子画面id时,清除对应于该子画面的子画面dpb。显然,只有当画面不旨在用于输出(即,它们已经被输出或它们不再需要用于输出)时才进行画面的移除。
[0078]
将参照图4和图5作几点说明。例如,除了以上参照图5所描述的之外,可以将子画面dpb的管理改变到同时管理的子画面dpb的数量超过视频16的画面18中的子画面24的数量的程度。例如,对于在子流32的储集中遇到的或更精确而言在数据流10中遇到的每个子画面标识符80,解码器22可以提供单独的子画面dpb。
[0079]
此外,应当注意,图5的描述专注于关于解码画面缓冲器清空的子画面粒度处理。然而,尽管图5因此描述了可以相应地进行动作的解码器,但是图5也可以被看作是对能够以图5所示的方式(即,以子画面处理模式)以及以按画面处理模式(例如,图2所示的响应于指示44或一些等效的信号化)进行动作的解码器的描述。在这种情况下,图5的解码器22可以以图4中使用虚线描绘的方式按画面来管理解码画面缓冲器48。
[0080]
关于上面提到的缓冲器描述40’,应当注意,它们可以以任何方式指示应当保留在dpb中的参考画面,例如以列表的形式、以指示对应参考画面的分析术语的形式(例如,通过它们的poc)等。缓冲器描述40’可以肯定地提及这些画面,或者可以提及那些将从dpb移除的画面。
[0081]
此外,图4和图5专注于解码画面缓冲器的清空,但是显然这些图中的解码器22使用刚解码的画面内容来填充解码画面缓冲器。例如,在图4的情况下,解码画面缓冲器48的填充可以在子画面处理的情况下或在子画面处理和按画面处理这两种情况下按画面进行。在专注于按子画面的dbp清空的图5中,也可以按子画面进行填充,一旦解码了特定子画面,它就被插入到其对应的子画面dpb中。自然地,替代方法可以是逐画面地进行解码画面缓冲器48的填充,即,在解码当前画面18的结尾时,当前解码画面18的解码子画面24将被同时地插入到它们对应的子画面dpb中。在按画面的dpb清空模式的情况下,图5的解码器可以像处于图4的对应模式中的解码器(即,图4中虚线所示)一样动作。
[0082]
此外,将针对与解码画面缓冲器处理相关的上述实施例作一些简要说明。具体地,到现在为止,已经提到视频16的画面18的子画面24可以以类似子视频的方式被编码,即使得子画面可以依赖于其他画面的其他子画面(只要它们属于同一子视频),但是独立于任何其他子画面(即,同一画面18的其他子画面和属于不同子视频的其他画面18的子画面)。属于同一子视频的这种子画面可能在时间上改变视频16的画面18内的子画面位置。图6示出了这种情况。存在处理这种情况的不同的可能性。在图6中,示例性地示出了视频16的两个画面18。在一个画面18中,存在属于子视频的具有子画面id 2、7、3、4、5和6的子画面24。在随后的画面中,可见具有子画面id 2、7、4和5的子视频的子画面24仍然存在,但是处于不同的子画面位置。代替具有子画面id 3和6的子画面24,在后一画面中存在两个新的子画面或更精确而言具有新的子画面id(即,9和12)的子画面。
[0083]
现在假定后一画面18b中属于也出现在前一画面18a中的那些子画面标识符的子画面24不以随机接入点方式编码并且还参考画面18a的子画面。即,在解码画面18b时,画面18a的正确子画面24将存在于解码器28的解码画面缓冲器48中,但是需要采取措施来正确地执行参考(即,运动补偿预测),以用于相对于画面18b的具有这些子画面标识符的子画面24的解码来执行预测。
[0084]
解决这一问题的一种可能性可以是合成器/合并器14处理这种情况。这可以使用wo2016/026526中提出的技术,根据该技术,合成器/合并器14将非输出画面18c插入到数据流10中,组成器/合并器14通过使用分段恒定(即,在每个子画面位置内恒定)的运动矢量场
来重新排列这样的画面18a的画面内容,使得在随后画面18b中仍然需要的子画面24被安排在它们在该随后画面18b中呈现的其新的子画面位置处。此外,合成器/合并器14注意对于这样的画面18b,将画面18a作为参考画面的参考被重定向为替代地将画面18c声明为参考画面。此外,应当禁止对画面18b的属于这些子视频的子画面24(存在于画面18a中的被非输出画面18c重定向的这些子视频的子画面)进行运动矢量预测。
[0085]
另一种可能性是解码器22在子画面改变它们的子画面位置(例如,图6中画面18b的具有子画面id 2、7、4和5的子画面)时重新排列解码画面缓冲器中的其画面,以便产生新的重新排列的参考画面。根据这样的过程,解码画面缓冲器中的参考画面将在空间上被划分为其子画面,并且该子画面将被重新打乱。如以上参照图1所概述的,在画面18b中的某些子画面24被指示为属于同一画面内容的情况下,这种处理还可以涉及以与先前画面(例如,画面18a)的子画面相比降低的空间分辨率进行空间重采样。以这种方式,可以考虑从画面18a中的子画面布局到新画面18b中的子画面布局的转变,而无需插入输出画面18c。
[0086]
而且,更进一步的替代方案可以是解码器22重定向用于编码画面18b的子画面的运动矢量。解码器22可以为画面18b中的重新排列的子画面的运动矢量生成运动矢量偏移以补偿相对于参考画面18a的子画面位置变化。在解码画面18b的子画面24所涉及的运动补偿预测中,运动矢量偏移被添加到属于画面18b的子画面24的子流或更精确而言其子画面也存在于画面18a中的那些子流的编码运动矢量中。由此,导出画面18a中的这些子画面的帧间预测块的正确预测子,其指向参考画面18a中的正确位置(即,属于两个画面18a和18b中所示的那些子视频的子画面内的正确位置),但在不同的子画面位置处。
[0087]
可能由解码器22执行的解码画面缓冲器中的关于参考画面的子画面重排和运动矢量重定向可以由观察到的与视频16的画面18内的各个子画面位置的子画面标识符关联的改变来触发,该关联相应地描述了参考画面及其子画面在数据流10中的子画面重排。可替代地,这些过程可以由数据流10中的由合成器/合并器14写入该数据流中的显式数据流指示(例如,在pps内)来触发。
[0088]
接下来参照图7描述的实施例旨在描述在poc(画面顺序计数)处理方面减轻了诸如以上参照图1描述的那些应用之类的应用的视频编解码器环境。因此,图7描述了用于处理其中编码有视频的数据流的可能的解码器功能,其中画面18被细分为子画面24,并且其中子画面24被编码为彼此分开的子视频28的部分,如参照上述附图(例如,参照图5)所描述的。参照图7描述的功能可以是例如由子画面指示(例如,由参照图2描述的指示44)触发的解码器22的特定模式。具体地,图7允许在数据流10中针对画面18的子画面24发送不同的poc值,使得不同的poc值甚至出现在一个画面18中。如果图7的功能将仅表示解码器22的一种模式,则另一种模式可以是对于一个画面18仅允许一个poc值。
[0089]
例如,如果数据流10是基于如上关于图1所述的子流32的储集组成的,则可能发生呈现时间顺序20中的对应子视频28内的子画面24的画面顺序计数的发展不同的情况。例如,该差异可能源自子视频24之间的不同帧速率。自然地,视频16将具有促成视频16的子视频28的最小帧速率。因此,在合成数据流10时,合成器/合并器14将必须跳过较高帧速率子视频28的对应画面。在将这样的较高帧速率子视频28编码到其对应的子流32中时,自然地,编码过程将必须注意这样的画面不需要作为应当保留并且与较低帧速率子视频28的子画面24一起促成视频16的合成的其他p或b画面的参考画面。附加地或可替代地,分别在各个
子视频28和对应子流32中的子画面24的画面顺序计数值的这种时间发展上的差异可能源自这些子流32根本的不同gop结构。例如,不同的gop长度(即,每个gop的子画面24的不同数量)可以应用于不同的子流32。自然地,用于产生子流32的生成/编码处理应当以这样的方式进行,即至少就促成视频16的画面18的合成的对应子视频28的那些子画面24而言,它们分别在其相应子视频28和子流32内的先后顺序在呈现时间顺序20以及编码/解码顺序58方面是一致的。
[0090]
因此,图7示出了其中编码有子视频28的子画面24的一个或多个nal单元34被提供有poc值90,这些nal单元34由合成器/合并器14选择以便通过将它们组合在一起而用于加入数据流10的对应接入单元46。poc值例如基于gop(画面组)以呈现时间顺序20对其相应子视频28内的子画面24进行排序。也就是说,每当新gop开始时nal单元34内的gop值90可能重新开始顺序。优选地,图7的概念允许合成器/合并器14在将贡献子流32的nal单元34组合在一起以产生数据流10的接入单元46中的对应nal单元34’时简单地取出poc值90而无需修改。通过阴影线,图7示出了各个子视频28的子画面24及其在对应子流32内的对应nal单元34,其按照编码/解码顺序58对应于一个共同时刻和一个共同编码/解码排名,以便一起形成流10中的对应接入单元46。为了考虑对应于当前解码画面18或当前解码接入单元46的不同子画面的nal单元34’之间的poc值90的差异,解码器22如下地进行动作。具体地,对于当前解码画面18的每个子画面24,解码器22从数据流中解码包含在nal单元34’中的poc值90。此外,对于当前解码画面18的每个子画面24或更精确而言对于当前解码画面18中的画面24所源自的每个子视频28,解码器22管理应当将poc校正函数94参数化的一个或多个子画面间poc补偿参数92,该poc校正函数94当被应用于对应子视频28的poc值90时产生对于视频16的每个画面18都相同的最终poc值96。根据一个示例,由数据流的一个接入单元46内的nal单元34’携带的poc值90可能由于用于编码被编码到这些nal单元34’中的子画面24所属的子视频的不同gop长度而不同。在这种情况下,只要贡献子视频28和子流32在合成/合并期间不改变,一个接入单元46内的poc值90之间的相互偏移在连续接入单元46和数据流10上就会趋于恒定(只要贡献子流32的gop中没有一个开始新的gop)。子画面间poc补偿参数92可以例如包括poc补偿偏移,其由函数94添加到对应子视频的poc值90,以便针对对应子视频28的当前子画面24的各个子流32之间的差异考虑gop的最近开始(即,其子视频28内的irap子画面24)。每当新的子视频28开始促成视频16的画面18或运行子视频28之一通过具有其信息40以信号传达rap的子画面而开始新的gop时,解码器22基于与在该时间点仍保持在视频16中(即,在同一接入单元46中)并且此处不具有任何随机接入点编码的任何子视频28或子流32的最终poc值96中的任一个的比较(即,通过计算差值)来分别更新或计算或重置该子视频或子流32的poc补偿偏移。由于子流32之间的帧速率差异,子画面间poc补偿参数92还可以包括使用函数94通过其对poc值90进行缩放以产生最终poc值96的因子。由于这种帧速率差异,在使用上述poc补偿偏移进行偏移补偿之后,数据流10的接入单元46内的poc值90之间的相互差异趋于与根据poc步长差异在时间上缩放的poc值90的相互差异相关。通过对这些poc值进行逆缩放来补偿该缩放差异。解码器22可以从数据流10中导出这样的缩放因子作为参数92的一部分,该缩放因子可以是由合成器/合并器14分别基于对子视频28和对应子流32基础上的帧速率的评估而写入其中的。
[0091]
因此,简要地概括,解码器22可以管理poc补偿参数92以参数化函数94。因此,参数
化的函数94当被应用于与当前画面18的特定子画面24相对应的poc值90时产生最终poc值96。以这种方式获得的最终poc值96对于视频16的每个画面18彼此相等。参数92之间的偏移可以由解码器22以上述方式在随机接入点子画面24处更新,前提是该画面18或接入单元46中分别存在非rap子画面24。如果当前画面18的所有子画面24都是随机接入点编码的,则解码器22可以将偏移设置为对于子画面24都相等的任何默认值。附加地或可替代地,rap子画面本身可以例如通过适当地参数化编码器30而设置为相同的默认poc值。该值可以是零。在该编码器约束下,解码器将不必执行任何操作。然而,编码器30将可能自由地将一个画面18的rap子画面24的poc设置为不同的值,并且对于这种情况,解码器可以被配置为将这些rap子画面的poc值设置为默认poc值(例如,零)或设置为等于针对首先遇到的rap子画面以信号传达的poc值90的值。每当子视频28新促成视频16的合成时,可以由解码器22确定参数92中的缩放因子。
[0092]
如下面进一步概述的,解码器22可能必须注意正确地执行由解码器22执行的运动矢量预测子缩放以便保持来自对应nal单元34’的子画面24。当与对包括其相应运动矢量预测子已经被使用的块的画面具有poc距离a的参考画面a相关的运动矢量预测子被缩放以指示针对当前画面的当前预测块需要poc距离b时,实现运动预测子缩放。由于缩放应当相对于与相应子流32的poc定义相关的poc距离来执行,因此解码器22可能必须仍然基于各个子流的poc值90来实现该缩放。例如,根据hevc运动矢量预测子缩放,如果参数92中的帧速率缩放因子不是2的幂,则可能另外地导致不同的运动矢量缩放。
[0093]
如上面已经提到的,上述实施例可以彼此组合。这不仅通过将关于图3、图4、图5和图7描述的实施例中的每一个与图2的实施例组合而成立,而且还通过将关于图3、图4、图5和图7描述的实施例彼此成对地、三重地或全部地组合而成立。这些概念中的每一个都减轻了所得视频编解码器概念在完成关于图1所概述的视频合成/合并任务中的使用。自然地,图1中概述的示例不应被视为对上述实施例中阐述的视频编码编解码器示例是限制性的。
[0094]
在开始描述与涉及稍微不同的主题的本技术的另一方面(即,渐进解码刷新)相关的本技术的另一实施例之前,将再次以另一种方式描述和激发图7的实施例。具体地,如上面已经概述的,图7的实施例涉及poc增量导出。如所描述的,子画面24(每个子画面可以例如是一个图块或图块集(符合联合比特流10))可以具有非对准的随机接入点或不同的参考结构或gop结构。如上面所概述的,例如,当最初单独编码的比特流32被合并在一起形成单个数据流10时,这种用例可能会发生。
[0095]
在这种情况下,每个子画面24的子比特流32内所指示的poc(画面顺序计数)可能不同,尽管其与一个共同时刻相关或促成合并数据流10中的一个共同接入单元46。当是这种情况时,这导致了以下的负担:比特流32内(即,nal单元34内)以信号传达的poc值将必须由合成器/合并器重写,使得它们可以以对于一个接入单元产生一个poc值的方式被合并到所得的合成数据流中。图7的实施例减轻了这种负担并且允许合并这样的子画面子流32而无需调整编码到nal单元(例如,每个子画面24的报头,即图块组报头)中的poc值。
[0096]
poc用于导出接入单元边界。也就是说,通常使用poc来将一组分片或图块组或nal单元与接入单元46相关联。这可以是图7的解码器22在与图2的实施例组合的情况下的替代行为:在指示44指示子画面粒度的情况下,解码器22将应用图7中描述的概念,而在指示44指示画面粒度的情况下,解码器22将期望每个接入单元46仅具有在接入单元46内相等的一
nalu在接入单元46中的情况,可能需要附加的约束以使全画面poc可导出。
[0101]
例如,可以对数据流10提出要求(即,要求比特流的符合性):在接入单元46中存在至少一个子画面非irap nalu,即,每个画面18的至少一个子画面24以非rap方式编码,以允许导出当前全画面poc 96,根据该全画面poc 96,将导出所有子画面irap nalu的δpoc(即,poc补偿偏移)。换句话说,当利用新的nal单元类型利用标志并且不通过允许不同的nal单元类型来以信号传达子rap时。在这种情况下,只有当nal单元之一未被指示为该nal单元是子rap时,才可以使用这种信令。
[0102]
不同的解决方案可以如下。当接入46中的所有子画面被识别为子画面irap时,poc msb被重置,并且计算每个子画面24的δpoc,使得所有子画面产生相同的全画面poc。例如,在这种情况下,第一子画面δpoc被设置为0,并且所有其他子画面δpoc被相应地设置,以然后针对接入单元中的第一子画面irap nalu产生全画面poc 96。
[0103]
如上面还已经描述的,参与合成数据流10的子流32可以具有不同的poc步长。例如,这可能发生在会议场景中。一个流可以以30pfs编码,另一个子流32可以以60fps编码。在这种情况下,如上面已经描述的,一种选择是以最低共同帧速率(即,30fps)进行合并。为此,可以丢弃60fps子流32的最高时间层,从而将帧速率降低到30fps。然而,由于相对于30fps编码器,60fps编码器必须通过使用相对较大的poc步长来容纳较高数量的帧,因此两个流中的时间上相邻的画面之间的poc步长将不同。在如上所述的将流合并在一起形成共同比特流的情况下,必须注意确保正确的poc导出。当子画面比特流的poc具有不同的步长时,图7的实施例允许实施编码视频序列10内的各个子画面24的poc值90的缩放。例如,合并器/合成器14将被通知或自身从输入子画面比特流32中导出poc步长差异,并且将相应的poc缩放因子写入促成数据流10的合成的所有子画面比特流的参数集中,以便使所有的全画面poc对准。
[0104]
上面已经作了进一步说明,即,缩放的全画面poc用于参考画面导出和输出顺序,而运动矢量缩放仍然可以根据未缩放的poc差异来进行。通过这样做,执行如初始编码器所设想的正确的运动矢量缩放。
[0105]
作为在解码器侧跟踪各个子画面24的所有poc值90(即,未缩放的poc)的替代方案,解码器也可以通过在导出用于运动矢量缩放的poc差异时使用相应的poc缩放因子而从缩放的poc值中导出用于在编码器侧执行运动矢量候选缩放的poc值差异。
[0106]
此外,尽管参数92中的poc偏移值被描述为由解码器自动确定,但是可替代地或附加地,poc偏移值可以由合成器/合并器14插入到数据流10中,正如以上关于poc缩放因子所已经描述的。
[0107]
参照图9,本技术继续描述允许渐进解码刷新的视频编解码器的示例。图9示出了该实施例的基本概念。
[0108]
具体地,图9示出了视频102的连续画面100,即,沿它们的编码/解码顺序58排序的四个连续画面。图9示出了将视频102编码为数据流106的编码器和从数据流106中解码或重构视频102的解码器108。概念如下。为了实现渐进解码刷新,视频解码器108针对视频102的每个参考画面记录将相应参考画面细分为刷新画面区域和非刷新画面区域。具体地,参考画面是解码顺序58中在当前解码画面之前的可用作当前解码画面或任何后续画面的预测参考的那些画面。刚刚提到的刷新画面和非刷新画面区域将从以下描述中变得清楚。具体
地,解码器108针对特定画面100a从数据流106中解码关于刷新更新区域110(在图9中以交叉阴影线示出)的信息。在图9的示例中,它包括画面100a的左手侧三分之一。例如,编码器将每个画面100a至100d编码到相应的接入单元112a至112d中,并且针对画面100a在接入单元112a中以信号传达定位画面100a内的刷新更新区域110的信息114。刷新更新区域的指示114可以启动渐进解码刷新,其使得进行对画面100a和一些后续画面的编码和解码的特殊措施,直到在两侧(编码器104和解码器108)上完成渐进解码刷新,如下文将更详细地解释的。
[0109]
具体地,由信息114定位的区域110仅由编码器104通过帧内编码来编码(即,表示以随机接入点方式编码的区域),并且解码器108相应地对刷新更新区域110进行相应的解码(即,使用帧内预测)。对画面100a的另一区域(即,剩余区域116)的编码不作进一步限制,其可以由编码器104编码并且相应地由解码器108使用帧内预测和/或基于先前画面的帧间预测来解码。
[0110]
对于编码/解码顺序58中的下一画面100b,渐进解码刷新尚未完成。编码器104将该画面100b编码到对应的接入单元112b中,并且在其中再次以信号传达关于该画面100b内的刷新更新区域110的信息114。在图9的示例中,画面100b的刷新更新区域覆盖画面100b的水平中间三分之一并且因此在空间上与先前画面100a的刷新更新区域110邻接。当接入单元112a内的信息114启动渐进解码刷新时,关于画面112b的信息114则表示该启动的渐进解码刷新的延续。再次地,画面100b的区域110由编码器104仅通过帧内预测来编码并且相应地由解码器108解码。然而,作为启动的渐进解码刷新的一部分,解码器108以及编码器104执行以下任务:首先,编码器104和解码器108执行上述的对参考画面的刷新画面区域的记录。随着在画面100a处已经启动渐进解码刷新,并且画面100a相对于后继画面100b形成参考画面,画面100a的刷新更新区域110表示画面100a的刷新画面区域,而另一区域116是非刷新画面区域。刷新画面区域在图9中被指示为由实线118包围。其次,解码器108和编码器104在当前编码/解码画面内(即,在当前描述画面100b中)确定第一区域120,该第一区域120与同一画面100b的刷新更新区域110分开并且将独立于参考画面(这里是画面100a)的非刷新画面区域被编码和解码。编码器104可以编码关于区域120在哪里的显式信令,或者更优选地,编码器104和解码器108将区域120确定为画面100b的与画面100a(即,编码/解码顺序58中紧接在前的画面)的刷新画面区域118并置的区域。为了将区域120与刷新更新区域110区分开,在图9中使用交叉阴影线示出刷新更新区域110,而对于区域120则使用简单的阴影线。
[0111]
编码器和解码器两者都采取特殊措施以便将区域120编码到对应的接入单元112b中/从对应的接入单元112b中解码区域120。具体地,例如,编码器104不限制编码参数的可以信号传达的域(编码器和解码器将基于此导出区域120的预测)。换句话说,编码器104使用诸如使用运动补偿预测等从先前画面确定这些画面的预测的编码参数以及使用描述校正该预测所使用的预测残差的预测残差信息来将这些画面编码到对应的接入单元中。编码参数和预测残差信息被编码到接入单元中以便描述对应的画面。然而,在刷新更新区域110内,编码器104仅使用帧内预测,即,不使用来自任何其他画面的预测。关于区域120,编码器104使用帧间预测并且例如不限制编码参数的可以信号传达的域,但是与例如区域116的其他区域相比,编码器104和解码器108使用不同的方式来基于以信号传达的编码参数导出区
域120的预测。具体地,考虑相应参考画面(这里是画面100a)的刷新画面区域110的位置。例如,编码器104可以自由地将区域120的运动矢量编码到数据流106中,如果预测导出不发生改变,则区域120的运动矢量将导致区域120对区域116的依赖性,即,实际上指向参考画面100a的延伸到区域116中的部分的运动矢量。类似地,编码器104可以使用运动矢量预测来对区域120的运动矢量进行编码,但是在构造由用于编码画面100a的运动矢量形成的运动矢量预测子候选的对应运动矢量预测列表时,编码器104专门使用专门用于刷新画面区域110内的块的运动矢量来填充这些运动矢量预测子候选列表。编码器104可以使用实际上被重定向到区域120的预测导出结果(实际上也可由区域120的编码参数的其他状态以信号传达)的可以信号传达的状态的可能性为编码器104提供了提高压缩效率的增加的可能性,因为,例如,有时那些稍后由编码器104和解码器108重定向到导致仅依赖于更新画面区域110的预测的其他状态的编码参数状态可以是可使用比在没有编码器104和解码器108的任何重定向的情况下立即描述该预测的编码参数状态更少的比特编码的编码参数状态。也就是说,编码器104和解码器108可以例如对数据流106中针对区域120实际以信号传达的运动矢量进行裁剪以便不延伸超出参考画面100a的刷新画面区域110的边界。可替代地或附加地,编码器和解码器108可以对参考画面108的由数据流106中针对区域120以信号传达的运动矢量指向的超过刷新画面区域110的边界的部分使用填充。甚至可替代地或附加地,由编码器104和解码器108完成的运动矢量候选列表构造可以以这样的方式来完成,即排除运动矢量填充位于参考画面100a内的刷新画面区域110之外的列表。例如,编码器104可以通过数据流106内的信令和对相应地构造的这种运动矢量候选列表的索引来向解码器108以信号传达所选择的运动矢量预测子。在图9的情况下,画面100b的剩余区域(画面100b的右手侧三分之一)表示与该画面100b的第一区域120和刷新更新区域110分开的区域116并且表示由编码器104编码的对画面100a的刷新画面区域110没有任何限制的包括帧间预测的区域。即,画面100b的区域116是没有任何限制的帧间预测区域。
[0112]
在图9的示例中,随后编码/解码的画面100c表示在画面100a处启动的渐进解码刷新的完成。对于该画面100c,编码器104将指示画面100c的刷新更新区域110的位置的信息114编码到对应的接入单元112c中,在图9的情况下,该刷新更新区域110覆盖画面100c的右手侧三分之一。也就是说,图9示出了从表示渐进解码刷新的开始的画面100a开始的连续画面100a至100c的刷新更新区域110呈现视频102的画面的画面区域的相互分开的部分。再次地,该画面110由编码器104进行帧内编码并且相应地由解码器108解码。
[0113]
对于画面100c,画面100b也表示参考画面。其刷新画面区域118由编码器和解码器确定为画面100b的第一区域120和刷新更新区域110的并集。这进而意味着在渐进解码刷新期间,刷新画面区域118持续增长。再次地,编码器104和解码器108将画面100c的第一区域120例如确定为是在空间上与紧接在前的画面(即,画面100b)的刷新画面区域110重叠的区域。该区域120如先前关于画面100b的区域120所描述的编码/解码,区别在于该区域120具有两个参考画面候选,即,具有刷新画面区域118的画面100a和具有刷新画面区域118的画面100b。对区域120使用帧间预测(即,是除了帧间预测模式之外允许的编码模式),但是画面100c的区域120的编码参数被重定向到这样的状态,即使得所得的预测不引起区域120的编码/解码对画面100a和100b的非刷新区域116的任何依赖性。
[0114]
自画面100c以后,由编码器104在画面100a处启动的渐进解码刷新完成,并且刷新
画面区域118自该画面100c以后覆盖视频102的画面的完整画面。编码器104可以间歇地或周期性地启动另一渐进解码刷新,并且刷新画面区域将收缩以对应于该后续渐进解码刷新的第一启动画面的刷新更新区域110。
[0115]
参照图9描述的渐进解码刷新可以被描述为子画面帧内刷新填充。其可以使用图块或图块组来实现或可以在不使用图块的情况下实现。在图9的实施例中,画面的一些部分(可以被称为子画面)通过应用帧内编码被刷新(即,区域110),而后续画面以受约束的方式被帧间编码和帧间解码。根据图9的示例,画面被细分为列(这里示例性地分为n=3列),但是应当清楚,列数n可以被不同地选择,并且甚至可以选择在这样的渐进解码刷新期间刷新画面区域118的不同增长形式,例如以块为单位而不是以画面的列为单位的增长。如参照图9所解释的,在第一子画面rap(即,接入单元0处的画面,在图9的情况下为画面100a)处,仅在帧内块内对第一列(以colldx=0表示)进行编码。
[0116]
在下一接入单元au=1(即,编码/解码顺序58的第二画面,在图9中为100b)处,仅利用帧内块编码第二列(即,colldx=1),而利用帧间编码块编码第一列,该帧间编码块只能参考在列colldx=0处的先前画面中已解码的样本。然而,代替约束编码器能够在数据流中编码的运动矢量,图9的实施例还可以自由地编码实际上将导致对列colldx=0时的其他区域的依赖性的运动矢量。具体地,根据图9的实施例,指示帧内刷新区域(即,该示例中的第一列),并且如果运动矢量指出,则针对帧间编码块的超过接入单元1的画面的列colldx=0的参考块使用诸如最外像素线的正交外插等的填充。可以替代地或附加地应用基于该区域的指示的运动矢量裁剪以确保刷新区域的运动矢量不依赖于非刷新区域。随着画面被连续解码,刷新区域118增加,因此指示每画面刷新区域110。
[0117]
应当注意,图9的一个替代方案将是编码器104通过指示连续画面100a至100c(即,形成渐进编码刷新的画面序列)的更新刷新区域110的图案来以信号传达这些区域110的连续位置。该模式将描述刷新。也可以指示每个序列的区域。因此,对于画面100a(即,gdr序列100a

100c的起始画面),可以以信号传达这种信息一次,从而以信号传达画面100a

c的gdr起始和区域110。前一指示可以是可以在pps中指示的内容。可替代地,可以针对画面100a例如在其pps中以信号传达gdr起始指示,而始于该gdr起始画面的gdr画面序列中的区域110的位置图案可以是以更高级方式(例如,在sps中)的信号传达的内容。
[0118]
关于上述实施例,另外说明如下。上述实施例呈现了有利的视频编解码器概念。其中的许多概念允许如上所述的有利的视频合成。然而,应当注意,编码器可以直接形成上述的本发明的数据流10中的任一个,即,没有预编码子流的合成。在这样的任务中,编码器可以利用以上呈现的数据流10的有利特性,例如按子画面而非全局画面选择rap时间实例和参考画面缓冲器描述的可能性。
[0119]
因此,上述实施例还涉及一种用于对来自数据流10的画面18的视频16进行解码的视频解码器(以及对应的视频编码器和数据流),在该数据流10中,所述视频以画面被空间地细分成的子画面24被彼此独立地编码的方式编码。该视频解码器被配置为针对视频的一个或多个画面的集合42中的每个画面的每个子画面从数据流中解码诸如语法元素nal_unit_type之类的子画面相关信息40,该子画面相关信息40当呈现第一状态时(例如,当呈现状态idr_n_lp时)将相应子画面标识为以随机接入点方式编码,而当呈现第二状态时(例如,当呈现状态trail_nut时)则将相应子画面标识为不以随机接入点方式编码。该解码器
针对该一个或多个画面(例如,在其pps中包含语法元素mixed_nalu_types_in_pic_flag的画面)的集合42从数据流中解码随机接入点信令粒度指示44,其可以被命名为mixed_nalu_types_in_pic_flag,并且当呈现第一粒度或第一状态(例如,0)时指示对于该一个或多个画面的集合中的每个画面,子画面相关信息对于相应画面的所有子画面呈现共同状态(例如,idr_n_lp),而当呈现第二粒度或第二状态(例如,1)时则指示对于该一个或多个画面的集合中的每个画面,允许子画面相关信息对于相应画面的子画面呈现不同状态(例如,对于至少一个子画面的idr_n_lp和对于同一画面内的至少一个其他子画面的trail_nut)。换句话说,呈现第一状态(例如,等于0)的mixed_nalu_types_in_pic_flag可以指示nal_unit_type的值应对于画面的所有编码分片nal单元都相同并且因此对于一个画面内的所有子画面都相同。然而,另外地,如果mixed_nalu_types_in_pic_flag呈现另一状态(例如,等于1),则这可指示画面的一个或多个子画面的vcl nal单元都具有nal_unit_type的特定值,例如由stsa_nut、radl_nut、rasl_nut、idr_w_radl、idr_n_lp和cra_nut中的一个或多个组成的nal单元类型集合中的一个,而画面中的其他vcl nal单元都具有nal_unit_type的不同特定值,即,由trail_nut、radl_nut和rasl_nut中的一个或多个组成的另一集合中的一个。甚至换句话说,mixed_nalu_types_in_pic_flag呈现第二状态(例如,1)可以指定参考包括mixed_nalu_types_in_pic_flag的pps的每个画面具有一个以上的vcl nal单元,这些vcl nal单元不具有相同的nal_unit_type值,并且该画面不是irap画面,而mixed_nalu_types_in_pic_flag呈现另一状态(例如,0)可以指示参考该pps的每个画面具有一个或多个vcl nal单元,并且参考pps的每个画面的vcl nal单元具有相同的nal_unit_type值。以这种方式,mixed_nalu_types_in_pic_flag可以被设置为例如1的第一状态,以便对于参考pps的画面(例如,源自子画面比特流合并操作的画面)指示它们包含具有不同nal单元类型的分片。
[0120]
虽然已经在装置的上下文中描述了一些方面,但是清楚的是,这些方面还表示对应方法的描述,其中块或设备对应于方法步骤或方法步骤的特征。类似地,在方法步骤的上下文中描述的方面也表示对相应装置的相应块或项目或特征的描述。一些或所有方法步骤可以由(或使用)硬件装置来执行,例如微处理器、可编程计算机或电子电路。在一些实施例中,一个或多个最重要的方法步骤可以由这样的装置执行。
[0121]
根据特定实现要求,本发明的实施例可以以硬件或软件来实现。该实现可以使用其上存储有电子可读控制信号的数字存储介质来执行,例如软盘、dvd、蓝光、cd、rom、prom、eprom、eeprom或闪存,其与可编程计算机系统协作(或能够协作),从而执行相应的方法。因此,数字存储介质可以是计算机可读的。
[0122]
根据本发明的一些实施例包括具有电子可读控制信号的数据载体,其能够与可编程计算机系统协作,从而执行本文所述的方法之一。
[0123]
本发明的编码视频信号或数据流可以分别存储在数字存储介质上,或者可以在诸如无线传输介质或有线传输介质(例如,因特网)之类的传输介质上传输。
[0124]
通常,本发明的实施例可以被实现为具有程序代码的计算机程序产品,当计算机程序产品在计算机上运行时,程序代码可操作用于执行方法之一。该程序代码可以例如存储在机器可读载体上。
[0125]
其他实施例包括存储在机器可读载体上的用于执行本文所述的方法之一的计算
机程序。
[0126]
换句话说,本发明方法的实施例因此是具有程序代码的计算机程序,当计算机程序在计算机上运行时,程序代码用于执行本文所述的方法之一。
[0127]
因此,本发明方法的另一实施例是包括记录在其上的用于执行本文所述的方法之一的计算机程序的数据载体(或数字存储介质,或计算机可读介质)。该数据载体、数字存储介质或记录介质通常是有形的和/或非暂时性的。
[0128]
因此,本发明方法的另一实施例是表示用于执行本文所述的方法之一的计算机程序的数据流或信号序列。该数据流或信号序列可以例如被配置为经由数据通信连接(例如,经由因特网)来传送。
[0129]
另一实施例包括被配置为或适配为执行本文所述的方法之一的处理装置,例如计算机或可编程逻辑器件。
[0130]
另一实施例包括其上安装有用于执行本文所述的方法之一的计算机程序的计算机。
[0131]
根据本发明的另一实施例包括被配置为将用于执行本文所述的方法之一的计算机程序传送(例如,电子地或光学地)到接收器的装置或系统。接收器可以例如是计算机、移动设备、存储设备等。该装置或系统可以例如包括用于将计算机程序传送到接收器的文件服务器。
[0132]
在一些实施例中,可以使用可编程逻辑器件(例如,现场可编程门阵列)来执行本文所述的方法的一些或全部功能。在一些实施例中,现场可编程门阵列可以与微处理器协作以执行本文所述的方法之一。通常,所述方法优选地由任何硬件装置执行。
[0133]
本文所述的装置可以使用硬件装置或使用计算机或使用硬件装置和计算机的组合来实现。
[0134]
本文所述的装置或本文所述的装置的任何组件可以至少部分地以硬件和/或软件来实现。
[0135]
本文所述的方法可以使用硬件装置或使用计算机或使用硬件装置和计算机的组合来执行。
[0136]
本文所述的方法或本文所述的装置的任何组件可以至少部分地由硬件和/或软件来执行。
[0137]
上述实施例仅用于说明本发明的原理。应当理解,本文所述的布置和细节的修改和变化对于本领域的其他技术人员而言将是显而易见的。因此,其意图是仅由后附专利权利要求的范围限制,而不由通过本文实施例的描述和说明而呈现的具体细节限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜