CN1324060A - 图像编码/解码方法及其装置和记录节目的记录介质 - Google Patents

图像编码/解码方法及其装置和记录节目的记录介质 Download PDF

Info

Publication number
CN1324060A
CN1324060A CN01104592A CN01104592A CN1324060A CN 1324060 A CN1324060 A CN 1324060A CN 01104592 A CN01104592 A CN 01104592A CN 01104592 A CN01104592 A CN 01104592A CN 1324060 A CN1324060 A CN 1324060A
Authority
CN
China
Prior art keywords
vector
group
piece
image
value
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.)
Pending
Application number
CN01104592A
Other languages
English (en)
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.)
Hudson Soft Co Ltd
Original Assignee
Hudson Soft Co Ltd
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 Hudson Soft Co Ltd filed Critical Hudson Soft Co Ltd
Publication of CN1324060A publication Critical patent/CN1324060A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/008Vector quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/649Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding the transform being applied to non rectangular image segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods 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/94Vector quantisation

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)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明涉及图像编码/解码方法及其装置和记录节目的记录介质,由此编码/解码能高速地获得高质量图像。在图像编码方法中包括通过分割每B个像素的图像数据为一块的方法产生一由每个块平均值组成的DC图像,使所述DC图像的一部分形成一DC组,其中从被编码的像素块<Rj>中分离出DC值DCJ获得的微分矢量<dj>;在允许值Z范围内,通过使用DC组的自适应正交变换(AOT)计算一或更多个正交基(αk<Vk>),使微分矢量近似于它,设每个从DC组中取样的基础提取块<Ui>的最低的n(n=log2B)比特为0。进而,基础提取矢量<Ui>;通过从基础提取块<Ui>;中分离出块平均值ai来产生。

Description

图像编码/解码方法及其装置和记录节目的记录介质
本发明涉及图像编码/解码方法及其装置和记录节目的记录介质,特别是涉及依照混合矢量量化(Hybrid Vector Quantization,HVQ)系统的图像编码/解码方法及其装置和记录节目的记录介质。
依照JPEG(联合摄影专家组)系统,通过二维DCT(离散余弦变换)8乘8像素块转换成DC(直流)值和从基频到63次倍频的各系数值,这样通过系数值在不同量化宽度的量化,信息量减少了,而利用频率集中在低频范围内的自然图像的频率成分的图像质量不会降低,这样就实现了霍夫曼(Huffman)编码。
依照HVQ系统,它是一种与JPEG、自适应正交变换(AOT)相同的平均值分离型块编码,它是一个在矢量量化和正交变换编码之间的用作压缩原理的中间系统。AOT是一个从相应于矢量量化的代码本的基组合中选出非正交基数最少的系统,并且目标块变得接近想要的和允许的误差“Z”。依照HVQ系统,解码执行得很快,因为解码操作能够以整数的形式进行。自然图像和人工图像(动画图像,CG图像)能够压缩为高品质图像,因为没有特别以JPEG方式产生的很小的和阻塞式噪声,特别是在GIF中产生的假的轮廓线。本发明涉及一种进一步改善图像质量和以高速在HVQ系统中执行编码操作的方法。
在日本专利申请号189239/98中,本发明的申请人曾提出了一种依照HVQ系统的利用图像自相似性的图像编码/解码方法。这计划的内容将在下面解释。在披露中标记<a>表示矢量“a”或块“a”,标记‖a‖表示矢量“a”的模,标记<a·b>表示矢量a和b的点积。而且,在附图中的矢量和块和[数字]由块字母表示。
附图1是表示传统的图像编码的方框图。在附图1中,11是存储原始图像数据的原始图像存储器,12是DC值处理单元,用来在原始图像数据的每个像素块(4乘4像素)中寻找块平均(DC)值,13是一个微分PCM编码单元(DPCM),用来对每一个DC值执行一个微分预测编码,14是反向DPCM编码单元,用来从微分PCM编码中解码得出每一个DC值,15是DC图像存储器,用来存储解码后的DC图像,16是DC组产生单元,用来从一部分DC图像中切割出想要大小的DC组,17是DC组存储器,用来存储DC组。
进而,18是减法器,用来从将被编码的目标图像块<RJ>中分离出相应的解码DC值“DCJ”,19是微分矢量缓冲器,用来存储与DC分离的微分矢量<dJ>,20是一个提取块缓冲器,用来存储从DC组中取样的4乘4像素基础提取块<Ui>,21是平衡装置,用来从基础提取块<Ui>中求出块平均值ai,22是减法器,用来从基础提取块<Ui>中分离出块平均值ai,23是提取矢量缓冲器,用来存储由平均值分离的基提取块<Ui>,24是自适应正交变换(AOT)处理单元,用来产生正交基αk<uk′>(k=1~m)来搜索DC组使微分矢量<dj>更接近于所允许的误差Z,微分矢量的模的平方‖dj2超过了允许误差Z,25是系数转换单元,用来搜索展开的平方系数βk,它乘以每个产生的正交基αk<uk′>(k=1~m)的非正交基矢<uk>(k=1~m)以便产生相应的非正交基βk<uk>(k=1~m),26是霍夫曼编码的编码单元,控制长度编码或固定长度编码系统编码的编码单元,用来压缩信息编码,比如DC值的DPCM编码或者非正交基βk<uk>。
在DC值产生单元12中,提供4乘4像素的块平均值,第一小数位被舍入或舍去。在DPCM13中,由DCJ,1表示行J和列I的DC值,DCJ,1的预测值DCJ,1′由以下公式提供,DCJ,1′=(DCJ,1-1+DCJ-1,1)/2,它的预期误差(ΔDCJ,1=DCJ,1-DCJ,1′)由量子化系数Q(Z)线性量化并输出。量化系数Q(Z)相应于允许的误差Z并依照允许的误差Z在1到8的范围内可变。
在DC组产生单元16中,DC组通过从DC图像中在垂直39×水平71的范围内的复制来准备。最好DC组包括较多的交流成分,因为它被用作编码本。因此,通过这样范围的复制进行准备,使在多个提取区中邻近的DC值之差的绝对值的总和最大。
在做基提取块<Ui>的取样时,每个DC值在垂直和水平部分上的顶点设为(px,py)∈[0,63]×[0,31],它的分取样的间隔设置为4种(sx,sy)∈{(1,1),(1,2),(2,1),(2,2)}。因此,基础提取块<Ui>的总数为N(=8192),并由从AOT24来的索引计数器“i”指定。传统的自适应正交变换处理单元24将在下面描述。
附图2是传统的自适应正交变换处理的流程图,附图3是这一处理的示意图。在附图2中,输入到处理中的微分矢量的模的平方‖dj2比Z大。在步骤S121,微分矢量的模的平方‖dj2设置在寄存器E中。基数计数器初始化为k=1。在步骤S122,大量的值(例如100,000)设在最小值保存寄存器E′中。在步骤S123,基础提取块<Ui>的索引计数器初始化为i=0。通过这些步骤,初始的地址和在DC组中分取样间的距离分别设置为(px,Py)=(0,0)和(sx,sy)=(1,1)。
在步骤S124,基础提取矢量<ui>通过从基础提取块<Ui>分离出块平均值ai来产生。因为操作或运算在整数级别的精确度下进行,任何在块平均值ai的第一小数位被舍入或舍去。在步骤S125,基提取矢量<ui>受到正交变换处理,如果必要(k>1),转换为正交基矢<uk′>。
附图3(A)和(B)是正交变换处理的示意图。在附图3(A)中,第一基础提取矢量<u1>实际上能够是第一基矢<U1′>。
这样,依照如下的方法,第二基础提取矢量<u2>受到正交变换处理转换为第二基矢<U2′>。也就是,第二基础提取矢量<u2>在第一基矢<U1′>上的投影由公式(1)表示。[数字1] | | u 2 | | cos &theta; = &lang; u 1 &prime; &bull; u 2 &rang; | | u 1 &prime; | |    ∵〈u1′·u2〉=‖u1′‖‖u2‖cosθ    (1)
因此,第二正交矢量<U2′>通过从第二基础提取矢量<u2>减去投影矢量获得。 u 2 &prime; = u 2 - &lang; u 1 &prime; &bull; u 2 &rang; u 1 &prime; | | u 1 &prime; | | | | u 1 &prime; | | - - - - ( 2 )
在附图3(B)中,第三基础提取矢量<u3>受到正交变换处理为第一基矢<U1′>和第二基矢<u2′>。
附图3是三维的图。第三基提取矢量<u3>受到正交变换处理为第一基矢<U1′>以获得中间正交矢量<u3″>。[数字3] u 3 &Prime; = u 3 - &lang; u 1 &prime; &bull; u 3 &rang; | | u 1 &prime; | | 2 u 1 &prime; - - - - ( 3 )
进而,中间正交矢量<u3″>受到正交变换处理为第二基矢<u2′>以获得第三基矢<u3′>。[数字4] u 3 &prime; = u 3 &Prime; = &lang; u 2 &prime; &bull; u 3 &Prime; &rang; | | u 2 &prime; | | 2 u 2 &prime; = ( u 3 - &lang; u 1 &prime; &bull; u 3 &rang; | | u 1 &prime; | | 2 u 1 &prime; ) - &lang; ( u 3 - &lang; u 1 &prime; &bull; u 3 &rang; | | u 1 &prime; | | 2 u 1 &prime; ) &bull; u 2 &prime; &rang; | | u 2 &prime; | | 2 u 2 &prime; = u 3 - &lang; u 1 &prime; &bull; u 3 &rang; | | u 1 &prime; | | 2 u 1 &prime; - &lang; u 2 &prime; &bull; u 3 &rang; | | u 2 &prime; | | 2 u 2 &prime; - - - - ( 4 )
回到附图2,在步骤126,标量系数αi用正交矢量<u1′>计算以便与微分矢量<dk>(在第一矢量<dj>)的间隔成为最小。
附图3(C)是正交变换处理的示意图。在附图3(C)中,对<dk>表示的微分矢量取近似,当正交矢量<u1′>和标量系数αi的乘积如在附图3(C)中所示的微分矢量{<dk>-αi<ui′>}为对角线时,所得到的模的平方(ei=‖<dk>-αi<ui′>‖2)最小。因此,标量系数αi由公式(5)获得。[数字5]
1ui′·(dk1ui′)>=0   α1<u1′·dk>-α1 2<u1′·u1′>=0    (5-1) &alpha; 1 = &lang; d k &bull; u 1 &prime; &rang; | | u 1 &prime; | | 2 - - - - ( 5 - 2 )
在附图中所示的微分矢量<dk>(k=0)受到近似成为一个第一基础提取矢量<uj′>。第一基础提取矢量<uj′>由示意图表示,因为它能取任意方向。
回到附图2,在步骤S127,在微分矢量<dk>(k=0)近似为基础提取矢量αi<uj′>后,误差矢量模的平方(ei)由公式6获得。[数字6]ei=‖dk1u1′‖2=‖dk2-2α1<dk·ui′>α1 2‖u1′‖2 = | | d k | | 2 - 2 &lang; d k &bull; u i &prime; &rang; 2 | | u i &prime; | | 2 + &lang; d k &bull; u 1 &prime; &rang; 2 | | u 1 &prime; | | 2 | | u 1 &prime; | | 2 = | | d k | | 2 - &lang; d k &bull; u 1 &prime; &rang; 2 | | u 1 &prime; | | 2 = E - &lang; d k &bull; u 1 &prime; &rang; 2 | | u 1 &prime; | | 2 - - - - ( 6 )
在附图2的步骤128中,判断ei是否小于E′。如果ei小于E′,E′的内容在步骤S129更新,同时关于αi、<ui′>、<ui>等的信息以排列[αk]、[uk′]、[uk]等保存。如果ei不小于E′,跳过步骤S129的处理。
在步骤S130,一个(1)加到计数器i,并在步骤S131,判断i是否不小于N(=8192)。如果i小于N,回到步骤124并执行关于下一个基础提取块<ui>的相同处理过程。
重复处理过程并当在步骤S131判断i不小于N时,所有的基础提取块<ui>已经全部被试过。那时候,寄存器E′保存模的平方ei的最小值。
在步骤S132判断E′是否不大于Z。如果E′大于Z,在步骤S133处理为E=E′。也就是,微分矢量的模的平方被更新。在步骤S134,一个(1)加入计数器k,回到步骤S122。如果E′不大于Z,跳过这一处理。这样,获得了使第一微分矢量<dj>近似到所允许的误差Z的正交基矢αk<uk′>(k=1~m)。
然而,基础提取块<Ui>的块平均值ai已经在传统的方法中被舍入或舍去了,因此图像质量的改善受到限制。传统的方法为什么不方便将会依照附图4进行说明。
附图4是平均值分离处理的示意图。基础提取块<Ui>(垂直轴向)与某一行(水平轴向)的像素值的关系显示在附图4(a)中。实际的像素值是16像素的块平均值,但是在这里4像素的块平均值将用来简化说明。在附图4(a)中,各像素的值是5、2、4和3,其平均值ai是3.5。当第一个小数位被舍去时,如附图4(b)所示基础提取块<ui>的块平均值ai是0.5。在附图4(c)中,如果基矢βk<uk>加入到解码块的DC值DCJ,就把DC成分(ai=0.5)叠加在目标块<Rj>上。当基的数目是多个时,0<ai<1范围的各种值叠加在DCJ上,作为结果,在解码后的图像的每一块上都叠加了一定的噪声,因而图像的质量得不到改善。这一缺陷也会发生在第一位小数四舍五入的情况下。
依照传统的AOT处理,需要大量的操作和大量的时间,因为所有的基础提取矢量<ui>必须正交处理为前述的基础矢量<uk′>。
因此,本发明的目的是提供一种高速高图像质量的图像编码/解码方法,及其装置和用于记录这样节目的记录介质。
例如,本发明以上的目的能够通过如附图5所示的结构解决。就是说,本发明(1)的图像编码方法包括通过把图像数据每B个像素分割为一个块的方法来产生由每一个块平均值组成的DC图像,取所述的DC图像的一部分为一个DC组,其中通过从待编码的像素块中分离出DC值DCJ获得的微分矢量<dj>在允许值Z的范围内,计算一个或更多正交基矢(例如αk<vk>),微分矢量<dj>近似于它,方法是利用DC组的自适应正交变换(AOT),其中每一个取样中的DC像素的最低n(n=log2B)比特设为0,其中基础提取块从DC组中取样,它的块平均值用所取的那些样来计算。
因此,任何小于1的小数不出现在块平均值ai中,并且整数级精确度的块平均值ai以高速获得。
在发明(1)的优选实施例,就是发明(2)中,DC像素的最低n比特设为0或是被掩盖掉,其中DC组从DC图像中产生。
因此,DC像素的最低n比特设为0或被掩盖的DC组,通过一个处理高效地获得。
在发明(1)或(2)的优选实施例,就是发明(3)中,产生基础提取块<ui>,微分矢量<dj>近似于它,方法是从基础提取块<Ui>分离出块平均值ai,在<Ui>中DC像素的最低n比特设为0。
依照发明(3),在这样的基础提取块<ui>中所有元素的和(块平均值)总是0因而DC成分完全被分离出来。因此,尽管基础矢量<uk>在解码一侧互相堆积,不会引起不必要的DC成分(噪声)。在HVQ系统中的图像质量由发明(3)进一步改善。
发明(3)的优选实施例,就是发明(4)中,基础提取块<ui>的任何元素(例如u16)可由其余元素的线性组合代替,因而基础提取矢量<ui>和其余任选矢量<w>的点积可由以下公式计算:<w·ui>=(w1-w16)u1+(w2-w16)u2+…+(w15-w16)u15
在发明(4)中,在基础提取块<ui>中的所有元素的和总是0,因此,可选元素(例如u16)可由其余元素的线性组合表示。因此,与其余的任选矢量<w>的点积计算<w·ui>能够展开为由以上公式表示的乘积的和来计算,从而可以省略这样复杂一个单循环的计算。因为矢量的大多点积计算由于依照HVQ系统的图像编码方法要进行大量矢量的点积计算,省略这样一个单循环计算对实现高速编码处理是一个贡献。
发明(3)或(4)的优选实施例,就是发明(5)中,搜索第一基以便在以下公式中hi可以是最大值,
hi=<d·ui>2/‖ui2
其中<d>是微分矢量和<ui>是基础提取矢量。
依照发明(5),通过以上简单计算可以找到与微分矢量之差的模的平方‖<d>-<αiui>‖2达到最小的条件。因此,AOT处理能够以高速实现。
在发明(6)中,搜索第二基,以便hi可以是以下公式的最大值,
hi={<d·ui>-(<d·u1><u1·ui>/‖ui2)2
       /{‖u12-(<u1·ui>)/‖u12}
其中<d>是微分矢量,<u1>是相应于第一基的基础提取矢量,<ui>是在发明(3)或(4)中用来搜索第二基的基础提取矢量的。
依照发明(6),除了发明(5)的改进以外,AOT处理能够以更高速度、更高效地进行,这是因为在第一基的搜索中已经获得的计算结果能够用于分子中的<d·u1>和‖ui‖,和分母中的‖ui2和‖u1‖。
在发明(3)或(4)的优选实施例,也就是发明(7)中,搜索第三基,以便hi可以是以下公式中的最大值,
hi=(<d·ui>-<d·v1><v1·ui>-<d·v2><v2·ui>)
      /{‖u12-<v1·ui>2-<v2·ui>2}
其中<d>是微分矢量,<v1>是第一正交基础矢量,<v2>是第二正交基础矢量和<ui>是用来搜索第三基的基础提取矢量的。
依照发明(7),除了发明(5)和(6)的改进以外,AOT处理还能够更有效和在高速下进行,因为在第一和第二基的搜索中已经获得的计算结果能够用于分子中(<d·ui>-<d·v1><v1·ui>),和分母中的(‖u12-<v1·ui>2)。
在发明(6)或(7)的优选实施例,也就是发明(8)中,与搜索条件匹配的基础提取矢量<ui>需与一个或更多的正交基进行正交变换。
那就是,每一个基础提取矢量<ui>需做一次正交处理,在实现了每一个步骤,搜索结束后,它被用做基,由此AOT处理能更有效和高速地进行。
在发明(9)的图像编码方法中,每个标量展开系数β1~βm的模以递减的次序重新排列,邻近的每一个模之间的差(包括0)被计算,霍夫曼编码应用到已获得的差中。在该方法中,基由βk<uk>表示,其中k=1~m。
通常,每个标量展开系数β1~βm的模能够取多种值。当这个值以递增或递减的次序重新排列和相邻的模之间的差被计算出来时,每一个差经常彼此相近或相同。通过把霍夫曼编码应用于差值进一步压缩编码是可能的。
在发明(10)的图像编码方法中,用编码目标块的图像数据<Rj>的编码来代替基的编码,在那里基多于某一个数目。因此,解码的图像质量得到改善。在实际中,它不会影响编码压缩比,因为这样的情况很少。
本发明以上的目的能够由例如在附图14中的结构解决。那就是说,发明(11)的图像编码方法包括复制相应于关于HVQ系统的来自编码数据的每B像素每一个块平均值的DC图像,方法是把所述DC图像的一部分作为一个DC组,通过把基于编码数据从DC组中选出一个或更多的基矢量βk<uk>合成为目标块的DC值DCJ,再生目标块的图像数据<Rj>,在每个取样中的DC像素的最低n(n=log2B)比特设为0,其中所选择的块从DC组中取样且它的块平均值用那些取样来计算。
因此,在块平均值中不会出现任何小于1的小数,并且,整数级精确度的块平均值以高速获得。
依照发明(12)中图像编码方法,其中解码基是关于βk<uk>(k=1~m)的信息,将从DC组中读出的每个选定的块(Uk)DC像素的最低n(n=log2B)设为0,进行基βk<uk>(k=1~m)的乘积的和的计算,计算的结果由块像素的数目B除。
在发明(12)中,每个选定块(Uk)的最低n比特设为0,因此,即使这些被累加,累加的结果也成为块大小B(例如16)的整数倍。展开系数βk是整数精度的。因此,如果累加结果被块像素的数目B除,块平均值Aj由一个处理高效地获得。因此,基矢βk<uk>(k=1~m)的重叠计算能够高效地实现。
在发明(11)或(12)的优选实施例,也就是发明(13)中,每个DC像素的最低的n比特设为0,其中DC组由DC图像产生,因而处理可高效地实现。
发明(14)中的图像编码装置包括通过把每B个像素分成一个块来产生每一个块平均值组成的DC图像,使所述DC图像的一部分作为一个DC组,通过从将被编码的像素块中分离DC值DCJ获得的微分矢量<dj>在所允许值Z范围内,计算一个或更多的正交基(例如αk<vk>),微分矢量<di>近似于它,方法是使用DC组自适应正交变换(AOT),并提供存储器17来存储DC像素的最低n(n=log2B)比特设为0的DC组。
发明(15)的图像解码装置包括由关于HVQ系统的编码数据再生相应于每B个像素的每个块平均值的DC图像,使所述DC图像的一部分作为一个DC组,再生目标块的图像数据<Rj>,方法是把基于编码数据由DC组选出的一个或更多的基矢βk<uk>合成,并提供存储器49来存储DC像素的最低n(n=log2B)比特设为0的DC组。
发明(16)的记录介质包括存储节目的计算机可读记录介质,使计算机实现发明(1)到(13)中所描述的处理。
附图1表示传统的图像编码器的框图;
附图2是传统的自适应正交变换处理的流程图;
附图3是传统的自适应正交变换处理的示意图;
附图4是传统的平均值分离处理示意图;
附图5是发明原理的解释图;
附图6是表示本发明的一个实施例的图像编码器的框图;
附图7是表示本发明的一个实施例的主要图像编码处理的流程图;
附图8是表示本发明的一个实施例的自适应正交变换处理的流程图(1);
附图9是表示本发明的一个实施例的自适应正交变换处理的流程图(2);
附图10是本发明的一个实施例的自适应正交变换处理的流程图(3);
附图11是本发明的一个实施例的DC组的说明图(1);
附图12是本发明的一个实施例的DC组的说明图(2);
附图13是展开系数的压缩编码处理的示意图;
附图14是表示本发明一个实施例的图像编码器的框图;
附图15是表示本发明的一个实施例的图像解码处理的流程图;
附图16是表示本发明的一个实施例的交流成分预测的示意图。
参照附图,将对本发明适宜的实施例进行详细的描述。在全部附图中相同的标记指示相同或相应的部分。
在附图6中,它是表示本发明的图像编码装置的框图,31是DC组产生单元,依照本发明它从解码DC图像中产生DC组,17是DC组存储器,它存储产生的DC组,32是自适应正交变换(AOT)处理单元,它高效高速地实现AOT处理,33是系数变换单元,34是编码单元,它能够使展开系数βk高度压缩。其他结构与附图1中相同。每一个单元的特征将从如下的性能的解释中明显起来。
在附图7中,它是表示本发明一个实施例的一个主要的图像编码处理的流程图,在步骤S1原始的图像数据输入到原始图像存储器11中。例如,一个R.G.B.目标图像转换为一个Y.U.V图像,它输入到存储器11。Y是亮度数据,U和V是色差数据。U和V在水平方向上使用2像素的亮度平均值取样。作为一个例子,亮度数据Y由垂直960×水平1280个像素组成,又如每个像素分配8比特。下面将主要说明亮度数据Y的处理,U和V的处理是类似的。
关于所有图像的每个4×4像素块平均(DC)值在步骤S2计算。同时第一小数位被舍去。所有的DC值用传统的二维DPCM方法等编码,并在步骤S3输出。在步骤S4,所有的DPCM输出用IDPCM方法解码以便重现DC图像,DC图像被存储在DC图像存储器15中。这一步骤是用来使在编码侧与在解码侧有相同的AOT处理条件。在步骤S5,DC组在DC组产生单元31中由DC图像重现,它存储在DC组存储器17中。分割DC组的排列能够以传统的相同方式选择。
在附图11(a)中,从DC图像存储器15分割每个DC像素的DCJ的最低的4比特被扣除(被设为0),它被存储在DC组存储器17的组像素NJ中。最低的4比特出现在关系式24=B(B=块的尺寸16)或4=log2B中。最低4比特被扣除的结果是,基础提取块<Ui>的和总是整数的倍数,和的1/16的块平均值ai总是整数。因此,通过从基础提取块<Ui>中分离块平均值ai所获得的基础提取矢量<ui>总是0。
在附图11(a)和(b)中,具体值的图表作为例子示出,图中用4像素的平均值来简化说明。在附图11(c)中,即使许多个基矢βk<uk>累加到解码块<Rj>的DC像素DCJ中,噪声也不会象通常那样叠加进来,因为每个基矢βk<uk>的块平均值总是0,由此,图像质量能够大大改善。
在附图11中的值的例子显示在附图12(a)中。DC像素A到D的和是251,它的平均值是251/4=62.75(非整数)。当DC像素A到D变换为组像素A到D时,最低的4像素被扣除,由此组像素A到D的和是224,它的平均值AV是224/4=56(整数)。通过从组像素分离组像素的平均值56获得的基础提取矢量<ui>的a到d的各元素分别为24,-24,8和-8。这些元素的和是0(全部平均值分离)。
除了DC像素A到D被复制为组像素A到D和最低的4比特从组像素A到D中被扣除以外,与在附图12(a)相同的值显示在附图12(b)中。依照本方法,和是16的倍数,块的平均值是60(整数)。然而,依照本方法,通过从组像素A到D中分离出组像素的平均值60获得的基础提取矢量<ui>的每个元素a到d分别成为33,-25,13和-10。这些元素的和不等于0(全部平均值分离)。
正如在附图12(b)中所表示的那样,DC图像的一部分被复制到组像素A到D后,当基础提取块<Ui>是从DC组中取样的时,最低的4比特可以从每个像素中扣除。
回到附图7,指示原始图像存储器11和DC图像存储器15的每个索引计数器j,J在步骤S6初始化为0,其中j指示编码目标的目标块<Rj>的索引计数器,J指示DC像素的索引计数器。在步骤S7,微分矢量<dj>通过从目标块<Rj>中分离出相应的解码DC值DCf获得。在步骤S8中,判断微分矢量的模的平方‖dj2是否大于允许的误差Z。当‖dj2不大于Z时,在步骤17中0作为基的数目被输出。在这种情况下,目标块<Rj>通过交流成分预测的方法被解码,这一点在下文中说明。当‖dj2大于Z时,在步骤S9中执行下文描述的自适应正交变换(AOT)处理。
在步骤S10,判断通过自适应正交变换产生的基的数目k是否大于4。依照实际的测量,在大多数情况下获得了k=1到3的统计结果。因此,当k大于4时,在步骤S18输出作为基数目的代码“5”并输出目标块<Rj>的每一个像素值。当k不大于4时,如下所述,在步骤S11中执行展开系数βk的变换。在步骤S12,输出基的数目m,展开系数βk和非正交基矢<ui>的每一个索引信息i编码。
在步骤S13,“1”分别加到计数器j和J上。在该步骤中,每在计数器j中增加1就意味着更新一个像素块。在步骤S14中判断j是否不小于M(全部图像块的数目)。当j小于M时,回到步骤S7并对下一个目标块<Rj>重复相同的编码处理,接下去是相同的步骤。在步骤S14,判断j不小于M,就进行编码处理,例如,如下文所述在步骤S15中用霍夫曼方法实现。这样,一个像素的编码处理就结束了。
在附图8到10中,每一个是自适应正交变换处理的一个流程图(1)、(2)或(3),它显示了正交基αk<vk>(k=1~m)的最小必要数目以高速高效地获得。在以下的说明中,在步骤S7获得的初始的微分矢量<dj>用<d>表示,以后将被更新的微分矢量用<dk>(k=1~m)表示。
在附图8中显示了第一基的搜索处理。在说明处理之前,用来高速处理的计算的思路将被说明。那就是,第一基通常作为基础提取矢量<uj>获得,使得第一基和微分矢量<d>之间差的模ei的平方成为最小,并通过公式(7)表示。[数字7] e 1 = | | d - &lang; d &bull; u i &rang; | | u i | | 2 u i | | 2 = | | d | | 2 - 2 &lang; d &bull; u 1 &rang; 2 | | u 1 | | 2 + &lang; d &bull; u 1 &rang; 2 | | u i | | 4 | | u 1 | | 2 = | | d | | 2 - &lang; d &bull; u 1 &rang; 2 | | u 1 | | 2 但L、u1=u1′                                        (7)
公式(7)右边的大于0的第一项‖dj2与提取基无关,因此,使公式(7)的右侧的第二项最大的<ui>能够是第一基。右侧的第二项hi由公式(8)表示。[数字8] h 1 = &lang; d &bull; u i &rang; 2 | | u 1 | | 2 - - - - ( 8 )
下面对寻找和判断使hi最大的第一基αk<vk>的处理加以说明。在步骤S22,十五维矢量<d′>通过从其余分量减去<d>的第十六分量而获得,作为下述点积计算<d·ui>的预处理。在步骤S22中,获得关于i=0~(N-1)的hi的分子中的<d′·ui>并存储在排列[Pi]{i=0~(N-1)}中。
更具体地说,<ui>是16维矢量,但是它的第十六维分量u16能够由其余的十五个分量的线性组合表示,因为块平均值(所有元素的和)是0。[数字9]
u1=[u1,u2,u3,…,u16]
u1+u2+…+u16=0                                  (9)
u16=-(u1+u2+…+u15)
因此,hi分子的点积<d·ui>能由与其相等的<d′·ui>来计算,因而,
一个相应于关于全体i的8192次积/和计算能够被省略。
[数字10]
<d·u1>=d1u1+d2u2+…+d15u15-d16(u1+u2+…+u15)
        =(d1-d16)u1+(d2-d16)u2+…+(d15-d16)u15
        =<d′·u1>                              (10-1)
d′=[(d1-d16),(d2-d16),…,(d15-d16)]           (10-2)
    在步骤S23,获得关于i=0~(N-1)的hi分子的模的平方‖ui2
并以排列[Li]{i=0~(N-1)}存储。
[数字11]
‖ui2=u1 2+u2 2+…+u16 2                        (11)
重复使用排列[Li]。在步骤S24,寄存器E=0存储hi的最大值,基
础提取矢量<ui>的索引计数器和基数计数器被分别初始化为i=0和
k=1。
在步骤S25,计算hi=Pi 2/Li的值。在步骤S26,判断hi是否大于E。
当hi大于E时,在步骤S27,E被更新为hi,并排列[Ik](k=1)保存。
当hi不大于E时,跳过在步骤S27的处理。
在步骤S28,1加到i中并在步骤S29,判断i是否不小于N(总提取数)。当i小于N时,回到步骤S25并同上述的同样方法执行下一个hi最大值寻找处理。
当i不小于N时,重复同样的处理并结束所有组块的寻找。同时,使hi最大的第一基矢<ui>的索引值保存以排列[Ik]保存。
在步骤S30中,第一基矢<ui>被归一化为归一化基矢<vi>并以排列[Vk](k=1)存储。再计算标量系数α1(<d>在<vi>上的投影)并以排列[Ak](k=1)存储。
在步骤S31,微分矢量<d>被近似为第一基并由微分矢量<d1>=<d>-α1<vi>更新。在步骤S32,计算新的微分矢量的模的平方e=‖u12。在步骤S33,判断e是否不大于Z。当e不大于Z时,AOT处理在步骤中结束。当e大于Z时,执行第二基的搜索处理。
第二基的搜索处理在附图9中表示。在说明该处理前,说明有效的计算的思路。那就是,通常得到的第二基是正交矢量<uj′>,它使第二基与微分矢量<d1>之差的模ei的平方成为最小,并用公式(12)表示。[数字12] e 1 = | | d 1 - &lang; d 1 &bull; u 1 &prime; &rang; | | u 1 &prime; | | 2 u 1 &prime; | | 2 = | | d 1 | | 2 - 2 &lang; d 1 &bull; u 1 &prime; &rang; 2 | | u 1 &prime; | | 2 + &lang; d 1 &bull; u 1 &prime; &rang; 2 | | u 1 &prime; | | 4 | | u i &prime; | | 2 = | | d 1 | | 2 - &lang; d 1 &bull; u 1 &prime; &rang; 2 | | u 1 &prime; | | 2 - - - - ( 12 )
正交矢量<ui′>通过第二基础提取矢量<ui>的正交变换变换为第一规一化的基矢<v1>。[数字13] u i &prime; = u i - &lang; u i &bull; v 1 &rang; | | v 1 | | 2 v 1 = u 1 - &lang; u 1 &bull; v 1 &rang; v 1 - - - - ( 13 )
在公式(12)右侧的大于0的第一项‖d‖2与提取基无关,因此使公式(12)右侧的第二项最大的<ui′>能够是第二基。右侧的第二项hi用公式(14)表示。[数字14] h 1 = &lang; d 1 &bull; u 1 &prime; &rang; 2 | | u i &prime; | | 2 - - - - ( 14 )
依照公式(14),能够计算hi,但为了有效地利用附图8中的计算结果,可以变换公式(14)的分母。也就是,如果hi分子的正交矢量<ui′>用基础提取矢量<ui>表示,hi分子能够用公式(15)表示。[数字15]<d1·u1′>2=<d1·(u1-<u1·v1>v1)>2
           =(<d1·u1>-d1·<u1·v1>v1)2
           =<d1·u1>2 ∵<d1·v1>=0               (15)
而且,如果公式(15)的微分矢量<di>用第一微分矢量<d>表示,
hi分子能够用公式(16)表示。
[数字16]
<d1·ui>2=<d-<d·v1>v1)·ui>2
             =(<d·u1>-<d·v1><v1·u1>)2 = ( &lang; d &bull; u i &rang; - &lang; d &bull; u 1 &rang; | | u 1 | | &lang; u 1 &bull; u i &rang; | | u 1 | | ) 2 - - - - ( 16 )
因此,在第一要素的搜索中获得的计算结果<d·ui>能够用在hi分子的计算中。而且,当hi分母被变换时,它能够用公式(17)表示。[数字17]‖u1′‖2=‖ui-<u1·v1>v12
        =‖ui2-2<u1·v1>2+<ui·v1>2‖v12
        =‖ui2-<u1·v1>2 = | | u i | | 2 - ( &lang; u i &bull; u 2 &rang; | | u 1 | | ) 2 - - - - ( 17 )
因此,在第一要素搜索中获得的计算结果‖ui2,‖u1‖能够用在hi分子的计算中。当把hi代入公式(14)中时,它能用公式(18-1)并最终用公式(18-2)表示。[数字18] h 1 = ( &lang; d &bull; u 1 &rang; - &lang; d &bull; u 1 &rang; | | u 1 | | &lang; u 1 &bull; u i &rang; | | u 1 | | ) 2 | | u 1 | | 2 - ( &lang; u i &bull; u 1 &rang; | | u 1 | | ) 2 - - - - ( 18 - 1 ) = ( P i - P k L k &lang; u k &bull; u 1 &rang; L k ) 2 L 1 - ( &lang; u k &bull; u i L k ) 2 - - - - ( 18 - 2 ) 排列[Pi],[Li]的计算结果能够分别用在Pi=<d1·ui>,Li=‖u12中,且前述的结果能够用在Pk=Pi=<d·u1>,
Figure A0110459200271
Lk= Li=‖u1‖中。因此,要求重新计算<uk·ui>=<u1·ui>中的一部分。
基于以上的背景,第二基的搜索由以下的计算实现。那就是,在步骤S41,当k=1时,P1=<d·u1>和L1=‖u12成立。在步骤S22和S23获得的结果能够被使用。在步骤S27,在索引计数器i中P1的数字“1”表示第一基<u1>并在步骤27保存在排列[Ik]中,在步骤S42,用公式(19)执行计算并把结果存储在寄存器η,κ中。[数字19] &eta; = 1 L k - - - &kappa; = P k &eta; - - - - ( 19 )
在步骤S43,十五维矢量<w1>通过从其余分量中减去<u1>的第16分量得到,作为如以下所述的点积计算<u1·ui>。在步骤S44,关于i=0~(N-1)的点积<wk·ui>被计算并存储在排列[Qi]。在步骤S45,对于i=0~(N-1)的(Pi-kQi)被计算并存储和写入排列[Pi]中。步骤S45的计算结果存储在(写在上面)排列[Pi]中,由此,排列[Pi]的内容依照前面的计算结果逐渐更新。进而,在步骤S46,对于i=0~(N-1)的(Li-Qi 2)被计算并存储和写在排列[Li]中。在右边的Li是在步骤S23的计算结果。在步骤S46的计算结果在步骤S23存储并写入到排列[Li],因而排列[Li]的内容依照前面的计算结果被逐渐的更新。hi的重复计算最终由公式(20)表示。[数字20] h 1 = ( P 1 - &kappa;Q 1 ) 2 L 1 - Q 1 2 = P i 2 L i - - - - ( 20 )
在步骤S24,保存hi最大值的寄存器和基础提取矢量<ui>的索引计数器被分别初始化为E=0和i=0,并把“1”加入到基数计数器k上使之成为k=2。
在步骤S48,计算hi=Pi 2/Li。在步骤S49,判断i是否大于E。当hi大于E时,在步骤S50,E用hi更新并将存储在排列[Ik]中(k=2)。当hi不大于E时,跳过步骤S59的处理。
在步骤S51,“1”加入到i中并在步骤S52,判断i是否不小于N。当i小于N时,回到步骤S42并对下一个hi执行最大值搜索。当执行相同的处理和i不小于N时,所有组块的搜索结束。同时,使hi最大的第二基矢<ui>的索引值存储在排列[Ik](k=2)中。
在步骤S53,第二基矢<u2>以<v1>归一化为归一化的基矢<v2>存储在排列[Vk](k=2)中。<d1>在<v2>上的投影标量系数α2被计算并存储在排列[Ak](k=2)中。对于以上的搜索结果的基矢<u2>的正交归一化和标量系数α2的计算一次完成,因而AOT处理在高速下被大大简化。
在步骤S54,微分矢量<d1>接近于第二基并用微分矢量<d2>=<d1>-α2<v2>更新。在步骤S55,新的微分矢量的模的平方e=‖u22被计算,并在步骤S56判断e是否不大于Z。当e不大于Z时,AOT处理在步骤中结束。当e大于Z时,执行第三基的搜索处理。
附图6显示了第二基的搜索处理。在对处理说明之前,对有效的计算的思路进行说明。那就是,通常得到的第三基是正交矢量<uj′>,它使第二基和微分矢量<d2>的差的模的平方ei最小,并用公式(21)表示。[数字21] e 1 = | | d 2 - &lang; d 2 &bull; u 1 &prime; &rang; | | u i &prime; | | 2 u 1 &prime; | | 2 = | | d 2 | | 2 - 2 &lang; d 2 &bull; u i &prime; &rang; 2 | | u i &prime; | | 2 + &lang; d 2 &bull; u 1 &prime; &rang; 2 | | u i &prime; | | 4 | | u i &prime; | | 2 = | | d 2 | | 2 - &lang; d 2 &bull; u 1 &prime; &rang; 2 | | u 1 &prime; | | 2 - - - - ( 21 )
正交矢量用把第三提取矢量<ui>归一化为第一归一化的基矢<v1>和第二归一化的基矢<v2>而获得。[数字22]ui′=u1-(u1·v1)v1-(u1·v2)v2           (22)
公式(21)中的右边比0大的第一项‖d22与提取基无关,因此,使公式(21)右侧的第二项最大的<ui′>成为第三基。右侧的第二项hi用公式(23)表示。[数字23] h 1 = &lang; d 2 &bull; u 1 &prime; &rang; 2 | | u 1 &prime; | | 2 - - - - ( 23 )
如果hi分母的正交矢量<ui′>用基础提取矢量<ui>表示,hi分母能够用公式(24)表示。[数字24]<d2·u1′>2=<d2·(u1-<u1·v1>v1-<u1·v2>v2)>2
           =(<d2·u1>-<d2·v1><u1·v1>-<d2·v2><u1·v2>)2
           =<d2·u1>2 ∵<d2·v1>=0 <d2·v2>=0         (24)
进而,如果公式(24)的微分矢量<d2>用第一微分矢量<d>表示,hi分母能够用公式(25)表示。[数字25]<d2·u1>2=<(d-<d·v1>v1-<d·v2>v2)·u1>2
         =(<d·u1>-<d·v1><v1·u1>-<d·v2><v2·u1>)2  (25) = ( &lang; d &bull; u 1 &rang; - &lang; d &bull; u 1 &rang; | | u 1 | | &lang; u 1 &bull; u i &rang; | | u 1 | | - &lang; d &bull; u 2 &prime; &rang; | | u 2 &prime; | | &lang; u 2 &prime; &bull; u 1 &rang; | | u 2 &prime; | | ) 2
而且,当hi分母被变换了时,它能用公式(26)表示。[数字26]‖u1′‖2=‖u1-<u1·v1>v1-<u1·v2>v2‖‖u1-<u1·v1>v1-<u1·v2>v2
        =‖ui2-<u1·v1>2-<u1·v2>2               (26)
当把hi代入公式(23)中,它能用公式(27)表示。[数字27] h i = ( &lang; d &bull; u i &rang; - &lang; d &bull; v 1 &rang; &lang; v 1 &bull; u 1 &rang; - &lang; d &bull; v 2 &rang; &lang; v 2 &bull; u i ) 2 | | u i | | 2 - &lang; u 1 &bull; v 1 &rang; 2 - &lang; u 1 &bull; v 2 &rang; 2 - - - ( 27 )
公式(27)中分子和分母的第二项已经被计算并用公式(28)表示。
P1=(d·u1)-(d·v1)(v1·ui)                 (28-1)
L1=‖u12-(u1·v1)2                (28-2)
因此,hi以与公式(18-2)相同的方式用公式(29)表示。[数字29] h 1 = ( P 1 - P k L k &lang; v k &bull; u 1 &rang; L k ) 2 L i - ( &lang; v k &bull; u 1 L k ) 2 - - - - ( 29 )
除了点积<uk·ui>改为<vk·ui>以外,公式(29)与公式(18-2)的方式相同。因此下文中的每一个基能够通过重复与附图5中相同的操作有效的获得。
基于以上的处理,第三和以下的基计算如下。也就是,在步骤S61,P2=<d1·u2>和L2=‖u22成立。在步骤S62,对于k=2依照公式(30)进行计算并将结果存储在寄存器η和κ中。[数字30] &eta; = 1 L k - - - &kappa; = P k &eta; - - - - ( 30 )
在步骤63,十五维矢量<w2>通过从其余分量中减去第十六分量<v2>获得,与下面所述的点积计算<v2·ui>一样。因为<v2>的每一个分量都不是整数,所以必须用实数的形式计算点积。为了避免以实数的形式计算,<v2>(也就是<w2>)的每一个分量预先要乘一个常数“a”。
在步骤S64,计算关于i=0~(N-1)的点积<w2·ui>η/a并存储在(写在)排列[Qi]中。同时,每一个计算结果用常数a除,以便使一个位数位于前一个位数上。
在步骤S65,计算关于i=0~(N-1)的(Pi-kQi)并存储在(写在)排列[Pi]中。在步骤S46,计算关于i=0~(N-1)的(Li-Qi 2)并存储在(写在)排列[Li]中。公式(29)的计算用公式(31)表示。[数字31] h i = ( P 1 - &kappa;Q 1 ) 2 L i - Q 1 2 = P i 2 L i - - - - ( 31 )
在步骤S67,保存hi的最大值的寄存器和基础提取矢量<ui>的索引计数器分别被初始化为E=0和i=0,并把“1”加入到基数计数器k中使之成为k=3。
在步骤S68,计算hi=Pi 2/Li。在步骤S69,判断hi是否大于E。当hi大于E时,在步骤S70,E用hi更新并将i保存在排列[Ik](k=3)中。当hi不大于E时,跳过步骤S70的处理。
在步骤S71,“1”加入到i上并在步骤S72判断i是否不小于N 。当i小于N时,回到步骤S68并对后面的hi执行最大值搜索处理。当进行相同的处理且i不小于N时,结束所有组块的搜索。同时,使hi最大的第三基矢<u3>保存在排列[Ik](k=3)中。
在步骤S73,第三基矢<u3>与<v1>和<v2>进行正交变换,使之成为归一化的基矢<v3>,存储在排列[Vk]中。<d2>投影到<v3>上标量系数α3被计算并存储在排列[Ak]中。
在步骤S74,微分矢量<d2>近似于第三基并用微分矢量<d3>=<d2>-α3<v3>更新。在步骤S75,新的微分矢量的模的平方e=‖d32被计算并在步骤S76判断e是否不大于Z。当e不大于Z时,AOT处理在步骤中结束。当e大于Z时,回到步骤S61,执行第四和其后基的预处理和搜索处理。最好在步骤S76后提供判断k是否不小于4的处理,从而,当k不小于4时,能够跳过AOT处理。
通过以上的处理或操作,AOT处理能够大大简化并能够在高速下执行。实际的计算时间与传统方法相比减少到1/3到1/10。
参照附图6,一个组αk<vk>(k=1~m)从AOT32中获得且微分矢量<dj>在允许的误差Z的范围内用线性组合近似。
进而,在系数变换单元33获得展开系数βk以便通过以下的方法,将αk<vk>(k=1~m)变换为βk<uk>(k=1~m)。也就是,当基础提取矢量<uk>的每一个矩阵,展开系数βk,正交基矢<vk>和标量系数αk用公式(32)表示。[数字32]
U=[u1,u2,…um] B = &beta; 1 &beta; 2 . . . &beta; m
V=[v1,v2,…vm] A = &alpha; 1 &alpha; 2 . . . &alpha; m - - - - ( 32 )
矩阵的关系用公式(33)表示。[数字33]
     UB=VA          (33)
为了求解关于矩阵B的公式,用公式(34)所示公式的矩阵U的转置矩阵UT左乘公式(33)的两边。[数字34]
UTUB = UTVA     (34)
矩阵(UTU)被展开为公式(35)。[数字35] U T U = u 1 u 2 . . . u nk &lsqb; u 1 , u 2 , &hellip; u nk &rsqb; = u 1 &bull; u 1 u 1 &bull; u 2 &hellip; u 1 &bull; u nk u 2 &bull; u 1 u 2 &bull; u 2 &hellip; u 2 &bull; u nk . . . . . . . . . . . . u nk &bull; u 1 u nk &bull; u 2 &hellip; u nk &bull; u nk - - - - ( 35 )
在公式(35)中,<ui·uj>表示点积,并获得关于对角元素对称的方阵,因为<ui·uj>等于<uj·ui>,和因为<ui>与<uj>不同,所以存在逆矩阵。因此,用矩阵(UTU)的逆矩阵(UTU)-1左乘公式的两侧以便得到公式(36)因而计算出βk。[数字36]
(UTU)-1UTUB=(UTU)-1UTVA        (36)
如以上解释的,用把正交基的组αk<vk>(k=1~m)变换为非正交基βk<uk>(k=1~m)是不必要的,在这变换中每一个基础提取矢量<uk>在每次解码时都要进行正交变换,且微分矢量<dj>能够用加一个它们的增加值和βk来近似。这样,解码处理能够高速简单地执行。
展开系数βk的压缩编码处理将在下面进行说明。
附图13是展开系数压缩编码处理的示意图。在附图13(a)中,从产生的β1~β4中提取模。在附图13(b)中,排列模,例如,以上升的顺序(β3241)排列并计算差(Δβ3,Δβ2,Δβ4,Δβ1)。在附图13(c)中,高比特通过从系数差(Δβ3,Δβ2,Δβ4,Δβ1)的总比特中去掉最低的两个比特被分离出来,并进行霍夫曼编码。
在该例中,就其数值而言存在两个组Δβ3和(Δβ2,Δβ4,Δβ1),并依照霍夫曼编码,低比特数的代码符号分配给产生的频率较高的(Δβ2,Δβ4,Δβ1)而高比特数的代码符号分配给产生的频率低的Δβ3。因此,展开系数βk的压缩编码是可能的。而且,通过系数差Δβk中的高比特的霍夫曼编码,最低比特的小数部分被略去,由此如附图13(c)所示,在高比特中Δβ2=Δβ4=Δβ1的可能性是很大的。
差Δβk的最低的两比特与正的和负的代码符号比特和在2比特固定长度的代码符号区中相应于符号比特的基矢<uk>的索引信息(13比特=0~8191)合并,并作为固定长度的代码符号输出。以Δβ3,Δβ2,Δβ4和Δβ1(也就是u3,u2,u4,u1)的顺序输出。
在附图13(d)中,每个代码符号在解码侧以u3,u2,u4和u1的顺序输入,从中分离出每个系数Δβ3,Δβ2,Δβ4和Δβ1。进而,β3由第一个Δβ3解码,β2通过把Δβ2加到解码的β3中解码,β4通过把Δβ4加到解码的β2中解码,β1则通过把Δβ1加到解码的β4中解码。解码的顺序不重要,因为βk<uk>是基于这些值的和(线性组合)运算的。
差能够通过以递减的顺序代替递增的顺序排列模来计算。
下面将说明用编码单元34的编码处理。DPCM的预测差ΔDCJ,1用量化系数Q(Z)量化,并只有当DCJ,1是0时,才考虑可控长度编码,且预测差ΔDCJ,1和可控长度编码各自独立地进行霍夫曼编码。只有当基数k为0时,才考虑可控长度编码,且基数k和可控长度编码各自独立的进行霍夫曼编码。系数差Δβk用常数Q(例如8)量化以获得它的商,对它再进行霍夫曼编码。展开系数βk的编码符号比特和系数差Δβk的最低两比特被合并在基矢<uk>的编码信息i(=13比特)中以形成16比特的固定长度编码信号,它以递增(或递减)的顺序合并在系数差Δβk中并被传送。作为一个整体,编码符号的行由按出现顺序组合像素块的每个单元组成。如果必要,输入符号EOB以显示像素块的改变。
附图14是表示图像解码器的框图,它是本发明的一个实施例,并相应于如附图6所示的图像解码器。在附图14中,41是用霍夫曼等系统的解码单元,42是交流成分预测单元,用来预测不同于背景DC值DCJ′的目标块<Rj>,DCJ包含重要像素DCJ′。43是微分矢量再生单元,用来基于解码基βk<uk>(k=1~m)再生目标块<Rj>,44是Rj再生单元,用来基于解码基βk<uk>(k=1~m)再生目标块<Rj>,45是再生图像存储器,46是IDPCM单元,用来IDPCM解码已解码的DC值,47是DC图像存储器,用来存储DC组,48是与附图2中相同的DC组产生单元,49是DC组存储器,用来存储DC组,50是选定的块缓冲器,用来保存从DC组中取样的选定块<Uk>,51是乘法器,用来以βk乘<Uk>,52和53是βk<uk>(k=1~m)的累加单元,54是一个装置,用来获得累加值的块平均值Aj,55是减法器,用来分离累加值的块平均值Aj,56是近似矢量缓冲器,用来保存再生的近似微分矢量<dj>,57是一个装置,用来加入再生近似微分矢量<dj>。
在附图15中,它是表示本发明一个实施例的图像解码处理的流程图,在步骤S101输入图像解码数据。在步骤S102,在Y,U和V中的每个DC值用与附图6中类似的方法解码并将DC图像再生。在步骤S103,DC组由Y分量的DC值再生。同时,如附图7中所示,每个DC像素值DCJ的最低四比特被扣除,使之成为每个DC组像素值NJ。比如DC图像的切割位置信息被分别接收。在步骤S104,原始图像存储器45和DC图像存储器的索引计数器j和J被初始化为0。
在步骤S105,输入一个块图像的编码数据。在步骤S106,判断k是否是0。当k是0时,目标块<Rj>用下文描述的交流预测方法再生。当k不是0时,在步骤S107判断k是否不小于1并不大于4。
当k不小于1并不大于4时,在步骤S112微分矢量<dj>被反比量化。因为在本发明的该实施例中DC组的最低的四比特在前面扣除了,所以微分矢量<dj>立刻用累加选定的块<Uk>和βk并通过从累加的结果中分离出块平均值Aj获得,由此解码处理在高速下实现。在步骤S113,加入相应于这样获得的微分矢量<dj>的DC值DCJ
当k小于1或大于4时,目标块<Rj>直接从在步骤S108中的目标块<Rj>的解码数据中产生。这样,4乘4像素的目标块<Rj>用上述的任何方法再生。在步骤S109,再生的目标块<Rj>存储在再生图像存储器45中。
在步骤S110,“1”分别加入计数器j和J,在步骤S111,判断i是否不小于M(全部像素块数)。当i小于M时,回到步骤S105,执行后面块图像编码数据的解码和再生处理。当进行相同的处理和在步骤S111的判断中i不小于M时,每一个图像的解码处理结束。
附图16是交流分量预测的示意图,它是本发明的一个实施例并可应用于传统的预测方法。
附图16(A)是如下文所述的逐步的交流分量预测方法。在第一步,每个分块S1~S4由包围S1~S4的4块(U,R,B,L)的各个DC值预测。
S1=S+(U+L-B-R)/8
S2=S+(U+R-B-L)/8
S3=S+(B+L-U-R)/8
S4=S+(B+R-U-L)/8
同样的,U1~U4,L1~L4,R1~R4和B1~B4在第一步被预测。在第二步,S1上的4像素P1~P4通过重复使用以上的方法来预测。
P1=S1+(U3+L2-S3-S2)/8
P2=S1+(U3+S2-S3-L2)/8
P3=S1+(S3+L2-U3-S2)/8
P4=S1+(S3+S2-U3-L2)/8
S1~S4上的4个像素P1~P4用相同的方式预测。目标块<Rj>通过这样的两个步骤处理再生。
附图16(B)是一个非逐步的交流分量预测方法,它是申请人已经建议的。在附图16(B)中,在每个分块S1~S4上的4像素P1~P4的每一个由包围不太小块S的每个DC值预测。首先,执行S2S3S,U2U3和L2L的各近似处理,以获得S1上的4个像素P1~P4的每一个。近似值应用于S1上的P1~P4以获得下式,
P1=S1+(U3+L2-S3-S2)/8
   =S1+(U+L-S-S)/8
把以上的公式S1=S+(U+L-B-R)/8,代入P1=S1+(U+L-S-S)/8,S1上的P1最后用下式表示,
P1=S+(2U+2L-2S-B-R)/8
并且,S1上的P2用公式表示,
P2=S1+(U3+S2-S3-L2)/8
   =S1+(U+S-S-L)/8
把上述公式S1=S+(U+L-B-R)/8,代入P2=S1+(U+S-S-L)/8,S1上的P2最后用下式表示,
P2=S+(2U-B-R)/8
而且,S1上的P3用公式表示,
P3=S1+(S3+L2-U3-S2)/8
   =S1+(S+L-U-S)/8
把以上的公式S1=S+(U+L-B-R)/8,代入P3=S1+(S+L-U-S)/8,在S1上的P3最后用公式表示,
P3=S+(2L-B-R)/8
进而,S1上的P4用公式表示,
P4=S1+(S3+S2-U3-L2)/8
   =S1+(S+S-U-L)/8
把以上的公式S1=S+(U+L-B-R)/8,代入P4=S1+(S+S-U-L)/8,在S1上的P4最后用公式表示,
P4=S+(2S-B-R)/8
因此,S1上的P1~P4能够用公式一举非逐步获得,
P1=S+(2U+2L-2S-B-R)/8
P2=S+(2U-B-R)/8
P3=S+(2L-B-R)/8
P4=S+(2S-B-R)/8
S2~S4上的P1~P4用相同的方式获得。
本发明的实施例通过几个例子进行了说明,但是很明显本发明不局限于此。可以理解,本专业的技术人员能够在结构、控制、处理或它们的组合方面改变或修正这些实施例,而不离开本发明的范围和精神。
依照本发明,能够通过DC组的改进获得高图像质量,并通过AOT计算方法达到提高编码速度的目的。因此,本发明的方法对获得高质量图像和HVQ系统的高速编码有很大的贡献。

Claims (16)

1.一种图像编码方法,包括通过把每B个像素的图像数据分割为一块的方法来产生由每个块平均值组成的DC图像方法是,把所述DC图像的一部分形成一个DC组,其中从被编码的像素块中分离出DC值获得的微分矢量在允许值的范围内,利用DC组的自适应正交变换,计算一个或更多的正交基,使微分矢量近似于它,改善包括设每个取样DC组的最低的n(n=log2B)比特为0,其中基础提取块从DC组中取样且它的块平均值用那些取样来计算。
2.如权利要求1所述的方法,其特征在于每个DC像素的最低n比特设为0,其中由DC图像产生DC组。
3.如权利要求1或2所述的方法,其特征在于一个基础提取矢量被产生,微分矢量近似于它是通过从基础提取块中分离块平均值,其中在基础提取块中DC像素的n比特被设为0。
4.如权利要求3所述的方法,基础提取块<ui>的可任选元素用其余元的素线性组合代替且基础提取矢量和其他任选矢量<w>的点积用下式计算<w·ui>=(w1-w16)u1+(w2-w16)u2+…+(w15-w16)u15
5.如权利要求3或4所述的方法,其特征在于,搜索第一基使得hi在以下公式中是最大值,
hi=<d·ui>2/‖ui2
其中<d>是微分矢量,<ui>是基础提取块。
6.如权利要求3或4所述的方法,其特征在于,搜索第二基使得hi在以下公式中是最大值,hi={<d·ui>-(<d·u1><u1·ui>/‖ui2)2
       /{‖u12-(<u1·ui>)/‖u12}
其中<d>是微分矢量,<u1>是相应于第一基的基础提取矢量,<ui>是用来搜索第二基的基础提取矢量。
7.如权利要求3或4所述的方法,其特征在于,搜索第三基使得hi在以下公式中是最大值,
hi=(<d·ui>-<d·v1><v1·ui>-<d·v2><v2·ui>)
        /{‖u12-<v1·ui>2-<v2·ui>2}
其中<d>是微分矢量,<v1>是第一正交基础矢量,<v2>是第二正交基础矢量,<ui>是用来搜索第三基的基础提取矢量。
8.如权利要求3或4所述的方法,其特征在于,与搜索条件匹配的基础提取矢量<ui>与一个或更多的前面的正交基进行正交变换。
9.一种图像编码方法,包括通过分割每B个像素的图像数据为一块的方法产生一个由每个块平均值组成的DC图像,使所述DC图像的一部分形成一个DC组,其中从被编码的像素块中分离出DC值获得的微分矢量在允许值的范围内,利用DC组的自适应正交变换,计算一个或更多的正交基,使微分矢量近似于它,改善包括以递增或递减的顺序重新排列每一个展开系数β1~βm的模,计算相邻模之间的差(包括0),对获得的差应用霍夫曼编码,其中,基用βk<uk>(k=1~m)表示。
10.一种图像编码方法,包括通过分割每B个像素的图像数据为一块的方法产生一个由每个块平均值组成的DC图像,使所述DC图像的一部分形成一个DC组,其中将被编码的像素块中分离出DC值获得的微分矢量在允许值范围内,通过使用DC组的自适应正交变换,计算一个或更多的正交基,使微分矢量近似于它,改善包括用编码目标块的图像数据的编码代替基编码,其中基大于某一个数目。
11.一种图像解码方法,包括由关于HVQ系统的编码数据再生一个相应于每B个像素的每个块平均值的DC图像,使所述DC图像的一部分形成一个DC组,并再生目标块的图像数据,方法是把基于编码数据从DC组中选出的一个或更多个基矢合成为目标块的DC值,改善包括在每个取样中DC像素的最低的n(n=log2B)比特设为0,其中选定的块从DC组中取样并用这些取样计算它的块平均值。
12.一种图像解码方法,包括由关于HVQ系统的编码数据再生一个相应于每B个像素的每个块平均值的DC图像,使所述DC图像的一部分形成一个DC组,并再生目标块的图像数据,方法是把基于编码数据从DC组中选出的一个或更多基矢合成为目标块的DC值,改善包括解码基是关于βk<uk>(k=1~m)的信息,每个从DC组中读出的选定块(Uk)DC像素的最低的n(n=log2B)比特设为0,计算基βk<uk>(k=1~m)积的和,然后把计算结果用块像素数B除。
13.如权利要求11和12的方法,其特征在于,每个DC组的最低的n比特是0,其中DC组从DC图像中产生。
14.一种图像编码装置,它包括通过分割每B个像素的图像数据为一块产生一个由每个块平均值组成的DC图像,使所述DC图像的一部分形成一个DC组,其中从被编码的像素块中分离出DC值获得的微分矢量在允许值范围内,利用DC组的自适应正交变换,计算一个或更多的正交基,使微分矢量近似于它,其改善包括一个存储器,在DC组中DC组像素的最低n(n=log2B)比特设为0。
15.一种图像解码装置,它包括由关于HVQ系统的编码数据再生一个相应于每B个像素的每个块平均值的DC图像,使所述DC图像的一部分形成一个DC组,并再生目标块的图像数据,方法是把基于编码数据从DC组中选出一个或更多基矢合成为目标块的DC值,其改善包括一个用来存储存储器,在DC组中DC组像素的最低n(n=log2B)比特设为0。
16.一种记录有节目的计算机可读记录介质它使计算机执行如权利要求1到13所述的处理。
CN01104592A 2000-05-15 2001-02-17 图像编码/解码方法及其装置和记录节目的记录介质 Pending CN1324060A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP141675/2000 2000-05-15
JP2000141675A JP3932244B2 (ja) 2000-05-15 2000-05-15 画像符号/復号方法及びその装置並びにそのプログラムを記録した記録媒体

Publications (1)

Publication Number Publication Date
CN1324060A true CN1324060A (zh) 2001-11-28

Family

ID=18648758

Family Applications (1)

Application Number Title Priority Date Filing Date
CN01104592A Pending CN1324060A (zh) 2000-05-15 2001-02-17 图像编码/解码方法及其装置和记录节目的记录介质

Country Status (8)

Country Link
US (2) US6714687B2 (zh)
EP (1) EP1156679A3 (zh)
JP (1) JP3932244B2 (zh)
KR (1) KR100741553B1 (zh)
CN (1) CN1324060A (zh)
CA (1) CA2328037A1 (zh)
MX (1) MXPA01001104A (zh)
TW (1) TW503666B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9117260B2 (en) 2004-10-18 2015-08-25 Thomson Licensing Methods for determining block averages for film grain simulation
CN110892722A (zh) * 2017-12-06 2020-03-17 富士通株式会社 模式信息的编码和解码方法、装置以及电子设备

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7310598B1 (en) * 2002-04-12 2007-12-18 University Of Central Florida Research Foundation, Inc. Energy based split vector quantizer employing signal representation in multiple transform domains
US7343039B2 (en) * 2003-06-13 2008-03-11 Microsoft Corporation System and process for generating representations of objects using a directional histogram model and matrix descriptor
KR100612669B1 (ko) 2003-10-29 2006-08-14 에스케이 텔레콤주식회사 이동 통신 단말에서 고해상도 jpeg 화상을디스플레이하기 위한 방법과 이를 위한 이동 통신 단말
JP3833224B2 (ja) * 2004-01-30 2006-10-11 キヤノン株式会社 符号化方法及び装置、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
US7864864B2 (en) * 2005-06-27 2011-01-04 Intel Corporation Context buffer address determination using a plurality of modular indexes
US8968080B1 (en) 2010-11-05 2015-03-03 Wms Gaming, Inc. Display of third party content on a wagering game machine
US8515179B1 (en) * 2012-02-10 2013-08-20 Raytheon Company System and method for hyperspectral image compression

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06253281A (ja) * 1993-02-24 1994-09-09 Nippon Telegr & Teleph Corp <Ntt> 画像信号直交変換方法
JPH0738760A (ja) * 1993-06-28 1995-02-07 Nec Corp 直交変換基底生成方式
KR0139164B1 (ko) * 1994-12-19 1998-06-01 김광호 적응적 직교변환부호화 장치
US5937098A (en) * 1995-02-06 1999-08-10 Asahi Kogaku Kogyo Kabushiki Kaisha Adaptive quantization of orthogonal transform coefficients for setting a target amount of compression
KR0174453B1 (ko) * 1995-02-28 1999-03-20 배순훈 디지털 영상 복호화 방법
KR0174452B1 (ko) * 1995-02-28 1999-03-20 배순훈 디지털 영상 복호화장치
JP3170193B2 (ja) * 1995-03-16 2001-05-28 松下電器産業株式会社 画像信号の符号化装置及び復号装置
JPH0951504A (ja) * 1995-08-03 1997-02-18 Matsushita Electric Ind Co Ltd 画像符号化装置及び画像復号化装置
JP3355964B2 (ja) * 1996-10-29 2002-12-09 ケイディーディーアイ株式会社 適応直交変換モード判定方法
JPH11196262A (ja) * 1997-11-07 1999-07-21 Matsushita Electric Ind Co Ltd デジタル情報埋込み・抽出装置および方法並びに当該方法を実行するためのプログラムを記録した媒体
WO2000002393A1 (en) 1998-07-03 2000-01-13 Hudson Co., Ltd. Image coding/decoding method and recorded medium on which program is recorded

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9117260B2 (en) 2004-10-18 2015-08-25 Thomson Licensing Methods for determining block averages for film grain simulation
US9953401B2 (en) 2004-10-18 2018-04-24 Thomson Licensing Apparatus and system for determining block averages for film grain simulation
CN110892722A (zh) * 2017-12-06 2020-03-17 富士通株式会社 模式信息的编码和解码方法、装置以及电子设备

Also Published As

Publication number Publication date
EP1156679A3 (en) 2003-10-08
US20010051005A1 (en) 2001-12-13
KR20010104610A (ko) 2001-11-26
MXPA01001104A (es) 2004-08-12
US20040151389A1 (en) 2004-08-05
US6714687B2 (en) 2004-03-30
CA2328037A1 (en) 2001-11-15
US7231089B2 (en) 2007-06-12
EP1156679A2 (en) 2001-11-21
TW503666B (en) 2002-09-21
JP3932244B2 (ja) 2007-06-20
JP2001326935A (ja) 2001-11-22
KR100741553B1 (ko) 2007-07-20

Similar Documents

Publication Publication Date Title
CN1221927C (zh) 图像处理装置和方法
CN1207897C (zh) 图象处理方法和设备
CN1269027C (zh) 数据并行右移合并的方法与装置
CN1177488C (zh) 图象解码方法
CN1194550C (zh) 通过直接离散余弦变换映射改变分辨率的设备和方法
CN1162788C (zh) 可换存储媒体和控制方法及计算机系统
CN1222153C (zh) 数字图象压缩方法
CN1806447A (zh) 图像编码装置、图像解码装置、图像编码方法、图像解码方法、图像编码程序、图像解码程序、记录图像编码程序的记录媒体、记录图像解码程序的记录媒体
CN1681330A (zh) 自适应2n叉树生成方法及3D体数据编码和解码方法和设备
CN1437738A (zh) 数据发送和存储的有效且无损耗转换
CN1103987C (zh) 记录音乐数据的方法及再现仪器,压缩音乐数据的仪器
CN1428742A (zh) 用于编码和解码关键字数据的装置和方法
CN1185607A (zh) 打印控制装置及方法、贮存计算机可读程序的贮存介质
CN1685369A (zh) 视频编码的低复杂性和统一标准的变换
CN1288914C (zh) 图象编码与解码方法以及对应的装置和应用
CN101069181A (zh) 存储设备和记录介质
CN1127856C (zh) 活动图像合成装置
CN1324060A (zh) 图像编码/解码方法及其装置和记录节目的记录介质
CN1273491A (zh) 能够实现高速和高精度的编码的图象压缩装置
CN1747544A (zh) 记录装置、记录方法、再生装置、再生方法、及程序
CN1227624C (zh) 物体领域信息产生方法和设备
CN1777287A (zh) 图像解码装置、程序、方法、及图像编码装置、程序、方法
CN1649274A (zh) 可变长度解码装置和可变长度解码方法以及再现系统
CN1149850C (zh) 对移动图象进行编码的方法和装置
CN1115054C (zh) 图像信号编码、解码装置及方法

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication