JP2011147172A - 画像復号化方法、画像復号化装置、プログラムおよび記録媒体 - Google Patents

画像復号化方法、画像復号化装置、プログラムおよび記録媒体 Download PDF

Info

Publication number
JP2011147172A
JP2011147172A JP2011066627A JP2011066627A JP2011147172A JP 2011147172 A JP2011147172 A JP 2011147172A JP 2011066627 A JP2011066627 A JP 2011066627A JP 2011066627 A JP2011066627 A JP 2011066627A JP 2011147172 A JP2011147172 A JP 2011147172A
Authority
JP
Japan
Prior art keywords
motion vector
block
decoding
decoded
motion
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.)
Granted
Application number
JP2011066627A
Other languages
English (en)
Other versions
JP5090552B2 (ja
Inventor
Toshi Kondo
敏志 近藤
Shinya Sumino
眞也 角野
Makoto Hagai
誠 羽飼
Seishi Abe
清史 安倍
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.)
Panasonic Corp
Original Assignee
Panasonic Corp
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 Panasonic Corp filed Critical Panasonic Corp
Priority to JP2011066627A priority Critical patent/JP5090552B2/ja
Publication of JP2011147172A publication Critical patent/JP2011147172A/ja
Application granted granted Critical
Publication of JP5090552B2 publication Critical patent/JP5090552B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Abstract

【課題】動きベクトルの予測値の予測能力を高めることで符号化効率を向上した動きベクトル符号化方法に対応する画像復号化方法を提供する。
【解決手段】画像復号化方法は、3つの周辺ブロックを特定するステップと、3つの周辺ブロックの参照ピクチャと、復号化対象ブロックの参照ピクチャが同じであるか否かを判断する参照ピクチャ判断ステップと、3つの周辺ブロックの動きベクトルを用いて、復号化対象ブロックの予測動きベクトルを導出する予測動きベクトル導出ステップと、を包含し、ここで、周辺ブロックを動き補償する際に実質的に使用される動きベクトルを、予測動きベクトル導出ステップにおいて、周辺ブロックの動きベクトルとして用い、更に、参照ピクチャ判断ステップで、3つの周辺ブロックのすべてが同じ参照ピクチャである場合は、3つの周辺ブロックの3つの動きベクトルの中央値を予測動きベクトルとする。
【選択図】図12

Description

本発明は、ピクチャ間予測符号化を用いる動きベクトル符号化方法に対応する画像復号化方法、画像復号化装置、プログラムおよび記録媒体に関する。
近年、音声,画像,その他のデータを統合的に扱うマルチメディア時代を迎え、従来からの情報メディア,つまり新聞,雑誌,テレビ,ラジオ,電話等の情報を人に伝達する手段がマルチメディアの対象として取り上げられるようになってきた。一般に、マルチメディアとは、文字だけでなく、図形、音声、特に画像等を同時に関連づけて表すことをいうが、上記従来の情報メディアをマルチメディアの対象とするには、その情報をディジタル形式にして表すことが必須条件となる。
ところが、上記各情報メディアの持つ情報量をディジタル情報量として見積もってみると、文字の場合1文字当たりの情報量は1〜2バイトであるのに対し、音声の場合1秒当たり64Kbits(電話品質)、さらに動画については1秒当たり100Mbits(現行テレビ受信品質)以上の情報量が必要となり、上記情報メディアでその膨大な情報をディジタル形式でそのまま扱うことは現実的では無い。例えば、テレビ電話は、64Kbit/s〜1.5Mbits/sの伝送速度を持つサービス総合ディジタル網(ISDN : Integrated Services Digital Network)によってすでに実用化されているが、テレビ・カメラの映像をそのままISDNで送ることは不可能である。
そこで、必要となってくるのが情報の圧縮技術であり、例えば、テレビ電話の場合、ITU-T(国際電気通信連合 電気通信標準化部門)で国際標準化されたH.261やH.263規格の動画圧縮技術が用いられている(例えば、非特許文献1参照。)。また、MPEG-1規格の情報圧縮技術によると、通常の音楽用CD(コンパクト・ディスク)に音声情報とともに画像情報を入れることも可能となる。
ここで、MPEG(Moving Picture Experts Group)とは、動画像信号圧縮の国際規格であり、MPEG-1は、動画像信号を1.5Mbpsまで、つまりテレビ信号の情報を約100分の1にまで圧縮する規格である。また、MPEG-1規格を対象とする伝送速度が主として約1.5Mbpsに制限されていることから、さらなる高画質化の要求をみたすべく規格化されたMPEG-2では、動画像信号が2〜15Mbpsに圧縮される。さらに現状では、MPEG-1,MPEG-2と標準化を進めてきた作業グループ(ISO/IEC JTC1/SC29/WG11) によって、MPEG-1,MPEG-2を上回る圧縮率を達成し、更に物体単位で符号化・復号化・操作を可能とし、マルチメディア時代に必要な新しい機能を実現するMPEG-4が規格化された。MPEG-4では、当初、低ビットレートの符号化方法の標準化を目指して進められたが、現在はインタレース画像も含む高ビットレートも含む、より汎用的な符号化に拡張されている。
上記の動画像符号化においては、一般に動画像が有する空間方向および時間方向の冗長性を利用して情報量の圧縮を行う。ここで、時間方向の冗長性を利用する方法として、ピクチャ間予測符号化が用いられる。ピクチャ間予測符号化では、あるピクチャを符号化する際に、時間的に前方または後方にあるピクチャを参照ピクチャとする。そして、その参照ピクチャからの動き量(動きベクトル)を検出し、動き補償を行ったピクチャと符号化対象のピクチャとの差分値に対して空間方向の冗長度を取り除くことにより情報量の圧縮を行う。
MPEG−1、MPEG−2、MPEG−4、H.263、H.26L等の動画像符号化方式では、ピクチャ間予測符号化を行わない、すなわちピクチャ内符号化を行うピクチャをIピクチャと呼ぶ。ここでピクチャとは、フレームおよびフィールドの両者を包含する1つの符号化の単位を意味する。また、1つのピクチャを参照してピクチャ間予測符号化するピクチャをPピクチャと呼び、処理済みの2つのピクチャを参照してピクチャ間予測符号化するピクチャをBピクチャと呼ぶ。
図18は、上記の動画像符号化方式における各ピクチャの予測関係を示す関係表示図である。
この図18において、縦線は1枚のピクチャを示しており、各ピクチャの右下にピクチャタイプ(I、P、B)を示している。また図18中の矢印は、矢印の終端にあるピクチャが、矢印の始端にあるピクチャを参照ピクチャとして用いてピクチャ間予測符号化することを示している。例えば、先頭から2枚目のBピクチャは、先頭のIピクチャと先頭から4枚目のPピクチャを参照ピクチャとして用いることにより符号化される。
MPEG−4やH.26L等の動画像符号化方式では、Bピクチャの符号化において、ダイレクトモードという符号化モードを選択することができる。
ダイレクトモードにおけるピクチャ間予測符号化方法を、図19を用いて説明する。
図19は、ダイレクトモードにおけるピクチャ間予測符号化方法を説明するための説明図である。
今、ピクチャB3のブロックCをダイレクトモードで符号化するとする。この場合、ピクチャB3の直前に符号化された参照ピクチャ(この場合には、後方参照ピクチャであるピクチャP4)中の、ブロックCと同じ位置にあるブロックXの動きベクトルMVpを利用する。動きベクトルMVpは、ブロックXが符号化された際に用いられた動きベクトルであり、ピクチャP1を参照している。ブロックCに対しては、動きベクトルMVpと平行な動きベクトルを用いて、参照ピクチャであるピクチャP1とピクチャP4から双方向予測が行われる。この場合のブロックCを符号化する際に用いられる動きベクトルは、ピクチャP1に対しては動きベクトルMVFc、ピクチャP4に対しては動きベクトルMVBcとなる。
また、MPEG−4やH.26L等の動画像符号化方式では、動きベクトルの符号化の際に、周辺ブロックの動きベクトルからの予測値と符号化対象ブロックの動きベクトルとの差分値を符号化する。以下、単に「予測値」と呼ぶ場合は、動きベクトルの予測値であることを示す。多くの場合には、近傍のブロックの動きベクトルは同じような方向および大きさを有するので、周辺ブロックの動きベクトルからの予測値との差分値を符号化することにより、動きベクトルの符号量の削減を図ることができる。
ここで、MPEG−4における動きベクトルの符号化方法について、図20を用いて説明する。
図20は、MPEG−4における符号化対象ブロックAの動きベクトルMVの符号化方法を説明するための説明図である。
この図20中の(a)〜(d)において、太枠で示したブロックは16×16画素のマクロブロックを示しており、その中に8×8画素のブロックが4つ存在する。ここでは、8×8画素のブロックを単位として、動きベクトルが求められているとする。
図20の(a)に示すように、マクロブロック内の左上に位置する符号化対象ブロックAに対しては、その左側にある周辺ブロックBの動きベクトルMVb、上側にある周辺ブロックCの動きベクトルMVc、及び右上側にある周辺ブロックDの動きベクトルMVdから求められた予測値と、符号化対象ブロックAの動きベクトルMVとの差分値が符号化される。
これと同様、図20の(b)に示すように、マクロブロック内の右上に位置する符号化対象ブロックAに対しては、その左側にある周辺ブロックBの動きベクトルMVb、上側にある周辺ブロックCの動きベクトルMVc、及び右上側にある周辺ブロックDの動きベクトルMVdから求められた予測値と、符号化対象ブロックAの動きベクトルMVとの差分値が符号化される。
また、図20の(c)に示すように、マクロブロック内の左下に位置する符号化対象ブロックAに対しては、その左側にある周辺ブロックBの動きベクトルMVb、上側にある周辺ブロックCの動きベクトルMVc、及び右上側にある周辺ブロックDの動きベクトルMVdから求められた予測値と、符号化対象ブロックAの動きベクトルMVとの差分値が符号化される。
そして、図20の(d)に示すように、マクロブロック内の右下に位置する符号化対象ブロックAに対しては、その左側にある周辺ブロックBの動きベクトルMVb、左上側にある周辺ブロックCの動きベクトルMVc、及び上側にある周辺ブロックDの動きベクトルMVdから求められた予測値と、符号化対象ブロックAの動きベクトルMVとの差分値が符号化される。ここで、予測値は、3つの動きベクトルMVb,MVc,MVdの水平成分、垂直成分毎に中央値(メディアン)を取って求められる。
次に、現在規格策定中のH.26Lにおける動きベクトルの符号化方法について、図21を用いて説明する。
図21は、H.26Lにおける符号化対象ブロックAの動きベクトルMVの符号化方法を説明するための説明図である。
符号化対象ブロックAは、4×4画素、8×8画素又は16×16画素のブロックであって、この符号化対象ブロックAの動きベクトルを符号化するときには、その符号化対象ブロックAの左側に位置する画素bを含む周辺ブロックBの動きベクトルと、符号化対象ブロックAの上側に位置する画素cを含む周辺ブロックCの動きベクトルと、符号化対象ブロックAの右上側に位置する画素dを含む周辺ブロックDの動きベクトルとが用いられる。なお、周辺ブロックB,C,Dのサイズは、図21の点線で示すサイズに限定されない。
図22は、このような周辺ブロックB,C,Dの動きベクトルを用いて符号化対象ブロックAの動きベクトルMVが符号化される手順を示すフロー図である。
まず、周辺ブロックB,C,Dのうち符号化対象ブロックAと同じピクチャを参照している周辺ブロックを特定し(ステップS502)、その特定された周辺ブロックの数を判別する(ステップS504)。
そして、ステップS504で判別された周辺ブロックの数が1個であれば、同じピクチャを参照しているその1つの周辺ブロックの動きベクトルを、符号化対象ブロックAの動きベクトルMVの予測値とする(ステップS506)。
また、ステップS504で判別された周辺ブロックの数が1個以外であれば、周辺ブロックB,C,Dのうち符号化対象ブロックAと異なるピクチャを参照している周辺ブロックの動きベクトルを0とする(ステップS507)。そして、周辺ブロックB,C,Dの動きベクトルの中央値を、符号化対象ブロックAの動きベクトルMVの予測値とする(ステップS508)。
このようにステップS506又はステップS508で導出された予測値を用い、その予測値と符号化対象ブロックAの動きベクトルMVとの差分値を求め、その差分値を符号化する(ステップS510)。
以上のように、MPEG−4及びH.26Lの動きベクトル符号化方法では、符号化対象ブロックの動きベクトルを符号化するときには、周辺ブロックの動きベクトルを利用する。
しかし、周辺ブロックに対して、動きベクトルが符号化されていない場合がある。例えば、その周辺ブロックがピクチャ内符号化で処理されている場合や、Bピクチャにおいてダイレクトモードとして処理されている場合や、Pピクチャにおいてスキップモードとして処理されている場合である。このような場合には、その周辺ブロックは、ピクチャ内符号化されている場合を除いて、他のブロックの動きベクトルを用いて符号化されており、その他の場合には、周辺ブロックは動き検出結果に基づく自らの動きベクトルを用いて符号化されている。
そこで上記従来の動きベクトル符号化方法は、3つの周辺ブロックに上述のような動き検出結果に基づく動きベクトルを有さず、他のブロックの動きベクトルを用いて符号化された周辺ブロックが1つ存在する場合には、その周辺ブロックの動きベクトルを0として処理し、2つ存在する場合には、残りの1つの周辺ブロックの動きベクトルを予測値として用い、3つ存在する場合には、予測値は0として動きベクトル符号化の処理を行う。
Information technology -Coding of audio-visual objects -Part2:video (ISO/IEC 14496-2), pp.146-148, 1999.12.1
しかしながら、ダイレクトモードやスキップモードでは、動きベクトル情報は符号化されていないものの、実際には検出結果に基づく自らの動きベクトルを使用した場合と同等の動き補償処理が行われている。したがって、上記従来の方法では、周辺ブロックがダイレクトモードやスキップモードで符号化されている場合に、それら周辺ブロックの動きベクトルを予測値の候補として用いないため、動きベクトルの符号化の際に、動きベクトルの予測値の予測能力が低くなり、それに伴い符号化効率が低下するという問題点がある。
本発明は上記問題点を解決するものであり、動きベクトルの予測値の予測能力を高めることで符号化効率を向上した動きベクトル符号化方法に対応する画像復号化方法、画像復号化装置、プログラムおよび記録媒体を提供することを目的とする。
上記目的を達成するために、本発明に係る画像復号化方法は、動画像のピクチャを構成するブロックを復号化する画像復号化方法であって、復号化の対象となる前記ブロックの符号化動きベクトルを復号化して、差分動きベクトルを復号化する差分動きベクトル復号化ステップと、復号化の対象となる前記ブロックの差分画像を復号化する差分画像復号化ステップと、復号化の対象となる前記ブロックの周辺にあって既に復号化済みの3つの周辺ブロックを特定する周辺ブロック特定ステップと、前記3つの周辺ブロックの復号化で用いたそれぞれの参照ピクチャと、復号化の対象となる前記ブロックの復号化で用いる参照ピクチャが同じであるか否かを判断する参照ピクチャ判断ステップと、前記3つの周辺ブロックの動きベクトルを用いて、復号化の対象となる前記ブロックの予測動きベクトルを導出する予測動きベクトル導出ステップと、前記差分動きベクトルと前記予測動きベクトルを用いて、復号化の対象となる前記ブロックの動きベクトルを決定する動きベクトル決定ステップと、決定された前記ブロックの動きベクトルと、前記ブロックの参照ピクチャとから動き補償画像を求める動き補償ステップと、前記動き補償画像と、復号化された前記ブロックの差分画像とから、前記ブロックの画素値を復元するブロック画像復元ステップと、を包含し、ここで、前記周辺ブロックが他のブロックの動きベクトルを用いて予測復号化されている場合には、前記他のブロックの動きベクトルを用いて求められた動きベクトルであって、前記周辺ブロックを動き補償する際に実質的に使用される動きベクトルを、前記予測動きベクトル導出ステップにおいて、前記周辺ブロックの動きベクトルとして用い、更に、前記参照ピクチャ判断ステップで、前記3つの周辺ブロックのすべてが同じ参照ピクチャである場合は、前記3つの周辺ブロックの3つの動きベクトルの中央値を、復号化の対象となる前記ブロックの予測動きベクトルとする、ことを特徴とする。
また、上記目的を達成するために、本発明に係る復号化システムは、動画像のピクチャを符号化した符号化ピクチャデータと音声信号を符号化した音声データとが多重化された多重化データが記録された記録媒体と、前記記録媒体から前記符号化ピクチャデータと前記音声データとを復号する復号化装置とから構成される復号化システムであって、前記記録媒体に記録されている前記多重化データに含まれる前記符号化ピクチャデータは、前記動画像のピクチャを構成するブロックの動きベクトルを符号化する動きベクトル符号化方法を用いて符号化されており、前記動きベクトル符号化方法は、符号化の対象となる前記動画像のピクチャを構成するブロックの周辺にあって既に符号化済みである周辺ブロックを特定する周辺ブロック特定ステップと、前記周辺ブロックが他のブロックの動きベクトルを用いて符号化されているか否かを判別する判別ステップと、前記周辺ブロックの動きベクトルを用いて、符号化の対象となる前記ブロックの予測動きベクトルを導出する予測動きベクトル導出ステップと、前記予測動きベクトルを用いて、符号化の対象となる前記ブロックの前記動きベクトルを符号化する動きベクトル符号化ステップと、を包含し、前記予測動きベクトル導出ステップでは、前記周辺ブロックが他のブロックの動きベクトルを用いて符号化されている場合には、前記他のブロックの動きベクトルを用いて求められた動きベクトルであって、前記周辺ブロックを符号化する際に使用される動きベクトルを、前記周辺ブロックの動きベクトルとして用い、前記周辺ブロックが他のブロックの動きベクトルを用いて符号化されていない場合には、前記周辺ブロックに対して検出された動きベクトルであって、前記周辺ブロックを符号化する際に使用された動きベクトルを、前記周辺ブロックの動きベクトルとして用いることを特徴とし、前記復号化装置は、前記記録媒体から前記多重化データを読み出すデータ読出部と、前記データ読出部で読み出された前記多重化データを前記符号化ピクチャデータと前記音声データとに分離する分離部と、前記符号化ピクチャデータに符号化された前記動画像のピクチャを構成するブロックのうち、復号化の対象となるブロックの周辺にあって既に復号化済みである周辺ブロックを特定する周辺ブロック特定部と、前記周辺ブロックが他のブロックの動きベクトルを用いて復号化されているか否かを判別する判別部と、前記周辺ブロックの動きベクトルを用いて、復号化の対象となる前記ブロックの予測動きベクトルを導出する予測動きベクトル導出部と、前記予測動きベクトルを用いて、復号化の対象となる前記ブロックの前記動きベクトルを復号化する動きベクトル復号化部と、前記音楽データを復号化する音楽データ復号化部と、を備え、前記予測動きベクトル導出部は、前記周辺ブロックが他のブロックの動きベクトルを用いて復号化されている場合には、前記他のブロックの動きベクトルを用いて求められた動きベクトルであって、前記周辺ブロックを復号化する際に使用される動きベクトルを、前記周辺ブロックの動きベクトルとして用い、前記周辺ブロックが他のブロックの動きベクトルを用いて復号化されていない場合には、前記周辺ブロックに対して検出された動きベクトルであって、前記周辺ブロックを復号化する際に使用された動きベクトルを、前記周辺ブロックの動きベクトルとして用いることを特徴とする。
また、上記目的を達成するために、本発明に係る動きベクトル符号化方法は、動画像のピクチャを構成するブロックの動きベクトルを符号化する動きベクトル符号化方法であって、符号化の対象となる前記ブロックの周辺にあって既に符号化済みである周辺ブロックを特定する周辺ブロック特定ステップと、前記周辺ブロックそれぞれが有する2つの動きベクトルを用いて、符号化の対象となる前記ブロックの2つの予測動きベクトルを導出する予測動きベクトル導出ステップと、前記2つの予測動きベクトルを用いて、符号化の対象となる前記ブロックの2つの動きベクトルを符号化する動きベクトル符号化ステップと、を包含し、ここで、符号化の対象となる前記ブロックが時間的に前方を特定する前方動きベクトルと時間的に後方を特定する後方動きベクトルとの2つの動きベクトルを用いて予測符号化されている場合であって、且つ、前記周辺ブロックが他のブロックの動きベクトルを用いて予測符号化されている場合は、前記予測動きベクトル導出ステップにおいて、前記他のブロックの動きベクトルを用いて求められた動きベクトルであって、前記周辺ブロックを予測符号化する際に使用された時間的に前方を特定する前方動きベクトルと時間的に後方を特定する後方動きベクトルとの2つの動きベクトルを、それぞれ、前記周辺ブロックが有する前方動きベクトルと後方動きベクトルとしての2つの動きベクトルとして特定し、前記周辺ブロックの該特定された2つの動きベクトルを前記周辺ブロックの動きベクトルとして用いて、符号化の対象となる前記ブロックの予測動きベクトルを前方動きベクトルと後方動きベクトルのそれぞれに対して導出することを特徴とする。
また、上記目的を達成するために、本発明に係る動きベクトル符号化方法は、動画像のピクチャを構成するブロックの動きベクトルを符号化する動きベクトル符号化方法であって、符号化の対象となる前記ブロックの周辺にあって既に符号化済みの周辺ブロックを特定する周辺ブロック特定ステップと、前記周辺ブロックが他のブロックの動きベクトルを用いて符号化されているか否かを判別する判別ステップと、前記判別ステップで、前記周辺ブロックが他のブロックの動きベクトルを用いて符号化されていると判別されたときには、前記他のブロックの動きベクトルから求められた動きベクトルを前記周辺ブロックの動きベクトルとして用い、前記符号化対象ブロックの動きベクトルの予測値を導出する予測ステップと、前記符号化対象ブロックの動きベクトルを、前記予測値を用いて符号化する符号化ステップとを含むことを特徴とする。
また、本発明に係る動きベクトル復号化方法は、動画像のピクチャを構成するブロックの符号化された動きベクトルを復号化する動きベクトル復号化方法であって、復号化の対象となる前記ブロックの周辺にあって既に復号化済みの周辺ブロックを特定する周辺ブロック特定ステップと、前記周辺ブロックが他のブロックの動きベクトルを用いて符号化されていたか否かを判別する判別ステップと、前記判別ステップで、前記周辺ブロックが他のブロックの動きベクトルを用いて符号化されていたと判別されたときには、前記他のブロックの動きベクトルから求められた動きベクトルを前記周辺ブロックの動きベクトルとして用い、前記復号化対象ブロックの動きベクトルの予測値を導出する予測ステップと、前記復号化対象ブロックの符号化された動きベクトルを、前記予測値を用いて復号化する復号化ステップとを含むことを特徴とする。
なお、本発明は、上記動きベクトル符号化方法を用いる動画像符号化装置及びプログラム並びにそのプログラムを格納する記憶媒体や、上記動きベクトル復号化方法を用いる動画像復号化装置及びプログラム並びにそのプログラムを格納する記憶媒体としても実現することができる。
以上の説明から明らかなように、本発明に係る動きベクトル符号化方法によれば、動画像のピクチャを構成するブロックの動きベクトルを符号化する動きベクトル符号化方法であって、符号化の対象となる前記ブロックの周辺にあって既に符号化済みの周辺ブロックを特定する周辺ブロック特定ステップと、前記周辺ブロックが他のブロックの動きベクトルを用いて符号化されているか否かを判別する判別ステップと、前記判別ステップで、前記周辺ブロックが他のブロックの動きベクトルを用いて符号化されていると判別されたときには、前記他のブロックの動きベクトルから求められた動きベクトルを前記周辺ブロックの動きベクトルとして用い、前記符号化対象ブロックの動きベクトルの予測値を導出する予測ステップと、前記符号化対象ブロックの動きベクトルを、前記予測値を用いて符号化する符号化ステップとを含むことを特徴とする。
これにより、符号化対象ブロックの動きベクトルを、周辺ブロックの動きベクトルから導出された予測値を用いて符号化するときに、その周辺ブロックが他のブロックの動きベクトルを用いて符号化されている場合、その周辺ブロックの動きベクトルを、0とすることなく、上記他のブロックの動きベクトルから求められた動きベクトルとするため、上記予測値の予測能力を高めることができ、その結果、動きベクトルの符号化効率を向上することができる。
また、本発明に係る動きベクトル復号化方法によれば、動画像のピクチャを構成するブロックの符号化された動きベクトルを復号化する動きベクトル復号化方法であって、復号化の対象となる前記ブロックの周辺にあって既に復号化済みの周辺ブロックを特定する周辺ブロック特定ステップと、前記周辺ブロックが他のブロックの動きベクトルを用いて符号化されていたか否かを判別する判別ステップと、前記判別ステップで、前記周辺ブロックが他のブロックの動きベクトルを用いて符号化されていたと判別されたときには、前記他のブロックの動きベクトルから求められた動きベクトルを前記周辺ブロックの動きベクトルとして用い、前記復号化対象ブロックの動きベクトルの予測値を導出する予測ステップと、前記復号化対象ブロックの符号化された動きベクトルを、前記予測値を用いて復号化する復号化ステップとを含むことを特徴とする。
これにより、本発明に係る動きベクトル符号化方法により符号化された動きベクトルを正しく復号化することができ、その実用的価値が高い。
図1は、本発明の第1の実施の形態における動画像符号化装置の構成を示すブロック図である。 図2は、同上のフレームメモリにおけるピクチャの入出力関係を示すピクチャ表示図である。 図3は、同上の動きベクトル符号化部の動作を示すフロー図である。 図4は、同上の周辺ブロックがスキップモードで符号化される様子を説明するための説明図である。 図5は、同上の双方向動きベクトルによるピクチャ間予測符号化を説明するための説明図である。 図6は、同上の周辺ブロックが時間的なダイレクトモードで符号化されている様子を説明するための説明図である。 図7は、同上の周辺ブロックが空間的なダイレクトモードで符号化されている様子を説明するための説明図である。 図8は、同上の動きベクトル符号化部の他の動作を示すフロー図である。 図9は、本発明の第2の実施の形態における動画像復号化装置の構成を示すブロック図である。 図10は、同上の動きベクトル復号化部の動作を示すフロー図である。 図11は、同上の動画像復号化装置の入出力関係を説明するための説明図である。 図12は、同上の動きベクトル復号化部の他の動作を示すフロー図である。 図13は、本発明の第3の実施の形態における記録媒体についての説明図である。 図14は、本発明の第4の実施の形態におけるコンテンツ供給システムの全体構成を示すブロック図である。 図15は、同上の携帯電話の正面図である。 図16は、同上の携帯電話のブロック図である。 図17は、同上のディジタル放送用システムの全体構成を示すブロック図である。 図18は、動画像符号化方式における各ピクチャの予測関係を示す関係表示図である。 図19は、ダイレクトモードにおけるフレーム間予測方法を説明するための説明図である。 図20は、MPEG−4における符号化対象ブロックの動きベクトルの符号化方法を説明するための説明図である。 図21は、H.26Lにおける符号化対象ブロックの動きベクトルの符号化方法を説明するための説明図である。 図22は、同上の符号化手順を示すフロー図である。
(実施の形態1)
以下、本発明の第1の実施の形態における動画像符号化装置について図面を参照しながら説明する。
図1は、本発明の第1の実施の形態における動画像符号化装置100のブロック図である。
この動画像符号化装置100は、動きベクトルの予測値の予測能力を高めることで符号化効率を向上したものであって、フレームメモリ101、差分演算部102、予測誤差符号化部103、符号列生成部104、予測誤差復号化部105、加算演算部106、フレームメモリ107、動きベクトル検出部108、モード選択部109、符号化制御部110、スイッチ111〜115、動きベクトル記憶部116、及び動きベクトル符号化部117を備える。
フレームメモリ101は、入力画像をピクチャ単位で保持する画像メモリであって、ピクチャ単位で時間順に取得された入力画像を符号化順に並び替えて出力する。その並び替えは、符号化制御部110により制御される。
図2の(a)は、フレームメモリ101に入力されるピクチャの様子を示す。
この図2の(a)において、縦線はピクチャを示し、各ピクチャの右下に示す記号のうち、1文字目のアルファベットがピクチャタイプ(I、PまたはB)を示し、2文字目以降の数字が時間順のピクチャ番号を示している。フレームメモリ101に入力された各ピクチャは、符号化順に並び替えられる。符号化順への並び替えは、ピクチャ間予測符号化における参照関係に基づいて行われ、参照ピクチャとして用いられるピクチャが、そのピクチャを参照ピクチャとして用いるピクチャよりも先に符号化されるように並び替えられる。例えば、ピクチャP7〜P13の各ピクチャの参照関係は、図2の(a)に示す矢印の通りとなる。図2の(a)において、矢印の始点は参照されるピクチャを示し、矢印の終点は参照するピクチャを示している。この場合、図2の(a)のピクチャを並び替えた結果は図2の(b)に示すようになる。
図2の(b)は、(a)のように入力されたピクチャが並び替えられた様子を示す。このようにフレームメモリ101で並び替えが行われた各ピクチャは、マクロブロックの単位で読み出される。ここでは、マクロブロックは水平16×垂直16画素の大きさである。
差分演算部102は、フレームメモリ101から、スイッチ111を介してマクロブロック単位で画像データを取得するとともに、モード選択部109から動き補償画像を取得する。そして差分演算部102は、マクロブロック単位の画像データと動き補償画像との差分を演算し、予測誤差画像を生成して出力する。
予測誤差符号化部103は、スイッチ112を介して、フレームメモリ101から取得した画像データ、または差分演算部102で求められた予測誤差画像に離散コサイン変換などの周波数変換や量子化などの符号化処理を施すことにより、符号化データを作成する。例えば、周波数変換や量子化の処理は、水平8×垂直8画素の単位で行われる。そして予測誤差符号化部103は、符号化データを符号列生成部104と予測誤差復号化部105に出力する。
符号列生成部104は、予測誤差符号化部103からの符号化データに対して可変長符号化を施して、出力用の符号化ビットストリームのフォーマットに変換して、さらに動きベクトル符号化部117から入力された動きベクトルの情報、モード選択部109から入力された符号化モードの情報、その他のヘッダ情報等を付加することにより符号列を生成する。
予測誤差復号化部105は、予測誤差符号化部103からの符号化データを、逆量子化した後、逆離散コサイン変換などの逆周波数変換を施し、予測誤差画像に復号化する。
加算演算部106は、復号化結果である予測誤差画像に前記動き補償画像を加算して、符号化および復号化を経た画像データであって1ピクチャの画像を示す復号化画像を出力する。
フレームメモリ107は、加算演算部106から出力された復号化画像のうち、他のピクチャの符号化時に参照ピクチャとして用いられるピクチャをピクチャ単位で保持する画像メモリである。
動きベクトル検出部108は、フレームメモリ107に蓄積された復号化画像を参照ピクチャとして用いて、符号化対象のマクロブロック内の各ブロックに対して、動きベクトルの検出を行う。検出された動きベクトルは、モード選択部109に対して出力される。
モード選択部109は、動きベクトル検出部108で検出された動きベクトルを用いて、マクロブロックの符号化モードを決定する。ここで符号化モードとは、マクロブロックをどのような方法で符号化するかを示すものである。例えば、モード選択部109は、符号化対象ピクチャがPピクチャの場合には、ピクチャ内符号化、動きベクトルを用いたピクチャ間予測符号化、及びスキップモード(他のブロックの動きベクトルから求めた動きベクトルを用いて予測符号化を行うことにより、動きベクトルを符号化せず、かつ予測誤差符号化の結果、係数値がすべて0となり、係数値を符号化しないピクチャ間予測符号化)の中から、いずれかを符号化モードとして決める。また、一般的には、所定のビット量で符号化誤差が最小となるような符号化モードが決定される。
そしてモード選択部109は、決定された符号化モードを符号列生成部104に、その符号化モードにおいて用いる動きベクトルを動きベクトル符号化部117に対して出力する。さらに、モード選択部109は、決定された符号化モードが動きベクトルを用いたピクチャ間予測符号化であるときには、そのピクチャ間予測符号化で用いられる動きベクトルと符号化モードを動きベクトル記憶部116に記憶させる。
また、モード選択部109は、決定された符号化モードと、動きベクトル検出部108で検出された動きベクトルとに基づいて動き補償を行って動き補償画像を作成し、その動き補償画像を差分演算部102と加算演算部106とに出力する。ただし、ピクチャ内符号化が選択された場合には、動き補償画像は出力されない。さらに、モード選択部109でピクチャ内符号化が選択された場合には、モード選択部109は、スイッチ111が端子aに接続するように、スイッチ112が端子cに接続するように両スイッチ111,112を制御し、ピクチャ間予測符号化が選択された場合には、スイッチ111が端子bに接続するように、スイッチ112が端子dに接続するように両スイッチ111,112を制御する。また、上述の動き補償はブロック単位(ここでは8×8画素の大きさとする)で行われる。
符号化制御部110は、入力されたピクチャをどのタイプのピクチャ(I、PまたはBピクチャ)で符号化するかを決定し、そのピクチャタイプにより、スイッチ113,114,115を制御する。ここで、ピクチャタイプの決定には、例えば、周期的にピクチャタイプを割り当てる方法が一般的に用いられる。
動きベクトル記憶部116は、ピクチャ間予測符号化で用いられる動きベクトルと符号化モードとをモード選択部109から取得してこれを記憶しておく。
動きベクトル符号化部117は、モード選択部109で動きベクトルを用いたピクチャ間予測符号化が選択されたときには、図20や図21を参照して説明した方法により、符号化対象ブロックの動きベクトルの符号化を行う。すなわち、動きベクトル符号化部117は、符号化対象ブロックの周辺にある3つの周辺ブロックを特定し、これらの周辺ブロックの動きベクトルから予測値を決定し、その予測値と符号化の対象となる現在のブロックの動きベクトルとの差分値を符号化する。
また、本実施の形態における動きベクトル符号化部117は、符号化対象ブロックの動きベクトルを符号化するときに、周辺ブロックがスキップモードやダイレクトモードなど、他のブロックの動きベクトルを用いて符号化されている場合には、その周辺ブロックの動きベクトルを従来例のように0とすることなく、その周辺ブロックの符号化の際に上記他のブロックの動きベクトルから求められた動きベクトルを、その周辺ブロックの動きベクトルとして扱う。
図3は、本実施の形態における動きベクトル符号化部117の一般的な動作を示すフロー図である。
まず、動きベクトル符号化部117は、符号化対象ブロックの周辺にある既に符号化済みの3つの周辺ブロックを特定する(ステップS100)。
そして動きベクトル符号化部117は、その特定された周辺ブロックのそれぞれが、他のブロックの動きベクトルを用いて符号化された周辺ブロックBaか、他のブロックの動きベクトルを用いずに符号化された周辺ブロックBbかを判別する(ステップS102)。
その結果、動きベクトル符号化部117は、特定された3つの周辺ブロックの中に周辺ブロックBaが含まれているか否かを判別する(ステップS104)。
ステップS104で周辺ブロックBaが含まれていると判別されたときには(ステップS104のY)、動きベクトル符号化部117は、周辺ブロックBaを符号化するために他のブロックの動きベクトルから求められた動きベクトルをその周辺ブロックBaの動きベクトルとして扱い、上述のように3つの周辺ブロックの動きベクトルから予測値を導出する(ステップS106)。
一方、ステップS104で周辺ブロックBaが含まれていないと判別されたときには(ステップS104のN)、動きベクトル符号化部117は、3つの周辺ブロックBbのそれぞれの動き検出およびモード選択結果に基づく動きベクトルから予測値を導出する(ステップS108)。
そして動きベクトル符号化部117は、符号化対象ブロックの動きベクトルと、ステップS106,S108で導出された予測値との差分を符号化する(ステップS110)。また、動きベクトル符号化部117は、このように符号化された動きベクトルを符号列生成部104に対して出力する。
ここで、上述のような動画像符号化装置100の符号化処理について、具体的に図2に示すピクチャP13及びピクチャB11の符号化を例に挙げて説明する。
<ピクチャP13の符号化処理>
ピクチャP13はPピクチャであるので、動画像符号化装置100は、ピクチャP13に対して符号化処理するときには、他の1つのピクチャを参照ピクチャとして用いるピクチャ間予測符号化を行う。この場合の参照ピクチャはピクチャP10となる。このピクチャP10に対しては、既に符号化が終了しており、そのピクチャP10の復号化画像がフレームメモリ107に蓄積されている。
符号化制御部110は、Pピクチャの符号化においては、スイッチ113、114、115がオンになるように各スイッチを制御する。したがって、フレームメモリ101から読み出されたピクチャP13のマクロブロックは、動きベクトル検出部108、モード選択部109、及び差分演算部102に取得される。
動きベクトル検出部108は、フレームメモリ107に蓄積されたピクチャP10の復号化画像を参照ピクチャとして用い、マクロブロック内の各ブロックに対して、動きベクトルの検出を行い、検出された動きベクトルをモード選択部109に対して出力する。
モード選択部109は、動きベクトル検出部108で検出された動きベクトルを用いて、ピクチャP13のマクロブロックの符号化モードを決定する。即ち、ピクチャP13はPピクチャであるので、モード選択部109は、上述のように、ピクチャ内符号化、動きベクトルを用いたピクチャ間予測符号化、及びスキップモード(他のブロックの動きベクトルから求めた動きベクトルを用いて動き補償を行うことにより、動きベクトルを符号化せず、かつ予測誤差符号化の結果、すべての係数値が0となり係数値を符号化しないピクチャ間予測符号化)の中から符号化モードを決める。
そして本実施の形態における動きベクトル符号化部117は、上述のようにモード選択部109で動きベクトルを用いたピクチャ間予測符号化が選択されたときには、図20を参照して説明した方法によりピクチャP13の符号化対象ブロックの動きベクトルを符号化するが、その符号化対象ブロックの周辺にある周辺ブロックがスキップモードで符号化されている場合には、その周辺ブロックの動きベクトルを0とはせずに、その周辺ブロックを符号化するために他のブロックから求められた動きベクトルを、その周辺ブロックの動きベクトルとして扱う。
このような周辺ブロックがスキップモードで符号化されている場合における符号化対象ブロックの動きベクトルの符号化方法を説明する。
図4は、周辺ブロックCがスキップモードで符号化される様子を説明するための説明図である。
この図4に示すように、ピクチャP13の周辺ブロックCがスキップモードで符号化されるときには、その周辺ブロックCの周りに位置する、ブロックEの動きベクトルMVeと、ブロックFの動きベクトルMVfと、ブロックGの動きベクトルMVgとの中央値が求められ、その中央値を示す動きベクトルMVcmを用いて周辺ブロックCが符号化されている。ここで、動きベクトルの中央値は、例えば水平成分と、垂直成分のそれぞれに対して中央値を求めることにより得られる。
動きベクトル符号化部117は、図4に示す符号化対象ブロックAの動きベクトルを符号化するときには、符号化対象ブロックAの周辺にある3つの周辺ブロックB,C,Dを特定し(ブロックB,C,Dの位置関係は、図20、図21を参照)、周辺ブロックB,C,Dのそれぞれが、他のブロックの動きベクトルを用いて符号化されたブロックか否かを判別する。その結果、動きベクトル符号化部117は、周辺ブロックCのみがスキップモードで符号化、つまり他のブロックを用いて符号化されたと判別すると、上述のように周辺ブロックCを符号化するために他のブロックであるブロックE,F,Gの動きベクトルから求められた中央値(動きベクトルMVcm)を周辺ブロックCの動きベクトルとして扱い、その動きベクトルMVcmと周辺ブロックB,Dのそれぞれの動きベクトルとの中央値を求め、この中央値を符号化対象ブロックAの動きベクトルの予測値とする。そして、動きベクトル符号化部117は、その予測値と符号化対象ブロックAの動きベクトルとの差分値を符号化する。
また、動きベクトル記憶部116は、符号化されたブロックの符号化モードを記憶しており、この動きベクトル記憶部116が記憶する符号化モードに基づき、動きベクトル符号化部117は、周辺ブロックB,C,Dのそれぞれが他のブロックの動きベクトルを用いて符号化されたブロックか否かを判別する。さらに、動きベクトル記憶部116は、他のブロックの動きベクトルを用いずに、参照ピクチャから検出された自らの動きベクトルを用いて符号化されたブロックに対しては、そのブロックの動きベクトルを記憶している。即ち、動きベクトル記憶部116は、ブロックE,F,Gのそれぞれの動きベクトルMVe,MVf,MVgを記憶しており、動きベクトル符号化部117は、符号化対象ブロックAの動きベクトルを符号化するときには、動きベクトル記憶部116が記憶するこれらの動きベクトルを用いて周辺ブロックCに対して上述の動きベクトルMVcmを求める。なお、動きベクトル記憶部116が、他のブロックの動きベクトルを用いて符号化されたブロックに対して、そのブロックを符号化するために中央値を取って求められた動きベクトルを予め記憶しておいても良い。この場合、動きベクトル記憶部116は、動きベクトルMVcmを予め記憶しているため、動きベクトル符号化部117は符号化対象ブロックAの動きベクトルを符号化するときに、周辺ブロックCに対して動きベクトルMVcmを求める必要がなく、動きベクトル記憶部116が予め記憶する動きベクトルMVcmをそのまま周辺ブロックCの動きベクトルとして用いることができる。
一方、ピクチャP13の符号化対象のマクロブロックと動き補償画像との差分を示す予測誤差画像が、予測誤差符号化部103及び符号列生成部104で符号化されて符号化データとして生成されており、上述のように符号化された動きベクトルの情報は、符号列生成部104でその符号化データに付加される。但し、スキップモードで符号化されたマクロブロックについては、マクロブロックと動き補償画像との差分が0であり、動きベクトルの情報も符号化データに付加されない。
以後、同様の処理により、ピクチャP13の残りのマクロブロックに対して、符号化処理が行われる。そして、ピクチャP13のすべてのマクロブロックについて処理が終わると、次にピクチャB11の符号化処理が行われる。
<ピクチャB11の符号化処理>
ピクチャB11はBピクチャであるので、動画像符号化装置100は、ピクチャB11に対して符号化処理するときには、他の2つのピクチャを参照ピクチャとして用いるピクチャ間予測符号化を行う。この場合の参照ピクチャは、図2に示すように、ピクチャB11の前方にあるピクチャP10と、ピクチャB11の後方にあるピクチャP13とである。これらのピクチャP10,P13に対しては、既に符号化が終了しており、そのピクチャP10,P13の復号化画像がフレームメモリ107に蓄積されている。
符号化制御部110は、Bピクチャの符号化においては、スイッチ113がオン、スイッチ114、115がオフになるように各スイッチを制御する。したがって、フレームメモリ101から読み出されたピクチャB11のマクロブロックは、動きベクトル検出部108、モード選択部109、及び差分演算部102に取得される。
動きベクトル検出部108は、フレームメモリ107に蓄積されたピクチャP10の復号化画像を前方参照ピクチャとして用い、ピクチャP13の復号化画像を後方参照ピクチャとして用いることにより、マクロブロック内の各ブロックに対して、前方動きベクトルと後方動きベクトルの検出を行い、検出された前方動きベクトル及び後方動きベクトルをモード選択部109に対して出力する。
モード選択部109は、動きベクトル検出部108で検出した前方動きベクトル及び後方動きベクトルを用いて、ピクチャB11のマクロブロックの符号化モードを決定する。即ち、ピクチャB11はBピクチャであるので、モード選択部109は、例えば、ピクチャ内符号化、前方動きベクトルを用いたピクチャ間予測符号化、後方動きベクトルを用いたピクチャ間予測符号化、双方向動きベクトルを用いたピクチャ間予測符号化、及びダイレクトモード(他のブロックの動きベクトルから求めた動きベクトルを用いて動き補償を行い、動きベクトルを符号化しないピクチャ間予測符号化)の中から符号化モードを決める。
そして本実施の形態における動きベクトル符号化部117は、上述のようにモード選択部109で動きベクトルを用いたピクチャ間予測符号化が選択されたときには、図20を参照して説明した方法によりピクチャB13の符号化対象ブロックの動きベクトルを符号化する。
具体的に、モード選択部109で双方向動きベクトルを用いたピクチャ間予測符号化が選択されたときには、動きベクトル符号化部117は、以下のようにして符号化対象ブロックの動きベクトルを符号化する。
図5は、双方向動きベクトルを用いたピクチャ間予測符号化を説明するための説明図である。
動きベクトル符号化部117は、符号化対象ブロックAの動きベクトルを符号化するときには、前方動きベクトルMVFと後方動きベクトルMVBとに対して符号化を行う。
つまり、動きベクトル符号化部117は、周辺ブロックB,C,Dのそれぞれの前方動きベクトルMVF1,MVF2,MVF3の中央値を、前方動きベクトルMVFの予測値とし、前方動きベクトルMVFとその予測値との差分値を符号化する。そして、動きベクトル符号化部117は、周辺ブロックB,C,Dのそれぞれの後方動きベクトルMVB1,MVB2,MVB3の中央値を、後方動きベクトルMVBの予測値とし、後方動きベクトルMVBとその予測値との差分値を符号化する。ここで動きベクトルの中央値は、例えば、水平成分、垂直成分の各成分ごとに中央値を取って求められる。
ここで本実施の形態における動きベクトル符号化部117は、Bピクチャの符号化対象ブロックの動きベクトルを符号化するときに、その周辺ブロックがダイレクトモードで符号化されている場合、その周辺ブロックの動きベクトルを0とはせずに、その周辺ブロックを符号化するために他のブロックから求められた動きベクトルを、その周辺ブロックの動きベクトルとする。また、ダイレクトモードには、時間的なダイレクトモードと空間的なダイレクトモードの2種類がある。
まず、周辺ブロックが時間的なダイレクトモードで符号化されている場合における符号化対象ブロックの動きベクトルの符号化方法について説明する。
図6は、周辺ブロックCが時間的なダイレクトモードで符号化される様子を説明するための説明図である。
この図6に示すように、ピクチャB11の周辺ブロックCがダイレクトモードで符号化されるときには、直前に符号化された後方参照ピクチャであるピクチャP13中の、周辺ブロックCと同じ位置にあるブロックXの動きベクトルMVpを利用する。動きベクトルMVpは、ブロックXが符号化された際に用いられた動きベクトルであり、動きベクトル記憶部116に記憶されている。この動きベクトルMVpは、ピクチャP10を参照している。周辺ブロックCの符号化に対しては、動きベクトルMVpと平行な動きベクトルを用いて、参照ピクチャであるピクチャP10とピクチャP13とから双方向予測が行われる。この場合の周辺ブロックCを符号化する際に用いられる動きベクトルは、ピクチャP10に対しては動きベクトルMVFc、ピクチャP13に対しては動きベクトルMVBcとなる。
ここで、前方向動きベクトルである動きベクトルMVFcの大きさをmvf、後方向動きベクトルである動きベクトルMVBcの大きさをmvb、動きベクトルMVpの大きさをmvp、符号化対象のピクチャ(ピクチャB11)の後方参照ピクチャ(ピクチャP13)と、その後方参照ピクチャのブロックが参照しているピクチャ(ピクチャP10)との時間的距離をTRD、符号化対象のピクチャ(ピクチャB11)と後方参照ピクチャのブロックが参照しているピクチャ(ピクチャP10)との時間的距離をTRBとすると、mvf、mvbは、それぞれ以下に示す(式1)及び(式2)で求められる。
mvf=mvp×TRB/TRD----(式1)
mvb=(TRB−TRD)×mvp/TRD----(式2)
ここで、mvf、mvbは、動きベクトルの水平成分、垂直成分のそれぞれを表現しているものとする。また、動きベクトルMVpの方向を正の値で示し、動きベクトルMVpと逆の方向を負の値で示すものとする。
周辺ブロックCはこのように求められた動きベクトルMVFc,MVBcを用いて符号化されている。
動きベクトル符号化部117は、図5に示す符号化対象ブロックAの動きベクトルMVF,MVBを符号化するときには、符号化対象ブロックAの周辺にある3つの周辺ブロックB,C,Dを特定し、周辺ブロックB,C,Dのそれぞれが、他のブロックの動きベクトルを用いて符号化されたブロックか否かを判別する。その結果、動きベクトル符号化部117は、周辺ブロックCのみが時間的なダイレクトモードで符号化、つまり他のブロックの動きベクトルを用いて符号化されていると判別すると、図6に示すように周辺ブロックCを符号化するために他のブロックであるブロックXの動きベクトルMVpから求められた動きベクトルMVFc,MVBcを周辺ブロックCの動きベクトルとして扱い、これらの動きベクトルMVFc,MVBcと周辺ブロックB,Dのそれぞれの動きベクトルとの中央値を求めることで、符号化対象ブロックAの動きベクトルの予測値を導出する。なお、このような予測値の導出は、前方向と後方向とに分けて行われる。そして、動きベクトル符号化部117は、その予測値と符号化対象ブロックAの動きベクトルMVF,MVBとの差分値を符号化する。
また、動きベクトル記憶部116は、符号化されたブロックの符号化モードを記憶しており、この動きベクトル記憶部116が記憶する符号化モードに基づき、動きベクトル符号化部117は、周辺ブロックB,C,Dのそれぞれが他のブロックの動きベクトルを用いて符号化されたブロックか否かを判別する。さらに、動きベクトル記憶部116は、他のブロックの動きベクトルを用いずに、参照ピクチャから検出された自らの動きベクトルを用いて符号化されたブロックに対しては、そのブロックの動きベクトルを記憶している。即ち、動きベクトル符号化部117は、符号化対象ブロックAの動きベクトルを符号化するときには、周辺ブロックB,Dに対しては、動きベクトル記憶部116が記憶する動きベクトルをそのまま用いるが、周辺ブロックCに対しては、動きベクトル記憶部116に記憶されているブロックXの動きベクトルMVpを読み出して動きベクトルMVFc,MVBcを求める。なお、動きベクトル記憶部116が、他のブロックの動きベクトルを用いて符号化されたブロックに対して、そのブロックを符号化するために他のブロックの動きベクトルから求められた動きベクトルを予め記憶しておいても良い。この場合、動きベクトル記憶部116は、動きベクトルMVFc,MVBcを予め記憶しているため、動きベクトル符号化部117は符号化対象ブロックAの動きベクトルを符号化するときに、周辺ブロックCに対して、ブロックXの動きベクトルMVpを読み出して(式1)および(式2)を用いて動きベクトルMVFc,MVBcを求める必要がなく、動きベクトル記憶部116が記憶する動きベクトルMVFc,MVBcをそのまま周辺ブロックCの動きベクトルとして用いることができる。
次に、周辺ブロックが空間的なダイレクトモードで符号化されている場合における符号化対象ブロックの動きベクトルの符号化方法について説明する。
図7は、周辺ブロックが空間的なダイレクトモードで符号化される様子を説明するための説明図である。
この図7に示すように、ピクチャB11の周辺ブロックCが空間的なダイレクトモードで符号化されるときには、周辺ブロックCの周辺にあるブロックEの動きベクトルMVFe,MVBeと、ブロックFの動きベクトルMVFf,MVBfと、ブロックGの動きベクトルMVFg,MVBgとからそれぞれ前後方向に分けて中央値を取って求められる動きベクトルMVFc,MVBcを用いて符号化される。
動きベクトル符号化部117は、図5に示す符号化対象ブロックAの動きベクトルMVF,MVBを符号化するときには、符号化対象ブロックAの周辺にある3つの周辺ブロックB,C,Dを特定し、周辺ブロックB,C,Dのそれぞれが、他のブロックの動きベクトルを用いて符号化されたブロックか否かを判別する。その結果、動きベクトル符号化部117は、周辺ブロックCのみが空間的なダイレクトモードで符号化、つまり他のブロックの動きベクトルを用いて符号化されていると判別すると、図7に示すように周辺ブロックCを符号化するために他のブロックであるブロックE,F,Cの動きベクトルから求められた動きベクトルMVFc,MVBcを周辺ブロックCの動きベクトルとして扱い、これらの動きベクトルと周辺ブロックB,Dのそれぞれの動きベクトルとの中央値を求めることで、符号化対象ブロックAの動きベクトルの予測値を導出する。そして、動きベクトル符号化部117は、その予測値と符号化対象ブロックAの動きベクトルMVF,MVBとの差分値を符号化する。
また、動きベクトル記憶部116は、他のブロックの動きベクトルを用いずに、参照ピクチャから検出された自らの動きベクトルを用いて符号化されたブロックに対しては、そのブロックの動きベクトルを記憶しているので、ブロックE,F,Gのそれぞれに対して前後方向の2つの動きベクトルを記憶しており、動きベクトル符号化部117は、符号化対象ブロックAの動きベクトルを符号化するときには、動きベクトル記憶部116が記憶するこれらの動きベクトルを用いて周辺ブロックCに対して動きベクトルMVFc,MVBcを求める。なお、動きベクトル記憶部116が、他のブロックの動きベクトルを用いて符号化されたブロックに対して、そのブロックを符号化するために中央値を取って求められた前後方向の2つの動きベクトルを予め記憶しておいても良い。この場合、動きベクトル記憶部116は、動きベクトルMVFc,MVBcを予め記憶しているため、動きベクトル符号化部117は、符号化対象ブロックAの動きベクトルを符号化するときに、周辺ブロックCに対して動きベクトルMVFc,MVBcを求める必要がなく、動きベクトル記憶部116が記憶する動きベクトルMVFc,MVBcをそのまま周辺ブロックCの動きベクトルとして用いることができる。
このように、前述の時間的なダイレクトモードで周辺ブロックCが符号化されているときには、符号化対象ピクチャの後方参照ピクチャ(上述の例では、ピクチャP13)の動きベクトルを動きベクトル記憶部116に記憶させておく必要があったが、空間的なダイレクトモードで周辺ブロックCが符号化されているときには、その記憶を省くことができる。
ここで、動画像符号化装置100は、符号化対象ブロックの動きベクトルを符号化するときに、その周辺にある周辺ブロックが上述のようなピクチャ間予測符号化ではなく、ピクチャ内符号化で処理されている場合には、例外的な処理を行う。
例えば、3つの周辺ブロック中にピクチャ内符号化で符号化されたブロックが1つ存在する場合には、動画像符号化装置100の動きベクトル符号化部117は、そのブロックの動きベクトルを0として処理を行う。また、ピクチャ内符号化で符号化された周辺ブロックが2つ存在する場合には、動きベクトル符号化部117は残りの1つの周辺ブロックの動きベクトルを、符号化対象ブロックの動きベクトルの予測値として用いる。さらに、3つの周辺ブロックの全てがピクチャ内符号化で符号化されている場合には、動きベクトル符号化部117は、符号化対象ブロックの動きベクトルの予測値を0としてその動きベクトルの符号化処理を行う。
一方、ピクチャB11の符号化対象のマクロブロックと動き補償画像との差分を示す予測誤差画像が、予測誤差符号化部103及び符号列生成部104で符号化されて符号化データとして生成されており、上述のように符号化された動きベクトルの情報は、符号列生成部104でその符号化データに付加される。ただし、ダイレクトモードで符号化されたマクロブロックについては、動きベクトルの情報は符号化データに付加されない。
以後、同様の処理により、ピクチャB11の残りのマクロブロックに対して、符号化処理が行われる。そして、ピクチャB11のすべてのマクロブロックについて処理が終わると、次にピクチャB12の符号化処理が行われる。
以上のように、本発明の動きベクトル符号化方法は、各ブロックの動きベクトルを符号化するときには、既に符号化済みの周辺ブロックの動きベクトルから予測値を導出し、その予測値と符号化対象ブロックの動きベクトルとを用いてその動きベクトルの符号化を行う。そして、周辺ブロックがスキップモードやダイレクトモードのように、他のブロックの動きベクトルから求められた動きベクトルを用いて符号化されているような場合には、その周辺ブロックの符号化の際に上記他のブロックの動きベクトルから求められた動きベクトルを、その周辺ブロックの動きベクトルとして用いて予測値を導出する。
これにより、符号化対象ブロックの動きベクトルを、周辺ブロックの動きベクトルから導出された予測値を用いて符号化するときに、その周辺ブロックが他のブロックの動きベクトルを用いて符号化されている場合、その周辺ブロックの動きベクトルを、従来例のように0とすることなく、上記他のブロックの動きベクトルから求められた動きベクトルとするため、上記予測値の予測能力を高めることができ、その結果、動きベクトルの符号化効率を向上することができる。
なお、本実施の形態においては、マクロブロックは水平16×垂直16画素の単位で、動き補償は水平8×垂直8画素のブロック単位で、ブロック予測誤差画像の符号化は水平8×垂直8画素の単位で処理する場合について説明したが、これらの単位は別の画素数でも良い。
また、本実施の形態においては、符号化済みの3つの周辺ブロックの動きベクトルから求められた中央値を動きベクトル符号化の際の予測値として用いる場合について説明したが、この周辺ブロック数は3つ以外の他の数であっても良く、予測値の決定方法は他の方法であっても良い。例えば、左隣のブロックの動きベクトルを予測値として用いる方法であっても良く、中央値ではなく平均値を用いる方法などであっても良い。
また、本実施の形態においては、図20、図21を用いて、動きベクトルの符号化における周辺ブロックの位置を説明したが、これは他の位置であっても良い。
また、本実施の形態においては、他のブロックの動きベクトルを利用して符号化対象のブロックを符号化する方法として、スキップモードや時間的及び空間的なダイレクトモードを例に挙げて説明したが、他の方法であっても良い。
また、本実施の形態においては、符号化対象ブロックの動きベクトルと、周辺ブロックの動きベクトルから得られた予測値との差分を取ることにより動きベクトルの符号化を行う場合について説明したが、これは差分以外の方法により動きベクトルの符号化を行っても良い。
また、本実施の形態においては、空間的なダイレクトモードで周辺ブロックが符号化されている場合、その周辺ブロックの周辺にある符号化済みの3つのブロックの動きベクトルの中央値を求め、その中央値を周辺ブロックの動きベクトルとして扱う場合について説明したが、そのブロック数は3つ以外の他の数であっても良く、動きベクトルの決定方法は他の方法であっても良い。例えば、左隣のブロックの動きベクトルを周辺ブロックの動きベクトルとして用いる方法であっても良く、中央値ではなく平均値を用いる方法などであっても良い。
また、本実施の形態においては、空間的なダイレクトモードでBピクチャのブロックを符号化するときには、そのブロックに対して前後方向の2つの動きベクトルを求めたが、前方向又は後方向の一方向の2つの動きベクトルを求めても良い。この場合、Bピクチャは、そのピクチャに対して前方又は後方の一方向にある2枚のピクチャを参照している。
また、本実施の形態においては、Pピクチャの符号化においては、予め定められた1つのピクチャを参照し(例えばピクチャP13の符号化においては、ピクチャP10を参照)、Bピクチャの符号化においては、予め定められた2つのピクチャを参照し(例えばピクチャB11の符号化においては、ピクチャP10とP13を参照)、符号化する場合について説明したが、これらは、複数のピクチャからマクロブロックやブロック毎に参照するピクチャを選択して符号化しても良い。このような場合に、動きベクトルの予測値を生成するには、図8に示すようにすればよい。
図8は、ブロック毎に参照ピクチャが選択される場合において、動きベクトル符号化部117が符号化対象ブロックの動きベクトルの予測値を導出してその動きベクトルを符号化する動作を示すフロー図である。
まず、動きベクトル符号化部117は、符号化対象ブロックの周辺にある既に符号化済みの3つの周辺ブロックを特定する(ステップS300)。
そして動きベクトル符号化部117は、その特定された周辺ブロックのそれぞれが、他のブロックの動きベクトルを用いて符号化された周辺ブロックBaか、他のブロックの動きベクトルを用いずに符号化された周辺ブロックBbかを判別する(ステップS302)。
ここで動きベクトル符号化部117は、周辺ブロックBaに対しては、その符号化で用いた動きベクトルと、その周辺ブロックBaがどの参照ピクチャを参照しているかを示す情報とを取得して、その符号化で用いた動きベクトルを周辺ブロックBaの動きベクトルとして扱い、周辺ブロックBbに対しては、その周辺ブロックBbの動きベクトルと、その周辺ブロックBbがどの参照ピクチャを参照しているかを示す情報とを取得する(ステップS304)。
次に動きベクトル符号化部117は、ステップS304で取得した情報に基づき、3つの周辺ブロックのうち符号化対象ブロックと同じピクチャを参照している周辺ブロックを特定し(ステップS306)、その特定された周辺ブロックの数を判別する(ステップS308)。
そして、動きベクトル符号化部117は、ステップS308で判別された周辺ブロックの数が1個であれば、同じピクチャを参照しているその1つの周辺ブロックの動きベクトルを、符号化対象ブロックの動きベクトルMVの予測値とする(ステップS310)。
また、ステップS308で判別された周辺ブロックの数が1個以外であれば、動きベクトル符号化部117は、3つの周辺ブロックのうち符号化対象ブロックと異なるピクチャを参照している周辺ブロックの動きベクトルを0として(ステップS312)、3つの周辺ブロックの動きベクトルの中央値を、符号化対象ブロックの動きベクトルMVの予測値とする(ステップS314)。
動きベクトル符号化部117は、このようにステップS310又はステップS314で導出された予測値を用い、その予測値と符号化対象ブロックの動きベクトルMVとの差分値を求め、その差分値を符号化する(ステップS316)。
また、本実施の形態のように、動きベクトルの符号化を空間的に隣接するブロックの動きベクトルを予測値として用いて行う場合、動きベクトルの符号化のために動きベクトル記憶部116に保持しておく動きベクトルの量は、動きベクトル記憶部116にスキップモードやダイレクトモードで実際に動き補償に利用した動きベクトルを保持しておく場合には、1マクロブロックライン(高さが1マクロブロックで横幅が画面の横幅に等しい領域)分のブロックの動きベクトルを保持しておけば良い。これは、動きベクトル記憶部116にスキップモードやダイレクトモードで実際に動き補償に利用した動きベクトルを保持しておく場合で、本実施の形態において図20や図21を用いて説明したような周辺ブロックを用いる場合、動きベクトルの符号化の際に周辺ブロックとして参照されるブロックは、現在のマクロブロックを起点として、過去1マクロブロックスライス分であるからである。
(実施の形態2)
以下、本発明の第2の実施の形態における動画像復号化装置700について図面を参照しながら説明する。
図9は、本発明の第2の実施の形態における動画像復号化装置700のブロック図である。
この図9に示す動画像復号化装置700は、実施の形態1の動画像符号化装置100により符号化された動画像を復号化するものであって、符号列解析部701、予測誤差復号化部702、モード復号部703、動き補償復号部705、動きベクトル記憶部706、フレームメモリ707、加算演算部708、スイッチ709,710及び動きベクトル復号化部711を備えている。
符号列解析部701は、入力された符号列から各種データを抽出する。ここでいう各種データとは、符号化モードの情報および動きベクトルに関する情報などである。抽出された符号化モードの情報は、モード復号部703に出力される。また、抽出された動きベクトルの情報は、動きベクトル復号化部711に出力される。さらに、抽出された予測誤差符号化データは、予測誤差復号化部702に対して出力される。
予測誤差復号化部702は、入力された予測誤差符号化データの復号化を行い、予測誤差画像を生成する。生成された予測誤差画像はスイッチ709に対して出力される。そして、スイッチ709が端子bに接続されているときには、予測誤差画像は加算演算部708に対して出力される。
モード復号部703は、符号列から抽出された符号化モードの情報を参照し、スイッチ709とスイッチ710との制御を行う。符号化モードがピクチャ内符号化である場合には、スイッチ709を端子aに接続するとともに、スイッチ710を端子cに接続するように制御し、符号化モードがピクチャ間符号化である場合には、スイッチ709を端子bに接続するとともに、スイッチ710を端子dに接続するように制御する。さらに、モード復号部703は、符号化モードの情報を動きベクトル復号化部711に対して出力する。
動きベクトル復号化部711は、符号列解析部701から出力された動きベクトルの情報に対して、復号化処理を行う。
即ち、動きベクトル復号化部711は、符号化モード情報が動きベクトルを用いたピクチャ間予測符号化を示す場合には、図20、図21を用いて説明したのと同様、復号化対象のブロックに対して、既に復号化された周辺ブロックの動きベクトルを用いて予測値を導出する。例えば図20に示すように、動きベクトル復号化部711は、復号化対象ブロックAに対して、周辺ブロックBの動きベクトルMVb、周辺ブロックCの動きベクトルMVc、及び周辺ブロックDの動きベクトルMVdから予測値を導出する。ここで予測値は、3つの復号化済みの動きベクトルMVb,MVc,MVdの水平成分、垂直成分毎に求めた中央値(メディアン)を取って求められる。そして、動きベクトル復号化部711は、符号列解析部701から出力された動きベクトルの情報である差分値に、その予測値を足し合わせて、復号化対象ブロックAの動きベクトルMVを決定する。
また、動きベクトル復号化部711は、符号化モード情報が例えば上述のスキップモードや時間的又は空間的なダイレクトモードの何れかである場合には、既に復号化された周辺ブロックの動きベクトルのみを用いて動きベクトルを決定する。
図10は、本実施の形態における動きベクトル復号化部711の一般的な動作を示すフロー図である。まず、動きベクトル符号化部711は、復号化対象ブロックの周辺にある既に復号化済みの3つの周辺ブロックを特定する(ステップS200)。
そして動きベクトル復号化部711は、その特定された周辺ブロックのそれぞれが、他の動きベクトルを用いて符号化されていた周辺ブロックBaか、他の動きベクトルを用いずに符号化されていた周辺ブロックBbかを判別する(ステップS202)。
その結果、動きベクトル復号化部711は、特定された3つの周辺ブロックの中に周辺ブロックBaが含まれているか否かを判別する(ステップS204)。
ステップS204で周辺ブロックBaが含まれていると判別されたときには(ステップS204のY)、動きベクトル復号化部711は、周辺ブロックBaを復号化するために他のブロックの動きベクトルから求められた動きベクトルをその周辺ブロックBbの動きベクトルとして扱い、上述のように3つの周辺ブロックの動きベクトルから予測値を導出する(ステップS206)。
一方、ステップS206で周辺ブロックBaが含まれていないと判別されたときには(ステップS204のN)、動きベクトル復号化部711は、3つの周辺ブロックBbのそれぞれの検出結果に基づく動きベクトルから予測値を導出する(ステップS208)。
そして動きベクトル復号化部711は、符号列解析部701から出力された動きベクトルの情報である差分値に、ステップS206,S208で導出された予測値を加算することで、復号化対象ブロックの符号化された動きベクトルを復号化する(ステップS210)。また、動きベクトル復号化部711は、このように復号化された動きベクトルを動き補償復号部705に対して出力する。
動きベクトル記憶部706は、動きベクトル復号化部711で復号化された動きベクトルとモード復号部703で得られた符号化モードを記憶しておく。
動き補償復号部705は、動きベクトル復号化部711で復号化された動きベクトルに基づいて、フレームメモリ707からマクロブロックごとに動き補償画像を取得する。そして動き補償復号部705は、その動き補償画像を加算演算部708に出力する。
加算演算部708は、入力された予測誤差画像と動き補償画像とを加算し、復号化画像を生成し、その生成された復号化画像をフレームメモリ707に対して出力する。
また、フレームメモリ707は、加算演算部708により生成された復号化画像をフレームごとに保持する。
このような動画像復号化装置700の動作について、まず一般的な概略動作から説明する。
図11は、動画像復号化装置700の入出力関係を説明するための説明図である。
動画像復号化装置700は、この図11の(a)に示すように、実施の形態1の動画像符号化装置100から出力された符号列をその出力順に取得して、その符号列中に含まれるピクチャを順に復号化する。そして動画像復号化装置700は、図11中の(b)に示すように、復号化されたピクチャを表示順に並び替えて出力する。
ここで、上述のような動画像復号化装置700の復号化処理について、具体的に図11に示すピクチャP13及びピクチャB11の復号化を例に挙げて説明する。
<ピクチャP13の復号化処理>
まず、動画像復号化装置700の符号列解析部701は、ピクチャP13の符号列を取得して、その符号列からモード選択情報及び動きベクトル情報並びに予測誤差符号化データを抽出する。
モード復号部703は、ピクチャP13の符号列から抽出されたモード選択情報を参照し、スイッチ709と710の制御を行う。
以下、モード選択情報がピクチャ間予測符号化を示す場合について説明する。
動きベクトル復号化部711は、モード復号部703からのピクチャ間予測符号化を示すモード選択情報に基づき、ピクチャP13の符号列から抽出された動きベクトルの情報に対して、ブロック毎に上述のような復号化処理を行う。
ここで、動きベクトル復号化部711は、ピクチャP13の復号化対象ブロックの動きベクトルを復号化するときに、その復号化対象ブロックの周辺にある既に復号化済みの3つの周辺ブロックを特定し、これらの周辺ブロックが他のブロックの動きベクトルを用いて符号化されていたか否かを判別した結果、何れかの周辺ブロックが他の動きベクトルを用いて符号化されていたブロック、つまりスキップモードで符号化されていたブロックの場合には、実施の形態1の動きベクトル符号化部117と同様、その周辺ブロックを復号化するために他のブロックの動きベクトルから求められた動きベクトルをその周辺ブロックの動きベクトルとして扱う。即ち、動きベクトル復号化部711は、その周辺ブロックの周辺にある既に復号化された3つのブロックの動きベクトルから中央値を求め、これをその周辺ブロックの動きベクトルとして扱う。
また、動きベクトル記憶部706は、モード復号部703からのモード選択情報を記憶しており、この動きベクトル記憶部706が記憶するモード選択情報に基づき、動きベクトル復号化部711は、周辺ブロックのそれぞれが他のブロックの動きベクトルを用いて符号化されていたブロックか否かを判別する。さらに、動きベクトル記憶部706は、周辺ブロックの復号化に用いられる他のブロックの動きベクトルを記憶している。即ち、動きベクトル記憶部706は、スキップモードで符号化されていた周辺ブロックの周辺にある3つのブロックのそれぞれの動きベクトルを記憶しており、動きベクトル復号化部711は、復号化対象ブロックの動きベクトルを復号化するときには、その周辺ブロックに対して、動きベクトル記憶部706が記憶する上記3つのブロックの動きベクトルから中央値を求める。なお、動きベクトル記憶部706が、他のブロックの動きベクトルを用いて符号化されていたブロックに対して、そのブロックを復号化するために中央値を取って求められた動きベクトルを予め記憶しておいても良い。この場合、動きベクトル復号化部711は、復号化対象ブロックの動きベクトルを復号化するときに、スキップモードで符号化されていた周辺ブロックに対して動きベクトルを求める必要がなく、動きベクトル記憶部706が記憶する動きベクトルをそのままその周辺ブロックの動きベクトルとして用いることができる。
一方、ピクチャP13の復号化対象のマクロブロックに対する予測誤差符号化データが予測誤差復号化部702で復号化されて予測誤差画像として生成されており、スイッチ709,710が加算演算部708に接続されているため、動きベクトル復号化部711で復号化された動きベクトルに基づいて生成された動き補償画像は、その予測誤差画像に加算されて、フレームメモリ707に対して出力される。
また、動きベクトル復号化部711は、Pピクチャに対して動きベクトルの復号化を行うときには、後のピクチャやブロックの復号化のため、その動きベクトルとモード復号部703から得られた符号化モードを動きベクトル記憶部706に記憶させている。
以後、同様の処理により、ピクチャP13の残りのマクロブロックが順に復号化される。そして、ピクチャP13のマクロブロックがすべて復号化されると、ピクチャB11の復号化が行われる。
<ピクチャB11の復号化処理>
まず、動画像復号化装置700の符号列解析部701は、ピクチャB11の符号列を取得して、その符号列からモード選択情報及び動きベクトル情報並びに予測誤差符号化データを抽出する。
モード復号部703は、ピクチャB11の符号列から抽出されたモード選択情報を参照し、スイッチ709と710の制御を行う。
以下、モード選択情報がピクチャ間予測符号化を示す場合について説明する。
動きベクトル復号化部711は、モード復号部703からのピクチャ間予測符号化を示すモード選択情報に基づき、ピクチャB11の符号列から抽出された動きベクトルの情報に対して、ブロック毎に上述のような復号化処理を行う。
ここで、動きベクトル復号化部711は、ピクチャB11の復号化対象ブロックの動きベクトルを復号化するときに、その復号化対象ブロックの周辺にある既に復号化済みの3つの周辺ブロックを特定し、これらの周辺ブロックが他のブロックの動きベクトルを用いて符号化されていたか否かを判別した結果、何れかの周辺ブロックが他のブロックの動きベクトルを用いて符号化されていたブロック、つまり時間的や空間的なダイレクトモードで符号化されていたブロックの場合には、実施の形態1の動きベクトル符号化部117と同様、その周辺ブロックを復号化するために他のブロックの動きベクトルを用いて求められた動きベクトルをその周辺ブロックの動きベクトルとして扱う。
具体的に、動きベクトル復号化部711は、周辺ブロックが時間的なダイレクトモードで符号化されていた場合、動きベクトル記憶部706から、直前に復号化された参照ピクチャ(ピクチャP13)中の、ダイレクトモードで符号化された周辺ブロックと同じ位置にあるブロックの動きベクトルを読み出す。例えば図6に示すように、周辺ブロックCが時間的なダイレクトモードで符号化されていたとすると、動きベクトル復号化部711は、動きベクトル記憶部706からピクチャP13のブロックXの復号化後の動きベクトルを読み出す。そして、(式1)および(式2)を用いて、周辺ブロックCを符号化するために用いる前方動きベクトルMVFcおよび後方動きベクトルMVBcを求め、この動きベクトルMVFc,MVBcを周辺ブロックCの動きベクトルとして用いる。
なお、上述の場合では、動きベクトル復号化部711は、ピクチャP13中の、ダイレクトモードで符号化されていた周辺ブロックCと同じ位置にあるブロックXの動きベクトルMVpを動きベクトル記憶部706から読み出したが、動きベクトル記憶部706が、他のブロックの動きベクトルを用いて符号化されていたブロックに対して、そのブロックを復号化するために他のブロックの動きベクトルから求められた動きベクトルを予め記憶しておいても良い。この場合、動きベクトル記憶部706は、動きベクトルMVFc,MVBcを予め記憶しているため、動きベクトル復号化部711は、符号化対象ブロックAの動きベクトルを符号化するときに、周辺ブロックCに対して、ブロックXの動きベクトルMVpを読み出して(式1)および(式2)を用いて動きベクトルMVFc,MVBcを求める必要がなく、動きベクトル記憶部706が記憶する動きベクトルMVFc,MVBcをそのまま周辺ブロックCの動きベクトルとして用いることができる。
一方、周辺ブロックが空間的なダイレクトモードで符号化されていた場合、動きベクトル復号化部711は、その周辺ブロックの周辺にある他のブロックの動きベクトルを用いて求められた動きベクトルを、その周辺ブロックの動きベクトルとして扱う。例えば、図7に示すような状況では、動きベクトル復号化部711は、空間的なダイレクトモードで符号化されていた周辺ブロックCに対して、その周辺にある既に復号化された3つのブロックE,F,Gの動きベクトルから中央値を求め、この中央値が示す前方動きベクトルMVFcと後方動きベクトルMVBcをその周辺ブロックCの動きベクトルとして扱う。
また、動きベクトル記憶部706は、他のブロックの動きベクトルを用いずに符号化されていたブロックに対しては、そのブロックの復号化に用いた動きベクトルを記憶しているため、図7に示すような状況では、空間的なダイレクトモードで符号化されていた周辺ブロックCの周辺にある3つのブロックE,F,Gのそれぞれの動きベクトルを記憶しており、動きベクトル復号化部711は、復号化対象のブロックAの動きベクトルを復号化するときには、その周辺ブロックCに対して、動きベクトル記憶部706が記憶する上記3つのブロックE,F,Gの動きベクトルから動きベクトルMVFc,MVBcを求める。
なお、動きベクトル記憶部706が、他のブロックの動きベクトルを用いて符号化されていたブロックに対して、そのブロックを復号化するために中央値を取って求められた動きベクトルを予め記憶しておいても良い。この場合には、図7に示すような状況において、動きベクトル記憶部706は、動きベクトルMVFc,MVBcを予め記憶しており、動きベクトル復号化部711は、復号化対象のブロックAの動きベクトルを復号化するときに、空間的なダイレクトモードで符号化されていた周辺ブロックCに対して動きベクトルを求める必要がなく、動きベクトル記憶部706が記憶する動きベクトルMVFc,MVBcをそのままその周辺ブロックCの動きベクトルとして用いることができる。
ここで、動画像復号化装置700は、復号化対象ブロックの動きベクトルを復号化するときに、その周辺にある既に復号化済みの周辺ブロックが上述のようなピクチャ間予測符号化ではなく、ピクチャ内符号化で処理されていた場合には、例外的な処理を行う。
例えば、3つの周辺ブロック中にピクチャ内符号化で符号化されていた周辺ブロックが1つ存在する場合には、動画像復号化装置700の動きベクトル復号化部711は、その周辺ブロックの動きベクトルを0として処理を行う。また、ピクチャ内符号化で符号化された周辺ブロックが2つ存在する場合には、動きベクトル復号化部711は残りの1つの周辺ブロックの動きベクトルを、復号化対象ブロックの動きベクトルの予測値として用いる。さらに、3つの周辺ブロックの全てがピクチャ内符号化で符号化されていた場合には、動きベクトル復号化部711は、復号化対象ブロックの動きベクトルの予測値を0としてその動きベクトルの復号化処理を行う。
一方、ピクチャB11の復号化対象のマクロブロックに対する予測誤差符号化データが予測誤差復号化部702で復号化されて予測誤差画像として生成されており、スイッチ709,710が加算演算部708に接続されているため、動きベクトル復号化部711で復号化された動きベクトルに基づいて生成された動き補償画像は、その予測誤差画像に加算されて、フレームメモリ707に対して出力される。
以後、同様の処理により、ピクチャB11の残りのマクロブロックが順に復号化される。そして、ピクチャB11のマクロブロックがすべて復号化されると、ピクチャB12の復号化が行われる。
以上のように、本発明の動きベクトル復号化方法は、各ブロックの動きベクトルを復号化するときには、既に復号化済みの周辺ブロックの動きベクトルから予測値を導出し、その予測値と差分値とを用いることにより、動きベクトルの復号化を行う。そして、周辺ブロックがスキップモードやダイレクトモードのように、他のブロックの動きベクトルを用いて符号化されていたような場合には、その周辺ブロックの復号化のために他のブロックの動きベクトルから求められた動きベクトルを、その周辺ブロックの動きベクトルとして用いて予測値を導出する。
これにより、実施の形態1のような方法で符号化が行われた動きベクトルを正しく復号化することができる。
なお、本実施の形態においては、復号化済みである3つの周辺ブロックの動きベクトルから求められた中央値を動きベクトル復号化の際の予測値として用いる場合について説明したが、この周辺ブロック数は3つ以外の他の数であっても良く、予測値の決定方法は他の方法であっても良い。例えば、左隣のブロックの動きベクトルを予測値として用いる方法であっても良く、中央値でなく平均値を用いる方法などであっても良い。
また、本実施の形態においては、図20、図21を用いて、動きベクトルの復号化における周辺ブロックの位置を説明したが、これは他の位置であっても良い。
また、本実施の形態においては、他のブロックの動きベクトルを利用してブロックを符号化する方法として、スキップモードや時間方法及び空間的なダイレクトモードを例に挙げて説明したが、これは他の方法であっても良い。
また、本実施の形態においては、周辺ブロックの動きベクトルから得られた予測値と、符号列により示される差分値との加算を行うことにより動きベクトルの復号化を行う場合について説明したが、これは加算以外の方法により動きベクトルの復号化を行っても良い。
また、本実施の形態においては、空間的なダイレクトモードで周辺ブロックが符号化されていた場合おいて、その周辺ブロックの周辺にある復号化済みの3つのブロックの動きベクトルの中央値を求め、その中央値を周辺ブロックの動きベクトルとして扱う場合について説明したが、そのブロック数は3つ以外の他の数であっても良く、動きベクトルの決定方法は他の方法であっても良い。例えば、左隣のブロックの動きベクトルを周辺ブロックの動きベクトルとして用いる方法であっても良く、中央値ではなく平均値を用いる方法などであっても良い。
また、本実施の形態においては、空間的なダイレクトモードで符号化されていた周辺ブロックがある場合、その周辺ブロックに対して前後方向の2つの動きベクトルを求めたが、前方向又は後方向の一方向の2つの動きベクトルを求めても良い。この場合、復号化対象のBピクチャは、そのピクチャに対して前方又は後方の一方向にある2枚のピクチャを参照している。
また、本実施の形態においては、Pピクチャの復号化においては、予め定められた1つのピクチャを参照し(例えばピクチャP13の復号化においては、ピクチャP10を参照)、Bピクチャの復号化においては、予め定められた2つのピクチャを参照し(例えばピクチャB11の復号化においては、ピクチャP10とP13を参照)、復号化する場合について説明したが、これらは、複数のピクチャからマクロブロックやブロック毎に参照するピクチャを選択して復号化しても良い。このような場合に、動きベクトルの予測値を生成するには、図12に示すようにすればよい。
図12は、ブロック毎に参照ピクチャが選択される場合において、動きベクトル復号化部711が復号化対象ブロックの動きベクトルの予測値を導出し、その予測値を用いて復号化する動作を示すフロー図である。
まず、動きベクトル復号化部711は、復号化対象ブロックの周辺にある既に復号化済みの3つの周辺ブロックを特定する(ステップS400)。
そして動きベクトル復号化部711は、その特定された周辺ブロックのそれぞれが、他のブロックの動きベクトルを用いて符号化されていた周辺ブロックBaか、他のブロックの動きベクトルを用いずに符号化されていた周辺ブロックBbかを判別する(ステップS402)。
ここで動きベクトル復号化部711は、周辺ブロックBaに対しては、その復号化で用いた動きベクトルと、その周辺ブロックBaがどの参照ピクチャを参照しているかを示す情報とを取得して、その復号化で用いた動きベクトルを周辺ブロックBaの動きベクトルとして扱い、周辺ブロックBbに対しては、その周辺ブロックBbの動きベクトルと、その周辺ブロックBbがどの参照ピクチャを参照しているかを示す情報とを取得する(ステップS404)。
次に動きベクトル復号化部711は、ステップS404で取得した情報に基づき、3つの周辺ブロックのうち復号化対象ブロックと同じピクチャを参照している周辺ブロックを特定し(ステップS406)、その特定された周辺ブロックの数を判別する(ステップS408)。
そして、動きベクトル復号化部711は、ステップS408で判別された周辺ブロックの数が1個であれば、同じピクチャを参照しているその1つの周辺ブロックの動きベクトルを、復号化対象ブロックの動きベクトルの予測値とする(ステップS410)。
また、ステップS408で判別された周辺ブロックの数が1個以外であれば、動きベクトル復号化部711は、3つの周辺ブロックのうち復号化対象ブロックと異なるピクチャを参照している周辺ブロックの動きベクトルを0として(ステップS412)、3つの周辺ブロックの動きベクトルの中央値を、復号化対象ブロックの動きベクトルの予測値とする(ステップS414)。
このようにステップS410又はステップS414で導出された予測値を用い、その予測値に差分値を加算してこれを復号化対象ブロックの動きベクトルに復号化する(ステップS416)。
また、本実施の形態のように、動きベクトルの復号化を空間的に隣接するブロックの動きベクトルを予測値として用いて行う場合、動きベクトルの復号化のために動きベクトル記憶部706に保持しておく動きベクトルの量は、動きベクトル記憶部706にスキップモードやダイレクトモードで実際に動き補償に利用した動きベクトルを保持しておく場合には、1マクロブロックライン(高さが1マクロブロックで横幅が画面の横幅に等しい領域)分のブロックの動きベクトルを保持しておけば良い。これは、動きベクトル記憶部706にスキップモードやダイレクトモードで実際に動き補償に利用した動きベクトルを保持しておく場合で、本実施の形態において図20や図21を用いて説明したような周辺ブロックを用いる場合、動きベクトルの復号化の際に周辺ブロックとして参照されるブロックは、現在のマクロブロックを起点として、過去1マクロブロックスライス分であるからである。
(実施の形態3)
さらに、上記各実施の形態で示した動きベクトル符号化方法または動きベクトル復号化方法を実現するためのプログラムを、フレキシブルディスク等の記憶媒体に記録するようにすることにより、上記各実施の形態で示した処理を、独立したコンピュータシステムにおいて簡単に実施することが可能となる。
図13は、実施の形態1及び実施の形態2の動画像符号化装置100及び動画像復号化装置200が実行する動きベクトル符号化方法および動きベクトル復号化方法をコンピュータシステムにより実現するためのプログラムを格納する記憶媒体についての説明図である。
図13中の(b)は、フレキシブルディスクFDの正面からみた外観、断面構造、及びディスク本体FD1を示し、図13中の(a)は、記録媒体の本体であるディスク本体FD1の物理フォーマットの例を示している。
ディスク本体FD1はケースF内に内蔵され、ディスク本体FD1の表面には、同心円状に外周からは内周に向かって複数のトラックTrが形成され、各トラックは角度方向に16のセクタSeに分割されている。従って、上記プログラムを格納したフレキシブルディスクFDでは、上記ディスク本体FD1上に割り当てられた領域に、上記プログラムとしての動きベクトル符号化方法や動きベクトル復号化方法が記録されている。
また、図13中の(c)は、フレキシブルディスクFDに上記プログラムの記録再生を行うための構成を示す。
上記プログラムをフレキシブルディスクFDに記録する場合は、コンピュータシステムCsが上記プログラムとしての動きベクトル符号化方法または動きベクトル復号化方法をフレキシブルディスクドライブFDDを介して書き込む。また、フレキシブルディスクFD内のプログラムにより上記動きベクトル符号化方法又は動きベクトル復号化方法をコンピュータシステムCs中に構築する場合は、フレキシブルディスクドライブFDDによりプログラムがフレキシブルディスクFDから読み出され、コンピュータシステムCsに転送される。
なお、上記説明では、記録媒体としてフレキシブルディスクFDを用いて説明を行ったが、光ディスクを用いても同様に行うことができる。また、記録媒体はこれに限らず、ICカード、ROMカセット等、プログラムを記録できるものであれば同様に実施することができる。
(実施の形態4)
さらにここで、上記実施の形態で示した動きベクトル符号化方法や動きベクトル復号化方法の応用例とそれを用いたシステムを説明する。
図14は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示すブロック図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex107〜ex110が設置されている。
このコンテンツ供給システムex100は、例えば、インターネットex101にインターネットサービスプロバイダex102および電話網ex104、および基地局ex107〜ex110を介して、コンピュータex111、PDA(personal digital assistant)ex112、カメラex113、携帯電話ex114、カメラ付きの携帯電話ex115などの各機器が接続される。
しかし、コンテンツ供給システムex100は図14のような組合せに限定されず、いずれかを組み合わせて接続するようにしてもよい。また、固定無線局である基地局ex107〜ex110を介さずに、各機器が電話網ex104に直接接続されてもよい。
カメラex113はデジタルビデオカメラ等の動画撮影が可能な機器である。また、携帯電話は、PDC(Personal Digital Communications)方式、CDMA(Code Division Multiple Access)方式、W−CDMA(Wideband-Code Division Multiple Access)方式、若しくはGSM(Global System for Mobile Communications)方式の携帯電話機、またはPHS(Personal Handyphone System)等であり、いずれでも構わない。
また、ストリーミングサーバex103は、カメラex113から基地局ex109、電話網ex104を通じて接続されており、カメラex113を用いてユーザが送信する符号化処理されたデータに基づいたライブ配信等が可能になる。撮影したデータの符号化処理はカメラex113で行っても、データの送信処理をするサーバ等で行ってもよい。また、カメラex116で撮影した動画データはコンピュータex111を介してストリーミングサーバex103に送信されてもよい。カメラex116はデジタルカメラ等の静止画、動画が撮影可能な機器である。
この場合、動画データの符号化はカメラex116で行ってもコンピュータex111で行ってもどちらでもよい。また、符号化処理はコンピュータex111やカメラex116が有するLSIex117において処理することになる。なお、画像符号化・復号化用のソフトウェアをコンピュータex111等で読み取り可能な記録媒体である何らかの蓄積メディア(CD−ROM、フレキシブルディスク、ハードディスクなど)に組み込んでもよい。さらに、カメラ付きの携帯電話ex115で動画データを送信してもよい。このときの動画データは携帯電話ex115が有するLSIで符号化処理されたデータである。
このコンテンツ供給システムex100では、ユーザがカメラex113、カメラex116等で撮影しているコンテンツ(例えば、音楽ライブを撮影した映像等)を上記実施の形態同様に符号化処理してストリーミングサーバex103に送信する一方で、ストリーミングサーバex103は要求のあったクライアントに対して上記コンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号化することが可能な、コンピュータex111、PDAex112、カメラex113、携帯電話ex114等がある。このようにすることでコンテンツ供給システムex100は、符号化されたデータをクライアントにおいて受信して再生することができ、さらにクライアントにおいてリアルタイムで受信して復号化し、再生することにより、個人放送をも実現可能になるシステムである。
このシステムを構成する各機器の符号化、復号化には上記各実施の形態で示した動画像符号化装置あるいは動画像復号化装置を用いるようにすればよい。
その一例として携帯電話について説明する。
図15は、上記実施の形態で説明した動きベクトル符号化方法と動きベクトル復号化方法を用いた携帯電話ex115を示す図である。携帯電話ex115は、基地局ex110との間で電波を送受信するためのアンテナex201、CCDカメラ等の映像、静止画を撮ることが可能なカメラ部ex203、カメラ部ex203で撮影した映像、アンテナex201で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ex202、操作キーex204群から構成される本体部、音声出力をするためのスピーカ等の音声出力部ex208、音声入力をするためのマイク等の音声入力部ex205、撮影した動画もしくは静止画のデータ、受信したメールのデータ、動画のデータもしくは静止画のデータ等、符号化されたデータまたは復号化されたデータを保存するための記録メディアex207、携帯電話ex115に記録メディアex207を装着可能とするためのスロット部ex206を有している。記録メディアex207はSDカード等のプラスチックケース内に電気的に書換えや消去が可能な不揮発性メモリであるEEPROM(Electrically Erasable and Programmable Read Only Memory)の一種であるフラッシュメモリ素子を格納したものである。
さらに、携帯電話ex115について図16を用いて説明する。携帯電話ex115は表示部ex202及び操作キーex204を備えた本体部の各部を統括的に制御するようになされた主制御部ex311に対して、電源回路部ex310、操作入力制御部ex304、画像符号化部ex312、カメラインターフェース部ex303、LCD(Liquid Crystal Display)制御部ex302、画像復号化部ex309、多重分離部ex308、記録再生部ex307、変復調回路部ex306及び音声処理部ex305が同期バスex313を介して互いに接続されている。
電源回路部ex310は、ユーザの操作により終話及び電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することによりカメラ付ディジタル携帯電話ex115を動作可能な状態に起動する。
携帯電話ex115は、CPU、ROM及びRAM等でなる主制御部ex311の制御に基づいて、音声通話モード時に音声入力部ex205で集音した音声信号を音声処理部ex305によってディジタル音声データに変換し、これを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex201を介して送信する。また携帯電話機ex115は、音声通話モード時にアンテナex201で受信した受信信号を増幅して周波数変換処理及びアナログディジタル変換処理を施し、変復調回路部ex306でスペクトラム逆拡散処理し、音声処理部ex305によってアナログ音声信号に変換した後、これを音声出力部ex208を介して出力する。
さらに、データ通信モード時に電子メールを送信する場合、本体部の操作キーex204の操作によって入力された電子メールのテキストデータは操作入力制御部ex304を介して主制御部ex311に送出される。主制御部ex311は、テキストデータを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex201を介して基地局ex110へ送信する。
データ通信モード時に画像データを送信する場合、カメラ部ex203で撮像された画像データをカメラインターフェース部ex303を介して画像符号化部ex312に供給する。また、画像データを送信しない場合には、カメラ部ex203で撮像した画像データをカメラインターフェース部ex303及びLCD制御部ex302を介して表示部ex202に直接表示することも可能である。
画像符号化部ex312は、本願発明で説明した画像符号化装置を備えた構成であり、カメラ部ex203から供給された画像データを上記実施の形態で示した画像符号化装置に用いた符号化方法によって圧縮符号化することにより符号化画像データに変換し、これを多重分離部ex308に送出する。また、このとき同時に携帯電話機ex115は、カメラ部ex203で撮像中に音声入力部ex205で集音した音声を音声処理部ex305を介してディジタルの音声データとして多重分離部ex308に送出する。
多重分離部ex308は、画像符号化部ex312から供給された符号化画像データと音声処理部ex305から供給された音声データとを所定の方式で多重化し、その結果得られる多重化データを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex201を介して送信する。
データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、アンテナex201を介して基地局ex110から受信した受信信号を変復調回路部ex306でスペクトラム逆拡散処理し、その結果得られる多重化データを多重分離部ex308に送出する。
また、アンテナex201を介して受信された多重化データを復号化するには、多重分離部ex308は、多重化データを分離することにより画像データの符号化ビットストリームと音声データの符号化ビットストリームとに分け、同期バスex313を介して当該符号化画像データを画像復号化部ex309に供給すると共に当該音声データを音声処理部ex305に供給する。
次に、画像復号化部ex309は、本願発明で説明した画像復号化装置を備えた構成であり、画像データの符号化ビットストリームを上記実施の形態で示した符号化方法に対応した復号化方法で復号することにより再生動画像データを生成し、これをLCD制御部ex302を介して表示部ex202に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まれる動画データが表示される。このとき同時に音声処理部ex305は、音声データをアナログ音声信号に変換した後、これを音声出力部ex208に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まる音声データが再生される。
なお、上記システムの例に限られず、最近は衛星、地上波によるディジタル放送が話題となっており、図17に示すようにディジタル放送用システムにも上記実施の形態の少なくとも画像符号化装置または画像復号化装置のいずれかを組み込むことができる。具体的には、放送局ex409では映像情報の符号化ビットストリームが電波を介して通信または放送衛星ex410に伝送される。これを受けた放送衛星ex410は、放送用の電波を発信し、この電波を衛星放送受信設備をもつ家庭のアンテナex406で受信し、テレビ(受信機)ex401またはセットトップボックス(STB)ex407などの装置により符号化ビットストリームを復号化してこれを再生する。
また、記録媒体であるCDやDVD等の蓄積メディアex402に記録した符号化ビットストリームを読み取り、復号化する再生装置ex403にも上記実施の形態で示した画像復号化装置を実装することが可能である。この場合、再生された映像信号はモニタex404に表示される。また、ケーブルテレビ用のケーブルex405または衛星/地上波放送のアンテナex406に接続されたセットトップボックスex407内に画像復号化装置を実装し、これをテレビのモニタex408で再生する構成も考えられる。このときセットトップボックスではなく、テレビ内に画像復号化装置を組み込んでも良い。また、アンテナex411を有する車ex412で衛星ex410からまたは基地局ex107等から信号を受信し、車ex412が有するカーナビゲーションex413等の表示装置に動画を再生することも可能である。
更に、画像信号を上記実施の形態で示した画像符号化装置で符号化し、記録媒体に記録することもできる。具体例としては、DVDディスクex421に画像信号を記録するDVDレコーダや、ハードディスクに記録するディスクレコーダなどのレコーダex420がある。更にSDカードex422に記録することもできる。レコーダex420が上記実施の形態で示した画像復号化装置を備えていれば、DVDディスクex421やSDカードex422に記録した画像信号を再生し、モニタex408で表示することができる。
なお、カーナビゲーションex413の構成は例えば図16に示す構成のうち、カメラ部ex203とカメラインターフェース部ex303、画像符号化部ex312を除いた構成が考えられ、同様なことがコンピュータex111やテレビ(受信機)ex401等でも考えられる。
また、上記携帯電話ex114等の端末は、符号化器・復号化器を両方持つ送受信型の端末の他に、符号化器のみの送信端末、復号化器のみの受信端末の3通りの実装形式が考えられる。
このように、上記実施の形態で示した動きベクトル符号化方法あるいは動きベクトル復号化方法を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記実施の形態で説明した効果を得ることができる。
本発明の画像復号化方法、画像復号化装置、プログラムおよび記録媒体は、動きベクトルの予測値の予測能力を高めることで符号化効率を向上することができる動きベクトル符号化方法に対応し、例えば携帯電話などに適用することができる。
101、107 フレームメモリ
102 差分演算部
103 予測誤差符号化部
104 符号列生成部
105 予測誤差復号化部
106 加算演算部
108 動きベクトル検出部
109 モード選択部
116 動きベクトル記憶部
117 動きベクトル符号化部
Cs コンピュータシステム
FD フレキシブルディスク
FDD フレキシブルディスクドライブ

Claims (4)

  1. 動画像のピクチャを構成するブロックを復号化する画像復号化方法であって、
    復号化の対象となる前記ブロックの符号化動きベクトルを復号化して、差分動きベクトルを復号化する差分動きベクトル復号化ステップと、
    復号化の対象となる前記ブロックの差分画像を復号化する差分画像復号化ステップと、
    復号化の対象となる前記ブロックの周辺にあって既に復号化済みの3つの周辺ブロックを特定する周辺ブロック特定ステップと、
    前記3つの周辺ブロックの復号化で用いたそれぞれの参照ピクチャと、復号化の対象となる前記ブロックの復号化で用いる参照ピクチャが同じであるか否かを判断する参照ピクチャ判断ステップと、
    前記3つの周辺ブロックの動きベクトルを用いて、復号化の対象となる前記ブロックの予測動きベクトルを導出する予測動きベクトル導出ステップと、
    前記差分動きベクトルと前記予測動きベクトルを用いて、復号化の対象となる前記ブロックの動きベクトルを決定する動きベクトル決定ステップと、
    決定された前記ブロックの動きベクトルと、前記ブロックの参照ピクチャとから動き補償画像を求める動き補償ステップと、
    前記動き補償画像と、復号化された前記ブロックの差分画像とから、前記ブロックの画素値を復元するブロック画像復元ステップと、を包含し、
    ここで、前記周辺ブロックが他のブロックの動きベクトルを用いて予測復号化されている場合には、前記他のブロックの動きベクトルを用いて求められた動きベクトルであって、前記周辺ブロックを動き補償する際に実質的に使用される動きベクトルを、前記予測動きベクトル導出ステップにおいて、前記周辺ブロックの動きベクトルとして用い、
    更に、前記参照ピクチャ判断ステップで、前記3つの周辺ブロックのすべてが同じ参照ピクチャである場合は、前記3つの周辺ブロックの3つの動きベクトルの中央値を、復号化の対象となる前記ブロックの予測動きベクトルとする、
    ことを特徴とする画像復号化方法。
  2. 動画像のピクチャを構成するブロックを復号化する画像復号化装置であって、
    復号化の対象となる前記ブロックの符号化動きベクトルを復号化して、差分動きベクトルを復号化する差分動きベクトル復号化手段と、
    復号化の対象となる前記ブロックの差分画像を復号化する差分画像復号化手段と、
    復号化の対象となる前記ブロックの周辺にあって既に復号化済みの3つの周辺ブロックを特定する周辺ブロック特定手段と、
    前記3つの周辺ブロックの復号化で用いたそれぞれの参照ピクチャと、復号化の対象となる前記ブロックの復号化で用いる参照ピクチャが同じであるか否かを判断する参照ピクチャ判断手段と、
    前記3つの周辺ブロックの動きベクトルを用いて、復号化の対象となる前記ブロックの予測動きベクトルを導出する予測動きベクトル導出手段と、
    前記差分動きベクトルと前記予測動きベクトルを用いて、復号化の対象となる前記ブロックの動きベクトルを決定する動きベクトル決定手段と、
    決定された前記ブロックの動きベクトルと、前記ブロックの参照ピクチャとから動き補償画像を求める動き補償手段と、
    前記動き補償画像と、復号化された前記ブロックの差分画像とから、前記ブロックの画素値を復元するブロック画像復元手段と、を包含し、
    ここで、前記周辺ブロックが他のブロックの動きベクトルを用いて予測復号化されている場合には、前記他のブロックの動きベクトルを用いて求められた動きベクトルであって、前記周辺ブロックを動き補償する際に実質的に使用される動きベクトルを、前記予測動きベクトル導出手段において、前記周辺ブロックの動きベクトルとして用い、
    更に、前記参照ピクチャ判断手段で、前記3つの周辺ブロックのすべてが同じ参照ピクチャである場合は、前記3つの周辺ブロックの3つの動きベクトルの中央値を、復号化の対象となる前記ブロックの予測動きベクトルとする、
    ことを特徴とする画像復号化装置。
  3. 動画像のピクチャを構成するブロックを復号化するためのプログラムであって、
    復号化の対象となる前記ブロックの符号化動きベクトルを復号化して、差分動きベクトルを復号化する差分動きベクトル復号化ステップと、
    復号化の対象となる前記ブロックの差分画像を復号化する差分画像復号化ステップと、
    復号化の対象となる前記ブロックの周辺にあって既に復号化済みの3つの周辺ブロックを特定する周辺ブロック特定ステップと、
    前記3つの周辺ブロックの復号化で用いたそれぞれの参照ピクチャと、復号化の対象となる前記ブロックの復号化で用いる参照ピクチャが同じであるか否かを判断する参照ピクチャ判断ステップと、
    前記3つの周辺ブロックの動きベクトルを用いて、復号化の対象となる前記ブロックの予測動きベクトルを導出する予測動きベクトル導出ステップと、
    前記差分動きベクトルと前記予測動きベクトルを用いて、復号化の対象となる前記ブロックの動きベクトルを決定する動きベクトル決定ステップと、
    決定された前記ブロックの動きベクトルと、前記ブロックの参照ピクチャとから動き補償画像を求める動き補償ステップと、
    前記動き補償画像と、復号化された前記ブロックの差分画像とから、前記ブロックの画素値を復元するブロック画像復元ステップと、をコンピュータに実行させ、
    ここで、前記周辺ブロックが他のブロックの動きベクトルを用いて予測復号化されている場合には、前記他のブロックの動きベクトルを用いて求められた動きベクトルであって、前記周辺ブロックを動き補償する際に実質的に使用される動きベクトルを、前記予測動きベクトル導出ステップにおいて、前記周辺ブロックの動きベクトルとして用い、
    更に、前記参照ピクチャ判断ステップで、前記3つの周辺ブロックのすべてが同じ参照ピクチャである場合は、前記3つの周辺ブロックの3つの動きベクトルの中央値を、復号化の対象となる前記ブロックの予測動きベクトルとする、
    ことを特徴とするプログラム。
  4. 動画像のピクチャを構成するブロックを復号化するためのプログラムを格納する記録媒体であって、
    前記プログラムは、
    復号化の対象となる前記ブロックの符号化動きベクトルを復号化して、差分動きベクトルを復号化する差分動きベクトル復号化ステップと、
    復号化の対象となる前記ブロックの差分画像を復号化する差分画像復号化ステップと、
    復号化の対象となる前記ブロックの周辺にあって既に復号化済みの3つの周辺ブロックを特定する周辺ブロック特定ステップと、
    前記3つの周辺ブロックの復号化で用いたそれぞれの参照ピクチャと、復号化の対象となる前記ブロックの復号化で用いる参照ピクチャが同じであるか否かを判断する参照ピクチャ判断ステップと、
    前記3つの周辺ブロックの動きベクトルを用いて、復号化の対象となる前記ブロックの予測動きベクトルを導出する予測動きベクトル導出ステップと、
    前記差分動きベクトルと前記予測動きベクトルを用いて、復号化の対象となる前記ブロックの動きベクトルを決定する動きベクトル決定ステップと、
    決定された前記ブロックの動きベクトルと、前記ブロックの参照ピクチャとから動き補償画像を求める動き補償ステップと、
    前記動き補償画像と、復号化された前記ブロックの差分画像とから、前記ブロックの画素値を復元するブロック画像復元ステップと、をコンピュータに実行させ、
    ここで、前記周辺ブロックが他のブロックの動きベクトルを用いて予測復号化されている場合には、前記他のブロックの動きベクトルを用いて求められた動きベクトルであって、前記周辺ブロックを動き補償する際に実質的に使用される動きベクトルを、前記予測動きベクトル導出ステップにおいて、前記周辺ブロックの動きベクトルとして用い、
    更に、前記参照ピクチャ判断ステップで、前記3つの周辺ブロックのすべてが同じ参照ピクチャである場合は、前記3つの周辺ブロックの3つの動きベクトルの中央値を、復号化の対象となる前記ブロックの予測動きベクトルとする、
    ことを特徴とする記録媒体。
JP2011066627A 2002-01-09 2011-03-24 画像復号化方法、画像復号化装置、プログラムおよび記録媒体 Expired - Lifetime JP5090552B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011066627A JP5090552B2 (ja) 2002-01-09 2011-03-24 画像復号化方法、画像復号化装置、プログラムおよび記録媒体

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2002001983 2002-01-09
JP2002001983 2002-01-09
JP2002204714 2002-07-12
JP2002204714 2002-07-12
JP2011066627A JP5090552B2 (ja) 2002-01-09 2011-03-24 画像復号化方法、画像復号化装置、プログラムおよび記録媒体

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2010042127A Division JP5085671B2 (ja) 2002-01-09 2010-02-26 復号化システムおよび復号化装置

Publications (2)

Publication Number Publication Date
JP2011147172A true JP2011147172A (ja) 2011-07-28
JP5090552B2 JP5090552B2 (ja) 2012-12-05

Family

ID=39753316

Family Applications (13)

Application Number Title Priority Date Filing Date
JP2005341044A Expired - Lifetime JP4150742B2 (ja) 2002-01-09 2005-11-25 動きベクトル復号化方法
JP2008124014A Expired - Lifetime JP4672752B2 (ja) 2002-01-09 2008-05-09 動きベクトル符号化方法
JP2008124012A Expired - Lifetime JP4714236B2 (ja) 2002-01-09 2008-05-09 受信装置、送信装置、受信プログラムおよび送信プログラム
JP2008124013A Expired - Lifetime JP4672751B2 (ja) 2002-01-09 2008-05-09 動きベクトル復号化方法
JP2010042127A Expired - Lifetime JP5085671B2 (ja) 2002-01-09 2010-02-26 復号化システムおよび復号化装置
JP2010173026A Expired - Lifetime JP4594448B1 (ja) 2002-01-09 2010-07-30 動きベクトル符号化方法
JP2010175814A Expired - Lifetime JP4594449B2 (ja) 2002-01-09 2010-08-04 動きベクトル復号化方法
JP2010177935A Expired - Lifetime JP4598160B1 (ja) 2002-01-09 2010-08-06 動きベクトル符号化方法
JP2010177934A Expired - Lifetime JP4585047B1 (ja) 2002-01-09 2010-08-06 動きベクトル復号化方法
JP2011066627A Expired - Lifetime JP5090552B2 (ja) 2002-01-09 2011-03-24 画像復号化方法、画像復号化装置、プログラムおよび記録媒体
JP2011066625A Expired - Lifetime JP5085757B2 (ja) 2002-01-09 2011-03-24 画像復号化方法、画像復号化装置、プログラムおよび記録媒体
JP2011066626A Expired - Lifetime JP5090551B2 (ja) 2002-01-09 2011-03-24 画像符号化方法、画像符号化装置、プログラムおよび記録媒体
JP2011066624A Expired - Lifetime JP5085756B2 (ja) 2002-01-09 2011-03-24 画像符号化方法、画像符号化装置、プログラムおよび記録媒体

Family Applications Before (9)

Application Number Title Priority Date Filing Date
JP2005341044A Expired - Lifetime JP4150742B2 (ja) 2002-01-09 2005-11-25 動きベクトル復号化方法
JP2008124014A Expired - Lifetime JP4672752B2 (ja) 2002-01-09 2008-05-09 動きベクトル符号化方法
JP2008124012A Expired - Lifetime JP4714236B2 (ja) 2002-01-09 2008-05-09 受信装置、送信装置、受信プログラムおよび送信プログラム
JP2008124013A Expired - Lifetime JP4672751B2 (ja) 2002-01-09 2008-05-09 動きベクトル復号化方法
JP2010042127A Expired - Lifetime JP5085671B2 (ja) 2002-01-09 2010-02-26 復号化システムおよび復号化装置
JP2010173026A Expired - Lifetime JP4594448B1 (ja) 2002-01-09 2010-07-30 動きベクトル符号化方法
JP2010175814A Expired - Lifetime JP4594449B2 (ja) 2002-01-09 2010-08-04 動きベクトル復号化方法
JP2010177935A Expired - Lifetime JP4598160B1 (ja) 2002-01-09 2010-08-06 動きベクトル符号化方法
JP2010177934A Expired - Lifetime JP4585047B1 (ja) 2002-01-09 2010-08-06 動きベクトル復号化方法

Family Applications After (3)

Application Number Title Priority Date Filing Date
JP2011066625A Expired - Lifetime JP5085757B2 (ja) 2002-01-09 2011-03-24 画像復号化方法、画像復号化装置、プログラムおよび記録媒体
JP2011066626A Expired - Lifetime JP5090551B2 (ja) 2002-01-09 2011-03-24 画像符号化方法、画像符号化装置、プログラムおよび記録媒体
JP2011066624A Expired - Lifetime JP5085756B2 (ja) 2002-01-09 2011-03-24 画像符号化方法、画像符号化装置、プログラムおよび記録媒体

Country Status (1)

Country Link
JP (13) JP4150742B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160054021A (ko) 2011-09-28 2016-05-13 가부시키가이샤 제이브이씨 켄우드 동영상 디코딩 장치, 동영상 디코딩 방법 및 동영상 디코딩 프로그램을 저장한 기록매체
US10015514B2 (en) 2011-12-28 2018-07-03 JVC Kenwood Corporation Moving picture coding device, moving picture coding method, and moving picture coding program, and moving picture decoding device, moving picture decoding method, and moving picture decoding program

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4592656B2 (ja) * 2006-08-17 2010-12-01 富士通セミコンダクター株式会社 動き予測処理装置、画像符号化装置および画像復号化装置
KR101383540B1 (ko) 2007-01-03 2014-04-09 삼성전자주식회사 복수의 움직임 벡터 프리딕터들을 사용하여 움직임 벡터를추정하는 방법, 장치, 인코더, 디코더 및 복호화 방법
CN101742278B (zh) * 2008-11-12 2012-11-07 富士通半导体股份有限公司 获取图像的运动矢量和边界强度的方法和系统
FI3985979T3 (fi) * 2010-12-13 2024-04-23 Electronics & Telecommunications Res Inst Menetelmä vertailuyksikön määrittämiseksi
JP5711514B2 (ja) * 2010-12-14 2015-04-30 日本電信電話株式会社 符号化装置、復号装置、符号化方法、復号方法、符号化プログラム及び復号プログラム
WO2012147344A1 (ja) 2011-04-27 2012-11-01 株式会社Jvcケンウッド 動画像復号装置、動画像復号方法、及び動画像復号プログラム
JP5853842B2 (ja) * 2011-04-27 2016-02-09 株式会社Jvcケンウッド 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム、並びに、送信装置、送信方法、及び送信プログラム
TWI526056B (zh) 2011-04-27 2016-03-11 Jvc Kenwood Corp A moving picture coding apparatus, a motion picture coding method, a motion picture coding program, a transmission apparatus, a transmission method, a transmission program, a video decoding apparatus, a video decoding method, a video decoding program, a reception device, a reception method, Receiving program
JP5853841B2 (ja) * 2011-04-27 2016-02-09 株式会社Jvcケンウッド 動画像復号装置、動画像復号方法、及び動画像復号プログラム、並びに、受信装置、受信方法、及び受信プログラム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1994022269A1 (en) * 1993-03-24 1994-09-29 Sony Corporation Method and apparatus for coding/decoding motion vector, and method and apparatus for coding/decoding image signal
JP2000099864A (ja) * 1998-09-21 2000-04-07 Yoshitaka Kurita 介護者支援装置
JP2001045498A (ja) * 1996-09-09 2001-02-16 Sony Corp 画像符号化装置および画像符号化方法、画像復号化装置および画像復号化方法、並びに記録媒体および記録方法
WO2001033864A1 (en) * 1999-10-29 2001-05-10 Koninklijke Philips Electronics N.V. Video encoding-method
WO2001050770A2 (en) * 1999-12-28 2001-07-12 Sony Electronics Inc. Methods and apparatus for motion estimation using neighboring macroblocks
JP2001224036A (ja) * 1995-10-18 2001-08-17 Sharp Corp 動画像符号化装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11317961A (ja) * 1998-03-05 1999-11-16 Matsushita Electric Ind Co Ltd 画像符号化装置及び画像復号化装置,画像符号化方法及び画像復号化方法,並びにデ―タ記憶媒体
JP2000299864A (ja) * 1999-04-12 2000-10-24 Canon Inc 動画像処理方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1994022269A1 (en) * 1993-03-24 1994-09-29 Sony Corporation Method and apparatus for coding/decoding motion vector, and method and apparatus for coding/decoding image signal
JP2001224036A (ja) * 1995-10-18 2001-08-17 Sharp Corp 動画像符号化装置
JP2001045498A (ja) * 1996-09-09 2001-02-16 Sony Corp 画像符号化装置および画像符号化方法、画像復号化装置および画像復号化方法、並びに記録媒体および記録方法
JP2000099864A (ja) * 1998-09-21 2000-04-07 Yoshitaka Kurita 介護者支援装置
WO2001033864A1 (en) * 1999-10-29 2001-05-10 Koninklijke Philips Electronics N.V. Video encoding-method
WO2001050770A2 (en) * 1999-12-28 2001-07-12 Sony Electronics Inc. Methods and apparatus for motion estimation using neighboring macroblocks

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160054021A (ko) 2011-09-28 2016-05-13 가부시키가이샤 제이브이씨 켄우드 동영상 디코딩 장치, 동영상 디코딩 방법 및 동영상 디코딩 프로그램을 저장한 기록매체
KR20170021922A (ko) 2011-09-28 2017-02-28 가부시키가이샤 제이브이씨 켄우드 동영상 디코딩 장치, 동영상 디코딩 방법 및 동영상 디코딩 프로그램을 저장한 기록매체
KR20170023203A (ko) 2011-09-28 2017-03-02 가부시키가이샤 제이브이씨 켄우드 동영상 인코딩 장치, 동영상 인코딩 방법 및 동영상 인코딩 프로그램을 저장한 기록매체
KR20170023204A (ko) 2011-09-28 2017-03-02 가부시키가이샤 제이브이씨 켄우드 동영상 디코딩 장치, 동영상 디코딩 방법 및 동영상 디코딩 프로그램을 저장한 기록매체
TWI575945B (zh) * 2011-09-28 2017-03-21 Jvc Kenwood Corp A motion picture decoding apparatus, a motion picture decoding method, and a recording medium
US9661343B2 (en) 2011-09-28 2017-05-23 JVC Kenwood Corporation Moving picture coding device, moving picture coding method, moving picture coding program, transmitting device, transmission method and transmission program, and moving picture decoding device, moving picture decoding method, moving picture decoding program, receiving device, reception method and reception program
US9674549B2 (en) 2011-09-28 2017-06-06 JCV KENWOOD Corporation Moving picture coding device, moving picture coding method, moving picture coding program, transmitting device, transmission method and transmission program, and moving picture decoding device, moving picture decoding method, moving picture decoding program, receiving device, reception method and reception program
US9866864B2 (en) 2011-09-28 2018-01-09 JVC Kenwood Corporation Moving picture decoding device, moving picture decoding method, and moving picture decoding program
US9866865B2 (en) 2011-09-28 2018-01-09 JVC Kenwood Corporation Moving picture decoding device, moving picture decoding method, and moving picture decoding program
US9924194B2 (en) 2011-09-28 2018-03-20 JVC Kenwood Corporation Moving picture decoding device, moving picture decoding method, and moving picture decoding program
US10015514B2 (en) 2011-12-28 2018-07-03 JVC Kenwood Corporation Moving picture coding device, moving picture coding method, and moving picture coding program, and moving picture decoding device, moving picture decoding method, and moving picture decoding program
US10080031B1 (en) 2011-12-28 2018-09-18 JVC Kenwood Corporation Moving picture coding device, moving picture coding method, and moving picture coding program, and moving picture decoding device, moving picture decoding method, and moving picture decoding program
US10165301B2 (en) 2011-12-28 2018-12-25 JVC Kenwood Corporation Moving picture coding device, moving picture coding method, and moving picture coding program, and moving picture decoding device, moving picture decoding method, and moving picture decoding program
US10171831B2 (en) 2011-12-28 2019-01-01 JVC Kenwood Corporation Moving picture coding device, moving picture coding method, and moving picture coding program, and moving picture decoding device, moving picture decoding method, and moving picture decoding program
US10171832B2 (en) 2011-12-28 2019-01-01 JVC Kenwood Corporation Moving picture coding device, moving picture coding method, and moving picture coding program, and moving picture decoding device, moving picture decoding method, and moving picture decoding program
US10469865B2 (en) 2011-12-28 2019-11-05 JVC Kenwood Corporation Moving picture coding device, moving picture coding method, and moving picture coding program, and moving picture decoding device, moving picture decoding method, and moving picture decoding program
US10631003B2 (en) 2011-12-28 2020-04-21 Jvckenwood Corporation Moving picture coding device, moving picture coding method, and moving picture coding program, and moving picture decoding device, moving picture decoding method, and moving picture decoding program

Also Published As

Publication number Publication date
JP5085757B2 (ja) 2012-11-28
JP2010268513A (ja) 2010-11-25
JP2011147171A (ja) 2011-07-28
JP2006141043A (ja) 2006-06-01
JP2008193746A (ja) 2008-08-21
JP2010268518A (ja) 2010-11-25
JP2011160457A (ja) 2011-08-18
JP4585047B1 (ja) 2010-11-24
JP2011160456A (ja) 2011-08-18
JP2008206197A (ja) 2008-09-04
JP4594449B2 (ja) 2010-12-08
JP5085671B2 (ja) 2012-11-28
JP2008193745A (ja) 2008-08-21
JP5090552B2 (ja) 2012-12-05
JP5090551B2 (ja) 2012-12-05
JP5085756B2 (ja) 2012-11-28
JP2010158049A (ja) 2010-07-15
JP4150742B2 (ja) 2008-09-17
JP2010283874A (ja) 2010-12-16
JP2010283865A (ja) 2010-12-16
JP4714236B2 (ja) 2011-06-29
JP4598160B1 (ja) 2010-12-15
JP4672752B2 (ja) 2011-04-20
JP4594448B1 (ja) 2010-12-08
JP4672751B2 (ja) 2011-04-20

Similar Documents

Publication Publication Date Title
JP4114859B2 (ja) 動きベクトル符号化方法および動きベクトル復号化方法
JP4130783B2 (ja) 動きベクトル符号化方法および動きベクトル復号化方法
JP5090552B2 (ja) 画像復号化方法、画像復号化装置、プログラムおよび記録媒体
JP2008182770A (ja) 画像復号化方法および画像復号化装置
WO2003098939A1 (en) Moving image encoding method, moving image decoding method, and data recording medium
JP2004120138A (ja) 動画像符号化方法および動画像復号化方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110324

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: 20120821

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120912

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150921

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5090552

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term