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

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

Info

Publication number
CN101909209B
CN101909209B CN2009102230882A CN200910223088A CN101909209B CN 101909209 B CN101909209 B CN 101909209B CN 2009102230882 A CN2009102230882 A CN 2009102230882A CN 200910223088 A CN200910223088 A CN 200910223088A CN 101909209 B CN101909209 B CN 101909209B
Authority
CN
China
Prior art keywords
code word
code
tabulation
randomization
encrypt
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2009102230882A
Other languages
English (en)
Other versions
CN101909209A (zh
Inventor
张毓麟
周文生
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MediaTek Singapore Pte Ltd
Original Assignee
MediaTek Singapore Pte Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by MediaTek Singapore Pte Ltd filed Critical MediaTek Singapore Pte Ltd
Publication of CN101909209A publication Critical patent/CN101909209A/zh
Application granted granted Critical
Publication of CN101909209B publication Critical patent/CN101909209B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/167Systems rendering the television signal unintelligible and subsequently intelligible
    • H04N7/1675Providing digital key or authorisation information for generation or regeneration of the scrambling sequence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/93Run-length coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供一种多媒体编译码器、使能加密熵编码器、熵译码器及其方法,其中使能加密熵编码器包括:只读存储器,用于存储一组代码列表;列表查找装置,执行列表查找以将所述多个符号转换为原始码字,进一步产生码字完整信号以指示原始码字的边界;以及随机列表产生装置,用于接收原始码字、加密/解密密钥和码字完整信号,基于加密/解密密钥和码字完整信号,所述随机列表产生装置利用同构码生成算法将原始码字转成随机化码字,其中每个随机化码字是对应的原始码字的同构码字。通过利用本发明所提供的随机列表产生装置,无需存储多个霍夫曼列表或多个算术指标。

Description

多媒体编译码器、使能加密熵编码器、熵译码器及其方法
技术领域
本发明有关于图像和视频处理,尤其有关于利用加密/解密的熵(entropy)编码/译码的装置及方法。
背景技术
用于图像和视频压缩的传统熵编码方法及硬件利用预设表将符号映射到码字(codeword)。通过利用具有多个统计模型的改良熵编码器,多媒体压缩和加密系统的整合得到改进。
参考一是由Chung-Ping Wu和C.-C.Jay Kuo所提出的“将多媒体压缩和加密系统整合的设计”(“Design of Integrated Multimedia Compression andEncryption Systems”,Chung-Ping Wu and C.-C.Jay Kuo,IEEETRANSACTIONS ON MULTIMEDIA,Vol.7,No.5,October 2005,以下简称为“Wu和Kuo的论文”),其描述了两种加密方案,即在编码音频/视频/图像数据(比如MPEG音频、MPEG视频及JPEG/JPEG2000图像)时在霍夫曼(Huffman)编码器或QM编码器(QM是可适性算术编码器的简化情形)中应用多个统计模型的方法。在此论文中,把改良霍夫曼编码方案作为多个霍夫曼表(Multiple Huffman Table,MHT)编码方案,且将改良QM编码方案作为多个状态指数(Multiple State Indices,MSI)编码方案。
参考二是由Dahua Xie和C.-C.Jay Kuo所揭示的“将随机化熵编码和已分割比特流中的轮替排列结合的多媒体加密”(“Multimedia Encryption withJoint Randomized Entropy Coding and Rotation in Partitioned Bitstream”,DahuaXie and C.-C.Jay Kuo,Hindawi Publishing Corporation,EURASIP Journal onInformation Security,Volume 2007,以下简称为“Xie和Kuo的论文”),其描述了由两个串接模块构成的加密方法,第一个模块是随机化熵编码(Randomized Entropy Coding,REC),其根据熵编码器中的随机序列来利用多个熵编码参数/设定,第二个模块是已分割比特流中的轮替排列(Rotation inPartitioned Bitstream,RPB),其进一步对REC级的输出进行随机轮替排列以得到最终比特流。文中描述了两个REC方案,一个是用于霍夫曼编码的随机化霍夫曼表(Randomized Huffman Table,RHT),另一个是用于算术编码的随机算术编码常规交错(Randomized Arithmetic Coding Convention Interleaving,RACCI)方案。
RHT是先前Wu和Kuo所描述的MHT方法的延伸。在RHT加密方案中,构建和发布与同一霍夫曼树(Huffman tree)对应的多个不同霍夫曼码。可由称之为霍夫曼树突变(mutation)过程的技术构建不同的霍夫曼码。接着选择特定霍夫曼码以根据跳频密钥序列(Key Hopping Sequence,KHS)对每个输入符号编码。KHS是通过伪随机比特产生器(Pseudorandom Bit Generator,PRBG)从秘密种子(密钥)产生的一个编号序列。为了对已编码比特流进行译码,必须知晓密钥(随机种子)以便利用PRBG复制KHS及在比特流中依次正确地译码霍夫曼码字。
图1A是先前技术RHT编码原理的架构说明图,图中所示例的RHT算法由Xie和Kuo论文改编而来。源输入由7个符号组成,且由A到G所表示。构建两个不同的霍夫曼码(霍夫曼树)对这7个符号编码,比如构建码#0101和码#1102。这两个霍夫曼树的拓扑是相同的(即这两个霍夫曼码是彼此的同构码),因此每个符号的码字长度是相同的,尽管码字值是不同的。在此例中,0和1在图1A中码#1内的下划线所示的四个位置成对交换。利用KHS 105“10011010”对一简单输入明文(plaintext)103“ACDABEFG”编码。KHS中“0”表示利用霍夫曼码#0编码对应的明文符号,“1”表示利用霍夫曼码#1编码对应的明文符号。生成密文(已编码比特流)107是“110111001001110101011111”(此处短的垂直线表示霍夫曼码字的边界)。作为对比,图1A显示了另一个KHS 104“00000000”,具有生成密文106“010111000100110111101111”(短的垂直线表示霍夫曼码字的边界)。全零(all-zero)KHS 104等效于仅利用一个霍夫曼码(码#0)的传统霍夫曼编码方案。密文107中下划线所表示的位则是密文107不同于密文106之处。
若利用一个不正确的KHS对KHS 105编码的密文107译码,则生成的已译码明文会不同于输入明文103。例如,若利用KHS“00000000”对密文107译码,则生成明文会是“EDBFCAG”,若利用KHS“10111010”,生成明文会是“ACAABAEA”。如Xie和Kuo论文中所述,由于霍夫曼码是唯一可译码的代码,因此可用任何KHS继续译码,此译码错误不会被侦测到,直到将这种错误结果进一步转换成未处理的(raw)多媒体内容且发现此错误结果没有意义。
一般来说,在Xie和Kuo论文中所述的RHT算法中产生M=2m霍夫曼表,且从0至M-1编号。KHS侵占m位(m-bit)区块,m位区块的每个值ti代表从0至M-1的编号,且利用霍夫曼表ti编码第i个符号。
Xie和Kuo论文中所述的RACCI方案相似于在编码中利用随机化技术。简单讲,算术编码涉及递归式(recursive)区间分割,即重复的划分概率区间(probability interval)的过程,并且产生代表分割点当前区间的比特流。在二元算术编码中,有两个可能的符号次序,即小概率符号(Less Probable Symbol,LPS)子区间在大概率符号(More Probable Symbol,MPS)子区间之上,或MPS子区间在LPS子区间之上,还有两种可能的码流惯例,即指向区间的底端或顶端。这导致总共四种可能的编码惯例,这四种惯例由算术指标所指示。此四种编码惯例如图1B所示,图1B是先前技术RACCI编码方案的原理架构说明图,其出自Xie和Kuo论文图3。在RACCI方案下,基于KHS选择用于编码每个输入的编码惯例。再者,KHS通过PRBG从秘密种子(密钥)生成。
Wu和Kuo论文中所述的MHT及Xie和Kuo论文中所述的RHT方案共享一个基本主题(利用多个霍夫曼表)以编码明文。为了方便,此公开内容利用术语“随机化霍夫曼编码”指代MHT和RHT。相似地,此公开内容利用术语“随机化算术编码”指代Wu和Kuo论文中所述的MSI方案以及Xie和Kuo论文中所述的RACCI方案。
发明内容
有鉴于此,本发明提出多媒体编译码器、使能加密熵编码器、熵译码器及其方法。
本发明提供一种使能加密熵编码器,用于多媒体编译码器,使能加密熵编码器包括:只读存储器,用于存储一组代码列表,每个代码列表是将多个符号映射到多个码字的代码;列表查找装置,耦接于只读存储器,且列表查找装置接收包含多个符号的输入比特流,列表查找装置利用存储在只读存储器中的代码列表执行列表查找以将符号转换为原始码字,列表查找装置进一步产生码字完整信号以指示原始码字的边界;以及随机列表产生装置,耦接于列表查找装置,随机列表产生装置用于接收原始码字、加密/解密密钥和码字完整信号,基于加密/解密密钥和码字完整信号,随机列表产生装置利用同构码生成算法将原始码字转换成随机化码字,其中每个随机化码字是对应的原始码字的同构码字。
本发明提供一种多媒体编译码器,包括:使能加密熵编码器;包括:只读存储器,用于存储一组代码列表,每个代码列表是将多个符号映射到多个码字的代码;列表查找装置,耦接于只读存储器,且列表查找装置接收包含多个符号的输入比特流,列表查找装置利用存储在只读存储器中的代码列表执行列表查找以将符号转换为原始码字,列表查找装置进一步产生码字完整信号以指示原始码字的边界;以及随机列表产生装置,耦接于列表查找装置,随机列表产生装置用于接收原始码字、加密/解密密钥和码字完整信号,基于加密/解密密钥和码字完整信号,随机列表产生装置利用同构码生成算法将原始码字转换成随机化码字,其中每个随机化码字是对应的原始码字的同构码字;且使能加密熵编码器经由总线与内编码器、运动估计装置、去方块效应装置、存储控制器、存储器以及处理器相连。
本发明提供一种使能加密熵译码器,用于多媒体编译码器,使能加密熵译码器包括:只读存储器,用于存储一组代码列表,每个代码列表是将多个符号映射到多个码字的代码;列表查找装置,耦接于只读存储器,列表查找装置利用存储在只读存储器中的代码执行列表查找以将原始码字转换为符号,列表查找装置进一步产生码字完整信号以指示原始码字的边界;以及随机列表产生装置,耦接于列表查找装置,随机列表产生装置用于接收加密/解密密钥、随机化码字和码字完整信号,基于加密/解密密钥和码字完整信号随机列表产生装置利用同构码生成算法将输入的随机化码字转换成原始码字,其中每个随机化码字是对应的原始码字的同构码字,且原始码字被输入到列表查找装置。
本发明提供一种多媒体编译码器,包括:使能加密熵编码器;包括:只读存储器,用于存储一组代码列表,每个代码列表是将多个符号映射到多个码字的代码;列表查找装置,耦接于只读存储器,列表查找装置利用存储在只读存储器中的代码执行列表查找以将原始码字转换为符号,列表查找装置进一步产生码字完整信号以指示原始码字的边界;以及随机列表产生装置,耦接于列表查找装置,随机列表产生装置用于接收加密/解密密钥、随机化码字和码字完整信号,基于加密/解密密钥和码字完整信号随机列表产生装置利用同构码生成算法将输入的随机化码字转换成原始码字,其中每个随机化码字是对应的原始码字的同构码字,且原始码字被输入到列表查找装置;且使能加密熵编码器经由总线与内编码器、运动估计装置、去方块效应装置、存储控制器、存储器以及处理器相连。
本发明提供一种用于使能加密熵编译码器的方法,其中熵编码包括:在只读存储器中存储一组代码列表,每个代码列表是将多个符号映射到多个码字的代码;利用只读存储器中存储的代码列表执行列表查找,以将多个符号转换为原始码字;以及基于加密/解密密钥,利用同构码生成算法将原始码字转换为随机化码字,其中每个随机化码字是对应的原始码字的同构码字。
通过利用本发明所提供的随机列表产生装置,无需存储多个霍夫曼列表或多个算术指标。
以下根据多个图式对本发明的较佳实施例进行详细描述,所属领域技术人员阅读后应可明确了解本发明的目的。
附图说明
图1A是现有技术RHT编码原理的架构说明图;
图1B是现有技术RACCI编码方案的原理架构说明图;
图2是利用多个存储的霍夫曼表实现随机化霍夫曼编码方案的硬件示意图;
图3是根据本发明的实施例的多媒体编译码器的总架构示意图;
图4表明图3中的熵编码器的架构和熵编码过程中的数据流的示意图;
图5表明图3中的熵编码器的架构和熵译码过程中的数据流的示意图;
图6和图7表明图4中混合列表加载器的架构和熵编码过程中的数据流的示意图;
图8和图9表明图5中混合列表加载器的架构和在熵译码过程中的数据流的示意图。
具体实施方式
在权利要求书及说明书当中使用了某些词汇来指称特定的元件。所属领域中的普通技术人员应可理解,硬件制造商可能会用不同的名词来称呼同一个元件。本发明的权利要求书及说明书并不以名称的差异来作为区分元件的方式,而是以元件在功能上的差异来作为区分的准则。在通篇说明书及后续的请求项当中所提及的“包含”为开放式的用语,故应解释成“包含但不限定于”。以外,“耦接”一词在此包含任何直接及间接的电气连接手段。因此,若文中描述第一装置耦接于第二装置,则代表该第一装置可直接电气连接于该第二装置,或通过其它装置或连接手段间接地电气连接至该第二装置。
图2是利用多个存储的霍夫曼表实现随机化霍夫曼编码方案的硬件示意图。如图2所示,在硬件(逻辑电路)架构中实现随机化霍夫曼编码方案的方式是将多个霍夫曼码列表21a、21b、...21n存储在只读存储器(Read-OnlyMemory,ROM)中,基于PRBG 22所产生的KHS,熵编码器21选择一个霍夫曼表对每个符号编码。这种方法的劣势在于需要存储大量列表。实现随机化霍夫曼编码方案的另一种方式是利用通用(general-purpose)处理器执行软件或固件以动态地产生列表数据。
本发明的实施例提供一种用于实现随机化霍夫曼编码及随机化算术编码的硬件(逻辑电路)架构,且此硬件架构不需要存储用于RHT的多个霍夫曼列表或用于RACCI的多个算术指标。固件架构利用混合列表加载器(hybridtable loader)模块产生用于RHT的动态霍夫曼表及用于RACCI的动态算术指标。如下详细举例说明随机化霍夫曼编码,且由于随机化算术编码的实施相似于随机化霍夫曼编码,此处为简洁不再对随机化算术编码详述。
图3是根据本发明的实施例的多媒体编译码器(codec)30的总架构示意图。多媒体编译码器30包括传统多媒体编译码器(即实现没有加密的传统霍夫曼编码的多媒体编译码器)中的各种组件(component)、熵编码器31以及ROM32,传统多媒体编译码器中的各种组件例如彼此之间经由局部总线(Bus)相连的内编码器、分数像素运动估计(Fractional pixel Motion Estimation,FME)装置/分数像素运动补偿(Fractional pixel Motion Compensation,FMC)装置、整像素运动估计(Integer pixel Motion Estimation,IME)装置/整像素运动估计(Integerpixel Motion Compensation,IMC)装置、处理器、去方块效应(de-blocking)装置、存储控制器、SRAM或SDRAM等。这些传统多媒体编译码器中的各种组件的执行功能已为本领域技术人员所熟知,此处为简洁不再赘述。且假定读者知晓传统多媒体编译码器的通常架构。这些组件中的一些是可选的,且图3中未显示的其它传统组件也可存在。
多媒体编译码器30的ROM 32存储一组霍夫曼表,这和传统多媒体编译码器中存储的一组霍夫曼表相同。因此,多媒体编译码器30的列表大小实质上与传统编译码器中的列表大小相同。多媒体编译码器30的使能密码字(cryptography-enabled)熵编码器31是实现本发明实施例的关键组件,其详细描述将参照后续图4至图9。如图3所示,熵编码器31接收加密/解密密钥,加密/解密密钥的输入不取决于多媒体流且不通过局部总线。加密/解密密钥在加密过程作为加密密钥,在解密过程作为解密密钥。图3所示的多媒体流是输入和输出多媒体数据,比如图像、视频、音频等。
可注意到,传统的霍夫曼编码器对图像和视频数据通常利用一组霍夫曼列表。举例来说,MPEG编码器通常利用离散余弦转换(Discrete CosineTransform,DCT)系数列表零、DCT系数列表一和多个其它可变长度代码(Variable Length Code,VLC)列表以编码参数,比如宏区块类型、编码区块样式(coded block pattern)、运动码等,在MPEG中霍夫曼表被称为VLC列表。JPEG编码器通常利用四个霍夫曼表以分别用于亮度DC系数差异、色彩(chrominance)DC系数差异、亮度AC系数和色彩AC系数。在随机化霍夫曼编码方案中,“多个霍夫曼表”是指在传统编码器中利用单一霍夫曼表之处利用多个霍夫曼表,比如用于亮度DC系数的多个霍夫曼表,用于色彩DC系数的多个霍夫曼表等。较好地,每个霍夫曼表由多个列表所取代;然而,可在传统编码器中利用多个列表或取代其中仅一些霍夫曼表,而对传统编码器中的另一些霍夫曼表继续利用单一列表。
图4表明图3中的熵编码器31的架构和熵编码过程中的数据流的示意图。从总线接收输入比特流且将输出比特流输出至总线(如图3所示)。第一缓冲器41用于缓冲输入数据,比如量化的空间变换系数(如DCT系数)的区块。扫描引擎42在扫描次序(斜向扫描)下通过扫描DCT系数的每个区块(例如8×8)重排DCT系数的区块。第二缓冲器43对来自扫描引擎42的数据(如重排的DCT系数)进行缓冲以及将这些数据转换成符号,例如用于MPEG的运行/级别(run/level)符号、用于JPEG的运行/大小(run/size)符号等。第一缓冲器41、扫描引擎42和第二缓冲器43在传统的熵编码器中已有所应用且其功能与在传统的熵编码器中的功能相同。
在传统的熵编码器中,通过利用一组霍夫曼表将第二缓冲器43所产生的符号转换为霍夫曼码字(也称为VLC码字)。举例来说,通过利用单一霍夫曼表将所有的DC系数差异转换为霍夫曼码字。传统的熵编码器包括用于执行列表查找(lookup)的列表加载器,列表查找是利用符号从ROM中的霍夫曼表中查找霍夫曼码字。列表查找所产生的霍夫曼码字接着被码字打包机(packager)打包以产生输出比特流。
根据本发明的实施例,在熵编码器31中混合列表加载器44通过利用ROM32中的霍夫曼表和加密/解密密钥将来自第二缓冲器43的符号转换为随机化霍夫曼码字,后续将详述。以相似于传统熵编码器中码字打包机的方式,码字打包机45对来自混合列表加载器44的随机化霍夫曼码字进行打包以产生输出比特流。
可配置熵编码器31执行熵编码和译码。可由控制器(图中未示)对熵编码器的各种组件进行配置以便在编码和译码期间执行各自的功能,熵编码器31的各种组件间的数据流也由控制器控制。译码中的数据流和编码中的数据流通常相反。图5表明图3中的熵编码器31的架构和熵译码过程中的数据流的示意图。从总线接收输入比特流且将输出比特流输出至总线(如图3所示)。相似于传统熵译码器中码字提取器(extractor)的方式,码字提取器46对输入比特流进行处理(例如除去额外的格式)以产生随机化霍夫曼码字流。混合列表载入器44根据加密/解密密钥对随机化霍夫曼码字执行去随机(de-randomization)以产生原始霍夫曼码字,且混合列表加载器44通过利用ROM 32中的霍夫曼表执行列表查找以将原始霍夫曼码字转换回符号,后续将详细描述。
第二缓冲器43将混合列表加载器44所产生的符号(比如运行/大小和运行/级别符号)转换为数据值,比如DCT系数。扫描引擎42将DCT系数从斜向扫描排列重排回DCT系数的区块。第一缓冲器41用于对已重排DCT系数的区块进行缓冲。
图6和图7表明图4中混合列表加载器44的架构和熵编码过程中的数据流的示意图。如图6所示,使能加密熵编码器(encryption-enabled entropy coder)包括列表查找装置61、随机列表产生装置62和ROM32。混合列表加载器44包括一个列表查找装置61和一个随机列表产生装置62。图7详细说明了随机列表产生装置62且显示了在熵编码过程中随机列表产生装置62与列表查找装置61及码字打包机45(如图4所示)的关系。列表查找装置61接收符号作为输入,且列表查找装置61通过利用ROM 32中一组霍夫曼表执行列表查找,以将输入符号转换为霍夫曼码字。由列表查找装置61产生的霍夫曼码字作为原始霍夫曼码字,这是因为这些霍夫曼码字经过随机化过程并未消失。换句话说,利用图1A中的记法(notation),ROM 32中存储的霍夫曼码列表是“霍夫曼码#0”,且列表查找装置61所产生的码字可视为通过全零KHS 104所产生。
随机列表产生装置62接收加密/解密密钥及原始霍夫曼码字,并输出随机化霍夫曼码字。如图7所示,将来自列表查找装置61的原始霍夫曼码字提供给随机列表产生装置62的随机化控制器72及数据缓冲器73。随机列表产生装置62的PRBG 71接收加密/解密密钥及根据该密钥产生KHS且提供KHS给随机化控制器72。
除了原始霍夫曼码字,随机化控制器72还从列表查找装置61处接收码字完整(complete)信号。由于霍夫曼码字具有可变长度的性质,因此随机化控制器72不能独自从霍夫曼码字流中判断何时一个霍夫曼码字结束以及何时下一个霍夫曼码字开始。因此,当执行列表查找时,列表查找装置61产生码字完整信号以指示码字边界。随机化控制器72基于原始霍夫曼码字、码字完整信号和KHS产生随机化控制信号。随机化控制器72利用同构码生成算法(isomorphic code generation algorithm)产生随机化控制信号。随机化控制信号是比特流,其代表数据缓冲器73中缓冲的数据的每个位(原始霍夫曼码字)是否应改变(从0到1或从1到0)。如图1A所示,比较随机化产生的比特流107和非随机化产生的比特流106,霍夫曼码字具有相同的位数目,只是有些位发生了改变。改变哪个位由KHS和同构码生成算法决定。于是,利用图1A中的例子,随机化控制信号可以是“100000001101000010110000”,其中“1”代表已改变位,“0”代表未改变位。
在数据缓冲器73中缓冲的数据直接供给多路复用器74的一个输入引脚,并且经由反相器75供给多路复用器74的另一个输入引脚。多路复用器74作为切换器或选择器。由来自随机化控制器72的随机化控制信号对多路复用器74进行控制。在逐个位的基础上,通过随机化控制信号的位对多路复用器74的控制,多路复用器74选择直接来自数据缓冲器73的原始数据位或来自反相器75的反相数据位。结果,每个原始霍夫曼码字被转换成其同构霍夫曼码字之一,且生成哪个同构霍夫曼码字由KHS所决定。因此多路复用器74的输出是由随机化霍夫曼码字所构成的比特流。该比特流由码字打包机45所打包,打包为熵编码数据。
随机列表产生装置62可用逻辑电路实现,比如ASIC。在一个特定例子中,利用八个霍夫曼码实施随机化的随机列表产生装置的总成本(包括缓存器和随机化电路)小于5000门数(gate count),这种成本相对小且易于在芯片上实施。随机列表产生装置也可由处理器实现。
图8和图9表明图5中混合列表加载器44的架构和在熵译码过程中的数据流的示意图。如图8所示,混合列表加载器44包括一个列表查找装置61和一个随机列表产生装置62(在译码过程中,随机列表产生装置也可被认为是列表去随机产生装置),但是这些组件间的数据流不同于图6的熵编码过程。使能加密熵译码器包括ROM32、列表查找装置61和随机列表产生装置62。图9是随机列表产生装置62的详细说明且显示了熵译码过程中其与列表查找装置61和码字提取器46(如图5所示)的关系。码字提取器46以和传统的熵译码器中码字提取器的相同方式对输入数据(已加密比特流,即熵编码输入数据)进行处理(例如消除任何容器或输入比特流中的标头),以产生随机化霍夫曼码字流。
代表随机化霍夫曼码字的已加密比特流提供给随机列表产生装置62的数据缓冲器73及随机化控制器72。随机化控制器72接收PRBG 71利用输入加密/解密密钥所产生的KHS。KHS代表利用哪个霍夫曼码列表产生随机化霍夫曼码字流中的每个霍夫曼码字。基于KHS和已加密比特流中包含的随机化霍夫曼码字,随机化控制器72执行同构码生成算法以产生随机化控制信号用于已加密比特流的下一位。基于随机化控制信号,多路复用器74将数据缓冲器73中缓冲的已加密比特流的下一位直接输出或经由反相器75反相后输出。结果,多路复用器74输出的位是原始霍夫曼码字的一位。
列表查找装置61利用原始霍夫曼码字中的此位在ROM 32中查找霍夫曼表(原始霍夫曼码)。由于霍夫曼码字具有可变长度的性质,因此只能在执行列表查找步骤之后才能知道一个霍夫曼码字何时结束。于是,通过对当前位执行列表查找,列表查找装置61能够判定当前霍夫曼码字是否完整(即当前位是否是霍夫曼码字的最后一个位)。若霍夫曼码字是完整的,则列表查找装置61输出与霍夫曼码字对应的符号;否则,列表查找装置61等待下一位。同时,列表查找装置61输出码字完整信号至随机化控制器72以指示码字的边界。例如,码字完整信号能指示当前霍夫曼码字是否完整。
基于码字完整信号,随机化控制器72判定是利用当前霍夫曼码(若当前霍夫曼码字尚不完整)对数据缓冲器73中的下一位进行处理还是利用KHS所指示的另一霍夫曼码(若当前霍夫曼码字完整)对数据缓冲器73中的下一位进行处理。随机化控制器72产生随机化控制信号用于已加密比特流中的下一位,且重复该过程。
参照图3,实施熵编码器31以选择性地执行没有加密的(可通过利用全零KHS完成)熵编码。因此,使用者在熵编码中可选择使能或禁能加密。
从上述描述可以看到,本发明的实施例通过利用混合列表加载器取代列表加载器改良了传统多媒体编译码器的熵编码器,混合列表载入器从ROM中查找霍夫曼表且基于KHS将霍夫曼码字随机化。由于同构码作为多个霍夫曼码使用,因此已编码且加密的数据大小与传统霍夫曼编码产生的已编码数据大小实质上相同。由于仅存储了一组霍夫曼表且其它霍夫曼表由随机列表产生装置动态地产生,因此ROM中存储的霍夫曼表的大小实质上与传统霍夫曼编码中的列表大小相同。这种通过将加密嵌入到霍夫曼编码器或算术编码器以使能加密的方式无需增加芯片面积。此实施有成本效益且提供良好的加密性能。此熵编码器实质上与传统霍夫曼编码器或算术编码器保持相同产出量(throughput)。此外,相较于利用通用处理器的动态霍夫曼码字生成,利用混合列表加载器的硬件逻辑电路的实施能够加速数据加载时间。
尽管图1A的RHT例子中仅说明了两个霍夫曼表,但是在RHT算术中可用大量数目的霍夫曼表,比如240个霍夫曼列表(这个数目可认为是加密算法的密钥空间的大小)。当密钥空间很大时,在ROM中仅存储一组霍夫曼列表是特别有效的。
当以随机化霍夫曼编码为例对上述实施例进行描述时,此处描述的随机列表产生装置62或其改良版本可用于实施随机化算术编码或其它类型的残值(residue)编码。当图6至图9中所示的霍夫曼编码器中的随机列表产生装置62作为同构树产生器用于随机化霍夫曼编码时,具有相似架构的随机列表产生装置则会作为子区间(subinterval)指标产生器通过执行一适当算法用于随机化算术编码器。
虽然此处以视频和图像数据为例作描述,但经重新配置及扩充的加密/解密方法也可适用于其它类型数据。熵编译码器可应用在数字视频/图像编码器及播放器、有线和无线装置、遵循各种标准的媒体播放器,其中媒体播放器例如DVD、中国蓝光高清(China Blue High-Definition,CH-DVD)、蓝光(如Blu-ray)、数字电视地面多媒体广播(Digital Terrestrial Multimedia Broadcasting,DTMB)、手持式数字视频广播技术(Digital Video Broadcasting-Handheld,DVB-H)、数字电视地面广播(Digital Video Broadcasting-Terrestrial,DVB-T)等。
虽然本发明已就较佳实施例揭露如上,然其并非用以限定本发明。本发明所属技术领域中普通技术人员,在不脱离本发明的精神和范围内,当可作各种的变更和润饰。因此,本发明的保护范围当视之前的权利要求书所界定的为准。

Claims (16)

1.一种使能加密熵编码器,用于多媒体编译码器,其特征在于,所述使能加密熵编码器包括:
只读存储器,用于存储一组代码列表,每个代码列表是将多个符号映射到多个码字的代码;
列表查找装置,耦接于所述只读存储器,且所述列表查找装置用于接收包含多个符号的输入比特流,利用存储在所述只读存储器中的所述代码列表执行列表查找以将所述多个符号转换为原始码字,并产生码字完整信号以指示所述原始码字的边界;以及
随机列表产生装置,耦接于所述列表查找装置,所述随机列表产生装置用于接收所述原始码字、加密/解密密钥和所述码字完整信号,基于所述加密/解密密钥和所述码字完整信号,所述随机列表产生装置利用同构码生成算法将所述原始码字转换成随机化码字,其中每个随机化码字是对应的所述原始码字的同构码字。
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所述的用于使能加密熵编译码器的方法,其特征在于,所述的方法进一步包括:
基于加密/解密密钥,利用同构码生成算法将所述随机化码字转换为原始码字,其中每个随机化码字是对应的所述原始码字的同构码字;以及
利用所述只读存储器中存储的所述代码列表执行列表查找,以将所述原始码字转换为多个符号。
CN2009102230882A 2009-06-04 2009-11-18 多媒体编译码器、使能加密熵编码器、熵译码器及其方法 Expired - Fee Related CN101909209B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/478,182 2009-06-04
US12/478,182 US8660261B2 (en) 2009-06-04 2009-06-04 System and apparatus for integrated video/image encoding/decoding and encryption/decryption

Publications (2)

Publication Number Publication Date
CN101909209A CN101909209A (zh) 2010-12-08
CN101909209B true CN101909209B (zh) 2012-08-08

Family

ID=43264503

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009102230882A Expired - Fee Related CN101909209B (zh) 2009-06-04 2009-11-18 多媒体编译码器、使能加密熵编码器、熵译码器及其方法

Country Status (3)

Country Link
US (1) US8660261B2 (zh)
CN (1) CN101909209B (zh)
TW (1) TWI399983B (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110206132A1 (en) * 2010-02-19 2011-08-25 Lazar Bivolarsky Data Compression for Video
US9313526B2 (en) 2010-02-19 2016-04-12 Skype Data compression for video
US9609342B2 (en) 2010-02-19 2017-03-28 Skype Compression for frames of a video signal using selected candidate blocks
US9819358B2 (en) * 2010-02-19 2017-11-14 Skype Entropy encoding based on observed frequency
US20110206118A1 (en) * 2010-02-19 2011-08-25 Lazar Bivolarsky Data Compression for Video
TWI455595B (zh) * 2011-09-29 2014-10-01 Mstar Semiconductor Inc 布林熵解碼器及影像播放系統之布林熵解碼方法
US20130259395A1 (en) * 2012-03-30 2013-10-03 Pascal Massimino System and Method of Manipulating a JPEG Header
GB2528959C (en) 2014-08-07 2017-06-28 Gurulogic Microsystems Oy Encoder, decoder and methods
CN104202117B (zh) * 2014-08-25 2017-07-28 哈尔滨工业大学 一种基于遍历方式的唯一可译码的构码方法
CN107743239B (zh) * 2014-09-23 2020-06-16 清华大学 一种视频数据编码、解码的方法及装置
US10177782B2 (en) * 2015-12-26 2019-01-08 Intel Corporation Hardware apparatuses and methods for data decompression
US10601443B1 (en) * 2016-08-24 2020-03-24 Arrowhead Center, Inc. Protocol for lightweight and provable secure communication for constrained devices
US10368071B2 (en) * 2017-11-03 2019-07-30 Arm Limited Encoding data arrays
CN110875794B (zh) * 2018-08-13 2022-04-15 中兴通讯股份有限公司 一种多址接入方法和装置、及终端
KR102577268B1 (ko) * 2018-10-15 2023-09-12 에스케이하이닉스 주식회사 메모리 장치 및 이의 동작 방법
TWI780696B (zh) * 2021-05-10 2022-10-11 創鑫智慧股份有限公司 查找表壓縮方法與查找表讀取方法及其計算設備、主機與裝置
US20230140628A1 (en) * 2021-11-04 2023-05-04 Meta Platforms, Inc. Novel buffer format for a two-stage video encoding process
CZ202220A3 (cs) * 2022-01-17 2023-07-26 Miroslav Tyrpa Způsob kódování a dekódování textových a multimediálních zpráv a zařízení k uskutečnění tohoto způsobu
CN115883841B (zh) * 2023-03-03 2023-05-26 济南霍兹信息科技有限公司 一种基于霍夫曼编码的计算机信息存储系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1230854A (zh) * 1998-01-23 1999-10-06 日本胜利株式会社 图象信号编码方法及装置
EP1689085A2 (en) * 2005-02-07 2006-08-09 Sony Corporation Error correction with iterations of belief propagation decoding and algebraic decoding
CN101094054A (zh) * 2006-06-23 2007-12-26 盛年 戴于手腕处的环状物及配套手机

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5285497A (en) * 1993-04-01 1994-02-08 Scientific Atlanta Methods and apparatus for scrambling and unscrambling compressed data streams
US6690307B2 (en) * 2002-01-22 2004-02-10 Nokia Corporation Adaptive variable length coding of digital video
FI116813B (fi) * 2002-06-20 2006-02-28 Nokia Corp Menetelmä ja järjestelmä vaihtuvapituisen koodauksen purkamiseksi, ja koodisanojen paikannuslaite
US8041031B2 (en) * 2004-10-13 2011-10-18 The Regents Of The University Of California Cryptographic primitives, error coding, and pseudo-random number improvement methods using quasigroups
US8249350B2 (en) * 2006-06-30 2012-08-21 University Of Geneva Brand protection and product autentication using portable devices
US8457304B2 (en) * 2007-02-23 2013-06-04 Choy Sai Foundation L.L.C. Efficient encoding processes and apparatus
US8428133B2 (en) * 2007-06-15 2013-04-23 Qualcomm Incorporated Adaptive coding of video block prediction mode
IL184399A0 (en) * 2007-07-03 2007-10-31 Yossi Tsuria Content delivery system
US8189776B2 (en) * 2008-09-18 2012-05-29 The Hong Kong University Of Science And Technology Method and system for encoding multimedia content based on secure coding schemes using stream cipher
US8571209B2 (en) * 2009-01-19 2013-10-29 International Business Machines Recording keys in a broadcast-encryption-based system
GB2469393C (en) * 2010-04-22 2014-08-06 Cen Jung Tjhai Public encryption system using deliberatily corrupted codewords from an error correcting code
JP5793865B2 (ja) * 2010-12-28 2015-10-14 富士通株式会社 電子透かし埋め込み装置、電子透かし埋め込み用コンピュータプログラム及び電子透かし検出装置ならびに電子透かし検出用コンピュータプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1230854A (zh) * 1998-01-23 1999-10-06 日本胜利株式会社 图象信号编码方法及装置
EP1689085A2 (en) * 2005-02-07 2006-08-09 Sony Corporation Error correction with iterations of belief propagation decoding and algebraic decoding
CN1838542A (zh) * 2005-02-07 2006-09-27 索尼株式会社 解码设备和方法以及程序
CN101094054A (zh) * 2006-06-23 2007-12-26 盛年 戴于手腕处的环状物及配套手机

Also Published As

Publication number Publication date
US20100310065A1 (en) 2010-12-09
TWI399983B (zh) 2013-06-21
TW201044879A (en) 2010-12-16
CN101909209A (zh) 2010-12-08
US8660261B2 (en) 2014-02-25

Similar Documents

Publication Publication Date Title
CN101909209B (zh) 多媒体编译码器、使能加密熵编码器、熵译码器及其方法
CN1149781C (zh) 加密装置和解密装置
Wen et al. Binary arithmetic coding with key-based interval splitting
Kim et al. Secure arithmetic coding
US7549058B1 (en) Method and apparatus for encrypting and decrypting digital data
Xu Commutative encryption and data hiding in HEVC video compression
WO2012138969A2 (en) Sudoku arrays
CN101442676B (zh) 基于cavlc编码的h.264视频加密方法
CN110677694B (zh) 一种用于抵抗轮廓攻击的视频加密方法
JP2008524950A (ja) 同期化及びシンタックスの互換性を保護するビデオh.264暗号化
US20070217607A1 (en) Repetition Coded Compression For Encrypting Highly Correlated Data
Bergeron et al. Complaint Selective encryption for H. 264/AVC video streams
CN103856786A (zh) 一种基于h.264的流媒体视频加密方法及其加密装置
US9992535B2 (en) Fast processing and encryption method and system for compressed video
CN111372083B (zh) 一种基于层间处理的shvc视频加密方法
CN106231318A (zh) 一种基于量化变换系数的视频加扰方法及装置
Lian et al. A fast video encryption scheme based-on chaos
KR20170072043A (ko) 압축 영상의 고속 처리 및 암호화 방법 및 시스템
CN112533001B (zh) 基于分组加密的avs2熵编码的视频信源加解密系统及方法
JP2004032538A (ja) 情報処理装置及び情報処理方法
Lee et al. Low complexity controllable scrambler/descrambler for H. 264/AVC in compressed domain
Sun et al. On the security of the secure arithmetic code
Lei et al. A new H. 264 video encryption scheme based on chaotic cipher
Raju et al. A real-time video encryption exploiting the distribution of the DCT coefficients
Varalakshmi et al. An enhanced encryption algorithm for video based on multiple Huffman tables

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120808

Termination date: 20191118

CF01 Termination of patent right due to non-payment of annual fee