CN102611889A - 图像处理装置和方法 - Google Patents

图像处理装置和方法 Download PDF

Info

Publication number
CN102611889A
CN102611889A CN2012100134435A CN201210013443A CN102611889A CN 102611889 A CN102611889 A CN 102611889A CN 2012100134435 A CN2012100134435 A CN 2012100134435A CN 201210013443 A CN201210013443 A CN 201210013443A CN 102611889 A CN102611889 A CN 102611889A
Authority
CN
China
Prior art keywords
bit
planes
coded data
rank
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
CN2012100134435A
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 CN102611889A publication Critical patent/CN102611889A/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/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/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
    • 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
    • H04N19/647Methods 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 using significance based coding, e.g. Embedded Zerotrees of Wavelets [EZW] or Set Partitioning in Hierarchical Trees [SPIHT]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

本发明提供了图像处理装置和方法。一种图像处理装置包括:率控制部件,该率控制部件通过从编码了比特平面组的具有高于预定位阶的位阶的各个比特平面的各个编码数据中根据需要优先地删除低位阶侧编码数据来执行输出数据的率控制,其中在该比特平面组中在比特深度方向上展开了通过对图像数据正交变换获得的系数数据;以及合成部件,该合成部件通过合成被率控制部件根据需要优先删除了低位阶侧编码数据的编码数据和比特平面组的具有低于预定位阶的位阶的各个比特平面,来生成输出数据。

Description

图像处理装置和方法
技术领域
本公开涉及图像处理装置和图像处理方法,具体而言涉及能够减轻编码处理和解码处理的负担的图像处理装置和图像处理方法。
背景技术
在现有技术中,作为图像编码的标准,有JPEG 2000(例如,参考日本专利No.3906630)。JPEG 2000设有无损和有损两个选项,并且具有可缩放性(分辨率、图像质量、分量等等)上的不同优点。JPEG 2000在例如数字影院中被用作有损压缩。根据DCI标准(数字影院首创),JPEG2000Part-1被选择来用作编码和解码技术。
日本专利No.3906630公开了一种图像编码装置,其既包括由比特移动器和小波变换器构成的定点型小波变换器,又包括由小波变换器构成的整数型小波变换器,并且既能够执行无损变换,又能够执行有损变换,从而增加了在图像质量和压缩比的选择上的自由度。
然而,在上述JPEG 2000格式中,有这样一个担心,即其处理负担太大以至于不可实用。另外,有这样一个担心,即随着处理负担增大,执行编码所需的时间增加到超过可允许范围的程度。
因此,已经提议了在JPEG 2000的无损编码的情况下减轻计算负担的手段(例如,参考日本未实审专利申请公布No.2010-93669)。
发明内容
然而,在有损编码的情况下,提出的方案并不充分。在JPEG 2000的有损编码的情况下,必须执行基于目标码量的率控制(rate control),从而与无损编码的情况相比难以执行控制。因此,即使如日本未实审专利申请公布No.2010-93669中公开的减轻JPEG的无损编码的负担的方法被类似地应用到有损编码,仍然担心难以适当地执行率控制。
本公开是鉴于上述情形而提出的,并且通过适当地执行率控制,解决了即使在有损编码的情况下也减轻负担的问题。
根据本公开的第一实施例,提供了一种图像处理装置,包括:率控制部件,该率控制部件通过从编码了比特平面组的具有高于预定位阶的位阶的各个比特平面的各个编码数据中根据需要优先地删除低位阶侧编码数据来执行输出数据的率控制,其中在该比特平面组中在比特深度方向上展开了通过对图像数据正交变换获得的系数数据;以及合成部件,该合成部件通过合成被率控制部件根据需要优先删除了低位阶侧编码数据的编码数据和比特平面组的具有低于预定位阶的位阶的各个比特平面,来生成输出数据。
优选地,率控制部件应适当地删除编码数据,以使得输出数据中包括的编码数据的码量等于或小于预定的目标码量。
优选地,图像处理装置还应包括计算目标码量的目标码量计算部,并且还优选地,率控制部件应适当地删除编码数据,以使得输出数据中包括的编码数据的码量等于或小于由目标码量计算部计算出的目标码量。
优选地,目标码量计算部应通过从分配的总数据量中减去非编码数据量来计算目标码量,其中非编码数据量是比特平面组的具有低于预定位阶的位阶的各个比特平面的数据总量。
优选地,图像处理装置还应包括计算非编码数据量的非编码数据量计算部件,并且还优选地,目标码量计算部应通过从总数据量中减去由非编码数据量计算部件计算出的非编码数据量来计算目标码量。
优选地,图像处理装置还应包括对比特平面编码的编码部件,并且还优选地,率控制部件应通过从通过使编码部件对具有高于预定位阶的位阶的各个比特平面编码而获得的各个编码数据中根据需要优先地删除低位阶侧编码数据来执行输出数据的率控制。
优选地,率控制部件应通过控制编码部件以根据需要不对低位阶侧编码数据编码来删除低位阶侧编码数据。
优选地,图像处理装置还应包括选择针对比特平面的处理的选择部件。优选地,选择部件应把具有高于预定位阶的位阶的各个比特平面选择为用于执行编码的比特平面。优选地,编码部件应对由选择部件选择的各个比特平面编码。此外,还优选地,率控制部件应通过控制编码部件来根据需要不对低位阶侧编码数据编码。
优选地,率控制部件应通过不优先合成低位阶侧编码数据来从由编码部件生成的编码数据中删除低位阶侧编码数据。
根据本公开的第二实施例,提供了一种图像处理装置的图像处理方法。在该方法中,图像处理装置的率控制部件通过从编码了比特平面组的具有高于预定位阶的位阶的各个比特平面的各个编码数据中根据需要优先地删除低位阶侧编码数据来执行输出数据的率控制,其中在该比特平面组中在比特深度方向上展开了通过对图像数据正交变换获得的系数数据。此外,图像处理装置的合成部件通过合成被根据需要优先删除了低位阶侧编码数据的编码数据和比特平面组的具有低于预定位阶的位阶的各个比特平面,来生成输出数据。
根据本公开的第三实施例,提供了一种图像处理装置,包括:解码部件,该解码部件对编码数据解码,编码数据是通过对比特平面组的具有高于预定位阶的位阶的比特平面之中的一部分高位阶侧比特平面编码而生成的,其中在该比特平面组中在比特深度方向上展开了通过对图像数据正交变换获得的系数数据;比特平面插入部件,该比特平面插入部件在通过使解码部件对编码数据解码而获得的各个比特平面和未被编码并具有低于预定位阶的位阶的比特平面之间插入规定的插入比特平面;以及比特平面合成部件,该比特平面合成部件在比特深度方向上合成其间由插入部件插入了插入比特平面的比特平面组。
优选地,比特平面插入部件应插入所有系数值都是零的比特平面作为插入比特平面。
优选地,图像处理装置还应包括生成插入比特平面的插入比特平面生成部件。
优选地,插入比特平面生成部件应按照当在比特深度方向上展开系数数据时获得的比特平面的数目与当解码部件对编码数据解码时获得的比特平面的数目之间的差异的值,来生成插入比特平面。
优选地,图像处理装置还应包括提取部件,该提取部件从码流中提取当在比特深度方向上展开系数数据时获得的比特平面的数目。
优选地,图像处理装置还应包括处理选择部件,该处理选择部件仅为码流中包括的编码数据选择由解码部件进行的解码。此外,还优选地,解码部件应对由处理选择部件选择的编码数据解码。
根据本公开的第四实施例,提供了一种图像处理装置的图像处理方法。在该方法中,图像处理装置的解码部件对编码数据解码,编码数据是通过对比特平面组的具有高于预定位阶的位阶的比特平面之中的一部分高位阶侧比特平面编码而生成的,其中在该比特平面组中在比特深度方向上展开了通过对图像数据正交变换获得的系数数据,并且图像处理装置的比特平面插入部件在通过对编码数据解码而获得的各个比特平面和未被编码并具有低于预定位阶的位阶的比特平面之间插入规定的插入比特平面。此外,图像处理装置的比特平面合成部件在比特深度方向上合成其间插入了插入比特平面的比特平面组。
在本公开的实施例中,通过从编码了比特平面组的具有高于预定位阶的位阶的各个比特平面的各个编码数据中根据需要优先地删除低位阶侧编码数据来执行输出数据的率控制,其中在该比特平面组中在比特深度方向上展开了通过对图像数据正交变换获得的系数数据。然后,通过合成被根据需要优先删除了低位阶侧编码数据的编码数据和比特平面组的具有低于预定位阶的位阶的各个比特平面,来生成输出数据。
在本公开的实施例中,对编码数据解码,其中编码数据是通过对比特平面组的具有高于预定位阶的位阶的比特平面之中的一部分高位阶侧比特平面编码而生成的,其中在该比特平面组中在比特深度方向上展开了通过对图像数据正交变换获得的系数数据。然后,在通过对编码数据解码而获得的各个比特平面和未被编码并具有低于预定位阶的位阶的比特平面之间插入规定的插入比特平面,并且在比特深度方向上合成其间插入了插入比特平面的比特平面组。
根据本公开的实施例,可以处理图像。特别地,通过适当地执行率控制,即使在有损编码的情况下也可以减轻负担。
附图说明
图1是示出编码器的主要配置的示例的框图;
图2是示出子带的配置的示例的示图;
图3是示出各个子带中的码块的示例的示图;
图4是示出比特平面(bit-plane)的示例的示图;
图5是示出编码过程(coding pass)的示例的示图;
图6是示出系数的扫描的示例的示图;
图7是示出SPcoc或SPcod参数的配置的示例的示图;
图8是示出图1的选择部件的主要配置的示例的框图;
图9是示出比特平面选择的示例的示图;
图10是示出比特平面选择的另一示例的示图;
图11是示出图1的率控制部件的主要配置的示例的框图;
图12是示出率控制的示例的示图;
图13是示出率控制的示例的示图;
图14是示出编码处理的流程的示例的流程图;
图15是示出选择处理的流程的示例的流程图;
图16是示出率控制处理的流程的示例的流程图;
图17是示出压缩率与处理速度之间的关系的示例的示图;
图18是示出压缩率与图像质量之间的关系的示例的示图;
图19是示出解码器的主要配置的示例的框图;
图20是示出图19的比特平面合成部件的主要配置的示例的框图;
图21是示出解码处理的流程的示例的流程图;
图22是示出比特平面合成处理的流程的示例的流程图;
图23是示出编码器的另一示例的框图;
图24是示出图23的选择部件的主要配置的示例的框图;
图25是示出图23的率控制部件的主要配置的示例的框图;
图26是示出编码处理的流程的另一示例的流程图;
图27是示出选择处理的流程的另一示例的流程图;
图28是示出率控制处理的流程的另一示例的流程图;
图29是示出在多个分量的情况下的处理的概要的示图;
图30是示出在多个分量的情况下的处理的概要的示图;并且
图31是示出个人计算机的配置的示例的框图。
具体实施方式
以下,将描述用于实现本公开的最佳模式(以下称为实施例)。此外,将按以下项目的顺序来给出描述。
1.第一实施例(编码器)
2.第二实施例(解码器)
3.第三实施例(编码器)
4.第四实施例(个人计算机)
1.第一实施例
概要
在现有技术中,存档系统或图像数据库存储并保存被称为主图像的未压缩图像,并且执行用于通过网络传送编码结果文件或者将该文件存储在记录介质中等等的操作。
在电影制作中,首先,通过利用35或60mm胶片来执行拍摄,并且通过使用被称为胶片扫描转换器的装置来将该胶片转换成数字数据。数字化的胶片源被设定为主图像。
在医疗使用的情况下,X射线图片的胶片经历胶片扫描,并且通过数字转换获得的数字数据被设定为主图像。
另外,一些最近的单镜头反光数字相机等等能够把从CCD(电荷耦合器件)或CMOS(互补金属氧化物半导体)的图像传感器获取的RAW数据或RGB数据存储在存储卡中,而不对该数据编码。
不被编码的(非编码)主图像是重要的,因为在作为图像的数据中没有损失,但是其数据大小较大。因此,当主图像被通过网络传送时,或者当很多个图像被存储在存储卡中时,难以对主图像执行一定的编码。
另外,即使当这种主图像被记录时,记录主图像的硬盘的容量也是有限制的。因此,为了在硬盘中存储很多个主图像,优选以无损方式对主图像编码,然后存储图像。此时,主图像被保存在诸如磁带之类的低成本记录介质中,将是方便的。
作为无损编码的技术,例如,有Zip、LZ77等等,但它们不适合于图像压缩(可压缩性较差)。另外,在国际标准的JPEG(联合图片专家组)中,无损编码被标准化为JPEG-LS,但其实用性较低。
作为无损编码的标准,另外还有JPEG 2000。JPEG 2000设有两个无损和有损选项,并且具有可缩放性(分辨率、图像质量、分量等等)上的不同优点。JPEG 2000在例如数字影院中被用作有损压缩。根据DCI标准(数字影院首创),JPEG 2000Part-1被选择来用作编码和解码技术。
另外,JPEG 2000也被用作无损编码。例如,JPEG 2000被用于临时存储非编码主图像时的编码处理中。另外,JPEG 2000被用在如下情况中:其中,通过使用可缩放性作为JPEG 2000的特性,首先,执行无损编码以生成无损文件,并且根据需要将该文件转换成诸如DCI标准之类的有损文件。
日本专利No.3906630公开了一种图像编码装置,其既包括由比特移动器和小波变换器构成的定点型小波变换器,又包括由小波变换器构成的整数型小波变换器,并且既能够执行无损变换,又能够执行有损变换,从而增加了在图像质量和压缩比的选择上的自由度。
然而,在上述JPEG 2000格式中,其处理负担太大以至于不可实用。JPEG 2000的熵编码采用了被称为EBCOT(具有优化截取的嵌入式块编码)的技术,其中可以组合比特建模和算术编码。EBCOT是基于JPEG2000的高压缩性能的,而其计算负担非常大。在JPEG 2000的无损编码的情况下,对所有比特平面执行EBCOT,从而计算负担进一步增大。因此,当实现JPEG 2000的无损编码系统的编码器时,由于负担的大小,硬件成本增大到超过可允许范围的程度,从而担心难以实现编码器。
另外,有这样一个担心,即随着处理负担增大,执行编码所需的时间增加到超过可允许范围的程度。例如,如果基于DCI标准的主图像是高分辨率图像(例如4K×2K)并且主图像被通过JPEG 2000的无损编码系统按单个图片量以无损方式编码,则在一般编码器中,处理必须花费几秒。按照这个速度,如果与大约两小时相对应的内容被编码,则编码整体上必须花费几天的时段。当处理时间如上所述增加时,则担心例如不仅硬件占有和诸如电气花费之类的处理成本会增加,而且工人的雇佣成本也会增加。
因此,非常想要提供在不损失可压缩性的情况下减轻JPEG 2000压缩的计算负担的手段。
本公开是为了解决上述问题而作出的,并且根据本公开,可以减轻数据的编码或解码的负担。
例如,日本未实审专利申请公布No.2010-93669描述了在JPEG 2000的无损编码的情况下减轻计算负担的手段,但没有具体描述有损编码。
然而,在JPEG 2000的无损编码和有损编码之间,所使用的小波变换是不同的。另外,在有损编码中,根据目标码量的率控制是必要的。因此,在有损编码的情况下,与无损编码的情况相比,控制要困难得多。从而,即使当减轻无损编码处理的计算负担的方法被简单地应用到有损编码处理时,也难以适当地执行率控制,同时抑制图像质量的劣化和处理速度的降低。
以下,将描述即使在有损编码中也能够适当地执行率控制并同时抑制图像质量的劣化和处理速度的降低的方法。
编码器
图1是示出编码器的主要配置的示例的框图。图1中所示的编码器是基于JPEG(联合图片专家组)2000格式对图像数据编码的编码装置。该编码器以无损方式对图像数据编码。
编码器100对于每个码块在比特平面中展开通过对图像数据执行小波变换而获得的系数,并且对于每个比特平面执行熵编码。
在JPEG 2000的比特平面中,随机噪声在低位阶比特侧(lower-levelbit side)倾向于增大,从而使用熵编码的压缩的可压缩性(优点)降低。相反,即使当任何比特平面被设定为处理对象时,熵编码的处理负担(缺点)也没有很大变化。也就是说,随着处理对象的比特平面变得更靠近低位阶比特侧,通过熵编码可获得的优点变得小于缺点。
因此,编码器100按从高位阶比特(MSB)侧的比特平面起的顺序执行熵编码,并且在中间的比特平面终止熵编码。也就是说,编码器100仅对高位阶比特侧(higher-level bit side)的一些比特平面执行熵编码,并且在不对低位阶比特侧的剩余比特平面编码的情况下输出它们。
换言之,编码器100仅对其中可获得的效果较大的高位阶比特侧比特平面执行熵编码,并且省略对于其中可获得的效果较小的低位阶比特侧比特平面的编码处理。通过省略编码处理,编码器100能够减轻处理负担。另外,由于只有对于具有低可压缩性的低位阶比特侧比特平面的编码处理被省略,所以可以减小对压缩效率的影响。
另外,编码器100执行率控制。一般地,当在率控制中减小数据量时,优先从低位阶比特侧比特平面起删除数据,以使得图像质量的劣化达到最低限度(率控制对于图像质量没有影响)。
然而,低位阶比特侧比特平面是未被编码的非编码数据(不被编码的数据)。也就是说,在低位阶比特侧比特平面中没有劣化。因此,当这种低位阶比特侧比特平面被删除时,担心该删除对于图像质量有较大影响(图像质量的劣化)。
因此,编码器100不删除低位阶比特侧比特平面,而是优先地删除比该低位阶比特侧比特平面更高位阶的、已编码比特平面中的低位阶比特侧起的比特平面。
这样,即使在有损编码的情况下,编码器100也适当地执行了率控制,同时抑制了图像质量的劣化和处理速度的降低。另外,通过省略对要删除的比特平面的编码处理,编码器100能够提高处理速度。
如图1中所示,编码器100具有DC电平移动部件101、小波变换部件102、量化部件103、码块化部件104以及比特平面展开部件105。编码器100还具有非编码数据量计算部件106、选择部件107、编码部件108、率控制部件109、合成部件110、嵌入部件111以及分组生成部件112。
DC电平移动部件101移动图像数据的DC分量的电平以便在后级高效地执行小波变换。例如,RGB信号具有正值(无符号整数)。因此,通过利用这一点,DC电平移动部件101执行使原始信号的动态范围变成一半的电平移动,从而提高编码效率。因此,当像YCbCr信号的Cb或Cr(色差信号)这样的具有带符号(正和负)整数值的信号被设定为原始信号时,不执行电平移动。
小波变换部件102通常是由包括低通滤波器和高通滤波器的滤波器组实现的。另外,由于数字滤波器通常有具有多抽头长度的脉冲响应(滤波器系数),所以小波变换部件102具有缓冲器,该缓冲器预先缓冲输入图像到能够执行滤波的程度。
小波变换部件102获取图像数据,该图像数据是从DC电平移动部件101输出的并且其量等于或大于滤波所必需的数据的最小量。小波变换部件102例如通过使用规定的小波变换滤波器对DC电平移动后的图像数据执行滤波,从而生成小波系数。另外,小波变换部件102在图像的垂直和水平方向上对图像数据执行用于将图像数据分离成低频分量和高频分量的滤波。
此外,如图2中所示,小波变换部件102在垂直和水平方向上对被分离为低频分量的子带按预定的次数递归地重复该滤波。其原因是图像的能量大多集中在低频分量中。
图2是示出由分割级别数为3的小波变换处理生成的子带的配置的示例的示图。在此情况下,小波变换部件102首先对整个图像滤波,从而生成子带3LL(未示出)、3HL、3LH和3HH。随后,小波变换部件102对所生成的子带3LL再次滤波,从而生成子带2LL(未示出)、2HL、2LH和2HH。另外,小波变换部件102对所生成的子带2LL滤波,从而生成子带0LL、1HL、1LH和1HH。
对于每个子带,小波变换部件102将通过滤波获得的小波系数提供给量化部件103。量化部件103响应于例如率控制部件109的控制,对从小波变换部件102获取的所提供小波系数进行量化。量化部件103将量化系数提供给码块化部件104。
此外,在JPEG 2000的标准中,在无损压缩的情况下省略量化处理。换言之,当编码器100执行无损压缩时,通过省略量化部件,从小波变换部件102获得的小波系数可被提供给码块化部件104。
码块化部件104把每个子带的量化小波系数分割成具有预定大小的码块,每个码块是熵编码的一个处理单位。图3是示出各个子带中的码块之间的位置关系的示图。例如,在所有分割后的子带中生成具有大约64×64像素的大小的码块。在图2的示例中,假设具有最小分割级别的子带3HH的大小是640×320像素,则具有64×64像素的码块的总数是50个。后级的每个处理部件对每个块执行处理。当然,码块的大小(像素数目)是可任意确定的。
码块化部件104将每个码块提供给比特平面展开部件105。比特平面展开部件105把所提供来的每个码块的系数数据展开到比特的每个位阶的比特平面中。
比特平面是通过如下方式形成的:按每单个比特,即按每个位阶,分割(切割)由预定数目的小波系数形成的系数组(例如码块)。也就是说,比特平面是各自具有多个比特的比特深度的多个数据的具有相同的位阶的比特(系数比特)的集合。
图4示出了其具体示例。图4的左图示出了四列和四行,即总共十六个系数。在这十六个系数中,具有最大绝对值的数字是13,并且以二进制编码形式可被表示为1101。比特平面展开部件105把系数组展开成表示绝对值的四个比特平面(绝对值比特平面)和表示符号的一个比特平面(符号比特平面)。也就是说,图4的左侧所示的系数组被展开成四个绝对值比特平面和一个符号比特平面,如图4的右侧所示。这里,绝对值比特平面的所有元素都取0或1值。另外,表示符号的比特平面的元素取表明系数的值为正的值、表明系数的值为0的值以及表明系数的值为负的值之一。
此外,如上所述,被展开成比特平面的系数组中的系数的数目是任意的。以下,将对以下情况给出描述:其中,为了通过统一处理单位来促进每个部件的处理,比特平面展开部件105在每个码块中将系数展开成比特平面。
比特平面展开部件105按从系数的最高有效比特(MSB)到最低有效比特(LSB)的顺序把以这种方式展开的比特平面提供给非编码数据量计算部件106。也就是说,比特平面展开部件105按从比特深度中的高位阶比特侧到比特深度中的低位阶比特侧的顺序把展开的比特平面提供给非编码数据量计算部件106。
此外,比特平面的提供顺序可被设定成任意的,但必须将该顺序通知给编码器100或下文将描述的解码器的各个部件。
非编码数据量计算部件106获取编码比特平面数目N(接收对编码比特平面数目N的指定)。编码比特平面数目N表示对于每个码块(比特平面展开部件105执行的展开处理的处理单位),被编码的比特平面的数目。也就是说,编码比特平面数目N表示在每个码块的比特平面组中有多少比特平面被编码。
编码比特平面数目N例如可以是预先确定的,并且可由编码器100的外部部件(例如用户等等)指定。也就是说,编码比特平面数目N可以是不可变的或者可以是可变的。
非编码数据量计算部件106通过使用编码比特平面数目N,对从105获取的比特平面,执行非编码数据量(Bit_BP)的计算,其中非编码数据量(Bit_BP)是不被编码的比特平面的数据的总量。不被编码的比特平面是当MSB的比特平面到从MSB起的第N位阶的比特平面被排除时的剩余的低位阶比特侧比特平面。也就是说,不被编码的比特平面是从MSB起的第N+1位阶到LSB的比特平面。
此外,以下,假设位阶是从MSB算起的,则“从MSB起的第M位阶”被称为“第M位阶”。例如,“从MSB起的第N位阶”被称为“第N位阶”,并且“从MSB起的第N+1位阶”被称为“第N+1位阶”。
非编码数据量计算部件106把剩余低位阶比特侧比特平面的各个数据的量相加,从而计算非编码数据量(Bit_BP)。
非编码数据量计算部件106把计算出的非编码数据量(Bit_BP)提供给率控制部件109。另外,非编码数据量计算部件106把从比特平面展开部件105获取的比特平面提供给选择部件107。
选择部件107也获取编码比特平面数目N。选择部件107通过使用编码比特平面数目N,对于从非编码数据量计算部件106获取的每个比特平面,选择是否对该比特平面编码。
选择部件107把被判定要编码的比特平面提供给编码部件108。另外,选择部件107把判定不编码的比特平面提供给合成部件110。
如上所述,由于JPEG 2000的比特平面的特性,随着比特平面更靠近MSB,比特平面对于图像质量就具有更强的影响,并且其压缩效率更高。相反,随着比特平面更靠近LSB,随机噪声倾向于增大,并且其可压缩性更差。因此,选择部件107省略对压缩效率低的低位阶比特平面的编码处理,并且对于每个比特平面选择处理以便取代编码处理而输出非编码比特平面。
也就是说,选择部件107判定对高位阶比特侧的编码比特平面数目N的比特平面编码,然后将这些比特平面提供给编码部件108。此外,选择部件107判定不对具有比它们更低的位阶的比特平面编码,然后将这些比特平面提供给合成部件110。
由于选择部件107的控制,编码器100能够省略对于低位阶比特平面的熵编码。因此,编码器100能够减轻编码处理的负担。从而,例如,可以降低成本并缩短处理时间。
编码部件108对输入的比特平面执行JPEG 2000的标准所规定的被称为EBCOT(具有优化截取的嵌入式编码)的熵编码。EBCOT是对具有预定大小的每个块在测量该块中的系数的统计量的同时执行编码的方法。
如图1中所示,编码部件108具有比特建模部121和算术编码部122。比特建模部121通过按JPEG 2000的标准规定的顺序对系数数据执行比特建模来向算术编码部122发送上下文(context)。算术编码部122通过使用该上下文来对比特平面执行算术编码。
码块的水平和垂直大小是按2的幂从4到256设定的。一般使用的大小是32×32、64×64、128×32之类的。由于量化系数的值是由n比特有符号二进制数字表示的,所以比特0到比特n-2表示从LSB到MSB的各个比特。剩余的一个比特表示符号。码块的编码是从MSB侧的比特平面起顺次地通过以下三个编码过程执行的。
(1)有效性传播过程(Significance Propagation Pass)
在对某个比特平面编码的有效性传播过程中,其中八个系数附近的至少一个系数有效的非有效系数的比特平面的值被算术编码。当被编码的比特平面的值是1时,其符号是+还是-随后经历算术编码。
这里,将描述术语“有效性”。关于有效性,当每个系数被编码时,该系数被变成表示该系数有效的1,然后1被持续地保存。因此,有效性也被定义为表示关于有效数字的信息是否被预先编码的标志。当一系数在某个比特平面中变得有效时,在随后的比特平面中,其保持有效。
(2)幅值细化过程(Magnitude Refinement Pass)
在对比特平面编码的幅值细化过程中,在对比特平面编码的有效性传播过程中未编码的有效系数的比特平面的值经历算术编码。
(3)清理过程(Cleanup Pass)
在对比特平面编码的清理过程中,在对比特平面编码的有效性传播过程中未编码的非有效系数的比特平面的值经历算术编码。另外,当被编码的比特平面的值是1时,其符号是+还是-随后经历算术编码。
此外,在上述三个编码过程中的算术编码中,可根据情况分别使用ZC(零编码)、RLC(游程长度编码)、SC(符号编码)和MR(幅值细化)。这里,使用被称为MQ编码的算术编码。MQ编码是JBIG2中规定的学习型二进制算术编码。在JPEG 2000中,在所有的编码过程中存在总共19类上下文。
图5示出了使用三个编码过程的顺序的示例。首先,通过清理过程对比特平面n-2编码,其是最高有效比特(MSB)的比特平面。随后,按有效性传播过程、幅值细化过程和清理过程的顺序,通过使用上述三个编码过程,朝着LSB侧一个接一个地对各个比特平面编码。
然而,在实践中,编码部件108在头部中写入在哪个位阶的比特平面中首先出现1,并且不对MSB之后的所有系数都是0的比特平面(称为零比特平面)编码。
接下来,将参考图6来描述系数的扫描。码块可以按与四个系数相对应的每个高度被分割成条带。条带的宽度与码块的宽度相同。扫描顺序是一个码块的所有系数被顺次扫描的顺序。在码块中,扫描顺序是从上方条带到下方条带的顺序。在条带中,扫描顺序是从左列到右列的顺序。此外,在列中,扫描顺序是从上侧到下侧的顺序。码块的所有系数在每个编码过程中按此扫描顺序被处理。
编码部件108对每个比特平面执行熵编码,直到被率控制部件109控制不执行编码为止。编码部件108的算术编码部122将所生成的编码数据(编码后的比特平面)提供给率控制部件109。
率控制部件109获取分配给作为处理对象的码块(比特平面展开部件105执行的展开处理的处理单位)的总数据量(Bit_CB)(接收对总数据量(Bit_CB)的指定)。总数据量(Bit_CB)例如是由控制整个编码处理的控制部件(未示出)等等指定的。该控制部件基于任意信息以任意方法确定分配给各个码块的总数据量,并且将该量通知给率控制部件109。
另外,率控制部件109获取由非编码数据量计算部件106计算出的非编码数据量(Bit_BP)。
率控制部件109基于这种信息计算提供给合成部件110的编码数据的目标码量。率控制部件109通过根据需要删除从编码部件108提供来的编码数据(编码后的比特平面)来调整码量,以使得该量达到目标码量(以使得提供给合成部件110的编码数据的码量变得等于或小于目标码量)。也就是说,率控制部件109以比特平面为单位调整码量。率控制部件109优先从低位阶比特侧比特平面删除数据。
率控制部件109把码量调整之后的编码数据(未删除的编码后比特平面)提供给合成部件110。
更具体而言,编码数据(被编码的比特平面)按从MSB侧到LSB侧的顺序被从编码部件108提供到率控制部件109。率控制部件109每当获取编码数据时就累计码量。如果累计的值小于目标码量,率控制部件109就将所获取的编码数据提供给合成部件110。
如果码量的累计值等于或大于目标码量,则率控制部件109销毁当前获取的编码数据,并且使得编码部件108终止编码处理,从而停止低位阶比特侧比特平面(编码数据)的提供。
另外,率控制部件109把表示所获取的比特平面(编码数据)的数目的编码比特平面数目N′通知给嵌入部件111。
这样,当降低率时,率控制部件109进行控制以使得被选择部件107选择为经历编码处理的比特平面的低位阶比特侧不被优先编码(不被接收)。此时,率控制部件109进行控制以使得被选择部件107选择为不经历编码处理的更低位阶比特侧比特平面(非编码数据)被获取。因此,率控制部件109能够在抑制图像质量的劣化的同时执行率控制。
另外,在率控制时,率控制部件109只需要删除或留下比特平面,因此不需要特别的图像处理。此外,率控制部件109控制编码部件108的操作,从而省略了不必要的编码处理。因此,率控制部件109能够抑制编码负担的增大。也就是说,率控制部件109适当地执行对码流的码量的控制(率控制),同时抑制图像质量的劣化或负担的增大。因此,编码器100即使在有损编码中也能够减轻负担。
合成部件110获取从率控制部件109提供来的编码数据(被编码的比特平面)。另外,合成部件110获取从选择部件107提供来的非编码数据(未被编码的比特平面)。合成部件110合成编码数据和非编码数据,并且向其添加头部等等,从而生成一个码流,并将该码流提供给嵌入部件111。
嵌入部件111在从合成部件110提供来的码流的规定位置处嵌入表示从率控制部件109提供来的编码比特平面数目N′的信息。
例如,嵌入部件111把表示编码比特平面数目N′的信息复用在作为用于描述编码条件等等的信息的部分的COD(编码式样默认)参数(由ISO(国际标准化组织)154441JPEG 2000Part-1标准规定)内部的SPcod或SPcoc参数的空比特中。
图7是示出实施例的示图。图7中所示的表格描述了作为SPcod或SPcoc参数提供的8比特配置。如该表中所示,在SPcod或SPcoc参数的较低6个比特中,分配了各种信息,但从MSB起的较高2位在JPEG 2000的标准中被保留,即这些比特被形成为空比特。嵌入部件111例如基于这2个比特来指定编码比特平面数目N′。
此外,嵌入的控制信息的位置是任意的,如果其是能够被用于执行码流的解码处理的解码器确定的位置的话。可预先确定嵌入位置,并且可分开提供表示嵌入位置的信息。另外,控制信息的量也是任意的。
例如,当率控制部件109不删除编码数据时,从率控制部件109提供的编码比特平面数目N′与编码比特平面数目N一致。也就是说,在此情况下,在SPcod或SPcoc参数的较高2个比特中,嵌入了被选择部件107选择为被编码的比特平面的比特平面的数目。
在嵌入处理之后,嵌入部件111将码流提供给分组生成部件112。如上所述,嵌入部件111把编码比特平面数目N′(或N)嵌入在码流中,从而用于对码流解码的解码器能够从码流中提取该信息并且基于该信息来适当地对码流解码。例如,解码器不需要其他信息,并且可以仅从码流确定被解码的比特平面的数目。从而,可以使解码器的配置或处理容易。
此外,该信息可以与码流分开地被提供给解码器。在此情况下,可以省略嵌入部件111,从而编码器100的处理按照这个量变得容易。然而,必须确定编码器和解码器之间的信息的交换。另外,解码器在解码处理中必须使用分开提供的信息。
分组生成部件112对所提供的码流进行分组化,并且将所生成的各个分组输出到编码器100的外部。这些分组通过例如规定的传输路径或存储介质被提供给与编码器100相对应的解码器。
选择部件
图8是示出图1的选择部件107的主要配置的示例的框图。如图8中所示,选择部件107具有编码比特平面数目获取部131和处理选择部132。
编码比特平面数目获取部131从未示出的用户或控制部件接收对编码比特平面数目N的指定。也就是说,编码比特平面数目获取部131获取编码比特平面数目N。此外,如上所述,编码比特平面数目N可以是预定的常数。在此情况下,编码比特平面数目获取部131可预先保存该编码比特平面数目N。编码比特平面数目获取部131将编码比特平面数目N提供给处理选择部132。
另外,处理选择部132获取通过非编码数据量计算部件106提供的比特平面。这些比特平面是按从MSB到LSB的顺序提供的。
处理选择部132执行控制以对高于第N位阶的比特平面(高位阶比特侧比特平面)执行编码处理,其中N是编码比特平面数目(选择编码处理)。也就是说,处理选择部132选择具有高于第N位阶的位阶的比特平面作为用于编码的比特平面(编码用比特平面),并且将这些比特平面提供给编码部件108。
另外,处理选择部132执行控制以不对具有低于第N+1位阶的位阶的比特平面(低位阶比特侧比特平面)执行编码处理(不选择编码处理)。也就是说,处理选择部132选择具有低于第N+1位阶的位阶的比特平面作为不被编码的比特平面(非编码用比特平面),并将这些比特平面提供给合成部件110。
也就是说,处理选择部132对按从MSB到LSB的顺序提供的比特平面进行计数,把到第N位阶的比特平面作为编码用比特平面提供给编码部件108,并且把第N+1及其后的位阶中的比特平面作为非编码用比特平面提供给合成部件110。
例如,假设指定的比特平面数目N是“4”。在此情况下,如图9中所示,处理选择部132把比特平面号是“0”至“3”的四个比特平面提供给编码部件108,以使得这些比特平面中的每一个被结合CP过程、SP过程和MR过程来进行编码。
另外,处理选择部132把超过指定的比特平面数目并且比特平面号等于或大于“4”的比特平面提供给合成部件110,以使得非编码数据在没有编码处理的情况下被输出。特别地,在CP过程中,非编码数据根据字节边界被填充,然后终止。
另外,例如,指定的比特平面数目N是“2”。在此情况下,如图10中所示,处理选择部132把比特平面号是“0”和“1”的两个比特平面提供给编码部件108,以使得这些比特平面中的每一个被结合CP过程、SP过程和MR过程来进行编码。
另外,处理选择部132把超过指定的比特平面数目并且比特平面号等于或大于“2”的比特平面提供给合成部件110,以使得非编码数据在没有编码处理的情况下被输出。特别地,在CP过程中,非编码数据被填充以调整到字节边界,然后终止。
如上所述,选择部件107能够容易地执行控制,以使得比特平面按照指定的比特平面数目N被编码,并且随后的比特平面不被编码。换言之,编码器100能够基于指定的比特平面数目N来可靠地控制非编码数据被选择的位置。
率控制部件
图11是示出图1的率控制部件109的主要配置的示例的框图。如图11中所示,率控制部件109具有码量计算部151、总数据量获取部152、目标码量计算部153以及输出控制部154。
码量计算部151计算与从编码部件108提供来的N比特平面相对应的编码数据的码量(Bit_N),并且将所获取的编码数据和计算出的码量(Bit_N)提供给输出控制部154。
更具体而言,码量计算部151在提供每个比特平面的编码数据时累计码量,并将该编码数据和此时刻的码量的累计值(Bit_N)提供给输出控制部154。
当获取到在处理对象码流中可以分配的总数据量(Bit_CB)时,总数据量获取部152将总数据量提供给目标码量计算部153。目标码量计算部153通过使用从总数据量获取部152提供来的总数据量(Bit_CB)和从非编码数据量计算部件106提供来的非编码数据量(Bit_BP),来计算编码数据(被编码的比特平面)的目标码量(Bit_N′)。
更具体而言,目标码量计算部153计算如以下式(1)表示的目标码量(Bit_N′)。
Bit_N′=Bit_CB-Bit_BP…(1)
也就是说,通过从在处理对象的码块中可以分配的总数据量(Bit_CB)中减去非编码数据量(Bit_BP)而获得的值是目标码量(Bit_N′)。
目标码量计算部153把以这种方式计算出的目标码量(Bit_N′)提供给输出控制部154。
输出控制部154对通过码量计算部151提供的N比特平面(编码数据)执行率控制,以使得码量(Bit_N)等于或小于目标码量(Bit_N′)。
更具体而言,当编码数据和该时刻的码量的累计值(Bit_N)被从码量计算部151提供来时,输出控制部154将码量(Bit_N)与从目标码量计算部153获取的目标码量(Bit_N′)相比较。
当码量(Bit_N)小于目标码量(Bit_N′)时,输出控制部154将所获取的编码数据提供给合成部件110。另外,输出控制部154对提供给合成部件110的编码数据的比特平面的数目计数。在此情况下,与随后的比特平面相对应的编码数据被提供给码量计算部151,并且相同的处理被对其重复执行。
当码量(Bit_N)等于目标码量(Bit_N′)时,输出控制部154将所获取的编码数据提供给合成部件110。另外,输出控制部154控制编码部件108,从而终止对于具有低于此的位阶的比特平面的编码(对于处理对象码块的编码)。在此情况下,直到处理对象被移动到随后的码块为止,编码数据不被提供给率控制部件109。
另外,输出控制部154对提供给合成部件110的编码数据的比特平面的数目计数,并且把到目前为止提供给合成部件110的处理对象码块的比特平面数目N′提供给嵌入部件111。另外,输出控制部154重置计数值N′(例如将该值设为0)。
当码量(Bit_N)大于目标码量(Bit_N′)时,输出控制部154销毁所获取的编码数据。另外,输出控制部154控制编码部件108,从而终止对于具有低于此的位阶的比特平面的编码(对于处理对象码块的编码)。在此情况下,直到处理对象被移动到随后的码块为止,编码数据不被提供给率控制部件109。
另外,输出控制部154把到目前为止提供给合成部件110的处理对象码块的比特平面数目N′提供给嵌入部件111(在此情况下,由于所获取的编码数据被销毁,所以该数据不被计数)。另外,输出控制部154重置计数值N′(例如将该值设为0)。
如上所述,率控制部件109限制被提供给合成部件110的编码数据的码量,以使其等于或小于基于在处理对象码块中分配的总数据量(Bit_CB)和非编码数据量(Bit_BP)计算出的目标码量(Bit_N′)。
在图12中所示的示例的情况下,在从某个码块的MSB到第4号比特平面的范围中执行EBCOT编码。在此情况下,编码数据的码量是Bit_N,并且作为剩余比特平面的数据量的非编码数据量是Bit_BP。Bit_N和Bit_BP的总和是在处理对象码块中分配的总数据量(Bit_CB)。
然而,当在处理对象码块中分配的总数据量(Bit_CB)的值减小时,非编码数据量(Bit_BP)不变,从而必须根据总数据量(Bit_CB)来减小码量(Bit_N)。
因此,如图13中所示,率控制部件109在例如第2号比特平面的部分设置一边界,以便不向合成部件110提供(删除)随后的编码数据。
如上所述,率控制部件109通过优先删除低位阶比特侧的编码数据来执行率控制。从而,率控制部件109不删除其中没有信息损失的非编码数据,并且执行率控制。因此,可以在抑制图像质量的劣化的同时执行率控制。
另外,率控制部件109容易计算目标码量,并且只需要基于目标码量来控制是否删除编码数据,从而可以容易地实现适当的率控制。
此外,率控制部件109终止对在码量达到目标值的时刻的码块的编码处理。因此,可以减轻其负担。利用这种配置,可以提高编码处理的速度并且降低制造成本。
编码处理的流程
接下来,参考图14的流程图,将描述编码器100执行的编码处理的流程的示例。对运动图像数据编码的编码器100对每个帧执行下面将描述的编码处理。
当编码处理开始时,DC电平移动部件101在步骤S101中移动输入图像数据的DC电平。在步骤S102中,小波变换部件102对图像数据执行小波变换。在步骤S103中,量化部件103对通过步骤S102的处理获得的小波系数进行量化。
在步骤S104中,码块化部件104以码块为单位分割通过步骤S103的处理量化的小波系数。在步骤S105中,比特平面展开部件105将处理对象码块展开到比特平面中。在步骤S106中,非编码数据量计算部件106基于编码比特平面数目N来计算处理对象码块的非编码数据量(Bit_BP)。
在步骤S107中,选择部件107执行选择处理,从而将每个比特平面分类成编码用比特平面和非编码用比特平面。在步骤S108中,编码部件108对编码用比特平面执行熵编码。
在步骤S109中,率控制部件109控制编码比特平面的数目,从而执行率控制。在步骤S110中,合成部件110对经历了步骤S 109的率控制的编码数据和作为不被编码的非编码用比特平面的非编码数据进行合成,从而生成码流。
在步骤S111中,嵌入部件111把步骤S109的率控制后的编码比特平面数目N′嵌入在码流中。
在步骤S112中,比特平面展开部件105判定是否所有码块都被处理了。如果判定不是所有码块都被处理了,则比特平面展开部件105使处理前进到步骤S113,将处理对象移动到随后的码块,使处理返回到步骤S105,并且重复随后的处理。
如果在步骤S112中判定通过重复执行步骤S105至S113的处理已处理了所有码块,则编码处理终止。
此外,如果没有问题,则可以按适当改变的顺序来执行上述每个处理,或者可以并行执行上述每个处理。例如,在步骤S105中,在将处理对象码块展开成比特平面之后,可以每次对一个比特平面执行步骤S106至S109的每个处理。另外,例如,当对于某个比特平面的某个步骤的处理开始之后,与该处理并行地,可以执行对随后比特平面的在先步骤的处理。
选择处理的流程
接下来,参考图15的流程图,将描述图14的步骤S107中执行的选择处理的流程的示例。
当选择处理开始时,编码比特平面数目获取部131在步骤S131中获取编码比特平面数目N,并将该数目提供给处理选择部132。在步骤S132中,处理选择部132获取从非编码数据量计算部件106提供来的处理对象比特平面。处理选择部132对属于到目前为止获取的处理对象码块的比特平面的数目进行计数。
在步骤S133中,处理选择部132判定所获取的比特平面的数目(即到目前为止获取的比特平面的数目)是否超过了编码比特平面数目N。
如果判定所获取的比特平面的数目等于或小于编码比特平面数目N,则处理选择部132使处理前进到步骤S134。在步骤S134中,处理选择部132把处理对象比特平面作为编码用比特平面提供给编码部件108,并且对该比特平面编码。当步骤S134的处理终止时,处理选择部132使处理前进到步骤S136。
另外,在步骤S133中,如果判定所获取的比特平面的数目超过了编码比特平面数目N,则处理选择部132使处理前进到步骤S135。在步骤S135中,处理选择部132把处理对象比特平面作为非编码用比特平面提供给合成部件110,从而在不编码的情况下将其输出。当步骤S135的处理终止时,处理选择部132使处理前进到步骤S136。
在步骤S136中,处理选择部132判定处理对象码块的所有比特平面是否都被处理了。如果存在未处理的比特平面,则处理选择部132使处理返回到步骤S132,并且重复随后的处理。另外,在步骤S136中,如果判定所有比特平面都被处理了,则处理选择部132终止选择处理,使处理返回到图14的步骤S107,并且执行步骤S108及其后的处理。
率控制处理
接下来,参考图16的流程图,将描述图14的步骤S109中执行的率控制处理的流程的示例。
当率控制处理开始时,在步骤S151中,目标码量计算部153获取由非编码数据量计算部件106计算出的非编码数据量(Bit_BP)。在步骤S152中,总数据量获取部152获取在处理对象码块中分配的总数据量(Bit_CB)。
在步骤S153中,目标码量计算部153通过从在步骤S152中获取的总数据量(Bit_CB)中减去在步骤S151中获取的非编码数据量(Bit-BP),来计算目标码量(Bit_N′)。
在步骤S154中,码量计算部151获取从编码部件108提供来的编码数据。在步骤S155中,码量计算部151计算步骤S154中的编码数据的码量(其累计值)(Bit_N)。
在步骤S156中,输出控制部154判定在步骤S155中计算出的码量(Bit_N)是否达到了在步骤S153中计算出的目标码量(Bit_N′)。如果判定码量(Bit_N)小于目标码量(Bit_N′),则输出控制部154使处理前进到步骤S157。
在步骤S157中,输出控制部154把在步骤S154中获取的当前编码数据输出到合成部件110,使处理返回到步骤S154,并且重复随后的处理。
另外,在步骤S156中,如果码量(Bit_N)等于或大于目标码量(Bit_N′),则输出控制部154使处理前进到步骤S158。在步骤S158中,输出控制部154终止编码数据的输出。更具体而言,如果码量(Bit_N)与目标码量(Bit_N′)一致,则输出控制部154把在步骤S154中获取的当前编码数据输出到合成部件110,然后停止输出随后的编码数据(与低位阶比特侧比特平面相对应的编码数据)。另外,如果码量(Bit_N)大于目标码量(Bit_N′),则输出控制部154销毁在步骤S154中获取的当前编码数据,并且停止输出随后的编码数据(与低位阶比特侧比特平面相对应的编码数据)。
在步骤S159中,输出控制部154计算编码比特平面数目N′为到目前为止输出的处理对象码块的比特平面的数目。输出控制部154把计算出的编码比特平面数目N′提供给嵌入部件111。
在步骤S160中,输出控制部154控制编码部件108,从而终止编码。当步骤S160的处理终止时,输出控制部154终止率控制处理,使处理返回到图14的步骤S109,并且执行步骤S110及其后的处理。
编码结果的示例
接下来,参考图17和18,将描述在通过上述编码器100执行编码时的处理时间和图像质量。图17是示出由率控制部件109的率控制处理中剩余的编码数据数目的差异引起的速度差异的示图。
此外,这里,假设编码比特平面数目N=4。也就是说,选择部件107通过对直到第四位阶的范围内的比特平面编码来设定编码数据,并且通过不对低于第五位阶的比特平面编码来设定非编码数据。
在图17中,比较以下五种情况中编码器100的整体处理时间的长度。第一种情况是处理对象码块的所有比特平面都被编码的情况(不偷懒(No Lazy))。第二种情况是处理对象码块的所有编码用比特平面都被编码(具有高于第四(BP=4)位阶的位阶的比特平面被编码)的情况(通常偷懒(Normal Lazy))。第三种情况是执行编码直到处理对象码块的第三编码用比特平面(具有高于第三(BP=3)位阶的位阶的比特平面被编码)的情况(3BP)。第四种情况是执行编码直到处理对象码块的第二编码用比特平面(具有高于第二(BP=2)位阶的位阶的比特平面被编码)的情况(2BP)。第五种情况是只有处理对象码块的第五编码用比特平面被编码(只有MSB比特平面被编码)的情况(1BP)。
在图17的示例中,当“不偷懒”的情况被设定为基准时,示出了各个情况的处理时间的长度。另外,在图17的示例中,在以下五种情况中执行比较:压缩率是0.25bpp;0.5bpp;1.0bpp;2.0bpp;以及4.0bpp。
如图17中所示,无论在任何压缩率下,在只有处理对象码块的最高位阶比特平面被编码的情况中(在1BP的情况中),处理时间都是最短的。也就是说,随着比特平面的数目减小,编码器100的处理时间减短,无论压缩率如何。例如,当不偷懒的处理时间被设定为100%时,通常偷懒的处理时间大约为95%,并且BP=1的处理时间大约为75%。因此,与JPEG 2000规定的通常偷懒相比,有处理时间可减短大约20%的优点。
也就是说,率控制部件109通过如上所述执行率控制,能够减短编码处理的处理时间。
图18是示出由率控制部件109的率控制处理中剩余的编码数据数目的差异引起的图像质量的差异的示图。
此外,在图18中,与图17的情况类似,也假设编码比特平面数目N=4。在该假设下,在不偷懒、通常偷懒、3BP、2BP和1BP的五种情况中,通过对由编码器100生成的编码数据解码而获得的图像的图像质量(PSNR(峰信号噪声比))被比较。
如图18中所示,在任何压缩率下,在PSNR上都没有大差异。也就是说,率控制部件109通过如上所述执行率控制能够抑制图像质量的劣化。
也就是说,编码器100能够在抑制处理时间的增加和图像质量的劣化的同时适当地执行率控制。因此,由于编码器100即使在有损编码的情况下也适当地执行率控制,所以可以减轻其负担。
2.第二实施例
解码器的示例性配置
接下来,将描述与上述编码器100相对应的解码器(解码装置)。图19是示出解码器的配置的示例的框图。
图19中所示的解码器200是通过使用与编码器100的编码方法相对应的解码方法,对从编码器100提供来的码流解码,从而获得解码图像数据的解码装置。
解码器200对从编码器100提供来的码流解译,并且确定在编码器100中在压缩数据和非压缩数据之间切换选择的比特平面,从而根据编码器100的选择来对各个比特平面解码。也就是说,解码器200通过使用与编码器100的编码方法相对应的解码方法来对被编码器100编码的比特平面解码,并且按原样使用未被编码器100编码的比特平面,而不对它们解码。因此,解码器200适当地解码并合成各个比特平面,从而生成基带的图像数据(从而获得解码图像数据)。
此外,在以上描述中,编码器100对码流进行分组化,并且输出码流。相应地,当编码器100的输出被解码时,在实践中,通过分析分组来提取码流的分组分析处理是必要的。然而,在以下描述中,假设分组分析处理可通过任选的方法来执行,从而为了描述方便将省略对分组分析处理的描述。
如图19中所示,解码器200具有解译部件201、处理选择部件202、解码部件203、比特平面合成部件204、码块合成部件205、逆量化部件206、逆小波变换部件207以及DC电平逆移动部件208。
解译部件201对所提供的码流解译。例如,解译部件201提取在编码器100中嵌入在码流中的表示编码比特平面数目N′的信息,并且基于该信息来判定处理对象比特平面是否被编码。
更具体而言,例如,解译部件201根据JPEG 2000的语法对码流解译,读取图7中所示的SPcod或SPcoc的较高2个比特,并且提取表示编码比特平面数目N′的信息。另外,解译部件201把码流中包括的每个比特平面的数据提供给处理选择部件202。此时,解译部件201基于所提取的编码比特平面数目N′来通知处理选择部件202所提供的数据是编码数据还是非编码数据。
例如,当向处理选择部件202提供从码流的开头到第N′比特平面的范围内的比特平面的数据时(其中N′是编码比特平面的数目),解译部件201通知处理选择部件202该数据是编码数据。另外,向处理选择部件202提供第N′+1和随后的比特平面的数据时,解译部件201通知处理选择部件202该数据是非编码数据。
另外,解译部件201提取表示码流中包括的每个码块的比特平面的总数(BP的总数)信息,并将该信息提供给比特平面合成部件204。此外,由于BP的总数是预先确定的,所以比特平面合成部件204可预先保存该信息。在此情况下,省略对BP总数的提供。
如上所述,处理选择部件202在可以识别数据是编码数据还是非编码数据的状态中从解译部件获取每个比特平面的数据。然后,处理选择部件202把从解译部件201提供来的编码数据提供给解码部件203。另外,处理选择部件202把从解译部件201提供来的非编码数据(比特平面)提供给比特平面合成部件204。
解码部件203通过使用与编码器100的编码相对应的解码方法对每个比特平面的编码数据进行解码,并且将解码结果(非编码数据,即比特平面)提供给比特平面合成部件204。
在图19的示例的情况下,解码部件203具有算术解码部211和比特建模部212。算术解码部211对编码数据解码,并且比特建模部212生成被展开到比特平面中的小波系数。
当从解码部件203和处理选择部件202获取各个比特平面(非编码数据)时,比特平面合成部件204通过合成比特平面来以码块为单位生成系数数据。
然而,如上所述,当一些比特平面在编码器100中通过率控制被删除时(在N>N′的情况下),在合成比特平面时比特平面的数目不足。也就是说,当提供给比特平面合成部件204的比特平面的数目小于BP的总数时,按其间的差异的量在编码器100的率控制中删除了比特平面。
比特平面合成部件204在处理对象码块中对从处理选择部件202和解码部件203提供来的比特平面的数目计数。然后,比特平面合成部件204计算从解译部件201提供来的BP的总数和与单个码块相对应的比特平面的计数值之间的差异值。
比特平面合成部件204按照该差异的量生成所有系数值都是零的比特平面,并且合成从处理选择部件202和解码部件203提供来的非编码数据。
更具体而言,从解码部件203提供来的比特平面是MSB到第N′位阶的比特平面,并且从处理选择部件202提供来的比特平面是第N+1位阶到LSB的比特平面。因此,其间的位阶,即第N′+1位阶到第N位阶,是其中不可分配比特平面的空白位阶。比特平面合成部件204把所生成的所有系数值都是零的比特平面插入到空白位阶。
也就是说,在从MSB到LSB的方向上,从解码部件203提供来的比特平面、所有系数值都是零的比特平面和从处理选择部件202提供来的比特平面被按此顺序排列整理并合成,从而生成码块单位的系数数据。
码块合成部件205合成以这种方式生成的码块单位的系数数据,并且生成与单个图片相对应的系数数据。系数数据在量化部件103中被量化。码块合成部件205把系数数据提供给逆量化部件206。
逆量化部件206通过使用与量化部件103相符的方法来对系数数据执行逆量化,并将逆量化后的系数数据提供给逆小波变换部件207。
逆小波变换部件207对所提供的小波系数执行逆小波变换,并生成基带的图像数据。DC电平逆移动部件208根据需要按编码时的移动量执行将图像数据的DC分量恢复到其原始状态的DC电平逆移动处理。DC电平逆移动部件208输出DC电平逆移动处理后的图像数据。
如上所述,解码器200适当地对包括由编码器100生成且未经历编码的比特平面的码流进行解码,从而可以获得解码图像数据。另外,在此情况下,与解码器200对其中所有通常比特平面都被编码的码流解码的情况(对所有比特平面解码的情况)相比,可以减轻解码处理的处理负担。
比特平面合成部件
图20是示出图19的比特平面合成部件204的主要配置的示例的框图。如图20中所示,比特平面合成部件204具有比特平面缓冲器221、比特平面数目计数部222、插入比特平面数目确定部223、比特平面插入部224以及读取控制部225。
比特平面缓冲器221存储从处理选择部件202和解码部件203提供来的比特平面。比特平面数目计数部222对存储在比特平面缓冲器221中的比特平面的数目进行计数,并且把计数值Y(比特平面数目Y)通知给插入比特平面数目确定部223。
插入比特平面数目确定部223获取从解译部件201提供来的BP的总数X(单个码块的比特平面的数目)。另外,插入比特平面数目确定部223从比特平面数目计数部222获取比特平面数目Y。
插入比特平面数目确定部223基于上述值来确定作为在合成比特平面时插入的比特平面的数目的插入比特平面数目Z。更具体而言,插入比特平面数目确定部223通过如以下式(2)所表示的从BP总数X中减去比特平面数目Y来计算插入比特平面数目Z。
Z=X-Y…(2)
插入比特平面数目确定部223把插入比特平面数目Z通知给比特平面插入部224。
比特平面插入部224按照所提供的插入比特平面数目Z,生成所有系数都是零的比特平面(插入比特平面),读取插入比特平面,将它们提供给读取控制部225,并将它们插入到在读取控制部225中合成的比特平面组。
读取控制部225按从MSB到LSB的顺序读取比特平面缓冲器221中存储的比特平面。更具体而言,读取控制部225首先按从MSB到低位阶比特侧的顺序读取从解码部件203提供来的各个比特平面,然后按从高位阶比特侧到LSB的顺序读取从处理选择部件202提供来的各个比特平面。
另外,读取控制部225获取从比特平面插入部224提供来的比特平面数目Z的插入比特平面,并将它们插入到从解码部件203提供来的比特平面和从处理选择部件202提供来的比特平面之间的位阶。也就是说,读取控制部225整理比特平面以把从解码部件203提供来的比特平面、插入比特平面和从处理选择部件202提供来的比特平面在从MSB到LSB的方向上按此顺序排列。
比特平面数Z的插入比特平面被插入,从而读取控制部225所保存的比特平面的数目变得等于BP总数X。通过按此顺序合成比特平面,读取控制部225生成与单个码块相对应的系数数据。读取控制部225把所生成的与单个码块相对应的系数数据提供给码块合成部件205。
如上所述,比特平面合成部件204能够容易地查明比特平面数目的不足量(在编码器100中删除的比特平面的数目),并且能够容易地生成和插入与该不足量相对应的插入比特平面。也就是说,如上所述,即使在通过删除比特平面执行了率控制时,比特平面合成部件204也容易生成与单个码块相对应的系数数据。
解码处理的流程
参考图21的流程图,将描述图19的解码器200执行的解码处理的流程的示例。
当获取到由编码器100生成的码流时,解码器200开始解码处理。此外,解码器200以图片为单位重复地执行下面将描述的解码处理。
当解码处理开始时,解码器200的解译部件201在步骤S201中对所提供的码流进行解译。在步骤S202中,处理选择部件202基于解译结果来判定处理对象比特平面是否被编码了。如果判定处理对象比特平面被编码了,也就是说处理对象比特平面的数据是编码数据,则处理选择部件202使处理前进到步骤S203。
在步骤S203中,解码部件203对处理对象编码数据执行熵解码,并且使处理前进到步骤S204。另外,在步骤S202中,如果判定处理对象比特平面未被编码,也就是说处理对象比特平面的数据是非编码数据,则处理选择部件202使处理前进到步骤S204。
在步骤S204中,处理选择部件202判定处理对象码块中的所有比特平面是否都被处理了。如果判定存在未处理的比特平面,则处理选择部件202使处理返回到步骤S201,将处理对象改成随后的比特平面,并且重复随后的处理。
如果在步骤S204中判定处理对象码块中的所有比特平面都通过重复执行步骤S201至S204的每个处理被处理,则处理选择部件202使处理前进到步骤S205。在步骤S205中,比特平面合成部件204合成各个比特平面,并且生成码块单位的小波系数。
在步骤S206中,比特平面合成部件204判定是否所有码块都被处理了。如果判定存在未处理的码块,则比特平面合成部件204使处理返回到步骤S201,将处理对象改成随后的码块,并且重复随后的处理。
如果在步骤S206中判定所有码块都通过重复执行步骤S201至S206中的每个处理被处理了,则码块合成部件205使处理前进到步骤S207。在步骤S207中,码块合成部件205合成各个码块的小波系数。
作为合成结果的与单个图片相对应的小波系数在编码器100中被量化。在步骤S208中,逆量化部件206通过使用与编码器100的量化部件103相符的方法对各个量化的小波系数执行逆量化。
在步骤S209中,逆小波变换部件207对通过步骤S208的处理经历了逆量化的与单个图片相对应的小波系数执行逆小波变换,从而生成与单个图片相对应的基带的图像数据(解码图像数据)。
在步骤S210中,DC电平逆移动部件208在与编码器100的移动方向相反的方向上按编码器100的移动量移动DC电平,并且终止解码处理。比特平面合成处理的流程
接下来,参考图22的流程图,将描述图21的步骤S205中执行的比特平面合成处理的流程的示例。
当比特平面合成处理开始时,图20的比特平面合成部件204的插入比特平面数目确定部223在步骤S231中获取比特平面总数X。
在步骤S232中,比特平面缓冲器221获取并存储通过解码部件203的解码获得的比特平面或者从处理选择部件202提供来的比特平面。
在步骤S233中,比特平面缓冲器221判定处理对象码块的所有比特平面是否都被存储了,并且判定是否存在未处理的码块。如果判定存在未处理的码块,则处理前进到步骤S232,并且随后的处理被重复。
如果在步骤S223中判定处理对象码块的所有比特平面都通过反复执行步骤S232和S233的处理而被处理了,则比特平面缓冲器221使处理前进到步骤S234。
如上所述,比特平面缓冲器221顺次存储从处理选择部件202和解码部件203提供来的比特平面,并且保存与单个码块相对应的比特平面。也就是说,在实践中,步骤S232和S233的处理是对应于图21的步骤S202和S203的处理执行的。因此,步骤S232和S233的反复是与图21的步骤S202和S203的反复并行执行的。
在步骤S234中,比特平面数目计数部222对在比特平面缓冲器221中累积的比特平面的数目(比特平面数目Y)进行计数。此外,该处理可对应于步骤S232的处理执行。也就是说,在处理对象码块的所有比特平面都被存储在比特平面缓冲器221中之后,比特平面缓冲器221中累积的比特平面的数目可被计数。或者,当比特平面缓冲器221存储比特平面时,比特平面的存储次数可被计数。
在步骤S235中,插入比特平面数目确定部223基于在步骤S231中获取的比特平面的总数(BP总数)X和在步骤S234中获得的比特平面数目Y来计算插入比特平面数目Z,如以下式(3)表示。
Z=X-Y…(3)
也就是说,在当前比特平面数目Y对于作为在编码器100中展开时的比特平面数目的BP总数X不足时,与不足量相对应的比特平面被插入。在步骤S236中,比特平面插入部224按照插入比特平面数目Z生成所有系数都是零的插入比特平面。
在步骤S237中,读取控制部225从比特平面缓冲器221中读取比特平面。读取控制部225首先按从MSB到低位阶比特侧的顺序读取从解码部件203提供来的各个比特平面,然后按从高位阶比特侧到LSB的顺序读取从处理选择部件202提供来的各个比特平面。
在步骤S238中,读取控制部225把从比特平面插入部224提供来的比特平面数目Z的插入比特平面插入到从解码部件203提供来的比特平面和从处理选择部件202提供来的比特平面之间的位阶。
当步骤S238的处理终止时,读取控制部225把以这种方式生成的与单个码块相对应的系数数据提供给码块合成部件205,终止比特平面合成处理,使处理返回到图21的步骤S205,并且执行步骤S206及其后的处理。
如上所述,通过执行每个处理,解码器200对包括由编码器100生成的未经历编码的比特平面的码流适当地解码,从而可以获得解码图像数据。
3.第三实施例
编码器的示例性配置
此外,上述第一实施例描述了如下方法作为率控制方法:通过编码获得的编码数据的码量被累计并且在该码量达到目标码量的时刻编码终止。然而,率控制方法不限于此。例如,在选择部件中被选择为编码用比特平面的所有比特平面被编码之后,码量超过目标码量的比特平面可被销毁。
此情况下的编码器的示例性配置在图23中所示。图23的编码器300与图1的编码器100类似,是对图像数据执行有损编码的编码装置。
编码器300基本上具有与编码器100相同的配置。然而,如上所述,在率控制之前,编码器300选择处理对象码块的所有比特平面的编码处理或非编码处理,并且对要编码的所有比特平面编码。
因此,编码器300具有取代编码器100的选择部件107的选择部件307,并且具有取代率控制部件109的率控制部件309。此外,省略了编码器100的非编码数据量计算部件106、合成部件110和嵌入部件111。
在编码器300的情况下,被比特平面展开部件105展开的各个比特平面按从MSB到LSB的顺序被提供给编码部件108和选择部件307。在选择部件307的控制下,编码部件108对所提供的各个编码用比特平面编码,并将所生成的编码数据提供给选择部件307。
与选择部件107类似地,选择部件307获取编码比特平面数目N。选择部件307通过使用编码比特平面数目N,对于每个比特平面选择被提供给率控制部件309的数据。
更具体而言,选择部件307在高于第N位阶的位阶选择从编码部件108提供来的编码数据,并将该编码数据提供给率控制部件309。选择部件307在低于第N+1位阶的位阶选择从比特平面展开部件105提供来的比特平面(非编码数据),并将其提供给率控制部件309。
此外,在选择非编码数据的位阶,编码部件108执行的编码是不必要的。选择部件307执行对第N位阶比特平面的选择,然后指示编码部件108终止编码。编码部件108根据该控制仅对高于第N位阶的比特平面编码,并且省略对于具有低于第N+1位阶的位阶的比特平面的编码。
因此,编码部件108能够省略对由选择部件307选择的比特平面不必要的编码处理。也就是说,选择部件307能够抑制不必要的负担的增大。
如上所述,选择部件307在编码停止之后在低于第N+1位阶的位阶选择非编码数据,并且将该数据提供给率控制部件309。如上所述,在率控制部件309中,在处理对象码块的比特深度的所有位阶提供了编码数据或非编码数据。率控制部件309保存编码数据和非编码数据。
与选择部件307类似地,率控制部件309获取编码比特平面数目N。另外,与率控制部件109类似地,率控制部件309获取在处理对象码块中分配的总数据量(Bit_CB)。率控制部件309基于该信息执行率控制。
率控制方法与率控制部件109的率控制方法基本相同。率控制部件309通过计算输出的编码数据的目标码量,根据需要删除从选择部件307提供来的编码数据,以便实现该目标码量。此时,率控制部件309优先删除低位阶比特侧的编码数据。另外,率控制部件309不删除非编码数据。
此外,在率控制时,率控制部件309还计算非编码数据的量,生成码流,并嵌入编码比特平面数目N′的码流。
在率控制之后,率控制部件309把未被删除的高位阶比特侧编码数据和非编码数据提供给分组生成部件112。
因此,率控制部件309适当地执行对码流的码量的控制(率控制),同时抑制了图像质量的劣化或负担的增大。结果,与编码器100的情况类似,即使在有损编码中,编码器300也能够减轻负担。
此外,在编码器300的情况下,如上所述,在率控制之前所有编码用比特平面都被编码。因此,与仅对码流中包括的比特平面编码的编码器100的情况相比,负担增大了,但是编码器300可容易地应用到各种其他系统。
例如,通过省略量化处理,只要率控制前的编码数据和非编码数据(选择部件307的输出)被输出,编码器300就与无损编码系统兼容。
选择部件
图24是示出图23的选择部件307的主要配置的示例的框图。如图24中所示,选择部件307具有与选择部件107基本相同的配置,只不过选择部件307具有比特平面选择部332而不是处理选择部132。
比特平面选择部332选择从编码部件108提供来的编码数据或从比特平面展开部件105提供来的非编码数据,并将所选择的数据提供给率控制部件309。
比特平面选择部332基于由编码比特平面数目获取部131获取的编码比特平面数目N来执行该选择。比特平面选择部332在高于第N位阶的位阶选择编码数据,并将该数据提供给率控制部件309。另外,比特平面选择部332在低于第N+1位阶的位阶选择非编码数据,并将其提供给率控制部件309。
当在高于第N位阶的位阶选择编码数据时,比特平面选择部332控制编码部件108以终止对处理对象码块的编码。也就是说,当获取了N个从编码部件108提供来的编码数据并将该数据提供给率控制部件309时,比特平面选择部332终止编码部件108的编码处理,然后获取N+1个从比特平面展开部件105提供来的非编码数据,并将该数据提供给率控制部件309。
如上所述,选择部件307容易对于较高的N比特选择编码数据,并且选择具有低于此的比特的非编码数据。换言之,编码器300能够基于指定的比特平面数目N来可靠地控制非编码数据被选择的位置。
率控制部件
图25是示出图23的率控制部件309的主要配置的示例的框图。如图25中所示,率控制部件309具有嵌入部件111、总数据量获取部152、目标码量计算部153、编码比特平面数目获取部351、缓冲器353、码量计算部354、非编码数据量计算部355、输出控制部356以及码流生成部357。
编码比特平面数目获取部351获取由选择部件307获取的编码比特平面数目N,并将该数目提供给码量计算部354和非编码数据量计算部355。
缓冲器353按提供顺序存储从选择部件307提供来的编码数据和非编码数据。
码量计算部354基于从编码比特平面数目获取部351提供来的编码比特平面数目N,计算由率控制部件309获取的(存储在缓冲器353中的)处理对象码块的编码数据的码量(Bit_N)。如上所述,首先提供编码数据,然后提供非编码数据。也就是说,从选择部件307提供来的那些数据之中的第一至第N数据是编码数据,并且第N+1及其后的数据是非编码数据。因此,码量计算部354计算从选择部件307提供来的第一至第N数据(编码数据)的数据量。
码量计算部354把编码比特平面数目N和计算出的码量(Bit_N)提供给输出控制部356。
非编码数据量计算部355基于从编码比特平面数目获取部351提供来的编码比特平面数目N,计算由率控制部件309获取的(存储在缓冲器353中的)处理对象码块的非编码数据的数据量(非编码数据量(Bit_BP))。如上所述,首先提供编码数据,然后提供非编码数据。也就是说,从选择部件307提供来的那些数据之中的第一至第N数据是编码数据,并且第N+1及其后的数据是非编码数据。因此,非编码数据量计算部355计算从选择部件307提供来的第N+1及其后的数据(非编码数据)的数据量。
非编码数据量计算部355把计算出的非编码数据量(Bit_BP)提供给目标码量计算部153。
目标码量计算部153基于由总数据量获取部152获取的处理对象码块中分配的总数据量(Bit_CB)和由非编码数据量计算部355计算出的非编码数据量(Bit_BP),来计算目标码量(Bit_N′)。目标码量计算部153把计算出的目标码量(Bit_N′)提供给输出控制部356。
输出控制部356在基于由编码比特平面数目获取部351获取的编码比特平面数目N、由码量计算部354计算出的码量(Bit_N)和由目标码量计算部153计算出的目标码量(Bit_N′)执行率控制的同时,读取缓冲器353中累积的编码数据和非编码数据。
例如,通过将码量(Bit_N)与目标码量(Bit_N′)相比较,如果码量(Bit_N)等于或小于目标码量(Bit_N′),则输出控制部356读取缓冲器353中累积的所有数据,并将这些数据提供给码流生成部357。
另外,例如,如果码量(Bit_N)大于目标码量(Bit_N′),则输出控制部356确定从缓冲器353读取的编码数据的数目(编码比特平面数目N′),以使得码量等于或小于目标码量(Bit_N′)。输出控制部356读取缓冲器353中累积的编码数据之中的高位阶比特侧的N′个编码数据(第一到第N′编码数据),并将这些数据提供给码流生成部357。然后,输出控制部356读取缓冲器353中累积的所有非编码数据,并将这些数据提供给码流生成部357。
如上所述,输出控制部356通过控制从缓冲器353读取的编码数据的数目来执行率控制。
输出控制部356还把作为从缓冲器353读取的编码数据的数目的编码比特平面数目N′提供给嵌入部件111。例如,如果码量(Bit_N)等于或小于目标码量(Bit_N′),则编码比特平面数目N′等于编码比特平面数目N。
码流生成部357与合成部件110的情况类似地获取从输出控制部356提供来的编码数据和非编码数据,合成编码数据和非编码数据,向其添加头部等等,从而生成单个码流,并将该码流提供给嵌入部件111。
嵌入部件111在从码流生成部357提供来的码流的规定位置嵌入表示从输出控制部356提供来的编码比特平面数目N′的信息。
如上所述,与率控制部件109的情况类似,率控制部件309通过优先删除低位阶比特侧的编码数据来执行率控制。也就是说,率控制部件309不删除其中没有信息损失的非编码数据,并且执行率控制。因此,可以在抑制图像质量的劣化的同时执行率控制。另外,率控制部件309容易地计算目标码量,并且只需要基于目标码量来控制是否删除编码数据,从而可以容易地实现适当的率控制。
编码处理的流程
接下来,参考图26的流程图,将描述编码器300执行的编码处理的流程的示例。对运动图像数据编码的编码器300对每个帧执行下面将描述的编码处理。
当编码处理开始时,以与图14的步骤S101至S105的每个处理相同的方式执行步骤S301至S305的每个处理,从而将处理对象码块展开成比特平面。
在步骤S306中,编码部件108对高于第N位阶的比特平面编码。
在步骤S307中,选择部件307执行选择处理,以在高于第N位阶的位阶选择在步骤S306中生成的编码数据,并且在低于第N+1位阶的位阶选择在步骤S305中展开的比特平面(非编码数据)。
在步骤S308中,率控制部件309执行率控制,从而根据需要删除编码数据。
在步骤S309中,比特平面展开部件105判定是否所有码块都被处理了。如果判定不是所有码块都被处理了,则比特平面展开部件105使处理前进到步骤S310,将处理对象移动到随后的码块,使处理返回到步骤S305,并且重复随后的处理。
如果在步骤S309中判定所有码块都通过反复执行步骤S305至S310的处理而被处理了,则编码处理终止。
此外,如果没有问题,则可以按适当改变的顺序来执行上述每个处理,或者可以并行执行上述每个处理。例如,步骤S306和S307的每个处理可以相互并行地执行。
选择处理的流程
接下来,参考图27的流程图,将描述图26的步骤S307中执行的选择处理的流程的示例。
当选择处理开始时,编码比特平面数目获取部131在步骤S331中获取编码比特平面数目N。
在步骤S332中,比特平面选择部332开始获取从编码部件108和比特平面展开部件105提供来的比特平面(编码数据或非编码数据)。
在步骤S333中,比特平面选择部332从第一到第N比特平面选择编码数据。
在步骤S334中,比特平面选择部332终止在图26的步骤S306中执行的编码处理。
在步骤S335中,比特平面选择部332从第N+1起及其后的比特平面选择非编码数据。
当上述处理终止时,比特平面选择部332终止选择处理,使处理返回到图26的步骤S307,并且执行步骤S308及其后的处理。
率控制处理
接下来,参考图28的流程图,将描述图26的步骤S308中执行的率控制处理的流程的示例。
当率控制处理开始时,在步骤S351中,编码比特平面数目获取部351获取编码比特平面数目N。在步骤S352中,总数据量获取部152获取在处理对象码块中分配的总数据量(Bit_CB)。
在步骤S353中,缓冲器353存储从选择部件307提供来的编码数据。在步骤S354中,缓冲器353存储从选择部件307提供来的非编码数据。
在步骤S355中,码量计算部354在步骤S353中存储的N个编码数据的码量(Bit_N)。在步骤S356中,非编码数据量计算部355计算非编码数据量(Bit_BP)为在步骤S354中存储的非编码数据的量。在步骤S357中,目标码量计算部153通过从在步骤S352中获取的总数据量(Bit_CB)中减去非编码数据量(Bit_BP)来计算目标码量(Bit_N′)。
在步骤S358中,输出控制部356基于在步骤S355中计算出的码量(Bit_N)、在步骤S357中计算出的目标码量(Bit_N′)等等来确定编码比特平面数目N′。
在步骤S359中,输出控制部356选择在缓冲器353中累积的编码数据之中的与在步骤S358中确定的编码比特平面数目N′相对应的编码数据,并读取该编码数据。在步骤S360中,输出控制部356选择在缓冲器353中累积的所有非编码数据,并读取这些数据。
在步骤S361中,码流生成部357合成在步骤S359中选择的编码数据和在步骤S360中选择的非编码数据,从而生成码流。
在步骤S362中,嵌入部件111在步骤S361中生成的码流的规定位置嵌入在步骤S358中确定的编码比特平面数目N′。
当步骤S362的处理终止时,嵌入部件111终止率控制处理,使处理返回到图26的步骤S308,并且执行步骤S309及其后的处理。
通过执行上述的各种处理,与编码器100的情况类似,编码器300能够在抑制处理时间的增加和图像质量的劣化的同时适当地执行率控制。因此,即使在有损编码的情况下,编码器300也能够通过适当地执行率控制来减轻负担。
多个分量
此外,图像可由多个分量构成。在此情况下,例如,通过执行上述率控制,可对每个分量执行扫描。另外,例如,在第一或第二实施例的情况下,在执行率控制时,如图29中所示,可通过所有分量执行扫描。图29是示出扫描Y分量、Cb分量和Cr分量的所有分量中的各个比特位置的情况的示例的示图。
在图29的示例中,除了零比特平面以外,在从MSB到LSB的方向上,按Y、Cb、Cr的顺序,并且按位于相同比特平面的编码过程的顺序,以比特平面为单位执行编码,并且累计生成码量。然后,作为累计的结果,如果判定直到某个X比特平面累计的比特数目充分接近目标码量(Bit_N′),则停止累计操作。
在第三实施例的情况下,如图30中所示,对于每个比特平面,可按LSB到MSB的顺序截去编码数据。从而,截去控制可停止在数据量达到目标量的时刻。
显然,上述编码器100、解码器200和编码器300可具有其他配置。另外,这些装置可被配置为不仅被形成为单个装置、而且被形成为多个装置的系统。例如,这些装置可被配置为数字影院编辑装置、存档系统、图像数据库,医疗图像记录系统、网络服务器、非线性编辑装置、PC的编著工具、编著工具的软件模块,等等。
4.第四实施例
个人计算机
上述一系列处理可由硬件或软件执行。在此情况下,例如,该系列处理可由图31中所示的个人计算机实现。
在图31中,个人计算机400的CPU(中央处理单元)401根据存储在ROM(只读存储器)402中的程序或从存储单元413加载到RAM(随机访问存储器)403中的程序来执行各种处理。在RAM 403中,CPU 401不仅执行各种处理,而且适当地存储必要的数据等等。
CPU 401、ROM 402和RAM 403经由总线404相互连接。总线404连接到输入/输出接口410。
输入/输出接口410连接到由键盘、鼠标等等形成的输入单元411、由CRT(阴极射线管)、LCD(液晶显示器)等等形成的显示器、由扬声器等等形成的输出单元412、由诸如闪存之类的SSD(固态驱动器)、硬盘驱动器等等形成的存储单元413、以及由调制解调器、有线LAN(局域网)或无线LAN等等形成的通信单元414。通信单元414经由包括因特网在内的网络执行通信处理。
输入/输出接口410根据需要连接到驱动器415,并且适当地装备有诸如磁盘、光盘、磁光盘或半导体存储器之类的可移除介质421。利用这种配置,从可移除介质421读取的计算机程序根据需要被安装在存储单元413中。
当用软件执行上述一系列处理时,从网络或记录介质安装构成该软件的程序。
如图31中所示,例如,记录介质包括可移除介质421,可移除介质421是与装置的主体分开提供的,以便将程序递送给用户,并且其中存储了程序。可移除介质421是由磁盘(包括柔性盘)、光盘(包括CD-ROM(压缩盘-只读存储器)和DVD(数字多功能盘))、磁光盘(包括MD(袖珍盘))、半导体存储器等等形成的。此外,记录介质还包括ROM402、存储单元413中包括的硬盘驱动器等等,它们是在被构建在装置的主体中的状态中被提供给用户的,并且其中存储了程序。
此外,计算机执行的程序可以是按本说明书中描述的顺序以时序处理的程序,或者是并行处理或在程序被调用时在必要的定时处理的程序。
另外,在本说明书中,描述记录介质中存储的程序的步骤不仅包括按记录顺序以时序执行的步骤,而且包括不一定以时序执行而是并行或单独执行的步骤。
另外,在本说明书中,系统表示包括多个设备的整个装置。
另外,在上述配置中,单个设备(或单个处理部件)可形成为多个设备(或处理部件)。相反,在上述配置中,多个设备(或处理部件)可总体形成为单个设备(或处理部件)。另外,可向每个设备(或每个处理部件)的配置添加另外的配置。此外,当整个系统的配置或操作基本相同时,某个设备(或处理部件)的配置的一部分可被包括在另一设备(或另一处理部件)的配置中。也就是说,本公开并不限于上述实施例,而是可被修改成各种形式,而不脱离本公开的技术范围。
例如,图1的率控制部件109、图19的比特平面合成部件204和图23的率控制部件309可被配置为独立的设备。
本公开包含与2011年1月21日向日本专利局提交的日本优先权专利申请JP 2011-010527中公开的主题相关的主题,特此通过引用将该申请的全部内容并入。
本领域的技术人员应当理解,取决于设计要求和其他因素,可以进行各种修改、组合、子组合和变更,只要它们处于所附权利要求或其等同物的范围之内即可。

Claims (17)

1.一种图像处理装置,包括:
率控制部件,该率控制部件通过从编码了比特平面组的具有高于预定位阶的位阶的各个比特平面的各个编码数据中根据需要优先地删除低位阶侧编码数据来执行输出数据的率控制,其中在该比特平面组中在比特深度方向上展开了通过对图像数据正交变换获得的系数数据;以及
合成部件,该合成部件通过合成被所述率控制部件根据需要优先删除了低位阶侧编码数据的编码数据和所述比特平面组的具有低于所述预定位阶的位阶的各个比特平面,来生成所述输出数据。
2.根据权利要求1所述的图像处理装置,其中,所述率控制部件适当地删除编码数据,以使得所述输出数据中包括的编码数据的码量等于或小于预定的目标码量。
3.根据权利要求2所述的图像处理装置,还包括计算所述目标码量的目标码量计算部,
其中,所述率控制部件适当地删除编码数据,以使得所述输出数据中包括的编码数据的码量等于或小于由所述目标码量计算部计算出的所述目标码量。
4.根据权利要求3所述的图像处理装置,其中,所述目标码量计算部通过从分配的总数据量中减去非编码数据量来计算所述目标码量,其中所述非编码数据量是所述比特平面组的具有低于所述预定位阶的位阶的各个比特平面的数据总量。
5.根据权利要求4所述的图像处理装置,还包括计算所述非编码数据量的非编码数据量计算部件,
其中,所述目标码量计算部通过从所述总数据量中减去由所述非编码数据量计算部件计算出的所述非编码数据量来计算所述目标码量。
6.根据权利要求1所述的图像处理装置,还包括对比特平面编码的编码部件,
其中,所述率控制部件通过从通过使所述编码部件对具有高于所述预定位阶的位阶的各个比特平面编码而获得的各个编码数据中根据需要优先地删除低位阶侧编码数据来执行输出数据的率控制。
7.根据权利要求6所述的图像处理装置,其中,所述率控制部件通过控制所述编码部件以根据需要不对低位阶侧编码数据编码来删除所述低位阶侧编码数据。
8.根据权利要求7所述的图像处理装置,还包括选择针对比特平面的处理的选择部件,
其中,所述选择部件把具有高于所述预定位阶的位阶的各个比特平面选择为用于执行编码的比特平面,
其中,所述编码部件对由所述选择部件选择的各个比特平面编码,并且
其中,所述率控制部件通过控制所述编码部件来根据需要不对所述低位阶侧编码数据编码。
9.根据权利要求6所述的图像处理装置,其中,所述率控制部件通过不优先合成低位阶侧编码数据来从由所述编码部件生成的编码数据中删除所述低位阶侧编码数据。
10.一种图像处理装置的图像处理方法,
其中所述图像处理装置的率控制部件通过从编码了比特平面组的具有高于预定位阶的位阶的各个比特平面的各个编码数据中根据需要优先地删除低位阶侧编码数据来执行输出数据的率控制,其中在该比特平面组中在比特深度方向上展开了通过对图像数据正交变换获得的系数数据,并且
其中所述图像处理装置的合成部件通过合成被根据需要优先删除了低位阶侧编码数据的编码数据和所述比特平面组的具有低于所述预定位阶的位阶的各个比特平面,来生成所述输出数据。
11.一种图像处理装置,包括:
解码部件,该解码部件对编码数据解码,所述编码数据是通过对比特平面组的具有高于预定位阶的位阶的比特平面之中的一部分高位阶侧比特平面编码而生成的,其中在该比特平面组中在比特深度方向上展开了通过对图像数据正交变换获得的系数数据;
比特平面插入部件,该比特平面插入部件在通过使所述解码部件对所述编码数据解码而获得的各个比特平面和未被编码并具有低于所述预定位阶的位阶的比特平面之间插入规定的插入比特平面;以及
比特平面合成部件,该比特平面合成部件在比特深度方向上合成其间由所述插入部件插入了所述插入比特平面的比特平面组。
12.根据权利要求11所述的图像处理装置,其中,所述比特平面插入部件插入所有系数值都是零的比特平面作为所述插入比特平面。
13.根据权利要求12所述的图像处理装置,还包括生成所述插入比特平面的插入比特平面生成部件。
14.根据权利要求13所述的图像处理装置,其中,所述插入比特平面生成部件按照当在比特深度方向上展开所述系数数据时获得的比特平面的数目与当所述解码部件对所述编码数据解码时获得的比特平面的数目之间的差异的值,来生成所述插入比特平面。
15.根据权利要求14所述的图像处理装置,还包括提取部件,该提取部件从码流中提取当在比特深度方向上展开所述系数数据时获得的比特平面的数目。
16.根据权利要求15所述的图像处理装置,还包括处理选择部件,该处理选择部件仅为所述码流中包括的所述编码数据选择由所述解码部件进行的解码,
其中,所述解码部件对由所述处理选择部件选择的所述编码数据解码。
17.一种图像处理装置的图像处理方法,
其中,所述图像处理装置的解码部件对编码数据解码,所述编码数据是通过对比特平面组的具有高于预定位阶的位阶的比特平面之中的一部分高位阶侧比特平面编码而生成的,其中在该比特平面组中在比特深度方向上展开了通过对图像数据正交变换获得的系数数据,
其中所述图像处理装置的比特平面插入部件在通过对所述编码数据解码而获得的各个比特平面和未被编码并具有低于所述预定位阶的位阶的比特平面之间插入规定的插入比特平面,并且
其中所述图像处理装置的比特平面合成部件在比特深度方向上合成其间插入了所述插入比特平面的比特平面组。
CN2012100134435A 2011-01-21 2012-01-13 图像处理装置和方法 Pending CN102611889A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011-010527 2011-01-21
JP2011010527A JP5817125B2 (ja) 2011-01-21 2011-01-21 画像処理装置および方法

Publications (1)

Publication Number Publication Date
CN102611889A true CN102611889A (zh) 2012-07-25

Family

ID=45507476

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2012100134435A Pending CN102611889A (zh) 2011-01-21 2012-01-13 图像处理装置和方法

Country Status (4)

Country Link
US (1) US8873878B2 (zh)
EP (1) EP2479995B1 (zh)
JP (1) JP5817125B2 (zh)
CN (1) CN102611889A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112673639A (zh) * 2018-09-11 2021-04-16 夏普株式会社 用于对变换系数位阶值进行编码的系统和方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2011203169C1 (en) * 2011-06-29 2014-07-17 Canon Kabushiki Kaisha Compression of high bit-depth images
JP5950157B2 (ja) * 2012-05-18 2016-07-13 ソニー株式会社 画像処理装置および方法、並びに、プログラム
KR102385365B1 (ko) * 2017-07-21 2022-04-12 삼성전자주식회사 전자 장치 및 전자 장치에서 이미지 데이터를 압축하는 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1874409A (zh) * 2005-04-18 2006-12-06 索尼株式会社 图像信号处理设备、照相机系统及图像信号处理方法
CN101540910A (zh) * 2008-03-18 2009-09-23 索尼株式会社 信息处理设备和信息处理方法
CN101729896A (zh) * 2008-10-10 2010-06-09 索尼株式会社 信息处理设备和方法
CN101742309A (zh) * 2008-11-11 2010-06-16 索尼株式会社 图像解码装置、图像解码方法以及计算机程序

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3337365B2 (ja) * 1996-01-23 2002-10-21 株式会社リコー 多値画像データ伝送装置
JP3906630B2 (ja) 2000-08-08 2007-04-18 ソニー株式会社 画像符号化装置及び方法並びに画像復号装置及び方法
JP3702778B2 (ja) * 2000-11-27 2005-10-05 ソニー株式会社 画像符号化装置及び方法
US6993199B2 (en) * 2001-09-18 2006-01-31 Nokia Mobile Phones Ltd. Method and system for improving coding efficiency in image codecs
JP2003235042A (ja) * 2002-02-12 2003-08-22 Sony Corp 画像符号化装置及びその符号化方法
US7372999B2 (en) * 2002-09-09 2008-05-13 Ricoh Company, Ltd. Image coder and image decoder capable of power-saving control in image compression and decompression
JP4105578B2 (ja) * 2003-03-28 2008-06-25 株式会社リコー 画像圧縮装置
JP4045544B2 (ja) * 2003-04-14 2008-02-13 ソニー株式会社 符号化装置及び符号化方法
JP4086196B2 (ja) * 2003-06-27 2008-05-14 株式会社リコー 画像符号化装置、プログラム及び記憶媒体
JP4702928B2 (ja) * 2004-03-12 2011-06-15 キヤノン株式会社 動画像符号化装置及び復号装置及びその制御方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
JP2006295299A (ja) * 2005-04-06 2006-10-26 Megachips Lsi Solutions Inc デジタル絞りシステム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1874409A (zh) * 2005-04-18 2006-12-06 索尼株式会社 图像信号处理设备、照相机系统及图像信号处理方法
CN101540910A (zh) * 2008-03-18 2009-09-23 索尼株式会社 信息处理设备和信息处理方法
CN101729896A (zh) * 2008-10-10 2010-06-09 索尼株式会社 信息处理设备和方法
CN101742309A (zh) * 2008-11-11 2010-06-16 索尼株式会社 图像解码装置、图像解码方法以及计算机程序

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PEI-JUN LEE: "BIT-PLANE ERROR RECOVERY VIA CROSS SUBBAND FOR IMAGE TRANSMISSION IN JPEG2000", 《IEEE INTERNATIONAL CONFERENCE ON 》, 26 August 2002 (2002-08-26), pages 3 - 3 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112673639A (zh) * 2018-09-11 2021-04-16 夏普株式会社 用于对变换系数位阶值进行编码的系统和方法
CN112673639B (zh) * 2018-09-11 2024-03-08 夏普株式会社 用于对变换系数位阶值进行编码的系统和方法

Also Published As

Publication number Publication date
JP2012151783A (ja) 2012-08-09
EP2479995A1 (en) 2012-07-25
JP5817125B2 (ja) 2015-11-18
US20120189223A1 (en) 2012-07-26
EP2479995B1 (en) 2016-11-16
US8873878B2 (en) 2014-10-28

Similar Documents

Publication Publication Date Title
CN101729896B (zh) 信息处理设备和方法
AU2017268705B2 (en) A method and apparatus for image compression
KR101266577B1 (ko) 화상 처리 방법 및 장치
JP4656190B2 (ja) 情報処理装置および方法
US8098947B2 (en) Method and apparatus for processing image data by rearranging wavelet transform data
US8189932B2 (en) Image processing apparatus and image processing method
US9510008B2 (en) Video decoder memory bandwidth compression
CN102045564B (zh) 编码装置和方法
CN102611889A (zh) 图像处理装置和方法
JP4443165B2 (ja) 画像圧縮装置及び画像圧縮方法
JP5950157B2 (ja) 画像処理装置および方法、並びに、プログラム
TW201415418A (zh) 使用誤差平面編碼的數據壓縮方法及裝置
AU2014227492B2 (en) Apparatus and method for compact bit-plane data compression
US20110032994A1 (en) method and a system for wavelet based processing
US9948928B2 (en) Method and apparatus for encoding an image
US8249375B2 (en) Information processing apparatus and method
JP4821835B2 (ja) 情報処理装置および方法
Bruns et al. Sample-parallel execution of EBCOT in fast mode
US20110091119A1 (en) Coding apparatus and coding method
Bhuvaneswary et al. Design of parallel pipelined architecture for wavelet based image compression using daubechie’s
CN118354094A (zh) 视频图像编解码方法及装置、电子设备及计算机存储介质
CN111264062A (zh) 编码器、编码系统和编码方法
Lin et al. Low cost architecture for JPEG2000 encoder without code-block memory
CN103260023A (zh) 图像编码/解码系统与其方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20120725

WD01 Invention patent application deemed withdrawn after publication