(57)【特許請求の範囲】
【請求項１】
入力画像を復号化して復号画像を生成するデコーダと、
復号画像を符号化して出力画像を生成するエンコーダと、
を備えるトランスコーダであって、
各マクロブロックにおける空間方向の変化度合を示す空間変化評価値を算出する空間変化評価値算出部と、
各マクロブロックにおける時間方向の変化度合を示す時間変化評価値を算出する時間変化評価値算出部と、
マクロブロックごとに、量子化ステップ値を決定する量子化ステップ値決定部と、
を備え、
前記量子化ステップ値決定部は、
前記空間変化評価値と前記時間変化評価値に基づいて決定される時間空間変化用補正係数を利用することにより、各マクロブロックの入力量子化ステップ値を補正して、第１量子化ステップ値を取得し、取得した前記第１量子化ステップ値および前記入力量子化ステップ値のいずれか一方を、第１出力量子化ステップ値として出力する量子化ステップ値第１決定部と、
前記空間変化評価値と、各マクロブロックにおける動きベクトルの大きさおよび符号量の少なくとも一方とに基づいて、前記第１出力量子化ステップ値を補正することで、第２量子化ステップ値を取得し、取得した前記第２量子化ステップ値および前記第１出力量子化ステップ値のいずれか一方を、第２出力量子化ステップ値として出力する量子化ステップ値第２決定部と、
を備え、
前記量子化ステップ値第２決定部は、
（１）処理対象マクロブロックがＩピクチャに含まれる場合、または、処理対象マクロブロックがＰピクチャまたはＢピクチャに含まれるイントラマクロブロックである場合、
当該処理対象マクロブロックの前記空間変化評価値に基づいて、イントラ用乗算係数と、イントラ用加算係数とを取得し、取得した前記イントラ用乗算係数を前記第１出力量子化ステップ値に乗算することで、あるいは、取得した前記イントラ用加算係数を前記第１出力量子化ステップ値に加算することで、前記第２量子化ステップ値を取得し、
（２）処理対象マクロブロックがＰピクチャに含まれるインターマクロブロックである場合、
当該処理対象マクロブロックの前記空間変化評価値と、当該処理対象マクロブロックの動きベクトルの大きさおよび符号量の少なくとも一方とに基づいて、Ｐピクチャ用乗算係数と、Ｐピクチャ用加算係数とを取得し、取得した前記Ｐピクチャ用乗算係数を前記第１出力量子化ステップ値に乗算することで、あるいは、取得した前記Ｐピクチャ用加算係数を前記第１出力量子化ステップ値に加算することで、前記第２量子化ステップ値を取得し、
（３）処理対象マクロブロックがＢピクチャに含まれるインターマクロブロックである場合、
当該処理対象マクロブロックの前記空間変化評価値と、当該処理対象マクロブロックの動きベクトルの大きさおよび符号量の少なくとも一方とに基づいて、Ｂピクチャ用乗算係数と、Ｂピクチャ用加算係数とを取得し、取得した前記Ｂピクチャ用乗算係数を前記第１出力量子化ステップ値に乗算することで、あるいは、取得した前記Ｂピクチャ用加算係数を前記第１出力量子化ステップ値に加算することで、前記第２量子化ステップ値を取得する、
トランスコーダ。
【請求項２】
請求項１に記載のトランスコーダにおいて、
前記量子化ステップ値第２決定部は、前記空間変化評価値が大きいほど、前記第２量子化ステップ値が小さい値となるように、前記第２量子化ステップ値を取得することを特徴とするトランスコーダ。
【請求項３】
請求項１または２に記載のトランスコーダにおいて、
前記量子化ステップ値第２決定部は、処理対象マクロブロックにおける動きベクトルの大きさが大きいほど、前記第２量子化ステップ値が小さい値となるように、前記第２量子化ステップ値を取得することを特徴とするトランスコーダ。
【請求項４】
請求項１から３のいずれかに記載のトランスコーダにおいて、
前記量子化ステップ値第２決定部は、処理対象マクロブロックにおける動きベクトルの符号量が大きいほど、前記第２量子化ステップ値が小さい値となるように、前記第２量子化ステップ値を取得することを特徴とするトランスコーダ。
【請求項５】
請求項１から４のいずれかに記載のトランスコーダにおいて、
前記量子化ステップ値第１決定部は、
前記空間変化評価値と前記時間変化評価値を変数として、前記時間空間変化用補正係数を格納する補正係数格納部、
を含むことを特徴とするトランスコーダ。
【請求項６】
請求項１から５のいずれかに記載のトランスコーダにおいて、
前記量子化ステップ値第２決定部は、
（１）前記空間変化評価値に基づいて決定される前記イントラ用乗算係数および前記イントラ用加算係数と、
（２）前記処理対象マクロブロックの前記空間変化評価値と、当該処理対象マクロブロックの動きベクトルの大きさおよび符号量の少なくとも一方とに基づいて決定される前記Ｐピクチャ用乗算係数およびＰピクチャ用加算係数と、
（３）前記処理対象マクロブロックの前記空間変化評価値と、当該処理対象マクロブロックの動きベクトルの大きさおよび符号量の少なくとも一方とに基づいて決定される前記Ｂピクチャ用乗算係数およびＢピクチャ用加算係数と、
の少なくとも１つを格納する補正係数格納部、
を含むことを特徴とするトランスコーダ。
【請求項７】
請求項１から６のいずれかに記載のトランスコーダにおいて、さらに、
各マクロブロックにおける所定色度を示す所定色度評価値を算出する所定色度評価値算出部を備え、
前記量子化ステップ値決定部は、さらに、
前記空間変化評価値と前記所定色度評価値とに基づいて決定される特定色用補正係数を利用することにより、各マクロブロックの前記第２出力量子化ステップ値を補正することで、第３量子化ステップ値を取得し、取得した前記第３量子化ステップ値および前記第２出力量子化ステップ値のいずれか一方を、第３出力量子化ステップ値として出力する量子化ステップ値第３決定部を備えることを特徴とするトランスコーダ。
【請求項８】
請求項７に記載のトランスコーダにおいて、
前記所定色度評価値は、
復号画像の各マクロブロックにおける肌色色度を示す肌色色度評価値、
を含み、
前記量子化ステップ値第３決定部は、前記空間変化評価値が小さいほど、前記第３量子化ステップ値が小さい値となるように、前記第３量子化ステップ値を取得することを特徴とするトランスコーダ。
【請求項９】
請求項７に記載のトランスコーダにおいて、
前記所定色度評価値は、
復号画像の各マクロブロックにおける肌色色度を示す肌色色度評価値、
を含み、
前記量子化ステップ値第３決定部は、前記肌色色度評価値が大きいほど、前記第３量子化ステップ値が小さい値となるように、前記第３量子化ステップ値を取得することを特徴とするトランスコーダ。
【請求項１０】
請求項７から９のいずれかに記載のトランスコーダにおいて、
前記量子化ステップ値第３決定部は、
前記空間変化評価値と前記所定色度評価値を変数として、前記補正係数を格納する補正係数格納部、
を含むことを特徴とするトランスコーダ。
【請求項１１】
請求項１から６のいずれかに記載のトランスコーダにおいて、さらに、
各マクロブロックの位置を示す座標位置評価値を算出する座標位置評価値算出部を備え、
前記量子化ステップ値決定部は、さらに、
前記座標位置評価値に基づいて決定される座標位置用補正係数を利用することにより、各マクロブロックの前記第２出力量子化ステップ値を補正することで、第４量子化ステップ値を取得し、取得した前記第４量子化ステップ値および前記第２出力量子化ステップ値のいずれか一方を、第４出力量子化ステップ値として出力する量子化ステップ値第４決定部を備えることを特徴とするトランスコーダ。
【請求項１２】
請求項１１に記載のトランスコーダにおいて、
前記量子化ステップ値第４決定部は、各マクロブロックの位置が画像中心の位置に近いほど、前記第４量子化ステップ値が小さい値となるように、前記第４量子化ステップ値を取得することを特徴とするトランスコーダ。
【請求項１３】
請求項１１または請求項１２に記載のトランスコーダにおいて、
前記量子化ステップ値第４決定部は、
前記座標位置評価値を変数として、前記補正係数を格納する補正係数格納部、
を含むことを特徴とするトランスコーダ。
【請求項１４】
請求項５、６、１０、１３のいずれかに記載のトランスコーダにおいて、さらに、
入力画像の入力ビットレートと、出力画像の出力ビットレートと、出力画像の目標ビットレートと、の時間変化に基づいて、前記補正係数を前記補正係数格納部に時々刻々と更新して書き込む補正係数更新書込部、
を備えることを特徴とするトランスコーダ。
【請求項１５】
請求項１ないし請求項１４のいずれかに記載のトランスコーダにおいて、さらに、
各マクロブロックにおける評価値に対して、所定個数の区分分けを実行する評価値区分分け部、
を備え、
前記量子化ステップ値決定部は、所定個数の区分分けを実行された評価値に基づいて、出力する量子化ステップ値を決定することを特徴とするトランスコーダ。
【請求項１６】
請求項１５に記載のトランスコーダにおいて、
各区分における評価値のレンジは、それぞれ等しいことを特徴とするトランスコーダ。
【請求項１７】
請求項１５に記載のトランスコーダにおいて、
各区分における評価値のレンジは、それぞれ異なることを特徴とするトランスコーダ。
【請求項１８】
請求項１から１３のいずれかに記載のトランスコーダにおいて、
前記時間空間変化用補正係数は、
前記第１量子化ステップ値を決定するために、前記入力量子化ステップ値に乗算する乗算補正係数と、
前記第１量子化ステップ値を決定するために、前記入力量子化ステップ値に加算する加算補正係数と、
を含むことを特徴とするトランスコーダ。
【請求項１９】
請求項１８に記載のトランスコーダにおいて、さらに、
（１）前記乗算補正係数が、前記入力量子化ステップ値に乗算されて取得された量子化ステップ値と、
（２）前記加算補正係数が、前記入力量子化ステップ値に加算されて取得された量子化ステップ値と、
（３）前記乗算補正係数が、前記入力量子化ステップ値に乗算されておらず、かつ、前記加算補正係数が、前記入力量子化ステップ値に加算されていない量子化ステップ値と、
のうちのいずれかの量子化ステップ値を、前記第１量子化ステップ値として選択する出力量子化ステップ値選択部、
を備えることを特徴とするトランスコーダ。
【請求項２０】
請求項１１に記載のトランスコーダにおいて、さらに、
前記量子化ステップ値決定部から出力される量子化ステップ値に対して、微調整係数により微調整処理を実行することで、微調整後出力量子化ステップ値を取得する微調整部、
を含むことを特徴とするトランスコーダ。
【請求項２１】
請求項２０に記載のトランスコーダにおいて、
前記微調整係数は、乗算微調整係数を含み、
前記微調整処理は、前記量子化ステップ値決定部から出力される量子化ステップ値に、前記乗算微調整係数を乗算する処理を含むことを特徴とするトランスコーダ。
【請求項２２】
請求項２０または請求項２１に記載のトランスコーダにおいて、
前記微調整係数は、加算微調整係数を含み、
前記微調整処理は、前記量子化ステップ値決定部から出力される量子化ステップ値に、前記加算微調整係数を加算する処理を含むことを特徴とするトランスコーダ。
【請求項２３】
請求項２０から２２のいずれかに記載のトランスコーダにおいて、
前記微調整係数は、各マクロブロックのピクチャ種類に基づいて、それぞれ設定されることを特徴とするトランスコーダ。
【請求項２４】
請求項２０から２３のいずれかに記載のトランスコーダにおいて、
前記微調整係数は、入力画像の入力ビットレートと、出力画像の出力ビットレートと、出力画像の目標ビットレートと、の時間変化に基づいて、時々刻々と更新されることを特徴とするトランスコーダ。
【請求項２５】
請求項１から２４のいずれかに記載のトランスコーダにおいて、
前記空間変化評価値は、
復号画像の各マクロブロックにおいて、各画素値と平均画素値の差分絶対値を、各画素について加算した画像内差分絶対値和、
を含むことを特徴とするトランスコーダ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力画像を復号画像に復号化して、復号画像を出力画像に符号化するトランスコーダに関する。
【背景技術】
【０００２】
画像圧縮技術は、画像データの伝送負担および記憶負担を低減させるため、広範囲に利用されている。従来の符号化方式としてＭＰＥＧ２などが存在して、新規の符号化方式としてＨ．２６４などが存在する。トランスコーダは、画像データの伝送負担および記憶負担を低減させるため、異なるまたは同一の符号化方式間における符号変換を実行する。
【０００３】
すなわち、トランスコーダは、まず、第１符号化方式による圧縮画像を入力して、第１符号化方式により伸張画像を生成する。そして、トランスコーダは、次に、第２符号化方式により伸張画像を圧縮して、第２符号化方式による圧縮画像を出力する。
【０００４】
ここで、トランスコーダは、画像データの伝送負担および記憶負担を低減させるため、出力ビットレートを目標ビットレートまで低くする必要がある。しかし、トランスコーダは、画像データの画質低下を低減させるため、第２符号化方式における量子化ステップ値を、第１符号化方式における量子化ステップ値から過度に大きくしない必要がある。
【０００５】
特許文献１のトランスコーダは、画像データの画質低下を低減させるとともに、画像データの伝送負担および記憶負担を低減させる。すなわち、トランスコーダは、各マクロブロックについて、空間／時間方向の変化度合を算出する。そして、トランスコーダは、各マクロブロックについて、空間／時間方向の変化度合に基づいて、第１符号化方式における量子化ステップ値を補正して、第２符号化方式における量子化ステップ値を決定する。
【０００６】
すなわち、トランスコーダは、画像データの画質を高くする必要がある画像領域については、第２符号化方式による圧縮画像の符号量を多く割り振る。そして、トランスコーダは、画像データの画質を高くする必要がない画像領域については、第２符号化方式による圧縮画像の符号量を多く割り振らない。そのため、トランスコーダは、第２符号化方式による圧縮画像全体の符号量を低減させることができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−４２４２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１のトランスコーダは、画像データの画質低下を低減させるとともに、画像データの伝送負担および記憶負担を低減させる。すなわち、トランスコーダは、各マクロブロックについて、空間／時間方向の変化度合に基づいて、第１符号化方式における量子化ステップ値を補正して、第２符号化方式における量子化ステップ値を決定する。しかし、トランスコーダは、他のパラメータによる評価を加味することにより、画質調整および符号量調整をさらにきめ細やかにできることが期待される。
【０００９】
そこで、本発明は前記問題点に鑑み、入力画像を復号画像に復号化して、復号画像を出力画像に符号化するトランスコーダにおいて、画質調整および符号量調整をよりきめ細やかにできる技術を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するため、発明１は、入力画像を復号化して復号画像を生成するデコーダと、復号画像を符号化して出力画像を生成するエンコーダと、を備えるトランスコーダであって、各マクロブロックにおける空間方向の変化度合を示す空間変化評価値を算出する空間変化評価値算出部と、各マクロブロックにおける時間方向の予測誤差を示す予測誤差評価値を算出する予測誤差評価値算出部と、前記空間変化評価値と前記予測誤差評価値に基づいて、補正係数を利用することにより、各マクロブロックの入力量子化ステップ値を補正して、各マクロブロックの出力量子化ステップ値を決定する量子化ステップ値決定部と、を備え、前記補正係数は、出力量子化ステップ値が決定されるために、入力量子化ステップ値に乗算される乗算補正係数と、出力量子化ステップ値が決定されるために、入力量子化ステップ値に加算される加算補正係数と、を含むことを特徴とする。
【００１１】
発明２は、発明１のトランスコーダにおいて、さらに、前記乗算補正係数が入力量子化ステップ値に乗算された量子化ステップ値と、前記加算補正係数が入力量子化ステップ値に加算された量子化ステップ値と、前記乗算補正係数が入力量子化ステップ値に乗算されていない、かつ、前記加算補正係数が入力量子化ステップ値に加算されていない量子化ステップ値とのうち、いずれかの量子化ステップ値を出力量子化ステップ値として選択する出力量子化ステップ値選択部、を備えることを特徴とする。
【００１２】
発明３は、発明１または発明２のトランスコーダにおいて、前記量子化ステップ値決定部は、前記空間変化評価値が小さいほど、出力量子化ステップ値を小さく決定して、前記予測誤差評価値が大きいほど、出力量子化ステップ値を小さく決定することを特徴とする。
【００１３】
発明４は、発明１ないし発明３のいずれかのトランスコーダにおいて、前記量子化ステップ値決定部は、各マクロブロックのピクチャ種類に基づいて、出力量子化ステップ値を決定することを特徴とする。
【００１４】
発明５は、発明１ないし発明４のいずれかのトランスコーダにおいて、前記空間変化評価値は、復号画像の各マクロブロックにおいて、各画素値と平均画素値の差分絶対値を、各画素について加算した画像内差分絶対値和、を含むことを特徴とする。
【００１５】
発明６は、発明１ないし発明５のいずれかのトランスコーダにおいて、前記予測誤差評価値は、復号画像と参照画像の各マクロブロックにおいて、各対応画素値の差分絶対値を、各対応画素について加算した画像間差分絶対値和、を含むことを特徴とする。
【００１６】
発明７は、発明１ないし発明６のいずれかのトランスコーダにおいて、前記量子化ステップ値決定部は、前記空間変化評価値と前記予測誤差評価値の比率を変数として、前記補正係数を格納する補正係数格納部、を含むことを特徴とする。
【００１７】
発明８は、発明１ないし発明６のいずれかのトランスコーダにおいて、前記量子化ステップ値決定部は、前記空間変化評価値と前記予測誤差評価値を変数として、前記補正係数を格納する補正係数格納部、を含むことを特徴とする。
【００１８】
発明９は、入力画像を復号化して復号画像を生成するデコーダと、復号画像を符号化して出力画像を生成するエンコーダと、を備えるトランスコーダであって、各マクロブロックにおける空間方向の変化度合を示す空間変化評価値を算出する空間変化評価値算出部と、各マクロブロックにおける時間方向の変化度合を示す時間変化評価値を算出する時間変化評価値算出部と、前記空間変化評価値と前記時間変化評価値に基づいて、補正係数を利用することにより、各マクロブロックの入力量子化ステップ値を補正して、各マクロブロックの出力量子化ステップ値を決定する量子化ステップ値決定部と、を備えることを特徴とする。
【００１９】
発明１０は、発明９のトランスコーダにおいて、前記量子化ステップ値決定部は、前記空間変化評価値が大きいほど、出力量子化ステップ値を小さく決定して、前記時間変化評価値が大きいほど、出力量子化ステップ値を小さく決定することを特徴とする。
【００２０】
発明１１は、発明９または発明１０のトランスコーダにおいて、前記量子化ステップ値決定部は、各マクロブロックのピクチャ種類に基づいて、出力量子化ステップ値を決定することを特徴とする。
【００２１】
発明１２は、発明９ないし発明１１のいずれかのトランスコーダにおいて、前記空間変化評価値は、復号画像の各マクロブロックにおいて、各画素値と平均画素値の差分絶対値を、各画素について加算した画像内差分絶対値和、を含むことを特徴とする。
【００２２】
発明１３は、発明９ないし発明１２のいずれかのトランスコーダにおいて、前記時間変化評価値は、入力画像の各マクロブロックにおける動きベクトルの大きさ、を含むことを特徴とする。
【００２３】
発明１４は、発明９ないし発明１２のいずれかのトランスコーダにおいて、前記時間変化評価値は、入力画像の各マクロブロックにおける動きベクトルの符号量、を含むことを特徴とする。
【００２４】
発明１５は、発明９ないし発明１４のいずれかのトランスコーダにおいて、前記量子化ステップ値決定部は、前記空間変化評価値と前記時間変化評価値を変数として、前記補正係数を格納する補正係数格納部、を含むことを特徴とする。
【００２５】
発明１６は、入力画像を復号化して復号画像を生成するデコーダと、復号画像を符号化して出力画像を生成するエンコーダと、を備えるトランスコーダであって、各マクロブロックにおける空間方向の変化度合を示す空間変化評価値を算出する空間変化評価値算出部と、各マクロブロックにおける所定色度を示す所定色度評価値を算出する所定色度評価値算出部と、前記空間変化評価値と前記所定色度評価値に基づいて、補正係数を利用することにより、各マクロブロックの入力量子化ステップ値を補正して、各マクロブロックの出力量子化ステップ値を決定する量子化ステップ値決定部と、を備えることを特徴とする。
【００２６】
発明１７は、発明１６のトランスコーダにおいて、前記所定色度評価値は、復号画像の各マクロブロックにおける肌色色度を示す肌色色度評価値、を含み、前記量子化ステップ値決定部は、前記空間変化評価値が小さいほど、出力量子化ステップ値を小さく決定して、前記肌色色度評価値が大きいほど、出力量子化ステップ値を小さく決定することを特徴とする。
【００２７】
発明１８は、発明１６または発明１７のトランスコーダにおいて、前記空間変化評価値は、復号画像の各マクロブロックにおいて、各画素値と平均画素値の差分絶対値を、各画素について加算した画像内差分絶対値和、を含むことを特徴とする。
【００２８】
発明１９は、発明１６ないし発明１８のいずれかのトランスコーダにおいて、前記量子化ステップ値決定部は、前記空間変化評価値と前記所定色度評価値を変数として、前記補正係数を格納する補正係数格納部、を含むことを特徴とする。
【００２９】
発明２０は、入力画像を復号化して復号画像を生成するデコーダと、復号画像を符号化して出力画像を生成するエンコーダと、を備えるトランスコーダであって、各マクロブロックの位置を示す座標位置評価値を算出する座標位置評価値算出部と、前記座標位置評価値に基づいて、補正係数を利用することにより、各マクロブロックの入力量子化ステップ値を補正して、各マクロブロックの出力量子化ステップ値を決定する量子化ステップ値決定部と、を備えることを特徴とする。
【００３０】
発明２１は、発明２０のトランスコーダにおいて、前記量子化ステップ値決定部は、各マクロブロックの位置が画像中心の位置に近いほど、出力量子化ステップ値を小さく決定することを特徴とする。
【００３１】
発明２２は、発明２０または発明２１のトランスコーダにおいて、前記量子化ステップ値決定部は、前記座標位置評価値を変数として、前記補正係数を格納する補正係数格納部、を含むことを特徴とする。
【００３２】
発明２３は、発明７、発明８、発明１５、発明１９、発明２２のいずれかのトランスコーダにおいて、さらに、入力画像の入力ビットレートと、出力画像の出力ビットレートと、出力画像の目標ビットレートと、の時間変化に基づいて、前記補正係数を前記補正係数格納部に時々刻々と更新して書き込む補正係数更新書込部、を備えることを特徴とする。
【００３３】
発明２４は、発明１ないし発明２３のいずれかのトランスコーダにおいて、さらに、各マクロブロックにおける評価値に対して、所定個数の区分分けを実行する評価値区分分け部、を備え、前記量子化ステップ値決定部は、所定個数の区分分けを実行された評価値に基づいて、出力量子化ステップ値を決定することを特徴とする。
【００３４】
発明２５は、発明２４のトランスコーダにおいて、各区分における評価値のレンジは、それぞれ等しいことを特徴とする。
【００３５】
発明２６は、発明２４のトランスコーダにおいて、各区分における評価値のレンジは、それぞれ異なることを特徴とする。
【００３６】
発明２７は、発明９ないし発明２２のいずれかのトランスコーダにおいて、前記補正係数は、出力量子化ステップ値が決定されるために、入力量子化ステップ値に乗算される乗算補正係数と、出力量子化ステップ値が決定されるために、入力量子化ステップ値に加算される加算補正係数と、を含むことを特徴とする。
【００３７】
発明２８は、発明２７のトランスコーダにおいて、さらに、前記乗算補正係数が入力量子化ステップ値に乗算された量子化ステップ値と、前記加算補正係数が入力量子化ステップ値に加算された量子化ステップ値と、前記乗算補正係数が入力量子化ステップ値に乗算されていない、かつ、前記加算補正係数が入力量子化ステップ値に加算されていない量子化ステップ値とのうち、いずれかの量子化ステップ値を出力量子化ステップ値として選択する出力量子化ステップ値選択部、を備えることを特徴とする。
【００３８】
発明２９は、発明１ないし発明２８のいずれかのトランスコーダにおいて、前記量子化ステップ値決定部は、前記補正係数により補正された出力量子化ステップ値に対して、微調整係数により微調整された出力量子化ステップ値を算出する微調整部、を含むことを特徴とする。
【００３９】
発明３０は、発明２９のトランスコーダにおいて、前記微調整係数は、前記補正係数により補正された出力量子化ステップ値に乗算される乗算微調整係数、を含むことを特徴とする。
【００４０】
発明３１は、発明２９または発明３０のトランスコーダにおいて、前記微調整係数は、前記補正係数により補正された出力量子化ステップ値に加算される加算微調整係数、を含むことを特徴とする。
【００４１】
発明３２は、発明２９ないし発明３１のいずれかのトランスコーダにおいて、前記微調整係数は、各マクロブロックのピクチャ種類に基づいて、それぞれ設定されることを特徴とする。
【００４２】
発明３３は、発明２９ないし発明３２のいずれかのトランスコーダにおいて、前記微調整係数は、入力画像の入力ビットレートと、出力画像の出力ビットレートと、出力画像の目標ビットレートと、の時間変化に基づいて、時々刻々と更新されることを特徴とする。
【発明の効果】
【００４３】
本発明のトランスコーダは、各マクロブロックについて、様々な特性評価値に基づいて、入力量子化ステップ値を補正して、出力量子化ステップ値を決定する。これにより、トランスコーダは、画質調整および符号量調整をよりきめ細やかにできる。ここで、様々な特性評価値として、以下の特性評価値があげられる。
【００４４】
第１の特性評価値として、空間方向の変化度合を示す空間変化評価値、および、時間方向の予測誤差を示す予測誤差評価値があげられる。空間変化評価値が小さいほど、また、予測誤差評価値が大きいほど、出力量子化ステップ値は小さく決定される。これにより、時間方向の予測誤差が大きい画像領域については、画質をより向上させることができる。また、時間方向の予測誤差が小さいとしても、空間方向の変化度合が小さい画像領域についても、画質をより向上させることができる。画像全体の符号量調整も図られる。
【００４５】
第２の特性評価値として、空間方向の変化度合を示す空間変化評価値、および、時間方向の変化度合を示す時間変化評価値があげられる。空間変化評価値が大きいほど、また、時間変化評価値が大きいほど、出力量子化ステップ値は小さく決定される。これにより、空間方向の変化度合が大きいうえに、時間方向の変化度合が大きい画像領域については、画質をより向上させることができる。画像全体の符号量調整も図られる。
【００４６】
第３の特性評価値として、空間方向の変化度合を示す空間変化評価値、および、肌色色度を示す肌色色度評価値があげられる。空間変化評価値が小さいほど、また、肌色色度評価値が大きいほど、出力量子化ステップ値は小さく決定される。これにより、顔画像領域については、画質をより向上させることができる。画像全体の符号量調整も図られる。
【００４７】
第４の特性評価値として、各マクロブロックの座標位置を示す座標位置評価値があげられる。各マクロブロックの座標位置が、画像中心の座標位置に近いほど、出力量子化ステップ値は小さく決定される。これにより、中央画像領域については、画質をより向上させることができる。画像全体の符号量調整も図られる。
【図面の簡単な説明】
【００４８】
【図１】トランスコーダの構成要素を示すブロック図である。
【図２】量子化ステップ値決定部の構成要素を示すブロック図である。
【図３】第１決定部の構成要素を示すブロック図である。
【図４】第１決定部におけるＬＵＴの内容を示す図である。
【図５】第１決定部の構成要素を示すブロック図である。
【図６】評価値のカテゴリ化方法を示す図である。
【図７】第１決定部におけるＬＵＴの内容を示す図である。
【図８】第２決定部の構成要素を示すブロック図である。
【図９】第２決定部におけるＬＵＴの内容を示す図である。
【図１０】論理回路部における処理の流れを示すフローチャートである。
【図１１】第３決定部の構成要素を示すブロック図である。
【図１２】第３決定部におけるＬＵＴの内容を示す図である。
【図１３】第４決定部の構成要素を示すブロック図である
【図１４】第４決定部におけるＬＵＴの内容を示す図である。
【図１５】量子化ステップ値決定部の構成要素を示すブロック図である。
【図１６】第５決定部の構成要素を示すブロック図である。
【図１７】量子化ステップ値決定部の構成要素を示すブロック図である。
【図１８】微調整部の構成要素を示すブロック図である。
【発明を実施するための形態】
【００４９】
｛第１の実施の形態｝
［トランスコーダの構成要素］
以下、図面を参照しつつ、第１の実施の形態について説明する。図１は、トランスコーダ１の構成要素を示すブロック図である。トランスコーダ１は、ＭＰＥＧ２により符号化された入力画像を入力して、Ｈ．２６４により符号化された出力画像を出力する。入力画像および出力画像の符号化方式は、ＭＰＥＧ２またはＨ．２６４などに限られない。入力画像および出力画像の符号化方式は、異なっていても同一であってもよい。
【００５０】
トランスコーダ１は、デコーダ２、エンコーダ３、処理設定部４、ＣＰＵ５、量子化ステップ値決定部６、評価値算出部７、画像メモリ８などから構成される。
【００５１】
デコーダ２は、入力画像を復号化して、復号画像を生成する。すなわち、デコーダ２は、復号化、逆量子化、周波数逆変換を、以上の順序により実行する。エンコーダ３は、復号画像を符号化して、出力画像を生成する。すなわち、エンコーダ３は、周波数変換、量子化、符号化を、以上の順序により実行する。
【００５２】
処理設定部４は、目標ビットレートなどの処理設定を、トランスコーダ１のユーザから受け付ける。ＣＰＵ５は、デコーダ２から通知された入力ビットレート、エンコーダ３から通知された出力ビットレート、処理設定部４から通知された目標ビットレートに基づいて、トランスコーダ１を統括的に制御する。
【００５３】
量子化ステップ値決定部６は、各マクロブロックについて、入力画像の量子化ステップ値をデコーダ２から入力して補正する。量子化ステップ値決定部６は、各マクロブロックについて、出力画像の量子化ステップ値を決定してエンコーダ３に出力する。
【００５４】
評価値算出部７は、復号画像をデコーダ２から入力して、各マクロブロックについて、様々な特性評価値（後述）を算出する。画像メモリ８は、復号画像をデコーダ２から入力してエンコーダ３に出力するにあたり、復号画像を一時的に格納する。
【００５５】
入力画像の量子化ステップ値の補正、および、出力画像の量子化ステップ値の決定は、量子化ステップ値決定部６に格納された補正係数（後述）、および、評価値算出部７から通知された様々な特性評価値（後述）などに基づいて実行される。
【００５６】
［量子化ステップ値決定部の構成要素］
図２は、量子化ステップ値決定部６の構成要素を示すブロック図である。図２は、量子化ステップ値決定部６の周辺構成要素を含んでいる。量子化ステップ値決定部６は、第１決定部６１、第２決定部６２、第３決定部６３、第４決定部６４などから構成される。
【００５７】
第１決定部６１は、各マクロブロックについて、トランスコーダ１に入力される入力画像の量子化ステップ値をデコーダ２から入力して、補正後の量子化ステップ値を第２決定部６２に出力する。第１決定部６１は、各マクロブロックについて、トランスコーダ１に入力される入力画像の量子化ステップ値を補正するにあたり、空間方向の変化度合を示す空間変化評価値、および、時間方向の予測誤差を示す予測誤差評価値を利用する。
【００５８】
第２決定部６２は、各マクロブロックについて、第１決定部６１により補正された量子化ステップ値を第１決定部６１から入力して、補正後の量子化ステップ値を第３決定部６３に出力する。第２決定部６２は、各マクロブロックについて、第１決定部６１により補正された量子化ステップ値を補正するにあたり、空間方向の変化度合を示す空間変化評価値、および、時間方向の変化度合を示す時間変化評価値を利用する。
【００５９】
第３決定部６３は、各マクロブロックについて、第２決定部６２により補正された量子化ステップ値を第２決定部６２から入力して、補正後の量子化ステップ値を第４決定部６４に出力する。第３決定部６３は、各マクロブロックについて、第２決定部６２により補正された量子化ステップ値を補正するにあたり、空間方向の変化度合を示す空間変化評価値、および、肌色色度を示す肌色色度評価値を利用する。
【００６０】
第４決定部６４は、各マクロブロックについて、第３決定部６３により補正された量子化ステップ値を第３決定部６３から入力して、トランスコーダ１から出力される出力画像の量子化ステップ値をエンコーダ３に出力する。第４決定部６４は、各マクロブロックについて、第３決定部６３により補正された量子化ステップ値を補正するにあたり、各マクロブロックの座標位置を示す座標位置評価値を利用する。
【００６１】
第１の実施の形態についての以下の説明においては、第１決定部６１、第２決定部６２、第３決定部６３、第４決定部６４の処理内容について、以上の順序により説明する。
【００６２】
［第１決定部６１Ａの処理内容］
図３は、第１決定部６１の一種として、第１決定部６１Ａの構成要素を示すブロック図である。第１決定部６１Ａは、図３の左端において、「入力量子化ステップ値」、「ＡＣＴ＿ＭＢ」、「ＳＡＤ＿ＭＢ」を入力する。第１決定部６１Ａは、図３の右端において、「出力量子化ステップ値」を出力する。
【００６３】
「入力量子化ステップ値」は、各マクロブロックにおける、トランスコーダ１に入力される入力画像の量子化ステップ値である。「出力量子化ステップ値」は、各マクロブロックにおける、第１決定部６１Ａにより補正された量子化ステップ値である。
【００６４】
「ＡＣＴ＿ＭＢ」は、各マクロブロックにおける、空間方向の変化度合を示す空間変化評価値である。空間変化評価値ＡＣＴ＿ＭＢは、以下に説明するように算出される。まず、評価値算出部７は、デコーダ２から復号画像を入力する。次に、評価値算出部７は、復号画像の各マクロブロックにおいて、各画素値および平均画素値の差分絶対値を、各画素について加算することにより、空間変化評価値ＡＣＴ＿ＭＢを算出する。
【００６５】
「ＳＡＤ＿ＭＢ」は、各マクロブロックにおける、時間方向の予測誤差を示す予測誤差評価値である。予測誤差評価値ＳＡＤ＿ＭＢは、以下に説明するように算出される。まず、デコーダ２は、復号画像が参照する参照画像を探索する。次に、デコーダ２は、復号画像および参照画像の各マクロブロックにおいて、各対応画素値の差分絶対値を、各対応画素について加算することにより、予測誤差評価値ＳＡＤ＿ＭＢを算出する。
【００６６】
「Ｐ＿ｔｙｐｅ＿ＭＢ」は、各マクロブロックにおける、ピクチャ種類を示すパラメータである。ピクチャ種類として、Ｉピクチャ、Ｐピクチャ、Ｂピクチャ、ＰピクチャまたはＢピクチャにおけるイントラマクロブロックがあげられる。
【００６７】
ピクチャ種類がＩピクチャであるときには、そのピクチャが参照する参照ピクチャは存在しない。このときには、そのピクチャの各マクロブロックにおける予測誤差評価値ＳＡＤ＿ＭＢとして、そのピクチャの直前に位置するＰピクチャの各対応マクロブロックにおける予測誤差評価値ＳＡＤ＿ＭＢを採用する。
【００６８】
ピクチャ種類がＰピクチャまたはＢピクチャにおけるイントラマクロブロックであるときには、そのマクロブロックが参照する参照マクロブロックは存在しない。このときには、そのマクロブロックにおける予測誤差評価値ＳＡＤ＿ＭＢとして、そのマクロブロックの近傍に位置するマクロブロックにおける予測誤差評価値ＳＡＤ＿ＭＢを採用する。
【００６９】
第１決定部６１Ａは、シフタ６１１Ａ、６１２Ａ、セレクタ６１３Ａ、加算器６１４Ａ、除算器６１５Ａ、補正係数格納部６１６Ａ、乗算器６１７Ａ、加算器６１８Ａ、セレクタ６１９Ａなどから構成される。特に、補正係数格納部６１６Ａについて説明する。
【００７０】
補正係数格納部６１６Ａは、入力量子化ステップ値を補正して、出力量子化ステップ値を決定するため、補正係数を格納する。補正係数として乗算係数が、予測誤差評価値ＳＡＤ＿ＭＢに対する空間変化評価値ＡＣＴ＿ＭＢの割合を１変数として、乗算係数１次元ＬＵＴ６１６ＡＭに格納されている。補正係数として加算係数が、予測誤差評価値ＳＡＤ＿ＭＢに対する空間変化評価値ＡＣＴ＿ＭＢの割合を１変数として、加算係数１次元ＬＵＴ６１６ＡＡに格納されている。
【００７１】
ここで、厳密には、予測誤差評価値ＳＡＤ＿ＭＢに対する空間変化評価値ＡＣＴ＿ＭＢの割合を１変数として、乗算係数および加算係数が格納されているわけではない。むしろ、厳密には、シフタ６１２Ａによりシフト演算されて加算器６１４Ａにより加算演算された予測誤差評価値ＳＡＤ＿ＭＢに対する、シフタ６１１Ａによりシフト演算された空間変化評価値ＡＣＴ＿ＭＢの割合を１変数として、乗算係数および加算係数が格納されている。以上のように乗算係数および加算係数が格納されている理由について説明する。
【００７２】
そもそも、各マクロブロックおよびその参照マクロブロックのピクチャ間距離は、各マクロブロックのピクチャ種類により相違する。そのため、各マクロブロックにおける予測誤差評価値ＳＡＤ＿ＭＢは、各マクロブロックのピクチャ種類によりレンジが相違する。しかし、乗算係数１次元ＬＵＴ６１６ＡＭおよび加算係数１次元ＬＵＴ６１６ＡＡは、各マクロブロックのピクチャ種類に依存せず、それぞれ１種類のみが格納されている。
【００７３】
そこで、各マクロブロックにおける予測誤差評価値ＳＡＤ＿ＭＢは、各マクロブロックのピクチャ種類に依存して、それぞれ相違するシフト演算を実行される。そのため、シフト演算を実行された各マクロブロックにおける予測誤差評価値ＳＡＤ＿ＭＢは、各マクロブロックのピクチャ種類によりレンジが相違しない。これにより、乗算係数１次元ＬＵＴ６１６ＡＭおよび加算係数１次元ＬＵＴ６１６ＡＡは、それぞれ１種類のみが格納されているとしても、各マクロブロックのピクチャ種類に依存せず有効に利用される。
【００７４】
次に、第１決定部６１Ａにおいて、あるマクロブロックについて、入力量子化ステップ値が補正されて、出力量子化ステップ値が決定される処理内容について説明する。
【００７５】
シフタ６１１Ａは、あるマクロブロックについて、空間変化評価値ＡＣＴ＿ＭＢを入力する。シフタ６１１Ａは、空間変化評価値ＡＣＴ＿ＭＢについて、シフトビット数ａｃｔ＿ｓｈｉｆｔ＿ｂｉｔ分だけ、シフト演算を実行する。シフタ６１１Ａによるシフト演算により、乗算係数１次元ＬＵＴ６１６ＡＭおよび加算係数１次元ＬＵＴ６１６ＡＡは、各マクロブロックのピクチャ種類に依存せずより有効に利用される。
【００７６】
シフタ６１２Ａは、あるマクロブロックについて、予測誤差評価値ＳＡＤ＿ＭＢを入力する。シフタ６１２Ａは、予測誤差評価値ＳＡＤ＿ＭＢについて、シフトビット数ｓａｄ＿ｓｈｉｆｔ＿ｂｉｔ分だけ、シフト演算を実行する。ここで、シフトビット数ｓａｄ＿ｓｈｉｆｔ＿ｂｉｔは、以下に説明するように決定される。
【００７７】
セレクタ６１３Ａは、あるマクロブロックについて、ピクチャ種類Ｐ＿ｔｙｐｅ＿ＭＢを切替信号として入力する。ピクチャ種類Ｐ＿ｔｙｐｅ＿ＭＢがＩピクチャ、Ｐピクチャ、Ｂピクチャであるときには、セレクタ６１３Ａは、シフトビット数として、それぞれ、ｓａｄ＿ｓｈｉｆｔ＿ｂｉｔ＿Ｉ、ｓａｄ＿ｓｈｉｆｔ＿ｂｉｔ＿Ｐ、ｓａｄ＿ｓｈｉｆｔ＿ｂｉｔ＿Ｂを出力する。ピクチャ種類Ｐ＿ｔｙｐｅ＿ＭＢがＰピクチャまたはＢピクチャのイントラマクロブロックであるときには、セレクタ６１３Ａは、シフトビット数として、ｓａｄ＿ｓｈｉｆｔ＿ｂｉｔ＿Ｉ＿ＰＢを出力する。
【００７８】
加算器６１４Ａは、オフセットｓａｄ＿ｏｆｆｓｅｔを、シフト演算を実行された予測誤差評価値ＳＡＤ＿ＭＢに加算する。加算器６１４Ａによる加算演算により、シフト演算を実行された予測誤差評価値ＳＡＤ＿ＭＢは、よりきめ細かく微調整される。
【００７９】
除算器６１５Ａは、シフト演算を実行された空間変化評価値ＡＣＴ＿ＭＢを、シフト演算および加算演算を実行された予測誤差評価値ＳＡＤ＿ＭＢにより除算することにより、予測誤差評価値ＳＡＤ＿ＭＢに対する空間変化評価値ＡＣＴ＿ＭＢの割合を算出する。
【００８０】
補正係数格納部６１６Ａは、予測誤差評価値ＳＡＤ＿ＭＢに対する空間変化評価値ＡＣＴ＿ＭＢの割合を入力する。補正係数格納部６１６Ａは、乗算係数１次元ＬＵＴ６１６ＡＭを利用して、乗算係数を算出する。補正係数格納部６１６Ａは、加算係数１次元ＬＵＴ６１６ＡＡを利用して、加算係数を算出する。
【００８１】
図４（ａ）は、乗算係数１次元ＬＵＴ６１６ＡＭの内容を示す図である。予測誤差評価値ＳＡＤ＿ＭＢに対する空間変化評価値ＡＣＴ＿ＭＢの割合が増加するに従って、乗算係数が単調に増加する。予測誤差評価値ＳＡＤ＿ＭＢに対する空間変化評価値ＡＣＴ＿ＭＢの割合が所定値ｘであるときに、乗算係数は１である。すなわち、乗算係数を利用して決定される量子化ステップ値は、入力量子化ステップ値から変化しない。
【００８２】
図４（ｂ）は、加算係数１次元ＬＵＴ６１６ＡＡの内容を示す図である。予測誤差評価値ＳＡＤ＿ＭＢに対する空間変化評価値ＡＣＴ＿ＭＢの割合が増加するに従って、加算係数が単調に増加する。予測誤差評価値ＳＡＤ＿ＭＢに対する空間変化評価値ＡＣＴ＿ＭＢの割合が所定値ｘであるときに、加算係数は０である。すなわち、加算係数を利用して決定される量子化ステップ値は、入力量子化ステップ値から変化しない。
【００８３】
乗算器６１７Ａは、乗算係数１次元ＬＵＴ６１６ＡＭにより算出された乗算係数を、入力量子化ステップ値に乗算する。加算器６１８Ａは、加算係数１次元ＬＵＴ６１６ＡＡにより算出された加算係数を、入力量子化ステップ値に加算する。
【００８４】
セレクタ６１９Ａは、“０”、“１”、“２”のうちいずれかを、切替信号として入力する。切替信号が“０”であるときには、セレクタ６１９Ａは、出力量子化ステップ値として、補正されていない入力量子化ステップ値を出力する。切替信号が“１”であるときには、セレクタ６１９Ａは、出力量子化ステップ値として、乗算係数を乗算された入力量子化ステップ値を出力する。切替信号が“２”であるときには、セレクタ６１９Ａは、出力量子化ステップ値として、加算係数を加算された入力量子化ステップ値を出力する。
【００８５】
空間方向の変化度合が同程度である画像領域のうち、時間方向の予測誤差が大きい画像領域については、出力量子化ステップ値が小さく決定される。そして、時間方向の予測誤差が小さい画像領域については、出力量子化ステップ値が大きく決定される。
【００８６】
すなわち、時間方向の予測誤差が大きい画像領域については、多くの出力ビット数が割り当てられることにより、画質をより向上させることができる。そして、時間方向の予測誤差が小さい画像領域については、多くの出力ビット数が割り当てられなくても、画質を過度に劣化させることはない。これにより、画像全体の符号量調整も図られる。
【００８７】
時間方向の予測誤差が同程度である画像領域のうち、空間方向の変化度合が小さい画像領域については、出力量子化ステップ値が小さく決定される。そして、空間方向の変化度合が大きい画像領域については、出力量子化ステップ値が大きく決定される。
【００８８】
すなわち、空間方向の変化度合が小さい画像領域については、多くの出力ビット数が割り当てられることにより、画質をより向上させることができる。そして、空間方向の変化度合が大きい画像領域については、多くの出力ビット数が割り当てられなくても、画質を過度に劣化させることはない。これにより、画像全体の符号量調整も図られる。
【００８９】
ここで、乗算係数１次元ＬＵＴ６１６ＡＭおよび加算係数１次元ＬＵＴ６１６ＡＡの内容は、時間変化することなく固定されていてもよい。また、シフトビット数ａｃｔ＿ｓｈｉｆｔ＿ｂｉｔ、ｓａｄ＿ｓｈｉｆｔ＿ｂｉｔ、オフセットｓａｄ＿ｏｆｆｓｅｔは、時間変化することなく固定されていてもよい。さらに、セレクタ６１９Ａへの切替信号は、時間変化することなく固定されていてもよい。
【００９０】
しかし、乗算係数１次元ＬＵＴ６１６ＡＭおよび加算係数１次元ＬＵＴ６１６ＡＡの内容は、入力ビットレート、出力ビットレート、目標ビットレートに基づいて、ＣＰＵ５により時々刻々と書き換えられてもよい。たとえば、出力ビットレートが目標ビットレートより高いときには、乗算係数および加算係数が大きく書き換えられるとよい。
【００９１】
また、シフトビット数ａｃｔ＿ｓｈｉｆｔ＿ｂｉｔ、ｓａｄ＿ｓｈｉｆｔ＿ｂｉｔ、オフセットｓａｄ＿ｏｆｆｓｅｔは、入力ビットレート、出力ビットレート、目標ビットレートに基づいて、ＣＰＵ５により時々刻々と更新されてもよい。たとえば、出力ビットレートが目標ビットレートより高いときには、予測誤差評価値ＳＡＤ＿ＭＢに対する空間変化評価値ＡＣＴ＿ＭＢの割合が大きくなるように、シフトビット数ａｃｔ＿ｓｈｉｆｔ＿ｂｉｔ、ｓａｄ＿ｓｈｉｆｔ＿ｂｉｔが更新されるとよい。
【００９２】
さらに、セレクタ６１９Ａへの切替信号は、入力ビットレート、出力ビットレート、目標ビットレートに基づいて、ＣＰＵ５により時々刻々と更新されてもよい。たとえば、出力ビットレートが目標ビットレートより高いときには、セレクタ６１９Ａに入力される量子化ステップ値のうち、最大の量子化ステップ値がセレクタ６１９Ａから出力されるように、セレクタ６１９Ａへの切替信号が更新されるとよい。
【００９３】
［第１決定部６１Ｂの処理内容］
図５は、第１決定部６１の一種として、第１決定部６１Ｂの構成要素を示すブロック図である。第１決定部６１Ｂは、図５の左端において、「入力量子化ステップ値」、「ｈ＿ＡＣＴ＿ＭＢ」、「ｈ＿ＳＡＤ＿ＭＢ」を入力する。第１決定部６１Ｂは、図５の右端において、「出力量子化ステップ値」を出力する。
【００９４】
「入力量子化ステップ値」は、各マクロブロックにおける、トランスコーダ１に入力される入力画像の量子化ステップ値である。「出力量子化ステップ値」は、各マクロブロックにおける、第１決定部６１Ｂにより補正された量子化ステップ値である。
【００９５】
「ｈ＿ＡＣＴ＿ＭＢ」は、各マクロブロックにおける、空間方向の変化度合を示す空間変化評価値である。空間変化評価値ｈ＿ＡＣＴ＿ＭＢは、空間変化評価値ＡＣＴ＿ＭＢがカテゴリ化されたときのカテゴリ番号である。ここで、空間変化評価値ＡＣＴ＿ＭＢは、評価値算出部７において、シフタ６１１Ａと同様なシフト演算を実行されている。
【００９６】
「ｈ＿ＳＡＤ＿ＭＢ」は、各マクロブロックにおける、時間方向の予測誤差を示す予測誤差評価値である。予測誤差評価値ｈ＿ＳＡＤ＿ＭＢは、予測誤差評価値ＳＡＤ＿ＭＢがカテゴリ化されたときのカテゴリ番号である。ここで、予測誤差評価値ＳＡＤ＿ＭＢは、評価値算出部７において、シフタ６１２Ａと同様なシフト演算、および、加算器６１４Ａと同様な加算演算を実行されている。
【００９７】
図６は、評価値のカテゴリ化方法を示す図である。図６（ａ）、（ｂ）、（ｃ）の共通点として、評価値は最小値から最大値までにかけて、５個のカテゴリにカテゴリ化されている。そして、カテゴリ番号が増加するほど、カテゴリに属する評価値が増加する。
【００９８】
図６（ａ）に示した第１のカテゴリ化方法においては、カテゴリ０、１、２、３、４のレンジはそれぞれ同一である。このときには、評価値のカテゴリ化は容易に実行される。
【００９９】
図６（ｂ）に示した第２のカテゴリ化方法においては、カテゴリ０、１、２、３、４のレンジはそれぞれ相違する。カテゴリ番号が増加するほど、カテゴリのレンジが増加する。このときには、評価値が最小値に近いときほど、評価値が細かくカテゴリ化される。
【０１００】
図６（ｃ）に示した第３のカテゴリ化方法においては、カテゴリ０、１、２、３、４のレンジはそれぞれ相違する。カテゴリ番号が２に近づくほど、カテゴリのレンジが減少する。このときには、評価値が中間値に近いときほど、評価値が細かくカテゴリ化される。
【０１０１】
第１決定部６１Ｂは、補正係数格納部６１１Ｂ、乗算器６１２Ｂ、加算器６１３Ｂ、セレクタ６１４Ｂなどから構成される。特に、補正係数格納部６１１Ｂについて説明する。
【０１０２】
補正係数格納部６１１Ｂは、入力量子化ステップ値を補正して、出力量子化ステップ値を決定するため、補正係数を格納する。補正係数として乗算係数が、予測誤差評価値ｈ＿ＳＡＤ＿ＭＢおよび空間変化評価値ｈ＿ＡＣＴ＿ＭＢを２変数として、乗算係数２次元ＬＵＴ６１１ＢＭに格納されている。補正係数として加算係数が、予測誤差評価値ｈ＿ＳＡＤ＿ＭＢおよび空間変化評価値ｈ＿ＡＣＴ＿ＭＢを２変数として、加算係数２次元ＬＵＴ６１１ＢＡに格納されている。補正係数格納部６１１Ｂは、カテゴリ番号を２変数とする２次元ＬＵＴを格納するため、２次元ＬＵＴを格納するとしても、記憶容量を低減させることができる。
【０１０３】
次に、第１決定部６１Ｂにおいて、あるマクロブロックについて、入力量子化ステップ値が補正されて、出力量子化ステップ値が決定される処理内容について説明する。
【０１０４】
補正係数格納部６１１Ｂは、あるマクロブロックについて、予測誤差評価値ｈ＿ＳＡＤ＿ＭＢおよび空間変化評価値ｈ＿ＡＣＴ＿ＭＢを入力する。補正係数格納部６１１Ｂは、乗算係数２次元ＬＵＴ６１１ＢＭを利用して、乗算係数を算出する。補正係数格納部６１１Ｂは、加算係数２次元ＬＵＴ６１１ＢＡを利用して、加算係数を算出する。
【０１０５】
図７（ａ）は、乗算係数２次元ＬＵＴ６１１ＢＭの内容を示す図である。予測誤差評価値ｈ＿ＳＡＤ＿ＭＢが増加するに従って、乗算係数が単調に減少する。空間変化評価値ｈ＿ＡＣＴ＿ＭＢが増加するに従って、乗算係数が単調に増加する。
【０１０６】
図７（ｂ）は、加算係数２次元ＬＵＴ６１１ＢＡの内容を示す図である。予測誤差評価値ｈ＿ＳＡＤ＿ＭＢが増加するに従って、加算係数が単調に減少する。空間変化評価値ｈ＿ＡＣＴ＿ＭＢが増加するに従って、加算係数が単調に増加する。
【０１０７】
乗算器６１２Ｂは、乗算係数２次元ＬＵＴ６１１ＢＭにより算出された乗算係数を、入力量子化ステップ値に乗算する。加算器６１３Ｂは、加算係数２次元ＬＵＴ６１１ＢＡにより算出された加算係数を、入力量子化ステップ値に加算する。
【０１０８】
セレクタ６１４Ｂは、“０”、“１”、“２”のうちいずれかを、切替信号として入力する。切替信号が“０”であるときには、セレクタ６１４Ｂは、出力量子化ステップ値として、補正されていない入力量子化ステップ値を出力する。切替信号が“１”であるときには、セレクタ６１４Ｂは、出力量子化ステップ値として、乗算係数を乗算された入力量子化ステップ値を出力する。切替信号が“２”であるときには、セレクタ６１４Ｂは、出力量子化ステップ値として、加算係数を加算された入力量子化ステップ値を出力する。
【０１０９】
乗算係数２次元ＬＵＴ６１１ＢＭおよび加算係数２次元ＬＵＴ６１１ＢＡの内容は、時間変化することなく固定されていてもよく、ＣＰＵ５により時々刻々と書き換えられてもよい。セレクタ６１９Ａへの切替信号は、時間変化することなく固定されていてもよく、ＣＰＵ５により時々刻々と更新されてもよい。
【０１１０】
［第２決定部の処理内容］
図８は、第２決定部６２の構成要素を示すブロック図である。第２決定部６２は、図８の左端において、「入力量子化ステップ値」、「ｈ＿ＡＣＴ＿ＭＢ」、「ｈ＿ＭＶｂｉｔ＿ＭＢ」、「Ｐ＿ｔｙｐｅ＿ＭＢ」を入力する。第２決定部６２は、図８の右端において、「出力量子化ステップ値」を出力する。
【０１１１】
「入力量子化ステップ値」は、各マクロブロックにおける、第１決定部６１により補正された量子化ステップ値である。「出力量子化ステップ値」は、各マクロブロックにおける、第２決定部６２により補正された量子化ステップ値である。
【０１１２】
「ｈ＿ＡＣＴ＿ＭＢ」は、各マクロブロックにおける、空間方向の変化度合を示す空間変化評価値である。空間変化評価値ｈ＿ＡＣＴ＿ＭＢは、以下に説明するように算出される。まず、評価値算出部７は、デコーダ２から復号画像を入力する。次に、評価値算出部７は、復号画像の各マクロブロックにおいて、各画素値および平均画素値の差分絶対値を、各画素について加算することにより、空間変化評価値ＡＣＴ＿ＭＢを算出する。次に、評価値算出部７は、図６に示したカテゴリ化方法により、カテゴリ化を実行する。
【０１１３】
「ｈ＿ＭＶｂｉｔ＿ＭＢ」は、各マクロブロックにおける、時間方向の変化度合を示す時間変化評価値である。時間変化評価値ｈ＿ＭＶｂｉｔ＿ＭＢは、以下に説明するように算出される。まず、デコーダ２は、入力画像の各マクロブロックにおける動きベクトルの大きさまたは動きベクトルの符号量を取得する。ここで、動きベクトルの符号量は、動きベクトルの大きさに相当する。次に、評価値算出部７は、図６に示したカテゴリ化方法により、カテゴリ化を実行する。
【０１１４】
「Ｐ＿ｔｙｐｅ＿ＭＢ」は、各マクロブロックにおける、ピクチャ種類を示すパラメータである。ピクチャ種類として、Ｉピクチャ、Ｐピクチャ、Ｂピクチャ、ＰピクチャまたはＢピクチャにおけるイントラマクロブロックがあげられる。
【０１１５】
ピクチャ種類がＩピクチャであるときには、そのピクチャが参照する参照ピクチャは存在しない。このときには、そのピクチャの各マクロブロックにおける時間変化評価値ｈ＿ＭＶｂｉｔ＿ＭＢは算出されない。
【０１１６】
ピクチャ種類がＰピクチャまたはＢピクチャにおけるイントラマクロブロックであるときには、そのマクロブロックが参照する参照マクロブロックは存在しない。このときには、そのマクロブロックにおける時間変化評価値ｈ＿ＭＶｂｉｔ＿ＭＢは算出されない。
【０１１７】
第２決定部６２は、補正係数格納部６２１、６２２、６２３、セレクタ６２４、論理回路部６２５、乗算器６２６、加算器６２７、セレクタ６２８などから構成される。特に、補正係数格納部６２１、６２２、６２３について説明する。
【０１１８】
補正係数格納部６２１は、Ｐピクチャについて、入力量子化ステップ値を補正して、出力量子化ステップ値を決定するため、補正係数を格納する。補正係数として乗算係数が、空間変化評価値ｈ＿ＡＣＴ＿ＭＢおよび時間変化評価値ｈ＿ＭＶｂｉｔ＿ＭＢ＿Ｐを２変数として、乗算係数２次元ＬＵＴ６２１Ｍに格納されている。補正係数として加算係数が、空間変化評価値ｈ＿ＡＣＴ＿ＭＢおよび時間変化評価値ｈ＿ＭＶｂｉｔ＿ＭＢ＿Ｐを２変数として、加算係数２次元ＬＵＴ６２１Ａに格納されている。
【０１１９】
補正係数格納部６２２は、Ｂピクチャについて、入力量子化ステップ値を補正して、出力量子化ステップ値を決定するため、補正係数を格納する。補正係数として乗算係数が、空間変化評価値ｈ＿ＡＣＴ＿ＭＢおよび時間変化評価値ｈ＿ＭＶｂｉｔ＿ＭＢ＿Ｂを２変数として、乗算係数２次元ＬＵＴ６２２Ｍに格納されている。補正係数として加算係数が、空間変化評価値ｈ＿ＡＣＴ＿ＭＢおよび時間変化評価値ｈ＿ＭＶｂｉｔ＿ＭＢ＿Ｂを２変数として、加算係数２次元ＬＵＴ６２２Ａに格納されている。
【０１２０】
補正係数格納部６２３は、Ｉピクチャについて、入力量子化ステップ値を補正して、出力量子化ステップ値を決定するため、補正係数を格納する。補正係数として乗算係数が、空間変化評価値ｈ＿ＡＣＴ＿ＭＢを１変数として、乗算係数１次元ＬＵＴ６２３Ｍに格納されている。補正係数として加算係数が、空間変化評価値ｈ＿ＡＣＴ＿ＭＢを１変数として、加算係数１次元ＬＵＴ６２３Ａに格納されている。Ｉピクチャについて、時間変化評価値ｈ＿ＭＶｂｉｔ＿ＭＢは、乗算係数１次元ＬＵＴ６２３Ｍおよび加算係数１次元ＬＵＴ６２３Ａの変数とならない。
【０１２１】
次に、第２決定部６２において、あるマクロブロックについて、入力量子化ステップ値が補正されて、出力量子化ステップ値が決定される処理内容について説明する。
【０１２２】
補正係数格納部６２１は、Ｐピクチャのあるマクロブロックについて、空間変化評価値ｈ＿ＡＣＴ＿ＭＢおよび時間変化評価値ｈ＿ＭＶｂｉｔ＿ＭＢ＿Ｐを入力する。補正係数格納部６２１は、乗算係数２次元ＬＵＴ６２１Ｍを利用して、乗算係数を算出する。補正係数格納部６２１は、加算係数２次元ＬＵＴ６２１Ａを利用して、加算係数を算出する。補正係数格納部６２１は、乗算係数および加算係数を、セレクタ６２４に出力する。
【０１２３】
補正係数格納部６２２は、Ｂピクチャのあるマクロブロックについて、空間変化評価値ｈ＿ＡＣＴ＿ＭＢおよび時間変化評価値ｈ＿ＭＶｂｉｔ＿ＭＢ＿Ｂを入力する。補正係数格納部６２２は、乗算係数２次元ＬＵＴ６２２Ｍを利用して、乗算係数を算出する。補正係数格納部６２２は、加算係数２次元ＬＵＴ６２２Ａを利用して、加算係数を算出する。補正係数格納部６２２は、乗算係数および加算係数を、セレクタ６２４に出力する。
【０１２４】
補正係数格納部６２３は、Ｉピクチャのあるマクロブロックについて、空間変化評価値ｈ＿ＡＣＴ＿ＭＢを入力する。補正係数格納部６２３は、乗算係数１次元ＬＵＴ６２３Ｍを利用して、乗算係数を算出する。補正係数格納部６２３は、加算係数１次元ＬＵＴ６２３Ａを利用して、加算係数を算出する。補正係数格納部６２３は、乗算係数および加算係数を、セレクタ６２４に出力する。
【０１２５】
図９（ａ）は、乗算係数２次元ＬＵＴ６２１Ｍ、６２２Ｍの内容を示す図である。時間変化評価値ｈ＿ＭＶｂｉｔ＿ＭＢが増加するに従って、乗算係数が単調に減少する。空間変化評価値ｈ＿ＡＣＴ＿ＭＢが増加するに従って、乗算係数が単調に減少する。乗算係数２次元ＬＵＴ６２１Ｍ、６２２Ｍは、図９（ａ）のように同一のものであっても、図９（ａ）と異なり相違するものであってもよい。
【０１２６】
図９（ｂ）は、加算係数２次元ＬＵＴ６２１Ａ、６２２Ａの内容を示す図である。時間変化評価値ｈ＿ＭＶｂｉｔ＿ＭＢが増加するに従って、加算係数が単調に減少する。空間変化評価値ｈ＿ＡＣＴ＿ＭＢが増加するに従って、加算係数が単調に減少する。加算係数２次元ＬＵＴ６２１Ａ、６２２Ａは、図９（ｂ）のように同一のものであっても、図９（ｂ）と異なり相違するものであってもよい。
【０１２７】
図９（ｃ）は、乗算係数１次元ＬＵＴ６２３Ｍの内容を示す図である。空間変化評価値ｈ＿ＡＣＴ＿ＭＢが増加するに従って、乗算係数が単調に減少する。
【０１２８】
図９（ｄ）は、加算係数１次元ＬＵＴ６２３Ａの内容を示す図である。空間変化評価値ｈ＿ＡＣＴ＿ＭＢが増加するに従って、加算係数が単調に減少する。
【０１２９】
論理回路部６２５は、あるマクロブロックについて、ピクチャ種類Ｐ＿ｔｙｐｅ＿ＭＢを入力する。論理回路部６２５は、セレクタ６２４の切替信号を、セレクタ６２４に出力する。図１０は、論理回路部６２５における処理の流れを示すフローチャートである。
【０１３０】
論理回路部６２５がピクチャ種類Ｐ＿ｔｙｐｅ＿ＭＢを入力したとき（ステップＳ１）、ピクチャ種類Ｐ＿ｔｙｐｅ＿ＭＢがＰピクチャであるときについて考える（ステップＳ２においてＹＥＳ）。論理回路部６２５は、セレクタ６２４の切替信号として、Ｐピクチャに対応する“０”を出力する（ステップＳ３）。セレクタ６２４は、乗算係数および加算係数として、乗算係数２次元ＬＵＴ６２１Ｍおよび加算係数２次元ＬＵＴ６２１Ａにより算出されたものを出力する。
【０１３１】
論理回路部６２５がピクチャ種類Ｐ＿ｔｙｐｅ＿ＭＢを入力したとき（ステップＳ１）、ピクチャ種類Ｐ＿ｔｙｐｅ＿ＭＢがＢピクチャであるときについて考える（ステップＳ２においてＮＯ、ステップＳ４においてＹＥＳ）。論理回路部６２５は、セレクタ６２４の切替信号として、Ｂピクチャに対応する“１”を出力する（ステップＳ５）。セレクタ６２４は、乗算係数および加算係数として、乗算係数２次元ＬＵＴ６２２Ｍおよび加算係数２次元ＬＵＴ６２２Ａにより算出されたものを出力する。
【０１３２】
論理回路部６２５がピクチャ種類Ｐ＿ｔｙｐｅ＿ＭＢを入力したとき（ステップＳ１）、ピクチャ種類Ｐ＿ｔｙｐｅ＿ＭＢがＩピクチャであるときについて考える（ステップＳ２においてＮＯ、ステップＳ４においてＮＯ、ステップＳ６においてＹＥＳ）。論理回路部６２５は、セレクタ６２４の切替信号として、Ｉピクチャに対応する“２”を出力する（ステップＳ７）。セレクタ６２４は、乗算係数および加算係数として、乗算係数１次元ＬＵＴ６２３Ｍおよび加算係数１次元ＬＵＴ６２３Ａにより算出されたものを出力する。
【０１３３】
論理回路部６２５がピクチャ種類Ｐ＿ｔｙｐｅ＿ＭＢを入力したとき（ステップＳ１）、ピクチャ種類Ｐ＿ｔｙｐｅ＿ＭＢがＰピクチャまたはＢピクチャのイントラマクロブロックであるときについて考える（ステップＳ２においてＮＯ、ステップＳ４においてＮＯ、ステップＳ６においてＮＯ）。論理回路部６２５は、そのマクロブロックの近傍に位置するマクロブロックについて、すでに算出されている乗算係数および加算係数を出力するように、セレクタ６２４に指示する（ステップＳ８）。
【０１３４】
乗算器６２６は、セレクタ６２４により出力された乗算係数を、入力量子化ステップ値に乗算する。加算器６２７は、セレクタ６２４により出力された加算係数を、入力量子化ステップ値に加算する。
【０１３５】
セレクタ６２８は、“０”、“１”、“２”のうちいずれかを、切替信号として入力する。切替信号が“０”であるときには、セレクタ６２８は、出力量子化ステップ値として、補正されていない入力量子化ステップ値を出力する。切替信号が“１”であるときには、セレクタ６２８は、出力量子化ステップ値として、乗算係数を乗算された入力量子化ステップ値を出力する。切替信号が“２”であるときには、セレクタ６２８は、出力量子化ステップ値として、加算係数を加算された入力量子化ステップ値を出力する。
【０１３６】
空間方向の変化度合が大きく、時間方向の変化度合が大きい画像領域については、出力量子化ステップ値は小さく設定される。空間方向の変化度合が小さく、時間方向の変化度合が小さい画像領域については、出力量子化ステップ値は大きく設定される。
【０１３７】
すなわち、小さい物体が激しく動く画像領域については、多くの出力ビット数が割り当てられることにより、画質をより向上させることができる。そして、大きい物体が緩やかに動く画像領域については、多くの出力ビット数が割り当てられなくても、画質を過度に劣化させることはない。これにより、画像全体の符号量調整も図られる。
【０１３８】
ここで、第１決定部６１においては、空間方向の変化度合が小さい画像領域において、出力量子化ステップ値が小さく設定される。すなわち、平坦な画像領域について、多くの出力ビット数が割り当てられる。しかし、第２決定部６２においては、空間方向の変化度合が大きい画像領域において、出力量子化ステップ値が小さく設定される。すなわち、小さい物体を含む画像領域について、多くの出力ビット数が割り当てられる。このように、第１決定部６１および第２決定部６２は、それぞれ画像特性の異なる画像領域について、多くの出力ビット数を割り当てるのである。
【０１３９】
乗算係数ＬＵＴおよび加算係数ＬＵＴの内容は、時間変化することなく固定されていてもよく、ＣＰＵ５により時々刻々と書き換えられてもよい。セレクタ６２８への切替信号は、時間変化することなく固定されていてもよく、ＣＰＵ５により時々刻々と更新されてもよい。カテゴリのレンジは任意であり、カテゴリ化を利用する次元数は任意である。
【０１４０】
［第３決定部の処理内容］
図１１は、第３決定部６３の構成要素を示すブロック図である。第３決定部６３は、図１１の左端において、「入力量子化ステップ値」、「ｈ＿ＡＣＴ＿ＭＢ」、「ｈ＿ＳｋｉｎＴｏｎｅ＿ＭＢ」を入力する。第３決定部６３は、図１１の右端において、「出力量子化ステップ値」を出力する。
【０１４１】
「入力量子化ステップ値」は、各マクロブロックにおける、第２決定部６２により補正された量子化ステップ値である。「出力量子化ステップ値」は、各マクロブロックにおける、第３決定部６３により補正された量子化ステップ値である。
【０１４２】
「ｈ＿ＡＣＴ＿ＭＢ」は、各マクロブロックにおける、空間方向の変化度合を示す空間変化評価値である。空間変化評価値ｈ＿ＡＣＴ＿ＭＢは、以下に説明するように算出される。まず、評価値算出部７は、デコーダ２から復号画像を入力する。次に、評価値算出部７は、復号画像の各マクロブロックにおいて、各画素値および平均画素値の差分絶対値を、各画素について加算することにより、空間変化評価値ＡＣＴ＿ＭＢを算出する。次に、評価値算出部７は、図６に示したカテゴリ化方法により、カテゴリ化を実行する。
【０１４３】
「ｈ＿ＳｋｉｎＴｏｎｅ＿ＭＢ」は、各マクロブロックにおける、肌色色度を示す肌色色度評価値である。肌色色度評価値ｈ＿ＳｋｉｎＴｏｎｅ＿ＭＢは、以下に説明するように算出される。まず、評価値算出部７は、デコーダ２から復号画像を入力する。次に、評価値算出部７は、復号画像の各マクロブロックにおいて、各画素の肌色色度を各画素の色差信号に基づいて算出して、肌色色度の高い画素数を計測することにより、肌色色度評価値ＳｋｉｎＴｏｎｅ＿ＭＢを算出する。次に、評価値算出部７は、図６に示したカテゴリ化方法により、カテゴリ化を実行する。
【０１４４】
第３決定部６３は、補正係数格納部６３１、乗算器６３２、加算器６３３、セレクタ６３４などから構成される。特に、補正係数格納部６３１について説明する。
【０１４５】
補正係数格納部６３１は、入力量子化ステップ値を補正して、出力量子化ステップ値を決定するため、補正係数を格納する。補正係数として乗算係数が、空間変化評価値ｈ＿ＡＣＴ＿ＭＢおよび肌色色度評価値ｈ＿ＳｋｉｎＴｏｎｅ＿ＭＢを２変数として、乗算係数２次元ＬＵＴ６３１Ｍに格納されている。補正係数として加算係数が、空間変化評価値ｈ＿ＡＣＴ＿ＭＢおよび肌色色度評価値ｈ＿ＳｋｉｎＴｏｎｅ＿ＭＢを２変数として、加算係数２次元ＬＵＴ６３１Ａに格納されている。
【０１４６】
次に、第３決定部６３において、あるマクロブロックについて、入力量子化ステップ値が補正されて、出力量子化ステップ値が決定される処理内容について説明する。
【０１４７】
補正係数格納部６３１は、あるマクロブロックについて、空間変化評価値ｈ＿ＡＣＴ＿ＭＢおよび肌色色度評価値ｈ＿ＳｋｉｎＴｏｎｅ＿ＭＢを入力する。補正係数格納部６３１は、乗算係数２次元ＬＵＴ６３１Ｍを利用して、乗算係数を算出する。補正係数格納部６３１は、加算係数２次元ＬＵＴ６３１Ａを利用して、加算係数を算出する。
【０１４８】
図１２（ａ）は、乗算係数２次元ＬＵＴ６３１Ｍの内容を示す図である。肌色色度評価値ｈ＿ＳｋｉｎＴｏｎｅ＿ＭＢが増加するに従って、乗算係数が単調に減少する。空間変化評価値ｈ＿ＡＣＴ＿ＭＢが増加するに従って、乗算係数が単調に増加する。
【０１４９】
図１２（ｂ）は、加算係数２次元ＬＵＴ６３１Ａの内容を示す図である。肌色色度評価値ｈ＿ＳｋｉｎＴｏｎｅ＿ＭＢが増加するに従って、加算係数が単調に減少する。空間変化評価値ｈ＿ＡＣＴ＿ＭＢが増加するに従って、加算係数が単調に増加する。
【０１５０】
乗算器６３２は、乗算係数２次元ＬＵＴ６３１Ｍにより出力された乗算係数を、入力量子化ステップ値に乗算する。加算器６３３は、加算係数２次元ＬＵＴ６３１Ａにより出力された加算係数を、入力量子化ステップ値に加算する。
【０１５１】
セレクタ６３４は、“０”、“１”、“２”のうちいずれかを、切替信号として入力する。切替信号が“０”であるときには、セレクタ６３４は、出力量子化ステップ値として、補正されていない入力量子化ステップ値を出力する。切替信号が“１”であるときには、セレクタ６３４は、出力量子化ステップ値として、乗算係数を乗算された入力量子化ステップ値を出力する。切替信号が“２”であるときには、セレクタ６３４は、出力量子化ステップ値として、加算係数を加算された入力量子化ステップ値を出力する。
【０１５２】
肌色色度が大きく、空間方向の変化度合が小さい画像領域については、出力量子化ステップ値は小さく設定される。肌色色度が小さく、空間方向の変化度合が大きい画像領域については、出力量子化ステップ値は大きく設定される。
【０１５３】
すなわち、顔画像領域については、多くの出力ビット数が割り当てられることにより、画質をより向上させることができる。そして、顔画像領域以外の画像領域については、多くの出力ビット数が割り当てられなくても、画質を過度に劣化させることはない。これにより、画像全体の符号量調整も図られる。
【０１５４】
乗算係数２次元ＬＵＴ６３１Ｍおよび加算係数２次元ＬＵＴ６３１Ａの内容は、時間変化することなく固定されていてもよく、ＣＰＵ５により時々刻々と書き換えられてもよい。セレクタ６３４への切替信号は、時間変化することなく固定されていてもよく、ＣＰＵ５により時々刻々と更新されてもよい。カテゴリのレンジは任意であり、カテゴリ化を利用する次元数は任意である。出力量子化ステップ値を小さくする画像領域は、肌色色度の高い画像領域のみならず、その他の色度の高い画像領域であってもよい。
【０１５５】
［第４決定部の処理内容］
図１３は、第４決定部６４の構成要素を示すブロック図である。第４決定部６４は、図１３の左端において、「入力量子化ステップ値」、「ＭＢ＿Ａｄｄｒ＿ｘ」、「ＭＢ＿Ａｄｄｒ＿ｙ」を入力する。第４決定部６４は、図１３の右端において、「出力量子化ステップ値」を出力する。
【０１５６】
「入力量子化ステップ値」は、各マクロブロックにおける、第３決定部６３により補正された量子化ステップ値である。「出力量子化ステップ値」は、各マクロブロックにおける、トランスコーダ１から出力される出力画像の量子化ステップ値である。
【０１５７】
「ＭＢ＿Ａｄｄｒ＿ｘ」および「ＭＢ＿Ａｄｄｒ＿ｙ」は、それぞれ、各マクロブロックの水平方向および垂直方向の座標位置を示す座標位置評価値である。座標位置評価値ＭＢ＿Ａｄｄｒ＿ｘ、ＭＢ＿Ａｄｄｒ＿ｙは、デコーダ２から出力される。第４決定部６４についての以下の説明においては、説明を簡潔にするため、１フレームの水平方向および垂直方向のサイズは、ともにマクロブロック５個分のサイズであると仮定する。
【０１５８】
第４決定部６４は、補正係数格納部６４１、乗算器６４２、加算器６４３、セレクタ６４４などから構成される。特に、補正係数格納部６４１について説明する。
【０１５９】
補正係数格納部６４１は、入力量子化ステップ値を補正して、出力量子化ステップ値を決定するため、補正係数を格納する。補正係数として乗算係数が、座標位置評価値ＭＢ＿Ａｄｄｒ＿ｘ、ＭＢ＿Ａｄｄｒ＿ｙを２変数として、乗算係数２次元ＬＵＴ６４１Ｍに格納されている。補正係数として加算係数が、座標位置評価値ＭＢ＿Ａｄｄｒ＿ｘ、ＭＢ＿Ａｄｄｒ＿ｙを２変数として、加算係数２次元ＬＵＴ６４１Ａに格納されている。１フレームの水平方向および垂直方向のサイズがともにマクロブロック５個分のサイズであることを反映して、乗算係数２次元ＬＵＴ６４１Ｍおよび加算係数２次元ＬＵＴ６４１Ａのマトリックス数はともに５×５である。
【０１６０】
次に、第４決定部６４において、あるマクロブロックについて、入力量子化ステップ値が補正されて、出力量子化ステップ値が決定される処理内容について説明する。
【０１６１】
補正係数格納部６４１は、あるマクロブロックについて、座標位置評価値ＭＢ＿Ａｄｄｒ＿ｘ、ＭＢ＿Ａｄｄｒ＿ｙを入力する。補正係数格納部６４１は、乗算係数２次元ＬＵＴ６４１Ｍを利用して、乗算係数を算出する。補正係数格納部６４１は、加算係数２次元ＬＵＴ６４１Ａを利用して、加算係数を算出する。
【０１６２】
図１４（ａ）は、乗算係数２次元ＬＵＴ６４１Ｍの内容を示す図である。対象マクロブロックが画像中心に近くなるに従って、乗算係数が単調に減少する。
【０１６３】
図１４（ｂ）は、加算係数２次元ＬＵＴ６４１Ａの内容を示す図である。対象マクロブロックが画像中心に近くなるに従って、加算係数が単調に減少する。
【０１６４】
乗算器６４２は、乗算係数２次元ＬＵＴ６４１Ｍにより出力された乗算係数を、入力量子化ステップ値に乗算する。加算器６４３は、加算係数２次元ＬＵＴ６４１Ａにより出力された加算係数を、入力量子化ステップ値に加算する。
【０１６５】
セレクタ６４４は、“０”、“１”、“２”のうちいずれかを、切替信号として入力する。切替信号が“０”であるときには、セレクタ６４４は、出力量子化ステップ値として、補正されていない入力量子化ステップ値を出力する。切替信号が“１”であるときには、セレクタ６４４は、出力量子化ステップ値として、乗算係数を乗算された入力量子化ステップ値を出力する。切替信号が“２”であるときには、セレクタ６４４は、出力量子化ステップ値として、加算係数を加算された入力量子化ステップ値を出力する。
【０１６６】
画像中心に近い画像領域については、出力量子化ステップ値は小さく設定される。画像中心から遠い画像領域については、出力量子化ステップ値は大きく設定される。
【０１６７】
すなわち、中央画像領域については、多くの出力ビット数が割り当てられることにより、画質をより向上させることができる。そして、中央画像領域以外の画像領域については、多くの出力ビット数が割り当てられなくても、画質を過度に劣化させることはない。これにより、画像全体の符号量調整も図られる。
【０１６８】
乗算係数２次元ＬＵＴ６４１Ｍおよび加算係数２次元ＬＵＴ６４１Ａの内容は、時間変化することなく固定されていてもよく、ＣＰＵ５により時々刻々と書き換えられてもよい。セレクタ６４４への切替信号は、時間変化することなく固定されていてもよく、ＣＰＵ５により時々刻々と更新されてもよい。座標位置評価値ＭＢ＿Ａｄｄｒ＿ｘ、ＭＢ＿Ａｄｄｒ＿ｙは、カテゴリ化されていてもよい。このときには、カテゴリのレンジは任意であり、カテゴリ化を利用する次元数は任意である。出力量子化ステップ値を小さくする画像領域は、中央画像領域のみならず、顔画像領域であってもよい。このときには、顔画像領域の座標位置が評価値算出部７により指定されればよい。
【０１６９】
［量子化ステップ値決定部のまとめ］
量子化ステップ値決定部６は、各マクロブロックについて、様々な特性評価値に基づいて、入力量子化ステップ値を補正して、出力量子化ステップ値を決定する。トランスコーダ１は、画質調整および符号量調整をよりきめ細やかにできる。
【０１７０】
量子化ステップ値決定部６において、第１決定部６１などの決定部の個数および配列順序は任意である。第１決定部６１などの決定部において、乗算係数ＬＵＴおよび加算係数ＬＵＴの変数の個数および組み合わせは任意である。
【０１７１】
量子化ステップ値決定部６において、たとえば、第２決定部６２、第１決定部６１、第４決定部６４、第３決定部６３が、以上の順序により配列されていてもよい。乗算係数ＬＵＴおよび加算係数ＬＵＴにおいて、たとえば、肌色色度評価値ｈ＿ＳｋｉｎＴｏｎｅ＿ＭＢ、空間変化評価値ｈ＿ＡＣＴ＿ＭＢ、時間変化評価値ｈ＿ＭＶｂｉｔ＿ＭＢが、３変数として設定されていてもよい。
【０１７２】
｛第２の実施の形態｝
［量子化ステップ値決定部の構成要素］
次に、第２の実施の形態について説明する。第１および第２の実施の形態を比較して、量子化ステップ値決定部６が主に相違する。図１５は、量子化ステップ値決定部６の構成要素を示すブロック図である。第１および第２の実施の形態を比較して、第５決定部６５が第４決定部６４の下流側に配置されている。
【０１７３】
第５決定部６５は、各マクロブロックについて、第４決定部６４により補正された量子化ステップ値を第４決定部６４から入力して、トランスコーダ１から出力される出力画像の量子化ステップ値をエンコーダ３に出力する。第５決定部６５は、各マクロブロックについて、第４決定部６４により補正された量子化ステップ値を補正するにあたり、空間方向の変化度合を示す空間変化評価値を利用する。
【０１７４】
［第５決定部の処理内容］
図１６は、第５決定部６５の構成要素を示すブロック図である。第５決定部６５は、図１６の左端において、「入力量子化ステップ値」、「ＡＣＴ＿ＭＢ」、「ＡＣＴ＿ＰＩＣ」を入力する。第５決定部６５は、図１６の右端において、「出力量子化ステップ値」を出力する。
【０１７５】
「入力量子化ステップ値」は、各マクロブロックにおける、第４決定部６４により補正された量子化ステップ値である。「出力量子化ステップ値」は、各マクロブロックにおける、トランスコーダ１から出力される出力画像の量子化ステップ値である。
【０１７６】
「ＡＣＴ＿ＭＢ」は、各マクロブロックにおける、空間方向の変化度合を示す空間変化評価値である。「ＡＣＴ＿ＰＩＣ」は、各フレームにおける、全マクロブロックの空間変化評価値ＡＣＴ＿ＭＢの平均を示す空間変化評価平均値である。空間変化評価値ＡＣＴ＿ＭＢおよび空間変化評価平均値ＡＣＴ＿ＰＩＣは、以下に説明するように算出される。まず、評価値算出部７は、デコーダ２から復号画像を入力する。次に、評価値算出部７は、復号画像の各マクロブロックにおいて、各画素値および平均画素値の差分絶対値を、各画素について加算することにより、空間変化評価値ＡＣＴ＿ＭＢを算出する。次に、評価値算出部７は、復号画像の各フレームにおいて、全マクロブロックの空間変化評価値ＡＣＴ＿ＭＢの平均を算出することにより、空間変化評価平均値ＡＣＴ＿ＰＩＣを算出する。
【０１７７】
第５決定部６５は、シフタ６５１、６５２、減算器６５３、乗算器６５４、リミッタ６５５、加算器６５６などから構成される。処理内容についても合わせて説明する。
【０１７８】
シフタ６５１は、空間変化評価値ＡＣＴ＿ＭＢを入力する。そして、シフタ６５１は、空間変化評価値ＡＣＴ＿ＭＢについて、桁合わせのためのシフト演算を実行する。シフタ６５２は、空間変化評価平均値ＡＣＴ＿ＰＩＣを入力する。そして、シフタ６５２は、空間変化評価平均値ＡＣＴ＿ＰＩＣについて、桁合わせのためのシフト演算を実行する。
【０１７９】
減算器６５３は、シフト演算を実行された空間変化評価値ＡＣＴ＿ＭＢ、および、シフト演算を実行された空間変化評価平均値ＡＣＴ＿ＰＩＣを入力する。そして、減算器６５３は、シフト演算を実行された空間変化評価値ＡＣＴ＿ＭＢから、シフト演算を実行された空間変化評価平均値ＡＣＴ＿ＰＩＣを減算する。減算器６５３による減算値は、各マクロブロックにおける空間方向の変化度合が、各マクロブロックが属するフレームにおける空間方向の平均的な変化度合と比較して、どの程度ばらついているかを示す値である。
【０１８０】
乗算器６５４は、減算器６５３による減算値を入力する。そして、乗算器６５４は、減算器６５３による減算値に、１より小さい正数である調整係数ｒａｑを乗算する。これにより、乗算器６５４は、減算器６５３による減算値の振れ幅を小さくする。
【０１８１】
リミッタ６５５は、乗算器６５４による乗算値を入力する。また、リミッタ６５５は、上限閾値としてＬＩＭＩＴ＿ＴＨＲＥＳ＿Ｈを入力して、下限閾値としてＬＩＭＩＴ＿ＴＨＲＥＳ＿Ｌを入力する。そして、リミッタ６５５は、乗算器６５４による乗算値を上限閾値ＬＩＭＩＴ＿ＴＨＲＥＳ＿Ｈによりクリップして、乗算器６５４による乗算値を下限閾値ＬＩＭＩＴ＿ＴＨＲＥＳ＿Ｌによりクリップする。これにより、リミッタ６５５は、乗算器６５４による乗算値の振れ幅を小さくする。
【０１８２】
加算器６５６は、入力量子化ステップ値、および、リミッタ６５５による出力値を入力する。そして、加算器６５６は、入力量子化ステップ値にリミッタ６５５による出力値を加算することにより、各マクロブロックにおける出力量子化ステップ値を決定する。
【０１８３】
空間方向の変化度合が小さい画像領域については、出力量子化ステップ値は小さく設定される。空間方向の変化度合が大きい画像領域については、出力量子化ステップ値は大きく設定される。出力量子化ステップ値は過度に小さくならず、過度に大きくならない。
【０１８４】
すなわち、空間方向の変化度合が小さい画像領域については、多くの出力ビット数が割り当てられることにより、画質をより向上させることができる。そして、空間方向の変化度合が大きい画像領域については、多くの出力ビット数が割り当てられなくても、画質を過度に劣化させることはない。これにより、画像全体の符号量調整も図られる。
【０１８５】
調整係数ｒａｑ、上限閾値ＬＩＭＩＴ＿ＴＨＲＥＳ＿Ｈ、下限閾値ＬＩＭＩＴ＿ＴＨＲＥＳ＿Ｌは、時間変化することなく固定されていてもよく、ＣＰＵ５により時々刻々と書き換えられてもよい。量子化ステップ値決定部６において、第１決定部６１などの決定部の個数および配列順序は任意である。
【０１８６】
｛第３の実施の形態｝
［量子化ステップ値決定部の構成要素］
次に、第３の実施の形態について説明する。第２および第３の実施の形態を比較して、量子化ステップ値決定部６が主に相違する。図１７は、量子化ステップ値決定部６の構成要素を示すブロック図である。第２および第３の実施の形態を比較して、微調整部６６が第５決定部６５の下流側に配置されている。
【０１８７】
微調整部６６は、各マクロブロックについて、第５決定部６５により補正された量子化ステップ値を第５決定部６５から入力して、トランスコーダ１から出力される出力画像の量子化ステップ値をエンコーダ３に出力する。微調整部６６は、各マクロブロックについて、第５決定部６５により補正された量子化ステップ値を微調整するにあたり、乗算微調整係数および加算微調整係数を利用する。
【０１８８】
［微調整部の処理内容］
図１８は、微調整部６６の構成要素を示すブロック図である。微調整部６６は、図１８の左端において、「入力量子化ステップ値」、「Ｐ＿ｔｙｐｅ＿ＭＢ」を入力する。微調整部６６は、図１８の右端において、「出力量子化ステップ値」を出力する。
【０１８９】
「入力量子化ステップ値」は、各マクロブロックにおける、第５決定部６５により補正された量子化ステップ値である。「出力量子化ステップ値」は、各マクロブロックにおける、トランスコーダ１から出力される出力画像の量子化ステップ値である。
【０１９０】
「Ｐ＿ｔｙｐｅ＿ＭＢ」は、各マクロブロックにおける、ピクチャ種類を示すパラメータである。ピクチャ種類として、Ｉピクチャ、Ｐピクチャ、Ｂピクチャ、ＰピクチャまたはＢピクチャにおけるイントラマクロブロックがあげられる。
【０１９１】
微調整部６６は、乗算器６６１、セレクタ６６２、加算器６６３、セレクタ６６４などから構成される。処理内容についても合わせて説明する。
【０１９２】
乗算器６６１は、入力量子化ステップ値を入力する。そして、乗算器６６１は、入力量子化ステップ値に、乗算微調整係数を乗算する。ここで、乗算微調整係数は、以下に説明するように決定される。
【０１９３】
セレクタ６６２は、ピクチャ種類Ｐ＿ｔｙｐｅ＿ＭＢを切替信号として入力する。ピクチャ種類Ｐ＿ｔｙｐｅ＿ＭＢがＩピクチャ、Ｐピクチャ、Ｂピクチャ、ＰピクチャまたはＢピクチャのイントラマクロブロックであるときには、セレクタ６６２は、乗算微調整係数として、それぞれ、αＩ、αＰ、αＢ、αＩ−ＰＢを出力する。
【０１９４】
加算器６６３は、乗算器６６１による乗算値を入力する。そして、加算器６６３は、乗算器６６１による乗算値に、加算微調整係数を加算する。ここで、加算微調整係数は、以下に説明するように決定される。
【０１９５】
セレクタ６６４は、ピクチャ種類Ｐ＿ｔｙｐｅ＿ＭＢを切替信号として入力する。ピクチャ種類Ｐ＿ｔｙｐｅ＿ＭＢがＩピクチャ、Ｐピクチャ、Ｂピクチャ、ＰピクチャまたはＢピクチャのイントラマクロブロックであるときには、セレクタ６６４は、加算微調整係数として、それぞれ、βＩ、βＰ、βＢ、βＩ−ＰＢを出力する。
【０１９６】
第１決定部６１から第５決定部６５までにおいて、出力量子化ステップ値の補正が実行されて、微調整部６６において、出力量子化ステップ値の微調整が実行される。乗算微調整係数αＩ、αＰ、αＢ、αＩ−ＰＢ、および、加算微調整係数βＩ、βＰ、βＢ、βＩ−ＰＢは、時間変化することなく固定されていてもよく、ＣＰＵ５により時々刻々と書き換えられてもよい。量子化ステップ値決定部６において、第１決定部６１などの決定部および微調整部６６など微調整部の個数および配列順序は任意である。
【符号の説明】
【０１９７】
１  トランスコーダ
２  デコーダ
３  エンコーダ
４  処理設定部
５  ＣＰＵ
６  量子化ステップ値決定部
７  評価値算出部
８  画像メモリ
６１、６１Ａ、６１Ｂ  第１決定部
６２  第２決定部
６３  第３決定部
６４  第４決定部
６５  第５決定部
６６  微調整部
【図１】
0005559902.tif 000002
【図２】
0005559902.tif 000003
【図３】
0005559902.tif 000004
【図４】
0005559902.tif 000005
【図５】
0005559902.tif 000006
【図６】
0005559902.tif 000007
【図７】
0005559902.tif 000008
【図８】
0005559902.tif 000009
【図９】
0005559902.tif 000010
【図１０】
0005559902.tif 000011
【図１１】
0005559902.tif 000012
【図１２】
0005559902.tif 000013
【図１３】
0005559902.tif 000014
【図１４】
0005559902.tif 000015
【図１５】
0005559902.tif 000016
【図１６】
0005559902.tif 000017
【図１７】
0005559902.tif 000018
【図１８】
0005559902.tif 000019