具体实施方式
以下,参照附图对本发明的实施方式进行说明。其中,本文件文本中的“编码参数”是指在进行编码处理时能够设定或选择的事项。另外,增益调节等的图像修正处理是使编码对象的图像实质地变化的处理,使编码对象的图像实质地变化的图像修正参数不包含在本文件文本中的“编码参数”中。
《第1实施方式》
以下,参照附图对本发明的第1实施方式进行说明。其中,在本实施方式中,编码参数是在运动估计中使用的参照帧、以及在运动估计中使用的后述的式(2)的评价函数中的系数Gn、Gn-n’。另外,在第1到第3的各实施方式中,摄像装置的使用地域是电源频率50Hz的地域和电源频率60Hz的地域这两个地域。
<摄像装置的结构>
参照图1对本实施方式的摄像装置的结构进行说明。图1是本实施方式的摄像装置的结构图。
摄像装置1具备CCD(Charge Coupled Device:电荷耦合器件)照相机模块2、图像处理单元3、DRAM(Dynamic Random Access Memory:动态随机存取存储器)4、和存储卡5。摄像装置1具有高速度摄影功能等,以设定的帧速率进行摄影。另外,有对摄像装置1设定的帧速率比荧光灯闪烁的频率高的情况。
CCD照相机模块2将有关所拍摄的图像的8位的亮度值(Y)及色相值(Cb、Cr)的数据交替地向图像处理单元3的后述的图像输入部14输出。
图像处理单元3是用来将从CCD照相机模块2输入的图像进行编码的单元,其详细情况在后面叙述。
在DRAM4的输入帧存储区域6中,通过图像处理单元3的图像输入部14保存着构成由CCD照相机模块2拍摄的图像的各图像帧的亮度值(Y)及色相值(Cb、Cr)的数据。此外,在DRAM4的参照帧存储区域7a~7d中,作为参照帧的候补而保存着在图像处理单元3进行的图像帧的编码时得到的图像帧。另外,将保存在参照帧存储区域7a~7d中的图像帧称作“候补参照帧”。其中,在本实施方式中,如后所述,将4个候补参照帧各1帧地保存到参照帧存储区域7a~7d中。
在存储卡5中,保存着通过图像处理单元3进行的图像编码而得到的编码数据。
[图像处理单元3的结构]
图像处理单元3如图1所示,具备处理器11、DRAM控制部12、存储卡控制部13、图像输入部14、帧亮度检测部15、闪烁波谱检测部16、亮度推测部17、编码部18、和内部总线19。处理器11、DRAM控制部12、存储卡控制部13、图像输入部14及编码部18分别连接在内部总线19上。
处理器11例如经由内部总线19控制图像处理单元3内的各部的启动。DRAM控制部12进行向DRAM4的数据写入、从DRAM4的数据读出。存储卡控制部13进行向存储卡5的数据写入、从存储卡5的数据读出。
图像输入部14将从CCD照相机模块2输入的亮度值(Y)的数据向帧亮度检测部15输出,并且将从CCD照相机模块2输入的亮度值(Y)的数据及色相值(Cb、Cr)的数据经由内部总线19向DRAM控制部12输出。由该亮度值(Y)的数据及色相值(Cb、Cr)的数据构成的图像帧被DRAM控制部12保存到输入帧存储区域6中。
帧亮度检测部15具有32位的计数器。帧亮度检测部15以帧为单位,利用计数器累计1帧内的像素的亮度值,将累计的结果得到的值(以下称作“帧亮度值”)向闪烁波谱检测部16输出。
闪烁波谱检测部16具有512个用来保存从帧亮度检测部15输入的帧亮度值的32位的缓存,能够存储512帧的帧亮度值。
如果从帧亮度检测部15对闪烁波谱检测部16输入新的帧亮度值,则闪烁波谱检测部16将保存在缓存中的最旧(最早)的帧亮度值替换为输入的新的帧亮度值。并且,闪烁波谱检测部16将保存在512个缓存中的帧亮度值以时间序列采样512个,执行高速傅里叶变换(以下称作“FFT”)而求出512个32位的波谱值。
接着,闪烁波谱检测部16为了判断是有来源于电源频率50Hz的荧光灯闪烁的成分、还是有来源于电源频率60Hz荧光灯闪烁的成分而进行以下的处理。
闪烁波谱检测部16将100Hz的波谱值与120Hz的波谱值进行比较。
在100Hz的波谱值比120Hz的波谱值大的情况下,闪烁波谱检测部16将100Hz的波谱值与阈值比较,在100Hz的波谱值超过阈值的情况下判断为有来源于电源频率50Hz的荧光灯闪烁的成分,在不超过的情况下判断为没有荧光灯的闪烁的成分。
另一方面,在100Hz的波谱值不比120Hz的波谱值大的情况下,闪烁波谱检测部16将120Hz的波谱值与阈值比较,在120Hz的波谱值超过阈值的情况下判断为有来源于电源频率60Hz的荧光灯闪烁的成分,在不超过的情况下判断为没有荧光灯闪烁的成分。
闪烁波谱检测部16将求出的波谱值和表示判断结果的闪烁信息向亮度推测部17输出。
其中,优选的是,例如考虑到因传感器不同而特性不同的情况,预先在有荧光灯闪烁的环境和没有荧光灯闪烁的环境的各个环境中进行摄像,利用其摄像结果决定上述阈值。
亮度推测部17根据从闪烁波谱检测部16输入的闪烁信息的内容进行下述处理,推测图像帧的摄像时(即:拍摄时)的光源的亮度。
在闪烁信息表示有来源于电源频率50Hz的荧光灯闪烁的成分的情况下,亮度推测部17从由闪烁波谱检测部16输入的波谱值之中,取出100Hz的倍数的100Hz、200Hz、300Hz、……的各频率的波谱值。并且,亮度推测部17利用取出的各频率的波谱值进行逆傅里叶变换(以下称作“IFFT”),求出512帧的亮度值,将求出的亮度值作为光源的亮度推测值向编码部18的后述的运动估计部31输出。
此外,在闪烁信息表示有来源于电源频率60Hz的荧光灯闪烁的成分的情况下,亮度推测部17从由闪烁波谱检测部16输入的波谱值之中,取出120Hz的倍数的120Hz、240Hz、360Hz、……的各频率的波谱值。并且,亮度推测部17利用取出的各频率的波谱值执行IFFT,求出512帧的亮度值,将求出的亮度值作为光源的亮度推测值向编码部18的运动估计部31输出。
通过进行上述处理,能够将与荧光灯闪烁无关的频率成分除外,仅推测来源于512帧的各个帧的荧光灯闪烁的亮度变化。
进而,在闪烁信息表示没有荧光灯闪烁的成分的情况下,亮度推测部17将预先设定的固定值作为光源的亮度推测值向编码部18的运动估计部31输出。
另外,由于荧光灯闪烁具有周期性,所以可以预想到连续的图像帧表现出同样的模式(pattern:图案),所以既可以对每个图像帧进行FFT运算及IFFT运算,也可以以一定间隔间断地进行FFT运算及IFFT运算。
编码部18是利用从亮度推测部17输入的光源的亮度推测值进行由CCD照相机模块2拍摄的、存储在输入帧存储区域6中的图像帧的编码的部件。另外,在本实施方式中,假设编码部18进行遵循MPEG-4AVC的动态图像编码。
(编码部18的结构)
参照图2对图1的编码部18进行说明。图2是图1的编码部18的结构图。另外,在图2中,为了图的简略化,将处于编码部18与DRAM4之间的内部总线19及DRAM控制部12省略,将处于编码部18与存储卡5之间的内部总线19及存储卡控制部13省略。
编码部18具备运动估计部31、差分部32、DCT部33、量化部34、可变长度编码部35、逆量化部36、和IDCT部37。
其中,在MPEG-4AVC的动态图像编码中,可以使用不同的图像帧作为参照帧。所以,在本实施方式中,构成为总是将过去的4帧的候补参照帧以环形缓存(ring buffer)状储存到参照帧存储区域7a~7d中、能够将它们用作参照帧的结构。另外,在环形缓存构造的情况下,如果从编码的开始起对帧号码进行计数,则能够根据帧号码唯一地确定存储器位置。
以下,为了便于说明,以编码部18将编码已完成到了帧号码n-1的图像帧、对帧号码n的图像帧进行编码的情况为例进行叙述。
将存储在输入帧存储区域6中的帧号码n的图像帧通过DRAM控制部12读出,经由内部总线19输入到运动估计部31及差分部32中。
运动估计部31计算从亮度推测部17输入的帧号码n的图像帧的摄像时的亮度的亮度推测值Yn的倒数,将亮度推测值Yn的倒数1/Yn作为帧号码n的图像帧的亮度修正系数Gn储存。其中,运动估计部31在帧号码n-i(i=1,2,3,4)的图像帧的编码时,通过计算帧号码n-i的图像帧的摄像时的亮度推测值Yn-i的倒数来计算帧号码n-i的图像帧的亮度修正系数Gn-i(=1/Yn-i),储存计算出的亮度修正系数Gn-i。另外,该亮度修正系数Gn-i是帧号码n-i(i=1,2,3,4)的候补参照帧的亮度修正系数。
接着,运动估计部31从保存在参照帧存储区域7a~7d中的过去4帧的候补参照帧之中,将亮度修正系数最接近于亮度修正系数Gn的候补参照帧决定为参照帧。并且,运动估计部31经由内部总线19及DRAM控制部12从参照帧存储区域7a~7d取得被决定为参照帧的候补参照帧。以下,为了便于说明,设被决定为参照帧的候补参照帧是帧号码n-n′的候补参照帧,将帧号码n-n′的候补参照帧的亮度修正系数记载为Gn-n’。
再接着,运动估计部31对于矩形区域的尺寸是l×m的各宏块,通过使用被决定为参照帧的帧号码n-n′的候补参照帧来搜索下述式(2)的绝对值差SAD为最小的x′及y′,从而进行运动矢量的检测。并且,运动估计部31使用检测到的运动矢量进行运动补偿,将通过运动补偿得到的预测信号向差分部32输出。
[式2]
其中,||是表示绝对值的符号。此外,fn(x,y)是作为编码的对象的帧号码n的图像帧的坐标(x,y)的亮度值,fn-n’(x,y)是被决定为参照帧的帧号码n-n′的候补参照帧的坐标(x,y)的亮度值。
差分部32从帧号码n的图像帧的图像减去从运动估计部31输入的预测信号,生成残差信号。DCT部33通过将从差分部32输入的残差信号进行离散余弦变换(以下称作“DCT”)而生成DCT系数。量化部34通过对从DCT部33输入的DCT系数进行量化而计算量化值。可变长度编码部35通过对从量化部34输入的量化值进行可变长度编码而生成有关帧号码n的图像帧的编码数据,将生成的编码数据经由内部总线19及存储卡控制部13保存到存储卡5中。
逆量化部36通过对从量化部34输入的量化值进行逆量化而计算逆量化值,IDCT部37将从逆量化部36输入的逆量化值进行逆离散余弦变换(以下称作“IDCT”)。通过这些处理将帧号码n的图像帧解码。IDCT部37将解码后的帧号码n的图像帧作为帧号码n的候补参照帧,经由内部总线19及DRAM控制部12保存到保存着最旧的帧号码的候补参照帧(这里是帧号码n-4的候补参照帧)的参照帧存储区域中。由此,在帧号码n+1的图像帧的编码时,在参照帧存储区域7a~7d中保存着帧号码n-3~n的4帧的候补参照帧。
<摄像装置1的动作>
以下,参照图3对图1的摄像装置1的动作进行说明。图3是表示图1的摄像装置1的图像处理的顺序的流程图,表示对1个图像帧的处理的流程。
由CCD照相机模块2进行图像的摄像,将拍摄到的图像的亮度值(Y)的数据通过图像输入部14输入到帧亮度检测部15中,将构成该图像的图像帧的、亮度值(Y)及色相值(Cb、Cr)的数据通过图像输入部14经由内部总线19及DRAM控制部12保存到输入帧存储区域6中(步骤S1)。
帧亮度检测部15以帧为单位累计1帧内的像素的亮度值,计算帧亮度值(步骤S2)。闪烁波谱检测部16利用由帧亮度检测部15计算出的512帧的帧亮度值求出512个波谱值(步骤S3)。闪烁波谱检测部16基于计算出的波谱值,判断是有来源于电源频率50Hz的荧光灯闪烁的成分、还是有来源于电源频率60Hz的荧光灯闪烁的成分、还是没有荧光灯闪烁的成分(步骤S4)。
在判断为有来源于电源频率50Hz的荧光灯闪烁的成分的情况下(S4:电源50Hz),亮度推测部17利用由闪烁波谱检测部16求出的100Hz、200Hz、300Hz……的波谱值,计算512帧的各图像帧的摄像时的光源的亮度推测值(步骤S5)。此外,在判断为有来源于电源频率60Hz的荧光灯闪烁的成分的情况下(S4:电源60Hz),亮度推测部17利用由闪烁波谱检测部16求出的120Hz、240Hz、360Hz……的波谱值计算512帧的各图像帧的摄像时的光源的亮度推测值(步骤S6)。此外,在判断为没有荧光灯闪烁的成分的情况下(S4:无),亮度推测部17将固定值决定为图像帧的摄像时的光源的亮度推测值(步骤S7)。
将编码对象的图像帧从输入帧存储区域6经由DRAM控制部12及内部总线19输入到运动估计部31及差分部32中。运动估计部31根据由亮度推测部17计算或决定的编码对象的图像帧的亮度推测值如上述那样求出该图像帧的亮度修正系数并储存。并且,运动估计部31从存储在参照帧存储区域7a~7d中的过去4帧的候补参照帧之中,将亮度修正系数最接近于编码对象的图像帧的亮度修正系数的候补参照帧决定为参照帧(步骤S8)。另外,在过去4帧的各图像帧的编码时计算并储存了各图像帧的亮度修正系数,使用该储存的各亮度修正系数作为过去4帧的各候补参照帧的亮度修正系数。
接着,运动估计部31经由内部总线19及DRAM控制部12从参照帧存储区域7a~7d取得被决定为参照帧的候补参照帧,通过使用所取得的候补参照帧搜索上述式(2)的绝对值差SAD为最小的x′及y′,来进行运动矢量的检测(步骤S9)。
运动估计部31基于检测到的运动矢量进行运动补偿,生成预测信号。并且,差分部32从编码对象的图像帧的图像减去预测信号而生成残差信号,DCT部33、量化部34及可变长度编码部35根据残差信号生成编码数据,可变长度编码部35将所生成的编码数据经由内部总线19及存储卡控制部13保存到存储卡5中。此外,逆量化部36及IDCT部37根据从量化部34输出的量化值将编码对象的图像帧解码,IDCT部37将解码后的图像帧作为候补参照帧、经由内部总线19及DRAM控制部12保存到保存着最旧的帧号码的候补参照帧的参照帧存储区域中(步骤S10)。
根据上述实施方式,根据512帧的图像帧的帧亮度值进行荧光灯闪烁的成分的分析,推测光源的亮度,所以能够得到光源的亮度的较高的推测精度。
在运动估计中,将亮度推测值最接近于编码对象的图像帧的摄像时的光源的亮度推测值的、候补参照帧决定为参照帧,进而,一边将编码对象的图像帧、与被决定为参照帧的候补参照帧之间的亮度差进行系数修正,一边进行运动矢量的检测。由此,能够减轻起因于摄影时的光源的亮度变化的运动矢量的误估计,并且进行效率良好的编码。
由于不将图像帧本身进行亮度修正地进行图像帧的编码,所以在高速度摄影的情况下,编码数据能够包括荧光灯闪烁的现象自身的信息,在以荧光灯闪烁的现象自身为摄像对象的用途中也能够使用。
由于不需要如使用图11说明的以往技术那样将增益值包含在编码数据中,所以能够使其具有与其他编码器的互换性。
《第2实施方式》
以下,参照附图对本发明的第2实施方式进行说明。其中,在本实施方式中,编码参数是在运动估计中使用的参照帧。
第1实施方式的编码部18将过去4帧的候补参照帧中的、亮度修正系数最接近于编码对象的图像帧的亮度修正系数的候补参照帧决定为参照帧,进行使用没有修正的亮度值及亮度修正系数的运动矢量的检测。相对于此,本实施方式的编码部18a将过去4帧的候补参照帧中的亮度修正系数最小的候补参照帧决定为参照帧,进行使用执行了修正的亮度值的运动矢量的检测。
<摄像装置的结构>
参照图4对本实施方式的摄像装置的结构进行说明。图4是本实施方式的摄像装置的结构图。其中,在本实施方式中,对于与第1实施方式的结构要素实质上相同的结构要素赋予相同的标号,由于能够采用其说明,所以在本实施方式中省略其说明。
摄像装置1a具备CCD照相机模块2、图像处理单元3a、DRAM4、和存储卡5。
图像处理单元3a是用来将从CCD照相机模块2输入的图像编码的单元,以下,对图像处理单元3a进行说明。
[图像处理单元3a的结构]
图像处理单元3a如图4所示,具备处理器11、DRAM控制部12、存储卡控制部13、图像输入部14、帧亮度检测部15、闪烁波谱检测部16、亮度推测部17、增益调节部51、编码部18a、和内部总线19。处理器11、DRAM控制部12、存储卡控制部13、增益调节部51及编码部18a分别连接在内部总线19上。另外,图像输入部14将亮度值(Y)的数据向帧亮度检测部15输出,将图像的亮度值(Y)及色相值(Cb、Cr)的数据向增益调节部51输出。此外,亮度推测部17将图像帧的摄像时的光源的亮度推测值向增益调节部51及编码部18a的后述的运动估计部31a输出。
为了便于增益调节部51的说明,以帧号码n的图像帧为对象进行说明,但增益调节部51在帧号码n以外的帧号码的图像帧的情况下也执行同样的处理。增益调节部51计算从亮度推测部17输入的帧号码n的图像帧的亮度推测值Yn的倒数,将计算出的亮度推测值Yn的倒数1/Yn乘以从图像输入部14输入的构成帧号码n的图像帧的亮度值(Y),来修正亮度值(Y)。并且,增益调节部51将构成帧号码n的图像帧的实施了亮度修正的亮度值(Y)及色相值(Cb、Cr)经由内部总线19向DRAM控制部12输出。通过DRAM控制部12将构成帧号码n的图像帧的实施了亮度修正的亮度值(Y)及色相值(Cb、Cr)保存到输入帧存储区域6中。这样,在本实施方式中存储在输入帧存储区域6中的图像帧与第1实施方式不同,是将亮度值(Y)进行了亮度修正的图像帧。
编码部18a利用从亮度推测部17输入的光源的亮度推测值,进行由CCD照相机模块2拍摄的、存储在输入帧存储区域6中的图像帧的编码。另外,在本实施方式中,假设编码部18a进行遵循MPEG-4AVC的动态图像编码。
(编码部18a的结构)
参照图5对图4的编码部18a进行说明。图5是图4的编码部18a的结构图。另外,在图5中,为了图的简略化,将处于编码部18a与DRAM4之间的内部总线19及DRAM控制部12省略,将处于编码部18a与存储卡5之间的内部总线19及存储卡控制部13省略。
编码部18a具备运动估计部31a、差分部32、DCT部33、量化部34、可变长度编码部35、逆量化部36、和IDCT部37。其中,在本实施方式中,也与第1实施方式同样,构成了总是将过去的4帧的候补参照帧以环形缓存状储存到参照帧存储区域7a~7d中、能够将它们用作参照帧的结构。
以下,为了便于说明,以编码部18a将编码完成到了帧号码n-1的图像帧、对帧号码n的图像帧进行编码的情况为例进行叙述。
运动估计部31a计算从亮度推测部17输入的帧号码n的图像帧的摄像时的亮度推测值Yn的倒数,将亮度推测值Yn的倒数1/Yn作为帧号码n的图像帧的亮度修正系数Gn储存。其中,运动估计部31a在帧号码n-i(i=1,2,3,4)的图像帧的编码时,通过计算帧号码n-i的图像帧的摄像时的亮度推测值Yn-i的倒数来计算帧号码n-i的图像帧的亮度修正系数Gn-i(=1/Yn-i),储存计算出的亮度修正系数Gn-i。另外,该亮度修正系数Gn-i是帧号码n-i(i=1,2,3,4)的候补参照帧的亮度修正系数。
接着,运动估计部31a从保存在参照帧存储区域7a~7d中的过去4帧的候补参照帧之中,将亮度修正系数最小的候补参照帧决定为参照帧。并且,运动估计部31a经由内部总线19及DRAM控制部12从参照帧存储区域7a~7d取得被决定为参照帧的候补参照帧。以下,为了便于说明,设被决定为参照帧的候补参照帧是帧号码n-n′的候补参照帧。
再接着,运动估计部31a对于矩形区域的尺寸是l×m的各宏块,通过使用被决定为参照帧的帧号码n-n′的候补参照帧来搜索下述式(3)的绝对值差SAD为最小的x′及y′,从而进行运动矢量的检测。并且,运动估计部31a使用检测到的运动矢量进行运动补偿,将通过运动补偿得到的预测信号向差分部32输出。
[式3]
其中,||是表示绝对值的符号。此外,fn(x,y)是作为编码对象的帧号码n的图像帧的坐标(x,y)的亮度值,fn-n’(x,y)是被决定为参照帧的帧号码n-n′的候补参照帧的坐标(x,y)的亮度值。
另外,基于由增益调节部51实施了亮度修正这一情况,作为评价函数而使用与以往例同样的函数。
<摄像装置1a的动作>
以下,参照图6对图4的摄像装置1a的动作进行说明。图6是表示图4的摄像装置1a的图像处理的步骤的流程图,表示对1个图像帧的处理的流程。
由CCD照相机模块2进行图像的摄像,将拍摄到的图像的亮度值(Y)的数据通过图像输入部14输入到帧亮度检测部15中,将构成该图像的图像帧的亮度值(Y)及色相值(Cb、Cr)的数据输入到增益调节部51中(步骤S31)。
帧亮度检测部15进行与步骤S2实质上相同的处理(步骤S32),闪烁波谱检测部16进行与步骤S3实质上相同的处理(步骤S33)。接着,亮度推测部17进行与步骤S4~S7实质上相同的处理(步骤S34~S37)。增益调节部51计算由亮度推测部17计算或决定的亮度推测值的倒数,对从图像输入部14输入的相同的帧号码的图像帧的亮度值(Y)乘以所计算出的亮度推测值的倒数,修正亮度值(Y)。接着,增益调节部51将实施了亮度修正的亮度值(Y)及色相值(Cb、Cr)作为该帧号码的图像帧的数据,经由内部总线19及DRAM控制部12保存到输入帧存储区域6中(步骤S38)。
将编码对象的图像帧从输入帧存储区域6经由DRAM控制部12及内部总线19输入到运动估计部31a及差分部32中。运动估计部31a根据由亮度推测部17计算或决定的编码对象的图像帧的亮度推测值,如上述那样求出该图像帧的亮度修正系数并储存。并且,运动估计部31a从过去4帧的候补参照帧之中,将最小的亮度修正系数的候补参照帧决定为参照帧(步骤S39)。另外,在过去4帧的各图像帧的编码时计算并储存了各图像帧的亮度修正系数,使用该储存的各亮度修正系数作为过去4帧的各候补参照帧的亮度修正系数。
接着,运动估计部31a经由内部总线19及DRAM控制部12从参照帧存储区域7a~7d取得被决定为参照帧的候补参照帧,通过使用所取得的候补参照帧来搜索上述式(3)的绝对值差SAD为最小的x′及y′,从而进行运动矢量的检测(步骤S40)。
运动估计部31a基于检测到的运动矢量进行运动补偿,生成预测信号。并且,差分部32、DCT部33、量化部34及可变长度编码部35进行编码处理,逆量化部36及IDCT部37进行解码处理(步骤S41)。
根据上述实施方式,由于被用作参照帧的候补参照帧是摄影时的光源的亮度最高的帧、即S/N比为最高的高品质的帧,所以能够进行效率良好的编码。
《第3实施方式》
以下,参照附图对本发明的第3实施方式进行说明。其中,在本实施方式中,编码参数是进行编码对象的图像帧的编码的编码部。
第1及第2实施方式的摄像装置1、1a使用1个编码部进行编码,相对于此,第3实施方式的摄像装置1b使用3个编码部并行地进行编码。
<摄像装置的结构>
参照图7对本实施方式的摄像装置的结构进行说明。图7是本实施方式的摄像装置的结构图。其中,在本实施方式中,对于与第1实施方式的结构要素实质上相同的结构要素赋予相同的标号,由于能够采用其说明,所以在本实施方式中省略其说明。
摄像装置1b具备CCD照相机模块2、图像处理单元3b、DRAM4b、和存储卡5。
在DRAM4b中,有分别对应于图像处理单元3b内的编码部72、73、74的参照帧存储区域72a、73a、74a,在参照帧存储区域72a、73a、74a中分别存储有1帧的参照帧。
图像处理单元3b是用来将从CCD照相机模块2输入的图像编码的单元,以下,对图像处理单元3b进行说明。
[图像处理单元3b的结构]
图像处理单元3b如图7所示,具备处理器11、DRAM控制部12、存储卡控制部13、图像输入部14、帧亮度检测部15、闪烁波谱检测部16、亮度推测部17、分配部71、编码部72、73、74、合成部75和内部总线19。处理器11、DRAM控制部12、存储卡控制部13、图像输入部14、分配部71、编码部72、73、74及合成部75分别连接在内部总线19上。另外,亮度推测部17将光源的亮度推测值向分配部71输出。
分配部71对于各个编码部72~74,储存着在当前时刻正在执行编码的图像帧的摄像时的光源的亮度推测值,如果在当前时刻没有执行编码则储存着最近编码的图像帧的摄像时的光源的亮度推测值。
从亮度推测部17对分配部71输入编码对象的图像帧的摄像时的亮度推测值。分配部71将没有执行编码处理的编码部72~74中的、最近编码的图像帧的摄像时的光源的亮度推测值最接近于编码对象的图像帧的摄像时的光源的亮度推测值的编码部,决定为对编码对象的图像帧进行编码的编码部。并且,分配部71经由内部总线19及DRAM控制部12从输入帧存储区域6取得编码对象的图像帧,将取得的编码对象的图像帧及该编码对象的图像帧的摄像时的光源的亮度推测值,向所决定的编码部输出。并且,分配部71将对应于所决定的编码部而储存的光源的亮度推测值更新为编码对象的图像帧的摄像时的光源的亮度推测值。
编码部72、73、74分别是进行由CCD照相机模块2拍摄的、从分配部71输入的图像帧的编码、并将编码数据向合成部75输出的部件,其详细情况在后面叙述。另外,在本实施方式中,编码部72、73、74进行遵循MPEG-4AVC的动态图像编码。
合成部75将从编码部72、73、74输入的编码数据按照帧号码的顺序连结(concatenate)为一个编码数据,将所连结的编码数据经由内部总线19向存储卡控制部13输出。将该连结后的编码数据通过存储卡控制部13保存到存储卡15中。
(编码部72、73、74的结构)
参照图8对图7的编码部72进行说明。图8是图7的编码部72的结构图。另外,在图8中,为了图的简略化,将处于编码部72与DRAM4之间的内部总线19及DRAM控制部12省略。其中,在本实施方式中,作为编码部73、74,设为采用与编码部72实质上相同的结构及进行相同动作的编码部,在此情况下,由于能够采用编码部72的说明,所以在本实施方式中省略编码部73、74的说明。
编码部72具备运动估计部31b、差分部32、DCT部33、量化部34、可变长度编码部35、逆量化部36、和IDCT部37。
以下,设编码部72此后进行编码的图像帧的帧号码为n、设编码部72最近进行了编码的图像帧的帧号码为n-n′。
运动估计部31b推测从分配部71输入的帧号码n的图像帧的摄像时的光源的亮度推测值Yn的倒数,将亮度推测值Yn的倒数1/Yn作为帧号码n的图像帧的亮度修正系数Gn储存。另外,运动估计部31b在对帧号码n-n′的图像帧进行编码时,通过计算帧号码n-n′的图像帧的摄像时的亮度推测值Yn-i的倒数来计算帧号码n-n′的亮度修正系数Gn-n’(=1/Yn-n’),储存计算出的亮度修正系数Gn-n’。另外,该亮度修正系数Gn-n’是帧号码n-n′的参照帧的亮度修正系数。
接着,运动估计部31b经由DRAM控制部12及内部总线19从参照帧存储区域72a取得帧号码n-n′的参照帧。接着,运动估计部31b对于矩形区域的尺寸是l×m的各宏块,通过使用所取得的帧号码n-n′的参照帧来搜索上述式(2)的绝对值差SAD为最小的x′及y′,从而进行运动矢量的检测。并且,运动估计部31b使用检测到的运动矢量进行运动补偿,将通过运动补偿得到的预测信号向差分部32输出。
另外,在本实施方式中,可变长度编码部35将编码数据向合成部35输出,IDCT部37将解码后的帧号码n的图像帧作为参照帧保存到参照帧存储区域72a中。
<摄像装置1b的动作>
以下,参照图9对图7的摄像装置1b的动作进行说明。图9是表示图7的摄像装置1b进行的图像处理的步骤的流程图,表示对1个图像帧的处理的流程。
CCD照相机模块2及图像输入部14进行与步骤S1实质上相同的处理(步骤S51)。
帧亮度检测部15进行与步骤S2实质上相同的处理(步骤S52),闪烁波谱检测部16进行与步骤S3实质上相同的处理(步骤S53)。接着,亮度推测部17进行与步骤S4~S7实质上相同的处理(步骤S54~S57)。
分配部71如上述那样,从编码部72~74之中决定要进行图像帧的编码的编码部(步骤S58)。并且,分配部71经由内部总线19及DRAM控制部12从输入帧存储区域6取得编码对象的图像帧,将取得的编码对象的图像帧及该编码对象的图像帧的摄像时的光源的亮度推测值,向所决定的编码部输出(步骤S59)。另外,此时,分配部71将对应于所决定的编码部而储存的光源的亮度推测值,更新为编码对象的图像帧的摄像时的光源的亮度推测值。
在步骤S58中决定的编码部中,运动估计部31b根据从分配部71输入的编码对象的图像帧的亮度推测值,如上述那样求出该图像帧的亮度修正系数并储存。接着,运动估计部31b通过使用存储在参照帧存储区域中的参照帧来搜索上述式(2)的绝对值差SAD为最小的x′及y′,从而进行运动矢量的检测(步骤S60)。另外,参照帧的亮度修正系数在成为该参照帧的基础的图像帧的编码时被计算并被储存。
运动估计部31b基于检测到的运动矢量进行运动补偿,生成预测信号。并且,差分部32、DCT部33、量化部34及可变长度编码部35进行编码处理,可变长度编码部35将编码数据向合成部75输出,合成部75将输入的编码数据连结,经由内部总线19及存储卡控制部13保存到存储卡5中。此外,逆量化部36及IDCT部37进行解码处理,IDCT部37将解码后的图像帧作为参照帧经由内部总线19及DRAM控制部12保存到对应于自身的编码部的参照帧存储区域中(步骤S61)。
根据上述实施方式,将进行了亮度推测值最接近于编码对象的图像帧的摄像时的光源的亮度推测值的图像帧的编码的编码部,决定为进行编码对象的图像帧的编码的编码部,而且一边将编码对象的图像帧与参照帧的亮度差系数修正一边进行运动矢量的检测。由此,能够实现编码部的并行化带来的编码的处理速度的提高,并且能够在减少起因于摄影时的光源的亮度的变化的运动矢量的误估计的同时、进行效率良好的编码。
《补充》
本发明并不限于上述实施方式,例如也可以是以下这样。
(1)在上述第1及第3各实施方式中,运动矢量检测部31、31b在运动矢量的检测中使用式(2)的评价函数。但是,在运动矢量的检测中使用的评价函数并不限于上述式(2),例如也可以使用下述式(4)、(5)的评价函数。
[式4]
[式5]
此外,在上述第2实施方式中,运动矢量检测部31a在运动矢量的检测中使用式(3)的评价函数。但是,在运动矢量的检测中使用的评价函数并不限于上述式(3),例如也可以使用下述式(6)、(7)的评价函数。
[式6]
[式7]
(2)在上述第1至第3各实施方式中,为了判断荧光灯闪烁的成分的有无,闪烁波谱检测部16使用100Hz的波谱值及120Hz的波谱值,但并不限于此。例如,闪烁波谱检测部16也可以为了进行来源于电源频率50Hz的荧光灯闪烁的有无的判断而使用其2倍的频率(100Hz)的倍数(除了1倍以外)的频率(200Hz、300Hz、……)成分的波谱值。此外,闪烁波谱检测部16也可以为了进行来源于电源频率60Hz的荧光灯闪烁的有无的判断而使用其2倍的频率(120Hz)的倍数(除了1倍以外)的频率(240Hz、360Hz、……)成分的波谱值。
(3)在上述第1及第2各实施方式中,候补参照帧是过去4帧的图像帧,但并不限于此,候补参照帧也可以是过去N(N=2,3,5,6,……)帧的图像帧。
此外,在上述第3实施方式中,编码部的数量是3个,但并不限于此,例如编码部的数量也可以是N(N=2,4,5,……)。
(4)在上述第1及第2各实施方式中,在参照帧的决定中使用亮度修正系数,但并不限于此,例如也可以使用帧亮度值进行参照帧的决定。在此情况下,在第1实施方式中,运动估计部31只要从过去4帧的候补参照帧之中,将帧亮度值最接近于编码对象的图像帧的摄像时的帧亮度值的候补参照帧决定为参照帧就可以。此外,在第2实施方式中,运动估计部31a只要从过去4帧的候补参照帧之中将帧亮度值最大的候补参照帧决定为参照帧就可以。
此外,在上述第3实施方式中,分配部71使用图像帧的摄像时的光源的亮度推测值决定编码对象的图像帧的分配目的地,但并不限于此,例如分配部71也可以在编码对象的图像帧的分配目的地的决定中,使用图像帧的摄像时的光源的亮度推测值的倒数。
(5)作为上述第3实施方式的编码部72、73、74,也可以使用在第1及第2实施方式中说明的编码部18、18a,也可以使用其他的一般结构的编码部。此外,编码部72、73、74也可以使用不包含亮度修正系数的评价函数(例如式(3)、(6)、(7))作为评价函数。
(6)在上述第1至第3各实施方式中,设编码部18、18a、72、73、74为进行遵循MPEG-4 AVC的动态图像编码的结构,但并不限于此,只要是使用过去的图像帧作为参照帧的动态图像编码就可以,方式没有限制。
(7)在上述第1至第3各实施方式中,由帧亮度检测部15、闪烁波谱检测部16及亮度推测部17推测摄影时的光源的亮度,但并不限于此,例如也可以在摄像装置中设置照度传感器,通过照度传感器推测光源的亮度。
(8)在上述第1至第3各实施方式中,在闪烁的波谱值的检测中使用FFT,但并不限于此,只要是能够检测闪烁的波谱值的手段就可以。
(9)在上述第1实施方式中,使用对应于帧亮度值的亮度修正系数,进行参照帧的决定及运动矢量的检测这两者,但并不限于此,也可以仅在参照帧的决定及运动矢量的检测的任意一方中使用对应于帧亮度值的亮度修正系数。其中,在不使用亮度修正系数的一方中,通过将亮度修正系数看作固定值的1,能够采用以往的通常的编码技术。在仅在任意一方中使用亮度修正系数的情况下,与在两者中使用亮度修正系数的情况相比,虽然编码效率下降,但能够实现成本的削减。
(10)在上述第1至第3各实施方式中,使用亮度值(Y)及色相值(Cb、Cr),但并不限于此,例如只要是包含RGB数据或拜耳(Bayer)数据等与亮度有关的数据的值,可以原样或通过实施规定的变换而适用第1至第3各实施方式的方法。
(11)在上述第1至第3各实施方式中,以CCD照相机模块2进行亮度值(Y)的计算为前提进行了说明,但并不限于此,例如也可以与一般的摄像装置同样,图像输入部14进行亮度值(Y)的计算。在此情况下,虽然图像输入部14较难对应于多种图像传感器,但能够实现成本的削减。
(12)在上述第1至第3各实施方式中,使用CCD照相机模块2,但并不限于此,也可以代替CCD照相机模块2而使用例如CMOS图像传感器等其他摄像器件。
(13)也可以在上述第1至第3各实施方式中说明的摄像装置1、1a、1b中设置用来对执行在各实施方式中说明的编码处理的模式、和执行其他编码处理(例如通常的编码处理)的模式进行切换的机构,以及用户用来选择模式的模式选择按钮。
此外,也可以在摄像装置1、1a、1b中设置用来根据摄影的帧速率来对执行在各实施方式中说明的编码处理的模式、和执行其他编码处理(例如通常的编码处理)的模式进行切换的机构。
(14)上述第1至第3各实施方式等的结构典型地也可以实现为作为集成电路的LSI(Large Scale Integration:大规模集成电路)。它们既可以单独地单芯片化,也可以包含各实施方式的所有结构或一部分结构而单芯片化。
这里设为LSI,但根据集成度的差异,也有称作IC(Integrated Circuit:集成电路)、***LSI、超级(super)LSI、超大规模(ultra)LSI的情况。
此外,集成电路化的方法并不限于LSI,但也可以由专用电路或通用处理器实现。也可以使用在LSI制造后能够编程的FPGA(Field ProgrammableGate Array:现场可编程门阵列)、或能够再构成LSI内部的电路单元的连接及设定的可重构处理器。
进而,如果因半导体技术的进步或派生的其他技术而出现代替LSI的集成电路化的技术,则当然也可以使用该技术进行功能块的集成化。有可能是生物技术的应用等。
工业实用性
本发明能够在具有荧光灯闪烁的波谱检测功能、并进行动态图像编码的摄像装置中使用,特别是在具有高速度摄影功能的数字摄像机或数字照相机等的影像设备等的摄像装置中具有实用性。此外,还能够在面向这些摄像装置的LSI等的用途中应用。