动态更新质量至较高的色度采样率的制作方法

文档序号:11291365阅读:394来源:国知局
动态更新质量至较高的色度采样率的制造方法与工艺



背景技术:

工程师使用压缩(也被称为源编码或信源编码)来降低数字视频的比特率。压缩通过将信息转换成较低比特率形式来降低存储和传送视频信息的成本。压缩可以是无损的,在这种情况下,重构时的视频质量不受损,但是比特率的减小受到视频的复杂性的限制。或者,压缩可能是有损的,在这种情况下,所重构的视频的质量受损,但是比特率的减小更显著。解压缩(也被称为解码)从被压缩的形式重构原始信息的版本。“编解码器”是编码器/解码器系统。

在过去二十年内,已经采用了各种视频编解码器标准,包括itu-th.261、h.262(mpeg-2或iso/iec13818-2)、h.263、h.264(mpeg-1avi或iso/iec14496-10)以及h.265(hevc或iso/iec23008-2)标准、mpeg-1(iso/iec11172-2)和mpeg-4视觉(iso/iec14496-2)标准、以及smpte421m标准。视频编解码器标准通常限定用于编码视频比特流的语法的选项,其详述了当在编码和解码中使用特定特征时比特流中的参数。在许多情况下,视频编解码器标准还提供了解码器应当执行的解码操作的细节,以便在解码中实现一致结果。除了编解码器标准,还有各种专有编解码器格式(诸如vp8、vp9、以及其他vpx格式)限定用于编码视频比特流的语法的其他选项以及对应的解码操作。

对于编码,诸如相机或屏幕捕获模块之类的视频源通常提供被转换成诸如yuv4:4:4色度采样格式的格式的视频。yuv格式包括具有表示近似明亮度(brightness)值的采样值的亮度(luma)(或y)分量以及具有表示色差(colordifference)值的采样值的多个色度(chroma)(或u和v)分量。在yuv4:4:4格式中,色度信息以与亮度信息相同的空间分辨率表示。

许多市售的视频编码器和解码器仅支持yuv4:2:0色度采样格式。与yuv4:4:4格式相比较,yuv4:2:0格式是对色度信息进行子采样的格式,因此色度分辨率在水平方向和垂直方向上均是亮度分辨率的一半。作为设计原则,使用yuv4:2:0格式进行编码/解码的决定前提是基于以下理解:对于诸如自然的相机捕获的视频内容的编码/解码之类的典型使用案例,观众通常不会注意以yuv4:2:0格式编码/解码的视频与以yuv4:4:4格式编码/解码的视频之间的显著视觉差异。(与明亮度或强度(亮度)改变相比较,人眼对颜色(色度)改变较不敏感。)因此,对于每个画面具有较少采样的yuv4:2:0格式的压缩优势是令人信服的。

然而,存在一些使用案例,其中视频具有更丰富的颜色信息以及更高的颜色保真度可能是合理的。在这种使用情况下,yuv4:4:4色度采样格式和yuv4:2:0色度采样格式之间的差异更容易被观众感知到。例如,对于计算机屏幕文本内容,具有人为的硬缘边界的动画视频内容、彩色文本、或更为普遍的视频内容的某些特征(诸如滚动标题和硬缘图形、或信息集中在色度信道中的视频)的编码/解码,yuv4:4:4格式可能优于yuv4:2:0格式。一些编解码器支持采用yuv4:4:4格式的视频画面的直接编码和解码,但缺乏对使用yuv4:4:4格式的编解码器(尤其是以硬件实现的方式)的广泛支持是个障碍。在速率-失真效率和计算复杂度方面,对于许多使用案例场景,提供具有yuv4:4:4质量的视频的其他现有方法仍有不足。



技术实现要素:

总而言之,具体实施方式提出了使用在采用低分辨率色度采样格式(诸如yuv4:2:0)的编码画面上操作的视频编码器来编码采用高分辨率色度采样格式(诸如yuv4:4:4)的视频画面的创新。例如,根据判定规则集合,在逐区域的基础上选择性地对高色度分辨率细节进行编码,使得比特率的增加(由于高色度分辨率细节的采样值的编码)发生在色度分辨率的对应增加可能以明显的方式提高质量的时间和地点。这样,在采用低分辨率色度采样格式的编码画面上操作的可用编码器可以有效地用于提供高色度分辨率细节。

根据本文中所描述的创新的一个方面,诸如视频编码器系统之类的视频处理工具将输入画面的采样值封包成第一编码画面和第二编码画面。输入画面根据输入画面格式(例如,具有诸如4:4:4之类的色度采样率)来组织。第一编码画面和第二编码画面分别根据第一编码画面格式和第二编码画面格式来组织。第一编码画面格式和第二编码画面格式可以是相同的编码画面格式或不同的编码画面格式(例如,不同的色度采样率)。与输入画面格式相比,第一编码画面格式和第二编码画面格式中的至少一个编码画面格式可以具有较低色度采样率,诸如4:2:0。第一编码画面包含用于输入画面的低色度分辨率版本的采样值。第二编码画面包含用于输入画面的高色度分辨率细节的采样值。

该视频处理工具对第一编码画面和第二编码画面进行编码以产生编码数据。对于编码,对于一个或多个区域中的每个区域,视频处理工具评估该区域的一个或多个属性(例如,该区域的改变程度、该区域的编码数据的质量和/或该区域中的内容)。至少部分地基于评级结果,视频处理工具确定是否对用于输入画面的高色度分辨率细节的区域中的采样值进行编码作为第二编码画面的一部分。视频处理工具还可以至少部分地基于评估结果,确定是否对用于输入画面的低色度分辨率版本的区域中的采样值进行编码作为第一编码画面的一部分。视频处理工具输出编码数据。

创新可以被实现为方法的一部分、为被配置成执行该方法的计算机系统的一部分、或为有形计算机可读介质的一部分,该有形计算机可读介质存储计算机可执行指令,用于使得计算机系统当被编程时,执行该方法。各种创新可以组合使用或分开使用。通过参考附图进行的以下具体实施方式,本发明的前述和其他目的、特征和优点将变得更加明显。

附图说明

图1是其中可以实现一些所描述的实施例的示例计算机系统的图。

图2a和图2b是其中可以实现一些所描述的实施例的示例网络环境的图。

图3是其中可以实现一些所描述的实施例的一般的帧封包/解包系统的图。

图4是可以与其一起实现一些所描述的实施例的示例编码器系统的图。

图5是可以与其一起实现一些所描述的实施例的示例解码器系统的图。

图6a和图6b是图示了可以与其一起实现一些所描述的实施例的示例视频编码器的图。

图7是图示了可以与其一起实现一些所描述的实施例的示例视频解码器的图。

图8a至图8e是图示了帧封包的示例方法的图。

图9是图示了包括yuv4:2:0画面的子序列和uuv4:2:0画面的子序列的编码画面序列的图。

图10a和图10b是图示了yuv4:2:0画面的子序列的编码画面之间的时间依赖性以及uuv4:2:0画面的子序列的编码画面之间的时间依赖性的图。

图11和图12是图示了用于分别编码和解码用于输入画面/输出画面的低色度分辨率版本和高色度分辨率细节的不同的子序列中的编码画面的一般的技术的流程图。

图13是图示了用于输入画面/输出画面的高色度分辨率细节的区域中的采样值的选择性编码和解码的图。

图14是图示了用于输入画面的低色度分辨率版本和高色度分辨率细节的区域中的采样值的选择性编码的图。

图15和图16是图示了当选择性地编码和解码用于输入画面/输出画面的低色度分辨率版本和高色度分辨率细节的区域中的采样值时使用的区域数据的示例的图。

图17和图18是图示了用于分别选择性地编码和解码用于高色度分辨率细节的区域中的采样值的一般的技术的流程图。

图19是图示了在用于选择性地编码用于输入画面的低色度分辨率版本和高色度分辨率细节的区域中的采样值的示例判定规则中所考虑的区域的图。

图20a至图20e是图示了用于选择性地编码用于输入画面的低色度分辨率版本和高色度分辨率细节的区域中的采样值的示例判定规则的流程图。

图21是图示了用于当选择性地编码用于高色度分辨率细节的区域中的采样值时应用判定规则的一般的技术的流程图。

图22a至图22d是图示了用于色度采样值的抗混叠滤波和对应的恢复滤波的各方面的图。

图23是图示了用于在输出画面的一个或多个高色度分辨率区域中选择性地应用恢复滤波器的一般的技术的流程图。

图24是图示了输出画面的低色度分辨率区域和高色度分辨率区域之间的边界处的去块滤波的各方面的图。

图25是图示了用于在输出画面的低色度分辨率区域和高色度分辨率区域之间的一个或多个边界处应用去块滤波器的一般的技术的流程图。

图26是图示了输出画面的区域中的自适应去振铃(deringing)滤波的各方面的流程图。

图27a至图27d是图示了用于输出画面的高色度分辨率区域的去振铃滤波器的示例的图。

图28是图示了用于在输出画面的高色度分辨率区域中应用去振铃滤波器的一般的技术的流程图。

具体实施方式

具体实施方式提出了使用在采用低分辨率色度采样格式(诸如yuv4:2:0)的编码画面上操作的视频编码器来编码采用高分辨率色度采样格式(诸如yuv4:4:4)的视频画面的创新。例如,根据判定规则集合,在逐区域的基础上选择性地对高色度分辨率细节进行编码,使得比特率的增加(由于高色度分辨率细节的采样值的编码)发生在色度分辨率的对应增加可能以明显的方式提高质量的时间和地点。这样,在采用低分辨率色度采样格式的编码画面上操作的可用编码器可以有效地用于提供高色度分辨率细节。

如本文中所使用的,术语“编码画面”指示经编码和解码的画面,其通常采用具有诸如4:2:0的色度采样率的编码画面格式。术语“输入画面”指示将采样值重排为用于编码的编码画面格式之前的、通常具有诸如4:4:4之类的较高的色度采样率的输入画面格式的画面。相反,术语“输出画面”指示在解码之后从编码画面格式重排采样值之后的、通常具有与输入画面格式相同的色度采样率的输出画面格式的画面。本文中所描述的一些示例涉及对采用yuv4:4:4格式的输入画面/输出画面的采样值进行封包/解包,用于使用适用于yuv4:2:0格式的编解码器进行编码/解码。更一般地,所描述的方法可以用于其他色度采样格式。例如,除了采样比诸如为4:4:4、4:2:2、4:2:0、4:1:1、4:0:0等的y'uv、yiq、y'iq、ydbdr、ycbcr、ycocg之类的yuv色彩空间的变型之外,所描述的方法可以用于采样率诸如为4:4:4、4:2:2、4:2:0、4:1:1、4:0:0等的诸如rgb、gbr之类的颜色空间作为色度采样格式。术语“封包”指示其中用于第一画面格式的画面的一些或所有采样值被分离、转换、重排、重新格式化、滤波或以其他方式改变为采用第二画面格式的一个或多个画面的任何操作。相反,术语“解包”指示其中用于采用第二画面格式中的一个或多个画面的一些或全部采样值被组合、合成、转换、重排、重新格式化、滤波或以其他方式改变为采用第一画面格式的画面的任何操作。

在本文中所描述的许多示例中,采用yuv4:4:4格式的输入画面被封包成采用yuv4:2:0格式的两个编码画面,其被编码。采用yuv4:2:0格式的两个编码画面被解码,并且(对于至少一些采样值)解包成采用yuv4:4:4格式的输出画面。更一般地,采用输入画面格式的输入画面可以被封包成采用编码画面格式的多个编码画面,其对于相应的编码画面可以具有相同的编码画面格式或不同的编码画面格式(例如,不同色度采样率)。例如,对于采用yuv4:4:4格式的输入画面,编码画面中的一个编码画面采用yuv4:2:2格式,另一编码画面采用4:0:0格式。在该配置中,采用yuv4:2:2格式的编码画面可以存储输入画面的低色度分辨率版本,并且采用4:0:0的编码画面可以存储高色度分辨率细节。

通常,当采用输入画面格式的输入画面被封包成采用编码画面格式的多个编码画面时,编码画面不包括重叠数据。例如,采用yuv4:4:4格式的输入画面的一些采样值被封包成采用yuv4:2:0格式的第一编码画面(可能在滤波采样值之后),并且输入画面的其他采样值被封包成采用yuv4:2:0格式的第二编码画面。可替代地,编码画面可以包括重叠数据,其可能会损害压缩效率。例如,假设采用yuv4:4:4格式的输入画面的采样值被封包成采用yuv4:2:2格式或yuv4:2:0格式的第一编码画面。一些相同的采样值以及附加的采样值可以被封包成采用yuv4:2:0格式或yuv4:2:2格式的第二编码画面。

尽管本文中所呈现的操作处处被描述为通过视频编码器或视频解码器来执行,但是在许多情况下,操作可以通过另一类型的媒体编码器或媒体解码器(例如,图像编码器或图像解码器)或其他媒体处理工具来执行。例如,所描述的技术可以应用于静止图像编码/解码、医学扫描内容编码/解码、多光谱图像内容编码/解码等。

参考特定于h.264/avc标准或h.265/hevc标准的语法元素和操作来说明本文中提出的一些创新。本文中所提出的创新还可以被实现用于其他标准或格式。

当编码某些“人为”创建的视频内容(诸如用于远程桌面会议或另一使用案例场景的屏幕捕获内容)时,本文中所呈现的许多创新可以提高速率-失真性能。屏幕捕获内容通常包括重复的结构(例如,图形、文本字符)。屏幕捕获内容通常采用具有高色度采样分辨率的格式(例如,yuv4:4:4或rgb4:4:4)进行编码,尽管它还可以采用具有较低色度采样分辨率(例如,yuv4:2:0)的格式进行编码。用于编码/解码屏幕捕获内容的常见场景包括远程桌面会议和编码/解码自然视频上叠加的图形或其他“混合内容”视频。本文中所提出的许多创新还可以用于自然视频。

更一般地,本文中所提出的示例的各种备选方案是可能的。例如,可以通过改变所描述的方法动作的顺序、通过拆分、重复或省略某些方法动作等来更改本文中所给出的方法中的一些方法。所公开的技术的各种方面可以组合使用或分开使用。不同的实施例使用所描述的创新中的一个或多个创新。本文中所提出的创新中的一些创新解决了背景技术中所提及的问题中的一个或多个问题。通常,给定的技术/工具不能解决所有这些问题。

i.示例计算机系统

图1图示了其中可以实现所描述的创新中的几个创新的合适计算机系统(100)的一般的示例。该计算机系统(100)不旨在对使用范围或功能性提出任何限制,因为本创新可以在多种通用计算机系统或专用计算机系统中实现。

参考图1,计算机系统(100)包括一个或多个处理单元(110,115)和存储器(120,125)。处理单元(110,115)执行计算机可执行指令。处理单元可以是通用cpu、asic中的处理器、或任何其他类型的处理器。在多处理系统中,多个处理单元执行计算机可执行指令以增加处理能力。例如,图1示出了cpu(110)以及gpu或协处理单元(115)。有形存储器(120,125)可以是易失性存储器(例如,寄存器、高速缓存、ram)、非易失性存储器(例如,rom、eeprom、闪速存储器等)、或两者的某种组合,其可由处理单元访问。存储器(120,125)存储采用适于由处理单元执行的计算机可执行指令的形式的软件(180),其实现用于编码和/或解码高色度分辨率细节的一个或多个创新。

计算机系统可以具有附加特征。例如,计算机系统(100)包括存储装置(140)、一个或多个输入设备(150)、一个或多个输出设备(160)、以及一个或多个通信连接(170)。诸如总线、控制器或网络之类的互连机构(未示出)互连计算机系统(100)的部件。通常,操作系统软件(未示出)为在计算机系统(100)中执行的其他软件提供操作环境,并且协调计算机系统(100)的部件的活动。

有形存储装置(140)可以是可移除的或不可移除的,并且包括磁盘、磁带或盒、诸如cd-rom或dvd之类的光学存储介质、或可以用于存储信息并且可以在计算机系统(100)内访问的任何其他介质。存储装置(140)存储用于实现用于编码和/或解码高色度分辨率细节的一个或多个创新的软件(180)的指令。

输入设备(150)可以是触摸输入设备(诸如键盘、鼠标、笔或轨迹球)、话音输入设备、扫描设备或向计算机系统提供输入的另一设备(100)。对于视频,输入设备(150)可以是接受采用模拟或数字形式的视频输入的相机、视频卡、tv调谐器卡、屏幕捕获模块、或类似设备,或者将视频输入读取到计算机系统(100)中的cd-rom或cd-rw。输出设备(160)可以是提供来自计算机系统(100)的输出的显示器、打印机、扬声器、cd写入器或其他设备。

通信连接(170)使得能够通过通信介质与另一计算实体通信。通信介质传送信息,诸如计算机可执行指令、音频或视频输入或输出或调制数据信号中的其他数据。调制数据信号是以对信号中的信息进行编码的方式设置或改变其特征中的一个或多个特征的信号。作为示例而非限制,通信介质可以使用电、光、射频(rf)或其他载体。

本文中所提出的创新可以在计算机可读介质的一般上下文中进行描述。计算机可读介质是可以在计算环境内访问的任何可用有形介质。作为示例而非限制,利用计算机系统(100),计算机可读介质包括存储器(120,125)、存储装置(140)、以及上述任何一种的组合。

创新可以在计算机可执行指令(诸如包括在程序模块中的那些)的一般上下文中进行描述,这些计算机可执行指令在目标真实或虚拟处理器上的计算机系统中被执行。通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、库、对象、类、部件、数据结构等。如在各种实施例中描述的,程序模块的功能性可以根据需要在程序模块之间进行组合或拆分。用于程序模块的计算机可执行指令可以在本地或分布式计算机系统内执行。

术语“系统”和“设备”在本文中可互换使用。除非上下文另有明确指示,否则这两个术语都不意味着对计算机系统或计算机设备的类型的任何限制。一般而言,计算机系统或计算机设备可以是本地的或分布式的,并且可以包括专用硬件和/或通用硬件与实现本文中所描述的功能性的软件的任何组合。

所公开的方法还可以使用被配置成执行所公开的方法中的任一方法的专用计算硬件来实现。例如,所公开的方法可以通过集成电路(例如,asic,诸如asic数字信号处理器(“dsp”)、gpu、或诸如现场可编程门阵列(“fpga”)之类的可编程逻辑器件(“pld”))来实现,该集成电路被专门设计或配置成实现所公开的方法中的任一方法。

为了呈现起见,具体实施方式使用诸如“确定”、“设置”和“使用”之类的术语来描述计算机系统中的计算机操作。这些术语是由计算机执行的操作的高级抽象,不应与由人类执行的行为混淆。与这些术语相对应的实际计算机操作因实现方式而异。

ii.示例网络环境

图2a和图2b示出了包括视频编码器(220)和视频解码器(270)的示例网络环境(201,202)。编码器(220)和解码器(270)使用适当的通信协议通过网络(250)来连接。网络(250)可以包括因特网或另一计算机网络。

在图2a所示的网络环境(201)中,每个实时通信(“rtc”)工具(210)均包括用于双向通信的编码器(220)和解码器(270)。给定编码器(220)可以产生符合h.265标准、smpte421m标准、h.264标准、另一标准、或专有格式的变型或扩展的输出,而对应的解码器(270)接受来自编码器(220)的编码数据。双向通信可以是视频会议、视频电话呼叫、或其他双方或多方通信场景的一部分。尽管图2a中的网络环境(201)包括两个实时通信工具(210),但是网络环境(201)相反可以包括参与多方通信的三个或更多个实时通信工具(210)。

实时通信工具(210)通过编码器(220)管理编码。图4示出了可以包括在实时通信工具(210)中的示例编码器系统(400)。可替代地,实时通信工具(210)使用另一编码器系统。实时通信工具(210)还通过解码器(270)管理解码。图5示出了可以包括在实时通信工具(210)中的示例解码器系统(500)。可替代地,实时通信工具(210)使用另一解码器系统。

在图2b所示的网络环境(202)中,编码工具(212)包括编码器(220),其编码用于递送到包括解码器(270)的多个重放工具(214)的视频。可以为视频监控系统、网络摄像机监视系统、远程桌面会议呈现或其他场景提供单向通信,其中编码视频从一个位置发送到一个或多个其他位置。尽管图2b中的网络环境(202)包括两个回放工具(214),但是网络环境(202)可以包括更多或更少的回放工具(214)。一般而言,回放工具(214)与编码工具(212)通信,以确定视频流以供回放工具(214)接收。回放工具(214)接收流,在适当的时间段内缓存接收到的编码数据,并且开始解码和回放。

图4示出了可以包括在编码工具(212)中的示例编码器系统(400)。可替代地,编码工具(212)使用另一编码器系统。编码工具(212)还可以包括用于管理与一个或多个回放工具(214)的连接的服务器侧控制器逻辑。图5示出了可以包括在回放工具(214)中的示例解码器系统(500)。可替代地,回放工具(214)使用另一解码器系统。回放工具(214)可以包括用于管理与编码工具(212)的连接的客户端侧控制器逻辑。

iii.示例帧封包/解包系统

图3是可以与其一起实现一些所描述的实施例的一般的帧封包/解包系统(300)的框图。

系统(300)包括视频源(310),其产生采用具有第一较高色度采样率(诸如yuv4:4:4格式)的输入画面格式的源画面(311)。视频源(310)可以是相机、调谐器卡、屏幕捕获模块、存储媒体或其他数字视频源。

拆分器(315)重排采用输入画面格式的画面(311),以产生采用具有第二较低色度采样率(例如yuv4:2:0格式)的编码画面格式的源画面(316)。下文对使用帧封包来拆分画面(311)的示例方法进行描述。可替代地,源画面(316)可以具有不同的编码画面格式(例如,用于画面(311)的低色度分辨率版本的编码画面的yuv4:2:2格式,以及用于具有高色度分辨率细节的编码画面的yuv4:0:0格式),其中编码画面格式中的至少一个编码画面格式具有比输入画面格式更低的色度采样率。拆分器(315)可以用信号通知指示是否以及如何执行拆分的关于一个或多个区域的元数据(317),以供在解码之后被组合器(385)使用。下文对用信号通知关于区域的元数据的示例方法进行描述。

编码器(340)编码采用具有较低色度采样率的编码画面格式的画面(316)。(如果画面(316)具有不同的编码画面格式,则不同的编码器可以用于不同的编码画面格式,或者可以使用支持这两种格式的单个编码器。)下文参考图4、图6a和图6b对示例编码器进行描述。编码器(340)通过信道(350)输出编码数据(341),信道表示存储、通信连接或用于输出的另一信道。

在本文中所描述的一些示例中,采用编码画面格式的画面(316)被编码为两个不同子序列的画面。在第一子序列中,画面包含用于画面(311)的低色度分辨率版本的采样值。在第二子序列中,画面包含用于画面(311)的高色度分辨率细节的采样值。编码数据(341)包括用于第一子序列的编码数据以及用于第二子序列的编码数据。每个子序列对于编码器(340)的格式是一致的,并且可由用于该格式的解码器(360)解码。在编码器(340)和解码器(360)之间,诸如解复用器或路由器之类的比特流编辑工具(未示出)可以分离用于第一子序列的编码数据和用于第二子序列的编码数据。这使得比特流编辑工具能够仅将用于第一子序列的编码数据发送到某些回放设备(例如,那些缺乏足够的用于具有高色度分辨率的回放的显示分辨率、计算资源、或网络连接),其通过消除第二子序列的高色度分辨率细节来降低总比特率。用于第一子序列的编码数据对于编码器(340)的格式保持一致,并且可由用于该格式的解码器(360)解码。对于其他回放设备(例如,那些具有足够的用于具有高色度分辨率的回放的显示分辨率、计算资源和网络连接),比特流编辑工具可以发送所有编码数据(341),包括用于两个子序列的编码数据。

解码器(360)接收编码数据中的至少一些编码数据(341),并且解码采用具有较低色度采样率的编码画面格式的画面中的至少一些画面(316)。(如果画面(316)具有不同的编码画面格式,则不同的解码器可以用于不同的编码画面格式,或者可以使用支持这两种格式的单个解码器。)下文参考图5和图7对示例解码器进行描述。解码器(360)输出采用具有较低色度采样率的编码画面格式的重构画面(381)。例如,解码器(360)接收并且解码用于第一子序列的编码画面的编码数据,其包含用于画面(311)的低色度分辨率版本的采样值。或者,除了对用于第一子序列的编码数据进行接收和解码之外,解码器(360)接收并且解码用于第二子序列的编码画面的编码数据,其包含用于画面(311)的高色度分辨率细节的采样值。

组合器(385)可选地重排采用具有较低色度采样率的编码画面格式(或多个不同编码画面格式)的重构画面(381),以重构采用具有较高色度采样率的输出画面格式的输出画面(386)。下文对使用帧解包的示例组合方法进行描述。组合器(385)可以接收指示是否以及如何执行拆分的关于区域的元数据(317),并且使用这样的元数据(317)来指导组合操作。组合器(385)将采用输出画面格式的重构画面输出到输出目的地(390)。对采用输出画面格式(诸如yuv4:4:4格式)输出画面的色彩空间转换可以将采样值转换为另一格式(诸如rgb4:4:4格式)以供显示。

iv.示例编码器系统

图4是可以与其一起实现一些所描述的实施例的示例编码器系统(400)的框图。该编码器系统(400)可以是能够在用于从文件或流产生用于回放的媒体的多种编码模式(诸如用于实时通信或远程桌面会议的低延迟编码模式、代码转换模式、以及更高延迟编码模式)中的任一种操作模式下操作的通用编码工具,或者它可以是适用于一种这样的编码模式的专用编码工具。编码器系统(400)可以适用于编码特定类型的内容(例如,屏幕捕获内容)。编码器系统(400)可以被实现为操作系统模块的一部分、应用库的一部分、独立应用的一部分、或使用专用硬件来实现。编码器系统(400)可以使用一个或多个通用处理器(例如,一个或多个cpu)进行一些或所有编码操作,使用图形硬件(例如,gpu)进行某些编码操作,或者使用诸如asic之类的专用硬件进行某些编码操作。总体而言,编码器系统(400)从视频源(410)接收采用具有第一较高色度采样率(诸如yuv4:4:4)的输入画面格式的源视频画面序列(411),将输入源画面(411)拆分成采用具有第二较低色度采样率(诸如yuv4:2:0)的编码画面格式或多个编码画面格式的源画面(416),并且编码采用编码画面格式的源画面(416)以产生编码数据作为信道(490)的输出。

视频源(410)可以是相机、调谐器卡、存储介质、屏幕捕获模块或其他数字视频源。视频源(410)以例如每秒30帧的帧速率产生视频画面序列。如本文中所使用的,术语“画面”通常指源图像数据、编码图像数据或重构图像数据。对于逐行扫描视频,画面是逐行扫描视频帧。对于隔行视频,在示例实施例中,隔行扫描视频帧可能在编码之前被去隔行。可替代地,两个互补隔行视频场一起被编码为单个视频帧或被编码为两个分开编码的场。除了指示逐行扫描视频帧或隔行扫描视频帧之外,术语“画面”可以指示单个非配对视频场、互补视频场对、在给定时间表示视频对象的视频对象平面、或较大图像中的感兴趣区域。视频对象平面或区域可以是包括场景的多个对象或区域的较大图像的一部分。在从捕获格式(例如,rgb格式)进行色彩空间转换之后,源画面(411)采用具有较高色度采样格式(诸如yuv4:4:4格式)的输入画面格式。

拆分器(415)(也被称为格式化器)重排采用输入画面格式的画面(411),以产生采用具有较低色度采样率的编码画面格式(诸如yuv4:2:0格式)的源画面(416)。使用帧封包的示例拆分方法如下所述。可替代地,源画面(416)可以具有不同的编码画面格式(例如,用于画面(411)的低色度分辨率版本的编码画面的yuv4:2:2格式以及用于具有高色度分辨率细节的编码画面的yuv4:0:0格式),其中与输入画面格式相比,编码画面格式中的至少一个编码画面格式具有较低色度采样率。拆分器(415)可以用信号通知指示是否以及如何执行拆分的元数据(未示出),以供在解码之后被组合器使用。用信号通知这种元数据的示例方法如下所述。例如,如下文所描述的,拆分器(415)可以执行预处理操作。

到达的源画面(416)被存储在包括多个画面缓冲区存储区域(421,422,…,42n)的源画面临时存储器存储区域(420)中。画面缓冲区(421,422等)将一个源画面保存在源画面存储区域(420)中。在源画面(416)中的一个或多个源画面(416)已经存储在画面缓冲区(421,422等)中之后,画面选择器(430)从源画面存储区域(420)中选择单个源画面。通过画面选择器(430)选择画面以输入到编码器(440)的顺序可能与其中通过视频源(410)产生画面的顺序不同,例如,一些画面的编码可以是按顺序延迟,以便允许一些较晚的画面被首先编码,从而便于在时间上的后向预测。

可以切换拆分器(415)和帧存储区域(420)的顺序。在编码器(440)之前,编码器系统(400)可以包括在编码之前执行所选择的画面(431)的预处理(例如,滤波)的预处理器(未示出)。预处理可以包括将颜色空间转换成初级分量(例如,亮度)和次级分量(例如,朝向红色和与朝向蓝色的色度差异)以及用于编码的重采样处理(例如,降低色度分量的空间分辨率)。

编码器(440)对所选择的画面(431)(采用编码画面格式)进行编码以产生编码画面(441),并且还产生存储器管理控制操作(“mmco”)或参考画面集(“rps”)信息(442)。rps是可以用于当前画面或任何后续画面的运动补偿中的参考的画面集合。如果当前画面不是已经被编码的第一画面,则当编码器(440)执行其编码处理时,可以使用已经存储在解码画面临时存储器存储区域(460)中的一个或多个先前编码/解码画面(469)。这样存储的解码画面(469)用作用于当前源画面(431)的内容的画面间预测的参考画面。mmco/rps信息(442)向解码器指示哪些所重构的画面可以用作参考画面,因此应当存储在画面存储区域中。

通常,编码器(440)包括执行编码任务(诸如分割为图块(tile)、画面内预测估计和预测、运动估计和补偿、频率变换、量化和熵编码)的多个编码模块。通过编码器(440)执行的精确操作可以根据压缩格式而变化。输出编码数据的格式可以是h.26x格式的变型或扩展(例如,h.261、h.262、h.263、h.264、h.265)、windowsmedia视频格式、vc-1格式、mpeg-x格式(例如,mpeg-1、mpeg-2或mpeg-4)、vpx格式(例如,vp8、vp9)或另一格式。一般而言,编码器(440)适于对采用具有较低色度采样率的编码画面格式的编码画面进行编码。如果画面(416)具有不同的编码画面格式,则不同的编码器可以用于不同的编码画面格式,或者可以使用支持所有编码画面格式的单个编码器。

编码器(440)可以将画面分割成相同尺寸或不同尺寸的多个图块。例如,编码器(440)沿着与画面边界一起限定画面内的图块的水平边界和垂直边界的图块行和图块列来拆分画面,其中每个图块是矩形区域。图块通常用于提供用于并行处理的选项。画面还可以被组织为一个或多个切片(slice),其中切片可以是整个画面或画面的段。切片可以独立于画面中的其他切片进行解码,其提高了误差恢复能力。为了编码和解码的目的,切片或图块的内容被进一步分割成块(block)。

对于根据h.264标准的语法,编码器(440)可以将画面分割成相同尺寸或不同尺寸的多个切片。编码器(440)将画面(或切片)的内容拆分成16×16宏块。宏块包括被组织为四个8×8亮度块的亮度采样值以及被组织为8×8色度块的对应色度采样值。通常,宏块具有诸如帧间或帧内之类的预测模式。为了向预测信息(诸如预测模式细节、运动矢量(“mv”)信息)发送信号的目的,宏块包括一个或多个预测单元(例如,8×8块、4×4块,其可以被称为用于画面间预测的分区)等)和/或预测处理。为了残差编码/解码,宏块还具有一个或多个残差数据单元。

对于根据h.265标准的语法,编码器(440)将画面(或切片或图块)的内容拆分成编码树单元。编码树单元(“ctu”)包括被组织为亮度编码树块(“ctb”)的亮度采样值以及被组织为两个色度ctb的对应色度采样值。ctu(及其ctb)的尺寸通过编码器来选择。亮度ctb可以包含例如64×64、32×32或16×16亮度采样值。ctu包括一个或多个编码单元。编码单元(“cu”)具有亮度编码块(“cb”)和两个对应的色度cb。通常,cu具有诸如帧间或帧内之类的预测模式。为了向预测信息(诸如预测模式细节、位移值等)和/或预测处理发送信号,cu包括一个或多个预测单元。预测单元(“pu”)具有亮度预测块(“pb”)和两个色度pb。为了残差编码/解码,cu还具有一个或多个变换单元,其中变换单元(“tu”)具有亮度变换块(“tb”)和两个色度tb。编码器判定如何将视频分割成ctu、cu、pu、tu等。

如本文中所使用的,取决于上下文,术语“块”可以指示宏块、残差数据单元、cb、pb或tb、或一些其他采样值集合。术语“单元”可以指示宏块、ctu、cu、pu、tu或一些其他块集合,或者它可以取决于上下文指示单个块,或者它可以指示切片、图块、画面、画面组、或其他较高层次的区域。

回到图4,根据从画面(431)中的其他先前重构的采样值的预测,编码器(440)表示源画面(431)的帧内编码块。对于用于块的帧内空间预测,画面内估计器估计相邻重构采样值到块的推断。画面内估计器可以输出被熵编码的预测信息(诸如用于帧内空间预测的预测模式/方向)。画面内预测预测器应用预测信息来确定帧内预测值。

根据从一个或多个参考画面的预测,编码器(440)表示源画面(431)的画面间编码预测块。运动估计器估计块相对于一个或多个参考画面(469)的运动。当使用多个参考画面时,多个参考画面可以来自不同的时间方向或相同的时间方向。运动补偿预测参考区域是用于生成用于当前画面的采样值的块的运动补偿预测值的参考画面中的采样值的区域。根据本文中所描述的一些创新,包括用于输入画面的低色度分辨率版本的采样值的编码画面以及包括用于输入画面的高色度分辨率细节的采样值的编码画面被组织在不同的子序列中。在第一子序列的编码画面内执行包括用于低色度分辨率版本的采样值的编码画面的运动估计和补偿。在第二不同的子序列的编码画面内执行包括用于高色度分辨率细节的采样值的编码画面的运动估计和补偿。运动估计器输出诸如mv信息和参考画面索引之类的运动信息,其被熵编码。运动补偿器将mv应用于参考画面(469)以确定用于画面间预测的运动补偿预测值。

编码器(440)可以确定块的预测值(帧内或帧间)和对应的原始值之间的差异(如果有的话)。这些预测残差值使用频率变换(如果频率变换没有被跳过)和量化来进一步编码。例如,编码器(440)为画面、图块、切片、宏块、cu和/或视频的其他部分设置量化参数(“qp”)的值,并且相应地量化变换系数。编码器(440)的熵编码器压缩量化变换系数值以及某些辅助信息(例如,mv信息、参考画面索引、qp值、模式判定、参数选择)。典型的熵编码技术包括exponential-golomb编码、golomb-rice编码、算术编码、差分编码、huffman编码、游程长度编码、可变长度到可变长度(“v2v”)编码、可变长度到固定长度(“v2f”)编码、lempel-ziv(“lz”)编码、字典编码、概率间隔分割熵编码(“pipe”)以及上述的组合。熵编码器可以对不同种类的信息使用不同的编码技术,可以组合应用多种技术(例如,通过应用golomb-rice编码,然后算术编码),并且可以在特定编码技术内的多个代码表中进行选择。如果频率变换被跳过,则可以对预测残差值或输入采样值进行量化和熵编码。如果针对画面内编码内容跳过预测,则可以对根据输入采样值计算的变换系数进行量化和熵编码。

自适应去块滤波器被包括在编码器(440)中的运动补偿环路内(即,“环内”滤波),以平滑跨解码画面中的块边界行和/或列的不连续性。作为环内滤波操作,可以可替代地或附加地应用其他滤波(诸如去振铃滤波、自适应环路滤波(“alf”)或采样自适应偏移量(“sao”)滤波;未示出)。

编码器(440)在基本比特流中产生编码数据。基本比特流的语法通常采用编解码器标准或格式或其扩展或变型来定义。如下文所解释的,作为编码器(440)的输出,基本比特流通常采用容器格式被分组化或组织。基本比特流中的编码数据包括被组织为语法结构的语法元素。一般而言,语法元素可以是数据的任何元素,并且语法结构以指定顺序在基本位流中为零个或多个语法元素。

对于根据h.264标准或h.265标准的语法,画面参数集(“pps”)是包含可以与画面相关联的语法元素的语法结构。pps可以用于单个画面,或者pps可以重复用于序列中的多个画面。pps通常包括与pps相关联的画面的qp的默认值或初始值。pps通常与画面的编码数据分开用信号通知。在用于画面的编码数据内,语法元素指示哪个pps用于画面。类似地,对于根据h.264标准或h.265标准的语法,序列参数集(“sps”)是包含可以与画面序列相关联的语法元素的语法结构。比特流可以包括单个sps或多个sps。通常与用于该序列的其他数据分开用信号通知该sps,其他数据中的语法元素指示要使用哪个sps。

参考图4,编码画面(441)和mmco/rps信息(442)(或由于用于画面的依赖性和排序结构在编码器(440)处已知,所以与mmco/rps信息(442)相当的信息)通过解码过程仿真器(450)来处理。解码过程仿真器(450)实现解码器的功能性中的一些功能性,例如,解码任务以重构参考画面。以与mmco/rps信息(442)一致的方式,解码过程仿真器(450)确定是否需要重构并且存储给定编码画面(441)以用作待被编码的后续画面的画面间预测中的参考画面。如果需要存储编码画面(441),则解码过程仿真器(450)对可能由解码器进行的解码过程进行建模,该解码器接收编码画面(441)并且产生对应的解码画面(451)。这样做时,当编码器440已经使用已经存储在解码画面存储区域(460)中的解码画面(469)时,解码过程仿真器(450)还使用来自存储区域(460)的解码画面(469)作为解码过程的一部分。

解码画面临时存储器存储区域(460)包括多个画面缓冲区存储区域(461,462,…,46n)。以与mmco/rps信息(442)一致的方式,解码过程仿真器(450)管理存储区域(460)的内容,以便标识具有不再被编码器(440)需要用作参考画面的画面的任何画面缓冲区(461,462等)。在对解码过程进行建模之后,解码过程仿真器(450)将新解码的画面(451)存储在已经以这种方式标识的画面缓冲区(461,462等)中。

编码画面(441)和mmco/rps信息(442)被缓存在临时编码数据区域(470)或其他编码数据缓冲区中。在编码数据区域(470)中聚合的编码数据作为基本比特流的语法的一部分,包含用于一个或多个画面的编码数据。在编码数据区域(470)中聚合的编码数据还可以包括与编码视频数据有关的媒体元数据(例如,作为一个或多个补充增强信息(“sei”)消息或视频可用性信息(“vui”)消息中的一个或多个参数)。

来自临时编码数据区域(470)的聚合数据(471)通过信道编码器(480)来处理。信道编码器(480)可以将用于传输或存储的聚合数据分组化和/或复用作为媒体流(例如,根据诸如itu-th.222.0|iso/iec13818-1的媒体节目流或传输流格式,或诸如ietfrfc3550之类的因特网实时传送协议格式),在这种情况下,信道编码器(480)可以添加语法元素作为媒体传输流的语法的一部分。或者,信道编码器(480)可以将用于存储的聚合数据组织为文件(例如,根据诸如iso/iec14496-12之类的媒体容器格式),在这种情况下,信道编码器(480)可以添加语法元素作为媒体存储文件的语法的一部分。或者更一般地,信道编码器(480)可以实现一个或多个媒体系统复用协议或传送协议,在这种情况下,信道编码器(480)可以添加语法元素作为协议的语法的一部分。信道编码器(480)向信道(490)提供输出,其表示用于输出的存储、通信连接或另一信道。信道编码器(480)或信道(490)还可以包括其他元件(未示出),例如,用于前向纠错(“fec”)编码和模拟信号调制。

v.示例解码器系统

图5是可以与其一起实现一些所描述的实施例的示例解码器系统(500)的框图。该解码器系统(500)可以是能够在用于来自文件或流的媒体回放的多种解码模式(诸如用于实时通信或远程桌面会议的低延迟解码模式、代码转换模式以及较高延迟解码模式)中的任一解码模式下操作的通用解码工具,或者它可以是适用于一种这样的解码模式的专用解码工具。解码器系统(500)可以适于对特定类型的内容(例如,屏幕捕获内容)进行解码。解码器系统(500)可以被实现为操作系统模块、为应用库的一部分、为独立应用,或者使用专用硬件来实现。解码器系统(500)可以使用一个或多个通用处理器(例如,一个或多个cpu)进行一些或所有解码操作,使用图形硬件(例如,gpu)进行某些解码操作,或者使用诸如asic之类的专用硬件进行某些解码操作。总的来说,解码器系统(500)从信道(510)接收编码数据,对采用具有第一较低色度采样率(诸如yuv4:2:0格式)的编码画面格式或多个编码画面格式的画面进行解码,可选地将来自采用编码画面格式的编码画面的采样值组合为采用具有较高色度采样率的第二输出画面格式(诸如yuv4:4:4)的编码画面,并且产生重构画面(采用输出画面格式)作为用于输出目的地(590)的输出。

解码器系统(500)包括信道(510),其可以表示用于作为输入的编码数据的存储、通信连接或另一信道。信道(510)产生已经被信道编码的编码数据。信道解码器(520)可以处理编码数据。例如,信道解码器(520)对作为媒体流已经被聚合以用于传输或存储的数据进行解分组和/或解复用(例如,根据诸如itu-th.222.0|iso/iec13818-1之类的媒体节目流或传送流格式或诸如ietfrfc3550之类的互联网实时传输协议格式),在这种情况下,信道解码器(520)可以解析被添加作为媒体传输流的语法的一部分的语法元素。或者,信道解码器(520)分离已经被聚合以作为文件存储的编码视频数据(例如,根据诸如iso/iec14496-12之类的媒体容器格式),在这种情况下,信道解码器(520)可以解析被添加作为媒体存储文件语法的一部分的语法元素。或者,更一般地,信道解码器(520)可以实现一个或多个媒体系统解复用协议或传送协议,在这种情况下,信道解码器(520)可以解析被添加作为协议的语法的一部分的语法元素。用于媒体传输流、媒体存储流、复用协议或传送协议的这种语法元素可以包括关于包括高色度分辨率细节的区域的元数据。信道(510)或信道解码器(520)还可以包括其他元素(未示出),例如,用于fec解码和模拟信号解调。

从信道解码器(520)输出的编码数据(521)被存储在临时编码数据区域(530)中,直到已经接收到足够数量的这种数据为止。编码数据(521)包括编码画面(531)(采用具有较低色度采样率的编码画面格式或采用多个不同编码画面格式)和mmco/rps信息(432)。编码数据区域(530)中的编码数据(521)包含作为基本编码视频比特流的语法的一部分的一个或多个编码画面的编码数据。编码数据区域(530)中的编码数据(521)还可以包括与编码画面有关的媒体元数据(例如,作为一个或多个sei消息或vui消息中的一个或多个参数)。

一般而言,编码数据区域(530)临时存储编码数据(521),直到解码器(550)使用这样的编码数据(521)为止。此时,用于编码画面(531)的编码数据和mmco/rps信息(532)从编码数据区域(530)传送到解码器(550)。随着解码的继续,新的编码数据被添加到编码数据区域(530),并且编码数据区(530)中剩余的最旧的编码数据被传送到解码器(550)。

解码器(550)解码编码画面(531)以产生采用具有较低色度采样率的编码画面格式(或多种不同编码画面格式中的一个编码画面格式)的对应解码画面(551)。画面可以被分割成相同尺寸或不同尺寸的多个图块。画面也可以被组织为一个或多个切片。切片或图块的内容可以进一步被分割成采样值块或其他采样值集合。

适当时,当执行其解码过程时,解码器(550)可以使用一个或多个先前解码的画面(569)作为用于画面间预测的参考画面。解码器(550)从解码画面临时存储器存储区域(560)读取这样的先前解码画面(569)。通常,解码器(550)包括多个解码模块,其执行诸如熵解码、画面内预测、运动补偿画面间预测、逆量化、逆频率变换(如果没有被跳过)、以及图块的合并之类的解码任务。由解码器(550)执行的具体操作可以根据压缩格式而变化。一般而言,解码器(550)适于对采用具有较低色度采样率的编码画面格式的画面进行解码。如果画面(569)具有不同的编码画面格式,则不同的解码器可以用于不同的编码画面格式,或者可以使用支持所有编码画面格式的单个解码器。

例如,解码器(550)接收用于编码画面或编码画面序列的编码数据,并且产生包括解码画面(551)的输出。在解码器(550)中,缓冲区接收用于编码画面的编码数据,并且在适当时间使所接收的编码数据可用于熵解码器。熵解码器熵解码经熵编码的量化数据以及经熵编码的辅助信息,通常应用在编码器中执行的熵编码的逆过程。

运动补偿器将运动信息应用于一个或多个参考画面,以形成用于正在被重构的画面的任何帧间编码块的运动补偿的预测值。根据本文中所描述的一些创新,包括用于输入画面的低色度分辨率版本的采样值的编码画面和包括用于输入画面的高色度分辨率细节的采样值的编码画面被组织在不同的子序列中。在第一子序列的编码画面内执行包括用于低色度分辨率版本的采样值的编码画面的运动补偿。在第二不同的子序列的编码画面内执行包括用于高色度分辨率细节的采样值的编码画面的运动补偿。画面内预测模块可以根据相邻的先前重构的采样值空间地预测当前块的采样值。

解码器(550)还重构预测残差值。逆量化器对熵解码数据进行逆量化。例如,解码器(550)基于比特流中的语法元素来设置用于画面、图块、切片和/或视频的其他部分的qp的值,并且因而对变换系数进行逆量化。逆频率变换器将量化频域数据转换成空间域数据。在一些实现方式中,可以跳过频率变换,在这种情况下,还跳过逆频率变换。如果这样,则可以对预测残差值进行熵解码和逆量化。对于画面间预测块,解码器(550)将所重构的预测残差值与运动补偿预测值组合。类似地,解码器(550)可以将预测残差值与来自画面内预测的预测值组合。

在视频解码器(550)中的运动补偿环路内包括自适应去块滤波器,以平滑跨解码画面(551)中的块边界行和/或列的不连续性。其他滤波(诸如去振铃滤波、alf、或sao滤波;未示出)能够可替代地或附加地被应用为环内滤波操作。

解码画面临时存储器存储区域(560)包括多个画面缓冲区存储区域(561,562,…,56n)。解码器(550)使用mmco/rps信息(532)来标识可以在其中存储解码画面(551)的画面缓冲区(561,562等)。解码器(550)将解码画面(551)存储在该画面缓冲区中。

输出定序器(580)标识以输出顺序产生的下一画面何时在解码画面存储区域(560)中可用。当以输出顺序产生的采用编码画面格式的下一画面(581)在解码画面存储区域(560)中可用时,它由输出定序器(580)读取,并且将其输出到(a)输出目的地(590)(例如,显示器)用于显示采用编码画面格式的画面,或(b)组合器(585)。一般而言,通过输出定序器(580)从解码画面存储区域(560)输出画面的顺序可以与解码器(550)解码画面的顺序不同。

组合器(585)重排采用编码画面格式(具有较低色度采样率)或编码画面格式的画面(581),以产生采用具有较高色度采样率的输出画面格式(诸如yuv4:4:4格式)的输出画面(586)。使用帧解包的示例组合方法如下所述。组合器(585)可以使用指示是否以及如何执行拆分的元数据(未示出)来指导组合操作。例如,如下文所描述的,组合器(585)可以执行后处理操作。解码器系统(500)还可以对采用输出画面格式(诸如yuv4:4:4格式)或编码画面格式(诸如yuv4:2:0格式)的输出画面执行色彩空间转换,从而将采样值转换成另一格式(诸如rgb4:4:4格式)以供显示。

vi.示例视频编码器

图6a和图6b是可以与其一起实现一些所描述的实施例的一般的视频编码器(600)的框图。作为输入视频信号(605),编码器(600)接收包括当前画面的采用编码画面格式(例如,具有较低色度采样率(例如yuv4:2:0))的编码画面序列。编码器(600)在编码视频比特流(695)中产生编码数据作为输出。

编码器(600)是基于块的并且使用取决于实现方式的块格式。块可以在不同的阶段(例如,在预测、频率变换和/或熵编码阶段)进一步被细分。例如,画面可以被划分为64×64块、32×32块或16×16块,其又可以被划分为较小采样值块以供编码和解码。在h.264标准的编码实现方式中,例如,编码器将画面分割成宏块、块、分区(用于画面间预测)和残差数据单元。在h.265标准的编码实现方式中,例如,编码器将画面分割成ctu(ctb)、cu(cb)、pu(pb)和tu(tb)。

编码器(600)使用画面内编码和/或画面间编码来压缩画面。编码器(600)的许多部件用于画面内编码和画面间编码。由那些部件执行的具体操作可能根据被压缩的信息类型而变化。

分块(tiling)模块(610)可选地将画面分割成相同尺寸或不同尺寸的多个图块。例如,分块模块(610)沿着与画面边界一起限定画面内的图块的水平边界和垂直边界的图块行和图块列拆分画面,其中每个图块是矩形区域。编码器(600)还可以将画面分割成一个或多个切片,其中每个切片包括一个或多个切片分段。

通用编码控件(620)从编码器(600)的各种模块接收用于输入视频信号(605)的画面以及反馈(未示出)。总体而言,通用编码控件(620)向其他模块(诸如分块模块(610)、变换器/缩放器/量化器(630)、缩放器/逆变换器(635)、画面内估计器(640)、运动估计器(650)以及帧内/帧间开关)提供控制信号,以在编码期间设置和改变编码参数。特别地,如下文所描述的,通用编码控件(620)可以控制关于区域的判定,其中用于输入画面的高色度分辨率细节的采样值被编码。如下文所描述的,通用编码控件(620)还可以控制关于区域的判定,其中用于输入画面的低色度分辨率版本的采样值被编码。作为另一示例,通用编码控件(620)可以改变qp值以控制包括输入画面的低色度分辨率版本的采样值的编码画面的区域的量化和/或控制包括高色度分辨率细节的采样值的编码画面的区域的量化。更一般地,通用编码控件(620)可以在编码期间管理关于编码模式的判定。通用编码控件(620)产生指示在编码期间做出的判定的通用控件数据(622),使得对应的解码器可以做出一致的判定。通用控件数据(622)被提供给报头格式化器/熵编码器(690)。

如果使用画面间预测来预测当前画面,则运动估计器(650)估计当前画面相对于一个或多个参考画面的采样值的块的运动。解码画面缓冲区(670)缓存一个或多个重构的先前编码的画面以用作参考画面。当使用多个参考画面时,多个参考画面可以来自不同的时间方向或相同的时间方向。运动估计器(650)产生诸如mv数据、合并模式索引值和参考画面选择数据之类的辅助信息运动数据(652)。运动数据(652)被提供给报头格式化器/熵编码器(690)以及运动补偿器(655)。运动补偿器(655)将mv应用于来自解码画面缓冲区(670)的重构的参考画面。运动补偿器(655)产生当前画面的运动补偿预测。

为了运动估计和补偿,包括用于输入画面的低色度分辨率版本的采样值的编码画面和包括用于输入画面的高色度分辨率细节的采样值的编码画面可以被组织在不同的子序列中。例如,对于包括用于输入画面的低色度分辨率版本的采样值的编码画面,在第一子序列的编码画面内执行运动估计和补偿。类似地,对于包括用于高色度分辨率细节的采样值的编码画面,在第二不同的子序列的编码画面内执行运动估计和补偿。编码器(600)可以使用参考画面重排序和/或不同的参考画面索引集合来管理不同子序列的编码画面的每个子序列的编码画面内的时间依赖性。

在编码器(600)内的单独路径中,画面内估计器(640)确定如何对输入视频信号的当前画面的采样值块执行画面内预测(605)。当前画面可以使用画面内编码全部或部分地被编码。使用当前画面的重构(638)的值,对于帧内空间预测,画面内估计器(640)确定如何根据相邻的先前重构的当前画面的采样值来空间地预测当前画面的当前块的采样值(例如,确定空间预测的方向以用于当前块)。画面内估计器(640)产生作为帧内预测数据(642)的辅助信息(诸如指示帧内预测是使用空间预测还是其他类型的帧内编码的信息)以及预测模式/方向(用于帧内空间预测)。帧内预测数据(642)被提供给报头格式化器/熵编码器(690)以及画面内预测器(645)。根据帧内预测数据(642),画面内预测器(645)根据相邻的先前重构的当前画面的采样值来空间地预测当前画面的当前块的采样值。

帧内/帧间开关选择用于给定块的预测(658)是运动补偿预测还是画面内预测。

对于非跳过模式(non-skip-mode)块,预测(658)的块与输入视频信号(605)的原始当前画面的对应部分之间的差异(如果有的话)提供了残差(618)的值。在重构当前画面期间,对于非跳过模式块,所重构的残差值与预测(658)组合以产生来自视频信号(605)的原始内容的近似或精确重构(638)。(在有损压缩中,一些信息从视频信号(605)中丢失)

在变换器/缩放器/量化器(630)中,频率变换器将空间域视频信息转换成频域(即,频谱、变换)数据。对于基于块的视频编码,频率变换器将离散余弦变换(“dct”)、其整数近似、或另一类型的前向块变换(例如,离散正弦变换或其整数近似)应用于预测块残差数据块(如果预测(658)为空,则为采样值数据),产生频率变换系数块。变换器/缩放器/量化器(630)可以应用块尺寸可变的变换。在这种情况下,变换器/缩放器/量化器(630)可以确定变换的哪个块尺寸要用于当前块的残差值。在某些情况下,编码器(600)还可以跳过变换步骤。

缩放器/量化器对变换系数进行缩放和量化。例如,量化器将死区(dead-zone)标量量化应用于频域数据,其中量化步长在逐画面的基础上、逐图块的基础上、逐切片的基础上、逐宏块的基础上、逐cu的基础上、逐块的基础上、或其他基础上来变化。还可以使用其他缩放因数(例如,权重矩阵中的权重)来缩放或以其他方式量化变换系数。量化变换系数数据(632)被提供给报头格式化器/熵编码器(690)。

在缩放器/逆变换器(635)中,缩放器/逆量化器对经量化的变换系数执行逆缩放和逆量化。当变换阶段尚未被跳过时,逆频率变换器执行逆频率变换,产生所重构的预测残差值或采样值的块。对于非跳过模式块,编码器(600)将所重构的残差值与预测(658)的值(例如,运动补偿预测值、画面内预测值)组合以形成重构(638)。对于跳过模式块,编码器(600)使用预测(658)的值作为重构(638)。

对于画面内预测,重构(638)的值可以被反馈给画面内估计器(640)和画面内预测器(645)。还有,重构(638)的值还可以用于后续画面的运动补偿预测。重构(638)的值可以进一步被滤波。对于视频信号(605)的给定画面,滤波控件(660)确定如何对重构(638)的值执行去块滤波和sao滤波。对于某些类型的编码画面(例如,包括高色度分辨率细节的采样值的编码画面),滤波可以自适应地被禁用。滤波控件(660)产生滤波器控件数据(662),其被提供给报头格式化器/熵编码器(690)和合并器/滤波器(665)。

在合并器/滤波器(665)中,编码器(600)将来自不同图块的内容合并到画面的重构版本中。编码器(600)根据滤波器控件数据(662)来选择地执行去块滤波和sao滤波,以便自适应地平滑跨画面中的边界的不连续性。可以可替代地或附加地应用其他滤波(诸如去振铃滤波或alf;未示出)。可以根据编码器(600)的设置来选择性地滤波或根本不滤波图块边界,并且编码器(600)可以提供编码比特流内的语法以指示是否应用了这种滤波。解码画面缓冲区(670)缓存经重构的当前画面以用于随后的运动补偿预测。

报头格式化器/熵编码器(690)对通用控件数据(622)、量化变换系数数据(632)、帧内预测数据(642)、运动数据(652)以及滤波器控件数据(662)进行格式化和/或熵编码。报头格式化器/熵编码器(690)在编码视频比特流(695)中提供编码数据。编码视频比特流(695)的格式可以是h.26x格式的变型或扩展(例如,h.261、h.262、h.263、h.264、h.265)、windowsmedia视频格式、vc-1格式、mpeg-x格式(例如,mpeg-1、mpeg-2或mpeg-4)、vpx格式(例如,vp8、vp9)或其他格式。

根据实现方式和所期望的压缩类型,编码器(600)的模块可以被添加、省略、拆分成多个模块、与其他模块组合和/或由类似模块代替。在备选实施例中,具有不同模块和/或其他模块配置的编码器执行所描述的技术中的一种或多种技术。编码器的具体实施例通常使用编码器(600)的变型或补充版本。编码器(600)内的模块之间的关系指示编码器中的通用信息流;为了简单起见,未示出其他关系。

vii.示例视频解码器

图7是可以与其一起实现一些所描述的实施例的一般的解码器(700)的框图。该解码器(700)在编码视频比特流(705)中接收编码数据,并且产生包括采用编码画面格式(例如,具有用于重构视频(795)的较低色度采样率(诸如yuv4:2:0))的编码画面的输出。编码视频比特流(705)的格式可以是windowsmedia视频格式的变型或扩展、vpx格式(例如,vp8、vp9)、vc-1格式、mpeg-x格式(例如,mpeg-1、mpeg-2或mpeg-4)、h.26x格式(例如,h.261、h.262、h.263、h.264、h.265)或其他格式。

画面可以被组织为相同尺寸或不同尺寸的多个图块。画面还可以被组织为一个或多个切片。切片或图块的内容可以进一步被组织成块。解码器(700)是基于块的,并且使用依赖于实现方式的块格式。块可以在不同的阶段进一步被细分。例如,画面可以分为64×64块、32×32块或16×16块,其又可以分为较小的采样值块。在h.265/hevc标准的解码实现方式中,画面被分割成ctu(ctb)、cu(cb)、pu(pb)和tu(tb)。

解码器(700)使用画面内解码和/或画面间解码来解压缩画面。解码器(700)的许多部件用于画面内解码和画面间解码两者。由这些部件执行的具体操作可能会根据正在被解压缩的信息类型而变化。

缓冲区接收经编码的视频比特流(705)中的编码数据,并且使所接收的编码数据可用于解析器/熵解码器(710)。解析器/熵解码器(710)对经熵编码的数据进行熵解码,通常应用在编码器(600)中执行的熵编码的逆过程(例如,上下文自适应二进制算术解码)。作为解析和熵解码的结果,解析器/熵解码器(710)产生通用控件数据(722)、量化变换系数数据(732)、帧内预测数据(742)、运动数据(752)和滤波器控件数据762)。

通用解码控件(720)接收通用控件数据(722),并且向其他模块(诸如缩放器/逆变换器(735)、画面内预测器(745))、运动补偿器(755)和帧内/帧间开关)提供控制信号(未示出),以在解码期间设置和改变解码参数。特别地,如下文所描述的,通用解码控件(720)可以确定其中用于输出画面的高色度分辨率细节的采样值被解码的区域。通用解码控件(720)还可以确定其中用于输出画面的低色度分辨率版本的采样值被解码的区域。作为另一示例,通用解码控件(720)可以改变qp值以控制包括输入画面的低色度分辨率版本的采样值的编码画面的区域的逆量化和/或以控制包括高色度分辨率细节的采样值的编码画面的区域的逆量化。更一般地,通用解码控件(720)可以在解码期间管理关于解码模式的判定。

如果使用画面间预测来预测当前画面,则运动补偿器(755)接收运动数据(752),诸如mv数据、参考画面选择数据和合并模式索引值。运动补偿器(755)将mv应用于来自解码画面缓冲区(770)的经重构的参考画面。运动补偿器(755)产生用于当前画面的帧间编码块的运动补偿预测。解码画面缓冲区(770)存储一个或多个先前重构的画面以用作参考画面。

为了运动补偿,包括用于输入画面的低色度分辨率版本的采样值的编码画面和包括用于输入画面的高色度分辨率细节的采样值的编码画面可以被组织在不同的子序列中。例如,对于包括用于输入画面的低色度分辨率版本的采样值的编码画面,在第一子序列的编码画面内执行运动补偿。类似地,对于包括用于高色度分辨率细节的采样值的编码画面,在第二不同的子序列的编码画面内执行运动补偿。编码器(700)可以使用参考画面重排序和/或不同的参考画面索引集合来管理不同子序列的编码画面的每个子序列的编码画面内的时间依赖性。

在编码器(700)内的单独路径中,画面内估计器(745)接收帧内预测数据(742),诸如指示画面内预测是否使用空间预测的信息、以及预测模式方向(用于帧内空间预测)。对于帧内空间预测,使用当前画面的重构(738)的值,根据预测模式数据,画面内预测器(745)根据相邻的先前重构的当前画面的采样值来空间地预测当前画面的当前块的采样值。

帧内/帧间开关选择运动补偿预测或画面内预测的值以用于给定块的预测(758)。例如,当遵循h.265/hevc语法时,可以基于针对可以包含帧内预测的cu和帧间预测的cu的画面的cu编码的语法元素来控制帧内/帧间开关。当残差值已经被编码/被用信号通知时,解码器(700)将预测(758)与经重构的残差值组合,以由视频信号产生内容的重构(738)。当残差值尚未被编码/被用信号通知时,解码器(700)使用预测(758)的值作为重构(738)。

为了在残差值已经被编码/被用信号通知时重构残差,缩放器/逆变换器(735)接收并且处理经量化的变换系数数据(732)。在缩放器/逆变换器(735)中,缩放器/逆量化器对经量化的变换系数进行逆缩放和逆量化。逆频率变换器执行逆频率变换,产生经重构的预测残差值或采样值的块。例如,逆频率变换器将逆块变换应用于频率变换系数,产生采样值数据或预测残差数据。逆频率变换可以是逆dct、其整数近似、或另一种类型的逆频率变换(例如,逆离散正弦变换或其整数近似)。如果在编码期间跳过频率变换,则还跳过逆频率变换。在这种情况下,缩放器/逆量化器可以对预测残差数据(或采样值数据)的块执行逆缩放和逆量化,从而产生重构值。

对于画面内预测,重构(738)的值可以被反馈给画面内预测器(745)。对于画面间预测,重构(738)的值可以进一步被滤波。在合并器/滤波器(765)中,编码器(700)将来自不同图块的内容合并到画面的重构版本中。编码器(700)根据滤波器控件数据(662)和滤波器自适应规则选择地执行去块滤波和sao滤波,以便自适应地平滑跨画面中的边界的不连续性。可以可替代地或附加地应用其他滤波(诸如去振铃滤波或alf;未示出)。对于某些类型的编码画面(例如,包括高色度分辨率细节的采样值的编码画面),滤波可以自适应地被禁用。可以根据编码器(700)的设置或编码比特流数据内的语法元素来选择性地滤波或根本不滤波图块边界。解码画面缓冲区(770)缓存所重构的当前画面以用于随后的运动补偿预测。

解码器(700)还可以包括后处理滤波器。该后处理滤波器(708)可以包括去块滤波、去振铃滤波、自适应wiener滤波、胶片颗粒再现滤波、sao滤波或另一种滤波。而对运动补偿环路中的画面的重构采样值执行“环内”滤波,因此影响参考画面的采样值,在输出以供显示之前,后处理滤波器(708)被应用于运动补偿环路外部的重构采样值。

根据实现方式和所期望的压缩类型,编码器(700)的模块可以被添加、省略、拆分成多个模块、与其他模块组合和/或由类似模块代替。在备选实施例中,具有不同模块和/或其他配置的模块的编码器执行所描述的技术中的一种或多种技术。编码器的具体实施例通常使用编码器(700)的变型或补充版本。编码器(700)内的模块之间的关系指示编码器中的通用信息流;为了简单起见,未示出其他关系。

viii.重排输入画面/输出画面格式和编码画面格式之间的采样值

诸如相机或屏幕捕获模块之类的视频源通常提供被转换为诸如yuv4:4:4色度采样格式之类的格式的视频。例如,一些视频源提供采用rgb格式的未压缩的视频画面,并且在编码之前,画面被转换为视频编码器所预期的yuv格式。yuv格式包括具有表示近似明亮度值的采样值的亮度(或y)分量以及具有表示色差值的采样值的多个色度(或u和v)分量。色差值的准确定义(以及从诸如rgb之类的另一颜色空间到yuv颜色空间的转换操作或从yuv颜色空间到诸如rgb之类的另一颜色空间的转换操作)取决于实现方式。一般而言,如本文中所使用的,术语yuv指示具有亮度(luma)(或亮度(luninance))分量和一个或多个色度(chroma)(或色度(chromainace))分量的任何颜色空间,包括y'uv、yiq、y'iq和ydbdr以及诸如ycbcr和ycocg之类的变型。所使用的分量信号测量可以通过应用非线性传递特征函数(通常被称为“伽马预补偿”并且通常使用上角符号(primesymbol)表示,尽管为了排版方便,上角符号经常被省略)来调整。或者,分量信号测量可以在与光幅度具有线性关系的域中。亮度分量信号和色度分量信号可以与人类视觉系统的明亮度和颜色的感知良好地对准,或者亮度分量信号和色度分量信号可能在某种程度上偏离这种测量(例如,在ycocg变型中,其中应用了简化了颜色分量值的计算的公式)。本文中所描述的yuv格式的示例包括在被称为itu-rbt.601、itu-rbt.709和itu-rbt.2020的国际标准中描述的那些。色度采样类型的示例如图e-1所示的h.264/avc标准。4:4:4格式可以是yuv4:4:4格式或诸如rgb或gbr之类的另一颜色空间的格式。

许多市售的视频编码器和解码器仅支持yuv4:2:0色度采样格式。yuv4:2:0是与yuv4:4:4格式相比较对色度信息进行子采样的格式,其保留全分辨率色度信息(即,色度信息以与亮度信息相同的分辨率表示)。然而,存在一些使用案例,其中采用yuv4:2:0格式的视频的视觉缺陷更容易被观众感知到。例如,对于计算机屏幕文本内容(特别是,使用cleartype技术渲染的文本)、具有人为的硬缘边界的动画视频内容、彩色文本、或更一般地视频内容的某些特征(诸如滚动标题和硬缘图形、或信息集中在色度信道的视频)的编码/解码,4:4:4格式可能优于4:2:0格式。

本节描述了重排具有第一较高色度采样率的输入画面格式和具有第二较低色度采样率的编码画面格式之间的采样值的各种方法。然后可以使用适于编码画面格式的编码器对采用编码画面格式的画面进行编码。在解码(使用适于编码画面格式的解码器)之后,可以输出采用编码画面格式的画面以供进一步处理和显示。或者,在这样的解码之后,通过将来自采用编码画面格式的画面的采样值重排为采用输出画面格式的输出画面,可以恢复采用具有较高色度采样率的输出画面格式的画面以供输出和显示。或者,代替使用单个编码画面格式,不同的编码画面可以具有不同的编码画面格式,其包括具有比输入画面格式更低的色度采样速率的至少一个编码画面格式。

作为一个具体示例,当编码/解码使用yuv4:2:0格式时,本文中所描述的各种方法可以用于保留用于yuv4:4:4格式的帧的色度信息。在这些方法中,例如,yuv4:4:4帧被封包成两个yuv4:2:0帧。典型的4:4:4帧每4个像素位置包含12个采样值,而4:2:0帧每4个像素位置只包含6个采样值。因此,4:4:4帧中包含的所有采样值都可以被封包成两个4:2:0帧。

图8a示出了重排单个yuv4:4:4画面(801)的采样值的一般的方法(800)。单个yuv4:4:4画面(801)包括y444信道、u444信道和v444信道中的采样值作为用于yuv4:4:4画面(801)的三个分量平面。每个分量平面具有宽度w和高度h的分辨率。为了方便描述本文中所使用的示例中的一些示例,w和h都可以被4整除,而不意味着这是对该方法的限制。

单个yuv4:4:4画面(801)的采样值被拆分为采用yuv4:2:0格式的两个画面,其被标记为yuv4:2:0画面(802)和uuv4:2:0画面(803)。yuv4:2:0画面(802)包括y420信道、u420信道和v420信道中的采样值。y420信道包括来自单个yuv4:4:4画面(801)的y444信道的采样值。u420信道包括来自单个yuv4:4:4画面(801)的u444信道的一些采样值,并且v420信道包含来自单个yuv4:4:4画面(801)的v444信道的一些采样值。uuv4:2:0画面(803)包括来自单个yuv4:4:4画面(801)的u444信道和v444信道的其他色度采样值,其被布置在uuv4:2:0画面(803)的y420信道、u420信道和v420信道中。

参考图8b至图8e对重排单个yuv4:4:4画面(801)的色度采样值的示例方法进行描述。在示例方法中,单个yuv4:4:4画面(801)的采样值被重排为yuv4:2:0画面(802)和uuv4:2:0画面(803),同时维护yuv4:4:4画面(801)的色度信息的几何对应。因为在其y、u和v分量之间具有良好几何对应的采用yuv4:2:0格式的画面匹配适于对采用yuv4:2:0格式的画面进行编码的典型编码器所期望的模型,所以它们可以被更好地压缩。还有,在示例方法中,yuv4:2:0画面(802)表示由yuv4:4:4画面(801)表示的完整场景,尽管具有较低分辨率的色度采样值。这提供了解码中的选项。不能反转或选择不反转采样值的重排的解码器可以完成表示场景的yuv4:2:0画面(802)的重构版本,并且直接将其馈送到显示器。

图8b示出了重排单个yuv4:4:4画面(801)的采样值的第一示例(810)。在这种方法(810)中,yuv4:4:4画面(801)的采样值被封包成采用yuv4:2:0格式的两个画面(812,813)。yuv4:2:0画面(812)提供采用yuv4:2:0格式(由yuv4:4:4画面(801)表示的完整场景的较低色度分辨率版本)的主视图。uuv4:2:0画面(813)提供采用yuv4:2:0格式的较高色度分辨率细节。

在图8b中,区域a1…a6是采用yuv4:2:0格式的相应画面(812,813)内的不同区域。yuv4:4:4画面(801)的y444信道的采样值被分配给yuv4:2:0画面(812)中的区域a1。yuv4:4:4画面(801)的u444信道的偶数行的偶数列的采样值被分配给yuv4:2:0画面(812)中的区域a2,并且yuv4:4:4画面(801)的v444信道的偶数行的偶数列的采样值被分配给yuv4:2:0画面(812)中的区域a3。可以对分配给区域a2和a3的采样值进行滤波,以减轻伪像(artifact),诸如混叠伪像。对于关于滤波选项的附加详情,请参见第xii节;另见美国专利申请公开号2014/0092998a1和2014/0112394a1。

对于uuv4:2:0画面(813),来自yuv4:4:4画面(801)的u444信道和v444信道的奇数列的采样值被分配给uuv4:2:0画面(813)中的区域a4。这些列的u采样值和v采样值可以在逐个列的基础上进行交替,例如,u444列1、v444列1、u444列3、v444列3等等。yuv4:4:4画面(801)的u444信道的奇数行的偶数列的采样值被分配给uuv4:2:0画面(813)中的区域a5,并且采样值yuv4:4:4画面(801)的v444信道的奇数行的偶数列被分配给uuv4:2:0画面(813)中的区域a6。图8b中所示的方法对于使用nv12格式的那些之类的实现方式来说是“硬件友好的”,其将u和v采样值一起封包。

因此,对于图8b所示的示例方法:

对于区域a1,在(x,y)范围[0,w-1]×[0,h-1]中。

对于区域a2,在(x,y)范围中。

对于区域a3,在(x,y)范围中。

对于区域a4,在(x,y)范围中;以及在(x,y)范围中。

对于区域a5,在(x,y)范围中。

对于区域a6,在(x,y)范围中。

图8c示出了将单个yuv4:4:4画面(801)的采样值重排为采用yuv4:2:0格式的两个画面的第二示例(820)。yuv4:2:0画面(822)提供采用yuv4:2:0格式(由yuv4:4:4画面(801)表示的完整场景的较低色度分辨率版本)的主视图,并且uuv4:2:0画面(823)提供采用yuv4:2:0格式的较高色度分辨率细节。

在图8c中,区域b1…b6是采用yuv4:2:0格式的相应的画面(822,823)内的不同区域。对于区域b1…b3,如图8b所示的第一示例方法那样分配采样值。对于uuv4:2:0画面(823),来自yuv4:4:4画面(801)的u444信道和v444信道的奇数行的采样值被分配给uuv4:2:0画面(823)中的区域b4。这些行的u采样值和v采样值可以在逐个行的基础上交替,例如,u444行1、v444行1、u444行3、v444行3等等。yuv4:4:4画面(801)的u444信道的偶数行的奇数列的采样值被分配给uuv4:2:0画面(823)中的区域b5,并且yuv4:4:4画面(801)的v444信道的偶数行的奇数列的采样值被分配给uuv4:2:0画面(823)中的区域b6。

因此,对于图8c所示的示例方法:

对于区域b1,在(x,y)范围[0,w-1]×[0,h-1]中。

对于区域b2,在(x,y)范围中。

对于区域b3,在(x,y)范围中。

对于区域b4,在(x,y)范围中;以及在(x,y)范围中。

对于区域b5,在(x,y)范围中。

对于区域b6,在(x,y)范围中。

图8d示出了将单个yuv4:4:4画面(801)的采样值重排为采用yuv4:2:0格式的两个画面的第三示例(830)。yuv4:2:0画面(832)提供采用yuv4:2:0格式(由yuv4:4:4画面(801)表示的完整场景的较低色度分辨率版本)的主视图,并且uuv4:2:0画面(833)提供采用yuv4:2:0格式的较高色度分辨率细节。

在图8d中,区域c1…c9是采用yuv4:2:0格式的相应的画面(832,833)内的不同区域。对于区域c1…c3,如图8b所示的第一示例方法那样分配采样值。对于uuv4:2:0画面(833),来自yuv4:4:4画面(801)的u444信道和v444信道的采样值被分配给uuv4:2:0画面(833)中的区域c4…c9,如下:

对于区域c1,在(x,y)范围[0,w-1]×[0,h-1]中。

对于区域c2,在(x,y)范围中。

对于区域c3,在(x,y)范围中。

对于区域c4,在(x,y)范围中。

对于区域c5,在(x,y)范围中。

对于区域c6,在(x,y)范围中。

对于区域c7,在(x,y)范围中。

对于区域c8,在(x,y)范围中。

对于区域c9,在(x,y)范围中。

作为代替,yuv4:4:4画面(801)的y444信道、u444信道和v444信道中的采样值可以以不同的方式分配给区域c1…c9。例如,yuv4:4:4画面(801)的u444信道和v444信道的偶数列的采样值被分配给区域c4和c5,并且yuv4:4:4画面(801)的u444信道和v444信道的奇数列的采样值被分布在区域c2、c3和c6…c9之间。

图8e示出了将单个yuv4:4:4画面(801)的采样值重排为采用yuv4:2:0格式的两个画面的第四示例(840)。yuv4:2:0画面(842)提供采用yuv4:2:0格式(由yuv4:4:4画面(801)表示的完整场景的较低色度分辨率版本)的主视图,并且uuv4:2:0画面(843)提供采用yuv4:2:0格式的较高色度分辨率细节。

在图8e中,区域d1…d9是采用yuv4:2:0格式的相应的画面(842,843)内的不同区域。对于区域d1…d3,如图8b所示的第一示例方法那样分配采样值。对于uuv4:2:0画面(843),来自yuv4:4:4画面(801)的u444信道和v444信道的采样值被分配给uuv4:2:0画面(843)中的区域d4…d9,如下:

对于区域d1,在(x,y)范围[0,w-1]×[0,h-1]中。

对于区域d2,在(x,y)范围中。

对于区域d3,在(x,y)范围中。

对于区域d4,在(x,y)范围中。

对于区域d5,在(x,y)范围中。

对于区域d6,在(x,y)范围中。

对于区域d7,在(x,y)范围中。

对于区域d8,在(x,y)范围中。

对于区域d9,在(x,y)范围中。

作为代替,yuv4:4:4画面(801)的y444信道、u444信道和v444信道中的采样值可以以不同的方式分配给区域d1…d9。例如,yuv4:4:4画面(801)的u444信道和v444信道的偶数行的采样值被分配给区域d4和d5,并且yuv4:4:4画面(801)的u444信道和v444信道的奇数行的采样值被分布在区域d2、d3和d6…d9之间。

可替代地,单个yuv4:4:4画面(801)的采样值可以以某个其他方式重排为yuv4:2:0画面和uuv4:2:0画面。

将采用编码画面格式(诸如yuv4:2:0格式)的编码画面的采样值重排为采用输出画面格式(诸如yuv4:4:4格式)的输出画面的过程可以简单地镜像参考图8a至图8e所描述的方法中的一个方法。分配给采用yuv4:2:0格式的编码画面的区域的采样值将分配回到采用yuv4:4:4格式的输出画面中的那些采样值的原始位置。当将采样值重排为输出画面格式时,将采样值从输入画面格式重排为编码画面格式时执行的滤波可以被反转。对于附加详情,请参见第xii节;另请参见美国专利公开号2014/0092998a1和2014/0112394a1。

在采样值从采用yuv4:4:4格式的画面重排为采用yuv4:2:0格式的画面以供编码和解码的先前方法中,采用yuv4:2:0格式的画面的所有采样值被编码和解码。与仅编码采用yuv4:2:0的画面的低色度分辨率版本相比较,当高色度分辨率细节复杂或难以压缩时,这种方法可以显著增加编码视频的比特率,甚至在某些实例中使比特率加倍。高色度分辨率细节可以以观众不太可能注意到(尤其是在编码质量低或运动显著的区域中)的方式提高质量。然而,在一些实现方式中,先前的方法在质量和比特率方面均不能适度地缩放,其使得该方法不适合于自适应流传送,并且不准许简单地丢弃高色度分辨率细节的编码画面。与仅编码画面的低色度分辨率版本相比,先前的方法还会显著增加编码和解码的计算复杂度。

ix.划分低色度分辨率版本和高色度分辨率细节为编码画面的不同子序列

本节呈现了用于画面的高色度分辨率细节的编码和解码领域中的第一创新集合。具体地,本节描述了具有用于输入画面的低色度分辨率版本的采样值的编码画面在与具有用于输入画面的高色度分辨率细节的采样值的编码画面不同的子序列中进行编码和解码的方法。在一些示例实现方式中,不同的子序列(可替代地,被称为子流)中的编码画面在编码画面的单个序列(可替代地,被称为编码画面流)中进行交织,其使得能够使用常规编解码工具进行有效的编码和解码,该常规编解码工具根据用于那些编解码器工具的给定标准或格式使用一致的语法。

a.用于低色度分辨率版本和高色度分辨率细节的编码画面的不同子序列的示例

对于采用输入画面格式的给定输入画面,视频编码工具将输入画面拆分成采用编码画面格式(或多个编码画面格式)的多个编码画面。例如,视频编码工具可以使用参考图8a至图8e所描述的方法中的任一方法或使用其他方法将输入画面的采样值重排为两个编码画面。编码画面中的一个编码画面包括用于输入画面(例如,yuv4:2:0画面)的低色度分辨率版本的采样值。另一编码画面包括用于输入画面(例如,uuv4:2:0画面)的高色度分辨率细节的采样值。

视频编码工具将两个编码画面分配给给定序列的编码画面内的编码画面的两个不同子序列。编码画面的一个子序列包括具有用于低色度分辨率版本的输入画面的采样值的编码画面。另一子序列包括具有用于输入画面的高色度分辨率细节的采样值的编码画面。

图9示出了包括yuv4:2:0画面的子序列和uuv4:2:0画面的子序列的编码画面的序列(900)。yuv4:2:0画面的子序列包括采用yuv4:2:0格式的编码画面(910,911,…,919),其具有用于输入画面的低色度分辨率版本的采样值。uuv4:2:0画面的子序列包括采用yuv4:2:0格式的编码画面(920,921,…,929),其具有用于输入画面的高色度分辨率细节的采样值。如图9所示,yuv4:2:0画面和uuv4:2:0画面可以交织,在yuv4:2:0画面和uuv4:2:0画面之间交替。或者,yuv4:2:0画面和uuv4:2:0画面可以根据某个其他模式在单个序列中进行组织。

视频编码工具对采用编码画面格式(或多个编码画面格式)的编码画面进行编码。作为编码的一部分,视频编码工具管理运动补偿依赖性。特别地,当对具有用于输入画面的低色度分辨率版本的采样值的编码画面的块执行运动估计和/或运动补偿时,视频编码工具将可用参考画面集合限制为具有用于其他输入画面的低色度分辨率版本的采样值的编码画面。类似地,当对具有用于输入画面的高色度分辨率细节的采样值的编码画面的块执行运动估计和/或运动补偿时,视频编码工具将可用参考画面集合限制为具有用于其他输入画面的高色度分辨率细节的采样值的编码画面。

视频编码工具可以使用多个参考画面、参考画面重排序和/或长期参考画面来管理编码画面的不同子序列的运动补偿依赖性。例如,h.264标准和h.265标准包括支持多个参考画面、参考画面重排序和长期参考画面的编码工具。解码画面缓冲区可以存储多个参考画面(例如,一个或多个yuv4:2:0画面和一个或多个uuv4:2:0画面)。可以在解码画面缓冲区中的任意时间段内缓存长期参考画面以用作参考画面。视频编码工具可以重排序参考画面,使得最常参考的画面具有较低参考画面索引,其可以使得参考画面索引的熵编码更有效率。还有,视频编码工具可以在编码画面的一个子序列中使用用于参考画面的参考画面索引集合,并且在编码画面的另一子序列中使用用于参考画面的不同的参考画面索引集合。

为了说明,图10a示出了yuv4:2:0画面的子序列的编码画面之间的时间依赖性与uuv4:2:0画面的子序列的编码画面之间的时间依赖性的简单示例(1000)。编码画面的序列(1005)包括yuv4:2:0画面(1010,1030)的子序列和uuv4:2:0画面(1020,1040)的子序列。第一yuv4:2:0画面(1010)被标记为长期参考画面(例如,由参考画面索引0索引)。第一uuv4:2:0画面(1020)也被标记为长期参考画面(例如,由参考画面索引1索引)。第二yuv4:2:0画面(1030)使用第一yuv4:2:0画面(1010)作为参考画面(例如,使用参考画面索引0来约束运动估计和补偿),但是即使第一个uuv4:2:0画面(1020)已经被重构,也不被允许使用第一uuv4:2:0画面(1020)作为参考画面。第二uuv4:2:0画面(1040)使用第一uuv4:2:0画面(1020)作为参考画面(例如,使用参考画面索引1来约束运动估计和补偿),但是即使第一yuv4:2:0画面(1010)已经被重构,也不被允许使用第一yuv4:2:0画面(1010)作为参考画面。使用长期参考画面便于在单个序列中组合两个子序列。

图10b示出了yuv4:2:0画面的子序列的编码画面之间的时间依赖性与uuv4:2:0画面的子序列的编码画面之间的时间依赖性的更复杂的示例(1001)。再次地,给定的yuv4:2:0画面可以仅使用yuv4:2:0画面的子序列中的另一编码画面作为参考画面,并且给定的uuv4:2:0画面可以仅使用uuv4:2:0画面的子序列中的另一编码画面作为参考画面。图10b示出了跨序列(1005)中多个中间的编码画面的长期预测的示例。最后的uuv4:2:0画面(1090)使用第一uuv4:2:0画面(1020)作为参考画面,其被任意数目个yuv4:2:0画面分开。最后的uuv4:2:0画面(1090)不被允许使用中间的yuv4:2:0画面中的任一中间的yuv4:2:0画面作为参考画面。

如下一节所解释的,编码画面可以从子序列中丢弃。例如,对于具有用于高色度分辨率细节的采样值的编码画面,如果没有区域包括被编码的采样值,则编码画面被从其子序列中丢弃。还有,可以用零运动来跳过任一子序列中的编码画面(或其区域),使得没有用于编码画面(或区域)的编码数据被输出,并且从子序列中的先前编码画面重复编码画面(或区域)。

在对应的解码期间,视频解码工具对采用编码画面格式(或多个编码画面格式)的编码画面进行解码。当用零运动来跳过任一子序列中的编码画面(或其区域)时,使得没有接收到编码画面(或区域)的编码数据,可以通过从子序列中的先前编码画面重复来对编码画面进行解码。作为解码的一部分,视频解码工具执行与由编码器强制执行的运动补偿相关性一致的运动补偿。特别地,当对具有用于输出画面的低色度分辨率版本的采样值的编码画面的块执行运动补偿时,可用参考画面集合被限制为具有用于其他输出画面的低色度分辨率版本的采样值的编码画面。类似地,当对具有用于输出画面的高色度分辨率细节的采样值的编码画面的块执行运动补偿时,可用参考画面集合被限制为具有用于其他输出画面的高色度分辨率细节的采样值的编码画面。

在视频解码工具中,可以使用多个参考画面、参考画面重排序和/或长期参考画面来管理编码画面的不同子序列的运动补偿依赖性。例如,h.264标准和h.265标准包括支持多个参考画面、参考画面重排序和长期参考画面的编码工具。

对于采用输出画面格式的给定输出画面,视频解码工具可以组合采用编码画面格式(或多个编码画面格式)的多个编码画面。例如,视频解码工具可以通过反转参考图8a至图8e所描述的方法中的任一方法或使用其他方法来将两个编码画面的采样值重排为输出画面。编码画面中的一个编码画面包括用于输出画面(例如,yuv4:2:0画面)的低色度分辨率版本的采样值。另一编码画面包括用于输出画面(例如,uuv4:2:0画面)的高色度分辨率细节的采样值。如果任何编码画面(或其中的区域)已经用零运动跳过,则当合成输出画面时相同子序列中的先前编码画面(或相同位置区域)可以提供所使用的采样值(用于当前编码画面或其区域)。

b.用于编码/解码用于低色度分辨率版本和高色度分辨率细节的不同子序列的技术

图11图示了用于编码用于输入画面的低色度分辨率版本和高色度分辨率细节的编码画面的不同子序列中的一般的技术(1100)。诸如参考图4描述的编码器系统(400)之类的视频编码工具或另一编码工具可以执行该技术(1100)。

编码工具(1110)将根据输入画面格式组织的输入画面的采样值分别封包(1110)成根据第一编码画面格式和第二编码画面格式组织的第一编码画面和第二编码画面。第一编码画面格式和第二编码画面格式可以是相同的编码画面格式或不同的编码画面格式(例如,不同的色度采样率)。一般而言,输入画面格式具有第一色度采样率,并且第一编码画面格式和第二编码画面格式中的至少一个编码画面格式具有低于第一色度采样率的第二色度采样率。例如,第一色度采样率为4:4:4,而第二色度采样率为4:2:0。第一编码画面包含用于输入画面的低色度分辨率版本的采样值。第二编码画面包含用于输入画面的高色度分辨率细节的采样值。例如,编码工具使用参考图8a至图8e所描述的方法中的任一方法或另一方法来将采样值封包成第一编码画面和第二编码画面。

编码工具将第一编码画面和第二编码画面编码(1120)编码为编码画面序列中的单独的编码画面,从而产生编码数据。作为编码的一部分,第一编码画面被编码为序列的第一子序列的一部分,并且第二编码画面被编码为序列的第二子序列的一部分。第一子序列与第二子序列不同。为了运动补偿(并且,引申开来,运动估计),第一子序列中的编码画面不被允许参考第二子序列中的任何编码画面,并且第二子序列中的编码画面不被允许参考第一子序列中的任何编码画面。

例如,编码工具通过使用标识第一子序列中的编码画面的第一长期参考画面索引集合来管理第一子序列内的运动补偿依赖性。类似地,编码工具通过使用标识第二子序列中的编码画面的第二长期参考画面索引集合来管理第二子序列内的运动补偿依赖性。编码工具还可以重排序参考画面,使得第一子序列中的编码画面不参考第二子序列中的任何编码画面,并且使得第二子序列中的编码画面不参考第一子序列中的任何编码画面。如第iii节所描述的,第一子序列的编码数据和第二子序列的编码数据随后可以通过比特流编辑工具(诸如解复用器或路由器)分开。这允许比特流编辑工具仅向回放设备发送第一子序列的编码数据(用于以低色度分辨率进行解码和回放)或向回放设备发送两个子序列的编码数据(用于以高色度分辨率进行潜在的解码和回放)。对于附加详情,请参阅第三段。

回到图11,编码工具输出(1130)编码数据,其包括用于第一编码画面和第二编码画面中的一个或两个编码画面的编码数据。在一些情况下,用于第一编码画面和/或第二编码画面的编码数据仅包括该编码画面的一部分的编码数据(例如,编码画面的一个或多个区域,如下文所描述的,但不是编码画面的所有区域)。编码工具可以针对一个或多个其他输入画面中的每个输入画面来重复(1100)该技术。在一些情况下,第二编码画面可能被丢弃(因此不被编码),使得没有输出用于第二编码画面的编码数据。还有,可以用零运动来跳过第一编码画面或第二编码画面(或其区域),使得没有输出用于编码画面(或区域)的编码数据,并且编码画面(或区域)从子序列中的先前编码画面重复。因此,当编码来自输入画面的第一编码画面和第二编码画面时,编码工具可能没有产生用于任何第一编码画面的编码数据,可能产生用于第一编码画面的一些区域的编码数据,或者可能产生用于所有第一编码画面的编码数据,并且编码工具可能没有产生用于任何第二编码画面的编码数据,可能产生用于第二编码画面的一些区域的编码数据,或者可能产生用于所有第二编码画面的编码数据。

图12图示了用于解码用于输出画面的低色度分辨率版本和高色度分辨率细节的不同子序列中的编码画面的一般的技术(1200)。诸如参考图5所描述的解码器系统(500)之类的视频解码工具或另一解码工具可以执行该技术(1200)。

解码工具接收(1210)编码数据并且对采用第一编码画面格式和第二编码画面格式(其可以是相同的编码画面格式或不同的编码画面格式)的第一编码画面和第二编码画面进行解码(1220)。第一编码画面包含用于采用输出画面格式的输出画面的低色度分辨率版本的采样值。第二编码画面包含用于输出画面的高色度分辨率细节的采样值。一般而言,输出画面格式具有第一色度采样率,并且第一编码画面格式和第二编码画面格式中的至少一个编码画面格式具有低于第一色度采样率的第二色度采样率。例如,第一色度采样率为4:4:4,而第二色度采样率为4:2:0。

解码工具将第一编码画面和第二编码画面解码(1220)为编码画面序列中的分开的编码画面。作为解码(1220)的一部分,第一编码画面被解码为序列的第一子序列的一部分,并且第二编码画面被解码为序列的第二子序列的一部分。第一子序列与第二子序列不同。当用零运动来跳过任一子序列中的编码画面(或其区域),使得没有接收到编码画面(或区域)的编码数据时,可以通过重复子序列中的先前编码画面对编码画面(或区域)进行解码。为了运动补偿,第一子序列中的编码画面不参考第二子序列中的任何编码画面,并且第二子序列中的编码画面不参考第一子序列中的任何编码画面。

例如,使用标识第一子序列中的编码画面的第一长期参考画面索引集合来管理第一子序列内的运动补偿依赖性。类似地,使用标识第二子序列中的编码画面的第二长期参考画面索引集合来管理第二子序列内的运动补偿依赖性。参考画面还可以重排序,使得第一子序列中的编码画面不参考第二子序列中的任何编码画面,并且使得第二子序列中的编码画面不参考第一子序列中的任何编码画面。

解码工具将第一编码画面和第二编码画面的采样值解包(1230)为输出画面。例如,解码工具反转参考图8a至图8e所描述的方法中的任一方法或另一方法以解包来自第一编码画面和第二编码画面的采样值。在一些情况下,用于第一编码画面和/或第二编码画面的编码数据包括用于编码画面的仅一部分的编码数据(例如,用于编码画面的一个或多个区域,如下文所描述的,而非用于编码画面的所有区域),其影响哪些采样值在解包期间被重排。例如,如果已经用零运动来跳过编码画面(或其中的区域),则同一子序列中的先前编码画面(或相同位置区域)可以提供在合成输出画面时使用的采样值(用于当前编码画面或其区域)。

解码工具可以针对一个或多个其他输出画面中的每个输出画面来重复该技术(1200)。在一些情况下,第二编码画面可能已经被丢弃(并且因此没有被编码),使得没有接收到或解码用于第二编码画面的编码数据。还有,第一编码画面或第二编码画面(或其区域)可能已经用零运动跳过,使得没有接收到用于编码画面(或区域)的编码数据,并且作为替代,编码画面(或区域)根据子序列中的先前编码画面重复。因此,当解码用于输出画面的第一编码画面和第二编码画面时,解码工具可以不使用用于任何第一编码画面的编码数据,可以使用用于第一编码画面的某些区域的编码数据,或者可以使用用于所有第一编码画面的编码数据,并且解码工具可以不使用用于任何第二编码画面的编码数据,可以使用用于第二编码画面的某些区域的编码数据,或者可以使用用于所有第二编码画面的编码数据。

x.选择性地编码/解码高色度分辨率细节的区域

本节提出了用于画面的高色度分辨率细节的编码和解码领域的第二创新集合。具体地,本节描述了选择性地编码/解码高色度分辨率细节的区域的方法,使得用于高色度分辨率细节的采样值被编码/解码用于某些区域而非用于其他区域。用于高色度分辨率细节的采样值被编码的区域可以改变,其便于比特率和质量的适配。

a.用于低色度分辨率版本和高色度分辨率细节的不同编码画面区域的示例

对于采用输入画面格式的给定输入画面,视频编码工具将输入画面拆分成采用编码画面格式(或多个编码画面格式)的多个编码画面。例如,视频编码工具可以使用参考图8a至图8e所描述的方法中的任一方法或使用其他方法来将输入画面的采样值重排为两个编码画面。编码画面中的一个编码画面包括用于输入画面(例如,yuv4:2:0画面)的低色度分辨率版本的采样值。另一编码画面包括用于输入画面(例如,uuv4:2:0画面)的高色度分辨率细节的采样值。

视频编码工具将第一编码画面和/或第二编码画面拆分成区域(可替代地,被称为子区域)。区域的尺寸取决于实现方式。例如,区域的尺寸是16×16(例如,16×16、32×32或64×64)的倍数,以便于使用常规编解码器工具来实现。可替代地,区域具有其他尺寸。给定编码画面中的区域的尺寸可以相同或不同。

对于第一编码画面,视频编码工具判定要在其中对用于输入画面的低色度分辨率版本的采样值进行编码的区域(如果有的话)。对于第二编码画面,视频编码工具判定要在其中对用于输入画面的高色度分辨率细节的采样值进行编码的区域(如果有的话)。第xi节提出了判定要在其中对采样值进行编码的区域的示例方法。对于给定编码画面,视频编码工具可以不对编码画面的区域进行编码,或者对编码画面的某些区域或所有区域进行编码。如下文所解释的,当采样值未在区域中编码时,可能会根据上下文跳过或丢弃该区域。

对于编码画面,视频编码工具生成并且输出标识编码画面的采样值被编码的区域的数据。这样的区域数据的示例如下文所提出的。区域数据可以通过视频编码工具进行熵编码,并且通过视频解码工具进行熵解码。如参考图3至图5所描述的,区域数据可以作为元数据而被用信号通知。

在对应的解码期间,视频解码工具接收并且处理区域数据,该区域数据标识编码画面的采样值已经被编码的区域。视频解码工具对编码画面进行解码,包括:至少对用于采样值已经被编码的区域的编码数据进行解码。当用零运动来跳过编码画面(或其区域),使得没有接收到用于编码画面(或区域)的编码数据时,可以通过根据先前编码画面重复来解码编码画面(或区域)。对于采用输出画面格式的给定输出画面,视频解码工具可以组合采用编码画面格式(或多个编码画面格式)的多个编码画面。例如,视频解码工具可以通过反转参考图8a至图8e所描述的方法中的任一方法或使用其他方法来将两个编码画面(分别用于低色度分辨率版本和高色度分辨率细节)的采样值重排为输出画面。如果任一编码画面(或其中的区域)已经用零运动跳过,则同一子序列中的先前编码画面(或相同位置区域)可以提供在合成输出画面时使用的采样值(用于当前编码画面或其区域)。

为了说明,图13示出了对用于高色度分辨率细节的区域中的采样值进行选择性编码和解码的简单示例(1300)。视频编码工具接收采用输入画面格式(例如,yuv4:4:4格式)的输入画面(1310)的高色度分辨率版本。视频编码工具将输入画面(1310)的采样值重排成采用编码画面格式(例如,yuv4:2:0格式)或多个编码画面格式的两个编码画面(1320,1330)。第一编码画面(1320)包括用于输入画面(1310)的低色度分辨率版本的采样值。第二编码画面(1330)包括用于输入画面(1310)的高色度分辨率细节的两个区域中的采样值。对于第二编码画面(1330)的其余部分,缺少高色度分辨率细节。

编码画面(1320,1330)通过视频编码工具进行编码,通过网络传输,并且通过视频解码工具进行解码。视频解码工具还将来自所重构的编码画面(1320,1330)的采样值组合成采用输出画面格式(例如,yuv4:4:4格式)的输出画面(1340)。输出画面(1340)包括具有低色度分辨率的区域,其并入来自第一编码画面(1320)的采样值。对于该区域,第二编码画面(1330)缺少高色度分辨率细节。输出画面(1340)还包括具有高色度分辨率的区域,其并入来自第一编码画面(1320)的采样值和来自第二编码画面(1330)的采样值。

尽管图13示出了具有高色度分辨率细节的两个区域,但是在其他示例中,第二编码画面(1330)具有更多或更少的具有高色度分辨率细节的区域。在不同的极端处,第二编码画面(1330)没有带有高色度分辨率细节的区域(因此可以被删除)或具有的所有区域均带有高色度分辨率细节。

图14示出了对用于输入画面的低色度分辨率版本的区域和用于输入画面的高色度分辨率细节的区域中的采样值进行选择性编码的示例(1400)。采用输入画面格式(例如,yuv4:4:4格式)的输入画面序列(1410,1420,1430,1440,1450)包括分别用于输入画面的高色度分辨率版本的采样值。视频编码工具将输入画面(1410,1420,1430,1440,1450)中的每个输入画面拆分成采用编码画面格式(例如,yuv4:2:0格式)或多个编码画面格式的两个编码画面。对于每个输入画面,两个编码画面中的一个编码画面表示输入画面的低色度版本、或其至少选定区域,而另一编码画面表示输入画面的高色度分辨率细节、或其至少选定区域。

对于各种编码画面,视频编码工具选择其中采样值被编码的区域。针对输入画面的低色度分辨率版本和高色度分辨率细节,可以独立选择区域。例如,对于第一输入画面(1410),对输入画面的低色度分辨率版本的所有区域进行编码,但是不对高色度分辨率细节的区域进行编码。对于第二输入画面(1420),对输入画面的低色度分辨率版本的所有区域进行编码,并且对高色度分辨率细节的两个不同区域进行编码。对于第三输入画面(1430),不对输入画面的低色度分辨率版本或高色度分辨率细节的区域进行编码。对于第四输入画面(1440),对输入画面的低色度分辨率版本的一个区域进行编码(并且一个不被编码),但是不对高色度分辨率细节的区域进行编码。最后,对于第五输入画面(1450),不对输入画面的低色度分辨率版本的区域进行编码,但对高色度分辨率细节的一个区域进行编码(并且一个不被编码)。因此,对于输入画面的低色度分辨率版本,可以不对用于任何区域的采样值进行编码、或对用于一些区域、或所有区域的采样值进行编码。另一方面,对于输入画面的高色度分辨率细节,可以不对用于任何区域的采样值进行编码、或对一些区域、或所有区域的采样值进行编码。

因此,编码画面可以从子序列中丢弃。例如,对于第一输入画面(1410),具有用于高色度分辨率细节的采样值的编码画面(其中没有区域包括被编码的采样值)从其子序列中丢弃。还有,可以用零运动来跳过任一子序列中的编码画面(或其区域),使得没有输出用于编码画面(或区域)的编码数据,并且编码画面(或区域)根据子序列中的先前编码画面重复。例如,对于第三输入画面(1430),可以用零运动来跳过具有用于输入画面的低色度分辨率版本的采样值的编码画面,使得没有输出用于编码画面的编码数据,并且编码画面根据子序列中的先前编码画面重复。或者,对于第三输入画面(1430),可以用零运动来跳过具有用于高色度分辨率细节的采样值的编码画面的两个区域,使得没有输出用于编码画面的编码数据,并且两个区域根据其中两个区域被编码的子序列中的先前编码画面重复。

b.区域数据的示例

用于编码画面的区域数据指示其中采样值被编码的编码画面的区域。区域可以是编码画面中的预先定义的分区(例如,具有预先定义的尺寸和位置,诸如h.264实现方式中的mb或h.265实现方式中的ctu)。可替代地,可以在区域数据中指定区域的尺寸和/或位置。例如,对于一个或多个区域中的每个区域,区域数据包括(a)指定区域的拐角的一个或多个参数以及指定该区域的宽度和高度的参数;(b)指定该区域的多个拐角的参数;或(c)指定该区域中的宏块或编码单元的列表的参数。

除了定义区域的尺寸和位置的区域数据的参数(如果有的话)之外,区域数据还包括索引值的映射,其指示其中采样值被编码为编码画面的一部分的任何区域。例如,映射包括每个区域的索引值。映射可以指示其中用于第二编码画面的编码数据包括用于输入(或输出)画面的高色度分辨率细节的编码采样值的任何区域。当也为第一编码画面选择区域时,另一映射可以指示其中用于第一编码画面的编码数据包括用于输入(或输出)画面的低色度分辨率版本的编码采样值的任何区域。当在编码画面的区域中对采样值进行编码时,用于编码画面的编码数据直接表示该区域的采样值。另一方面,当未对该区域中的采样值进行编码时,可以根据上下文跳过或丢弃该区域。

对于编码画面的给定区域,索引值指示关于该区域的信息。图15和图16示出了索引值的示例。可替代地,索引值指示其他信息。在任何情况下,编码工具或解码工具都可以使用用于编码画面的映射中的索引值来确定采样值被编码为编码画面的一部分的任何区域。

图15示出了当在输入画面(或输出画面)的低色度分辨率版本和高色度分辨率细节的区域中对采样值进行选择性地编码和解码时可以使用的示例区域数据(1500)。在编码期间,视频编码工具可以使用区域数据(1500)来控制哪些区域具有针对它们进行编码的采样值。在对应的解码中,视频解码工具可以使用区域数据(1500)来确定采样值已经被编码的区域。在图15中,第一编码画面(1510)(被标记为yuv4:2:0画面)包括输入画面x的低色度分辨率版本。第二编码画面(1520)(被标记为uuv4:2:0画面)包括输入画面x的高色度分辨率细节。

编码画面(1510,1520)中的每个编码画面被划分为12个区域。对于第一编码画面(1510),索引值的第一映射(1512)指示与最近的在先yuv4:2:0画面的相同位置区域相比较,其中采样值被改变(“脏”)的区域,其中相同位置区域中的采样值被编码。第一编码画面(1510)的区域0至4和8中的采样值是脏的,但是区域5至7以及9至11中的采样值不脏。对于第二编码画面(1520),索引值的另一映射(1522)指示与最近的在先uuv4:2:0画面的相同位置区域相比较,其中采样值被改变(“脏”)的区域,其中相同位置区域中的采样值被编码。第二编码画面(1520)的区域1至8中的采样值是脏的,但是区域9至11中的采样值不脏。在映射(1512,1522)中的每个映射中,对于给定区域,索引值0×00(或一比特值0)指示该区域是脏的,并且索引值0×01(或一比特值1)表示区域不脏

根据映射(1512,1522)中的索引值,视频编码工具和视频解码工具推断其中采样值被编码的编码画面的区域。例如,根据如图15所示的解释所定义的区域数据的一种方法,对于第一编码画面(1510),对脏区域的采样值进行编码,并且不对非脏区域的采样值进行编码。作为代替,第一编码画面(1510)的非脏区域被编码为具有零运动的跳过区域,其从先前yuv4:2:0画面中的相同位置区域复制。因此,对于编码或复制(跳过)的输入/输出画面的低色度分辨率版本的区域,总是存在一些可用的表示。对于第二编码画面(1520),对脏区域的采样值进行编码,并且不对非脏区域的采样值进行编码。作为代替,第二编码画面(1520)的非脏区域被编码为具有零运动的跳过区域(从先前uuv4:2:0画面中的相同位置区域复制,如果自从该相同位置区域被编码后尚未发生改变)或被丢弃(否则)。因此,输入画面/输出画面的高色度分辨率细节的区域可以直接用该区域的采样值进行编码、复制(跳过)或丢弃。

根据如图15所示的解释所定义的区域数据的另一方法,第二编码画面(1520)的区域根据稍微不同的规则被编码或不被编码。特别地,对于第二编码画面(1520),只有当第一编码画面(1510)的相同位置区域不脏时,才能对脏区域的采样值进行编码;否则不对第二编码画面(1520)的脏区域的采样值进行编码。如在第一方法中一样,第二编码画面(1520)的非脏区域被编码为具有零运动的跳过区域或被丢弃。因此,高色度分辨率细节的脏区域对于几个编码画面可能保持脏,直到其被最终编码为止。这种方法与第xi.a.1节中所描述的判定规则相一致。

图16示出了当选择性地对输入画面的低色度分辨率版本和高色度分辨率细节的区域中的采样值进行编码和解码时可以使用的其他示例区域数据(1600)。第一编码画面(1610)(被标记为yuv4:2:0画面)包括输入画面x的低色度分辨率版本,并且第二编码画面(1620)(被标记为uuv4:2:0画面)包括输入画面x的高色度分辨率细节。

编码画面(1610,1620)中的每个编码画面被分割成12个区域,并且具有索引值的对应映射(1612,1622)。用于区域的索引值是两比特值,其中第一比特指示与最近的在先编码画面中的相同位置区域相比较,该区域中的采样值是否改变(“脏”),其中相同位置区域中的采样值被编码;并且第二比特指示(至少对于非脏区域)区域中的采样值是否已经被高质量地编码(即,在先前编码画面中的相同位置区域中)。因此,值0×00(或两比特值00)指示先前未被高质量地编码的非脏区域,值0×01(或两比特值01)指示先前被高质量地编码的非脏区域。值0×02(或两比特值10)表示脏区域。根据这样的索引值,视频编码工具和视频解码工具可以使用如在第xi.a.3节中所描述的规则推断给定区域是否被编码。

映射中的索引值可以通过视频编码工具进行熵编码(例如,使用游程长度编码或上下文自适应二进制算术编码)。在这种情况下,视频解码工具执行对应的熵解码。区域数据可以例如作为用于h.264标准或h.265标准的新型sei消息的一部分、作为容器结构的字段、作为传输协议消息的字段、或作为一些其他类型的元数据被信号通知。

在图15和图16中,区域中的每个区域具有相同的尺寸。可替代地,区域在编码画面内或从画面到画面的尺寸可以不同。

c.用于编码/解码用于低色度分辨率版本和高色度分辨率细节的编码画面的选定区域的技术

图17图示了用于对用于高色度分辨率细节的区域中的采样值选择性地编码的一般的技术(1700)。诸如参考图4描述的编码器系统(400)之类的视频编码工具或另一编码工具可以执行该技术(1700)。

编码工具(1710)将根据输入画面格式组织的输入画面的采样值封包成根据第一编码画面格式和第二编码画面格式组织的第一编码画面和第二编码画面。第一编码画面格式和第二编码画面格式可以是相同的编码画面格式或不同的编码画面格式(例如,不同的色度采样率)。一般而言,输入画面格式具有第一色度采样率,并且第一编码画面格式和第二编码画面格式中的至少一个编码画面格式具有低于第一色度采样率的第二色度采样率。例如,第一色度采样率为4:4:4,第二色度采样率为4:2:0。第一编码画面包含用于输入画面的低色度分辨率版本的采样值。第二编码画面包含用于输入画面的高色度分辨率细节的采样值。例如,编码工具使用参考图8a至图8e所描述的方法中的任一方法或另一方法来将采样值封包成第一编码画面和第二编码画面。

编码工具编码(1720)第一编码画面和第二编码画面,从而产生编码数据。作为编码的一部分,编码工具选择一个或多个区域,其中用于输入画面的高色度分辨率细节的对应采样值被编码为第二编码画面的一部分。作为编码的一部分,编码工具还可以选择一个或多个区域,其中用于输入画面的低色度分辨率版本的对应采样值被编码为第一编码画面的一部分。如第ix节所描述的,第一编码画面和第二编码画面可以被编码为编码画面的不同子序列的一部分。

编码工具输出(1730)编码数据,其包括用于第一编码画面和第二编码画面中的一个或两个编码画面的编码数据。在一些情况下,用于第一编码画面和/或第二编码画面的编码数据仅包括用于编码画面的一部分(例如,用于编码画面的一个或多个区域,而非用于编码画面的所有区域)的编码数据。编码数据可以作为一个比特流的一部分输出。比特流的语法准许第一编码画面和/或第二编码画面缺少用于输入画面的至少一部分的编码采样值。

编码工具还输出(1740)区域数据,其标识其中用于输入画面的高色度分辨率细节的对应采样值被编码为第二编码画面的一部分的区域。当编码工具还选择其中用于输入画面的低色度分辨率版本的对应采样值被编码为第一编码画面的一部分的区域时,区域数据还标识这样的区域。例如,区域数据的被格式化,如第x.b节所述。可替代地,区域数据以某个其他方式被格式化。

编码工具可以针对一个或多个其他输入画面中的每个输入画面来重复技术(1700)。在一些情况下,第二编码画面可能被丢弃(因此不被编码),使得没有输出用于第二编码画面的编码数据。还有,可以用零运动来跳过第一编码画面或第二编码画面(或其区域),使得没有输出用于编码画面(或区域)的编码数据,并且编码画面(或区域)从子序列中的先前编码画面重复。因此,当对来自输入画面的第一编码画面和第二编码画面进行编码时,编码工具可能不会产生用于第一编码画面的编码数据,或可以产生用于第一编码画面的一些区域的编码数据,或者可以产生用于所有第一编码画面的编码数据,并且编码工具可能不会产生用于第二编码画面的编码数据,或可以产生用于第二编码画面的一些区域的编码数据,或者可以产生用于所有第二编码画面的编码数据。

图18图示了用于对用于高色度分辨率细节的区域中的采样值进行选择性地解码的一般的技术(1800)。诸如参考图5所描述的解码器系统(500)之类的视频解码工具或另一解码工具可以执行该技术(1800)。

解码工具接收(1810)编码数据并且解码(1820)采用第一编码画面格式和第二编码画面格式(其可以是相同的编码画面格式或不同的编码画面格式)的第一编码画面和第二编码画面。第一编码画面包含用于采用输出画面格式的输出画面的低色度分辨率版本的采样值。第二编码画面包含用于输出画面的高色度分辨率细节的采样值。一般而言,输出画面格式具有第一色度采样率,并且第一编码画面格式和第二编码画面格式中的至少一个编码画面格式具有低于第一色度采样率的第二色度采样率。例如,第一色度采样率为4:4:4,第二色度采样率为4:2:0。编码数据可以作为一个比特流的一部分被接收。比特流的语法允许第一编码画面和/或第二编码画面缺少用于输出画面的至少一部分的编码采样值。如第ix节所描述的,第一编码画面和第二编码画面可以被解码为编码画面的不同子序列的一部分。当用零运动来跳过编码画面(或其区域),使得没有接收到用于编码画面(或区域)的编码数据时,可以通过根据先前编码画面重复来对编码画面(或区域)进行解码。

解码工具还接收(1830)标识一个或多个区域的区域数据,其中用于输出画面的高色度分辨率细节的对应采样值已经被编码为第二编码画面的一部分。在一些示例实现方式中,区域数据还标识一个或多个区域,其中用于输出画面的低色度分辨率版本的对应采样值已经被编码为第一编码画面的一部分。例如,如第x.b节所描述的,区域数据被格式化。可替代地,区域数据以某个其他方式被格式化。

至少部分地基于区域数据,解码工具将用于第一编码画面和第二编码画面的采样值解包成(1840)输出画面。例如,解码工具反转参考图8a至图8e所描述的方法中的任一方法或另一方法来解包来自第一编码画面和第二编码画面的区域的采样值。在一些情况下,第二编码画面仅包括用于该编码画面的一部分(例如,用于编码画面的一个或多个区域,而非用于编码画面的所有区域)的采样值,其影响了哪些采样值在解包期间被重排。如果任一编码画面(或其中的区域)已经用零运动跳过,则同一子序列中的先前编码画面(或相同位置区域)可以提供在合成输出画面时使用的采样值(用于当前编码画面或其区域)。

解码工具可以针对一个或多个其他输出画面中的每个输出画面来重复技术(1800)。在一些情况下,第二编码画面可能已经被丢弃(并且因此不被编码),使得没有接收到或解码用于第二编码画面的编码数据。还有,如本节所描述的,第一编码画面或第二编码画面(或其区域)可以用零运动来跳过,使得没有接收到用于编码画面(或区域)的编码数据,并且作为代替,编码画面(或区域)根据子序列中的先前编码画面重复。因此,当对用于输出画面的第一编码画面和第二编码画面进行解码时,解码工具可以不使用用于任何第一编码画面的编码数据,或可以使用用于第一编码画面的一些区域的编码数据,或者可以使用用于所有第一编码画面的编码数据,并且解码工具可以不使用用于任何第二编码画面的编码数据,或可以使用用于第二编码画面的一些区域的编码数据,或者可以使用所有第二编码画面的编码数据。

xi.用于选择性地编码区域的判定规则

本节提出了对用于画面的低色度分辨率版本和高色度分辨率细节的区域进行编码的领域的创新。具体地,本节描述了当选择性地编码高色度分辨率细节的区域时使用的判定规则,使得用于高色度分辨率细节的采样值被编码用于一些区域而非其他区域。例如,根据判定规则集合,在逐区域的基础上对高色度分辨率细节进行选择性地编码。判定规则还可以控制区域的选择以针对画面的低色度分辨率版本进行编码。这样,在采用低分辨率色度采样格式的编码画面上操作的可用编码器可以有效用于提供画面的低色度分辨率版本以及高色度分辨率细节。

随着逐区域判定高色度分辨率细节的哪些区域进行编码,比特率的提高(由于对用于高色度分辨率细节的采样值进行编码)发生在对应的色度分辨率增加可能以显著方式提高质量的时间和地点。例如,由于所添加的色度分辨率细节不太可能被观众注意到,所以当运动剧烈或编码质量低时,高色度分辨率细节的区域不被编码。另一方面,由于所添加的色度分辨率细节更有可能以显著方式提高质量,所以当区域静止并且编码质量高时,色度分辨率细节的区域被编码。

除了明智地分配比特率以增加色度分辨率之外,如本文中所描述的逐区域判定可以在编码和解码期间节省计算资源。对于高色度分辨率细节不太可能以显著方式提高质量的区域,编码或解码细节时不会消耗资源。

a.用于输入画面的低色度分辨率版本和高色度分辨率细节的区域选择的示例判定规则

图19示出了用于对用于输入画面的低色度分辨率版本和高色度分辨率细节的区域中的采样值进行选择性编码的示例判定规则中可以考虑的编码画面。在图19中,输入画面的采样值被重排为两个子序列的编码画面,即,yuv4:2:0子序列的编码画面和uuv4:2:0子序列的编码画面。在yuv4:2:0子序列中,编码画面包括用于输入画面的低色度分辨率版本的采样值。在uuv4:2:0子序列中,编码画面包括用于输入画面的高色度分辨率细节的采样值。

当前yuv4:2:0画面(1920)是当前输入画面的低色度分辨率版本,当前uuv4:2:0画面(1925)包括当前输入画面的高色度分辨率细节。先前yuv4:2:0画面(1910)是先前输入画面的低色度分辨率版本。当前yuv4:2:0画面(1920)包括区域(1922)。先前yuv4:2:0画面(1910)是yuv4:2:0子序列中的最近的先前编码画面,其中对应的相同位置区域被编码(1912)。先前uuv4:2:0画面(1935)包括先前输入画面的高色度分辨率细节。当前uuv4:2:0画面(1925)还包括区域(1926)。先前uuv4:2:0画面(1935)是uuv4:2:0子序列中的最近的先前编码画面,其中对应的相同位置区域(1936)被编码。先前yuv4:2:0画面(1910)和先前uuv4:2:0画面(1935)可以包括来自相同输入画面的采样值,或者它们可以包括来自不同输入画面的采样值。还有,对于当前yuv4:2:0画面(1920)的不同区域,先前yuv4:2:0画面(1910)可能不同(例如,如果区域在不同时间改变)。类似地,对于当前uuv4:2:0画面(1925)的不同区域,先前yuv4:2:0画面(1935)可能不同(例如,如果区域在不同时间改变)。

yuv4:2:0画面(1910,1920)和uuv4:2:0画面(1925,1935)被分割成区域(也被称为子区域)。区域的尺寸取决于实现方式。例如,区域的尺寸是16×16(例如,16×16、32×32或64×64)的倍数,以便于使用常规编解码器工具(例如,使用mb或ctu)来实现。可替代地,区域具有其他尺寸。

图20a至图20e图示了对用于输入画面的低色度分辨率版本和高色度分辨率细节的区域中的采样值进行选择性编码的示例判定规则(2000至2004)。在示例判定规则(2000至2004)中,区域的一个或多个属性在多个编码画面中被评估,并且在一些情况下,在当前输入画面中被评估。当在多个画面之间评估用于给定区域的属性时,画面中的每个画面中的相同位置区域的属性被评估。也就是说,在画面中的每个画面中,评估画面中对应位置处并且具有对应尺寸的区域的属性。例如,如图19所示,可以评估yuv4:2:0画面(1920,1910)中的相同位置区域(1922,1912)的属性。或者,作为另一示例,可以评估uuv4:2:0画面(1925,1935)中的相同位置区域(1926,1936)的属性。或者,当做出关于当前uuv4:2:0画面(1925)的区域(1926)的判定时,可以评估输入画面中的相同位置区域的属性。

图20a至图20e图示了针对yuv4:2:0画面和当前uuv4:2:0画面中的区域在逐区域基础上做出的判定的示例判定规则。可替代地,针对当前yuv4:2:0画面中的区域在逐区域的基础上应用判定规则,然后针对当前uuv4:2:0画面中的区域在逐区域的基础上应用判定规则。

1.第一示例判定规则—检查改变

图20a示出了第一示例判定规则(2000)。在第一示例判定规则(2000)的几个阶段中,编码工具检查给定区域是否是静止的(不随时间改变)。对于输入画面的低色度分辨率版本,区域静止之后,对用于该区域的高色度分辨率细节进行编码。通过将色度分辨率的增加限制到静止区域,编码工具可以减少与编码高色度分辨率细节相关联的比特率,并且还增加总体编码/解码速度。

编码工具可以使用几种方法中的任一种方法来检查区域是否是静止的。例如,编码工具计算当前yuv4:2:0画面(1920)的区域(1922)中的采样值和先前yuv4:2:0画面(1910)的区域(1912)中的采样值之间的差异,并且评估差异的幅度(例如,检查差异中的任一差异是否为非零)。类似地,编码工具可以计算当前uuv4:2:0画面(1925)的区域(1926)中的采样值和先前uuv4:2:0画面(1935)的区域(1936)中的采样值之间的差异,并且评估差异的幅度(例如,检查差异中的任一差异是否为零)。或者,作为另一示例,编码工具将当前yuv4:2:0画面(1920)的区域(1922)中的一个或多个运动矢量(“mv”)值与mv阈值进行比较(例如,检查mv值中的任一mv值是否为非零)。类似地,编码工具可以将当前uuv4:2:0画面(1925)的区域(1926)中的一个或多个mv值与mv阈值进行比较(例如,检查mv值是否为非零)。

参考图20a,根据第一示例判定规则(2000),编码工具获取(2010)下一区域。编码工具检查(2020)该区域在编码画面的yuv4:2:0子序列中是否发生改变。如果是,则编码工具对用于当前输入画面(即,用于当前yuv4:2:0画面)的低色度分辨率版本的区域中的采样值进行编码(2021)。因此,只要区域在yuv4:2:0子序列中不静止,用于该区域的低色度分辨率版本就被编码。编码工具检查(2090)是否完成,如果没有,则继续下一区域。

如果区域在yuv4:2:0子序列中没有发生改变,则编码工具检查(2060)区域在编码画面的uuv4:2:0子序列中是否已经改变。如果是,则编码工具对用于当前输入画面(即,用于当前uuv4:2:0画面)的高色度分辨率细节的区域中的采样值进行编码(2061)。因此,在区域在yuv4:2:0子序列中静止之后,对用于该区域的高色度分辨率细节进行编码。然而,在高色度分辨率细节被编码之后,只要区域对于高色度分辨率细节而言不变,它们就不被重新编码。

在编码(2061)之后,或者如果区域在uuv4:2:0子序列中没有发生改变,则编码工具检查(2090)是否完成。如果没有,则编码工具将继续获取(2010)下一区域。

返回参考图15所示的区域数据(1500),yuv4:2:0画面(1510)的映射(1512)指示对于yuv4:2:0画面(1510)的区域中的每个区域,与最近的在前yuv4:2:0画面的相同位置区域相比较,该区域是否改变(“脏”)或不改变(“不脏”),其中相同位置区域中的采样值被编码。对于第一示例判定规则(2000),这样的映射(1512)可以表示当前yuv4:2:0画面(1920)的相应区域是否改变或不变。类似地,uuv4:2:0画面(1520)的映射(1522)指示对于uuv4:2:0画面(1520)的区域中的每个区域,与最近的在前uuv4:2:0画面的相同位置区域相比较,该区域是否改变(“脏”)或不改变(“不脏”),其中相同位置区域中的采样值被编码。对于第一示例判定规则(2000),这样的映射(1522)可以表示当前uuv4:2:0画面(1925)的相应区域是否改变或不变。

对于第一示例判定规则(2000),如参考图20a所描述的,编码工具可以以与映射(1512,1522)中的索引值一致的方式对编码画面的区域进行编码。对应的解码工具可以以与映射(1512,1522)中的索引值一致的方式对区域进行解码。

2.第二例判定规则—检查yuv4:2:0画面的质量

图20b示出了第二示例判定规则(2001)。除了检查给定区域是否随时间静止之外,在第二示例判定规则(2001)中,编码工具还检查输入画面的低色度分辨率版本中的区域的编码质量是否高。用于给定区域的高色度分辨率细节在区域静止之后并且输入画面的低色度分辨率版本的质量足够高时被编码。通过进一步将色度分辨率的增加限制到具有高质量的静止区域,编码工具可以进一步降低与编码高色度分辨率细节相关联的比特率,并且进一步提高整体编码/解码速度。

根据第二示例判定规则(2001),编码工具获取(2010)下一区域。编码工具检查(2020)区域在yuv4:2:0子序列中是否发生改变(见第xi.a.1节)。如果是,则编码工具在初始质量水平(例如,对于h.264编码或h.265编码,qp=30)下对用于当前输入画面的低色度分辨率版本(即,当前yuv4:2:0画面)的区域中的采样值进行编码(2022)。因此,只要该区域在yuv4:2:0子序列中不静止,就在初始质量水平下对用于该区域的低色度分辨率版本进行编码。编码工具检查(2090)是否完成,如果没有,则继续下一区域。

如果区域在编码画面的yuv4:2:0子序列中没有发生改变,则编码工具检查(2030)区域的编码质量在yuv4:2:0子序列中是否高。例如,编码工具将用于先前yuv4:2:0画面中的区域的一个或多个qp值与qp阈值进行比较。qp阈值取决于实现方式(例如,对于h.264编码或h.265编码,为16)。如果该区域的编码质量在yuv4:2:0子序列中不高,则编码工具在高质量水平(例如,对于h.264编码或h.265编码,qp=16)下对用于当前输入画面(即,用于当前yuv4:2:0画面)的低色度分辨率版本的区域中的采样值进行编码(2032)。因此,如果区域在yuv4:2:0子序列中是静止的,但是尚未在高质量水平下进行编码,则编码工具增加了当前输入画面的低色度分辨率版本的区域的编码质量。编码工具检查(2090)是否完成,如果没有,则继续下一区域。

另一方面,如果用于yuv4:2:0子序列的(静止)区域的编码质量为高,则编码工具检查(2060)区域在uuv4:2:0子序列中是否已经改变(见第xi.a.1节)。如果是,则编码工具对当前输入画面(即,当前uuv4:2:0画面)的高色度分辨率细节的区域中的(2061)采样值进行编码。因此,在区域在yuv4:2:0子序列中静止并且在高质量水平下被编码之后,该区域的高色度分辨率细节被编码。然而,在高色度分辨率细节被编码之后,只要区域对于高色度分辨率细节不变,它们就不被重新编码。

在编码(2061)之后,或者如果区域在uuv4:2:0子序列中没有改变,则编码工具检查(2090)是否完成。如果没有,则编码工具将继续获取(2010)下一区域。

根据第二示例判定规则(2001),当前输入画面(即,当前uuv4:2:0画面)的高色度分辨率细节的区域中的采样值在默认的固定质量水平下被编码。例如,默认的质量水平是高质量水平。可替代地,如下文针对第三示例判定规则(2002)所描述的,用于高色度分辨率细节的区域中的采样值可以在不同的质量水平下被编码。

根据第二示例判定规则(2001),用于输入画面的低色度分辨率版本的区域中的采样值可以在两种不同的质量等级(初始质量和高质量)下被编码。可替代地,用于输入画面的低色度分辨率版本的区域中的采样值可以在更多的质量等级下被编码,其中附加的检查点逐渐提高质量,直到达到完美质量为止,此时用于该区域的高色度分辨率细节被编码。

3.第三示例判定规则—检查yuv4:2:0画面和uuv4:2:0画面的质量

图20c示出了第三例判定规则(2002)。第三示例判定规则(2002)通过当对用于高色度分辨率细节的区域中的采样值进行编码时支持多个质量等级来扩展第二示例判定规则(2001)。

第三示例判定规则(2002)的初始阶段(2010,2020,2020,2030,2032)如第二示例判定规则(2001)中那样操作。如果用于yuv4:2:0子序列的(静止)区域的编码质量为高,则编码工具检查(2060)区域在uuv4:2:0子序列中是否发生改变(见第xi.a.1节)。如果是,则编码工具在初始质量水平(例如,对于h.264编码或h.265编码,qp=30)下对当前输入画面(即,当前uuv4:2:0画面)的高色度分辨率细节的区域中的采样值进行编码(2062)。因此,在区域在yuv4:2:0子序列中静止并且在高质量水平进行编码之后,用于该区域的高色度分辨率细节首先在初始质量水平下被编码。

如果区域在uuv4:2:0子序列中尚未改变,则编码工具检查(2070)uuv4:2:0子序列中的该区域的编码质量是否高。例如,编码工具将先前uuv4:2:0画面中的区域的一个或多个qp值与qp阈值进行比较。qp阈值取决于实现方式(例如,对于h.264编码或h.265编码,为16)。如果uuv4:2:0子序列中该区域的编码质量不高,则编码工具在高质量水平(例如,对于h.264编码或h.265编码,qp=16)下对用于高色度分辨率细节(即,用于当前uuv4:2:0画面)的区域中的采样值进行编码(2072)。因此,如果该区域在uuv4:2:0子序列中是静止的,但尚未在高质量水平下进行编码,则编码工具增加了用于高色度分辨率细节的区域的编码质量。编码工具检查(2090)是否完成,如果没有,则继续下一区域。

另一方面,如果uuv4:2:0子序列的(静止)区域的编码质量较高,则编码工具跳过对于该区域的进一步编码。在高色度分辨率细节已经在高质量水平下被编码之后,只要区域对于高色度分辨率细节不变,它们就不被重新编码。编码工具检查(2090)是否完成。如果没有,则编码工具继续获取(2010)下一区域。

例如,在第三示例判定规则(2002)中体现的进展中,首先在yuv4:2:0画面中在初始质量水平下对发生改变的区域进行编码。如果该区域变静止,则该区域的编码质量在yuv4:2:0子序列中增加。在yuv4:2:0子序列中在高质量水平下对静止区域进行编码之后,在uuv4:2:0画面中在初始质量水平下对该区域进行编码。只要该区域是静止的,则该区域的编码质量在uuv4:2:0子序列中进一步增加,直到uuv4:2:0子序列达到高质量水平为止。

根据第三示例判定规则(2002),用于高色度分辨率细节的区域中的采样值可以在两种不同的质量等级(初始质量和高质量)下被编码。可替代地,用于高色度分辨率细节的区域中的采样值可以在更高的质量等级下被编码,其中附加的检查点逐渐提高质量,直到达到完美质量为止。

返回参考图16所示的区域数据(1600),用于yuv4:2:0画面(1610)的映射(1612)指示对于yuv4:2:0画面(1610)的区域中的每个区域,(1)与最近的在先yuv4:2:0画面的相同位置区域相比较,该区域被改变(“脏”)还是不被改变(“不脏”),其中相同位置区域中的采样值被编码;以及(2)该区域是否已经在高质量水平下被编码。对于第三示例判定规则(2002),这样的映射(1612)可以表示当前yuv4:2:0画面(1920)的相应区域被改变还是不被改变,以及相应区域是否已经在高质量水平下被编码。类似地,用于uuv4:2:0画面(1620)的映射(1622)指示对于uuv4:2:0画面(1620)的区域中的每个区域,(1)与最近的在先uuv4:2:0画面的相同位置区域相比较,该区域被改变(“脏”)还是不被改变(“不脏”),其中相同位置区域中的采样值被编码;以及(2)该区域是否已经在高质量水平下被编码。对于第三示例判定规则(2002),这样的映射(1622)可以表示当前uuv4:2:0画面(1920)的相应区域被改变还是不被改变,以及相应区域是否已经在高质量水平下被编码

对于第三示例判定规则(2002),如参考图20c所描述的,编码工具可以以与映射(1612,1622)中的索引值一致的方式对编码画面的区域进行编码。对应的解码工具可以以与映射(1612,1622)中的索引值一致的方式对区域进行解码。例如,如果区域在yuv4:2:0子序列中是静止的,则当前uuv4:2:0画面的区域的采样值在初始质量下被编码/解码,已经在yuv4:2:0子序列中在高质量下被编码,并且在uuv4:2:0子序列中是非静止的。

4.第四示例判定规则—检查内容分类

图20d示出了第四个示例判定规则(2003)。该第四示例判定规则(2003)还通过还检查区域的内容分类来扩展第一示例判定规则(2000)。

第四示例性判定规则(2003)的一些阶段(2010,2020,2021,2060,2061)如第一示例判定规则(2000)中那样操作。然而,检查新条件以使得对高色度分辨率细节进行编码具有更高的选择性。通过进一步将色度分辨率的增加限制到具有某些类型内容的区域,编码工具可以进一步降低与编码高色度分辨率细节相关联的比特率,并且进一步增加总体编码/解码速度。

在第四示例判定规则(2003)中,如果区域在yuv4:2:0子序列中没有发生改变,则编码工具检查(2040)该区域是包括文本内容还是包括高色度内容。如果是,则编码工具进行到下一阶段(2060)。否则,编码工具检查(2090)是否完成,如果没有,则继续获取(2010)下一区域。因此,仅当用于该区域的分类类别指示该区域包括文本内容或其他高色度内容时,才对用于该区域的高色度分辨率细节进行编码。

为了评估该区域是否包括文本内容,编码工具可以使用任何可用的方法进行文本分类。例如,编码工具使用将区域分类为包括文本内容或图像内容的方法。对用于文本内容(而非画面内容)的高色度分辨率细节进行编码利用了这样的知识:更高的色度分辨率对于文本内容通常有益但对于画面内容不太显著。

为了评估该区域是否包括高色度内容,编码工具可以评估色度采样值与显著性阈值相比较是否是显著的(例如,将色度采样值的平均绝对值与阈值进行比较)。这样,编码工具可以考虑颜色在区域中的混合。如果该区域主要包含黑色值和白色值,则色度采样值将具有低幅度。另一方面,如果该区域主要包括红色值和绿色值,则色度采样值通常具有高的幅度。对用于高色度内容(而非用于低色度内容)的高色度分辨率细节进行编码利用了这样的知识:更高的色度分辨率通常对于高色度内容有益但对于低色度内容不太有帮助。

在图20d中,第四示例判定规则(2003)扩展了第一示例判定规则(2000)。可替代地,如本节所描述的,扩展第二示例判定规则(2001)或第三示例判定规则(2002)以检查用于区域的内容分类。

5.第五示例判定规则—检查稳定性周期

图20e示出了第五示例判定规则(2004)。在对高色度分辨率细节进行编码之前,第五示例判定规则(2004)还通过检查区域已经静止了阈值时间周期(例如,画面的计数)来扩展第一示例判定规则(2000)。

第五示例性判定规则(2004)的一些阶段(2010,2020,2021,2060,2061)如第一示例判定规则(2000)中那样操作。然而,检查新条件以使得更具选择性地对高色度分辨率细节进行编码。通过进一步将色度分辨率的增加限制到静止了阈值计数个画面的区域,编码工具可以进一步降低与编码高色度分辨率细节相关联的比特率,并且进一步提高整体编码/解码速度。

在第五示例判定规则(2004)中,如果区域在yuv4:2:0子序列中没有发生改变,则编码工具检查(2050)该区域是否持续了至少n个yuv4:2:0画面未改变,其中n指示画面的阈值计数。如果是,则编码工具进行到下一阶段(2060)。否则,编码工具检查(2090)是否完成,如果没有,则继续获取(2010)下一区域。因此,只有当区域在yuv4:2:0子序列中静止了阈值计数个画面时,才对用于该区域的高色度分辨率细节进行编码。

画面的阈值计数取决于实现方式。例如,画面的阈值计数为1个画面、3个画面、5个画面、10个画面或一些其他数目个画面。等待阈值计数被满足在编码用于输入画面的低色度分辨率版本的采样值和编码用于高色度分辨率细节的采样值之间施加了延迟时间。延迟时间可以平滑对可用比特率的需求,并且平滑在编码和解码期间对计算资源的需求。还有,在区域静止了阈值持续时间之后编码高色度分辨率细节利用了这样的知识:较高色度分辨率通常对静止内容有益,但对于移动内容不太显著。

在图20e中,第五示例判定规则(2004)扩展了第一示例判定规则(2000)。可替代地,如在本节中所描述的,扩展第二示例判定规则(2001)或第三示例判定规则(2002)以在高色度分辨率细节被编码之前检查区域是否已经静止了阈值时间段(例如,画面的计数)。还有,编码工具可以结合检查本节所描述的新条件来检查内容分类(如第四示例判定规则(2003)中所描述的)。

b.区域选择的示例技术

图21图示了当对高色度分辨率细节的区域中的采样值进行选择性地编码时用于应用判定规则的一般的技术(2100)。诸如参考图4所描述的编码器系统(400)之类的视频编码工具或另一编码工具可以执行该技术(2100)。

编码工具将根据输入画面格式组织的输入画面的采样值封包成(2110)分别根据第一编码画面格式和第二编码画面格式组织的第一编码画面和第二编码画面。第一编码画面格式和第二编码画面格式可以是相同的编码画面格式或不同的编码画面格式(例如,不同的色度采样率)。一般而言,输入画面格式具有第一色度采样率,并且第一编码画面格式和第二编码画面格式中的至少一个编码画面格式具有低于第一色度采样率的第二色度采样率。例如,第一色度采样率为4:4:4,第二色度采样率为4:2:0。第一编码画面包含用于输入画面的低色度分辨率版本的采样值。第二编码画面包含用于输入画面的高色度分辨率细节的采样值。例如,编码工具使用参考图8a至图8e所描述的方法中的任一方法或另一方法以将采样值封包成第一编码画面和第二编码画面。

编码工具对第一编码画面和第二编码画面进行编码(2120),从而产生编码数据。对于编码,对于一个或多个区域中的每个区域,编码工具评估区域的一个或多个属性。例如,编码工具评估区域的改变程度、区域的编码数据的质量和/或区域的内容分类。可替代地,编码工具评估该区域的其他和/或附加属性。至少部分地基于评估结果,编码工具确定是否对作为第二编码画面的一部分的、输入画面的高色度分辨率细节的区域中的采样值进行编码。编码工具还可以至少部分地基于评估结果来确定是否对作为第一编码画面的一部分的、输入画面的低色度分辨率版本的区域中的采样值进行编码。如第ix节所描述的,第一编码画面和第二编码画面可以被编码为编码画面的不同子序列的一部分。在极端情况下,第一编码画面和第二编码画面中的每个编码画面被处理为单个区域。编码工具输出(2130)编码数据,其包括用于第一编码画面和第二编码画面中的一个或两个编码画面的编码数据。

例如,对于区域的一个属性,编码工具评估在第一编码画面和第二编码画面中的一个编码画面、以及其中该区域被编码的最近的先前画面之间的区域的改变程度。为了评估该区域的改变程度,编码工具可以例如:(a)计算用于编码画面的区域中的采样值和用于其中该区域被编码的最近的先前画面(例如,用于yuv4:2:0画面或uuv4:2:0画面)的区域中的采样值之间的差异,并且评估差异的幅度;和/或(b)比较该区域(例如,用于yuv4:2:0画面)中的一个或多个mv值与mv阈值。可替代地,以某个其他方式,编码工具可以评估该区域的改变程度。

当其评估区域的改变程度时,编码工具可以将其中区域对于低色度分辨率版本不变的画面的计数与阈值计数进行比较。因此,编码器可以确定区域对于最后3个画面、5个画面、10个画面或其他数目个画面是否不变。

作为另一示例,对于该区域的另一属性,编码工具评估用于该区域的编码数据的质量是否满足阈值质量水平。为了评估区域中的编码数据的质量,编码工具可以将该区域(例如,用于其中该区域被编码的最近的先前画面的低色度分辨率版本)中的一个或多个qp值与qp阈值进行比较。如果qp值处于或低于qp阈值,则用于该区域的编码数据满足阈值质量水平。否则,用于该区域的编码数据不能满足阈值质量水平。可替代地,以某个其他方式,编码工具可以评估用于该区域的编码数据的质量是否满足阈值质量水平。

作为另一示例,对于该区域的另一个属性,编码工具对该区域中的内容进行分类。例如,编码工具将该区域中的内容分类为文本内容或非文本内容。或者,编码工具将该区域中的内容分类为高色度内容(其中与取决于实现方式的显著性阈值相比较,色度采样值具有显著性)或低色度内容(其中与显著性阈值相比较,色度采样值不具有显著性)。可替代地,以某个其他方式,编码工具可以对该区域中的内容进行分类。

对于yuv4:2:0子序列和/或uuv4:2:0子序列,可以组合地考虑该区域的各种属性。例如,编码工具应用第xi.a节中描述的判定规则集合中的一个判定规则。

回到图21,编码工具可以针对一个或多个其他输入画面中的每个输入画面来重复技术(2100)。在一些情况下,第二编码画面可能被丢弃(因此不被编码),使得没有输出用于第二编码画面的编码数据。还有,可以用零运动来跳过第一编码画面或第二编码画面(或其区域),使得没有输出用于编码画面(或区域)的编码数据,并且编码画面(或区域)根据子序列中的先前编码画面重复。因此,当对来自输入画面的第一编码画面和第二编码画面进行编码时,编码工具可以没有产生用于任何第一编码画面的编码数据,或可以产生用于第一编码画面的一些区域的编码数据,或者可以产生用于所有第一编码画面的编码数据,并且编码工具可以没有产生用于任何第二编码画面的编码数据,或可以产生用于第二编码画面的一些区域的编码数据,或者可以产生用于所有第二编码画面的编码数据。

xii.滤波色度采样值

本节呈现了在输出画面的高色度分辨率区域内和周围进行滤波的领域中的创新。例如,本节描述了将恢复滤波器应用于输出画面的高色度分辨率区域的方法,其补偿先前在色度子采样期间执行的抗混叠滤波,但跳过将恢复滤波器应用于输出画面的低色度分辨率区域。该节还描述了将去块滤波器应用于输出画面的色度采样值的方法,其可以通过减轻低色度分辨率区域和高色度分辨率区域之间的边界处的可感知伪像来提高视觉质量。最后,本节描述了将去振铃滤波器应用于输出画面的色度采样值的方法,其可以通过减轻由于高色度分辨率细节的低质量编码而导致的可感知伪像来提高视觉质量。

a.抗混叠滤波器和对应的恢复滤波器

较高分辨率色度采样格式的帧的色度采样值的简单子采样可以在下采样的色度采样值中引入混叠伪像。为了减轻混叠,封包(见第viii节)可以包括滤波色度采样值的操作。这种滤波可以被称为抗混叠滤波。对应的解包可以包括恢复操作以补偿色度采样值的抗混叠滤波。本节描述了抗混叠滤波和恢复滤波操作的示例。

当yuv4:4:4画面被拆分为采用yuv4:2:0格式的两个画面(即,如viii节所解释的,拆分为yuv4:2:0画面和uuv4:2:0画面),抗混叠滤波可以当仅yuv4:2:0画面被用于显示时帮助提高质量。这可以准许解码器忽略uuv4:2:0画面,而不会带来由色度信息的简单子采样引起的混叠伪像的风险。在没有抗混叠滤波的情况下(即,当通过对来自yuv4:4:4画面的色度采样值的直接子采样获得用于yuv4:2:0画面的色度采样值时),当只有yuv4:2:0画面用来生成输出时,可以在一些内容上看到混叠伪像(例如,cleartype文本内容的浓度失真)。另一方面,当解码器组合uuv4:2:0画面和yuv4:2:0画面时,解码器可以执行恢复滤波操作作为解包的一部分,以根据(yuv4:2:0画面的)经滤波的色度采样值和(uuv4:2:0画面的)其他色度采样值恢复用于yuv4:4:4画面的原始色度采样值(由于有损压缩而有限度地近似)。

在一些示例实现方式中,抗混叠滤波操作和恢复滤波操作受到限制,使得它们仅影响yuv4:2:0画面的一部分的色度采样值。也就是说,经滤波的采样值是yuv4:2:0画面的色度分量的一部分,并且uuv4:2:0画面的一部分的采样值不被滤波。

滤波操作的细节可以取决于色度采样位置类型(指示色度采样网格与亮度采样网格对准)。在色度子采样期间可以使用许多不同类型的滤波器。对于给定的色度采样位置类型,如果色度采样值与特定方向(水平或垂直)的亮度采样值对准,则奇数抽头对称滤波器(诸如[121]/4或[0.250.50.25],以及舍入操作)用于在该方向上滤波色度。另一方面,如果色度采样值与特定方向(水平或垂直)的亮度采样值不对齐,并且色度采样网格位置在特定方向(水平/垂直)的亮度采样位置之间居中,则偶数抽头对称滤波器(通常为[11]/2或[0.50.5],以及舍入操作)用来在该方向上滤波色度。后一种情况的另一种可能的滤波器选择是[1331]/8或[0.1250.3750.3750.125],以及舍入操作。本节稍后提出的示例使用偶数抽头对称滤波器,但是可替代地,可以使用奇数抽头对称滤波器或其他滤波器。

通常选择进行恢复滤波操作,使得恢复滤波操作补偿抗混叠滤波操作。如下文所解释的,在一些情况下,恢复滤波直接反转抗混叠滤波,而在其他情况下,恢复滤波仅近似反转抗混叠滤波。

在图22a和图22b中,在抗混叠滤波之后,色度采样值与在水平或垂直方向上的亮度采样值不对准,因此滤波器[0.50.5]在水平方向和垂直方向上均被应用于抗混叠滤波。图22a示出了应用在四个位置处使用色度采样值的抗混叠滤波器和对应的恢复滤波器的处理流程(2201)。图22b示出了应用在三个位置处使用色度采样值的备选抗混叠滤波器和对应的恢复滤波器的处理流程(2202)。

图22a示出了来自yuv4:4:4画面的u444信道的四个色度采样值u0、u1、u2和u3。四个色度采样值的位置为u0=u444(2x,2y)、u1=u444(2x+1,2y)、u2=u444(2x,2y+1)、u3=u444(2x+1,2y+1)。作为封包操作的一部分,抗混叠滤波器被应用以确定将替换yuv4:2:0画面中的u0的经滤波的像素值。由于这种滤波,来自yuv4:4:4画面的在位置u444(2x,2y)处的采样值u0不直接表示在yuv4:2:0画面中;作为代替,在yuv4:2:0画面中的对应位置处分配经滤波的采样值uf。yuv4:4:4画面中的分别在位置u444(2x+1,2y)、u444(2x,2y+1)以及u444(2x+1,2y+1)处的色度采样值u1,u2和u3仍然直接表示在uuv4:2:0画面中。

一般而言,对于抗混叠滤波操作,可以针对不同的采样位置分配不同的权重。用于yuv4:4:4画面的位置u444(2x,2y)的经滤波的采样值uf可以生成如下:

uf444(2x,2y)=(α*u444(2x,2y)+β*u444(2x+1,2y)+γ*u444(2x,2y+1)+δ*u444(2x+1,2y+1))/(α+β+γ+δ),

其中对于yuv4∶4∶4画面的宽度w和高度h,(x,y)的范围是其中α、β、γ以及δ是取决于实现方式的加权因子。如果加权因子全部等于1,则经滤波的采样值uf简单地是uf444(2x,2y)=(u444(2x,2y)+u444(2x+1,2y)+u444(2x,2y+1)+u444(2x+1,2y+1))/4,

或者是u0、u1、u2以及u3的平均值。否则,如果因子α、β、γ以及δ中的任一个具有相同的值,则可以消除某些乘法运算。

在没有量化误差、舍入误差等的情况下,可以通过直接反转在抗混叠滤波中执行的操作来完美地重构原始采样值u0。然而,当考虑量化误差时,为了减少可感知伪像,使用小于1的β、γ以及δ的值可能是可取的。一般而言,β、γ以及δ应该在0.0至1.0的范围内,并且当量化步长较大时,β、γ以及δ应当更小。使用β、γ以及δ的高值可能会加重由于有损压缩而引入的伪像。α、β、γ以及δ的值可以使用互相关分析被设计用于有条件的最优化。

回到图22a,色度采样值被分离为被编码的编码画面(例如,yuv4∶2∶0画面和uuv4∶2∶0画面)。在传输之后,编码画面被解码(重构),然后解包成输出画面。重构采样值uf′、u1′、u2′和u3′是分别在位置u444(2x,2y)、u444(2x+1,2y)、u444(2x,2y+1)以及u444(2x+1,2y+1)处的yuv4∶4∶4画面的u444信道的重构色度采样值。(“′”标记指示从(可能有损)编码重构,其把量化、舍入等效果考虑在内)

作为解包过程的一部分,可以根据重构的滤波采样值uf′和其他重构的色度采样值u1′、u2′和u3′恢复色度采样值u0的重构版本u0′。用于yuv4∶4∶4画面的位置u444(2x,2y)的重构采样值u0′可以恢复如下:

u′444(2x,2y)=((α+β+γ+δ)*uf′444(2x,2y)-β*u′444(2x+1,2y)-γ*u′444(2x,2y+1)-δ*u′444(2x+1,2y+1))/α,

其中范围(x,y)是其中α、β、γ以及δ是取决于实现方式的加权因子。如果加权因子全部等于1,则重构的采样值u0′简单地是u′444(2x,2y)=4*uf′444(2x,2y)-u′444(2x+1,2y)-u′444(2x,2y+1)-u′444(2x+1,2y+1)。

例如,对于抗混叠滤波,用于位置(2x,2y)、(2x+1,2y)、(2x,2y+1)以及(2x+1,2y+1)的色度采样值29,23,27和10用权重值α=β=γ=δ=1进行滤波,以产生色度采样值22.25,其被舍入为22。使用经滤波的色度采样值22代替原始色度采样值29。在恢复滤波期间,用于位置(2x,2y)的采样值被重构为88-23-27-10=28。原始采样值(29)和重构采样值(28)之间的差异示出了由于抗混叠滤波而导致的精度损失。

图22b示出了来自yuv4∶4∶4画面的u444信道的相同的四个色度采样值u0、u1、u2以及u3。图22b所示的处理流程反应了图22a所示的处理流程,但是应用了不同的抗混叠滤波器和恢复滤波器。在图22b中,抗混叠滤波器和恢复滤波器在三个位置处使用色度采样值,其当边缘穿过色度采样值u0、u1以及u2但不包括u3时,可以提供更好的平滑质量。

作为封包操作的一部分,在图22b所示的方法中,用于yuv4∶4∶4画面的位置u444(2x,2y)的经滤波采样值uf可以根据如下方式生成:uf444(2x,2y)=(α*u444(2x,2y)+β*u444(2x+1,2y)+γ*u444(2x,2y+1))/(α+β+γ),

其中对于yuv4∶4∶4画面的宽度w和高度h,(x,y)的范围是其中α、β以及γ是取决于实现方式的加权因子。如果加权因子全部等于1,则经滤波的采样值uf简单地是uf444(2x,2y)=(u444(2x,2y)+u444(2x+1,2y)+u444(2x,2y+1))/3

,或者是u0、u1以及u2的平均值。参考图22a对加权因子α、β以及γ的值的选项进行描述。

作为解包过程的一部分,可以从重构的滤波采样值uf′和其他重构的色度采样值u1′和u2′恢复色度采样值u0的重构版本u0′。用于yuv4∶4∶4画面的位置u444(2x,2y)的重构采样值u0′可以恢复如下:

u′444(2x,2y)=((α+β+γ)*uf′444(2x,2y)-β*u′444(2x+1,2y)-γ*u′444(2x,2y+1))/α,

其中(x,y)的范围是其中α、β以及γ是取决于实现方式的加权因子。如果加权因子全部等于1,则重构采样值u0′简单地是u′444(2x,2y)=3*uf′444(2x,2y)-u′444(2x+1,2y)-u′444(2x,2y+1)。

例如,对于抗混叠滤波,用于位置(2x,2y)、(2x+1,2y)以及(2x,2y+1)的色度采样值29,23和27用权重值α=β=γ=1进行滤波,以产生色度采样值26.33,其被舍入为26。使用经滤波的色度采样值26代替原始色度采样值29。在恢复滤波期间,用于位置(2x,2y)的采样值被重构为78-23-27=28。原始采样值(29)和重构采样值(28)之间的差异示出了由于抗混叠滤波的滤波而导致的精度损失。然而,注意,由于异常值采样值u3的贡献被忽略,所以具有图22b的三位置滤波器的滤波值(26)与具有图22a的四位置滤波器的滤波值(22)相比与原始采样值(29)更为接近。

图22b所示的三位置滤波器22b可以以“边缘感知”的方式选择性地应用。如图22c所示,在封包操作期间,编码工具可以检查指示是否应用三位置抗混叠滤波器或四位置抗混叠滤波器的条件。例如,编码工具检查(2210)u1+u2-2*u3的绝对值是否大于阈值,其中阈值取决于实现方式(例如,0、10或20)。如果是,则编码工具应用(2230)图22b所示的三位置抗混叠滤波器。否则,编码工具应用(2220)图22a所示的四位置抗混叠滤波器。阈值的值可以在实验中确定。一般而言,具有较高阈值使得不太可能应用三位置滤波器。

如图22d所示,在对应的解包操作期间,解码工具可以检查指示是否应用三位置恢复滤波器或四位置恢复滤波器的条件。例如,解码工具检查(2240)u1'+u2'-2*u3'的绝对值是否大于阈值,其中阈值取决于实现方式(例如,0、10或20)。如果是,则解码工具(2260)应用图22b所示的三位置恢复滤波器。否则,解码工具(2250)应用图22a所示的四位置恢复滤波器。通常,编码工具(基于原始值u1、u2和u3做出判定)和解码工具(基于重构值u1'、u2'和u3'做出判定)做出相同的判定,但是由于原始值和重构值之间的差异,所以会对一些色度采样值做出不相同的判定。不相同的判定可能会轻微地影响质量,但不影响后续解码。可替代地,编码工具可以用信号通知指示应用哪个恢复滤波器的信息。

尽管图22a至图22d示出了来自yuv4:4:4画面的u444信道的色度采样值,但是可以以相同的方式对来自yuv4:4:4画面的v444信道的色度采样值进行滤波和重构。

可替代地,封包和解包期间的滤波操作不限于作为yuv4:2:0画面的一部分的yuv4:4:4画面的色度采样值。作为代替,对作为uuv4:2:0画面的一部分的yuv4:4:4画面的色度采样值也执行滤波操作。这样的附加滤波操作可以使用与作为yuv4:2:0画面的一部分的yuv4:4:4画面的色度采样值的抗混叠和恢复滤波不同的操作。

在前述抗混叠滤波操作和恢复滤波操作的示例中,在抗混叠滤波期间使用平均滤波,并且在恢复期间使用对应的滤波。可替代地,抗混叠滤波操作和恢复滤波操作可以实现变换/逆变换对。例如,变换/逆变换对可以是小波变换类、提升变换和其他变换中的一个变换。具体变换还可以根据使用案例场景进行设计。或者,抗混叠滤波和恢复滤波可以使用其他滤波器结构,其具有其他滤波器支持区域或其他滤波器抽头,或使用相对于内容和/或保真度自适应(例如,相对于用于编码的量化步长自适应)的滤波。因此,对于本申请中呈现的示例,第一编码画面和第二编码画面的采样值可以是像素位置处的小波系数或值。可以通过比特移位运算实现二进制乘法和除法运算。可以跳过归一化(例如,如下一段所描述的,当编码画面具有较高采样比特深度时)或延迟直至最后阶段。关于这些选项和其他滤波选项的附加详情请参见美国专利公开号2014/0112394a1。

在一些示例实现方式中,编码画面的表示和/或压缩可以使用比输入画面更高的采样比特深度。例如,输入画面的采样比特深度为每个采样8个比特,编码画面的采样比特深度为每个采样10个比特。这可以帮助减少应用抗混叠滤波操作和恢复滤波操作期间的精度损失。或者,当编码画面使用有损压缩编码时,这可以帮助实现更高的保真度水平。例如,如果输入画面的采样比特深度为每个采样8个比特,并且编码画面的采样比特深度为每个采样10个比特,则可以在编码器和解码器的所有或大多数内部模块中维持每个采样10个比特的比特深度。如果需要,则在解包内容以在接收端处输出画面之后,采样比特深度可以减少到每个采样8个比特。更一般地,输入画面格式的输入画面的采样值可以具有第一比特深度(诸如每个采样8个比特、10个比特、12个比特、或16个比特),而编码画面格式的编码画面的采样值(解包操作之后)具有高于第一比特深度的第二比特深度。因此,对于本申请中呈现的示例,第一编码画面和第二编码画面的采样值可以具有不同的比特深度。

b.在高色度分辨率区域中选择性地应用恢复滤波器

根据本节中所描述的方法,视频处理工具在输出画面的高色度分辨率区域中应用恢复滤波器,但是跳过在输出画面的低色度分辨率区域中应用恢复滤波器。这样,视频处理工具可以选择性地补偿先前在色度次采样期间执行的抗混叠滤波。这允许视频处理工具在执行4:4:4颜色转换的之前或同时,在高色度分辨率区域中应用恢复滤波器,以从输入画面中恢复原始色度采样值(在量化误差、舍入误差等内)。另一方面,对于低色度分辨率区域,对于常规的4:2:0颜色转换,视频处理工具可以不应用恢复滤波器。

图23图示了用于在输出画面的一个或多个高色度分辨率区域中选择性地应用恢复滤波器的一般的技术(2300)。诸如参考图5描述的解码器系统(500)之类的视频解码工具或另一解码工具可以执行该技术(2300)。

解码工具接收(2310)编码数据并且解码(2320)根据第一编码画面格式和第二编码画面格式(其可以是相同的编码画面格式或不同的编码画面格式)组织的第一编码画面和第二编码画面。第一编码画面包含用于输出画面的低色度分辨率版本的采样值。第二编码画面包含用于输出画面的高色度分辨率细节的采样值。

解码工具将第一编码画面和第二编码画面的采样值解包成(2230)根据输出画面格式组织的输出画面。例如,解码工具反转参考图8a至图8e所描述的方法中的任一方法或另一方法来解包来自第一编码画面和第二编码画面的采样值。在一些情况下,第二编码画面仅包括用于该编码画面的一部分(例如,用于编码画面的一个或多个区域,而非编码画面的所有区域)的采样值,其影响了哪些采样值在解包期间被重排。特别地,根据图23所示的技术(2300),输出画面的高色度分辨率区域取决于第一编码画面和第二编码画面,但输出画面的低色度分辨率区域仅取决于第一编码画面。也就是说,第二编码画面包括用于高色度分辨率区域的采样值,但不包括用于低色度分辨率区域的采样值。

作为解包(2330)的一部分,解码工具将恢复滤波器应用于高色度分辨率区域的多个色度采样值。例如,对于给定的色度采样值(在用于高色度分辨率区域的色度采样值之中),对于输出画面中的给定位置,解码工具基于给定色度采样值和输出画面中相邻位置处的其他色度采样值来恢复给定位置处的原始色度采样值的重构。其他色度采样值可以是三个色度采样值(例如,对于参考图22a描述的四位置恢复滤波器)、两个色度采样值(例如,对于参考图22b所描述的三位置恢复滤波器)、或一些其他数目个色度采样值。或者,解码工具可以在两个或多个恢复滤波器之间切换。例如,对于给定色度采样值,解码工具评估取决于相邻位置处的其他色度采样值的条件,并且根据评估结果,在使用其他色度采样值中的三个色度采样值(如图22a所示)或使用其他色度采样值中的两个色度采样值(如图22b所示)之间进行选择,以调整给定的色度采样值。可替代地,解码工具将另一恢复滤波器应用于高色度分辨率区域的色度采样值。

作为解包(2330)的一部分,解码工具跳过将恢复滤波器应用于低色度分辨率区域的多个色度采样值。代替应用恢复滤波器,解码工具可以将低通滤波器应用于低色度分辨率区域的色度采样值。例如,使用低通滤波器,解码工具通过在来自第一编码画面的重构色度采样值之间进行插值来生成输出画面中的位置的色度采样值(代替缺失的高色度分辨率细节)。

解码工具可以针对一个或多个其他输出画面中的每个输出画面来重复该技术(2300)。在一些情况下,第二编码画面可能已经被丢弃(因此不被编码),使得没有接收到或解码用于第二编码画面的编码数据,在这种情况下,没有应用恢复滤波器。

可替代地,即使当执行抗混叠滤波时,解码工具还可以选择性地跳过用于高色度分辨率区域的恢复滤波操作。例如,解码工具可以跳过恢复滤波以减少解码和回放的计算量。

c.将去块滤波器应用于低色度分辨率区域和高色度分辨率区域之间的边界

当输出画面包括高色度分辨率区域和低色度分辨率区域时,两个区域之间可能存在明显的不连续性。不连续性可以是两个区域之间的尖锐边缘或接缝,其在输出画面的平滑区域或逐渐改变的区域中可能特别明显。去块滤波器可以使用低通滤波来平滑不连续性。

根据本节中所描述的方法,视频处理工具将去块滤波器应用于输出画面中的低色度分辨率区域和高色度分辨率区域之间的边界处的色度采样值。应用去块滤波器可以通过减轻边界处的压缩伪像来提高视觉质量。例如,去块滤波器混合边界的不同侧上的采样值以平滑边界处可感知的人为的不连续性。

图24图示了在输出画面(2401)的低色度分辨率区域和高色度分辨率区域之间的边界处进行去块滤波的各方面。输出画面(2401)包括具有低色度分辨率的两个区域(2410,2440)和具有高色度分辨率的两个区域(2420,2430)。水平边界(2421)将一个低色度分辨率区域(2440)和相邻的高色度分辨率区域(2420)分开。另一水平边界(2431)将另一个低色度分辨率区域(2410)和相邻的高色度分辨率区域(2430)分开。两个垂直边界(2422,2432)分离低色度分辨率区域(2410,2440)和相邻的高色度分辨率区域(2420,2430)。

对于给定垂直边界(2422,2432),视频处理工具将去块滤波应用于跨垂直边界(2422,2432)的色度采样值的一个或多个(水平)行。对于给定的水平边界(2421,2431),视频处理工具将去块滤波应用于跨水平边界(2421,2431)的色度采样值的一个或多个(垂直)行。去块滤波器可以是指定用于环内滤波或后处理的标准(诸如h.264、h.265或vc-1)或专有格式(诸如vp8或vp9)的去块滤波器,或它可以是另一去块滤波器。

去块滤波器在不适当地使用时会引入明显的模糊。自适应去块滤波器可以改变应用去块滤波器的方式和时机,以便使除去人为的不连续性的趋势和防止引入不想要的模糊的趋势保持平衡。通常,去块滤波器是内容自适应的。取决于跨越边界的给定行中的某些采样值的值(和/或围绕滤波位置的其他局部信息),去块滤波器可以被应用或不被应用于给定行中的色度采样值。例如,视频处理工具可以执行去块滤波以平滑在平滑或相对平滑的行的色度采样值中看上去是(基于采样值)人为的不连续性。然而,对于看上去是(基于采样值)画面的内容中的真实的边缘的不连续性,视频处理工具可以跳过去块滤波。还有,根据跨边界的给定行中的某些采样值的值(和/或滤波位置周围的其他本地信息),作为应用于给定行中的色度采样值的去块滤波器的强度可能会改变(例如,通过改变滤波器的滤波器系数或者改变有多少个色度采样值被滤波)。

视频处理工具可以自动地在输出画面中的低色度分辨率区域和高色度分辨率区域之间的边界上使用去块滤波。或者,可以通过设置(例如,用户设置或应用设置)来控制去块滤波的使用(或强度)。或者,可以使用在比特流中作为元数据被用信号通知的一个或多个语法元素(所谓的“滤波提示”)来指定去块滤波的使用(或强度)。

图25图示了用于在输出画面的低色度分辨率区域和高色度分辨率区域之间的一个或多个边界处应用去块滤波器的一般的技术(2500)。诸如参考图5所描述的解码器系统(500)之类的视频解码工具或另一解码工具可以执行该技术(2500)。

解码工具接收(2510)编码数据并且解码(2520)根据第一编码画面格式和第二编码画面格式(其可以是相同的编码画面格式或不同的编码画面格式)组织的第一编码画面和第二编码画面。第一编码画面包含用于输出画面的低色度分辨率版本的采样值。第二编码画面包含用于输出画面的高色度分辨率细节的采样值。

解码工具将第一编码画面和第二编码画面的采样值解包成(2530)根据输出画面格式组织的输出画面。例如,解码工具反转参考图8a至图8e所描述的方法中的任一方法或另一方法来解包来自第一编码画面和第二编码画面的采样值。在一些情况下,第二编码画面仅包括用于该编码画面的一部分(例如,用于编码画面的一个或多个区域,而非编码画面的所有区域)的采样值,其影响了哪些采样值在解包期间被重排。特别地,根据图25所示的技术(2500),输出画面的高色度分辨率区域取决于第一编码画面和第二编码画面,但输出画面的低色度分辨率区域仅取决于第一编码画面。也就是说,第二编码画面包括用于高色度分辨率区域的采样值,但不包括用于低色度分辨率区域的采样值。

解码工具将去块滤波器应用(2540)于沿着输出画面的高色度分辨率区域和低色度分辨率区域之间的边界的至少一些采样值。例如,解码工具应用上文所列出的去块滤波器中的一个去块滤波器。可替代地,解码工具应用另一去块滤波器。对于非自适应滤波器,在跨边界的多个多色度采样值行中的每个行,在边界的每一侧上,解码工具调整该行中的多个色度采样值中的一个或多个色度采样值。或者,对于自适应去块滤波器,在跨边界的多个多色度采样值行中的每个行,解码工具(1)评估取决于该行中的至少一些采样值的条件(例如,亮度采样值和/或色度采样值);以及(2)根据评估结果,在边界的每一侧上,调整该行中的多个色度采样值中的一个或多个色度采样值。

解码工具可以针对一个或多个其他输出画面中的每个输出画面来重复该技术(2500)。在一些情况下,第二编码画面可能已被丢弃(因此不被编码),使得没有接收到或解码用于第二编码画面的编码数据,在这种情况下,去块滤波器没有被应用于高色度分辨率区域的任何边界。

可替代地,解码工具可以在后处理期间选择性地跳过去块滤波操作。例如,解码工具可以在后处理期间跳过去块滤波以减少解码和回放的计算量,或者如由比特流中的滤波提示所指定的那样。

d.将去振铃滤波器应用于高色度分辨率区域

当输出画面包括高色度分辨率区域时,用于该区域的高色度分辨率细节可以以比用于该区域的低色度分辨率细节更低的质量(例如,较高的量化参数值)进行编码。在这种情况下,由于高色度分辨率细节的低编码质量,所以高色度分辨率区域可能包括振铃伪像、高频噪声或其他明显失真。例如,当来自高质量yuv4:2:0画面的采样值由来自低质量uuv4:2:0画面的采样值组成时,在高色度分辨率区域中可能会出现振铃伪像。振铃伪像可以被观察为在重构内容中的实际边缘周围的微弱的重复边缘。这种振铃伪像可能是由于高频系数的量化造成的。在极端情况下,与仅使用yuv4:2:0画面构建的区域相比,失真可能甚至更严重。

可以使用去振铃滤波器保留内容中的实际边缘,并且消除边缘周围的振铃伪像,但是当不适当地使用时可能会模糊边缘。去振铃滤波器可以是自适应边缘保留滤波器,其基于重构内容中的边缘检测来改变滤波器模式和滤波器强度。例如,去振铃滤波器可以基于利用马尔可夫随机场的边缘保留最大后验(“map”)估计,但是这种去振铃滤波器倾向于具有高的计算成本。去振铃滤波器的其他示例如下所述。

根据本节中所描述的方法,视频处理工具将去振铃滤波器选择性地应用于输出画面的高色度分辨率区域中的色度采样值。应用去振铃滤波器可以通过减轻由于高色度分辨率细节的低质量编码而导致的压缩伪像来提高视觉质量。

图26图示了用于输出画面的区域中的自适应去振铃滤波的技术(2600)。诸如参考图5所描述的解码器系统(500)之类的视频解码工具或另一个解码工具可以执行该技术(2600)。

对于输出画面的给定区域,解码工具检查(2610)该区域是否是高色度分辨率区域。如果是,则解码工具继续检查(2620)该区域是否由用于该区域的高质量低色度分辨率版本以及用于该区域的低质量高色度分辨率细节组成。可替代地,解码工具检查一些其他条件。如果条件满足,则解码工具将去振铃滤波器应用(2630)于该区域中。去振铃滤波器可以基于用于后处理的标准(诸如vc-1)或专有格式中指定的去振铃滤波器,或者可以是另一去振铃滤波器。通常,去振铃滤波器是内容自适应的。

对于在图26中检查(2620)的条件,与来自用于区域的低质量高色度分辨率细节的采样值相比,选择性地应用的去振铃滤波器对来自用于该区域的高质量低色度分辨率细节的色度采样值进行更重地加权。例如,与来自第二编码画面(高色度分辨率细节)的采样值相比,去振铃滤波器对取决于第一编码画面(低色度分辨率版本)的采样值进行更重地加权。这可以通过有效地使用来自第二编码画面的色度采样值来改善而非替代从第一编码画面导出的近似高分辨率色度采样值来改善视觉质量。

图27a至图27d图示了用于输出画面的高色度分辨率区域的这种去振铃滤波器的示例。图27a至图27d示出了带有具有滤波器抽头的3×3滤波器核的去振铃滤波器,该滤波器抽头根据核在输出画面中的位置而变化,尽管归一化因子(等于16)不变。总的来说,滤波器抽头在具有使用来自第一编码画面的值恢复的色度采样值的位置处更高。图27a至图27d所示的色度采样值包括使用来自第一编码画面的值恢复的重构色度采样值(示为u0')以及来自第二编码画面的重构色度采样值(示为u1'、u2'、u3')。

图27a示出了用于滤波器核的第一位置(2701)。对于第一位置(2701),核包括使用来自第一编码画面的值恢复的四个色度采样值u0'。中心色度采样值具有最高的权重(4),但是四个u0'值具有次高的权重(2)。

图27b示出了用于滤波器核的第二位置(2702)。对于第二位置(2702),核包括具有最高权重(4)的两个恢复色度采样值u0'。中心色度采样值具有次高的权重(2)。图27c示出了用于滤波器核的第三位置(2703)。对于第三位置(2703),滤波器抽头与第二位置(2702)相同但被旋转。

图27d示出了用于滤波器核的第四位置(2704)。对于第四位置(2704),核包括具有最高权重(4)的单个恢复色度采样值u0'。四个相邻色度采样值具有次高的权重(2)。

视频处理工具可以自动地在输出画面中的高色度分辨率区域中使用去振铃滤波。或者,可以通过设置(例如,用户设置或应用设置)来控制去振铃滤波的使用(或强度)。或者,可以用在比特流中作为元数据被用信号通知的一个或多个语法元素(所谓的“滤波提示”)来指定去振铃滤波的使用(或强度)。

图28图示了用于在输出画面的高色度分辨率区域中应用去振铃滤波器的一般的技术(2800)。诸如参考图5所描述的解码器系统(500)之类的视频解码工具或另一解码工具可以执行该技术(2800)。

解码工具接收(2810)编码数据并且解码(2820)根据第一编码画面格式和第二编码画面格式(其可以是相同的编码画面格式或不同的编码画面格式)组织的第一编码画面和第二编码画面。第一编码画面包含用于输出画面的低色度分辨率版本的采样值。第二编码画面包含用于输出画面的高色度分辨率细节的采样值。

解码工具将第一编码画面和第二编码画面的采样值解包成(2830)根据输出画面格式组织的输出画面。例如,解码工具反转参考图8a至图8e所描述的方法中的任一方法或另一方法来解包来自第一编码画面和第二编码画面的采样值。特别地,根据图28所示的技术(2800),输出画面的高色度分辨率区域取决于第一编码画面和第二编码画面。也就是说,第二编码画面包括高色度分辨率区域的采样值。

解码工具将去振铃滤波器(2840)应用于输出画面的高色度分辨率区域的至少一些采样值。例如,解码工具应用上文所列出的去振铃滤波器中的一个去振铃滤波器。可替代地,解码工具应用另一去振铃滤波器。相对于来自第二编码画面的高色度分辨率区域的那些采样值,去振铃滤波器可以强调取决于第一编码画面的高色度分辨率区域的那些采样值。当确定是否应用去振铃滤波器时,解码工具可以评估取决于用于高色度分辨率区域的第一编码画面的编码质量和用于高色度分辨率区域的第二编码画面的编码质量的条件,其中关于是否应用去振铃滤波器的判定取决于评估结果。可替代地,当确定是否应用去振铃滤波器时,解码工具可以评估一些其他条件。

解码工具可以针对一个或多个其他输出画面中的每个输出画面来重复该技术(2800)。在一些情况下,第二编码画面可能已被丢弃(因此不被编码),使得没有接收到或解码第二编码画面的编码数据,在这种情况下,去振铃滤波器没有应用于任何高色度分辨率区域。

可替代地,解码工具可以在后处理期间选择性地跳过去振铃滤波操作。例如,解码工具可以在后处理期间跳过去振铃滤波以减少解码和回放的计算量,或者如由比特流中的滤波提示所指定的那样。

e.备选方案和变型

对于在第xii.b、xii.c和xii.d节中描述的方法,编码数据可以作为一个比特流的一部分被接收。用于比特流的语法准许第一编码画面和/或第二编码画面缺少用于输出画面的至少一部分的编码采样值。如第ix节所描述的,第一编码画面和第二编码画面可以被解码为编码画面的不同子序列的一部分。当用零运动来跳过编码画面(或其区域)时,使得没有接收到编码画面(或区域)的编码数据,编码画面(或区域)可以通过根据先前编码画面重复来解码。因此,当用于输出画面的第一编码画面和第二编码画面被解码时,解码工具可以不使用用于任何第一编码画面的编码数据,或可以使用用于第一编码画面的一些区域的编码数据,或者可以使用用于所有第一编码画面的编码数据,并且解码工具可以不使用用于任何第二编码画面的编码数据,或者可以使用用于第二编码画面的一些区域的编码数据,或者可以使用用于所有第二编码画面的编码数据。还有,如果已经用零运动来跳过编码画面(或其中的区域),则同一子序列中的先前编码画面(或相同位置区域)可以提供在合成输出画面时使用的采样值(用于当前编码画面或其区域)。

对于在第xii.b、xii.c和xii.d节中描述的方法,一般而言,输出画面格式具有第一色度采样率,并且第一编码画面格式和第二编码画面格式中的至少一个编码画面格式具有低于第一色度采样率的第二色度采样率。例如,第一色度采样率为4:4:4,第二色度采样率为4:2:0。可替代地,画面格式中的一个或多个画面格式具有某个其他色度采样率。

除了应用去块滤波器和/或去振铃滤波器作为后处理操作的一部分之外,视频处理工具还可以应用一个或多个其他类型的滤波器(例如,去噪滤波器)。

考虑到可以应用所公开的发明的原理的许多可能的实施例,应当认识到,所说明的实施例仅是本发明的优选实例,而不应被认为是限制本发明的范围。相反,本发明的范围由所附权利要求限定。因此,我们认为我们的发明都在这些权利要求的范围和精神之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1