CN102511161A - 图像处理设备和图像处理方法 - Google Patents

图像处理设备和图像处理方法 Download PDF

Info

Publication number
CN102511161A
CN102511161A CN2010800412266A CN201080041226A CN102511161A CN 102511161 A CN102511161 A CN 102511161A CN 2010800412266 A CN2010800412266 A CN 2010800412266A CN 201080041226 A CN201080041226 A CN 201080041226A CN 102511161 A CN102511161 A CN 102511161A
Authority
CN
China
Prior art keywords
line
row
data
coefficients
coefficient data
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
CN2010800412266A
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Publication of CN102511161A publication Critical patent/CN102511161A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/64Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/1883Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit relating to sub-band structure, e.g. hierarchical level, directional tree, e.g. low-high [LH], high-low [HL], high-high [HH]
    • 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/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/635Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by filter definition or implementation details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • 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/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明涉及一种能够提高对图像进行编码和解码的每单位时间的处理能力的图像处理设备和图像处理方法。系数行排序部分104将系数行排序为这样的顺序,该顺序与小波逆变换处理的顺序和传输顺序不同,并且,为了这样的编码处理,按照该顺序对系数行进行排序,可以尽快地由速率控制部分109评估该编码处理的编码的难度。编码行排序部分108将编码行排序为这样的顺序,该顺序不同于小波逆变换处理的顺序,并且,编码行按照该顺序以对可用的传输速率的不稳定性具有提高了的耐抗性被传输。例如,本发明可以应用于图像处理设备。

Description

图像处理设备和图像处理方法
技术领域
本发明涉及一种图像处理设备和图像处理方法。更具体地说,本发明涉及一种用于提高对图像进行编码和解码的每单位时间的处理能力的图像处理设备和图像处理方法。
背景技术
当今盛行的图像压缩方法包括由ISO(国际标准组织)标准化的JPEG(联合图像专家组)和JPEG 2000。
近年来,正在研究这样的编码方法,所述编码方法允许通过组合高通滤波器和低通滤波器的所谓的滤波器组(filter bank)将图像分成多个带域,使得图像的各个带域可以被个别地编码。在这些编码方法中,小波变换编码因为没有在高压缩条件下能够影响DCT(离散余弦变换)的块畸变(block distortion);所以该方法正作为取代DCT的新技术而引人关注。
在2001年1月完成国际标准化的JPEG 2000是将上述小波变换与高效的熵编码(即,以位平面(bit plane)为单位的位建模(bitmodeling)和算术编码)进行组合的方法。这样,在编码效率方面,JPEG 2000相对于JPEG是显著的改进。
JPEG 2000也被选择作为数字电影标准(DCI(数字电影联盟,Digital Cinema Initiative)标准)的标准编解码器,JPEG 2000已经开始用于压缩电影等的运动图像。大量的制造商已经开始引入将JPEG 2000应用于诸如监视摄像机、现场报道摄像机(on-site coveragecamera)和安全录像机的这样的装置的产品。
但是,由于JPEG 2000涉及基本上以图片(picture)为单位的编码和解码,所以尝试在实时发送和接收中实现低延迟导致在编码和解码中均发生至少一个图片的延迟。
这不仅发生在JPEG 2000,而且还同样发生在诸如AVC(高级视频编码)Intra和JPEG的这样的编解码器。近来,已经提出通过下述方式来缩短延迟时间的手段:将画面分割为若干个矩形片段(slice)或瓦片(tile),并且,对这些片段或瓦片中的各个独立地进行编码和解码(例如,参见专利文献1)。
专利文献
专利文献
专利文献1:日本专利公开No.2007-311924
发明内容
技术问题
但是,近年来,要处理的图像的分辨率已经变得比以往更高,并且,帧速率和灰度级(gradation)也已经变得比以往更高。这样已经导致图像数据的量不断地增大。
为了以较少的延迟(即,实质上,实时地)编码和解码这样的图像,需要进一步增强吞吐量(即,每单位时间的处理能力)。为了进一步提高吞吐量,在诸如图像的编码、编码数据的传输和编码数据的解码这样的处理中需要更高的效率。
鉴于上述情形而提出了本发明,本发明的目的在于提高对图像进行编码和解码的每单位时间的处理能力。
技术方案
根据本发明的一个方面,提供一种图像处理设备,该图像处理设备包括:解析滤波部件,用于分层地执行解析滤波处理,以便将行块变换为被分割成不同频带的系数数据,该行块包含与生成最低频率分量子带(subband)的至少一行的系数数据所需的行一样多的行的图像数据;编码部件,用于对由所述解析滤波部件生成的所述系数数据进行编码;以及编码数据排序部件,用于将由对所述系数数据进行编码的所述编码部件获得的编码数据从该数据从执行所述解析滤波处理的所述解析滤波部件被输出的顺序排序为传输顺序,所述传输顺序是与经历合成滤波处理的数据的顺序不同的预定顺序,并且,该数据按照所述传输顺序以对传输路径的不稳定性具有提高了的耐抗性而被传输。
优选地,所述编码数据排序部件可以将不同分级上的所述编码数据排序为从低频分量开始并进入高频分量的所述传输顺序。
优选地,所述图像处理设备还可以包括:系数数据排序部件,用于将由所述解析滤波部件生成的所述系数数据从该数据从执行所述解析滤波处理的所述解析滤波部件被输出的顺序排序为编码顺序,所述编码顺序是与经历所述合成滤波处理的数据的顺序以及所述传输顺序不同的预定顺序,并且,所述编码顺序使得对所述编码数据能够进行更容易的速率控制;量化部件,用于对由所述系数数据排序部件排序的所述系数数据进行量化;以及速率控制部件,用于通过由所述量化部件基于所述编码部件的编码的结果来控制量化的量化步长大小而控制所述编码数据的速率;其中,所述编码部件可以对由所述量化部件量化的所述系数数据进行编码。
优选地,所述系数数据排序部件可以将不同分级上的所述系数数据排序为从高频分量开始并进入低频分量的所述传输顺序。
优选地,所述解析滤波部件可以使用提升计算来执行所述解析滤波处理。
优选地,所述解析滤波部件对初始状态下的行块上的必要像素执行对称扩展,然后对所述行块进行所述提升计算,所述解析滤波部件还通过使用在先的提升计算的结果对稳定状态下的行块执行所述提升计算。
优选地,所述解析滤波部件对所述系数数据水平地执行所述提升计算,然后对所述系数数据垂直地进行所述提升计算。
根据本发明的另一个方面,提供一种与图像处理设备一起使用的图像处理方法,所述图像处理方法包括:使得所述图像处理设备的解析滤波部件分层地执行解析滤波处理,以便将行块变换为被分割成不同频带的系数数据,该行块包含与生成最低频率分量子带的至少一行的系数数据所需的行一样多的行的图像数据;使得所述图像处理设备的编码部件对通过所述解析滤波处理生成的所述系数数据进行编码;以及使得所述图像处理设备的编码数据排序部件将通过对所述系数数据进行编码而获得的编码数据从该数据从所述解析滤波处理被输出的顺序排序为传输顺序,所述传输顺序是与经历合成滤波处理的数据的顺序不同的预定顺序,并且,该数据按照所述传输顺序以对传输路径的不稳定性具有提高了的耐抗性而被传输。
根据本发明的又一个方面,提供一种图像处理设备,该图像处理设备包括:解码部件,用于对通过对行块进行编码而生成的编码数据进行解码,该行块是从通过分层解析滤波处理将预定行数的图像数据分割成不同频带获得的,所述行块包含最低频率分量子带的至少一行的系数数据,所述行块还由一组不同子带的系数数据构成;系数数据排序部件,用于将通过所述解码部件的解码获得的所述系数数据从该数据由所述解码部件解码的顺序排序为该数据经历合成滤波处理的顺序;以及合成滤波部件,用于分层地执行所述合成滤波处理,以便将由所述系数数据排序部件排序的不同子带的所述系数数据变换为所述图像数据。
优选地,所述合成滤波部件可以对最低可实行级上的子带的系数数据优先地执行所述合成滤波处理。
优选地,所述图像处理设备还可以包括:解读部件,用于对所述编码数据进行解读;以及提取部件,用于基于由所述解读部件的解读的结果,通过将所述编码数据分割为与各个不同层级上的所述系数数据的各行相对应的编码数据来提取所述编码数据;其中,所述解码部件可以对由所述提取部件提取的所述编码数据进行解码。
优选地,基于所述解读部件的解读的结果,所述系数数据排序部件确定对所述系数数据排序的顺序,并且将确定的排序顺序改变为所述系数数据经历合成滤波处理的顺序。
优选地,所述合成滤波部件可以使用提升计算来执行所述合成滤波处理。
优选地,所述合成滤波部件对初始状态下的行块上的必要系数数据执行对称扩展,然后对所述行块进行所述提升计算,所述合成滤波部件还通过使用在先的提升计算的结果对稳定状态下的行块执行所述提升计算。
优选地,所述合成滤波部件对所述系数数据水平地执行所述提升计算,然后对所述系数数据垂直地进行所述提升计算。
根据本发明的再一个方面,提供一种与图像处理设备一起使用的图像处理方法,所述图像处理方法包括:使得所述图像处理设备的解码部件对通过对行块进行编码而生成的编码数据进行解码,该行块是从通过分层解析滤波处理将预定行数的图像数据分割成不同频带获得的,所述行块包含最低频率分量子带的至少一行的系数数据,所述行块还由一组不同子带的系数数据构成;使得所述图像处理设备的系数数据排序部件将通过解码获得的所述系数数据从该数据被解码的顺序排序为该数据经历合成滤波处理的顺序;以及使得所述图像处理设备的合成滤波部件分层地执行所述合成滤波处理,以便将已经排序的不同子带的所述系数数据变换为所述图像数据。
根据上面概述的本发明的一个方面,分层地执行解析滤波处理,以便将行块变换为被分割成不同频带的系数数据,该行块包含与生成最低频率分量子带的至少一行的系数数据所需的行一样多的行的图像数据;对通过解析滤波处理生成的系数数据进行编码;并且将由对所述系数数据进行编码获得的编码数据从该数据从执行所述解析滤波处理的所述解析滤波部件被输出的顺序排序为传输顺序,所述传输顺序是与经历合成滤波处理的数据的顺序不同的预定顺序,并且,该数据按照所述传输顺序以对传输路径的不稳定性具有提高了的耐抗性而被传输。
根据上面概述的本发明的另一个方面,对通过对行块进行编码而生成的编码数据进行解码,该行块是从通过分层解析滤波处理将预定行数的图像数据分割成不同频带获得的,所述行块包含最低频率分量子带的至少一行的系数数据,所述行块还由一组不同子带的系数数据构成;将通过解码获得的所述系数数据从该数据被解码的顺序排序为该数据经历合成滤波处理的顺序;并且分层地执行所述合成滤波处理,以便将已经排序的不同子带的所述系数数据变换为所述图像数据。
有益效果
根据本发明,可以对图像进行编码或解码。特别地,本发明可以提高对图像进行编码和解码的每单位时间的处理能力。
附图说明
图1是示出应用本发明的图像编码设备的示例性的主要结构的框图。
图2是说明子带和行块(line block)的示意图。
图3是示出示例性的5×3滤波器的示意图。
图4是说明提升计算(lifting calculation)的例子的示意图。
图5是说明如何执行解析滤波处理的示意图。
图6是说明如何执行解析滤波处理的另一示意图。
图7是说明如何执行解析滤波处理的另一示意图。
图8是说明如何执行解析滤波处理的另一示意图。
图9是说明示例性的输出系数数据的顺序的示意图。
图10是说明输出系数数据的顺序的示意图。
图11是说明如何对编码之前的系数数据进行排序的示意图。
图12是说明添加头信息的例子的示意图。
图13是说明如何对编码之后的系数数据进行排序的示意图。
图14是说明示例性的编码处理的流程的流程图。
图15是说明添加标记的例子的示意图。
图16是示出应用本发明的图像解码设备的示例性的主要结构的框图。
图17是说明如何对解码之后的系数数据进行排序的示意图。
图18是说明提升计算的例子的示意图。
图19是说明如何执行合成滤波处理的示意图。
图20是说明处理系数数据的示例性的顺序的示意图。
图21是说明如何执行行块变换处理的示意图。
图22是说明解码处理的示例性的流程的流程图。
图23是示出应用本发明的图像传输***的示例性的主要结构的框图。
图24是示出应用本发明的个人计算机的示例性的主要结构的框图。
具体实施方式
下面说明可以实施本发明的一些实施例(下文中被称为(一个或多个)实施例)。将按照以下标题进行说明:
1.第一实施例(图像编码设备);
2.第二实施例(图像解码设备);
3.第三实施例(传输***);以及
4.第四实施例(个人计算机)。
<1.第一实施例>
[装置结构]
图1示出作为应用本发明的图像处理设备的图像编码设备的结构。
在图1中,图像编码设备100是对图像数据进行编码的设备。图像编码设备100包括图像行输入部分101、行缓冲器部分102、小波变换部分103、系数行排序部分104、量化部分105、熵编码部分106、添加部分107和编码行排序部分108。图像编码设备100还包括速率控制部分109。
图像行输入部分101将输入的图像数据(箭头D10)逐行地供应(箭头D11)给行缓冲器部分102,以便使该数据被累积在行缓冲器部分102中。行缓冲器部分102保持从图像行输入部分101馈送的图像数据和从小波变换部分103供应的系数数据,并且,在适当的定时将该图像数据和系数数据发送给小波变换部分103(箭头D12)。
小波变换部分103对从行缓冲器部分102供应的图像数据和系数数据执行小波变换,以生成下一层级上的高频分量和低频分量的系数数据。稍后将详细地讨论小波变换。
小波变换部分103向行缓冲器部分102供应生成的系数数据的垂直和水平方向上的低频分量以使行缓冲器部分102保持供应的分量(箭头D13),并且,将其它分量馈送给系数行排序部分104(箭头D14)。如果生成的系数数据在最高的层级上,那么小波变换部分103将垂直和水平方向上的分量也供应给系数行排序部分104。
从小波变换部分103向系数行排序部分104供应系数数据(系数行)(箭头D14)。系数行排序部分104将系数数据(系数行)排序为用于编码处理的预定顺序,该预定顺序不同于小波逆变换处理的顺序和传输的顺序。
如图1所示,系数行排序部分104包括系数行排序缓冲器111和系数行读出部分112。系数行排序缓冲器111保持从小波变换部分103馈送的系数行。系数行读出部分112通过将由系数行排序缓冲器111保持的系数行按用于编码处理的顺序从系数行排序缓冲器111读出(箭头D15)来对这些系数行进行排序。稍后将详细地讨论该排序处理。
系数行排序部分104(系数行读出部分112)将排序后的系数数据供应给量化部分105(箭头D16)。
量化部分105对从系数行排序部分104供应的系数数据进行量化。作为用于该量化的方法,可以采用任何合适的技术。例如,可以利用诸如下面表达式(1)定义的技术的常规手段,其中将系数数据W除以量化步长大小Q。
量化系数=W/Q  .......(1)
上述的量化步长大小Q由速率控制部分109指定。量化部分105将量化后的系数数据供应给熵编码部分106(箭头D17)。
熵编码部分106使用诸如Huffman编码或算术编码的合适的熵编码技术来对来自量化部分105的系数数据进行编码。在对一个系数行进行编码之后,熵编码部分106将由从这一个系数行生成的编码数据构成的一个编码行供应给添加部分107(箭头D18)。熵编码部分106进一步将这一编码行的代码量供应给添加部分107(虚线箭头D24)。
添加部分107将从熵编码部分106供应的这一编码行的代码量作为头信息添加到从熵编码部分106馈送的这一编码行。稍后将详细地讨论头信息的添加。在添加头信息之后,添加部分107将该编码数据(编码行)供应给编码行排序部分108(箭头D19)。
编码行排序部分108将编码行排序为与小波逆变换处理的顺序不同的用于传输的预定顺序。
如图1所示,编码行排序部分108包括编码行排序缓冲器121和编码行读出部分122。编码行排序缓冲器121保持从添加部分107馈送的编码行(包括头信息)。编码行读出部分122通过将由编码行排序缓冲器121保持的编码行按用于传输的顺序从编码行排序缓冲器121读出(箭头D20)来对这些编码行进行排序。稍后将详细地讨论该排序处理。
编码行排序部分108(编码行读出部分122)将排序后的编码数据输出到图像编码设备100的外部(箭头D21)。例如,从图像编码设备100输出的编码数据经由网络等供应给稍后要讨论的图像解码设备。
编码数据已经由编码行排序部分108按照适合于传输的顺序排序。这样例如能够增强对可用的传输速率的不稳定的耐抗性。
熵编码部分106还将各编码行的代码量供应给速率控制部分109(虚线箭头D22)。
基于来自熵编码部分106的各编码行的代码量,速率控制部分109评估对图像进行编码的难度。根据评估的编码的难度,速率控制部分109指定要由量化部分105使用的量化步长大小Q(虚线箭头D23)。也就是说,速率控制部分109通过指定量化步长大小Q来执行对编码数据的速率控制。
由系数行排序部分104将系数行排序为使速率控制部分109能够更早地评估编码难度的顺序。也就是说,系数行被排序为这样的顺序,使得系数行中包含的图像特征量越大,熵编码部分106就越先对行进行编码。
以这样的方式,图像特征量越大,反映特征量的代码量就被越先供应给速率控制部分109。这样使得速率控制部分109更早地按照对图像进行编码的难度设置量化步长大小Q(即,更早地执行合适的速率控制)。
[子带的说明]
现在说明小波变换。小波变换是这样的处理,即,该处理递归地重复用于将图像数据分割为高空间频率分量(高频分量)和低空间频率分量(低频分量)的解析滤波,从而将图像数据变换为层状结构的频率分量的系数数据。在后续的说明中,层级的频率分量越高,分级将被设为低,层级的频率分量越低,分级将被设为高。
在一个层级(分级)上,在水平和垂直方向上都执行解析滤波。首先在水平方向上执行解析滤波,然后,在垂直方向上执行解析滤波。这样,通过对于一个层级的解析滤波,将一个层级上的系数数据(图像数据)分割为四个子带(LL、LH、HL和HH)。在水平和垂直方向的两个方向上,对生成的四个子带中的具有低分量(LL)的那一个子带执行下一层级上的解析滤波。
以这样的方式递归地重复解析滤波能够将低空间频率带的系数数据限制到逐渐更小的区域。由此,能够高效地对经过上述的小波变换的系数数据进行编码。
图2是说明通过重复解析滤波四次生成的系数数据的结构的示意图。
当对基带图像数据执行分级1上的解析滤波时,将该图像数据变换为分级1上的四个子带(1LL、1LH、1HL和1HH)。然后,在水平和垂直方向的两个方向上,对分级1上的低频分量子带1LL执行分级2上的解析滤波。这样将子带1LL变换为分级2上的四个子带(2LL、2LH、2HL和2HH)。对分级2上的低频分量子带2LL水平地和垂直地执行分级3上的解析滤波。这样将子带2LL变换为分级3上的四个子带(3LL、3LH、3HL和3HH)。对分级3上的低频分量子带3LL水平地和垂直地执行分级4上的解析滤波。这样将子带3LL变换为分级4上的四个子带(4LL、4LH、4HL和4HH)。
图2示出如上面所说明的被分割为13个子带的系数数据的结构。
上述的解析滤波将处理对象的两行图像数据或系数数据逐行地转变为更高一层级上的四个子带的系数数据。因此,如图2中的阴影部分所示,生成分级4上的各行子带系数数据需要两行子带3LL、四行子带2LL和八行子带1LL。也就是说,需要16行图像数据。
生成最低频率分量的一行的子带系数数据所需的行数的行的图像数据被称为行块(或者选区(precinct))。行块也表示通过对该行块的图像数据执行小波变换而获得的各子带的系数数据的集合。
例如,在图2的情况中,未示出的16行的图像数据形成一个行块。该行块也可以是指都由16行图像数据生成的、分级1上的各子带的八行系数数据、分级2上的各子带的四行系数数据、分级3上的各子带的两行系数数据和分级4上的各子带的一行系数数据。
小波变换部分103可以被说成是对各个这样的行块执行小波变换。
在这种情形下的行是指在对应于小波变换之前的图像数据的图片或场(field)内、在各分级内或者在各子带内形成的一行。
一行的系数数据(图像数据)也可以被称为系数行。如果为了说明的目的而必须进行更详细的区分,那么可以根据需要修改表述方式。例如,子带的一行可以被称为“子带的系数行”,并且由较低一层级的相同的两个系数行生成的层级(分级)上的所有子带(LH、HL和HH(包括最高层级的情况中的LL))的一行可以被称为“分级(或层级)上的系数行”。
在图2的例子中,“分级4(最高层级)上的系数行”是指子带4LL、4LH、4HL和4HH的一个对应行(由较低一分级上的相同的系数行生成)。并且,“分级3上的系数行”是指子带3LH、3HL和3HH的一个对应行。此外,“子带2HH的系数行”是指子带2HH的一行。
此外,通过对一个系数行(一行系数数据)进行编码而获得的一行编码数据可以被称为编码行。
上面参照图2说明了分级4上的小波变换。后续的说明将示出执行直到分级4的小波变换。但是,实践中,可以根据需要确定用于小波变换的层级(分级)的数目。
[提升计算]
小波变换部分103通常使用由低通滤波器和高通滤波器构成的滤波器组来执行上述的处理。一般来说,数字滤波器均具有作为多个抽头长度的脉冲响应,即,滤波器系数。由此得出,为了进行滤波,这些滤波器需要有预先缓冲的足够量的输入图像数据或系数数据。同样地,当对多级执行小波变换时,为了进行滤波,必须缓冲足够数目的在前级生成的小波变换系数。
作为小波变换的具体例子,下面说明涉及使用5×3滤波器的技术。上面结合背景技术说明的JPEG(联合图像专家组)2000标准也采用了使用5×3滤波器的方法。
这是能够利用最小的滤波器抽头数进行小波变换的优异的方法。
如下面的表达式(2)和(3)所示的,5×3滤波器的脉冲响应(Z变换表达式)由低通滤波器H0(z)和高通滤波器H1(z)形成。表达式(2)和(3)显示了,低通滤波器H0(z)具有五个抽头,高通滤波器H1(z)具有三个抽头。
H0(z)=(-1+2z-1+6z-2+2z-3-z-4)/8  ...(2)
H1(z)=(-1+2z-1-z-2)/2  ...(3)
上面的表达式(2)和(3)使得能够直接计算低频和高频分量的系数。采取提升技术可以减少滤波计算量。
图3示出5×3滤波器的提升表示。在图3中,最上部的一排表示输入信号序列。在画面上从上向下进行数据处理。下面的表达式(4)和(5)用于输出高频分量的系数(高频系数)和低频分量的系数(低频系数)。
di 1=di 0-1/2(si 0+si+1 0)      ...(4)
si 1=si 0+1/4(di-1 1+di 1)      ...(5)
图4示出如何使用5×3解析滤波器对纵向方向上的行执行滤波。横向方向表示计算过程和由此生成的低频和高频系数。与图3中图示的内容相比,图4仅仅示出了水平方向被切换为垂直方向,但是计算技术保持相同。
在图像的顶部(由箭头151指示),最上行从行1(由虚线指示)开始被对称地扩展,从而添加一行。如框152所示,添加的行、行0和行1用于执行提升计算,从而通过步骤1计算生成系数a。这是高频系数(HO)。
当输入行1、行2和行3时,这三个行用于计算下一个高频系数a。这是高频系数(H1)。然后,第一高频系数a(H0)、第二高频系数a(H1)和行1的系数用于根据表达式2执行计算,从而生成系数b。这是低频系数(L1)。也就是说,如框153所示,行1、行2、行3和高频系数(H0)用于生成低频系数(L1)和高频系数(H1)。
其后,每当输入两行时,对后续的行重复上述的提升计算,并且,输出低频和高频系数。当如框154所示生成低频系数(L(N-1))和高频系数(H(N-1))时,高频系数(H(N-1))被对称地扩展,如箭头155所指。
如框156所示,执行计算,以生成低频分量(L(N))。
对于各个层级递归地执行上述的提升计算。
虽然图4给出了在垂直方向上对行执行滤波的例子,但是显然的是,这同样地适用于在水平方向上的滤波。
[解析滤波的步骤]
如图5至8所示,进行上述的解析滤波。
也就是说,当如图5的左侧所示输入三行基带图像数据时,如上面参照图4所说明的,执行提升计算。
这样生成分级1上的各个子带(1LL、1LH、1HL、1HH)的一行,如图5的右边所示。
其后,每当输入两行基带图像数据时,同样地执行提升计算。因此,由图6的左侧上示出的7行基带图像数据生成分级1上的各个子带的三个系数行,如图6的右边所示。
当如图7的左侧(图6的右边)所示生成子带1LL的三个系数行时,执行如上面参照图4说明的提升计算。这样生成图7的右边的分级2(2LL、2LH、2HL、2HH)上的各个子带的一行。在分级1上,如基带上一样,其后每当生成子带1LL的两个系数行时,执行提升计算,从而生成分级2上的各个子带的一个系数行。
因此,该计算从在图8的左侧示出的11行的基带图像数据生成如在图8的右边所示的分级2上的各个子带的两个系数行和分级1上的各个子带1LH、1HL和1HH的五个系数行。
也就是说,此时对最高可实行的层级执行提升计算。换句话说,对最高可实行的层级优先地进行提升计算。在图像的顶部的初始状态中,解析滤波需要输入三行图像数据或系数数据。但是,在剩余部分的稳定状态中,每当输入两行图像数据或系数数据时,就执行解析滤波。
以在上述的步骤执行提升计算。
[小波变换部分103的输出]
下面说明从以在上面讨论的步骤执行解析滤波的小波变换部分103输出的数据。图9示出在初始状态下按照时间顺序从小波变换部分103输出的数据。在图9中,从上向下按照时间顺序排列从小波变换部分103输出的数据。
当小波变换部分103以上述步骤执行解析滤波时,分级1(子带1HH、1HL和1LH)上的从顶部算起的第一系数行(行1)从小波变换部分103输出,并且被供应给系数行排序部分104。子带1LL的行1被供应给行缓冲器部分102并由其保持。
然后,一旦生成分级1上的行2(从顶部算起的第二系数行)和行3(从顶部算起的第二系数行),就将它们依次供应给系数行排序部分104。子带1LL的行2和行3被供应给行缓冲器部分102并由其保持。
如上所述,当行缓冲器部分102保持了子带1LL的三个系数行(从第二次起为两行)时,小波变换部分103针对这些行执行分级1上的解析滤波。
因此,在输出分级1上的行3之后,分级2(子带2HH、2HL和2LH)上的行1被输出并供应给系数行排序部分104。此外,子带2LL的行1被供应给行缓冲器部分102并由其保持。
然后,依次地生成分级1上的行4(从顶部算起的第四系数行)和行5(从顶部算起的第五系数行),并且将它们依次供应给系数行排序部分104。子带1LL的行4和行5被供应给行缓冲器部分102并由其保持。
在子带1LL的两个系数行由行缓冲器部分102保持之后,对这些行执行分级1上的解析滤波。小波变换部分103输出分级2上的行2,并且将该行供应给系数行排序部分104。此外,子带2LL的行2被供应给行缓冲器部分102并由其保持。
然后,依次地生成分级1上的行6(从顶部算起的第六系数行)和行7(从顶部算起的第七系数行),并且将它们依次供应给系数行排序部分104。子带1LL的行6和行7被供应给行缓冲器部分102并由其保持。
在子带1LL的两个系数行由行缓冲器部分102保持之后,对这些行执行分级1上的解析滤波。小波变换部分103输出分级2上的行3,并且将该行供应给系数行排序部分104。此外,子带2LL的行3被供应给行缓冲器部分102并由其保持。
当子带2LL的三个系数行(从第二次起为两行)由行缓冲器部分102保持时,对这些行执行分级2上的解析滤波。小波变换部分103输出分级3(子带3HH、3HL和3LH)上的行1,并且将该行供应给系数行排序部分104。此外,子带3LL的行1被供应给行缓冲器部分102并由其保持。
然后,依次地生成分级1上的行8(从顶部算起的第八系数行)和行9(从顶部算起的第九系数行),并且将它们依次供应给系数行排序部分104。子带1LL的行8和行9被供应给行缓冲器部分102并由其保持。
当子带1LL的两个系数行由行缓冲器部分102保持时,对这些行执行分级1上的解析滤波。小波变换部分103输出分级4上的行2,并且将该行供应给系数行排序部分104。此外,子带2LL的行4被供应给行缓冲器部分102并由其保持。
然后,依次地生成分级1上的行10(从顶部算起的第十系数行)和行11(从顶部算起的第十一系数行),并且将它们依次供应给系数行排序部分104。子带1LL的行10和行11被供应给行缓冲器部分102并由其保持。
当子带1LL的两个系数行由行缓冲器部分102保持时,对这些行执行分级1上的解析滤波。小波变换部分103输出分级2上的行5,并且将该行供应给系数行排序部分104。此外,子带2LL的行5被供应给行缓冲器部分102并由其保持。
当子带2LL的两个系数行由行缓冲器部分102保持时,对这些行执行分级2上的解析滤波。小波变换部分103输出分级3上的行2,并且将该行供应给系数行排序部分104。此外,子带3LL的行2被供应给行缓冲器部分102并由其保持。
然后,依次地生成分级1上的行12(从顶部算起的第十二系数行)和行13(从顶部算起的第十三系数行),并且将它们依次供应给系数行排序部分104。子带1LL的行12和行13被供应给行缓冲器部分102并由其保持。
当子带1LL的两个系数行由行缓冲器部分102保持时,对这些行执行分级1上的解析滤波。小波变换部分103输出分级2上的行6,并且将该行供应给系数行排序部分104。此外,子带2LL的行6被供应给行缓冲器部分102并由其保持。
然后,依次地生成分级1上的行14(从顶部算起的第十四系数行)和行15(从顶部算起的第十五系数行),并且将它们依次供应给系数行排序部分104。子带1LL的行14和行15被供应给行缓冲器部分102并由其保持。
当子带1LL的两个系数行由行缓冲器部分102保持时,对这些行执行分级1上的解析滤波。小波变换部分103输出分级2上的行7,并且将该行供应给系数行排序部分104。此外,子带2LL的行7被供应给行缓冲器部分102并由其保持。
当子带2LL的两个系数行由行缓冲器部分102保持时,对这些行执行分级2上的解析滤波。小波变换部分103输出分级3上的行3,并且将该行供应给系数行排序部分104。此外,子带3LL的行3被供应给行缓冲器部分102并由其保持。
当子带3LL的三个系数行(从第二次起为两行)由行缓冲器部分102保持时,对这些行执行分级3上的解析滤波。小波变换部分103输出分级4上的行1(4HH、4HL、4LH和4HH),并且将该行供应给系数行排序部分104。
上面说明了由在初始状态下从小波变换部分103输出的构成一个行块的一组系数行。在初始状态结束时,达到了每次处理两行的稳定状态。
图10示出在稳定状态下按照时间顺序从小波变换部分103输出的数据。在图10中,如在图9中一样,从上向下按照时间顺序排列从小波变换部分103输出的数据。
小波变换部分103以上述的步骤执行解析滤波。因此,在稳定状态的给定定时,一旦生成了分级1上的行L(从顶部算起的第L系数行)和行(L+1)(从顶部算起的第(L+1)系数行),就将这些行从小波变换部分103依次输出并供应给系数行排序部分104。子带1LL的行L和行(L+1)被供应给行缓冲器部分102并由其保持。
当子带1LL的两个系数行由行缓冲器部分102保持时,对这些行执行分级1上的解析滤波。小波变换部分103输出分级2上的行M(从顶部算起的第M系数行),并且将该行供应给系数行排序部分104。此外,子带2LL的行M被供应给行缓冲器部分102并由其保持。
然后,依次地生成分级1上的行(L+2)(从顶部算起的第(L+2)系数行)和行(L+3)(从顶部算起的第(L+3)系数行),并且将它们依次供应给系数行排序部分104。子带1LL的行(L+2)和行(L+3)被供应给行缓冲器部分102并由其保持。
当子带1LL的两个系数行由行缓冲器部分102保持时,对这些行执行分级1上的解析滤波。小波变换部分103输出分级2上的行(M+1)(从顶部算起的第(M+1)系数行),并且将该行供应给系数行排序部分104。此外,子带2LL的行(M+1)被供应给行缓冲器部分102并由其保持。
当子带2LL的两个系数行由行缓冲器部分102保持时,对这些行执行分级2上的解析滤波。小波变换部分103输出分级3上的行N(从顶部算起的第N系数行),并且将该行供应给系数行排序部分104。此外,子带3LL的行N被供应给行缓冲器部分102并由其保持。
然后,依次地生成分级1上的行(L+4)(从顶部算起的第(L+4)系数行)和行(L+5)(从顶部算起的第(L+5)系数行),并且将它们依次供应给系数行排序部分104。子带1LL的行(L+4)和行(L+5)被供应给行缓冲器部分102并由其保持。
当子带1LL的两个系数行由行缓冲器部分102保持时,对这些行执行分级1上的解析滤波。小波变换部分103输出分级2上的行(M+2)(从顶部算起的第(M+2)系数行),并且将该行供应给系数行排序部分104。此外,子带2LL的行(M+2)被供应给行缓冲器部分102并由其保持。
然后,依次地生成分级1上的行(L+6)(从顶部算起的第(L+6)系数行)和行(L+7)(从顶部算起的第(L+7)系数行),并且将它们依次供应给系数行排序部分104。子带1LL的行(L+6)和行(L+7)被供应给行缓冲器部分102并由其保持。
当子带1LL的两个系数行由行缓冲器部分102保持时,对这些行执行分级1上的解析滤波。小波变换部分103输出分级2上的行(M+3)(从顶部算起的第(M+3)系数行),并且将该行供应给系数行排序部分104。此外,子带2LL的行(M+3)被供应给行缓冲器部分102并由其保持。
当子带2LL的两个系数行由行缓冲器部分102保持时,对这些行执行分级2上的解析滤波。小波变换部分103输出分级3上的行(N+1)(从顶部算起的第(N+1)系数行),并且将该行供应给系数行排序部分104。此外,子带3LL的行(N+1)被供应给行缓冲器部分102并由其保持。
当子带3LL的两个系数行由行缓冲器部分102保持时,对这些行执行分级3上的解析滤波。小波变换部分103输出分级4上的行P(从顶部算起的第P系数行),并且将该行供应给系数行排序部分104。
在上述的稳定状态下,对这些行进行处理直到最下的行。
小波变换部分103处理系数行的顺序,即,从小波变换部分103输出系数行的顺序,可以根据需要被确定,由此,可以不同于上面说明的顺序。尽管如此,通过按照上述顺序执行解析滤波,小波变换部分103能够高效地生成系数行,并且以低延迟进行变换处理。
[系数行的排序]
按照上面参照图9和10讨论的顺序从小波变换部分103输出的各个分级上的系数行由系数行排序部分104中的系数行排序缓冲器111保持。当缓冲了系数行的一个行块时,系数行读出部分112通过以用于编码处理的预定顺序读出系数行来对这些系数行进行排序,该预定顺序不同于小波逆变换处理的顺序和传输的顺序。
稍后将讨论小波变换的顺序和传输的顺序。用于编码处理的顺序是使得速率控制部分109能够更早地评估编码的难度的顺序。换句话说,它是这样的顺序,其中:系数行读出部分112优先地读取其中包含较大的特征量的系数行。
一般来说,图像信号的频率分量越低,集中在该分量中的能量就越大。相反,视觉上难以感知的噪声分量和边缘往往被反映在高频分量中。也就是说,由于高频分量中存在比其它分量更少的系数,所以尝试对高频分量中的这样的系数进行编码有助于更早地确定对关注图像进行编码的难度。
因此,例如,系数行读出部分112按照如图11所示的从高频分量到低频分量的顺序读出系数行。
在图11中,按照处理顺序排列系数行。在图11中,从上向下示出时间轴。也就是说,从上向下处理图11中的系数行。
换而言之,按照在图11的左侧示出的顺序(即,小波变换输出的顺序)从小波变换部分103输出的系数行由系数行排序部分104排序为如在图11的右侧示出的从高频分量到低频分量的顺序(编码的顺序)。
更具体地说,系数行读出部分112读取分级1上的系数行,然后读取分级2上的系数行、分级3上的系数行,最后读取分级4上的系数行,其后按照读出这些系数行的顺序向量化部分105供应这些系数行。
量化部分105按照供应这些系数行的顺序处理它们,之后将它们供应给熵编码部分106。熵编码部分106也按照在图11的左侧示出的顺序处理这些系数行。也就是说,系数行读出部分112读出了这些系数行的顺序也作为编码的顺序。
速率控制部分109可以按照这样的方式执行控制,如果像素值越小,那么缩小量化步长大小以促进代码量生成,并且,如果像素值越大,那么放大步长大小以抑制代码量生成。当基于高频分量的代码量进行这种控制时,速率控制部分109可以更精确地评估图像编码中的难度。
也就是说,由于上述的排序处理使得能够更早地评估图像编码中的难度,速率控制部分109能够比以往更早地设置合适的量化步长的数目。换句话说,速率控制变得比以往更容易。
在图像编码设备100的情况中,必须以低延迟对图像进行编码。需要速率控制部分109基于非常有限的信息(即,每系数行的代码量)与熵编码并行地在非常有限的时间段内执行速率控制。
如果没有适当地进行速率控制,那么将会导致不希望的图像质量劣化。于是,图像编码设备100可能无法实现为实际的设备。因此,基于有限的信息在有限的时间段内执行适当的速率控制是非常重要的。图像编码设备100的吞吐量越高,进行这种速率控制的难度就越高。
当系数行排序部分104如上所述对系数行进行排序时,能够更早地设置合适的量化步长的数目并更容易地进行速率控制。这样使得速率控制部分109能够应对日益增加的吞吐量。也就是说,图像编码设备100能够进一步增大图像编码的吞吐量。
显然地,由系数行排序部分104对系数行进行排序的顺序可以不同于上述的顺序。尽管如此,由于上面说明的原因,采用从高频分量开始到低频分量的对系数行进行排序的顺序也通常是优选的。
可以在熵编码之前执行系数行的排序;也可以在量化之后进行系数行的排序。也就是说,系数行排序部分104可以被***量化部分105和熵编码部分106之间。在这种情况下,从小波变换部分103输出的系数行在由量化部分105量化之后,被转发给系数行排序缓冲器111并由其保持。
[代码量的添加]
如上面讨论的,添加部分107将各编码行的代码量作为头信息添加该编码行。图12示出如何提供这种添加。
在图12的例子中,添加部分107将各个分级上的编码行(代码字,code word)的代码量作为其头信息(Code_info)添加到该编码行。例如,如果分级1上的编码行(行L)的代码量是100个字节,那么,表示“100个字节”的信息被添加到该编码行的头部作为头信息(Code_info(L))。
如上面说明的,图像编码设备100的各部件以系数行为单位处理系数数据。也就是说,这些部件能够识别系数行之间的边界。另一方面,对由图像编码设备100生成的编码数据进行解码的图像解码设备不能识别编码行之间的这些边界,因为这些行被连续供应给解码设备。
由于这种原因,添加部分107将各编码行的代码量添加到编码数据。图像解码设备能够基于这样添加的代码量将编码数据(即,流)分割为编码行以用于处理的目的。
[编码行的排序]
各个分级上的编码行在按照上面参照图11说明的顺序被编码(即,从添加部分107输出)之后由编码行排序部分108中的编码行排序缓冲器121保持。当缓冲了编码行的一个行块时,编码行读出部分122通过按照从编码处理的顺序到用于传输的预定顺序读出系数行来对这些系数行进行排序,该预定顺序不同于小波逆变换处理的顺序。
稍后将讨论小波逆变换处理的顺序。用于传输的顺序是适合于传输编码数据(码流)的顺序。例如,它可以是帮助增强对可用的传输速率的不稳定的耐抗性的顺序。
可以想到将编码数据从图像编码设备100传输到图像解码设备的多种路径。例如,在通过可用的传输速率不稳定并且数据丢失、传输误差和其它缺陷经常发生的因特网、无线通信路径等传输编码数据的情况中,设置实用的***需要考虑解决这种问题的合适的对策。
因此,编码行读出部分122例如可以如图13所示从低频分量开始到高频分量地读取的编码行。
在图13中,按照处理编码行的顺序排列这些编码行。在图13中,从上向下示出时间轴。也就是说,在该图中,从上向下处理图13中的编码行。
换而言之,按照在图13的左侧示出的从高频分量开始到低频分量的顺序(即,编码顺序)从添加部分107输出的编码行由编码行排序部分108被排序为如在图13的右侧示出的从低频分量开始到高频分量的顺序(即,传输顺序)。
更具体地说,编码行读出部分122首先读取分级4上的编码行,然后读取分级3上的编码行、分级2上的编码行,最后读取分级1上的编码行,其后按照读出这些编码行的顺序向图像编码设备100的外部供应这些系数行。也就是说,按照传输顺序(即,从低频分量开始到高频分量的顺序)传输编码行。
如上所述,频率分量越低,集中在该分量中的图像的能量就越大。也就是说,编码行的频率分量越低,该编码行对图像质量的影响就越大。换句话说,给定的编码行的频率分量越低,该编码行在图像质量方面的重要性越大,从而比其它行更早地传输该编码行。
如果在编码行的传输期间出现数据丢失,那么重传丢失的数据。在以这样的方式编码和传输图像使得以尽可能少的延迟(即,近似实时地)对图像进行解码的情况下,用于重传丢失的数据的时间被限于非常短的时段。使延迟尽可能短也需要使重传时间尽可能地短。
在这种情况下,使用于数据重传的可用时间延长有限的时间段非常重要,因为它可以提高重传成功的可能性。
如果编码行没有被排序而是按照对这些行进行编码的顺序(即,在从高频分量开始到低频分量传输的顺序),那么用于重传低频分量的编码行所允许的时间将是非常短,从而减少了重传的成功率。结果,将会增加解码图像的质量劣化的可能性。特别地,在不稳定的网络用作传输路径的情况下,预计有一定量的这种误差,从而不可避免地或多或少地降低解码图片质量。
作为另一个例子,在无线传输路径等之上,可用的传输速率可能突然降低,以致于图像编码设备100的比特率不能跟上该传输速率。在这种情况下,在传输时正被缓冲的编码行的增加量可能会导致上溢或者导致延长的延迟时间。在面对这种不测的情况下,可以通过丢弃而不发送稍后要发送的高频分量的编码行来降低发送速率。也就是说,该编码行的发送可以在半途中被取消,并且,可以开始发送下一个行块。
通过上述控制,不仅可以避免缓冲器上溢,而且可以维持低延迟的传输。如果高频分量的编码行比低频分量的编码行更早地被发送,那么将必须丢弃低频分量的编码行,这可能导致解码图像的质量的较大的劣化。如果低频分量的编码行比高频分量的编码行更早地被发送,那么只需要丢弃高频分量行的编码行以应对误差。因此,如上所述地控制发送速率能够有效地降低丢弃对解码图像的质量的负面影响。
应该注意,吞吐量越高,在传输期间发生上述类型的误差的可能性就越高。
如上所述,当编码行排序部分108将编码行排序为传输这些编码行(例如,从低频分量开始到高频分量)的顺序时,图像编码设备100能够增强其对传输路径的不稳定性的耐抗性。如果该耐抗性的下降引起传输期间的误差和其它缺陷从而导致解码图像的质量的较大的劣化,那么所涉及的***不能说是实用的***。
也就是说,提高对传输路径的不稳定性的耐抗性使得图像编码设备100能够应对吞吐量的进一步的增加。换句话说,图像编码设备100能够进一步提高图像编码的吞吐量。
例如,如果是确保在传输期间不发生误差的情形,那么编码行排序部分108应该优选地将编码行排序为编码行经历小波逆变换处理的顺序以使延迟最小化。
作为另一个例子,如果速率控制的响应性充分(即,如果可以执行充分合适的速率控制),那么系数行排序部分104应该优选地将系数行排序为传输顺序或者小波逆变换处理的顺序。
但是,在尝试通过简单地提高操作时钟速率来提高编码或解码的吞吐量的情况下,如果没有充分地提供速率控制的响应性或者对传输路径的不稳定性的耐抗性,那么不能进行实用性的处理。
图像编码设备100可以通过如上面所述地适当地对系数行或者编码行进行排序来实用性地实现增强的吞吐量。
[处理的流程]
下面参照图14的流程图说明的是由图像编码设备100的各部件执行的如上所讨论的编码处理的示例性的流程。请注意,对输入图像的各个图片进行编码处理。
在开始编码处理并到达步骤S101时,图像行输入部分101逐行地接收图像数据(即,使得由行缓冲器部分102保持接收数据),而小波变换部分103使用由行缓冲器部分102保持的系数行来对一个行块进行小波变换。
在步骤S102中,小波变换部分103判断一个行块是否已经被处理。如果判定一个行块已经被处理了,那么再次到达步骤S101并继续小波变换。
如果判定在一个行块上完成了小波变换,那么到达步骤S103。
在步骤S103中,系数行排序部分104将经过了小波变换的系数数据排序为编码处理的顺序。在步骤S104中,量化部分105使用由速率控制部分109指定的量化步长大小来对系数数据进行量化。
在步骤S105中,熵编码部分106对系数数据进行熵编码。在步骤S106中,添加部分107将各编码行的代码量添加到该行作为头信息。在步骤S107中,编码行排序部分108将编码数据(编码行)排序为传输的顺序。在步骤S108中,编码行排序部分108输出按照传输顺序排序的编码数据。
在步骤S109中,速率控制部分109基于有关由熵编码部分106执行的熵编码的信息来执行速率控制。
在步骤S110中,小波变换部分103判断处理对象图片的最后一个行块(例如,最下面的行块)是否已经被处理。如果判定最后一个行块尚未被处理,那么再次到达步骤S101,并且,对下一行块重复后续的处理。如果在步骤S110中判定最后一个行块已经被处理,那么对该处理对象图片的编码处理被终止。
通过进行如上面说明的编码处理,图像编码设备100能够提高图像编码的吞吐量。
[识别编码行之间的边界的其它例子]
参照图12,以上说明了如何将包括各个分级上的编码行的代码量的头信息附加给该编码行,从而使得图像解码设备能够识别码流中的各个分级上的编码行之间的边界。可替换地,可以通过如图15所示将专用标记添加到编码行来识别这些编码行之间的边界。通过检测这些标记,图像解码设备能够识别各个分级上的编码行之间的边界。但是,在这种情况下,图像解码设备能够基于这些标记来区分各个分级上的编码行,但是不能确定这些行中的各自的代码量。也就是说,标记不能直接使得图像解码设备能够识别在各个分级上编码行的排序顺序。因此,图像解码设备需要利用某些其它手段来识别排序顺序。
<2.第二实施例>
[装置结构]
下面说明与上面作为第一实施例讨论的图像编码设备100相对应的图像解码设备。图16是示出被实现为应用本发明的另一图像处理设备的图像解码设备的示例性结构的框图。
图像解码设备200对从图像编码设备100输出的编码数据进行解码,以生成解码图像。
图像解码设备200包括代码字解读部分201、行提取部分202、熵解码部分203、逆量化部分204、系数行排序部分205、小波逆变换部分206和缓冲器部分207。
代码字解读部分201对输入的编码数据(代码字)进行解读(箭头D51),以提取关于所涉及的编码处理和数据的相关信息。相关信息可以包含任何类型的信息,例如,图像分辨率(水平和垂直大小)、量化步长大小、小波变换的分解的数目和系数行(编码行)的排序顺序。
关于系数行(编码行)的排序顺序的信息可以是任何类型的信息,只要该信息表示各个分级上的编码行被排序的顺序或者该信息是获得这种排序顺序所需的信息即可。例如,该信息可以是包含如图12所示的各个分级上的编码行的代码量的头信息或者如图15所示的检测到的标记等。
代码字解读部分201将输入的编码数据(码流)供应给行提取部分202(箭头D52)。此外,代码字解读部分201向行提取部分202供应用于区分码流中的各个分级上的编码行所需的信息(虚线箭头D61)。例如,代码字解读部分201将各个分级上的编码行的代码量、检测到的标记等供应给行提取部分202。
代码字解读部分201还将表示量化步长大小的信息供应给逆量化部分204(虚线箭头D62)。
此外,代码字解读部分201向系数行读出部分212供应对各个分级上的系数行进行排序所需的信息(虚线箭头D63)。系数行读出部分212预先掌握要由小波逆变换部分206执行的小波逆变换处理的顺序。系数行读出部分212需要掌握在传输时对编码行进行排序的顺序,即,在系数行的排序之前的早先的顺序。因此,代码字解读部分201向系数行读出部分212提供表示在传输时对编码行进行排序的顺序的信息或者用于获得这种排序顺序所需的信息。
例如,通过对代码字进行解读,代码字解读部分201可以识别在传输时对编码行进行排序的顺序,并且可以将表示该排序顺序的信息馈送给系数行读出部分212。作为另一个例子,代码字解读部分201可以向系数行读出部分212相继提供信息,该信息是从码流提取的,并且表示各个分级上的编码行的代码量。在这种情况下,系数行读出部分212基于从代码字解读部分201供应的代码量的顺序来掌握系数行的排序顺序。
系数行排序缓冲器211以能够相互区分各个分级上的系数行的方式来存储这些系数行。因此,系数行读出部分212可以获取由系数行排序缓冲器211保持的各个分级上的系数行的数据量,并且,基于数据量的排序顺序掌握对系数行进行排序的顺序。在这种情况下,代码字解读部分201不需要提供信息。
此外,代码字解读部分201向小波逆变换部分206供应小波逆变换处理所需的信息,例如,图像的分辨率和小波变换的分解的数目(虚线箭头D64)。
基于来自代码字解读部分201的且用于区分各个分级上的编码行所需的信息,行提取部分202从由代码字解读部分201馈送的码流提取各个分级上的编码行。也就是说,行提取部分202将编码数据(码流)分割为分级上的编码行。行提取部分202将提取的各个分级上的编码行馈送给熵解码部分203(箭头D53)。
通过使用与由熵编码部分106(图1)执行的熵编码相对应的方法,熵解码部分203对各个分级上的编码行进行熵解码,以生成系数数据(量化系数)。也就是说,熵解码部分203按照在行提取部分202的分割之后供应各个分级上的编码行的顺序对这些编码行进行解码,从而将编码行变换为分级上的系数行。熵解码部分203向逆量化部分204供应关注的分级上的系数行(量化系数)(箭头D54)。
根据基于从代码字解读部分201发送的信息确定的量化步长大小,逆量化部分204对从熵解码部分203馈送的各个分级上的系数行(量化系数)进行逆量化。逆量化部分204向系数行排序部分205供应逆量化后的各个分级上的系数行(小波变换系数)(箭头D55)。
系数行排序顺序205将系数数据(系数行)从早先的顺序(数据传输时的顺序)排序为小波逆变换处理的顺序。
如图16所示,系数行排序部分205包括系数行排序缓冲器211和系数行读出部分212。系数行排序缓冲器211保持从逆量化部分204发送的各个分级上的系数行。系数行读出部分212通过按照小波逆变换处理的顺序读出由系数行排序缓冲器211保持的各个分级上的系数行来对该系数行进行排序(箭头D56)。稍后将详细地讨论该排序处理。
系数行排序部分205(系数行读出部分212)将排序后的系数数据馈送给小波逆变换部分206(箭头D57)。
基于从代码字解读部分201发送的信息,小波逆变换部分206执行由小波变换部分103(图1)进行的小波变换的逆处理,以生成解码图像。稍后将详细地讨论小波逆变换。
小波逆变换部分206通过重复合成系数数据的低频分量和高频分量的合成滤波来执行小波逆变换。此时,由小波逆变换部分206通过合成滤波生成的较低一层级的系数数据被发送给缓冲器部分207并由其保持(箭头D58),以便用于下一合成滤波。也就是说,除了从系数行读出部分212馈送的系数数据(箭头D57)以外,小波逆变换部分206还在进行合成滤波时使用根据需要从缓冲器部分207取得的系数数据(箭头D59)。
在通过重复上述的合成滤波来恢复解码图像之后,小波逆变换部分206将图像数据输出到图像解码设备200的外部(箭头D60)。
[系数行的排序]
如上面参照图13讨论的,各个分级上的编码行按照预定的顺序(例如,从低频分量开始到高频分量)被传输。
系数行排序部分205将各个分级上的系数行从传输顺序排序为小波逆变换处理的顺序。各个分级上的系数行由系数行排序部分205中的系数行排序缓冲器211保持。当缓冲了系数行的一个行块时,系数行读出部分212通过以小波变换处理的顺序读出系数行来对这些系数行进行排序。
如稍后详细地讨论的,一次合成滤波将给定层级上的各个子带的系数行转变成较低一层级的水平和垂直方向上的低频子带的两个系数行。
在小波逆变换处理中,按照预定的顺序重复这样的合成滤波。虽然可以根据需要确定该顺序,但是,优选地,应该优先地从最低的可实行的层级向上执行合成滤波,以使延迟最小化。
这样,系数行排序部分205将各个分级上的系数行排序为预定的顺序,该顺序使得小波逆变换部分206能够以上述的方式执行小波逆变换处理,从而不需要不希望的等待时间。
图17示出上述的排序的例子。在图17中,按照要处理系数行的顺序排列这些系数行。在图17中,从上向下示出时间轴。也就是说,在该图中,从上向下处理图17中的系数行。
按照在图17的左侧示出的顺序(即,传输的顺序)从逆量化部分204输出的各个分级上的系数行由系数行排序部分205排序为在图17的右侧所示的顺序(即,小波逆变换的顺序)。
也就是说,各个分级上的系数行按照在图17的左侧示出的顺序被存储在系数行排序缓冲器211中。另一方面,系数行读出部分212按照在图17的右侧示出的顺序从系数行排序缓冲器211读取各个分级上的系数行。
更具体地说,系数行读出部分212依次地读取分级4上的行P的系数行、分级3上的行N的系数行、分级2上的行M的系数行、分级1上的行L的系数行和分级1上的行(L+1)的系数行。
然后,系数行读出部分212依次地读取分级2上的行(M+1)的系数行、分级1上的行(L+2)的系数行和分级1上的行(L+3)的系数行。
然后,系数行读出部分212依次地读取分级3上的行(N+1)的系数行、分级2上的行(M+2)的系数行、分级1上的行(L+4)的系数行和分级1上的行(L+5)的系数行。
接着,系数行读出部分212依次地读取分级2上的行(M+3)的系数行、分级1上的行(L+6)的系数行和分级1上的行(L+7)的系数行。
小波逆变换部分206使用按照上面说明的供应系数行的顺序所供应的系数行执行合成滤波。
如上所述,系数行排序部分205将按照不同于小波逆变换处理的顺序的传输顺序供应的各个分级上的系数行以行块为单位排序为小波逆变换处理的顺序。这样使得容易地管理小波逆变换处理中的系数数据,从而,小波逆变换部分206能够以较少的延迟执行小波逆变换处理。
也就是说,甚至在各个分级上的编码行按照不同于小波变换处理的顺序的传输顺序传输的情况下,图像解码设备200也能够以最小的延迟对编码数据进行解码。换句话说,图像解码设备200能够提高对编码数据进行解码的吞吐量。
图17示出如何对在稳定状态下的一个行块进行排序。基于图17中的例子,并且,参考图9和10中示出的稳定状态和初始状态之间的排序的差异,能够容易地识别与图17的例子相对应的在初始状态下进行排序的方法。因此,将不会进一步讨论初始状态下的排序方法。
[提升计算]
小波逆变换部分206使用与由小波变换部分103进行的小波变换处理相对应的方法来执行小波逆变换。例如,如果小波变换部分103使用上述的5×3滤波器来执行解析滤波,那么小波逆变换部分206也使用5×3滤波器来进行合成滤波。
基本上以与解析滤波相同的方式来执行合成滤波;合成滤波简单地以解析滤波的反向顺序进行。也就是说,在合成滤波的情况下,通过使用图3中图示的提升技术也能够减少滤波处理的计算。
图18示出这样的例子,即:其中,通过使用5×3合成滤波器,对在纵向方向上排列的行执行滤波。水平方向表示计算的进程和由此生成的低位系数。与解析滤波一样,以与垂直方向上的处理相同的方式,执行水平方向上的处理。
在图像的顶部,如框215所示,在输入高频系数(H0)、低频系数(L1)和另一高频分量系数(H1)时,执行提升计算。此时,系数“a”被对称地扩展,如箭头252所示。以这样的方式,生成较低一层级的行0和行1。
接下来,在输入两个系数行(低频分量L2和高频分量H2)时,如框253所示,生成较低一层级的行2和行3。
其后,每当输入两个系数行时,类似地,对后续的行重复上述的提升计算,并且,输出两个低位的系数行。当如框255所示针对输入的低频系数(L(N))和高频系数(H(N))生成行2(N)-2和行2(N)-1时,高频系数(H(N))被对称地扩展,如箭头256所示。然后进行计算,如框257所示,并且,由此生成行2(N+1)-2和行2(N+1)-1。
[以行块为单位的合成滤波]
对于各个层级递归地执行上述的合成滤波(提升)。由此得出,每当到达了较低一层级时,行数加倍。
例如,假设分级2上的系数行是N/4,如图19所示。在这种情况下,对分级2上的子带2LL、2LH、2HL和2HH进行合成滤波,生成N/2行的分级1上的子带1LL。
[系数行的处理顺序]
接下来的是由小波逆变换部分206进行的上述的合成滤波的示例性过程的更具体的说明。
图20按照时间顺序示出在稳定状态下要由小波逆变换部分206处理的数据。在图20中,要由小波逆变换部分206处理的数据按照时间顺序在图中从上向下排列。
当对在稳定状态下的一个行块进行小波变换时,小波逆变换部分206首先对分级4上的各个子带(子带4HH、4HL、4LH和4LL)的一个系数行(行P)执行合成滤波,以生成分级3上的子带3LL的两个系数行(行N和行(N+1))。在这些系数行中,行(N+1)的系数行被供应给缓冲器部分207并由其保持。
然后,小波逆变换部分206对分级3上的子带3LL(行N)和其它各个子带(子带3HH、3Hl和3LH)的一个系数行(行N)执行合成滤波,以生成分级2上的子带2LL的两个系数行(行M和行(M+1))。在这些系数行中,行(M+1)的系数行被供应给缓冲器部分207并由其保持。
然后,小波逆变换部分206对分级2上的子带2LL(行M)和其它各个子带(子带2HH、2HL和2LH)的一个系数行(行M)执行合成滤波,以生成分级1上的子带1LL的两个系数行(行L和行(L+1))。在这些系数行中,行(L+1)的系数行被供应给缓冲器部分207并由其保持。
然后,小波逆变换部分206对分级1上的子带1LL(行L)和其它各个子带(子带1HH、1HL和1LH)的一个系数行(行L)执行合成滤波,以生成基带图像数据的两个行(行K和行(K+1))。这两个行被输出到图像解码设备200的外部。
然后,小波逆变换部分206从缓冲器部分207读取分级1上的子带1LL(行(L+1)),并且将其与其它各个子带(子带1HH、1HL和1LH)的一个系数行(行(L+1))一起执行合成滤波,以生成基带图像数据的两个行(行(K+2)和行(K+3))。这两个行被输出到图像解码设备200的外部。
然后,小波逆变换部分206从缓冲器部分207读取分级2上的子带2LL(行(M+1)),并且将其与其它各个子带(子带2HH、2HL和2LH)的一个系数行(行(M+1))一起执行合成滤波,以生成分级1上的子带1LL的两个系数行(行(L+2)和行(L+3))。在这些系数行中,行(L+3)的系数行被供应给缓冲器部分207并由其保持。
然后,小波逆变换部分206对分级1上的子带1LL(行(L+2))和其它各个子带(子带1HH、1HL和1LH)的一个系数行(行(L+2))执行合成滤波,以生成基带图像数据的两个行(行(K+4)和行(K+5))。这两个行被输出到图像解码设备200的外部。
然后,小波逆变换部分206从缓冲器部分207读取分级1上的子带1LL(行(L+3)),并且将其与其它各个子带(子带1HH、1Hl和1LH)的一个系数行(行(L+3))一起执行合成滤波,以生成基带图像数据的两个行(行(K+6)和行(K+7))。这两个行被输出到图像解码设备200的外部。
然后,小波逆变换部分206从缓冲器部分207读取分级3上的子带3LL(行(N+1)),并且将其与其它各个子带(子带3HH、3HL和3LH)的一个系数行(行(N+1))一起执行合成滤波,以生成分级2上的子带2LL的两个系数行(行(M+2)和行(M+3))。在这些系数行中,行(M+3)的系数行被供应给缓冲器部分207并由其保持。
然后,小波逆变换部分206对分级2上的子带2LL(行(M+2))和其它各个子带(子带2HH、2HL和2LH)的一个系数行(行(M+2))执行合成滤波,以生成分级1上的子带1LL的两个系数行(行(L+4)和行(L+5))。在这些系数行中,行(L+5)的系数行被供应给缓冲器部分207并由其保持。
然后,小波逆变换部分206对分级1上的子带1LL(行(L+4))和其它各个子带(子带1HH、1HL和1LH)的一个系数行(行(L+4))执行合成滤波,以生成基带图像数据的两个行(行(K+8)和行(K+9))。这两个行被输出到图像解码设备200的外部。
然后,小波逆变换部分206从缓冲器部分207读取分级1上的子带1LL(行(L+5)),并且将其与其它各个子带(子带1HH、1HL和1LH)的一个系数行(行(L+5))一起执行合成滤波,以生成基带图像数据的两个行(行(K+10)和行(K+11))。这两个行被输出到图像解码设备200的外部。
然后,小波逆变换部分206从缓冲器部分207读取分级2上的子带2LL(行(M+3)),并且将其与其它各个子带(子带2HH、2HL和2LH)的一个系数行(行(M+3))一起执行合成滤波,以生成分级1上的子带1LL的两个系数行(行(L+6)和行(L+7))。在这些系数行中,行(L+7)的系数行被供应给缓冲器部分207并由其保持。
然后,小波逆变换部分206对分级1上的子带1LL(行(L+6))和其它各个子带(子带1HH、1HL和1LH)的一个系数行(行(L+6))执行合成滤波,以生成基带图像数据的两个行(行(K+12)和行(K+13))。这两个行被输出到图像解码设备200的外部。
然后,小波逆变换部分206从缓冲器部分207读取分级1上的子带1LL(行(L+7)),并且将其与其它各个子带(子带1HH、1HL和1LH)的一个系数行(行(L+7))一起执行合成滤波,以生成基带图像数据的两个行(行(K+14)和行(K+15))。这两个行被输出到图像解码设备200的外部。
小波逆变换部分206根据上述过程执行合成滤波。在这样的过程中,小波逆变换部分206对系数行的各个行块进行小波逆变换,以生成16行的基带图像数据。
因此,系数行排序部分205按照小波逆变换的上述顺序执行图17中图示的排序。排序使得系数行按照对于重复的合成滤波所需的这些系数行的顺序被馈送到小波逆变换部分206。这样使得小波逆变换部分206以最小的延迟进行小波逆变换处理,而不会导致不希望的等待时间。
初始状态和稳定状态之间的系数行的排列中的差异如图9和10所示。因此,通过图20的例子反映图9和10中的这些差异,能够容易地获得初始状态下的对行块的小波逆变换处理的过程。由于这样的原因,将不会进一步讨论小波逆变换处理的过程。
显然地,同样地通过图13的例子反映图9和10中的这些差异,还能够容易地获取在系数行排序部分205对系数行进行排序之后的系数行的顺序。
[行块变换]
以上述的方式,图像编码设备100和图像解码设备200以行块为单位对图像数据(以及编码数据)执行小波变换和小波逆变换(编码和解码处理)处理。
因此,例如,由图21中的附图标记A所示的由16行基带图像数据构成的一个行块由图像编码设备100小波变换为分级1上的八个系数行、分级2上的四个系数行、分级3上的两个系数行和分级4上的一个系数行,如图21中的附图标记B所示。
这些系数行经过图像解码设备200的小波逆变换,由此被转变为16行的基带图像数据(解码图像),如图21中的附图标记C所示。
[处理的流程]
下面参照图22的流程图说明的是由图像解码设备200的各部件执行的如上所讨论的解码处理的示例性的流程。对对应于一个图片的编码数据的各个集合进行这样的解码处理。
当开始解码处理并到达步骤S201时,代码字解读部分201接收编码数据的一个行块的输入。在步骤S202中,代码字解读部分201对输入的编码数据的代码字进行解读,并且从其提取相关信息。基于这样提取的相关信息,代码字解读部分201将必要的信息馈送给所涉及的处理部分。
在步骤S203中,行提取部分202基于从代码字解读部分201提供的信息(例如,代码量)提取处理对象行。
在步骤S204中,熵解码部分203对从行提取部分202馈送的处理对象行进行熵解码。在步骤S205中,逆量化部分204对处理对象行进行逆量化。在步骤S206中,系数行排序缓冲器211保持处理对象行。
在步骤S207中,行提取部分202判断一个行块是否已经被处理。如果判定仍然存在尚未处理的系数行,那么再次到达步骤S203,并且重复后续的处理。如果在步骤S207中判定已经处理了一个行块,那么到达步骤S208。
在步骤S208中,系数行读出部分212通过从系数行排序缓冲器211读取系数数据来将系数数据排序为小波逆变换的顺序。在步骤S209中,小波逆变换部分206对系数数据执行小波逆变换。
在步骤S210中,小波逆变换部分206判断一个行块是否已经被处理。如果判定仍然存在尚未处理的系数行,那么再次到达步骤S209,并且重复后续的处理。如果在步骤S210中判定已经处理了一个行块,那么到达步骤S211。
在步骤S211中,代码字解读部分201判断处理对象图片的最后一个行块(例如,最下面的行块)是否已经被处理。如果判定最后一个行块尚未被处理,那么再次到达步骤S201,并且,对下一行块重复后续的处理。如果在步骤S211中确定最后一个行块已经被处理,那么对处理对象图片的解码处理被终止。
通过进行上述的解码处理,图像解码设备200能够提高其在对编码数据进行解码的吞吐量。
在前面的说明中,系数行排序部分205被示出为将系数行从传输顺序排序为小波逆变换的顺序。传输顺序是指在编码数据的传输时的有效的顺序。例如,如果图像编码设备100按照对编码行进行编码的顺序传输这些编码行,那么系数行排序部分205将系数行从对系数行进行编码的顺序排序为小波逆变换的顺序。作为另一个例子,如果图像编码设备100按照对编码行进行小波变换的顺序传输这些编码行,那么系数行排序部分205将系数行从小波变换的顺序排序为小波逆变换的顺序。作为另一个例子,如果图像编码设备100按照小波逆变换的顺序传输编码行,那么系数行排序部分205按照小波逆变换的相同的顺序输出系数行。
由于系数行排序部分205能够基于从代码字解读部分201供应的信息来确定输入的系数行的排序顺序,所以系数行排序部分205容易相应地对这些行进行排序。也就是说,不论输入的系数行排序的顺序如何,系数行排序部分205都能够基于从代码字解读部分201馈送的信息容易地将系数行排序为小波逆变换的顺序。
<3.第三实施例>
[***配置]
下面说明如何应用作为第一实施例说明的图像编码设备100和作为第二实施例说明的图像解码设备200的例子。图23示出图像传输***的示例性配置,通过该图像传输***对输入图像进行编码和传输,并且,在传输的目的地处通过该图像传输***将编码数据解码为解码图像,从而,在目的地处输出这样获取的解码图像。
图像传输***300是以最小的延迟对图像进行传输的***。图像传输***300包括经由网络302互连的发送设备301和接收设备303。
发送设备301是通过网络302将输入图像发送到接收设备303的设备。为了高效地传输图像,发送设备301对图像数据进行编码,并且将编码数据发送到接收设备303。
发送设备301包括编码部分311、分组化处理部分(packetizationprocessing portion)312和发送部分313。
编码部分311对输入图像进行编码,并且输出编码数据。上面作为第一实施例说明的图像编码设备100被应用于编码部分311。也就是说,编码部分311具有与图像编码设备100相同的结构,并且,执行与该设备100相同的处理。
分组化处理部分312对从编码部分311输出的编码数据(码流)进行分组化。发送部分313通过网络302将由分组化处理部分312生成的分组发送到接收部分321。
诸如因特网和无线LAN的网络302作为不稳定的传输路径,所述不稳定的传输路径没有稳定可用的通信带域,并且可能会发生分组丢失和发送/接收误差。网络302可以根据需要而构造,只要它提供整体上特性会不稳定的传输路径即可。
接收设备303通过网络302接收从发送设备301发送的分组,对分组中包含的编码数据进行解码以生成解码图像,并且输出解码图像。
接收设备303包括接收部分321、解分组(depacketization)处理部分322和解码部分323。
接收部分321执行与发送设备301中的发送部分313相对应的处理。接收部分321接收通过网络从发送部分313发送的分组。
解分组处理部分322对由接收部分321接收的分组进行解分组,并且从其提取编码数据。
解码部分323对由解分组处理部分322提取的编码数据进行解码,以输出解码图像。上面作为第二实施例说明的图像解码设备200被应用于解码部分323。也就是说,解码部分323具有与图像解码设备200相同的结构,并且,执行与该设备200相同的处理。
在图像编码设备100以这样的方式被应用为编码部分311的情况下,发送设备301能够容易地进行速率控制,并且提高其对传输路径的不稳定性的耐抗性。此外,在图像解码设备200被应用为解码部分323的情况下,接收设备303能够容易地对小波逆变换执行数据管理。即使当发送设备301容易地进行速率控制并实行控制以提高其对传输路径的不稳定性的耐抗性时,接收设备303也能够以最小的延迟执行解码。
例如,如果在发送部分313和接收部分321之间的通信发生分组丢失等,那么接收部分321请求从发送部分313重传丢失的分组。编码部分311从低频分量开始到高频分量输出各个分级上的编码行,如上所讨论的。以这样的方式,越是显著地影响图像质量的越低的频率分量,发送部分313就越早地进行该频率分量的发送。换句话说,如果发生误差并且接收部分321发出重传请求,那么,越是显著地影响图像质量的要重传的越低的频率分量,就能够被分配越长的时间用于重传处理。
如果网络302的频带突然下降,那么发送部分313可以半途取消和省略分组传输,以应对突发的速率改变。在这种情况下,如果显著影响图像质量的低频分量比其它分量更早地被传输,那么传输控制对图像质量的负面影响能够被最小化。
也就是说,图像传输***300可以整体上提高其对于图像数据传输处理的吞吐量。
<4.第四实施例>
[个人计算机]
上述的一系列处理可以通过硬件或者通过软件来执行。在这种情况下,这些处理可以由例如图24中所示的个人计算机来处理。
在图24中,个人计算机400的CPU 401根据存储在ROM(只读存储器)402中的程序或者从存储部分413载入到RAM(随机存取存储器)403的程序来执行各种处理。
RAM 403还可以容纳CPU 401在执行各种处理时会需要的数据。
CPU 401、ROM 402和RAM 403通过总线404相互连接。输入/输出接口410也连接到总线404。
输入/输出接口410与以下部分连接:由键盘、鼠标等构成的输入部分411;由CRT(阴极射线管)、LCD(液晶显示器)等形成的显示装置;由扬声器等构成的输出部分412;由硬盘等构成的存储部分413;以及由调制解调器等构成的通信部分414。通信部分414进行通过包括因特网的网络的通信处理。
驱动器415根据需要也被连接到输入/输出接口410。诸如磁盘、光盘、磁光盘和半导体存储器的可移动介质421可以被附接到驱动器415。从附接的可移动介质取得的计算机程序可以根据需要被安装在存储部分413中。
在上述的一系列处理要通过软件实施的情况下,构成该软件的程序可以从网络或从记录介质安装。
如图24所示,保持这些程序的记录介质不仅可以作为与其设备分离的可移动介质421(所述介质承载提供给用户的程序)被分发给用户,而且可以以承载程序并且被预先内置在用户的设备中以便程序分发的ROM 402或存储部分413中的硬盘的形式被分发给用户,其中可移动介质421由磁盘(包括软盘)、光盘(包括CD-ROM(压缩盘-只读存储器)和DVD(数字多功能盘))、磁光盘(包括MD(迷你盘))或者半导体存储器构成。
此外,由计算机执行的程序可以按照本说明书描述的序列(即,基于时间序列)、并行地或者以例如在它们被调用时等的另外的适当地定时的方式来处理。
在本说明书中,说明在记录介质上存储的程序的步骤不仅可以表示按照所描述的序列(基于时间序列)要进行的处理,而且,这些步骤还可以表示并行地或独立进行的处理。
在本说明书中,术语“***”是指由多个部件装置(设备)构成的整个配置。
在前述段落中被说明为一个装置(或处理部分)的任何结构可以被分割为多个装置(或处理部分)。相反,上面被说明为多个装置(或处理部分)的结构可以被合并为一个装置(或处理部分)。此外,显然地,各个装置(或处理部分)可以被附加有除上面讨论的结构以外的一个或多个结构。而且,一个装置(或处理部分)的结构的一部分可以被包含在另一个装置(或处理部分)的结构中,只要这些结构和操作对于整个***实质上保持相同即可。因此,应该理解,本发明在实施时不限于上述的实施例,并且,可以对本发明进行各种修改、变形和替换,只要它们在所附权利要求或其等同物的范围内即可。
附图标记的说明
100 图像编码设备
101 图像行输入部分
102 行缓冲器部分
103 小波变换部分
104 系数行排序部分
105 量化部分
106 熵编码部分
107 添加部分
108 编码行排序部分
109 速率控制部分
111 系数行排序缓冲器
112 系数行读出部分
121 编码行排序缓冲器
122 编码行读出部分
200 图像解码设备
201 代码字解读部分
202 行提取部分
203 熵解码部分
204 逆量化部分
205 系数行排序部分
206 小波逆变换部分
207 缓冲器部分
211 系数行排序缓冲器
212 系数行读出部分

Claims (16)

1.一种图像处理设备,包括:
解析滤波部件,用于分层地执行解析滤波处理,以便将行块变换为被分割成不同频带的系数数据,该行块包含与生成最低频率分量子带的至少一行的系数数据所需的行一样多的行的图像数据;
编码部件,用于对由所述解析滤波部件生成的所述系数数据进行编码;以及
编码数据排序部件,用于将由对所述系数数据进行编码的所述编码部件获得的编码数据从该数据从执行所述解析滤波处理的所述解析滤波部件被输出的顺序排序为传输顺序,所述传输顺序是与经历合成滤波处理的数据的顺序不同的预定顺序,并且,该数据按照所述传输顺序以对传输路径的不稳定性具有提高了的耐抗性而被传输。
2.根据权利要求1所述的图像处理设备,其中,所述编码数据排序部件将不同分级上的所述编码数据排序为从低频分量开始到高频分量的所述传输顺序。
3.根据权利要求1所述的图像处理设备,还包括:
系数数据排序部件,用于将由所述解析滤波部件生成的所述系数数据从该数据从执行所述解析滤波处理的所述解析滤波部件被输出的顺序排序为编码顺序,所述编码顺序是与经历所述合成滤波处理的数据的顺序以及所述传输顺序不同的预定顺序,并且,所述编码顺序使得对所述编码数据能够进行更容易的速率控制;
量化部件,用于对由所述系数数据排序部件排序的所述系数数据进行量化;以及
速率控制部件,用于通过由所述量化部件基于所述编码部件的编码的结果来控制量化的量化步长大小而控制所述编码数据的速率;
其中,所述编码部件对由所述量化部件量化的所述系数数据进行编码。
4.根据权利要求3所述的图像处理设备,其中,所述系数数据排序部件将不同分级上的所述系数数据排序为从高频分量开始到低频分量的所述传输顺序。
5.根据权利要求1所述的图像处理设备,其中,所述解析滤波部件使用提升计算来执行所述解析滤波处理。
6.根据权利要求5所述的图像处理设备,其中,所述解析滤波部件对初始状态下的行块上的必要像素执行对称扩展,然后对所述行块进行所述提升计算,所述解析滤波部件还通过使用在先的提升计算的结果对稳定状态下的行块执行所述提升计算。
7.根据权利要求5所述的图像处理设备,其中,所述解析滤波部件对所述系数数据水平地执行所述提升计算,然后对所述系数数据垂直地进行所述提升计算。
8.一种与图像处理设备一起使用的图像处理方法,所述图像处理方法包括:
使得所述图像处理设备的解析滤波部件分层地执行解析滤波处理,以便将行块变换为被分割成不同频带的系数数据,该行块包含与生成最低频率分量子带的至少一行的系数数据所需的行一样多的行的图像数据;
使得所述图像处理设备的编码部件对通过所述解析滤波处理生成的所述系数数据进行编码;以及
使得所述图像处理设备的编码数据排序部件将通过对所述系数数据进行编码而获得的编码数据从该数据从所述解析滤波处理被输出的顺序排序为传输顺序,所述传输顺序是与经历合成滤波处理的数据的顺序不同的预定顺序,并且,该数据按照所述传输顺序以对传输路径的不稳定性具有提高了的耐抗性而被传输。
9.一种图像处理设备,包括:
解码部件,用于对通过对行块进行编码而生成的编码数据进行解码,该行块是从通过分层解析滤波处理将预定行数的图像数据分割成不同频带获得的,所述行块包含最低频率分量子带的至少一行的系数数据,所述行块还由一组不同子带的系数数据构成;
系数数据排序部件,用于将通过所述解码部件的解码获得的所述系数数据从该数据由所述解码部件解码的顺序排序为该数据经历合成滤波处理的顺序;以及
合成滤波部件,用于分层地执行所述合成滤波处理,以便将由所述系数数据排序部件排序的不同子带的所述系数数据变换为所述图像数据。
10.根据权利要求9所述的图像处理设备,其中,所述合成滤波部件对最低可实行级上的子带的系数数据优先地执行所述合成滤波处理。
11.根据权利要求9所述的图像处理设备,还包括:
解读部件,用于对所述编码数据进行解读;以及
提取部件,用于基于由所述解读部件的解读的结果,通过将所述编码数据分割为与各个不同层级上的所述系数数据的各行相对应的编码数据来提取所述编码数据;
其中,所述解码部件对由所述提取部件提取的所述编码数据进行解码。
12.根据权利要求11所述的图像处理设备,其中,基于所述解读部件的解读的结果,所述系数数据排序部件确定对所述系数数据排序的顺序,并且将确定的排序顺序改变为所述系数数据经历合成滤波处理的顺序。
13.根据权利要求9所述的图像处理设备,其中,所述合成滤波部件使用提升计算来执行所述合成滤波处理。
14.根据权利要求13所述的图像处理设备,其中,所述合成滤波部件对初始状态下的行块上的必要系数数据执行对称扩展,然后对所述行块进行所述提升计算,所述合成滤波部件还通过使用在先的提升计算的结果对稳定状态下的行块执行所述提升计算。
15.根据权利要求13所述的图像处理设备,其中,所述合成滤波部件对所述系数数据水平地执行所述提升计算,然后对所述系数数据垂直地进行所述提升计算。
16.一种与图像处理设备一起使用的图像处理方法,所述图像处理方法包括:
使得所述图像处理设备的解码部件对通过对行块进行编码而生成的编码数据进行解码,该行块是从通过分层解析滤波处理将预定行数的图像数据分割成不同频带获得的,所述行块包含最低频率分量子带的至少一行的系数数据,所述行块还由一组不同子带的系数数据构成;
使得所述图像处理设备的系数数据排序部件将通过解码获得的所述系数数据从该数据被解码的顺序排序为该数据经历合成滤波处理的顺序;以及
使得所述图像处理设备的合成滤波部件分层地执行所述合成滤波处理,以便将已经排序的不同子带的所述系数数据变换为所述图像数据。
CN2010800412266A 2009-09-24 2010-09-14 图像处理设备和图像处理方法 Pending CN102511161A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2009219627A JP5263621B2 (ja) 2009-09-24 2009-09-24 画像処理装置および方法
JP2009-219627 2009-09-24
PCT/JP2010/065862 WO2011037049A1 (ja) 2009-09-24 2010-09-14 画像処理装置および方法

Publications (1)

Publication Number Publication Date
CN102511161A true CN102511161A (zh) 2012-06-20

Family

ID=43795799

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010800412266A Pending CN102511161A (zh) 2009-09-24 2010-09-14 图像处理设备和图像处理方法

Country Status (8)

Country Link
US (1) US8634665B2 (zh)
EP (1) EP2482540A4 (zh)
JP (1) JP5263621B2 (zh)
CN (1) CN102511161A (zh)
BR (1) BR112012006071A2 (zh)
IN (1) IN2012DN02393A (zh)
RU (1) RU2012111256A (zh)
WO (1) WO2011037049A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105491392A (zh) * 2015-11-24 2016-04-13 北京优素科技有限公司 多级idwt并行处理方法及***
CN108769692A (zh) * 2012-06-26 2018-11-06 Lg 电子株式会社 视频编码方法、视频解码方法和使用其的装置
CN110397578A (zh) * 2019-04-11 2019-11-01 桑尼环保(江苏)有限公司 智能化动作执行装置
CN111567042A (zh) * 2019-04-29 2020-08-21 深圳市大疆创新科技有限公司 小波逆变换电路和方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8872189B2 (en) 2011-08-05 2014-10-28 Sumitomo Electric Industries, Ltd. Substrate, semiconductor device, and method of manufacturing the same
WO2013123632A1 (en) * 2012-02-20 2013-08-29 Thomson Licensing Component sorting based encoding for 3d mesh compression
US20140072027A1 (en) 2012-09-12 2014-03-13 Ati Technologies Ulc System for video compression

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020009142A1 (en) * 1997-05-29 2002-01-24 Sharp Kabushiki Kaisha Video coding device and video decoding device
JP2005117156A (ja) * 2003-10-03 2005-04-28 Sanyo Electric Co Ltd データ処理装置
JP2005184086A (ja) * 2003-12-16 2005-07-07 Ricoh Co Ltd 画像処理装置、画像処理方法、プログラム及び情報記録媒体
CN101309417A (zh) * 2007-05-17 2008-11-19 索尼株式会社 用于处理图像数据的方法和设备

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000184204A (ja) * 1998-12-11 2000-06-30 Canon Inc 画像処理装置及び方法及び記憶媒体
US6898323B2 (en) * 2001-02-15 2005-05-24 Ricoh Company, Ltd. Memory usage scheme for performing wavelet processing
JP2002315000A (ja) * 2001-04-12 2002-10-25 Megafusion Corp データ伝送装置
EP1722572B1 (en) * 2004-02-23 2013-02-20 NEC Corporation 2-dimensional signal encoding/decoding method and device
TW200746655A (en) * 2005-11-18 2007-12-16 Sony Corp Encoding device and method, decoding device and method, and transmission system
JP4371120B2 (ja) 2006-05-16 2009-11-25 ソニー株式会社 画像処理装置及び画像処理方法、プログラム及び記録媒体
JP4254866B2 (ja) * 2007-01-31 2009-04-15 ソニー株式会社 情報処理装置および方法、プログラム、並びに記録媒体
US20100166053A1 (en) * 2007-01-31 2010-07-01 Sony Corporation Information processing device and method
JP5162939B2 (ja) * 2007-03-30 2013-03-13 ソニー株式会社 情報処理装置および方法、並びにプログラム
BRPI0804493A2 (pt) * 2007-05-17 2011-08-30 Sony Corp aparelho e método de processamento de informação
JP4488027B2 (ja) * 2007-05-17 2010-06-23 ソニー株式会社 情報処理装置および方法、並びに、情報処理システム
CN101543037B (zh) * 2007-05-17 2012-05-30 索尼株式会社 信息处理设备和方法
JP4793320B2 (ja) * 2007-05-17 2011-10-12 ソニー株式会社 情報処理装置および方法
JP4356028B2 (ja) * 2007-05-17 2009-11-04 ソニー株式会社 情報処理装置および方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020009142A1 (en) * 1997-05-29 2002-01-24 Sharp Kabushiki Kaisha Video coding device and video decoding device
JP2005117156A (ja) * 2003-10-03 2005-04-28 Sanyo Electric Co Ltd データ処理装置
JP2005184086A (ja) * 2003-12-16 2005-07-07 Ricoh Co Ltd 画像処理装置、画像処理方法、プログラム及び情報記録媒体
CN101309417A (zh) * 2007-05-17 2008-11-19 索尼株式会社 用于处理图像数据的方法和设备

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108769692A (zh) * 2012-06-26 2018-11-06 Lg 电子株式会社 视频编码方法、视频解码方法和使用其的装置
US11245907B2 (en) 2012-06-26 2022-02-08 Lg Electronics Inc. Video encoding method, video decoding method, and apparatus using same
CN108769692B (zh) * 2012-06-26 2022-05-24 Lg 电子株式会社 视频编码方法、视频解码方法和使用其的装置
US11729392B2 (en) 2012-06-26 2023-08-15 Lg Electronics Inc. Video encoding method, video decoding method, and apparatus using same
CN105491392A (zh) * 2015-11-24 2016-04-13 北京优素科技有限公司 多级idwt并行处理方法及***
CN105491392B (zh) * 2015-11-24 2019-03-29 北京优素科技有限公司 多级idwt并行处理方法及***
CN110397578A (zh) * 2019-04-11 2019-11-01 桑尼环保(江苏)有限公司 智能化动作执行装置
CN111567042A (zh) * 2019-04-29 2020-08-21 深圳市大疆创新科技有限公司 小波逆变换电路和方法
CN111567042B (zh) * 2019-04-29 2022-05-17 深圳市大疆创新科技有限公司 小波逆变换电路和方法

Also Published As

Publication number Publication date
WO2011037049A1 (ja) 2011-03-31
EP2482540A4 (en) 2014-07-02
EP2482540A1 (en) 2012-08-01
US8634665B2 (en) 2014-01-21
JP2011071648A (ja) 2011-04-07
JP5263621B2 (ja) 2013-08-14
RU2012111256A (ru) 2013-09-27
IN2012DN02393A (zh) 2015-08-21
US20120230598A1 (en) 2012-09-13
BR112012006071A2 (pt) 2016-05-31

Similar Documents

Publication Publication Date Title
CN102511161A (zh) 图像处理设备和图像处理方法
CN101569170B (zh) 编码设备和编码方法以及解码设备和解码方法
CN101309417B (zh) 用于处理图像数据的方法和设备
EP1732029B1 (en) A method and apparatus for image encoding
CN1230786C (zh) 数字静止图象编码方法、设备和压缩比特流解码方法
CN101754018B (zh) 信息处理器及其方法
CN101854556B (zh) 信息处理设备和方法
US20140314146A1 (en) Image processing apparatus and method
CN1954614B (zh) 编码数值块的方法和设备
US7949049B2 (en) Memory efficient 3-D wavelet transform for video coding without boundary effects
JP4086196B2 (ja) 画像符号化装置、プログラム及び記憶媒体
JP4449400B2 (ja) 画像符号化装置及び方法、並びにプログラム及び記録媒体
JP2004304656A (ja) 画像圧縮装置、画像圧縮方法、プログラム及び記録媒体
EP2312855A2 (en) Low delay scalable image coding
CN102158695A (zh) 图像处理设备和方法
JP2011147050A (ja) 画像処理装置および方法
AU2004225364B2 (en) Image compressing apparatus that achieves desired code amount
JP4114144B2 (ja) 画像符号化装置、画像符号化プログラム、及び画像復号化プログラム
WO2010064569A1 (ja) 動画像データの圧縮方法
Talukder et al. An Improved Method for the Transmission of Large Image over Internet
CN111264062A (zh) 编码器、编码***和编码方法
RUI et al. 3-D VIDEO CODING ALGORITHM BASED WAVELET TRANSFORM USING LIFTING SCHEME
JP2005150842A (ja) 画像データ符号化装置及びその制御方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
JP2011114592A (ja) 情報処理装置および方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
AD01 Patent right deemed abandoned

Effective date of abandoning: 20120620

C20 Patent right or utility model deemed to be abandoned or is abandoned