CN101237577B - 信息处理设备和方法 - Google Patents

信息处理设备和方法 Download PDF

Info

Publication number
CN101237577B
CN101237577B CN2008100049629A CN200810004962A CN101237577B CN 101237577 B CN101237577 B CN 101237577B CN 2008100049629 A CN2008100049629 A CN 2008100049629A CN 200810004962 A CN200810004962 A CN 200810004962A CN 101237577 B CN101237577 B CN 101237577B
Authority
CN
China
Prior art keywords
unit
code
size
coding unit
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.)
Expired - Fee Related
Application number
CN2008100049629A
Other languages
English (en)
Other versions
CN101237577A (zh
Inventor
保坂和寿
福原隆浩
荒木淳哉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 CN101237577A publication Critical patent/CN101237577A/zh
Application granted granted Critical
Publication of CN101237577B publication Critical patent/CN101237577B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/88Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving rearrangement of data among different coding units, e.g. shuffling, interleaving, scrambling or permutation of pixel data or permutation of transform coefficient data among different blocks
    • 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/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/152Data rate or code amount at the encoder output by measuring the fullness of 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • 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
    • 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

Abstract

一种用于对图像数据进行编码的信息处理设备包括:重排列单元,用于按执行合成处理的顺序重新排列为每个频带所划分的系数数据,其中合成处理合成被划分为频带的多个子带的系数数据,以产生每个行块的图像数据,行块包括相当于对于生成相当于最低频率分量的子带的一行的系数数据所需要的行数目的图像数据;控制单元,用于利用在以已知的量化步长大小进行编码时所生成的代码量与在对图像数据进行编码时的目标代码量之间的比值,为每个编码单位计算在对图像数据进行编码时的新的量化步长大小;和编码单元,用于利用所计算的量化步长大小,为每个编码单位对系数数据进行编码,以生成编码数据。

Description

信息处理设备和方法
相关申请的交叉引用 
本发明包含关于2007年1月31日提交给日本专利局的日本专利申请JP 2007-020527的主题,该专利申请的全部内容被引入此用于参考。 
技术领域
本发明涉及信息处理设备和方法,尤其涉及这样一种信息处理设备和方法,由此可容易且适当地执行对编码处理所产生的代码量的控制。
背景技术
迄今为止,对于运动图像数据的编码来说,已经有一种方法根据其运动图像数据来适当地控制所产生的代码量的分配。
为了对运动图像数据进行适当的编码,以降低其图像的图像质量的劣化(从而解码图像具有高图像质量),已经有一种方法对整个运动图像进行统计处理,并确定向哪个画面的哪个部分是否分配多少所生成的代码量(例如,参见日本专利No.3268306和No.3358620)。
附带地,为了以很小的延迟对运动图像进行编码,已经有一种在每次图像被输入时对图像的一部分进行编码的方法,并且在这样的情况下,已经有一种用于基于对运动图像的局部统计确定所产生的代码量的分配的方法(例如,参见日本未审专利申请公开No.10-136354,日本未审专利申请公开No.9-261633,和国际公开WO 96/28937)。
例如,对于作为MPEG2(运动图像专家组2)中的测试模式而提出的代码量控制,基于虚拟缓冲器的剩余可用量、以及先前编码时的量化指数与所产生的代码量之间的关系来执行反馈控制。
对于这样的基于运动图像的局部统计而确定所产生的代码量的分配的技术,已经提出了各种类型的技术。例如,已经有一种方法基于过去画面的所生成的代码量来分配当前画面的所生成的代码量,其利用这样的事实,即对于运动图像,图像内容的相关程度在时间上相邻的画面之间很高。
发明内容
但是,如果利用缓冲器中剩余的代码量改变量化步长大小等,如对于已知的设置那样,则在单个画面内量化步骤大小可能被改变多次,这在应用最大量化步长大小的地方可能表现为显著的图像劣化。另一方面,量化步长大小小的部分所表现的图像劣化小于其他部分,这导致实际上引起对其他部分的图像劣化的注意。
已经认识到需要适当地改进对在编码处理时所生成的代码量的控制。
根据本发明的一个实施例,一种配置为对图像数据进行编码的信息处理设备包括:重排列单元,被配置为按执行合成处理的顺序重新排列为每个频带所划分的系数数据,该合成处理用于合成被划分为频带的多个子带的系数数据,以产生每个行块的图像数据,其中每个行块包括相当于对于生成相当于最低频率分量的子带的一行的系数数据所需要的行数目的图像数据;控制单元,被配置为利用在以已知的量化步长大小进行编码时所生成的代码量与在对图像数据进行编码时的目标代码量之间的比值,为每个编码单位计算在对图像数据进行编码时的新的量化步长大小,其中编码单位是编码的处理增量;以及编码单元,被配置为利用控制单元所计算的量化步长大小,为每个编码单位对重排列单元所重新排列的系数数据进行编码,以生成编码数据。
控制单元还可包括:计算单元,被配置为将已知量化步长大小乘以所生成的代码量和目标代码量之间的比值;和设置单元,被配置为将计算单元所计算的相乘结果设置为新的量化步长大小。
已知的量化步长大小可以是已经被用于对图像数据的前一画面进行编码的量化步长大小;其中所生成的代码量是对该画面进行编码时所生成的代码量。
计算单元可以画面为增量来计算相乘结果。
设置单元可以在图像数据的画面之间的相关性比预定的基准高,并且用于存储编码数据的缓冲器的数据占用率比预定的基准低的情况下将相乘结果设置为新的量化步长大小。
编码单位可以是行块。
重排列单元可以为每个行块以从低频分量到高频分量的顺序重新排列系数数据。
控制单元可以执行控制,以对每个行块并行地操作每个重排列单元和编码单元。
重排列单元和编码单元可并行地执行每个处理。
根据本发明的一个实施例,一种用于对图像数据进行编码的信息处理方法包括以下步骤:以执行合成处理的顺序重新排列为每个频带所划分的系数数据,该合成处理用于合成被划分为频带的多个子带的系数数据,以产生每个行块的图像数据,其中行块包括相当于对于产生相当于最低频率分量的子带的一行的系数数据所需要的行数目的图像数据;利用在以已知的量化步长大小进行编码时所生成的代码量与在对图像数据进行编码时的目标代码量之间的比值,为每个编码单位计算在对图像数据进行编码时的新的量化步长大小,其中编码单位是编码的处理增量;以及利用计算步骤中所计算的量化步长大小,为每个编码单位对重排列步骤中所重新排列的系数数据进行编码,以生成编码数据。
根据本发明的一个实施例,被配置为对图像数据进行编码的信息处理设备包括:重排列单元,被配置为按执行合成处理的顺序重新排列为每个频带所划分的系数数据,该合成处理用于合成被划分为频带的多个子带的系数数据,以产生每个行块的图像数据,其中每个行块包括相当于对于生成相当于最低频率分量的子带的一行的系数数据 所需要的行数目的图像数据;控制单元,被配置为在图像数据的当前画面与前一画面之间的图像相关性低的情况下,利用当前画面内的相关性,为每个编码单位计算在对图像数据进行编码时的量化步长大小,其中编码单位是编码的处理增量;以及编码单元,被配置为利用控制单元所计算的量化步长大小,为每个编码单位对重排列单元所重新排列的系数数据进行编码,以生成编码数据。
信息处理设备还可包括:确定单元,被配置为确定图像数据的画面之间的相关性程度;其中在确定单元确定相关性低的情况下,控制单元利用当前画面内的相关性计算量化步长大小。
确定单元可以在对在当前编码单位处所产生的代码量进行归一化而获得的归一化代码量比在前一画面相同位置处的编码单位的归一化编码量大、并且其差异比通过将每编码单位的目标代码量与当前设置的量化步长大小的一半相乘而获得的值大的情况下确定相关性低。
在确定单元已经确定相关性低的情况下,计算单元可通过将当前画面内以前编码单位的归一化代码量除以每编码单位的目标编码量,来计算新的量化步长大小。
在确定单元已经确定相关性高的情况下,计算单元可利用当前画面与前一画面之间的相关性,来计算量化步长大小。
编码单位可以是行块。
重排列单元可以为每个行块以从低频分量到高频分量的顺序重新排列系数数据。
控制单元可执行控制,以对每个行块并行地操作每个重排列单元和编码单元。
重排列单元和编码单元可以并行执行每个处理。
根据本发明的一个实施例,一种用于对图像数据进行编码的信息处理方法包括以下步骤:按执行合成处理的顺序重新排列为每个频带所划分的系数数据,该合成处理用于合成被划分为频带的多个子带的系数数据,以产生每个行块的图像数据,其中每个行块包括相当于对 于生成相当于最低频率分量的子带的一行的系数数据所需要的行数目的图像数据;在图像数据的当前画面与前一画面之间的图像相关性低的情况下,利用当前画面内的相关性,为每个编码单位计算在对图像数据进行编码时的量化步长大小,其中编码单位是编码的处理增量;以及利用在控制步骤中所计算的量化步长大小,为每个编码单位对重排列步骤中所重新排列的系数数据进行编码,以生成编码数据。
根据本发明的一个实施例,一种被配置为对图像数据进行编码以产生编码数据的信息处理设备,包括:重排列单元,被配置为按执行合成处理的顺序重新排列为每个频带所划分的系数数据,该合成处理用于合成被划分为频带的多个子带的系数数据,以产生每个行块的图像数据,其中每个行块包括相当于对于生成相当于最低频率分量的子带的一行的系数数据所需要的行数目的图像数据;确定单元,被配置为基于通过将存储在用于存储编码数据的缓冲器中的编码数据的代码量除以每编码单位的目标代码量,而确定该缓冲器的数据占用量,其中编码单位是编码的处理增量;控制单元,被配置为在确定单元已经确定存储在缓冲器中的编码数据的代码量非常大的情况下,通过将在前一画面相同位置的编码单位处所生成的代码量除以每编码单位的目标代码量,计算在对图像数据进行编码时的量化步长大小;和编码单元,被配置为利用控制单元所计算的量化步长大小,为每个编码单位对重排列单元所重新排列的系数数据进行编码,以产生编码数据。
控制单元可通过将对在前一画面相同位置的编码单位处所产生的代码量进行归一化而得到的归一化代码量除以每编码单位的目标代码量,计算量化步长大小。
信息处理设备还可包括校正单元,被配置为执行校正,以进一步增大计算单元所计算的量化步长大小的值,从而将编码所产生的代码量减小缓冲器中所存储的编码数据的代码量那么多。
校正单元可通过将计算单元处所计算的量化步长大小值除以以下两个值中较小值而执行校正,即通过从值“4”中减去通过将存储在 缓冲器中的编码数据的代码量的一半除以每编码单位的目标代码量而得到的值而得到的值、以及值“1”。
根据本发明的一个实施例,一种用于对图像数据进行编码以生成编码数据的信息处理方法包括以下步骤:按执行合成处理的顺序重新排列为每个频带所划分的系数数据,该合成处理用于合成被划分为频带的多个子带的系数数据,以产生每个行块的图像数据,其中每个行块包括相当于对于生成相当于最低频率分量的子带的一行的系数数据所需要的行数目的图像数据;基于通过将存储在用于存储编码数据的缓冲器中的编码数据的代码量除以每编码单位的目标代码量,而确定该缓冲器的数据占用量,其中编码单位是编码的处理增量;如果在确定步骤中确定存储在缓冲器中的编码数据的代码量非常大,则通在将在前一画面相同位置的编码单位处所生成的代码量除以每编码单位的目标代码量,计算在对图像数据进行编码时的量化步长大小;以及利用计算步骤中所计算的量化步长大小,为每个编码单位对重排列步骤中所重新排列的系数数据进行编码,以产生编码数据。
根据本发明的一个实施例,可执行对编码处理所生成的代码量的控制。具体地,可以容易且合适地执行对编码处理所生成的代码量的控制。
附图说明
图1所示的框图示出了应用本发明一个实施例的编码设备的配置示例;
图2是示意性描述小波变换的示意图;
图3A和3B是示意性描述小波变换的示意图;
图4所示的示意图示出了其中在划分水平(division level)2之前已经执行通过5×3个滤波器的提升的滤波的例子;
图5A到5C的示意图示出了根据本发明一个实施例的小波变换和小波反变换的流程;
图6的框图示出了图1中速率控制单元的配置示例;
图7的框图示出了图6中编码单位增量速率控制单元的详细配置示例;
图8的框图示出了图6中画面增量速率控制单元的详细配置示例;
图9是描述编码处理流程示例的流程图;
图10是描述速率控制处理流程示例的流程图;
图11是描述编码单位增量更新处理流程示例的流程图;
图12的图示出了量化步长大小与所生成的代码量之间的关系的示例;
图13的图示出了缓冲器的代码量与所生成的代码量的变换之间的关系的示例;
图14的表概括了量化步长大小的每个计算方法的特征;
图15是描述画面增量更新处理的流程示例的流程图;
图16的图示出了缓冲器的代码量与均匀性(uniformity)变换之间的关系的示例;
图17的框图示出了对应于图1中编码设备的解码设备的配置示例;
图18是描述解码处理的流程示例的流程图;
图19是示出了编码单位示例的示意图;
图20是示出了另一编码单位示例的示意图;
图21的示意图示出了编码设备和解码设备的每个部件所执行的并行操作的状况示例;
图22的框图示出了应用本发明一个实施例的编码设备的另一配置示例;
图23的示意图示出了在于图像编码设备侧执行小波系数的重排列处理的情况下的处理流程;
图24的示意图示出了在于图像解码设备侧执行小波系数的重排列处理的情况下的处理流程;
图25的框图示出了应用本发明一个实施例的编码设备的再一配 置示例;
图26的框图示出了对应于图25中编码设备的解码设备的配置示例;
图27是描述交换编码数据的状态的示例的示意图;
图28的图示出了分组的配置示例;
图29的框图示出了应用本发明一个实施例的数字同轴系统(digital triax system)的配置示例;
图30的框图示出了应用本发明一个实施例的无线传输系统的配置示例;
图31的图示出了应用本发明一个实施例的家庭游戏控制台的配置示例;
图32的框图示出了应用本发明一个实施例的信息处理系统。
具体实施方式
下面将介绍本发明的实施例。
图1的框图示出了应用本发明一个实施例的编码设备的配置示例。
在图1中,编码设备1是用于以任意比特率对图像数据进行编码的设备,并且包括小波变换单元10、中间计算缓冲器单元11、系数重排列缓冲器单元12、系数重排列单元13、量化单元14、熵编码单元15、速率控制单元16和平滑单元17。
输入到编码设备1的图像数据被临时聚集在中间计算缓冲器单元11中。小波变换单元10对聚集在中间计算缓冲器单元11中的图像数据进行小波变换。也就是说,小波变换单元10从中间计算缓冲器单元11读出图像数据,利用分析滤波器对图像数据进行滤波处理,以产生低频分量和高频分量的系数数据,并且将产生的系数数据存储在中间计算缓冲器单元11中。小波变换单元10包括水平分析滤波器和垂直分析滤波器,并在屏幕水平方向和屏幕垂直方向上都对图像数据组进行分析滤波处理。小波变换单元10又读出存储在中间计算缓 冲器单元11中的低频分量的系数数据,利用分析滤波器对读出的系数数据进行滤波处理,以进一步产生低频分量和高频分量的系数数据。所产生的系数数据被存储在中间计算缓冲器单元11中。
在重复上述处理、并且划分水平达到预定水平之后,小波变换单元10从中间计算缓冲器单元11读出系数数据,并将读出的系数数据写入到系数重排列缓冲器单元12中。
系数重排列单元13按照预定顺序读出写到系数重排列缓冲器单元12中的系数数据,并将其提供给量化单元14。量化单元14对从系数重排列单元13所提供的系数数据进行量化。至于可以采用的那种量化方法,例如可以采用普通技术,即如下式(1)中所示的,将系数数据W除以量化步长大小Q的技术。
量化系数=W/Q  (1)
注意,该量化步长大小Q由速率控制单元16提供。量化单元14向熵编码单元15提供经过量化的系数数据。熵编码单元15利用预定的熵编码方法、例如霍夫曼编码或算术编码,按照预定的增量对所提供的系数数据进行编码。注意,下面将对系数数据进行编码的增量称为编码单位。可以事先确定如何对构成编码单位的系数数据进行分段,也可以是可变的。而且,该分段方法是任意的,但是在一般情况下,编码单位被设置为小于画面增量的增量,以减小由于编码处理而导致的延迟时间。也就是说,在这种情况下,设置编码单位,以利用预定方法将一个画面划分为多个片段。换句话说,在一个画面中形成多个编码单位,使得熵编码单元15对被划分为多个次数(multipletimes)的一个画面的系数数据进行编码。
熵编码单元15向平滑单元17提供通过编码所获得的编码数据。而且,对于每个编码单位,熵编码单元15将编码所产生的代码量(编码数据的数据量)Size提供给速率控制单元16。
平滑单元17在其中内置有缓冲器,并且读出存储在该缓冲器中的编码数据,以便将其输出到编码设备1外部,从而临时聚集从熵编码单元15所提供的编码数据并以恒定的传输率将其输出(编码数据 输出)。对于其中只要一个画面中的平均代码量与目标代码量相同就可以垂直地改变传输率的系统,可以不需要平滑单元17。
下面将更为详细地描述在小波变换单元10处所执行的处理。首先,示意性地介绍小波变化。关于对于图像数据的小波变换,如图2中示意性所示,对作为划分结果所获得的其中空间频率低的频带的数据,递归地重复将图像数据划分为空间频率高的频带和空间频率低的频带的处理。因此,其中空间频率低的频带的数据被驱赶到更小的区域中,由此实现了有效的压缩编码。
注意,图2是其中用于将图像数据的最低频率分量区域划分为低频分量区域L和高频分量区域H的划分处理被重复3次以实现划分水平3的情况的示例。在图2中,“L”和“H”分别代表低频分量和高频分量。至于“L ”和“H”的顺序,前面的表示作为水平方向上划分的结果的频带,后面的表示作为垂直方向上划分的结果的频带。而且,“L”和“H”之前的数字表示该区域的划分水平。
而且,如可以从图2的示例中理解的那样,从屏幕的右下区域到左上区域逐步地执行处理,从而低频分量被驱赶到更小的区域内。也就是说,在图2的示例中,屏幕的右下区域被设置为包括最少低频率分量(包括最多高频率分量)的区域3HH,屏幕被划分为4块的左上区域进一步被划分为4块,并且在被分为4块的区域中,左上区域进一步被划分为4块。最左上角的区域被设置为包括最多低频率分量的区域0LL。
对低频分量重复地进行变换和划分的原因是因为图像的能量集中于低频分量。这可以从这样一种状况来理解,即其中随着划分水平从划分水平1(在图3A示出其一个例子)的状态前进到划分水平3(在图3B中示出其一个例子)的状态,如图3B中所示,形成子带。例如,图2中小波变换的划分水平是3,并且结果是形成10个子带。
小波变换单元10通常利用由低通滤波器和高通滤波器所构成的滤波器组来执行如上所述的处理。注意,数字滤波器通常具有多个抽头长度(tap length)的脉冲响应,即滤波器系数,从而需要事先缓存 输入图像数据或系数数据。同样,即使在于多级中执行小波变换的情况下,也需要缓存在与可以对其进行滤波处理的数量一样多的先前级中所产生的小波变换系数。
下面描述采用5×3个滤波器的方法作为该小波变换的具体示例。这个采用5×3个滤波器的方法被相关现有技术中已经描述的JPEG(联合图像专家组)2000标准采用,而且是一种其中可以以少量滤波器抽头(filter tap)执行小波变换的优异方法。
如下面的等式(2)和(3)中所示,5×3个滤波器的脉冲响应(Z变换表达式)由低通滤波器H0(z)和高通滤波器H1(z)构成。可以从等式(2)和(3)中发现,低通滤波器H0(z)是5抽头的,而高通滤波器H1(z)是3抽头的。
H0(z)=(-1+2z-1+6z-2+2z-3-z-4)/8    (2)
H1(z)=(-1+2z-1-z-2)/2              (3)
根据等式(2)和(3),可以直接计算低频分量和高频分量的系数。现在,采用提升技术使得可以减少滤波处理的计算。
下面,更为具体地描述该小波变换方法。图4示出了这样一个示例,其中采用5×3个滤波器的提升的滤波处理被执行,直到划分水平2。注意,在图4中,该图左侧被示为分析滤波器的部件是小波变换单元10的滤波器。而且,在该图右边被示为合成滤波器的部件是将在后面描述的解码设备中的小波反变换单元的滤波器。
注意,在下面的描述中,例如假设对于显示器等来说,通过以屏幕左上角的像素为最先的像素来从屏幕的左边缘向右边缘扫描像素来配置一行,并且通过从屏幕上端到下端扫描每一行来配置一个屏幕。
在图4中,最左边的列示出在垂直方向上排列的位于原始图像数据一行上对应位置的像素数据。也就是说,通过利用垂直滤波器垂直扫描屏幕上的像素来执行小波变换单元10处的滤波处理。从左边缘数第一到第三列示出划分水平1的滤波处理,第四到第六列示出划分水平2的滤波处理。从左边缘数第二列示出基于左边缘的原始图像数据的像素的高频分量输出,从左边缘数第三列示出基于原始图像数据和高频分量输出的低频分量输出。如从左边缘数第四到第六列所示,对划分水平1的滤波处理的输出执行划分水平2的滤波处理。
对于划分水平1的滤波处理,基于原始图像数据的像素来计算高频分量的系数数据,作为第一状态的滤波处理,并且基于在第一级的滤波处理中所计算的高频分量的系数数据、以及原始图像数据的像素,计算低频分量的系数数据。划分水平1的示例的滤波处理在图4中左边(分析滤波器侧)的第一至第三列中示出。所计算的高频分量的系数数据被存储在图1中系数重排列缓冲器单元12中。而且,所计算的低频分量的系数数据被存储在图1中中间计算缓冲器单元11中。
在图4中,被点划线包围的数据被临时存储在系数重排列缓冲器单元12中,而被虚线包围的数据被临时存储在中间计算缓冲器单元11中。
基于保存在中间计算缓冲器单元11中的划分水平1的滤波处理结果执行划分水平2的滤波处理。对于划分水平2的滤波处理,通过将在划分水平1的滤波处理中被计算作为低频分量系数的系数数据看作包括低频分量和高频分量的系数数据,来执行与划分水平1相同的滤波处理。在划分水平2的滤波处理中所计算的高频分量的系数数据和低频分量的系数数据被存储在系数重排列缓冲器单元12中。
小波变换单元10在屏幕的水平方向和垂直方向上都执行如上所述的滤波处理。例如,首先,小波变换单元10在水平方向上执行划分水平1的滤波处理,并且将所产生的高频分量和低频分量的系数数据存储在中间计算缓冲器单元11中。然后,小波变换单元10在垂直方向上对存储在中间计算缓冲器单元11中的系数数据进行划分水平1的滤波处理。根据划分水平1的水平和垂直方向上的处理,形成由于对于每个系数数据,高频分量被进一步划分为高频分量和低频分量而产生的区域HH和区域HL,以及由于对于每个参数数据,低频分量被进一步划分为高频分量和低频分量而产生的区域LH和区域LL。
随后,对于划分水平2,在水平和垂直方向都对在划分水平1所产生的低频分量的系数数据进行滤波处理。也就是说,对于划分水平2,划分水平1中所划分和形成的区域LL被进一步划分为4个,并因此在区域LL内进一步形成区域HH、HL、LH和LL。
小波变换单元10被配置为通过在屏幕的垂直方向上每若干行就将滤波处理划分为处理,即划分为多个次数,来逐步地利用小波变换执行滤波处理。在图4的示例中,对于从屏幕上第一行开始处理的第一处理,对7行进行滤波处理,而对于从第8行开始的第二处理以及随后的处理,每4行执行滤波处理。该行数基于为了在划分为高频分量和低频分量之后产生相当于一行的最低频率分量所需要的行数。
注意,在下文中,一组为了产生相当于一行的最低频率分量(相当于最低频率分量的子带的一行的系数数据)所需要的包括其它子带的行将被称为行块(或选区)。在此所述的“行”是指相当于在对应于小波变换之前图像数据的画面或场内所形成的一行的像素数据或系数数据。也就是说,在此所述的“行块(选区)”是指相当于为了以小波变换之前的原始图像数据产生相当于小波变换之后最低频率分量的子带的一行的系数数据所需要的行数的像素数据组,或者是指通过对其像素数据组进行小波变换而获得的每个子带的系数数据组。
根据图4,基于系数C4和存储在中间计算缓冲器单元11中的系数Ca计算作为划分水平2的滤波处理所获得的系数C5,而基于存储在中间计算缓冲器单元11中的系数Ca、Cb和Cc计算系数C4。而且,基于存储在系数重排列缓冲器单元12中的系数C2和C3以及第五行的像素数据计算系数Cc。而且,基于第五到第七行的像素数据计算系数C3。因此,为了获得划分水平2的低频分量的系数C5,需要获得第一行至第七行的像素数据。
另一方面,对于第二处理以及随后的处理,可以使用直到上一次的滤波处理中所已经计算并被存储在系数重排列缓冲器单元12中的系数数据,因此可以将滤波处理所需要的行数保持得很小。
也就是说,根据图4,在由划分水平2的滤波处理所获得的低频分量系数中,基于系数C4和C8、以及存储在中间计算缓冲器单元11中的系数Cc计算作为系数C5的下一个系数的系数C9。系数C4已经通过上述第一滤波处理被计算,并被存储在系数重排列缓冲器单元12中。类似地,系数Cc已经通过上述第一滤波处理被计算,并被存储在中间计算缓冲器单元11中。因此,对于该第二滤波处理,只重新执行用于计算系数C8的滤波处理。这个新的滤波处理通过进一步使用第8行到第11行来执行。
因此,对于第二处理以及随后的处理中每一个来说,可以采用通过直到上一次的滤波处理所计算并被存储在中间计算缓冲器单元11中的数据,并因此所需要的只是每4行执行处理。
注意,如果屏幕上的行数与用于编码的行数不同,则以预定方法复制原始图像数据的行,使得屏幕上的行数与用于编码的行数相同,然后执行滤波处理。
因此,通过将整个屏幕的行划分为与能够获得相当于最低频率分量的一行的系数数据那么多的多个次数(以行块为增量),逐步地执行滤波处理,从而使得可以在传送编码数据时几乎没有延迟地获得解码图像。
为了执行小波变换,需要提供用于执行小波变换本身的第一缓冲器,以及用于存储在执行直到预定划分水平为止的处理期间所产生的系数的第二缓冲器。第一缓冲器对应于中间计算缓冲器单元11,并且在图4中,被虚线包围的数据被临时存储。而且,第二缓冲器对应于系数重排列缓冲器单元12,并且,在图4中,被点划线包围的数据被临时存储。存储在第二缓冲器中的系数在解码时被采用,并且因此变成后续级的熵编码处理的对象。
下面描述图1中系数重排列单元13的处理。如上所述,在小波变换单元10中所计算的系数数据被存储在系数重排列缓冲器单元12中,其顺序被系数重排列单元13重排列和读取,并以编码单位为增量发送到量化单元14。
如上所述,对于小波变换,从高频分量侧到低频分量侧地产生系 数。对于图4中的示例,首先,在划分水平1的滤波处理中由原始图像的像素数据顺序地产生高频分量的系数C1、C2、C3。随后,对在划分水平1的滤波处理中所获得的低频分量的系数数据进行划分水平2的滤波处理,并顺序地产生低频分量的系数C4和C5。也就是说,首先按照系数C1、C2、C3、C4、C5的顺序产生系数数据。系数数据的产生顺序按照小波变换的原理总是该顺序(从高频到低频的顺序)。
另一方面,在解码侧,为了以很小的延迟立即执行解码,需要从低频分量开始执行图像的产生和输出。因此,希望从最低频率分量侧向着高频分量侧来重排列在编码侧所产生的系数数据,并提供给解码侧。
下面参照图4中的示例更具体地进行描述。图4中右侧示出用于执行小波反变换的合成滤波器。通过采用在编码侧第一滤波处理中所产生的最低频率分量的系数C4和C5、以及系数C1来执行包括解码侧输出图像数据的第一行(小波反变换处理)的第一合成处理。
也就是说,对于第一合成处理,按照系数C5、C4、C1的顺序将系数数据从编码侧提供到解码侧,而且在解码侧,对于作为对应于划分水平2的合成处理的合成水平2的处理,对系数C5和C4进行合成处理,以产生系数Cf,而且将其存储在缓冲器中。随后,对于作为对应于划分水平1的合成处理的合成水平1的处理,对系数Cf和C1进行合成处理,以向第一行输出结果。
由此,对于第一合成处理,在编码侧按照系数C1、C2、C3、C4、C5的顺序产生并被存储在系数重排列缓冲器单元12中的系数数据按照系数C5、C4、C1等等的顺序被重新排列,并被提供到解码侧。
注意,对于图4中右侧所示的合成滤波器,对于从编码侧所提供的系数,编码侧的系数号码在括号中被说明,而合成滤波器的行顺序在括号外被说明。例如,系数C1(5)表明图4的左侧的分析滤波器是系数C5,这是合成滤波器侧的第一行。
可以通过采用从合成或编码侧在先前合成处理时所提供的系数 数据来执行在编码侧第二滤波处理和随后处理中所产生的系数数据的解码侧的合成处理。在图4的示例中,对于通过采用在编码侧第二滤波处理中所产生的低频分量的系数C8和C9所执行的解码侧第二合成处理,还需要采用编码侧第一滤波处理中所产生的系数C2和C3,并且解码第二行至第五行。
也就是说,对于第二合成处理,系数数据按照系数C9、C8、C2、C3的顺序从编码侧提供到解码侧。在解码侧,对于合成水平2的处理,通过采用系数C8和C9、和从编码侧在第一合成处理时所提供的系数C4,产生系数Cg,并将其存储在缓冲器中。通过采用上述系数C4、以及在第一合成处理时所产生并被存储在缓冲器中的系数Cf来产生系数Ch,并将其存储在缓冲器中。
随后,对于合成水平1的处理,通过采用在合成水平2的处理时所产生并被存储在缓冲器中的系数Cg和Ch、以及从编码侧所提供的系数C2(作为合成滤波器处的系数C6(2)示出)和C3(作为合成滤波器处的系数C7(3)示出)来执行合成处理,并且对第二行到第五行解码。
因此,对于第二合成处理,在编码侧按照系数C2、C3、(C4、C5)、C6、C7、C8、C9的顺序所产生的系数数据被按照系数C9、C8、C2、C3等的顺序被重新排列,并被提供到解码侧。
对于第三合成处理以及随后的合成处理,存储在系数重排列缓冲器单元12中的系数数据按照预定顺序被重新排列并被提供到解码侧,并按照相同方式每4行被解码。
注意,对于对应于包括编码侧屏幕下边缘行(下面称为最后一次)的滤波处理的解码侧的合成处理,输出在迄今为止的处理中所产生并被存储在缓冲器中的所有系数数据,使得输出行的数量增大。对于图4中的示例,最后一次输出8行。
注意,例如通过设置在按照预定顺序读出存储在系数重排列缓冲器单元12中的系数数据时的读取地址来执行系数重排列单元13对系数数据的重新排列处理。
下面参照图5更为具体地描述上述处理。图5是利用5×3个滤波器通过直到划分水平2的小波变换来进行滤波处理的示例。对于小波变换单元10,如图5A的示例所示,在水平和垂直方向上都对输入图像数据的第一行至第七行进行第一滤波处理(图5A中的In-1)。
对于第一滤波处理的划分水平1的处理,相当于三行系数C1、C2、C3的系数数据被生成,并且如图5B中的示例所示分别位于在划分水平1处所形成的区域HH、HL和LH中(图5B中的WT-1)。
而且,在根据划分水平2的水平和垂直方向上的滤波处理中,在划分水平1所形成的区域LL被进一步划分为4块。对于在划分水平2所生成的系数C5和C4,在根据划分水平1的区域LL中,根据系数C5的一行位于区域LL中,根据系数C4的一行位于区域HH、HL和LH的每一个中。
对于小波变换单元10的第二滤波处理以及随后的滤波处理,每4行地执行滤波处理(图5A中的In-2等),在划分水平1产生每两行的系数数据(图5B中的WT-2),在划分水平2产生每一行的系数数据。
对于图4中的第二示例,相当于两行系数C6和C7的系数数据在划分水平1的滤波处理中被产生,并且如图5B中的示例所示从在第一滤波处理时所产生的系数数据的下一个开始设置在形成于划分水平1的区域HH、HL和LH中。类似地,在根据划分水平1的区域LL内,相当于在划分水平2的滤波处理时所产生的一行的系数C9被设置在区域LL中,相当于一行的系数C8被设置在区域HH、HL和LH的每一个中。
当如图5B那样对经过小波变换的数据进行解码时,如图5C的示例所示,对于根据编码侧第一行至第七行的第一滤波处理,输出通过解码侧第一合成处理所产生的第一行(图5C中的Out-1)。此后,对于编码侧从第二次到最后一次的滤波处理,每4行在解码侧被输出(图5C中Out-2等)。随后,对于编码侧的最后一个滤波处理,输出8行。
在小波变换单元10中从高频分量侧到低频分量侧地产生的系数数据被顺序地存储在系数重排列缓冲器单元12中。当可以执行系数数据的上述重排列那样多的系数数据一被存储在系数重排列缓冲器单元12中,系数重排列单元13就按照合成处理所需要的顺序重新排列系数数据,并从系数重排列缓冲器单元12中读出。所读出的系数数据被顺序提供给量化单元14。
注意,熵编码单元15中的编码单位在某些情况下与行块不同,但是系数重排列单元13对每个编码单位读出系数数据。也就是说,当可以在执行上述重排列的同时读出至少一个编码单位的系数数据那么多的系数数据一被存储在系数重排列缓冲器单元12中,系数重排列单元13就开始读出系数数据。下面在假定熵编码单元15处的编码单位等于行块的情况下进行描述。
下面介绍速率控制单元16。图6是描述速率控制单元16的内部配置示例的图。在图6中,速率控制单元16包括开关单元51至54、Q计算单元55、开关单元56、编码单位增量速率控制单元57、开关单元58和画面增量速率控制单元59。
开关单元51设置Uniformity(均匀性)的值,其中Uniformity是用于了解图像的一个画面内的均匀度(evenness)的变量,该变量由编码单位增量速率控制单元57采用。开关单元51基于作为预定值的“1”、或者在画面增量速率控制单元59中所计算的值来选择性地设置Uniformity的值。在初始化整个系统时,以及在作为表示待编码图像数据的图像状态的标志的Status(状态)处于非稳定状态时,开关单元51选择“1”,而在其它时候选择在画面增量速率控制单元59中所计算的值。开关单元51将其所选择的值提供给编码单位增量速率控制单元57。而且,开关单元51将设置的Uniformity值提供给Q计算单元55和画面增量速率控制单元59。
开关单元52设置代表基本量化步长大小的BaseQ的值,其中基本量化步长大小是编码单位增量速率控制单元57对于每张画面所采用的量化步长大小的参考值(默认值)。注意,在此所述的“基本量 化步长大小”是指在整个画面上成为目标代码量的量化步长大小。开关单元52基于作为预定值的BaseQ的默认值、或者在画面增量速率控制单元59中所计算的值来选择性地设置BaseQ值。开关单元52在初始化时选择BaseQ的默认值,在其它时候选择在画面增量速率控制单元59中所计算的值。开关单元52向编码单位增量速率控制单元57和Q计算单元55提供其所选择的值。
开关单元53设置作为表明待编码图像数据的图像状态的标志的Status的值,该值由编码单位增量速率控制单元57采用。编码单位增量速率控制单元57根据是对具有很少动作的图像、即画面之间具有高相关性的图像数据进行编码,还是对具有很多动作的图像或场景变化时的图像、即画面之间具有低相关性的图像数据进行编码来切换速率控制方法。开关单元53提供作为用于其切换的标志的Status。开关单元53选择表示非稳定状态的用作默认值的值、表示稳定状态的用作默认值的值、或者由编码单位增量速率控制单元57所设置的值中任何一个作为Status的值,并将所选择的值提供给编码单位增量速率控制单元57。
注意,由编码单位增量速率控制单元57所设置的状态值要么是表示非稳定状态的值,要么是表示稳定状态的值。也就是说,Status只取非稳定状态和稳定状态两种类型。
对每个画面,将该Status初始化为表示稳定状态的值,并且在以编码单位为增量的更新处理中根据需要将其更新为表示非稳定状态的值。也就是说,当改变待处理画面时,开关单元53选择表示稳定状态的用作默认值的值,而在其它时候选择由编码单位增量速率控制单元57所设置的值。
但要注意,如果将图像数据顶部的画面设置为待处理的对象,则在该画面之前不存在画面,因此Status被设置为表示非稳定状态的值。也就是说,从初始化整个系统开始,开关单元53选择表示非稳定状态的作为默认值的值,直到对于顶部画面的处理结束为止。注意,在初始化整个系统时,开关单元53可以选择表示非稳定状态的作为 默认值的值,并且可以在对顶部画面执行以编码单位为增量的更新处理时选择由编码单位增量速率控制单元57所设置的值。
根据这样的控制,编码单位增量速率控制单元57可以对每个画面确定与前一画面的相关性,并且可以通过正确地检测突然出现的不稳定状态、诸如场景变化来适当地执行速率控制。而且,编码单位增量速率控制单元57可以以编码单位为增量确定与前一画面的相关性,从而即使在一部分图像处的相关性恶化的情况下也能适当地执行速率控制。
开关单元54设置Left值,Left是代表存储在平滑单元17的缓冲器中的编码数据的数据量(代码量)的变量,该变量被编码单位增量速率控制单元57采用。开关单元54基于作为预定值的“0”或者在编码单位增量速率控制单元57中所计算的值来选择性地设置Left值。虽然后面将描述细节,但是开关单元54在初始化整个系统时选择值“0”,在其它时候选择从编码单位增量速率控制单元57所输出的值。开关单元54向编码单位增量速率控制单元57提供所选择的Left值。而且,开关单元54将所选择的Left值提供给开关单元58。
Q计算单元55基于从开关单元52所提供的BaseQ、从开关单元51所提供的Uniformity来计算量化步长大小,并且将其值提供给开关单元56。开关单元56设置由编码单位增量速率控制单元57所采用的量化步长大小Q的值。开关单元56或者选择在Q计算单元55处所计算的值、或者选择在编码单位增量速率控制单元57处所计算的值作为量化步长大小Q的值。当改变待处理画面时,开关单元56选择在Q计算单元55处所计算的值,而在其它时候选择在编码单位增量速率控制单元57处所计算的值。开关单元56向编码单位增量速率控制单元57提供所选择的量化步长大小Q。
编码单位增量速率控制单元57通过使用诸如下列的各变量,以编码单位为增量执行涉及速率控制的处理,即从熵编码单元15所提供的作为表明为每个编码单位所产生的代码量的变量的Size、从开关单元51所提供的Uniformity、从开关单元52所提供的BaseQ、从开 关单元53所提供的Status、从开关单元54所提供的Left、从开关单元58所提供的表明Left的以画面为增量的最大值的MaxLeft、作为每编码单位的目标代码量的tSize、由编码单位增量速率控制单元57本身所计算的作为表明通过对在前一编码单位中所产生的代码量归一化而获得的归一化代码量的变量的nSize、作为表明其归一化代码量的以画面为增量的和的变量的nSum、和表明每编码单位的目标代码量的以画面为增量的和的tSum。
下面将对编码单位增量速率控制单元57所执行的处理的细节进行描述,编码单位增量速率控制单元57为每个编码单位计算量化步长大小Q,并将其结果提供给量化单元14。而且,编码单位增量速率控制单元57将其量化步长大小Q提供给开关单元56和画面增量速率控制单元59。此外,编码单位增量速率控制单元57将所计算的各个值、诸如Status、MaxLeft、nSum、tSum提供给画面增量速率控制单元59。而且,编码单位增量速率控制单元57分别将所计算的Status提供给开关单元53、将Left提供给开关单元54、将MaxLeft提供给开关单元58。
开关单元58设置MaxLeft的值,该值由编码单位增量速率控制单元57采用。开关单元58选择从开关单元54所提供的Left值或者在编码单位增量速率控制单元57所计算的MaxLeft值来作为MaxLeft。开关单元58在以画面为增量初始化时选择从开关单元54所提供的值,而在其它时候选择从编码单位增量速率控制单元57所输出的值。开关单元58将所选择的MaxLeft值提供给编码单位增量速率控制单元57。
画面增量速率控制单元59基于诸如下列的各变量,以画面为增量执行涉及要执行的速率控制的处理,即从编码单位增量速率控制单元57所提供的量化步长大小Q、Status、MaxLeft、nSum和tSum,作为每编码单位的目标代码量的tSize,从开关单元51所提供的Uniformity等等。
虽然将在下面描述由画面增量速率控制单元59所执行的处理的 细节,但是画面增量速率控制单元59更新从开关单元51所提供的Uniformity,并为每张画面计算BaseQ。画面增量速率控制单元59将经过更新的Uniformity提供给开关单元51,并将所计算的BaseQ提供给开关单元52。
尽管为避免复杂而未示出,但是对于nSum和tSum,实际上也提供与开关单元51至54相同的开关单元。这些开关单元中每一个都在开始对画面进行编码时将相应变量的值初始化为“0”,并在其它时候选择在编码单位增量速率控制单元57中所计算的值,并将其返回给编码单位增量速率控制单元57。
图7是示出编码单位增量速率控制单元57的详细配置示例的框图。
如图7所示,编码单位增量速率控制单元57包括Left计算单元101、最大值计算单元102、代码量归一化单元103、加法器单元104、加法器单元105、Status计算单元106和Q计算单元107。
Left计算单元101基于从熵编码单元15所提供的作为表明对于每个代码单位所产生的代码量的变量的Size和从开关单元54所提供的作为表明存储在平滑单元17的缓冲器中的编码数据的数据量(代码量)的变量的Left来计算新的Left(更新Left值)。Left计算单元101将所计算的Left提供给开关单元54、最大值计算单元102和Q计算单元107。
最大值计算单元102基于从Left计算单元101所提供的Left和从开关单元58所提供的表示Left的以画面为增量的最大值的MaxLeft来计算新的MaxLeft(更新MaxLeft值)。最大值计算单元102将所计算的MaxLeft提供给开关单元58和画面增量速率控制单元59。
代码量归一化单元103基于从开关单元56所提供的量化步长大小Q来对从熵编码单元15所提供的Size进行归一化处理,并获得作为表示通过对以编码单位所产生的代码量进行归一化而获得的归一化代码量的变量的nSize。下面将描述归一化的细节。
注意,附图中的nSize[p,c]表示第p个画面的第c个编码单位的归一化代码量。代码量归一化单元103将所获得的nSize提供给加法器单元104和Status计算单元106。
而且,代码量归一化单元103还将前一画面相同位置处的编码单位的归一化代码量nSize[p-1,c]提供给Status计算单元106和Q计算单元107。也就是说,从代码量归一化单元103所输出的nSize[p,c]被返回到编码单位增量速率控制单元57内,而且为了对下一画面相同位置处的编码单位(第c个编码单位)进行处理,作为nSize[p-1,c]被提供给Status计算单元106和Q计算单元107。
此外,代码量归一化单元103向Q计算单元107提供同一画面的前一编码单位的归一化代码量nSize[p,c-1]。也就是说,从代码量归一化单元103所输出的nSize[p,c]被返回到编码单位增量速率控制单元57内,而且为了对于下一编码单位的处理,作为nSize[p,c-1]而被提供给Q计算单元107。
加法器单元104通过将从代码量归一化单元103所提供的归一化代码量nSize与作为表示归一化代码量nSize的以画面为增量的和的变量的nSum相加来计算新的nSum(更新nSum值)。加法器单元104向画面增量速率控制单元59提供所计算的nSum。而且,加法器单元104将所计算的nSum返回给自己,并将其用于对于下一编码单位的处理。注意,nSum是表示nSize的以画面为增量的和的变量,因此为每个画面初始化其的值。
加法器单元105通过将作为每编码单位的目标代码量的tSize与表示每编码单位的目标代码量的以画面为增量的和的tSum相加,来计算新的tSum(更新tSum值)。加法器单元105将所计算的tSum提供给画面增量速率控制单元59。而且,加法器单元105将所计算的tSum返回给自己,并将其用于对下一编码单位的处理。注意,tSum是表示tSize的以画面为增量的和的变量,因此为每张画面初始化其的值。
Status计算单元106通过基于tSize、从代码量归一化单元103 所提供的前一画面的相同位置处的编码单位的归一化代码量nSize[p-1,c]和最新归一化代码量nSize[p,c]、以及从开关单元56所提供的量化步长大小Q计算作为表示要编码的图像数据的图像状态的标志的Status的新值(稳定状态或非稳定状态),来更新从开关单元53所提供的Status。Status计算单元106将更新的Status值提供给开关单元53和画面增量速率控制单元59,而且还提供给Q计算单元107。
Q计算单元107基于从Status计算单元106所提供的Status、tSize、从代码量归一化单元103所提供的前一画面的相同位置处的编码单位的归一化代码量nSize[p-1,c]、从Left计算单元101所提供的最新Left、从开关单元52所提供的表示作为对于每个画面的量化步长大小的参考值(默认值)的基本量化步长大小的BaseQ、作为用于了解图像的一个画面内的均匀度的变量的Uniformity、以及从代码量归一化单元103所提供的同一画面的前一编码单位的归一化代码量nSize[p,c-1],来计算量化步长大小Q。Q计算单元107将所计算的量化步长大小Q提供给量化单元14以及画面增量速率控制单元59。
图8是示出画面增量速率控制单元59的详细配置示例的框图。
如图8所示,画面增量速率控制单元59包括Uniformity计算单元151和BaseQ计算单元152。
Uniformity计算单元151基于作为表示待编码图像数据的图像状态的标志的Status、从编码单位增量速率控制单元57所提供的作为表明存储在平滑单元17的缓冲器中的编码数据的数据量(代码量)的变量的Left的以画面为增量的最大值的MaxLeft、作为每编码单位的目标代码量的tSize,来计算新的Uniformity值(更新从开关单元51所提供的Uniformity值)。Uniformity计算单元151将所计算的新的Uniformity值提供给开关单元51。
BaseQ计算单元152基于作为表明归一化代码量的以画面为增量的和的变量的nSum、以及从编码单位增量速率控制单元57所提供的表明每编码单位的目标代码量的以画面为增量的和的tSum,来计 算表示作为对于每个画面的量化步长大小的参考值(默认值)的基本量化步长大小的BaseQ。BaseQ计算单元152将所计算的BaseQ提供给开关单元52。
下面描述由图1中编码设备1所进行的编码处理的流程及其细节。
首先,参照图9中的流程图描述由图1中编码设备1所进行的编码处理的流程示例。
在编码处理开始时,在步骤S1中,小波变换单元10将待处理的行块号A设置为默认值。通常,号码“A ”被设置为“1 ”。在设置完成之后,在步骤S2中,小波变换单元10获取相当于为了产生从最低频率子带的顶部开始第A处的一行所需要的行数的图像数据(即一个行块),并在步骤S3中对其图像数据进行垂直分析滤波,以对排列在屏幕垂直方向上的图像数据进行分析滤波,并在步骤S4中进行水平分析滤波,以将排列在屏幕水平方向上的图像数据进行分析滤波。
在步骤S5中,小波变换单元10确定分析滤波是否已被执行到最终水平。如果确定划分水平还没有达到最终水平,则处理返回到步骤S3,并对当前的划分水平重复步骤S3和S4中的分析滤波。
在步骤S5中,如果确定分析滤波处理已经达到最终水平,则处理跳至步骤S6。
在步骤S6中,系数重排列单元13按照从低频到高频的顺序重新排列作为当前编码单位的行块A(从画面顶部开始第A个行块(在隔行扫描方法(interlace method)中是场)的系数。
在步骤S7中,量化单元14对已经在步骤S6中对其顺序进行重新排列的行块A进行量化。在步骤S8中,熵编码单元15对其系数进行熵编码。
注意,如下所述,速率控制单元16执行对该编码处理的速率控制处理。在步骤S7中,量化单元14通过采用在该速率控制处理中所设置的量化步长大小Q来执行量化。而且,在步骤S8中,速率控制单元16通过采用在由熵编码单元15所执行的熵编码处理中所产生的 代码量(编码数据的数据量)来执行速率控制处理。下面将参照图10中的流程图详细描述该速率控制处理。
在步骤S9中,平滑单元17临时存储通过步骤S9中的熵编码所获得的行块A的编码数据,并以预定速率读出所存储的编码数据,由此执行传输速率的平滑,并且在步骤S10中向外输出所读取的编码数据。
在步骤S11中,小波变换单元10通过将号码A的值加1而将下一行块作为要处理的对象,并在步骤S12中确定对于待处理画面(在隔行扫描方法的情况下是场)是否存在未被处理的图像输入行。如果确定存在未被处理的图像输入行,则处理返回到步骤S2,对新的待处理的行块重复该处理和随后的处理。
如上所述,从步骤S2到S12的处理被重复执行,从而每个行块都被编码。随后,在步骤S12中,如果确定不存在未被处理的图像输入行,则对其画面的编码处理完成。将对下一画面重新开始编码处理。
由此,小波变换单元10以行块为增量连续地执行垂直分析滤波和水平分析滤波,直到最终水平,从而使得与现有方法相比,一次(同时)需要保持(进行缓存)的数据量很小,从而可以大大降低要准备的缓冲器的存储量。而且,分析滤波被执行直到最终水平,由此可以执行后续级处的各个处理(即,可以以行块为增量执行诸如系数重排列、速率控制、量化、熵编码和平滑的处理)。因此,与对整个屏幕进行小波变换的方法相比,可以大大减小延迟时间。
而且,如上所述,在步骤S6中,执行系数的重新排列,从而用于对该编码数据进行解码的解码设备可以容易地几乎没有延迟地执行解码处理。
下面参照图10中的流程图描述由速率控制单元16所执行的速率控制处理的详细流程示例。
如图10所示,该速率控制处理的流程形成双循环。在进入外循环的流程之前对整个过程初始化。在步骤S31中,速率控制单元16的开关单元51将作为用于了解图像的一个画面内的均匀度的变量的 Uniformity的值设置为默认值“1”,开关单元54将作为表示存储在平滑单元17的缓冲器中的编码数据的数据量(代码量)的变量的Left的值设置为默认值“0”,开关单元53将作为表示待编码图像数据的图像状态的标志的Status的值初始化为表示不稳定状态的值,开关单元52将预定的默认值设置为表示基本量化步长大小的BaseQ,其中基本量化步长大小是对于每个画面的量化步长大小的参考值(默认值)。此外,编码单位增量速率控制单元57和画面增量速率控制单元59将每编码单位的目标代码量设置为tSize。
注意,BaseQ的默认值的最合适的值根据目标代码量或要输入的图像而不同。但是,为每个编码单位更新要使用的量化步长大小Q,从而不管BaseQ的默认值可能是什么,都不会产生大问题。
对于速率控制处理的外循环,执行以画面为增量的处理,而对于内循环,执行画面内的以编码单位为增量的处理。
在步骤S31中,在执行对整个速率控制处理的初始化处理后,在步骤S32和S33中,执行外循环的初始化,即以画面为增量的初始化。在步骤S32中,在此时未被处理的画面中,第一画面的画面号被设置为变量p。
在步骤S33中,Q计算单元55将BaseQ的值除以Uniformity值,由此设置量化步长大小Q。Q计算单元55将从开关单元52所提供的BaseQ值除以从开关单元51所提供的Uniformity值,并将相除的结果提供给开关单元56作为量化步长大小Q。
而且,在步骤S33中,作为表示通过对在编码单位处所产生的代码量进行归一化而获得的归一化代码量nSize的以画面为增量的和的变量的nSum,以及表示每编码单位的目标代码量tSize的以画面为增量的和的tSum都被初始化为值“0”。
此外,在步骤S33中,开关单元58将表示Left的以画面为增量的最大值的MaxLeft值设置为Left。开关单元58将MaxLeft值设置为开关单元54所提供的Left,并将其MaxLeft提供给编码单位增量速率控制单元57。
在步骤S33中的处理完成后,处理跳至内循环(步骤S34至S37)。
在步骤S34中,画面号为p的画面内此时未被处理的编码单位(例如行块)中,第一编码单位的编码单位号被设置为变量c。
在图9的步骤S7中,量化单元14基于量化步长大小Q对图像数据的画面号为p的画面内的编码单位号为c的编码单位(系数数据)进行量化。而且,熵编码单元15对量化后的系数数据进行熵编码。
在步骤S35中,编码单位增量速率控制单元57从熵编码单元15获取所产生的作为通过其熵编码而获得的编码数据的数据量的代码量Size,并且在步骤S36中以编码单位为增量执行速率控制处理(速率更新处理)。下面参照图11的流程图描述以编码单位为增量的更新处理的细节。
在步骤S36中的处理结束后,处理跳至步骤S37。在步骤S37中,编码单位增量速率控制单元57确定在当前画面、即在画面号为p的画面内是否存在未经处理的编码单位。如果确定在当前画面内存在未经处理的编码单位,则处理返回到步骤S34,对下一未经处理的编码单位重复步骤S34至S37中的处理。而且,在步骤S37中,如果确定在当前画面内不存在未经处理的编码单位,则内循环的处理结束,并且处理跳至步骤S38以返回到外循环。
在步骤S38中,画面增量速率控制单元59以画面为增量执行速率控制处理(速率更新处理)。下面参照图15中的流程图描述以画面为增量的更新处理的细节。
在步骤S38中的处理结束后,处理跳至步骤S39。在步骤S39中,画面增量速率控制单元59确定在要处理的图像数据内是否存在未经处理的画面。如果确定存在未经处理的画面,则处理返回到步骤S32,对下一未经处理的画面重复步骤S32至S39中的处理。而且,在步骤S39中,如果确定不存在未经处理的画面,则外循环的处理结束,而且速率控制处理也结束。
下面参照图11中的流程图描述在图10的步骤S36中所执行的以编码单位为增量的更新处理的详细流程示例。
在以编码单位为增量的更新处理开始后,首先在步骤S51中执行Left和MaxLeft的更新,其中Left是表示存储在平滑单元17的缓冲器中的编码数据的数据量(代码量)的变量,MaxLeft表示Left的以画面为增量的最大值。
也就是说,在步骤S51中,Left计算单元101通过将作为在当前编码单位所产生的代码量的Size加到Left、并从Left中减去从前一编码单位编码结束到当前编码单位编码结束期间从平滑单元17的缓冲器传送的代码量(传送的代码量),来计算新的Left。也就是说,Left计算单元101将从熵编码单元15所提供的Size的值加到Left计算单元101自己为前一编码单位所计算的Left值,并且还从Left值中减去所传送的代码量。根据上述计算更新Left值。
而且,在步骤S51中,最大值计算单元102将MaxLeft和新的Left之中较大的值设置为新的MaxLeft。也就是说,最大值计算单元102将从开关单元58所提供的MaxLeft值(最大值计算单元102本身对前一编码单位更新的MaxLeft)与Left计算单元101所计算和提供的最新Left值相比较,并选择其中较大的值作为新的MaxLeft。根据上述计算更新MaxLeft值,并且创建聚集于平滑单元17的缓冲器中的代码量的画面内的最大值。
在步骤S51中的处理结束后,在步骤S52中,代码量归一化单元103计算nSize[p,c],其中nSize[p,c]是在画面号为p的画面的编码单位号为c的编码单位处所产生的代码量的归一化结果。代码量归一化单元103通过将熵编码单元15所提供的Size值乘以开关单元56所提供的量化步长大小Q来计算nSize[p,c]。
下面描述量化步长大小Q和所产生的代码量之间的关系。已经执行了一个实验,其中在改变量化步长大小Q的值时检查所产生的代码量的变化状态。图12是示出其实验结果的图表。在图12的图表中,水平轴表示量化步长大小Q的倒数,竖直轴表示所产生的代码量(相对量)。黑点和黑方框是实验结果,它们表示在对内容互不相同的图像进行编码时量化步长大小Q的倒数与所产生的代码量之间的关系。
也就是说,如图12中的图表所示,所产生的代码量可以根据量化步长大小的倒数(1/Q)而被表示为(1/Q)^k。在图12的图表中,黑三角表示在将k值设置为“0.7”时所产生的代码量与量化步长大小Q之间的关系,而x标记(x)表示在k值被设置为“0.6”时所产生的代码量与量化步长大小Q的倒数之间的关系。如图12中的图表所示,上述实验结果夹在这两条曲线之间。也就是说,k值被设置为0.6至0.7的值。
根据上述实验结果,当量化步长大小Q的变化范围缩小时,量化步长大小Q的倒数与所产生的代码量之间的关系可以近似为直线。也就是说,量化步长大小Q与所产生的代码量之间的乘积可以被认为是大致不变的值。
因此,如果说在以量化步长大小Q0对某图像进行编码时所产生的代码量为S0,并且在以量化步长大小Q1对同一图像进行编码时所产生的代码量为S1,则下面的等式(4)成立。
Q0×S0近似等于Q1×S1  (4)
该等式(4)不仅在对整个画面编码时成立,而且在对画面的一部分、即以编码单位为增量进行编码时也成立。
随后,如果说在量化步长大小Q的值为“1”时所产生的代码量为S,则下面的等式(5)成立。
Q0×S0近似等于Q1×S1近似等于1×S等于S    (5)
也就是说,还可以想到,步骤S52中所计算的归一化代码量nSize是在量化步长大小Q的值为“1”时所产生的代码量。
所产生的代码量的值在所采用的量化步长大小Q的值大时趋向于变小,并在所采用的量化步长大小Q的值小时趋向于变大。可以想到,通过乘以所采用的量化步长大小Q的值来校正所产生的代码量的值,所产生的代码量的归一化会减小该趋势。
而且,在步骤S51中,加法器单元104通过将代码量归一化单元103所计算的归一化代码量nSize[p,c]加到nSum来计算新的nSum(更新nSum),其中nSum表示对前一编码单位所计算的归一化代码量 的以画面为增量的和。
此外,在步骤S51中,加法器单元105通过将作为每编码单位的目标代码量的tSize加到表示对前一编码单位所计算的每编码单位的目标代码量的以画面为增量的和的tSum来计算新的tSum(更新tSum)。
在步骤S53中,Status计算单元106确定代码量归一化单元103在步骤S52中所计算的最新的归一化代码量nSize[p,c]的值是否大于作为前一画面相同位置处编码单位的归一化代码量的nSize[p-1,c]与tSize×Q/2之间的相加结果值。如果确定nSize[p,c]大于nSize[p-1,c]+tSize×Q/2,则处理跳至步骤S54。在步骤S54中,Status计算单元106将Status设置为不稳定状态。在步骤S54中的处理结束后,处理跳至步骤S55。而且,在步骤S53中,如果确定nSize[p,c]不大于nSize[p-1,c]+tSize×Q/2,则步骤S54中的处理被省略,处理跳至步骤S55。
也就是说,Status计算单元106仅在最新的nSize比前一画面相同位置处编码单位的nSize大tSize×Q/2或更多时,才将Status设置为非稳定状态。步骤S53中的确定条件“最新的nSize比前一画面相同位置处编码单位的nSize大tSize×Q/2或更多”表示最新的归一化代码量的值明显大于前一画面相同位置处编码单位的归一化代码量的值。该确定条件是一个示例,因此tSize×Q/2可以被改为其它值,并且可以以其它形式来进行确定。
Status是非稳定状态意味着检测到与前一画面的所产生的代码量的图案很大的差异,而且当前画面的图像(系数数据)和前一画面的图像(系数数据)之间的相关性很低,而Status是稳定状态意味着没有检测到与前一画面的所产生的代码量的图案很大的差异,而且当前画面的图像(系数数据)和前一画面的图像(系数数据)之间的相关性高。
对于步骤S55中的处理以及随后的处理,Q计算单元107计算量化步长大小Q。Q计算单元107将该情况分为3种,并根据各种情况 改变量化步长大小Q的计算方法。
在步骤S55中,Q计算单元107确定Status是否为稳定状态。如果确定Status为稳定状态,则处理跳至步骤S56。在步骤S56中,Q计算单元107确定Left/tSize的值是否小于5.6。如果确定Left/tSize的值小于5.6,则处理跳至步骤S57。也就是说,第一类情况(第一情形)是Status为稳定状态、而且Left/tSize小于5.6的情形。
在第一情形下,在步骤S57中,Q计算单元107将量化步长大小Q设置为作为基本量化步长大小的BaseQ,随后在步骤S58中,将其量化步长大小Q除以作为用于了解图像的一个画面内的均匀度的变量的Uniformity,由此计算新的量化步长大小Q(更新量化步长大小Q的值)。也就是说,在画面内的所产生的代码量不均匀的情况下,Q计算单元107执行校正,以增大量化步长大小Q,从而减小代码量。如果上述处理以另一种方式进行,则在该情形下,Q计算单元107将新的量化步长大小的值设置为BaseQ/Uniformity。
在步骤S58中的处理结束后,以编码单位为增量的更新处理结束,处理返回到图10的步骤S36,其中处理跳至步骤S37。
在图11的步骤S56中,如果确定Left/tSize的值不小于5.6,则处理跳至步骤S59。也就是说,第二类情况(第二情形)是Status是稳定状态、而Left/tSize不小于5.6的情形。
在第二情形下,在步骤S59中,Q计算单元107将量化步长大小Q设置为nSize[p-1,c]/tSize。这是为了通过采用作为对应于上述等式(5)的关系式的以下等式(6)而获得量化步长大小Q。
nSize[p-1,c]×1=tSize×Q    (6)
nSize[p-1,c]是前一画面相同位置处编码单位的归一化代码量(在以量化步长大小“1”编码时所产生的代码量)。也就是说,在该情形下,可以想到,所获得的量化步长大小Q是诸如以代码量tSize对前一画面相同位置处的编码单位进行编码的量化步长大小。
在第二情形下,Status是稳定状态,因此Q计算单元107确定当前画面和前一画面之间的相关性高,并容易地通过采用其相关性以 及与上一画面相同位置处的编码单位的信息来设置量化步长大小Q。
在步骤S60中,Q计算单元107通过将在步骤S59中所设置的量化步长大小Q除以值“1”与(4-0.5 Left/tSize)中较小的一个来计算新的量化步长大小Q。也就是说,如果Left很大,即如果太多编码数据被存储在平滑单元17的缓冲器中,则Q计算单元107执行校正以增大量化步长大小Q,从而减小代码量。注意,(4-0.5 Left/tSize)的值在一些情况下变成0或负值,但在该情形下,Q计算单元107将量化步长大小Q的值设置为量化步长大小Q能取的最大值。
在步骤S61中,Q计算单元107将量化步长大小Q的值除以Uniformity。也就是说,在画面内的所产生的代码量不均匀的情况下,Q计算单元107执行校正以增大量化步长大小Q,从而减小代码量。
在第一情形下,Q计算单元107将量化步长大小Q设置为用于以tSize对每个编码单位进行编码的手段,假定该难度与上一画面相同,但是在第二情形下,太多编码数据被存储在平滑单元17的缓冲器中,因此Q计算单元107执行校正以增大量化步长大小Q,从而减小代码量。图13是示出Min(1,4-0.5 Left/tSize)和在步骤S60中所产生的代码量的变化之间的关联的图。注意,第二情形是Left/tSize不小于5.6,因此在图13的图中,示出了Left/tSize不小于5.6的部分。
如图13所示,当Left/tSize为从5.6到6时,(4-0.5 Left/tSize)的值不小于“1”,因此Min(1,4-0.5Left/tSize)的值在“1”处是稳定的。当Left/tSize超过“6”时,Min(1,4-0.5Left/tSize)的值在每次Left/tSize增大“1”时就减小0.5。
在步骤S60中,将量化步长大小Q除以Min(1,4-0.5Left/tSize)。根据所产生的代码量与量化步长大小之间的关系,由于这个对量化步长大小Q的除法,所产生的代码量增大Min(1,4-0.5Left/tSize)倍。也就是说,图13中的图的垂直轴也表示在步骤S60中所产生的代码量的变化。也就是说,在Left/tSize变得等于或大于“5.6”之后,Q计算单元107执行控制以在每个编码单位处产生与目标代码量相同的代码量,而且在Left/tSize变得等于或大于“6”后,执行控制以在每个编码 单位处产生低于目标代码量的代码量,从而逐渐减小存储在平滑单元17的缓冲器中的代码量。
注意,在第一情形下所获得的量化步长大小Q有时小于在第二情形下所获得的量化步长大小Q。基本上,在第二情形下,即在Left/tSize不小于5.6的情况下,太多编码数据被存储在平滑单元17的缓冲器中,并且期望设置量化步长大小Q以减小所产生的代码量。因此,如果在步骤S57和S58的处理中所获得的量化步长大小Q大于在步骤S61中所获得的量化步长大小Q,则可以采用在步骤S57和S58的处理中所获得的量化步长大小Q。
在步骤S61中的处理结束后,以编码单位为增量的更新处理结束,并且处理返回到图10中的步骤S36,并跳至步骤S37。
在图11的步骤S55中,如果确定Status是非稳定状态,则处理跳至步骤S62。也就是说,第三类情况是Status为非稳定状态的情况。
在第三情形下,在步骤S62中,Q计算单元107通过采用nSize[p,c-1]而将量化步长大小Q设置为nSize[p,c-1]/tSize,其中nSize[p,c-1]是同一画面的前一编码单位处的归一化代码量。也就是说,Q计算单元107获得诸如以代码量tSize对同一画面的前一编码单位进行编码的量化步长大小Q。Status是非稳定状态意味着与上一画面之间的相关性低。因此,Q计算单元107使用同一画面的前一编码单位的信息,从而通过利用画面内的空间相关性来计算量化步长大小。
在步骤S63中,对于第二情形下的步骤S60,Q计算单元107将量化步长大小Q除以值“1”与(4-0.5Left/tSize)中较小的值。如果Left很大,即如果太多编码数据被包括在平滑单元17的缓冲器中,则Q计算单元107执行校正以增大量化步长大小Q,从而减小代码量。
在步骤S63中的处理结束后,以编码单位为增量的更新处理结束,并且处理返回到图10的步骤S36,并跳至步骤S37。
注意,在上面的描述中,已经参照nSize[p,c-1]的值,以采用同一画面内前一编码单位的信息,但是在完成前一编码单位的信息之 后,处理时间有时不及时。在这种情况下,可以采用多于两个编码单位之前的编码单位的信息。例如,可以通过采用两个编码单位之前的编码单位nSize[p,c-2]来计算量化步长大小Q。而且,可以参照从两个或更多编码单位之前的编码单位开始的几行的信息,并且可以参照从上一编码单位开始的其余行的信息。
如果总结量化步长大小Q的上述计算方法,可以获得如图14所示的表格。
在图14的表格中,量化步长大小Q的计算方法1对应于图11中的步骤S57和S58。而且,计算方法2对应于步骤S59到S61,计算方法3对应于步骤S62到S63。当Status为非稳定状态时采用计算方法3,当Status为稳定状态、而且存储在平滑单元17的缓冲器中的编码数据的代码量小时采用计算方法1,而当存储在平滑单元17的缓冲器中的编码数据的代码量不小时采用计算方法2。在此,存储在平滑单元17的缓冲器中的编码数据的代码量小意味着Left/tSize小于“5.6”。
采用计算方法1的情形是Status为稳定状态、而且当前画面与前一画面之间存在相关性的情况,而且也是存储在平滑单元17的缓冲器中的编码数据的代码量小的情况。因此,在该情形下,Q计算单元107将量化步长大小Q设置为稳定,并执行具有以下特征的编码,即其中所产生的代码量对每个编码单位都不同,但是图像质量的恶化不明显。
另一方面,在计算方法2的情况下,存储在平滑单元17的缓冲器中的编码数据的代码量不小,因此Q计算单元107试图使为每个编码单位所产生的代码量稳定,从而不增大存储在平滑单元17的缓冲器中的编码数据的代码量。但在,这种情况下,为了防止平滑单元17的缓冲器溢出,即使难以编码,所产生的代码量也变成相当。因此,对于难以编码的地方,恶化很明显。但是,Status是稳定状态,因此与前一画面的相关性高。因此,Q计算单元107利用这样的状况来设置量化步长大小Q,并且执行编码以提高图像质量。
另一方面,在计算方法3的情况下,Status是非稳定状态,从而与前一画面的相关性低。也就是说,Q计算单元107在对屏幕上侧进行编码时难以确定是否难以对屏幕下侧编码,从而期望对量化步长大小Q进行设置,假定任何地方都具有相同的难度。因此,在步骤S62中,Q计算单元107通过利用与同一画面中前一编码单位的相关性来确定量化步长大小Q。
在计算方法2和计算方法3的情况下,当存储在平滑单元17的缓冲器中的编码数据的代码量很大(如果Left/tSize不小于6)时,在步骤S60或步骤S63中,Q计算单元107设置量化步长大小Q,使得所产生的代码量变得在所有编码单位处都小于其,从而减小存储在平滑单元17的缓冲器中的编码数据的代码量。由此,Q计算单元107可以减小平滑单元17的缓冲器溢出的机率。
下面参照图15中的流程图详细描述在图10的步骤S38中所执行的以画面为增量的更新处理的流程示例。
在以画面为增量的更新处理开始后,在步骤S81中,Uniformity计算单元151确定Status是否为稳定状态,其中Status是表示待编码图像数据的图像状态的标志。如果确定Status是稳定状态,则处理跳至步骤S82。
在步骤S82中,Uniformity计算单元151将Uniformity乘以(1.7-0.125Maxleft/tSize)以计算新的Uniformity(更新Uniformity),其中Uniformity是用于了解图像的一个画面内的均匀度的变量。也就是说,Uniformity计算单元151更新Uniformity,以便在已经通过每编码单位的目标代码量tSize归一化的以存储在平滑单元17的缓冲器中的代码量Left为增量的最大值MaxLeft很大时减小Uniformity,并且在最大值MaxLeft小时增大Uniformity。
此外,在步骤S83中,Uniformity计算单元151比较Uniformity和值“1”,以将它们中较小的值设置为新的Uniformity,使得Uniformity不超过“1”(执行截断)。在步骤S83中的处理结束后,处理跳至步骤S85。
而且,在步骤S81中,如果确定Status是非稳定状态,则处理跳至步骤S84。在步骤S84中,Uniformity计算单元151将Uniformity的值设置为“1”。在步骤S84中的处理结束后,处理跳至步骤S85。
在步骤S85中,BaseQ计算单元152将归一化代码量的以画面为增量的和nSum除以每编码单位的目标代码量的以画面为增量的和tSum,而不管Status的值如何,从而计算基本量化步长大小BaseQ。在计算BaseQ后,在步骤S86中开关单元53将Status设置为稳定状态之后,以画面为增量的更新处理结束,处理返回到图10的步骤S38,并跳至步骤S39。
现在,考虑用于图11的步骤S58中的处理的Uniformity。首先,如果Uniformity为“1”,则在步骤S58中Q=Q,并且因此,在步骤S57的处理中所设置的BaseQ毫无改变地被用作量化步长大小Q。根据图15的步骤S85中的解决方法,BaseQ是诸如成为整个一个画面内目标代码量的量化步长大小(基本量化步长大小)。
接着,如果Uniformity为“0.8”,则在图11的步骤S58中,Q=Q/0.8。基于所产生的代码量与量化步长大小之间的上述关系,在采用该量化步长大小Q的情况下所产生的代码量变成采用BaseQ的情况下的大约0.8倍。
在图10的步骤S31中,Uniformity值被设置为作为默认值的“1 ”,并在图15的步骤S82、步骤S83或步骤S84中在结束一个画面的处理时被更新。在该更新时,如果Status是稳定状态,则首先执行步骤S82中的处理,由此按照以下等式(7)更新Uniformity。
Uniformity=Uniformity(1.7-0.125MaxLeft/tSize)    (7)
图16所示的图绘出了等式(7)的关系,其表示Uniformity的变化与所产生的代码量的变化。图16的水平轴是Left/tSize,垂直轴利用比例因子表示Uniformity的变化。如图16所示,当Left/tSize是“5.6”时,Uniformity不改变。当Left/tSize小于“5.6”时,Uniformity增大,当Left/tSize大于“5.6”时,Uniformity减小。
例如,如果不是在画面的下侧而是在上侧生成很多代码,则即使 整个一个画面上的代码量处于目标代码量的范围内,画面下侧的编码单位处所产生的太多编码数据被存储在平滑单元17的缓冲器中,并且因此,Left/tSize在一些情况下变得很大。在这种情况下,平滑单元17的缓冲器可能溢出,从而Uniformity计算单元151减小Uniformity的值以在减小方向上调节所产生的代码量。如上所述,在Uniformity值变小后,量化步长大小变得很大,并且所产生的代码量变小。
注意,在Status是非稳定状态的情况下,Uniformity计算单元151确定画面之间的相关性低,并将Uniformity值返回到默认值“1”。
接着考虑BaseQ值。BaseQ是基本量化步长大小,并且在BaseQ计算单元152中被设置为nSum/tSum。tSum是一个画面的每编码单位的目标代码量之和,即整个一个画面的目标代码量。该nSum是一个画面的通过对在编码单位所产生的代码量进行归一化而获得的归一化代码量之和,即一个画面的归一化代码量。在图11的步骤S52中,通过Size×Q获得归一化代码量nSize。
如果考虑简单的情况,当满足Status为稳定状态、Uniformity为“1”、且Left/tSize小于“5.6”的条件时,通过图11的步骤S57和S58中的处理来设置量化步长大小Q,从而其量化步长大小Q的值总是等于BaseQ。也就是说,nSize变为Size×BaseQ,nSum变为通过将在整个一个画面上所产生的代码量乘以BaseQ而获得的值。如果说将在整个一个画面上所产生的代码量取为∑Size,则诸如变为目标代码量tSum的量化步长大小被表示为tQ,基于等式(4)所示出的产生的代码量与量化步长大小之间的关系,下面的等式(8)成立。
nSum=BaseQ×∑Size近似等于tQ×tSum    (8)
在从等式(8)获得tQ后,tQ近似等于nSum×tSum,并且因此,这与BaseQ计算单元152中的BaseQ计算方法一致。该BaseQ被用作下一画面的基本量化步长大小。总的来说,对于运动图像,时间上相邻的画面之间的相关性高,并且量化步长大小与所产生的代码量之间的关系通常相同,从而Q计算单元107可以很容易地根据该过程精确地得到下一画面的所产生的代码量。
速率控制单元16执行如上所示的速率控制。下面总结该速率控制的特征。
首先,对于编码处理,在由于场景变换等所导致的图像困难大大变化的情况下,该变化之后紧邻的画面很可能偏离目标代码量。在使用传输代码量具有最大值的系统来执行传输等情况下,超过目标代码量就产生问题。
因此,作为特征之一,速率控制单元16确定与前一画面相比,所产生的代码量nSize是否增加很大(图11中的步骤S53),并且如果确定所产生的代码量nSize增加很大,则速率控制单元16确定与上一画面的相关性低,并确定该状态为非稳定状态(图11中的步骤S54)。
如果在某编码单位处所产生的代码量明显大于前一画面的相同位置处的编码单位处所产生的代码量,则速率控制单元确定图像由于场景变化而变得很难(非稳定状态),并利用画面内的相关性来获得后续编码单位中每一个的量化步长大小(图11的步骤S62)。
因此,速率控制单元16可以在下一编码单位被输入之前获得其编码单位的量化步长大小Q。如果已经存在场景变化,则可以想到,图像内的相关性高于连续图像之间的相关性,因此根据这一特征,速率控制单元16可以执行高精度的速率控制。
注意,对于图15的步骤S86中的处理,Status已经被事先设置为稳定状态,并且如果确定与前一画面的相关性高,则Status被保持在稳定状态。
在稳定状态的情况下,确定与前一画面的相关性高,从而除非太多编码数据被聚集在平滑单元17的缓冲器中,否则根据图11的步骤S57中的处理,基本量化步长大小BaseQ被设置为量化步长大小Q。根据这样的控制,速率控制单元16可以使画面内的图像质量均匀,以减少图像质量的恶化。
而且,如果太多编码数据被聚集在平滑单元17的缓冲器中,则根据图11的步骤S59中的处理,速率控制单元16通过利用下一编码 单位的目标代码量tSize、以及前一画面相同位置处编码单位的归一化代码量nSize[p-1,c],来获得下一编码单位的量化步长大小Q。根据这样的控制,速率控制单元16可以在下一编码单位被输入之前获得其编码单位的量化步长大小Q。
如上所述,在通过利用同一画面内另一编码单位的信息来设置量化步长大小的情况下,与利用前一画面整个画面的基本量化步长大小BaseQ来设置量化步长大小的情况相比,图像质量很可能将恶化,这是不利的。因此,作为另一特征,仅当所产生的代码量明显高于(例如1.5倍或更大)前一画面相同位置处编码单位的代码量时,速率控制单元16才利用同一画面内另一编码单位的信息来设置量化步长大小Q。根据该特征,速率控制单元16可以防止超过目标代码量,以减少平滑单元17的缓冲器的溢出,同时抑制图像质量的恶化。
注意,关于图像质量的“不利”是指与在所有编码单位处采用相同量化步长大小的情况相比是不利的。要输入的图像由于场景变化等而是未知的,并且实际上,原本不可能在所有编码单位处使用相同的量化步长大小。而且实践中,场景变化之后的即时图像质量恶化不容易被人眼观察到,因此是不明显的。因此,如上所述,即使利用BaseQ来设置量化步长大小的方法与利用同一画面内另一编码单位的信息来设置量化步长大小的方法被一起使用,也存在从视觉看来很小的图像质量恶化。
顺便提及,即使在相同的场景中,图像的一部分也变化,这在一些情况下导致产生太多的代码量。在利用传输代码量具有最大值的系统执行传输等的情况下,超过目标代码量就产生问题。此时,可以设想应用上述利用同一画面内另一编码单位的信息来设置量化步长大小的方法,但是该方法在图像质量方面是不利的,因此不希望多次利用该方法。
因此,作为另一特征,在很多(例如大于70个)编码数据被存储在平滑单元17的缓冲器中时,代码量与前一图像相比并没有完全改变,并且Status在稳定状态,从而速率控制单元16确定与前一画 面相同位置处的编码单位的相关性高,并通过采用画面p(第p个画面)的编码单位c(第c个编码单位)的目标代码量S[p,c]、在对前一画面p-1的编码单位c进行编码时的量化步长大小Q[p-1,c]、以及所产生的代码量S[p-1,c],获得由画面p的编码单位c采用的量化步长大小Q[p,c](图11中的步骤S59),如下面的等式(9)所示。
Q[p,c]=Q[p-1,c]×(S[p-1,c]/S[p,c])    (9)
该方法与上述采用同一画面内另一编码单位的信息来设置量化步长大小的方法的相同之处在于为每个编码单位选择量化步长大小。
但是,注意,在该方法中,参照可以认为相关性高的前一画面的相同位置处的编码单位的信息,从而速率控制单元16可以执行更高精度的速率控制(可以以更可靠的方式抑制缓冲器的溢出)。
顺便提及,即使采用上述方法,也不能完全控制在一个编码单位处所产生的代码量,还可以想到,存储在平滑单元17的缓冲器中的编码数据的代码量继续增加。
因此,在更多(例如超过75个)编码数据被存储在平滑单元17的缓冲器中的情况下,速率控制单元16将量化步长大小Q设置为比用上述方法所获得量化步长大小Q[p,c]更粗糙。
例如,在缓冲器活动率为75%的情况下,速率控制单元16设置量化步长大小Q,使得目标代码量变成相当于1.0行块(选区)的代码量,而在缓冲器活动率为80%的情况下,设置量化步长大小Q,使得目标代码量变成相当于0.8行块(选区)的代码量,而在缓冲器活动率为85%的情况下,设置量化步长大小Q,使得目标代码量变成相当于0.6行块(选区)的代码量,而在缓冲器活动率为90%的情况下,设置量化步长大小Q,使得目标代码量变成相当于0.4行块(选区)的代码量,而在缓冲器活动率为95%的情况下,设置量化步长大小Q,使得目标代码量变成相当于0.2行块(选区)的代码量。
也就是说,作为特征之一,速率控制单元16根据平滑单元17的缓冲器的活动率来校正量化步长大小Q的值(步骤S60和步骤S63)。
因此,在很多编码数据聚集在平滑单元17的缓冲器中的情况下,速率控制单元16可以减少所产生的代码量,以抑制缓冲器溢出的发生。
顺便提及,例如在电视接收机的监视器上显示电影的情况下,对于诸如屏幕垂直方向或水平方向的一部分总是变成黑色图像的所谓加框图案(letter box image)这样的图案,存在照常产生代码的部分、以及几乎没有代码的部分。
在利用上述方法对这种图像执行速率控制之后,控制所产生的代码量,以在整个一个画面上变成目标代码量,从而很多代码集中在一部分编码单位中。因此,即使整个一个画面的所产生的代码量可以被控制在目标代码量以下,但是根据代码出现的偏差,很可能在画面中间时在平滑单元17的缓冲器中发生溢出。
另一方面,如上所述,还可以考虑对每个编码单位控制量化步长大小Q的方法,但是如上所述,该方法在图像质量方面可能是不利的。此外,还可以考虑增加平滑单元17的缓冲器的存储容量,但是在这种情况下,可能出现不仅电路规模和成本增加,而且编码处理的延迟时间也增大。
因此,速率控制单元16采用被称为Uniformity的变量,该变量表示画面内代码出现的均匀度。在每个编码单位处所产生的代码量的偏差越小,Uniformity值就越大。Uniformity的最大值是“1”,最小值是“0”。
作为特征之一,速率控制单元16在开始编码之前将Uniformity初始化为默认值“1”(图10中的步骤S31),并在一个画面的编码结束时如下地更新Uniformity。在Status为非稳定状态的情况下,速率控制单元16将Uniformity值设置为“1”(图15中的步骤S84)。此外,在Status为稳定状态的情况下,速率控制单元16检查在对其画面进行编码期间被存储在平滑单元17的缓冲器中的代码量(缓冲器活动率)的最大值MaxLeft,并根据其值校正Uniformity(图15中的步骤S83)。
例如,如果MaxLeft(缓冲器活动率的最大值)为50%,则速率控制单元16将Uniformity值增加10%,如果MaxLeft为65%,则将Uniformity值增加5%,如果MaxLeft为70%,则不改变Uniformity值,如果MaxLeft为75%,则将Uniformity值减少5%,而如果MaxLeft为80%,则将Uniformity值减少10%。当然,这只是示例,只要在存在在平滑单元17的缓冲器中可能发生溢出的可能性的情况下,当MaxLeft的值很大时进行校正以减小Uniformity,就可以进行设置,其中当MaxLeft取某类值时以某种方式校正Uniformity值。
注意,这样计算的Uniformity被用于校正量化步长大小Q(图11中的步骤S58和S61)。
利用该方法,对于由于代码出现的不均匀而可能导致缓冲器溢出的图像,速率控制单元16事先减小目标代码量(量化步长大小Q)。根据该特征,在缓冲器可能溢出时,速率控制单元16可以减少使用通过利用同一画面内另一编码单位的信息来计算量化步长大小Q的方法的情况的发生,如上所述。与此同时,一个画面的所有编码单位都可以以相同的量化步长大小Q编码,从而速率控制单元16可以改善要编码的图像的图像质量。
根据该方法,整个一个画面中所产生的代码量小于目标代码量,但是当与一个画面内最粗糙的编码单位的量化步长大小Q比较时,该方法在图像质量方面是稳定的,因为该方法比上述其它方法更为精细。
在所谓加框图像的情况下,除非采用该方法,否则图像质量急剧恶化。实际上,图像质量的恶化对于具有很少动作的图像来说是明显的,从而在对具有一部分几乎没有动作的黑色图像的图像(诸如加框图像)进行编码时,通过该方法抑制图像质量的恶化就产生更大的优点。
为了如上所述地将未传送的代码量抑制到较小水平,即可以节省用于存储未经处理的代码的存储器。也就是说,可以节省在接收所传 送的代码的一侧的存储器。由此,还可以获得这样的优点,即可以缩短在编码、传送和解码被顺序执行之后直到最终显示图像之前的延迟等等。
换句话说,速率控制单元16对每个编码单位进行代码量控制和编码处理,而不采用整个运动图像或整个画面的信息,以获得这些优点,从而可以减少存储器使用量和延迟时间,并且还可以有助于处理,并可以降低成本。
顺便提及,与采用位平面的编码、诸如JPEG2000等不同,在JPEG等等的情况下,为了将所产生的代码量调整到目标代码量,需要在更改量化步长大小的同时重复编码多次,因此处理可能变得复杂,延迟时间可能增加,或者电路规模或成本可能增大。
因此,作为特征之一,速率控制单元16在以特定量化步长大小Q0执行编码时获得代码量S0,并且通过以诸如以下等式(10)的下一比例计算利用那些值而获得变成目标代码量S的量化步长大小Q(图15中的步骤S85)。
Q=Q0×(S0/S)    (10)
根据该特征,在对静止图像进行编码的情况下,速率控制单元16执行编码一次,从而获得合适的量化步长大小Q,并且简单地再次执行量化处理和后续处理,由此完成具有目标代码量的编码。也就是说,速率控制单元16可以很容易为合适的编码获得合适的量化步长大小。
顺便提及,例如,在对运动图像进行编码的情况下,速率控制单元16不知道接下来要输入的画面有多困难。可以通过执行采用位平面的编码(诸如JPEG2000等)、并按照从MSB(最高有效位)到LSB(最低有效位)的顺序传输数据,来控制代码量,但在该方法的情况下,不能以很小的延迟执行编码。
因此,作为特征之一,速率控制单元16根据前一画面的编码结果获得要用于下一画面的量化步长大小Q(图11中的步骤S57)。注意,如何获得量化步长大小Q与采用上述表达式(10)的方法相同。
对于普通的运动图像,相邻画面之间的相关性高,并且具有相同难度的画面在很多情况下继续,甚至在利用这样的方法获得量化步长大小的情况下编码也不会失败。也就是说,速率控制单元16可以很容易地执行恰当的速率控制。
例如,对于发生场景变化的画面,存在在场景变化之前和之后困难程度可能改变很大(画面之间的相关性可能变得低)的可能性,但是即使在这样的情况下,如果注意场景变化之后发生的事情,则具有相同难度的画面继续,并因此所产生的代码量与目标代码量之间的偏移只被限制到场景变化之后紧邻的画面。因此,在视觉上不发生图像质量的明显恶化(不明显)。
而且,例如难度继续大大地且连续地改变的运动图像(即具有低相关性的画面继续)的运动图像对人眼来说难以识别,从而很少有机会处理这样的图像,并且很难在视觉上辨别图像质量的恶化(不明显)。
如上所述,在该方法的情况下,处理是简单的,因此可用于采用位平面的编码、诸如JPEG2000,或不采用位平面的编码、诸如JPEG。通过启动采用位平面的编码(诸如JPEG2000)的速率控制,为每个代码块都截断地调整代码量,从而屏幕内的图像质量不均匀。在浏览运动图像时存在屏幕内不均匀噪声很明显的问题,但是利用该方法,屏幕内的图像质量均匀,从而噪声不明显。
顺便提及,如上所述,在以编码单位为增量控制量化步长大小Q的方法中,有可能量化步长大小可以对于每个编码单位变化,因此,有可能在以画面为增量控制基本量化步长大小BaseQ时会出现错误。
因此,作为特征之一,速率控制单元16任意地选择基准量化步长大小Qn(图10中的步骤S31)。假定以量化步长大小Q[p,c]对第p张画面(画面p)的第c个编码单位(编码单位c)编码,并且此时所产生的代码量是S[p,c]。
以Qn进行编码的情况下的代码量是S[p,c]×(Q[p,c]/Qn)。如果以相同的方式考虑所有编码单位,则可以用如以下等式(11)中示出的 比例计算获得变成目标代码量S的量化步长大小Q。
Q=Qn×((∑S[p,c]×(Q[p,c]/Qn))/S)    (11)
在此,只要Qn在编码期间不变,Qn就可以是任何数,从而可以采用Qn=1。根据系统的方便,可以采用Qn以使计算结果的数字很方便。
根据这种特征,即使以编码单位为增量控制量化步长大小Q,而不对整个运动图像进行统计,速率控制单元16也可以容易地高速执行对量化步长大小的适当控制。
注意,速率控制单元16还可以独立地实现上述各种类型的特征。在这种情况下,只能获得对应于每个特征的优点。而且,还可以通过组合这多个特征而同时实现这多个特征。也就是说,在上述特征中,速率控制单元16可以适当地省略一部分特征。而且,速率控制单元16还可以包括非上述特征的其它特征。
注意,至今已经在其中速率控制单元16被包括在编码设备1中的配置下进行了描述,但是速率控制单元16可以具有任意配置,只要速率控制单元16包括上述特征的一部分或全部。换句话说,速率控制单元16可以控制由其它设备所执行的编码处理所产生的代码量。
下面,描述对应于这种编码设备1的解码设备。该解码处理对应于图9的流程图中所示的编码处理。
图17是示出解码设备的配置示例的框图。解码设备200是对应于编码设备1的解码设备,并且如图17所示,解码设备200包括熵解码单元201、反量化单元202、系数缓冲器单元203和小波反变换单元204。
从编码设备1输出的编码数据分组被提供给解码设备200的熵解码单元201。在获得编码数据之后,熵解码单元201对其编码数据进行针对每行的熵解码,并将获得的系数数据提供给反量化单元202。反量化单元202对所提供的系数数据进行反量化,将所获得的系数数据提供给系数缓冲器单元203以使该数据被存储。小波反变换单元204通过使用合成滤波器而对存储在系数缓冲器单元203中的系数数据进 行合成滤波处理,并将合成滤波处理的结果又存储在系数缓冲器单元203中。小波反变换单元204根据划分水平重复该处理,并获得解码的图像数据(输出图像数据)。小波反变换单元204将该输出图像数据输出到解码设备200的外部。
在普通小波反变换方法的情况下,小波反变换单元204首先在屏幕的水平方向上对要处理的划分水平的所有系数进行水平合成滤波,然后在屏幕的垂直方向上对要处理的划分水平的所有系数进行垂直合成滤波。也就是说,每次进行合成滤波时,需要在缓冲器中保存其合成滤波的结果,并且此时,缓冲器需要保存当时的划分水平的合成滤波结果、以及下一划分水平的所有系数,并因此需要很大的存储容量(要保持的数据量很大)。
而且,在这种情况下,在画面(在隔行扫描方法的情况下是场)内完成所有小波反变换之前不执行图像数据输出,因此从输入到输出的延迟时间增大。
另一方面,在小波反变换单元204的情况下,以行块为增量连续地执行垂直合成滤波和水平合成滤波,直到划分水平1,因此与现有方法相比,需要一次(同时)缓存的数据量很小,可以显著地降低所需要的缓冲器存储量。而且,合成滤波(小波反变换处理)被执行,直到划分水平1,由此在获得画面内所有图像数据之前可以顺序地输出图像数据(以行块为增量),因此与现有方法相比可以极大减小延迟时间。
下面参照图18的流程图描述由解码设备200执行的解码过程的流程示例。
在解码处理开始后,在步骤S101中,熵解码单元201获取编码数据,并在步骤S102中,对编码数据进行针对每一行的熵解码。在步骤S103中,反量化单元202对熵编码的系数数据进行反量化。在步骤S104中,系数缓冲器单元203保存反量化的系数数据。在步骤S105中,小波反变换单元204确定相当于一个行块的系数是否已被存储在系数缓冲器单元203中。
如果确定相当于一个行块的系数还未被存储在系数缓冲器单元203中,则处理返回到步骤S101,并执行后续步骤。也就是说,小波反变换单元204暂停,直到相当于一个行块的系数被存储到系数缓冲器单元203中。随后,在步骤S105中,如果确定相当于一个行块的系数已被存储在系数缓冲器单元203中,则处理跳至步骤S106。在步骤S106中,小波反变换单元204读出保存在系数缓冲器单元203中的相当于一个行块的系数。
随后,在步骤S107中,小波反变换单元204对读出的系数进行垂直合成滤波,用于对排列在屏幕的垂直方向上的系数进行合成滤波,并在步骤S108中对读出的系数进行水平合成滤波,用于对排列在屏幕的水平方向上的系数进行合成滤波,并在步骤S109中确定合成滤波是否已经完成直到划分水平1,即反变换是否已经被执行直到小波变换之前的状态。
如果确定合成滤波还没有达到划分水平1,则处理返回到步骤S107,并重复步骤S107和S108中的滤波。此外,在步骤S109中,如果确定合成滤波已达到划分水平1,且反变换处理已完成,则处理跳至步骤S110。在步骤S110中,小波反变换单元204将通过反变换处理所获得的图像数据输出到解码设备200的外部。
在步骤S111中,确定是否结束解码处理,并且如果继续输入编码数据,则确定解码处理没有结束,处理返回到步骤S101,并重复后续处理。而且,在步骤S111,如果确定解码处理结束,从而编码数据的输入结束等等,则解码处理结束。
如上所述,小波反变换单元204以行块为增量连续执行垂直合成滤波和水平合成滤波,直到划分水平1,从而与对所有系数进行小波反变换的方法相比,需要一次(同时)缓存的数据量很小,并且可以极大地减少所需要的缓冲器的存储量。而且,合成滤波(小波反变换处理)被执行直到划分水平1,由此可以在获得画面内所有图像数据之前顺序地输出图像数据(以行块为增量),因此与对整个屏幕进行小波反变换的方法相比,可以极大地减少延迟时间。
注意,至今已经对编码单位是行块的情况进行了描述,但是编码单位可以是任意单位。下面描述编码单位的一个例子。图19是示出编码单位的一个例子的示意图,其示出其中为每个编码单位划分经过二维小波变换的系数的情况。在图19中,以相同图案绘出的部分的集合构成一个编码单位。
在图19中,收集相应像素在空间上位于相同位置的系数,由此构成一个编码单位。一个编码单位由低频侧的每个尺寸为屏幕的1/8宽的4个子带中一次一行、中频的每个尺寸是1/4宽的3个子带中一次两行、以及高频的每个大小为1/2宽的3个子带中一次4行构成。也就是说,在图19的示例中,编码单位由行块形成。在图19中,编码单位1具有屏幕最上部分的信息(对应于屏幕的顶部行块)。编码单位2具有与编码单位1下方相邻的部分的信息(对应于从屏幕顶部开始第二行块)。后续编码单位的编码单位数量增加越多,在屏幕的较低位置处(对应于较低位置处的行块)就具有越多的信息。
对于小波反变换处理,首先需要低频侧的小波系数。因此,图20示出其中编码单位被配置为首先发送低频侧的小波系数的例子。对于图20中的例子,编码单位1由低频侧的每个尺寸是屏幕的1/8宽的4个子带中一次一行组成。这些行具有屏幕最上部分的低频侧的信息。编码单位2由低频侧的每个尺寸为屏幕的1/8宽的4个子带中一次一行、以及中频的每个尺寸为1/4宽的3个子带中一次两行组成。对于中频处的数据,编码单位1没有数据,从而编码单位2具有最上部分的信息,但是换句话说,编码单位2具有与编码单位1的下部相邻的部分的信息。
编码单位3由低频侧的每个尺寸为屏幕的1/8宽的4个子带中一次一行、中频的每个尺寸是1/4宽的3个子带中一次两行、以及高频的每个大小为1/2宽的3个子带中一次4行组成。高频处的数据没有被包含在编码单位1中,也没有被包含在编码单位2中,从而编码单位3具有高频处数据的最上部分的信息,但是换句话说,编码单位3具有与编码单位2的下部相邻的部分的信息。后续编码单位的编码单 位数量增加越多,屏幕的较低位置处就具有越多的信息。
也就是说,在图20的示例中,编码单位不等于行块。
用于产生图19中的编码单位的方法是聚集空间上位于相同位置处的系数的方法,但是用于产生图20中的编码单位的方法是聚集在靠近低频侧时空间上位于较低位置的系数的方法。
至于编码单位,除了上述编码单位之外,还存在多种情况。在一种极端情况下,一个画面中只包含一个编码单位,并且区域变换的增量有时与编码单位相同。在区域变换的增量与编码单位相同的情况下,未在图1中示出的输入图像划分器被设置在区域转换器之前,由此将区域转换的增量减小为通常的情况。
注意,上述各个处理可以合适地被并行执行,例如如图21所示。
图21是示意性示出由图1中编码设备1所执行的、以及由图17中解码单元200所执行的处理的每个单元的并行操作的示例。图21对应于上述图5。在小波变换单元10(图1),对图像数据输入In-1(图21中的A)进行第一小波变换WT-1(图21中的B)。如参照图4所述,第一小波变换WT-1在输入前三行时开始,并产生系数C1。换句话说,从输入图像数据In-1直到开始小波变换WT-1,产生相当于三行的延迟。
所产生的系数数据被存储在系数重排列缓冲器单元12(图1)中。此后,对输入图像数据进行小波变换,并在第一处理结束后,处理没有改变地跳至第二小波变换WT-2。
与输入图像数据In-2用于第二小波变换WT-2以及第二小波变换WT-2的处理并行地,系数重排列单元13(图1)执行3个系数C1、C4、C5的重排列Ord-1(图21中的C)。
注意,从小波变换WT-1结束到重排列Ord-1开始的延迟是基于设备或系统配置的延迟,例如诸如与传送用于指示系数重排列单元13执行重排列处理的控制信号相关的延迟,系数重排列单元13开始对控制信号的处理所需要的延迟,以及程序处理所需要的延迟,该延迟不是编码处理中所涉及的主要延迟。
系数数据按照重排列完成的顺序被从系数重排列缓冲器单元12中读出,并被提供给熵编码单元15(图1),并进行熵编码EC-1(图21中的D)。熵编码EC-1可以无需等待3个系数C1、C4、C5的重排列全部完成就开始。例如,根据要首先输出系数C5,对系数C5的熵编码可以在一行的重排列结束时就开始。在这种情况下,从重排列Ord-1的处理开始到熵编码EC-1的处理开始的延迟相当于一行。
对被熵编码单元15进行熵编码EC-1的编码数据进行预定的信号处理,然后将其通过发送路径发送到解码设备200(图21中的E)。此时,编码数据被分组化并发送。
在根据第一处理输入相当于7行的图像数据之后,直到屏幕上最底行的图像数据被顺序地输入编码设备1。响应于图像数据的输入In-n(n不小于2),编码设备1执行小波变换WT-n、重排列Ord-n、每四行的熵编码EC-n,如上所述。在6行上执行对编码设备1处最后一次处理的重排列Ord和熵编码EC。如图21中A至D所示,在编码设备1处并行执行这些处理。
编码设备1处被熵编码EC-1编码的编码数据的分组被传送给解码设备200。熵解码单元201对所提供的被熵编码EC-1编码的编码数据进行熵代码的解码iEC-1,以恢复系数数据(图21中的F)。在反量化单元202中对恢复的系数数据进行反量化,然后按顺序将其存储在系数缓冲器单元203中。当在系数缓冲器单元203中存储的系数数据多到可以执行小波反变换之后,小波反变换单元204从系数缓冲器单元203读出系数数据,并对读出的系数数据进行小波反变换iWT-1(图21中的G)。
如参照图4所述,可以在系数C4和C5被存储在系数缓冲器单元203中时开始小波反变换单元204进行的小波反变换iWT-1。因此,从熵解码单元201的解码iEC-1开始到小波反变换单元204的小波反变换iWT-1开始的延迟相当于两行。
对于小波反变换单元204,在第一小波变换进行的相当于3行的小波反变换iWT-1结束后,执行在小波反变换iWT-1处所产生的图 像数据的输出Out-1(图21中的H)。对于输出Out-1,如参照图4和图5所述,输出第一行的图像数据。
在编码设备1根据第一处理输入相当于3行的编码系数数据之后,熵编码EC-n(n不小于2)所编码的系数数据被顺序输入解码设备200。解码设备200如上所述每四行地对输入系数数据进行熵解码iEC-n和小波反变换iWT-n,并顺序地执行通过小波反变换iWT-n所恢复的图像数据的输出Out-n。在6行上执行编码设备1处对最后一次处理的熵解码iEC和小波反变换iWT,而在8行上执行输出Out。如图21中的F至H所示,在解码设备200处并行地执行这些处理。
由此,如上所述,按照从屏幕上部到下部的顺序并行地执行编码设备1和解码设备200处的相应处理,由此可以几乎没有延迟地执行图像压缩处理和图像解码处理。
参照图21计算在通过采用5×3滤波器执行直到划分水平2的小波变换的情况下从图像输入到图像输出的延迟时间。从第一行图像数据被输入到编码设备1到第一行图像数据从解码设备200输出的延迟时间等于以下各要素之和。在此要注意,去除了根据系统配置而不同的延迟,诸如传输路径上的延迟、与设备内每个单元的实际处理时序相关的延迟等。
(1)相当于7行的从第一行输入到小波变换WT-1结束的延迟D_WT
(2)相当于3行的与重排列Ord-1关联的时间D_ord
(3)相当于3行的与熵编码EC-1关联的时间D_EC
(4)相当于3行的与熵解码iEC-1关联的时间D_iEC
(5)相当于3行的与小波反变换iWT-1关联的时间D_iWT
现在参照图21计算由于上述各个因素而导致的延迟。(1)中的延迟D_WT是相当于10行的时间。(2)中的时间D_ord、(3)中的时间D_EC、(4)中时间D_iEC以及(5)中的时间D_iWT分别是相当于3行的时间。而且,对于编码设备1,熵编码EC-1可以在 重排列Ord-1开始之后一行处开始。类似地,对于解码设备200,小波反变换iWT-1可以在熵解码iEC-1开始之后两行处开始。而且,对于熵解码iEC-1,处理可以在熵编码EC-1处相当于一行的编码结束时开始。
因此,对于图21中的示例,从向编码设备1输入第一行图像数据到从解码设备200输出第一行图像数据的延迟时间相当于10+1+1+2+3行,即17行。
参照更为具体的例子来考虑延迟时间。在输入图像数据是HDTV(高清电视)的交织视频信号(interlace video signal)的情况下,例如一帧被配置为1920像素×1080行的分辨率,并且一个场是1920像素×540行。因此,如果说帧频率是30Hz,则用作一个场的540行在16.67msec(=1秒/60个场)的时间内被输入到编码设备1。
因此,例如,与输入相当于7行的图像数据关联的延迟时间是0.216msec(=16.67msec×7/540行),这对于一个场的更新时间来说是非常短的时间。而且,对于上述(1)中的延迟D_WT、(2)中的时间D_Ord、(3)中的时间D_EC、(4)中时间D_iEC以及(5)中的时间D_iWT之和,要处理的行数很小,从而极大地降低了延迟时间。如果用于执行每个处理的要素用硬件实现,则处理时间可进一步减少。
在图1中,描述了在小波变换之后(在量化之前)立即执行系数的重排列,但是重排列的时序可以不是在小波变换之后立即进行,只要编码数据按照从低频到高频的顺序被提供给解码设备200的小波反变换单元204(即,只要按照从通过对属于低频子带的系数数据进行编码而获得的编码数据到通过对属于高频子带的系数数据进行编码而获得的编码数据的顺序提供编码数据)即可。
例如,可以重新排列通过熵编码所获得的编码数据的顺序。图22是示出该情况下编码设备的配置示例的框图。
在图22的情况下,与图1中编码设备1的情况相似,编码设备300包括小波变换单元10、中间计算缓冲器单元11、量化单元14、 熵编码单元15、速率控制单元16以及平滑单元17,但是取代图1中的系数重排列缓冲器单元12和系数重排列单元13,包括代码重排列缓冲器单元301和代码重排列单元302。
代码重排列缓冲器单元301是用于对在熵编码单元15处被熵编码的编码数据的输出顺序进行重排列的缓冲器,代码重排列单元302按照预定顺序读出存储在代码重排列缓冲器单元301中的编码数据,由此对编码数据的输出顺序重新排列。
也就是说,在图22的情况中,从小波变换单元10所输出的小波系数被提供给量化单元14,并在其中被量化。量化单元14的输出被提供给熵编码单元15并在其中被编码。通过其编码所获得的每个编码数据被顺序地提供给代码重排列缓冲器单元301,并被临时存储在其中用于重新排列。
代码重排列单元302按照期望的顺序读出写在代码重排列缓冲器单元301中的编码数据,并将其提供给平滑单元17。
在图22的示例的情况下,熵编码单元15按照小波变换单元10的输出顺序对每个系数数据进行编码,并将获得的编码数据写入代码重排列缓冲器单元301中。也就是说,编码数据按照与小波变换单元10输出小波系数的顺序相对应的顺序被存储在代码重排列缓冲器单元301中。在正常情况下,在比较属于一个行块的两个系数数据之后,系数数据属于的子带频率越高,小波变换单元10输出该系数数据就越快,系数数据属于的子带频率越低,小波变换单元10输出该系数数据就越慢。也就是说,对于代码重排列缓冲器单元301,每个编码数据按照从通过对属于高频子带的系数数据进行熵编码而获得的编码数据到通过对属于低频子带的系数数据进行熵编码而获得的编码数据的顺序被存储。
另一方面,与上述顺序无关地,代码重排列单元302按照任意顺序读出存储在代码重排列缓冲器单元301中的每个编码数据,由此执行编码数据的重排列。
例如,代码重排列单元302优选地读出通过对属于较低频子带的 系数数据进行编码而获得的编码数据,并且最后读出通过对属于最高频子带的系数数据进行编码而获得的编码数据。由此,从低频到高频地读出编码数据,从而代码重排列单元302允许解码设备200按照所获得的顺序对每个编码数据解码,并且可以减小由于解码设备200的解码处理而产生的延迟时间。
代码重排列单元302读出存储在代码重排列缓冲器单元301中的编码数据,并将其提供给平滑单元17。
注意,被图22所示的编码设备300编码和输出的数据可以由参照图17描述的解码设备200解码,与从图1中编码设备1所输出的编码数据的情形相似。
而且,用于执行重排列处理的时序可以不是上述时序。例如,如图23中的示例所示,重排列处理可以在编码设备1处被执行,而且如图24中示例所示,可以在解码设备200处被执行。
对于用于对通过小波变换而产生的系数数据重排列的处理,需要相对大的容量作为系数重排列缓冲器的存储容量,而且系数重排列处理本身也需要高的处理能力。即使在这种情况下,当编码设备的处理能力高到一定程度时,根本不会出现任何问题。
下面考虑在处理能力比较低的设备中实施编码设备的情况,诸如所谓的移动终端等等,如便携式电话终端和PDA(个人数字助理)。例如,近年来,添加有成像功能的产品已经广泛地扩展到便携式电话终端(被称为具有相机功能的便携式电话终端)。可以想到,由这种具有相机功能的便携式电话终端所拍摄的图像数据通过小波变换和熵编码被压缩和编码,经由无线或电缆通信被传输。
例如对于这种移动终端,CPU(中央处理单元)的处理能力受到限制,而且存储容量也被限制到某种程度。因此,与上述系数重排列相关的处理负荷等导致不能忽视的问题。
因此,如图24的示例所示,将重排列处理嵌入解码设备会减小编码设备的负荷,并且因此可以在处理能力相对低的设备(如移动终端)中实施编码设备。
图25是示出这种情况的编码设备的配置示例的框图。注意,在图25中,与上述图1相同的部件用相同的附图标记表示,并省略对其的详细描述。
图25所示的编码设备330的配置是通过从上述图1所示的编码设备1的配置中去掉系数重排列单元13和系数重排列缓冲器单元1 2而获得的配置。也就是说,编码设备330与编码设备1一样包括小波变换单元10、中间计算缓冲器单元11、量化单元14、熵编码单元15、速率控制单元16以及平滑单元17。
输入图像数据被临时聚集在中间计算缓冲器单元11中。小波变换单元10对聚集在中间计算缓冲器单元11中的图像数据进行小波变换,并将产生的系数数据按照产生系数数据的顺序连续地提供给量化单元14。量化单元14通过采用从速率控制单元16所提供的量化步长大小Q而对所提供的系数数据进行量化,并将其提供给熵编码单元15。也就是说,根据小波变换的顺序,按照从高频分量到低频分量的顺序提供产生的系数数据。熵编码单元15对提供的系数进行熵编码。熵编码单元15将通过熵编码所获得的编码数据提供给平滑单元17。平滑单元17将所提供的编码数据临时地保存在其内置缓冲器中,读出其编码数据以具有稳定的比特率,并输出其。此时,从平滑单元17所输出的编码数据按照与对应于其编码数据的系数数据从小波变换单元10输出的顺序相同的顺序被输出。
图26是示出对应于编码设备330的解码设备的配置示例的框图。注意,与上述图17中相同的部件用相同的附图标记表示,并省略其详细描述。
如图26所示,在该情况下的解码设备340与图17中的解码设备200一样包括熵解码单元201、反量化单元202、系数缓冲器单元203和小波反变换单元204,并且还包括系数重排列缓冲器单元341。
从图25所述的编码设备330的熵编码单元15输出的编码数据被提供给图26中解码设备340的熵解码单元201,并被转换为熵编码被解码的系数数据。系数数据在反量化单元202处被量化,然后经由系 数缓冲器单元203被存储在系数重排列缓冲器单元341中。在存储在系数重排列缓冲器单元341中的系数数据多到能执行系数数据的重排列时,小波反变换单元204按照从低频分量到高频分量的顺序重新排列存储在系数重排列缓冲器单元341中的系数数据以读出其,并按照读出顺序对读出的系数数据进行小波反变换处理。在采用5×3滤波器的情况下,重排列处理如图24所示的那样被执行。
也就是说,例如,在从一帧的顶部开始处理的情况下,在已经过熵解码的系数C1、C4、C5被存储在系数重排列缓冲器单元341时,小波反变换单元204从系数重排列缓冲器单元341读出系数数据,以对其执行小波反变换处理。在小波反变换单元204处经过小波反变换的数据被顺序地输出作为输出图像数据。
注意,在这种情况下,与参照图21描述的那样,编码设备330中的每个部件的处理、向传输路径传输编码数据、以及解码设备340中每个部件的处理并行地执行。
注意,对于编码设备和解码设备之间的编码数据传输,可以设计成编码数据被分组化和发送。
图27是描述其编码数据的交换状态的示例的示意图。在图27所示的例子的情况下,与上述其它实施例一样,图像数据在被每个行块的特定数量的行(子带351)输入的同时经过小波变换。随后,在达到预定的小波变换划分水平时,从最低频率子带到最高频率子带的系数行被重新排列为与产生的顺序相反的顺序、即从低频到高频的顺序。
对于图27中的子带351,划分为倾斜线、垂直线和波动线图案的部分分别是不同的行块(如箭头所示,子带351的白色部分也针对每个行块被划分并按照相同的方式被处理)。对经过重新排列的行块的系数进行如上所述的熵编码,从而产生编码数据。
在此,例如,在编码设备不加改变地传送编码数据时,解码设备在某些情况下难以识别每个行块的边界(或需要复杂的处理)。因此,对于本实施例,设计成编码设备例如以行块为增量地将首标加到编码 数据,并将其作为由首标和编码数据所构成的分组传送。
也就是说,如图27所示,在产生第一行块(Lineblock-1)的编码数据时,编码设备对其分组化,以将其作为传输分组361传送到解码设备。在接收到其分组(接收分组371)后,解码设备对其编码数据进行解码。
类似地,在产生第二行块(Lineblock-2)的编码数据时,编码设备对其进行分组化,以将其作为传输分组362传送给解码设备。在接收到其分组(接收分组372)后,解码设备对其编码数据解码。此外,类似地,在产生第三行块(Lineblock-3)的编码数据时,编码设备对其分组化,以将其作为传输分组363传送给解码设备。在接收到其分组(接收分组373)后,解码设备对其编码数据解码。
编码设备和解码设备重复这样的处理直到最后第X个行块(Lineblock-X)(传输分组364,接收分组374)。因此,在解码设备处产生解码后的图像381。
首标的配置示例在图28中示出。尽管分组如上所述由首标391和编码数据构成,但是其首标391包括行块号(NUM)393以及编码数据长度(LEN)394的描述。
解码设备读取包括在添加到所接收的编码数据的首标中的信息,从而可以很容易识别每个行块的边界,并且可以降低解码处理的负荷和处理时间。
注意,如图28所示,构成行块的每个子带的量化步长大小(Δ1到ΔN)392的描述可以被添加到接收的编码数据。由此,解码设备可以对每个子带执行反量化,并且因此可以执行更精细的图像质量控制。
而且,可以设计成编码设备和解码设备如上面参照图21所述的那样同时并行地执行每个处理,诸如上面提到的编码、分组化、分组的发送/接收、以及每个行块的解码。
根据这种设计,可以极大地降低直到可以在解码设备处获得图像输出的延迟时间。在图27中,作为示例,示出对交织视频(每秒60 个场)的操作示例。对于该示例,一个场的时间是1秒/60=大约16.7msec,但是每个处理同时并行地执行,从而可以获得延迟时间大约为5msec的图像输出。
下面描述上述编码设备和解码设备被应用于数字同轴系统的情况。
同轴系统是一种用在电视广播站、制片室等中的系统。利用这种系统,在录音棚中录音或从远方实时广播时,一个连接摄像机和相机控制单元或开关的同轴电缆被用于传送多路复用信号,诸如画面信号、音频信号、返回画面信号、同步信号等,并还提供电能。
很多传统的同轴系统已经被设计成以模拟信号的形式传送上述信号。另一方面,近年来,整个系统正变成数字的,并因此用在电视广播站中的同轴系统也变成数字的。
对于已知的数字同轴系统,在同轴电缆上传送的数字视频信号已经是未经压缩的视频信号。其原因是对于信号延迟时间所要求的规格对于电视广播站等来说特别严格,基本上,要求例如从拍摄到显示器输出的延迟时间在一个场内(16.67msec)。已经实现高压缩率和高图像质量的压缩编码系统、诸如MPEG2(运动图像专家组2)和MPEG4还没有被用在同轴系统中,因为对于视频信号压缩和编码以及对经过压缩的视频信号的解码,需要相当于几个帧的时间,这意味着延迟时间很大。
在一个场时间、例如几行到几十行内,上述图像编码和图像解码方法如上所述具有的从输入图像数据到获得输出图像的延迟时间非常短,因此可以合适地应用于数字同轴系统。
图29示出可应用于上述图像编码和图像解码方法的数字同轴系统的示例的配置。对于图29所示的数字同轴系统,传输单元400和相机控制单元402经由同轴电缆401连接。从传输单元400到相机控制单元402的实际被广播或被用作内容的数字视频信号和数字音频信号(下面称为“主行信号”)、以及从相机控制单元402到摄像机单元403的内部通信音频信号(intercom audio signal)和返回数字视频信 号通过同轴电缆401传送。
传输单元400例如内置在未示出的摄像设备中。当然,也可以进行其它设计,例如通过预定方法将传输单元400连接到摄像设备作为该摄像设备的外部设备。相机控制单元402例如可以是被统称为CCU(相机控制单元)的设备。
数字音频信号对本发明的实质几乎没有什么关系,因此为简化描述而省略对其的描述。
摄像机单元403例如被配置在未示出的摄像设备中,并以未示出的图像获取设备、诸如CCD(电荷耦合设备)对已经由包括镜头、聚焦机构、变焦机构、光圈调节机构等的光学系统450接收的来自对象的光执行感光。图像获取设备通过光电转换将所接收的光转换为电信号,并进一步执行预定的信号处理,从而输出基带数字视频信号。这些数字视频信号例如被映射到HD-SDI(高清晰串行数据接口)格式并被输出。
而且,用作监视器的显示单元451以及用于与外部交换音频的对讲设备(intercom)452也被连接到摄像机单元403。
传输单元400具有视频信号编码单元410和视频信号解码单元411、数字调制单元412和数字解调单元413、放大器414和415以及视频分割/合成单元416。
例如被映射为HD-SDI格式的基带数字视频信号被从摄像机单元403提供到传输单元400。数字视频信号在视频信号编码单元410处被压缩和编码,以形成编码流,编码流被提供到数字调制单元412。数字调制单元412将所提供的编码流调制为格式适合通过同轴电缆401传输的信号并进行输出。从数字调制单元412所输出的信号经由放大器414被提供给视频分割/合成单元416。视频分割/合成单元416将所提供的信号发送到同轴电缆401。这些信号经由同轴电缆401在相机控制单元402处被接收。
从相机控制单元402所输出的信号经由同轴电缆401而在传输单元400处被接收。所接收的信号被提供给视频分割/合成单元416,并 且数字视频信号部分与其它信号部分被分开。在接收的信号中,数字视频信号部分经由放大器415被提供给数字解调单元413,被调制为格式适合于通过同轴电缆401传输的信号的信号在相机控制单元402侧被解调,并恢复编码流。
编码流被提供给视频信号解码单元411,对压缩代码进行解码,并获得基带数字视频信号。解码后的数字视频信号被映射到HD-SDI格式并输出,而且作为返回数字视频信号被提供给摄像机单元403。返回数字视频信号被提供给与摄像机单元403连接的显示单元451,并用于相机操作者监视。
相机控制单元402具有视频分割/合成单元420、放大器421和422、前端单元423、数字解调单元424和数字调制单元425、视频信号解码单元426和视频信号编码单元427。
从传输单元400所输出的信号在相机控制单元402处经由同轴电缆401被接收。所接收的信号被提供给视频分割/合成单元420。视频分割/合成单元420将提供给它的信号经由放大器421和前端单元423提供给数字解调单元424。注意,前端单元423具有用于调节输入信号的增益的增益控制单元、用于对输入信号执行预定滤波的滤波器单元等等。
数字解调单元424对在传输单元400侧被调制为格式适于通过同轴电缆401传输的信号的信号进行解调,并恢复编码流。编码流被提供给对压缩代码解码的视频信号解码单元426,从而获得基带数字视频信号。解码后的数字视频信号被映射到HD-SDI格式并输出,而且作为主行信号向外输出。
返回数字视频信号和数字音频信号被外部地提供给相机控制单元402。数字音频信号例如被提供给相机操作人员的对讲设备452,以用于将外部音频指示传送给相机操作者。
返回数字视频信号被提供给视频信号编码单元427并被压缩编码,并且被提供给数字调制单元425。数字调制单元425将所提供的编码流调制为格式适于通过同轴电缆401传输的信号并输出。从数字 调制单元425所输出的信号经由前端单元423和放大器422被提供给视频分割/合成单元420。视频分割/合成单元420将这些信号与其他信号多路复用,并发送到同轴电缆401。这些信号经由同轴电缆401在传输单元400处被接收,然后被提供给摄像机单元403。
上述编码设备可用于这种数字同轴系统的视频信号编码单元410和视频信号编码单元427,而且上述解码设备可用于视频信号解码单元411和视频信号解码单元426。
而且,如参照图21所述,已经设计编码设备和解码设备的每个部件的处理并行地执行,从而在从相机控制单元402输出用摄像机单元403所拍摄的画面时的延迟、以及返回数字视频信号外部地提供和从相机控制单元402传送到摄像机单元403的延迟可以被抑制到低水平。
而且,在图29所示的系统的情况下,可以在传输单元400和相机控制单元402中每一个处适当地设置信号处理能力和存储容量,使得执行系数数据重排列处理的位置可以在传输单元400侧,也可以在相机控制单元402侧,并且用于执行熵编码的位置同样可以在重排列处理之前或之后。
现在,存在很多允许返回数字视频信号的图像质量比主行信号的数字视频信号的图像质量低的情况。在这种情况下,可以降低视频信号编码单元427处编码时的比特率。例如,视频信号编码单元427用速率控制单元16执行控制,使得熵编码单元15处的熵编码处理的比特率更低。而且,可以考虑这样一种设计,即例如在相机控制单元402侧,用视频信号编码单元427处的小波变换单元10执行变换处理到较高的划分水平,而在传输单元400侧,视频信号编码单元411处小波反变换单元204的小波反变换被停止在较低的划分水平。相机控制单元402侧视频信号编码单元427处的处理不限于该示例,而是可以考虑各种其它类型的处理,诸如将小波变换的划分水平保持得低以便减小变换处理的负荷。
在应用到这种数字同轴系统的情况下,速率控制单元16可以容 易和适当地对如上所述的编码处理时所产生的代码量进行控制。
而且,应用本发明实施例的编码设备可用于非数字同轴系统的系统。例如,编码设备和解码设备之间的传输可以用电缆通信进行,或者可以用无线通信进行。
图30是示出无线传输系统的配置示例的框图,其中编码设备和解码设备之间交换的信息的传输是以无线通信进行的。注意,在图30的示例中,视频信号单向地从摄像机单元502或传输单元500(下面简称为“传输单元500”)侧传送到接收设备501侧。可以为音频信号和其他信号执行传输单元500和接收设备501之间的双向通信。
传输单元500例如被内置到未示出的具有摄像机单元502的摄像设备中。当然,也可以进行其他设计,如传输单元500连接到摄像设备作为具有摄像机单元502的摄像设备的外部设备。
摄像机单元502例如具有预定的光学系统、诸如CCD的图像获取设备、用于将图像获取设备所输出的信号作为数字视频信号输出的信号处理单元。这些数字视频信号例如被映射为HD-SDI格式,并从摄像机单元502输出。当然,从摄像机单元502输出的数字视频信号不限于该示例,也可以是其他格式。
传输单元500具有视频信号编码单元510、数字调制单元511和无线模块单元512。在传输单元500处,基带数字视频信号例如被映射为HD-SDI格式,并从摄像机单元502输出。在视频信号编码单元510处,根据本发明的压缩编码方法对数字视频信号进行小波变换的压缩编码和熵编码,从而变成提供给数字调制单元511的编码流。数字调制单元511将所提供的编码流数字调制为格式适于无线通信的信号并输出。
而且,数字音频信号和其他信号、诸如预定的命令和数据也被提供给数字调制单元511。例如,摄像机单元502具有将采集的声音转换为音频信号的麦克风,而且音频信号还经过A/D转换并作为数字音频信号被输出。此外,摄像机单元502能够输出特定命令和数据。命令和数据可以在摄像机单元502内产生,或者可以为摄像机单元502 设置操作单元,其中响应于用户在操作单元处的操作而产生命令和数据。而且,可以设计成用于输入命令和数据的输入设备与摄像机单元502连接。
数字调制单元511对这些数字音频信号和其他信号进行数字调制,并输出。从数字调制单元511输出的经过数字调制的信号被提供给无线模块单元512,并作为广播(airwave)从天线513无线地发射。
在从接收设备501侧接收到ARQ(自动重复请求)后,无线模块单元512将该ARQ通知给数字调制单元511,以请求重新发送数据。
从天线513发送的广播在接收设备501侧的天线520处被接收,并被提供给无线模块单元521。无线模块单元521将基于所接收的广播的数字调制信号提供给前端单元522。前端单元522例如对所提供的数字调制信号执行预定的信号处理,诸如增益控制,并提供给数字解调单元523。数字解调单元523解调所提供的数字调制信号,并恢复编码流。
在数字解调单元523处所恢复的编码流被提供给视频信号解码单元524,用根据本发明的解码方法对压缩代码解码,并且获得基带数字视频信号。解码后的数字视频信号例如被映射为HD-SDI格式并输出。
还向数字解调单元523提供在发送单元500侧经过数字调制并被发送的数字音频信号和其他信号。数字解调单元523对这些信号解调,其中这些数字音频信号和其他信号已经过数字调制,数字解调单元523恢复和输出数字音频信号和其他信号。
而且,前端单元522根据预定方法对从无线模块单元521所提供的接收信号进行错误检测,并且在检测到错误、诸如已经接收了错误帧的情况下,输出ARQ。ARQ被提供给无线模块单元521,并从天线520被发射。
对于这种配置,传输单元500被内置到相对小的例如具有摄像机单元502的摄像设备内,监视器设备被连接到接收设备501,并且从 视频信号解码单元524所输出的数字视频信号被提供给监视器设备。只要接收设备501位于从具有内置传输单元500的摄像设备的无线模块单元512所传送的广播的广播频率范围内,就可以以很小的延迟在监视器设备上观看由摄像设备所拍摄的画面,例如以一个场或一帧内的延迟。
注意,在图30的示例中,传输单元500和接收设备501之间的通信利用无线通信执行,从而经由无线通信传送视频信号,但是该设计并不限于该示例。例如,传输单元500和接收设备501可以经由网络、诸如互联网被连接。在这种情况下,传输单元500侧的无线模块单元512和接收设备501侧的无线模块单元521分别是支持利用IP(互联网协议)通信的通信接口。
对这种系统可以考虑各种应用。例如,这种系统可以用于视频会议系统。一个设计示例是将支持USB(通用串行总线)连接的简单摄像设备连接到诸如个人计算机的计算机设备,其中计算机设备侧实现视频信号编码单元510和视频信号解码单元524。在计算机设备处所实现的视频信号编码单元510和视频信号解码单元524可以是硬件配置,或者可以通过运行在计算机设备上的软件实现。
例如,参与视频会议的每个成员会配有计算机设备以及连接到计算机设备的摄像设备,其中计算机设备通过电缆或无线网络被连接到用于提供视频会议系统业务的服务器设备。从摄像设备所输出的视频信号经由USB电缆被提供给计算机设备,并在计算机设备内的视频信号编码单元510处执行根据本发明的编码处理。计算机设备经由网络将编码流发送到服务器设备等,其中在编码流中已对视频信号进行了编码。
服务器设备经由网络将所接收的编码流传送到每个参与人员的计算机设备。该编码流在每个参与人员的计算机设备处被接收,并在计算机设备内的视频信号解码单元524处经过根据本发明的解码处理。从视频信号解码单元524所输出的图像数据作为画面被显示在计算机设备的显示单元上。
也就是说,由其他参与人员的摄像设备所获取的视频画面被显示在每个参与人员的计算机设备的显示单元上。因此,通过采用这种系统,从对摄像设备所获取的视频信号进行编码到在其他参与人员的计算机设备处对其进行解码的延迟时间很短,从而可以减小在参与人员的计算机设备的显示单元上显示的其他参与人员的画面被延迟的不自然感觉。
此外,可以考虑视频信号编码单元510被安装在摄像设备侧的设计。例如,传输单元500被内置到摄像设备内。这种配置不需要将摄像设备连接到诸如计算机设备等的其他设备。
在用于这种视频会议系统的情况下,速率控制单元16可以容易和适当地对在编码处理时产生的代码量进行控制,如上所述。
这种由具有内置传输单元500的摄像设备以及接收设备501所构成的系统可以被用于除了上述视频会议系统之外的多种应用。例如,如图31示意性所示,该系统可以被应用于家用游戏控制台。在图31中,图30中的传输单元500被内置到摄像设备600中。
在家用游戏控制台的主单元601中,总线例如连接CPU、RAM(随机存取存储器)、ROM(只读存储器)、与CD-ROM(致密盘只读存储器)和DVD-ROM(数字多用盘-ROM)兼容的磁盘驱动设备、用于将CPU所产生的显示控制信号转换为视频信号并输出的图形控制单元、用于播放音频信号的音频播放单元等等,即具有类似于计算机设备的配置。CPU遵循事先存储在ROM中的程序或者记录在安装到磁盘驱动设备的CD-ROM或DVD-ROM中的程序来总体控制家用游戏控制台的主单元601。RAM用作CPU的工作存储器。家用游戏控制台的主单元601被内置在图30中示出的接收设备501中。从接收设备501所输出的数字视频信号、以及其他信号例如经由总线被提供给CPU。
假定对于这种系统,例如家用游戏控制台的主单元601,运行可以获取外部提供的数字视频信号形式的图像作为游戏内图像的游戏软件。例如,该游戏软件能够使用外部提供的数字视频信号形式的图 像作为游戏内的图像,并且还识别人员(玩家)在图像内的移动,并执行对应于所识别的运动的操作。
摄像设备600在内置的传输单元500内的视频信号编码单元510处用上述编码方法对所拍摄的数字视频信号编码,在数字调制单元511处调制编码流,并提供给无线模块单元512,以从天线513发射。所传送的广播在内置于家用游戏控制台的主单元601内的接收设备501的天线520处被接收,并且所接收的信号经由无线模块单元521和前端单元522被提供给数字解调单元523。所接收的信号在数字解调单元523处被解调为编码流,并被提供给视频信号解码单元524。视频信号解码单元524用上述解码方法对所提供的编码流解码,并输出基带数字视频信号。
从视频信号解码单元524所输出的基带数字视频信号在家用游戏控制台的主单元601中的总线上被发送,并例如被临时存储在RAM中。在根据预定程序读出存储在RAM中的数字视频信号时,CPU可以检测由数字视频信号所提供的图像内的人员移动,并在游戏内使用该图像。
由于从摄像设备600拍摄图像且所获得的数字视频信号被编码到在家用游戏控制台的主单元601处解码编码流并获得图像的延迟时间很短,因此运行在家用游戏控制台的主单元601上的游戏软件对玩家的移动的响应度提高了,从而提高了游戏的可操作性。
注意,这种用于家用游戏控制台的摄像设备600由于价格、大小等的限制而经常具有简单的配置,而且必须假定具有高处理能力和大容量存储器的CPU、诸如计算机设备不能实现的那样。
也就是说,通常,摄像设备600是家用游戏控制台的主单元601的外设,其只对于使用摄像设备600玩游戏是必需的,而且摄像设备600不是在家用游戏控制台的主单元601上玩游戏的必要设备。在这种情况下,摄像设备600通常与家用游戏控制台的主单元601分开销售(所谓的单独销售的选用品)。在这种情况下,在摄像设备600中安装高能力CPU和大容量存储器以便以高价出售可能导致售出的单 元的数量降低。在这种情况下,这可能减少使用摄像设备600的游戏的销售量,这就可能导致收入的降低。而且,对于特定的家用游戏,拥有率经常强烈地影响所售出的单元的数量,从而摄像设备600的低拥有率可能导致所售出的单元的数量更低。
另一方面,以低价销售大量摄像设备600从而提高拥有率可以提高使用摄像设备600的家用游戏的销售数量并提高其普及程度,并且这还可以进一步导致对于家用游戏控制台的主单元601的购买冲动。为此,摄像设备600通常优选地具有简单的配置。
在这种情况下,可以考虑在内置于摄像设备600的传输单元500的视频信号编码单元510处以低划分水平执行小波变换的设计。这减少了对用于系数重排列缓冲器单元的存储器容量的需要。
此外,如上所述在解码设备处对系数重排列就不需要在视频信号编码单元510侧对小波变换系数数据进行重排列处理,从而可进一步减少摄像设备600的负荷,这正是期望的。
注意,摄像设备600和家用游戏控制台的主单元601可以如上所述通过无线通信连接,但是该设计不限于该示例。也就是说,摄像设备600和家用游戏控制台的主单元601可以通过电缆、经由诸如USB、IEEE1394等的接口连接。
在被应用于这种家用游戏控制台系统的情况下,速率控制单元16可以容易和适当地对在编码处理时产生的代码量进行控制。
如上所述,本发明的另一个重要优点是其可被应用于各种形式,并且可以很容易地被应用于很多用途(即高度通用)。
上述处理系列可以通过硬件实现,或者可以通过软件实现。在通过软件实现这一系列处理的情况下,构成软件的程序从程序记录介质被安装到内置有专用硬件的计算机中,或者安装到通用计算机中,或者能够通过在其中安装各种类型的程序而执行各种功能的由多个设备构成的信息处理系统的信息处理设备中。
图32是示出利用程序执行上述处理系列的信息处理系统的配置示例的框图。
如图32所示,信息处理系统700是包括信息处理设备701、通过PCI总线702与信息处理设备701连接的存储设备703、作为多个磁带录象机(VTR)的VTR704-1至VTR704-S、以及鼠标705、键盘706和由用户执行输入操作的操作控制器707的系统,并且是通过安装的程序执行如上所述的图像编码处理和图像解码处理等的系统。
信息处理系统700的信息处理设备701例如可以对存储在具有RAID(冗余独立磁盘阵列)的大容量存储设备703中的运动图像内容编码,将所获得的编码数据存储在存储设备703中,对存储在存储设备703中的编码数据解码,将所获得的解码图像数据(运动图像内容)存储在存储设备703中,并通过VTR704-1至VTR704-S将编码数据或解码图像数据记录在录像带上等。而且,信息处理设备701被设计为将记录在VTR704-1至VTR704-S中录像带中的运动图像数据获取到存储设备703中。此时,可以设计为信息处理设备701对运动图像内容编码。
信息处理单元701具有微处理器801、GPU(图形处理单元)802、XDR(极高数据率:Extreme Data Rate)-RAM 803、南桥(southbridge)804、HDD(硬盘驱动器)805、USB接口(USB I/F)806和声音输入/输出编解码器807。
GPU802经由专用总线811连接到微处理器801。XDR-RAM803经由专用总线812连接到微处理器801。南桥804经由专用总线连接到微处理器801的I/O控制器844。而且,南桥804还连接到HDD805、USB接口806和声音输入/输出编解码器807。扬声器821连接到声音输入/输出编解码器807。而且,显示器822连接到GPU802。
南桥804还经由PCI总线702连接到鼠标705、键盘706,VTR704-1至VTR704-S,存储设备703和操作控制器707。
鼠标705和键盘706经由PCI总线702和南桥804从用户接收操作输入,并向微处理器801提供表示用户所输入的操作的内容的信号。存储设备703和VTR704-1至VTR704-S可以记录和播放预 定数据。
驱动器708在需要时还连接到PCI总线702,其中可移动介质711、诸如磁盘、光盘、磁光盘或半导体存储器等等按照需要被安装到该驱动器,其中从这些可移动介质所读出的计算机程序按照需要被安装在HDD805中。
微处理器801是多核配置,其中在单个芯片上集成用于执行基本程序(诸如OS(操作系统)等)的通用主CPU内核841、经由内部总线845与主CPU内核841连接的作为多个(在本例中是8个)RISC(精简指令集计算机)类型信号处理处理器的副CPU内核842-1至副CPU内核842-8、用于对例如容量为256M字节的XDR-RAM803进行存储控制的存储控制器803、用于管理与南桥804的数据输入和输出的I/O(输入/输出)控制器844,从而实现例如4GHz的工作频率。
在启动时,微处理器801基于存储在HDD805中的控制程序读出存储在HDD805中的必要的应用程序并给予XDR-RAM803,随后基于该应用程序和操作者的操作执行所需要的控制处理。
而且,通过执行软件,微处理器801例如可以实现上述编码处理和解码处理,经由南桥804向HDD805提供通过编码所获得的编码流以进行存储,执行向GPU802传输通过解码所获得的运动图像内容的播放画面的数据以显示在显示器822上等等。
虽然如何使用微处理器801内的CPU内核是可选的,但是可以设计为例如主CPU内核841执行与控制图像编码处理和图像解码处理相关的处理,控制8个副CPU内核842-1至副CPU内核842-8以如参照图21所述那样同时并行地执行各种类型的处理,诸如小波变换、系数重排列、熵编码、熵解码、小波反变换、量化、反量化等等。此时,按照与参照图21所述的相同方式实施这样的设计,即其中主CPU内核841以行块(选区)为增量向8个副CPU内核842-1至副CPU内核842-8中的每一个分配处理,从而以行块为增量同时并行地执行图像编码处理和图像解码处理。也就是说,可以提高编码 处理和解码处理的效率,整个处理的延迟时间减少,而且可以降低负荷、处理时间和处理所需要的存储容量。当然,也可以以其他方法来执行每个处理。
例如,可以设计为微处理器801的8个副CPU内核842-1至副CPU内核842-8中的一部分执行编码处理,剩余的部分同时并行地执行解码处理。
此外,例如,在独立编码器或解码器或编解码处理设备连接到PCI总线702的情况下,微处理器801的8个副CPU内核842-1至副CPU内核842-8可以通过南桥804和PCI总线702控制这些设备所执行的处理。此外,在多个这种设备被连接的情况下,或者在这些设备包括多个解码器或编码器的情况下,微处理器801的8个副CPU内核842-1至副CPU内核842-8可以进行控制,使得多个解码器或编码器共享处理。
此时,主CPU内核841管理8个副CPU内核842-1至副CPU内核842-8的行为,为每个副CPU内核分配处理,检索处理结果等等。此外,主CPU内核841还执行除了这些副CPU内核所执行的那些处理。例如,主CPU内核841经由南桥804接受从鼠标705、键盘706或操作控制器707所提供的命令,并对应于命令执行各种类型的处理。
GPU802执行关于粘贴纹理以及播放要在显示器822上显示的运动图像内容的播放画面的最终呈现处理,而且还管理用于在显示器822上一次显示运动图像内容的多个播放画面和静止图像内容的多个静止图像时执行坐标变换计算的功能、用于放大/缩小运动图像内容的播放画面和静止图像内容的静止图像的处理等等,从而可以减轻微处理器801上的处理负荷。
GPU802在微处理器801的控制下对所提供的运动图像内容的画面数据和静止图像内容的图像数据进行预定的信号处理,将这样获得的画面数据和图像数据发送到显示器822,并在显示器822上显示图像信号。
现在,微处理器801的8个副CPU内核842-1至副CPU内核842-8同时并行解码的多个运动图像内容的播放画面经由总线811被数据传送到GPU802,其传输速度例如高达30G字节/秒,从而甚至具有特殊效果的复杂画面图像也可以被高速地平滑显示。
另一方面,微处理器801对运动图像内容的画面数据和音频数据中的音频数据进行音频混频处理,并经由南桥804和声音输入/输出编解码器807将这样获得的编辑后的音频数据发送到扬声器821,从而从扬声器821输出基于音频信号的音频。
在通过软件实现上述处理系列的情况下,从网络或记录介质安装构成软件的程序。
该记录介质如图32所示不仅包括与设备主单元分开分发以便将程序分发给用户的用于存储程序的可移动介质711、诸如磁盘(包括软盘)、光盘(包括CD-ROM和DVD)、磁光盘(包括MD)、半导体存储器等,而且还包括以集成到设备主单元中的状态发送给用户的其中存储有程序的HDD805、存储设备703等。当然,存储介质也可以是半导体存储器,诸如ROM或闪存等。
上面已经对微处理器801具有8个副CPU内核进行了描述,但是本发明不限于此,副CPU内核的数量是可选的。而且,对于微处理器801,可以设计为使用具有单核(一个内核)而不是包括主CPU内核和多个副CPU内核的CPU。而且,可以使用多个CPU,来代替微处理器801,可以使用多个信息处理设备(即,用于执行本发明的处理的程序在相互协作工作的多个设备上被执行)。
本说明书中描述存储在记录介质中的程序的步骤当然可以按照所述时间顺序执行,但是不限于该时间顺序,也可以并行或单独地执行。
此外,本说明书中使用的系统是指具有多个设备的整个装置。
注意,上面作为单个设备描述的配置可以被划分以构成多个设备。相反,上面作为多个设备描述的配置可以合并以构成单个设备。而且,这些设备的配置可以加入非上述的配置。另外,一个设备的一 部分配置可以被包含在另一设备的配置中,只要整个系统的配置和操作基本上相同即可。
本领域的技术人员应当理解,可以根据设计需要和其他因素进行各种修订、组合、子组合和更改,只要它们落如所附权利要求或其等价物的范围内即可。

Claims (19)

1.一种信息处理设备,被配置为对图像数据进行编码,包括:
系数重排列单元,被配置为按执行合成处理的从低频到高频的顺序重新排列为每个频带所划分的系数数据,其中所述合成处理用于合成被划分为频带的多个子带的系数数据,以产生每个行块的图像数据,其中行块包括与对于生成与最低频率分量的子带的一行相当的系数数据所需要的行数目相当的图像数据;
速率控制单元,被配置为利用在以已知的量化步长大小进行编码时所生成的代码量与在对所述图像数据进行编码时的目标代码量之间的比值,为每个编码单位计算在对所述图像数据进行编码时的新的量化步长大小,其中所述新的量化步长大小是通过将所述已知的量化步长大小与所述比值相乘而计算得到的,所述编码单位是所述编码的处理增量;以及
熵编码单元,被配置为利用所述速率控制单元所计算的量化步长大小,为每个编码单位对所述系数重排列单元所重新排列的系数数据进行编码,以生成编码数据;
其中,所述已知的量化步长大小是在对所述图像数据的前一画面进行编码时所使用的量化步长大小;并且
所生成的代码量是在对所述画面进行编码时所生成的代码量。
2.根据权利要求1的信息处理设备,其中,所述速率控制单元还包括:
计算单元,被配置为将所述已知的量化步长大小与所生成的代码量和所述目标代码量之间的比值相乘;和
设置单元,被配置为将所述计算单元所计算的相乘结果设置为所述新的量化步长大小。
3.根据权利要求2的信息处理设备,其中,所述计算单元以画面为增量计算所述相乘结果。
4.根据权利要求3的信息处理设备,其中,在所述图像数据的画面之间的相关性比预定基准高、并且用于保存所述编码数据的缓冲器的占用率比预定基准低的情况下,所述设置单元将所述相乘结果设置为所述新的量化步长大小。
5.根据权利要求1的信息处理设备,其中,所述编码单位是所述行块。
6.根据权利要求1的信息处理设备,其中,所述速率控制单元执行控制,以为每个行块并行地操作所述系数重排列单元和所述熵编码单元中的每一个,其中所述熵编码单元比所述系数重排列单元延迟相当于1行的时间进行操作。
7.根据权利要求1的信息处理设备,其中,所述系数重排列单元和所述熵编码单元并行地执行每个处理,其中所述熵编码单元比所述系数重排列单元延迟相当于1行的时间来执行处理。
8.一种用于对图像数据进行编码的信息处理方法,包括以下步骤:
重排列步骤,用于按执行合成处理的从低频到高频的顺序重新排列为每个频带所划分的系数数据,其中所述合成处理用于合成被划分为频带的多个子带的系数数据,以产生每个行块的图像数据,其中行块包括与对于产生与最低频率分量的子带的一行相当的系数数据所需要的行数目相当的图像数据;
计算步骤,用于利用在以已知的量化步长大小进行编码时所生成的代码量与在对所述图像数据进行编码时的目标代码量之间的比值,为每个编码单位计算在对所述图像数据进行编码时的新的量化步长大小,其中所述新的量化步长大小是通过将所述已知的量化步长大小与所述比值相乘而计算得到的,所述编码单位是所述编码的处理增量;以及
编码步骤,用于利用在所述计算步骤中所计算的量化步长大小,为每个编码单位对在所述重排列步骤中所重新排列的系数数据进行编码,以生成编码数据;
其中,所述已知的量化步长大小是在对所述图像数据的前一画面进行编码时所使用的量化步长大小;并且
所生成的代码量是在对所述画面进行编码时所生成的代码量。
9.一种被配置为对图像数据进行编码的信息处理设备,包括:
系数重排列单元,被配置为按执行合成处理的从低频到高频的顺序重新排列为每个频带所划分的系数数据,其中所述合成处理用于合成被划分为频带的多个子带的系数数据,以产生每个行块的图像数据,其中行块包括与对于生成与最低频率分量的子带的一行相当的系数数据所需要的行数目相当的图像数据;
速率控制单元,被配置为在所述图像数据的当前画面与前一画面之间的图像相关性低的情况下,利用当前画面内的相关性,为每个编码单位计算在对所述图像数据进行编码时的量化步长大小,其中所述量化步长大小是通过将当前画面内过去的编码单位的归一化代码量除以每编码单位的目标代码量而计算得到的,所述编码单位是编码的处理增量;以及
熵编码单元,被配置为利用所述速率控制单元所计算的量化步长大小,为每个编码单位对所述系数重排列单元所重新排列的系数数据进行编码,以生成编码数据。
10.根据权利要求9的信息处理设备,还包括:
确定单元,被配置为确定所述图像数据的画面之间相关的程度;
其中,所述速率控制单元在所述确定单元确定所述相关性为低的情况下,利用当前画面内的相关性计算所述量化步长大小。
11.根据权利要求10的信息处理设备,其中,所述确定单元在通过对在当前编码单位处所产生的代码量进行归一化处理而获得的归一化代码量比与前一画面相同的位置处的编码单位的归一化代码量大、而且它们的差值比通过将每编码单位的目标代码量与当前设置的量化步长大小的一半相乘而获得的值大的情况下,确定所述相关性为低。
12.根据权利要求10的信息处理设备,其中,所述速率控制单元在所述确定单元确定所述相关性为高的情况下,利用当前画面与前一画面之间的相关性来计算所述量化步长大小。
13.根据权利要求9的信息处理设备,其中,所述编码单位为所述行块。
14.根据权利要求9的信息处理设备,其中,所述速率控制单元执行控制,从而为每个行块并行地操作所述系数重排列单元和所述熵编码单元中的每一个,其中所述熵编码单元比所述系数重排列单元延迟相当于1行的时间进行操作。
15.根据权利要求9的信息处理设备,其中,所述系数重排列单元和所述熵编码单元并行地执行每个处理,其中所述熵编码单元比所述系数重排列单元延迟相当于1行的时间来执行处理。
16.一种用于对图像数据进行编码的信息处理方法,包括以下步骤:
重排列步骤,按执行合成处理的从低频到高频的顺序重新排列为每个频带所划分的系数数据,其中所述合成处理用于合成被划分为频带的多个子带的系数数据,以产生每个行块的图像数据,其中行块包括与对于生成与最低频率分量的子带的一行相当的系数数据所需要的行数目相当的图像数据;
计算步骤,在所述图像数据的当前画面与前一画面之间的图像相关性低的情况下,利用当前画面内的相关性,为每个编码单位计算在对所述图像数据进行编码时的量化步长大小,其中所述量化步长大小是通过将当前画面内过去的编码单位的归一化代码量除以每编码单位的目标代码量而计算得到的,所述编码单位是编码的处理增量;以及
编码步骤,利用在所述计算步骤中所计算的量化步长大小,为每个编码单位对在所述重排列步骤中所重新排列的系数数据进行编码,以生成编码数据。
17.一种配置为对图像数据进行编码以生成编码数据的信息处理设备,包括:
系数重排列单元,被配置为按执行合成处理的从低频到高频的顺序重新排列为每个频带所划分的系数数据,其中所述合成处理用于合成被划分为频带的多个子带的系数数据,以产生每个行块的图像数据,其中行块包括与对于生成与最低频率分量的子带的一行相当的系数数据所需要的行数目相当的图像数据;
确定单元,被配置为基于通过将存储在用于存储所述编码数据的缓冲器中的编码数据的代码量除以每编码单位的目标代码量而获得的值,确定所述缓冲器的数据占用量,其中编码单位是编码的处理增量;
速率控制单元,被配置为在所述确定单元确定存储在所述缓冲器中的编码数据的代码量很大的情况下,通过将在前一画面相同位置的编码单位处所生成的代码量除以每编码单位的目标代码量,为每一编码单位计算在对所述图像数据进行编码时的量化步长大小,其中所述量化步长大小是通过将对在前一画面相同位置的编码单位处所产生的代码量进行归一化而获得的归一化代码量除以所述每编码单位的目标代码量而计算得到的;和
熵编码单元,被配置为利用所述速率控制单元所计算的量化步长大小,为每个编码单位对所述系数重排列单元所重新排列的系数数据进行编码,以产生编码数据。
18.根据权利要求17的信息处理设备,还包括:
校正单元,被配置为通过将所述速率控制单元所计算的所述量化步长大小的值除以以下两个值中较小的那个值来执行校正,即通过从值“4”中减去通过将存储在所述缓冲器中的编码数据的代码量的一半除以所述每编码单位的目标代码量所获得的值而得到的值、以及值“1”。
19.一种用于对图像数据进行编码而产生编码数据的信息处理方法,包括以下步骤:
重排列步骤,按执行合成处理的从低频到高频的顺序重新排列为每个频带所划分的系数数据,其中所述合成处理用于合成被划分为频带的多个子带的系数数据,以产生每个行块的图像数据,其中行块包括与对于生成与最低频率分量的子带的一行相当的系数数据所需要的行数目相当的图像数据;
确定步骤,基于通过将存储在用于存储所述编码数据的缓冲器中的编码数据的代码量除以每编码单位的目标代码量而获得的值,确定所述缓冲器的数据占用量,其中编码单位是编码的处理增量;
计算步骤,如果在所述确定步骤中确定存储在所述缓冲器中的编码数据的代码量很大,则通在将在前一画面相同位置的编码单位处所生成的代码量除以所述每编码单位的目标代码量,计算在对所述图像数据进行编码时的量化步长大小,其中所述量化步长大小是通过将对在前一画面相同位置的编码单位处所产生的代码量进行归一化而获得的归一化代码量除以所述每编码单位的目标代码量而计算得到的;以及
编码步骤,利用在所述计算步骤中所计算的量化步长大小,为每个编码单位对在所述重排列步骤中所重新排列的系数数据进行编码,以产生编码数据。
CN2008100049629A 2007-01-31 2008-01-31 信息处理设备和方法 Expired - Fee Related CN101237577B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2007020527A JP4254867B2 (ja) 2007-01-31 2007-01-31 情報処理装置および方法、プログラム、並びに記録媒体
JP2007020527 2007-01-31
JP2007-020527 2007-01-31

Publications (2)

Publication Number Publication Date
CN101237577A CN101237577A (zh) 2008-08-06
CN101237577B true CN101237577B (zh) 2011-09-07

Family

ID=39410466

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008100049629A Expired - Fee Related CN101237577B (zh) 2007-01-31 2008-01-31 信息处理设备和方法

Country Status (6)

Country Link
US (1) US8107755B2 (zh)
EP (1) EP1954058B1 (zh)
JP (1) JP4254867B2 (zh)
KR (1) KR20080071940A (zh)
CN (1) CN101237577B (zh)
TW (1) TW200843509A (zh)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3944908B2 (ja) * 2003-07-18 2007-07-18 ソニー株式会社 メディアコンバーター
JPWO2008093698A1 (ja) * 2007-01-31 2010-05-20 ソニー株式会社 情報処理装置および方法
US8923385B2 (en) * 2008-05-01 2014-12-30 Nvidia Corporation Rewind-enabled hardware encoder
JP5128389B2 (ja) * 2008-07-01 2013-01-23 株式会社日立国際電気 動画像符号化装置及び動画像符号化方法
CN102177715A (zh) * 2008-11-10 2011-09-07 松下电器产业株式会社 图像解码装置、图像解码方法、集成电路以及程序
KR101590633B1 (ko) * 2008-11-11 2016-02-02 삼성전자주식회사 슬라이스 단위로 분할된 동영상을 처리하는 동영상 부호화/복호화장치 및 동영상 부호화/복호화방법
JP4670947B2 (ja) * 2008-12-05 2011-04-13 ソニー株式会社 情報処理装置および方法
JP5419631B2 (ja) * 2009-10-16 2014-02-19 キヤノン株式会社 画像処理装置、および画像処理装置におけるスクリプト補正方法
KR101452713B1 (ko) * 2009-10-30 2014-10-21 삼성전자주식회사 픽처 경계의 부호화 단위를 부호화, 복호화 하는 방법 및 장치
JP5331024B2 (ja) * 2010-02-16 2013-10-30 株式会社メガチップス 画像符号化装置及び画像変換装置
KR101373814B1 (ko) 2010-07-31 2014-03-18 엠앤케이홀딩스 주식회사 예측 블록 생성 장치
SI3125553T1 (en) 2010-08-17 2018-07-31 M&K Holdings Inc. Procedure for coding the internal predictive mode
US11284072B2 (en) 2010-08-17 2022-03-22 M&K Holdings Inc. Apparatus for decoding an image
US9918086B2 (en) 2010-08-17 2018-03-13 M&K Holdings Inc. Method for encoding an intra prediction mode
WO2012046435A1 (ja) * 2010-10-04 2012-04-12 パナソニック株式会社 画像処理装置、画像符号化方法および画像処理方法
KR20130049523A (ko) 2011-11-04 2013-05-14 오수미 인트라 예측 블록 생성 장치
TW201325247A (zh) * 2011-11-07 2013-06-16 Samsung Electronics Co Ltd 在視訊解碼的反量化及逆轉換期間實現資料修剪的逆轉換方法及設備
US8873872B1 (en) * 2012-04-18 2014-10-28 Matrox Graphics Inc. Division of entropy coding in codecs
US10003803B1 (en) 2012-04-18 2018-06-19 Matrox Graphics Inc. Motion-based adaptive quantization
US10003802B1 (en) 2012-04-18 2018-06-19 Matrox Graphics Inc. Motion-based adaptive quantization
TWI595776B (zh) 2012-06-27 2017-08-11 Sony Corp Image processing device and method
JP6154588B2 (ja) * 2012-08-23 2017-06-28 日本放送協会 画像符号化装置、画像復号装置及びプログラム
CN103731448B (zh) * 2012-10-11 2017-09-26 腾讯科技(深圳)有限公司 一种压缩图片的方法和系统
US9232225B2 (en) * 2013-03-14 2016-01-05 Chirp Inc. Low complexity and memory efficient image CODEC
JP2015195526A (ja) 2014-03-31 2015-11-05 ソニー株式会社 画像処理装置、および画像処理方法
WO2016076515A1 (ko) * 2014-11-13 2016-05-19 삼성전자 주식회사 영상의 주파수 특성 정보를 포함하는 메타 데이터를 생성하는 방법 및 장치
JP6420505B2 (ja) * 2016-02-10 2018-11-07 株式会社日立国際電気 映像信号伝送装置
JP6857973B2 (ja) * 2016-06-14 2021-04-14 キヤノン株式会社 画像符号化装置及びその制御方法
US10303402B2 (en) 2016-08-02 2019-05-28 Seagate Technology Llc Data compression using partial statistics
WO2020006287A1 (en) 2018-06-28 2020-01-02 Apple Inc. Rate control for low latency video encoding and transmission
US11496758B2 (en) 2018-06-28 2022-11-08 Apple Inc. Priority-based video encoding and transmission
CN112313954A (zh) 2018-06-28 2021-02-02 苹果公司 视频编码系统
CN110996127B (zh) * 2019-11-25 2022-12-09 西安万像电子科技有限公司 图像编解码方法、设备及系统
CN112245911B (zh) * 2020-11-06 2024-03-12 网易(杭州)网络有限公司 一种发布游戏程序的方法、装置、存储介质及计算机设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002315000A (ja) * 2001-04-12 2002-10-25 Megafusion Corp データ伝送装置
US6917384B1 (en) * 1999-06-14 2005-07-12 Canon Kabushiki Kaisha Image sensing apparatus, method and recording medium storing program for method of setting plural photographic modes and variable specific region of image sensing, and providing mode specific compression of image data in the specific region
CN1784008A (zh) * 2004-12-02 2006-06-07 北京凯诚高清电子技术有限公司 高清晰视频超强压缩编码方法及解码方法

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04341085A (ja) * 1991-05-17 1992-11-27 Oki Electric Ind Co Ltd 動画像符号化装置
DE69430147T2 (de) 1993-04-09 2002-10-24 Sony Corp Bildkodierungsverfahren, und -vorrichtung
JP3358620B2 (ja) * 1993-04-09 2002-12-24 ソニー株式会社 画像符号化方法及び画像符号化装置
US5703646A (en) 1993-04-09 1997-12-30 Sony Corporation Picture encoding method, picture encoding apparatus and picture recording medium
US5489943A (en) 1994-02-14 1996-02-06 Sony Corporation One-pass adaptive bit rate control
JP2882287B2 (ja) * 1994-08-22 1999-04-12 日本電気株式会社 動画像符号化装置
GB2295936B (en) 1994-12-05 1997-02-05 Microsoft Corp Progressive image transmission using discrete wavelet transforms
DE69637335T2 (de) 1995-03-09 2008-10-09 Sony Corp. Bildsignalkodierungsmethode und -vorrichtung
US6389224B2 (en) 1995-10-17 2002-05-14 Sony Corporation Wireless communication device having a reconfigurable matching circuit
US6100931A (en) 1996-03-19 2000-08-08 Sony Corporation Method and apparatus for controlling a target amount of code and for compressing video data
JP3879134B2 (ja) 1996-03-19 2007-02-07 ソニー株式会社 符号化装置およびその方法
JP3937248B2 (ja) 1996-10-31 2007-06-27 ソニー株式会社 映像信号符号化方法及び映像信号符号化装置
JP3213582B2 (ja) 1997-05-29 2001-10-02 シャープ株式会社 画像符号化装置及び画像復号装置
US6707948B1 (en) 1997-11-17 2004-03-16 The Regents Of The University Of California Image compression for memory-constrained decoders
US6393060B1 (en) * 1997-12-31 2002-05-21 Lg Electronics Inc. Video coding and decoding method and its apparatus
JP2000201353A (ja) * 1999-01-08 2000-07-18 Nippon Telegr & Teleph Corp <Ntt> 画像符号化方法およびその装置およびそのプログラムを記憶した記憶媒体
JP2000261799A (ja) * 1999-03-10 2000-09-22 Fujitsu Ltd 可変レート動画像符号化装置
AUPQ156299A0 (en) * 1999-07-12 1999-08-05 Canon Kabushiki Kaisha Method and apparatus for discrete wavelet transforms and compressed bitstream ordering for block entropy coding of subband image data
JP4287545B2 (ja) * 1999-07-26 2009-07-01 パナソニック株式会社 サブバンド符号化方式
JP3710342B2 (ja) * 1999-09-07 2005-10-26 キヤノン株式会社 ディジタル信号処理装置および方法および記憶媒体
JP4254017B2 (ja) * 2000-03-10 2009-04-15 ソニー株式会社 画像符号化装置及び方法
JP3704644B2 (ja) * 2000-10-20 2005-10-12 ソニー株式会社 画像符号化装置及びその方法並びに画像復号化装置及びその方法
JP3702778B2 (ja) * 2000-11-27 2005-10-05 ソニー株式会社 画像符号化装置及び方法
JP2003274185A (ja) * 2002-03-19 2003-09-26 Sanyo Electric Co Ltd 画像処理方法とその方法を利用可能な画像符号化装置
JP4449400B2 (ja) 2002-10-25 2010-04-14 ソニー株式会社 画像符号化装置及び方法、並びにプログラム及び記録媒体
US7483575B2 (en) 2002-10-25 2009-01-27 Sony Corporation Picture encoding apparatus and method, program and recording medium
JP2005109776A (ja) * 2003-09-30 2005-04-21 Sony Corp 符号化装置及び復号装置
JP4097586B2 (ja) * 2003-10-03 2008-06-11 三洋電機株式会社 データ処理装置
JP4086192B2 (ja) * 2003-12-16 2008-05-14 株式会社リコー 画像処理装置、画像処理方法、プログラム及び情報記録媒体
JP4352329B2 (ja) * 2004-08-23 2009-10-28 ソニー株式会社 画像情報処理方法及び画像情報処理装置
JP2006295299A (ja) * 2005-04-06 2006-10-26 Megachips Lsi Solutions Inc デジタル絞りシステム
TW200727598A (en) * 2005-11-18 2007-07-16 Sony Corp Encoding/decoding device/method and the transmission system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6917384B1 (en) * 1999-06-14 2005-07-12 Canon Kabushiki Kaisha Image sensing apparatus, method and recording medium storing program for method of setting plural photographic modes and variable specific region of image sensing, and providing mode specific compression of image data in the specific region
JP2002315000A (ja) * 2001-04-12 2002-10-25 Megafusion Corp データ伝送装置
CN1784008A (zh) * 2004-12-02 2006-06-07 北京凯诚高清电子技术有限公司 高清晰视频超强压缩编码方法及解码方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
图2-图10.

Also Published As

Publication number Publication date
US8107755B2 (en) 2012-01-31
KR20080071940A (ko) 2008-08-05
CN101237577A (zh) 2008-08-06
EP1954058A2 (en) 2008-08-06
EP1954058A3 (en) 2010-11-17
JP4254867B2 (ja) 2009-04-15
TW200843509A (en) 2008-11-01
EP1954058B1 (en) 2017-12-27
US20080181522A1 (en) 2008-07-31
JP2008187574A (ja) 2008-08-14

Similar Documents

Publication Publication Date Title
CN101237577B (zh) 信息处理设备和方法
CN101237576B (zh) 信息处理装置和方法
JP4888729B2 (ja) 符号化装置および方法、並びに、復号装置および方法
CN102263950B (zh) 编码设备和编码方法以及解码设备和解码方法
US8665943B2 (en) Encoding device, encoding method, encoding program, decoding device, decoding method, and decoding program
JP6471787B2 (ja) 画像処理装置及び画像処理方法
US8254707B2 (en) Encoding device, encoding method, encoding program, decoding device, decoding method, and decoding program in interlace scanning
CN101120584B (zh) 编码装置和方法、解码装置和方法、以及传输系统
JP2008187571A (ja) 情報処理装置および方法、並びにプログラム
CN117354531A (zh) 一种视频数据的压缩方法、装置、终端设备和存储介质
JP2008187572A (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
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110907

Termination date: 20160131

EXPY Termination of patent right or utility model