图像资料编码方法

文档序号:6586761阅读:261来源:国知局
专利名称:图像资料编码方法
技术领域
本发明涉及一种图像压缩的方法,特别涉及一种具有依图像资料的差异,调整压缩方式的图像压缩方法。


图1为现有的远程控制系统,利用图像压缩的技术,使客户端计算机可由远程控制其它计算机。如图中所示,此远程控制系统有控制器120,计算机切换器(Keyboard-Video-Mouse Switch;KVMSwitch)104,与四台由计算机切换器104所控制的计算机1~4102。此远程控制器120通过网络122与客户端计算机124联络。而此远程控制器120包含,A/D转换器106、先进先出控制器(First IN First Out;FIFO)108、输出输入模块110、中央处理单元(Central Processing Unit;CPU)112、存储器控制器114、存储器116及网络卡118。
若A/D转换器106进行图像资料的取样后,产生200个像素(Pixel)改变,且其分配在200个区块中,而每个区块有16*16个像素的情况时,为了压缩及传输这些图像资料,系统必须具有强大的压缩与读取能力,以能在适当的时间间隔内,完成这些图像资料的处理。
而在这些图像资料完成压缩之后,若欲进一步使用网络以进行压缩后图像资料的传输,则在网络有限的可用频宽下,即使已经压缩完成的图像资料,欲进行如此庞大的图像资料的实时传输,仍将造成网络极大的负担。一般而言,利用压缩技术可有效抒解网络中数据传输形成的瓶颈,但是由于目前图像资料大量在网络中传输,现有网络在承受大量的图像资料,在有限的频宽下,欲进行实时图像传输及计算机控制,将受限于网络的传输能力。
如何有效的压缩连续而庞大的图像资料,以利用有限的网络频宽,进行图像实时传输,并进行远程计算机的控制,实为网络及服务器管理者所共同的目标。
本发明的目的之一,是利用一种经由网络有效地传输连续压缩的图像资料的方法。
本发明的又一目的,是利用比较目前的图像区块与先前的图像区块,计算其中不同的像素数量,自动计算所需使用的压缩图像资料的算法,进行图像资料的压缩与传输。
本发明的再一目的,是利用合适的压缩图像资料的算法,根据不同图像情况所需,进行不同的压缩演算,有效的降低网络频宽与传输速率的需求,使经由网络传输实时图像与控制计算机设备,更为容易且时间延误因而降低。
根据以上所述的目的,本发明提供一种图像资料编码方法,使用于连续图像传输,可减少编码后图像资料大小,从而降低对网络频宽的需求。特别适合于计算机切换器(Keyboard-Video-Mouse Switch;KVM Switch)经由网络,管理远程计算机时的图像传输的需要。此方法包含,读取连续图像,使用模糊比较法,比较连续图像的前图像与后图像的相同区块的每一像素的图像资料,分析图像的差异数量,当差异数量大于等于32时,使用JPEG编码算法进行图像的压缩,当差异数量小于32时,使用变动长度与三角调变编码算法进行图像压缩。
其中模糊比较法,需先设定一模糊比较范围,将相同位置的连续图像资料分离而成红色资料、绿色资料与蓝色资料,当前一图像的红色资料减去后一图像的红色资料的绝对值,前一图像的蓝色资料减去后一图像的蓝色资料的绝对值,及前一图像的绿色资料减去后一图像的绿色资料的绝对值均小于等于该模糊比较范围时,将此图像资料视为相同;反之若任一颜色的前后差异大于该模糊比较范围时,则将此图像资料视为不相同。
在进行模糊比较法之前,可先以至接比较前后图像的资料差异将前后图像完全相同的位置排除。
本发明更进一步将相异图像资料的非线性数据重新排列成为线性数据,再依差异数量决定使用直接编码算法、三角调变编码算法或是变动长度编码算法进行相异图像资料的编码。而当相同图像资料,经过三角调变编码算法与变动长度编码算法所产生的编码后资料的长度,若大于直接编码算法所产生的编码后资料的长度时,则使用直接编码算法进行编码。
本发明的变动长度编码算法还包含,第一变动长度编码算法,具有处理连续相同的字节的能力,例如“AAAAAA”;第二变动长度编码算法,具有处理交错连续相同的字节的能力,例如“ABABAB”。
本发明的改善图像压缩及传送的方法,根据不同的需求,决定所需的压缩方法,充分利用每一种压缩方法的优点,有效降低图像传输速率及网络频宽的需求。
图号说明102 计算机1~4104 计算机切换器106 A/D转换器 108 先进先出控制器110 输出输入模块 112 中央处理单元114 存储器控制器 116 存储器118 网络卡120 控制器122 网络 124 客户端计算机202~1434 步骤具体实施方式
由上述的发明背景中可知,连续的图像资料,虽经压缩,但在有限网络频宽下,欲进行连续的图像实时传输与远程计算机控制,将受限于网络的传输能力。如果能更有效地压缩连续图像资料,就可以减轻网络的负担,并可使实时图像的传输与远程计算机控制的时间延误大幅降低。
以下将以附图及详细说明,清楚描述本发明的精神,如熟悉此技术的人员在了解本发明的较佳实施例后,当可由本发明所教示的技术,加以改变及修饰,其并不脱离本发明的精神与范围。本发明提供一种改进的变动长度编码(Run Length Encoding)及三角调变编码法(DeltaModulation Encoding),以进行计算机图像的编码,并通过网络进行压缩后的连续图像的传输。请参阅图2至图10C,结合以下的说明,以详述本发明的精神与范围。
在此我们称此编码程序为变动长度编码与三角调变位置编码(RunLength Encoding and Delta Modulation Position;RLEDMP)。其中变动长度编码以RLE代表,是一种无失真的算法(Lossless Algorithm),其将重复的资料,以原始资料与重复次数来表示,故可有效的减少资料的数量。而三角调变以DM代表,是一种属于差值信号编码(Differential PulseCode Modulation;DPCM)的技术。使用此种方法只有少数位用来编码不相同的地方,先决定一数值后,在利用增量及减量的方式表达其它数值。P代表位置编码(Position Coding),用来记录行图案的资料。
根据JPEG标准的要求,原始的图像资料首先被分割为多个8*8的矩阵,每一矩阵代表64个像素。由于JPEG压缩,首先要将RGB转换成亮度与色度的格式。一般而言,转换成为Y代表亮度,Cb代表蓝色色度,及Cr代表红色色度。因此我们定义16*16的矩阵为一最小的需求单元。当仅有部分的资料不相同时,使用JPEG算法是不值得的。在此种情况下,我们将采用上述的RLEDMP的算法来取代原来的JPEG算法。
图2中为本发明的图像压缩的主要分配程序的流程示意图。利用分配功能自动转换资料进入特定的流程。首先,将图像切割,以形成16*16像素的区块,步骤202。接着,准备数据以进行模糊比较(FuzzyComparison)的程序,步骤204。然后比较现有的区块与先前的区块,以获得全部差异数量(Total Difference Number;TDN),步骤206。再根据比较的结果,分配程序将图像资料进行不同的压缩,例如在本实施例中,使用预定的差异数为32而言,当差异数不小于1但小于32时,进入步骤210,使用RLEDMP的算法进行压缩。当差异数大于32时,则进入步骤212,使用JPEG的算法进行压缩。步骤214,储存编码后的数据。虽然在此实施例中,选用32为一个使用JPEG或RLEDMP的选择门槛,但本发明并不限定此数值,一般而言,在16*16的矩阵中,小于128的数值均可使用。本发明利用一预定的差异数值进行每一图像区块使用的压缩算法的判断准则,使每一区块根据与前一图像的比较,选择合适的压缩算法,进行压缩,故能产生最为合适此区块的图像压缩种算法,可有效的降低图像压缩后的资料大小,因而节省图像传输所需要的时间。
图3为将标准的RGB555的像素格式转换分离为红(R)、绿(G)及蓝(B)的格式。现有的像素格式使用RGB555的格式,系为图中的像素格式400,为方便进行比较,本发明将其分离为红色像素格式401、绿色像素格式402及蓝色像素格式403,而每一颜色的像素格式使用8个位进行资料的储存,如图中所示,每个颜色的资料均小于0x20,故定义0x20为结束字符(End ofbuffer character;EOBC)。
图4为模糊比较程序的流程示意图。由于经由A/D转换器106产生资料取样的不稳定的情形,在此先定义一预定的数值以进行比较时使用。此预定的数值以模糊比较范围(Fuzzy Comparison Range;FCR)来表示。当由A/D转换器106所传送来的资料,如0x10,0x11 or 0x12均可被视为相同的资料,以克服A/D转换器106图像撷取时的不稳定的现象,也就是说当差异值小于等于2时,可将其视为相同。下列的公式一为进行模糊控制计算时使用Result=Abs(CR-FR)<=FCR.and.Abs(CG-FG)<=FCR.and.Abs(CB-FB)<=FCR上述的CR、CG与CB分别代表目前图像的像素中分离出来的目前R、G与B的色彩资料,而FR、FG与FB分别代表先前图像的像素中分离出来的先前R、G与B的色彩资料。
当上述的Result为零的时候,代表先前图像的像素与目前图像的像素不是相同的像素,其它的情况代表此两个像素是相同的像素。
首先,步骤502,为模糊比较的起始设定值,设定FCR的预定值,并将行计数器(Line Counter;LC)、点计数器(Dot Counter;DC)、行图案(Line Pattern;LP)及全部相异数量(Total Difference Number;TDN)均先归零。步骤504,获取欲比较图像1与图像2的图像资料。步骤506,一点一点地比较图像中每一点的图像资料是否相同,当发现此点的图像资料为相同时,直接进入步骤514,而当此点的图像资料并不相同时,则进入本发明的模糊比较的程序。步骤508,将此点的图像资料,依图3中的分离方法分离为RGB颜色的资料,图像1的此点的图像资料被分为R1、B1及G1,而图像2的相同位置的图像资料被分为R2、G2及B2。步骤510,利用公式一模糊比较此点的图像资料是否在可被接受的范围中,即此点的RGB值是否可被视为相同,而被接受为相同的资料。若判定为相同则直接进入步骤514,若被视为不相同则进入步骤512。步骤512,将此点位置的LP设定为1,并将TDN的数值加1,代表全部相异数量又增加一点。接着进入步骤514,将LP的位置,向左移动一个位,并将DC加1。步骤516,系判断此列的图像资料是否已比较完毕,在此以每行16个图像点为例,故DC判断是否大于等于16。倘若尚未比较完成,即DC小于16,回到步骤504继续此较下一个位置点,若已比较完成,即DC大于等于16,则进入步骤518。步骤518,系将上述比较所记录的LP值存入LP缓冲器(LP Buffer;LPBUF)中,并将LP与DC重新设定为零及将LC加1,也就是进入下一行中,继续进行图像模糊比较的工作,直到步骤520,完成此图像的模糊比较工作。
使用本发明的图像模糊比较的程序,当比较完成后,同时产生了一组行图案的数据,以下将以表一、表二及表三来加以详述本发明的比较方法与比较结果。表一代表先前的图像资料,表二代表目前的图像资料及表三代表经比较后所产生的行图案的资料。
本发明的模糊比较程序,是利用比较表一及表二中的每一列及每一行的像素点,以产生表三中的行图案的数据。

表一先前的图像的资料。

表二目前的图像的资料。

表三经比较后所产生的行图案的数据。
经比较后写入LPBUF中的资料0x0300,0x0100,0x0100,0x0100,0x0100,0x0100,0x0100,0x0100,0x0100,0x0100,0x0100,0x0100,0x0100,0x0100,0x0100,0x0300,即为表三中展开的行图案的数据。
由于全部相异数量为18个点,所以根据图2中所说明的判断方式及预定的TDN门槛,上述的图像比较结果将采用RLEDMP的编码方式进行此图像区块的压缩方式。
图5说明本发明的较佳实施例RLEDMP算法的编码程序。步骤602,首先判断TDN的数量,若TDN的数量小于4则直接进入步骤614,反之若TDN的数量大于等于4则进入下一个步骤604。步骤604至步骤606,在此称的为P方法(P Method),其中步骤604进行行图案指针(Line Pattern Index)的编码,而步骤606则进行LPBUF的编码。在下一个步骤608中,将LP标示有差异图像像素点的像素资料分离成为R、G及B的颜色资料。接下来的步骤610,则进行RLEDM的编码。再比较编码后的尺寸是否大于TDN*3。若编码后的尺寸大于TDN*3,则进行步骤614的直接编码的程序,但若编码后的尺寸小于等于TDN*3,则使用RLEDM编码后的数据。
为更清楚说明本发明的方法,请参考图6,图6为图5中步骤614所述的直接编码程序的编码格式。如图中所示,前面的字符用来储存列702的资料,紧接的字符用来记录行704的资料其余的位则记录像素706的资料。
图7为根据本发明的较佳实施例图5中步骤614的直接编码程序的流程示意图。步骤802为读取起始数据,将行图案缓冲器的地址(LPBAddress;LPBA)与图像缓冲器地址(Image Buffer Address;IBA)读入。步骤804,设定行计数器的起始值为零。步骤806,依LPBA读取LP的资料,LPBA加2,同时设定行计数器(Column Counter;CC)为零。步骤808,判断LP是否为零,倘若为零直接进入步骤818,倘若不为零,则进入步骤810,判断大部分的LP的位资料是否零,若为零进入步骤816,若不为零进入步骤812。步骤812,将目前的列计数器与列计数器编码写入输出字符串(Output Stream)中。步骤814,将所需的像素数据写入输出字符串中。步骤816,将LP向左移一个位及CC加1。流程再回到步骤808,直到LP=0时,进入步骤818,将LC加1。步骤820,判断LC是否大于等于16,若小于16回到步骤806,若大于等于16,则结束此程序。
RLEDMP算法,将非线性的资料转换成为线性的资料,而由P方法负担起这个责任。P方法首先建立16位的行图案指针(Line PatternIndex)。每一个位代表一个行图案,当行图案不为零的时候,相对应的位将被设定为1,以代表此行中包含资料。且P方法并将行图案缓存器进行压缩。
图8为根据本发明的较佳实施例图5中步骤604的行图案指针编码的流程示意图。首先,步骤902,读取行图案缓冲器地址。步骤904,将行图案指针(Line Pattern Index;LPI)及一计数器的起始值设定为零。步骤906,读取LPB中的LP的资料。步骤908判断LP的资料是否为零。当其不为零时,进入步骤910,设定行图案指针的最小的有效位为1。当LP的资料为零或步骤910结束后,进入步骤912,行图案指针向左移一个字符,计数器及行图案缓冲器地址均增加。步骤916,如果计数器小于16,则回到步骤906。当计数器累计至16以后,进入步骤918,将行图案指针与全部相异数量储存。
以下将详细说明本发明的较佳实施例图5中步骤606的行图案缓存器编码方法。由于,行图案指针已经包含列的资料,在此P方法仅需处理这些LP不等于零的情况。P方法将每一行图案分成四个半字节(Nibble)。如果半字节不为零时,将输出位1与半字节的内容至输出字符串。

如果半字节为零时,但是剩下的半字节并不为零时,输出位0与位1至输出字符串。

如果剩下的半字节为零时,输出两个位0至输出字符串。

P方法也将目前区块的位置信息加以编码,故可进行这些分散数据的处理。RLEDMP算法,通过行图案资料集结这些资料,并测试每一个行图案缓冲器的位。如果发现非零的位,将根据目前位置取得图像缓存器中的像素资料。在图像缓存器中的像素资料,立刻由RGB555被分离为R、G与B的资料。全部的R资料会被储存在RGB取样缓存器(RGB Sample Buffer)中,全部的G资料则会被储存在RGB取样缓存器(RGB Sample Buffer)中并根据TDN位移,同样的,全部的B资料则会被储存在RGB取样缓存器(RGB Sample Buffer)中并根据TDN*2位移。
例如,将以下的图像资料进行处理

其中,P1~P8使用RGB555的格式,分别包含RP1GP1BP1~RP8GP8BP8且其值均小于0x20。
上述的区块共计有8个不相同的像素,将其分离并转换后,可得下列的线性数据RP1RP2RP3RP4RP5RP6RP7RP8GP1GP2GP3GP4GP5GP6GP7GP8BP1BP2BP3BP4BP5BP6BP7BP8以下列的线性数据为例0x08,0x09,0x09,0x08,0x08,0x08,0x09,0x08经RLE压缩后,压缩后的资料缓存器仅需使用5字节(40位),记录这些资料,如下所示0x40,0x49,0x42,0x48,0x40若使用DM的算法进行压缩,则可得下列的资料0x42,0x45,0x00,0xD8如上所述,使用DM的算法进行压缩后,仅需4字节(实际为31位),即可储存及传送这些资料,故明显的说明,将RLE与DM的算法加以结合所产生的优点。
如图9中所示,为本发明的RLEDM编码模式的切换循环。本发明的改善图像压缩及传送的方法,将根据最小编码原则,当接收到资料后,本发明的RLEDM将会根据所接收到的字符串形式进行切换,在EM_NORMAL1101,EM_PRE_DM 1102及EM_DM 1103之间进行切换。
本发明的RLE算法,还包含另外两种处理机制。此两种的处理机制分别为,第一RLE编码算法,在此称的为RLE01,其针对相同字符串格式进行处理,例如“AAAAAA”;及第二RLE编码算法,在此称的为RLE02,其针对交错相同的字符串格式进行处理,例如“ABABAB”。
下表说明使用RLE01编码的方法,当重复次数的数量小于5时,RLE01利用下列的编码方法进行编码。

当原始资料为0x06时,经压缩后的资料为6(5位),1(1位),0(2位)。
当原始资料为0x06,0x06,0x06,0x06时,
经压缩后的资料为6(5位),1(1位),3(2位)。
由于重复次数并不会小于零,故在数量字段中,以0代表一次,依序增加,而旗标值为1表示压缩格式,资料则以原始资料填入。
但当重复次数大于四次且小于129次时,RLE01编码的方法利用下列的方法进行编码。

当原始资料为0x06,0x06,0x06,0x06,0x06,0x06,0x06时,经压缩后的资料为6(5位),00(2位),6(7位)。
虽然在此利用数量为7个位为例,当然其可使用在任何数量大于2个位的情况。
接下来再进行RLE02编码方法的说明。

当原始资料为0x11,0x06,0x11,0x06,0x11,0x06时,经压缩后的资料为11(5位),01(2位),100(3位),6(5位),2(7位)。
虽然使用数量为7个位为例,其可使用在任何数量的位情况。
若资料的变化范围在3至-3之间的时候,DM编码方法将会使用下列的编码方法。


当原始资料为0x06,0x07,0x05,0x08,0x05时,经压缩后的资料为6(5位),010(3位),001(3位),110(3位),011(3位),111(3位),100(3位)。
参阅图10A、图10B及图10C,其为根据本发明的较佳实施例图5中步骤610的RLEDM编码的流程示意图。图10A主要描述起始状态的设定,RLE01编码及结束流程。
步骤1202,起始条件设定,读取RGB Sample Buffer的开始地址(RSBA),计算而得RGB Sample Buffer的结束地址(RGBEA),为RSBA再加上TDN*3,并将结束字符(End of Buffer Character;EOBC)加在RGB Sample Buffer之后。设定编码模式(Encode Mode)的预设值为Normal,其代表使用图9中的EM Normal的编码模式,并设定一先前三角调变差异值(Previous Delta-modulation Difference Value;PrevDM)为0。最后,读取RGB Sample Buffer的一字节以设定先前字符(PreviousCharacter;PrevCH)的起始值,并将RSBA增加1。
步骤1204,判断RSBA是否大于等于RSBEA。当RSBA大于等于RSBEA时,接步骤1206,再判断Encode Mode是否等于EM PRE DM,如果相等,则进入步骤1208,送出01至输出字符串。步骤1212,输出PrevDM的三个位至输出字符串,与步骤1214,送出100至输出字符串。然后,步骤1216将编码缓存器中的资料清除。但如果步骤1206中,Encode Mode与EM_PRE_DM并不相同时,则进入步骤1210,以判断Encode Mode是否与EM_DM相同,如果相同进入步骤1212,但是如果其并不相同,则进入步骤1216。
其中步骤1204中,如果RSBA小于RSBEA时,则进入步骤1218,将重复次数(Repeat Counter;RC)设定为1。此流程将决定一先前字符(PrevCh)的重复的次数。步骤1220,现有字符(Current Character;Ch)由RGB Sample Buffer中读取,并将RSBA加1。步骤1222,判断Ch是否与PrevCh相同,如果相同进入步骤1224,将RC加1,用来计算连续的相同的字符数量,并再回到步骤1220。如果Ch与PrevCh并不相同,则进入步骤1226,判断RC是否等于1。如果等于1,则进入图10B中的步骤1302,而如果不等于1,则此流程将依据下列的说明方式,决定使用哪一个编码流程较为合适。
此流程如何决定使用何种编码方式进行这些重复的资料的编码。首先,步骤1230,判断Encode Mode是否等于EM_NORMAL。如果Encode Mode等于EM_NORMAL,进入步骤1254,判断RC是否小于等于4。如果RC小于等于4则进入步骤1256,将RC减1。步骤1258,将PrevCh的值向左移三个位并将其加上RC的值。步骤1260,将8位的PrevCh送出至输出字符串。步骤1270,将PrevCh设定等于Ch,以追踪下一个连续字符。流程再回到步骤1204中。如果步骤1254中,RC大于4,则进入步骤1262。步骤1262,将RC减1。然后步骤1264,将PrevCh向左移二个位。步骤1266,将七个位的PrevCh送出至输出字符串中。步骤1268,将七个位的RC送出至输出字符串中。然后,步骤1270,将PrevCh设定等于Ch,流程并回到步骤1204中。
而其中的步骤1230中,若Encode Mode不等于EM_NORMAL时,进入步骤1232,判断RC是否大于七。如果RC大于七,则进入步骤1252,送出100至输出字符串中,并重新设定Encode Mode为EM_NORMAL。而当RC不大于七时,则进入步骤1234。步骤1234,比较PrevCh减去Ch的绝对值,是否大于三角调变差异范围(DeltaModulation Difference Range;DMRANGE)。若绝对值(PrevCh-Ch)大于DMRANGE时,且步骤1236中的RC大于等于3时,流程回到步骤1252。而当步骤1236中的RC小于3时,进入步骤1238,判定EncodeMode是否等于EM_PRE_DM。若Encode Mode等于EM_PRE_DM,进入步骤1272将10送出至输出字符串,并进入步骤1274,将此流程送出PrevDM的三个位、000及100至输出字符串中,并设定PrevCh等于Ch。而当现有的编码模式不是EM_PRE_DM时,直接进入步骤1274。当步骤1234中的绝对值(PrevCh-Ch)不大于DMRANGE时,此流程进入步骤1240,判断现有的编码模式是否为EM_PRE_DM。当现有的编码模式不是为EM_PRE_DM时,进入步骤1244,将送出PrevDM的三个位至输出字符串中,且RC减1。而当现有的编码模式是EM_PRE_DM时,进入步骤1242,送出10至输出字符串中,并设定Encode Mode为EM_DM,然后再进入步骤1244。在步骤1244之后,流程进入步骤1246,判断RC是否等于零。当RC不是等于零时,进入步骤1248,此流程将重复送出000至输出字符串中,并将RC减1,直到RC等于零时,进入步骤1250,PrevDM设定为Ch减去PrevCh,并将PrevCh再设定等于Ch,接着流程回到步骤1204中。
图10B主要说明RLE02编码。首先,步骤1302,储存输入字符串现有的位置RSBA,接着进入步骤1304,由RSBA读取两个字符,将第一个字符写入为下一字符(Next Character;NextCh),并将RSBA加1。步骤1306,将第二个字符送出至比较字符(Comparison Character;CCh),并将RSBA再加1。步骤1308,判断PrevCh是否等于NextCh,倘若PrevCh等于NextCh,及步骤1310,判断Ch是否等于CCh。若步骤1308或步骤1310中任一不成立的情况,进入步骤1312,将RSBA减二。倘若两者均成立的情况下进入步骤1314,系将RC设定为二。步骤1316、1318、1322、1324及1326,比较接下来RSBA的两个字符与PrevCh及Ch,以计算连续重复的字符。当计算完成后,如果有任何差异发生时,流程进入步骤1332。步骤1332,比较RC是否大于2,如果RC大于2,接下来进入步骤1338,比较目前的编码模式是否为EM_NORMAL,如果是,此流程将把相关的资料根据RLE02的规则,送出至输出字符串中。当步骤1332中,RC不大于2时,进入步骤1334,比较绝对值(PrevCh-Ch)是否大于DMRANGE。当绝对值(PrevCh-Ch)大于DMRANGE时,进入步骤1336,储存输入字符串的位置,并进入图10C中。如果步骤1338中,目前的编码模式不是EM_NORMAL时,送出100至输出字符串中,步骤1340。
根据RLE02编码规则,首先进入步骤1342,比较RC是否等于零,如果RC等于零时,进入步骤1360。步骤1360,由输入字符串中取得数据,并储存至PrevCh,再将RSBA加1与设定目前的编码模式为EM_NORMAL。当步骤1342中,RC不等于零时,且步骤1344,RC大于128时,设定计数器等于127。当步骤1344中,RC不大于128时,计数器等于RC减1。接着进入步骤1350、1352、1354及1356,送出PrevCh的五个位、10与100、Ch的五个位及计数器的七个位,至输出字符串。步骤1358将RC设定为RC减去计数器减去1,并回到步骤1342,直到RC等于零。
图10C主要说明DM的编码。首先,步骤1402,比较绝对值(PrevCh-Ch)是否大于DMRANGE。当绝对值(PrevCh-Ch)不大于DMRANGE时,进入步骤1404,比较目前的编码模式是否为EM_NORMAL。当目前的编码模式是EM_NORMAL时,进入步骤1406,将Encode Mode设定为EM_PRE_DM。步骤1408,送出PrevCh的五个位至输出字符串,步骤1418,将PrevDM设定为Ch减去PrevCh,及步骤1434,将PrevCh设定为Ch。然后此流程回到图10A中的步骤1204。
如果步骤1404中,当目前的编码模式不是EM_NORMAL时,进入步骤1410,比较目前的编码模式是否为EM_PRE_DM。如果是,进入步骤1412,将Encode Mode设定为DM,步骤1414与步骤1416,送出10与PrevDM的三个位至输出字符串。如果步骤1410中,目前的编码模式不是EM_PRE_DM时,流程直接进入步骤1416,接着进入步骤1418。
如果步骤1402中,绝对值(PrevCh-Ch)大于DMRANGE时,进入步骤1418,比较目前的编码模式是否为EM_PRE_DM。如果是,进入步骤1420、步骤1422与步骤1424,送出10、PrevDM的三个位与100至输出字符串。进入步骤1432,将Encode Mode设定为EM_NORMAL,接着流程进入步骤1434。如果步骤1418中,目前的编码模式不是EM_PRE_DM时,流程进入步骤1426,比较目前的编码模式是否为EM_DM。如果是EM_DM,进入步骤1422。如果不是EM_DM,进入步骤1428,将PrevCh的值位移三个位并加上100,然后进入步骤1430,将PrevCh的八个位送出至输出字符串中。流程接着进入步骤1432。
如图1中所述的远程控制系统,当使用本发明的改善图像压缩及传送的方法时,具有许多的优点。倘若欲传送一计算机图像具有800*600的图像像素,而每一个像素使用16个位。假设使用JPEG算法具有15∶1的压缩比,经压缩后的图像资料,约为64,000字符大小。如果有2000个像素被分配在200个16*16的区块中,若仅使用JPEG算法,约需要6726个字节。如果使用RLEDMP时,即使仅利用直接编码法进行压缩,经压缩后的数据大小约仅为3000字节。若RLEDMP的压缩率为2∶1时,则仅需1500字节。故使用本发明的改善图像压缩及传送的方法,可大幅降低对于图像信号传输速率及网络频宽的需求,使在网络上有效传输压缩图像变得更为有效率。
本发明提供一种结合变动长度编码与三角调变编码的算法,更提供一种结合两种编码的可行方式。本发明的改善图像压缩及传送的方法,可根据不同的需求,决定所需的压缩方法,充分利用每一种压缩方法的优点,有效降低图像传输速率及网络频宽的需求。
如熟悉此技术的人员所了解的,以上所述仅为本发明的较佳实施例而已,并非用以限定本发明的保护范围;凡其它未脱离本发明所揭示的精神下所完成的等效改变或修饰,均应包含在本发明的权利要求所保护的范围之内。
权利要求
1.一种图像资料编码方法,使用于连续图像传输,具有减少编码后图像资料大小的功能,其特征在于,该图像资料编码方法至少包含(a)读取图1像与图2像;(b)使用模糊比较法,分析该图1像与该图2像;(c)根据分析结果,决定该图2像的编码算法;及(d)进行该图2像的编码。
2.如权利要求1所述的图像资料编码方法,其特征在于上述的步骤(a)至少包含(a1)将该图1像及该图2像,区分为多个区块,其中每一该区块还包含多个像素;及(a2)依序读取该图1像及该图2像的这些像素的图像资料。
3.如权利要求2所述的图像资料编码方法,其特征在于,上述的模糊比较法包含(b1)设定一模糊比较范围;(b2)分离该图1像及该图2像相对应像素的图像资料,使成为第一红色资料、第一绿色资料与第一蓝色资料,及第二红色资料、第二绿色资料与第二蓝色资料;(b3)当该第一红色资料减去该第二红色资料的绝对值小于等于该模糊比较范围,该第一绿色资料减去该第二绿色资料的绝对值小于等于该模糊比较范围,及该第一蓝色资料减去该第二蓝色资料的绝对值小于等于该模糊比较范围时,将该图2像与该图1像的该像素的图像资料视为相同;及(b4)当该第一红色资料减去该第二红色资料的绝对值,该第一绿色资料减去该第二绿色资料的绝对值,及/或该第一蓝色资料减去该第二蓝色资料的绝对值大于该模糊比较范围时,将该图2像与该图1像的该像素的图像资料视为不相同。
4.如权利要求3所述的图像资料编码方法,其特征在于上述的步骤(b1)包含(b1.1)直接比较该图1像及该图2像相对应像素的图像资料,获得一比较结果;(b1.2)当该比较结果为相同时,该像素的图像资料视为相同;及(b1.3)当该比较结果为不相同时,执行步骤(b1)至(b4)。
5.如权利要求3所述的图像资料编码方法,其特征在于上述的步骤(b)还包含(b5)记录该像素的图像资料视为相同的位置;(b6)记录该像素的图像资料视为不相同的位置,并记录该像素的图像资料;及(b7)储存一行图案指针与一相异图像资料,其中该行图案指针以0代表该像素的图像资料视为相同的位置,以1代表该像素的图像资料视为不相同的位置,该相异图像资料,记录该像素的图像资料视为不相同的位置的图像资料。
6.如权利要求5所述的图像资料编码方法,其特征在于上述的步骤(c)还包含(c1)统计这些视为不相同的位置;(c2)比较这些视为不相同的位置的数量与一预定的门槛;(c3)当该数量大于等于该预定的门槛时,使用JPEG算法将该图2像的该区块的图像资料编码;及(c4)当该数量小于该预定的门槛时,使用变动长度与三角调变编码算法将该行图案指针与该相异图像资料编码。
7.如权利要求6所述的图像资料编码方法,其特征在于上述的步骤(c4)还包含将该相异图像资料分离成为红绿蓝三种颜色的图像资料;及重新排列这些红蓝绿三种颜色的图像资料,使红色图像资料排列在一起,蓝色图像资料排列在一起,绿色图像资料排列在一起,而形成一线性数据,其中该线性数据具有多个字节,分别代表这些红色图像资料、蓝色图像资料及绿色图像资料。
8.如权利要求7所述的图像资料编码方法,其特征在于上述的变动长度与三角调变编码算法包含直接编码算法,于该数量小于一直接编码门槛时使用;三角调变编码算法,于该数量小于该预定的门槛但大于等于该直接编码门槛,且该线性数据的字节的变化量小于等于一预定变动的范围时使用;及变动长度编码算法,于该数量小于该预定的门槛但大于等于该直接编码门槛,且该线性数据的字节的变化量大于一预定变动的范围时使用,其中当相同图像资料,经过该三角调变编码算法与该变动长度编码算法所产生的编码后资料的长度,若大于该直接编码算法所产生的编码后资料的长度,则使用直接编码算法进行编码。
9.如权利要求8所述的图像资料编码方法,其特征在于上述的直接编码门槛为4。
10.如权利要求8所述的图像资料编码方法,其特征在于上述的预定变动的范围为-3至+3。
11.如权利要求8所述的图像资料编码方法,其特征在于上述的变动长度编码算法还包含,第一变动长度编码算法,具有处理连续相同的字节的能力。
12.如权利要求8所述的图像资料编码方法,其特征在于上述的变动长度编码算法还包含,第二变动长度编码算法,具有处理交错连续相同的字节的能力。
13.如权利要求6所述的图像资料编码方法,其特征在于上述的预定的门槛小于128,当每一区块的像素为16*16时。
14.如权利要求9所述的图像资料编码方法,其特征在于上述的预定的门槛为32。
15.如权利要求3所述的图像资料编码方法,其特征在于上述的模糊比较范围的预设值为2。
16.如权利要求1所述的图像资料编码方法,其特征在于上述的图像资料编码方法是在计算机切换器(Keyboard-Video-Mouse Switch;KVM Switch)经由网络、管理远程计算机时的图像传输上使用,使该图像传输所需的网络频宽降低。
17.一种图像资料编码方法,在一计算机切换器(Keyboard-Video-Mouse Switch;KVM Switch)经由网络、管理远程计算机时的连续图像传输上使用,具有减少编码后图像资料大小及降低该图像传输所需的网络频宽的功能,其特征在于,该图像资料编码方法至少包含读取相同位置的图1像区块与图2像区块;使用模糊比较法,分析该图1像区块与该图2像区块;根据分析结果,决定该图2像的编码算法;及进行该图2像的编码。
18.如权利要求17所述的图像资料编码方法,其特征在于上述的模糊比较法包含设定一模糊比较范围;直接比较该图1像区块及该图2像区块的图像资料,获得一比较结果;当该比较结果为相同时,该像素的图像资料视为相同;及当该比较结果为不相同时,分离该图1像及该图2像相对应像素的图像资料,使成为第一红色资料、第一绿色资料与第一蓝色资料,及第二红色资料、第二绿色资料第二蓝色资料;当该第一红色资料减去该第二红色资料的绝对值小于等于该模糊比较范围,该第一绿色资料减去该第二绿色资料的绝对值小于等于该模糊比较范围,及该第一蓝色资料减去该第二蓝色资料的绝对值小于等于该模糊比较范围时,将该图2像与该图1像的该像素的图像资料视为相同;及当该第一红色资料减去该第二红色资料的绝对值,该第一绿色资料减去该第二绿色资料的绝对值,及/或该第一蓝色资料减去该第二蓝色资料的绝对值大于该模糊比较范围时,将该图2像与该图1像的该像素的图像资料视为不相同。
19.如权利要求18所述的图像资料编码方法,其特征在于上述的模糊比较范围的预设值为2。
20.如权利要求18所述的图像资料编码方法,其特征在于上述的模糊比较法还包含记录该像素的图像资料视为相同的位置;记录该像素的图像资料视为不相同的位置,并记录该像素的图像资料;及储存一行图案指针与一相异图像资料,其中该行图案指针以0代表该像素的图像资料视为相同的位置,以1代表该像素的图像资料视为不相同的位置,该相异图像资料,记录该像素的图像资料视为不相同的位置的图像资料。
21.如权利要求20所述的图像资料编码方法,其特征在于上述的根据分析结果,决定该图2像的编码算法还包含统计这些视为不相同的位置;比较这些视为不相同的位置的数量与一预定的门槛;当该数量大于等于该预定的门槛时,使用JPEG算法将该图2像的该区块的图像资料编码;及当该数量小于该预定的门槛时,使用变动长度与三角调变编码算法将该行图案指针与该相异图像资料编码。
22.如权利要求21所述的图像资料编码方法,其特征在于上述的变动长度与三角调变编码算法包含将该相异图像资料分离成为红绿蓝三种颜色的图像资料;及重新排列红蓝绿三种颜色的图像资料,使红色图像资料排列在一起,蓝色图像资料排列在一起,绿色图像资料排列在一起,而形成一线性数据,其中该线性数据具有多个字节,分别代表这些红色图像资料、蓝色图像资料及绿色图像资料。
23.如权利要求22所述的图像资料编码方法,其特征在于上述的变动长度与三角调变编码算法还包含直接编码算法,于该数量小于4时使用;三角调变编码算法,于该数量小于32但大于等于4,且该线性数据的这些字节的变化量小于等于一预定变动的范围时使用;及变动长度编码算法,使用于该数量小于32但大于等于4,且该线性数据的字节的变化量大于一预定变动的范围时使用,其中当相同图像资料,经过该三角调变编码算法与该变动长度编码算法所产生的编码后资料的长度,若大于该直接编码算法所产生的编码后资料的长度,则使用直接编码算法进行编码。
24.如权利要求23所述的图像资料编码方法,其特征在于上述的预定变动的范围为-3至+3。
25.如权利要求23所述的图像资料编码方法,其特征在于上述的变动长度编码算法还包含,第一变动长度编码算法,具有处理连续相同的字节的能力。
26.如权利要求23所述的图像资料编码方法,其特征在于上述的变动长度编码算法还包含,第二变动长度编码算法,具有处理交错连续相同的字节的能力。
全文摘要
一种图像资料编码方法,用于连续图像的传输,依实际环境改变编码方法,具有降低编码后图像资料大小及降低网络频宽需求的功能。此方法包含,读取连续图像,使用模糊比较法比较连续图像的差异,分析图像的差异数量,依差异数量选择适合的编码算法,如JPEG或变动长度与三角调变编码,来进行图像压缩。其中模糊比较法,将图像撷取时的误差加以去除。本发明还可以仅针对相异图像资料进行编码,并依编码后最小长度的要求,进一步决定使用直接编码、三角调变编码或变动长度编码。
文档编号G06T9/00GK1477601SQ0212989
公开日2004年2月25日 申请日期2002年8月20日 优先权日2002年8月20日
发明者陈尚仲, 娄子正, 刘一力 申请人:宏正自动科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1