特許第6181242号(P6181242)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日立マクセル株式会社の特許一覧

<>
  • 特許6181242-画像復号化方法 図000002
  • 特許6181242-画像復号化方法 図000003
  • 特許6181242-画像復号化方法 図000004
  • 特許6181242-画像復号化方法 図000005
  • 特許6181242-画像復号化方法 図000006
  • 特許6181242-画像復号化方法 図000007
  • 特許6181242-画像復号化方法 図000008
  • 特許6181242-画像復号化方法 図000009
  • 特許6181242-画像復号化方法 図000010
  • 特許6181242-画像復号化方法 図000011
  • 特許6181242-画像復号化方法 図000012
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6181242
(24)【登録日】2017年7月28日
(45)【発行日】2017年8月16日
(54)【発明の名称】画像復号化方法
(51)【国際特許分類】
   H04N 19/52 20140101AFI20170807BHJP
   H04N 19/105 20140101ALI20170807BHJP
   H04N 19/139 20140101ALI20170807BHJP
   H04N 19/176 20140101ALI20170807BHJP
【FI】
   H04N19/52
   H04N19/105
   H04N19/139
   H04N19/176
【請求項の数】1
【全頁数】18
(21)【出願番号】特願2016-114064(P2016-114064)
(22)【出願日】2016年6月8日
(62)【分割の表示】特願2016-67025(P2016-67025)の分割
【原出願日】2011年1月18日
(65)【公開番号】特開2016-158306(P2016-158306A)
(43)【公開日】2016年9月1日
【審査請求日】2016年6月8日
(73)【特許権者】
【識別番号】000005810
【氏名又は名称】日立マクセル株式会社
(74)【代理人】
【識別番号】110001689
【氏名又は名称】青稜特許業務法人
(72)【発明者】
【氏名】村上 智一
(72)【発明者】
【氏名】横山 徹
【審査官】 岩井 健二
(56)【参考文献】
【文献】 特開2010−081465(JP,A)
【文献】 特開2008−211697(JP,A)
【文献】 特表2007−525100(JP,A)
【文献】 特表2007−504760(JP,A)
【文献】 国際公開第2011/131091(WO,A1)
【文献】 国際公開第2009/115901(WO,A2)
【文献】 国際公開第2009/093672(WO,A1)
【文献】 Ken McCann et al.,Samsung's Response to the Call for Proposals on Video Compression Technology,Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,1st Meeting: Dresden, DE,2010年 4月,JCTVC-A124,pp.1-15
【文献】 Frank Bossen and Philipp Kosse,Simplified motion vector coding method,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,2nd Meeting: Geneva, CH,2010年 7月,JCTVC-B094,pp.1-5
【文献】 Test Model under Consideration, Output Document (draft007),Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,2nd Meeting: Geneva, CH,2010年10月,JCTVC-B205_draft007,pp.1-6,11-20,26-27,35-38,78-93
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 − 19/98
(57)【特許請求の範囲】
【請求項1】
画像を符号化した符号化ストリームを復号する画像復号化方法であって、
前記画像を構成する復号対象ブロックにおいて、
前記符号化ストリームから得られる符号化モードの情報に従って、前記復号対象ブロックの周囲のブロックを含む複数の候補ブロックの動きベクトルから動きベクトルを選択し、前記動きベクトルを用いて、前記復号対象ブロックの動きベクトルを復元する第1ステップと、
前記復号対象ブロックの動きベクトルと参照画像を用いて予測画像を生成する第2ステップとを備え、
前記第1ステップにおける動きベクトルの選択処理は、
前記復号対象ブロックと同じフレームにあり前記復号対象ブロックと隣接する第1のブロックと、前記復号対象ブロックとは別のフレームの前記復号対象ブロックと同じ位置にある第2のブロックとから、候補ブロックの選択を行う処理であり、
該動きベクトルの選択処理では、
前記第1のブロックのうち、前記対象ブロックの左側に位置するブロックと前記対象ブロックの上側に位置するブロックとの動きベクトルを比較する比較処理を行い、同じ動きベクトルを有する場合には、前記対象ブロックの上側に位置するブロックを候補ブロックから除外し、
前記第1のブロックに参照不可のブロックが含まれる場合には、前記参照不可のブロックを動きベクトルの候補ブロックから除外し、他のブロックを候補ブロックに追加する処理を行い、
前記候補ブロックに追加するブロックの数は、既に候補ブロックとして選択されているブロックの数に応じて変更されるものであり、
前記比較処理を行う前に、前記第1のブロックに前記対象ブロックの左側に位置する利用可能な動きベクトルを有するブロックが複数ある場合は、前記対象ブロックの左側に位置する前記利用可能な動きベクトルを有する複数のブロックのうちの一つのブロックが有する動きベクトルを前記比較処理の対象となる動きベクトルとして選択する処理を行い、
前記第2のブロックは、前記復号対象ブロックとは別のフレームにある前記復号対象ブロックと同じ位置にあるブロックを含む複数のブロックについて、動きベクトルが利用可能か否かを判定する処理を行って、動きベクトルが利用可能と判定された一のブロックから選択される選択処理により決定される
ことを特徴とする画像復号化方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は画像を符号化する画像符号化方法、画像符号化装置、符号化画像データを復号する画像復号方法及び画像復号装置に関する。
【背景技術】
【0002】
画像、音声情報をデジタルデータ化して記録、伝達する手法として、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)と呼ばれる次世代方式の検討を始めている。
【0003】
HEVCに対する技術候補の一つとして、動きベクトル競合(Motion Vector Competition)と呼ばれる方式が提案されている。この方式は、符号化対象マクロブロックにおける動き予測モードの予測ベクトル選択方法を提案したものである。H.264/AVCでは、予測ベクトルは符号化対象マクロブロックの上、左、右上の符号化済みマクロブロックが持つ動きベクトルから、X方向成分およびY方向成分についてmedian演算を行うことによって求められていた。
【0004】
一方、動きベクトル競合では、上、左、および最も近い参照フレームの符号化対象マクロブロックと同じ位置の動きベクトルを比較し、符号化対象マクロブロックの動きベクトルに最も近いものを予測ベクトルとして選択してフラグとして伝送する。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】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.
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、動きベクトル競合方式はフラグを伝送するため、median演算の結果と予測ベクトルが同じ場合はフラグの分だけ符号量が増えてしまう。
【0007】
また、全ての動きベクトルを用いる符号化モードに有効というわけではない。
【0008】
さらに、参照するブロックが動きベクトルを持たない場合、フレーム領域外にある場合の処理や、フラグの記述方法が効率的ではなく、3つの候補から2つを選択してフラグを記録する方式のため、狭い範囲の候補ブロックしか選ぶことができずに、予測誤差が大きく符号量が大きく、符号化効率が低いという問題点がある。
【0009】
本発明は上記課題を鑑みてなされたものであり、本発明の目的は、適切な動き予測による高い符号化効率を実現可能な画像符号化技術、画像復号技術を提供することにある。
【課題を解決するための手段】
【0010】
本願は、上記課題を解決するための手段を種々含むものであるが、その一つを挙げると次の通りである。
【0011】
入力画像を符号化する画像符号化装置であって、前記入力画像を分割した符号化対象ブロックと参照画像を用いて動き探索を行う動き探索部と、前記符号化対象ブロックの動きベクトルを、前記符号化対象ブロックの周囲にあるブロックの一部または全てからなる候補ブロックの動きベクトルから予測動きベクトルを生成する適応PMV選択部と、符号化ブロックの動きベクトルと予測動きベクトルから差分ベクトルを計算し符号化するPMV予測符号化部とを備え、前記適応PMV選択部は、用いる候補ブロックの数又は位置を変化させるか、または用いる候補ブロックの動きベクトルをゼロベクトルとする第1手段を有することを特徴とする画像符号化装置。
【発明の効果】
【0012】
本発明によれば、符号化効率を向上することができる。
【図面の簡単な説明】
【0013】
図1】実施例1に係る画像符号化装置のブロック図である。
図2】実施例2に係る画像復号装置のブロック図である。
図3】実施例1に係るPMV(予測動きベクトル)として動きベクトルを選択する候補ブロックの説明図である。
図4】実施例1に係るシーン解析の概要についての説明図である。
図5】実施例1に係る画像符号化装置で用いられる画像符号化フロー図である。
図6】実施例2に係る画像復号方法のフロー図である。
図7】実施例3に係るデータ記録媒体の説明図である。
図8】実施例1に係る適応PMV選択部におけるフレーム単位でのPMV選択判定フローを示す図である。
図9】実施例1に係る適応PMV選択部におけるブロック単位でのPMV選択判定フローを示す図である。
図10】実施例1に係る適応PMV選択部におけるブロック単位でのPMV選択を行う候補ブロックの調整フローを示す図である。
図11】実施例1に係る選択されるベクトルのフラグとして記述方法の例を示す図である。
【発明を実施するための形態】
【0014】
以下、実施例を、図面を参照して説明する。
【0015】
また、各図面において、同一の符号が付されている構成要素は同一の機能を有することとする。
【0016】
また、本明細書の各記載及び各図面における「動きベクトル競合」という表現は従来の符号化方式を示し、「適応動きベクトル選択」という表現は本発明に係る新たな符号化方式を示す。「PMV選択」とは、候補となるブロックが持つ動きベクトルから1つを選択して、選択した動きベクトルから予測動きベクトル(Predicted Motion Vector:PMV)を生成(median等そのまま選択的に使用することや、複数の動きベクトルを合成する等による新規な生成も含む)することを示す。
【0017】
また、本明細書の各記載及び各図面における「0 vec」または「0ベクトル」とは各成分の値が0のベクトル、またはそのようなベクトルに変換、設定することを示す。
【0018】
また、本明細書の各記載及び各図面における「参照不可」とはブロックの情報が取得できないことを示す。具体例としては、候補ブロックの位置が画面の範囲外にある等が挙げられる。逆に、「参照可能」とはブロックの情報が取得できることである。
【0019】
また、本明細書の各記載及び各図面における「ブロックの情報」にはベクトル、参照フレーム番号が含まれる。
【0020】
また、本明細書の各記載及び各図面における「残差成分」という表現は、「予測誤差」と同様の意味も含む。
【0021】
また、本明細書の各記載及び各図面における「領域」という表現は、「画像」と同様の意味も含む。
【0022】
また、本明細書の各記載及び各図面における「フラグとともに伝送」という表現は、「フラグに含めて伝送」という意味も含む。
【0023】
また、本明細書の各記載及び各図面における「符号化モード」という表現は、イントラ予測/インター予測の種別と適用するブロックサイズとの組み合わせを含むものである。
【実施例1】
【0024】
まず、第1の実施例について図面を参照して説明する。
図1に実施例1に係る画像符号化装置のブロック図を示す。
【0025】
画像符号化装置は、ブロック分割部101、予測誤差計算部102、イントラ予測部104、PMV予測符号化部107、適応PMV選択部106、動き探索部105、復号画像メモリ103、DCT変換部108、量子化部109、エントロピー符号化部110、逆量子化部111、逆DCT変換部112、モード選択部113、データ出力部114を備えている。
【0026】
以下に画像符号化装置の各構成要素の動作を詳細に説明する。
【0027】
なお、画像符号化装置の各構成要素の動作は、例えば、以下の記載の通り各構成要素の自律的な動作としても良い。また、コンピュータの制御部がコンピュータの記憶部が記憶するソフトウェアと協働することにより実現しても構わない。
【0028】
まずブロック分割部101は、符号化対象である原画像を入力し、これを符号化の単位であるブロックに分割する。ここで分割するブロックのサイズは、Coding Unit(CU)やPrediction Unit(PU)と呼ばれる16×16画素等の2のべき乗サイズ(画素数m×画素数nのブロック、m,n=2のべき乗、例. 128×128,64×64,32×32, 16×16, 16×8,8×16,8×8,4×4)のものを用いるが、サイズは可変であり異なるサイズのものが隣り合っていても構わない。以下では同じサイズのブロックが連続する場合を例に挙げ説明し、サイズが異なる場合のベクトルの選択方法については別途説明する。
【0029】
予測誤差計算部102では、生成された予測画像と原画像との差分を取って残差成分を計算し出力する。予測方法については一般にイントラ(フレーム内)予測とインター(フレーム間)予測がある。イントラ予測は、イントラ予測部104で行われ、インター予測は、PMV予測符号化部107、適応PMV選択部106、動き探索部105とからなるインター予測部120で行われる。イントラ予測は符号化対象ブロックよりも前に符号化された同じフレームの情報を用い、インター予測は符号化対象フレームよりも前に符号化された、再生時間としては前または後ろのフレームの情報を用いる。これらは復号画像メモリ103に格納されている。
【0030】
ここで、イントラ予測部104や動き予測部、復号画像メモリ103は、説明のため一つだけ記載したが、符号化モード毎、フレーム毎にそれぞれ備えても良い。
【0031】
イントラ予測部104では、符号化対象ブロックよりも前に符号化された同じフレームの情報を用いて符号化対象ブロックの画素を予測する。イントラ予測の方法については既存の方式を用いればよい。
【0032】
動き予測部120については、まず動き探索部105において復号画像メモリ103に格納されている参照フレームと符号化対象ブロックを用いて動きベクトル(Motion Vector: MV)の探索を行う。画素の精度は整数でも小数でもよく、フィルタによる参照フレームの補間により1/4画素精度が好適であるが、1/2、1/8でもかまわない。本実施例では動き探索方法については既存の方式を用いる。
【0033】
次に、適応PMV選択部106では、符号化対象ブロックの同じフレーム内の周囲ブロック、及び参照フレームの同じ位置とその周囲ブロックの情報を用いて、PMVを時間的、空間的な判別により適応的に選択する。本実施例では、PMVを、時間的な判別と空間的な判別とを双方備え適応的な判別を行うが、一方のみでもかまわない。方法、候補とする周囲ブロック、及びPMVの選択方法の詳細については後述する。
【0034】
図3を用いてPMVを選択する候補ブロックの例について説明する。既存の動きベクトル競合方式では、301のように符号化対象ブロックと同じ符号化対象フレームにある左側のブロック(A)、上側のブロック(B)と一番近い前方参照フレーム(L0[0])の符号化対象ブロックと同じ位置にあるブロック(Co-located Block)(S)を候補とし、A,B,Sのように順番に並べ、これらのうち同じベクトルがある場合には候補から除外して、最も符号化対象ブロックのベクトルに近いものを選択してフラグによって示す。なお、一番近い前方参照フレームを本実施例では採用したが、符号化済みのフレームであれば、後方参照フレームでもかまわない。また、一枚だけでなく、複数枚の符号化済みフレームを参照してもよい。
【0035】
一方、本実施例の適応PMV選択部で用いる適応動きベクトル選択方式では、302のように符号化対象ブロックの左側、上側だけでなく、右上(C)や左上(D)も候補に含める。また、参照フレームのブロックSの周囲ブロックも候補に含めることができる。つまり、適応PMV選択部が用いる候補ブロックの、(a)数、(b)空間的な位置(フレーム内のブロック)と(c)時間的な位置(別フレームのブロック)を変化させることができるようにする。
選択方法の詳細については後述する。
【0036】
また、本実施例の適応動きベクトル選択方式では、303のように候補ブロックのサイズが異なる場合で、最初に参照するべき位置のブロックが動きベクトルを持たない、または参照不可の場合、順次近傍のブロックが動きベクトルを持つかどうかをチェックし、利用可能な場合にはPMV選択の候補とする。具体的には、303においてB1が参照不可の場合、B2、B3、B4を順次チェックする。同様にA1が参照不可の場合、A2、A3、A4を、S1が参照不可の場合、S2、S3、S4をチェックする。符号化対象フレームの左上から近い順に走査すればよい。ブロックBの場合は、左から右、下から上の順、ブロックAの場合は上から下、右から左の順、ブロックSの場合は通常のラスタスキャン順、すなわち左から右、上から下の順となる。
【0037】
次に、PMV予測符号化部107では、MVからPMVを引いて差分ベクトル(Differential Motion Vector: DMV)を計算し、これを符号化する。またMVを用いて参照フレームから動き予測を行い、予測ブロックを作成する。
【0038】
DCT変換部108では、予測誤差計算部102から入力された残差成分に対してDCT変換が行われ、係数に変換される。続いて量子化部109に送られ、各変換係数が量子化される。量子化された係数はエントロピー符号化部110に送られ、一定の順序に従って可変長符号等を用いた情報圧縮が行われ、データがモード選択部113に送られる。一方で量子化された係数は逆量子化部111にも送られ、逆量子化によって変換係数に戻され、さらに逆DCT変換部112によって残差成分へと復元される。残差成分は、イントラ予測部104及び一連の動き予測部からの情報が加えられて、復号画像に戻り、復号画像メモリ103に記憶される。当該復号画像はモード選択部113に入力されてモード選択のために利用される。
【0039】
次に、モード選択部113では、複数の符号化モードに関する情報を基に、そのブロックについて最も符号化効率の高いモードを選択する。各符号化モードについて、原画像と復号画像との誤差(符号化誤差)とその符号化モードを利用した場合に発生する符号量を算出し、両者の関係から適切な符号化モードを選択する。例えば最も符号化効率の良い符号化モードを選択する方式としてRate-Distortion最適化方式などの既存の方式を用いればよい。この方式は、各マクロブロックについて全てのモードについて符号量と復号後の原画との符号化誤差を計算し、コスト計算式に従って最も良いモードを選択する方式となっている。
【0040】
最後に、データ出力部114が選択された符号を出力して符号化ストリームが作成され、画像の符号化が行われる。
【0041】
次に、図5を用いて、画像符号化装置で用いられる画像符号化フローについて説明する。
【0042】
まず、ステップ501は、復号画像メモリ103から符号化対象となる原画像を入力し、ブロックに分割する処理である。ここで各ブロックのサイズは可変である。前述のCU、PUを用いればよい。ステップ501はブロック分割部101において実行される。
【0043】
次に、ステップ502では、ステップ501で取得した原画像のブロックについてイントラ予測を行う。イントラ予測については既存の方式を用いればよく、各イントラ予測モードに従って複数のモードについて予測を行う。このステップ502の処理はイントラ予測部104において実行される。
【0044】
次に、ステップ503では、イントラ予測された符号化ブロックの画素について残差成分を取得し、残差成分のDCT変換処理と量子化処理、エントロピー符号化処理とを行い、符号化データを算出する。また、さらに、当該符号化データからエントロピー復号処理、逆量子化、逆DCT変換処理を行い、復号画像の作成を行う。これにより符号化データと復号画像を出力する。このステップ503の処理は、予測誤差計算部102、DCT変換部108、量子化部109、エントロピー符号化部110において、この順に書く処理が実行される。
【0045】
ステップ504では、シーン解析を行う。図4を用いてシーン解析の概要について説明する。動画像シーケンスでは1つのGOP(Group of Picture: 時間方向の予測に関するフレームのまとまり)の内部においても、画像の特徴に変化がある場合がある。例えば、映画やドラマにおけるシーンチェンジ、テレビ中継におけるカメラの切替え等が発生する場合がある。図4では、P2のフレームとB3のフレームの間にシーン1とシーン2の切替えが発生した場合を示している。ここで既存の動きベクトル競合方式では、P4やB3のフレームはP2フレームの動きベクトルを参照するが、シーンが異なっているために効果的な動きベクトルを取得することができない。そこで、本実施例では複数の復号画像を解析してフラグを用いずにシーンチェンジを見つけるか、エンコーダ側でのシーン解析の結果、検出されたシーンチェンジ位置をフラグによってデコーダに伝えることによって、符号化対象フレームと参照フレームが異なるシーンに属する場合には、そのブロックをPMVの候補ブロックとはしないという処理を行うことができる。このようなシーン解析の処理はフレーム単位で行ってもよいし、ブロック単位で行ってもよい。この処理は、明確なブロックとしては図示しないが、インター予測部120内で動き探索部105による動き探索を行う前に実行する。
【0046】
次に、ステップ505において、各インター予測モードに対して動き探索を行う。インター予測モードには、ブロックサイズの異なる動き予測モードや、Skipモード、Directモードなどが含まれる。動き探索の方法は既存の方式を用いればよい。このステップ505はインター予測部120内の動き探索部105において実行される。
【0047】
次にステップ506では、フレーム単位でPMV選択を行うか否かの判定を行う。PMV選択を行わない場合にはステップ510に進み、それ以外はステップ507に進む。続いてステップ507ではブロック単位でPMV選択を行うか否かの判定を行う。PMV選択を行わない場合にはステップ510に進み、それ以外はステップ508に進む。さらにステップ508ではPMV候補ブロックの調整を行い、条件によってどのブロックを候補ブロックに含め、どのブロックを含めないかを判定する。これらの処理はフレーム単位、及びブロック単位で切り換えることができ、こうした切り換えをフラグによって復号装置側へ伝送してもよいし、復号装置に同じ切り替え条件を保持させてもよい。
【0048】
フレーム単位でのPMV選択判定の詳細を、図8を用いて説明する。ステップ801はシーンチェンジか否かの判定を行うことによりPMV選択を行うか否かを判定する。これは前述のようにデコーダ側にてシーン解析処理を行ってフラグの伝送なしにPMV選択の処理を行うか否かの判定を行ってもよいし、エンコーダ側での判断をフラグによってデコーダ側に伝え判定してもよい。PMV選択を行わない場合には、median演算によってPMVを求める方式や、予め左側あるいは上側のブロックのベクトルをPMVとする方式など特定の方式を決めておく。
【0049】
また、別の例として、ステップ802ではピクチャタイプの判定を行うことによりPMV選択を行うか否かを判定する。これは例えば符号化対象フレームがPピクチャであればPMV選択による動きベクトル予測を行い、そうでなければmedian演算等、他の手段を用いる。PピクチャではなくBピクチャとしてもよい。どのピクチャの時にどのように判断するかを判別するフラグを設けてもよい。
【0050】
ブロック単位でのPMV選択判定の詳細を、図9を用いて説明する。ステップ901は符号化対象ブロックの符号化モードの種類を判別することによってPMV選択を行うか否かを判定する。例えば、特定のブロックサイズの時だけPMV選択を行う、あるいはSkipモードやDirectモードにはPMV選択を適用しないなどとすればよい。
【0051】
また、別の例として、ステップ902では候補ブロックの符号化モードの種類を判別することによってPMV選択を行うか否かを判定する。例えば、候補ブロックがすべてイントラ符号化モードであればPMV選択を行わない。
【0052】
上記のような方式により、フレーム単位またはブロック単位でPMV選択を行うか否かを切り換えることができる。
【0053】
ブロック単位でのPMV選択を行う候補ブロックの調整方法の詳細を、図10を用いて説明する。ここではPMV選択を行う場合に、候補ブロックの符号化モードやベクトルを持つか否か、参照可能か否かによって候補ブロックから除外したり、他の候補ブロックを追加したりといった処理を行う。
【0054】
まず、ステップ1001では、符号化対象フレームの候補ブロック、例えば図3のA、Bから、まだチェックしていないブロックを一つ選択する。これをブロックXとする。
【0055】
次に、ステップ1002では、ブロックXが参照可能かどうか調べる。もし参照不可であればステップ1003に進み、参照可能であればステップ1004に進む。参照不可とはブロック位置が画面の範囲外にある等のためにブロックの情報が取得できない状態であり、参照可能とはブロックの情報が取得できることであり、ブロックの情報にはベクトル、参照フレーム番号が含まれる。
【0056】
ステップ1003ではブロックXを0ベクトルに設定するか、候補ブロックから除外する。どちらにするかは予め定める。例えばステップ1003では0ベクトルに設定する。「0ベクトル」とは各成分の値が0のベクトルである。
【0057】
ステップ1004ではブロックXがベクトルを持つか否かを調べる。イントラ符号化されたブロックであればベクトルは持たない。ベクトルを持たない場合はステップ1005に進み、ベクトルを持てばステップ1006に進む。
【0058】
ステップ1005ではブロックXを0ベクトルに設定するか、候補ブロックから除外する。どちらにするかは予め定める。例えばステップ1005では候補ブロックから除外する。
【0059】
ステップ1006ではブロックXと符号化対象ブロックの参照フレーム番号が一致するかどうか調べる。例えば符号化対象ブロックが一方向予測で、ブロックXが双方向予測である場合、L0またはL1のどちらかが一致すればよい。また、符号化対象ブロックが双方向予測で、ブロックXが一方向予測である場合は不一致となる。不一致であればステップ1007に進み、一致すればステップ1008に進む。
【0060】
ステップ1007ではブロックXを0ベクトルに設定するか、候補ブロックから除外する。どちらにするかは予め定める。例えばステップ1007では候補ブロックから除外する。
【0061】
ステップ1008では符号化対象フレーム内に他にチェックする候補ブロックがあるかどうか判定し、他にチェックするブロックがある場合にはステップ1001に戻る。そうでなければステップ1009に進む。
【0062】
ステップ1009では、参照フレームの候補ブロック、例えば図3のSから、まだチェックしていないブロックを一つ選択する。これをブロックYとする。
【0063】
ステップ1010ではブロックYがベクトルを持つか否かを調べる。イントラ符号化されたブロックであればベクトルは持たない。ベクトルを持たない場合はステップ1011に進み、ベクトルを持てばステップ1012に進む。
【0064】
ステップ1011ではブロックYを0ベクトルに設定するか、候補ブロックから除外する。どちらにするかは予め定める。例えばステップ1011では候補ブロックから除外する。
【0065】
ステップ1012ではブロックYと符号化対象ブロックの参照フレーム番号が一致するかどうか調べる。例えば符号化対象ブロックが一方向予測で、ブロックYが双方向予測である場合、L0またはL1のどちらかが一致すればよい。また、符号化対象ブロックが双方向予測で、ブロックYが一方向予測である場合は不一致となる。不一致であればステップ1013に進み、一致すればステップ1014に進む。
【0066】
ステップ1013ではブロックYを0ベクトルに設定するか、候補ブロックから除外する。どちらにするかは予め定める。例えばステップ1013では候補ブロックから除外する。
【0067】
ステップ1014では符号化対象ブロック、またはブロックYが双方向予測モードかどうかを調べる。どちらかが双方向予測モードであればステップ1015に進み、そうでなければステップ1016に進む。
【0068】
ステップ1015ではブロックYを0ベクトルに設定するか、候補ブロックから除外する。どちらにするかは予め定める。例えばステップ1015では候補ブロックから除外する。
【0069】
ステップ1016では参照フレーム内に他にチェックする候補ブロックがあるかどうか判定し、他にチェックするブロックがある場合にはステップ1009に戻る。
【0070】
ここでは各条件に対応してステップ1003、1005、1007、1011、1013、1015において、ブロックXまたはブロックYを0ベクトルに設定するか、候補ブロックから除外する処理を行った。これに対し、例えば候補ブロックとして図3のCやDの位置のブロックを候補ブロックに追加してもよい。例えば、S、A、Bのうち、候補ブロックが0の場合はCとDを候補ブロックに追加し、1つの場合はCを候補ブロックに追加する。予めCやD、さらに他のブロックを候補ブロックに加えておき、その中からベクトルを選んでもよい。
【0071】
例えば、L0[0]のピクチャがイントラ符号化されている場合には、候補ブロックからSを除外し、その代わりにCを加えればよい。あるいは、ブロックAが参照不可の場合にはブロックCを用いればよい。
【0072】
上記のようなPMV選択を行うか否か、あるいは候補ブロック調整の方法については、フレーム単位あるいはブロック単位でフラグによって予め決められた方式を切り換えてもよい。すなわち、以下のような方法がありうる。
・どれかの方式に方式を統一する
・フレーム単位で切り替え可能としフラグでどの方式を選んだかを示す
・ブロック単位で切り替え可能としフラグでどの方式を選んだかを示す
図10に示した条件には以下のようなものがあり、これらは判定の順序を変えてもよい。
・候補ブロックが参照不可かどうか
・候補ブロックが動きベクトルを持つか否か
・候補ブロックと符号化対象ブロックの符号化タイプが異なるかどうか(例えば、候補ブロックが双方向予測(B予測)で符号化対象ブロックが一方向予測(P予測))
・候補ブロックと符号化対象ブロックの参照フレーム番号が一致するかどうか
・候補ブロック、符号化対象ブロックが双方向予測かどうか
候補ブロックの調整を行う方式としては、以下のようなものがある。
・候補ブロックを候補ブロックから除外する
・候補ブロックのベクトルを0ベクトルとして処理する
・符号化対象フレーム内の別のブロックを候補ブロックに加える
・参照フレーム内の別のブロックを候補ブロックに加える
図3の303に示す別のブロックを候補ブロックに加える
・符号化タイプが一致する場合だけ処理し、それ以外は候補ブロックから除外する
・参照フレーム番号が合う場合だけ処理し、それ以外は候補ブロックから除外する
・参照フレーム番号が合うベクトルを他のベクトルに当てはめて両方処理する
続いて、ステップ509ではPMVを選択して差分ベクトルを計算し符号化する。PMVは候補ブロックのベクトルの中から最も符号化対象ブロックのベクトルに近いベクトルを選択する。ベクトルの各成分を符号化した時に最も符号量が小さくなるベクトルを選択する。選択されたベクトルはフラグとして伝送される。これは候補ブロックを順に並べ、1ビットであれば0の時は先頭の候補ブロックのベクトル、1の時は次の候補ブロックのベクトルが選ばれたことになる。候補ブロックの順番は、例えばA、B、Sのブロックが合った時、まずA、B、Sの順に並べ、同じベクトルがあった場合には除外し、先頭から2つのブロックが並べられ比較されることになる。
【0073】
選択されるベクトルが2ビットで示される場合を以下に示す。候補ブロックは図302に示すA、B、S、Cの4つであったとする。上記の例と同様に符号化対象ブロックのベクトルに最も近いベクトルを選択し、A:00、B:01、C:10、S:11のような形で符号を伝送する。例えば、これらのうち候補ブロックから除外されるものがあれば、そのブロックの順序を繰り上げる。選択したベクトルを示すビット数はフレーム単位、ブロック単位で切り替えてもよい。その場合には別途切り換えを示すフラグを伝送する。
【0074】
図11に選択されるベクトルの符号の記述方法の例を示す。現在の1つ前の符号化対象ブロックの候補ブロック番号をPとし、候補ブロックの数をNとする。現在の符号化対象ブロックの候補ブロック番号をXとする。もし現在の符号化対象ブロックの候補ブロック番号がPであれば0を符号Cとする。そうでなければ、まず1を出力し、さらに続けて(X - P - 1) % N を出力する。逆に、符号Cが0の時は現在の符号化対象ブロックの候補ブロック番号Xは、1つ前の候補ブロック番号Pと同じである。そうではなく符号Cの先頭ビットが1であるときは、先頭ビットを除いた残りの符号をC^として、X = (P + C^ + 1 ) % Nとなる。このようにすることにより、連続して同じ候補ブロック番号が選ばれる場合に符号量を短くすることができる。
【0075】
なお、これらのステップ506からすステップ509の処理は適応PMV選択部106で実行される。
【0076】
次に、ステップ510ではPMV計算とベクトル符号化が行われる。ここではPMVの選択は行われず、通常のmedian演算によってPMVの計算が行われる。これは左側A、上側B、右上Cまたは左上Dのベクトルの各成分についてmedian演算を行い、PMV決定するものである。PMVが決定された後、符号化対象ブロックのベクトルとの差分ベクトルを計算し符号化する。
このステップ510の処理は、PMV予測符号化107で実行される。
【0077】
ステップ511では、各インター予測モードについて動き予測を行い、符号化ブロックの画素について残差成分を取得し、残差成分のDCT変換処理と量子化処理、エントロピー符号化処理とを行い、符号化データを算出する。フテップ511に含まれるここまでの各処理は、DCT変換部108、量子化部109、エントロピー符号化部110で実行される。またさらに、当該符号化データからエントロピー復号処理、逆量子化、逆DCT変換処理を行い、復号画像の作成を行う。これにより符号化データと復号画像を出力する。ステップ511に含まれるこれまで各処理は、逆量子化部111、逆DCT変換部112で行われる。
【0078】
次に、ステップ512では、ステップ503およびステップ511の処理結果に従い、各符号化モードについての画像符号化結果を比較して、当該ブロックについて出力する符号化モードを決定する。ステップ512の処理は、モード選択部113で実行される。
【0079】
次に、ステップ513では、ステップ512で選択した符号化モードにおける符号化データを符号化ストリームとして出力する。ステップ513の処理は、データ出力部114で実行される。
【0080】
以上説明したように、実施例1における符号化処理が行われる。
【0081】
以上説明した実施例1に係る画像符号化装置及び画像符号化方法によれば、既存の符号化方式よりも精度が高く、かつ符号量の少ないインター予測が可能となり、既存方式よりも圧縮効率の高い画像符号化装置及び画像符号化方法を実現することが可能となる。
【0082】
また、実施例1に係る画像符号化装置及び画像符号化方法は、これらを用いた記録装置、携帯電話、デジタルカメラ等に適用することが可能である。
【0083】
以上説明した実施例1に係る画像符号化装置及び画像符号化方法によれば、符号化データの符号量を低減し、当該符号化データを復号した場合の復号画像の画質の劣化を防ぐことが可能となる。すなわち、高い圧縮率とより良い画質とを実現することができる。
【実施例2】
【0084】
次に、図2に実施例2に係る画像復号装置のブロック図の例を示す。
【0085】
本実施例の画像復号装置は、ストリーム解析部201、モード判定部202、係数解析部203、イントラ予測合成部204、適応PMV選択復号部205、動き予測合成部206、逆量子化部207、逆DCT変換部208、復号画像メモリ209、画像出力部210を備えている。
【0086】
以下に、画像復号装置の各構成要素の動作を詳細に説明する。なお、画像復号装置の各構成要素の動作は、例えば、以下の記載の通り各構成要素の自律的な動作としても良い。また、例えば、コンピュータの制御部や記憶部が記憶するソフトウェアと協働することにより実現しても構わない。
【0087】
まず、ストリーム解析部201が、入力された符号化ストリームを解析する。ここで、ストリーム解析部201は、パケットからのデータ抽出処理や各種ヘッダ、フラグの情報取得処理も行う。さらに各ブロックの処理を行う。
【0088】
また、このとき、ストリーム解析部201に入力される符号化ストリームは、実施例1に係る画像符号化装置及び画像符号化方法により生成された符号化ストリームである。その生成方法は、実施例1に示したとおりであるので説明を省略する。実施例3に示すデータ記録媒体から読み出した符号化ストリームであってもよい。その記録方法は後述する。
【0089】
次に、モード判定部202は、各ブロックについて、フラグ等によって指定された符号化モードの判別を行う。以下の復号処理は、当該判別結果の符号化モードに対応する処理が行われる。以下にそれぞれの符号化モードについての処理を説明する。
【0090】
まず、符号化モードがイントラ符号化である場合には、イントラ予測合成部204がイントラ予測と予測画像の合成を行う。この方法は従来の方法を用いればよい。ここで、イントラ予測合成部204は合成した予測画像を出力する。
【0091】
符号化モードがフレーム間のインター予測による符号化である場合には、動き予測と予測画像の合成が行われる。まず適応PMV選択復号部205により、適応的にPMVが選択され、復号された差分ベクトルと合成されて動きベクトルが復元される。PMVの選択方法についてはエンコーダとデコーダが同じPMVを選択するように動作するため、実施例1に記述した方法と同様である。
【0092】
続いて、動き予測合成部206が、復元された動きベクトルを用いてブロック内の画素について参照フレームを利用して動き予測を行う。ここで、動き予測合成部206は合成した予測画像を出力する。
【0093】
一方、係数解析部203は、入力符号化ストリームに含まれる各マクロブロックの符号化データを解析し、残差成分の符号化データを出力する。この時、モード判定部202の判別結果の符号化モードに対応する処理が行われる。
【0094】
逆量子化部207は符号化データに逆量子化処理を行い、これを逆DCT変換部208に送る。逆DCT変換部208は、逆量子化された係数を逆DCT変換し残差成分を復元する。
【0095】
上記のようにして復元された各符号化モードの残差成分は、イントラ予測合成部204や動き予測合成部206から出力される予測画像と加算されて、復号画像に戻り、復号画像メモリ209に格納される。復号画像メモリ209には、現在復号しているフレームの情報と、過去に復号したフレームの情報が格納されており、イントラ予測合成部204や動き予測合成部206に参照される。
【0096】
最後に復号された画像が画像出力部210によって出力され、画像の復号が行われる。
【0097】
次に、図6を用いて、実施例2に係る画像復号装置における画像復号方法の流れについて説明する。
【0098】
まず、ステップ601で、復号対象となる符号化ストリームを取得する。次に、ステップ602では、ステップ601において取得した符号化ストリームに含まれる符号化モードフラグと符号化データを解析する。このステップ601、ステップ602はストリーム解析部201で実行される。
【0099】
次に、ステップ603では、ステップ602において解析した符号化モードフラグを用いて、当該符号化データに含まれる一の符号化単位(ブロック単位や画素単位など)についての符号化モードを判定する。ここでイントラ符号化モードである場合にはステップ604に進み、インター符号化モードである場合にはステップ605に進む。このステップ603は、モード判定部202で実行される。
【0100】
ステップ604では、符号化モードによって指定された方法に従ってイントラ予測を行う。これは既存のイントラ予測方法を用いればよい。このステップ604は、イントラ予測合成部204で実行される。
【0101】
ステップ605では、フレーム単位の諸条件、フラグの情報に従って、該フレームに対してPMV選択を行うかどうかを判定する。フレーム単位でPMV選択を行うか否かの判定はエンコーダとデコーダが同じ処理をするように動作するため、実施例1に記述した方法と同様である。PMV選択を行わない場合にはステップ609に進み、それ以外はステップ606に進む。ステップ606では符号化モード、ブロック単位の諸条件、フラグの情報に従って、該ブロックに対してPMV選択を行うかどうかを判定する。ブロック単位でPMV選択を行うか否かの判定はエンコーダとデコーダが同じ処理をするように動作するため、実施例1に記述した方法と同様である。PMV選択を行わない場合にはステップ609に進み、それ以外はステップ607に進む。
【0102】
ステップ607ではPMV候補ブロックの調整を行う。ここでは条件によってどのブロックを候補ブロックに含め、どのブロックを含めないかを判定する。PMV候補ブロックの調整はエンコーダとデコーダが同じ処理をするように動作するため、実施例1に記述した方法と同様である。
【0103】
ステップ608ではPMV選択とベクトル復号が行われる。PMVの選択方法は、エンコーダとデコーダが同じ処理をするように動作するため、実施例1に記述した方法と同様である。ベクトルの復号は、PMVと復号された差分ベクトルを合成して符号化対象ブロックの動きベクトルを復元する。
【0104】
次に、ステップ609ではPMV計算とベクトル復号が行われる。PMVの計算方法は、エンコーダとデコーダが同じ処理をするように動作するため、実施例1に記述した方法と同様である。ベクトルの復号は、PMVと復号された差分ベクトルを合成して符号化対象ブロックの動きベクトルを復元する。これらのステップ605、ステップ606、ステップ607、ステップ608及びステップ609は、適応PMV選択復号部205で実行される。
【0105】
ステップ610では復元されたベクトルと参照フレームを用いてインター予測を行い、予測画像を合成する。これは判定された符号化モードに応じて、図2における画像復号装置のイントラ予測合成部204、動き予測合成部206が、それぞれの対応する符号化モードの場合に予測画像の合成処理を行えばよい。このステップ610は、動き予測合成部206で実行される。
【0106】
ステップ611では、予測画像と残差成分を合成し、復号画像の生成を行う。まず符号化データを解析し、当該符号化データについて逆量子化処理、逆DCT変換処理を行い、前記一の符号化単位についての残差成分の復号を行う。これに予測画像を合成して復号画像の生成を行い、メモリに記憶する。最後に、ステップ612では、生成された復号画像の出力を行う。このステップ611の各処理は、係数解析部203、逆量子化部207、逆DCT変換部208、復号画像メモリ209及び画像出力部210で実行される。
【0107】
なお、本実施例においても、例に示す以外にも、符号化モードで用いるブロックのサイズなどをパラメータとして、各符号化モードを細分化して規定した符号化ストリームを、復号対象ストリームとしてもよい。
【0108】
以上説明した実施例2に係る画像復号装置及び画像復号方法によれば、既存の符号化方式よりも精度が高く、かつ符号量の少ないインター予測が可能となり、既存方式よりも圧縮効率の高い画像復号装置及び画像復号方法を実現することが可能となる。
【0109】
また、実施例2に係る画像復号装置及び画像復号方法は、これらを用いた再生装置、携帯電話、デジタルカメラ等に適用することが可能である。
【0110】
以上説明した実施例2に係る画像復号装置及び画像復号方法によれば、符号量の少ない符号化データをより高画質に復号することが可能となる。
【実施例3】
【0111】
次に、図7に実施例1に係る画像符号化装置または画像符号化方法により生成された符号化ストリームが格納されたデータ記録媒体を示す。
【0112】
本実施例に係る符号化ストリームは、実施例1に係る画像符号化装置または画像符号化方法により生成された符号化ストリームである。その生成方法は、実施例1に示したとおりであるので、説明を省略する。
【0113】
ここで、本実施例に係る符号化ストリームは、データ記録媒体701上にデータ列702として記録される。データ列702は、所定の文法に従う符号化ストリームとして記録されている。以下ではH.264/AVC規格の一部を変更したものとして説明する。
【0114】
まず、H.264/AVCでは、シーケンスパラメータセット703、ピクチャパラメータセット704、スライス705、706、707からストリームが構成される。以下、1つのスライスに1つの画像(ピクチャ)が格納される場合を示す。
【0115】
各スライスの内部には、それぞれのブロックに関する情報708が含まれている。ブロックに関する情報708の内部には、ブロックごとにそれぞれの符号化モードを記録する領域があり、これを符号化モードフラグ709とする。
【0116】
以上説明した実施例3に係るデータ記録媒体によれば、既存方式よりも圧縮効率が高い符号化ストリームで記録されているので、多くの画像を記録することができる。
【0117】
なお、以上説明した各図、各方法等の実施例のいずれを組み合わせてもよい。
【符号の説明】
【0118】
101…ブロック分割部、102…予測誤差計算部、103…復号画像メモリ、104…イントラ予測部、105…動き探索部、106…適応PMV選択部、107…PMV予測符号化部、108…DCT変換部、109…量子化部、110…エントロピー符号化部、111…逆量子化部、112…逆DCT変換部、113…モード選択部、114…データ出力部、120…インター予測部
201…ストリーム解析部、202…モード判定部、203…係数解析部、204…イントラ予測合成部、205…適応PMV選択復号部、206…動き予測合成部、207…逆量子化部、208…逆DCT変換部、209…復号画像メモリ、210…画像出力部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11