CN102006482B - 影像编解码系统及方法 - Google Patents
影像编解码系统及方法 Download PDFInfo
- Publication number
- CN102006482B CN102006482B CN 201010593629 CN201010593629A CN102006482B CN 102006482 B CN102006482 B CN 102006482B CN 201010593629 CN201010593629 CN 201010593629 CN 201010593629 A CN201010593629 A CN 201010593629A CN 102006482 B CN102006482 B CN 102006482B
- Authority
- CN
- China
- Prior art keywords
- error signal
- data
- coding
- pipe
- crossfire
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- VEMKTZHHVJILDY-UHFFFAOYSA-N resmethrin Chemical compound CC1(C)C(C=C(C)C)C1C(=O)OCC1=COC(CC=2C=CC=CC=2)=C1 VEMKTZHHVJILDY-UHFFFAOYSA-N 0.000 claims description 89
- 230000008569 process Effects 0.000 claims description 19
- 241001269238 Data Species 0.000 claims description 14
- 230000007246 mechanism Effects 0.000 abstract description 2
- 238000009825 accumulation Methods 0.000 abstract 1
- 230000008520 organization Effects 0.000 description 14
- 239000000758 substrate Substances 0.000 description 13
- 230000006835 compression Effects 0.000 description 8
- 238000007906 compression Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 6
- 230000009467 reduction Effects 0.000 description 5
- 239000012141 concentrate Substances 0.000 description 4
- 238000011282 treatment Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
Images
Abstract
本发明提供一种影像编解码系统及方法,该系统包含:一缓冲器,用以暂存该像素数据串流中的一预设数目的像素数据;一编码电路,其耦接该缓冲器,用以产生R管霍夫曼编码数据串流;一多工器,耦接该编码电路,用以根据一控制讯号,从该R管霍夫曼编码数据中选择其中一管输出作为该影像编码串流;以及一决定电路,接收与输入至该编码电路相同的该些像素数据,用以对该些像素数据进行多次误差讯号编码与霍夫曼码长累计,进而产生该控制讯号。本发明利用硬件的比特宽度限制溢位的特性及软件的符号共用的机制,使经过误差讯号编码的符号数量和原始输入数据一样,因而可以有效降低后级霍夫曼编码所产生的符号长度和平均编码长度。
Description
本发明是申请号:200910210817.0,申请日:2009年11月10日,发明名称:符号其用式误差讯号编解码装置、系统及方法的分案申请。
技术领域
本发明有关影像压缩(image compression),尤有关于影像编解码系统及方法,以达到更高的影像压缩倍率。
背景技术
传统上,DPCM编码技术用以储存邻近像素数据和目前像素数据的差值,一般影像数据(假设是N比特数据)经过误差讯号编码之后,会多出一个比特来储存正负号(即变成(N+1)比特数据),所以虽然DPCM编码后的差值会集中在数值0以及其邻近区间,但DPCM编码后的数据量会变为接近原来的二倍。之后,再利用霍夫曼编码(Huffman coding)技术将上述差值编码,因此霍夫曼编码后所产生的符号长度也会变长,进而造成霍夫曼编码后的数据量变多、平均码长增加以及整体压缩效率变低。
另一方面,习知技术对彩色影像数据进行影像编码时,通常是对红(R)、绿(G)、蓝(B)三色数据个别进行误差讯号编码,换言之,利用同一颜色邻近数据的相关性来集中编码后的数据量。但单色DPCM编码后产生的编码数据仍然不够集中,使得后级霍夫曼编码的平均码长的缩减效果不够明显。为解决上述问题,因此提出本发明。
发明内容
本发明的目的在于,解决现有的影像压缩技术中编码数量多,整体压缩效率较低的技术问题。
为达到上述目的,本发明提供了一种影像编码方法,用以接收一像素数据串流,并产生一影像编码串流,包含以下步骤:
暂存该像素数据串流中的一预设数目的像素数据于一缓冲器;
对该预设数目的像素数据进行多次误差讯号编码与霍夫曼码长累计,以产生一控制讯号;
对该预设数目的像素数据进行多次误差讯号编码与霍夫曼编码处理,以产生R管霍夫曼编码数据串流,其中,R为正整数;以及
根据该控制讯号,从该R管霍夫曼编码数据中选择其中一管输出作为该影像编码串流。
本发明还提供一种影像编码系统,用以接收一像素数据串流,并产生一影像编码串流,包含:一缓冲器,用以暂存该像素数据串流中的一预设数目的像素数据;一编码电路,耦接该缓冲器,用以对该预设数目的像素数据进行多次误差讯号编码与霍夫曼编码处理,进而产生R管霍夫曼编码数据串流;一多工器,耦接该编码电路,用以根据一控制讯号,从该R管霍夫曼编码数据中选择其中一管输出作为该影像编码串流;以及,一决定电路,接收与输入至该编码电路相同的该些像素数据,用以对该些像素数据进行多次误差讯号编码与霍夫曼码长累计,进而产生该控制讯号;其中,该控制讯号被产生在该R管霍夫曼编码数据串流抵达该多工器之前。
本发明还提供一种影像解码系统,用以接收一影像编码数据包,并产生一像素数据串流,包含:
一标头提取器,用以将该影像编码数据包分为一标头与一影像编码串流:
一霍夫曼解码器,对该影像编码串流进行霍夫曼解码处理,以产生一霍夫曼解码数据串流;
一多次误差讯号解码装置,对该霍夫曼解码串流数据分别进行R种多次误差讯号解码运算,以产生R管误差讯号解码数据串流,其中,R为正整数;以及
一多工器,根据该标头,从该R管多次误差讯号解码数据串流中选取其中一管输出作为该像素数据串流。
本发明还提供一种影像解码方法,用以接收一影像编码数据包,并产生一像素数据串流,包含以下步骤:
将该影像编码数据包分为一标头与一影像编码串流:
对该影像编码串流进行霍夫曼解码处理,以产生一霍夫曼解码数据串流;
对该霍夫曼解码串流数据分别进行R种多次误差讯号解码处理,以产生R管误差讯号解码数据串流,其中,R为正整数;以及
根据该标头,从该R管多次误差讯号解码数据串流中选取其中一管输出作为该像素数据串流。
本发明的有益效果在于,利用硬件的比特宽度(bit width)限制溢位(overflow)的特性,使输出编码数据能共用符号,以达到更高的压缩倍率。
附图说明
图1是本发明符号共用式误差讯号编码方法的一实施例的流程图;
图2是本发明符号共用式误差讯号解码方法的一实施例的流程图;
图3是本发明符号共用式误差讯号编码装置的一实施例的架构图;
图4是本发明符号共用式误差讯号解码装置的一实施例的架构图;
图5是本发明多次误差讯号编码装置的一实施例的架构图;
图6是本发明多次误差讯号编码数据的常态分布曲线的一个例子;
图7是本发明影像编码系统的一实施例的架构图;
图8是本发明影像解码系统的一实施例的架构图;
图9是本发明影像编码方法的一实施例的架构图;
图10是本发明影像解码方法的一实施例的架构图。
附图标记说明:300-符号共用式误差讯号编码装置;310-延迟器;320-减法器;400-符号共用式误差讯号解码装置;410-加法器;500-多次误差讯号编码装置;510-一次误差讯号编码器;520-多次误差讯号编码器串列;521-二次DPCM编码器;522-三次DPCM编码器;700-影像编码系统;710-缓冲器;720-编码电路;730-决定电路;731-比较器;740~749-霍夫曼编码器;750、830-多工器;760~769-霍夫曼码长计算器;770-标头附加器;800-影像解码系统;810-霍夫曼解码器;820~829-多次DPCM解码器;840-标头提取器;850-多次DPCM解码装置。
具体实施方式
本发明的误差讯号编码装置与误差讯号解码装置可以利用硬件、软件的其中之一、或二者的任意组合来实施,例如:纯硬件实施的例子为一现场可程式逻辑闸阵列(field programmable gate array,FPGA)设计、或一特殊应用积体电路(application specific integrated circuit,ASIC)设计。
本发明符号共用式误差讯号编码装置利用硬件的比特宽度限制溢位的特性及软件的符号共用的机制,使经过误差讯号编码的符号数量和原始输入数据一样,因而可以有效降低后级霍夫曼编码所产生的符号长度和平均编码长度。
图1是本发明符号共用式误差讯号编码方法的一实施例的流程图。以下配合图1,详细说明本发明符号共用式误差讯号编码方法。
步骤S110:接收一3比特影像数据串流X[n]。假设该3比特影像数据串流X[n]共有9笔数据(0≤n≤8),以二进位显示如下:{000,001,010,100,101,110,101,100,111}。若上述9笔3比特影像数据串流X[n]以习知误差讯号编码处理,则产生的误差讯号编码(以十进位显示)数据如下:{0,1,1,2,1,1,-1,-1,3},其编码数据的比特宽度会变成4比特,数值范围在-7~+7,故有高达15个符号。
步骤S120:指定第0笔3比特影像数据X[0]作为第0笔3比特误差讯号编码数据Y[0]。当n=0时,Y[0]=X[0]。
步骤S130:将n值加1,即n=n+1。
步骤S140:比较第n笔3比特像影像数据X[n]与第n-1笔3比特像素数据X[n-1]。当X[n]≥X[n-1]时,跳到步骤S150;否则,跳到步骤S160。
步骤S150:当X[n]≥X[n-1]时,3比特误差讯号编码数据Y[n]=X[n]-X[n-1]。
步骤S160:当X[n]<X[n-1]时,3比特误差讯号编码数据Y[n]=X[n]-X[n-1]+23。
步骤S170:判断n值是否等于8?若是,则结束编码;否则,回到步骤S130。
就3比特输入影像数据而言,根据本发明符号共用式误差讯号编码方法所产生的编码数据的共用符号如下:+7、-1共用符号(+7);+6、-2共用符号(+6);+5、-3共用符号(+5);+4、-4共用符号(+4);+3、-5共用符号(+3);+2、-6共用符号(+2);+1、-7共用符号(+1);0使用符号(0)。从上述共用的符号可以观察到,本发明原则上是采用正值符号来替代负值符号,故编码完的后所产生的9笔3比特误差讯号编码数据串流Y[n]如下:{0,1,1,2,1,1,7,7,3},编码数据串流Y[n]的比特宽度仍可维持在3比特,数值范围0~+7,符号数量只剩将近原来的一半(从15减少为8)。至于实施的手段是,若(X[n]-X[n-1])为负值时(步骤S160),只要再加23,就会变成正值符号,进而达到符号共用的功效。相较于习知技术,本发明符号共用式误差讯号编码方法所产生的符号数量只有将近原来的一半,因此,可以有效降低后级霍夫曼编码所产生的符号长度和平均编码长度,进而达到更高的影像压缩倍数。
需注意的是,上述符号共用式误差讯号编码数据的解码过程中,亦需搭配一个比特宽度等于3的误差讯号解码处理,如图2所示,图2是本发明符号共用式误差讯号解码方法的一实施例的流程图。以下配合图1与图2,详细说明本发明符号共用式误差讯号解码方法。
就图1的实施例而言,最后产生9笔3比特误差讯号编码数据Y[n]:{0,1,1,2,1,1,7,7,3},接着,再经过非失真的霍夫曼编码与解码处理后所产生的数据Y’[n]如下:{0,1,1,2,1,1,7,7,3}。
步骤S210:接收一3比特霍夫曼解码数据串流Y’[n]。
步骤S220:指定第0笔3比特霍夫曼解码数据Y’[0]作为第0笔3比特影像数据X’[0]。换言之,当n=0时,X’[0]=Y’[0]。
步骤S230:将n值加1,即n=n+1。
步骤S240:3比特像素数据X’[n]=Y’[n]+X’[n-1]。本步骤产生的像素数据(以十进位显示)X’[n]如下:{0,1,2,4,5,6,13,20,23},以二进位显示如下:{000,001,010,100,101,110,1101,10100,10111}。
步骤S250:判断X’[n]是否大于或等于8,即判断X’[n]是否溢位。若是,跳到步骤S260,否则,跳到步骤S270。
步骤S260:当X’[n]≥8时,只取X’[n]最低的3个比特数据。因为数据比特宽度只取最低3个比特,因此溢位的数据都会消失,最后产生的3比特像素数据X’[n]如下:{000,001,010,100,101,110,101,100,111},和原始3比特像素数据X[n]一致。
步骤S270:判断n值是否等于8。若是,则结束解码;否则,回到步骤S230。
图3是本发明符号共用式误差讯号编码装置的一实施例的架构图。参考图3,本发明符号共用式误差讯号编码装置300,用以接收一3比特影像数据串流X[n](以上述9笔3比特影像数据X[n]为例),以产生一3比特误差讯号编码数据Y[n],编码装置300包含:一延迟器310与一减法器320。延迟器310,用以根据一像素时脉(pixel clock)讯号ck,将一3比特影像数据X[n]延迟一个像素时脉,进而产生一3比特延迟数据X[n-1],其中,n为大于或等于0的整数且X[-1]=0。减法器320用以将该3比特影像数据X[n]减去该3比特延迟数据X[n-1],进而产生一3比特误差讯号编码数据Y[n]。请注意,本发明减法器320的输入数据X[n]、X[n-1]的比特宽度均为3比特,而输出数据Y[n]的比特宽度仍为3比特,本发明利用减法器320硬件上比特宽度限制溢位的特性,自然达成符号共用的功效,故Y[n]数值范围仍为0~+7,只有8个符号。由于该减法器320的实施为本技术领域者所习知,故在此不予赘述。
图4是本发明符号共用式误差讯号解码装置的一实施例的架构图。参考图4,本发明符号共用式误差讯号解码装置400,用以接收一3比特数据串流Y’[n](以上述9笔3比特霍夫曼解码数据串流Y’[n]:{0,1,1,2,1,1,7,7,3}为例),以产生一3比特影像数据串流X’[n],解码装置400包含:一延迟器3 10与一加法器410。延迟器310,用以根据一像素时脉讯号ck,将一3比特影像数据X’[n]延迟一个像素时脉,进而产生一3比特延迟数据X’[n-1],其中,n为大于或等于0的整数且X’[-1]=0。加法器410用以将该3比特霍夫曼解码数据Y’[n]加上该3比特延迟数据X’[n-1],进而产生一3比特影像数据X’[n]。请注意,本发明加法器410的输入数据X’[n-1]、Y’[n])的比特宽度均为3比特,而输出数据X’[n]的比特宽度仍为3比特,本发明利用加法器410的比特宽度限制溢位的特性,进而还原正确的3比特影像数据X’[n]。由于该加法器410的实施为本技术领域者所习知,故在此不予赘述。
上述符号共用式误差讯号编解码装置及其方法(图1至图4),以下说明书称之为单次DPCM,只适用于单管(one-channel)输入的影像数据。相对而言,以下所要介绍的多次误差讯号编解码装置及其方法,则适用于多管(multi-channel)输入的影像数据。
图5是本发明多次误差讯号编码装置的一实施例的架构图。本发明多次误差讯号编码装置500包含一个一次误差讯号编码器510以及一个多次误差讯号编码器串列520,该多次误差讯号编码器串列520又包含一个二次DPCM编码器521以及一个三次DPCM编码器522。
一次DPCM编码器5 10接收3管4比特影像数据串流R[n]、G[n]、B[n],并分别对3管数据串流R[n]、G[n]、B[n]进行第一次误差讯号编码处理,以产生一次误差讯号编码数据串流R1[n]、G1[n]、B1[n]。假设输入的3管4比特影像数据串流如下:R[n]={5,6,7,8,9,6,5,2,4,1};G[n]={8,6,7,6,9,6,5,2,4,2};B[n]={8,6,5,8,9,6,5,2,4,1}。一次误差讯号编码数据如下:R1[n]={5,1,1,1,1,-3,-1,-3,2,-3};G1[n]={8,-2,1,1,3,-3,-1,-3,2,-2};B1[n]={8,-2,-1,3,1,-3,-1,-3,2,-3}。
二次DPCM编码器521对一次误差讯号编码数据R1[n]、G1[n]、B1[n]进行第二次误差讯号编码处理,以产生二次误差讯号编码数据R1[n]G2[n]B2[n]、R2[n]G1[n]B2[n]及R2[n]G2[n]B1[n](以下简略表示成R1G2B2、R2G1B2及R2G2B1)。上述R1G2B2的组合表示以R1[n]为基底,对G1[n]、B1[n]进行二次误差讯号编码(即以R1[n]为基底,对G1[n]、B1[n]进行并列式减法运算:G2[n]=G1[n]-R1[n],B2[n]=B1[n]-R1[n])后,所产生的二次误差讯号编码数据如下:G2[n]={3,-3,0,0,2,0,0,0,0,1};B2[n]={3,-3,0,0,2,0,0,0,0,1}。上述R2G1B2的组合表示以G1[n]为基底,对R1[n]、B1[n]进行二次误差讯号编码(即以G1[n]为基底,对R1[n]、B1[n]进行并列式减法运算:R2[n]=R1[n]-G1[n],B2[n]=B1[n]-G1[n])后,所产生的二次误差讯号编码数据如下:R2[n]={-3,3,0,0,-2,0,0,0,0,-1};B2[n]={0,0,-2,2,-2,0,0,0,0,-1}。上述R2G2B1的组合表示以B1[n]为基底,对R1[n]、G1[n]进行二次误差讯号编码(即以B1[n]为基底,对R1[n]、G1[n]进行并列式减法运算:G2[n]=G1[n]-B1[n],R2[n]=R1[n]-B1[n])后,所产生的二次误差讯号编码数据如下:R2[n]={-3,3,2,-2,0,0,0,0,0,0};G2[n]={0,0,2,-2,2,0,0,0,0,1}。
三次DPCM编码器522对二次误差讯号编码数据R1G2B2、R2G1B2及R2G2B1进行第三次误差讯号编码,以产生三次误差讯号编码数据R1G2B3、R1G3B2、R2G1B3、R3G1B2、R2G3B1及R3G2B1(共6种组合)。对二次误差讯号编码数据R1G2B2而言,R1[n]不做任何处理,以G2[n]为基底,对B2[n]进行第三次误差讯号编码(即以G2[n]为基底,对B2[n]进行并列式减法运算:B3[n]=B2[n]-G2[n])后,所产生的三次误差讯号编码数据如下:B3[n]={0,0,-2,2,-2,0,0,0,0,-1};以B2[n]为基底,对G2[n]进行第三次误差讯号编码(即以B2[n]为基底,对G2[n]进行并列式减法运算:G3[n]=G2[n]-B2[n])后,所产生的三次误差讯号编码数据如下:G3[n]={0,0,2,-2,2,0,0,0,0,1};因此,对二次误差讯号编码数据R1G2B2进行第三次误差讯号编码后,三次误差讯号编码数据有下列二种组合:R1G2B3及R1G3B2。依此类推,对二次误差讯号编码数据R2G1B2进行第三次误差讯号编码后,三次误差讯号编码数据有下列二种组合:R2G1B3及R3G1B2。对二次误差讯号编码数据R2G2B1进行第三次误差讯号编码后,三次误差讯号编码数据有下列二种组合:R2G3B1及R3G2B1。以下说明书中为方便说明,相较于第一次误差讯号编码处理,而第二次(含)以后的误差讯号编码处理称为并列式减法编码处理,例如二次DPCM编码器521以及三次DPCM编码器522所进行的第二次误差讯号编码处理及第三次误差讯号编码处理均是并列式减法编码处理。
需注意的是,多次误差讯号编码装置500所允许进行的DPCM的次数最多只能和同时输入至多次误差讯号编码装置500的影像数据串流的管数相同,换言之,假设同时输入影像数据串流的管数等于P时,多次误差讯号编码装置500所能允许进行的DPCM的最多次数亦等于P,且第P次误差讯号编码数据有(P!)种组合,而多次误差讯号编码装置500总计产生的编码数据共有R管误差讯号编码数据(R种数据组合),包含一管一次误差讯号编码数据、P管二次误差讯号编码数据、P×(P-1)管三次误差讯号编码数据...(P×(P-1)×(P-2)...×(P-Q+1))管(Q+1)次误差讯号编码数据,而且,Q<P,R=1+P+P×(P-1)+...+P×(P-1)×(P-2)...×(P-Q+1)。
本发明多次误差讯号编码器利用RGB色域下的影像数据间互相有相关性的特性,来进行多次DPCM。相较于单次误差讯号编码数据,多次误差讯号编码数据会更集中于0附近的区间,而且,每多作一次DPCM,数据会更集中一次,如图6所示为多次误差讯号编码数据的常态分布曲线的一个例子。纵轴代表机率、横轴代表编码数据的数值范围,图中的三条曲线分别代表一次误差讯号编码数据、二次误差讯号编码数据以及三次误差讯号编码数据的常态分布曲线。从图中可以观察到,进行越多次DPCM,编码数据大致上会更集中于0附近的区间,进而有效降低后级霍夫曼编码数据的平均码长,以达到更高的压缩倍率。
实际应用时,即使同时输入的影像数据串流的管数等于P,本发明多次误差讯号编码装置也未必要进行多达P次的误差讯号编码处理,其实只要进行至少二次的误差讯号编码处理,就可以达到更加集中编码数据的功效,故电路设计者可以视硬件成本与时间效率,来设计多次误差讯号编码装置的总级数(即进行误差讯号编码处理的总次数)。此外,一次DPCM编码器510所进行的第一次误差讯号编码处理可以采用习知误差讯号编码技术(即输入数据是N比特,编码数据变成(N+1)比特数据,多出一个比特来储存正负号),也可以采用上述本发明符号共用式误差讯号编码装置300。当然,若一次DPCM编码器510利用上述本发明符号共用式误差讯号编码装置300来实施的话,对本发明多次误差讯号编码装置500而言,数据集中效果及降低霍夫曼编码数据的平均码长的效果会更加明显。
如果把第一次误差讯号编码处理比喻成”以第0笔数据作为参考值的串列式减法运算”的话,则第二次以后的误差讯号编码动作可视为”以基底的串列作为参考串列的并列式减法运算”。因此,在解码过程中只要利用参考值(或参考串列)进行相反运算(即串列式加法运算或并列式加法运算),就能将原始影像数据还原。
图7是本发明影像编码系统的一实施例的架构图。参考图7,本发明影像编码系统700包含一缓冲器710、一编码电路720、一决定电路730、一标头附加器770以及一多工器740。缓冲器710用以暂存像素数据,其容量大小则视决定电路730处理一次的数据量及编码电路720与决定电路730的硬件处理速度而定,例如:若决定电路730一次处理64笔像素数据、编码电路720的处理时间为5个时脉及决定电路730的处理时间为5个时脉,则缓冲器710的大小必须能够存放至少69(=64+10-5)笔像素数据。
编码电路720接收从缓冲器710输入一预设数目的像素数据量(假设一次处理64笔像素数据,每一笔像素数据均包含R、G、B三色,即有3管输入影像数据串流)后,进行多次DPCM编码(就本实施例而言,最多3次DPCM编码)与霍夫曼编码处理,进而产生10(=1+3+6)管霍夫曼编码数据。决定电路730接收和编码电路720相同的一批像素数据,主要是为编码电路720产生的10管霍夫曼编码数据M0~M9中,分别计算出10个编码长度L0~L9,再比较出其中具有的最短霍夫曼码长总长度(即具有最高压缩倍率),最后,产生一相对应的控制讯号Sel。接着,多工器740再根据控制讯号Sel,从编码电路720输出的10管霍夫曼编码数据M0~M9中选择其中一管数据输出。因此,在硬件时序方面的特别要求是:编码电路720的10管霍夫曼编码数据M0~M9在抵达多工器740的前,决定电路730必须已经产生正确的控制讯号Sel,以供多工器740选择正确的一管霍夫曼编码数据输出MD。
编码电路720包含一个多次误差讯号编码装置500及10个霍夫曼编码器740~749。决定电路730包含一多次误差讯号编码装置500、10个霍夫曼码长计算器760~769及一比较器731。决定电路730和编码电路720包含类似的硬件架构,差别是决定电路730不会进行实际的霍夫曼编码,只进行霍夫曼码总长度的累计,来为编码电路720的10管霍夫曼编码数据决定一个霍夫曼码总长度最短的路径。由于霍夫曼编码器与霍夫曼码长计算器的实施为本技术领域者所习知,且多次误差讯号编码装置500的功能与运作在说明书的前面已经介绍过了,故在此不于赘述。
附带一提的是,决定电路730和编码电路720中的多次误差讯号编码装置500会有10管误差讯号编码数据输出的原因是,理论上进行越多次DPCM,误差讯号编码数据应该会更集中于0附近的区间,然而在实际应用时有时还是会有例外,所以,最保险的方法就是将多次误差讯号编码器500产生的一次误差讯号编码数据(1管)、二次误差讯号编码数据(3管)及三次误差讯号编码数据(6管)全部一起进行评估(即同时累计霍夫曼码总长度)。因此,在编码电路720中多次误差讯号编码器500产生10管误差讯号编码数据C0~C9后,分别传送至10个霍夫曼编码器740~749以产生10管霍夫曼编码数据M0~M9;在决定电路730中多次误差讯号编码装置500产生10管误差讯号编码数据C0~C9,再分别传送至10个霍夫曼码长计算器760~769,以同时进行霍夫曼码长累计并产生10个编码长度L0~L9,比较器731再从10个编码长度L0~L9中,比较出长度最短的一管数据并产生一相对应的控制讯号Sel,再传送至多工器750,以供多工器750在霍夫曼编码数据M0~M9到达之前,选择相对应的一管输出作为霍夫曼编码数据MD。
此外,在本实施例中,在霍夫曼编码数据MD存放到记忆体(图未示)之前,标头附加器770会根据控制讯号Sel在霍夫曼编码数据MD之前附加一个标头(header)H,以形成一个{标头+编码数据(H+MD)}结构的影像编码数据包(datapackage),每一个影像编码数据包有其独特的标头H,用以存放(或对应至)其误差讯号编码数据是由多次误差讯号编码器500的哪一个输出端输出(或是误差讯号编码数据是属于哪一种数据组合)。例如:标头H中的代码9表示由输出端C9输出,误差讯号编码数据型态为:R2G3B1,而该标头H的数据将在解码时使用到。请注意,标头附加器770并非必要元件,标头H的附加可以用其他的方式来实施。在另一实施例中,每一霍夫曼编码器(740~749)除了将误差讯号编码数据C0~C9编码成霍夫曼编码数据M0~M9之外,也可以被设计成在霍夫曼编码数据M0~M9之前附加一个标头H,直接形成一个H+MD的影像编码数据包,之后,无论多工器740选择哪一管数据输出,该管输出的影像编码数据包即可以直接存放到记忆体。
图8是本发明影像解码系统的一实施例的架构图。参考图8,本发明影像解码系统800包含一霍夫曼解码器810、一个多次DPCM解码装置850、一标头提取器840以及一多工器830。标头提取器840接收一影像编码数据包H′+MD′,用以提取出标头H′以提供给多工器830,并传送其编码数据MD给霍夫曼解码器810。霍夫曼解码器810将编码数据MD′解码之后,产生一霍夫曼解码数据串流C′以提供给多次DPCM解码装置850。
基本上,多次DPCM解码装置850包含1个一次DPCM解码器及9个多次DPCM解码器821~829,进行10种误差讯号解码处理,该10种误差讯号解码处理分别是编码器500产生10管误差讯号编码数据C0~C9的硬件反向逻辑运作。举例来说,假设霍夫曼解码数据串流C′是R1G1B1的组合,则一次DPCM解码器820只需进行一次误差讯号解码处理,也就是”串列加法运算”,就能把原始数据串列R[n]、G[n]、B[n]还原回来;假设霍夫曼解码数据串流C′是R2G3B1的组合,则多次DPCM解码器829需进行三次误差讯号解码处理:首先以R2为基底,进行”第一次并列加法运算”以算出G2(=R2+G3),再以B1为基底,进行”第二次并列加法运算”以算出R1(=B1+R2)及G1(=B1+G2),最后进行”串列加法运算”,就能把原始数据串列R[n]、G[n]、B[n]还原回来。由于每一个DPCM解码器820~829的解码逻辑完全不同,因此一个霍夫曼解码数据串流C同时提供给10个DPCM解码器820~829后,虽然DPCM解码器820~829同时产生10管误差讯号解码数据E0~E9,但其中只有一管产生正确的误差讯号解码数据。此时,本实施例中是多工器830根据标头H′从10管误差讯号解码数据E0~E9中以选取其中的一管作为输出。
需注意的是,一次DPCM解码器820的解码逻辑需反向对应到影像编码系统800中多次误差讯号编码装置500的一次DPCM编码器510的编码逻辑,换言之,当一次DPCM编码器510采用习知误差讯号编码技术时,一次DPCM解码器820也采用习知误差讯号解码技术;而当一次DPCM编码器510采用本发明符号共用式误差讯号编码装置300来实施时,一次DPCM解码器820即利用本发明符号共用式误差讯号解码装置400来实施。
图9是本发明影像编码方法的一实施例的架构图。以下配合图7与图9,详细说明本发明影像编码方法。
步骤S910:暂存一预设数目的像素数据量(假设一次处理64笔像素数据,每一笔像素数据均包含R、G、B三色,即有3管输入影像数据串流)于缓冲器710。
步骤S920:对3管输入影像数据串流R、G、B进行多次误差讯号编码与霍夫曼码长累计,以产生一控制讯号Sel。决定电路730的多次误差讯号编码装置500接收3管输入影像数据串流R、G、B并进行多次误差讯号编码后产生10管误差讯号编码数据C0~C9,据此,霍夫曼码长计算器760~769再进行霍夫曼码长累计以产生10个编码长度L0~L9。最后,比较器731再从10个编码长度L0~L9中,比较出编码长度最短的一管数据并产生一相对应的控制讯号Sel。
步骤S930:对相同的3管输入影像数据串流R、G、B进行多次误差讯号编码与霍夫曼编码处理,以产生10管霍夫曼编码数据串流M0~M9。编码电路720的多次误差讯号编码器500接收3管输入影像数据串流R、G、B并进行多次误差讯号编码后产生10管误差讯号编码数据C0~C9,据此,霍夫曼编码器740~749再进行霍夫曼编码处理以产生10管霍夫曼编码数据M0~M9。
步骤S940:根据控制讯号Sel,从10管霍夫曼编码数据C0~C9中选择其中一管输出作为影像编码串流MD。多工器750根据控制讯号Sel,在霍夫曼编码数据M0~M9送达之前,从10管霍夫曼编码数据C0~C9中选择相对应的一管输出作为霍夫曼编码数据MD。
步骤S950:根据控制讯号Sel,附加一标头H于影像编码串流MD之前,以形成一影像编码数据包H+MD。根据控制讯号Sel,标头附加器770在霍夫曼编码数据MD之前附加一个相对应的标头H,以形成一个(H+MD)结构的影像编码数据包,而标头H数据为解码时的必要数据。请注意,本步骤并非必要步骤,在另一实施例中,在步骤S930中利用霍夫曼编码器740~749于产生10管霍夫曼编码数据M0~M9后,更分别附加一标头H于10管霍夫曼编码数据M0~M9之前,以形成10管影像编码数据包。
图10是本发明影像解码方法的一实施例的架构图。以下配合图8与图10,详细说明本发明影像解码方法。
步骤S1010:将影像编码数据包H′+MD′分为一标头H′与一影像编码串流MD′。标头提取器840接收影像编码数据包H′+MD′后,提取出标头H′并产生编码数据MD′。
步骤S1020:对该影像编码串流MD′进行霍夫曼解码处理,以产生一霍夫曼解码数据串流C′。根据影像编码串流MD′,霍夫曼解码器810进行霍夫曼解码处理,以产生一霍夫曼解码数据串流C′。
步骤S1030:对该霍夫曼解码串流数据C′分别进行10种多次误差讯号解码处理,以产生10管误差讯号解码数据串流E0~E9。多次DPCM解码装置850包含DPCM解码器820~829,分别接收霍夫曼解码串流数据C′,以产生10管误差讯号解码数据串流E0~E9。因为每一个DPCM解码器820~829的解码逻辑完全不同,故虽然DPCM解码器820~829同时产生10管误差讯号解码数据E0~E9,但其中只有一管是正确误差讯号解码数据。
步骤S1040:根据标头H′,从10管多次误差讯号解码数据串流E0~E9中选取其中一管输出作为像素数据串流。根据标头H′,多工器830从10管误差讯号解码数据E0~E9中选取其中的一管正确误差讯号解码数据作为输出。
以上对本发明的描述是说明性的,而非限制性的,本专业技术人员理解,在权利要求限定的精神与范围之内可对其进行许多修改、变化或等效,但是它们都将落入本发明的保护范围内。
Claims (9)
1.一种影像编码方法,用以接收一像素数据串流,并产生一影像编码串流,其特征在于,包含以下步骤:
暂存该像素数据串流中的一预设数目的像素数据于一缓冲器;
对该预设数目的像素数据进行多次误差讯号编码与霍夫曼码长累计,以产生一控制讯号;
对该预设数目的像素数据进行多次误差讯号编码与霍夫曼编码处理,以产生R管霍夫曼编码数据串流,其中,R为正整数;以及
根据该控制讯号,从该R管霍夫曼编码数据中选择其中一管输出作为该影像编码串;其中:
该进行多次误差讯号编码与霍夫曼码长累计步骤包含:
接收该预设数目的像素数据,且该预设数目的像素数据被分成P管数据串流;
对该P管数据串流分别进行一次误差讯号编码处理,以产生一个一次误差讯号编码数据串流;
对该一次误差讯号编码数据串流再进行Q次并列式减法编码处理,以产生(R-1)管多次误差讯号编码数据串流,其中,P、Q为正整数,P>1且0<Q<P,R=1+P+P×(P-1)+...+P×(P-1)×(P-2)...×(P-Q+1);
对该一次误差讯号编码数据串流及(R-1)管多次误差讯号编码数据串流分别进行霍夫曼码长累计,进而产生R个编码长度;以及
根据该R个编码长度,选择编码长度最短的一管数据,产生相对应的该控制讯号;
该进行多次误差讯号编码与霍夫曼编码步骤包含:
接收该预设数目的像素数据,而该预设数目的像素数据被分成P管数据串流;
对该P管数据串流分别进行一次误差讯号编码处理,以产生一个一次误差讯号编码数据串流;
对该一次误差讯号编码数据串流进行Q次并列式减法编码处理,以产生(R-1)管多次误差讯号编码数据串流,其中,P、Q为正整数,P>1且0<Q<P,R=1+P+P×(P-1)+...+P×(P-1)×(P-2)...×(P-Q+1);以及
对该一次误差讯号编码数据串流及(R-1)管多次误差讯号编码数据串流进行霍夫曼编码处理,以产生该R管霍夫曼编码数据串流。
2.如权利要求1所述的影像编码方法,其特征在于,还包含:
分别附加一标头于该R管霍夫曼编码数据串流之前,以形成R管影像编码数据包。
3.如权利要求1项所述的影像编码方法,其特征在于,更包含:
根据该控制讯号,附加一标头于该影像编码串流之前,以形成一影像编码数据包。
4.一种影像编码系统,用以接收一像素数据串流,并产生一影像编码串流,其特征在于,包含:
一缓冲器,用以暂存该像素数据串流中的一预设数目的像素数据;
一编码电路,耦接该缓冲器,用以对该预设数目的像素数据进行多次误差讯号编码与霍夫曼编码处理,进而产生R管霍夫曼编码数据串流;
一多工器,耦接该编码电路,用以根据一控制讯号,从该R管霍夫曼编码数据中选择其中一管输出作为该影像编码串流;以及
一决定电路,接收与输入至该编码电路相同的该些像素数据,用以对该些像素数据进行多次误差讯号编码与霍夫曼码长累计,进而产生该控制讯号;
其中,该控制讯号被产生在该R管霍夫曼编码数据串流抵达该多工器之前;其中:
该编码电路包含:
一个第一多次误差讯号编码装置,接收该像素数据串流,且该像素数据串流被分成P管数据串流以输入至该第一多次误差讯号编码装置;
其中,该第一多次误差讯号编码装置包含:
一个第一一次误差讯号编码器,其用以对该P管数据串流进行一次误差讯号编码处理,以产生一个一次误差讯号编码第一数据串流;以及
一个第一多次误差讯号编码器串列,其包含Q个串联的多次误差讯号编码器,对该一次误差讯号编码数据串流进行Q次并列式减法编码处理,以产生(R-1)管多次误差讯号编码第一数据串流,其中,P为大于1的正整数、Q为正整数,0<Q<P,R=1+P+P×(P-1)+...+P×(P-1)×(P-2)...×(P-Q+1);
以及R个霍夫曼编码器,耦接该第一多次误差讯号编码装置,接收该第一一次误差讯号编码第一数据串流及该(R-1)管多次误差讯号编码第一数据串流,以进行霍夫曼编码,进而产生该R管霍夫曼编码数据串流;
该决定电路包含:
一个第二多次误差讯号编码装置,接收该像素数据串流,而该像素数据串流被分成P管数据串流输入至该第二多次误差讯号编码装置;
R个霍夫曼码长计算器,耦接该第二多次误差讯号编码装置,接收该一次误差讯号编码第二数据串流及该(R-1)管多次误差讯号编码第二数据串流,以进行霍夫曼码长累计,进而产生R个编码长度;以及
一比较器,耦接该R个霍夫曼码长计算器,根据该R个编码长度,比较出编码长度最短的一管数据,产生相对应该控制讯号;
其中,该第二多次误差讯号编码装置包含:
一个第二一次误差讯号编码器,对该P管数据串流分别进行一次误差讯号编码处理,以产生一个一次误差讯号编码第二数据串流;以及
一个第二多次误差讯号编码器串列,包含Q个串联的多次误差讯号编码器,用以对该一次误差讯号编码数据串流进行Q次并列式减法编码处理,以产生(R-1)管多次误差讯号编码第二数据串流,其中,P为大于1的正整数、Q为正整数,0<Q<P,R=1+P+P×(P-1)+...+P×(P-1)×(P-2)...×(P-Q+1)。
5.如权利要求4所述的影像编码系统,其特征在于,每一个霍夫曼编码器更附加一标头于该霍夫曼编码数据串流之前,以形成一影像编码数据包。
6.如权利要求4所述的影像编码系统,其特征在于,还包含一标头附加器,耦接该多工器,用以根据该控制讯号,附加一标头于该影像编码串流之前,以形成一影像编码数据包。
7.如权利要求4所述的影像编码系统,其特征在于,该缓冲器的容量大小根据该预设数目的像素数据及该编码电路与该决定电路的处理速度来决定。
8.一种影像解码系统,用以接收一影像编码数据包,并产生一像素数据串流,其特征在于,包含:
一标头提取器,用以将该影像编码数据包分为一标头与一影像编码串流:
一霍夫曼解码器,对该影像编码串流进行霍夫曼解码处理,以产生一霍夫曼解码数据串流;
一多次误差讯号解码装置,对该霍夫曼解码串流数据分别进行R种多次误差讯号解码运算,以产生R管误差讯号解码数据串流,其中,R为正整数;以及
一多工器,根据该标头,从该R管多次误差讯号解码数据串流中选取其中一管输出作为该像素数据串流,其中:
该多次误差讯号解码装置包含:
一个一次误差讯号解码器,对该霍夫曼解码数据串流进行一次误差讯号解码处理,以产生一误差讯号解码数据串流;以及
(R-1)个多次误差讯号解码器,每一个多次误差讯号解码器对该霍夫曼解码数据串流进行(R-1)种最多为Q次的并列式加法解码处理,以产生(R-1)管误差讯号解码数据串流,其中,每一管误差讯号解码数据串流为P管不同数据串流的组合,P、Q为正整数,P>1且0<Q<P,R=1+P+P×(P-1)+...+P×(P-1)×(P-2)...×(P-Q+1)。
9.一种影像解码方法,用以接收一影像编码数据包,并产生一像素数据串流,其特征在于,包含以下步骤:
将该影像编码数据包分为一标头与一影像编码串流:
对该影像编码串流进行霍夫曼解码处理,以产生一霍夫曼解码数据串流;
对该霍夫曼解码串流数据分别进行R种多次误差讯号解码处理,以产生R管误差讯号解码数据串流,其中,R为正整数;以及
根据该标头,从该R管多次误差讯号解码数据串流中选取其中一管输出作为该像素数据串流,其中:
该产生R管误差讯号解码数据串流步骤包含:
对该霍夫曼解码数据串流进行一次误差讯号解码处理,以产生一管一次误差讯号解码数据串流;以及
对该霍夫曼解码数据串流进行(R-1)种最多为Q次的并列式加法解码处理,以产生(R-1)管误差讯号解码数据串流,其中,每一管误差讯号解码数据串流为P管不同数据串流的组合,P、Q为正整数,P>1且0<Q<P,R=1+P+P×(P-1)+...十P×(P-1)×(P-2)...×(P-Q+1)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010593629 CN102006482B (zh) | 2009-11-10 | 2009-11-10 | 影像编解码系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010593629 CN102006482B (zh) | 2009-11-10 | 2009-11-10 | 影像编解码系统及方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910210817 Division CN101699864B (zh) | 2009-11-10 | 2009-11-10 | 符号共用式误差讯号编解码装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102006482A CN102006482A (zh) | 2011-04-06 |
CN102006482B true CN102006482B (zh) | 2012-08-22 |
Family
ID=43813498
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010593629 Expired - Fee Related CN102006482B (zh) | 2009-11-10 | 2009-11-10 | 影像编解码系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102006482B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1134168C (zh) * | 1997-11-28 | 2004-01-07 | 日本胜利株式会社 | 运动图像编码和解码装置及其方法 |
US7468803B2 (en) * | 2002-02-21 | 2008-12-23 | Canon Kabushiki Kaisha | Image processing apparatus and image processing method |
CN101543036A (zh) * | 2006-11-24 | 2009-09-23 | 日本电气株式会社 | 编码和解码装置、编码和解码方法以及程序 |
-
2009
- 2009-11-10 CN CN 201010593629 patent/CN102006482B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1134168C (zh) * | 1997-11-28 | 2004-01-07 | 日本胜利株式会社 | 运动图像编码和解码装置及其方法 |
US7468803B2 (en) * | 2002-02-21 | 2008-12-23 | Canon Kabushiki Kaisha | Image processing apparatus and image processing method |
CN101543036A (zh) * | 2006-11-24 | 2009-09-23 | 日本电气株式会社 | 编码和解码装置、编码和解码方法以及程序 |
Also Published As
Publication number | Publication date |
---|---|
CN102006482A (zh) | 2011-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101009848B (zh) | 在vsb发送系统中具有增强型多路复用数据的数字发送系统 | |
CN1166192C (zh) | 一种数据帧的产生方法和接收机 | |
TWI228351B (en) | Encoder, decoder, and data transfer system | |
CN101847997B (zh) | 一种9b/10b编解码器及其实现方法 | |
CN110768785B (zh) | 一种编、解码方法、相关装置及计算机设备 | |
CN110192366B (zh) | 转换或再转换数据信号方法、数据传输和接收方法和系统 | |
CN107666324B (zh) | 一种polar码结合算术编码的信源有损压缩编码方法 | |
CN103974066B (zh) | 视频编码方法和设备 | |
CN115756391A (zh) | 用于实现非对称算法rsa模幂计算的硬件电路及方法 | |
WO2023134130A1 (zh) | 伽罗华域乘法器及纠删编解码系统 | |
CN101316360B (zh) | 一种转换视频流帧率的方法和装置 | |
CN101848311A (zh) | 基于Avalon总线JPEG2000的EBCOT编码器 | |
CN109547035B (zh) | 流水bp极化译码器硬件架构的建立方法及译码器硬件架构 | |
CN102006482B (zh) | 影像编解码系统及方法 | |
CN102014285B (zh) | 多次dpcm讯号编码装置及方法 | |
CN101699864B (zh) | 符号共用式误差讯号编解码装置及方法 | |
WO2019237624A1 (zh) | 加扰方法、设备及可读存储介质 | |
Gomes et al. | High-performance design for the AV1 multi-alphabet arithmetic decoder | |
CN108988988B (zh) | 一种基于准循环矩阵两级查找表的rcm编码器和编码方法 | |
WO2023165289A1 (zh) | 一种适用于低通和带通信道的9b/10b编解码方法 | |
CN101729193A (zh) | 编码方法和装置、解码方法和装置以及编解码系统 | |
CN107017962A (zh) | 动态功耗控制的编码方法及编解码器 | |
CN107431672B (zh) | 一种数据加扰方法和加扰装置 | |
TW201131377A (en) | A bit-stuffing method for crosstalk avoidance in high-speed buses | |
CN100442689C (zh) | 联合等化及译码输入数据流的平行决策反馈译码器及方法 |
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: 20120822 Termination date: 20181110 |
|
CF01 | Termination of patent right due to non-payment of annual fee |