(57)【要約】【課題】  動画像をVBRで符号化するに際し、画質の劣化を抑止し、最低記録時間を保証する。【解決手段】  レート制御バッファ占有量Buf(n)とゲインG_Buf(n)との関係は、Buf(n)が最小値０のときG_Buf(n)は最大値、Buf(n)が最大値のときG_Buf(n)は最小値０となる。イントラ予測残差BD_Intra(n)とゲインG_Intra(n)との関係は、BD_Intra(n)が最小値０のときG_Intra(n)は最大値、BD_Intra(n)が最大値のときG_Intraは最小値０となる。ゲインＧ（ｎ）は、G_Buf(n)とG_Intra(n)の積であり、図５に示すような３次元曲面上の一点を意味する。ゲインＧ（ｎ）と予測符号量Pred(n)の積がｎ番目の被符号化画像データの目標符号量Target(n)とされる。本発明は、ディジタルビデオカメラに適用することができる。【選択図】  図５
2006148535.tif 000002
【特許請求の範囲】
【請求項１】
記録媒体に対する最低記録時間が保証されるように画像信号を所定の符号化方式に従って圧縮符号化する画像信号処理装置において、
前記最低記録時間および圧縮符号化済の画像信号に対応する発生符号量に基づいて、符号化圧縮率を制御するために想定されるバッファの占有量を演算する演算手段と、
前記画像信号の絵柄の複雑さを示す複雑度を算出する算出手段と、
前記画像信号が圧縮符号化される前に、前記画像信号が圧縮符号化されるときの発生符号量を予測する予測手段と、
前記演算手段によって演算された前記バッファの占有量、前記算出手段によって算出された前記複雑度、および前記予測手段によって予測された前記発生符号量に基づき、前記画像信号を圧縮符号化するときの目標符号量を設定する設定手段と、
前記設定手段によって設定された前記目標符号量に従い、前記画像信号を圧縮符号化する符号化手段と
を含むことを特徴とする画像信号処理装置。
【請求項２】
前記算出手段は、前記画像信号の絵柄の複雑さを示す前記複雑度として、前記画像信号のイントラ予測残差を算出する
ことを特徴とする請求項１に記載の画像信号処理装置。
【請求項３】
前記設定手段は、前記複雑度に基づいて決定される第１の係数と、前記バッファの占有量に基づいて決定される第２の係数と、前記発生符号量との積を前記目標符号量に設定する
ことを特徴とする請求項１に記載の画像信号処理装置。
【請求項４】
前記第１の係数は、前記複雑度の増加に対応して減少する
ことを特徴とする請求項３に記載の画像信号処理装置。
【請求項５】
前記第１の係数は、前記複雑度の増加に対応して減少する前記複雑度の１次関数である
ことを特徴とする請求項３に記載の画像信号処理装置。
【請求項６】
前記第２の係数は、前記バッファの占有量の増加に対応して減少する
ことを特徴とする請求項３に記載の画像信号処理装置。
【請求項７】
前記第２の係数は、前記バッファの占有量の増加に対応して減少する前記バッファの占有量の指数関数である
ことを特徴とする請求項３に記載の画像信号処理装置。
【請求項８】
前記演算手段は、前記画像信号が圧縮符号化される毎に発生符号量を加算するとともに、前記最低記録時間と前記記録媒体の容量とに基づいて算出される平均転送量を減算して、前記バッファの占有量を演算する
ことを特徴とする請求項１に記載の画像信号処理装置。
【請求項９】
前記予測手段は、前記画像信号が圧縮符号化される前に、圧縮符号化される前の前記画像信号を用いて算出するインター予測残差またはイントラ予測残差の少なくとも一方に基づく物理量に対応して、前記画像信号が圧縮符号化されるときの発生符号量を予測する
ことを特徴とする請求項１に記載の画像信号処理装置。
【請求項１０】
前記予測手段は、以前に予測した発生符号量と実際の発生符号量との差に基づく補正項を加味して、前記画像信号が圧縮符号化される前に前記画像信号が圧縮符号化されるときの発生符号量を予測する
ことを特徴とする請求項１に記載の画像信号処理装置。
【請求項１１】
前記符号化手段は、MPEG(Moving Picture Experts )2 TM(Test Model)5 Step2を採用して、前記設定手段によって設定された前記目標符号量に従い、前記画像信号を圧縮符号化する
ことを特徴とする請求項１に記載の画像信号処理装置。
【請求項１２】
前記符号化手段は、前記画像信号を圧縮符号化する過程において必要なＩ(Intra coded)ピクチャ用の仮想バッファの初期値ｄ0ｉ、Ｐ(Predictive coded)ピクチャ用の仮想バッファの初期値ｄ0ｐ、およびＢ(Bidirectionally predictive Coded)ピクチャ用の仮想バッファの初期値ｄ0ｂを、次式を用いて算出する
ｄ0ｉ＝QP_I×Ｒ／３１
ｄ0ｐ＝QP_P×Ｒ／３１
ｄ0ｂ＝QP_B×Ｒ／３１
QP_I，QP_P、およびQP_Bは所定の固定値、Ｒはリアクションパラメータ
ことを特徴とする請求項１１に記載の画像信号処理装置。
【請求項１３】
前記符号化手段は、MPEG4 AVC（Advanced Video Coding）を採用して、前記設定手段によって設定された前記目標符号量に従い、前記画像信号を圧縮符号化する
ことを特徴とする請求項１に記載の画像信号処理装置。
【請求項１４】
前記符号化手段は、前記画像信号を圧縮符号化する過程において必要なＩピクチャ用の仮想バッファの初期値ｄ0ｉ、Ｐピクチャ用の仮想バッファの初期値ｄ0ｐ、およびＩピクチャ用の仮想バッファの初期値ｄ0ｂを、次式を用いて算出する
ｄ0ｉ＝QP_I×Ｒ／５１
ｄ0ｐ＝QP_P×Ｒ／５１
ｄ0ｂ＝QP_B×Ｒ／５１
QP_I，QP_P、およびQP_Bは所定の固定値、Ｒはリアクションパラメータ
ことを特徴とする請求項１３に記載の画像信号処理装置。
【請求項１５】
記録媒体に対する最低記録時間が保証されるように画像信号を所定の符号化方式に従って圧縮符号化する画像信号処理方法において、
前記最低記録時間および圧縮符号化済の画像信号に対応する発生符号量に基づいて、符号化圧縮率を制御するために想定されるバッファの占有量を演算する演算ステップと、
前記画像信号の絵柄の複雑さを示す複雑度を算出する算出ステップと、
前記画像信号が圧縮符号化される前に、前記画像信号が圧縮符号化されるときの発生符号量を予測する予測ステップと、
前記演算ステップの処理で演算された前記バッファの占有量、前記算出ステップの処理で算出された前記複雑度、および前記予測ステップの処理で予測された前記発生符号量に基づき、前記画像信号を圧縮符号化するときの目標符号量を設定する設定ステップと、
前記設定ステップの処理で設定された前記目標符号量に従い、前記画像信号を圧縮符号化する符号化ステップと
を含むことを特徴とする画像信号処理方法。
【請求項１６】
記録媒体に対する最低記録時間が保証されるように画像信号を所定の符号化方式に従って圧縮符号化するためのプログラムであって、
前記最低記録時間および圧縮符号化済の画像信号に対応する発生符号量に基づいて、符号化圧縮率を制御するために想定されるバッファの占有量を演算する演算ステップと、
前記画像信号の絵柄の複雑さを示す複雑度を算出する算出ステップと、
前記画像信号が圧縮符号化される前に、前記画像信号が圧縮符号化されるときの発生符号量を予測する予測ステップと、
前記演算ステップの処理で演算された前記バッファの占有量、前記算出ステップの処理で算出された前記複雑度、および前記予測ステップの処理で予測された前記発生符号量に基づき、前記画像信号を圧縮符号化するときの目標符号量を設定する設定ステップと、
前記設定ステップの処理で設定された前記目標符号量に従い、前記画像信号を圧縮符号化する符号化ステップと
を含む処理をコンピュータに実行させることを特徴とするプログラム。
【請求項１７】
記録媒体に対する最低記録時間が保証されるように画像信号を所定の符号化方式に従って圧縮符号化し、前記記録媒体に記録するビデオカメラにおいて、
被写体を撮影して画像信号を生成する撮影手段と、
前記最低記録時間および圧縮符号化済の画像信号に対応する発生符号量に基づいて、符号化圧縮率を制御するために想定されるバッファの占有量を演算する演算手段と、
前記画像信号の絵柄の複雑さを示す複雑度を算出する算出手段と、
前記画像信号が圧縮符号化される前に、前記画像信号が圧縮符号化されるときの発生符号量を予測する予測手段と、
前記演算手段によって演算された前記バッファの占有量、前記算出手段によって算出された前記複雑度、および前記予測手段によって予測された前記発生符号量に基づき、前記画像信号を圧縮符号化するときの目標符号量を設定する設定手段と、
前記設定手段によって設定された前記目標符号量に従い、前記画像信号を圧縮符号化する符号化手段と、
前記符号化手段によって圧縮符号化された前記画像信号を前記記録媒体に記録する記録手段と
を含むことを特徴とするビデオカメラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像信号処理装置および方法、プログラム、並びにビデオカメラに関し、例えば、動画像を記録媒体に記録する際の最低記録時間を保証できるように動画像を符号化する場合に用いて好適な画像信号処理装置および方法、プログラム、並びにビデオカメラに関する。
【背景技術】
【０００２】
例えば、ディジタルビデオカメラやディジタルビデオレコーダ等のように、動画像を符号化して記録媒体に記録する機器に対しては、記録容量が有限である記録媒体に少なくとも何時間分の動画像を記録することができるのかを示す最低記録時間が保証されるように符号化できることが望まれている。
【０００３】
動画像データの代表的な符号化方式としては、MPEG(Moving picture experts group)符号化方式に代表される動き補償予測符号化方式を挙げることができる。
【０００４】
動き補償予測符号化方式には、大別してイントラ符号化とインター符号化の２種類の符号化方式がある。イントラ符号化では、被符号化画像内のマクロブロック単位の相関関係に基づいて符号化が行われる。インター符号化では、被符号化画像に時間的に前後する画像が参照画像とされて、その参照画像から生成される予測画像と被符号化画像との差分が符号化される（例えば、特許文献１参照）。
【０００５】
【特許文献１】特開平８−１０２９５１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
動き補償予測符号化方式における発生符号量の制御方法としては、GOP単位での発生符号量が一定とされるCBR(Constant Bit Rate)と、被符号化画像の内容（画像の複雑さ）に応じて発生符号量を変化させることができるVBR(Variable Bit Rate)が知られている。
【０００７】
CBRを適用した場合、GOP単位での発生符号量が一定となるので、情報記録媒体に対する最低記録時間を正確に見積もることができる。この反面、発生符号量が一定であるので、被符号化画像の内容が単純であっても発生符号量を減少させることができないので記録媒体の使用効率が悪いという問題や、反対に被符号化画像の内容が複雑であっても発生符号量の増加を許容することができないので画質が劣化するという問題があった。
【０００８】
VBRを適用した場合、被符号化画像の内容（画像の複雑さ）に応じて発生符号量の増減が許容されているので、画質の劣化を抑制することができる。ただし、発生符号量が一定ではないので最低記録時間を見積もることができない、すなわち、最低記録時間を保証することができないという課題があった。
【０００９】
本発明はこのような状況に鑑みてなされたものであり、動画像をVBRにより符号化するに際し、画質の劣化を抑止するとともに、最低記録時間が保証できるようにすることを目的とする。
【課題を解決するための手段】
【００１０】
本発明の画像信号処理装置は、最低記録時間および圧縮符号化済の画像信号に対応する発生符号量に基づいて、符号化圧縮率を制御するために想定されるバッファの占有量を演算する演算手段と、画像信号の絵柄の複雑さを示す複雑度を算出する算出手段と、画像信号が圧縮符号化される前に、画像信号が圧縮符号化されるときの発生符号量を予測する予測手段と、演算手段によって演算されたバッファの占有量、算出手段によって算出された複雑度、および予測手段によって予測された発生符号量に基づき、画像信号を圧縮符号化するときの目標符号量を設定する設定手段と、設定手段によって設定された目標符号量に従い、画像信号を圧縮符号化する符号化手段とを含むことを特徴とする。
【００１１】
前記算出手段は、画像信号の絵柄の複雑さを示す複雑度として、画像信号のイントラ予測残差を算出するようにすることができる。
【００１２】
前記設定手段は、複雑度に基づいて決定される第１の係数と、バッファの占有量に基づいて決定される第２の係数と、発生符号量との積を目標符号量に設定するようにすることができる。
【００１３】
前記第１の係数は、複雑度の増加に対応して減少するようにすることができる。
【００１４】
前記第１の係数は、複雑度の増加に対応して減少する複雑度の１次関数であるようにすることができる。
【００１５】
前記第２の係数は、バッファの占有量の増加に対応して減少するようにすることができる。
【００１６】
前記第２の係数は、バッファの占有量の増加に対応して減少するバッファの占有量の指数関数であるようにすることができる。
【００１７】
前記演算手段は、画像信号が圧縮符号化される毎に発生符号量を加算するとともに、最低記録時間と記録媒体の容量とに基づいて算出される平均転送量を減算して、バッファの占有量を演算するようにすることができる。
【００１８】
前記予測手段は、画像信号が圧縮符号化される前に、圧縮符号化される前の画像信号を用いて算出するインター予測残差またはイントラ予測残差の少なくとも一方に基づく物理量に対応して、画像信号が圧縮符号化されるときの発生符号量を予測するようにすることができる。
【００１９】
前記予測手段は、以前に予測した発生符号量と実際の発生符号量との差に基づく補正項を加味して、画像信号が圧縮符号化される前に画像信号が圧縮符号化されるときの発生符号量を予測するようにすることができる。
【００２０】
前記符号化手段は、MPEG2 TM5 Step2を採用して、設定手段によって設定された目標符号量に従い、画像信号を圧縮符号化するようにすることができる。
【００２１】
前記符号化手段は、画像信号を圧縮符号化する過程において必要なＩピクチャ用の仮想バッファの初期値ｄ0ｉ、Ｐピクチャ用の仮想バッファの初期値ｄ0ｐ、およびＢピクチャ用の仮想バッファの初期値ｄ0ｂを、次式を用いて算出するようにすることができる。
ｄ0ｉ＝QP_I×Ｒ／３１
ｄ0ｐ＝QP_P×Ｒ／３１
ｄ0ｂ＝QP_B×Ｒ／３１
QP_I，QP_P、およびQP_Bは所定の固定値、Ｒはリアクションパラメータ。
【００２２】
前記符号化手段は、MPEG4 AVCを採用して、設定手段によって設定された目標符号量に従い、画像信号を圧縮符号化するようにすることができる。
【００２３】
前記符号化手段は、画像信号を圧縮符号化する過程において必要なＩピクチャ用の仮想バッファの初期値ｄ0ｉ、Ｐピクチャ用の仮想バッファの初期値ｄ0ｐ、およびＩピクチャ用の仮想バッファの初期値ｄ0ｂを、次式を用いて算出するようにすることができる。
ｄ0ｉ＝QP_I×Ｒ／５１
ｄ0ｐ＝QP_P×Ｒ／５１
ｄ0ｂ＝QP_B×Ｒ／５１
QP_I，QP_P、およびQP_Bは所定の固定値、Ｒはリアクションパラメータ。
【００２４】
本発明の画像信号処理方法は、最低記録時間および圧縮符号化済の画像信号に対応する発生符号量に基づいて、符号化圧縮率を制御するために想定されるバッファの占有量を演算する演算ステップと、画像信号の絵柄の複雑さを示す複雑度を算出する算出ステップと、画像信号が圧縮符号化される前に、画像信号が圧縮符号化されるときの発生符号量を予測する予測ステップと、演算ステップの処理で演算されたバッファの占有量、算出ステップの処理で算出された複雑度、および予測ステップの処理で予測された発生符号量に基づき、画像信号を圧縮符号化するときの目標符号量を設定する設定ステップと、設定ステップの処理で設定された目標符号量に従い、画像信号を圧縮符号化する符号化ステップとを含むことを特徴とする。
【００２５】
本発明のプログラムは、最低記録時間および圧縮符号化済の画像信号に対応する発生符号量に基づいて、符号化圧縮率を制御するために想定されるバッファの占有量を演算する演算ステップと、画像信号の絵柄の複雑さを示す複雑度を算出する算出ステップと、画像信号が圧縮符号化される前に、画像信号が圧縮符号化されるときの発生符号量を予測する予測ステップと、演算ステップの処理で演算されたバッファの占有量、算出ステップの処理で算出された複雑度、および予測ステップの処理で予測された発生符号量に基づき、画像信号を圧縮符号化するときの目標符号量を設定する設定ステップと、設定ステップの処理で設定された目標符号量に従い、画像信号を圧縮符号化する符号化ステップとを含む処理をコンピュータに実行させることを特徴とする。
【００２６】
本発明のビデオカメラは、被写体を撮影して画像信号を生成する撮影手段と、最低記録時間および圧縮符号化済の画像信号に対応する発生符号量に基づいて、符号化圧縮率を制御するために想定されるバッファの占有量を演算する演算手段と、画像信号の絵柄の複雑さを示す複雑度を算出する算出手段と、画像信号が圧縮符号化される前に、画像信号が圧縮符号化されるときの発生符号量を予測する予測手段と、演算手段によって演算されたバッファの占有量、算出手段によって算出された複雑度、および予測手段によって予測された発生符号量に基づき、画像信号を圧縮符号化するときの目標符号量を設定する設定手段と、設定手段によって設定された目標符号量に従い、画像信号を圧縮符号化する符号化手段と、符号化手段によって圧縮符号化された画像信号を記録媒体に記録する記録手段とを含むことを特徴とする。
【００２７】
本発明においては、最低記録時間および圧縮符号化済の画像信号に対応する発生符号量に基づいて、符号化圧縮率を制御するために想定されるバッファの占有量が演算され、画像信号の絵柄の複雑さを示す複雑度が算出される。また、画像信号が圧縮符号化される前に、画像信号が圧縮符号化されるときの発生符号量が予測され、演算されたバッファの占有量、算出された複雑度、および予測された発生符号量に基づき、画像信号を圧縮符号化するときの目標符号量が設定される。
【発明の効果】
【００２８】
本発明によれば、動画像をVBRにより符号化するに際し、画質の劣化を抑止するとともに、最低記録時間を保証することが可能となる。
【発明を実施するための最良の形態】
【００２９】
以下に本発明の実施の形態を説明するが、請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、発明の実施の形態に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００３０】
さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加されたりする発明の存在を否定するものではない。
【００３１】
請求項１に記載の画像信号処理装置（例えば、図１のエンコーダ４２）は、記録媒体（例えば、図１の記録媒体２０）に対する最低記録時間が保証されるように画像信号を所定の符号化方式に従って圧縮符号化する画像信号処理装置であって、最低記録時間および圧縮符号化済の画像信号に対応する発生符号量に基づいて、符号化圧縮率を制御するために想定されるバッファの占有量を演算する演算手段（例えば、図６のレート制御バッファ演算部１０３）と、画像信号の絵柄の複雑さを示す複雑度を算出する算出手段（例えば、図６のＢＤ計算部９８）と、画像信号が圧縮符号化される前に、画像信号が圧縮符号化されるときの発生符号量を予測する予測手段（例えば、図６の発生符号量予測部９６）と、演算手段によって演算されたバッファの占有量、算出手段によって算出された複雑度、および予測手段によって予測された発生符号量に基づき、画像信号を圧縮符号化するときの目標符号量を設定する設定手段（例えば、図６の目標符号量決定部１００）と、設定手段によって設定された目標符号量に従い、画像信号を圧縮符号化する符号化手段（例えば、図６の基本構成部７０）とを含む。
【００３２】
請求項１５に記載の画像信号処理方法は、記録媒体に対する最低記録時間が保証されるように画像信号を所定の符号化方式に従って圧縮符号化する画像信号処理方法であって、最低記録時間および圧縮符号化済の画像信号に対応する発生符号量に基づいて、符号化圧縮率を制御するために想定されるバッファの占有量を演算する演算ステップ（例えば、図７のステップＳ３）と、画像信号の絵柄の複雑さを示す複雑度を算出する算出ステップ（例えば、図８のステップＳ１２）と、画像信号が圧縮符号化される前に、画像信号が圧縮符号化されるときの発生符号量を予測する予測ステップ（例えば、図８のステップＳ２１）と、演算ステップの処理で演算されたバッファの占有量、算出ステップの処理で算出された複雑度、および予測ステップの処理で予測された発生符号量に基づき、画像信号を圧縮符号化するときの目標符号量を設定する設定ステップ（例えば、図８のステップＳ２３）と、設定ステップの処理で設定された目標符号量に従い、画像信号を圧縮符号化する符号化ステップ（例えば、図７のステップＳ２）とを含む。
【００３３】
請求項１７に記載のビデオカメラ（例えば、図１のディジタルビデオカメラ）は、記録媒体に対する最低記録時間が保証されるように画像信号を所定の符号化方式に従って圧縮符号化し、記録媒体に記録するビデオカメラであって、被写体を撮影して画像信号を生成する撮影手段（例えば、図１のカメラ部１１）と、最低記録時間および圧縮符号化済の画像信号に対応する発生符号量に基づいて、符号化圧縮率を制御するために想定されるバッファの占有量を演算する演算手段（例えば、図６のレート制御バッファ演算部１０３）と、画像信号の絵柄の複雑さを示す複雑度を算出する算出手段（例えば、図６のＢＤ計算部９８）と、画像信号が圧縮符号化される前に、画像信号が圧縮符号化されるときの発生符号量を予測する予測手段（例えば、図６の発生符号量予測部９６）と、演算手段によって演算されたバッファの占有量、算出手段によって算出された複雑度、および予測手段によって予測された発生符号量に基づき、画像信号を圧縮符号化するときの目標符号量を設定する設定手段（例えば、図６の目標符号量決定部１００）と、設定手段によって設定された目標符号量に従い、画像信号を圧縮符号化する符号化手段（例えば、図６の基本構成部７０）と、符号化手段によって圧縮符号化された画像信号を記録媒体に記録する記録手段（例えば、図１の媒体Ｉ／Ｆ１４）とを含む。
【００３４】
なお、本発明のプログラムの請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係は、上述した本発明の画像信号処理方法のものと同様であるので、その記載は省略する。
【００３５】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【００３６】
図１は、本発明の一実施の形態であるディジタルビデオカメラの構成例を示している。このディジタルビデオカメラ１は、被写体を撮影して得られる画像データを、記録媒体２０に対する最低記録時間が保証されるように圧縮符号化し、記録媒体２０に記録するものである。
【００３７】
ディジタルビデオカメラ１は、被写体の画像データを生成するカメラ部１１、画像データをエンコードし、またデコードするカメラDSP(Digital Signal Processor)１２、およびディジタルビデオカメラ１の各部を制御する制御部１５から構成される。さらに、ディジタルビデオカメラ１は、エンコードされた画像データ（以下、符号化データと記述する）等を記憶するSDRAM(Synchronous Dynamic Random Access Memory)１３、記録媒体２０に対して符号化データを記録し、また読み出す媒体インタフェース(I/F)１４、ユーザの操作を受け付ける操作部１６、LCD(Liquid Crystal Display)１８に撮影中の画像や再生された画像を表示させるLCDコントローラ１７、およびパーソナルコンピュータやビデオレコーダ等の他の電子機器と符号化データ等を通信する外部インタフェース(I/F)１９から構成される。
【００３８】
カメラ部１１は、光学ブロック３１、CCD(Charge Coupled Device)３２、前処理回路３３、光学ブロック用ドライバ３４、CCD用ドライバ３５、およびタイミング生成回路３６から構成される。
【００３９】
光学ブロック３１は、レンズ群、フォーカス機構、シャッタ機構、絞り（アイリス）機構などから構成され、光学ブロック３１は、フォーカス機構、シャッタ機構、絞り機構を動作させることにより、被写体の光画像を取得してCCD３２に集光する。
【００４０】
CCD３２は、CCDドライバ３５からの駆動信号に応じて動作し、光学ブロック３１によって集光された被写体の光画像を受光し、制御部１５によって制御されるタイミング生成回路３６からのタイミング信号に従って、受光した光画像を光電変換により電気信号としての画像データに変換して前処理回路３３に供給する。光学ドライバ３４は、制御部１５からの制御に応じ、光学ブロック３１に供給するための駆動信号を生成する。CCDドライバ３５は、タイミング生成回路３６からのタイミング信号に基づいて、CCD３２に供給するための駆動信号を形成する。タイミング生成回路３６は、制御部１５からの制御に応じて、所定のタイミングを指示するためのタイミング信号を生成する。
【００４１】
前処理回路３３は、CCD３２から供給された画像データに対して、CDS(Correlated Double Sampling)処理を行ってノイズを除去するとともに、AGC(Automatic Gain Control)処理を行って利得を制御し、さらにA/D(Analog/Digital)変換を行って、ディジタル信号としての画像データを形成し、カメラDSP１２に出力する。
【００４２】
カメラDSP１２は、AF/AE/AWB処理部４１、エンコーダ４２、デコーダ４３、およびSDRAMコントローラ４４から構成される。AF/AE/AWB処理部１２は、カメラ部１１から入力される画像データに対して、ＡＦ(Auto Focus)、ＡＥ(Auto Exposure)、AWB(Auto White Balance)等のカメラ信号処理を施す。
【００４３】
エンコーダ４２は、カメラ信号処理が施された画像データ（以下、被符号化画像データとも記述する）を圧縮符号化して符号化画像データを生成する。生成された符号化画像データは、システムバス５４を介して媒体I/F１４に供給されて記録媒体２０に記録される。あるいは、SDRAM４４に供給され、SDRAM１３に記録される。なお、エンコーダ４２の詳細については、図６を参照して後述する。
【００４４】
デコーダ４３は、操作部２１に対するユーザの操作入力に応じ、記録媒体２０から読み出された符号化画像データを伸張し、その結果得られる画像データを、システムバス５４を介してLCDコントローラ１７に供給する。SDRAMコントローラ４４は、SDRAM１３に対して符号化画像データ等を記録し、また再生する。媒体I/F１４は、着脱可能な記録媒体２０に対し、符号化画像データ等を記録したり再生したりする。
【００４５】
制御部１５は、システムバス５４を介して接続されたCPU(Central Processing Unit)５１、RAM(Random Access Memory)５２、およびフラッシュROM(Read Only Memory)５３から構成され、CPU５１がフラッシュROM５３等に保持されているプログラムを実行することにより、ディジタルビデオカメラ１の各部を制御する。RAM５２は、処理の途中結果を一時記憶する等、主に作業領域として用いられる。フラッシュROM５３は、CPU５１において実行されるプログラム、各処理に必要とされるデータ等が記憶されている。
【００４６】
LCDコントローラ１７は、カメラDSP部１２から供給された画像データをLCD１８に適したフォーマットに変換してLCD１８に供給する。これにより、カメラ部１１によって撮影される画像データや記録媒体２０から読み出されてデコードされた画像データに対応する画像が、LCD１８の画面に表示される。
【００４７】
外部I/F１９は、例えばパーソナルコンピュータやビデオレコーダ等の電子機器と接続して、当該電子機器から符号化画像データ等の供給を受けたり、記録媒体２０に記録されている符号化画像データを当該電子機器に供給したりする。また、外部I/F１９に所定の通信モジュールを接続することにより、インタネットに代表されるネットワークとの通信インタフェースを追加したり、IEEE(Institute of Electrical and Electronics Engineers)1394、USB(Universal Serial Bus)等の有線用インタフェースを追加したり、IEEE８０２．１１等の無線インタフェースを追加したりすることが可能である。
【００４８】
記録媒体２０は、有限な記録領域を有し、媒体I/F１４による書き込みレートや読み出しレートの変動を許容するランダムアクセス可能な媒体であって、半導体メモリを用いたいわゆるメモリカード、記録可能なDVD(Digital Versatile Disk)、ＣＤ(Compact Disc)等の光記録媒体、磁気ディスクなどの種々のものを用いることができる。
【００４９】
次に、エンコーダ４２の概要について説明する。このエンコーダ４２は、自己の出力する符号化画像データが記録媒体２０にして書き込まれる際や、記録媒体２０から読み出されデコーダ４３によってデコーダされる際にオーバーフローが発生しないように、発生符号量を制御するためのレート制御バッファを想定し、その占有量に応じて発生符号量を調整するようになされている。
【００５０】
図２は、このレート制御バッファの占有量の時間変化を示している。ただし前提として、エンコーダ４２によるエンコード処理が一瞬で終了する、すなわち、エンコーダ４２に被符号化画像データが入力されたとき、直ちに対応する符号化データが出力されると仮定する。
【００５１】
例えば、ｎ番目のフレームの被符号化画像データが入力されるタイミングｔ（ｎ）の直前におけるレート制御バッファの占有量をBuf(n)とし、ｎ番目のフレームの被符号化画像データが符号化された符号化データの符号量をBit(n)とすれば、タイミングｔ（ｎ）におけるレート制御バッファの占有量はBuf(n)＋Bit(n)となる。レート制御バッファからは、常に平均転送レートＲで符号量が減算される。ここで、平均転送レートＲは、次式（１）に示されるように、記録媒体２０の記録可能領域を示すSIZE（ビット）、保証する最低記録時間Ｔ（秒）に基づいて算出される。
Ｒ＝SIZE／Ｔ                                                        …（１）
【００５２】
したがって、タイミングｔ（n+1）の直前におけるレート制御バッファの占有量Buf(n+1)は、次式（２）に示すとおりとなる。
Buf(n+1)＝Buf(n)＋Bit(n)−Ｒ（ｔ（n+1）−ｔ（n））                  …（２）
【００５３】
よって、タイミングｔ（n）の直前におけるレート制御バッファの占有量Buf(n)は、次式（２）’に示すとおりとなる。
Buf(n)＝Buf(n-1)＋Bit(n-1)−Ｒ（ｔ（n）−ｔ（n-1））                …（２）’
【００５４】
図３は、レート制御バッファの占有量Buf(n)と発生符号量を調整するためのゲインG_Buf(n)との関係を示している。ここで、ゲインG_Buf（n）は、その値が大きければ発生符号量が増加し、その値が小さければ発生符号量が減少する値である（詳細は後述する）。
【００５５】
レート制御バッファ占有量Buf(n)とゲインG_Buf(n)との関係は、レート制御バッファ占有量Buf(n)が最小値０のときにゲインG_Buf(n)は最大値となり、レート制御バッファ占有量Buf(n)が最大値のときにゲインG_Buf(n)は最小値０となって、レート制御バッファ占有量Buf(n)の増加に伴って曲線の傾き（ΔG_Buf(n)/ΔBuf(n)）が負の方向に大きくなるような関数ｆ1によって対応付けることが好ましい。関数ｆ1には、例えば指数関数を適用することが可能である。
【００５６】
また、エンコーダ４２は、被符号化画像データの絵柄にも対応して発生符号量を調整する。具体的には、絵柄が単純であるものを高い圧縮率で圧縮すると画質が劣化して目立ってしまうので圧縮率を下げて画質の劣化を抑止するように制御し、反対に絵柄が複雑であるものは高い圧縮率で圧縮して画質が劣化しても目立たないので圧縮率を上げて発生符号量が減少するように制御する。
【００５７】
被符号化画像データの絵柄が単純であるか複雑であるかの判断には、符号化する被符号化画像と、当該被符号化画像上のフレーム内予測であるイントラ予測画とのマクロブロック毎の差分を合計した値であるイントラ予測残差BD_Intra(n)を用いる。なお、イントラ予測残差BD_Intra(n)の代わりに、イントラ予測残差BD_Intra(n)と相関のある物理量を用いて当該判断を行ってもよい。
【００５８】
図４は、イントラ予測残差BD_Intra(n)と発生符号量を調整するためのゲインG_Intra(n)との関係を示している。ここで、ゲインG_Intra(n)は、その値が大きければ発生符号量が増加し、その値が小さければ発生符号量が減少する値である（詳細は後述する）。
【００５９】
イントラ予測残差BD_Intra(n)とゲインG_Intra(n)との関係は、イントラ予測残差BD_Intra(n)が最小値０のときにゲインG_Intra(n)は最大値となり、イントラ予測残差BD_Intra(n)が最大値のときにゲインG_Intraは最小値０となるような関数ｆ2によって対応付けることが好ましい。関数ｆ2には、例えば１次関数を適用することが可能である。
【００６０】
上述したゲインG_Buf(n)とゲインG_Intra(n)とは、次式（３）に示されるように乗算され、乗算結果のゲインＧ（ｎ）が発生符号量の調整に利用される。
Ｇ（ｎ）＝G_Buf(n)・G_Intra(n)                                      …（３）
【００６１】
なお、このゲインＧ（ｎ）は、図３に示された関数ｆ1と図４に示された関数ｆ2とに基づいて決定される図５に示すような３次元曲面上の一点を示すことを意味する。
【００６２】
このゲインＧ（ｎ）と別途演算される予測符号量Pred(n)との積が、ｎ番目のフレームに対応する被符号化画像データの目標符号量Target(n)に設定される。
Target(n)＝Ｇ（ｎ）・Pred(n)                                        …（４）
【００６３】
次に図６は、エンコーダ４２の構成例を示している。このエンコーダ４２は、離散コサイン変換(DCT:Discrete Cosine Transform)またはカルーネン・レーベ変換等の直交変換と動き補償とによって被符号化画像信号を圧縮符号化するものであって、フレーム間予測（インター(inter)予測）機能およびフレーム内予測（イントラ(intra)予測）機能を有する基本構成部７０、および発生符号量を調整するための目標符号量を基本構成部７０に供給する符号量調整部９０から構成される。
【００６４】
基本構成部７０において、前段からの被符号化画像データは、差分演算部７１、およびインター予測部７９に入力される。差分演算部７１は、入力される被符号化画像データがインター符号化される画像である場合（例えば、MPEG方式におけるＰピクチャまたはＢピクチャである場合）、モード判定部８１から入力される予測画像データと被符号化画像データとの差分を計算して、計算結果である差分データをDCT部７２に出力する。また入力される被符号化画像データがインター符号化されず、イントラ符号化される画像である場合（例えば、MPEG方式におけるＩピクチャである場合）、そのままDCT部７２に出力する。なお、入力される被符号化画像データがインター符号化される画像であるか等の指定は、CPU５１によって行われる。
【００６５】
DCT部７２は、前段から入力される被符号化画像データと予測された画像データの間の差分に直交変換処理を行い、その結果得られる変換係数を量子化部７３に出力する。量子化部７３は、符号量調整部９０から入力される目標符号量Target(n)に基づいて量子化スケールを算出し、算出した量子化スケールを用いてDCT部７２から入力される変換係数に量子化処理を行って可逆符号化部７４および逆量子化部７５に出力する。可逆符号化部７４は、量子化部７３から入力される量子化された変換係数に可変長符号化または算術符号化等の可逆符号化処理を行い、その結果得られる符号化データを、後段のレート制御バッファ演算部１０３および媒体I/F１４に出力する。
【００６６】
逆量子化部７５は、量子化部７３から入力される量子化された変換係数に、量子化部７３における量子化処理に対応する逆量子化処理を行い、その結果得られる変換係数を逆DCT部７６に出力する。逆DCT部７６は、逆量子化部７６から入力される変換係数に、量子化部７３における直交変換処理に対応する逆直交変換処理を行い、その結果得られる復号された画像データまたは差分データをデブロックフィルタ７７に出力する。デブロックフィルタ７７は、逆DCT部７６から入力される、復号された画像データまたは差分データからブロック歪みを除去してフレームメモリ７８に出力する。フレームメモリ７８は、デブロックフィルタ７７から画像データが入力された場合にはこれを保持し、差分データが保持された場合には、保持している画像データに基づいて差分データに対応する画像データを再構成し、それを保持する。
【００６７】
インター予測部７９、イントラ予測部８０、およびモード判定部８１は、前段から入力される被符号化画像データがインター符号化される画像である場合に動作する。インター予測部７９は、フレームメモリ７８に保持されている再構成された画像データを参照画像データとして読み出し、動き予測・補償処理を行って前段から入力される被符号化画像データに対応するインター予測画像データを生成し、モード判定部８１に出力する。イントラ予測部８０は、フレームメモリ７８に保持されている再構成された画像データを参照画像データとして読み出し、イントラ予測に基づくイントラ予測画像を生成してモード判定部８１に出力する。
【００６８】
モード判定部８１は、エンコーダ４２に入力される被符号化画像データがインター符号化される画像であって、インター予測とイントラ予測の両方が許容されている画像である場合、インター予測部７９から入力されるインター予測画像データとイントラ予測部８０から入力されるイントラ予測画像データをマクロブロック毎に比較し、符号化効率の高い方をマクロブロック単位で採用して予測画像データを生成し、差分演算部７１に出力する。また、エンコーダ４２に入力される被符号化画像データがインター符号化される画像であって、インター予測またはイントラ予測の一方だけが許容されている画像である場合、インター予測部７９から入力されるインター予測画像データ、またはイントラ予測部８０から入力されるイントラ予測画像データを予測画像データとして差分演算部７１に出力する。
【００６９】
符号量調整部９０において、前段からの被符号化画像データは、フレームメモリ９１、簡易インター予測部９２、差分演算部９３、イントラ予測部９４、および差分演算部９５に入力される。
【００７０】
フレームメモリ９１は、前段から入力される被符号化画像データを保持し、簡易インター予測部９２からの要求に応じて保持している被符号化画像データを供給する。簡易インター予測部９２は、前段から被符号化画像データが入力されたとき、既にフレームメモリ９１に保持されている以前の被符号化画像データを参照画像データとして読み出し、簡易インター予測画像データを生成して差分演算部９３に出力する。
【００７１】
簡易インター予測部９２によって生成される簡易インター予測画像データは、上述したインター予測部７９における正規のインター予測演算によって生成されるインター予測画像データほどの精度は必要とされず、当該インター予測画像データと同じ傾向を有していればよい。したがって、例えば、被符号化画像データと参照画像データをそれぞれ縮小して比較する等により、正規のインター予測演算に比較して省略された演算によって生成したものでよい。
【００７２】
差分演算部９３は、簡易インター予測部９２から入力される簡易インター予測画像データと、前段から入力される被符号化画像データの差分を演算し、この演算結果を簡易インター予測残差データとして発生符号量予測部９６に出力する。
【００７３】
イントラ予測部９４は、前段からの被符号化画像データに基づき、当該被符号化画像データに対応するイントラ予測画像データを生成する。このイントラ予測画像データは、符号化する原画である被符号化画像データに基づいて生成されるので、上述したイントラ予測部８０によって再構成された以前の画像データに基づいて生成されるイントラ予測画像データに比較してより精度の高いものとなる。生成されたイントラ予測画像データは差分演算部９５に入力される。なお、イントラ予測部９４を省略し、上述したイントラ予測部８０によって生成されるイントラ予測画像データを差分演算部９５に入力するようにしてもよい。差分演算部９５は、イントラ予測部９４から入力されるイントラ予測画像データと、前段から入力される被符号化画像データの差分を演算し、この演算結果をイントラ予測残差データとして発生符号量予測部９６に出力する。
【００７４】
発生符号量予測部９６の判定部９７は、差分演算部９３から入力される簡易インター予測残差データと差分演算部９５から入力されるイントラ予測残差データとをマクロブロック毎に比較し、その値の小さい方を当該マクロブロックに対応する残差MB_BDに決定し、決定結果をＢＤ(Block Difference)計算部９８に通知する。ＢＤ計算部９８は、１フレームを構成する全てのマクロブロックにそれぞれ対応する残差MB_BDを合計して、フレーム残差BDを算出する。さらに、ＢＤ計算部９８は、差分演算部９５から入力されるイントラ予測残差データの各マクロブロックに対応する値を合計することにより、イントラ予測残差BD_Intraを算出する。以下、ｎ番目の被符号化画像データに対応するフレーム残差をBD(n)、イントラ予測残差をBD_Intra(n)と記述する。また、以下に説明する数値についても同様に、ｎ番目の被符号化画像データに対応する数値には(n)が付与されているものとする。
【００７５】
予測符号量計算部９９は、ＢＤ計算部９８によって計算されるフレーム残差BDおよびイントラ予測残差BD_Intra、並びにレート制御バッファ演算部１０３から入力される実際に発生した符号量が正規化された値NormalizedBit等に基づいて、ｎ番目の被符号化画像データに対応する予測符号量Pred(n)を算出し、目標符号量決定部１００に出力する。
【００７６】
目標符号量決定部１００のゲイン計算部１０１は、ＢＤ計算部９８によって算出されたイントラ予測残差BD_Intra(n)、およびレート制御バッファ演算部１０３から入力されるレート制御バッファの占有量Buf(n)等に基づいてゲインG(n)を算出する。目標符号量計算部１０２は、予測符号量計算部９９によって算出された予測符号量Pred(n)とゲイン計算部１０１によって算出されたゲインG(n)を乗算して目標符号量Target(n)を算出し、量子化部７３に出力する。
【００７７】
レート制御バッファ演算部１０３は、可変長符号化７４から符号化データが出力される毎、その符号量Bit(n)を正規化してNormalizedBit(n)を算出し、発生符号量予測部９６に出力する。また、レート制御バッファ演算部１０３は、可変長符号化７４から符号化データが出力される毎、その符号量を仮想的なレート制御バッファに加算するとともに、記録媒体２０に対して保証する最低記録時間Ｔに基づいて導出される所定の符号量を減算して占有量Buf(n)を算出し、目標符号量決定部１００に出力する。
【００７８】
次に、前段から入力されたｎ番目のフレームの被符号化画像データにエンコード処理を施すエンコーダ４１の動作について、図７のフローチャートを参照して説明する。
【００７９】
ステップＳ１において、符号量調整部９０は、前段から入力されたｎ番目のフレームの被符号化画像データに対応する目標符号量Target(n)を決定して基本構成部７０の量子化部７３に出力する。ステップＳ１における目標符号量決定処理について、図８のフローチャートを参照して詳述する。
【００８０】
ステップＳ１１において、イントラ予測部９４は、前段から入力されたｎ番目のフレームの被符号化画像データに基づき、当該被符号化画像データに対応するイントラ予測画像データを生成して差分演算部９５に出力する。ステップＳ１２において、差分演算部９５は、イントラ予測部９４から入力されたイントラ予測画像データと、前段から入力されたｎ番目のフレームの被符号化画像データの差分を演算し、この演算結果をイントラ予測残差データとして発生符号量予測部９６に出力する。発生符号量予測部９６のＢＤ計算部９８は、差分演算部９５から入力されたイントラ予測残差データの各マクロブロックに対応する値を合計することにより、イントラ予測残差BD_Intra(n)を算出する。このイントラ予測残差BD_Intra(n)が、ｎ番目のフレームの絵柄が単純であるか複雑であるかの判断基準となる。
【００８１】
ステップＳ１３において、簡易インター予測部９２は、前段から入力されたｎ番目のフレームの被符号化画像データがインター符号化される画像であるか否かを判定し、インター符号化される画像であると判定した場合、処理はステップＳ１４に進む。
【００８２】
ステップＳ１４において、簡易インター予測部９２は、前段から入力されたｎ番目のフレームの被符号化画像データと、フレームメモリ９１から参照画像データとして読み出した以前（例えば、ｎ−１番目のフレーム）の被符号化画像データとに基づき、簡易インター予測画像データを生成して差分演算部９３に出力する。ステップＳ１５において、差分演算部９３は、簡易インター予測部９２から入力された簡易インター予測画像データと、前段から入力されたｎ番目のフレームの被符号化画像データの差分を演算し、この演算結果を簡易インター予測残差データとして発生符号量予測部９６に出力する。
【００８３】
ステップＳ１６において、発生符号量予測部９６の判定部９７は、差分演算部９３から入力された簡易インター予測残差データと差分演算部９５から入力されたイントラ予測残差データの対応するマクロブロックに注目してその大きさを比較する。簡易インター予測残差データの方がイントラ予測残差データよりも小さいと判定されたマクロブロックについてはステップＳ１７に進み、簡易インター予測残差データの当該マクロブロックに対応する値を当該マクロブロックの残差MB_BDに決定する。反対に、簡易インター予測残差データの方がイントラ予測残差データよりも小さくないと判定されたマクロブロックについてはステップＳ１８に進み、イントラ予測残差データの当該マクロブロックに対応する値を当該マクロブロックの残差MB_BDに決定する。
【００８４】
そして、ステップＳ１９において、ＢＤ計算部９８は、ステップＳ１７またはＳ１８で当該マクロブロックの残差MB_BDに決定された値をBD(n)に加算する。ステップＳ２０において、判定部９７は、全てのマクロブロックに注目したか否かを判定する。ここで全てのマクロブロックに注目したと判定されるまで、処理はステップＳ１６に戻り、ステップＳ１６乃至１９の処理が繰り返される。これにより、ｎ番目のフレームの被符号化画像データに対応するフレーム残差BD(n)が算出される。ステップＳ２０において、全てのマクロブロックに注目したと判定された場合、処理はステップＳ２１に進む。
【００８５】
ステップＳ２１において、予測符号量計算部９９は、ＢＤ計算部９８によって計算されたフレーム残差BD(n)およびイントラ予測残差BD_Intra(n)、並びにレート制御バッファ演算部１０３から入力される実際に発生した符号量が正規化された値NormalizedBit(n)等に基づいて、ｎ番目の被符号化画像データに対応する予測符号量Pred(n)を算出し、目標符号量決定部１００に出力する。
【００８６】
予測符号量Pred(n)は、次式（５）に示すように、ベース発生符号量Pivot(n)と補正項ΔTrend(n)との和として算出する。
Pred(n)＝Pivot(n)＋ΔTrend(n)                                        …（５）
【００８７】
ベース発生符号量Pivot(n)は、次式（６）で定義される値であり、ｎ番目のフレームの被符号化画像データを符号化したときの発生符号量にほぼ一致すると見込まれる値である。
Pivot(n)＝ConstQ(0)・（１＋ｍ（BD(n)−BD(0)）／BD(0)）                …（６）
【００８８】
ここでConstQ(0)は、現在符号化中であるｎ番目のフレームを含むシーケンスのうち、ｎ番目のフレームと同じピクチャタイプの最初のフレームの被符号化画像データを、予め設定されている固定量子化スケールQP_I，QP_P，またはQP_Bを用いて固定圧縮率の符号化を行ったときの発生符号量であって、事前にレート制御バッファ演算部１０３から供給されているものとする。調整値ｍは０≦ｍ≦１であって、例えば当該エンコーダ４２が出荷されるときに固定値として設定される。ただし、ディジタルビデオカメラ１のユーザが設定を変更できるようにしてもかなわない。
【００８９】
補正項ΔTrend(n)は、次式（７）に示すようにｎ番目以前のＮフレームを実際に符号化したときの発生符号量Bit(n-1),(n-2)…が正規化されたNormalizedBit(n-1),(n-2)…と目標符号量Target(n-1),(n-2)…との差に基づいて算出される値である。
ΔTrend(n)＝ｇ・Σ（Target(k)−NormalizedBit(k)）／Ｎ                  …（７）
【００９０】
ここで、Σはｋ＝１，２，…Ｎの総和演算を意味しており、整数Ｎは２≦Ｎ≦５が適切である。調整値ｇは０≦ｇ≦１である。整数Ｎおよび調整値ｇも、例えば当該エンコーダ４２が出荷されるときに固定値として設定される。ただし、ディジタルビデオカメラ１のユーザが設定を変更できるようにしてもかなわない。
【００９１】
ステップＳ２２において、目標符号量決定部１００のゲイン計算部１０１は、ＢＤ計算部９８によって算出されたイントラ予測残差BD_Intra(n)、およびレート制御バッファ演算部１０３により式（２）’に基づいて得られるレート制御バッファの占有量Buf(n)に基づき、式（３）に示されたように、ゲインG_Buf(n)とゲインG_Intra（n）の積であるゲインG(n)を算出する。
【００９２】
ステップＳ２３において、目標符号量計算部１０２は、式（４）に示されたように、予測符号量計算部９９によって算出された予測符号量Pred(n)とゲイン計算部１０１によって算出されたゲインG(n)の積である目標符号量Target(n)を算出して量子化部７３に出力する。
【００９３】
なお、ステップＳ１３において、前段からｎ番目のフレームの入力された被符号化画像データがインター符号化される画像ではないと判定された場合には、ステップＳ２４に進む。ステップＳ２４において、ＢＤ演算部９８は、ステップＳ１２の処理で算出されたイントラ予測残差データの各マクロブロックの値を合計してｎ番目のフレームの被符号化画像データに対応するフレーム残差BD(n)を算出する。この後、処理はステップＳ２１に進み、上述した処理と同様の処理が行われる。以上で目標符号量決定処理の説明を終了する。
【００９４】
図７に戻る。ステップＳ２において、基本構成部７０は、符号量調整部９０から入力された目標符号量Target(n)を目指して、前段から入力されたｎ番目のフレームの被符号化画像データを符号化し、その結果得られた符号化画像データを後段に出力する。ステップＳ２における符号化処理について、被符号化画像データがインター符号化される画像である場合を例に図９のフローチャートを参照して詳述する。
【００９５】
ステップＳ３１において、インター予測部７９は、フレームメモリ７８に保持されている再構成された画像データを参照画像データとして読み出し、動き予測・補償処理を行って前段から入力されたｎ番目のフレームの被符号化画像データに対応するインター予測画像データを生成し、モード判定部８１に出力する。イントラ予測部８０は、フレームメモリ７８に保持されている再構成された画像データ（例えば、ｎ−１番目のフレームに対応する画像データ）を参照画像データとして読み出し、イントラ予測に基づくイントラ予測画像を生成してモード判定部８１に出力する。
【００９６】
ステップＳ３２において、モード判定部８１は、エンコーダ４２に入力された被符号化画像データがインター符号化される画像であって、インター予測とイントラ予測の両方が許容されている画像である場合、インター予測部７９から入力されたインター予測画像データとイントラ予測部８０から入力されたイントラ予測画像データをマクロブロック毎に比較し、符号化効率の高い方をマクロブロック毎に採用して予測画像データを生成し、差分演算部７１に出力する。また、エンコーダ４２に入力された被符号化画像データがインター符号化される画像であって、インター予測またはイントラ予測の一方だけが許容されている画像である場合、インター予測部７９から入力されたンター予測画像データ、またはイントラ予測部８０から入力されたントラ予測画像データを予測画像データとして差分演算部７１に出力する。
【００９７】
以下、ステップＳ３３乃至Ｓ３４においては、被符号化画像データを構成するマクロブロックがCPU５１により１つずつ処理対象とされてマクロブロック単位で処理が行われる。ステップＳ３３において、差分演算部７１は、前段から入力された被符号化画像データと、モード判定部８１から入力される予測画像データとの差分を計算して、計算結果である差分データをDCT部７２に出力する。DCT部７２は、差分演算部７１から入力された差分データに直交変換処理を行い、その結果得られた変換係数を量子化部７３に出力する。量子化部７３は、符号量調整部９０の目標符号量計算部１０２から入力されている目標符号量Target(n)に基づいて量子化スケールを算出し、算出した量子化スケールを用いてDCT部７２から入力される変換係数に量子化処理を行って可逆符号化部７４および逆量子化部７５に出力する。可逆符号化部７４は、量子化部７３から入力された量子化された変換係数に可逆符号化処理を行い、その結果得られる符号化データを、後段のレート制御バッファ演算部１０３および媒体I/F１４に出力する。
【００９８】
量子化部７３における目標符号量Target(n)に基づく量子化スケールの算出、および可逆符号化部７４は、例えばMPEG2 TM5 step2に従い、被符号化画像データのピクチャタイプ毎にそれぞれ次式（８）乃至（１０）に示すように仮想バッファｄｉ，ｄｐ，ｄｂを定義して、マクロブロック単位の符号化を行った後に仮想バッファの占有量を更新して量子化スケールを計算するものとする。
ｄｉ＝ｄ0ｉ＋Ｂj-1−Ｔｉ・（ｊ−１）／MB_Count                      …（８）
ｄｐ＝ｄ0ｊ＋Ｂj-1−Ｔｐ・（ｊ−１）／MB_Count                      …（９）
ｄｂ＝ｄ0ｂ＋Ｂj-1−Ｔｂ・（ｊ−１）／MB_Count                      …（１０）
【００９９】
ここで、ｄ0ｉ，ｄ0ｊ，ｄ0ｂは、それぞれＩ，Ｐ，Ｂピクチャ用仮想バッファの初期値である。Ｂj-1は、ｊ−１番目のマクロブロックまでの発生符号量である。Ｔｉ，Ｔｐ，Ｔｂは、それぞれＩ，Ｐ，Ｂピクチャの目標符号量でありTarget(n)に相当する。MB_Countは、１フレーム内のマクロブロック数である。
【０１００】
Ｉ，Ｐ，Ｂピクチャそれぞれの量子化スケールＱｉ，Ｑｐ，Ｑｂは、次式（１１）乃至（１３）によって算出される。
Ｑｉ＝ｄｉ×３１／ｒ                                              …（１１）
Ｑｐ＝ｄｐ×３１／ｒ                                              …（１２）
Ｑｂ＝ｄｂ×３１／ｒ                                              …（１３）
【０１０１】
ここで、ｒは次式（１４）によって示されるリアクションパラメータである。
ｒ＝２×bit_rate／picture_rate                                    …（１４）
bit_rateは、1秒間あたりの符号量であり、そのシステムで符号化する場合の平均的な値である。picture_rateは、1秒間当たりのピクチャの枚数である。
【０１０２】
なお、式（１１）は、MPEG2 TM5 step2に定められている量子化スケール算出の式と同様であるが、式（１２）および（１３）は、本発明者が導き出したオリジナルの数式であって、MPEG2 TM5 step2に定められている量子化スケール算出の式に比較して、より精度よく発生符号量Bit(n)を目標符号量Target(n)に近づけることができる。
【０１０３】
上述したように、ｄ0ｉ，ｄ0ｐ，ｄ0ｂは、それぞれＩ，Ｐ，Ｂピクチャ用仮想バッファの初期値であって、通常は前回符号化した被符号化画像データの最後のマクロブロックに対応する値を採用して代入する。ただし、シーケンス先頭の被符号化画像データを符号化する場合には、次式式（１５）乃至（１７）を用いてｄ0ｉ，ｄ0ｐ，ｄ0ｂを算出する。
ｄ0ｉ＝QP_I×Ｒ／３１                                            …（１５）
ｄ0ｐ＝QP_P×Ｒ／３１                                            …（１６）
ｄ0ｂ＝QP_B×Ｒ／３１                                            …（１７）
【０１０４】
ここで、QP_I，QP_P，QP_Bは、それぞれシーケンス先頭のＩ，ＰまたはＢピクチャを符号化するときに用いる予め設定された固定量子化スケールである。
【０１０５】
なお、エンコーダ４１がMPEG2に従うものではなく、MPEG4 AVCに従うものである場合、式（１１）乃至（１３）、および式（１５）乃至（１７）中における３１を５１に置換した次式（１８）乃至（２０）を用いればよい。
【０１０６】
ｄ0ｉ＝QP_I×Ｒ／５１                                            …（１８）
ｄ0ｐ＝QP_P×Ｒ／５１                                            …（１９）
ｄ0ｂ＝QP_B×Ｒ／５１                                            …（２０）
【０１０７】
上述した量子化スケールの算出、算出した量子化スケールを用いた変換係数の量子化、および可逆符号化が処理対象のマクロブロックに行われた後、処理はステップＳ３５に進む。ステップＳ３５において、CPU５１は、被符号化画像データの全てのマクロブロックを処理対象としたか否かを判定し、被符号化画像データの全てのマクロブロックを処理対象としたと判定されるまで、ステップＳ３２乃至Ｓ３５の処理が繰り返される。被符号化画像データの全てのマクロブロックを処理対象としたと判定された場合、当該符号化処理は終了される。
【０１０８】
図７に戻る。ステップＳ３以降の処理は次のｎ＋１番目のフレームの被符号化画像データを符号化するための準備として行われる。ステップＳ３において、符号量調整部９０のレート制御バッファ演算部１０３は、ステップＳ２の処理で出力された符号化画像データの符号量Bit(n)をレート制御バッファに充填（加算）する。ステップＳ４において、レート制御バッファ演算部１０３は、次式（２１）に示すように、ステップＳ２の処理で出力された符号化画像データの符号量Bit(n)をステップＳ１の処理で算出されているゲインＧ（ｎ）で除算することにより正規化してNormalizedBit(n)を計算する。このように符号量Bit(n)を正規化することにより、予測時に演算したG(n)の影響をなくして予測誤差をフィードバックすることが可能である。
NormalizedBit(n)＝Bit(n)／G(n)                                    …（２１）
【０１０９】
以上で、ｎ番目のフレームの被符号化画像データにエンコード処理が終了される。ｎ＋１番目のフレームの被符号化画像データが存在する場合には、再度ステップＳ１乃至Ｓ４の処理が繰り返される。以上、ｎ番目のフレームの被符号化画像データに対するエンコード処理の説明を終了する。
【０１１０】
上述したエンコード処理では、レート制御バッファの最大サイズBUF_MAXも符号化画像データの記録領域として扱っていた。したがって、実際に記録媒体２０に対して保証される真の最低記録時間T_ACTUALと最低記録時間Ｔとの関係は次式（２２）に示すとおりであり、真の最低記録時間T_ACTUALは、最低記録時間Ｔよりも若干短いものとなる。
Ｔ＝（SIZE＋BUF_MAX）／SIZE・T_ACTUAL                              …（２２）
【０１１１】
したがって、式（１）を用いて平均転送レートＲを算出するときには、真の最低記録時間T_ACTUALに基づいて算出される最低記録時間Ｔを代入するようにすれば、より正確な真の最低記録時間T_ACTUALを保証することが可能となる。
【０１１２】
ところで、上述したエンコード処理は、図６に示されたように構成されるハードウェアとしてのエンコーダ４２により実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ（例えば、図１のCPU５１）、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば図１０に示されるように構成される汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【０１１３】
このパーソナルコンピュータ３００は、CPU(Central Processing Unit)３０１を内蔵している。CPU３０１にはバス３０４を介して、入出力インタフェース３０５が接続されている。バス３０４には、ROM(Read Only Memory)３０２およびRAM(Random Access Memory)３０３が接続されている。
【０１１４】
入出力インタフェース３０５には、ユーザが操作コマンドを入力するキーボード、マウス、等の入力デバイスよりなる入力部３０６、ディスプレイよりなる出力部３０７、プログラムや各種データを格納するハードディスクドライブなどよりなる記憶部３０８、およびモデム、LAN（Local Area Network）アダプタなどよりなり、インタネットに代表されるネットワークを介した通信処理を実行する通信部３０９が接続されている。また、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む）、光磁気ディスク（ＭＤ(Mini Disc)を含む）、もしくは半導体メモリなどの記録媒体３１１に対してデータを読み書きするドライブ３１０が接続されている。
【０１１５】
このパーソナルコンピュータ３００に上述した一連の処理を実行させるプログラムは、記録媒体３１１に格納された状態でパーソナルコンピュータ３１０に供給され、ドライブ３１０によって読み出されて記憶部３０８に内蔵されるハードディスクドライブにインストールされている。記憶部３０８にインストールされているプログラムは、入力部３０６に入力されるユーザからのコマンドに対応するCPU３０１の指令によって、記憶部３０８からRAM３０３にロードされて実行される。
【０１１６】
なお、本明細書において、プログラムに基づいて実行されるステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１１７】
また、プログラムは、１台のコンピュータにより処理されるものであってもよいし、複数のコンピュータによって分散処理されるものであってもよい。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであってもよい。
【０１１８】
本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【図面の簡単な説明】
【０１１９】
【図１】本発明を適用したディジタルビデオカメラの構成例を示すブロック図である。
【図２】レート制御バッファの占有量について説明するための図である。
【図３】レート制御バッファの占有量Buf(n)とゲインG_Buf(n)の関係を示す図である。
【図４】イントラ予測残差BD_Intra(n)とゲインG_Intra(n)の関係を示す図である。
【図５】レート制御バッファの占有量Buf(n)とイントラ予測残差BD_Intra(n)とゲインＧ（ｎ）の関係を示す図である。
【図６】図１のエンコーダの構成例を示すブロック図である。
【図７】図６のエンコーダによるエンコード処理を説明するフローチャートである。
【図８】図７のステップＳ１における目標符号量決定処理を説明するフローチャートである。
【図９】図７のステップＳ２における符号化処理を説明するフローチャートである。
【図１０】汎用パーソナルコンピュータの構成例を示すブロック図である。
【符号の説明】
【０１２０】
１  ディジタルビデオカメラ，  ２０  記録媒体，  ４２  エンコーダ，  ７０  基本構成部，  ７１  差分演算部，  ７２  DCT部，  ７３  量子化部，  ７４  可逆符号化部，  ７５  逆量子化部，  ７６  逆DCT部，  ７７  デブロックフィルタ，  ７８  フレームメモリ，  ７９  インター予測部，  ８０  イントラ予測部，  ８１  モード判定部，  ９０  符号量調整部，  ９１  フレームメモリ，  ９２  簡易インター予測部，  ９３  差分演算部，  ９４  イントラ予測部，  ９５  差分演算部，  ９６  発生符号量予測部，  ９７  判定部，  ９８  ＢＤ計算部，  ９９  予測符号量計算部，  １００  目標符号量決定部，  １０１  ゲイン計算部，  １０２  目標符号量計算部，  １０３  レート制御バッファ演算部
【図１】
2006148535.tif 000003
【図２】
2006148535.tif 000004
【図３】
2006148535.tif 000005
【図４】
2006148535.tif 000006
【図５】
2006148535.tif 000007
【図６】
2006148535.tif 000008
【図７】
2006148535.tif 000009
【図８】
2006148535.tif 000010
【図９】
2006148535.tif 000011
【図１０】
2006148535.tif 000012