首页 / 专利库 / 视听技术与设备 / 视频编码层 / 用于多层视频编码的速率控制方法和设备

用于多层视频编码的速率控制方法和设备

阅读:882发布:2020-05-30

专利汇可以提供用于多层视频编码的速率控制方法和设备专利检索,专利查询,专利分析的服务。并且一种用于多层 视频编码 的速率控制方法和设备。在用于多层视频编码的速率控制方法中,基于在第一层对输入的视频数据进行编码的结果产生编码统计信息。第二速率 控制器 基于编码统计信息和/或感兴趣区域(ROI)信息,产生将在第二层执行编码时使用的多个量化参数。基于编码统计信息和/或ROI信息确定将被分别分配给第二层的区域的目标比特数,基于目标比特数在第二层对输入的视频数据进行编码。,下面是用于多层视频编码的速率控制方法和设备专利的具体信息内容。

1.一种用于多层视频编码的速率控制方法,所述方法包括:
接收第一目标比特率和第二目标比特率;
基于第一目标比特率确定第一量化参数;
基于第一量化参数,在第一层对输入的视频数据进行编码;
基于在第一层对输入的视频数据进行编码的结果,产生编码统计信息;
基于编码统计信息,确定将分别被分配给第二层的区域的目标比特数;
基于第二目标比特率以及将被分配给第二层的区域的目标比特数,确定第二量化参数;
基于第二量化参数,在第二层对输入的视频数据进行编码。
2.如权利要求1所述的速率控制方法,其中,第二层的区域包括图像组、或宏中的至少一个。
3.如权利要求1所述的速率控制方法,其中,编码统计信息包括关于当在第一层以区域为单位执行编码时产生的比特数的信息。
4.如权利要求1所述的速率控制方法,其中,编码统计信息包括关于在第一层的编码期间以第一层的区域为单位计算的当前帧和预测帧的像素值之间的绝对差和的信息。
5.如权利要求1所述的速率控制方法,其中,编码统计信息包括关于以第一层的区域为单位计算的复杂度的信息。
6.如权利要求1所述的速率控制方法,其中,编码统计信息包括以下信息中的至少两个:
关于在第一层的编码期间以第一层的区域为单位产生的比特数的信息;
关于以第一层的区域为单位计算的当前帧和预测帧的像素值之间的绝对差和的信息;
关于以第一层的区域为单位计算的复杂度的信息。
7.如权利要求1所述的速率控制方法,其中,如果在第一层将被编码的视频数据的空间分辨率与在第二层将被编码的视频数据的空间分辨率不同,则基于为了控制编码的空间分辨率相同而对编码统计信息进行放大或缩小的结果,确定将被分配给第二层的区域的目标比特数。
8.如权利要求1所述的速率控制方法,其中,基于当对与第二层的当前宏块的位置相应的第一层的宏块进行编码时产生的比特数,确定将被分配给第二层的当前宏块的目标比特数。
9.如权利要求1所述的速率控制方法,其中,基于在与第二层的宏块匹配的第一层的宏块中计算的当前帧和预测帧的像素值之间的绝对差和,确定将被分别分配给第二层的宏块的目标比特数。
10.如权利要求1所述的速率控制方法,其中,基于以下信息确定将被分配给第二层的宏块的目标比特数:
当对与第二层的宏块匹配的第一层的宏块进行编码时产生的比特数;
在与第二层的宏块匹配的第一层的宏块中计算的像素值之间的绝对差和。
11.如权利要求1所述的速率控制方法,其中,基于关于以第一层的区域为单位计算的复杂度的信息和第一层的图像组的帧比特占用信息中的至少一个,确定将被分别分配给第二层的帧的目标比特数。
12.如权利要求1所述的速率控制方法,其中,在第二层对输入的视频数据进行编码的步骤包括:在第二层对输入的视频数据进行编码期间通过使用第二量化参数来执行量化。
13.如权利要求1所述的速率控制方法,其中,确定第二量化参数的步骤包括:基于第二目标比特率确定分配给第二层的区域的量化参数;通过根据分配给第二层的区域的目标比特数与在第二层的编码期间产生的比特数之间的差调整分配给第二层的区域的量化参数,来确定第二量化参数。
14.如权利要求1所述的速率控制方法,还包括:
产生关于输入的视频数据的感兴趣区域信息;
基于感兴趣区域信息,确定以第二层的区域为单位分配给输入的视频数据的量化参数。
15.一种用于多层视频编码的速率控制方法,所述方法包括:
基础层对源视频数据进行编码;
在增强层对源视频数据进行编码,
其中,在增强层对源视频数据进行编码的步骤包括:
基于根据对在基础层编码的源视频数据进行编码的结果产生的编码统计信息,确定将被分配给增强层的一个帧中的区域的目标比特数;
产生关于源视频数据的感兴趣区域信息;
基于感兴趣区域信息,确定将被分配给增强层的一个帧的多个区域的多个量化参数。
16.如权利要求15所述的速率控制方法,其中,确定所述多个量化参数的步骤包括:
基于感兴趣区域信息确定感兴趣区域中的第一量化参数,基于感兴趣区域信息确定非感兴趣区域中的第二量化参数,其中,第一量化参数和第二量化参数不同。
17.如权利要求15所述的速率控制方法,其中,使用以下信息中的至少一个来计算感兴趣区域信息:
图像的运动量;
图像复杂度;
像素的分布。
18.一种视频编码设备,包括:
第一速率控制器,接收第一目标比特率,基于第一目标比特率确定第一量化参数;
第一编码处理器,基于第一量化参数,在第一层对输入的视频数据进行编码,并被配置为基于在第一层对输入的视频数据进行编码的结果产生编码统计信息;
第二速率控制器,接收第二目标比特率,基于编码统计信息,确定将分别被分配给第二层的区域的目标比特数,并基于第二目标比特率以及将被分配给第二层的区域的目标比特数,确定第二量化参数;
第二编码处理器,基于第二量化参数,在第二层对输入的视频数据进行编码。
19.如权利要求18所述的视频编码设备,其中,编码统计信息包括以下信息中的至少一个:
关于当以第一层的区域为单位执行编码时产生的比特数的信息,
关于以第一层的区域为单位计算的当前帧和预测帧的像素值之间的绝对差和的信息,关于第一层的区域的复杂度的信息。
20.如权利要求18所述的视频编码设备,其中,比特数确定单元基于当对与第二层的宏块匹配的第一层的宏块进行编码时产生的比特数,确定将被分别分配给第二层的宏块的目标比特数。
21.如权利要求18所述的视频编码设备,其中,比特数确定单元基于在与第二层的宏块匹配的第一层的宏块中的当前帧和预测帧的像素值之间计算的绝对差和,确定将被分别分配给第二层的宏块的目标比特数。
22.如权利要求18所述的视频编码设备,其中,比特数确定单元基于以下信息中的至少一个来确定将被分别分配给第二层的宏块的目标比特数:
关于在第一层计算的第一层的区域的复杂度的信息,
第一层的图像组的帧比特占用信息。
23.如权利要求18所述的视频编码设备,还包括:感兴趣区域检测单元,检测输入的视频数据的感兴趣区域,并产生指示检测的感兴趣区域的感兴趣区域信息,其中,速率控制器基于感兴趣区域信息确定将被分配给第二层的区域的量化参数。
24.一种视频信号处理系统,包括:
多层编码器,在基础层和至少一个增强层对源视频数据进行编码;
发送器,经由有线或无线网络将由多层编码器编码的源视频数据发送到目标装置,其中,多层编码器基于根据对在基础层编码的源视频数据进行编码的结果产生的编码统计信息,确定将被分配给所述至少一个增强层的一个帧中的区域的目标比特数,其中,多层编码器基于关于源视频数据的感兴趣区域信息,确定将被分配给所述至少一个增强层的区域的量化参数。
25.一种视频编码设备,包括:
第一编码处理器,在第一层对输入的视频数据进行编码,并被配置为基于在第一层对输入的视频数据进行编码的结果产生编码统计信息;
缓冲器,存储编码统计信息;
第二速率控制器,基于编码统计信息产生每个当前宏块的第二量化参数用于在第二层进行编码。
26.如权利要求25所述的视频编码设备,还包括:第二编码处理器,通过使用第二量化参数在第二层对输入的视频数据进行编码。
27.如权利要求25所述的视频编码设备,还包括:第一速率控制器,产生第一量化参数以用于在第一层进行编码。

说明书全文

用于多层视频编码的速率控制方法和设备

[0001] 本申请要求于2012年6月1日在韩国知识产权局提交的10-2012-0059428号韩国专利申请的利益,该申请的公开通过引用全部合并于此。

技术领域

[0002] 本发明构思的一个或多个方面涉及一种信号处理设备和方法,更具体地说,涉及一种用于多层视频编码的速率控制方法以及使用所述速率控制方法的视频编码设备和视频信号处理系统。

背景技术

[0003] 视频压缩技术使视频数据能够基于在有限硬件操作环境中可用的预定网络带宽被压缩。
[0004] 由于网络环境各种各样,因此存在带宽可改变的网络环境。多层视频编解码器技术是一种为了满足针对可用带宽网络而压缩视频数据的需要而开发的压缩技术。

发明内容

[0005] 本发明构思的一方面提供了一种在多层视频编码期间防止图像质量恶化的控制比特率的技术。本发明构思的一方面提供一种用于多层视频编码的速率控制方法,所述用于多层视频编码的速率控制方法被执行以通过使用基于在较低层执行编码的结果产生的编码统计信息和/或感兴趣区域(ROI)信息,控制在较高层的比特率。第二速率控制器基于编码统计信息,产生将在第二(较高)层对多个区域执行编码时使用的多个第二量化参数。
[0006] 本发明构思还提供一种视频编码器,所述视频编码器用于通过使用基于在较低层执行编码的结果产生的编码统计信息和/或ROI信息,控制在较高层的比特率。在基础层产生的编码统计信息可包括以宏为单位计算的SAD值和以图像为单位计算的SAD值。
[0007] 本发明构思还提供一种视频信号处理系统,所述视频信息处理系统用于通过使用基于在较低层执行编码的结果产生的编码统计信息和/或ROI信息,对较高层执行编码。
[0008] 本发明构思还提供一种计算机可读记录介质,在所述计算机可读记录介质上记录用于执行用于多层视频编码的速率控制方法的计算机程序
[0009] 根据本发明构思的一方面,提供了一种用于多层视频编码的速率控制方法,所述方法包括:基于在第一层对输入的视频数据进行编码的结果,产生编码统计信息;基于编码统计信息,确定将分别被分配给第二层的区域的目标比特数;基于目标比特数,在第二层对输入的视频数据进行编码。
[0010] 第二层的区域可包括图像组(GOP)、或宏块中的至少一个。
[0011] 编码统计信息可包括关于当以第一层的区域为单位执行编码时产生的比特数的信息。
[0012] 编码统计信息可包括关于在第一层的编码期间以第一层为单位计算的当前帧和预测帧的像素值之间的绝对差和(SAD)的信息。
[0013] 编码统计信息可包括关于以第一层的区域为单位计算的复杂度的信息。
[0014] 编码统计信息可包括以下信息中的至少两个:关于在第一层的编码期间以第一层的区域为单位产生的比特数的信息、关于以第一层的区域为单位计算的当前帧和预测帧的像素值之间的绝对差和(SAD)的信息、和关于以第一层的区域为单位计算的复杂度的信息。
[0015] 如果在第一层被编码的视频数据的空间分辨率与在第二层的视频数据的空间分辨率不同,则基于为了控制编码的空间分辨率相同而对编码统计信息进行放大或缩小的结果,确定将被分配给第二层的区域的目标比特数。
[0016] 可基于当对与第二层的宏块的位置相应的第一层的宏块进行编码时产生的比特数,确定将被分别分配给第二层的当前宏块的目标比特数。
[0017] 可基于在与第二层的宏块匹配的第一层的宏块中计算的当前帧和预测帧的像素值之间的绝对差和(SAD),确定将被分别分配给第二层的宏块的目标比特数。
[0018] 可基于以下信息确定将被分配给第二层的宏块的目标比特数:当对与第二层的宏块匹配的第一层的宏块进行编码时产生的比特数以及在与第二层的宏块匹配的第一层的宏块中计算的像素值之间的绝对差和(SAD)。
[0019] 可基于关于以第一层的区域为单位计算的复杂度的信息和第一层的图像组(GOP)的帧比特占用信息中的至少一个,确定将被分别分配给第二层的帧的目标比特数。
[0020] 在第二层对输入的视频数据进行编码的步骤可包括:基于目标比特数确定量化参数,在第二层对输入的视频数据进行编码期间通过使用量化参数来执行量化。
[0021] 可通过根据分配给第二层的区域的目标比特数与在第二层的编码期间产生的比特数之间的差调整分配给第二层的区域的参数,来确定量化参数。
[0022] 所述速率控制方法还可包括:产生关于输入的视频数据的感兴趣区域(ROI)信息;基于ROI信息,确定以第二层的区域为单位分配给输入的视频数据的量化参数。
[0023] 根据本发明的另一方面,提供了一种用于多层视频编码的速率控制方法,所述方法包括:产生关于输入的视频数据的感兴趣区域(ROI)信息;基于ROI信息,确定将被分配给增强层的区域的量化参数,在感兴趣区域中和在非感兴趣区域中,基于ROI信息确定量化参数是不同的。
[0024] 可使用图像的运动量、图像复杂度和像素的分布中的至少一个来计算ROI信息。
[0025] 根据本发明的另一方面,提供了一种视频编码设备,包括:第一编码处理器,基于在第一层对输入的视频数据进行编码的结果产生编码统计信息;速率控制器,基于编码统计信息,产生将在第二层执行编码时使用的量化参数;第二编码处理器,通过使用量化参数在第二层对输入的视频数据进行编码。
[0026] 编码统计信息可包括以下信息中的至少一个:关于当以第一层的区域为单位执行编码时产生的比特数的信息、关于以第一层的区域为单位计算的当前帧和预测帧的像素值之间的绝对差和(SAD)的信息、和关于第一层的区域的复杂度的信息。
[0027] 速率控制器可包括:比特数确定单元,基于编码统计信息,确定将被分别分配给第二层的区域的目标比特数;量化参数产生单元,基于目标比特数与由第二编码处理器产生的比特数之间的差,产生量化参数。
[0028] 比特数确定单元可基于当对与第二层的宏块匹配的第一层的宏块进行编码时产生的比特数,确定将被分别分配给第二层的宏块的目标比特数。
[0029] 比特数确定单元可基于在与第二层的宏块匹配的第一层的宏块中计算的当前帧和预测帧的像素值之间的绝对差和(SAD),确定将被分别分配给第二层的宏块的目标比特数。
[0030] 比特数确定单元可基于以下信息中的至少一个来确定将被分别分配给第二层的宏块的目标比特数:关于在第一层计算的第一层的区域的复杂度的信息以及第一层的图像组(GOP)的帧比特占用信息。
[0031] 所述视频编码设备还可包括:感兴趣区域(ROI)检测单元,检测输入的视频数据的感兴趣区域,并产生指示检测的感兴趣区域的ROI信息,速率控制器可基于ROI信息确定将被分配给第二层的区域的量化参数。
[0032] 根据本发明的另一方面,提供了一种视频信号处理系统,包括:多层编码器,分别在基础层和至少一个增强层对源视频数据进行编码;发送器,经由有线或无线网络将由多层编码器编码的源视频数据发送到目标装置,其中,多层编码器基于根据对在基础层编码的源视频数据进行编码的结果产生的编码统计信息,确定将被分配给所述至少一个增强层的区域的目标比特数。
[0033] 多层编码器可基于关于源视频数据的感兴趣区域(ROI)信息,确定将被分配给所述至少一个增强层的区域的量化参数。
[0034] 以下,将参照附图更充分地描述本发明构思,其中,在附图中示出本发明的示例性实施例。提供这些实施例使得本公开将是彻底和完整的,并且这些实施例将充分地将本发明构思的范围传达给本领域的普通计算人员。然而,可以以许多不同的形式来实现本发明构思,并且本发明构思不应该被解释为受限于这里阐述的示例性实施例。对于本领域的普通技术人员将明显的是上述的示例性实施例将覆盖落入本发明构思的范围内的所有修改、等同物和可选择项。在整个附图中,相同的标号表示相同的元件。在附图中,为了清楚,层和区域的长度和尺寸可被夸大。
[0035] 这里使用的技术仅是为了描述特定实施例的目的,而不意图限制本发明。如这里所使用的,除非上下文明确地指示另外的情况,否则单数形式意图也包括复数形式。
[0036] 除非另有定义,否则这里使用的所有术语(包括技术和科学术语)具有如本发明所属领域的普通技术人员通常理解的相同意思。还将理解,术语(诸如在常用字典中定义的那些术语)应该被解释为具有与在相关领域的上下文中的意思一致的意思,并且除非这里明确地定义,否则将不以理想化或过于正式的意义来解释所述术语。
[0037] 如这里使用的,术语“和/或”包括关联列出的项中的一个或多个的任意组合和所有组合。当表达“…中的至少一个”在一列元件之后时,其用来修饰整列元件,而不是修饰列表中的单个元件。

附图说明

[0038] 从以下结合附图的详细描述中,本发明构思的示例性实施例将更清楚地被理解,其中:
[0039] 图1是根据本发明构思的示例性实施例的视频信号处理系统的框图
[0040] 图2是在图1中示出的源装置和目标装置的框图;
[0041] 图3是根据本发明构思的示例性实施例的多层编码器的框图;
[0042] 图4是根据本发明构思的示例性实施例的多层编码器的框图;
[0043] 图5是根据本发明构思的示例性实施例的多层编码器的框图;
[0044] 图6是根据本发明构思的示例性实施例的多层编码器的框图;
[0045] 图7是根据本发明构思的示例性实施例的多层编码器的框图;
[0046] 图8是根据本发明构思的示例性实施例的多层编码器的框图;
[0047] 图9是根据本发明构思的示例性实施例的感兴趣区域(ROI)检测单元的框图;
[0048] 图10是根据本发明构思的示例性实施例的ROI检测单元的框图;
[0049] 图11是根据本发明构思的示例性实施例的ROI检测单元的框图;
[0050] 图12是根据本发明构思的示例性实施例的包括在增强层编码器中的第二速率控制器的框图;
[0051] 图13是根据本发明构思的示例性实施例的包括在增强层编码器中的第二速率控制器的框图;
[0052] 图14是根据本发明构思的示例性实施例的包括在增强层编码器中的第二速率控制器的框图;
[0053] 图15是根据本发明构思的示例性实施例的多层编码器的详细框图;
[0054] 图16是根据本发明构思的示例性实施例的多层编码器的详细框图;
[0055] 图17A至图17C是示出根据本发明构思的实施例的由支持空间分级的多层编码器执行的通过使用基础层的编码统计信息来确定增强层的宏块的目标比特数的处理的概念图
[0056] 图18A至图18D是示出根据本发明构思的实施例的由支持质量分级的多层编码器执行的通过使用基础层的编码统计信息来确定增强层的宏块的目标比特数的处理的概念图;
[0057] 图19A和图19B是示出根据本发明构思的实施例的由多层编码器执行的通过使用基础层的编码统计信息来确定增强层的帧的目标比特数的处理的概念图;
[0058] 图20A至图20C是示出根据本发明构思的实施例的由支持质量分级的多层编码器执行的通过使用基础层的ROI信息来将量化参数分配给增强层的宏块的处理的概念图;
[0059] 图21A至图21D是示出根据本发明构思的实施例的由支持质量分级的多层编码器执行的通过使用基础层的ROI信息来将量化参数分配给增强层的宏块的处理的概念图;
[0060] 图22示出根据本发明构思的示例性实施例的通过使用ROI信息被分配给增强层的量化参数;
[0061] 图23是示出根据本发明构思的示例性实施例的用于多层视频编码的速率控制方法的流程图
[0062] 图24是示出根据本发明构思的示例性实施例的包括在用于多层视频编码的速率控制方法中的确定第二层的量化参数的操作的流程图;
[0063] 图25是示出根据本发明构思的示例性实施例的包括在用于多层视频编码的速率控制方法中的确定第二层的量化参数的操作的流程图;
[0064] 图26是示出根据本发明构思的示例性实施例的由视频编码设备执行的用于多层视频编码的速率控制方法的流程图;
[0065] 图27是根据本发明构思的示例性实施例的视频提供设备的框图;
[0066] 图28是根据本发明构思的示例性实施例的视频服务系统的框图。

具体实施方式

[0067] 图1是根据本发明构思的示例性实施例的视频信号处理系统100框图。参照图1,视频信号处理系统1000包括源装置100和目标装置200。
[0068] 虽然为了便于解释图1示出目标装置200被举例说明为单个目标装置,但是目标装置200可以是多个目标装置。
[0069] 源装置100从至少一个视频源获得数字视频内容,并对数字视频内容进行编码以将数字视频内容发送到目标装置200。例如,数字视频内容可被实时捕捉或可被预先记录。
[0070] 源装置100可包括发送器,所述发送器执行频率调制、滤波和放大以通过使用至少一根天线经由通信信道发送数字编码视频,或者源装置100可被连接到这样的发送器。
[0071] 为了分级,源装置100可支持多层编码。多层编码可包括例如分级编码。
[0072] 分级是指系统、网络或处理从通过压缩视频序列而获得的流中恢复具有不同的分辨率、帧率和图像质量的各种视频序列的能。因此,分级是指将一条视频数据编码为若干个比特流,并根据信道特性发送比特流。例如,如果一条视频数据被编码为三个比特流,则在信道特性很差时,仅发送具有最低质量级别的第一比特流,当信道特性改善时,发送第一比特流和质量级别比第一比特流的质量级别更高的第二比特流,当信道特性进一步改善时,发送第一比特流和第二比特流以及具有最高质量级别的第三比特流。
[0073] 支持多层编码的源装置100可对包括具有低分辨率或小尺寸的视频的基础层进行编码,还可对具有比基础层的分辨率更高的分辨率或比基础层的尺寸更大的尺寸的屏幕的增强层进行编码。基础层是被编码为将被独立解码(即,可在没有任何其它可用层的情况下被解码)的比特流,而增强层是用于改善包括在基础层中的比特流的比特流。例如,在增强层编码的数据可以是对在源数据的值和在基础层编码的数据的值之间的差进行精细编码的结果。
[0074] 源装置100可支持用于调整视频的分辨率的空间分级、用于调整视频的质量的质量分级和用于调整视频的帧率的时间分级。可根据使用空间分级、质量分级和时间分级的各种组合的多层编码来对视频数据进行编码。
[0075] 如上所述,源装置100可将源视频数据编码为基础层和至少一个增强层以支持多层编码。源装置100根据预先设定的用于基础层和至少一个增强层的标准来修改源视频数据,将修改的结果提供给基础层和至少一个增强层。具有基本质量级别的视频数据在基础层被编码,具有更高质量级别(高于基础层的质量级别)的视频数据在至少一个增强层被编码。
[0076] 例如,源装置100可根据基于ITU-T H.264/MPEG-4第10部分AVC标准的分级视频编码(SVC)在基础层上对源视频数据进行编码,并可如下描述在至少一个增强层对源视频数据进行编码。
[0077] 在本发明构思中提出的技术可被应用来执行针对符合H.264标准的装置的视频分级扩展。在本发明构思中提出的技术还可与H.264标准一起应用,与由组织开发的或由标准组织定义的其它视频编码标准一起应用,和/或与根据各种视频编码标准(例如,MPEG-1、MPEG-2、ITU-T H.263标准、运动图像和电视工程师协会(SMPTE)、高效视频编码(HEVC)和其它标准)定义的各种视频压缩标准一起应用。
[0078] 目标装置200可支持经由有线或无线网络接收编码视频数据。目标装置200可以是能够支持接收和解码数字视频数据的各种装置(例如,无线通信装置、移动电话、无线电话、无线广播系统、个人数字助理(PDA)、笔记本计算机、台式计算机、数码相机、数字记录装置、视频游戏装置和数字电视(TV))中的任何装置。
[0079] 目标装置200可根据上述的各种视频压缩标准中与在源装置100中采用的视频压缩标准相应的一个视频压缩标准来进行操作。
[0080] 源装置100和目标装置200可被实现为无线或有线通信装置。此外,源装置100和目标装置200可被实现为集成电路(IC)装置,例如,IC芯片或芯片组。有线/无线通信装置的示例包括数字媒体播放器、PDA、移动电话、数字TV和其它类型的能够支持数字视频应用的装置。
[0081] 图2是在图1的视频信号处理系统中示出的源装置100和目标装置200的框图。参照图2,源装置100包括视频源110、视频编码器120和发送器130。目标装置200包括接收器210、视频解码器220和显示装置230。
[0082] 视频源110可以是视频捕捉装置,例如,摄像机、视频内容供给装置、相机电话、视频电话、具有内置摄像头的移动电话等。
[0083] 视频编码器120从视频源110接收视频数据,并将接收到的视频数据编码为基础层比特流和至少一个增强层比特流。视频编码器120支持多层编码。
[0084] 参照图2,视频编码器120包括基础层编码器121、至少一个增强层编码器122和帧缓冲器123。
[0085] 基础层编码器121和增强层编码器122从视频源110接收视频数据。
[0086] 基础层编码器121通过按照第一比特率对视频数据进行编码来产生具有第一质量级别的视频的基础层比特流。随后,基础层编码器121基于在基础层执行编码的结果产生编码统计信息。例如,编码统计信息可包括以下信息中的至少一个:关于为以参考尺寸为单位在基础层执行编码而产生的比特数的信息、关于在基础层的编码期间以参考尺寸为单位计算的当前帧和预测帧之间的像素值之间的绝对差和(SAD)的信息、以及关于在基础层计算的关于参考尺寸的复杂度的信息。这里,可从图像组(GOP)、帧或宏块选择“参考尺寸”。
[0087] 基础层编码器121通过分析接收到的视频数据来产生感兴趣区域(ROI)信息。可通过布置在基础层编码器121外部的ROI检测单元来产生ROI信息。
[0088] 帧缓冲器123存储基于由基础层编码器121执行编码的结果而产生的编码统计信息。帧缓冲器123还可存储由基础层编码器121产生的ROI信息。帧缓冲器123还可存储由基础层编码器121根据H.264标准产生并由增强层编码器122使用以执行编码的信息。例如,帧缓冲器123可存储在基础层编码器121的编码处理期间产生的帧间/帧内预测信息、运动信息和残差信息。
[0089] 增强层编码器122可通过使用帧间/帧内预测信息、运动信息和残差信息执编码来提高压缩效率。此外,增强层编码器122通过使用由基础层编码器121产生的编码统计信息来执行速率控制。以下详细描述通过使用在基础层产生的编码统计信息在增强层中执行速率控制的操作。
[0090] 可通过对输入帧数据进行上采样下采样来实现空间分级。
[0091] 基础层编码器121和增强层编码器122中的每一个对每个帧的视频块执行帧内编码或帧间编码。
[0092] 通过空间预测执行帧内编码以减少或去除帧或宏块中的视频数据的空间冗余。在帧内编码中,基于包括在与将被编码的当前宏块相同的帧中的至少一个编码的宏块来形成空间预测的宏块。
[0093] 基础层编码器121通过使用包括在当前帧的基础层中的至少一个编码的宏块的像素值来执行插值(作为帧内编码的示例),来基于包括在当前帧中的至少一个编码的宏块产生预测块。
[0094] 增强层编码器122通过基于包括在当前帧中的至少一个编码的宏块执行帧间编码来产生预测块。例如,增强层编码器122可基于来自当前帧中的基础层和增强层的至少一个编码的宏块,来产生预测宏块。例如,增强层编码器122可通过使用来自基础层的至少一个编码的宏块的像素值和来自增强层的至少一个编码的宏块的像素值的加权和,来产生预测宏块。
[0095] 执行帧间编码来通过时间预测减少或去除视频序列的邻近帧中的时间冗余。在帧间编码中,基础层编码器121和增强层编码器122通过在两个或更多个邻近帧之间将宏块匹配为相似宏块来执行运动估计。在帧间预测中,基础层编码器121和增强层编码器122基于一个编码的单元在不同帧中的至少一个编码的宏块来产生时间预测的宏块。
[0096] 例如,基础层编码器121将当前宏块与至少一个邻近视频帧的宏块进行比较,并检测与当前宏块的匹配最接近的宏块。例如,可将在至少一个邻近视频帧的宏块中具有最小SAD的宏块确定为时间预测的宏块。
[0097] 例如,增强层编码器122将当前宏块与包括在基础层和/或增强层中所包括的至少一个邻近帧中的宏块进行比较。
[0098] 基础层编码器121和增强层编码器122中的每一个通过对宏块执行基于帧内的预测或基于帧间的预测来获得预测块并从原始宏块减去预测块,来产生残差宏块。“残差宏块”表示将被编码的当前宏块与预测宏块之间的差。
[0099] 基础层编码器121和增强层编码器122中的每一个通过执行变换、量化和熵编码来减少残差宏块的比特率。变换的示例包括离散余弦变换(DCT)、整数变换、小波变换、定向变换以及其它类型的变换。执行变换以将一组像素差值变换为在频域中表示像素差值的能量的残差变换系数。
[0100] 基础层编码器121和增强层编码器122中的每一个通过使用量化参数QP来对残差变换系数进行量化。对视频数据进行编码而产生的比特数根据量化参数QP而改变。例如,根据ITU-T H.264标准,量化参数QP越高,由于使用更少比特数来对视频数据进行编码,因此视频数据的质量越低,并且量化参数QP越低,由于使用更多的比特数来对视频数据进行编码,因此视频数据的质量越高。
[0101] 基础层编码器121基于以帧或宏块为单位初始设置的目标比特数和在基础层执行熵编码时产生的比特数,确定量化参数QP。
[0102] 此外,增强层编码器122基于由基础层编码器121产生的编码统计信息来确定以帧或宏块为单位的目标比特数,随后基于该目标比特数和基于在增强层执行熵编码时产生的比特数来确定量化参数QP。
[0103] 质量分级可通过残差量化来实现。例如,将视频数据编码为具有最低量化级别的基础层编码器121通过使用比增强层编码器122使用以对增强层的系数进行量化的量化参数QP(例如,QP-E)更大的量化参数QP(例如,QP-B)来对基础层的系数进行量化。
[0104] 此外,增强层编码器122基于关于由基础层编码器121产生的视频数据或在基础层编码器121之外产生的视频数据的ROI信息,确定量化参数QP(QP-E)。例如,在感兴趣区域中的量化参数QP(QP-E)可被确定为小于在非感兴趣区域中的量化参数QP。
[0105] 基础层编码器121和增强层编码器122中的每一个通过扫描二维(2D)残差宏块来产生一维(1D)系数矢量,并通过对1D系数矢量进行熵编码来显著压缩残差系数。熵编码的示例包括可变长编码(VLC)、算术编码、定长编码、上下文自适应VLC(CAVLC)、上下文自适应二进制算术编码(CABAC)。
[0106] 基础层编码器121和增强层编码器122中的每一个可通过使用单通(single-pass)编码处理或多通(multi-pass)编码处理来对系数矢量进行编码。
[0107] 例如,基础层编码器121可从第一系数矢量开始,在单通编码中对非零系数进行单独编码。
[0108] 基础层编码器121可选择VLC表来对游程长度进行单独编码。基础层编码器121可基于游程的符号的总和以及已被编码的游程的总和,选择VLC表来对当前游程值进行编码。例如,如果系数矢量等于八个游程的总和并且如果在最后一个非零系数之前被编码的游程是“6”,则所有其它游程应该是“0”、“1”或“2”。由于每个附加游程被编码使得可用游程长度变短,因此基础层编码器121可选择有效的VLC表来减少将被用于表示游程的比特数。
[0109] 增强层编码器122对增强层的量化的残差变换系数进行编码。增强层编码器122产生与基础层的残差系数不同的量化的残差系数。使用与基础层的量化参数QP(QP-B)不同的量化参数QP(QP-E)来对增强层的量化的残差系数进行量化,因此,增强层的量化的残差系数可与基础层的残差系数不同。
[0110] 增强层编码器122可通过基于对基础层执行编码的结果使用编码统计信息来以参考尺寸为单位分配目标比特数,以控制速率。因此,在增强层的编码期间可丢弃系数矢量的量化的残差系数中的至少一个。
[0111] 增强层编码器122可从第一系数矢量开始,通过使用单通编码来对非零系数进行单独编码。
[0112] 源装置100经由发送器130将如上所述的由视频编码器120编码的视频数据发送到目标装置200。
[0113] 目标装置200包括接收器210、视频解码器220和显示装置230。
[0114] 接收器210经由信道300从源装置100接收编码视频流。如上所述,编码视频流包括基础层比特流和至少一个增强层比特流。信道300可以是有线或无线通信信道。
[0115] 视频解码器220通过对基础层和至少一个增强层执行解码来获得视频数据。视频解码器220包括基础层解码器221和增强层解码器222。基础层解码器221通过对经由信道300接收的基础层比特流进行解码来产生具有第一质量级别的视频数据。增强层解码器222通过对至少一个增强层比特流进行解码来产生具有第二(较高)质量级别的视频数据。
[0116] 目标装置200可接收的增强层的数量可根据信道状态而改变。
[0117] 基础层解码器221通过对在基础层编码的视频流进行解码来获得表示基础层的量化的残差系数的矢量的符号。
[0118] 增强层解码器222通过对在增强层编码的视频流进行解码来获得表示增强层的量化的残差系数的矢量的符号。
[0119] 基础层解码器221和增强层解码器222分别通过使用解码的残差系数来产生恢复的基础层视频数据和恢复的增强层视频数据。因此,对量化的残差系数进行反量化,对反量化的残差系数进行反变换,并产生像素值的残差宏块。随后,通过将像素值的残差宏块与预测宏块进行结合来恢复视频数据。
[0120] 在显示装置230上显示恢复的视频数据。显示装置230可以是液晶显示器(LCD)、阴极射线管(CRT)、等离子显示器、发光二极管(LED)显示器、有机LED显示器等。
[0121] 图3至图8是示出根据本发明构思的各种示例性实施例的多层编码器的结构的框图。例如,多层编码器可被实现为分级编码器。
[0122] 首先,将参照图3描述根据本发明构思的示例性实施例的多层编码器。
[0123] 图3是根据本发明构思的示例性实施例的多层编码器120A的框图。参照图3,多层编码器120A包括基础层编码器121A、增强层编码器122A和帧缓冲器123A。
[0124] 基础层编码器121A包括第一编码处理器10A和第一速率控制器20A。增强层编码器122A包括第二编码处理器30A、第二速率控制器40A和上采样单元50。
[0125] 在图3的实施例中,上采样单元50被置于增强层编码器122A中。根据本发明构思的可选实施例,上采样单元50可被置于增强层编码器122A之外。
[0126] 当具有原始图像的分辨率的视频数据被输入到多层编码器120A时,基础层编码器121A直接对原始视频数据进行编码,增强层编码器122A通过使用上采样单元50将原始视频数据上采样到具有更高分辨率的视频数据,随后对具有更高分辨率的视频数据进行编码。
[0127] 例如,如果原始视频数据的分辨率具有通用中间格式(CIF),则基础层编码器121A对具有CIF分辨率的原始视频数据进行编码。增强层编码器122A对标清(SD)或高清(HD)视频数据进行编码,其分辨率通过上采样而增加。可选地,增强层编码器122A可对具有高分辨率的原始视频数据进行编码,基础层编码器121A对缩小的视频数据进行编码,这将在下面参照图4进行描述。
[0128] 基础层编码器121A的第一编码处理器10A通过以基于从第一速率控制器20A接收的第一量化参数QP1确定的比特率对输入帧数据进行编码,来产生具有第一分辨率的基础层比特流。
[0129] 基础层编码器121A的第一编码处理器10A基于执行编码的结果产生编码统计信息。例如,编码统计信息可包括关于当以基础层的区域为单位执行编码时产生的比特数的信息、关于在基础层的编码期间以基础层的区域为单位计算的当前帧和预测帧之间的SAD的信息、关于在基础层计算的基础层的区域的复杂度的信息中的至少一个。这里,区域的尺寸可包括GOP的尺寸、帧的尺寸和宏块的尺寸中的至少一个。
[0130] 由第一编码处理器10A产生的编码统计信息被存储在帧缓冲器123A中。
[0131] 第一速率控制器20A可根据第一目标比特率确定分配给第一层的区域的目标比特数和量化参数。
[0132] 第一速率控制器20A通过根据分配给根据第一目标比特率的宏块的目标比特数与当第一编码处理器10A在基础层执行熵编码时实际产生的比特数Bits_INF1之间的差来调整分配给第一层的区域的量化参数,从而确定将被分配给第一编码处理器10A的第一量化参数QP1。例如,当目标比特数大于比特数Bits_INF1时,分配给在后的宏块的量化参数减小,当目标比特数小于比特数Bits_INF1时,分配给在后的宏块的量化参数增大。当目标比特数等于比特数Bits_INF1时,分配给在后的宏块的量化参数保持。
[0133] 增强层编码器122A的上采样单元50对输入帧数据进行上采样以适合于增强层的分辨率。上采样的帧数据被提供给第二编码处理器30A。
[0134] 增强层编码器122A的第二编码处理器30A通过以基于从第二速率控制器40A接收的量化参数QP2确定的比特率对上采样的帧数据进行编码,来产生具有第二分辨率的增强层比特流。
[0135] 第二速率控制器40A确定将分配给第二层的区域的量化参数。例如,可根据第二目标比特率确定将分配给第二层的区域的量化参数。作为另一示例,可根据ROI信息确定将分配给第二层的区域的量化参数。
[0136] 第二速率控制器40A通过从帧缓冲器123A读取与将在增强层被编码的当前宏块的位置相应的基础层的编码统计信息,基于读取的基础层的编码统计信息确定当前宏块和/或当前帧的目标比特数,随后根据确定的目标比特数与在增强层的熵编码期间实际产生的比特数Bits_INF2之间的差调整分配给第二层的区域的量化参数,从而确定将分配给第二编码处理器30A的量化参数QP2。例如,当目标比特数大于比特数Bits_INF2时,分配给在后宏块的量化参数减小,当目标比特数小于比特数Bits_INF2时,分配给在后的宏块的量化参数增大。当目标比特数等于比特数Bits_INF2时,分配给在后的宏块的量化参数保持。
[0137] 图17A至图17C是示出根据本发明构思的实施例的由支持空间分级的多层编码器执行的通过使用基础层的编码统计信息确定增强层的宏块的目标比特数的处理的概念图。
[0138] 图17A至图17C示出在增强层编码的视频数据的分辨率高于在基础层编码的视频数据的分辨率的情况。
[0139] 参照图17A和图17B,通过在基础层对每个帧进行编码而获得的编码统计信息被发送到增强层,从而编码统计信息可被用于对与增强层相应的帧进行编码。编码统计信息可以是以图像或宏块为单位计算的SAD,或者是以图像或宏块为单位实际产生的比特数。图17A示出对包括I图像和P图像的GOP执行编码的情况。图17B示出对包括I图像、B图像和P图像的GOP执行编码的情况。
[0140] 参照图17C,可基于对以宏块为单位计算的SAD值ME_MB_SAD和以图像为单位计算的SAD值ME_PIC_SAD进行放大的结果,确定增强层的宏块的目标比特值MB_target_bit,ME_MB_SAD和ME_PIC_SAD是在基础层产生的编码统计信息。例如,检测与在增强层将被编码的宏块的位置相应的基础层的宏块,并且可使用检测到的基础层的宏块的SAD值ME_MB_SAD来确定增强层的宏块的目标比特值值MB_target_bit。
[0141] 图17C示出包括在增强层的一个图像中的宏块的数量是包括在基础层的一个图像中的宏块的数量的四倍的情况。图17C示出通过使用在基础层的一个宏块中计算的SAD值ME_MB_SAD来确定增强层的四个宏块中的每个宏块的目标比特值MB_target_bit。
[0142] 接下来,现在将参照图4描述根据本发明构思的示例性实施例的多层编码器。
[0143] 图4是根据本发明构思的示例性实施例的支持空间分级的多层编码器120B的框图。参照图4,多层编码器120B包括基础层编码器121B、增强层编码器122B和帧缓冲器123B。
[0144] 基础层编码器121B包括第一编码处理器10B、速率控制器20B和下采样单元60。增强层编码器122B包括第二编码处理器30B和第二速率控制器40B。
[0145] 在图4的示例性实施例中,下采样单元60被置于基础层编码器121B。根据本发明构思的可选实施例,下采样单元60可被置于基础层编码器121B之外。
[0146] 当具有原始图像的分辨率的视频数据被输入到多层编码器120B时,增强层编码器122B对原始视频数据直接进行编码,基础层编码器121B将原始视频数据下采样为分辨率低于原始图像的分辨率的视频数据,并随后对下采样的视频数据进行编码。
[0147] 例如,如果原始视频数据具有HD分辨率,则基础层编码器121B将原始视频数据下采样为具有低于HD分辨率的标清(SD)分辨率或CIF分辨率的视频数据,并对下采样的视频数据进行编码,增强层编码器122B对HD原始视频数据进行编码。
[0148] 基础层编码器121B的下采样单元60将输入帧数据下采样为适合于基础层的分辨率。下采样的帧数据被提供给第一编码处理器10B。
[0149] 基础层编码器121B的第一编码处理器10B通过以基于从第一速率控制器20B接收的第一量化参数QP1确定的比特率对下采样的帧数据进行编码,来产生具有第一分辨率的基础层比特流。
[0150] 基础层编码器121B的第一编码处理器10B基于执行编码的结果产生编码统计信息。由基础层编码器121B产生的编码统计信息与上面参照图3描述的编码统计信息相同。
[0151] 由基础层编码器121B产生的编码统计信息被存储在帧缓冲器123B中。
[0152] 第一速率控制器20B的操作与图3的第一速率控制器20A的操作基本上相同,因此将不在此进行多余的描述。
[0153] 通过以基于由第二速率控制器40B提供的第二量化参数QP2确定的比特率对输入到增强层编码器122B的帧数据进行编码,产生具有第二分辨率的增强层比特流。
[0154] 第二速率控制器40B确定分配给第二层的区域的量化参数。例如,可根据第二目标比特率确定分配给第二层的区域的量化参数。作为可选的示例,可根据ROI信息来确定分配给第二层的区域的量化参数。
[0155] 第二速率控制器40B通过从帧缓冲器123B读取与在增强层将被编码的当前宏块的位置相应的基础层的编码统计信息,基于读取的基础层的编码统计信息确定宏块和/或帧的目标比特数,并随后根据确定的目标比特数与在增强层的熵编码期间实际产生的比特数Bits_INF2之间的差来调整分配给第二层的区域的量化参数,从而确定将被分配给第二编码处理器30的第二量化参数QP2。例如,当(例如,只有)目标比特数大于比特数Bits_INF2时,分配给在后的宏块的量化参数减小,当(例如,只有)目标比特数小于比特数Bits_INF2时,分配给在后的宏块的量化参数增大。如果目标比特数等于比特数Bits_INF2,则分配给在后的宏块的量化参数保持。
[0156] 图5是根据本发明构思的示例性实施例的支持质量分级的多层编码器120C的框图。参照图5,多层编码器120C包括基础层编码器121C、增强层编码器122C和帧缓冲器123C。
[0157] 具体地,基础层编码器121C包括第一编码处理器10C和第一速率控制器20C,增强层编码器122C包括第二编码处理器30C和第二速率控制器40C。
[0158] 在多层编码器支持质量分级的情况下,当在基础层编码的视频数据的分辨率等于在增强层编码的视频数据的分辨率时,在增强层不需要执行上采样/下采样。
[0159] 基础层编码器121C的第一编码处理器10C通过以基于从第一速率控制器20C接收的第一量化参数QP1确定的比特率对原始视频数据进行编码,来产生具有第一质量级别的基础层比特流。
[0160] 基础层编码器121C基于执行编码的结果产生编码统计信息。由基础层编码器121C产生的编码统计信息与上面参照图3描述的编码统计信息相同。
[0161] 由基础层编码器121C产生的编码统计信息被存储在帧缓冲器123C中。
[0162] 第一速率控制器20C通过根据将分配给根据第一目标比特率的宏块的目标比特数与当第一编码处理器10C对基础层进行熵编码时实际产生的比特数Bits_INF1之间的差来调整分配给基础层的区域的量化参数,从而确定将被分配给第一编码处理器10C的第一量化参数QP1。例如,如果目标比特数大于比特数Bits_INF1,则分配给在后的宏块的量化参数减小,如果目标比特数小于比特数Bits_INF1,则分配给在后的宏块的量化参数增大。如果目标比特数等于比特数Bits_INF1,则分配给在后的宏块的量化参数保持。
[0163] 增强层编码器122C的第二编码处理器30C通过以基于从第二速率控制器40C接收的第二量化参数QP2确定的比特率对输入帧数据进行编码,来产生具有第二质量级别的增强层比特流。
[0164] 第二速率控制器40C通过从帧缓冲器123C读取与在增强层将被编码的当前宏块的位置相应的基础层的编码统计信息,基于读取的基础层的编码统计信息确定宏块和/或帧的目标比特数,并随后根据确定的目标比特数与在增强层的熵编码期间实际产生的比特数Bits_INF2之间的差来调整分配给增强层的区域的量化参数,来确定将被分配给第二编码处理器30C的第二量化参数QP2。例如,当目标比特数大于比特数Bits_INF2时,分配给在后的宏块的量化参数减小,当目标比特数小于比特数Bits_INF2时,分配给在后的宏块的量化参数增大。如果目标比特数等于比特数Bits_INF2,则分配给在后的宏块的量化参数保持。
[0165] 图18A至图18D是示出根据本发明构思的实施例的由支持质量分级的多层编码器执行的通过使用基础层的编码统计信息确定增强层的宏块的目标比特数的处理的概念图。
[0166] 图18A至图18D示出基于中等粒度分级(MGS)或粗粒度分级(CGS)的各种多层视频编码技术。
[0167] 参照图18A至图18C,当以帧为单位在基础层执行编码时产生的编码统计信息被发送到增强层,从而编码统计信息可被用于对与增强层相应的帧进行编码。编码统计信息可以是以图像为单位或以宏块为单位计算的SAD和/或实际产生的比特数。例如,基础层可相应于MGS质量层_0,增强层可以是从变换到频域的系数划分的MGS质量层的组合。
[0168] 参照图18D,当以帧为单位在基础层执行编码时产生的编码统计信息被发送到增强层,从而编码统计信息可被用于对与增强层相应的帧进行编码。编码统计信息可以是以图像为单位或以宏块为单位计算的SAD和/或实际产生的比特数。基础层相应于使用层目标比特0编码的CGS质量层1。
[0169] 参照图18D,基于在基础层产生的编码统计信息(即,以宏块为单位计算的SAD ME_MB_SAD和/或以图像为单位计算的SAD ME_PIC_SAD),确定增强层的宏块的目标比特值MB_target_bit。
[0170] 图6是根据本发明构思的示例性实施例的支持空间分级的多层编码器120D的框图。参照图6,多层编码器120D包括基础层编码器121D、增强层编码器122D和帧缓冲器123D。
[0171] 基础层编码器121D包括第一编码处理器10A、第一速率控制器20A和感兴趣区域(ROI)检测单元70。增强层编码器122D包括第二编码处理器30D、第二速率控制器40D和上采样单元50。
[0172] 在图6的实施例中,上采样单元50被置于增强层编码器122D中。根据本发明构思的可选实施例,上采样单元50可被置于增强层编码器122D之外。
[0173] ROI检测单元70通过基于以下信息中的至少一个来分析帧数据以计算ROI信息:关于图像的复杂度的信息、关于图像的运动量的信息和关于图像的像素的分布的信息。例如,等于或大于第一阈值的图像区域、改变度、运动量或像素分布可被确定为感兴趣区域(ROI),小于第二阈值的图像区域、改变度、运动量或像素分布可被确定为非感兴趣区域。第一阈值可被设置为大于第二阈值。下面参照图9至图11描述描述计算ROI信息的方法。
[0174] 基础层121D的第一编码处理器10A和第一速率控制器20A分别与图3的基础层编码器121A的第一编码处理器10A和第一速率控制器20A相同。
[0175] 基础层编码器121D基于执行编码的结果产生编码统计信息。
[0176] 帧缓冲器123D存储由基础层编码器121D产生的编码统计信息和ROI信息。
[0177] 增强层编码器122D的上采样单元50对输入的原始视频数据进行上采样以适合于增强层的分辨率。上采样的视频数据被提供给第二编码处理器30D。
[0178] 增强层编码器122D的第二编码处理器30D通过以基于从第二速率控制器40D接收的第二量化参数QP2确定的比特率对上采样的视频数据进行编码,来产生具有第二分辨率的增强层比特流。
[0179] 例如,第二速率控制器40D可从帧缓冲器123D读取与将在增强层被编码的宏块的位置相应的基础层的编码统计信息,并基于读取的编码统计信息来确定宏块和/或帧的目标比特数。
[0180] 作为可选方案,第二速率控制器40D根据与增强层的分辨率相应的第二目标比特率确定宏块的目标比特数。
[0181] 此外,第二速率控制器40D基于由基础层编码器121D在基础层产生的ROI信息来确定将被分配给增强层的区域的量化参数。例如,感兴趣区域中的量化参数可被设置为小于非感兴趣区域中的量化参数。
[0182] 图20A至图20C是示出根据本发明构思的示例性实施例的由支持空间分级的多层编码器执行的通过使用基础层的ROI信息将量化参数分配给增强层的宏块的处理的概念图。
[0183] 参照图20A和图20B,当以帧为单位在基础层执行编码时产生的ROI信息被发送到增强层,从而ROI信息可被用于将量化参数分配给与增强层相应的帧。
[0184] 图20A示出对包括I图像和P图像的GOP执行编码的情况。图20B示出对包括I图像、B图像和P图像的GOP执行编码的情况。
[0185] 参照图20C,可基于在基础层产生的ROI信息将量化参数分配给增强层的宏块。例如,可检测与在增强层将被编码的宏块的位置相应的基础层的宏块,可基于关于检测到的基础层的宏块的ROI信息将量化参数分配给增强层的宏块。
[0186] 例如,图20C示出包括在增强层的一个图像中的宏块的数量是包括在基础层的一个图像中的宏块的数量的四倍。参照图20C,可基于在基础层的一个宏块中产生的ROI信息将量化参数分配给增强层的宏块。
[0187] 图22示出根据本发明构思的示例性实施例的通过使用ROI信息分配给增强层的量化参数。参照图22,量化参数“29”被分配给感兴趣区域,量化参数“51”被分配给非感兴趣区域。量化参数“40”被分配给即不是感兴趣区域又不是非感兴趣区域的区域。
[0188] 图6的第二速率控制器40D通过根据分配给当前宏块的目标比特数与通过对当前宏块进行熵编码而实际产生的比特数Bits_INF2之间的差来调整分配给在后的宏块的量化参数,以确定将被分配给图6的第二编码处理器30D的第二量化参数QP2。例如,当目标比特数大于比特数Bits_INF2时,分配给在后的宏块的量化参数减小,当目标比特数小于比特数Bits_INF2时,分配给在后的宏块的量化参数增大。如果目标比特数等于比特数Bits_INF2时,则分配给在后的宏块的量化参数保持。当对每个帧的第一宏块进行编码时,使用基于ROI信息分配的量化参数。
[0189] 图7是根据本发明的示例性实施例的支持空间分级的多层编码器120E的框图。参照图7,多层编码器120E包括基础层编码器121E、增强层编码器122E和帧缓冲器123E。
[0190] 基础层编码器121E包括第一编码处理器10B、第一速率控制器20B和ROI检测单元70。增强层编码器122E包括第二编码处理器30E、下采样单元60和第二速率控制器40E。
[0191] 在图7的实施例中,下采样单元60被置于增强层编码器122E中,根据本发明构思的可选实施例,下采样单元60可被置于增强层编码器122E之外。
[0192] ROI检测单元70如上面参照图6描述的通过分析输入的图像数据来计算ROI信息。
[0193] 增强层编码器122E的下采样单元60将输入的原始视频数据下采样为适合于增强层的分辨率。下采样的视频数据被提供给第二编码处理器30E。
[0194] 基础层编码器121E的第一编码处理器10B和第一速率控制器20B分别与图4的基础层编码器121B的第一编码处理器10B和第一速率控制器20B相同。因此,基础层编码器121E可基于在基础层执行编码的结果产生编码统计信息。此外,基础层编码器121E产生ROI信息。
[0195] 帧缓冲器123E存储由基础层编码器121E产生的编码统计信息和ROI信息。
[0196] 增强层编码器122E的第二编码处理器30E通过以基于从第二速率控制器40E接收的第二量化参数QP2确定的比特率对下采样的视频数据进行编码,产生具有第二分辨率的增强层比特流。
[0197] 例如,第二速率控制器40E可从帧缓冲器123E读取与在增强层将被编码的当前宏块的位置相应的基础层的编码统计信息,并基于编码统计信息确定当前宏块和/或帧的目标比特数。
[0198] 作为另一示例,第二速率控制器40E可确定在与增强层的分辨率相应的第二目标比特率的当前宏块的目标比特数。
[0199] 第二速率控制器40E基于由基础层编码器121E产生的ROI信息,确定将被分配给增强层的区域的量化参数。例如,感兴趣区域中的量化参数可被设置为非感兴趣区域中的量化比特参数。
[0200] 如上面参照图20A至图20C所述,可基于基础层的ROI信息将量化参数分配给增强层的宏块。
[0201] 第二速率控制器40E根据分配给当前宏块的目标比特数与通过对当前宏块进行熵编码而实际产生的比特数Bits_INF2之间的差,调整分配给在后的宏块的量化参数。例如,当目标比特数大于比特数Bits_INF2时,分配给在后的宏块的量化参数减小,当目标比特数小于比特数Bits_INF2时,分配给在后的宏块的量化参数增大。如果目标比特数等于比特数Bits_INF2时,则分配给在后的宏块的量化参数保持。当对每个帧的第一宏块进行编码时,使用基于ROI信息分配的量化参数。
[0202] 图8是根据本发明构思的示例性实施例的支持质量分级的多层编码器120F的框图。参照图8,多层编码器120F包括基础层编码器121F、增强层编码器122F和帧缓冲器123F。
[0203] 基础层编码器121F包括第一编码处理器10C、第一速率控制器20C和ROI检测单元70。增强层编码器122E包括第二编码处理器30F和第二速率控制器40F。
[0204] 如上面参照图6所述,ROI检测单元70通过分析输入的图像数据来计算ROI信息。
[0205] 基础层编码器121F的第一编码处理器10C和第一速率控制器20C分别与图5的基础层编码器121C的第一编码处理器10C和第一速率控制器20C相同。因此,基础层编码器121F可基于在基础层执行编码的结果产生编码统计信息。基础层编码器121F也可产生ROI信息。
[0206] 帧缓冲器123F存储由基础层编码器121F产生的编码统计信息和ROI信息。
[0207] 增强层编码器122F通过以基于从第二速率控制器40F接收的第二量化参数QP2确定的比特率对输入的原始帧数据进行编码,来产生具有原始分辨率的增强层比特流。
[0208] 例如,第二速率控制器40F可从帧缓冲器123F读取与在增强层将被编码的当前宏块的位置相应的基础层的编码统计信息,并基于读取的基础层的编码统计信息确定当前宏块和/或帧的目标比特数。
[0209] 作为另一示例,第二速率控制器40F可确定在与增强层的分辨率相应的第二目标比特率的宏块的目标比特数。
[0210] 此外,第二速率控制器40F基于由基础层编码器121F产生的ROI信息,将量化参数分配给增强层的。例如,感兴趣区域中的量化参数可被设置为小于非感兴趣区域中的量化比特参数。
[0211] 图21A至图21D是示出根据本发明构思的实施例的由支持质量分级的多层编码器执行的通过使用基础层的ROI信息将量化参数分配给增强层的宏块的处理的概念图。
[0212] 图21A至图21D示出基于MGS或CGS的各种多层视频编码技术。
[0213] 参照图21A,当以帧为单位对基础层MSG质量层_0执行编码时产生的ROI信息可被发送到增强层MSG质量层_1和MSG质量层_2,从而ROI信息可被用于为与这些增强层相应的帧分配量化参数。
[0214] 参照图21B和图21C,当以帧为单位对基础层MSG质量层_0执行编码时产生的ROI信息可被发送到增强层质量层_1,从而ROI信息可被用于为与增强层质量层_1相应的帧分配量化参数。
[0215] 参照图21D,可基于在基础层产生的ROI信息将量化参数分配给增强层宏块。可通过检测与在增强层将被编码的宏块的位置相应的基础层的宏块并使用检测到的基础层的宏块的ROI信息,来将量化参数分配给增强层的宏块。
[0216] 图8的第二速率控制器40F通过根据分配给当前宏块的目标比特数与通过对当前宏块进行熵编码而实际产生的比特数Bits_INF1之间的差来调整分配给在后的宏块的量化参数,来确定将被分配给第二编码处理器30F的第二量化参数QP2。
[0217] 例如,当目标比特数大于比特数Bits_INF1时,分配给在后的宏块的量化参数减小,当目标比特数小于比特数Bits_INF1时,分配给在后的宏块的量化参数增大。如果目标比特数等于比特数Bits_INF1时,则分配给在后的宏块的量化参数保持。当对每个帧的第一宏块进行编码时,使用基于ROI信息分配的量化参数。
[0218] 如图6至图8中所示,ROI检测单元70可被置于基础层编码器121D至121F中的每个基础层编码器中。根据本发明构思的可选实施例,ROI检测单元70可被置于基础层编码器121D至121F中的每个基础层编码器之外。
[0219] 根据本发明构思的实施例的如图6至图8中示出的ROI检测单元的结构在图9至图11中示出。
[0220] 参照图9,根据本发明构思的示例性实施例的ROI检测单元70A包括图像复杂度计算器71A和区域确定单元72A。
[0221] 图像复杂度计算机器71A通过以输入的帧数据的宏块为单位对被检测为边界的像素数进行计数来计算图像复杂度。这里,“图像复杂度”指的是表示图像的改变度是否较大的标准。这此,图像复杂度计算器71A可通过分界检测方法(例如,Canny边缘检测器)来计算图像复杂度。
[0222] 区域确定单元72A可将以下的图像区域确定为感兴趣区域:以输入的帧数据的宏块为单位被检测为边界的像素数大于初始设置的第一阈值的图像区域;或在所述边界周围的像素中像素值大于初始设置的第二阈值的图像区域。
[0223] 参照图10,根据本发明构思的示例性实施例的ROI检测单元70B可包括运动量计算器71B和区域确定单元72B。
[0224] 运动量计算器71B可以以输入的帧数据的宏块为单位检测运动矢量,通过分别计算检测的运动矢量的平分量的平方和垂直分量的平方并计算平方的结果的和的平方根,来计算运动量。
[0225] 区域确定单元72B可将以下图像区域确定为感兴趣区域:计算的运动量大于初始设置的第三阈值的图像区域;或运动量等于或大于初始设置的第四阈值的图像区域。
[0226] 参照图11,根据本发明构思的示例性实施例的ROI检测单元70C可包括像素分布计算器71C和区域确定单元72C。
[0227] 像素分布计算器71C可通过将直方图交集应用到输入的帧数据来计算每个像素值的累积数,以获得像素分布。
[0228] 区域确定单元72C可在以图像的宏块为单位计算的像素分布中将以下图像区域确定为感兴趣区域:像素分布大于初始设置的第五阈值的图像区域;或像素分布等于或大于初始设置的第六阈值的图像区域。
[0229] 根据本发明构思的示例性实施例,可从输入图像的复杂度、输入图像的运动量和输入图像的像素分布中的至少两个的组合中获得ROI信息。
[0230] 图12至图14是根据本发明构思的实施例的如在图3至图8的增强层编码器122A至122F中示出的第二速率控制器的框图。
[0231] 参照图12,根据本发明构思的示例性实施例的第二速率控制器包括比特数确定单元41A和量化参数确定单元42A。
[0232] 比特数确定单元41A基于在基础层产生的编码统计信息确定增强层的每个区域的目标比特数。
[0233] 例如,比特数确定单元41A可基于以基础层的宏块为单位产生的比特数来以增强层的宏块为单位确定目标比特数。当基础层的空间分辨率与增强层的空间分辨率不同时,以基础层的宏块为单位产生的比特数可被放大或缩小,随后对以基础层的宏块为单位产生的比特数进行放大或缩小的结果可被确定为增强层的宏块的目标比特数。
[0234] 具体地,当增强层的分辨率高于基础层的分辨率时,为了适合于增强层的分辨率而对以基础层的宏块为单位产生的比特数进行放大的结果被确定为增强层的宏块的目标比特数。当增强层的分辨率低于基础层的分辨率时,为了适合于增强层的分辨率而对以基础层的宏块为单位产生的比特数进行缩小的结果被确定为增强层的宏块的目标比特数。
[0235] 如果增强层的分辨率等于基础层的分辨率,则以基础层的宏块为单位产生的比特数可被确定为增强层的宏块的目标比特数。
[0236] 比特数确定单元41A可通过使用以下的等式来计算分配给增强层的第i宏块的目标比特数Tmb(i)(其中,“i”表示等于或大于“1”的整数):
[0237] [等式1]
[0238] Tmb[i]=Tpic×(MB_BITS[i]PIC_BITS_SUM),
[0239] 其中,“Tpic”表示分配给增强层的图像的目标比特数,“MB_BITS(i)”表示在与增强层的第i宏块匹配的基础层的宏块中产生的比特数,“PIC_BITS_SUM”表示在基础层的图像的所有宏块中产生的比特数的和。
[0240] 作为可选的示例,比特数确定单元41A可基于在基础层的宏块中计算的当前帧和预测帧的像素之间的SAD来确定增强层的宏块的目标比特数。
[0241] 具体地,比特数确定单元41A可通过使用以下的等式来计算分配给增强层的第i宏块的目标比特数Tmb(i)(其中,“i”表示等于或大于“1”的整数):
[0242] [等式2]
[0243] Tmb[i]=Tpic×(MB_SAD[i]PIC_SAD_SUM),
[0244] 其中,“Tpic”表示分配给增强层的图像的目标比特数,“MB_SAD(i)”表示在与增强层的第i宏块匹配的基础层的宏块中计算的当前帧和预测帧的像素之间的SAD,“PIC_SAD_SUM”表示在基础层的图像的所有宏块中计算的当前帧和预测帧的像素之间的SAD。
[0245] 作为另一示例,比特数确定单元41A可基于当与增强层的宏块匹配的基础层的宏块被编码时产生的比特数以及在基础层的匹配宏块中计算的当前帧和预测帧的像素之间的SAD,确定增强层的宏块的目标比特数。
[0246] 具体地,比特数确定单元41A可通过使用以下的等式来计算分配给增强层的第i宏块的目标比特数Tmb(i)(其中,“i”表示等于或大于“1”的整数):
[0247] [等式3]
[0248] Tmb(i)=(1-W)×Tpic×(MB_BITS[i]/PIC_BITS_SUM)
[0249] +W×Tpic×(MB_SAD[i]/PIC_SAD_SUM)
[0250] 其中,“Tpic”表示分配给增强层的图像的目标比特数,“MB_BITS(i)”表示在与增强层的第i宏块匹配的第一层的宏块中产生的比特数,“PIC_BITS_SUM”表示在基础层的图像的所有宏块中产生的比特数的和,“MB_SAD(i)”表示在与增强层的第i宏块匹配的基础层的宏块中计算的当前帧和预测帧的像素之间的SAD,“PIC_SAD_SUM”表示在基础层的图像的所有宏块中计算的当前帧和预测帧的像素之间的SAD,“W”表示大于“0”并小于“1”的加权系数。
[0251] 作为另一示例,比特数确定单元41A可基于在基础层计算的参考尺寸的复杂度和分配给基础层中的帧的目标比特数与分配给基础层中的图像组的目标比特数之比中的至少一个,确定分配给增强层的帧的目标比特数。
[0252] 图19A和图19B是示出根据本发明构思的实施例的由多层编码器执行的通过使用基础层的编码统计信息来确定增强层的帧的目标比特数的处理的概念图。
[0253] 图19A示出对组成I图像和P图像的GOP进行编码的处理。图18B示出对组成I图像、B图像和P图像的GOP进行编码的处理。
[0254] 参照图19A和图19B,当基础层被编码时计算的帧复杂度和图像组的帧比特占用信息被发送到增强层,从而它们可被用于确定分配给增强层的帧的目标比特数。
[0255] 具体地,图12的比特数确定单元41A可通过使用以下的等式来计算分配给增强层的第i宏块的目标比特数Tmb(i)(其中,“i”表示等于或大于“1”的整数):
[0256] [等式4]
[0257]
[0258] 其中,“GOP_ALLOC_BITSENH”表示分配给增强层的图像组的目标比特数,“PICTURE_TYPE”表示图像类型,“COMPLEXITYBASE[i]”表示基础层的第i帧的复杂度,“GOP_ALLOC_BITSBASE”表示在基础层的图像组中产生的比特数,“FRAME_BITSBASE[i]”表示基础层的第i帧中产生的比特数。
[0259] 等式4的分母是基于图像类型、基础层的帧的复杂度和在基础层的第i帧中产生的比特数除以在基础层的图像组中产生的比特数的结果计算的值。
[0260] 例如,在等式4中,以这样的方式确定FRAME_WEIGHT函数:在图像组中,在I图像的情况下的分母可小于在P图像的情况下的分母,并且基础层的帧复杂度最大,分母越小。
[0261] 图12的量化参数确定单元42A根据由比特数确定单元41A确定的目标比特数TENH_frame[i]与当增强层被熵编码时实际产生的比特数之间的差,确定第二量化参数QP2。例如,可基于关于增强层被熵编码时产生的比特的信息来获得实际产生的比特数。
[0262] 可基于增强层的目标比特数,以增强层的宏块为单位分配初始量化参数。相同的量化参数可作为初始量化参数被分配给增强层的所有宏块。
[0263] 当分配给当前宏块的目标比特数大于当增强层被熵编码时实际产生的比特数时,量化参数确定单元42A减小分配给在后的宏块的量化参数。当分配给当前宏块的目标比特数小于当增强层被编码时实际产生的比特数时,量化参数确定单元42A增大分配给在后的宏块的量化参数。当分配给当前宏块的目标比特数等于当增强层被编码时实际产生的比特数时,量化参数确定单元42A保持分配给在后的宏块的量化参数。
[0264] 如上所述,量化参数确定单元42A基于对增强层的当前宏块进行编码的结果,最终确定将被应用到在后的宏块的第二量化参数QP2。可通过使用最终确定的第二量化参数QP2来对增强层进行量化。
[0265] 参照图13,根据本发明构思的示例性实施例的第二速率控制器包括比特数确定单元41B和量化参数确定单元42B。
[0266] 比特数确定单元41B基于分配给增强层的图像或图像组的目标比特数,确定以目标图像为单位的目标比特数。在这种情况下,可不使用在基础层产生的编码统计信息。
[0267] 量化参数确定单元42B可基于在基础层编码的视频帧中产生的ROI信息将量化参数分配给增强层。例如,可检测与在增强层将被编码的当前宏块的位置相应的基础层的宏块,基于检测的基础层的宏块的ROI信息来将量化参数分配给增强层。例如,如图24所示,感兴趣区域中的量化参数可被设置为小于非感兴趣区域中的量化参数。
[0268] 量化参数确定单元42B可通过根据分配给当前宏块的目标比特数与通过对当前宏块进行熵编码而实际产生的比特数之间的差来调整分配给在后的宏块的量化参数,以最终确定将被分配给在后的宏块的第二量化参数QP2。例如,当目标比特数大于所述比特数时,分配给在后的宏块的量化参数减小,当目标比特数小于所述(实际)比特数时,分配给在后的宏块的量化参数增大。如果目标比特数等于所述(实际)比特数,则分配给在后的宏块的量化参数保持。当对每个帧的第一宏块进行编码时,使用基于ROI信息分配的量化参数。
[0269] 参照图14,根据本发明构思的示例性实施例的第二速率控制器包括比特数确定单元41A和量化参数确定单元42B。
[0270] 比特数确定单元41A与图12的比特数确定单元41A相同,量化参数确定单元42B与图13的量化参数确定单元42B相同。
[0271] 因此,比特数确定单元41A基于在基础层产生的编码统计信息,以增强层的参考尺寸为单位确定目标比特数。例如,可根据等式1至等式3中的一个来计算分配给增强层的第i宏块的目标比特数Tmb(i)。
[0272] 此外,比特数确定单元41A可根据等式1计算分配给增强层的第i宏块的目标比特数TENH_frame[i]。
[0273] 量化参数确定单元42B可基于在基础层编码的视频帧中产生的ROI信息,将量化参数分配给增强层的宏块。
[0274] 量化参数确定单元42B可根据基于基础层的编码统计信息分配给当前宏块的目标比特数与在当前宏块被熵编码时实际产生的比特数之间的差,来调整分配给在后的宏块的量化参数。量化参数确定单元42B的操作与图13的量化参数确定单元42B的操作相同,因此这里将不再进行描述。
[0275] 图15和图16是根据本发明构思的实施例多层编码器的详细框图。
[0276] 参照图15,多层编码器包括基础层编码器300、增强层编码器400A、帧缓冲器500、第一存储器600和第二存储器700。
[0277] 基础层编码器300包括ROI检测单元301、第一帧间预测单元301、第一帧内预测单元303、第一模式选择器304、第一减法器305、第一加法器306、第一变换单元307、第一量化单元308、第一熵编码单元309、第一速率控制器310、第一反量化单元311、第一反变换单元312和第一滤波器313。
[0278] 增强层编码器400A包括上采样单元401、第二帧间预测单元402、第二帧内预测单元403、第二模式选择器404、第二减法器405、第二加法器406、第二变换单元407、第二量化单元408、第二熵编码单元409、第二速率控制器410、第二反量化单元411、第二反变换单元412和第二滤波器413。
[0279] 图15的多层编码器是根据本发明构思的示例性实施例的支持空间分级的多层编码器的示例。在多层编码器中,基础层编码器300对具有原始图像分辨率的视频数据进行编码,增强层编码器400A对分辨率高于原始图像分辨率的视频数据进行编码。
[0280] 例如,当原始视频数据的分辨率具有CIF时,基础层编码器300对具有CIF分辨率的原始视频数据进行编码。增强层编码器400A对分辨率通过上采样而增大的SD或HD视频数据进行编码。
[0281] 首先,将描述由基础层编码器300执行的编码。
[0282] ROI检测单元301通过从输入的帧数据检测感兴趣区域来获得表示感兴趣区域的ROI信息。例如,ROI检测单元301可被实现为在图9至图11中示出的ROI检测单元70A至70C中的一个。
[0283] 第一帧间预测单元302通过将当前帧的块与邻近于当前帧的至少一个帧的块进行比较来产生运动信息,并基于产生的运动信息来产生在当前帧中将被编码的当前块的预测块。可从存储从先前编码的块恢复的数据的第一存储器600中提供至少一个邻近帧。
[0284] 第一帧内预测单元303基于包括当前编码的块的帧中的基础层的至少一个编码的块,产生预测块。
[0285] 当包括当前编码的块的帧的图像类型是I类型时,第一模式选择器304输出由第一帧内预测单元303产生的预测块,当包括当前编码的块的帧的图像类型是P类型或B类型时,第一模式选择器304输出由第一帧间预测单元302产生的预测块。
[0286] 第一减法器305通过从当前帧的当前块减去从第一模式选择器304输出的预测块,来产生残差块。“残差块”的意思是当前帧的像素和预测块的像素值之间的差的集合。例如,可以以二维(2D)块格式(例如,像素值的2D矩阵或阵列)来表示残差块。
[0287] 第一变换单元307通过对残差块进行变换来产生残差变换系数。第一变换单元307将在时域中的像素值之间的差的集合变换为在频域中表示像素值之间的差的能量的残差变换系数。为此,可执行例如DCT、整数变换、定向变换、小波变换或它们的组合。
[0288] 第一量化单元308可通过使用由第一速率控制器310确定的第一量化码数QP1来对残差变换系数进行量化。第一量化参数QP1是指示将被执行的基本量化程度的因子。当第一量化参数QP1增大时,压缩率高,当第一量化参数QP1减小时,压缩率低。当第一量化参数QP1增大时,当以块为单位执行编码时产生的比特数减少。
[0289] 第一反量化单元311对量化的残差变换系数进行反量化以恢复残差变换系数。
[0290] 第一反变换单元312对恢复的残差变换系数进行反变换以恢复残差块。
[0291] 第一加法器306通过将恢复的残差块和从第一模式选择器304接收的预测块进行结合来恢复视频块。
[0292] 恢复的视频块通过第一滤波器313被去块滤波,并随后存储在第一存储器600中。存储在第一存储器600中的视频块可被用作参考帧数据以执行帧间预测。
[0293] 第一熵编码单元309通过执行可变长编码(VLC)、算术编码或任何其它熵编码技术,将量化的残差变换系数熵编码为比特流。第一熵编码单元309输出当执行熵编码时产生的比特产生信息。比特产生信息的示例可以是关于以输入的帧数据的区域为单位产生的比特数的信息。
[0294] 第一速率控制器310根据以与基础层的分辨率相应的第一目标比特率针对块设置的目标比特数与由第一熵编码单元309在基础层实际产生的(实际)比特数之间的差,确定第一量化参数QP1。例如,如果目标比特数大于实际产生的比特数,则分配给在后的块的量化参数QP1减小,如果目标比特数小于实际产生的比特数,则分配给在后的块的量化参数QP1增大。如果目标比特数等于实际产生的比特数,则分配给在后的块的量化参数QP1保持。初始设置的量化参数可被分配给基础层的块。
[0295] 基础层编码器300基于执行编码的结果来产生编码统计信息。例如,编码统计信息可包括关于以块为单位产生的比特数的信息、关于通过帧间预测产生的帧间SAD的信息、关于通过帧内预测产生的帧内SAD的信息等。
[0296] 由基础层编码器300产生的编码统计信息被存储在帧缓冲器500中。当在基础层编码器300中对输入的帧数据进行编码时产生以执行层间预测的帧内图像信息、运动信息和残差信息也被存储在帧缓冲器500中。
[0297] 接下来,以下描述由增强层编码器400执行的编码处理。
[0298] 对于层间预测,增强层编码器400A通过使用在基础层产生的参考信息(例如,帧内图像信息、运动信息和残差信息)来执行编码。
[0299] 此外,增强层编码器400A通过使用基于在基础层执行编码的结果而产生的编码统计信息和/或ROI信息来控制比特率。
[0300] 上采样单元401A对视频帧数据进行上采样以产生具有根据增强层定义的分辨率的视频帧数据。
[0301] 第二帧间预测单元402基于上采样的当前帧的块、基础层和增强层的至少一个邻近帧的块以及在基础层产生的运动信息,产生将被编码的当前帧的块的预测块。从第一存储器600提供产生预测块所需要的邻近帧,从帧缓冲器500提供在基础层产生的参考信息。
[0302] 第二帧内预测单元403基于包括当前正被编码的块的帧的基础层和增强层的至少一个编码的块,产生预测块。
[0303] 当包括当前正被编码的块的帧是I类型时,第二模式选择器404选择并输出由第二帧内预测单元403产生的预测块,当包括当前编码的块的帧是P类型或B类型时,第二模式选择器404选择并输出由第二帧间预测单元402产生的预测块。
[0304] 第二减法器405通过从当前帧的块减去从第二模式选择器304接收的预测块来产生残差块。“残差块”的意思是当前帧的(实际)块和预测块的像素值之间的差的集合。例如,可以以2D块格式(例如,像素值的2D矩阵或阵列)来表示残差块。
[0305] 第二变换单元407通过对残差块进行变换来产生残差变换系数。第二变换单元407将在时域中的像素值之间的差的集合变换为在频域中表示像素值之间的差的能量的残差变换系数。对此,可执行例如DCT、整数变换、定向变换、小波变换或它们的组合。
[0306] 第二量化单元408可通过使用由第二速率控制器410确定的第二量化参数QP2来对残差变换系数进行量化。第二量化参数QP2是表示将被执行的基本量化程度的因子。当第二量化参数QP2增大时,压缩率高,当第二量化参数QP2减小时,压缩率低。当第二量化参数QP2增大时,当以块为单位执行编码时产生的比特数减少。
[0307] 第二反量化单元411对量化的残差变换系数进行反量化以恢复残差变换系数。
[0308] 第二反变换单元412对恢复的残差变换系数进行反变换以恢复残差块。
[0309] 第二加法器406通过将恢复的残差块和从第二模式选择器404接收的预测块进行结合来恢复视频块。
[0310] 恢复的视频块通过第二滤波器413被去块滤波,并随后存储在第二存储器700中。存储在第二存储器700中的视频块可被用作参考帧数据以执行帧间预测。
[0311] 第二熵编码单元409通过执行VLC、算术编码或任何其它熵编码技术,将量化的残差变换系数熵编码为比特流。第二熵编码单元409输出当执行熵编码时产生的比特产生信息,并将比特产生信息提供给第二速率控制器410。
[0312] 基于由第二熵编码单元409产生的比特产生信息来检测当执行熵编码时实际产生的比特数。
[0313] 第二速率控制器410基于从帧缓冲器500读取的基础层的编码统计信息,确定宏块和/或帧的目标比特数。例如,可根据等式1至等式3来确定将被分配给增强层的i宏块的目标比特数Tmb(i)。第二速率控制器410可根据等式4来确定将被分配给增强层的第i帧的目标比特数TENH_frame[i]。
[0314] 此外,第二速率控制器410可基于从帧缓冲器500读取的ROI信息,将量化参数分配给增强层的宏块。例如,如图24所示,感兴趣区域中的量化参数可被设置为小于非感兴趣区域中的量化参数。
[0315] 此外,第二速率控制器410根据分配给当前宏块的目标比特数与当对当前宏块进行熵编码时实际产生的(实际产生的)比特数之间的差,调整分配给在后的宏块的量化参数。可基于由熵编码单元409产生的比特产生信息来检测实际产生的比特数。
[0316] 例如,当目标比特数大于实际产生的比特数时,分配给在后的块的第一量化参数QP1减小,当目标比特数小于实际产生的比特数时,分配给在后的块的第一量化参数QP1增大。当目标比特数等于实际产生的比特数时,分配给在后的块的第一量化参数QP1保持。初始设置的量化参数可被分配给基础层的块。
[0317] 例如,如果目标比特数大于实际产生的比特数,则分配给在后的宏块的量化参数减小,如果目标比特数小于实际产生的比特数,则分配给在后的宏块的量化参数增大。如果目标比特数等于实际产生的比特数,则分配给在后的宏块的量化参数保持。当对每个帧的第一宏块进行编码时使用根据ROI信息分配的量化参数。
[0318] 图16是根据本发明构思的示例性实施例的多层编码器的详细框图。参照图16,多层编码器包括基础层编码器300、增强层编码器400B、帧缓冲器500、第一存储器600和第二存储器700。
[0319] 基础层编码器300包括ROI检测单元301、第一帧间预测单元301、第一帧内预测单元303、第一模式选择器304、第一减法器305、第一加法器306、第一变换单元307、第一量化单元308、第一熵编码单元309、第一速率控制器310、第一反量化单元311、第一反变换单元312和第一滤波器313。
[0320] 增强层编码器400B包括下采样单元401B、第二帧间预测单元402、第二帧内预测单元403、第二模式选择器404、第二减法器405、第二加法器、第二变换单元407、第二量化单元408、第二熵编码单元409、第二速率控制器410、第二反量化单元411、第二反变换单元412和第二滤波器413。
[0321] 图16的多层编码器是支持空间分级的多层编码器的示例。在图16的多层编码器中,基础层编码器300对具有原始图像分辨率的视频数据进行编码,增强层编码器400B对分辨率低于原始图像分辨率的视频数据进行编码。
[0322] 例如,当原始视频数据的分辨率具有高清晰度(HD)时,基础层编码器300对具有HD分辨率的原始视频数据进行编码。增强层编码器400B对分辨率通过下采样而减小的SD或CIF视频数据进行编码。
[0323] 图16的多层编码器在增强层对分辨率低于基础层的视频数据进行编码,而图15的多层编码器在增强层对分辨率高于基础层的视频数据进行编码。
[0324] 在图15中示出的多层编码器的增强层编码器400A中,帧数据通过上采样单元401A被上采样以产生具有更高分辨率的帧数据,并随后被编码。
[0325] 相反,在图16中示出的多层编码器的增强层编码器400B中,帧数据通过下采样单元401B被下采样以产生具有更低分辨率的帧数据,并随后被编码。
[0326] 因此,在图16中示出的多层编码器的基础层编码器300具有与图15的基础层编码器300相同的结构和操作。除了包括下采样单元401B而不是图15的上采样单元401A之外,在图16中示出的多层编码器的增强层编码器400B的结构和操作与在图15中示出的多层编码器的增强层编码器400A的结构和操作相同。因此,增强层编码器400B的结构和操作与增强层编码器400A的结构和操作相同,并且这里将不再进行描述。
[0327] 在图15和图16中涉及的块可以是宏块,或可具有与宏块的尺寸不同的尺寸。例如,在图15和图16中,第一存储器600和第二存储器700可分别被置于基础层编码器300和增强层编码器400A或400B中。
[0328] 如果在图15的多层编码器的增强层编码器400A中省略上采样单元401A从而当前帧数据可被直接提供给第二帧间预测单元402、第二帧内预测单元403和第二减法器405,则图15的多层编码器可被实现为支持质量分级的多层编码器。
[0329] 接下来,将参照图23的流程图来描述根据本发明构思的示例性实施例的由视频编码设备执行的用于多层视频编码的速率控制方法。
[0330] 参照图23,首先,多层编码器基于对第一层执行编码的结果产生编码统计信息(步骤S110)。第一层可以是在ITU-T H.264/MPEG-4第10部分AVC标准中定义的基础层。或者,第一层可以是在ITU-T H.264/MPEG-4第10部分AVC标准中定义的增强层之一。优选地,第一层比第二层的分辨率低。因此,第一层可被称为较低层,第二层可被称为较高层。
[0331] 例如,编码统计信息可包括以下信息中的至少一个:关于以第一层的区域为单位产生的比特数的信息、关于当前帧和预测帧的像素值之间的SAD的信息和关于第一层的区域的复杂度的信息。这里,区域可包括GOP、帧和宏块中的至少一个。
[0332] 随后,多层编码器基于第一层的编码统计信息,确定将分别分配给第二层的区域的目标比特数(步骤S120)。例如,多层编码器可根据等式1至等式4,基于与在第二层将被编码的宏块的位置相应的第一层的编码统计信息,确定宏块和/或帧的目标比特数。在等式1至等式4中,基础层相应于第一层,增强层相应于第二层。
[0333] 随后,多层编码器通过使用在步骤S120确定的目标比特数来对第二层进行编码(步骤S130)。多层编码器通过基于以第二层的区域为单位确定的目标比特数调整比特率,来对第二层进行编码。
[0334] 在图24中具体示出根据本发明构思的示例性实施例的包括在图23的速率控制方法中的步骤S130。
[0335] 参照图24,多层编码器根据分配给第二层的区域的目标比特数与当对第二层的区域进行编码时分别产生的比特数之间的差,确定将被用于对第二层进行编码的量化参数(步骤S210)。多层编码器根据针对第二层的宏块和/或帧确定的目标比特数与当对第二层进行熵编码时实际产生的比特数之间的差,确定量化参数。例如,如果基于基础层的编码统计信息确定的目标比特数大于实际产生的比特数,则分配给将被处理的宏块的量化参数减小,如果基于基础层的编码统计信息确定的目标比特数小于实际产生的比特数,则分配给将被处理的宏块的量化参数增大。如果基于基础层的编码统计信息确定的目标比特数等于实际产生的比特数,则分配给将被处理的宏块的量化参数保持。
[0336] 随后,多层编码器通过使用在步骤S210确定的量化参数在第二层的编码期间执行量化(步骤S220)。多层编码器通过使用确定的量化参数对在第二层的编码期间产生的残差变换系数进行量化。
[0337] 图25是示出根据本发明构思的示例性实施例的包括在用于多层视频编码的速率控制方法中的确定第二层的量化参数的操作的流程图。
[0338] 参照图25,多层编码器产生关于输入的图像的ROI信息(步骤S310)。例如,多层编码器可通过使用图6至图8之一中示出的ROI检测单元70产生ROI信息。
[0339] 随后,多层编码器基于在步骤S310产生的ROI信息将量化参数分配给第二层(步骤S320)。多层编码器基于在第一层产生的ROI信息,确定将被分配给第二层的区域的量化参数。例如,可检测与将被编码的第二层的当前宏块相应的第一层的宏块,可通过使用关于检测的第一层的宏块的ROI信息来将量化参数分配给将被编码的第二层的宏块。如图24所示,感兴趣区域中的量化参数可被设置为小于非感兴趣区域中的量化参数。
[0340] 随后,多层编码器基于在操作320中分配的量化参数来对第二层执行量化(步骤S330)。例如,多层编码器根据分配给第二层的当前宏块的目标比特数与当对当前宏块进行熵编码时产生的比特数之间的差,调整分配给在后的宏块的量化参数,并通过使用调整的量化参数来对在第二层的编码期间产生的残差变换系数进行量化。
[0341] 接下来,现在将参照图26描述根据本发明构思的示例性实施例的由视频编码设备执行的用于多层视频编码的速率控制方法。
[0342] 首先,多层编码器基于对第一层执行编码的结果,产生编码统计信息和ROI信息(步骤S410)。上面描述了基于对第一层执行编码的结果产生编码统计信息和ROI信息的处理。
[0343] 随后,多层编码器基于第一层的编码统计信息,确定将被分配给第二层的区域的目标比特数(步骤S420)。例如,多层编码器可根据等式1至等式4,基于与将被编码的第二层的宏块的位置相应的第一层的编码统计信息,确定将被分配给第二层的宏块和/或帧的目标比特数。在等式1至等式4中,基础层相应于第一层,增强层相应于第二层。
[0344] 随后,多层编码器基于在第一层产生的ROI信息,将量化参数分配给第二层的区域(步骤S430)。例如,可检测与将被编码的第二层的宏块相应的第一层的宏块,并可基于关于检测的第一层的宏块的ROI信息来将量化参数分配给将被编码的第二层的宏块。
[0345] 随后,多层编码器通过使用分别针对第二层的区域确定的目标比特数和量化参数,来对第二层执行编码(步骤S440)。随后,多层编码器根据针对第二层的宏块和/或帧确定的目标比特数以及当对第二层进行熵编码时实际产生的比特数,调整在步骤S430分配的量化参数。例如,如果基于基础层的编码统计信息确定的目标比特数大于实际产生的比特数,则分配给将被处理的在后的宏块的量化参数减小,如果基于基础层的编码统计信息确定的目标比特数小于实际产生的比特数,则分配给将被处理的在后的宏块的量化参数增大。如果基于基础层的编码统计信息确定的目标比特数等于实际产生的比特数,则分配给在后的宏块的量化参数保持。如上所述,多层编码器通过调整分配的量化参数来对当对第二层进行编码时产生的残差变换系数进行量化。
[0346] 图27是根据本发明构思的示例性实施例的视频提供设备2000的框图。参照图27,视频提供设备2000包括中央处理单元(CPU)810、多层编码器820、网络接口(I/F)830、用户接口(UI)840、视频源850和总线860。
[0347] 总线860是传输线和系统总线,其中,经由总线860在视频提供设备2000的构成元件之间交换数据或控制信号
[0348] 视频源850是视频捕捉装置,例如,视频摄像机、内容提供装置、相机电话、视频电话、具有内置摄像头的移动电话等。
[0349] 多层编码器820可以是图2中示出的视频编码器120。
[0350] 网络I/F830可包括用于经由有线/无线通信信道将由多层编码器820编码的基础层和/或增强层比特流发送到目标装置的软件和/或硬件。
[0351] 用户接口UI840是输入用于控制CPU810的操作的控制信号或将由CPU810处理的数据的装置。UI840可被实现为触摸板鼠标、键区或键盘
[0352] 图28是根据本发明构思的示例性实施例的视频服务系统3000的框图。参照图28,视频服务系统3000包括网络900、连接到网络900的视频提供设备910和至少一个目标装置(例如,目标装置911至917)。
[0353] 网络900可被实现为有线/无线通信网络。
[0354] 视频提供设备910可以是图28的视频提供设备。
[0355] 目标装置911至917可以是电视(TV)911、个人计算机(PC)912、个人数字助理(PDA)913、移动电话914、导航915、视频游戏装置916和笔记本计算机917,但不限于此,目标装置可以是能够接收和解码数字视频数据的任何其它各种装置。
[0356] 虽然已参照本发明构思的示例性实施例具体示出和描述了本发明构思,但是将理解在不脱离权利要求的精神和范围的情况下可对此进行形式和细节上的各种改变。
高效检索全球专利

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

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

申请试用

分析报告

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

申请试用

QQ群二维码
意见反馈