首页 / 专利库 / 视听技术与设备 / 运动补偿预测 / 在视频注释的存在下视频数据的高效编码

在视频注释的存在下视频数据的高效编码

阅读:580发布:2020-05-15

专利汇可以提供在视频注释的存在下视频数据的高效编码专利检索,专利查询,专利分析的服务。并且本公开涉及在视频注释的存在下视频数据的高效编码。本 发明 设计了用于编码要被注释叠盖的视频的系统和方法。采用了 运动补偿 预测 编码,其中基于 像素 块 与注释的关系来确定视频像素块的编码参数。 解码器 基于从 编码器 或其他来源获得的元数据来解码视频并对其进行注释,从而描述注释的外观和呈现模式。,下面是在视频注释的存在下视频数据的高效编码专利的具体信息内容。

1.一种用于编码视频的方法,包括:
接收要被叠盖在所述视频上的图形元素的元数据;
将所述视频的每个划分成像素
对于每个像素块,基于所述像素块和所述图形元素之间的关系来选择编码参数;以及根据所述像素块的相应的所选择的编码参数来编码所述像素块。
2.根据权利要求1所述的方法,还包括:
将经编码的像素块及其相应的所选择的编码参数传输至接收器。
3.根据权利要求2所述的方法,还包括:
将所述元数据传输至所述接收器。
4.根据权利要求1所述的方法,其中所述元数据包括所述图形元素的形状、尺寸、纹理、位置、运动和视信息中的一者或多者。
5.根据权利要求1所述的方法,其中所述选择编码参数包括:
当所述每个像素块与所述图形元素重叠时,减少分配至所述每个像素块的编码比特率预算。
6.根据权利要求5所述的方法,其中所述减少编码比特率预算与所述每个像素块和所述图形元素之间的重叠程度成比例。
7.根据权利要求1所述的方法,其中所述选择编码参数包括:
当所述每个像素块被所述图形元素完全遮蔽时,将SKIP编码模式应用于所述每个像素块。
8.根据权利要求1所述的方法,其中所述选择编码参数包括:
当所述每个像素块与所述图形元素重叠时,降低所述每个像素块的错误恢复编码强度。
9.根据权利要求8所述的方法,其中所述降低错误恢复编码强度包括降低分配至前向纠错的比特数量。
10.根据权利要求1所述的方法,其中所述选择编码参数包括:
确定所述每个像素块是否与所述图形元素相邻;以及
如果所述每个像素块被确定为与所述图形元素相邻,则增加分配至所述每个像素块的编码比特率预算。
11.根据权利要求10所述的方法,其中所述确定所述每个像素块是否与所述图形元素相邻包括:
识别所述图形元素所涉及的在所述视频中的对象;以及
确定所述每个像素块与所识别的对象相关联。
12.根据权利要求10所述的方法,其中所述确定所述每个像素块是否与所述图形元素相邻是基于所述每个像素块的特性和所述图形元素的特性之间的相关性的。
13.根据权利要求10所述的方法,其中所述确定所述每个像素块是否与所述图形元素相邻包括:
确定所述每个像素块被所述图形元素包围或指向。
14.根据权利要求10所述的方法,还包括:
如果所述每个像素块被确定为与所述图形元素相邻,则增加所述每个像素块的错误恢复编码强度。
15.根据权利要求14所述的方法,其中所述增加错误恢复编码强度包括增加分配至前向纠错的比特数量。
16.一种用于编码视频的计算机系统,包括:
至少一个处理器;
至少一个包括指令的存储器,所述指令被配置为由所述至少一个处理器执行,以执行包括以下操作的方法:
接收要被叠盖在所述视频上的图形元素的元数据;
将所述视频的每个帧划分成像素块;
对于每个像素块,基于所述像素块和所述图形元素之间的关系来选择编码参数;
根据所述像素块的相应的所选择的编码参数来编码所述像素块;以及
将经编码的像素块及其相应的所选择的编码参数传输至接收器。
17.根据权利要求16所述的系统,还包括:
将所述元数据传输至所述接收器,其中所述元数据包括所述图形元素的形状、尺寸、纹理、位置、运动和视角信息中的一者或多者。
18.根据权利要求16所述的系统,其中所述选择编码参数包括:
当所述每个像素块与所述图形元素重叠时,减少分配至所述每个像素块的比特数量,所分配的比特用于编码和前向纠错中的一者。
19.根据权利要求16所述的系统,其中所述选择编码参数包括:
当所述每个像素块被所述图形元素完全遮蔽时,将SKIP编码模式应用于所述每个像素块。
20.根据权利要求16所述的系统,其中所述选择编码参数包括:
确定所述每个像素块是否与所述图形元素相邻;以及
如果所述每个像素块被确定为与所述图形元素相邻,则增加分配至所述每个像素块的比特数量,所分配的比特用于编码和前向纠错中的一者。
21.一种包括指令的非暂态计算机可读介质,所述指令能够由至少一个处理器执行以执行方法,所述方法包括:
接收要被叠盖在视频上的图形元素的元数据;
将所述视频的每个帧划分成像素块;
对于每个像素块,基于所述像素块和所述图形元素之间的关系来选择编码参数;
根据所述像素块的相应的所选择的编码参数来编码所述像素块;以及
将经编码的像素块及其相应的所选择的编码参数传输至接收器。
22.根据权利要求21所述的介质,还包括:
将所述元数据传输至所述接收器,其中所述元数据包括所述图形元素的形状、尺寸、纹理、位置、运动和视角信息中的一者或多者。
23.根据权利要求21所述的介质,其中所述选择编码参数包括:
当所述每个像素块与所述图形元素重叠时,减少分配至所述每个像素块的比特数量,所分配的比特用于编码和前向纠错中的一者。
24.根据权利要求21所述的介质,其中所述选择编码参数包括:
当所述每个像素块被所述图形元素完全遮蔽时,将SKIP编码模式应用于所述每个像素块。
25.根据权利要求21所述的介质,其中所述选择编码参数包括:
确定所述每个像素块是否与所述图形元素相邻;以及
如果所述每个像素块被确定为与所述图形元素相邻,则增加分配至所述每个像素块的比特数量,所分配的比特用于编码和前向纠错中的一者。

说明书全文

在视频注释的存在下视频数据的高效编码

[0001] 相关申请的交叉引用
[0002] 本申请要求提交于2018年5月31日的美国临时专利申请No.62/678,380号的权益,该专利的公开内容据此以引用方式并入本文。

技术领域

[0003] 本公开涉及视频编码

背景技术

[0004] 现代视频编码应用将带宽压缩应用于视频数据,以促进通过带宽约束的通信资源进行视频的传输。通常,带宽压缩操作引起编码损失,这导致由接收器设备恢复的视频数据在与其所表示的源视频进行比较时存在错误。过度的编码损失可以变得可被观察者察觉,这降低了对视频编码会话的满意度。附图说明
[0005] 图1示出了根据本公开的一个方面的视频编码系统。
[0006] 图2示出了根据本公开的一个方面的示例性视频合成服务。
[0007] 图3示出了根据本公开的一个方面的通信流程。
[0008] 图4是示出了根据本公开的一个方面的编码终端的部件的功能框图
[0009] 图5示出了根据本公开的一个方面的一种方法。
[0010] 图6示出了根据本公开的一个方面的可被处理的示例性的一部分。
[0011] 图7示出了根据本公开的一个方面的可被处理的示例性帧的一部分。
[0012] 图8是根据本公开的一个方面的编码系统的功能框图。
[0013] 图9是示出了根据本公开的一个方面的解码终端的部件的功能框图。
[0014] 图10是根据本公开的一个方面的解码系统的功能框图。

具体实施方式

[0015] 本发明人提出了用于在注释的存在下对视频数据进行编码的技术,其中在显示视频时这些注释可能遮蔽视频的某些区域。在第一方面,尚未包含叠盖的(一个或多个)图形元素(即,(一个或多个)注释)的源视频序列可以独立于(一个或多个)图形元素进行编码,并且可以被传输至接收设备。接收设备可解码经编码视频数据并且可执行合成操作,在这些合成操作中,接收设备可将(一个或多个)图形元素叠盖在经解码视频数据上。接收设备可将(一个或多个)图形元素存储在本地,可从生成经编码视频的设备接收(一个或多个)图形元素,或者可从另一个网络源(例如,互联网服务器)接收(一个或多个)图形元素。
[0016] 在其他方面,视频编码器可基于注释的存在,内容,和/或位置来改变其编码操作。例如,对于可能被注释遮蔽的视频序列的部分,视频编码器可降低被分配用于编码这些相应部分的比特率预算,或者其可驱动引起较低质量的编码的用于这些部分的编码模式。在另一个方面,视频编码器可降低如此遮蔽的像素的错误恢复编码强度。在另一个实施方式中,基于注释的特性(例如,类型或内容),视频编码器可增加与注释相邻的像素块的比特率预算。这样可提高编码效率,从而针对视频编码器的总可用比特率预算获得最大编码质量。
[0017] 在一个方面,要被图形元素叠盖的视频可由编码器编码。编码器可接收元数据,该元数据包括关于图形元素的外观和图形元素可在视频中呈现的方式的信息。编码器可将视频划分成像素块,并且可基于像素块和图形元素之间的关系来为每个像素块选择编码参数。然后每个像素块可根据其相应的所选择的编码参数而被编码。编码器可减少与图形元素重叠或被图形元素完全遮蔽的像素块的比特率预算分配。此外,编码器可增加与图形元素相邻的像素块的比特率预算分配。类似地,当像素块与图形元素重叠时,错误恢复编码强度可降低,并且当像素块与图形元素相邻时,错误恢复编码强度可增加。
[0018] 图1示出了根据本公开的一个方面的视频编码系统100。系统100可包括经由网络130通信的一对终端110,120。第一终端110可编码视频数据以进行带宽压缩,并经由网络
130将经编码视频数据传送至第二终端120。第二终端120可解码经编码视频数据,并消耗从所述经编码视频数据恢复的视频数据。第一终端110可编码在本地或远程生成的视频,即,可编码从多个来源(包括例如相机系统,本地存储器,或在第一终端110上执行的应用)中的任一个获得的视频。第二终端120可以多种方式消耗视频,包括例如在本地显示器上显示视频,存储视频,和/或通过在第二终端120上执行的应用来处理视频。
[0019] 在一些使用情况下,终端110,120可参与视频的双向交换。在此类情况下,第二终端120可采用带宽压缩来编码在本地或远程生成的视频数据,并且可将其传输至第一终端110以用于本地消耗。在此,第二终端120可再次编码经由相机系统,本地存储器,或在第二终端120上执行的应用获得的视频。类似地,第一终端110可以多种方式消耗所接收的视频,包括例如在本地显示器上显示视频,存储视频,和/或通过在第一终端110上执行的应用来处理视频。不需要终端110,120中的任一个执行与另一个相同的视频生成和/或消耗方法。
[0020] 网络130表示提供终端110,120之间的通信的任意数量的通信和/或计算机网络。网络130可包括以电路交换或分组交换方式操作的有线网络,无线网络,或有线网络和无线网络的组合。此类网络可包括互联网。除非本文讨论,否则网络130的操作和拓扑结构对于本讨论是不重要的。
[0021] 在一个方面,终端(例如,终端110)可提供用户合成服务,例如作为其会议工具套件的一部分。用户例如可将注释以图形元素的方式添加到源视频,该图形元素源自于产生该视频的(一个或多个)来源之外的来源。图2示出了一个此类示例,其中视频序列210可从第一来源(在本示例中为相机)生成,并且图标220可根据用户控制所决定的或根据自动方案而被添加至视频序列。在本示例中,单个图标220在视频序列中被复制三次,产生包括来自源视频210的图像数据和图标220的图像数据的复合视频序列230。虽然图2中未示出,但用户注释可被提供在图像的静态位置上,这些用户注释可以动画方式显示,使得它们的图像数据,(一个或多个)位置,视,形状,和(一个或多个)尺寸在视频序列的整个过程中变化。实际上,一些注释可被定义,使得它们响应视频中的事件和/或自动移动以跟踪在图像内检测到的(一个或多个)预定对象。例如,图形元素的叠盖(呈现)可基于对象的运动或事件,即足球游戏中的目标或玩家的运动。当感兴趣的对象是人时,图形元素的叠盖(呈现)可基于对象的面部特征,身体特征,背景特征等等。
[0022] 图3示出了根据本公开的一个方面的通信流程300。如图所示,终端110,120可进行相互通信。在一个方面,基于用户控件310,可在第一终端110中选择将注释叠盖在视频流的空间区域上。在另一个方面,可响应于视频内容或其他事件来自动启动注释。第一终端110可将用于通信会话的信息作为一对传输320,330进行传送:第一传输320可包括表示带宽压缩的源视频的经编码视频数据,并且第二传输330可包含表示注释自身的元数据330。接收终端120可以接收这两个传输,解码经编码视频340,并且合成包含经解码视频和注释的复合图像350。只要第一终端110的用户期望或者直到自动确定的时间点,两个终端110,120都可以这种方式重复此操作。
[0023] 在一个方面,注释元数据330可包括表示注释自身的数据和表示注释可被叠盖的方式(呈现模式)的数据,例如,注释的形状,纹理,在视频帧中的位置,视角,运动,和尺寸。在另一个方面,两个终端110,120可根据在其中预先确定了注释元数据的协议来操作。例如,凭借可使用的编码服务,操作系统规格,或者通过将注释预先加载到本地存储器中,使得注释内容对于终端110,120均可为已知。在一个方面,第一终端110可通过注释的类型来识别注释,并且可提供其他参数数据(例如,与注释可在视频中呈现的方式有关的参数)。在此情况下,接收终端的120可基于其识别的类型有权访问该注释,而无需从第一终端110接收注释的内容。第二终端120可从第三方来源,例如,网络服务器(未示出),下载注释的内容。
[0024] 图4是示出了根据本公开的一个方面的编码终端的部件的功能框图。编码终端可包括在控制器450的控制下操作的视频源410,图像预处理器420,视频编码系统430,和传输缓冲器440。视频源410可供应要编码的视频。视频源410可包括捕获本地环境的图像数据的相机,生成视频数据(例如,计算机生成的内容)的应用,存储来自一些其他来源的视频的存储设备,或藉以接收源视频数据的网络连接。图像预处理器420可对要编码的视频执行信号调节操作以准备用于编码的视频数据。例如,预处理器420可改变源视频的帧速率,帧分辨率,和/或其他特性。图像预处理器420还可对源视频执行滤波操作诸如降噪操作。
[0025] 视频编码系统(“视频编码器”)430可对视频执行编码操作以减小其带宽。通常,视频编码器430利用源视频内的时间和/或空间冗余。例如,视频编码器430可执行运动补偿预测编码,其中视频帧或场帧可被解析为子单元(例如,像素块)。然后各个像素块可相对于从先前编码的视频数据得出的预测像素块差分编码。给定像素块可根据多种预测编码模式中的任一种来编码,诸如:
[0026] ·帧内编码,其中输入像素块可相对于共同帧的先前编码/解码数据差分编码;
[0027] ·单预测帧间编码,其中输入像素块可相对于先前编码/解码的帧的数据差分编码;以及
[0028] ·多假设运动补偿预测编码,其中输入像素块可经由时间或空间预测使用来自两个或更多个来源的经解码数据预测性地编码。
[0029] 预测编码模式(即差分编码技术)可与其他编码技术(诸如变换跳过编码,RRU编码,预测源的缩放,调色板编码等等)协作使用。
[0030] 视频编码器430可包括向前编码器432,解码器434,参考画面缓冲器436,和预测器438。编码器432可使用由预测器438提供的预测像素块数据将差分编码技术应用于输入像素块。解码器434可将编码器432所应用的差分编码技术反转为被指定为参考帧的编码帧的子集。参考画面缓冲器436可存储用于预测操作的重构参考帧。预测器438可基于存储在参考画面缓冲器436中的参考帧来预测输入像素块。视频编码器430通常根据预定编码协议操作,诸如ITU-T的H.265(通常称为“HEVC”),H.264(“AVC”),或H.263编码协议。
[0031] 传输缓冲器440可以在通过网络传输之前存储经编码视频数据。通常,经编码视频数据在传输之前被格式化以满足编码协议的要求。
[0032] 当预处理器420和视频编码器430分别处理和编码视频输入时,控制器450可管理由预处理器420和视频编码器430所应用的编码相关决定。在一个方面,控制器450可接收描述任何注释的信息,这些注释相对于由系统400处理的视频可为活动的。在一个方面,控制器450可改变编码参数以提高编码效率和/或在注释的存在下的编码质量。例如,控制器通常可根据预定视频元素(帧,切片,和/或像素块)的比特率预算来操作。在一个方面,当元素被注释遮蔽或在注释附近时,控制器450可改变这些元素的比特率预算。在另一个方面,当编码元素被注释遮蔽或在注释附近时,控制器450可将预定编码模式应用于这些编码元素。
[0033] 控制器450可接收来自用户455的注释(图形元素),或者可从存储单元远程地或在本地访问该注释(图形元素)。注释可由指定其外观(例如,形状,颜色,和纹理)的元数据表示。元数据还可包括与注释可被叠盖在视频中的方式有关的信息,例如,位置,视角,尺寸,和运动。在一个方面,元数据的信息可由编码器系统400生成或修改。例如,预处理器420可分析视频帧以确定特定注释是否或如何可被叠盖在视频中,从而相应地设置注释的元数据。控制器450可将注释元数据提供至传输缓冲器440,以与相应的经编码视频和编码参数打包。
[0034] 图5示出了根据本公开的一个方面的方法500。方法500可在视频帧的预定区域(诸如块,宏块,编码单元等等(为了方便起见,将编码单元称为“像素块”))上操作。可根据默认策略为图像的像素块设置比特率预算(框510)。然后,方法500可识别与注释重叠的帧的(一个或多个)区域(框515)。然后,对于每个像素块,方法500可确定像素块是否被注释遮蔽(框520)。如果像素块被遮蔽,则方法500可减少像素块的比特率预算(框525)。如果像素块未被遮蔽,则不需要对像素块的比特率预算执行修改。然后,方法500可根据像素块的比特率预算来编码像素块(框530)。
[0035] 前述技术允许视频编码器降低分配至被遮蔽像素块的比特率预算,这可包括被遮蔽像素块的较低质量编码,但允许将由此获得的比特率节省应用于视频的其他部分。例如,可将比特率节省应用于帧的其他像素块或应用于稍后将被编码的其他帧。此外,由于已降低比特率预算的像素块将被遮蔽,因此预期由降低的比特率预算引起的质量损失对于观察者而言将不是明显的。
[0036] 图6示出了可由上述方法500处理的示例性帧600的一部分。在本示例中,帧600被示出为被划分成像素块,对于所示部分被示为N行M列像素块。两个注释被示出为遮蔽第一多个像素块610和第二多个像素块620。当方法500确定来自源帧的这些像素块将被注释遮蔽时,方法500可改变这些像素块的编码方式,例如,可降低它们的比特率预算。
[0037] 回到图5,在一个方面,方法500可区分被注释部分遮蔽的像素块和完全遮蔽的像素块。当像素块被完全遮蔽时,方法500可为完全遮蔽的像素块强制跳过(SKIP)编码模式(框535)。在跳过编码模式下,方法500可以不将任何比特分配至完全遮蔽像素块的编码。当像素块被部分遮蔽时,方法500可减少该块的所分配比特率预算(如参照框525所讨论)。在一个方面,所分配比特率的减少可与重叠程度成比例,即像素块和所叠盖图形元素之间的更高重叠可导致比特率预算分配的更多减少。
[0038] 图7示出了可由上述方法500处理的示例性帧700的一部分。在此,帧700同样被示出为被划分成像素块,对于所示部分被示为N行M列像素块。两个注释被示出为遮蔽第一多个像素块的710和第二多个像素块720。当方法500区分完全遮蔽的像素块和部分遮蔽的像素块时,方法500可将像素块以及区域730和740识别为被完全遮蔽。这些区域中的像素块可如框535所述进行处理(图5)。区域710,720中的其余像素块可被识别为被部分遮蔽,并且它们可如框525所述进行处理。
[0039] 回到图5,在另一个方面,方法500可调整被表示为“相邻”像素块的与注释相关联的像素块的比特率预算。相邻像素块可以不必与任何图形元素重叠。关于像素块是否为相邻像素块的确定可基于图形元素和与像素块相关联的视频内容之间的关系。如果像素块被确定为相邻像素块,则方法500可增加该像素块的比特率分配(框545)。在一个方面,方法500可识别图形元素所涉及的在视频区域中的感兴趣对象。例如,图形元素可包含所识别对象的名称。基于该参考,与视频区域相关联的像素块可被确定为与图形元素相邻。在另一个方面,确定像素块与图形元素相邻可基于与像素块相关联的视频的特性和图形元素的特性之间的相关性。
[0040] 方法500可根据注释的类型来区分注释。可提供一些注释(诸如圆圈,箭头,和其他基于指针的注释)将观察者的注意吸引到视频图像的所选择区域。这些类型的注释在此称为“注意力抓取器”。在一个方面,方法500可确定注释是否为注意力抓取器(框540)。如果是,则在编码与注释相邻的(一个或多个)像素块(框530)之前,方法500可增加这些相邻像素块的比特率预算(框545)。这样,由注释指示的像素块可被表示为相邻像素块,并且可接收相对高的比特率预算分配,这可有助于对那些相邻像素块的更高质量的编码。
[0041] 因此,在一个方面,位于指向性注释的顶端(例如,基于箭头或其他指针的注释)的区域中的像素块可被识别为可接收增加的比特率预算的相邻像素块。类似地,包围图像的区域的注释(诸如圆圈)可导致所包围区域的增加的比特率预算分配。此外,如所讨论,方法500可采用对象识别过程,方法500可基于该对象识别过程确定注释是否涉及图像数据中的所识别对象。在这种情况下,可将增加的比特率预算应用于与注释所引用的对象相关联的图像区域的编码,而无论其与注释的接近度或其是否被注释完全包围。
[0042] 在另一个方面,方法500可基于图像数据与注释的关系来修改错误恢复过程。例如,当像素块被注释遮蔽时,方法500还可降低应用于该像素块的经编码数据的错误恢复强度(框550)。类似地,当应用于像素块的比特率预算增加时,方法500还可增加对相应像素块的错误恢复编码(框555)。误差恢复编码的增加或降低可分别通过增加或降低分配至经编码像素块的前向纠错编码的比特数量而发生。
[0043] 图8是根据本公开的一个方面的编码系统800的功能框图。系统800可包括像素块编码器810,像素块解码器820,回路滤波器系统830,参考帧存储库840,预测器850,控制器860,和语法单元870。预测器850可预测用于在新呈现的输入像素块的编码期间使用的图像数据,并且其可将表示预测的图像数据的预测块供应至像素块编码器810。像素块编码器
810可通过预测编码技术对新像素块进行编码,并将经编码像素块数据提供给语法单元
870。像素块解码器820可解码经编码像素块数据,由此产生经解码像素块数据。回路滤波器
830可对重构帧执行一个或多个滤波操作。参考帧存储库840可存储经滤波的帧,在此其可用作稍后接收的像素块的预测源。语法单元870可组装来自符合管理编码协议的经编码像素块数据的数据流。
[0044] 像素块编码器810可包括减法器812,变换单元814,量化器816,和熵编码器818。像素块编码器810可以在减法器812处接受输入数据的像素块。减法器812可接收来自预测器850的预测像素块,并由此生成表示输入像素块和预测像素块之间的差值的像素残差阵列。
变换单元814可以对从减法器812输出的样本数据应用变换,以将数据从像素域转换到变换系数域。量化器816可对由变换单元814输出的变换系数执行量化。量化器816可为均匀或非均匀量化器。熵编码器818可通过例如通过可变长度码字或使用上下文自适应二进制算术编码器对输出进行编码来减小系数量化器的输出带宽。
[0045] 变换单元814可以操作在控制器860所确定的多种变换模式中。例如,变换单元814可以应用离散余弦变换(DCT),离散正弦变换(DST),Walsh-Hadamard变换,Haar变换、Daubechies小波变换等。在一个方面,控制器860可以选择变换单元814要应用的编码模式M,可以相应地配置变换单元814,并且可以显式地或隐式地在经编码的视频数据中以信号通知编码模式M。
[0046] 量化器816可以根据控制器860所提供的量化参数QP来操作。在一个方面,量化参数QP可以作为多值量化参数被应用于变换系数,多值量化参数例如在变换域像素块内的不同系数位置上可以改变。因此,量化参数QP可以被提供成量化参数阵列。
[0047] 熵编码器818如其名称所暗示的,可以执行从量化器816输出的数据的熵编码。例如,熵编码器818可执行运行长度编码,霍夫曼编码,哥伦布编码,上下文自适应二进制算术编码等等。
[0048] 像素块解码器820可以反转像素块编码器810的编码操作。例如,像素块解码器820可以包括去量化器822,逆变换单元824,和加法器826。像素块解码器820可从量化器816的输出获取其输入数据。尽管允许,但像素块解码器820不必执行熵编码数据的熵解码,因为熵编码是无损事件。去量化器822可反转像素块编码器810的量化器816的操作。去量化器822可执行如解码信号QP所指定的均匀或非均匀去量化。类似地,逆变换单元824可以反转变换单元814的操作。去量化器822和逆变换单元824可以使用与像素块编码器810中其对应部件相同的量化参数QP和变换模式M。量化操作可能将在各个方面截断数据,并且因此,在与被呈现给像素块编码器810中的量化器816的数据相比时,去量化器822所恢复的数据可能将具有编码误差。
[0049] 加法器826可以反转减法器812所执行的操作。它可以接收与减法器812在生成残差信号中所使用相同的来自预测器850的预测像素块。加法器826可以将预测像素块加到重构残差值(逆变换单元824的输出),并且可以输出重构像素块数据。
[0050] 一旦恢复的像素块数据被组装到帧中,回路滤波器830可对该恢复的像素块数据执行各种滤波操作。例如,回路滤波器830可以包括解块滤波器832,样本自适应偏移(“SAO”)滤波器833,和/或其他类型的回路滤波器(未示出)。例如,回路滤波器830可以执行自适应环路滤波(ALF),基于最大似然(ML)的滤波方案,去振铃,除带,锐化,分辨率缩放等等。
[0051] 参考帧存储库840可以存储经滤波的帧数据以供在其他像素块的后续预测中使用。使不同类型的预测数据可供预测器850使用以用于不同预测模式。例如,对于输入像素块,帧内预测从相同帧的解码数据获得预测参考,该输入像素块定位在该相同帧中。因此,参考帧存储库840可以存储在编码时每个帧的经解码像素块数据。对于相同的输入像素块,帧间预测可采用来自先前编码和解码帧的预测参考,所述帧被指定为参考帧。因此,参考帧存储库840可以存储这些经解码的参考帧。
[0052] 如所讨论,预测器850可以将预测块提供给像素块编码器810以在生成残差中使用。预测器850可以包括帧间预测器852,帧内预测器853,和模式决策单元854。帧间预测器852可以接收表示要编码的新像素块的像素块数据,并且可以对于来自(一个或多个)参考帧的像素块数据从存储库840搜索参考帧数据,以用于在对输入像素块进行编码中使用。帧间预测器852可选择预测参考数据,该预测参考数据提供与被编码的输入像素块的最接近匹配。帧间预测器852可以生成预测参考元数据,诸如(一个或多个)参考画面标识符和(一个或多个)运动向量,以标识哪些参考帧的哪个(哪些)部分被选择作为输入像素块的(一个或多个)预测源。
[0053] 帧内预测器853可以支持帧内(I)模式编码。帧内预测器853可以从来自与被编码像素块相同的帧的像素块数据中进行搜索,这提供与输入像素块的最接近匹配。帧内预测器853还可生成预测模式指示符以标识帧的哪个部分被选择为输入像素块的预测源。
[0054] 模式决策单元854可从帧间预测器852和帧内预测器853的输出中选择最终编码模式。模式决策单元854可为所选择的模式输出预测数据和编码参数(例如,选择参考帧,运动向量等等)。预测像素块数据可被输出至像素块编码器810和像素块解码器820。编码参数可以被输出至控制器860以传输到信道。通常,如上所述,在给定目标比特率的情况下,模式决策单元854将选择在解码视频时实现最低失真的模式。当编码模式被选择为满足编码系统800所遵循的其他策略,诸如满足特定信道行为、或支持随机接入或数据刷新策略时,可能出现例外。
[0055] 在一个方面,可采用多假设编码,在这种情况下,可针对多个编码假设中的每个重复帧间预测器852,帧内预测器853,和模式决策单元854的操作。控制器860可以控制编码系统800的整个操作。控制器860可以基于输入像素块的分析以及还有外部约束(诸如编码比特率目标和其他操作参数)来选择像素块编码器810和预测器850的操作参数。与本讨论相关,在选择量化参数QP,均一或非均一量化器的使用,和/或变换模式M时,可以将那些参数提供给语法单元870,该语法单元可以将表示那些参数的数据包括在系统800所输出的经编码视频数据的数据流中。控制器860也可以在系统可以用以生成参考图像的不同操作模式之间进行选择,并且可以包括标识为经编码数据的每个部分选择的模式的元数据。
[0056] 在操作期间,控制器860可以以图像数据的不同粒度,要么以每个像素块为基础要么在更大粒度(例如,每帧,每片,每个最大编码单元(“LCU”)或编码树单元(CTU),或另一区域),来修改量化器816和变换单元814的操作参数。如所讨论,控制器860可基于对输入像素块是否被遮蔽的确定,并且在一些方面,基于像素块被如何遮蔽(例如,是部分遮蔽还是完全遮蔽)来选择编码模式,变换模式,和量化参数。
[0057] 另外,如所讨论,控制器860可以控制回路滤波器830和预测单元850的操作。对于预测单元850,此类控制可包括模式选择(λ,待测模式,搜索窗口,失真策略等),并且对于回路滤波器830,包括选择滤波器参数,重新排序参数,加权预测等。
[0058] 图9是示出了根据本公开的一个方面的解码终端的部件的功能框图。解码终端可包括可接收来自信道的经编码视频数据的接收器(RX)910,可解码经编码数据的视频解码系统920,图像处理器930,和可消耗视频数据的视频宿940。
[0059] 接收器910可从网络接收数据流,并且可将数据流的分量路由至终端900内的适当单元。虽然图2和图9示出了用于视频编码和解码的功能单元,但是终端110,120(图1)通常将包括用于与视频相关联的音频数据的编码/解码系统,以及可能包括其他处理单元(未示出)。因此,接收器910可解析来自数据流的其他元素的经编码视频数据并将其路由至视频解码器920。
[0060] 视频解码器920可执行反转由编码系统800执行的编码操作的解码操作。视频解码器可包括解码器922,回路滤波器924,参考帧存储库926,和预测器928。解码器922可将编码器810所应用的差分编码技术反转为编码帧。回路滤波器924可将滤波技术应用于由解码器922生成的重构帧数据。例如,回路滤波器924可执行各种滤波操作(例如,去块,去振铃滤波,样本自适应偏移处理等等)。滤波的帧数据可从解码系统输出。参考帧存储库926可存储用于预测操作的重构参考帧。预测器928可根据在经编码视频数据中提供的预测参考数据,从由帧缓冲器存储的参考帧内预测输入像素块的数据。视频解码器920可根据与编码器相同的编码协议(例如,HEVC,AVC,或H.263编码协议)来操作。
[0061] 图像处理器930可执行操作来调节用于显示的重构视频数据。例如,图像处理器930可执行各种滤波操作(例如,去块,去振铃滤波等等),这可去除或衰减由编码/解码过程生成的输出视频中的视觉伪影。图像处理器930还可改变重构视频的分辨率,帧速率,色彩空间等以使其符合视频宿940的要求。
[0062] 视频宿940表示解码终端中可消耗重构视频的各种硬件和/或软件部件。视频宿940通常可包括可呈现重构视频的一个或多个显示设备。另选地,视频宿940可由存储重构视频以供稍后使用的存储器系统来表示。视频宿940还可包括根据应用程序中提供的控件来处理重构视频数据的一个或多个应用程序。在一些方面,视频宿可表示传输系统,该传输系统将重构视频传输至与解码终端分开的另一设备上的显示器;例如,笔记本计算机生成的重构视频可被传输到大型平板显示器以用于观看。
[0063] 图10是根据本公开的一个方面的解码系统1000的功能框图。解码系统1000可包括语法单元1010,像素块解码器1020,回路滤波器1030,参考帧存储库1040,预测器1050,和控制器1060。
[0064] 语法单元1010可以接收经编码的视频数据流,并且可以将经编码的数据解析成其组成部分。表示编码参数的数据可被提供给控制器1060,而表示编码残差的数据(由图8的像素块编码器810输出的数据)可被提供给其相应的像素块解码器1020。预测器1050可根据在经编码视频数据中提供的编码参数数据来从参考帧存储库1040中可用的参考数据生成预测块。它可将预测块提供给像素块解码器1020。像素块解码器1020可反转由像素块编码器810应用的编码操作(图8)。回路滤波器1030可对重构的帧数据进行滤波。经滤波帧可从解码系统1000输出。被指定为用作参考帧的经滤波帧也可被存储在参考帧存储库1040中。
[0065] 像素块解码器1020可以包括熵解码器1022,逆量化处理器(去量化器)1024,逆变换单元1026,和加法器1028。熵解码器1022可执行熵解码以反转由熵编码器818执行的过程(图8)。去量化器1024可反转像素块编码器810的量化器816的操作(图8)。类似地,逆变换处理器1026可以反转变换单元814的操作(图8)。它们可以使用在经编码的视频数据流中提供的量化参数QP和变换模式M。因为量化可能截断数据,所以当与呈现给编码器的像素块编码器810的输入像素块进行比较时,由去量化器1024恢复的像素块很可能具有编码误差(图8)。
[0066] 加法器1028可反转减法器812所执行的操作(图8)。它可以接收来自预测器1050的预测像素块,该预测像素块由经编码的视频数据流中的预测参考所确定。加法器1028可以将预测像素块加到由逆变换处理器1026输出的重构残差值,并且可以输出重构像素块数据。
[0067] 回路滤波器1030可对由经编码视频数据标识的恢复像素块数据执行各种滤波操作。例如,回路滤波器1030可以包括解块滤波器1032,样本自适应偏移(“SAO”)滤波器1034,和/或其他类型的回路滤波器。这样,回路滤波器1030的操作模拟编码器800的回路滤波器830中对应部件的操作(图8)。
[0068] 参考帧存储库1040可以存储经滤波的帧数据以供在其他像素块的后续预测中使用。参考帧存储库1040可以存储在被编码时的经解码帧以供在帧内预测中使用。参考帧存储库1040也可以存储经解码的参考帧。
[0069] 如所讨论,预测器1050可向像素块解码器1020提供预测块。预测器1050可从经编码视频数据中表示的参考帧存储库1040中检索预测数据。
[0070] 控制器1060可以控制编码系统1000的整个操作。控制器1060可以基于在经编码的视频数据流中接收的参数来设定像素块解码器1020和预测器1050的操作参数。与本讨论相关,这些操作参数可以包括去量化器1024的量化参数QP和逆变换处理器1026的变换模式参数M。如所讨论,可在图像数据的各种粒度设定接收的参数,例如,基于每个像素块,每帧,逐个切片地,基于每个LCU/CTU,或基于针对输入图像定义的其他类型的区域。
[0071] 前述讨论已在视频编码器和解码器的上下文中描述了本公开各个方面的操作。这些部件常常作为电子设备来提供。视频解码器和/或控制器可以被嵌入在集成电路中,诸如专用集成电路、现场可编程阵列和/或数字信号处理器。另选地,它们可以被嵌入到在相机设备、个人计算机、笔记本电脑平板电脑、智能电话或计算机服务器上执行的计算机程序中。此类计算机程序通常存储在物理存储介质诸如基于电子、磁性和/或基于光学的存储设备中,在那里它们被读取到处理器并且被执行。解码器常常被封装在消费电子设备中,诸如智能电话、平板电脑、游戏系统、DVD播放器、便携式媒体播放器等;并且,它们也可以被封装在消费软件应用中,诸如视频游戏、媒体播放器、媒体编辑器等等。并且,当然,这些部件可以被提供作为根据需要在专用硬件部件和经编程的通用处理器上分配功能的混合系统。
[0072] 视频编码器和解码器可以多种方式通过信道来交换视频。它们可以经由通信和/或计算机网络彼此通信,如图1所示。在其他应用中,视频编码器可以将视频数据输出给存储设备,诸如电、磁和/或光学存储介质,所述存储设备可以在稍后某个时候被提供给解码器。在此类应用中,解码器可以从存储设备检索所编码的视频数据并对其进行解码。
[0073] 本文具体示出和/或描述了本发明的若干实施方案。然而,应当理解,在不脱离本发明的实质和预期范围的情况下,本发明的修改和变型由上述教导内容涵盖并且在所附权利要求的范围内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈