JP5698541B2 - 画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法及び画像予測復号プログラム - Google Patents

画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法及び画像予測復号プログラム Download PDF

Info

Publication number
JP5698541B2
JP5698541B2 JP2011004294A JP2011004294A JP5698541B2 JP 5698541 B2 JP5698541 B2 JP 5698541B2 JP 2011004294 A JP2011004294 A JP 2011004294A JP 2011004294 A JP2011004294 A JP 2011004294A JP 5698541 B2 JP5698541 B2 JP 5698541B2
Authority
JP
Japan
Prior art keywords
region
motion vector
motion
information
prediction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2011004294A
Other languages
English (en)
Other versions
JP2012147269A (ja
Inventor
鈴木 芳典
芳典 鈴木
ブン チュンセン
チュンセン ブン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Docomo Inc
Original Assignee
NTT Docomo Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT Docomo Inc filed Critical NTT Docomo Inc
Priority to JP2011004294A priority Critical patent/JP5698541B2/ja
Publication of JP2012147269A publication Critical patent/JP2012147269A/ja
Application granted granted Critical
Publication of JP5698541B2 publication Critical patent/JP5698541B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法及び画像予測復号プログラムに関するものであり、特に、周囲ブロックの動き情報を用いて対象ブロックの予測信号を生成する画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法及び画像予測復号プログラムに関するものである。
静止画像や動画像データの伝送や蓄積を効率よく行うために、圧縮符号化技術が用いられる。動画像の場合ではMPEG−1〜4やITU(International Telecommunication Union)H.261〜H.264の方式が広く用いられている。
これらの符号化方式では、符号化の対象となる画像を複数のブロックに分割した上で符号化処理又は復号処理を行う。画面内の予測符号化では、対象ブロックと同じ画面内にある隣接する既再生の画像信号(圧縮された画像データが復元されたもの)を用いて予測信号を生成した上で、その予測信号を対象ブロックの信号から引き算することによって得られる差分信号を符号化する。画面間の予測符号化では、対象ブロックと異なる画面内にある隣接する既再生の画像信号を参照して動きの補正を行ない、予測信号を生成し、その予測信号を対象ブロックの信号から引き算することによって得られる差分信号を符号化する。
例えば、H.264の画面内予測符号化では、符号化の対象となるブロックに隣接する既再生の画素値を所定の方向に外挿して予測信号を生成する方法を採用している。図15は、ITU H.264に用いられる画面内予測方法を説明するための模式図である。図15(a)において、対象ブロック802は符号化の対象となるブロックであり、その対象ブロック802の境界に隣接する画素A〜Mからなる画素群801は隣接領域であり、過去の処理において既に再生された画像信号である。
図15(a)に示す場合には、対象ブロック802の真上にある隣接画素である画素群801を下方に引き伸ばすことにより予測信号を生成する。また、図15(b)に示す場合では、対象ブロック804の左にある既再生画素(I〜L)を右に引き伸ばすことにより予測信号を生成する。予測信号を生成する具体的な方法は、例えば特許文献1に記載されている。このように図15(a)〜(i)に示す方法で生成された9つの予測信号のそれぞれと対象ブロックの画素信号との差分をとり、差分値が最も小さいものを最適な予測信号とする。以上のように、画素を外挿することにより予測信号を生成することができる。以上の内容については、下記特許文献1に記載されている。
通常の画面間予測符号化では、符号化の対象となるブロックについて、その画素信号に類似する信号を既に再生済みの画面から探索するという方法で予測信号を生成する。そして、対象ブロックと探索した信号が構成する領域との間の空間的な変位量である動きベクトルと、対象ブロックの画素信号と予測信号との残差信号とを符号化する。このようにブロック毎に動きベクトルを探索する手法はブロックマッチングと呼ばれる。
図16は、ブロックマッチング処理を説明するための模式図である。以下、符号化対象の画面601上の対象ブロック602を例に予測信号の生成手順を説明する。画面603は既に再生済みであり、領域604は対象ブロック602と空間的に同一位置の領域である。ブロックマッチングでは、領域604を囲む探索範囲605を設定し、この探索範囲の画素信号から対象ブロック602の画素信号との絶対値誤差和が最小となる領域606を検出する。この領域606の信号が予測信号となり、領域604から領域606への変位量が動きベクトル607として検出される。また、参照画面603を複数用意し、対象ブロック毎にブロックマッチングを実施する参照画面を選択し、参照画面選択情報を検出する方法も用いられることがある。H.264では、画像の局所的な特徴の変化に対応するため、動きベクトルを符号化するブロックサイズが異なる複数の予測タイプを用意している。H.264の予測タイプについては、例えば特許文献2に記載されている。
動画像データの圧縮符号化では、各画面(フレーム、フィールド)の符号化順序は任意でよい。そのため、再生済み画面を参照して予測信号を生成する画面間予測にも、符号化順序について3種類の手法がある。第1の手法は、再生順で過去の再生済み画面を参照して予測信号を生成する前方向予測であり、第2の手法は、再生順で未来の再生済み画面を参照して予測信号を生成する後方向予測であり、第3の手法は、前方向予測と後方向予測を共に行い、2つの予測信号を平均化する双方向予測である。画面間予測の種類については、例えば特許文献3に記載されている。
なお、近年では、双方向予測はより一般化されており、2つの過去の再生済み画面を用いて2つの予測信号が生成できるようになっている。つまり、複数の参照画面を登録した2つの参照画面リスト(第1の参照画面リストと第2の参照画面リスト)を用意して、それぞれから1つの参照画面を選択して、2つの予測信号を生成する。生成した2つの予測信号を平均して最終的な予測信号を求める。そのため、双方向予測ではなく、双予測と呼ばれる。
同様に、前方向予測と後方向予測についても、2つの参照画面リスト(第1の参照画面リストと第2の参照画面リスト)の何れかを選択するという手法が用いられる事が多い。この場合、片予測と呼ばれる。
次世代符号化映像符号化方式として標準化が始まったHEVC(High efficiency video coding)では、画面間予測ブロックの分割タイプとして、図17(b)及び(c)に示す矩形2分割、図17(d)に示す正方4分割に加えて、図17(e)〜(h)に示すように非対称分割の導入も検討されている。これらのブロックの動きベクトルを符号化する際には、符号化効率向上のため、動きベクトルそのものではなく、隣接ブロックの動きベクトルを予測動きベクトルとし、予測動きベクトルと符号化対象の動きベクトルとの差分値を符号化する。さらに、複数の予測動きベクトルを用意し、差分値が小さくなる1つを選択する工夫も施されている。
図17(b)の分割タイプでは、例えば、図18(a)に示すサブブロック700aと図18(b)に示すブロック700bの予測動きベクトル候補として、隣接ブロック701a〜704aと隣接ブロック701b〜704bの動きベクトルが利用できる。複数の予測動きベクトルの候補から1つを選択し、選択した予測動きベクトルを示すための「予測動きベクトル選択情報」を符号化する。
米国特許公報第6765964号 米国特許公報第7003035号 米国特許公報第6259739号
図18に示したように、HEVCで検討されている動きベクトル符号化では、複数の隣接ブロックの動きベクトルが予測動きベクトルとして利用できる。予測動きベクトルの候補の数が増えれば、選択肢が増えるため、差分動きベクトルの符号量は減少するが、その一方で、「予測動きベクトル選択情報」の符号量は増加する。
そのため、予測効率の悪い動きベクトルは予測動きベクトルの候補に含めないことが好ましい。しかしながら、従来例では、図18(a)及び(b)に示すように、ブロック内のサブブロックの位置によらず、4個の同一位置の隣接ブロックの動きベクトルが予測動きベクトルの候補として利用されている。
このような分割タイプは、サブブロック700aとサブブロック700bが異なる動きを保有している場合に有効となる。そのため、ブロック702bの動きベクトル、つまりサブブロック700aの動きベクトルは、ブロック700bの予測動きベクトルとしては好ましくないと考えられる。
そこで、上述の課題を解決するために、本発明は、対象ブロック内のサブブロックの位置に応じて予測動きベクトルの候補の選出を適応化することにより、動きベクトルを効率良く処理できる画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法及び画像予測復号プログラムを提供することを目的とする。
上記課題を解決するために、本発明に係る画像予測符号化装置は、入力画像を複数の領域に分割する領域分割手段と、領域分割手段によって分割された符号化対象とする対象領域を第1領域と第2領域とに分け、当該2領域の信号との相関が高い信号を既再生信号から取得するための2つの動きベクトルを求める動き情報推定手段と、動き情報推定手段によって求められた2領域の動きベクトルに基づいて、対象領域の予測信号を生成する予測信号生成手段と、第1領域及び第2領域の動きベクトルを保存する予測情報保存手段と、第2領域に隣接するブロックの動きベクトルを第2領域の予測動きベクトルとし、第2領域の動きベクトルと第2領域の予測動きベクトルとから第2領域の差分動きベクトルを生成する動き情報生成手段と、対象領域の予測信号と対象領域の画素信号とに基づく残差信号を生成する残差信号生成手段と、残差信号生成手段によって生成された残差信号に量子化処理を施し、量子化係数を生成する量子化手段と、第1領域の動きベクトルの生成に必要な情報、前記第2領域の予測動きベクトルを指示する選択情報、第2領域の差分動きベクトル及び残差信号の量子化係数を符号化する符号化手段と、量子化手段によって生成された量子化係数に逆量子化処理を施し、残差信号を再生する逆量子化手段と、予測信号と再生された残差信号とを加算することによって対象領域の復元画素信号を生成し、当該復元画素信号を既再生信号として保存する記録手段と、を備え、動き情報生成手段は、対象領域の第2領域に隣接するブロックから、対象領域の第1領域を除く予め定められた複数個の隣接ブロックに属する動きベクトルを第2領域の予測動きベクトルの候補として選出し、当該複数の第2領域の予測動きベクトルの候補から1つを選択して、第2領域の予測動きベクトルとすることを特徴とする。
この画像予測符号化装置では、対象領域の第2領域に隣接するブロックから、対象領域の第1領域を除く予め定められた複数個の隣接ブロックに属する動きベクトルを第2領域の予測動きベクトルの候補として選出し、この複数の第2領域の予測動きベクトルの候補から1つを選択して第2領域の予測動きベクトルとする。このように、第2領域の予測動きベクトルの候補から第1領域の動きベクトルを除外することにより、予測動きベクトルの候補数が減り、第2領域の予測動きベクトル選択情報の符号量が抑制される。したがって、対象領域内のサブブロックの位置に応じて予測動きベクトルの候補の選出を適応化させることができ、動きベクトルを効率良く符号化することができる。
また、動き情報生成手段は、予め定められた複数個の隣接ブロックが動きベクトルを保有しない場合、対象領域の第1領域に属する動きベクトルを、第2領域の予測動きベクトルとすることが好ましい。予め定められた複数個の隣接ブロックが動きベクトルを保有しない場合、すなわち第2領域の予測動きベクトルの候補数が0個の場合には、第1領域の動きベクトルがそのまま符号化される。通常、第1領域と第2領域との動きベクトルの差分の絶対値は、第2領域の動きベクトルの絶対値より小さいため、動きベクトルの符号量は削減される。したがって、第2領域の動き情報の符号化効率が更に向上する。
この画像予測復号化装置において、前記動き情報生成手段は、前記第1領域に隣接するブロックの動きベクトルを前記第1領域の予測動きベクトルとし、前記第1領域の動きベクトルと前記第1領域の予測動きベクトルとから前記第1領域の差分動きベクトルを生成し、前記符号化手段は、さらに、前記第1領域の動きベクトルを生成するための情報として、前記第1領域の差分動きベクトルを符号化する。
また、本発明に係る画像予測復号装置は、複数の領域に分割して符号化された画像の圧縮データを解析し、復号対象となる対象領域の信号を第1領域と第2領域とに分けて予測するための動き情報の復号データと、残差信号の復号データとを復号する復号手段と、動き情報の復号データには、前記第1領域の動きベクトルの生成に必要な情報、前記第2領域の予測動きベクトルを指示する選択情報、前記第2領域の差分動きベクトルが含まれており、第1領域の動きベクトルの生成に必要な情報から第1領域の動きベクトルを復元すると共に、第2領域に隣接するブロックの動きベクトルから前記動き情報の復号データに含まれる前記第2領域の予測動きベクトルを指示する選択情報に基づいて第2領域の予測動きベクトルを決定し、動き情報の復号データに含まれる第2領域の差分動きベクトルと第2領域の予測動きベクトルとから第2領域の動きベクトルを復元する動き情報復元手段と、動き情報復元手段によって復元された2領域の動きベクトルに基づいて、対象領域の予測信号を生成する予測信号生成手段と、第1領域及び第2領域の動きベクトルを保存する予測情報保存手段と、残差信号の復号データである量子化係数に逆量子化処理を施して、残差信号を再生する逆量子化手段と、予測信号と再生された残差信号とを加算することによって対象領域の復元画素信号を生成し、当該復元画素信号を既再生信号として保存する記録手段と、を備え、動き情報復元手段は、対象領域の第2領域に隣接するブロックから、対象領域の第1領域を除く予め定められた複数個の隣接ブロックに属する動きベクトルを第2領域の予測動きベクトルの候補として選出し、当該複数の第2領域の予測動きベクトルの候補から1つを選択して、第2領域の予測動きベクトルとすることを特徴とする。
この画像予測復号装置では、対象領域の第2領域に隣接するブロックから、対象領域の第1領域を除く予め定められた複数個の隣接ブロックに属する動きベクトルを第2領域の予測動きベクトルの候補として選出し、この複数の第2領域の予測動きベクトルの候補から1つを選択して第2領域の予測動きベクトルとする。このように、第2領域の予測動きベクトルの候補から第1領域の動きベクトルを除外することにより、予測動きベクトルの候補数が減り、第2領域の予測動きベクトル選択情報の符号量が抑制される。したがって、対象領域内のサブブロックの位置に応じて予測動きベクトルの候補の選出を適応化させることができ、動きベクトルを効率良く復号化することができる。
また、動き情報復元手段は、予め定められた複数個の隣接ブロックが動きベクトルを保有しない場合、対象領域の第1領域に属する動きベクトルを、第2領域の予測動きベクトルとすることが好ましい。予め定められた複数個の隣接ブロックが動きベクトルを保有しない場合、すなわち第2領域の予測動きベクトルの候補数が0個の場合には、第1領域の動きベクトルがそのまま符号化される。通常、第1領域と第2領域との動きベクトルの差分の絶対値は、第2領域の動きベクトルの絶対値より小さいため、動きベクトルの復号量は削減される。したがって、第2領域の動き情報の復号化効率が更に向上する。
また、この画像予測復号装置において、前記動き情報の復号データには、前記第1領域の動きベクトルの生成に必要な情報として、前記第1領域の予測動きベクトルを指示する選択情報を含むとともに、さらに前記第1領域の差分動きベクトルを含み、前記動き情報復元手段は、前記第1領域に隣接するブロックの動きベクトルを決定し、第1領域の差分ベクトルと前記第1領域の予測動きベクトルから第1の領域の動きベクトルを復元する。
また、本発明は、上記のように画像予測符号化装置及び画像予測復号装置として記述できる他に、以下のように画像予測符号化方法、画像予測復号方法、画像予測符号化プログラム及び画像予測復号プログラムとしても記述することができる。これはカテゴリが異なるだけで、実質的に同一の発明であり、同様の作用及び効果を奏する。
即ち、本発明に係る画像予測符号化方法は、画素信号を保存する記録手段を備える画像予測符号化装置の画像予測符号化方法において、入力画像を複数の領域に分割する領域分割ステップと、領域分割ステップにおいて分割された符号化対象とする対象領域を第1領域と第2領域とに分け、当該2領域の信号との相関が高い信号を既再生信号から取得するための2つの動きベクトルを求める動き情報推定ステップと、動き情報推定ステップにおいて求められた2領域の動きベクトルに基づいて、対象領域の予測信号を生成する予測信号生成ステップと、第1領域及び第2領域の動きベクトルを保存する予測情報保存ステップと、第2領域に隣接するブロックの動きベクトルを第2領域の予測動きベクトルとし、第2領域の動きベクトルと第2領域の予測動きベクトルとから第2領域の差分動きベクトルを生成する動き情報生成ステップと、対象領域の予測信号と対象領域の画素信号とに基づく残差信号を生成する残差信号生成ステップと、残差信号生成ステップにおいて生成された残差信号に量子化処理を施し、量子化係数を生成する量子化ステップと、第1領域の動きベクトルの生成に必要な情報、前記第2領域の予測動きベクトルを指示する選択情報、第2領域の差分動きベクトル及び残差信号の量子化係数を符号化する符号化ステップと、量子化ステップにおいて生成された量子化係数に逆量子化処理を施し、残差信号を再生する逆量子化ステップと、予測信号と再生された残差信号とを加算することによって対象領域の復元画素信号を生成し、当該復元画素信号を既再生信号として前記記録手段に保存する記録ステップと、を含み、動き情報生成ステップでは、対象領域の第2領域に隣接するブロックから、対象領域の第1領域を除く予め定められた複数個の隣接ブロックに属する動きベクトルを第2領域の予測動きベクトルの候補として選出し、当該複数の第2領域の予測動きベクトルの候補から1つを選択して、第2領域の予測動きベクトルとすることを特徴とする。
また、本発明に係る画像予測復号方法は、画素信号を保存する記録手段を備える画像予測復号装置の画像予測復号方法において、複数の領域に分割して符号化された画像の圧縮データを解析し、復号対象となる対象領域の信号を第1領域と第2領域とに分けて予測するための動き情報の復号データと、残差信号の復号データとを復号する復号ステップと、動き情報の復号データには、前記第1領域の動きベクトルの生成に必要な情報、前記第2領域の予測動きベクトルを指示する選択情報、前記第2領域の差分動きベクトルが含まれており、第1領域の動きベクトルの生成に必要な情報から第1領域の動きベクトルを復元すると共に、第2領域に隣接するブロックの動きベクトルから前記動き情報の復号データに含まれる前記第2領域の予測動きベクトルを指示する選択情報に基づいて第2領域の予測動きベクトルを決定し、動き情報の復号データに含まれる第2領域の差分動きベクトルと第2領域の予測動きベクトルとから第2領域の動きベクトルを復元する動き情報復元ステップと、動き情報復元ステップにおいて復元された2領域の動きベクトルに基づいて、対象領域の予測信号を生成する予測信号生成ステップと、第1領域及び第2領域の動きベクトルを保存する予測情報保存ステップと、残差信号の復号データである量子化係数に逆量子化処理を施して、残差信号を再生する逆量子化ステップと、予測信号と再生された残差信号とを加算することによって対象領域の復元画素信号を生成し、当該復元画素信号を既再生信号として前記記録手段に保存する記録ステップと、を含み、動き情報復元ステップでは、対象領域の第2領域に隣接するブロックから、対象領域の第1領域を除く予め定められた複数個の隣接ブロックに属する動きベクトルを第2領域の予測動きベクトルの候補として選出し、当該複数の第2領域の予測動きベクトルの候補から1つを選択して、第2領域の予測動きベクトルとすることを特徴とする。
また、本発明に係る画像予測符号化プログラムは、コンピュータを、入力画像を複数の領域に分割する領域分割モジュールと、領域分割モジュールによって分割された符号化対象とする対象領域を第1領域と第2領域とに分け、当該2領域の信号との相関が高い信号を既再生信号から取得するための2つの動きベクトルを求める動き情報推定モジュールと、動き情報推定モジュールによって求められた2領域の動きベクトルに基づいて、対象領域の予測信号を生成する予測信号生成モジュールと、第1領域及び第2領域の動きベクトルを保存する予測情報保存モジュールと、第2領域に隣接するブロックの動きベクトルを第2領域の予測動きベクトルとし、第2領域の動きベクトルと第2領域の予測動きベクトルとから第2領域の差分動きベクトルを生成する動き情報生成モジュールと、対象領域の予測信号と対象領域の画素信号とに基づく残差信号を生成する残差信号生成モジュールと、残差信号生成モジュールによって生成された残差信号に量子化処理を施し、量子化係数を生成する量子化モジュールと、第1領域の動きベクトルの生成に必要な情報、前記第2領域の予測動きベクトルを指示する選択情報、第2領域の差分動きベクトル及び残差信号の量子化係数を符号化する符号化モジュールと、量子化モジュールによって生成された量子化係数に逆量子化処理を施し、残差信号を再生する逆量子化モジュールと、予測信号と再生された残差信号とを加算することによって対象領域の復元画素信号を生成し、当該復元画素信号を既再生信号として保存する記録モジュールと、として機能させ、動き情報生成モジュールは、対象領域の第2領域に隣接するブロックから、対象領域の第1領域を除く予め定められた複数個の隣接ブロックに属する動きベクトルを第2領域の予測動きベクトルの候補として選出し、当該複数の第2領域の予測動きベクトルの候補から1つを選択して、第2領域の予測動きベクトルとすることを特徴とする。
また、本発明に係る画像予測復号プログラムは、コンピュータを、複数の領域に分割して符号化された画像の圧縮データを解析し、復号対象となる対象領域の信号を第1領域と第2領域とに分けて予測するための動き情報の復号データと、残差信号の復号データとを復号する復号モジュールと、動き情報の復号データには、前記第1領域の動きベクトルの生成に必要な情報、前記第2領域の予測動きベクトルを指示する選択情報、前記第2領域の差分動きベクトルが含まれており、第1領域の動きベクトルの生成に必要な情報から第1領域の動きベクトルを復元すると共に、第2領域に隣接するブロックの動きベクトルから前記動き情報の復号データに含まれる前記第2領域の予測動きベクトルを指示する選択情報に基づいて第2領域の予測動きベクトルを決定し、動き情報の復号データに含まれる第2領域の差分動きベクトルと第2領域の予測動きベクトルとから第2領域の動きベクトルを復元する動き情報復元モジュールと、動き情報復元モジュールによって復元された2領域の動きベクトルに基づいて、対象領域の予測信号を生成する予測信号生成モジュールと、第1領域及び第2領域の動きベクトルを保存する予測情報保存モジュールと、残差信号の復号データである量子化係数に逆量子化処理を施して、残差信号を再生する逆量子化モジュールと、予測信号と再生された残差信号とを加算することによって対象領域の復元画素信号を生成し、当該復元画素信号を既再生信号として保存する記録モジュールと、として機能させ、動き情報復元モジュールは、対象領域の第2領域に隣接するブロックから、対象領域の第1領域を除く予め定められた複数個の隣接ブロックに属する動きベクトルを第2領域の予測動きベクトルの候補として選出し、当該複数の第2領域の予測動きベクトルの候補から1つを選択して、第2領域の予測動きベクトルとすることを特徴とする。
本発明に係る画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法及び画像予測復号プログラムによれば、対象ブロック内のサブブロック位置に基づいて予測動きベクトルの候補を選出できるので、より効率良く動き情報が処理できる。
一実施形態に係る画像予測符号化装置を示すブロック図である。 第1領域の動き情報の候補が属する隣接ブロックを説明するための模式図である。 第2領域の予測動きベクトルの候補が属する隣接ブロックを説明するための模式図である。 図1に示す予測情報符号化器の処理を説明するフローチャートである。 図4に示す動き情報生成の手順を示すフローチャートである。 第2領域の予測動きベクトル候補の選出手順を示すフローチャートである。 隣接ブロックに属する動きベクトルが予測動きベクトルの条件を満たすか否かを判定する手順を示すフローチャートである。 一実施形態に係る画像予測復号装置を示すブロック図である。 図8に示す予測情報復号器の処理を説明するフローチャートである。 図9に示す動き情報生成の手順を示すフローチャートである。 一実施形態に係る画像予測符号化方法を実行することができるプログラムを示すブロック図である。 一実施形態に係る画像予測復号方法を実行することができるプログラムを示すブロック図である。 記録媒体に記録されたプログラムを実行するためのコンピュータのハードウェア構成を示す図である。 記録媒体に記憶されたプログラムを実行するためのコンピュータを示す図である。 従来の画面内予測方法を説明するための模式図である。 画面間予測におけるブロックマッチング処理を説明するための模式図である。 符号化ブロックの予測ブロック分割タイプを説明するための模式図である。 予測動きベクトルの候補が属する隣接ブロックの従来例を説明するための模式図である。
以下、添付図面を参照しながら本実施形態を詳細に説明する。なお、図面の説明において同一又は同等の要素には同一の符号を付し、重複する説明を省略する。
図1は、一実施形態に係る画像予測符号化装置100を示すブロック図である。この画像予測符号化装置100は、入力端子101、ブロック分割器(領域分割手段)102、予測信号生成器(予測信号生成手段)103、フレームメモリ(記録手段)104、減算器(残差信号生成手段)105、変換器106、量子化器107、逆量子化器108、逆変換器109、加算器110、符号化器(符号化手段)111、出力端子112、動き情報推定器(動き情報推定手段)113、予測情報用メモリ(予測情報保存手段)114、差分動き情報生成器(動き情報生成手段)115を備えている。なお、変換器106と量子化器107とは、量子化手段として機能する。また、逆量子化器108と逆変換器109とは、逆量子化手段として機能する。
入力端子101は、複数枚の画像からなる動画像の信号を入力する端子である。
ブロック分割器102は、入力端子101からラインL101を経由して入力された信号で表される、符号化処理の対象となる画像を複数の領域に分割する。本実施形態では、符号化対象の画像を16×16の画素からなるブロックに分割するが、それ以外の大きさ又は形状のブロックに分割してもよい。また、画面内にサイズの異なるブロックが混在してもよい。ブロック分割器102において分割されたブロックは、符号化順に対象ブロック(対象領域)として出力され、ラインL102aとラインL102bを経由して、それぞれ動き情報推定器113及び減算器105に出力される。
動き情報推定器113では、対象ブロック内の予測信号を生成するために必要な動き情報を検出する。対象ブロックの予測信号の生成方法(予測方法)については、背景技術で説明したような画面間予測や画面内予測(画面内予測については図示せず)が適用可能であるが、本実施形態では、対象ブロックの一部の部分領域(第1領域)を予測情報用メモリ114に保存されている隣接ブロックの動き情報を用いて予測し、残りの部分(第2領域)をブロックマッチング(図16参照)にて検出した動き情報を用いて予測する方法を考える。これらの予測方法をブロック単位で適応的に用いる場合は、選択情報を符号化器111にて符号化する。なお、動き情報には、動きベクトル、画面間予測モード(第1の参照画面リストを用いた片予測/第2の参照画面リストを用いた片予測/双予測)、参照画面番号(複数の参照画面の識別番号、片予測の場合は1つ、双予測の場合は2つ)が含まれる。
動き情報推定器113は、対象ブロックの第1領域情報、第1領域の動き情報及び第2領域の動き情報を生成する。これらの情報の生成手順については後述する。
動き情報推定器113にて生成された第1領域情報、第1領域の動き情報及び第2領域の動き情報は、ラインL113aを経由して予測信号生成器103に出力される。同時に、第1領域の動き情報と第2領域の動き情報とは、ラインL113c経由で予測情報用メモリ114に出力され、以降の予測のために保存される。さらに、第1領域情報と、周囲の隣接ブロックの動き情報から第1領域の予測信号生成に用いる動き情報を指示するための第1領域の動き選択情報(詳細は後述)とは、ラインL113bを経由して符号化器111に出力される。加えて、第1領域情報と第2領域の動き情報は、ラインL113dを経由して差分動き情報生成器115に出力される。
差分動き情報生成器115では、第2領域に隣接するブロックの動き情報を用いて第2領域の動き情報の符号化データ量を削減する。具体的には、差分動き情報生成器115は、動き情報推定器113からラインL113dを経由して入力される第1領域情報と第2領域の動き情報と、予測情報用メモリ114からラインL114bを経由して取得する隣接ブロックの動き情報とに基づいて、第2領域の動き情報に含まれる動きベクトルの各成分(水平成分、垂直成分)を、隣接ブロックの動き情報に含まれる動きベクトルから予測し、予測動きベクトルと第2領域の動きベクトルとの差分動きベクトルを求める。
そして、差分動き情報生成器115は、周囲の隣接ブロックの動き情報から第1領域の動きベクトルの予測に用いる動きベクトルを指示するための第2領域の予測動きベクトル選択情報(詳細は後述)と差分動きベクトルを含む第2領域の差分動き情報とをラインL115経由で符号化器111に出力する。第2領域の差分動き情報は、参照画面番号、画面間予測モード、第2領域の予測動きベクトル選択情報及び差分動きベクトルを含む。
予測信号生成器103では、ラインL113a経由で入力された対象ブロックの第1領域情報、第1領域の動き情報及び第2領域の動き情報に基づいて、ラインL104を経由してフレームメモリ104から既再生信号を取得し、対象ブロックの予測信号を生成する。予測信号生成器103にて生成された予測信号は、ラインL103経由で減算器105と加算器110に出力される。
減算器105は、ラインL102aを経由して入力されたブロック分割器102で分割して入力された対象ブロックの画素信号からラインL103を経由して入力される対象ブロックに対する予測信号を減算して、残差信号を生成する。減算器105は、減算して得た残差信号を、ラインL105を経由して変換器106に出力する。
変換器106は、入力された残差信号を離散コサイン変換する部分である。また、量子化器107は、変換器106により離散コサイン変換された変換係数をラインL106を経由して入力して量子化(量子化処理)する部分である。量子化器107は、量子化変換係数(量子化係数)をラインL107を経由して符号化器111に出力する。
符号化器111は、量子化器107からラインL107経由で入力された量子化変換係数、差分動き情報生成器115からラインL115を経由して入力された第1領域情報、第1領域の動き選択情報及び第2領域の差分動き情報(参照画面番号、画面間予測モード、第2領域の予測動きベクトル選択情報、差分動きベクトル)をエントロピー符号化する。符号化器111において符号化された符号化データは、ラインL111を経由して出力端子112に出力される。エントロピー符号化の方法は限定されないが、算術符号化や可変長符号化などが適用できる。なお、第1領域の動き選択情報と第2領域の予測動きベクトル選択情報については、選択の候補が1個の場合は符号化されない。
出力端子112は、符号化器111から出力された情報をまとめて外部に出力する。
逆量子化器108は、量子化された変換係数を逆量子化(逆量子化処理)してラインL108経由で逆変換器109に出力する。逆変換器109は、逆離散コサイン変換により残差信号を復元(生成)して加算器110にラインL109経由で出力する。加算器110は、復元された残差信号とラインL103経由で入力される予測信号とを加算し、対象ブロックの信号(復元画素信号)を再生し、再生された信号をフレームメモリ104に格納する。本実施形態では、変換器106と逆変換器109とを用いているが、これらの変換器に代わる他の変換処理を用いてもよい。また、変換器106及び逆変換器109は必須ではない。このように、後続の対象ブロックの予測信号生成に用いるため、符号化された対象ブロックの再生信号は、逆処理にて復元されフレームメモリ104に記憶される。
なお、差分動き情報生成器115は、符号化器111に含まれていてもよい。動き情報推定器113は、予測信号生成器103に含まれていてもよい。予測情報用メモリ114は、符号化器111又は動き情報推定器113に含まれていてもよい。
ここで、図2及び図3を用いて、第1領域情報の生成方法、第1領域及び第2領域の動き情報と予測信号の生成方法、第1領域の動き選択情報、及び、第2領域の予測動きベクトル選択情報について説明する。
最初に、第1領域の形状及び大きさの生成方法と第1領域の動き情報の生成方法とについて、図2を参照しながら説明する。
第1領域の形状としては、図2(a)〜(c)に示す領域400a、領域400b、領域400cが挙げられる。領域400aあるいは領域400bを第1領域とする場合には、領域のサイズ410a又は領域のサイズ410bを求める。領域サイズは任意でもよいが、対象ブロックの1/4,1/2,3/4のように選択肢を用意し、その中から選択してもよい。第1領域の領域形状と領域サイズを指示する情報をまとめて第1領域情報と呼ぶことにする。さらに対象ブロック全体を第2領域とする場合を第1領域形状の候補に含んでいてもよい。
次に、図2を用いて、第1領域の動き情報選択情報及び第1領域の予測信号生成方法について説明する。
第1領域が400aの場合には、隣接ブロック401a〜405aの動き情報をラインL114a経由で予測情報用メモリ114から取得し、その中から1つの動き情報を選択し、第1領域の予測信号生成に用いる。選択した動き情報を識別するための識別情報(例えば、401a〜405aに0〜4の識別番号を与える)を第1領域の動き選択情報と呼ぶ。同様に第1領域が400bの場合には、隣接ブロック401b〜405bの動き情報から1つの動き情報を選択し、第1領域の予測信号生成に用いる。第1領域が400cの場合には、隣接ブロック401c〜405cの動き情報から1つの動き情報を選択し、第1領域の予測信号生成に用いる。
一方、第2領域の動き情報はブロックマッチングにて求める。第1領域及び第2領域の動き情報は、ラインL102b経由で入力された対象ブロックの原信号と、ラインL104経由で取得される予測信号との差(絶対値誤差和や二乗誤差和)が小さくなるように求める。
次に、図3を用いて、第2領域の予測動きベクトル選択情報及び第2領域の予測動きベクトルの候補について説明する。
第2領域が図3(a)に示す領域500の場合には、隣接ブロック501a,503a及び505aの動きベクトルを予測動きベクトルの候補とする。各水平、垂直成分について、3つの動きベクトル成分値(動きベクトル成分の大きさ)の候補から第2領域の動きベクトル成分値との差が最小となる候補を選択する。選択した動きベクトル成分値を識別するための識別情報(例えば、ブロック501a,503a,505aに0〜2の識別番号を与える)を第2領域の予測動きベクトル選択情報と呼ぶ。
この際、他の隣接ブロックの動きベクトルや、複数の隣接ブロックの動きベクトルから生成される動きベクトルを予測動きベクトルの候補に加えてもよい。例えば、領域500と空間的に同一位置の符号化済み画面上のブロックの動きベクトルや、ブロック501a,503a,505aの動きベクトルの各成分の中間値から成る中間動きベクトルを予測動きベクトルの候補に加えてもよい。
しかしながら、隣接ブロック400aの動きベクトルは、予測動きベクトルの候補には含めない。隣接ブロック400aは、対象ブロックの第1領域の動きベクトルであり、第2領域の動きベクトルとは異なる。そのため、隣接ブロック400aの動きベクトルは、第2領域の動きベクトルとの差が大きい可能性が高い。そこで、予測動きベクトル選択情報の候補数を減らし、第2領域の予測動きベクトル選択情報の符号量を削減するため、隣接ブロック400aの動きベクトルは、第2領域の予測動きベクトルの候補には含めない。
ただし、全ての隣接ブロックの候補が動きベクトルを持たない場合には、図3(b)に示すように、第1領域400aの動きベクトルを予測動きベクトルとする。ここで、「動きベクトルを持たない場合」とは、隣接ブロックが画面内予測にて予測されている場合や、隣接ブロックが画面外の場合が含まれる。
図3(b)の別例としては、図3(c)に示すように、第2領域の隣接ブロックではないが、ブロック504c,505c,506cのような第1領域の隣接ブロックの動きベクトルを第2領域の予測動きベクトルの候補としてもよい。また、図3(b)及び(c)を組み合わせて予測動きベクトルの候補を選出してもよい。
なお、第2領域の動き情報に含まれる画面間予測が1つの動きベクトルを必要とすることを示す場合、すなわち片予測(第1の参照画面リストを用いた片予測又は第2の参照画面リストを用いた片予測)の場合には、第2領域の予測動きベクトル選択情報は、選択した水平及び垂直成分の動きベクトル成分値を複数の候補から識別するための2個の識別情報を含む。一方、第2領域の動き情報に含まれる画面間予測が2つの動きベクトルを必要とすることを示す場合、すなわち双予測の場合には、第2領域の予測動きベクトル選択情報は、2つの動きベクトルの水平、垂直成分の予測動きベクトル成分値を複数の候補から識別するための4個の識別情報を含む。
一方、第2領域が図3(d)に示す領域700の場合には、隣接ブロック702a,703a,705aの動きベクトルを予測動きベクトルの候補とする。各水平、垂直成分について、3つの動きベクトル成分値(動きベクトル成分の大きさ)の候補から第2領域の動きベクトル成分値との差が最小となる候補を選択する。選択した動きベクトル成分値を識別するための識別情報(例えば、ブロック702a,703a,705aに0〜2の識別番号を与える)を第2領域の予測動きベクトル選択情報と呼ぶ。
この際、他の隣接ブロックの動きベクトルや、複数の隣接ブロックの動きベクトルから生成される動きベクトルを予測動きベクトルの候補に加えてもよい。例えば、領域700と空間的に同一位置の符号化済み画面上のブロックの動きベクトルや、ブロック702a,703a,705aの動きベクトルの各成分の中間値から成る中間動きベクトルを予測動きベクトルの候補に加えてもよい。
しかしながら、隣接ブロック400bの動きベクトルは予測動きベクトルの候補には含めない。隣接ブロック400bは対象ブロックの第1領域の動きベクトルであり、第2領域の動きベクトルとは異なる。そのため、隣接ブロック400bの動きベクトルは、第2領域の動きベクトルとの差が大きい可能性が高い。そこで、予測動きベクトル選択情報の候補数を減らし、第2領域の予測動きベクトル選択情報の符号量を削減するため、隣接ブロック400bの動きベクトルは、第2領域の予測動きベクトルの候補には含めない。
ただし、全ての隣接ブロックの候補が動きベクトルを持たない場合には、図3(e)に示すように、第1領域400bの動きベクトルを予測動きベクトルとする。ここで、「動きベクトルを持たない場合」とは、隣接ブロックが画面内予測にて予測されている場合や、隣接ブロックが画面外の場合が含まれる。
図3(e)の別例としては、図3(f)に示すように、第2領域の隣接ブロックではないが、ブロック703c,705c,706cのような第1領域の隣接ブロックの動きベクトルを第2領域の予測動きベクトルの候補としてもよい。また、図3(e)及び(f)を組み合わせて予測動きベクトルの候補を選出してもよい。
なお、第2領域の動き情報に含まれる画面間予測が1つの動きベクトルを必要とすることを示す場合、すなわち片予測(第1の参照画面リストを用いた片予測又は第2の参照画面リストを用いた片予測)の場合には、第2領域の予測動きベクトル選択情報は、水平及び垂直成分の予測動きベクトル成分値を上記にて選出された複数の候補から識別するための2個の識別情報(第2領域の各成分の予測動きベクトル選択情報)を含む。一方、第2領域の動き情報に含まれる画面間予測が2つの動きベクトルを必要とすることを示す場合、すなわち双予測の場合には、第2領域の予測動きベクトル選択情報は、2つの動きベクトルの水平、垂直成分の予測動きベクトル成分値を上記にて選出された複数の候補から識別するための4個の識別情報(2つの動きベクトルにおける第2領域の各成分の予測動きベクトル選択情報)を含む。
図4は、本実施形態に係る画像予測符号化装置100における画像予測符号化方法の手順を示すフローチャートである。まず、ブロック分割器102にて入力画像を16×16の符号化ブロックに分割する(それ以外の大きさ又は形状のブロックに分割してもよい。また、画面内にサイズの異なるブロックが混在してもよい)。
次に、動き情報推定器113、予測情報用メモリ114及び差分動き情報生成器115は、対象ブロックの動き情報を生成する(ステップS100)。そして、予測信号生成器103は、第1領域情報と第1領域の動き情報及び第2領域の動き情報に基づいて対象ブロックの動き情報を生成する(ステップS101)。ステップS101における予測信号の生成方法(予測方法)には、背景技術で説明したような画面間予測や画面内予測が利用できるが、図4では、対象ブロックの一部の部分領域(第1領域)を予測情報用メモリ114に保存されている隣接ブロックの動き情報を用いて予測し、残りの部分(第2領域)をブロックマッチング(図16参照)にて検出した動き情報を用いて予測する方法について説明する。これらの予測方法をブロック単位で適応的に用いる場合には、後述するステップS103にて、選択情報を符号化する。なお、動き情報には、動きベクトル、画面間予測モード(第1の参照画面リストを用いた片予測/第2の参照画面リストを用いた片予測/双予測)、参照画面番号(複数の参照画面の識別番号、片予測の場合は1つ、双予測の場合は2つ)が含まれる。
対象ブロックの画素信号と予測信号との差分である残差信号は、変換器106及び量子化器107において、変換、量子化される。その処理により、量子化変換係数が生成される(ステップS102)。
そして、符号化器111にて、量子化変換係数と第1領域情報、第1領域の動き選択情報、第2領域の差分動き情報(参照画面番号、画面間予測モード、第2領域の予測動きベクトル選択情報、差分動きベクトル)がエントロピー符号化される(ステップS103)。符号化データは、出力端子112を介して出力される(ステップS104)。
後続の対象ブロックを予測符号化するため、これら処理の後に又はこれらの処理と並行して符号化された残差信号が逆量子化器108及び逆変換器109により復号される(ステップS105)。そして、加算器110にて、復号された残差信号と予測信号とが加算され、対象ブロックの信号が再生される。再生信号はフレームメモリ104に参照画面として記憶される(ステップS106)。そして、すべての対象ブロックの処理が完了していない場合には処理はステップS101に戻り、次の対象ブロックに対する処理が行われる。すべての対象ブロックの処理が完了している場合には、処理を終了する(ステップS107)。
図5は、図4における動き情報の生成手順(ステップS100)を示す詳細フローチャートである。動き情報推定器113は、対象ブロックの第1領域情報を生成すると共に、第1領域に隣接する複数のブロックの動き情報から第1領域の予測信号生成に用いる動き情報を選出し、第1領域の動き選択情報を生成する(ステップS111)。第1領域情報及び第1領域の動き情報は、予測情報用メモリ114に保存される。次に、動き情報推定器113は、ブロックマッチングにより第2領域の動き情報を生成する(ステップS112)。第2領域の動き情報は予測情報用メモリ114に保存される。
差分動き情報生成器115は、第2領域の水平成分の動きベクトル成分値(動きベクトル成分の大きさ)に対応する予測動きベクトル成分値を求めるため、図3で説明したように、複数の隣接ブロックの動きベクトルから予測動きベクトル成分値の候補を選出する(ステップS113)。次に、選出した予測動きベクトル成分値の候補から、第2領域の水平成分の動きベクトル成分値との差分値が最小となる1つの水平成分の動きベクトル成分値を選択する。選択した情報に基づいて、複数の予測動きベクトル成分値の候補から1つを指示するための識別情報にて構成される第2領域の予測動きベクトル選択情報を生成する(ステップS114)。そして、選択した水平方向の予測動きベクトル成分値と第2領域の水平成分の動きベクトル成分値との差分値を算出する(ステップS115)。同様に垂直成分について、ステップS113からステップS115を実施する。さらに、第2領域の動き情報が2つの動きベクトルを有する場合には、2本目の動きベクトルの水平成分及び垂直成分についてもステップS113からステップS115を実施する(ステップS117)。
差分動き情報生成器115は生成した第1領域情報、第1領域の動き選択情報、第2領域の差分動き情報(参照画面番号、画面間予測モード、第2領域の予測動きベクトル選択情報、差分動きベクトル)を符号化器111に出力する(ステップS116)。
図6に、ステップS113における予測動きベクトル成分値(水平成分、垂直成分)の候補選出手順を示す詳細フローチャートを示す。ここでは、例えば、図3(a)のブロック400a,501a,503a,505aあるいは、図3(d)のブロック400b,702a,703a,705aを隣接ブロックの候補とした場合、この4個の予測動きベクトル成分値の候補から、差分動き情報生成器115が、実際に選択可能な動きベクトル成分値を選出する。
まず、隣接ブロックの候補数N(図3(a)及び(d)の例では4)を設定すると共に、チェック済みの隣接ブロック数nと選択可能な動きベクトル成分値の数mを0に初期化する(ステップS151)。次に、n番目の隣接動きベクトルが対象ブロック内の第1領域(図3(a)ではブロック400a、図3(d)ではブロック400b)であるかを判定する(ステップS152)。Yesの場合にはステップS157に、noの場合はステップS153に進む。ステップS153では、n番目の隣接ブロックに属する動き情報と対象ブロック内の第1領域の動き情報を取得する。そして、それらが一致するかを判定する(ステップS154)。noの場合にはステップS157に、Yesの場合はステップS155に進む。ステップS155では、n番目の隣接ブロックの動きベクトルが予測動きベクトルの条件を満たすかを判定する。noの場合にはステップS157に、Yesの場合はステップS156に進む。予測動きベクトルの条件については、図10において後に説明する。ステップS156では、n番目の隣接ブロックに属する動きベクトル成分値を予測動きベクトル成分値の候補に追加し、「m」に「1」を加算する。続いて、ステップS157では、「n」に「1」を加算する。「n」の値が「N」より小さい場合には、次の隣接ブロックの動きベクトル成分値が予測動きベクトルの候補として選択可能であるかを判定するため、ステップS152に戻る(ステップS158)。
「n」の値が「N」より大きい場合には、「m」の値が「0」より大きいか否かを判定する(ステップS159)。Yesの場合には処理を終了し、noの場合には、予測動きベクトルの候補数が0個であるため、追加の処理を行う。まず、対象ブロック内の第1領域の動き情報を取得する(ステップS160)。次に、対象ブロック内の第1領域の動き情報が予測動き情報の条件を満たすかを判定する(ステップS161)。Yesの場合にはステップS162に進み、noの場合は処理を終了する。ステップS162では、対象ブロック内の第1領域の動きベクトル成分値を予測動きベクトル成分値の候補に追加し、「m」の値を「1」として、処理を終了する。なお、最終的に「m」が「0」の場合には予測動きベクトル成分値は「0」となる。
図7は、ステップS155とステップS162にて、隣接ブロックの動き情報が予測動き情報の条件を満たすかを判定するための処理フローを示している。ステップS171からステップS173にて、3つの条件がチェックされ、いずれかを満たす場合には、予測動き情報の条件を満たすものと判断される。ステップS171では、隣接ブロックが画面内に存在し、動きベクトルを有するブロックかであるかを判定する。ステップS172では隣接ブロックの動き情報に予測対象である動きベクトルと同じ参照画面リストを指し示す動きベクトルが含まれているかを判定する。例えば、隣接ブロックの画面間予測モードが第1の参照画面リストを用いた片予測で、予測対象の動きベクトルが第2の参照画面リストを用いた片予測の動きベクトルの場合には、予測動き情報の条件を満たさない(no)と判定する。隣接ブロックの画面間予測モードが双予測あるいは第2の参照画面リストを用いた片予測で、予測対象の動きベクトルが第2の参照画面リストを用いた片予測の動きベクトルの場合には、予測動き情報の条件を満たす(Yes)と判定する。
ステップS173では、ステップS172に条件を満たす隣接ブロックの動きベクトルが指示する参照画面番号が、予測対象である動きベクトルが指し示す参照画面番号と一致するかを判定する。一致しない場合は、予測動き情報の条件を満たさない(no)と判定する。
このように、第2領域の予測動きベクトルの候補から、第1領域の動きベクトルを除外することにより、予測動きベクトルの候補数が減り、第2領域の予測動きベクトル選択情報の符号量が抑制される。これにより、第2領域の動き情報の符号化効率が向上する。
また、第2領域の予測動きベクトルの候補数が0個の場合には、第1領域の動きベクトルを第2領域の予測動きベクトルとして使用する。第2領域の予測動きベクトルの候補数は1個であれば、識別情報の符号化は必要ないため、第2領域の予測動きベクトル選択情報の符号量は増加しない。一方、第2領域の予測動きベクトルの候補数が0個の場合には、第1領域の動きベクトル成分がそのまま符号化されるため(予測動きベクトル成分値が「0」となる)、第1領域と第2領域の動きベクトル成分値の差分の絶対値が、第2領域の動きベクトル成分値の絶対値より小さいとき、動きベクトル成分値の符号量は削減される。このとき、第2領域の動き情報の符号化効率は向上する。
次に、一実施形態に係る画像予測復号について説明する。図8は、一実施形態に係る画像予測復号装置を示すブロック図である。この画像予測復号装置200は、入力端子201、復号器(復号手段)202、逆量子化器203、逆変換器204、加算器205、出力端子206、動き情報復元器(動き情報復元手段)207、フレームメモリ104、予測信号生成器103、予測情報用メモリ114を備えている。逆量子化器108と逆変換器109は逆量子化手段として機能する。なお、逆量子化手段は、これらのもの以外を用いて行ってもよい。また、逆変換器204はなくてもよい。また、予測情報用メモリ114と動き情報復元器207は復号器202に含まれていてもよい。
入力端子201は、上述した画像予測符号化方法で圧縮符号化された圧縮データを入力する。この圧縮データには、複数に分割された復号対象のブロック(対象ブロック)について、誤差信号を変換量子化してエントロピー符号化した量子化変換係数と、ブロックの予測信号を生成するための動き情報を復元するための符号化データが含まれている。動き情報には、動きベクトル、画面間予測モード(第1の参照画面リストを用いた片予測/第2の参照画面リストを用いた片予測/双予測)、参照画面番号(複数の参照画面の識別番号、片予測の場合は1つ、双予測の場合は2つ)が含まれる。本実施形態では、復号対象の対象ブロックのサイズを16×16とするが、それ以外の大きさ又は形状のブロックに分割でもよい。また、画面内にサイズの異なるブロックが混在してもよい。
復号器202は、入力端子201に入力された圧縮データをラインL201を経由して入力し、この圧縮データを解析して、復号対象の対象ブロックに関する量子化変換係数の符号化データと動き情報の符号化データに分離すると共に、エントロピー復号し、復号データをラインL202a、ラインL202b経由で、それぞれ、逆量子化器203、動き情報復元器207に出力する。
動き情報復元器207は、入力された復号データに基づいて対象ブロックの動き情報を復元する。
対象ブロックの予測信号の生成方法(予測方法)については、背景技術で説明したような画面間予測や画面内予測(画面内予測については図示せず)が適用可能であるが、本実施形態では、対象ブロックの一部の部分領域(第1領域)を予測情報用メモリ114に保存されている隣接ブロックの動き情報を用いて予測し、残りの部分(第2領域)をブロックマッチング(図16参照)にて検出した動き情報を用いて予測する方法を考える。なお、これらの予測方法をブロック単位で適応的に用いる場合は、選択情報を復号器202にて復号し、その選択情報に基づいて、動き情報の復元処理を行う。
動き情報復元器207に入力された復号データには、第1領域情報、第1領域の動き選択情報と第2領域の差分動き情報(参照画面番号、画面間予測モード、第2領域の予測動きベクトル選択情報、差分動きベクトル)が含まれている。
第1領域情報には、第1領域の形状と大きさを示す情報が含まれている。第1領域の形状としては、図2の(a)〜(c)に示す領域400a、領域400b、領域400cが挙げられる。さらに第1領域の形状の候補に、対象ブロック全体を第2領域とする場合を含んでいてもよい。その中から1つを指示するための領域形状情報が第1領域情報に含まれる。領域400aあるいは領域400bを第1領域とする場合には、領域のサイズ410a又は410bも第1領域情報に含まれる。領域サイズとしては、任意の値が復号される場合と、対象ブロックの1/4,1/2,3/4のように選択肢から1つを指示するための情報が復号される場合がある。
第1領域が領域400aの場合には、第1領域の動き選択情報として、隣接ブロック401a〜405aの動き情報から1つを選択するための識別情報(例えば、ブロック401a〜405aに0〜4の識別番号を与えられている)が復号データに含まれている。同様に第1領域が領域400bの場合には、第1領域の動き選択情報として、隣接ブロック401b〜405bの動き情報から1つの動き情報を選択するための識別情報が復号データに含まれている。第1領域が400cの場合には、第1領域の動き選択情報として、隣接ブロック401c〜405cの動き情報から1つの動き情報を選択するための識別情報が復号データに含まれている。いずれも場合でも、復号された第1領域の動き選択情報に基づいて、ラインL114経由で予測情報用メモリ114から1つの隣接ブロックの動き情報を取得し、第1領域の動き情報とする。
なお、第1領域の動き情報の候補が1つの場合、例えば、1つ以外の候補の隣接ブロックが画面内予測で予測されている場合や画面外のブロックの場合には、第1領域の動き選択情報は復号側で一意に決定できるため、第1領域の動き選択情報は復号データに含まれなくてもよい。また、第1領域の動き情報の候補が0個の場合には、対象ブロック全体が第2領域となることが一意に決定できるため、第1領域情報が復号データに含まれていなくてもよい。
第2領域の動き情報の復号データである第2領域の差分動き情報には、上記で説明したように参照画面番号、画面間予測モード、第2領域の予測動きベクトル選択情報及び差分動きベクトルが含まれている。
動き情報復元器207では、第2領域の予測動きベクトル選択情報に基づいて、第2領域の予測動きベクトル値を水平及び垂直成分についてそれぞれ生成し、復号された差分動きベクトル値と加算することにより、第2領域の動きベクトルを復元する。動き情報復元器207は、第2領域の予測動きベクトル選択情報に基づいて、複数の予測動きベクトルの候補(詳細は後述)から第2領域の予測動きベクトルを得られる。
第2領域の予測動きベクトル選択情報について詳細に説明する。第2領域の動き情報に含まれる画面間予測が1つの動きベクトルを必要とすることを示す場合、すなわち片予測(第1の参照画面リストを用いた片予測又は第2の参照画面リストを用いた片予測)の場合には、第2領域の予測動きベクトル選択情報は、水平及び垂直成分の予測動きベクトル成分値を複数の候補から識別するための2個の識別情報(第2領域の水平、垂直成分の予測動きベクトル選択情報)を含む。一方、第2領域の動き情報に含まれる画面間予測が2つの動きベクトルを必要とすることを示す場合、すなわち双予測の場合には、第2領域の予測動きベクトル選択情報は、2つの動きベクトルの水平、垂直成分の予測動きベクトル成分値を複数の候補から識別するための4個の識別情報(2つの動きベクトルにおける第2領域の各成分の予測動きベクトル選択情報)を含む。
これらの識別情報に基づいて、第2領域の全ての動きベクトルを復元する。この処理により、第2領域の動き情報は復元される。
なお、予測動きベクトル成分値の候補が1個の場合には、予測動きベクトル成分値は一意に決定できるため、その動きベクトル成分値については、予測動きベクトル成分値を複数の候補から識別するため識別情報は復号データに含まれていなくてもよい。予測動きベクトル成分値の候補が0個の場合には、予測動きベクトル成分値は「0」となる。
動き情報復元器207は、復元した第1領域情報、第1領域の動き情報及び第2領域の動き情報をラインL207aとラインL207bを経由して、それぞれ、予測信号生成器103と予測情報用メモリ114に出力する。
予測情報用メモリ114は、入力された第1領域情報、第1領域の動き情報及び第2領域の動き情報を、以降の予測のために保存する。
予測信号生成器103では、ラインL207a経由で入力された第1領域情報、第1領域の動き情報及び第2領域の動き情報に基づいて、フレームメモリ104から既再生信号を取得し、対象ブロックの予測信号を生成する。生成された予測信号はラインL103経由で加算器205に出力される。
復号器202は、対象ブロックにおける残差信号の量子化変換係数の符号化データをエントロピー復号し、ラインL202経由で逆量子化器203に出力する。
逆量子化器203は、ラインL202経由で入力された復号データに含まれる量子化変換係数を逆量子化し、この量子化変換係数をラインL203を経由して逆変換器204に出力する。逆変換器204は、逆量子化したデータを逆離散コサイン変換し、対象ブロックの誤差信号を復元する。逆変換器204は、対象ブロックの誤差信号をラインL204を経由して加算器205に出力する。
加算器205は、予測信号生成器103で生成された予測信号をラインL103を経由して入力し、この予測信号を逆量子化器203及び逆変換器204により復元された残差信号に加算して、対象ブロックの再生画素信号をラインL205経由で出力端子206及びフレームメモリ104に出力する。出力端子206は、外部に(例えばディスプレイ)出力する。
フレームメモリ104は、次の復号処理のための参照用の再生画像として、加算器205から出力された再生画像を参照画面として記憶する。
ここで、図3を用いて、第2領域の予測動きベクトル選択情報と第2領域の予測動きベクトルの候補について説明する。
第2領域が図3(a)に示す領域500の場合には、隣接ブロック501a,503a及び505aの動きベクトルを予測動きベクトルの候補となる。符号化側で選択された動きベクトル成分値を識別するための識別情報(例えば、ブロック501a,503a,505aに0〜2の識別番号を与える)を第2領域の予測動きベクトル選択情報と呼ぶ。
この際、他の隣接ブロックの動きベクトルや、複数の隣接ブロックの動きベクトルから生成される動きベクトルが予測動きベクトルの候補に加えられていてもよい。例えば、領域500と空間的に同一位置の符号化済み画面上のブロックの動きベクトルや、ブロック501a,503a,505aの動きベクトルの各成分の中間値から成る中間動きベクトルを予測動きベクトルの候補に加えてもよい。
しかしながら、隣接ブロック400aの動きベクトルは予測動きベクトルの候補には含めない。隣接ブロック400aは対象ブロックの第1領域の動きベクトルであり、第2領域の動きベクトルとは異なる。そのため、隣接ブロック400aの動きベクトルは、第2領域の動きベクトルとの差が大きい可能性が高い。そこで、予測動きベクトル選択情報の候補数を減らし、第2領域の予測動きベクトル選択情報の符号量を削減するため、隣接ブロック400aの動きベクトルは、第2領域の予測動きベクトルの候補には含めない。
ただし、全ての隣接ブロックの候補が動きベクトルを持たない場合には、図3(b)に示すように、第1領域400aの動きベクトルを予測動きベクトルとする。ここで、「動きベクトルを持たない場合」とは、隣接ブロックが画面内予測にて予測されている場合や、隣接ブロックが画面外の場合が含まれる。
図3(b)の別例としては、図3(c)に示すように、第2領域の隣接ブロックではないが、ブロック504c,505c,506cのような第1領域の隣接ブロックの動きベクトルを第2領域の予測動きベクトルの候補としてもよい。また、図3(b)及び(c)を組み合わせて予測動きベクトルの候補を選出してもよい。
なお、第2領域の動き情報に含まれる画面間予測が1つの動きベクトルを必要とすることを示す場合、すなわち片予測(第1の参照画面リストを用いた片予測又は第2の参照画面リストを用いた片予測)の場合には、第2領域の予測動きベクトル選択情報は、選択した水平及び垂直成分の動きベクトル成分値を複数の候補から識別するための2個の識別情報を含んでいる。一方、第2領域の動き情報に含まれる画面間予測が2つの動きベクトルを必要とすることを示す場合、すなわち双予測の場合には、第2領域の予測動きベクトル選択情報は、2つの動きベクトルの水平、垂直成分の予測動きベクトル成分値を複数の候補から識別するための4個の識別情報を含んでいる。
一方、第2領域が図3(d)に示す領域700の場合には、隣接ブロック702a,703a及び705aの動きベクトルを予測動きベクトルの候補となる。符号化側で選択された動きベクトル成分値を識別するための識別情報(例えば、ブロック702a,703a,705aに0〜2の識別番号を与える)を第2領域の予測動きベクトル選択情報と呼ぶ。
この際、他の隣接ブロックの動きベクトルや、複数の隣接ブロックの動きベクトルから生成される動きベクトルが予測動きベクトルの候補に加えられていてもよい。例えば、領域700と空間的に同一位置の符号化済み画面上のブロックの動きベクトルや、ブロック702a,703a,705aの動きベクトルの各成分の中間値から成る中間動きベクトルを予測動きベクトルの候補に加えてもよい。
しかしながら、隣接ブロック400bの動きベクトルは予測動きベクトルの候補には含めない。隣接ブロック400bは対象ブロックの第1領域の動きベクトルであり、第2領域の動きベクトルとは異なる。そのため、隣接ブロック400bの動きベクトルは、第2領域の動きベクトルとの差が大きい可能性が高い。そこで、予測動きベクトル選択情報の候補数を減らし、第2領域の予測動きベクトル選択情報の符号量を削減するため、隣接ブロック400bの動きベクトルは、第2領域の予測動きベクトルの候補には含めない。
ただし、全ての隣接ブロックの候補が動きベクトルを持たない場合には、図3(e)に示すように、第1領域400bの動きベクトルを予測動きベクトルとする。ここで、「動きベクトルを持たない場合」とは、隣接ブロックが画面内予測にて予測されている場合や、隣接ブロックが画面外の場合が含まれる。
図3(e)の別例としては、図3(f)に示すように、第2領域の隣接ブロックではないが、ブロック703c,705c,706cのような第1領域の隣接ブロックの動きベクトルを第2領域の予測動きベクトルの候補としてもよい。また、図3(e)及び(f)を組み合わせて予測動きベクトルの候補を選出してもよい。
次に、図9を用いて、図6に示す画像予測復号装置200における画像予測復号方法を説明する。まず、入力端子201を介して、圧縮データが入力される(ステップS201)。この圧縮データには、複数に分割された復号対象のブロック(対象ブロック)について、誤差信号を変換量子化してエントロピー符号化した量子化変換係数と、ブロックの予測信号を生成するための動き情報を復元するための符号化データが含まれている。動き情報には、動きベクトル、画面間予測モード(第1の参照画面リストを用いた片予測/第2の参照画面リストを用いた片予測/双予測)、参照画面番号(複数の参照画面の識別番号、片予測の場合は1つ、双予測の場合は2つ)が含まれている。本実施形態では、復号対象の対象ブロックのサイズを16×16とするが、それ以外の大きさ又は形状のブロックに分割でもよい。また、画面内にサイズの異なるブロックが混在してもよい。
復号器202は、入力端子201に入力された圧縮データを解析して、復号対象の対象ブロックに関する量子化変換係数と動き情報の復号データをエントロピー復号する(ステップS202)。動き情報の復号データには、第1領域情報、第1領域の動き選択情報と第2領域の差分動き情報(参照画面番号、画面間予測モード、第2領域の予測動きベクトル選択情報、差分動きベクトル)が含まれている。
対象ブロックの予測信号の生成方法(予測方法)については、背景技術で説明したような画面間予測や画面内予測(画面内予測については図示せず)が適用可能であるが、本実施形態では、対象ブロックの一部の部分領域(第1領域)を予測情報用メモリ114に保存されている隣接ブロックの動き情報を用いて予測し、残りの部分(第2領域)をブロックマッチング(図16参照)にて検出した動き情報を用いて予測する方法を考える。なお、これらの予測方法をブロック単位で適応的に用いる場合は、選択情報を復号器202にて復号し、その選択情報に基づいて、動き情報の復元処理を行う。
その後、動き情報の復号データに基づいて、動き情報復元器207が第1領域情報、第1領域の動き情報及び第2領域の動き情報を復元する(ステップS203)。第2領域の動き情報を復元する際には、第1の動き情報が第2領域の動き情報と異なることを考慮して行う。なお、復元された第1領域情報、第1領域の動き情報及び第2領域の動き情報は、以降の予測処理のため予測情報用メモリ114に保存される。
復元した第1領域情報、第1領域の動き情報及び第2領域の動き情報に基づいて、予測信号生成器103が対象ブロックの予測信号を生成する(ステップS204)。
復号器202にて復号された量子化変換係数は、逆量子化器203において逆量子化され、逆変換器204において逆変換が行われ、再生残差信号が生成される(ステップS205)。そして、生成された予測信号と再生残差信号とが加算されることで再生信号が生成され、この再生信号が次の対象ブロックを再生するためにフレームメモリ104に格納される(ステップS206)。次の圧縮データがある場合には、S202〜S206のプロセスを繰り返し(ステップS207)、全データが最後まで処理される。
図10は、図9における動き情報の生成手順(ステップS203)を示す詳細フローチャートである。
まず、動き情報復元器207に、復号した第1領域情報、第1領域の動き選択情報、第2領域の差分動き情報が入力される(ステップS231)。
動き情報復元器207は、第1領域の動き選択情報に基づいて、第1領域の動き情報を復元する(ステップS232)。
次に、動き情報復元器207は、第2領域の水平成分の動きベクトル成分値(動きベクトル成分の大きさ)に対応する予測動きベクトル成分値を求めるため、図3で説明したように、複数の隣接ブロックの動きベクトルから予測動きベクトル成分値の候補を選出する(ステップS233)。
動き情報復元器207は、復元した第2領域の差分動き情報に含まれる第2領域の水平成分の予測動きベクトル選択情報に基づいて、選出した予測動きベクトル成分値の候補から第2領域の水平成分の予測動きベクトル成分値を選択する(ステップS234)。そして、復元した第2領域の差分動き情報に含まれる第2領域の水平成分の差分動きベクトル成分値と複数の候補から選択した予測動きベクトル成分値を加算して、第2領域の水平成分の動きベクトル成分値を復元する(ステップS235)。同様に垂直成分について、ステップS233からステップS235を実施する。さらに、第2領域の動き情報が2つの動きベクトルを有する場合には、2本目の動きベクトルの水平成分及び垂直成分についてもステップS233からステップS235を実施する(ステップS236)。この処理により、第2領域の動き情報が復元される。
図6に、ステップS233における予測動きベクトル成分値(水平成分、垂直成分)の候補選出手順を示す詳細フローチャートを示す。ここでは、例えば、図3(a)のブロック400a,501a,503a,505aあるいは、図3(d)のブロック400b,702a,703a,705aを隣接ブロックの候補とした場合、4個の予測動きベクトル成分値の候補から、差分動き情報生成器115が、実際に選択可能な動きベクトル成分値を選出する。
まず、隣接ブロックの候補数N(図3(a)及び(d)の例では4)を設定すると共に、チェック済みの隣接ブロック数nと選択可能な動きベクトル成分値の数mを0に初期化する(ステップS151)。次に、n番目の隣接動きベクトルが対象ブロック内の第1領域(図3(a)ではブロック400a、図3(d)ではブロック400b)であるかを判定する(ステップS152)。Yesの場合にはステップS157に、noの場合はステップS153に進む。ステップS153では、n番目の隣接ブロックに属する動き情報と対象ブロック内の第1領域の動き情報を取得する。そして、それらが一致するかを判定する(ステップS154)。noの場合にはステップS157に、Yesの場合はステップS155に進む。ステップS155では、n番目の隣接ブロックの動きベクトルが予測動きベクトルの条件を満たすかを判定する。noの場合にはステップS157に、Yesの場合はステップS156に進む。予測動きベクトルの条件については、図7において後に説明する。ステップS156では、n番目の隣接ブロックに属する動きベクトル成分値を予測動きベクトル成分値の候補に追加し、「m」に「1」を加算する。続いて、ステップS157では、「n」に「1」を加算する。「n」の値が「N」より小さい場合には、次の隣接ブロックの動きベクトル成分値が予測動きベクトルの候補として選択可能であるかを判定するため、ステップS152に戻る(ステップS158)。
「n」の値が「N」より大きい場合には、「m」の値が「0」より大きいか否かを判定する(ステップS159)。Yesの場合には処理を終了し、noの場合には、予測動きベクトルの候補数が0個であるため、追加の処理を行う。まず、対象ブロック内の第1領域の動き情報を取得する(ステップS160)。次に、対象ブロック内の第1領域の動き情報が予測動き情報の条件を満たすかを判定する(ステップS161)。Yesの場合にはステップS162に進み、noの場合は処理を終了する。なお、「m」の0個の場合には予測動きベクトル成分値は「0」となる。ステップS162では、対象ブロック内の第1領域の動きベクトル成分値を予測動きベクトル成分値の候補に追加し、「m」の値を「1」として、処理を終了する。
図7は、ステップS155とステップS161とにおいて、隣接ブロックの動き情報が予測動き情報の条件を満たすかを判定するための処理フローを示している。ステップS171からステップS173にて、3つの条件がチェックされ、いずれかを満たす場合には、予測動き情報の条件を満たすものと判断される。ステップS171では、隣接ブロックが画面内に存在し、動きベクトルを有するブロックかであるかを判定する。ステップS172では、隣接ブロックの動き情報に予測対象である動きベクトルと同じ参照画面リストを指し示す動きベクトルが含まれているかを判定する。例えば、隣接ブロックの画面間予測モードが第1の参照画面リストを用いた片予測で、予測対象の動きベクトルが第2の参照画面リストを用いた片予測の動きベクトルの場合には、予測動き情報の条件を満たさない(no)と判定する。隣接ブロックの画面間予測モードが双予測あるいは第2の参照画面リストを用いた片予測で、予測対象の動きベクトルが第2の参照画面リストを用いた片予測の動きベクトルの場合には、予測動き情報の条件を満たす(Yes)と判定する。ステップS173では、ステップS172に条件を満たす隣接ブロックの動きベクトルが指示する参照画面番号が、予測対象である動きベクトルが指し示す参照画面番号と一致するかを判定する。一致しない場合は、予測動き情報の条件を満たさない(no)と判定する。
本発明では、さらに下記の変形が可能である。
(第2領域の動き情報の候補)
上述の説明では、第2領域の予測動きベクトル成分値の候補を、水平、垂直成分に分けて選出していたが、水平及び垂直成分をまとめて、予測動きベクトルの候補を選出してもよい。この際にも、図3や図9で説明したように、第1領域の動きベクトルは、候補に含めない。但し、予測動きベクトルの候補が0個の場合には、第1領域の動きベクトルを第2領域の予測動きベクトルの候補としてもよいし、図3(c)や図3(f)のように第1領域に隣接するブロックの動きベクトルを予測動きベクトルの候補に加えてもよい。
また、第2領域の予測動きベクトルの候補は、必ずしも第2領域に隣接していなくてもよい。例えば、対象ブロック内の第2領域と空間的に同一位置(時間方向の隣接ブロック)の符号化済み画面、つまり参照画面上の領域に付随する動きベクトルを予測動きベクトルの候補に加えてもよい。この際、第2領域に付随する動き情報に含まる動きベクトルが指示する参照画面番号が、時間方向の隣接ブロックに付随する動き情報に含まる動きベクトルが指示する参照画面番号と異なる場合には、参照画面番号が同じになるように動きベクトルを時間方向にスケーリングしてよい。
さらに、サイズの異なる対象ブロックが画面内に含まれる場合には、第2領域の上端(図3のブロック501に相当)あるいは左端(図3のブロック702に相当)に複数のブロックが存在する場合がある。この場合、これらの複数のブロックを全ての予測動きベクトルの候補に加えてもよいし、複数から1つを選択してもよい。後者については、例えば、上端(左端)のブロックについて、図10の条件を満たす動きベクトルを左から右に(上から下に)向けて順番に探すような方法でもよい。
(第1領域の動き情報の候補)
第2領域の予測動きベクトルの候補は、必ずしも第2領域に隣接していなくてもよい。例えば、対象ブロック内の第2領域と空間的に同一位置(時間方向の隣接ブロック)の符号化済み画面、つまり参照画面上の領域に付随する動きベクトルを予測動きベクトルの候補に加えてもよい。
(第1領域の形状)
第1領域の形状は矩形でなくてもよい。例えば、対象ブロックを斜めに分割してもよいし、曲線で分割されていてもよい。
(動きベクトル予測)
上記では、対象ブロックを第1領域と第2領域に分け、第1領域を隣接ブロックの動き情報を用いて予測する方法について説明した。しかしながら、図3や図9にて説明する本発明における第2領域の予測動きベクトルの候補選出法は、第1領域をブロックマッチングにて生成した動き情報を用いて予測する方法でも有効である。対象ブロックを2つに分割して動き予測では、第1領域と第2領域の動きベクトルは異なる。そのため、第2領域の動きベクトルの予測に第1領域の動きベクトルを用いる効果は低いと考えられる。
(変換器、逆変換器)
残差信号の変換処理は、固定のブロックサイズで行ってもよいし、部分領域にあわせて対象領域を再分割して変換処理を行ってもよい。
(動き情報)
上述した説明では、動き情報は、動きベクトル、参照画面番号及び画面間予測モードにて構成されると説明してきたが、輝度補償などの信号変換処理を含む予測方法にも本発明の予測信号生成処理は適用可能である。この場合、輝度補償パラメータなどが予測情報に含まれる。このパラメータについても、動きベクトルと同様に、隣接ブロックのパラメータとの差分値が符号化される場合には、図3や図9で説明した候補選出法が適用できる。
(画面間予測モード)
2つの参照画面リストを用いず、前方向/後方向/双方向予測を用いてもよい。
(色信号)
上述した説明では、色フォーマットについては特に述べていないが、色信号あるいは色差信号についても、輝度信号と個別に予測信号の生成処理を行ってもよい。また、輝度信号の処理と連動して予測信号の生成処理を行ってもよい。
(ブロックノイズ除去処理)
上述した説明では述べていないが、再生画像に対してブロックノイズ除去処理を行う場合には、第1領域と第2領域の境界部分に対してノイズ除去処理を行うとよい。
本実施形態に係る画像予測符号化方法及び画像予測復号方法を、プログラムとして記録媒体に格納して提供することもできる。記録媒体としては、フロッピーディスク(登録商標)、CD−ROM、DVD、あるいはROM等の記録媒体、あるいは半導体メモリ等が例示される。
図11は、画像予測符号化方法を実行することができるプログラムのモジュールを示すブロック図である。画像予測符号化プログラムP100は、ブロック分割モジュール(領域分割モジュール)P101、予測信号生成モジュールP102、記憶モジュール(記録モジュール)P103、減算モジュール(残差信号生成モジュール)P104、変換モジュールP105、量子化モジュールP106、逆量子化モジュールP107、逆変換モジュールP108、加算モジュールP109、符号化モジュールP110、動き情報推定モジュールP111、予測情報記憶モジュール(予測情報保存モジュール)P112、及び差分動き情報生成モジュールP113を備えている。上記各モジュールがコンピュータで実行されることにより実現される機能は、上述した画像予測符号化装置100の機能と同じである。すなわち、ブロック分割モジュールP101、予測信号生成モジュールP102、記憶モジュールP103、減算モジュールP104、変換モジュールP105、量子化モジュールP106、逆量子化モジュールP107、逆変換モジュールP108、加算モジュールP109、符号化モジュールP110、動き情報推定モジュールP111、予測情報記憶モジュールP112、及び差分動き情報生成モジュールP113は、ブロック分割器102、予測信号生成器103、フレームメモリ104、減算器105、変換器106、量子化器107、逆量子化器108、逆変換器109、加算器110、符号化器111、動き情報推定器113、予測情報用メモリ114、差分動き情報生成器115とそれぞれ同様の機能をコンピュータに実行させる。
また、図12は、画像予測復号方法を実行することができるプログラムのモジュールを示すブロック図である。画像予測復号プログラムP200は、復号モジュールP201、動き情報復元モジュールP202、予測情報記憶モジュールP203、予測信号生成モジュールP204、記憶モジュールP205、逆量子化モジュールP206、逆変換モジュールP207及び加算モジュールP208を備えている。
上記各モジュールが実行されることにより実現される機能は、上述した画像予測復号装置200の各構成要素と同じである。すなわち、復号モジュールP201、動き情報復元モジュールP202、予測情報記憶モジュールP203、予測信号生成モジュールP204、記憶モジュールP205、逆量子化モジュールP206、逆変換モジュールP207、加算モジュールP208は、復号器202、動き情報復元器207、予測情報用メモリ114、予測信号生成器103、フレームメモリ104、逆量子化器203、逆変換器204、加算器205と、それぞれ同様の機能をコンピュータに実行させる。
このように構成された画像予測符号化プログラムP100又は画像予測復号プログラムP200は、記録媒体10に記憶され、後述するコンピュータで実行される。
図13は、記録媒体に記録されたプログラムを実行するためのコンピュータのハードウェア構成を示す図であり、図14は、記録媒体に記憶されたプログラムを実行するためのコンピュータを示す図である。なお、記録媒体に記憶されたプログラムを実行するものはコンピュータに限定されず、CPUを具備しソフトウエアによる処理や制御を行なうDVDプレーヤ、セットトップボックス、携帯電話などでもよい。
図14に示すように、コンピュータ30は、フロッピーディスクドライブ装置、CD−ROMドライブ装置、DVDドライブ装置等の読取装置12と、オペレーティングシステムを常駐させた作業用メモリ(RAM)14と、記録媒体10に記憶されたプログラムを記憶するメモリ16と、ディスプレイといった表示装置18と、入力装置であるマウス20及びキーボード22と、データ等の送受を行うための通信装置24と、プログラムの実行を制御するCPU26とを備えている。コンピュータ30は、記録媒体10が読取装置12に挿入されると、読取装置12から記録媒体10に格納された画像予測符号化・復号プログラムにアクセス可能になり、当該画像符号化又は復号プログラムによって、本実施形態に係る画像符号化装置又は画像復号装置として動作することが可能になる。
図13に示すように、画像予測符号化プログラム及び画像復号プログラムは、搬送波に重畳されたコンピュータデータ信号40としてネットワークを介して提供されるものであってもよい。この場合、コンピュータ30は、通信装置24によって受信した画像予測符号化プログラムもしくは画像復号プログラをメモリ16に格納し、当該画像予測符号化プログラムもしくは画像予測復号プログラムを実行することができる。
以上、本発明をその実施形態に基づいて詳細に説明した。しかし、本発明はさらに上記実施形態に限定されるものではない。本発明は、その要旨を逸脱しない範囲で様々な変形が可能である。
100…画像予測符号化装置、101…入力端子、102…ブロック分割器、103…予測信号生成器、104…フレームメモリ、105…減算器、106…変換器、107…量子化器、108…逆量子化器、109…逆変換器、110…加算器、111…符号化器、112…出力端子、113…動き情報推定器、114…予測情報用メモリ、115…差分動き情報生成器、200…画像予測復号装置、201…入力端子、202…復号器、203…逆量子化器、204…逆変換器、205…加算器、206…出力端子、207…動き情報復元器。

Claims (10)

  1. 入力画像を複数の領域に分割する領域分割手段と、
    前記領域分割手段によって分割された符号化対象とする対象領域を第1領域と第2領域とに分け、当該2領域の信号との相関が高い信号を既再生信号から取得するための2つの動きベクトルを求める動き情報推定手段と、
    前記動き情報推定手段によって求められた前記2領域の動きベクトルに基づいて、前記対象領域の予測信号を生成する予測信号生成手段と、
    前記第1領域及び前記第2領域の動きベクトルを保存する予測情報保存手段と、
    前記第2領域に隣接するブロックの動きベクトルを前記第2領域の予測動きベクトルとし、前記第2領域の動きベクトルと前記第2領域の予測動きベクトルとから前記第2領域の差分動きベクトルを生成する動き情報生成手段と、
    前記対象領域の予測信号と前記対象領域の画素信号とに基づく残差信号を生成する残差信号生成手段と、
    前記残差信号生成手段によって生成された前記残差信号に量子化処理を施し、量子化係数を生成する量子化手段と、
    前記第1領域の動きベクトルの生成に必要な情報、前記第2領域の予測動きベクトルを指示する選択情報、前記第2領域の差分動きベクトル及び前記残差信号の量子化係数を符号化する符号化手段と、
    前記量子化手段によって生成された前記量子化係数に逆量子化処理を施し、前記残差信号を再生する逆量子化手段と、
    前記予測信号と再生された残差信号とを加算することによって前記対象領域の復元画素信号を生成し、当該復元画素信号を前記既再生信号として保存する記録手段と、を備え、
    前記動き情報生成手段は、前記対象領域の前記第2領域に隣接するブロックから、前記対象領域の前記第1領域を除く予め定められた複数個の隣接ブロックに属する動きベクトルを前記第2領域の予測動きベクトルの候補として選出し、当該複数の第2領域の予測動きベクトルの候補から1つを選択して、前記第2領域の予測動きベクトルとすることを特徴とする画像予測符号化装置。
  2. 前記動き情報生成手段は、前記予め定められた複数個の隣接ブロックが動きベクトルを保有しない場合、前記対象領域の第1領域に属する動きベクトルを、前記第2領域の予測動きベクトルとすることを特徴とする請求項1に記載の画像予測符号化装置。
  3. 前記動き情報生成手段は、前記第1領域に隣接するブロックの動きベクトルを前記第1領域の予測動きベクトルとし、前記第1領域の動きベクトルと前記第1領域の予測動きベクトルとから前記第1領域の差分動きベクトルを生成し、
    前記符号化手段は、さらに、前記第1領域の動きベクトルを生成するための情報として、前記第1領域の差分動きベクトルを符号化する、請求項1または2に記載の画像予測符号化装置。
  4. 複数の領域に分割して符号化された画像の圧縮データを解析し、復号対象となる対象領域の信号を第1領域と第2領域とに分けて予測するための動き情報の復号データと、残差信号の復号データとを復号する復号手段と、
    前記動き情報の復号データには、前記第1領域の動きベクトルの生成に必要な情報、前記第2領域の予測動きベクトルを指示する選択情報、前記第2領域の差分動きベクトルが含まれており、前記第1領域の動きベクトルの生成に必要な情報から第1領域の動きベクトルを復元すると共に、前記第2領域に隣接するブロックの動きベクトルから前記動き情報の復号データに含まれる前記第2領域の予測動きベクトルを指示する選択情報に基づいて第2領域の予測動きベクトルを決定し、前記動き情報の復号データに含まれる前記第2領域の差分動きベクトルと前記第2領域の予測動きベクトルとから第2領域の動きベクトルを復元する動き情報復元手段と、
    前記動き情報復元手段によって復元された前記2領域の動きベクトルに基づいて、前記対象領域の予測信号を生成する予測信号生成手段と、
    前記第1領域及び前記第2領域の動きベクトルを保存する予測情報保存手段と、
    前記残差信号の復号データである量子化係数に逆量子化処理を施して、前記残差信号を再生する逆量子化手段と、
    前記予測信号と再生された残差信号とを加算することによって前記対象領域の復元画素信号を生成し、当該復元画素信号を既再生信号として保存する記録手段と、を備え、
    前記動き情報復元手段は、前記対象領域の前記第2領域に隣接するブロックから、前記対象領域の前記第1領域を除く予め定められた複数個の隣接ブロックに属する動きベクトルを前記第2領域の予測動きベクトルの候補として選出し、当該複数の第2領域の予測動きベクトルの候補から1つを選択して、前記第2領域の予測動きベクトルとすることを特徴とする画像予測復号装置。
  5. 前記動き情報復元手段は、前記予め定められた複数個の隣接ブロックが動きベクトルを保有しない場合、前記対象領域の第1領域に属する動きベクトルを、前記第2領域の予測動きベクトルとすることを特徴とする請求項に記載の画像予測復号装置。
  6. 前記動き情報の復号データには、前記第1領域の動きベクトルの生成に必要な情報として、前記第1領域の予測動きベクトルを指示する選択情報を含むとともに、さらに前記第1領域の差分動きベクトルを含み、
    前記動き情報復元手段は、前記第1領域に隣接するブロックの動きベクトルを決定し、第1領域の差分ベクトルと前記第1領域の予測動きベクトルから第1の領域の動きベクトルを復元する、請求項4または5に記載の画像予測復号装置。
  7. 画素信号を保存する記録手段を備える画像予測符号化装置の画像予測符号化方法において、
    入力画像を複数の領域に分割する領域分割ステップと、
    前記領域分割ステップにおいて分割された符号化対象とする対象領域を第1領域と第2領域とに分け、当該2領域の信号との相関が高い信号を既再生信号から取得するための2つの動きベクトルを求める動き情報推定ステップと、
    前記動き情報推定ステップにおいて求められた前記2領域の動きベクトルに基づいて、前記対象領域の予測信号を生成する予測信号生成ステップと、
    前記第1領域及び前記第2領域の動きベクトルを保存する予測情報保存ステップと、
    前記第2領域に隣接するブロックの動きベクトルを前記第2領域の予測動きベクトルとし、前記第2領域の動きベクトルと前記第2領域の予測動きベクトルとから前記第2領域の差分動きベクトルを生成する動き情報生成ステップと、
    前記対象領域の予測信号と前記対象領域の画素信号とに基づく残差信号を生成する残差信号生成ステップと、
    前記残差信号生成ステップにおいて生成された前記残差信号に量子化処理を施し、量子化係数を生成する量子化ステップと、
    前記第1領域の動きベクトルの生成に必要な情報、前記第2領域の予測動きベクトルを指示する選択情報、前記第2領域の差分動きベクトル及び前記残差信号の量子化係数を符号化する符号化ステップと、
    前記量子化ステップにおいて生成された前記量子化係数に逆量子化処理を施し、前記残差信号を再生する逆量子化ステップと、
    前記予測信号と再生された残差信号とを加算することによって前記対象領域の復元画素信号を生成し、当該復元画素信号を前記既再生信号として前記記録手段に保存する記録ステップと、を含み、
    前記動き情報生成ステップでは、前記対象領域の前記第2領域に隣接するブロックから、前記対象領域の前記第1領域を除く予め定められた複数個の隣接ブロックに属する動きベクトルを前記第2領域の予測動きベクトルの候補として選出し、当該複数の第2領域の予測動きベクトルの候補から1つを選択して、前記第2領域の予測動きベクトルとすることを特徴とする画像予測符号化方法。
  8. 画素信号を保存する記録手段を備える画像予測復号装置の画像予測復号方法において、
    複数の領域に分割して符号化された画像の圧縮データを解析し、復号対象となる対象領域の信号を第1領域と第2領域とに分けて予測するための動き情報の復号データと、残差信号の復号データとを復号する復号ステップと、
    前記動き情報の復号データには、前記第1領域の動きベクトルの生成に必要な情報、前記第2領域の予測動きベクトルを指示する選択情報、前記第2領域の差分動きベクトルが含まれており、前記第1領域の動きベクトルの生成に必要な情報から第1領域の動きベクトルを復元すると共に、前記第2領域に隣接するブロックの動きベクトルから前記動き情報の復号データに含まれる前記第2領域の予測動きベクトルを指示する選択情報に基づいて第2領域の予測動きベクトルを決定し、前記動き情報の復号データに含まれる前記第2領域の差分動きベクトルと前記第2領域の予測動きベクトルとから第2領域の動きベクトルを復元する動き情報復元ステップと、
    前記動き情報復元ステップにおいて復元された前記2領域の動きベクトルに基づいて、前記対象領域の予測信号を生成する予測信号生成ステップと、
    前記第1領域及び前記第2領域の動きベクトルを保存する予測情報保存ステップと、
    前記残差信号の復号データである量子化係数に逆量子化処理を施して、前記残差信号を再生する逆量子化ステップと、
    前記予測信号と再生された残差信号とを加算することによって前記対象領域の復元画素信号を生成し、当該復元画素信号を既再生信号として前記記録手段に保存する記録ステップと、を含み、
    前記動き情報復元ステップでは、前記対象領域の前記第2領域に隣接するブロックから、前記対象領域の前記第1領域を除く予め定められた複数個の隣接ブロックに属する動きベクトルを前記第2領域の予測動きベクトルの候補として選出し、当該複数の第2領域の予測動きベクトルの候補から1つを選択して、前記第2領域の予測動きベクトルとすることを特徴とする画像予測復号方法。
  9. コンピュータを、
    入力画像を複数の領域に分割する領域分割モジュールと、
    前記領域分割モジュールによって分割された符号化対象とする対象領域を第1領域と第2領域とに分け、当該2領域の信号との相関が高い信号を既再生信号から取得するための2つの動きベクトルを求める動き情報推定モジュールと、
    前記動き情報推定モジュールによって求められた前記2領域の動きベクトルに基づいて、前記対象領域の予測信号を生成する予測信号生成モジュールと、
    前記第1領域及び前記第2領域の動きベクトルを保存する予測情報保存モジュールと、
    前記第2領域に隣接するブロックの動きベクトルを前記第2領域の予測動きベクトルとし、前記第2領域の動きベクトルと前記第2領域の予測動きベクトルとから前記第2領域の差分動きベクトルを生成する動き情報生成モジュールと、
    前記対象領域の予測信号と前記対象領域の画素信号とに基づく残差信号を生成する残差信号生成モジュールと、
    前記残差信号生成モジュールによって生成された前記残差信号に量子化処理を施し、量子化係数を生成する量子化モジュールと、
    前記第1領域の動きベクトルの生成に必要な情報、前記第2領域の予測動きベクトルを指示する選択情報、前記第2領域の差分動きベクトル及び前記残差信号の量子化係数を符号化する符号化モジュールと、
    前記量子化モジュールによって生成された前記量子化係数に逆量子化処理を施し、前記残差信号を再生する逆量子化モジュールと、
    前記予測信号と再生された残差信号とを加算することによって前記対象領域の復元画素信号を生成し、当該復元画素信号を前記既再生信号として保存する記録モジュールと、として機能させ、
    前記動き情報生成モジュールは、前記対象領域の前記第2領域に隣接するブロックから、前記対象領域の前記第1領域を除く予め定められた複数個の隣接ブロックに属する動きベクトルを前記第2領域の予測動きベクトルの候補として選出し、当該複数の第2領域の予測動きベクトルの候補から1つを選択して、前記第2領域の予測動きベクトルとすることを特徴とする画像予測符号化プログラム。
  10. コンピュータを、
    複数の領域に分割して符号化された画像の圧縮データを解析し、復号対象となる対象領域の信号を第1領域と第2領域とに分けて予測するための動き情報の復号データと、残差信号の復号データとを復号する復号モジュールと、
    前記動き情報の復号データには、前記第1領域の動きベクトルの生成に必要な情報、前記第2領域の予測動きベクトルを指示する選択情報、前記第2領域の差分動きベクトルが含まれており、前記第1領域の動きベクトルの生成に必要な情報から第1領域の動きベクトルを復元すると共に、前記第2領域に隣接するブロックの動きベクトルから前記動き情報の復号データに含まれる前記第2領域の予測動きベクトルを指示する選択情報に基づいて第2領域の予測動きベクトルを決定し、前記動き情報の復号データに含まれる前記第2領域の差分動きベクトルと前記第2領域の予測動きベクトルとから第2領域の動きベクトルを復元する動き情報復元モジュールと、
    前記動き情報復元モジュールによって復元された前記2領域の動きベクトルに基づいて、前記対象領域の予測信号を生成する予測信号生成モジュールと、
    前記第1領域及び前記第2領域の動きベクトルを保存する予測情報保存モジュールと、
    前記残差信号の復号データである量子化係数に逆量子化処理を施して、前記残差信号を再生する逆量子化モジュールと、
    前記予測信号と再生された残差信号とを加算することによって前記対象領域の復元画素信号を生成し、当該復元画素信号を既再生信号として保存する記録モジュールと、として機能させ、
    前記動き情報復元モジュールは、前記対象領域の前記第2領域に隣接するブロックから、前記対象領域の前記第1領域を除く予め定められた複数個の隣接ブロックに属する動きベクトルを前記第2領域の予測動きベクトルの候補として選出し、当該複数の第2領域の予測動きベクトルの候補から1つを選択して、前記第2領域の予測動きベクトルとすることを特徴とする画像予測復号プログラム。
JP2011004294A 2011-01-12 2011-01-12 画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法及び画像予測復号プログラム Active JP5698541B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011004294A JP5698541B2 (ja) 2011-01-12 2011-01-12 画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法及び画像予測復号プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011004294A JP5698541B2 (ja) 2011-01-12 2011-01-12 画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法及び画像予測復号プログラム

Publications (2)

Publication Number Publication Date
JP2012147269A JP2012147269A (ja) 2012-08-02
JP5698541B2 true JP5698541B2 (ja) 2015-04-08

Family

ID=46790375

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011004294A Active JP5698541B2 (ja) 2011-01-12 2011-01-12 画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法及び画像予測復号プログラム

Country Status (1)

Country Link
JP (1) JP5698541B2 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4373702B2 (ja) * 2003-05-07 2009-11-25 株式会社エヌ・ティ・ティ・ドコモ 動画像符号化装置、動画像復号化装置、動画像符号化方法、動画像復号化方法、動画像符号化プログラム及び動画像復号化プログラム
JP4289126B2 (ja) * 2003-11-04 2009-07-01 ソニー株式会社 データ処理装置およびその方法と符号化装置
US8908765B2 (en) * 2007-11-15 2014-12-09 General Instrument Corporation Method and apparatus for performing motion estimation
FI3661210T3 (fi) * 2010-07-20 2023-08-31 Ntt Docomo Inc Kuvanennustusdekoodausmenetelmä

Also Published As

Publication number Publication date
JP2012147269A (ja) 2012-08-02

Similar Documents

Publication Publication Date Title
JP6405432B2 (ja) 画像予測復号装置および画像予測復号方法
JP6559309B2 (ja) 画像予測復号方法
KR20100119562A (ko) 화상 예측 부호화 장치, 화상 예측 부호화 방법, 화상 예측 부호화 프로그램, 화상 예측 복호 장치, 화상 예측 복호 방법 및 화상 예측 복호 프로그램
JPWO2011061880A1 (ja) 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
KR101866440B1 (ko) 화상 예측 부호화 장치, 화상 예측 부호화 방법, 화상 예측 부호화 프로그램, 화상 예측 복호 장치, 화상 예측 복호 방법, 및 화상 예측 복호 프로그램
JP5698541B2 (ja) 画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法及び画像予測復号プログラム
AU2019257506B2 (en) Image predictive encoding device, image predictive encoding method, image predictive encoding program, image predictive decoding device, image predictive decoding method, and image predictive decoding program
JP5642305B2 (ja) 動画像予測符号化装置、動画像予測符号化方法、動画像予測符号化プログラム、動画像予測復号装置、動画像予測復号方法及び動画像予測復号プログラム
AU2015202089A1 (en) Image predictive encoding device, image predictive encoding method, image predictive encoding program, image predictive decoding device, image predictive decoding method, and image predictive decoding program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130816

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140410

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140422

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140616

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140703

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150127

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150213

R150 Certificate of patent or registration of utility model

Ref document number: 5698541

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250