(57)【特許請求の範囲】
【請求項１】
入力画像を構成しているブロック毎に、当該ブロックの周囲に位置している符号化済みブロックの動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成するとともに、当該ブロックの時間的に近傍にある符号化済みピクチャの動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成するダイレクトベクトル生成手段と、
上記ダイレクトベクトル生成手段により生成された空間ダイレクトベクトルを用いて、上記空間ダイレクトモードの評価値を算出するとともに、上記ダイレクトベクトル生成手段により生成された時間ダイレクトベクトルを用いて、上記時間ダイレクトモードの評価値を算出する評価値算出手段と、
上記評価値算出手段により算出された空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較して、上記空間ダイレクトベクトル又は上記時間ダイレクトベクトルのいずれか一方を選択するダイレクトベクトル選択手段と、
上記ダイレクトベクトル選択手段により選択されたダイレクトベクトルを用いて動き補償予測処理を実施することで、予測画像を生成する予測画像生成手段と、
上記予測画像生成手段により生成された予測画像と上記入力画像の差分画像を量子化し、上記差分画像の量子化係数を出力する量子化手段と、
上記量子化手段から出力された量子化係数を可変長符号化して、上記量子化係数の符号化データを出力する可変長符号化手段とを備え、
上記評価値算出手段は、上記空間ダイレクトモードの評価値として、上記ダイレクトベクトル生成手段により生成された空間ダイレクトベクトルを用いて、上記空間ダイレクトモードの前方予測画像と後方予測画像を生成して、上記前方予測画像と上記後方予測画像の類似度を算出する一方、上記時間ダイレクトモードの評価値として、上記ダイレクトベクトル生成手段により生成された時間ダイレクトベクトルを用いて、上記時間ダイレクトモードの前方予測画像と後方予測画像を生成して、上記前方予測画像と上記後方予測画像の類似度を算出することを特徴とする画像符号化装置。
【請求項２】
入力画像を構成しているブロック毎に、当該ブロックの周囲に位置している符号化済みブロックの動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成するとともに、当該ブロックの時間的に近傍にある符号化済みピクチャの動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成するダイレクトベクトル生成手段と、
上記ダイレクトベクトル生成手段により生成された空間ダイレクトベクトルを用いて、上記空間ダイレクトモードの評価値を算出するとともに、上記ダイレクトベクトル生成手段により生成された時間ダイレクトベクトルを用いて、上記時間ダイレクトモードの評価値を算出する評価値算出手段と、
上記評価値算出手段により算出された空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較して、上記空間ダイレクトベクトル又は上記時間ダイレクトベクトルのいずれか一方を選択するダイレクトベクトル選択手段と、
上記ダイレクトベクトル選択手段により選択されたダイレクトベクトルを用いて動き補償予測処理を実施することで、予測画像を生成する予測画像生成手段と、
上記予測画像生成手段により生成された予測画像と上記入力画像の差分画像を量子化し、上記差分画像の量子化係数を出力する量子化手段と、
上記量子化手段から出力された量子化係数を可変長符号化して、上記量子化係数の符号化データを出力する可変長符号化手段とを備え、
上記評価値算出手段は、上記空間ダイレクトモードの評価値として、符号化対象のブロックの周囲に位置している符号化済みブロックの動きベクトルの分散値を算出する一方、上記時間ダイレクトモードの評価値として、上記符号化対象のブロックの時間的に近傍にある符号化済みピクチャにおいて、上記符号化対象のブロックと空間的に同じ位置にあるブロックの周囲に位置している符号化済みブロックの動きベクトルの分散値を算出することを特徴とする画像符号化装置。
【請求項３】
上記ダイレクトベクトル選択手段は、選択対象のダイレクトモードを示すダイレクトモード切替フラグを入力すると、上記評価値算出手段により算出された評価値の比較結果に拘らず、上記ダイレクトモード切替フラグが示すダイレクトモードのダイレクトベクトルを選択し、
上記可変長符号化手段は、上記ダイレクトモード切替フラグと上記量子化手段から出力された量子化係数を可変長符号化して、上記ダイレクトモード切替フラグ及び上記量子化係数の符号化データを出力することを特徴とする請求項１記載の画像符号化装置。
【請求項４】
符号化データから量子化係数を復号する可変長復号手段と、
上記可変長復号手段により復号された量子化係数を逆量子化する逆量子化手段と、
復号対象のブロックの周囲に位置している復号済みブロックの動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成するとともに、復号対象のブロックの時間的に近傍にある復号済みピクチャの動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成するダイレクトベクトル生成手段と、
上記ダイレクトベクトル生成手段により生成された空間ダイレクトベクトルを用いて、上記空間ダイレクトモードの評価値を算出するとともに、上記ダイレクトベクトル生成手段により生成された時間ダイレクトベクトルを用いて、上記時間ダイレクトモードの評価値を算出する評価値算出手段と、
上記評価値算出手段により算出された空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較して、上記空間ダイレクトベクトル又は上記時間ダイレクトベクトルのいずれか一方を選択するダイレクトベクトル選択手段と、
上記ダイレクトベクトル選択手段により選択されたダイレクトベクトルを用いて動き補償予測処理を実施することで、予測画像を生成する予測画像生成手段と、
上記予測画像生成手段により生成された予測画像と上記逆量子化手段の逆量子化結果が示す差分画像を加算して、画像符号化装置の入力画像に相当する復号画像を得る画像加算手段とを備え、
上記評価値算出手段は、上記空間ダイレクトモードの評価値として、上記ダイレクトベクトル生成手段により生成された空間ダイレクトベクトルを用いて、上記空間ダイレクトモードの前方予測画像と後方予測画像を生成して、上記前方予測画像と上記後方予測画像の類似度を算出する一方、上記時間ダイレクトモードの評価値として、上記ダイレクトベクトル生成手段により生成された時間ダイレクトベクトルを用いて、上記時間ダイレクトモードの前方予測画像と後方予測画像を生成して、上記前方予測画像と上記後方予測画像の類似度を算出することを特徴とする画像復号装置。
【請求項５】
符号化データから量子化係数を復号する可変長復号手段と、
上記可変長復号手段により復号された量子化係数を逆量子化する逆量子化手段と、
復号対象のブロックの周囲に位置している復号済みブロックの動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成するとともに、復号対象のブロックの時間的に近傍にある復号済みピクチャの動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成するダイレクトベクトル生成手段と、
上記ダイレクトベクトル生成手段により生成された空間ダイレクトベクトルを用いて、上記空間ダイレクトモードの評価値を算出するとともに、上記ダイレクトベクトル生成手段により生成された時間ダイレクトベクトルを用いて、上記時間ダイレクトモードの評価値を算出する評価値算出手段と、
上記評価値算出手段により算出された空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較して、上記空間ダイレクトベクトル又は上記時間ダイレクトベクトルのいずれか一方を選択するダイレクトベクトル選択手段と、
上記ダイレクトベクトル選択手段により選択されたダイレクトベクトルを用いて動き補償予測処理を実施することで、予測画像を生成する予測画像生成手段と、
上記予測画像生成手段により生成された予測画像と上記逆量子化手段の逆量子化結果が示す差分画像を加算して、画像符号化装置の入力画像に相当する復号画像を得る画像加算手段とを備え、
上記評価値算出手段は、上記空間ダイレクトモードの評価値として、上記復号対象のブロックの周囲に位置している復号済みブロックの動きベクトルの分散値を算出する一方、上記時間ダイレクトモードの評価値として、上記復号対象のブロックの時間的に近傍にある復号済みピクチャにおいて、上記復号対象のブロックと空間的に同じ位置にあるブロックの周囲に位置している復号済みブロックの動きベクトルの分散値を算出することを特徴とする画像復号装置。
【請求項６】
上記可変長復号手段は、符号化データから量子化係数及びダイレクトモード切替フラグを復号し、
上記ダイレクトベクトル選択手段は、上記評価値算出手段により算出された評価値の比較結果に拘らず、上記可変長復号手段により復号されたダイレクトモード切替フラグが示すダイレクトモードのダイレクトベクトルを選択することを特徴とする請求項４記載の画像復号装置。
【請求項７】
ダイレクトベクトル生成手段が入力画像を構成しているブロック毎に、当該ブロックの周囲に位置している符号化済みブロックの動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成するとともに、当該ブロックの時間的に近傍にある符号化済みピクチャの動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成するダイレクトベクトル生成処理ステップと、
評価値算出手段が上記ダイレクトベクトル生成処理ステップで生成された空間ダイレクトベクトルを用いて、上記空間ダイレクトモードの評価値を算出するとともに、上記ダイレクトベクトル生成処理ステップで生成された時間ダイレクトベクトルを用いて、上記時間ダイレクトモードの評価値を算出する評価値算出処理ステップと、
ダイレクトベクトル選択手段が上記評価値算出処理ステップで算出された空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較して、上記空間ダイレクトベクトル又は上記時間ダイレクトベクトルのいずれか一方を選択するダイレクトベクトル選択処理ステップと、
予測画像生成手段が上記ダイレクトベクトル選択処理ステップで選択されたダイレクトベクトルを用いて動き補償予測処理を実施することで、予測画像を生成する予測画像生成処理ステップと、
量子化手段が上記予測画像生成処理ステップで生成された予測画像と上記入力画像の差分画像を量子化し、上記差分画像の量子化係数を出力する量子化処理ステップと、
可変長符号化手段が上記量子化処理ステップで出力された量子化係数を可変長符号化して、上記量子化係数の符号化データを出力する可変長符号化処理ステップとを備え、
上記評価値算出処理ステップでは、上記空間ダイレクトモードの評価値として、上記ダイレクトベクトル生成処理ステップにより生成された空間ダイレクトベクトルを用いて、上記空間ダイレクトモードの前方予測画像と後方予測画像を生成して、上記前方予測画像と上記後方予測画像の類似度を算出する一方、上記時間ダイレクトモードの評価値として、上記ダイレクトベクトル生成処理ステップにより生成された時間ダイレクトベクトルを用いて、上記時間ダイレクトモードの前方予測画像と後方予測画像を生成して、上記前方予測画像と上記後方予測画像の類似度を算出することを特徴とする画像符号化方法。
【請求項８】
ダイレクトベクトル生成手段が入力画像を構成しているブロック毎に、当該ブロックの周囲に位置している符号化済みブロックの動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成するとともに、当該ブロックの時間的に近傍にある符号化済みピクチャの動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成するダイレクトベクトル生成処理ステップと、
評価値算出手段が上記ダイレクトベクトル生成処理ステップで生成された空間ダイレクトベクトルを用いて、上記空間ダイレクトモードの評価値を算出するとともに、上記ダイレクトベクトル生成処理ステップで生成された時間ダイレクトベクトルを用いて、上記時間ダイレクトモードの評価値を算出する評価値算出処理ステップと、
ダイレクトベクトル選択手段が上記評価値算出処理ステップで算出された空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較して、上記空間ダイレクトベクトル又は上記時間ダイレクトベクトルのいずれか一方を選択するダイレクトベクトル選択処理ステップと、
予測画像生成手段が上記ダイレクトベクトル選択処理ステップで選択されたダイレクトベクトルを用いて動き補償予測処理を実施することで、予測画像を生成する予測画像生成処理ステップと、
量子化手段が上記予測画像生成処理ステップで生成された予測画像と上記入力画像の差分画像を量子化し、上記差分画像の量子化係数を出力する量子化処理ステップと、
可変長符号化手段が上記量子化処理ステップで出力された量子化係数を可変長符号化して、上記量子化係数の符号化データを出力する可変長符号化処理ステップとを備え、
上記評価値算出処理ステップでは、上記空間ダイレクトモードの評価値として、符号化対象のブロックの周囲に位置している符号化済みブロックの動きベクトルの分散値を算出する一方、上記時間ダイレクトモードの評価値として、上記符号化対象のブロックの時間的に近傍にある符号化済みピクチャにおいて、上記符号化対象のブロックと空間的に同じ位置にあるブロックの周囲に位置している符号化済みブロックの動きベクトルの分散値を算出することを特徴とする画像符号化方法。
【請求項９】
可変長復号手段が符号化データから量子化係数を復号する可変長復号処理ステップと、
逆量子化手段が上記可変長復号処理ステップで復号された量子化係数を逆量子化する逆量子化処理ステップと、
ダイレクトベクトル生成手段が復号対象のブロックの周囲に位置している復号済みブロックの動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成するとともに、復号対象のブロックの時間的に近傍にある復号済みピクチャの動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成するダイレクトベクトル生成処理ステップと、
評価値算出手段が上記ダイレクトベクトル生成処理ステップで生成された空間ダイレクトベクトルを用いて、上記空間ダイレクトモードの評価値を算出するとともに、上記ダイレクトベクトル生成処理ステップで生成された時間ダイレクトベクトルを用いて、上記時間ダイレクトモードの評価値を算出する評価値算出処理ステップと、
ダイレクトベクトル選択手段が上記評価値算出処理ステップで算出された空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較して、上記空間ダイレクトベクトル又は上記時間ダイレクトベクトルのいずれか一方を選択するダイレクトベクトル選択処理ステップと、
予測画像生成手段が上記ダイレクトベクトル選択処理ステップで選択されたダイレクトベクトルを用いて動き補償予測処理を実施することで、予測画像を生成する予測画像生成処理ステップと、
画像加算手段が上記予測画像生成処理ステップで生成された予測画像と上記逆量子化処理ステップにおける逆量子化結果が示す差分画像を加算して、画像符号化装置の入力画像に相当する復号画像を得る画像加算処理ステップとを備え、
上記評価値算出処理ステップでは、上記空間ダイレクトモードの評価値として、上記ダイレクトベクトル生成処理ステップにより生成された空間ダイレクトベクトルを用いて、上記空間ダイレクトモードの前方予測画像と後方予測画像を生成して、上記前方予測画像と上記後方予測画像の類似度を算出する一方、上記時間ダイレクトモードの評価値として、上記ダイレクトベクトル生成処理ステップにより生成された時間ダイレクトベクトルを用いて、上記時間ダイレクトモードの前方予測画像と後方予測画像を生成して、上記前方予測画像と上記後方予測画像の類似度を算出することを特徴とする画像復号方法。
【請求項１０】
変長復号手段が符号化データから量子化係数を復号する可変長復号処理ステップと、
逆量子化手段が上記可変長復号処理ステップで復号された量子化係数を逆量子化する逆量子化処理ステップと、
ダイレクトベクトル生成手段が復号対象のブロックの周囲に位置している復号済みブロックの動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成するとともに、復号対象のブロックの時間的に近傍にある復号済みピクチャの動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成するダイレクトベクトル生成処理ステップと、
評価値算出手段が上記ダイレクトベクトル生成処理ステップで生成された空間ダイレクトベクトルを用いて、上記空間ダイレクトモードの評価値を算出するとともに、上記ダイレクトベクトル生成処理ステップで生成された時間ダイレクトベクトルを用いて、上記時間ダイレクトモードの評価値を算出する評価値算出処理ステップと、
ダイレクトベクトル選択手段が上記評価値算出処理ステップで算出された空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較して、上記空間ダイレクトベクトル又は上記時間ダイレクトベクトルのいずれか一方を選択するダイレクトベクトル選択処理ステップと、
予測画像生成手段が上記ダイレクトベクトル選択処理ステップで選択されたダイレクトベクトルを用いて動き補償予測処理を実施することで、予測画像を生成する予測画像生成処理ステップと、
画像加算手段が上記予測画像生成処理ステップで生成された予測画像と上記逆量子化処理ステップにおける逆量子化結果が示す差分画像を加算して、画像符号化装置の入力画像に相当する復号画像を得る画像加算処理ステップとを備え、
上記評価値算出処理ステップでは、上記空間ダイレクトモードの評価値として、上記復号対象のブロックの周囲に位置している復号済みブロックの動きベクトルの分散値を算出する一方、上記時間ダイレクトモードの評価値として、上記復号対象のブロックの時間的に近傍にある復号済みピクチャにおいて、上記復号対象のブロックと空間的に同じ位置にあるブロックの周囲に位置している復号済みブロックの動きベクトルの分散値を算出することを特徴とする画像復号方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像圧縮符号化技術や圧縮画像データ伝送技術などに用いられる画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法に関するものである。
【背景技術】
【０００２】
例えば、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）や「ＩＴＵ−Ｔ  Ｈ．２６ｘ」などの国際標準映像符号化方式では、輝度信号１６×１６画素と、その輝度信号１６×１６画素に対応する色差信号８×８画素とをまとめたブロックデータ（以下、「マクロブロック」と称する）を一単位として、動き補償技術や直交変換／変換係数量子化技術に基づいて圧縮する方法が採用されている。
画像符号化装置及び画像復号装置における動き補償処理では、前方または後方のピクチャを参照して、マクロブロック単位で動きベクトルの検出や予測画像の生成を行う。
このとき、１枚のピクチャのみを参照して、画面間予測符号化を行うものをＰピクチャと称し、同時に２枚のピクチャを参照して、画面間予測符号化を行うものをＢピクチャと称する。【０００３】
国際標準方式であるＡＶＣ／Ｈ．２６４（ＩＳＯ／ＩＥＣ  １４４９６−１０｜ＩＴＵ−Ｔ  Ｈ．２６４）では、Ｂピクチャを符号化する際に、ダイレクトモードと呼ばれる符号化モードを選択することができる（例えば、非特許文献１を参照）。
即ち、符号化対象のマクロブロックには、動きベクトルの符号化データを持たず、符号化済みの他のピクチャのマクロブロックの動きベクトルや、周囲のマクロブロックの動きベクトルを用いる所定の演算処理で、符号化対象のマクロブロックの動きベクトルを生成する符号化モードを選択することができる。【０００４】
このダイレクトモードには、時間ダイレクトモードと空間ダイレクトモードの２種類が存在する。
時間ダイレクトモードでは、符号化済みの他ピクチャの動きベクトルを参照し、符号化済みピクチャと符号化対象のピクチャとの時間差に応じて動きベクトルのスケーリング処理を行うことで、符号化対象のマクロブロックの動きベクトルを生成する。
空間ダイレクトモードでは、符号化対象のマクロブロックの周囲に位置している少なくとも１つ以上の符号化済みマクロブロックの動きベクトルを参照し、それらの動きベクトルから符号化対象のマクロブロックの動きベクトルを生成する。
このダイレクトモードでは、スライスヘッダに設けられたフラグである“ｄｉｒｅｃｔ＿ｓｐａｔｉａｌ＿ｍｖ＿ｐｒｅｄ＿ｆｌａｇ”を用いることにより、スライス単位で、時間ダイレクトモード又は空間ダイレクトモードのいずれか一方を選択することが可能である。【０００５】
ここで、図９は時間ダイレクトモードで動きベクトルを生成する方法を示す模式図である。
図９において、「Ｐ」はＰピクチャを表し、「Ｂ」はＢピクチャを表している。
また、数字０−３はピクチャの表示順を示し、時間Ｔ０，Ｔ１，Ｔ２，Ｔ３の表示画像であることを表している。
ピクチャの符号化処理は、Ｐ０，Ｐ３，Ｂ１，Ｂ２の順番で行われているものとする。【０００６】
例えば、ピクチャＢ２の中のマクロブロックＭＢ１を時間ダイレクトモードで符号化する場合を想定する。
この場合、ピクチャＢ２の時間軸上後方にある符号化済みピクチャのうち、ピクチャＢ２に一番近いピクチャＰ３の動きベクトルであって、マクロブロックＭＢ１と空間的に同じ位置にあるマクロブロックＭＢ２の動きベクトルＭＶを用いる。
この動きベクトルＭＶはピクチャＰ０を参照しており、マクロブロックＭＢ１を符号化する際に用いる動きベクトルＭＶＬ０，ＭＶＬ１は、以下の式（１）で求められる。【０００７】
0005442039.tif 000002
したがって、時間ダイレクトモードで、符号化対象のマクロブロックの動きベクトルを求めるには、符号化済みピクチャの動きベクトルＭＶを１画面分必要とするため、動きベクトルを保持するメモリが必要となる。【０００８】
図１０は空間ダイレクトモードで動きベクトルを生成する方法を示す模式図である。
図１０において、ｃｕｒｒｅｎｔＭＢは、符号化対象のマクロブロックを表している。
このとき、符号化対象のマクロブロックの左横の符号化済マクロブロックＡの動きベクトルをＭＶａ、符号化対象のマクロブロックの上の符号化済マクロブロックＢの動きベクトルをＭＶｂ、符号化対象のマクロブロックの右上の符号化済マクロブロックＣの動きベクトルをＭＶｃとすると、下記の式（２）に示すように、これらの動きベクトルＭＶａ，ＭＶｂ，ＭＶｃのメディアン（中央値）を求めることにより、符号化対象のマクロブロックの動きベクトルＭＶを算出することができる。
ＭＶ＝ｍｅｄｉａｎ（ＭＶａ、ＭＶｂ、ＭＶｃ）    （２）
空間ダイレクトモードでは、前方及び後方のそれぞれについて動きベクトルを求めるが、どちらも上記の方法を用いて求めることが可能である。【０００９】
ＡＶＣ／Ｈ．２６４では、空間ダイレクトモード又は時間ダイレクトモードのいずれか一方を選択するが、上述したように、スライスヘッダに設けられたフラグである“ｄｉｒｅｃｔ＿ｓｐａｔｉａｌ＿ｍｖ＿ｐｒｅｄ＿ｆｌａｇ”を参照すると、スライス単位で、時間ダイレクトモード又は空間ダイレクトモードを選択する必要があるため、マクロブロック毎に、最適なダイレクトモードに切り替えて使用することはできない。
【先行技術文献】
【非特許文献】
【００１０】
【非特許文献１】ＭＰＥＧ−４  ＡＶＣ（ＩＳＯ／ＩＥＣ  １４４９６−１０）／ＩＴＵ−Ｔ  Ｈ．２６４規格
【発明の概要】
【発明が解決しようとする課題】
【００１１】
従来の画像符号化装置は以上のように構成されているので、スライスヘッダに設けられたフラグである“ｄｉｒｅｃｔ＿ｓｐａｔｉａｌ＿ｍｖ＿ｐｒｅｄ＿ｆｌａｇ”を参照すれば、スライス単位で、時間ダイレクトモードと空間ダイレクトモードを切り替えることができる。しかし、マクロブロック単位では、時間ダイレクトモードと空間ダイレクトモードを切り替えることができないため、或るスライスに属している或るマクロブロックに対する最適なダイレクトモードが例えば空間ダイレクトモードであっても、当該スライスに対応するダイレクトモードが時間ダイレクトモードに決められていれば、当該マクロブロックに対して時間ダイレクトモードを使用しなければならず、最適なダイレクトモードを選択することができない。このような場合、最適なダイレクトモードを選択することができないため、不必要な動きベクトルを符号化しなければならず、符号量が増加してしまうなどの課題があった。【００１２】
この発明は上記のような課題を解決するためになされたもので、所定のブロック単位に最適なダイレクトモードを選択することができる画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法を得ることを目的とする。
【課題を解決するための手段】
【００１３】
この発明に係る画像符号化装置は、符号化対象のブロックの周囲に位置している符号化済みブロックの動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成するとともに、符号化対象のブロックの時間的に近傍にある符号化済みピクチャの動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成するダイレクトベクトル生成手段と、ダイレクトベクトル生成手段により生成された空間ダイレクトベクトルを用いて、空間ダイレクトモードの評価値を算出するとともに、その時間ダイレクトベクトルを用いて、時間ダイレクトモードの評価値を算出する評価値算出手段と、評価値算出手段により算出された空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較して、空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を選択するダイレクトベクトル選択手段とを設け、予測画像生成手段がダイレクトベクトル選択手段により選択されたダイレクトベクトルを用いて動き補償予測処理を実施することで、予測画像を生成し、評価値算出手段が、空間ダイレクトモードの評価値として、ダイレクトベクトル生成手段により生成された空間ダイレクトベクトルを用いて、空間ダイレクトモードの前方予測画像と後方予測画像を生成して、前方予測画像と後方予測画像の類似度を算出する一方、時間ダイレクトモードの評価値として、ダイレクトベクトル生成手段により生成された時間ダイレクトベクトルを用いて、時間ダイレクトモードの前方予測画像と後方予測画像を生成して、前方予測画像と後方予測画像の類似度を算出するようにしたものである。
【発明の効果】
【００１４】
この発明によれば、符号化対象のブロックの周囲に位置している符号化済みブロックの動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成するとともに、符号化対象のブロックの時間的に近傍にある符号化済みピクチャの動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成するダイレクトベクトル生成手段と、ダイレクトベクトル生成手段により生成された空間ダイレクトベクトルを用いて、空間ダイレクトモードの評価値を算出するとともに、その時間ダイレクトベクトルを用いて、時間ダイレクトモードの評価値を算出する評価値算出手段と、評価値算出手段により算出された空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較して、空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を選択するダイレクトベクトル選択手段とを設け、予測画像生成手段がダイレクトベクトル選択手段により選択されたダイレクトベクトルを用いて動き補償予測処理を実施することで、予測画像を生成し、評価値算出手段が、空間ダイレクトモードの評価値として、ダイレクトベクトル生成手段により生成された空間ダイレクトベクトルを用いて、空間ダイレクトモードの前方予測画像と後方予測画像を生成して、前方予測画像と後方予測画像の類似度を算出する一方、時間ダイレクトモードの評価値として、ダイレクトベクトル生成手段により生成された時間ダイレクトベクトルを用いて、時間ダイレクトモードの前方予測画像と後方予測画像を生成して、前方予測画像と後方予測画像の類似度を算出するように構成したので、所定のブロック単位に最適なダイレクトモードを選択することができるようになり、その結果、不必要な動きベクトルの符号化を避けて、符号量の増加を防止することができる効果がある。
【図面の簡単な説明】
【００１５】
【図１】この発明の実施の形態１による画像符号化装置を示す構成図である。
【図２】この発明の実施の形態１による画像符号化装置の動き補償予測部２を示す構成図である。
【図３】動き補償予測部２を構成しているダイレクトベクトル生成部２２を示す構成図である。
【図４】ダイレクトベクトル生成部２２を構成しているダイレクトベクトル判定部３３を示す構成図である。
【図５】この発明の実施の形態１による画像復号装置を示す構成図である。
【図６】この発明の実施の形態１による画像復号装置の動き補償予測部５４を示す構成図である。
【図７】動き補償予測部５４を構成しているダイレクトベクトル生成部６１を示す構成図である。
【図８】ダイレクトベクトル生成部６１を構成しているダイレクトベクトル判定部７３を示す構成図である。
【図９】時間ダイレクトモードで動きベクトルを生成する方法を示す模式図である。
【図１０】空間ダイレクトモードで動きベクトルを生成する方法を示す模式図である。
【図１１】前方予測画像と後方予測画像の類似度による評価値の算出例を示す説明図である。
【図１２】この発明の実施の形態１による画像符号化装置の処理内容を示すフローチャートである。
【図１３】この発明の実施の形態１による画像復号装置の処理内容を示すフローチャートである。
【図１４】動きベクトルの分散値を用いた評価式を示す説明図である。
【図１５】この発明の実施の形態３による画像符号化装置を示す構成図である。
【図１６】動き補償予測部１１を構成しているダイレクトベクトル生成部２２を示す構成図である。
【図１７】ダイレクトベクトル生成部２２を構成しているダイレクトベクトル判定部３４を示す構成図である。
【図１８】この発明の実施の形態３による画像復号装置を示す構成図である。
【図１９】動き補償予測部５９を構成しているダイレクトベクトル生成部６１を示す構成図である。
【図２０】ダイレクトベクトル生成部６１を構成しているダイレクトベクトル判定部７４を示す構成図である。
【発明を実施するための形態】
【００１６】
以下、この発明をより詳細に説明するために、この発明の実施するための形態について、添付の図面に従って説明する。
実施の形態１．
図１はこの発明の実施の形態１による画像符号化装置を示す構成図である。
図１の画像符号化装置では、ＡＶＣ／Ｈ．２６４規格で採用されている符号化方式を用いている例を説明する。
図１において、動きベクトルメモリ１は符号化済みマクロブロック（あるいは、マクロブロックを分割したサブマクロブロック）の動きベクトルを格納している例えばＲＡＭなどの記録媒体である。
【００１７】
動き補償予測部２はフレームメモリ９に格納されている１フレーム以上の動き補償予測用の参照画像の中から１フレームの参照画像を選択し、入力画像を構成しているマクロブロック（あるいは、マクロブロックを分割したサブマクロブロック）の単位で、動き補償予測処理を実行して、当該マクロブロック（符号化対象のマクロブロック）の動きベクトルを生成して予測画像を生成し、それぞれのマクロブロック毎に選択した参照画像の識別番号、動きベクトル及び予測画像等を出力する処理を実施する。
ただし、ここでは、説明の便宜上、マクロブロック単位で、動きベクトルを生成して予測画像を生成するものとする。
【００１８】
ただし、動き補償予測部２は符号化対象のマクロブロックの動きベクトルを生成して予測画像を生成する際、入力画像を構成しているマクロブロック毎に、当該マクロブロックの周囲に位置している符号化済みマクロブロックの動きベクトル（動きベクトルメモリ１に格納されている動きベクトル）から空間ダイレクトモードの空間ダイレクトベクトルを生成するとともに、当該マクロブロックの時間的に近傍にある符号化済みピクチャの動きベクトル（動きベクトルメモリ１に格納されている動きベクトル）から時間ダイレクトモードの時間ダイレクトベクトルを生成する処理を実施する。
また、動き補償予測部２は空間ダイレクトベクトルを用いて、空間ダイレクトモードの評価値を算出するとともに、その時間ダイレクトベクトルを用いて、時間ダイレクトモードの評価値を算出する処理を実施する。
また、動き補償予測部２は空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較して、空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を選択する処理を実施する。
さらに、動き補償予測部２は選択したダイレクトベクトルを用いて動き補償予測処理を実施することで、予測画像を生成する処理を実施する。
【００１９】
減算器３は動き補償予測部２により生成された予測画像と入力画像の差分画像を算出して、その差分画像を示す予測差分信号を符号化モード判定部４に出力する処理を実施する。
符号化モード判定部４は減算器３から出力された予測差分信号の予測効率を評価して、減算器３から出力された少なくとも１以上の予測差分信号の中で、最も予測効率が高い予測差分信号を選択し、動き補償予測部２で当該予測差分信号に係る予測画像の生成に用いられた動きベクトル、マクロブロックタイプ／サブマクロブロックタイプ（例えば、当該マクロブロックにおいて使用されている符号化モードが、インターモード又はダイレクトモードのいずれであるかを示す情報を含む）及び参照画像の識別番号を符号化モード情報として可変長符号化部１０に出力し、また、最も予測効率が高い予測差分信号を圧縮部５に出力する処理を実施する。
【００２０】
圧縮部５は符号化モード判定部４から出力された予測差分信号に対するＤＣＴ（離散コサイン変換）処理を実施することでＤＣＴ係数を算出するとともに、そのＤＣＴ係数を量子化して、量子化後のＤＣＴ係数である圧縮データを局部復号部６及び可変長符号化部１０に出力する処理を実施する。
なお、減算器３、符号化モード判定部４及び圧縮部５から量子化手段が構成されている。
【００２１】
局部復号部６は圧縮部５から出力された圧縮データを逆量子化してＤＣＴ係数を求め、そのＤＣＴ係数に対する逆ＤＣＴ（逆離散コサイン変換）処理を実施することで、符号化モード判定部４から出力された予測差分信号に相当する予測誤差信号を算出する処理を実施する。
加算器７は局部復号部６により算出された予測誤差信号と動き補償予測部２により生成された予測画像を示す予測信号を加算することで、局部復号画像を示す局部復号画像信号を生成する処理を実施する。
【００２２】
ループフィルタ８は加算器７から出力された局部復号画像信号に含まれている符号化歪みを補償し、符号化歪み補償後の局部復号画像信号が示す局部復号画像を参照画像としてフレームメモリ９に出力する処理を実施する。
フレームメモリ９はループフィルタ８から出力された参照画像を格納するＲＡＭなどの記録媒体である。
【００２３】
可変長符号化部１０は圧縮部５から出力された圧縮データ及び動き補償予測部２から出力された符号化モード情報（マクロブロックタイプ／サブマクロブロックタイプ、動きベクトル、参照画像の識別番号）をエントロピー符号化して、その符号化結果を示すビットストリーム（符号化データ）を生成し、そのビットストリームを出力する処理を実施する。なお、可変長符号化部１０は可変長符号化手段を構成している。
【００２４】
図２はこの発明の実施の形態１による画像符号化装置の動き補償予測部２を示す構成図である。
図２において、動きベクトル探索部２１は符号化モードがインターモードである旨を示す情報を受信（例えば、外部からインターモードを使用する旨を示す情報を受信）すると、インターモードで最適な動きベクトルを探索し、その動きベクトルを動き補償処理部２３に出力する処理を実施する。
【００２５】
ダイレクトベクトル生成部２２は符号化モードがダイレクトモードである旨を示す情報を受信すると、符号化対象のマクロブロック毎に、空間ダイレクトモードの空間ダイレクトベクトルと時間ダイレクトモードの時間ダイレクトベクトルを生成し、その空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を動きベクトルとして動き補償処理部２３に出力する処理を実施する。
動き補償処理部２３は動きベクトル探索部２１又はダイレクトベクトル生成部２２から出力された動きベクトルとフレームメモリ９に格納されている１フレームの参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する処理を実施する。なお、動き補償処理部２３は予測画像生成手段を構成している。
【００２６】
図３は動き補償予測部２を構成しているダイレクトベクトル生成部２２を示す構成図である。
図３において、空間ダイレクトベクトル生成部３１は動きベクトルメモリ１により格納されている符号化済みマクロブロックの動きベクトルの中から、符号化対象のマクロブロックの周囲に位置している符号化済みマクロブロックの動きベクトルを読み出し、その動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成する処理を実施する。
時間ダイレクトベクトル生成部３２は動きベクトルメモリ１により格納されている符号化済みマクロブロックの動きベクトルの中から、符号化対象のマクロブロックの時間的に近傍にある符号化済みピクチャの動きベクトルであって、符号化対象のマクロブロックと空間的に同じ位置にあるマクロブロックの動きベクトルを読み出し、その動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成する処理を実施する。
なお、空間ダイレクトベクトル生成部３１及び時間ダイレクトベクトル生成部３２からダイレクトベクトル生成手段が構成されている。
【００２７】
ダイレクトベクトル判定部３３は空間ダイレクトベクトル生成部３１により生成された空間ダイレクトベクトルを用いて、空間ダイレクトモードの評価値を算出するとともに、時間ダイレクトベクトル生成部３２により生成された時間ダイレクトベクトルを用いて、時間ダイレクトモードの評価値を算出し、その空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較して、その空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を選択する処理を実施する。
【００２８】
図４はダイレクトベクトル生成部２２を構成しているダイレクトベクトル判定部３３を示す構成図である。
図４において、動き補償部４１は空間ダイレクトベクトル生成部３１により生成された空間ダイレクトベクトルを用いて、空間ダイレクトモードの前方予測画像と後方予測画像を生成するとともに、時間ダイレクトベクトル生成部３２により生成された時間ダイレクトベクトルを用いて、時間ダイレクトモードの前方予測画像と後方予測画像を生成する処理を実施する。
類似度算出部４２は空間ダイレクトモードの評価値として、空間ダイレクトモードの前方予測画像と後方予測画像の類似度を算出するとともに、時間ダイレクトモードの評価値として、時間ダイレクトモードの前方予測画像と後方予測画像の類似度を算出する処理を実施する。
なお、動き補償部４１及び類似度算出部４２から評価値算出手段が構成されている。
【００２９】
ダイレクトベクトル選択部４３は類似度算出部４２により算出された空間ダイレクトモードにおける前方予測画像と後方予測画像の類似度と、時間ダイレクトモードにおける前方予測画像と後方予測画像の類似度とを比較し、空間ダイレクトベクトル又は時間ダイレクトベクトルのうち、前方予測画像と後方予測画像の類似度が高い方のダイレクトモードのダイレクトベクトルを選択する処理を実施する。なお、ダイレクトベクトル選択部４３はダイレクトベクトル選択手段を構成している。
【００３０】
図５はこの発明の実施の形態１による画像復号装置を示す構成図である。
図５の画像復号装置では、ＡＶＣ／Ｈ．２６４規格で採用されている符号化方式を用いている例を説明する。
図５において、動きベクトルメモリ５１は復号済みマクロブロック（あるいは、マクロブロックを分割したサブマクロブロック）の動きベクトルを格納している例えばＲＡＭなどの記録媒体である。
【００３１】
可変長復号部５２は図１の画像符号化装置から出力されたビットストリーム（符号化データ）を入力し、そのビットストリームから圧縮データ及び符号化モード情報（マクロブロックタイプ／サブマクロブロックタイプ、動きベクトル、参照画像の識別番号）をエントロピー復号して、その圧縮データを予測誤差復号部５３に出力し、その符号化モード情報を動き補償予測部５４に出力する処理を実施する。なお、可変長復号部５２は可変長復号手段を構成している。
予測誤差復号部５３は可変長復号部５２から出力された圧縮データを逆量子化してＤＣＴ係数を求め、そのＤＣＴ係数に対する逆ＤＣＴ処理を実施することで、差分画像を示す予測誤差信号（図１の符号化モード判定部４から出力された予測差分信号に相当する予測誤差信号）を算出する処理を実施する。なお、予測誤差復号部５３は逆量子化手段を構成している。
【００３２】
動き補償予測部５４はフレームメモリ５７に格納されている１フレーム以上の参照画像の中から、可変長復号部５２から出力された識別番号が示す参照画像を読み出し、可変長復号部５２から出力されたマクロブロックタイプ／サブマクロブロックタイプがインターモードを使用している旨を示している場合、可変長復号部５２から出力された動きベクトルと上記参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する処理を実施する。
一方、可変長復号部５２から出力されたマクロブロックタイプ／サブマクロブロックタイプがダイレクトモードを使用している旨を示している場合、図１の画像符号化装置における動き補償予測部２と同様にして、空間ダイレクトベクトルと時間ダイレクトベクトルを生成して、その空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を選択し、その選択したダイレクトベクトルと識別番号が示す参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する処理を実施する。
【００３３】
加算器５５は動き補償予測部５４により生成された予測画像と予測誤差復号部５３から出力された予測誤差信号が示す差分画像を加算して、図１の画像符号化装置の加算器７から出力された局部復号画像に相当する復号画像を示す復号画像信号を生成する処理を実施する。
ループフィルタ５６は加算器５５により生成された復号画像信号に含まれている符号化歪みを補償し、符号化歪み補償後の復号画像信号が示す復号画像を参照画像としてフレームメモリ５７に格納するとともに、その復号画像を外部に出力する処理を実施する。
なお、加算器５５及びループフィルタ５６から画像加算手段が構成されている。
フレームメモリ５７はループフィルタ５６から出力された参照画像を格納するＲＡＭなどの記録媒体である。
【００３４】
図６はこの発明の実施の形態１による画像復号装置の動き補償予測部５４を示す構成図である。
図６において、ダイレクトベクトル生成部６１は可変長復号部５２から出力されたマクロブロックタイプ／サブマクロブロックタイプがダイレクトモードを使用している旨を示している場合、復号対象のマクロブロック毎に、空間ダイレクトモードの空間ダイレクトベクトルと時間ダイレクトモードの時間ダイレクトベクトルを生成し、その空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を動きベクトルとして動き補償処理部６２に出力する処理を実施する。
【００３５】
動き補償処理部６２はフレームメモリ５７に格納されている１フレーム以上の参照画像の中から、可変長復号部５２から出力された識別番号が示す参照画像を読み出し、マクロブロックタイプ／サブマクロブロックタイプがインターモードを使用している旨を示している場合、可変長復号部５２から出力された動きベクトルと上記参照画像を用いて、動き補償予測処理を実施することで予測画像を生成し、マクロブロックタイプ／サブマクロブロックタイプがダイレクトモードを使用している旨を示している場合、ダイレクトベクトル生成部６１から出力された動きベクトルと上記参照画像を用いて、動き補償予測処理を実施することで予測画像を生成する処理を実施する。なお、動き補償処理部６２は予測画像生成手段を構成している。
【００３６】
図７は動き補償予測部５４を構成しているダイレクトベクトル生成部６１を示す構成図である。
図７において、空間ダイレクトベクトル生成部７１は動きベクトルメモリ５１により格納されている復号済みマクロブロックの動きベクトルの中から、復号対象のマクロブロックの周囲に位置している復号済みマクロブロックの動きベクトルを読み出し、その動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成する処理を実施する。
時間ダイレクトベクトル生成部７２は動きベクトルメモリ５１により格納されている復号済みマクロブロックの動きベクトルの中から、復号対象のマクロブロックの時間的に近傍にある復号済みピクチャの動きベクトルであって、復号対象のマクロブロックと空間的に同じ位置にあるマクロブロックの動きベクトルを読み出し、その動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成する処理を実施する。
なお、空間ダイレクトベクトル生成部７１及び時間ダイレクトベクトル生成部７２からダイレクトベクトル生成手段が構成されている。
【００３７】
ダイレクトベクトル判定部７３は空間ダイレクトベクトル生成部７１により生成された空間ダイレクトベクトルを用いて、空間ダイレクトモードの評価値を算出するとともに、時間ダイレクトベクトル生成部７２により生成された時間ダイレクトベクトルを用いて、時間ダイレクトモードの評価値を算出し、その空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較して、その空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を選択する処理を実施する。
【００３８】
図８はダイレクトベクトル生成部６１を構成しているダイレクトベクトル判定部７３を示す構成図である。
図８において、動き補償部８１は空間ダイレクトベクトル生成部７１により生成された空間ダイレクトベクトルを用いて、空間ダイレクトモードの前方予測画像と後方予測画像を生成するとともに、時間ダイレクトベクトル生成部７２により生成された時間ダイレクトベクトルを用いて、時間ダイレクトモードの前方予測画像と後方予測画像を生成する処理を実施する。
類似度算出部８２は空間ダイレクトモードの評価値として、空間ダイレクトモードの前方予測画像と後方予測画像の類似度を算出するとともに、時間ダイレクトモードの評価値として、時間ダイレクトモードの前方予測画像と後方予測画像の類似度を算出する処理を実施する。
なお、動き補償部８１及び類似度算出部８２から評価値算出手段が構成されている。
【００３９】
ダイレクトベクトル選択部８３は類似度算出部８２により算出された空間ダイレクトモードにおける前方予測画像と後方予測画像の類似度と、時間ダイレクトモードにおける前方予測画像と後方予測画像の類似度とを比較し、空間ダイレクトベクトル又は時間ダイレクトベクトルのうち、前方予測画像と後方予測画像の類似度が高い方のダイレクトモードのダイレクトベクトルを選択する処理を実施する。なお、ダイレクトベクトル選択部８３はダイレクトベクトル選択手段を構成している。
【００４０】
図１では、画像符号化装置の構成要素である動き補償予測部２、減算器３、符号化モード判定部４、圧縮部５、局部復号部６、加算器７、ループフィルタ８及び可変長符号化部１０のそれぞれが専用のハードウェア（例えば、ＣＰＵを実装している半導体集積回路、あるいは、ワンチップマイコンなど）で構成されているものを想定しているが、画像符号化装置がコンピュータで構成される場合、動き補償予測部２、減算器３、符号化モード判定部４、圧縮部５、局部復号部６、加算器７、ループフィルタ８及び可変長符号化部１０の処理内容を記述しているプログラムを当該コンピュータのメモリに格納し、当該コンピュータのＣＰＵが当該メモリに格納されているプログラムを実行するようにしてもよい。
図１２はこの発明の実施の形態１による画像符号化装置の処理内容を示すフローチャートである。
【００４１】
図５では、画像復号装置の構成要素である可変長復号部５２、予測誤差復号部５３、動き補償予測部５４、加算器５５及びループフィルタ５６のそれぞれが専用のハードウェア（例えば、ＣＰＵを実装している半導体集積回路、あるいは、ワンチップマイコンなど）で構成されているものを想定しているが、画像復号装置がコンピュータで構成される場合、可変長復号部５２、予測誤差復号部５３、動き補償予測部５４、加算器５５及びループフィルタ５６の処理内容を記述しているプログラムを当該コンピュータのメモリに格納し、当該コンピュータのＣＰＵが当該メモリに格納されているプログラムを実行するようにしてもよい。
図１３はこの発明の実施の形態１による画像復号装置の処理内容を示すフローチャートである。
【００４２】
次に動作について説明する。
最初に、図１の画像符号化装置の処理内容を説明する。
動き補償予測部２は、入力画像を示す動画像信号を入力すると、その動画像信号の各フレームをマクロブロック単位（あるいは、サブマクロブロック単位）に分割する。
動き補償予測部２は、動画像信号をマクロブロック単位（あるいは、サブマクロブロック単位）に分割すると、フレームメモリ９に格納されている１フレーム以上の動き補償予測用の参照画像の中から１フレームの参照画像を選択し、マクロブロック単位（あるいは、サブマクロブロック単位）で、動き補償予測処理を実行することで、符号化対象のマクロブロック（あるいは、サブマクロブロック）の動きベクトルを生成して予測画像を生成する。
【００４３】
動き補償予測部２は、符号化対象のマクロブロック（あるいは、サブマクロブロック）の動きベクトルを生成して予測画像を生成すると、その予測画像を減算器３に出力するとともに、その予測画像の生成に用いられた動きベクトル、マクロブロックタイプ／サブマクロブロックタイプ（例えば、当該マクロブロック（あるいは、サブマクロブロック）において使用されている符号化モードが、インターモード又はダイレクトモードのいずれであるかを示す情報を含む）及び参照画像の識別番号を符号化モード判定部４に出力する。
以下、動き補償予測部２の処理内容を具体的に説明する。
ただし、ここでは、説明の便宜上、マクロブロック単位で、動きベクトルを生成して予測画像を生成するものとする。
【００４４】
動き補償予測部２の動きベクトル探索部２１は、符号化モードがインターモードである旨を示す情報を受信（例えば、外部からインターモードを使用する旨を示す情報を受信）すると、インターモードで最適な動きベクトルを探索し、その動きベクトルを動き補償処理部２３に出力する。
インターモードで最適な動きベクトルを探索する処理自体は公知の技術であるため詳細な説明を省略する。
【００４５】
動き補償予測部２のダイレクトベクトル生成部２２は、符号化モードがダイレクトモードである旨を示す情報を受信すると、符号化対象のマクロブロック毎に、空間ダイレクトモードの空間ダイレクトベクトルと時間ダイレクトモードの時間ダイレクトベクトルを生成し、その空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を動きベクトルとして動き補償処理部２３に出力する。
【００４６】
即ち、ダイレクトベクトル生成部２２の空間ダイレクトベクトル生成部３１は、動きベクトルメモリ１により格納されている符号化済みマクロブロックの動きベクトルの中から、符号化対象のマクロブロックの周囲に位置している符号化済みマクロブロックの動きベクトルを読み出し、その動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成する（図１２のステップＳＴ１）。
また、ダイレクトベクトル生成部２２の時間ダイレクトベクトル生成部３２は、動きベクトルメモリ１により格納されている符号化済みマクロブロックの動きベクトルの中から、符号化対象のマクロブロックの時間的に近傍にある符号化済みピクチャの動きベクトルであって、符号化対象のマクロブロックと空間的に同じ位置にあるマクロブロックの動きベクトルを読み出し、その動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成する（ステップＳＴ２）。
【００４７】
ここで、図９は時間ダイレクトモードで動きベクトル（時間ダイレクトベクトル）を生成する方法を示す模式図である。
例えば、ピクチャＢ２の中のマクロブロックＭＢ１が符号化対象のマクロブロックであり、マクロブロックＭＢ１を時間ダイレクトモードで符号化する場合を想定する。
この場合、ピクチャＢ２の時間軸上後方にある符号化済みピクチャのうち、ピクチャＢ２に一番近いピクチャＰ３の動きベクトルであって、マクロブロックＭＢ１と空間的に同じ位置にあるマクロブロックＭＢ２の動きベクトルＭＶを用いる。
この動きベクトルＭＶはピクチャＰ０を参照しており、マクロブロックＭＢ１を符号化する際に用いる動きベクトルＭＶＬ０，ＭＶＬ１は、以下の式（３）で求められる。
【００４８】
0005442039.tif 000003
時間ダイレクトベクトル生成部３２は、動きベクトルＭＶＬ０，ＭＶＬ１を算出すると、その動きベクトルＭＶＬ０，ＭＶＬ１を時間ダイレクトモードの時間ダイレクトベクトルとしてダイレクトベクトル判定部３３に出力する。
ただし、時間ダイレクトベクトル生成部３２における時間ダイレクトベクトルの生成方法は、図９に示すようなＨ．２６４方式を用いてもよいが、これに限るものではなく、他の方法を用いてもよい。
【００４９】
図１０は空間ダイレクトモードで動きベクトル（空間ダイレクトベクトル）を生成する方法を示す模式図である。
図１０において、ｃｕｒｒｅｎｔＭＢは、符号化対象のマクロブロックを表している。
このとき、符号化対象のマクロブロックの左横の符号化済マクロブロックＡの動きベクトルをＭＶａ、符号化対象のマクロブロックの上の符号化済マクロブロックＢの動きベクトルをＭＶｂ、符号化対象のマクロブロックの右上の符号化済マクロブロックＣの動きベクトルをＭＶｃとすると、下記の式（４）に示すように、これらの動きベクトルＭＶａ，ＭＶｂ，ＭＶｃのメディアン（中央値）を求めることにより、符号化対象のマクロブロックの動きベクトルＭＶを算出することができる。
ＭＶ＝ｍｅｄｉａｎ（ＭＶａ、ＭＶｂ、ＭＶｃ）  （４）
【００５０】
空間ダイレクトモードでは、前方及び後方のそれぞれについて動きベクトルを求めるが、どちらも上記の方法を用いて求めることが可能である。
空間ダイレクトベクトル生成部３１は、上記のようにして、前方及び後方の動きベクトルＭＶを算出すると、前方及び後方の動きベクトルＭＶを空間ダイレクトモードの空間ダイレクトベクトルとしてダイレクトベクトル判定部３３に出力する。
ただし、空間ダイレクトベクトル生成部３１における空間ダイレクトベクトルの生成方法は、図１０に示すようなＨ．２６４方式を用いてもよいが、これに限るものではなく、他の方法を用いてもよい。
【００５１】
ダイレクトベクトル生成部２２のダイレクトベクトル判定部３３は、空間ダイレクトベクトル生成部３１が空間ダイレクトベクトルを生成すると、その空間ダイレクトベクトルを用いて、空間ダイレクトモードの評価値を算出する。
また、ダイレクトベクトル判定部３３は、時間ダイレクトベクトル生成部３２が時間ダイレクトベクトルを生成すると、その時間ダイレクトベクトルを用いて、時間ダイレクトモードの評価値を算出する。
ダイレクトベクトル判定部３３は、その空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較し、その空間ダイレクトベクトル又は時間ダイレクトベクトルのうち、以下に記載するような判定手段によってダイレクトモードのダイレクトベクトルを選択して動き補償処理部２３に出力する。
【００５２】
以下、ダイレクトベクトル判定部３３の処理内容を具体的に説明する。
ダイレクトベクトル判定部３３の動き補償部４１は、空間ダイレクトベクトル生成部３１が空間ダイレクトベクトルＭＶＬ０，ＭＶＬ１を生成すると、図１１に示すように、その空間ダイレクトベクトルＭＶＬ０を用いて、空間ダイレクトモードの前方予測画像ｆｓｐａｔｉａｌを生成し、その空間ダイレクトベクトルＭＶＬ１を用いて、空間ダイレクトモードの後方予測画像ｇｓｐａｔｉａｌを生成する（ステップＳＴ３）。
また、動き補償部４１は、時間ダイレクトベクトル生成部３２が前方及び後方の動きベクトルＭＶである時間ダイレクトベクトルを生成すると、図１１に示すように、前方の動きベクトルＭＶである時間ダイレクトベクトルを用いて、時間ダイレクトモードの前方予測画像ｆｔｅｍｐｏｒａｌを生成し、後方の動きベクトルＭＶである時間ダイレクトベクトルを用いて、時間ダイレクトモードの後方予測画像ｇｔｅｍｐｏｒａｌを生成する（ステップＳＴ４）。
【００５３】
ダイレクトベクトル判定部３３の類似度算出部４２は、動き補償部４１が空間ダイレクトモードの前方予測画像ｆｓｐａｔｉａｌと後方予測画像ｇｓｐａｔｉａｌを生成すると、空間ダイレクトモードの評価値ＳＡＤｓｐａｔｉａｌとして、その前方予測画像ｆｓｐａｔｉａｌと後方予測画像ｇｓｐａｔｉａｌの類似度を算出する（ステップＳＴ５）。
ＳＡＤｓｐａｔｉａｌ＝｜ｆｓｐａｔｉａｌ−ｇｓｐａｔｉａｌ｜        （５）
また、類似度算出部４２は、動き補償部４１が時間ダイレクトモードの前方予測画像ｆｔｅｍｐｏｒａｌと後方予測画像ｇｔｅｍｐｏｒａｌを生成すると、時間ダイレクトモードの評価値ＳＡＤｔｅｍｐｏｒａｌとして、その前方予測画像ｆｔｅｍｐｏｒａｌと後方予測画像ｇｔｅｍｐｏｒａｌの類似度を算出する（ステップＳＴ６）。
ＳＡＤｔｅｍｐｏｒａｌ＝｜ｆｔｅｍｐｏｒａｌ−ｇｔｅｍｐｏｒａｌ｜  （６）
なお、前方予測画像と後方予測画像間の差分が大きい程、２つの画像間の類似度が低くなり（２つの画像の差分絶対値和を示す評価値ＳＡＤが大きくなる）、時間的な相関が低くなる。逆に、前方予測画像と後方予測画像間の差分が小さい程、２つの画像間の類似度が高くなり（２つの画像の差分絶対値和を示す評価値ＳＡＤが小さくなる）、時間的な相関が高くなる。
【００５４】
ダイレクトベクトル判定部３３のダイレクトベクトル選択部４３は、類似度算出部４２が空間ダイレクトモードの評価値ＳＡＤｓｐａｔｉａｌと、時間ダイレクトモードの評価値ＳＡＤｔｅｍｐｏｒａｌとを算出すると、その評価値ＳＡＤｓｐａｔｉａｌと評価値ＳＡＤｔｅｍｐｏｒａｌを比較することで、空間ダイレクトモードにおける前方予測画像ｆｓｐａｔｉａｌと後方予測画像ｇｓｐａｔｉａｌの類似度と、時間ダイレクトモードにおける前方予測画像ｆｔｅｍｐｏｒａｌと後方予測画像ｇｔｅｍｐｏｒａｌの類似度とを比較する（ステップＳＴ７）。
【００５５】
ダイレクトベクトル選択部４３は、空間ダイレクトモードにおける前方予測画像ｆｓｐａｔｉａｌと後方予測画像ｇｓｐａｔｉａｌの類似度が、時間ダイレクトモードにおける前方予測画像ｆｔｅｍｐｏｒａｌと後方予測画像ｇｔｅｍｐｏｒａｌの類似度より高い場合（ＳＡＤｓｐａｔｉａｌ≦ＳＡＤｔｅｍｐｏｒａｌ）、空間ダイレクトベクトル生成部３１により生成された空間ダイレクトベクトルを選択し、その空間ダイレクトベクトルを動きベクトルとして動き補償処理部２３に出力する（ステップＳＴ８）。
一方、時間ダイレクトモードにおける前方予測画像ｆｔｅｍｐｏｒａｌと後方予測画像ｇｔｅｍｐｏｒａｌの類似度が、空間ダイレクトモードにおける前方予測画像ｆｓｐａｔｉａｌと後方予測画像ｇｓｐａｔｉａｌの類似度より高い場合（ＳＡＤｓｐａｔｉａｌ＞ＳＡＤｔｅｍｐｏｒａｌ）、時間ダイレクトベクトル生成部３２により生成された時間ダイレクトベクトルを選択し、その時間ダイレクトベクトルを動きベクトルとして動き補償処理部２３に出力する（ステップＳＴ９）。
【００５６】
動き補償処理部２３は、符号化モードがダイレクトモードでないとき（ステップＳＴ１０）、動きベクトル探索部２１から動きベクトルを受けると、その動きベクトルとフレームメモリ９に格納されている１フレームの参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する（ステップＳＴ１１）。
一方、符号化モードがダイレクトモードであるとき（ステップＳＴ１０）、ダイレクトベクトル生成部２２から動きベクトル（ダイレクトベクトル選択部４３により選択されたダイレクトベクトル）を受けると、その動きベクトルとフレームメモリ９に格納されている１フレームの参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する（ステップＳＴ１２）。
なお、動き補償処理部２３の動き補償予測処理は公知の技術であるため詳細な説明を省略する。
【００５７】
ここでは、類似度算出部４２が差分絶対値和である評価値ＳＡＤを算出し、ダイレクトベクトル選択部４３が評価値ＳＡＤを比較するものについて示したが、類似度算出部４２が評価値として、前方予測画像と後方予測画像間の差分二乗和ＳＳＥを算出し、ダイレクトベクトル選択部４３が差分二乗和ＳＳＥを比較するようにしてもよい。ＳＳＥを用いることにより処理量は増えるが、より正確に類似度を算出することが可能となる。
【００５８】
減算器３は、動き補償予測部２が予測画像を生成すると、その予測画像と入力画像の差分画像を算出して、その差分画像を示す予測差分信号を符号化モード判定部４に出力する（ステップＳＴ１３）。
符号化モード判定部４は、減算器３から予測差分信号を受ける毎に、その予測差分信号の予測効率を評価して、減算器３から出力された少なくとも１以上の予測差分信号の中で、最も予測効率が高い予測差分信号を選択する。
符号化モード判定部４における予測差分信号の予測効率を評価する処理自体は公知の技術であるため詳細な説明を省略する。
【００５９】
符号化モード判定部４は、最も予測効率が高い予測差分信号を選択すると、動き補償予測部２において、その予測差分信号に係る予測画像の生成に用いられた動きベクトルと、マクロブロックタイプ／サブマクロブロックタイプ（例えば、当該マクロブロックにおいて使用されている符号化モードが、インターモード又はダイレクトモードのいずれであるかを示す情報を含む）と、参照画像の識別番号とを含む符号化モード情報を可変長符号化部１０に出力する。
また、符号化モード判定部４は、最も予測効率が高い予測差分信号を圧縮部５に出力する（ステップＳＴ１４）。
ただし、符号化モード判定部４は、符号化モードがインターモードであれば、予測画像の生成に用いられた動きベクトルを符号化モード情報に含めて、その動きベクトルを含んでいる符号化モード情報を可変長符号化部１０に出力するが、符号化モードがダイレクトモードである場合には、予測画像の生成に用いられた動きベクトルを符号化モード情報に含めずに、その動きベクトルを含んでいない符号化モード情報を可変長符号化部１０に出力する。
【００６０】
圧縮部５は、符号化モード判定部４から予測差分信号を受けると、その予測差分信号に対するＤＣＴ処理を実施することで、ＤＣＴ係数を算出して、そのＤＣＴ係数を量子化する（ステップＳＴ１５）。
圧縮部５は、量子化後のＤＣＴ係数である圧縮データを局部復号部６及び可変長符号化部１０に出力する。
【００６１】
局部復号部６は、圧縮部５から圧縮データを受けると、その圧縮データを逆量子化してＤＣＴ係数を求め、そのＤＣＴ係数に対する逆ＤＣＴ処理を実施することで、符号化モード判定部４から出力された予測差分信号に相当する予測誤差信号を算出する。
加算器７は、局部復号部６が予測誤差信号を復号すると、その予測誤差信号と動き補償予測部２により生成された予測画像を示す予測信号を加算することで、局部復号画像を示す局部復号画像信号を生成する。
ループフィルタ８は、次の符号化処理に備えるため、加算器７から出力された局部復号画像信号に含まれている符号化歪みを補償し、符号化歪み補償後の局部復号画像信号が示す局部復号画像を参照画像としてフレームメモリ９に格納する。
【００６２】
可変長符号化部１０は、圧縮部５から圧縮データを受けると、その圧縮データと動き補償予測部２から出力された符号化モード情報（マクロブロックタイプ／サブマクロブロックタイプ、動きベクトル（符号化モードがインターモードの場合）、参照画像の識別番号）をエントロピー符号化して、その符号化結果を示すビットストリームを生成し、そのビットストリームを出力する（ステップＳＴ１６）。
【００６３】
次に、図５の画像復号装置の処理内容を説明する。
可変長復号部５２は、図１の画像符号化装置から出力されたビットストリームを入力すると、そのビットストリームから圧縮データ及び符号化モード情報（マクロブロックタイプ／サブマクロブロックタイプ、動きベクトル（符号化モードがインターモードの場合）、参照画像の識別番号）をエントロピー復号して、その圧縮データを予測誤差復号部５３に出力し、その符号化モード情報を動き補償予測部５４に出力する（図１３のステップＳＴ２１）。
予測誤差復号部５３は、可変長復号部５２から圧縮データを受けると、その圧縮データを逆量子化してＤＣＴ係数を求め、そのＤＣＴ係数に対する逆ＤＣＴ処理を実施することで、差分画像を示す予測誤差信号（図１の符号化モード判定部４から出力された予測差分信号に相当する予測誤差信号）を算出する（ステップＳＴ２２）。
【００６４】
動き補償予測部５４は、可変長復号部５２から参照画像の識別番号を受けると、フレームメモリ５７に格納されている１フレーム以上の参照画像の中から、その識別番号が示す参照画像の読み出しを行う。
また、動き補償予測部５４は、可変長復号部５２からマクロブロックタイプ／サブマクロブロックタイプを受けると、そのマクロブロックタイプ／サブマクロブロックタイプを参照して、図１の画像符号化装置が符号化モードとして、インターモードを使用しているのか、ダイレクトモードを使用しているのかを判別する（ステップＳＴ２３）。
【００６５】
動き補償予測部５４は、図１の画像符号化装置が符号化モードとして、インターモードを使用している場合、可変長復号部５２から出力された動きベクトルと上記参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する（ステップＳＴ２４）。
一方、図１の画像符号化装置が符号化モードとして、ダイレクトモードを使用している場合、図１の画像符号化装置における動き補償予測部２と同様にして、空間ダイレクトベクトルと時間ダイレクトベクトルを生成して、その空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を選択し、その選択したダイレクトベクトルと識別番号が示す参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する（ステップＳＴ２５）。
【００６６】
以下、動き補償予測部５４の処理内容を具体的に説明する。
動き補償予測部５４のダイレクトベクトル生成部６１は、可変長復号部５２から出力されたマクロブロックタイプ／サブマクロブロックタイプがダイレクトモードを使用している旨を示している場合、復号対象のマクロブロック毎に、空間ダイレクトモードの空間ダイレクトベクトルと時間ダイレクトモードの時間ダイレクトベクトルを生成し、その空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を動きベクトルとして動き補償処理部６２に出力する。
【００６７】
即ち、ダイレクトベクトル生成部６１の空間ダイレクトベクトル生成部７１は、動きベクトルメモリ５１により格納されている復号済みマクロブロックの動きベクトルの中から、復号対象のマクロブロックの周囲に位置している復号済みマクロブロックの動きベクトルを読み出し、その動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成する。
ただし、空間ダイレクトベクトル生成部７１における空間ダイレクトベクトルの生成方法は、図３の空間ダイレクトベクトル生成部３１における空間ダイレクトベクトルの生成方法と同様であるため詳細な説明を省略する。
【００６８】
ダイレクトベクトル生成部６１の時間ダイレクトベクトル生成部７２は、動きベクトルメモリ５１により格納されている復号済みマクロブロックの動きベクトルの中から、復号対象のマクロブロックの時間的に近傍にある復号済みピクチャの動きベクトルであって、復号対象のマクロブロックと空間的に同じ位置にあるマクロブロックの動きベクトルを読み出し、その動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成する。
ただし、時間ダイレクトベクトル生成部７２における時間ダイレクトベクトルの生成方法は、図３の時間ダイレクトベクトル生成部３２における時間ダイレクトベクトルの生成方法と同様であるため詳細な説明を省略する。
【００６９】
ダイレクトベクトル生成部６１のダイレクトベクトル判定部７３は、空間ダイレクトベクトル生成部７１が空間ダイレクトベクトルを生成すると、その空間ダイレクトベクトルを用いて、空間ダイレクトモードの評価値を算出する。
また、ダイレクトベクトル判定部７３は、時間ダイレクトベクトル生成部７２が時間ダイレクトベクトルを生成すると、その時間ダイレクトベクトルを用いて、時間ダイレクトモードの評価値を算出する。
ダイレクトベクトル判定部７３は、その空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較し、その空間ダイレクトベクトル又は時間ダイレクトベクトルのうち、適正な方のダイレクトモードのダイレクトベクトルを選択して動き補償処理部６２に出力する。
【００７０】
以下、ダイレクトベクトル判定部７３の処理内容を具体的に説明する。
ダイレクトベクトル判定部７３の動き補償部８１は、空間ダイレクトベクトル生成部７１が空間ダイレクトベクトルＭＶＬ０，ＭＶＬ１を生成すると、図１１に示すように、その空間ダイレクトベクトルＭＶＬ０を用いて、空間ダイレクトモードの前方予測画像ｆｓｐａｔｉａｌを生成し、その空間ダイレクトベクトルＭＶＬ１を用いて、空間ダイレクトモードの後方予測画像ｇｓｐａｔｉａｌを生成する。
また、動き補償部８１は、時間ダイレクトベクトル生成部７２が前方及び後方の動きベクトルＭＶである時間ダイレクトベクトルを生成すると、図１１に示すように、前方の動きベクトルＭＶである時間ダイレクトベクトルを用いて、時間ダイレクトモードの前方予測画像ｆｔｅｍｐｏｒａｌを生成し、後方の動きベクトルＭＶである時間ダイレクトベクトルを用いて、時間ダイレクトモードの後方予測画像ｇｔｅｍｐｏｒａｌを生成する。
【００７１】
ダイレクトベクトル判定部７３の類似度算出部８２は、動き補償部８１が空間ダイレクトモードの前方予測画像ｆｓｐａｔｉａｌと後方予測画像ｇｓｐａｔｉａｌを生成すると、図４の類似度算出部４２と同様に、空間ダイレクトモードの評価値ＳＡＤｓｐａｔｉａｌとして、その前方予測画像ｆｓｐａｔｉａｌと後方予測画像ｇｓｐａｔｉａｌの類似度を算出する。
また、類似度算出部８２は、動き補償部８１が時間ダイレクトモードの前方予測画像ｆｔｅｍｐｏｒａｌと後方予測画像ｇｔｅｍｐｏｒａｌを生成すると、図４の類似度算出部４２と同様に、時間ダイレクトモードの評価値ＳＡＤｔｅｍｐｏｒａｌとして、その前方予測画像ｆｔｅｍｐｏｒａｌと後方予測画像ｇｔｅｍｐｏｒａｌの類似度を算出する。
なお、前方予測画像と後方予測画像間の差分が大きい程、２つの画像間の類似度が低くなり（２つの画像の差分絶対値和を示す評価値ＳＡＤが大きくなる）、時間的な相関が低くなる。逆に、前方予測画像と後方予測画像間の差分が小さい程、２つの画像間の類似度が高くなり（２つの画像の差分絶対値和を示す評価値ＳＡＤが小さくなる）、時間的な相関が高くなる。
【００７２】
ダイレクトベクトル判定部７３のダイレクトベクトル選択部８３は、類似度算出部８２が空間ダイレクトモードの評価値ＳＡＤｓｐａｔｉａｌと、時間ダイレクトモードの評価値ＳＡＤｔｅｍｐｏｒａｌとを算出すると、図４のダイレクトベクトル選択部４３と同様に、その評価値ＳＡＤｓｐａｔｉａｌと評価値ＳＡＤｔｅｍｐｏｒａｌを比較することで、空間ダイレクトモードにおける前方予測画像ｆｓｐａｔｉａｌと後方予測画像ｇｓｐａｔｉａｌの類似度と、時間ダイレクトモードにおける前方予測画像ｆｔｅｍｐｏｒａｌと後方予測画像ｇｔｅｍｐｏｒａｌの類似度とを比較する。
【００７３】
ダイレクトベクトル選択部８３は、空間ダイレクトモードにおける前方予測画像ｆｓｐａｔｉａｌと後方予測画像ｇｓｐａｔｉａｌの類似度が、時間ダイレクトモードにおける前方予測画像ｆｔｅｍｐｏｒａｌと後方予測画像ｇｔｅｍｐｏｒａｌの類似度より高い場合（ＳＡＤｓｐａｔｉａｌ≦ＳＡＤｔｅｍｐｏｒａｌ）、空間ダイレクトベクトル生成部７１により生成された空間ダイレクトベクトルを選択し、その空間ダイレクトベクトルを動きベクトルとして動き補償処理部６２に出力する。
一方、時間ダイレクトモードにおける前方予測画像ｆｔｅｍｐｏｒａｌと後方予測画像ｇｔｅｍｐｏｒａｌの類似度が、空間ダイレクトモードにおける前方予測画像ｆｓｐａｔｉａｌと後方予測画像ｇｓｐａｔｉａｌの類似度より高い場合（ＳＡＤｓｐａｔｉａｌ＞ＳＡＤｔｅｍｐｏｒａｌ）、時間ダイレクトベクトル生成部７２により生成された時間ダイレクトベクトルを選択し、その時間ダイレクトベクトルを動きベクトルとして動き補償処理部６２に出力する。
【００７４】
動き補償処理部６２は、可変長復号部５２から出力されたマクロブロックタイプ／サブマクロブロックタイプがインターモードを使用している旨を示している場合、可変長復号部５２から出力された動きベクトルとフレームメモリ９に格納されている１フレームの参照画像（可変長復号部５２から出力された識別番号が示す参照画像）を用いて、動き補償予測処理を実施することで、予測画像を生成する。
一方、可変長復号部５２から出力されたマクロブロックタイプ／サブマクロブロックタイプがダイレクトモードを使用している旨を示している場合、ダイレクトベクトル生成部６１から出力された動きベクトルとフレームメモリ９に格納されている１フレームの参照画像（可変長復号部５２から出力された識別番号が示す参照画像）を用いて、動き補償予測処理を実施することで、予測画像を生成する。
なお、動き補償処理部６２の動き補償予測処理は公知の技術であるため詳細な説明を省略する。
【００７５】
ここでは、類似度算出部８２が差分絶対値和である評価値ＳＡＤを算出し、ダイレクトベクトル選択部８３が評価値ＳＡＤを比較するものについて示したが、類似度算出部８２が評価値として、前方予測画像と後方予測画像間の差分二乗和ＳＳＥを算出し、ダイレクトベクトル選択部８３が差分二乗和ＳＳＥを比較するようにしてもよい。なお、類似度算出部８２は符号化器の類似度算出部４６と同一の評価値を用いる。
【００７６】
加算器５５は、動き補償予測部５４が予測画像を生成すると、その予測画像と予測誤差復号部５３から出力された予測誤差信号が示す差分画像を加算して、図１の画像符号化装置の加算器７から出力された局部復号画像に相当する復号画像を示す復号画像信号を生成する（ステップＳＴ２６）。
ループフィルタ５６は、加算器５５が復号画像信号を生成すると、その復号画像信号に含まれている符号化歪みを補償し、符号化歪み補償後の復号画像信号が示す復号画像を参照画像としてフレームメモリ５７に格納するとともに、その復号画像を外部に出力する（ステップＳＴ２７）。
【００７７】
以上で明らかなように、この実施の形態１によれば、符号化対象のマクロブロックの周囲に位置している符号化済みマクロブロックの動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成するとともに、符号化対象のマクロブロックの時間的に近傍にある符号化済みピクチャの動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成するダイレクトベクトル生成部２２と、ダイレクトベクトル生成部２２により生成された空間ダイレクトベクトルを用いて、空間ダイレクトモードの評価値を算出するとともに、その時間ダイレクトベクトルを用いて、時間ダイレクトモードの評価値を算出する類似度算出部４２と、類似度算出部４２により算出された空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較して、空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を選択するダイレクトベクトル選択部４３とを設け、動き補償処理部２３がダイレクトベクトル選択部４３により選択されたダイレクトベクトルを用いて動き補償予測処理を実施することで、予測画像を生成するように構成したので、マクロブロック単位に最適なダイレクトモードを選択することができるようになり、その結果、不必要な動きベクトルの符号化を避けて、符号量の増加を防止することができる画像符号化装置が得られる効果を奏する。
【００７８】
また、この実施の形態１によれば、復号対象のマクロブロックの周囲に位置している復号済みマクロブロックの動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成するとともに、復号対象のマクロブロックの時間的に近傍にある復号済みピクチャの動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成するダイレクトベクトル生成部６１と、ダイレクトベクトル生成部６１により生成された空間ダイレクトベクトルを用いて、空間ダイレクトモードの評価値を算出するとともに、その時間ダイレクトベクトルを用いて、時間ダイレクトモードの評価値を算出する類似度算出部８２と、類似度算出部８２により算出された空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較して、空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を選択するダイレクトベクトル選択部８３とを設け、動き補償処理部６２がダイレクトベクトル選択部８３により選択されたダイレクトベクトルを用いて動き補償予測処理を実施することで、予測画像を生成するように構成したので、マクロブロック単位に最適なダイレクトモードを選択することができるような符号化データを符号化可能な画像復号装置が得られる効果を奏する。
【００７９】
実施の形態２．
上記実施の形態１では、類似度算出部４２，８２が、空間ダイレクトモードの評価値ＳＡＤｓｐａｔｉａｌとして、空間ダイレクトモードの前方予測画像ｆｓｐａｔｉａｌと後方予測画像ｇｓｐａｔｉａｌの類似度を算出する一方、時間ダイレクトモードの評価値ＳＡＤｔｅｍｐｏｒａｌとして、時間ダイレクトモードの前方予測画像ｆｔｅｍｐｏｒａｌと後方予測画像ｇｔｅｍｐｏｒａｌの類似度を算出するものについて示したが、空間ダイレクトモードの評価値として、符号化対象（復号対象）のマクロブロックの周囲に位置している符号化済みマクロブロック（復号済みマクロブロック）の動きベクトルの分散値σ（ｓｐａｔｉａｌ）を算出する一方、時間ダイレクトモードの評価値として、符号化対象のマクロブロック（復号済みマクロブロック）の時間的に近傍にある符号化済みピクチャ（復号済みピクチャ）において、符号化対象のマクロブロック（復号済みマクロブロック）と空間的に同じ位置にあるマクロブロックの周囲に位置している符号化済みブロック（復号済みマクロブロック）の動きベクトルの分散値σ（ｔｅｍｐｏｒａｌ）を算出するようにしてもよく、上記実施の形態１と同様の効果を奏することができる。
【００８０】
即ち、類似度算出部４２，８２が、空間ダイレクトモードの評価値ＳＡＤｓｐａｔｉａｌとして、空間ダイレクトモードの前方予測画像ｆｓｐａｔｉａｌと後方予測画像ｇｓｐａｔｉａｌの類似度を算出する代わりに、図１４（ａ）に示すように、符号化対象（復号対象）のマクロブロックの周囲に位置している符号化済みマクロブロック（復号済みマクロブロック）の動きベクトルの分散値σ（ｓｐａｔｉａｌ）を算出する（下記の式（７）を参照）。
また、類似度算出部４２，８２が、時間ダイレクトモードの評価値ＳＡＤｔｅｍｐｏｒａｌとして、時間ダイレクトモードの前方予測画像ｆｔｅｍｐｏｒａｌと後方予測画像ｇｔｅｍｐｏｒａｌの類似度を算出する代わりに、図１４（ｂ）に示すように、符号化対象のマクロブロック（復号済みマクロブロック）の時間的に近傍にある符号化済みピクチャ（復号済みピクチャ）において、符号化対象のマクロブロック（復号済みマクロブロック）と空間的に同じ位置にあるマクロブロックの周囲に位置している符号化済みブロック（復号済みマクロブロック）の動きベクトルの分散値σ（ｔｅｍｐｏｒａｌ）を算出する（下記の式（７）を参照）。
【００８１】
0005442039.tif 000004
ただし、
0005442039.tif 000005
は周囲の動きベクトルを示し、
0005442039.tif 000006
は周囲の動きベクトルの平均を示している。
また、ｍはｓｐａｔｉａｌ又はｔｅｍｐｏｒａｌを示す記号である。
【００８２】
ダイレクトベクトル選択部４３，８３は、動きベクトルの分散値σ（ｓｐａｔｉａｌ）と動きベクトルの分散値σ（ｔｅｍｐｏｒａｌ）とを比較し、動きベクトルの分散値σ（ｓｐａｔｉａｌ）が動きベクトルの分散値σ（ｔｅｍｐｏｒａｌ）より大きい場合、空間ダイレクトモードの動きベクトル（空間ダイレクトベクトル）の信頼性が低いと判断して、時間ダイレクトモードの動きベクトル（時間ダイレクトベクトル）を選択する。
一方、動きベクトルの分散値σ（ｔｅｍｐｏｒａｌ）が動きベクトルの分散値σ（ｓｐａｔｉａｌ）より大きい場合、時間ダイレクトモードの動きベクトル（時間ダイレクトベクトル）の信頼性が低いと判断して、空間ダイレクトモードの動きベクトル（空間ダイレクトベクトル）を選択する。
【００８３】
実施の形態３．
上記実施の形態１では、符号化モードがダイレクトモードであれば、マクロブロック単位に、空間ダイレクトベクトルと時間ダイレクトベクトルを生成して、空間ダイレクトベクトル又は時間ダイレクトベクトルを選択し、その選択したダイレクトベクトルを用いて、予測画像を生成するものについて示したが、例えば、スライスヘッダに含まれているダイレクトモード切替フラグである“ｄｉｒｅｃｔ＿ｓｐａｔｉａｌ＿ｍｖ＿ｐｒｅｄ＿ｆｌａｇ”が無意（例えば、“０”）である場合に限り、上記実施の形態１と同様な予測画像生成処理を実施し、そのダイレクトモード切替フラグが有意（例えば、“１”又は“２”）である場合、そのダイレクトモード切替フラグが指示するダイレクトモードのダイレクトベクトルを選択する（例えば、フラグ＝１の場合、空間ダイレクトモードの空間ダイレクトベクトルを選択し、フラグ＝２の場合、時間ダイレクトモードの時間ダイレクトベクトルを選択する）ようにしてもよい。
【００８４】
以下、この実施の形態３の処理内容を具体的に説明する。
ここでは、説明の便宜上、スライスヘッダに含まれているダイレクトモード切替フラグが“０”であれば、上記実施の形態１と同様な予測画像生成処理を実施するものとする（マクロブロック単位に、空間ダイレクトベクトル又は時間ダイレクトベクトルを選択する）。
ダイレクトモード切替フラグが“１”であれば、当該スライスにおいては、全てのマクロブロックに対して、空間ダイレクトモードの空間ダイレクトベクトルを選択するものとする。
また、ダイレクトモード切替フラグが“２”であれば、当該スライスにおいては、全てのマクロブロックに対して、時間ダイレクトモードの時間ダイレクトベクトルを選択するものとする。
この実施の形態３では、ダイレクトモード切替フラグが“１”又は“２”である場合、スライス単位で、空間ダイレクトベクトル又は時間ダイレクトベクトルに切り替えることになるが、これに限るものではなく、例えば、ピクチャ単位やシーケンス単位で、空間ダイレクトベクトル又は時間ダイレクトベクトルに切り替えるようにしてもよい。
【００８５】
なお、この実施の形態３では、ダイレクトモード切替フラグが、３つの状態（“０”、“１”、“２”）を表すものとして説明するが、これに限るものではなく、例えば、ダイレクトモード切替フラグがＯＮ（有意）又はＯＦＦ（無意）のみを表す場合、更に、別のフラグ（例えば、プロファイル情報や、ｃｏｎｓｔｒａｉｎｔ＿ｓｅｔ＿ｆｌａｇなど）を入力するようにしてもよい。
即ち、ダイレクトモード切替フラグがＯＦＦである場合、上記実施の形態１と同様な予測画像生成処理を実施する。
一方、ダイレクトモード切替フラグがＯＮである場合、例えば、別のフラグ情報が“０”であれば、空間ダイレクトモードの空間ダイレクトベクトルを選択し、別のフラグが“１”であれば、時間ダイレクトモードの時間ダイレクトベクトルを選択するようにする。
【００８６】
図１５はこの発明の実施の形態３による画像符号化装置を示す構成図であり、図において、図１と同一符号は同一又は相当部分を示すので説明を省略する。
動き補償予測部１１はスライスヘッダに含まれているダイレクトモード切替フラグが“０”である場合、図１の動き補償予測部２と同様の処理を実施する。
また、動き補償予測部１１はスライスヘッダに含まれているダイレクトモード切替フラグが“１”である場合、空間ダイレクトモードの空間ダイレクトベクトルを生成し、その空間ダイレクトベクトルを用いて動き補償予測処理を実施することで、予測画像を生成する処理を実施する。
また、動き補償予測部１１はスライスヘッダに含まれているダイレクトモード切替フラグが“２”である場合、時間ダイレクトモードの時間ダイレクトベクトルを生成し、その時間ダイレクトベクトルを用いて動き補償予測処理を実施することで、予測画像を生成する処理を実施する。
ただし、動き補償予測部１１は、図１の動き補償予測部２と同様に、動きベクトル探索部２１、ダイレクトベクトル生成部２２及び動き補償処理部２３から構成されている（図２を参照）。
【００８７】
可変長符号化部１２は圧縮部５から出力された圧縮データと、動き補償予測部１１から出力された符号化モード情報（マクロブロックタイプ／サブマクロブロックタイプ、動きベクトル、参照画像の識別番号）及びダイレクトモード切替フラグとをエントロピー符号化して、その符号化結果を示すビットストリーム（符号化データ）を生成し、そのビットストリームを出力する処理を実施する。なお、可変長符号化部１２は可変長符号化手段を構成している。
【００８８】
図１６は動き補償予測部１１を構成しているダイレクトベクトル生成部２２を示す構成図であり、図において、図３と同一符号は同一又は相当部分を示すので説明を省略する。
ダイレクトベクトル判定部３４はスライスヘッダに含まれているダイレクトモード切替フラグが“０”である場合、図３のダイレクトベクトル判定部３３と同様に、空間ダイレクトベクトル生成部３１により生成された空間ダイレクトベクトルを用いて、空間ダイレクトモードの評価値を算出するとともに、時間ダイレクトベクトル生成部３２により生成された時間ダイレクトベクトルを用いて、時間ダイレクトモードの評価値を算出し、その空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較して、その空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を選択する処理を実施する。
また、ダイレクトベクトル判定部３４はダイレクトモード切替フラグが“１”である場合、空間ダイレクトベクトル生成部３１により生成された空間ダイレクトベクトルを選択し、その空間ダイレクトベクトルを動きベクトルとして動き補償処理部２３に出力する処理を実施する。
また、ダイレクトベクトル判定部３４はダイレクトモード切替フラグが“２”である場合、時間ダイレクトベクトル生成部３２により生成された時間ダイレクトベクトルを選択し、その時間ダイレクトベクトルを動きベクトルとして動き補償処理部２３に出力する処理を実施する。
【００８９】
図１７はダイレクトベクトル生成部２２を構成しているダイレクトベクトル判定部３４を示す構成図である。
図１７において、動き補償部４４はスライスヘッダに含まれているダイレクトモード切替フラグが“０”である場合、図４の動き補償部４１と同様に、空間ダイレクトベクトル生成部３１により生成された空間ダイレクトベクトルを用いて、空間ダイレクトモードの前方予測画像と後方予測画像を生成するとともに、時間ダイレクトベクトル生成部３２により生成された時間ダイレクトベクトルを用いて、時間ダイレクトモードの前方予測画像と後方予測画像を生成する処理を実施する。
また、動き補償部４４はダイレクトモード切替フラグが“１”である場合、空間ダイレクトベクトル生成部３１により生成された空間ダイレクトベクトルを類似度算出部４５に出力し、そのダイレクトモード切替フラグが“２”である場合、時間ダイレクトベクトル生成部３２により生成された時間ダイレクトベクトルを類似度算出部４５に出力する処理を実施する。
【００９０】
類似度算出部４５はダイレクトモード切替フラグが“０”である場合、図４の類似度算出部４２と同様に、空間ダイレクトモードの評価値として、空間ダイレクトモードの前方予測画像と後方予測画像の類似度を算出するとともに、時間ダイレクトモードの評価値として、時間ダイレクトモードの前方予測画像と後方予測画像の類似度を算出する処理を実施する。
また、類似度算出部４５はダイレクトモード切替フラグが“１”である場合、動き補償部４４から出力された空間ダイレクトベクトルをダイレクトベクトル選択部４６に出力し、ダイレクトモード切替フラグが“２”である場合、動き補償部４４から出力された時間ダイレクトベクトルをダイレクトベクトル選択部４６に出力する処理を実施する。
なお、動き補償部４４及び類似度算出部４５から評価値算出手段が構成されている。
【００９１】
ダイレクトベクトル選択部４６はダイレクトモード切替フラグが“０”である場合、図４のダイレクトベクトル選択部４３と同様に、類似度算出部４５により算出された空間ダイレクトモードにおける前方予測画像と後方予測画像の類似度と、時間ダイレクトモードにおける前方予測画像と後方予測画像の類似度とを比較し、空間ダイレクトベクトル又は時間ダイレクトベクトルのうち、前方予測画像と後方予測画像の類似度が高い方のダイレクトモードのダイレクトベクトルを選択する処理を実施する。
また、ダイレクトベクトル選択部４６はダイレクトモード切替フラグが“１”である場合、類似度算出部４５から出力された空間ダイレクトベクトルを選択して動き補償処理部２３に出力し、ダイレクトモード切替フラグが“２”である場合、類似度算出部４５から出力された時間ダイレクトベクトルを選択して動き補償処理部２３に出力する処理を実施する。なお、ダイレクトベクトル選択部４６はダイレクトベクトル選択手段を構成している。
【００９２】
図１８はこの発明の実施の形態３による画像復号装置を示す構成図であり、図において、図５と同一符号は同一又は相当部分を示すので説明を省略する。
可変長復号部５８は図１５の画像符号化装置から出力されたビットストリーム（符号化データ）を入力し、そのビットストリームから圧縮データ、符号化モード情報（マクロブロックタイプ／サブマクロブロックタイプ、動きベクトル、参照画像の識別番号）及びダイレクトモード切替フラグをエントロピー復号して、その圧縮データを予測誤差復号部５３に出力し、その符号化モード情報及びダイレクトモード切替フラグを動き補償予測部５９に出力する処理を実施する。なお、可変長復号部５８は可変長復号手段を構成している。
【００９３】
動き補償予測部５９はフレームメモリ５７に格納されている１フレーム以上の参照画像の中から、可変長復号部５８から出力された識別番号が示す参照画像を読み出し、可変長復号部５８から出力されたマクロブロックタイプ／サブマクロブロックタイプがインターモードを使用している旨を示している場合、可変長復号部５８から出力された動きベクトルと上記参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する処理を実施する。
また、動き補償予測部５９は可変長復号部５８から出力されたマクロブロックタイプ／サブマクロブロックタイプがダイレクトモードを使用している旨を示しており、かつ、可変長復号部５８から出力されたダイレクトモード切替フラグが“０”である場合、図１５の画像符号化装置における動き補償予測部１１と同様に、空間ダイレクトベクトルと時間ダイレクトベクトルを生成して、その空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を選択し、その選択したダイレクトベクトルと識別番号が示す参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する処理を実施する。
【００９４】
また、動き補償予測部５９は可変長復号部５８から出力されたマクロブロックタイプ／サブマクロブロックタイプがダイレクトモードを使用している旨を示しており、かつ、可変長復号部５８から出力されたダイレクトモード切替フラグが“１”である場合、空間ダイレクトベクトルを生成し、その空間ダイレクトベクトルと識別番号が示す参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する処理を実施する。
また、動き補償予測部５９は可変長復号部５８から出力されたマクロブロックタイプ／サブマクロブロックタイプがダイレクトモードを使用している旨を示しており、かつ、可変長復号部５８から出力されたダイレクトモード切替フラグが“２”である場合、時間ダイレクトベクトルを生成し、その時間ダイレクトベクトルと識別番号が示す参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する処理を実施する。
ただし、動き補償予測部５９は、図６の動き補償予測部５４と同様に、ダイレクトベクトル生成部６１及び動き補償処理部６２から構成されている（図６を参照）。
【００９５】
図１９は動き補償予測部５９を構成しているダイレクトベクトル生成部６１を示す構成図であり、図において、図７と同一符号は同一又は相当部分を示すので説明を省略する。
ダイレクトベクトル判定部７４は可変長復号部５８から出力されたダイレクトモード切替フラグが“０”である場合、図７のダイレクトベクトル判定部７３と同様に、空間ダイレクトベクトル生成部７１により生成された空間ダイレクトベクトルを用いて、空間ダイレクトモードの評価値を算出するとともに、時間ダイレクトベクトル生成部７２により生成された時間ダイレクトベクトルを用いて、時間ダイレクトモードの評価値を算出し、その空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較して、その空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を選択する処理を実施する。
また、ダイレクトベクトル判定部７４はダイレクトモード切替フラグが“１”である場合、空間ダイレクトベクトル生成部７１により生成された空間ダイレクトベクトルを選択し、その空間ダイレクトベクトルを動きベクトルとして動き補償処理部６２に出力する処理を実施する。
また、ダイレクトベクトル判定部７４はダイレクトモード切替フラグが“２”である場合、時間ダイレクトベクトル生成部７２により生成された時間ダイレクトベクトルを選択し、その時間ダイレクトベクトルを動きベクトルとして動き補償処理部６２に出力する処理を実施する。
【００９６】
図２０はダイレクトベクトル生成部６１を構成しているダイレクトベクトル判定部７４を示す構成図である。
図２０において、動き補償部８４は可変長復号部５８から出力されたダイレクトモード切替フラグが“０”である場合、図８の動き補償部８１と同様に、空間ダイレクトベクトル生成部７１により生成された空間ダイレクトベクトルを用いて、空間ダイレクトモードの前方予測画像と後方予測画像を生成するとともに、時間ダイレクトベクトル生成部７２により生成された時間ダイレクトベクトルを用いて、時間ダイレクトモードの前方予測画像と後方予測画像を生成する処理を実施する。
また、動き補償部８４はダイレクトモード切替フラグが“１”である場合、空間ダイレクトベクトル生成部７１により生成された空間ダイレクトベクトルを類似度算出部８５に出力し、そのダイレクトモード切替フラグが“２”である場合、時間ダイレクトベクトル生成部７２により生成された時間ダイレクトベクトルを類似度算出部８５に出力する処理を実施する。
【００９７】
類似度算出部８５はダイレクトモード切替フラグが“０”である場合、図８の類似度算出部８２と同様に、空間ダイレクトモードの評価値として、空間ダイレクトモードの前方予測画像と後方予測画像の類似度を算出するとともに、時間ダイレクトモードの評価値として、時間ダイレクトモードの前方予測画像と後方予測画像の類似度を算出する処理を実施する。
また、類似度算出部８５はダイレクトモード切替フラグが“１”である場合、動き補償部８４から出力された空間ダイレクトベクトルをダイレクトベクトル選択部８６に出力し、ダイレクトモード切替フラグが“２”である場合、動き補償部８４から出力された時間ダイレクトベクトルをダイレクトベクトル選択部８６に出力する処理を実施する。
なお、動き補償部８４及び類似度算出部８５から評価値算出手段が構成されている。
【００９８】
ダイレクトベクトル選択部８６はダイレクトモード切替フラグが“０”である場合、図８のダイレクトベクトル選択部８３と同様に、類似度算出部８５により算出された空間ダイレクトモードにおける前方予測画像と後方予測画像の類似度と、時間ダイレクトモードにおける前方予測画像と後方予測画像の類似度とを比較し、空間ダイレクトベクトル又は時間ダイレクトベクトルのうち、前方予測画像と後方予測画像の類似度が高い方のダイレクトモードのダイレクトベクトルを選択する処理を実施する。
また、ダイレクトベクトル選択部８６はダイレクトモード切替フラグが“１”である場合、類似度算出部８５から出力された空間ダイレクトベクトルを選択して動き補償処理部６２に出力し、ダイレクトモード切替フラグが“２”である場合、類似度算出部８５から出力された時間ダイレクトベクトルを選択して動き補償処理部６２に出力する処理を実施する。なお、ダイレクトベクトル選択部８６はダイレクトベクトル選択手段を構成している。
【００９９】
図１５では、画像符号化装置の構成要素である動き補償予測部１１、減算器３、符号化モード判定部４、圧縮部５、局部復号部６、加算器７、ループフィルタ８及び可変長符号化部１２のそれぞれが専用のハードウェア（例えば、ＣＰＵを実装している半導体集積回路、あるいは、ワンチップマイコンなど）で構成されているものを想定しているが、画像符号化装置がコンピュータで構成される場合、動き補償予測部１１、減算器３、符号化モード判定部４、圧縮部５、局部復号部６、加算器７、ループフィルタ８及び可変長符号化部１２の処理内容を記述しているプログラムを当該コンピュータのメモリに格納し、当該コンピュータのＣＰＵが当該メモリに格納されているプログラムを実行するようにしてもよい。
【０１００】
図１８では、画像復号装置の構成要素である可変長復号部５８、予測誤差復号部５３、動き補償予測部５９、加算器５及びループフィルタ５６のそれぞれが専用のハードウェア（例えば、ＣＰＵを実装している半導体集積回路、あるいは、ワンチップマイコンなど）で構成されているものを想定しているが、画像復号装置がコンピュータで構成される場合、可変長復号部５８、予測誤差復号部５３、動き補償予測部５９、加算器５５及びループフィルタ５６の処理内容を記述しているプログラムを当該コンピュータのメモリに格納し、当該コンピュータのＣＰＵが当該メモリに格納されているプログラムを実行するようにしてもよい。
【０１０１】
次に動作について説明する。
最初に、図１５の画像符号化装置の処理内容を説明する。
ただし、動き補償予測部１１及び可変長符号化部１２以外は、図１の画像符号化装置と同様であるため、動き補償予測部１１及び可変長符号化部１２の処理内容についてのみ説明する。
【０１０２】
動き補償予測部１１は、入力画像を示す動画像信号を入力すると、その動画像信号の各フレームをマクロブロック単位（あるいは、サブマクロブロック単位）に分割する。
動き補償予測部１１は、動画像信号をマクロブロック単位（あるいは、サブマクロブロック単位）に分割すると、フレームメモリ９に格納されている１フレーム以上の動き補償予測用の参照画像の中から１フレームの参照画像を選択し、マクロブロック単位（あるいは、サブマクロブロック）で、色成分毎に動き補償予測処理を実行することで、符号化対象のマクロブロック（あるいは、サブマクロブロック）の動きベクトルを生成して予測画像を生成する。
【０１０３】
動き補償予測部１１は、符号化対象のマクロブロック（あるいは、サブマクロブロック）の動きベクトルを生成して予測画像を生成すると、その予測画像を減算器３に出力するとともに、その予測画像の生成に用いられた動きベクトル、マクロブロックタイプ／サブマクロブロックタイプ（例えば、当該マクロブロック（あるいは、サブマクロブロック）において使用されている符号化モードが、インターモード又はダイレクトモードのいずれであるかを示す情報を含む）及び参照画像の識別番号を符号化モード判定部４に出力する。
以下、動き補償予測部１１の処理内容を具体的に説明する。
ただし、ここでは、説明の便宜上、マクロブロック単位で、動きベクトルを生成して予測画像を生成するものとする。
【０１０４】
動き補償予測部１１の動きベクトル探索部２１は、符号化モードがインターモードである旨を示す情報を受信（例えば、外部からインターモードを使用する旨を示す情報を受信）すると、上記実施の形態１と同様に、インターモードで最適な動きベクトルを探索し、その動きベクトルを動き補償処理部２３に出力する。
動き補償予測部１１のダイレクトベクトル生成部２２は、符号化モードがダイレクトモードである旨を示す情報を受信すると、符号化対象のマクロブロック毎に、空間ダイレクトモードの空間ダイレクトベクトルと時間ダイレクトモードの時間ダイレクトベクトルを生成し、その空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を動きベクトルとして動き補償処理部２３に出力する。
【０１０５】
即ち、ダイレクトベクトル生成部２２の空間ダイレクトベクトル生成部３１は、上記実施の形態１と同様に、動きベクトルメモリ１により格納されている符号化済みマクロブロックの動きベクトルの中から、符号化対象のマクロブロックの周囲に位置している符号化済みマクロブロックの動きベクトルを読み出し、その動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成する。
また、ダイレクトベクトル生成部２２の時間ダイレクトベクトル生成部３２は、上記実施の形態１と同様に、動きベクトルメモリ１により格納されている符号化済みマクロブロックの動きベクトルの中から、符号化対象のマクロブロックの時間的に近傍にある符号化済みピクチャの動きベクトルであって、符号化対象のマクロブロックと空間的に同じ位置にあるマクロブロックの動きベクトルを読み出し、その動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成する。
【０１０６】
ダイレクトベクトル生成部２２のダイレクトベクトル判定部３４は、スライスヘッダに含まれているダイレクトモード切替フラグが“０”である場合、空間ダイレクトベクトル生成部３１が空間ダイレクトベクトルを生成すると、その空間ダイレクトベクトルを用いて、空間ダイレクトモードの評価値を算出し、また、時間ダイレクトベクトル生成部３２が時間ダイレクトベクトルを生成すると、その時間ダイレクトベクトルを用いて、時間ダイレクトモードの評価値を算出する。
そして、ダイレクトベクトル判定部３４は、図３のダイレクトベクトル判定部３３と同様に、その空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較して、その空間ダイレクトベクトル又は時間ダイレクトベクトルを選択し、その選択したダイレクトベクトルを動きベクトルとして動き補償処理部２３に出力する。
【０１０７】
ダイレクトベクトル判定部３４は、ダイレクトモード切替フラグが“１”である場合、空間ダイレクトベクトル生成部３１により生成された空間ダイレクトベクトルを選択し、その空間ダイレクトベクトルを動きベクトルとして動き補償処理部２３に出力する。
また、ダイレクトベクトル判定部３４は、ダイレクトモード切替フラグが“２”である場合、時間ダイレクトベクトル生成部３２により生成された時間ダイレクトベクトルを選択し、その時間ダイレクトベクトルを動きベクトルとして動き補償処理部２３に出力する。
例えば、画像全体がパンしているような入力画像であれば、時間ダイレクトモードを選択する旨を示す“２”のダイレクトモード切替フラグが与えられ、画面内で動きが異なる入力画像であれば、空間ダイレクトモードを選択する旨を示す“１”のダイレクトモード切替フラグが与えられることが考えられる。
【０１０８】
以下、ダイレクトベクトル判定部３４の処理内容を具体的に説明する。
ダイレクトベクトル判定部３４の動き補償部４４は、ダイレクトモード切替フラグが“０”である場合、図４の動き補償部４１と同様に、空間ダイレクトベクトル生成部３１により生成された空間ダイレクトベクトルを用いて、空間ダイレクトモードの前方予測画像と後方予測画像を生成するとともに、時間ダイレクトベクトル生成部３２により生成された時間ダイレクトベクトルを用いて、時間ダイレクトモードの前方予測画像と後方予測画像を生成する。
また、動き補償部４４は、ダイレクトモード切替フラグが“１”である場合、空間ダイレクトベクトル生成部３１により生成された空間ダイレクトベクトルを類似度算出部４５に出力し、そのダイレクトモード切替フラグが“２”である場合、時間ダイレクトベクトル生成部３２により生成された時間ダイレクトベクトルを類似度算出部４５に出力する。
【０１０９】
ダイレクトベクトル判定部３４の類似度算出部４５は、ダイレクトモード切替フラグが“０”である場合、図４の類似度算出部４２と同様に、空間ダイレクトモードの評価値として、空間ダイレクトモードの前方予測画像と後方予測画像の類似度を算出するとともに、時間ダイレクトモードの評価値として、時間ダイレクトモードの前方予測画像と後方予測画像の類似度を算出する。
また、類似度算出部４５は、ダイレクトモード切替フラグが“１”である場合、動き補償部４４から出力された空間ダイレクトベクトルをダイレクトベクトル選択部４６に出力し、ダイレクトモード切替フラグが“２”である場合、動き補償部４４から出力された時間ダイレクトベクトルをダイレクトベクトル選択部４６に出力する。
【０１１０】
ダイレクトベクトル判定部３４のダイレクトベクトル選択部４６は、ダイレクトモード切替フラグが“０”である場合、図４のダイレクトベクトル選択部４３と同様に、類似度算出部４５により算出された空間ダイレクトモードにおける前方予測画像と後方予測画像の類似度と、時間ダイレクトモードにおける前方予測画像と後方予測画像の類似度とを比較し、空間ダイレクトベクトル又は時間ダイレクトベクトルのうち、前方予測画像と後方予測画像の類似度が高い方のダイレクトモードのダイレクトベクトルを選択し、そのダイレクトベクトルを動きベクトルとして動き補償処理部２３に出力する。
【０１１１】
また、ダイレクトベクトル選択部４６は、ダイレクトモード切替フラグが“１”である場合、類似度算出部４５から出力された空間ダイレクトベクトルを入力し、その空間ダイレクトベクトルを動きベクトルとして動き補償処理部２３に出力する。
また、ダイレクトベクトル選択部４６は、ダイレクトモード切替フラグが“２”である場合、類似度算出部４５から出力された時間ダイレクトベクトルを入力し、その時間ダイレクトベクトルを動きベクトルとして動き補償処理部２３に出力する。
【０１１２】
可変長符号化部１２は、圧縮部５から圧縮データを受け、動き補償予測部１１から符号化モード情報（マクロブロックタイプ／サブマクロブロックタイプ、動きベクトル、参照画像の識別番号）を受けると、その圧縮データ、符号化モード情報及びダイレクトモード切替フラグをエントロピー符号化して、その符号化結果を示すビットストリームを生成し、そのビットストリームを出力する。
【０１１３】
次に、図１８の画像復号装置の処理内容を説明する。
ただし、動き補償予測部５９及び可変長復号部５８以外は、図５の画像復号装置と同様であるため、動き補償予測部５９及び可変長復号部５８の処理内容についてのみ説明する。
【０１１４】
可変長復号部５８は、図１５の画像符号化装置から出力されたビットストリームを入力すると、そのビットストリームから圧縮データ、符号化モード情報（マクロブロックタイプ／サブマクロブロックタイプ、動きベクトル（符号化モードがインターモードの場合）、参照画像の識別番号）及びダイレクトモード切替フラグをエントロピー復号して、その圧縮データを予測誤差復号部５３に出力し、その符号化モード情報及びダイレクトモード切替フラグを動き補償予測部５９に出力する。
【０１１５】
動き補償予測部５９は、可変長復号部５８から参照画像の識別番号を受けると、フレームメモリ５７に格納されている１フレーム以上の参照画像の中から、その識別番号が示す参照画像の読み出しを行う。
また、動き補償予測部５９は、可変長復号部５８からマクロブロックタイプ／サブマクロブロックタイプを受けると、そのマクロブロックタイプ／サブマクロブロックタイプを参照して、図１５の画像符号化装置が符号化モードとして、インターモードを使用しているのか、ダイレクトモードを使用しているのかを判別する。
【０１１６】
動き補償予測部５９は、図１５の画像符号化装置が符号化モードとして、インターモードを使用している場合、可変長復号部５８から出力された動きベクトルと上記参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する。
また、動き補償予測部５９は、図１５の画像符号化装置が符号化モードとして、ダイレクトモードを使用している場合、可変長復号部５８から出力されたダイレクトモード切替フラグが“０”であれば、図１５の画像符号化装置における動き補償予測部１１と同様に、空間ダイレクトベクトルと時間ダイレクトベクトルを生成して、その空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を選択し、その選択したダイレクトベクトルと識別番号が示す参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する。
【０１１７】
動き補償予測部５９は、図１５の画像符号化装置が符号化モードとして、ダイレクトモードを使用している場合、可変長復号部５８から出力されたダイレクトモード切替フラグが“１”であれば、空間ダイレクトベクトルを生成し、その空間ダイレクトベクトルと識別番号が示す参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する。
また、動き補償予測部５９は、図１５の画像符号化装置が符号化モードとして、ダイレクトモードを使用している場合、可変長復号部５８から出力されたダイレクトモード切替フラグが“２”であれば、時間ダイレクトベクトルを生成し、その時間ダイレクトベクトルと識別番号が示す参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する。
【０１１８】
以下、動き補償予測部５９の処理内容を具体的に説明する。
動き補償予測部５９のダイレクトベクトル生成部６１は、可変長復号部５８から出力されたマクロブロックタイプ／サブマクロブロックタイプがダイレクトモードを使用している旨を示している場合、上記実施の形態１と同様に、復号対象のマクロブロック毎に、空間ダイレクトモードの空間ダイレクトベクトルと時間ダイレクトモードの時間ダイレクトベクトルを生成し、その空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を動きベクトルとして動き補償処理部６２に出力する。
【０１１９】
即ち、ダイレクトベクトル生成部６１の空間ダイレクトベクトル生成部７１は、上記実施の形態１と同様に、動きベクトルメモリ５１により格納されている復号済みマクロブロックの動きベクトルの中から、復号対象のマクロブロックの周囲に位置している復号済みマクロブロックの動きベクトルを読み出し、その動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成する。
ダイレクトベクトル生成部６１の時間ダイレクトベクトル生成部７２は、上記実施の形態１と同様に、動きベクトルメモリ５１により格納されている復号済みマクロブロックの動きベクトルの中から、復号対象のマクロブロックの時間的に近傍にある復号済みピクチャの動きベクトルであって、復号対象のマクロブロックと空間的に同じ位置にあるマクロブロックの動きベクトルを読み出し、その動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成する。
【０１２０】
ダイレクトベクトル生成部６１のダイレクトベクトル判定部７４は、可変長復号部５８から出力されたダイレクトモード切替フラグが“０”である場合、空間ダイレクトベクトル生成部７１が空間ダイレクトベクトルを生成すると、その空間ダイレクトベクトルを用いて、空間ダイレクトモードの評価値を算出し、また、時間ダイレクトベクトル生成部７２が時間ダイレクトベクトルを生成すると、その時間ダイレクトベクトルを用いて、時間ダイレクトモードの評価値を算出する。
そして、ダイレクトベクトル判定部７４は、図７のダイレクトベクトル判定部７３と同様に、その空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較して、その空間ダイレクトベクトル又は時間ダイレクトベクトルを選択し、その選択したダイレクトベクトルを動きベクトルとして動き補償処理部６２に出力する。
【０１２１】
ダイレクトベクトル判定部７４は、ダイレクトモード切替フラグが“１”である場合、空間ダイレクトベクトル生成部７１により生成された空間ダイレクトベクトルを選択し、その空間ダイレクトベクトルを動きベクトルとして動き補償処理部６２に出力する。
また、ダイレクトベクトル判定部７４は、ダイレクトモード切替フラグが“２”である場合、時間ダイレクトベクトル生成部７２により生成された時間ダイレクトベクトルを選択し、その時間ダイレクトベクトルを動きベクトルとして動き補償処理部６２に出力する。
【０１２２】
以下、ダイレクトベクトル判定部７４の処理内容を具体的に説明する。
ダイレクトベクトル判定部７４の動き補償部８４は、可変長復号部５８から出力されたダイレクトモード切替フラグが“０”である場合、図８の動き補償部８１と同様に、空間ダイレクトベクトル生成部７１により生成された空間ダイレクトベクトルを用いて、空間ダイレクトモードの前方予測画像と後方予測画像を生成するとともに、時間ダイレクトベクトル生成部７２により生成された時間ダイレクトベクトルを用いて、時間ダイレクトモードの前方予測画像と後方予測画像を生成する。
また、動き補償部８４は、ダイレクトモード切替フラグが“１”である場合、空間ダイレクトベクトル生成部７１により生成された空間ダイレクトベクトルを類似度算出部８５に出力し、そのダイレクトモード切替フラグが“２”である場合、時間ダイレクトベクトル生成部７２により生成された時間ダイレクトベクトルを類似度算出部８５に出力する。
【０１２３】
類似度算出部８５は、ダイレクトモード切替フラグが“０”である場合、図８の類似度算出部８２と同様に、空間ダイレクトモードの評価値として、空間ダイレクトモードの前方予測画像と後方予測画像の類似度を算出するとともに、時間ダイレクトモードの評価値として、時間ダイレクトモードの前方予測画像と後方予測画像の類似度を算出する。
また、類似度算出部８５は、ダイレクトモード切替フラグが“１”である場合、動き補償部８４から出力された空間ダイレクトベクトルをダイレクトベクトル選択部８６に出力し、ダイレクトモード切替フラグが“２”である場合、動き補償部８４から出力された時間ダイレクトベクトルをダイレクトベクトル選択部８６に出力する。
【０１２４】
ダイレクトベクトル選択部８６は、ダイレクトモード切替フラグが“０”である場合、図８のダイレクトベクトル選択部８３と同様に、類似度算出部８５により算出された空間ダイレクトモードにおける前方予測画像と後方予測画像の類似度と、時間ダイレクトモードにおける前方予測画像と後方予測画像の類似度とを比較し、空間ダイレクトベクトル又は時間ダイレクトベクトルのうち、前方予測画像と後方予測画像の類似度が高い方のダイレクトモードのダイレクトベクトルを選択し、そのダイレクトベクトルを動きベクトルとして動き補償処理部６２に出力する。
また、ダイレクトベクトル選択部８６は、ダイレクトモード切替フラグが“１”である場合、類似度算出部８５から出力された空間ダイレクトベクトルを選択し、その空間ダイレクトベクトルを動きベクトルとして動き補償処理部６２に出力し、ダイレクトモード切替フラグが“２”である場合、類似度算出部８５から出力された時間ダイレクトベクトルを選択し、その時間ダイレクトベクトルを動きベクトルとして動き補償処理部６２に出力する。
【０１２５】
以上で明らかなように、この実施の形態３によれば、スライスヘッダに含まれているダイレクトモード切替フラグである“ｄｉｒｅｃｔ＿ｓｐａｔｉａｌ＿ｍｖ＿ｐｒｅｄ＿ｆｌａｇ”が無意（例えば、“０”）である場合に限り、上記実施の形態１と同様な予測画像生成処理を実施し、そのダイレクトモード切替フラグが有意（例えば、“１”又は“２”）である場合、そのダイレクトモード切替フラグが指示するダイレクトモードのダイレクトベクトルを選択する（例えば、フラグ＝１の場合、空間ダイレクトモードの空間ダイレクトベクトルを選択し、フラグ＝２の場合、時間ダイレクトモードの時間ダイレクトベクトルを選択する）ように構成したので、単位時間当たりに行える演算量や使用可能なメモリ量に応じて適切なモードを選択できる効果を奏する。
また、画像符号化装置及び画像復号装置における処理の揺らぎを吸収して、適切な処理量で符号化や復号を行うことが可能になる。
【産業上の利用可能性】
【０１２６】
この発明は、不必要な動きベクトルの符号化を避けて、符号量の増加を防止する必要がある画像符号化装置及び画像符号化方法に適している。
また、この発明は、上記のような画像符号化装置により生成された符号化データを復号する必要がある画像復号装置及び画像復号方法に適している。
【符号の説明】
【０１２７】
１  動きベクトルメモリ、２，１１  動き補償予測部  減算器（量子化手段）、４  符号化モード判定部（量子化手段）、５  圧縮部（量子化手段）、６  局部復号部、７  加算器、８  ループフィルタ、９  フレームメモリ、１０，１２  可変長符号化部（可変長符号化手段）、２１  動きベクトル探索部、２２  ダイレクトベクトル生成部、２３  動き補償処理部（予測画像生成手段）、３１  空間ダイレクトベクトル生成部（ダイレクトベクトル生成手段）、３２  時間ダイレクトベクトル生成部（ダイレクトベクトル生成手段）、３３，３４  ダイレクトベクトル判定部、４１，４４  動き補償部（評価値算出手段）、４２，４５  類似度算出部（評価値算出手段）、４３，４６  ダイレクトベクトル選択部（ダイレクトベクトル選択手段）、５１  動きベクトルメモリ、５２，５８  可変長復号部（可変長復号手段）、５３  予測誤差復号部（逆量子化手段）、５４，５９  動き補償予測部、５５  加算器（画像加算手段）、５６  ループフィルタ（画像加算手段）、５７  フレームメモリ、６１  ダイレクトベクトル生成部、６２  動き補償処理部（予測画像生成手段）、７１  空間ダイレクトベクトル生成部（ダイレクトベクトル生成手段）、７２  時間ダイレクトベクトル生成部（ダイレクトベクトル生成手段）、７３，７４  ダイレクトベクトル判定部、８１，８４  動き補償部（評価値算出手段）、８２，８５  類似度算出部（評価値算出手段）、８３，８６  ダイレクトベクトル選択部（ダイレクトベクトル選択手段）。
【図１】
0005442039.tif 000007
【図２】
0005442039.tif 000008
【図３】
0005442039.tif 000009
【図４】
0005442039.tif 000010
【図５】
0005442039.tif 000011
【図６】
0005442039.tif 000012
【図７】
0005442039.tif 000013
【図８】
0005442039.tif 000014
【図９】
0005442039.tif 000015
【図１０】
0005442039.tif 000016
【図１１】
0005442039.tif 000017
【図１２】
0005442039.tif 000018
【図１３】
0005442039.tif 000019
【図１４】
0005442039.tif 000020
【図１５】
0005442039.tif 000021
【図１６】
0005442039.tif 000022
【図１７】
0005442039.tif 000023
【図１８】
0005442039.tif 000024
【図１９】
0005442039.tif 000025
【図２０】
0005442039.tif 000026