(57)【要約】【課題】直接モードで必要となる動きベクトルを格納するための記憶領域が多量に必要になる。【解決手段】他のピクチャの参照ピクチャとして用いられるピクチャの符号化においては、ピクチャ間予測符号化で用いられる動きベクトルを動きベクトル記憶部１１６に格納する。ただし、この動きベクトルの記憶動作は、符号化制御部１１０により、参照ピクチャ数よりも少ないピクチャ数の動きベクトルを動きベクトル記憶部１１６に格納するように制御される。Ｂピクチャの符号化において直接モードで符号化する場合には、直接モードにおいて参照すべき動きベクトルが、動きベクトル記憶部１１６に保持されていると、その動きベクトルを利用して符号化を行う。また、動きベクトル記憶部１１６に保持されていない場合には、動きベクトルを「０」として、または周辺ブロックの動きベクトルを利用して符号化を行う。【選択図】    図１
2004194274.tif 000002
【特許請求の範囲】
【請求項１】
複数のブロックから構成されるピクチャの並びである動画像を符号化する方法であって、
動きベクトルを用いた動き補償を行いながら動画像をブロック単位で符号化し、符号列を生成するステップと、
動き補償に用いる動きベクトルの記憶に関する制限を示す制限情報を生成するステップと、
生成された前記制限情報を符号化するステップと
を有することを特徴とする動画像符号化方法。
【請求項２】
さらに、前記動き補償を行う際に用いた動きベクトルのうち、他のピクチャ内のブロックが直接モードで符号化されるとき、そのブロックによって参照される可能性がある動きベクトルを記憶領域に格納するステップと、
前記記憶領域に格納されている動きベクトルのうち、所定の条件を満たす動きベクトル以外の動きベクトルを前記記憶領域から削除する削除ステップとを有し、
前記直接モードは、符号化済みピクチャで動き補償に用いられた動きベクトルを参照して、符号化されるピクチャ内のブロックの動き補償を行う符号化モードである
ことを特徴とする請求項１記載の動画像符号化方法。
【請求項３】
複数のブロックから構成されるピクチャの並びである動画像を、動きベクトルを用いた動き補償を行いながら符号化する方法であって、
符号化対象のピクチャがトップフィールドとボトムフィールドとからなるインタレース画像のいずれかのフィールドである場合に、前記符号化対象のピクチャが前記トップフィールドであるか前記ボトムフィールドであるかを判断するステップと、
前記符号化対象のピクチャが前記トップフィールドであると判断された場合に、符号化対象ピクチャの動き補償に用いた動きベクトルをトップフィールド用の記憶領域に格納し、前記符号化対象のピクチャが前記ボトムフィールドであると判断された場合に、符号化対象ピクチャの動き補償に用いた動きベクトルをボトムフィールド用の記憶領域に格納するステップと
を有することを特徴とする動画像符号化方法。
【請求項４】
前記トップフィールド用の記憶領域に格納する動きベクトルと、前記ボトムフィールド用の記憶領域に格納する動きベクトルとは、同一フレームに属するトップフィールドとボトムフィールドを符号化するときに用いた動きベクトルである
ことを特徴とする請求項３記載の動画像符号化方法。
【請求項５】
さらに、符号化対象のピクチャをフレーム構造で符号化する場合に、前記符号化対象ピクチャの動き補償に用いた動きベクトルを、トップフィールド用の記憶領域とボトムフィールド用の記憶領域とに格納するステップ
を有することを特徴とする請求項３記載の動画像符号化方法。
【請求項６】
さらに、前記符号化対象のピクチャの動き補償に用いる動きベクトルの記憶に関する制限を示す制限情報を生成するステップと、
生成された前記制限情報を符号化するステップと
を有することを特徴とする請求項３記載の動画像符号化方法。
【請求項７】
前記制限情報を符号化するステップでは、前記制限情報を動画像の符号列中のヘッダ情報として符号化する
ことを特徴とする請求項１又は請求項６記載の動画像符号化方法。
【請求項８】
前記ヘッダ情報は、符号列全体のヘッダに付されるヘッダ情報、ピクチャ単位のヘッダに付されるヘッダ情報、またはスライス単位のヘッダに付されるヘッダ情報のうち、いずれか１つのヘッダ情報である
ことを特徴とする請求項７記載の動画像符号化方法。
【請求項９】
前記制限情報を符号化するステップでは、前記制限情報を動画像の符号列とは異なる情報である管理情報として符号化する
ことを特徴とする請求項１又は請求項６記載の動画像符号化方法。
【請求項１０】
さらに、前記制限情報に基づいて動きベクトルを記憶領域に格納するステップ
を有することを特徴とする請求項１又は請求項６に記載の動画像符号化方法。
【請求項１１】
前記制限情報はピクチャの枚数またはマクロブロック数を示す情報である
ことを特徴とする請求項１又は請求項６記載の動画像符号化方法。
【請求項１２】
前記制限情報はピクチャを符号化する順番またはピクチャを表示する順番を基準に前記符号化対象ブロックを有するピクチャから何枚前までのピクチャの動きベクトルを記憶領域に格納するかを示した情報である
ことを特徴とする請求項１又は請求項６記載の動画像符号化方法。
【請求項１３】
さらに、前記符号化対象のピクチャが前記トップフィールドであるか前記ボトムフィールドであるかを示すフィールド情報を符号化するステップ
を有することを特徴とする請求項３記載の動画像符号化方法。
【請求項１４】
複数のブロックから構成されるピクチャの並びである動画像を、動きベクトルを用いた動き補償を行いながら符号化する方法であって、
符号化対象ブロックの符号化モードを決定する決定ステップと、
前記符号化対象ブロックの符号化モードが直接モードである場合に、参照インデックスで特定される符号化済ピクチャの動きベクトルが記憶部に格納されているかどうかを判断する判断ステップと、
前記参照インデックスで特定される符号化済フレームの動きベクトルが、記憶部に格納されていないと判断された場合に、前記符号化対象ブロックを有するピクチャと同一のピクチャ内にあり前記符号化対象ブロックの周辺にあるブロックを符号化するときに用いられた動きベクトルを用いて前記符号化対象ブロックの動き補償を行う導出ステップとを有し、
前記直接モードは、符号化済ピクチャ中のブロックが符号化されたときに用いられた動きベクトルを用いて前記符号化対象ブロックの動き補償を行う符号化モードであり、
前記参照インデックスは、記憶部に格納されている複数の符号化済ピクチャから、前記符号化対象ブロックに対して動き補償を行うときに参照する参照ピクチャを選択するために、前記符号化済ピクチャに対して付与されたインデックスである
ことを特徴とする動画像符号化方法。
【請求項１５】
さらに、前記参照インデックスで特定される符号化済フレームの動きベクトルが、記憶部に格納されていないと判断された場合に、前記符号化対象ブロックの動きベクトルを「０」として前記符号化対象ブロックの動き補償を行う別の導出ステップ
を有することを特徴とする請求項１４記載の動画像符号化方法。
【請求項１６】
さらに、前記参照インデックスで特定される符号化済フレームを符号化するときに用いた動きベクトルが記憶部に格納されていると判断された場合に、記憶部に格納されている前記動きベクトルを用いて前記符号化対象ブロックの動き補償を行う別の導出ステップ
を有することを特徴とする請求項１４記載の動画像符号化方法。
【請求項１７】
複数のブロックから構成されるピクチャの並びである動画像を符号化する方法であって、
動きベクトルを用いた動き補償を行いながら動画像をブロック単位で符号化し、符号列を生成するステップと、
動き補償に用いる動きベクトルの記憶に関する制限を示す制限情報を生成する第一の出力ステップと、
前記符号化対象ブロックが参照するピクチャがＢピクチャである場合に、前記Ｂピクチャを符号化するときに用いた動きベクトルを記憶しないことを示す保存情報を生成する第二の出力ステップと、
生成された前記制限情報と前記保存情報とを符号化するステップとを有し、
前記Ｂピクチャは、ブロック毎に最大２枚のピクチャを参照して動き補償を行うピクチャである
ことを特徴とする動画像符号化方法。
【請求項１８】
前記制限情報と前記保存情報とを符号化するステップでは、前記制限情報と前記保存情報とを前記符号列中のヘッダ情報として符号化する
ことを特徴とする請求項１７記載の動画像符号化方法。
【請求項１９】
前記ヘッダ情報は、符号列全体のヘッダに付されるヘッダ情報、ピクチャ単位のヘッダに付されるヘッダ情報、またはスライス単位のヘッダに付されるヘッダ情報のうち、いずれか１つのヘッダ情報である
ことを特徴とする請求項１８記載の動画像符号化方法。
【請求項２０】
前記制限情報と前記保存情報とを符号化するステップでは、前記制限情報と前記保存情報とを前記符号列とは異なる情報である管理情報として符号化する
ことを特徴とする請求項１７記載の動画像符号化方法。
【請求項２１】
さらに、前記保存情報に基づき前記Ｂピクチャを符号化するときに用いた動きベクトルを記憶領域に格納せず、符号化順で、前記符号化対象ブロックを有するピクチャの直前に符号化されたＰピクチャの動きベクトルを記憶領域に格納するステップを有し、
前記Ｐピクチャは、ブロック毎に既に符号化済みのピクチャを最大１枚参照して予測符号化を行うピクチャである
ことを特徴とする請求項１７記載の動画像符号化方法。
【請求項２２】
さらに、前記保存情報に基づき前記Ｂピクチャを符号化するときに用いた動きベクトルを記憶領域に格納せず、表示順で、前記符号化対象ブロックを有するピクチャの直前に表示されるＰピクチャの動きベクトルを記憶領域に格納するステップを有し、
前記Ｐピクチャは、ブロック毎に既に符号化済みのピクチャを最大１枚参照して予測符号化を行うピクチャである
ことを特徴とする請求項１７記載の動画像符号化方法。
【請求項２３】
前記制限情報はピクチャの枚数またはマクロブロック数を示す情報である
ことを特徴とする請求項１７記載の動画像符号化方法。
【請求項２４】
前記制限情報はピクチャを符号化する順番またはピクチャを表示する順番を基準に前記符号化対象ブロックを有するピクチャから何枚前までのピクチャの動きベクトルを記憶領域に格納するかを示した情報である
ことを特徴とする請求項１７記載の動画像符号化方法。
【請求項２５】
複数のブロックから構成されるピクチャの並びである動画像を、動きベクトルを用いた動き補償を行いながら復号化する方法であって、
復号化対象ブロックの動き補償に用いる動きベクトルの記憶に関する制限を示す制限情報を有する符号化列を入力するステップと、
前記符号化列を復号化し前記制限情報を抽出するステップと、
前記制限情報に基づいて動きベクトルを記憶領域に格納するステップと
を有することを特徴とする動画像復号化方法。
【請求項２６】
前記制限情報はピクチャの枚数またはマクロブロック数を示す情報である
ことを特徴とする請求項２５記載の動画像復号化方法。
【請求項２７】
前記制限情報はピクチャを復号化する順番またはピクチャを表示する順番を基準に前記符号化対象ブロックを有するピクチャから何枚前までのピクチャの動きベクトルを記憶領域に格納するかを示した情報である
ことを特徴とする請求項２５記載の動画像復号化方法。
【請求項２８】
前記制限情報は前記符号化列のヘッダ情報中にあり、前記ヘッダ情報は、符号列全体のヘッダに付されるヘッダ情報、ピクチャ単位のヘッダに付されるヘッダ情報、またはスライス単位のヘッダに付されるヘッダ情報のうち、いずれか１つのヘッダ情報である
ことを特徴とする請求項２５記載の動画像復号化方法。
【請求項２９】
複数のブロックから構成されるピクチャの並びである動画像を、動きベクトルを用いた動き補償を行いながら復号化する方法であって、
復号化対象のピクチャがトップフィールドとボトムフィールドとからなるインタレース画像のいずれかのフィールドである場合に、前記復号化対象のピクチャが前記トップフィールドであるか前記ボトムフィールドであるかを判断するステップと、
前記復号化対象のピクチャが前記トップフィールドであると判断された場合に、復号化対象ピクチャの動き補償に用いた動きベクトルをトップフィールド用の記憶領域に格納し、前記復号化対象のピクチャが前記ボトムフィールドであると判断された場合に、復号化対象ピクチャの動き補償に用いた動きベクトルをボトムフィールド用の記憶領域に格納するステップと
を有することを特徴とする動画像復号化方法。
【請求項３０】
前記トップフィールド用の記憶領域に格納する動きベクトルと、前記ボトムフィールド用の記憶領域に格納する動きベクトルとは、同一フレームに属するトップフィールドとボトムフィールドを復号化するときに用いた動きベクトルである
ことを特徴とする請求項２９記載の動画像復号化方法。
【請求項３１】
さらに、復号化対象のピクチャがフレーム構造で符号化されたピクチャである場合に、前記復号化対象ピクチャの動き補償に用いた動きベクトルを、トップフィールド用の記憶領域とボトムフィールド用の記憶領域とに格納するステップ
を有することを特徴とする請求項２９記載の動画像復号化方法。
【請求項３２】
さらに、前記復号化対象のピクチャの動き補償に用いる動きベクトルの記憶に関する制限を示す制限情報と、前記復号化対象のピクチャが前記トップフィールドであるか前記ボトムフィールドであるかを示すフィールド情報とを有する符号化列から前記制限情報とフィールド情報とを抽出するステップを有し、
前記動きベクトルを記憶ステップにおいて、前記制限情報と前記フィールド情報とに基づいて動きベクトルを記憶領域に格納する
ことを特徴とする請求項２９記載の動画像復号化方法。
【請求項３３】
前記制限情報はピクチャの枚数またはマクロブロック数を示す情報である
ことを特徴とする請求項３２記載の動画像復号化方法。
【請求項３４】
前記制限情報はピクチャを復号化する順番またはピクチャを表示する順番を基準に前記符号化対象ブロックを有するピクチャから何枚前までのピクチャの動きベクトルを記憶領域に格納するかを示した情報である
ことを特徴とする請求項３２記載の動画像復号化方法。
【請求項３５】
前記制限情報は前記符号化列のヘッダ情報中にあり、前記ヘッダ情報は、符号列全体のヘッダに付されるヘッダ情報、ピクチャ単位のヘッダに付されるヘッダ情報、またはスライス単位のヘッダに付されるヘッダ情報のうち、いずれか１つのヘッダ情報である
ことを特徴とする請求項３２記載の動画像復号化方法。
【請求項３６】
複数のブロックから構成されるピクチャの並びである動画像を、動きベクトルを用いた動き補償を行いながら復号化する方法であって、
復号化対象ブロックの符号化モードを示す符号化モード情報を有する符号化列を入力するステップと、
前記符号化列を復号化し前記符号化モード情報を抽出するステップと、
前記符号化モード情報が直接モードを示している場合に、参照インデックスで特定される復号化済ピクチャを復号化するときに用いた動きベクトルが記憶部に格納されているかどうかを判断する判断ステップと、
前記参照インデックスで特定される復号化済ピクチャの動きベクトルが、記憶部に格納されていないと判断された場合に、前記復号化対象ブロックを有するピクチャと同一のピクチャ内にあり前記復号化対象ブロックの周辺にあるブロックを復号化するときに用いられた動きベクトルを用いて前記復号化対象ブロックの動き補償を行う導出ステップとを有し、
前記直接モードは、参照するピクチャ中において前記復号化対象ブロックと同じ位置にあるブロックが復号化されたときに用いられた動きベクトルを用いて前記復号化対象ブロックの動き補償を行う符号化モードであり、
前記参照インデックスは、記憶部に格納されている複数の復号化済ピクチャから、前記復号化対象ブロックに対して動き補償を行うときに参照する参照ピクチャを選択するために、前記復号化済ピクチャに対して付与されたインデックスである
ことを特徴とする動画像復号化方法。
【請求項３７】
さらに、前記参照インデックスで特定される復号化済ピクチャの動きベクトルが、記憶部に格納されていないと判断された場合に、前記復号化対象ブロックの動きベクトルを「０」として前記復号化対象ブロックの動き補償を行う別の導出ステップ
を有することを特徴とする請求項３６記載の動画像復号化方法。
【請求項３８】
さらに、前記参照インデックスで特定される復号化済ピクチャを復号化するときに用いた動きベクトルが記憶部に格納されていると判断された場合に、記憶部に格納されている前記動きベクトルを用いて前記復号化対象ブロックの動き補償を行う別の導出ステップ
を有することを特徴とする請求項３６記載の動画像復号化方法。
【請求項３９】
複数のブロックから構成されるピクチャの並びである動画像を、動きベクトルを用いた動き補償を行いながら復号化する方法であって、
復号化対象ブロックの動き補償に用いる動きベクトルの記憶に関する制限を示す制限情報と、前記復号化対象ブロックが参照するピクチャがＢピクチャであるときに、前記Ｂピクチャを復号化するときに用いた動きベクトルを記憶部に格納しないことを示す保存情報とを有する符号化列を入力する入力ステップと、
前記符号化列を復号化し前記制限情報と前記保存情報とを抽出する抽出ステップと、
前記制限情報に基づいて動きベクトルを記憶部に格納し、さらに前記保存情報に基づいてＢピクチャを復号化するときに用いた動きベクトルを記憶部に格納しない格納ステップとを有し、
前記Ｂピクチャは、ブロック毎に最大２枚の復号化済みピクチャを参照して動き補償を行うピクチャである
ことを特徴とする動画像復号化方法。
【請求項４０】
さらに、前記格納ステップにおいて、前記保存情報に基づき前記Ｂピクチャを復号化するときに用いた動きベクトルを記憶部に格納せず、復号化順で、前記復号化対象ブロックを有するピクチャの直前に復号化されたＰピクチャの動きベクトルを記憶部に格納し、
前記Ｐピクチャは、ブロック毎に既に復号化済みのピクチャを最大１枚参照して動き補償を行うピクチャである
ことを特徴とする請求項３９記載の動画像復号化方法。
【請求項４１】
さらに、前記格納ステップにおいて、前記保存情報に基づき前記Ｂピクチャを復号化するときに用いた動きベクトルを記憶部に格納せず、表示順で、前記復号化対象ブロックを有するピクチャの直前に表示されるＰピクチャの動きベクトルを記憶部に格納し、
前記Ｐピクチャは、ブロック毎に既に復号化済みのピクチャを最大１枚参照して動き補償を行うピクチャである
ことを特徴とする請求項３９記載の動画像復号化方法。
【請求項４２】
前記制限情報はピクチャの枚数またはマクロブロック数を示す情報である
ことを特徴とする請求項３９記載の動画像復号化方法。
【請求項４３】
前記制限情報はピクチャを復号化する順番またはピクチャを表示する順番を基準に前記復号化対象ブロックを有するピクチャから何枚前までのピクチャの動きベクトルを記憶領域に格納するかを示した情報である
ことを特徴とする請求項３９記載の動画像復号化方法。
【請求項４４】
前記制限情報は前記符号化列のヘッダ情報中にあり、前記ヘッダ情報は、符号列全体のヘッダに付されるヘッダ情報、ピクチャ単位のヘッダに付されるヘッダ情報、またはスライス単位のヘッダに付されるヘッダ情報のうち、いずれか１つのヘッダ情報である
ことを特徴とする請求項３９記載の動画像復号化方法。
【請求項４５】
複数のブロックから構成されるピクチャの並びである動画像を符号化する動画像符号化装置であって、
動きベクトルを用いた動き補償を行いながら動画像をブロック単位で符号化し、符号列を生成する手段と、
動き補償に用いる動きベクトルの記憶に関する制限を示す制限情報を生成する手段と、
生成された前記制限情報を符号化する手段と
を備えることを特徴とする動画像符号化装置。
【請求項４６】
複数のブロックから構成されるピクチャの並びである動画像を、動きベクトルを用いた動き補償を行いながら符号化する動画像符号化装置であって、
直接モードは、符号化済ピクチャ中のブロックが符号化されたときに用いられた動きベクトルを用いて前記符号化対象ブロックの動き補償を行う符号化モードであり、参照インデックスは、記憶部に格納されている複数の符号化済ピクチャから、前記符号化対象ブロックに対して動き補償を行うときに参照する参照ピクチャを選択するために、前記符号化済ピクチャに対して付与されたインデックスであるとした場合に、
符号化対象ブロックの符号化モードを決定する決定手段と、
前記符号化対象ブロックの符号化モードが前記直接モードである場合に、前記参照インデックスで特定される符号化済ピクチャの動きベクトルが記憶部に格納されているかどうかを判断する判断手段と、
前記参照インデックスで特定される符号化済ピクチャの動きベクトルが、記憶部に格納されていないと判断された場合に、前記符号化対象ブロックを有するピクチャと同一のピクチャ内にあり前記符号化対象ブロックの周辺にあるブロックを符号化するときに用いられた動きベクトルを用いて前記符号化対象ブロックの動き補償を行う導出手段と
を備えることを特徴とする動画像符号化装置。
【請求項４７】
複数のブロックから構成されるピクチャの並びである動画像を、動きベクトルを用いた動き補償を行いながら復号化する動画像復号化装置であって、
動き補償に用いる動きベクトルの記憶に関する制限を示す制限情報を有する符号化列を入力する手段と、
前記符号化列を復号化し前記制限情報を抽出する手段と、
前記制限情報に基づいて動きベクトルを記憶領域に格納する手段と
を備えることを特徴とする動画像復号化装置。
【請求項４８】
複数のブロックから構成されるピクチャの並びである動画像を、動きベクトルを用いた動き補償を行いながら復号化する動画像復号化装置であって、
直接モードは、復号化済ピクチャ中のブロックが復号化されたときに用いられた動きベクトルを用いて前記復号化対象ブロックの動き補償を行う符号化モードであり、参照インデックスは、記憶部に格納されている複数の復号化済ピクチャから、前記復号化対象ブロックに対して動き補償を行うときに参照する参照ピクチャを選択するために、前記復号化済ピクチャに対して付与されたインデックスであるとした場合に、
復号化対象ブロックの符号化モードを示す符号化モード情報を有する符号化列を入力する手段と、
前記符号化列を復号化し前記符号化モード情報を抽出する手段と、
前記符号化モード情報が直接モードを示している場合に、参照インデックスで特定される復号化済ピクチャを復号化するときに用いた動きベクトルが記憶部に格納されているかどうかを判断する判断手段と、
前記参照インデックスで特定される復号化済ピクチャの動きベクトルが、記憶部に格納されていないと判断された場合に、前記復号化対象ブロックを有するピクチャと同一のピクチャ内にあり前記復号化対象ブロックの周辺にあるブロックを復号化するときに用いられた動きベクトルを用いて前記復号化対象ブロックの動き補償を行う導出手段と
を備えることを特徴とする動画像復号化装置。
【請求項４９】
複数のブロックから構成されるピクチャの並びである動画像を符号化するためのプログラムであって、
動きベクトルを用いた動き補償を行いながら動画像をブロック単位で符号化し、符号列を生成するステップと、
動き補償に用いる動きベクトルの記憶に関する制限を示す制限情報を生成するステップと、
生成された前記制限情報を符号化するステップと
をコンピュータに行わせるプログラム。
【請求項５０】
複数のブロックから構成されるピクチャの並びである動画像を、動きベクトルを用いた動き補償を行いながら符号化するためのプログラムであって、
直接モードは、符号化済ピクチャ中のブロックが符号化されたときに用いられた動きベクトルを用いて前記符号化対象ブロックの動き補償を行う符号化モードであり、参照インデックスは、記憶部に格納されている複数の符号化済ピクチャから、前記符号化対象ブロックに対して動き補償を行うときに参照する参照ピクチャを選択するために、前記符号化済ピクチャに対して付与されたインデックスであるとした場合に、
符号化対象ブロックの符号化モードを決定する決定ステップと、
前記符号化対象ブロックの符号化モードが前記直接モードである場合に、前記参照インデックスで特定される符号化済ピクチャの動きベクトルが記憶部に格納されているかどうかを判断する判断ステップと、
前記参照インデックスで特定される符号化済ピクチャの動きベクトルが、記憶部に格納されていないと判断された場合に、前記符号化対象ブロックを有するピクチャと同一のピクチャ内にあり前記符号化対象ブロックの周辺にあるブロックを符号化するときに用いられた動きベクトルを用いて前記符号化対象ブロックの動き補償を行う導出ステップと
をコンピュータに行わせるプログラム。
【請求項５１】
複数のブロックから構成されるピクチャの並びである動画像を、動きベクトルを用いた動き補償を行いながら復号化するためのプログラムであって、
動き補償に用いる動きベクトルの記憶に関する制限を示す制限情報を有する符号化列を入力するステップと、
前記符号化列を復号化し前記制限情報を抽出するステップと、
前記制限情報に基づいて動きベクトルを記憶領域に格納するステップと
をコンピュータに行わせるプログラム。
【請求項５２】
複数のブロックから構成されるピクチャの並びである動画像を、動きベクトルを用いた動き補償を行いながら復号化するためのプログラムであって、
直接モードは、復号化済ピクチャ中のブロックが復号化されたときに用いられた動きベクトルを用いて前記復号化対象ブロックの動き補償を行う符号化モードであり、参照インデックスは、記憶部に格納されている複数の復号化済ピクチャから、前記復号化対象ブロックに対して動き補償を行うときに参照する参照ピクチャを選択するために、前記復号化済ピクチャに対して付与されたインデックスであるとした場合に、
復号化対象ブロックの符号化モードを示す符号化モード情報を有する符号化列を入力するステップと、
前記符号化列を復号化し前記符号化モード情報を抽出するステップと、
前記符号化モード情報が前記直接モードを示している場合に、前記参照インデックスで特定される復号化済ピクチャを復号化するときに用いた動きベクトルが記憶部に格納されているかどうかを判断する判断ステップと、
前記参照インデックスで特定される復号化済ピクチャの動きベクトルが、記憶部に格納されていないと判断された場合に、前記復号化対象ブロックを有するピクチャと同一のピクチャ内にあり前記復号化対象ブロックの周辺にあるブロックを復号化するときに用いられた動きベクトルを用いて前記復号化対象ブロックの動き補償を行う導出ステップと
をコンピュータに行わせるプログラム。
【請求項５３】
動きベクトルを用いた動き補償を行いながら、複数のブロックから構成されるピクチャの並びである動画像がブロック単位で符号化された符号列と、前記動き補償に用いる動きベクトルの記憶に関する制限を示す制御情報と
が記録されていることを特徴とする記録媒体。
【請求項５４】
前記制限情報は前記符号列中のヘッダ情報として記録されている
ことを特徴とする請求項５３記載の記録媒体。
【請求項５５】
前記制限情報は、前記符号列とは異なる情報である管理情報として記録されている
ことを特徴とする請求項５３記載の記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、動画像を効率良く圧縮する画像符号化方法とそれを正しく復号化する画像復号化方法に関し、特に直接モードを使用して処理を行う画像符号化方法と画像復号化方法に関する。
【０００２】
【従来の技術】
近年、音声，画像，その他のデータを統合的に扱うマルチメディア時代を迎え、従来からの情報メディア，つまり新聞，雑誌，テレビ，ラジオ，電話等の情報を人に伝達する手段がマルチメディアの対象として取り上げられるようになってきた。一般に、マルチメディアとは、文字だけでなく、図形、音声、特に画像等を同時に関連づけて表すことをいうが、上記従来の情報メディアをマルチメディアの対象とするには、その情報をディジタル形式にして表すことが必須条件となる。
【０００３】
ところが、上記各情報メディアの持つ情報量をディジタル情報量として見積もってみると、文字の場合１文字当たりの情報量は１〜２バイトであるのに対し、音声の場合１秒当たり６４Ｋｂｉｔｓ（電話品質）、さらに動画については１秒当たり１００Ｍｂｉｔｓ（現行テレビ受信品質）以上の情報量が必要となり、上記情報メディアでその膨大な情報をディジタル形式でそのまま扱うことは現実的では無い。例えば、テレビ電話は、６４Ｋｂｉｔ／ｓ〜１．５Ｍｂｉｔｓ／ｓの伝送速度を持つサービス総合ディジタル網（ＩＳＤＮ  ：  Ｉｎｔｅｇｒａｔｅｄ  Ｓｅｒｖｉｃｅｓ  Ｄｉｇｉｔａｌ  Ｎｅｔｗｏｒｋ）によってすでに実用化されているが、テレビ・カメラの映像をそのままＩＳＤＮで送ることは不可能である。
【０００４】
そこで、必要となってくるのが情報の圧縮技術であり、例えば、テレビ電話の場合、ＩＴＵ−Ｔ（国際電気通信連合  電気通信標準化部門）で国際標準化されたＨ．２６１やＨ．２６３規格の動画圧縮技術が用いられている。また、ＭＰＥＧ−１規格の情報圧縮技術によると、通常の音楽用ＣＤ（コンパクト・ディスク）に音声情報とともに画像情報を入れることも可能となる。
【０００５】
ここで、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）とは、動画像信号圧縮の国際規格であり、ＭＰＥＧ−１は、動画像信号を１．５Ｍｂｐｓまで、つまりテレビ信号の情報を約１００分の１にまで圧縮する規格である。また、ＭＰＥＧ−１規格を対象とする伝送速度が主として約１．５Ｍｂｐｓに制限されていることから、さらなる高画質化の要求をみたすべく規格化されたＭＰＥＧ−２では、動画像信号が２〜１５Ｍｂｐｓに圧縮される。さらに現状では、ＭＰＥＧ−１，ＭＰＥＧ−２と標準化を進めてきた作業グループ（ＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１）  によって、ＭＰＥＧ−１，ＭＰＥＧ−２を上回る圧縮率を達成し、更に物体単位で符号化・復号化・操作を可能とし、マルチメディア時代に必要な新しい機能を実現するＭＰＥＧ−４が規格化された。ＭＰＥＧ−４では、当初、低ビットレートの符号化方法の標準化を目指して進められたが、現在はインタレース画像などの高ビットレートも含む、より汎用的な符号化に拡張されている。
【０００６】
ＭＰＥＧ−４やＨ．２６Ｌ等の動画像符号化方式では、Ｂピクチャ（なお、以下では、動画中の一画面である静止画が「フレーム」であっても「フィールド」であってもよい場合、「ピクチャ」という。）の符号化において、直接モードという符号化モードを選択することができる。（ＭＰＥＧ−４ビジュアル規格書（１９９９年、ＩＳＯ／ＩＥＣ  １４４９６−２：１９９９  Ｉｎｆｏｒｍａｔｉｏｎ  ｔｅｃｈｎｏｌｏｇｙ  −−  Ｃｏｄｉｎｇ  ｏｆ  ａｕｄｉｏ−ｖｉｓｕａｌ  ｏｂｊｅｃｔｓ  −−  Ｐａｒｔ２：  Ｖｉｓｕａｌ，  ｐ．１５４）。図２６は、従来の直接モードにおけるピクチャ間予測方法の一例を示す図である。直接モードにおけるピクチャ間予測方法を、図２６を用いて説明する。今、ピクチャＢ３のブロックａを直接モードで符号化／復号化するとする。この場合、Ｈ．２６Ｌ方式においては、ピクチャＢ３を符号化／復号化する際に、第２参照インデックス（参照インデックスは「相対インデックス」ともいう。参照インデックスについては後述する。）が「０」である参照ピクチャ中のブロックａと同じ位置にあるブロックの動きベクトルを利用する。ここでは、ピクチャＰ４がピクチャＢ３に対して第２参照インデックスが「０」の参照ピクチャであるとする。この場合には、ピクチャＰ４中のブロックｂの動きベクトルｃを利用する。動きベクトルｃは、ブロックｂが符号化／復号化された際に用いられた動きベクトルであり、ピクチャＰ１を参照している。ブロックａは、動きベクトルｃと平行な動きベクトルを用いて、参照ピクチャであるピクチャＰ１とピクチャＰ４とから双方向予測を行う。この場合のブロックａを符号化／復号化する際に用いる動きベクトルは、ピクチャＰ１に対しては動きベクトルｄ、ピクチャＰ４に対しては動きベクトルｅとなる。
【０００７】
図２７は、入力された各ピクチャに対するピクチャ番号および参照インデックスの付与の一例を示す説明図である。ピクチャ番号・参照インデックスは参照ピクチャ用メモリに格納された参照ピクチャを一意に識別するための番号である。参照画像としてメモリに蓄積されるピクチャ毎に「１」増加する値がピクチャ番号として割り当てられる。
【０００８】
図２８は、従来の動画像符号化方法、動画像復号化方法における画像符号化信号のフォーマットを示す概念図である。Ｐｉｃｔｕｒｅは１ピクチャ分の符号化信号、Ｈｅａｄｅｒはピクチャ先頭に含まれるヘッダ符号化信号、Ｂｌｏｃｋ１は直接モードによるブロックの符号化信号、Ｂｌｏｃｋ２は直接モード以外の補間（動き補償）予測によるブロックの符号化信号、ＲＩｄｘ０，ＲＩｄｘ１は参照インデックス、ＭＶ０，ＭＶ１は動きベクトルを示す。補間（動き補償）予測ブロックＢｌｏｃｋ２では、補間（動き補償）に使用する２つの参照ピクチャ（第１参照ピクチャおよび第２参照ピクチャ）を示すため２つの参照インデックスＲＩｄｘ０，ＲＩｄｘ１を符号化信号中にこの順で有する。参照インデックスＲＩｄｘ０，ＲＩｄｘ１いずれを使用するかはＰｒｅｄＴｙｐｅにより判断することができる。例えば、ＰｒｅｄＴｙｐｅにより双方向でピクチャを参照することが示される場合はＲＩｄｘ０とＲＩｄｘ１が用いられ、片方向でピクチャを参照することが示される場合はＲＩｄｘ０またはＲＩｄｘ１が用いられ、直接モードが示されている場合はＲＩｄｘ０、ＲＩｄｘ１ともに用いられない。第１参照ピクチャを示す参照インデックスＲＩｄｘ０を第１参照インデックス、第２参照ピクチャを示す参照インデックスＲＩｄｘ１を第２参照インデックスと呼ぶ。第１参照ピクチャと第２参照ピクチャとは符号化ストリーム中のデータ位置で決まる。
【０００９】
以下、第１参照インデックス、第２参照インデックスの付与方法について図２７（ａ）を用いて説明する。
第１参照インデックスの値には、まず、符号化／復号化対象ピクチャより前の表示時刻を持つ参照ピクチャに対し、符号化／復号化対象ピクチャに近い順より「０」から始まる値が割り当てられる。符号化／復号化対象より前の表示時刻を持つ参照ピクチャ全てに対し「０」から始まる値が割り当てられたら、次に符号化／復号化対象ピクチャより後の表示時刻を持つ参照ピクチャに対し、符号化／復号化対象ピクチャに近い順から続きの値が割り当てられる。
【００１０】
第２参照インデックスの値には、まず、符号化／復号化対象ピクチャより後の表示時刻を持つ参照ピクチャに対し、符号化／復号化対象ピクチャに近い順より「０」から始まる値が割り当てられる。符号化／復号化対象より後の表示時刻を持つ参照ピクチャ全てに対し「０」から始まる値が割り当てられたら、次に符号化／復号化対象ピクチャより前の表示時刻を持つ参照ピクチャに対し、符号化／復号化対象ピクチャに近い順から続きの値が割り当てられる。
【００１１】
図２７（ａ）における第１参照インデックスＲＩｄｘ０が「０」で第２参照インデックスＲＩｄｘ１が「１」の場合、図２７に示すように、第１参照ピクチャはピクチャ番号「１４」のＢピクチャであり、第２参照ピクチャはピクチャ番号「１３」のＢピクチャである。
【００１２】
ブロック中の参照インデックスは可変長符号語により表現され、値が小さいほど短い符号長のコードが割り当てられている。通常、ピクチャ間予測の参照ピクチャとして符号化／復号化対象ピクチャに最も近いピクチャが選択される可能性が高いため、上記のように符号化／復号化対象ピクチャに近い順に参照インデックス値を割り当てれば符号化効率は高くなる。
【００１３】
一方、符号化信号中のバッファ制御信号（図２８のＨｅａｄｅｒ内のＲＰＳＬ）を用いて参照インデックスの割り当て変更（リマッピング）を明示することにより、参照インデックスに対する参照ピクチャの割り当てを任意に変更することができる。従って、この割り当ての変更により、第２参照インデックスが「０」の参照ピクチャを、ピクチャメモリ内のどの参照ピクチャに定めてもよいということになる。例えば、図２７（ｂ）に示すように、第２参照インデックスが「０」の参照ピクチャが、符号化／復号化対象ピクチャの直前の表示時刻を持つ参照ピクチャとなるように、ピクチャ番号に対する参照インデックスの割り当てを変更することもできる。
【００１４】
また、図２７（ａ）および図２７（ｂ）に示した例では、Ｂピクチャが他のピクチャの符号化／復号化の際に参照される場合を示したが、一般的には、以下の条件の下に符号化が行われる場合が多い。
（１）Ｂピクチャは、他のピクチャに参照されない。
【００１５】
（２）Ｂピクチャの各ブロックは、表示順で前方にある直近のＮ（Ｎは正の整数）枚のＰピクチャ（またはＩピクチャ）と、表示順で後方にある直近の１枚のＰピクチャ（またはＩピクチャ）とのうちから任意の２枚を参照して動き補償を行う。
【００１６】
図２９（ａ）は、Ｂピクチャが前方４枚（Ｎ＝４）および後方１枚のＰピクチャを参照ピクチャとして符号化される場合における符号化対象ピクチャＢ１１に対する参照インデックスの初期設定の一例を示す図である。図２９（ａ）において、図２７（ａ）に示した例と異なる点は、Ｂピクチャが他のピクチャに参照されないので、Ｂピクチャには参照インデックスは割り当てられず、Ｐピクチャ（とＩピクチャと）にのみ参照インデックスが割り当てられる。例えば、ピクチャＢ１１は、表示順で前方にある直近４枚のＰピクチャと後方にある直近１枚のＰピクチャとを参照することができるので、ピクチャＰ０、ピクチャＰ１、ピクチャＰ４、ピクチャＰ７およびピクチャＰ１０にだけ参照インデックスが付されている。
【００１７】
図２９（ａ）に示した例では、ピクチャＢ１１に対して第１参照インデックスが「０」である参照ピクチャは、ピクチャＰ７であり、第２参照インデックスが「０」である参照ピクチャは、ピクチャＰ１０である。ピクチャＰ１０は、ピクチャＢ１１に対して表示順で後方にあり、ピクチャＢ１１に対して最も近傍にあるＰピクチャである。上記の条件下においても、参照インデックスに対する参照ピクチャの割り当ては、自由に変更することができる。図２９（ｂ）は、図２９（ａ）に示した参照インデックスに対して、リマッピングが行われた場合におけるピクチャＢ１１の参照インデックスの一例を示す図である。図２９（ｂ）に示すように、Ｈ．２６Ｌ方式では、初期設定でピクチャＰ７に割り当てられていた第１参照インデックスの値「０」を、ピクチャＰ１に割り当て直したり、初期設定でピクチャＰ１０に割り当てられていた第２参照インデックスの値「０」を、ピクチャＰ０に割り当て直したり、当該Ｂピクチャの符号化効率などに応じて、自由にリマッピングすることができる。
【００１８】
このように、参照インデックスに対する参照ピクチャの割り当ては、自由に変更することができるため、通常、参照ピクチャとして選択することにより符号化対象ピクチャの符号化効率が高くなるピクチャに対してより小さい参照インデックスが割り当てられるように変更される。すなわち、ブロック中の参照インデックスは可変長符号語により表現され、値が小さいほど短い符号長のコードが割り当てられているので、参照することにより符号化効率が向上するピクチャに対して、より小さな参照インデックスを割り当てることにより、参照インデックスの符号量を減らし、さらに符号化効率の向上を行うものである（例えば、非特許文献１参照。）。
【００１９】
【非特許文献１】
ＭＰＥＧ−４ビジュアル規格書（１９９９年、ＩＳＯ／ＩＥＣ  １４４９６−２：１９９９  Ｉｎｆｏｒｍａｔｉｏｎ  ｔｅｃｈｎｏｌｏｇｙ  −−  Ｃｏｄｉｎｇ  ｏｆ  ａｕｄｉｏ−ｖｉｓｕａｌ  ｏｂｊｅｃｔｓ  −−  Ｐａｒｔ２：  Ｖｉｓｕａｌ
【００２０】
【発明が解決しようとする課題】
上記従来の方法においては、Ｂピクチャのブロックを直接モードによって処理する場合、第２参照インデックスが「０」である参照ピクチャの動きベクトルを利用する。そのため、Ｂピクチャの符号化／復号化処理の際には、第２参照インデックスが「０」である参照ピクチャの動きベクトルを記憶しておかなければならない。しかしながら、特に復号化処理の際には、復号化対象のＢピクチャの符号列を処理し始めるまで、どの参照ピクチャが第２参照インデックス「０」のピクチャであるかがわからない。これは、バッファ制御信号（図２８の  Ｈｅａｄｅｒ内のＲＰＳＬ）を用いて明示的に指示することにより、参照インデックスに対する参照ピクチャの割り当てを任意に変更することができるためである。したがって、Ｂピクチャの符号化／復号化処理の際には、すべての参照ピクチャに対する動きベクトルを記憶しておかなければならない。よって従来の方法においては、画像サイズが大きくなるに従い、また、参照ピクチャ数が多くなるに従い、動きベクトルを格納するためのメモリ量が爆発的に増大するという問題がある。
【００２１】
本発明は、上記問題を解決するためのものであり、直接モード用に格納する動きベクトルのメモリ量を低減することを可能とする動画像符号化方法および動画像復号化方法を提供することを目的とする。
【００２２】
【課題を解決するための手段】
この課題を解決するために、本発明の動画像符号化方法は、複数のブロックから構成されるピクチャの並びである動画像を符号化する方法であって、動きベクトルを用いた動き補償を行いながら動画像をブロック単位で符号化し、符号列を生成するステップと、動き補償に用いる動きベクトルの記憶に関する制限を示す制限情報を生成するステップと、生成された前記制限情報を符号化するステップとを有することを特徴とする。これにより、複数のブロックを有するピクチャ中の符号化対象ブロックの動き補償を行うときに用いる動きベクトルの記憶の制限を示すことができる。
【００２３】
また、本発明の他の動画像符号化方法は、複数のブロックから構成されるピクチャの並びである動画像を、動きベクトルを用いた動き補償を行いながら符号化する方法であって、符号化対象ブロックの符号化モードを決定する決定ステップと、前記符号化対象ブロックの符号化モードが直接モードである場合に、参照インデックスで特定される符号化済ピクチャの動きベクトルが記憶部に格納されているかどうかを判断する判断ステップと、前記参照インデックスで特定される符号化済フレームの動きベクトルが、記憶部に格納されていないと判断された場合に、前記符号化対象ブロックを有するピクチャと同一のピクチャ内にあり前記符号化対象ブロックの周辺にあるブロックを符号化するときに用いられた動きベクトルを用いて前記符号化対象ブロックの動き補償を行う導出ステップとを有し、前記直接モードは、符号化済ピクチャ中のブロックが符号化されたときに用いられた動きベクトルを用いて前記符号化対象ブロックの動き補償を行う符号化モードであり、前記参照インデックスは、記憶部に格納されている複数の符号化済ピクチャから、前記符号化対象ブロックに対して動き補償を行うときに参照する参照ピクチャを選択するために、前記符号化済ピクチャに対して付与されたインデックスであることを特徴とする。これにより、直接モードで動き補償を行うために必要な動きベクトルが記憶部になくても符号化対象ブロックの動き補償を行うことができる。
【００２４】
また、前記動画像符号化方法は、さらに、前記参照インデックスで特定される符号化済フレームの動きベクトルが、記憶部に格納されていないと判断された場合に、前記符号化対象ブロックの動きベクトルを「０」として前記符号化対象ブロックの動き補償を行う別の導出ステップを有するとしてもよい。これにより、直接モードで動き補償を行うために必要な動きベクトルが記憶部になくても符号化対象ブロックの動き補償を行うことができる。
【００２５】
前記動画像符号化方法は、さらに、前記参照インデックスで特定される符号化済フレームを符号化するときに用いた動きベクトルが記憶部に格納されていると判断された場合に、記憶部に格納されている前記動きベクトルを用いて前記符号化対象ブロックの動き補償を行う別の導出ステップを有するとしてもよい。これにより、直接モードで動き補償を行うために必要な動きベクトルがあるかないかの判断に基づいて符号化対象ブロックの動き補償をすることができる。
【００２６】
また、本発明のさらに他の動画像符号化方法は、複数のブロックから構成されるピクチャの並びである動画像を符号化する方法であって、動きベクトルを用いた動き補償を行いながら動画像をブロック単位で符号化し、符号列を生成するステップと、動き補償に用いる動きベクトルの記憶に関する制限を示す制限情報を生成する第一の出力ステップと、前記符号化対象ブロックが参照するピクチャがＢピクチャである場合に、前記Ｂピクチャを符号化するときに用いた動きベクトルを記憶しないことを示す保存情報を生成する第二の出力ステップと、生成された前記制限情報と前記保存情報とを符号化するステップとを有し、前記Ｂピクチャは、ブロック毎に最大２枚のピクチャを参照して動き補償を行うピクチャであることを特徴とする。これにより、複数のブロックを有するピクチャ中の符号化対象ブロックの動き補償を行うときに用いる動きベクトルの記憶の制限を示し、ピクチャタイプにより保存しない動きベクトルを示すことができる。
【００２７】
前記動画像符号化方法は、前記制限情報と前記保存情報とを符号化するステップでは、前記制限情報と前記保存情報とを前記符号列中のヘッダ情報として符号化するとしてもよい。前記動画像符号化方法は、さらに、前記保存情報に基づき前記Ｂピクチャを符号化するときに用いた動きベクトルを記憶領域に格納せず、符号化順で、前記符号化対象ブロックを有するピクチャの直前に符号化されたＰピクチャの動きベクトルを記憶領域に格納するステップを有し、前記Ｐピクチャは、ブロック毎に既に符号化済みのピクチャを最大１枚参照して予測符号化を行うピクチャであるとしてもよい。これにより、複数のブロックを有するピクチャ中の符号化対象ブロックの動き補償を行うときに用いる動きベクトルの記憶の制限を示し、ピクチャタイプにより保存しない動きベクトルを示すことができる。
【００２８】
本発明のさらに他の動画像符号化方法は、複数のブロックから構成されるピクチャの並びである動画像を、動きベクトルを用いた動き補償を行いながら符号化する方法であって、符号化対象のピクチャがトップフィールドとボトムフィールドとからなるインタレース画像のいずれかのフィールドである場合に、前記符号化対象のピクチャが前記トップフィールドであるか前記ボトムフィールドであるかを判断するステップと、前記符号化対象のピクチャが前記トップフィールドであると判断された場合に、符号化対象ピクチャの動き補償に用いた動きベクトルをトップフィールド用の記憶領域に格納し、前記符号化対象のピクチャが前記ボトムフィールドであると判断された場合に、符号化対象ピクチャの動き補償に用いた動きベクトルをボトムフィールド用の記憶領域に格納するステップとを有することを特徴とする。これにより、フィールドのパリティ毎に動きベクトルを格納することができる。
【００２９】
前記動画像符号化方法は、前記トップフィールド用の記憶領域に格納する動きベクトルと、前記ボトムフィールド用の記憶領域に格納する動きベクトルとは、同一フレームに属するトップフィールドとボトムフィールドを符号化するときに用いた動きベクトルであるとしてもよい。これにより、同一フレームに属するフィールドを符号化するときに用いた動きベクトルを保存することができる。
【００３０】
前記動画像符号化方法は、さらに、符号化対象のピクチャをフレーム構造で符号化する場合に、前記符号化対象ピクチャの動き補償に用いた動きベクトルを、トップフィールド用の記憶領域とボトムフィールド用の記憶領域とに格納するステップを有するとしてもよい。これにより、トップフィールド用の記憶領域とボトムフィールド用の記憶領域との両方に、フレーム構造の符号化対象のピクチャにおいて動き補償を行うときに用いた動きベクトルを記憶できる。
【００３１】
上記課題を解決するために、本発明の動画像復号化方法は、複数のブロックから構成されるピクチャの並びである動画像を、動きベクトルを用いた動き補償を行いながら復号化する方法であって、復号化対象ブロックの動き補償に用いる動きベクトルの記憶に関する制限を示す制限情報を有する符号化列を入力するステップと、前記符号化列を復号化し前記制限情報を抽出するステップと、前記制限情報に基づいて動きベクトルを記憶領域に格納するステップとを有することを特徴とする。これにより、複数のブロックを有するピクチャ中の符号化対象ブロックの動き補償を行うときに用いる動きベクトルの記憶の制限をすることができる。
【００３２】
また、本発明の他の動画像復号化方法は、複数のブロックから構成されるピクチャの並びである動画像を、動きベクトルを用いた動き補償を行いながら復号化する方法であって、復号化対象ブロックの符号化モードを示す符号化モード情報を有する符号化列を入力するステップと、前記符号化列を復号化し前記符号化モード情報を抽出するステップと、前記符号化モード情報が直接モードを示している場合に、参照インデックスで特定される復号化済ピクチャを復号化するときに用いた動きベクトルが記憶部に格納されているかどうかを判断する判断ステップと、前記参照インデックスで特定される復号化済ピクチャの動きベクトルが、記憶部に格納されていないと判断された場合に、前記復号化対象ブロックを有するピクチャと同一のピクチャ内にあり前記復号化対象ブロックの周辺にあるブロックを復号化するときに用いられた動きベクトルを用いて前記復号化対象ブロックの動き補償を行う導出ステップとを有し、前記直接モードは、参照するピクチャ中において前記復号化対象ブロックと同じ位置にあるブロックが復号化されたときに用いられた動きベクトルを用いて前記復号化対象ブロックの動き補償を行う符号化モードであり、前記参照インデックスは、記憶部に格納されている複数の復号化済ピクチャから、前記復号化対象ブロックに対して動き補償を行うときに参照する参照ピクチャを選択するために、前記復号化済ピクチャに対して付与されたインデックスであることを特徴とする。これにより、直接モードで動き補償を行うために必要な動きベクトルが記憶部になくても復号化対象ブロックの動き補償を行うことができる。
【００３３】
また、さらに、前記参照インデックスで特定される復号化済ピクチャの動きベクトルが、記憶部に格納されていないと判断された場合に、前記復号化対象ブロックの動きベクトルを「０」として前記復号化対象ブロックの動き補償を行う別の導出ステップを有するとしてもよい。これにより、直接モードで動き補償を行うために必要な動きベクトルが記憶部になくても復号化対象ブロックの動き補償を行うことができる。
【００３４】
前記動画像復号化方法は、さらに、前記参照インデックスで特定される復号化済ピクチャを復号化するときに用いた動きベクトルが記憶部に格納されていると判断された場合に、記憶部に格納されている前記動きベクトルを用いて前記復号化対象ブロックの動き補償を行う別の導出ステップを有するとしてもよい。これにより、直接モードで動き補償を行うために必要な動きベクトルがあるかないかの判断に基づいて復号化対象ブロックの動き補償をすることができる。
【００３５】
本発明のさらに他の動画像復号化方法は、複数のブロックから構成されるピクチャの並びである動画像を、動きベクトルを用いた動き補償を行いながら復号化する方法であって、復号化対象ブロックの動き補償に用いる動きベクトルの記憶に関する制限を示す制限情報と、前記復号化対象ブロックが参照するピクチャがＢピクチャであるときに、前記Ｂピクチャを復号化するときに用いた動きベクトルを記憶部に格納しないことを示す保存情報とを有する符号化列を入力する入力ステップと、前記符号化列を復号化し前記制限情報と前記保存情報とを抽出する抽出ステップと、前記制限情報に基づいて動きベクトルを記憶部に格納し、さらに前記保存情報に基づいてＢピクチャを復号化するときに用いた動きベクトルを記憶部に格納しない格納ステップとを有し、前記Ｂピクチャは、ブロック毎に最大２枚の復号化済みピクチャを参照して動き補償を行うピクチャであることを特徴とする。これにより、抽出された制限情報と保存情報とにより、動きベクトルを保存すべきかどうかを決めることができる。
【００３６】
さらに、前記格納ステップにおいて、前記保存情報に基づき前記Ｂピクチャを復号化するときに用いた動きベクトルを記憶部に格納せず、復号化順で、前記復号化対象ブロックを有するピクチャの直前に復号化されたＰピクチャの動きベクトルを記憶部に格納し、前記Ｐピクチャは、ブロック毎に既に復号化済みのピクチャを最大１枚参照して動き補償を行うピクチャであるとしてもよい。これにより、抽出された制限情報と保存情報とにより、動きベクトルを保存すべきかどうかを決めることができる。
【００３７】
また、本発明のさらに他の動画像復号化方法は、複数のブロックから構成されるピクチャの並びである動画像を、動きベクトルを用いた動き補償を行いながら復号化する方法であって、復号化対象のピクチャがトップフィールドとボトムフィールドとからなるインタレース画像のいずれかのフィールドである場合に、前記復号化対象のピクチャが前記トップフィールドであるか前記ボトムフィールドであるかを判断するステップと、前記復号化対象のピクチャが前記トップフィールドであると判断された場合に、復号化対象ピクチャの動き補償に用いた動きベクトルをトップフィールド用の記憶領域に格納し、前記復号化対象のピクチャが前記ボトムフィールドであると判断された場合に、復号化対象ピクチャの動き補償に用いた動きベクトルをボトムフィールド用の記憶領域に格納するステップとを有することを特徴とする。これにより、フィールドのパリティ毎に動きベクトルを格納することができる。
【００３８】
本発明に係る動画像符号化装置は、通信機能を備えるパーソナルコンピュータ、ＰＤＡ、ディジタル放送の放送局および携帯電話機などに備えられる動画像符号化装置として有用である。
また、本発明に係る動画像復号化装置は、通信機能を備えるパーソナルコンピュータ、ＰＤＡ、ディジタル放送を受信するＳＴＢおよび携帯電話機などに備えられる動画像復号化装置として有用である。
【００３９】
【発明の実施の形態】
以下、本発明の実施の形態について、図１から図２５を用いて説明する。
【００４０】
（実施の形態１）
図１は、本発明の実施の形態１の動画像符号化装置１００の構成を示すブロック図である。動画像符号化装置１００は、各ピクチャの符号化の際に、符号化対象ピクチャの直前に符号化された参照ピクチャで検出された動きベクトルだけをメモリ内に格納しておき、Ｂピクチャを直接モードで符号化する際に参照すべき動きベクトルがメモリ内に格納されていない場合には、従来の直接モードとは異なる方法で符号化する動画像符号化装置であって、フレームメモリ１０１、差分演算部１０２、予測残差符号化部１０３、符号列生成部１０４、予測残差復号化部１０５、加算演算部１０６、フレームメモリ１０７、動きベクトル検出部１０８、モード選択部１０９、符号化制御部１１０、スイッチ１１１〜１１５、動きベクトル記憶部１１６を備える。フレームメモリ１０１は、入力画像をピクチャ単位で保持する画像メモリで、入力画像として表示順に入力されるピクチャを、符号化順に並べ替えるための記憶領域を提供する。差分演算部１０２は、フレームメモリ１０１内のピクチャからブロック単位で読み出された画像と、フレームメモリ１０７内の参照ピクチャから動きベクトルに基づいて読み出された１ブロックの画像との差分である予測残差を求めて出力する。予測残差符号化部１０３は、差分演算部１０２で求められた予測残差に周波数変換を施し、量子化して出力する。この予測残差符号化部１０３による量子化においては、除算結果の丸めなどによって非可逆となる処理が含まれる場合がある。符号列生成部１０４は、予測残差符号化部１０３からの量子化結果を可変長符号化した後、出力用の符号化ビットストリームのフォーマットに変換し、符号化された予測残差の関連情報を記述したヘッダ情報などの付加情報を付して符号列を生成する。予測残差復号化部１０５は、予測残差符号化部１０３からの符号化結果を可変長復号化し、逆量子化した後、逆周波数変換を施し、復号化された予測残差を出力する。加算演算部１０６は、予測残差復号化部１０５の復号化結果である予測残差のブロックに前記参照画像のブロックを加算して、復号化された１ブロック分の画像を出力する。フレームメモリ１０７は、復号化された各ブロックの画像を蓄積し、参照画像をピクチャ単位で保持する画像メモリである。
【００４１】
動きベクトル検出部１０８は、対象ピクチャの動きベクトルを、所定の大きさのブロックを単位として検出する。モード選択部１０９は、フレームメモリ１０１から読み出された対象ブロックとそれに対して検出される動きベクトルとを参照して、対象ブロックの動きベクトルを直接モードで計算するか他のモードで計算するかを選択する。直接モードを選択した場合、モード選択部１０９は、動きベクトル記憶部１１６に格納されている、符号化対象ピクチャより表示順で後方にある参照ピクチャの動きベクトルを用いて対象ブロックの動きベクトルを計算する。モード選択部１０９は、計算の結果である動きベクトルによって示される参照画像のブロックを、フレームメモリ１０７から読み出して差分演算部１０２と加算演算部１０６とに出力する。符号化制御部１１０は、フレームメモリ１０１に表示順で格納されている入力画像のピクチャを、符号化される順に入れ替え、符号化の対象となるピクチャから符号化の順に、符号化処理の単位となるブロックを読み出す。また、符号化制御部１１０は、参照ピクチャごとに参照インデックスを割り当て、割り当てた参照インデックスの一覧である参照インデックスリストを管理する。さらに、符号化制御部１１０は、符号化対象ピクチャの直前に符号化された参照ピクチャの動きベクトルだけを動きベクトル記憶部１１６に格納し、動きベクトル記憶部１１６に格納される動きベクトルの記憶量を示す情報を作成する。動きベクトル記憶部１１６は、符号化対象のピクチャの直前に符号化された参照ピクチャにおいて得られている動きベクトルを保存するための記憶領域を提供する。
【００４２】
以下では、上記のように構成された動画像符号化装置１００の動作について説明する。図１に示した動画像符号化装置１００の入力画像は、表示時間順にピクチャ単位でフレームメモリ１０１に入力される。図２（ａ）は、図１の動画像符号化装置１００に入力画像として入力されるピクチャの順序を示す図である。フレームメモリ１０１に入力されるピクチャの順序を図２（ａ）に示す。図２（ａ）において、縦線はピクチャを示し、各ピクチャの右下に示す記号は、１文字目のアルファベットがピクチャタイプ（Ｉ、ＰまたはＢ）を示し、２文字目以降の数字が表示順のピクチャ番号を示している。フレームメモリ１０１に入力された各ピクチャは、符号化順に並び替えられる。符号化順への並び替えは、ピクチャ間予測符号化における参照関係に基づいて行われ、参照ピクチャとして用いられるピクチャが、符号化対象ピクチャよりも先に符号化されるように並び替える。図２（ｂ）は、図２（ａ）に示したピクチャの順序を符号化順に並べ替えた場合のピクチャの順序を示す図である。例えば、Ｐピクチャは、表示順で前方にある近傍３枚のＩピクチャまたはＰピクチャを参照ピクチャとする。すなわち、符号化対象のＰピクチャにおいて符号化対象となる各ブロックは、表示順で前方にある１枚の参照ピクチャを参照して動き補償を行うのであるが、ブロックごとにこの１枚を、表示順で前方にある近傍３枚のＩピクチャまたはＰピクチャの中から任意に選択することができる。また、Ｂピクチャは、表示順で前方にある近傍３枚のＩピクチャまたはＰピクチャと、表示順で後方にある近傍１枚のＩピクチャまたはＰピクチャとを参照ピクチャとして用いるものとする。従って、符号化対象のＢピクチャにおいて符号化対象となる各ブロックは、２枚の参照ピクチャを参照して動き補償を行うのであるが、ブロックごとにこの２枚を、表示順で前方にある近傍３枚のＩピクチャまたはＰピクチャと、表示順で後方にある近傍１枚のＩピクチャまたはＰピクチャとの中から任意に選択することができる。このため、Ｂピクチャの符号化より前の時点で、当該Ｂピクチャより表示順で後方にある近傍１枚のＩピクチャまたはＰピクチャを符号化しておかなくてはならない。この場合、図２（ａ）のピクチャを並び替えた結果は図２（ｂ）のようになる。例えば、ＢピクチャであるピクチャＢ５に注目すると、ピクチャＢ５より表示順で後方にある（Ｉピクチャまたは）Ｐピクチャであって、かつ、ピクチャＢ５の最も近傍にあるピクチャＰ７が、ピクチャＢ５を符号化する前に符号化される。
【００４３】
フレームメモリ１０１で並び替えが行われた各ピクチャは、マクロブロックの単位で読み出されるとする。ここでは、マクロブロックは水平１６画素×垂直１６画素の大きさであるとする。また、動き補償はブロック単位（ここでは８画素×８画素の大きさとする）単位で行うものとする。以下では、ピクチャＰ１３、ピクチャＢ１１の符号化処理について順に説明する。なお、本実施の形態における参照インデックスの管理は符号化制御部１１０において行うものとする。
【００４４】
＜ピクチャＰ１３の符号化処理＞
ピクチャＰ１３はＰピクチャであるので、前方参照を用いたピクチャ間予測符号化を行う。この場合の参照ピクチャはピクチャＰ１０、ピクチャＰ７、ピクチャＰ４となる。これらの参照ピクチャは、既に符号化が終了しており、復号化画像がフレームメモリ１０７に蓄積されている。
【００４５】
符号化制御部１１０は、入力されたピクチャをどのタイプのピクチャ（Ｉ、ＰまたはＢピクチャ）で符号化するかを決定し、そのピクチャタイプにより、スイッチスイッチ１１３、スイッチ１１４、スイッチ１１５を制御する。ここで、ピクチャタイプの決定は、例えば、周期的にピクチャタイプを割り当てる方法が一般的に用いられる。ピクチャタイプの決定により、フレームメモリ１０１内でピクチャの符号化順序の入れ替えが行われる。
【００４６】
Ｐピクチャの符号化においては、符号化制御部１１０は、スイッチ１１３、スイッチ１１４、スイッチ１１５がオンになるように各スイッチを制御する。したがって、フレームメモリ１０１から読み出されたピクチャＰ１３のマクロブロックは、まず動きベクトル検出部１０８、モード選択部１０９、差分演算部１０２に入力される。
【００４７】
動きベクトル検出部１０８では、フレームメモリ１０７に蓄積されたピクチャＰ１０の復号化画像データを参照ピクチャとして用い、マクロブロック内の各ブロックに対して、動きベクトルの検出を行う。検出された動きベクトルは、モード選択部１０９に対して出力される。
【００４８】
モード選択部１０９では、動きベクトル検出部１０８で検出した動きベクトルを用いて、マクロブロックの符号化モードを決定する。ここで符号化モードとは、マクロブロックをどのような方法で符号化するかを示すものである。例えば、Ｐピクチャの場合には、ピクチャ内符号化、動きベクトルを用いたピクチャ間予測符号化、動きベクトルを用いない（動きベクトルを「０」として扱う、または、周囲ブロックの動きベクトルから選択する）ピクチャ間予測符号化の中から、いずれの方法で符号化するかを決めることができるとする。符号化モードの決定においては、一般的には、少ないビット量でより符号化誤差が小さくなる方法を選択する。
【００４９】
モード選択部１０９で決定された符号化モードは、符号列生成部１０４に対して出力される。また、現ピクチャが、他のピクチャの符号化時に参照ピクチャとして用いられるピクチャであり、モード選択部１０９で決定された符号化モードがピクチャ間予測符号化である場合には、モード選択部１０９は、そのピクチャ間予測符号化で用いられる動きベクトルを動きベクトル記憶部１１６に格納する。ただし、動きベクトル記憶部１１６への動きベクトルの格納動作は、後述するように符号化制御部１１０により制御される。また、動きベクトルは、モード選択部１０９から符号列生成部１０４に対して出力される。
【００５０】
さて、以下では、モード選択部１０９による動きベクトル記憶部１１６への動きベクトル格納動作について説明する。動きベクトル記憶部１１６に格納される動きベクトルの数は、符号化制御部１１０により指定される。Ｐピクチャは、前方の３つのピクチャを参照ピクチャとして用いて符号化されるが、ここでは参照ピクチャ数よりも少ないピクチャ数の動きベクトルを、動きベクトル記憶部１１６に格納する。例えば、ここでは１つのピクチャのみの動きベクトルを格納するとする。この場合、格納する動きベクトルとしては、参照ピクチャのうち符号化順で現ピクチャの直前に符号化された参照ピクチャの動きベクトルを格納する方法がある。ここで、すでに動きベクトル記憶部１１６に記憶されている動きベクトルは、現ピクチャの符号化の開始時に消去しても良いし、符号化モードが決定される度に、動きベクトルを符号化されるブロックの順に上書きしても良い。なお、格納する動きベクトルの量としては、復号化装置が有する動きベクトルを格納する領域（メモリ）の大きさをもとに決めても良い。また、動きベクトル記憶部１１６に格納する動きベクトルとしては、Ｉピクチャのみ、Ｐピクチャのみ、またはＩピクチャとＰピクチャのみにするようにしても良い。さらに、これらに加えて、符号化中のピクチャにおいて、対象ブロックよりも前に直接モード以外のピクチャ間予測を用いて符号化されている所定数のブロックまたは全ブロックの動きベクトルが格納されるようにしてもよい。ここで、Ｉピクチャに関して格納される動きベクトルの情報としては、動きベクトルが格納されていないことを示す情報のことである（Ｉピクチャは動き補償されないため）。また、動きベクトル記憶部１１６に格納する動きベクトルとしては、表示順で符号化対象ピクチャに近いものから数ピクチャを保存するようにしても、符号化の順番（ストリーム順序）で符号化対象ピクチャに近いピクチャから（ストリーム順序で後のピクチャから）数ピクチャを保存するようにしても、いずれでも構わない。Ｂピクチャが後方の２枚のＰピクチャを参照する場合、符号化（または復号化）の順番では近くても、時間的に離れているため、画像としては近い画像ではない（動き補償に適した画像ではない）可能性が高い。よって、Ｂピクチャが後方の複数のＰピクチャを参照する場合には、表示順で符号化対象ピクチャに近いものから動きベクトルを保存するとよい場合がある。一方、符号化の順番（ストリーム順序）で符号化対象ピクチャに近いピクチャから（ストリーム順序で後のピクチャから）動きベクトルを保存すると、メモリの管理を簡略化できる利点がある。
【００５１】
またさらに、符号化制御部１１０により指定された、動きベクトル記憶部１１６に格納される動きベクトルの数（例えば、参照ピクチャ数、マクロブロック数）は、符号列生成部１０４に対して出力される。
次に、図１に示したように、モード選択部１０９で決定された符号化モードに基づいた参照画像が、差分演算部１０２と加算演算部１０６とに出力される。ただし、ピクチャ内符号化が選択された場合には、参照画像は出力されない。また、モード選択部１０９でピクチャ内符号化が選択された場合には、符号化制御部１１０は、スイッチ１１１を端子ａに、スイッチ１１２を端子ｃに接続するように制御し、ピクチャ間予測符号化が選択された場合には、スイッチ１１１を端子ｂに、スイッチ１１２を端子ｄに接続するように制御する。
【００５２】
以下では、モード選択部１０９でピクチャ間予測符号化が選択された場合について説明する。
差分演算部１０２には、マクロブロックの画像データ以外に、モード選択部１０９から参照画像が入力される。差分演算部１０９では、マクロブロックの画像データと参照画像との差分を演算し、予測残差画像を生成し出力する。
【００５３】
予測残差画像は予測残差符号化部１０３に入力される。予測残差符号化部１０３では、入力された予測残差画像に対して周波数変換や量子化等の符号化処理を施すことにより、符号化データを生成して出力する。ここで例えば、周波数変換や量子化の処理は、水平８画素×垂直８画素の単位で行うことができる。予測残差符号化部１０３から出力された符号化データは、符号列生成部１０４と予測残差復号化部１０５とに入力される。
【００５４】
符号列生成部１０４では、入力された符号化データに対して、可変長符号化等を施し、さらにモード選択部１０９から入力された動きベクトルの情報、符号化モードの情報、その他のヘッダ情報、等を付加することにより符号列を生成する。この場合、ヘッダ情報には、符号化制御部１１０により決定された、動きベクトルの記憶量に関する情報（例えば、参照ピクチャ数、マクロブロック数）が記述される。この記述は、符号列全体のヘッダ（シーケンスヘッダ）、複数ピクチャから構成されるＧＯＰのヘッダ（ＧＯＰヘッダ）、ピクチャヘッダ、スライスヘッダ等に記述すれば良い。また、符号化装置と復号化装置とで動きベクトルの記憶量に関する情報を予め共有しているような場合には、動きベクトルの記憶量に関する情報は、符号化されてもされなくてもよい。図３は、図１に示した符号列生成部１０３によって生成される符号列の一例を示す図である。以下の図において、斜線部は、それぞれヘッダを示す。図３（ａ）は、動きベクトルの記憶量に関する情報がシーケンスヘッダに記述された符号列の一例を示す図である。図３（ｂ）は、動きベクトルの記憶量に関する情報がＧＯＰ（Ｇｒｏｕｐ  ｏｆ  Ｐｉｃｔｕｒｅｓ）ヘッダに記述された符号列の一例を示す図である。図３（ｃ）は、動きベクトルの記憶量に関する情報がピクチャヘッダに記述された符号列の一例を示す図である。図３（ｄ）は、動きベクトルの記憶量に関する情報がスライスヘッダに記述された符号列の一例を示す図である。また、この記述は符号列全体のヘッダに１つだけ記述するようにしてもよいし、ＧＯＰのヘッダ（ＧＯＰヘッダ）、ピクチャヘッダ、およびスライスヘッダ等に同一の情報を繰り返し記述するようにしてもよい。
【００５５】
また、上記の動きベクトルの記憶量に関する情報は、参照ピクチャ数またはマクロブロック数などに限らず、例えば、単に、動きベクトルの記憶量に制限が設けられていることを示す情報またはメモリに格納されるデータに制限が設けられていることを示す情報などであってもよい。
【００５６】
予測残差復号化部１０５では、入力された符号化データに対して、逆量子化や逆周波数変換等の復号化処理を施し、復号化差分画像を生成して出力する。復号化差分画像は加算演算部１０６において、予測画像と加算されることにより復号化画像となり、フレームメモリ１０７に蓄積される。
【００５７】
同様の処理により、ピクチャＰ１３の残りのマクロブロックに対して、符号化処理が行われる。そして、ピクチャＰ１３のすべてのマクロブロックについて処理が終わると、次にピクチャＢ１１の符号化処理が行われる。
【００５８】
＜ピクチャＢ１１の符号化処理＞
ピクチャＢ１１はＢピクチャであるので、２方向参照を用いたピクチャ間予測符号化を行う。この場合の参照画像は、表示順で前方にある参照ピクチャがピクチャＰ１０、ピクチャＰ７、ピクチャＰ４、表示順で後方にある参照ピクチャがピクチャＰ１３となる。ピクチャＢ１１の符号化処理においては、符号化制御部１１０は、スイッチ１１３がオン、スイッチ１１４、スイッチ１１５がオフになるように各スイッチを制御するものとする。よって、フレームメモリ１０１から読み出されたピクチャＢ１１のマクロブロックは、動きベクトル検出部１０８、モード選択部１０９、差分演算部１０２に入力される。
【００５９】
動きベクトル検出部１０８では、フレームメモリ１０７に蓄積されたピクチャＰ１０、ピクチャＰ７、ピクチャＰ４の復号化画像データを前方参照ピクチャとして、ピクチャＰ１３の復号化画像データを後方参照ピクチャとして用いることにより、マクロブロックに含まれる各ブロックの前方動きベクトルと後方動きベクトルの検出を行う。
【００６０】
モード選択部１０９では、動きベクトル検出部１０８で検出した動きベクトルを用いて、マクロブロックの符号化モードを決定する。ここで、Ｂピクチャの符号化モードは、例えば、ピクチャ内符号化、前方動きベクトルを用いたピクチャ間予測符号化、後方動きベクトルを用いたピクチャ間予測符号化、双方向動きベクトルを用いたピクチャ間予測符号化、直接モードから選択することができるものとする。
【００６１】
ここで、直接モードで符号化を行う場合について説明する。図４は、対象ブロックの動きベクトルを、直接モードを用いて計算する場合の計算方法の一例を示す図である。図４において、符号化対象ブロックがピクチャＢ１１内のブロックａであるとする。ブロックａを直接モードで符号化する場合には、ピクチャＢ１１に対して第２参照インデックスが「０」である参照ピクチャ中の、ブロックａと同じ位置にあるブロックの動きベクトルを利用する。
【００６２】
まず、ピクチャＢ１１に対して第２参照インデックスが「０」の参照ピクチャが、ピクチャＰ１３である場合について説明する。動きベクトル記憶部１１６に格納されている動きベクトルは、その動きベクトルがどのピクチャのものであるかを特定するために、ピクチャ番号と対応付けて格納されている。モード選択部１０９は、ピクチャＢ１１に対して第２参照インデックスが「０」である参照ピクチャのピクチャ番号「１３」をピクチャＢ１１の参照インデックスリストから調べ、ピクチャ番号「１３」の参照ピクチャの動きベクトルが動きベクトル記憶部１１６に格納されているか否かを判断する。ピクチャＰ１３は、符号化順序でピクチャＢ１１に最も近く符号化された参照ピクチャであるので、ピクチャＰ１３の各ブロックを符号化した際の動きベクトルは、動きベクトル記憶部１１６に保持されている。よって、ブロックａを直接モードで符号化する際には、ピクチャＰ１３のブロックｂの動きベクトルを利用することになる。動きベクトルｃは、ブロックｂが符号化された際に用いられた動きベクトルであり、動きベクトル記憶部１１６に記憶されている。この動きベクトルｃは、ピクチャＰ１０を参照している。ブロックａは、動きベクトルｃから生成した動きベクトルを用いて、参照ピクチャであるピクチャＰ１０とピクチャＰ１３とから２方向予測が行われる。この場合のブロックａを符号化する際に用いる動きベクトルは、ピクチャＰ１０に対しては動きベクトルｄ、ピクチャＰ１３に対しては動きベクトルｅとなる。
【００６３】
ここで、動きベクトルｃからブロックａの動きベクトルを生成する第１の方法としては、ピクチャ間の時間的距離を用いてスケーリングを施す方法がある。今、前方向動きベクトルである動きベクトルｄの大きさをＭＶＦ、後方向動きベクトルである動きベクトルｅの大きさをＭＶＢ、動きベクトルｃの大きさをＭＶＰ、現在のピクチャ（ピクチャＢ１１）の第２参照インデックスが「０」である参照ピクチャ（ピクチャＰ１３）と、その参照ピクチャ（ピクチャＰ１３）のブロックが参照しているピクチャ（ピクチャＰ１０）との時間的距離をＴＲＤ、現在のピクチャ（ピクチャＢ１１）と参照ピクチャ（ピクチャＰ１３）のブロックが参照しているピクチャ（ピクチャＰ１０）との時間的距離をＴＲＢとすると、動きベクトルＭＶＦ、動きベクトルＭＶＢは、それぞれ（数式１）、（数式２）で求められる。
（数式１）  ＭＶＦ＝ＭＶＰ×ＴＲＢ／ＴＲＤ
（数式２）  ＭＶＢ＝（ＴＲＢ−ＴＲＤ）×ＭＶ／ＴＲＤ
ここで、ＭＶＦ、ＭＶＢはそれぞれ、動きベクトルの水平成分、垂直成分を合成して表現しているものとする。
【００６４】
また、動きベクトルｃからブロックａの動きベクトルを生成する第２の方法としては、予め定めたスケーリング係数を用いて、動きベクトルｃに対してスケーリングを行う方法がある。ここで使用されるスケーリング係数は、複数ブロック単位または複数ピクチャ単位で、変更可能としても良い。また、このスケーリング係数は、システムで一意に決定し、符号化側と復号化側とで共有しても良いし、符号列中にヘッダ情報として記述することにより、符号化側と復号化側とで共有しても良い。
【００６５】
次に、第２参照インデックスが「０」の参照ピクチャが、ピクチャＰ１３以外の参照ピクチャである場合について説明する。例えば、ピクチャＰ１０、ピクチャＰ７、ピクチャＰ４のいずれかが、ピクチャＢ１１に対して第２参照インデックスが「０」の参照ピクチャである場合が考えられる。ピクチャＰ１３以外の参照ピクチャは、符号化順序でピクチャＢ１１に最も近く符号化された参照ピクチャではないので、それらのピクチャの各ブロックを符号化した際の動きベクトルは、動きベクトル記憶部１１６に保持されていない。よって、ブロックａを直接モードで符号化しようとしても、第２参照インデックスが「０」の参照ピクチャの動きベクトルを利用することができない。
【００６６】
この場合における、直接モードの処理の第１の方法としては、動きベクトルを「０」として２方向予測する方法がある。この場合の参照ピクチャは、例えば、ピクチャＢ１１に対して第１参照インデックスが「０」であるピクチャと、第２参照インデックスが「０」であるピクチャとを用いることができる。図５は、Ｂピクチャを直接モードで符号化する際に第２参照インデックスが「０」の参照ピクチャの動きベクトルを利用できない場合の２方向予測の一例を示す図である。例えば、第１参照インデックスが「０」であるピクチャがピクチャＰ７であり、第２参照インデックスが「０」であるピクチャがピクチャＰ１０である場合、図５のようにブロックａに対して２方向予測を行うことができる。ブロックａは、ピクチャＰ７とピクチャＰ１０においてブロックａと同じ位置にあるブロックを参照して動き補償を行う。
【００６７】
また、直接モードの処理の第２の方法としては、同一ピクチャ内の周辺ブロックの動きベクトルを利用する方法がある。ただし、この場合、対象ブロックの周辺にあるブロックの動きベクトルは、モード選択部１０９により、動きベクトル記憶部１１６に格納されているものとする。この方法では、例えば図６に示すように、ブロックＢＬを直接モードで符号化する場合には、３つの周辺ブロックＢＬ１、ブロックＢＬ２、ブロックＢＬ３を符号化する際に用いた動きベクトルを利用して、ブロックＢＬを符号化する際に用いる動きベクトルを決定する。この動きベクトルの決定方法としては、例えば前方向動きベクトルと後方向動きベクトルとのそれぞれについて、３つの周辺ブロックの動きベクトルの中央値や平均値を求める方法、第１参照ピクチャを参照する動きベクトルと第２参照ピクチャを参照する動きベクトルとのそれぞれについて、３つの周辺ブロックの動きベクトルの中央値や平均値を求める方法等が考えられる。
【００６８】
さて、図１に示したように、モード選択部１０９で決定された符号化モードは符号列生成部１０４に対して出力される。また、モード選択部１０４で決定された符号化モードに基づいた参照画像が差分演算部１０２と加算演算部１０６に出力される。ただし、ピクチャ内符号化が選択された場合には、参照画像は出力されない。また、モード選択部１０９でピクチャ内符号化が選択された場合には、符号化制御部１１０は、スイッチ１１１を端子ａに、スイッチ１１２を端子ｃに接続するように制御し、ピクチャ間予測符号化が選択された場合には、スイッチ１１１を端子ｂに、スイッチ１１２を端子ｄに接続するように制御する。以下では、モード選択部１０９でピクチャ間予測符号化が選択された場合について説明する。
【００６９】
差分演算部１０２には、モード選択部１０９から参照画像が入力される。差分演算部１０９では、ピクチャＢ１１のマクロブロックと参照画像との差分を演算し、予測残差画像を生成し出力する。
予測残差画像は予測残差符号化部１０３に入力される。予測残差符号化部１０３では、入力された予測残差画像に対して周波数変換や量子化等の符号化処理を施すことにより、符号化データを生成して出力する。予測残差符号化部１０３から出力された符号化データは、符号列生成部１０４に入力される。
【００７０】
符号列生成部１０４では、入力された符号化データに対して、可変長符号化等を施し、さらにモード選択部１０９から入力された動きベクトルの情報、符号化モードの情報、その他のヘッダ情報、等を付加することにより符号列を生成する。ただし、直接モードで符号化されたマクロブロックについては、動きベクトルの情報は符号列に付加されない。
【００７１】
同様の処理により、ピクチャＢ１１の残りのマクロブロックに対して、符号化処理が行われる。そして、ピクチャＢ１１のすべてのマクロブロックについて処理が終わると、次にピクチャＢ１２の符号化処理が行われる。
以上のように、本発明の動画像符号化方法は、直接モードで符号化を行う際に利用する動きベクトルについて、どれだけ（例えば何ピクチャ分）の動きベクトルを記憶すべきかに対して制限を設ける。そして、その制限を加えていることを示す情報（請求の範囲でいう制限情報および保存情報）を符号列のヘッダ情報として記述する。また、直接モードで符号化を行う際に、利用すべき動きベクトルがメモリ上に存在する場合には、その動きベクトルを利用する。一方、利用すべき動きベクトルがメモリ上に存在しない場合には、対象ブロックの動きベクトルを「０」として符号化するか、または同一ピクチャ内において符号化対象ブロックの周辺にある符号化済みブロックを符号化する際に用いた動きベクトルを利用して符号化を行う。
【００７２】
このような動作により、直接モードのために記憶しておくべき動きベクトルの記憶量を削減することができ、ハードウェアやソフトウェアにおけるメモリ量の削減を行うことができる。さらに、直接モードにおいて利用すべき動きベクトルがない場合であっても、代替的な方法により直接モードを実施することができる。また本発明は、上記で説明したように、第２参照インデックスが「０」となるピクチャに関わらず実施することができるため、第２参照インデックスが「０」となるピクチャの設定方法を新たに定義する必要がなく、設計上の煩雑さを招くことを防ぐことができる。
【００７３】
なお、本実施の形態においては、マクロブロックは水平１６画素×垂直１６画素の単位で、動き補償は８画素×８画素のブロック単位で、ブロック予測残差画像の符号化は水平８画素×垂直８画素の単位で処理する場合について説明したが、これらの単位は別の画素数でも良い。
【００７４】
また、本実施の形態においては、図６を用いた説明において、符号化済みの３つの周辺ブロックの動きベクトルを用い、直接モードにおいて用いる動きベクトルを決定する方法について説明したが、この周辺ブロック数、予測値の決定方法、は他の値や他の方法であっても良い。例えば、左隣のブロックの動きベクトルを予測値として用いる方法、等がある。
【００７５】
また、本実施の形態においては、Ｐピクチャは、表示順で前方にある近傍３枚のＩピクチャまたはＰピクチャを参照ピクチャとし、Ｂピクチャは表示順で前方にある近傍３枚のＩピクチャまたはＰピクチャを前方参照ピクチャ、表示順で後方にある近傍１枚のＩピクチャまたはＰピクチャを後方参照ピクチャとして用いる場合について説明したが、これらの参照ピクチャ数は異なる値であっても良い。
【００７６】
また、本実施の形態においては、Ｂピクチャを参照ピクチャとしては用いない場合について説明したが、これはＢピクチャを参照ピクチャとして用いた場合であっても良い。Ｂピクチャを参照ピクチャとして用いる場合、Ｂピクチャを局所復号化した後のピクチャを参照ピクチャとしてフレームメモリ１０７に保存する必要があるため、符号化制御部１１０によるスイッチ１１４、スイッチ１１５の制御は本実施の形態におけるＰピクチャの符号化の場合と同じとなる。また、Ｂピクチャが参照ピクチャとして用いられる場合であっても、Ｂピクチャが他のピクチャに対して第２参照インデックスが「０」のピクチャとなることがない場合、Ｂピクチャを符号化した際の動きベクトルを動きベクトル記憶部１１６に格納しなくても良い。これは、Ｂピクチャが第２参照インデックス「０」のピクチャとなることがない場合、第２参照インデックスが「０」となるピクチャはＩピクチャまたはＰピクチャのみとなるからである。したがってこのような場合、ＩピクチャまたはＰピクチャを符号化する際に用いた動きベクトルのみを動きベクトル記憶部１１６に格納すればよい。これにより、直接モードにおいて、符号化対象ピクチャに対して第２参照インデックスが「０」となるピクチャを符号化した際に用いた動きベクトルを利用することができ、符号化効率の向上を図ることができる。ここで、Ｂピクチャを符号化する際に用いた動きベクトルを動きベクトル記憶部１１６に格納するかどうかは、符号化装置側と復号化装置側で予め決定しておくこともできるし、符号化装置側で決定し、その情報を符号列中のヘッダ部に記述しておくこともできる。符号化装置側で決定する場合には、符号化制御部１１０で決定を行い、その情報を符号列生成部１０４でヘッダ中に記述すればよい。
【００７７】
また、ピクチャを符号化する際に用いた動きベクトルを動きベクトル記憶部１１６に格納するかどうかを、符号化装置側と復号化装置側で予め決定し、その情報を符号列生成部１０４でヘッダ中に記述しなくてもいいようにしてもよい。
また、本実施の形態においては、直接モード用に記憶しておく動きベクトルを、符号化順で直前に符号化された１つの参照ピクチャを符号化する際に用いた動きベクトルを記憶しておく場合について説明したが、これとは異なる参照ピクチャ数の動きベクトルを記憶しておいても良い。
【００７８】
また、動きベクトルのうち、記憶すべきものと記憶しないものとを直接復号化装置に対して指定してもよい。これは例えば、動きベクトルの記憶の有無を指定されるピクチャのヘッダ中や、他のピクチャのヘッダ中において、動きベクトルの記憶の有無を指定されるピクチャのピクチャ番号等を指定することにより、どのピクチャの動きベクトルが記憶され、どのピクチャの動きベクトルが記憶されていないかを、復号化装置に指示することができる。例えば、ピクチャＢ１１の符号化の際に、第２参照インデックスが「０」である参照ピクチャがピクチャＰ１０となることがわかっている場合、ピクチャＰ１０の動きベクトルは記憶し、ピクチャＰ１３の動きベクトルは記憶しないように指示する。これにより、ピクチャＢ１１の符号化の際には、ピクチャＰ１０（第２参照インデックスが「０」である参照ピクチャ）の動きベクトルが動きベクトル記憶部１１６に保存されていることになり、直接モードにおいて、第２参照インデックスが「０」である参照ピクチャの動きベクトルを利用することができる。ここで、どの動きベクトルを保持しておくかを指定する情報は、符号列中のヘッダ情報として記述すればよい。一例としては、ピクチャ毎に動きベクトルを保存するかどうかを示す情報（例えば、「０」または「１」）を符号列中のヘッダの中に記述しておく。別の例としては、動きベクトルを保存する期間を示す情報（例えば、保存しなければ「０」、所定のピクチャにおいて３ピクチャ後のピクチャで新たに保存しなおすのであれば所定のピクチャの付随情報として「３」）を記述しておく。このような方法を用いることにより、より柔軟な動きベクトルの記憶管理を行うことが可能となり、また符号化効率の向上を図ることができる。
【００７９】
（実施の形態２）
以下では、本発明の第２の実施の形態の動画像復号化装置７００について、図７を用いて説明する。図７は、実施の形態２の動画像復号化装置７００の構成を示すブロック図である。動画像復号化装置７００は、符号列中のヘッダ情報に記述されている動きベクトルの格納方法にしたがって、参照ピクチャの動きベクトルをメモリに格納し、復号化対象ピクチャの復号化を行う動画像復号化装置であって、符号列解析部７０１、予測残差復号化部７０２、モード復号部７０３、動き補償復号部７０５、動きベクトル記憶部７０６、フレームメモリ７０７、加算演算部７０８、スイッチ７０９およびスイッチ７１０を有する。
【００８０】
図８（ａ）は、符号列中に含まれるピクチャの順序を示すである。図８（ｂ）は、図８（ａ）に示したピクチャの並びを復号化順に並べ替えた場合のピクチャの順序を示す図である。動画像復号化装置７００に入力される符号列中のピクチャの順序は、図８（ａ）に示す通りであるとする。ここで、Ｐピクチャは、表示順で前方にある近傍３枚のＩピクチャまたはＰピクチャを参照ピクチャとし、Ｂピクチャは表示順で前方にある近傍３枚のＩピクチャまたはＰピクチャと、表示順で後方にある近傍１枚のＩピクチャまたはＰピクチャとを参照ピクチャとして用いて、符号化されているものとする。以下では、Ｐピクチャ、Ｂピクチャの復号化処理の代表例として、ピクチャＰ１３、ピクチャＢ１１の復号化処理について順に説明する。なお、本実施の形態における参照インデックスの管理は符号列解析部７０１において行うものとする。
【００８１】
＜ピクチャＰ１３の復号化処理＞
動画像復号化装置７００の入力である符号列は、まず符号列解析部７０１に入力される。符号列解析部７０１では、入力された符号列から、各種データの抽出を行う。ここで各種データとは、モード選択の情報や符号化された動きベクトルを表す動きベクトル情報等である。抽出されたモード選択の情報は、モード復号部７０３に対して出力される。また、抽出された動きベクトル情報は、動き補償復号部７０５に対して出力される。さらに、予測残差符号化データは、予測残差復号化部７０２に対して出力される。
【００８２】
モード復号部７０３では、符号列から抽出されたモード選択の情報を参照し、スイッチ７０９とスイッチ７１０の制御を行う。モード選択がピクチャ内符号化である場合には、スイッチ７０９は端子ａに、スイッチ７１０は端子ｃに接続されるように制御する。また、モード選択がピクチャ間予測符号化である場合には、スイッチ７０９は端子ｂに、スイッチ７１０は端子ｄに接続されるように制御する。
【００８３】
またモード復号部７０３では、モード選択の情報を動き補償復号部７０５に対しても出力する。以下では、モード選択がピクチャ間予測符号化である場合について説明する。
予測残差復号化部７０２では、入力された予測残差符号化データの復号化を行い、予測残差画像を生成する。生成された予測残差画像は、スイッチ７０９に対して出力される。ここでは、スイッチ７０９は端子ｂに接続されているので、予測残差画像は加算演算部７０８に対して出力される。
【００８４】
動き補償復号部７０５は、符号列解析部７０１から入力された、符号化された動きベクトルである動きベクトル情報に対して、復号化処理を行う。そして、復号化された参照ピクチャ番号と動きベクトルとに基づいて、フレームメモリ７０７から動き補償画像（ブロック）を取得する。このようにして生成された動き補償画像は加算演算部７０８に対して出力される。
【００８５】
また、動き補償復号部７０５では、他のピクチャの復号化時に参照ピクチャとして用いられるピクチャの復号化を行う場合には、動きベクトルを動きベクトル記憶部７０６に格納する。ここでは、Ｐピクチャが参照ピクチャとして用いられるので、ピクチャＰ１３を復号化する際に得られた動きベクトルは、動きベクトル記憶部７０６に格納される。ただし、動きベクトル記憶部７０６への動きベクトルの記憶は、符号列のヘッダ情報により制御される。
【００８６】
さて、動きベクトル記憶部７０６の動作について説明する。動きベクトル記憶部７０６に格納される動きベクトル数は、符号列のヘッダ中に記述されている。このヘッダ情報は、符号列解析部７０１で抽出されて、動き補償復号部７０５に対して出力される。ここでは１ピクチャのみの動きベクトルを格納するとヘッダ中に記述されているとする。この場合、格納する動きベクトルの量としては、符号化順で最近に復号化した参照ピクチャの動きベクトルを格納する方法がある。ここで、すでに動きベクトル記憶部７０６に記憶されている動きベクトルは、現ピクチャの復号化の開始時に消去しても良いし、ブロックを復号化して動きベクトルが得られる度に、動きベクトルを順に上書きしても良い。
【００８７】
加算演算部７０８では、入力された予測残差画像と動き補償画像とを加算し、復号化画像を生成する。生成された復号化画像はスイッチ７１０を介してフレームメモリ７０７に対して出力される。
以上のようにして、ピクチャＰ１３のマクロブロックが順に復号化される。ピクチャＰ１６のマクロブロックがすべて復号化されると、ピクチャＢ１１の復号化が行われる。
【００８８】
＜ピクチャＢ１１の復号化処理＞
符号列解析部７０１とモード復号部７０３、予測残差復号化部７０２の動作は、ピクチャＰ１６の復号化処理の際と同様であるので、説明は省略する。
動き補償復号部７０５は、符号列解析部７０１から入力された、符号化された動きベクトルに対して、復号化処理を行う。そして、復号化された動きベクトルに基づいて、フレームメモリ７０７から動き補償画像（ブロック）を取得する。
【００８９】
ここでは、モード復号部７０３で得られた符号化モードが、直接モードである場合について説明する。図４は、ピクチャＰ１０からＰ１３までの各ピクチャを時間順に並べた図であり、復号化対象ブロックがブロックａであるとする。ブロックａを直接モードで復号化する場合には、第２参照インデックスが「０」である参照ピクチャ中の、ブロックａと同じ位置にあるブロックの動きベクトルを利用する。
【００９０】
まず、第２参照インデックスが「０」の参照ピクチャが、ピクチャＰ１３である場合について説明する。上記ピクチャＢ１３の復号化処理で示したように、ここでは１ピクチャのみの動きベクトルを格納するとヘッダ中に記述されており、参照ピクチャのうち復号化順で直前に復号化された参照ピクチャの動きベクトルが記憶されている。また、ピクチャＰ１３は、復号化順でピクチャＢ１１に最も近く復号化された参照ピクチャであるので、ピクチャＰ１３の各ブロックを復号化した際の動きベクトルは、動きベクトル記憶部７０６に保持されている。よって、ブロックａを直接モードで復号化する際には、ピクチャＰ１３のブロックｂの動きベクトルを利用することになる。動きベクトルｃは、ブロックｂが符号化された際に用いられた動きベクトルであり、動きベクトル記憶部７０６に記憶されている。この動きベクトルｃは、ピクチャＰ１０を参照している。ブロックａは、動きベクトルｃから生成した動きベクトルを用いて、参照ピクチャであるピクチャＰ１０とピクチャＰ１３とから２方向予測が行われる。この場合のブロックａを符号化する際に用いる動きベクトルは、ピクチャＰ１０に対しては動きベクトルｄ、ピクチャＰ１３に対しては動きベクトルｅとなる。
【００９１】
ここで、動きベクトルｃからブロックａの動きベクトルを生成する第１の方法としては、ピクチャ間の時間的距離を用いてスケーリングを施す方法がある。今、前方向動きベクトルである動きベクトルｄの大きさをＭＶＦ、後方向動きベクトルである動きベクトルｅの大きさをＭＶＢ、動きベクトルｃの大きさをＭＶＰ、現在のピクチャ（ピクチャＢ１１）の第２参照インデックスが「０」である参照ピクチャ（ピクチャＰ１３）と、その第２参照インデックスが「０」である参照ピクチャのブロックが参照しているピクチャ（ピクチャＰ１０）との時間的距離をＴＲＤ、現在のピクチャ（ピクチャＢ１１）と第２参照インデックスが「０」である参照ピクチャのブロックが参照しているピクチャ（ピクチャＰ１０）との時間的距離をＴＲＢとすると、動きベクトルＭＶＦ、動きベクトルＭＶＢは、それぞれ（数式１）、（数式２）で求められる。
【００９２】
また、動きベクトルｃからブロックａの動きベクトルを生成する第２の方法としては、予め定めたスケーリング係数を用いて、動きベクトルｃに対してスケーリングを行う方法がある。ここで使用されるスケーリング係数は、複数ブロック単位または複数ピクチャ単位で、変更可能としても良い。また、このスケーリング係数は、システムで一意に決定し、符号化側と復号化側とで共有しても良いし、符号列中にヘッダ情報として記述されているものを符号列解析部７０１で抽出することにより使用しても良い。
【００９３】
次に、第２参照インデックスが「０」の参照ピクチャが、ピクチャＰ１３以外の参照ピクチャである場合について説明する。例えば、ピクチャＰ１０、Ｐ７、Ｐ４のいずれかが、第２参照インデックスが「０」の参照ピクチャである場合が考えられる。ピクチャＰ１３以外の参照ピクチャは、復号化順序でピクチャＢ１１に最も近く復号化された参照ピクチャではないので（動きベクトル記憶部１１６に記憶されている動きベクトルがどのピクチャのものであるか、さらに第２参照インデックスが「０」のピクチャがどのピクチャのものであるかをそれぞれピクチャ番号で得て、得られたピクチャ番号をそれぞれ比較することによって判断する）、それらのピクチャの各ブロックを復号化した際の動きベクトルは、動きベクトル記憶部７０６に保持されていない。よって、ブロックａを直接モードで符号化する際には、第２参照インデックスが「０」の参照ピクチャの動きベクトルを利用することができない。
【００９４】
この場合における、直接モードの処理の第１の方法としては、動きベクトルを０として２方向予測する方法がある。この場合の参照ピクチャは、例えば、第１参照インデックスが「０」であるピクチャと、第２参照インデックスが「０」であるピクチャとを用いることができる。例えば、参照インデックスが「０」であるピクチャがピクチャＰ７であり、第２参照インデックスが「０」であるピクチャがピクチャＰ１０である場合、図５のようにブロックａに対して２方向予測を行うことができる。
【００９５】
また、直接モードの処理の第２の方法としては、同一ピクチャ内の周辺ブロックの動きベクトルを利用する方法がある。この場合、例えば図６に示すように、ブロックＢＬを直接モードで復号化する場合には、３つの周辺ブロックＢＬ１、ＢＬ２、ＢＬ３を復号化する際に用いた動きベクトルを利用して、ブロックＢＬを復号化する際に用いる動きベクトルを決定する方法が考えられる。ここでの復号化に用いる動きベクトルの決定方法としては、例えば前方向動きベクトル、後方向動きベクトル毎に３つの周辺ブロックの動きベクトルの中央値や平均値を求める方法、等が考えられる。また、この場合の周辺ブロックの動きベクトルは、動き補償部７０５により、動きベクトル記憶部７０６に記憶されているとする。
【００９６】
このようにして生成された動き補償画像は加算演算部７０８に対して出力される。
加算演算部７０８では、入力された予測残差画像と動き補償画像とを加算し、復号化画像を生成する。生成された復号化画像はスイッチ７１０を介してフレームメモリ７０７に対して出力される。
【００９７】
以上のようにして、ピクチャＢ１１のマクロブロックが順に復号化される。ピクチャＢ１１のマクロブロックがすべて復号化されると、ピクチャＢ１２の復号化が行われる。また、復号化されたピクチャは図８（ｂ）に示すように、順次出力画像としてフレームメモリ７０７から出力される。
【００９８】
以上のように、本発明の動画像復号化方法は、直接モードで符号化を行う際に利用する動きベクトルについて、どれだけ（例えば何ピクチャ分）の動きベクトルを記憶すべきかに対して制限を設けて符号化が行われた符号列を入力とし、その符号列を復号化する。そしてその復号化の際には、制限を加えていることを示す情報を符号列のヘッダ情報から抽出し、抽出された情報に基づいて復号化を行う。また、直接モードで復号化を行う際に、利用すべき動きベクトルがメモリ上に存在する場合には、その動きベクトルを利用し、メモリ上に存在しない場合には、動きベクトルを０として復号化するか、同一ピクチャ内の周辺ブロックを復号化する際に用いた動きベクトルを利用して復号化を行う。
【００９９】
このような動作により、直接モードで符号化を行う際に利用する動きベクトルについて制限を設けて符号化が行われた符号列を正しく復号化することができ、また直接モードのために記憶すべき動きベクトルの記憶量を削減することができ、ハードウェアやソフトウェアにおけるメモリ量の削減を行うことができる。さらに、直接モードにおいて利用すべき動きベクトルがない場合であっても、代替的な方法により直接モードを実施することができる。また本発明は、上記で説明したように、第２参照インデックスが「０」となるピクチャに関わらず実施することができるため、第２参照インデックスが「０」となるピクチャの設定方法を新たに定義する必要がなく、設計上の煩雑さを招くことを防ぐことができる。
【０１００】
なお、本実施の形態においては、図６を用いた説明において、復号化済みの３つの周辺ブロックの動きベクトルを用い、直接モードにおいて用いる動きベクトルを決定する方法について説明したが、この周辺ブロック数、予測値の決定方法、は他の値や他の方法であっても良い。例えば、左隣のブロックの動きベクトルを予測値として用いる方法、等がある。
【０１０１】
また、本実施の形態においては、Ｐピクチャは、表示順で前方にある近傍３枚のＩピクチャまたはＰピクチャを参照ピクチャとし、Ｂピクチャは表示順で前方にある近傍３枚のＩピクチャまたはＰピクチャを前方参照ピクチャ、表示順で後方にある近傍１枚のＩピクチャまたはＰピクチャを後方参照ピクチャとして用いる場合について説明したが、これらの参照ピクチャ数は異なる値であっても良い。また、Ｂピクチャを参照ピクチャとして用いていても良い。
【０１０２】
また、本実施の形態においては、Ｂピクチャを参照ピクチャとしては用いない場合について説明したが、これはＢピクチャを参照ピクチャとして用いた場合であっても良い。Ｂピクチャを参照ピクチャとして用いる場合、Ｂピクチャを復号化した後のピクチャを参照ピクチャとしてフレームメモリ７０７に保存する。また、Ｂピクチャが参照ピクチャとして用いられる場合であっても、Ｂピクチャを復号化した際の動きベクトルは動きベクトル記憶部７０６には記憶しなくても良い。Ｂピクチャを復号化する際に用いた動きベクトルを動きベクトル記憶部７０６に格納するかどうかは、符号化装置側と復号化装置側で予め決定しておくこともできるし、符号化装置側で決定され、符号列中のヘッダ部に記述された情報を抽出することにより判断することもできる。
【０１０３】
また、本実施の形態においては、直接モード用に格納する動きベクトルを、復号化順で直前に復号化された１つの参照ピクチャを復号化する際に用いた動きベクトルを格納する場合について説明したが、これは異なる参照ピクチャ数の動きベクトルを記憶しても良い。
【０１０４】
また、動きベクトルのうち、記憶すべきものと記憶しないものとが直接指定されていてもよい。これは例えば、記憶の有無を指定されるピクチャのヘッダ中や、他のピクチャのヘッダ中で記憶の有無を指定されるピクチャのピクチャ番号等を指定することによりどのピクチャの動きベクトルを記憶し、どのピクチャの動きベクトルを記憶しないかがヘッダ中に指示されているとする。したがって、これらの指示情報は、符号列中のヘッダ情報から抽出すればよい。今、ピクチャＰ１０の動きベクトルは記憶し、ピクチャＰ１３の動きベクトルは記憶しないように指定されている場合、ピクチャＢ１１の復号化の時点では、動きベクトル記憶部７０６には、ピクチャＰ１０の動きベクトルが記憶されていることになる。ここで、ピクチャＢ１１の復号化において、第２参照インデックスが「０」である参照ピクチャがピクチャＰ１０であるとすると、直接モードにおいて、第２参照インデックスが「０」である参照ピクチャを復号化した際に用いた動きベクトルを利用することができる。このような方法を用いることにより、より柔軟な動きベクトルの記憶管理を行うことが可能となる。
【０１０５】
また、上記のように復号化対象ブロックを有するピクチャが参照する参照ピクチャのうちストリーム順で、つまり符号化装置において符号化順で直前に符号化されたＰピクチャを復号化装置で復号化するときに用いた動きベクトルを格納する以外に、復号化対象ブロックを有するピクチャが参照する参照ピクチャのうち表示順で直前のＰピクチャまたは表示順で前のＰピクチャを復号化するときに用いた動きベクトルを格納するようにしてもよい。復号化されたピクチャは順次出力画像としてフレームメモリ７０７から出力するが、その出力はフレームメモリ７０７に記憶されているピクチャが有する時刻をもとに表示時刻順に並び替えられた上での出力である。また、それぞれのピクチャが有する時刻は、例えばピクチャをパケット等の伝送路で伝送するためのシステムが出力する時刻情報から取得してもよいし、あるいは、ビデオストリームとオーディオストリームとを多重化するためのフォーマット中の時刻情報から取得してもよく、あるいは、ビデオストリームのフォーマット中の時刻情報から取得してもよい。また、これらはピクチャ毎に時刻がわかる絶対時刻であっても、ピクチャ間で時間の前後がわかる相対時刻であってもどちらでもよい。
【０１０６】
このように復号化対象ブロックを有するピクチャが参照する参照ピクチャのうち表示順で直前のＰピクチャまたは表示順で前のＰピクチャを復号化するときに用いた動きベクトルを格納するようにし、復号化対象ブロックを有するピクチャに時間的に近い参照ピクチャを復号化するときに用いた動きベクトルを格納することにより、動き補償の精度を向上させる可能性をあげることができる。
【０１０７】
（実施の形態３）
上記実施の形態１においては、動きベクトルの記憶量に関する情報を、符号列中のヘッダに記述する場合について説明したが、符号列中のヘッダに記述する場合に限らず、例えば、符号列中には含まれない管理情報中に記述するようにしてもよい。以下では、図９〜図１３を用いて、本発明の実施の形態３の動画像符号化装置および記録装置について説明する。図９は、記録媒体からのデータの再生を管理するための管理情報と、符号化されたＡＶデータとをＤＶＤなどの記録媒体に記録する記録装置５００の概略的構成を示すブロック図である。記録装置５００は、音声を伴う映像データを符号化して記録媒体に記録する記録装置であって、ビデオ符号化部５０１、オーディオ符号化部５０２およびシステム符号化部５０３を備える。ビデオ符号化部５０１は、入力された映像データを符号化する動画像符号化装置である。オーディオ符号化部５０２は、入力されたオーディオデータを符号化するオーディオ符号化装置である。システム符号化部５０３は、ビデオストリームとオーディオストリームとを多重化してＡＶストリームを生成し、記録媒体に記録する。また、システム符号化部５０３は、ＡＶストリームの記録後、図示しない入力部などからの入力に従って管理情報を生成し、生成された管理情報を記録媒体中のＡＶストリームが記録されている領域とは異なる領域に記録する。
【０１０８】
以下では、上記のように構成された記録装置５００の動作について説明する。記録装置５００に入力された映像データは、ビデオ符号化部５０１に入力され、入力されたオーディオデータは、オーディオ符号化部５０２に出力される。ビデオ符号化部５０１に入力された映像データと、オーディオ符号化部５０２に入力されたオーディオデータとは、ビデオ符号化部５０１とオーディオ符号化部５０２との間で同期を取りながら、リアルタイムで符号化される。ビデオ符号化部５０１によって生成された符号列は、ビデオストリームとしてシステム符号化部５０３に出力される。オーディオ符号化部５０２によって符号化された符号列は、オーディオストリームとしてシステム符号化部５０３に出力される。システム符号化部５０３は、ビデオ符号化部５０１から入力されたビデオストリームと、オーディオ符号化部５０２から入力されたオーディオストリームとを多重化してＡＶストリームを生成し、生成されたＡＶストリームをリアルタイムで記録媒体に記録する。記録媒体へのＡＶストリームの記録が完了すると、システム符号化部５０３は、ビデオ符号化部５０１によって生成された制御コードをビデオ符号化部５０１から読み出し、読み出された制御コードを含む管理情報を生成し、生成された管理情報を、ＡＶストリームが記録されている領域とは異なる記録媒体中の領域に記録する。図１０は、図９に示したシステム符号化部５０３によって生成された管理情報とＡＶ（Ａｕｄｉｏ  Ｖｉｄｅｏ）ストリームとが記録されたＤＶＤなどの記録媒体４００の一例を示す図である。図１０に示すように、記録媒体４００には、同心円状にデータが記録され、管理情報４０１と、ＡＶデータ４０２とがそれぞれ記録媒体４００上の異なる領域に記録される。一般に、ＡＶデータ４０２は記録媒体４００の外周側の領域に記録され、管理情報４０１は記録媒体４００の内周側の領域に記録される。
【０１０９】
図１１は、図９に示した記録装置５００に備えられる動画像符号化装置９００の構成を示すブロック図である。動画像符号化装置９００は、図９に示したビデオ符号化部５０１に相当する。動画像符号化装置９００は、動きベクトル記憶部内に格納されるデータに制限が設けられていることを示す制御コード（請求の範囲でいう制御情報）を、前記符号列とは別のデータとして別のタイミングで出力する動画像符号化装置であって、フレームメモリ１０１、差分演算部１０２、予測残差符号化部１０３、予測残差復号化部１０５、加算演算部１０６、フレームメモリ１０７、動きベクトル検出部１０８、モード選択部１０９、スイッチ１１１〜１１５、動きベクトル記憶部１１６、符号列生成部９０４および符号化制御部９１０を備える。同図において、図１に示した動画像符号化装置１００と同じ構成要素についてはすでに説明しているので、同一の参照符号を付し、説明を省略する。ただし、ここでは、動きベクトル検出部１０８は、実施の形態１と異なり、Ｂピクチャを符号化する際に、表示順で符号化対象ピクチャの前方にある４枚のＩピクチャまたはＰピクチャおよび表示順で符号化対象ピクチャの後方にある１枚のＩピクチャまたはＰピクチャを参照ピクチャとして動きベクトルの探索を行う。符号列生成部９０４は、予測残差符号化部１０３からの量子化結果を可変長符号化した後、出力用の符号化ビットストリームのフォーマットに変換し、符号化された予測残差の関連情報を記述したヘッダ情報などの付加情報を付して符号列を生成する。さらに、符号列生成部９０４は、符号化制御部９１０によって生成された制御コードを符号列に対応付けて保持し、その制御コードを符号列とは異なるタイミングで出力する。具体的には、外部（例えば、図９に示した記録装置５００のシステム符号化部５０３など）からの出力指示に従って、制御コードを出力する。符号化制御部９１０には、オーディオ符号化部５０２と同期を取りながら、映像データとオーディオデータとをリアルタイムで符号化するために、同期を取るための制御信号が外部から入力される。符号化制御部９１０は、符号化対象ピクチャに対して表示順で直後にある、すなわち、符号化対象ピクチャの直前に符号化された参照ピクチャの動きベクトルだけが動きベクトル記憶部１１６に格納されるようモード選択部１０９を制御し、メモリに保存されるデータに何らかの制限が加えられていることを示す制御コードを生成する。符号化制御部９１０による制御コード生成のタイミングは、いつでもよいが、符号化処理の開始時または終了直後が好ましい。また、符号化制御部９１０は、制御コードをあらかじめ内部に記憶しておいてもよい。
【０１１０】
以下では、上記のように構成された動画像符号化装置９００の符号化処理におけるメモリへの参照ピクチャおよび動きベクトルの格納動作に付いて、従来のＭＰＥＧ−４符号化方式と比較しながら説明する。図１２（ａ）は、表示順に入力されたピクチャとそれらの符号化の順を示す図である。図１２（ｂ）は、従来のＭＰＥＧ−４符号化方式において、各ピクチャの符号化に伴ってメモリ内に格納される参照ピクチャと動きベクトルとを示す図である。図１３（ａ）は、表示順に入力されたピクチャとそれらの符号化の順を示す図である。図１３（ｂ）は、図１１に示した動画像符号化装置９００において、各ピクチャの符号化に伴ってメモリ内に格納される参照ピクチャと動きベクトルとを示す図である。ここで、いずれの場合も、Ｂピクチャは他のピクチャに参照されず、ＩピクチャとＰピクチャとだけが他のピクチャに参照されるものとする。すなわち、ＩピクチャとＰピクチャとは他のピクチャの参照ピクチャとなるが、Ｂピクチャは他のピクチャの参照ピクチャとならない。なお、図１３（ａ）と図１２（ａ）とは同じ図である。
【０１１１】
図１３（ａ）と図１２（ａ）とにおいて、入力画像に含まれる各ピクチャを縦線で示し、他のピクチャに参照されないＢピクチャを破線で示している。また、各ピクチャに付されている「Ｂ」および「Ｐ」は、各ピクチャのピクチャタイプを示し、その右に付されている数字は、各ピクチャに対して符号化順に付されたピクチャ番号を示している。すなわち、図１２（ａ）および図１３（ａ）に示すように、入力画像内のピクチャはＩ０→Ｂ２→Ｂ３→Ｐ１→Ｂ５→Ｂ６→Ｐ４→Ｂ８→Ｂ９→Ｐ７→Ｂ１１→Ｂ１２→Ｐ１０の順に入力され、この順で表示される。これに対し、Ｂピクチャは表示順で後方にあるピクチャを参照するため、Ｂピクチャの符号化前にＢピクチャよりも表示順で後方にあるＩピクチャまたはＰピクチャが符号化されていなければならない。従って、入力画像内のピクチャはＩ０→Ｐ１→Ｂ２→Ｂ３→Ｐ４→Ｂ５→Ｂ６→Ｐ７→Ｂ８→Ｂ９→Ｐ１０→Ｂ１１→Ｂ１２の順に符号化される。表示順でピクチャＩ０の前方にＢピクチャがあったとすれば、ピクチャＩ０の符号化後、ピクチャＰ１の符号化前に符号化される。
【０１１２】
従来のＭＰＥＧ−４では、符号化対象ピクチャの直前に符号化された２枚の参照ピクチャの画素値と、その参照ピクチャで動き補償に用いられた動きベクトルとをメモリ内に保存する。一般的には、図１２（ｂ）に示すように、符号化対象ピクチャの直前に符号化された２枚の参照ピクチャの画素値と、２枚の参照ピクチャのうち、より後で符号化された方の１枚の動きベクトルとをメモリ内に保存している。また、ＭＰＥＧ−４では、Ｐピクチャは、表示順で前方にある直前の１枚の参照ピクチャを参照し、Ｂピクチャは、符号化対象ピクチャに対して表示順で直前の前方１枚、直後の後方１枚の２枚の参照ピクチャを参照して符号化される。例えば、符号化対象ピクチャがピクチャＢ６であるとき、符号化対象ピクチャの直前に符号化された２枚の参照ピクチャとはピクチャＰ１とピクチャＰ４であり、より後で符号化された方の参照ピクチャは、ピクチャＰ４である。従って、符号化対象ピクチャがピクチャＢ６であるとき、メモリ内には、ピクチャＰ１およびピクチャＰ４の画素値と、ピクチャＰ４で求められた動きベクトルとが格納されている。ピクチャＢ６は、メモリ内に格納されているピクチャＰ１とピクチャＰ４とを参照して符号化される。ピクチャＰ１は表示順でピクチャＢ６の直前にある参照ピクチャであり、ピクチャＰ４は表示順でピクチャＢ６の直後にある参照ピクチャである。また、ピクチャＢ６内の符号化対象ブロックが直接モードで符号化されるときには、表示順でピクチャＢ６の直後にある参照ピクチャ（すなわち、ピクチャＰ４）において符号化対象ブロックと同じ位置にあるブロックの動きベクトルはメモリ内に格納されており、これを用いて動き補償が行われる。ただし、ピクチャＢ６は、他のピクチャに参照されないので、画素値および動きベクトルはメモリ内に保存されず、メモリの更新は起こらない。
【０１１３】
ピクチャＰ７が符号化対象ピクチャのときには、メモリ内に保存されているピクチャＰ１またはピクチャＰ４のいずれかを参照して符号化が行われる。ピクチャＰ７は、他のピクチャに参照されるので、メモリ内に画素値と動きベクトルとが保存される。この際には、ピクチャＰ７の符号化／復号化に従って、メモリ内の画素値および動きベクトルが更新される。ピクチャＰ７の符号化前にメモリ内に格納されていたピクチャＰ１およびピクチャＰ４の画素値のうち、古いほうのピクチャＰ１の画素値がメモリから追い出され、新たにピクチャＰ７の画素値が格納される。また、メモリ内に格納されていたピクチャＰ４の動きベクトルがメモリから追い出され、新たにピクチャＰ７の動きベクトルが格納される。
【０１１４】
ピクチャＢ８が符号化されるときには、表示順でピクチャＢ８の前方にあるピクチャＰ４と後方にあるピクチャＰ７との２枚が参照される。ピクチャＢ８内の対象ブロックが直接モードで符号化されるときには、表示順でピクチャＢ８の直後にある参照ピクチャ（ピクチャＰ７）において対象ブロックと同じ位置にあるブロックの動きベクトルを用いて動き補償が行われる。メモリ内には、ピクチャＢ８に参照される２枚の参照ピクチャ（ピクチャＰ４およびピクチャＰ７）の画素値が格納されており、また、直接モードで用いられるピクチャＰ７の動きベクトルが格納されている。また、ピクチャＢ８は他のピクチャに参照されないのでメモリ内のデータは更新されない。
【０１１５】
ピクチャＢ９が符号化されるときも、ピクチャＢ８が符号化されるときと同様に、メモリ内に格納されている２枚のピクチャを参照して符号化が行われる。また、ピクチャＢ９内の対象ブロックが直接モードで符号化されるときも、メモリ内に格納されているピクチャＰ７の動きベクトルを用いて符号化される。
【０１１６】
このように、従来のＭＰＥＧ−４では、メモリ内に２枚の参照ピクチャの画素値と、参照ピクチャ２枚のうちの後方の参照ピクチャ分の動きベクトルとを格納しておくことにより、Ｂピクチャ内の対象ブロックを直接モードで符号化する際にも、問題なく符号化を行うことができる。しかし、ＭＰＥＧ−４では、参照ピクチャが決められているかまたは数が少ないため、符号化対象ブロックに対して符号化効率がより高くなる参照ブロックを探す探索範囲が限られてしまう。この結果、符号化効率が頭打ちとなり、低ビットレートで高画質の動画像を伝送したいという要求に答えることが難しい。このために、Ｈ．２６Ｌでは、探索範囲となる参照ピクチャの数を増やし、各対象ブロックが実際に参照した参照ピクチャを、参照インデックスで特定することに定めている。そして、図２８に示したように、Ｂピクチャでは対象ブロックごとに、参照した参照ピクチャを特定するための第１参照インデックスと第２参照インデックスとを符号列中に記述するよう定めている。一方、各参照ピクチャに対する参照インデックスの割り当ては、すでに説明したように、表示順で前方と後方とに向かって、それぞれ、符号化対象ピクチャに最も近い参照ピクチャに「０」が割り当てられ、符号化対象ピクチャから遠ざかるにつれて昇順で番号が割り当てられるように初期設定されている。この初期設定では、対象ブロックを含むピクチャに近い参照ピクチャほど、より小さな値の参照インデックスで特定することができる。しかし、対象ブロックを含むピクチャから遠い参照ピクチャほど、参照ピクチャを特定するための参照インデックスの値が大きくなってしまう。この結果、対象ブロックを含むピクチャから遠い参照ピクチャが多くの対象ブロックに参照されるような場合、初期設定のままだと、大きな値の参照インデックスが多数のブロックで符号列中に記述されることになり、符号列のデータ量が増加するので好ましくない。従って、参照インデックスは、ピクチャごとに符号化効率がより高くなる参照ピクチャに対してより小さい値を割り当てることができるよう、リマッピングが認められている。
【０１１７】
本実施の形態では、Ｐピクチャは、表示順で符号化対象ピクチャの前方にある４枚のＩピクチャまたはＰピクチャを参照ピクチャとし、Ｂピクチャは、表示順で符号化対象ピクチャの前方にある４枚のＩピクチャまたはＰピクチャと、表示順で符号化対象ピクチャの後方にある１枚のＩピクチャまたはＰピクチャとを参照ピクチャとする。図１３（ｂ）に示すように、本実施の形態では、Ｂピクチャの符号化のために、各ピクチャの直前に符号化された５枚の参照ピクチャの画素値をメモリ内に保存し、符号化対象ピクチャの直前に符号化された１枚の参照ピクチャの動きベクトルだけを保存する。例えば、モード選択部１０９は、符号化対象ピクチャの各対象ブロックに対し、動きベクトル検出部１０６によって動きベクトルが検出される都度、検出された動きベクトルを、すでに動きベクトル記憶部１０８に格納されている動きベクトルとは別の記憶領域に一時的に格納する。当該符号化対象ピクチャがＰピクチャである場合、モード選択部１０９は、別の記憶領域に一時的に格納されていた動きベクトルで、それ以前に格納されていた動きベクトルを上書きする。また、次の符号化対象ピクチャの符号化を開始する際には、直前に符号化されたピクチャの動きベクトルが一時的に格納されていた記憶領域に、新たな符号化対象ピクチャの動きベクトルを上書きし、上書きされた動きベクトルを一時的に格納する。しかし、当該符号化対象ピクチャがＰピクチャでない場合、モード選択部１０９は、動きベクトル記憶部１０８に一時的に格納された動きベクトルを、例えば、符号化対象ピクチャの全ブロックを符号化した後に、動きベクトル記憶部１０８内から削除する。一時的に格納された動きベクトルを動きベクトル記憶部１０８内から削除する方法は、一時的に格納された動きベクトルを動きベクトル記憶部１０８内から消去する方法であってもよいし、動きベクトルを一時的に格納する記憶領域に、そのまま次の符号化対象ピクチャの動きベクトルを上書きする方法であってもよい。モード選択部１０９は、このような方法で、動きベクトル記憶部１０８に格納される動きベクトルの格納量を制御する。なお、Ｂピクチャの直接モードによる符号化においては、第２参照インデックスが「０」の参照ピクチャの動きベクトルがメモリ内に格納されていない場合、実施の形態１ですでに説明した方法を用いて動き補償を行う。
【０１１８】
図１３（ｂ）において、例えば、符号化対象ピクチャがピクチャＢ６である場合、ピクチャＢ６よりも前にピクチャＩ０、ピクチャＰ１およびピクチャＰ４が符号化されている。従って、ピクチャＢ６の符号化時には、メモリ内には、ピクチャＩ０、ピクチャＰ１およびピクチャＰ４の画素値が格納されている。さらに、ピクチャＩ０よりも前に符号化されているＩピクチャまたはＰピクチャがあれば、ピクチャＩ０の直前に符号化された２枚の画素値がメモリ内に格納されている。ピクチャＢ４は、メモリ内に格納されている参照ピクチャのうち、２枚を参照して符号化される。さらに、メモリ内には、ピクチャＢ６の直前に符号化された参照ピクチャであるピクチャＰ４の動きベクトルが格納されている。モード選択部１０９は、ピクチャＢ６内の対象ブロックを直接モードで符号化する場合、ピクチャＢ６に対して第２参照インデックスが「０」の参照ピクチャがピクチャＰ４であれば、メモリ内に格納されている動きベクトルを用いて対象ブロックの動き補償を行う。また、第２参照インデックスが「０」の参照ピクチャがピクチャＰ４でなければ、例えば、対象ブロックの動きベクトルを「０」とし、ピクチャＢ６に対して第１参照インデックスが「０」の参照ピクチャと、ピクチャＢ６に対して第２参照インデックスが「０」の参照ピクチャとを参照して、２方向で動き補償を行う。
【０１１９】
符号化対象ピクチャがＰ７であるとき、ピクチャＰ７は、直前に符号化され、メモリ内に格納されている３枚の参照ピクチャ（ピクチャＩ０、ピクチャＰ１およびピクチャＰ４）を参照して符号化される。ピクチャＰ７は、他のピクチャに参照されるので、ピクチャＰ７の符号化／復号化に従って、メモリ内に最も古く格納されている参照ピクチャ１枚の画素値がメモリから追い出され、新たにピクチャＰ７の画素値が格納される。また、メモリ内に格納されていたピクチャＰ４の動きベクトルがメモリから追い出され、新たにピクチャＰ７で求められた動きベクトルが格納される。
【０１２０】
次に、ピクチャＢ８が符号化されるときには、ピクチャＢ８は、メモリ内に格納されている５枚の参照ピクチャのうちの２枚を参照して符号化される。また、ピクチャＢ８内の対象ブロックが直接モードで符号化される場合、モード選択部１０９は、ピクチャＢ８に対して第２参照インデックスが「０」のピクチャがピクチャＰ７であれば、メモリ内に格納されているピクチャＰ７の動きベクトルを用いて対象ブロックの動き補償を行う。ピクチャＢ８に対して第２参照インデックスが「０」のピクチャがピクチャＰ７でなければ、対象ブロックの動きベクトルを「０」として、ピクチャＢ８に対し第１参照インデックスが「０」および第２参照インデックスが「０」の２枚の参照ピクチャ（ピクチャＰ４およびピクチャＰ７）を参照して、２方向の動き補償を行う。ピクチャＢ８は、他のピクチャに参照されないので、メモリには保存されず、メモリ内でのデータの更新は行われない。ピクチャＢ９が符号化される場合も、ピクチャＢ８が符号化された場合と同様にして符号化が行われる。
【０１２１】
このように、本実施の形態３によれば、Ｂピクチャの直接モードによる符号化を行うためにメモリ内に保存する動きベクトルを、Ｂピクチャの直前に符号化された１枚の参照ピクチャの動きベクトルに限定することにより、動画像の符号化に要するメモリ容量を抑制しつつ、符号化効率を向上することができる動画像符号化装置を提供することができる。
【０１２２】
なお、上記実施の形態３では、動画像符号化装置９００は、記録媒体４００に記録されるビデオデータおよび制御コードを生成したが、記録媒体に記録される場合に限らず、例えば、デジタルテレビ放送等で配信されるビデオストリームと、ビデオストリームの再生を管理するための管理情報とを生成するとしても良い。図１４は、デジタルテレビ放送で送信される放送用パケットの一例を示す図である。同図において、「Ｓ」、「Ａ」、「Ｖ」で示す各部分は、それぞれ、管理情報、オーディオデータおよびビデオデータのパケットを示している。デジタルテレビ放送では、ビデオストリームおよびオーディオストリームなどの符号化データは、適当なデータ長でパケットに区切られ（例えばＭＰＥＧ−２のトランスポートストリームでは１８８バイト）、このパケットを単位として送信される。そして、オーディオデータのパケットおよびビデオデータのパケットの随所に管理情報のパケットが挿入されて送信される。動画像符号化装置９００によって生成された符号列は、このようなビデオデータのパケットとして送信される。また、符号化制御部９１０によって生成された制御コードは、管理情報に記述され管理情報のパケットとして送信される。このように、動画像符号化装置９００によって生成された符号列をビデオデータのパケットとして送信し、符号化制御部９１０によって生成された制御コードを管理情報のパケットとして送信することによって、デジタルテレビ放送を受信して映像データを再生するＳＴＢおよびデジタルテレビなどの再生装置においても、メモリの使用量を節約しつつ、符号化効率の高い高画質の動画像を再生することができる。
【０１２３】
なお、上記実施の形態３では、制御コードが、メモリに保存されるデータに何らかの制限が加えられていることを示す情報であるとして説明したが、本発明はこれに限定されず、制御コードは、単に、生成された符号列が何らかの制限の下に符号化されていることのみを示す情報であってもよい。また、この制御コードは、例えば、値が「０」のとき「制限なし」を示し、値が「１」のとき「制限あり」を示すフラグなどであってもよい。また、この制御コードは、管理情報内の特定の場所に記述されていれば「制限あり」を示し、記述されていなければ「制限なし」を示すコードであってもよい。もちろん、この制御コードは、あらかじめメモリに記憶されているテーブルを参照することによって、メモリに保存されるデータに何らかの制限が加えられていることや、符号化対象ピクチャの直前に符号化された何枚のＰピクチャの動きベクトルをメモリ内に格納するかなどの複数種類の処理内容を特定することができるコードであってもよいことは言うまでもない。
【０１２４】
（実施の形態４）
以下では、記録媒体に記録されているＡＶストリームを再生する再生装置およびその再生装置に備えられる動画像復号化装置について説明する。図１５は、実施の形態４の再生装置１５００の概略的構成を示すブロック図である。再生装置１５００は、図１０に示した記録媒体４００から符号化されたＡＶストリームと、ＡＶストリームの再生を管理するための管理情報とを読み取り、音声を伴う映像データを再生する再生装置であって、ビデオ復号化部１５０１、オーディオ復号化部１５０２、システム復号化部１５０３、モニタ１５１１およびスピーカ１５１２を備える。システム復号化部１５０３は、記録媒体から管理情報と符号化されたＡＶストリームとを読み出し、管理情報から制御コードを抽出してビデオ復号化部１５０１に出力する。また、読み出したビデオストリームとオーディオストリームとを分離して、それぞれビデオ復号化部１５０１とオーディオ復号化部１５０２とに出力する。ビデオ復号化部１５０１は、システム復号化部１５０３から受け取った制御コードに、メモリに格納されるデータに制限が設けられていることが示されている場合には、システム復号化部１５０３から受け取ったビデオストリームを復号化する際に、復号化対象ピクチャの直前に復号化された参照ピクチャ１枚分の動きベクトルをメモリに格納して、復号化対象ピクチャを復号化する。ビデオ復号化部１５０１は、ビデオストリームに含まれる各ピクチャを復号化して復号化された各ピクチャを表示順に出力し、動画像を表す映像信号をモニタ１５１１に出力する。オーディオ復号化部１５０２は、システム復号化部１５０３から受け取ったオーディオストリームを復号化してオーディオ信号を生成し、生成したオーディオ信号をスピーカ１５１２に出力する。モニタ１５１１は、ビデオ復号化部１５０１によって生成された映像信号を表示する。スピーカ１５１２は、オーディオ復号化部１５０２によって生成されたオーディオ信号を音声として再生する。
【０１２５】
図１６は、図１５に示したビデオ復号化部１５０１に相当する動画像復号化装置１６００の構成を示すブロック図である。動画像復号化装置１６００は、外部から入力された制御コードに、メモリに格納されるデータに制限が設けられていることが示されている場合には、復号化対象ピクチャの直前に復号化された参照ピクチャ１枚分の動きベクトルをメモリに格納し、符号列を復号化する動画像復号化装置であって、予測残差復号化部７０２、動き補償復号部７０５、動きベクトル記憶部７０６、フレームメモリ７０７、加算演算部７０８、スイッチ７０９、スイッチ７１０、符号列解析部１６０１およびモード復号部１６０３を備える。同図において、図７に示した動画像復号化装置７００と同様の構成要素については既に説明しているので、同一の参照符号を付し、説明を省略する。符号列解析部１６０１は、外部から入力された制御コードを、モード復号部１６０３に出力する。符号列解析部１６０１は、入力された符号列から、モード選択の情報や動きベクトル情報等を抽出し、抽出したモード選択の情報をモード復号部７０３に、抽出した動きベクトル情報を動き補償復号部７０５に、さらに、予測残差符号化データを予測残差復号化部７０２に出力する。モード復号部７０３は、符号列解析部１６０１から入力された制御コードに、メモリに格納されるデータに制限が設けられていることが示されている場合または入力されたビデオストリームが何らかの制限の下に符号化されていることが示されている場合には、復号化対象ピクチャの直前に復号化された参照ピクチャ１枚分の動きベクトルを動きベクトル記憶部７０６に格納するよう、動き補償復号化部７０５を制御する。
【０１２６】
動画像復号化装置１６００において、動きベクトル記憶部７０６に格納される動きベクトルの数と、フレームメモリ７０７に格納される画素値の数とは、図１３（ｂ）に示した例と同様である。
以上のように、本実施の形態４の動画像復号化装置１６００によれば、記録媒体に記録されているビデオストリームを復号化する場合においても、動画像復号化装置のメモリ資源を節約し、かつ、符号化効率の高い符号列を復号化することができるという効果がある。
【０１２７】
なお、上記実施の形態４では、動画像復号化装置１６００が記録媒体に記録されているビデオストリームを復号化する場合について説明したが、本発明はこれに限定されず、本発明の動画像復号化装置は、デジタルテレビ放送等で配信される放送用パケット中のビデオストリームを復号化するとしてもよい。この場合、動画像復号化装置１６００は、例えば、デジタルテレビ放送を受信するＤＴＶ（デジタルテレビ）やＳＴＢなどに備えられる。図１４に示した放送用パケットは、ＤＴＶやＳＴＢなどにおいて受信され、管理情報、オーディオデータおよびビデオデータの各パケットに分離される。分離された管理情報からは、さらに、メモリに格納されるデータに何らかの制限が加えられていることを示す制御コードが抽出され、動画像復号化装置１６００に入力される。また、各パケットから抽出されたビデオストリームとオーディオストリームとは、動画像復号化装置１６００とオーディオ復号化装置とに入力され、同期をとりながらリアルタイムに復号化される。この動画像復号化装置１６００の構成および動作は、図１６に示した動画像復号化装置１６００と同様であるので、説明を省略する。
【０１２８】
以上のように、本実施の形態の動画像復号化装置１６００によれば、デジタルテレビ放送等で配信される放送用パケット中のビデオストリームを復号化する場合においても、動画像復号化装置のメモリ資源を節約しつつ、符号化効率の高い符号列を復号化することができるという効果がある。
【０１２９】
また、上記実施の形態４においても、制御コードは、メモリに格納されるデータに制限が設けられていることを示す場合に限定されず、単に、生成された符号列が何らかの制限の下に符号化されていることのみを示す情報であってもよい。また、この制御コードは、例えば、値が「０」のとき「制限なし」を示し、値が「１」のとき「制限あり」を示すフラグなどであってもよい。また、この制御コードは、管理情報内の特定の場所に記述されていれば「制限あり」を示し、記述されていなければ「制限なし」を示すコードであってもよい。もちろん、この制御コードは、あらかじめメモリに記憶されているテーブルを参照することによって、メモリに保存されるデータに何らかの制限が加えられていることや、符号化対象ピクチャの直前に符号化された何枚のＰピクチャの動きベクトルをメモリ内に格納するかなどを特定することができるコードであってもよいことは言うまでもない。
【０１３０】
（実施の形態５）
動画像を構成するピクチャはフレームおよびフィールドの両者を包含する１つの符号化の単位を意味する。上記実施の形態１〜実施の形態４では、ピクチャが全てフレーム構造の場合について説明したが、ピクチャをフィールド単位で扱った場合でも、上記で説明した発明を適用して、同様の効果を得ることができる。以下、上記実施の形態で説明した方法をインタレース画像に適用する場合で、上記実施の形態１〜実施の形態４とは異なる実施の形態について考える。ここで、インタレース画像とは、１つのフレームが時刻（タイムスタンプ）の異なる２つのフィールドから構成される画像である。インタレース画像の符号化や復号化処理においては、１つのフレームをフレームのまま処理したり、２つのフィールドとして処理したり、フレーム内のブロック毎にフレーム構造またはフィールド構造として処理したりすることができる。
【０１３１】
なお、各ピクチャをフレーム構造で符号化するか、またはフィールド構造で符号化するかは、例えば図１に示す符号化制御部１１０により適応的に決定することができる。フレーム構造とフィールド構造のいずれで符号化するかは、例えば、ピクチャ内の画素値の分散をフレーム構造とフィールド構造とで求め、分散の小さい方を選択する方法がある。また、各ピクチャをブロック単位でフレーム構造またはフィールド構造のいずれかで符号化する方法も考えられるが、ここではピクチャ単位でフレーム構造またはフィールド構造を切り替える場合について説明する。まず、動画像にフィールド構造のピクチャが含まれる場合のピクチャ番号と参照インデックスの振られ方について説明し、それから本実施の形態５の具体的な説明をする。
【０１３２】
図２７において動画像を構成するピクチャが全てフレームの場合についてのピクチャ番号と参照インデックスについて示したが、図１７および図１８を用いて、動画像を構成するピクチャにフレームとフィールドとが混在する場合について説明する。
【０１３３】
図１７は、符号化または復号化の対象ピクチャがフィールド構造である場合のピクチャ間の参照関係の一例を示す図である。以下、フレームの奇数番目のラインから構成されるフィールドをトップフィールド、フレームの偶数番目のラインから構成されるフィールドをボトムフィールドと呼ぶ。また、本実施の形態においては、トップフィールドがフィールド構造のピクチャの表示順で前方のフィールド、ボトムフィールドが表示順で後方のフィールドとなる場合について説明するが、これらの順序が入れ替わっても本発明と同様の動作により、同様の効果を得ることができる。符号化または復号化の対象ピクチャがフィールド構造である場合、参照ピクチャは全てフィールド構造として扱う。図１７はピクチャＢ３をフィールド構造で符号化または復号化する場合にフィールドＢ３２が符号化または復号化対象ピクチャである場合を示しており、ピクチャＰ１、Ｂ３、Ｐ４はフィールド構造、ピクチャＢ２はフレーム構造で符号化または復号化される場合、フレーム構造である参照ピクチャＢ２は２つのフィールドＢ２１、Ｂ２２として扱われる。そして、ピクチャ番号は符号化または復号化される順番で振られる。第１参照インデックスはデフォルトでは、符号化または復号化の対象ピクチャよりも表示時間順で前にあるピクチャ、符号化または復号化の対象ピクチャから表示時間順で近いピクチャ、符号化または復号化の対象ピクチャと同一パリティをもつピクチャの優先順で割り振られる。図１７を用いて具体的に説明すると、まずフィールドＢ３２よりも表示時間順で前方にあり、同一パリティで、かつ、符号化または復号化の順番でフィールドＢ３２に最も近いフィールドＢ２２に参照インデックスとして「０」が振られ、次にフィールドＢ３２よりも表示時間順で前方にあり、違うパリティであるが、符号化または復号化の順番ではフィールドＢ３２に最も近いフィールドＢ３１に参照インデックスとして「１」が振られる。
【０１３４】
ここでパリティとは第１（トップ）フィールド、第２（ボトム）フィールドのいずれであるかを示す値であり、パリティの情報は動画像の符号列において例えばスライス単位で符号化され、あるいは復号化される。
図１８は、符号化または復号化の対象ピクチャがフレームである場合についてピクチャ間の参照関係の一例を示す図である。符号化または復号化の対象ピクチャがフレームである場合、参照ピクチャは全てフレームとして扱う。図１８のように、ピクチャＢ２、Ｐ４はフィールド構造、ピクチャＰ１、Ｂ３はフレーム構造で符号化または復号化されている場合、フィールド構造で符号化または復号化されたフィールドＢ２１、Ｂ２２、Ｐ４１、Ｐ４２は２つの参照フレームＢ２、Ｂ４として扱われる。なお、ピクチャ番号と参照インデックスの振られ方は、図２７で説明した通りである。
【０１３５】
図１９は、動画像を符号化または復号化する際の、各フレームの時間的並びを示す図である。図１９において、フレームＰ１、Ｐ４はＰピクチャとして処理され、フレームＢ２、Ｂ３はＢピクチャとして処理される。また、１つのフレームは２つのフィールドとして扱うことができる。例えば、フレームＰ１はフィールドＰ１１、Ｐ１２として、フレームＢ２はフィールドＢ２１、Ｂ２２として、フレームＢ３はフィールドＢ３１、Ｂ３２として、フレームＰ４はフィールドＰ４１、Ｐ４２として扱うことができる。さらに、各フレームは、フレーム構造またはフィールド構造のいずれかの形式で適応的に符号化、復号化処理がなされるものとする。
【０１３６】
以下、具体的に本実施の形態５について説明する。実施の形態５が上記実施の形態１〜実施の形態４と異なる点は、直接モードのために記憶すべき動きベクトルの記憶量を削減する方法として、パリティ毎に動きベクトルを格納する点である。
【０１３７】
図１９において、ピクチャを示す記号のうち、上段の記号が振られている単位で符号化と復号化の処理が行われる。例えば、図１９においては、すべてのピクチャがフィールド単位で処理される。まず、図１９を用いて動画像を構成するピクチャをフィールド構造で扱う場合における直接モードについて説明する。
【０１３８】
現在の処理対象ピクチャが、フィールドＢ３１であるとする。すなわち、フレームＢ３はフィールド構造で処理される。またフィールドＢ３１は参照ピクチャとしてフィールドＰ１１、フィールドＰ１２、フィールドＰ４１またはフィールドＰ４２を用いるとする。これらの参照ピクチャは、すでに符号化または復号化処理が完了している。また、フレームＰ１、フレームＰ４はフィールド単位で処理がなされているものとする。
【０１３９】
今、フィールドＢ３１のブロックａを直接モードで処理する場合を考える。この場合、第２参照インデックスが「０」である参照ピクチャ（ここではデフォルトで参照インデックスが割り振られているとする）であるフィールドＰ４１中の、ブロックａと同一位置にあるブロックｂの動きベクトルを利用する。以下では、この動きベクトルを「参照動きベクトル」と呼ぶ。
【０１４０】
ここでは、図１９のように、ブロックｂが、動きベクトルＡを用いて処理されており、この動きベクトルＡは、フィールドＰ１１を参照している場合について説明する。この場合、ブロックａは、参照動きベクトルＡから所定の方法により計算して得られる動きベクトルを用いて、前方参照フィールドであるフィールドＰ１１（参照動きベクトルＡが指しているフィールド）と後方参照フィールドであるフィールドＰ４１（ブロックｂが属するフィールド）とから動き補償を行う。この場合にブロックａを処理する際に用いる動きベクトルは、フィールドＰ１１に対しては動きベクトルＢ、フィールドＰ４１に対しては動きベクトルＣになるとする。この際、動きベクトルＡの大きさをＭＶ１、動きベクトルＢの大きさをＭＶｆ１、動きベクトルＣの大きさをＭＶｂ１とすると、ＭＶｆ１、ＭＶｂ１はそれぞれ式３、式４によって得られる。
【０１４１】
（式３）  ＭＶｆ１＝  Ｎ１×ＭＶ１／Ｄ１
（式４）  ＭＶｂ１＝―Ｍ１×ＭＶ１／Ｄ１
以下ではこれらＮ１、Ｍ１、Ｄ１の値をスケーリング係数と呼ぶとする。スケーリング係数は、フィールド単位で設定された値であるとする。例えばこの場合、スケーリング係数は、各フィールド間の時間的距離から設定することができる。例えばフィールドＰ１１からフィールドＰ４１の時間的距離をＤ１、フィールドＰ１１からフィールドＢ３１の時間的距離をＮ１、フィールドＢ３１からフィールドＰ４１の時間的距離をＭ１と設定すれば、ＭＶｆ１とＭＶｂ１はＭＶに平行な動きベクトルとなる。ここで、スケーリング係数の値の決定方法としては、符号化側と復号化側で同じ規則により生成する（例えば時間情報（タイムスタンプ）から生成する）方法や、符号化時に設定して関連情報等として符号列中または符号列の付属情報として記述し、復号化時にスケーリング係数を符号列中または符号列の付属情報から取得する方法がある。そして直接モードにより符号化されているブロックを復号化する際には、式３、式４を用いてＭＶｆ１、ＭＶｂ１を計算すれば良い。
【０１４２】
さて、動きベクトル記憶部１１６の動作について説明する。動きベクトル記憶部１１６に格納される動きベクトル数は符号化制御部１１０により指定される。また、ここではトップフィールドの動きベクトルとボトムフィールドの動きベクトルを１フィールド分ずつ格納するとする。
【０１４３】
この場合、格納する動きベクトルとしては、参照ピクチャのうち符号化または復号化の順で直前に符号化または復号化された参照ピクチャの動きベクトルを格納する方法がある。ここで、すでに動きベクトル記憶部１１６に記憶されている動きベクトルは、符号化モードが決定される度に、動きベクトルを順に上書きすれば良い。
【０１４４】
具体的には図２０（ａ）に示すように、動きベクトル記憶部１０６を先入れ先出し方式（ＦＩＦＯ）のメモリと同様に制御し、新規のものが格納されると記憶した時刻が古い記憶内容が順に破棄され、常に最新のピクチャが保存されるようにする。また、図２０（ａ）ではＩピクチャまたはＰピクチャが符号化または復号化されるときに用いられた動きベクトルのみを保存する場合について示す。これは直接モードが用いられるＢピクチャがＩピクチャまたはＰピクチャのみを参照する場合を前提としているためである。Ｂピクチャが他のＢピクチャを参照するような場合には、参照ピクチャとして用いられるＢピクチャを符号化または復号化されるときに用いられた動きベクトルも保存すれば良い。
【０１４５】
フィールドＢ３１の符号化または復号化においては、メモリアドレスＭ１にはフィールドＰ４１を符号化または復号化したときの動きベクトルが記憶されており、メモリアドレスＭ１に記憶されている動きベクトルＡを用いて動きベクトルＢおよび動きベクトルＣを導出することが可能である。なお、メモリアドレスＭ２にはフィールドＰ４２を符号化または復号化したときの動きベクトルが記憶されている。
【０１４６】
動きベクトル記憶部１０６の別の例としては図２０（ｂ）に示すように、トップフィールドの動きベクトルとボトムフィールドの動きベクトルとを２フィールド分ずつ格納することができるものが考えられる。この場合、動きベクトル記憶部１０６を先入れ先出し方式（ＦＩＦＯ）のメモリと同様に制御し、メモリアドレスＭ１１に記憶されている動きベクトルは新たに動きベクトルが格納されることになればメモリアドレスＭ１２に移動し、メモリアドレスＭ１２に記憶されている動きベクトルは削除される。メモリアドレスＭ２１、Ｍ２２についても同様である。
【０１４７】
なお、パリティごとに複数のピクチャに対する動きベクトルの記憶領域がある場合、特に不要な画像については、明示的に開放することも可能である。また、使用するメモリの物理的な配置は、連続する配置である必要はなく、ＦＩＦＯ的な動作によってメモリ領域の使用の有無が決定されるようにすればよい。
【０１４８】
また、図２０における説明では符号化または復号化の対象となるピクチャが全てフィールドの場合について述べたが、符号化または復号化の対象となるピクチャがフレームである場合、その符号化または復号化の対象となるフレームを動き補償するときに用いた動きベクトルは、図２０（ａ）ではメモリアドレスＭ１、メモリアドレスＭ２ともに格納するようにしてもよい。図２０（ｂ）においても同様に、メモリアドレスＭ１１、メモリアドレスＭ２１ともに格納するようにしてもよい。符号化または復号化対象のピクチャがフィールドであり、参照ピクチャがフレームである場合、参照ピクチャをフィールドとして扱う。そして、直接モードにおいては、第２参照インデックスが「０」である参照フィールドの動きベクトルを利用するが、この場合、第２参照インデックスが「０」である参照フィールドが元々フレーム構造で処理されていると、そのフレームに含まれる２つのフィールドは、フレーム構造の動きベクトルと同じ動きベクトルを有していると考える。よって、フレーム構造で処理された動きベクトルをメモリアドレスＭ１とＭ２の両者に格納することにより、参照ピクチャがフィールド構造とフレーム構造のいずれで処理されているかを意識することなく、直接モードにおいて利用する動きベクトルを取得することができる。
【０１４９】
一方、このように参照ピクチャであるフレームと同一のピクチャがトップフィールドとボトムフィールドの両者にあるものとして扱わない場合、つまり、例えばトップフィールド用のメモリアドレスに参照ピクチャであるフレームが符号化または復号化対象であったときにこのフレームを動き補償するときに用いた動きベクトルを保存する場合、参照インデックスの再付与によって（参照インデックスは変更（リマッピング）可能であるため）、参照する動きベクトルを誤る可能性がある。なお、このように参照ピクチャであるフレームと同一のピクチャがトップフィールドとボトムフィールドの両者にあるものとして扱わない場合でも、図２０（ａ）に示すように動きベクトルを保存するメモリアドレスが１ピクチャ分であれば、参照インデックスの再付与が生じても、参照する動きベクトルが誤るという問題は起こりにくい。
【０１５０】
このように、フィールドのパリティごとに動きベクトルを格納するように制御することで、フィールド構造でピクチャを処理する場合であっても、直接モードにおいて必要となる動きベクトルを上書きすることがない。
さらに、上記実施の形態１と実施の形態２で説明した本願発明とフィールドのパリティごとに動きベクトルを格納するように制御することとを適応的に組み合わせることが可能である。そして、フィールドのパリティごとに動きベクトルを格納するように制御することで、動きベクトルを格納する量を制限してメモリ量の削減を図ることができ、かつフィールド構造でピクチャを処理する場合であっても、直接モードにおいて必要となる動きベクトルを上書きすることがない。また、同一フレームに属する２つのフィールド（トップフィールドとボトムフィールド）を符号化または復号化するときに用いた動きベクトルを１組として格納するようにするとよい。同一フレームに属するかどうかは、例えばピクチャ番号の連続性とパリティを示す情報とによって判断することができる。あるいは、フレームＰ１、フレームＢ２、フレームＢ３、およびフレームＰ４の連続性を示す情報から判断することができる。また、本実施の形態のおいては、ピクチャ単位でフレーム構造とフィールド構造のいずれで符号化または復号化するかを切り替える場合について説明したが、これはピクチャ内のブロック単位でフレーム構造とフィールド構造のいずれで符号化または復号化するかを切り替えても良い。この場合、フレーム構造で処理したブロックの動きベクトルは、トップフィールド用の動きベクトルメモリとボトムフィールド用の動きベクトルメモリの両者に保持し、フィールド構造でブロックの動きベクトルは、該当するパリティの動きベクトルメモリに保持すれば良い。
【０１５１】
（実施の形態６）
さらに、上記各実施の形態で示した動画像符号化方法および動画像復号化方法の構成を実現するためのプログラムを、フレキシブルディスク等の記録媒体に記録するようにすることにより、上記各実施の形態で示した処理を、独立したコンピュータシステムにおいて簡単に実施することが可能となる。
【０１５２】
図２１は、上記実施の形態１から実施の形態５の動画像符号化方法および動画像復号化方法をコンピュータシステムにより実現するためのプログラムを格納するための記録媒体についての説明図である。
図２１（ｂ）は、フレキシブルディスクの正面からみた外観、断面構造、及びフレキシブルディスクを示し、図２１（ａ）は、記録媒体本体であるフレキシブルディスクの物理フォーマットの例を示している。フレキシブルディスクＦＤはケースＦ内に内蔵され、該ディスクの表面には、同心円状に外周からは内周に向かって複数のトラックＴｒが形成され、各トラックは角度方向に１６のセクタＳｅに分割されている。従って、上記プログラムを格納したフレキシブルディスクでは、上記フレキシブルディスクＦＤ上に割り当てられた領域に、上記プログラムとしての動画像符号化方法および動画像復号化方法が記録されている。
【０１５３】
また、図２１（ｃ）は、フレキシブルディスクＦＤに上記プログラムの記録再生を行うための構成を示す。上記プログラムをフレキシブルディスクＦＤに記録する場合は、コンピュータシステムＣｓから上記プログラムとしての動画像符号化方法および動画像復号化方法を、フレキシブルディスクドライブを介して書き込む。また、フレキシブルディスク内のプログラムにより上記動画像符号化方法および動画像復号化方法をコンピュータシステム中に構築する場合は、フレキシブルディスクドライブによりプログラムをフレキシブルディスクから読み出し、コンピュータシステムに転送する。
【０１５４】
なお、上記説明では、記録媒体としてフレキシブルディスクを用いて説明を行ったが、光ディスクを用いても同様に行うことができる。また、記録媒体はこれに限らず、ＣＤ−ＲＯＭ、メモリカード、ＲＯＭカセット等、プログラムを記録できるものであれば同様に実施することができる。
【０１５５】
（実施の形態７）
さらにここで、上記実施の形態で示した動画像符号化方法や動画像復号化方法の応用例とそれを用いたシステムを説明する。
図２２は、コンテンツ配信サービスを実現するコンテンツ供給システムｅｘ１００の全体構成を示すブロック図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ｅｘ１０７〜ｅｘ１１０が設置されている。
【０１５６】
このコンテンツ供給システムｅｘ１００は、例えば、インターネットｅｘ１０１にインターネットサービスプロバイダｅｘ１０２および電話網ｅｘ１０４、および基地局ｅｘ１０７〜ｅｘ１１０を介して、コンピュータｅｘ１１１、ＰＤＡ（ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ）ｅｘ１１２、カメラｅｘ１１３、携帯電話ｅｘ１１４、カメラ付きの携帯電話ｅｘ１１５などの各機器が接続される。
【０１５７】
しかし、コンテンツ供給システムｅｘ１００は図２２のような組合せに限定されず、いずれかを組み合わせて接続するようにしてもよい。また、固定無線局である基地局ｅｘ１０７〜ｅｘ１１０を介さずに、各機器が電話網ｅｘ１０４に直接接続されてもよい。
【０１５８】
カメラｅｘ１１３はデジタルビデオカメラ等の動画撮影が可能な機器である。また、携帯電話は、ＰＤＣ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ）方式、ＣＤＭＡ（Ｃｏｄｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ）方式、Ｗ−ＣＤＭＡ（Ｗｉｄｅｂａｎｄ−Ｃｏｄｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ）方式、若しくはＧＳＭ（Ｇｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｏｂｉｌｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ）方式の携帯電話機、またはＰＨＳ（Ｐｅｒｓｏｎａｌ  Ｈａｎｄｙｐｈｏｎｅ  Ｓｙｓｔｅｍ）等であり、いずれでも構わない。
【０１５９】
また、ストリーミングサーバｅｘ１０３は、カメラｅｘ１１３から基地局ｅｘ１０９、電話網ｅｘ１０４を通じて接続されており、カメラｅｘ１１３を用いてユーザが送信する符号化処理されたデータに基づいたライブ配信等が可能になる。撮影したデータの符号化処理はカメラｅｘ１１３で行っても、データの送信処理をするサーバ等で行ってもよい。また、カメラｅｘ１１６で撮影した動画データはコンピュータｅｘ１１１を介してストリーミングサーバｅｘ１０３に送信されてもよい。カメラｅｘ１１６はデジタルカメラ等の静止画、動画が撮影可能な機器である。この場合、動画データの符号化はカメラｅｘ１１６で行ってもコンピュータｅｘ１１１で行ってもどちらでもよい。また、符号化処理はコンピュータｅｘ１１１やカメラｅｘ１１６が有するＬＳＩｅｘ１１７において処理することになる。なお、動画像符号化・復号化用のソフトウェアをコンピュータｅｘ１１１等で読み取り可能な記録媒体である何らかの蓄積メディア（ＣＤ−ＲＯＭ、フレキシブルディスク、ハードディスクなど）に組み込んでもよい。さらに、カメラ付きの携帯電話ｅｘ１１５で動画データを送信してもよい。このときの動画データは携帯電話ｅｘ１１５が有するＬＳＩで符号化処理されたデータである。
【０１６０】
このコンテンツ供給システムｅｘ１００では、ユーザがカメラｅｘ１１３、カメラｅｘ１１６等で撮影しているコンテンツ（例えば、音楽ライブを撮影した映像等）を上記実施の形態同様に符号化処理してストリーミングサーバｅｘ１０３に送信する一方で、ストリーミングサーバｅｘ１０３は要求のあったクライアントに対して上記コンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号化することが可能な、コンピュータｅｘ１１１、ＰＤＡｅｘ１１２、カメラｅｘ１１３、携帯電話ｅｘ１１４等がある。このようにすることでコンテンツ供給システムｅｘ１００は、符号化されたデータをクライアントにおいて受信して再生することができ、さらにクライアントにおいてリアルタイムで受信して復号化し、再生することにより、個人放送をも実現可能になるシステムである。
【０１６１】
このシステムを構成する各機器の符号化、復号化には上記各実施の形態で示した動画像符号化装置あるいは動画像復号化装置を用いるようにすればよい。
その一例として携帯電話について説明する。
図２３は、上記実施の形態で説明した動画像符号化方法と動画像復号化方法を用いた携帯電話ｅｘ１１５を示す図である。携帯電話ｅｘ１１５は、基地局ｅｘ１１０との間で電波を送受信するためのアンテナｅｘ２０１、ＣＣＤカメラ等の映像、静止画を撮ることが可能なカメラ部ｅｘ２０３、カメラ部ｅｘ２０３で撮影した映像、アンテナｅｘ２０１で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ｅｘ２０２、操作キーｅｘ２０４群から構成される本体部、音声出力をするためのスピーカ等の音声出力部ｅｘ２０８、音声入力をするためのマイク等の音声入力部ｅｘ２０５、撮影した動画もしくは静止画のデータ、受信したメールのデータ、動画のデータもしくは静止画のデータ等、符号化されたデータまたは復号化されたデータを保存するための記録メディアｅｘ２０７、携帯電話ｅｘ１１５に記録メディアｅｘ２０７を装着可能とするためのスロット部ｅｘ２０６を有している。記録メディアｅｘ２０７はＳＤカード等のプラスチックケース内に電気的に書換えや消去が可能な不揮発性メモリであるＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）の一種であるフラッシュメモリ素子を格納したものである。
【０１６２】
さらに、携帯電話ｅｘ１１５について図２４を用いて説明する。携帯電話ｅｘ１１５は表示部ｅｘ２０２及び操作キーｅｘ２０４を備えた本体部の各部を統括的に制御するようになされた主制御部ｅｘ３１１に対して、電源回路部ｅｘ３１０、操作入力制御部ｅｘ３０４、画像符号化部ｅｘ３１２、カメラインターフェース部ｅｘ３０３、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）制御部ｅｘ３０２、画像復号化部ｅｘ３０９、多重分離部ｅｘ３０８、記録再生部ｅｘ３０７、変復調回路部ｅｘ３０６及び音声処理部ｅｘ３０５が同期バスｅｘ３１３を介して互いに接続されている。
【０１６３】
電源回路部ｅｘ３１０は、ユーザの操作により終話及び電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することによりカメラ付ディジタル携帯電話ｅｘ１１５を動作可能な状態に起動する。
携帯電話ｅｘ１１５は、ＣＰＵ、ＲＯＭ及びＲＡＭ等でなる主制御部ｅｘ３１１の制御に基づいて、音声通話モード時に音声入力部ｅｘ２０５で集音した音声信号を音声処理部ｅｘ３０５によってディジタル音声データに変換し、これを変復調回路部ｅｘ３０６でスペクトラム拡散処理し、送受信回路部ｅｘ３０１でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナｅｘ２０１を介して送信する。また携帯電話機ｅｘ１１５は、音声通話モード時にアンテナｅｘ２０１で受信した受信データを増幅して周波数変換処理及びアナログディジタル変換処理を施し、変復調回路部ｅｘ３０６でスペクトラム逆拡散処理し、音声処理部ｅｘ３０５によってアナログ音声データに変換した後、これを音声出力部ｅｘ２０８を介して出力する。
【０１６４】
さらに、データ通信モード時に電子メールを送信する場合、本体部の操作キーｅｘ２０４の操作によって入力された電子メールのテキストデータは操作入力制御部ｅｘ３０４を介して主制御部ｅｘ３１１に送出される。主制御部ｅｘ３１１は、テキストデータを変復調回路部ｅｘ３０６でスペクトラム拡散処理し、送受信回路部ｅｘ３０１でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナｅｘ２０１を介して基地局ｅｘ１１０へ送信する。
【０１６５】
データ通信モード時に画像データを送信する場合、カメラ部ｅｘ２０３で撮像された画像データをカメラインターフェース部ｅｘ３０３を介して画像符号化部ｅｘ３１２に供給する。また、画像データを送信しない場合には、カメラ部ｅｘ２０３で撮像した画像データをカメラインターフェース部ｅｘ３０３及びＬＣＤ制御部ｅｘ３０２を介して表示部ｅｘ２０２に直接表示することも可能である。
【０１６６】
画像符号化部ｅｘ３１２は、本願発明で説明した画像符号化装置を備えた構成であり、カメラ部ｅｘ２０３から供給された画像データを上記実施の形態で示した画像符号化装置に用いた符号化方法によって圧縮符号化することにより符号化画像データに変換し、これを多重分離部ｅｘ３０８に送出する。また、このとき同時に携帯電話機ｅｘ１１５は、カメラ部ｅｘ２０３で撮像中に音声入力部ｅｘ２０５で集音した音声を音声処理部ｅｘ３０５を介してディジタルの音声データとして多重分離部ｅｘ３０８に送出する。
【０１６７】
多重分離部ｅｘ３０８は、画像符号化部ｅｘ３１２から供給された符号化画像データと音声処理部ｅｘ３０５から供給された音声データとを所定の方式で多重化し、その結果得られる多重化データを変復調回路部ｅｘ３０６でスペクトラム拡散処理し、送受信回路部ｅｘ３０１でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナｅｘ２０１を介して送信する。
【０１６８】
データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、アンテナｅｘ２０１を介して基地局ｅｘ１１０から受信した受信データを変復調回路部ｅｘ３０６でスペクトラム逆拡散処理し、その結果得られる多重化データを多重分離部ｅｘ３０８に送出する。
【０１６９】
また、アンテナｅｘ２０１を介して受信された多重化データを復号化するには、多重分離部ｅｘ３０８は、多重化データを分離することにより画像データのビットストリームと音声データのビットストリームとに分け、同期バスｅｘ３１３を介して当該符号化画像データを画像復号化部ｅｘ３０９に供給すると共に当該音声データを音声処理部ｅｘ３０５に供給する。
【０１７０】
次に、画像復号化部ｅｘ３０９は、本願発明で説明した画像復号化装置を備えた構成であり、画像データのビットストリームを上記実施の形態で示した符号化方法に対応した復号化方法で復号することにより再生動画像データを生成し、これをＬＣＤ制御部ｅｘ３０２を介して表示部ｅｘ２０２に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まれる動画データが表示される。このとき同時に音声処理部ｅｘ３０５は、音声データをアナログ音声データに変換した後、これを音声出力部ｅｘ２０８に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まる音声データが再生される。
【０１７１】
なお、上記システムの例に限られず、最近は衛星、地上波によるディジタル放送が話題となっており、図２５に示すようにディジタル放送用システムにも上記実施の形態の少なくとも動画像符号化装置または動画像復号化装置のいずれかを組み込むことができる。具体的には、放送局ｅｘ４０９では映像情報のビットストリームが電波を介して通信または放送衛星ｅｘ４１０に伝送される。これを受けた放送衛星ｅｘ４１０は、放送用の電波を発信し、この電波を衛星放送受信設備をもつ家庭のアンテナｅｘ４０６で受信し、テレビ（受信機）ｅｘ４０１またはセットトップボックス（ＳＴＢ）ｅｘ４０７などの装置によりビットストリームを復号化してこれを再生する。また、記録媒体であるＣＤやＤＶＤ等の蓄積メディアｅｘ４０２に記録したビットストリームを読み取り、復号化する再生装置ｅｘ４０３にも上記実施の形態で示した動画像復号化装置を実装することが可能である。この場合、再生された映像信号はモニタｅｘ４０４に表示される。また、ケーブルテレビ用のケーブルｅｘ４０５または衛星／地上波放送のアンテナｅｘ４０６に接続されたセットトップボックスｅｘ４０７内に動画像復号化装置を実装し、これをテレビのモニタｅｘ４０８で再生する構成も考えられる。このときセットトップボックスではなく、テレビ内に動画像復号化装置を組み込んでも良い。また、アンテナｅｘ４１１を有する車ｅｘ４１２で衛星ｅｘ４１０からまたは基地局ｅｘ１０７等から信号を受信し、車ｅｘ４１２が有するカーナビゲーションｅｘ４１３等の表示装置に動画を再生することも可能である。
【０１７２】
更に、画像信号を上記実施の形態で示した画像符号化装置で符号化し、記録媒体に記録することもできる。具体例としては、ＤＶＤディスクｅｘ４２１に画像信号を記録するＤＶＤレコーダや、ハードディスクに記録するディスクレコーダなどのレコーダｅｘ４２０がある。更にＳＤカードｅｘ４２２に記録することもできる。レコーダｅｘ４２０が上記実施の形態で示した動画像復号化装置を備えていれば、ＤＶＤディスクｅｘ４２１やＳＤカードｅｘ４２２に記録した画像信号を再生し、モニタｅｘ４０８で表示することができる。
【０１７３】
なお、カーナビゲーションｅｘ４１３の構成は例えば図２４に示す構成のうち、カメラ部ｅｘ２０３とカメラインターフェース部ｅｘ３０３、画像符号化部ｅｘ３１２を除いた構成が考えられ、同様なことがコンピュータｅｘ１１１やテレビ（受信機）ｅｘ４０１等でも考えられる。
【０１７４】
また、上記携帯電話ｅｘ１１４等の端末は、符号化器・復号化器を両方持つ送受信型の端末の他に、符号化器のみの送信端末、復号化器のみの受信端末の３通りの実装形式が考えられる。
このように、上記実施の形態で示した動画像符号化方法あるいは動画像復号化方法を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記実施の形態で説明した効果を得ることができる。
【０１７５】
また、本発明はかかる上記実施形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形または修正が可能である。
【０１７６】
【発明の効果】
以上の様に、本発明の動画像符号化方法および動画像復号化方法によれば、直接モードで必要となる動きベクトルを格納するためのメモリ量を削減しつつ、より符号化効率の高い符号列を生成することができ、その実用的価値が高い。
【図面の簡単な説明】
【図１】本発明の実施の形態１の動画像符号化装置の構成を示すブロック図である。
【図２】（ａ）は、図１の動画像符号化装置に入力画像として入力されるピクチャの順序を示す図である。（ｂ）は、（ａ）に示したピクチャの順序を符号化順に並べ替えた場合のピクチャの順序を示す図である。
【図３】図１に示した符号列生成部によって生成される符号列の一例を示す図である。（ａ）は、動きベクトルの記憶量に関する情報がシーケンスヘッダに記述された符号列の一例を示す図である。（ｂ）は、動きベクトルの記憶量に関する情報がＧＯＰ（Ｇｒｏｕｐ  ｏｆ  Ｐｉｃｔｕｒｅｓ）ヘッダに記述された符号列の一例を示す図である。（ｃ）は、動きベクトルの記憶量に関する情報がピクチャヘッダに記述された符号列の一例を示す図である。（ｄ）は、動きベクトルの記憶量に関する情報がスライスヘッダに記述された符号列の一例を示す図である。
【図４】対象ブロックの動きベクトルを、直接モードを用いて計算する場合の計算方法の一例を示す図である。
【図５】Ｂピクチャを直接モードで符号化する際に第２参照インデックスが「０」の参照ピクチャの動きベクトルを利用できない場合の２方向予測の一例を示す図である。
【図６】Ｂピクチャを直接モードで符号化する際に第２参照インデックスが「０」の参照ピクチャの動きベクトルを利用できない場合の２方向予測の他の例を示す図である。
【図７】実施の形態２の動画像復号化装置の構成を示すブロック図である。
【図８】（ａ）は、符号列中に含まれるピクチャの順序を示すである。（ｂ）は、（ａ）に示したピクチャの並びを復号化順に並べ替えた場合のピクチャの順序を示す図である。
【図９】記録媒体からのデータの再生を管理するための管理情報と、符号化されたＡＶデータとをＤＶＤなどの記録媒体に記録する記録装置の概略的構成を示すブロック図である。
【図１０】図９に示したシステム符号化部によって生成された管理情報とＡＶ（Ａｕｄｉｏ  Ｖｉｄｅｏ）ストリームとが記録されたＤＶＤなどの記録媒体の一例を示す図である。
【図１１】図９に示した記録装置に備えられる動画像符号化装置の構成を示すブロック図である。
【図１２】（ａ）は、表示順に入力されたピクチャとそれらの符号化の順を示す図である。（ｂ）は、従来のＭＰＥＧ−４符号化方式において、各ピクチャの符号化に伴ってメモリ内に格納される参照ピクチャと動きベクトルとを示す図である。
【図１３】（ａ）は、表示順に入力されたピクチャとそれらの符号化の順を示す図である。（ｂ）は、図１１に示した動画像符号化装置において、各ピクチャの符号化に伴ってメモリ内に格納される参照ピクチャと動きベクトルとを示す図である。
【図１４】デジタルテレビ放送で送信されるデータストリームの一例を示す図である。
【図１５】実施の形態４の再生装置の概略的構成を示すブロック図である。
【図１６】図１５に示したビデオ復号化部に相当する動画像復号化装置の構成を示すブロック図である。
【図１７】符号化または復号化の対象ピクチャがフィールド構造である場合のピクチャ間の参照関係の一例を示す図である。
【図１８】符号化または復号化の対象ピクチャがフレームである場合についてピクチャ間の参照関係の一例を示す図である。
【図１９】動画像を符号化または復号化する際の、各フレームの時間的並びを示す図である。
【図２０】（ａ）は、動きベクトルを保存するメモリアドレスが１ピクチャ分である場合のメモリの動作を説明するための模式図である。（ｂ）は、トップフィールドの動きベクトルとボトムフィールドの動きベクトルとを２フィールド分ずつ格納する場合のメモリの動作を説明するための模式図である。
【図２１】上記各実施の形態の動画像符号化方法、動画像復号化方法を、フレキシブルディスク等の記録媒体に記録されたプログラムを用いて、コンピュータシステムにより実施する場合の説明図である。（ａ）は、記録媒体本体であるフレキシブルディスクの物理フォーマットの例を示している。（ｂ）は、フレキシブルディスクの正面からみた外観、断面構造、及びフレキシブルディスクを示し、（ｃ）  は、フレキシブルディスクＦＤに上記プログラムの記録再生を行うための構成を示す。
【図２２】コンテンツ配信サービスを実現するコンテンツ供給システムｅｘ１００の全体構成を示すブロック図である。
【図２３】上記実施の形態で説明した動画像符号化方法と動画像復号化方法を用いた携帯電話ｅｘ１１５を示す図である。
【図２４】携帯電話の構成を示すブロック図である。
【図２５】ディジタル放送用システムの一例を示す図である。
【図２６】従来の直接モードにおけるピクチャ間予測方法の一例を示す図である。
【図２７】入力された各ピクチャに対するピクチャ番号および参照インデックスの付与の一例を示す説明図である。
【図２８】従来の動画像符号化方法、動画像復号化方法における画像符号化信号のフォーマットを示す概念図である。
【図２９】（ａ）は、Ｂピクチャが前方４枚および後方１枚のＰピクチャを参照ピクチャとして符号化される場合における符号化対象ピクチャＢ１１に対する参照インデックスの初期設定の一例を示す図である。（ｂ）は、（ａ）に示した参照インデックスに対して、リマッピングが行われた場合におけるピクチャＢ１１の参照インデックスの一例を示す図である。
【符号の説明】
１００    動画像符号化装置
１０１、１０７    フレームメモリ
１０２    差分演算部
１０３    予測残差符号化部
１０４    符号列生成部
１０５    予測残差復号化部
１０６    加算演算部
１０８    動きベクトル検出部
１０９    モード選択部
１１０    符号化制御部
１１１、１１２、１１３、１１４、１１５    スイッチ
１１６    動きベクトル記憶部
７００    動画像復号化装置
７０１    符号列解析部
７０２    予測残差復号化部
７０３    モード復号部
７０５    動き補償復号部
７０６    動きベクトル記憶部
７０７    フレームメモリ
７０８    加算演算部
７０９、７１０    スイッチ
Ｃｓ      コンピュータシステム
ＦＤ      フレキシブルディスク
ＦＤＤ    フレキシブルディスクドライブ
【図１】
2004194274.tif 000003
【図２】
2004194274.tif 000004
【図３】
2004194274.tif 000005
【図４】
2004194274.tif 000006
【図５】
2004194274.tif 000007
【図６】
2004194274.tif 000008
【図７】
2004194274.tif 000009
【図８】
2004194274.tif 000010
【図９】
2004194274.tif 000011
【図１０】
2004194274.tif 000012
【図１１】
2004194274.tif 000013
【図１２】
2004194274.tif 000014
【図１３】
2004194274.tif 000015
【図１４】
2004194274.tif 000016
【図１５】
2004194274.tif 000017
【図１６】
2004194274.tif 000018
【図１７】
2004194274.tif 000019
【図１８】
2004194274.tif 000020
【図１９】
2004194274.tif 000021
【図２０】
2004194274.tif 000022
【図２１】
2004194274.tif 000023
【図２２】
2004194274.tif 000024
【図２３】
2004194274.tif 000025
【図２４】
2004194274.tif 000026
【図２５】
2004194274.tif 000027
【図２６】
2004194274.tif 000028
【図２７】
2004194274.tif 000029
【図２８】
2004194274.tif 000030
【図２９】
2004194274.tif 000031