从编码比特流选择性地解码预定数据单元的解码器的制作方法

文档序号:7937463阅读:176来源:国知局
专利名称:从编码比特流选择性地解码预定数据单元的解码器的制作方法
技术领域
本发明涉及一种用于从编码比特流选择性地对至少一个预定数 据单元进行解码的解码器和解码方法。此外,还涉及一种具有显示器 的设备,所述显示器具有比在编码比特流中编码的图像低的分辨率。
背景技术
在本领域中编码方案是众所周知的。由于几个目的,编码方案 用于将信息变换为更有效率的结构。例如,压縮编码方案用于使包括 信息的数据的尺寸最小化,而传输编码方案用于增加信息中的差异。 其它重要目的可以是使能量最优化、提高信息的识别或者提高其对外 部影响的鲁棒性。
从代码序列组合信息比特流。代码序列是作为最基本的可解释 信息单元的预定数据比特队列,以机械地参照实际环境的表示。通常, 在信息比特流中,所有的代码序列由固定长度构成。每个代码序列表 示数据符号。数据符号为与最终用户或最终使用单元的实际环境的表 示连接的可解释链接。例如,对用户来说,作为数据符号的字母表中
的单个字母为可解释的信息。由唯一的8比特代码序列表示的表示法
为用于计算机的计算参考。
为了指出现有技术的缺点,本专利申请现在描述示例性的熵编 码方案。然而,不应该认为这是限制性目的。对于所有其它编码方案,
也可得到这些问题。
由于包括在信息比特流中的代码序列的不相等的出现,信息比 特流通常包括比对可解释信息进行归档所需的数据比特更多的数据 比特。数据比特的熵为对由信息比特流中的一个数据比特表示的可解 释信息进行量化的值。因此,熵编码方案通常利用信息比特流中的代 码序列的不相等的出现,并通过将短的代码序列重新分配给相对频繁出现的数据符号并将长的代码序列重新分配给相对偶尔出现的数据 符号来形成新的代码序列。通过新的代码序列,组合编码的比特流, 增加了编码比特流中的单个数据比特的熵,从而增加了编码比特流中 的单个数据比特的信息内容。
熵编码方案分为几种类型,其中统计方法和词典方法是最为熟 知的。统计方法仅分析信息比特流中的单个数据符号的出现,而词典 方法分析整个数据符号链的出现。另外,游程长度编码方案也是众所 周知的编码方案。其原理是对连续出现的数据符号进行计数,并仅指 示数据符号本身及其连续出现的量。然而,这种编码方案需要由例如 图像数据所提供的合适的信息比特流。
其它编码方案根据其他初步要求来从给定的信息比特流组合编 码比特流。例如,能量优化编码方案计算信息比特流的总能量,并使 新的数字比特流中的总能量最小。相应地,鲁棒性提高编码方案检验 信息比特流中的单个代码序列之间的信息距离,并增加编码比特流中 的所有可能的编码序列之间的信息距离。编码方案的基本原理(即将 新的代码序列分配给信息比特流的数据符号)每一次都是相同的。
传统的解码器从编码比特流重构信息比特流。通常,添加到编 码比特流的开头的头提供所有必要信息来重构信息比特流以及各原 始代码序列。在传统的熵解码方案的情况下,该信息至少包括用于通 过统计编码方法编码的编码比特流的编码表和用于通过基于词典的 方法编码的编码比特流的词典。也就是说,在从编码比特流重构信息 比特流之前,传统的熵解码器读出由编码比特流的头提供的信息。
信息比特流中的几个数据符号建立数据单元。数据单元为数据 符号(例如可执行程序、图像和文本)的可解释队列图像。通常,信 息比特流包括多个数据单元。然而,编码比特流包括不相等长度的代 码序列,从而传统的解码器不能确定单个数据单元在编码比特流中的 位置,从而编码比特流首先表现为一个单一的数据单元。因此,如果 仅需要从编码比特流中解码一个预定数据单元,则通常,直到在这个 数据单元之前的所有数据单元被解码为止,才可选择这个数据单元。 因此,最糟糕的情况是,在指定的数据单元可确定之前,传统的解码器必须重构整个信息比特流。因而,传统的解码器内所涉及的所有部 件必须处理需要许多计算步骤的巨大量的数据仅用于重构一个指定 的数据单元。而且,必须在任何地方存储信息比特流,增加了对存储 器的要求。也就是说,在从包括多个数据单元的编码比特流中仅对少 数几个数据单元进行解码的情况下,传统的解码器极其消耗时间和硬 件。
当数据单元的尺寸可变时,另外的问题可能出现。也就是说, 在编码比特流中编码的数据符号保持不变,但是在每一新的解码步骤 中,期望的数据单元由不同的数据符号构成。 一个已知的示例是,应 该仅显示图像的一部分的情况。图像部分为将被解码的数据单元。它 取决于默认值,默认值可由比如用户提供。换句话说,每次从编码比 特流重构图像部分时,作为数据符号的相应的图像像素改变。尤其在 存储器资源有限的应用中,存储完整的图像以用于仅选择图像的一部 分是不合适的。
一种解决方案是在编码比特流的头中提供目录。这样的目录应 当存储编码比特流内所有数据单元的起始点。然而,如果在编码比特 流中编码的数据单元的结构的量和尺寸是可管理的,则目录才是合理 的。换句话说,如果编码比特流包括许多小的数据单元,则目录变大, 使得在熵编码的情况下,根本不能实现全部压縮。甚至更糟糕的是, 新的流的尺寸可能超过原始未压縮数据的尺寸。而且,这样的目录不 适用于所有的编码方案。特别是,由于目录不能被编码,所以用于发 送尽可能稀疏的未编码的数据比特的编码方案不能利用目录。
对于编码比特流中的非常大量的小尺寸编码数据单元,其普遍
示例是在图像处理领域中使用的JPEG格式。JPEG是由IS0/IEC 10918 标准描述的有损压縮方法。JPEG在不同编码和压縮工具的帮助下对 信息比特流进行编码。这种方法是突显传统解码器的缺点的非常合适 的示例。
数字图像是二维像素区域。每个像素是表示颜色表内的颜色的 数据符号。因此,数字图像是具有根据图像像素的多个数据符号的信 息比特流。颜色表通常基于RGB颜色模型,RGB颜色模型为加色模型。
7这意味着,通过对基本颜色进行加权和相加来组合颜色值。在RGB 颜色模型的情况下,基色是红、绿和蓝。基色的加权因子被称为颜色 等级,以下简单地称其为等级。
为了以高效率的方式压縮信息比特流,大多数压缩标准(例如 JPEG)首先将数字图像的颜色从RGB颜色模型变换为YCbCr颜色模型。 YCbCr也是加色模型,其中,通过描述图像的灰度级别的亮度分量和 描述图像的红色和蓝色级别的红色色度差分量以及蓝色色差分量来 组合颜色值,其中红色色度和蓝色色度为色差信号。也就是说,原始 信息比特流分为描述数字图像的亮度分量、红色色度差分量和蓝色色 度差分量的三个信息比特流。
第二,由于人眼对颜色轮廓不是那么敏感,所以以最简单的方 式对红色色度差分量和蓝色色度差分量进行向下采样,从而相应地对 根据红色色度和蓝色色度的信息比特流进行变换。在纯灰度级的数字 图像的情况下,省略这个步骤。
第三,将数字图像分为连续的8X8像素块的组。8X8像素块的 特性包括在至少一个最小编码单元中,以下将最小编码单元称为 MCU。相应地,对用亮度分量、红色色度差分量或蓝色色度差分量描 述数字图像的每个信息比特流进行划分和分配,从而相应地将每个信 息比特流划分为多个8X8块。通常,可将三个分量的对应的8X8 块编码交织在一个MCU中,或者分到三个不同的非交织的MCU中。
第四,通过二维离散余弦变换对MCU的每个8X8块进行变换, 以下离散余弦变换称为DCT。无需深入地了解数学背景,结果,DCT 输出用于恒定等级的基块的一个加权因子和用于63个变化的基块的 63个加权因子,以下恒定等级的基块称为DC基块,变化的基块称为 AC基块。图1示出了用于通过加权叠加的方法对8X8像素块的灰度 部分进行重构的所有可能的灰度级8X8基块。通过DCT输出的加权 因子(以下称为DCT系数)允许选择性地加强或削弱DC基块和AC 基块,从而可通过基于DCT系数对DC基块和63个AC基块进行叠加 来组合MCU的每个8X8块。关于信号处理,使用用于描述加权因子 的每个MCU的代码序列来替换用于描述所选择的颜色模型(比如,YCbCr)中的颜色值的每个MCU的代码序列,或者用DCT系数校正用 于描述所选择的颜色模型(比如,YCbCr)中的颜色值的每个MCU的 代码序列。重要的是,DC基块和AC基块本身不是二维余弦变换的 结果,而加权因子是二维余弦变换的结果。在信息比特流中,JPEG 针对前面的8X8块的DC值差分地存储DC基块的DCT系数,并且绝 对地存储AC块的DCT系数。
第五,在量化步骤中,对描述MCU的8X8像素块所需的所有DCT 系数进行分类,从而首先以连续的方式按顺序存储属于DC基块的DCT 系数或属于缓慢变化的AC基块的DCT系数。所述分类通过矩阵中的 特定扫描路径(称为Z字形扫描)来执行。现在,典型地,将根据 DC块和缓慢变化的AC块的DCT系数除以小的量化值,并且典型地, 将根据强烈变化的AC块的DCT系数除以高的量化值。该步骤遵循人 眼对缓慢变化的频率比对强烈变化的频率更敏感的基本思想。将量化 的DCT系数四舍五入为整数。总而言之,现在由一组量化的DCT系数 来定义每个MCU 8X8块,该量化的DCT系数组将一个DC基块和63 个AC基块表示为简化的加权因子。也就是说,原来包括描述数字图 像的颜色值的信息比特流现在包括量化的DCT系数。然而,直到现在, 只有被变换为合适的结构的数字符号本身。从现在开始,需要对数据 符号进行编码以形成编码比特流。
因此,第六,现在以这样的方式将以所选择的颜色模型(比如, YCbCr)描述数字图像颜色的信息比特流与一个信息比特流连接,艮口, 首先插入根据左上位置中的第一个8X8像素块的代码序列,最后插 入根据右下位置中的最后的8X8像素块的代码序列。对这个单个信 息比特流进行熵编码和游程长度编码。DCT系数的量化典型地产生许 多个具有连续的零等级的数据符号,以下将连续的零等级的数据符号 称为连续零等级。对连续零等级进行计数和游程长度编码。结果是包 括游程和等级的中间编码比特流。游程对应于在中间编码比特流中的 相应位置处的连续零等级的量,等级为在中间比特流中的相应位置处 的非零等级。最后,将中间编码比特流统计地编码为编码比特流以进 一步增加熵。图2示出了描述对根据通过JPEG压縮方法压縮和编码的数字图 像的信息比特流进行重构的传统解压縮器的框图,并且图3示出了 ROI的图像,其指示由8X8像素块划分的数字图像的视觉位置。
头解析器10和解码器11接收包括JPEG压縮的数字图像的编码 比特流c。头解析器10读出包括在编码比特流c中的头以将诸如代 码表和量化值的信息提供给将要使用的解码器11和量化器12。接着, 解码器11对包括在游程长度编码期间产生的游程和等级的中间编码
比特流进行解码。如已经提及的,游程长度编码和统计编码都是编码 方案。然而,本专利申请的重点针对传统的解码方法,以使它对于在
JPEG压縮期间使用的编码方案之一的省略更有用。因此,从现在开 始,在JPEG压縮中不考虑游程长度编码方法。然而,这不限制实际 情况。这与使用一个还是多个编码方法无关。仅为了简明的目的而省 略游程长度编码以使情况变得更好理解。因此,解码器ll直接输出 包括量化的DCT系数的信息比特流DCT'。将包括量化的DCT系数的 信息比特流DCT'转发到逆量化器12,逆量化器12将量化的DCT系数 乘以各个量化值以创建包括被乘的量化的DCT系数的信息序列 DCT"。最后,逆变换单元13从提供的信息比特流DCT"读出所有被 乘的量化的DCT系数,以基于被乘的量化的DCT系数首先构造所有的 MCU,接着构造8X8像素块。也就是说,逆变换单元13创建包括数 字图像的像素的信息比特流。
然而,许多应用旨在仅显示数字图像的一部分。该部分为感兴 趣的区域,以下称其为ROI。尤其是在移动通信中,由于移动装置的 硬件资源有限,所以必须选择ROI。最近,发展到提供了一种具有照 相机的移动装置。照相机本身旨在提供高分辨率的拍摄照片图像。相 反,移动装置的显示器仅提供较低的分辨率。因此,R0I的显示是一 种在移动装置显示器上显示具有更高分辨率的照片图像的合适方式。
传统的解压縮器需要完整地对包括数字图像的像素的信息比特 流进行重构。然后,可通过ROI选择器14来选择R01。如果希望移 动该ROI使其穿过数字图像,则即使包括数字图像的像素的信息比特 流临时存储在存储器中,也必须管理大量的数据。也就是说,在移动ROI穿过数字图像期间,可能发生急剧的变化。
编码比特流流c的头中指示单个MCU在编码比特流c中的起始 位置的目录可能是直接从显示ROI所需的信息比特流DCT'中对量化 的DCT系数进行解码的合适方式。然而,如以下示例所示,这在技 术上是无用的。具有640X480个像素的分辨率的YCbCr 4:2:0 VGA 图像被划分为1200个MCU,分别为9600个8X8块。另一方面,在 普通压縮率IO的情况下,作为结果而获得的编码比特流c包括大约 500000个比特。在这种情况下,如果每个8X8像素块的起始位置被 指示,则部头中的每个位置需要至少19个比特的地址,以使头的最 后目录尺寸扩展到约12K字节。JPEG压縮图像本身具有大约600K 字节的尺寸。也就是说,对于合适的目录,消耗比编码比特流c的2 %多得多。必须不压縮地存储这样的目录。这意味着,即使降低JPEG 压縮的数字图像的质量以进一步使编码比特流c的尺寸最小化,目录 尺寸也保持不变。
也就是说,如JPEG压縮图像的示例所示,需要提供一种从由任 意编码方案编码的编码比特流来解码数据单元的设备和方法,一方面 以节省存储器和资源,另一方面能够从数字比特流中选择性地对至少 一个预定数据单元进行解码。

发明内容
因此,本发明的目的是提供一种方法和装置,该方法和装置用 于从编码比特流中选择性地对至少一个预定数据单元进行解码,而不 对完整的编码比特流进行解码,并且不需要预先提供编码比特流内的 其他信息。
通过本发明主要方面实现所述目的。在次要方面中体现本发明 的优选实施例和改进。
本发明基于这样的想法,即包括在编码比特流中的数据单元在 预定的特性上是容易识别的。不必对包括在编码比特流中的所有数据 符号进行重构,而仅对下述这些数据符号进行重构,所述数据符号提 供关于至少一个预定数据单元的一个或多个预定信息,并表征编码比
11特流内的独立于其它数据单元的预定数据单元。因此,本发明建议首 先搜索和解析编码比特流中的信息。该信息必须表征包括在编码比特 流内独立的预定数据单元中的数据符号。该信息可以是包括在预定数 据单元中的数据符号之一,或者可以是间接信息,诸如唯一地标识预 定数据单元的至少一个数据符号的位置。基于该解析的信息,可从编
码比特流中对预定数据单元进行重构,而不需要对完整的编码比特流 进行解码。
详细地讲,用于从编码比特流中对至少一个预定数据单元进行 解码的发明装置包括解析单元和解码单元。解析单元搜索并收集关于 编码比特流中的预定数据单元的信息。所收集的信息提供给解码单 元。解码单元基于所收集的信息对编码比特流中的预定数据单元进行
解码。本发明的装置不需要在选择包括在编码比特流中的预定数据单
元之前对编码比特流进行完全解码。解析单元搜索并提取需要的信 息,以使解码器能够选择性地对编码比特流中的预定数据单元进行解 码。不需要编码比特流中的大量头信息,或者不需要在选择预定数据 单元之前对编码比特流进行完全解码。因此,存储器将不被加载冗余 数据,并且减少了通过解码单元和解析单元执行的所需要的计算步 骤。因此,节省了存储器和计算资源,并且用更少的计算时间对预定 数据单元进行解码。
本发明的装置的另一个实施例还包括查找表,其中解析单元存 储所收集的信息。因此,解码单元能够从查找表读出所收集的信息。 对于对多于一个预定数据单元进行解码来说,这是特别有利的。通过 另外提供的査找表,解码单元和解析单元不必同时使用。这使得所述 装置降低了对装置硬件的要求,并相应地减小了数据流量。
在另一优选实施例中,通过同一控制器提供解析单元和解码单 元的功能特征。这节省了空间,并可以提供具有更少功能单元的装置。
在更详细的应用中,编码数据流包括压縮图像,并且至少一个
预定数据单元为感兴趣的区域,以下称其为ROI。由于现在ROI包括
可从压縮图像直接解码的多个像素,所以这在操作中是特别有利的。 在另一优选实施例中,通过基于可变长度代码的统计熵编码方案来对所接收的编码数据流或压縮图像进行编码。由于最佳的无损压 縮效率,使得统计编码方案的使用非常有利。
在更详细的应用中,压縮图像为被划分为多个最小编码单元的 JPEG压縮图像,这些最小编码单元定义了数字图像中的行和列,以
下称其为MCU。基于定义的颜色和二次采样格式,进一步将MCU分解 为至少一个8X8像素块。因此,不必对关于包括在数字图像中的每 一 MCU的信息进行解码,而仅对关于覆盖ROI的一些合适的MCU的信 息进行解析。
在另一优选实施例中,指定单元将编码比特流中的起始位置提 供给解析单元,解析单元命令开始搜索关于ROI的信息。所述信息与 ROI在数字图像内的位置相关。由于可以更快速地接收所需要的解析 信息,所以这也节省了时间。
优选地,指定单元还包括用户接口和控制器。用户接口接收指 示ROI相对于起始位置的位移或指示其实际位置的用户输入,并将用 户输入提供给控制器。接着,控制器基于起始位置或实际位置和位移 来计算ROI的新位置。指定单元的这种装置处理容易,构造简单。它 允许用户移动ROI穿过数字图像,而不将完整的数字图像存储在RAM 中。
在另一优选实施例中,解析单元包括块定位点确定单元和DC块 系数确定单元。定位点确定单元基于由指定单元提供的起始位置在编 码比特流中搜索作为定位点的合适的比特位置,所述定位点表征ROI 在至少部分包括ROI的每行中的第一MCU。相应地,DC块系数确定单 元从编码比特流中确定ROI在至少部分包括ROI的每行中的第一MCU 的每个DC块系数的初始值。这些初始值是解码单元选择性地对ROI 进行解码所需的信息。所需要的信息仅包括定位点和初始DC块系数, 而不包括作为8X8块的主要分量的AC块系数。
优选地,解析单元还包括行定位点确定单元和行DC块系数确定 单元,行定位点确定单元基于起始位置搜索关于至少部分包括ROI 的每行的第一 MCU的合适的比特位置作为定位点,行DC块系数确定 单元确定至少部分包括ROI的每行的第一 MCU的第一 DC块系数。使用由行定位点确定单元和行DC系数确定单元提供的信息,定位点确
定单元和DC系数确定单元开始通过在JPEG压縮图像中更少的MCU (分别为8X8像素块)中搜索来更有效率地搜索所需要的信息。
优选地,解码单元包括预测器分量确定单元、预测器单元和AC 块系数确定单元。预测器分量确定单元确定用于至少部分包括ROI 的每个MCU的DC块系数的预测器值。将该预测器值提供给预测器单 元。预测器单元基于由预测器分量确定单元提供的预测器值或者基于 由解析单元提供的初始值来预测每个MCU的实际DC块系数。此外, AC块系数确定单元基于在至少部分包括ROI的每行中的ROI的第一 MCU的第一比特位置来对至少部分包括ROI的每个MCU的所有AC块 系数进行解码。因此,解码单元忽略ROI之前的MCU,并且因此节省 了计算资源、计算时间和存储器。
一种用于从编码流对至少一个预定数据单元进行解码的方法至 少包括提供编码比特流中的起始位置的步骤、解析步骤和解码步骤。 提供起始位置的步骤在编码比特流内预设起始位置。可任意选择该起 始位置。基于该预设的起始位置,解析步骤搜索并解析关于编码比特 流中的至少一个预定数据单元的信息。解码步骤基于解析的信息对编 码比特流中的至少一个预定数据单元进行解码。通过这种方法,不需 要对用于随后选择期望的数据单元的编码比特流进行完全解码。因 此,合适的解码算法中的计算步骤的量减少,随之减少了计算时间和 对计算硬件的要求。
一种通过使用对编码比特流中的至少一个预定数据单元进行解 码的本发明的装置来选择性地显示JPEG压縮图像的ROI的设备,其 包括上述装置、逆量化器、逆变换单元和输出单元,输出单元包括比 如图像缓冲器和显示器。由本发明的装置接收包括JPEG压縮图像的 编码比特流,所述本发明的装置对与重构至少部分包括ROI的8X8 像素块所需的MCU对应的所有量化DCT系数进行解码。接着,逆量化 器适当地将量化的DCT系数作乘法。现在,逆变换单元对与至少部分 包括R0I的8X8像素块对应的MCU的所有被乘的量化的DCT系数进 行变换,并从相应的MCU重构8X8像素块。然后,将作为结果而获得的8X8像素块的像素存储到图像缓冲器中。最后,显示器读出ROI
所需的所有像素,并显示相应的图像。所述设备包括与现有技术相比 尺寸縮小的图像缓冲器。此外,所述设备中的所有部件不必重构完整
的JPEG压縮图像,从而单个部件必须处理更少的数据流量和执行更 少的计算步骤。这节省了所述设备用于显示ROI的计算时间和硬件资源。
本发明的装置适合于至少包括一个解码步骤的解压縮方法的应 用,所述解码步骤用于从可变长度编码比特流对数据单元进行解码。 这些尤其是压縮图像,例如GIF压縮图像、JPEG压縮图像、TIFF压 縮图像和PNG压縮图像。但是,本发明不限于这样的图像压縮图像。 它还可应用于包括压縮数据的不具有包括单个数据单元的起始点的 位置的头的其它文件格式。


以下将参考附图中所示的实施例通过非限制性示例来更详细地 描述本发明。
图1示出了用于通过加权叠加的方法对8X8像素块的灰度部分 进行重构的所有可能的灰度级(gray scaling)基块;
图2示出了包括ROI选择器的传统JPEG解压縮器的框图3示出了具有ROI的数字图像,指示数字图像的8X8像素块 内用于ROI的必要像素和ROI不需要的像素;
图4示出了本发明的解码器;
图5示出了指定单元的实施例的框图6示出了根据第一实施例的解析单元的框图7示出了具有ROI的按块划分的编码图像,示出了由根据第 一实施例的解析单元执行的搜索和解析过程;
图8示出了根据第二实施例的解析单元的框图9示出了具有ROI的按行划分的编码图像,示出了根据第二 实施例的解析单元的一个搜索和解析步骤;
图IO示出了具有ROI的按行划分的编码图像,示出了根据第二
15实施例的解析单元的另一搜索和解析步骤;
图ll示出了具有ROI的按行划分的编码图像,示出了根本不必 考虑的8X8像素块;
图12示出了具有R0I的按行划分的编码图像,示出了为了对R01 进行解码和重构而必须被确定的8X8像素块;
图13示出了根据本发明的解码单元的实施例的框图14示出了利用发明的解码器的JPEG解压縮器的框图。
具体实施例方式
图4示出了一种装置的最小构造,该装置用于选择性地从接收 的编码比特流c中对至少一个预定数据单元进行解码,而不对完整的 接收的编码比特流c进行解码,并且不使用接收的编码比特流的头中 提供的目录。为了简化的目的,以下这个装置被称为解码器100。用 实线绘制的元件和连接是解码器100的必不可少的元件。详细地讲, 这些必不可少的元件是解析单元120和解码单元130。解析单元120 开始搜索关于所接收的编码比特流c内的至少一个预定数据单元的 信息IV并对该信息Up进行解析。解析的信息可以是预定数据单元 在接收的编码比特流c内的比特位置、明确地标识预定数据单元的合 适的代码序列或者在接收的编码比特流c内明确地标识预定数据单 元的任何其它合适的信息。解析单元120将解析的信息Up提供给解 码单元130,解码单元130使用它直接跳到接收的编码比特流c内的 预定数据单元,并选择性地对该预定数据单元进行解码。解码器ioo 的优点是解析单元120不必完整地对比特流c的所有比特进行解码, 而仅选择性地搜索信息。这可通过可被恰当标识的信息(例如描述数 据单元的码字的长度)、编码比特流c中的每个预定数据单元中的可 被恰当重复标识的代码部分或者编码比特流c中的任何其它合适的 信息来实现。
优选地,指定单元110连接至解码单元130以提供指示査找表 140中的起始点的起始位置us,在査找表140中,解码单元130可以 开始对ROI重构的解码过程(未示出)。因此,起始位置Us的指定变得独立于编码比特流C。在第二实施例中,如图8和图9所示的基
于行的方法,指定单元110还连接至解析单元120以提供MCU行在编 码比特流c内的起始位置。解析单元120将使用该起始位置来对编码 比特流c进行解析,直到它检测到对ROI有贡献的MCU为止。然后解 码单元130将使用该检测到位置以对ROI本身进行解码和重构。
解码器100的另一优选实施例包括查找表140 (以下称其为 LUT) 。 LUT存储解析的信息Up,并将它提供给解码单元130。因此, LUT 140首先收集关于将要被解码的全部或部分的预定数据单元的解 析信息up,以使解码单元130不必在解析单元120输出解析信息up 之后立即对预定数据单元进行解码。也就是说,LUT140作为参考工 作,以使即使在用户交互的情况下,也仅需要对解析信息Up解析一 次,因此减少了数据流量和系统工作载荷。
具体地讲,由于在解码器100的许多应用中,解析单元120的 功能特征为由解码单元130提供的功能特征的子集,所以通过一个单 个控制器来实现解析单元120和解码单元130的功能特征是合适的。 也就是说,可通过抑制当执行解析单元120的任务时不必要的功能特 征来容易地达到实现,以使控制器首先从接收的编码比特流c中收集 解析信息Up,然后分别对预定数据单元进行解码。这样的实施例节省 了附加的空间、存储器和硬件资源。
在针对通过可变长度编码方法编码的数据的情况下,解码器100 尤其有效。诸如Golomb编码或Tunstall编码的纯代码方案或者诸 如哈夫曼编码(Huffman Coding)或香农一范诺编码(Shannon-Fano Coding)的完整统计编码方法是合适的,能被解码器100处理。统计 编码的数据的特性是,通过可变长度代码对符号进行编码。也就是说, 决不预先计算指定的预定数据单元的位置。
优选地,采用解码器100对编码的数字图像进行解码。具体地 讲,在移动通信或其它便携式装置中使用的显示器仅包括很小的分辨 率,该分辨率通常比所接收的由移动装置的集成相机记录的编码图像 的分辨率小很多。在这样的应用中,指出,对于用户手动地在整个数
字图像内移动数字图像部分来说,在屏幕上仅显示数字图像部分是最佳的解决方案。因此,以下将更详细地解释本发明的应用,该应用对 接收的编码比特流C中的编码数字图像的一部分进行解码。数字图像 的这一部分被称为感兴趣的区域,以下称其为ROI。
现在将详细地针对JPEG压縮图像来描述解码器100。也就是说, 压縮的编码数字图像为JPEG压縮图像,其被划分为信元或最小编码 单元,以下称其为MCU,分别为8X8像素块的集合。MCU在数字图像 中产生多行和多列。MCU到块的具体组成取决于颜色和二次采样格 式。也就是说,在纯灰度级图像中,仅通过一个最小编码单元来描述 8X8像素块。因此,对于彩色图像,交织的最小编码单元描述YCbCr 颜色模型的三个不同颜色部分,因此包含多个8X8块。例如 YCbCr4:2:0 MCU总共包含六个8X8块、四个Y 8X8块、 一个Cb 8 X8块和一个Cr 8X8块。总而言之,解码器100利用这样的事实, 即仅需要对JPEG压縮图像中的这些8X8像素块进行解码,这些8X 8像素块至少部分包括R01。因此,解码器必须对重构至少部分包括 ROI的8X8像素块所需的所有MCU进行解码。换句话说,从现在开 始,详细地讲,JPEG压縮图像为接收的编码比特流c,并且8X8像 素块的MCU为将被解码的预定数据单元。
图5示出了示例性的指定单元110的框图。其中,存储器111 提供作为默认位置的起始位置us',该起始位置Us'等于起始位置us。 然而,优选地,指定单元110还包括控制器112和用户接口 113。用 户接口 113适于接收用户输入,该用户输入指示ROI在JPEG压縮图 像中相对于由存储器lll提供的起始位置Us的位移AUs。控制器112 接收起始位置Us或实际位置和偏移Aus,并基于这两个值计算下一个 起始位置us。以下,控制器112在存储器111中将计算所得的起始位 置Us设置为新的起始位置iC。新的起始位置Us'可以是永久的,或者 实际上可以仅存储用于本应用。这使得用户能够在JPEG压縮图像内 移动ROI,其中,指定单元110总是提供更新的任意位置Us。因此, 解析单元120不必总是从相同的比特位置开始搜索解析信息Up,而是 能在靠近解析信息Up的比特位置开始,这縮短了搜索步长,因此减 小了对计算时间和硬件资源的需求。
18图6示出了根据第一实施例的解析单元120的框图,并且图7 示出了具有ROI的按块划分的编码图像,示出了根据第一实施例的由 解析单元120执行的搜索和解析过程。解析单元120从指定单元110 接收起始位置us,并将它提供给定位点确定单元121和DC块系数确 定单元122。定位点确定单元121也接收JPEG压縮图像,并在其中 搜索ROI在至少部分包括ROI的行中的每个第一 MCU的第一 比特的比 特位置iV。同时,DC块系数确定单元122在JPEG压縮图像的第一比 特位置处开始,并对ROI在至少部分包括ROI的行中的所有开始的 MCU的DC块系数DCi进行重构。详细地讲,每个解码的DC块系数表 示差分编码值,并且必须被添加到前面重构的DC值,也被称为预测 器。最后,优选将确定的比特位置iv和确定的DC块系数DCi提供给 组合解析信息Up的复用器123。现在可将解析信息Up存储在LUT 140 中。
图8示出了根据第二实施例的解析单元120的框图。图9示出 了具有ROI的按行划分的编码图像,示出了根据第二实施例的解析单 元120的一个搜索和解析步骤。图IO示出了具有ROI的按行划分的 编码图像,示出了根据第二实施例的解析单元120的另一搜索和解析 步骤,其中,图11示出了具有ROI的按行划分的编码图像,示出了 根据第二实施例的解析单元不必考虑的8X8像素块,图12示出了具 有ROI的按行划分的编码图像,示出了对于ROI来说必须确定的8X 8像素块。
根据图8,根据第二实施例的解析单元120必须包括行定位点确 定单元124、行DC块系数确定单元125、査找表126、定位点确定单 元127和DC块系数确定单元128。
行定位点确定单元124确定至少部分包括ROI的每行的第一比 特的比特位置u。pi。因此,行DC块系数确定单元125确定包括在至 少部分包括ROI的每行的第一MCU中的第一 8X8块的DC块系数DC。i。 现在将每行的第一比特的比特位置u一和至少部分包括ROI的每行的 每个第一 8X8块的DC块系数DC。i存储在査找表126中,査找表126 与DC块系数确定单元128和定位点确定单元127连接。详细地讲,与根据第一实施例的解析单元120的DC块系数确定单元122和定位 点确定单元121的差异在于对存储的至少部分包括ROI的每行的每 个第一比特的比特位置u。pi的使用和对包括在至少部分包括ROI的每 行的第一 8X8像素块中的每个MCU的DC块系数DCQl的使用。换句话 说,两个单元127和128都不是从JPEG压縮图像的开头开始,而是 从存储在査找表126中的值u。pi和DC。i开始来确定属于至少部分包括 ROI的行的ROI中的第一MCU的所有块的DC块系数Dd并确定至少部 分包括ROI的行的ROI中的第一MCU的比特位置Up,。任选地,将DC 块系数Dd和比特位置Upi提供给复用器129以形成包括解析信息uP 的单一信号。由于如图10所示的ROI后面的MCU的8X8块不必被处 理,节省了计算时间、存储器和硬件资源,所以该实施例是特别有利 的。也就是说,事实上,第二示例性解析单元120的构造复杂,但是 用对如图11所示的ROI及其相应的将要显示的图像进行解码所需要 的计算时间和存储器更少。
图13示出了示例性的解码单元130。解码单元130对重构用于 显示ROI的MCU的每个8X8块所需的所有DCT系数进行重构。示例 性的解码单元130包括预测器单元131、预测器分量确定单元132和 AC块系数确定单元133。预测器单元131基于前面的8X8块的DC 块系数或者解析信息Up来预测用于实际的8X8块的DC块系数DC。 也就是说,可从解析单元120、査找表140或者从预测器分量确定单 元132接收所需要的预测器值。以最简单的方式,预测器分量确定单 元132仅缓冲由预测器单元131计算的实际的DC块系数DC。同时, AC块系数确定单元133根据实际的8X8块直接确定AC块系数ACl 一AC63。也就是说,由于提供的解析信息Up,示例性的解码单元120 直接跳到包括8X8块的起始的比特位置,该8X8块包括R01。换句 话说,示例性的解码单元120仅对重构至少部分包括R0I的MCU所需 的这些DC块系数DC。和AC块系数AC1-AC63进行解码。
解码器100的装置影响解码过程的二次划分。详细地讲,首先,
解码器ioo分析编码比特流,并从编码比特流中解析重要的数据以直
接对预定数据单元进行解码。作为该二次划分影响的结果,解码器可直接对预定数据单元进行解码,而不需要对不计划显示的其它数据单 元进行解码。因此,计算步骤的量减少,从而可更快速地对预定数据 单元进行解码。
如果从编码比特流中的多个分布式代码片段来组合预定数据单 元,则可提供查找表以在解码过程之前收集并存储解析信息。因此,
解析单元120独立于解码单元130操作,以节省附加的计算步骤,从 而进一步节省时间。而且,解析单元120相对于解码单元130的独立 操作减小了解码器100中的信令流量。
如果编码比特流为压縮的编码数字图像并且预定数据单元为将 要显示的数字图像的一部分或者为将要显示的感兴趣的区域(以下称 其为ROI),则解码器100仅对属于该数字图像的R0I的像素进行解 码。在JPEG压縮数字图像的情况下,解码器选择性地对至少部分包 括ROI的所有MCU进行解码。换句话说,解码器IOO不必对包括在数 字图像中的所有MCU进行解码,而仅对包括显示ROI的像素所需的这 些MCU进行解码。
此外,用户可在数字图像内移动ROI,而不必对完整的数字图像 进行解码。解码器IOO仅对显示ROI所需的MCU或像素进行解码,并 丢弃不参与ROI的显示的MCU或像素。这有效地减少了所需要的存储 器。解码器100在预定数据单元或ROI的解码过程中不产生任何数据 损失。
解码器100执行包括以下步骤的方法以对编码比特流c中的预 定数据单元进行解码。首先,将接收的编码数据比特流c至少提供给 解析单元120和解码单元130。接着,指定单元IIO将作为起始点的 编码比特流c内的起始位置iu提供给解析单元120以搜索确定的唯 一地表征预定数据单元的信息。当解析单元120找到预定信息并对其 进行解析时,将它存储在査找表140中,或者将它作为解析信息Up 直接提供给解码单元130。如果解码单元130直接接收解析信息up, 则直接从编码比特流c中对预定数据单元进行解码。否则,解码单元 130在解码之前访问查找表140。最后,根据预定数据单元的符号作 为符号流u输出。
21图14示出了用于显示JPEG压縮图像的感兴趣的区域的设备内
的解码器100,以下感兴趣的区域被称为ROI。图14中的装置包括快速解码单元150、査找表140和解码单元130。快速解码单元150包括指定单元110和解析单元120 (未示出)。它从头解析器200接收作为编码比特流c的JPEG压縮图像和关于JPEG压縮图像的信息。快速解码单元150提供至少部分包括R01的每行中的第一MCU的第一比特位置和第一8X8块的DC值,并将其存储在査找表140中。现在,解码单元130对包括在ROI中的所有MCU的所有DCT系数进行解码,并将其提供给逆量化器300。逆量化器300将DCT系数与从头解析器200接收的合适的值相乘。作为结果而获得的被乘的量化的DCT系数用于分别对DC系数和AC系数进行加权,并将它们叠加以重构至少部分包括在ROI中的单个8X8块。将所涉及的8X8像素块组合起来以形成重构的MCU。 8X8像素块的分量值通过逆变换单元400输出,并被存储在图像缓冲器500中。现在,显示器可从图像缓冲器500读出缓冲的像素以显示ROI。
与现有技术相比,用于显示ROI的设备不必对完整的JPEG压縮图像进行解码。因此,图像缓冲器不必被设计成与现有技术中的一样大。
最后,逆量化器和逆变换单元不必对完整的图像进行重构,从而节省了计算时间,并减小了硬件载荷。
权利要求
1.一种用于对编码比特流(c)中的至少一个预定数据单元进行解码的装置,其包括-解析单元(120),其适用于搜索并解析与编码比特流(c)中的至少一个预定数据单元有关的信息(up);和-解码单元(130),其适用于基于由解析单元(120)提供的解析信息(up)来对编码比特流(c)中的至少一个预定数据单元进行解码。
2. 根据权利要求1所述的装置,还包括指定单元(110),指 定单元(110)将编码比特流(c)中的起始位置(us)提供给解析单 元(120)以搜索并解析与至少一个预定数据单元有关的信息(Up)。
3. 根据权利要求1或2所述的装置,还包括一査找表(140),即LUT,其适用于存储由解析单元(120) 提供的解析的信息(Up),并将解析的信息(Up)提供给解码单元(130)。
4. 根据权利要求2或3所述的装置,其中所述编码比特流(c) 为压縮图像,所述至少一个预定数据单元为感兴趣的图像区域,即 ROI。
5. 根据权利要求4所述的装置,其中所述压縮图像为被划分为 属性块即MCU的JPEG压縮图像,其中MCU进一步被划分为8X8像素 块,其中ROI包括多个预定数据单元,每个预定数据单元由8X8像 素块表示。
6. 根据权利要求5所述的装置,其中所述起始位置(us)为ROI 在JPEG压縮图像中的默认位置的所存储的值,其中所述指定单元(110)还可包括一用户接口 (113),其适用于接收用户输入(Aus),所述用 户输入指示ROI在JPEG压縮图像中相对于起始位置(us)的位移或 者指示ROI的实际位置(Us');和一控制器(112),其适用于基于用户输入(Aus)和在前的实 际位置或基于起始位置(us)来计算ROI的实际位置(Us')。
7. 根据权利要求5至6之一所述的装置,其中所述解析单元 (120)包括_块定位点确定单元U21, 127),其适用于从由指定单元(110) 提供的起始位置(us)开始搜索编码比特流(c)中至少部分包括ROI 的每行中的第一MCU的比特位置(upi);禾口一块DC块系数确定单元(122,128),其适用于确定至少部分 包括ROI的每行中的第一MCU的正交变换系数(DCi)即DC系数。
8. 根据权利要求7所述的装置,其中所述解析单元(120)还包括一行定位点确定单元(124),其适用于从起始位置(us)开始 确定编码比特流(c)中至少部分包括ROI的行的第一 MCU的位置(U0pi);_行DC块系数确定单元(125),其适用于确定至少部分包括 ROI的行的第一 MCU的DC系数(DC。i),其中,块定位点确定单元(127)基于由行定位点确定单元(124) 提供的位置(u。pi)来确定ROI的第一MCU的位置,并且块DC块系数确定单元(128)基于由行DC块系数确定单元(125) 提供的DC系数(DCQl)来确定ROI在至少部分包括ROI的每行中的 ROI的第一 MCU的DC系数(DC!)。
9. 根据权利要求7或8所述的装置,其中所述解码单元(130)包括_预测器分量确定单元(132),其适用于基于在前的DC系数来计算预测的DC系数(DC,);一预测器单元(131),其适用于基于由预测器分量确定单元(132)提供的预测DC系数(DCp,)或者基于由解析单元(120)提 供的DC系数(DCi)和将要从编码比特流(c)中重构的DC系数的差 分值来对至少部分包括ROI的每个MCU的DC系数(DC)进行重构; 禾口一 AC块系数确定单元(133),其适用于从编码比特流(c)中 确定至少部分包括ROI的每个MCU的正交变换系数即AC系数。
10. —种用于对编码比特流(c)中的至少一个预定数据单元进 行解码的方法,其包括一提供编码比特流(c)中的起始位置(us);一基于起始位置(us)对与编码比特流中的至少一个预定数据单元有关的信息(UP)进行解析;和一基于解析的信息(up)对编码比特流(c)中的至少一个预定数据单元进行解码。
11. 一种用于显示JPEG压縮图像的感兴趣的区域即ROI的设备, 其中该设备包括一输入端,其适用于接收包括JPEG压縮图像的编码比特流(c);一根据权利要求l一9之一所述的装置(100),其适用于针对 显示ROI所需的所有MCU来对量化的DC系数和AC系数(DCT')即 DCT系数进行解码;一逆量化器单元(300),其用于将量化的DCT系数(DCT') 反向变换为被乘的量化的DCT系数(DCT");一逆变换单元(400),其适用于将被乘的量化的DCT系数 (DCT")变换为像素流;和一输出单元,其用于缓冲像素流,并根据ROI来显示缓冲的像素流。
全文摘要
本发明公开了一种从编码比特流(c)选择性地重构至少一个预定数据单元的解码器(100)。解码器(100)包括解析单元(120),解析单元(120)搜索并解析唯一地表征所述至少一个预定数据单元的明确的信息(u<sub>p</sub>)。接着,解析单元(120)将该解析的信息(u<sub>p</sub>)直接提供给解码单元(130)或查找表(140),以使解码单元(130)可基于解析的信息(u<sub>p</sub>)直接从编码比特流(c)重构预定数据单元,而不需要完整地对编码比特流(c)进行解码和重构。任选地,指定单元(110)将编码比特流(c)的起始位置(u<sub>s</sub>)提供给解析单元(120)以用于开始搜索。因此,对于对比如压缩的JPEG图像进行解码和显示,可节省数据流量、计算时间和存储器资源。
文档编号H04N7/26GK101653004SQ200880010909
公开日2010年2月17日 申请日期2008年3月31日 优先权日2007年4月4日
发明者德特勒夫·格廷 申请人:Nxp股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1