CN1297145C - 可预防错误传递的可变长度解码器 - Google Patents
可预防错误传递的可变长度解码器 Download PDFInfo
- Publication number
- CN1297145C CN1297145C CNB021276218A CN02127621A CN1297145C CN 1297145 C CN1297145 C CN 1297145C CN B021276218 A CNB021276218 A CN B021276218A CN 02127621 A CN02127621 A CN 02127621A CN 1297145 C CN1297145 C CN 1297145C
- Authority
- CN
- China
- Prior art keywords
- character code
- length
- displacement
- word length
- shifter
- 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
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明的一种可预防错误传递的可变长度解码器,用以对经一可变长度压缩规则所压缩的影像资料解压缩,该可变长度压缩规则包含多种依不同范围的像素重复数量所定义字码型式与一定义一行结束的结束码,而该影像资料依该可变长度逐行进行编码压缩形成字码流,而该解码器包括:一位移器,一字码比较器,一译码器,一字码长度产生器,及一位移数判断器;其中,该字码比较器判断输入资料为非预定字码型式时则产生一失误码的控制信号至该位移数判断器,随之该位移数判断器对应一为该等字码的字码长度公因数的预定值来输出一位移数至该位移器,藉此达到即使压缩资料有错误仍可继续解码并将错误传递限制于最小范围的功效。
Description
技术领域
本发明涉及一种可变长度解码器(Run-Length),特别是指一种可预防错误传递的可变长度解码器。
背景技术
在现今电脑或通讯系统中,多媒体资料已经变成一种主要的资料格式。然而,一般多媒体资料的量是非常巨大,因而对存储器或通讯通道频宽变成一非常沉重负担。所以为了降低多媒体储存或传输用的存储器空间或通道频宽,资料压缩在现今阶段扮演非常重要角色。
一般常用的压缩法称为“可变长度编码法(Run-Length encodingalgorithm)。目前存在多种可变长度压缩方式,以下针对一种常用于影像资料压缩的可变长度压缩方式的规则进行说明。
(1)若连续1至3个像素具有相同值时,则这些像素将以图1的表一中的编码方式来形成一字码,而此字码称为“字码0”并占用4个位元(bits)。
(2)若连续4至15个像素具有相同值时,则这些像素以图2的表二中的编码方式来形成一字码,而此定码称为“字码1”并占用8位元。
(3)若连续16至63个像素具有相同值时,则以图3的表三中的编码方式来编码成一字码,此字码称为“字码2”并占用12位元。
(4)若连续64至255个像素具有相同值时,则以图4的表四中的编码方式来编码成一字码,此字码称为“字码3”及占用16位元。
(5)若由目前的点至一行的结束点,其像素均为相同值时,则以图5的表五中的编码方式来编码成一字码,此字码称为“结束字码”并亦占用16位元。
(6)若用以在一行上那些像素的描述已完成但不是位元组合(bytealign)时,则插入用以校准的4位元“0000”的伪码(亦可为数值1,可依使用者需要设定)。
在前述压缩规则中,一行的字码描述必须为位元组合(byte align),即是一行的字码的位元长度必须为8位元的倍数。但,假如一行资料是根据上述(1)至(5)规则进行压缩,则压缩结果为X个字码0(长度=4位元,X为不小于0的整数)、y个字码1(长度=8位元,y为不小于0的整数)、Z个字码2(长度=2位元,z为不小于0的整数)、u个字码3(长度=16位元,u为不小于0的整数)及一结束码(长度=16位元)的组合。所以,此行的字码长度等于4X+8y+12z+16u+16=4*(X+2y+3z+4u+4)。因此,假如仅应用规则(1)至规则(5),它仅能保证一行的总位元长度为4的倍数。但是,有时在结束码被产生后,一行的总字码位元长度并不是8的倍数。此时,则可应用规则(6)将4位元的伪码增加至结束码之后,致使整体字码位元长度等于4X+8y+12z+16u+16+4,以确保整体位元长度等于8位元的倍数。
根据上述压缩规则,以下列举一些范例来说明资料压缩后以字码代表的形式。例如,若连续有2个值为01的像素(0101)时,则应归类“字码0”并根据表一编码成1001;或者,若有6个皆为01的连续像素时,则归类为“字码1”,根据表二来编码成00011001,由原先为12位元资料变成8位元资料;或者有63个皆为01的连续像素(需占用126位元)时,则归类为“字码2”,根据表三编码成000011111101(12位元);或者有255个皆为01的连续像素(需占用510位元),则归类为“字码3”,依据表四编码成0000001111111101;或者,由目前位置至一行资料的最后一点,其像素值皆为“1”时,则归类为“结束码”,并根据表五编码成000000000000001。因此在压缩步骤中,一连续像素组将由“字码0”、“字码1”、“字码2”、“字码3”、“结束码”所构成群组中选择一个来表示。藉此,影像资料确实可大量被压缩而达到降低多媒体储存或传输用的存储器空间或通道频宽。
因此,根据上述影像资料压缩规则,此规则有以下性质:
(1)各字码的长度并不固定,所以不同图像将导致不同长度的字码。
(2)因为诸行的末端是一“结束字码”,所以此压缩规则以行为基础,即是,它是逐行地压缩此影像。
(3)在压缩过程中,像素组可由上述五种字码选择一最适当字码来表示。而在解压缩时,在未受恶化掺杂状况下任何输入压缩字码应为上述字码中的一个。
因此,影像资料在传送或储存之前可根据上述可变长度压缩法来进行资料压缩,然后接收端或撷取影像资料时利用一可变长度解码器进行解码即可将资料恢复成原先未压缩资料。
请参照图6,是一种习用可变解码器用以还原根据前述压缩规则编码的字码。此习用可变解码器1包括一位移器(Shifter)11、一字码比较器(CodeWord Comparator)12、一译码器(Code Interpreter)13及一位移数产生器(Shifter No.Generator)14。
位移器11用以接收一32位元输入图像并输出一16位元输入图像(由32位元输入图像中第一个至第16个位元)至字码比较器12,而后,位移器11会根据位移数产生器14移出所要求位移数(n为小于16的正整数)的位元后再输入一16位元输入图像(第1+n个至第16+n个位元)至字码比较器12内,而当在位移器11内原本输入32位元输入图像几乎耗尽时(容后再述),则要求一新32元图像输入位移器11中。
字码比较器12接收由位移器11输出的16位元输入图像。而字码比较器12将此16位元输入图像分别与前述表一至表五中表示的字码0、字码1、字码2、字码3、结束码作比较并判断此16位元图像属于何种字码,以告知位移数产生器14与译码器13并将属于该字码的位元资料送至译码器13。
译码器13根据字码比较器12判断的结果与先前定义压缩规则,来进行解压缩已将压缩资料恢复成原始影像的内容。
请一并参照图7的表六,位移数产生器14根据字码比较器12的结果来判断应有多少位元数n(其中n=目前的字码位元数+先前的位移数,而先前位移数初始值为0)被要求位移出,当字码位元数加上先前位移数n小于16时,则位移数产生器14决定位移数n等于字码位元数加上先前位移数,而此位移数n会输送至位移器11,使位移器11在下一次输出16位元之前会将其内32位元输入图像的前n位元移出后,使形成一n+1至n+16的新16位元输入图像,以供字码比较器12继续判断字码;然而在字码位元数加上先前位移数大于等于16时,则位移器11会要求新的32位元输入图像输入,而此新的32位元输入图像移除先前输入图像中的前16位元而由后16位元串接新输入的16位元,以形成新的32位元输入图像,而位移数产生器14决定位移数n等于字码位元数加上先前位移数再减掉16位元,则在位移器11接收到新的32位元输入图像后,依照位移数产生器14输出位移数n由此新32位元输入图像移出前n个位元资料,使第n+1个至第n+16个位元的资料来形成新16位元输入图像以输入字码比较器12中。
为了使位移数产生器14对位移数的决定步骤更容易被了解,在下文中列举于不同字码的状况下的数个实施例来说明。举例来说,当字码比较器12第一次判断出16位元输入图像属于何者时(此时位移数产生器14的位移数等于01),则告知位移数产生器14,则位移数产生器14有下列四种状况,第一种:若位移数产生器14被告知的字码为“字码0”时,则决定位移数n为4(因为先前位移数为0),并令位移器11中的32位元输入图像中的前4个位元由位移器11中移出,使得位移器11下一次输出至字码比较器12为原先未位移第5个至第20个位元资料所构成16位元输入图像。第二种:若位移数产生器14被告知的字码为“字码1”时,则位移数n=8,令位移器11中的前8个位元资料移出,以剩余位元资料中前16个(原始资料的第9个至第24个位元)作为下一次输入至字码比较器12的16位元输出图像。第三种:若位移数产生器14被告知的字码为“字码2”,则位移数n为12,令位移器11为输出字码比较器12的资料为原始32位元输入资料的第13个至第28个位元组。第四种:若字码比较器12判断为字码3或结束码时,则位移数产生器14通知位移器11要求产生新的32位元输入资料并决定位移数n为0(因为先前位移数为0)。再者,位移数产生器14而后继续根据新字码决定位移数,位移数产生器14将新字码对应位元数累积至先前位移数(假定先前位移数为8),若累积后的数值小于16(例如新字码为字码0)时,则位移数产生器14决定的位移数n等于两者累加的数目(8+4=12),然而若累积后超过或等于16(假设新字码为字码2,则8+12=20)时,则将令位移器11输入新32位元输入图像,并决定位移数n等于累增后数目减去16(如n=8+12-16=4)。
为了让习用可变长度解码器1的作动更容易被了解,兹举一经前述可变长度压缩规则压缩的字码流(code word stream)来进行说明。此解码器1用以解码每行有100个像素的被压缩后影像资料,此字码流为“1100-00011101-000001000010-0000000100000011-0000000000000010”,则其处理大致如下所述:
(1)首先,撷取此字码流的前32位元作为位移器11的第一次32位元输入图像,所以位移器11的输入是“1100-00011101-000001000010-00000001”。其后位移器11输出至字码比较器12的字码等于“1100-00011101-0000”。所以字码比较器12至位移数产生器14与译码器13的输出为“字码0”,并将“1100”输入译码器13。而译码器13根据前述预定的压缩规则,将识别出此字码为像素长度(pixel_length)为3(即指有三个连续的像素)与像素值(pixel_data)为00。位移数产生器14的输出位移数n为4,使得位移器11在下一次输出16位元输入图像前,会将字码流中前4个位元“1100”移出。
(2)其后,位移器11的输入仍为“1100-00011101-000001000010-00000001”,但位移器11的输出已变成“00011101-00000100”,随之字码比较器12输出至译码器13与位移数产生器14为“字码1”并将“00011101”输入译码器13,使得译码器13辨别“00011101”为像素长度为7与像素值为01,而位移数产生器14输出位移数n等于12(4+8=12)。
(3)其次,位移器11的输入仍为“1100-00011101-000001000010-00000001”,但位移器11的输出对应前述的位移数n=12而变成“000001000010-0000”,所以字码比较器12至位移数产生器14的输出为“字码2”,并将“000001000010”输入译码器13内,则译码器13将识别成像素长度为16与像素值为10。至于位移产生器14的输出的位移数n为8(12+12-16=8)并令位移器11要求输入新的32位元输入图像,即利用排除原本32位元输入图像的前16位元而以其之后16位元串接新的16位元来形成。
(4)再者,位移器11的输入变成“01000010-0000000100000011-00000000”,位移器11的输出为“0000000100000011”,所以字码比较器12输出“字码3”至位移数产生器14和译码器13与“0000000100000011”至译码器13,则译码器13识别出像素长度为64与像素值为11,而位移数产生器14输出的位移数n为8(8+16-16=8),并令位移器11要求输入新的32位元输入图像。
(5)最后,位移器11的输入为“0000011-0000000000000010-XXXXXXXX”(此新16位元图像中的后8位元以X代表,X表示不用介意),而位移器11的输出为“0000000000000010”,随之字码比较器12输出“结束码”至位移数产生器14与译码器13以及输出“0000000000000010”至译码器13。如此,译码器13识别成像素长度为10(100-3-7-16-64=10)与像素值为10,到此完成前述一行的字码流的解码。而位移数产生器14输出位移数n为8并令位移器11输入新的32位元输入图像。如此可继续对下一行的字码流进行解码直至完成整个图像的解码为止。
因此,根据前述说明,习用可变长度解码器1解码经前述可变长度压缩规则的图像资料流时,先由位移器11依序接收资料流,并根据位移数产生器14依序输出16位元的资料至字码比较器12,由字码比较器12来判断属于何种字码后交予译码器13解压缩,如此可让资料恢复成原始资料。
所以通过前述的可变长度压缩法确实可达到大幅降低资料数量的目的。然而,实际上可变长度压缩法存在一称为错误传递(error propapation)的固有缺点。由于外在环境杂讯或突波等等影响,使得被压缩的资料于传递或储存的过程被恶化,导致其中部分位元资料被恶化而错误或仅一位元资料错误,而于解压缩过程中此错误资料会被传递。因为此错误资料,使得习用解码器进行解码时,字码比较器12可能无法对应压缩规则判断出对应字码,致使正确字码无法输出。所以译码器13无法识别出像素长度与像素值及位移数产生器14亦无法产生正确位移数。如果位移数产生器14的正确位移数无法产生,则字码比较器12之后输入图像亦无法被生成。如此,此错误会一直被传递下去,致使所有影像资料都被破坏而无法恢复。所以,一旦资料因恶化而无法判断字码时,习知可变长度解码器1就无法继续解码。
然而,由于影像资料的压缩是逐行压缩,所以每一行将以一结束码作结束。每一行能被视为一独立单元与结束码能作为一中断点(break point),致使失真资料的影像仅限制于一行内。因此,若一行的字码被恶化而无法被判断字码型式时,此恶化字码的解码结果将被抛弃与直至一结束码被发现时则正常解码被恢复。藉此,错误传递的影响能限制于被恶化的行中,而可解决习知整个影像资料都被破坏而无法使用的缺点。
发明内容
本发明的一目的是提供一种可预防错误传递的可变长度解码器,使影像资料具有较佳抗扰性。
本发明的另一目的是提供一种可预防错误传递的可变长度解码器,使得错误传递能限制于较小范围内。
本发明的又一目的是提供一种可预防错误传递的可变长度解码器,使得错误传递仅限制于单行内。
所以,为达到上述的目的,本发明的一种可预防错误传递的可变长度解码器,用以对经一可变长度压缩规则所压缩的影像资料解压缩,该可变长度压缩规则逐行压缩该影像资料并依像素重复数定义多种字码型式与一定义该行结束的结束码,而该解码器包括一位移器、一字码比较器、一译码器、一字码长度产生器及一位移数判断器;其中:
该位移器用以接收前述经压缩的影像资料的字码流并经适当位移处理后依序输出;
该字码比较器依序接收该位移器输出的字码与储存前述字码型式与结束码的定义,用以将该输入字码与该等字码的定义比对并将该字码输出,并在该字码属于前述字码中的一种时,输出该字码所属的字码型式的控制信号,而在该字码不属于前述字码中的任一种时,持续输出失误码的控制信号,直至由该位移器输入的字码为该结束码时,则恢复输出该字码型式的控制信号;
该译码器接收该字码比较器输出的控制信号与字码及储存前述字码型式与结束码的定义,该译码器在接收字码型式的控制信号时,根据该字码定义进行译码,而该译码器接受到该失误码的控制信号时,则不进行译码;
该字码长度产生器接收该字码比较器输出的字码型式的控制信号,并根据前述字码型式的定义输出对应该字码型式的字码长度;及
该位移数判断器接收该字码比较器输出的该字码型式与该失误码的控制信号及该字码长度产生器输出的字码长度,并在接受该字码型式的控制信号时,对应该字码长度产生一位移数至该位移器,以使该位移器根据该位移数对该字码流资料进行位移处理再输出该字码比较器,而该位移数判断器内储存一大于零的正整数的预定值,该预定值为前述该等字码的字码长度的公因数,以在接收该失误码控制信号时,对应该预定值产生该位移数至该位移器。
综前所述,本发明确实具有以下优点:
(1)限制错误传递于影像资料中的小范围内:
本发明利用设定字码比较器在无法判断输入字码属于何种型式的字码则输出一失误码的控制信号,与在位移数判断器内设定一预定值位移数(此预定值为前述字码长度的公因数),藉此,在压缩的影像资料于传输或储存过程因环境杂讯的干扰而被恶化产生失真时,解码器于解码过程中无法识别此恶化字码时,则利用使字码比较器持续输出失误码的控制信号,来使位移数判断器仍持续依预定值来定值递增位移数以产生新位移数,使得位移器内的资料仍可被位移与更新以输入至字码比较器作判断,所以字码比较器经多次位移输入后可发现该恶化资料存在的行的结束码,而恢复对此结束码的解码,使得可顺利继续下一行字码流的解码直至整个影像资料完成解码。藉此,使得一旦资料遭恶化时,本发明的可变长度解码器仍可继续进行解码,并可将此错误资料局限于该错误资料所在的行内,而不会接下的行资料解码发生影响。
(2)影像资料具有较佳抗扰性:
因为利用本发明的可变长度解码器进行解码时,即使影像资料遭恶化而有错误,除了有错误资料的行外,绝大部分行的资料仍可被正确译出,让绝大部分的原始资料可被恢复,使得此影像仍可供使用,故因此让影像资料可容许失真而具有较佳杭扰性。
附图说明
图1:一种习用可变长度压缩方式的规则中字码0的图表;
图2:一种习用可变长度压缩方式的规则中字码1的图表;
图3:一种习用可变长度压缩方法的规则中字码2的图表;
图4:一种习用可变长度压缩方法的规则中字码3的图表;
图5:一种习用可变长度压缩方法的规则中结束码的图表;
图6:一种习用可变长度解码器的电路方块图;
图7:图6的可变长度解码器中字码比较器与位移数产生器14之间的相互关系图表;
图8:本发明的可变长度解码器的较佳实施例电路方块图;
图9:图8的实施例中的字码比较器的输出与位移器判断器输出位移数之间的相互关系表。
具体实施方式
为了达到一旦一行中某些字码恶化时能寻找结束码的目标,在本发明中使新位移数n能持续产生并送至位移器中使得字码流内的资料能继续移出直至结束码出现为止。
为了达到前述的目的,请参照图8,为本发明的可变长度解码器2的较佳实施例。本实施例根据前述习用可变长度压缩方法的规则来进行解压缩。本实施例包括一位移器21、一字码比较器22、一译码器23、一字码长度产生器24及一位移数判断器25。
此位移器21用以接收一32位元输入图像并依照位移数判断器25所输出的位移数n(容后再述)移出前n个位元资料后,再输出剩余资料中的前16位元作为字码比较器22的输入。而此位移器21在原始32位元输入图像几乎耗尽时会要求新的32位元输入图像输入,即指在位移数n大于或等于16而需移出16位元以上资料时,则位移器21会要求以新的16位元资料串接于原始32位元输入图像中的后16位元资料后来形成一新的32位元输入图像。
字码比较器22内用以判断输入的16位元输入图像属于何种字码型式并对应输出一字码型式(code type)或一失误码(code miss)的控制信号与输出此字码至译码器23。在此,字码种类包括字码0(如图1的表一)、字码1)如图2的表二)、字码2(如图3的表三)、字码3(如图4的表四)、结束码(如图5的表五)、失误码。由于字码0、字码1、字码2、字码3、结束码的定义已在前述说明中揭露,故不在此赘述。在输入16位元图像未受恶化而能判断输入字码属于字码0、字码1、字码2、字码3、结束码中的一种时,字码比较器22输入判断的字码型式的控制信号至译码器23、字码长度产生器24及位移数判断器25。举例来说,如字码1101符合表一中字码0的定义,则判断此字码为字码0,并输出等于字码0的字码型式信号输出。而在输入16位元图像被恶化而致使字码表比较器无法判断其属于何种字码时,则产生一失误码信号输出至译码器23与位移数判断器25,并在其后16位元输入图像经判断为结束码时,才停止输出失误码的控制信号而恢复输出为结束码的字码型式控制信号。
根据字码型式信号、失误码信号与预定定义压缩规则,译码器23进行解码使得输入字码恢复成原始未压缩资料,此原始资料包括像素资料与像素长度。所以,若在失误码信号未被启动(即指无失误码产生)时,译码器23仅接收到字码与字码型式信号,则译码器23根据字码型式信号来由此字码获得像素资料与像素长度。举例来说,若字码为1101与字码型式为字码0时,则输出像素资料为01与像素长度为3的信号,以使字码恢复成原始资料。然而,在接收到失误码信号(即字码比较器22产生失误码)时,则输入字码被舍弃而不进行解码动作直至为结束码的字码型式信号被输入为止。
字码长度产生器24是根据由字码比较器22所产生的字码型式信号来判断此字码为多少位元并输出至位移数判断器25,以供位移数判断器25产生新位移数n用。由于构成各型式字码的位元数为可变长度压缩规则中所定义,所以在此实施例中,当字码型式为字码0时则输出字码长度为4,当字码型式为字码1时则输出字码长度为8,当字码型式为字码2时则输出字码长度为12,当字码型式为字码3时则输出字码长度为16,当字码型式为结束码时,则输出字码长度为16。
请一并参照图9,位移数判断器25用以决定位移器21中的资料应有多少位元应被移出(即位移数n为何)。在此,位移数判断器25在接收到字码型式的控制信号时,则将字码长度产生器24对应此控制信号的字码型式所输出字码长度累加于先前位移数,并在累加后位移数n小于16时,使累加后位移数直接用作新位移数输出至位移器21,以使位移器21移出32位元输出资料中的前n个位元资料而以剩余的前16位元资料(原始资料中的第1+n个至第16+n个位元资料)作为下一次输出至字码比较器22的16位元输入图像。而位移判断器25在累加后的数值大于或等于16时,则令位移器21要求输入新的32位元输入图像(即指由原始资料的后16位元资料加上新的16位元资料所形成)。值得注意,在本实施例中为了使在字码比较器22无法判断字码型式仍能产生新位移数n来使结束码能被发现,所以在本实施例中字码比较器22不能判断输入字码属于何种字码型式时,则输出失误码控制信号给位移数判断器25与译码器23,随之译码器23不作译码处理,与位移数判断器25根据内定的一特定值来决定新位移数。而此特定值是所有字码长度的公因数,以确保利用此特定值来位移能使结束码出现。在此实施例中,一行资料包含X个字码0(X为大于或等于0的整数)、y个字码1(y为大于或等于0的整数)、Z个字码2(Z为大于或等于0的整数)、u个字码3(u为大于或等于0的整数)及一个结束码,所以一行总共占有4*x+8*y+12*z+16*u+1*16=4*(X+2*y+3*Z+4*u)+1*16位元,所以一行的总位元数必定是4的倍数,可知该等字码长度的公因数为1、2、4,为了使字码移动较为快速,所以在本实施例中设定特定值为4。因此,若失误码被产生时,则位移数判断器25会自动将内定为4的特定值累加于先前位移数,同样的,当累加后总数值小于16时,则将累加数值当作新的位移数输出,以使位移器21内的资料得以继续移出来供下一次16位元输入图像用,而当累加后总数值大于或等于16时,则同样使位移器21要求输出新的32位元输入图像与将累加后总数值减掉16来作为新的位移数。
为了让本实施例的可变长度解码器1的作动更容易被了解以及错误传递能限制于一行的优点,兹举一经前述可变长度压缩规则压缩的字码流(codeword stream)来进行说明。此解码器2用以解码每行有100个像素的被压缩后影像资料,此字码流其压缩的原始资料为“1100-00011101-000001000010-0000000100000011-0000000000000010”,然而于传递或储存过程中受杂讯影响使得部分位元资料恶化而失真,使前述的字码流变成“1100-00011101-000001000010-0000000000010011-0000000000000010”,而本实施例解码流程如下所述:
(1)首先,撷取此字码流的前32位元作为位移器21的第一次32位元输入图像,所以位移器21的输入是“1100-00011101-000001000010-00000000”。其后位移器21输出至字码比较器22的字码等于“1100-00011101-0000”。因而,字码比较器22输出为“字码0”的字码型式控制信号至译码器23、字码长度产生器24与位移数判断器25并将此字码“1100”输入译码器23。而译码器23根据前述预定的压缩规则,将识别出此字码为像素长度(pixel-length)为3(即指有三个连续的像素)与像素值(pixel-date)为00。字码长度产生器24根据字码0输出等于4的字码长度至位移数判断器25。因而,位移数判断器25根据此字码长度决定位移数n为4输出至位移器21,使得位移器21在下一次输出16位元输入图像前,会将字码流中前4个位元“1100”移出。
(2)其后,位移器21的输入仍为“1100-00011101-000001000010-00000000”,但位移器21的输出已变成“00011101-00000100”,随之字码比较器22输出为“字码1”的字码型式控制信号至译码器23、字码长度产生器24与位移数判断器25并将此字码“00011101”输入译码器23,使得译码器23识别“00011101”为像素长度为7与像素值为01,而字码长度产生器24则对应字码1输出字码长度为8,因而位移数判断器25决定新位移数n等于12(4+8=12)。
(3)其次,位移器21的输入仍为“1100-00011101-000001000010-00000000”,但位移器21的输出对应前述的位移数n=12而变成“000001000010-0000”,所以字码比较器22输出为“字码2”的字码型式控制信号至译码器23、字码长度产生器24与位移数判断器25并将此字码“000001000010”输入译码器23内,则译码器32将识别成像素长度为16与像素值为10。至于字码长度产生器24输出字码长度为12,随之位移判断器25的输出的位移数n为8(12+12-16=8)并令位移器21要求输入新的32位元输入图像,即利用排除原本32位元输入图像的前16位元而以其之后16位元串接新的16位元来形成。
(4)再者,位移器21的输入变成“01000010-0000000000010011-00000000”,位移器21的输出为“0000000000010011”,(前8位元资料会被移出),所以字码比较器22无法判断此字码属于何种型式的字码而输出“失误码”至译码器23与位移数判断器25并输出此字码“0000000000010011”至译码器23,则译码器23接收到失误码的控制信号时,则舍弃输入字码而不作译码动作,与位移数判断器25决定新位移数为12(8+4=12)。
(5)“01000010-0000000000010011-00000000”为位移器21的输入,位移器21的输出为“000000010011-0000”(前12位元资料会被移出),所以字码比较器22经比较后此字码并非结束码,所以仍输出“失误码”至译码器23与位移数乒断器25并输出此字码“0000000100110000”至译码器23,则译码器23接收到失误码的控制信号时,则舍弃输入字码而不作译码动作,与位移数判断器25决定新位移数为0(12+4-16=0)并使位移器21要求新的32位元输入图像输入。
(6)“000100111-000000000000010-XXXXXXXX”为位移器21的输入,位移器21的输出为“00010011-00000000”,而字码比较器22经比较后此字码并非结束码,所以仍输出“失误码”至译码器23与位移数判断器25并输出此字码“0001001100000000”至译码器23,则译码器23接收到失误码的控制信号时,则舍弃输入字码而不作译码动作,与位移数判断器25决定新位移数为4(0+4=4)。
(7)位移器21的输入仍为“000100111-000000000000010-XXXXXXXX”,位移器21的输出为“0011000000000000”,而字码比较器22经比较后此字码并非结束码,所以仍输出“失误码”至译码器23与位移数判断器25并输出此字码“0011000000000000”至译码器23,则译码器23接收到失误码的控制信号时,则舍弃输入字码而不作译码动作,与位移数判断器25决定新位移数为8(4+4=8)。
(8)最后,位移器21的输入仍为“000100111-000000000000010-XXXXXXXX”,(X代表不在意的位元),位移器21的输出为“00000000000000010”,而字码比较器22经比较后此字码为结束码,所以输出为“结束码”的字码型式控制信号至译码器32、字码长度产生器24与位移数判断器25并输出此字码“00000000000000010”至译码器23,则译码器23识别出此字码的像素资料为10与像素长度为74(100-3-7-16=74),至此完成一行字码流的解码,与字码长度产生器24输出为16的字码长度,而位移数判断器25决定新位移数为8(8+16-16=8)并要求位移器21输出新的32位元输入图像以继续进行下一行字码流的解码。
综前所述,本发明确实具有以下优点:
(1)限制错误传递于影像资料中的小范围内:
在本案中,利用设定字码比较器22在无法判断输入字码属于何种型式的字码则输出一失误码的控制信号,与在位移数判断器25内设定一预定值位移数(此预定值为前述字码长度的公因数),藉此,在压缩的影像资料于传输或储存过程因环境杂讯的干扰而被恶化产生失真时,解码器2于解码过程中无法识别此恶化字码时,则利用使字码比较器22持续输出失误码的控制信号,来使位移数判断器25仍持续依预定值来定值递增位移数以产生新位移数,使得位移器21内的资料仍可被位移与更新以输入至字码比较器22作判断,所以字码比较器22经多次位移输入后可发现该恶化资料存在的行的结束码,而恢复对此结束码的解码,使得可顺利继续下一行字码流的解码直至整个影像资料完成解码。藉此,使得一旦资料遭恶化时,本发明的可变长度解码器仍可继续进行解码,并可将此错误资料局限于该错误资料所在的行内,而不会接下的行资料解码发生影响。
(2)影像资料具有较佳抗扰性:
因为利用本发明的可变长度解码器进行解码时,即使影像资料遭恶化而有错误,除了有错误资料的行外,绝大部分行的资料仍可被正确译出,让绝大部分的原始资料可被恢复,使得此影像仍可供使用,故因此让影像资料可容许失真而具有较佳杭扰性。
虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明,任何熟悉此项技艺者,在不脱离本发明之精神和范围内,当可做些许更动与润饰,因此本发明之保护范围当视权利要求书范围所界定者为准。
Claims (6)
1.一种可预防错误传递的可变长度解码器,其特征是:用以对经一可变长度压缩规则所压缩的影像资料解压缩,该可变长度压缩规则包含多种依不同范围的像素重复数量所定义字码型式与一定义一行结束的结束码,而该影像资料依该可变长度逐行进行编码压缩形成字码流,而该解码器包括:
一位移器,用以依序接收前述经压缩的影像资料的字码流并经适当位移处理后依序输出;
一字码比较器,储存前述各该字码型式的定义,并依序由该位移器接收字码与将它与该等储存定义作比较,若相符时,则依对应的字码定义输出该字码与一合该相符的字码型式的控制信号,若不相符时,持续输出等量位元长度的字码与失误信号,直至其后输入的字码经比较为该结束码时,则恢复输出该字码与该控制信号;
一译码器,储存前述字码型式与结束码的定义,并接收该字码比较器输出的信号与字码,该译码器接收到控制信号之后,依据该字码定义进行译码,而该译码器接受到该失误信号时,则不动作;及
一位移数产生单元,储存各该字码的字码长度与对应该失误信号的字码长度,并在接收该字码比较器输出的信号后,依该信号所相对储存的字码长度与前一次的位移数形成一新位移数至该位移器,以使该位移器依该位移数移除部分字码流后,再输出经处理的字码流至该字码比较器;
该位移数产生单元包含:
一字码长度产生器,储存各该字码定义的字码长度,并在接收该字码比较器输出的控制信号后,依前述字码型式的定义输出对应该字码型式的字码长度;及
一位移数判断器,储存该失误信号所对应的等量字码长度与该前次的位移数,并接收该字码比较器输出的信号及该字码长度产生器输出的字码长度,以在接受该控制信号后,该位移数判断器对应该字码长度与该前次位移数形成一新位移数至该位移器,而在接收该失误信号后,该位移数判断器依该等量字码长度与前次的位移数来形成一新位移数。
2.如权利要求1所述的可预防错误传递的可变长度解码器,其特征是:该等量字码长度为前述该等字码定义的字码长度的公因数。
3.如权利要求1所述的可预防错误传递的可变长度解码器,其特征是:该位移器依序接收的该影像资料的字码流中,该位移器依序接收的字码长度为第一字码长度,而该位移器输出至该字码比较器为一小于该第一字码长度的第二字码长度的字码。
4.如权利要求3所述的可预防错误传递的可变长度解码器,其特征是:该位移数产生单元在接收到该信号后,将该信号对应的字码长度累积上该前一次位移数以与该第二字码长度作比较,若比较后小于该第二字码长度时,则将该累积数作为该新位移数输出,否则;将该累积数减去第二字码长度后才作为该新位移数输出。
5.如权利要求4所述的可预防错误传递的可变长度解码器,其特征是:该位移数产生单元形成该新位移数中,该累积数不小于该第二字码长度时,则使该位移器要求该影像资料的字码流中移除该第二字码长度后的等于该第一字码长度的字码流输入。
6.如权利要求5所述的可预防错误传递的可变长度解码器,其特征是:该第一字码长度等于该第二字码长度的倍数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB021276218A CN1297145C (zh) | 2002-08-05 | 2002-08-05 | 可预防错误传递的可变长度解码器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB021276218A CN1297145C (zh) | 2002-08-05 | 2002-08-05 | 可预防错误传递的可变长度解码器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1474603A CN1474603A (zh) | 2004-02-11 |
CN1297145C true CN1297145C (zh) | 2007-01-24 |
Family
ID=34143571
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB021276218A Expired - Fee Related CN1297145C (zh) | 2002-08-05 | 2002-08-05 | 可预防错误传递的可变长度解码器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1297145C (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101841699B (zh) * | 2009-03-18 | 2012-06-27 | 晨星软件研发(深圳)有限公司 | 译码装置及其译码方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1083297A (zh) * | 1992-07-07 | 1994-03-02 | 菲利浦电子有限公司 | 以数字形式传输图像的电视系统 |
WO2002051162A1 (en) * | 2000-12-20 | 2002-06-27 | Mitsubishi Denki Kabushiki Kaisha | Method and apparatus for decoding motion video image |
-
2002
- 2002-08-05 CN CNB021276218A patent/CN1297145C/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1083297A (zh) * | 1992-07-07 | 1994-03-02 | 菲利浦电子有限公司 | 以数字形式传输图像的电视系统 |
WO2002051162A1 (en) * | 2000-12-20 | 2002-06-27 | Mitsubishi Denki Kabushiki Kaisha | Method and apparatus for decoding motion video image |
Also Published As
Publication number | Publication date |
---|---|
CN1474603A (zh) | 2004-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7254250B2 (en) | Watermark embedding and extraction method and apparatus in compressed streams | |
CN1151686C (zh) | 视频数据收发装置及其收发方法 | |
CN101557517B (zh) | 解码器、解码装置及解码方法 | |
CN1200604A (zh) | 数据压缩方法和设备 | |
CN100525450C (zh) | 一种实现霍夫曼译码的方法和装置 | |
US7728740B2 (en) | Data compression for communication between two or more components in a system | |
US7375660B1 (en) | Huffman decoding method | |
CN1547805A (zh) | 执行霍夫曼解码的方法 | |
CN1725859A (zh) | 内容自适应二进制算术编码的方法和使用该方法的设备 | |
WO2009009599A2 (en) | Multipass embedded residual group encoding | |
CN102668560B (zh) | 嵌入式图形编码:用于并行解码的重排序比特流 | |
CN101017574A (zh) | 一种适于jpeg码流的哈夫曼解码方法 | |
CN1157958C (zh) | 数字视频编码方法和设备 | |
CN116016606A (zh) | 一种基于智慧云的污水处理运维数据高效管理系统 | |
US20060176195A1 (en) | System and method for partition and pattern-match decoding of variable length codes | |
JP5913748B2 (ja) | セキュアで損失のないデータ圧縮 | |
CN1185061A (zh) | 变长编码数据传输装置、发射机和接收机侧装置及其用法 | |
US7728745B2 (en) | Variable length code decoding apparatus and method with variation in timing of extracting bit string to be decoded depending on code word | |
CN1297145C (zh) | 可预防错误传递的可变长度解码器 | |
CN104980749A (zh) | 算术编码的解码装置及方法 | |
CN1364341A (zh) | 算术编码信息信号的算术译码 | |
US7683809B2 (en) | Advanced lossless bit coding | |
CN1692626A (zh) | 图像编码设备及其方法,编码图像解码设备及其方法 | |
US6518896B1 (en) | Multiple symbol length lookup table | |
CN114614832A (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: 20070124 Termination date: 20210805 |
|
CF01 | Termination of patent right due to non-payment of annual fee |