説明

画像符号化方法、画像符号化装置、画像復号方法、画像復号装置およびそれらのプログラム

【課題】優れた符号化効率を得ることが可能な画像符号化方法を提供すること。
【解決手段】画像を分割したマクロブロック毎に符号化する画像符号化方法であって、符号化対象のマクロブロックに隣接するマクロブロックをイントラ予測した際の予測モードと、隣接するマクロブロックの画素値とに基づいて、符号化対象のマクロブロックの予測画像を生成する生成ステップを有することを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像符号化方法、画像符号化装置、画像復号方法、画像復号装置およびそれらのプログラムに関する。
【背景技術】
【0002】
動画像の符号化においては、フレーム内予測や動き補償フレーム間予測など様々な方式が提案され、国際標準化規格であるMPEG(Moving Picture Experts Group)−2、MPEG−4、MPEG−4 AVC(Advanced Video Coding)/H.264で採用されている。
非特許文献1に記載されたように、MPEG−4 AVC/H.264で採用された方式の一つに、スキップト・マクロブロックモード(skipped macroblock mode)がある。この方式は符号化対象のマクロブロックの情報をまったく符号化せず、復号する際には、符号化されたマクロブロックと隣接するマクロブロックの動きベクトルに基づき予測ベクトルを生成し、その予測ベクトルで動き補償を行うことで、符号化マクロブロックを復号するものである。
【0003】
特許文献1には、多視点映像を符号化する場合に、このような予測ベクトルの代わりに、符号化対象画像と符号化対象画像とは異なる視点の画像との全域的な差を示す全域差ベクトルに基づいて、現在ブロックの動きベクトルを予測して、それを予測ベクトルとする技術が開示されている。また、特許文献1には、この予測ベクトルを利用したスキップト・マクロブロックモードで符号化、復号を行うことも開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特表2010−516158号公報
【非特許文献】
【0005】
【非特許文献1】ITU−T Rec. H.264(03/2009)― Advanced video coding for generic audiovisual services
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上述の非特許文献1および特許文献1の技術においては、符号化対象画像が奥行き情報を表すデプスマップなど空間方向の相関性が高い画像にスキップト・マクロブロックモードを適用したときに、スキップト・マクロブロックモードが主に時間方向の相関に基づく方法であるために高い符号化効率が得られないことがあるという問題がある。
【0007】
本発明は、上述のような実状に鑑みてなされたものであり、その目的は、空間方向の相関性が高い画像においても優れた符号化効率を得ることが可能な画像符号化方法、画像符号化装置、画像復号方法、画像復号装置およびそれらのプログラムを提供することにある。
【課題を解決するための手段】
【0008】
(1)この発明は上述した課題を解決するためになされたもので、本発明の一態様は、画像を分割したマクロブロック毎に符号化する画像符号化方法であって、符号化対象のマクロブロックに隣接するマクロブロックをイントラ予測した際の予測モードと、前記隣接するマクロブロックの画素値とに基づいて、前記符号化対象のマクロブロックの予測画像を生成する生成ステップを有することを特徴とする。
【0009】
(2)また、本発明の他の態様は、上述の画像符号化方法であって、前記隣接するマクロブロックに基づいて、前記符号化対象のマクロブロック毎に、前記予測画像を前記生成ステップにより生成するか否かを選択するステップを有することを特徴とする。
【0010】
(3)また、本発明の他の態様は、上述の画像符号化方法であって、前記生成ステップは、前記予測モードと、前記画素値に基づいたイントラ予測によって前記予測画像を生成することを特徴とする。
【0011】
(4)また、本発明の他の態様は、上述の画像符号化方法であって、前記生成ステップは、前記隣接するマクロブロックの前記符号化対象のマクロブロックに対する隣接方向と、該隣接方向の前記隣接するマクロブロックの予測モードとの組み合わせによって、前記イントラ予測の予測モードを決定するステップを有することを特徴とする。
【0012】
(5)また、本発明の他の態様は、画像を分割したマクロブロック毎に符号化する画像符号化装置であって、符号化対象のマクロブロックに隣接するマクロブロックをイントラ予測した際の予測モードと、前記隣接するマクロブロックの画素値とに基づいて、前記符号化対象のマクロブロックの予測画像を生成する予測画像生成部を具備することを特徴とする。
【0013】
(6)また、本発明の他の態様は、画像を分割したマクロブロック毎に符号化された画像を復号する画像復号方法であって、復号対象のマクロブロックに隣接するマクロブロックをイントラ予測した際の予測モードと、前記隣接するマクロブロックの画素値とに基づいて、前記復号対象のマクロブロックの予測画像を生成する生成ステップを有することを特徴とする。
【0014】
(7)また、本発明の他の態様は、画像を分割したマクロブロック毎に符号化された画像を復号する画像復号装置であって、復号対象のマクロブロックに隣接するマクロブロックをイントラ予測した際の予測モードと、前記隣接するマクロブロックの画素値とに基づいて、前記復号対象のマクロブロックの予測画像を生成する予測画像生成部を具備することを特徴とする。
【0015】
(8)また、本発明の他の態様は、画像を分割したマクロブロック毎に符号化する画像符号化装置のコンピュータを、符号化対象のマクロブロックに隣接するマクロブロックをイントラ予測した際の予測モードと、前記隣接するマクロブロックの画素値とに基づいて、前記符号化対象のマクロブロックの予測画像を生成する予測画像生成部として動作させるためのプログラムである。
【0016】
(9)また、本発明の他の態様は、画像を分割したマクロブロック毎に符号化された画像を復号する画像復号装置のコンピュータを、復号対象のマクロブロックに隣接するマクロブロックをイントラ予測した際の予測モードと、前記隣接するマクロブロックの画素値とに基づいて、前記復号対象のマクロブロックの予測画像を生成する予測画像生成部として動作させるためのプログラムである。
【発明の効果】
【0017】
この発明によれば、空間方向の相関性が高い画像においても優れた符号化効率を得ることが可能になる。
【図面の簡単な説明】
【0018】
【図1】本発明の第1の実施形態に係る画像符号化装置を備えた3次元画像撮影システムの一構成例を示す概略図である。
【図2】本発明の第1の実施形態に係る画像符号化装置の構成例を示す概略図である。
【図3】イントラ予測の予測モードを示す概略図である。
【図4】本発明の第1の実施形態に係るスキップト・マクロブロック部の構成例を示す概略図である。
【図5】本発明の第1の実施形態に係るスキップト・マクロブロックモードによる符号化の一例を示す概念図である。
【図6】本発明の第1の実施形態に係る画像符号化装置が行う画像符号化処理の一例を説明するためのフローチャートである。
【図7】図6に続くフローチャートである。
【図8】本発明の第1の実施形態に係るスキップト・マクロブロック部におけるスキップト・マクロブロック予測画像マクロブロック生成処理の一例を説明するためのフローチャートである。
【図9】図8に続くフローチャートである。
【図10】本発明の第1の実施形態に係る画像復号装置の構成例を示す概略図である。
【図11】本発明の第1の実施形態に係る画像復号装置が行う画像復号処理の一例を説明するためのフローチャートである。
【発明を実施するための形態】
【0019】
以下の各実施形態では、画素毎のデプス値からなるデプスマップを構成する一部の領域であるマクロブロック毎に、スキップト・マクロブロックモードによってデプスマップの符号化又は復号を行う。無論、以下の説明から明らかなように、全てのマクロブロックに対してスキップト・マクロブロックモードで符号化/復号を行うことに限定されるものではない。そして、各実施形態では予測画像の生成に主たる特徴を有する。より具体的には、各実施形態におけるスキップト・マクロブロックモードでは、マクロブロックを予測符号化する際に、隣接ブロックの符号化モードに応じて、予測画像の生成方法を変更するようにしている。
【0020】
以下、図面を参照しながら本発明の実施形態について詳しく説明する。
(第1の実施形態)
図1は、本発明の第1の実施形態に係る画像符号化装置を備えた3次元画像撮影システムの一構成例を示す概略図である。
図1で例示する3次元画像撮影システム10は、撮影装置3a、撮影装置3b、画像前置処理部2、画像符号化装置1、及びテクスチャ画像符号化装置4を含んで構成される。
撮影装置3a及び撮影装置3bは、互いに異なる位置(視点)に設置され、同一の視野(被写空間)に含まれる被写体の画像を、予め定めた時間間隔で(例えば1/30秒毎に1回)撮影する。撮影装置3a及び撮影装置3bは、撮影した画像を示す画像信号をテクスチャ画像(texture map;「二次元画像」ということがある。)と定め、それぞれのテクスチャ画像を画像前置処理部2に出力する。
【0021】
この画像信号は、被写空間に含まれる被写体や背景の色彩や濃淡を表す信号値(画素値、輝度値)であって、二次元平面に配置された画素毎の信号値からなる画像信号である。この画像信号は、画素毎に色空間を表す信号値を有する画像信号、例えばRGB信号である。RGB信号は、赤色成分の輝度値を表すR信号、緑色成分の輝度値を示すG信号、青色成分の輝度値を示すB信号を含む。
【0022】
画像前置処理部2に入力される画像のうち、撮影装置3a及び撮影装置3bのいずれか一方、例えば撮影装置3aから入力されたテクスチャ画像を基準画像と定め、他の撮影装置(この例では撮影装置3b)から入力されたテクスチャ画像と区別して説明する。従って、基準画像も被写空間に含まれる被写体や背景の色彩や濃淡を表す信号値(輝度値)であって、二次元平面に配置された画素毎の信号値からなる一般的な二次元の画像信号である。
【0023】
画像前置処理部2は、撮影装置3aから入力されたテクスチャ画像を基準画像として、この基準画像と、他の撮影装置3bから入力されたテクスチャ画像との視差を画素毎に算出し、撮影装置3aから入力されたテクスチャ画像に対応するデプスマップを生成する。デプスマップ(depth map、「深度画像」、「距離画像」とも言う)とは、被写空間に含まれる被写体や背景の、視点(撮影装置等)からの距離に対応する信号値(「デプス値」、「深度値」、「デプス」等と呼ぶ)であって、二次元平面に配置された画素毎の信号値(画素値)からなる画像信号である。デプスマップを構成する画素は、基準画像を構成する画素と対応する。従って、デプスマップは、被写空間を二次元平面に射影した基準となる画像信号である基準画像を用いて、三次元の被写空間を表すための手がかりとなる。
【0024】
次に、画像前置処理部2は、他の撮影装置3bから入力されたテクスチャ画像を基準画像として、撮影装置3aから入力されたテクスチャ画像との視差から、撮影装置3aのデプスマップの生成方法と同様にして、撮影装置3bのテクスチャ画像に対応するデプスマップを生成する。画像前置処理部2は、撮影装置3a及び撮影装置3bのテクスチャ画像をフレーム毎に交互にテクスチャ画像符号化装置4に出力する。また、画像前置処理部2は、テクスチャ画像に対応するデプスマップを画像符号化装置1に出力する。すなわち、画像前置処理部2は、テクスチャ画像符号化装置4にテクスチャ画像を出力したタイミングに、該テクスチャ画像に対応するデプスマップを画像符号化装置1に出力する。
【0025】
テクスチャ画像符号化装置4は、入力されたテクスチャ画像を、例えば、非特許文献1である、ITU−T H.264規格で規定されている復号方式に対応する符号化方式を用いて符号化し、テクスチャ画像符号を生成する。
なお、本実施形態では、画像撮影システムが備える撮影装置の数を2台として説明しているが、これに限らず、3台以上であってもよい。また、画像符号化装置1及びテクスチャ画像符号化装置にそれぞれ入力されるデプスマップ及びテクスチャ画像は、撮影装置3a及び撮影装置3bが撮影した画像に基づくものでなくともよく、例えば、コンピュータグラフィックスなどの予め合成された画像であってもよい。
【0026】
次に、本実施形態に係る画像符号化装置1の構成例とその機能について、図2を参照しながら説明する。図2は、本実施形態に係る画像符号化装置1の構成例を示す概略図である。
図2で例示する画像符号化装置1は、デプスマップ入力部101、参照画像メモリ102、イントラ予測部103、インター予測部104、スキップト・マクロブロック部105、符号化モード判定部106、動きベクトルメモリ107、符号化モードメモリ108、スイッチ109、減算部110、DCT変換・量子化部111、逆量子化・逆DCT変換部112、加算部113、及び情報源符号化部114を含んで構成される。
【0027】
デプスマップ入力部101は、画像前置処理部2からデプスマップがフレーム毎に入力され、入力されたデプスマップからマクロブロック(以下、デプスマクロブロック)を抽出する。デプスマップ入力部101は、抽出したデプスマクロブロックを、符号化モード判定部106、イントラ予測部103、インター予測部104、及び減算部110に出力する。デプスマクロブロックは、予め定めた数の画素、例えば水平方向16画素×垂直方向16画素からなる。
【0028】
デプスマップ入力部101は、ラスタースキャンの順序でデプスマクロブロックを抽出するマクロブロックの位置を、各ブロックが重ならないようにシフトさせる。即ち、デプスマップ入力部101は、デプスマクロブロックを抽出するブロックをフレームの左上端から順次ブロックの水平方向の画素数だけ右に移動させる。デプスマップ入力部101は、デプスマクロブロックを抽出するマクロブロックの右端がフレームの右端に達した後、そのマクロブロックをマクロブロックの垂直方向の画素数だけ下で、且つフレームの左端に移動させる。デプスマップ入力部101は、このようにしてデプスマクロブロックを抽出するマクロブロックがフレームの右下に達するまで移動させる。なお、以下では、抽出されたデプスマクロブロックを符号化対象マクロブロック又は対象マクロブロックと呼ぶことがある。
【0029】
参照画像メモリ102は、加算部113から入力された参照画像のマクロブロック(以下、参照画像マクロブロック)を、対応するフレームにおける符号化対象マクロブロックの位置に配置して参照画像として記憶する。この参照画像マクロブロックは、過去に入力されたデプスマクロブロックを符号化し、復号されたマクロブロックである。このように参照画像マクロブロックを配置して構成したフレームの画像信号を参照画像と呼んでいる。参照画像メモリ102は、現在から予め設定されたフレーム数、例えば15フレーム分の過去のフレームの参照画像を順次に記憶し、記憶されたフレーム数が予め設定されたフレーム数を超えたとき、例えば16フレーム目の参照画像が入力された時、それ以前の過去のフレームの参照画像を全て削除する。
【0030】
イントラ予測部103は、デプスマップ入力部101から対象マクロブロックを受け取り、参照画像メモリ102から対象マクロブロックと同一フレーム内の対象マクロブロックに隣接するマクロブロックであって、符号化に係る処理を行った参照画像マクロブロックを読みだす。次に、イントラ予測部103は、読みだした参照画像マクロブロックに基づいてフレーム内予測を行い、イントラ予測画像マクロブロックを生成する。具体的なフレーム内予測の方法としては、例えば非特許文献1である、ITU−T H.264規格書に記載されているフレーム内予測方法がある。
【0031】
図3は非特許文献1で規定されている、イントラ予測における輝度信号に対する予測モード(予測方向)を示したものである。対象マクロブロックをサイズが4×4又は8×8のブロックに分割してフレーム内予測をする場合には、図3の(a)にあるように、0から8までの9通りの予測モードが決められており、対象マクロブロックを分割せず、サイズが16×16の場合には、図3の(b)にあるように、0から3までの4通りの予測モードが決められている。なお、図3(a)、図3(b)にあるIntra_DCとは、対象マクロブロック又はサブブロックの上と左に隣接する画素の平均値で対象マクロブロック又はサブブロックを予測する方法である。また、図3(b)にあるIntra_Planeとは対象マクロブロック又はサブブロックの上に隣接する画素と左に隣接する画素を斜め方向に画素値を内挿し予測値とする方法である。
【0032】
イントラ予測部103は、読みだした参照画像マクロブロックのデプス値を輝度値とみなして、上述のフレーム内予測を行う。また、イントラ予測部103は、対象マクロブロックを4×4のブロック16個に分割するパターンと、8×8のブロックに分割するパターンと、分割しない(ブロックのサイズは16×16)パターンごとに対象マクロブロックと最も似ているイントラ予測画像マクロブロックが生成される予測モードを選択する。対象マクロブロックとイントラ予測画像マクロブロックが似ているかどうかの指標としては、例えばSAD(Sum of Absolute Difference、差分絶対値和)がある。イントラ予測部103は、各パターンのイントラ予測画像マクロブロックのSADを比較し、最もSADが小さいパターンのイントラ予測画像マクロブロックを符号化モード判定部106に出力する。なお、本発明は、具体的な対象マクロブロックとイントラ予測画像マクロブロックの類似度算出方法によって限定されるものではない。
【0033】
インター予測部104は、デプスマップ入力部101から入力された対象マクロブロックを1つ若しくは複数のパーティションに分割し、各々のパーティションに対して、順次、動きベクトルを検出する。なお、1つのパーティションに分割するとは実質的に分割を実行しないことを指す。
具体的には、インター予測部104は、まず参照画像メモリ102から参照画像を構成する参照画像ブロックを読み出す。インター予測部104が読み出す参照画像ブロックの大きさ(画素数)は上記1又は複数のパーティションのうち、処理の対象となるパーティション(以下、対象パーティションと呼ぶ)の大きさと同一である。ここで、インター予測部104は、デプスマップ入力部101から入力されたデプスマクロブロック内の対象パーティションと参照画像ブロックとの間でブロックマッチングを行う。即ち、参照画像メモリ102に記憶されている過去の参照画像のフレームから参照画像ブロックを読み出す位置を、対象パーティションの位置から予め設定した範囲内において水平方向又は垂直方向に1画素ずつ移動させる。インター予測部104は、対象パーティションの座標と対象パーティションと最も類似する参照画像ブロックの座標との差分を、ベクトルとして検出する。
【0034】
ここで、インター予測部104は、対象パーティションに含まれる画素毎の信号値と参照画像ブロックに含まれる画素毎の信号値との類似性を示す指標値、例えば、SAD(Sum of Absolute Difference、差分絶対値和)を算出する。インター予測部104は、指標値を最小とする参照画像ブロックを、対象パーティションと最も類似する参照画像ブロックと定める。インター予測部104は、対象パーティションの座標と、最も類似する参照画像ブロックの座標とに基づき動きベクトルを算出する。
【0035】
また、インター予測部104は、対象マクロブロックを構成する上記パーティションのサイズのうち、符号化コストが最小となるパーティションのサイズを選択する。例えば、インター予測部104は、以下の処理を全てのパーティションのサイズに対して行う。まず、インター予測部104は、算出した動きベクトルの水平成分の絶対値、その垂直成分の絶対値及び対象パーティションと対象パーティションと最も類似する参照ブロックとの間の指標値の和をコスト値として算出する。以上の処理を、対象マクロブロックを構成する全てのパーティションに対して行うことでコスト値を算出し、そのコスト値の和をパーティションのサイズ毎に求めていく。そして、パーティションのサイズのうちコスト値の和が最も小さくなったパーティションのサイズを選択する。
【0036】
他のパーティションサイズの選択方法としては、例えば、RDコストを用いるものもある。RDコストとは、次式から符号化コストJを算出する。
J = D+λ×R
ここで、Dは対象マクロブロックと対象マクロブロックを符号化し復号した画像との差分であり、Rは予想される発生符号量である。また、係数λは、定数であってもよいし、DCT変換・量子化部111における量子化の粗さを制御する量子化パラメータの関数であってもよい。なお、本発明は、具体的な符号化コストの算出方法によって限定されるものではない。
【0037】
次に、インター予測部104は、コスト値が最小となったパーティションのサイズとそのサイズの各パーティションで算出した動きベクトルとに基づいて動き補償を行い、インター予測画像マクロブロックを生成する。具体的には、まず、インター予測部104は、参照画像メモリ102からパーティション毎に、動きベクトルが差す座標の参照画像ブロックを読み取る。インター予測部104は、パーティション毎に、読みだした参照画像ブロックの座標をパーティションの座標に合わせる処理をすることによってインター予測画像マクロブロックを生成する。
インター予測部104は、生成したインター予測画像マクロブロックを符号化モード判定部106に出力し、生成した動きベクトルを情報源符号化部114とスイッチ109に出力する。
【0038】
スキップト・マクロブロック部105は、符号化モードメモリ108から対象マクロブロックに隣接するブロックの符号化モード信号を読み出す。同様に、動きベクトルメモリ107から対象マクロブロックに隣接するブロックの動きベクトルを読出し、参照画像メモリ102から対象マクロブロックに隣接する参照画像ブロックの画素値を読みだす。
【0039】
スキップト・マクロブロック部105は、対象マクロブロックに隣接するブロックの符号化モード信号、動きベクトル、及び画素値に基づいてスキップ予測画像マクロブロックを生成する。スキップト・マクロブロック部105は、スキップ予測画像マクロブロックを符号化モード判定部106に出力する。また、スキップト・マクロブロック部105は、隣接するブロックの動きベクトルから、予測ベクトルを生成する場合がある。スキップト・マクロブロック部105は、予測ベクトルを生成した場合には、生成した予測ベクトルをスイッチ109に出力する。処理の詳細については後述する。
【0040】
符号化モード判定部106は、デプスマップ入力部101から対象マクロブロックを、イントラ予測部103からイントラ予測画像マクロブロックを、インター予測部104からインター予測画像マクロブロックを、スキップト・マクロブロック部105からスキップ予測画像マクロブロックを、それぞれ入力として受け取る。
【0041】
そして、符号化モード判定部106は、入力された3つの予測画像マクロブロックに基づいて最も符号化効率の高い符号化モードを決定する。具体的には、例えば、符号化モード判定部106は、予測画像マクロブロックの各々と対象マクロブロックとについて、画素毎に信号値の2乗誤差を算出する。そして、符号化モード判定部106は、各予測画像マクロブロック内の2乗誤差の総和を、その予測画像マクロブロックの符号化コストとする。符号化モード判定部106は、全ての予測画像マクロブロックに対して符号化コストを算出し、符号化コストが最も小さい予測画像マクロブロックに対応する符号化モードを最も符号化効率の高い符号化モードとして選択する。他の決定方法としては、例えば、RDコストを用いるものもある。なお、本発明は、具体的な符号化コストの算出方法によって限定されるものではない。
【0042】
符号化モード判定部106は、最も符号化効率の高い符号化モードを示す符号化モード信号を情報源符号化部114と符号化モードメモリ108とスイッチ109に出力する。符号化モード判定部106は、最も符号化効率の高い符号化モードに対応する予測画像マクロブロックを、減算部110と加算部113に出力する。なお、本実施形態では、符号化モード信号が示すことができる符号化モードとして、予測画像マクロブロックをスキップト・マクロブロック部105が生成したことを示すスキップト・マクロブロックモードを含む。
【0043】
動きベクトルメモリ107は、スイッチ109から入力された動きベクトル又は予測ベクトルを動きベクトルとみなして、符号化されたマクロブロックの順に記憶する。
符号化モードメモリ108は、符号化モード判定部106から入力された、符号化モード判定部106で選択された符号化モードを示す符号化モード信号を、符号化されたマクロブロックの順に記憶する。なお、符号化モード信号は、符号化モード判定部106で選択された符号化モードを示すと共に、対象マクロブロックをどのようなパーティションに分割したかを示す情報も含む。なお、本実施形態において上記パーティションのサイズは、水平方向16画素×垂直方向16画素、16画素×8画素、8画素×16画素、8画素×8画素、8画素×4画素、4画素×8画素、又は、4画素×4画素であるが、本発明は、具体的なパーティションのサイズで限定されるものではない。また、符号化モード判定部106で選択された符号化モードがイントラ予測の場合には、符号化モード信号は、符号化モードとしてイントラ予測を示すと共に、イントラ予測の予測モードを示す情報も含む。
【0044】
スイッチ109は、符号化モード判定部106から選択された符号化モードに対応する符号化モード信号を受け取り、インター予測部104から動きベクトルを受け取り、スキップト・マクロブロック部から予測ベクトルを受け取る。スイッチ109は、受け取った符号化モード信号がインター予測を示している場合には、受け取った動きベクトルを動きベクトルメモリ107に出力する。スイッチ109は、受け取った符号化モード信号がスキップト・マクロブロックモードを示している場合には、受け取った予測ベクトルを動きベクトルメモリ107に出力する。
【0045】
減算部110は、デプスマップ入力部101から入力されたデプスマクロブロックに含まれる各画素の信号値から、符号化モード判定部106から入力されたイントラ予測画像マクロブロック、インター予測画像マクロブロック、又はスキップ予測画像マクロブロックに含まれる各画素の信号値を減算して、残差信号マクロブロックを算出する。減算部110は、算出した残差信号マクロブロックをDCT変換・量子化部111に出力する。
【0046】
DCT変換・量子化部111は、減算部110から入力された残差信号マクロブロックに対して二次元DCT(Discrete Cosine Transform、離散コサイン変換)を行い周波数領域信号としてDCT係数を算出した後、DCT係数の量子化(quantization)を行い、量子化DCT係数を生成する。ここで、量子化とは、入力されたDCT係数を離散的な代表値の1つに変換する処理である。DCT変換・量子化部111は、生成した量子化DCT係数を、逆量子化・逆DCT変換部112及び情報源符号化部114に出力する。
【0047】
逆量子化・逆DCT変換部112は、DCT変換・量子化部111から入力された量子化DCT係数に逆量子化(de−quantization)を行い、逆量子化DCT係数を生成した後、逆量子化DCT係数に対して2次元逆DCT(inverse Discrete Cosine Transform、逆離散コサイン変換)を行い、空間領域信号として復号された残差信号マクロブロックを生成する。以下、この復号された残差信号マクロブロックを、復号残差信号マクロブロックと呼ぶ。逆量子化・逆DCT変換部112は、生成した復号残差信号マクロブロックを加算部113に出力する。
【0048】
加算部113は、符号化モード判定部106から入力されたイントラ予測画像マクロブロック、インター予測画像マクロブロック、又はスキップ予測画像マクロブロックに含まれる各画素の信号値と、逆量子化・逆DCT変換部112から入力された復号残差信号マクロブロックに含まれる各画素の信号値とを加算して、参照画像マクロブロックを生成する。加算部113は、生成した参照画像マクロブロックを参照画像メモリ102に記憶させる。
【0049】
情報源符号化部114は、符号化モード判定部から入力された符号化モード信号と、DCT変換・量子化部111から入力された量子化DCT係数と、インター予測部104から入力された動きベクトルとに対して符号化を施し、符号化ストリームを生成する。情報源符号化部114は、入力された情報よりも情報量(ビット数)が少ない符号化ストリームを生成する符号化として、例えば可変長符号化を行う。可変長符号化とは、入力された情報において出現頻度がより高い情報ほどより短い符号を、出現頻度が低い情報ほどより長い符号に変換することによって、情報量を圧縮する符号化方式である。情報源符号化部114は、生成した符号化ストリームを画像符号化装置1の外部へ出力する。
【0050】
次に、本実施形態に係るスキップト・マクロブロック部105の構成例及びその機能について、図4を参照しながら説明する。図4は、本実施形態に係るスキップト・マクロブロック部105の構成例を示す概略図である。
図4で例示するスキップト・マクロブロック部105は、予測画像生成方法選択部1051と、予測ベクトル生成部1052と、予測画像マクロブロック生成部1053と、予測モード決定部1054と、イントラ予測画像マクロブロック生成部1055とを含んで構成される。
【0051】
予測画像生成方法選択部1051は、動きベクトルメモリ107から対象マクロブロックの左、上及び右上に隣接しているマクロブロックの動きベクトルを読み出す。予測画像生成方法選択部1051は、3つの隣接マクロブロックのうち動きベクトルを読み出すことが出来たブロックが予め設定された閾値(ここでは2)以上の場合には、予測ベクトル生成部1052に動きベクトルを出力する。動きベクトルを読み出すことが出来ないブロックがあった場合には、代わりに水平成分、垂直成分がそれぞれ0のベクトル情報を該ブロックの動きベクトルとして出力する。予測画像生成方法選択部1051は、3つの隣接マクロブロックのうち動きベクトルを読み出すことが出来たブロックが1つ以下の場合には、予測モード決定部1054に処理を開始する旨を示す信号を送出する。
【0052】
このように、予測画像生成方法選択部1051は、対象マクロブロックの予測画像を、隣接するブロックの画素値に基づき生成(イントラ予測により生成)するか、隣接するマクロブロックの動きベクトルに基づき生成(インター予測により生成)するかを決定する。各マクロブロックの動きベクトルは、そのマクロブロックの符号化モードがインター予測であるか、スキップト・マクロブロックモードのインター予測であるときに、存在する。したがって、上述のように、動きベクトルを読み出すことができた隣接マクロブロックの数に基づき決定するということは、イントラ予測により予測画像が生成された隣接マクロブロックの数に基づき決定していることになる。すなわち、予測画像生成方法選択部1051は、イントラ予測により予測画像が生成された隣接マクロブロックの数が、閾値(ここでは2)以上のときは、対象マクロブロックの予測画像をイントラ予測で生成すると決定している。
【0053】
予測ベクトル生成部1052は、予測画像生成方法選択部1051から対象マクロブロックの左、上及び右上に隣接しているブロックの動きベクトルを受け取る。予測ベクトル生成部1052は、受け取った動きベクトルの水平成分と垂直成分それぞれの中央値を算出することで予測ベクトルを生成する。予測ベクトル生成部1052は、生成した予測ベクトルを予測画像マクロブロック生成部1053およびスイッチ109に出力する。
【0054】
予測画像マクロブロック生成部1053は、予測ベクトル生成部1052から予測ベクトルを受け取る。予測画像マクロブロック生成部1053は、予測ベクトルに従って動き補償をすることによって、スキップ予測画像マクロブロックを生成する。予測画像マクロブロック生成部1053は、生成したスキップ予測画像マクロブロックを符号化モード判定部106に出力する。
【0055】
予測モード決定部1054は、予測画像生成方法選択部1051から処理を開始する旨を示す信号を受け取ってから処理を開始する。予測モード決定部1054は、符号化モードメモリ108から対象マクロブロックの左、左上、上及び右上に隣接しているブロックの符号化モードを読み出す。そして、予測モード決定部1054は、隣接しているブロックの符号化モードに応じて、イントラ予測の予測モードを決定する。具体的な決定方法は、図5を用いて説明する。
【0056】
図5に示すように、対象マクロブロックの左に隣接するマクロブロックをブロックA、上に隣接するマクロブロックをブロックB、右上に隣接するブロックをブロックC、左上に隣接するブロックをブロックDと呼称することとする。
まず、予測モード決定部1054は、ブロックBの符号化モードがイントラ予測の予測モードの0を示しているかを確認する(図5の(a))。予測モード決定部1054は、ブロックBの符号化モードがイントラ予測の予測モードの0を示している場合には、イントラ予測モード信号として0を設定する。
次に、予測モード決定部1054は、ブロックBの符号化モードがイントラ予測の予測モードの0を示していない場合には、ブロックAの符号化モードがイントラ予測の予測モードの1を示しているかを確認する(図5の(b))。予測モード決定部1054は、ブロックAの符号化モードがイントラ予測の予測モードの1を示している場合には、イントラ予測モード信号として1を設定する。
【0057】
次に、予測モード決定部1054は、ブロックAの符号化モードがイントラ予測の予測モードの1を示していない場合には、ブロックCの符号化モードがブロックCのブロックのサイズが16×16ではなく、且つイントラ予測の予測モードの3又は7を示しているかを確認する(図5の(c))。予測モード決定部1054は、ブロックCの符号化モードがブロックCのブロックのサイズが16×16ではなく、且つイントラ予測の予測モードの3又は7を示している場合には、イントラ予測モード信号としてブロックCの予測モードと同じ値を設定する。
【0058】
次に、予測モード決定部1054は、ブロックCの符号化モードがブロックCのパーティションのサイズが16×16ではなく、且つイントラ予測の予測モードの3又は7を示していない場合には、ブロックDの符号化モードがイントラ予測の予測モードの4,5又は6を示しているかを確認する(図5の(d))。予測モード決定部1054は、ブロックDの符号化モードがイントラ予測の予測モードの4,5又は6を示している場合には、イントラ予測モード信号としてブロックDの予測モードと同じ値を設定する。
次に、予測モード決定部1054は、ブロックDの符号化モードがイントラ予測の予測モードの4,5又は6を示していない場合には、イントラ予測モード信号として2を設定する。
予測モード決定部1054は、設定したイントラ予測モード信号をイントラ予測画像マクロブロック生成部1055に出力する。
【0059】
なお、本実施形態では、予測モード決定部1054は、図5(a)〜(d)の順、すなわち予測モード0、1、(3または7)、(4、5または6)、2の順に該当するかを判定した。これは、一般的に予測モードが発生する頻度が高い方からの順としているが、この他の順であってもよい。
また、ブロックBの予測モードが0であるとは、マクロブロックであるブロックBがイントラ予測される際のブロックが16画素×16画素であり、予測モードが0であるときとしてもよい。あるいは、ブロックBがイントラ予測される際のブロックであって、対象マクロブロックに隣接するブロック全ての予測モードが0であるときとしてもよい。あるいは、ブロックBがイントラ予測される際のブロックであって、対象マクロブロックに隣接するブロックのうち、所定の数以上、または、所定の割合以上の予測モードが0であるときとしてもよい。ブロックAの予測モードが1であるときについても同様である。
【0060】
イントラ予測画像マクロブロック生成部1055は、予測モード決定部1054からイントラ予測モード信号を受け取り、参照画像メモリ102から対象マクロブロックに隣接するマクロブロックの画素値を読み出す。イントラ予測画像マクロブロック生成部1055は、イントラ予測モード信号で示されるイントラ予測モードの予測方向に基づいたイントラ予測を用いて、対象マクロブロックに隣接するブロックの画素値からスキップ予測画像マクロブロックを生成する。なお、イントラ予測画像マクロブロックは、16画素×16画素であるが、図3(a)に示す予測モードと予測方向との関係に従った予測方向を用いる。イントラ予測画像マクロブロック生成部1055は、生成したスキップ予測画像マクロブロックとスキップ予測画像マクロブロックをイントラ予測で生成したことを示す信号とを符号化モード判定部106に出力する。
【0061】
次に、本実施形態に係る画像符号化装置1が行う画像符号化処理について、図6及び図7を参照しながら説明する。図6及び図7は、本実施形態に係る画像符号化装置1が行う画像符号化処理の一例を説明するためのフローチャートである。
まず、ステップS101において、デプスマップ入力部101は、画像前置処理部2からデプスマップをフレーム毎に入力する。その後、ステップS102へ進む。
画像符号化装置1は、ステップS102において、ステップS103〜S120の処理を、入力されたフレームに含まれるマクロブロック毎に行う。なお、ステップS103〜S105の順序は問わない。
【0062】
ステップS103において、イントラ予測部103は、参照画像メモリ102から対象マクロブロックと同一フレーム内の対象マクロブロックに隣接する符号化に係る処理を行った参照画像ブロックを読みだす。イントラ予測部103は、読みだした参照マクロブロックに基づいてフレーム内予測を行い、イントラ予測画像マクロブロックを生成する。イントラ予測部103は、生成したイントラ予測画像マクロブロックを符号化モード判定部106に出力する。その後、ステップS104へ進む。
【0063】
ステップS104において、インター予測部104は、デプスマップ入力部101から対象マクロブロックを入力し、参照画像メモリ102から参照画像を構成する参照画像ブロックを読み出す。インター予測部104は、対象マクロブロックを1つ若しくは複数のパーティションに分割し、各々のパーティションに対して、順次、動きベクトルを検出する。インター予測部104は、対象マクロブロックを構成する上記パーティションのサイズのうち、符号化コストが最小となるパーティションのサイズを選択する。インター予測部104は、符号化コストが最小となったパーティションのサイズと各パーティションの動きベクトルに基づいて動き補償又は視差補償を行い、インター予測画像マクロブロックを生成する。インター予測部104は、算出したベクトルを情報源符号化部114とスイッチ109に出力する。インター予測部104は、生成したインター予測画像マクロブロックを符号化モード判定部106に出力する。その後、ステップS105に進む。
【0064】
ステップS105において、スキップト・マクロブロック部105は、符号化モードメモリ108から対象マクロブロックに隣接するマクロブロックの符号化モード信号と、動きベクトルメモリ107から対象マクロブロックに隣接するマクロブロックの動きベクトルと、参照画像メモリ102から対象マクロブロックに隣接する参照画像マクロブロックの画素値を読みだす。スキップト・マクロブロック部105は、読みだした符号化モード信号と、動きベクトルと、隣接する参照画像ブロックの画素値からスキップ予測画像マクロブロックを生成する。スキップト・マクロブロック部105は、スキップ予測画像マクロブロックを符号化モード判定部106に出力する。スキップト・マクロブロック部105が、予測ベクトルを生成している場合には、生成した予測ベクトルをスイッチ109に出力する。その後、ステップS106に進む。
【0065】
ステップS106において、符号化モード判定部106は、デプスマップ入力部101から対象マクロブロックを、イントラ予測部103からイントラ予測画像マクロブロックを、インター予測部104からインター予測画像マクロブロックを、スキップト・マクロブロック部105からスキップ予測画像マクロブロックを、それぞれ入力として受け取る。符号化モード判定部106は、入力された3つの予測画像マクロブロックに基づいて最も符号化効率の高い符号化モードを選択する。符号化モード判定部106は、選択された符号化モードに対応する予測画像マクロブロックを減算部110と加算部113に出力するとともに、選択された符号化モードに対応する符号化モード信号を生成し情報源符号化部114と符号化モードメモリ108とスイッチ109に出力する。その後、ステップS107に進む。
【0066】
ステップS107において、スイッチ109は、符号化モード判定部106から選択された符号化モードに対応する符号化モード信号と、インター予測部104から動きベクトルと、スキップト・マクロブロック部105から予測ベクトルを受け取る。スイッチ109は、選択された符号化モードに対応する符号化モード信号がインター予測を示している場合には、動きベクトルを動きベクトルメモリ107に出力する。スイッチ109は、選択された符号化モードに対応する符号化モード信号がスキップト・マクロブロックモードを示している場合には、予測ベクトルを動きベクトルメモリ107に出力する。動きベクトルメモリ107は、スイッチ109から出力された動きベクトル又は予測ベクトルを動きベクトルとみなして格納する。その後、ステップS108に進む。
【0067】
ステップS108において、符号化モードメモリ108は、符号化モード判定部106から出力された選択された符号化モードに対応する符号化モード信号を、符号化されたマクロブロックの順に記憶する。その後、ステップS109に進む。
【0068】
ステップ109において、減算部110は、デプスマップ入力部101から入力された対象マクロブロックに含まれる各画素の信号値から符号化モード判定部106から入力されたイントラ予測画像マクロブロック、インター予測画像マクロブロック、又はスキップ予測画像マクロブロックに含まれる各画素の信号値を減算して、残差信号マクロブロックを算出する。減算部110は、算出した残差信号マクロブロックをDCT変換・量子化部111に出力する。その後、ステップS110に進む。
【0069】
ステップS110において、DCT変換・量子化部111は、減算部110から入力された残差信号マクロブロックに対して二次元DCTを行い、DCT係数を算出した後、DCT係数の量子化を行い、量子化DCT係数を生成する。DCT変換・量子化部111は、生成した量子化DCT係数を逆量子化・逆DCT変換部112及び情報源符号化部114に出力する。その後、ステップS111に進む。
【0070】
ステップS111において、逆量子化・逆DCT変換部112は、DCT変換・量子化部111から入力された量子化DCT係数に逆量子化を行い、逆量子化DCT係数を生成した後、逆量子化DCT係数に対して2次元逆DCTを行い、復号残差信号マクロブロックを生成する。逆量子化・逆DCT変換部112は、生成した復号残差信号マクロブロックを加算部113に出力する。その後、ステップS112に進む。
【0071】
ステップS112において、加算部113は、符号化モード判定部106から入力されたイントラ予測画像マクロブロック、インター予測画像マクロブロック、又はスキップ予測画像マクロブロックに含まれる各画素の信号値と、逆量子化・逆DCT変換部112から入力された復号残差信号マクロブロックに含まれる各画素の信号値とを加算して、参照画像マクロブロックを生成する。その後、ステップS113に進む。
ステップS113において、加算部113は、生成した参照画像マクロブロックを参照画像メモリ104に記憶する。その後、図7のステップS114に進む。
【0072】
図7のステップS114において、符号化モード判定部106による符号化モードの判定結果に従い、符号化モードがスキップト・マクロブロックモードの場合には(ステップS114でYES)、ステップS115に進み、そうでない場合には(ステップS114でNO)ステップS116に進む。
【0073】
ステップS115において、情報源符号化部114は、符号化モード判定部106から入力された符号化モード信号を符号化し、符号化ストリームを生成する。その後、ステップS119に進む。
ステップS116において、符号化モードがインター予測の場合には(ステップS116でYES)、ステップS117に進み、符号化モードがイントラ予測の場合には(ステップS116でNO)、ステップS118に進む。
【0074】
ステップS117において、情報源符号化部114は、符号化モード判定部106から入力された符号化モード信号、DCT変換・量子化部111から入力された量子化DCT係数、及びインター予測部104から入力された動きベクトルを符号化し、符号化ストリームを生成する。その後、ステップS119に進む。
ステップS118において、情報源符号化部114は、符号化モード判定部106から入力された符号化モード信号とDCT変換・量子化部111から入力された量子化DCT係数とを符号化し、符号化ストリームを生成する。その後、ステップS119に進む。
【0075】
ステップS119において、情報源符号化部114は、生成した符号化ストリームを画像符号化装置1の外部へ出力する。その後、ステップS120に進む。
ステップS120において、画像符号化装置1は、符号化対象のマクロブロックをラスタースキャンの順序で順次に変更し、図6のステップS103に戻る。但し、画像符号化装置1は、入力されたデプスマップのフレームに符号化に係る処理がまだ行われていないブロックがないと判定した場合には、そのフレームに対する処理を終了する。
【0076】
次に、本実施形態に係るスキップト・マクロブロック部105におけるスキップ予測画像マクロブロック生成処理について、図8及び図9を参照しながら説明する。図8及び図9は、本実施形態に係るスキップト・マクロブロック部105におけるスキップ予測画像マクロブロック生成処理の一例を説明するためのフローチャートである。この処理は、上述のステップS105に相当する処理である。
【0077】
ステップS201において、予測画像生成方法選択部1051は、動きベクトルメモリ107から対象マクロブロックの左、上及び右上に隣接しているマクロブロックの動きベクトルを読み出す。その後、ステップS202に進む。
ステップS202において、予測画像生成方法選択部1051は、3つの隣接マクロブロックのうち動きベクトルを読み出すことが出来たブロックが2つ以上あったか否かを判定する。2つ以上あった場合には(ステップS202のYes)、予測ベクトル生成部1052に動きベクトルを出力し、ステップS203に進む。2つ以上なかった場合には(ステップS202のNo)、図9のステップS206に進む。
【0078】
ステップ203において、予測ベクトル生成部1052は、予測画像生成方法選択部1051から対象マクロブロックの左、上及び右上に隣接しているマクロブロックの動きベクトルを受け取る。予測ベクトル生成部1052は、受け取った動きベクトルの水平成分と垂直成分それぞれの中央値を算出することで予測ベクトルを生成する。予測ベクトル生成部1052は、生成した予測ベクトルを予測画像マクロブロック生成部1053に出力する。その後、ステップS204に進む。
ステップS204において、予測画像マクロブロック生成部1053は、予測ベクトル生成部1052から予測ベクトルを受け取る。その後、ステップS205に進む。
ステップS205において、予測画像マクロブロック生成部1053は、予測ベクトルに従って動き補償をすることによって、スキップ予測画像マクロブロックを生成する。予測画像マクロブロック生成部1053は、生成したスキップ予測画像マクロブロックを符号化モード判定部106に出力し、処理を終了する。
【0079】
図9のステップS206において、予測モード決定部1054は、符号化モードメモリ108から対象マクロブロックに隣接するブロックA、ブロックB、ブロックC及びブロックDの符号化モードを読み出す。その後、ステップS207に進む。
ステップS207において、予測モード決定部1054は、ブロックBの符号化モードがイントラ予測の予測モードの0を示しているかを確認し、示している場合には(ステップS207のYes)、ステップS208に進み、示していない場合には(ステップS207のNo)、ステップS209に進む。
ステップS208において、予測モード決定部1054は、対象マクロブロックのイントラ予測モード信号として0を設定する。予測モード決定部1054は、設定したイントラ予測モード信号をイントラ予測画像マクロブロック生成部1055に出力する。その後、ステップS216に進む。
【0080】
ステップS209において、予測モード決定部1054は、ブロックAの符号化モードがイントラ予測の予測モードの1を示しているかを確認し、示している場合には(ステップS209のYes)、ステップS210に進み、示していない場合には(ステップS209のNo)、ステップS211に進む。
ステップS210において、予測モード決定部1054は、対象マクロブロックのイントラ予測モード信号として1を設定する。予測モード決定部1054は、設定したイントラ予測モード信号をイントラ予測画像マクロブロック生成部1055に出力する。その後、ステップS216に進む。
【0081】
ステップS211において、予測モード決定部1054は、ブロックCの符号化モードがブロックCのブロックのサイズが16×16ではなく、且つイントラ予測の予測モードの3又は7を示しているかを確認し、示している場合には(ステップS211のYes)、ステップS212に進み、示していない場合には(ステップS211のNo)、ステップS213に進む。
ステップS212において、予測モード決定部1054は、対象マクロブロックのイントラ予測モード信号としてブロックCの予測モードと同じ値を設定する。予測モード決定部1054は、設定したイントラ予測モード信号をイントラ予測画像マクロブロック生成部1055に出力する。その後、ステップS216に進む。
【0082】
ステップS213において、予測モード決定部1054は、ブロックDの符号化モードがイントラ予測の予測モードの4、5又は6を示しているかを確認し、示している場合には(ステップS213のYes)、ステップS214に進み、示していない場合には(ステップS213のNo)、ステップS215に進む。
ステップS214において、予測モード決定部1054は、対象マクロブロックのイントラ予測モード信号としてブロックDの予測モードと同じ値を設定する。予測モード決定部1054は、設定したイントラ予測モード信号をイントラ予測画像マクロブロック生成部1055に出力する。その後、ステップS216に進む。
【0083】
ステップS215において、予測モード決定部1054は、対象マクロブロックのイントラ予測モード信号として2を設定する。予測モード決定部1054は、設定したイントラ予測モード信号をイントラ予測画像マクロブロック生成部1055に出力する。その後、ステップS216に進む。
ステップS216において、イントラ予測画像マクロブロック生成部1055は、予測モード決定部1054からイントラ予測モード信号を受け取り、参照画像メモリ102から対象マクロブロックに隣接するブロックの画素値を読み出す。イントラ予測画像マクロブロック生成部1055は、イントラ予測モード信号で示されるイントラ予測モードの予測方向に基づいたイントラ予測を用いて、対象マクロブロックに隣接するブロックの画素値からスキップ予測画像マクロブロックを生成する。イントラ予測画像マクロブロック生成部1055は、生成したスキップ予測画像マクロブロックを符号化モード判定部106に出力し、処理を終了する。
【0084】
以上のように本実施形態に係る画像符号化装置1では、対象マクロブロックに隣接しているブロックの符号化モードに応じて、スキップト・マクロブロックモードで符号化する際の符号化方法を変更している。そして、スキップト・マクロブロックモードで符号化する際の符号化方法がイントラ予測の場合の予測モードを、対象マクロブロックに隣接しているブロックをイントラ予測で符号化した際の予測モードに応じて決定している。
【0085】
次に、本実施形態に係る画像復号装置について説明する。本実施形態に係る画像復号装置は、上述した画像符号化装置1での画像符号化方法に従いスキップト・マクロブロックモードで符号化された、画素毎のデプス値からなるデプスマップを構成する一部の領域であるマクロブロックを復号する画像復号部を備えている。以下、このような画像復号装置の構成例について図10を参照しながら説明する。図10は、本実施形態に係る画像復号装置の構成例を示す概略図である。
【0086】
図10で例示する画像復号装置5は、情報源復号部501、符号化モードメモリ502、動きベクトルメモリ503、逆量子化・逆DCT変換部504、加算部505、参照画像メモリ506、イントラ予測画像生成部507、インター予測画像生成部508、スキップト・マクロブロック部509、符号化モード判定部510、スイッチ511、及び画像出力部512を含んで構成される。
【0087】
情報源復号部501は、画像復号装置5の外部から入力された、デプスマップについてのブロック毎の符号化ストリームを復号し、量子化DCT係数、動きベクトル、及び符号化モード信号を生成する。情報源復号部501が行う復号方法は、図2の情報源符号化部114が行った符号化方法とは逆の処理である。即ち、情報源符号化部114が可変長符号化を行った場合は、情報源復号部501は可変長復号を行う。情報源復号部501は、生成した動きベクトルをインター予測画像生成部508とスイッチ511に出力する。情報源復号部501は、量子化DCT係数を生成した場合、生成した量子化DCT係数を逆量子化・逆DCT変換部504に出力する。情報源復号部501は、生成した符号化モード信号を符号化モードメモリ502に記憶させ、符号化モード判定部510とイントラ予測画像生成部507とインター予測画像生成部508とスイッチ511に出力する。
【0088】
符号化モードメモリ502は、情報源復号部501から符号化モード信号を受け取り、マクロブロックの復号順に格納する。符号化モードメモリ502は、格納した符号化モード信号をスキップト・マクロブロック部509に出力する。
動きベクトルメモリ503は、スイッチ511から動きベクトル又は予測ベクトルを受け取り、マクロブロックの復号順に格納する。動きベクトルメモリ503は、格納した動きベクトルをインター予測画像生成部508とスキップト・マクロブロック部509に出力する。
【0089】
逆量子化・逆DCT変換部504は、情報源復号部501から入力された量子化DCT係数に逆量子化を行い、逆量子化DCT係数を生成した後、逆量子化DCT係数に対して2次元逆DCTを行い、空間領域信号として復号残差信号ブロックを生成する。逆量子化・逆DCT変換部504は、復号残差信号ブロックを加算部505に出力する。
【0090】
加算部505は、符号化モード判定部510から入力されたイントラ予測画像マクロブロック、インター予測画像マクロブロック、又はスキップ予測画像マクロブロックのいずれかに含まれる各画素の信号値と、逆量子化・逆DCT変換部504から入力された復号残差信号ブロックに含まれる各画素の信号値とを加算して、参照画像マクロブロックを生成する。加算部505は、生成した参照画像マクロブロックを参照画像メモリ506に記憶させ、画像出力部511に出力する。
【0091】
参照画像メモリ506は、加算部505から入力された参照画像マクロブロックを、対応するフレームにおける復号対象マクロブロックの位置に配置して参照画像として記憶する。参照画像メモリ506は、現在から予め設定されたフレーム数(例えば15フレーム)過去のフレームの参照画像を記憶し、記憶されたフレーム数が予め設定されたフレーム数を超えたとき、例えば16フレーム目の参照画像が入力された時、それ以前の過去のフレームの参照画像を全て削除する。
【0092】
イントラ予測画像生成部507は、情報源復号部501から符号化モード信号を入力される。イントラ予測画像生成部507は、参照画像メモリ506から対象マクロブロックと同一フレーム内の対象マクロブロックに隣接する符号化に係る処理を行った参照画像マクロブロックを読みだす。イントラ予測画像生成部507は、読みだした参照画像マクロブロックと符号化モード信号が示す予測モードに基づいてフレーム内予測を行い、イントラ予測画像マクロブロックを生成する。イントラ予測画像生成部507は、生成したイントラ予測画像マクロブロックを符号化モード判定部510に出力する。
【0093】
インター予測画像生成部508は、情報源復号部501から動きベクトルと符号化モード信号を入力される。インター予測画像生成部508は、対象マクロブロックを構成するパーティション毎に参照画像メモリ506から参照画像を構成する参照画像ブロックを読み出す。このパーティションのサイズは、符号化モード信号に基づいて決定される。インター予測画像生成部508が読み出す参照画像ブロックの座標は、復号対象パーティションの座標に情報源復号部501から入力された動きベクトルを加算することによって補償した座標である。また、読み出す参照画像ブロックの大きさは対応するパーティションの大きさと同一である。インター予測画像生成部508は、読みだした参照画像ブロックの座標を、対応するパーティションの座標に合わせる処理をすることによってインター予測画像マクロブロックを生成する。インター予測画像生成部508は、生成したインター予測画像マクロブロックを符号化モード判定部510に出力する。
【0094】
スキップト・マクロブロック部509は、符号化モードメモリ502から対象マクロブロックに隣接するブロックの符号化モード信号を読み出す。また、スキップト・マクロブロック部509は、動きベクトルメモリ503から対象マクロブロックに隣接するブロックの動きベクトルを読出し、参照画像メモリ506から対象マクロブロックに隣接する参照画像ブロックの画素値を読みだす。
【0095】
スキップト・マクロブロック部509は、対象マクロブロックに隣接するブロックの符号化モード、動きベクトル、及び画素値に基づいてスキップ予測画像マクロブロックを生成する。スキップト・マクロブロック部509は、スキップ予測画像マクロブロックを符号化モード判定部510に出力する。また、スキップト・マクロブロック部509は、隣接するブロックの動きベクトルから、予測ベクトルを生成する場合がある。スキップト・マクロブロック部509は、予測ベクトルを生成した場合には、生成した予測ベクトルをスイッチ511に出力する。スキップト・マクロブロック部509における処理および構成の詳細は、画像符号化装置1のスキップト・マクロブロック部105と同様である。
【0096】
符号化モード判定部510は、情報源復号部501からの符号化モード信号と、イントラ予測画像生成部507からのイントラ予測画像マクロブロックと、インター予測画像生成部508からのインター予測画像マクロブロックと、スキップト・マクロブロック部509からのスキップ予測画像マクロブロックとを入力する。符号化モード判定部510は、符号化モード信号が示す符号化モードに基づいて、イントラ予測画像マクロブロック、インター予測画像マクロブロック、又はスキップ予測画像マクロブロックのいずれかを、加算部505に出力する。
【0097】
スイッチ511は、情報源復号部501から符号化モード信号と動きベクトルとを受け取り、スキップト・マクロブロック部509から予測ベクトルを受け取る。スイッチ511は、符号化モード信号がインター予測を示している場合には、動きベクトルを動きベクトルメモリ503に出力する。スイッチ511は、符号化モード信号がスキップト・マクロブロックモードを示している場合には、予測ベクトルを動きベクトルメモリ503に出力する。
【0098】
画像出力部512は、加算部505から入力された参照画像マクロブロックを、対応するフレームにおける復号対象マクロブロックの位置に配置して参照画像をフレーム毎に生成する。画像出力部512は、生成した参照画像を復号デプスマップとしてフレーム毎に画像復号装置5の外部に出力する。
【0099】
次に、本実施形態に係る画像復号装置5が行う画像復号処理について、図11を参照しながら説明する。図11は、本実施形態に係る画像復号装置5が行う画像復号処理の一例を説明するためのフローチャートである。
画像復号装置5は、ステップS301において、ステップS302〜S313の処理をマクロブロック毎に行う。
まず、ステップS302において、情報源復号部501は、画像復号装置5の外部から符号化ストリームを入力する。その後、ステップS303に進む。
【0100】
ステップS303において、情報源復号部501は、ステップS302において入力された符号化ストリームの復号(この例では可変長復号)を行い、符号化モード信号と量子化DCT係数と動きベクトルを生成する。情報源復号部501は、生成した符号化モード信号を符号化モード判定部510と符号化モードメモリ502とイントラ予測画像生成部507とインター予測画像生成部508に出力し、生成した量子化DCT係数を逆量子化・逆DCT変換部504に出力し、生成した動きベクトルをインター予測画像生成部508と動きベクトルメモリに出力する。その後、ステップS304に進む。
【0101】
ステップS304において、逆量子化・逆DCT変換部504は、情報源復号部501から入力された量子化DCT係数に対して逆量子化を行い、逆量子化DCT係数を生成した後、逆量子化DCT係数に対して2次元逆DCTを行い、復号残差信号ブロックを生成する。逆量子化・逆DCT変換部504は、復号残差信号ブロックを加算部505に出力する。その後、ステップS305に進む。
【0102】
ステップS305において、インター予測画像生成部508は、情報源復号部501から符号化モード信号と対象マクロブロック内の全てのパーティションに対応する動きベクトルを受け取る。インター予測画像生成部508は、情報源復号部501から受け取った符号化モード信号に基づいてマクロブロックをパーティションに分割し、パーティション毎に動きベクトルに基づいて動き補償又は視差補償を行うことで、インター予測画像マクロブロックを生成する。インター予測画像生成部508は、生成したインター予測画像マクロブロックを符号化モード判定部510に出力する。その後、ステップS306に進む。
【0103】
ステップS306において、イントラ予測画像生成部507は、情報源復号部501から符号化モード信号を受け取ると共に、参照画像メモリ506から対象マクロブロックと同一フレーム内の対象マクロブロックに隣接する復号に係る処理を行った参照画像ブロックを読みだす。イントラ予測画像生成部507は、受け取った符号化モード信号に基づいてマクロブロックをブロックに分割し、ブロック毎に読みだした参照画像マクロブロックに基づいてフレーム内予測を行い、イントラ予測画像マクロブロックを生成する。イントラ予測画像生成部507は、生成したイントラ予測画像マクロブロックを符号化モード判定部510に出力する。その後、ステップS307へ進む。
【0104】
ステップS307において、スキップト・マクロブロック部509は、符号化モードメモリ502から対象マクロブロックに隣接するマクロブロックの符号化モード信号と、動きベクトルメモリ503から対象マクロブロックに隣接するマクロブロックの動きベクトルと、参照画像メモリ506から対象マクロブロックに隣接する参照画像ブロックの画素値を読みだす。スキップト・マクロブロック部509は、読みだした符号化モード信号と、動きベクトルと、隣接する参照画像ブロックの画素値からスキップ予測画像マクロブロックを生成する。スキップト・マクロブロック部509は、スキップ予測画像マクロブロックを符号化モード判定部510に出力する。その後、ステップS308に進む。
【0105】
ステップS308において、符号化モード判定部510は、情報源復号部501からの符号化モード信号と、イントラ予測画像生成部507からのイントラ予測画像マクロブロックと、インター予測画像生成部508からのインター予測画像マクロブロックと、スキップト・マクロブロック部509からのスキップ予測画像マクロブロックとを入力する。符号化モード判定部510は、符号化モード信号が示す符号化モードに基づいて、イントラ予測画像マクロブロック、インター予測画像マクロブロック、又はスキップ予測画像マクロブロックのいずれを出力するかを判定し、判定結果に従ったマクロブロックを加算部505に出力する。その後、ステップS309に進む。
【0106】
ステップS309において、動きベクトルメモリ503は、情報源復号部501から動きベクトルを受け取り、マクロブロックの復号順に格納する。動きベクトルメモリ503は、格納した動きベクトルをインター予測画像生成部508とスキップト・マクロブロック部509に出力する。その後、ステップS310に進む。
【0107】
ステップS310において、符号化モードメモリ502は、情報源復号部501から符号化モード信号を受け取り、マクロブロックの復号順に格納する。符号化モードメモリ502は、格納した符号化モード信号をスキップト・マクロブロック部509に出力する。その後、ステップS311に進む。
【0108】
ステップS311において、加算部505は、符号化モード判定部510から入力されたイントラ予測画像マクロブロック、インター予測画像マクロブロック、又はスキップ予測画像マクロブロックに含まれる各画素の信号値と、逆量子化・逆DCT変換部504から入力された復号残差信号マクロブロックに含まれる各画素の信号値とを加算して、参照画像マクロブロックを生成する。その後、ステップS312に進む。
【0109】
ステップS312において、加算部505は、生成した参照画像マクロブロックを参照画像メモリ506に記憶させ、画像出力部512に出力する。その後、ステップS313に進む。
ステップS313において、画像復号装置5は、復号対象マクロブロックをラスタースキャンの順序で変更し、ステップS302に戻る。但し、画像復号装置5は、入力された符号化ストリームのフレームにおいて復号が行われていないマクロブロックがないと判定した場合には、そのフレームに対する処理を終了する。
【0110】
以上のように、本実施形態では、画素毎のデプス値からなるデプスマップを構成する一部の領域であるマクロブロック毎に符号化する際、上記1つのマクロブロックに隣接するブロックの符号化モードと、動きベクトルと、画素値に基づいてデプス予測画像マクロブロックを生成する。
これにより、本実施形態では、空間方向の相関性が高いデプスマップにおいて、そのデプスマップ内でイントラ予測が頻発している、つまり空間方向の相関性が高い領域に対して、スキップト・マクロブロックモードで符号化する際にイントラ予測を用いることで、対象マクロブロックとより類似した予測画像マクロブロックを生成することができ、符号化効率を向上させることができる。
なお、本実施形態では、画像符号化装置1の符号化の対象および画像復号装置5の復号の対象をデプスマップとしたが、上述の2次元テクスチャ画像としてもよい。
【0111】
(第2の実施形態)
上述の第1の実施形態における画像符号化装置1および画像復号装置5は、コンピュータ読み取り可能な記録媒体に、画像符号化プログラム及び/又は画像復号プログラムを記録しておき、該プログラムをコンピュータに実行させることで実現することもできる。
【0112】
この画像符号化プログラムは、上記第1の実施形態で示したように、デプスマップを符号化する際に、対象マクロブロックに隣接するマクロブロックの符号化モード信号、動きベクトル、及び画素値に応じてスキップ予測画像マクロブロックを生成し、そのスキップ予測画像マクロブロックを用いてデプスマップを予測符号化する画像符号化処理を、コンピュータに実行させるためのプログラムである。
【0113】
この画像符号化処理は、1つのマクロブロックについて、隣接するマクロブロックの動きベクトルに基づいて予測画像生成方法を選択するステップと、隣接するマクロブロックの動きベクトルに基づいて予測ベクトルを生成するステップと、隣接するマクロブロックの符号化モード信号からイントラ予測の予測モードを決定するステップと、決定した予測モードと隣接するマクロブロックの画素値に基づいてスキップ予測画像マクロブロックを生成するステップとを有する。その他の応用例については、第1の実施形態で説明した通りであり、その説明を省略する。
【0114】
また、上述の画像復号プログラムは、上述した画像符号化方法に従い(若しくは、上述した画像符号化装置或いは画像符号化プログラムにて)スキップ予測画像マクロブロックを用いて予測符号化された、画素毎の視点からの距離を示すデプス値からなるデプスマップを構成する一部の領域であるマクロブロックを復号する画像復号ステップを、コンピュータに実行させるためのプログラムである。その他の応用例については、第1の実施形態で説明した通りであり、その説明を省略する。
【0115】
この画像符号化プログラムや画像復号プログラムは、換言すれば、第1の実施形態における画像符号化装置1の全部及び/又は画像復号装置5の全部をコンピュータで実現するように構成する場合に、実行可能に組み込むプログラムである。無論、第1の実施形態における画像符号化装置1の一部及び/又は画像復号装置5の一部のみを、コンピュータで実現するようにしてもよい。
【0116】
上記の記録媒体としては、コンピュータで処理が行われるために図示しないメモリ、例えばROMのようなプログラムメディアであってもよく、図示しない外部記憶装置としてのプログラム読取装置が設けられ、そこに記録媒体を挿入することで読み取り可能なプログラムメディアであってもよい。いずれの場合においても、格納されているプログラムはコンピュータの主演算・制御部であるマイクロプロセッサがアクセスして実行させる構成であってもよいし、プログラムを読み出し、読み出されたプログラムは、コンピュータが備えるプログラム記憶エリアにダウンロードされて、そのプログラムが実行される方式であってもよい。この場合、ダウンロード用のプログラムは予め本体装置に格納されているものとする。
【0117】
ここで、上記プログラムメディアは、コンピュータ本体と分離可能に構成される記録媒体であり、磁気テープやカセットテープ等のテープ系、フロッピーディスク(登録商標)やハードディスク等の磁気ディスク並びにCD−ROM/MO/MD/DVD等の光ディスクのディスク系、ICカード(メモリカードを含む)/光カード等のカード系、或いはマスクROM、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read Only Memory)、フラッシュROM等による半導体メモリを含めた固定的にプログラムを担持する媒体であってもよい。また、この場合、インターネットを含む通信ネットワークを接続可能なシステム構成であることから、通信ネットワークからプログラムをダウンロードするように流動的にプログラムを担持する媒体であってもよい。なお、このように通信ネットワークからプログラムをダウンロードする場合には、そのダウンロード用のプログラムは予めコンピュータ本体に格納しておくか、或いは別の記録媒体からインストールされるものであってもよい。
【0118】
上記の記録媒体は、デジタルカラー画像形成装置やコンピュータシステムに備えられるプログラム読み取り装置により読み取られることで、上述した画像符号化方法や画像復号方法が実行される。なお、上記コンピュータシステムは、WEBカメラなどの汎用画像入力装置、所定のプログラムがロードされることにより上記画像処理方法など様々な処理が行われるコンピュータ、コンピュータの処理結果を表示するディスプレイ・液晶ディスプレイなどの画像表示装置より構成される。さらには、ネットワークを介してサーバなどに接続するための通信手段としてのネットワークカードやモデムなどが備えられる。
【0119】
(その他)
なお、全ての実施形態において、2つのカメラで撮影した2視点の画像信号に対応するデプスマップの符号化及び復号について説明したが、2視点より多い複数のカメラで撮影した多視点画像信号に対して適用してもよい。例えば3視点画像信号に対応するデプスマップを入力し、そのうち1つの視点のデプスマップを、該デプスマップに対応するテクスチャ画像を利用してデプス値を推定することで符号化し、符号化する対象を切り替えていくことで、3つの視点のデプスマップの符号化を行うことができる。
【0120】
また、上述した実施形態における画像符号化装置1及び画像復号装置5の一部又は全部を、LSI(Large Scale Integration)等の集積回路又はIC(Integrated Circuit)チップセットとして実現してもよい。画像符号化装置1及び画像復号装置5の各機能ブロックは個別にプロセッサ化してもよいし、一部又は全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、又は汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
また、本発明は、画像符号化装置、画像復号装置における処理の流れを例示したように、さらには画像符号化プログラム、画像復号プログラムの処理として説明したように、画像符号化方法、画像復号方法としての形態も採り得る。
【0121】
この画像符号化方法は、画素毎の視点からの距離を示すデプス値からなるデプスマップを構成する一部の領域であるマクロブロック毎に、画像符号化装置がデプス予測画像マクロブロックを用いて上記デプスマップの予測符号化を行う方法である。そして、この方法は、画像符号化装置が、1つのマクロブロックについて、隣接するマクロブロックの動きベクトルに基づいて予測画像生成方法を選択するステップと、隣接するマクロブロックの動きベクトルに基づいて予測ベクトルを生成するステップと、隣接するマクロブロックの符号化モード信号からイントラ予測の予測モードを決定するステップと、決定した予測モードと隣接するマクロブロックの画素値に基づいてスキップ予測画像マクロブロックを生成する生成ステップとを有する。その他の応用例については、第1の実施形態において画像符号化装置について説明した通りである。
【0122】
上記の画像復号方法は、上述の画像符号化方法に従いスキップ予測画像マクロブロックを用いて予測符号化された、画素毎の視点からの距離を示すデプス値からなるデプスマップを構成する一部の領域であるマクロブロックを、画像復号装置が復号する画像復号ステップを有する。その他の応用例については、第1の実施形態において画像復号装置について説明した通りである。
【符号の説明】
【0123】
1…画像符号化装置
2…画像前置処理部
3a、3b…撮影装置
4…テクスチャ画像符号化装置
5…画像復号装置
10…3次元画像撮影システム
101…デプスマップ入力部
102…参照画像メモリ
103…イントラ予測部
104…インター予測部
105…スキップト・マクロブロック部
106…符号化モード判定部
107…動きベクトルメモリ
108…符号化モードメモリ
109…スイッチ
110…減算部
111…DCT変換・量子化部
112…逆量子化・逆DCT変換部
113…加算部
114…情報源符号化部
501…情報源復号部
502…符号化モードメモリ
503…動きベクトルメモリ
504…逆量子化・逆DCT変換部
505…加算部
506…参照画像メモリ
507…イントラ予測画像生成部
508…インター予測画像生成部
509…スキップト・マクロブロック部
510…符号化モード判定部
512…画像出力部
1051…予測画像生成方法選択部
1052…予測ベクトル生成部
1053…予測画像マクロブロック生成部
1054…予測モード決定部
1055…イントラ予測画像マクロブロック生成部

【特許請求の範囲】
【請求項1】
画像を分割したマクロブロック毎に符号化する画像符号化方法であって、
符号化対象のマクロブロックに隣接するマクロブロックをイントラ予測した際の予測モードと、前記隣接するマクロブロックの画素値とに基づいて、前記符号化対象のマクロブロックの予測画像を生成する生成ステップ
を有することを特徴とする画像符号化方法。
【請求項2】
前記隣接するマクロブロックに基づいて、前記符号化対象のマクロブロック毎に、前記予測画像を前記生成ステップにより生成するか否かを選択するステップを有することを特徴とする請求項1に記載の画像符号化方法。
【請求項3】
前記生成ステップは、前記予測モードと、前記画素値に基づいたイントラ予測によって前記予測画像を生成することを特徴とする請求項1に記載の画像符号化方法。
【請求項4】
前記生成ステップは、前記隣接するマクロブロックの前記符号化対象のマクロブロックに対する隣接方向と、該隣接方向の前記隣接するマクロブロックの予測モードとの組み合わせによって、前記イントラ予測の予測モードを決定するステップを有することを特徴とする請求項3に記載の画像符号化方法。
【請求項5】
画像を分割したマクロブロック毎に符号化する画像符号化装置であって、
符号化対象のマクロブロックに隣接するマクロブロックをイントラ予測した際の予測モードと、前記隣接するマクロブロックの画素値とに基づいて、前記符号化対象のマクロブロックの予測画像を生成する予測画像生成部
を具備することを特徴とする画像符号化装置。
【請求項6】
画像を分割したマクロブロック毎に符号化された画像を復号する画像復号方法であって、
復号対象のマクロブロックに隣接するマクロブロックをイントラ予測した際の予測モードと、前記隣接するマクロブロックの画素値とに基づいて、前記復号対象のマクロブロックの予測画像を生成する生成ステップ
を有することを特徴とする画像復号方法。
【請求項7】
画像を分割したマクロブロック毎に符号化された画像を復号する画像復号装置であって、
復号対象のマクロブロックに隣接するマクロブロックをイントラ予測した際の予測モードと、前記隣接するマクロブロックの画素値とに基づいて、前記復号対象のマクロブロックの予測画像を生成する予測画像生成部
を具備することを特徴とする画像復号装置。
【請求項8】
画像を分割したマクロブロック毎に符号化する画像符号化装置のコンピュータを、
符号化対象のマクロブロックに隣接するマクロブロックをイントラ予測した際の予測モードと、前記隣接するマクロブロックの画素値とに基づいて、前記符号化対象のマクロブロックの予測画像を生成する予測画像生成部
として動作させるためのプログラム。
【請求項9】
画像を分割したマクロブロック毎に符号化された画像を復号する画像復号装置のコンピュータを、
復号対象のマクロブロックに隣接するマクロブロックをイントラ予測した際の予測モードと、前記隣接するマクロブロックの画素値とに基づいて、前記復号対象のマクロブロックの予測画像を生成する予測画像生成部
として動作させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate