(57)【要約】【課題】ＩピクチャまたはＰピクチャ間に挿入されるＢピクチャの枚数が多くなった場合でも、Ｂピクチャの符号化効率の劣化を回避することができ、かつダイレクトモードにおける符号化効率を向上させることができる動画像符号化方法および動画像復号化方法を提供する。【解決手段】ＩピクチャまたはＰピクチャ間に挟まれる複数の連続したＢピクチャの符号化順序を、表示時間順で考えた場合に、既に符号化済みのピクチャから最も遠くなるピクチャを優先して決定し、各ピクチャを符号化を行う順に並び替える符号化制御部１１０と、ダイレクトモードにより符号化する際には、符号化対象ピクチャの後方参照ピクチャ中の、符号化対象ブロックと同じ位置にあるブロックの符号化の際に前方向動きベクトルを用いていた場合は、この前方向動きベクトルに対してスケーリングを行って、符号化対象ブロックの動きベクトルを生成するモード選択部１０９とを備える。【選択図】図１
2006187039.tif 000002
【特許請求の範囲】
【請求項１】
動画像を構成する各ピクチャに対応する画像データを符号化して生成された符号列を復号化する動画像復号化方法であって、
復号化対象ブロックを復号化する際に、
既に復号化済みであるピクチャ内にあるブロックであって、しかも前記復号化対象ブロックと同一位置にあるブロックでもある同一位置ブロックの動きベクトルに基づいて、前記復号化対象ブロックの動きベクトルを決定し、
前記復号化対象ブロックの動きベクトルと、前記復号化対象ブロックの動きベクトルに対応する参照ピクチャを用いて、前記復号化対象ブロックをダイレクトモードで動き補償して復号化する復号化ステップを含む
ことを特徴とする動画像復号化方法。
【請求項２】
前記復号化ステップでは、
前記同一位置ブロックが、１つの動きベクトルと該１つの動きベクトルに対応する１つの後方参照ピクチャを用いて復号化されている場合には、
前記同一位置ブロックを復号化する際に用いた前記１つの動きベクトルに対して、ピクチャの表示順序を示す情報の差を用いてスケーリングすることにより、前記復号化対象ブロックをダイレクトモードで動き補償して復号化するための２つの動きベクトルを前記復号化対象ブロックに対して生成し、
前記生成された２つの動きベクトルと前記生成された２つの動きベクトルにそれぞれ対応する２つの参照ピクチャを用いて、前記復号化対象ブロックをダイレクトモードで動き補償して復号化する
ことを特徴とする請求項１に記載の動画像復号化方法。
【請求項３】
前記復号化対象ブロックの２つの動きベクトルにそれぞれ対応する前記２つの参照ピクチャのうち、
第１の参照ピクチャは、前記同一位置ブロックを含むピクチャであり、
第２の参照ピクチャは、前記同一位置ブロックを復号化する際に用いられた１つの後方参照ピクチャであり、前記復号化対象ブロックの２つの動きベクトルを生成する際にスケーリングの対象となった動きベクトルに対応する参照ピクチャである
ことを特徴とする請求項２に記載の動画像復号化方法。
【請求項４】
ピクチャの表示順序を示す前記情報とは、前記復号化対象ブロックを含むピクチャの表示順序を示す第１情報、前記復号化対象ブロックの前記第２の参照ピクチャの表示順序を示す第２情報、および、前記同一位置ブロックを含むピクチャでもあり前記復号化対象ブロックの前記第１の参照ピクチャでもあるピクチャの表示順序を示す第３情報であり、
前記情報の差とは、第１情報と第２情報の差、第１情報と第３情報の差、および、第２情報と第３情報の差である
ことを特徴とする請求項３に記載の動画像復号化方法。
【請求項５】
動画像を構成する各ピクチャに対応する画像データを符号化して生成された符号列を復号化する動画像復号化装置であって、
復号化対象ブロックを復号化する際に、
既に復号化済みであるピクチャ内にあるブロックであって、しかも前記復号化対象ブロックと同一位置にあるブロックでもある同一位置ブロックの動きベクトルに基づいて、前記復号化対象ブロックの動きベクトルを決定し、
前記復号化対象ブロックの動きベクトルと、前記復号化対象ブロックの動きベクトルに対応する参照ピクチャを用いて、前記復号化対象ブロックをダイレクトモードで動き補償して復号化する復号化手段を備え、
前記復号化手段では、
前記同一位置ブロックが、１つの動きベクトルと該１つの動きベクトルに対応する１つの後方参照ピクチャを用いて復号化されている場合には、
前記同一位置ブロックを復号化する際に用いた前記１つの動きベクトルに対して、ピクチャの表示順序を示す情報の差を用いてスケーリングすることにより、前記復号化対象ブロックをダイレクトモードで動き補償して復号化するための２つの動きベクトルを前記復号化対象ブロックに対して生成し、
前記生成された２つの動きベクトルと前記生成された２つの動きベクトルにそれぞれ対応する２つの参照ピクチャを用いて、前記復号化対象ブロックをダイレクトモードで動き補償して復号化する
ことを特徴とする動画像復号化装置。
【請求項６】
動画像に対応する符号列を復号化する復号化処理を行なうプログラムを格納したデータ記憶媒体であって、
前記プログラムは、コンピュータに、請求項１〜４のいずれか一項に記載の動画像復号化方法により前記復号化処理を行なわせる
ことを特徴とするデータ記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像符号化方法および動画像復号化方法に関し、特に処理対象ピクチャに対して、処理済みのピクチャを参照ピクチャとして用いるピクチャ間予測符号化処理及びピクチャ間予測復号化処理を施す方法に関するものである。
【背景技術】
【０００２】
動画像符号化処理では、一般に動画像が有する空間方向および時間方向の冗長性を利用して情報量の圧縮が行われる。ここで一般に、空間方向の冗長性を利用する方法としては、周波数領域への変換が用いられ、時間方向の冗長性を利用する方法としては、ピクチャ間予測符号化処理が用いられる。ピクチャ間予測符号化処理では、あるピクチャを符号化する際に、符号化処理の対象となる符号化対象ピクチャに対して表示時間順で前方または後方にある符号化処理済みのピクチャを、符号化対象ピクチャに対応する参照ピクチャとする。そして、その参照ピクチャに対する符号化対象ピクチャの動き量を検出し、この動き量に基づいて動き補償処理を行って得られた画像データと符号化対象ピクチャの画像データとの差分を取ることにより時間方向の冗長性を取り除く。さらに、この差分値に対して空間方向の冗長度を取り除くことにより、符号化対象ピクチャに対する情報量の圧縮を行う。
【０００３】
現在標準化中のＨ．２６４と呼ばれる動画像符号化方式では、ピクチャ間予測符号化処理を行わない、すなわちピクチャ内符号化処理を行うピクチャをＩピクチャと呼ぶ。また、表示時間順で符号化対象ピクチャの前方または後方にある既に処理済みの１つのピクチャを参照してピクチャ間予測符号化が行われるピクチャをＰピクチャと呼び、表示時間順で符号化対象ピクチャの前方または後方にある既に処理済みの２つのピクチャを参照してピクチャ間予測符号化が行われるピクチャをＢピクチャと呼ぶ（例えば、非特許文献１参照）。
【０００４】
図２０(a) は、上記の動画像符号化方式における、各ピクチャと、対応する参照ピクチャとの関係を示す図であり、図２０(b) は符号化により生成された符号列の順序を示す図である。
【０００５】
ピクチャＩ１はＩピクチャであり、ピクチャＰ５、Ｐ９、Ｐ１３は、Ｐピクチャであり、ピクチャＢ２，Ｂ３，Ｂ４、Ｂ６、Ｂ７、Ｂ８、Ｂ１０、Ｂ１１、Ｂ１２は、Ｂピクチャである。つまり、ＰピクチャＰ５、Ｐ９、Ｐ１３は、矢印で示すように、それぞれ、ＩピクチャＩ１、ＰピクチャＰ５，ＰピクチャＰ９を参照ピクチャとして用いてピクチャ間予測符号化が施されるものである。
【０００６】
また、ＢピクチャＢ２、Ｂ３、Ｂ４はそれぞれ、矢印で示すように、ＩピクチャＩ１及びＰピクチャＰ５を参照ピクチャとして用いてピクチャ間予測符号化が施されるもの、ＢピクチャＢ６、Ｂ７、Ｂ８はそれぞれ、矢印で示すように、ＰピクチャＰ５及びＰピクチャＢ９を参照ピクチャとして用いてピクチャ間予測符号化が施されるもの、ＢピクチャＢ１０、Ｂ１１、Ｂ１２はそれぞれ、矢印で示すように、ＰピクチャＰ９及びＰピクチャＰ１３を参照ピクチャとして用いてピクチャ間予測符号化が施されるものである。
【０００７】
以上の符号化の際には、参照ピクチャとして用いられるピクチャは、そのピクチャを参照するピクチャよりも先行して符号化される。したがって、上記の符号化により生成された符号列は、図２０(b) に示すようなピクチャの順序となる。
【０００８】
ところで、Ｈ．２６４方式の動画像符号化方式では、Ｂピクチャの符号化において、ダイレクトモードと呼ぶ符号化モードを選択することができる。ダイレクトモードにおけるフレーム間予測方法を、図２１を用いて説明する。図２１はダイレクトモードにおける動きベクトルを示す説明図であり、ピクチャＢ６のブロックａをダイレクトモードで符号化する場合を示している。この場合、ピクチャＢ６の後方にある参照ピクチャであるピクチャＰ９中の、ブロックａと同じ位置にあるブロックｂを符号化した際に用いた動きベクトルｃを利用する。動きベクトルｃは、ブロックｂが符号化された際に用いられた動きベクトルであり、ピクチャＰ５を参照している。ブロックａは、動きベクトルｃと平行な動きベクトルを用いて、前方向参照ピクチャであるピクチャＰ５と、後方向参照ピクチャであるピクチャＰ９とから参照ブロックを取得し、２方向予測を行って符号化される。すなわち、ブロックａを符号化する際に用いられる動きベクトルは、ピクチャＰ５に対しては動きベクトルｄ、ピクチャＰ９に対しては動きベクトルｅとなる。
【非特許文献１】ISO/IEC 14496-2「Information technology − Coding of audio-visualobjects − Part2: Visual」pp.218-219
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記のようにＢピクチャに対してＩピクチャやＰピクチャを参照するピクチャ間予測符号化処理を施す際に、符号化対象ピクチャと参照ピクチャとの間の時間的距離が長くなる場合があり、このような場合には、符号化効率の低下を招くこととなる。特にＢピクチャの挿入枚数、つまり、隣合うＩピクチャとＰピクチャとの間、あるいは最も近い位置にある２つのＰピクチャの間に配置されるＢピクチャの数が多くなった場合、符号化効率の低下が顕著となる。
【００１０】
そこで、本発明は上記のような問題点を解決するためになされたものであり、ＩピクチャとＰピクチャとの間、あるいはＰピクチャ間に挿入されるＢピクチャの枚数が多くなった場合でも、Ｂピクチャの符号化効率の劣化を回避することができる動画像符号化方法および動画像復号化方法を提供することを目的とする。また、ダイレクトモードにおける符号化効率を向上させることができる動画像符号化方法および動画像復号化方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、本発明に係る動画像復号化方法は、動画像を構成する各ピクチャに対応する画像データを符号化して生成された符号列を復号化する動画像復号化方法であって、復号化対象ブロックを復号化する際に、既に復号化済みであるピクチャ内にあるブロックであって、しかも前記復号化対象ブロックと同一位置にあるブロックでもある同一位置ブロックの動きベクトルに基づいて、前記復号化対象ブロックの動きベクトルを決定し、前記復号化対象ブロックの動きベクトルと、前記復号化対象ブロックの動きベクトルに対応する参照ピクチャを用いて、前記復号化対象ブロックをダイレクトモードで動き補償して復号化する復号化ステップを含むことを特徴とする。
【００１２】
また、本発明に係る動画像符号化方法は、動画像を構成する各ピクチャに対応する画像データを符号化して符号列を生成する動画像符号化方法であって、符号化の対象となる対象ピクチャが、ピクチャ内符号化を行うブロックのみを有するＩピクチャ、既に符号化済みであるピクチャを第１参照ピクチャとして用いる１方向参照によるピクチャ間予測符号化を行うブロックを有するＰピクチャ、既に符号化済みであるピクチャを第１参照ピクチャおよび第２参照ピクチャとして用いる２方向参照によるピクチャ間予測符号化を行うブロックを有するＢピクチャのいずれかとして符号化を行う符号化ステップを含み、前記符号化ステップは、前記ＩピクチャまたはＰピクチャ間に挟まれる複数の連続した前記Ｂピクチャの符号化順序を、表示時間順とは異なる順序に決定する制御ステップを含むことを特徴とする。
【００１３】
これによって、Ｂピクチャを符号化する際に、より表示時間順で近傍のピクチャを参照ピクチャとして用いることができるので、動き補償の際の予測効率を向上して、符号化効率を向上することができる。
【００１４】
また、本発明に係る動画像符号化方法は、動画像を構成する各ピクチャに対応する画像データを符号化して符号列を生成する動画像符号化方法であって、符号化の対象となる対象ピクチャを、少なくとも、既に符号化済みであるピクチャを第１参照ピクチャおよび第２参照ピクチャとして用いる２方向参照によるピクチャ間予測符号化を行うブロックを有するＢピクチャとして符号化を行う符号化ステップを含み、前記符号化ステップでは、符号化対象であるＢピクチャの符号化対象ブロックを、既に符号化済みであるブロックの有する動きベクトルに基づく、前記符号化対象ブロックの動きベクトルによって動き補償するダイレクトモードとして符号化する場合に、前記符号化対象ブロックと同一位置にある前記第２参照ピクチャ内のブロックを符号化した際に用いた当該ブロックが参照する第１参照ピクチャに基づく第１動きベクトルに対して、ピクチャの表示順序を示す情報の差を用いてスケーリングすることにより、前記符号化対象ブロックを動き補償する際の動きベクトルを得ることを特徴とする。
【００１５】
これによって、ダイレクトモードが選択された場合には、第２参照ピクチャの第１動きベクトルに対してスケーリングを行うので、動きベクトルの情報を符号列に付加する必要がなく、かつ予測効率を向上させることができる。
【００１６】
また、符号化対象であるＢピクチャの符号化対象ブロックをダイレクトモードとして符号化する場合に、前記符号化対象ブロックと同一位置にある前記第２参照ピクチャ内のブロックを符号化した際に用いた当該ブロックが参照する第２参照ピクチャに基づく第２動きベクトルに対して、ピクチャの表示順序を示す情報の差を用いてスケーリングすることにより、前記符号化対象ブロックを動き補償する際の動きベクトルを得てもよい。
【００１７】
これによって、ダイレクトモードが選択された場合には、第２参照ピクチャの第２動きベクトルに対してスケーリングを行うので、動きベクトルの情報を符号列に付加する必要がなく、かつ予測効率を向上させることができる。
【００１８】
また、符号化対象であるＢピクチャの符号化対象ブロックをダイレクトモードとして符号化する場合に、前記符号化対象ブロックと同一位置にある前記第２参照ピクチャ内のブロックがダイレクトモードで符号化されているときには、前記第２参照ピクチャ内のブロックを符号化する際に実質的に用いた当該ブロックが参照する第１参照ピクチャに基づく第１動きベクトルに対して、ピクチャの表示順序を示す情報の差を用いてスケーリングを行うことにより、前記符号化対象ブロックを動き補償する際の動きベクトルを得てもよい。
【００１９】
これによって、ダイレクトモードが選択された場合には、第２参照ピクチャの実質的に用いた第１動きベクトルに対してスケーリングを行うので、動きベクトルの情報を符号列に付加する必要がなく、かつ予測効率を向上させることができる。
【００２０】
また、符号化対象であるＢピクチャの符号化対象ブロックをダイレクトモードとして符号化する場合に、前記符号化対象ブロックと同一位置にある後方Ｐピクチャ内のブロックを符号化した際に用いた当該ブロックが参照する第１参照ピクチャに基づく第１動きベクトルに対して、ピクチャの表示順序を示す情報の差を用いてスケーリングを行うことにより、前記符号化対象ブロックを動き補償する際の動きベクトルを得てもよい。
【００２１】
これによって、ダイレクトモードが選択された場合には、後方Ｐピクチャの第１動きベクトルに対してスケーリングを行うので、動きベクトルの情報を符号列に付加する必要がなく、かつ予測効率を向上させることができる。
【００２２】
また、符号化対象であるＢピクチャの符号化対象ブロックをダイレクトモードとして符号化する場合に、前記符号化対象ブロックと同一位置にある前記第２参照ピクチャ内のブロックが少なくとも第１参照ピクチャに基づく第１動きベクトルを用いて符号化されている場合は、前記第１動きベクトルに対して、前記同一位置にある前記第２参照ピクチャ内のブロックが第２参照ピクチャに基づく第２動きベクトルのみを用いて符号化されている場合は、前記第２動きベクトルに対して、ピクチャの表示順序を示す情報の差を用いてスケーリングすることにより、前記符号化対象ブロックを動き補償する際の動きベクトルを得てもよい。
【００２３】
これによって、ダイレクトモードが選択された場合には、第２参照ピクチャが第１動きベクトルを有していれば、この第１動きベクトルに対してスケーリングを行い、また、第２参照ピクチャが第１動きベクトルを有さず第２動きベクトルのみを有していれば、この第２動きベクトルに対してスケーリングを行うので、動きベクトルの情報を符号列に付加する必要がなく、かつ予測効率を向上させることができる。
【００２４】
また、本発明に係る動画像復号化方法は、動画像を構成する各ピクチャに対応する画像データを符号化して生成された符号列を復号化する動画像復号化方法であって、復号化の対象となる対象ピクチャを、既に復号化済みのピクチャを参照ピクチャとして用いてピクチャ間予測復号化を行う復号化ステップを含み、前記復号化ステップでは、既に復号化済みであるピクチャを第１参照ピクチャおよび第２参照ピクチャとして用いる２方向参照によるピクチャ間予測復号化を行う際に、前記第１参照ピクチャおよび第２参照ピクチャとして、それぞれ表示時間順で最も近いピクチャを少なくとも含む符号列を復号化することを特徴とする。
【００２５】
これによって、２方向参照によるピクチャ間予測符号化処理を行う際に第１参照ピクチャおよび第２参照ピクチャとして、表示時間順に近傍に位置するピクチャを用いて符号化されて生成された符号列を、復号化する際に正しく復号化処理を行うことができる。
【００２６】
また、本発明に係る動画像復号化方法は、動画像を構成する各ピクチャに対応する画像データを符号化して生成された符号列を復号化する動画像復号化方法であって、復号化の対象となる対象ピクチャを、既に復号化済みのピクチャを参照ピクチャとして用いてピクチャ間予測復号化を行う復号化ステップを含み、前記復号化ステップでは、復号化対象ピクチャが、既に復号化済みであるピクチャを第１参照ピクチャおよび第２参照ピクチャとして用いる２方向参照によるピクチャ間予測復号化を行うブロックを有するピクチャであり、かつ、復号化対象ブロックを既に復号化済みであるブロックの有する動きベクトルに基づく、前記復号化対象ブロックの動きベクトルによって動き補償するダイレクトモードとして復号化する場合に、前記復号化対象ブロックと同一位置にある前記第２参照ピクチャ内のブロックを復号化した際に用いた当該ブロックが参照する第１参照ピクチャに基づく第１動きベクトルに対して、ピクチャの表示順序を示す情報の差を用いてスケーリングを行うことにより、前記復号化対象ブロックを動き補償する際の動きベクトルを得ることを特徴とする。
【００２７】
これによって、ダイレクトモードが選択された場合には、第２参照ピクチャの第１動きベクトルに対してスケーリングを行うので、復号化する際に正しく復号化処理を行うことができる。
【００２８】
また、復号化対象ピクチャが２方向参照によるピクチャ間予測復号化を行うブロックを有するピクチャであり、かつ、復号化対象ブロックをダイレクトモードとして復号化する場合に、前記復号化対象ブロックと同一位置にある前記第２参照ピクチャ内のブロックを復号化した際に用いた当該ブロックが参照する第２参照ピクチャに基づく第２動きベクトルに対して、ピクチャの表示順序を示す情報の差を用いてスケーリングを行うことにより、前記復号化対象ブロックを動き補償する際の動きベクトルを得てもよい。
【００２９】
これによって、ダイレクトモードが選択された場合には、第２参照ピクチャの第２動きベクトルに対してスケーリングを行うので、復号化する際に正しく復号化処理を行うことができる。
【００３０】
また、復号化対象ピクチャが２方向参照によるピクチャ間予測復号化を行うブロックを有するピクチャであり、かつ、復号化対象ブロックをダイレクトモードとして復号化する場合に、前記復号化対象ブロックと同一位置にある前記第２参照ピクチャ内のブロックがダイレクトモードで復号化されているときには、前記第２参照ピクチャ内のブロックを復号化する際に実質的に用いた当該ブロックが参照する第１参照ピクチャに基づく第１動きベクトルに対して、参照ピクチャの表示順序を示す情報の差を用いてスケーリングを行うことにより、前記復号化対象ブロックを動き補償する際の動きベクトルを得てもよい。
【００３１】
これによって、ダイレクトモードが選択された場合には、第２参照ピクチャの実質的に用いた第１動きベクトルに対してスケーリングを行うので、復号化する際に正しく復号化処理を行うことができる。
【００３２】
また、復号化対象ピクチャが２方向参照によるピクチャ間予測復号化を行うブロックを有するピクチャであり、かつ、復号化対象ブロックをダイレクトモードとして復号化する場合に、表示時間順で後方に位置する、既に復号化済みであるピクチャを第１参照ピクチャとして用いる１方向参照によるピクチャ間予測復号化を行うピクチャ内の、前記復号化対象ブロックと同一位置にあるブロックを復号化した際に用いた当該ブロックが参照する第１参照ピクチャに基づく第１動きベクトルに対して、ピクチャの表示順序を示す情報の差を用いてスケーリングを行うことにより、前記復号化対象ブロックを動き補償する際の動きベクトルを得てもよい。
【００３３】
これによって、ダイレクトモードが選択された場合には、１方向参照によるピクチャ間予測復号化を行うピクチャの第１動きベクトルに対してスケーリングを行うので、復号化する際に正しく復号化処理を行うことができる。
【００３４】
なお、本発明は、このような動画像符号化方法および動画像復号化方法として実現することができるだけでなく、このような動画像符号化方法および動画像復号化方法が含む特徴的なステップを手段として備える動画像符号化装置および動画像復号化装置として実現できる。また、動画像符号化方法により符号化した符号列として実現し、ＣＤ−ＲＯＭ等の記録媒体やインターネット等の伝送媒体を介して配信することができる。
【発明の効果】
【００３５】
以上のように、本発明に係る動画像符号化方法によれば、Ｂピクチャを符号化する際に、より表示時間順で近傍のピクチャを参照ピクチャとして用いることができ、これにより動き補償の際の予測効率が向上するため、符号化効率が向上する。
【００３６】
また、ダイレクトモードにおいて、第２参照ピクチャの第１動きベクトルに対してスケーリングを行うことにより、動きベクトルの情報を送る必要がなく、かつ予測効率を向上させることができる。
【００３７】
また、ダイレクトモードにおいて、第２参照ピクチャのダイレクトモードで実質的に用いた第１動きベクトルに対してスケーリングを行うことにより、動きベクトルの情報を送る必要がなく、かつ第２参照ピクチャ内の同一位置のブロックがダイレクトモードで符号化されている場合でも、予測効率を向上させることができる。
【００３８】
また、ダイレクトモードにおいて、第２参照ピクチャの同一位置のブロックを符号化する際に用いた第２動きベクトルに対してスケーリングを行うことにより、動きベクトルの情報を送る必要がなく、かつ第２参照ピクチャ内の同一位置のブロックが第２動きベクトルしか有しない場合でも、予測効率を向上させることができる。
【００３９】
また、ダイレクトモードにおける動きベクトルを強制的に０と置くことにより、ダイレクトモードが選択された場合には、動きベクトルの情報を送る必要がなく、かつ動きベクトルのスケーリング処理が不要となり処理量の削減を図ることができる。
【００４０】
また、ダイレクトモードにおいて、後方Ｐピクチャの動きベクトルに対してスケーリングを行うことにより、第２参照ピクチャがＢピクチャである場合に、そのＢピクチャの動きベクトルを記憶しておく必要が無い。また、動きベクトルの情報を送る必要がなく、かつ予測効率を向上させることができる。
【００４１】
また、ダイレクトモードにおいて、第２参照ピクチャが第１動きベクトルを有していれば、この第１動きベクトルに対してスケーリングを行い、また、第２参照ピクチャが第１動きベクトルを有さず第２動きベクトルのみを有していれば、この第２動きベクトルに対してスケーリングを行うので、動きベクトルの情報を符号列に付加する必要がなく、かつ予測効率を向上させることができる。
【００４２】
また、本発明に係る動画像復号化方法によれば、２方向予測を用いてピクチャ間予測符号化処理を行う際に第１参照および第２参照として用いるピクチャとして、表示時間順に近傍に位置するピクチャを用いて符号化されて生成された符号列を復号化する際に、正しく復号化処理を行うことができる。
【発明を実施するための最良の形態】
【００４３】
本発明の実施の形態について、図面を参照しながら説明する。
【００４４】
（実施の形態１）
図１は、本発明に係る動画像符号化方法を用いた動画像符号化装置の一実施の形態の構成を示すブロック図である。
【００４５】
動画像符号化装置は、図１に示すように並べ替え用メモリ１０１、差分演算部１０２、予測誤差符号化部１０３、符号列生成部１０４、予測誤差復号化部１０５、加算演算部１０６、参照ピクチャ用メモリ１０７、動きベクトル検出部１０８、モード選択部１０９、符号化制御部１１０、スイッチ１１１〜１１５、および動きベクトル記憶部１１６を備えている。
【００４６】
並べ替え用メモリ１０１は、表示時間順にピクチャ単位で入力された動画像を格納する。符号化制御部１１０は、並べ替え用メモリ１０１に格納された各ピクチャを符号化が行われる順に並び替えを行う。また、符号化制御部１１０は、動きベクトル記憶部１１６への動きベクトルの記憶動作を制御する。
【００４７】
動きベクトル検出部１０８は、符号化済みの復号化画像データを参照ピクチャとして用いて、そのピクチャ内の探索領域において最適と予測される位置を示す動きベクトルの検出を行う。モード選択部１０９は、動きベクトル検出部１０８で検出された動きベクトルを用いて、マクロブロックの符号化モードを決定し、この符号化モードに基づいて予測画像データを生成する。差分演算部１０２は、並べ替え用メモリ１０１より読み出された画像データと、モード選択部１０９より入力された予測画像データとの差分を演算し、予測誤差画像データを生成する。
【００４８】
予測誤差符号化部１０３は、入力された予測誤差画像データに対して周波数変換や量子化等の符号化処理を行い、符号化データを生成する。符号列生成部１０４は、入力された符号化データに対して可変長符号化等を行い、さらにモード選択部１０９から入力された動きベクトルの情報、符号化モードの情報、およびその他の関連情報等を付加することにより符号列を生成する。
【００４９】
予測誤差復号化部１０５は、入力された符号化データに対して逆量子化や逆周波数変換等の復号化処理を行い、復号化差分画像データを生成する。加算演算部１０６は、予測誤差復号化部１０５より入力された復号化差分画像データと、モード選択部１０９より入力された予測画像データとを加算し、復号化画像データを生成する。参照ピクチャ用メモリ１０７は、生成された復号化画像データを格納する。
【００５０】
図２はピクチャと相対インデックスの説明図である。相対インデックスは、参照ピクチャ用メモリ１０７に格納された参照ピクチャを一意に識別するために用いられ、図２に示すように各ピクチャに対応付けられている番号である。また、相対インデックスは、ブロックをピクチャ間予測により符号化する際に使用する参照ピクチャを指示するために使用される。
【００５１】
図３は動画像符号化装置による動画像符号化信号フォーマットの概念図である。１ピクチャ分の符号化信号Picture は、ピクチャ先頭に含まれるヘッダ符号化信号Header、ダイレクトモードによるブロックの符号化信号Block1、ダイレクトモード以外のピクチャ間予測によるブロックの符号化信号Block2等から構成されている。また、ダイレクトモード以外のピクチャ間予測によるブロックの符号化信号Block2は、ピクチャ間予測に使用する２つの参照ピクチャを示すための第１相対インデックスRIdx1 および第２相対インデックスRIdx2 、第１動きベクトルＭＶ１、第２動きベクトルＭＶ２をこの順で有している。一方、ダイレクトモードによるブロックの符号化信号Block1は、第１相対インデックスRIdx1 、第２相対インデックスRIdx2 、第１動きベクトルＭＶ１、第２動きベクトルＭＶ２を有していない。第１相対インデックスRIdx1 、第２相対インデックスRIdx2 のいずれを使用するかは予測種別PredTypeにより判断することができる。また、第１相対インデックスRIdx1 は第１参照ピクチャを示し、第２相対インデックスRIdx2 は第２参照ピクチャを示している。すなわち、第１参照ピクチャであるか第２参照ピクチャであるかは、符号化列中のデータ位置で決まる。
【００５２】
なお、表示時間順で前または後ろのいずれかにある、既に符号化済みであるピクチャを第１参照ピクチャとして用いる１方向参照によるピクチャ間予測符号化を行うピクチャがＰピクチャであり、表示時間順で前または後ろのいずれかにある、既に符号化済みであるピクチャを第１参照ピクチャおよび第２参照ピクチャとして用いる２方向参照によるピクチャ間予測符号化を行うピクチャがＢピクチャであるが、本実施の形態では、第１参照ピクチャを前方向参照ピクチャとして、第２参照ピクチャを後方向参照ピクチャとして説明する。また、第１参照ピクチャおよび第２参照ピクチャそれぞれに対する動きベクトルである第１動きベクトル、第２動きベクトルを、それぞれ前方向動きベクトル、後方向動きベクトルとして説明する。
【００５３】
次に、第１相対インデックス、第２相対インデックスの付与方法について図２(a) を用いて説明する。
【００５４】
第１相対インデックスの値には、まず、表示順序を示す情報において、符号化対象ピクチャより前の参照ピクチャに対し、符号化対象ピクチャに近い順より０から始まる値が割り当てられる。符号化対象より前の参照ピクチャ全てに対し０から始まる値が割り当てられたら、次に符号化対象ピクチャより後の参照ピクチャに対し、符号化対象ピクチャに近い順から続きの値が割り当てられる。
【００５５】
第２相対インデックスの値には、まず、表示順序を示す情報において、符号化対象ピクチャより後の参照ピクチャに対し、符号化対象ピクチャに近い順より０から始まる値が割り当てられる。符号化対象より後の参照ピクチャ全てに対し０から始まる値が割り当てられたら、次に符号化対象ピクチャより前の参照ピクチャに対し、符号化対象ピクチャに近い順から続きの値が割り当てられる。
【００５６】
例えば、図２(a) において、第１相対インデックスRIdx1が０で第２相対インデックスRidx2が１である場合、前方向参照ピクチャはピクチャ番号６のＢピクチャであり、後方向参照ピクチャはピクチャ番号９のＰピクチャである。ここでピクチャ番号は、表示順を示す番号である。
【００５７】
ブロック中の相対インデックスは可変長符号語により表現され、値が小さいほど短い符号長のコードが割り当てられている。通常、ピクチャ間予測の参照ピクチャとして符号化対象ピクチャに最も近いピクチャが選択されるため、上記のように符号化対象ピクチャに近い順に相対インデックス値を割り当てれば符号化効率は高くなる。
【００５８】
一方、符号化信号中のバッファ制御信号（図３に示すHeader内のRPSL）を用いて明示的に指示することにより、相対インデックスに対する参照ピクチャの割り当てを任意に変更することができる。この割り当ての変更により、第２相対インデックスが０の参照ピクチャを参照ピクチャ用メモリ１０７内の任意の参照ピクチャにすることも可能で、例えば、図２(b) に示すようにピクチャに対する相対インデックスの割り当てを変更することができる。
【００５９】
次に、上記のように構成された動画像符号化装置の動作について説明する。
図４は、並べ替え用メモリ１０１におけるピクチャの順序を示す説明図であり、(a) 入力された順序、(b) 並び替えられた順序を示す説明図である。ここで、縦線はピクチャを示し、各ピクチャの右下に示す記号は、１文字目のアルファベットがピクチャタイプ（Ｉ、ＰまたはＢ）を示し、２文字目以降の数字が表示順を示すピクチャ番号を示している。
【００６０】
入力画像は、例えば図４(a) に示すように表示時間順にピクチャ単位で並べ替え用メモリ１０１に入力される。並べ替え用メモリ１０１にピクチャが入力されると、符号化制御部１１０は、並べ替え用メモリ１０１内で入力された各ピクチャを、符号化が行われる順に並び替える。この符号化順への並び替えは、ピクチャ間予測符号化における参照関係に基づいて行われ、参照ピクチャとして用いられるピクチャが、参照ピクチャとして用いるピクチャよりも先に符号化されるように並び替えられる。
【００６１】
ここで、Ｐピクチャは表示時間順で前方または後方にある、近傍の既に符号化済みのＩまたはＰピクチャを１つ参照するものとする。また、Ｂピクチャは表示時間順で前方または後方にある、近傍の既に符号化済みのピクチャを２つ参照するものとする。
【００６２】
ピクチャの符号化順は、２つのＰピクチャの間にあるＢピクチャ（図４(a) の例では３枚）のうち、中央にあるピクチャから符号化を行い、その後Ｐピクチャに近いＢピクチャを符号化するとする。例えばピクチャＢ６〜Ｐ９については、ピクチャＰ９、Ｂ７、Ｂ６、Ｂ８の順に符号化を行う。
【００６３】
この場合、ピクチャＢ６〜Ｐ９の各ピクチャは、図４(a) に示す矢印の終点のピクチャが矢印に始点のピクチャを参照する。すなわち、ピクチャＢ７はピクチャＰ５、Ｐ９を、ピクチャＢ６はピクチャＰ５、Ｂ７を、ピクチャＢ８はピクチャＢ７、Ｐ９を参照する。またこの場合、符号化制御部１１０は、各ピクチャを図４(b) に示すように符号化が行われる順に並び替える。
【００６４】
次に、並べ替え用メモリ１０１で並び替えが行われた各ピクチャは、動き補償の単位で読み出される。ここでは、動き補償の単位をマクロブロックと呼び、マクロブロックは水平１６×垂直１６画素の大きさであるとする。以下では、図４(a) に示すピクチャＰ９、Ｂ７、Ｂ６、Ｂ８の符号化処理について順に説明する。
【００６５】
＜ピクチャＰ９の符号化処理＞
ピクチャＰ９はＰピクチャであるので、表示時間順で前方または後方にある既に処理済みの１枚のピクチャを参照してピクチャ間予測符号化を行う。ピクチャＰ９の符号化においては、上記のように参照ピクチャはピクチャＰ５となる。ピクチャＰ５は、既に符号化が終了しており、復号化画像が参照ピクチャ用メモリ１０７に蓄積されている。Ｐピクチャの符号化においては、符号化制御部１１０は、スイッチ１１３、１１４、１１５がオンになるように各スイッチを制御する。これにより、並べ替え用メモリ１０１から読み出されたピクチャＰ９のマクロブロックは、まず動きベクトル検出部１０８、モード選択部１０９、および差分演算部１０２に入力される。
【００６６】
動きベクトル検出部１０８は、参照ピクチャ用メモリ１０７に蓄積されたピクチャＰ５の復号化画像データを参照ピクチャとして用い、ピクチャＰ９のマクロブロックに対して、動きベクトルの検出を行う。そして、動きベクトル検出部１０８は、検出した動きベクトルをモード選択部１０９に対して出力する。
【００６７】
モード選択部１０９は、動きベクトル検出部１０８で検出された動きベクトルを用いて、ピクチャＰ９のマクロブロックの符号化モードを決定する。ここで符号化モードとは、マクロブロックをどのような方法で符号化するかを示すものである。Ｐピクチャの場合には、例えば、ピクチャ内符号化、動きベクトルを用いたピクチャ間予測符号化、動きベクトルを用いない（動きを０として扱う）ピクチャ間予測符号化の中から、いずれの方法で符号化するかを決める。符号化モードの決定においては、一般的には、少ないビット量でより符号化誤差が小さくなるような方法を選択する。
【００６８】
モード選択部１０９は、決定した符号化モードを符号列生成部１０４に対して出力する。このとき、モード選択部１０９で決定された符号化モードが、ピクチャ間予測符号化である場合には、そのピクチャ間予測符号化で用いられる動きベクトルを符号列生成部１０４に対して出力し、さらに動きベクトル記憶部１１６に記憶する。
【００６９】
また、モード選択部１０９は、決定した符号化モードに基づいて予測画像データを生成し、この予測画像データを差分演算部１０２と加算演算部１０６とに出力する。但し、モード選択部１０９は、ピクチャ内符号化を選択した場合には、予測画像データを出力しない。また、モード選択部１０９は、ピクチャ内符号化を選択した場合には、スイッチ１１１をａ側に、スイッチ１１２をｃ側に接続するように制御し、ピクチャ間予測符号化を選択した場合には、スイッチ１１１をｂ側に、スイッチ１１２をｄ側に接続するように制御する。以下では、モード選択部１０９でピクチャ間予測符号化が選択された場合について説明する。
【００７０】
差分演算部１０２には、並べ替え用メモリ１０１から読み出されたピクチャＰ９のマクロブロックの画像データと、モード選択部１０９から出力された予測画像データとが入力される。差分演算部１０２は、ピクチャＰ９のマクロブロックの画像データと予測画像データとの差分を演算し、予測誤差画像データを生成して予測誤差符号化部１０３へ出力する。
【００７１】
予測誤差符号化部１０３は、入力された予測誤差画像データに対して周波数変換や量子化等の符号化処理を施すことにより、符号化データを生成して符号列生成部１０４および予測誤差復号化部１０５へ出力する。ここで、周波数変換や量子化の処理は、例えば水平８×垂直８画素や、水平４×垂直４画素の単位で行うものとする。
【００７２】
符号列生成部１０４は、入力された符号化データに対して、可変長符号化等を施し、さらに動きベクトルや符号化モード等の情報やヘッダ情報等を付加することにより符号列を生成し、出力する。
【００７３】
一方、予測誤差復号化部１０５は、入力された符号化データに対して、逆量子化や逆周波数変換等の復号化処理を施し、復号化差分画像データを生成して加算演算部１０６へ出力する。加算演算部１０６は、復号化差分画像データと、モード選択部１０９より入力された予測画像データとを加算することにより、復号化画像データを生成し、参照ピクチャ用メモリ１０７に蓄積する。
【００７４】
以上の処理により、ピクチャＰ９の１マクロブロックの処理が完結する。同様の処理により、ピクチャＰ９の残りのマクロブロックに対しても符号化処理が行われる。そして、ピクチャＰ９の全てのマクロブロックに対して処理が終わると、次にピクチャＢ７の符号化処理が行われる。
【００７５】
＜ピクチャＢ７の符号化処理＞
ピクチャＢ７の参照画像は、前方向参照ピクチャがピクチャＰ５、後方向参照ピクチャがＰ９となる。ピクチャＢ７は、他のピクチャの符号化の際に、参照ピクチャとして用いられるので、符号化制御部１１０は、スイッチ１１３、１１４、１１５がオンになるように各スイッチを制御する。よって、並べ替え用メモリ１０１から読み出されたピクチャＢ７のマクロブロックは、動きベクトル検出部１０８、モード選択部１０９、および差分演算部１０２に入力される。
【００７６】
動きベクトル検出部１０８は、参照ピクチャ用メモリ１０７に蓄積されたピクチャＰ５の復号化画像データを前方向参照ピクチャとして、ピクチャＰ９の復号化画像データを後方向参照ピクチャとして用い、ピクチャＢ７のマクロブロックに対して、前方向動きベクトルと後方向動きベクトルの検出を行う。そして、動きベクトル検出部１０８は、検出した動きベクトルをモード選択部１０９に対して出力する。
【００７７】
モード選択部１０９は、動きベクトル検出部１０８で検出された動きベクトルを用いて、ピクチャＢ７のマクロブロックの符号化モードを決定する。ここで、Ｂピクチャの符号化モードは、例えば、ピクチャ内符号化、前方向動きベクトルを用いたピクチャ間予測符号化、後方向動きベクトルを用いたピクチャ間予測符号化、２方向動きベクトルを用いたピクチャ間予測符号化、ダイレクトモードから選択することができるとする。
【００７８】
ここで、ダイレクトモードで符号化する場合の動作について、図５(a) を用いて説明する。図５(a) はダイレクトモードにおける動きベクトルを示す説明図であり、ピクチャＢ７のブロックａをダイレクトモードで符号化する場合を示している。この場合、ピクチャＢ７の後方にある参照ピクチャであるピクチャＰ９中の、ブロックａと同じ位置にあるブロックｂを符号化した際に用いた動きベクトルｃを利用する。動きベクトルｃは、動きベクトル記憶部１１６に記憶されている。ブロックａは、動きベクトルｃを利用して求めた動きベクトルを用いて、前方向参照ピクチャであるピクチャＰ５と、後方向参照ピクチャであるピクチャＰ９とから２方向予測を行う。例えば、動きベクトルｃを利用する方法としては、動きベクトルｃに平行な動きベクトルを生成する方法がある。この場合のブロックａを符号化する際に用いる動きベクトルは、ピクチャＰ５に対しては動きベクトルｄ、ピクチャＰ９に対しては動きベクトルｅとなる。
【００７９】
この場合、前方向動きベクトルである動きベクトルｄの大きさをＭＶＦ、後方向動きベクトルである動きベクトルｅの大きさをＭＶＢ、動きベクトルｃの大きさをＭＶ、現在のピクチャ（ピクチャＢ７）の後方向参照ピクチャ（ピクチャＰ９）と、その後方向参照ピクチャのブロックが参照しているピクチャ（ピクチャＰ５）との時間的距離をＴＲＤ、現在のピクチャ（ピクチャＢ７）と前方向参照ピクチャ（ピクチャＰ５）との時間的距離をＴＲＦとすると、動きベクトルｄの大きさＭＶＦ、動きベクトルｅの大きさＭＶＢは、それぞれ（式１）、（式２）で求められる。なお、各ピクチャ間の時間的距離については、例えば各ピクチャに付される表示順序（位置）を示す情報、またはその情報の差に基づいて決定することができる。
【００８０】
ＭＶＦ＝ＭＶ×ＴＲＦ／ＴＲＤ  −−−  式１
ＭＶＢ＝（ＴＲＦ−ＴＲＤ）×ＭＶ／ＴＲＤ  −−−  式２
【００８１】
ここで、ＭＶＦ、ＭＶＢは、動きベクトルの水平成分、垂直成分のそれぞれを表現しており、正負符号は動きベクトルの方向を示すものとする。
【００８２】
さて、符号化モードの選択においては、一般的に、少ないビット量でより符号化誤差が小さくなるような方法を選択する。モード選択部１０９は、決定した符号化モードを符号列生成部１０４に対して出力する。このとき、モード選択部１０９で決定された符号化モードが、ピクチャ間予測符号化である場合には、そのピクチャ間予測符号化で用いられる動きベクトルを符号列生成部１０４に対して出力し、さらに動きベクトル記憶部１１６に記憶する。また、ダイレクトモードが選択された場合には、（式１）、（式２）により計算し求めた、ダイレクトモードで用いた動きベクトルを動きベクトル記憶部１１６に記憶する。
【００８３】
また、モード選択部１０９は、決定した符号化モードに基づいて予測画像データを生成し、この予測画像データを差分演算部１０２と加算演算部１０６とに出力する。但し、モード選択部１０９は、ピクチャ内符号化を選択した場合には、予測画像データを出力しない。また、モード選択部１０９は、ピクチャ内符号化を選択した場合には、スイッチ１１１をａ側に、スイッチ１１２をｃ側に接続するように制御し、ピクチャ間予測符号化やダイレクトモードを選択した場合には、スイッチ１１１をｂ側に、スイッチ１１２をｄ側に接続するように制御する。以下では、モード選択部１０９でピクチャ間予測符号化やダイレクトモードが選択された場合について説明する。
【００８４】
差分演算部１０２には、並べ替え用メモリ１０１から読み出されたピクチャＢ７のマクロブロックの画像データと、モード選択部１０９から出力された予測画像データが入力される。差分演算部１０２は、ピクチャＢ７のマクロブロックの画像データと予測画像データとの差分を演算し、予測誤差画像データを生成して予測誤差符号化部１０３へ出力する。
【００８５】
予測誤差符号化部１０３は、入力された予測誤差画像データに対して周波数変換や量子化等の符号化処理を施すことにより、符号化データを生成して符号列生成部１０４および予測誤差復号化部１０５へ出力する。
【００８６】
符号列生成部１０４は、入力された符号化データに対して、可変長符号化等を施し、さらに動きベクトルや符号化モード等の情報を付加することにより符号列を生成し、出力する。
【００８７】
一方、予測誤差復号化部１０５は、入力された符号化データに対して、逆量子化や逆周波数変換等の復号化処理を施し、復号化差分画像データを生成して加算演算部１０６へ出力する。加算演算部１０６は、復号化差分画像データと、モード選択部１０９より入力された予測画像データとを加算することにより、復号化画像データを生成し、参照ピクチャ用メモリ１０７に蓄積する。
【００８８】
以上の処理により、ピクチャＢ７の１マクロブロックの処理が完結する。同様の処理により、ピクチャＢ７の残りのマクロブロックに対して、符号化処理が行われる。そして、ピクチャＢ７の全てのマクロブロックに対する処理が終わると、次にピクチャＢ６の符号化処理が行われる。
【００８９】
＜ピクチャＢ６の符号化処理＞
ピクチャＢ６はＢピクチャであるので、表示時間順で前方または後方にある既に処理済みの２枚のピクチャを参照してピクチャ間予測符号化を行う。このピクチャＢ６の参照画像は、上記のように前方向参照ピクチャがピクチャＰ５、後方向参照ピクチャがＢ７となる。ピクチャＢ６は、他のピクチャの符号化を行う際に、参照ピクチャとして用いられない。よって、符号化制御部１１０は、スイッチ１１３をオンに、スイッチ１１４、１１５をオフにするように各スイッチを制御する。これにより、並べ替え用メモリ１０１から読み出されたピクチャＢ６のマクロブロックは、動きベクトル検出部１０８、モード選択部１０９、および差分演算部１０２に入力される。
【００９０】
動きベクトル検出部１０８は、参照ピクチャ用メモリ１０７に蓄積されたピクチャＰ５の復号化画像データを前方向参照ピクチャとして、ピクチャＢ７の復号化画像データを後方向参照ピクチャとして用い、ピクチャＢ６のマクロブロックに対して、前方向動きベクトルと後方向動きベクトルの検出を行う。そして、動きベクトル検出部１０８は、検出した動きベクトルをモード選択部１０９に対して出力する。
【００９１】
モード選択部１０９は、動きベクトル検出部１０８で検出された動きベクトルを用いて、ピクチャＢ６のマクロブロックの符号化モードを決定する。
【００９２】
ここで、ピクチャＢ６のマクロブロックに対して、ダイレクトモードを用いる場合の動作について、第一の例を図５(b) を用いて説明する。図５(b) はダイレクトモードにおける動きベクトルを示す説明図であり、ピクチャＢ６のブロックａをダイレクトモードで符号化する場合を示している。この場合、ピクチャＢ６の後方にある参照ピクチャであるピクチャＢ７中の、ブロックａと同じ位置にあるブロックｂを符号化した際に用いた動きベクトルを利用する。ここではブロックｂは、前方向参照のみ、または２方向参照により符号化されたとし、その前方向動きベクトルを動きベクトルｃとする。この動きベクトルｃは、動きベクトル記憶部１１６に記憶されているとする。ブロックａは、動きベクトルｃを利用して生成した動きベクトルを用いて、前方向参照ピクチャであるピクチャＰ５と、後方向参照ピクチャであるピクチャＢ７とから２方向予測を行う。例えば、上記ピクチャＢ７の場合と同様に動きベクトルｃに平行な動きベクトルを生成する方法を用いれば、ブロックａを符号化する際に用いる動きベクトルは、ピクチャＰ５に対しては動きベクトルｄ、ピクチャＢ７に対しては動きベクトルｅとなる。
【００９３】
この場合、前方向動きベクトルである動きベクトルｄの大きさをＭＶＦ、後方向動きベクトルである動きベクトルｅの大きさをＭＶＢ、動きベクトルｃの大きさをＭＶ、現在のピクチャ（ピクチャＢ６）の後方向参照ピクチャ（ピクチャＢ７）と、その後方向参照ピクチャのブロックｂが参照しているピクチャ（ピクチャＰ５）との時間的距離をＴＲＤ、現在のピクチャ（ピクチャＢ６）と前方向参照ピクチャ（ピクチャＰ５）との時間的距離をＴＲＦとすると、動きベクトルｄの大きさＭＶＦ、動きベクトルｅの大きさＭＶＢは、それぞれ上記（式１）、（式２）で求められる。なお、各ピクチャ間の時間的距離については、例えば各ピクチャに付される表示順序を示す情報、またはその情報の差に基づいて決定することができる。
【００９４】
このようにダイレクトモードにおいて、後方向参照ピクチャであるＢピクチャの前方向動きベクトルに対してスケーリングを行うことにより、動きベクトルの情報を送る必要がなく、かつ動き予測効率を向上させることができる。これにより符号化効率を向上させることができる。さらに、前方向参照ピクチャおよび後方向参照ピクチャとして、利用可能な限り表示時間順で最近傍の参照ピクチャを用いることにより、符号化効率を向上させることができる。
【００９５】
次に、ダイレクトモードを用いる場合の第二の例を図５(b) を用いて説明する。この場合、ピクチャＢ６の後方にある参照ピクチャであるピクチャＢ７中の、ブロックａと同じ位置にあるブロックｂを符号化した際に用いられた動きベクトルを利用する。ここではブロックｂは、ダイレクトモードで符号化されたとし、そのときに実質的に用いられた前方向動きベクトルを動きベクトルｃとする。すなわち、動きベクトルｃは、ピクチャＢ７が後方向参照するピクチャＰ９内で、ブロックｂと同一位置にあるブロックｉを符号化する際に用いた動きベクトルをスケーリングすることにより得られた動きベクトルである。この動きベクトルｃは、動きベクトル記憶部１１６に記憶されているものを用いるか、またはブロックｂをダイレクトモードで符号化する際に用いたピクチャＰ９内のブロックｉの動きベクトルを動きベクトル記憶部１１６から読み出して計算して求める。なお、モード選択部１０９は、ピクチャＢ７のブロックｂをダイレクトモードで符号化する際にスケーリング処理により求めた動きベクトルを、動きベクトル記憶部１１６に記憶する場合は、前方向動きベクトルだけを記憶すればよい。ブロックａは、動きベクトルｃを利用して生成した動きベクトルを用いて、前方向参照ピクチャであるピクチャＰ５と、後方向参照ピクチャＢ７とから２方向予測を行う。例えば、上記第一の例の場合と同様に動きベクトルｃに平行な動きベクトルを生成する方法を用いれば、ブロックａを符号化する際に用いる動きベクトルは、ピクチャＰ５に対しては動きベクトルｄ、ピクチャＢ７に対しては動きベクトルｅとなる。
【００９６】
この場合、ブロックａに対する前方向動きベクトルである動きベクトルｄの大きさＭＶＦと、後方向動きベクトルである動きベクトルｅの大きさＭＶＢとは、ダイレクトモードの第一の例と同様に、（式１）、（式２）を用いて求めることができる。
【００９７】
このようにダイレクトモードにおいて、後方向参照ピクチャであるＢピクチャのダイレクトモードで実質的に用いた前方向動きベクトルに対してスケーリングを行うので、動きベクトルの情報を送る必要がなく、かつ後方向参照ピクチャ内の同一位置のブロックがダイレクトモードで符号化されている場合でも、動き予測効率を向上させることができる。これにより符号化効率を向上させることができる。さらに、前方向および後方向の参照ピクチャとして、表示時間順で利用可能な最近傍の参照ピクチャを用いることにより、符号化効率を向上させることができる。
【００９８】
次に、ダイレクトモードを用いる場合の第三の例を図５(c) を用いて説明する。図５(c) はダイレクトモードにおける動きベクトルを示す説明図であり、ピクチャＢ６のブロックａをダイレクトモードで符号化する場合を示している。この場合、ピクチャＢ６の後方にある参照ピクチャであるピクチャＢ７中の、ブロックａと同じ位置にあるブロックｂを符号化する際に用いられた動きベクトルを利用する。ここでブロックｂは、後方向動きベクトルのみを用いて符号化されているとし、その後方向動きベクトルが動きベクトルｆであるとする。動きベクトルｆは、動きベクトル記憶部１１６に記憶されているとする。ブロックａは、動きベクトルｆを利用して生成した動きベクトルを用いて、前方向参照ピクチャであるピクチャＰ５と、後方向参照ピクチャであるピクチャＢ７とから２方向予測を行う。例えば、上記第一の例の場合と同様に動きベクトルｆに平行な動きベクトルを生成する方法を用いれば、ブロックａを符号化する際に用いる動きベクトルは、ピクチャＰ５に対しては動きベクトルｇ、ピクチャＢ７に対しては動きベクトルｈとなる。
【００９９】
この場合、前方向動きベクトルである動きベクトルｇの大きさをＭＶＦ、後方向動きベクトルである動きベクトルｈの大きさをＭＶＢ、動きベクトルｆの大きさをＭＶ、現在のピクチャ（ピクチャＢ６）の後方向参照ピクチャ（ピクチャＢ７）と、その後方向参照ピクチャのブロックが参照しているピクチャ（ピクチャＰ９）との時間的距離をＴＲＤ、現在のピクチャ（ピクチャＢ６）と前方向参照ピクチャ（ピクチャＰ５）との時間的距離をＴＲＦ、現在のピクチャ（ピクチャＢ６）と後方向参照ピクチャ（ピクチャＢ７）との時間的距離をＴＲＢ、とすると、動きベクトルｇの大きさＭＶＦ、動きベクトルｈの大きさＭＶＢは、それぞれ（式３）、（式４）で求められる。
【０１００】
ＭＶＦ＝−ＴＲＦ×ＭＶ／ＴＲＤ  −−−  式３
ＭＶＢ＝ＴＲＢ×ＭＶ／ＴＲＤ  −−−  式４
【０１０１】
このようにダイレクトモードにおいて、後方向参照ピクチャであるＢピクチャの同一位置のブロックを符号化する際に用いた後方向動きベクトルに対してスケーリングを行うので、動きベクトルの情報を送る必要がなく、かつ後方向参照ピクチャ内の同一位置のブロックが後方向動きベクトルしか有さない場合でも、予測効率を向上させることができる。これにより、符号化効率を向上させることができる。さらに、前方向および後方向参照ピクチャとして、表示時間順で利用可能な最近傍の参照ピクチャを用いることにより、符号化効率を向上させることができる。
【０１０２】
次に、ダイレクトモードを用いる場合の第四の例を図５(d) を用いて説明する。図５(d) はダイレクトモードにおける動きベクトルを示す説明図であり、ピクチャＢ６のブロックａをダイレクトモードで符号化する場合を示している。この場合、ピクチャＢ６の後方にある参照ピクチャであるピクチャＢ７中の、ブロックａと同じ位置にあるブロックｂを符号化する際に用いられた動きベクトルを利用する。ここでブロックｂは、第三の例と同様に後方向動きベクトルのみを用いて符号化されているとし、その後方向動きベクトルが動きベクトルｆであるとする。動きベクトルｆは、動きベクトル記憶部１１６に記憶されているとする。ブロックａは、動きベクトルｆを利用して生成した動きベクトルを用いて、動きベクトルｆが参照するピクチャであるピクチャＰ９と、後方向参照ピクチャであるピクチャＢ７とから２方向予測を行う。例えば、上記第一の例の場合と同様に動きベクトルｆに平行な動きベクトルを生成する方法を用いれば、ブロックａを符号化する際に用いる動きベクトルは、ピクチャＰ９に対しては動きベクトルｇ、ピクチャＢ７に対しては動きベクトルｈとなる。
【０１０３】
この場合、前方向動きベクトルである動きベクトルｇの大きさをＭＶＦ、後方向動きベクトルである動きベクトルｈの大きさをＭＶＢ、動きベクトルｆの大きさをＭＶ、現在のピクチャ（ピクチャＢ６）の後方向参照ピクチャ（ピクチャＢ７）と、その後方向参照ピクチャのブロックが参照しているピクチャ（ピクチャＰ９）との時間的距離をＴＲＤ、現在のピクチャ（ピクチャＢ６）と、後方向参照ピクチャ（ピクチャＢ７）のブロックが参照しているピクチャ（ピクチャＰ９）との時間的距離をＴＲＦとすると、動きベクトルｇの大きさＭＶＦ、動きベクトルｈの大きさＭＶＢは、それぞれ（式１）、（式２）で求められる。
【０１０４】
このようにダイレクトモードにおいて、後方向参照ピクチャであるＢピクチャの同一位置のブロックを符号化する際に用いた後方向動きベクトルに対してスケーリングを行うことにより、動きベクトルの情報を送る必要がなく、かつ後方向参照ピクチャ内の同一位置のブロックが後方向動きベクトルしか有さない場合でも、予測効率を向上させることができる。これにより、符号化効率を向上させることができる。さらに、前方向参照ピクチャとして後方向動きベクトルが参照しているピクチャを、後方向参照ピクチャとして表示時間順で利用可能な最近傍の参照ピクチャを用いることにより、符号化効率を向上させることができる。
【０１０５】
次に、ダイレクトモードを用いる場合の第五の例を図６(a) を用いて説明する。図６(a) はダイレクトモードにおける動きベクトルを示す説明図であり、ピクチャＢ６のブロックａをダイレクトモードで符号化する場合を示している。この場合、動きベクトルの大きさを０として、前方向参照ピクチャとしてピクチャＰ５を、後方向参照ピクチャとしてピクチャＢ７を用いて、２方向参照を行うことにより、動き補償を行う。
【０１０６】
このようにダイレクトモードにおいて、動きベクトルを強制的に０と置くことにより、ダイレクトモードが選択された場合には、動きベクトルの情報を送る必要がなく、かつ動きベクトルのスケーリング処理が不要となり処理量の削減を図ることができる。
【０１０７】
次に、ダイレクトモードを用いる場合の第六の例を図６(b) を用いて説明する。図６(b) はダイレクトモードにおける動きベクトルを示す説明図であり、ピクチャＢ６のブロックａをダイレクトモードで符号化する場合を示している。この場合、ピクチャＢ６の後方にあるＰピクチャであるピクチャＰ９中の、ブロックａと同じ位置にあるブロックｆを符号化する際に用いられた、動きベクトルｇを利用する。動きベクトルｇは、動きベクトル記憶部１１６に記憶されている。ブロックａは、動きベクトルｇを利用して生成した動きベクトルを用いて、前方向参照ピクチャであるピクチャＰ５と、後方向参照ピクチャであるピクチャＢ７とから２方向予測を行う。例えば、上記第一の例の場合と同様に動きベクトルｇに平行な動きベクトルを生成する方法を用いれば、ブロックａを符号化する際に用いる動きベクトルは、ピクチャＰ５に対しては動きベクトルｈ、ピクチャＢ７に対しては動きベクトルｉとなる。
【０１０８】
この場合、前方向動きベクトルである動きベクトルｈの大きさをＭＶＦ、後方向動きベクトルである動きベクトルｉの大きさをＭＶＢ、動きベクトルｇの大きさをＭＶ、現在のピクチャ（ピクチャＢ６）に対して表示時間順で後方に位置するＰピクチャ（ピクチャＰ９）と、このＰピクチャのブロックｆが参照しているピクチャ（ピクチャＰ５）との時間的距離をＴＲＤ、現在のピクチャ（ピクチャＢ６）と前方向参照ピクチャ（ピクチャＰ５）との時間的距離をＴＲＦ、現在のピクチャ（ピクチャＢ６）と後方向参照ピクチャ（ピクチャＢ７）との時間的距離をＴＲＢ、とすると、動きベクトルｈの大きさＭＶＦ、動きベクトルｉの大きさＭＶＢは、それぞれ（式１）、（式５）で求められる。
【０１０９】
ＭＶＢ＝−ＴＲＢ×ＭＶ／ＴＲＤ  −−−  式５
【０１１０】
このようにダイレクトモードにおいて、表示時間順で後方に位置するＰピクチャの動きベクトルに対してスケーリングを行うことにより、後方向参照ピクチャがＢピクチャである場合に、そのＢピクチャの動きベクトルを記憶しておく必要が無く、かつ動きベクトルの情報を送る必要がない。さらに、前方向および後方向参照ピクチャとして表示時間順で最近傍の参照ピクチャを用いることにより、符号化効率を向上させることができる。
【０１１１】
次に、ダイレクトモードを用いる場合の第七の例を図６(c) を用いて説明する。図６(c) はダイレクトモードにおける動きベクトルを示す説明図であり、ピクチャＢ６のブロックａをダイレクトモードで符号化する場合を示している。この例は、上記で説明したピクチャ番号に対する相対インデックスの割り当ての変更（リマッピング）が行われ、後方向参照ピクチャがピクチャＰ９となった場合である。この場合、ピクチャＢ７の後方向参照ピクチャであるピクチャＰ９中の、ブロックａと同じ位置にあるブロックｆを符号化する際に用いられた動きベクトルｇを利用する。動きベクトルｇは、動きベクトル記憶部１１６に記憶されている。ブロックａは、動きベクトルｇを利用して生成した動きベクトルを用いて、前方向参照ピクチャであるピクチャＰ５と、後方向参照ピクチャであるピクチャＰ９とから２方向予測を行う。例えば、上記第一の例の場合と同様に動きベクトルｇに平行な動きベクトルを生成する方法を用いれば、ブロックａを符号化する際に用いる動きベクトルは、ピクチャＰ５に対しては動きベクトルｈ、ピクチャＰ９に対しては動きベクトルｉとなる。
【０１１２】
この場合、前方向動きベクトルである動きベクトルｈの大きさをＭＶＦ、後方向動きベクトルである動きベクトルｉの大きさをＭＶＢ、動きベクトルｇの大きさをＭＶ、現在のピクチャ（ピクチャＢ６）の後方向参照ピクチャ（ピクチャＰ９）と、その後方向参照ピクチャのブロックが参照しているピクチャ（ピクチャＰ５）との時間的距離をＴＲＤ、現在のピクチャ（ピクチャＢ６）と前方向参照ピクチャ（ピクチャＰ５）との時間的距離をＴＲＦとすると、動きベクトルｈの大きさＭＶＦ、動きベクトルｉの大きさＭＶＢは、それぞれ（式１）、（式２）で求められる。
【０１１３】
このようにダイレクトモードにおいて、ピクチャ番号に対する相対インデックスの割り当ての変更が行われた場合であっても、符号化済みのピクチャの動きベクトルに対してスケーリングを行うことができ、かつダイレクトモードが選択された場合には、動きベクトルの情報を送る必要がない。
【０１１４】
なお、ピクチャＢ６のブロックａをダイレクトモードにより符号化する際には、ピクチャＢ６の後方参照ピクチャ中の、ブロックａと同じ位置にあるブロックが前方向参照のみ、２方向参照、またはダイレクトモードにより符号化され、この符号化の際に前方向動きベクトルを用いていた場合は、この前方向動きベクトルに対してスケーリングを行い、上記第一の例、第二の例または第七の例のようにブロックａをダイレクトモードにより符号化する。一方、ブロックａと同じ位置にあるブロックが後方向参照のみにより符号化され、この符号化の際に後方向動きベクトルを用いていた場合は、この後方向動きベクトルに対してスケーリングを行い、上記第三の例または第四の例のようにブロックａをダイレクトモードにより符号化する。
【０１１５】
以上のダイレクトモードにおいては、フレーム間の時間間隔が一定である場合だけでなく、可変フレーム間隔である場合についても適用可能である。
【０１１６】
さて、モード選択部１０９は、決定した符号化モードを符号列生成部１０４に対して出力する。また、モード選択部１０９は、決定した符号化モードに基づいて予測画像データを生成し、この予測画像データを差分演算部１０２に出力する。但し、モード選択部１０９は、ピクチャ内符号化を選択した場合には、予測画像データを出力しない。また、モード選択部１０９は、ピクチャ内符号化を選択した場合には、スイッチ１１１をａ側に、スイッチ１１２をｃ側に接続するように制御し、ピクチャ間予測符号化やダイレクトモードを選択した場合には、スイッチ１１１をｂ側に、スイッチ１１２をｄ側に接続するように制御する。また、モード選択部１０９は、決定した符号化モードが、ピクチャ間予測符号化である場合には、そのピクチャ間予測符号化で用いられる動きベクトルを符号列生成部１０４に対して出力する。ここでピクチャＢ６は他のピクチャの符号化時に参照ピクチャとして用いられないので、ピクチャ間予測符号化で用いられる動きベクトルは動きベクトル記憶部１１６に記憶する必要はない。以下では、モード選択部１０９でピクチャ間予測符号化やダイレクトモードが選択された場合について説明する。
【０１１７】
差分演算部１０２には、並べ替え用メモリ１０１から読み出されたピクチャＢ６のマクロブロックの画像データと、モード選択部１０９から出力された予測画像データが入力される。差分演算部１０２は、ピクチャＢ６のマクロブロックの画像データと予測画像データとの差分を演算し、予測誤差画像データを生成して予測誤差符号化部１０３へ出力する。予測誤差符号化部１０３は、入力された予測誤差画像データに対して周波数変換や量子化等の符号化処理を施すことにより、符号化データを生成して符号列生成部１０４へ出力する。
【０１１８】
符号列生成部１０４は、入力された符号化データに対して、可変長符号化等を施し、さらに動きベクトルや符号化モード等の情報を付加することにより符号列を生成し、出力する。
【０１１９】
以上の処理により、ピクチャＢ６の１マクロブロックに対する符号化処理が完了する。ピクチャＢ６の残りのマクロブロックに対する処理も同様に行われ、それが完了するとピクチャＢ８の符号化処理が行われる。
【０１２０】
＜ピクチャＢ８の符号化処理＞
ピクチャＢ８はＢピクチャであるので、表示時間順で前方または後方にある既に処理済みの２枚のピクチャを参照してピクチャ間予測符号化を行う。このピクチャＢ８の参照画像は、上記のように前方向参照ピクチャがピクチャＢ７、後方向参照ピクチャがＰ９となる。ピクチャＢ８は、他のピクチャの符号化を行う際に、参照ピクチャとして用いられないので、符号化制御部１１０は、スイッチ１１３をオンに、スイッチ１１４、１１５をオフにするように各スイッチを制御する。よって、並べ替え用メモリ１０１から読み出されたピクチャＢ８のマクロブロックは、動きベクトル検出部１０８、モード選択部１０９、および差分演算部１０２に入力される。
【０１２１】
動きベクトル検出部１０８は、参照ピクチャ用メモリ１０７に蓄積されたピクチャＢ７の復号化画像データを前方向参照ピクチャとして、ピクチャＰ９の復号化画像データを後方向参照ピクチャとして用い、ピクチャＢ８のマクロブロックに対して、前方向動きベクトルと後方向動きベクトルの検出を行う。そして、動きベクトル検出部１０８は、検出された動きベクトルをモード選択部１０９に対して出力する。
【０１２２】
モード選択部１０９は、動きベクトル検出部１０８で検出された動きベクトルを用いて、ピクチャＢ８のマクロブロックの符号化モードを決定する。
【０１２３】
ここで、ピクチャＢ８のマクロブロックに対して、ダイレクトモードを用いる場合の動作について、図６(d) を用いて説明する。図６(d) はダイレクトモードにおける動きベクトルを示す説明図であり、ピクチャＢ８のブロックａをダイレクトモードで符号化する場合を示している。この場合、ピクチャＢ８の後方にある参照ピクチャであるピクチャＰ９中の、ブロックａと同じ位置にあるブロックｂを符号化した際に用いた動きベクトルを利用する。ここではブロックｂは、前方向参照により符号化されたとし、その前方向動きベクトルを動きベクトルｃとする。またこの動きベクトルｃは、動きベクトル記憶部１１６に記憶されている。ブロックａは、動きベクトルｃを利用して生成した動きベクトルを用いて、前方向参照ピクチャであるピクチャＢ７と、後方向参照ピクチャであるピクチャＰ９とから２方向予測を行う。例えば、上記ピクチャＢ７の場合と同様に動きベクトルｃに平行な動きベクトルを生成する方法を用いれば、ブロックａを符号化する際に用いる動きベクトルは、ピクチャＢ７に対しては動きベクトルｄ、ピクチャＰ９に対しては動きベクトルｅとなる。
【０１２４】
この場合、前方向動きベクトルである動きベクトルｄの大きさをＭＶＦ、後方向動きベクトルである動きベクトルｅの大きさをＭＶＢ、動きベクトルｃの大きさをＭＶ、現在のピクチャ（ピクチャＢ８）の後方向参照ピクチャ（ピクチャＰ９）と、その後方向参照ピクチャのブロックｂが参照しているピクチャ（ピクチャＰ５）との時間的距離をＴＲＤ、現在のピクチャ（ピクチャＢ８）と前方向参照ピクチャ（ピクチャＢ７）との時間的距離をＴＲＦ、現在のピクチャ（ピクチャＢ８）と後方向参照ピクチャ（ピクチャＰ９）との時間的距離をＴＲＢとすると、動きベクトルｄの大きさＭＶＦ、動きベクトルｅの大きさＭＶＢは、それぞれ（式１）、（式５）で求められる。
【０１２５】
このようにダイレクトモードにおいて、後方向参照ピクチャの前方向動きベクトルに対してスケーリングを行うことにより、動きベクトルの情報を送る必要がなく、かつ予測効率を向上させることができる。これにより符号化効率を向上させることができる。さらに、前方向参照ピクチャおよび後方向参照ピクチャとして、利用可能な限り表示時間順で最近傍の参照ピクチャを用いることにより、符号化効率を向上させることができる。
【０１２６】
上記のダイレクトモードにおいては、フレーム間の時間間隔が一定である場合だけでなく、可変フレーム間隔である場合についても適用可能である。
【０１２７】
さて、モード選択部１０９は、決定した符号化モードを符号列生成部１０４に対して出力する。また、モード選択部１０９は、決定した符号化モードに基づいて予測画像データを生成し、この予測画像データを差分演算部１０２に出力する。但し、モード選択部１０９は、ピクチャ内符号化を選択した場合には、予測画像データを出力しない。また、モード選択部１０９は、ピクチャ内符号化を選択した場合には、スイッチ１１１はａ側に、スイッチ１１２はｃ側に接続するように制御し、ピクチャ間予測符号化やダイレクトモードを選択した場合には、スイッチ１１１はｂ側に、スイッチ１１２はｄ側に接続するように制御する。また、モード選択部１０９は、決定した符号化モードが、ピクチャ間予測符号化である場合には、そのピクチャ間予測符号化で用いられる動きベクトルを符号列生成部１０４に対して出力する。ここでピクチャＢ８は他のピクチャの符号化時に参照ピクチャとして用いられないので、ピクチャ間予測符号化で用いられる動きベクトルは動きベクトル記憶部１１６に記憶する必要はない。以下では、モード選択部１０９でピクチャ間予測符号化やダイレクトモードが選択された場合について説明する。
【０１２８】
差分演算部１０２には、並べ替え用メモリ１０１から読み出されたピクチャＢ８のマクロブロックの画像データと、モード選択部１０９から出力された予測画像データが入力される。差分演算部１０２は、ピクチャＢ８のマクロブロックの画像データと予測画像データとの差分を演算し、予測誤差画像データを生成して予測誤差符号化部１０３へ出力する。予測誤差符号化部１０３は、入力された予測誤差画像データに対して周波数変換や量子化等の符号化処理を施すことにより、符号化データを生成して符号列生成部１０４へ出力する。
【０１２９】
符号列生成部１０４は、入力された符号化データに対して、可変長符号化等を施し、さらに動きベクトルや符号化モード等の情報を付加することにより符号列を生成し、出力する。
【０１３０】
以上の処理により、ピクチャＢ８の１マクロブロックに対する符号化処理が完了する。ピクチャＢ８の残りのマクロブロックに対する処理も同様に行われる。
【０１３１】
以下、各ピクチャの符号化処理は、各ピクチャのピクチャタイプおよびピクチャの表示時間順の位置に応じた符号化方法で、ピクチャＰ９、Ｂ７、Ｂ６、Ｂ８と同様な方法により行われる。
【０１３２】
以上の実施の形態においては、図４(a) に示すピクチャ予測構造を用いた場合を例に、本発明に係る動画像符号化方法の動作を説明した。図１０は、この場合のピクチャ予測構造を階層的に示す説明図である。図１０において、矢印は予測関係を示しており、矢印の終点にあるピクチャが、始点にあるピクチャを参照することを示している。図４(a) に示すピクチャ予測構造においては、表示時間順で考えた場合に、図１０に示すように既に符号化済みのピクチャから最も遠くなるピクチャを優先して符号化順序を決定している。例えば、ＩまたはＰピクチャから最も遠くなるピクチャは、連続するＢピクチャの中央に位置するピクチャである。したがって、例えばピクチャＰ５、Ｐ９が符号化済みである状態では、ピクチャＢ７が次の符号化対象ピクチャとなる。そして、ピクチャＰ５、Ｂ７、Ｐ９が符号化済みである状態では、ピクチャＢ６、Ｂ８が次の符号化対象ピクチャとなる。
【０１３３】
また、図４、図１０に示すものとは異なるピクチャ予測構造を有する場合でも、本発明に係る動画像符号化方法と同様の方法を用いることができ、本発明の効果をもたらすことができる。他のピクチャ予測構造の例を図７〜図９に示す。
【０１３４】
図７は、ＩまたはＰピクチャ間に挟まれるＢピクチャの数が３枚であり、Ｂピクチャを符号化する順序として、既に符号化済みのピクチャから最も近いピクチャから選択して符号化する場合について示している。図７(a) は表示時間順で示した各ピクチャの予測関係を示す図であり、図７(b) が符号化順（符号列順）に並べ替えたピクチャ順を示す図である。また、図１１は、図７(a) に対応するピクチャ予測構造の階層図である。図７(a) に示すピクチャ予測構造においては、表示時間順で考えた場合に、図１１に示すように既に符号化済みのピクチャから最も近いピクチャから順に符号化を行っている。例えばピクチャＰ５、Ｐ９が符号化済みである状態では、ピクチャＢ６、Ｂ８が次の符号化対象ピクチャとなる。そして、ピクチャＰ５、Ｂ６、Ｂ８、Ｐ９が符号化済みである状態では、ピクチャＢ７が次の符号化対象ピクチャとなる。
【０１３５】
図８は、ＩまたはＰピクチャ間に挟まれるＢピクチャの数が５枚であり、Ｂピクチャを既に符号化済みのピクチャから最も遠いピクチャを優先して符号化する場合について示している。図８(a) は表示時間順で示した各ピクチャの予測関係を示す図であり、図８(b) は符号化順（符号列順）に並べ替えたピクチャ順を示す図である。また、図１２は、図８(a) に対応するピクチャ予測構造の階層図である。図８(a) に示すピクチャ予測構造においては、表示時間順で考えた場合に、図１２に示すように既に符号化済みのピクチャから最も遠くなるピクチャを優先して符号化順序を決定している。例えば、ＩまたはＰピクチャから最も遠くなるピクチャは、連続するＢピクチャの中央に位置するピクチャである。したがって、例えばピクチャＰ７、Ｐ１３が符号化済みである状態では、ピクチャＢ１０が次の符号化対象ピクチャとなる。そして、ピクチャＰ７、Ｂ１０、Ｐ１３が符号化済みである状態では、ピクチャＢ８、Ｂ９、Ｂ１１、Ｂ１２が次の符号化対象ピクチャとなる。
【０１３６】
図９は、ＩまたはＰピクチャ間に挟まれるＢピクチャの数が５枚であり、Ｂピクチャを既に符号化済みのピクチャから最も近いピクチャを優先して符号化する場合について示している。図９(a) は表示時間順で示した各ピクチャの予測関係を示す図であり、図９(b) は符号化順（符号列順）に並べ替えたピクチャ順を示す図である。また、図１３は、図９(a) に対応するピクチャ予測構造の階層図である。図９(a) に示すピクチャ予測構造においては、表示時間順で考えた場合に、図１３に示すように既に符号化済みのピクチャから最も近いピクチャから順に符号化を行っている。例えばピクチャＰ５、Ｐ９が符号化済みである状態では、ピクチャＢ８、Ｂ１２が次の符号化対象ピクチャとなる。そして、ピクチャＰ５、Ｂ８、Ｂ１２、Ｐ９が符号化済みである状態では、ピクチャＢ９、Ｂ１１が次の符号化対象ピクチャとなる。さらに、ピクチャＰ５、Ｂ８、Ｂ９、Ｂ１１、Ｂ１２、Ｐ９が符号化済みである状態では、ピクチャＢ１０が次の符号化対象ピクチャとなる。
【０１３７】
以上のように、本発明に係る動画像符号化方法では、２方向予測を用いてピクチャ間予測符号化処理を行うＢピクチャを符号化する際に、ＩまたはＰピクチャ間に挟まれる複数のＢピクチャを表示時間順とは異なる順序で符号化する。その際には、可能な限り表示時間順で近傍に位置するピクチャを前方向および後方向の参照ピクチャとして用いる。この参照ピクチャとしては、Ｂピクチャが利用できる場合には、Ｂピクチャも用いる。また、ＩまたはＰピクチャ間に挟まれる複数のＢピクチャを表示時間順とは異なる順序で符号化する際には、既に符号化済みのピクチャから最も遠くなるピクチャから順に符号化する。または、ＩまたはＰピクチャ間に挟まれる複数のＢピクチャを表示時間順とは異なる順序で符号化する際には、既に符号化済みのピクチャから最も近いピクチャから順に符号化する。
【０１３８】
このような動作により、本発明に係る動画像符号化方法を用いることによって、Ｂピクチャを符号化する際に、より表示時間順で近傍のピクチャを参照ピクチャとして用いることができ、これにより動き補償の際の予測効率が向上するため、符号化効率を向上させることができる。
【０１３９】
また、本発明に係る動画像符号化方法において、後方向参照ピクチャとしてＢピクチャとして符号化されたピクチャを参照し、Ｂピクチャ内のブロックをダイレクトモードにより符号化する際に、後方向参照ピクチャの同一位置のブロックが前方向参照または２方向参照により符号化されている場合には、その前方向動きベクトルをスケーリングすることにより得られる動きベクトルをダイレクトモードでの動きベクトルとして用いる。
【０１４０】
このようにダイレクトモードにおいて、後方向参照ピクチャであるＢピクチャの前方向動きベクトルに対してスケーリングを行うことにより、動きベクトルの情報を送る必要がなく、かつ予測効率を向上させることができる。さらに、前方向参照ピクチャとして時間的に最近傍の参照ピクチャを用いることにより、符号化効率を向上させることができる。
【０１４１】
または、後方向参照ピクチャであるＢピクチャの同一位置のブロックが、ダイレクトモードにより符号化されている場合には、ダイレクトモードにおいて実質的に用いられた前方向動きベクトルをスケーリングすることにより得られる動きベクトルをダイレクトモードでの動きベクトルとして用いる。
【０１４２】
このようにダイレクトモードにおいて、後方向参照ピクチャであるＢピクチャのダイレクトモードで実質的に用いた前方向動きベクトルに対してスケーリングを行うことにより、動きベクトルの情報を送る必要がなく、かつ後方向参照ピクチャ内の同一位置のブロックがダイレクトモードで符号化されている場合でも、予測効率を向上させることができる。さらに、前方向参照ピクチャとして時間的に最近傍の参照ピクチャを用いることにより、符号化効率を向上させることができる。
【０１４３】
または、後方向参照ピクチャであるＢピクチャの同一位置のブロックが、後方向参照により符号化されている場合には、その後方向動きベクトルをスケーリングすることにより得られる動きベクトルをダイレクトモードでの動きベクトルとして用いる。
【０１４４】
このようにダイレクトモードにおいて、後方向参照ピクチャであるＢピクチャの同一位置のブロックを符号化する際に用いた後方向動きベクトルに対してスケーリングを行うことにより、動きベクトルの情報を送る必要がなく、かつ後方向参照ピクチャ内の同一位置のブロックが後方向動きベクトルしか有しない場合でも、予測効率を向上させることができる。さらに、前方向参照ピクチャとして時間的に最近傍の参照ピクチャを用いることにより、符号化効率を向上させることができる。
【０１４５】
または、後方向参照ピクチャであるＢピクチャの同一位置のブロックが、後方向参照により符号化されている場合には、その際に用いた後方向動きベクトルをこの後方向動きベクトルが参照するピクチャと後方向参照ピクチャとを参照ピクチャとしてスケーリングすることにより得られる動きベクトルをダイレクトモードでの動きベクトルとして用いる。
【０１４６】
このようにダイレクトモードにおいて、後方向参照ピクチャであるＢピクチャの同一位置のブロックを符号化する際に用いた後方向動きベクトルに対してスケーリングを行うことにより、動きベクトルの情報を送る必要がなく、かつ後方向参照ピクチャ内の同一位置のブロックが後方向動きベクトルしか有さない場合でも、予測効率を向上させることができる。これにより、符号化効率を向上させることができる。さらに、前方向参照ピクチャとして後方向動きベクトルが参照しているピクチャを、後方向参照ピクチャとして表示時間順で利用可能な最近傍の参照ピクチャを用いることにより、符号化効率を向上させることができる。
【０１４７】
またはダイレクトモードにおいて、強制的に大きさ０とした動きベクトルを用いる。
このようにダイレクトモードにおける動きベクトルを強制的に０と置くことにより、ダイレクトモードが選択された場合には、動きベクトルの情報を送る必要がなく、かつ動きベクトルのスケーリング処理が不要となり処理量の削減を図ることができる。
【０１４８】
また、本発明の動画像符号化方法において、後方向参照ピクチャとしてＢピクチャとして符号化されたピクチャを参照し、Ｂピクチャ内のブロックをダイレクトモードを用いて符号化する際に、後方に位置するＰピクチャ内の同一位置のブロックが符号化された際に用いた前方向動きベクトルをスケーリングすることにより得られる動きベクトルをダイレクトモードでの動きベクトルとして用いる。
【０１４９】
このようにダイレクトモードにおいて、後方Ｐピクチャの動きベクトルに対してスケーリングを行うことにより、後方向参照ピクチャがＢピクチャである場合に、そのＢピクチャの動きベクトルを記憶しておく必要が無く、かつ動きベクトルの情報を送る必要がなく、かつ予測効率を向上させることができる。さらに、前方向参照ピクチャとして時間的に最近傍の参照ピクチャを用いることにより、符号化効率を向上させることができる。
【０１５０】
また、ピクチャ番号に対する相対インデックスの割り当ての変更が行われ、後方向参照ピクチャの同一位置のブロックが前方向参照により符号化されている場合には、その前方向動きベクトルをスケーリングすることにより得られる動きベクトルをダイレクトモードでの動きベクトルとして用いる。
【０１５１】
このようにダイレクトモードにおいて、ピクチャ番号に対する相対インデックスの割り当ての変更が行われた場合であっても、符号化済みのピクチャの動きベクトルに対してスケーリングを行うことができ、かつ動きベクトルの情報を送る必要がない。
【０１５２】
なお、本実施の形態においては、動き補償は水平１６×垂直１６画素の単位で、予測誤差画像の符号化は水平８×垂直８画素や水平４×垂直４画素の単位で処理する場合について説明したが、これらの単位は別の画素数でも良い。
【０１５３】
また、本実施の形態では、連続するＢピクチャの枚数が３枚または５枚である場合を例として説明したが、このＢピクチャの枚数は他の枚数であっても良い。
【０１５４】
また、本実施の形態では、Ｐピクチャの符号化モードは、ピクチャ内符号化、動きベクトルを用いたピクチャ間予測符号化、動きベクトルを用いないピクチャ間予測符号化から選択し、Ｂピクチャの符号化モードは、ピクチャ内符号化、前方向動きベクトルを用いたピクチャ間予測符号化、後方向動きベクトルを用いたピクチャ間予測符号化、２方向動きベクトルを用いたピクチャ間予測符号化、ダイレクトモードから選択する場合を例として説明したが、これらの符号化モードは他の方法であっても良い。
【０１５５】
また、本実施の形態では、ダイレクトモードにおいては、７つの例について説明したが、これは例えばマクロブロックやブロック毎に一意的に決定される一つの方法を用いても良いし、ブロックやマクロブロック毎に複数の方法から一つの方法を選択しても良い。複数の方法を用いる場合には、どのダイレクトモードを用いたかを示す情報を符号列中に記述する。
【０１５６】
また、本実施の形態では、Ｐピクチャは表示時間順で前方または後方に位置する符号化済みのＩまたはＰピクチャを１つ参照して符号化し、Ｂピクチャは表示時間順で前方または後方に位置する近傍の符号化済みのピクチャを２つ参照して符号化する場合について説明したが、これらはＰピクチャの場合には、表示時間順で前方または後方に位置する、複数の符号化済みのＩまたはＰピクチャを参照ピクチャの候補とし、各ブロックで最大１つのピクチャを参照して符号化し、Ｂピクチャの場合には、表示時間順で前方または後方に位置する近傍の複数の符号化済みのピクチャを参照ピクチャの候補とし、各ブロックで最大２つのピクチャを参照して符号化しても良い。
【０１５７】
また、モード選択部１０９は、動きベクトル記憶部１１６に動きベクトルを記憶する際に、対象ブロックが２方向予測またはダイレクトモードにより符号化されている場合には、前方向および後方向の両方の動きベクトルを記憶しても良いし、前方向動きベクトルのみを記憶するようにしても良い。前方向動きベクトルのみを記憶すると、動きベクトル記憶部１１６のメモリ量を削減することができる。
【０１５８】
（実施の形態２）
図１４は、本発明に係る動画像復号化方法を用いた動画像復号化装置の一実施の形態の構成を示すブロック図である。
【０１５９】
動画像復号化装置は、図１４に示すように符号列解析部１４０１、予測誤差復号化部１４０２、モード復号部１４０３、フレームメモリ制御部１４０４、動き補償復号部１４０５、動きベクトル記憶部１４０６、フレームメモリ１４０７、加算演算部１４０８、およびスイッチ１４０９、１４１０を備えている。
【０１６０】
符号列解析部１４０１は、入力された符号列より符号化モードの情報および動きベクトルの情報等の各種データの抽出を行う。予測誤差復号化部１４０２は、符号列解析部１４０１より入力された予測誤差符号化データの復号化を行い、予測誤差画像データを生成する。モード復号部１４０３は、符号列より抽出された符号化モードの情報を参照し、スイッチ１４０９、１４１０の制御を行う。
【０１６１】
フレームメモリ制御部１４０４は、符号列解析部１４０１より入力されたピクチャの表示順序を示す情報に基づいて、フレームメモリ１４０７に格納された復号化画像データを出力画像として出力する。
【０１６２】
動き補償復号部１４０５は、参照ピクチャ番号と動きベクトルの情報の復号化処理を行い、復号化した参照ピクチャ番号と動きベクトルとに基づいて、フレームメモリ１４０７より動き補償画像データを取得する。動きベクトル記憶部１４０６は、動きベクトルを記憶する。
【０１６３】
加算演算部１４０８は、予測誤差復号化部１４０２より入力された予測誤差符号化データと、動き補償復号部１４０５より入力された動き補償画像データとを加算し、復号化画像データを生成する。フレームメモリ１４０７は、生成された復号化画像データを格納する。
【０１６４】
次に、上記のように構成された動画像復号化装置の動作について説明する。ここで、動画像復号化装置には、上記動画像符号化装置で生成された符号列が入力されるとする。すなわちここでは、Ｐピクチャは表示時間順で前方または後方にある、近傍の既に処理済みのＩまたはＰピクチャを１つ参照するものとする。また、Ｂピクチャは表示時間順で前方または後方にある、既に符号化済みの近傍のピクチャを２つ参照するものとする。
【０１６５】
この場合における符号列中のピクチャは、図４(b) に示すような順序となる。以下では、ピクチャＰ９、Ｂ７、Ｂ６、Ｂ８の復号化処理について順に説明する。
【０１６６】
＜ピクチャＰ９の復号化処理＞
ピクチャＰ９の符号列は符号列解析部１４０１に入力される。符号列解析部１４０１は、入力された符号列から、各種データの抽出を行う。ここで各種データとは、モード選択の情報や動きベクトル情報等である。抽出されたモード選択の情報は、モード復号部１４０３に対して出力される。また、抽出された動きベクトル情報は、動き補償復号部１４０５に対して出力される。さらに、予測誤差符号化データは予測誤差復号化部１４０２に対して出力される。
【０１６７】
モード復号部１４０３は、符号列から抽出された符号化モード選択の情報を参照し、スイッチ１４０９、１４１０の制御を行う。符号化モード選択がピクチャ内符号化である場合には、モード復号部１４０３は、スイッチ１４０９をａ側に、スイッチ１４１０をｃ側に接続するように制御する。また、符号化モード選択がピクチャ間予測符号化である場合には、モード復号部１４０３は、スイッチ１４０９をｂ側に、スイッチ１４１０をｄ側に接続するように制御する。
【０１６８】
またモード復号部１４０３では、符号化モード選択の情報を動き補償復号部１４０５に対しても出力する。以下では、符号化モード選択がピクチャ間予測符号化である場合について説明する。予測誤差復号化部１４０２は、入力された予測誤差符号化データの復号化を行い、予測誤差画像データを生成する。そして、予測誤差復号化部１４０２は、生成した予測誤差画像データをスイッチ１４０９に対して出力する。ここでは、スイッチ１４０９はｂ側に接続されているので、予測誤差画像データは加算演算部１４０８に対して出力される。
【０１６９】
動き補償復号部１４０５は、入力された動きベクトルの情報等に基づいて、フレームメモリ１４０７から動き補償画像データを取得する。ピクチャＰ９は、ピクチャＰ５を参照して符号化されており、ピクチャＰ５は既に復号化されてフレームメモリ１４０７に保持されている。そこで、動き補償復号部１４０５は、動きベクトルの情報に基づいてフレームメモリ１４０７に保持されたピクチャＰ５の画像データから動き補償画像データを取得する。このようにして生成された動き補償画像データは加算演算部１４０８に対して出力される。
【０１７０】
また、動き補償復号部１４０５は、Ｐピクチャの復号化を行う場合には、動きベクトルの情報を動きベクトル記憶部１４０６に記憶する。
【０１７１】
加算演算部１４０８は、入力された予測誤差画像データと動き補償画像データとを加算し、復号化画像データを生成する。生成された復号化画像データはスイッチ１４１０を介してフレームメモリ１４０７に対して出力される。
【０１７２】
以上のようにして、ピクチャＰ９の１マクロブロックの処理が完了する。同様の処理により、残りのマクロブロックも順に復号化される。ピクチャＰ９のマクロブロックが全て復号化されると、ピクチャＢ７の復号化が行われる。
【０１７３】
＜ピクチャＢ７の復号化処理＞
符号列解析部１４０１、モード復号化部１４０３、および予測誤差復号化部１４０２における予測誤差画像データの生成までの動作は、ピクチャＰ９の復号化処理の際と同様であるので、説明は省略する。
【０１７４】
動き補償復号部１４０５は、入力された動きベクトルの情報等に基づいて、動き補償画像データを生成する。ピクチャＢ７は、前方向参照ピクチャとしてピクチャＰ５を参照し、後方向参照ピクチャとしてＰ９を参照して符号化されており、これらのピクチャは既に復号化されてフレームメモリ１４０７に保持されている。
【０１７５】
モード選択が２方向予測のピクチャ間予測符号化である場合には、動き補償復号部１４０５は、前方向動きベクトルの情報に基づいて前方向参照画像データをフレームメモリ１４０７から取得する。また、後方向動きベクトルの情報に基づいて後方向参照画像データをフレームメモリ１４０７から取得する。そして、動き補償復号部１４０５は、前方向参照画像データと後方向参照画像データとを加算平均することにより、動き補償画像データを生成する。
【０１７６】
また、モード選択がダイレクトモードである場合には、動き補償復号部１４０５は、動きベクトル記憶部１４０６に記憶されているピクチャＰ９の動きベクトルを取得する。そして、動き補償復号部１４０５は、この動きベクトルを用いて、前方向参照画像データと後方向参照画像データとをフレームメモリ１４０７から取得する。そして、動き補償復号部１４０５は、前方向参照画像データと後方向参照画像データとを加算平均することにより、動き補償画像データを生成する。
【０１７７】
このモード選択がダイレクトモードである場合について、さらに図５(a) を用いて説明する。ここで、ピクチャＢ７のブロックａを復号化しているとし、ブロックａと同じ位置にあるピクチャＰ９のブロックをブロックｂとする。そしてブロックｂの動きベクトルが動きベクトルｃであり、これはピクチャＰ５を参照している。この場合、前方向動きベクトルとして、動きベクトルｃを利用して求めたピクチャＰ５を参照する動きベクトルｄを用い、後方向動きベクトルとして、動きベクトルｃを利用して求めたピクチャＰ９を参照する動きベクトルｅを用いる。例えば、動きベクトルｃを利用する方法としては、動きベクトルｃに平行な動きベクトルを生成する方法がある。これらの動きベクトルに基づいて得られる前方向参照データと後方向参照データとを加算平均した画像データを動き補償画像データとする。
【０１７８】
この場合、前方向動きベクトルである動きベクトルｄの大きさをＭＶＦ、後方向動きベクトルである動きベクトルｅの大きさをＭＶＢ、動きベクトルｃの大きさをＭＶ、現在のピクチャ（ピクチャＢ７）の後方向参照ピクチャ（ピクチャＰ９）と、その後方向参照ピクチャのブロックｂが参照しているピクチャ（ピクチャＰ５）との時間的距離をＴＲＤ、現在のピクチャ（ピクチャＢ７）と前方向参照ピクチャ（ピクチャＰ５）との時間的距離をＴＲＦとすると、動きベクトルｄの大きさＭＶＦ、動きベクトルｅの大きさＭＶＢは、それぞれ（式１）、（式２）で求められる。ここで、ＭＶＦ、ＭＶＢは、動きベクトルの水平成分、垂直成分のそれぞれを表現しているものとする。なお、各ピクチャ間の時間的距離については、例えば各ピクチャに付される表示順序（位置）を示す情報、またはその情報の差に基づいて決定することができる。
【０１７９】
このようにして生成された動き補償画像データは加算演算部１４０８に対して出力される。また、動き補償復号部１４０５は、動きベクトルの情報を動きベクトル記憶部１４０６に記憶する。
【０１８０】
加算演算部１４０８は、入力された予測誤差画像データと動き補償画像データとを加算し、復号化画像データを生成する。生成された復号化画像データはスイッチ１４１０を介してフレームメモリ１４０７に対して出力される。
【０１８１】
以上のようにして、ピクチャＢ７の１マクロブロックの処理が完了する。同様の処理により、残りのマクロブロックも順に復号化される。ピクチャＢ７のマクロブロックが全て復号化されると、ピクチャＢ６の復号化が行われる。
【０１８２】
＜ピクチャＢ６の復号化処理＞
符号列解析部１４０１、モード復号化部１４０３、および予測誤差復号化部１４０２における予測誤差画像データの生成までの動作は、ピクチャＰ９の復号化処理の際と同様であるので、説明は省略する。
【０１８３】
動き補償復号部１４０５は、入力された動きベクトルの情報等に基づいて、動き補償画像データを生成する。ピクチャＢ６は、前方向参照ピクチャとしてピクチャＰ５を参照し、後方向参照ピクチャとしてＢ７を参照して符号化されており、これらのピクチャは既に復号化されてフレームメモリ１４０７に保持されている。
【０１８４】
モード選択が２方向予測のピクチャ間予測符号化である場合には、動き補償復号部１４０５は、前方向動きベクトルの情報に基づいて前方向参照画像データをフレームメモリ１４０７から取得する。また、後方向動きベクトルの情報に基づいて後方向参照画像データをフレームメモリ１４０７から取得する。そして、動き補償復号部１４０５は、前方向参照画像データと後方向参照画像データとを加算平均することにより、動き補償画像データを生成する。
【０１８５】
また、モード選択がダイレクトモードである場合には、動き補償復号部１４０５は、動きベクトル記憶部１４０６に記憶されているピクチャＢ７の動きベクトルを取得する。動き補償復号部１４０５は、この動きベクトルを用いて、前方向参照画像データと後方向参照画像データとをフレームメモリ１４０７から取得する。そして、動き補償復号部１４０５は、前方向参照画像データと後方向参照画像データとを加算平均することにより、動き補償画像データを生成する。
【０１８６】
このモード選択がダイレクトモードである場合の第一の例を図５(b) を用いて説明する。ここで、ピクチャＢ６のブロックａを復号化しているとし、ブロックａと同じ位置にあるピクチャＢ７のブロックをブロックｂとする。そして、ブロックｂは、前方向参照によるピクチャ間予測符号化または２方向参照によるピクチャ間予測符号化されているとし、ブロックｂの前方向動きベクトルを動きベクトルｃとする。この動きベクトルｃはピクチャＰ５を参照している。この場合、ブロックａに対する前方向動きベクトルとして、動きベクトルｃを利用して生成したピクチャＰ５を参照する動きベクトルｄを用い、後方向動きベクトルとして、動きベクトルｃを利用して生成したピクチャＢ７を参照する動きベクトルｅを用いる。例えば、動きベクトルｃを利用する方法としては、動きベクトルｃに平行な動きベクトルを生成する方法がある。これらの動きベクトルに基づいて得られる前方向参照画像データと後方向参照画像データとを加算平均した画像データを動き補償画像データとする。
【０１８７】
この場合、前方向動きベクトルである動きベクトルｄの大きさをＭＶＦ、後方向動きベクトルである動きベクトルｅの大きさをＭＶＢ、動きベクトルｃの大きさをＭＶ、現在のピクチャ（ピクチャＢ６）の後方向参照ピクチャ（ピクチャＢ７）と、その後方向参照ピクチャのブロックｂが参照しているピクチャ（ピクチャＰ５）との時間的距離をＴＲＤ、現在のピクチャ（ピクチャＢ６）と前方向参照ピクチャ（ピクチャＰ５）との時間的距離をＴＲＦとすると、動きベクトルｄの大きさＭＶＦ、動きベクトルｅの大きさＭＶＢは、それぞれ（式１）、（式２）で求められる。なお、各ピクチャ間の時間的距離については、例えば各ピクチャに付される表示順序（位置）を示す情報、またはその情報の差に基づいて決定することができる。または、ＴＲＤ、ＴＲＦの値は、各ピクチャ毎に決められた所定値を用いても良い。この所定値は、ヘッダ情報として符号列中に記述されていても良い。
【０１８８】
また、モード選択がダイレクトモードである場合の第二の例を図５(b) を用いて説明する。
【０１８９】
この場合、ピクチャＢ６の後方にある参照ピクチャであるピクチャＢ７中の、ブロックａと同じ位置にあるブロックｂを復号化した際に用いられた動きベクトルを利用する。ここではブロックｂは、ダイレクトモードを用いて符号化されていたとし、そのときに実質的に用いられた前方向動きベクトルを動きベクトルｃとする。この動きベクトルｃは、動きベクトル記憶部１４０６に記憶されているものを用いるか、またはブロックｂをダイレクトモードで符号化する際に用いたピクチャＰ９の動きベクトルを動きベクトル記憶部１４０６から読み出した後、スケーリングの計算を行って求める。なお、動き補償復号部１４０５は、ピクチャＢ７のブロックｂをダイレクトモードで復号化する際にスケーリング処理により求めた動きベクトルを、動きベクトル記憶部１４０６に記憶する場合は、前方向動きベクトルだけを記憶すればよい。
【０１９０】
この場合、ブロックａに対する前方向動きベクトルとして、動きベクトルｃを利用して生成したピクチャＰ５を参照する動きベクトルｄを用い、後方向動きベクトルとして、動きベクトルｃを利用して生成したピクチャＢ７を参照する動きベクトルｅを用いる。例えば、動きベクトルｃを利用する方法としては、動きベクトルｃに平行な動きベクトルを生成する方法がある。これらの動きベクトルに基づいて得られる前方向参照画像データと後方向参照画像データとを加算平均した画像データを動き補償画像データとする。
【０１９１】
この場合、前方向動きベクトルである動きベクトルｄの大きさＭＶＦと、後方向動きベクトルである動きベクトルｅの大きさＭＶＢとは、ダイレクトモードの第一の例と同様に、（式１）、（式２）を用いて求めることができる。
【０１９２】
次に、モード選択がダイレクトモードである場合の第三の例を図５(c) を用いて説明する。
【０１９３】
ここで、ピクチャＢ６のブロックａを復号化しているとし、ブロックａと同じ位置にあるピクチャＢ７のブロックをブロックｂとする。ブロックｂは、後方向参照予測符号化されているとし、ブロックｂの後方向動きベクトルを動きベクトルｆとする。この動きベクトルｆはピクチャＰ９を参照している。この場合、ブロックａに対する前方向動きベクトルとして、動きベクトルｆを利用して求めたピクチャＰ５を参照する動きベクトルｇを用い、後方向動きベクトルとして、動きベクトルｆを利用して求めたピクチャＢ７を参照する動きベクトルｈを用いる。例えば、動きベクトルｆを利用する方法としては、動きベクトルｆに平行な動きベクトルを生成する方法がある。これらの動きベクトルに基づいて得られる前方向参照画像データと後方向参照画像データとを加算平均した画像データを動き補償画像データとする。
【０１９４】
この場合、前方向動きベクトルである動きベクトルｇの大きさをＭＶＦ、後方向動きベクトルである動きベクトルｈの大きさをＭＶＢ、動きベクトルｆの大きさをＭＶ、現在のピクチャ（ピクチャＢ６）の後方向参照ピクチャ（ピクチャＢ７）と、その後方向参照ピクチャのブロックが参照しているピクチャ（ピクチャＰ９）との時間的距離をＴＲＤ、現在のピクチャ（ピクチャＢ６）と前方向参照ピクチャ（ピクチャＰ５）との時間的距離をＴＲＦ、現在のピクチャ（ピクチャＢ６）と後方向参照ピクチャ（ピクチャＢ７）との時間的距離をＴＲＢ、とすると、動きベクトルｇの大きさＭＶＦ、動きベクトルｈの大きさＭＶＢは、それぞれ（式３）、（式４）で求められる。
【０１９５】
次に、モード選択がダイレクトモードである場合の第四の例を図５(d) を用いて説明する。
【０１９６】
ここで、ピクチャＢ６のブロックａを復号化しているとし、ブロックａと同じ位置にあるピクチャＢ７のブロックをブロックｂとする。ブロックｂは、第三の例と同様に後方向参照予測符号化されているとし、ブロックｂの後方向動きベクトルを動きベクトルｆとする。この動きベクトルｆはピクチャＰ９を参照している。この場合、ブロックａに対する前方向動きベクトルとして、動きベクトルｆを利用して求めたピクチャＰ９を参照する動きベクトルｇを用い、後方向動きベクトルとして、動きベクトルｆを利用して求めたピクチャＢ７を参照する動きベクトルｈを用いる。例えば、動きベクトルｆを利用する方法としては、動きベクトルｆに平行な動きベクトルを生成する方法がある。これらの動きベクトルに基づいて得られる前方向参照画像データと後方向参照画像データとを加算平均した画像データを動き補償画像データとする。
【０１９７】
この場合、前方向動きベクトルである動きベクトルｇの大きさをＭＶＦ、後方向動きベクトルである動きベクトルｈの大きさをＭＶＢ、動きベクトルｆの大きさをＭＶ、現在のピクチャ（ピクチャＢ６）の後方向参照ピクチャ（ピクチャＢ７）と、その後方向参照ピクチャのブロックが参照しているピクチャ（ピクチャＰ９）との時間的距離をＴＲＤ、現在のピクチャ（ピクチャＢ６）と、後方向参照ピクチャ（ピクチャＢ７）のブロックが参照しているピクチャ（ピクチャＰ９）との時間的距離をＴＲＦとすると、動きベクトルｇの大きさＭＶＦ、動きベクトルｈの大きさＭＶＢは、それぞれ（式１）、（式２）で求められる。
【０１９８】
また、モード選択がダイレクトモードである場合の第五の例を図６(a) を用いて説明する。ここで、ピクチャＢ６のブロックａをダイレクトモードにより復号化するとする。この場合、動きベクトルの大きさを０として、前方向参照ピクチャとしてピクチャＰ５を、後方向参照ピクチャとしてピクチャＢ７を用いて、２方向参照を行うことにより、動き補償を行う。
【０１９９】
次に、モード選択がダイレクトモードである場合の第六の例を図６(b) を用いて説明する。ここで、ピクチャＢ６のブロックａをダイレクトモードで復号化するとする。この場合、ピクチャＢ６の後方にあるＰピクチャであるピクチャＰ９中の、ブロックａと同じ位置にあるブロックｆを復号化する際に用いられた動きベクトルｇを利用する。動きベクトルｇは、動きベクトル記憶部１４０６に記憶されている。ブロックａは、動きベクトルｇを利用して求めた動きベクトルを用いて、前方向参照ピクチャであるピクチャＰ５と、後方向参照ピクチャであるピクチャＢ７から２方向予測を行う。例えば、上記第一の例の場合と同様に動きベクトルｇに平行な動きベクトルを生成する方法を用いれば、ブロックａの動き補償画像データを得るために用いる動きベクトルは、ピクチャＰ５に対しては動きベクトルｈ、ピクチャＢ７に対しては動きベクトルｉとなる。
【０２００】
この場合、前方向動きベクトルである動きベクトルｈの大きさをＭＶＦ、後方向動きベクトルである動きベクトルｉの大きさをＭＶＢ、動きベクトルｇの大きさをＭＶ、現在のピクチャ（ピクチャＢ６）の後方に位置するＰピクチャ（ピクチャＰ９）と、その後に位置するピクチャのブロックｆが参照しているピクチャ（ピクチャＰ５）との時間的距離をＴＲＤ、現在のピクチャ（ピクチャＢ６）と前方向参照ピクチャ（ピクチャＰ５）との時間的距離をＴＲＦ、現在のピクチャ（ピクチャＢ６）と後方向参照ピクチャ（ピクチャＢ７）との時間的距離をＴＲＢ、とすると、動きベクトルＭＶＦ、動きベクトルＭＶＢは、それぞれ（式１）、（式５）で求められる。
【０２０１】
次に、モード選択がダイレクトモードである場合の第七の例を図６(c) を用いて説明する。ここで、ピクチャＢ６のブロックａをダイレクトモードで復号化するとする。この例は、上記で説明したピクチャ番号に対する相対インデックスの割り当ての変更（リマッピング）が行われ、後方向参照ピクチャがピクチャＰ９となった場合である。この場合、ピクチャＢ６の後方向参照ピクチャであるピクチャＰ９中の、ブロックａと同じ位置にあるブロックｆを符号化する際に用いられた動きベクトルｇを利用する。動きベクトルｇは、動きベクトル記憶部１４０６に記憶されている。ブロックａは、動きベクトルｇを利用して生成した動きベクトルを用いて、前方向参照ピクチャであるピクチャＰ５と、後方向参照ピクチャであるピクチャＰ９とから２方向予測を行う。例えば、上記第一の例の場合と同様に動きベクトルｇに平行な動きベクトルを生成する方法を用いれば、ブロックａの動き補償画像データを得るために用いる動きベクトルは、ピクチャＰ５に対しては動きベクトルｈ、ピクチャＰ９に対しては動きベクトルｉとなる。
【０２０２】
この場合、前方向動きベクトルである動きベクトルｈの大きさをＭＶＦ、後方向動きベクトルである動きベクトルｉの大きさをＭＶＢ、動きベクトルｇの大きさをＭＶ、現在のピクチャ（ピクチャＢ６）の後方向参照ピクチャ（ピクチャＰ９）と、その後方向参照ピクチャのブロックが参照しているピクチャ（ピクチャＰ５）との時間的距離をＴＲＤ、現在のピクチャ（ピクチャＢ６）と前方向参照ピクチャ（ピクチャＰ５）との時間的距離をＴＲＦとすると、動きベクトルｈの大きさＭＶＦ、動きベクトルｉの大きさＭＶＢは、それぞれ（式１）、（式２）で求められる。
【０２０３】
このようにして生成された動き補償画像データは加算演算部１４０８に対して出力される。加算演算部１４０８は、入力された予測誤差画像データと動き補償画像データとを加算し、復号化画像データを生成する。生成された復号化画像データはスイッチ１４１０を介してフレームメモリ１４０７に対して出力される。
【０２０４】
以上のようにして、ピクチャＢ６の１マクロブロックの処理が完了する。同様の処理により、残りのマクロブロックも順に復号化される。ピクチャＢ６のマクロブロックが全て復号化されると、ピクチャＢ８の復号化が行われる。
【０２０５】
＜ピクチャＢ８の復号化処理＞
符号列解析部１４０１、モード復号化部１４０３、および予測誤差復号化部１４０２における予測誤差画像データの生成までの動作は、ピクチャＰ９の復号化処理の際と同様であるので、説明は省略する。
【０２０６】
動き補償復号部１４０５は、入力された動きベクトルの情報等に基づいて、動き補償画像データを生成する。ピクチャＢ８は、前方向参照ピクチャとしてピクチャＢ７を参照し、後方向参照ピクチャとしてＰ９を参照して符号化されており、これらのピクチャは既に復号化されてフレームメモリ１４０７に保持されている。
【０２０７】
モード選択が２方向予測のピクチャ間予測符号化である場合には、動き補償復号部１４０５は、前方向動きベクトルの情報に基づいて前方向参照画像データをフレームメモリ１４０７から取得する。また、後方向動きベクトルの情報に基づいて後方向参照画像データをフレームメモリ１４０７から取得する。そして、動き補償復号部１４０５は、前方向参照画像データと後方向参照画像データとを加算平均することにより、動き補償画像データを生成する。
【０２０８】
また、モード選択がダイレクトモードである場合には、動き補償復号部１４０５は、動きベクトル記憶部１４０６に記憶されているピクチャＰ９の動きベクトルを取得する。動き補償復号部１４０５は、この動きベクトルを用いて、前方向参照画像データと後方向参照画像データとをフレームメモリ１４０７から取得する。そして、動き補償復号部１４０５は、前方向参照画像データと後方向参照画像データとを加算平均することにより、動き補償画像データを生成する。
【０２０９】
モード選択がダイレクトモードである場合の例を図６(d) を用いて説明する。ここで、ピクチャＢ８のブロックａを復号化しているとし、後方向参照ピクチャであるピクチャＰ９中の、ブロックａと同じ位置にあるブロックｂとする。そして、ブロックｂの前方向動きベクトルを動きベクトルｃとする。この動きベクトルｃはピクチャＰ５を参照している。この場合、ブロックａに対する前方向動きベクトルとして、動きベクトルｃを利用して生成したピクチャＢ７を参照する動きベクトルｄを用い、後方向動きベクトルとして、動きベクトルｃを利用して生成したピクチャＰ９を参照する動きベクトルｅを用いる。例えば、動きベクトルｃを利用する方法としては、動きベクトルｃに平行な動きベクトルを生成する方法がある。これらの動きベクトルに基づいて得られる前方向参照画像データと後方向参照画像データとを加算平均した画像データを動き補償画像データとする。
【０２１０】
この場合、前方向動きベクトルである動きベクトルｄの大きさをＭＶＦ、後方向動きベクトルである動きベクトルｅの大きさをＭＶＢ、動きベクトルｃの大きさをＭＶ、現在のピクチャ（ピクチャＢ８）の後方向参照ピクチャ（ピクチャＰ９）と、その後方向参照ピクチャのブロックｂが参照しているピクチャ（ピクチャＰ５）との時間的距離をＴＲＤ、現在のピクチャ（ピクチャＢ８）と前方向参照ピクチャ（ピクチャＢ７）との時間的距離をＴＲＦ、現在のピクチャ（ピクチャＢ８）と後方向参照ピクチャ（ピクチャＰ９）との時間的距離をＴＲＢとすると、動きベクトルｄの大きさＭＶＦ、動きベクトルｅの大きさＭＶＢは、それぞれ（式１）、（式５）で求められる。
【０２１１】
このようにして生成された動き補償画像データは加算演算部１４０８に対して出力される。加算演算部１４０８は、入力された予測誤差画像データと動き補償画像データとを加算し、復号化画像データを生成する。生成された復号化画像データはスイッチ１４１０を介してフレームメモリ１４０７に対して出力される。
【０２１２】
以上のようにして、ピクチャＢ８の１マクロブロックの処理が完了する。同様の処理により、残りのマクロブロックも順に復号化される。以下、各ピクチャはピクチャタイプに応じた同様の処理によって復号化される。
【０２１３】
次に、フレームメモリ制御部１４０４は、上記のようにフレームメモリ１４０７に保持された各ピクチャの画像データを、図４(a) に示すように時間順に並び直して出力画像として出力する。
【０２１４】
以上のように、本発明に係る動画像復号化方法では、２方向予測を用いてピクチャ間予測符号化処理が行われているＢピクチャを復号化する際に、前方向参照および後方向参照として用いるピクチャとして、既に復号化済みの表示時間順で近傍に位置するピクチャを用いて復号化する。
【０２１５】
また、Ｂピクチャで符号化モードとしてダイレクトモードが選択されている場合には、動きベクトル記憶部１４０６に保持している既に復号化済みの後方向参照ピクチャの動きベクトルを参照することにより、既に復号化済みの画像データから参照画像データを取得し、動き補償画像データを得る。
【０２１６】
このような動作により、２方向予測を用いてピクチャ間予測符号化処理を行うＢピクチャを符号化する際に、前方向参照および後方向参照として用いるピクチャとして、表示時間順に近傍に位置するピクチャを用いて符号化されて生成された符号列を、復号化する際に正しく復号化処理を行うことができる。
【０２１７】
なお、本実施の形態では、ダイレクトモードにおいては、７つの例について説明したが、これは例えば、後方向参照ピクチャの同一位置のブロックの復号化方法等により、マクロブロックやブロック毎に一意的に決定される一つの方法を用いても良いし、ブロックやマクロブロック単位で複数の方法を切り替えて用いても良い。複数の方法を用いられている場合には、符号列中に記述されている、どのダイレクトモードを用いたかを示す情報を用いて、復号化を行う。この際には、動き補償復号化部１４０５の動作が、その情報によって変わることになる。例えば、動き補償のブロック単位でこの情報が付加されている場合、モード復号部１４０３でどのダイレクトモードが用いられて符号化されているかを決定し、それを動き補償復号部１４０５に伝える。そして、動き補償復号部１４０５は、どのダイレクトモードが用いられているかによって、本実施の形態で説明したような復号化方法を用いて復号化処理を行う。
【０２１８】
また、本実施の形態では、ＩまたはＰピクチャ間に３枚のＢピクチャが挟まれているピクチャ構成の場合について説明したが、このＢピクチャの枚数は別の値、例えば４枚や５枚であっても良い。
【０２１９】
また、本実施の形態では、Ｐピクチャは表示時間順で前方または後方に位置する符号化済みのＩまたはＰピクチャを１つ参照して符号化され、Ｂピクチャは表示時間順で前方または後方に位置する近傍の符号化済みのピクチャを２つ参照して符号化されている符号列を復号化する場合について説明したが、これらはＰピクチャの場合には、表示時間順で前方または後方に位置する、複数の符号化済みのＩまたはＰピクチャを参照ピクチャの候補とし、各ブロックで最大１つのピクチャを参照して符号化し、Ｂピクチャの場合には、表示時間順で前方または後方に位置する近傍の複数の符号化済みのピクチャを参照ピクチャの候補とし、各ブロックで最大２つのピクチャを参照して符号化された符号列であっても良い。
【０２２０】
また、動き補償復号部１４０５は、動きベクトル記憶部１４０６に動きベクトルを記憶する際に、対象ブロックが２方向予測またはダイレクトモードにより符号化されている場合には、前方向および後方向の両方の動きベクトルを記憶しても良いし、前方向動きベクトルのみを記憶するようにしても良い。前方向動きベクトルのみを記憶すると、動きベクトル記憶部１４０６のメモリ量を削減することができる。
【０２２１】
（実施の形態３）
さらに、上記各実施の形態で示した動画像符号化方法または動画像復号化方法の構成を実現するためのプログラムを、フレキシブルディスク等の記憶媒体に記録するようにすることにより、上記各実施の形態で示した処理を、独立したコンピュータシステムにおいて簡単に実施することが可能となる。
【０２２２】
図１５は、上記各実施の形態の動画像符号化方法または動画像復号化方法を格納したフレキシブルディスクを用いて、コンピュータシステムにより実施する場合の説明図である。
【０２２３】
図１５（ｂ）は、フレキシブルディスクの正面からみた外観、断面構造、及びフレキシブルディスクを示し、図１５（ａ）は、記録媒体本体であるフレキシブルディスクの物理フォーマットの例を示している。フレキシブルディスクＦＤはケースＦ内に内蔵され、該ディスクの表面には、同心円状に外周からは内周に向かって複数のトラックＴｒが形成され、各トラックは角度方向に１６のセクタＳｅに分割されている。従って、上記プログラムを格納したフレキシブルディスクでは、上記フレキシブルディスクＦＤ上に割り当てられた領域に、上記プログラムとしての動画像符号化方法が記録されている。
【０２２４】
また、図１５（ｃ）は、フレキシブルディスクＦＤに上記プログラムの記録再生を行うための構成を示す。上記プログラムをフレキシブルディスクＦＤに記録する場合は、コンピュータシステムＣｓから上記プログラムとしての動画像符号化方法または動画像復号化方法をフレキシブルディスクドライブを介して書き込む。また、フレキシブルディスク内のプログラムにより上記動画像符号化方法をコンピュータシステム中に構築する場合は、フレキシブルディスクドライブによりプログラムをフレキシブルディスクから読み出し、コンピュータシステムに転送する。
【０２２５】
なお、上記説明では、記録媒体としてフレキシブルディスクを用いて説明を行ったが、光ディスクを用いても同様に行うことができる。また、記録媒体はこれに限らず、ＩＣカード、ＲＯＭカセット等、プログラムを記録できるものであれば同様に実施することができる。
【０２２６】
さらにここで、上記実施の形態で示した動画像符号化方法や動画像復号化方法の応用例とそれを用いたシステムを説明する。
【０２２７】
図１６は、コンテンツ配信サービスを実現するコンテンツ供給システムex１００の全体構成を示すブロック図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex１０７〜ex１１０が設置されている。
【０２２８】
このコンテンツ供給システムex１００は、例えば、インターネットex１０１にインターネットサービスプロバイダex１０２および電話網ex１０４、および基地局ex１０７〜ex１１０を介して、コンピュータex１１１、ＰＤＡ（personal digital assistant）ex１１２、カメラex１１３、携帯電話ex１１４、カメラ付きの携帯電話ｅｘ１１５などの各機器が接続される。
【０２２９】
しかし、コンテンツ供給システムex１００は図１６のような組合せに限定されず、いずれかを組み合わせて接続するようにしてもよい。また、固定無線局である基地局ex１０７〜ex１１０を介さずに、各機器が電話網ex１０４に直接接続されてもよい。
【０２３０】
カメラex１１３はデジタルビデオカメラ等の動画撮影が可能な機器である。また、携帯電話は、ＰＤＣ（Personal Digital Communications）方式、ＣＤＭＡ（Code Division Multiple Access）方式、Ｗ−ＣＤＭＡ（Wideband-Code Division Multiple Access）方式、若しくはＧＳＭ（Global System for Mobile Communications）方式の携帯電話機、またはＰＨＳ（Personal Handyphone System）等であり、いずれでも構わない。
【０２３１】
また、ストリーミングサーバex１０３は、カメラex１１３から基地局ex１０９、電話網ex１０４を通じて接続されており、カメラex１１３を用いてユーザが送信する符号化処理されたデータに基づいたライブ配信等が可能になる。撮影したデータの符号化処理はカメラex１１３で行っても、データの送信処理をするサーバ等で行ってもよい。また、カメラex１１６で撮影した動画データはコンピュータex１１１を介してストリーミングサーバex１０３に送信されてもよい。カメラex１１６はデジタルカメラ等の静止画、動画が撮影可能な機器である。この場合、動画データの符号化はカメラex１１６で行ってもコンピュータex１１１で行ってもどちらでもよい。また、符号化処理はコンピュータex１１１やカメラex１１６が有するＬＳＩex１１７において処理することになる。なお、動画像符号化・復号化用のソフトウェアをコンピュータex１１１等で読み取り可能な記録媒体である何らかの蓄積メディア（ＣＤ−ＲＯＭ、フレキシブルディスク、ハードディスクなど）に組み込んでもよい。さらに、カメラ付きの携帯電話ex１１５で動画データを送信してもよい。このときの動画データは携帯電話ex１１５が有するＬＳＩで符号化処理されたデータである。
【０２３２】
このコンテンツ供給システムex１００では、ユーザがカメラex１１３、カメラex１１６等で撮影しているコンテンツ（例えば、音楽ライブを撮影した映像等）を上記実施の形態同様に符号化処理してストリーミングサーバex１０３に送信する一方で、ストリーミングサーバex１０３は要求のあったクライアントに対して上記コンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号化することが可能な、コンピュータex１１１、ＰＤＡex１１２、カメラex１１３、携帯電話ex１１４等がある。このようにすることでコンテンツ供給システムex１００は、符号化されたデータをクライアントにおいて受信して再生することができ、さらにクライアントにおいてリアルタイムで受信して復号化し、再生することにより、個人放送をも実現可能になるシステムである。
【０２３３】
このシステムを構成する各機器の符号化、復号化には上記各実施の形態で示した動画像符号化装置あるいは動画像復号化装置を用いるようにすればよい。
【０２３４】
その一例として携帯電話について説明する。
図１７は、上記実施の形態で説明した動画像符号化方法と動画像復号化方法を用いた携帯電話ex１１５を示す図である。携帯電話ex１１５は、基地局ex１１０との間で電波を送受信するためのアンテナex２０１、ＣＣＤカメラ等の映像、静止画を撮ることが可能なカメラ部ex２０３、カメラ部ex２０３で撮影した映像、アンテナex２０１で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ex２０２、操作キーｅｘ２０４群から構成される本体部、音声出力をするためのスピーカ等の音声出力部ex２０８、音声入力をするためのマイク等の音声入力部ex２０５、撮影した動画もしくは静止画のデータ、受信したメールのデータ、動画のデータもしくは静止画のデータ等、符号化されたデータまたは復号化されたデータを保存するための記録メディアex２０７、携帯電話ex１１５に記録メディアex２０７を装着可能とするためのスロット部ex２０６を有している。記録メディアex２０７はＳＤカード等のプラスチックケース内に電気的に書換えや消去が可能な不揮発性メモリであるＥＥＰＲＯＭ（Electrically Erasable and Programmable Read Only Memory）の一種であるフラッシュメモリ素子を格納したものである。
【０２３５】
さらに、携帯電話ex１１５について図１８を用いて説明する。携帯電話ex１１５は表示部ex２０２及び操作キーｅｘ２０４を備えた本体部の各部を統括的に制御するようになされた主制御部ex３１１に対して、電源回路部ex３１０、操作入力制御部ex３０４、画像符号化部ex３１２、カメラインターフェース部ex３０３、ＬＣＤ（Liquid Crystal Display）制御部ex３０２、画像復号化部ex３０９、多重分離部ex３０８、記録再生部ex３０７、変復調回路部ex３０６及び音声処理部ex３０５が同期バスex３１３を介して互いに接続されている。
【０２３６】
電源回路部ex３１０は、ユーザの操作により終話及び電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することによりカメラ付ディジタル携帯電話ex１１５を動作可能な状態に起動する。
【０２３７】
携帯電話ex１１５は、ＣＰＵ、ＲＯＭ及びＲＡＭ等でなる主制御部ex３１１の制御に基づいて、音声通話モード時に音声入力部ex２０５で集音した音声信号を音声処理部ex３０５によってディジタル音声データに変換し、これを変復調回路部ex３０６でスペクトラム拡散処理し、送受信回路部ex３０１でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex２０１を介して送信する。また携帯電話機ex１１５は、音声通話モード時にアンテナex２０１で受信した受信データを増幅して周波数変換処理及びアナログディジタル変換処理を施し、変復調回路部ex３０６でスペクトラム逆拡散処理し、音声処理部ex３０５によってアナログ音声データに変換した後、これを音声出力部ex２０８を介して出力する。
【０２３８】
さらに、データ通信モード時に電子メールを送信する場合、本体部の操作キーｅｘ２０４の操作によって入力された電子メールのテキストデータは操作入力制御部ex３０４を介して主制御部ex３１１に送出される。主制御部ex３１１は、テキストデータを変復調回路部ex３０６でスペクトラム拡散処理し、送受信回路部ex３０１でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex２０１を介して基地局ex１１０へ送信する。
【０２３９】
データ通信モード時に画像データを送信する場合、カメラ部ex２０３で撮像された画像データをカメラインターフェース部ex３０３を介して画像符号化部ex３１２に供給する。また、画像データを送信しない場合には、カメラ部ex２０３で撮像した画像データをカメラインターフェース部ex３０３及びＬＣＤ制御部ex３０２を介して表示部ex２０２に直接表示することも可能である。
【０２４０】
画像符号化部ex３１２は、本願発明で説明した動画像符号化装置を備えた構成であり、カメラ部ex２０３から供給された画像データを上記実施の形態で示した動画像符号化装置に用いた符号化方法によって圧縮符号化することにより符号化画像データに変換し、これを多重分離部ex３０８に送出する。また、このとき同時に携帯電話機ex１１５は、カメラ部ex２０３で撮像中に音声入力部ex２０５で集音した音声を音声処理部ex３０５を介してディジタルの音声データとして多重分離部ex３０８に送出する。
【０２４１】
多重分離部ex３０８は、画像符号化部ex３１２から供給された符号化画像データと音声処理部ex３０５から供給された音声データとを所定の方式で多重化し、その結果得られる多重化データを変復調回路部ex３０６でスペクトラム拡散処理し、送受信回路部ex３０１でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex２０１を介して送信する。
【０２４２】
データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、アンテナex２０１を介して基地局ex１１０から受信した受信データを変復調回路部ex３０６でスペクトラム逆拡散処理し、その結果得られる多重化データを多重分離部ex３０８に送出する。
【０２４３】
また、アンテナex２０１を介して受信された多重化データを復号化するには、多重分離部ex３０８は、多重化データを分離することにより画像データのビットストリームと音声データのビットストリームとに分け、同期バスex３１３を介して当該符号化画像データを画像復号化部ex３０９に供給すると共に当該音声データを音声処理部ex３０５に供給する。
【０２４４】
次に、画像復号化部ex３０９は、本願発明で説明した動画像復号化装置を備えた構成であり、画像データのビットストリームを上記実施の形態で示した符号化方法に対応した復号化方法で復号することにより再生動画像データを生成し、これをＬＣＤ制御部ex３０２を介して表示部ex２０２に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まれる動画データが表示される。このとき同時に音声処理部ex３０５は、音声データをアナログ音声データに変換した後、これを音声出力部ex２０８に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まる音声データが再生される。
【０２４５】
なお、上記システムの例に限られず、最近は衛星、地上波によるディジタル放送が話題となっており、図１９に示すようにディジタル放送用システムにも上記実施の形態の少なくとも動画像符号化装置または動画像復号化装置のいずれかを組み込むことができる。具体的には、放送局ex４０９では映像情報のビットストリームが電波を介して通信または放送衛星ex４１０に伝送される。これを受けた放送衛星ex４１０は、放送用の電波を発信し、この電波を衛星放送受信設備をもつ家庭のアンテナex４０６で受信し、テレビ（受信機）ex４０１またはセットトップボックス（ＳＴＢ）ex４０７などの装置によりビットストリームを復号化してこれを再生する。また、記録媒体であるCDやDVD等の蓄積メディアex４０２に記録したビットストリームを読み取り、復号化する再生装置ex４０３にも上記実施の形態で示した動画像復号化装置を実装することが可能である。この場合、再生された映像信号はモニタex４０４に表示される。また、ケーブルテレビ用のケーブルex４０５または衛星／地上波放送のアンテナex４０６に接続されたセットトップボックスex４０７内に動画像復号化装置を実装し、これをテレビのモニタex４０８で再生する構成も考えられる。このときセットトップボックスではなく、テレビ内に動画像復号化装置を組み込んでも良い。また、アンテナex４１１を有する車ex４１２で衛星ex４１０からまたは基地局ex１０７等から信号を受信し、車ex４１２が有するカーナビゲーションex４１３等の表示装置に動画を再生することも可能である。
【０２４６】
更に、画像信号を上記実施の形態で示した動画像符号化装置で符号化し、記録媒体に記録することもできる。具体例としては、DVDディスクｅｘ４２１に画像信号を記録するDVDレコーダや、ハードディスクに記録するディスクレコーダなどのレコーダｅx４２０がある。更にSDカードｅｘ４２２に記録することもできる。レコーダｅｘ４２０が上記実施の形態で示した動画像復号化装置を備えていれば、DVDディスクｅｘ４２１やSDカードｅｘ４２２に記録した画像信号を再生し、モニタｅｘ４０８で表示することができる。
【０２４７】
なお、カーナビゲーションex４１３の構成は例えば図１８に示す構成のうち、カメラ部ex２０３とカメラインターフェース部ex３０３、画像符号化部ｅｘ３１２を除いた構成が考えられ、同様なことがコンピュータex１１１やテレビ（受信機）ex４０１等でも考えられる。
【０２４８】
また、上記携帯電話ex１１４等の端末は、符号化器・復号化器を両方持つ送受信型の端末の他に、符号化器のみの送信端末、復号化器のみの受信端末の３通りの実装形式が考えられる。
【０２４９】
このように、上記実施の形態で示した動画像符号化方法あるいは動画像復号化方法を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記実施の形態で説明した効果を得ることができる。
【０２５０】
また、本発明はかかる上記実施形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形または修正が可能である。
【産業上の利用可能性】
【０２５１】
以上のように、本発明に係る動画像符号化方法および動画像復号化方法は、例えば携帯電話、ＤＶＤ装置、およびパーソナルコンピュータ等で、動画像を符号化して符号列を生成したり、生成された符号列を復号化したりするための方法として有用である。
【図面の簡単な説明】
【０２５２】
【図１】本発明に係る動画像符号化方法を用いた動画像符号化装置の一実施の形態の構成を示すブロック図である。
【図２】本発明の実施の形態におけるピクチャ番号と相対インデックスの説明図である。
【図３】本発明の実施の形態における動画像符号化装置による画像符号化信号フォーマットの概念図である。
【図４】本発明の実施の形態の並べ替え用メモリにおけるピクチャの順序を示す模式図であり、(a) 入力された順序、(b) 並び替えられた順序を示す図である。
【図５】本発明の実施の形態でのダイレクトモードにおける動きベクトルを示す模式図であり、(a) 対象ブロックがピクチャＢ７である場合、(b) 対象ブロックａがピクチャＢ６である場合の第一および第二の例、(c) 対象ブロックａがピクチャＢ６である場合の第三の例、(d) 対象ブロックａがピクチャＢ６である場合の第四の例を示す図である。
【図６】本発明の実施の形態でのダイレクトモードにおける動きベクトルを示す模式図であり、(a) 対象ブロックａがピクチャＢ６である場合の第五の例、(b) 対象ブロックａがピクチャＢ６である場合の第六の例、(c) 対象ブロックａがピクチャＢ６である場合の第七の例、(d) 対象ブロックａがピクチャＢ８である場合を示す図である。
【図７】本発明の実施の形態におけるピクチャの予測関係および順序を示す模式図であり、(a) 表示時間順で示した各ピクチャの予測関係、(b) 符号化順（符号列順）に並べ替えたピクチャ順を示す図である。
【図８】本発明の実施の形態におけるピクチャの予測関係および順序を示す模式図であり、(a) 表示時間順で示した各ピクチャの予測関係、(b) 符号化順（符号列順）に並べ替えたピクチャ順を示す図である。
【図９】本発明の実施の形態におけるピクチャの予測関係および順序を示す模式図であり、(a) 表示時間順で示した各ピクチャの予測関係、(b) 符号化順（符号列順）に並べ替えたピクチャ順を示す図である。
【図１０】本発明の実施の形態の図４に示すピクチャ予測構造を階層的に示す模式図である。
【図１１】本発明の実施の形態の図７に示すピクチャ予測構造を階層的に示す模式図である。
【図１２】本発明の実施の形態の図８に示すピクチャ予測構造を階層的に示す模式図である。
【図１３】本発明の実施の形態の図９に示すピクチャ予測構造を階層的に示す模式図である。
【図１４】本発明に係る動画像復号化方法を用いた動画像復号化装置の一実施の形態の構成を示すブロック図である。
【図１５】実施の形態１の動画像符号化方法および動画像復号化方法をコンピュータシステムにより実現するためのプログラムを格納するための記録媒体についての説明図であり、(a) 記録媒体本体であるフレキシブルディスクの物理フォーマットの例を示した説明図、(b) フレキシブルディスクの正面からみた外観、断面構造、及びフレキシブルディスクを示した説明図、(c) フレキシブルディスクＦＤに上記プログラムの記録再生を行うための構成を示した説明図である。
【図１６】コンテンツ配信サービスを実現するコンテンツ供給システムの全体構成を示すブロック図である。
【図１７】携帯電話の一例を示す概略図である。
【図１８】携帯電話の内部構成を示すブロック図である。
【図１９】ディジタル放送用システムの全体構成を示すブロック図である。
【図２０】従来の動画像符号化方法におけるピクチャの予測関係および順序を示す模式図であり、(a) 各ピクチャと対応する参照ピクチャとの関係、(b) 符号化により生成された符号列の順序を示す図である。
【図２１】従来の動画像符号化方法でのダイレクトモードにおける動きベクトルを示す模式図である。
【符号の説明】
【０２５３】
１０１  並べ替え用メモリ
１０２  差分演算部
１０３  予測誤差符号化部
１０４  符号列生成部
１０５  予測誤差復号化部
１０６  加算演算部
１０７  参照ピクチャ用メモリ
１０８  動きベクトル検出部
１０９  モード選択部
１１０  符号化制御部
１１６  動きベクトル記憶部
１４０１  符号列解析部
１４０２  予測誤差復号化部
１４０３  モード復号部
１４０４  フレームメモリ制御部
１４０５  動き補償復号部
１４０６  動きベクトル記憶部
１４０７  フレームメモリ
１４０８  加算演算部
【図１】
2006187039.tif 000003
【図２】
2006187039.tif 000004
【図３】
2006187039.tif 000005
【図４】
2006187039.tif 000006
【図５】
2006187039.tif 000007
【図６】
2006187039.tif 000008
【図７】
2006187039.tif 000009
【図８】
2006187039.tif 000010
【図９】
2006187039.tif 000011
【図１０】
2006187039.tif 000012
【図１１】
2006187039.tif 000013
【図１２】
2006187039.tif 000014
【図１３】
2006187039.tif 000015
【図１４】
2006187039.tif 000016
【図１５】
2006187039.tif 000017
【図１６】
2006187039.tif 000018
【図１７】
2006187039.tif 000019
【図１８】
2006187039.tif 000020
【図１９】
2006187039.tif 000021
【図２０】
2006187039.tif 000022
【図２１】
2006187039.tif 000023