CN100484250C - 图像编码装置和方法 - Google Patents
图像编码装置和方法 Download PDFInfo
- Publication number
- CN100484250C CN100484250C CNB2006100824505A CN200610082450A CN100484250C CN 100484250 C CN100484250 C CN 100484250C CN B2006100824505 A CNB2006100824505 A CN B2006100824505A CN 200610082450 A CN200610082450 A CN 200610082450A CN 100484250 C CN100484250 C CN 100484250C
- Authority
- CN
- China
- Prior art keywords
- pixel
- coding
- value
- encoded
- object pixel
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods 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/93—Run-length coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
根据本发明的图像编码装置和方法,使用预测编码单元和游程长度编码单元对数据高效地进行编码。预测编码单元根据目标像素的值与从邻近目标像素的像素所计算的预测值之间的差对目标像素X进行编码。当包含在靠近目标像素X的四个像素“a”、“b”、“c”、和“d”中的颜色数量为1时,游程长度编码单元开始测量游程,并且当目标像素与紧邻在前的像素“a”不同时,输出游程的编码数据。然后,预测编码单元开始编码。此时,由于目标像素与在前的像素不同,因此,将在前的像素排除在用于生成预测值的参照之外。替代在前像素,参照满足特定条件的已经编码的像素。
Description
技术领域
本发明涉及编码图像数据的技术。
背景技术
作为传统的图像编码方法,已经提出基于预测编码的方法。该预测编码方法包括通过预测变换将图像数据变换成预测误差的序列变换单元、以及将从序列变换单元输出的预测误差变换成较少冗余的编码数据的熵编码单元。
作为使用预测编码方案的例子,国际标准JPEG-LS(ITU-T T.87|ISO/IEC 14495-1)是公知的。
JPEG(ITU-T T.81|ISO/IEC 10918-1)定义了一种独立函数基于预测编码的无损编码方案。该无损编码方案称作JPEG无损编码模式。在JPEG无损编码模式中,定义了7个预测方程式作为从邻近像素预测关注像素(目标像素)的值的方法,并且预测方法可以根据图像来选择。
图2是表示传统图像处理装置的方框图。图2示出在上述JPEG无损编码模式中无损压缩图像的装置示例。在图2中,参考标号201表示缓冲器,202表示分量值预测单元,203表示减法器,204表示霍夫曼表格(Huffman table)存储器,205表示预测误差编码单元,209表示码流形成单元,并且206、207、和208表示信号线。
霍夫曼表格存储器204存储在预测误差编码单元205中使用的霍夫曼表格。假定霍夫曼表格存储器204存储图6所示的霍夫曼表格。
下面将参照图2描述传统图像处理装置编码其每一个分量都用8位表示的RGB彩色图像时的处理流程。
用于选择在分量值预测单元202中使用的预测方法的预测选择信号m从信号线208输入。预测选择信号m为0到7的整数值,并且各个值相应于不同的预测方程式。当对一个图像进行编码时,预测选择信号m不变并保持固定。图4示出所使用的预测方程式和预测选择信号m之间的对应关系。在预测选择信号m为0时,没有定义预测方程式。这意味着对每一个分量都直接进行编码而不执行任何预测变换。下面将说明图4中的符号″p、″a″、″b″、以及″c″。
图像数据从信号线206顺序输入。图像数据输入顺序为光栅扫描顺序,并且每一个像素的分量数据按照R、G、B的顺序输入。R、G、B分量分别定义为0、1、2的分量号。图像的左上角定义为坐标(0,0),并且在水平像素位置x和垂直像素位置y处像素的第C号分量的值用P(x,y,C)表示。例如,当在位置(x,y)=(3,4)处的像素具有(R,G,B)=(255,128,0)时,则P(3,4,0)=255,P(3,4,1)=128,并且P(3,4, 2)=0。
缓冲器201具有存储从信号线206输入的两行图像数据的容量。
当关注像素的分量值x=P(x,y,C)时,分量值预测单元202从缓冲器201提取紧邻的前一个像素的相同分量的值″a″=P(x-1,y,C),一行之前的像素的相同分量的值″b″=P(x,y-1,C),以及斜对的左上方的像素的相同分量的值″c″=P(x-1,y-1,C)。分量值预测单元202根据预测方案选择信号m生成预测值″p″。图3示出″a″、″b″、″c″和关注像素的分量值x之间的位置关系。应该指出的是当″a″、″b″、和″c″在图像之外时,将它们设置为0。
减法器203计算预测值p和待编码的分量值x之间的差值,并将其作为预测误差e输出。
预测误差编码单元205将从减法器203输入的预测误差e分成多个组,并生成为每一个组定义的位长度的组号SSSS和具有某个位长度的附加(overhead)位。图5示出预测误差e和组号SSSS之间的关系。附加位是用于指定组中的预测误差的信息,并且位长度由组号SSSS给出。应该指出的是,对于SSSS=16,位长度例外地为0(当每一分量的精度为8位时,不生成SSSS=16)。如果预测误差e为正,则预测误差e的低SSSS位为附加位;如果预测误差e为负,则e-1的低SSSS位为附加位。附加位的MSB(最高有效位)对于正预测误差e为1,而对于负预测误差e为0。在编码处理中,与组号SSSS对应的编码数据通过查找存储在霍夫曼表格存储器204中的霍夫曼表格输出。当SSSS既不是0也不是16时,输出由组号定义的位长度的附加位。
码流形成单元209从预测误差编码单元205输出的编码数据和附加信息(例如通过信号线208输入的预测选择信号m、图像的水平和垂直像素的数量、形成像素的分量的数量、以及每一个分量的精度)形成符合JPEG标准格式的码流。码流形成单元209将码流输出到信号线207。
除了预测编码之外,游程长度编码也是公知的。根据游程长度编码,当关注像素与先前编码的像素匹配时,对表示匹配像素的数量的信息进行编码。当相同的像素在一幅图像中游走时,该编码具有较高的编码效率。
编码的目的是降低原始图像的数据量,而无损编码的目的是生成能够完全解码成原始图像的码。当对一幅图像进行无损编码时,更希望局部地采用预测编码技术和游程长度编码技术,而不是仅应用它们中的一种。
但是,还没有建立切换使用这些编码技术来对数据进行高效编码的方法。
发明内容
鉴于上述情形完成了本发明,并且本发明的目的是提供一种在有选择地使用编码每一个像素和游程长度编码来执行编码时能够对数据进行高效编码的技术。
为了解决上述问题,根据本发明的图像编码装置具有下述结构。
也就是说,本发明提供一种对像素值进行编码的图像编码装置,包括:
第一编码单元,使用编码像素的值对目标像素的值进行编码;
第二编码单元,对目标像素和紧邻在前的像素具有相同值的像素个数进行计数作为游程,并根据所计数的游程输出编码数据;以及
切换单元,在通过第一编码单元进行的编码和通过第二编码单元进行的编码之间切换,
其中,当紧接目标像素前面的像素的值通过第二编码单元进编码时,第一编码单元通过使用不包括紧邻在前的像素的编码像素的值对目标像素进行编码,并且当紧邻在前的像素的值不是通过第二编码单元编码时,通过使用包括紧邻在前的像素的编码像素的值对目标像素进行编码。
通过下面结合附图的详细描述,本发明的其它特征和优点将更加清楚,其中在整个附图中相似的参考符号表示相同或类似的部件。
附图描述
包含在并作为本说明书的一部分的附图示出了本发明的实施例,并且与下面的描述一起用于解释本发明的原理。
图1示出根据第一实施例的图像处理装置的方框图;
图2示出预测编码装置的方框图;
图3是表示在执行预测编码时关注像素X和周围像素″a″、″b″、″c″、″d″之间的位置关系的图;
图4是表示与预测选择信号m相对应的预测方程式的表格;
图5是表示预测误差e和组号SSSS之间的对应关系的表格;
图6是表示组号SSSS和码字之间的对应关系的表格;
图7是表示向量信息和码字之间的示例对应关系的表格;
图8A至8C每一个示出在该实施例中像素-编码数据的数据结构;
图9示出在该实施例中编码数据的输出码流的数据结构;
图10示出在该实施例中预测分量值编码单元103的方框图;
图11示出在该实施例中邻近匹配信息编码单元102的方框图;
图12是表示在该实施例中向量信息和邻近像素状态信息之间的对应关系的表格;
图13示出其中通过第一实施例中的编码产生效果的图像示例;
图14示出当该实施例中的处理通过计算机程序实现时计算机的方框图;
图15A至15C是分别示出向量信息和针对每一个颜色计数Nc的码之间的关系的表格;
图16是表示Golomb编码示例的表格;
图17示出第一实施例中的处理由计算机程序实现时编码处理过程的流程图;
图18示出在第一实施例中当关注像素X结束游程时参照像素″f″、″b″、″c″、和″d″的位置;
图19示出根据第二实施例的编码处理过程的流程图;
图20是表示在第二实施例中编码期间的状态表的表格;
图21示出根据第三实施例的编码处理过程的流程图;
图22是表示在第三实施例中有效图像的示例的图;
图23是表示在第三实施例中关注像素Xa和替代像素Xa的像素Xf的数据内容的表格;
图24示出第一实施例中的颜色计数确定单元的方框图;
图25示出第一实施例中的解码处理过程的流程图;
图26示出根据第四实施例的图像处理装置的方框图;以及
图27示出根据第四实施例的编码处理过程的流程图。
具体实施方式
下面将参照附图详细描述本发明的优选实施例。
[第一实施例]
图1示出根据第一实施例的图像编码装置的方框图。如图1所示,根据第一实施例的图像处理装置包括颜色计数确定单元101、邻近匹配信息编码单元102、预测分量值编码单元103、游程长度编码单元104、码生成单元105、切换器106、码流形成单元107、以及缓冲器201。在图1中,参考标号108、109、110、206、和207表示信号线。相同的参考标号表示执行与传统图像处理装置的处理块相同操作的块,在此将省略其描述。将解释图1的装置中的图像编码处理。在第一实施例中,预测选择信号m=4。
将要由第一实施例的图像处理装置编码的图像数据是R、G、B颜色的图像数据。从用8位表示0到255的辉度值(多值)的像素数据形成每一个分量(颜色分量)。应该指出的是第一实施例针对RGB彩色图像,但是也可以针对在一个像素中具有多个分量的图像(例如CMYK彩色图像)或者单色多值图像。待编码的图像数据具有W个水平像素和H个垂直像素。输入图像数据具有W×H×3字节的数据量。水平向右方向定义为X坐标的正方向,垂直向下方向定义为Y坐标的正方向。输入图像数据的输入顺序是光栅顺序,并且通过按照R、G、B的顺序布局数据来形成每一个像素。
现在将描述根据第一实施例的图像处理装置中的每一个单元的操作。
待编码的图像数据从信号线206顺序输入并存储在缓冲器201(具有两行的容量)中。像素数据的输入顺序为光栅扫描顺序,并且每一个像素的分量数据按照R、G、B的顺序输入。R、G、B分量分别定义为0、1、2的分量号。图像的左上角定义为坐标(0,0),并且在水平向右像素位置x和垂直向下像素位置y处像素的第C号分量的值用P(x,y,C)表示。例如,当在位置(x,y)=(3,4)处的像素具有(R,G,B)=(255,128,0)时,则P(3,4,0)=255,P(3,4,1)=128,并且P(3,4,2)=0。
如图24所示,颜色计数确定单元101包括颜色计数计算单元101a、选择器101b、寄存器101c、以及锁存器101d。寄存器104c、锁存器101d、以及选择器101b将在下文中详细描述。在下面的描述中,选择器101b选择数据″a″并将其输出到颜色计数计算单元101a。
对于关注像素X(目标像素)的每一个分量,颜色计数计算单元101a从缓冲器201接收图3中的四个周围像素″a″、″b″、″c″、和″d″的值,获取像素Xa、Xb、Xc、和Xd。假定(x,y)为关注像素的位置,则Xa、Xb、Xc、和Xd如下表示:
Xa=(P(x-1,y,0),P(x-1,y,1),P(x-1,y,2))
Xb=(P(x,y-1,0),P(x,y-1,1),P(x,y-1,2))
Xc=(P(x-1,y-1,0),P(x-1,y-1,1),P(x-1,y-1,2))
Xd=(P(x+1,y-1,0),P(x+1,y-1,1),P(x+1,y-1,2))
颜色计数计算单元101a检测包含在四个像素Xa、Xb、Xc、和Xd中的颜色类型的数量,并将颜色计数Nc输出到信号线109上。更具体地说,颜色计数计算单元101a从每一对通过从四个像素中提取两个像素所准备的六对(Xa,Xb)、(Xa,Xc)、(Xa,Xd)、(Xb,Xc)、(Xb,Xd)、和(Xc,Xd)中对具有相同颜色的所提取的像素对进行计数。如果计数为″0″,则颜色计数计算单元101a确定存在四种颜色,如果为″1″则存在三种颜色,如果为″2″或者″3″则存在两种颜色,如果为″6″则存在一种颜色。颜色计数计算单元101a将颜色计数Nc输出到信号线109上。
邻近匹配信息编码单元102根据通过信号线109输入的颜色计数Nc、关注像素X、以及邻近像素Xa、Xb、Xc、和Xd生成邻近像素状态信息和向量信息。邻近匹配信息编码单元102输出邻近像素状态信息到信号线108上。邻近匹配信息编码单元102对向量信息进行内部编码并输出码字到信号线110上。
图11示出该实施例中的邻近匹配信息编码单元102的更加详细的内部结构方框图。如图11所示,邻近匹配信息编码单元102包括邻近匹配确定单元1101、匹配像素位置编码单元1102、以及选择器1104。参考标号1103表示信号线。设置选择器1104的原因将在下文中详细描述。在此,选择器1104选择数据″a″。
下面将参照图11描述在邻近匹配信息编码单元102中执行的处理。
将描述从邻近匹配确定单元1101输出到信号线1103的向量信息。
邻近匹配确定单元1101生成向量信息,用于指示在四个周围像素(Xa、Xb、Xc、和Xd)中是否存在与关注像素X具有相同颜色的像素,并且当存在匹配像素时,指示像素的相对位置。邻近匹配确定单元1101输出向量信息到信号线1103上。向量信息根据通过信号线109输入的颜色计数Nc确定。将针对各个颜色计数Nc描述邻近匹配确定单元1101的处理。
当颜色计数Nc为4时,即,Xa、Xb、Xc、和Xd都具有不同的像素值,则邻近匹配确定单元1101无条件地输出″4″作为向量信息。
当颜色计数Nc为1时,即,Xa到Xd具有相同的颜色,则将关注像素X与邻近像素Xa进行比较。如果X=Xa,则邻近匹配确定单元1101输出″0″作为向量信息;如果X≠Xa,则输出″1″。
当颜色计数Nc为2时,即,在Xa到Xd中存在各具有相同颜色的两对,则按照Xa、Xb、Xc、和Xd的顺序获取第一像素值(颜色)X1和与X1不同的第二像素值X2。如果X=X1,则邻近匹配确定单元1101输出″0″作为向量信息;如果X=X2,则输出″1″;如果X≠X1且X≠X2,则输出″2″。按照Xa、Xb、Xc、和Xd的顺序,第一像素X1为Xa。第二像素X2为Xb、Xc、和Xd中具有与Xa不同值的一个。
当颜色计数Nc为3时,即,在Xa到Xd中存在一对具有相同的颜色,则按照Xa、Xb、Xc、和Xd的顺序获取第一像素值X1、第二像素值X2、和第三像素值X3。如果X=X1,则邻近匹配确定单元1101输出″0″作为向量信息;如果X=X2,则输出″1″;如果X=X3,则输出″2″;如果X≠X1、X≠X2且X≠X3,则输出″3″。按照Xa、Xb、Xc、和Xd的顺序,像素X1为Xa。第二像素X2为按照Xb、Xc、和Xd的顺序第一次与Xa不匹配的像素。像素值X3为X2之后且不与X2匹配的像素。
将描述从邻近匹配确定单元1101输出到信号线108上的邻近像素状态信息。
邻近像素状态信息表示在四个邻近像素中是否存在与关注像素X具有相同颜色的像素。更具体地说,邻近匹配确定单元1101比较输出到信号线1103上的向量信息与通过信号线109输入的颜色计数Nc。如果向量信息与颜色计数Nc一致,则邻近匹配确定单元1101输出″0″到信号线108上作为邻近像素状态信息;否则,输出″1″。对于颜色计数Nc=4,邻近匹配确定单元1101总是输出″1″。对于颜色计数Nc≠4(=3或者更小),如果关注像素X与四个周围像素Xa、Xb、Xc、和Xd中的任何一个都不匹配,则邻近匹配确定单元1101输出″1″;如果关注像素X与它们中的至少一个匹配,则输出″0″。
图12示出向量信息和邻近像素状态信息之间的关系。从图12中可以明显看出,当靠近关注像素X的四个像素中的颜色计数Nc为3或者更小、并且四个邻近像素包含至少一个具有与关注像素X相同颜色的像素时,邻近像素状态信息为″0″。换句话说,当在N(在第一实施例中N=4)个靠近关注像素X的像素中存在具有相同颜色的至少一对像素、并且关注像素X具有与邻近像素的任何一个相同的颜色时,邻近像素状态信息为″0″。
返回图11,匹配像素位置编码单元1102编码从信号线1103输入的向量信息,并输出所得到的码字到信号线110上。在第一实施例中,匹配像素位置编码单元1102在图15A至15C的码表之间进行切换,并根据颜色计数Nc使用所选择的一个。当颜色计数Nc为4时,匹配像素位置编码单元1102不输出任何码。即使匹配像素位置编码单元1102输出任何码,该码也不用作最终图像数据的码字,这将在下文中描述。
通过上述操作,向量信息的码字输出到信号线110上,并且邻近像素状态信息输出到信号线108上。
返回图1,根据来自邻近匹配信息编码单元102的邻近像素状态信息(信号线108上的信号)和向量信息的码字(信号线110上的信号)、以及来自预测分量值编码单元103的码字,码生成单元105生成待输出的码字。码生成单元105将码字输出到切换器106。上面已经描述了邻近匹配信息编码单元102,下面将描述预测分量值编码单元103。
分量值的预测编码可以采用JPEG无损编码模式、或者在无损编码和接近无损编码的国际标准JPEG-LS(ITU-T T.87|ISO/IEC 14495-1)中描述为常规模式的方案。为了便于描述,将说明其简单结构。
图10示出预测分量值编码单元103的内部结构中的子模块的方框图。如图10所示,预测分量值编码单元103包括分量值预测单元202、减法器203、预测误差编码单元701、以及选择器702。参考标号108表示用于输入上述邻近像素状态信息的信号线。设置选择器702的原因将在下文中描述。在此,选择器702选择数据″a″。相同的参考标号表示执行与在背景技术中参照图2描述的处理模块相同功能的模块,在此省略其详细描述。
通过与上述传统方案相同的操作,分量值预测单元202对每一个分量从关注像素X周围的像素的值″a″、″b″、和″c″生成预测值p。减法器203从关注像素的分量值x(x为R、G、B中的一个)生成差值(预测误差)e=x-p,并将预测误差e输入到预测误差编码单元701。在第一实施例中,将输入到分量值预测单元202的预测选择信号m设置为固定值″4″,并且所有的分量值通过方程式″a+b-e″来预测。预测误差编码单元701使用Golomb编码对预测误差e进行编码。
Golomb编码对非负整数值进行编码,并且作为其特征,能够根据参数变量k实现基于不同概率模型的编码。Golomb编码能够从待编码的符号和参数变量k导出码字,而无需任何码表。Golomb编码的一种形式在ISO和ITU-T推荐为国际标准的JPEG-LS(ISO/IEC14495-1|ITU-TReeommendation T-87)中用作预测误差编码方案。在第一实施例中,根据下面的方程式将从减法器203输出的预测误差e变换成非负整数值(定义为V),并且通过所选择的参数k对V进行Golomb编码:
对于e≥0,V=2×e
对于e<0,V=-2×e-1
以编码参数k对非负整数值V进行的Golomb编码的过程如下所述。
将V右移k位,以便获得整数值m。V的码由″1″(可变长度部分)跟随m个″0″和V的低k位(固定长度部分)的组合来形成。图16示出k=0、1、2、3时的Golomb码示例。上述码形成方法仅仅作为示例,并且甚至可以通过替换固定长度部分和可变长度部分来形成可唯一解码的码。该码也可以通过替换0和1形成。作为选择编码参数k的方法,可以采用各种方法,包括在预定单元选择最优参数k并将参数k结合到码流中的方法。第一实施例采用在编码期间更新参数k的方法,与JPEG-LS的方法相同。下面将描述编码参数k的选择方法。
预测误差编码单元1001包括保存编码像素数量的计数器N、以及分别保存每一个分量的编码预测误差的绝对值之和的计数器A[C](C为分量号0到2)。在开始编码时,计数器N设置为1,计数器A[0]到A[2]设置为2。为待编码的每一个分量值获取N×2^k不超过A[C]的最大值k。使用k通过上述过程对预测误差e进行Golomb编码,并输出码字(注意,x^y的意思是x的y次幂)。
在每一个分量的编码处理之后,通过将预测误差的绝对值|e|加到A[C]来更新k。在这种情况下,在所有分量的编码处理之后,N递增1并进行更新。为了将A[C]和N限制在预定范围内,应用在N达到预定值(例如32)的时刻将A[C]和N更新到1/2的处理。仅当通过信号线108输入的邻近像素状态信息为″1″时,预测误差编码单元1001进行操作。
已经描述了根据第一实施例的预测分量值编码单元103的处理内容。下面将描述码生成单元105。
在第一实施例中,如图1所示,码生成单元105接收四条信息:从预测分量值编码单元103输出的R、G、B分量的预测码字,从邻近匹配信息编码单元102输出的邻近像素状态信息和向量信息的码字、以及颜色计数Nc。根据这四条信息,码生成单元105执行处理A到C中的一个。
[处理A]
当邻近像素状态信息为″0″,即,包含在靠近关注像素X的四个像素中的颜色数量为3或者更小,如图12所示,并且在四个邻近像素中存在与关注像素X具有相同颜色的像素时,则码生成单元105仅输出所输入的向量信息的码字。
[处理B]
如果颜色计数Nc<4并且邻近像素状态信息为″1″,即,包含在靠近关注像素X的四个像素中的颜色数量为3或者更小,如图12所示,并且在四个邻近像素中不存在与关注像素X具有相同颜色的像素,则跟随所输入的向量信息的码字,码生成单元105输出从预测分量值编码单元103输出的R、G、B分量的预测码字。
[处理C]
如果颜色计数Nc=4,码生成单元105仅输出从预测分量值编码单元103输出的R、G、B分量的预测码字,而不输出向量信息的码字。
图8A至8C示出从码生成单元105输出的码数据。图8A示出的处理A的结果,图8B示出处理B的结果,而图8C示出处理C的结果。
返回图1,将描述该实施例中的游程长度编码单元104。
游程长度编码单元104包括计数器RL,对相同像素值的游程进行计数。当紧接关注像素X前面的像素的颜色计数Nc的值不是″1″、并且关注像素X的颜色计数Nc变为″1″时,计数器RL开始计数。一旦计数开始,就对像素数量连续进行计数而不考虑颜色计数Nc,直到关注像素X具有与紧邻前面的像素值Xa不同的颜色、或者一行上的最后像素的处理结束为止。当游程结束(没有可以进行计数的游程)时,对计数器RL保存的值进行游程长度编码并输出到切换器106。应该指出的是,游程长度编码单元104通过信号线115输出表示计数器RL对游程进行计数或者不对其进行计数的状态信息到切换器106。当游程结束时,游程长度编码单元104输出关于该效果的信息到信号线116,其含义将在下文中描述。
可以通过各种方法编码游程长度。第一实施例采用与国际标准JPEG-LS中的游程模式使用的游程长度编码相同的方法,在此省略其详细描述。
将描述图1中的切换器106。
在描述之前,将Xi定义为关注像素;Nci为靠近关注像素Xi的四个像素的颜色计数;Xi-1为紧接关注像素Xi前面的像素;Nci-1为靠近像素Xi-1的四个像素的颜色计数。从码生成单元105输出的编码数据(图8A或者8B中的编码数据)称作像素编码数据,并且从游程长度编码单元104输出的编码数据称作游程长度编码数据,以便区分这些编码数据。在测量游程时,从游程长度编码单元104输出到信号线115上的状态信息为″1″,而当不测量游程时为″0″。
·当状态信息为″0″时:
切换器106选择端子″a″,选择关注像素Xi的编码数据,并将其输出到码流形成单元107。此时,如果Nci-1≠1且Nci=1,则在输出像素编码数据到码流形成单元107之后切换器106切换到端子b。切换器106切换到端子b的原因在于在上述条件下游程长度编码单元104开始测量游程,并且在游程测量期间不输出像素编码数据。在除了上述条件之外的条件下,切换器1%保持选择端子″a″。
·当状态信息为″1″时:
切换器106选择端子b。此时,在游程长度编码单元104测量游程期间,不输出任何游程长度编码数据,并且切换器106不输出任何数据给码流形成单元107。当游程长度编码单元104检测到游程结束时,输出游程长度编码数据。因此,切换器106输出游程长度编码数据给码流形成单元107。在输出游程长度编码数据之后,游程长度编码单元104将其状态信息改变为″0″。在游程测量结束之后状态从″1″变为″0″。当关注像素X和紧接前面的像素Xa之间的关系为X≠Xa时,或者如果X=Xa,关注像素X位于行尾时,游程测量结束。在前一种情况下,切换器106在输出游程长度编码数据之后立即选择端子″a″,以便输出关注像素的像素编码数据。
如上所述,在进行图像编码之前,码流形成单元输出附加信息(比如预测选择信号m、图像的水平和垂直像素数量、构成像素的分量数量、以及每一个分量的精度)作为首标。首标之后,码流形成单元顺序输出通过切换器106输入的编码数据。当输出目的地为存储设备时,编码数据输出为文件。
图9示出从码流形成单元107输出的编码数据的结构。在图9中,游程长度编码数据和像素编码数据的顺序是任意的。图9所示游程长度编码数据和像素编码数据可以共存,而无需诸如标记之类的任何特殊中断。在根据第一实施例的图像处理装置中,将预测选择信号m设置为固定值,并且也可以不包括在首标之内。
在图9中,紧接首标之后的编码数据是游程长度编码数据,这是由于以下原因。根据上面的描述,当关注像素位于待编码的图像数据的左上角时,用于获取预测值的″a″、″b″、和″c″落在图像区域之外,并被看作a=b=c=0。更具体地,由于a=b=c,则关注像素X周围的像素的颜色计数Nc为″1″,并且输出至少0或更多的游程长度编码数据。
在第一实施例中,邻近匹配信息编码单元102中的匹配像素位置编码单元1102根据颜色计数Nc,使用图15A至15C中的一个编码表执行编码。或者,匹配像素位置编码单元1102可以使用图7所示的一个表格生成向量信息的码字,而不考虑颜色计数Nc。当颜色计数Nc=1时,从1位足够形成码字,而不用考虑向量信息为0还是1。与此相反,在图7中,生成2位或更多位的码字,并且根据颜色计数Nc合适地切换向量信息编码表,如图15A至15C所示。
下面将说明设置图1中的信号116、图10中的选择器702、图11中的选择器1104、以及图24中的选择器101b、寄存器101c和锁存器101d的原因,以及它们的操作。
从上面的描述可以看出,当关注像素X的颜色和紧接前面的像素Xa的颜色彼此不同时,通过游程长度编码单元104的游程结束。此时,存储在计数器RL中的值为游程长度编码,码字输出到切换器106,然后输出关注像素X的像素编码数据。对于关注像素X,X≠Xa,并且向量信息不为″0″,这从图12容易理解。
显然,当数据仅从向量信息的码字形成时编码效率最高,如图8A所示。可以理解,当被确定为游程的结束的关注像素X与不同于Xa(也即X1)的像素Xf比较时,由于X=Xf的可能性,可以期望较高的压缩比。期望像素Xf位于关注像素X附近。作为像素Xf,第一实施例采用确定为前一游程长度编码中的游程结束的像素。换句话说,将在当前游程长度编码中被确定为游程结束的关注像素X存储并保存为在下一游程长度编码中游程被确定为结束时使用的邻近像素Xf。
图18示出当关注像素X结束游程长度编码数据时输入图像的示例。紧接关注像素X前面的游程长度编码数据示出与作为游程起点的像素1801具有相同颜色的像素持续、并且颜色在关注像素X处改变的情形。在像素1802处,检测到前面游程的结束。在这种情况下,为了生成关注像素的像素编码数据,颜色计数确定单元101根据靠近关注像素的像素″b″、″c″、″d″、以及替代像素数据″a″的像素1802的像素数据″f″再次计算颜色计数Nc。邻近匹配信息编码单元102编码向量信息并再次生成邻近像素状态信息。预测分量值编码单元103根据像素数据″f″、″b″、和″c″获取预测值p,并且对关注像素X执行预测误差编码处理。
为了执行上述处理,当检测到游程结束时,游程长度编码单元104输出游程结束检测信息到信号线116上,以便在颜色计数确定单元101中保存此时关注像素X的数据(R、G、和B分量数据)。
如图24所示,当通过信号线116收到游程结束检测信息时,颜色计数确定单元101中的锁存器101d锁存寄存器101c的数据,并将其作为像素数据″f″输出到选择器101b、邻近匹配信息编码单元102、以及预测分量值编码单元103。在锁存器101d存储和锁存之后,寄存器101c使用此时关注像素X的数据覆写(更新)先前存储/保存的数据。也就是说,寄存器101c保存关注像素X的数据,而锁存器101d锁存前一游程长度码字的游程结束处的像素数据f。应该指出的是,当图像数据编码处理开始并且第一次执行游程长度编码时,不存在数据f。因此,在编码一幅图像数据之前,在寄存器101c中设置适当的值例如″0″作为R、G、B分量。这些值不仅限于″0″,其值可以为等于解码侧的那些值。
在通过信号线116收到游程结束检测信息时,选择器101b输出数据″f″替代数据″a″给颜色计数计算单元101a。颜色计数计算单元根据靠近关注像素X的像素″b″、″c″、和″d″、以及像素″f″再次计算颜色计数Nc。
当邻近匹配信息编码单元102通过信号线116接收到游程结束检测信息时,使选择器1104选择像素数据f。邻近匹配信息编码单元102再次生成向量信息并再次编码,输出编码向量信息到信号线110上,并再次输出邻近像素状态信息到信号线108上。
此外,当预测分量值编码单元103通过信号线116接收到游程结束检测信息时,使选择器702选择像素数据″f″。预测分量值编码单元103根据预测选择信号和数据″f″、″b″、″c″的分量值计算关注像素的预测码字。
如上所述,当从游程长度编码单元104输出到信号线115上的状态信号从″1″变为″0″时,切换器106输出从游程长度编码单元104所输入的游程长度编码数据。切换器106输出游程长度编码数据到码流形成单元107,然后输出根据替代数据″a″的数据″f″,由颜色计数确定单元101、邻近匹配信息编码单元102、以及预测分量值编码单元103所生成的与关注像素X相对应的像素编码数据。
如上所述,根据第一实施例,图像处理装置包括邻近匹配信息编码单元102、预测分量值编码单元103、以及游程长度编码单元104。图像处理装置根据待编码的关注像素X周围的编码像素Xa、Xb、Xc、和Xd中存在的颜色数量,通过切换用于这些单元的编码方法的类型执行编码。具体地说,像素编码数据和游程长度编码数据之间的切换根据关于编码像素位置的信息来确定。因此,编码数据不需要表示编码方法的类型被切换的任何特殊标识信息。
根据第一实施例,当游程长度编码单元104确定关注像素X结束游程时,颜色计数确定单元101、邻近匹配信息编码单元102、以及预测分量值编码单元,通过临时参照在另一位置上的像素Xf而不是在正常预测编码中应该参照的像素数据Xa执行重新计算。能够抑制将图8A中的格式作为像素编码数据的输出格式的可能性的下降,并且可以期望较高的压缩效率。
例如,在编码具有预定周期、并且从每隔四个像素布置给定像素值的图像形成的图像数据中的关注像素X时,如图13所示,处理进入游程长度编码模式,这是因为四个周围像素″a″、″b″、″c″、和″d″具有相同的像素值。但是,游程以长度0结束,并且处理转向对向量信息进行编码。当参照四个周围像素时,没有检测到匹配像素,并且对向量信息进行预测编码,降低了编码效率。与此相反,通过参照作为紧接前面的游程的结束的像素Xf对向量信息进行编码,像素Xf匹配关注像素X的可能性增加,从而提高编码效率。
<变型例的描述>
根据图1的结构描述了第一实施例,但是也可以通过计算机程序实现与第一实施例的处理相同的处理。
图14示出当该装置由软件实现时该装置(PC等)的基本配置方框图。
在图14中,参考标号1401表示使用存储在RAM 1402和ROM 1403中的程序和数据控制整个装置、并且还执行下文中描述的图像编码和解码处理的CPU。
RAM 1402用以存储通过I/F 1409从外部存储设备1407、存储介质驱动器1408、或者外部装置下载的程序和数据。当CPU 1401执行各种处理时RAM 1402还用作工作区域。图1所示的缓冲器201、霍夫曼表格存储器204等也分配在RAM 1402中。
ROM 1403存储引导程序、装置设置程序、以及数据。
参考标号1404和1405分别表示键盘和点击设备(例如鼠标),允许用户输入向CPU 1401输入各种指令。
参考标号1406表示由CRT、液晶显示屏幕等构成的显示器,并且能够显示诸如图像和文本的信息。
外部存储设备1407是大容量信息存储设备,例如硬盘驱动器。外部存储设备1407保存OS、用于下文中描述的图像编码和解码处理的程序、待编码的图像数据、待解码的图像的编码数据等。在CPU 1401的控制下,程序和数据加载到RAM 1402中的预定区域。
存储介质驱动器1408读出记录在诸如CD-ROM或DVD-ROM的存储介质上的程序和数据,并将所读出的程序和数据输出给RAM 1402和外部存储设备1407。应该指出的是,存储介质可以记录用于下文中描述的图像编码和解码处理的程序、待编码的图像数据、待解码的图像的编码数据等。在这种情况下,在CPU 1401的控制下,存储介质驱动器1408将这些程序和数据加载到RAM 1402中的预定区域。
I/F 1409将外部装置连接到图像处理装置,并允许图像处理装置和外部装置之间的数据通信。例如,I/F 1409允许将待编码的图像数据、待解码的图像的编码数据等输入到装置的RAM 1402、外部存储设备1407、或者存储介质驱动器1408。参考标号1410表示连接上述单元的总线。
在上面的结构中,当通过软件执行与第一处理相同的处理时,与图1所示的颜色计数确定单元101为代表的各种构成要素相应的处理以软件通过函数、子例程等实现。另外,在该变型例中,为了便于描述直接使用图1中的处理单元的名称。应该指出的是,在开始处理之前,缓冲器201由CPU 1401分配在RAM 1402中。
图17示出根据该变型例的图像处理装置所执行的编码处理流程的流程图。应该指出的是,符合图17的程序加载到RAM 1402中并由CPU1401执行,以便实现与图17所示的流程图相符的处理。将参照图17描述根据该变型例的应用程序的总体流程。
码流形成单元107生成并输出包含待编码的图像的附加信息的首标(步骤S1901)。将保存关注像素的垂直位置的计数器y设置为0,将游程长度编码单元104中包括的计数器RL初始化为0,并且将检测到游程结束时参照像素Xf的分量值初始化为″0″(步骤S1902)。此外,将保存关注像素的水平位置的计数器x设置为0(步骤S1903)。颜色计数确定单元101获取坐标(x,y)处的关注像素X周围的像素″a″、″b″、″c″、和″d″的颜色计数Nc(步骤S1904)。当关注像素位于待编码的图像的第一行时,不存在″b″、″c″、和″d″(参见图3),将这些周围像素的R、G、B分量值设置为0。当x=0时,周围像素″a″和″c″不存在,将它们的R、G、B分量值设置为0。但是,R、G、B分量值不仅限于这些值,其值可以变为等于解码侧上的那些值。
在步骤S1905中,确定是否颜色计数Nc为1或者计数器RL保存有0之外的值。如果颜色计数Nc=1或者计数器RL保存有0之外的值(步骤S1905中的是),则处理转移到步骤S1914。如果不满足上述条件(步骤S1905中的否),则处理转移到步骤S1906(步骤S1905)。
在处理转移到步骤S1906之后,邻近匹配信息编码单元102编码用于关注像素的向量信息,并通过码生成单元105输出码字。处理前进到步骤S1907,确定关注像素位置处的邻近像素状态信息是否为″1″(步骤S1907)。如果邻近像素状态信息为″1″(步骤S1907中的是),则处理前进到步骤S1923,并且预测分量值编码单元103预测编码R、G、B分量。
在步骤S1909,从码生成单元105和预测分量值编码单元103输出的码字由码流形成单元107变换成预定格式,形成用于关注像素的码流(步骤S1909)。然后,保存关注像素的水平位置的计数器x递增1(步骤S1910)。将计数器x与图像的水平像素计数W比较。如果x<W(步骤S1911中的是),则处理返回到步骤S1904执行下一个像素的编码处理。如果x≥W(步骤S1911中的否),处理转移到步骤S1912(步骤S1911)。
如果在步骤S1905中确定颜色计数Nc=1或者计数器RL保存有0之外的值,则处理转移到步骤S1914,比较关注像素X(由计数器x和y表示的像素值m)与紧接前面的像素值Xa。
如果X≠Xa(步骤S1914中的否),则处理前进到步骤S1920。
如果X=Xa(步骤S1914中的是),则游程长度编码单元104中包括的计数器RL递增1(步骤S1915)。接着,保存关注像素的水平位置的计数器x递增1(步骤S1916)。在步骤S1917中,将计数器x与图像的水平像素计数W比较。如果x<W,则处理返回到步骤S1914,继续下一个游程的计数。如果x≥W,则游程到达图像的右端。此时,完成游程长度,并且游程长度编码单元104对计数器RL保存的游程长度进行编码并输出码。从游程长度编码单元104输出的码通过切换器106发送到码流形成单元107,形成预定格式的码流(步骤S1918)。在结束游程长度编码之后,计数器RL复位为0(步骤S1919)。切换器106的连接改变到端子″a″。处理转移到步骤S1912,并且编码处理的目标转移到下一行。
如果处理从步骤S1914前进到步骤S1920,这意味着游程由于出现与紧接前面的像素值Xa不同的像素值X而终止。因此,游程长度编码单元104对计数器RL保存的游程长度进行编码并输出码。从游程长度编码单元104输出的码字通过切换器106发送到码流形成单元107,形成预定格式的码流。在结束游程长度编码之后,计数器RL复位到0(步骤S1921)。此时,紧接前面的像素Xa的数据用Xf的值替换(步骤S1701)。在步骤S1702,用关注像素X的数据更新数据Xf。在步骤S1703,根据像素″f″、″b″、″c″、和″d″再次计算颜色的数量,并且处理前进到步骤S1906。应该指出的是,像素数据Xa用像素数据Xf替换,并且在步骤S1906之后的处理基于像素″f″、″b″、″c″、和″d″。结果,生成关注像素的像素编码数据,并且切换器106的连接改变到端子″a″。
在步骤S1912,保存关注像素的垂直位置的计数器y递增1。将计数器y与图像的垂直像素计数H进行比较。如果y<H(步骤S1913中的是),则处理返回到步骤S1903,类似地处理下一行上的像素。如果y≥H(步骤S1913中的否),则针对目标图像的编码处理结束(步骤S1913)。
如上所述,即便是变型例也能够实现与第一实施例相同的操作效果。
下面将描述解码处理。解码处理基本上与编码处理对称。在这种情况下,将参照图25的流程图描述对通过上述处理编码的图像数据进行解码的处理过程。在下面的描述中,当待解码的关注像素X位于图像边界时,不存在参考像素″a″、″b″、″c″、和″d″,并将它们的分量值设置为0。
在步骤S2101,将待解码的编码数据输入到码缓冲器(在RAM中分配),并且分析编码数据的首标,以提取解码所需的附加信息。将保存关注像素的垂直位置的计数器y设置为0(步骤S2102)。此时,参照像素Xf的R、G、B数据初始化为0,并且将标记FLAG初始化为″0″(步骤S2102)。标记FLAG在RAM中分配,并用于确定游程长度码字是否被解码。
在步骤S2103,将保存关注像素的水平位置的计数器x设置为0(步骤S2103)。
注意坐标(x,y)处的像素,并且通过参照解码的周围像素Xa、Xb、Xc、和Xd获得颜色计数Nc(步骤S2104)。如果关注像素位于图像的左上角,则将Xa、Xb、Xc、和Xd当作″0″。
在步骤S2105,确定颜色计数Nc是否为″1″。如果颜色计数Nc为1(步骤S2105中的是),则处理转移到步骤S2114;如果为否,则转移到步骤S2110。
在步骤S2110,将颜色计数Nc与4进行比较。如果Nc=4,则关注像素是预测编码分量值数据(图8C中的编码数据),并且对关注像素的每一个分量进行解码(步骤S2108)。
如果在步骤S21110中确定Nc≠4,则关注像素是向量信息的码字,并且在步骤S2106中将码字解码为向量信息。向量信息码字的解码使用与颜色数量相对应的表格,如图15A至15C所示。
如果所获得的向量信息与颜色计数Nc一致,则生成邻近像素状态信息″1″;如果彼此不一致,则生成″0″。在步骤S2107中确定邻近像素状态信息是否为″1″(参见图12)。当邻近像素状态信息为″1″时,关注像素的编码数据具有图8B的数据结构。当邻近像素状态信息为″0″时,关注像素的编码数据具有图8A的数据结构。
因此,如果邻近像素状态信息为″1″,则分量的预测码字跟随向量信息的码字,并在步骤S2121中被解码。
如果处理从步骤S2108或者S2121前进到步骤S2109,则将分量的预测编码数据的解码结果输出,作为关注像素的数据。如果在步骤S2107中为否,则根据解码的向量信息,将像素″a″、″b″、″c″、和″d″中相应的像素数据输出,作为关注像素的数据。
在步骤S2132,确定标记FLAG是否为″1″。在此标记FLAG=0。如果标记FLAG=0,则处理前进到步骤S2110,保存关注像素的水平位置的计数器x递增1。在步骤S2111,将计数器x与图像的水平像素计数W进行比较。如果x<W(步骤S2111中的是),则处理返回到步骤S2104,执行下一个像素的解码处理。如果x≥W,则处理转移到步骤S2112。
如果在步骤S2105中确定颜色计数Nc为1,则关注的编码数据为游程长度编码数据,并且处理前进到步骤S2114,对游程长度RL进行解码。应该指出的是,解码结果可能为″0″游程。
将解码的游程长度RL与0进行比较(步骤S2115)。如果RL=0(步骤S2115中的是),则处理转移到步骤S2120。
如果在步骤S2115中确定RL≠0,则将Xa输出,作为解码像素值(步骤S2116)。计数器RL递减1(步骤S2117),并且将保存关注像素的水平位置的计数器x递增1(步骤S2118)。在步骤S2119,将计数器x与水平像素计数W进行比较。如果x<W,则处理返回到步骤S2115;如果x≥W,则处理转移到步骤S2112(步骤S2119)。
如果在步骤S2115中确定RL=0,则处理转移到步骤S2120,临时将紧接关注像素X前面的像素Xa的数据替换为Xf的数据。在步骤S2129,将标记FLAG设置为″1″,以便表示游程长度码字已经被解码。处理前进到步骤S2130,相据Xf、Xb、Xc、和Xd计数颜色计数Nc,然后返回到步骤S2110。
如果处理从步骤S2130返回到步骤S2110,则执行从步骤S2110开始的上述处理,以便解码关注像素X。之后,在步骤S2132,确定标记FLAG为″1″。在步骤S2133用关注像素X的解码分量值更新像素数据Xf,并且在步骤S2134将标记FLAG设置为″0″。
在步骤S2112,将保存关注像素的垂直位置的计数器y递增1,并且与图像的垂直像素计数H进行比较。如果y<H(步骤S2113中的是),则处理返回到步骤S2103,类似地处理下一行上的每一个像素。如果y≥H(步骤S2113中的否),则针对目标图像数据的解码处理结束(步骤S2113)。
通过上述处理,可以对第一实施例中的编码数据无损地进行解码,以便重构原始图像数据。
[第二实施例]
在第一实施例,当关注像素X结束游程、并获得预测编码的预测值时,通过将参照像素″a″、″b″、和″c″中的像素″a″替换为结束前一游程长度编码中的游程的像素″f″,使用″f″、″b″、和″c″。在第二实施例中,将结束关注像素X前面的游程的多种颜色的像素存储为参照像素″f″,并且参照其颜色频繁出现的像素。
第二实施例将说明通过计算机程序实现该处理的一个示例。装置结构与图14中所示的相同。
处理过程在图19的流程图中示出。图19的流程图与图17的流程图不同之处在于,图17中的步骤S1701和S1702用步骤S1941和S1942替代,在编码开始之前,在RAM 1402中分配保存出现的颜色的各分量值和出现频率的表格,在该表格中保存R=G=B=0并将频率设置为″1″。分配和初始化表格的处理例如在步骤S1902中执行。
图20示出当编码处理进行到该阶段时的状态表格。该表格按照频率递减的顺序保存出现的颜色数据。当新颜色出现时,添加表示该颜色的颜色分量并登记,并及将出现频率设置为″1″。
由于除了步骤S1941和S1942,图19的流程图与图17的流程图相同,因此将描述步骤S1941和S1942。
当关注像素X结束游程时处理前进到步骤S1941。通过查找表格,将结束前面游程的颜色的像素中具有最高频率的R、G、B数据确定为像素Xf的数据。处理前进到步骤S1942,将确定像素Xf的颜色数据的频率递增″1″,以便更新表格。此时,如果不存在与关注像素X相同的颜色,则将关注像素X的R、G、B值添加到表格中,并将出现频率设置为″1″。
根据上述第二实施例,将当根据邻近匹配信息对结束关注像素前面的游程的像素进行编码时与关注像素最匹配的像素作为关注像素的参照像素。参照像素和关注像素非常可能彼此匹配,并且可以期望较高的编码效率。
应该指出的是,通过将表格的概念应用到第一实施例能够实现解码处理,因此省略其详细描述。
[第三实施例]
在第三实施例中,将紧接作为游程起点的像素前面的像素引用为参照像素f,替代结束关注像素X之前的游程的像素。可以保证Xf≠Xa并且Xf的位置更加靠近(至少在一行内)关注像素X。X=Xf的可能性增加,并且可以期望较高的编码效率。
应该指出的是,在第三实施例中的游程长度编码数据用于生成″游程″自身的码字,并且具有游程起点处的颜色的像素编码数据(数据图8A至8C中的数据之一)总是位于紧靠游程长度编码数据的前面,一种例外是关注像素位于待编码图像的每一行的开头的情况。
在执行游程长度编码时为了存储紧接作为游程起点的像素前面的像素,处理根据图21所示的过程执行。图21的流程图与图17的流程图不同之处在于,在RAM 1402中存储两个像素数据Xf和Xg并初始化为0(步骤S1902),并且步骤S1701和S1702用步骤S1952替换。在这种情况下,像素数据Xg用以存储和保存关注像素X的像素数据,Xf用于存储和保存紧接前面的像素数据。下面将仅描述与图17中的处理不同的处理。
如果关注像素X结束游程,则在步骤S1952将像素数据Xa临时用Xg的R、G、B值替代,并将Xf的R、G、B值代入Xa。将Xg的临时保存值代入Xf,并将关注像素X的R、G、B值代入Xg。从而,仅当对游程的结束像素进行编码时,才更新关注像素X的像素数据和紧接前面的像素数据,并且总是保存这些值。在步骤S1703,根据更新的Xa(=Xf)、Xb、Xc、和Xd再次计算颜色计数Nc,并且处理前进到步骤S1906。
例如,当存在图22所示的图像时,关注像素X位于图22所示的位置。在第一实施例中,图22中的像素2201位于前一游程的结束处并被参照,降低了编码效率。与此相反,在第三实施例中,参照图22中的像素Xf。应该理解,当关注像素X的R、G、B值为255、255、和255时,参照像素Xf的值变为255、255、和255,如图23所示,并且编码效率提高。
[第四实施例]
已经描述了第一至第三实施例。下面将描述不对向量信息进行编码的简单执行上述实施例的示例作为第四实施例。
根据第四实施例的图像处理装置包括:预测编码单元,根据关注像素附近的编码像素位置处的像素(像素数量可能为1)获取关注像素的预测值,计算关注的像素值和预测值之间的差并编码该差值;以及游程长度编码单元,对相同像素值的游程进行计数,并且当游程结束或者关注像素到达行尾时,编码计数值。对预测编码单元和游程长度编码单元适当地切换。
待编码的图像数据是R、G、B颜色的图像数据。从用8位表示0到255的辉度值的像素数据形成每一个分量(颜色)。通过顺序布局像素点,即,按照光栅扫描顺序形成图像数据,并且每一个像素通过按照R、G、B顺序布局数据来形成。图像由W个水平像素和H个垂直像素构成。应该指出的是输入图像数据不仅限于RGB彩色图像,也可以是CMY图像(或通过增加K准备的CMYK图像)或者单色图像。
图26示出根据第四实施例的图像处理装置的方框图。根据第四实施例的图像处理装置包括临时存储待编码的图像数据的缓冲器存储器2401、编码方法确定单元2402、预测编码单元2403、游程长度编码单元2404、以及存储编码数据的存储器2405。在图26所示的构成要素中,编码方法确定单元2402、预测编码单元2403、以及游程长度编码单元2404可以通过运行在计算机上的程序实现。该配置与图14所示的一致。
按照光栅扫描顺序从信号线2400输入图像数据。缓冲器存储器2401具有足够存储多行图像数据的区域,并临时存储从信号线2400输入的图像数据。
编码方法确定单元2402比较关注像素X周围的四个编码像素″a″、″b″、″c″、和″d″的像素值Xa、Xb、Xc、和Xd,并确定四个周围像素是否具有相同的像素值。当四个周围像素具有相同的像素值时,编码方法确定单元2402选择游程长度编码单元2404开始编码。如果编码方法确定单元2402确定四个周围像素不具有相同的像素值,则选择预测编码单元2403执行编码。
预测编码单元2403逐个编码关注像素X的R、G、B分量。预测编码单元2403从三个周围像素″a″、″b″、和″c″通过预测方程式p=a+b-c生成预测值p。与第一实施例类似,预测编码单元2403对预测值p和关注像素X中关注的分量值之间的差值e进行霍夫曼编码,并将结果输出到存储器2405。
当关注像素X周围的四个像素具有相同的像素值时,游程长度编码单元2404开始测量与紧接前面的像素匹配的关注像素X的游程。一旦游程测量开始,游程长度编码单元2404保持一直测量游程,而不考虑关注像素周围的四个像素的状态,只要关注像素X匹配紧接前面的像素。当关注像素X变得与紧接前面的像素不同时、或者当关注像素到达行尾(确定游程结束)时,游程长度编码单元2404对所测量的游程进行编码,输出游程长度编码数据到存储器2405,并结束游程长度编码。当游程长度编码单元2404输出游程长度编码数据给存储器2405时,通知编码方法确定单元2402游程长度编码结束。响应于此,关注像素的编码切换到由预测编码单元2403执行。
下面将讨论关注像素X的值变得与紧接前面的像素的像素值不同、并且游程长度编码单元2404结束游程的情形。
从图3可以明显看出,在这种情况下X≠a。因此,如果用于预测编码关注像素X的预测值p通过p=a+b-c计算,则预测误差不大可能为″0″,并且编码效率很可能降低(尤其是在仅将紧接前面的像素″a″参照为预测值p的模式下,预测误差不会变为″0″)。在游程长度编码切换到预测编码之后,立即不通过参照作为在正常预测误差中参照的三个周围像素″a″、″b″、和″c″之一的″a″,而是通过将前一游程长度编码中最后像素的像素值Xf作为″a″来计算预测值p。也就是说,p=Xf+b+c。通过使用该预测值p,获得与关注像素X的差值e并进行预测编码。出于该目的,当游程长度编码单元2404通知编码方法确定单元2402已经输出游程长度编码数据时,编码方法确定单元2402存储并保存关注像素X的像素值。一旦收到该通知,编码方法确定单元2402向预测编码单元2403输出响应前面的通知已经保存的像素值Xf,而不是用于计算预测值的像素值″a″、″b″、和″c″。
应该指出的是,在上面的描述中所存储/保存的像素X是紧接游程长度编码结束之后的像素,但是本发明不仅限于此。例如,也可以参照在预测编码中参照的另一个像素以期待较高的编码效率,比如在前面与游程长度编码期间的像素流的开头直接相邻的像素。在这种情况下,存储和保存另一个邻近像素的值。同样,在上面的描述中,临时参照另一个像素而不是作为周围像素中的一个的″a″,但是可供选择的像素数量不仅限于一个。例如,可以临时参照两个其它像素,用以替代像素″a″和″b″。可选择地,可以计算两个其它像素的平均来替代作为周围像素中的一个的″a″。当关注像素X结束游程,即,X≠Xa时,可以将紧接关注像素X前面的像素的像素值Xa存储为Xf。
如上所述,在第四实施例中,在紧接游程长度编码之后,至少不参照三个周围像素″a″、″b″、和″c″中的一个。使用靠近已经经历了游程长度编码的部分或者靠近游程长度编码期间的部分的另一个像素值计算预测值p。获取预测值p和关注像素之间的差值e并进行预测编码。
将参照图27的流程图描述第四实施例中的编码处理的流程。
在步骤S2701,在生成编码数据时生成并输出首标。在步骤S2702,将表示关注像素的垂直位置的变量y初始化为″0″。将对游程进行计数的计数器变量RL初始化为″0″,并且将保存在紧接从游程长度编码切换到预测编码之后使用的预测值的变量Xf初始化为″0″。在步骤S2703,将表示关注像素的水平位置的变量X初始化为″0″。
在步骤S2704,确定由坐标(x,y)表示的关注像素X周围的四个像素的像素值Xa、Xb、Xc、和Xd是否相等。如果确定像素值Xa、Xb、Xc、和Xd不同,则处理前进到步骤S2705,对每一个分量进行预测编码。在步骤S2706,输出编码结果。如上所述,当周围像素在待编码的图像之外时,将像素的每一个分量值设置为0。
在步骤S2707,变量X递增″1″。在步骤S2708,将变量X的值与输入图像的水平像素数量W进行比较,确定关注像素是否超出一行的尾端。如果确定x<W,则处理从步骤S2704开始重复;如果确定x≥W,则在步骤S2709将变量y递增″1″,以便对下一行进行编码。在步骤S2710,将变量y与输入图像的垂直像素数量H进行比较,确定是否完成最后一行的编码。如果确定y<H,则处理从步骤S2703开始重复;如果确定y≥H,则结束编码处理。
如果处理过程中在步骤S2704确定关注像素X周围的四个编码像素具有相同的像素值,则处理前进到步骤S2711,以便将上述预测编码处理切换到游程长度编码。
在步骤S2711,确定关注像素X和紧接前面的像素Xa是否一致。如果确定关注像素X和紧接前面的像素Xa一致,则在步骤S2712中将计数器变量RL递增″1″。在步骤S2713,变量X也递增″1″,以便将下一个像素设置为关注像素。之后,在步骤S2714中确定是否″x<W″。如果确定x<W,则处理从步骤S2711开始重复。
如果关注像素X与紧接前面的像素Xa不同,则游程结束,并且处理从步骤S2711前进到步骤S2715,以对计数器变量RL的值进行编码。在步骤S2716输出编码结果,并且在步骤S2717将计数器RL初始化为″0″。为了对确定为X≠Xa的关注像素X进行预测编码,设置Xf取代Xa,以便计算预测值p。因此,预测值p由Xf+Xb-Xc给出。在步骤S2719,将关注像素X的值代入Xf,以便保存紧接下一个游程长度编码切换到预测编码之后的预测值。然后,处理前进到步骤S2705。应该指出的是,当处理前进到步骤S2705时,用于关注像素X的预测值p使用Xf+Xb-Xc。
如果在步骤S2714确定x≥W,则意味着关注像素X的位置超出一行的尾端。因此,处理前进到步骤S2720,以便对计数器变量RL的值进行编码。在步骤S2721输出编码结果,在步骤S2722将计数器变量RL复位为″0″,并且处理前进到步骤S2709。
如上所述,根据第四实施例,通过适当地在预测编码处理和游程长度编码处理之间进行切换能够成功生成编码数据。紧接游程长度编码处理切换到预测编码处理之后,不是将紧接关注像素之前位置处的像素值,而是将作为前一游程长度编码中游程结束的像素值用作预测编码中的预测值。这也能够抑制编码效率的下降。
[其它实施例]
在上述实施例中,待编码的图像数据是分另为8位的R、G、B分量的数据。但是,表示颜色空间的数据不仅限于R、G、B,而可以是Y、M、C、和K(blacK),L*a*b*,或者YCbCr。每一个分量值不必总是8位值。尤其是一些近来的数字摄像机等通过12位内部处理R、G、B,并以RAW模式对数据进行无损编码。本发明也可以应用到此类装置。
在上述实施例中,根据周围像素的颜色计数Nc对与Nc像素值的匹配/失配进行编码。作为向量信息,对符号Nc+1进行编码。例如,使用图15C的码表格对四个值的符号进行编码,使得当颜色计数Nc为3时,如果关注像素与第一像素值X1匹配则符号为0,如果关注像素与第二像素值X2匹配则为1,如果关注像素与第三像素值X3匹配则为2,以及如果关注像素与X1至X3的任何一个都不匹配则为3。但是,不是所有的Nc像素值都需要经历匹配/失配判定。取三个值0、1、和3的符号(考虑到在邻近匹配信息和Nc之间进行比较,将″2″排除)可以如此编码,使得当X=X1时符号为0,当X=X2时为1,以及当X≠X1和X≠X2时为3。
获取第一、第二、和第三像素值X1、X2、和X3的方法不仅限于上述实施例。例如,第一、第二、和第三像素值可以按照Xb、Xa、Xc、和Xd的顺序获取,不同于上述任何一个实施例。顺序可以根据Xa、Xb、Xc、和Xd之间的匹配来改变。例如,按照Xa、Xb、Xc、和Xd的顺序获取第一、第二、和第三像素值。当Xa=Xb时,可以将Xd设置为第二像素值X2。
向量信息的编码可以使用基于概率分布的假定事先设置的码字。但是,也可以使用不同于上述示例的码字,或者可以应用不同的编码方案,例如使用算术码的方案。
作为预测关注分量值的方法,可以准备和自适应地切换几种预测方法。可选地,可以使用非线性预测反馈在编码分量值时生成的预测误差的平均值,以便预测关注的分量。
上述实施例采用霍夫曼编码和Golomb编码作为分量值的预测误差的熵编码。也可以采用其它熵编码。
作为关注像素X周围的像素值,参照Xa、Xb、Xc、和Xd。可选地,可以参照大量像素,或者可以将参照像素的数量减少到例如仅仅Xa和Xb。
从上述实施例的描述可以容易地理解,本发明也可以通过计算机执行的计算机程序实现。一般而言,计算机程序存储在诸如CD-ROM等计算机可读存储介质中,并且能够通过使用诸如访问存储介质的驱动器等读取设备将程序复制或者安装到系统中来执行。该计算机程序显然落在本发明的保护范围之内。
如上所述,根据本发明,同时利用对每一个像素的编码以及编码像素游程的游程长度编码,能够高效地对数据进行编码。
由于可以实现本发明的各种不同的实施例而不脱离本发明的构思和范围,所以应该理解本发明除权利要求所限定的之外,不应该仅限于其具体实施方案。
Claims (7)
1.一种对像素值进行编码的图像编码装置,包括:
第一编码单元,使用编码像素的值对目标像素的值进行编码;
第二编码单元,对目标像素和紧接目标像素前面的像素具有相同值的像素个数进行计数作为游程,并根据所计数的游程输出编码数据;以及
切换单元,在通过所述第一编码单元进行的编码和通过所述第二编码单元进行的编码之间切换,
其中,当紧接目标像素前面的像素的值通过所述第二编码单元编码时,所述第一编码单元通过使用不包括紧接目标像素前面的像素的编码像素的值对目标像素进行编码,并且当紧接目标像素前面的像素的值不是通过所述第二编码单元编码时,通过使用包括紧接目标像素前面的像素的编码像素的值对目标像素进行编码,
其中所述切换单元根据靠近目标像素的预定数量编码像素的值,在通过所述第一编码单元进行的编码和通过所述第二编码单元进行的编码之间切换,
其中当靠近目标像素的预定数量编码像素的值彼此相等时,所述切换单元使所述第二编码单元执行编码,
其中当目标像素的值和紧接目标像素前面的像素的值彼此不同时,所述切换单元使所述第一编码单元执行编码。
2.根据权利要求1的装置,其中当紧接目标像素前面的像素的值通过所述第二编码单元进行编码时,所述第一编码单元通过使用除"与紧接目标像素前面的像素的值具有相同的值、并且在所述紧接目标像素前面的像素前面连续的像素流"之外的像素的值,对目标像素进行编码。
3.根据权利要求2的装置,其中当紧接目标像素前面的像素的值通过所述第二编码单元进行编码时,所述第一编码单元通过使用紧接在"在所述紧接目标像素前面的像素之前、并且通过所述第二编码单元进行的编码结束处的像素"之后的像素的值,对目标像素进行编码。
4.根据权利要求2的装置,其中当紧接目标像素前面的像素的值通过所述第二编码单元进行编码时,所述第一编码单元通过使用紧接"所述与紧接目标像素前面的像素的值具有相同的值、并且在所述紧接目标像素前面的像素前面连续的像素流"前面的像素的值,对目标像素进行编码。
5.一种对像素值进行编码的图像编码方法,包括:
第一编码步骤,使用编码像素的值对目标像素的值进行编码;
第二编码步骤,对目标像素和紧接目标像素前面的像素具有相同值的像素个数进行计数作为游程,并根据所计数的游程输出编码数据;以及
切换步骤,在第一编码步骤中的编码和第二编码步骤中的编码之间切换,
其中,在第一编码步骤中,当紧接目标像素前面的像素的值在第二编码步骤中编码时,通过使用不包括紧接目标像素前面的像素的编码像素的值对目标像素进行编码,并且当紧接目标像素前面的像素的值不是在第二编码步骤中编码时,通过使用包括紧接目标像素前面的像素的编码像素的值对目标像素进行编码,
其中在所述切换步骤中,根据靠近目标像素的预定数量编码像素的值,在通过所述第一编码步骤进行的编码和通过所述第二编码步骤进行的编码之间切换,
其中当靠近目标像素的预定数量编码像素的值彼此相等时,在所述切换步骤中,通过所述第二编码步骤执行编码,
其中当目标像素的值和紧接目标像素前面的像素的值彼此不同时,在所述切换步骤中,通过所述第一编码步骤执行编码。
6.一种对像素值进行编码的图像编码装置,包括:
第一编码单元,使用编码像素的值对目标像素的值进行编码;
第二编码单元,对目标像素和紧接目标像素前面的像素具有相同值的像素个数进行计数作为游程,并根据所计数的游程输出编码数据;以及
切换单元,在通过所述第一编码单元进行的编码和通过所述第二编码单元进行的编码之间切换,
其中,在紧接通过所述第二编码单元进行的编码切换到通过所述第一编码单元进行的编码之后,所述第一编码单元通过使用不包括紧接目标像素前面的像素的编码像素的值对目标像素进行编码,并且在其它情况下,通过使用包括紧接目标像素前面的像素的编码像素的值对目标像素进行编码,
其中所述切换单元根据靠近目标像素的预定数量编码像素的值,在通过所述第一编码单元进行的编码和通过所述第二编码单元进行的编码之间切换,
其中当靠近目标像素的预定数量编码像素的值彼此相等时,所述切换单元使所述第二编码单元执行编码,
其中当目标像素的值和紧接目标像素前面的像素的值彼此不同时,所述切换单元使所述第一编码单元执行编码。
7.一种对像素值进行编码的图像编码方法,包括:
第一编码步骤,使用编码像素的值对目标像素的值进行编码;
第二编码步骤,对目标像素和紧接目标像素前面的像素具有相同值的像素个数进行计数作为游程,并根据所计数的游程输出编码数据;以及
切换步骤,在第一编码步骤中的编码和第二编码步骤中的编码之间切换,
其中,在第一编码步骤中,在紧接从第二编码步骤中的编码切换到第一编码步骤中的编码之后,通过使用不包括紧接目标像素前面的像素的编码像素的值对目标像素进行编码,并且在其它情况下,通过使用包括紧接目标像素前面的像素的编码像素的值对目标像素进行编码。
其中在所述切换步骤中,根据靠近目标像素的预定数量编码像素的值,在通过所述第一编码步骤进行的编码和通过所述第二编码步骤进行的编码之间切换,
其中当靠近目标像素的预定数量编码像素的值彼此相等时,在所述切换步骤中,通过所述第二编码步骤执行编码,
其中当目标像素的值和紧接目标像素前面的像素的值彼此不同时,在所述切换步骤中,通过所述第一编码步骤执行编码。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005146984 | 2005-05-19 | ||
JP2005146984A JP4587175B2 (ja) | 2005-05-19 | 2005-05-19 | 画像符号化装置及び方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1867077A CN1867077A (zh) | 2006-11-22 |
CN100484250C true CN100484250C (zh) | 2009-04-29 |
Family
ID=36952431
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100824505A Expired - Fee Related CN100484250C (zh) | 2005-05-19 | 2006-05-19 | 图像编码装置和方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7689048B2 (zh) |
EP (1) | EP1725040B1 (zh) |
JP (1) | JP4587175B2 (zh) |
KR (1) | KR100819992B1 (zh) |
CN (1) | CN100484250C (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7650039B2 (en) | 2005-03-03 | 2010-01-19 | Canon Kabushiki Kaisha | Image encoding apparatus, image decoding apparatus, control method therefor, computer program, and computer-readable storage medium |
JP4732203B2 (ja) * | 2006-03-17 | 2011-07-27 | キヤノン株式会社 | 画像符号化装置及び復号装置及びそれらの制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体 |
CN101438597B (zh) * | 2006-05-17 | 2011-05-11 | 富士通株式会社 | 图像数据压缩装置、压缩方法、图像数据恢复装置、恢复方法 |
JP4795161B2 (ja) * | 2006-08-08 | 2011-10-19 | キヤノン株式会社 | 画像処理装置及びその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体 |
EP1978749B1 (en) * | 2007-04-06 | 2017-08-30 | Canon Kabushiki Kaisha | Compression of multidimensional look-up tables for colour space conversion |
JP4847398B2 (ja) * | 2007-06-06 | 2011-12-28 | キヤノン株式会社 | 画像処理装置およびその方法 |
JP4979655B2 (ja) * | 2008-08-07 | 2012-07-18 | キヤノン株式会社 | 画像符号化装置及びその制御方法 |
JP2010136181A (ja) * | 2008-12-05 | 2010-06-17 | Sony Corp | 画像処理装置、画像処理方法およびプログラム |
JP4748234B2 (ja) * | 2009-03-05 | 2011-08-17 | 富士ゼロックス株式会社 | 画像処理装置および画像形成装置 |
JP5369982B2 (ja) * | 2009-08-06 | 2013-12-18 | 株式会社リコー | 画像処理装置および画像処理方法 |
US20110292247A1 (en) * | 2010-05-27 | 2011-12-01 | Sony Corporation | Image compression method with random access capability |
US8968080B1 (en) | 2010-11-05 | 2015-03-03 | Wms Gaming, Inc. | Display of third party content on a wagering game machine |
SG2013016456A (en) * | 2013-01-11 | 2014-08-28 | Brainwave Innovations Private Ltd | Image compression and lossless reconstruction of digital image |
JP2015023506A (ja) * | 2013-07-22 | 2015-02-02 | 株式会社東芝 | 画像符号化装置及び画像復号化装置 |
US9160363B2 (en) * | 2014-02-27 | 2015-10-13 | Samsung Display Co., Ltd. | Run length encoding with non-sequential input |
CN109788290A (zh) * | 2017-11-13 | 2019-05-21 | 慧荣科技股份有限公司 | 影像处理装置及利用帧内预测的无损影像压缩方法 |
CN108419080B (zh) * | 2018-02-08 | 2020-10-13 | 武汉精测电子集团股份有限公司 | 一种jpegls上下文计算的流水线化优化方法及装置 |
CN110636308B (zh) * | 2019-09-21 | 2022-05-10 | 苏州维赛智芯体育科技有限公司 | 一种基于改进型游程编码的线阵图像数据压缩方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1194544A (zh) * | 1997-01-31 | 1998-09-30 | 日本胜利株式会社 | 带有运动补偿的编码和译码装置 |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL8601182A (nl) * | 1986-05-12 | 1987-12-01 | Philips Nv | Werkwijze en inrichting voor het opnemen en/of weergeven van een beeldsignaal en een bijbehorend audiosignaal in respektievelijk van een registratiedrager, en een registratiedrager verkregen volgens de werkwijze. |
JPH0651721A (ja) | 1992-07-29 | 1994-02-25 | Canon Inc | 表示制御装置 |
US5650829A (en) * | 1994-04-21 | 1997-07-22 | Sanyo Electric Co., Ltd. | Motion video coding systems with motion vector detection |
JPH08130649A (ja) | 1994-11-01 | 1996-05-21 | Canon Inc | データ処理装置 |
US6031938A (en) | 1995-04-26 | 2000-02-29 | Canon Kabushiki Kaisha | Image encoding apparatus with selective Markov and predictive coding |
US6101282A (en) | 1995-06-22 | 2000-08-08 | Canon Kabushiki Kaisha | Apparatus and method for image data encoding |
US6028963A (en) | 1996-06-17 | 2000-02-22 | Canon Kabushiki Kaisha | Image encoding based on judgement on prediction error |
JPH10336682A (ja) | 1997-04-02 | 1998-12-18 | Canon Inc | 符号化装置及び方法及び方法を記憶した記憶媒体 |
JPH11234683A (ja) * | 1998-02-12 | 1999-08-27 | Fuji Xerox Co Ltd | 画像符号化方法および装置 |
JPH11243491A (ja) * | 1998-02-26 | 1999-09-07 | Agency Of Ind Science & Technol | 適応進化型画像圧縮符号化装置 |
JP2000069292A (ja) | 1998-08-24 | 2000-03-03 | Canon Inc | 画像処理装置及び方法及び記憶媒体 |
JP3839974B2 (ja) | 1998-10-06 | 2006-11-01 | キヤノン株式会社 | 符号化装置 |
JP2000115782A (ja) | 1998-10-06 | 2000-04-21 | Canon Inc | 符号化装置及び方法及び記憶媒体 |
JP2000115783A (ja) | 1998-10-06 | 2000-04-21 | Canon Inc | 復号化装置及び方法 |
US6665444B1 (en) | 1999-04-28 | 2003-12-16 | Canon Kabushiki Kaisha | Image processing apparatus and method, and storage medium |
KR100379383B1 (ko) * | 1999-11-03 | 2003-04-10 | 엘지전자 주식회사 | 인트라 프레임 부호화 방법 |
JP4365957B2 (ja) | 1999-11-05 | 2009-11-18 | キヤノン株式会社 | 画像処理方法及びその装置及び記憶媒体 |
JP4367880B2 (ja) | 1999-12-09 | 2009-11-18 | キヤノン株式会社 | 画像処理装置及びその方法並びに記憶媒体 |
JP2002281444A (ja) | 2000-03-03 | 2002-09-27 | Canon Inc | 画像処理方法及び装置及び記憶媒体 |
JP4208378B2 (ja) | 2000-03-10 | 2009-01-14 | キヤノン株式会社 | 画像処理装置及び方法及び記録媒体 |
JP4480119B2 (ja) | 2000-03-30 | 2010-06-16 | キヤノン株式会社 | 画像処理装置及び画像処理方法 |
US6847735B2 (en) | 2000-06-07 | 2005-01-25 | Canon Kabushiki Kaisha | Image processing system, image processing apparatus, image input apparatus, image output apparatus and method, and storage medium |
JP4612782B2 (ja) | 2000-09-27 | 2011-01-12 | キヤノン株式会社 | 画像処理装置、及びその方法、並びにプログラム、記憶媒体 |
US7013050B2 (en) | 2001-06-26 | 2006-03-14 | Canon Kabushiki Kaisha | Image encoding apparatus and method, program code, and storage medium |
JP3984886B2 (ja) | 2001-09-28 | 2007-10-03 | キヤノン株式会社 | データ変換装置、データ変換方法、コンピュータプログラム、記憶媒体 |
US7302105B2 (en) | 2002-07-22 | 2007-11-27 | Canon Kabushiki Kaisha | Moving image coding apparatus, moving image decoding apparatus, and methods therefor |
US7903734B2 (en) | 2003-04-24 | 2011-03-08 | Canon Kabushiki Kaisha | Moving image decoding apparatus, moving image decoding method, image decoding method, and image decoding apparatus |
US7177479B2 (en) * | 2003-04-25 | 2007-02-13 | Stmicroelectronics S.R.L. | Loss-less compression of still images at enhanced speed |
US7574063B2 (en) | 2003-07-23 | 2009-08-11 | Canon Kabushiki Kaisha | Image coding method and apparatus |
JP4702928B2 (ja) | 2004-03-12 | 2011-06-15 | キヤノン株式会社 | 動画像符号化装置及び復号装置及びその制御方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体 |
JP4418762B2 (ja) | 2004-05-07 | 2010-02-24 | キヤノン株式会社 | 画像符号化装置及び画像復号装置及びそれらの制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体 |
US20080089413A1 (en) | 2004-06-28 | 2008-04-17 | Canon Kabushiki Kaisha | Moving Image Encoding Apparatus And Moving Image Encoding Method |
US7529417B2 (en) | 2004-07-09 | 2009-05-05 | Canon Kabushiki Kaisha | Apparatus, method and storage medium for image encoding/decoding using shape-based coefficient interpolation |
JP4533043B2 (ja) | 2004-08-25 | 2010-08-25 | キヤノン株式会社 | 画像符号化装置及び方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体 |
US7650039B2 (en) | 2005-03-03 | 2010-01-19 | Canon Kabushiki Kaisha | Image encoding apparatus, image decoding apparatus, control method therefor, computer program, and computer-readable storage medium |
JP4732203B2 (ja) | 2006-03-17 | 2011-07-27 | キヤノン株式会社 | 画像符号化装置及び復号装置及びそれらの制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体 |
-
2005
- 2005-05-19 JP JP2005146984A patent/JP4587175B2/ja not_active Expired - Fee Related
-
2006
- 2006-04-27 EP EP06113210.6A patent/EP1725040B1/en not_active Expired - Fee Related
- 2006-05-02 US US11/415,079 patent/US7689048B2/en not_active Expired - Fee Related
- 2006-05-19 CN CNB2006100824505A patent/CN100484250C/zh not_active Expired - Fee Related
- 2006-05-19 KR KR20060045009A patent/KR100819992B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1194544A (zh) * | 1997-01-31 | 1998-09-30 | 日本胜利株式会社 | 带有运动补偿的编码和译码装置 |
Also Published As
Publication number | Publication date |
---|---|
CN1867077A (zh) | 2006-11-22 |
US20060262982A1 (en) | 2006-11-23 |
JP4587175B2 (ja) | 2010-11-24 |
KR100819992B1 (ko) | 2008-04-07 |
US7689048B2 (en) | 2010-03-30 |
KR20060120478A (ko) | 2006-11-27 |
JP2006325006A (ja) | 2006-11-30 |
EP1725040A2 (en) | 2006-11-22 |
EP1725040B1 (en) | 2016-08-03 |
EP1725040A3 (en) | 2010-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100484250C (zh) | 图像编码装置和方法 | |
CN105556971B (zh) | 针对帧内块复制预测中的块翻动和跳跃模式的编码器侧判定 | |
CN105684409B (zh) | 在视频和图像编码和解码中使用散列值来表示各块 | |
CN105359531B (zh) | 用于针对屏幕内容编码的编码器侧判定的方法和系统 | |
CN105393537B (zh) | 用于基于散列的块匹配的散列表构建和可用性检查 | |
CN105684441B (zh) | 视频和图像编码中的基于散列的块匹配 | |
US10681363B2 (en) | Lossless compression method and system applied to hardware video decoding | |
CN101527848B (zh) | 图像编码设备 | |
CN102369522A (zh) | 计算引擎的并行流水线式集成电路实现 | |
CN101933331A (zh) | 视频编码装置、视频解码装置、视频编码方法、视频解码方法、视频编码或解码程序 | |
CN106791833A (zh) | 编码方法、解码方法、编码设备以及解码设备 | |
CA3069635C (en) | Method and apparatus for range derivation in context adaptive binary arithmetic coding | |
CN104718758A (zh) | 变换域帧内预测 | |
CN103167289B (zh) | 图像的编码、解码方法及编码、解码装置 | |
CN105027560A (zh) | 确定用于变换系数的二进制码字的方法 | |
CN105474642A (zh) | 使用频域差对图像集合进行重新编码 | |
CN109936742A (zh) | 对视频序列进行编码的方法、编码装置和存储介质 | |
WO1999000763A1 (en) | A memory based vlsi architecture for image compression | |
RU2679215C1 (ru) | Устройство кодирования изображения, способ кодирования изображения и долговременный считываемый компьютером носитель записи | |
CN103155554A (zh) | 通过基于图像内容搜索和分级在视频压缩中对至参考块的链接进行编码 | |
KR20000061181A (ko) | 비트스트림 디코딩 장치 | |
CN102905125B (zh) | 运动图像编码设备和运动图像编码方法 | |
US20040146110A1 (en) | Method for vector prediction | |
CN110035288A (zh) | 对视频序列进行编码的方法、编码装置和存储介质 | |
US8798139B1 (en) | Dual-pipeline CABAC encoder architecture |
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: 20090429 |
|
CF01 | Termination of patent right due to non-payment of annual fee |