(57)【要約】【課題】別のピクチャの同一位置のブロックの動きベクトルを予測動きベクトルの候補として利用する場合、既復号化済みの別のピクチャの動きベクトルを復号化装置のメモリの記録しておく必要がある為、動きベクトルのデータ量が膨大になり、メモリの増設が不可欠となり、コストが増加する。【解決手段】動きベクトル圧縮伸張部部209は、次のピクチャの復号化を開始する前に、メモリに記録された動きベクトルを、所定範囲内にある複数の動きベクトルの中から1つの動きベクトルをその所定範囲の代表値として選出することで、メモリの中に占める動きベクトルの記憶容量を削減する。所定範囲は符号化時に指定され、符号化されたビットストリームの中にも情報として格納されるデータ構造を定義するので、復号化においても符号化と同様の動きベクトルの削減を可能となる。【選択図】図6
2012186760.tif 000002
【特許請求の範囲】
【請求項１】
動画像の各ピクチャを分割したブロック単位で動きベクトルを用いて前記動画像が符号化されたビットストリームを復号する動画像復号化装置であって、
前記ビットストリームから所定範囲内の前記ブロック単位で復号された動きベクトルを含む動き情報とともに、前記ビットストリームから復号された前記所定範囲内の前記ブロックの属する予測ブロックの大きさを表すパラメータを用いて、前記所定範囲内を占める領域の大きい予測ブロックを判定し、判定された前記予測ブロックの動きベクトルを前記所定範囲の代表値としてメモリに格納するとともに、次のピクチャの復号時に前記所定範囲の大きさと前記予測ブロックの位置により前記メモリから前記動きベクトルの代表値を選択する動きベクトル圧縮伸張部と、
前記動きベクトル圧縮伸張部にて選択された前記動きベクトルの代表値を予測動きベクトルの候補に用いて予測動きベクトルを復号する予測動きベクトル選択部と、
を具備することを特徴とする動画像復号化装置。
【請求項２】
請求項１に記載の動画像復号化装置において、
前記予測ブロックは前記分割したブロックを１個或いは複数個有する矩形の画素領域であって、同一の動き情報及び予測ブロックの大きさを表すパラメータを備えるように分割されることを特徴とする動画像復号化装置。
【請求項３】
請求項１に記載の動画像復号化装置において、
前記分割したブロックには、前記動き情報として、動きベクトル以外に、参照ピクチャ番号、予測モードが格納され、前記分割したブロックが属する前記予測ブロックの大きさを表すパラメータとして、前記予測ブロックのサイズに至るまでの分割数と前記予測ブロックの形状とを示す分割モードが格納されることを特徴とする動画像復号化装置。
【請求項４】
請求項１に記載の動画像復号化装置において、
所定範囲は前記メモリ内をピクチャと対応するように二次元に配列した前記動きベクトルのデータ列を均等に分割する正方矩形配列で定義され、前記正方矩形配列の辺長として前記分割したブロックの個数を表すパラメータをビットストリームより復号化して得ることを特徴とする動画像復号化装置。
【請求項５】
請求項１に記載の動画像復号化装置において、
前記動きベクトル圧縮伸張部は、前記所定範囲で複数の予測ブロックが選択候補として残った場合に、復号された順番が先の予測ブロックを優先して、前記予測ブロックの動きベクトルを代表値として選択することを特徴とする動画像復号化装置。
【請求項６】
請求項１に記載の動画像復号化装置において、
前記動きベクトル圧縮伸張部は、前記所定範囲で複数の予測ブロックが選択候補として残った場合に、前記所定範囲の中央に近い位置にある予測ブロックを優先して、前記予測ブロックの動きベクトルを代表値として選択することを特徴とする動画像復号化装置。
【請求項７】
請求項１に記載の動画像復号化装置において、
前記動きベクトル圧縮伸張部は、前記所定範囲の中央に配置された複数のブロックの動き情報と予測ブロックの大きさを表すパラメータに基づいて、前記複数のブロックが属する予測ブロックの大きさが最も大きいブロックの動きベクトルを代表値として選択することを特徴とする動画像復号化装置。
【請求項８】
請求項１に記載の動画像復号化装置において、
前記動きベクトル圧縮伸張部は、予め前記所定範囲の大きさに基づいて動きベクトルの選択の判定を実施する最小判定範囲を定め、前記所定範囲内の予測ブロックが前記最小判定範囲以上の大きさである場合に前記予測ブロックの動きベクトルを代表値として選択し、判定処理を終了することを特徴とする動画像復号化装置。
【請求項９】
動画像の各ピクチャを分割したブロック単位で動きベクトルを用いて前記動画像が符号化されたビットストリームを復号する動画像復号化方法であって、
前記ビットストリームから所定範囲内の前記ブロック単位で復号された動きベクトルを含む動き情報とともに、前記ビットストリームから復号された前記所定範囲内の前記ブロックの属する予測ブロックの大きさを表すパラメータを用いて、前記所定範囲内を占める領域の大きい予測ブロックを判定し、判定された前記予測ブロックの動きベクトルを前記所定範囲の代表値としてメモリに格納するとともに、次のピクチャの復号時に前記所定範囲の大きさと前記予測ブロックの位置により前記メモリから前記動きベクトルの代表値を選択する動きベクトル圧縮伸張ステップと、
前記動きベクトル圧縮伸張ステップにて選択された前記動きベクトルの代表値を予測動きベクトルの候補に用いて予測動きベクトルを復号する予測動きベクトル選択ステップと、
を具備することを特徴とする動画像復号化方法。
【請求項１０】
動画像の各ピクチャを分割したブロック単位で動きベクトルを用いて前記動画像が符号化されたビットストリームを復号する動作をコンピュータに実行させる動画像復号化プログラムであって、
前記ビットストリームから所定範囲内の前記ブロック単位で復号された動きベクトルを含む動き情報とともに、前記ビットストリームから復号された前記所定範囲内の前記ブロックの属する予測ブロックの大きさを表すパラメータを用いて、前記所定範囲内を占める領域の大きい予測ブロックを判定し、判定された前記予測ブロックの動きベクトルを前記所定範囲の代表値としてメモリに格納するとともに、次のピクチャの復号時に前記所定範囲の大きさと前記予測ブロックの位置により前記メモリから前記動きベクトルの代表値を選択する動きベクトル圧縮伸張ステップと、
前記動きベクトル圧縮伸張ステップにて選択された前記動きベクトルの代表値を予測動きベクトルの候補に用いて予測動きベクトルを復号する予測動きベクトル選択ステップと、
をコンピュータに実行させる動画像復号化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像の復号技術に関し、特に動き補償予測を利用した動画像の復号技術に関する。
【背景技術】
【０００２】
MPEG（Moving Picture coding Experts Group）に代表される、ピクチャを矩形ブロックに分割し、ピクチャ間でブロック単位に動き推定、補償を行う動画像符号化方式では、各ブロックで生成される動きベクトルの符号量を削減する為に、動きベクトルに対して予測処理が行われる。MPEG-2では、マクロブロック単位に検出される動きベクトルは、直前に符号化されたマクロブロックの動きベクトルとの差分がとられ、その差分ベクトルを符号化することで、符号量を削減している。MPEG-4 AVC / H.264では、動きベクトルが周囲の隣接ブロックの動きベクトルと強い相関があることを利用して、周囲の隣接ブロックからの予測を行い、その差分ベクトルを符号化することによって符号量を削減している。具体的には、図1に示されるように、周囲の隣接ブロックの動きベクトルから中央値を算出し、その中央値との差分をとることで動きベクトルの予測を実現している。但し、図2のように符号化対象ブロックと隣接ブロックとの形状が異なる場合は、左隣に複数の隣接ブロックがある時はその中の一番上のブロックを、上に複数の隣接ブロックがある時はその中の一番左のブロックを予測ブロックとし、図3のように符号化対象ブロックが2N×N画素或いはN×2N画素で分割される場合は、中央値ではなく、動き補償ブロックサイズに応じて図3に示されるように予測ブロックを決定し、その動きベクトルから予測を実施する。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】ISO/IEC 13818-2 Information technology -- Generic coding of moving pictures and associated audio information: Video
【非特許文献２】ISO/IEC 14496-10 Information technology -- Coding of audio-visual objects -- Part 10: Advanced Video Coding
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の動きベクトルの予測方法では、予測の為の動きベクトルが1つしかないので、予測が当たらないと、動きベクトルの差分が大きくなり、発生符号量が増加する課題があった。この課題を解決する為に、ISO/IEC及びITU-Tにおける動画像符号化の規格作業の中で新たな動きベクトルの予測手法が検討されている。この手法は、符号化済みの周囲の隣接ブロックの動きベクトル及び符号化済みの時間が異なる別のピクチャの同一位置のブロックの動きベクトルについて、それぞれを予測動きベクトルの候補として適用した場合の発生符号量を評価する基準としている。図4に予測動きベクトルの候補となる隣接ブロックの一例を示す。図4（a）は同一ピクチャ内の隣接ブロックの例であり、処理対象のブロックの左側に隣接するブロックA0からA3の中から1つが左の隣接ブロックとして選択され、上側に隣接するブロックB0からB5の中から1つが上の隣接ブロックとして選択される。図4（b）は時間が異なる別のピクチャの同一位置のブロックの例である。これら3つのブロックの動きベクトルを予測動きベクトルの候補とし、発生符号量が最も小さくなる動きベクトルを予測動きベクトルとして選択し、動きベクトルを選択した隣接ブロックに関する付加情報を必要であれば符号化し伝送するものである。しかしながら、既符号化済みの別のピクチャの動き情報を符号化装置のメモリの記録しておく必要がある為、メモリの増設が不可欠となり、コストが増加する課題があった。動き情報は予測ブロック毎に動き検出で算出されるが、動き検出する予測ブロックのサイズを適応的に変更しても、最小サイズの予測ブロックでの動き検出を想定する必要があるので、メモリには最小サイズ単位に動き情報を保存しておく必要がある。その為、予測ブロックが大きい場合でも、その予測ブロックの1つの動き情報をメモリに保存するのではなく、予測ブロック内部を構成する最小サイズ全てに同一の動き情報を保存することになる。一方、予測動きベクトルの候補を別のピクチャの同一位置のブロックから得るには、動き情報が重複しても予測ブロックの最小サイズ単位でメモリに記録しておく方がメモリへのアクセスがし易い利点もある。その為、予測ブロックのサイズに応じて動き情報をメモリに格納すると、メモリに対する動き情報の使用容量は削減されるが、予測ブロックのアドレスからメモリアドレスへの変換が複雑になり、アクセス効率が低下しまう課題も生じる。
【０００５】
以上の点を鑑みて、本発明は、既復号済みの別のピクチャの動き情報、特に動きベクトルに関して、所定範囲内にある複数の動きベクトルの中から1つの動きベクトルをその所定範囲の代表値として選出することで、メモリの中に占める動きベクトルの記憶容量を削減させる技術を提供することを目的とする。本発明では、所定範囲内の中を占める領域の大きい予測ブロックを判定し、その動きベクトルを代表値とすることで、別のピクチャから得られる予測動きベクトルの精度を向上させて、符号化効率を改善させる。
【課題を解決するための手段】
【０００６】
そこで、上記課題を解決するために本発明は以下の装置、方法、およびプログラムを提供するものである。
(1)  動画像の各ピクチャを分割したブロック単位で動きベクトルを用いて前記動画像が符号化されたビットストリームを復号する動画像復号化装置であって、
前記ビットストリームから所定範囲内の前記ブロック単位で復号された動きベクトルを含む動き情報とともに、前記ビットストリームから復号された前記所定範囲内の前記ブロックの属する予測ブロックの大きさを表すパラメータを用いて、前記所定範囲内を占める領域の大きい予測ブロックを判定し、判定された前記予測ブロックの動きベクトルを前記所定範囲の代表値としてメモリに格納するとともに、次のピクチャの復号時に前記所定範囲の大きさと前記予測ブロックの位置により前記メモリから前記動きベクトルの代表値を選択する動きベクトル圧縮伸張部と、
前記動きベクトル圧縮伸張部にて選択された前記動きベクトルの代表値を予測動きベクトルの候補に用いて予測動きベクトルを復号する予測動きベクトル選択部と、
を具備することを特徴とする動画像復号化装置。
(2)  上記(1)に記載の動画像復号化装置において、
前記予測ブロックは前記分割したブロックを１個或いは複数個有する矩形の画素領域であって、同一の動き情報及び予測ブロックの大きさを表すパラメータを備えるように分割されることを特徴とする動画像復号化装置。
(3)  上記(1)に記載の動画像復号化装置において、
前記分割したブロックには、前記動き情報として、動きベクトル以外に、参照ピクチャ番号、予測モードが格納され、前記分割したブロックが属する前記予測ブロックの大きさを表すパラメータとして、前記予測ブロックのサイズに至るまでの分割数と前記予測ブロックの形状とを示す分割モードが格納されることを特徴とする動画像復号化装置。
(4)  上記(1)に記載の動画像復号化装置において、
所定範囲は前記メモリ内をピクチャと対応するように二次元に配列した前記動きベクトルのデータ列を均等に分割する正方矩形配列で定義され、前記正方矩形配列の辺長として前記分割したブロックの個数を表すパラメータをビットストリームより復号化して得ることを特徴とする動画像復号化装置。
(5)  上記(1)に記載の動画像復号化装置において、
前記動きベクトル圧縮伸張部は、前記所定範囲で複数の予測ブロックが選択候補として残った場合に、復号された順番が先の予測ブロックを優先して、前記予測ブロックの動きベクトルを代表値として選択することを特徴とする動画像復号化装置。
(6)  上記(1)に記載の動画像復号化装置において、
前記動きベクトル圧縮伸張部は、前記所定範囲で複数の予測ブロックが選択候補として残った場合に、前記所定範囲の中央に近い位置にある予測ブロックを優先して、前記予測ブロックの動きベクトルを代表値として選択することを特徴とする動画像復号化装置。
(7)  上記(1)に記載の動画像復号化装置において、
前記動きベクトル圧縮伸張部は、前記所定範囲の中央に配置された複数のブロックの動き情報と予測ブロックの大きさを表すパラメータに基づいて、前記複数のブロックが属する予測ブロックの大きさが最も大きいブロックの動きベクトルを代表値として選択することを特徴とする動画像復号化装置。
(8)  上記(1)に記載の動画像復号化装置において、
前記動きベクトル圧縮伸張部は、予め前記所定範囲の大きさに基づいて動きベクトルの選択の判定を実施する最小判定範囲を定め、前記所定範囲内の予測ブロックが前記最小判定範囲以上の大きさである場合に前記予測ブロックの動きベクトルを代表値として選択し、判定処理を終了することを特徴とする動画像復号化装置。
(9)  動画像の各ピクチャを分割したブロック単位で動きベクトルを用いて前記動画像が符号化されたビットストリームを復号する動画像復号化方法であって、
前記ビットストリームから所定範囲内の前記ブロック単位で復号された動きベクトルを含む動き情報とともに、前記ビットストリームから復号された前記所定範囲内の前記ブロックの属する予測ブロックの大きさを表すパラメータを用いて、前記所定範囲内を占める領域の大きい予測ブロックを判定し、判定された前記予測ブロックの動きベクトルを前記所定範囲の代表値としてメモリに格納するとともに、次のピクチャの復号時に前記所定範囲の大きさと前記予測ブロックの位置により前記メモリから前記動きベクトルの代表値を選択する動きベクトル圧縮伸張ステップと、
前記動きベクトル圧縮伸張ステップにて選択された前記動きベクトルの代表値を予測動きベクトルの候補に用いて予測動きベクトルを復号する予測動きベクトル選択ステップと、
を具備することを特徴とする動画像復号化方法。
(10)  動画像の各ピクチャを分割したブロック単位で動きベクトルを用いて前記動画像が符号化されたビットストリームを復号する動作をコンピュータに実行させる動画像復号化プログラムであって、
前記ビットストリームから所定範囲内の前記ブロック単位で復号された動きベクトルを含む動き情報とともに、前記ビットストリームから復号された前記所定範囲内の前記ブロックの属する予測ブロックの大きさを表すパラメータを用いて、前記所定範囲内を占める領域の大きい予測ブロックを判定し、判定された前記予測ブロックの動きベクトルを前記所定範囲の代表値としてメモリに格納するとともに、次のピクチャの復号時に前記所定範囲の大きさと前記予測ブロックの位置により前記メモリから前記動きベクトルの代表値を選択する動きベクトル圧縮伸張ステップと、
前記動きベクトル圧縮伸張ステップにて選択された前記動きベクトルの代表値を予測動きベクトルの候補に用いて予測動きベクトルを復号する予測動きベクトル選択ステップと、
をコンピュータに実行させる動画像復号化プログラム。
【発明の効果】
【０００７】
本発明によれば、既復号済みの別のピクチャの動きベクトルに関して、所定範囲内にある複数の動きベクトルの中から1つの動きベクトルをその所定範囲の代表値として選出しメモリに格納することで、メモリの中に占める動きベクトルの記憶容量を削減させることが出来る。
【図面の簡単な説明】
【０００８】
【図１】従来の周辺の隣接ブロックから予測動きベクトルの求め方を説明する図である。
【図２】従来の隣接ブロックの形状が異なる場合の予測動きベクトルの求め方を説明する図である。
【図３】従来の符号化対象ブロックの形状が2N×N或いはN×2Nの場合の予測動きベクトルの求め方を説明する図である。
【図４】動きベクトルの予測において、周辺の隣接ブロック及び別ピクチャの同一位置のブロックから予測動きベクトルの候補を選出する動作を説明する為の図である。
【図５】実施例における動きベクトルの選出方法を具備した動画像符号化装置の構成を示すブロック図である。
【図６】実施例における動きベクトルの選出方法を具備した動画像復号化装置の構成を示すブロック図である。
【図７】実施例における符号化ブロックの定義を説明する為の図である。
【図８】実施例における予測ブロックの形状の種類を説明する為の図である。
【図９】実施例におけるCUパーティションの形状の種類を説明する為の図である。
【図１０】実施例における動きベクトルの選出方法にて選出された動きベクトルの保存形式を説明する図である。
【図１１】実施例における動きベクトルの選出方法を実行するか否かを決定するビットストリームのシンタックスパターンを示す図である。
【図１２】実施例における動きベクトルの選出方法を具備した動画像符号化装置及び動画像復号化装置の動きベクトル圧縮伸張部の動作を説明する為の詳細な構成を示すブロック図である。
【図１３】実施例における動きベクトルの選出方法の処理対象となる予測ブロックの位置を説明する為の図である。
【図１４】実施例における動きベクトルの選出方法を具備した動画像符号化装置及び動画像復号化装置の動きベクトル圧縮部の動作を説明する為の詳細な構成を示すブロック図である。
【図１５】実施例における動きベクトルの選出方法で設定された所定範囲内の最小予測ブロック単位にメモリに記録されるdepth及びpartModeの一例を説明する図である。
【図１６】動きベクトルの選出方法の第1実施例の動作を説明する為のフローチャートである。
【図１７】実施例における動きベクトルの選出方法で設定された所定範囲とその内部の最小予測ブロックの配置を説明する図である。
【図１８】実施例における動きベクトルの選出方法で定義される最大符号化ブロックとその内部を分割して配置されるブロックの構成を説明する為の図である。
【図１９】動きベクトルの選出方法の第1実施例の2分割選択判定の動作を説明する為のフローチャートである。
【図２０】実施例における動きベクトルの選出方法で定義される最小符号化ブロック内部の分割の一例を説明する為の図である。
【図２１】動きベクトルの選出方法の第1実施例において、所定範囲内で選択される最小予測ブロックの位置を説明する為の図である。
【図２２】動きベクトルの選出方法の第1実施例の4分割選択判定の動作を説明する為のフローチャートである。
【図２３】実施例における動きベクトルの選出方法で使用される分割モードのインデックスを定義するテーブルである。
【図２４】動きベクトルの選出方法の第2実施例において、所定範囲内で選択される最小予測ブロックの位置を説明する為の図である。
【図２５】動きベクトルの選出方法の第2実施例において、所定範囲の中の最小符号化ブロックの位置と最小符号化ブロックの分割モードから選択される最小予測ブロックの位置を指定するテーブルである。
【図２６】動きベクトルの選出方法の第3実施例において、所定範囲の中の判定対象となる最小予測ブロックの位置を説明する為の図である。
【図２７】動きベクトルの選出方法の第3実施例の所定範囲内の4個の最小予測ブロックから代表値を選出する動作を説明する為のフローチャートである。
【図２８】動きベクトルの選出方法の第4実施例において、分割された所定範囲から第1実施例を適用した場合の最小予測ブロックを選択する一例を説明する為の図である。
【図２９】動きベクトルの選出方法の第4実施例の動作を説明する為のフローチャートである。
【発明を実施するための形態】
【０００９】
本発明の実施例である動画像符号化装置及び動画像復号化装置について説明する。図5は実施例の動画像符号化装置の構成を示すブロックであり、ピクチャ間でブロック単位にマッチングを行い動きベクトルを検出する動きベクトル検出部101、符号化する画像と予測画像との引き算を行い残差信号を生成する減算部102、残差信号に対して直交変換及び量子化を行い変換信号を生成する直交変換・量子化部103、エントロピー符号化を行う可変長符号化部104、変換信号を逆量子化及び逆直交変換して元の残差信号に戻す逆量子化・逆直交変換部105、動きベクトルを用いて予測画像を生成する動き補償部106、適応的に重み係数を掛け算して予測画像生成する重み付き予測部107、予測画像と残差信号を加算して復号画像を生成する加算部108、符号化によるブロック歪を減少させるデブロッキング・フィルタ部109、復号画像や既に符号化された画像の情報を記憶しておくメモリ110、既に符号化された画像の動き情報により最適な予測動きベクトルを選択する予測動きベクトル選択部111及びメモリ110に記録された動きベクトルの選出を行う動きベクトル圧縮伸張部112を備えるものである。
【００１０】
図6は図5の動画像符号化装置に対応した本発明の実施例の動画像復号化装置の構成を示すブロックであり、ビットストリームを復号化して各種情報を出力する可変長復号化部201、逆量子化・逆直交変換部202、動き補償部203、重み付き予測部204、加算部205、デブロッキング・フィルタ部206、メモリ207、予測動きベクトル選択部208及び動きベクトル圧縮伸張部209を備えるものである。動画像復号化装置の202から209の各部は、動画像符号化部の内部に設けられている復号化過程と対応しているので、動画像符号化装置の105から112の各部とそれぞれ対応する機能を有するものである。
【００１１】
実施例での動きベクトルのメモリに占める記憶容量を削減する動きベクトルの選出方法は、動画像符号化装置の動きベクトル圧縮伸張部112及び動画像復号化装置の動きベクトル圧縮伸張部209の中で実施される。動画像符号化装置の動きベクトル圧縮伸張部112では、1ピクチャの符号化が終了し、参照ピクチャとして使用される復号化されたピクチャを記録すると同時に、そのピクチャのブロック単位に備える動きベクトルを符号化時に指定される所定範囲毎にメモリ110から抽出し、その所定範囲の中に含まれる複数の動きベクトルの中から代表値が選出され、メモリ110に再度記録される。予測動きベクトル選択部111にて予測動きベクトルの候補として参照ピクチャの動きベクトルを参照する際に、処理対象のブロックと同一位置のブロックに当たる所定範囲のアドレスを算出し、メモリ110から該当する所定範囲の動きベクトルを読み出される。既に符号化済みの同一ピクチャの周囲の隣接ブロックの動きベクトルともに予測動きベクトル選択部111に入力され、その中から最も発生符号量が少ない動きベクトルが予測動きベクトルとして選択される。一方、動画像復号化装置の動きベクトル圧縮伸張部209も同様に、ビットストリームから復号化されたピクチャを次のピクチャの復号化の為の参照ピクチャとして記録すると同時に、そのピクチャのブロック単位に備える動きベクトルを所定範囲毎にメモリ207から抽出し、その所定範囲の中に含まれる複数の動きベクトルの中から代表値が選出され、メモリ207に再度記録される。ここで、所定範囲はビットストリームから復号化された所定範囲を示す情報により算出される。予測動きベクトル選択部208にて予測動きベクトルの候補として参照ピクチャの動きベクトルを参照する際に、処理対象のブロックと同一位置のブロックに当たる所定範囲のアドレスを算出し、メモリ207から該当する所定範囲の動きベクトルを読み出される。復号化された同一ピクチャの周囲の隣接ブロックの動きベクトルともに予測動きベクトル選択部111に入力され、その中から最も発生符号量が少ない動きベクトルが予測動きベクトルとして選択される。
【００１２】
このように、所定範囲は符号化時に指定し、符号化されたビットストリームの中にも情報として格納されるデータ構造を定義するので、復号化においても符号化と同様の動きベクトルの削減が可能となる。所定範囲は動き情報が保存される予測ブロックの最小サイズより大きくなり、本来存在した動きベクトルが無くなるので、予測動きベクトルとして選択された場合に本来の動きベクトルよりも符号化効率が低下することが考えられるが、本発明では、所定範囲内の中を占める領域の大きい予測ブロックを判定し、その動きベクトルを代表値とすることで、別のピクチャから得られる予測動きベクトルの精度を向上させて、符号化効率の低下を回避させる。
【００１３】
以下の実施例では、動画像符号化装置の動きベクトル圧縮伸張部112及び動画像復号化装置の動きベクトル圧縮伸張部209の中で共通に実施される動きベクトルの選出方法の詳細について説明する。
［実施例］
本発明に係る動きベクトルの選出方法の実施例を説明する前に、本実施例にて使用する用語を定義しておく。
・符号化ブロックの定義
本実施例では、図7に示されるように、画面内を同一サイズの正方の矩形ブロックにて均等分割される。このブロックを符号化ブロックと呼び、符号化及び復号化を行う際の処理の基本となる。符号化ブロックは画面内のテクスチャに応じて、符号化処理を最適にすべく、符号化ブロック内を4分割して、ブロックサイズの小さい符号化ブロックにすることが出来る。図7で示される画面内を均等サイズで分割される符号化ブロックを最大符号化ブロックと呼び、その内部を符号化条件に応じて4分割したものを総じて符号化ブロックとする。符号化ブロックをこれ以上4分割出来ない最小のサイズとなる符号化ブロックを最小符号化ブロックと呼ぶこととする。
・予測ブロックの定義
画面内をブロックに分割して動き補償を行う場合、動き補償のブロックサイズをより小さくした方が、よりきめ細かい予測を行うことが出来ることから、いくつかのブロックサイズの中から最適なものを選択して、ブロック内部を分割して動き補償を行う仕組みを取り入れている。この動き補償を行うブロックを予測ブロックと呼ぶ。予測ブロックは最小符号化ブロックの内部を分割する場合にのみ使用され、動き補償に応じて、最小符号化ブロック内部を分割せず1ブロックとみなす場合を最大とし、水平或いは垂直方向に2分割したもの、水平と垂直の均等分割により4分割したものに分けられる。分割後のサイズに応じて、分割タイプに対応したモードが定義されており、図8に示される。図8中の矩形内部の番号は分割された予測ブロックの番号を表す。最小符号化ブロック内部において、予測ブロックを管理する為に、0から開始する番号が予測ブロックに対してジグザグスキャン順に割り当てられる。
・CUパーティションの定義
最小符号化ブロックよりも大きいサイズの符号化ブロックに対しても、動き補償のブロックサイズをより小さくした方が、よりきめ細かい予測を行うことが出来るので、前述した最小符号化ブロックに適用される予測ブロックと同等の機能を有した動き補償の為の分割が定義される。この分割をCU（Coding  Unit：符号化ブロックと同義）パーティションと呼ぶ。図9にCUパーティションによる分割例を示す。符号化ブロックを水平或いは垂直方向に2分割したブロックに対して、予測ブロックと同様に、動き検出・補償を行う。予測ブロックの水平と垂直の均等分割により4分割する場合は、符号化ブロックを4分割して、個々の分割した符号化ブロックに対して動き補償を行う場合と同義であるので、CUパーティションでは定義されない。図9中の矩形内部の番号はCUパーティションで分割されたブロックの番号を表す。
【００１４】
以上のように、符号化ブロックを動き検出・補償を行う場合、動き検出・補償の単位としては、符号化ブロック自身のサイズ、符号化ブロックをCUパーティションにより2分割したサイズ、符号化ブロックを4分割した個々の小ブロック、更にその小ブロックを符号化ブロックとして同様に分割することで予測ブロックの最小サイズまで再帰的に得られるサイズのブロックとなる。以下、説明では断らない限り動き検出・補償を行う単位はサイズに関わらず“予測ブロック”とする。
【００１５】
次に、動き検出・補償により検出される動きベクトル等の動き情報の記録について説明する。予測ブロック単位に動き検出・補償が行われるが、検出された動きベクトル等の動き情報は予測ブロック単位で記録せず、上で説明した最小予測ブロック単位で記録する。即ち、予測ブロック内部を構成する複数の最小予測ブロックに同一の動き情報を記録するようにする。予測ブロックのサイズは符号化条件によって変わるので、予測ブロック単位にメモリに記録するには、検出された動きベクトルの他に予測ブロックのピクチャ上での位置、予測ブロックの形状等の付加情報が必要になり、動き情報を取得する為のアクセスが複雑化する。その為、情報の重複記録による冗長度はあるが、均一な最小予測ブロック単位に分割し、記録する方がアクセスが容易である。図10はピクチャを最小予測ブロックで分割した一例であり、この図を用いてメモリ110及び207に記録される動き情報の保存形式を説明する。図10中のwはピクチャの幅、hはピクチャの高さを表す。最小予測ブロックの幅及び高さをpとすると、横方向にw/p個、縦方向にh/p個の最小予測ブロックでピクチャは構成されることになり、この1つ1つの最小予測ブロックに対応する動き情報が図10中の太実線で表されるラスタスキャン順にメモリ110及び207に記録される。ここで、図10中の太線で囲まれた矩形領域を予測ブロック（図10中の灰色の領域を示す）とすると、予測ブロックは動き検出により動きベクトル等の動き情報が検出される。検出された動き情報は予測ブロックの中を構成する最小予測ブロックに対応するメモリ110及び207に記録される。メモリ110及び207の動き情報の記録領域の先頭アドレスを図10中の左上を原点とすると、予測ブロックの先頭位置は図10中の黒丸で示され、最小予測ブロック単位で左にx個、下にy個の位置にあるとすると、予測ブロックの先頭アドレスはw/p×y＋xで表される。その先頭位置の最小予測ブロックから灰色で示される予測ブロック内の最小予測ブロックに対応するメモリ110及び207に予測ブロックの動き情報を記録していく。このようにして、予測ブロックの中の最小予測ブロックに同じ動き情報をメモリ110及び207に記録する。
【００１６】
1ピクチャの符号化終了後に、本発明に係る動きベクトルの選出方法が実施される。メモリ110及び207に記録された動き情報の動きベクトルの圧縮処理が行われ、メモリ使用量が削減される。圧縮処理された動きベクトルは、次のピクチャの符号化の動きベクトルの予測において、時間が異なる参照ピクチャの同一位置のブロックの動きベクトルを予測動きベクトルの候補として使用される。本発明に係る動きベクトルの選出方法は、メモリ110及び207に記録された動き情報の動きベクトルを所定範囲毎に抽出し、その中から代表値を選出して、メモリ110及び207に再度記録する。本発明の動きベクトルの選出判定を実施する所定範囲は次に説明するシンタックスで定義される。
（シンタックスの定義）
まず、本実施例に係る動きベクトルの選出方法を備える動画像符号化装置により符号化される動画像のビットストリームのシンタックスについて説明する。
【００１７】
図11は動画像のビットストリームのシーケンス・パラメータ・セット（以下SPSと略す）に記述されるシンタックスパターンを示す。ビットストリーム全体に渡って本発明の動きベクトルの選出方法を適用してメモリ使用量の削減を実施するか否かを示す第1フラグmotion vector buffer comp flagが設置される。motion vector buffer comp flagが偽（0）の場合は、本発明の動きベクトルの選出方法は適用されず、動き情報はそのままメモリに記録される。motion vector buffer comp flagが真（1）の場合は、更に、実際に動きベクトルの選出判定を実施する所定範囲のサイズの表すパラメータを示す第2フラグmotion vector buffer comp ratioが設置される。動き補償の最小サイズは最小符号化ブロックを水平と垂直の均等分割により4分割された予測ブロックとなり、この予測ブロック単位に動き情報がメモリに記録される。この予測ブロックを最小予測ブロックと呼ぶこととする。本発明の動きベクトルの選出判定を実施する所定範囲のサイズは、縦及び横にmotion vector buffer comp ratioで表される個数分の最小予測ブロックを並べたものととなり、その個数をMVBufferCompRatioとすると以下の式で表される。
【００１８】
MVBufferCompRatio＝1<< motion vector buffer comp ratio
即ち、所定範囲の中の最小予測ブロックMVBufferCompRatio×MVBufferCompRatio個の中から1つの最小予測ブロックが選出され、そのブロックの動きベクトルを所定範囲の代表値としてメモリに記録することになるので、メモリ使用量が削減される。動きベクトルの選出判定は、この所定範囲単位に、ピクチャの左上から右下にラスタ・スキャン順に実施される。ここで、最小予測ブロックの縦或いは横の画素数にMVBufferCompRatioを乗じた画素数が最大符号化ブロックの縦或いは横の画素の画素数を超えないようにmotion vector buffer comp ratioの設定に制限が課される。最大符号化ブロックはピクチャ内部を均等に分割する符号化単位であり、この境界を跨って動きベクトルの選出判定を実施する所定範囲を設定することは出来ない為である。また、motion vector buffer comp ratioが存在しない場合は“0”に設定されることとする。
【００１９】
次に、本発明に係る動きベクトルの選出方法を備える動画像符号化装置のメモリ110と動きベクトル圧縮伸張部112、及び動画像復号化装置のメモリ207と動きベクトル圧縮伸張部209との間の動作について説明する。
（符号化における動きベクトルの選出）
上述のシンタックスに基づき、動画像のビットストリームを符号化する動画像符号化装置において、本発明に係る動きベクトルの選出方法の動作を説明する。
【００２０】
図12は、動きベクトル圧縮伸張部112の内部の構成を示す図であり、太枠線で示される箇所に該当する。動きベクトル圧縮伸張部112は動きベクトルの圧縮と伸張の両方の機能を備えており、内部のスイッチ305及ぶ306により、圧縮と伸張の処理の切り換えを可能としている。
【００２１】
まず、動きベクトルの圧縮処理の動作について説明する。符号化対象のピクチャの符号化が終了すると、メモリ110に記録されている動きベクトルの選出（圧縮）を開始する。最初に、動きベクトル圧縮伸張部112のスイッチ305及び306が圧縮側に設定される。スイッチ305と306は連動して、圧縮と伸張の切り換えの動作を行い、スイッチ305はメモリ110と動きベクトル圧縮部303との間を接続する。一方、スイッチ306は所定範囲位置設定部302へのアドレスの入力を禁止する。次に、動きベクトルの圧縮符号化で設定される動きベクトルの選出判定を実施する所定範囲のサイズを表すパラメータmotion vector buffer comp ratioが所定範囲設定部301に入力される。所定範囲設定部301では、上述した式に基づいて、所定範囲の縦及び横の個数MVBufferCompRatioが算出される。この処理は符号化開始時に一度設定し、所定範囲設定部301に記録しておき、ピクチャの符号化毎に計算しなくても良い。また、所定範囲の個数を変更したい場合には、その都度値を変更したSPSヘッダーをビットストリーム中に挿入するように制御しても良い。SPSヘッダーが更新されるまでは、その前に設定された所定範囲の個数を所定範囲設定部301に記録しておき、ピクチャの符号化毎に計算しなくても良い。位置設定部302では、動きベクトルが記録されているメモリ110の先頭アドレスから所定範囲に該当する位置が算出され、所定範囲内に含まれる動きベクトルのアドレスが指定される。メモリ110では、所定範囲位置設定部302で指定された所定範囲の動きベクトルが抽出され、動きベクトル圧縮部303に出力される。動きベクトル圧縮部303では、抽出された所定範囲の動きベクトルから1つの代表値が選出され、メモリ110に再度記録される。
【００２２】
次に、動きベクトルの伸張処理の動作について説明する。伸張処理は予測ブロック単位に予測動きベクトルの候補として、同一位置に存在する参照ピクチャの予測ブロックの動きベクトルを参照する必要があるので、次のピクチャの符号化が開始される直前に動きベクトル圧縮伸張部112のスイッチ305及び306が伸張側に設定される。スイッチ305はメモリ110と動きベクトル伸張部304との間を接続する。一方、スイッチ306は所定範囲位置設定部302へのアドレスの入力を許可する。符号化時に設定したmotion vector buffer comp ratioが所定範囲設定部301に入力される。所定範囲設定部301では、上述した式に基づいて、所定範囲の縦及び横の個数MVBufferCompRatioが算出される。符号化制御として、符号化するビットストリーム中にSPSヘッダーを挿入して、motion vector buffer comp ratioを変更する場合はMVBufferCompRatioを再計算する。それまではその前に計算されたMVBufferCompRatioを所定範囲設定部301に記録しておき、使用するので、この処理はピクチャ毎に実施する必要は無い。所定範囲位置設定部302では、符号化対象のピクチャの予測ブロックのアドレスと所定範囲設定部301にて算出された所定範囲の個数からメモリ110に圧縮記録されている動きベクトルのアドレスを指定する。図13に示されるように、符号化対象のピクチャ内の符号化ブロック内部を動き補償する為に定義される予測ブロック（図13中の灰色領域）のアドレスは黒丸の位置で表される。ピクチャの左上を先頭アドレスとすると、予測ブロックの先頭アドレスは、黒丸の画素位置を最小予測ブロックの縦或いは横の画素数で除算すると最小予測ブロック単位のアドレスに変換される。この予測ブロックのアドレスが所定範囲位置設定部302に入力されることになる。所定範囲の縦及び横の個数MVBufferCompRatioは動きベクトルの代表値を選択する為の間引かれた数となるので、予測ブロックのアドレスをMVBufferCompRatioで除算した商がメモリ110に圧縮記録されている動きベクトルのアドレスとなる。メモリ110から該当するアドレスの動きベクトルが抽出され、動きベクトル伸張部304に送られる。動きベクトル伸張部304は抽出された動きベクトルを参照ピクチャの同一位置に存在する予測ブロックからの予測動きベクトルの候補として、メモリ110に送られる。
【００２３】
以上のようにして、本発明に係る動きベクトルの選出方法を使用する場合には、ビットストリームのSPSヘッダーに記載される第1フラグmotion vector buffer comp flag、第2フラグmotion vector buffer comp ratioが設定され、符号化される。必要であれば、SPSヘッダーを更新してビットストリームに挿入することも可能である。
【００２４】
本発明に係る動きベクトルの選出方法の動作の説明として図12のように構成した場合、予測ブロック単位に動きベクトル検出・補償を行い、その後に動きベクトルの選出を行うと、同一ピクチャ内での予測動きベクトルの精度が低下してしまう恐れがある。これは、本来の動き検出にて検出された動きベクトルが動きベクトルの圧縮処理により変更されてしまう影響が大きい為である。同一ピクチャ内の左或いは上に隣接するブロックの動きベクトルを参照しようとしても、動きベクトルの圧縮によって、最悪の場合、MVBufferCompRatio−1個の離れた最小予測ブロックの動きベクトルを予測動きベクトルの候補として参照することになってしまい、動きベクトルの予測が十分に動作せず、発生符号量が増加することになる。この課題を解決する為に、図14で示されるように、動きベクトル圧縮伸張部112内部に、所定範囲内で選出された動きベクトルを一時的に記録しておく一時記憶用メモリ307を追加する。図14は動きベクトルの圧縮処理についてのみ特記したものであるので、スイッチ305及び306は省略した。図12との相違は予測ブロック毎に動きベクトルの圧縮を実施する為に、予測ブロックのアドレスが入力されるようになっている点と、選出された動きベクトルの代表値を記録しておく一時記憶用メモリ307が追加された点である。動き検出により予測ブロックのアドレスから所定範囲内に動きベクトルがメモリ110に記録されていくことが分かるので、所定範囲位置設定部302でその都度所定範囲位置を指定し、メモリ110は指定された所定範囲の動きベクトルが抽出され、動きベクトル圧縮部303に出力される。動きベクトル圧縮部303では、抽出された所定範囲の動きベクトルから1つの代表値が選出される。一方、所定範囲位置設定部302は所定範囲の位置に該当する動きベクトルの記録位置を一時記憶用メモリ307に指定し、そこに代表値を記録する。符号化対象のピクチャの符号化が終了すると、一時記憶用メモリ307に記録された動きベクトルの代表値はメモリ110に記録される。このように、一時記憶用メモリ307を追加した図14で示される動きベクトル圧縮伸張部112は予測ブロック単位に動きベクトルの圧縮が可能となる。尚、動きベクトルの伸張処理は従来と同様であるので割愛する。
（復号化における動きベクトルの予測）
上述のシンタックスに基づき、符号化された動画像のビットストリームを復号化する動画像復号化装置において、本発明に係る動きベクトルの選出方法の動作を説明する。基本的な考え方は、上述した動画像符号化装置と同じであり、動画像復号化装置の動きベクトル圧縮伸張部209は動画像符号化装置の動きベクトル圧縮伸張部112と同等の機能を果たす。
【００２５】
可変長復号化部201にて復号化されるビットストリームの各フラグについて説明する。ビットストリームのSPSヘッダーの中に記述されているフラグから、ビットストリーム全体に動きベクトルの選出方法を適用してメモリ使用量の削減を実施するか否かを判定する。SPSヘッダーからフラグmotion vector buffer comp flagを判定し、motion vector buffer comp flagが真（1）の場合はメモリ使用量の削減を実施され、motion vector buffer comp flagが偽（0）の場合は実施されない。更に、motion vector buffer comp flagが真（1）の場合は、フラグmotion vector buffer comp ratioがSPSヘッダーから読み出され、所定範囲設定部301に入力される。所定範囲設定部301では、上述した式に基づいて、所定範囲の縦及び横の個数MVBufferCompRatioが算出される。SPSヘッダーが復号化される度にMVBufferCompRatioが再計算されるが、それまではその前に計算されたMVBufferCompRatioを所定範囲設定部301に記録しておき、使用するので、この処理はピクチャ毎に実施する必要は無い。
【００２６】
こうして、ビットストリームから復号化されるフラグに基づいて、動きベクトルの選出方法が実施される。メモリ207と動きベクトル圧縮伸張部209との間の動きベクトルの圧縮伸張動作については、動画像符号化装置におけるメモリ110と動きベクトル圧縮伸張部112と同様であるので、説明を割愛する。
【００２７】
以上のように、本発明に係る動きベクトルの選出方法を備える動画像符号化装置及び動画像復号化装置では、メモリ110及び207に記録された動きベクトルを動きベクトル圧縮伸張部112及び209にて圧縮処理して記録し直すことで動きベクトルのメモリ使用量の削減が実現される。実際の動きベクトルの圧縮処理は、動きベクトル圧縮伸張部112及び209の中の動きベクトル圧縮部303にて実施され、所定範囲の中の複数の動きベクトルから最適な代表値を選出する。以下では、代表値選出に関する具体的な実施例を示す。
［第1実施例］
本発明に係る動きベクトルの選出方法に関し、動きベクトルの圧縮の第1実施例について説明する。ここでは、以下の条件に各ブロックサイズを定義して説明を行うこととする。尚、第1実施例以降にも本条件を定義して説明する。
【００２８】
・最小符号化ブロックのサイズを8×8画素とする。
【００２９】
・最大符号化ブロックのサイズを32×32画素とする。
【００３０】
・所定範囲の個数MVBufferCompRatioを4とする。
即ち、motion vector buffer comp ratioが2となる。
【００３１】
・最小予測ブロックのサイズは最小符号化ブロックを4分割したサイズ4×4画素とする。
【００３２】
・最小予測ブロックに対応するメモリ領域には、動きベクトルの圧縮前に、動きベクトルや参照ピクチャ番号、予測モード、予測方向等の動き情報の他に、予測ブロックの付属情報として、予測ブロックの属する符号化ブロックの情報が一時的に記録される。予測ブロックの属する符号化ブロックのサイズとなる為の最大符号化ブロックから分割された回数を示す情報（depth）や符号化ブロックの分割モードを表す情報partMode等である。
【００３３】
図15に最小予測ブロックに対応するメモリ領域に記録される予測ブロックの付属情報の一例を示す。図15の点線で囲まれたブロックが最小符号化ブロックであり、太実線が分割を表す。図15（a）は分割が無い場合であり、この時全ての最小予測ブロックにはdepth=0，partMode=2N×2Nが記録される。図15（b）は図15（a）に対して4分割した場合であり、4つに分割された矩形では動き情報には差異はあるが、分割が1回施されたので、全ての最小予測ブロックにはdepth=1，partMode=2N×2Nが記録される。図15（c）は図15（b）に対して、右上のブロックを更に4分割した場合である。左上、左下及び右下のブロックの分割処理が無いので、各最小予測ブロックには図15（b）のdepthとpartModeが記録される。4分割された右上のブロックの各最小予測ブロックには、depth=2，partMode=2N×2Nが記録される。図15（d）及び（e）は図15（a）に対してそれぞれ垂直方向或いは水平方向に2分割した場合である。この時depthを加算せず、分割モードを変更して対応する。即ち、全ての最小予測ブロックには図15（d）の場合depth=0，partMode=N×2N、図15（e）の場合depth=0，partMode=2N×Nが記録される。このように、符号化ブロックが4分割される場合、分割された下位の符号化ブロックに属する最小化予測ブロックにはdepthが加算され、水平或いは垂直方向に2分割される場合、分割された下位の符号化ブロックに属する最小化予測ブロックの分割モードを変更して、最小予測ブロックの状態を表す。
【００３４】
本発明に係る第1実施例では、所定範囲内に占める面積が最も大きい予測ブロックを選択し、その予測ブロックの動きベクトルを代表値として選出する。この代表となる動きベクトルを後に続く画像の動きベクトルの予測で使用する予測動きベクトルの候補として記憶することで、全ての予測ブロックの動きベクトルを記憶する場合に比べて記憶容量を削減することが出来る。予測ブロックを構成する最小予測ブロックには同一の動き情報がメモリに記録されており、所定範囲内で最も面積が大きい予測ブロックを選択することは、所定範囲の中で数の多い動きベクトルを選出することと等価で、所定範囲の動き誤差を最小とすることになるので、この動きベクトルを後に続くピクチャの動きベクトルの予測で使用する予測動きベクトルの候補とすることで、予測精度を向上させ、符号化効率を改善させることが出来る。また、動きベクトルの代表値選出の条件として、所定範囲内に占める予測ブロックが同じである場合には、処理順で先の方を優先的に選択することとする。更に、動きベクトルの代表値を選出する最小予測ブロックは、所定範囲内で選択された予測ブロックの中の左上のブロックとする。予測ブロックの中の左上の最小予測ブロックは予測ブロックの先頭であるので、メモリへのアドレス変換が容易で、アクセス性が高い利点がある。
【００３５】
本発明に係る第1実施例を実施する動きベクトル圧縮伸張部112及び209の中の動きベクトル圧縮部303の動作を説明するフローチャートを図16に示す。最初に、メモリ110及び207から所定範囲位置設定部302で指定された所定範囲の動き情報が記録されたメモリ領域がアクセスされ、動きベクトル圧縮部303に所定範囲内の最小予測ブロックの動き情報が入力される（S101）。入力される動き情報は図17に示されるように、MVBufferCompRatio×MVBufferCompRatio個の最小予測ブロックの動き情報である。第1実施例では、所定範囲は16個の最小予測ブロックから構成され、16×16画素の矩形領域となる。これは最大符号化ブロックを1回分割した場合の分割された符号化ブロックと同サイズとなる。次に、入力された所定範囲の動き情報の中から図17で示される左上の最小予測ブロックの動き情報が指定され、判定に使用する情報としてdepth、partMode及び予測モードが読み出される（S102）。まず、depthについて判定処理が実施され、depthが0であるか否か判定される（S103）。depthが0の場合、最大符号化ブロックにて分割無しに相当し、最大符号化ブロックが予測ブロックになるので、最大符号化ブロックは1つの動き情報を持つことになる。その為、図18（a）で示されるように、最大符号化ブロックの中に存在する4つの所定範囲の最小予測ブロックは全て同じ動き情報で構成されることになる。次に、左上の最小予測ブロックの予測モードがイントラか否かを判定する（S106）。予測モードがイントラの場合、所定範囲内の他の最小予測ブロックも全てイントラであるので、動きベクトルが存在しないので、動きベクトルとして（0，0）を出力する（S107）。予測モードがイントラでない場合は、所定範囲の左上の最小予測ブロックの動きベクトルを代表値と選出して処理を終了する（S108）。一方、depthが0で無い場合は、depthが1であるか否かの判定に進む（S104）。depthが1でない場合、所定範囲内部が4分割以上の分割をされることになるので、4分割選択判定に進む。depthが1の場合、最大符号化ブロックが4分割されたことになるので、図18（b）で示されるように、4つの均等な符号化ブロックに分けられ、この符号化ブロックと所定範囲とが一致することになる。その為、次のpartModeの判定でpartModeが2N×2Nの場合（S105）、符号化ブロック内部を2分割しない場合と等価であり、この符号化ブロック、即ち所定範囲内の最小予測ブロックは全て同じ動き情報で構成されることになる。この所定範囲の状態はdepthが0の場合と同様であるので、左上の最小予測ブロックの予測モードがイントラか否かの判定（S106）以降の処理に進む。一方、partModeが2N×2Nでない場合、即ち符号化ブロック内部で水平或いは垂直方向に分割がある場合となり、2分割選択判定に進み、終了する。
【００３６】
次に、図19のフローチャートを用いて2分割選択判定について説明する。depthが1でpartModeがN×2N或いは2N×Nとなるのは、所定範囲内を水平或いは垂直方向に2分割する場合であり、図18（c）及び（d）に相当する。この場合、分割された左と右或いは上と下の予測ブロックは所定範囲を占める面積が同じなので判定出来ない。ここでは、前述した代表値選出の条件に従い、処理順として先となる方を優先選択する。所定範囲内で分割された予測ブロックのうち、処理順で先となる左或いは上の予測ブロックの左上の最小予測ブロックの予測モードが読み込まれる（S201）。予測モードがイントラか否かを判定する（S202）。予測モードがイントラでない場合、その最小予測ブロックの動きベクトルが出力され、終了する（S204）。予測モードがイントラの場合、もう一方の右或いは下の予測ブロックの左上の最小予測ブロックの予測モードが読み込まれる（S203）。予測モードがイントラか否かを判定する（S205）。予測モードがイントラでない場合、その最小予測ブロックの動きベクトルが出力され、終了する（S207）。予測モードがイントラの場合は、動きベクトルとして（0，0）が出力され、処理を終了する（S206）。
【００３７】
次に、4分割選択判定について説明する。このような状況になるのはdepthが2となる場合あり、所定範囲内で均等に4分割され、図18（e）に示されるように最小符号化ブロックが4個配置される。ここで、説明を円滑に進める為に、図18（e）に示される各最小符号化ブロックに対して、左上から右下の処理順にA，B，C，Dと名前を付けることとする。各最小符号化ブロックは図20に示されるような4種類のパターンの予測ブロックに分割される。図20中の最小符号化ブロックの中の実線は分割を、点線は最小予測ブロックの境界を表し、4個の最小予測ブロックにはそれぞれ番号を付けることとする。前述した代表値選出の条件に則ると、図20の4つの分割パターンに関わらず左上の最小予測ブロック（図20中の“00”の最小予測ブロック）が選択されることになるので、図18（e）で示される4つの最小符号化ブロックの中の分割状態を比較し、分割生成された予測ブロックの数が最も少ない最小符号化ブロックの左上の最小予測ブロックを選択すればよい。分割された予測ブロックの数が少なければ、同一の動き情報を持つ最小予測ブロックの数が多くなるので、所定範囲内を占める面積が大きくなる。図21に所定範囲内の4つの最小符号化ブロックの分割配置の一例を示す。図21（a）の場合、C以外の最小符号化ブロックが分割されているので、Cが選択される。図21（b）の場合、全ての最小符号化ブロックが4分割されているので、処理順で先になるAが選択される。図21（c）の場合、A，Bは4分割、C，Dが2分割されているので、処理順で先となるCが選択される。図21（d）の場合、A，Bは分割が無く、C，Dが分割されているので、処理順ではAが選択されるが、Aの予測モードがイントラの場合、次の処理順になるBが選択される。選択された最小符号化ブロックの左上の最小予測ブロック（図21中の灰色の矩形領域）から動きベクトルを代表値として出力する。このような4分割選択判定の処理の流れを纏めると図22のフローチャートで示される。最初に、一時的に最適値を記録しておくレジスタを初期化する。レジスタは符号化ブロックの分割状態で分割数が最も少ない分割モードを記録しておくMaxPart、その時の符号化ブロックの中の左上の最小予測ブロックの動きベクトルを記録しておくMvRegであり、それぞれMaxPart＝4、MvReg＝（0,0）に初期化される（S301）。ここで、分割モードに割り当てられる値について説明する。本発明に係る動画像符号化装置により符号化される動画像のビットストリームのシンタックスの中で、ブロックの分割モードの定義の一例を図23に示す。分割モードを示すpartModeに対するインデックス値としてinter partioning idcが定義され、このインデックス値が符号化される。動きベクトルの代表選出における分割モードでの優先順位は、
2N×2N  ＞  2N×N  or  N×2N  ＞  N×N
であるが、インデックス値の割り当ては逆になっている。第1実施例では、図23の分割モードの定義に従うこととするので、最小符号化ブロック間の分割モードによる比較は小さい方が優先されることになる。その為、MaxPartの初期値として、N×Nのインデックス値よりも大きい“4”を設定した。次に、最初に判定処理を行う最小符号化ブロックとしてカウンタをAに設定する（S302）。カウンタに設定された最小符号化ブロックの左上の最小予測ブロックの動き情報が読み込まれる（S303）。予測モードがイントラか否か判定する（S304）。予測モードがイントラの場合、判定処理を行わず、カウンタの判定（S307）に進む。予測モードがイントラでない場合、partModeとMaxPartとの比較を行う（S305）。partModeがMaxPartより小さい場合、即ち現在処理しているカウンタに設定された最小符号化ブロックが含まれる予測ブロックのサイズが大きい場合であり、MaxPartをpartModeに更新され、MvRegにその時の動きベクトルが格納される。partModeがMaxPart以上の場合、カウンタの判定（S307）に進む。カウンタの判定では、4つの最小符号化ブロックに対して判定処理が終了したか否かを判定する（S307）。カウンタがDであれば4つ中の最後のブロックに当たるので、判定処理を終了し、MvRegに格納された動きベクトルを代表値として出力する（S309）。カウンタがDでなければ、カウンタを更新する（S308）。A,B,C,Dの順に更新し、S303以降の処理を繰り返す。
【００３８】
以上のようにして、所定範囲の動きベクトルの代表値が選出される。選出された代表値は、動画像符号化装置のメモリ110及び動画像復号化装置メモリ207に送られ、所定範囲の位置に該当する記録領域に記録される。
［第2実施例］
本発明に係る動きベクトルの選出方法に関し、動きベクトルの圧縮の第2実施例について説明する。基本的な選出方法は第1実施例を踏襲し、所定範囲内の4分割選択判定において、代表値として選出する動きベクトルを持つ最小予測ブロックの優先条件を変更したものである。第1実施例では、動きベクトルの代表値を選出する最小予測ブロックは所定範囲内で選択された予測ブロックの中の左上のブロックとしたが、第2実施例では、所定範囲内の中央寄りの最小予測ブロックを選択する。例えば、現在のピクチャの所定範囲が、図21（b）のように、所定範囲内の4つの最小符号化ブロックが全て分割されている場合、個々の最小符号化ブロックの動きベクトルが異なっていることが多い。次のピクチャを符号化する場合に、同一位置の符号化ブロックがDである場合、Dの参照ピクチャの同一位置の動きベクトルは、第1実施例の選出方法に則ると、所定範囲の動きベクトルの代表値としてAの左上が選択されることになる。Dの参照先としては参照ピクチャのDと同一位置にあるブロックの動くベクトルが適当であるが、動きベクトルの圧縮によってAの左上の最小予測ブロックの動きベクトルを予測動きベクトルの候補として参照することになるので、予測精度が低下する恐れがある。そこで、第2実施例では、予測動きベクトルの精度をより向上させる為に、所定範囲内の中央寄りの最小予測ブロックを優先的に選択する。上の例の場合では、Aの右下の最小予測ブロックが選択される。Aの左上よりAの右下の最小予測ブロックの方がDに近いので、Dの動きベクトルに近い予測動きベクトルの候補となり、予測精度が向上することが期待出来る。特に、このような選択は、所定範囲以下の符号化ブロックの符号化に有効である。
【００３９】
第2実施例での具体的な動きベクトルの選択の一例を図24を用いて説明する。図24は第1実施例の4分割選択判定の例に対応した判定例である。図24（a）の場合、Cが選択される。Cの中の最小予測ブロックの動きベクトルはどれも同じなので、左上の最小予測ブロックの動きベクトルが選出される。図24（b）の場合、Aが選択され、所定範囲の中央寄りのAの右下の最小予測ブロックの動きベクトルが選出される。図24（c）の場合、Cが選択される。Cは垂直方向に2分割されているので、所定範囲の中央寄りとなるのは右側の予測ブロックであるから、右側の予測ブロックの上の最小予測ブロックの動きベクトルが選出される。図24（d）の場合、Aの予測モードがイントラなのでBが選択される。Bの中の最小予測ブロックの動きベクトルはどれも同じなので、左上の最小予測ブロックの動きベクトルが選出される。
【００４０】
以上のようにして、所定範囲内の4分割選択判定において、動きベクトルの代表値を選出する最小予測ブロックは所定範囲内で選択された予測ブロックの中の所定範囲内の中央寄りの最小予測ブロックを選択した。実際に4分割選択判定を実施する場合、図25で示されるpartModeと所定範囲の中で選択されたブロックとのパターンから、動きベクトルの代表値を選出する最小予測ブロックが選択される。図25中の数字は、図20で示される符号化ブロック内部の最小予測ブロックに付けれた番号であり、この番号に該当する最小予測ブロックの動きベクトルが選出される。
［第3実施例］
本発明に係る動きベクトルの選出方法に関し、動きベクトルの圧縮の第3実施例について説明する。基本的な選出方法は第1実施例を踏襲し、所定範囲内の4分割選択判定において、代表値として選出する動きベクトルを持つ最小予測ブロックの優先条件を変更したものである。第3実施例では、図26で灰色で示される所定範囲内の中央の4個の最小予測ブロックの動き情報に基づいて、その4個の中から動きベクトルの代表値を選出する。ここで、以下の説明を円滑にする為に、所定範囲内の中央に配置された左上から右下の最小予測ブロックに対して、図26に示される番号付けをする。
【００４１】
第3の実施例の4分割選択判定の処理の流れを図27のフローチャートを用いて説明する。最初に、一時的に最適値を記録しておくレジスタを初期化する。レジスタは、最小予測ブロックの分割状態で最も少ない分割数を記録しておくMinDepth、最小予測ブロックの分割状態で分割数が最も少ない分割モードを記録しておくMaxPart、その時の符号化ブロックの中の左上の最小予測ブロックの動きベクトルを記録しておくMvRegであり、それぞれMinDepth＝4、MaxPart＝4、MvReg＝（0,0）に初期化される（S401）。MinDepthの初期値は、最小予測ブロックより小さいサイズに4分割することは出来ないので、最大符号化ブロックから最小予測ブロックに分割されるまでの分割数が設定される。ここでは、最大符号化ブロックは32×32画素、最小予測ブロックが4×4画素であることから、4回の4分割で最大符号化ブロックが4×4画素を下回るので、“4”が設定される。MaxPart及びMvRegの初期化は、上述した第1実施例の設定に従うこととする。次に、最初に判定処理を行う最小符号化ブロックとしてカウンタcountを0に設定する（S402）。カウンタに設定された最小予測ブロックの動き情報が読み込まれる（S403）。予測モードがイントラか否か判定する（S404）。予測モードがイントラの場合、判定処理を行わず、カウンタの判定（S408）に進む。予測モードがイントラでない場合、depthとMinDepthとの比較を行う（S405）。depthがMinDepthより小さい場合、即ち現在処理しているカウンタに設定された最小予測ブロックが含まれる予測ブロックの分割数が少ない場合であり、所定範囲内でその予測ブロックの占める面積が大きいことを意味する。depthがMinDepth以上の場合はカウンタの判定（S408）に進み、depthがMinDepthより小さい場合はpartModeとMaxPartとの比較を行う（S406）。partModeがMaxPartより小さい場合、即ち現在処理しているカウンタに設定された最小予測ブロックが含まれる予測ブロックのサイズが大きい場合であり、所定範囲内でその予測ブロックの占める面積が大きいことを意味する。partModeがMaxPart以上の場合はカウンタの判定（S408）に進み、partModeがMaxPartより小さい場合はMinDepthがdepth、MaxPartがpartModeに更新され、MvRegにその時の最小予測ブロックの動きベクトルが格納される。カウンタの判定では、4つの最小符号化ブロックに対して判定処理が終了したか否かを判定する（S408）。count＝3であれば判定処理を終了し、MvRegに格納された動きベクトルを代表値として出力する（S410）。count≠3であれば、countを1加算して更新し、S403以降の処理を繰り返す（S409）。
【００４２】
以上のようにして、所定範囲の動きベクトルの代表値が選出される。選出された代表値は、動画像符号化装置のメモリ110及び動画像復号化装置メモリ207に送られ、所定範囲の位置に該当する記録領域に記録される。
［第4実施例］
本発明に係る動きベクトルの選出方法に関し、動きベクトルの圧縮の第4実施例について説明する。基本的な選出方法は第1実施例を踏襲をするが、第1実施例とは分割される予測ブロックにサイズに基づいて、予測ブロックから動きベクトルの代表値を選出する点が異なる。所定範囲よりも小さい予測ブロックの動きベクトルを選出しても、信頼性が高い代表値と言えず、予測動きベクトルの候補として予測精度を向上させるとは言えないので、判定する予測ブロックにサイズを制限する。
【００４３】
図28に示される分割された所定範囲を一例として説明する。図28の所定範囲の中の実線は4分割による境界、点線は最小予測ブロックの境界を示しており、所定範囲を4分割された最小符号化ブロックに対して、左上から右下の順に名前としてA，B，C，Dで表すものとする。図28の所定範囲は4分割され、4個の最小符号化ブロックに分けられている。各最小符号化ブロックの状態は、A及びCは更に最小予測ブロックになるまで4分割され、B及びDは2分割され、それぞれ分割モードが2N×N、N×2Nで表される。A及びCの中の最小予測ブロックにはdepth＝3、partMode＝2N×2Nが設定され、Bにはdepth＝2、partMode＝2N×N、Cにはdepth＝2、partMode＝N×2Nが設定される。図28の所定範囲に対して、第1実施例による動きベクトルの選出を適用すると、図28の灰色矩形で示されるBの2分割された上の予測ブロックの中の左の最小予測ブロックが選択され、その動きベクトルが選出される。Bの2分割された上の予測ブロックの中の右の最小予測ブロックも選出された動きベクトルを持つが、所定範囲の16個の最小予測ブロックの中でわずか2個に過ぎず、予測動きベクトルの候補の精度としては低い。第4実施例では、所定範囲のサイズに基づいて設定される最小判定範囲未満となる予測ブロックは動きベクトルの選出外として選択しないように制限することとする。更に所定範囲内に最小判定範囲以上の予測ブロックを見つけた場合には、以降の判定処理を強制的に中止させるようにすることで、判定処理時間を向上させる。
【００４４】
図29に第4実施例の判定処理のフローチャートを示す。第4実施例における制限条件として、所定範囲の縦横の画素数が1/2となる領域を最小判定範囲として設定する。最小判定範囲は8×8画素となり、この条件に一致するdepthが2、partModeが2N×2Nであり、この条件未満の動き情報を備える最小予測ブロックを含む予測ブロックに対しては判定処理を実施しない。まず、メモリ110及び207から所定範囲位置設定部302で指定された所定範囲の動き情報が記録されたメモリ領域がアクセスされ、動きベクトル圧縮部303に所定範囲内の最小予測ブロックの動き情報が入力される（S501）。次に、一時的に動きベクトルを記録しておくレジスタMvRegを初期化する。レジスタMvReg＝（0,0）に初期化される（S502）。判定処理を行う最小符号化ブロックとしてカウンタをAに設定する（S503）。第4実施例では最小判定範囲が最小符号化ブロックと同じサイズであるので、所定範囲内の最小符号化ブロック単位に処理を実施する。カウンタに設定された最小符号化ブロックの最小予測ブロックの動き情報が読み込まれる（S504）。最小符号化ブロック内で分割が無ければ、最小符号化ブロック内の4個の最小予測ブロックはどれも同じ動き情報を持っているので、どの最小予測ブロックの動き情報を読み込んでも良いが、ここでは左上の最小予測ブロックを指定することとする。最初に、予測モードがイントラか否か判定する（S505）。予測モードがイントラの場合、判定処理を行わず、カウンタの判定（S510）に進む。予測モードがイントラでない場合、指定された最小予測ブロックの動き情報のdepthについて判定を実施する（S506）。depthが2より小さい場合、最小符号化ブロックが最小判定範囲よりも大きい予測ブロックに含まれることになるので、判定を中止して、動きベクトルの更新（S509）に進む。depthが2以上の場合、depthが2に等しいか否かの判定が実施される（S507）。depthが2に等しい場合、分割モードの判定に進む。depthが2で無い場合、即ちdepthが3以上の場合、カウンタに設定された最小符号化ブロック内で4分割が存在する場合であり、最小判定範囲よりも小さい予測ブロックが存在することになるので、判定を中止して、カウンタの判定（S510）に進む。分割モードの判定はpartModeが2N×2Nと等しいか否かを判定する（S508）。partModeが2N×2N の場合、depthが2であるから最小符号化ブロックが最小判定範囲と同じサイズとなるので、判定を中止して、動きベクトルの更新（S509）に進む。partModeが2N×2N でない場合は、カウンタに設定された最小符号化ブロック内で水平或いは垂直方向の2分割が存在する場合であり、最小判定範囲よりも小さい予測ブロックが存在することになるので、判定を中止して、カウンタの判定（S510）に進む。動きベクトルの更新では、指定された最小予測ブロックの動きベクトルをMvRegに格納した（S509）後、MvRegに格納された動きベクトルを所定範囲の代表値として出力し（S512）、終了する。一方、カウンタの判定では、カウンタがDであるかを判定する（S510）。カウンタがDの場合、所定範囲内の全ての最小符号化ブロックに対して判定処理が終了したことになるので、S512に進み、MvRegに格納された動きベクトルを所定範囲の代表値として出力し（S512）、終了する。カウンタがDでなければ、カウンタを更新する（S511）。A,B,C,Dの順に更新し、S503���降の処理を繰り返す。
【００４５】
以上のようにして、所定範囲の動きベクトルの代表値が選出される。選出された代表値は、動画像符号化装置のメモリ110及び動画像復号化装置メモリ207に送られ、所定範囲の位置に該当する記録領域に記録される。
【００４６】
尚、第4実施例では、所定範囲内に最小判定範囲未満の予測ブロックしか存在しない場合は、レジスタMvRegの初期値として設定した（0,0）を所定範囲の動きベクトルの代表値として出力するようにしたが、初期値として最初の最小符号化ブロックの動きベクトルを設定しても良い。また、所定範囲内の最小符号化ブロックに対して順番に判定する際に、最初に最小判定範囲に該当する予測ブロックが見つかった場合に判定処理を中止するようにしたが、判定処理を中止せずそのまま続けて、一時的にその時の動きベクトルをMvRegに格納しておき、所定範囲内で最後に最小判定範囲に該当する予測ブロックの動きベクトルを出力するように判定処理を変更しても良い。
【００４７】
以上の符号化及び復号に関する処理は、ハードウェアを用いた伝送、蓄積、受信装置として実現することができるのは勿論のこと、ＲＯＭ（リード・オンリ・メモリ）やフラッシュメモリ等に記憶されているファームウェアや、コンピュータ等のソフトウェアによっても実現することができる。そのファームウェアプログラム、ソフトウェアプログラムをコンピュータ等で読み取り可能な記録媒体に記録して提供することも、有線あるいは無線のネットワークを通してサーバから提供することも、地上波あるいは衛星ディジタル放送のデータ放送として提供することも可能である。
【符号の説明】
【００４８】
101  動きベクトル検出部
102  減算部
103  直交変換・量子化部
104  可変長符号化部
105  逆量子化・逆直交変換部
106  動き補償部
107  重み付き予測部
108  加算部
109  デブロッキング・フィルタ部
110  メモリ
111  予測動きベクトル選択部
112  動きベクトル圧縮伸張部
201  可変長復号化部
202  逆量子化・逆直交変換部
203  動き補償部
204  重み付き予測部
205  加算部
206  デブロッキング・フィルタ部
207  メモリ
208  予測動きベクトル選択部
209  動きベクトル圧縮伸張部
301  所定範囲設定部
302  所定範囲位置設定部
303  動きベクトル圧縮部
304  動きベクトル伸張部
305  スイッチ
306  スイッチ
307  一時記憶用メモリ
【図１】
2012186760.tif 000003
【図２】
2012186760.tif 000004
【図３】
2012186760.tif 000005
【図４】
2012186760.tif 000006
【図５】
2012186760.tif 000007
【図６】
2012186760.tif 000008
【図７】
2012186760.tif 000009
【図８】
2012186760.tif 000010
【図９】
2012186760.tif 000011
【図１０】
2012186760.tif 000012
【図１１】
2012186760.tif 000013
【図１２】
2012186760.tif 000014
【図１３】
2012186760.tif 000015
【図１４】
2012186760.tif 000016
【図１５】
2012186760.tif 000017
【図１６】
2012186760.tif 000018
【図１７】
2012186760.tif 000019
【図１８】
2012186760.tif 000020
【図１９】
2012186760.tif 000021
【図２０】
2012186760.tif 000022
【図２１】
2012186760.tif 000023
【図２２】
2012186760.tif 000024
【図２３】
2012186760.tif 000025
【図２４】
2012186760.tif 000026
【図２５】
2012186760.tif 000027
【図２６】
2012186760.tif 000028
【図２７】
2012186760.tif 000029
【図２８】
2012186760.tif 000030
【図２９】
2012186760.tif 000031