(57)【特許請求の範囲】
【請求項１】
画像を符号化した符号化ストリームを復号する画像復号化方法であって、
前記画像を構成する復号対象ブロックにおいて、
前記符号化ストリームから得られる符号化モードの情報に従って、前記復号対象ブロックの周囲のブロックを含む複数の候補ブロックの動きベクトルから動きベクトルを選択し、前記動きベクトルを用いて、前記復号対象ブロックの動きベクトルを復元する第１ステップと、
前記復号対象ブロックの動きベクトルと参照画像を用いて予測画像を生成する第２ステップとを備え、
前記第１ステップにおける動きベクトルの選択処理は、
前記復号対象ブロックと同じフレームにあり前記復号対象ブロックと隣接する第１のブロックと、前記復号対象ブロックとは別のフレームの前記復号対象ブロックと同じ位置にある第２のブロックとから、候補ブロックの選択を行う処理であり、
該動きベクトルの選択処理では、
前記第１のブロックのうち、前記対象ブロックの左側に位置するブロックと前記対象ブロックの上側に位置するブロックとの動きベクトルを比較する比較処理を行い、同じ動きベクトルを有する場合には、前記対象ブロックの上側に位置するブロックを候補ブロックから除外し、
前記第１のブロックに参照不可のブロックが含まれる場合には、前記参照不可のブロックを動きベクトルの候補ブロックから除外し、他のブロックを候補ブロックに追加する処理を行い、
前記候補ブロックに追加するブロックの数は、既に候補ブロックとして選択されているブロックの数に応じて変更されるものであり、
前記第２のブロックは、前記復号対象ブロックとは別のフレームにある前記復号対象ブロックと同じ位置にあるブロックを含む複数のブロックについて、動きベクトルが利用可能か否かを判定する処理を行って、動きベクトルが利用可能と判定された一のブロックから選択される選択処理により決定される
ことを特徴とする画像復号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像を符号化する画像符号化方法、画像符号化装置、符号化画像データを復号する画像復号方法及び画像復号装置に関する。
【背景技術】
【０００２】
画像、音声情報をデジタルデータ化して記録、伝達する手法として、H.264/AVC(Advanced Video Coding)規格等がこれまでに策定されてきた。ISO/IEC MPEGとITU-T VCEGはこれを超える圧縮率を実現するため、JCT-VC(Joint Collaborative Team on Video Coding)を設立し、HEVC(High Efficiency Video Coding)と呼ばれる次世代方式の検討を始めている。
【０００３】
HEVCに対する技術候補の一つとして、動きベクトル競合(Motion Vector Competition)と呼ばれる方式が提案されている。この方式は、符号化対象マクロブロックにおける動き予測モードの予測ベクトル選択方法を提案したものである。H.264/AVCでは、予測ベクトルは符号化対象マクロブロックの上、左、右上の符号化済みマクロブロックが持つ動きベクトルから、X方向成分およびY方向成分についてmedian演算を行うことによって求められていた。
【０００４】
一方、動きベクトル競合では、上、左、および最も近い参照フレームの符号化対象マクロブロックと同じ位置の動きベクトルを比較し、符号化対象マクロブロックの動きベクトルに最も近いものを予測ベクトルとして選択してフラグとして伝送する。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】I. Amonou, et. al. "Description of video coding technology proposal by France Telecom, NTT, NTT DOCOMO, Panasonic and Technicolor", Doc. JCTVC-A114, Joint Collaborative Team on Video Coding (JCT-VC), April 2010.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、動きベクトル競合方式はフラグを伝送するため、median演算の結果と予測ベクトルが同じ場合はフラグの分だけ符号量が増えてしまう。
【０００７】
また、全ての動きベクトルを用いる符号化モードに有効というわけではない。
【０００８】
さらに、参照するブロックが動きベクトルを持たない場合、フレーム領域外にある場合の処理や、フラグの記述方法が効率的ではなく、３つの候補から２つを選択してフラグを記録する方式のため、狭い範囲の候補ブロックしか選ぶことができずに、予測誤差が大きく符号量が大きく、符号化効率が低いという問題点がある。
【０００９】
本発明は上記課題を鑑みてなされたものであり、本発明の目的は、適切な動き予測による高い符号化効率を実現可能な画像符号化技術、画像復号技術を提供することにある。
【課題を解決するための手段】
【００１０】
本願は、上記課題を解決するための手段を種々含むものであるが、その一つを挙げると次の通りである。
【００１１】
入力画像を符号化する画像符号化装置であって、前記入力画像を分割した符号化対象ブロックと参照画像を用いて動き探索を行う動き探索部と、前記符号化対象ブロックの動きベクトルを、前記符号化対象ブロックの周囲にあるブロックの一部または全てからなる候補ブロックの動きベクトルから予測動きベクトルを生成する適応PMV選択部と、符号化ブロックの動きベクトルと予測動きベクトルから差分ベクトルを計算し符号化するPMV予測符号化部とを備え、前記適応PMV選択部は、用いる候補ブロックの数又は位置を変化させるか、または用いる候補ブロックの動きベクトルをゼロベクトルとする第１手段を有することを特徴とする画像符号化装置。
【発明の効果】
【００１２】
本発明によれば、符号化効率を向上することができる。
【図面の簡単な説明】
【００１３】
【図１】実施例１に係る画像符号化装置のブロック図である。
【図２】実施例２に係る画像復号装置のブロック図である。
【図３】実施例１に係るPMV（予測動きベクトル）として動きベクトルを選択する候補ブロックの説明図である。
【図４】実施例１に係るシーン解析の概要についての説明図である。
【図５】実施例１に係る画像符号化装置で用いられる画像符号化フロー図である。
【図６】実施例２に係る画像復号方法のフロー図である。
【図７】実施例３に係るデータ記録媒体の説明図である。
【図８】実施例１に係る適応PMV選択部におけるフレーム単位でのPMV選択判定フローを示す図である。
【図９】実施例１に係る適応PMV選択部におけるブロック単位でのPMV選択判定フローを示す図である。
【図１０】実施例１に係る適応PMV選択部におけるブロック単位でのPMV選択を行う候補ブロックの調整フローを示す図である。
【図１１】実施例１に係る選択されるベクトルのフラグとして記述方法の例を示す図である。
【発明を実施するための形態】
【００１４】
以下、実施例を、図面を参照して説明する。
【００１５】
また、各図面において、同一の符号が付されている構成要素は同一の機能を有することとする。
【００１６】
また、本明細書の各記載及び各図面における「動きベクトル競合」という表現は従来の符号化方式を示し、「適応動きベクトル選択」という表現は本発明に係る新たな符号化方式を示す。「PMV選択」とは、候補となるブロックが持つ動きベクトルから１つを選択して、選択した動きベクトルから予測動きベクトル（Predicted Motion Vector：PMV)を生成（median等そのまま選択的に使用することや、複数の動きベクトルを合成する等による新規な生成も含む）することを示す。
【００１７】
また、本明細書の各記載及び各図面における「0 vec」または「０ベクトル」とは各成分の値が０のベクトル、またはそのようなベクトルに変換、設定することを示す。
【００１８】
また、本明細書の各記載及び各図面における「参照不可」とはブロックの情報が取得できないことを示す。具体例としては、候補ブロックの位置が画面の範囲外にある等が挙げられる。逆に、「参照可能」とはブロックの情報が取得できることである。
【００１９】
また、本明細書の各記載及び各図面における「ブロックの情報」にはベクトル、参照フレーム番号が含まれる。
【００２０】
また、本明細書の各記載及び各図面における「残差成分」という表現は、「予測誤差」と同様の意味も含む。
【００２１】
また、本明細書の各記載及び各図面における「領域」という表現は、「画像」と同様の意味も含む。
【００２２】
また、本明細書の各記載及び各図面における「フラグとともに伝送」という表現は、「フラグに含めて伝送」という意味も含む。
【００２３】
また、本明細書の各記載及び各図面における「符号化モード」という表現は、イントラ予測／インター予測の種別と適用するブロックサイズとの組み合わせを含むものである。
【実施例１】
【００２４】
まず、第１の実施例について図面を参照して説明する。
図１に実施例１に係る画像符号化装置のブロック図を示す。
【００２５】
画像符号化装置は、ブロック分割部１０１、予測誤差計算部１０２、イントラ予測部１０４、PMV予測符号化部１０７、適応PMV選択部１０６、動き探索部１０５、復号画像メモリ１０３、DCT変換部１０８、量子化部１０９、エントロピー符号化部１１０、逆量子化部１１１、逆DCT変換部１１２、モード選択部１１３、データ出力部１１４を備えている。
【００２６】
以下に画像符号化装置の各構成要素の動作を詳細に説明する。
【００２７】
なお、画像符号化装置の各構成要素の動作は、例えば、以下の記載の通り各構成要素の自律的な動作としても良い。また、コンピュータの制御部がコンピュータの記憶部が記憶するソフトウェアと協働することにより実現しても構わない。
【００２８】
まずブロック分割部１０１は、符号化対象である原画像を入力し、これを符号化の単位であるブロックに分割する。ここで分割するブロックのサイズは、Coding Unit(CU)やPrediction Unit(PU)と呼ばれる16×16画素等の２のべき乗サイズ（画素数ｍ×画素数ｎのブロック、ｍ,ｎ＝２のべき乗、例. 128×128,64×64，32×32, 16×16, 16×8,8×16,8×8,4×4）のものを用いるが、サイズは可変であり異なるサイズのものが隣り合っていても構わない。以下では同じサイズのブロックが連続する場合を例に挙げ説明し、サイズが異なる場合のベクトルの選択方法については別途説明する。
【００２９】
予測誤差計算部１０２では、生成された予測画像と原画像との差分を取って残差成分を計算し出力する。予測方法については一般にイントラ（フレーム内）予測とインター（フレーム間）予測がある。イントラ予測は、イントラ予測部１０４で行われ、インター予測は、PMV予測符号化部１０７、適応PMV選択部１０６、動き探索部１０５とからなるインター予測部１２０で行われる。イントラ予測は符号化対象ブロックよりも前に符号化された同じフレームの情報を用い、インター予測は符号化対象フレームよりも前に符号化された、再生時間としては前または後ろのフレームの情報を用いる。これらは復号画像メモリ１０３に格納されている。
【００３０】
ここで、イントラ予測部１０４や動き予測部、復号画像メモリ１０３は、説明のため一つだけ記載したが、符号化モード毎、フレーム毎にそれぞれ備えても良い。
【００３１】
イントラ予測部１０４では、符号化対象ブロックよりも前に符号化された同じフレームの情報を用いて符号化対象ブロックの画素を予測する。イントラ予測の方法については既存の方式を用いればよい。
【００３２】
動き予測部１２０については、まず動き探索部１０５において復号画像メモリ１０３に格納されている参照フレームと符号化対象ブロックを用いて動きベクトル(Motion Vector: MV)の探索を行う。画素の精度は整数でも小数でもよく、フィルタによる参照フレームの補間により1/4画素精度が好適であるが、1/2、1/8でもかまわない。本実施例では動き探索方法については既存の方式を用いる。
【００３３】
次に、適応PMV選択部１０６では、符号化対象ブロックの同じフレーム内の周囲ブロック、及び参照フレームの同じ位置とその周囲ブロックの情報を用いて、PMVを時間的、空間的な判別により適応的に選択する。本実施例では、PMVを、時間的な判別と空間的な判別とを双方備え適応的な判別を行うが、一方のみでもかまわない。方法、候補とする周囲ブロック、及びPMVの選択方法の詳細については後述する。
【００３４】
図３を用いてPMVを選択する候補ブロックの例について説明する。既存の動きベクトル競合方式では、３０１のように符号化対象ブロックと同じ符号化対象フレームにある左側のブロック(A)、上側のブロック(B)と一番近い前方参照フレーム(L0[0])の符号化対象ブロックと同じ位置にあるブロック(Co-located Block)(S)を候補とし、A,B,Sのように順番に並べ、これらのうち同じベクトルがある場合には候補から除外して、最も符号化対象ブロックのベクトルに近いものを選択してフラグによって示す。なお、一番近い前方参照フレームを本実施例では採用したが、符号化済みのフレームであれば、後方参照フレームでもかまわない。また、一枚だけでなく、複数枚の符号化済みフレームを参照してもよい。
【００３５】
一方、本実施例の適応PMV選択部で用いる適応動きベクトル選択方式では、３０２のように符号化対象ブロックの左側、上側だけでなく、右上(C)や左上(D)も候補に含める。また、参照フレームのブロックSの周囲ブロックも候補に含めることができる。つまり、適応PMV選択部が用いる候補ブロックの、(a)数、(b)空間的な位置（フレーム内のブロック）と(c)時間的な位置（別フレームのブロック）を変化させることができるようにする。
選択方法の詳細については後述する。
【００３６】
また、本実施例の適応動きベクトル選択方式では、３０３のように候補ブロックのサイズが異なる場合で、最初に参照するべき位置のブロックが動きベクトルを持たない、または参照不可の場合、順次近傍のブロックが動きベクトルを持つかどうかをチェックし、利用可能な場合にはPMV選択の候補とする。具体的には、３０３においてB1が参照不可の場合、B2、B3、B4を順次チェックする。同様にA1が参照不可の場合、A2、A3、A4を、S1が参照不可の場合、S2、S3、S4をチェックする。符号化対象フレームの左上から近い順に走査すればよい。ブロックBの場合は、左から右、下から上の順、ブロックAの場合は上から下、右から左の順、ブロックSの場合は通常のラスタスキャン順、すなわち左から右、上から下の順となる。
【００３７】
次に、PMV予測符号化部１０７では、MVからPMVを引いて差分ベクトル(Differential Motion Vector: DMV)を計算し、これを符号化する。またMVを用いて参照フレームから動き予測を行い、予測ブロックを作成する。
【００３８】
DCT変換部１０８では、予測誤差計算部１０２から入力された残差成分に対してDCT変換が行われ、係数に変換される。続いて量子化部１０９に送られ、各変換係数が量子化される。量子化された係数はエントロピー符号化部１１０に送られ、一定の順序に従って可変長符号等を用いた情報圧縮が行われ、データがモード選択部１１３に送られる。一方で量子化された係数は逆量子化部１１１にも送られ、逆量子化によって変換係数に戻され、さらに逆DCT変換部１１２によって残差成分へと復元される。残差成分は、イントラ予測部１０４及び一連の動き予測部からの情報が加えられて、復号画像に戻り、復号画像メモリ１０３に記憶される。当該復号画像はモード選択部１１３に入力されてモード選択のために利用される。
【００３９】
次に、モード選択部１１３では、複数の符号化モードに関する情報を基に、そのブロックについて最も符号化効率の高いモードを選択する。各符号化モードについて、原画像と復号画像との誤差（符号化誤差）とその符号化モードを利用した場合に発生する符号量を算出し、両者の関係から適切な符号化モードを選択する。例えば最も符号化効率の良い符号化モードを選択する方式としてRate-Distortion最適化方式などの既存の方式を用いればよい。この方式は、各マクロブロックについて全てのモードについて符号量と復号後の原画との符号化誤差を計算し、コスト計算式に従って最も良いモードを選択する方式となっている。
【００４０】
最後に、データ出力部１１４が選択された符号を出力して符号化ストリームが作成され、画像の符号化が行われる。
【００４１】
次に、図５を用いて、画像符号化装置で用いられる画像符号化フローについて説明する。
【００４２】
まず、ステップ５０１は、復号画像メモリ１０３から符号化対象となる原画像を入力し、ブロックに分割する処理である。ここで各ブロックのサイズは可変である。前述のCU、PUを用いればよい。ステップ５０１はブロック分割部１０１において実行される。
【００４３】
次に、ステップ５０２では、ステップ５０１で取得した原画像のブロックについてイントラ予測を行う。イントラ予測については既存の方式を用いればよく、各イントラ予測モードに従って複数のモードについて予測を行う。このステップ５０２の処理はイントラ予測部１０４において実行される。
【００４４】
次に、ステップ５０３では、イントラ予測された符号化ブロックの画素について残差成分を取得し、残差成分のDCT変換処理と量子化処理、エントロピー符号化処理とを行い、符号化データを算出する。また、さらに、当該符号化データからエントロピー復号処理、逆量子化、逆DCT変換処理を行い、復号画像の作成を行う。これにより符号化データと復号画像を出力する。このステップ５０３の処理は、予測誤差計算部１０２、DCT変換部１０８、量子化部１０９、エントロピー符号化部１１０において、この順に書く処理が実行される。
【００４５】
ステップ５０４では、シーン解析を行う。図４を用いてシーン解析の概要について説明する。動画像シーケンスでは１つのGOP(Group of Picture: 時間方向の予測に関するフレームのまとまり)の内部においても、画像の特徴に変化がある場合がある。例えば、映画やドラマにおけるシーンチェンジ、テレビ中継におけるカメラの切替え等が発生する場合がある。図４では、P2のフレームとB3のフレームの間にシーン１とシーン２の切替えが発生した場合を示している。ここで既存の動きベクトル競合方式では、P4やB3のフレームはP2フレームの動きベクトルを参照するが、シーンが異なっているために効果的な動きベクトルを取得することができない。そこで、本実施例では複数の復号画像を解析してフラグを用いずにシーンチェンジを見つけるか、エンコーダ側でのシーン解析の結果、検出されたシーンチェンジ位置をフラグによってデコーダに伝えることによって、符号化対象フレームと参照フレームが異なるシーンに属する場合には、そのブロックをPMVの候補ブロックとはしないという処理を行うことができる。このようなシーン解析の処理はフレーム単位で行ってもよいし、ブロック単位で行ってもよい。この処理は、明確なブロックとしては図示しないが、インター予測部１２０内で動き探索部１０５による動き探索を行う前に実行する。
【００４６】
次に、ステップ５０５において、各インター予測モードに対して動き探索を行う。インター予測モードには、ブロックサイズの異なる動き予測モードや、Skipモード、Directモードなどが含まれる。動き探索の方法は既存の方式を用いればよい。このステップ５０５はインター予測部１２０内の動き探索部１０５において実行される。
【００４７】
次にステップ５０６では、フレーム単位でPMV選択を行うか否かの判定を行う。PMV選択を行わない場合にはステップ５１０に進み、それ以外はステップ５０７に進む。続いてステップ５０７ではブロック単位でPMV選択を行うか否かの判定を行う。PMV選択を行わない場合にはステップ５１０に進み、それ以外はステップ５０８に進む。さらにステップ５０８ではPMV候補ブロックの調整を行い、条件によってどのブロックを候補ブロックに含め、どのブロックを含めないかを判定する。これらの処理はフレーム単位、及びブロック単位で切り換えることができ、こうした切り換えをフラグによって復号装置側へ伝送してもよいし、復号装置に同じ切り替え条件を保持させてもよい。
【００４８】
フレーム単位でのPMV選択判定の詳細を、図８を用いて説明する。ステップ８０１はシーンチェンジか否かの判定を行うことによりPMV選択を行うか否かを判定する。これは前述のようにデコーダ側にてシーン解析処理を行ってフラグの伝送なしにPMV選択の処理を行うか否かの判定を行ってもよいし、エンコーダ側での判断をフラグによってデコーダ側に伝え判定してもよい。PMV選択を行わない場合には、median演算によってPMVを求める方式や、予め左側あるいは上側のブロックのベクトルをPMVとする方式など特定の方式を決めておく。
【００４９】
また、別の例として、ステップ８０２ではピクチャタイプの判定を行うことによりPMV選択を行うか否かを判定する。これは例えば符号化対象フレームがＰピクチャであればPMV選択による動きベクトル予測を行い、そうでなければmedian演算等、他の手段を用いる。ＰピクチャではなくＢピクチャとしてもよい。どのピクチャの時にどのように判断するかを判別するフラグを設けてもよい。
【００５０】
ブロック単位でのPMV選択判定の詳細を、図９を用いて説明する。ステップ９０１は符号化対象ブロックの符号化モードの種類を判別することによってPMV選択を行うか否かを判定する。例えば、特定のブロックサイズの時だけPMV選択を行う、あるいはSkipモードやDirectモードにはPMV選択を適用しないなどとすればよい。
【００５１】
また、別の例として、ステップ９０２では候補ブロックの符号化モードの種類を判別することによってPMV選択を行うか否かを判定する。例えば、候補ブロックがすべてイントラ符号化モードであればPMV選択を行わない。
【００５２】
上記のような方式により、フレーム単位またはブロック単位でPMV選択を行うか否かを切り換えることができる。
【００５３】
ブロック単位でのPMV選択を行う候補ブロックの調整方法の詳細を、図１０を用いて説明する。ここではPMV選択を行う場合に、候補ブロックの符号化モードやベクトルを持つか否か、参照可能か否かによって候補ブロックから除外したり、他の候補ブロックを追加したりといった処理を行う。
【００５４】
まず、ステップ１００１では、符号化対象フレームの候補ブロック、例えば図３のＡ、Ｂから、まだチェックしていないブロックを一つ選択する。これをブロックＸとする。
【００５５】
次に、ステップ１００２では、ブロックＸが参照可能かどうか調べる。もし参照不可であればステップ１００３に進み、参照可能であればステップ１００４に進む。参照不可とはブロック位置が画面の範囲外にある等のためにブロックの情報が取得できない状態であり、参照可能とはブロックの情報が取得できることであり、ブロックの情報にはベクトル、参照フレーム番号が含まれる。
【００５６】
ステップ１００３ではブロックＸを０ベクトルに設定するか、候補ブロックから除外する。どちらにするかは予め定める。例えばステップ１００３では０ベクトルに設定する。「０ベクトル」とは各成分の値が０のベクトルである。
【００５７】
ステップ１００４ではブロックＸがベクトルを持つか否かを調べる。イントラ符号化されたブロックであればベクトルは持たない。ベクトルを持たない場合はステップ１００５に進み、ベクトルを持てばステップ１００６に進む。
【００５８】
ステップ１００５ではブロックＸを０ベクトルに設定するか、候補ブロックから除外する。どちらにするかは予め定める。例えばステップ１００５では候補ブロックから除外する。
【００５９】
ステップ１００６ではブロックＸと符号化対象ブロックの参照フレーム番号が一致するかどうか調べる。例えば符号化対象ブロックが一方向予測で、ブロックＸが双方向予測である場合、L0またはL1のどちらかが一致すればよい。また、符号化対象ブロックが双方向予測で、ブロックＸが一方向予測である場合は不一致となる。不一致であればステップ１００７に進み、一致すればステップ１００８に進む。
【００６０】
ステップ１００７ではブロックＸを０ベクトルに設定するか、候補ブロックから除外する。どちらにするかは予め定める。例えばステップ１００７では候補ブロックから除外する。
【００６１】
ステップ１００８では符号化対象フレーム内に他にチェックする候補ブロックがあるかどうか判定し、他にチェックするブロックがある場合にはステップ１００１に戻る。そうでなければステップ１００９に進む。
【００６２】
ステップ１００９では、参照フレームの候補ブロック、例えば図３のＳから、まだチェックしていないブロックを一つ選択する。これをブロックＹとする。
【００６３】
ステップ１０１０ではブロックＹがベクトルを持つか否かを調べる。イントラ符号化されたブロックであればベクトルは持たない。ベクトルを持たない場合はステップ１０１１に進み、ベクトルを持てばステップ１０１２に進む。
【００６４】
ステップ１０１１ではブロックＹを０ベクトルに設定するか、候補ブロックから除外する。どちらにするかは予め定める。例えばステップ１０１１では候補ブロックから除外する。
【００６５】
ステップ１０１２ではブロックＹと符号化対象ブロックの参照フレーム番号が一致するかどうか調べる。例えば符号化対象ブロックが一方向予測で、ブロックＹが双方向予測である場合、L0またはL1のどちらかが一致すればよい。また、符号化対象ブロックが双方向予測で、ブロックＹが一方向予測である場合は不一致となる。不一致であればステップ１０１３に進み、一致すればステップ１０１４に進む。
【００６６】
ステップ１０１３ではブロックＹを０ベクトルに設定するか、候補ブロックから除外する。どちらにするかは予め定める。例えばステップ１０１３では候補ブロックから除外する。
【００６７】
ステップ１０１４では符号化対象ブロック、またはブロックＹが双方向予測モードかどうかを調べる。どちらかが双方向予測モードであればステップ１０１５に進み、そうでなければステップ１０１６に進む。
【００６８】
ステップ１０１５ではブロックＹを０ベクトルに設定するか、候補ブロックから除外する。どちらにするかは予め定める。例えばステップ１０１５では候補ブロックから除外する。
【００６９】
ステップ１０１６では参照フレーム内に他にチェックする候補ブロックがあるかどうか判定し、他にチェックするブロックがある場合にはステップ１００９に戻る。
【００７０】
ここでは各条件に対応してステップ１００３、１００５、１００７、１０１１、１０１３、１０１５において、ブロックＸまたはブロックＹを０ベクトルに設定するか、候補ブロックから除外する処理を行った。これに対し、例えば候補ブロックとして図３のＣやＤの位置のブロックを候補ブロックに追加してもよい。例えば、Ｓ、Ａ、Ｂのうち、候補ブロックが０の場合はＣとＤを候補ブロックに追加し、１つの場合はＣを候補ブロックに追加する。予めＣやＤ、さらに他のブロックを候補ブロックに加えておき、その中からベクトルを選んでもよい。
【００７１】
例えば、L0[0]のピクチャがイントラ符号化されている場合には、候補ブロックからＳを除外し、その代わりにＣを加えればよい。あるいは、ブロックＡが参照不可の場合にはブロックＣを用いればよい。
【００７２】
上記のようなPMV選択を行うか否か、あるいは候補ブロック調整の方法については、フレーム単位あるいはブロック単位でフラグによって予め決められた方式を切り換えてもよい。すなわち、以下のような方法がありうる。
・どれかの方式に方式を統一する
・フレーム単位で切り替え可能としフラグでどの方式を選んだかを示す
・ブロック単位で切り替え可能としフラグでどの方式を選んだかを示す
図１０に示した条件には以下のようなものがあり、これらは判定の順序を変えてもよい。
・候補ブロックが参照不可かどうか
・候補ブロックが動きベクトルを持つか否か
・候補ブロックと符号化対象ブロックの符号化タイプが異なるかどうか（例えば、候補ブロックが双方向予測(B予測)で符号化対象ブロックが一方向予測(P予測)）
・候補ブロックと符号化対象ブロックの参照フレーム番号が一致するかどうか
・候補ブロック、符号化対象ブロックが双方向予測かどうか
候補ブロックの調整を行う方式としては、以下のようなものがある。
・候補ブロックを候補ブロックから除外する
・候補ブロックのベクトルを０ベクトルとして処理する
・符号化対象フレーム内の別のブロックを候補ブロックに加える
・参照フレーム内の別のブロックを候補ブロックに加える
・図３の３０３に示す別のブロックを候補ブロックに加える
・符号化タイプが一致する場合だけ処理し、それ以外は候補ブロックから除外する
・参照フレーム番号が合う場合だけ処理し、それ以外は候補ブロックから除外する
・参照フレーム番号が合うベクトルを他のベクトルに当てはめて両方処理する
続いて、ステップ５０９ではPMVを選択して差分ベクトルを計算し符号化する。PMVは候補ブロックのベクトルの中から最も符号化対象ブロックのベクトルに近いベクトルを選択する。ベクトルの各成分を符号化した時に最も符号量が小さくなるベクトルを選択する。選択されたベクトルはフラグとして伝送される。これは候補ブロックを順に並べ、１ビットであれば０の時は先頭の候補ブロックのベクトル、１の時は次の候補ブロックのベクトルが選ばれたことになる。候補ブロックの順番は、例えばＡ、Ｂ、Ｓのブロックが合った時、まずＡ、Ｂ、Ｓの順に並べ、同じベクトルがあった場合には除外し、先頭から２つのブロックが並べられ比較されることになる。
【００７３】
選択されるベクトルが２ビットで示される場合を以下に示す。候補ブロックは図３０２に示すＡ、Ｂ、Ｓ、Ｃの４つであったとする。上記の例と同様に符号化対象ブロックのベクトルに最も近いベクトルを選択し、Ａ：00、Ｂ：01、Ｃ：10、Ｓ：11のような形で符号を伝送する。例えば、これらのうち候補ブロックから除外されるものがあれば、そのブロックの順序を繰り上げる。選択したベクトルを示すビット数はフレーム単位、ブロック単位で切り替えてもよい。その場合には別途切り換えを示すフラグを伝送する。
【００７４】
図１１に選択されるベクトルの符号の記述方法の例を示す。現在の１つ前の符号化対象ブロックの候補ブロック番号をPとし、候補ブロックの数をNとする。現在の符号化対象ブロックの候補ブロック番号をXとする。もし現在の符号化対象ブロックの候補ブロック番号がPであれば0を符号Cとする。そうでなければ、まず1を出力し、さらに続けて(X - P - 1) % N を出力する。逆に、符号Cが0の時は現在の符号化対象ブロックの候補ブロック番号Xは、１つ前の候補ブロック番号Pと同じである。そうではなく符号Cの先頭ビットが1であるときは、先頭ビットを除いた残りの符号をC^として、X = (P + C^ + 1 ) % Nとなる。このようにすることにより、連続して同じ候補ブロック番号が選ばれる場合に符号量を短くすることができる。
【００７５】
なお、これらのステップ５０６からすステップ５０９の処理は適応PMV選択部１０６で実行される。
【００７６】
次に、ステップ５１０ではPMV計算とベクトル符号化が行われる。ここではPMVの選択は行われず、通常のmedian演算によってPMVの計算が行われる。これは左側Ａ、上側Ｂ、右上Ｃまたは左上Ｄのベクトルの各成分についてmedian演算を行い、PMV決定するものである。PMVが決定された後、符号化対象ブロックのベクトルとの差分ベクトルを計算し符号化する。
このステップ５１０の処理は、PMV予測符号化１０７で実行される。
【００７７】
ステップ５１１では、各インター予測モードについて動き予測を行い、符号化ブロックの画素について残差成分を取得し、残差成分のDCT変換処理と量子化処理、エントロピー符号化処理とを行い、符号化データを算出する。フテップ５１１に含まれるここまでの各処理は、DCT変換部１０８、量子化部１０９、エントロピー符号化部１１０で実行される。またさらに、当該符号化データからエントロピー復号処理、逆量子化、逆DCT変換処理を行い、復号画像の作成を行う。これにより符号化データと復号画像を出力する。ステップ５１１に含まれるこれまで各処理は、逆量子化部１１１、逆DCT変換部１１２で行われる。
【００７８】
次に、ステップ５１２では、ステップ５０３およびステップ５１１の処理結果に従い、各符号化モードについての画像符号化結果を比較して、当該ブロックについて出力する符号化モードを決定する。ステップ５１２の処理は、モード選択部１１３で実行される。
【００７９】
次に、ステップ５１３では、ステップ５１２で選択した符号化モードにおける符号化データを符号化ストリームとして出力する。ステップ５１３の処理は、データ出力部１１４で実行される。
【００８０】
以上説明したように、実施例１における符号化処理が行われる。
【００８１】
以上説明した実施例１に係る画像符号化装置及び画像符号化方法によれば、既存の符号化方式よりも精度が高く、かつ符号量の少ないインター予測が可能となり、既存方式よりも圧縮効率の高い画像符号化装置及び画像符号化方法を実現することが可能となる。
【００８２】
また、実施例１に係る画像符号化装置及び画像符号化方法は、これらを用いた記録装置、携帯電話、デジタルカメラ等に適用することが可能である。
【００８３】
以上説明した実施例１に係る画像符号化装置及び画像符号化方法によれば、符号化データの符号量を低減し、当該符号化データを復号した場合の復号画像の画質の劣化を防ぐことが可能となる。すなわち、高い圧縮率とより良い画質とを実現することができる。
【実施例２】
【００８４】
次に、図２に実施例２に係る画像復号装置のブロック図の例を示す。
【００８５】
本実施例の画像復号装置は、ストリーム解析部２０１、モード判定部２０２、係数解析部２０３、イントラ予測合成部２０４、適応PMV選択復号部２０５、動き予測合成部２０６、逆量子化部２０７、逆DCT変換部２０８、復号画像メモリ２０９、画像出力部２１０を備えている。
【００８６】
以下に、画像復号装置の各構成要素の動作を詳細に説明する。なお、画像復号装置の各構成要素の動作は、例えば、以下の記載の通り各構成要素の自律的な動作としても良い。また、例えば、コンピュータの制御部や記憶部が記憶するソフトウェアと協働することにより実現しても構わない。
【００８７】
まず、ストリーム解析部２０１が、入力された符号化ストリームを解析する。ここで、ストリーム解析部２０１は、パケットからのデータ抽出処理や各種ヘッダ、フラグの情報取得処理も行う。さらに各ブロックの処理を行う。
【００８８】
また、このとき、ストリーム解析部２０１に入力される符号化ストリームは、実施例１に係る画像符号化装置及び画像符号化方法により生成された符号化ストリームである。その生成方法は、実施例１に示したとおりであるので説明を省略する。実施例３に示すデータ記録媒体から読み出した符号化ストリームであってもよい。その記録方法は後述する。
【００８９】
次に、モード判定部２０２は、各ブロックについて、フラグ等によって指定された符号化モードの判別を行う。以下の復号処理は、当該判別結果の符号化モードに対応する処理が行われる。以下にそれぞれの符号化モードについての処理を説明する。
【００９０】
まず、符号化モードがイントラ符号化である場合には、イントラ予測合成部２０４がイントラ予測と予測画像の合成を行う。この方法は従来の方法を用いればよい。ここで、イントラ予測合成部２０４は合成した予測画像を出力する。
【００９１】
符号化モードがフレーム間のインター予測による符号化である場合には、動き予測と予測画像の合成が行われる。まず適応PMV選択復号部２０５により、適応的にPMVが選択され、復号された差分ベクトルと合成されて動きベクトルが復元される。PMVの選択方法についてはエンコーダとデコーダが同じPMVを選択するように動作するため、実施例１に記述した方法と同様である。
【００９２】
続いて、動き予測合成部２０６が、復元された動きベクトルを用いてブロック内の画素について参照フレームを利用して動き予測を行う。ここで、動き予測合成部２０６は合成した予測画像を出力する。
【００９３】
一方、係数解析部２０３は、入力符号化ストリームに含まれる各マクロブロックの符号化データを解析し、残差成分の符号化データを出力する。この時、モード判定部２０２の判別結果の符号化モードに対応する処理が行われる。
【００９４】
逆量子化部２０７は符号化データに逆量子化処理を行い、これを逆DCT変換部２０８に送る。逆DCT変換部２０８は、逆量子化された係数を逆DCT変換し残差成分を復元する。
【００９５】
上記のようにして復元された各符号化モードの残差成分は、イントラ予測合成部２０４や動き予測合成部２０６から出力される予測画像と加算されて、復号画像に戻り、復号画像メモリ２０９に格納される。復号画像メモリ２０９には、現在復号しているフレームの情報と、過去に復号したフレームの情報が格納されており、イントラ予測合成部２０４や動き予測合成部２０６に参照される。
【００９６】
最後に復号された画像が画像出力部２１０によって出力され、画像の復号が行われる。
【００９７】
次に、図６を用いて、実施例２に係る画像復号装置における画像復号方法の流れについて説明する。
【００９８】
まず、ステップ６０１で、復号対象となる符号化ストリームを取得する。次に、ステップ６０２では、ステップ６０１において取得した符号化ストリームに含まれる符号化モードフラグと符号化データを解析する。このステップ６０１、ステップ６０２はストリーム解析部２０１で実行される。
【００９９】
次に、ステップ６０３では、ステップ６０２において解析した符号化モードフラグを用いて、当該符号化データに含まれる一の符号化単位（ブロック単位や画素単位など）についての符号化モードを判定する。ここでイントラ符号化モードである場合にはステップ６０４に進み、インター符号化モードである場合にはステップ６０５に進む。このステップ６０３は、モード判定部２０２で実行される。
【０１００】
ステップ６０４では、符号化モードによって指定された方法に従ってイントラ予測を行う。これは既存のイントラ予測方法を用いればよい。このステップ６０４は、イントラ予測合成部２０４で実行される。
【０１０１】
ステップ６０５では、フレーム単位の諸条件、フラグの情報に従って、該フレームに対してPMV選択を行うかどうかを判定する。フレーム単位でPMV選択を行うか否かの判定はエンコーダとデコーダが同じ処理をするように動作するため、実施例１に記述した方法と同様である。PMV選択を行わない場合にはステップ６０９に進み、それ以外はステップ６０６に進む。ステップ６０６では符号化モード、ブロック単位の諸条件、フラグの情報に従って、該ブロックに対してPMV選択を行うかどうかを判定する。ブロック単位でPMV選択を行うか否かの判定はエンコーダとデコーダが同じ処理をするように動作するため、実施例１に記述した方法と同様である。PMV選択を行わない場合にはステップ６０９に進み、それ以外はステップ６０７に進む。
【０１０２】
ステップ６０７ではPMV候補ブロックの調整を行う。ここでは条件によってどのブロックを候補ブロックに含め、どのブロックを含めないかを判定する。PMV候補ブロックの調整はエンコーダとデコーダが同じ処理をするように動作するため、実施例１に記述した方法と同様である。
【０１０３】
ステップ６０８ではPMV選択とベクトル復号が行われる。PMVの選択方法は、エンコーダとデコーダが同じ処理をするように動作するため、実施例１に記述した方法と同様である。ベクトルの復号は、PMVと復号された差分ベクトルを合成して符号化対象ブロックの動きベクトルを復元する。
【０１０４】
次に、ステップ６０９ではPMV計算とベクトル復号が行われる。PMVの計算方法は、エンコーダとデコーダが同じ処理をするように動作するため、実施例１に記述した方法と同様である。ベクトルの復号は、PMVと復号された差分ベクトルを合成して符号化対象ブロックの動きベクトルを復元する。これらのステップ６０５、ステップ６０６、ステップ６０７、ステップ６０８及びステップ６０９は、適応PMV選択復号部２０５で実行される。
【０１０５】
ステップ６１０では復元されたベクトルと参照フレームを用いてインター予測を行い、予測画像を合成する。これは判定された符号化モードに応じて、図２における画像復号装置のイントラ予測合成部２０４、動き予測合成部２０６が、それぞれの対応する符号化モードの場合に予測画像の合成処理を行えばよい。このステップ６１０は、動き予測合成部２０６で実行される。
【０１０６】
ステップ６１１では、予測画像と残差成分を合成し、復号画像の生成を行う。まず符号化データを解析し、当該符号化データについて逆量子化処理、逆DCT変換処理を行い、前記一の符号化単位についての残差成分の復号を行う。これに予測画像を合成して復号画像の生成を行い、メモリに記憶する。最後に、ステップ６１２では、生成された復号画像の出力を行う。このステップ６１１の各処理は、係数解析部２０３、逆量子化部２０７、逆DCT変換部２０８、復号画像メモリ２０９及び画像出力部２１０で実行される。
【０１０７】
なお、本実施例においても、例に示す以外にも、符号化モードで用いるブロックのサイズなどをパラメータとして、各符号化モードを細分化して規定した符号化ストリームを、復号対象ストリームとしてもよい。
【０１０８】
以上説明した実施例２に係る画像復号装置及び画像復号方法によれば、既存の符号化方式よりも精度が高く、かつ符号量の少ないインター予測が可能となり、既存方式よりも圧縮効率の高い画像復号装置及び画像復号方法を実現することが可能となる。
【０１０９】
また、実施例２に係る画像復号装置及び画像復号方法は、これらを用いた再生装置、携帯電話、デジタルカメラ等に適用することが可能である。
【０１１０】
以上説明した実施例２に係る画像復号装置及び画像復号方法によれば、符号量の少ない符号化データをより高画質に復号することが可能となる。
【実施例３】
【０１１１】
次に、図７に実施例１に係る画像符号化装置または画像符号化方法により生成された符号化ストリームが格納されたデータ記録媒体を示す。
【０１１２】
本実施例に係る符号化ストリームは、実施例１に係る画像符号化装置または画像符号化方法により生成された符号化ストリームである。その生成方法は、実施例１に示したとおりであるので、説明を省略する。
【０１１３】
ここで、本実施例に係る符号化ストリームは、データ記録媒体７０１上にデータ列７０２として記録される。データ列７０２は、所定の文法に従う符号化ストリームとして記録されている。以下ではH.264/AVC規格の一部を変更したものとして説明する。
【０１１４】
まず、H.264/AVCでは、シーケンスパラメータセット７０３、ピクチャパラメータセット７０４、スライス７０５、７０６、７０７からストリームが構成される。以下、１つのスライスに１つの画像（ピクチャ）が格納される場合を示す。
【０１１５】
各スライスの内部には、それぞれのブロックに関する情報７０８が含まれている。ブロックに関する情報７０８の内部には、ブロックごとにそれぞれの符号化モードを記録する領域があり、これを符号化モードフラグ７０９とする。
【０１１６】
以上説明した実施例３に係るデータ記録媒体によれば、既存方式よりも圧縮効率が高い符号化ストリームで記録されているので、多くの画像を記録することができる。
【０１１７】
なお、以上説明した各図、各方法等の実施例のいずれを組み合わせてもよい。
【符号の説明】
【０１１８】
１０１…ブロック分割部、１０２…予測誤差計算部、１０３…復号画像メモリ、１０４…イントラ予測部、１０５…動き探索部、１０６…適応PMV選択部、１０７…PMV予測符号化部、１０８…DCT変換部、１０９…量子化部、１１０…エントロピー符号化部、１１１…逆量子化部、１１２…逆DCT変換部、１１３…モード選択部、１１４…データ出力部、１２０…インター予測部
２０１…ストリーム解析部、２０２…モード判定部、２０３…係数解析部、２０４…イントラ予測合成部、２０５…適応PMV選択復号部、２０６…動き予測合成部、２０７…逆量子化部、２０８…逆DCT変換部、２０９…復号画像メモリ、２１０…画像出力部
【図１】
0005951915.tif 000002
【図２】
0005951915.tif 000003
【図３】
0005951915.tif 000004
【図４】
0005951915.tif 000005
【図５】
0005951915.tif 000006
【図６】
0005951915.tif 000007
【図７】
0005951915.tif 000008
【図８】
0005951915.tif 000009
【図９】
0005951915.tif 000010
【図１０】
0005951915.tif 000011
【図１１】
0005951915.tif 000012