はじめにその視覚特性と超解像度効果について説明する。
人の視覚は、受けた光の刺激の総和がある閾値になったとき光を知覚するという機能(以下、時間的積分機能と称する)を有している。すなわち光の知覚は、呈示時間内の光の刺激の分布状態に関係なく、時間的に積分された光の総和に従う。また光を知覚できる刺激(閾値)は、刺激の呈示時間が長くなるにつれて小さくなり、呈示時間が短くなるにつれて大きくなる。
この関係は、ブロックの法則(Bloch's law)として知られ、以下の式が成り立つ。式中、Iは、閾値としての刺激の強度であり、Tは、刺激の呈示時間であり、kは定数である。
I×T=k
またこの関係は、横軸を刺激呈示時間Tとし、縦軸を閾値(強度I)とすると、図1に示すように表すことができる。この曲線は、閾値呈示時間曲線として知られている。図1の閾値呈示時間曲線によれば、強度Iaの光がインパルス的に時間Taの間呈示された場合と、Iaの1/nの強度Ibの光がTaのn倍の時間Tbだけ連続して呈示された場合とでは、人は、同じ明るさを感じることになる。
なお、刺激の呈示時間のある時間(図1の例では時間TL)までは、ブロックの法則が成り立つが(時間TLまでは右下がりの直線になるが)、時間TLを越えると閾値が刺激の強度のみに依存するようになる(呈示時間によって変化しなくなり、その結果閾値呈示時間曲線は折れ線のような特性を示す)。ブロックの法則が成り立つ最大の刺激呈示時間TLは、臨界呈示時間と呼ばれている。この時間TLは、背景光の強度などの刺激呈示条件によって変化するが、およそ25ms乃至100msであるという報告がある。
ブロックの法則の詳細については、例えば、"視覚情報処理ハンドブック,日本視覚学会編,pp.219-220"などに記載されている。
人の視覚はまた、刺激を知覚すると、その刺激を、その刺激の呈示が終了した後もある時間記憶するという機能(以下、感覚記憶機能と称する)を有している。この時間については、10ms乃至200msであるという報告が多数されている。この機能は、アイコニックメモリーとか視覚的持続などとも呼ばれ、例えば、"視覚情報ハンドブック,日本視覚学界編,pp.229-230"などに記載されている。
次に、視覚特性に基づいて実現される超解像度効果について説明する。なお本発明における超解像度効果は、観測者が、ある時間内に複数の画像が加算されたものを知覚するという視覚特性を利用している。これは上記の時間的積分機能および感覚記憶機能が複雑に関係して引き起こされていると考えられるが、以下の説明においては、これを便宜上、時間的積分機能によるものとする。
例えば、水平方向に平行移動する被写体を、所定のフレームレート(以下、入力画像フレームレートと称する)および所定のサンプリングレート(以下、入力画像サンプリングレートと称する)で撮影すると、図2Aに示すような、被写体像Waが、速度v(ピクセル/フレーム)で、図面に向かって右方向(X軸方向)に移動する入力フレームFaが得られる。図2Aには、連続する4枚の入力フレームFa1乃至Fa4が図示されている。
このように得られた入力フレームFaを、X軸方向(被写体像Waの移動方向)に、入力画像サンプリングレートの、1/mのサンプリングレート(以下、表示画像サンプリングレートと称する)でサンプリングするものとする(間引き量mで間引きするものとする)。図2Aの場合、入力フレームFaが間引き量4で間引きされているので、図2Bに示すような、X軸方向の画素数が1/4になった(X軸方向に粗くなった)(画質が劣化した)表示フレームFbが得られる。表示フレームFbには、入力フレームFaの被写体像Waが間引き量4で間引きされた画像(以下、表示被写体像Wbと称する)が含まれている。
そしてこのように得られた表示フレームFbを、所定のフレームレート(以下、表示画像フレームレート)で表示するものとする。その結果観測者は、上述した時間的積分機能における積分時間内に表示された複数の表示フレームFbの積分画像を知覚する。
ここで観測者は、視線が、このように表示された表示フレームFb上の表示被写体像Wbを追従するように見るものとする。この場合観測者の視点は、常に表示被写体像Wbの中心に位置するので、観測者の網膜上の表示被写体像Wbはほぼ静止している。図2Bに示す座標軸Vx,Vyは、網膜上の座標を示し、座標軸X,Yは、フレーム上の座標を示している(ともに、図中表示フレームFb1上に示されているが、表示フレームFb2乃至Fb4についてはその図示は省略されている)。座標軸Vx,Vyは、網膜には実像の反転像が結像するため、座標系の向きは座標軸X,Yと逆になっている。
また表示フレームFbのサンプリングは、図3中の点線で示されているように、フレーム上一定の位置(この例の場合、4画素間隔の位置)がサンプルされる。したがって、移動量がサンプリング間隔の倍数と一致しない場合、サンプリングされる被写体像Waの位置は、フレーム毎にvずつずれるので、表示フレームFbの各表示被写体像Wbは、被写体像Waの、サンプリング位置のずれ分だけ異なる部分で形成される。
被写体像Waの移動速度vが、例えば1(ピクセル/フレーム)である場合、フレーム間の移動量(1ピクセル)がサンプリング間隔(4ピクセル)の倍数と一致しない。したがって、この場合、サンプリングされる被写体像Waの位置は、1画素ずつX軸方向にずれるので、表示フレームFbの各表示被写体像Wbは、被写体像Waの、その分だけ異なる部分から形成されることになる。
このように表示被写体像Wbが、被写体像Waの、サンプリング位置のずれ分だけ異なる部分から形成されている場合、その表示被写体像Wbが視覚系で複数フレームにわたって積分されることにより、表示被写体像Wbより画素が密になった画像(表示被写体像像Wbの解像度より高解像度(以下、超解像度と称する)の画像)が知覚される。
例えば、視覚特性における積分時間が、図2Bにおける4枚分の表示フレームFbの表示時間に相当し、表示フレームFa1乃至Fa4の4個の表示被写体像Wbが積分される場合、図2Cに示すような、表示被写体像Wbの解像度の約4倍、すなわち被写体像Waと同程度の解像度の画像が知覚される(元の解像度で知覚される)。
超解像度効果はこの原理によって実現されるが、間引き処理を施すと折り返し成分が発生し、それが折り返し歪みとなり画質が劣化する。そこで本発明では、以下に説明するようにその折り返し成分を取り除く工夫がなされている。
式(1)は、1次元の原信号f(x)を間隔Xで離散化した信号f
s(x)を表している。式(1)中、δ(x)はデルタ関数である。式(2)は、離散化信号f
s(x)のフーリエ変換F
s(ω)を表している。式(2)中、F(ω)は原信号f(x)のフーリエ変換であり、ω
sはサンプリング角周波数を表している。
・・・(1)
・・・(2)
式(3)は、原信号f(x)を、実空間においてφだけずらして間隔Xでの離散化を行った信号f
sφ(x)のフーリエ変換F
sφ(ω)を表している。
・・・(3)
式(3)は、k=0の基本波は原信号と同じになり、k=nのn次高調波は2πnφだけ位相がずれていることを示している。上述のように、被写体像Waがある移動速度vで平行移動しているとし、移動方向に1/mで間引きサンプリングする場合を考えると、原信号は表示フレームFbのナイキスト周波数のm倍の帯域を持っている。したがって、1/mで間引きサンプリングされたサンプリング信号fsφ(x)は折り返し成分を持っており、式(3)において、k=0は原信号成分となり、k=1,2,・・・,(m−1)は折り返し成分となる。
図4は、間引き量m=2としたときのフーリエ変換Fsφ(ω)を示している。このとき、原信号の帯域はナイキスト周波数の2倍となり、1/mで間引きサンプリングされたサンプリング信号fsφ(x)には1次高調波の折り返し成分が存在している。この図からわかるように、サンプリング信号fsφ(x)は原信号f(x)のフーリエ変換F(ω)成分をそのまま持っており、k=1における1次高調波F(ω-ωs)およびF(ω+ωs)が、それぞれ −2πφおよび 2πφだけ位相がずれて折り返している。
間引きサンプリング間隔が1/mの場合には、その1/mで間引きされたサンプリング信号fsφ(x)には1乃至(m−1)次の折り返し成分が存在し、それぞれの位相は2πkφだけずれていることになる。このサンプリング信号fsφ(x)は、φだけずれた原信号f(x)を1/mに間引きサンプリングした信号であるので、図2Bにおける任意の1表示フレームFbに相当すると考えられる。
ここで図2Bにおける時間的に異なる各表示フレームFbの信号について考える。被写体(原信号f(x))が速度vで平行移動している場合、図3で示したように、フレーム毎にサンプル点の位相がずれる。このことから、式(3)におけるサンプリング点のずれ量φは時間tの関数となっており、速度v(ピクセル/フレーム)と間引き量m(ピクセル)に依存して式(4)のようになる。式(4)中Tは、時間間隔を表しており、フレームレートの逆数である。
・・・(4)
式(4)は、t=0のときにずれ量φ0が0となり、t=T,2T,3T・・・と変化するにつれてずれ量がv/mずつ増えていくことを表している。式(4)を式(3)に当てはめると、各時刻における折り返し成分の位相が求められる。図5は、1次の折り返し成分の時刻t=0,T,2T,3T,・・・における位相を表している。図6は、2次の折り返し成分の、図7は、3次の折り返し成分の、そして図8は、4次の折り返し成分の時刻t=0,T,2T,3T,・・・における位相をそれぞれ表している。
このようにk次の折り返し成分は、時間、すなわちフレームが進むに従って、等間隔(2πkφT間隔)で回転し、時間t=(m/v)Tの時に位相0に戻る。また折り返し成分の次数が上がるに従って、位相の回転間隔が倍になっていく。
このように間引き量mでの間引き処理(間引きサンプリング)によって発生するk(=1,2,・・・,(m−1))次の折り返し成分の位相は、2πkφTで回転するので、位相の方向と積分される画像の数(合成される折り返し成分の数)によっては、折り返し成分が互いに打ち消される場合がある。言い換えれば、φtは、式(4)に示すように移動速度vと間引き量mに依存するので、移動速度vと間引き量m並びに積分される画像の数によって、折り返し成分が互いに打ち消される場合がある。
例えば、v=1である場合、m=4で間引きしたとき、表示フレームFbの画像には、図9に示すように、0(=2π×1×[(1/4)×0/T]),π/2(=2π×1×[(1/4)×(T/T)],π(=2π×1×[(1/4)×2T/T]、3/2π(=2π×1×[(1/4)×3T/T]),・・・で位相が変化する(π/2間隔で位相が変化する)1次の折り返し成分が存在する。なお図9においてt=4T以降の折り返し成分の図示は省略されている。後述する図10および図11においても同様である。
表示フレームFbの画像にはまた、図10に示すように、0(=2π×2×[1/4×0/T]),π(=2π×2×[1/4×T/T])、2π(=2π×2×[(1/4)×(2T/T)])、3π(=2π×2×[(1/4)×3T/T]),・・・で位相が変化する(π間隔で位相が変化する)2次の折り返し成分と、図11に示すように、0(=2π×3×[(1/4)×(0/T)]、3π/2(=2π×3×[(1/4)×(T/T)]、3π(=2π×3×[(1/4)×(2T×T)]),9π/2(=2π×3×[(1/4)×(3T/T)]),・・・で位相が変化する(3π/2間隔で位相が変化する)3次の折り返し成分が存在する。
この場合、t=0,T,2T,3Tそれぞれにおける1次乃至3次の折り返し成分のベクトルは、図9乃至図11に示したように、それぞれ互いに打ち消す方向を向いているので、視覚系で4枚分の表示フレームFbが積分される場合、それらはすべて打ち消される。
k次の折り返し成分が打ち消される条件を式で表せば、式(5)のようになり、式(5)をオイラーの公式により展開すれば、式(6),(7)のようになる。
・・・(5)
・・・(6)
・・・(7)
すなわち本発明では、被写体像Waの移動速度vに応じて、互いに打ち消される折り返し成分が発生するように間引き量mを決定することによって、折り返し成分を除去するようにしている。
ここで離散化信号fsφ(x)を帯域制限型のデジタルフィルタにより1/mに縮小する場合を考えると、φだけずれた原信号f(x)は折り返しが発生しないようにナイキスト周波数において帯域制限される。このため例えばm=2のとき、フーリエ空間は、図12に示すようになり、1/mに縮小された信号に対応する各フレーム画像は折り返し成分を含まない低解像度の画像となる。したがって、この場合には縮小信号の基本波は原信号とは異なる信号となっており、複数フレームの画像をどのように加算処理してもナイキスト周波数以上の周波数成分を表現することはできず、超解像度効果を得ることができない。したがってこのことから、超解像効果を得るためには、原信号を帯域制限しないことが重要であり、広帯域の空間周波数成分を持つ原画像を間引きサンプリングするのが最適である。
なお以上においては簡単のために、原信号が1次元信号の場合を例として説明したが、2次元画像においても同様である。また図2を参照して被写体像WaのX軸方向の移動を例として説明したが、Y軸方向の移動についても同様である。
次に互いに打ち消される折り返し成分の条件(超解像度効果を得ることができる画像の折り返し成分の条件)について説明する。
超解像度効果を得ることができるための条件は、式(5)が成立する、つまり式(6)および式(7)が成立することである。これは、図13に示すように、時刻tにおけるk次の折り返し成分をベクトルZk(t)とすると、視覚系の積分範囲におけるベクトルZk(t)和がゼロになることである。この条件の成立は、積分時間に依存するが、この積分時間は、観察環境によって変化することが知られている上に、それを正確に計測することが困難なため、この条件を満たす範囲を限定することは難しい。
一方、例えば、所定の移動速度vでX軸方向またはY軸方向に移動する被写体像Waを、所定の間引き量mでサンプリングして所定のフレームレート毎に表示し、表示された表示被写体像Wbを、観測者が実際に見て超解像度で知覚できたかを確認する実験から、フレームレートが高い、つまり積分される画像数が多ければ、間引き量mが大きくなっても超解像度効果が得られることがわかっている。このとき超解像度効果が得られる条件は、移動速度vに依存しており、およそ式(8)のような関係にあると考えられる。
2πn+α≦2πkφT≦2π(n+1)−α・・・(8)
前述のように、各折り返し成分の位相は2πkφT間隔で回転するが、式(8)は、その各次の折り返し成分の位相回転間隔が、2πの倍数に近いときには超解像度効果が得られないことを表している。図14に示すように、位相回転間隔が2πの倍数に近いということは、時刻tが変化しても折り返し成分の位相がほとんど変わらないことを意味しており、折り返し成分は打ち消されずに残ってしまうためである。
例えば、m=4のときに発生する1次乃至3次の折り返し成分について、式(8)の成立条件を検討すると、図15中、陰が付されている移動速度v(ピクセル/フレーム)の範囲では、式(8)が成立せず、超解像度効果を得ることができない。
この1次の折り返し成分については、例えば、v=4のとき、折り返し成分の位相回転間隔=2π×1×(4/4)(2πkφT)となり、折り返し成分の位相回転間隔は2πの1倍となるので、速度v=4を中心とする一定範囲(位相回転間隔が2πの倍数を中心とする2αの範囲となる速度の範囲)において、1次式の折り返し成分が打ち消されなくなる。すなわちv=4n(n=0,1,2,3,・・・)のとき、位相回転間隔は2πのn倍となるので、v=4nを中心とする一定範囲においては、1次式の折り返し成分は打ち消されない。
2次の折り返し成分については、例えば、v=2のとき、位相回転間隔=2π×2×(2/4)(2πの1倍)となり、そしてv=4のとき、位相回転間隔=2π×2×(4/4)(2πの2倍)となるので、速度v=2,4を中心とする一定範囲(位相回転間隔が2πの倍数を中心とする2αの範囲となる速度の範囲)において、2次式の折り返し成分が打ち消されなくなる。すなわちv=2nのとき、位相回転間隔は2πのn倍となるので、v=2nを中心とする一定範囲においては、2次式の折り返し成分は打ち消されない。
3次の折り返し成分については、例えば、v=4/3のとき、位相回転間隔=2π×3×(4/3)/4(2πの1倍)となり、v=8/3のとき、位相回転間隔=2π×3×(8/3)/4(2πの2倍)となり、そしてv=4のとき、位相回転間隔=2π×3×4/4(2πの3倍)となるので、速度v=4/3,8/3,4を中心とする一定範囲(位相回転間隔が2πの倍数を中心とする2αの範囲となる速度の範囲)において、3次式の折り返し成分が打ち消されなくなる。すなわちv=(4/3)nのとき、位相回転間隔は2πのn倍となるので、v=(4/3)nを中心とする一定範囲においては、3次式の折り返し成分は打ち消されない。
なお速度v=0のとき、位相回転間隔2πkφT=0となるので、1次乃至3次の折り返し成分のそれぞれは、v=0付近の一定範囲(0乃至vα1,0乃至vα2,0乃至vα3)において打ち消されなくなる。
m=3のときに存在する1次,2次の折り返し成分(図16)およびm=2のときに存在する1次の折り返し成分(図17)についても、m=4を例として上述したように、位相回転間隔が2πの倍数を中心とする2αの範囲内となる速度では、各次式の折り返し成分は打ち消されない。
また図13に示すように、折り返し成分の次数が上がるに従い、各次数における位相回転間隔は2倍、3倍と大きくなる。位相回転間隔をθとすれば被写体像Waの移動速度vが小さく、位相回転間隔θがαより小さいときには式(8)が成立せず超解像度効果は得られない。被写体像Waの移動速度vが上がり、位相回転間隔がαに達すると超解像度が得られる。このことから、αは超解像度効果が得られる臨界点(位相回転間隔)であると考えられる。このαは、表示画像フレームレートによって変化し、表示画像フレームレートが高いと小さくなる傾向にある。臨界点における被写体像Waの移動速度をv
αとすると、式(9)が得られ、それを変形すると式(10)が得られる。したがって表示画像フレームレートが高くなってαが小さくなると、速度v
α(図15の例の場合、v
α1、v
α2、またはv
α3)が小さくなり、その結果、移動量が小さくても超解像度効果が得られる。
・・・(9)
・・・(10)
また式(10)から、臨界点におけるvαは、間引き量mと折り返し成分の次数kに依存しており、間引き量mが大きくなると臨界点の速度vαも大きくなることがわかる。また次数kが大きくなると臨界点における速度vαは小さくなることから(図15の例の場合、vα2はvα1より小さく、vα3はvα2より小さくなることから)、高次の折り返し成分における超解像度効果が得られない領域は狭くなることがわかる。
以上をまとめると、視覚系における超解像度効果について以下のことが言える。・超解像度効果が得られる臨界点αは、高フレームレート表示において小さくなる。・間引き量がmのとき、1乃至m−1次の折り返し成分が式(8)を満たす必要がある。・間引き量mが小さくなると、臨界点における被写体像Waの速度vαは小さくなる(間引き量mが小さい場合には、移動量が小さくても超解像度効果が得られる)。
以上から、動画像の領域が高速で移動し、かつ動画像が高フレームレートであったときには、その領域の空間解像度を削減しても、超解像度効果により、観測者にその画質劣化を知覚させないようにすることができる。
なおこのように表示画像フレームレートを高くすることは超解像度効果を得るのに有利となるが、表示画像フレームレートを高くすれば、その他、動きぼけやジャーキネス等の画質劣化を改善することにも有利となる。
次に、本発明を適用した動画像処理装置の構成例を、図18を参照して説明する。この動画像処理装置は、上述した超解像度効果を利用した動画像変換処理を行うことにより、画質劣化を観測者が知覚しないように動画像変換を行うことができる。
動画像変換処理部11は、動画像変換処理部21および出力部22より構成されている。動画像変換処理部21には、MPEGでは処理できない高フレームレート(例えば、240fps)の動画が入力される。動画像変換処理部21は、入力された動画像をブロックに分割し、分割された個々のブロックに対して、上述した超解像度効果を利用した動画像変換処理を施し、入力された動画像を変換し、出力部22に供給する。
出力部22は、動画像変換処理部21によって処理された動画像のフレームレートを1/M (Mは自然数)に変換してMPEGでの処理が可能なフレームレートにし、符号化部12に供給する。
例えば入力のフレームレートが240fpsである場合、出力部22は、MPEGを適用可能な60fpsにする。すなわち、フレームレートを1/4にする。なお入力動画像のフレームレートは240fpsに限らず、どのようなフレームレートであっても良い。
符号化部12は、動画を圧縮可能であればどのようなものであっても構わないが、本実施例では、MPEG圧縮を行うことのできる既存の符号化器を備えており、入力された動画像をMPEG規格に準拠して符号化する。
復号部13は、復号器を備え、符号化されたデータを復号し、拡張部14に供給する。
拡張部14は、復号部13によって復号された動画像(フレームレートが1/Mにされた動画像)のフレームレートをM倍にし、元のフレームレートに戻して出力する。
次に、動画像変換処理部11の動画像変換処理部21および出力部22の詳細を、図19を説明する。
はじめに動画像変換処理部21について説明する。
動画像変換処理部21のブロック分割部31は、入力された動画像の各フレームをブロックに分割し、移動量検出部32に供給する。
移動量検出部32は、ブロック分割部31から供給された各ブロックについての移動量を検出し、ブロックとその移動量を、ブロック処理部33に送信する。
ブロック処理部33は、移動量検出部32から供給されたブロックに対して、その移動量に応じた動画像変換処理を施し、出力部22で適切にフレームレートを削減できるようにする。ブロック処理部33は、その処理が施されたブロックを、出力部22に供給する。
ブロック分割部31の詳細を説明する。
ブロック分割部31の画像蓄積部41には、動画像処理装置に供給された動画像のフレーム(例えば、フレームレートが240fpsのフレーム)が入力される。画像蓄積部41は、入力されたフレームを蓄積し、蓄積したフレームの数がN枚(Nは正の整数)になる度に、そのN枚のフレームを、ブロック分割部42に供給するとともに、N枚のフレームの中のK番目に記憶したフレーム(以下、K番目のフレームと称する)を、移動量検出部32(移動量検出部51)に供給する。なおこの例の場合N=4とする。
ブロック分割部42は、画像蓄積部41から供給されたN枚のフレーム(連続するN枚のフレーム)のそれぞれを、ある大きさ(例えば8×8、16×16)のブロックに分割し、移動量検出部32(ブロック分配部52)に出力する。ブロック分割部42はまた、N枚のフレームの中の、画像蓄積部41でP番目に記憶されたフレーム(以下、P番目のフレームと称する)の各ブロックを移動量検出部32(移動量検出部51)に供給する。P番目のフレームは、K番目のフレームと異なるフレームである。
次に、移動量検出部32について説明する。
移動量検出部32の移動量検出部51は、ブロック分割部31のブロック分割部42から供給されたP番目のフレームの各ブロックの動きベクトルを、画像蓄積部41から供給されたK番目のフレームを参照して検出し、ブロック分配部52に供給する。なおこの例の場合、K=2で、P=3とするので、動きベクトルは、1フレーム間の水平方向(X軸方向)および垂直方向(Y軸方向)の移動量を表している。
ここで移動量検出部51の構成を図20に示す。拡大処理部61は、ブロック分割部42から供給されたP番目のフレームの各ブロックの縦横を、それぞれ、例えば2倍に拡大する。拡大処理部62は、画像蓄積部41から供給されたK番目のフレームの縦横をそれぞれ2倍に拡大する。
なお拡大処理部61および62で画像を拡大するのは、移動量の検出精度を向上させるためである。したがってここではその倍率を2としたが、それをさらに大きな値にすることにより、移動量検出の精度をさらに向上させることができる。また拡大処理部61および62を設けずに、画像拡大を省略して移動量検出を行うこともできる。
ブロックマッチング部63は、拡大処理部61および62でそれぞれ拡大された画像を利用して、P番目のフレームの各ブロックの動きベクトルを検出する。
具体的にはブロックマッチング部63は、拡大処理部61から供給されたP番目のフレームのブロック(検索対象ブロック)と拡大処理部62から供給されたK番目のフレーム(参照フレーム)の探索領域内の任意ブロックを比較し、平均二乗誤差が最小になる、K番目のフレームのブロック位置を検出する。そしてブロックマッチング部63は、P番目のフレームの検索対象ブロックと検出したK番目のフレームのブロックを結ぶベクトルを動きベクトルとし、それを、ブロック分配部52に供給する。
なお、この例では、N個のフレーム中のP番目のフレームとK番目のフレームを用いて(連続する2フレームを用いて)移動量を算出したが、例えばN個のフレームの全フレームという選択を含むどのようなフレームの組み合わせで移動量を算出しても構わない。
図19に戻り、移動量検出部32のブロック分配部52には、ブロック分割部42から、N個単位でブロック(N枚のフレームのそれぞれの同一位置にある合計N個のブロック)が供給され、移動量検出部51から、そのN個のブロックの中のP番目のフレームのブロックの移動量が供給される。ブロック分配部52は、供給されたN個のブロックと移動量を、ブロック処理部33の、その移動量に対応する処理を行うブロック処理部71−1乃至71−3(以下、個々に区別する必要がない場合、単に、ブロック処理部71と称する。他の部分についても同様である)の中のいずかに供給する。
具体的にはブロック分配部52は、移動量検出部51から供給された、1フレーム間の水平方向(X軸方向)または垂直方向(Y軸方向)の移動量が2ピクセル以上である場合、ブロック分割部42から供給されたN個のブロックと移動量検出部51から供給された移動量を、ブロック処理部71−1に出力する。また、1フレーム間の水平方向と垂直方向の移動量がともに2ピクセル未満で、かつ1ピクセル以上の場合、ブロック分配部52は、N個のブロックと移動量を、ブロック処理部71−3に出力する。移動量がそのほかの場合には、ブロック分配部52は、N個のブロックと移動量をブロック処理部71−2に供給する。
すなわちブロック分配部52は、移動量検出部51から供給された移動量に基づき、最適なフレームレートおよび空間解像度を決定し、そのフレームレートおよび空間解像度にしたがって画像データを変換する処理を行うブロック処理部71に、ブロック画像を分配する。
ブロック分配部52は、移動量検出部51からの移動量に対応する情報、すなわちブロックがいずれのブロック処理部71でのブロック処理がなされたかを示す情報(以下、ブロック処理情報と称する)を、符号化部53に供給する。符号化部53は、ブロック分配部52から供給されたブロック処理情報を符号化して、符号化部12に供給する。
ブロック分割部52の分配先決定方法として、より時間方向に安定した、別の分配先決定方法を採用することも可能である。時間方向でブロックの分配先が安定していないということ、すなわち、空間上のある特定位置のブロックの分配先が時間の経過とともに頻繁に変わるということは、そのブロックに施される処理が頻繁に変化することを意味する。そのような状況においては画質の劣化が発生する可能性が考えられるが、ブロック分配部52に対して図21のように遅延器54を追加し、分配先決定のための条件をより時間方向に安定したものへと変更することで、画質の劣化を抑制することができる。
図21のブロック分配部52は具体的には以下のようにブロックの分配先を決定する。まず、ブロック分配部52に遅延器54より過去のブロック処理情報が供給される。過去のブロック処理情報とは、現在処理中のフレームが仮にn、 n+1、 n+2、 …、n+N-1番目のフレームであるとした場合、既に処理を行ったn-N、 n-N+1、 n-N+2、 …、n-1番目のフレームに関するブロック処理情報である。つづいてブロック分配部52は供給された過去のブロック処理情報を参照し、現在処理中のブロックと空間的に同一位置にあるブロックが過去いずれのブロック処理部71に分配されたのかを確認する。
現在処理中のブロックが過去においてブロック処理部71−1に分配されていた場合、移動量検出部51から供給された、1フレーム間の水平方向または垂直方向の移動量がVsピクセル以上であれば、ブロック分割部42から供給されたN個のブロックと移動量検出部51から供給された移動量がブロック処理部71−1に出力される。
現在処理中のブロックが過去においてブロック処理部71−3に分配されていた場合、移動量検出部51から供給された、1フレーム間の水平方向または垂直方向の移動量がVtピクセル未満であれば、ブロック分割部42から供給されたN個のブロックと移動量検出部51から供給された移動量がブロック処理部71−3に出力される。
現在処理中のブロックが過去においてブロック処理部71−2に分配されていた場合、移動量検出部51から供給された、1フレーム間の水平方向または垂直方向の移動量がVts1ピクセル以上かつVts2ピクセル未満であれば、ブロック分割部42から供給されたN個のブロックと移動量検出部51から供給された移動量がブロック処理部71−2に出力される。
また、上記の条件に当てはまらない場合には既述の条件、つまり、移動量検出部51から供給された、1フレーム間の水平方向または垂直方向の移動量が2ピクセル以上の場合はブロック処理部71−1へ、1ピクセル未満の場合はブロック処理部71−3へ、それ以外の場合は71−2へN個のブロックと移動量検出部51から供給された移動量が供給される。過去のブロック処理情報が存在しない場合も同様である。
なお移動量Vt、 Vs、 Vts1、Vts2には以下のような関係がある。
Vts1 ≦ Vt
Vts1 ≦ Vts2
Vs ≦ Vts2
上記を満たすようなVt、 Vs、 Vts1、Vts2を設定することで、時間の経過とともにブロックに施される処理が頻繁に変わることを防ぐことができる。なお、分配先決定のためのこの条件あくまでも一例であり、他の条件で分配先を決定してもよい。
次にブロック処理部33について説明する。ブロック処理部33は、この例の場合、3個のブロック処理部71−1乃至71−3で構成されている。
ブロック処理部71−1は、移動量検出部32のブロック分配部52から供給された、連続するN枚のフレームのそれぞれの同一位置にある合計N個のブロック(水平方向または垂直方向の移動量が2ピクセル以上である場合のN個のブロック)に対して、画素数を、同様にブロック分配部52から供給された移動量に応じて間引く処理(空間方向間引き処理)を行う。
具体的には、1フレーム間の水平方向の移動量が2ピクセル以上である場合、ブロック処理部71−1は、ブロックが8×8ピクセルで構成されているとき、図22に示すように、各ブロック内の画素を、1×4ピクセル単位の集合に分割する。そしてブロック処理部71−1は、図23に示すように、各ブロックの1×4ピクセルの集合を、集合の画素値p1乃至p4の中のいずれかの画素値(例えば、p1)に統一する画素数の間引き(4画素間の画素数の間引き)(間引き量4の間引き)を行う。
1フレーム間の垂直方向の移動量が2ピクセル以上である場合、ブロック処理部71−1は、図24に示すように、各ブロック内の画素を、4×1ピクセル単位の集合に分割し、その集合を、集合の画素値p1乃至p4の中のいずれかの画素値に統一する画素数の間引きを行う。
例えば、各フレームのブロックBiの4×1ピクセルの集合は、図25に示すように、例えば画素値p1に統一される。
また1フレーム間の垂直および水平方向の移動量がともに2ピクセル以上である場合、ブロック処理部71−1は、図26に示すように、各ブロック内の画素を、2×2ピクセル単位の集合に分割し、その集合を、集合の画素値p1乃至p4の中のいずれかの画素値にそれぞれ統一する画素数の間引きを行う。
例えば、各フレームのブロックBiの2×2ピクセルの集合は、図27に示すように、例えば画素値p1に統一される。
なおここでは、ブロックの移動量が2ピクセル以上である場合、動画像処理装置に入力された動画像のフレームレートとの関係において、間引き量4の間引きを行った場合に超解像度効果を得るができるものとする。したがって、移動量が2ピクセル以上である場合に、間引き量4の間引きを行っても、超解像度効果により、観測者は、間引きによる(データ削減による)画像劣化を知覚しない(間引き前の解像度で画像を認識する)。
またここでは、N=4の場合を例として説明したが、Nが他の値であっても同様な処理が行われる。
また、各集合の画素値を、例えば図23に示した場合の他、他の画素値に統一してもよい。またp1乃至p4を用いた計算によって新たに得られる画素値に統一することもできる。
さらに、この例では、画素数の間引きによって空間方向の圧縮を行ったが、フィルタリングによる空間方向の帯域制限を行っても構わない。
図19に戻りブロック処理部71−2は、移動量検出部32のブロック分配部52から供給された、連続するN枚のフレームのそれぞれの同一位置ある合計Nブロック(水平方向と垂直方向の移動量がともに1ピクセル未満である場合のN個のブロック)に対して、フレーム数を間引く処理(時間方向間引き処理)を行う。
具体的にはブロック処理部71−2は、図28に示すように、連続する4枚のフレームF1乃至F4のそれぞれの同一位置ある4個のブロックBiを、その中の1つのブロック(この例の場合、フレームF1のブロックBi)に統一にするフレーム数の間引き(4フレーム間のフレーム数の間引き)を行う。
図28の例では、4個のフレームF1乃至F4のそれぞれのブロックBiが、フレームF1のブロックBiに統一されたが、他のフレームのブロックに統一されるようにしてもよい。またフレームF1乃至F4のブロックBiを用いた演算によって新たに得られたブロックに統一されるようにしてもよい。さらに、この例では、フレーム数の間引きによって時間方向の圧縮を行ったが、フィルタリングによる時間方向の帯域制限を行っても構わない。
ブロック処理部71−3は、移動量検出部32のブロック分配部52から供給された、連続するN枚のフレームのそれぞれの同一位置ある合計N個のブロック(水平方向と垂直方向の移動量が1ピクセル以上で、2ピクセル未満である場合のN個のブロック)に対して、画素数の間引き処理(空間方向間引き処理)とフレーム数の間引き処理(時間方向間引き処理)をそれぞれ行う。
ブロック処理部71−3の動作を、具体的に説明する。
この場合ブロック処理部71−3に供給されるブロックの移動速度は、間引き量=4における超解像度効果を得るための条件を満たさない。したがって画素数の間引き処理(水平方向および垂直方向の間引き処理)において、ブロック処理部71−3は、ブロック処理部71−1における間引き処理とは異なり、図29および図30に示すように、各ブロックの集合を、2個の画素値に統一する画素数の間引き(2画素間の画素数の間引き)(間引き量2の間引き)を行う。
次に、フレーム数の間引き処理においては、ブロック処理部71−3は、ブロック処理部71−2における間引き処理と異なり、図31に示すように、連続する4枚のフレームF1乃至F4のぞれぞれの同一位置にある合計4個のブロックBiのそれぞれを、その中のいずれか2つ(いまの場合、フレームF1,F3の2個のブロック)に統一するフレーム数の間引きを行う(2フレーム間のフレーム数の間引き)を行う。
なおここでは空間方向間引きの後、時間方向間引きが行われる場合を示したが、その順序は、いずれが先に行われても同一の結果が得られるので、どちらを先に行ってもよい。
ここで動画像変換処理部21の移動量検出部32およびブロック処理部33の動作を、図32のフローチャートを参照して説明する。
ステップS1において、移動量検出部32の移動量検出部51は、ブロック分割部31のブロック分割部42から、この動画像処理装置に連続して入力された4枚のフレームの中のP番目のフレームの各ブロック(検索対象ブロック)の供給と、画像蓄積部21から、K番目のフレーム(参照フレーム)の供給を受け、それを入力する。
次に、ステップS2において、移動量検出部51は、P番目のフレームのブロックの中の1つを検索対象ブロックとするとともに、その検索対象ブロックの動きベクトルを、参照フレームを参照して検出する。移動量検出部51は、検出した動きベクトルをブロック分配部52に供給する。
ステップS3において、ブロック分配部52は、移動量検出部51から供給された動きベクトルの水平方向(X軸方向)または垂直方向(Y軸方向)の大きさ(1フレーム間のX軸方向またはY軸方向の移動量)が、2ピクセル以上であるか否かを判定し、少なくとも一方の移動量が2ピクセル以上であると判定した場合、ステップS4に進む。
ステップS4において、ブロック分配部52は、移動量検出部51からの移動量と、それに対応してブロック分割部42から供給された、連続する4枚のフレームのそれぞれの同一位置にあるN個のブロックとを、ブロック処理部33のブロック処理部71−1に供給する。これによりブロック処理部71−1は、ブロック分配部52から供給された4個のブロックに対して、図22乃至図27に示したような、4画素間の画素数の間引き処理を施し、その結果得られた4個のブロックを、出力部22に供給する。
ステップS3で、いずれの移動量も2ピクセル以上ではないと判定された場合、ステップS5に進み、ブロック分配部52は、X軸方向とY軸方向の移動量がともに1ピクセル未満であるか否かを判定し、ともに1ピクセル未満であると判定した場合、ステップS6に進む。
ステップS6において、ブロック分配部52は、ブロック分割部42からのN個のブロックと移動量検出部51からの移動量を、ブロック処理部71−2に供給する。ブロック処理部71−2は、ブロック分配部52から供給されたN個のブロックに対して、図28に示したような、4フレーム間のフレーム数の間引き処理を施し、その結果得られた4個のブロックを、出力部22に供給する。
ステップS5で、X軸方向およびY軸方向の移動量がともに1ピクセル未満ではないと判定された場合(移動量が1ピクセル以上で、2ピクセル未満の場合)、ステップS7に進み、ブロック分配部52は、ブロック分割部42からの4個のブロックと移動量検出部51からの移動量を、ブロック処理部71−3に供給する。これによりブロック処理部71−3は、ブロック分配部52から供給された4個のブロックに対し、図29乃至図31に示したような、2画素間の画素数の間引き処理と2フレーム間のフレーム数の間引き処理を施し、その結果得られた4個のブロックを、出力部22に供給する。
以上の処理が、ブロック分割部31から4枚のフレームの各ブロックが供給される毎に行われる。
なお図19の例においては、ブロック処理部71が並列に接続されていたが、図33に示すように直列に接続することも可能である。この場合、移動量検出部32により検出された動きベクトルに基づき制御部151が、各ブロック処理部71を制御する。すなわち制御部151より処理の実行の指令が入力されたブロック処理部71は、ブロック分割部31または前段のブロック処理部71から供給されたブロックに対して上述した所定の処理を施し、その結果得られたデータを、後段のブロック処理部71または出力部22に供給する。また制御部151より処理実行の指令が入力されないブロック処理部71は、ブロック分割部31または前段のブロック処理部71から供給されたデータを、後段のブロック処理部71または出力部22にそのまま出力する。
以上のように動画像変換処理部21は構成されている。
次に、出力部22の詳細を説明する。
3個のパック処理部81−1乃至81−3には、それぞれ対応する、動画像変換処理部21のブロック処理部71−1乃至71−3から、所定の処理が施されたブロックが供給される。各パック処理部81は、入力元となるブロック処理部71によって異なる処理を行う。
パック処理部81−1は、ブロック処理部71−1から供給された4個のブロックから1個のブロックを生成する。その結果、フレーム数は、1/4に削減される。
具体的には、図34に示すように、ブロック処理部71−1から供給される、ブロック処理後のフレームF1のブロックBiの1×4ピクセルの集合が、画素値p1に、ブロック処理後のフレームF2のブロックの1×4ピクセルの集合が、画素値p2に、ブロック処理後のフレームF3のブロックの1×4ピクセルの集合が、画素値p3に、そしてブロック処理後のフレームF4のブロックの1×4ピクセルの集合が、画素値p4にそれぞれ統一されているので、パック処理部81−1は、出力するブロック(フレームFoutのブロックBi)の対応する1×4ピクセルの画素値を、ブロック処理後の各集合に設定された画素値p1,p2,p3,p4のそれぞれとする。
図34では、ブロック処理部71−1で水平方向の間引き処理、つまり、1×4ピクセルに対する間引き処理が行われたが、4×1ピクセル単位、2×2ピクセル単位の間引き処理がなされた場合も同様の処理が行われる。
なお、図34においては画素値p1乃至p4を、左から順に並べて1個のブロックを生成したが、並べる順序については、どのようなものであっても構わない。
パック処理部81−2は、ブロック処理部71−2から供給された4個のブロックから1個のブロックを生成し、ブロック合成部82に出力する。その結果、フレーム数は、1/4に削減される。
具体的には、ブロック処理部71−2からは、ブロック処理前の4個のブロックの中の1個のブロックと同じ4個のブロックが供給されるので、パック処理部81−3は、その4個のブロック(同じデータのブロック)の中の任意の1個を選択して出力する。
パック処理部81−3は、ブロック処理部71−3から供給された4個のブロックから1個のブロックを生成し、ブロック処理部82に出力する。その結果、フレーム数は、1/4に削減される。
具体的には、図35に示すように、ブロック処理部71−3から供給される、ブロック処理後のフレームF1のブロックの1×2ピクセルの集合が、画素値p1に統一され、ブロック処理後のフレームF2のブロックの1×2ピクセルの集合が、フレームF1のブロックBiのそれと同一にされ、ブロック処理後のフレームF3のブロックの1×2ピクセルの集合が、画素値p2に統一され、そしてブロック処理後のフレームF4のブロックBiの1×2ピクセルの集合が、ブロック処理後のフレームF3のブロックBiのそれと同じにされているので、パック処理部81−1は、出力するブロック(フレームFoutのブロックBi)の対応する1×2ピクセルの画素値を、例えば、ブロック処理後のフレームF2のブロックBiとフレームF3のブロックBiの各集合に設定された画素値p1,p2のそれぞれとする。
なお、図35では1×2ピクセル単位での間引き処理について示したが、2×1ピクセル単位で処理を行う場合も同様である。さらに、図35の例では、p1を左側にp2を右側に配置したがこれらは逆であっても構わない。
ブロック合成部82は、各パック処理部81の出力を統合して一つの動画像を構成し出力する。本実施例では、この出力はMPEG処理を行う符号化部12に供給する。
以上のように出力部22は構成されている。
次に、符号化部12の詳細を説明する。
図36は、符号化部12の構成例を示している。
符号化器101は、MPEGのエンコーダである。符号化器101には、動画像変換処理部11の出力部22から、フレームレートが1/Mにされた(MPEGで処理できるフレームレートの)ブロックが供給されるので、符号化器101は、それをMPEG規格に準拠して符号化し、マルチプレクサ102に供給する。
マルチプレクサ102には、符号化器101からのブロックの符号化データと、動画像変換処理部21からの、ブロック処理情報の符号化データがそれぞれ入力される。
マルチプレクサ102は、符号化器101から入力された動画像の符号化データと、移動量情報の符号化データを多重化し、復号部13に出力する。多重化の方法としてはどのような方法を用いても良いが、例えば動画像の符号化データに、ブロック処理情報の符号化データをつなげる程度でも良い。
図37は、符号化部12の他の構成例を示している。
符号化部12に供給された動画像とブロック処理情報の符号化データは、マルチプレクサ102に供給される。マルチプレクサ102は、それらを多重化して、符号化器101に供給する。符号化器101は、それらを符号化して、復号部13に供給する。
すなわちこの例は動画像とブロック処理情報の多重化を先に行い、その後MPEGによる符号化を施す方式である。多重化の方法としては例えば電子透かしなどを用いた方法などがあるが、実際はどのような方法でも良い。
図38は、符号化部12の他の構成例を示している。
符号化部12に供給された動画像は、符号化器101に供給されるが、ブロック処理情報の符号化データは、符号化部12および復号部13を通過して、そのまま拡張部14に供給される。
すなわちこの例の場合、動画像とブロック処理情報は多重化されずに、それぞれ別個に取り扱われる。
復号部13の詳細を説明する。その構成例は、図36乃至図38に示されている。
図36の復号部13のデマルチプレクサ111は、符号化部12のマルチプレクサ102から出力された多重化データを分解し、動画像を復号器112に出力し、ブロック処理情報の符号化データを拡張部14に出力する。
復号器112はMPEGのデコーダである。復号器112は、デマルチプレクサ111から入力された動画像の符号化データをデコードし、その結果得られた動画像を、拡張部14に出力する。
図37の復号部13の復号器112は、符号化部12の符号化器101から出力された多重化された動画像およびブロック処理情報の符号化データを復号し、その結果得られたデータをデマルチプレクサ111に出力する。
デマルチプレクサ111は、復号器112から入力された多重化データを分解し、その結果得られた動画像とブロック処理情報の符号化データを、拡張部14に出力する。
図38の復号部13の復号器112は、符号化部12の符号化器101から入力された動画像の符号化データをデコードし、その結果得られた動画像を拡張部14に出力する。符号化部12から入力されたブロック処理情報の符号化データは、そのまま拡張部14に出力される。
次に、拡張部14の詳細を、図39を参照して説明する。拡張部14は、動画像変換処理部11の出力部22によって1/Mとなった動画像のフレームレートをM倍するための処理を行う。
復号器121には、復号部13から供給された、ブロック処理情報の符号化データが入力される。復号器121は、入力されたブロック処理情報の符号化データを復号し、ブロック分配部122に出力する。
ブロック分配部122には、復号部13からの動画像のブロック画像と、復号器121からのブロック処理情報が入力される。ブロック分配部122は、ブロック処理情報に基づいて、動画像のブロックを、フレーム拡張部123−1乃至123−3のいずれか1個の分配する。
具体的には、ブロック分配部122は、ブロック処理情報が、パック処理部81−1によって処理されたブロックである旨を表している場合、その情報と対応して、入力されたブロックを、フレーム拡張部123−1に供給する。ブロック処理情報が、パック処理部81−2によって処理されたブロックである旨を表している場合、ブロック分配部122は、その情報と対応して、入力されたブロックを、フレーム拡張部123−2に供給する。ブロック処理情報が、パック処理部81−3によって処理されたブロックである旨を表している場合、その情報と対応して、入力されたブロックを、フレーム拡張部123−3に供給する。
フレーム拡張処部123−1乃至123−3は、出力部22のパック処理部81−1乃至81−3のそれぞれに対応する処理を行う。
フレーム拡張部123−1は、例えば、図34に示すフレームFout1のブロックBiが入力されると、その1×4ピクセルの集合の各画素値p1,p2,p3,p4で統一された1×4ピクセルの集合を有する4個のブロック(フレームF1乃至F4のそれぞれのブロックBiに相当するブロック)を生成し、ブロック合成部124に出力する。
フレーム拡張部123−2は、入力された1つのブロックを単純に4回出力することで4枚のフレームに対応する4個のブロックを生成し、ブロック合成部124に出力する。
フレーム拡張部123−3は、例えば、図35示すフレームFoutのブロックBiが入力されると、その1×2ピクセルの集合の各画素値p1,p2で統一された1×2ピクセルの集合を有する2個のブロックを生成し、そしてそのブロックをそれぞれ2回出力することで4枚のフレームに対応する4個のブロック(フレームF1乃至F4のそれぞれのブロックBiに相当するブロック)を生成し、ブロック合成部124に出力する。
ブロック合成部124は、フレーム拡張部123−1乃至123−4のそれぞれから入力される4枚のフレームのそれぞれに対応する4個のブロックを適宜合成し、4枚のフレームを生成し、それを出力する。
以上のようにして本実施例の動画像処理装置から得られた動画像は、そのフレームレートは60fpsとなっており、通常のMPEGを適用することが可能である。また,本動画像処理装置の行った変換処理によりデータ量は削減されており、かつ、その変換は人間の視覚特性上認識しづらいという特徴を持っているため、主観的な画質の劣化を抑制することができる。
なお、本明細書において、記録媒体により提供されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。