以下、本発明に係る画像信号処理装置及び方法の実施の形態について、図面を参照して詳細に説明する。
図1は、本発明に係る画像信号処理装置及び方法を応用したデジタルビデオカメラ等の動画像圧縮記録装置の一実施の形態の構成例を示すブロック図である。
撮像装置1は、所定の被写体の画像を撮像し、対応する画像信号を出力するようになされている。A/D変換器2は、撮像装置1からの画像信号をデジタルの画像データに変換し、圧縮装置3およびカメラ圧縮制御装置6に供給するようになされている。圧縮装置3は、A/D変換器2からの画像データに対して符号化処理を施し、符号化されたビットストリームを書き込み装置4に供給するとともに、動きベクトル等の情報をカメラ圧縮制御装置6に供給するようになされている。
書き込み装置4は、圧縮装置3より供給される符号化された画像データのビットストリームを磁気テープ、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリ等の記録媒体5に書き込むようになされている。
カメラ圧縮制御装置6は、主に圧縮装置3とのエンコードパラメータのやり取りや、書き込み装置4への記録の開始・停止等の制御を担っている。
図1に示した動画像圧縮記録装置は、例えば蓄積メディアを使って記録再生するディジタルビデオカメラとしての応用はもちろん、静止画処理に対応したディジタルスチルカメラの機能にも利用可能である。
図2は、図1に示した動画像圧縮記録装置の圧縮装置3の詳細な構成例を示すブロック図である。
図2の圧縮記録装置は、入力画像に対して適当な解像度・画素数変換を施す前処理装置11、フレーム間の動き量を求める動きベクトル検出装置14、符号化を行ってビットストリームを生成する符号化装置17に大きく分けられる。
前処理装置11は、入力されるデジタル画像信号を図1のカメラ圧縮制御装置6から供給される圧縮制御信号に基づいて、符号化する対象画像に適した解像度変換すなわち周波数変換を行うフィルタ演算器12と、画素数変換すなわち標本化数変換を行う間引き処理器13とで構成される。
動きベクトル検出装置14は、画像データを一時的に蓄えるフレームメモリ15と、順方向および逆方向のフレーム間の動きベクトルを検出する動き検出器16により構成され、前処理装置11からの画像データから、動きベクトル、即ち、フレーム間の動き量を検出し、符号化装置17に供給するようになされている。
符号化装置17は、動きベクトル検出装置14より供給される動きベクトルに基づいて、前処理装置11からの画像データに対して符号化処理を施したビットストリームを、図1の書き込み装置4に供給するようになされている。即ち、符号化装置17を構成する離散コサイン変換(discrete cosine transformation;DCT)器20は、加算器18を介して供給される画像データに対して離散コサイン変換処理を行い、量子化器21に供給するようになされている。量子化器21は、DCT器20からの画像データに対して量子化処理を施し、可変長符号化器27および逆量子化器22に供給するようになされている。
逆量子化器22は、量子化器21より供給される量子化された画像データに対して、逆量子化処理を施し、逆DCT器23に供給するようになされている。逆DCT器23は、逆量子化器22からの逆量子化された画像データに対して逆DCT変換を施した後、加算器24に供給するようになされている。加算器24は、逆DCT器23からの画像データと、後述する動き補償器26からの動き補償された画像データとを加算し、フレームメモリ25に供給するようになされている。
フレームメモリ25は、加算器24からの画像データを記憶し、動き補償器26に供給する。動き補償器26は、フレームメモリ25からの画像データに対して動き補償を行い、加算器24に供給するとともに、スイッチ19を介して加算器18にも供給するようになされている。
可変長符号化器27は、量子化器21からの画像データに対して、可変長符号化処理を行い、バッファ28に供給するようになされている。バッファ28は、可変長符号化器27からの画像データを一旦記憶し、量子化制御器29に供給するようになされている。量子化制御器29は、バッファ28より供給された可変長符号化された画像データをカメラ圧縮制御装置6に供給するようになされている。また、カメラ圧縮制御装置6からの圧縮制御信号に基づいて、量子化器21に対して量子化のレートを制御するためのレート制御信号を供給するようになされている。
次に、圧縮装置3の動作について説明する。撮像装置1により撮像された被写体の画像に対応する画像信号は、A/D変換器2においてデジタルの画像データに変換されて圧縮装置3に供給される。
圧縮装置3に供給された画像データは、圧縮装置3を構成する前処理装置11に入力される。そして、前処理装置11を構成するフィルタ演算器12において、カメラ圧縮制御装置6からの圧縮制御信号に基づいて、入力された画像データに適した解像度・画素数変換、即ち周波数特性を変換する処理が施され、間引き処理器13に供給される。間引き処理器13に供給された画像データは、間引き処理器13により圧縮制御信号に基づいて、入力された画像データに適した画素数変換、即ち標本化数を変換する処理が施され、符号化装置17および動きベクトル検出装置14に供給される。
前処理装置11の間引き処理器13より動きベクトル検出装置14に供給された前処理装置11からの画像データは、動きベクトル検出装置14を構成するフレームメモリ15に一旦記憶される。そして、動きベクトル検出器16により、フレームメモリ15に記憶された画像データが読み出され、順方向および逆方向のフレーム間の動きベクトルが検出される。動きベクトル検出装置14において検出された動きベクトルは、符号化装置17を構成する動き補償器26に供給される。
また、前処理装置11の間引き処理器13より符号化装置17に供給された画像データは、加算器18において、後述するように、スイッチ19を介して供給される動き補償器26からの動き補償された画像データによって減算され、DCT器20に供給される。DCT器20に供給された画像データは、離散コサイン変換が施され、量子化器21に供給される。量子化器21に供給された画像データは、量子化された後、可変長符号化器27および逆量子化器22に供給される。
逆量子化器22に供給された画像データは逆量子化処理が施され、次に、逆DCT器23において逆DCT処理が施され、画像データが再構築される。この再構築された画像データは、加算器24において、動き補償器26より供給される既に再構築した参照フレームの画像データと加算され、フレームメモリ25に供給され、記憶される。フレームメモリ25に記憶された画像データは、動き補償器26により読み出され、動きベクトル検出装置14において検出された動きベクトルに基づいて動き補償が行われる。
動き補償された画像データは、再構築された画像データがフレーム間で符号化されるモードの場合においては、スイッチ19が端子a側に接続が切り替えられ、加算器18に供給される。そして、加算器18において、前処理装置11より供給される画像データから動き補償器26よりスイッチ19を介して供給される画像データが引き算される。また、フレーム内で符号化されるモードの場合においては、スイッチ19は端子b側に接続が切り替えられ、加算器18には値0のデータが供給される。
可変長符号化器27より出力されるビットストリームは、バッファ28を介して図1の書き込み装置4に供給される。また、バッファ28でのバッファ量や、図1のカメラ圧縮制御装置6からの量子化に関する指令に基づいて、量子化制御器29において量子化器21の量子化パラメータが制御されることにより、量子化器21において行われる量子化のビットレートが制御される。
上記デジタルビデオカメラにおいて、入力画像信号は、例えば図3中のAに示すように、水平方向に704画素、垂直方向に480画素からなるいわゆる4:2:0のフレームから構成されている。
この4:2:0のフレームにおいては、水平・垂直両方向に16画素ずつ分割して得られる16画素×16画素の大きさのマクロブロックは、水平方向に44個、垂直方向に30個存在する。従って、1フレームは、1320個のマクロブロックで構成される。また、入力される動画像系列は、1秒間に30フレームとする。
なお、画素数の異なる他のフレームの例としては、図3中のBに示すような水平方向に528画素で垂直方向に480画素からなるフレーム、図3中のCに示すように水平方向に352画素で垂直方向に480からなるいわゆる4:2:0のフレームの水平方向について半分の解像であるのでHHR(half horizontalresolution of 4:2:0)と呼ばれるフレーム、図3中のDに示すように水平方向に352画素で垂直方向に240画素からなるフレームを挙げることができる。
これらのフレームは、後述するように、画像の変化に応じて切り換えられることがある。
次に、本発明の第1の実施の形態について説明する。この第1の実施の形態は、上述したビデオカメラ等の動画像圧縮記録装置に入力される動画像を圧縮符号化して記録する時、逐次なされる圧縮処理により得られる動きベクトルや動き補償した結果の残差であるブロックディファレンス(block deference;DF)値の大きさから、解像度の変化点を含む前後の2GOPが、常に30枚のフレームになることを条件として、例えば18+12、15+15、12+18、9+21のフレーム数で解像度切り換えを行うものである。
一般的に、固定1GOP単位の切れ目に合わせて、都合良くシーンの急激な変化が訪れる訳ではない。次のGOPの切れ目を待って処理するのでは、特に高解像度GOP中の切替えまでの残りフレームでノイズが目立ってしまう。逆に、GOP中の4枚のPピクチャで検出する毎に、次のGOPを挿入するという不定期な動作を繰り返すと、不用意なビットレートの上昇を招いてしまう。
そこで、検出したPピクチャの位置によって、図4中のAに示す18+12、図4中のBに示す15+15、図4中のCに示す12+18、図4中のDに示す9+21の4パターンのGOP構成の組み合わせを導入した。
図4中のA〜Dにおいては、30枚のフレームから構成される2GOPの組合わせ示されている。図中の“I”は画面内符号化画像のIピクチャを、“P”は表示順序で準方向に予測参照する準方向予測符号化画像であるPピクチャを、“P”は表示順序で準方向及び逆方向に予測参照する双方向予測符号化画像であるBピクチャをそれぞれ示している。また、これら“I”,“P”,“B”の添字はフレームの順序を示している。
基本となるGOP(M=3、N=15)は、図5中のBに示すように、15枚のフレームから構成されるものである。ここで、MはPピクチャの間隔、NはGOPを構成するフレームの総数を示している。同じ解像度が続く場合には、このような15枚のピクチャから構成されるGOPが繰り返される。
ところで、図4中のDに示すようにP5で画像の急激な変化が検出されたとすると、9フレーム(N=9)で4:2:0の高解像度から、次をHHR(Half Horizontal resolution of 4:2:0)という低い解像度に切り換えれば、P5の変化に対して早く対応が付く。この場合には、30枚のフレームは、9枚のフレームからなるGOP1及び21枚のフレームからなるGOP2となる。
つまり、図5中のBに示す固定GOPで処理すると、HHRという解像度を落としてブロックノイズを抑えるための操作が、15フレームまで切り換えられないことになり、エンコーダは6フレーム分汚い画を出し続けてしまい、P5の変化に対する対応が遅れることになる。
同様に、図4中のAのP14にて画像の急激な変化が検出されると、18フレーム(N=18)で4:2:0の高解像度のGOPからHHRの低解像度のGOPに切り換える。この場合には、30枚のフレームは、18枚のフレームからなるGOP1及び12枚のフレームからなるGOP2となる。
図4中のCのP8にて画像の急激な変化が検出されると、12フレーム(N=12)で4:2:0の高解像度からHHRの低解像度のGOPに切り換える。この場合には、30枚のフレームは、12枚のフレームからなるGOP1及び18枚のフレームからなるGOP2となる。
このように第1の実施の形態は、高解像度から低解像度へ切り換える時に限り、N=9、12、18の高解像度GOPに、続けてそれぞれN=21、18、12の低解像度GOPを取ることとする。高解像度のGOPとは例えば4:2:0のフレームに対応するものであり、低解像度のGOPとは例えばHHRのフレームに対応するものである。
これにより、解像度を切り換える際の直前と直後の2GOPでのフレーム数は、あくまで30枚のフレームに固定して、Iピクチャの位置だけ入れ代わるだけの簡単な制御で済ませることができる。
また、フレーム毎のビット量を、ピクチャタイプ毎のフレーム数に比例させることにより、2GOP間では、ほぼ固定ビットレートとして振る舞うようになり、特に固定ビットレートで記録再生するディスク状記録再生装置に対して実益がある。
ここで、Iピクチャ,Pピクチャ,Bピクチャがそれぞれ400kbit,200kbit,80kbitであるとすると、上述のように30フレームを2GOPとした場合には、2GOP間でのビットレートは次のようになる。
図4のAのように2GOPの構成が18+12フレームの場合には、発生ビット数は2.36Mbit+1.64Mbitである。ビットレートは3.93Mbps+4.1Mbpsであり、平均ビットレートは4Mbpsである。
図4のBのように2GOPの構成が15+15フレームの場合には、発生ビット数は2Mbit+2Mbitである。ビットレートは4Mbps+4Mbpsであり、平均ビットレートは4Mbpsである。
図4のCのように2GOPの構成が12+18フレームの場合には、発生ビット数は1.64Mbit+2.36Mbitである。ビットレートは4.1Mbps+3.93Mbpsであり、平均ビットレートは4Mbpsである。
図4のDのように2GOPの構成が9+21フレームの場合には、発生ビット数は1.28Mbit+2.72Mbitである。ビットレートは4.27Mbps+3.89Mbpsであり、平均ビットレートは4Mbpsである。
続いて、図5を参照して、解像度の切り換えについてさらに説明する。
図5中のAは、記録開始(Rec Start )から4:2:0の高解像度の15枚のフレームからなるGOPが3個続いた後のP5にて画像の急激な変化が検出されたので、9フレーム(N=9)にて4:2:0の高解像度のGOPからHHRの低解像度のGOPに切り換えを行ったものである。上記P5を含むGOPは9枚のフレームから構成され、解像度を切り換えた後のGOPは21フレームから構成され、これら両GOPを構成するフレームの数は30枚となっている。
これに比べて、図5中のBは、GOPを構成するフレームの数を固定した固定GOPの例を示したものである。この場合には、P5にて画像の急激な変化が検出されても、15フレームにて構成されるGOP毎に解像度の切り換えを行っている。ここでは、図5中のAに示したようにビットレートがほぼ固定の場合に比較すると、GOPのサイズが固定されているので、P5における変化に対する追従が6フレーム遅れている。
図5中のCには、30枚のフレームから構成される2GOPについて完全に固定された例が示されている。例えば、ディスクに書き込むに際して、30フレーム/完全固定で目標ビットレートを達成したい場合がある。
ここでは、画像の変化に対してもGOPの構成は、常に30フレーム毎の区切りを維持するように動かす必要がある。これに対して、図5中のAにおいては、15枚のフレームから構成されるGOPの後に、9枚のフレームから構成されるGOPが続くことがあり、完全固定ではない。
この図5中のCにおいては、第3番目の30フレームは、画像の急激な変化に対応して、高解像度の4:2:0の12枚のフレームからなるGOP及び低解像度のHHRの18枚のフレームからなるGOPから構成されている。
続いて、本実施の形態に係るカメラ圧縮制御装置の動作について説明する。
図6は解像度選択を示すフローチャート図である。なお、ステップSは処理ステップを示す。
本実施の形態に係るGOP処理において、図6に示すように、S31では、現在処理するフレームがGOPの中に存在するピクチャがPピクチャか否かを観測し、Yesの場合はステップS32でブロック・ディファレンス(block deference;BD)値の演算を行う。このBD値については後に詳しく説明する。
ここで、ブロックディファレンスとは、Pピクチャの水平方向及び垂直方向の両方向に16画素ずつ分割したマクロブロック毎に求められた動きベクトルを用いて、動き補償を行ったときのマクロブロックの差分の絶対値をいう。
ステップS33では、一例として現GOPの水平画素数が高解像度の704画素か、低解像度の352画素かの判断をして、Yesの場合はステップS34に進み、Noの場合にはステップS36に進む。
ステップS34では、基準BD値VBD1より小さいか判定を行い、Yesの場合はステップS35で次のGOPに対する画素数の設定を同じ704画素(1/1変換)にし、Noの場合はステップS37に進む。
ステップS37においてはPピクチャのGOP内の位置に応じて解像度のパターンを選択する。すなわち、該PピクチャのGOP内での位置に応じて、図3からいずれかのフレームを選択する。これに続くステップS38において低い解像度352画素(1/2変換)に切り換える。
ステップS33で現GOPの水平画素数が低いモード(No)の場合は、ステップS36に進み、低い解像度用の基準値VBD2より小さいか判定を行う。
ステップS36の判定が小さい場合(Yes)はステップS35で次のGOPに対する画素数の設定を704画素(1/1変換)とし、大きい場合(No)はステップS37に進む。
本実施の形態のアルゴリズムは以上のようになる。これにより、2GOP=30フレーム内において、ほぼ固定ビットレートが保たれるようになる。
以上説明したように、第1の実施の形態は、デジタルビデオカメラ等の動画像圧縮記録装置に入力される動画像を圧縮符号化して記録する時、逐次なされる圧縮処理により得られる動きベクトルや動き補償した結果の残差であるBD値などの大きさから、解像度の変化点を含む前後の2GOPが、常に30フレームになるように制御して解像度を切り換えるものである。すなわち、2GOP=30フレームとして目標ビットレートに制御する。
また、2GOPを30フレームで構成するように維持し、18+12、15+15、12+18、9+21のGOP構成の組み合わせで解像度切り換えを行うものである。
次に、本発明の第2の実施の形態について説明する。
第2の実施の形態は、上述したビデオカメラ等の動画像圧縮記録装置に入力される動画像を圧縮符号化して記録する時、1フレームをエリア分割するとともに、エリア毎に符号化難易度の重み付けを行い、重み付けを行ったエリアのBD値を基に、入力画像の解像度を切り換えるものである。
エリア分割の第1の具体例として、図7に示すように、フレーム内の4隅のエリアD1,D2,D3,D4を監視する。そして、画面の4隅のエリアD1,D2,D3,D4におけるBD値や動きベクトル値が十分小さいことを加味してカメラ装置が固定状態にあることを予測し、無駄な解像度切り換えを抑制する。
エリア分割の第2の具体例として、同じく図7に示すように、フレーム内の周辺部Bに比べて中央部Aに符号化難易度の重み付けを行う。すなわち、フレーム全体でのBD値から動きの激しさを捉えるだけでなく、フレーム内での分布を考慮することで、より効率の良い解像度制御を行なうことを考える。そして、往々にして起こる画面内の符号化難易度の局所的な偏りを補正する。
エリア分割の第3の具体例として、図8に示すように、フレーム内の上方Z1に比べてフレームの下2/3であるZ2,Z3等の下方に符号化難易度の重み付けを行う。これは、カメラ装置を水平に構えた場合、画面上部と下部での動き量は、重力下においては、画面下部の方が激しいことを利用するものである。
例えば、ジェットスキーを撮影する場合において、画面上部は山とか海で易しい絵柄で、画面下部は難しい動きをする水面であるような場合に、画面下部でBD値が大きくなり、結果的に汚い映像となってしまう。これを防止するため、画面下方の重み付けを高くすることにより、解像度を下げる方向に制御する。
すなわち、フレーム上部に比べて下部に大きなBD値の分布があるような場合、画面左上から右下へのマクロブロック順次での量子化スケール更新では、画面下部の元来厳しい部分にノイズが目立ちやすくなる。このような絵柄の時には、フレーム全体ではBD値がさほど大きくなくても、分布に大きな差がある時に限って解像度を下げるようにする。これにより、解像度切り換えを効率的に行うことが可能となる。
以上説明したように、第2の実施の形態は、ビデオカメラ等の動画像圧縮記録装置に入力される動画像を圧縮符号化して記録する時、1フレームをエリア分割するとともに、エリア毎に符号化難易度の重み付けを行い、重み付けを行ったエリアのBD値を基に、入力画像の解像度を切り換えるものである。
ここで、画面の4隅のエリアでのBD値や動きベクトル値が十分小さいことを加味してカメラ装置が固定状態にあることを予測し、無駄な解像度切り換えを抑制させる。
また、画面内の周辺部に比べて中央部に符号化難易度の重み付けを行ったり、画面内の上方に比べて下2/3等の下方に符号化難易度の重み付けを行うものである。
このように、上述の実施の形態は、動画シーケンスの中で、異なる解像度をMPEG2のビデオシーケンスとしてどのように扱い、動画シーケンスをディスクメディアの記録再生装置に記録再生する手法に関するものである。
次に、以上の実施の形態をビデオカメラ等の動画像圧縮装置に実用化する上での好適な例を説明する。この例は、撮影時点に最も適した制御ができるようにエンコード前に事前予測をするものである。
この例でのデジタルビデオカメラ等の動画像圧縮装置は、図1に示した構成に比べると、カメラ圧縮装置6が、圧縮装置3からの情報に基づいてA/D変換器2により供給されるデータに応じた適切な符号化の為のパラメータ(例えば、後述するフィルタ係数や画素数)等を決定し、圧縮制御信号として圧縮装置に供給したり、後述する書き込み装置に対して記録の開始や停止等を時視する記録制御信号を供給する点がことなっている。しかし、他の部分については、上述の図1における動画像圧縮装置と同様である。
この例においては、デジタルビデオカメラ等の動画像圧縮装置の記録開始を指示するスイッチが操作されると同時に、圧縮符号化されたビットストリームの記録媒体5への記録は開始されない。即ち、図9に示すように、例えば、最初の15フレーム分の入力画像に対して試験的な意味での圧縮符号化が行われ、発生した符号量(ビットストリームのビット量)等を用いて、その15フレームの直後(例えば、0.5秒後)からの実際に撮影対象とする画像に対する圧縮符号化のパラメータが設定され、このパラメータに基づいて圧縮符号化され、生成されたビットストリームの記録媒体5への記録が開始される。
具体的には、試験的に行う圧縮符号化では、通常行われるフレームやマクロブロック単位の量子化制御を動的には実施せずに、例えば量子化係数を一定にしたままで圧縮符号化を行い、そのときに発生する符号量を計測する。その結果から見積もられる例えば動画像系列の圧縮における難易度といったような特徴を利用して、実撮影対象となる動画像系列を符号化するときの符号化パラメータの設定が行われる。
上記実施の形態においては、実時間処理による仮想的な2パスエンコードを実現することができる。即ち、入力された動画像系列の特徴抽出を、実際に撮影記録する直前の画像系列で行った結果から、直後の実際の撮影対象画像に対してより精緻な符号化割り当てを実現することができる。これにより、圧縮伸張による劣化を軽減することができる。
また、動画デジタルカメラに適用する場合においては、通常の映画やTVで見られるようなシーンチェンジと呼ばれる映像の切れ目が、1回の記録動作において撮影対象の動画像系列には存在しない。即ち、記録開始時ごとに、撮影する対象画像に見合った圧縮符号化のための諸設定を最適化することにより、シーン毎により効果的な圧縮符号化処理を行うことができる。逆に、動画カメラで撮影中の急激なパン、チルト、ズーム、手振れといったカメラ特有の操作によって、1つのショットの中で起きる入力画像の大きな変化に対しても、実時間処理で対応することができる。
図9に示したように、試験的に符号化する画像系列15フレームに対しては、図1の記録媒体5には書き込まずに圧縮符号化のみを行う。そのとき、カメラ圧縮制御装置6からは、書き込み装置4に対して書き込み開始の指示は出ていない。また、圧縮装置3に対しては、量子化制御に関わる処理を学習モードとし、1フレームおよび1マクロブロックあたりの制御目標ビット量の設定を符号化装置17に行わず、さらに1フレームを構成する画素数や、その周波数特性も入力画像のままで固定の設定を前処理装置11に指示するようにし、ビットストリームを測定し、そのフレームが潜在的に持つ情報量を推し量る。
そして、実際に撮影が行われるときには、試験的に符号化した結果を図1のカメラ圧縮制御装置6で解析し、決定した指針に従って、前処理装置11での解像度の設定および画素数変換の設定が行われる。その変換例としては、図10に示すように、例えば、デジタルフィルタを用いてそのフィルタ係数を変えることにより、周波数成分の通過域特性を制御し、解像度変換を行ったり、図4に示したように、水平方向および垂直方向の少なくともいずれか一方の画素を間引くことにより、画素数変換を行うものがある。
図10は、解像度変換用フィルタの周波数特性の例を示すグラフである。横軸が周波数、縦軸が利得を表しており、図10中のAは、全ての帯域を通す例を示している。また、図10中のBは、高域成分の多い画像から高域の周波数成分を取り除く例を示している。
このように前処理された結果の画像信号が、動きベクトル検出装置14および符号化装置17に供給される。
動きベクトル検出装置14においては、各フレームの時間的な並びにおいて順方向および逆方向に対応するフレーム間の各マクロブロック毎の動き量が求められる。即ち、ブロックマッチング法を用いて最適な動きベクトル値を求める演算が行われ、その値が蓄えられる。
図11中のAに示すように、一般的に、動きベクトルを求めるときのフレーム間の動き量の予測方向によって、フレーム間符号化するフレームは、順方向のみの予測によるPピクチャと、順方向および逆方向の両方向予測によるBピクチャに分けられ、フレーム内符号化するフレームは、Iピクチャと呼ばれる。図11中のAおよび後述する図11中のBにおいては、IピクチャおよびPピクチャの周期Mを3とし、画像群であるGOP(Group of Pictures)ピクチャの数Nを15としている。
また、図11中のBに示すように、前処理装置11で行われる画素数変換処理において、最低でも1GOP毎に異なる画素数を有する画像系列への変換を行ったときには、GOPの切れ目と最初のIピクチャの間にあるBピクチャに関してのみ、順方向予測を用いず、逆方向予測のみのフレーム間予測符号化を行う構造として、一般的にclosed GOPと呼ばれる構造を取るようにする。
符号化装置17においては、動きベクトル検出装置14より供給された動きベクトル値を用いて動き補償が行われ、時間軸方向のデータの冗長度が削減され、かつDCTによる空間軸方向からの周波数軸方向への変換により冗長度が削減されたデータに対して、周波数軸に対して重み付けを施した量子化が行われる。
その時、カメラ圧縮制御装置6からの指令も反映しながら、量子化制御器29が動作する。それと同時に、動き補償のための逆量子化および逆変換の処理が行われる。そして、可変長符号化器27において、最終的なビットストリームを得るための可変長符号化処理が行われる。
以上の圧縮符号化は、学習モード時に発生するビット量、動きベクトル、動き補償後のブロック内差分値を、カメラ圧縮制御装置6で計測し、解析することにより、撮影する対象画像系列の特徴を予測する過程を有する。また、事前の学習だけではなく、撮影中も常にカメラ圧縮制御装置6で画像系列の特徴を観測することにより、次のGOPあるいはフレームを逐次予測していくようにすることができる。
続いて、本実施の形態の学習過程におけるカメラ圧縮制御装置6の動作について説明する。図9に示したように、記録を行わずに、学習のために試験的な圧縮符号化のみを行う最初の15ピクチャに対して、各々のピクチャタイプを図11に示したように、Iピクチャ、Pピクチャ、Bピクチャに割り振る。即ち、図11での動き予測方向の分類によって定義された各Iピクチャ、Pピクチャ、Bピクチャがそれぞれ1,4,10枚ずつ計15枚で構成されるピクチャの集合をGOPと呼び、その割り振りを学習区間の15ピクチャに先頭からそのまま当てはめる。それ以降の実撮影対象の動画像系列に対しても、同様に、15ピクチャ毎に1GOPに当てはめる。
一般的にこのようなGOP構造を有する動画像系列の圧縮符号化においては、各ピクチャタイプ毎に、1枚あたりの符号化によって発生するビット量に大きな差が生じる。例えば、フレーム内だけで符号化するIピクチャに比べて、時間軸方向の画像の並びに対して順方向のみのフレームの動き予測を用いてフレーム間の冗長度を削減したPピクチャや、順方向だけでなく逆方向のピクチャ間の動き予測も用いるBピクチャで発生するビット量は明かに少ない。さらに、PピクチャとBピクチャを比べると、その発生ビット量は、両方向からのフレーム間の動きに関する情報で冗長度を削減することができるBピクチャの方が一般的に少ない。即ち、圧縮符号化するフレームに割り振られるピクチャタイプに応じた1ピクチャタイプあたりの符号量割り当てが重要となる。
また、入力される動画像系列の内容によっても、その各ピクチャタイプ毎の発生ビット量にばらつきが生じる。即ち、圧縮符号化する対象となる動画像系列の並びが非常に激しい動きを持つものであるときと、比較的動きが少なく静止画に近いものであるときとでは、大きな差が生じる。例えば、動きベクトルを算出するときに、その検索範囲に収まりきらないくらいに動き量が大きい、あるいは、完全に動きがフレームの外にはみ出してしまう程であったりし、最適な値を求めることができないような場合が想定される。あるいは、カメラ操作による速いパンニング映像やズームイン、ズームアウト映像などでも、同様に動きベクトルをうまく求めることができなくなる。
このような場合の傾向として、激しく動く映像であるようなとき、Iピクチャでの発生ビット量に対して、P,Bピクチャでの発生ビット量の比率が通常の場合に比べて大きくなることがある。これは、本来、P,Bピクチャの動き予測によるフレーム間差分値が小さくならないため、結果的にP,Bピクチャの符号量が増加する。
一方、画面にあまり動きのない静止画に近いような映像の場合には、Iピクチャでの発生ビット量に対して、P,Bピクチャでの発生ビット量が小さくなる。これは、動きがほとんどなければ動きベクトルの値のための符号量も小さくて済み、うまく検索できた動きベクトルによって、P,Bピクチャの動き予測によるフレーム間差分値が十分に小さくなり、結果的にP,Bピクチャの符号量も減少するからである。
即ち、圧縮符号化するフレームの動きや動き予測によるフレーム間差分値から、その画像系列が持つ動きに対する特徴を捉え、その特徴に応じたピクチャタイプ毎の符号量の割り当てが重要となる。
さらに、入力画像の動きの性質によって引き起こされるピクチャタイプ間のばらつきに拘らず、入力される動画像系列の絵柄によっても、発生するビット量には大きな差が生じる。即ち、入力動画像系列の動きの激しさとは別に、どのピクチャタイプであろうと、本質的に持っているフレーム内の画像データの圧縮符号化における複雑さの要因がある。言い換えれば、異なる入力動画像系列に対して、動きに関する特徴が似通ったものをお互いに持っていた場合でも、1フレームに含まれる潜在的な情報量が多いときと少ないときとでは、結果として発生するビット量には大きな隔たりが生じる。
このフレーム内の符号化の複雑さの特徴は、Iピクチャでの発生ビット量から読み取ることができる。あるいは、DCT係数の符号量を左右するフレーム内に含まれる画像信号の高域成分を推し量る指標として、例えば隣接する画素の差分値の累積のような、フレーム内の変動量に対応するものや、その分布から見積もることも可能である。また、逆に、フレーム内の画像信号の平坦さからも見積もることができる。
即ち、圧縮符号化するフレームが本来持つ符号化の複雑さから、目標ビットレートに対して、どれだけ入力動画像系列が複雑であるかを判断することが重要となる。
以上のことから、入力される動画像系列の圧縮符号化に関する各種の特徴に応じた処理を実現することにより、より効率的な圧縮符号化が可能となり、圧縮伸張後の画質を向上させることができる。さらには、上記フレームおよびGOP単位の特徴に加え、マクロブロック単位の特徴もフレーム内の位置的情報を加えることにより、利用することができる。即ち、画面の中のマクロブロック毎の動きや符号量の情報を用いて、より効率のよい圧縮符号化が可能となる。
実際には、実時間処理での与えられた目標ビットレート内で、効率よく圧縮符号化を実行することが求められる。そのために、上記実施の形態においては、カメラを想定して実際に記録を開始する直前の入力動画像系列を利用して、目標ビットレートに対する圧縮のための各種パラメータを学習させ、直後の実際に記録が行われる実撮影動画像系列に対して、より適した圧縮符号化のためのレートコントロールを実現するようにしている。即ち、ビデオカメラでの入力画像系列は、撮影者が撮影開始の操作を行った瞬間と、その直後の入力画像系列にはそれほど差異がないと仮定することができるので、そのことを利用して入力動画像系列の特徴を割り出し、直後の実際に記録が行われる入力動画像系列の圧縮符号化に役立てるための処理を行う。この処理は、カメラ圧縮制御装置6によって行われる。
また、カメラ圧縮制御装置6は、撮影開始後も一連の画像系列には連続的な特徴があることを利用して、撮影開始時の場合と同様に、入力画像の特徴量を常に観測し、それによって得られる結果を例えばGOPおよびフレーム単位で逐次圧縮符号化に反映させていく処理を行う。逆に、撮影中に速いパンニングやズームなどのカメラ操作、あるいは、撮影対象の大きな動きなどによって引き起こされる急激な入力画像系列の変化があった場合にも、その変化を各種の特徴量の観測結果を用いて検出し、それに対応する処理を行う。
続いて、図12のフローチャートを参照して、カメラ圧縮制御装置6の動作の詳細について説明する。最初に、ステップS1において、カメラの撮影開始釦が押されたか否かが判定される。撮影開始釦が押された瞬間であった場合、書き込み装置4は動作させずに、その瞬間から15フレーム(1GOP)の期間だけ、学習モードに入る。学習モードでは、入力画像が有する情報量がどの程度のものなのかを定量的に測定するため、ステップS2において、通常のレートコントロールは行われず、量子化係数をある一定値に設定して圧縮符号化のみが実行される。
次に、ステップS3において、そのとき発生した総ビット量、ピクチャタイプ毎の発生ビット量、マクロブロック毎の発生ビット量、動きベクトル値、動き補償後のブロック差分値、フレーム内複雑度の各種特徴量が求められる。また、このとき、発生した総ビット量の2(=30フレーム/15フレーム)倍の値が、1秒あたりの発生情報量、即ちレートコントロールを行わない場合のビットレートとされる。
次に、ステップS4において、実撮影記録期間であるか否かが判定される。いまの場合、実撮影記録期間ではないと判定され、ステップS7に進む。ステップS7においては、上記ビットレートと目標ビットレートとの大小関係から、即ち、入力動画像系列が本来必要とする大まかなビットレートと目標ビットレートとの差異の度合いや、動きによる直接的な発生情報量への反映として、動き補償後のブロック差分値の大きさや分布などから、記録撮影モード時の前処理装置11での解像度、画素数の初期設定が行われる。
例えば、極端に発生情報量が大きくなる結果が得られた場合、また、画面全体として動きの激しさや動き補償のマッチング具合を示すブロック差分値が同様に大きくなるような場合、撮影対象である画像系列が目標ビットレートに比べて非常に符号化が難しいと判断され、解像度や画素数変換において情報量が少なくなるように、フィルタ特性を高域成分を減少させるように設定したり、水平方向の画素数を減らすような画素数変換の設定が行われる。
また、ピクチャタイプ毎の発生ビット量から、1ピクチャタイプあたりの割り振りビット量を目標ビットレートから逆算して、効率よく1GOPで消費できるような制御と初期設定が行われる。例えば、動きが少なく、PピクチャやBピクチャでの発生ビット量が少ないような場合、Iピクチャに対する目標ビット量が他のピクチャタイプに比べて多く割り振られる。逆に、動きに伴う情報が大きくて、PピクチャやBピクチャの発生ビット量が多い場合、Iピクチャに対する割り振りが減らされ、PピクチャやBピクチャに多く割り振られる。また、マクロブロック毎の発生ビット量から画面内に存在するマクロブロックに必要なビット量が割り出され、Iピクチャ内で消費されるビット量の各マクロブロック単位での効率のよい割り振りビット量の設定が行われる。
例えば、マクロブロック毎の動きベクトルや動き補償後のブロック差分値から、画面の中の動きが激しい、あるいは、穏やかなマクロブロックが観測される。その結果から、1ピクチャに割り当てられた目標ビット量を画面内の位置レベルで効率よく割り振るための設定が行われる。
一方、ステップS4において、実撮影記録期間であると判定された場合、ステップS5に進み、レート制御を行いながら、入力画像列に対する符号化と記録媒体への記録が行われ。また、その間、ステップS3において得られた各種特徴量に基づいて、次のGOPやフレーム、マクロブロック等に対して、上記設定が行われる。
次に、ステップS6において、カメラ撮影が停止したか否かが判定され、カメラ撮影が停止していないと判定された場合、ステップS7に戻り、ステップS3乃至S7の処理が繰り返し実行される。一方、カメラ撮影が停止されたと判定された場合、処理を終了する。
続いて、上記各種設定のうち、入力シーケンスに対するGOPの単位での動的な解像度・画素数変換を伴った制御の特徴的な例について説明する。以降、上述したclosed GOP構成を持つことを条件とする。
図13は、解像度や画素数を変換する制御装置の構成例を示すブロック図である。この制御装置は、動き補償後のブロック差分値とフレーム内変動量を示すフレーム内複雑度といったマクロブロックやフレームの持つ特徴量を用いて、解像度や画素数の変換を行うようになされている。
前処理装置11を構成するフィルタ演算器12では、適宜フレーム単位で一般的に低域通過特性を有する間引き用のデジタルフィルタが用いられるが、この例では、そのタップ数やフィルタ係数を変更して、カットオフ周波数等のフィルタ特性を変化させることにより、図10中のA、図10中のBに示すような2種類の周波数特性の解像度変換を選択する。そのとき、デジタルフィルタの一例して、図14に示すような構造の9タップの1次元FIR(finite impulse response)型デジタルフィルタを用いて処理を行う。図14において、C0乃至C8は、デジタルフィルタのフィルタ係数を表し、遅延素子(Z-1)41乃至48は、それぞれ1画素サイクル分の遅延素子を表している。これらの係数値と水平方向に並ぶ画像信号のレベル値が乗算器51乃至59においてそれぞれ乗算され、各乗算結果が加算器60において加算され、フィルタ出力が得られる。
間引き処理器13においては、適宜GOP単位で水平方向の画素数の変換が行われる。この例では、例えば、図3中のAに示すような704画素(1×1変換)と、図3中のCに示すような352画素(1×2変換)の2種類の間引き処理による画素数変換が選択される。図18を参照して後述するように、符号化して生成したビットストリームを復号化し、画像信号に戻す場合には、間引き処理で選択された画素数変換の逆変換として、水平方向に元の704画素に戻すことを前提とする。
以上の動作選択は、フィルタ演算器12で実現する周波数特性を与えるためのフィルタ係数設定を行うフィルタ係数設定器33(決定手段)と、間引き処理器13で実現する画素数を決める画素数設定器34(決定手段)の2つで実行される。即ち、フィルタ係数設定器33と画素数設定器34が図1のカメラ圧縮制御装置6の構成要素となっている。
ここで利用する特徴量の1つとしての上述したフレーム内複雑度に、入力画像の水平方向の画素の持つレベル差の1フレームに渡る絶対値和(以下では、フレーム・コンプレキシティ(FC)と呼ぶことにする)が用いられる。この例では、任意の画素の水平方向座標i番目、垂直方向座標j番目について、画素の持つレベル値をd(i,j)と表すと、フレーム・コンプレキシティ(FC)は次式(1)から求められる。
ここで、mは1ラインの画素数を表し、nは1フレームのライン数を表している。
即ち、入力された画像を画像の左上から右下に順次走査するように1次元系列化し、そのときの隣合う画素同士について上記式(1)に従った演算が行われ、FCが算出される。この演算は、図13の演算部32において行われる。図15は、演算部32を構成する回路の例を示している。入力された画素値は、演算回路72および遅延素子71に供給され、演算回路72においては、いま入力された画素値と、遅延素子71を介して供給される1つ前の画素の画素値との間の差分の絶対値が求められる。そして、上記式(1)に示すように、全ての画素についてこの演算が行われ、順次加算されていく。
また、図16に示すように、動き補償後のブロック差分値には、Pピクチャの水平方向および垂直方向の両方向に16画素ずつ分割したマクロブロック毎に求められた動きベクトルを用いて、動き補償を行ったときのマクロブロック毎の差分値の絶対値和(以下では、ブロック・ディファレンス(BD)と呼ぶ)が用いられる。1フレーム中の水平方向にk番目、垂直方向にl番目のマクロブロックMB(k,l)でのブロック・ディファレンスBD(k,l)は次式(2)のように表される。
ここで、mvx(k,l)はマクロブロックMB(k,l)での水平方向の動きベクトル値を表し、mvy(k,l)はマクロブロックMB(k,l)での垂直方向の動きベクトル値を表している。また、時間軸方向で前に位置するフレーム、即ち、動きベクトルを探索するフレーム中の任意の画素の水平方向座標i番目、垂直方向座標j番目について、画素の持つレベル値をdt(i,j)と表し、逆に動き補償し、予測符号化するフレーム中での同様のレベル値をdc(i,j)と表す。
従って、フレーム全体でのブロック・ディファレンス値BDは、BD(k,l)を1フレームに渡って足し込んだものとなり、次式(3)で表される。
ブロック・ディファレンス値BDは、演算部31により算出される。
以上のフレーム・コンプレキシティ値FCとブロック・ディファレンス値BDのフレームおよびGOP中での値を解析し、次のフレームおよびGOPに対するフィルタ係数と画素数の設定を行う。このとき得られたGOP中のPピクチャでのブロック・ディファレンス値BDが基準となる値よりも大きいか小さいかを判定し、次のGOPに対して行う画素数変換の画素数設定を多段階的に選択する。さらに、GOP中の1フレーム毎のフレーム・コンプレキシティ値FCについても、基準となる値よりも大きいかあるいは小さいかを判定し、次のフレームに対して行う解像度変換のフィルタ係数を多段階的に選択する。
この例の場合、ブロック・ディファレンス値BDが、所定の基準値よりも大きければ、画素数をより少なくするように変換し、それと同時に、フレーム・コンプレキシティ値FCが所定の基準値よりも大きければ、フィルタ特性をより高周波成分を減衰させるようにするフィルタ係数による解像度変換を施す。
続いて、図17のフローチャートを参照して、解像度および画素数を選択する処理手順の例について説明する。最初に、GOP単位の処理では、ステップS11において、現在処理するフレームが、図11中のBに示したように、closed GOP毎の時間的に12フレーム目のPピクチャであるか否かが判定される。12フレーム目のPピクチャであると判定された場合、ステップS12に進み、演算部31によりブロック・ディファレンス値BDが演算される。
次に、ステップS13において、現在のGOPでの水平画素数が704画素であるかあるいは352画素であるかが判定される。現在のGOPでの水平画素数が704画素であると判定された場合、ステップS14に進み、ブロック・ディファレンス値BDが、次のGOPでの画素数変換を規定する基準ブロック・ディファレンス値VBD1より小さいか否かが判定される。ブロック・ディファレンス値BDが基準ブロック・ディファレンス値VBD1より小さいと判定された場合、ステップS16に進み、画素数設定器34は、次のGOPに対する画素数の設定を、現在のGOPの場合と同様に704画素(1/1変換)にする。
ステップS14において、ブロック・ディファレンス値BDが基準ブロック・ディファレンス値VBD1より大きいかまたは等しいと判定された場合、ステップS17に進み、次のGOPに対する画素数の設定を、現在のGOPの場合の1/2の352画素(1/2変換)にする。
一方、ステップS13において、現在のGOPの水平方向の画素数が704画素ではない、即ち、352画素であると判定された場合、ステップS15に進み、ブロック・ディファレンス値BDが基準ブロック・ディファレンス値VBD2より小さいか否かが判定される。ブロック・ディファレンス値BDが基準ブロック・ディファレンス値VBD2より小さいと判定された場合、ステップS16に進み、次のGOPの画素数を704画素(1/1変換)に設定する。ブロック・ディファレンス値BDが基準ブロック・ディファレンス値VBD2より大きいかまたは等しいと判定された場合、ステップS17に進み、次のGOPの画素数を現在のGOPの場合と同様に352画素(1/2変換)に設定する。
ステップS16またはステップS17における処理が終了すると、GOP単位での全ての処理を終了する。
また、フレーム単位での処理では、ステップS18において、フレーム毎に上記フレーム・コンプレキシティ演算を行う。次に、ステップS19において、ステップS18において得られたフレーム・コンプレキシティ値FCが、次のフレームでの解像度変換のためのフィルタ係数を規定する基準フレーム・コンプレキシティ値VFCより小さいか否かが判定される。フレーム・コンプレキシティ値FCが、基準フレーム・コンプレキシティ値VFCより小さいと判定された場合、ステップS20に進み、フィルタ係数設定器33により、次のフレームに対してフィルタ係数Cf1が選択される。一方、フレーム・コンプレキシティ値FCが、基準フレーム・コンプレキシティ値VFCより大きいかまたは等しいと判定された場合、ステップS21に進み、フィルタ係数Cf2が選択される。
本実施の形態の場合、フィルタ特性Cf2によって実現されるディジタルフィルタ(例えば、図10中のB)は、フィルタ特性Cf1によって実現されるディジタルフィルタ(例えば、図10中のA)よりもカットオフ周波数が低い特性を有している。
ステップS20またはステップS21の処理が終了すると、フレーム単位での全ての処理を終了する。
以上の過程を経て、入力画像に対するGOP単位での画素数変換のための設定が、ブロック・ディファレンスを評価規範として、また、入力画像に対するフレーム単位での解像度変換のための設定が、フレーム・コンプレキシティを評価規範として、図13に示したカメラ圧縮制御装置6により行われる。
図18は、図1に示した動画像圧縮記録装置によって記録媒体5に記録された動画像を再生する再生装置の一実施の形態の構成例を示すブロック図である。読み取り装置81は、記録媒体5に記録された圧縮された動画像データを読み出すようになされている。伸張装置82は、読み取り装置81によって読み出された動画像データに対して伸張処理を施すようになされている。D/A変換器83は、伸張装置82により伸張された動画像データをアナログのビデオ信号に変換するようになされている。表示装置84は、D/A変換器83より供給されるアナログのビデオ信号に対応する動画を表示するようになされている。
図19は、図18の伸張装置82の詳細な構成例を示すブロック図である。伸張装置82は、復号化装置91と後処理装置99より構成されている。復号化装置91を構成するバッファ92は、読み取り装置81より供給された符号化データを一時的に記憶するようになされている。可変長復号化器93は、バッファ92より供給される符号化データに対して可変長復号化処理を施し、逆量子化器94に供給するとともに、動きベクトルを動き補償器97に供給するようになされている。
逆量子化器94は、可変長復号化器93より供給されたデータに対して、逆量子化処理を行うようになされている。逆DCT器95は、逆量子化器94において逆量子化されたデータに対して、逆DCT演算を施すようになされている。加算器96は、逆DCT器95により逆DCT処理が施されたデータと、動き補償器97からの動き補償されたデータとを加算し、後処理装置99の補間処理器100に供給するとともに、動き補償器97およびフレームメモリ98にも供給するようになされている。
動き補償器97は、可変長復号化器93より供給される動きベクトルと、加算器96を介して供給されるデータおよびフレームメモリ98より供給されるデータに基づいて、動き補償したデータを生成し、出力するようになされている。
後処理装置99は、図2の前処理装置11の間引き処理器13における画素数変換の結果に従って、元の画素数に変換するための補間処理を行うようになされている。フィルタ演算器101は、補間処理器100からの補間処理が施されたデータに対して、所定のフィルタ演算を施した後、出力するようになされている。
続いて、その動作について説明する。まず、読み取り装置81によって記録媒体5に記録されている画像データが読み出され、伸張装置82に供給される。この画像データは、伸張装置82を構成する復号化装置91のバッファ92に入力され、一旦記憶される。その後、可変長復号化器93に供給され、可変長復号化処理が施される。可変長復号化処理が施されたデータは、逆量子化器94に供給される。また、動きベクトルが動き補償器97に供給される。
逆量子化器94に供給されたデータは、逆量子化処理が施された後、逆DCT処理器95に供給され、逆DCT処理が施される。逆DCT処理が施されたデータは、加算器96に供給される。加算器96においては、後述するように、動き補償器97において生成された動き補償のための信号と逆DCT処理が施されたデータとが加算され、後処理装置99に供給されるとともに、動き補償器97およびフレームメモリ98に供給される。
動き補償器97においては、可変長復号化器93より供給された動きベクトルと、加算器96を介して供給されたデータ、およびフレームメモリ98より供給されるデータに基づいて、動き補償したデータが生成され、加算器96に供給される。
後処理装置99に供給されたデータは、補間処理器100により補間処理が施された後、フィルタ演算器101に供給され、所定のフィルタ演算処理が施される。これにより、元の画素数のフレームのデータに変換される。フィルタ演算器101においてフィルタ処理が施されたデータは、D/A変換器83に供給され、アナログのビデオ信号に変換された後、表示装置84に供給され、対応する動画が表示される。
以上のように、本例においては、特に動画をディジタルビデオカメラ等で撮影するとき、撮影対象の動画像系列の特徴を、直前の入力画像から推測することにより、効率の良い圧縮符号化が可能となり、伸張後の画像の画質を向上させることができる。また、撮影開始時に学習することで初期設定を行うだけでなく、撮影中においても圧縮符号化を行いながら、入力画像の特徴量を検出し、逐次圧縮符号化のパラメータの設定を行うことにより、撮影中の入力画像の変化にも追従させることが可能となり、画質を向上させることができる。
なお、上記実施の形態の場合、カメラの撮影を開始させる操作が行われた時点を起点として、入力画像の特徴を学習させるようにしたが、撮影を開始させる操作ではなく、ポーズ状態のときから、常に学習を行わせるようにしてもよい。
また、本例、ブロック・ディファレンス演算による判定において、GOP内の12フレーム目のPピクチャのみを参照するようにしたが、GOP内の他の予測符号化フレーム(Pピクチャ、Bピクチャ)であってもよい。また、GOP内でのこれらの予測符号化フレームのブロック・ディファレンスの値の変動を観測することにより、上記判定を行うようにすることも可能である。
上述したような本発明の実施の形態によれば、ビデオカメラに入力される動画像を圧縮符号化して記録する時、BD値の大きさから、解像度の変化点を含む前後の2GOPが、一定のフレーム数、例えば30フレームになるように制御するようにしたため、2GOP=30フレーム内において、ほぼ固定ビットレートが保たれるようになる。これにより、固定ビットレートで記録再生するディスク状記録再生装置への応用が容易となる。
また、本発明の実施の形態によれば、ビデオカメラに入力される動画像を圧縮符号化して記録する時、1フレームをエリア分割するとともに、エリア毎に符号化難易度の重み付けを行い、重み付けを行ったエリアのBD値を基に、入力画像の解像度を切り換えるようにする。または画面内の4隅のエリアでのBD値や動きベクトル値が十分小さいことを加味してカメラ装置が固定状態にあることを予測し、無駄な解像度切り換えを抑制する。これにより、画面内の符号化難易度の局所的な偏りを補正することができ、解像度切り換えを効率的に行うことが可能となる。
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
例えば、本実施の形態においては、15フレームで1GOPを構成するようにしたが、その他の任意の数のフレームで1GOPを構成するようにしてもよい。
さらに、本実施の形態においては、本発明をデジタルビデオカメラに適用した場合について説明したが、静止画を記録再生するデジタルスチルカメラにも本発明を適用することができる。
1 撮像装置、2 A/D変換器、3 圧縮装置、4 書き込み装置、5 記録媒体、6 カメラ圧縮制御装置、11 前処理装置、14 動きベクトル検出装置、17 符号化装置