(57)【要約】【課題】発生符号量が所望の符号化レートを満足するように発生符号量を制御すると、動画像フレームの画質劣化が目立ってしまう。【解決手段】ブロック符号化部１４は、ブロックデータを符号化する。符号量算出部１６は、ブロック符号化部１４における発生符号量に基づいて符号余剰量を算出する。距離算出部２２は、符号化予定のブロックデータと動画像フレーム内の任意の着目点との間の距離を示すブロック距離を算出する。ブロック符号化部１４は、符号量不足状態判定部２１によって符号余剰量が不足状態閾値よりも小さいと判定され且つ符号抑制判定部２４によってブロック距離が距離閾値よりも大きいと判定されると、発生符号量を抑制するための処理を行った後、符号化予定のブロックデータを符号化する。【選択図】図１
2008193410.tif 000002
【特許請求の範囲】
【請求項１】
複数の動画像フレームを順次符号化する装置であって、
動画像データを所定サイズのブロックデータに分割し、各ブロックデータを順次出力するブロック分割部と、
前記ブロック分割部からのブロックデータを符号化するブロック符号化部と、
前記ブロック符号化部における発生符号量が所望の符号化レートを満足するように、当該発生符号量に基づいて符号余剰量を算出する符号量算出部と、
前記符号量算出部によって算出された符号余剰量が不足状態閾値よりも小さいか否かを判定する符号量不足状態判定部と、
前記ブロック符号化部によって符号化される予定であるブロックデータについて前記動画像フレーム内において予め定められた任意の着目点と当該符号化予定のブロックデータとの間の距離を示すブロック距離を算出する距離算出部と、
前記距離算出部によって算出されたブロック距離が距離閾値よりも大きいか否かを判定する符号抑制判定部と、
前記符号量不足状態判定部によって前記符号余剰量が前記不足状態閾値よりも小さいと判定され且つ前記符号抑制判定部によって前記ブロック距離が前記距離閾値よりも大きいと判定されると、発生符号量の抑制の程度を示す符号抑制量に応じて前記ブロック符号化部における発生符号量を抑制する符号量抑制部とを備える
ことを特徴とする動画像符号化装置。
【請求項２】
請求項１において、
前記符号量算出部によって算出された符号余剰量が小さいほど前記符号抑制量が大きくなるように、当該符号余剰量に応じて当該符号抑制量を算出する符号抑制量算出部をさらに備え、
前記符号量抑制部は、前記符号抑制量算出部によって算出された符号抑制量が大きいほど、前記ブロック符号化部における発生符号量を少なくする
ことを特徴とする動画像符号化装置。
【請求項３】
請求項１において、
前記距離算出部によって算出されたブロック距離が大きいほど前記符号抑制量が大きくなるように、当該ブロック距離に応じて当該符号抑制量を算出する符号抑制量算出部をさらに備え、
前記符号量抑制部は、符号抑制量算出部によって算出された符号抑制量が大きいほど、前記ブロック符号化部における発生符号量を少なくする
ことを特徴とする動画像符号化装置。
【請求項４】
請求項１において、
前記動画像フレームのピクチャタイプを示すピクチャタイプ情報を出力するピクチャタイプ情報出力部と、
前記ピクチャタイプ情報に示されたピクチャタイプに応じて前記符号抑制量を算出する符号抑制量算出部とをさらに備え、
前記符号量抑制部は、前記符号抑制量算出部によって算出された符号抑制量が大きいほど、前記ブロック符号化部における発生符号量を少なくする
ことを特徴とする動画像符号化装置。
【請求項５】
請求項１において、
前記符号抑制判定部は、前記符号量算出部によって算出された符号余剰量が小さいほど前記距離閾値が小さくなるように、当該符号余剰量に応じて当該距離閾値を設定する
ことを特徴とする動画像符号化装置。
【請求項６】
請求項１において、
前記動画像フレームのピクチャタイプを示すピクチャタイプ情報を出力するピクチャタイプ情報出力部をさらに備え、
前記符号抑制判定部は、前記ピクチャタイプ情報に示されたピクチャタイプに応じて前記距離閾値を設定する
ことを特徴とする動画像符号化装置。
【請求項７】
請求項１において、
前記ブロック符号化部は、
前記ブロック分割部からのブロックデータを直交変換する直交変換部と、
前記直交変換部によって直交変換されたブロックデータを量子化スケールを用いて量子化する量子化部と、
前記量子化部によって量子化されたブロックデータを固定長または可変長の符号列に変換する符号変換部とを含み、
前記符号量抑制部は、前記符号量不足状態判定部によって前記符号余剰量が前記不足状態閾値よりも小さいと判定され且つ前記符号抑制判定部によって前記ブロック距離が前記距離閾値よりも大きいと判定されると、前記量子化スケールの量子化係数を補正する
ことを特徴とする動画像符号化装置。
【請求項８】
請求項７において、
前記符号量抑制部は、前記符号抑制量が大きいほど前記量子化スケールの量子化係数が大きくなるように、当該符号抑制量に応じて当該量子化スケールの量子化係数を補正する
ことを特徴とする動画像符号化装置。
【請求項９】
請求項１において、
前記ブロック符号化部は、
前記ブロック分割部からのブロックデータを直交変換する直交変換部と、
前記直交変換部によって直交変換されたブロックデータを量子化する量子化部と、
前記量子化部によって量子化されたブロックデータを符号列に変換する符号変換部とを含み、
前記符号量抑制部は、前記符号量不足状態判定部によって前記符号余剰量が前記不足状態閾値よりも小さいと判定され且つ前記符号抑制判定部によって前記ブロック距離が前記距離閾値よりも大きいと判定されると、前記量子化部からのブロックデータに示された係数のうち除去閾値よりも小さい係数を削除する
ことを特徴とする動画像符号化装置。
【請求項１０】
請求項９において、
前記符号量抑制部は、前記符号抑制量が大きいほど前記除去閾値が大きくなるように、当該符号抑制量に応じて当該除去閾値を設定する
ことを特徴とする動画像符号化装置。
【請求項１１】
請求項１において、
前記ブロック符号化部は、
前記ブロック分割部からのブロックデータを直交変換する直交変換部と、
前記直交変換部によって直交変換されたブロックデータを量子化する量子化部と、
前記量子化部によって量子化されたブロックデータを符号列に変換する符号変換部とを含み、
前記符号量抑制部は、前記符号量不足状態判定部によって前記符号余剰量が前記不足状態閾値よりも小さいと判定され且つ前記符号抑制判定部によって前記ブロック距離が前記距離閾値よりも大きいと判定されると、前記量子化部からのブロックデータに示された係数のうち除去範囲内に属する係数を削除する
ことを特徴とする動画像符号化装置。
【請求項１２】
請求項１１において、
前記符号量抑制部は、前記符号抑制量が大きいほど前記除去範囲が広くなるように、当該符号抑制量に応じて当該除去範囲を設定する
ことを特徴とする動画像符号化装置。
【請求項１３】
請求項１において、
前記ブロック符号化部は、
複数の参照フレームを格納するフレームメモリと、
前記フレームメモリに格納された複数の参照フレームと前記ブロック分割部からのブロックデータとを用いて動き補償を行い、予測ブロックデータ，動きベクトル，および当該予測ブロックデータを含む参照フレームを識別するためのフレーム参照識別子を出力する動き補償部と、
前記動き補償部からの予測ブロックデータと前記ブロック分割部からのブロックデータとの差分を算出し、算出結果を予測誤差ブロックデータとして出力する減算部と、
前記減算部からの予測誤差ブロックデータを直交変換する直交変換部と、
前記直交変換部によって直交変換された予測誤差ブロックデータを量子化する量子化部と、
前記量子化部によって量子化された予測誤差ブロックデータと、前記動き補償部からの動きベクトルおよび参照フレーム識別子とを符号列に変換する符号変換部とを含み、
前記符号量抑制部は、前記符号量不足状態判定部によって前記符号余剰量が前記不足状態閾値よりも小さいと判定され且つ前記符号抑制判定部によって前記ブロック距離が前記距離閾値よりも大きいと判定されると、前記動き補償の際に使用することができる参照フレームのうち時間軸上において前記ブロック分割部からのブロックデータを含む動画像フレームから最も離れた参照フレームまでのフレーム枚数が少なくなるように、使用可能な参照フレームの枚数を制限する
ことを特徴とする動画像符号化装置。
【請求項１４】
請求項１３において、
前記符号量抑制部は、前記符号抑制量が大きいほど前記使用可能な参照フレームのうち時間軸上において前記ブロック分割部からのブロックデータを含む動画像フレームから最も離れた参照フレームまでのフレーム枚数が少なくなるように、当該符号抑制量に応じて当該使用可能な参照フレームの枚数を制限する
ことを特徴とする動画像符号化装置。
【請求項１５】
請求項１において、
前記ブロック符号化部は、
複数の参照フレームを格納するフレームメモリと、
前記フレームメモリに格納された複数の参照フレームと前記ブロック分割部からのブロックデータとを用いて動き補償を行い、予測ブロックデータと、動きベクトルと、当該予測ブロックデータを含む参照フレームを識別するためのフレーム参照識別子とを出力する動き補償部と、
前記動き補償部からの予測ブロックデータと前記ブロック分割部からのブロックデータとの差分を算出し、算出結果を予測誤差ブロックデータとして出力する減算部と、
前記減算部からの予測誤差ブロックデータを直交変換する直交変換部と、
前記直交変換部によって直交変換された予測誤差ブロックデータを量子化する量子化部と、
前記量子化部によって量子化された予測誤差ブロックデータと、前記動き補償部からの動きベクトルおよび参照フレーム識別子とを符号列に変換する符号変換部とを含み、
前記符号量抑制部は、前記符号量不足状態判定部によって前記符号余剰量が前記不足状態閾値よりも小さいと判定され且つ前記符号抑制判定部によって前記ブロック距離が前記距離閾値よりも大きいと判定されると、前記動き補償によって算出される動きベクトルの本数が少なくなるように、当該動き補償の際に使用することができる参照方式の種類数を制限する
ことを特徴とする動画像符号化装置。
【請求項１６】
請求項１５において、
前記符号量抑制部は、前記符号抑制量が大きいほど前記動き補償によって算出される動きベクトルの本数が少なくなるように、当該動き補償の際に使用することができる参照方式の種類数を制限する
ことを特徴とする動画像符号化装置。
【請求項１７】
請求項２，３，４のいずれか１項において、
前記ブロック符号化部は、
複数の参照フレームを格納するフレームメモリと、
前記フレームメモリに格納された複数の参照フレームと前記ブロック分割部からのブロックデータとを用いて動き補償を行い、予測ブロックデータ，動きベクトル，当該予測ブロックデータを含む参照フレームを識別するための参照フレーム識別子を出力する動き補償部と、
前記動き補償部からの予測ブロックデータと前記ブロック分割部からのブロックデータとの差分を算出し、算出結果を予測誤差ブロックデータとして出力する減算部と、
前記ブロック分割部からのブロックデータおよび前記減算部からの予測誤差ブロックデータのうちいずれか一方を選択する選択部と、
前記選択部によって選択されたブロックデータを直交変換する直交変換部と、
前記直交変換部によって直交変換されたブロックデータを量子化スケールを用いて量子化する量子化部と、
前記量子化部によって量子化されたブロックデータと、前記動き補償部からの動きベクトルおよび参照フレーム識別子とを符号列に変換する符号変換部とを含み、
前記符号量抑制部は、
前記量子化スケールに示された量子化係数を補正する第１の処理部，前記量子化部からのブロックデータに示された係数のうち除去閾値よりも小さい係数を削除する第２の処理部，前記量子化部からのブロックデータに示された係数のうち除去範囲内に属する係数を削除する第３の処理部，前記動き補償の際に使用することができる参照フレームの枚数を制限する第４の処理部，および前記動き補償の際に使用される参照方式の種類数を制限する第５の処理部のうち少なくとも２つと、
前記符号量不足状態判定部によって前記符号余剰量が前記不足状態閾値よりも小さいと判定され且つ前記符号抑制判定部によって前記ブロック距離が前記距離閾値よりも大きいと判定されると、前記符号量算出部によって算出された符号抑制量に応じて前記処理部の各々の駆動状態を切り替える抑制手法切替部とを含む
ことを特徴とする動画像符号化装置。
【請求項１８】
請求項１〜１７のいずれか１項において、
前記予め定められた任意の着目点は、前記動画像フレームの中心部である
ことを特徴とする動画像符号化装置。
【請求項１９】
請求項１〜１８のいずれか１項に記載の動画像符号化装置と、
前記動画像フレームを前記動画像符号化装置へ与える入力部と、
前記動画像符号化装置からの符号列を記録媒体に記録するメディア記録部とを備える
ことを特徴とする録画装置。
【請求項２０】
複数の動画像フレームを順次符号化する方法であって、
動画像データを所定サイズのブロックデータに分割するステップ（ａ）と、
前記ステップ（ａ）において生成されたブロックデータのうちいずれか１つを出力するステップ（ｂ）と、
前記ステップ（ｂ）において出力されたブロックデータを符号化するステップ（ｃ）と、
前記ステップ（ｃ）における発生符号量が所望の符号化レートを満足するように、当該発生符号量に基づいて符号余剰量を算出するステップ（ｄ）と、
前記ステップ（ｄ）において算出された符号余剰量が不足状態閾値よりも小さいか否かを判定するステップ（ｅ）と、
前記ステップ（ａ）において生成されたブロックデータのうち符号化される予定であるブロックデータを出力するステップ（ｆ）と、
前記動画像フレーム内において予め定められた任意の着目点と前記ステップ（ｆ）において出力されたブロックデータとの間の距離を示すブロック距離を算出するステップ（ｇ）と、
前記ステップ（ｇ）において算出されたブロック距離が距離閾値よりも大きいか否かを判定するステップ（ｈ）と、
前記ステップ（ｅ）において前記符号余剰量が前記不足状態閾値よりも小さいと判定され且つ前記ステップ（ｈ）において前記ブロック距離が前記距離閾値よりも大きいと判定されると、発生符号量を抑制するための処理を行った後、前記ステップ（ｆ）において出力されたブロックデータを符号化するステップ（ｉ）とを備える
ことを特徴とする動画像符号化方法。
【請求項２１】
請求項２０に記載の動画像符号化方法をコンピュータに実行させる
ことを特徴とする動画像符号化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像フレームを符号化する装置および方法に関し、さらに詳しくは、発生符号量を制御する技術（レート制御）に関する。
【背景技術】
【０００２】
近年、デジタル映像機器の技術進歩が著しく、ビデオカメラやテレビチューナから入力した映像信号（時系列順に並んだ複数の動画像フレーム）を圧縮符号化しＤＶＤやハードディスク等の記録メディアに記録する機会が増えている。映像信号を符号化する際、所望の符号化レートを保つことが望まれる。符号化レートを適正化する手法としては、２パス符号化と呼ばれる手法がある。２パス符号化では、まず、映像信号を符号化するとともに映像信号の特性を分析した後、その符号化された映像信号を復号化する。そして、映像信号についての分析結果に基づいて符号化パラメータを適正化して映像信号を再度符号化する。
【０００３】
しかし、リアルタイムで映像信号を処理する場合、符号化に要することができる時間が限られているため、２パス符号化を行うことは困難である。そこで、従来は、１パス符号化と呼ばれる手法（例えば、非特許文献１に記載のＭＰＥＧ２のテストモデル）が用いられることが多い。
【０００４】
ここで、従来の動画像符号化装置について簡単に説明する。この動画像符号化装置は、複数の動画像フレームを順次入力し、動画像フレームを所定サイズのブロック単位で符号化する。ブロックデータの符号化では、周波数成分への直交変換，量子化スケールを用いた量子化，フレーム間予測符号化，動き補償等が実行される。また、この動画像符号化装置は、ブロックデータの符号化による発生符号量に基づいて量子化スケールを計算し、計算した量子化スケールを用いて次のブロックデータを符号化することによって、発生符号量が所望の符号化レートを満足するようにレート制御が施されている。量子化スケールの計算では、符号余剰量（符号化レートから求められる発生符号量の許容上限値に対して実際の発生符号量を減算することによって得られる値）が小さいほど、量子化スケールに示された量子化係数が大きくなる。
【非特許文献１】ISO-IEC JTC1/SC29/WG11：Test Model5, 1993年
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の動画像符号化装置では、映像信号に示された映像内容が動きの激しい動画である場合、符号余剰量が不足する状態が続くため、量子化スケールに示された量子化係数が大きくなる。そのため、動画像フレームの各々では画像全体に渡って画質が劣化してしまい、動画像フレームの画質劣化が視覚的に目立ってしまう。
【０００６】
そこで、本発明は、発生符号量が所望の符号化レートを満足するように発生符号量を制御すると同時に、動画像フレームの画質劣化が視覚的に目立つことを抑制することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、符号余剰量が不足状態である場合、動画像フレームのうち予め定められた任意の着目点から離れた領域に位置するブロックデータに対して発生符号量を抑制するための処理を行うことを特徴とする。動画像フレームにおいて、着目点から遠ざかるほど、画質の善し悪しは、視覚的に目立たなくなる。したがって、着目点から離れた領域では画質が劣化するが、着目点の近傍領域では、動画像フレームの画質が劣化することなく保持されるため、動画像フレームの画質劣化は、従来よりも、視覚的に目立たなくなる。
【０００８】
この発明の１つの局面に従うと、動画像符号化装置は、複数の動画像フレームを順次符号化する装置であって、動画像データを所定サイズのブロックデータに分割し、各ブロックデータを順次出力するブロック分割部と、上記ブロック分割部からのブロックデータを符号化するブロック符号化部と、上記ブロック符号化部における発生符号量が所望の符号化レートを満足するように、当該発生符号量に基づいて符号余剰量を算出する符号量算出部と、上記符号量算出部によって算出された符号余剰量が不足状態閾値よりも小さいか否かを判定する符号量不足状態判定部と、上記ブロック符号化部によって符号化される予定であるブロックデータについて上記動画像フレーム内において予め定められた任意の着目点と当該符号化予定のブロックデータとの間の距離を示すブロック距離を算出する距離算出部と、上記距離算出部によって算出されたブロック距離が距離閾値よりも大きいか否かを判定する符号抑制判定部と、上記符号量不足状態判定部によって上記符号余剰量が上記不足状態閾値よりも小さいと判定され且つ上記符号抑制判定部によって上記ブロック距離が上記距離閾値よりも大きいと判定されると、発生符号量の抑制の程度を示す符号抑制量に応じて上記ブロック符号化部における発生符号量を抑制する符号量抑制部とを備える。
【０００９】
上記動画像符号化装置では、符号余剰量が不足状態である場合、符号化予定のブロックデータが任意の着目点から離れた領域に属するブロックデータであれば、発生符号量を抑制するための処理が実行される。これにより、発生符号量が所望の符号化レートを満足するように発生符号量を制御することができると同時に、動画像フレームの画質劣化が視覚的に目立たなくすることができる。
【００１０】
この発明のもう１つの局面に従うと、録画装置は、上記動画像符号化装置と、上記動画像フレームを上記動画像符号化装置へ与える入力部と、上記動画像符号化装置からの符号列を記録媒体に記録するメディア記録部とを備える。
【００１１】
上記録画装置では、映像信号をリアルタイムで記録することができるとともに、映像信号の画質劣化を視覚的に目立たないようにすることができる。
【００１２】
この発明のさらにもう１つの局面に従うと、動画像符号化方法は、複数の動画像フレームを順次符号化する、動画像符号化方法は、動画像データを所定サイズのブロックデータに分割するステップ（ａ）と、上記ステップ（ａ）において生成されたブロックデータのうちいずれか１つを出力するステップ（ｂ）と、上記ステップ（ｂ）において出力されたブロックデータを符号化するステップ（ｃ）と、上記ステップ（ｃ）における発生符号量が所望の符号化レートを満足するように、当該発生符号量に基づいて符号余剰量を算出するステップ（ｄ）と、上記ステップ（ｄ）において算出された符号余剰量が不足状態閾値よりも小さいか否かを判定するステップ（ｅ）と、上記ステップ（ａ）において生成されたブロックデータのうち符号化される予定であるブロックデータを出力するステップ（ｆ）と、上記動画像フレーム内において予め定められた任意の着目点と上記ステップ（ｆ）において出力されたブロックデータとの間の距離を示すブロック距離を算出するステップ（ｇ）と、上記ステップ（ｇ）において算出されたブロック距離が距離閾値よりも大きいか否かを判定するステップ（ｈ）と、上記ステップ（ｅ）において上記符号余剰量が上記不足状態閾値よりも小さいと判定され且つ上記ステップ（ｈ）において上記ブロック距離が上記距離閾値よりも大きいと判定されると、発生符号量を抑制するための処理を行った後、上記ステップ（ｆ）において出力されたブロックデータを符号化するステップ（ｉ）とを備える。
【００１３】
この発明のさらにもう１つの局面に従うと、動画像符号化プログラムは、上記動画像符号化方法をコンピュータに実行させる。
【発明の効果】
【００１４】
以上のように、発生符号量が所望の符号化レートを満足するように発生符号量を制御することができると同時に、動画像フレームの画質劣化が視覚的に目立つことを抑制することができる。
【発明を実施するための最良の形態】
【００１５】
以下、この発明の実施の形態を図面を参照して詳しく説明する。なお、図中同一または相当部分には同一の符号を付しその説明は繰り返さない。
【００１６】
（第１の実施形態）
＜全体構成＞
図１は、本発明の第１の実施形態による動画像符号化装置の全体構成を示す。この動画像符号化装置１０は、時系列順に並んだ複数の動画像フレームを順次符号化するとともに、符号化処理による発生符号量が所望の符号化レートを満たすようにレート制御を行う。この動画像符号化装置１０は、ピクチャタイプ決定部１１と、フレーム並び替え部１２と、ブロック分割部１３と、ブロック符号化部１４と、バッファ１５と、符号量算出部１６と、符号量不足状態判定部２１と、距離算出部２２と、符号抑制量算出部２３と、符号抑制判定部２４とを備える。
【００１７】
ピクチャタイプ決定部１１は、時系列順に並ぶ複数の動画像フレームを順次入力する。ピクチャタイプ決定部１１は、入力した動画像フレームをＩピクチャ，Ｐピクチャ，Ｂピクチャのうちいずれのピクチャタイプにするのかを決定し（動画像フレームのピクチャタイプを決定し）、その動画像フレームに対してフレーム間予測符号化を行う必要があるかを判断するとともに、その動画像フレームに対するフレーム間予測符号化の際に過去の動画像フレームを用いるのか未来の動画像フレームを用いるのかを判断する。また、ピクチャタイプ決定部１１は、入力した動画像フレームと、その動画像フレームのピクチャタイプを示すピクチャタイプ情報と、その動画像フレームについての予測処理有無信号とを出力する。予測処理有無信号には、フレーム間予測符号化の要否を示す情報と、フレーム間予測符号化の際に過去および未来の動画像フレームのいずれを用いるのかを示す情報とが含まれている。
【００１８】
フレーム並び替え部１２は、ピクチャタイプ決定部１１からの動画像フレームと、その動画像フレームについてのピクチャタイプ情報および予測処理有無信号とを順次入力する。フレーム並び替え部１２は、ピクチャタイプ情報に基づいて、時系列順に並んでいる複数の動画像フレームを符号化される順に並び替える。例えば、フレーム並び替え部１２は、現在入力した動画像フレームを符号化の際に未来の動画像フレーム（現在入力した動画像フレームよりも後にフレーム並び替え部１２に入力される動画像フレーム）が必要となる場合、現在入力した動画像フレームよりもその未来の動画像フレームが先に符号化されるように、動画像フレームの順番を並び替える。次に、フレーム並び替え部１２は、動画像フレームを符号化される順に出力する（符号化すべき動画像フレームを出力する）とともに、その動作画像フレームについてのピクチャタイプ情報および予測処理有無信号を出力する。
【００１９】
ブロック分割部１３は、フレーム並び替え部１２からの動画像フレームを順次入力する。ブロック分割部１３は、現在入力した動画像フレームを所定サイズのブロックデータに分割する。また、ブロック分割部１３は、分割した複数のブロックデータを順次出力するとともに、動画像フレーム内におけるそのブロックデータの存在位置を示すブロックデータ位置情報を順次出力する。
【００２０】
ブロック符号化部１４は、ブロック分割部１３からのブロックデータと、フレーム並び替え部１２からのピクチャタイプ情報とを受け取る。ブロック符号化部１４は、ブロックデータに対して直交変換，量子化，フレーム間予測符号化，動き補償，および符号列変換等を施し、ブロックデータを符号列に変換して出力する。
【００２１】
バッファ１５は、ブロック符号化部１４からの符号列を受け取る。バッファ１５は、受け取った符号列を一時的に格納し、固定レートまたは可変レートにて符号列を出力する。
【００２２】
符号量算出部１６は、ブロック符号化部１４における発生符号量を算出する。また、符号量算出部１６は、ブロック符号化部１４における発生符号量が所望の符号化レートを満たすように発生符号量に基づいて符号余剰量を算出する。符号余剰量は、符号化レートから求められる発生符号量の許容上限値に対して実際の発生符号量を減算することによって得られる値であり、ブロック符号化部１４における発生符号量が多いほど、符号量算出部１６によって算出される符号余剰量は小さくなる。
【００２３】
＜ブロック符号化部の内部構成＞
図２は、図１に示したブロック符号化部１４の内部構成を示す。ブロック符号化部１４は、減算部１０１と、第１セレクタ１０２と、直交変換部（ＤＣＴ）１０３と、量子化部（Ｑ）１０４と、符号変換部（ＣＣ）１０５と、逆量子化部（ＩＱ）１０６と、逆直交変換部（ＩＤＣＴ）１０７と、第２セレクタ１０８と、加算部１０９と、フレームメモリ（ＦＭ）１１０と、動き補償部（ＭＣ）１１１と、量子化スケール算出部１１２と、量子化スケール補正部２０１とを含む。
【００２４】
減算部１０１は、ブロック分割部１３からのブロックデータと動き補償部１１１からのブロックデータ（予測ブロックデータ）との差分を算出し、算出結果を予測誤差ブロックデータとして出力する。
【００２５】
第１セレクタ１０２は、フレーム間予測符号化処理が不要であることが予測処理有無信号に示されている場合には、ブロック分割部１３からのブロックデータを選択し、フレーム間予測符号化処理が必要であることが予測処理有無信号に示されている場合には、減算部１０１からの予測誤差ブロックデータを選択する。
【００２６】
直交変換部１０３は、第１セレクタ１０２によって選択されたブロックデータを直交変換する（例えば、離散コサイン変換する）。詳しくは、直交変換部１０３は、ブロックデータに示された画素係数を直交変換係数（周波数成分を示す係数）に変換する。
【００２７】
量子化部１０４は、直交変換部１０３によって直交変換されたブロックデータを量子化スケールを用いて量子化する。詳しくは、量子化部１０４は、直交変換部１０３からのブロックデータに示された係数を量子化スケールに示された量子化係数で除算し、除算結果を量子化後のブロックデータとして出力する。
【００２８】
符号変換部１０５は、量子化部１０４によって量子化されたブロックデータ，動き補償部１１１からの動きベクトルおよび参照フレーム識別子を可変長または固定長の符号列に変換する（例えば、エントロピー符号化する）。
【００２９】
逆量子化部１０６は、量子化部１０４によって量子化されたブロックデータを量子化スケールを用いて逆量子化する。
【００３０】
逆直交変換部１０７は、逆量子化部１０６によって逆量子化されたブロックデータを逆直交変換する（例えば、逆離散コサイン変換する）。
【００３１】
第２セレクタ１０８は、フレーム間予測符号化処理が不要であることが予測処理有無信号に示されている場合には、「０」を選択し、フレーム間予測符号化処理が必要であるが予測処理有無信号に示されている場合には、動き補償部１１１からの予測ブロックデータを選択する。
【００３２】
加算部１０９は、逆直交変換部１０７によって逆直交変換されたブロックデータと第２セレクタ１０８によって選択されたブロックデータ（または、「０」）とを加算する。これにより、直交変換および量子化が施される前のブロックデータが復元される。加算部１０９は、復元されたブロックデータを出力する。
【００３３】
フレームメモリ１１０は、加算部１０９からのブロックデータを格納し、複数のブロックデータ（復元ブロックデータ）を用いて参照フレーム（動き補償の際に他の動画像フレームに参照される動画像フレーム）を生成する。また、フレームメモリ１１０には、複数の参照フレームが参照フレーム群として格納される。
【００３４】
動き補償部１１１は、ブロック分割部１３からのブロックデータ（処理対象ブロックデータ）と、フレームメモリ１１０に格納された参照フレーム群とを受け取る。動き補償部１１１は、参照フレーム群の中から処理対象ブロックデータとの類似度が最も高いブロックデータを検出し、検出したブロックデータを予測ブロックデータとして減算部１０１および第２セレクタ１０８へ出力する。また、動き補償部１１１は、予測ブロックデータを含む参照フレームを識別するための参照フレーム識別子と、処理対象ブロックデータの位置から予測ブロックデータの位置への移動量を示す動きベクトルとを符号変換部１０５へ出力する。参照フレーム識別子には、処理対象ブロックデータを含む動画像フレーム（処理対象フレーム）の参照方向と、処理対象フレームから予測ブロックデータを含む参照フレームまでのフレーム枚数とが示されている。なお、参照フレーム識別子に示されたフレーム枚数が多いほど、参照フレーム識別子の符号量は多くなる。
【００３５】
量子化スケール算出部１１２は、符号量算出部１６によって算出された符号余剰量に対応した量子化スケールを算出する。例えば、量子化スケール算出部１１２は、符号余剰量が大きいほど量子化スケールに示された量子化係数を大きくする。量子化スケール算出部１１２によって算出された量子化スケールは、量子化スケール補正部２０１を介して、量子化部１０４および逆量子化部１０６へ出力される。
【００３６】
＜動き補償＞
ここで、動き補償部１１１による動き補償について説明する。動き補償の際に用いられる参照方式としては、フィールド参照方式，フレーム参照方式，双方向参照方式，片方向参照方式，および可変ブロックサイズ参照方式がある。
【００３７】
（１）フィールド参照方式・・・処理対象ブロックデータを偶数ラインおよび奇数ラインに分割するとともに、参照フレームも偶数ラインおよび奇数ラインに分割し、各々の偶数ライン同士および奇数ライン同士を用いて予測ブロックデータおよび動きベクトルを算出する方式。なお、各々の偶数ラインと奇数ラインを互い違いに用いて予測ブロックデータおよび動きベクトルを算出する場合もある。
【００３８】
（２）フレーム参照方式・・・処理対象ブロックデータおよび参照フレームの各々を偶数ライン，奇数ラインに分割せずに、処理対象ブロックデータと参照フレームとを用いて予測ブロックデータおよび動きベクトルを算出する方式。算出される動きベクトルの本数は、フィールド参照方式よりも少ない。
【００３９】
（３）双方向参照方式・・・過去の動画像フレームと未来の動画像フレームとの平均画像を参照フレームとして用いる方式。
【００４０】
（４）片方向参照方式・・・過去の動画像フレームまたは未来の動画像フレームのいずれか一方を参照フレームとして用いる方式。算出される動きベクトルの本数は、双方向参照方式よりも少ない。
【００４１】
（５）可変ブロックサイズ参照方式・・・処理対象ブロックデータを複数の小ブロックデータにさらに分割し、小ブロックデータの各々について予測ブロックデータおよび動きベクトルを算出する方式。分割数は可変であり、例えば、分割数が「８」である場合（８分割ブロックサイズ参照方式である場合）は、１つの処理対象ブロックデータに対して８本の動きベクトルを算出することになる。また、分割数が多いほど、算出される動きベクトルの本数が多くなる。
【００４２】
フィールド参照方式，双方向参照方式，８分割ブロックサイズ参照方式を併用する場合（８分割双方向フィールド参照方式）では、過去および未来の動画像フレームを参照フレームとして用い、且つ、処理対象ブロックデータおよび参照フレームの各々を奇数ラインおよび偶数ラインに分割して動きベクトルを算出するため、４（＝２×２）通りの予測を行う必要がある。さらに、分割数が「８」であるので、１つの処理対象ブロックデータに対して３２（＝４×８）本の動きベクトルが算出されることになる。
【００４３】
＜動作＞
次に、図３，図４，図５を参照しつつ、図１に示した動画像符号化装置１０によるレート制御処理について説明する。レート制御処理は、ブロック符号化部１４による符号化処理と並行して実行される。なお、ここでは、符号量不足状態判定部２１，距離算出部２２、符号抑制量算出部２３，符号抑制判定部２４，および量子化スケール補正部２０１による処理に着目して説明する。
【００４４】
〔ステップＳＴ１０１〕
まず、ブロック符号化部１４によってブロックデータが符号化され、符号量算出部１６は、ブロック符号化部１４における発生符号量に基づいて符号余剰量を算出する。符号量不足状態判定部２１は、符号量算出部１６によって算出された符号余剰量を受け取り、符号余剰量と不足状態閾値とを比較する。符号余剰量が不足状態閾値よりも小さい場合には、ステップＳＴ１０２へ進む。一方、そうでない場合には、ステップＳＴ１０３へ進む。
【００４５】
〔ステップＳＴ１０２〕
次に、符号量不足状態判定部２１は、不足状態判定結果を「１」（真）にし、符号余剰量が不足状態であることを符号抑制判定部２４へ通知する。次に、ステップＳＴ１０４へ進む。
【００４６】
〔ステップＳＴ１０３〕
一方、ステップＳＴ１０１において符号余剰量が不足状態閾値以上である場合、符号量不足状態判定部２１は、不足状態判定結果を「０」（偽）にし、符号余剰量が不足状態ではないことを符号抑制判定部２４へ通知する。次に、ステップＳＴ１０４へ進む。
【００４７】
〔ステップＳＴ１０４〕
次に、ブロック分割部１３は、ブロック符号化部１４によって次に符号化される予定であるブロックデータを出力するとともに、そのブロックデータ（処理対象ブロックデータ）についてのブロックデータ位置情報を出力する。距離算出部２２は、ブロック分割部１３からのブロックデータ位置情報に基づいて、動画像フレーム内において予め定められた任意の着目点（ここでは、動画像フレームの中心部）と処理対象ブロックデータとの間の距離を示すブロック距離を算出する。例えば、図６の場合、処理対象ブロックデータについてのブロック距離は、「５」と算出される。
【００４８】
〔ステップＳＴ１０５〕
次に、符号抑制量算出部２３は、符号量算出部１６によって算出された符号余剰量を受け取る。符号抑制量算出部２３は、符号余剰量が小さいほど符号抑制量が大きくなるように、符号余剰量に応じて符号抑制量を算出する。符号抑制量は、ブロック符号化部１４における発生符号量を抑制する程度を示す情報である。例えば、符号抑制量算出部２３は、符号余剰量の逆数に符号抑制量変換係数Ａ（Ａ≧１）を乗算して得られる値を符号抑制量とする。
【００４９】
〔ステップＳＴ１０６〕
また、符号抑制量算出部２３は、距離算出部２２によって算出されたブロック距離を受け取る。符号抑制量算出部２３は、ブロック距離が大きいほど符号抑制量が大きくなるように、ブロック距離に応じて符号抑制量を算出する。例えば、符号抑制量算出部２３は、ブロック距離に符号抑制量変換係数Ｂ（Ｂ≧１）を乗算して得られる値をステップＳＴ１０５において算出された符号抑制量に加算する。これにより、図７のように、着目点から離れるほど、符号抑制量が多くなる。
【００５０】
〔ステップＳＴ１０７〕
また、符号抑制量算出部２３は、フレーム並び替え部１２からのピクチャタイプ情報を受け取る。符号抑制量算出部２３は、Ｉピクチャ，Ｐピクチャ，Ｂピクチャの順に符号抑制量が大きくなるように、ピクチャタイプ情報に示されたピクチャタイプに応じて符号抑制量を算出する。例えば、符号抑制量算出部２３は、Ｉピクチャである場合には、符号抑制量に「０」を加算し、Ｐピクチャである場合には、参照画像抑制係数Ｃ１（Ｃ１≧１）を符号抑制量に加算し、Ｂピクチャである場合には、参照画像抑制係数Ｃ２（Ｃ２＞Ｃ１）を符号抑制量に加算する。
【００５１】
〔ステップＳＴ１０８〕
また、符号抑制判定部２４は、符号量算出部１６によって算出された符号余剰量を受け取る。符号抑制判定部２４は、符号余剰量が小さいほど距離閾値が小さくなるように、符号余剰量に応じて距離閾値を設定する。距離閾値は、動画像フレーム内における符号抑制領域（発生符号量を抑制する対象となるブロックデータが属する領域）を定めるための基準値である。図８のように、符号余剰量が小さいほど、動画像フレーム内における符号抑制領域（図中の斜線で示された領域）の範囲が広くなる。
【００５２】
〔ステップＳＴ１０９〕
また、符号抑制判定部２４は、フレーム並び替え部１２からのピクチャタイプ情報を受け取る。符号抑制判定部２４は、Ｉピクチャ，Ｐピクチャ，Ｂピクチャの順に距離閾値が小さくなるように、ピクチャタイプ情報に示されたピクチャタイプに応じて距離閾値を設定する。図９のように、Ｉピクチャ，Ｐピクチャ，Ｂピクチャの順に、動画像フレーム内における符号抑制領域の範囲が広くなる。
【００５３】
〔ステップＳＴ１１０〕
次に、符号抑制判定部２４は、符号量不足状態判定部２１からの不足状態判定結果を確認する。不足状態判定結果が「１」（真）であれば、ステップＳＴ１１１へ進む。一方、不足状態判定結果が「０」（偽）であれば、ステップＳＴ１１３へ進む。
【００５４】
〔ステップＳＴ１１１〕
次に、符号抑制判定部２４は、距離算出部２２によって算出されたブロック距離と距離閾値とを比較する。ブロック距離が距離閾値よりも大きければ、ステップＳＴ１１２へ進む。一方、ブロック距離が距離閾値以下であれば、ステップＳＴ１１３へ進む。
【００５５】
〔ステップＳＴ１１２〕
符号抑制判定部２４は、抑制判定結果を「１」（真）にし、抑制処理が必要であることをブロック符号化部１４に含まれる量子化スケール補正部２０１に通知する。次に、ステップＳＴ１１４へ進む。
【００５６】
〔ステップＳＴ１１３〕
一方、ステップ１１０において不足状態判定結果が「０」（偽）である場合、または、ステップＳＴ１１１においてブロック距離が距離閾値以下である場合、符号抑制判定部２４は、抑制判定結果を「０」（偽）にし、抑制処理が不要であることをブロック符号化部１４に含まれる量子化スケール補正部２０１に通知する。次に、ステップＳＴ１１４へ進む。
【００５７】
〔ステップＳＴ１１４〕
次に、ブロック符号化部１４において、量子化スケール補正部２０１は、符号抑制判定部２４からの抑制判定結果を確認する。抑制判定結果が「１」（真）であれば、ステップＳＴ１１５へ進む。一方、抑制判定結果が「０」（偽）であれば、ステップＳＴ１１６へ進む。
【００５８】
〔ステップＳＴ１１５〕
量子化スケール補正部２０１は、量子化スケール算出部１１２によって算出された量子化スケールと、符号抑制量算出部２３によって算出された符号抑制量とを受け取る。量子化スケール補正部２０１は、符号抑制量が大きいほど量子化スケールに示された量子化係数が大きくなるように、符号抑制量に応じた所定値を量子化スケールに示された量子化係数に加算する。例えば、量子化スケール補正部２０１は、符号抑制量が大きいほど、量子化スケールの量子化係数に加算する値を大きくする。次に、量子化スケール補正部２０１は、補正後の量子化スケールを量子化部１０４および逆量子化部１０６へ出力する。
【００５９】
〔ステップＳＴ１１６〕
一方、ステップＳＴ１１４において抑制判定結果が「０」（偽）である場合、量子化スケール補正部２０１は、量子化スケール算出部１１２によって算出された量子化スケールを、そのまま、量子化部１０４および逆量子化部１０６へ出力する。
【００６０】
このように、量子化スケールの量子化係数を増加させることによって、量子化部１０４からのブロックデータに示された係数は、量子化スケール算出部１１２によって算出された量子化スケールをそのまま使用する場合よりも、小さくなる。したがって、符号変換部１０５によって生成される符号列の符号量は少なくなるので、ブロック符号化部１４における発生符号量を抑制することができる。
【００６１】
＜効果＞
以上のように、符号余剰量が不足状態である場合、次に符号化される予定であるブロックデータが動画像フレームのうち任意の着目点から離れた領域に位置するブロックデータであれば発生符号量を抑制する処理を行い、着目点の近傍領域に位置するブロックデータであれば発生符号量を抑制する処理を行わない。したがって、着目点の近傍領域における画質は劣化しないので、動画像フレームの画質劣化は、従来よりも目立たなくなる。よって、発生符号量が所望の符号化レートを満足するように発生符号量を制御することができると同時に、動画像フレームの画質劣化が視覚的に目立たなくすることができる。
【００６２】
また、符号余剰量に応じて符号抑制量を変更することによって、発生符号量が過剰に抑制されないようにすることができ、動画像フレームの画質が過剰に劣化しないようにすることができる。
【００６３】
また、ブロック距離に応じて符号抑制量を変更することによって、着目点から遠ざかるに従って段階的に符号抑制量を増加させることができる。これにより、動画像フレームの画質の変動を視覚的に目立ちにくくすることができる。
【００６４】
また、動画像フレームのピクチャタイプに応じて符号抑制量を変更することによって、参照フレームとなる動画像フレームの画質劣化を軽減することができる。これにより、参照フレームを参照する動画像フレームの画質劣化を軽減することができる。
【００６５】
さらに、符号余剰量に応じて符号抑制領域の範囲を変更することによって、画質が劣化する範囲を過剰に広げないようにすることができ、動画像フレームの画質が過剰に劣化しないようにすることができる。
【００６６】
また、動画像フレームのピクチャタイプに応じて符号抑制領域の範囲を変更することによって、参照フレームを参照する動画像フレームの画質劣化を軽減することができる。
【００６７】
なお、符号化レート，不足状態閾値は、固定値であっても良いし、外部からの制御に応じて変動する可変値であっても良い。例えば、動画像フレームの特性（動画像の内容等）に応じて、符号化レートや不足状態閾値が設定されるように構成しても良い。
【００６８】
さらに、着目点は、動画像フレームの中心点でなくても良い。例えば、動画像フレーム内の特定の物体や、ユーザによって指定された任意のポイント等を着目点としても良い。
【００６９】
（変形例）
なお、符号抑制量を固定値としても良い。すなわち、符号抑制量算出部２３による符号抑制量の算出処理（ＳＴ１０５，ＳＴ１０６，ＳＴ１０７）を省略しても良い。この場合、量子化スケール補正部２０１は、抑制判定結果が「１」（真）であると、量子化スケール算出部１１２によって算出された量子化スケールの量子化係数に対して固定値を加算する。
【００７０】
また、距離閾値を固定値としても良い。すなわち、符号抑制判定部２４による距離閾値の設定処理（ＳＴ１０８，ＳＴ１０９）を省略しても良い。
【００７１】
さらに、図１０のように、符号抑制判定部２４が、符号量算出部１６によって算出された符号余剰量およびフレーム並び替え部１２からのピクチャタイプ情報に代えて、符号抑制量算出部２３によって算出された符号抑制量を受け取るように構成しても構わない。この場合、図１１のように、符号抑制判定部２４は、ステップＳＴ１０９〜ＳＴ１１１における処理に代えて、次の処理（ＳＴ２０１）を実行する。
【００７２】
〔ステップＳＴ２０１〕
符号抑制判定部２４は、符号抑制量算出部２３によって算出された符号抑制量を受け取る。符号抑制判定部２４は、符号抑制量が大きいほど距離閾値が小さくなるように、ブロック距離値との比較対象となる距離閾値を補正する。例えば、符号抑制判定部２４は、符号抑制量の逆数に距離変換係数Ｅ（Ｅ＞０）を乗算して得られる値を距離閾値とし、距離閾値とブロック距離とを比較する。ブロック距離値が距離閾値よりも大きければ、ステップＳＴ１１２へ進み、ブロック距離値が距離閾値以下であれば、ステップＳＴ１１３へ進む。
【００７３】
（第２の実施形態）
＜全体構成＞
この発明の第２の実施形態による動画像符号化装置１０は、図１に示した構成と同様であるが、ブロック符号化部１４の内部構成が異なる。
【００７４】
＜ブロック符号化部の内部構成＞
図１２は、本実施形態におけるブロック符号化部１４の内部構成を示す。このブロック符号化部１４は、図２に示した構成に加えて、符号抑制手法切替部２００と、小係数除去部２０２と、範囲内係数除去部２０３とを含む。また、このブロック符号化部１４は、図２に示した動き補償部１１１に代えて、動き補償処理部２０４を含む。その他の構成は、図２と同様である。図１３は、図１２に示した動き補償処理部２０４の内部構成を示す。動き補償処理部２０４は、図１に示した動き補償部１１１と、フレーム制限動き補償部２１１と、種類制限動き補償部２１２とを含む。
【００７５】
＜各ブロックによる処理および効果＞
次に、符号抑制手法切替部２００，量子化スケール補正部２０１，小係数除去部２０２，範囲内係数除去部２０３，フレーム制限動き補償部２１１，種類制限動き補償部２１２の各々による処理および効果について説明する。
【００７６】
〔符号抑制手法切替部〕
符号抑制手法切替部２００は、符号抑制判定部２４からの抑制判定結果と、符号抑制量算出部２３からの符号抑制量とを受け取る。
【００７７】
抑制判定結果が「１」（真）である場合、符号抑制手法切替部２００は、符号抑制量に応じて、量子化スケール補正部２０１，小係数除去部２０２，範囲内係数除去部２０３，フレーム制限動き補償部２１１，種類制限動き補償部２１２のうちいずれか１つに起動信号を出力する（起動信号を「１」にする）。例えば、まず、符号抑制手法切替部２００は、量子化スケール補正部２０１に対する起動信号を「１」にする。次に、符号抑制量が多くなると、符号抑制手法切替部２００は、量子化スケール補正部２０１に対する起動信号を「０」にする（起動信号の出力を停止する）とともに、小係数除去部２０２に対する起動信号を「１」にする。このように、符号抑制手法切替部２００は、符号抑制量が多くなるに従って、量子化スケール補正部２０１，小係数除去部２０２，範囲内係数除去部２０３，フレーム制限動き補償部２１１，種類制限動き補償部２１２の順で起動信号を「１」にする。
【００７８】
一方、抑制判定結果が「０」（偽）である場合、符号抑制手法切替部２００は、すべての起動信号を「０」にする。
【００７９】
このように、符号余剰量が不足状態である場合に、符号抑制量に応じて量子化スケール補正部，小係数除去部，範囲内係数除去部，フレーム制限動き補償部，種類制限動き補償部の各々を起動させることによって、発生符号量の抑制の程度を幅広く且つ詳細に制御することができる。
【００８０】
〔量子化スケール補正部〕
符号抑制手法切替部２００からの起動信号が「１」である場合、量子化スケール補正部２０１は、符号抑制量が大きいほど量子化スケールにおける量子化係数が大きくなるように、量子化スケール算出部１１２によって算出された量子化スケールを補正する。
【００８１】
一方、符号抑制手法切替部２００からの起動信号が「０」である場合、量子化スケール補正部２０１は、量子化スケール算出部１１２からの量子化スケールの量子化係数に「０」を加算する（すなわち、量子化スケール算出部１１２からの量子化スケールをそのまま出力する）。
【００８２】
〔小係数除去部〕
小係数除去部２０２は、量子化部１０４によって量子化されたブロックデータと、符号抑制手法切替部２００からの起動信号と、符号抑制量算出部２３からの符号抑制量とを受け取る。
【００８３】
符号抑制手法切替部２００からの起動信号が「１」である場合、小係数除去部２０２は、量子化部１０４からのブロックデータに示された係数のうち除去閾値よりも小さい係数を「０」にする。また、小係数除去部２０２は、符号抑制量が大きいほど除去閾値が大きくなるように、符号抑制量に応じて除去閾値を設定する。
【００８４】
ここで、図１４Ａ，図１４Ｂを参照しつつ、小係数除去部２０２による小係数除去処理について説明する。なお、図１４Ｂは、図１４Ａよりも符号抑制量が大きい場合を示している。図１４Ａでは、除去閾値を「３５」に設定し、「３５」以下の係数を全て「０」にする。一方、図１４Ｂでは、除去閾値を「６０」に設定し、「６０」以下の係数を全て「０」にする。
【００８５】
一方、符号抑制手法切替部２００からの起動信号が「０」である場合、小係数除去部２０２は、小係数除去処理を行うことなく、量子化部１０４からのブロックデータをそのまま出力する。
【００８６】
このように、ブロックデータに示された係数のうち比較的小さな係数を「０」に丸めこむことができ、画質劣化を軽減することが可能となる。また、符号抑制量に応じて除去閾値を設定することによって、発生符号量の抑制の程度を詳細に制御することができる。なお、除去閾値は、固定値であっても良い。
【００８７】
〔範囲内係数除去部〕
範囲内係数除去部２０３は、小係数除去部２０２からのブロックデータと、符号抑制手法切替部２００からの起動信号と、符号抑制量算出部２３からの符号抑制量とを受け取る。
【００８８】
符号抑制手法切替部２００からの起動信号が「１」である場合、範囲内係数除去部２０３は、小係数除去部２０２からのブロックデータに示された係数のうち除去範囲内に属する係数を「０」にする。また、範囲内係数除去部２０３は、符号抑制量が大きいほど除去範囲が広くなるように、符号抑制量に応じて除去範囲を設定する。
【００８９】
ここで、図１５Ａ，図１５Ｂを参照しつつ、範囲内係数除去部２０３による範囲内係数除去処理について説明する。なお、図１５Ｂは、図１５Ａよりも符号抑制量が大きい場合を示している。図１５Ａでは、除去範囲を「３」に設定し、高周波数成分から順番に３個の係数を全て「０」にする。一方、図１５Ｂでは、除去範囲を「１０」に設定し、高周波数成分から順番に１０個の係数を全て「０」にする。
【００９０】
一方、符号抑制手法切替部２００からの起動信号が「０」である場合、範囲内係数除去部２０３は、範囲内係数除去処理を行うことなく、小係数除去部２０２からのブロックデータをそのまま符号変換部１０５および逆量子化部１０６へ出力する。
【００９１】
このように、ブロックデータに示された係数のうち視覚的に目立たない高周波帯の係数を「０」にすることができ、画質劣化を目立ちにくくすることができる。また、符号抑制量に応じて除去範囲を設定することによって、発生符号量の抑制の程度を詳細に制御することができる。なお、除去範囲は、固定されていても良い。
【００９２】
〔フレーム制限動き補償部〕
フレーム制限動き補償部２１１は、ブロック分割部１３からのブロックデータと、フレームメモリ１１０に格納された参照フレーム群と、動き補償部１１１からの予測ブロックデータ，動きベクトル，および参照フレーム識別子と、符号抑制手法切替部２００からの起動信号と、符号抑制量算出部２３からの符号抑制量とを受け取る。
【００９３】
符号抑制手法切替部２００からの起動信号が「１」である場合、フレーム制限動き補償部２１１は、動き補償の際に使用することができる参照フレームのうち時間軸上においてブロック分割部１３からのブロックデータを含む動画像フレーム（処理対象フレーム）から最も離れた参照フレームまでのフレーム枚数が少なくなるように、使用可能な参照フレームの枚数を制限する。次に、フレーム制限動き補償部２１１は、制限された枚数の参照フレームを用いて動き補償部１１１と同様の処理を行い、予測ブロック，動きベクトル，および参照フレーム識別子を新たに算出する。次に、フレーム動き補償部２１１は、動き補償部１１１からの予測ブロックデータ，動きベクトル，および参照フレーム識別子に代えて、新たに算出した予測ブロックデータ，動きベクトル，および参照フレーム識別子を出力する。また、フレーム制限動き補償部２１１は、符号抑制量が大きいほど参照フレームの使用可能枚数が少なくなるように、符号抑制量に応じて参照フレームの使用可能枚数を制限する。
【００９４】
ここで、図１６Ａ，図１６Ｂを参照しつつ、フレーム制限動き補償部２１１による参照フレームの枚数制限について説明する。なお、図１６Ｂは、図１６Ａよりも符号抑制量が大きい場合を示している。図１６Ａでは、時間軸上において処理対象フレームから最も離れた参照フレームまでのフレーム枚数が「５枚」になるように使用可能な参照フレームの枚数が制限される。一方、図１６Ｂでは、時間軸上において処理対象フレームから最も離れた参照フレームまでのフレーム枚数が「３枚」になるように使用可能な参照フレームの枚数が制限される。
【００９５】
一方、符号抑制手法切替部２００からの起動信号が「０」である場合、フレーム制限動き補償部２１１は、動き補償部１１１からの予測ブロックデータ，動きベクトル，参照フレーム識別子を、そのまま、出力する。
【００９６】
このように、動き補償の際に使用される参照フレームのうち処理対象フレームから最も離れた参照フレームまでの枚数が少なくなるので、参照フレーム識別子の符号量を小さくすることができる。また、符号抑制量に応じて使用可能な参照フレームの枚数を制限することによって、発生符号量の抑制の程度を詳細に制御することができる。なお、起動信号が「１」である場合に参照フレームの使用可能枚数が予め定められた固定値に制限されるように構成しても良い。
【００９７】
〔種類制限動き補償部〕
種類制限動き補償部２１２は、ブロック分割部１３からのブロックデータと、フレームメモリ１１０に格納された参照フレーム群と、フレーム制限動き補償部２１１からの予測ブロックデータ，動きベクトル，および参照フレーム識別子と、符号抑制手法切替部２００からの起動信号と、符号抑制量算出部２３からの符号抑制量とを受け取る。
【００９８】
符号抑制手法切替部２００からの起動信号が「１」である場合、種類制限動き補償部２１２は、動き補償によって算出される動きベクトルの本数が少なくなるように、動き補償の際に使用することができる参照方式の種類数を制限する。次に、種類制限動き補償部２１２は、制限された種類の参照方式に従って動き補償部１１１と同様の処理を行い、予測ブロックデータ，動きベクトル，および参照フレーム識別子を新たに算出する。次に、種類制限動き補償部２１２は、フレーム制限動き補償部２１１からの予測ブロックデータ，動きベクトル，および参照フレーム識別子に代えて、新たに算出した予測ブロックデータ，動きベクトル，および参照フレーム識別子を減算部１０１，符号変換部１０５，および第２セレクタ１０８へ出力する。また、種類制限動き補償部２１２は、符号抑制量が大きいほど動き補償によって算出される動きベクトルの本数が少なくなるように、動き補償の際に使用することができる参照方式の種類数を制限する。
【００９９】
ここで、種類制限動き補償部２１２による参照方式の種類制限について説明する。例えば、種類制限動き補償部２１２は、符号抑制量が所定閾値よりも小さい場合には、１６分割双方向フィールド参照方式を使用しないように制限し、符号抑制量が所定閾値よりも大きい場合には、１分割片方向フレーム参照のみ使用するように制限する。
【０１００】
一方、符号抑制手法切替部２００からの起動信号が「０」である場合、種類制限動き補償部２１２は、フレーム制限動き補償部２１１からの予測ブロックデータ，動きベクトル，および参照フレーム識別子を、そのまま、減算部１０１，符号変換部１０５，および第２セレクタ１０８へ出力する。
【０１０１】
このように、動きベクトルの本数を削減することができ、ブロック符号化部における発生符号量を少なくすることができる。また、符号抑制量に応じて使用可能な参照方式の種類を制限することによって、発生符号量の抑制の程度を詳細に制御することができる。なお、起動信号が「１」である場合に使用可能な参照方式が予め定められた参照方式に制限されるように構成しても良い。
【０１０２】
本実施形態では、量子化スケール補正部２０１，小係数除去部２０２，範囲内係数除去部２０３，フレーム制限動き補償部２１１，種類制限動き補償部２１２のいずれか１つのみ起動させることによってブロック符号化部１４における発生符号量を抑制する例について説明したが、複数または全部を起動させ、発生符号量を抑制しても良い。
【０１０３】
また、符号抑制手法切替部２００を省略し、小係数除去部２０２，範囲内係数除去部２０３，フレーム制限動き補償部２１１，種類制限動き補償部２１２の各々が、符号抑制判定部２４からの抑制判定結果に応じて動作するように構成しても良い。
【０１０４】
また、量子化スケール補正部２０１，小係数除去部２０２，範囲内係数除去部２０３，フレーム制限動き補償部２１１，種類制限動き補償部２１２のうち少なくとも１つ含まれていれば、ブロック符号化部１４における発生符号量を抑制することが可能である。
【０１０５】
また、動き補償に使用される参照方式として、フィールド参照方式，フレーム参照方式，双方向参照方式，片方向参照方式，可変ブロックサイズ参照方式を例に挙げて説明したが、これら全てを具備している必要はなく、また、他の参照方式を使用しても構わない。さらに、可変ブロックサイズ参照方式として、１分割ブロックサイズ参照方式から１６分割ブロックサイズ参照方式を例に挙げて説明したが、最大分割数は１６分割より大きくても小さくても良い。また、１分割から最大分割数までの全ての分割数を使用する必要はなく、例えば、３分割ブロックサイズ参照方式は使用しなくても良い。
【０１０６】
（第３の実施形態）
＜構成＞
図１７は、この発明の第３の実施形態による録画装置の構成を示す。この録画装置は、図１に示した動画像符号化装置１０と、カメラ部３１と、符号化レート切替部３２と、撮影モード切替部３３と、メディア記録部３４とを備える。
【０１０７】
カメラ部３１は、動画を撮影し、映像信号を動画像符号化装置１０へ出力する。
【０１０８】
符号化レート切替部３２は、ユーザによって指定された符号化レートを動画像符号化装置１０へ出力する。
【０１０９】
撮影モード切替部３３は、ユーザによって指定された撮影モードに対応する不足状態閾値を動画像符号化装置１０へ出力する。例えば、撮影モード切替部３３は、符号余剰量が不足しやすい状況を示す撮影状況に切り替えられると、不足状態閾値を大きくする。そのような撮影状況としては、風景等の穏やかなシーンを撮影する自然画撮影モードから激しい動きのあるスポーツ等を撮影するスポーツ撮影モードに切り替えられた場合、低画質モードから高画質モードに切り替えられた場合、カメラを上下左右に移動させながら撮影する場合等がある。
【０１１０】
動画像符号化装置１０は、カメラ部３１からの映像信号，符号化レート切替部３２からの符号化レート，撮影モード切替部３３からの不足状態閾値を受け取り、符号列を生成する。
【０１１１】
メディア記録部３４は、動画像符号化装置１０からの符号列を、ＣＤ，ＤＶＤ，Ｂｌｕｒａｙ−Ｄｉｓｃ（登録商標），ＨＤ−ＤＶＤ，ＳＤカード，ハードディスク等の記録メディア３５に記録する。
【０１１２】
＜効果＞
本実施形態による録画装置では、映像信号をリアルタイムで記録することができるとともに、映像信号の画質劣化を視覚的に目立たないようにすることができる。
【０１１３】
なお、本実施形態では、動画像符号化装置がビデオカメラに搭載される例について説明したが、動画像符号化装置は、カメラ付き携帯電話や、ＤＶＤレコーダ等の蓄積再生装置等にも適用可能である。
【０１１４】
以上の各実施形態において、動画像符号化装置１０に含まれる機能ブロックの各々は、通常、ＭＰＵやメモリ等によって実現可能である。また、機能ブロックの各々による処理は、通常、ソフトウェア（プログラム）によって実現することができ、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。そして、このようなソフトウェアをソフトウェアダウンロード等により配布しても良いし、ＣＤ−ＲＯＭなどの記録媒体に記録して配布しても良い。なお、各機能ブロックデータをハードウェア（専用回路）によって実現することも、当然、可能である。
【０１１５】
また、各実施形態において説明した処理は、単一の装置（システム）を用いて集中処理することによって実現しても良く、あるいは、複数の装置を用いて分散処理することによって実現しても良い。また、上記プログラムを実行するコンピュータは、単数であっても良く、複数であっても良い。すなわち、集中処理を行っても良く、あるいは分散処理を行っても良い。
【産業上の利用可能性】
【０１１６】
以上のように、本発明は、発生符号量が所望の符号化レートを満足するように発生符号量を制御することができると同時に動画像フレームの画質劣化が視覚的に目立たなくすることができるため、ビデオカメラ，カメラ付き携帯電話，ＤＶＤレコーダ等に有用である。
【図面の簡単な説明】
【０１１７】
【図１】この発明の第１の実施形態による動画像符号化装置の全体構成を示すブロック図である。
【図２】図１に示したブロック符号化部の内部構成を示すブロック図である。
【図３】図１に示した動画像符号化装置（符号量不足状態判定部，距離算出部，符号抑制量算出部）による動作について説明するためのフローチャートである。
【図４】図１に示した動画像符号化装置（符号抑制判定部）による動作について説明するためのフローチャートである。
【図５】図１に示した動画像符号化装置（量子化スケール補正部）による動作について説明するためのフローチャートである。
【図６】ブロック距離の算出について説明するための図である。
【図７】ブロック距離に応じて符号抑制量が変更される様子を説明するための図である。Ｉピクチャ
【図８】符号余剰量に応じて符号抑制領域の範囲が変更される様子を説明するための図である。
【図９】ピクチャタイプに応じて符号抑制領域の範囲が変更される様子を説明するための図である。
【図１０】図１に示した動画像符号化装置の変形例を示すブロック図である。
【図１１】図１０に示した符号抑制判定部による処理について説明するためのフローチャートである。
【図１２】この発明の第２の実施形態におけるブロック符号化部の内部構成を示すブロック図である。
【図１３】図１２に示した動き補償処理部の内部構成を示すブロック図である。
【図１４】図１２に示した小係数除去部による処理について説明するための図である。
【図１５】図１２に示した範囲内係数除去部による処理について説明するための図である。
【図１６】図１３に示したフレーム制限動き補償部による処理について説明するための図である。
【図１７】この発明の第３の実施形態による録画装置の全体構成を示すブロック図である。
【符号の説明】
【０１１８】
１０    動画像符号化装置
１１    ピクチャタイプ決定部
１２    フレーム並び替え部
１３    ブロック分割部
１４    ブロック符号化部
１５    バッファ
１６    符号量算出部
２１    符号量不足状態判定部
２２    距離算出部
２３    符号抑制量算出部
２４    符号抑制判定部
１０１    減算部
１０２    第１セレクタ
１０３    直交変換部
１０４    量子化部
１０５    符号変換部
１０６    逆量子化部
１０７    逆直交変換部
１０８    第２セレクタ
１０９    加算部
１１０    フレームメモリ
１１１    動き補償部
１１２    量子化スケール算出部
２００    符号抑制手法切替部
２０１    量子化スケール補正部
２０２    小係数除去部
２０３    範囲内係数除去部
２０４    動き補償処理部
２１１    フレーム制限動き補償部
２１２    種類制限動き補償部
３１    カメラ部
３２    符号化レート切替部
３３    撮影モード切替部
３４    メディア記録部
３５    記録メディア
【図１】
2008193410.tif 000003
【図２】
2008193410.tif 000004
【図３】
2008193410.tif 000005
【図４】
2008193410.tif 000006
【図５】
2008193410.tif 000007
【図６】
2008193410.tif 000008
【図７】
2008193410.tif 000009
【図８】
2008193410.tif 000010
【図９】
2008193410.tif 000011
【図１０】
2008193410.tif 000012
【図１１】
2008193410.tif 000013
【図１２】
2008193410.tif 000014
【図１３】
2008193410.tif 000015
【図１４】
2008193410.tif 000016
【図１５】
2008193410.tif 000017
【図１６】
2008193410.tif 000018
【図１７】
2008193410.tif 000019