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

用于处理变换系数的方法与流程

2021-11-09 21:06:00 来源:中国专利 TAG:


1.本发明涉及用于处理变换系数的方法、系统和软件产品,该变换系数比如为通过将空 间域图像数据变换到频域而产生的离散余弦变换(dct)系数。更具体地,本发明涉及用 于以促进特别是原始空间域图像数据的缩小版本的有效解码和存储的方式对变换系数进行 编码的方法、系统和软件产品。还公开了用于解码图像数据并从其生成图像的方法和系统。


背景技术:

2.本说明书中对任何现有技术的引用不是承认或暗示该现有技术形成任何管辖区域中的 公知常识的一部分,或者该现有技术可以合理地预期被本领域技术人员理解、认为是相关 的和/或与其他现有技术组合。
3.大多数专业和消费级数码相机利用单个图像传感器,该单个图像传感器通过用滤色器 阵列(cfa)对入射光进行光学滤波来捕获彩色图像。cfa配置成在图像传感器的照片点 中的每个照片点处捕获三种颜色(通常为红色、绿色和蓝色)中的一种颜色的光。由于每 个照片点仅具有关于单一颜色的信息,因此需要内插(或“去马赛克”)的过程来向每个照 片点提供两个“缺失”颜色通道。当与三色图像采集一起工作时,该过程通常将图像数据 量增加三倍。附加地,在图像可以以可视形式呈现在显示器上之前,通常需要进一步的处 理(包括白平衡、颜色变换、降噪和色调映射)。
4.这样的处理流程可以在压缩经处理的数据以用于存储和/或稍后回放之前直接在相机 的硬件上执行。已经开发了各种压缩技术,所述各种压缩技术包括mpeg标准和h.26x标 准以及由申请人开发的“blackmagic raw”格式。这些技术基于将输入图像划分为固定尺 寸的空间域图像数据块(例如,n
×
n个像素块、m
×
n个像素块),并且将每个块的图像数 据变换为变换系数块。一种常见的方法涉及使用离散余弦变换(dct)来生成具有与对应 的空间域块相同数量的系数的对应的频域数据块(例如,n
×
n系数的或m
×
n dct系数的 块)。在dct变换之后,对每个频域块的数据进行量化和熵编码,从而产生表示空间频率 的压缩块的一系列码字。所有块的码字被连接成表示整个图像的码字序列,其可以被存储 或发送以用于后续解码。
5.专业相机通常还允许图像数据以其“原始”形式存储(即,来自图像传感器的尚未被 去马赛克的数据)。这允许某些处理决策(比如待使用的特定去马赛克算法)被推迟,例如 推迟到后期制作的时间。但是即使在这种情况下,也可以执行相同的编码过程。
6.后期制作工作流的一些方面(诸如编辑和颜色分级)并不总是要求图像以由图像传感 器捕获的全分辨率显示。然而,由于图像总是以编码形式存储(主要是为了压缩图像数据), 因此即使当仅需要较低分辨率图像时,仍然需要在图像可以被打开和缩小以便以较低分辨 率观看之前执行全分辨率解码。随着现代数码相机的高分辨率图像捕获能力,这个问题变 得更加明显。
7.一种缩减(即,生成较低分辨率图像)的方法涉及将变换系数块的维度减小到低于
编 码期间使用的块尺寸。该块尺寸减小被应用于已经通常在解码阶段期间经历了至少某种形 式的解压缩的数据。为了进一步将数据解码成可显示的形式,对减小尺寸的块执行逆变换 (例如,idct),以生成相应减小尺寸的空间数据块。这在图1中示出,图1分别示出了在 应用对应的逆dct变换之后频域块的尺寸与从它们获得的空间数据块之间的对应关系。图 1示出了:
8.·
从n
×
n频域块(3)生成全尺度n
×
n空间块(2);
9.·
从对应的半尺度n/2
×
n/2频域块(5)生成半尺度(n/2
×
n/2)空间域块(4);以及
10.·
从对应的n/4
×
n/4频域块(7)生成四分之一尺度(n/4
×
n/4)空间域块(6)。
11.在每种情况下,相对于全尺度dct块(3)示出按比例缩小的dct块(5,7),以示 出它们的相对尺度。
12.美国专利申请no.20040114812以矩阵变换的形式描述了另一种缩减方法,该矩阵变换 从逆dct输出的一组变换系数直接生成缩减图像的像素数据。
13.本发明旨在采取一种替代方法来处理变换系数,包括用于存储原始图像数据的缩小版 本和/或在dct变换之前产生原始图像数据的缩小版本的目的。


技术实现要素:

14.根据本发明的第一方面,提供了一种用于处理一组变换系数的方法,该方法包括:
15.将变换系数划分为多个块;以及
16.针对每个块:
17.将块的系数排序成序列;
18.对经排序的系数序列进行编码以产生码字序列,每个码字均包括一个或更多个编码系 数;以及
19.将码字序列划分为两个或更多个子序列。
20.可以通过从图像的对应的不同空间区域,即,在被编码的图像中定义的空间块或图块, 生成所划分的变换系数块来将变换系数划分为多个块。通过使用将码字序列(码字序列中 的每个码字序列均包括一个或更多个编码变换系数)划分为码字的单独子序列(或“子流”) 的方法,本发明(至少在优选实施方式中)允许从仍然处于编码形式的变换系数有效地生 成较低分辨率的图像。与上述现有技术不同,本发明并不总是需要对整个图像进行解码以 产生较低分辨率的图像。
21.此外,通过使用将码字序列划分为单独的子序列的方法,原始图像数据仍然可以在单 遍中被编码。在一种形式中,可以使用单个熵编码器来实现本发明,而不增加任何附加的 计算复杂度。本发明还保持与将系数编码为单个块相关联的压缩效率,而不是编码单独的 子块组。
22.优选地,每个子序列中的码字的数量以及每个码字中包含的编码系数的数量至少部分 地由缩减比确定。换句话说,以特定缩减比产生较低分辨率图像所需的系数被分配给单独 的子序列或多个子序列。例如,对于1/2缩减比,可以将系数的约25%分配给第一子序列, 并且将系数的其余75%分配给将不需要被熵解码的第二子序列。因此,以1/2或更小(即,1/4、1/8等)的缩减比生成图像的缩减过程不需要解码第二子序列。
23.在一些实施方式中,块的系数序列的排序是包括置换区域和之字形排序区域的修
改的 之字形排序。修改的之字形排序(之字形是熵编码中使用的标准排序)的使用基本上以更 有效的方式对系数进行分组。这些系数按照之字形图案的顺序被顺序编码,并且修改的之 字形图案有利地将变换系数排列成序列,使得定义对应于所选择的缩减比的(变换系数的) 子块的系数被一起编码。这具有以下优点:在解码期间,生成缩小图像不需要的系数不太 可能被解码。反过来,这减少或消除了在执行不必要的解码操作(比如熵解码和逆dct操 作)中花费的性能瓶颈。
24.根据一些实施方式,每个块的维度为n
×
n,并且之字形排序区域包括每个块的对角线 上和下方的系数。
25.根据本发明的第二方面,提供了一种用于对使用本发明的第一方面的实施方式产生的 编码图像文件进行解码的方法。该方法包括:
26.选择图像分辨率;
27.选择适合于以所选择的图像分辨率生成图像的一个或更多个子序列;以及
28.解码所选择的子序列。
29.根据本发明的第三方面,提供了一种计算机软件产品,该计算机软件产品包括指令, 该指令在由处理器执行时使处理器通过执行本发明的第一方面的实施方式来处理一组变换 系数。
30.根据本发明的第四方面,提供了一种用于存储图像数据帧的方法,该方法包括:
31.将图像数据帧变换成一组变换系数;使用本发明的第一方面的实施方式来处理该变换 系数;以及存储子序列中的所选择的子序列。
32.可以存储所有子序列(或少于所有子序列)。
33.优选地,基于缩减比来选择被选择用于存储的子序列。换句话说,选择仅包含在解码 时产生期望比例的缩小图像的系数的子序列进行存储。编码期间生成的其他子序列可以被 丢弃。
34.本发明还提供了一种计算机软件,该计算机软件包括指令,该指令在由处理器执行时 使处理器执行根据本发明的该方面的方法。
35.在本发明的第五方面,提供了一种用于处理一组变换系数的方法,变换系数布置成多 个块,每个块代表图像的空间区域,并且该方法包括:
36.针对每个块:
37.将块的系数排序成系数序列;
38.对经排序的系数序列进行编码以产生码字序列,每个码字均包括一个或更多个编码系 数;以及
39.将码字序列划分为两个或更多个码字子序列。
40.每个子序列中的系数的数量可以至少部分地由缩减比来确定。
41.将码字序列划分为两个或更多个码字子序列可以包括:基于第一缩减比来定义第一变 换系数子块;以及将码字分配到第一码字子序列中,直到第一码字子序列包含通过解码第 一码字子序列来重新创建第一变换系数子块所需的所有码字为止。
42.将码字序列划分为两个或更多个码字子序列还可以包括:基于第二缩减比定义第二变 换系数子块;以及将不在第一码字子序列中的码字分配给第二码字子序列,直到第二码字 子序列和第一码字子序列的组合包含通过对码字组合进行解码来重新创建第二变换
系数子 块所需的所有码字为止。
43.该方法还可以包括基于对应的缩减比来定义第一变换系数子块,以及将码字序列划分 为形成第一码字子序列,其中,该第一码字子序列包含用以解码第一变换系数子块所需的 那些码字。该方法可以进一步包括基于对应缩减比来定义第二变换系数子块,以及将码字 序列划分为形成第二码字子序列,其中,第二码字子序列包含这样的码字,即:其为在这 样的码字与包含在第一码字子序列内的码字组合时对于解码第二变换系数子块是必需的的 码字。该方法还还可以包括基于对应的缩减比来定义第三变换系数子块;以及将码字序列 划分为形成第三码字子序列,其中,第三码字子序列包含这样的码字,即:其为在这样的 码字与包含在第一码字子序列和第二码字子序列内的码字组合时对于解码第三变换系数子 块是必需的的码字。在这些实施方式中的任何一个实施方式中,该方法可以包括将码字序 列划分为形成第三码字子序列,其中,第三码字子序列包含这样的码字,即:其为在这样 的码字与包含在第一码字子序列和第二码字子序列内的码字组合时对于解码第三变换系数 子块是必需的的码字。在任何前述实施方案中,将码字序列划分为两个或更多个码字子序 列还可以包括将与块相对应的其余码字分配给至少一个另外的码字子序列。
44.在本发明的第五方面的所有上述实施方式中,变换系数块可以包括m
×
n变换系数的阵 列,其中,n可以等于或不等于m,并且码字子序列中的至少一个码字子序列表示包括 m/d
×
n/d变换系数的阵列的变换系数子块,其中,1/d是子块的缩减比。
45.在一些实施方式中,将码字的序列划分为两个或更多个码字的子序列包括:
46.创建包括足够的码字的码字子序列,以重新生成包括m/d x n/d变换系数的变换系数 子块,其中,1/d是子块的缩减比。
47.将每个块的系数排序成所述系数序列是包括置换区域和之字形排序区域的修改的之字 形排序。在这种情况下,如果每个块的维度为nxn,则之字形排序区域优选地包括每个块 的对角线上和下方的系数。
48.以上实施方式中的任一个实施方式的方法还可以包括:将多个块的对应子序列布置成 公共子序列。在这种情况下,该方法可以包括存储包含所述公共子序列中的一个或更多个 公共子序列的图像文件。该方法还可以包括将多个公共子序列存储在图像文件中,以使得 能够以与相应公共子序列相对应的至少一个预定缩减比生成缩减图像。
49.在本发明的第六方面,提供了一种用于对使用根据本发明的第五方面的实施方式的方 法产生的编码图像进行解码的方法。该方法可以包括:
50.选择图像分辨率;
51.选择适合于以所选择的图像分辨率生成图像的一个或更多个码字子序列;以及
52.解码所选择的子序列。
53.针对表示图像的空间区域的每个块,该方法包括:解码比所有子序列少的子序列,以 产生具有比编码之前的块少的变换系数的变换系数子块。
54.在本发明的另一方面,提供了一种用于从编码图像数据生成缩减图像的方法,所述编 码图像数据已经通过根据本发明的第一方面或第五方面的实施方式的方法生成。该方法可 以包括:
55.选择图像分辨率;
56.针对表示图像的空间区域的每个块:
57.解码比所有码字子序列少的码字子序列,以产生具有比编码之前的块少的变换系 数的变换系数子块;
58.使用定尺寸成生成与所选择的图像分辨率相对应的空间域图像数据的逆变换对 变换系数子块执行逆变换;以及
59.处理每个子块的空间域图像数据,以生成所选择的图像分辨率的经缩小的图像。
60.变换系数的子块可以具有与所选择的图像分辨率相对应的多个系数。
61.在上述实施方式中,该方法可以包括在执行逆变换之前对变换系数子块进行重新排序, 其中,经重新排序的变换系数子块是之字形图案。
62.本发明的另一方面涉及一种计算机软件产品,该计算机软件产品包括指令,该指令在 由处理器执行时使处理器执行本文所公开的方法的实施方式。
63.本发明的另一方面涉及一种用于存储图像数据帧的方法,该方法包括:
64.将图像数据帧变换成一组变换系数;
65.执行根据上述第一方面或第五方面中的任一方面的实施方式的编码方法;以及
66.存储码字子序列中的一个或更多个码字子序列。
67.一个或更多个码字子序列优选地以便于检索所述码字子序列中的所选择的码字子序列 的方式存储。但是应当指出的是,在一些实施方式中可以存储所有子序列以使得能够执行 全分辨率解码。
68.除了上下文以其他方式要求的情况,本文中使用的术语“包括(comprise)”和该术语 的变型比如“包括(compring)”“包括(comprises)”“包括(comprised)”并非意在排除另 外的附件、部件、整体或步骤。
69.本发明的其他方面和前述段落中描述的方面的其他实施方式将从通过示例的方式并参 照附图给出的以下描述中变得明显。
附图说明
70.图1是示出了频域(dct域)中的图像缩减的现有技术方法的框图;
71.图2是数码相机的示意图;
72.图3是根据本公开的实施方式的方法的编码阶段的流程图;
73.图4a和图4b示出了能够在本公开的实施方式中使用的用于8
×
8dct系数矩阵和12
ꢀ×
12dct系数矩阵的示例性修改的之字形图案;
74.图4c和图4d示出了用于8
×
8dct系数矩阵和12
×
12dct系数矩阵的示例性常规 之字形图案,并且示出了它们可以如何在本公开的实施方式中使用;
75.图5是示出了各种子序列产生方法的框图;
76.图6a和图6b是使用在此描述的方法分别对单个空间块和一系列空间块进行编码的过 程的示意图;
77.图7是根据本发明的实施方式的方法的解码阶段的流程图;
78.图8a、图8b和图8c分别是使用在此描述的方法对图像数据进行解码以生成全分辨 率图像、低分辨率图像、以及中等分辨率图像的过程的示意图;以及
79.图9是根据本发明的实施方式排序的两个变换系数块的图示。
具体实施方式
80.现在将参照具体示例对本发明的各实施方式进行描述,但是本发明的范围不应当被认 为限于这些示例。
81.图2是能够实现根据本公开的方法的相机10的示意性表示。然而,本领域技术人员将 认识到,根据本公开的方法(包括编码操作和解码操作)可以在通用计算硬件和专用计算 硬件上运行的软件中实现。例如,根据本公开的方法可以容易地集成到视频和图像编辑软 件中。
82.相机10包括图像捕获系统12,图像捕获系统12配置成将接收到的光转换成图像数据。 在该示例中,图像捕获系统12包括图像传感器12a(例如,ccd图像感测芯片或cmos 图像感测芯片或类似物)和相关联的光学滤波器12b(例如,ir截止滤波器或光学低通滤 波器)。还提供光学系统14例如透镜以在图像传感器上形成图像。图像传感器通常(如果 图像传感器不是单色相机)包括滤色器的空间阵列形式的滤色器阵列(cfa),其安置在图 像传感器芯片的前面以使得能够捕获彩色图像。cfa的滤波器与单个图像传感器的照片点 在空间上相关,使得每个照片点具有对应的光谱选择性滤波器。在该示例中,所使用的cfa 是具有交替的红色滤色器、绿色滤色器和蓝色滤色器的拜耳cfa,但是本发明的技术不限 于与任何特定的光学系统或cfa一起使用,并且也可以与单色成像系统一起使用。
83.由图像捕获系统12生成的图像数据包括与在图像传感器12a的每个照片点处接收的 光水平相对应的像素值阵列。图像数据被传递至图像处理子系统18。图像处理子系统18 可以包括一个或更多个数据处理器比如asic或fpga或具有相关联软件的微处理器,并 且图像处理子系统18配置成执行一系列图像处理任务。设置工作存储器20以使得能够在 图像处理和其他任务期间临时存储数据或软件等。
84.图像处理子系统18还包括视频编码系统22。视频编码系统22通常将通过提供配置成 使得处理器(或fpga或asic)能够实现一个或更多个视频编解码器的软件来实现。该系 统可以用于通过根据本公开的方法将图像数据编码并压缩成期望的格式。
85.图像处理子系统18还可以包括格式转换系统24,该格式转换系统24将图像数据处理 成能够更好地在视频传输系统26上传输或者更便于下游处理的格式(比如y’cbcr)。设置 格式转换系统24以将图像格式化为所述视频传输格式中的一种视频传输格式进而使得能 够在被传递至视频传输系统26之前进行传输。这可以包括将图像数据从其原始格式转码为 视频传输系统26的适当视频传输格式(适当视频传输格式中的一种视频传输格式)。
86.视频传输系统可操作成经由具有至少一个视频输出端口的视频接口传输(并且可选地 接收)视频输出数据(比如输出数据至外部视频记录器或记录器/监测器)。视频接口可以 是双向的,并且因此还包括视频输入端口。作为示例,视频接口可以是sdi接口或其他类 似接口。
87.相机还包括存储器控制子系统28形式的数据存储系统,其配置成控制视频数据(及任 何其他数据)在本地非易失性存储器30上的持久存储。本地存储器30可以使用可移除存 储器比如存储卡或可移除硬盘驱动器。然而,在一般情况下,存储器控制子系统28布置成 向本地存储器30发送控制信号和/或从本地存储器30接收控制信号,以控制存储器30上 的视频数据的存储和检索并且还执行用于存储的数据的任何处理或格式化。存储器30可以 是根据串行ata协议操作的固态驱动器,在这种情况下,存储器控制子系统将操作成
度上小于量化之前的系数。通常,许多较高频率系数被舍入为零(即,零是在输入系数除 以量化矩阵中的指定常数值之后最接近输入系数的整数)。
103.在量化之后,每个块的量化系数以指定的顺序排列(步骤70)。根据优选实施方式, 使用修改的之字形排序。用于8
×
8块和12/12块的示例性修改的之字形排序分别如图4a和 图4b所示。在两个图中,之字形顺序从左上角的dc系数(1)开始,并以数字指示的顺 序前进通过系数。为了帮助之字形排序的可视化,顺序的路径在图4a和图4b中以实线 指示。
104.常规的之字形图案(在图4c中针对8
×
8块示出,并且在图4d中针对12
×
12块示出) 以dc系数开始,并且然后沿着反向对角线路径沿着一系列前进到连续的相邻系数。第一 对角路径从与dc系数水平相邻的系数开始。当模式到达系数矩阵的边缘时,它前进到位 于系数矩阵的边缘上的最接近的相邻系数,然后沿着系数的下一对角线转向并前进连续的 系数。
105.与常规的之字形图案(图4c和图4d)不同,修改的之字形图案(图4a和图4b)具有 不连续性,在该不连续性处发生以下方面中的一个方面或两个方面:
106.之字形图案前进到非相邻系数;
107.之字形图案在不在系数矩阵的边缘处的系数处改变前进方向。
108.以这种方式,图4a和图4b的修改的之字形图案创建一系列子块。之字形图案似乎遍 历在dc系数处具有共同原点的系数的一系列正方形。嵌套正方形的尺寸从2
×
2正方形增 加至4
×
4正方形,然后8
×
8正方形等。该示例中的每个子块包含连续正方形之间的那些变 换系数,即正方形内的所有系数,除了已经分配给较早子块的系数之外。可以定义不同数 量的这种嵌套正方形。因此,之字形图案中的不连续性可以是跳转以开始之字形图案中的 新正方形(由图4a和图4b中的系数4至5、16至17以及图4b中的64至65的虚线箭头 示出),或者跳过沿着相同对角线路径但已经出现在之字形图案的较早正方形中的系数(如 图4a和图4b中的系数5至6、17至18、20至21等的虚线箭头所示)的不连续性。
109.其他形状的子块形状也是可能的,例如:与图5的块65中的子序列s2对应的子块; 在用于划分图像的块是矩形的实施方式中(即,块具有m
×
n的维度,并且m≠n,子块优 选地也具有相同的形状。)
110.如在图4a和4b中可以看到的,修改的之字形排序包括置换区域和具有标准之字形排 序的区域。在图4a所示的8
×
8块的情况下,在块的左下(系数36)与右上(系数30)之 间延伸的系数的对角线以及下面的对角线是标准的之字形排序,其中,块的其余部分包括 置换区域。置换区域包含上面论述的系数的嵌套正方形以及围绕它们的沿着相同对角线的 任何系数。
111.在步骤80中,对有序系数序列中的每个系数进行编码。霍夫曼编码是优选的,然而也 可以使用其他编码技术。游程长度编码也可以在霍夫曼编码之前应用于系数序列。游程长 度编码可以通过将相同值的多个条目存储为计数(即,值重复的次数)和值本身来提高压 缩比。优选的是,将游程长度编码的使用限制于由高频ac系数的量化产生的零的游程。 另外,由于游程长度编码有时会增加需要存储的数据量(即,在没有重复值的长游程的情 况下),因此可以适当地从编码过程中省略它。
112.对有序系数序列进行霍夫曼编码涉及向输入中的每个非零系数分配唯一码字。零值系 数的游程通常由下一个非零系数的码字(或由块末端的码字)指示。根据每个系数的
出现 概率,由霍夫曼编码产生的码字具有可变长度。所得到的代码是唯一可解码的并且是瞬时 的(即,无前缀)。
113.将码字分配给有序序列中的每个非零系数导致有序码字流。
114.已经发现霍夫曼编码对于编码原始图像数据是适当有效的。
115.在步骤90中,码字的该串行流由流解复用器(在视频编码系统22上执行)划分成多 个单独的子流。流解复用功能还可以集成到编码器的其他功能单元比如霍夫曼编码器或输 出缓冲器中。
116.在替代性实施方式中,系数在被编码之前由流解复用器划分成单独的子流(图3中的 步骤80和步骤90的顺序颠倒)。根据该实施方式,流解复用器将系数分离成可以单独处理 和/或编码的子序列。这样的实施方式可能需要多个编码器来编码多个子序列的系数。然而, 如果较短的子序列可以共享编码器而至少一个较长的子序列具有专用编码器,则编码器的 数量可能不需要匹配由解复用器生成的子序列的总数。
117.通常,流解复用器可操作成通过参照一个或更多个缩减比来构造各个子序列。优选地, 选择缩减比以便于在生成图像的缩小版本时提高解码效率。
118.图5中示出了如何将块中的变换系数映射到不同子序列的三个示例。三个示例示出为 如下:
119.示例45,其为具有8
×
8变换系数块的图像定义了三个子序列;
120.示例65,其为具有8
×
8变换系数块的图像定义了四个子序列;以及
121.示例55,其为具有12
×
12变换系数块的图像定义了四个子序列。
122.然而,在本发明的其他实施方式中,可以使用其他块尺寸和子序列的数量。
123.首先转到8
×
8块(45)的情况。在该示例中,第一子序列(s0)编码至第一dct系数 (即,dc系数)和产生与预定缩减比对应的块尺寸所需的ac系数的数目。8
×
8系数块的 1/4缩减比意味着必须在子序列s0中编码2
×
2系数子块,因此在子序列s0中需要最少3 个ac系数和dc系数。
124.下一子序列(s1)对应于较低的缩减比(例如,1/2的缩减比),并且包含对产生具有 与缩减比相对应的维度的子块所需的多个附加ac dct系数进行编码的码字。为了产生适 合于生成按1/2缩小的图像的子块,将4
×
4系数子块编码成s1。在该示例中,s0中的码字 编码12个系数,并且当与s0的码字组合时,可以解码所需的16个系数。
125.其余的48个系数被分配给第三子序列s2。图5还示出了应用于12
×
12块(55)的子 序列构造方法。在这种情况下,子序列s0编码足够的系数以产生对应于1/6缩减比的块尺 寸,即,2
×
2dct系数块。s1在与s0组合时编码足够的系数,以使得能够产生与待产生 的1/3缩减比相对应的块尺寸,其是4
×
4dct系数块;并且s2对与s0和s1组合的足够 的系数进行编码,可以解码对应于2/3缩减比的块尺寸,即8
×
8dct系数块。s3包括生成 12
×
12系数块以使得能够重新创建全分辨率图像所需的所有其余系数。
126.图5还示出了应用于生成4个子序列的8
×
8块(65)的替代性子序列构造方法。在该 示例中,子序列s0和子序列s1根据框45的示例。在这种情况下,子序列s2具有分配给 它的足够的系数,以使得组合s0和s1可以重新创建8
×
8系数块的主对角线上方的至少所 有dct系数。因此,子序列s2包括16个系数。子序列s3包括32个系数。
127.这种子序列分配方法可以有利地产生具有更多偶数码字的子序列,以使处理效率
最大 化。该方法可以在实时实现中使处理速度加倍,这是由于它保证最大子序列(即子流s3) 不具有多于每个块系数的一半。
128.结合图5所描述的子序列是根据dct系数描述的(尽管它们是从任何适当的变换产生 的),然而,在图3的实施方式中由步骤90产生的子序列实际上包含码字序列。
129.如以下将例示的,游程长度编码的使用可以意味着,较早的子序列将对被指定为落入 随后的子序列中的变换系数进行编码。因此,给定子序列(当其与所有较早(通常为较低 频率分量)子序列组合时)将包含足够的数据(码字或dct系数,如果尚未发生编码)以 重新创建预定大小的变换系数块。优选地,该尺寸对应于特定的缩减比。对于正被编码的 给定块,如果采用下面的编码方案,则子序列可以是空的:该子序列的整个内容可以被编 码成较低编号的子序列而没有在编码较早的子序列时的低效率,例如由于游程长度编码而 存在足够长以延伸横过整个子块的零值系数的游程,该子块将被有效地编码成出现在较早 的子序列中的码元,并且对于该块该子序列将实际上是空的。eob标记可以被分配给包括 最后编码的非零系数的相同子序列。因此,空的子序列或“丢失”的系数在解码期间不会 引起问题,这是由于解码较后的子序列将总是需要解码所有较早的子序列。
130.回到图3,由流解复用器产生的子序列被存储在输出缓冲器中(步骤95)。子序列中的每 个子序列通常存储在非易失性存储器的指定块中,以使解码器能够只读取特定的降低分辨 率的解码所需的特定编码子序列并对其进行解码。诸如子序列的数目、开始位置、地址偏 移和指向编码系数的指针之类的流特征连同诸如dct和量化矩阵、块尺寸和其他在解码阶 段中所需的信息之类的元数据一起也被存储在编码块的帧头中。
131.取决于游程长度编码、熵编码、和块结束(eob)标记的位置的组合,所例示的编码 方法非常适合于管理宽范围的缩减比同时保持压缩效率。另外,可以如同使用完整的块尺 寸和标准的之字形排序那样执行游程长度编码。在这点上,游程长度编码值几乎总是被包 括在游程开始的子序列中,然而,该长度可以延伸到下一个更高的子序列中,或者甚至跨 越多个子序列。
132.编码方法的效率也源于这样的事实,即,它实现了与在全图像上执行时相同的压缩比, 但是对于降低的分辨率实现了可测量地更快的部分解码。
133.提供图6a和图6b以进一步帮助理解图3的方法的各方面。首先转向图6a,其示出 了示例性方法对图像的单个像素块的操作。图像900被分成空间块(例如901)。然后,使 用dct 905将其变换到频域中,以生成包括多个dct系数的块910,所述多个dct系数 表示图像900内的块901。块910具有与块901(以像素为单位)相同的尺寸(以系数为单 位)。dct系数如图3的步骤60所示被量化。系数被串行读入编码器,在步骤80中编码 器执行熵编码。在步骤700中设置将系数串行流读入编码阶段的顺序。优选地,系数的排 序是这样的,dct块900中的子块s0、s1和s2中的每一者内的系数是连续的,并且最优 选地遵循图4a或图4b中所陈述的之字形图案。串行编码流915包括如下码字(从最早到 最晚排序):es0、es1、es2(应当指出的是,在图6a和图6b中,码字流是作为在先进 先出的基础上向右移动的队列,使得最右边的码字(图6a中的es0)被首先处理)。步骤 90(图3)中的该序列被传递至解复用器920(从es0开始),该解复用器将串行编码流分 成三个子序列流0、流1和流2。然后可以单独地缓冲每个子序列的码字(后面跟着来自后 续块的对应子序列码字),并且以在需要时能够单独处理它们的方式传递该码字以便进一步 处理或存储。
134.图6b通过示出若干块1000(块1
……
块n)的相同处理来扩展图6a。块1
……
n可 以表示同一图像中的不同空间块,或者不同图像中的空间块。例如,连续处理的块可以表 示来自一组y、cb和cr分量图像或来自任何其他颜色编码方案的分量图像中的每个图像 的块。每个dct系数块的系数由排序步骤70排列成子块,使得块i具有:系数s
i
0的子块, 其包括包含dc系数的2
×
2块;子块s
i
1,其具有接下来的12个系数并且在与块s
i
0组合时 完成4
×
4阵列;以及完成8
×
8块的48个系数的其余子块。块1
……
n被编码以生成串行排 列的码字序列1010。首先按照图6a对块1进行编码,然后是块2,继续到块n。因此,串 行排列的码字序列1010包括如下编码的子块(从第一到最后排序):es10、es11、es12、 es20、es21、es22、
……
、es
i
0、es
i
1、es
i
2、es
n
0、es
n
1、es
n
2,其中,上标表示块号, 最后的数字表示子块号。如上所述,在图6b中,码字序列被示出为先进先出队列,其朝向 复用器移动(即,向右和向下),使得队列(es10)中的第一码字首先被处理。然后,码字序 列1010被解复用并形成为3个子序列(对应于块中的有序系数中的三个子块)。子序列0 包括表示s0子块s10、s
20……
s
i0……
s
n
0的系数中的每个系数的那些码字。除了子序列0 之外,子序列1还包括表示s1子块s11、s
21……
s
i1……
s
n
1的系数中的每个系数所必需的 那些码字。除了子序列1和0之外,流3还包括表示s2子块s12、s22
……
s
i2……
s
n
2的系 数中的每个系数所必需的那些码字。
135.本发明的一些实施方式应用于存储较低分辨率图像(通过仅存储所选择的子序列来实 现),从而使得能够在相同量的存储器中存储更多图像或更长的视频序列。
136.根据本公开的实施方式的方法的解码阶段110由图7的流程图示出。对在编码阶段期 间产生的编码图像文件执行解码,如本文所阐述的那样。
137.在步骤510中,选择待解码的图像的分辨率。该选择可以是主动选择,由此用户选择 待生成图像的分辨率,或者在某个下游过程仅需要或允许使用某个分辨率的图像——例如, 解码图像以在低分辨率监测器上显示——的意义上该选择可以是被动选择。如以上所论述 的,以有助于增强解码的方式对图像数据进行编码和存储,这是由于仅对以期望分辨率生 成图像所需的图像数据进行解码。例如,可以以1/2的缩减比对图像数据进行解码,这对于8
×
8 块尺寸,仅涉及对测量为4
×
4的较小维度块进行解码。同样地,以1/2尺度比解码的12
×
12 块尺寸涉及仅解码减小的6
×
6块尺寸。
138.通常,可以使用k/n的任何固定整数比作为缩减比,其中,n是用于对图像数据进行 编码的块尺寸,并且k是范围从1

n的整数。
139.在分辨率选择之后,获得所选分辨率所需的那些子序列被访问(例如,从存储器读取), 并且被传递通过流复用器(步骤520)以生成码字的串行流,从中可以解码所选分辨率图 像。例如,为了解码使用8
×
8块编码的图像45(图5),以1/2尺度比选择子序列s0和子序列 s1。如上所述,这些子序列共同包含来自4
×
4子块的16个编码系数。
140.同样地,为了以1/4尺度比解码8
×
8块,仅需要选择子序列s0(其包含2
×
2网格中的四 个编码符号)。
141.在步骤530中,对检索到的子序列进行熵解码。解码霍夫曼编码的数据通常是通过参 照码本逐字地进行的。这是必要的,这是由于每个唯一码字只能通过在单独的比特级解码 而与编码字母表中的其他字区分开。由于编码方案的这些特性,通常不可能在编码比特流 中的任意位置处开始解码。编码比特流本身不提供关于在何处开始解码或何时移动到下一 个块的信息,除非前一个块被完全解码。因此,通常从图像元数据中检索解码开始点,
间选择的顺序包含dct系数。在该示例中,dct块1140根据图4的修改的之字形排序45 来布置。然后将它们排列成允许对它们应用逆变换的顺序。接下来,将逆dct 1150应用于 每个块1140以创建对应的8
×
8像素块1155。然后可以将重新创建的像素块1155组装并处 理成全分辨率的最终图像1160。
152.现在转到图8b,图8b示出了与图8a的图类似的图,但是是针对期望重新创建低分 辨率图像的情况。由于要生成低分辨率图像,因此需要处理少于编码数据的所有子序列。 在该示例中,假设要生成1/4分辨率图像,因此方法1200以仅获取(例如,经由传输信道 接收或从存储器访问或从缓冲器读取等)子序列流0开始。码字可以被传递至流复用器1110 以生成码字的串行布置序列1120。然而,假定在该示例中实际上没有执行复用,则可以省 略流复用器1110。然后,对由此得到的码字流1220进行解码1130,以创建一系列dct块 1240,其具有与图4a的s0块相同的尺寸,即2
×
2。将dct系数在需要的情况下重新排列 成标准排序,并且将逆dct应用于块1240中的每个块以创建对应的2
×
2像素块1255。由 于dct系数块1240是全分辨率块的1/4大小,因此仅需要应用2
×
2idct来生成每个2
×
2 像素子图像1255。然后可以将重新创建的像素块1155组装并处理成原始图像的1/4分辨率 的最终图像1260。
153.现在转到图8c,图8c示出了与图8a和图8b的图类似的图,但是是针对期望重新创 建中等分辨率图像的情况。由于要生成中等分辨率图像,因此需要处理少于编码数据的所 有子序列。在该示例中,假设要生成1/2分辨率图像,因此方法1300以仅获取(例如,经 由传输信道接收或从存储器访问或从缓冲器读取等)两个子序列流0和流1开始。码字可 以被传递至流复用器1110以生成码字的串行布置序列1320。不需要获取(例如读取或接收) 流2,这是因为生成1/2分辨率图像不需要流2。然后对由此得到的码字流1320进行解码 1130以创建一系列dct块1340,其具有与图4a的组合s0 s1块相同的维度,即4
×
4。接 下来,将逆dct应用于块1340中的每个块以创建对应的4
×
4像素块1355。由于dct系 数块1340是全分辨率块的1/2大小,因此只需要应用4
×
4idct来生成每个4
×
4像素子图 像1355。然后可以将重新创建的像素块1355组装并处理成原始图像的1/2分辨率的最终图 像1360。
154.图4c和图4d示出了使用标准之字形图案的实施方式。在图4c和4d中,块400c和 块400在步骤70中使用标准之字形图案进行排序,如块系数的编号和所示路径所指示的。 这些流在步骤80中并且根据图3被编码,然后由流解复用器解复用成若干流。来自图4c 的块400c被分成三个子序列,如下:
155.子流s0

表示系数1至系数5的码字;
156.子流s1

表示系数6至系数25的码字;以及
157.子流s2

表示系数26至系数64的码字。
158.通过选择用于对编码数据流进行解复用的这些子序列,可以以以下分辨率方便地解码 图像的版本:
159.通过仅访问和解码子流s0来达到1/4的缩减比;
160.通过附加地访问和解码子流s1来达到全分辨率的1/2的缩减比;
161.通过附加地访问和解码子流s2来达到全分辨率。
162.来自图4d的块400d被分成如下四个子序列:
163.子流s0

表示系数1至系数5的码字;
的ac6的码字指示。每个子序列的数据内容如下所示:
184.子流0:y0_dc0_cw,y0_ac1_cw,y0_ac6_cw,y1_dc0_cw,y1_ac1_cw,y1_ac2_cw, y1_ac3_cw
185.子流1:y0_ac7_cw,y0_ac8_cw,y0_ac9_cw,y0_ac10_cw,y0_ac11_cw,y0_ac12_cw, y0_ac13_cw,y0_ac14_cw,y0_ac15_cw,y1_ac4_cw,y1_ac5_cw,y1_ac6_cw,y1_ac7_cw, y1_ac8_cw,y1_ac9_cw,y1_ac10_cw,y1_ac11_cw,y1_ac12_cw,y1_ac13_cw,y1_ac14_cw, y1_ac15_cw
186.子流2:y0_ac16_cw,y0_ac17_cw,y0_ac18_cw,
……
y0_ac62_cw,y0_ac63_cw, y1_ac16_cw,y1_ac17_cw,y1_ac18_cw,
……
y1_ac62_cw,y1_ac63_cw
187.在这种情况下,码字y0_ac6_cw已被“提升”到子流s0中。这具有以下优点:在解 码时,解码器能够仅使用子流s0中的数据来解码dct块y0的前四个系数。
188.在这种情况下,压缩数据流或文件可以由子流s0,然后子流s1,然后子流s2组成。
189.本发明的各个方面和实施方式在以下条款中定义。
190.条款1.一种用于处理一组变换系数的方法,所述变换系数被排列成多个块,每个块表 示图像的空间区域;并且所述方法包括:
191.针对每个块:
192.将所述块的系数排序成系数序列;
193.对经排序的系数序列进行编码以产生码字序列,每个码字均包括一个或更多个编码系 数;以及
194.将所述码字序列划分为两个或更多个码字子序列。
195.条款2.根据条款1所述的方法,其中,每个子序列中的系数的数量至少部分地由缩减 比确定。
196.条款3.根据条款1或2所述的方法,将所述码字序列划分为所述两个或更多个码字子 序列包括:
197.基于第一缩减比定义第一变换系数子块;以及
198.将码字分配到第一码字子序列中,直到所述第一码字子序列包含通过解码所述第一码 字子序列来重新创建所述第一变换系数子块所需的所有码字为止。
199.条款4.根据条款3所述的方法,其中,将所述码字序列划分为所述两个或更多个码字 子序列还包括:
200.基于第二缩减比定义第二变换系数子块;以及
201.将不在所述第一码字子序列中的码字分配给第二码字子序列,直到所述第二码字子序 列和所述第一码字子序列的组合包含通过对码字组合进行解码来重新创建所述第二变换系 数子块所需的所有码字为止。
202.条款5.根据条款1或2中的任一项所述的方法,所述方法还包括:基于对应的缩减比 来定义第一变换系数子块;以及将所述码字序列划分为形成第一码字子序列,其中,所述 第一码字子序列包含用以解码所述第一变换系数子块所必需的那些码字。
203.条款6.根据条款5所述的方法,所述方法还包括:基于对应的缩减比来定义第二变换 系数子块;以及将所述码字序列划分为形成第二码字子序列,其中,所述第二码字子序列 包含这样的码字,即:其为在所述这样的码字与包含在所述第一码字子序列内的码字组
合 时对于解码所述第二变换系数子块是必需的的码字。
204.条款7.根据条款6所述的方法,所述方法还包括:基于对应的缩减比来定义第三变换 系数子块;以及将所述码字序列划分为形成第三码字子序列,其中,所述第三码字子序列 包含这样的码字,即:其为在所述这样的码字与包含在所述第一码字子序列和所述第二码 字子序列内的码字组合时对于解码所述第三变换系数子块是必需的的码字。
205.条款8.根据条款5至7中的任一项所述的方法,所述方法包括:将所述码字序列划分 为形成第三码字子序列,其中,所述第三码字子序列包含这样的码字,即:其为在所述这 样的码字与包含在所述第一码字子序列和所述第二码字子序列内的码字组合时对于解码所 述第三变换系数子块是必需的的码字。
206.条款9.根据条款3至8中的任一项所述的方法,其中,将所述码字序列划分为所述 两个或更多个码字子序列还包括:将与块相对应的其余码字分配给至少一个另外的码字子 序列。
207.条款10.根据条款1至9中的任一项所述的方法,其中,变换系数块包括m
×
n变换系 数的阵列,其中,n可以等于或不等于m,并且所述码字子序列中的至少一个码字子序列 表示包括m/d
×
n/d变换系数的阵列的变换系数子块,其中,1/d是所述子块的缩减比。
208.条款11.根据条款10所述的方法,其中,将所述码字序列划分为所述两个或更多个码 字子序列包括:
209.创建包括足够的码字的码字子序列,以重新生成包括m/d x n/d变换系数的变换系数 子块,其中,1/d是所述子块的缩减比。
210.条款12.根据前述条款中的任一项所述的方法,其中,将每个块的系数排序成所述系 数序列是包括置换区域和之字形排序区域的修改的之字形排序。
211.条款13.根据条款3的方法,其中,每个块的维度为nxn,并且所述之字形排序区域 包括每个块的对角线上和下方的系数。
212.条款14.根据任一前述条款所述的方法,还包括将所述多个块的对应子序列布置成公 共子序列。
213.条款15.根据条款14所述的方法,所述方法包括存储包含所述公共子序列中的一个或 更多个公共子序列的图像文件。
214.条款16.根据条款15所述的方法,其中,所述方法包括将多个公共子序列存储在所述 图像文件中,以使得能够以与相应公共子序列相对应的至少一个预定缩减比生成缩减图像。
215.条款17.一种用于对使用根据前述条款中的任一项所述的方法产生的编码图像进行解 码的方法,所述方法包括:
216.选择图像分辨率;
217.选择适合于以所选择的图像分辨率生成图像的一个或更多个码字子序列;以及
218.解码所选择的子序列。
219.条款18.根据条款17所述的方法,其中,针对表示所述图像的空间区域的每个块, 所述方法包括:
220.解码比所有子序列少的子序列,以产生具有比编码之前的块少的变换系数的变换系数 子块。
221.条款19.一种从编码图像数据生成缩减图像的方法,所述编码图像数据已经通过根据 条款1至17中的任一项所述的方法生成;
222.所述方法包括:
223.选择图像分辨率;
224.针对表示所述图像的空间区域的每个块:
225.解码比所有码字子序列少的码字子序列,以产生具有比编码之前的块少的变换系 数的变换系数子块;
226.使用定尺寸成生成与所选择的图像分辨率相对应的空间域图像数据的逆变换对 所述变换系数子块执行逆变换;以及
227.处理每个子块的所述空间域图像数据,以生成所述所选择的图像分辨率的经缩小 的图像。
228.条款20.根据条款18或19所述的方法,其中,所述变换系数子块具有与所述所选择 的图像分辨率相对应的多个系数。
229.条款21.根据条款19或20中的任一项所述的方法,所述方法包括在执行所述逆变换 之前对所述变换系数子块进行重新排序,其中,经重新排序的变换系数子块是之字形图案。
230.条款22.一种计算机软件产品,所述计算机软件产品包括指令,所述指令在由处理器 执行时使所述处理器使用根据条款1至16中的任一项所述的方法来处理一组变换系数。
231.条款23.一种计算机软件产品,所述计算机软件产品包括指令,所述指令在由处理器 执行时使所述处理器使用根据条款17至21中的任一项所述的方法来处理图像。
232.条款24.一种用于存储图像数据帧的方法,所述方法包括:
233.将所述图像数据帧变换成一组变换系数;
234.执行条款1至16中的任一项所述的方法;以及
235.存储所述码字子序列中的一个或更多个码字子序列。
236.条款25.根据条款24所述的方法,其中,所述一个或更多个码字子序列以便于检索所 述码字子序列中的所选择的码字子序列的方式存储。
237.条款26.一种用于记录运动图像的方法,所述方法包括:
238.在具有图像处理系统和数据存储介质的相机中捕获图像数据帧的序列;
239.针对多个图像数据帧,所述图像处理系统执行根据条款24或25所述的方法。
240.条款27.一种相机,包括图像处理系统,所述图像处理系统配置成执行根据条款1至 21、24或25中的任一项所述的方法。
241.条款28.一种配置成执行根据条款1至21、24或25中的任一项所述的方法的图像处 理系统。
242.本发明的所描述的实施方式提供了一种通过创建多个子序列以熵编码dct系数的形 式存储经压缩的图像数据的新类型。该方法可以应用于各种dct块尺寸、应用于取决于期 望的缩减比的不同系数分组,并且可以与熵编码的不同方法组合。
243.应当理解的是,在本说明书中公开和限定的本发明扩展到文本或附图中提及或从文本 或附图变得明显的两个或更多个单独特征的所有替代性组合。所有这些不同的组合构成本 发明的各种替代性方面。
再多了解一些

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

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

相关文献