(57)【特許請求の範囲】
【請求項１】
第１の画像から符号化対象ブロックを取得する取得手段と、
前記第１の画像とは異なる第２の画像に基づき、前記符号化対象ブロックに対応する予測画像を生成する生成手段と、
前記符号化対象ブロックと前記予測画像との間の差分情報を計算する差分情報計算手段と、
前記差分情報の情報量の指標となる指標値を計算する指標値計算手段と、
前記指標値に対応する下限値を下回らないように量子化係数を決定する決定手段と、
前記決定された量子化係数を用いて前記差分情報を量子化する量子化手段と、
前記量子化された差分情報をエントロピー符号化する符号化手段と
を有し、
前記指標値と前記下限値との対応関係は、前記指標値が所定の閾値以上である場合は、前記下限値が０より大きな値に対応付けられ、前記指標値が前記所定の閾値以上でない場合は、前記下限値が０に対応付けられる関係であり、
前記決定手段は、前記下限値を考慮せずに暫定的な量子化係数を決定し、前記暫定的な量子化係数が前記下限値を下回る場合に前記下限値を最終的な量子化係数として決定し、当該暫定的な量子化係数が前記下限値を下回らない場合に前記暫定的な量子化係数を最終的な量子化係数として決定し、
前記決定手段は、前記第１の画像から取得される符号化対象ブロックについて、前記下限値を最終的な量子化係数として決定した回数が所定回数を超える前後で、前記指標値と前記下限値との対応関係を変化させる
ことを特徴とする符号化装置。
【請求項２】
前記決定手段は、前記生成手段が前記第１の画像のみに基づいて前記予測画像を生成したか否かに応じて、前記指標値と前記下限値との対応関係を変化させることを特徴とする請求項１に記載の符号化装置。
【請求項３】
前記符号化手段は、ＣＡＢＡＣ及びＣＡＶＬＣを含む複数の符号化方式の中から選択された符号化方式により、前記量子化された差分情報をエントロピー符号化し、
前記決定手段は、前記選択された符号化方式に応じて前記指標値と前記下限値との対応関係を変化させることを特徴とする請求項１または２に記載の符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化装置に関する。
【背景技術】
【０００２】
近年、音声信号、映像信号など所謂マルチメディアに関連する情報のデジタル化が急進しており、これに対応して映像信号の圧縮符号化復号化技術が注目されている。圧縮符号化復号化技術により、映像信号の格納に必要な記憶容量や伝送に必要な帯域を減少させることができるため、圧縮符号化復号化技術はマルチメディア産業にとって極めて重要な技術である。
【０００３】
圧縮符号化復号化技術は、多くの映像信号が有する自己相関性の高さ（即ち、冗長性）を利用して情報量（データ量）を圧縮している。映像信号が有する冗長性には、時間冗長性及び二次元の空間冗長性がある。時間冗長性は、ブロック単位の動き検出及び動き補償を用いて低減することができる。一方、空間冗長性は、離散コサイン変換（ＤＣＴ）を用いて低減させることができる。
【０００４】
国際標準の１つとなっているＨ．２６４／ＭＰＥＧ４−ＡＶＣは、ＣＡＶＬＣ或いはＣＡＢＡＣと呼ばれるコンテキスト適応型符号化方式を採用しており、従来の符号化技術より符号化効率を高めている。なお、ＣＡＶＬＣはContext-based Adaptive-Variable-Length Codingの省略形であり、ＣＡＢＡＣはContext-Adaptive Binary Arithmetic Codingの省略形である。
【０００５】
Ｈ．２６４／ＭＰＥＧ４−ＡＶＣでは１マクロブロックあたりの最大符号量（符号量の上限値）が規定されており、４：２：０カラーコンポーネント、８ビットで符号化を行う場合、符号量は３２００ビットを超えてはならないことになっている。そのため、符号化の際には符号量が３２００ビットを超えないように符号化制御を行うことが求められる。符号化を行った結果、符号量が上限値を超えてしまった場合には規格違反となり、予測方法や量子化係数を設定し直して再符号化を行う必要がある。その際には、再符号化処理が完了するまで次のマクロブロックの符号化処理が行えないため、ビデオカムコーダなどリアルタイムでの処理が要求される機器での処理時間の遅延が懸念される。
【０００６】
再符号化を行う方法の他に、画素値をそのまま多重化するＩ＿ＰＣＭモードと呼ばれる予測モードを用いて符号化する方法もある。しかし、このＩ＿ＰＣＭモードの場合、符号量が上限値を超えるか否かの判定をエントロピー符号化後でないと行えないため、Ｉ＿ＰＣＭデータを予め保存しておく必要がある。こうした仕組みを利用して、１マクロブロックあたりの符号量が上限値を超えることを防止するために、エントロピー符号化前の情報からある閾値を基に符号量を予測し、Ｉ＿ＰＣＭデータへ差し替える技術が提案されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００７−１６６０３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１に記載の技術では、エントロピー符号化部へ、マクロブロックの画像データを渡す必要がある。ピクチャ内のどのマクロブロックで符号量が上限値を超えるかは実際に符号化をしてみないと分からないので、任意のマクロブロックで上限値の超過が発生する可能性に備えるためには、ピクチャ全体の画像データを保持しておく必要がある。そのため、メモリ消費量が増大するという問題がある。
【０００９】
また、エントロピー符号化方式としてＣＡＢＡＣが使用される場合、ビットレートに比例して処理時間が長くなるため、ビットレートが高い場合にはより多くの画像データを保持する必要性が生じる。その結果、メモリ消費量が更に増大する。
【００１０】
そこで、本発明は、複数の画像を符号化する際に、メモリ消費量の増大を抑制しつつ、各ブロックの符号量が上限値を超える可能性を低減できるようにすることを目的とする。
【課題を解決するための手段】
【００１１】
本発明に係る符号化装置は、第１の画像から符号化対象ブロックを取得する取得手段と、前記第１の画像とは異なる第２の画像に基づき、前記符号化対象ブロックに対応する予測画像を生成する生成手段と、前記符号化対象ブロックと前記予測画像との間の差分情報を計算する差分情報計算手段と、前記差分情報の情報量の指標となる指標値を計算する指標値計算手段と、前記指標値に対応する下限値を下回らないように量子化係数を決定する決定手段と、前記決定された量子化係数を用いて前記差分情報を量子化する量子化手段と、前記量子化された差分情報をエントロピー符号化する符号化手段とを有し、前記指標値と前記下限値との対応関係は、前記指標値が所定の閾値以上である場合は、前記下限値が０より大きな値に対応付けられ、前記指標値が前記所定の閾値以上でない場合は、前記下限値が０に対応付けられる関係であり、前記決定手段は、前記下限値を考慮せずに暫定的な量子化係数を決定し、前記暫定的な量子化係数が前記下限値を下回る場合に前記下限値を最終的な量子化係数として決定し、当該暫定的な量子化係数が前記下限値を下回らない場合に前記暫定的な量子化係数を最終的な量子化係数として決定し、前記決定手段は、前記第１の画像から取得される符号化対象ブロックについて、前記下限値を最終的な量子化係数として決定した回数が所定回数を超える前後で、前記指標値と前記下限値との対応関係を変化させることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、複数の画像を符号化する際に、メモリ消費量の増大を抑制しつつ、各ブロックの符号量が上限値を超える可能性を低減することができる。
【図面の簡単な説明】
【００１４】
【図１】第１の実施形態に係る撮像装置１００の構成を示すブロック図
【図２】第１の実施形態に係る、差分情報の指標値と量子化係数の下限値との特定の対応関係に関して量子化制御部１１５の処理の具体例を示すフローチャート
【図３】第１の実施形態の変形例に係る撮像装置３００の構成を示すブロック図
【図４】第１の実施形態の変形例に係る、差分情報の指標値と量子化係数の下限値との特定の対応関係に関して量子化制御部１１５、置換制御部３０１、及び量子化係数置換部３０２の処理の具体例を示すフローチャート
【図５】第２の実施形態に係る量子化制御部１１５の処理の具体例を示すフローチャート
【図６】第３の実施形態に係る撮像装置６００の構成を示すブロック図
【図７】第４の実施形態に係る撮像装置７００の構成を示すブロック図
【発明を実施するための形態】
【００１５】
以下、添付図面を参照して、本発明の実施形態を説明する。なお、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。また、実施形態の中で説明されている特徴の組み合わせすべてが、本発明に必須とは限らない。
【００１６】
［第１の実施形態］
図１を参照して、本発明の符号化装置を撮像装置に適用した実施形態について説明する。図１に示す撮像装置１００において、撮像部１０１は、レンズやＣＣＤ等のカメラ部を含み、撮像した動画像データを入力順にフレームメモリ１０２に格納する。その結果、フレームメモリ１０２には入力画像のシーケンスが格納される。
【００１７】
フレームメモリ１０２は、順に入力された画像データを、符号化順にインター予測部１０３及びイントラ予測部１０４に出力する。インター予測部１０３は、符号化又は予測の単位である所定数の画素からなるブロック（例えば、マクロブロック）単位に符号化対象画像と参照画像との間の動き量を動きベクトルとして検出し、検出された動きベクトルを予測方法選択部１０５に送信する。本実施形態において動きベクトルを検出する具体的な方法は特に限定されないが、一例として、下記の式（１）を用いた方法を挙げる。
Ｃ  ＝  Ｄ  ＋  λＲ  ・・・  （１）
【００１８】
式（１）において、Ｃは動きベクトルを決定するための評価値である。Ｄは予測画像から符号化対象画像（符号化対象ブロック）を引いて得られる差分情報に整数変換を施した変換係数の絶対値和（以下、ＳＡＴＤ）である。或いは、Ｄは予測画像から符号化対象画像を引いて得られる差分情報の絶対値和（以下、ＳＡＤ）など、他の形式の差分情報であってもよい。本実施形態では、差分情報ＤとしてＳＡＴＤを用いるものとする。また、Ｒは動きベクトルの符号量であり、λは係数であり一般的には量子化ステップが用いられる。また、本実施形態では、符号化又は予測の単位である所定数の画素からなるブロックは、例えば１６画素×１６画素からなるマクロブロックとする。動きベクトルの符号量Ｒは、符号化対象マクロブロックの動きベクトルと、周囲のマクロブロックの動きベクトルから求められる推定動きベクトルとの間の差分量を基に算出される。最終的な動きベクトルは、探索範囲内で評価値Ｃが最少となる座標に対する符号化対象マクロブロックからのずれ量として検出される。インター予測部１０３は、検出した動きベクトルに基づく予測画像に対応するＳＡＴＤを予測方法選択部１０５に送信する。
【００１９】
イントラ予測部１０４は、符号化対象マクロブロックの周辺画素を用いて複数のイントラ予測画像を生成し、符号化対象マクロブロックとのブロックマッチングを行う。イントラ予測部１０４は、ＳＡＴＤが最少となるイントラ予測モードを選択し、その時のＳＡＴＤと共に予測方法選択部１０５に送信する。
【００２０】
予測方法選択部１０５はインター予測部１０３で検出された動きベクトルとイントラ予測部１０４で求めたイントラ予測モードとのうち、符号化効率の良い方を選択して予測画像生成部１０６に送信する。符号化効率の良い予測方法を選択する選択基準は特に限定されないが、本実施形態では、予測方法選択部１０５は、インター予測部１０３で求めたＳＡＴＤとイントラ予測部１０４で求めたＳＡＴＤとを比較し、ＳＡＴＤが小さい方の予測モードを選択するものとする。予測方法選択部１０５は、選択された予測モードのＳＡＴＤを量子化制御部１１５に送信する。
【００２１】
ここで、量子化制御部１１５へ送信されるＳＡＴＤは、符号化対象マクロブロックと予測画像との間の差分情報の情報量の指標となる値（指標値）である。従って、インター予測部１０３、イントラ予測部１０４、及び予測方法選択部１０５は、協働して指標値算出の処理を行うことになる。
【００２２】
予測画像生成部１０６は、予測方法選択部１０５が選択した予測モードに従って予測画像を生成する。予測画像の生成は、入力画像のシーケンスに含まれる少なくとも１つの入力画像に基づいて行われるが、具体的に使用される入力画像は予測モードに応じて異なる。例えば、イントラ予測モードが使用される場合、符号化対象マクロブロックを含む入力画像のみに基づいて予測画像の生成が行われる。予測画像生成部１０６は、生成した予測画像を減算器１０７に送信する。
【００２３】
減算器１０７は、フレームメモリから取得した符号化対象マクロブロックと予測画像生成部１０６から取得した予測画像との間の差分情報（差分画像データ）を算出する（即ち、減算器１０７は差分情報算出の処理を行う）。減算器１０７、算出した差分情報を整数変換部１０８に送信する。
【００２４】
整数変換部１０８は、入力された差分情報に整数変換を施し、変換係数を量子化部１０９に送信する。量子化部１０９は、整数変換部１０８からの変換係数を、後述する量子化制御部１１５が決定した量子化係数を用いて量子化する。変換係数は差分情報に由来するため、広義には、量子化部１０９においては差分情報の量子化が行われる。量子化部１０９は、量子化された差分情報をエントロピー符号化部１１４及び逆量子化部１１０に送信する。
【００２５】
逆量子化部１１０は、量子化された変換係数（差分情報）を逆量子化し、逆整数変換部１１１に送信する。逆整数変換部１１１は、逆量子化された変換係数に対して逆整数変換処理を施すことにより、整数変換されていない差分情報を生成する。逆整数変換部１１１は、生成した差分情報を加算器１１２に送信する。
【００２６】
加算器１１２は、逆整数変換部１１１が生成した差分情報と、予測画像生成部１０６が生成した予測画像とを加算する。加算後のデータは、復号された再構成画像データとなり、前述した予測画像生成部１０６に入力されて、イントラ予測画像の生成に用いられる。また、再構成画像データは、ループ内フィルタ１１３にも送信される。ループ内フィルタ１１３は再構成画像データに対して符号化歪の軽減処理を施し、インター符号化の際に用いる参照画像データとしてフレームメモリ１０２に記憶する。
【００２７】
エントロピー符号化部１１４は、量子化部１０９により量子化された差分情報（本実施形態では、厳密には、整数変換され量子化された差分情報）をエントロピー符号化する。エントロピー符号化部１１４は、エントロピー符号化の際の符号化方式として、ＣＡＢＡＣ及びＣＡＶＬＣなどの複数の符号化方式の中から１つを選択する。エントロピー符号化部１１４は、エントロピー符号化により得られる符号データをストリームとして出力する。また、エントロピー符号化部１１４は、発生した符号量を量子化制御部１１５に通知する。
【００２８】
量子化制御部１１５は、出力ストリームがＣＰＵ（不図示）により設定された記録レートに近づくように、エントロピー符号化部１１４からの発生符号量を監視しながら適切な量子化係数を決定し、量子化部１０９に通知する。
【００２９】
本実施形態では、量子化制御部１１５は、記録レートを考慮するだけではなく、エントロピー符号化部１１４の発生符号量が決められた最大符号量（上限値）を超える可能性を低減するように量子化係数を決定する。基本的な考え方として、予測方法選択部１０５から入力されるＳＡＴＤ（差分情報の情報量の指標値）が大きいほど、最終的な発生符号量が多くなる傾向がある。その際に、量子化部１０９が使用する量子化係数が小さいほど、量子化部１０９における情報量の削減量が小さいため、最終的な発生符号量が上限値を超える可能性が高くなる。そこで、量子化制御部１１５は、指標値に対応する下限値を下回らないように量子化係数を決定する。これにより、量子化係数が下限値以上となるため、量子化部１０９において符号化対象の情報量が少なくとも量子化係数の下限値に応じた程度には削減されることが期待され、最終的な発生符号量が上限値を超える可能性が低減される。
【００３０】
指標値と下限値との対応関係としては、最終的な発生符号量が上限値を超える可能性を抑制する度合いや望まれる画質などに応じて、任意の対応関係を採用可能である。例えば、比較的小さな閾値以上の指標値に対しては比較的大きな下限値を一律に対応付け、この閾値未満の指標値に対しては一律に０を対応付けて実質的に下限値を考慮しないことが考えられる。この場合、発生符号量が上限値を超える可能性が比較的強く低減されることが期待されるが、画質が大きく低下する可能性がある。或いは、比較的大きな閾値以上の指標値に対しては比較的小さな下限値を一律に対応付け、この閾値未満の指標値に対しては一律に０を対応付けて実質的に下限値を考慮しないことが考えられる。この場合、画質の低下は抑制されるが、発生符号量が上限値を超える可能性はそれほど低減されない可能性がある。或いは、指標値が大きくなるにつれて段階的に大きな下限値を対応付けることが考えられる。この場合、処理は複雑になるが、画質の低下の抑制と発生符号量が上限値を超える可能性の低減とが適当なバランスで達成されることが期待される。
【００３１】
このように、指標値と下限値との間に何らかの対応関係があり、発生符号量が上限値を超える可能性が部分的にでも低減される限り、いかなる対応関係であっても本実施形態の範囲に含まれる。以下、図２を参照して、差分情報の指標値と量子化係数の下限値との特定の対応関係に関して量子化制御部１１５の処理の具体例を説明する。
【００３２】
最初にＳ２００で、量子化制御部１１５は、設定された記録レートとエントロピー符号化部１１４の発生符号量とに基づいて量子化係数Ｑｐを決定する。この時点ではＱｐは暫定的な量子化係数であり、最終的な量子化係数は後述するＳ２０３又はＳ２０４において決定される。
【００３３】
Ｓ２０１で、量子化制御部１１５は、予測方法選択部１０５から入力されるＳＡＴＤが所定の閾値Ｔｈ０以上であるか否かを判定する。閾値以上（ＳＡＴＤ≧Ｔｈ０）の場合、処理はＳ２０２に進み、そうでない（ＳＡＴＤ＜Ｔｈ０）場合、処理はＳ２０４に進む。
【００３４】
Ｓ２０２で、量子化制御部１１５は、Ｓ２００で決定されたＱｐが下限値Ｑｐ０を下回るか否かを判定する。下回る（Ｑｐ＜Ｑｐ０）場合、処理はＳ２０３に進み、そうでない（Ｑｐ≧Ｑｐ０）場合、処理はＳ２０４に進む。
【００３５】
なお、前述の通り量子化係数の下限値はＳＡＴＤ（指標値）に対応する値であるが、図２の例では、ＳＡＴＤ≧Ｔｈ０の場合は下限値は一律にＱｐ０であり、ＳＡＴＤ＜Ｔｈ０の場合は下限値は考慮されない（例えば、０に設定される）。
【００３６】
Ｓ２０３で、量子化制御部１１５は、ＱｐをＱｐ０に置き換え、量子化部１０９に対してＱｐ０を通知する。他方、Ｓ２０４では、量子化制御部１１５は、Ｑｐをそのまま量子化部１０９に通知する。これにより、最終的な量子化係数が下限値Ｑｐ０を下回らないように決定される。
【００３７】
以上説明したように、本実施形態によれば、量子化制御部１１５は、符号化対象の差分情報の情報量の指標値（例えば、ＳＡＴＤ）に対応する下限値を下回らないように量子化係数を決定し、量子化部１０９に通知する。また、本実施形態の構成は、比較器などわずかな回路を追加するだけで実装可能であり、特別に大きなメモリ容量が追加的に必要となる訳ではない。従って、本実施形態によれば、入力画像のシーケンスを所定数の画素からなるブロック単位で符号化する際に、メモリ消費量の増大を抑制しつつ、各ブロックの符号量が上限値を超える可能性を低減することができる。
【００３８】
なお、本実施形態では指標値の例としてＳＡＴＤを使用したが、代わりに、ＳＡＤや分散などを使用してもよい。即ち、符号化対象の差分情報の情報量の指標となるものであれば、いかなる種類の情報を使用してもよい。
【００３９】
また、前述の通り指標値と下限値との対応関係は上述のものに限定されない。別の例として、ＳＡＴＤに関する３種類の閾値、及び対応する３種類の下限値を有する対応関係を説明する。ＳＡＴＤに関する閾値をＳＡＴＤ＿Ｔｈ０、ＳＡＴＤ＿Ｔｈ１、ＳＡＴＤ＿Ｔｈ２（ＳＡＴＤ＿Ｔｈ０＞ＳＡＴＤ＿Ｔｈ１＞ＳＡＴＤ＿Ｔｈ２）とし、下限値をＱｐ０、Ｑｐ１、Ｑｐ２（Ｑｐ０＞Ｑｐ１＞Ｑｐ２）とする。ＳＡＴＤ＿Ｔｈ０はＱｐ０と、ＳＡＴＤ＿Ｔｈ１はＱｐ１と、ＳＡＴＤ＿Ｔｈ２はＱｐ２と、それぞれ対応する。従って、ＳＡＴＤ＞ＳＡＴＤ＿Ｔｈ２且つＱｐ＜Ｑｐ２の場合、ＱｐはＱｐ２に置き換えられる。同様に、ＳＡＴＤ＞ＳＡＴＤ＿Ｔｈ１且つＱｐ＜Ｑｐ１の場合にＱｐはＱｐ１に置き換えられ、ＳＡＴＤ＞ＳＡＴＤ＿Ｔｈ０且つＱｐ＜Ｑｐ０の場合にＱｐはＱｐ０に置き換えられる。このように指標値に応じて下限値を段階的に変化させることにより、量子化係数が大きくなり過ぎることを防止し、画質の劣化を抑えることができる。
【００４０】
また、符号化対象マクロブロックのタイプに応じて指標値と下限値との対応関係を変化させてもよい。例えば、符号化対象マクロブロックがイントラマクロブロックであるか否か（即ち、予測画像生成部１０６において符号化対象マクロブロックが所属する入力画像にのみ基づいて予測画像が生成されたか否か）に応じて対応関係を変化させることができる。どのように対応関係を変化させるかは任意であり、望まれる画質などを考慮して適宜変化させればよい。
【００４１】
同様に、エントロピー符号化部１１４において選択された符号化方式（例えば、ＣＡＢＡＣ又はＣＡＶＬＣ）に応じて指標値と下限値との対応関係を変化させてもよい。これにより、符号化方式に応じた指標値（例えばＳＡＴＤ）と発生符号量との相関性の相違をも考慮することができ、より正確に量子化係数の下限値を設定することができる。その結果、画質の劣化を抑えたり、発生符号量が上限値を超える可能性を低減したりすることができる。この場合も、どのように対応関係を変化させるかは任意であり、望まれる画質などを考慮して適宜変化させればよい。
【００４２】
（変形例）
図３及び図４を参照して、符号化対象の差分情報の情報量の指標値（例えば、ＳＡＴＤ）に対応する下限値を下回らないように量子化係数を決定可能な、他の構成について説明する。
【００４３】
図３は、第１の実施形態の変形例に係る撮像装置３００の構成を示すブロック図である。図３において、図１と同一又は同様の構成要素には同一の符号を付し、その説明を省略する。
【００４４】
撮像装置３００は、撮像装置１００の構成に加えて、置換制御部３０１及び量子化係数置換部３０２を備える。また、予測方法選択部１０５は、量子化制御部１１５ではなく置換制御部３０１に対してＳＡＴＤを送信する。
【００４５】
次に図４を参照して、差分情報の指標値と量子化係数の下限値との特定の対応関係に関して量子化制御部１１５、置換制御部３０１、及び量子化係数置換部３０２の処理の具体例を説明する。図４において、図２と同一又は同様の処理が行われるステップには同一の符号を付し、その説明を省略する。
【００４６】
図４においては、Ｓ２０１とＳ２０２及びＳ２０４との間に、Ｓ４０１乃至Ｓ４０３が追加される。また、図２の場合と異なり、Ｓ２０１の処理は置換制御部３０１が実行し、Ｓ２０２乃至Ｓ２０４の処理は量子化係数置換部３０２が実行する。
【００４７】
Ｓ２０１においてＳＡＴＤ≧Ｔｈ０であると判定された場合、Ｓ４０１で、置換制御部３０１は、量子化係数置換部３０２が保持する置換フラグをｏｎにセットする。他方、Ｓ２０１においてＳＡＴＤ＜Ｔｈ０であると判定された場合、Ｓ４０２で、置換制御部３０１は、量子化係数置換部３０２が保持する置換フラグをｏｆｆにセットする。
【００４８】
Ｓ４０３で、量子化係数置換部３０２は、置換フラグがｏｎにセットされているか否かを判定する。ｏｎにセットされている場合、処理はＳ２０２に進み、そうでない場合、処理はＳ２０４に進む。これにより、ＳＡＴＤ≧Ｔｈ０の場合にのみ量子化係数の下限値Ｑｐ０が考慮され、必要に応じてＳ２００で決定されたＱｐがＱｐ０に置き換えられる。従って、図２の場合と同様、ＳＡＴＤに対応する下限値を下回らないように最終的な量子化係数が決定される。
【００４９】
［第２の実施形態］
第２の実施形態では、所定のピクチャ（入力画像）に関して量子化係数の置換が発生した（即ち、下限値が最終的な量子化係数として決定された）回数が所定回数を超える前後で、指標値と下限値との対応関係が変化する。本実施形態では、撮像装置１００の構成は第１の実施形態と同様であるが（図１参照）、量子化制御部１１５の動作が第１の実施形態と異なる。
【００５０】
図５は、第２の実施形態に係る量子化制御部１１５の処理の具体例を示すフローチャートである。図５において、図２と同一又は同様の処理が行われるステップには同一の符号を付し、その説明を省略する。
【００５１】
Ｓ５０１で、量子化制御部１１５は、変数ＭＢＮｕｍが閾値Ｔｈ未満であるか否かを判定する。ＭＢＮｕｍは、符号化対象ピクチャが切り替わる度に０に初期化され、特定の符号化対象ピクチャに関してＱｐの置換が発生した回数を示す。ＭＢＮｕｍがＴｈ未満の場合、処理はＳ２０１に進み、そうでない場合、処理はＳ５０３に進む。
【００５２】
Ｓ５０２の処理は図２のＳ２０３と同様であるが、量子化制御部１１５は、ＱｐをＱｐ０に置き換えることに加えて、ＭＢＮｕｍに１を加算する。これにより、Ｑｐの置換が発生した回数がカウントされる。
【００５３】
ＭＢＮｕｍがＴｈ以上となった後に符号化される符号化対象マクロブロックについては、Ｓ５０３乃至Ｓ５０５及びＳ２０４の処理が実行される。Ｓ５０３乃至Ｓ５０５の処理はＳ２０１、Ｓ２０２、及びＳ５０２と同様であるが、Ｔｈ０の代わりにＴｈ１が、Ｑｐ０の代わりにＱｐ１が用いられる。従って、指標値（この例ではＳＡＴＤ）と下限値との対応関係が変化する。
【００５４】
Ｑｐの置換の発生回数が多いということは、ＳＡＴＤが大きく発生符号量が多い可能性が高いということである。従って、本実施形態の処理によれば、ピクチャがＳＡＴＤの大きいマクロブロックを多く含むか否かを判定することができ、多く含むことが分かった時点で、ＳＡＴＤと下限値との対応関係を変化させることにより最終的なＱｐの決定方法を変化させることができる。具体的にどのような対応関係を使用するかは望まれる画質などに応じて適宜決定可能である。従って、例えばＴｈ０＞Ｔｈ１であってもよいし、Ｔｈ０＜Ｔｈ１であってもよい。或いは、例えばＴｈ０＝Ｔｈ１でありＱｐ０とＱｐ１とを異ならせてもよい。
【００５５】
［第３の実施形態］
第３の実施形態では、符号化対象の差分情報の指標値（例えば、ＳＡＴＤ）に対応する発生符号量の予測値を利用する。図６は、第３の実施形態に係る撮像装置６００の構成を示すブロック図である。図６において、第１の実施形態の変形例（図３参照）と同一又は同様の構成要素には同一の符号を付し、その説明を省略する。
【００５６】
撮像装置６００は、撮像装置３００の構成に加えて、閾値変更部６０１を備える。また、予測方法選択部１０５は、置換制御部３０１に加えて閾値変更部６０１に対してＳＡＴＤを送信する。更に、エントロピー符号化部１１４は、量子化制御部１１５に加えて閾値変更部６０１に対して発生符号量（実際の発生符号量）を通知する。本実施形態では、この発生符号量を「ＣＯＤＥ」と呼ぶ。
【００５７】
閾値変更部６０１は、複数のＳＡＴＤの各々に対応する符号化対象マクロブロックについての発生符号量の予測値を格納するテーブルを予め保持している。本実施形態では、予測方法選択部１０５から受信したＳＡＴＤに対応する予測値を「ＣＯＤＥ０」と呼ぶ。
【００５８】
閾値変更部６０１は、ＣＯＤＥ０とＣＯＤＥとを比較する。ＣＯＤＥがＣＯＤＥ０より大きい場合、実際の発生符号量（即ち、ＣＯＤＥ）が上限値を超える可能性が高い。そこで、閾値変更部６０１は、置換制御部３０１が図４のＳ２０１において使用する閾値Ｔｈ０を小さくするように置換制御部３０１に対して指示する。その結果、Ｑｐの置換が発生し易くなり、ＣＯＤＥが上限値を超える可能性が低減される。
【００５９】
反対に、ＣＯＤＥがＣＯＤＥ０より小さい場合、実際の発生符号量（即ち、ＣＯＤＥ）と上限値との間には余裕がある可能性が高い。そこで、閾値変更部６０１は、閾値Ｔｈ０を大きくするように置換制御部３０１に対して指示する。その結果、Ｑｐの置換が発生し難くなり、画質が向上する。
【００６０】
また、ＣＯＤＥがＣＯＤＥ０と同程度である場合、閾値変更部６０１は、閾値Ｔｈ０を変更しない。
【００６１】
上記の処理により、例えばＳＡＴＤ＝１０００の時のＣＯＤＥ０が２００なのに対してＣＯＤＥ＝２５０であればＴｈ０は小さくなり、ＳＡＴＤ＝１０００の時のＣＯＤＥ０が２００なのに対してＣＯＤＥ＝１５０であればＴｈは大きくなる。また、ＳＡＴＤ＝１０００の時のＣＯＤＥ０が２００なのに対してＣＯＤＥ＝２０５であればＴｈは変化しない。
【００６２】
なお、ここで説明した閾値Ｔｈ０の変更は、一例に過ぎない。閾値Ｔｈ０を変更するということは、実質的には、指標値と下限値との対応関係を変更することを意味する。従って、本実施形態を一般化すると、ＣＯＤＥ＞ＣＯＤＥ０の場合、より小さな指標値がより大きな下限値に対応するように指標値と下限値との対応関係が変化する。また、ＣＯＤＥ＜ＣＯＤＥ０の場合、より大きな指標値がより小さな下限値に対応するように指標値と下限値との対応関係が変化する。これにより、発生符号量が上限値を超える可能性が低減され、画質が向上する。
【００６３】
［第４の実施形態］
第４の実施形態では、量子化係数の下限値を設定する代わりに、符号化対象の差分情報の直流成分（ＤＣ成分）及び交流成分（ＡＣ成分）のうちの少なくとも一方を削減することにより、発生符号量が上限値を超える可能性を低減する。
【００６４】
図７は、第４の実施形態に係る撮像装置７００の構成を示すブロック図である。図７において、第１の実施形態（図１参照）と同一又は同様の構成要素には同一の符号を付し、その説明を省略する。
【００６５】
撮像装置７００は、撮像装置１００の構成に加えて、最大符号量超過防止部７０１及びＤＣ／ＡＣ成分切り捨て部７０２を備える。また、予測方法選択部１０５は、量子化制御部１１５の代わりに最大符号量超過防止部７０１に対して指標値（例えば、ＳＡＴＤ）を送信する。また、量子化制御部１１５は、量子化部１０９に加えて最大符号量超過防止部７０１に対して量子化係数を通知する。
【００６６】
最大符号量超過防止部７０１は、複数の量子化係数の各々に対応するＳＡＴＤの閾値（ＳＡＴＤ０）を格納するテーブルを保持する。そして、最大符号量超過防止部７０１は、量子化制御部１１５から通知された量子化係数に対応するＳＡＴＤ０を識別し、予測方法選択部１０５から受信したＳＡＴＤに関して下記の比較を行う。最大符号量超過防止部７０１は、比較結果に基づいて下記の通り決定したフラグをＤＣ／ＡＣ成分切り捨て部７０２に通知する。
【００６７】
（１）ＳＡＴＤ０＞ＳＡＴＤの時
フラグを立てない
（２）ＳＡＴＤ０≦ＳＡＴＤ＜ＳＡＴＤ０＋αの時
フラグ１を立てる
（３）ＳＡＴＤ０＋α≦ＳＡＴＤ＜ＳＡＴＤ０＋βの時
フラグ２を立てる
（４）ＳＡＴＤ０＋β≦ＳＡＴＤ＜ＳＡＴＤ０＋γの時
フラグ３を立てる
（５）ＳＡＴＤ０＋γ≦ＳＡＴＤの時
フラグ４を立てる
なおα、β、γは自然数であり、α＜β＜γである。
【００６８】
ＤＣ／ＡＣ成分切り捨て部７０２は、周波数変換され量子化された差分情報（変換係数）を量子化部１０９から受信し、最大符号量超過防止部７０１から通知されたフラグに基づいて、下記の通り情報量の削減を行う。
【００６９】
（１）フラグが立っていない時
削減を行わない
（２）フラグ１が立っている時
色差のＡＣ成分の一部をカットする
（３）フラグ２が立っている時
色差のＡＣ成分及び輝度のＡＣ成分の一部をカットする
（４）フラグ３が立っている時
色差のＡＣ成分及びＤＣ成分、及び輝度のＡＣ成分の一部をカットする
（５）フラグ４が立っている時
色差のＡＣ成分及びＤＣ成分、及び輝度のＡＣ成分及びＤＣ成分の一部をカットする
【００７０】
ＡＣ／ＤＣ成分をカットすると、発生符号量が上限値を超える可能性は低下するが、画質は劣化する。そこで、本実施形態では、上記のようにカットするＡＣ／ＤＣ成分に優先順位を設け、ＳＡＴＤに応じて、画質に与える影響が小さい成分から段階的にカットしていくことで、画質劣化を最小限に抑えつつ、発生符号量が上限値を超える可能性を低減する。即ち、フラグ１が立っている場合のようにＳＡＴＤが比較的小さい場合は色差のＡＣ成分のみをカットする。また、フラグ４が立っている場合のようにＳＡＴＤが比較的大きい場合には色差のＡＣ成分だけでなく色差のＤＣ成分、輝度のＡＣ成分、及び輝度のＤＣ成分までカットする。
【００７１】
なお、上述の情報量の削減方法は、一例に過ぎない。一般化すると、本実施形態では、ＤＣ／ＡＣ成分切り捨て部７０２は、周波数変換された差分情報（変換係数）の直流成分及び交流成分のうちの少なくとも一方の情報量を削減する。その際に、ＤＣ／ＡＣ成分切り捨て部７０２は、指標値（例えば、ＳＡＴＤ）が大きいほど多くの情報量を削減する。これにより、画質の低下を抑制しつつ、各マクロブロックの符号量が上限値を超える可能性が低減することができる。
【００７２】
なお、第１の実施形態と同様、指標値としてはＳＡＴＤだけでなく、ＳＡＤや分散などを使用することもできる。
【００７３】
［その他の実施形態］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005873290.tif 000002
【図２】
0005873290.tif 000003
【図３】
0005873290.tif 000004
【図４】
0005873290.tif 000005
【図５】
0005873290.tif 000006
【図６】
0005873290.tif 000007
【図７】
0005873290.tif 000008