(57)【特許請求の範囲】
【請求項１】
インターレース画像が第１符号化方式で符号化された入力画像データをデコードして非圧縮画像データを生成するデコーダと、
前記非圧縮画像データを第２符号化方式でエンコードして出力画像データを生成するエンコーダと、
前記出力画像データの第１マクロブロックの動きベクトルを決定する動きベクトル決定部と、
を備え、
前記動きベクトル決定部は、
前記第１マクロブロックの位置に基づいて、前記第１マクロブロックの動きベクトルの候補となる複数の候補ベクトルを、前記入力画像データの動きベクトルの中から選択する候補ベクトル選択部と、
選択された各候補ベクトルに対応する指定領域のアクティビティを算出するアクティビティ算出部と、
算出されたアクティビティに基づいて、前記複数の候補ベクトルの中から前記第１マクロブロックの動きベクトルを決定する比較部と、
を含み、
前記第１マクロブロックは、所定の方向のいずれか一方に隣接する第２マクロブロックとマクロブロックペアを構成し、
前記第１マクロブロックと前記第２マクロブロックとが前記マクロブロックペア単位でフィールド符号化される場合、前記候補ベクトル選択部は、前記マクロブロックペアに対応する位置にある前記入力画像データの二つのソースマクロブロックがそれぞれ有する動きベクトルを、前記複数の候補ベクトルとして選択し、
前記アクティビティ算出部は、前記二つのソースマクロブロックのそれぞれに対応するアクティビティを算出し、
前記比較部は、算出されたアクティビティに基づいて、前記二つのソースマクロブロックの中から対象ソースマクロブロックを選択し、前記対象ソースマクロブロックが有する動きベクトルを、前記第１マクロブロック及び前記第２マクロブロックの動きベクトルとして決定する画像変換装置。
【請求項２】
請求項１に記載の画像変換装置において、
前記対象ソースマクロブロックが、フィールド符号化され、かつ、第１フィールド及び第２フィールドを含み、
前記比較部は、前記第１マクロブロックが前記第１フィールドに対応する場合、前記第１フィールドが有する動きベクトルを前記第１マクロブロックの動きベクトルとして決定し、前記第２フィールドが有する動きベクトルを前記第２マクロブロックの動きベクトルとして決定する画像変換装置。
【請求項３】
請求項１に記載の画像変換装置において、
前記対象ソースマクロブロックが、フレーム符号化され、かつ、一つの候補ベクトルを有し、
前記比較部は、前記一つの候補ベクトルを、前記第１マクロブロック及び前記第２マクロブロックの動きベクトルとして決定する画像変換装置。
【請求項４】
請求項１に記載の画像変換装置において、
前記対象ソースマクロブロックが、フレーム符号化され、かつ、第１候補ベクトル及び第２候補ベクトルを含み、
前記アクティビティ算出部は、前記第１候補ベクトル及び前記第２候補ベクトルのそれぞれに対応するアクティビティを算出し、
前記比較部は、前記第１候補ベクトル及び前記第２候補ベクトルのそれぞれに対応するアクティビティに基づいて、前記第１候補ベクトル及び前記第２候補ベクトルのいずれか一つを、前記第１マクロブロック及び前記第２マクロブロックの動きベクトルとして決定する画像変換装置。
【請求項５】
請求項１ないし請求項４のいずれかに記載の画像変換装置において、
前記第１マクロブロックと第２マクロブロックとがフレーム符号化される場合、前記選択部は、前記第１マクロブロックの位置に対応する前記入力画像データのマクロブロックに含まれる複数の動きベクトルを、前記複数の候補ベクトルとして選択し、
前記アクティビティ算出部は、各候補ベクトルに対応するアクティビティを算出し、
前記比較部は、各候補ベクトルに対応するアクティビティに基づいて、前記複数の候補ベクトルのうちいずれか一つを前記第１マクロブロックの動きベクトルとして決定する画像変換装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＭＰＥＧあるいはＨ．２６４／ＡＶＣなどの規格に基づいて符号化画像データを変換する技術に関する。
【背景技術】
【０００２】
デジタル放送で配信される画像や、ＤＶＤ、ハードディスクなどに格納される画像などは、各種の符号化方式に従って圧縮される。これは、伝送帯域を圧迫しないため、伝送速度を上げるため、あるいは、記憶サイズを小さくするなどの目的のためである。
【０００３】
画像の符号化方式には、ＭＰＥＧ２やＨ．２６４／ＡＶＣ（以下、単に「Ｈ．２６４」と呼ぶ。）など様々な規格が存在する。符号化画像データの符号量をさらに削減するなどの目的で符号化方式の変換が行われる場合がある。トランスコーダなどの画像変換装置は、入力した符号化画像データを一旦デコードする。そして、トランスコーダは、デコードした画像データを、再び異なる符号化方式（あるいは同じ符号化方式）で符号化する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１３６１８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記特許文献１に係るトランスコード装置は、ＭＰＥＧ２データをデコードし、デコードされた非圧縮画像データをＨ．２６４で符号化する。非圧縮画像データのマクロブロックを符号化するとき、特許文献１に係るトランスコード装置は、マクロブロックの位置に対応するＭＰＥＧ２のマクロブロックの動きベクトルの値をそのまま利用する。
【０００６】
この場合、利用する動きベクトルの数が増加するほど、動きベクトルを用いた符号化のための演算量が増加する。したがって、特許文献１に係るトランスコード装置は、地上波デジタル放送をハードディスクレコーダに録画するときなど、リアルタイム性が要求される処理に利用することが困難であった。
【０００７】
そこで、本発明は、前記問題点に鑑み、符号化画像データを変換する画像変換装置において、演算量を削減することができる技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、請求項１記載の発明は、画像変換装置であって、インターレース画像が第１符号化方式で符号化された入力画像データをデコードして非圧縮画像データを生成するデコーダと、前記非圧縮画像データを第２符号化方式でエンコードして出力画像データを生成するエンコーダと、前記出力画像データの第１マクロブロックの動きベクトルを決定する動きベクトル決定部と、を備え、前記動きベクトル決定部は、前記第１マクロブロックの位置に基づいて、前記第１マクロブロックの動きベクトルの候補となる複数の候補ベクトルを、前記入力画像データの動きベクトルの中から選択する候補ベクトル選択部と、選択された各候補ベクトルに対応する指定領域のアクティビティを算出するアクティビティ算出部と、算出されたアクティビティに基づいて、前記複数の候補ベクトルの中から前記第１マクロブロックの動きベクトルを決定する比較部と、を含み、前記第１マクロブロックは、所定の方向のいずれか一方に隣接する第２マクロブロックとマクロブロックペアを構成し、前記第１マクロブロックと前記第２マクロブロックとが前記マクロブロックペア単位でフィールド符号化される場合、前記候補ベクトル選択部は、前記マクロブロックペアに対応する位置にある前記入力画像データの二つのソースマクロブロックがそれぞれ有する動きベクトルを、前記複数の候補ベクトルとして選択し、前記アクティビティ算出部は、前記二つのソースマクロブロックのそれぞれに対応するアクティビティを算出し、前記比較部は、算出されたアクティビティに基づいて、前記二つのソースマクロブロックの中から対象ソースマクロブロックを選択し、前記対象ソースマクロブロックが有する動きベクトルを、前記第１マクロブロック及び前記第２マクロブロックの動きベクトルとして決定する。
【００１０】
請求項２記載の発明は、請求項１に記載の画像変換装置において、前記対象ソースマクロブロックが、フィールド符号化され、かつ、第１フィールド及び第２フィールドを含み、前記比較部は、前記第１マクロブロックが前記第１フィールドに対応する場合、前記第１フィールドが有する動きベクトルを前記第１マクロブロックの動きベクトルとして決定し、前記第２フィールドが有する動きベクトルを前記第２マクロブロックの動きベクトルとして決定する。
【００１１】
請求項３記載の発明は、請求項１に記載の画像変換装置において、前記対象ソースマクロブロックが、フレーム符号化され、かつ、一つの候補ベクトルを有し、前記比較部は、前記一つの候補ベクトルを、前記第１マクロブロック及び前記第２マクロブロックの動きベクトルとして決定する。
【００１２】
請求項４記載の発明は、請求項１に記載の画像変換装置において、前記対象ソースマクロブロックが、フレーム符号化され、かつ、第１候補ベクトル及び第２候補ベクトルを含み、前記アクティビティ算出部は、前記第１候補ベクトル及び前記第２候補ベクトルのそれぞれに対応するアクティビティを算出し、前記比較部は、前記第１候補ベクトル及び前記第２候補ベクトルのそれぞれに対応するアクティビティに基づいて、前記第１候補ベクトル及び前記第２候補ベクトルのいずれか一つを、前記第１マクロブロック及び前記第２マクロブロックの動きベクトルとして決定する。
【００１３】
請求項５記載の発明は、請求項１ないし請求項４のいずれかに記載の画像変換装置において、前記第１マクロブロックと第２マクロブロックとがフレーム符号化される場合、前記選択部は、前記第１マクロブロックの位置に対応する前記入力画像データのマクロブロックに含まれる複数の動きベクトルを、前記複数の候補ベクトルとして選択し、前記アクティビティ算出部は、各候補ベクトルに対応するアクティビティを算出し、前記比較部は、各候補ベクトルに対応するアクティビティに基づいて、前記複数の候補ベクトルのうちいずれか一つを前記第１マクロブロックの動きベクトルとして決定する。
【発明の効果】
【００１４】
本発明の画像変換装置は、第１マクロブロックの動きベクトルとなり得る複数の候補ベクトルを入力画像データから選択し、各候補ベクトルの指定領域に対応する非圧縮画像データのアクティビティを算出する。画像変換装置は、各指定領域のアクティビティに基づいて、複数の候補ベクトルのいずれかを、第１マクロブロックの動きベクトルとして決定する。これにより、非圧縮画像データを第２符号化方式で符号化する際に、入力画像データの全ての動きベクトルを用いる必要がないため、演算量が削減される。したがって、入力画像データをリアルタイムに変換することが可能となる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施の形態に係る画像変換装置の機能的構成を示すブロック図である。
【図２】動きベクトル決定部の機能的構成を示すブロック図である。
【図３Ａ】ＭＰＥＧ２データのマクロブロックの構成を示す図である。
【図３Ｂ】Ｈ．２６４データのマクロブロックの構成を示す図である。
【図４】フィールドの対応関係を示す図である。
【図５】ターゲットマクロブロックの動きベクトルを決定する流れを示すフローチャートである。
【図６】ターゲットマクロブロックの動きベクトルを示す図である。
【図７Ａ】ＭＰＥＧ２データのマクロブロックの動きベクトルと、Ｈ．２６４データのマクロブロックの動きベクトルとの対応を示す図である。
【図７Ｂ】ＭＰＥＧ２データのマクロブロックの動きベクトルと、Ｈ．２６４データのマクロブロックの動きベクトルとの対応を示す図である。
【図７Ｃ】ＭＰＥＧ２データのマクロブロックの動きベクトルと、Ｈ．２６４データのマクロブロックの動きベクトルとの対応を示す図である。
【図８】ターゲットマクロブロックの動きベクトルを示す図である。
【図９】ターゲットマクロブロックの動きベクトルを示す図である。
【発明を実施するための形態】
【００１６】
［第１の実施の形態］
以下、図面を参照しつつ、本発明の実施の形態について説明する。
【００１７】
｛１．トランスコーダの構成｝
図１は、本実施の形態に係るトランスコーダ１の機能的構成を示すブロック図である。図１に示すように、トランスコーダ１は、ＭＰＥＧ２データ５１をＨ．２６４／ＡＶＣ（以下、単に「Ｈ．２６４」と呼ぶ。）データ５３に変換する画像変換装置である。トランスコーダ１は、ＭＰＥＧ２デコーダ２と、Ｈ．２６４エンコーダ３とを備えている。
【００１８】
ＭＰＥＧ２デコーダ２は、ＭＰＥＧ２方式で符号化されたＭＰＥＧ２データ５１を入力する。ＭＰＥＧ２デコーダ２は、ＭＰＥＧ２データ５１をデコードして、非圧縮画像データ５２を生成する。ＭＰＥＧ２デコーダ２は、ＭＰＥＧ２データ５１の各マクロブロックが有する動きベクトルに関する情報を、参照情報５４としてＨ．２６４エンコーダ３に出力する。
【００１９】
Ｈ．２６４エンコーダ３は、非圧縮画像データ５２をＨ．２６４方式でエンコードして、Ｈ．２６４データ５３を生成する。Ｈ．２６４エンコーダ３は、動きベクトル決定部４と、符号化部５とを備える。
【００２０】
動きベクトル決定部４は、Ｈ．２６４エンコーダ３に入力される参照情報５４を用いて、Ｈ．２６４データ５３の各マクロブロックの動きベクトル５７を決定する。動きベクトル５７は、非圧縮画像データ５２がＨ．２６４方式でエンコードされるときに用いられる。以下、Ｈ．２６４データ５３のマクロブロックのうち、符号化対象のマクロブロックを、ターゲットＭＢ（ＭａｃｒｏＢｌｏｃｋ）と呼ぶ。
【００２１】
符号化部５は、動きベクトル決定部４により決定された動きベクトル５７を用いて、Ｈ．２６４画像データ５３の各マクロブロックを符号化する。
【００２２】
｛２．動きベクトル決定部４の構成｝
図２は、動きベクトル決定部４の機能的構成を示すブロック図である。動きベクトル決定部４は、候補ベクトル選択部４１と、アクティビティ算出部４２と、比較部４３とを備える。
【００２３】
候補ベクトル選択部４１は、参照情報５４に基づいて、ＭＰＥＧ２データ５１が有する複数の動きベクトルの中から、ターゲットＭＢの動きベクトルとなり得る候補ベクトル５５を選択する。選択される候補ベクトル５５の数は、複数である。
【００２４】
アクティビティ算出部４２は、候補ベクトル５５に基づいて指定される指定領域における、非圧縮画像データ５２のアクティビティ５６を算出する。候補ベクトル５５を有するマクロブロック、あるいは、候補ベクトル５５により動き補償が行われる動き補償領域などが、指定領域に該当する。
【００２５】
アクティビティ５６は、指定領域における画素のばらつき度合いを示す画像の特性値である。たとえば、指定領域がマクロブロックである場合、アクティビティ５６は、マクロブロック内の画素平均値と、各画素値との差分絶対値和として算出される。画素値として、画素の輝度値などが用いられる。
【００２６】
比較部４３は、各候補ベクトル５５に対応する指定領域のアクティビティ５６を比較する。比較部４３は、比較結果に基づいて、複数の候補ベクトル５５の中から、ターゲットＭＢの動きベクトル５７を決定する。
【００２７】
｛２．ＭＰＥＧ２データ５１とＨ．２６４データ５３との対応｝
本実施の形態における、ＭＰＥＧ２データ５１とＨ．２６４データ５３との対応について説明する。
【００２８】
図３Ａは、ＭＰＥＧ２データ５１のマクロブロックの構成を示す図である。図３Ｂは、Ｈ．２６４データ５３のマクロブロックの構成を示す図である。図３Ａ及び図３Ｂを参照して、ＭＰＥＧ２データ５１及びＨ．２６４データ５３は、横５個×縦４個のマクロブロックで構成される。ＭＰＥＧ２データ５１は、マクロブロックＭＳ０，ＭＳ１，ＭＳ２，・・・，ＭＳ１９を有する。図３Ｂを参照して、Ｈ．２６４データ５３は、マクロブロックＭＨ０，ＭＨ１，ＭＨ２，・・・，ＭＨ１９を有する。たとえば、マクロブロックＭＳ２と、マクロブロックＭＨ２とは、位置が対応関係にある。図３Ｂに示すＨ．２６４データ５３のマクロブロックＭＨ０〜ＭＨ１９は、符号順に符号化されるのではなく、予め定められた符号化順序に基づいて符号化される。
【００２９】
ＭＰＥＧ２データ５１及びＨ．２６４データ５３の符号化条件を説明する。ＭＰＥＧ２データ５１は、インターレース画像を符号化した符号化画像データである。Ｈ．２６４データ５３は、ＭＢＡＦＦ（Ｍａｃｒｏｂｌｏｃｋ  Ａｄａｐｔｉｖｅ  Ｆｒａｍｅ−Ｆｉｅｌｄ  ｃｏｄｉｎｇ）モードで符号化される。Ｈ．２６４データ５３において、ターゲットＭＢがフィールド符号化される。ターゲットＭＢが有する動きベクトル５７の数は、一つである。
【００３０】
ＭＰＥＧ２方式では、フレーム符号化とフィールド符号化とをマクロブロック単位で切り替えて符号化することができる。たとえば、マクロブロックＭＳ５がフィールド符号化される場合、上半分の領域がトップフィールドに対応し、下半分の領域がボトムフィールドに対応する。ＭＰＥＧ２データ５１の他のマクロブロックも同様である。
【００３１】
Ｈ．２６４方式において、ＭＢＡＦＦモードとは、インターレース画像を符号化するときに用いられる符号化モードの一つである。ＭＢＡＦＦモードでは、上下方向に互いに隣接する二つのマクロブロックによりマクロブロックペアが構成され、マクロブロックペア単位でフレーム符号化とフィールド符号化とが切り替えられる。図３Ｂを参照して、実線で囲まれた二つのマクロブロックが、マクロブロックペアを構成する。たとえば、マクロブロックＭＨ２，ＭＨ７は、マクロブロックペアＰ０を構成する。マクロブロックペアＰ０がフィールド符号化される場合、上側のマクロブロック（マクロブロックＭＨ２）がトップフィールドに対応し、下側のマクロブロック（マクロブロックＭＨ７）が、ボトムフィールドに対応する。
【００３２】
ＭＰＥＧ２データ５１とＨ．２６４データ５３とにおけるフィールドの対応について説明する。図４は、ＭＰＥＧ２データ５１のマクロブロックＭＳ２，ＭＳ７と、Ｈ．２６４データ５３のマクロブロックＭＨ２，ＭＨ７とのフィールドの対応関係を示す図である。図４に示す全てのマクロブロックは、フィールド符号化されている。
【００３３】
ＭＰＥＧ２データ５１において、マクロブロックＭＳ２の上側領域がトップフィールドＴＦ２であり、下側領域がボトムフィールドＢＦ２である。マクロブロックＭＳ７の上側領域がトップフィールドＴＦ７であり、下側領域がボトムフィールドＢＦ７である。一方、Ｈ．２６４データ５３のマクロブロックＭＨ２は、トップフィールドＴＦ２，ＴＦ７に対応する。マクロブロックＭＨ７は、ボトムフィールドＢＦ２，ＢＦ７に対応する。このように、ＭＰＥＧ２データ５１のマクロブロックと、Ｈ．２６４データ５３のマクロブロックとは、マクロブロックの位置が一致したとしても、符号化対象の画像が一致しない。
【００３４】
マクロブロックＭＳ２がフレーム符号化されていた場合、マクロブロックＭＳ２において、トップフィールド及びボトムフィールドが一つのフレームとして符号化される。マクロブロックＭＳ２のトップフィールドＴＦ２は、マクロブロックＭＨ２に含まれ、ボトムフィールドＢＦ２は、マクロブロックＭＨ７に含まれる。したがって、この場合であっても、マクロブロックＭＳ２と、マクロブロックＭＨ２とは、符号化対象の画像が異なる。
【００３５】
｛３．動きベクトル決定部４の処理の流れ｝
図５は、動きベクトル決定部４がターゲットＭＢの動きベクトル５７を決定する処理の流れを示すフローチャートである。図５を参照して、動きベクトル決定部４がターゲットＭＢの動きベクトル５７を決定する手順を説明する。
【００３６】
まず、動きベクトル決定部４は、ターゲットＭＢを決定する（ステップＳ１）。ターゲットＭＢは、マクロブロックＭＨ０〜ＭＨ１９の符号化順序などに基づいて決定される。
【００３７】
候補ベクトル選択部４１は、マクロブロックＭＳ０〜ＭＳ１９がそれぞれ有する複数の動きベクトルの中から、ターゲットＭＢの候補ベクトル５５を選択する（ステップＳ２）。具体的には、候補ベクトル選択部４１は、ターゲットＭＢの位置に基づいて、ソースマクロブロック（以下、「ソースＭＢ」と呼ぶ。）を、マクロブロックＭＳ０〜ＭＳ１９（図３Ａ参照）中から決定する。ソースＭＢが有する動きベクトルが、候補ベクトル５５として選択される。
【００３８】
マクロブロックＭＨ２がターゲットＭＢである場合を例に、候補ベクトル５５の選択について詳しく説明する。マクロブロックＭＨ２は、下側に隣接するマクロブロックＭＨ７とマクロブロックペアＰ０を構成する（図３Ｂ参照）。このため、候補ベクトル選択部４１は、マクロブロックペアＰ０の位置に対応するマクロブロックＭＳ２，ＭＳ７を、ソースＭＢとして決定する。マクロブロックＭＳ２，ＭＳ７が有する動きベクトルが、マクロブロックＭＨ２の候補ベクトル５５として選択される。つまり、候補ベクトル選択部４１は、ＭＰＥＧ２データ５１のマクロブロックＭＳ０〜ＭＳ１９のうち、ターゲットＭＢが属するマクロブロックペアの位置に対応する二つのマクロブロックを、ソースＭＢとして決定する。二つのソースＭＢがそれぞれ有する動きベクトルが、候補ベクトル５５として選択される。
【００３９】
アクティビティ算出部４２は、ソースＭＢの符号化モードと、候補ベクトル５５とに基づいて、アクティビティを算出する指定領域を候補ベクトル５５ごとに指定する（ステップＳ３）。アクティビティ算出部４２は、指定領域に対応する非圧縮画像データ５２のアクティビティ５６を算出する(ステップＳ４)。
【００４０】
指定領域は、二つのソースＭＢの符号化モードに応じて変化する。マクロブロックペアがフィールド符号化される場合、二つのソースＭＢの符号化モードとして、以下の２つの組み合わせ（１），（２）が考えられる。
（１）二つのソースＭＢがフィールド符号化される場合
（２）二つのソースＭＢのうち一方がフィールド符号化され、他方がフレーム符号化される場合
【００４１】
なお、二つのソースＭＢがフレーム符号化されている場合、ターゲットＭＢはフレーム符号化される。このケースについては、第２の実施の形態で説明する。
【００４２】
比較部４３は、各指定領域のアクティビティの比較結果に基づいて、複数の候補ベクトル５５の中からターゲットＭＢの動きベクトル５７を決定する（ステップＳ５）。符号化部５は、決定した動きベクトル５７を利用して、ターゲットＭＢを符号化する。
【００４３】
｛４．組み合わせに応じた動きベクトルの決定｝
指定領域の指定及び動きベクトル５７の決定について、上述した組み合わせごとに詳しく説明する。ターゲットＭＢがマクロブロックＭＨ２であり、ソースＭＢがマクロブロックＭＳ２，ＭＳ７である場合を例に説明する。
【００４４】
（１）二つのソースＭＢがフィールド符号化される場合
図６は、二つのソースＭＢ（マクロブロックＭＳ２，ＭＳ７）がフィールド符号化される場合における、ターゲットＭＢ（マクロブロックＭＨ２）の動きベクトル５７を示す図である。図６を参照して、マクロブロックペアを構成する一方のマクロブロックがターゲットＭＢである場合、他方のマクロブロック（以下、「隣接ＭＢ」と呼ぶ。）の動きベクトル５７も決定される。
【００４５】
マクロブロックＭＳ２において、トップフィールドＴＦ２は、動きベクトル２０Ｔを有し、ボトムフィールドＢＦ２は、動きベクトル２０Ｂを有する。マクロブロックＭＳ７において、トップフィールドＴＦ７は、動きベクトル７０Ｔを有し、ボトムフィールドＢＦ７は、動きベクトル７０Ｂを有する。マクロブロックＭＳ２，ＭＳ７がソースＭＢであるため、動きベクトル２０Ｔ，２０Ｂ，７０Ｔ，７０Ｂが、マクロブロックＭＨ２の候補ベクトル５５として選択される（ステップＳ２）。これらの候補ベクトル５５の中から、マクロブロックＭＨ２、ＭＨ７の動きベクトル５７が決定される。
【００４６】
上述したように、Ｈ．２６４データ５３の各マクロブロックが有する動きベクトルの数は、一つである。マクロブロックＭＨ２がトップフィールドであるため（図４参照）、マクロブロックＭＨ２の動きベクトル５７は、動きベクトル２０Ｔ，７０Ｔのいずれかとなる。マクロブロックＭＨ７がボトムフィールドであるため（図４参照）、マクロブロックＭＨ７の動きベクトル５７は、動きベクトル２０Ｂ，７０Ｂのいずれかとなる。
【００４７】
二つのソースＭＢがフィールド符号化されている場合、候補ベクトル選択部４１は、各候補ベクトル５５が属するマクロブロックを指定領域に指定する（ステップＳ３）。具体的には、動きベクトル２０Ｔ，２０Ｂの指定領域は、マクロブロックＭＳ２である。動きベクトル７０Ｔ，７０Ｂの指定領域は、マクロブロックＭＳ７である。アクティビティ算出部４２は、マクロブロックＭＳ２，ＭＳ７に対応する非圧縮画像データ５２のアクティビティ５６を算出する（ステップＳ４）。
【００４８】
比較部４３は、マクロブロックＭＳ２，ＭＳ７のそれぞれに対応するアクティビティ５６を比較することにより、候補ベクトル５５（動きベクトル２０Ｂ，２０Ｔ，７０Ｂ，７０Ｔ）の中からマクロブロックＭＨ２，ＭＨ７の動きベクトル５７を決定する（ステップＳ５）。
【００４９】
マクロブロックＭＳ２のアクティビティ５６がマクロブロックＭＳ７のアクティビティ５６よりも大きければ、適用パターンＡ１が適用される。つまり、動きベクトル２０Ｔが、マクロブロックＭＨ２の動きベクトル５７として決定される。動きベクトル２０Ｂが、マクロブロックＭＨ７の動きベクトル５７として決定される。一方、マクロブロックＭＳ２のアクティビティ５６がマクロブロックＭＳ７のアクティビティ５６以下であれば、適用パターンＡ２が適用される。つまり、動きベクトル７０Ｔが、マクロブロックＭＨ２の動きベクトル５７として決定される。動きベクトル７０Ｂが、マクロブロックＭＨ７の動きベクトル５７として決定される。
【００５０】
このように、アクティビティに基づいてターゲットＭＢ及び隣接ＭＢの動きベクトルを決定することにより、ソースＭＢが有する全ての動きベクトルを、非圧縮画像データ５２の符号化に用いる必要がない。このため、トランスコーダ１は、非圧縮画像データ５２の符号化に伴う演算量を削減することができるため、ＭＰＥＧ２データ５１をリアルタイムにＨ．２６４データ５３に変換することができる。
【００５１】
また、二つのソースＭＢのうち、いずれか一方のソースＭＢが有する候補ベクトルが、ターゲットＭＢ及び隣接ＭＢの動きベクトル５７として決定される。これにより、Ｈ．２６４データ５３の画質の劣化を防ぐことが可能となる。以下、詳しく説明する。
【００５２】
図７Ａは、マクロブロックＭＳ２、ＭＳ７の動きベクトルと、適用パターンＡ１により決定されたマクロブロックＭＨ２，ＭＨ７の動きベクトルとの対応を示す図である。図７Ａでは、各マクロブロックがディスプレイに表示されるときの実際のサイズに対応させて、各フィールドを表示している。
【００５３】
図７Ａを参照して、実線の矢印は、マクロブロックＭＨ２，ＭＨ７の動きベクトルを示す。破線の矢印は、マクロブロックＭＳ２，ＭＳ７の動きベクトルを示す。トップフィールドＴＦ２及びボトムフィールドＢＦ２では、ＭＰＥＧ２データ５１の動きベクトルとＨ．２６４データ５３の動きベクトルとが一致する。トップフィールドＴＦ７及びボトムフィールドＢＦ７では、ＭＰＥＧ２データ５１の動きベクトルとＨ．２６４データ５３の動きベクトルとが、一致しない。したがって、トップフィールドとボトムフィールドとが連続的に表示されたとき、トップフィールドＴＦ２とボトムフィールドＢＦ２との間では、画像のずれが発生しない。
【００５４】
図７Ｂは、マクロブロックＭＳ２、ＭＳ７の動きベクトルと、適用パターンＡ２により決定されたマクロブロックＭＨ２，ＭＨ７の動きベクトルとの対応を示す図である。図７Ｂの動きベクトルの表示は、図７Ａと同様である。この場合、ＭＰＥＧ２データ５１の動きベクトルとＨ．２６４データ５３の動きベクトルとは、トップフィールドＴＦ７及びボトムフィールドＢＦ７で一致し、トップフィールドＴＦ２及びボトムフィールドＢＦ２とで一致しない。したがって、トップフィールドとボトムフィールドとが連続的に表示されたとき、トップフィールドＴＦ７とボトムフィールドＢＦ７との間では、画像のずれが発生しない。
【００５５】
図７Ｃは、互いに異なるソースＭＢの候補ベクトルを、ターゲットＭＢ及び隣接ＭＢの動きベクトルとして決定した場合における、動きベクトルの対応を示す図である。マクロブロックＭＨ２（トップフィールドＴＦ２，ＴＦ７）の動きベクトルが、マクロブロックＭＳ２の動きベクトル２０Ｔである。マクロブロックＭＨ７（ボトムフィールドＢＦ２，ＢＦ７）の動きベクトルが、マクロブロックＭＳ７の動きベクトル７０Ｂである。つまり、マクロブロックＭＨ２、ＭＨ７は、互いに異なるソースＭＢの動きベクトルを継承している。ＭＰＥＧ２データ５１の動きベクトルとＨ．２６４データ５３の動きベクトルとが、トップフィールドＴＦ２及びボトムフィールドＢＦ７で一致し、トップフィールドＴＦ７及びボトムフィールドＢＦ２で一致しない。図７Ｃに示すパターンで動きベクトルを決定した場合、トップフィールドＴＦ２とボトムフィールドＢＦ２との間で画像のずれが発生する。また、トップフィールドＴＦ７とボトムフィールドＢＦ７との間で画像のずれが発生する。つまり、マクロブロックＭＨ２，ＭＨ７のいずれでも画像のずれが発生することになる。
【００５６】
一方、適用パターンＡ１，Ａ２のいずれかでマクロブロックＭＨ２，ＭＨ７の動きベクトルが決定された場合、トップフィールドＴＦ２及びボトムフィールドＢＦ２に対応する領域、または、トップフィールドＴＦ７及びボトムフィールドＢＦ７に対応する領域のいずれかでは、画像のずれが発生しない。したがって、Ｈ．２６４データ５３の画質の低下を防ぐことが可能となる。
【００５７】
（２）二つのソースＭＢのうち一方がフィールド符号化され、他方がフレーム符号化される場合
図８は、組み合わせ（２）の場合におけるターゲットＭＢの動きベクトル５７を示す図である。図８を参照して、マクロブロックＭＳ７は、組み合わせ（１）と同様にフィールド符号化される。
【００５８】
マクロブロックＭＳ２は、フレーム符号化される。マクロブロックＭＳ２では、トップフィールドＴＦ２及びボトムフィールドＴＦ７が、一つのフレームとして符号化されている。上述したように、マクロブロックＭＨ７は、トップフィールドＴＦ２，ＴＦ７を含むため、マクロブロックＭＳ２と、マクロブロックＭＨ７とは、符号化対象の画像が異なる。このため、マクロブロックＭＨ２，ＭＨ７の動きベクトル５７は、組み合わせ（１）と同様に、二つのソースＭＢのうちいずれか一方が有する動きベクトルとなる。
【００５９】
マクロブロックＭＳ２は、動き補償領域Ｒ１，Ｒ２を有する。動き補償領域Ｒ１，Ｒ２のサイズは、横１６画素×縦８画素である。動き補償領域Ｒ１は、動きベクトル２０Ｒ１を有する。動き補償領域Ｒ２は、動きベクトル２０Ｒ２を有する。組み合わせ（２）において、候補ベクトル選択部４１は、動きベクトル２０Ｒ１，２０Ｒ２，７０Ｔ，７０Ｂを、マクロブロックＭＨ２，ＭＨ７の候補ベクトル５５として選択する（ステップＳ２）。
【００６０】
組み合わせ（２）では、適用パターンＢ１，Ｂ２，Ｂ３のいずれかに基づいて、マクロブロックＭＨ２，ＭＨ７の動きベクトル５７が決定される。以下、適用パターンＢ１〜Ｂ３のいずれかが適用されるまでの流れを詳しく説明する。
【００６１】
候補ベクトル選択部４１は、各候補ベクトルの指定領域を指定する（ステップＳ３）。具体的には、動きベクトル２０Ｒ１の指定領域として、マクロブロックＭＳ２及び動き補償領域Ｒ１が指定される。動きベクトル２０Ｒ２の指定領域として、マクロブロックＭＳ２及び動き補償領域Ｒ２が指定される。動きベクトル７０Ｔ，７０Ｂの指定領域は、マクロブロックＭＳ７である。アクティビティ算出部４２は、マクロブロックＭＳ２，ＭＳ７及び動き補償領域Ｒ１，Ｒ２のそれぞれに対応する非圧縮画像データ５２のアクティビティ５６を算出する（ステップＳ４）。
【００６２】
比較部４３は、マクロブロックＭＳ２，ＭＳ７及び動き補償領域Ｒ１，Ｒ２の各アクティビティ５６に基づいて、マクロブロックＭＨ２，ＭＨ７の動きベクトル５７を決定する（ステップＳ５)。
【００６３】
まず、比較部４３は、マクロブロックＭＳ２のアクティビティ５６と、マクロブロックＭＳ７のアクティビティ５６とを比較して、二つのソースＭＢのうちどちらのマクロブロックの動きベクトルを適用するかを決定する。具体的には、マクロブロックＭＳ７のアクティビティ５６がマクロブロックＭＳ２のアクティビティ５６よりも大きければ、マクロブロックＭＳ７の動きベクトルを用いる適用パターンＢ３が、マクロブロックＭＨ２，ＭＨ７に適用される。適用パターンＢ３は、図６の適用パターンＡ２と同様である。つまり、動きベクトル７０Ｔが、マクロブロックＭＨ２の動きベクトル５７として決定される。動きベクトル７０Ｂが、マクロブロックＭＨ７の動きベクトル５７として決定される。
【００６４】
一方、マクロブロックＭＳ７のアクティビティ５６がマクロブロックＭＳ２のアクティビティ５６以下であれば、マクロブロックＭＳ２の動きベクトルを用いる適用パターンＢ１，Ｂ２のいずれかが適用される。比較部４３は、動き補償領域Ｒ１，Ｒ２の各アクティビティ５６に基づいて、適用パターンＢ１，Ｂ２のいずれかを選択する。
【００６５】
比較部４３は、動き補償領域Ｒ１のアクティビティ５６が動き補償領域Ｒ２のアクティビティ５６よりも大きければ、適用パターンＢ１を選択する。つまり、マクロブロックＭＨ２，ＭＨ７の動きベクトル５７が、動きベクトル２０Ｒ１に決定される。一方、比較部４３は、動き補償領域Ｒ１のアクティビティ５６が動き補償領域Ｒ２のアクティビティ５６以下であれば、適用パターンＢ２を選択する。つまり、マクロブロックＭＨ２，ＭＨ７の動きベクトル５７が、動きベクトル２０Ｒ２に決定される。
【００６６】
動き補償領域Ｒ１，Ｒ２は、トップフィールドＴＦ２及びボトムフィールドＢＦ２の一部を含む。したがって、動き補償領域Ｒ１，Ｒ２が含むフィールドは、マクロブロックＭＨ２，ＭＨ７の両者に含まれる。このため、マクロブロックＭＨ２，ＭＨ７の動きベクトル５７として、動きベクトル２０Ｒ１，２０Ｒ２のいずれかを用いることができる。
【００６７】
図８では、マクロブロックＭＳ２が二つの動き補償領域Ｒ１，Ｒ２を有する場合を示している。しかし、マクロブロックＭＳ２が有する動きベクトルの数は、一つでもよい。たとえば、マクロブロックＭＳ２が動きベクトル２０Ｒ１だけを有する場合、マクロブロックＭＳ２，ＭＳ７に対応するアクティビティ５６のみが算出される。マクロブロックＭＳ２のアクティビティ５６が、マクロブロックＭＳ７のアクティビティ５６よりも大きければ、マクロブロックＭＨ２，ＭＨ７の動きベクトルは、動きベクトル２０Ｒ１となる。
【００６８】
このように、組み合わせ（２）の場合であっても、ターゲットＭＢ（マクロブロックＭＨ２）及び隣接ＭＢ（マクロブロックＭＨ７）の動きベクトルが、各指定領域のアクティビティに基づいて決定される。したがって、本実施の形態に係るトランスコーダは、演算量を削減することができる。
【００６９】
組み合わせ（１）と同様に、ソースＭＢのいずれか一方が有する候補ベクトルが、ターゲットＭＢ及び隣接ＭＢの動きベクトル５７として決定される。組み合わせ（２）のケースであっても、トップフィールドＴＦ２とボトムフィールドＢＦ２との間の画像のずれ、または、トップフィールドＴＦ７とボトムフィールドＢＦ７との間の画像のずれの発生が抑制される。したがって、Ｈ．２６４データ５３の画質の劣化を防ぐことができる。
【００７０】
［第２の実施の形態］
以下、第２の実施の形態に係るトランスコーダ１について説明する。上記第１の実施の形態と同様の点については説明を省略する。本実施の形態では、二つのソースＭＢの両者が、フレーム符号化される点が、上記第１の実施の形態と異なる。
【００７１】
図９は、本実施の形態におけるターゲットＭＢの動きベクトル５７を示す図である。マクロブロックＭＳ２，ＭＳ７は、フレーム符号化される。このため、この場合、マクロブロックペアＰ０を構成するマクロブロックＭＨ２，ＭＨ７もフレーム符号化される。
【００７２】
マクロブロックＭＳ２は、動き補償領域２ＲＡ，２ＲＢを有する。動き補償領域２ＲＡ，２ＲＢの動きベクトルを、動きベクトル２０ＲＡ，２０ＲＢとする。マクロブロックＭＳ７は、動き補償領域７ＲＡ，７ＲＢを有する。動き補償領域７ＲＡ，７ＲＢの動きベクトルを、動きベクトル７０ＲＡ，７０ＲＢとする。動き補償領域２ＲＡ，２ＲＢ，７ＲＡ，７ＲＢのサイズは、横１６画素×縦８画素である。
【００７３】
第２の実施の形態では、適用パターンＣ１〜Ｃ４のいずれかにより、マクロブロックＭＨ２，ＭＨ７の動きベクトル５７が決定される。図９に示すように、本実施の形態では、マクロブロックＭＨ２、ＭＨ７の動きベクトル５７は、それぞれ独立に決定される。マクロブロックＭＨ２の動きベクトル５７は、マクロブロックＭＳ２が有する動きベクトル２０ＲＡ，２０ＲＢのいずれかから決定される。マクロブロックＭＨ７の動きベクトル５７は、マクロブロックＭＳ７が有する動きベクトル７０ＲＡ，７０ＲＢのいずれかから決定される。以下、適用パターンＣ１〜Ｃ４のいずれかが適用されるまでの流れを詳しく説明する。
【００７４】
候補ベクトル選択部４１は、各候補ベクトル５５の指定領域を指定する（ステップＳ３）。具体的には、動きベクトル２０ＲＡの指定領域として、動き補償領域２ＲＡが指定される。動きベクトル２０ＲＢの指定領域として、動き補償領域２ＲＢが指定される。動きベクトル７０ＲＡの指定領域として、動き補償領域７ＲＡが指定される。動きベクトル７０ＲＢの指定領域として、動き補償領域７ＲＢが指定される。アクティビティ算出部４２は、動き補償領域２ＲＡ，２ＲＢ，７ＲＡ，７ＲＢのそれぞれに対応する非圧縮画像データ５２のアクティビティ５６を算出する（ステップＳ４）。
【００７５】
比較部４３は、動き補償領域２ＲＡ，２ＲＢの各アクティビティ５６を比較して、マクロブロックＭＨ２の動きベクトル５７を決定する（ステップＳ５)。具体的には、動き補償領域２ＲＡのアクティビティ５６が、動き補償領域２ＲＢのアクティビティよりも大きければ、動きベクトル２０ＲＡが、マクロブロックＭＨ２の動きベクトル５７として決定される。動き補償領域２ＲＡのアクティビティ５６が、動き補償領域２ＲＢのアクティビティ以下であれば、動きベクトル２０ＲＢが、マクロブロックＭＨ２の動きベクトル５７として決定される。
【００７６】
比較部４３は、動き補償領域７ＲＡ，７ＲＢの各アクティビティ５６を比較して、マクロブロックＭＨ７の動きベクトルを決定する（ステップＳ５)。具体的には、動き補償領域７ＲＡのアクティビティ５６が、動き補償領域７ＲＢのアクティビティよりも大きければ、動きベクトル７０ＲＡが、マクロブロックＭＨ７の動きベクトル５７として決定される。動き補償領域７ＲＡのアクティビティ５６が、動き補償領域７ＲＢのアクティビティ以下であれば、動きベクトル７０ＲＢが、マクロブロックＭＨ７の動きベクトル５７として決定される。
【００７７】
この結果、マクロブロックＭＨ２，ＭＨ７の動きベクトルの組み合わせは、図９に示す適用パターンＣ１〜Ｃ４のいずれかに該当する。適用パターンＣ１では、動きベクトル２０ＲＡ，７０ＲＡが、マクロブロックＭＨ２，ＭＨ７の動きベクトル５７として決定される。適用パターンＣ２では、動きベクトル２０ＲＢ，７０ＲＡが、マクロブロックＭＨ２，ＭＨ７の動きベクトル５７として決定される。適用パターンＣ３では、動きベクトル２０ＲＡ，７０ＲＢが、マクロブロックＭＨ２，ＭＨ７の動きベクトル５７として決定される。適用パターンＣ４では、動きベクトル２０ＲＢ，７０ＲＢが、マクロブロックＭＨ２，ＭＨ７の動きベクトル５７として決定される。
【００７８】
このように、本実施の形態のように二つのソースＭＢがフレーム符号化される場合であっても、ターゲットＭＢ及び隣接ＭＢの動きベクトルが、各指定領域のアクティビティに基づいて決定される。したがって、本実施の形態に係るトランスコーダ１は、演算量を削減することができる。
【００７９】
上記実施の形態では、動きベクトル決定部４は、アクティビティ５６の大きいマクロブロックの動きベクトルを、マクロブロックＭＨ２，ＭＨ７の動きベクトル５７として決定した。しかし、動きベクトル決定部４は、アクティビティ５６の小さいマクロブロックを、マクロブロックＭＨ２，ＭＨ７の動きベクトル５７として決定してもよい。
【００８０】
上記実施の形態では、動きベクトル決定部４は、アクティビティ５６の大きい動き補償領域の動きベクトルを、マクロブロックＭＨ２，ＭＨ７の動きベクトル５７として決定した。しかし、動きベクトル決定部４は、アクティビティ５６の小さい動き補償領域の動きベクトルを、マクロブロックＭＨ２，ＭＨ７の動きベクトル５７として決定してもよい。
【００８１】
上記実施の形態では、非圧縮画像データ５２がＨ．２６４データ５３に符号化されるため、マクロブロックペアが上下方向に互いに隣接する二つのマクロブロックにより構成される例を説明した。しかし、非圧縮画像データ５２がＨ．２６４方式以外の符号化方式で符号化される場合、マクロブロックペアが、左右方向に互いに隣接する二つのマクロブロックにより構成されてもよい。
【符号の説明】
【００８２】
１  トランスコーダ
２  ＭＰＥＧ２デコーダ
３  Ｈ．２６４エンコーダ
４  動きベクトル決定部
５  符号化部
４１  候補ベクトル選択部
４２  アクティビティ算出部
４３  比較部
【図１】
0005520718.tif 000002
【図２】
0005520718.tif 000003
【図３Ａ】
0005520718.tif 000004
【図３Ｂ】
0005520718.tif 000005
【図４】
0005520718.tif 000006
【図５】
0005520718.tif 000007
【図６】
0005520718.tif 000008
【図７Ａ】
0005520718.tif 000009
【図７Ｂ】
0005520718.tif 000010
【図７Ｃ】
0005520718.tif 000011
【図８】
0005520718.tif 000012
【図９】
0005520718.tif 000013