多媒体编译码器、使能加密熵编码器、熵译码器及其方法

文档序号:7718701阅读:318来源:国知局

专利名称::多媒体编译码器、使能加密熵编码器、熵译码器及其方法
技术领域
:本发明有关于图像和视频处理,尤其有关于利用加密/解密的熵(entropy)编码/译码的装置及方法。
背景技术
:用于图像和视频压缩的传统熵编码方法及硬件利用预设表将符号映射到码字(codeword)。通过利用具有多个统计模型的改良熵编码器,多媒体压缩和加密系统的整合得到改进。参考一是由Chung-PingWu和C.-C.JayKuo所提出的“将多媒体压缩和加密系统整合白勺设计,,("DesignofIntegratedMultimediaCompressionandEncryptionSystems,,,Chung-PingWuandC.-C.JayKuo,IEEETRANSACTIONSONMULTIMEDIA,Vol.7,No.5,October2005,以下简称为“Wu和Kuo的论文”),其描述了两种加密方案,即在编码音频/视频/图像数据(比如MPEG音频、MPEG视频及JPEG/JPEG2000图像)时在霍夫曼(Huffman)编码器或QM编码器(QM是可适性算术编码器的简化情形)中应用多个统计模型的方法。在此论文中,把改良霍夫曼编码方案作为多个霍夫曼表(MultipleHuffmanTable,MHT)编码方案,且将改良QM编码方案作为多个状态指数(MultipleStateIndices,MSI)编码方案。参考二是由DahuaXie和C.-C.JayKuo所揭示的“将随机化熵编码和已分割比特流中的轮替排列结合的多媒体加密”(“MultimediaEncryptionwithJointRandomizedEntropyCodingandRotationinPartitionedBitstream,,,DahuaXieandC.-C.JayKuo,HindawiPublishingCorporation,EURASIPJournalonInformationSecurity,Volume2007,以下简称为“Xie和Kuo的论文”),其描述了由两个串接模块构成的加密方法,第一个模块是随机化熵编码(RandomizedEntropyCoding,REC),其根据熵编码器中的随机序列来利用多个熵编码参数/设定,第二个模块是已分割比特流中的轮替排列(RotationinPartitionedBitstream,RPB),其进一步对REC级的输出进行随机轮替排列以得到最终比特流。文中描述了两个REC方案,一个是用于霍夫曼编码的随机化霍夫曼表(RandomizedHuffmanTable,RHT),另一个是用于算术编码的随机算术编码常规交错(RandomizedArithmeticCodingConventionInterleaving,RACCI)方案。RHT是先前Wu和Kuo所描述的MHT方法的延伸。在RHT加密方案中,构建和发布与同一霍夫曼树(Huffmantree)对应的多个不同霍夫曼码。可由称之为霍夫曼树突变(mutation)过程的技术构建不同的霍夫曼码。接着选择特定霍夫曼码以根据跳频密钥序列(KeyHoppingSequence,KHS)对每个输入符号编码。KHS是通过伪随机比特产生器(PseudorandomBitGenerator,PRBG)从秘密种子(密钥)产生的一个编号序列。为了对已编码比特流进行译码,必须知晓密钥(随机种子)以便利用PRBG复制KHS及在比特流中依次正确地译码霍夫曼码字。图IA是先前技术RHT编码原理的架构说明图,图中所示例的RHT算法由Xie和Kuo论文改编而来。源输入由7个符号组成,且由A到G所表示。构建两个不同的霍夫曼码(霍夫曼树)对这7个符号编码,比如构建码#0101和码#1102。这两个霍夫曼树的拓扑是相同的(即这两个霍夫曼码是彼此的同构码),因此每个符号的码字长度是相同的,尽管码字值是不同的。在此例中,0和1在图IA中码#1内的下划线所示的四个位置成对交换。利用KHS105“10011010”对一简单输入明文(plaintext)103“ACDABEFG”编码。KHS中“0”表示利用霍夫曼码#0编码对应的明文符号,“1”表示利用霍夫曼码#1编码对应的明文符号。生成密文(已编码比特流)107是“110111001001110101011111”(此处短的垂直线表示霍夫曼码字的边界)。作为对比,图IA显示了另一个KHS104“00000000”,具有生成密文106“010111000100110111101111”(短的垂直线表示霍夫曼码字的边界)。全零(all-zero)KHS104等效于仅利用一个霍夫曼码(码#0)的传统霍夫曼编码方案。密文107中下划线所表示的位则是密文107不同于密文106之处。若利用一个不正确的KHS对KHS105编码的密文107译码,则生成的已译码明文会不同于输入明文103。例如,若利用KHS“00000000”对密文107译码,则生成明文会是“EDBFCAG”,若利用KHS“10111010”,生成明文会是“ACAABAEA”。如Xie和Kuo论文中所述,由于霍夫曼码是唯一可译码的代码,因此可用任何KHS继续译码,此译码错误不会被侦测到,直到将这种错误结果进一步转换成未处理的(raw)多媒体内容且发现此错误结果没眉、ο一般来说,在Xie和Kuo论文中所述的RHT算法中产生M=2m霍夫曼表,且从0至M-I编号。KHS侵占m位(m-bit)区块,m位区块的每个值、代表从0至M-I的编号,且利用霍夫曼表、编码第i个符号。Xie和Kuo论文中所述的RACCI方案相似于在编码中利用随机化技术。简单讲,算术编码涉及递归式(recursive)区间分割,即重复的划分概率区间(probabilityinterval)的过程,并且产生代表分割点当前区间的比特流。在二元算术编码中,有两个可能的符号次序,即小概率符号(LessProbableSymbol,LPS)子区间在大概率符号(MoreProbableSymbol,MPS)子区间之上,或MPS子区间在LPS子区间之上,还有两种可能的码流惯例,即指向区间的底端或顶端。这导致总共四种可能的编码惯例,这四种惯例由算术指标所指示。此四种编码惯例如图IB所示,图IB是先前技术RACCI编码方案的原理架构说明图,其出自Xie和Kuo论文图3。在RACCI方案下,基于KHS选择用于编码每个输入的编码惯例。再者,KHS通过PRBG从秘密种子(密钥)生成。Wu和Kuo论文中所述的MHT及Xie和Kuo论文中所述的RHT方案共享一个基本主题(利用多个霍夫曼表)以编码明文。为了方便,此公开内容利用术语“随机化霍夫曼编码”指代MHT和RHT。相似地,此公开内容利用术语“随机化算术编码”指代Wu和Kuo论文中所述的MSI方案以及Xie和Kuo论文中所述的RACCI方案。
发明内容有鉴于此,本发明提出多媒体编译码器、使能加密熵编码器、熵译码器及其方法。本发明提供一种使能加密熵编码器,用于多媒体编译码器,使能加密熵编码器包括只读存储器,用于存储一组代码列表,每个代码列表是将多个符号映射到多个码字的代码;列表查找装置,耦接于只读存储器,且列表查找装置接收包含多个符号的输入比特流,6列表查找装置利用存储在只读存储器中的代码列表执行列表查找以将符号转换为原始码字,列表查找装置进一步产生码字完整信号以指示原始码字的边界;以及随机列表产生装置,耦接于列表查找装置,随机列表产生装置用于接收原始码字、加密/解密密钥和码字完整信号,基于加密/解密密钥和码字完整信号,随机列表产生装置利用同构码生成算法将原始码字转换成随机化码字,其中每个随机化码字是对应的原始码字的同构码字。本发明提供一种多媒体编译码器,包括使能加密熵编码器;包括只读存储器,用于存储一组代码列表,每个代码列表是将多个符号映射到多个码字的代码;列表查找装置,耦接于只读存储器,且列表查找装置接收包含多个符号的输入比特流,列表查找装置利用存储在只读存储器中的代码列表执行列表查找以将符号转换为原始码字,列表查找装置进一步产生码字完整信号以指示原始码字的边界;以及随机列表产生装置,耦接于列表查找装置,随机列表产生装置用于接收原始码字、加密/解密密钥和码字完整信号,基于加密/解密密钥和码字完整信号,随机列表产生装置利用同构码生成算法将原始码字转换成随机化码字,其中每个随机化码字是对应的原始码字的同构码字;且使能加密熵编码器经由总线与内编码器、运动估计装置、去方块效应装置、存储控制器、存储器以及处理器相连。本发明提供一种使能加密熵译码器,用于多媒体编译码器,使能加密熵译码器包括只读存储器,用于存储一组代码列表,每个代码列表是将多个符号映射到多个码字的代码;列表查找装置,耦接于只读存储器,列表查找装置利用存储在只读存储器中的代码执行列表查找以将原始码字转换为符号,列表查找装置进一步产生码字完整信号以指示原始码字的边界;以及随机列表产生装置,耦接于列表查找装置,随机列表产生装置用于接收加密/解密密钥、随机化码字和码字完整信号,基于加密/解密密钥和码字完整信号随机列表产生装置利用同构码生成算法将输入的随机化码字转换成原始码字,其中每个随机化码字是对应的原始码字的同构码字,且原始码字被输入到列表查找装置。本发明提供一种多媒体编译码器,包括使能加密熵编码器;包括只读存储器,用于存储一组代码列表,每个代码列表是将多个符号映射到多个码字的代码;列表查找装置,耦接于只读存储器,列表查找装置利用存储在只读存储器中的代码执行列表查找以将原始码字转换为符号,列表查找装置进一步产生码字完整信号以指示原始码字的边界;以及随机列表产生装置,耦接于列表查找装置,随机列表产生装置用于接收加密/解密密钥、随机化码字和码字完整信号,基于加密/解密密钥和码字完整信号随机列表产生装置利用同构码生成算法将输入的随机化码字转换成原始码字,其中每个随机化码字是对应的原始码字的同构码字,且原始码字被输入到列表查找装置;且使能加密熵编码器经由总线与内编码器、运动估计装置、去方块效应装置、存储控制器、存储器以及处理器相连。本发明提供一种用于使能加密熵编译码器的方法,其中熵编码包括在只读存储器中存储一组代码列表,每个代码列表是将多个符号映射到多个码字的代码;利用只读存储器中存储的代码列表执行列表查找,以将多个符号转换为原始码字;以及基于加密/解密密钥,利用同构码生成算法将原始码字转换为随机化码字,其中每个随机化码字是对应的原始码字的同构码字。通过利用本发明所提供的随机列表产生装置,无需存储多个霍夫曼列表或多个算术指标。以下根据多个图式对本发明的较佳实施例进行详细描述,所属领域技术人员阅读后应可明确了解本发明的目的。图IA是现有技术RHT编码原理的架构说明图;图IB是现有技术RACCI编码方案的原理架构说明图;图2是利用多个存储的霍夫曼表实现随机化霍夫曼编码方案的硬件示意图;图3是根据本发明的实施例的多媒体编译码器的总架构示意图;图4表明图3中的熵编码器的架构和熵编码过程中的数据流的示意图;图5表明图3中的熵编码器的架构和熵译码过程中的数据流的示意图;图6和图7表明图4中混合列表加载器的架构和熵编码过程中的数据流的示意图;图8和图9表明图5中混合列表加载器的架构和在熵译码过程中的数据流的示意图。具体实施例方式在权利要求书及说明书当中使用了某些词汇来指称特定的元件。所属领域中的普通技术人员应可理解,硬件制造商可能会用不同的名词来称呼同一个元件。本发明的权利要求书及说明书并不以名称的差异来作为区分元件的方式,而是以元件在功能上的差异来作为区分的准则。在通篇说明书及后续的请求项当中所提及的“包含”为开放式的用语,故应解释成“包含但不限定于”。以外,“耦接”一词在此包含任何直接及间接的电气连接手段。因此,若文中描述第一装置耦接于第二装置,则代表该第一装置可直接电气连接于该第二装置,或通过其它装置或连接手段间接地电气连接至该第二装置。图2是利用多个存储的霍夫曼表实现随机化霍夫曼编码方案的硬件示意图。如图2所示,在硬件(逻辑电路)架构中实现随机化霍夫曼编码方案的方式是将多个霍夫曼码列表21a、21b、...21η存储在只读存储器(Read-OnlyMemory,ROM)中,基于PRBG22所产生的KHS,熵编码器21选择一个霍夫曼表对每个符号编码。这种方法的劣势在于需要存储大量列表。实现随机化霍夫曼编码方案的另一种方式是利用通用(general-purpose)处理器执行软件或固件以动态地产生列表数据。本发明的实施例提供一种用于实现随机化霍夫曼编码及随机化算术编码的硬件(逻辑电路)架构,且此硬件架构不需要存储用于RHT的多个霍夫曼列表或用于RACCI的多个算术指标。固件架构利用混合列表加载器(hybridtableloader)模块产生用于RHT的动态霍夫曼表及用于RACCI的动态算术指标。如下详细举例说明随机化霍夫曼编码,且由于随机化算术编码的实施相似于随机化霍夫曼编码,此处为简洁不再对随机化算术编码详述。图3是根据本发明的实施例的多媒体编译码器(codec)30的总架构示意图。多媒体编译码器30包括传统多媒体编译码器(即实现没有加密的传统霍夫曼编码的多媒体编译码器)中的各种组件(component)、熵编码器31以及R0M32,传统多媒体编译码器中的各种组件例如彼此之间经由局部总线(Bus)相连的内编码器、分数像素运动估计(FractionalpixelMotionEstimation,FME)装置/分数像素运动补偿(FractionalpixelMotionCompensation,FMC)装置、整像素运云力估计(IntegerpixelMotionEstimation,IME)装置/整像素运动估计(IntegerpixelMotionCompensation,IMC)装置、处理器、去方块效应(de-blocking)装置、存储控制器、SRAM或SDRAM等。这些传统多媒体编译码器中的各种组件的执行功能已为本领域技术人员所熟知,此处为简洁不再赘述。且假定读者知晓传统多媒体编译码器的通常架构。这些组件中的一些是可选的,且图3中未显示的其它传统组件也可存在。多媒体编译码器30的ROM32存储一组霍夫曼表,这和传统多媒体编译码器中存储的一组霍夫曼表相同。因此,多媒体编译码器30的列表大小实质上与传统编译码器中的列表大小相同。多媒体编译码器30的使能密码字(cryptography-enabled)熵编码器31是实现本发明实施例的关键组件,其详细描述将参照后续图4至图9。如图3所示,熵编码器31接收加密/解密密钥,加密/解密密钥的输入不取决于多媒体流且不通过局部总线。加密/解密密钥在加密过程作为加密密钥,在解密过程作为解密密钥。图3所示的多媒体流是输入和输出多媒体数据,比如图像、视频、音频等。可注意到,传统的霍夫曼编码器对图像和视频数据通常利用一组霍夫曼列表。举例来说,MPEG编码器通常利用离散余弦转换(DiscreteCosineTransform,DCT)系数列表零、DCT系数列表一和多个其它可变长度代码(VariableLengthCode,VLC)列表以编码参数,比如宏区块类型、编码区块样式(codedblockpattern)、运动码等,在MPEG中霍夫曼表被称为VLC列表。JPEG编码器通常利用四个霍夫曼表以分别用于亮度DC系数差异、色彩(chrominance)DC系数差异、亮度AC系数和色彩AC系数。在随机化霍夫曼编码方案中,“多个霍夫曼表”是指在传统编码器中利用单一霍夫曼表之处利用多个霍夫曼表,比如用于亮度DC系数的多个霍夫曼表,用于色彩DC系数的多个霍夫曼表等。较好地,每个霍夫曼表由多个列表所取代;然而,可在传统编码器中利用多个列表或取代其中仅一些霍夫曼表,而对传统编码器中的另一些霍夫曼表继续利用单一列表。图4表明图3中的熵编码器31的架构和熵编码过程中的数据流的示意图。从总线接收输入比特流且将输出比特流输出至总线(如图3所示)。第一缓冲器41用于缓冲输入数据,比如量化的空间变换系数(如DCT系数)的区块。扫描引擎42在扫描次序(斜向扫描)下通过扫描DCT系数的每个区块(例如8X8)重排DCT系数的区块。第二缓冲器43对来自扫描引擎42的数据(如重排的DCT系数)进行缓冲以及将这些数据转换成符号,例如用于MPEG的运行/级别(rim/level)符号、用于JPEG的运行/大小(rim/size)符号等。第一缓冲器41、扫描引擎42和第二缓冲器43在传统的熵编码器中已有所应用且其功能与在传统的熵编码器中的功能相同。在传统的熵编码器中,通过利用一组霍夫曼表将第二缓冲器43所产生的符号转换为霍夫曼码字(也称为VLC码字)。举例来说,通过利用单一霍夫曼表将所有的DC系数差异转换为霍夫曼码字。传统的熵编码器包括用于执行列表查找(lookup)的列表加载器,列表查找是利用符号从ROM中的霍夫曼表中查找霍夫曼码字。列表查找所产生的霍夫曼码字接着被码字打包机(packager)打包以产生输出比特流。根据本发明的实施例,在熵编码器31中混合列表加载器44通过利用R0M32中的霍夫曼表和加密/解密密钥将来自第二缓冲器43的符号转换为随机化霍夫曼码字,后续将详述。以相似于传统熵编码器中码字打包机的方式,码字打包机45对来自混合列表加载器44的随机化霍夫曼码字进行打包以产生输出比特流。可配置熵编码器31执行熵编码和译码。可由控制器(图中未示)对熵编码器的各种组件进行配置以便在编码和译码期间执行各自的功能,熵编码器31的各种组件间的数据流也由控制器控制。译码中的数据流和编码中的数据流通常相反。图5表明图3中的熵编码器31的架构和熵译码过程中的数据流的示意图。从总线接收输入比特流且将输出比特流输出至总线(如图3所示)。相似于传统熵译码器中码字提取器(extractor)的方式,码字提取器46对输入比特流进行处理(例如除去额外的格式)以产生随机化霍夫曼码字流。混合列表载入器44根据加密/解密密钥对随机化霍夫曼码字执行去随机(de-randomization)以产生原始霍夫曼码字,且混合列表加载器44通过利用ROM32中的霍夫曼表执行列表查找以将原始霍夫曼码字转换回符号,后续将详细描述。第二缓冲器43将混合列表加载器44所产生的符号(比如运行/大小和运行/级别符号)转换为数据值,比如DCT系数。扫描引擎42将DCT系数从斜向扫描排列重排回DCT系数的区块。第一缓冲器41用于对已重排DCT系数的区块进行缓冲。图6和图7表明图4中混合列表加载器44的架构和熵编码过程中的数据流的示意图。如图6所示,使能加密熵编码器(encryption-enabledentropycoder)包括列表查找装置61、随机列表产生装置62和R0M32。混合列表加载器44包括一个列表查找装置61和一个随机列表产生装置62。图7详细说明了随机列表产生装置62且显示了在熵编码过程中随机列表产生装置62与列表查找装置61及码字打包机45(如图4所示)的关系。列表查找装置61接收符号作为输入,且列表查找装置61通过利用ROM32中一组霍夫曼表执行列表查找,以将输入符号转换为霍夫曼码字。由列表查找装置61产生的霍夫曼码字作为原始霍夫曼码字,这是因为这些霍夫曼码字经过随机化过程并未消失。换句话说,利用图IA中的记法(notation),ROM32中存储的霍夫曼码列表是“霍夫曼码#0”,且列表查找装置61所产生的码字可视为通过全零KHS104所产生。随机列表产生装置62接收加密/解密密钥及原始霍夫曼码字,并输出随机化霍夫曼码字。如图7所示,将来自列表查找装置61的原始霍夫曼码字提供给随机列表产生装置62的随机化控制器72及数据缓冲器73。随机列表产生装置62的PRBG71接收加密/解密密钥及根据该密钥产生KHS且提供KHS给随机化控制器72。除了原始霍夫曼码字,随机化控制器72还从列表查找装置61处接收码字完整(complete)信号。由于霍夫曼码字具有可变长度的性质,因此随机化控制器72不能独自从霍夫曼码字流中判断何时一个霍夫曼码字结束以及何时下一个霍夫曼码字开始。因此,当执行列表查找时,列表查找装置61产生码字完整信号以指示码字边界。随机化控制器72基于原始霍夫曼码字、码字完整信号和KHS产生随机化控制信号。随机化控制器72利用同构码生成算法(isomorphiccodegenerationalgorithm)产生随机化控制信号。随机化控制信号是比特流,其代表数据缓冲器73中缓冲的数据的每个位(原始霍夫曼码字)是否应改变(从0到1或从1到0)。如图IA所示,比较随机化产生的比特流107和非随机化产生的比特流106,霍夫曼码字具有相同的位数目,只是有些位发生了改变。改变哪个位由KHS和同构码生成算法决定。于是,利用图IA中的例子,随机化控制信号可以是“100000001101000010110000”,其中“1”代表已改变位,“0”代表未改变位。在数据缓冲器73中缓冲的数据直接供给多路复用器74的一个输入引脚,并且经10由反相器75供给多路复用器74的另一个输入引脚。多路复用器74作为切换器或选择器。由来自随机化控制器72的随机化控制信号对多路复用器74进行控制。在逐个位的基础上,通过随机化控制信号的位对多路复用器74的控制,多路复用器74选择直接来自数据缓冲器73的原始数据位或来自反相器75的反相数据位。结果,每个原始霍夫曼码字被转换成其同构霍夫曼码字之一,且生成哪个同构霍夫曼码字由KHS所决定。因此多路复用器74的输出是由随机化霍夫曼码字所构成的比特流。该比特流由码字打包机45所打包,打包为熵编码数据。随机列表产生装置62可用逻辑电路实现,比如ASIC。在一个特定例子中,利用八个霍夫曼码实施随机化的随机列表产生装置的总成本(包括缓存器和随机化电路)小于5000门数(gatecount),这种成本相对小且易于在芯片上实施。随机列表产生装置也可由处理器实现。图8和图9表明图5中混合列表加载器44的架构和在熵译码过程中的数据流的示意图。如图8所示,混合列表加载器44包括一个列表查找装置61和一个随机列表产生装置62(在译码过程中,随机列表产生装置也可被认为是列表去随机产生装置),但是这些组件间的数据流不同于图6的熵编码过程。使能加密熵译码器包括R0M32、列表查找装置61和随机列表产生装置62。图9是随机列表产生装置62的详细说明且显示了熵译码过程中其与列表查找装置61和码字提取器46(如图5所示)的关系。码字提取器46以和传统的熵译码器中码字提取器的相同方式对输入数据(已加密比特流,即熵编码输入数据)进行处理(例如消除任何容器或输入比特流中的标头),以产生随机化霍夫曼码字流。代表随机化霍夫曼码字的已加密比特流提供给随机列表产生装置62的数据缓冲器73及随机化控制器72。随机化控制器72接收PRBG71利用输入加密/解密密钥所产生的KHS。KHS代表利用哪个霍夫曼码列表产生随机化霍夫曼码字流中的每个霍夫曼码字。基于KHS和已加密比特流中包含的随机化霍夫曼码字,随机化控制器72执行同构码生成算法以产生随机化控制信号用于已加密比特流的下一位。基于随机化控制信号,多路复用器74将数据缓冲器73中缓冲的已加密比特流的下一位直接输出或经由反相器75反相后输出。结果,多路复用器74输出的位是原始霍夫曼码字的一位。列表查找装置61利用原始霍夫曼码字中的此位在ROM32中查找霍夫曼表(原始霍夫曼码)。由于霍夫曼码字具有可变长度的性质,因此只能在执行列表查找步骤之后才能知道一个霍夫曼码字何时结束。于是,通过对当前位执行列表查找,列表查找装置61能够判定当前霍夫曼码字是否完整(即当前位是否是霍夫曼码字的最后一个位)。若霍夫曼码字是完整的,则列表查找装置61输出与霍夫曼码字对应的符号;否则,列表查找装置61等待下一位。同时,列表查找装置61输出码字完整信号至随机化控制器72以指示码字的边界。例如,码字完整信号能指示当前霍夫曼码字是否完整。基于码字完整信号,随机化控制器72判定是利用当前霍夫曼码(若当前霍夫曼码字尚不完整)对数据缓冲器73中的下一位进行处理还是利用KHS所指示的另一霍夫曼码(若当前霍夫曼码字完整)对数据缓冲器73中的下一位进行处理。随机化控制器72产生随机化控制信号用于已加密比特流中的下一位,且重复该过程。参照图3,实施熵编码器31以选择性地执行没有加密的(可通过利用全零KHS完成)熵编码。因此,使用者在熵编码中可选择使能或禁能加密。从上述描述可以看到,本发明的实施例通过利用混合列表加载器取代列表加载器改良了传统多媒体编译码器的熵编码器,混合列表载入器从ROM中查找霍夫曼表且基于KHS将霍夫曼码字随机化。由于同构码作为多个霍夫曼码使用,因此已编码且加密的数据大小与传统霍夫曼编码产生的已编码数据大小实质上相同。由于仅存储了一组霍夫曼表且其它霍夫曼表由随机列表产生装置动态地产生,因此ROM中存储的霍夫曼表的大小实质上与传统霍夫曼编码中的列表大小相同。这种通过将加密嵌入到霍夫曼编码器或算术编码器以使能加密的方式无需增加芯片面积。此实施有成本效益且提供良好的加密性能。此熵编码器实质上与传统霍夫曼编码器或算术编码器保持相同产出量(throughput)。此外,相较于利用通用处理器的动态霍夫曼码字生成,利用混合列表加载器的硬件逻辑电路的实施能够加速数据加载时间。尽管图IA的RHT例子中仅说明了两个霍夫曼表,但是在RHT算术中可用大量数目的霍夫曼表,比如24°个霍夫曼列表(这个数目可认为是加密算法的密钥空间的大小)。当密钥空间很大时,在ROM中仅存储一组霍夫曼列表是特别有效的。当以随机化霍夫曼编码为例对上述实施例进行描述时,此处描述的随机列表产生装置62或其改良版本可用于实施随机化算术编码或其它类型的残值(residue)编码。当图6至图9中所示的霍夫曼编码器中的随机列表产生装置62作为同构树产生器用于随机化霍夫曼编码时,具有相似架构的随机列表产生装置则会作为子区间(subinterval)指标产生器通过执行一适当算法用于随机化算术编码器。虽然此处以视频和图像数据为例作描述,但经重新配置及扩充的加密/解密方法也可适用于其它类型数据。熵编译码器可应用在数字视频/图像编码器及播放器、有线和无线装置、遵循各种标准的媒体播放器,其中媒体播放器例如DVD、中国蓝光高清(ChinaBlueHigh-Definition,CH-DVD)、蓝光(如Blu-ray)、数字电视地面多媒体广播(DigitalTerrestrialMultimediaBroadcasting,DTMB)、手持式数字视频广播技术(DigitalVideoBroadcasting-Handheld,DVB-H)、数字电视地面广播(DigitalVideoBroadcasting-Terrestrial,DVB-T)等。虽然本发明已就较佳实施例揭露如上,然其并非用以限定本发明。本发明所属
技术领域
中普通技术人员,在不脱离本发明的精神和范围内,当可作各种的变更和润饰。因此,本发明的保护范围当视之前的权利要求书所界定的为准。权利要求一种使能加密熵编码器,用于多媒体编译码器,其特征在于,所述使能加密熵编码器包括只读存储器,用于存储一组代码列表,每个代码列表是将多个符号映射到多个码字的代码;列表查找装置,耦接于所述只读存储器,且所述列表查找装置用于接收包含多个符号的输入比特流,利用存储在所述只读存储器中的所述代码列表执行列表查找以将所述多个符号转换为原始码字,并产生码字完整信号以指示所述原始码字的边界;以及随机列表产生装置,耦接于所述列表查找装置,所述随机列表产生装置用于接收所述原始码字、加密/解密密钥和所述码字完整信号,基于所述加密/解密密钥和所述码字完整信号,所述随机列表产生装置利用同构码生成算法将所述原始码字转换成随机化码字,其中每个随机化码字是对应的所述原始码字的同构码字。2.如权利要求1所述的使能加密熵编码器,其特征在于,所述随机列表产生装置包括数据缓冲器,用于接收及缓冲所述原始码字;伪随机比特产生器,用于接收所述加密/解密密钥并产生包含编号序列的跳频密钥序列,所述跳频密钥序列中的每个编号指示所述只读存储器中存储的所述代码或与所述只读存储器中存储的所述代码同构的多个代码中的一个代码;随机化控制器,用于接收所述跳频密钥序列、所述码字完整信号以及所述原始码字,且基于所述跳频密钥序列、所述码字完整信号以及所述原始码字,利用所述同构码生成算法产生随机化控制信号,其中所述随机化控制信号是比特流;以及切换器,由所述随机化控制信号所控制,用于对所述数据缓冲器中缓冲的下一数据位选择直接输出或反相后输出。3.如权利要求1所述的使能加密熵编码器,其特征在于,所述随机列表产生装置由逻辑电路或处理器实现。4.如权利要求1所述的使能加密熵编码器,其特征在于,所述使能加密熵编码器进一步包括码字打包机,用于将所述随机列表产生装置产生的所述随机化码字打包成熵编码数据。5.如权利要求1所述的使能加密熵编码器,其特征在于,所述使能加密熵编码器进一步包括第一缓冲器,用于对量化的空间变换系数的区块缓冲;扫描引擎,耦接于所述第一缓冲器,所述扫描引擎用于在扫描次序下对量化的空间变换系数的每个区块进行扫描;以及第二缓冲器,用于对来自所述扫描引擎的数据进行缓冲,以及将所述数据转换为所述多个符号,其中所述多个符号被输入到所述列表查找装置。6.如权利要求1所述的使能加密熵编码器,其特征在于,所述只读存储器中存储的所述代码列表的组中包括霍夫曼码列表。7.一种多媒体编译码器,其特征在于,所述多媒体编译码器包括使能加密熵编码器,所述使能加密熵编码器包括只读存储器,用于存储一组代码列表,每个代码列表是将多个符号映射到多个码字的代码;列表查找装置,耦接于所述只读存储器,且所述列表查找装置接收包含多个符号的输入比特流,所述列表查找装置利用存储在所述只读存储器中的所述代码列表执行列表查找以将所述符号转换为原始码字,所述列表查找装置进一步产生码字完整信号以指示所述原始码字的边界;以及随机列表产生装置,耦接于所述列表查找装置,所述随机列表产生装置用于接收所述原始码字、加密/解密密钥和所述码字完整信号,基于所述加密/解密密钥和所述码字完整信号,所述随机列表产生装置利用同构码生成算法将所述原始码字转换成随机化码字,其中每个随机化码字是对应的所述原始码字的同构码字;其中所述使能加密熵编码器经由总线与内编码器、运动估计装置、去方块效应装置、存储控制器、存储器以及处理器相连。8.一种使能加密熵译码器,用于多媒体编译码器,其特征在于,所述使能加密熵译码器包括只读存储器,用于存储一组代码列表,每个代码列表是将多个符号映射到多个码字的代码;列表查找装置,耦接于所述只读存储器,所述列表查找装置利用存储在所述只读存储器中的所述代码执行列表查找以将原始码字转换为符号,并产生码字完整信号以指示所述原始码字的边界;以及随机列表产生装置,耦接于所述列表查找装置,所述随机列表产生装置用于接收加密/解密密钥、随机化码字和所述码字完整信号,基于所述加密/解密密钥和所述码字完整信号所述随机列表产生装置利用同构码生成算法将输入的所述随机化码字转换成所述原始码字,其中每个随机化码字是对应的所述原始码字的同构码字,且所述原始码字被输入到所述列表查找装置。9.如权利要求8所述的使能加密熵译码器,其特征在于,所述随机列表产生装置包括数据缓冲器,用于接收及缓冲输入的随机化码字;伪随机比特产生器,用于接收所述加密/解密密钥并产生包含编号序列的跳频密钥序列,所述跳频密钥序列中的每个编号指示所述只读存储器中存储的所述代码或与所述只读存储器中存储的所述代码同构的多个代码中的一个代码;随机化控制器,用于接收所述跳频密钥序列、所述码字完整信号以及所述随机化码字,且基于所述跳频密钥序列、所述码字完整信号以及所述随机化码字,所述随机化控制器利用所述同构码生成算法产生随机化控制信号,其中所述随机化控制信号是比特流;以及切换器,由所述随机化控制信号所控制,用于对所述数据缓冲器中缓冲的下一数据位选择直接输出或反相后输出。10.如权利要求8所述的使能加密熵译码器,其特征在于,所述随机列表产生装置由逻辑电路或处理器实现。11.如权利要求8所述的使能加密熵译码器,其特征在于,所述使能加密熵译码器进一步包括码字提取器,用于从输入的熵编码输入数据中提取所述随机化码字,以及将所述随机化码字输入到所述随机列表产生装置。12.如权利要求8所述的使能加密熵译码器,其特征在于,所述使能加密熵译码器进一步包括第二缓冲器,用于对来自所述列表查找装置的数据进行缓冲,以及将所述数据转换成空间变换系数;扫描引擎,耦接于所述第二缓冲器,所述扫描引擎用于将所述空间变换系数重排到区块中;以及第一缓冲器,用于对所述扫描引擎产生的空间变换系数的重排区块进行缓冲。13.如权利要求8所述的使能加密熵译码器,其特征在于,所述只读存储器中存储的所述代码列表的组中包括霍夫曼码列表。14.一种多媒体编译码器,其特征在于,所述多媒体编译码器包括使能加密熵编码器,所述使能加密熵编码器包括只读存储器,用于存储一组代码列表,每个代码列表是将多个符号映射到多个码字的代码;列表查找装置,耦接于所述只读存储器,所述列表查找装置利用存储在所述只读存储器中的所述代码执行列表查找以将原始码字转换为符号,所述列表查找装置进一步产生码字完整信号以指示所述原始码字的边界;以及随机列表产生装置,耦接于所述列表查找装置,所述随机列表产生装置用于接收加密/解密密钥、随机化码字和所述码字完整信号,基于所述加密/解密密钥和所述码字完整信号,所述随机列表产生装置利用同构码生成算法将输入的所述随机化码字转换成所述原始码字,其中每个随机化码字是对应的所述原始码字的同构码字,且所述原始码字被输入到所述列表查找装置;其中所述使能加密熵编码器经由总线与内编码器、运动估计装置、去方块效应装置、存储控制器、存储器以及处理器相连。15.一种用于使能加密熵编译码器的方法,其特征在于,所述的方法包括在只读存储器中存储一组代码列表,每个代码列表是将多个符号映射到多个码字的代码;利用所述只读存储器中存储的所述代码列表执行列表查找,以将多个符号转换为原始码字;以及基于加密/解密密钥,利用同构码生成算法将所述原始码字转换为随机化码字,其中每个随机化码字是对应的所述原始码字的同构码字。16.如权利要求15所述的用于使能加密熵编译码器的方法,其特征在于,所述的方法进一步包括基于加密/解密密钥,利用同构码生成算法将所述随机化码字转换为原始码字,其中每个随机化码字是对应的所述原始码字的同构码字;以及利用所述只读存储器中存储的所述代码列表执行列表查找,以将所述原始码字转换为多个符号。全文摘要本发明提供一种多媒体编译码器、使能加密熵编码器、熵译码器及其方法,其中使能加密熵编码器包括只读存储器,用于存储一组代码列表;列表查找装置,执行列表查找以将所述多个符号转换为原始码字,进一步产生码字完整信号以指示原始码字的边界;以及随机列表产生装置,用于接收原始码字、加密/解密密钥和码字完整信号,基于加密/解密密钥和码字完整信号,所述随机列表产生装置利用同构码生成算法将原始码字转成随机化码字,其中每个随机化码字是对应的原始码字的同构码字。通过利用本发明所提供的随机列表产生装置,无需存储多个霍夫曼列表或多个算术指标。文档编号H04N7/26GK101909209SQ200910223088公开日2010年12月8日申请日期2009年11月18日优先权日2009年6月4日发明者周文生,张毓麟申请人:联发科技(新加坡)私人有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1