(57)【要約】【課題】動画像符号化において連続する複数の符号化対象ブロックに対して記憶部から読み出される参照情報の転送量を制御する。【解決手段】バッファ１１１は、動画像に含まれる符号化対象画像を符号化するために参照される参照情報を記憶し、参照情報は、参照情報を記憶する記憶部から転送される。選択部１１２は、符号化対象画像内の複数の符号化可能ブロックの各々を符号化するために記憶部からバッファ１１１へ転送される参照情報の情報量に基づいて、それらの符号化可能ブロックの中から符号化対象ブロックを選択する。符号化部１１３は、バッファ１１１へ転送される参照情報を用いて、選択部１１２が選択した符号化対象ブロックを符号化する。【選択図】図１
2016058874.tif 000002
【特許請求の範囲】
【請求項１】
動画像に含まれる符号化対象画像を符号化するために参照される参照情報を記憶する記憶部から転送される前記参照情報を記憶するバッファと、
前記符号化対象画像内の複数の符号化可能ブロックの各々を符号化するために前記記憶部から前記バッファへ転送される前記参照情報の情報量に基づいて、前記複数の符号化可能ブロックの中から符号化対象ブロックを選択する選択部と、
前記バッファへ転送される前記参照情報を用いて、前記選択部が選択した前記符号化対象ブロックを符号化する符号化部と、
を備えることを特徴とする動画像符号化装置。
【請求項２】
前記複数の符号化可能ブロックの各々の符号化結果は、前記複数の符号化可能ブロックのうち他の符号化可能ブロックの符号化結果に依存しないことを特徴とする請求項１記載の動画像符号化装置。
【請求項３】
前記選択部は、前記複数の符号化可能ブロックのうち、前記バッファへ転送される前記参照情報の情報量が比較的大きな符号化可能ブロックを前記符号化対象ブロックとして選択した後、選択した前記符号化可能ブロックを除く複数の符号化可能ブロックのうち、前記バッファへ転送される前記参照情報の情報量が比較的小さな符号化可能ブロックを次の符号化対象ブロックとして選択することを特徴とする請求項１又は２記載の動画像符号化装置。
【請求項４】
前記選択部は、前記複数の符号化可能ブロックのうち、前記バッファへ転送される前記参照情報の情報量が閾値以下であるとともに、前記バッファへ転送される前記参照情報の情報量が比較的大きな符号化可能ブロックを、前記符号化対象ブロックとして選択することを特徴とする請求項１又は２記載の動画像符号化装置。
【請求項５】
前記閾値は、前記記憶部から前記バッファへ前記参照情報が転送される転送速度に基づいて決定されることを特徴とする請求項４記載の動画像符号化装置。
【請求項６】
動画像に含まれる符号化対象画像を符号化するために参照される参照情報を記憶する記憶部からバッファへ、前記符号化対象画像内の複数の符号化可能ブロックの各々を符号化するために転送される、前記参照情報の情報量に基づいて、前記複数の符号化可能ブロックの中から符号化対象ブロックを選択し、
前記バッファへ転送される前記参照情報を用いて、前記符号化対象ブロックを符号化する、
ことを特徴とする動画像符号化方法。
【請求項７】
動画像に含まれる符号化対象画像を符号化するために参照される参照情報を記憶する記憶部からバッファへ、前記符号化対象画像内の複数の符号化可能ブロックの各々を符号化するために転送される、前記参照情報の情報量に基づいて、前記複数の符号化可能ブロックの中から符号化対象ブロックを選択し、
前記バッファへ転送される前記参照情報を用いて、前記符号化対象ブロックを符号化する、
処理をコンピュータに実行させる動画像符号化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像符号化装置、動画像符号化方法、及び動画像符号化プログラムに関する。
【背景技術】
【０００２】
近年、Ｈ．２６４、High Efficiency Video Coding（ＨＥＶＣ，Ｈ．２６５）等の動画像符号化技術が用いられている。動画像符号化技術では、インター予測符号化とイントラ予測符号化の２つの符号化方式が併用される。インター予測符号化は、動画像に含まれる符号化対象画像を符号化済み画像の情報を用いて符号化する符号化方式であり、イントラ予測符号化は、符号化対象画像が持つ情報のみを用いて符号化対象画像を符号化する符号化方式である。
【０００３】
符号化対象画像は複数のブロックに分割され、ブロック毎に符号化される。符号化対象画像は、フレーム又はピクチャと呼ばれることがあり、符号化対象画像内のブロックは、マクロブロック又はCoding Tree Block（ＣＴＢ）と呼ばれることがある。
【０００４】
インター予測符号化では、符号化対象画像内の符号化対象ブロックに類似するブロックを参照画像内で探索し、符号化対象ブロックの位置と類似するブロックの位置との差分を表す動きベクトルが検出される。動きベクトル検出においては、動画像を記憶する記憶部から参照画像の探索範囲に対応する画像データが読み出され、符号化対象ブロックと参照画像とのブロックマッチングが行われる。
【０００５】
縮小画像を用いる粗探索と元画像を用いる詳細探索による階層型の動き検出を行う動き検出回路も知られている（例えば、特許文献１を参照）。この動き検出回路は、外部メモリから動き検出用バッファに画像データを読み込む際に、縮小画像を用いて動き検出を行った粗探索結果に基づく元画像を用いる詳細探索の動き検出における詳細探索範囲を、外部メモリのアクセス粒度でなる領域に拡張する。そして、動き検出回路は、動き検出用バッファに読み込まれた詳細探索範囲の画像データを用いて、詳細探索の動き検出を行う。
【０００６】
入力動画像データのブロック毎に符号化済みの参照画像データ中に動きベクトル探索パターンを設定し、所定の評価関数値が最小となる参照ブロックを探索して動きベクトルを検出する動画像符号化装置も知られている（例えば、特許文献２を参照）。
【０００７】
インター予測モードかイントラ予測モードかを選択するステップを含む、ビデオデータを符号化するための方法も知られている（例えば、特許文献３を参照）。この方法では、インター予測モードが選択された場合、少なくとも１つのタイプのインター予測マクロブロックが、所定の基準に従って異なるカテゴリにソートされ、同じカテゴリに属するすべてのマクロブロックが１つのスライスグループに配置される。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１１−０７１６２２号公報
【特許文献２】特開平０７−０９５５８９号公報
【特許文献３】特表２０１１−５２９３１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上述した従来の動画像符号化技術には、以下のような問題がある。
動画像を記憶する記憶部としては、例えば、Synchronous Dynamic Random Access Memory（ＳＤＲＡＭ）が用いられる。しかし、ＳＤＲＡＭから画像データを読み出す転送速度（帯域）の制約により、所定期間内に転送できるデータ量は限られている。
【００１０】
一方、動きベクトル検出の際にＳＤＲＡＭから読み出される画像データの転送量は、符号化対象ブロック毎に変化すると考えられる。このため、符号化対象画像全体に対する画像データの転送量がＳＤＲＡＭの転送速度に基づく上限値以下である場合でも、局所的な短期間において、連続する複数の符号化対象ブロックに対する転送量が上限値を超える可能性がある。
【００１１】
なお、かかる問題は、ＳＤＲＡＭを使用する場合に限らず、他の記憶部を使用する場合においても生ずるものである。また、かかる問題は、動きベクトル検出を行う場合に限らず、動画像符号化における他の処理のために記憶部から参照情報を読み出す場合においても生ずるものである。
【００１２】
１つの側面において、本発明の目的は、動画像符号化において連続する複数の符号化対象ブロックに対して記憶部から読み出される参照情報の転送量を制御することである。
【課題を解決するための手段】
【００１３】
１つの案では、動画像符号化装置は、バッファ、選択部、及び符号化部を含む。
バッファは、動画像に含まれる符号化対象画像を符号化するために参照される参照情報を記憶し、参照情報は、参照情報を記憶する記憶部から転送される。選択部は、符号化対象画像内の複数の符号化可能ブロックの各々を符号化するために記憶部からバッファへ転送される参照情報の情報量に基づいて、それらの符号化可能ブロックの中から符号化対象ブロックを選択する。符号化部は、バッファへ転送される参照情報を用いて、選択部が選択した符号化対象ブロックを符号化する。
【発明の効果】
【００１４】
実施形態の動画像符号化装置によれば、動画像符号化において連続する複数の符号化対象ブロックに対して記憶部から読み出される参照情報の転送量を制御することができる。
【図面の簡単な説明】
【００１５】
【図１】動画像符号化装置の構成図である。
【図２】動画像符号化処理のフローチャートである。
【図３】動画像符号化装置の具体例を示す図である。
【図４】３段階の処理のタイミングチャートである。
【図５】第１の符号化ブロック画像生成処理のフローチャートである。
【図６】符号化可能ブロック抽出処理のフローチャートである。
【図７】ブロック間の依存関係を示す図である。
【図８】符号化可能ブロックを示す図である。
【図９】計算処理を示す図である。
【図１０】動きの大きい領域及び動きの小さい領域における符号化可能ブロックを示す図である。
【図１１】転送処理及び演算処理のタイミングチャートである。
【図１２】第２の符号化ブロック画像生成処理のフローチャートである。
【図１３】選択処理を示す図である。
【図１４】画面の領域分割を示す図である。
【図１５】情報処理装置の構成図である。
【発明を実施するための形態】
【００１６】
以下、図面を参照しながら、実施形態を詳細に説明する。
近年、Full High Definition（Ｆｕｌｌ  ＨＤ）から４Ｋへ、４Ｋから８Ｋへと、動画像の高解像度化が進んでいる。Ｆｕｌｌ  ＨＤでは、画面解像度が１９２０×１０８０画素であり、４Ｋでは、例えば、画面解像度が４０９６×２１６０画素又は３８４０×２１６０画素であり、８Ｋでは、例えば、画面解像度が７６８０×４３２０画素である。
【００１７】
一方、動きベクトル検出のためのメモリアーキテクチャとしては、次の２つが考えられる。
【００１８】
（１）バッファを用いたメモリアーキテクチャ
ＳＤＲＡＭから画像データを小容量のバッファ（参照画像バッファ）へ転送し、バッファ内の画像データを用いて動きベクトルを検出する。ＳＤＲＡＭから転送される画像データの転送量は、比較的大きい。
【００１９】
（２）キャッシュを用いたメモリアーキテクチャ
ＳＤＲＡＭから画像データを大容量のキャッシュへ転送し、キャッシュ内の画像データを用いて動きベクトルを検出する。キャッシュとしては、例えば、Static Random Access Memory（ＳＲＡＭ）が用いられる。ＳＤＲＡＭから転送される画像データの転送量は、比較的小さい。
【００２０】
キャッシュを用いたメモリアーキテクチャでは、画面解像度が大きくなると、それに伴ってキャッシュの容量も大きくなるため、ハードウェア量が増加する。そこで、ハードウェア量が比較的小さなバッファを用いたメモリアーキテクチャの方が望ましい。
【００２１】
動きベクトル検出において、符号化対象画像内の動きが大きいブロックでは、参照画像の探索範囲が大きくなるため、画像データの転送量が増加すると考えられる。一方、動きが小さいブロックでは、狭い範囲内で動きベクトルを検出できるため、探索範囲が小さくなり、画像データの転送量は減少すると考えられる。したがって、動きベクトル検出の際にＳＤＲＡＭからバッファへ転送される画像データの転送量は、符号化対象ブロック毎に変化する。
【００２２】
このため、符号化対象画像全体に対する画像データの転送量がＳＤＲＡＭの転送速度に基づく上限値以下である場合でも、局所的な短期間において、連続する複数の符号化対象ブロックに対する転送量が上限値を超える可能性がある。
【００２３】
例えば、画面解像度が４０９６×２１６０画素であり、１ブロックのサイズが６４×６４画素である場合、１つの符号化対象画像内のブロックの個数は、６４×３４（＝２１７６）個である。２１７６個のブロックに対する画像データの転送量が上限値以下である場合でも、連続する数個の符号化対象ブロックに対する転送量が上限値を超えることがある。
【００２４】
一方、ＳＤＲＡＭからバッファへ転送される画像データの転送量が変化する場合でも、符号化処理の時間には変動がないため、転送量が上限値を超えると、ＳＤＲＡＭからの転送待ちにより符号化処理が遅延する。
【００２５】
バッファの容量を増やせば転送量を平均化する効果が得られるが、ハードウェア量が増加してしまう。一方、バッファの容量を増やさない場合は、ＳＤＲＡＭからの転送待ちにより所定時間内に符号化処理が終了せず、コマ落ちが発生する。コマ落ちを防止するために動きが大きいブロックに対する探索範囲を狭めると、符号化された動画像の画質が劣化してしまう。
【００２６】
図１は、実施形態の動画像符号化装置の構成例を示している。図１の動画像符号化装置１０１は、バッファ１１１、選択部１１２、及び符号化部１１３を含む。バッファ１１１は、動画像に含まれる符号化対象画像を符号化するために参照される参照情報を記憶し、参照情報は、参照情報を記憶する記憶部（不図示）から転送される。記憶部は、動画像符号化装置１０１内に設けられてもよく、動画像符号化装置１０１の外部に設けられてもよい。
【００２７】
図２は、図１の動画像符号化装置１０１が行う動画像符号化処理の例を示すフローチャートである。まず、選択部１１２は、符号化対象画像内の複数の符号化可能ブロックの各々を符号化するために記憶部からバッファ１１１へ転送される参照情報の情報量に基づいて、それらの符号化可能ブロックの中から符号化対象ブロックを選択する（ステップ２０１）。
【００２８】
次に、符号化部１１３は、バッファ１１１へ転送される参照情報を用いて、選択部１１２が選択した符号化対象ブロックを符号化する（ステップ２０２）。
【００２９】
図１の動画像符号化装置１０１によれば、動画像符号化において連続する複数の符号化対象ブロックに対して記憶部から読み出される参照情報の転送量を制御することができる。
【００３０】
動画像符号化装置１０１は、様々な用途に利用される。例えば、動画像符号化装置１０１を、ビデオカメラ、映像送信装置、テレビ電話システム、コンピュータ、又は携帯電話機に組み込むことも可能である。
【００３１】
図３は、図１の動画像符号化装置１０１の具体例を示している。図３の動画像符号化装置１０１は、符号化部１１３、縮小画像生成部３０１、前処理部３０２、動きベクトルバッファ３０３、制御部３０４、参照画像バッファ３０５、入力部３０６、記憶部３０７、出力部３０８、及びバス３０９を含む。制御部３０４は、選択部１１２を含む。
【００３２】
符号化部１１３は、動き検出部３１２、動き補償部３１３、イントラ予測部３１４、予測画像選択部３１５、及び誤差画像生成部３１６を含む。さらに、符号化部１１３は、直交変換量子化部３１７、逆量子化逆直交変換部３１８、デブロッキングフィルタ３１９、中間バッファ３２０、及びエントロピー符号化部３２１を含む。
【００３３】
参照画像バッファ３０５は、図１のバッファ１１１に対応する。符号化対象ブロックを符号化するために記憶部３０７から参照画像バッファ３０５へ転送される参照情報は、参照画像の画像データである。
【００３４】
縮小画像生成部３０１、前処理部３０２、参照画像バッファ３０５、動き検出部３１２、イントラ予測部３１４、誤差画像生成部３１６、デブロッキングフィルタ３１９、及びエントロピー符号化部３２１は、バス３０９を介して記憶部３０７に接続されている。入力部３０６及び出力部３０８も、バス３０９を介して記憶部３０７に接続されている。
【００３５】
符号化部１１３、縮小画像生成部３０１、前処理部３０２、動きベクトルバッファ３０３、制御部３０４、及び参照画像バッファ３０５は、例えば、ハードウェア回路として実装することができる。この場合、各構成要素を個別の回路として実装してもよく、複数の構成要素を１つの集積回路として実装してもよい。
【００３６】
入力部３０６は、符号化対象動画像を入力し、記憶部３０７に格納する。符号化対象動画像に含まれる複数の画像の各々は、符号化対象画像に対応し、カラー画像であってもよく、モノクロ画像であってもよい。カラー画像の場合、画素値はＲＧＢ形式であってもよく、ＹＵＶ形式であってもよい。
【００３７】
縮小画像生成部３０１は、記憶部３０７に格納された符号化対象動画像に含まれる各画像を所定のスケールで縮小して、低解像度の画像（縮小画像）を生成し、生成した縮小画像を記憶部３０７に格納する。
【００３８】
前処理部３０２は、記憶部３０７から符号化対象画像の縮小画像と参照画像の縮小画像とを読み出し、それらの縮小画像を用いて、符号化対象画像内の各ブロックの動きベクトルを検出する。そして、前処理部３０２は、検出した動きベクトルを表すベクトル情報を動きベクトルバッファ３０３に格納する。参照画像の縮小画像としては、符号化対象画像よりも先に符号化済みの画像に対応する縮小画像を用いることができる。
【００３９】
制御部３０４の選択部１１２は、動画像符号化装置１０１に実装された符号化アルゴリズムに基づいて、符号化対象画像から符号化可能ブロックを抽出する。
【００４０】
複数の符号化可能ブロックが抽出された場合、選択部１１２は、動きベクトルバッファ３０３に格納されたベクトル情報に基づいて、各符号化可能ブロックを符号化するために記憶部３０７から参照画像バッファ３０５へ転送される参照画像の情報量を求める。そして、選択部１１２は、求めた参照画像の情報量に基づいて、複数の符号化可能ブロックの中から符号化対象ブロックを選択する。一方、単一の符号化可能ブロックが抽出された場合、選択部１１２は、その符号化可能ブロックを符号化対象ブロックとして選択する。
【００４１】
制御部３０４は、動きベクトルバッファ３０３に格納されたベクトル情報のうち、選択した符号化対象ブロックのベクトル情報を符号化部１１３に出力し、符号化対象ブロックの符号化を指示する。
【００４２】
動き検出部３１２は、符号化対象ブロックのベクトル情報に基づいて参照画像の探索範囲を決定し、記憶部３０７から探索範囲に対応する元の解像度の参照画像を読み出して、参照画像バッファ３０５に格納する。参照画像としては、符号化対象画像よりも先に符号化済みの画像に対応する再構成画像を用いることができる。そして、動き検出部３１２は、記憶部３０７から元の解像度の符号化対象ブロックの画像（原画像）を読み出して、原画像と探索範囲の参照画像との間でブロックマッチングを行い、符号化対象ブロックの動きベクトルを検出する。
【００４３】
動き補償部３１３は、動き検出部３１２が検出した動きベクトルに基づいて、インター予測符号化を行い、インター予測画像を生成する。イントラ予測部３１４は、逆量子化逆直交変換部３１８から出力される再構成画像を用いて、イントラ予測符号化を行い、イントラ予測画像を生成する。
【００４４】
予測画像選択部３１５は、インター予測画像又はイントラ予測画像のうちいずれか一方の予測画像を選択して、誤差画像生成部３１６へ出力する。誤差画像生成部３１６は、予測画像選択部３１５から出力される予測画像と原画像との差分を表す誤差画像を生成する。
【００４５】
直交変換量子化部３１７は、誤差画像生成部３１６が生成する誤差画像の直交変換及び量子化を行って、予測符号化された符号化ブロック画像を生成し、生成した符号化ブロック画像（量子化後の係数情報）を中間バッファ３２０に格納する。中間バッファ３２０には、動き検出部３１２が検出した動きベクトルやイントラ予測部３１４が検出したイントラ予測モード等の予測情報も格納される。
【００４６】
逆量子化逆直交変換部３１８は、係数情報の逆量子化及び逆直交変換を行って誤差画像を生成する。そして、逆量子化逆直交変換部３１８は、生成した誤差画像を予測画像選択部３１５から出力される予測画像に加算して、再構成画像を生成し、生成した再構成画像をイントラ予測部３１４へ出力する。
【００４７】
デブロッキングフィルタ３１９は、逆量子化逆直交変換部３１８が生成した再構成画像のフィルタ処理を行ってブロックノイズを除去し、フィルタ処理後の再構成画像を記憶部３０７に格納する。動き検出部３１２は、記憶部３０７に格納された再構成画像を、符号化対象ブロックよりも後に符号化される画像に対する参照画像として用いることができる。
【００４８】
エントロピー符号化部３２１は、中間バッファ３２０に格納された情報を用いて、符号化対象画像内の複数のブロックの係数情報及び予測情報をエントロピー符号化し、符号化対象画像の符号化結果である符号化ストリームを生成する。そして、エントロピー符号化部３２１は、生成した符号化ストリームを記憶部３０７に格納する。
【００４９】
出力部３０８は、記憶部３０７に格納された複数の符号化画像を含む符号化動画像（符号化ストリーム）を、動画像復号装置（不図示）へ出力する。
【００５０】
図３の構成によれば、符号化対象画像毎に以下の３段階の処理を行うことで、符号化動画像が生成される。
【００５１】
（１）前処理
前処理部３０２は、符号化対象画像の縮小画像と参照画像の縮小画像とを用いて、符号化対象画像内の各ブロックの動きベクトルを検出する。
【００５２】
（２）符号化ブロック画像生成
動き検出部３１２、動き補償部３１３、イントラ予測部３１４、予測画像選択部３１５、誤差画像生成部３１６、及び直交変換量子化部３１７は、符号化対象画像内の各ブロックの符号化ブロック画像を生成する。
【００５３】
（３）エントロピー符号化
エントロピー符号化部３２１は、符号化対象画像内の複数のブロックの係数情報及び予測情報をエントロピー符号化し、符号化ストリームを生成する。
【００５４】
図４は、このような３段階の処理の例を示すタイミングチャートである。ｎ−１番目の画像は、ｎ番目の画像の前に符号化される画像であり、ｎ＋１番目の画像は、ｎ番目の画像の次に符号化される画像である。したがって、各段階の処理においては、ｎ−３番目の画像、ｎ−２番目の画像、ｎ−１番目の画像、ｎ番目の画像、ｎ＋１番目の画像、ｎ＋２番目の画像の順に処理が行われる。
【００５５】
各画像に対する符号化ブロック画像生成は、その画像に対する前処理の開始よりも１画像期間（１フレーム期間）以上後に開始される。同様に、各画像に対するエントロピー符号化は、その画像に対する符号化ブロック画像生成の開始よりも１画像期間以上後に開始される。
【００５６】
この場合、制御部３０４が画像内の各ブロックのベクトル情報を動きベクトルバッファ３０３から読み出しながら、前処理部３０２が次の画像内の各ブロックのベクトル情報を動きベクトルバッファ３０３に書き込む。このため、動きベクトルバッファ３０３は、リード及びライトの２画像分のベクトル情報を記憶する容量を持つことが望ましい。
【００５７】
また、エントロピー符号化部３２１が画像内の各ブロックの情報を中間バッファ３２０から読み出しながら、直交変換量子化部３１７が次の画像内の各ブロックの情報を中間バッファ３２０に書き込む。このため、中間バッファ３２０は、リード及びライトの２画像分の情報を記憶する容量を持つことが望ましい。
【００５８】
符号化ブロック画像生成では、符号化対象画像内の複数のブロックが選択部１１２により選択された順序で処理される。一方、エントロピー符号化では、動画像符号化装置１０１に実装された符号化アルゴリズムに基づいて、それらのブロックが所定の順序で処理される。所定の順序としては、例えば、ラスタスキャンが用いられる。このように、符号化ブロック画像生成の処理順序とエントロピー符号化の処理順序とが異なる場合でも、リード及びライトの２画像分の情報を記憶する中間バッファ３２０を設けることで、処理順序を容易に変更することができる。
【００５９】
参照画像バッファ３０５の容量は、転送量を記憶部３０７の転送速度（バス３０９の転送速度）に基づく上限値以下に抑える制御の対象となる、連続する符号化対象ブロックの個数に応じて変化する。
【００６０】
連続するｍ個（ｍは２以上の整数）の符号化対象ブロックに対する転送量を上限値以下に抑える場合、参照画像バッファ３０５の容量Ｃｂは、例えば、次式で与えられる。
Ｃｂ＝１ブロックの画像データ量×ｍ×２      （１）
【００６１】
１ブロックの画像データ量としては、例えば、参照画像の１ブロックの画像データ量として想定される最大値を用いることができる。符号化ブロック画像生成では、動き検出部３１２が参照画像を参照画像バッファ３０５から読み出しながら、記憶部３０７から転送される参照画像が参照画像バッファ３０５に書き込まれる。このため、参照画像バッファ３０５は、リード及びライトの２種類の情報を記憶する容量を持つことが望ましい。係数２は、リード及びライトの２種類を表している。
【００６２】
式（１）の容量Ｃｂを持つ参照画像バッファ３０５を設けることで、符号化対象画像内のどの連続するｍ個のブロックに対する転送量も、上限値以下に抑えることができる。ｍの値が大きいほど、転送量を平均化する効果は高くなると考えられる。
【００６３】
次に、図５から図１３までを参照しながら、図３の動画像符号化装置１０１が行う動画像符号化処理についてより具体的に説明する。
【００６４】
図５は、動画像符号化装置１０１が行う符号化ブロック画像生成処理の第１の例を示すフローチャートである。
【００６５】
まず、制御部３０４の選択部１１２は、符号化対象画像内の未処理のブロックの中から符号化可能ブロックを抽出する（ステップ５０１）。次に、選択部１１２は、各符号化可能ブロックを符号化するために記憶部３０７から参照画像バッファ３０５へ転送される参照画像の情報量を計算する（ステップ５０２）。
【００６６】
そして、選択部１１２は、得られた参照画像の情報量が比較的大きな符号化可能ブロックを符号化対象ブロックとして選択する（ステップ５０３）。このとき、選択部１１２は、得られた参照画像の情報量が最も大きな符号化可能ブロックを選択してもよい。
【００６７】
符号化部１１３は、符号化対象ブロックを予測符号化して、符号化ブロック画像を生成する（ステップ５０４）。そして、制御部３０４は、符号化対象画像内のすべてのブロックが符号化されたか否かをチェックする（ステップ５０５）。
【００６８】
未処理のブロックが残っている場合（ステップ５０５，ＮＯ）、選択部１１２は、未処理のブロックの中から符号化可能ブロックを抽出する（ステップ５０６）。次に、選択部１１２は、各符号化可能ブロックを符号化するために転送される参照画像の情報量を計算する（ステップ５０７）。
【００６９】
そして、選択部１１２は、得られた参照画像の情報量が比較的小さな符号化可能ブロックを符号化対象ブロックとして選択する（ステップ５０８）。このとき、選択部１１２は、得られた参照画像の情報量が最も小さな符号化可能ブロックを選択してもよい。
【００７０】
符号化部１１３は、符号化対象ブロックを予測符号化して、符号化ブロック画像を生成する（ステップ５０９）。そして、制御部３０４は、符号化対象画像内のすべてのブロックが符号化されたか否かをチェックする（ステップ５１０）。未処理のブロックが残っている場合（ステップ５１０，ＮＯ）、制御部３０４は、ステップ５０１以降の処理を繰り返す。
【００７１】
ステップ５０５又はステップ５１０においてすべてのブロックが符号化されている場合（ステップ５０５又はステップ５１０，ＹＥＳ）、制御部３０４は、符号化ブロック画像生成処理を終了する。
【００７２】
図６は、図５のステップ５０１及びステップ５０６で行われる符号化可能ブロック抽出処理の例を示すフローチャートである。
【００７３】
まず、選択部１１２は、動画像符号化装置１０１に実装された符号化アルゴリズムに基づいて、依存するブロックが符号化済み又は画面外であるようなブロックを、符号化可能ブロックの候補として抽出する（ステップ６０１）。
【００７４】
図７は、ラスタスキャンを採用する符号化アルゴリズムに基づくブロック間の依存関係の例を示している。ブロック７０１のイントラ予測符号化では、左上ブロック７１１、上ブロック７１２、右上ブロック７１３、又は左ブロック７１４の符号化結果の情報を用いて、ブロック７０１が符号化される場合がある。
【００７５】
また、ブロック毎にインター予測符号化又はイントラ予測符号化のいずれか一方を選択できる符号化アルゴリズムでは、ブロック７０１のインター予測符号化及びイントラ予測符号化の両方が行われる場合がある。この場合、符号化効率等の指標に基づいて、インター予測符号化の符号化結果又はイントラ予測符号化の符号化結果のいずれか一方が選択される。
【００７６】
このように、ブロック７０１の符号化結果は、左上ブロック７１１、上ブロック７１２、右上ブロック７１３、及び左ブロック７１４の符号化結果に依存する。言い換えれば、ブロック７０１は、左上ブロック７１１、上ブロック７１２、右上ブロック７１３、及び左ブロック７１４に依存する。
【００７７】
したがって、ブロック７１１〜ブロック７１４のすべてが符号化済みである場合、ブロック７０１は、符号化可能ブロックの候補として抽出される。一方、ブロック７１１〜ブロック７１４のいずれかが符号化されていない場合、ブロック７０１は、符号化可能ブロックの候補として抽出されない。
【００７８】
なお、画面の左端又は上端の部分では、左上ブロック７１１、上ブロック７１２、右上ブロック７１３、又は左ブロック７１４の位置が画面外に対応する場合がある。この場合、ブロック７０１の符号化結果は、画面外の位置には依存しない。したがって、ブロック７１１〜ブロック７１４の一部又は全部が画面外である場合も、ブロック７０１は、符号化可能ブロックの候補として抽出される。
【００７９】
次に、選択部１１２は、符号化可能ブロックの候補のうち、所定数以下の個数のブロックを符号化可能ブロックとして選択する（ステップ６０２）。こうして選択された複数の符号化可能ブロックの各々の符号化結果は、他の符号化可能ブロックの符号化結果には依存しない。言い換えれば、各符号化可能ブロックは、他の符号化可能ブロックの符号化結果を用いることなく符号化することができる。
【００８０】
このような符号化可能ブロック抽出処理によれば、１つのブロックの符号化処理が終了する度に、未処理のブロックの中から互いに依存関係にない複数のブロックを抽出することができる。
【００８１】
図８は、抽出された符号化可能ブロックの例を示している。この例では、ステップ６０２の所定数は４個に設定されている。まず、図８（ａ）に示すように、符号化対象画像内のいずれのブロックも未処理である場合、左上端のブロック８０１が符号化可能ブロックとして抽出される。
【００８２】
次に、図８（ｂ）に示すように、ブロック８０１が符号化されると、ブロック８０１の右側のブロック８０２が符号化可能ブロックとして抽出される。
【００８３】
次に、図８（ｃ）に示すように、ブロック８０２が符号化されると、ブロック８０２の右側のブロック８０３とブロック８０１の下側のブロック８０４とが符号化可能ブロックとして抽出される。
【００８４】
次に、図８（ｄ）に示すように、ブロック８０３が符号化対象ブロックとして選択されて符号化されると、ブロック８０４とブロック８０３の右側のブロック８０５とが符号化可能ブロックとして抽出される。
【００８５】
次に、図８（ｅ）に示すように、ブロック８０４が符号化対象ブロックとして選択されて符号化されると、ブロック８０５とブロック８０４の右側のブロック８０６とが符号化可能ブロックとして抽出される。
【００８６】
このような符号化可能ブロック抽出処理が繰り返された後、図８（ｆ）に示すように、ブロック８０７〜ブロック８１１が符号化可能ブロックの候補として抽出される。この場合、符号化可能ブロックの最大数は４個に制限されているため、画面内で上から下に向かって４個のブロックが符号化可能ブロックとして選択される。したがって、ブロック８０７〜ブロック８１０が選択され、ブロック８１１は選択されない。
【００８７】
符号化対象画像内の複数のブロックをラスタスキャンの順序で符号化する場合、符号化対象ブロックの位置が連続的に変化するため、符号化に用いられる情報を記憶するコンテキストメモリの容量は１ブロック分で足りる。しかし、図８に示すように、符号化対象ブロックの位置がランダムに変化する場合、コンテキストメモリの容量は、符号化可能ブロックの個数とともに増加する。そこで、コンテキストメモリのハードウェア量の制約に基づいてステップ６０２の所定数を決定することで、ハードウェア量の増加を抑えることが可能になる。
【００８８】
図９は、図５のステップ５０２又はステップ５０７において、参照画像の情報量を計算する計算処理の例を示している。
【００８９】
図９（ａ）は、前処理部３０２が符号化対象画像の縮小画像と参照画像の縮小画像とを用いて検出した動きベクトルを示している。ブロック９０２は、符号化対象画像の縮小画像内における符号化対象ブロックであり、ブロック９０１は、符号化対象ブロックの前に符号化されたブロックである。動きベクトル９１１は、ブロック９０１の参照先のブロック９２１を示す動きベクトルであり、動きベクトル９１２は、ブロック９０２の参照先のブロック９２２を示す動きベクトルである。
【００９０】
図９（ｂ）は、動き検出部３１２が動きベクトルを探索する参照画像の探索範囲を示している。選択部１１２は、ブロック９０２のベクトル情報が表す動きベクトル９１２を、縮小画像の生成に用いられたスケールで拡大して、元の解像度の符号化対象画像内のブロック９３１の位置を求める。そして、選択部１１２は、ブロック９３１を周辺数画素分だけ拡大して、探索範囲９３２を決定する。周辺数画素としては、３画素、６画素等を用いることができる。
【００９１】
例えば、ブロック９３１のサイズが１６×１６画素である場合、ブロック９３１を周辺３画素分だけ拡大すると探索範囲９３２のサイズは２２×２２画素となり、周辺６画素分だけ拡大すると探索範囲９３２のサイズは２８×２８画素となる。
【００９２】
図９（ｃ）は、記憶部３０７のメモリアライメントを示している。各矩形９４１は、記憶部３０７内のアクセス単位を表し、領域９５１は、ブロック９０１の動きベクトル９１１から求められた探索範囲に対応し、領域９５２は、ブロック９０２の動きベクトル９１２から求められた探索範囲９３２に対応する。アクセス単位のサイズとしては、８×４画素、１６×２画素、３２×１画素、１６×８画素等を用いることができる。
【００９３】
図９（ｄ）は、領域９５１及び領域９５２の画像データを読み出す際に、記憶部３０７から参照画像バッファ３０５へ転送される画像データを示している。領域９５１の画像データを読み出す際には、１５個のアクセス単位の画像データ９６１が参照画像バッファ３０５へ転送される。
【００９４】
一方、領域９５２の画像データを読み出す際には、既に転送済みの４個のアクセス単位を除く、１１個のアクセス単位の画像データ９６２が参照画像バッファ３０５へ転送される。そこで、選択部１１２は、１１個のアクセス単位の画像データ９６２のデータ量を計算し、計算したデータ量を符号化対象ブロックに対する参照画像の情報量として記録する。
【００９５】
このように、メモリアライメントを考慮した場合、符号化対象ブロックを符号化するために記憶部３０７から転送される参照画像の情報量は、全探索範囲に対応する情報量から既に転送済みの情報量を減算した値になる。
【００９６】
符号化対象画像内の動きの大きい領域では、ブロック９０１の動きベクトル９１１とブロック９０２の動きベクトル９１２との相違度が大きいため、記憶部３０７内における領域９５１と領域９５２との重複部分が小さくなる。したがって、ブロック９０２に対する参照画像の情報量は大きくなると考えられる。
【００９７】
一方、動きの小さい領域では、ブロック９０１の動きベクトル９１１とブロック９０２の動きベクトル９１２との相違度が小さいため、記憶部３０７内における領域９５１と領域９５２との重複部分が大きくなる。したがって、ブロック９０２に対する参照画像の情報量は小さくなると考えられる。
【００９８】
図１０は、図５のステップ５０１又はステップ５０６において抽出される複数の符号化可能ブロックの例を示している。この例では、ブロックＡ、ブロックＢ、ブロックＣ、及びブロックＤの４個のブロックが符号化可能ブロックとして抽出されている。このうち、ブロックＤは、動きの大きい領域１００１に含まれるため、ブロックＤに対する参照画像の転送量は大きくなる。また、ブロックＡは、動きの小さい領域１００２に含まれるため、ブロックＡに対する参照画像の転送量は小さくなる。
【００９９】
図１１は、図１０の符号化可能ブロックに対する転送処理及び演算処理の例を示すタイミングチャートである。この例では、式（１）のｍは２であり、連続する２個の符号化対象ブロックに対する転送量を上限値以下に抑えるものとする。この場合、２ブロックを処理単位として、記憶部３０７から参照画像バッファ３０５への転送処理と、参照画像バッファ３０５の画像データを用いた予測符号化の演算処理とが、パイプライン方式で行われる。
【０１００】
図５の符号化ブロック画像生成処理では、１つの符号化対象ブロックを符号化する度に符号化可能ブロック抽出処理が行われるため、実際には、別のブロックが新たな符号化可能ブロックとして追加される。例えば、図１０のブロックＡが符号化された後、ブロックＡ’が符号化可能ブロックとして追加され、ブロックＢが符号化された後、ブロックＢ’が符号化可能ブロックとして追加される。また、ブロックＣが符号化された後、ブロックＣ’が符号化可能ブロックとして追加され、ブロックＤが符号化された後、ブロックＤ’が符号化可能ブロックとして追加される。
【０１０１】
しかし、図１１の転送処理及び演算処理では、説明を簡略化するために、ブロックＡ、ブロックＢ、ブロックＣ、及びブロックＤのみが用いられている。
【０１０２】
図１１（ａ）は、ブロックＡ、ブロックＢ、ブロックＣ、及びブロックＤの順序で転送処理及び演算処理を行った場合のタイミングチャートである。この場合、期間＃０では、ブロックＡ及びブロックＢの転送処理が行われ、期間＃１では、ブロックＣ及びブロックＤの転送処理と、ブロックＡ及びブロックＢの演算処理とが行われる。しかし、期間＃０の転送量と期間＃１の転送量とがうまく平均化されず、ブロックＣ及びブロックＤに対する転送量が２ブロックに対する上限値を超えてしまう。このため、ブロックＡ及びブロックＢの演算処理が終了しても、ブロックＤの転送処理が終了しない。
【０１０３】
図１１（ｂ）は、ブロックＤ、ブロックＡ、ブロックＢ、及びブロックＣの順序で転送処理及び演算処理を行った場合のタイミングチャートである。この場合、期間＃０では、ブロックＤ及びブロックＡの転送処理が行われ、期間＃１では、ブロックＢ及びブロックＣの転送処理と、ブロックＤ及びブロックＡの演算処理とが行われる。転送量が大きいブロックＤと転送量が小さいブロックＡとを１つの処理単位に含めることで、期間＃０の転送量と期間＃１の転送量とが平均化され、いずれの期間の転送量も２ブロックに対する上限値を超えていない。
【０１０４】
図５の符号化ブロック画像生成処理では、計算した参照画像の情報量が比較的大きな符号化可能ブロックと比較的小さな符号化可能ブロックとが、交互に符号化対象ブロックとして選択される。したがって、参照画像バッファ３０５の容量を増やすことなく、連続する複数の符号化対象ブロックに対して記憶部３０７から読み出される参照画像の転送量を平均化することができる。
【０１０５】
図１２は、動画像符号化装置１０１が行う符号化ブロック画像生成処理の第２の例を示すフローチャートである。この符号化ブロック画像生成処理では、連続するｍ個のブロックに対する参照画像の転送量の平均値が、１ブロックに対する転送量の上限値Ｍをなるべく超えないように制御される。この平均値は、直前に符号化されたｍ−１個のブロックに対する参照画像の転送量と符号化対象ブロックに対する参照画像の転送量との和をｍで除算して得られる値に対応する。
【０１０６】
まず、制御部３０４の選択部１１２は、記憶部３０７の転送速度Ｘに基づいて上限値Ｍを計算する（ステップ１２０１）。上限値Ｍは、例えば、転送速度Ｘ（ｂｙｔｅ／ｓｅｃ）、符号化フレームレートＹ（ｆｐｓ）、及び１フレーム当たりのブロック数Ｚを用いて、次式により計算される。
Ｍ＝Ｘ／（Ｙ×Ｚ）      （２）
【０１０７】
次に、選択部１１２は、上限値Ｍを用いて閾値Ｒを計算する（ステップ１２０２）。閾値Ｒは、例えば、上限値Ｍと、１以上ｍ以下の整数ｋとを用いて、次式により計算される。
Ｒ＝ｍ×Ｍ／ｋ      （３）
【０１０８】
次に、選択部１１２は、図５の符号化ブロック画像生成処理と同様にして、符号化対象画像内の未処理のブロックの中から符号化可能ブロックを抽出する（ステップ１２０３）。そして、選択部１１２は、図５の符号化ブロック画像生成処理と同様にして、各符号化可能ブロックを符号化するために記憶部３０７から参照画像バッファ３０５へ転送される参照画像の情報量を計算する（ステップ１２０４）。
【０１０９】
次に、選択部１１２は、得られた参照画像の情報量が閾値Ｒ以下の符号化可能ブロックを符号化対象ブロックの候補として抽出する（ステップ１２０５）。そして、選択部１１２は、符号化対象ブロックの候補のうち、参照画像の情報量が比較的大きな符号化可能ブロックを符号化対象ブロックとして選択する（ステップ１２０６）。このとき、選択部１１２は、得られた参照画像の情報量が最も大きな符号化可能ブロックを選択してもよい。
【０１１０】
ステップ１２０２における閾値Ｒの計算は、符号化対象画像から最初の符号化対象ブロックを選択する際に行われる。例えば、式（３）においてｋ＝ｍの場合、Ｒ＝Ｍとなり、参照画像の情報量が上限値Ｍ以下の符号化可能ブロックの中から、符号化対象ブロックが選択される。
【０１１１】
ステップ１２０５においてすべての符号化可能ブロックの参照画像の情報量が閾値Ｒより大きい場合、選択部１１２は、参照画像の情報量が最も小さな符号化可能ブロックを符号化対象ブロックとして選択する。
【０１１２】
符号化部１１３は、符号化対象ブロックを予測符号化して、符号化ブロック画像を生成する（ステップ１２０７）。そして、制御部３０４は、符号化対象画像内のすべてのブロックが符号化されたか否かをチェックする（ステップ１２０８）。
【０１１３】
未処理のブロックが残っている場合（ステップ１２０８，ＮＯ）、選択部１１２は、上限値Ｍを用いて閾値Ｒを計算し（ステップ１２０９）、ステップ１２０３以降の処理を繰り返す。
【０１１４】
ステップ１２０９において、閾値Ｒは、例えば、上限値Ｍと、直前に符号化されたｍ−１個のブロックに対する参照画像の転送量Ｑとを用いて、次式により計算される。
Ｒ＝ｍ×Ｍ−Ｑ      （４）
【０１１５】
式（４）の閾値Ｒは、連続するｍ個のブロックに対する転送量の上限値ｍ×Ｍから、直前に符号化されたｍ−１個のブロックに対する参照画像の転送量Ｑを除いた、残りの情報量を表している。
【０１１６】
参照画像内の探索範囲をどんなに狭めたとしても、符号化対象ブロックのサイズが限界となるため、閾値Ｒが０又は一定値以下になると、動きベクトル検出及びインター予測符号化を行うことが難しくなる。このため、転送量Ｑがどんなに大きくても、Ｒが１ブロック当たりの最小転送量Ｐより小さくならないようにすることが望ましい。そこで、選択部１１２は、式（４）のＲが最小転送量Ｐよりも小さい場合、Ｒ＝Ｐとする。
【０１１７】
ステップ１２０８においてすべてのブロックが符号化されている場合（ステップ１２０８，ＹＥＳ）、制御部３０４は、符号化ブロック画像生成処理を終了する。
【０１１８】
図１３は、図１２のステップ１２０５及びステップ１２０６において、符号化対象ブロックを選択する選択処理の例を示している。この例では、ｍ＝２、Ｍ＝５００である。
【０１１９】
図１３（ａ）は、ブロック１３０２の符号化が終了し、ブロック１３０１、ブロック１３０３、ブロック１３０４、及びブロック１３０５が符号化可能ブロックとして抽出された状態を示している。この状態では、直前に符号化されたｍ−１個のブロックは、ブロック１３０２のみであるため、転送量Ｑとしては、ブロック１３０２に対する参照画像の転送量５００が用いられる。したがって、式（４）より、Ｒ＝１０００−５００＝５００となる。
【０１２０】
一方、ブロック１３０１、ブロック１３０３、ブロック１３０４、及びブロック１３０５に対する参照画像の転送量は、それぞれ、６００、３００、４００、及び７００である。そこで、ステップ１２０５において、参照画像の転送量が５００以下であるブロック１３０３及びブロック１３０４が、符号化対象ブロックの候補として抽出され、ステップ１２０６において、ブロック１３０４が符号化対象ブロックとして選択される。
【０１２１】
図１３（ｂ）は、ブロック１３０４の符号化が終了し、ブロック１３０１、ブロック１３０３、及びブロック１３０５が符号化可能ブロックとして抽出された状態を示している。この状態では、転送量Ｑとして、ブロック１３０４に対する参照画像の転送量４００が用いられ、式（４）より、Ｒ＝１０００−４００＝６００となる。
【０１２２】
一方、ブロック１３０１、ブロック１３０３、及びブロック１３０５に対する参照画像の転送量は、それぞれ、６００、３００、及び７００である。そこで、ステップ１２０５において、参照画像の転送量が６００以下であるブロック１３０１及びブロック１３０３が、符号化対象ブロックの候補として抽出され、ステップ１２０６において、ブロック１３０１が符号化対象ブロックとして選択される。
【０１２３】
図１３（ｃ）は、ブロック１３０１の符号化が終了し、ブロック１３０６、ブロック１３０３、及びブロック１３０５が符号化可能ブロックとして抽出された状態を示している。この状態では、転送量Ｑとして、ブロック１３０１に対する参照画像の転送量６００が用いられ、式（４）より、Ｒ＝１０００−６００＝４００となる。
【０１２４】
一方、ブロック１３０６、ブロック１３０３、及びブロック１３０５に対する参照画像の転送量は、それぞれ、２００、３００、及び７００である。そこで、ステップ１２０５において、参照画像の転送量が４００以下であるブロック１３０６及びブロック１３０３が、符号化対象ブロックの候補として抽出され、ステップ１２０６において、ブロック１３０３が符号化対象ブロックとして選択される。
【０１２５】
図１３（ｄ）は、ブロック１３０３の符号化が終了し、ブロック１３０６、ブロック１３０７、ブロック１３０８、及びブロック１３０５が符号化可能ブロックとして抽出された状態を示している。この状態では、転送量Ｑとして、ブロック１３０３に対する参照画像の転送量３００が用いられ、式（４）より、Ｒ＝１０００−３００＝７００となる。
【０１２６】
一方、ブロック１３０６、ブロック１３０７、ブロック１３０８、及びブロック１３０５に対する参照画像の転送量は、それぞれ、２００、５００、５００、及び７００である。そこで、ステップ１２０５において、参照画像の転送量が７００以下であるブロック１３０６、ブロック１３０７、ブロック１３０８、及びブロック１３０５が、符号化対象ブロックの候補として抽出される。そして、ステップ１２０６において、ブロック１３０５が符号化対象ブロックとして選択される。
【０１２７】
図１２の符号化ブロック画像生成処理では、ｍ個のブロックに対する転送量の上限値からｍ−１個のブロックに対する転送量を除いた残りの情報量が、符号化対象ブロックを選択するための閾値Ｒとして用いられる。そして、計算した参照画像の情報量が閾値Ｒ以下であり、かつ、その情報量が比較的大きな符号化可能ブロックが、符号化対象ブロックとして選択される。
【０１２８】
したがって、連続するｍ個の符号化対象ブロックに対して記憶部３０７から読み出される参照画像の転送量が、ｍ個のブロックに対する転送量の上限値をなるべく超えないように、参照画像の転送量を制御することができる。また、参照画像バッファ３０５の容量を増やすことなく、参照画像の転送量を制御することができる。
【０１２９】
このとき、式（２）〜式（４）に示したように、符号化対象ブロックを選択するための閾値Ｒを記憶部３０７の転送速度Ｘに基づいて決定することで、転送速度Ｘに応じて参照画像の転送量を制御することが可能になる。
【０１３０】
ところで、図３の動画像符号化装置１０１は、画面全体の画像を１つの符号化対象画像として符号化する代わりに、画面を複数の領域に分割して、各領域の画像を符号化対象画像として符号化することも可能である。このような分割領域は、スライス又はタイルと呼ばれることがある。
【０１３１】
画面を複数の領域に分割して、各領域の符号化処理では、他の領域の画素値、符号化結果等の情報を用いないことにより、複数の領域の符号化処理を並列に実行することが可能になる。
【０１３２】
図１４は、画面を領域１４０１〜領域１４０４の４つの領域に分割した例を示している。この場合、図３の符号化部１１３、縮小画像生成部３０１、前処理部３０２、動きベクトルバッファ３０３、及び制御部３０４が各領域に対して設けられ、領域毎に動画像符号化処理が行われる。
【０１３３】
図１及び図３の動画像符号化装置１０１の構成は一例に過ぎず、動画像符号化装置１０１の用途や条件に応じて一部の構成要素を省略又は変更してもよい。
【０１３４】
例えば、図３の入力部３０６、記憶部３０７、出力部３０８、及びバス３０９が動画像符号化装置１０１の外部に設けられている場合、入力部３０６、記憶部３０７、出力部３０８、及びバス３０９を省略することができる。
【０１３５】
選択部１１２が、前処理部３０２が検出する動きベクトル以外の情報に基づいて参照画像の情報量を計算する場合、縮小画像生成部３０１、前処理部３０２、及び動きベクトルバッファ３０３を省略することができる。
【０１３６】
誤差画像生成部３１６が生成する誤差画像の直交変換及び量子化の代わりに、別の変換アルゴリズムを使用する場合、直交変換量子化部３１７及び逆量子化逆直交変換部３１８を別の変換部に変更することができる。また、中間バッファ３２０に格納された情報のエントロピー符号化の代わりに、別の符号化アルゴリズムを使用する場合、エントロピー符号化部３２１を別の符号化部に変更することができる。
【０１３７】
逆量子化逆直交変換部３１８が生成する再構成画像においてブロックノイズがあまり発生しない場合、デブロッキングフィルタ３１９を省略することができる。
【０１３８】
図２、図５、図６、及び図１２に示したフローチャートは一例に過ぎず、動画像符号化装置１０１の構成や条件に応じて一部の処理を省略又は変更してもよい。例えば、図５の符号化ブロック画像生成処理において、ステップ５０３の処理とステップ５０８の処理とを入れ替えてもよい。
【０１３９】
図７のブロック間の依存関係は一例に過ぎず、符号化対象ブロックの符号化結果は、左上ブロック、上ブロック、右上ブロック、又は左ブロックのうち一部のブロックの符号化結果のみに依存してもよい。また、符号化対象ブロックの符号化結果は、左上、上、右上、及び左以外の位置のブロックの符号化結果に依存してもよい。
【０１４０】
各ブロックを符号化するために記憶部３０７から参照画像バッファ３０５へ転送される参照画像の情報量は、図３の前処理部３０２が検出する動きベクトルに基づいて計算される。このため、選択部１１２の代わりに、前処理部３０２が参照画像の情報量を計算することも可能である。
【０１４１】
この場合、前処理部３０２は、選択部１１２が符号化対象ブロックを選択する順序の代わりに、動画像符号化装置１０１に実装された符号化アルゴリズムに基づく所定の順序を、符号化対象画像内の全ブロックの処理順序として用いることができる。そして、前処理部３０２は、その所定の順序で各ブロックが予測符号化される場合の各ブロックに対する参照画像の情報量を計算する。
【０１４２】
この計算方法によれば、参照画像の情報量の精度は低くなるが、選択部１１２の処理負荷は軽減される。前処理部３０２が予め全ブロックに対する参照画像の情報量を計算して制御部３０４へ出力する場合、図５のステップ５０２及びステップ５０７の処理を省略することができる。
【０１４３】
あるいは、ステップ５０２及びステップ５０７において、選択部１１２は、図９に示した計算処理以外の計算方法により、参照画像の情報量を計算してもよい。例えば、選択部１１２は、前処理部３０２が検出する動きベクトル以外の情報に基づいて、参照画像の情報量を計算することができる。
【０１４４】
図６の符号化可能ブロック抽出処理において、抽出される符号化可能ブロックの個数を制限する必要がない場合、ステップ６０２の処理を省略することができる。
【０１４５】
図１２の符号化ブロック画像生成処理のステップ１２０１において、選択部１１２は、式（２）以外の計算方法により上限値Ｍを計算してもよい。また、上限値Ｍが決められている場合、ステップ１２０１の処理を省略することができる。
【０１４６】
選択部１１２は、ステップ１２０２において、式（３）以外の計算方法により閾値Ｒを計算してもよく、ステップ１２０９において、式（４）以外の計算方法により閾値Ｒを計算してもよい。
【０１４７】
前処理部３０２が予め全ブロックに対する参照画像の情報量を計算して制御部３０４へ出力する場合、図１２のステップ１２０４の処理を省略することができる。あるいは、ステップ１２０４において、選択部１１２は、図９に示した計算処理以外の計算方法により、参照画像の情報量を計算してもよい。例えば、選択部１１２は、前処理部３０２が検出する動きベクトル以外の情報に基づいて、参照画像の情報量を計算することができる。
【０１４８】
さらに、図３の符号化部１１３は、動きベクトル検出以外の処理のために、記憶部３０７から参照画像以外の参照情報を読み出すこともできる。この場合、図５のステップ５０２及びステップ５０７と図１２のステップ１２０４において、選択部１１２は、参照画像の情報量の代わりに、参照画像以外の参照情報の情報量を計算する。
【０１４９】
図１及び図３の動画像符号化装置１０１において、符号化部１１３、縮小画像生成部３０１、前処理部３０２、及び制御部３０４は、ハードウェア回路として実装することもでき、図１５に示すような情報処理装置（コンピュータ）を用いて実現することもできる。
【０１５０】
図１５の情報処理装置は、Central Processing Unit（ＣＰＵ）１５０１、メモリ１５０２、入力装置１５０３、出力装置１５０４、補助記憶装置１５０５、媒体駆動装置１５０６、及びネットワーク接続装置１５０７を含む。さらに、情報処理装置は、メモリ１５０８及び動画像入力装置１５０９を含む。これらの構成要素はバス１５１０により互いに接続されている。
【０１５１】
メモリ１５０２及びメモリ１５０８は、例えば、Read Only Memory（ＲＯＭ）、Random Access Memory（ＲＡＭ）、フラッシュメモリ等の半導体メモリである。メモリ１５０２は、動画像符号化処理に用いられる動画像符号化プログラム及びデータを格納する。メモリ１５０２は、図１のバッファ１１１として用いることもでき、図３の動きベクトルバッファ３０３、参照画像バッファ３０５、及び中間バッファ３２０として用いることもできる。バス１５１０及びメモリ１５０８は、図３のバス３０９及び記憶部３０７にそれぞれ対応する。
【０１５２】
ＣＰＵ１５０１（プロセッサ）は、例えば、メモリ１５０２を利用して動画像符号化プログラムを実行することにより、図１及び図３の選択部１１２及び符号化部１１３として動作する。ＣＰＵ１５０１は、図３の縮小画像生成部３０１、前処理部３０２、制御部３０４、動き検出部３１２、動き補償部３１３、イントラ予測部３１４、予測画像選択部３１５、及び誤差画像生成部３１６としても動作する。ＣＰＵ１５０１は、直交変換量子化部３１７、逆量子化逆直交変換部３１８、デブロッキングフィルタ３１９、及びエントロピー符号化部３２１としても動作する。
【０１５３】
入力装置１５０３は、例えば、キーボード、ポインティングデバイス等であり、ユーザ又はオペレータからの指示や情報の入力に用いられる。出力装置１５０４は、例えば、表示装置、プリンタ、スピーカ等であり、ユーザ又はオペレータへの問い合わせや処理結果の出力に用いられる。
【０１５４】
補助記憶装置１５０５は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。補助記憶装置１５０５は、ハードディスクドライブであってもよい。情報処理装置は、補助記憶装置１５０５に動画像符号化プログラム及びデータを格納しておき、それらをメモリ１５０２にロードして使用することができる。
【０１５５】
媒体駆動装置１５０６は、可搬型記録媒体１５１１を駆動し、その記録内容にアクセスする。可搬型記録媒体１５１１は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。可搬型記録媒体１５１１は、Compact Disk Read Only Memory（ＣＤ−ＲＯＭ）、Digital Versatile Disk（ＤＶＤ）、又はUniversal Serial Bus（ＵＳＢ）メモリであってもよい。ユーザ又はオペレータは、この可搬型記録媒体１５１１に動画像符号化プログラム及びデータを格納しておき、それらをメモリ１５０２にロードして使用することができる。
【０１５６】
このように、動画像符号化プログラム及びデータを格納するコンピュータ読み取り可能な記録媒体は、メモリ１５０２、補助記憶装置１５０５、又は可搬型記録媒体１５１１のような、物理的な（非一時的な）記録媒体である。
【０１５７】
ネットワーク接続装置１５０７は、Local Area Network（ＬＡＮ）、インターネット等の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェースである。ネットワーク接続装置１５０７は、図３の出力部３０８として用いることもできる。情報処理装置は、動画像符号化プログラム及びデータを外部の装置からネットワーク接続装置１５０７を介して受信し、それらをメモリ１５０２にロードして使用することもできる。動画像入力装置１５０９は、図３の入力部３０６に対応する。
【０１５８】
なお、情報処理装置が図１５のすべての構成要素を含む必要はなく、用途や条件に応じて一部の構成要素を省略することも可能である。例えば、ユーザ又はオペレータとのインタフェースが不要の場合は、入力装置１５０３及び出力装置１５０４を省略してもよい。また、情報処理装置が可搬型記録媒体１５１１にアクセスしない場合は、媒体駆動装置１５０６を省略してもよい。
【０１５９】
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
【０１６０】
図１乃至図１５を参照しながら説明した実施形態に関し、さらに以下の付記を開示する。
（付記１）
動画像に含まれる符号化対象画像を符号化するために参照される参照情報を記憶する記憶部から転送される前記参照情報を記憶するバッファと、
前記符号化対象画像内の複数の符号化可能ブロックの各々を符号化するために前記記憶部から前記バッファへ転送される前記参照情報の情報量に基づいて、前記複数の符号化可能ブロックの中から符号化対象ブロックを選択する選択部と、
前記バッファへ転送される前記参照情報を用いて、前記選択部が選択した前記符号化対象ブロックを符号化する符号化部と、
を備えることを特徴とする動画像符号化装置。
（付記２）
前記複数の符号化可能ブロックの各々の符号化結果は、前記複数の符号化可能ブロックのうち他の符号化可能ブロックの符号化結果に依存しないことを特徴とする付記１記載の動画像符号化装置。
（付記３）
前記選択部は、前記複数の符号化可能ブロックのうち、前記バッファへ転送される前記参照情報の情報量が比較的大きな符号化可能ブロックを前記符号化対象ブロックとして選択した後、選択した前記符号化可能ブロックを除く複数の符号化可能ブロックのうち、前記バッファへ転送される前記参照情報の情報量が比較的小さな符号化可能ブロックを次の符号化対象ブロックとして選択することを特徴とする付記１又は２記載の動画像符号化装置。
（付記４）
前記選択部は、前記複数の符号化可能ブロックのうち、前記バッファへ転送される前記参照情報の情報量が閾値以下であるとともに、前記バッファへ転送される前記参照情報の情報量が比較的大きな符号化可能ブロックを、前記符号化対象ブロックとして選択することを特徴とする付記１又は２記載の動画像符号化装置。
（付記５）
前記閾値は、前記記憶部から前記バッファへ前記参照情報が転送される転送速度に基づいて決定されることを特徴とする付記４記載の動画像符号化装置。
（付記６）
動画像に含まれる符号化対象画像を符号化するために参照される参照情報を記憶する記憶部からバッファへ、前記符号化対象画像内の複数の符号化可能ブロックの各々を符号化するために転送される、前記参照情報の情報量に基づいて、前記複数の符号化可能ブロックの中から符号化対象ブロックを選択し、
前記バッファへ転送される前記参照情報を用いて、前記符号化対象ブロックを符号化する、
ことを特徴とする動画像符号化方法。
（付記７）
前記複数の符号化可能ブロックの各々の符号化結果は、前記複数の符号化可能ブロックのうち他の符号化可能ブロックの符号化結果に依存しないことを特徴とする付記６記載の動画像符号化方法。
（付記８）
前記複数の符号化可能ブロックのうち、前記バッファへ転送される前記参照情報の情報量が比較的大きな符号化可能ブロックを前記符号化対象ブロックとして選択した後、選択した前記符号化可能ブロックを除く複数の符号化可能ブロックのうち、前記バッファへ転送される前記参照情報の情報量が比較的小さな符号化可能ブロックを次の符号化対象ブロックとして選択することを特徴とする付記６又は７記載の動画像符号化方法。
（付記９）
前記複数の符号化可能ブロックのうち、前記バッファへ転送される前記参照情報の情報量が閾値以下であるとともに、前記バッファへ転送される前記参照情報の情報量が比較的大きな符号化可能ブロックを、前記符号化対象ブロックとして選択することを特徴とする付記６又は７記載の動画像符号化方法。
（付記１０）
前記閾値は、前記記憶部から前記バッファへ前記参照情報が転送される転送速度に基づいて決定されることを特徴とする付記９記載の動画像符号化方法。
（付記１１）
動画像に含まれる符号化対象画像を符号化するために参照される参照情報を記憶する記憶部からバッファへ、前記符号化対象画像内の複数の符号化可能ブロックの各々を符号化するために転送される、前記参照情報の情報量に基づいて、前記複数の符号化可能ブロックの中から符号化対象ブロックを選択し、
前記バッファへ転送される前記参照情報を用いて、前記符号化対象ブロックを符号化する、
処理をコンピュータに実行させる動画像符号化プログラム。
（付記１２）
前記複数の符号化可能ブロックの各々の符号化結果は、前記複数の符号化可能ブロックのうち他の符号化可能ブロックの符号化結果に依存しないことを特徴とする付記１１記載の動画像符号化プログラム。
（付記１３）
前記コンピュータは、前記複数の符号化可能ブロックのうち、前記バッファへ転送される前記参照情報の情報量が比較的大きな符号化可能ブロックを前記符号化対象ブロックとして選択した後、選択した前記符号化可能ブロックを除く複数の符号化可能ブロックのうち、前記バッファへ転送される前記参照情報の情報量が比較的小さな符号化可能ブロックを次の符号化対象ブロックとして選択することを特徴とする付記１１又は１２記載の動画像符号化プログラム。
（付記１４）
前記コンピュータは、前記複数の符号化可能ブロックのうち、前記バッファへ転送される前記参照情報の情報量が閾値以下であるとともに、前記バッファへ転送される前記参照情報の情報量が比較的大きな符号化可能ブロックを、前記符号化対象ブロックとして選択することを特徴とする付記１１又は１２記載の動画像符号化プログラム。
（付記１５）
前記閾値は、前記記憶部から前記バッファへ前記参照情報が転送される転送速度に基づいて決定されることを特徴とする付記１４記載の動画像符号化プログラム。
【符号の説明】
【０１６１】
１０１  動画像符号化装置
１１１  バッファ
１１２  選択部
１１３  符号化部
３０１  縮小画像生成部
３０２  前処理部
３０３  動きベクトルバッファ
３０４  制御部
３０５  参照画像バッファ
３０６  入力部
３０７  記憶部
３０８  出力部
３０９、１５１０  バス
３１２  動き検出部
３１３  動き補償部
３１４  イントラ予測部
３１５  予測画像選択部
３１６  誤差画像生成部
３１７  直交変換量子化部
３１８  逆量子化逆直交変換部
３１９  デブロッキングフィルタ
３２０  中間バッファ
３２１  エントロピー符号化部
７０１、７１１〜７１４、８０１〜８１１、９０１、９０２、９２１、９２２、９３１、１３０１〜１３０８  ブロック
９１１、９１２  動きベクトル
９３２  探索範囲
９４１  矩形
９５１、９５２、１００１、１００２、１４０１〜１４０４  領域
９６１、９６２  画像データ
１５０１  ＣＰＵ
１５０２、１５０８  メモリ
１５０３  入力装置
１５０４  出力装置
１５０５  補助記憶装置
１５０６  媒体駆動装置
１５０７  ネットワーク接続装置
１５０９  動画像入力装置
１５１１  可搬型記録媒体
【図１】
2016058874.tif 000003
【図２】
2016058874.tif 000004
【図３】
2016058874.tif 000005
【図４】
2016058874.tif 000006
【図５】
2016058874.tif 000007
【図６】
2016058874.tif 000008
【図１２】
2016058874.tif 000009
【図１４】
2016058874.tif 000010
【図１５】
2016058874.tif 000011
【図７】
2016058874.tif 000012
【図８】
2016058874.tif 000013
【図９】
2016058874.tif 000014
【図１０】
2016058874.tif 000015
【図１１】
2016058874.tif 000016
【図１３】
2016058874.tif 000017