CN1925612A - 一种图形终端界面的编码和解码方法 - Google Patents

一种图形终端界面的编码和解码方法 Download PDF

Info

Publication number
CN1925612A
CN1925612A CN 200610112819 CN200610112819A CN1925612A CN 1925612 A CN1925612 A CN 1925612A CN 200610112819 CN200610112819 CN 200610112819 CN 200610112819 A CN200610112819 A CN 200610112819A CN 1925612 A CN1925612 A CN 1925612A
Authority
CN
China
Prior art keywords
present encoding
code word
pixel value
picture element
reference position
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.)
Granted
Application number
CN 200610112819
Other languages
English (en)
Other versions
CN100558166C (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.)
Dongguan Lianzhou Electronic Technology Co Ltd
Original Assignee
Institute of Computing Technology of CAS
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 Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN 200610112819 priority Critical patent/CN100558166C/zh
Publication of CN1925612A publication Critical patent/CN1925612A/zh
Application granted granted Critical
Publication of CN100558166C publication Critical patent/CN100558166C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种图形终端界面编码方法。该方法选择当前编码位置的参考位置,并统一设置位置标记。对当前编码位置进行编码时,首先搜索其参考位置的象素值。当前编码位置象素点的象素值未在其参考位置出现时,将当前编码位置的位置标记编入码字,将该码字编入码流,并随后将当前编码位置象素点的象素值编入码流。当前编码位置象素点的象素值在其参考位置出现时,将参考位置的位置标记编入码字,并向后搜索游程长度,并将该游程长度编入码字,将该码字编入码流。本发明的图形终端界面的编码及其解码算法简单、编码效率高、运算量小,对应用服务器和终端的计算能力要求不高,适合于计算能力较弱的终端设备。

Description

一种图形终端界面的编码和解码方法
技术领域
本发明涉及图形终端应用协议中的界面数据传输技术领域,更具体地说,本发明涉及一种图形终端界面数据传输中的编码和解码方法。
背景技术
随着网络基础设施和互联网络的迅速发展,各种终端设备包括PC、PDA、NC等的使用日益普及。使用网络终端访问网络上的各种应用已经成为人们获取信息和各种网络服务的重要方式。在各种访问方式中,通过图形终端应用协议使用网络上的各种图形界面的应用程序逐渐成为一种趋势,采用这种方式,可以大大降低各种软件和硬件的维护和管理成本。
在图形终端应用中,应用程序存放在终端服务器上,终端通过网络执行服务器上的应用程序。如图1所示,应用程序的图形界面在终端服务器上被绘制到虚屏幕中。终端同终端服务器之间的图形界面交互主要通过虚屏幕完成。终端服务器检查虚屏幕状态,如果虚屏幕的某些区域(图1中的阴影部分)数据发生改变,则终端服务器每隔固定时间间隔向终端传送发生变化区域(一般为一个矩形区域)的虚屏幕数据,并在终端屏幕上显示。虚屏幕的数据一般以BMP格式存放,顺序描述了虚屏幕中各个象素的象素值,象素值的位数(BPP)可以设置为8位、16位、24位或32位。
在图1所示的图形终端应用中,通过网络将屏幕数据从终端服务器向终端传输,对屏幕数据进行高效快速的编码压缩以便减少网络的数据传输量,则是图形终端应用协议的一项关键技术。在图形终端应用过程中,应用服务器上的图形界面数据压缩一般要求是无损压缩过程,数据格式为BMP格式。由于终端应用服务器同时处理多个用户图形界面,因此要求压缩算法必须简单快速,而终端则可能包括从PC到PDA的各种设备,这就要求解码算法也要尽可能的简单。另外在图形终端应用中,图形界面的数据传输将占用大量的网络带宽,提供尽可能高的压缩率也是压缩算法的一个基本要求。
发明内容
本发明的目的在于为BMP格式的图形界面数据提供一种简单快速的图形终端界面的编码和解码方法,并且尽可能提高压缩率。
为了实现上述目的,本发明提供一种图形终端界面编码方法,用于对终端服务器上矩形区域的虚屏幕数据进行编码,以便通过网络传输至终端。该方法包括:
选择当前编码位置的参考位置,并对当前编码位置和参考位置统一设置位置标记;所述参考位置在编码顺序中位于当前编码位置之前;
对某一当前编码位置进行编码时,首先搜索其参考位置的象素值,并比较当前编码位置与参考位置的象素点的象素值,然后根据两种情况进行编码:
当前编码位置象素点的象素值未在其参考位置出现时,将当前编码位置的位置标记编入当前编码位置象素点的码字;将该码字编入码流,并随后将当前编码位置象素点的象素值编入码流;
当前编码位置象素点的象素值在其参考位置出现时,将参考位置的位置标记编入当前编码位置象素点的码字,并向后搜索与当前编码位置象素点具有相同象素值的象素点的游程长度,并将该游程长度编入当前编码位置象素点的码字;将该码字编入码流;
对所述矩形区域从起始位置开始按顺序按前述方法进行编码,直至完成整个矩形区域的编码。在编码时,所述矩形区域的起始位置为该区域的左上角的象素点,其编码顺序为从左至右从上至下。
所述当前编码位置的参考位置分别为当前编码位置的左前一个位置、左上两个位置、正上两个位置、右上两个位置。所述当前编码位置及其参考位置的位置标记可用三个连续的二进制位表示,位于所述码字的高三位。
所述当前编码位置及其参考位置的位置标记分别为:左前一个位置为011,左上第一个位置为110,左上第二个位置为010,正上第一个位置为101,正上第二个位置为001,右上第一个位置为100,右上第二个位置为000,当前编码位置为111。
对参考位置象素值的搜索按照预定的顺序进行,当搜索过程中发现一个参考位置的象素值与当前编码位置的象素值相同时即停止搜索。
当前编码位置象素点的象素值在其参考位置出现时,所述当前编码位置象素点的码字还包括一游程长度标记位,用于标识游程长度在码字中所占据的位数。所述位置标记、游程长度标志位和游程长度在码字中顺序紧邻排列。
当前编码位置象素点的象素值在其参考位置出现时,所述当前编码位置象素点的码字由一个或两个字节组成,其中码字第一个字节高三位为参考位置的位置标记,随后是游程长度标记位,根据游程长度标记位的不同状态,采用第一个字节的低四位或该第一个字节的低四位和随后的一个字节为游程长度。
当前编码位置象素点的象素值未在其参考位置出现时,码字由一个字节组成,其中该字节的高三位为当前编码位置的位置标记,其它位为保留位。
所述矩形区域的调色板象素大于16。
本发明提供一种用于对前述编码方法进行编码后的数据进行解码的图形终端界面解码方法,该方法包括:
读取码流中当前解码位置的码字,所述当前解码位置与编码方法中的当前编码位置对应;
读取该码字中的位置标记,然后根据两种情况进行解码:
如果该读取的位置标记为编码方法中当前编码位置的位置标记,则将码流中紧随码字的象素值作为当前解码位置象素点的象素值;
如果该读取的位置标记为编码方法中一个参考位置的位置标记,则读取该码字中的游程长度n,将从当前解码位置开始的n个连续象素点的象素值设置为该位置标记对应的参考位置的象素值;
按顺序读取码流中的码字,直至完成整个数据的解码。
在读取所述码字中的游程长度时,要根据码字中的游程长度位置标记的状态,读取码流中不同长度的位作为游程长度。
本发明的图形终端界面的编码方法属于无损编码,该编码方法算法简单,对应用服务器和终端的计算能力要求都不高,而且相应的解码算法也相对简单,可以明显减少解码时的运算量,适合于计算能力较弱的移动终端设备。本发明的编码方法在编码过程中考虑图形界面的二维信息,被编码值可以根据当前位置的左前、左上、正上以及右上的7个点进行参考编码,减少编码图形界面数据的相关性,提高编码效率。
附图说明
图1是图形终端应用中虚屏幕数据的传输示意图;
图2是本发明的编码方法中选择当前编码位置的参考位置的一个实施例;
图3是对图2所示的当前编码位置及其参考位置的进行位置标记设置的一个实施例;
图4是本发明的编码方法中码字结构的示意图;其中图4(a)是对当前编码位置的直接编码,图4(b)是当前编码位置相对于参考位置的间接编码。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步详细描述。
在图形终端应用协议中,当终端服务器检测到虚屏幕区域发生改变后,在预设的计时器超时时,对发生变化区域的BMP数据采用本发明提供的方法进行编码,其中编码区域一般为矩形,描述参数为一四元数组(x,y,w,h),其中x和y表示此区域的左上角在虚屏幕上的坐标位置,w和h表示此区域的宽度和长度。在图形界面的绘制过程中,目前有两种典型的应用程序接口X和Windows,在这两种情况下,可以通过在其接口上加入钩子(Hook)函数,也就是对这些接口再进行一次包装,就可以记录下应用程序对屏幕的所有操作,而这些操作所涉及的区域就是发生变化的区域。通过钩子(Hook)函数即可获得编码区域的描述参数(x,y,w,h)。
在本发明中,对矩形编码区域的编码是从其左上角的象素点开始,按照从左至右、从上至下的顺序进行。
在编码的过程中,对当前编码位置象素点的编码需要参考其参考位置的编码,因此在这里首先需要定义当前编码位置的参考位置。如图2所示,在本发明的一个实施例中,共选择了7个参考位置,其中图2中的7号位置为当前编码位置,0~6号位置为当前编码位置的参考位置。图2中的参考位置分别为当前编码位置(7号)的左前一个位置(1号)、左上两个位置(2和4号)、正上两个位置(0和5号)、右上两个位置(3和6号)。从图2可知,参考位置在编码顺序中位于当前编码位置之前。
参考位置选择结束后,需要对当前编码位置和参考位置统一进行位置标记,以便在编码时将该位置标记编入码字中,而且在解码时也需要根据码字中的该位置标记来判断该码字是对当前编码位置的直接编码还是相对于参考位置的编码。位置标记的作用将在下文中更详细的说明。图3示出了本发明对参考位置进行位置标记的一个实施例,与图2的位置相对应,当前编码位置的位置标记为111,当前编码位置的左前一个位置为011,左上第一个位置为110,左上第二个位置为010,正上第一个位置为101,正上第二个位置为001,右上第一个位置为100,右上第二个位置为000。
当前编码位置及其参考位置的位置标记设置完成后,即可对待编码的矩形区域进行编码。本发明的编码策略为:
对某一当前编码位置进行编码时,首先要搜索其参考位置的象素值,一种示例性的搜索顺序为区域中当前编码位置的象素值依图2中的标号顺序从0到6依次比较。然后根据(A)和(B)两种情况进行编码:
(A)搜索结束后,当前编码位置象素点的象素值未在其参考位置出现,则将当前编码位置的位置标记编入当前编码位置象素点的码字;将该码字编入码流,并随后将当前编码位置象素点的象素值编入码流。
在该种情况的一个实施例中,对当前编码位置象素点的编码如图4(a)所示,包括码字和当前编码位置象素点的象素值两部分。其中在图4(a)所示的实施例中,码字占用一个字节,位置标记位于码字的高三位t765,即码字的5~7位,对应于前述的对当前编码位置设置的位置标记可知t765=111。码字中的其它位t43210在该编码方案中为保留位,在一个实施例中它们均被置零。在码字随后的BPP/8个字节存放当前编码位置象素点的象素值,其中BPP为每个象素点的BMP数据位数,且BPP=8/16/24/32。
(B)在搜索过程中,当前编码位置象素点的象素值在某一参考位置出现时,则停止搜索并将参考位置的位置标记编入当前编码位置象素点的码字,然后向后搜索与当前编码位置象素点具有相同象素值的象素点的游程长度,并将该游程长度编入当前编码位置象素点的码字;将该码字编入码流。
在该种情况的一个实施例中,对当前编码位置象素点的编码码字如图4(b)所示,码字的高三位t765存放与搜索到的参考位置的位置标记,并在该字节的低四位t3210存放游程长度。为了扩展该码字可存放的游程长度的范围,可将码字中的第四位t4作为游程长度标记位。当游程长度标记位t4被设置为0时,码字长度为一个字节,该字节的低四位表t3210示游程长度,可表示的最大游程为15;当游程长度标记位被设置为1时,码字长度为两个字节,码字中第一个字节的低四位t3210与随后的一个字节共12位表示游程长度,可表示的最大游程为4095。
对矩形区域从起始位置开始按顺序按照上述本发明的编码方法进行编码,并顺序编入码流,直至完成整个矩形区域的编码。
下面以一个具体的16×16象素的矩形块为例对本发明的编码方法进一步详细说明。如表1所示,第1列中的数字表示矩形块的行,第1行中的数字表示矩形块的列。表1中其它的元素表示象素,其数值表示该象素点的象素值。象素可用其对应的行数和列数作为坐标来表示,例如,第0行第8列的象素用(0,8)表示。在本实施例中,BPP=32,即象素值用四个字节表示。
                                                       表1
  0   1   2   3   4   5   6   7   8   9   10   11   12   13   14   15
  0   0   0   0   0   0   0   0   0   1   1   1   1   1   1   1   1
  1   2   2   2   2   3   3   3   3   3   3   3   3   3   3   4   4
  2   4   4   4   4   3   3   3   3   3   3   3   3   3   3   3   3
  3   5   5   5   5   4   4   4   4   6   6   6   6   6   6   6   6
  4   7   7   7   7   7   7   7   6   6   6   6   6   6   6   6   6
5 8 8 8 8 5 5 5 5 9 9 9 9 9 9 9 9
  6   10   10   10   10   10   10   10   10   11   11   11   11   12   12   12   12
  7   10   10   10   10   10   10   10   10   13   13   13   13   14   14   14   14
  8   15   15   15   15   15   15   15   15   15   15   15   15   15   15   15   15
  9   15   15   16   16   16   16   16   16   16   16   16   16   16   16   16   16
  10   16   16   16   16   16   16   16   16   15   15   15   15   15   15   16   16
  11   16   16   16   16   16   16   16   16   16   16   16   16   16   16   16   16
  12   16   16   16   16   16   16   16   16   16   16   16   16   16   16   16   16
  13   17   17   17   17   17   17   17   17   17   17   17   17   17   17   17   17
  14   17   17   17   17   17   17   17   17   17   17   17   17   17   17   17   17
  15   17   17   17   17   17   17   17   17   17   17   17   17   17   17   17   17
编码从(0,0)象素开始。从图2所示的参考位置可知,在表1所示的矩形区域中,(0,0)象素无参考位置,因此(0,0)象素点的象素值未能在参考位置出现,于是码字的高三位t765为当前编码位置的位置标记,在图3中可知该位置标记为111。码字中的其它位被置0,即码字为11100000。将该码字编入码流后,紧跟码字,将(0,0)象素的象素值(00000000,00000000,00000000,00000000)编入码流,完后(0,0)象素的编码。
然后,(0,1)象素成为当前编码位置,(0,0)象素为(0,1)象素的参考位置,且(0,1)象素与(0,0)象素的象素值相同。从图3的位置标记可知,(0,0)象素作为(0,1)象素的参考位置时,其位置标记为011,因此将011编入码字的高三位。从(0,1)象素到(0,7)象素连续7个象素具有具有相同的象素值,因此游程长度为7,该游程长度小于15,因此码字中的游程程度标志位置零,在码字中的低四位表示游程长度0111。最终,从(0,1)象素到(0,7)象素的编码的码字为01100111。
然后,(0,8)象素成为当前编码位置,继续按照本发明的编码方法进行编码。
当(2,4)象素成为当前编码位置时,在其参考位置上,(1,4)和(1,5)象素的象素值与(2,4)相同均为3。因为参考位置的搜索是从图2中的从0到6的顺序进行的,因此首先搜索到(1,4)象素的象素值与当前编码位置(2,4)象素的象素值相同,此时即可停止搜索。由图3可知,(1,4)象素作为(2,4)象素的参考位置时,其位置标记为101,因此将101编入当前编码的码字中的高三位。从(2,4)象素到(2,15)象素连续12个象素具有具有相同的象素值,因此游程长度为12,该游程长度小于15,因此码字中的游程程度标志位置零,在码字中的低四位表示游程长度1100。最终,从(2,4)象素到(2,15)象素的编码的码字为10101100。
当(13,0)象素成为当前编码位置时,其象素值为17,在其参考位置没有相同的象素值,于是码字的高三位t765为当前编码位置的位置标记,在图3中可知该位置标记为111。码字中的其它位被置0,即码字为11100000。将该码字编入码流后,紧跟码字,将(13,0)象素的象素值(00000000,00000000,00000000,00010001)编入码流,完后(13,0)象素的编码。
然后,(13,1)象素成为当前编码位置,在其参考位置上,(13,0)象素与当前编码位置(13,1)象素的象素值相同。从图3的位置标记可知,(13,0)象素作为(13,1)象素的参考位置时,其位置标记为011,因此将011编入码字的高三位。从(13,1)象素到(15,15)象素连续47个象素具有具有相同的象素值,因此游程长度为47,该游程长度大于15,因此码字中的游程程度标志位置为1,在码字中的低四位以及随后的一个字节共12为表示游程长度(0000 00101111)。最终,从(13,1)象素到(15,15)象素的编码的码字为(01110000 00101111)。
最后,按照本发明的方法进行编码后的整个矩形块的码流为:共952(bit)。
11100000,00000000,00000000,00000000,00000000,01100111,
11100000,00000000,00000000,00000000,00000001,01100111,
11100000,00000000,00000000,00000000,00000010,01100011,
11100000,00000000,00000000,00000000,00000011,01101001,
11100000,00000000,00000000,00000000,00000100,01100101,
10101100,
11100000,00000000,00000000,00000000,00000101,01100011,
11000100,
11100000,00000000,00000000,00000000,00000110,01100111,
11100000,00000000,00000000,00000000,00000111,01100110,
10001000,
11100000,00000000,00000000,00000000,00001000,01100011,
01000100,
11100000,00000000,00000000,00000000,00001001,01100111,
11100000,00000000,00000000,00000000,00001010,01100111,
11100000,00000000,00000000,00000000,00001011,01100011,
11100000,00000000,00000000,00000000,00001100,01100011,
10101000,
11100000,00000000,00000000,00000000,00001101,01100011,
11100000,00000000,00000000,00000000,00001110,01100011,
11100000,00000000,00000000,00000000,00001111,01110000,
00010001,
11100000,00000000,00000000,00000000,00010000,01110000,
00010101,01000110,10110000,00100010,
11100000,00000000,00000000,00000000,00010001,01110000,
00101111,
在了解本发明上述的编码方法之后,相应的解码方法也就是很明显的。在对码流进行解码时,读取码流中的一个码字(或者说一个字节),对码字中的位置标记进行判断,例如在前述的实施例中,该位置标记位于码字的高三位。当该位置标记是当前编码的位置标记时,在前述的实施例中即为111,则将码流中紧随码字的象素值作为当前解码位置象素点的象素值。当该位置标记为一个参考位置的位置标记时,在前述的实施例中为图3中定义的各参考位置的位置标记,则读取该码字中的游程长度n,将从当前解码位置开始的n个连续象素点的象素值设置为该位置标记对应的参考位置的象素值。当在码字中定义了游程长度标记位时,还要根据码字中的游程长度位置标记的状态,读取码流中不同长度的位作为游程长度。
相应于前述的编码实施例,在一个解码实施例中,可采用如下的解码步骤:
(1)取码字的高三位;
(2)如果码字的高三位的值为当前编码位置(也就是当前解码位置)的位置标记,即图3中的111,则当前位置的象素值从下一个字节开始;
(3)如果码字的高三位的值为当前编码位置(也就是当前解码位置)的参考位置的位置标记,即图3中除111外的其它值。继续读取码字中与位置标记相邻的游程长度标志位,即码字中的第四位t4
(I)当第四位t4为0时,表示码字长度为一个字节,读取码字中与游程长度标记位相邻的的低四位t3210的值作为游程长度;
(II)当第四位t4为1时,表示码字长度为两个字节,读取码字中与游程长度标记位相邻的随后12位值,即图4(b)中的t3210位和其随后的一个字节,作为游程长度,设该长度为n;
(4)将从当前解码位置开始的n个连续象素点的象素值设置为码字中的位置标记对应的参考位置的象素值将当前解码位置的象素值。特别是,当码字中的位置标记为011时,如图3所示,所设置的象素值和当前解码位置的前一位置象素值相同;当码字中的位置标记为011外的其它参考位置的位置标记时,所设置的象素值如下式所示的位置象素值相同:
               c-(2-t7)×w+(1-t65)
其中c为当前解码位置,t7为码字第七位的值,w为编码矩形区域的宽,t65为码字第六位和第五位的值。
(5)读取下一个码字,重复步骤(1)到(4)的过程直到解出所有码字。
虽然在上述的一个具体实施例中,描述了采用本发明的方法对一个16×16象素的矩形区域进行编码和解码,并选择了如图2所示的参考位置,而且采用了BPP=32位来描述一个象素点的象素值,但是本发明并不仅限于该实施例。本领域的一般技术人员可以理解,本发明也可用于其它大小的矩形区域的编码,例如在本发明的实施例中,游程长度最长用12个二进制位表示,其可表示的最大游程为4095,因此任何不超过4096个象素点的矩形区域均可采用本发明的方法。而且,对于更大的矩形区域,可以通过划分为多个小的矩形区域以便采用本发明的方法。本领域的一般技术人员也可以理解,本发明可以采用其它的例如8/16/24位来描述象素值,这些变化都应该包含在本发明的技术方案之内。
在本发明中,对待编码的矩形区域中所包含的调色板象素个数(即该矩形区域中所包含的不同的象素值的个数)不作限制,但是本发明优选应用于调色板象素个数大于16的矩形区域。对于调色板象素个数小于等于16的情况,优选采用现有的一些编码方案。如图4(a)所示,当前编码位置象素点的象素值未在其参考位置出现时,本发明的码字中还留有一些保留位t43210,可用于与其它现有的编码方法的接口,通过定义这些保留位可以方便地将本发明的技术方案与现有的一些编码方案结合在一起使用,以便获得更好的效果。例如,如下所示的一个优选的编码方案:
(a1)如果整个矩形块为一种颜色,则直接设置码字为(11110000),即将保留位t43210设置位10000,随后用(BPP/8)字节存放当前象素值,返回。
(a2)如果整个矩形区域的调色板象素个数大于1而小于或等于16,则设置码字高四位为(1111),低四位为调色板象素个数,即将保留位设置为(1+调色板象素个数)。随后用(BPP/8×调色板象素个数)字节存放调色板象素值,随后为象素索引值,返回。其中,如果:
调色板象素个数为2,则用1位代表一个索引;
调色板象素个数为〔3…4〕,则用2位代表一个索引;
调色板象素个数为〔5…16〕,则用4位代表一个索引。
(a3)如果整个矩形区域的调色板象素个数大于16,直接采用本发明中提供的编码方法进行编码。
相应的解码方案为:
(b1)取码字的高三位;
(b2)如果码字的高三位的值为111,
取码字第四位,如果为1,
取码字低四位,如果为0,
表示整个矩形区域为一个象素值,象素值从下一个字节开始;
否则
表示整个矩形块的调色板象素个数小于16,象素值从下一个字节开始,个数为码字低四位值,接下来为整个矩形块每个象素的调色板索引,索引位数随调色板象素个数不同而不同;
否则
按本发明提供的解码方法进行解码;
(b3)如果码字的高三位的值不为111,则按本发明提供的解码方法进行解码。

Claims (13)

1、一种图形终端界面编码方法,用于对终端服务器上矩形区域的虚屏幕数据进行编码,以便通过网络传输至终端;该方法包括:
选择当前编码位置的参考位置,并对当前编码位置和参考位置统一设置位置标记;所述参考位置在编码顺序中位于当前编码位置之前;
对某一当前编码位置进行编码时,首先搜索其参考位置的象素值,并比较当前编码位置与参考位置的象素点的象素值,然后根据两种情况进行编码:
当前编码位置象素点的象素值未在其参考位置出现时,将当前编码位置的位置标记编入当前编码位置象素点的码字;将该码字编入码流,并随后将当前编码位置象素点的象素值编入码流;
当前编码位置象素点的象素值在其参考位置出现时,将参考位置的位置标记编入当前编码位置象素点的码字,并向后搜索与当前编码位置象素点具有相同象素值的象素点的游程长度,并将该游程长度编入当前编码位置象素点的码字;将该码字编入码流;
对所述矩形区域从起始位置开始按顺序按前述方法进行编码,直至完成整个矩形区域的编码。
2、根据权利要求1所述的图形终端界面编码方法,其特征在于,所述矩形区域的起始位置为该区域的左上角的象素点,其编码顺序为从左至右从上至下。
3、根据权利要求2所述的图形终端界面编码方法,其特征在于,所述当前编码位置的参考位置分别为当前编码位置的左前一个位置、左上两个位置、正上两个位置、右上两个位置。
4、根据权利要求3所述的图形终端界面编码方法,其特征在于,所述当前编码位置及其参考位置的位置标记用三个连续的二进制位表示,位于所述码字的高三位。
5、根据权利要求3所述的图形终端界面编码方法,其特征在于,所述当前编码位置及其参考位置的位置标记分别为:左前一个位置为011,左上第一个位置为110,左上第二个位置为010,正上第一个位置为101,正上第二个位置为001,右上第一个位置为100,右上第二个位置为000,当前编码位置为111。
6、根据权利要求1所述的图形终端界面编码方法,其特征在于,对参考位置象素值的搜索按照预定的顺序进行,当搜索过程中发现一个参考位置的象素值与当前编码位置的象素值相同时即停止搜索。
7、根据权利要求1所述的图形终端界面编码方法,其特征在于,当前编码位置象素点的象素值在其参考位置出现时,所述当前编码位置象素点的码字还包括一游程长度标记位,用于标识游程长度在码字中所占据的位数。
8、根据权利要求7所述的图形终端界面编码方法,其特征在于,当前编码位置象素点的象素值在其参考位置出现时,所述位置标记、游程长度标志位和游程长度在码字中顺序紧邻排列。
9、根据权利要求1所述的图形终端界面编码方法,其特征在于,当前编码位置象素点的象素值在其参考位置出现时,所述当前编码位置象素点的码字由一个或两个字节组成,其中码字第一个字节高三位为参考位置的位置标记,随后是游程长度标记位,根据游程长度标记位的不同状态,采用第一个字节的低四位或该第一个字节的低四位和随后的一个字节为游程长度。
10、根据权利要求1所述的图形终端界面编码方法,其特征在于,当前编码位置象素点的象素值未在其参考位置出现时,码字由一个字节组成,其中该字节的高三位为当前编码位置的位置标记,其它位为保留位。
11、根据权利要求1或10所述的图形终端界面编码方法,其特征在于,所述矩形区域的调色板象素大于16。
12、一种对用权利要求1所述编码方法进行编码后的数据进行解码的图形终端界面解码方法,该方法包括:
读取码流中当前解码位置的码字,所述当前解码位置与编码方法中的当前编码位置对应;
读取该码字中的位置标记,然后根据两种情况进行解码:
如果该读取的位置标记为编码方法中当前编码位置的位置标记,则将码流中紧随码字的象素值作为当前解码位置象素点的象素值;
如果该读取的位置标记为编码方法中一个参考位置的位置标记,则读取该码字中的游程长度n,将从当前解码位置开始的n个连续象素点的象素值设置为该位置标记对应的参考位置的象素值;
按顺序读取码流中的码字,直至完成整个数据的解码。
13、根据权利要求12所述的图形终端界面解码方法,其特征在于,在读取所述码字中的游程长度时,要根据码字中的游程长度位置标记的状态,读取码流中不同长度的位作为游程长度。
CN 200610112819 2006-09-04 2006-09-04 一种图形终端界面的编码和解码方法 Expired - Fee Related CN100558166C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200610112819 CN100558166C (zh) 2006-09-04 2006-09-04 一种图形终端界面的编码和解码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200610112819 CN100558166C (zh) 2006-09-04 2006-09-04 一种图形终端界面的编码和解码方法

Publications (2)

Publication Number Publication Date
CN1925612A true CN1925612A (zh) 2007-03-07
CN100558166C CN100558166C (zh) 2009-11-04

Family

ID=37818033

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200610112819 Expired - Fee Related CN100558166C (zh) 2006-09-04 2006-09-04 一种图形终端界面的编码和解码方法

Country Status (1)

Country Link
CN (1) CN100558166C (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009117915A1 (zh) * 2008-03-27 2009-10-01 Yu Peining 一种图像的存储处理方法
WO2015135484A1 (en) * 2014-03-14 2015-09-17 Mediatek Inc. Method of color index coding with palette stuffing
CN106797484A (zh) * 2014-10-07 2017-05-31 高通股份有限公司 用于基于调色板的视频译码的调色板索引二进制化

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102299718A (zh) * 2010-06-25 2011-12-28 汉王科技股份有限公司 手写终端轨迹的压缩和解压方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1235411C (zh) * 2003-10-17 2006-01-04 中国科学院计算技术研究所 基于流水线的帧内预测模式块编码加速方法
CN100474932C (zh) * 2003-12-30 2009-04-01 中国科学院计算技术研究所 基于最佳预测模式概率的视频帧内图像快速编码方法
CN1287600C (zh) * 2004-05-17 2006-11-29 中国科学院计算技术研究所 一种树形块结构及多帧参考的运动估计方法和装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009117915A1 (zh) * 2008-03-27 2009-10-01 Yu Peining 一种图像的存储处理方法
WO2015135484A1 (en) * 2014-03-14 2015-09-17 Mediatek Inc. Method of color index coding with palette stuffing
CN106105229A (zh) * 2014-03-14 2016-11-09 寰发股份有限公司 具有调色板填充的颜色索引编码的方法
US9788004B2 (en) 2014-03-14 2017-10-10 Hfi Innovation Inc. Method of color index coding with palette stuffing
CN106105229B (zh) * 2014-03-14 2019-03-15 寰发股份有限公司 使用调色板编码来编码视频数据的块的方法及装置
CN106797484A (zh) * 2014-10-07 2017-05-31 高通股份有限公司 用于基于调色板的视频译码的调色板索引二进制化

Also Published As

Publication number Publication date
CN100558166C (zh) 2009-11-04

Similar Documents

Publication Publication Date Title
CN1625893A (zh) 利用变长色码对调色板处理的彩色图像进行压缩
CN1213611C (zh) 利用小波变换的视频编码方法
CN1104094C (zh) 数据压缩方法和设备
CN1825978A (zh) 利用基数近似或利用差分码和转义码的帧压缩
CN1225777A (zh) 图象编码装置和图象解码装置
CN1761322A (zh) 选择参考图像的方法
CN100348045C (zh) 析像度变换方法及装置
WO2002069248A1 (en) Graphic image re-encoding and distribution system and method
CN101034891A (zh) 基于cabac的编码方法和设备及解码方法和设备
CN1292594C (zh) 使用多个扫描图形的编码和解码方法及装置
CN1658675A (zh) 一种应用硬件实现运动估计时的搜索窗数据读取方法
CN1135848C (zh) 图像传输中的方法与装置
CN1618235A (zh) 用于防止起始码模仿和数据填充的方法和系统
CN1256848C (zh) 用于译码可变长度编码的装置和方法
CN1251492C (zh) 利用基数近似或利用差分码和转义码的帧压缩
CN1925612A (zh) 一种图形终端界面的编码和解码方法
CN1495603A (zh) 用操作指令编码的计算机可读介质
CN1473434A (zh) 图像编码装置和图像编码方法
CN1708135A (zh) 用于预测视频数据单元的直流系数的方法和设备
CN1650625A (zh) 用于将参数值映像到码字索引的自适应方法和系统
CN100350751C (zh) Turbo解码装置
CN1878310A (zh) 图像编码和解码方法和装置以及计算机可读记录介质
CN101043632A (zh) 一种图像编解码方法及系统
CN1204752C (zh) 存储和处理时间上顺序排列图象的图象信息的方法和装置
CN1263224C (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
ASS Succession or assignment of patent right

Owner name: DONGGUAN LIANZHOU ELECTRONIC TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: INSTITUTE OF COMPUTING TECHNOLOGY, CHINESE ACADEMY OF SCIENCES

Effective date: 20130116

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100080 HAIDIAN, BEIJING TO: 523000 DONGGUAN, GUANGDONG PROVINCE

TR01 Transfer of patent right

Effective date of registration: 20130116

Address after: 523000 Yuquan Industrial Zone, Fenggang Town, Guangdong, Dongguan

Patentee after: Dongguan Lianzhou Electronic Technology Co., Ltd.

Address before: 100080 Haidian District, Zhongguancun Academy of Sciences, South Road, No. 6, No.

Patentee before: Institute of Computing Technology, Chinese Academy of Sciences

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

Granted publication date: 20091104

Termination date: 20150904

EXPY Termination of patent right or utility model