(57)【特許請求の範囲】
【請求項１】
符号化対象画像の動き量を取得する取得手段と、
複数の参照画像候補から参照画像を選択する選択手段と、
前記選択された参照画像を参照する動き補償予測符号化により、前記符号化対象画像を符号化する符号化手段と、
を備え、
前記選択手段は、前記複数の参照画像候補から２枚の参照画像を選択する場合、
前記動き量が第１の閾値未満であれば、他の参照画像候補よりも符号量の多い参照画像候補を優先的に選択し、
前記動き量が前記第１の閾値よりも大きい第２の閾値以上であれば、他の参照画像候補よりも前記符号化対象画像からの時間距離が近い参照画像候補を優先的に選択し、
前記動き量が前記第１の閾値以上かつ前記第２の閾値未満であれば、１枚の参照画像については他の参照画像候補よりも符号量の多い参照画像候補を優先的に選択し、もう１枚の参照画像については他の参照画像候補よりも前記符号化対象画像からの時間距離が近い参照画像候補を優先的に選択する
ことを特徴とする符号化装置。
【請求項２】
前記選択手段は、他の参照画像候補よりも符号量の多い参照画像候補を優先的に選択する場合、相互の符号量の差が第１の範囲内である参照画像候補の間では、他の参照画像候補よりも前記符号化対象画像からの時間距離が近い参照画像候補を優先的に選択する
ことを特徴とする請求項１に記載の符号化装置。
【請求項３】
前記選択手段は、他の参照画像候補よりも前記符号化対象画像からの時間距離が近い参照画像候補を優先的に選択する場合、相互の前記時間距離の差が第２の範囲内である参照画像候補の間では、他の参照画像候補よりも符号量の多い参照画像候補を優先的に選択する
ことを特徴とする請求項１又は２に記載の符号化装置。
【請求項４】
前記符号化手段は、ＨＥＶＣ（Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）符号化方式に従う符号化を行い、
前記選択手段は、他の参照画像候補よりも符号量の多い参照画像候補を優先的に選択する場合、より上位の階層に含まれる参照画像候補を優先的に選択する
ことを特徴とする請求項１乃至３のいずれか１項に記載の符号化装置。
【請求項５】
前記取得手段は、前記符号化対象画像よりも表示時間が前の参照画像候補と前記符号化対象画像よりも表示時間が後の参照画像候補との間の動き量に基づき、前記符号化対象画像の前記動き量を取得する
ことを特徴とする請求項１乃至４のいずれか１項に記載の符号化装置。
【請求項６】
前記取得手段は、前記符号化対象画像の前記動き量として、前記符号化対象画像よりも表示時間が前の参照画像候補と前記符号化対象画像よりも表示時間が後の参照画像候補との間の動きベクトルのベクトル長を取得する
ことを特徴とする請求項５に記載の符号化装置。
【請求項７】
前記取得手段は、前記符号化対象画像の前記動き量として、前記符号化対象画像よりも表示時間が前の参照画像候補と前記符号化対象画像よりも表示時間が後の参照画像候補との間の差分絶対値和を取得する
ことを特徴とする請求項５に記載の符号化装置。
【請求項８】
前記取得手段は、前記符号化対象画像の前記動き量として、前記符号化対象画像よりも表示時間が前の参照画像候補と前記符号化対象画像よりも表示時間が後の参照画像候補との間の、動き補償後の差分絶対値和を取得する
ことを特徴とする請求項５に記載の符号化装置。
【請求項９】
前記取得手段は、前記複数の参照画像候補のうち前記符号化対象画像からの時間距離が最も近い参照画像候補と前記符号化対象画像との間の動き量に基づき、前記符号化対象画像の前記動き量を取得する
ことを特徴とする請求項１乃至４のいずれか１項に記載の符号化装置。
【請求項１０】
前記取得手段は、前記符号化対象画像の前記動き量として、前記複数の参照画像候補のうち前記符号化対象画像からの時間距離が最も近い参照画像候補と前記符号化対象画像との間の動きベクトルのベクトル長を取得する
ことを特徴とする請求項９に記載の符号化装置。
【請求項１１】
前記取得手段は、前記符号化対象画像の前記動き量として、前記複数の参照画像候補のうち前記符号化対象画像からの時間距離が最も近い参照画像候補と前記符号化対象画像との間の差分絶対値和を取得する
ことを特徴とする請求項９に記載の符号化装置。
【請求項１２】
前記取得手段は、前記符号化対象画像の前記動き量として、前記複数の参照画像候補のうち前記符号化対象画像からの時間距離が最も近い参照画像候補と前記符号化対象画像との間の、動き補償後の差分絶対値和を取得する
ことを特徴とする請求項９に記載の符号化装置。
【請求項１３】
請求項１乃至１２のいずれか１項に記載の符号化装置と、
前記符号化対象画像を生成する撮像手段と、
を備えることを特徴とする撮像装置。
【請求項１４】
符号化装置が実行する符号化方法であって、
符号化対象画像の動き量を取得する取得工程と、
複数の参照画像候補から参照画像を選択する選択工程と、
前記選択された参照画像を参照する動き補償予測符号化により、前記符号化対象画像を符号化する符号化工程と、
を備え、
前記選択工程では、前記複数の参照画像候補から２枚の参照画像を選択する場合、
前記動き量が第１の閾値未満であれば、他の参照画像候補よりも符号量の多い参照画像候補を優先的に選択し、
前記動き量が前記第１の閾値よりも大きい第２の閾値以上であれば、他の参照画像候補よりも前記符号化対象画像からの時間距離が近い参照画像候補を優先的に選択し、
前記動き量が前記第１の閾値以上かつ前記第２の閾値未満であれば、１枚の参照画像については他の参照画像候補よりも符号量の多い参照画像候補を優先的に選択し、もう１枚の参照画像については他の参照画像候補よりも前記符号化対象画像からの時間距離が近い参照画像候補を優先的に選択する
ことを特徴とする符号化方法。
【請求項１５】
コンピュータを、請求項１乃至１２のいずれか１項に記載の符号化装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化装置、撮像装置、符号化方法、及びプログラムに関する。
【背景技術】
【０００２】
Ｈ．２６４符号化方式の後継規格として、更に高効率な動画像符号化方式であるＨＥＶＣ（Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）符号化方式が国際標準規格として策定されている。
【０００３】
Ｈ．２６４符号化方式及びＨＥＶＣ符号化方式は共に、フレーム間予測符号化を用いることができる。フレーム間予測符号化では、これから符号化を行う符号化対象画像と、既に符号化済みのローカルデコード画像である参照画像との間で動き予測を行い、動き補償された位置における画像間の差分を求めることにより、効率的な符号化を行うことができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−２３６３９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、被写体の動きが大きい場合、符号化対象画像と参照画像との間の動きが大きくなり、動き予測の計算量が増加したり動き予測の精度が低下したりする可能性がある。また、符号化対象画像と参照画像との間の動きは、一般的に、符号化対象画像と参照画像とが時間的に遠く離れるほど大きくなる。そこで、被写体の動きが大きい場合には、そうでない場合よりも、符号化対象画像に時間的に近い画像を参照画像とすることが考えられる（特許文献１参照）。
【０００６】
符号化対象画像の画質は、動き予測の精度だけではなく、参照画像の画質にも依存する。一般的に、参照画像の画質は、符号量が多いほど高く、参照画像の画質が高いほど、この参照画像を参照して符号化される符号化対象画像の画質も高くなる。しかしながら、特許文献１では、参照画像を選択する際に、動き予測の精度については考慮されているものの、参照画像の符号量については考慮されていない。
【０００７】
そこで、本発明は、被写体の動きと参照画像の符号量とを考慮した参照画像の選択が行えるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明は、符号化対象画像の動き量を取得する取得手段と、複数の参照画像候補から参照画像を選択する選択手段と、前記選択された参照画像を参照する動き補償予測符号化により、前記符号化対象画像を符号化する符号化手段と、を備え、前記選択手段は、前記複数の参照画像候補から２枚の参照画像を選択する場合、前記動き量が第１の閾値未満であれば、他の参照画像候補よりも符号量の多い参照画像候補を優先的に選択し、前記動き量が前記第１の閾値よりも大きい第２の閾値以上であれば、他の参照画像候補よりも前記符号化対象画像からの時間距離が近い参照画像候補を優先的に選択し、前記動き量が前記第１の閾値以上かつ前記第２の閾値未満であれば、１枚の参照画像については他の参照画像候補よりも符号量の多い参照画像候補を優先的に選択し、もう１枚の参照画像については他の参照画像候補よりも前記符号化対象画像からの時間距離が近い参照画像候補を優先的に選択することを特徴とする符号化装置を提供する。
【０００９】
なお、その他の本発明の特徴は、添付図面及び以下の発明を実施するための形態における記載によって更に明らかになるものである。
【発明の効果】
【００１０】
本発明によれば、被写体の動きと参照画像の符号量とを考慮した参照画像の選択を行うことができる。
【図面の簡単な説明】
【００１１】
【図１】第１実施形態及び第２実施形態に係る符号化装置１００が有する複数の構成要素の一例を説明するためのブロック図。
【図２】ランダムアクセスＧＯＰ構造の一例を示す図。
【図３】Ｂ３ピクチャ２０３の符号化時の参照画像候補の一例を示す図。
【図４】最上位階層に含まれる参照画像候補の一例を示す図。
【図５】符号化対象画像からの時間距離が最も近い参照画像候補の一例を示す図。
【図６】符号化対象画像の動き量が小さい場合の参照画像選択の一例を示す図。
【図７】符号化対象画像の動き量が大きい場合の参照画像選択の一例を示す図。
【図８】第１実施形態に係る参照画像選択処理の流れを示すフローチャート。
【図９】符号化対象画像の動き量が小さい場合における、２枚の参照画像選択の一例を示す図。
【図１０】符号化対象画像の動き量が大きい場合における、２枚の参照画像選択の一例を示す図。
【図１１】符号化対象画像の動き量が中程度の場合における、２枚の参照画像選択の一例を示す図。
【図１２】第２実施形態に係る参照画像選択処理の流れを示すフローチャート。
【発明を実施するための形態】
【００１２】
以下、図面を参照して本発明の実施形態を説明する。ただし、本発明の実施形態は以下の実施形態に限定されるものではない。
●（第１実施形態）
図１は、第１実施形態及び第２実施形態に係る符号化装置１００が有する複数の構成要素の一例を説明するためのブロック図である。符号化装置１００は、例えば、ＨＥＶＣ（Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）符号化方式を実現する符号化装置として動作する。また、符号化装置１００は、例えば、ＨＥＶＣ符号化方式のランダムアクセスＧＯＰ構造を用いて符号化を行う符号化装置として動作する。なお、符号化装置１００が有する構成要素の少なくとも一部は、ハードウェア構成を有する。
【００１３】
図１に示す符号化装置１００は、撮像装置としての機能も有するが、この機能は必須ではない。例えば、符号化装置１００は、外部の撮像装置により生成された画像を符号化してもよい。
【００１４】
撮像部１０２は、レンズ１０１を通して撮像部１０２に入力された画像を撮像する。撮像部１０２は、被写体の画像を撮影し、動画データを出力する。撮像部１０２で撮像された動画データにおける各フレームの画像は、デジタルＲＡＷ画像データに変換され、現像処理部１０３に提供される。
【００１５】
現像処理部１０３は、入力される動画データの各フレームのデジタルＲＡＷ画像データに対して、デベイヤー処理、キズ補正処理、ノイズ除去処理、拡大縮小処理、及び色変換処理（例えば、ＹＣｂＣｒ形式への変換処理）などの画像処理を行い、現像された動画データを生成する。現像処理部１０３で生成された動画データの各フレームは、順次符号化フレームメモリ１０４に入力される。本実施形態では、現像処理部１０３で生成された動画データのそれぞれのフレーム分の画像データを符号化対象画像とする。
【００１６】
これ以降の符号化処理は、ＣＴＵ（Ｃｏｄｉｎｇ  Ｔｒｅｅ  Ｕｎｉｔ）ごとに行われる。ＣＴＵは、８×８画素から６４×６４画素までのブロックサイズの中から選択される。動き予測部１０５は、ＣＴＵごとに、符号化フレームメモリ１０４に格納されている符号化対象画像と、参照フレームメモリ１１７に格納されている参照画像との間でブロックマッチングを行い、動き量の検出及び動きベクトルの検出を行う。動き予測部１０５は、符号化対象画像と、検出された動きベクトル位置の予測画像との間で画素の差分を計算し、その差分画像を直交変換部１０６に出力する。従って、符号化装置１００は、動き補償予測符号化により、符号化対象画像を符号化する。また、動き予測部１０５は、ローカルデコード画像作成用に、検出された動きベクトル位置の予測画像を動き補償部１１４に出力する。更に、動き予測部１０５は、検出した動き量を、参照画像選択部１０７に出力する。
【００１７】
参照画像選択部１０７は、動き予測部１０５から入力された動き量に応じて、これ以降のピクチャを符号化するための参照画像を選択する。参照画像選択部１０７の動作の詳細、及び動き量の詳細については、後述する。
【００１８】
直交変換部１０６は、動き予測部１０５から入力された差分画像に対して離散コサイン変換を行い、変換係数を生成し、量子化部１０８に出力する。量子化部１０８は、直交変換部１０６から送られてきた変換係数に対して、量子化制御部１０９が出力する量子化ステップサイズに従い、量子化を行う。量子化部１０８は、量子化された変換係数を、符号化ストリーム作成のために可変長符号化部１１０に出力する。また、量子化部１０８は、量子化された変換係数を、ローカルデコード画像作成のために逆量子化部１１２に出力する。
【００１９】
可変長符号化部１１０は、量子化後の変換係数に対してジグザグスキャン、又はオルタネートスキャン等を行い、可変長符号化を行う。可変長符号化部１１０は、可変長符号化した変換係数に対し、動きベクトル、量子化ステップサイズ、ＣＴＵサイズ、及び適応オフセット処理用パラメータなどの符号化方式情報を可変長符号化したものを付加し、符号化ストリームを生成する。生成された符号化ストリームは記録メディア１１１に記録される。また、可変長符号化部１１０は、符号化の際にＣＴＵごとの発生符号量を計算し、量子化制御部１０９に出力する。
【００２０】
量子化制御部１０９は、可変長符号化部１１０から送られてくる発生符号量を用いて、発生符号量が目標とする符号量になるように量子化ステップサイズを決定し、量子化部１０８に出力する。
【００２１】
逆量子化部１１２は、量子化部１０８から送られてきた量子化後の変換係数に対して逆量子化を行い、ローカルデコード用の変換係数を生成する。この変換係数は、逆直交変換部１１３に出力される。逆直交変換部１１３は、逆量子化部１１２から送られてきた変換係数に対して逆離散コサイン変換を行い、差分画像を生成する。生成された差分画像は、動き補償部１１４に出力される。
【００２２】
動き補償部１１４は、動き予測部１０５から送られてきた動きベクトル位置の予測画像と、逆直交変換部１１３から送られてきた差分画像とを加算することにより、ローカルデコード用の画像データを生成する。生成された画像データは、デブロッキングフィルタ部１１５に出力される。デブロッキングフィルタ部１１５は、動き補償部１１４から送られてきた画像データに対してデブロッキングフィルタをかける。デブロッキングフィルタ後の画像は、適応オフセット処理部１１６に出力される。
【００２３】
適応オフセット処理部１１６は、符号化フレームメモリ１０４に格納されている符号化対象画像、及びデブロッキングフィルタ後の画像に基づき、バンドオフセット処理、エッジオフセット処理、又は何も処理をしない、のいずれかの選択を行う。また、適応オフセット処理部１１６は、選択した処理に対する、適応オフセット処理を行うバンド位置、エッジ方向、オフセット値などのパラメータを決定する。適応オフセット処理部１１６は、決定されたパラメータに従い、デブロッキングフィルタ後の画像に対して適応オフセット処理を行い、ローカルデコード画像を生成する。この生成したローカルデコード画像は、参照フレームメモリ１１７に格納される。また、適応オフセット処理部１１６は、適応オフセット処理としてどの処理を選択したか、バンド位置、エッジ方向、オフセット値などの適応オフセット処理用のパラメータを、符号化ストリームに含めるために可変長符号化部１１０に出力する。
【００２４】
このような動作により、符号化ストリーム、及びローカルデコード画像が作成される。
【００２５】
次に、動き予測部１０５で検出する動き量について説明する。ここでの動き量は、画像の動きを表す指標であれば何を用いてもよい。例えば、動き量は、動きベクトルのベクトル長であってもよいし、符号化対象画像と参照画像との間の、動き補償後の差分絶対値和であってもよい。また、これらの値を組み合わせて計算したものを動き量として用いてもよい。簡易的な方法としては、動き補償を行わずに、単純に符号化対象画像と参照画像との間の差分絶対値和を計算し、それを動き量として用いてもよい。
【００２６】
また、本実施形態では、動き予測部１０５は、動き量の検出を、符号化に用いる動きベクトル検出と同時に行っているが、別動作により動き検出を行ってもよい。例えば、動き予測部１０５は、符号化に用いる動きベクトル検出では、符号化効率を考慮しベクトル長を加味した検出を行う。他方、動き量の検出では、動き予測部１０５は、ベクトル長を加味せず、ブロックマッチング時に最も差分量の少ない位置を動き量検出の動きベクトルとして選択してもよい。
【００２７】
ここで、図２を参照して、ＨＥＶＣ符号化方式のランダムアクセスＧＯＰ構造を用いる符号化について説明する。図２に示す８つのピクチャの表示順は、Ｉ０ピクチャ２００、Ｂ１ピクチャ２０１、Ｂ２ピクチャ２０２、Ｂ３ピクチャ２０３、Ｂ４ピクチャ２０４、Ｂ５ピクチャ２０５、Ｂ６ピクチャ２０６、Ｂ７ピクチャ２０７、Ｂ８ピクチャ２０８の順序である。図２に示すランダムアクセスＧＯＰ構造は、第１階層から第４階層までの４つの階層を含む階層構造を持つ。最上位階層は第１階層であり、第２階層、第３階層、第４階層の順で下位の階層になる。
【００２８】
ＨＥＶＣ符号化方式では、各階層にはＴｅｍｐｏｒａｌＩＤと呼ばれるＩＤ番号が割り当てられている。ＴｅｍｐｏｒａｌＩＤは、「０」が最上位階層を示し、第１階層から第４階層まで順番に、ＴｅｍｐｏｒａｌＩＤ＝０、１、２、３が割り当てられる。例えば、Ｉ０ピクチャ２００は最上位階層である第１階層に含まれるので、ＴｅｍｐｏｒａｌＩＤ＝０が付与され、Ｂ１ピクチャ２０１は第４階層に含まれるので、ＴｅｍｐｏｒａｌＩＤ＝３が付与される。
【００２９】
階層構造に関して参照関係に対する制限があり、符号化対象画像と同じか上位の階層しか参照することができない。例えば、第１階層のＢ８ピクチャ２０８は、図２に示してあるピクチャの中では同じ階層のＩ０ピクチャ２００のみ参照することができる。第２階層のＢ４ピクチャ２０４は、上位階層のＩ０ピクチャ２００及びＢ８ピクチャ２０８のみ参照することができる。
【００３０】
このような参照関係の制限が存在するため、ピクチャの符号化順にも、上位階層の符号化をある程度優先するという制限が加わる。本実施形態では、Ｉ０ピクチャ２００、Ｂ８ピクチャ２０８、Ｂ４ピクチャ２０４、Ｂ２ピクチャ２０２、Ｂ１ピクチャ２０１、Ｂ３ピクチャ２０３、Ｂ６ピクチャ２０６、Ｂ５ピクチャ２０５、Ｂ７ピクチャ２０７の順に符号化が行われるものとする。
【００３１】
一般的に、符号化効率の観点から、上位階層のピクチャほど符号化時に割り当てられる符号量は多くなる。割り当てられる符号量が多いピクチャほど、符号化劣化が少ないため、参照画像として好ましいと考えられる。また、階層が同じであれば、符号化対象画像との時間距離が近い方が、画像間の相関性が高く、参照画像として好ましいと考えられる。
【００３２】
下位階層のピクチャの符号化時には上位階層のピクチャの多くの符号化が完了しているため、下位階層ほど、参照画像の選択肢が多い。例えば、Ｂ３ピクチャ２０３が符号化対象画像の場合、Ｉ０ピクチャ２００、Ｂ１ピクチャ２０１、Ｂ２ピクチャ２０２、Ｂ４ピクチャ２０４、及びＢ８ピクチャ２０８の５枚が参照画像候補となる。画像の動き量に応じて適切な参照画像は異なるため、参照画像選択部１０７は、動き量に基づいて参照画像の選択を行う。ここでは、例として、参照画像を１枚だけ用いる場合について、動き量に基づく参照画像の選択を説明する。
【００３３】
Ｉ０ピクチャ２００が符号化された後、符号化装置１００は、Ｂ８ピクチャ２０８の符号化を行う。この場合、参照画像はＩ０ピクチャ２００である。動き予測部１０５は、ＣＴＵごとの動き量を検出し、検出された動き量を参照画像選択部１０７に通知する。
【００３４】
参照画像選択部１０７は、１ピクチャごとに、ＣＴＵごとの動き量を累積加算する。これにより、Ｂ８ピクチャ２０８の符号化完了時に、Ｂ８ピクチャ２０８全体の動き量が得られる。Ｂ８ピクチャ２０８全体の動き量は、Ｂ８ピクチャ２０８とＩ０ピクチャ２００との間の動き量として、参照画像選択部１０７に保持される。
【００３５】
次に、符号化装置１００は、Ｂ４ピクチャ２０４の符号化を行う。この場合、参照画像候補として、Ｉ０ピクチャ２００及びＢ８ピクチャ２０８の２枚がある。参照画像選択部１０７は、より上位の階層に含まれ、符号化対象画像との時間距離がより近いピクチャ（即ち、符号化劣化が少なく符号化対象画像との相関性が高いピクチャ）を選択する。Ｉ０ピクチャ２００とＢ８ピクチャ２０８とは、どちらも第１階層であり、Ｂ４ピクチャ２０４との時間距離も同じであるため、画像間の相関性に実質的な差が無い。そのため、参照画像としてどちらを選択しても、符号化効率に大きな差はない。ここでは、Ｉ０ピクチャ２００を参照画像として用いるものとする。参照画像選択部１０７は、Ｂ８ピクチャ２０８の符号化時と同様に、動き予測部１０５で検出した動き量を累積加算し、Ｂ４ピクチャ２０４とＩ０ピクチャ２００との間の動き量として保持しておく。
【００３６】
次に、符号化装置１００は、Ｂ２ピクチャ２０２の符号化を行う。この場合、参照画像候補として、Ｉ０ピクチャ２００、Ｂ４ピクチャ２０４、及びＢ８ピクチャ２０８の３枚がある。Ｉ０ピクチャ２００とＢ８ピクチャ２０８とは第１階層に含まれるので、第２階層のＢ４ピクチャ２０４よりも階層が上位である。また、符号化対象画像であるＢ２ピクチャ２０２との時間距離は、Ｉ０ピクチャ２００とＢ４ピクチャ２０４とが最も近い。そこで、参照画像選択部１０７は、階層が最も上位であって時間距離が最も近い符号化済み画像であるＩ０ピクチャ２００を参照画像として選択する。
【００３７】
同様にして、符号化装置１００は、Ｂ１ピクチャ２０１の符号化を行う。この時、参照画像選択部１０７は、Ｂ２ピクチャ２０２の符号化時と同じ理由で、Ｉ０ピクチャ２００を参照画像として選択する。
【００３８】
次に、符号化装置１００は、Ｂ３ピクチャ２０３の符号化を行う。この場合、参照画像候補として、Ｉ０ピクチャ２００、Ｂ１ピクチャ２０１、Ｂ２ピクチャ２０２、Ｂ４ピクチャ２０４、及びＢ８ピクチャ２０８の５枚がある（図３参照）。参照画像候補のうち最上位階層に含まれるものは、Ｉ０ピクチャ２００及びＢ８ピクチャ２０８である（図４参照）。また、参照画像候補のうち、符号化対象画像であるＢ３ピクチャ２０３から時間距離が最も近いものは、第３階層のＢ２ピクチャ２０２及び第２階層のＢ４ピクチャ２０４である（図５参照）。
【００３９】
このように最上位階層の参照画像候補と最も時間距離の近い参照画像候補とが異なる場合に、参照画像選択部１０７は、適応的に参照画像選択を行う。参照画像選択部１０７は、符号化対象画像であるＢ３ピクチャ２０３の動き量を推定するため、Ｂ３ピクチャ２０３の表示時間的に前後に位置する、Ｉ０ピクチャ２００とＢ４ピクチャ２０４との間の動き量を用いる。Ｉ０ピクチャ２００とＢ４ピクチャ２０４との間の動き量は、以前にＢ４ピクチャ２０４を符号化した際に検出され、参照画像選択部１０７に保持されている。前述の通り、動き量は、画像の動きを表す指標であれば何を用いてもよい。例えば、Ｉ０ピクチャ２００とＢ４ピクチャ２０４との間の動き量は、両ピクチャ間の動きベクトルのベクトル長、両ピクチャ間の差分絶対値和、又は両ピクチャ間の動き補償後の差分絶対値和である。
【００４０】
なお、理論上は、参照画像選択部１０７は、Ｂ３ピクチャ２０３の表示時間的に前後に位置する、Ｂ２ピクチャ２０２とＢ４ピクチャ２０４との間の動き量を用いることもできる。しかしながら、Ｂ２ピクチャ２０２の符号化時にＢ４ピクチャ２０４は参照画像として用いられていないため、この動き量は未検出である。そのため、本実施形態では、参照画像選択部１０７は、既に検出されている、Ｉ０ピクチャ２００とＢ４ピクチャ２０４との間の動き量を用いる。
【００４１】
Ｉ０ピクチャ２００とＢ４ピクチャ２０４との間の動き量が閾値未満の場合、表示時間的にその間にあるＢ３ピクチャ２０３の動き量も小さいと考えられる。この場合、符号化対象画像の動き量が小さいので、符号化対象画像と各参照画像候補との時間距離に関わらず、いずれの参照画像候補も相関性が高いと考えられる。相関性に大きな差が無いので、符号量の割り当てが多く、符号化劣化の少ない上位階層の参照画像候補を用いる方が、符号化効率が良くなる。そのため、動き量が閾値未満の場合、参照画像選択部１０７は、時間距離よりも割り当て符号量を優先する。具体的には、参照画像選択部１０７は、最上位階層のピクチャのうち時間距離が最も近いピクチャである、Ｉ０ピクチャ２００を参照画像として選択する（図６参照）。
【００４２】
Ｉ０ピクチャ２００とＢ４ピクチャ２０４との間の動き量が閾値以上の場合、表示時間的にその間にあるＢ３ピクチャ２０３の動き量も大きいと考えられる。この場合、符号化対象画像の動き量が大きいので、時間距離の近い参照画像候補を用いる方が、相関性が高くなり、符号化効率が良くなる。そのため、動き量が閾値以上の場合、参照画像選択部１０７は、割り当て符号量よりも時間距離を優先する。具体的には、参照画像選択部１０７は、時間距離が最も近い符号化済み画像（Ｂ２ピクチャ２０２及びＢ４ピクチャ２０４）のうち、より上位の階層に含まれるＢ４ピクチャ２０４を参照画像として選択する（図７参照）。
【００４３】
同様にして、符号化装置１００は、Ｂ６ピクチャ２０６、Ｂ５ピクチャ２０５、及びＢ７ピクチャ２０７の符号化も行う。動き量の推定には、表示時間的にこれらのピクチャの前後に位置するＩ０ピクチャ２００とＢ８ピクチャ２０８との間の動き量が用いられる。
【００４４】
このように、参照画像選択部１０７は、符号化対象画像の前後の符号化済み画像間の動き量に基づいて符号化対象画像の動き量を推定し、動き量に応じて参照画像を選択する。これにより、符号化効率の良い参照画像を選択することができる。
【００４５】
図８は、第１実施形態に係る参照画像選択処理の流れを示すフローチャートである。最初に、Ｓ８０１で、参照画像選択部１０７は、参照画像候補全体の中で最上位階層に含まれ、かつ符号化対象画像との時間距離が参照画像候補全体の中で最も近い参照画像候補が存在するか否かを判定する。そのような参照画像候補が存在する場合、参照画像選択部１０７は処理をＳ８０２に進め、そのような参照画像候補が存在しない場合、参照画像選択部１０７は処理をＳ８０３に進める。
【００４６】
Ｓ８０２で、参照画像選択部１０７は、参照画像候補全体の中で最上位階層に含まれ、かつ符号化対象画像との時間距離が参照画像候補全体の中で最も近い参照画像候補を参照画像として選択する。
【００４７】
Ｓ８０３で、参照画像選択部１０７は、符号化対象画像の動き量を取得する。例えば、参照画像選択部１０７は、符号化対象画像の動き量として、符号化対象画像に対して表示時間的に前後の符号化済み画像間の動き量を取得する。
【００４８】
Ｓ８０４で、参照画像選択部１０７は、符号化対象画像の動き量が閾値未満であるか否かを判定する。符号化対象画像の動き量が閾値未満である場合、参照画像選択部１０７は処理をＳ８０５へ進め、符号化対象画像の動き量が閾値以上である場合、参照画像選択部１０７は処理をＳ８０６へ進める。
【００４９】
Ｓ８０５で、参照画像選択部１０７は、最上位階層にある参照画像候補のうち、符号化対象画像との時間距離が最も近い参照画像候補を、参照画像として選択する。これにより、時間距離よりも割り当て符号量を優先した参照画像の選択が行われる。
【００５０】
Ｓ８０６で、参照画像選択部１０７は、符号化対象画像との時間距離が最も近い参照画像候補のうち、最上位階層にある参照画像候補を、参照画像として選択する。これにより、割り当て符号量よりも時間距離を優先した参照画像の選択が行われる。
【００５１】
以上説明したように、第１実施形態によれば、符号化装置１００は、符号化対象画像の動き量に応じて、参照画像の符号量と符号化対象画像からの時間距離のいずれかを優先して、複数の参照画像のうち、符号化対象画像を符号化するために使用する参照画像を選択する。符号化装置１００は、符号化対象画像の動き量が閾値以上の場合は、符号化対象画像からの時間距離に基づいて参照画像を選択する。例えば、符号化装置１００は、符号化対象画像の動き量が閾値以上の場合は、符号化対象画像からの時間距離が最も近い参照画像を選択する。符号化対象画像の動き量が閾値以上の場合は、符号化対象画像からの時間距離が最も近い参照画像よりも符号量が多い参照画像が他にある場合であっても、符号化対象画像からの時間距離が最も近い参照画像を選択する。また、符号化装置１００は、符号化対象画像の動き量が閾値に達しない場合は、参照画像の符号量に基づいて参照画像を選択する。例えば、符号化装置１００は、符号化対象画像の動き量が閾値に達しない場合は、複数の参照画像のうち符号量が最も大きな参照画像を選択する。符号化装置１００は、符号化対象画像の動き量が閾値に達しない場合は、複数の参照画像のうち符号量が最も大きな参照画像よりも符号化対象画像からの時間距離が短い参照画像が他にある場合であっても、複数の参照画像のうち符号量が最も大きな参照画像を選択する。これにより、符号化効率を向上させることができる。
【００５２】
なお、第１実施形態では、符号化対象画像の動き量として、符号化対象画像に対して表示時間的に前後の符号化済み画像間の動き量を用いたが、符号化対象画像の動き量の取得方法はこれに限定されない。例えば、複数の参照画像候補のうち符号化対象画像からの時間距離が最も近い参照画像候補と、符号化対象画像とを用いて、符号化対象画像の動き量の取得を行ってもよい。この場合も、動き量として、動きベクトルのベクトル長、差分絶対値和、又は動き補償後の差分絶対値和などを用いることができる。
【００５３】
また、第１実施形態では、参照画像を１枚のみ選択する場合の例を示したが、参照画像の数は１枚に限定されず、第１実施形態は、２枚以上の参照画像を用いる場合にも適用できる。例えば、２枚の参照画像を用いる場合、１枚の参照画像には第１実施形態で説明した選択処理を適用し、もう１枚の参照画像には第１実施形態とは別の選択処理を適用することも可能である。また、２枚とも第１実施形態の選択処理を適用しても構わない。
【００５４】
また、第１実施形態では、ＨＥＶＣ符号化方式を例に説明を行ったが、階層構造を持つ符号化方式であれば、どのような符号化方式にも適用することができる。また、第１実施形態は、参照画像候補間の符号量が変化する符号化方式であれば、階層構造を持たない符号化方式にも適用することができる。この場合、上の説明において階層の上下に言及している部分は、符号量の多寡に読み替える。例えば、図８のＳ８０５においては、参照画像選択部１０７は、符号量の多い参照画像候補を優先的に選択する。また、参照画像選択部１０７は、符号量の多い参照画像候補を優先しつつ、符号量が同程度の参照画像候補の間では、符号化対象画像からの時間距離が近い参照画像候補を優先的に選択してもよい。「同程度」の符号量の範囲は特に限定されないが、範囲が狭いほど、符号量の多い参照画像候補を優先する度合いが強くなる。同様に、例えば図８のＳ８０６においては、参照画像選択部１０７は、符号化対象画像からの時間距離が近い参照画像候補を優先しつつ、符号化対象画像からの時間距離が同程度の参照画像候補の間では、符号量の多い参照画像候補を優先的に選択してもよい。「同程度」の時間距離の範囲は特に限定されないが、範囲が狭いほど、時間距離が近い参照画像候補を優先する度合いが強くなる。
●（第２実施形態）
第２実施形態では、参照画像を２枚選択する場合について説明する。本実施形態において、符号化装置１００の基本的な構成は、第１実施形態と同様である。以下、主に第１実施形態と異なる点について説明する。
【００５５】
第２実施形態においても、第１実施形態と同様、図２のランダムアクセスＧＯＰ構造における符号化を例に説明を行う。Ｉ０ピクチャ２００が符号化された後、符号化装置１００は、Ｂ８ピクチャ２０８の符号化を行う。この場合、参照画像はＩ０ピクチャ２００である。第２実施形態では、参照画像を２枚使用する場合について説明するが、Ｂ８ピクチャ２０８の符号化時のみ、参照画像は１枚となる。動き予測部１０５は、ＣＴＵごとの動き量を検出し、検出された動き量を参照画像選択部１０７に通知する。
【００５６】
参照画像選択部１０７は、１ピクチャごとに、ＣＴＵごとの動き量を累積加算する。これにより、Ｂ８ピクチャ２０８の符号化完了時に、Ｂ８ピクチャ２０８全体の動き量が得られる。Ｂ８ピクチャ２０８全体の動き量は、Ｂ８ピクチャ２０８とＩ０ピクチャ２００との間の動き量として、参照画像選択部１０７に保持される。
【００５７】
次に、符号化装置１００は、Ｂ４ピクチャ２０４の符号化を行う。この場合、参照画像は、Ｉ０ピクチャ２００及びＢ８ピクチャ２０８の２枚である。動き予測部１０５は、Ｉ０ピクチャ２００を参照画像として動き検出を行ったときの動き量と、Ｂ８ピクチャ２０８を参照画像として動き検出を行ったときの動き量を、それぞれ別に参照画像選択部１０７に出力する。
【００５８】
参照画像選択部１０７は、Ｉ０ピクチャ２００を参照画像としたときの動き量と、Ｂ８ピクチャ２０８を参照画像としたときの動き量をそれぞれ独立に累積加算する。これにより、Ｂ４ピクチャ２０４の符号化完了時に、Ｂ４ピクチャ２０４とＩ０ピクチャ２００との間の動き量、及び、Ｂ４ピクチャ２０４とＢ８ピクチャ２０８との間の動き量が、参照画像選択部１０７に保持される。
【００５９】
次に、符号化装置１００は、Ｂ２ピクチャ２０２の符号化を行う。この場合、参照画像候補として、Ｉ０ピクチャ２００、Ｂ４ピクチャ２０４、及びＢ８ピクチャ２０８の３枚がある。Ｉ０ピクチャ２００は、最上位階層に含まれ、かつ、符号化対象画像であるＢ２ピクチャ２０２との時間距離が最も近い符号化済み画像のうちの１枚である。そのため、参照画像選択部１０７は、Ｉ０ピクチャ２００を参照画像の１枚として選択する。
【００６０】
残りの参照画像候補であるＢ４ピクチャ２０４とＢ８ピクチャ２０８とは、Ｂ４ピクチャ２０４の方が時間距離が近く、Ｂ８ピクチャ２０８の方が階層が上位である。そこで、参照画像選択部１０７は、第１実施形態と同様の手法を用い、Ｂ４ピクチャ２０４とＩ０ピクチャ２００との間の動き量に応じて、どちらかの参照画像候補を参照画像として選択する。具体的には、参照画像選択部１０７は、動き量が閾値未満の場合、上位階層であるＢ８ピクチャ２０８を参照画像として選択し、動き量が閾値以上の場合、時間距離の近いＢ４ピクチャ２０４を参照画像として選択する。
【００６１】
同様にして、符号化装置１００は、Ｂ１ピクチャ２０１の符号化を行う。
【００６２】
次に、符号化装置１００は、Ｂ３ピクチャ２０３の符号化を行う。この場合、参照画像候補として、Ｉ０ピクチャ２００、Ｂ１ピクチャ２０１、Ｂ２ピクチャ２０２、Ｂ４ピクチャ２０４、及びＢ８ピクチャ２０８の５枚がある（図３参照）。参照画像候補のうち最上位階層に含まれるものは、Ｉ０ピクチャ２００及びＢ８ピクチャ２０８である（図４参照）。また、参照画像候補のうち、符号化対象画像であるＢ３ピクチャ２０３から時間距離が最も近いものは、第３階層のＢ２ピクチャ２０２と第２階層のＢ４ピクチャ２０４である（図５参照）。
【００６３】
このような状況で参照画像を２枚選択する場合、例えば、次の３通りの方法が考えられる。１つは、２枚とも最上位階層の符号化済み画像を参照画像として選択する方法である。もう１つは、２枚とも最も時間距離の近い符号化済み画像を参照画像として選択する方法である。最後の１つは、最上位階層の符号化済み画像の中から１枚の参照画像を選択し、時間距離の最も近い符号化済み画像からもう１枚の参照画像を選択する方法である。
【００６４】
このように参照画像候補が複数存在する場合、参照画像選択部１０７は、適応的に参照画像の選択を行う。参照画像選択部１０７は、符号化対象画像であるＢ３ピクチャ２０３の動き量を推定するため、Ｂ３ピクチャ２０３の表示時間的に前後に位置する、Ｉ０ピクチャ２００とＢ４ピクチャ２０４との間の動き量を用いる。Ｉ０ピクチャ２００とＢ４ピクチャ２０４との間の動き量は、以前にＢ４ピクチャ２０４を符号化した際に検出され、参照画像選択部１０７に保持されている。
【００６５】
参照画像選択部１０７は、符号化対象画像であるＢ３ピクチャ２０３の動き量に基づき、参照画像を選択する。参照画像選択部１０７は、閾値１＜閾値２の関係にある２つの閾値を用いて、動き量を３段階に分けて参照画像の選択を行う。
【００６６】
Ｉ０ピクチャ２００とＢ４ピクチャ２０４との間の動き量が閾値１未満の場合、表示時間的にその間にあるＢ３ピクチャ２０３の動き量も小さいと考えられる。この場合、符号化対象画像の動き量が小さいので、符号化対象画像と各参照画像候補との時間距離に関わらず、いずれの参照画像候補も相関性が高いと考えられる。相関性に大きな差が無いので、符号量の割り当てが多く、符号化劣化の少ない上位階層の参照画像候補を用いる方が、符号化効率が良くなる。そのため、動き量が閾値１未満の場合、参照画像選択部１０７は、２枚の参照画像いずれについても、時間距離よりも割り当て符号量を優先する。具体的には、参照画像選択部１０７は、最上位階層のＩ０ピクチャ２００及びＢ８ピクチャ２０８を参照画像として選択する（図９参照）。
【００６７】
Ｉ０ピクチャ２００とＢ４ピクチャ２０４との間の動き量が閾値２以上の場合、時間的にその間にあるＢ３ピクチャ２０３の動き量も大きいと考えられる。この場合、符号化対象画像の動き量が大きいので、時間距離の近い参照画像を用いる方が、相関性が高くなり、符号化効率が良くなる。そのため、動き量が閾値２以上の場合、参照画像選択部１０７は、２枚の参照画像いずれについても、割り当て符号量よりも時間距離を優先する。具体的には、参照画像選択部１０７は、時間距離が最も近いＢ２ピクチャ２０２及びＢ４ピクチャ２０４を参照画像として選択する（図１０参照）。
【００６８】
Ｉ０ピクチャ２００とＢ４ピクチャ２０４との間の動き量が閾値１以上で閾値２未満の場合、時間的にその間にあるＢ３ピクチャ２０３の動き量は中程度であると考えられる。この場合、参照画像選択部１０７は、動き量が小さい場合と動き量が大きい場合の両方の選択基準を採用する。具体的には、参照画像選択部１０７は、１枚の参照画像については時間距離よりも割り当て符号量を優先し、もう１枚の参照画像については割り当て符号量よりも時間距離を優先する。参照画像選択部１０７は、最上位階層の参照画像候補のうち、時間距離が最も近いＩ０ピクチャ２００を１枚目の参照画像として選択する。そして、参照画像選択部１０７は、時間距離が最も近い参照画像候補（Ｂ２ピクチャ２０２及びＢ４ピクチャ２０４）のうち、より上位の階層に含まれるＢ４ピクチャ２０４を２枚目の参照画像として選択する（図１１参照）。
【００６９】
同様にして、符号化装置１００は、Ｂ６ピクチャ２０６、Ｂ５ピクチャ２０５、及びＢ７ピクチャ２０７の符号化も行う。動き量の推定には、表示時間的にこれらの前後に位置するＢ４ピクチャ２０４とＢ８ピクチャ２０８との間の動き量が用いられる。
【００７０】
このように、参照画像選択部１０７は、符号化対象画像の前後の符号化済み画像間の動き量に基づいて符号化対象画像の動き量を推定し、動き量に応じて参照画像を選択する。これにより、符号化効率の良い参照画像を選択することができる。
【００７１】
図１２は、第２実施形態に係る参照画像選択処理の流れを示すフローチャートである。最初に、Ｓ１２０１で、参照画像選択部１０７は、参照画像候補全体の中で最上位階層に含まれ、かつ符号化対象画像との時間距離が参照画像候補全体の中で最も近い参照画像候補が２枚存在するか否かを判定する。そのような参照画像候補が２枚存在する場合、参照画像選択部１０７は処理をＳ１２０２に進め、そのような参照画像候補が２枚存在しない場合、参照画像選択部１０７は処理をＳ１２０３に進める。
【００７２】
Ｓ１２０２で、参照画像選択部１０７は、参照画像候補全体の中で最上位階層に含まれ、かつ符号化対象画像との時間距離が参照画像候補全体の中で最も近い２枚の参照画像候補を参照画像として選択する。
【００７３】
Ｓ１２０３で、参照画像選択部１０７は、符号化対象画像の動き量を取得する。例えば、参照画像選択部１０７は、符号化対象画像の動き量として、符号化対象画像に対して表示時間的に前後の符号化済み画像間の動き量を取得する。
【００７４】
Ｓ１２０４で、参照画像選択部１０７は、符号化対象画像の動き量が閾値１未満であるか否かを判定する。符号化対象画像の動き量が閾値１未満である場合、参照画像選択部１０７は処理をＳ１２０５へ進め、符号化対象画像の動き量が閾値１以上である場合、参照画像選択部１０７は処理をＳ１２０６へ進める。
【００７５】
Ｓ１２０５で、参照画像選択部１０７は、階層が上位のものから順に２枚の参照画像候補を参照画像として選択する。階層が同順位の参照画像候補が複数存在する場合、参照画像選択部１０７は、符号化対象画像との時間距離が最も近い参照画像候補を選択する。これにより、２枚の参照画像いずれについても、時間距離よりも割り当て符号量を優先した参照画像の選択が行われる。
【００７６】
Ｓ１２０６で、参照画像選択部１０７は、符号化対象画像の動き量が閾値２以上であるか否かを判定する。符号化対象画像の動き量が閾値２以上である場合、参照画像選択部１０７は処理をＳ１２０７へ進め、符号化対象画像の動き量が閾値２未満である場合、参照画像選択部１０７は処理をＳ１２０８へ進める。
【００７７】
Ｓ１２０７で、参照画像選択部１０７は、符号化対象画像との時間距離が近いものから順に２枚の参照画像候補を参照画像として選択する。時間距離が同順位の参照画像候補が複数存在する場合、参照画像選択部１０７は、階層がより上位の参照画像候補を選択する。これにより、２枚の参照画像いずれについても、割り当て符号量よりも時間距離を優先した参照画像の選択が行われる。
【００７８】
Ｓ１２０８で、参照画像選択部１０７は、最上位階層にある参照画像候補のうち、符号化対象画像との時間距離が最も近い参照画像候補を、１枚目の参照画像として選択する。また、参照画像選択部１０７は、符号化対象画像との時間距離が最も近い参照画像候補のうち、最上位階層にある参照画像候補を、２枚目の参照画像として選択する。これにより、１枚の参照画像については、時間距離よりも割り当て符号量を優先した参照画像の選択が行われ、もう１枚の参照画像については、割り当て符号量よりも時間距離を優先した参照画像の選択が行われる。
【００７９】
以上説明したように、第２実施形態によれば、符号化装置１００は、２枚の参照画像それぞれについて、符号化対象画像の動き量に応じて、参照画像の符号量と符号化対象画像からの時間距離のいずれかを優先して、参照画像候補からの選択を行う。これにより、符号化効率を向上させることができる。
【００８０】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００８１】
１００…符号化装置、１０４…符号化フレームメモリ、１０５…動き予測部、１０６…直交変換部、１０７…参照画像選択部、１０８…量子化部、１０９…量子化制御部、１１０…可変長符号化部、１１７…参照フレームメモリ
【図１】
0006626319.tif 000002
【図２】
0006626319.tif 000003
【図３】
0006626319.tif 000004
【図４】
0006626319.tif 000005
【図５】
0006626319.tif 000006
【図６】
0006626319.tif 000007
【図７】
0006626319.tif 000008
【図８】
0006626319.tif 000009
【図９】
0006626319.tif 000010
【図１０】
0006626319.tif 000011
【図１１】
0006626319.tif 000012
【図１２】
0006626319.tif 000013