(57)【特許請求の範囲】
【請求項１】
動き補償を伴ったフレーム間予測符号化アルゴリズムを含む符号化アルゴリズムにより動画像を構成する複数のフレームから得られた第１符号化データを、異なった構成を有する第２符号化データに変換するトランスコーディング方法において、
前記動画像を構成する複数のフレームのうちフレーム間予測符号化の対象となったものの一部のフレームを処理対象フレームとし、処理対象フレームのフレーム間予測符号化において参照された第１参照フレームとは別の第２参照フレームを参照して処理対象フレームのフレーム間予測符号化を行った場合に得られるであろう符号化データに相当する第２符号化データを、処理対象フレームを含む１または複数のフレームの第１符号化データから生成するフレーム間予測符号化データ再編集過程を含み、
前記フレーム間予測符号化データ再編集過程は、少なくとも前記処理対象符号化データに含まれている動き情報を用いて、前記第２符号化データに含めるべき動き情報を算出する動き情報算出過程を含み、
前記フレーム間予測符号化データ再編集過程では、フレーム間予測符号化が行われたフレームの一部のフレームを第１参照フレームとし、この第１参照フレームを参照してフレーム間予測符号化が行われたフレームを処理対象フレームとし、第１参照フレームのフレーム間予測符号化において参照されたフレームを第２参照フレームとし、処理対象フレームに対応した第１符号化データである処理対象符号化データと、第１参照フレームに対応した第１符号化データである第１参照符号化データとから、第２参照フレームを参照して処理対象フレームのフレーム間予測符号化を行ったときに得られる符号化データに対応した第２符号化データを生成し、
前記動き情報算出過程では、処理対象フレームを構成する各マクロブロックを処理対象マクロブロックとし、この処理対象マクロブロックを分割したブロックを処理対象ブロックとし、各処理対象マクロブロックについて、
ａ．前記処理対象符号化データから当該処理対象マクロブロックに対応した動き情報を求め、
ｂ．該動き情報から前記第１参照フレームにおける当該処理対象マクロブロックに対応した第１参照マクロブロックの位置を求め、
ｃ．前記第１参照マクロブロックを分割した複数の第１参照ブロックの各々について、前記第１参照フレームにおける各マクロブロックのうち当該第１参照ブロックと重複している部分の面積が最も広いマクロブロックに対応した動き情報を求め、
ｄ．前記ａの動き情報と、前記ｃの複数の第１参照ブロックの各々について求めた各動き情報とを加算することにより、前記第２参照フレームと前記処理対象フレームを分割した各処理対象ブロックとの間の動き補償のための動き情報を算出することを特徴とするトランスコーディング方法。
【請求項２】
動き補償を伴ったフレーム間予測符号化アルゴリズムを含む符号化アルゴリズムにより動画像を構成する複数のフレームから得られた第１符号化データを、異なった構成を有する第２符号化データに変換するトランスコーディング方法において、
前記動画像を構成する複数のフレームのうちフレーム間予測符号化の対象となったものの一部のフレームを処理対象フレームとし、処理対象フレームのフレーム間予測符号化において参照された第１参照フレームとは別の第２参照フレームを参照して処理対象フレームのフレーム間予測符号化を行った場合に得られるであろう符号化データに相当する第２符号化データを、処理対象フレームを含む１または複数のフレームの第１符号化データから生成するフレーム間予測符号化データ再編集過程を含み、
前記フレーム間予測符号化データ再編集過程は、少なくとも前記処理対象符号化データに含まれている動き情報を用いて、前記第２符号化データに含めるべき動き情報を算出する動き情報算出過程を含み、
前記フレーム間予測符号化データ再編集過程では、フレーム間予測符号化が行われたフレームの一部のフレームを第１参照フレームとし、この第１参照フレームを参照してフレーム間予測符号化が行われたフレームを処理対象フレームとし、第１参照フレームのフレーム間予測符号化において参照されたフレームを第２参照フレームとし、処理対象フレームに対応した第１符号化データである処理対象符号化データと、第１参照フレームに対応した第１符号化データである第１参照符号化データとから、第２参照フレームを参照して処理対象フレームのフレーム間予測符号化を行ったときに得られる符号化データに対応した第２符号化データを生成し、
前記動き情報算出過程では、処理対象フレームを構成する各マクロブロックを処理対象マクロブロックとし、各処理対象マクロブロックについて、
ａ．前記処理対象符号化データから当該処理対象マクロブロックに対応した動き情報を求め、
ｂ．該動き情報から前記第１参照フレームにおける当該処理対象マクロブロックに対応した第１参照マクロブロックの位置を求め、
ｃ．前記第１参照フレームにおける各マクロブロックのうち前記第１参照マクロブロックと重複している部分の面積が最も広いマクロブロックに対応した動き情報を求め、
ｄ．前記第１参照マクロブロックと重複している部分の面積が最も広いマクロブロックから前記第１参照マクロブロックまでの移動に対応した動き情報を求め、
ｅ．前記ａおよびｃの動き情報を加算し、そこから前記ｄの動き情報を減算することにより、第２参照フレームと前記処理対象フレームとの間の動き補償のための動き情報を算出することを特徴とするトランスコーディング方法。
【請求項３】
前記動画像を構成する複数のフレームに対応した第１符号化データから一部のフレームに対応した第１符号化データを間引く間引き過程を有し、
前記フレーム間予測符号化データ再編集過程では、間引かれる第１符号化データに対応したフレームを第１参照フレームとし、第１参照フレームを参照してフレーム間予測符号化が行われたフレームを処理対象フレームとし、第１参照フレームのフレーム間予測符号化において参照されたフレームを第２参照フレームとし、第２符号化データを生成することを特徴とする請求項１または２のいずれかの項に記載のトランスコーディング方法。
【請求項４】
前記フレーム間予測符号化アルゴリズムは、フレームを分割したマクロブロック毎に動き補償を行うとともに、マクロブロックを分割したブロック毎に、フレーム間の差分画像の直交変換を行って符号化データを生成するものであり、
前記フレーム間予測符号化データ再編集過程は、
処理対象符号化データに含まれる動き情報および直交変換係数と第１参照フレームの第１符号化データに含まれる直交変換係数を用いて、処理対象フレームを分割した各処理対象ブロック毎に、第２参照フレームにおける当該処理対象ブロックに対応した参照画像との間の差分の直交変換係数を算出する直交変換係数算出過程を具備することを特徴とする請求項１または２のいずれかの項に記載のトランスコーディング方法。
【請求項５】
前記直交変換係数算出過程では、処理対象フレームを分割した複数のマクロブロックを各々処理対象マクロブロックとし、各処理対象マクロブロックを分割した複数のブロックを各々処理対象ブロックとし、各処理対象マクロブロックについて、
ａ．前記処理対象フレームの第１符号化データから当該処理対象マクロブロックに対応した動き情報を求め、
ｂ．該動き情報から前記第１参照フレームにおける当該処理対象マクロブロックに対応した第１参照マクロブロックの位置を求め、
ｃ．当該処理対象マクロブロック内における各処理対象ブロックについて、前記第１参照マクロブロックを分割した第１参照ブロックのうち当該処理対象ブロックの当該処理対象マクロブロック内での位置と同じ位置にある第１参照ブロックと重複している部分を有する各ブロックに対応した差分画像の直交変換係数と、当該第１参照ブロックとこれと重複している部分を有する各ブロックとの位置関係と、当該処理対象ブロックに対応した差分画像の直交変換係数とから、当該処理対象ブロックと、第２参照フレーム内の当該処理対象ブロックに対応した参照画像との差分の直交変換係数を算出することを特徴とする請求項４に記載のトランスコーディング方法。
【請求項６】
前記直交変換係数算出過程では、処理対象フレームを分割した複数のマクロブロックを各々処理対象マクロブロックとし、各処理対象マクロブロックを分割した複数のブロックを各々処理対象ブロックとし、
ａ．前記処理対象フレームの第１符号化データから当該処理対象マクロブロックに対応した動き情報を求め、
ｂ．該動き情報から前記第１参照フレームにおける当該処理対象マクロブロックに対応した第１参照マクロブロックの位置を求め、
ｃ．前記第１参照フレームにおいて前記第１参照マクロブロックと重複している部分の面積が最も広いマクロブロックに対応した差分画像の直交変換係数と、当該処理対象マクロブロックに対応した差分画像の直交変換係数とから、当該処理対象マクロブロックと、前記第２参照フレーム内の当該処理対象マクロブロックに対応した参照画像との差分の直交変換係数を算出することを特徴とする請求項４に記載のトランスコーディング方法。
【請求項７】
前記フレームは、複数のフィールドによって構成され、これらの各フィールドを前記処理対象フレームとして、前記第２符号化データを生成することを特徴とする請求項１または２のいずれかの項に記載のトランスコーディング方法。
【請求項８】
前記動画像を構成する複数のフレームは、複数のピクチャグループからなり、前記フレーム間予測符号化データ再編集過程は、各ピクチャグループがＩフレームおよびその後のＰフレーム間またはＰフレームおよびその後のＰフレーム間に複数のＢフレームを含む場合に、これらのうちの１つのＢフレームを間引き、残ったＢフレームをその前のＩフレームまたはＰフレームのみを参照したＰフレームに変換することを特徴とする請求項１または２のいずれかの項に記載のトランスコーディング方法。
【請求項９】
前記フレーム間予測符号化データ再編集過程は、
前記第１符号化データから前記動画像を構成する複数のフレームの画像データを復元する画像データ復元過程と、
前記動き情報算出過程により算出された動き情報が不正確である場合に画像データ復元過程により復元された画像データを探索することにより当該動き情報に代わる前記第２符号化データに含めるべき動き情報を求める動き情報修正過程と、
前記画像データ復元過程により得られた画像データと前記動き情報算出過程および前記動き情報修正過程により得られた動き情報を用いて符号化を行い、前記第２符号化データを生成する符号化過程と
を具備することを特徴とする請求項１または２のいずれかの項に記載のトランスコーディング方法。
【請求項１０】
前記動き情報修正過程は、
前記第１符号化データを復号することにより、処理対象フレームを構成する各処理対象マクロブロック毎に、前記第１符号化データに含まれる当該処理対象マクロブロックに対応した動き情報を用いた動き補償を行った場合における当該処理対象マクロブロックの画像データと第１参照フレームにおける当該処理対象マクロブロックに対応した第１参照マクロブロックの画像データとの差分である第１予測誤差を求める予測誤差復号過程と、
当該処理対象フレームを構成する各処理対象マクロブロック毎に、前記動き情報算出過程により算出した動き情報を用いた動き補償を行って、当該処理対象マクロブロックの画像データと前記第２参照フレームの画像データとの差分である第２予測誤差を算出する予測誤差算出過程と、
前記第２予測誤差が前記第１予測誤差よりも所定値以上大きい処理対象マクロブロックについて、当該処理対象マクロブロックの画像データと前記第２参照フレームに対応した画像デ−タとを用いて、前記動き情報算出過程により得られた動き情報に代わる動き情報を探索する動き情報探索過程と
を含むことを特徴とする請求項９に記載のトランスコーディング方法。
【請求項１１】
前記動き情報修正過程は、前記動き情報算出過程によって算出された動き情報に基づいて動き情報の探索範囲を定める処理を含み、前記動き情報探索過程では該探索範囲内において動き情報の探索を行うことを特徴とする請求項９に記載のトランスコーディング方法。
【請求項１２】
動き補償を伴ったフレーム間予測符号化アルゴリズムを含む符号化アルゴリズムにより動画像を構成する複数のフレームから得られた第１符号化データを、異なった構成を有する第２符号化データに変換するトランスコーディング装置において、
前記動画像を構成する複数のフレームのうちフレーム間予測符号化の対象となったものの一部のフレームを処理対象フレームとし、処理対象フレームのフレーム間予測符号化において参照された第１参照フレームとは別の第２参照フレームを参照して処理対象フレームのフレーム間予測符号化を行った場合に得られるであろう符号化データに相当する第２符号化データを、処理対象フレームを含む１または複数のフレームの第１符号化データから生成するフレーム間予測符号化データ再編集手段を含み、
前記フレーム間予測符号化データ再編集手段は、少なくとも前記処理対象符号化データに含まれている動き情報を用いて、前記第２符号化データに含めるべき動き情報を算出する動き情報算出手段を含み、
前記フレーム間予測符号化データ再編集手段が、フレーム間予測符号化が行われたフレームの一部のフレームを第１参照フレームとし、この第１参照フレームを参照してフレーム間予測符号化が行われたフレームを処理対象フレームとし、第１参照フレームのフレーム間予測符号化において参照されたフレームを第２参照フレームとし、処理対象フレームに対応した第１符号化データである処理対象符号化データと、第１参照フレームに対応した第１符号化データである第１参照符号化データとから、第２参照フレームを参照して処理対象フレームのフレーム間予測符号化を行ったときに得られる符号化データに対応した第２符号化データを生成し、
前記動き情報算出手段が、処理対象フレームを構成する各マクロブロックを処理対象マクロブロックとし、この処理対象マクロブロックを分割したブロックを処理対象ブロックとし、各処理対象マクロブロックについて、
ａ．前記処理対象符号化データから当該処理対象マクロブロックに対応した動き情報を求め、
ｂ．該動き情報から前記第１参照フレームにおける当該処理対象マクロブロックに対応した第１参照マクロブロックの位置を求め、
ｃ．前記第１参照マクロブロックを分割した複数の第１参照ブロックの各々について、前記第１参照フレームにおける各マクロブロックのうち当該第１参照ブロックと重複している部分の面積が最も広いマクロブロックに対応した動き情報を求め、
ｄ．前記ａの動き情報と、前記ｃの複数の第１参照ブロックの各々について求めた各動き情報とを加算することにより、前記第２参照フレームと前記処理対象フレームを分割した各処理対象ブロックとの間の動き補償のための動き情報を算出することを特徴とするトランスコーディング装置。
【請求項１３】
動き補償を伴ったフレーム間予測符号化アルゴリズムを含む符号化アルゴリズムにより動画像を構成する複数のフレームから得られた第１符号化データを、異なった構成を有する第２符号化データに変換するトランスコーディング装置において、
前記動画像を構成する複数のフレームのうちフレーム間予測符号化の対象となったものの一部のフレームを処理対象フレームとし、処理対象フレームのフレーム間予測符号化において参照された第１参照フレームとは別の第２参照フレームを参照して処理対象フレームのフレーム間予測符号化を行った場合に得られるであろう符号化データに相当する第２符号化データを、処理対象フレームを含む１または複数のフレームの第１符号化データから生成するフレーム間予測符号化データ再編集手段を含み、
前記フレーム間予測符号化データ再編集手段は、少なくとも前記処理対象符号化データに含まれている動き情報を用いて、前記第２符号化データに含めるべき動き情報を算出する動き情報算出手段を含み、
前記フレーム間予測符号化データ再編集手段が、フレーム間予測符号化が行われたフレームの一部のフレームを第１参照フレームとし、この第１参照フレームを参照してフレーム間予測符号化が行われたフレームを処理対象フレームとし、第１参照フレームのフレーム間予測符号化において参照されたフレームを第２参照フレームとし、処理対象フレームに対応した第１符号化データである処理対象符号化データと、第１参照フレームに対応した第１符号化データである第１参照符号化データとから、第２参照フレームを参照して処理対象フレームのフレーム間予測符号化を行ったときに得られる符号化データに対応した第２符号化データを生成し、
前記動き情報算出手段が、処理対象フレームを構成する各マクロブロックを処理対象マクロブロックとし、各処理対象マクロブロックについて、
ａ．前記処理対象符号化データから当該処理対象マクロブロックに対応した動き情報を求め、
ｂ．該動き情報から前記第１参照フレームにおける当該処理対象マクロブロックに対応した第１参照マクロブロックの位置を求め、
ｃ．前記第１参照フレームにおける各マクロブロックのうち前記第１参照マクロブロックと重複している部分の面積が最も広いマクロブロックに対応した動き情報を求め、
ｄ．前記第１参照マクロブロックと重複している部分の面積が最も広いマクロブロックから前記第１参照マクロブロックまでの移動に対応した動き情報を求め、
ｅ．前記ａおよびｃの動き情報を加算し、そこから前記ｄの動き情報を減算することにより、第２参照フレームと前記処理対象フレームとの間の動き補償のための動き情報を算出することを特徴とするトランスコーディング装置。
【発明の詳細な説明】
【０００１】
【発明が属する技術分野】
この発明は、動画像情報の圧縮伝送技術に係り、特に動画像符号化データを構成の異なった動画像符号化データに変換するトランスコーディング方法およびトランスコーデイング装置に関する。
【０００２】
【従来の技術】
文字、図形、音声、映像などの異なる情報をデジタルデータで表現し、これらのメディアを統合して一元的に取り扱うマルチメディアが近年注目を浴びている。このマルチメディアに対応するオーディオ・ビデオ符号化方式として、ＩＳＯ／ＩＥＣのＭＰＥＧ（Moving Picture Experts Group）１等があり、これらに準拠した動画像符号化伝送システムが各種提供されている。
【０００３】
図２４（ａ）および（ｂ）は、この種の動画像符号化伝送システムの一般的な構成を示すものであり、同図（ａ）は送信側の符号化器の構成を示すブロック図、同図（ｂ）は受信側の復号器の構成を示すブロック図である。
【０００４】
送信側の符号化器は、図２４（ａ）に示すように、減算器１０１と、ＤＣＴ（Discrete Cosine Transform ；離散コサイン変換）部１０２と、量子化器１０３と、逆量子化器１０４と、逆ＤＣＴ部１０５と、動き予測および補償部１０６と、可変長符号化器１０７および１０８と、多重化装置１０９とを有している。
【０００５】
また、受信側の復号器は、図２４（ｂ）に示すように、逆多重化装置２０１Ａと、可変長復号器２０１および２０６と、逆量子化器２０２と、逆ＤＣＴ部２０３と、加算器２０４と、動き補償部２０５とを有している。なお、以上列挙した符号化器および復号器の各構成要素は、専用のハードウェアにより構成する他、所定のプログラムを実行するＤＳＰ（デジタル信号プロセッサ）等により構成してもよい。
【０００６】
図２４（ａ）および（ｂ）に示す構成において、符号化器には、所定個数の画面（以下、フレームという）からなるピクチャグループの画像情報が順次供給される。符号化器は、このピクチャグループを一単位として画像情報の符号化を行う。１つのピクチャグループには、１つのＩフレームを含めることが必要であり、また、これに加えて、１または複数のＰフレームやＢフレームを含めることができる。ここで、Ｉフレームは、いわゆるフレーム内符号化の対象となるフレームである。また、Ｐフレームは、当該フレームの前のフレームの画像を参照することにより符号化および復号が行われるフレームであり、Ｂフレームは、当該フレームの前および後の各フレームを参照することにより符号化および復号が行われるフレームである。
【０００７】
図２５は、このようなピクチャグループを構成する各フレームが順次与えられた場合の符号化器の動作を例示している。なお、この図２５では、説明を簡単にするため、Ｉフレームに続いて、Ｐ１フレーム、Ｐ２フレーム、という具合に、ＩフレームとＰフレームが符号化器に入力される場合を例に挙げている。以下、この図２５を参照し、符号化器の動作を説明する。
【０００８】
まず、Ｉフレームに対応した画像情報が入力された場合、図２４（ａ）における符号化器の各構成要素による処理は行われず、所定の符号化アルゴリズムにより現画像（Ｉフレーム）の画像情報のフレーム内符号化が行われ、この結果得られる符号化データが受信側に伝送される。また、符号化器では、上記符号化アルゴリズムに対応した復号アルゴリズムに従って、符号化データからＩフレームの画像情報が復号され、動き予測および補償部１０６内のメモリ（図示略）に参照画像として保存される。
【０００９】
次に、Ｐ１フレームが入力されると、符号化器では、現画像（Ｐ１フレーム）が複数のマクロブロックＭＢｉｊ（ｉ＝１〜Ｍ、ｊ＝１〜Ｎ）に分割される。ここで、各マクロブロックは、２×２＝４個のブロックからなり、各ブロックは８×８＝６４個の画素により構成されている。そして、符号化器では、各マクロブロックＭＢｉｊについて、以下の処理が行われる。
【００１０】
まず、動き予測および補償部１０６は、現画像のマクロブロックＭＢｉｊに類似した同サイズの参照マクロブロックＭＢｉｊ’を参照画像（この場合、Ｉフレーム）の中から探索する。そして、この参照マクロブロックＭＢｉｊ’が移動してマクロブロックＭＢｉｊとなったとみなし、その空間的な移動距離および方位を表す動き情報Ｖを出力する。ここで、動き情報Ｖは可変長符号化器２０６によって可変長符号に変換される。
【００１１】
減算器１０１は、マクロブロックＭＢｉｊの画像情報から参照マクロブロックＭＢｉｊ’の画像情報を減算して両画像の差分を求め、ＤＣＴ部１０２は、この差分に対し、直交変換の一種であるＤＣＴを施す。
【００１２】
量子化器１０３は、ＤＣＴ部１０２から得られる差分画像のＤＣＴ係数を量子化し、可変長符号化器１０７は、この量子化により得られたデータを可変長符号化する。
【００１３】
このＤＣＴ係数を量子化したものの可変長符号と上述した動き情報Ｖの可変長符号とが、多重化装置１０９によって多重化され、マクロブロックＭＢｉｊに対応した符号化データとして受信側へ送信される。
【００１４】
一方、量子化器１０３の出力データは、逆量子化器１０４によって逆量子化され、この逆量子化器１０４の出力データが逆ＤＣＴ部１０５に入力される。この結果、逆ＤＣＴ部１０５から差分画像Δが出力される。この差分画像Δは、現画像（Ｐ１フレーム）のマクロブロックＭＢｉｊと参照マクロブロックＭＢｉｊ’との差分に対応した画像情報であるが、ＤＣＴ、量子化、逆量子化および逆ＤＣＴという過程を経て生成されるものであるため、これに伴った誤差を含んでいる。
【００１５】
動き予測および補償部１０６は、逆ＤＣＴ部１０５から得られた差分画像Δと参照マクロブロックＭＢｉｊ’とを加算する等の方法により、現画像（フレームＰ１）におけるマクロブロックＭＢｉｊの画像情報を復元し、後続フレームの符号化の際に参照する参照画像としてメモリに保存する。
以上の処理が現画像（Ｐ１フレーム）を構成する全てのマクロブロックＭＢｉｊ（ｉ＝１〜Ｍ、ｊ＝１〜Ｎ）について実施されるのである。
【００１６】
そして、次のフレームＰ２が入力されると、動き予測および補償部１０６内のメモリに保存された参照画像（フレームＰ１の画像）を参照して、上述と同様な符号化処理が行われる。フレームＰ２の後続の各フレームについても同様である。
【００１７】
図２６は、以上のようにして符号化器から送信されたＩフレーム、Ｐ１フレーム、Ｐ２フレーム、…の各符号化データが受信された場合における復号器の動作を例示している。以下、この図２６を参照し、復号器の動作を説明する。
【００１８】
まず、Ｉフレームのフレーム内符号化データが受信された場合、図２４（ｂ）における復号器では、図示の各構成要素による処理は行われず、符号器側のフレーム内符号化アルゴリズムに対応した復号アルゴリズムに従って、フレーム内符号化データの復号が行われる。この結果、符号器側における動き予測および補償部１０６内のメモリに格納されたものと同じＩフレームの画像情報が復号され、これが参照画像として復号器における動き補償部２０５内のメモリ（図示略）に保存される。
【００１９】
次に、Ｐ１フレームの符号化データが復号器に入力される。この符号化データは、Ｐ１フレームの画像を分割した複数のマクロブロックＭＢｉｊ（ｉ＝１〜Ｍ、ｊ＝１〜Ｎ）に各々に対応した次の情報を含んでいる。
ａ．当該マクロブロックＭＢｉｊと参照画像（フレームＩ）内のこれに類似した参照マクロブロックＭＢｉｊ’との間の差分に対し、ＤＣＴ、量子化および可変長符号化を施して得られた可変長符号
ｂ．参照マクロブロックＭＢｉｊ’から当該マクロブロックＭＢｉｊに至る動きベクトルを表す動き情報Ｖの可変長符号
【００２０】
復号器では、上記ａおよびｂの各可変長符号が逆多重化装置２０１Ａによって分離され、可変長復号化器２０１および２０６によって実際の数値に戻される。そして、これらの各情報に従い、各マクロブロックＭＢｉｊ毎に以下の処理が行われる。
【００２１】
まず、逆量子化器２０２および逆ＤＣＴ部２０３により、上記ａの可変長符号から得た実際の数値から、マクロブロックＭＢｉｊと参照画像（フレームＩ）内の参照マクロブロックＭＢｉｊ’との間の差分画像Δが復元される。
【００２２】
また、動き補償部２０５では、マクロブロックＭＢｉｊに対応した上記ｂの動き情報Ｖに従い、当該マクロブロックＭＢｉｊに対応した参照画像（フレームＩ）内の参照マクロブロックＭＢｉｊ’の所在が求められ、この参照マクロブロックＭＢｉｊ’の画像情報が内蔵のメモリ（図示略）から読み出される。そして、参照マクロブロックＭＢｉｊ’の画像情報と上記差分画像Δとが加算器２０４によって加算され、マクロブロックＭＢｉｊの画像情報が復元される。
【００２３】
以上の処理が全てのマクロブロックＭＢｉｊ（ｉ＝１〜Ｍ、ｊ＝１〜Ｎ）について行われ、フレームＰ１の全画像が復元される。このフレームＰ１の復元画像は参照画像として動き補償部２０５内のメモリに保存される。
【００２４】
そして、次のフレームＰ２に対応した符号化データが受信されると、動き補償部２０５内のメモリに保存された参照画像（フレームＰ１の画像）を参照して、上述と同様な復号処理が行われる。フレームＰ２の後続の各フレームに対応した符号化データが受信された場合も同様である。
【００２５】
さて、最近では、様々な通信システムにおいて動画像の符号化伝送が検討されるようになってきている。このため、ある伝送レートでの伝送を想定して動画像の符号化データが生成されたが、この符号化データを当初の予定とは異なった伝送レートで伝送しなければならないようなことが起こりうる。
【００２６】
このような場合、ピクチャグループ当たりのフレームの数を減らし、符号化データのデータレートを減少させることが求められる。このための技術として、符号化データの方式を変換するトランスコーディングがある。図２７（ａ）はこのトランスコーディングを行うための方法を示すものであり、図２７（ｂ）はこのトランスコーディングを行うための従来のトランスコーディング装置の構成を示すブロック図である。
【００２７】
図２７（ｂ）に示すように、従来のトランスコーディング装置は、前掲図２４（ｂ）に示すものと同様な構成の復号器１００と前掲図２４（ａ）に示すものと同様な構成の符号化器２００とを組み合わせた構成を有している。
【００２８】
このトランスコーディング装置では、図２７（ａ）に示すように、第１の符号化方法により生成された符号化データが復号器１００によって復号され、この復号により得られた画像が、符号化器２００により第２の符号化方法に従って符号化される。このような再符号化を行うことにより、元の符号化データとはデータレートの異なった符号化データを生成することができるのである。
【００２９】
【発明が解決しようとする課題】
ところで、上述した従来のトランスコーディング方法は、符号化データから元の画像を復号し、この画像を再符号化することにより他の構成の符号化データを生成するので、演算量が多く、非効率的であり、また、符号化データの復号および再符号化に伴う変換誤差によって画質が劣化するという問題があった。
【００３０】
この発明は以上説明した事情に鑑みてなされたものであり、少ない演算量で、符号化データを他の構成の符号化データに変換することができるトランスコーディング方法およびトランスコーディング装置を提供することを目的としている。
【００３１】
【課題を解決するための手段】
この発明は、動き補償を伴ったフレーム間予測符号化アルゴリズムを含む符号化アルゴリズムにより動画像を構成する複数のフレームから得られた第１符号化データを、異なった構成を有する第２符号化データに変換するトランスコーディング方法において、前記動画像を構成する複数のフレームのうちフレーム間予測符号化の対象となったものの一部のフレームを処理対象フレームとし、処理対象フレームのフレーム間予測符号化において参照された第１参照フレームとは別の第２参照フレームを参照して処理対象フレームのフレーム間予測符号化を行った場合に得られるであろう符号化データに相当する第２符号化データを、処理対象フレームを含む１または複数のフレームの第１符号化データから生成するフレーム間予測符号化データ再編集過程を含み、前記フレーム間予測符号化データ再編集過程は、少なくとも前記処理対象符号化データに含まれている動き情報を用いて、前記第２符号化データに含めるべき動き情報を算出する動き情報算出過程を含むことを特徴とするトランスコーディング方法を提供する。また、この発明は、かかるトランスコーディング方法によりトランスコーディングを行うトランスコーディング装置を提供する。
【００３２】
【発明の実施の形態】
以下、図面を参照し、本発明の実施形態について説明する。
【００３３】
Ａ．第１の実施形態
Ａ−１．トランスコーディング
図１はこの発明の第１の実施形態において行われるトランスコーディングの例を示す図である。この図１には、ＩフレームとＰ１フレーム〜Ｐ４フレームとからなるピクチャグループが図示されている。本実施形態では、これらの各フレームのうち例えばＰ１フレームとＰ３フレームとを間引くことによりデータレートの小さな符号化データを生成する。ここで、Ｐ２フレームは間引かれるＰ１フレームを参照しており、Ｐ４フレームは間引かれるＰ３フレームを参照している。従って、符号化データの中からＰ１フレームとＰ３フレームとに対応したものを間引くと、残りの符号化データからＰ２フレームやＰ４フレームの画像を復号することができなくなる。
【００３４】
本実施形態では、フレーム間予測符号化が行われたフレームのうち間引かれるフレーム（この例ではＰ１フレームおよびＰ３フレーム）を第１参照フレームとし、この第１参照フレームを参照してフレーム間予測符号化が行われたフレーム（この例ではＰ２フレームおよびＰ４フレーム）を処理対象フレームとし、第１参照フレームのフレーム間予測符号化において参照されたフレームを第２参照フレーム（この例ではＩフレームおよびＰ２フレーム）とする。そして、本実施形態では、第２参照フレームを参照して処理対象フレームのフレーム間予測符号化を行った場合に得られるであろう符号化データを、処理対象フレームに対応した符号化データと、第１参照フレームに対応した符号化データとから演算する。これが本実施形態におけるフレーム間予測符号化データ再編集処理である。
【００３５】
Ａ−２．トランスコーディング装置
図２は、本実施形態に係るトランスコーディング法を実施するためのトランスコーディング装置の構成を示すブロック図である。図２において、逆多重化装置１は、Ｉフレーム以外の各フレームに対応した符号化データを量子化されたＤＣＴ係数の可変長符号と動き情報の可変長符号とに分離する装置である。
可変長復号化器２Ａは、動き情報の可変長符号を実際に数値に戻す装置である。
【００３６】
動き情報算出回路２は、上述したフレーム間予測符号化データ再編集処理の一部である動き情報算出処理を行う回路である。さらに詳述すると、動き情報算出回路２は、処理対象フレームに対応した動き情報、第１参照フレームに対応した動き情報、第２参照フレームに対応した動き情報、その他のフレームに対応した動き情報を可変長復号化器２Ａから受け取る。動き情報算出回路２は、処理対象フレームに対応した動き情報を受け取った場合、処理対象フレームに対応した動き情報と第１参照フレームに対応した動き情報とから新たな動き情報を算出し、元の動き情報の代わりに出力する。この新たな動き情報は、第２参照フレームを参照して処理対象フレームのフレーム間予測符号化を行ったときに得られるであろう動き情報に相当する。第１参照フレームに対応した動き情報は廃棄される。他のフレームに対応した動き情報は動き情報算出回路２をそのまま通過する。可変長符号化器２Ｂは、このようにして動き情報算出回路２から出力される動き情報を可変長符号化する回路である。
【００３７】
可変長復号器３は、逆多重化装置１から出力される可変長符号からＤＣＴ係数の量子化データを復号する装置である。また、逆量子化器４は、この量子化データを逆量子化し、ＤＣＴ係数を出力する装置である。
【００３８】
ＤＣＴ係数算出回路５は、上述したフレーム間予測符号化データ再編集処理の一部であるＤＣＴ係数算出処理を行う回路である。さらに詳述すると、ＤＣＴ係数算出回路５は、逆量子化器４から、処理対象フレームに対応したＤＣＴ係数、第１参照フレームに対応したＤＣＴ係数、第２参照フレームに対応したＤＣＴ係数、その他のフレームに対応したＤＣＴ係数を受け取る。ＤＣＴ係数算出回路５は、処理対象フレームに対応したＤＣＴ係数を受け取った場合、処理対象フレームに対応した動き情報およびＤＣＴ係数と第１参照フレームに対応したＤＣＴ係数とから新たなＤＣＴ係数を算出し、元のＤＣＴ係数の代わりに出力する。この新たなＤＣＴ係数は、第２参照フレームを参照して処理対象フレームのフレーム間予測符号化を行った場合に得られるであろうＤＣＴ係数に相当する。第１参照フレームに対応したＤＣＴ係数はＤＣＴ係数算出回路５によって廃棄される。他のフレームに対応したＤＣＴ係数はＤＣＴ係数算出回路５をそのまま通過する。
【００３９】
量子化器６は、ＤＣＴ係数算出回路５から出力されたＤＣＴ係数を量子化し、量子化データを出力する装置である。また、可変長符号化器７は、この量子化データを可変長符号化して出力する装置である。多重化器８は、可変長符号化器２２から得られる各フレームの動き情報の可変長符号と、可変長符号化器７から得られる各フレームのＤＣＴ係数に対応した可変長符号とを多重化して出力する装置である。
【００４０】
次に、動き情報算出回路２の処理内容について詳しく説明する。例えば図１において、Ｐ３フレームの間引きを行う場合を考える。この場合、Ｐ３フレームが第１参照フレーム、Ｐ４フレームが処理対象フレーム、Ｐ２フレームが第２参照フレームである。ここで、処理対象フレーム（Ｐ４フレーム）に対応した符号化データは、同フレーム中の各マクロブロック毎に動き情報を含んでいるが、これらの動き情報は、第１参照フレーム（Ｐ３フレーム）の状態からの動きを表した内容になっている。従って、第１参照フレーム（Ｐ３フレーム）を間引く場合には、処理対象フレーム（Ｐ４フレーム）における各マクロブロックが第２参照フレーム（Ｐ２フレーム）の画面内において占めていた各エリアを求め、各エリアから処理対象フレームの各マクロブロックの位置までの移動に対応した新たな動き情報（以下、便宜上、Ｐ２−Ｐ４間の動き情報という）を求める必要がある。そこで、本実施形態における動き情報算出回路２では、次の方法により、このＰ２−Ｐ４間の動き情報の算出を行う。
【００４１】
図３において、処理対象ＭＢとあるのは、処理対象フレーム（Ｐ４フレーム）を構成する各マクロブロックの中の１つである。ここで、処理対象ＭＢの画像に類似したマクロブロック（以下、第１参照ＭＢという）が第１参照フレーム（Ｐ３フレーム）に含まれている場合、この第１参照ＭＢから処理対象ＭＢまでの移動に対応した動き情報Ｖ０が、処理対象フレーム（Ｐ４フレーム）の符号化データの中に含まれている。従って、処理対象ＭＢの処理対象フレーム内での位置とこの動き情報Ｖ０とにより第１参照ＭＢの第１参照フレーム内での位置を求めることができる。
【００４２】
しかし、この第１参照ＭＢに類似した画像（以下、第２参照ＭＢという）が第２参照フレーム（Ｐ２フレーム）に含まれていたとしてもその画像の所在位置を第１参照フレーム（Ｐ３フレーム）の動き情報から直接求めることはできない。その理由は次の通りである。
【００４３】
一般的に、第１参照ＭＢは、第１参照フレーム（Ｐ３フレーム）を分割した各マクロブロックのいずれとも一致せず、通常は、図示のように、４個のマクロブロックに跨った状態となる。ここで、動き情報はフレームを構成する各マクロブロック毎に定められている情報であり、第１参照ＭＢが跨っている４個のマクロブロックについては動き情報Ｖ１〜Ｖ４が定まっている。しかし、これらのマクロブロックはいずれも第１参照ＭＢとは一致しない。このように、第１参照フレーム（Ｐ３フレーム）の符号化データには、第１参照ＭＢに対応した動き情報が存在しないので、第２参照フレーム（Ｐ２フレーム）における第２参照ＭＢの所在位置を第１参照フレーム（Ｐ３フレーム）の動き情報から直接求めることはできないのである。
【００４４】
そこで、この動き情報算出回路２では、次のようにして、第２参照ＭＢから処理対象ＭＢまでの移動に対応した動き情報を算出する。
ステップＳ１：まず、動き情報算出回路２は、第１参照ＭＢが跨っている４個のマクロブロックの中から、第１参照ＭＢと重複している部分の面積が最も大きいマクロブロックに対応した動き情報を選択する。図３に示す例では、４個のマクロブロックのうちマクロブロックｂ４が、第１参照ＭＢとの間の重複部分の面積が最も大きいので、このマクロブロックｂ４に対応した動き情報Ｖ４が選択されることとなる。
ステップＳ２：次に、動き情報算出回路２は、処理対象ＭＢに対応した動き情報Ｖ０と、上記ステップＳ２において求めた動き情報Ｖ４を用いて、以下の演算を行い、第２参照ＭＢから処理対象ＭＢまでの移動に対応した動き情報の算出値Ｖｎｅｗを求める。
【数１】
0004153150.tif 000002
【００４５】
動き情報算出回路２は、以上説明した処理を、処理対象フレーム（Ｐ４フレーム）における各マクロブロックを処理対象ＭＢとして実行し、各マクロブロックについて、第２参照フレーム（Ｐ２フレーム）内の第２参照ＭＢ（各マクロブロックに対応したもの）から当該処理対象マクロブロックまでの移動に対応した動き情報の算出値Ｖｎｅｗを求めるのである。
また、図１に例示するように間引かれるフレームが複数ある場合、動き情報算出回路２は、間引かれるフレームが参照しているフレームと間引かれるフレームを参照しているフレームとの間の動き情報の算出値を上記と同様な手順により求める。
【００４６】
次に、ＤＣＴ係数算出回路５の処理内容について詳述する。図４には、処理対象フレーム（Ｐ４フレーム）に含まれる各処理対象ＭＢのうちの１個が示されている。各処理対象ＭＢは、図示のように４個のブロックにより構成されている。本実施形態が前提とするフレーム間予測符号化方法では、このブロック単位で、フレーム間の差分画像のＤＣＴが行われる。以下では、図示の処理対象ＭＢ内の１つのブロック（以下、処理対象ブロックという）に対応した差分画像のＤＣＴ係数の修正手順を取り上げる。
【００４７】
まず、図４には第１参照フレーム（Ｐ３フレーム）における１つのＭＢが示されており、このＭＢは、フレームＰ４の処理対象ブロックの画像に類似した第１参照ブロックｂ’を含んでいる。以下、便宜上、このブロックｂ’を第１参照ブロックと呼ぶ。
【００４８】
この第１参照ブロックｂ’に対応した第２参照フレーム（Ｐ２フレーム）および第１参照フレーム（Ｐ３フレーム）間の差分画像のＤＣＴ係数が第１参照フレーム（Ｐ３フレーム）の符号化データから得られれば、このＤＣＴ係数を処理対象フレーム（Ｐ４フレーム）の処理対象ブロックに対応したＤＣＴ係数に加算することにより、処理対象ブロックに対応したＤＣＴ係数を第２参照フレームを参照した内容に修正することができる。しかしながら、逆量子化器４からＤＣＴ係数算出回路５に供給されるＤＣＴ係数は、各フレームを分割した各ブロックに対応したＤＣＴ係数であり、この中には第１参照ブロックｂ’に対応したＤＣＴ係数はない。そこで、本実施形態におけるＤＣＴ係数算出回路５では、次のようにして第１参照ブロックｂ’に対応したＤＣＴ係数を算出する。
【００４９】
まず、図４において、第１参照ブロックｂ’は、４個のブロックｂ１〜ｂ４に跨っている。ＤＣＴ係数算出回路５は、この第１参照ブロックｂ’のうちブロックｂ１内に侵入している部分の水平方向の長さｗ１と高さ方向の長さｈ１、ブロックｂ２内に侵入している部分の水平方向の長さｗ２と高さ方向の長さｈ２、ブロックｂ３内に侵入している部分の水平方向の長さｗ３と高さ方向の長さｈ３、ブロックｂ４内に侵入している部分の水平方向の長さｗ４と高さ方向の長さｈ４を各々求める。
【００５０】
次に、各ブロックｂｉ（ｉ＝１〜４）に対応したＤＣＴ係数の行列をＢｉ（ｉ＝１〜４）とした場合、ＤＣＴ係数算出回路５は、第１参照ブロックｂ’に対応したＤＣＴ係数の算出値の行列Ｂ’を次式により求める。
【数２】
0004153150.tif 000003
【００５１】
ここで、ＨＨｉはｈｈｉのＤＣＴ係数、ＨｗｉはｈｗｉのＤＣＴ係数であり、各ｈｈｉおよびｈｗｉは、次のように与えられる。
【数３】
0004153150.tif 000004
【数４】
0004153150.tif 000005
【数５】
0004153150.tif 000006
【数６】
0004153150.tif 000007
【００５２】
上記の各式においてＩｈｉやＩｗｉを用いた行列の表記の意味するところは次の通りである。すなわち、例えばｈｉ＝４であるとすると、上記各式は、次のように表される。
【数７】
0004153150.tif 000008
【数８】
0004153150.tif 000009
【００５３】
ＤＣＴ係数算出回路５は、以上のようにして、第２参照フレーム（Ｐ２フレーム）および第１参照フレーム（Ｐ３フレーム）間の差分画像であって第１参照ブロックｂ’に対応したもののＤＣＴ係数を算出すると、このＤＣＴ係数を処理対象ブロックのＤＣＴ係数に加算し、第２参照フレーム（Ｐ２フレーム）および処理対象フレーム（Ｐ４フレーム）間の動き補償後の差分画像であって処理対象ブロックに対応したもののＤＣＴ係数を得るのである。
【００５４】
そして、ＤＣＴ係数算出回路５は、処理対象フレーム（Ｐ４フレーム）内の他のブロックについても、以上と同様な処理を行い、処理対象フレーム内の全ブロックのＤＣＴ係数を修正する。
以上、Ｐ３フレームを間引く場合を例に説明したが、他のフレームを間引く場合も同様である。
以上が本実施形態に係るトランスコーディング装置の詳細である。
【００５５】
図５は、本実施形態に係るトランスコーディング装置を構成するに当たり、従来技術に係るトランスコーディング装置に含まれていたもののうち削除したものを示している。本実施形態によれば、符号化データから画像を復号することなく、符号化データのまま加工することにより、特定フレームの間引きを行った符号化データを生成するので、画像の復号のための逆ＤＣＴ、復号された画像を再符号化するためのＤＣＴ、逆量子化、逆ＤＣＴ、動き予測および補償が不要となる。このため、これらの不要な変換によって生じる誤差をなくし、トランスコーディングに伴う画質の劣化を低減することができ、かつ、トランスコーディングのための演算量や演算時間を大幅に削減することができる。また、符号化データから画像を復号しないので、復号した画像を格納するためのメモリが不要であり、トランスコーディング装置のハードウェアを小規模にすることができる。
【００５６】
Ａ−３．動き情報算出アルゴリズムの他の例
以上説明した第１の実施形態では、動く情報算出回路２（図２）によって実行される動き情報算出アルゴリズムの一例が示された。しかしながら、動き情報算出回路２によって実行され得る動き情報算出アルゴリスムには他に例がある。
【００５７】
Ａ−３−１．例１
本例は、ＭＰＥＧ−４あるいはＨ．２６３のようなブロック毎に動き補償を行うことができる符号化データに好適なトランスコーディング方法およびトランスコーディング装置を提供するものである。本例では、上記第１の実施形態における動き情報算出回路２（図２参照）の動き情報算出アルゴリズムが図６に示すものに変更されている。以下、Ｐ４フレームを処理対象フレーム、Ｐ３フレームを第１参照フレーム、Ｐ２フレームを第２参照フレームとし、Ｐ３フレーム（第１参照フレーム）を間引く場合を想定し、本例による動き情報算出アルゴリズムについて説明する。
【００５８】
このアルゴリズムでは、以下の手順により動き情報の算出を行う。
ステップ１：まず、処理対象フレームにおける処理対象マクロブロックに対応した動き情報Ｖ０を求め、この動き情報Ｖ０から、第１参照フレームにおける当該処理対象マクロブロックに対応した第１参照マクロブロックを求める。
【００５９】
ステップ２：次に、第１参照フレームにおいて第１参照マクロブロックを分割した各第１参照ブロック毎に、第１参照フレームにおける各マクロブロックのうち当該第１参照ブロックと重複している部分の面積が最も広いマクロブロックに対応した動き情報を求める。図１４の例では、左上の第１参照ブロックについては、左上のマクロブロックｂ１と重複している面積が最も広いので、この左上のマクロブロックｂ１に対応した動き情報Ｖ１が第１参照フレームの符号化データの中から選択されることとなる。また、右上の第１参照ブロックについては、右上のマクロブロックｂ２と重複している面積が最も広いので、この右上のマクロブロックｂ２に対応した動き情報Ｖ２が第１参照フレームの符号化データの中から選択されることとなる。また、左下の第１参照ブロックについては、左下のマクロブロックｂ３と重複している面積が最も広いので、この左下のマクロブロックｂ３に対応した動き情報Ｖ３が第１参照フレームの符号化データの中から選択されることとなる。最後に、右下の第１参照ブロックについては、右下のマクロブロックｂ４と重複している面積が最も広いので、この右下のマクロブロックｂ４に対応した動き情報Ｖ４が第１参照フレームの符号化データの中から選択されることとなる。
【００６０】
ステップ３：上記ステップ１の動き情報Ｖ０とステップＳ２において各第１参照ブロック毎に選択した動き情報Ｖ１〜Ｖ４から、次の演算により、第２参照フレームから処理対象フレームにおける処理対象マクロブロックを分割した４個のブロックまでの動き情報Ｖ１ｎｅｗ〜Ｖ４ｎｅｗを求める。
【数９】
0004153150.tif 000010
【００６１】
この動き情報算出アルゴリズムによれば、処理対象マクロブロックを分割した各ブロックについて、参照画像との間の動き情報が得られるので、各ブロック毎に動き補償が可能な符号化方法に対して最適なトランスコーディングを行うことができる。
【００６２】
Ａ−３−２．例２
次に、図７（ａ）に示す動き情報算出アルゴリズムでは、以下の手順により動き情報の算出を行う。
ステップ１：まず、処理対象フレームの符号化データから処理対象マクロブロックに対応した動き情報Ｖ０を求め、この動き情報Ｖ０から、第１参照フレームにおける当該処理対象マクロブロックに対応した第１参照マクロブロックを求める。
ステップ２：次に、第１参照フレームにおいて各マクロブロックのうち第１参照マクロブロックと重複しているマクロブロックｂ１〜ｂ４を求め、これらのマクロブロックｂ１〜ｂ４のうち第１参照マクロブロックと重複している部分の面積が最も広いマクロブロックに対応した動き情報を求める。図７（ａ）の例では、図示された４個のマクロブロックｂ１〜ｂ４のうち右下に図示されたマクロブロックｂ４と第１参照マクロブロックとの重複部分の面積が最も広いので、このマクロブロックｂ４に対応した動き情報Ｖ４が第１参照フレームの符号化データの中から選択されることとなる。
【００６３】
ステップ３：次に、第１参照フレームにおいて、第１参照マクロブロックの中心からこの第１参照マクロブロックとの重複部分の面積が最も広いマクロブロックｂ４の中心までの動き情報ΔＶ４を求める（図７（ｂ）参照）。
ステップＳ４：上記ステップ１の動き情報Ｖ０と、ステップ２において求めた動き情報Ｖ４と、ステップ３において求めた動き情報ΔＶ４とから、次の演算により、第２参照レームから処理対象フレームにおける処理対象マクロブロックまでの動き情報Ｖｎｅｗを求める。
【数１０】
0004153150.tif 000011
【００６４】
Ａ−４．ＤＣＴ係数算出アルゴリズムの他の例
次に図７を参照し、本実施形態におけるＤＣＴ係数算出回路のＤＣＴ係数算出アルゴリズムについて説明する。本実施形態では、次の手順によりＰ３フレーム（第１参照フレーム）間引き後の処理対象ＭＢに対応したＤＣＴ係数を算出する。
ステップＳ１：まず、Ｐ４フレーム（処理対象フレーム）の符号化データの中から処理対象ＭＢに対応したＤＣＴ係数（すなわち、処理対象ＭＢと第１参照ＭＢの差分のＤＣＴ係数）を求める。
ステップＳ２：次に、間引かれるＰ３フレームにおいて第１参照ＭＢと重複しているマクロブロックｂ１〜ｂ４のうち第１参照ＭＢと重複している部分の面積が最も広いマクロブロックｂ４に対応したＤＣＴ係数（すなわち、マクロブロックｂ４と参照ＭＢとの差分のＤＣＴ係数）を求める。
ステップＳ３：次に、ステップＳ１において求めた処理対象ＭＢに対応したＤＣＴ係数と、ステップＳ２において求めたマクロブロックｂ４に対応したＤＣＴ係数とを加算し、この加算結果をＰ３フレーム間引き後における符号化ＭＢに対応したＤＣＴ係数とする。
【００６５】
本例の場合、単なるＤＣＴ係数の加算により処理対象ＭＢに対応したＤＣＴ係数を得ることができ、上記第１の実施形態における数２のような演算を行う必要がないので、演算量を削減することができるという利点がある。
なお、本例におけるＤＣＴ係数算出回路は、本例における動き情報算出回路の他、他の構成の動き情報算出回路と組み合わせてもよい。
【００６６】
Ａ−５．変形例１
以上説明した実施形態では、ピクチャグループの中のフレームの概念を使用して説明したが、フレームに限らず、本発明はフィールドを取り扱うＭＰＥＧ−２などの符号化方式にも適用可能である。例えばテレビジョン信号の場合、図８に例示するように、１つのフレームが２つのフィールドから構成されている。そして、隣り合ったフレームの奇数フィールド同士の間および偶数フィールド同士の間でフレーム間予測符号化が行われる。このようなフレーム間予測符号化により得られた符号化データのトランスコーディングを行う場合であっても、上記各実施形態において説明したものと基本的に同じ手順により動き情報およびＤＣＴ係数の算出を行うことができる。すなわち、フレーム内の各フィールドを処理対象フレームとし、上記各実施形態による動き情報の算出およびＤＣＴ係数の算出を行えばよいのである。
【００６７】
Ａ−６．変形例２
以上説明した実施形態では、ピクチャグループの中のＰフレームを間引いた。これに対し、本実施形態では、例えばＩＢＢＰという構成のピクチャグループにおいてＢフレームを間引き、その場合に残るＢフレームの符号化データの動き情報およびＤＣＴ係数を変更し、データ量を削減する。
【００６８】
以下、図９を参照し、本変形例に係るトランスコーディング方法について説明する。図９に示すピクチャグループにおいて、ＩフレームとＰフレームとの間には２個のＢフレームが介挿されている。これらのＢフレームは、いずれもＩフレームおよびＰフレームを参照することにより各々の符号化データが生成される。ここでは、これらのＢフレームのうちＰフレームの直前のＢフレームを間引くものとする。この間引きを行った場合、Ｉフレームの直後のＢフレームが残るが、このＢフレームは、次の３種類のマクロブロックを含んでいる。
【００６９】
ａ．順方向予測モードによりフレーム間予測符号化がなされたマクロブロック。すなわち、前フレーム（この例ではＩフレーム）のみを参照した動き情報を符号化データに含むマクロブロック。
ｂ．双方向予測モードによりフレーム間予測符号化がなされたマクロブロック。すなわち、前フレーム（この例ではＩフレーム）を参照した動き情報と後フレーム（この例ではＰフレーム）を参照した動き情報とを符号化データに含むマクロブロック。
ｃ．逆方向予測モードによりフレーム間予測符号化がなされたマクロブロック。すなわち、後フレーム（この例ではＰフレーム）のみを参照した動き情報を符号化データに含むマクロブロック。
【００７０】
本実施形態では、これらの３種類のマクロブロックａ〜ｃの符号化データを次のように処理する。
【００７１】
＜マクロブロックａの符号化データの処理＞
このマクロブロックの符号化データについては、動き情報（順方向）Ｖｆｏｒｗｏｒｄ（Ｂ）およびＤＣＴ係数をそのまま残す。
【００７２】
＜マクロブロックｂの符号化データの処理＞
このマクロブロックの符号化データについては、前フレームを参照した動き情報（順方向）Ｖｆｏｒｗｏｒｄ（Ｂ）のみを残し、後フレームを参照した動き情報（逆方向）Ｖｂａｃｋｗｏｒｄ（Ｂ）を廃棄する。また、動き補償後の差分画像のＤＣＴ係数については、そのまま残す。
【００７３】
＜マクロブロックｃの符号化データの処理＞
このマクロブロックの符号化データについては、当該マクロブロックを処理対象マクロブロックとし、後フレーム（Ｐフレーム）を上記各実施形態における間引かれるフレームとし、前フレーム（Ｉフレーム）を上記各実施形態における間引かれるフレームが参照している参照フレームとし、当該マクロブロックに対応した動き情報を参照フレームを参照した内容に変更するとともに、当該マクロブロックに対応したＤＣＴ係数も参照フレームを参照した内容に変更する。図９には上記第１の実施形態に開示された動き情報の算出方法を本変形例に適用した例が示されている。すなわち、この図９に示す例では、以下に示す手順により当該マクロブロックについて参照フレームを参照した動き情報を得ている。
【００７４】
ａ．符号化データから当該処理対象マクロブロックに対応した動き情報Ｖｂａｃｋｗｏｒｄ（Ｂ）を求める。
ｂ．動き情報Ｖｂａｃｋｗｏｒｄ（Ｂ）からＰフレームにおける当該処理対象マクロブロックに対応した第１参照マクロブロックを求める。
ｃ．Ｐフレームにおける各マクロブロックのうち第１参照マクロブロックと重複している部分の面積が最も広いマクロブロックに対応した動き情報Ｖｆｏｒｗｏｒｄ（ｐ）を求める。
ｄ．上記ａおよびｃの各動き情報から、下記式に従い、Ｐフレームの符号化データを生成するために参照されたＩフレームと当該処理対象マクロブロックとの間の動き補償のための動き情報Ｖｎｅｗを算出する。
【数１１】
0004153150.tif 000012
以上が本変形例における動き情報の算出処理の詳細である。
【００７５】
Ｂフレームに対応したＤＣＴ係数の変更も、以上の動き情報の場合と同様、上記第１の実施形態のものをそのまま利用することができる。
以上の処理を経ることにより、間引き後に残ったＢフレームは、前フレーム（この例ではＩフレーム）のみを参照したＰフレームとなる。
【００７６】
なお、以上の例では、第１の実施形態における動き情報およぶＤＣＴ係数の算出方法を利用する場合を例に挙げたが、他の実施形態における動き情報およぶＤＣＴ係数の算出方法を本実施形態に適用し得ることは言うまでもない。
また、以上の例では、ＩＢＢＰという構成においてＢフレームを間引く場合について説明したが、本実施形態は例えばＩＢＢＰＢＢＰという構成において２個のＰフレームの間の２個のＢフレームの一方を間引く場合にも適用可能である。
【００７７】
Ｂ．第２の実施形態
Ｂ−１．トランスコーディングの例
図１０（ａ）〜（ｃ）は本実施形態において行われるトランスコーディングの例を示す図である。まず、図１０（ａ）に示す例では、Ｉフレームと２個のＢフレームとＰフレームとからなるピクチャグループに対応した符号化データを、Ｉフレームと３個のＰフレームとからなるピクチャグループに対応した符号化データに変換するトランスコーディングを行っている。
【００７８】
この例において、トランスコーディング前のＢフレームに対応した符号化データは、その前のＩフレームの画像データとその後のＰフレームの画像データとを参照することにより生成されており、Ｉフレームとの間で動き補償（順方向予測）と行うための動き情報とＰフレームとの間で動き補償（逆方向予測）を行うための動き情報を含んでいる。
【００７９】
次に図１０（ｂ）に示す例では、上記図１０（ａ）に示す例において、２個のＢフレームのうち後の方のＢフレームに対応した符号化データを間引き、Ｉフレームの直後のＢフレームに対応した符号化データをＩフレームのみを参照したＰフレームの符号化データに変換し、このＰフレームを参照した内容となるようにピクチャグループ内の最後のＰフレームに対応した符号化データの変換を行う。
【００８０】
次に図１０（ｃ）に示す例では、Ｉフレームと３個のＰフレームからなるピクチャグループに対応した符号化データが与えられた場合において、３個のＰフレームのうち１個を間引き、Ｉフレームと２個のＰフレームからなるピクチャグループに対応した符号化データに変換する。
【００８１】
以上例示したように本発明の適用対象となるトランスコーディングでは、ある処理対象フレームの符号化データが他のフレーム（第１の参照フレーム）を参照して生成されたものである場合において、当該処理対象フレームの符号化データが第２の参照フレームを参照した内容に変更される。その際に、第２の参照フレームから当該処理対象フレームまでの動きに対応した動き情報が必要となる。従来のトランスコーディング装置では、この動き情報を求めるために、当該処理対象フレームの各マクロブロックに対応した画像と類似した画像を第２の参照フレームの画像の中から探索するという方法を採っていたので、演算量が膨大なものとなっていた。本発明は、このような動き情報の探索に代わる新たな技術的手段を提供し、トランスコーディングの際の演算量を削減するものである。
【００８２】
Ｂ−２．トランスコーディング装置
図１１は、この発明の一実施形態であるトランスコーディング装置の構成を示すブロック図である。図１１に示すように、このトランスコーディング装置は、復号器１０と、符号化器２０と、動き情報算出部４０と、動き情報修正部５０とを有している。
【００８３】
これらのうち復号器１０は、ある符号化アルゴリズムにより符号化された符号化データを受け取り、この符号化データから元の画像データを復元する手段であり、逆多重化器１１と、可変長復号器１２および１３と、逆量子化器１４と、加算器１６と、フレームメモリ１７と、動き補償部１８とを有している。
【００８４】
ここで、逆多重化装置１１は、Ｉフレーム以外の各フレームに対応した符号化データを、フレーム間予測符号化によって得られた差分画像のＤＣＴ係数を表す可変長符号と、動き情報の可変長符号とに分離する装置である。可変長復号器１２および１３は、逆多重化装置１によって分離されたＤＣＴ係数の可変長符号および動き情報の可変長符号を各々ＤＣＴ係数の量子化データおよび動き情報に戻す装置である。逆量子化器１４は、可変長復号器１２から得られるＤＣＴ係数の量子化データを逆量子化し、ＤＣＴ係数を出力する装置である。逆ＤＣＴ部１５は、逆量子化器１４から得られるＤＣＴ係数に逆ＤＣＴを施し、動き補償を伴うフレーム間予測符号化において得られた予測誤差を求める装置である。この予測誤差は、処理対象である符号化データを生成する際に、動き補償を行いながら、当該符号化データに対応した画像と当該符号化データを生成するために参照されたフレーム（第１の参照フレーム）の画像との減算を行うことにより得られた差分画像に相当するものである。フレームメモリ１７は、復号された画像データを格納するメモリである。動き補償部１８は、ある処理対象フレームに対応した予測誤差（差分画像）が逆ＤＣＴ部１５から加算器１６に出力されるときに、この処理対象フレームの符号化データの生成時に参照された第１の参照フレームの画像データをフレームメモリ１７から読み出し、これに対し、可変長復号器１３からの動き情報を用いた動き補償を施して加算器１６に出力する装置である。加算機１６は、この動き補償された参照フレームの画像データと、逆ＤＣＴ部１５からの予測誤差とを加算し、加算結果を処理対象フレームに対応した画像データとして出力する。以上説明した復号器１の構成および動作は、既に図１７（ｂ）および図１９を参照して説明した通りである。
【００８５】
次に、符号化器２０は、減算器２１と、ＤＣＴ部２２と、量子化器２３と、逆量子化器２４と、逆ＤＣＴ部２５と、加算器２６と、フレームメモリ２７と、動き補償部２８と、可変長符号化器２９および３０と、多重化器３１とを有している。
【００８６】
ここで、減算器２１は、復号器１側から供給される処理対象フレームに対応した画像データと、動き補償部２８から供給される動き補償のなされた参照画像データとの差分である予測誤差を算出する装置である。なお、参照画像データについては後述する。ＤＣＴ部２２は、減算器２１から得られる予測誤差に対してＤＣＴを施す装置であり、量子化器２３はこのＤＣＴ部２２から得られるＤＣＴ係数に量子化を施し、量子化データを出力する装置である。逆量子化器２４は、量子化器２３から出力された量子化データに逆量子化を施してＤＣＴ係数を出力する装置であり、逆ＤＣＴ部２５は、逆量子化器２４から出力されるＤＣＴ係数に逆ＤＣＴを施して予測誤差を復元する装置である。フレームメモリ２７は、参照フレームの画像データを記憶するためのメモリである。動き補償部２８は、ある処理対象フレームに対応した画像データが復号器１側から減算器２１に供給されるとき、フレームメモリ２７に記憶された当該処理対象フレームの符号化において参照された参照フレームに対応した画像データを読み出し、この画像データに対し、後述する動き情報修正部４から供給される動き情報を用いた動き補償を行う。そして、この動き補償により得られる参照画像データを減算器２１および加算器２６に供給する。加算器２６は、この動き補償済みの参照画像データと逆ＤＣＴ部２５から得られる予測誤差とを加算し、処理対象フレームに対応した画像データを出力する。この画像データは、後続のフレームの符号化の際に参照される参照フレームの画像データとしてフレームメモリ２４に書き込まれる。
【００８７】
以上説明した符号化器２０と、既に説明した従来のトランスコーディング装置における符号化器との間には大きな相違点がある。すなわち、従来のトランスコーディング装置の符号化器は動き予測および補償部１０６を有しており（図２４（ａ）参照）、この動き予測および補償部１０６が、参照フレームから処理対象フレームまでの動きに対応した動き情報の探索を行っていたのに対し、本実施形態における符号化器２０は、このような動き情報の探索のための手段を有していない。本実施形態における符号化器２０は、動き情報修正部５０から送られてくる動き情報を用いて参照フレームの画像データの動き補償を行うのである。本実施形態の特徴は、この動き情報を、従来に比して著しく少ない演算量により得ている点にある。本実施形態では、この動き情報を図１１における動き情報算出部４０および動き情報修正部５０により得ている。
【００８８】
次に動き情報算出部４０について説明する。この動き情報算出部４０は、復号器１の可変長復号器１３から得られる動き情報を用いて所定の演算を行うことにより、トランスコーディング後の符号化データに含めるべき動き情報を算出する装置である。さらに詳述すると、次の通りである。例えば図１０（ａ）に例示するトランスコーディングを行う場合、Ｉフレームの直後のＢフレームを処理対象フレームとすると、この処理対象フレームに対応した符号化データは、ＩフレームおよびＰフレーム（第１の参照フレーム）の画像データを参照することにより生成されており、Ｉフレームから当該処理対象フレームまでの動きに対応した動き情報とＰフレームから当該処理対象フレームまでの動きに対応した動き情報とを含んでいる。そして、トランスコーディングでは、この処理対象フレームの符号化データをＩフレーム（第２の参照フレーム）のみを参照した符号化データに変換する。このＩフレーム（第２の参照フレーム）のみを参照した符号化データを得るため、動き情報算出部３は、少なくとも当該処理対象フレームの符号化データに含まれていた動き情報を用いて、Ｉフレーム（第２の参照フレーム）から当該処理対象フレームまでの動きに対応した動き情報を算出するのである。なお、この動き情報の算出アルゴリズムは幾つか適当なものがあるので、後にまとめて詳述する。
【００８９】
次に動き情報修正部５０について説明する。動き情報算出部４０から得られる動き情報は、動き情報の探索により得られたものではなく、既存の動き情報に演算を施すことにより得られるものである。このため、あまり正確でない動き情報が得られる場合がある。そこで、本実施形態では、動き情報算出部３から得られた動き情報が正確なものであるといえるか否かを判定し、正確なものであると認められる場合には、その動き情報をそのまま符号化器２０に送る。これに対し、動き情報算出部４０から得られた動き情報が正確なものでないと認められる場合には、フレームメモリ１７内に記憶された第２の参照フレームの画像データの中から処理対象フレームの画像に近似した画像を探索し、第２の参照フレームから処理対象フレームまでの動きに対応した動き情報を求める。動き情報修正部５０は、このような機能を営む手段である。なお、動き情報算出部３から得られた動き情報が正確なものであるといえるか否かを判定するための処理の具体的内容および探索により動き情報を求める処理の詳細については、説明の重複を避けるため、本実施形態の動作の項において説明する。
【００９０】
以下、図１０（ａ）に示すトランスコーディングを行う場合を例に挙げ、本実施形態の動作について説明する。なお、本実施形態に係るトランスコーディング装置は、動き情報算出部４０および動き情報修正部５０を有し、これらにより得られる動き情報を符号化器２０側において使用する点において、従来のトランスコーディング装置と相違している。従って、以下では、動き情報算出部４０および動き情報修正部５０の各々の動作を中心に説明する。
【００９１】
（１）動き情報算出部４０の動作
まず、図１２〜図１４を参照し、図１０（ａ）に示すトランスコーディングを行う場合における動き情報算出部４０の動作について説明する。
【００９２】
図１２〜図１４において、トランスコーディング前のＩフレームとＰフレームの間には２個のＢフレームが介挿されている。動き情報算出部３は、これらのＢフレームを直前のフレームのみを参照したＰフレームとするのに必要な動き情報算出処理および最後のＰフレームを直前のＰフレーム（元々はＢフレームであったもの）のみを参照したＰフレームとするのに必要な動き情報算出処理を実行する。
【００９３】
＜Ｉフレームの直後のＢフレームに対応した処理＞
本実施形態では、このＢフレームに含まれる次の３種類のマクロブロックを取り扱う。
ａ．順方向予測モードによりフレーム間予測符号化がなされたマクロブロック。すなわち、前フレーム（この例ではＩフレーム）のみを参照した動き情報を符号化データに含むマクロブロック。
ｂ．双方向予測モードによりフレーム間予測符号化がなされたマクロブロック。すなわち、前フレーム（この例ではＩフレーム）を参照した動き情報と後フレーム（この例ではＰフレーム）を参照した動き情報とを符号化データに含むマクロブロック。
ｃ．逆方向予測モードによりフレーム間予測符号化がなされたマクロブロック。すなわち、後フレーム（この例ではＰフレーム）のみを参照した動き情報を符号化データに含むマクロブロック。
なお、Ｉフレームの直後のものに限らず、２番目のＢフレームも同様である。
【００９４】
動き情報算出部３は、Ｉフレームの直後のＢフレームに関し、３種類のマクロブロックａ〜ｃに対応したトランスコーディング後の動き情報を次のようにして算出する。
【００９５】
まず、このマクロブロックａについては、当該マクロブロックの符号化データから分離された動き情報（順方向）Ｖｆｏｒｗａｒｄ（Ｂ）をそのままトランスコーディング後の動き情報とする。次に、マクロブロックｂについては、当該マクロブロックの符号化データから分離された動き情報のうち、前フレームを参照した動き情報（順方向）Ｖｆｏｒｗａｒｄ（Ｂ）のみをトランスコーディング後の動き情報とし、後フレームを参照した動き情報（逆方向）Ｖｂａｃｋｗａｒｄ（Ｂ）を廃棄する。
【００９６】
次に、マクロブロックｃについてであるが、このマクロブロックｃに対応した符号化データは、Ｐフレーム（第１参照フレーム）との間の動き補償のための動き情報Ｖｂａｃｋｗａｒｄ（Ｂ）しか含んでおらず、トランスコーディング後の参照先であるＩフレーム（第２参照フレーム）との間の動き補償のための動き情報を含んでいない。一方、Ｐフレーム（第１参照フレーム）を構成する各マクロブロックの符号化データは、Ｉフレーム（第２参照フレーム）との間の動き補償のための動き情報Ｖｆｏｒｗａｒｄ（Ｐ）を含んでいる。そこで、動き情報算出回路３は、動き情報Ｖｂａｃｋｗａｏｒｄ（Ｂ）およびＶｆｏｒｗａｒｄ（Ｐ）を用いた演算により、当該マクロブロックｃとＩフレーム（第２参照フレーム）との間の動き補償のための動き情報の予測値を求める。
【００９７】
ここで、図１５を参照し、この動き情報の予測値の算出方法の一例を説明する。
ステップ１：まず、処理対象であるマクロブロックｃの符号化データから分離された動き情報Ｖｂａｃｋｗａｒｄ（Ｂ）を取得する。この動き情報Ｖｂａｃｋｗａｒｄ（Ｂ）は、Ｐフレーム（第１参照フレーム）に含まれる当該処理対象マクロブロックｃに対応したマクロブロック（第１参照マクロブロック）から当該処理対象マクロブロックｃまでの動きに対応している。
【００９８】
ステップ２：上記動き情報Ｖｂａｃｋｗａｒｄ（Ｂ）からＰフレーム（第１参照フレーム）における当該マクロブロックｃに対応した第１参照マクロブロックを求める。
ステップ３：Ｐフレーム（第１参照フレーム）における各マクロブロックのうち上記第１参照マクロブロックと重複している部分の面積が最も広いマクロブロックに対応した動き情報Ｖｆｏｒｗａｒｄ（Ｐ）を求める。図１５に示す例において第１参照マクロブロックは、マクロブロックｂ１〜ｂ４に跨っており、これらのうちマクロブロックｂ４と重複している部分の面積が最も広い。従って、このマクロブロックｂ４に対応した動き情報Ｖ４が動き情報Ｖｆｏｒｗａｒｄ（Ｐ）として選択されることとなる。
【００９９】
ステップ４：上記動き情報Ｖｂａｃｋｗａｒｄ（Ｂ）およびＶｆｏｒｗａｒｄ（Ｐ）から、下記式に従い、当該マクロブロックｃのトランスコーディング後の予測動き情報Ｖｆｏｒｗａｒｄ（Ｂ）を算出する。
【数１２】
0004153150.tif 000013
以上がＩフレームの直後のＢフレームに対応したトランスコーディング後の動き情報の算出方法の詳細である。
【０１００】
＜２番目のＢフレームに対応した処理＞
次に図１３を参照し、２番目のＢフレームに対応した処理を説明する。この２番目のＢフレームも、Ｉフレームの直後のＢフレームと同様、上記３種類のマクロブロックａ〜ｃを含んでいる。また、処理対象フレームである２番目のＢフレームとそのトランスコーディング前の参照先である第１参照フレーム（ＩフレームのＢフレーム）との時間差と、同処理対象フレームとそのトランスコーディング後の参照先である第２参照フレーム（Ｉフレームの直後のＢフレーム）との間差を比較すると、後者は前者の１／２である。そこで、動き情報算出部３は、３種類のマクロブロックａ〜ｃに対応したトランスコーディング後の動き情報を次のような線形補間により算出する。
【０１０１】
まず、このマクロブロックａについては、当該マクロブロックの符号化データから分離された動き情報（順方向）Ｖｆｏｒｗａｒｄ（Ｂ）を取得し、Ｖｆｏｒｗａｒｄ（Ｂ）／２をトランスコーディング後の動き情報とする。次に、マクロブロックｂについては、当該マクロブロックの符号化データから分離された動き情報のうち、前フレームを参照した動き情報（順方向）Ｖｆｏｒｗａｒｄ（Ｂ）を取得し、Ｖｆｏｒｗａｒｄ（Ｂ）／２をトランスコーディング後の動き情報とする。次に、マクロブロックｃについては、上述したＩフレームの直後のＢフレームの場合と同様な方法により、当該マクロブロックｃとＩフレーム（第２参照フレーム）における対応するマクロブロックとの間の動き補償のための予測動き情報Ｖｆｏｒｗａｒｄ（Ｂ）を求め、Ｖｆｏｒｗａｒｄ（Ｂ）／２をトランスコーディング後の動き情報とする。以上が２番目のＢフレームに対応したトランスコーディング後の動き情報の算出方法の詳細である。画像の動きが比較的緩やかな場合には、このような線形補間によっても、動き情報探索によって得られるものに比較的近い動き情報の予測値が得られると考えられる。
【０１０２】
＜最後のＰフレームに対応した処理＞
次に図１４を参照し、最後のＰフレームに対応した処理を説明する。このＰフレームを構成する各マクロブロックは、全て先頭のＩフレーム（第１参照フレーム）を参照することにより符号化データが生成されている。また、この処理対象フレームであるＰフレームとそのトランスコーディング前の参照先である第１参照フレーム（Ｉフレーム）との時間差と、同処理対象フレームとそのトランスコーディング後の参照先である第２参照フレーム（２番目のＢフレーム）との時間差を比較すると、後者は前者の１／３である。そこで、動き情報算出部３は、この処理対象フレームにおけるトランスコーディング後の動き情報を次のような線形補間により算出する。すなわち、各マクロブロックについて、当該マクロブロックの符号化データから分離された動き情報（順方向）Ｖｆｏｒｗａｒｄ（Ｐ）を取得し、Ｖｆｏｒｗａｒｄ（Ｐ）／３をトランスコーディング後の動き情報とするのである。以上が最後のＰフレームに対応したトランスコーディング後の動き情報の算出方法の詳細である。
【０１０３】
（２）動き情報修正部５０の動作
動き情報算出部４０から得られる動き情報は、以上説明したように既存の動き情報をそのまま流用し、あるいは既存の動き情報に所定の演算を施すことにより得られるものであるため、あまり正確でない動き情報が得られる場合がある。動き情報修正部５０は、この動き情報算出部４０によって得られた動き情報が正確なものであるといえるか否かを判定し、正確なものでないと認められる場合には、これに代わる動き情報を生成して符号化器２０に供給する。図１６は、この動き情報修正部４の動作を示すフローチャートである。動き情報修正部５０は、処理対象フレームを構成する各マクロブロック（以下、処理対象マクロブロックという）毎にこのフローチャートに示す処理を実行する。
【０１０４】
まず、動き情報修正部５０は、動き情報算出部３によって算出された動き情報（以下、動き情報ＭＥｎｅｗという）を用いて、処理対象マクロブロックに対応した第２参照マクロブロックのフレーム内の位置を求め、この第２参照マクロブロックに対応した画像データをフレームメモリ１７から読み出す。次に、動き情報修正部４は、加算器１６から得られた処理対象マクロブロックの画像データから第２参照マクロブロックに対応した画像データを差し引き、予測誤差（以下、第２の予測誤差という）を算出する（以上、ステップＳ１）。
【０１０５】
次に、動き情報修正部５０は、逆ＤＣＴ部１５から出力される当該処理対象マクロブロックに対応した予測誤差（当該処理対象マクロブロックと第１参照マクロブロックとの差分画像。以下、第１の予測誤差という。）を取得し、次式に示す条件が成立するか否かを判断する（ステップＳ２）。
【数１３】
0004153150.tif 000014
ただし、αは所定の定数である。
【０１０６】
上記式（１３）に示す条件が満たされる場合、動き情報修正部５０は、動き情報ＭＥｎｅｗが正確な動き情報であるとみなし、その動き情報ＭＥｎｅｗを第２参照マクロブロックから当該処理対象ブロックまでの動きに対応した動き情報として符号化器２に送る（ステップＳ５）。
【０１０７】
一方、上記式（１３）に示す条件が満たされない場合、動き情報修正部５０は、動き情報ＭＥｎｅｗが不正確な動き情報であるとみなし、動き情報ＭＥｎｅｗに基づき動き情報の探索範囲を決定し（ステップＳ３）、この探索範囲内において動き情報ＭＥｎｅｗに代わる正確な動き情報を探索する（ステップＳ４）。
以下、これらの処理について、図１７〜図１９を参照して説明する。
【０１０８】
まず、図１７は、図１０（ａ）に示すトランスコーディングを行う場合において、Ｉフレームの直後のＢフレームに含まれるマクロブロックが処理対象マクロブロックである場合の動き情報の探索範囲の決定方法を説明するものである。
【０１０９】
ここで、Ｉフレームの直後のＢフレームの場合、トランスコーディング後の参照先である第２参照フレームは、Ｉフレームとなる。そこで、動き情報修正部４は、動き情報算出回路３によって算出された動き情報（図１７ではＶｆｏｒｗａｒｄ（Ｂ））を用いて当該処理対象マクロブロックに対応した第２参照マクロブロックの位置を求める。図１７ではこの第２参照マクロブロックがＩフレームを表す矩形の中に破線で示されている。動き情報修正回路５０は、第２参照フレームであるＩフレームを構成する各マクロブロックのうち第２参照ブロックと重複している部分を有する４個のマクロブロックを求める。この４個のマクロブロックが、処理対象マクロブロックに対応した動き情報の探索範囲である。
【０１１０】
このようにして動き情報の探索範囲が定まると、動き情報修正部５０は、第２参照フレーム（Ｉフレーム）に対応した画像のうちこの探索範囲内のものの中から、処理対象マクロブロックの画像との間の予測誤差が最も小さいものを探索する。そして、この探索により得られた参照画像から処理対象マクロブロックまでの動きに対応した動き情報を求める。
【０１１１】
次に、図１８は、図１０（ａ）に示すトランスコーディングを行う場合において、２番目のＢフレームに含まれるマクロブロックが処理対象マクロブロックである場合の動き情報の探索範囲の決定方法を説明するものである。また、図１９は、最後のＰフレームに含まれるマクロブロックが処理対象マクロブロックである場合の動き情報の探索範囲の決定方法を説明するものである。これらの場合における動き情報修正部５０の動作は、既に説明したＩフレームの直後のＢフレームの場合と同様である。すなわち、動き情報修正部５０は、処理対象フレームの直前の第２参照フレームを構成する各マクロブロックのうち第２参照マクロブロックと重複する各マクロブロックを求め、これらのマクロブロックを探索範囲として動き情報の探索を行うのである。
【０１１２】
以上が図１６におけるステップＳ３およびＳ４に対応した動き情報修正部５０の処理内容である。動き情報修正部５０は、このようにして得られた動き情報を第２参照マクロブロックから当該処理対象ブロックまでの動きに対応した動き情報として符号化器２０に送る（ステップＳ５）。
【０１１３】
（３）符号化器２０の動作
符号化器２０には、復号器１０から出力された処理対象フレームの各マクロブロック（処理対象マクロブロック）の画像データと、動き情報修正部５０によって出力された各処理対象マクロブロックに対応した動き情報とが供給される。そして、符号化器２０における動き補償部２８は、動き情報修正部５０から受け取った各処理対象マクロブロックに対応した動き情報を用いて、各処理対象マクロブロックに対応した第２参照マクロブロックの位置を各々求める。そして、この各処理対象マクロブロックに対応した第２参照ブロックの画像データをフレームフレームメモリ２７から読み出して減算器２１に送る。
【０１１４】
減算器２１は、これらの各第２参照マクロブロックの画像データを各々に対応した処理対象マクロブロックの画像データから減算し、各々予測誤差として出力する。この予測誤差は、ＤＣＴ部２２によってＤＣＴ係数に変換され、量子化器２３によって量子化データとされる。この量子化データは、逆量子化器２４および逆ＤＣＴ部２５を介することにより予測誤差に戻られる。加算器２６は、動き補償部２８から出力された第２参照マクロブロックの画像データとこの予測誤差とを加算し、処理対象マクロブロックに対応した画像データとしてフレームメモリ２７に書き込む。
【０１１５】
一方、量子化器２３から出力された量子化データは、可変長符号化器２９によって可変長符号とされる。また、動き情報修正部４からの動き情報は可変長符号化器３０によって可変長符号とされる。これらの可変長符号は、多重化器３１によって多重化され、処理対象フレームに対応したトランスコーディング後の符号化データとして出力される。
【０１１６】
このように本実施形態によれば、符号化器２０側での動き情報探索は行われず、トランスコーディングの際の動き情報の探索のための演算量が大幅に削減されるので、トランスコーディングの効率を著しく高めることができる。
【０１１７】
Ｂ−３．他のトランスコーディングにおける動作例
以上説明した実施形態では、図１０（ａ）に示すトランスコーディングを行う場合を例に挙げたが、ここでは他のトランスコーディングを行う場合の動作例を説明する。
【０１１８】
まず、図２０を参照し、図１０（ｂ）に示すトランスコーディングを行う場合における動き情報算出部４０の動作を説明する。図２０において、Ｉフレームの直後のＢフレームのトランスコーディング後の動き情報の算出方法は上記実施形態において説明した通りである。次に、図２０における２番目のＢフレームは、トランスコーディングの際に間引かれる。
【０１１９】
そして、ピクチャグループの最後のＰフレームのトランスコーディング後の動き情報は次のようにして求める。まず、図２０に示すように、トランスコーディング前にＩフレームを参照フレームとしていたＰフレームは、トランスコーディング後、Ｉフレームの直後のＰフレーム（元はＢフレームであったもの）を参照したフレームとなる。ここで、ＩフレームとＰフレームとの間の時間差と、トランスコーディング前のＩフレームの直後のＰフレームと最後のＰフレームとの時間差とを比較すると、後者は前者の２／３となる。そこで、動き情報算出部３は、最後のＰフレームの各マクロブロックに対応した動き情報Ｖ（Ｐ）を取得し、２Ｖ（Ｐ）／３をトランスコーディング後の動き情報とする。
【０１２０】
次に、図２１を参照し、図１０（ｃ）に示すトランスコーディングを行う場合における動き情報算出部４０の動作を説明する。図２１において、Ｉフレームの直後のＰフレームは、トランスコーディングの前後において参照先であるフレームに変化がない。従って、このＰフレームは、動き情報算出部３の処理対象とならない。２番目のＰフレームは、トランスコーディングの際に間引かれる。従って、この２番目のＰフレームも動き情報算出部３の処理対象とならない。
【０１２１】
次に、ピクチャグループの最後のＰフレームは、トランスコーディング前の参照先である第１参照フレームは２番目のＰフレームであるが、トランスコーディング後の参照先である第２参照フレームはＩフレームの直後の１番目のＰフレームである。そこで、動き情報算出部３は、処理対象フレームたる最後のＰフレームを構成する各処理対象マクロブロックについて、以下の手順により第２参照フレームと当該処理対象フレームとの間の動きに対応した動き情報の予測値Ｖｆｏｒｗａｒｄ（Ｐ）を算出する。
【０１２２】
ステップ１：まず、最後のＰフレーム中の処理対象マクロブロックに対応した動き情報Ｖｆｏｒｗａｒｄ（Ｐ）を用いて、第１参照フレーム（２番目のＰフレーム）における当該処理対象マクロブロックに対応した第１参照マクロブロックを求める。
ステップ２：次に第１参照フレームにおける各マクロブロックのうち上記第１参照マクロブロックと重複している部分の面積が最も広いマクロブロックに対応した動き情報Ｖｆｏｒｗａｒｄ（Ｐ）を求め、この動き情報Ｖｆｏｒｗａｒｄ（Ｐ）と上記ステップ１において求めた動き情報Ｖｆｏｒｗａｒｄ（Ｐ）を加算する。この結果、第２参照フレーム（１番目のＰフレーム）と当該処理対象フレームとの間の動きに対応した動き情報の予測値Ｖｆｏｒｗａｒｄ（Ｐ）が得られる。
【０１２３】
以上が図１０（ｂ）および（ｃ）に例示するようなフレームの間引きを伴うトランスコーディングを行う場合の動き情報算出回路３の動作である。動き情報修正部５０および他の部分の動作は上記実施形態と何等変わるところはない。図２２には、図１０（ｃ）に例示するトランスコーディングを行う場合において、動き情報算出部４０によって算出された最後のＰフレーム内の処理対象マクロブロックに対応した動き情報が不正確なものであり、動き情報修正部５０が動き情報の探索を行う場合における探索範囲の決定方法を示されている。この図に示すように、動き情報修正部５０は、動き情報算出部４０によって算出された動き情報を用いて第２参照フレーム（１番目のＰフレーム）内の第２参照マクロブロックを求め、この第２参照マクロブロックと重複している第２参照フレーム内の各マクロブロックを探索範囲として動き情報の探索を行うのである。
【０１２４】
Ｂ−４．フレームが２つのフィールドによって構成されている場合の実施形態
以上説明した実施形態では、ピクチャグループの中のフレームの概念を使用して説明したが、フレームに限らず、本実施形態は上記第１実施形態と同様、図８に示すように、フィールドを取り扱うＭＰＥＧ−２などの符号化方式にも適用可能である。すなわち、フレーム内の各フィールドを処理対象フレームとし、上記実施形態による動き情報の算出および修正を行えばよいのである。
【０１２５】
Ｃ．第３の実施形態
図２３はこの発明の第３の実施形態であるトランスコーディング装置の構成を示すブロック図である。図２３に示すように、このトランスコーディング装置は、入力部６１と、バッファ６２と、切換制御部６３と、切換部６４と、第１トランスコーディング部７０と、第２トランスコーディング部８０とを有している。
【０１２６】
入力部６１は、逆多重化器６１Ａと、可変長復号器６１Ｂおよび６１Ｃと、逆量子化器６１Ｄとを有している。
【０１２７】
ここで、逆多重化器６１Ａは、Ｉフレームを除いた他のフレームの符号化データをフレーム間予測符号化により得られた差分画像のＤＣＴ係数の可変長符号と動き情報の可変長符号とに分離する装置である。可変長復号器６１Ｂおよび６１Ｃは、逆多重化器６１Ａによって分離されたＤＣＴ係数の可変長符号と動き情報の可変長符号をＤＣＴ係数の量子化データと動き情報に戻す装置である。バッファ６２は、可変長復号器６１Ｃからの動き情報と逆量子化器６１ＤからのＤＣＴ係数とを受け取り、最近の所定個数のフレームに対応した動き情報およびＤＣＴ係数を記憶する。最近の所定個数のフレームとは、例えばピクチャグループである。１つのピクチャグループに対応したＤＣＴ係数および動き情報の格納が終了すると、その格納されたＤＣＴ係数および動き情報がバッファ６２から読み出されるとともに、次のピクチャグループに対応したＤＣＴ係数および動き情報の格納が開始される。
【０１２８】
切換制御部６３は、バッファ６２内の動き情報を監視し、動画像の動きが速いか否かを動き情報に基づいて判定し、この判定結果に基づいて切換部６４を制御する。 切換部６４は、切換制御部６３による制御の下、所定個数のフレームに対応したＤＣＴ係数および動き情報をバッファ６２から第１トランスコーディング部７０または第２トランスコーディング部８０に転送する。
【０１２９】
第１トランスコーディング部７０は、第１の実施形態に開示された方法に従ってトランスコーディングを行う装置である。このため、第１トランスコーディング部７０は、第１の実施形態に係るトランスコーディング装置に含まれていた要素を含んでいる（図２参照）。第２トランスコーディング部８０は、第２の実施形態に開示された方法に従ってトランスコーディングを行う装置である。このため、第２トランスコーディング部８０は、第２の実施形態に係るトランスコーディング装置に含まれていた要素を含んでいる（図１１参照）。
【０１３０】
次に、本実施形態の動作について説明する。動画像のフレームの符号化データは、トランスコーディング装置に供給され、バッファ６２には、最近の所定個数のフレームに対応したＤＣＴ係数および動き情報が格納される。
【０１３１】
バッファ６２に格納されている動き情報が所定の閾値より小さい場合（動画像の動きが遅い場合）、切換制御部６３は、ＤＣＴ係数および動き情報がバッファ６２から第１トランスコーディング部７０のＤＣＴ係数算出回路５および動き情報算出回路２に各々転送されるように切換部６４を制御する。この結果、少ない演算量で、動画像のＤＣＴ係数および動き情報に対して第１の実施形態において開示されたトランスコーディングが施される。
【０１３２】
これに対し、バッファ６２に格納されている動き情報が閾値より大きい場合（動画像の動きが速い場合）、動き情報算出回路２が正確な動き情報を算出することは困難であり、トランスコーディングにより得られる符号化データの符号量が増加する不具合が起こりうる。そこで、この場合、切換制御部６３は、ＤＣＴ係数および動き情報がバッファ６２から第２トランスコーディング部８０の逆ＤＣＴ部１５および動き情報算出部４０に各々転送されるように切換部６４を制御する。この結果、動画像のＤＣＴ係数および動き情報に対して第２の実施形態において開示されたトランスコーディングが施される。
【０１３３】
以上説明した第３の実施形態では、ピクチャグループのような所定個数のフレーム単位で切換部６４の切換制御が行われた。しかしながら、切換制御の方法は、以上説明した態様に限定されるものではない。切換制御を行うフレームの個数は、一定でなくてもよい。
【０１３４】
Ｄ．変形例
以上説明した各実施形態では、一定個数のフレームからなるピクチャグループの概念が用いられていたが、本発明は、このようなピクチャグループへの適用に限定されるものではなく、ＭＰＥＧ−４のようなピクチャグループの概念を持たない符号化方式に適用してもよい。
【０１３５】
【発明の効果】
以上説明したように、この発明によれば、少ない演算量により、第１の動画像符号化データを第２の動画像符号化データに変換するトランスコーディングを実行することができる。
【図面の簡単な説明】
【図１】  この発明の第１の実施形態において行われるトランスコーディングの例を示す図である。
【図２】  同実施形態におけるトランスコーディング装置を示すブロック図である。
【図３】  同実施形態における動き情報算出回路の処理内容を示す図である。
【図４】  同実施形態におけるＤＣＴ係数算出回路の処理内容を示す図である。
【図５】  同実施形態の効果を従来のトランスコーディング装置との対比において説明する図である。
【図６】  動き情報算出アルゴリズムの他の例を示す図である。
【図７】  動き情報算出アルゴリズムの他の例を示す図である。
【図８】  同実施形態におけるフィールドの概念を示す図である。
【図９】  同実施形態における動き情報算出アルゴリズムの他の例を示す図である。
【図１０】  この発明の第２の実施形態において行われるトランスコーディングの例を示す図である。
【図１１】  この発明の第２の実施形態であるトランスコーディング装置を示すブロック図である。
【図１２】  同実施形態における動き情報算出部の処理内容を示す図である。
【図１３】  同実施形態における動き情報算出部の処理内容を示す図である。
【図１４】  同実施形態における動き情報算出部の処理内容を示す図である。
【図１５】  同実施形態における動き情報算出部の動き情報算出アルゴリズムを示す図である。
【図１６】  同実施形態における動き情報修正部の動作を示すフローチャートである。
【図１７】  同実施形態における動き情報修正部の動き情報探索処理を説明する図である。
【図１８】  同実施形態における動き情報修正部の動き情報探索処理を説明する図である。
【図１９】  同実施形態における動き情報修正部の動き情報探索処理を説明する図である。
【図２０】  同実施形態においてフレームの間引きを伴うトランスコーディングを行う場合の動作例を示す図である。
【図２１】  同実施形態においてフレームの間引きを伴うトランスコーディングを行う場合の動作例を示す図である。
【図２２】  同実施形態においてフレームの間引きを伴うトランスコーディングを行う場合の動作例を示す図である。
【図２３】  この発明の第３の実施形態であるトランスコーディング装置の構成を示すブロック図である。
【図２４】  動画像符号化伝送システムにおける符号化器および復号器の一般的な構成を示すブロック図である。
【図２５】  上記符号化器の動作を例示する図である。
【図２６】  上記復号器の動作を例示する図である。
【図２７】  従来のトランスコーディング方法およびトランスコーディング装置を示す図である。
【符号の説明】
２……動き情報算出回路、５……ＤＣＴ係数算出回路、１０……復号器、２０……符号化器、４０……動き情報算出部、５０……動き情報修正部、６３……切換制御部、６４……切換部、７０……第１トランスコーディング部、８０……第２トランスコーディング部。
【図１】
0004153150.tif 000015
【図２】
0004153150.tif 000016
【図３】
0004153150.tif 000017
【図４】
0004153150.tif 000018
【図５】
0004153150.tif 000019
【図６】
0004153150.tif 000020
【図７】
0004153150.tif 000021
【図８】
0004153150.tif 000022
【図９】
0004153150.tif 000023
【図１０】
0004153150.tif 000024
【図１１】
0004153150.tif 000025
【図１２】
0004153150.tif 000026
【図１３】
0004153150.tif 000027
【図１４】
0004153150.tif 000028
【図１５】
0004153150.tif 000029
【図１６】
0004153150.tif 000030
【図１７】
0004153150.tif 000031
【図１８】
0004153150.tif 000032
【図１９】
0004153150.tif 000033
【図２０】
0004153150.tif 000034
【図２１】
0004153150.tif 000035
【図２２】
0004153150.tif 000036
【図２３】
0004153150.tif 000037
【図２４】
0004153150.tif 000038
【図２５】
0004153150.tif 000039
【図２６】
0004153150.tif 000040
【図２７】
0004153150.tif 000041