JP2004048711A - 動画像の符号化方法および復号化方法およびデータ記録媒体 - Google Patents
動画像の符号化方法および復号化方法およびデータ記録媒体 Download PDFInfo
- Publication number
- JP2004048711A JP2004048711A JP2003136452A JP2003136452A JP2004048711A JP 2004048711 A JP2004048711 A JP 2004048711A JP 2003136452 A JP2003136452 A JP 2003136452A JP 2003136452 A JP2003136452 A JP 2003136452A JP 2004048711 A JP2004048711 A JP 2004048711A
- Authority
- JP
- Japan
- Prior art keywords
- picture
- motion vector
- decoding
- encoding
- block
- 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.)
- Pending
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
【課題】表示順で後方にあるピクチャを参照することが出来ない環境下においても、Bピクチャおよび直接モードを使用することを可能とし高い符号化効率を維持することを実現する。
【解決手段】時間的に後方にあるピクチャを参照出来ない環境下において、直接モードを用いて予測符号化する際に同一ピクチャ内の符号化済みブロックの動きベクトルを参照することにより、時間的に後方にあるピクチャを参照することなく直接モードを実現する方法を提案し、さらに、符号化モードのテーブルから後方のピクチャを参照する項目を除くことによりテーブルの項目数を少なくすることにより、前方向のみの動き補償においても高い符号化効率を実現する。
【選択図】 図1
【解決手段】時間的に後方にあるピクチャを参照出来ない環境下において、直接モードを用いて予測符号化する際に同一ピクチャ内の符号化済みブロックの動きベクトルを参照することにより、時間的に後方にあるピクチャを参照することなく直接モードを実現する方法を提案し、さらに、符号化モードのテーブルから後方のピクチャを参照する項目を除くことによりテーブルの項目数を少なくすることにより、前方向のみの動き補償においても高い符号化効率を実現する。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、動画像の符号化方法および復号化方法に関し、特に時間的に前方または後方にある既に符号化済みの複数のピクチャを参照して予測符号化を行うBピクチャを対象とした予測符号化方法および予測復号化方法に関する。
【0002】
【従来の技術】
一般に動画像の符号化では、時間方向および空間方向の冗長性を削減することによって情報量の圧縮を行う。そこで時間的な冗長性の削減を目的とするピクチャ間予測符号化では、前方または後方のピクチャを参照してブロック単位で動きの検出および動き補償を行い、得られた予測画像と現在のピクチャとの差分値に対して符号化を行う。
【0003】
現在標準化中の動画像符号化方法であるH.26Lでは、ピクチャ内予測符号化をのみを行うピクチャ(Iピクチャ)、および時間的に前方にある1枚のピクチャを参照してピクチャ間予測符号化を行うピクチャ(Pピクチャ)、さらに時間的に前方にある2枚のピクチャもしくは時間的に後方にある2枚のピクチャもしくは時間的に前方および後方にあるそれぞれ1枚ずつのピクチャを参照してピクチャ間予測符号化を行うピクチャ(Bピクチャ)が提案されている。H.26L以前の符号化方法であるMPEG(Motion Picture Experts Group)1およびMPEG2およびMPEG4では、Bピクチャは同一方向には1枚のピクチャしか参照できなかったが、H.26Lでは2枚参照できるように変更されていることが1つの大きな特徴である。
【0004】
図16は、従来の動画像符号化方法における各ピクチャと、それによって参照されるピクチャとの参照関係の例を示す図である。同図において、ピクチャI1〜ピクチャB20は、この順で表示される。図17(a)は、図16に示したピクチャB18の周辺にあるピクチャを表示順で抜き出して示す図である。図17(b)は、ピクチャB18を図17(a)に示した参照関係で符号化する場合におけるピクチャB18の周辺ピクチャの符号化順を示す図である。
【0005】
ピクチャI1は参照ピクチャを持たずピクチャ内予測符号化を行い、ピクチャP10は時間的に前方にあるピクチャP7を参照しピクチャ間予測符号化を行っている。また、ピクチャB6は時間的に前方にある2つのピクチャ(ピクチャI1およびピクチャP4)を参照し、ピクチャB12は時間的に後方にある2つのピクチャ(ピクチャP13およびピクチャP16)を参照し、ピクチャB18は時間的に前方および後方にあるそれぞれ1枚ずつのピクチャ(ピクチャP16およびピクチャP19)を参照してピクチャ間予測符号化を行っている。このようにBピクチャを使用する符号化では時間的に後方にあるピクチャを参照するため、表示される順番では符号化を行うことが出来ない。つまり、図17(a)におけるピクチャB18のようなBピクチャがあった場合は、それが参照するピクチャP19を先に符号化する必要がある。そのため、ピクチャB16からピクチャB19を図17(b)のような順番に並び替えて符号化を行わなくてはならない。
【0006】
時間的に前方にある1枚のピクチャを参照してピクチャ間予測符号化を行うPピクチャの予測モードのひとつとしてスキップモードがある。スキップモードでは符号化対象ブロックに直接動きベクトルの情報を持たせずに、周辺に位置する符号化済みブロックの動きベクトルを参照して符号化対象ブロックの動き補償に使用する動きベクトルを決定し、符号化対象ブロックの属するピクチャの時間的に直前にあるPピクチャから予測画像を生成することによって動き補償を行う。
【0007】
図18は、同一ピクチャ内で対象ブロックの周辺に位置する符号化済みブロックの動きベクトルを参照する場合に、動きベクトルを参照される符号化済みブロックと対象ブロックとの位置関係を表した図である。図18(a)は符号化を行う符号化対象ブロックBL51が16画素×16画素のサイズであった場合の例であり、図18(b)は符号化を行うブロックBL52が8画素×8画素のサイズであった場合の例を示している。ここでは、Pピクチャのスキップモードの際に動きベクトルを参照される符号化済みブロックと符号化対象ブロックとの位置関係を示している。ブロックBL51がスキップモードを用いて符号化を行う16画素×16画素のブロックであり、基本的にA、B、Cの位置関係にある3つの符号化済みブロック(以下、Aの位置にあるブロックをブロックA、Bの位置にあるブロックをブロックB、Cの位置にあるブロックをブロックCという。)の動きベクトルを参照する。ただし、下記の条件に該当する場合は動きベクトルの参照を行わず、符号化対象ブロックの動きベクトルの値を「0」として直前のPピクチャを参照し、直接モードによる動き補償を行う。
【0008】
1、ブロックAもしくはブロックBが、符号化対象ブロックが属するピクチャの外部もしくはスライスの外部であった場合。
2、ブロックAもしくはブロックBが、直前のピクチャを参照する値「0」の動きベクトルを持つ場合。
【0009】
参照の対象となったブロックA、B、Cの3つのブロックが持つ動きベクトルの中から直前のPピクチャを参照する動きベクトルのみを取り出し、その中央値を取ることによって実際に直接モードにおいて使用する動きベクトルとする。ただし、ブロックCが参照不可の場合は代わりにブロックDの動きベクトルを用いるものとする。
【0010】
図19は、Pピクチャのスキップモードの際に参照される動きベクトルとその動きベクトルによって参照される符号化済みピクチャとの一例を示した図である。ピクチャP64に属するブロックBL51を現在符号化しているブロックとする。この例では直前のピクチャを参照する動きベクトルは動きベクトルMVA1のみとなり、直接モードにおいて用いられる動きベクトルMV1は、動きベクトルMVA1の値をそのまま使用することになる。このような参照方法を使用することにより動きベクトルを符号化する必要がないため、出力符号列のビット量を減らすことが可能となる。また、周辺のブロックを参照して動きベクトルを決定するため、カメラのパーン等の影響によって撮像物が一定方向に移動するような場合においてその効果が大きく得られる。
【0011】
時間的に前方にある2枚のピクチャもしくは時間的に後方にある2枚のピクチャもしくは時間的に前方および後方にあるそれぞれ1枚ずつのピクチャを参照してピクチャ間予測符号化を行うBピクチャの予測モードのひとつとして直接モードがある。直接モードでは、符号化対象のブロックには直接動きベクトルを持たせず、符号化対象ピクチャの時間的に直後にある符号化済みピクチャ内の同じ位置にあるブロックの動きベクトルを参照することによって、実際に符号化対象ブロックの動き補償を行うための2つの動きベクトルを算出し、予測画像を作成する。
【0012】
図20は、直接モードにおいて動きベクトルを決定する方法を説明するための図である。ピクチャB73が現在符号化の対象としているBピクチャであり、ピクチャP72およびピクチャP74を参照ピクチャとして、直接モードによる双方向予測を行うものである。符号化を行うブロックをブロックBL71とすると、このとき必要とされる2つの動きベクトルは、符号化済みの後方参照ピクチャであるピクチャP74の同じ位置にあるブロックBL72の持つ動きベクトルMV71を用いて決定される。動きベクトルMV71に対してピクチャ間隔TR72、TR73を用いてスケーリングを適用することによって、もしくは動きベクトルMV71に対して所定の係数をかけることによって、直接モードによって使用する2つの動きベクトルMV72、MV73が算出される。この2つの動きベクトルによって指定された2つの参照画像の画素値の平均をとることによって、ブロックBL71の符号化に必要とされる予測画像が生成される。このように、直接モードで符号化を行うブロックでは、動きベクトルを符号化する必要がないため出力符号列のビット量を減らすことが可能となる。
【0013】
【非特許文献1】
Joint Video Team (JVT) of ISO/IEC MPEG and ITU−T VCEG −− JointCommittee Draft (2002−5−10) P.99 11 B pictures
【0014】
【発明が解決しようとする課題】
しかしながら、Bピクチャの直接モードを用いた動画像の符号化では、時間的に後方にあるピクチャを参照して符号化が行われるため、前記参照される可能性のあるピクチャを符号化対象のピクチャよりも先に符号化しておく必要があった。そのため、時間的に後方にあるピクチャを先に符号化および復号化することが出来ない環境下ではBピクチャの直接モードを用いた符号化を行うことが出来なかった。
【0015】
本発明は上記のような問題点を解決するものであり、時間的に後方にあるピクチャが符号化対象ピクチャまたは復号化対象ピクチャよりも先に符号化および復号化されていない環境下においても、Bピクチャ、特に直接モードを矛盾なく使用することを可能とする方法を提案することを第1の目的とする。さらに、本発明は、符号化モードとその識別番号とを対応付けるテーブルの効率の良い参照方法を提案することによって、Bピクチャを使用した高効率による動画像の符号化方法および復号化方法を提案することを第2の目的とする。
【0016】
【課題を解決するための手段】
上記目的を達成するために、本発明の動画像符号化方法は、動画像を符号化して符号列を生成する動画像符号化方法であって、時間的に前方または後方にある符号化済みの複数のピクチャを参照して予測符号化を行うBピクチャの符号化において、符号化済みのブロックが持つ動きベクトルを参照して符号化対象ブロックの動き補償を行う直接モードを使用することを可能とする符号化ステップを含み、前記符号化ステップは、前記符号化対象ブロックの属するピクチャから表示順で一方向にある符号化済みのピクチャのみを参照して前記Bピクチャの予測符号化を行う場合、前記直接モードとして前記符号化対象ブロックの周辺に位置する同一ピクチャ内の符号化済みブロックの動きベクトルを参照して動き補償を行う動き補償ステップを含むことを特徴とする。
【0017】
また本発明の動画像符号化方法は、動画像を符号化して符号列を生成する動画像符号化方法であって、時間的に前方または後方にある符号化済みの複数のピクチャを参照して予測符号化を行うBピクチャの符号化において、符号化済みのブロックが持つ動きベクトルを参照して符号化対象ブロックの動き補償を行う直接モードを使用することを可能とする符号化ステップを含み、前記符号化ステップは、前記符号化対象ブロックの属するピクチャから表示順で一方向にある符号化済みのピクチャのみを参照して前記Bピクチャの予測符号化を行う場合、前記直接モードとして前記符号化対象ブロックの動きベクトルの値を「0」として、時間的に近い方から順に1つまたは複数のピクチャを参照して動き補償を行うことを特徴とする。
【0018】
さらに本発明の動画像符号化方法では、前記符号化ステップは、前記Bピクチャの予測符号化方法と前記予測符号化方法を識別するための識別子とを対応付けたテーブルの中から後方を参照する予測符号化方法を除いて、前記テーブルを再生成するテーブル再生成ステップを含み、前記符号化ステップでは、再生成された前記テーブルを用いて当該Bピクチャの予測符号化方法を示す前記識別子を符号化するとしてもよい。
【0019】
上記目的を達成するために、本発明の動画像復号化方法は、動画像を符号化して得られる符号列を復号化する動画像復号化方法であって、時間的に前方または後方にある復号化済みの複数のピクチャを参照して予測復号化を行うBピクチャの復号化において、復号化済みのブロックが持つ動きベクトルを参照して復号化対象ブロックの動き補償を行う直接モードを使用することを可能とする復号化ステップを含み、前記復号化ステップは、前記復号化対象ブロックの属するピクチャから時間的に一方向にある復号化済みのピクチャのみを参照して前記Bピクチャの予測復号化を行う場合、前記直接モードとして前記復号化対象ブロックの周辺に位置する同一ピクチャ内の復号化済みブロックの動きベクトルを参照して動き補償を行う動き補償ステップを含むことを特徴とする。
【0020】
また、本発明の動画像復号化方法は、動画像を符号化して得られる符号列を復号化する動画像復号化方法であって、時間的に前方または後方にある復号化済みの複数のピクチャを参照して予測復号化を行うBピクチャの復号化において、復号化済みのブロックが持つ動きベクトルを参照して復号化対象ブロックの動き補償を行う直接モードを使用することを可能とする復号化ステップを含み、前記復号化ステップは、前記復号化対象ブロックの属するピクチャから時間的に一方向にある復号化済みのピクチャのみを参照して前記Bピクチャの予測復号化を行う場合、前記直接モードとして前記復号化対象ブロックの動きベクトルの値を「0」として、時間的に近い方から順に1つまたは複数のピクチャを参照して動き補償を行うことを特徴とする。
【0021】
さらに本発明の動画像復号化方法では、前記復号化ステップは、前記Bピクチャの予測復号化方法と前記予測復号化方法を識別するための識別子とを対応付けた、予め保持しているテーブルの中から後方を参照する予測復号化方法を除いて、前記テーブルを再生成するテーブル再生成ステップを含み、前記復号化ステップでは、前記符号化列から前記Bピクチャの予測復号化方法を識別するための識別子を復号化し、再生成されたテーブルを用いて、当該Bピクチャの予測復号化方法を識別し、識別された前記予測復号化方法に従って復号化対象ブロックの予測復号化を行うとしてもよい。
【0022】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
(実施の形態1)
図1は、実施の形態1の動画像符号化方法を実行する動画像符号化装置100の構成を示すブロック図である。動画像符号化装置100は、直接モードによるBピクチャの符号化時に、符号化対象ピクチャより表示順で前方にあるピクチャのみを参照する場合には、同一ピクチャ内で符号化対象ブロックの周辺にある符号化済みブロックの動きベクトルを参照して符号化対象ブロックの動きベクトルを決定する動画像符号化装置であって、フレームメモリ101、予測残差符号化部102、符号列生成部103、予測残差復号化部104、フレームメモリ105、動きベクトル検出部106、モード選択部107、動きベクトル記憶部108、後方ピクチャ判定部109、差分演算部110、加算演算部111、スイッチ112およびスイッチ113を備える。
【0023】
フレームメモリ101、フレームメモリ105および動きベクトル記憶部108は、RAM等によって実現されるメモリであって、フレームメモリ101は、表示順で入力される動画像の各ピクチャを符号化順に並べ替えるための記憶領域を提供する。
【0024】
予測残差符号化部102は、差分演算部110で求められた予測残差にDCT変換などの周波数変換を施し、量子化して出力する。符号列生成部103は、予測残差符号化部102からの符号化結果を可変長符号化した後、出力用の符号化列のフォーマットに変換し、予測符号化方法に関連する情報を記述したヘッダなどの付加情報を付して符号列を生成する。予測残差復号化部104は、予測残差符号化部102からの符号化結果を可変長復号化し、逆量子化した後、IDCT変換などの逆周波数変換を施して復号化予測残差を生成する。
【0025】
フレームメモリ105は、予測ピクチャをピクチャ単位で保持するための記憶領域を提供する。動きベクトル検出部106は、マクロブロックまたはマクロブロックをさらに分割して得られるブロックなどの所定の単位ごとに、動きベクトルを検出する。モード選択部107では動きベクトル記憶部108に記憶されている符号化済みのピクチャで用いた動きベクトルを参照しつつ最適な予測モードを選択し、動きベクトル検出部106によって検出された動きベクトルで示される予測ピクチャ中の各ブロックをフレームメモリ105から読み出して差分演算部110に出力する。
【0026】
動きベクトル記憶部108は、符号化済みピクチャのブロックごとに検出された動きベクトルを保持するための記憶領域を提供する。後方ピクチャ判定部109は、符号化対象ピクチャよりも表示順で後方にあるピクチャが既に符号化されているかどうかを判定する。差分演算部110は、符号化対象のマクロブロックと、動きベクトルによって決定された予測画像のマクロブロックとの差分を出力する。
【0027】
加算演算部111は、予測残差復号化部104から出力される復号化予測残差と、モード選択部107から出力される予測ピクチャのブロックとを加算して、加算結果(予測ピクチャを構成するブロック)をフレームメモリ105に格納する。スイッチ112は、符号化対象ピクチャのピクチャタイプに応じて切り替えられ、画面内予測符号化を行うIピクチャではフレームメモリ101の読み出し線と予測残差符号化部102とを導通させる。これにより、フレームメモリ101から読み出された符号化対象ピクチャの各マクロブロックは、直接、予測残差符号化部102に入力される。
【0028】
また、画面間予測符号化を行うPピクチャおよびBピクチャでは、差分演算部110の出力側と予測残差符号化部102とを導通させる。これにより、差分演算部110の演算結果が予測残差符号化部102に入力される。スイッチ113は、符号化対象ピクチャのピクチャタイプに応じて導通と遮断とに切り替えられる。画面内予測符号化を行うIピクチャでは、モード選択部107の出力側と加算演算部111の入力側とが遮断され、画面間予測符号化を行うPピクチャおよびBピクチャでは、モード選択部107の出力側と加算演算部111の入力側とが導通される。これにより、画面内予測符号化を行うIピクチャでは、予測残差復号化部104によって復号化された復号化予測残差がフレームメモリ105に出力される。
【0029】
以下、本発明の実施の形態1の動画像符号化方法を図1に示したブロック図を用いて説明する。
符号化対象となる動画像は時間順にピクチャ単位でフレームメモリ101に入力される。各々のピクチャはマクロブロックと呼ばれる例えば水平16画素×垂直16画素のブロックに分割されブロック単位で以降の処理が行われる。
【0030】
フレームメモリ101から読み出されたマクロブロックは動きベクトル検出部106に入力される。動きベクトル検出部106では、フレームメモリ105に蓄積されている画像(符号化済みのピクチャをさらに復号化して得られた画像)を参照ピクチャとして用いて、符号化対象としているマクロブロックの動きベクトル検出を行う。動きベクトル検出部106では、直接モード以外の予測モードにおいて、マクロブロックごとに、もしくはマクロブロックを分割した領域(例えば、16画素×8画素、8画素×16画素および8画素×8画素などの大きさに分割した小ブロック)ごとに動きベクトルの検出が行われる。
【0031】
動きベクトル検出部106では、符号化の対象としているマクロブロックに対し、既に符号化済みのピクチャを参照ピクチャとし、そのピクチャ内の探索領域において最も符号化対象ブロックの画素値の構成に近いと予測されるブロックの位置を示す動きベクトルが検出される。モード選択部107では、動きベクトル記憶部108に記憶されている、符号化済みのピクチャで用いられた動きベクトルを参照しつつ、最適な予測モードを選択する。このとき表示順で後方にあるピクチャが既に符号化されているかどうかを後方ピクチャ判定部109において判定する。もし後方のピクチャが符号化されていないと判定された場合、モード選択部107は、Bピクチャの符号化において、表示順で後方にあるピクチャを参照しない予測モードを選択する。
【0032】
モード選択部107によって選択された予測モードに従って、動きベクトル検出部106で検出された動きベクトルのうち最適な動きベクトルが決定され、決定された動きベクトルによって参照される予測ブロックがフレームメモリ105から読み出されて差分演算部110に入力される。差分演算部110では、予測ブロックと符号化対象のマクロブロックとの差分をとることにより予測残差画像が生成される。生成された予測残差画像は予測残差符号化部102に入力され、予測残差符号化部102内で周波数変換および量子化が施される。以上の処理の流れはピクチャ間予測符号化が選択された場合の動作であったが、スイッチ112によってピクチャ内予測符号化との切り替えがなされる。最後に符号列生成部103によって、動きベクトル等の制御情報および予測残差符号化部102から出力される画像情報等に対し可変長符号化が施され、最終的に出力される符号列が生成される。
【0033】
以上符号化の流れの概要を示したが、以下では、モード選択部107における直接モードでの処理の詳細について説明する。ただし、ここでは後方ピクチャ判定部109において後方のピクチャが符号化されていないと判定された場合について説明する。図2は、符号化対象ブロックが属するピクチャから表示順で後方にあるピクチャを参照することが出来ない場合の各ピクチャの参照関係の一例を示す図である。図のように、ピクチャの表示順シーケンスに含まれる全てのBピクチャは表示順で前方にある1枚もしくは複数の符号化済みピクチャを参照して予測符号化を行っている。例えば、いずれもBピクチャであるピクチャB82とピクチャB83とは、表示順で前方にある符号化済みピクチャがピクチャP81のみであるので、それぞれ、ピクチャP81だけを参照し動き補償を行う。
【0034】
また、いずれもBピクチャであるピクチャB85とピクチャB86とについては、ピクチャB85は表示順で前方にある2枚の符号化済みピクチャ(ピクチャP81とピクチャP84)を参照するが、例えば、ピクチャB86は表示順で時間的に遠いピクチャP81を参照せず、表示順で時間的により近いピクチャP84のみを参照して動き補償を行っている。このような場合、各Bピクチャの動きベクトルは、すべて、符号化対象ピクチャよりも表示順で前方にある符号化済みピクチャを参照している。
【0035】
本実施の形態では、表示順で後方のピクチャが符号化されていない環境下において、Bピクチャの予測符号化を行う際にモード選択部107によって直接モードが選択された場合、従来のように、表示順で符号化対象ピクチャの直後のピクチャに属する符号化済みブロックの動きベクトルを参照して符号化対象ブロックの動きベクトルを生成する(以下、「時間的予測」という)代わりに、同一ピクチャ内で符号化対象ブロックの周辺に位置する符号化済みブロックの動きベクトルを参照して符号化対象ブロックの動きベクトルを生成する(以下、「空間的予測」という)ことによって直接モードを実現する。
【0036】
図3は、直接モードが選択された場合のモード選択部107の動作の一例を示すフローチャートである。モード選択部107は、直接モードが選択された場合、まず、後方ピクチャ判定部109に符号化対象ピクチャよりも表示順で後方にあるピクチャが符号化済みであるか否かを判定させ(S501)、判定の結果、表示順で後方にあるピクチャが符号化済みであれば、従来のように、時間的予測を用いて符号化対象ブロックの予測符号化を行う(S502)。そして、モード選択部107は、当該符号化対象ブロックの処理を終了し、次の符号化対象ブロックの処理にうつる。
【0037】
また、ステップS501における判定の結果、表示順で後方にあるピクチャが符号化されていなければ、上記の空間的予測を用いて符号化対象ブロックの予測符号化を行う(S503)。さらに、モード選択部107は、上記の空間的予測を行ったことを示すフラグspatial_flagの値を「1」にセットし、符号列生成部103に出力する(S504)。その後、モード選択部107は、当該符号化対象ブロックの処理を終了し、次の符号化対象ブロックの処理にうつる。
【0038】
以下では、図3のステップS503において行われる空間的予測の具体的方法について説明する。
図19を用いて説明したスキップモードの例は、参照される符号化済みブロックが1つずつの動きベクトルを持っている場合についてのものであった。しかし、Bピクチャの予測モードの中には、図2に示したように、表示順で前方にある2枚のピクチャを同時に参照して動き補償を行うものも含まれている。そのようなモードの場合は1つのブロックが2つの動きベクトルを持っていることになる。図4は、動きベクトルを参照される符号化済みブロックに2つの動きベクトルを持つブロックが含まれている場合の動きベクトルの参照関係の一例を示す図である。ピクチャP94が現在符号化を行っているピクチャであり、ブロックBL51が直接モードによる予測符号化を行うブロックである。
【0039】
まず、第1の方法として、モード選択部107は、直接モードによる予測符号化を行うブロックBL51が図18(a)および図18(b)に示したいずれの場合も、ブロックBL51(またはブロックBL52)に対して基本的にA、B、Cの位置にあるブロックの動きベクトルを参照する。ただし、下記の条件に従って参照が変更される。
【0040】
1、ブロックCが参照不可の場合は、A、B、Dの位置にあるブロックを参照する。
2、A、B、CまたはA、B、Dの位置にある3つのブロックにおいて、動きベクトルを参照できないブロックがあれば、そのブロックを動きベクトルの参照の対象から除く。
【0041】
モード選択部107は、参照の対象となったA、B、C(またはA、B、D)の3つのブロックが持つ動きベクトルのうちで、動きベクトルによって参照されるピクチャと符号化対象ピクチャとの表示順での遠近を比較する。比較されたうちで、符号化対象ピクチャから表示順で最も近い位置にあるピクチャを参照している動きベクトルを取り出す。取り出された動きベクトルが複数ある場合には、それらの中央値もしくは平均値を取る。例えば、取り出された動きベクトルが奇数個ある場合には中央値、偶数個ある場合には平均値をとるとしてもよい。これによって得られた動きベクトルを、表示順で符号化対象ピクチャよりも前方にあるピクチャのみを参照して動き補償する場合に、直接モードが選択されたときの符号化対象ブロックの動きベクトルとする。また、A、B、C(またはA、B、D)の全てのブロックが参照できない場合は、符号化対象ブロックの動きベクトルを0とし、参照するピクチャを直前のピクチャとして直接モードによる予測符号化を行う。
【0042】
図5は、図1に示したモード選択部107が第1の方法を用いて符号化対象ブロックの空間的予測を行う場合の処理手順の一例を示すフローチャートである。以下では、図4に示した符号化対象ブロックBL51を例として説明する。まず、モード選択部107は、符号化対象ブロックBL51に対してCの位置にあるブロックが参照可能であるか否かを調べる(S601)。図4においてCの位置にあるブロックはピクチャP93を参照する動きベクトルMVC1とピクチャP92を参照する動きベクトルMVC2とを持っている。従って、モード選択部107は、A、B、Cの位置にあるブロックの動きベクトルを参照する(S602)。
【0043】
Aの位置にあるブロックは、ピクチャP93を参照する動きベクトルMVA1を持ち、Bの位置にあるブロックはピクチャP93を参照する動きベクトルMVB1とピクチャP91を参照する動きベクトルMVB3を持っている。ステップS601において、Cの位置にあるブロックが、符号化対象ピクチャP94の外にあったり、または符号化対象ブロックBL51が属するスライスの外にあったり、または画面内予測などの符号化を行ったために動きベクトルを持っていない場合には、Cの位置にあるブロックの代わりに、図18(a)および図18(b)に示したDの位置にあるブロックの動きベクトルを参照する(S603)。すなわち、A、B、Dの位置にある3つのブロックを参照する。
【0044】
次いで、モード選択部107は、参照された3つのブロック(A、B、CまたはA、B、D)のうち、符号化対象ピクチャP94の外にあったり、または符号化対象ブロックBL51が属するスライスの外にあったり、または画面内予測などの符号化を行ったために動きベクトルを持っていない場合には、そのブロックを参照の候補から除いて、符号化対象ブロックの動きベクトルの計算を行う(S604)。
【0045】
また、3つのブロック(A、B、CまたはA、B、D)のうち、全てのブロックを参照できない場合は、符号化対象ブロックの動きベクトルを「0」とし、符号化対象ピクチャの直前のピクチャを参照する。モード選択部107は、参照されたこれらの動きベクトルの中から、符号化対象ピクチャに表示順で最も近いピクチャを参照するもののみを取り出すと、ピクチャP93を参照する動きベクトルMVA1、動きベクトルMVB1および動きベクトルMVC1が得られる。モード選択部107は、さらに、これらの中央値もしくは平均値を取る。例えば、ここでは3個の動きベクトルが得られたので中央値を取る。これにより、ブロックBL51の動き補償を行うための1つの動きベクトルMV1を決定することができる。
【0046】
図6は、図1に示した符号列生成部103で生成される符号列のスライスごとのデータ構造の一例を示す図である。各ピクチャの符号列は、複数のスライスデータから構成され、各スライスデータは複数のマクロブロックデータから構成されている。同図に示すように、符号列中の各スライスデータには、それぞれスライスヘッダが付加されており、スライスヘッダにはスライスに関する情報などが書き込まれる。スライスに関する情報には、例えば、スライスの属するフレームの番号、および上記の直接モードの符号化方法の種類を示すフラグspatial_flagなどが記述される。
【0047】
以上のように上記実施の形態では、表示順で後方にあるピクチャを参照出来ない環境下においても、直接モードを用いて予測符号化する際に表示順で後方にあるピクチャを参照することなく直接モードを実現する方法を提案し、高い符号化効率を実現する符号化方法を示した。
【0048】
なお上記第1の方法では、参照された動きベクトルのうちで符号化対象ピクチャに表示順で一番近いピクチャを参照するものを取り出したが、参照された動きベクトルの中から符号化対象ピクチャの直前のピクチャを参照するもののみを取り出すとしてもよい。図4に示した例の場合、参照された動きベクトルに参照されるピクチャのうち、符号化対象ピクチャに表示順で最も近いピクチャは、符号化対象ピクチャの直前のピクチャであるので、得られる動きベクトルは同じである。もし、表示順で一番近いピクチャを参照する動きベクトルが1つも無かった場合は、符号化対象ブロックの動きベクトルを「0」として直接モードによる符号化を行う。
【0049】
また上記第1の方法では、直接モードにおいて用いる動きベクトルを決定する際に、周辺の符号化済みブロックが参照するピクチャの中から表示順で符号化対象ピクチャから最も手前にあるピクチャを参照している動きベクトルだけを取り出して最終的に1個の動きベクトルを算出したが、その代わりに、第2の方法として、表示順で符号化対象ピクチャの手前からN枚のピクチャを参照する動きベクトルを取り出し、参照しているピクチャごとに1つずつの動きベクトルを決定し、得られたN個の動きベクトルを直接モードでの予測符号化に用いる動きベクトルとして前方向のみを参照する動き補償を行うことも可能である。このとき予測画像はN個の動きベクトルによって指定されたN個の領域の画素値の平均を算出することによって生成される。
【0050】
なお、単純な平均ではなく、各領域の画素値に重みを付けて平均をとる方法によって予測画像を生成することも可能である。この方法を用いることにより、表示順で画素値が序々に変化するような画像列に対してより精度の高い動き補償を実現することが可能となる。
【0051】
図7は、表示順で符号化対象ピクチャの手前から2枚のピクチャを参照する動きベクトルを取り出して2個の動きベクトルを算出する場合の動きベクトル参照方法の一例を表した図である。ピクチャP104が現在符号化を行っているピクチャであり、BL51が直接モードによる予測符号化を行うブロックである。参照の対象となる複数の動きベクトルが参照しているピクチャの中で表示順で最も手前にあるピクチャP103を参照している動きベクトルMVA1、動きベクトルMVB1および動きベクトルMVC1を用いてその中央値もしくは平均値を取ることにより動きベクトルMV1が決定され、さらに表示順で2つ前にあるピクチャP102を参照している動きベクトルの中央値もしくは平均値、つまりMVC2そのものを取ることにより動きベクトルMV2が決定され、これら2つの動きベクトルを用いて直接モードによる符号化がなされる。
【0052】
なお、図18(a)および図18(b)において参照されるブロックの動きベクトルの中から表示順で手前から1枚もしくはN枚のピクチャを参照するもののみを使用するという方法の代わりに、指定されたピクチャを参照する動きベクトルのみを取り出して直接モードにおいて使用される符号化対象ブロックの動きベクトルの値を決定し、前記指定されたピクチャから動き補償を行うということも可能である。
【0053】
なお、直接モードを用いて符号化を行う際に、図18(a)および図18(b)のような位置関係にある符号化済みのブロックを参照して動き補償を行う代わりに、符号化対象ブロックの動きベクトルの値を「0」、参照するピクチャを直前のピクチャとして直接モードによる動き補償を行うことも可能である。この方法を用いると、直接モードに使用する動きベクトルを算出するステップを行う必要がなくなるため、符号化処理の単純化を図ることが出来る。
【0054】
なお、このとき直接モードにおいて時間的予測を行うか空間的予測を行うかを示すspatial_flagの代わりに、符号化済みのブロックを参照せずに符号化対象ブロックの動きベクトルの値を「0」として動き補償を行うことを示すフラグをスライスヘッダに記述してもよい。
【0055】
なお、上記の方法では、3つのブロックを参照して得られた動きベクトルのうちから、それらが参照しているピクチャの中で符号化対象ピクチャに表示順で最も近い位置にあるピクチャを参照している動きベクトルを取り出すとしたが、本発明はこれに限定されない。例えば、符号化対象ピクチャに符号化順で最も近い位置にあるピクチャを参照している動きベクトルを取り出すとしてもよい。
【0056】
(実施の形態2)
本発明の実施の形態2の動画像復号化方法を図8に示したブロック図を用いて説明する。ただし、本動画像復号化方法では、実施の形態1の動画像符号化方法で生成された符号列を復号化するものとする。
【0057】
図8は、本実施の形態の動画像復号化装置200の構成を示すブロック図である。動画像復号化装置200は、直接モードで符号化された復号化対象ブロックに対し、直接モードによる復号化の方法を示すフラグが「1」のとき空間的予測を用いて復号化を行う動画像復号化装置であって、符号列解析部201、予測残差復号化部202、フレームメモリ203、動き補償復号部204、動きベクトル記憶部205、後方ピクチャ判定部206、加算演算部207およびスイッチ208を備える。
【0058】
符号列解析部201は、入力された符号列を解析し、符号列から予測残差符号化データ、動きベクトル情報および予測モードなどの情報を抽出し、抽出された動きベクトル情報および予測モードなどの情報を動き補償復号部204に、予測残差符号化データを予測残差復号化部202にそれぞれ出力する。予測残差復号化部202は、抽出された予測残差符号化データに可変長復号化、逆量子化および逆周波数変換などを施し、予測残差画像を生成する。
【0059】
フレームメモリ203は、復号化された画像をピクチャ単位で格納し、格納しているピクチャを表示順に外部のモニタなどに出力画像として出力する。動き補償復号部204は、予測モードの復号化と、その予測モードで用いる動きベクトルの復号化とを行い、フレームメモリ203に蓄積されている復号化画像を参照ピクチャとし、入力された動きベクトル情報に基づいて復号化対象ブロックに対する予測画像を生成する。動きベクトルの復号化の際には、動きベクトル記憶部605に記憶されている復号化済みの動きベクトルを利用する。
【0060】
動きベクトル記憶部205は、動き補償復号部204において復号化された動きベクトルを格納する。後方ピクチャ判定部206は、動き補償復号部204による予測画像の生成時に、復号化対象ピクチャよりも表示順で後方にあるピクチャが復号化されているか否かを判定する。なお、後方ピクチャ判定部206は、実施の形態4で用いられるが、本実施の形態では不要である。加算演算部207は、予測残差復号化部202で復号化された予測残差画像と、動き補償復号部204で生成された予測画像とを加算し、復号化対象ブロックの復号化画像を生成する。
【0061】
まず入力された符号列から符号列解析部201によって動きベクトル情報および予測残差符号化データ等の各種の情報が抽出される。ここで抽出された動きベクトル情報は動き補償復号部204に、予測残差符号化データは予測残差復号化部202にそれぞれ出力される。動き補償復号部204では、フレームメモリ203に蓄積されている復号化済みのピクチャの復号化画像を参照ピクチャとし、復号化された動きベクトルに基づいて予測画像を生成する。
【0062】
このようにして生成された予測画像は加算演算部207に入力され、予測残差復号化部202において生成された予測残差画像との加算を行うことにより復号化画像が生成される。予測方向が制限されていない場合は、生成された復号化画像はフレームメモリ203において表示される順にピクチャの並び替えを行うが、表示順で後方にあるピクチャを参照することが出来ない場合は、並び替えを行うことなく復号化された順に表示することが可能となる。以上の実施の形態はピクチャ間予測符号化がなされている符号列に対する動作であったが、スイッチ208によってピクチャ内予測符号化がなされている符号列に対する復号化処理との切り替えがなされる。
【0063】
以上復号化の流れの概要を示したが、動き補償復号部204における処理の詳細について以下で説明する。
図9は、図8に示した動き補償復号部204における直接モードによる復号化の処理手順を示すフローチャートである。
【0064】
予測モードおよび動きベクトル情報はマクロブロックごともしくはマクロブロックを分割したブロックごとに付加されている。これらの情報は、符号列のスライスデータ領域の中に、スライス中のマクロブロックの順に記述されている。前記予測モードModeが直接モードを示している場合、動き補償復号部204は、スライスヘッダに復号化されるフラグspatial_flagに「0」がセットされているか「1」がセットされているかを調べる(S901)。後方のピクチャが復号化されていないときには、フラグspatial_flagに「1」がセットされており、空間的予測を用いて復号化を行うことが指示されている。
【0065】
フラグspatial_flagに「1」がセットされている場合には、動き補償復号部204は、直接モードの空間的予測を用いて復号化対象ブロックの予測画像を作成し(S902)、「0」がセットされている場合には、動き補償復号部204は、直接モードの時間的予測を用いて復号化対象ブロックの予測画像を作成する(S903)。スライスヘッダ中の予測モードModeが直接モード以外の予測モードを示している場合、動き補償復号部204は、復号化の対象としているマクロブロックに対して、既に復号化済みのピクチャを参照ピクチャとし、復号化された動きベクトルによってその参照ピクチャ内のブロックを特定し、特定されたブロックから動き補償を行うための予測画像切り出して、予測画像を作成する。
【0066】
以下では、図9のステップS902において行われる空間的予測の具体的方法について説明する。
図19を用いて説明したスキップモードの例は、参照される復号化済みブロックが1つずつの動きベクトルを持っている場合についてのものであった。しかし、Bピクチャの予測モードの中には、図2に示したように、表示順で前方にある2枚のピクチャを同時に参照して動き補償を行うものも含まれている。そのようなモードの場合は1つのブロックが2つの動きベクトルを持っていることになる。
【0067】
図4は、動きベクトルを参照される復号化済みブロックに2つの動きベクトルを持つブロックが含まれている場合の動きベクトルの参照関係の一例を示している。ピクチャP94が現在復号化を行っているピクチャであり、ブロックBL51が直接モードによる予測復号化を行うブロックである。
【0068】
まず、第1の方法として、動き補償復号部204は、直接モードによる予測復号化を行うブロックBL51が図18(a)および図18(b)に示したいずれの場合も、ブロックBL51(またはブロックBL52)に対して基本的にA、B、Cの位置にあるブロックの動きベクトルを参照する。ただし、下記の条件に従って参照が変更される。
【0069】
1、ブロックCが参照不可の場合は、A、B、Dの位置にあるブロックを参照する。
2、A、B、CまたはA、B、Dの位置にある3つのブロックにおいて、動きベクトルを参照できないブロックがあれば、そのブロックを動きベクトルの参照の対象から除く。
【0070】
動き補償復号部204は、参照の対象となったA、B、C(またはA、B、D)の3つのブロックが持つ動きベクトルのうちで、動きベクトルによって参照されるピクチャと復号化対象ピクチャとの表示順での遠近を比較する。比較されたうちで、復号化対象ピクチャから表示順で最も近い位置にあるピクチャを参照している動きベクトルを取り出す。取り出された動きベクトルが複数ある場合には、それらの中央値もしくは平均値を取る。例えば、取り出された動きベクトルが奇数個ある場合には中央値、偶数個ある場合には平均値をとるとしてもよい。
【0071】
これによって得られた動きベクトルを、表示順で復号化対象ピクチャよりも前方にあるピクチャのみを参照して動き補償する場合に、直接モードが選択されたときの復号化対象ブロックの動きベクトルとする。また、A、B、C(またはA、B、D)の全てのブロックが参照できない場合は、復号化対象ブロックの動きベクトルを0とし、参照するピクチャを直前のピクチャとして直接モードによる予測復号化を行う。
【0072】
図5のフローチャートは、図8に示した動き補償復号部204が第1の方法を用いて復号化対象ブロックの空間的予測を行う場合の処理手順の一例を示している。以下では、図4に示した復号化対象ブロックBL51を例として説明する。
【0073】
まず、動き補償復号部204は、復号化対象ブロックBL51に対してCの位置にあるブロックが参照可能であるか否かを調べる(S601)。図4においてCの位置にあるブロックはピクチャP93を参照する動きベクトルMVC1とピクチャP92を参照する動きベクトルMVC2とを持っている。従って、動き補償復号部204は、A、B、Cの位置にあるブロックの動きベクトルを参照する(S602)。
【0074】
Aの位置にあるブロックは、ピクチャP93を参照する動きベクトルMVA1を持ち、Bの位置にあるブロックはピクチャP93を参照する動きベクトルMVB1とピクチャP91を参照する動きベクトルMVB3を持っている。ステップS601において、Cの位置にあるブロックが、復号化対象ピクチャP94の外にあったり、または復号化対象ブロックBL51が属するスライスの外にあったり、または画面内予測などの復号化を行ったために動きベクトルを持っていない場合には、Cの位置にあるブロックの代わりに、図18(a)および図18(b)に示したDの位置にあるブロックの動きベクトルを参照する(S603)。すなわち、A、B、Dの位置にある3つのブロックを参照する。
【0075】
次いで、動き補償復号部204は、参照された3つのブロック(A、B、CまたはA、B、D)のうち、復号化対象ピクチャP94の外にあったり、または復号化対象ブロックBL51が属するスライスの外にあったり、または画面内予測などの復号化を行ったために動きベクトルを持っていない場合には、そのブロックを参照の候補から除いて、復号化対象ブロックの動きベクトルの計算を行う(S604)。
【0076】
また、3つのブロック(A、B、CまたはA、B、D)のうち、全てのブロックを参照できない場合は、復号化対象ブロックの動きベクトルを「0」とし、復号化対象ピクチャの直前のピクチャを参照する。動き補償復号部204は、参照されたこれらの動きベクトルの中から、復号化対象ピクチャに表示順で最も近いピクチャを参照するもののみを取り出すと、ピクチャP93を参照する動きベクトルMVA1、動きベクトルMVB1および動きベクトルMVC1が得られる。動き補償復号部204は、さらに、これらの中央値もしくは平均値を取る。例えば、ここでは3個の動きベクトルが得られたので中央値を取る。これにより、ブロックBL51の動き補償を行うための1つの動きベクトルMV1を決定することができる。
【0077】
以上のように上記実施の形態では、表示順で後方にあるピクチャを参照出来ない環境下においても、直接モードを用いて予測復号化する際に表示順で後方にあるピクチャを参照することなく直接モードを実現する方法を提案し、高い符号化効率を実現する復号化方法を示した。
【0078】
なお上記第1の方法では、参照された動きベクトルのうちで復号化対象ピクチャに表示順で一番近いピクチャを参照するものを取り出したが、参照された動きベクトルの中から復号化対象ピクチャの直前のピクチャを参照するもののみを取り出すとしてもよい。図4に示した例の場合、参照された動きベクトルに参照されるピクチャのうち、復号化対象ピクチャに表示順で最も近いピクチャは、復号化対象ピクチャの直前のピクチャであるので、得られる動きベクトルは同じである。もし、表示順で一番近いピクチャを参照する動きベクトルが1つも無かった場合は、復号化対象ブロックの動きベクトルを「0」として直接モードによる復号化を行う。
【0079】
また上記第1の方法では、直接モードにおいて用いる動きベクトルを決定する際に、周辺の復号化済みブロックが参照するピクチャの中から表示順で復号化対象ピクチャから最も手前にあるピクチャを参照している動きベクトルだけを取り出して最終的に1個の動きベクトルを算出したが、その代わりに、第2の方法として、表示順で復号化対象ピクチャの手前からN枚のピクチャを参照する動きベクトルを取り出し、参照しているピクチャごとに1つずつの動きベクトルを決定し、得られたN個の動きベクトルを直接モードでの予測復号化に用いる動きベクトルとして前方向のみを参照する動き補償を行うことも可能である。このとき予測画像はN個の動きベクトルによって指定されたN個の領域の画素値の平均を算出することによって生成される。
【0080】
なお、単純な平均ではなく、各領域の画素値に重みを付けて平均をとる方法によって予測画像を生成することも可能である。この方法を用いることにより、表示順で画素値が序々に変化するような画像列に対してより精度の高い動き補償を実現することが可能となる。
【0081】
図7は、表示順で復号化対象ピクチャの手前から2枚のピクチャを参照する動きベクトルを取り出して2個の動きベクトルを算出する場合の動きベクトル参照方法の一例を表している。ピクチャP104が現在復号化を行っているピクチャであり、BL51が直接モードによる予測復号化を行うブロックである。参照の対象となる複数の動きベクトルが参照しているピクチャの中で表示順で最も手前にあるピクチャP103を参照している動きベクトルMVA1、動きベクトルMVB1および動きベクトルMVC1を用いてその中央値もしくは平均値を取ることにより動きベクトルMV1が決定され、さらに表示順で2つ前にあるピクチャP102を参照している動きベクトルの中央値もしくは平均値、つまりMVC2そのものを取ることにより動きベクトルMV2が決定され、これら2つの動きベクトルを用いて直接モードによる復号化がなされる。
【0082】
なお、図18(a)および図18(b)において参照されるブロックの動きベクトルの中から表示順で手前から1枚もしくはN枚のピクチャを参照するもののみを使用するという方法の代わりに、指定されたピクチャを参照する動きベクトルのみを取り出して直接モードにおいて使用される復号化対象ブロックの動きベクトルの値を決定し、前記指定されたピクチャから動き補償を行うということも可能である。
【0083】
なお、直接モードを用いて復号化を行う際に、図18(a)および図18(b)のような位置関係にある符号化済みのブロックを参照して動き補償を行う代わりに、復号化対象ブロックの動きベクトルの値を「0」、参照するピクチャを直前のピクチャとして直接モードによる動き補償を行うことも可能である。この方法を用いると、直接モードに使用する動きベクトルを算出するステップを行う必要がなくなるため、復号化処理の単純化を図ることが出来る。
【0084】
なお、対応する符号化処理において、直接モードで符号化済みのブロックを参照せずに符号化対象ブロックの動きベクトルの値を「0」として動き補償を行うことを示すフラグが符号化されていた場合は、前記フラグの値を解釈することにより前記動作に切り替えて直接モードによる動き予測を行うことができる。
【0085】
なお、上記の方法では、3つのブロックを参照して得られた動きベクトルのうちから、それらが参照しているピクチャの中で復号化対象ピクチャに表示順で最も近い位置にあるピクチャを参照している動きベクトルを取り出すとしたが、本発明はこれに限定されない。例えば、復号化対象ピクチャに復号化順で最も近い位置にあるピクチャを参照している動きベクトルを取り出すとしてもよい。
【0086】
(実施の形態3)
本発明の実施の形態3の動画像符号化方法を図1に示したブロック図を用いて説明する。
符号化対象となる動画像は時間順にピクチャ単位でフレームメモリ101に入力される。各々のピクチャはマクロブロックと呼ばれる例えば水平16×垂直16画素のブロックに分割されブロック単位で以降の処理が行われる。
【0087】
フレームメモリ101から読み出されたマクロブロックは動きベクトル検出部106に入力される。ここではフレームメモリ105に蓄積されている符号化済みのピクチャを復号化した画像を参照ピクチャとして用いて、符号化対象としているマクロブロックの動きベクトル検出を行う。
【0088】
モード選択部107では動きベクトル記憶部108に記憶されている符号化済みのピクチャで用いた動きベクトルを参照しつつ最適な予測モードを決定する。このとき表示順で後方にあるピクチャが既に符号化されているかどうかを後方ピクチャ判定部109において判定し、もし後方のピクチャが符号化されていないと判定された場合は、Bピクチャの符号化において表示順で後方にあるピクチャを参照する予測モードは選択されないように制限される。
【0089】
図10はBピクチャにおける予測モードを識別するためのコードと符号化モードとを対応付けるテーブルの例を示したものである。予測方向が制限されていない場合は図10(a)のように全ての参照パターンを示すテーブルを用いるが、予測方向が前方のみに制限されている場合は図10(b)のように後方を参照するパターンを全て除いたテーブルに作り直してそれを参照する。これにより、予測モードを識別するための符号に必要とされるビット量を削減することが可能となる。なお、図10(a)および図10(b)のテーブルにおける各項目は、これ以外の値を用いた場合も同様に扱うことができる。
【0090】
図2は表示順で後方のピクチャを参照することが出来ない場合の各ピクチャの参照関係を示したものである。シーケンスに含まれる全てのBピクチャは表示順で前方にある1枚もしくは複数の符号化済みピクチャを参照して予測符号化を行っている。
【0091】
得られた動きベクトルによって決定された予測画像が差分演算部110に入力され、符号化対象のマクロブロックとの差分をとることにより予測残差画像が生成され、予測残差符号化部102において符号化が行われる。以上の処理の流れはピクチャ間予測符号化が選択された場合の動作であったが、スイッチ112によってピクチャ内予測符号化との切り替えがなされる。最後に符号列生成部103によって、動きベクトル等の制御情報および予測残差符号化部102から出力される画像情報等に対し可変長符号化を施し、最終的に出力される符号列が生成される。
【0092】
以上符号化の流れの概要を示したが、動きベクトル検出部106およびモード選択部107における処理の詳細について以下で説明する。ただし、ここでは後方ピクチャ判定部109において後方のピクチャが符号化されていないと判定された場合を考える。
【0093】
動きベクトルの検出はマクロブロックごともしくはマクロブロックを分割した領域ごとに行われる。符号化の対象としているマクロブロックは既に符号化済みのピクチャを参照ピクチャとし、そのピクチャ内の探索領域において最適と予測される位置を示す動きベクトルおよび予測モードを決定することにより予測画像を作成する。
【0094】
表示順で後方のピクチャが符号化されていない環境下において、Bピクチャの予測符号化を行う際にモード選択部107によって直接モードが選択された場合、従来の技術で述べた表示順で直後のピクチャを参照して動きベクトルとして用いる代わりに、符号化対象のブロックの周辺に位置する符号化済みブロックの動きベクトルを参照することによって直接モードを実現する。
【0095】
まず、符号化対象ブロックの周辺に位置する符号化済みブロックがそれぞれ1つの動きベクトルを持っている場合について説明する。図18は参照するブロックの位置関係を表したものである。図18(a)は直接モードでの符号化を行うブロックBL51が16画素×16画素のサイズであった場合の例であり、図18(b)は直接モードでの符号化を行うブロックBL52が8画素×8画素のサイズであった場合の例である。いずれの場合も基本的にA、B、Cの位置関係にある3つのブロックの動きベクトルを参照する。ただし、下記の条件の場合は参照を行わず、符号化対象ブロックの動きベクトルの値を「0」として直前のピクチャを参照して直接モードによる動き補償を行う。
【0096】
1、AもしくはBがピクチャの外部もしくはスライスの外部であった場合。
2、AもしくはBが直前のピクチャを参照する値「0」の動きベクトルを持つ場合。
参照の対象となったA、B、Cの3つのブロックが持つ動きベクトルの中から直前のピクチャを参照するもののみを取り出し、その中央値もしくは平均値を取ることによって実際に直接モードにおいて使用する動きベクトルとする。ただし、ブロックCが参照不可の場合は代わりにブロックDを用いるものとする。
【0097】
図19はそのときの動きベクトルの参照関係の例を示したものである。ピクチャP64に属するブロックBL51を現在符号化しているブロックとする。この例では直前のピクチャを参照する動きベクトルはMVA1のみとなり、直接モードにおいて用いられる動きベクトルMV1はMVA1の値をそのまま使用することになる。なお、参照するブロックの位置関係は図18(a)および図18(b)で示したA、B、C,D以外の場所を用いた場合も同様である。
【0098】
図19の例は参照される符号化済みブロックが1つずつの動きベクトルを持っている場合についてのものであった。しかし、Bピクチャの予測モードの中には表示順で前方にある2枚のピクチャを同時に参照して動き補償を行うものも含まれている。そのようなモードの場合は1つのブロックが2つの動きベクトルを持っていることになる。
【0099】
以下では、符号化対象ブロックの周辺に位置する符号化済みブロックに2つの動きベクトルを持つブロックが含まれている場合について説明する。図4は、符号化対象ブロックの周辺に位置する符号化済みブロックに2つの動きベクトルを持つブロックが含まれている場合の動きベクトルの参照関係の例を表した図である。ピクチャP94が現在符号化を行っているピクチャであり、ブロックBL51が直接モードによる予測符号化を行うブロックである。参照の対象となるブロックの持つ全ての動きベクトルが参照しているピクチャの中で、表示順で最も直前にあるピクチャであるピクチャP93を参照している動きベクトルMVA1、MVB1およびMVC1を用いてその中央値もしくは平均値を取ることにより、直接モードでの予測符号化に用いる動きベクトルMV1が決定され前方向のみを参照する動き補償を行う。
【0100】
以上のように上記実施の形態では、表示順で後方にあるピクチャを参照出来ない環境下においても、直接モードを用いて予測符号化する際に表示順で後方にあるピクチャを参照することなく直接モードを実現する方法を提案し、さらに、符号化モードのテーブルから後方のピクチャを参照する項目を除くことによりテーブルの項目数を少なくすることが可能となり、高い符号化効率を実現する符号化方法を示した。
【0101】
なお、直接モードにおいて用いる動きベクトルを決定する際に、周辺の符号化済みブロックが参照するピクチャの中から最も表示順で手前にあるピクチャを参照している動きベクトルだけを取り出して1個の動きベクトルを算出する代わりに、手前からN枚のピクチャを参照する動きベクトルを取り出し、参照しているピクチャごとに1つずつの動きベクトルを決定し、得られたN個の動きベクトルを直接モードでの予測符号化に用いる動きベクトルとして前方向のみを参照する動き補償を行うことも可能である。このとき予測画像はN個の動きベクトルによって指定されたN個の領域の画素値の平均を算出することによって生成される。
【0102】
なお、単純な平均ではなく、各領域の画素値に重みを付けて平均をとる方法によって予測画像を生成することも可能である。この方法を用いることにより、表示順で画素値が序々に変化するような画像列に対してより精度の高い動き補償を実現することが可能となる。
【0103】
図7は上記のケースにおけるN=2のときの動きベクトル参照方法の例を表したものである。P104が現在符号化を行っているピクチャであり、BL51が直接モードによる予測符号化を行うブロックである。参照の対象となる複数の動きベクトルが参照しているピクチャの中で表示順で最も手前にあるピクチャP103を参照している動きベクトルMVA1およびMVB1およびMVC1を用いてその中央値もしくは平均値を取ることにより動きベクトルMV1が決定され、さらに表示順で2つ前にあるピクチャP102を参照している動きベクトルの中央値もしくは平均値、つまりMVC2そのものを取ることにより動きベクトルMV2が決定され、これら2つの動きベクトルを用いて直接モードによる符号化がなされる。
【0104】
なお、図18(a)および図18(b)において動きベクトルを参照されるブロックを決定する方法として、前記実施の形態で述べた方法の代わりに、下記の条件を用いることも可能である。
1、AおよびDが参照不可の場合はそれらの動きベクトルを「0」として参照する。
2、BおよびCおよびDが参照不可の場合はAのみを参照する。
3、Cのみが参照不可の場合はA、B、Dを参照する。
4、上記2および3以外の場合はA、B、Cを参照する。
【0105】
なお、図18(a)および図18(b)において参照されるブロックの動きベクトルの中から表示順で手前から1枚もしくはN枚のピクチャを参照するもののみを使用するという方法の代わりに、指定されたピクチャを参照する動きベクトルのみを取り出して直接モードにおいて使用される符号化対象ブロックの動きベクトルの値を決定し、前記指定されたピクチャから動き補償を行うということも可能である。
【0106】
なお、直接モードを用いて符号化を行う際に、図18(a)および図18(b)のような位置関係にあるブロックを参照して動き補償を行う代わりに、符号化対象ブロックの動きベクトルの値を「0」、参照するピクチャを直前のピクチャとして直接モードによる動き補償を行うことも可能である。この方法を用いると、直接モードに使用する動きベクトルを算出するステップを行う必要がなくなるため、符号化処理の単純化を図ることが出来る。
【0107】
なお、上記実施の形態では、3つのブロックを参照して得られた動きベクトルのうちから、それらが参照しているピクチャの中で符号化対象ピクチャに表示順で最も近い位置にあるピクチャを参照している動きベクトルを取り出すとしたが、本発明はこれに限定されない。例えば、符号化対象ピクチャに符号化順で最も近い位置にあるピクチャを参照している動きベクトルを取り出すとしてもよい。
【0108】
(実施の形態4)
本発明の実施の形態4の動画像復号化方法を図8に示したブロック図を用いて説明する。ただし、実施の形態3の動画像符号化方法で生成された符号列が入力されるものとする。
【0109】
まず入力された符号列から符号列解析部201によって動きベクトル情報および予測残差符号化データ等の各種の情報が抽出される。ここで抽出された動きベクトル情報は動き補償復号部204に、予測残差符号化データは予測残差復号化部202にそれぞれ出力される。動き補償復号部204ではフレームメモリ203に蓄積されている復号化済みのピクチャの復号化画像を参照ピクチャとし、入力された動きベクトル情報に基づいて予測画像を生成する。このとき表示順で後方にあるピクチャが既に符号化されているかどうかを後方ピクチャ判定部206において判定し、もし後方のピクチャが符号化されていないと判定された場合は、Bピクチャの符号化において表示順で後方にあるピクチャを参照する予測モードは選択されないように制限される。
【0110】
図10はBピクチャにおける予測モードを識別するためのコードと符号化モードとを対応付けるテーブルの例を示したものである。予測方向が制限されていない場合は図10(a)のように全ての参照パターンを示すテーブルを用いるが、予測方向が前方のみに制限されている場合は図10(b)のように後方を参照するパターンを全て除いたテーブルに作り直してそれを参照する。なお、図10(a)および図10(b)のテーブルにおける各項目は、これ以外の値を用いた場合も同様に扱うことができる。
【0111】
このようにして生成された予測画像は加算演算部207に入力され、予測残差復号化部202において生成された予測残差画像との加算を行うことにより復号化画像が生成される。予測方向が制限されていない場合は、生成された復号化画像はフレームメモリ203において表示される順にピクチャの並び替えを行うが、表示順で後方にあるピクチャを参照することが出来ない場合は、並び替えを行うことなく復号化された順に表示することが可能となる。以上の実施の形態はピクチャ間予測符号化がなされている符号列に対する動作であったが、スイッチ208によってピクチャ内予測符号化がなされている符号列に対する復号化処理との切り替えがなされる。
【0112】
以上復号化の流れの概要を示したが、動き補償復号部204における処理の詳細について以下で説明する。ただし、ここでは後方ピクチャ判定部206において後方のピクチャが復号化されていないと判定された場合を考える。
動きベクトル情報はマクロブロックごともしくはマクロブロックを分割した領域ごとに付加されている。復号化の対象としているマクロブロックは既に復号化済みのピクチャを参照ピクチャとし、復号化された動きベクトルによってそのピクチャ内から動き補償を行うための予測画像を作成する。
【0113】
表示順で後方のピクチャが復号化されていない環境下において、Bピクチャの予測復号化において直接モードが指示された場合、従来の技術で述べた表示順で直後のピクチャを参照して動きベクトルとして用いる代わりに、復号化対象のブロックの周辺に位置する復号化済みブロックの動きベクトルを参照することによって直接モードを実現する。
【0114】
まず、復号化対象ブロックの周辺に位置する復号化済みブロックがそれぞれ1つの動きベクトルを持っている場合について説明する。図18は参照するブロックの位置関係を表したものである。図18(a)は直接モードでの復号化を行うブロックBL51が16画素×16画素のサイズであった場合の例であり、図18(b)は直接モードでの復号化を行うブロックBL52が8画素×8画素のサイズであった場合の例である。いずれの場合も基本的にA、B、Cの位置関係にある3つのブロックの動きベクトルを参照する。ただし、下記の条件の場合は参照を行わず、復号化対象ブロックの動きベクトルの値を「0」として直前のピクチャを参照して直接モードによる動き補償を行う。
1、AもしくはBがピクチャの外部もしくはスライスの外部であった場合。
2、AもしくはBが直前のピクチャを参照する値「0」の動きベクトルを持つ場合。
【0115】
参照の対象となったA、B、Cの3つのブロックが持つ動きベクトルの中から直前のピクチャを参照するもののみを取り出し、その中央値もしくは平均値を取ることによって実際に直接モードにおいて使用する動きベクトルとする。ただし、ブロックCが参照不可の場合は代わりにブロックDを用いるものとする。
【0116】
図19はそのときの動きベクトルの参照関係の例を示したものである。ピクチャP64に属するブロックBL51を現在復号化しているブロックとする。この例では直前のピクチャを参照する動きベクトルはMVA1のみとなり、直接モードにおいて用いられる動きベクトルMV1はMVA1の値をそのまま使用することになる。なお、参照するブロックの位置関係は図18(a)および図18(b)で示したA、B、C,D以外の場所を用いた場合も同様である。
【0117】
図19の例は参照される復号化済みブロックが1つずつの動きベクトルを持っている場合についてのものであった。しかし、Bピクチャの予測モードの中には表示順で前方にある2枚のピクチャを同時に参照して動き補償を行うものも含まれている。そのようなモードの場合は1つのブロックが2つの動きベクトルを持っていることになる。
【0118】
以下では、復号化対象ブロックの周辺に位置する復号化済みブロックに2つの動きベクトルを持つブロックが含まれている場合について説明する。図4はそのような場合の動きベクトルの参照関係の例を表したものである。P94が現在復号化を行っているピクチャであり、BL51が直接モードによる予測復号化を行うブロックである。参照の対象となるブロックの持つ全ての動きベクトルが参照しているピクチャの中で、表示順で最も直前にあるピクチャであるピクチャP93を参照している動きベクトルMVA1およびMVB1およびMVC1を用いてその中央値もしくは平均値を取ることにより、直接モードでの予測復号化に用いる動きベクトルMV1が決定され前方向のみを参照する動き補償を行う。
【0119】
以上のように上記実施の形態では、表示順で後方にあるピクチャを参照出来ない環境下においても、直接モードを用いて予測復号化する際に表示順で後方にあるピクチャを参照することなく直接モードを実現する方法を提案し、さらに、符号化モードのテーブルから後方のピクチャを参照する項目を除くことによりテーブルの項目数を少なくし、高い符号化効率を実現する復号化方法を示した。
【0120】
なお、直接モードにおいて用いる動きベクトルを決定する際に、周辺の復号化済みブロックが参照するピクチャの中から最も表示順で手前にあるピクチャを参照している動きベクトルだけを取り出して1個の動きベクトルを算出する代わりに、手前からN枚のピクチャを参照する動きベクトルを取り出し、参照しているピクチャごとに1つずつの動きベクトルを決定し、得られたN個の動きベクトルを直接モードでの予測復号化に用いる動きベクトルとして前方向のみを参照する動き補償を行うことも可能である。このとき予測画像はN個の動きベクトルによって指定されたN個の領域の画素値の平均を算出することによって生成される。
【0121】
なお、単純な平均ではなく、各領域の画素値に重みを付けて平均をとる方法によって予測画像を生成することも可能である。この方法を用いることにより、表示順で画素値が序々に変化するような画像列に対してより精度の高い動き補償を実現することが可能となる。
【0122】
図7は上記のケースにおけるN=2のときの動きベクトル参照方法の例を表したものである。P104が現在復号化を行っているピクチャであり、BL51が直接モードによる予測復号化を行うブロックである。参照の対象となる複数の動きベクトルが参照しているピクチャの中で表示順で最も手前にあるピクチャP103を参照している動きベクトルMVA1およびMVB1およびMVC1を用いてその中央値もしくは平均値を取ることにより動きベクトルMV1が決定され、さらに表示順で2つ前にあるピクチャP102を参照している動きベクトルの中央値もしくは平均値、つまりMVC2そのものを取ることにより動きベクトルMV2が決定され、これら2つの動きベクトルを用いて直接モードによる復号化がなされる。
【0123】
なお、図18(a)および図18(b)において動きベクトルを参照されるブロックを決定する方法として、前記実施の形態で述べた方法の代わりに、下記の条件を用いることも可能である。
1、AおよびDが参照不可の場合はそれらの動きベクトルを「0」として参照する。
2、BおよびCおよびDが参照不可の場合はAのみを参照する。
3、Cのみが参照不可の場合はA、B、Dを参照する。
4、上記2および3以外の場合はA,B、Cを参照する。
【0124】
なお、図18(a)および図18(b)において参照されるブロックの動きベクトルの中から表示順で手前から1枚もしくはN枚のピクチャを参照するもののみを使用するという方法の代わりに、指定されたピクチャを参照する動きベクトルのみを取り出して直接モードにおいて使用される復号化対象ブロックの動きベクトルの値を決定し、前記指定されたピクチャから動き補償を行うということも可能である。
【0125】
なお、直接モードを用いて復号化を行う際に、図18(a)および図18(b)のような位置関係にあるブロックを参照して動き補償を行う代わりに、復号化対象ブロックの動きベクトルの値を「0」、参照するピクチャを直前のピクチャとして直接モードによる動き補償を行うことも可能である。この方法を用いると、直接モードに使用する動きベクトルを算出するステップを行う必要がなくなるため、復号化処理の単純化を図ることが出来る。
【0126】
(実施の形態5)
さらに、上記実施の形態で示した動画像符号化方法または動画像復号化方法の構成を実現するためのプログラムを、フレキシブルディスク等の記録媒体に記録するようにすることにより、上記実施の形態1で示した処理を、独立したコンピュータシステムにおいて簡単に実施することが可能となる。
【0127】
図11は、上記実施の形態1の動画像符号化方法または動画像復号化方法を格納したフレキシブルディスクを用いて、コンピュータシステムにより実施する場合の説明図である。
【0128】
図11(b)は、フレキシブルディスクの正面からみた外観、断面構造、及びフレキシブルディスクを示し、図11(a)は、記録媒体本体であるフレキシブルディスクの物理フォーマットの例を示している。フレキシブルディスクFDはケースF内に内蔵され、該ディスクの表面には、同心円状に外周からは内周に向かって複数のトラックTrが形成され、各トラックは角度方向に16のセクタSeに分割されている。従って、上記プログラムを格納したフレキシブルディスクでは、上記フレキシブルディスクFD上に割り当てられた領域に、上記プログラムとしての動画像符号化方法が記録されている。
【0129】
また、図11(c)は、フレキシブルディスクFDに上記プログラムの記録再生を行うための構成を示す。上記プログラムをフレキシブルディスクFDに記録する場合は、コンピュータシステムCsから上記プログラムとしての動画像符号化方法または動画像復号化方法をフレキシブルディスクドライブを介して書き込む。また、フレキシブルディスク内のプログラムにより上記動画像符号化方法をコンピュータシステム中に構築する場合は、フレキシブルディスクドライブによりプログラムをフレキシブルディスクから読み出し、コンピュータシステムに転送する。
【0130】
なお、上記説明では、記録媒体としてフレキシブルディスクを用いて説明を行ったが、光ディスクを用いても同様に行うことができる。また、記録媒体はこれに限らず、ICカード、ROMカセット等、プログラムを記録できるものであれば同様に実施することができる。
【0131】
(実施の形態6)
さらにここで、上記実施の形態で示した動画像符号化方法や動画像復号化方法の応用例とそれを用いたシステムを説明する。
【0132】
図12は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示すブロック図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex107〜ex110が設置されている。
【0133】
このコンテンツ供給システムex100は、例えば、インターネットex101にインターネットサービスプロバイダex102および電話網ex104、および基地局ex107〜ex110を介して、コンピュータex111、PDA(personal digital assistant)ex112、カメラex113、携帯電話ex114、カメラ付きの携帯電話ex115などの各機器が接続される。
【0134】
しかし、コンテンツ供給システムex100は図12のような組合せに限定されず、いずれかを組み合わせて接続するようにしてもよい。また、固定無線局である基地局ex107〜ex110を介さずに、各機器が電話網ex104に直接接続されてもよい。
【0135】
カメラ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)等であり、いずれでも構わない。
【0136】
また、ストリーミングサーバex103は、カメラex113から基地局ex109、電話網ex104を通じて接続されており、カメラex113を用いてユーザが送信する符号化処理されたデータに基づいたライブ配信等が可能になる。撮影したデータの符号化処理はカメラex113で行っても、データの送信処理をするサーバ等で行ってもよい。
【0137】
また、カメラex116で撮影した動画データはコンピュータex111を介してストリーミングサーバex103に送信されてもよい。カメラex116はデジタルカメラ等の静止画、動画が撮影可能な機器である。この場合、動画データの符号化はカメラex116で行ってもコンピュータex111で行ってもどちらでもよい。また、符号化処理はコンピュータex111やカメラex116が有するLSIex117において処理することになる。
【0138】
なお、動画像符号化・復号化用のソフトウェアをコンピュータex111等で読み取り可能な記録媒体である何らかの蓄積メディア(CD−ROM、フレキシブルディスク、ハードディスクなど)に組み込んでもよい。さらに、カメラ付きの携帯電話ex115で動画データを送信してもよい。このときの動画データは携帯電話ex115が有するLSIで符号化処理されたデータである。
【0139】
このコンテンツ供給システムex100では、ユーザがカメラex113、カメラex116等で撮影しているコンテンツ(例えば、音楽ライブを撮影した映像等)を上記実施の形態同様に符号化処理してストリーミングサーバex103に送信する一方で、ストリーミングサーバex103は要求のあったクライアントに対して上記コンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号化することが可能な、コンピュータex111、PDAex112、カメラex113、携帯電話ex114等がある。
【0140】
このようにすることでコンテンツ供給システムex100は、符号化されたデータをクライアントにおいて受信して再生することができ、さらにクライアントにおいてリアルタイムで受信して復号化し、再生することにより、個人放送をも実現可能になるシステムである。
【0141】
このシステムを構成する各機器の符号化、復号化には上記各実施の形態で示した動画像符号化装置あるいは動画像復号化装置を用いるようにすればよい。
その一例として携帯電話について説明する。
【0142】
図13は、上記実施の形態で説明した動画像符号化方法と動画像復号化方法を用いた携帯電話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)の一種であるフラッシュメモリ素子を格納したものである。
【0143】
さらに、携帯電話ex115について図14を用いて説明する。携帯電話ex115は表示部ex202及び操作キーex204を備えた本体部の各部を統括的に制御するようになされた主制御部ex311に対して、電源回路部ex310、操作入力制御部ex304、画像符号化部ex312、カメラインターフェース部ex303、LCD(Liquid Crystal Display)制御部ex302、画像復号化部ex309、多重分離部ex308、記録再生部ex307、変復調回路部ex306及び音声処理部ex305が同期バスex313を介して互いに接続されている。
【0144】
電源回路部ex310は、ユーザの操作により終話及び電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することによりカメラ付ディジタル携帯電話ex115を動作可能な状態に起動する。
【0145】
携帯電話ex115は、CPU、ROM及びRAM等でなる主制御部ex311の制御に基づいて、音声通話モード時に音声入力部ex205で集音した音声信号を音声処理部ex305によってディジタル音声データに変換し、これを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex201を介して送信する。また携帯電話機ex115は、音声通話モード時にアンテナex201で受信した受信データを増幅して周波数変換処理及びアナログディジタル変換処理を施し、変復調回路部ex306でスペクトラム逆拡散処理し、音声処理部ex305によってアナログ音声データに変換した後、これを音声出力部ex208を介して出力する。
【0146】
さらに、データ通信モード時に電子メールを送信する場合、本体部の操作キーex204の操作によって入力された電子メールのテキストデータは操作入力制御部ex304を介して主制御部ex311に送出される。主制御部ex311は、テキストデータを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex201を介して基地局ex110へ送信する。
【0147】
データ通信モード時に画像データを送信する場合、カメラ部ex203で撮像された画像データをカメラインターフェース部ex303を介して画像符号化部ex312に供給する。また、画像データを送信しない場合には、カメラ部ex203で撮像した画像データをカメラインターフェース部ex303及びLCD制御部ex302を介して表示部ex202に直接表示することも可能である。
【0148】
画像符号化部ex312は、本願発明で説明した動画像符号化装置を備えた構成であり、カメラ部ex203から供給された画像データを上記実施の形態で示した動画像符号化装置に用いた符号化方法によって圧縮符号化することにより符号化画像データに変換し、これを多重分離部ex308に送出する。また、このとき同時に携帯電話機ex115は、カメラ部ex203で撮像中に音声入力部ex205で集音した音声を音声処理部ex305を介してディジタルの音声データとして多重分離部ex308に送出する。
【0149】
多重分離部ex308は、画像符号化部ex312から供給された符号化画像データと音声処理部ex305から供給された音声データとを所定の方式で多重化し、その結果得られる多重化データを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex201を介して送信する。
【0150】
データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、アンテナex201を介して基地局ex110から受信した受信データを変復調回路部ex306でスペクトラム逆拡散処理し、その結果得られる多重化データを多重分離部ex308に送出する。
【0151】
また、アンテナex201を介して受信された多重化データを復号化するには、多重分離部ex308は、多重化データを分離することにより画像データのビットストリームと音声データのビットストリームとに分け、同期バスex313を介して当該符号化画像データを画像復号化部ex309に供給すると共に当該音声データを音声処理部ex305に供給する。
【0152】
次に、画像復号化部ex309は、本願発明で説明した動画像復号化装置を備えた構成であり、画像データのビットストリームを上記実施の形態で示した符号化方法に対応した復号化方法で復号することにより再生動画像データを生成し、これをLCD制御部ex302を介して表示部ex202に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まれる動画データが表示される。このとき同時に音声処理部ex305は、音声データをアナログ音声データに変換した後、これを音声出力部ex208に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まる音声データが再生される。
【0153】
なお、上記システムの例に限られず、最近は衛星、地上波によるディジタル放送が話題となっており、図15に示すようにディジタル放送用システムにも上記実施の形態の少なくとも動画像符号化装置または動画像復号化装置のいずれかを組み込むことができる。具体的には、放送局ex409では映像情報のビットストリームが電波を介して通信または放送衛星ex410に伝送される。これを受けた放送衛星ex410は、放送用の電波を発信し、この電波を衛星放送受信設備をもつ家庭のアンテナex406で受信し、テレビ(受信機)ex401またはセットトップボックス(STB)ex407などの装置によりビットストリームを復号化してこれを再生する。
【0154】
また、記録媒体であるCDやDVD等の蓄積メディアex402に記録したビットストリームを読み取り、復号化する再生装置ex403にも上記実施の形態で示した動画像復号化装置を実装することが可能である。この場合、再生された映像信号はモニタex404に表示される。また、ケーブルテレビ用のケーブルex405または衛星/地上波放送のアンテナex406に接続されたセットトップボックスex407内に動画像復号化装置を実装し、これをテレビのモニタex408で再生する構成も考えられる。このときセットトップボックスではなく、テレビ内に動画像復号化装置を組み込んでも良い。
【0155】
また、アンテナex411を有する車ex412で衛星ex410からまたは基地局ex107等から信号を受信し、車ex412が有するカーナビゲーションex413等の表示装置に動画を再生することも可能である。
【0156】
更に、画像信号を上記実施の形態で示した動画像符号化装置で符号化し、記録媒体に記録することもできる。具体例としては、DVDディスクex421に画像信号を記録するDVDレコーダや、ハードディスクに記録するディスクレコーダなどのレコーダex420がある。更にSDカードex422に記録することもできる。レコーダex420が上記実施の形態で示した動画像復号化装置を備えていれば、DVDディスクex421やSDカードex422に記録した画像信号を再生し、モニタex408で表示することができる。
【0157】
なお、カーナビゲーションex413の構成は例えば図14に示す構成のうち、カメラ部ex203とカメラインターフェース部ex303、画像符号化部ex312を除いた構成が考えられ、同様なことがコンピュータex111やテレビ(受信機)ex401等でも考えられる。
【0158】
また、上記携帯電話ex114等の端末は、符号化器・復号化器を両方持つ送受信型の端末の他に、符号化器のみの送信端末、復号化器のみの受信端末の3通りの実装形式が考えられる。
このように、上記実施の形態で示した動画像符号化方法あるいは動画像復号化方法を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記実施の形態で説明した効果を得ることができる。
【0159】
また、本発明はかかる上記実施形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形または修正が可能である。
本発明に係る動画像符号化装置は、通信機能を備えるパーソナルコンピュータ、PDA、ディジタル放送の放送局および携帯電話機などに備えられる動画像符号化装置として有用である。
【0160】
また、本発明に係る動画像復号化装置は、通信機能を備えるパーソナルコンピュータ、PDA、ディジタル放送を受信するSTBおよび携帯電話機などに備えられる動画像復号化装置として有用である。
【0161】
【発明の効果】
以上のように、本発明の動画像符号化方法によると、時間的に後方にあるピクチャを参照出来ない環境下においても、直接モードを用いて予測符号化する際に時間的に後方にあるピクチャを参照することなく直接モードを実現する方法を提案し、さらに、符号化モードのテーブルから後方のピクチャを参照する項目を除くことによりテーブルの項目数を少なくし高い符号化効率を実現することを可能とする。
【0162】
また、本発明の動画像復号化方法によると、時間的に後方にあるピクチャを参照出来ない環境下においても、直接モードを用いて予測復号化する際に時間的に後方にあるピクチャを参照することなく直接モードを実現する方法を提案し、さらに、符号化モードのテーブルから後方のピクチャを参照する項目を除くことによりテーブルの項目数を少なくし、高い符号化効率によって符号化された符号列を矛盾無く復号化することを可能とする。
【図面の簡単な説明】
【図1】実施の形態1の動画像符号化方法を実行する動画像符号化装置の構成を示すブロック図である。
【図2】符号化対象ブロックが属するピクチャから表示順で後方にあるピクチャを参照することが出来ない場合の各ピクチャの参照関係の一例を示す図である。
【図3】直接モードが選択された場合のモード選択部の動作の一例を示すフローチャートである。
【図4】動きベクトルを参照される符号化済みブロックに2つの動きベクトルを持つブロックが含まれている場合の動きベクトルの参照関係の一例を示す図である。
【図5】図1に示したモード選択部が第1の方法を用いて符号化対象ブロックの空間的予測を行う場合の処理手順の一例を示すフローチャートである。
【図6】図1に示した符号列生成部で生成される符号列のスライスごとのデータ構造の一例を示す図である。
【図7】表示順で符号化対象ピクチャの手前から2枚のピクチャを参照する動きベクトルを取り出して2個の動きベクトルを算出する場合の動きベクトル参照方法の一例を表した図である。
【図8】本実施の形態の動画像復号化装置の構成を示すブロック図である。
【図9】図8に示した動き補償復号部における直接モードによる復号化の処理手順を示すフローチャートである。
【図10】(a)Bピクチャにおける予測モードを識別するためのコードと符号化モードとを対応付けるテーブルの一例を示す図である。
(b)予測方向が前方のみに制限されている場合のBピクチャにおける予測モードを識別するためのコードと符号化モードとを対応付けるテーブルの一例を示す図である。
【図11】(a)記録媒体本体であるフレキシブルディスクの物理フォーマットの例を示す図である。
(b)フレキシブルディスクの正面からみた外観、断面構造、及びフレキシブルディスクを示す図である。
(c)フレキシブルディスクFDに上記プログラムの記録再生を行うための構成を示す図である。
【図12】コンテンツ配信サービスを実現するコンテンツ供給システムの全体構成を示すブロック図である。
【図13】携帯電話の外観の一例を示す図である。
【図14】携帯電話の構成を示すブロック図である。
【図15】上記実施の形態で示した符号化処理または復号化処理を行う機器、およびこの機器を用いたシステムを説明する図である。
【図16】従来の動画像符号化方法における各ピクチャと、それによって参照されるピクチャとの参照関係の例を示す図である。
【図17】(a)図16に示したピクチャB18の周辺にあるピクチャを表示順で抜き出して示す図である。
(b)ピクチャB18を図17(a)に示した参照関係で符号化する場合におけるピクチャB18の周辺ピクチャの符号化順を示す図である。
【図18】同一ピクチャ内で対象ブロックの周辺に位置する符号化済みブロックの動きベクトルを参照する場合に、動きベクトルを参照される符号化済みブロックと対象ブロックとの位置関係を表した図である。
(a)対象ブロックBL51が16画素×16画素のサイズであった場合の例である。
(b)対象ブロックBL52が8画素×8画素のサイズであった場合の例である。
【図19】Pピクチャのスキップモードの際に参照される動きベクトルとその動きベクトルによって参照される符号化済みピクチャとの一例を示した図である。
【図20】直接モードにおいて動きベクトルを決定する方法を説明するための図である。
【符号の説明】
100 動画像符号化装置
101 フレームメモリ
102 予測誤差符号化部
103 符号列生成部
104 予測残差復号化部
105 フレームメモリ
106 動きベクトル検出部
107 モード選択部
108 動きベクトル記憶部
109 後方ピクチャ判定部
200 動画像復号化装置
201 符号列解析部
202 予測残差復号化部
203 フレームメモリ
204 動き補償復号部
205 動きベクトル記憶部
206 後方ピクチャ判定部
Se セクタ
Tr トラック
FD フレキシブルディスク
F フレキシブルディスクケース
Cs コンピュータシステム
FDD フレキシブルディスクドライブ
【発明の属する技術分野】
本発明は、動画像の符号化方法および復号化方法に関し、特に時間的に前方または後方にある既に符号化済みの複数のピクチャを参照して予測符号化を行うBピクチャを対象とした予測符号化方法および予測復号化方法に関する。
【0002】
【従来の技術】
一般に動画像の符号化では、時間方向および空間方向の冗長性を削減することによって情報量の圧縮を行う。そこで時間的な冗長性の削減を目的とするピクチャ間予測符号化では、前方または後方のピクチャを参照してブロック単位で動きの検出および動き補償を行い、得られた予測画像と現在のピクチャとの差分値に対して符号化を行う。
【0003】
現在標準化中の動画像符号化方法であるH.26Lでは、ピクチャ内予測符号化をのみを行うピクチャ(Iピクチャ)、および時間的に前方にある1枚のピクチャを参照してピクチャ間予測符号化を行うピクチャ(Pピクチャ)、さらに時間的に前方にある2枚のピクチャもしくは時間的に後方にある2枚のピクチャもしくは時間的に前方および後方にあるそれぞれ1枚ずつのピクチャを参照してピクチャ間予測符号化を行うピクチャ(Bピクチャ)が提案されている。H.26L以前の符号化方法であるMPEG(Motion Picture Experts Group)1およびMPEG2およびMPEG4では、Bピクチャは同一方向には1枚のピクチャしか参照できなかったが、H.26Lでは2枚参照できるように変更されていることが1つの大きな特徴である。
【0004】
図16は、従来の動画像符号化方法における各ピクチャと、それによって参照されるピクチャとの参照関係の例を示す図である。同図において、ピクチャI1〜ピクチャB20は、この順で表示される。図17(a)は、図16に示したピクチャB18の周辺にあるピクチャを表示順で抜き出して示す図である。図17(b)は、ピクチャB18を図17(a)に示した参照関係で符号化する場合におけるピクチャB18の周辺ピクチャの符号化順を示す図である。
【0005】
ピクチャI1は参照ピクチャを持たずピクチャ内予測符号化を行い、ピクチャP10は時間的に前方にあるピクチャP7を参照しピクチャ間予測符号化を行っている。また、ピクチャB6は時間的に前方にある2つのピクチャ(ピクチャI1およびピクチャP4)を参照し、ピクチャB12は時間的に後方にある2つのピクチャ(ピクチャP13およびピクチャP16)を参照し、ピクチャB18は時間的に前方および後方にあるそれぞれ1枚ずつのピクチャ(ピクチャP16およびピクチャP19)を参照してピクチャ間予測符号化を行っている。このようにBピクチャを使用する符号化では時間的に後方にあるピクチャを参照するため、表示される順番では符号化を行うことが出来ない。つまり、図17(a)におけるピクチャB18のようなBピクチャがあった場合は、それが参照するピクチャP19を先に符号化する必要がある。そのため、ピクチャB16からピクチャB19を図17(b)のような順番に並び替えて符号化を行わなくてはならない。
【0006】
時間的に前方にある1枚のピクチャを参照してピクチャ間予測符号化を行うPピクチャの予測モードのひとつとしてスキップモードがある。スキップモードでは符号化対象ブロックに直接動きベクトルの情報を持たせずに、周辺に位置する符号化済みブロックの動きベクトルを参照して符号化対象ブロックの動き補償に使用する動きベクトルを決定し、符号化対象ブロックの属するピクチャの時間的に直前にあるPピクチャから予測画像を生成することによって動き補償を行う。
【0007】
図18は、同一ピクチャ内で対象ブロックの周辺に位置する符号化済みブロックの動きベクトルを参照する場合に、動きベクトルを参照される符号化済みブロックと対象ブロックとの位置関係を表した図である。図18(a)は符号化を行う符号化対象ブロックBL51が16画素×16画素のサイズであった場合の例であり、図18(b)は符号化を行うブロックBL52が8画素×8画素のサイズであった場合の例を示している。ここでは、Pピクチャのスキップモードの際に動きベクトルを参照される符号化済みブロックと符号化対象ブロックとの位置関係を示している。ブロックBL51がスキップモードを用いて符号化を行う16画素×16画素のブロックであり、基本的にA、B、Cの位置関係にある3つの符号化済みブロック(以下、Aの位置にあるブロックをブロックA、Bの位置にあるブロックをブロックB、Cの位置にあるブロックをブロックCという。)の動きベクトルを参照する。ただし、下記の条件に該当する場合は動きベクトルの参照を行わず、符号化対象ブロックの動きベクトルの値を「0」として直前のPピクチャを参照し、直接モードによる動き補償を行う。
【0008】
1、ブロックAもしくはブロックBが、符号化対象ブロックが属するピクチャの外部もしくはスライスの外部であった場合。
2、ブロックAもしくはブロックBが、直前のピクチャを参照する値「0」の動きベクトルを持つ場合。
【0009】
参照の対象となったブロックA、B、Cの3つのブロックが持つ動きベクトルの中から直前のPピクチャを参照する動きベクトルのみを取り出し、その中央値を取ることによって実際に直接モードにおいて使用する動きベクトルとする。ただし、ブロックCが参照不可の場合は代わりにブロックDの動きベクトルを用いるものとする。
【0010】
図19は、Pピクチャのスキップモードの際に参照される動きベクトルとその動きベクトルによって参照される符号化済みピクチャとの一例を示した図である。ピクチャP64に属するブロックBL51を現在符号化しているブロックとする。この例では直前のピクチャを参照する動きベクトルは動きベクトルMVA1のみとなり、直接モードにおいて用いられる動きベクトルMV1は、動きベクトルMVA1の値をそのまま使用することになる。このような参照方法を使用することにより動きベクトルを符号化する必要がないため、出力符号列のビット量を減らすことが可能となる。また、周辺のブロックを参照して動きベクトルを決定するため、カメラのパーン等の影響によって撮像物が一定方向に移動するような場合においてその効果が大きく得られる。
【0011】
時間的に前方にある2枚のピクチャもしくは時間的に後方にある2枚のピクチャもしくは時間的に前方および後方にあるそれぞれ1枚ずつのピクチャを参照してピクチャ間予測符号化を行うBピクチャの予測モードのひとつとして直接モードがある。直接モードでは、符号化対象のブロックには直接動きベクトルを持たせず、符号化対象ピクチャの時間的に直後にある符号化済みピクチャ内の同じ位置にあるブロックの動きベクトルを参照することによって、実際に符号化対象ブロックの動き補償を行うための2つの動きベクトルを算出し、予測画像を作成する。
【0012】
図20は、直接モードにおいて動きベクトルを決定する方法を説明するための図である。ピクチャB73が現在符号化の対象としているBピクチャであり、ピクチャP72およびピクチャP74を参照ピクチャとして、直接モードによる双方向予測を行うものである。符号化を行うブロックをブロックBL71とすると、このとき必要とされる2つの動きベクトルは、符号化済みの後方参照ピクチャであるピクチャP74の同じ位置にあるブロックBL72の持つ動きベクトルMV71を用いて決定される。動きベクトルMV71に対してピクチャ間隔TR72、TR73を用いてスケーリングを適用することによって、もしくは動きベクトルMV71に対して所定の係数をかけることによって、直接モードによって使用する2つの動きベクトルMV72、MV73が算出される。この2つの動きベクトルによって指定された2つの参照画像の画素値の平均をとることによって、ブロックBL71の符号化に必要とされる予測画像が生成される。このように、直接モードで符号化を行うブロックでは、動きベクトルを符号化する必要がないため出力符号列のビット量を減らすことが可能となる。
【0013】
【非特許文献1】
Joint Video Team (JVT) of ISO/IEC MPEG and ITU−T VCEG −− JointCommittee Draft (2002−5−10) P.99 11 B pictures
【0014】
【発明が解決しようとする課題】
しかしながら、Bピクチャの直接モードを用いた動画像の符号化では、時間的に後方にあるピクチャを参照して符号化が行われるため、前記参照される可能性のあるピクチャを符号化対象のピクチャよりも先に符号化しておく必要があった。そのため、時間的に後方にあるピクチャを先に符号化および復号化することが出来ない環境下ではBピクチャの直接モードを用いた符号化を行うことが出来なかった。
【0015】
本発明は上記のような問題点を解決するものであり、時間的に後方にあるピクチャが符号化対象ピクチャまたは復号化対象ピクチャよりも先に符号化および復号化されていない環境下においても、Bピクチャ、特に直接モードを矛盾なく使用することを可能とする方法を提案することを第1の目的とする。さらに、本発明は、符号化モードとその識別番号とを対応付けるテーブルの効率の良い参照方法を提案することによって、Bピクチャを使用した高効率による動画像の符号化方法および復号化方法を提案することを第2の目的とする。
【0016】
【課題を解決するための手段】
上記目的を達成するために、本発明の動画像符号化方法は、動画像を符号化して符号列を生成する動画像符号化方法であって、時間的に前方または後方にある符号化済みの複数のピクチャを参照して予測符号化を行うBピクチャの符号化において、符号化済みのブロックが持つ動きベクトルを参照して符号化対象ブロックの動き補償を行う直接モードを使用することを可能とする符号化ステップを含み、前記符号化ステップは、前記符号化対象ブロックの属するピクチャから表示順で一方向にある符号化済みのピクチャのみを参照して前記Bピクチャの予測符号化を行う場合、前記直接モードとして前記符号化対象ブロックの周辺に位置する同一ピクチャ内の符号化済みブロックの動きベクトルを参照して動き補償を行う動き補償ステップを含むことを特徴とする。
【0017】
また本発明の動画像符号化方法は、動画像を符号化して符号列を生成する動画像符号化方法であって、時間的に前方または後方にある符号化済みの複数のピクチャを参照して予測符号化を行うBピクチャの符号化において、符号化済みのブロックが持つ動きベクトルを参照して符号化対象ブロックの動き補償を行う直接モードを使用することを可能とする符号化ステップを含み、前記符号化ステップは、前記符号化対象ブロックの属するピクチャから表示順で一方向にある符号化済みのピクチャのみを参照して前記Bピクチャの予測符号化を行う場合、前記直接モードとして前記符号化対象ブロックの動きベクトルの値を「0」として、時間的に近い方から順に1つまたは複数のピクチャを参照して動き補償を行うことを特徴とする。
【0018】
さらに本発明の動画像符号化方法では、前記符号化ステップは、前記Bピクチャの予測符号化方法と前記予測符号化方法を識別するための識別子とを対応付けたテーブルの中から後方を参照する予測符号化方法を除いて、前記テーブルを再生成するテーブル再生成ステップを含み、前記符号化ステップでは、再生成された前記テーブルを用いて当該Bピクチャの予測符号化方法を示す前記識別子を符号化するとしてもよい。
【0019】
上記目的を達成するために、本発明の動画像復号化方法は、動画像を符号化して得られる符号列を復号化する動画像復号化方法であって、時間的に前方または後方にある復号化済みの複数のピクチャを参照して予測復号化を行うBピクチャの復号化において、復号化済みのブロックが持つ動きベクトルを参照して復号化対象ブロックの動き補償を行う直接モードを使用することを可能とする復号化ステップを含み、前記復号化ステップは、前記復号化対象ブロックの属するピクチャから時間的に一方向にある復号化済みのピクチャのみを参照して前記Bピクチャの予測復号化を行う場合、前記直接モードとして前記復号化対象ブロックの周辺に位置する同一ピクチャ内の復号化済みブロックの動きベクトルを参照して動き補償を行う動き補償ステップを含むことを特徴とする。
【0020】
また、本発明の動画像復号化方法は、動画像を符号化して得られる符号列を復号化する動画像復号化方法であって、時間的に前方または後方にある復号化済みの複数のピクチャを参照して予測復号化を行うBピクチャの復号化において、復号化済みのブロックが持つ動きベクトルを参照して復号化対象ブロックの動き補償を行う直接モードを使用することを可能とする復号化ステップを含み、前記復号化ステップは、前記復号化対象ブロックの属するピクチャから時間的に一方向にある復号化済みのピクチャのみを参照して前記Bピクチャの予測復号化を行う場合、前記直接モードとして前記復号化対象ブロックの動きベクトルの値を「0」として、時間的に近い方から順に1つまたは複数のピクチャを参照して動き補償を行うことを特徴とする。
【0021】
さらに本発明の動画像復号化方法では、前記復号化ステップは、前記Bピクチャの予測復号化方法と前記予測復号化方法を識別するための識別子とを対応付けた、予め保持しているテーブルの中から後方を参照する予測復号化方法を除いて、前記テーブルを再生成するテーブル再生成ステップを含み、前記復号化ステップでは、前記符号化列から前記Bピクチャの予測復号化方法を識別するための識別子を復号化し、再生成されたテーブルを用いて、当該Bピクチャの予測復号化方法を識別し、識別された前記予測復号化方法に従って復号化対象ブロックの予測復号化を行うとしてもよい。
【0022】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
(実施の形態1)
図1は、実施の形態1の動画像符号化方法を実行する動画像符号化装置100の構成を示すブロック図である。動画像符号化装置100は、直接モードによるBピクチャの符号化時に、符号化対象ピクチャより表示順で前方にあるピクチャのみを参照する場合には、同一ピクチャ内で符号化対象ブロックの周辺にある符号化済みブロックの動きベクトルを参照して符号化対象ブロックの動きベクトルを決定する動画像符号化装置であって、フレームメモリ101、予測残差符号化部102、符号列生成部103、予測残差復号化部104、フレームメモリ105、動きベクトル検出部106、モード選択部107、動きベクトル記憶部108、後方ピクチャ判定部109、差分演算部110、加算演算部111、スイッチ112およびスイッチ113を備える。
【0023】
フレームメモリ101、フレームメモリ105および動きベクトル記憶部108は、RAM等によって実現されるメモリであって、フレームメモリ101は、表示順で入力される動画像の各ピクチャを符号化順に並べ替えるための記憶領域を提供する。
【0024】
予測残差符号化部102は、差分演算部110で求められた予測残差にDCT変換などの周波数変換を施し、量子化して出力する。符号列生成部103は、予測残差符号化部102からの符号化結果を可変長符号化した後、出力用の符号化列のフォーマットに変換し、予測符号化方法に関連する情報を記述したヘッダなどの付加情報を付して符号列を生成する。予測残差復号化部104は、予測残差符号化部102からの符号化結果を可変長復号化し、逆量子化した後、IDCT変換などの逆周波数変換を施して復号化予測残差を生成する。
【0025】
フレームメモリ105は、予測ピクチャをピクチャ単位で保持するための記憶領域を提供する。動きベクトル検出部106は、マクロブロックまたはマクロブロックをさらに分割して得られるブロックなどの所定の単位ごとに、動きベクトルを検出する。モード選択部107では動きベクトル記憶部108に記憶されている符号化済みのピクチャで用いた動きベクトルを参照しつつ最適な予測モードを選択し、動きベクトル検出部106によって検出された動きベクトルで示される予測ピクチャ中の各ブロックをフレームメモリ105から読み出して差分演算部110に出力する。
【0026】
動きベクトル記憶部108は、符号化済みピクチャのブロックごとに検出された動きベクトルを保持するための記憶領域を提供する。後方ピクチャ判定部109は、符号化対象ピクチャよりも表示順で後方にあるピクチャが既に符号化されているかどうかを判定する。差分演算部110は、符号化対象のマクロブロックと、動きベクトルによって決定された予測画像のマクロブロックとの差分を出力する。
【0027】
加算演算部111は、予測残差復号化部104から出力される復号化予測残差と、モード選択部107から出力される予測ピクチャのブロックとを加算して、加算結果(予測ピクチャを構成するブロック)をフレームメモリ105に格納する。スイッチ112は、符号化対象ピクチャのピクチャタイプに応じて切り替えられ、画面内予測符号化を行うIピクチャではフレームメモリ101の読み出し線と予測残差符号化部102とを導通させる。これにより、フレームメモリ101から読み出された符号化対象ピクチャの各マクロブロックは、直接、予測残差符号化部102に入力される。
【0028】
また、画面間予測符号化を行うPピクチャおよびBピクチャでは、差分演算部110の出力側と予測残差符号化部102とを導通させる。これにより、差分演算部110の演算結果が予測残差符号化部102に入力される。スイッチ113は、符号化対象ピクチャのピクチャタイプに応じて導通と遮断とに切り替えられる。画面内予測符号化を行うIピクチャでは、モード選択部107の出力側と加算演算部111の入力側とが遮断され、画面間予測符号化を行うPピクチャおよびBピクチャでは、モード選択部107の出力側と加算演算部111の入力側とが導通される。これにより、画面内予測符号化を行うIピクチャでは、予測残差復号化部104によって復号化された復号化予測残差がフレームメモリ105に出力される。
【0029】
以下、本発明の実施の形態1の動画像符号化方法を図1に示したブロック図を用いて説明する。
符号化対象となる動画像は時間順にピクチャ単位でフレームメモリ101に入力される。各々のピクチャはマクロブロックと呼ばれる例えば水平16画素×垂直16画素のブロックに分割されブロック単位で以降の処理が行われる。
【0030】
フレームメモリ101から読み出されたマクロブロックは動きベクトル検出部106に入力される。動きベクトル検出部106では、フレームメモリ105に蓄積されている画像(符号化済みのピクチャをさらに復号化して得られた画像)を参照ピクチャとして用いて、符号化対象としているマクロブロックの動きベクトル検出を行う。動きベクトル検出部106では、直接モード以外の予測モードにおいて、マクロブロックごとに、もしくはマクロブロックを分割した領域(例えば、16画素×8画素、8画素×16画素および8画素×8画素などの大きさに分割した小ブロック)ごとに動きベクトルの検出が行われる。
【0031】
動きベクトル検出部106では、符号化の対象としているマクロブロックに対し、既に符号化済みのピクチャを参照ピクチャとし、そのピクチャ内の探索領域において最も符号化対象ブロックの画素値の構成に近いと予測されるブロックの位置を示す動きベクトルが検出される。モード選択部107では、動きベクトル記憶部108に記憶されている、符号化済みのピクチャで用いられた動きベクトルを参照しつつ、最適な予測モードを選択する。このとき表示順で後方にあるピクチャが既に符号化されているかどうかを後方ピクチャ判定部109において判定する。もし後方のピクチャが符号化されていないと判定された場合、モード選択部107は、Bピクチャの符号化において、表示順で後方にあるピクチャを参照しない予測モードを選択する。
【0032】
モード選択部107によって選択された予測モードに従って、動きベクトル検出部106で検出された動きベクトルのうち最適な動きベクトルが決定され、決定された動きベクトルによって参照される予測ブロックがフレームメモリ105から読み出されて差分演算部110に入力される。差分演算部110では、予測ブロックと符号化対象のマクロブロックとの差分をとることにより予測残差画像が生成される。生成された予測残差画像は予測残差符号化部102に入力され、予測残差符号化部102内で周波数変換および量子化が施される。以上の処理の流れはピクチャ間予測符号化が選択された場合の動作であったが、スイッチ112によってピクチャ内予測符号化との切り替えがなされる。最後に符号列生成部103によって、動きベクトル等の制御情報および予測残差符号化部102から出力される画像情報等に対し可変長符号化が施され、最終的に出力される符号列が生成される。
【0033】
以上符号化の流れの概要を示したが、以下では、モード選択部107における直接モードでの処理の詳細について説明する。ただし、ここでは後方ピクチャ判定部109において後方のピクチャが符号化されていないと判定された場合について説明する。図2は、符号化対象ブロックが属するピクチャから表示順で後方にあるピクチャを参照することが出来ない場合の各ピクチャの参照関係の一例を示す図である。図のように、ピクチャの表示順シーケンスに含まれる全てのBピクチャは表示順で前方にある1枚もしくは複数の符号化済みピクチャを参照して予測符号化を行っている。例えば、いずれもBピクチャであるピクチャB82とピクチャB83とは、表示順で前方にある符号化済みピクチャがピクチャP81のみであるので、それぞれ、ピクチャP81だけを参照し動き補償を行う。
【0034】
また、いずれもBピクチャであるピクチャB85とピクチャB86とについては、ピクチャB85は表示順で前方にある2枚の符号化済みピクチャ(ピクチャP81とピクチャP84)を参照するが、例えば、ピクチャB86は表示順で時間的に遠いピクチャP81を参照せず、表示順で時間的により近いピクチャP84のみを参照して動き補償を行っている。このような場合、各Bピクチャの動きベクトルは、すべて、符号化対象ピクチャよりも表示順で前方にある符号化済みピクチャを参照している。
【0035】
本実施の形態では、表示順で後方のピクチャが符号化されていない環境下において、Bピクチャの予測符号化を行う際にモード選択部107によって直接モードが選択された場合、従来のように、表示順で符号化対象ピクチャの直後のピクチャに属する符号化済みブロックの動きベクトルを参照して符号化対象ブロックの動きベクトルを生成する(以下、「時間的予測」という)代わりに、同一ピクチャ内で符号化対象ブロックの周辺に位置する符号化済みブロックの動きベクトルを参照して符号化対象ブロックの動きベクトルを生成する(以下、「空間的予測」という)ことによって直接モードを実現する。
【0036】
図3は、直接モードが選択された場合のモード選択部107の動作の一例を示すフローチャートである。モード選択部107は、直接モードが選択された場合、まず、後方ピクチャ判定部109に符号化対象ピクチャよりも表示順で後方にあるピクチャが符号化済みであるか否かを判定させ(S501)、判定の結果、表示順で後方にあるピクチャが符号化済みであれば、従来のように、時間的予測を用いて符号化対象ブロックの予測符号化を行う(S502)。そして、モード選択部107は、当該符号化対象ブロックの処理を終了し、次の符号化対象ブロックの処理にうつる。
【0037】
また、ステップS501における判定の結果、表示順で後方にあるピクチャが符号化されていなければ、上記の空間的予測を用いて符号化対象ブロックの予測符号化を行う(S503)。さらに、モード選択部107は、上記の空間的予測を行ったことを示すフラグspatial_flagの値を「1」にセットし、符号列生成部103に出力する(S504)。その後、モード選択部107は、当該符号化対象ブロックの処理を終了し、次の符号化対象ブロックの処理にうつる。
【0038】
以下では、図3のステップS503において行われる空間的予測の具体的方法について説明する。
図19を用いて説明したスキップモードの例は、参照される符号化済みブロックが1つずつの動きベクトルを持っている場合についてのものであった。しかし、Bピクチャの予測モードの中には、図2に示したように、表示順で前方にある2枚のピクチャを同時に参照して動き補償を行うものも含まれている。そのようなモードの場合は1つのブロックが2つの動きベクトルを持っていることになる。図4は、動きベクトルを参照される符号化済みブロックに2つの動きベクトルを持つブロックが含まれている場合の動きベクトルの参照関係の一例を示す図である。ピクチャP94が現在符号化を行っているピクチャであり、ブロックBL51が直接モードによる予測符号化を行うブロックである。
【0039】
まず、第1の方法として、モード選択部107は、直接モードによる予測符号化を行うブロックBL51が図18(a)および図18(b)に示したいずれの場合も、ブロックBL51(またはブロックBL52)に対して基本的にA、B、Cの位置にあるブロックの動きベクトルを参照する。ただし、下記の条件に従って参照が変更される。
【0040】
1、ブロックCが参照不可の場合は、A、B、Dの位置にあるブロックを参照する。
2、A、B、CまたはA、B、Dの位置にある3つのブロックにおいて、動きベクトルを参照できないブロックがあれば、そのブロックを動きベクトルの参照の対象から除く。
【0041】
モード選択部107は、参照の対象となったA、B、C(またはA、B、D)の3つのブロックが持つ動きベクトルのうちで、動きベクトルによって参照されるピクチャと符号化対象ピクチャとの表示順での遠近を比較する。比較されたうちで、符号化対象ピクチャから表示順で最も近い位置にあるピクチャを参照している動きベクトルを取り出す。取り出された動きベクトルが複数ある場合には、それらの中央値もしくは平均値を取る。例えば、取り出された動きベクトルが奇数個ある場合には中央値、偶数個ある場合には平均値をとるとしてもよい。これによって得られた動きベクトルを、表示順で符号化対象ピクチャよりも前方にあるピクチャのみを参照して動き補償する場合に、直接モードが選択されたときの符号化対象ブロックの動きベクトルとする。また、A、B、C(またはA、B、D)の全てのブロックが参照できない場合は、符号化対象ブロックの動きベクトルを0とし、参照するピクチャを直前のピクチャとして直接モードによる予測符号化を行う。
【0042】
図5は、図1に示したモード選択部107が第1の方法を用いて符号化対象ブロックの空間的予測を行う場合の処理手順の一例を示すフローチャートである。以下では、図4に示した符号化対象ブロックBL51を例として説明する。まず、モード選択部107は、符号化対象ブロックBL51に対してCの位置にあるブロックが参照可能であるか否かを調べる(S601)。図4においてCの位置にあるブロックはピクチャP93を参照する動きベクトルMVC1とピクチャP92を参照する動きベクトルMVC2とを持っている。従って、モード選択部107は、A、B、Cの位置にあるブロックの動きベクトルを参照する(S602)。
【0043】
Aの位置にあるブロックは、ピクチャP93を参照する動きベクトルMVA1を持ち、Bの位置にあるブロックはピクチャP93を参照する動きベクトルMVB1とピクチャP91を参照する動きベクトルMVB3を持っている。ステップS601において、Cの位置にあるブロックが、符号化対象ピクチャP94の外にあったり、または符号化対象ブロックBL51が属するスライスの外にあったり、または画面内予測などの符号化を行ったために動きベクトルを持っていない場合には、Cの位置にあるブロックの代わりに、図18(a)および図18(b)に示したDの位置にあるブロックの動きベクトルを参照する(S603)。すなわち、A、B、Dの位置にある3つのブロックを参照する。
【0044】
次いで、モード選択部107は、参照された3つのブロック(A、B、CまたはA、B、D)のうち、符号化対象ピクチャP94の外にあったり、または符号化対象ブロックBL51が属するスライスの外にあったり、または画面内予測などの符号化を行ったために動きベクトルを持っていない場合には、そのブロックを参照の候補から除いて、符号化対象ブロックの動きベクトルの計算を行う(S604)。
【0045】
また、3つのブロック(A、B、CまたはA、B、D)のうち、全てのブロックを参照できない場合は、符号化対象ブロックの動きベクトルを「0」とし、符号化対象ピクチャの直前のピクチャを参照する。モード選択部107は、参照されたこれらの動きベクトルの中から、符号化対象ピクチャに表示順で最も近いピクチャを参照するもののみを取り出すと、ピクチャP93を参照する動きベクトルMVA1、動きベクトルMVB1および動きベクトルMVC1が得られる。モード選択部107は、さらに、これらの中央値もしくは平均値を取る。例えば、ここでは3個の動きベクトルが得られたので中央値を取る。これにより、ブロックBL51の動き補償を行うための1つの動きベクトルMV1を決定することができる。
【0046】
図6は、図1に示した符号列生成部103で生成される符号列のスライスごとのデータ構造の一例を示す図である。各ピクチャの符号列は、複数のスライスデータから構成され、各スライスデータは複数のマクロブロックデータから構成されている。同図に示すように、符号列中の各スライスデータには、それぞれスライスヘッダが付加されており、スライスヘッダにはスライスに関する情報などが書き込まれる。スライスに関する情報には、例えば、スライスの属するフレームの番号、および上記の直接モードの符号化方法の種類を示すフラグspatial_flagなどが記述される。
【0047】
以上のように上記実施の形態では、表示順で後方にあるピクチャを参照出来ない環境下においても、直接モードを用いて予測符号化する際に表示順で後方にあるピクチャを参照することなく直接モードを実現する方法を提案し、高い符号化効率を実現する符号化方法を示した。
【0048】
なお上記第1の方法では、参照された動きベクトルのうちで符号化対象ピクチャに表示順で一番近いピクチャを参照するものを取り出したが、参照された動きベクトルの中から符号化対象ピクチャの直前のピクチャを参照するもののみを取り出すとしてもよい。図4に示した例の場合、参照された動きベクトルに参照されるピクチャのうち、符号化対象ピクチャに表示順で最も近いピクチャは、符号化対象ピクチャの直前のピクチャであるので、得られる動きベクトルは同じである。もし、表示順で一番近いピクチャを参照する動きベクトルが1つも無かった場合は、符号化対象ブロックの動きベクトルを「0」として直接モードによる符号化を行う。
【0049】
また上記第1の方法では、直接モードにおいて用いる動きベクトルを決定する際に、周辺の符号化済みブロックが参照するピクチャの中から表示順で符号化対象ピクチャから最も手前にあるピクチャを参照している動きベクトルだけを取り出して最終的に1個の動きベクトルを算出したが、その代わりに、第2の方法として、表示順で符号化対象ピクチャの手前からN枚のピクチャを参照する動きベクトルを取り出し、参照しているピクチャごとに1つずつの動きベクトルを決定し、得られたN個の動きベクトルを直接モードでの予測符号化に用いる動きベクトルとして前方向のみを参照する動き補償を行うことも可能である。このとき予測画像はN個の動きベクトルによって指定されたN個の領域の画素値の平均を算出することによって生成される。
【0050】
なお、単純な平均ではなく、各領域の画素値に重みを付けて平均をとる方法によって予測画像を生成することも可能である。この方法を用いることにより、表示順で画素値が序々に変化するような画像列に対してより精度の高い動き補償を実現することが可能となる。
【0051】
図7は、表示順で符号化対象ピクチャの手前から2枚のピクチャを参照する動きベクトルを取り出して2個の動きベクトルを算出する場合の動きベクトル参照方法の一例を表した図である。ピクチャP104が現在符号化を行っているピクチャであり、BL51が直接モードによる予測符号化を行うブロックである。参照の対象となる複数の動きベクトルが参照しているピクチャの中で表示順で最も手前にあるピクチャP103を参照している動きベクトルMVA1、動きベクトルMVB1および動きベクトルMVC1を用いてその中央値もしくは平均値を取ることにより動きベクトルMV1が決定され、さらに表示順で2つ前にあるピクチャP102を参照している動きベクトルの中央値もしくは平均値、つまりMVC2そのものを取ることにより動きベクトルMV2が決定され、これら2つの動きベクトルを用いて直接モードによる符号化がなされる。
【0052】
なお、図18(a)および図18(b)において参照されるブロックの動きベクトルの中から表示順で手前から1枚もしくはN枚のピクチャを参照するもののみを使用するという方法の代わりに、指定されたピクチャを参照する動きベクトルのみを取り出して直接モードにおいて使用される符号化対象ブロックの動きベクトルの値を決定し、前記指定されたピクチャから動き補償を行うということも可能である。
【0053】
なお、直接モードを用いて符号化を行う際に、図18(a)および図18(b)のような位置関係にある符号化済みのブロックを参照して動き補償を行う代わりに、符号化対象ブロックの動きベクトルの値を「0」、参照するピクチャを直前のピクチャとして直接モードによる動き補償を行うことも可能である。この方法を用いると、直接モードに使用する動きベクトルを算出するステップを行う必要がなくなるため、符号化処理の単純化を図ることが出来る。
【0054】
なお、このとき直接モードにおいて時間的予測を行うか空間的予測を行うかを示すspatial_flagの代わりに、符号化済みのブロックを参照せずに符号化対象ブロックの動きベクトルの値を「0」として動き補償を行うことを示すフラグをスライスヘッダに記述してもよい。
【0055】
なお、上記の方法では、3つのブロックを参照して得られた動きベクトルのうちから、それらが参照しているピクチャの中で符号化対象ピクチャに表示順で最も近い位置にあるピクチャを参照している動きベクトルを取り出すとしたが、本発明はこれに限定されない。例えば、符号化対象ピクチャに符号化順で最も近い位置にあるピクチャを参照している動きベクトルを取り出すとしてもよい。
【0056】
(実施の形態2)
本発明の実施の形態2の動画像復号化方法を図8に示したブロック図を用いて説明する。ただし、本動画像復号化方法では、実施の形態1の動画像符号化方法で生成された符号列を復号化するものとする。
【0057】
図8は、本実施の形態の動画像復号化装置200の構成を示すブロック図である。動画像復号化装置200は、直接モードで符号化された復号化対象ブロックに対し、直接モードによる復号化の方法を示すフラグが「1」のとき空間的予測を用いて復号化を行う動画像復号化装置であって、符号列解析部201、予測残差復号化部202、フレームメモリ203、動き補償復号部204、動きベクトル記憶部205、後方ピクチャ判定部206、加算演算部207およびスイッチ208を備える。
【0058】
符号列解析部201は、入力された符号列を解析し、符号列から予測残差符号化データ、動きベクトル情報および予測モードなどの情報を抽出し、抽出された動きベクトル情報および予測モードなどの情報を動き補償復号部204に、予測残差符号化データを予測残差復号化部202にそれぞれ出力する。予測残差復号化部202は、抽出された予測残差符号化データに可変長復号化、逆量子化および逆周波数変換などを施し、予測残差画像を生成する。
【0059】
フレームメモリ203は、復号化された画像をピクチャ単位で格納し、格納しているピクチャを表示順に外部のモニタなどに出力画像として出力する。動き補償復号部204は、予測モードの復号化と、その予測モードで用いる動きベクトルの復号化とを行い、フレームメモリ203に蓄積されている復号化画像を参照ピクチャとし、入力された動きベクトル情報に基づいて復号化対象ブロックに対する予測画像を生成する。動きベクトルの復号化の際には、動きベクトル記憶部605に記憶されている復号化済みの動きベクトルを利用する。
【0060】
動きベクトル記憶部205は、動き補償復号部204において復号化された動きベクトルを格納する。後方ピクチャ判定部206は、動き補償復号部204による予測画像の生成時に、復号化対象ピクチャよりも表示順で後方にあるピクチャが復号化されているか否かを判定する。なお、後方ピクチャ判定部206は、実施の形態4で用いられるが、本実施の形態では不要である。加算演算部207は、予測残差復号化部202で復号化された予測残差画像と、動き補償復号部204で生成された予測画像とを加算し、復号化対象ブロックの復号化画像を生成する。
【0061】
まず入力された符号列から符号列解析部201によって動きベクトル情報および予測残差符号化データ等の各種の情報が抽出される。ここで抽出された動きベクトル情報は動き補償復号部204に、予測残差符号化データは予測残差復号化部202にそれぞれ出力される。動き補償復号部204では、フレームメモリ203に蓄積されている復号化済みのピクチャの復号化画像を参照ピクチャとし、復号化された動きベクトルに基づいて予測画像を生成する。
【0062】
このようにして生成された予測画像は加算演算部207に入力され、予測残差復号化部202において生成された予測残差画像との加算を行うことにより復号化画像が生成される。予測方向が制限されていない場合は、生成された復号化画像はフレームメモリ203において表示される順にピクチャの並び替えを行うが、表示順で後方にあるピクチャを参照することが出来ない場合は、並び替えを行うことなく復号化された順に表示することが可能となる。以上の実施の形態はピクチャ間予測符号化がなされている符号列に対する動作であったが、スイッチ208によってピクチャ内予測符号化がなされている符号列に対する復号化処理との切り替えがなされる。
【0063】
以上復号化の流れの概要を示したが、動き補償復号部204における処理の詳細について以下で説明する。
図9は、図8に示した動き補償復号部204における直接モードによる復号化の処理手順を示すフローチャートである。
【0064】
予測モードおよび動きベクトル情報はマクロブロックごともしくはマクロブロックを分割したブロックごとに付加されている。これらの情報は、符号列のスライスデータ領域の中に、スライス中のマクロブロックの順に記述されている。前記予測モードModeが直接モードを示している場合、動き補償復号部204は、スライスヘッダに復号化されるフラグspatial_flagに「0」がセットされているか「1」がセットされているかを調べる(S901)。後方のピクチャが復号化されていないときには、フラグspatial_flagに「1」がセットされており、空間的予測を用いて復号化を行うことが指示されている。
【0065】
フラグspatial_flagに「1」がセットされている場合には、動き補償復号部204は、直接モードの空間的予測を用いて復号化対象ブロックの予測画像を作成し(S902)、「0」がセットされている場合には、動き補償復号部204は、直接モードの時間的予測を用いて復号化対象ブロックの予測画像を作成する(S903)。スライスヘッダ中の予測モードModeが直接モード以外の予測モードを示している場合、動き補償復号部204は、復号化の対象としているマクロブロックに対して、既に復号化済みのピクチャを参照ピクチャとし、復号化された動きベクトルによってその参照ピクチャ内のブロックを特定し、特定されたブロックから動き補償を行うための予測画像切り出して、予測画像を作成する。
【0066】
以下では、図9のステップS902において行われる空間的予測の具体的方法について説明する。
図19を用いて説明したスキップモードの例は、参照される復号化済みブロックが1つずつの動きベクトルを持っている場合についてのものであった。しかし、Bピクチャの予測モードの中には、図2に示したように、表示順で前方にある2枚のピクチャを同時に参照して動き補償を行うものも含まれている。そのようなモードの場合は1つのブロックが2つの動きベクトルを持っていることになる。
【0067】
図4は、動きベクトルを参照される復号化済みブロックに2つの動きベクトルを持つブロックが含まれている場合の動きベクトルの参照関係の一例を示している。ピクチャP94が現在復号化を行っているピクチャであり、ブロックBL51が直接モードによる予測復号化を行うブロックである。
【0068】
まず、第1の方法として、動き補償復号部204は、直接モードによる予測復号化を行うブロックBL51が図18(a)および図18(b)に示したいずれの場合も、ブロックBL51(またはブロックBL52)に対して基本的にA、B、Cの位置にあるブロックの動きベクトルを参照する。ただし、下記の条件に従って参照が変更される。
【0069】
1、ブロックCが参照不可の場合は、A、B、Dの位置にあるブロックを参照する。
2、A、B、CまたはA、B、Dの位置にある3つのブロックにおいて、動きベクトルを参照できないブロックがあれば、そのブロックを動きベクトルの参照の対象から除く。
【0070】
動き補償復号部204は、参照の対象となったA、B、C(またはA、B、D)の3つのブロックが持つ動きベクトルのうちで、動きベクトルによって参照されるピクチャと復号化対象ピクチャとの表示順での遠近を比較する。比較されたうちで、復号化対象ピクチャから表示順で最も近い位置にあるピクチャを参照している動きベクトルを取り出す。取り出された動きベクトルが複数ある場合には、それらの中央値もしくは平均値を取る。例えば、取り出された動きベクトルが奇数個ある場合には中央値、偶数個ある場合には平均値をとるとしてもよい。
【0071】
これによって得られた動きベクトルを、表示順で復号化対象ピクチャよりも前方にあるピクチャのみを参照して動き補償する場合に、直接モードが選択されたときの復号化対象ブロックの動きベクトルとする。また、A、B、C(またはA、B、D)の全てのブロックが参照できない場合は、復号化対象ブロックの動きベクトルを0とし、参照するピクチャを直前のピクチャとして直接モードによる予測復号化を行う。
【0072】
図5のフローチャートは、図8に示した動き補償復号部204が第1の方法を用いて復号化対象ブロックの空間的予測を行う場合の処理手順の一例を示している。以下では、図4に示した復号化対象ブロックBL51を例として説明する。
【0073】
まず、動き補償復号部204は、復号化対象ブロックBL51に対してCの位置にあるブロックが参照可能であるか否かを調べる(S601)。図4においてCの位置にあるブロックはピクチャP93を参照する動きベクトルMVC1とピクチャP92を参照する動きベクトルMVC2とを持っている。従って、動き補償復号部204は、A、B、Cの位置にあるブロックの動きベクトルを参照する(S602)。
【0074】
Aの位置にあるブロックは、ピクチャP93を参照する動きベクトルMVA1を持ち、Bの位置にあるブロックはピクチャP93を参照する動きベクトルMVB1とピクチャP91を参照する動きベクトルMVB3を持っている。ステップS601において、Cの位置にあるブロックが、復号化対象ピクチャP94の外にあったり、または復号化対象ブロックBL51が属するスライスの外にあったり、または画面内予測などの復号化を行ったために動きベクトルを持っていない場合には、Cの位置にあるブロックの代わりに、図18(a)および図18(b)に示したDの位置にあるブロックの動きベクトルを参照する(S603)。すなわち、A、B、Dの位置にある3つのブロックを参照する。
【0075】
次いで、動き補償復号部204は、参照された3つのブロック(A、B、CまたはA、B、D)のうち、復号化対象ピクチャP94の外にあったり、または復号化対象ブロックBL51が属するスライスの外にあったり、または画面内予測などの復号化を行ったために動きベクトルを持っていない場合には、そのブロックを参照の候補から除いて、復号化対象ブロックの動きベクトルの計算を行う(S604)。
【0076】
また、3つのブロック(A、B、CまたはA、B、D)のうち、全てのブロックを参照できない場合は、復号化対象ブロックの動きベクトルを「0」とし、復号化対象ピクチャの直前のピクチャを参照する。動き補償復号部204は、参照されたこれらの動きベクトルの中から、復号化対象ピクチャに表示順で最も近いピクチャを参照するもののみを取り出すと、ピクチャP93を参照する動きベクトルMVA1、動きベクトルMVB1および動きベクトルMVC1が得られる。動き補償復号部204は、さらに、これらの中央値もしくは平均値を取る。例えば、ここでは3個の動きベクトルが得られたので中央値を取る。これにより、ブロックBL51の動き補償を行うための1つの動きベクトルMV1を決定することができる。
【0077】
以上のように上記実施の形態では、表示順で後方にあるピクチャを参照出来ない環境下においても、直接モードを用いて予測復号化する際に表示順で後方にあるピクチャを参照することなく直接モードを実現する方法を提案し、高い符号化効率を実現する復号化方法を示した。
【0078】
なお上記第1の方法では、参照された動きベクトルのうちで復号化対象ピクチャに表示順で一番近いピクチャを参照するものを取り出したが、参照された動きベクトルの中から復号化対象ピクチャの直前のピクチャを参照するもののみを取り出すとしてもよい。図4に示した例の場合、参照された動きベクトルに参照されるピクチャのうち、復号化対象ピクチャに表示順で最も近いピクチャは、復号化対象ピクチャの直前のピクチャであるので、得られる動きベクトルは同じである。もし、表示順で一番近いピクチャを参照する動きベクトルが1つも無かった場合は、復号化対象ブロックの動きベクトルを「0」として直接モードによる復号化を行う。
【0079】
また上記第1の方法では、直接モードにおいて用いる動きベクトルを決定する際に、周辺の復号化済みブロックが参照するピクチャの中から表示順で復号化対象ピクチャから最も手前にあるピクチャを参照している動きベクトルだけを取り出して最終的に1個の動きベクトルを算出したが、その代わりに、第2の方法として、表示順で復号化対象ピクチャの手前からN枚のピクチャを参照する動きベクトルを取り出し、参照しているピクチャごとに1つずつの動きベクトルを決定し、得られたN個の動きベクトルを直接モードでの予測復号化に用いる動きベクトルとして前方向のみを参照する動き補償を行うことも可能である。このとき予測画像はN個の動きベクトルによって指定されたN個の領域の画素値の平均を算出することによって生成される。
【0080】
なお、単純な平均ではなく、各領域の画素値に重みを付けて平均をとる方法によって予測画像を生成することも可能である。この方法を用いることにより、表示順で画素値が序々に変化するような画像列に対してより精度の高い動き補償を実現することが可能となる。
【0081】
図7は、表示順で復号化対象ピクチャの手前から2枚のピクチャを参照する動きベクトルを取り出して2個の動きベクトルを算出する場合の動きベクトル参照方法の一例を表している。ピクチャP104が現在復号化を行っているピクチャであり、BL51が直接モードによる予測復号化を行うブロックである。参照の対象となる複数の動きベクトルが参照しているピクチャの中で表示順で最も手前にあるピクチャP103を参照している動きベクトルMVA1、動きベクトルMVB1および動きベクトルMVC1を用いてその中央値もしくは平均値を取ることにより動きベクトルMV1が決定され、さらに表示順で2つ前にあるピクチャP102を参照している動きベクトルの中央値もしくは平均値、つまりMVC2そのものを取ることにより動きベクトルMV2が決定され、これら2つの動きベクトルを用いて直接モードによる復号化がなされる。
【0082】
なお、図18(a)および図18(b)において参照されるブロックの動きベクトルの中から表示順で手前から1枚もしくはN枚のピクチャを参照するもののみを使用するという方法の代わりに、指定されたピクチャを参照する動きベクトルのみを取り出して直接モードにおいて使用される復号化対象ブロックの動きベクトルの値を決定し、前記指定されたピクチャから動き補償を行うということも可能である。
【0083】
なお、直接モードを用いて復号化を行う際に、図18(a)および図18(b)のような位置関係にある符号化済みのブロックを参照して動き補償を行う代わりに、復号化対象ブロックの動きベクトルの値を「0」、参照するピクチャを直前のピクチャとして直接モードによる動き補償を行うことも可能である。この方法を用いると、直接モードに使用する動きベクトルを算出するステップを行う必要がなくなるため、復号化処理の単純化を図ることが出来る。
【0084】
なお、対応する符号化処理において、直接モードで符号化済みのブロックを参照せずに符号化対象ブロックの動きベクトルの値を「0」として動き補償を行うことを示すフラグが符号化されていた場合は、前記フラグの値を解釈することにより前記動作に切り替えて直接モードによる動き予測を行うことができる。
【0085】
なお、上記の方法では、3つのブロックを参照して得られた動きベクトルのうちから、それらが参照しているピクチャの中で復号化対象ピクチャに表示順で最も近い位置にあるピクチャを参照している動きベクトルを取り出すとしたが、本発明はこれに限定されない。例えば、復号化対象ピクチャに復号化順で最も近い位置にあるピクチャを参照している動きベクトルを取り出すとしてもよい。
【0086】
(実施の形態3)
本発明の実施の形態3の動画像符号化方法を図1に示したブロック図を用いて説明する。
符号化対象となる動画像は時間順にピクチャ単位でフレームメモリ101に入力される。各々のピクチャはマクロブロックと呼ばれる例えば水平16×垂直16画素のブロックに分割されブロック単位で以降の処理が行われる。
【0087】
フレームメモリ101から読み出されたマクロブロックは動きベクトル検出部106に入力される。ここではフレームメモリ105に蓄積されている符号化済みのピクチャを復号化した画像を参照ピクチャとして用いて、符号化対象としているマクロブロックの動きベクトル検出を行う。
【0088】
モード選択部107では動きベクトル記憶部108に記憶されている符号化済みのピクチャで用いた動きベクトルを参照しつつ最適な予測モードを決定する。このとき表示順で後方にあるピクチャが既に符号化されているかどうかを後方ピクチャ判定部109において判定し、もし後方のピクチャが符号化されていないと判定された場合は、Bピクチャの符号化において表示順で後方にあるピクチャを参照する予測モードは選択されないように制限される。
【0089】
図10はBピクチャにおける予測モードを識別するためのコードと符号化モードとを対応付けるテーブルの例を示したものである。予測方向が制限されていない場合は図10(a)のように全ての参照パターンを示すテーブルを用いるが、予測方向が前方のみに制限されている場合は図10(b)のように後方を参照するパターンを全て除いたテーブルに作り直してそれを参照する。これにより、予測モードを識別するための符号に必要とされるビット量を削減することが可能となる。なお、図10(a)および図10(b)のテーブルにおける各項目は、これ以外の値を用いた場合も同様に扱うことができる。
【0090】
図2は表示順で後方のピクチャを参照することが出来ない場合の各ピクチャの参照関係を示したものである。シーケンスに含まれる全てのBピクチャは表示順で前方にある1枚もしくは複数の符号化済みピクチャを参照して予測符号化を行っている。
【0091】
得られた動きベクトルによって決定された予測画像が差分演算部110に入力され、符号化対象のマクロブロックとの差分をとることにより予測残差画像が生成され、予測残差符号化部102において符号化が行われる。以上の処理の流れはピクチャ間予測符号化が選択された場合の動作であったが、スイッチ112によってピクチャ内予測符号化との切り替えがなされる。最後に符号列生成部103によって、動きベクトル等の制御情報および予測残差符号化部102から出力される画像情報等に対し可変長符号化を施し、最終的に出力される符号列が生成される。
【0092】
以上符号化の流れの概要を示したが、動きベクトル検出部106およびモード選択部107における処理の詳細について以下で説明する。ただし、ここでは後方ピクチャ判定部109において後方のピクチャが符号化されていないと判定された場合を考える。
【0093】
動きベクトルの検出はマクロブロックごともしくはマクロブロックを分割した領域ごとに行われる。符号化の対象としているマクロブロックは既に符号化済みのピクチャを参照ピクチャとし、そのピクチャ内の探索領域において最適と予測される位置を示す動きベクトルおよび予測モードを決定することにより予測画像を作成する。
【0094】
表示順で後方のピクチャが符号化されていない環境下において、Bピクチャの予測符号化を行う際にモード選択部107によって直接モードが選択された場合、従来の技術で述べた表示順で直後のピクチャを参照して動きベクトルとして用いる代わりに、符号化対象のブロックの周辺に位置する符号化済みブロックの動きベクトルを参照することによって直接モードを実現する。
【0095】
まず、符号化対象ブロックの周辺に位置する符号化済みブロックがそれぞれ1つの動きベクトルを持っている場合について説明する。図18は参照するブロックの位置関係を表したものである。図18(a)は直接モードでの符号化を行うブロックBL51が16画素×16画素のサイズであった場合の例であり、図18(b)は直接モードでの符号化を行うブロックBL52が8画素×8画素のサイズであった場合の例である。いずれの場合も基本的にA、B、Cの位置関係にある3つのブロックの動きベクトルを参照する。ただし、下記の条件の場合は参照を行わず、符号化対象ブロックの動きベクトルの値を「0」として直前のピクチャを参照して直接モードによる動き補償を行う。
【0096】
1、AもしくはBがピクチャの外部もしくはスライスの外部であった場合。
2、AもしくはBが直前のピクチャを参照する値「0」の動きベクトルを持つ場合。
参照の対象となったA、B、Cの3つのブロックが持つ動きベクトルの中から直前のピクチャを参照するもののみを取り出し、その中央値もしくは平均値を取ることによって実際に直接モードにおいて使用する動きベクトルとする。ただし、ブロックCが参照不可の場合は代わりにブロックDを用いるものとする。
【0097】
図19はそのときの動きベクトルの参照関係の例を示したものである。ピクチャP64に属するブロックBL51を現在符号化しているブロックとする。この例では直前のピクチャを参照する動きベクトルはMVA1のみとなり、直接モードにおいて用いられる動きベクトルMV1はMVA1の値をそのまま使用することになる。なお、参照するブロックの位置関係は図18(a)および図18(b)で示したA、B、C,D以外の場所を用いた場合も同様である。
【0098】
図19の例は参照される符号化済みブロックが1つずつの動きベクトルを持っている場合についてのものであった。しかし、Bピクチャの予測モードの中には表示順で前方にある2枚のピクチャを同時に参照して動き補償を行うものも含まれている。そのようなモードの場合は1つのブロックが2つの動きベクトルを持っていることになる。
【0099】
以下では、符号化対象ブロックの周辺に位置する符号化済みブロックに2つの動きベクトルを持つブロックが含まれている場合について説明する。図4は、符号化対象ブロックの周辺に位置する符号化済みブロックに2つの動きベクトルを持つブロックが含まれている場合の動きベクトルの参照関係の例を表した図である。ピクチャP94が現在符号化を行っているピクチャであり、ブロックBL51が直接モードによる予測符号化を行うブロックである。参照の対象となるブロックの持つ全ての動きベクトルが参照しているピクチャの中で、表示順で最も直前にあるピクチャであるピクチャP93を参照している動きベクトルMVA1、MVB1およびMVC1を用いてその中央値もしくは平均値を取ることにより、直接モードでの予測符号化に用いる動きベクトルMV1が決定され前方向のみを参照する動き補償を行う。
【0100】
以上のように上記実施の形態では、表示順で後方にあるピクチャを参照出来ない環境下においても、直接モードを用いて予測符号化する際に表示順で後方にあるピクチャを参照することなく直接モードを実現する方法を提案し、さらに、符号化モードのテーブルから後方のピクチャを参照する項目を除くことによりテーブルの項目数を少なくすることが可能となり、高い符号化効率を実現する符号化方法を示した。
【0101】
なお、直接モードにおいて用いる動きベクトルを決定する際に、周辺の符号化済みブロックが参照するピクチャの中から最も表示順で手前にあるピクチャを参照している動きベクトルだけを取り出して1個の動きベクトルを算出する代わりに、手前からN枚のピクチャを参照する動きベクトルを取り出し、参照しているピクチャごとに1つずつの動きベクトルを決定し、得られたN個の動きベクトルを直接モードでの予測符号化に用いる動きベクトルとして前方向のみを参照する動き補償を行うことも可能である。このとき予測画像はN個の動きベクトルによって指定されたN個の領域の画素値の平均を算出することによって生成される。
【0102】
なお、単純な平均ではなく、各領域の画素値に重みを付けて平均をとる方法によって予測画像を生成することも可能である。この方法を用いることにより、表示順で画素値が序々に変化するような画像列に対してより精度の高い動き補償を実現することが可能となる。
【0103】
図7は上記のケースにおけるN=2のときの動きベクトル参照方法の例を表したものである。P104が現在符号化を行っているピクチャであり、BL51が直接モードによる予測符号化を行うブロックである。参照の対象となる複数の動きベクトルが参照しているピクチャの中で表示順で最も手前にあるピクチャP103を参照している動きベクトルMVA1およびMVB1およびMVC1を用いてその中央値もしくは平均値を取ることにより動きベクトルMV1が決定され、さらに表示順で2つ前にあるピクチャP102を参照している動きベクトルの中央値もしくは平均値、つまりMVC2そのものを取ることにより動きベクトルMV2が決定され、これら2つの動きベクトルを用いて直接モードによる符号化がなされる。
【0104】
なお、図18(a)および図18(b)において動きベクトルを参照されるブロックを決定する方法として、前記実施の形態で述べた方法の代わりに、下記の条件を用いることも可能である。
1、AおよびDが参照不可の場合はそれらの動きベクトルを「0」として参照する。
2、BおよびCおよびDが参照不可の場合はAのみを参照する。
3、Cのみが参照不可の場合はA、B、Dを参照する。
4、上記2および3以外の場合はA、B、Cを参照する。
【0105】
なお、図18(a)および図18(b)において参照されるブロックの動きベクトルの中から表示順で手前から1枚もしくはN枚のピクチャを参照するもののみを使用するという方法の代わりに、指定されたピクチャを参照する動きベクトルのみを取り出して直接モードにおいて使用される符号化対象ブロックの動きベクトルの値を決定し、前記指定されたピクチャから動き補償を行うということも可能である。
【0106】
なお、直接モードを用いて符号化を行う際に、図18(a)および図18(b)のような位置関係にあるブロックを参照して動き補償を行う代わりに、符号化対象ブロックの動きベクトルの値を「0」、参照するピクチャを直前のピクチャとして直接モードによる動き補償を行うことも可能である。この方法を用いると、直接モードに使用する動きベクトルを算出するステップを行う必要がなくなるため、符号化処理の単純化を図ることが出来る。
【0107】
なお、上記実施の形態では、3つのブロックを参照して得られた動きベクトルのうちから、それらが参照しているピクチャの中で符号化対象ピクチャに表示順で最も近い位置にあるピクチャを参照している動きベクトルを取り出すとしたが、本発明はこれに限定されない。例えば、符号化対象ピクチャに符号化順で最も近い位置にあるピクチャを参照している動きベクトルを取り出すとしてもよい。
【0108】
(実施の形態4)
本発明の実施の形態4の動画像復号化方法を図8に示したブロック図を用いて説明する。ただし、実施の形態3の動画像符号化方法で生成された符号列が入力されるものとする。
【0109】
まず入力された符号列から符号列解析部201によって動きベクトル情報および予測残差符号化データ等の各種の情報が抽出される。ここで抽出された動きベクトル情報は動き補償復号部204に、予測残差符号化データは予測残差復号化部202にそれぞれ出力される。動き補償復号部204ではフレームメモリ203に蓄積されている復号化済みのピクチャの復号化画像を参照ピクチャとし、入力された動きベクトル情報に基づいて予測画像を生成する。このとき表示順で後方にあるピクチャが既に符号化されているかどうかを後方ピクチャ判定部206において判定し、もし後方のピクチャが符号化されていないと判定された場合は、Bピクチャの符号化において表示順で後方にあるピクチャを参照する予測モードは選択されないように制限される。
【0110】
図10はBピクチャにおける予測モードを識別するためのコードと符号化モードとを対応付けるテーブルの例を示したものである。予測方向が制限されていない場合は図10(a)のように全ての参照パターンを示すテーブルを用いるが、予測方向が前方のみに制限されている場合は図10(b)のように後方を参照するパターンを全て除いたテーブルに作り直してそれを参照する。なお、図10(a)および図10(b)のテーブルにおける各項目は、これ以外の値を用いた場合も同様に扱うことができる。
【0111】
このようにして生成された予測画像は加算演算部207に入力され、予測残差復号化部202において生成された予測残差画像との加算を行うことにより復号化画像が生成される。予測方向が制限されていない場合は、生成された復号化画像はフレームメモリ203において表示される順にピクチャの並び替えを行うが、表示順で後方にあるピクチャを参照することが出来ない場合は、並び替えを行うことなく復号化された順に表示することが可能となる。以上の実施の形態はピクチャ間予測符号化がなされている符号列に対する動作であったが、スイッチ208によってピクチャ内予測符号化がなされている符号列に対する復号化処理との切り替えがなされる。
【0112】
以上復号化の流れの概要を示したが、動き補償復号部204における処理の詳細について以下で説明する。ただし、ここでは後方ピクチャ判定部206において後方のピクチャが復号化されていないと判定された場合を考える。
動きベクトル情報はマクロブロックごともしくはマクロブロックを分割した領域ごとに付加されている。復号化の対象としているマクロブロックは既に復号化済みのピクチャを参照ピクチャとし、復号化された動きベクトルによってそのピクチャ内から動き補償を行うための予測画像を作成する。
【0113】
表示順で後方のピクチャが復号化されていない環境下において、Bピクチャの予測復号化において直接モードが指示された場合、従来の技術で述べた表示順で直後のピクチャを参照して動きベクトルとして用いる代わりに、復号化対象のブロックの周辺に位置する復号化済みブロックの動きベクトルを参照することによって直接モードを実現する。
【0114】
まず、復号化対象ブロックの周辺に位置する復号化済みブロックがそれぞれ1つの動きベクトルを持っている場合について説明する。図18は参照するブロックの位置関係を表したものである。図18(a)は直接モードでの復号化を行うブロックBL51が16画素×16画素のサイズであった場合の例であり、図18(b)は直接モードでの復号化を行うブロックBL52が8画素×8画素のサイズであった場合の例である。いずれの場合も基本的にA、B、Cの位置関係にある3つのブロックの動きベクトルを参照する。ただし、下記の条件の場合は参照を行わず、復号化対象ブロックの動きベクトルの値を「0」として直前のピクチャを参照して直接モードによる動き補償を行う。
1、AもしくはBがピクチャの外部もしくはスライスの外部であった場合。
2、AもしくはBが直前のピクチャを参照する値「0」の動きベクトルを持つ場合。
【0115】
参照の対象となったA、B、Cの3つのブロックが持つ動きベクトルの中から直前のピクチャを参照するもののみを取り出し、その中央値もしくは平均値を取ることによって実際に直接モードにおいて使用する動きベクトルとする。ただし、ブロックCが参照不可の場合は代わりにブロックDを用いるものとする。
【0116】
図19はそのときの動きベクトルの参照関係の例を示したものである。ピクチャP64に属するブロックBL51を現在復号化しているブロックとする。この例では直前のピクチャを参照する動きベクトルはMVA1のみとなり、直接モードにおいて用いられる動きベクトルMV1はMVA1の値をそのまま使用することになる。なお、参照するブロックの位置関係は図18(a)および図18(b)で示したA、B、C,D以外の場所を用いた場合も同様である。
【0117】
図19の例は参照される復号化済みブロックが1つずつの動きベクトルを持っている場合についてのものであった。しかし、Bピクチャの予測モードの中には表示順で前方にある2枚のピクチャを同時に参照して動き補償を行うものも含まれている。そのようなモードの場合は1つのブロックが2つの動きベクトルを持っていることになる。
【0118】
以下では、復号化対象ブロックの周辺に位置する復号化済みブロックに2つの動きベクトルを持つブロックが含まれている場合について説明する。図4はそのような場合の動きベクトルの参照関係の例を表したものである。P94が現在復号化を行っているピクチャであり、BL51が直接モードによる予測復号化を行うブロックである。参照の対象となるブロックの持つ全ての動きベクトルが参照しているピクチャの中で、表示順で最も直前にあるピクチャであるピクチャP93を参照している動きベクトルMVA1およびMVB1およびMVC1を用いてその中央値もしくは平均値を取ることにより、直接モードでの予測復号化に用いる動きベクトルMV1が決定され前方向のみを参照する動き補償を行う。
【0119】
以上のように上記実施の形態では、表示順で後方にあるピクチャを参照出来ない環境下においても、直接モードを用いて予測復号化する際に表示順で後方にあるピクチャを参照することなく直接モードを実現する方法を提案し、さらに、符号化モードのテーブルから後方のピクチャを参照する項目を除くことによりテーブルの項目数を少なくし、高い符号化効率を実現する復号化方法を示した。
【0120】
なお、直接モードにおいて用いる動きベクトルを決定する際に、周辺の復号化済みブロックが参照するピクチャの中から最も表示順で手前にあるピクチャを参照している動きベクトルだけを取り出して1個の動きベクトルを算出する代わりに、手前からN枚のピクチャを参照する動きベクトルを取り出し、参照しているピクチャごとに1つずつの動きベクトルを決定し、得られたN個の動きベクトルを直接モードでの予測復号化に用いる動きベクトルとして前方向のみを参照する動き補償を行うことも可能である。このとき予測画像はN個の動きベクトルによって指定されたN個の領域の画素値の平均を算出することによって生成される。
【0121】
なお、単純な平均ではなく、各領域の画素値に重みを付けて平均をとる方法によって予測画像を生成することも可能である。この方法を用いることにより、表示順で画素値が序々に変化するような画像列に対してより精度の高い動き補償を実現することが可能となる。
【0122】
図7は上記のケースにおけるN=2のときの動きベクトル参照方法の例を表したものである。P104が現在復号化を行っているピクチャであり、BL51が直接モードによる予測復号化を行うブロックである。参照の対象となる複数の動きベクトルが参照しているピクチャの中で表示順で最も手前にあるピクチャP103を参照している動きベクトルMVA1およびMVB1およびMVC1を用いてその中央値もしくは平均値を取ることにより動きベクトルMV1が決定され、さらに表示順で2つ前にあるピクチャP102を参照している動きベクトルの中央値もしくは平均値、つまりMVC2そのものを取ることにより動きベクトルMV2が決定され、これら2つの動きベクトルを用いて直接モードによる復号化がなされる。
【0123】
なお、図18(a)および図18(b)において動きベクトルを参照されるブロックを決定する方法として、前記実施の形態で述べた方法の代わりに、下記の条件を用いることも可能である。
1、AおよびDが参照不可の場合はそれらの動きベクトルを「0」として参照する。
2、BおよびCおよびDが参照不可の場合はAのみを参照する。
3、Cのみが参照不可の場合はA、B、Dを参照する。
4、上記2および3以外の場合はA,B、Cを参照する。
【0124】
なお、図18(a)および図18(b)において参照されるブロックの動きベクトルの中から表示順で手前から1枚もしくはN枚のピクチャを参照するもののみを使用するという方法の代わりに、指定されたピクチャを参照する動きベクトルのみを取り出して直接モードにおいて使用される復号化対象ブロックの動きベクトルの値を決定し、前記指定されたピクチャから動き補償を行うということも可能である。
【0125】
なお、直接モードを用いて復号化を行う際に、図18(a)および図18(b)のような位置関係にあるブロックを参照して動き補償を行う代わりに、復号化対象ブロックの動きベクトルの値を「0」、参照するピクチャを直前のピクチャとして直接モードによる動き補償を行うことも可能である。この方法を用いると、直接モードに使用する動きベクトルを算出するステップを行う必要がなくなるため、復号化処理の単純化を図ることが出来る。
【0126】
(実施の形態5)
さらに、上記実施の形態で示した動画像符号化方法または動画像復号化方法の構成を実現するためのプログラムを、フレキシブルディスク等の記録媒体に記録するようにすることにより、上記実施の形態1で示した処理を、独立したコンピュータシステムにおいて簡単に実施することが可能となる。
【0127】
図11は、上記実施の形態1の動画像符号化方法または動画像復号化方法を格納したフレキシブルディスクを用いて、コンピュータシステムにより実施する場合の説明図である。
【0128】
図11(b)は、フレキシブルディスクの正面からみた外観、断面構造、及びフレキシブルディスクを示し、図11(a)は、記録媒体本体であるフレキシブルディスクの物理フォーマットの例を示している。フレキシブルディスクFDはケースF内に内蔵され、該ディスクの表面には、同心円状に外周からは内周に向かって複数のトラックTrが形成され、各トラックは角度方向に16のセクタSeに分割されている。従って、上記プログラムを格納したフレキシブルディスクでは、上記フレキシブルディスクFD上に割り当てられた領域に、上記プログラムとしての動画像符号化方法が記録されている。
【0129】
また、図11(c)は、フレキシブルディスクFDに上記プログラムの記録再生を行うための構成を示す。上記プログラムをフレキシブルディスクFDに記録する場合は、コンピュータシステムCsから上記プログラムとしての動画像符号化方法または動画像復号化方法をフレキシブルディスクドライブを介して書き込む。また、フレキシブルディスク内のプログラムにより上記動画像符号化方法をコンピュータシステム中に構築する場合は、フレキシブルディスクドライブによりプログラムをフレキシブルディスクから読み出し、コンピュータシステムに転送する。
【0130】
なお、上記説明では、記録媒体としてフレキシブルディスクを用いて説明を行ったが、光ディスクを用いても同様に行うことができる。また、記録媒体はこれに限らず、ICカード、ROMカセット等、プログラムを記録できるものであれば同様に実施することができる。
【0131】
(実施の形態6)
さらにここで、上記実施の形態で示した動画像符号化方法や動画像復号化方法の応用例とそれを用いたシステムを説明する。
【0132】
図12は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示すブロック図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex107〜ex110が設置されている。
【0133】
このコンテンツ供給システムex100は、例えば、インターネットex101にインターネットサービスプロバイダex102および電話網ex104、および基地局ex107〜ex110を介して、コンピュータex111、PDA(personal digital assistant)ex112、カメラex113、携帯電話ex114、カメラ付きの携帯電話ex115などの各機器が接続される。
【0134】
しかし、コンテンツ供給システムex100は図12のような組合せに限定されず、いずれかを組み合わせて接続するようにしてもよい。また、固定無線局である基地局ex107〜ex110を介さずに、各機器が電話網ex104に直接接続されてもよい。
【0135】
カメラ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)等であり、いずれでも構わない。
【0136】
また、ストリーミングサーバex103は、カメラex113から基地局ex109、電話網ex104を通じて接続されており、カメラex113を用いてユーザが送信する符号化処理されたデータに基づいたライブ配信等が可能になる。撮影したデータの符号化処理はカメラex113で行っても、データの送信処理をするサーバ等で行ってもよい。
【0137】
また、カメラex116で撮影した動画データはコンピュータex111を介してストリーミングサーバex103に送信されてもよい。カメラex116はデジタルカメラ等の静止画、動画が撮影可能な機器である。この場合、動画データの符号化はカメラex116で行ってもコンピュータex111で行ってもどちらでもよい。また、符号化処理はコンピュータex111やカメラex116が有するLSIex117において処理することになる。
【0138】
なお、動画像符号化・復号化用のソフトウェアをコンピュータex111等で読み取り可能な記録媒体である何らかの蓄積メディア(CD−ROM、フレキシブルディスク、ハードディスクなど)に組み込んでもよい。さらに、カメラ付きの携帯電話ex115で動画データを送信してもよい。このときの動画データは携帯電話ex115が有するLSIで符号化処理されたデータである。
【0139】
このコンテンツ供給システムex100では、ユーザがカメラex113、カメラex116等で撮影しているコンテンツ(例えば、音楽ライブを撮影した映像等)を上記実施の形態同様に符号化処理してストリーミングサーバex103に送信する一方で、ストリーミングサーバex103は要求のあったクライアントに対して上記コンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号化することが可能な、コンピュータex111、PDAex112、カメラex113、携帯電話ex114等がある。
【0140】
このようにすることでコンテンツ供給システムex100は、符号化されたデータをクライアントにおいて受信して再生することができ、さらにクライアントにおいてリアルタイムで受信して復号化し、再生することにより、個人放送をも実現可能になるシステムである。
【0141】
このシステムを構成する各機器の符号化、復号化には上記各実施の形態で示した動画像符号化装置あるいは動画像復号化装置を用いるようにすればよい。
その一例として携帯電話について説明する。
【0142】
図13は、上記実施の形態で説明した動画像符号化方法と動画像復号化方法を用いた携帯電話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)の一種であるフラッシュメモリ素子を格納したものである。
【0143】
さらに、携帯電話ex115について図14を用いて説明する。携帯電話ex115は表示部ex202及び操作キーex204を備えた本体部の各部を統括的に制御するようになされた主制御部ex311に対して、電源回路部ex310、操作入力制御部ex304、画像符号化部ex312、カメラインターフェース部ex303、LCD(Liquid Crystal Display)制御部ex302、画像復号化部ex309、多重分離部ex308、記録再生部ex307、変復調回路部ex306及び音声処理部ex305が同期バスex313を介して互いに接続されている。
【0144】
電源回路部ex310は、ユーザの操作により終話及び電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することによりカメラ付ディジタル携帯電話ex115を動作可能な状態に起動する。
【0145】
携帯電話ex115は、CPU、ROM及びRAM等でなる主制御部ex311の制御に基づいて、音声通話モード時に音声入力部ex205で集音した音声信号を音声処理部ex305によってディジタル音声データに変換し、これを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex201を介して送信する。また携帯電話機ex115は、音声通話モード時にアンテナex201で受信した受信データを増幅して周波数変換処理及びアナログディジタル変換処理を施し、変復調回路部ex306でスペクトラム逆拡散処理し、音声処理部ex305によってアナログ音声データに変換した後、これを音声出力部ex208を介して出力する。
【0146】
さらに、データ通信モード時に電子メールを送信する場合、本体部の操作キーex204の操作によって入力された電子メールのテキストデータは操作入力制御部ex304を介して主制御部ex311に送出される。主制御部ex311は、テキストデータを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex201を介して基地局ex110へ送信する。
【0147】
データ通信モード時に画像データを送信する場合、カメラ部ex203で撮像された画像データをカメラインターフェース部ex303を介して画像符号化部ex312に供給する。また、画像データを送信しない場合には、カメラ部ex203で撮像した画像データをカメラインターフェース部ex303及びLCD制御部ex302を介して表示部ex202に直接表示することも可能である。
【0148】
画像符号化部ex312は、本願発明で説明した動画像符号化装置を備えた構成であり、カメラ部ex203から供給された画像データを上記実施の形態で示した動画像符号化装置に用いた符号化方法によって圧縮符号化することにより符号化画像データに変換し、これを多重分離部ex308に送出する。また、このとき同時に携帯電話機ex115は、カメラ部ex203で撮像中に音声入力部ex205で集音した音声を音声処理部ex305を介してディジタルの音声データとして多重分離部ex308に送出する。
【0149】
多重分離部ex308は、画像符号化部ex312から供給された符号化画像データと音声処理部ex305から供給された音声データとを所定の方式で多重化し、その結果得られる多重化データを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex201を介して送信する。
【0150】
データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、アンテナex201を介して基地局ex110から受信した受信データを変復調回路部ex306でスペクトラム逆拡散処理し、その結果得られる多重化データを多重分離部ex308に送出する。
【0151】
また、アンテナex201を介して受信された多重化データを復号化するには、多重分離部ex308は、多重化データを分離することにより画像データのビットストリームと音声データのビットストリームとに分け、同期バスex313を介して当該符号化画像データを画像復号化部ex309に供給すると共に当該音声データを音声処理部ex305に供給する。
【0152】
次に、画像復号化部ex309は、本願発明で説明した動画像復号化装置を備えた構成であり、画像データのビットストリームを上記実施の形態で示した符号化方法に対応した復号化方法で復号することにより再生動画像データを生成し、これをLCD制御部ex302を介して表示部ex202に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まれる動画データが表示される。このとき同時に音声処理部ex305は、音声データをアナログ音声データに変換した後、これを音声出力部ex208に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まる音声データが再生される。
【0153】
なお、上記システムの例に限られず、最近は衛星、地上波によるディジタル放送が話題となっており、図15に示すようにディジタル放送用システムにも上記実施の形態の少なくとも動画像符号化装置または動画像復号化装置のいずれかを組み込むことができる。具体的には、放送局ex409では映像情報のビットストリームが電波を介して通信または放送衛星ex410に伝送される。これを受けた放送衛星ex410は、放送用の電波を発信し、この電波を衛星放送受信設備をもつ家庭のアンテナex406で受信し、テレビ(受信機)ex401またはセットトップボックス(STB)ex407などの装置によりビットストリームを復号化してこれを再生する。
【0154】
また、記録媒体であるCDやDVD等の蓄積メディアex402に記録したビットストリームを読み取り、復号化する再生装置ex403にも上記実施の形態で示した動画像復号化装置を実装することが可能である。この場合、再生された映像信号はモニタex404に表示される。また、ケーブルテレビ用のケーブルex405または衛星/地上波放送のアンテナex406に接続されたセットトップボックスex407内に動画像復号化装置を実装し、これをテレビのモニタex408で再生する構成も考えられる。このときセットトップボックスではなく、テレビ内に動画像復号化装置を組み込んでも良い。
【0155】
また、アンテナex411を有する車ex412で衛星ex410からまたは基地局ex107等から信号を受信し、車ex412が有するカーナビゲーションex413等の表示装置に動画を再生することも可能である。
【0156】
更に、画像信号を上記実施の形態で示した動画像符号化装置で符号化し、記録媒体に記録することもできる。具体例としては、DVDディスクex421に画像信号を記録するDVDレコーダや、ハードディスクに記録するディスクレコーダなどのレコーダex420がある。更にSDカードex422に記録することもできる。レコーダex420が上記実施の形態で示した動画像復号化装置を備えていれば、DVDディスクex421やSDカードex422に記録した画像信号を再生し、モニタex408で表示することができる。
【0157】
なお、カーナビゲーションex413の構成は例えば図14に示す構成のうち、カメラ部ex203とカメラインターフェース部ex303、画像符号化部ex312を除いた構成が考えられ、同様なことがコンピュータex111やテレビ(受信機)ex401等でも考えられる。
【0158】
また、上記携帯電話ex114等の端末は、符号化器・復号化器を両方持つ送受信型の端末の他に、符号化器のみの送信端末、復号化器のみの受信端末の3通りの実装形式が考えられる。
このように、上記実施の形態で示した動画像符号化方法あるいは動画像復号化方法を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記実施の形態で説明した効果を得ることができる。
【0159】
また、本発明はかかる上記実施形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形または修正が可能である。
本発明に係る動画像符号化装置は、通信機能を備えるパーソナルコンピュータ、PDA、ディジタル放送の放送局および携帯電話機などに備えられる動画像符号化装置として有用である。
【0160】
また、本発明に係る動画像復号化装置は、通信機能を備えるパーソナルコンピュータ、PDA、ディジタル放送を受信するSTBおよび携帯電話機などに備えられる動画像復号化装置として有用である。
【0161】
【発明の効果】
以上のように、本発明の動画像符号化方法によると、時間的に後方にあるピクチャを参照出来ない環境下においても、直接モードを用いて予測符号化する際に時間的に後方にあるピクチャを参照することなく直接モードを実現する方法を提案し、さらに、符号化モードのテーブルから後方のピクチャを参照する項目を除くことによりテーブルの項目数を少なくし高い符号化効率を実現することを可能とする。
【0162】
また、本発明の動画像復号化方法によると、時間的に後方にあるピクチャを参照出来ない環境下においても、直接モードを用いて予測復号化する際に時間的に後方にあるピクチャを参照することなく直接モードを実現する方法を提案し、さらに、符号化モードのテーブルから後方のピクチャを参照する項目を除くことによりテーブルの項目数を少なくし、高い符号化効率によって符号化された符号列を矛盾無く復号化することを可能とする。
【図面の簡単な説明】
【図1】実施の形態1の動画像符号化方法を実行する動画像符号化装置の構成を示すブロック図である。
【図2】符号化対象ブロックが属するピクチャから表示順で後方にあるピクチャを参照することが出来ない場合の各ピクチャの参照関係の一例を示す図である。
【図3】直接モードが選択された場合のモード選択部の動作の一例を示すフローチャートである。
【図4】動きベクトルを参照される符号化済みブロックに2つの動きベクトルを持つブロックが含まれている場合の動きベクトルの参照関係の一例を示す図である。
【図5】図1に示したモード選択部が第1の方法を用いて符号化対象ブロックの空間的予測を行う場合の処理手順の一例を示すフローチャートである。
【図6】図1に示した符号列生成部で生成される符号列のスライスごとのデータ構造の一例を示す図である。
【図7】表示順で符号化対象ピクチャの手前から2枚のピクチャを参照する動きベクトルを取り出して2個の動きベクトルを算出する場合の動きベクトル参照方法の一例を表した図である。
【図8】本実施の形態の動画像復号化装置の構成を示すブロック図である。
【図9】図8に示した動き補償復号部における直接モードによる復号化の処理手順を示すフローチャートである。
【図10】(a)Bピクチャにおける予測モードを識別するためのコードと符号化モードとを対応付けるテーブルの一例を示す図である。
(b)予測方向が前方のみに制限されている場合のBピクチャにおける予測モードを識別するためのコードと符号化モードとを対応付けるテーブルの一例を示す図である。
【図11】(a)記録媒体本体であるフレキシブルディスクの物理フォーマットの例を示す図である。
(b)フレキシブルディスクの正面からみた外観、断面構造、及びフレキシブルディスクを示す図である。
(c)フレキシブルディスクFDに上記プログラムの記録再生を行うための構成を示す図である。
【図12】コンテンツ配信サービスを実現するコンテンツ供給システムの全体構成を示すブロック図である。
【図13】携帯電話の外観の一例を示す図である。
【図14】携帯電話の構成を示すブロック図である。
【図15】上記実施の形態で示した符号化処理または復号化処理を行う機器、およびこの機器を用いたシステムを説明する図である。
【図16】従来の動画像符号化方法における各ピクチャと、それによって参照されるピクチャとの参照関係の例を示す図である。
【図17】(a)図16に示したピクチャB18の周辺にあるピクチャを表示順で抜き出して示す図である。
(b)ピクチャB18を図17(a)に示した参照関係で符号化する場合におけるピクチャB18の周辺ピクチャの符号化順を示す図である。
【図18】同一ピクチャ内で対象ブロックの周辺に位置する符号化済みブロックの動きベクトルを参照する場合に、動きベクトルを参照される符号化済みブロックと対象ブロックとの位置関係を表した図である。
(a)対象ブロックBL51が16画素×16画素のサイズであった場合の例である。
(b)対象ブロックBL52が8画素×8画素のサイズであった場合の例である。
【図19】Pピクチャのスキップモードの際に参照される動きベクトルとその動きベクトルによって参照される符号化済みピクチャとの一例を示した図である。
【図20】直接モードにおいて動きベクトルを決定する方法を説明するための図である。
【符号の説明】
100 動画像符号化装置
101 フレームメモリ
102 予測誤差符号化部
103 符号列生成部
104 予測残差復号化部
105 フレームメモリ
106 動きベクトル検出部
107 モード選択部
108 動きベクトル記憶部
109 後方ピクチャ判定部
200 動画像復号化装置
201 符号列解析部
202 予測残差復号化部
203 フレームメモリ
204 動き補償復号部
205 動きベクトル記憶部
206 後方ピクチャ判定部
Se セクタ
Tr トラック
FD フレキシブルディスク
F フレキシブルディスクケース
Cs コンピュータシステム
FDD フレキシブルディスクドライブ
Claims (21)
- 動画像を符号化して符号列を生成する動画像符号化方法であって、
時間的に前方または後方にある符号化済みの複数のピクチャを参照して予測符号化を行うBピクチャの符号化において、符号化済みのブロックが持つ動きベクトルを参照して符号化対象ブロックの動き補償を行う直接モードを使用することを可能とする符号化ステップを含み、
前記符号化ステップは、前記符号化対象ブロックの属するピクチャから表示順で一方向にある符号化済みのピクチャのみを参照して前記Bピクチャの予測符号化を行う場合、前記直接モードとして前記符号化対象ブロックの周辺に位置する同一ピクチャ内の符号化済みブロックの動きベクトルを参照して動き補償を行う動き補償ステップを含む
ことを特徴とする動画像符号化方法。 - 前記動き補償ステップでは、前記予測符号化を行うために参照する全ての前記符号化済みのピクチャが、前記符号化対象ブロックの属するピクチャより時間的に前方にあるピクチャである場合、前記動き補償を行う
ことを特徴とする請求項1記載の動画像符号化方法。 - 前記動き補償ステップでは、前記符号化対象ブロックの属するピクチャより時間的に後方に、前記予測符号化を行うために参照することのできる前記符号化済みのピクチャがない場合、前記動き補償を行う
ことを特徴とする請求項1記載の動画像符号化方法。 - 前記動き補償ステップは、前記動き補償を行う際に、前記符号化済みブロックの動きベクトルによって参照される複数のピクチャのうち、前記符号化対象ブロックの属するピクチャに時間的に近い方から順に1つまたは複数のピクチャを参照する動きベクトルを参照し、その中央値または平均値を取ることによって前記符号化対象ブロックの動きベクトルを算出する動きベクトル算出ステップを含み、
前記動き補償ステップでは、前記動きベクトル算出ステップにおいて得られた1つもしくは複数の動きベクトルを使用して、前記直接モードによる動き補償を行う
ことを特徴とする請求項1記載の動画像符号化方法。 - 前記動きベクトル算出ステップでは、前記符号化済みブロックの動きベクトルによって参照される複数のピクチャのうち、前記符号化対象ブロックの属するピクチャに表示順で近い方から順に、1つまたは複数のピクチャを参照する動きベクトルを参照し、前記動きベクトルを算出する
ことを特徴とする請求項4記載の動画像符号化方法。 - 前記動き補償ステップでは、前記動き補償を行う際に、前記符号化済みブロックの位置が前記符号化対象ブロックの属するピクチャまたはスライスの外部であった場合、もしくは前記符号化済みブロックの持つ動きベクトルの値が「0」であった場合、もしくは前記符号化済みブロックが動きベクトルを持っていなかった場合、前記符号化対象ブロックの動きベクトルの値を「0」として、時間的に近い方から順に1つまたは複数のピクチャを参照して動き補償を行う
ことを特徴とする請求項1記載の動画像符号化方法。 - 動画像を符号化して符号列を生成する動画像符号化方法であって、
時間的に前方または後方にある符号化済みの複数のピクチャを参照して予測符号化を行うBピクチャの符号化において、符号化済みのブロックが持つ動きベクトルを参照して符号化対象ブロックの動き補償を行う直接モードを使用することを可能とする符号化ステップを含み、
前記符号化ステップは、前記符号化対象ブロックの属するピクチャから表示順で一方向にある符号化済みのピクチャのみを参照して前記Bピクチャの予測符号化を行う場合、前記直接モードとして前記符号化対象ブロックの動きベクトルの値を「0」として、時間的に近い方から順に1つまたは複数のピクチャを参照して動き補償を行う
ことを特徴とする動画像符号化方法。 - 前記符号化ステップは、前記Bピクチャの予測符号化方法と前記予測符号化方法を識別するための識別子とを対応付けたテーブルの中から後方を参照する予測符号化方法を除いて、前記テーブルを再生成するテーブル再生成ステップを含み、
前記符号化ステップでは、再生成された前記テーブルを用いて当該Bピクチャの予測符号化方法を示す前記識別子を符号化する
ことを特徴とする請求項1〜請求項7のいずれか1項に記載の動画像符号化方法。 - 動画像を符号化して得られる符号列を復号化する動画像復号化方法であって、
時間的に前方または後方にある復号化済みの複数のピクチャを参照して予測復号化を行うBピクチャの復号化において、復号化済みのブロックが持つ動きベクトルを参照して復号化対象ブロックの動き補償を行う直接モードを使用することを可能とする復号化ステップを含み、
前記復号化ステップは、前記復号化対象ブロックの属するピクチャから時間的に一方向にある復号化済みのピクチャのみを参照して前記Bピクチャの予測復号化を行う場合、前記直接モードとして前記復号化対象ブロックの周辺に位置する同一ピクチャ内の復号化済みブロックの動きベクトルを参照して動き補償を行う動き補償ステップを含む
ことを特徴とする動画像復号化方法。 - 前記動き補償ステップでは、前記予測復号化を行うために参照する全ての前記復号化済みのピクチャが、前記復号化対象ブロックの属するピクチャより時間的に前方にあるピクチャのみである場合、前記動き補償を行う
ことを特徴とする請求項9記載の動画像復号化方法。 - 前記動き補償ステップでは、前記復号化対象ブロックの属するピクチャより時間的に後方に、前記予測復号化を行うために参照することのできる前記復号化済みのピクチャがない場合、前記動き補償を行う
ことを特徴とする請求項9記載の動画像復号化方法。 - 前記動き補償ステップは、前記動き補償を行う際に、前記復号化済みブロックの動きベクトルによって参照される複数のピクチャのうち、前記復号化対象ブロックの属するピクチャに時間的に近い方から順に1つもしくは複数のピクチャを参照する動きベクトルを参照し、その中央値または平均値を取ることによって前記復号化対象ブロックの動きベクトルを算出する動きベクトル算出ステップを含み、
前記動き補償ステップでは、前記動きベクトル算出ステップにおいて得られた1つもしくは複数の動きベクトルを使用して、前記直接モードによる動き補償を行う
ことを特徴とする請求項9記載の動画像復号化方法。 - 前記動きベクトル算出ステップでは、前記復号化済みブロックの動きベクトルによって参照される複数のピクチャのうち、前記復号化対象ブロックの属するピクチャに表示順で近い方から順に、1つまたは複数のピクチャを参照する動きベクトルを参照し、前記動きベクトルを算出する
ことを特徴とする請求項12記載の動画像復号化方法。 - 前記動き補償ステップでは、前記動き補償を行う際に、前記復号化済みブロックの位置が前記復号化対象ブロックの属するピクチャまたはスライスの外部であった場合、もしくは前記復号化済みブロックの持つ動きベクトルの値が「0」であった場合、もしくは前記復号化済みブロックが動きベクトルを持っていなかった場合、前記復号化対象ブロックの動きベクトルの値を「0」として、時間的に近い方から順に1つまたは複数のピクチャを参照して動き補償を行う
ことを特徴とする請求項9記載の動画像復号化方法。 - 動画像を符号化して得られる符号列を復号化する動画像復号化方法であって、
時間的に前方または後方にある復号化済みの複数のピクチャを参照して予測復号化を行うBピクチャの復号化において、復号化済みのブロックが持つ動きベクトルを参照して復号化対象ブロックの動き補償を行う直接モードを使用することを可能とする復号化ステップを含み、
前記復号化ステップは、前記復号化対象ブロックの属するピクチャから時間的に一方向にある復号化済みのピクチャのみを参照して前記Bピクチャの予測復号化を行う場合、前記直接モードとして前記復号化対象ブロックの動きベクトルの値を「0」として、時間的に近い方から順に1つまたは複数のピクチャを参照して動き補償を行う
ことを特徴とする動画像復号化方法。 - 前記復号化ステップは、前記Bピクチャの予測復号化方法と前記予測復号化方法を識別するための識別子とを対応付けた予め保持しているテーブルの中から後方を参照する予測復号化方法を除いて、前記テーブルを再生成するテーブル再生成ステップを含み、
前記復号化ステップでは、前記符号化列から前記Bピクチャの予測復号化方法を識別するための識別子を復号化し、再生成されたテーブルを用いて、当該Bピクチャの予測復号化方法を識別し、識別された前記予測復号化方法に従って復号化対象ブロックの予測復号化を行う
ことを特徴とする請求項9〜請求項15のいずれか1項に記載の動画像復号化方法。 - 動画像を符号化して符号列を生成する動画像符号化装置であって、
時間的に前方または後方にある符号化済みの複数のピクチャを参照して予測符号化を行うBピクチャの符号化において、符号化済みのブロックが持つ動きベクトルを参照して符号化対象ブロックの動き補償を行う直接モードを使用することを可能とする符号化手段を備え、
前記符号化手段は、前記符号化対象ブロックの属するピクチャから時間的に一方向にある符号化済みのピクチャのみを参照して前記Bピクチャの予測符号化を行う場合、前記直接モードとして前記符号化対象ブロックの周辺に位置する同一ピクチャ内の符号化済みブロックの動きベクトルを参照して動き補償を行う動き補償部を備える
ことを特徴とする動画像符号化装置。 - 動画像を符号化して得られる符号列を復号化する動画像復号化装置であって、
時間的に前方または後方にある復号化済みの複数のピクチャを参照して予測復号化を行うBピクチャの復号化において、復号化済みのブロックが持つ動きベクトルを参照して復号化対象ブロックの動き補償を行う直接モードを使用することを可能とする復号化手段を備え、
前記復号化手段は、前記復号化対象ブロックの属するピクチャから時間的に一方向にある復号化済みのピクチャのみを参照して前記Bピクチャの予測復号化を行う場合、前記直接モードとして前記復号化対象ブロックの周辺に位置する同一ピクチャ内の復号化済みブロックの動きベクトルを参照して動き補償を行う動き補償部を備える
ことを特徴とする動画像復号化装置。 - コンピュータに、請求項1〜請求項16のいずれか1項に記載の動画像符号化方法または動画像復号化方法の各ステップを実行させるためのプログラムを格納したことを特徴とするデータ記録媒体。
- コンピュータに、請求項1〜請求項16のいずれか1項に記載の動画像符号化方法または動画像復号化方法の各ステップを実行させることを特徴とするプログラム。
- ピクチャを構成するスライスごとに、ヘッダ部とデータ部とが繰り返し配置されて構成される符号化データストリームであって、
各スライスのヘッダ部に、時間的に前方または後方にある符号化済みの複数のピクチャを参照して予測符号化を行うBピクチャの直接モードにおいて、符号化対象ブロックの属するピクチャから時間的に一方向にある符号化済みのピクチャのみを参照して予測符号化する場合、前記符号化対象ブロックの周辺に位置する同一ピクチャ内の複数の符号化済みブロックの動きベクトルを参照して動き補償を行うことを示すフラグ、もしくは前記符号化対象ブロックの動きベクトルの値を「0」として動き補償を行うことを示すフラグが配置され、
各スライスのデータ部に、請求項1〜請求項8のいずれか1項に記載の動画像符号化方法によって符号化された動画像符号化データが配置されている
ことを特徴とする符号化データストリーム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003136452A JP2004048711A (ja) | 2002-05-22 | 2003-05-14 | 動画像の符号化方法および復号化方法およびデータ記録媒体 |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002148218 | 2002-05-22 | ||
| JP2003136452A JP2004048711A (ja) | 2002-05-22 | 2003-05-14 | 動画像の符号化方法および復号化方法およびデータ記録媒体 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2004048711A true JP2004048711A (ja) | 2004-02-12 |
Family
ID=31719647
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2003136452A Pending JP2004048711A (ja) | 2002-05-22 | 2003-05-14 | 動画像の符号化方法および復号化方法およびデータ記録媒体 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2004048711A (ja) |
Cited By (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007504760A (ja) * | 2003-09-07 | 2007-03-01 | マイクロソフト コーポレーション | インターレース・ビデオおよびプログレッシブ・ビデオのマクロブロックおよび動き情報の符号化および復号における新機軸 |
| WO2007074543A1 (ja) * | 2005-12-27 | 2007-07-05 | Sharp Kabushiki Kaisha | 動画像復号装置および動画像符号化装置 |
| US7924920B2 (en) | 2003-09-07 | 2011-04-12 | Microsoft Corporation | Motion vector coding and decoding in interlaced frame coded pictures |
| US7936821B2 (en) | 2002-07-15 | 2011-05-03 | Hitachi Consumer Electronics Co., Ltd. | Moving picture encoding method and decoding method |
| US8064520B2 (en) | 2003-09-07 | 2011-11-22 | Microsoft Corporation | Advanced bi-directional predictive coding of interlaced video |
| WO2011155171A1 (ja) * | 2010-06-09 | 2011-12-15 | 株式会社Jvcケンウッド | 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム、ならびに動画像復号装置、動画像復号方法及び動画像復号プログラム |
| JP2011259230A (ja) * | 2010-06-09 | 2011-12-22 | Jvc Kenwood Corp | 動画像復号装置、動画像復号方法及び動画像復号プログラム |
| JP2011259229A (ja) * | 2010-06-09 | 2011-12-22 | Jvc Kenwood Corp | 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム |
| WO2012081225A1 (ja) * | 2010-12-14 | 2012-06-21 | パナソニック株式会社 | 画像符号化方法、及び画像復号方法 |
| WO2012081246A1 (ja) * | 2010-12-17 | 2012-06-21 | パナソニック株式会社 | 画像符号化方法および画像復号化方法 |
| WO2012090478A1 (ja) * | 2010-12-28 | 2012-07-05 | パナソニック株式会社 | 動画像符号化方法、および、動画像復号化方法 |
| WO2012098866A1 (ja) * | 2011-01-18 | 2012-07-26 | パナソニック株式会社 | 動画像符号化方法および動画像復号化方法 |
| US8687697B2 (en) | 2003-07-18 | 2014-04-01 | Microsoft Corporation | Coding of motion vector information |
| JP2015027111A (ja) * | 2014-11-05 | 2015-02-05 | 三菱電機株式会社 | 画像符号化装置 |
| JP2016167853A (ja) * | 2016-04-26 | 2016-09-15 | 三菱電機株式会社 | 画像復号装置、画像符号化装置およびビットストリーム |
| JP2019087829A (ja) * | 2017-11-03 | 2019-06-06 | 株式会社デンソー | 復号装置 |
-
2003
- 2003-05-14 JP JP2003136452A patent/JP2004048711A/ja active Pending
Cited By (44)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9832473B2 (en) | 2002-07-15 | 2017-11-28 | Hitachi Maxell, Ltd. | Moving picture encoding method and decoding method with motion vectors of blocks adjacent to target blocks and motion vectors at a same position to target blocks in other frames |
| US8571108B2 (en) | 2002-07-15 | 2013-10-29 | Hitachi Consumer Electronics Co., Ltd. | Moving picture encoding method and decoding method |
| US10327004B2 (en) | 2002-07-15 | 2019-06-18 | Maxell, Ltd. | Moving picture encoding method and decoding method considering motion vectors of blocks adjacent to target block |
| US7936821B2 (en) | 2002-07-15 | 2011-05-03 | Hitachi Consumer Electronics Co., Ltd. | Moving picture encoding method and decoding method |
| US7936823B2 (en) | 2002-07-15 | 2011-05-03 | Hitach Consumer Electronics Co., Ltd. | Moving picture encoding method and decoding method |
| US7936822B2 (en) | 2002-07-15 | 2011-05-03 | Hitachi Consumer Electronics Co., Ltd. | Moving picture encoding method and decoding method |
| US7970058B2 (en) | 2002-07-15 | 2011-06-28 | Hitachi Consumer Electronics Co., Ltd. | Moving picture encoding method and decoding method |
| US8036272B2 (en) | 2002-07-15 | 2011-10-11 | Hitachi Consumer Electronics Co., Ltd. | Moving picture encoding method and decoding method |
| US10110906B2 (en) | 2002-07-15 | 2018-10-23 | Maxell, Ltd. | Moving picture encoding method and decoding method considering motion vectors of blocks adjacent to target block |
| US10104383B2 (en) | 2002-07-15 | 2018-10-16 | Maxell, Ltd. | Moving picture encoding method and decoding method considering motion vectors of blocks adjacent to target block |
| JP2018129835A (ja) * | 2002-07-15 | 2018-08-16 | マクセル株式会社 | 動画像復号化方法 |
| JP6336228B1 (ja) * | 2002-07-15 | 2018-06-06 | マクセル株式会社 | 動画像復号化方法 |
| US10349062B2 (en) | 2002-07-15 | 2019-07-09 | Maxell, Ltd. | Moving picture encoding method and decoding method considering motion vectors of blocks adjacent to target block |
| JP2016034142A (ja) * | 2002-07-15 | 2016-03-10 | 日立マクセル株式会社 | 動画像復号化方法 |
| US8837594B2 (en) | 2002-07-15 | 2014-09-16 | Hitachi Consumer Electronics Co., Ltd. | Moving picture encoding method and decoding method considering motion vectors of blocks adjacent to target block |
| JP2014003663A (ja) * | 2002-07-15 | 2014-01-09 | Hitachi Consumer Electronics Co Ltd | 動画像復号化方法 |
| JP2014225921A (ja) * | 2002-07-15 | 2014-12-04 | 日立コンシューマエレクトロニクス株式会社 | 動画像復号化方法 |
| US8320459B2 (en) | 2002-07-15 | 2012-11-27 | Hitachi Consumer Electronics Co., Ltd. | Moving picture encoding method and decoding method |
| US8325816B2 (en) | 2002-07-15 | 2012-12-04 | Hitachi Consumer Electronics Co., Ltd. | Moving picture encoding method and decoding method |
| US8340190B2 (en) | 2002-07-15 | 2012-12-25 | Hitachi Consumer Electronics Co., Ltd. | Moving picture encoding method and decoding method |
| US8571107B2 (en) | 2002-07-15 | 2013-10-29 | Hitachi Consumer Electronics Co., Ltd. | Moving picture encoding method and decoding method |
| JP2017085590A (ja) * | 2002-07-15 | 2017-05-18 | 日立マクセル株式会社 | 動画像復号化方法 |
| US8917768B2 (en) | 2003-07-18 | 2014-12-23 | Microsoft Corporation | Coding of motion vector information |
| US9148668B2 (en) | 2003-07-18 | 2015-09-29 | Microsoft Technology Licensing, Llc | Coding of motion vector information |
| US8687697B2 (en) | 2003-07-18 | 2014-04-01 | Microsoft Corporation | Coding of motion vector information |
| US8625669B2 (en) | 2003-09-07 | 2014-01-07 | Microsoft Corporation | Predicting motion vectors for fields of forward-predicted interlaced video frames |
| US7924920B2 (en) | 2003-09-07 | 2011-04-12 | Microsoft Corporation | Motion vector coding and decoding in interlaced frame coded pictures |
| US8064520B2 (en) | 2003-09-07 | 2011-11-22 | Microsoft Corporation | Advanced bi-directional predictive coding of interlaced video |
| JP2007504760A (ja) * | 2003-09-07 | 2007-03-01 | マイクロソフト コーポレーション | インターレース・ビデオおよびプログレッシブ・ビデオのマクロブロックおよび動き情報の符号化および復号における新機軸 |
| JP4921971B2 (ja) * | 2003-09-07 | 2012-04-25 | マイクロソフト コーポレーション | インターレース・ビデオおよびプログレッシブ・ビデオのマクロブロックおよび動き情報の符号化および復号における新機軸 |
| WO2007074543A1 (ja) * | 2005-12-27 | 2007-07-05 | Sharp Kabushiki Kaisha | 動画像復号装置および動画像符号化装置 |
| JP2011259230A (ja) * | 2010-06-09 | 2011-12-22 | Jvc Kenwood Corp | 動画像復号装置、動画像復号方法及び動画像復号プログラム |
| WO2011155171A1 (ja) * | 2010-06-09 | 2011-12-15 | 株式会社Jvcケンウッド | 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム、ならびに動画像復号装置、動画像復号方法及び動画像復号プログラム |
| JP2011259229A (ja) * | 2010-06-09 | 2011-12-22 | Jvc Kenwood Corp | 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム |
| WO2012081225A1 (ja) * | 2010-12-14 | 2012-06-21 | パナソニック株式会社 | 画像符号化方法、及び画像復号方法 |
| WO2012081246A1 (ja) * | 2010-12-17 | 2012-06-21 | パナソニック株式会社 | 画像符号化方法および画像復号化方法 |
| US10778969B2 (en) | 2010-12-17 | 2020-09-15 | Sun Patent Trust | Image coding method and image decoding method |
| US10986335B2 (en) | 2010-12-17 | 2021-04-20 | Sun Patent Trust | Image coding method and image decoding method |
| WO2012090478A1 (ja) * | 2010-12-28 | 2012-07-05 | パナソニック株式会社 | 動画像符号化方法、および、動画像復号化方法 |
| WO2012098866A1 (ja) * | 2011-01-18 | 2012-07-26 | パナソニック株式会社 | 動画像符号化方法および動画像復号化方法 |
| JP2015027111A (ja) * | 2014-11-05 | 2015-02-05 | 三菱電機株式会社 | 画像符号化装置 |
| JP2016167853A (ja) * | 2016-04-26 | 2016-09-15 | 三菱電機株式会社 | 画像復号装置、画像符号化装置およびビットストリーム |
| JP2019087829A (ja) * | 2017-11-03 | 2019-06-06 | 株式会社デンソー | 復号装置 |
| JP7056084B2 (ja) | 2017-11-03 | 2022-04-19 | 株式会社デンソー | 復号装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4130783B2 (ja) | 動きベクトル符号化方法および動きベクトル復号化方法 | |
| CN1685732B (zh) | 画像编码方法及装置、画像解码方法及装置 | |
| KR100948714B1 (ko) | 동화상 부호화 방법 및 동화상 복호화 방법 | |
| EP1418762A1 (en) | Moving image encoding method, moving image decoding method, and data recording medium | |
| JP2004007563A (ja) | 動画像符号化方法および動画像復号化方法 | |
| JP2008187734A (ja) | フィルタリング強度決定方法 | |
| JP4313710B2 (ja) | 画像符号化方法および画像復号化方法 | |
| JP2004040816A (ja) | 動画像符号化装置及び動画像復号化装置 | |
| JP2004048711A (ja) | 動画像の符号化方法および復号化方法およびデータ記録媒体 | |
| JP3878591B2 (ja) | 動画像符号化方法および動画像復号化方法 | |
| JP4580626B2 (ja) | フィルタリング強度の決定方法、動画像符号化方法、および動画像復号化方法 | |
| JP2004088736A (ja) | 動画像の符号化方法、復号化方法、データストリーム、データ記録媒体およびプログラム | |
| CN101431681B (zh) | 图像解码方法及图像解码装置 | |
| JP2004260236A (ja) | 動画像の符号化方法および復号化方法 | |
| JP2005142986A (ja) | 動画像符号化方法、動画像符号化装置および動画像符号化プログラム | |
| JP2004048632A (ja) | 動画像符号化方法および動画像復号化方法 | |
| JP3884472B2 (ja) | 動画像符号化方法および動画像復号化方法 | |
| JP2004040512A (ja) | 画像符号化方法および画像復号方法 | |
| JP2004088731A (ja) | 動きベクトル導出方法、動画像符号化方法、および動画像復号化方法 | |
| JP2004194283A (ja) | 動き補償方法、画像符号化方法および画像復号化方法 | |
| JP2006187039A (ja) | 動画像符号化方法および動画像復号化方法 |