(57)【特許請求の範囲】
【請求項１】
あるビットレートで符号化された画像符号化データを再符号化する方法において，
元の符号化データに含まれるフレーム内符号化フレームを検出するとともに，該フレーム内符号化フレームの前後のフレーム中から双方向予測フレーム以外のフレームを参照フレームとして検出するステップと，
検出された参照フレームに含まれる小ブロック単位の動きベクトルを抽出し，抽出された動きベクトルを用いて参照フレームの各小ブロック領域を該フレーム内符号化フレームに投影し，該フレーム内符号化フレームの各小ブロックにおいて該小ブロック領域と重なりを持つ参照フレームの小ブロック領域の投影像を検出し，検出された各投影像が用いた動きベクトルを，該小ブロック領域と投影像との重なりの面積を用いて重み付けし，該面積で重み付けした動きベクトルの平均を算出することにより，該小ブロックの動きベクトルを算出し，算出された動きベクトルを該フレーム内符号化フレームを再符号化するための動きベクトルとするステップと，
算出された動きベクトルを用いて該フレーム内符号化フレームをフレーム間符号化フレームに再符号化するステップとを有する
ことを特徴とする画像符号化データの再符号化方法。
【請求項２】
請求項１に記載の画像符号化データの再符号化方法において，
前記面積で重み付けした動きベクトルの平均を算出することにより，該小ブロックの動きベクトルを算出する処理では，
前記面積で重み付けした動きベクトルまたは前記面積で重み付けする前の動きベクトルが，前記検出された各投影像が用いた動きベクトルの平均ベクトルより所定の設定値以上離れている場合に，その動きベクトルを前記面積で重み付けした動きベクトルの平均の算出対象から除外する
ことを特徴とする画像符号化データの再符号化方法。
【請求項３】
あるビットレートで符号化された画像符号化データを再符号化する方法において，
元の符号化データに含まれるフレーム内符号化スライスを検出するとともに，該フレーム内符号化スライスが含まれるフレームの前後のフレーム中から双方向フレーム以外のフレームを参照フレームとして検出するステップと，
検出された参照フレームに含まれる小ブロック単位の動きベクトルを抽出し，抽出された動きベクトルを用いて参照フレームの各小ブロック領域を該フレーム内符号化スライスに投影し，該フレーム内符号化スライスの各小ブロックにおいて該小ブロック領域と重なりを持つ参照フレームの小ブロック領域の投影像を検出し，検出された各投影像が用いた動きベクトルを，該小ブロック領域と投影像との重なりの面積を用いて重み付けし，該面積で重み付けした動きベクトルの平均を算出することにより，該小ブロックの動きベクトルを算出し，算出された動きベクトルを該フレーム内符号化スライスを再符号化するための動きベクトルとするステップと，
算出された動きベクトルを用いて該フレーム内符号化スライスをフレーム間符号化スライスに再符号化するステップとを有する
ことを特徴とする画像符号化データの再符号化方法。
【請求項４】
請求項３に記載の画像符号化データの再符号化方法において，
前記面積で重み付けした動きベクトルの平均を算出することにより，該小ブロックの動きベクトルを算出する処理では，
前記面積で重み付けした動きベクトルまたは前記面積で重み付けする前の動きベクトルが，前記検出された各投影像が用いた動きベクトルの平均ベクトルより所定の設定値以上離れている場合に，その動きベクトルを前記面積で重み付けした動きベクトルの平均の算出対象から除外する
ことを特徴とする画像符号化データの再符号化方法。
【請求項５】
あるビットレートで符号化された画像符号化データを再符号化する方法を計算機によって実現するためのプログラムを記録した計算機読み取り可能な記録媒体であって，
元の符号化データに含まれるフレーム内符号化フレームを検出するとともに，該フレーム内符号化フレームの前後のフレーム中から双方向予測フレーム以外のフレームを参照フレームとして検出する処理と，
検出された参照フレームに含まれる小ブロック単位の動きベクトルを抽出し，抽出された動きベクトルを用いて参照フレームの各小ブロック領域を該フレーム内符号化フレームに投影し，該フレーム内符号化フレームの各小ブロックにおいて該小ブロック領域と重なりを持つ参照フレームの小ブロック領域の投影像を検出し，検出された各投影像が用いた動きベクトルを，該小ブロック領域と投影像との重なりの面積を用いて重み付けし，該面積で重み付けした動きベクトルの平均を算出することにより，該小ブロックの動きベクトルを算出し，算出された動きベクトルを該フレーム内符号化フレームを再符号化するための動きベクトルとする処理と，
算出された動きベクトルを用いて該フレーム内符号化フレームをフレーム間符号化フレームに再符号化する処理とを，
計算機に実行させるためのプログラムを記録した
ことを特徴とする画像符号化データの再符号化プログラム記録媒体。
【請求項６】
あるビットレートで符号化された画像符号化データを再符号化する方法を計算機によって実現するためのプログラムを記録した計算機読み取り可能な記録媒体であって，
元の符号化データに含まれるフレーム内符号化スライスを検出するとともに，該フレーム内符号化スライスが含まれるフレームの前後のフレーム中から双方向フレーム以外のフレームを参照フレームとして検出する処理と，
検出された参照フレームに含まれる小ブロック単位の動きベクトルを抽出し，抽出された動きベクトルを用いて参照フレームの各小ブロック領域を該フレーム内符号化スライスに投影し，該フレーム内符号化スライスの各小ブロックにおいて該小ブロック領域と重なりを持つ参照フレームの小ブロック領域の投影像を検出し，検出された各投影像が用いた動きベクトルを，該小ブロック領域と投影像との重なりの面積を用いて重み付けし，該面積で重み付けした動きベクトルの平均を算出することにより，該小ブロックの動きベクトルを算出し，算出された動きベクトルを該フレーム内符号化スライスを再符号化するための動きベクトルとする処理と，
算出された動きベクトルを用いて該フレーム内符号化スライスをフレーム間符号化スライスに再符号化する処理とを，
計算機に実行させるためのプログラムを記録した
ことを特徴とする画像符号化データの再符号化プログラム記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は，あるビットレートで符号化された画像符号化データを再符号化する方法に関する。
【０００２】
【従来の技術】
あるビットレートにて符号化された符号化データから，異なるビットレートの符号化データを生成する一手段として，再符号化する方法がある。
【０００３】
図１０に，画像符号化データの再符号化を行うシステム図を示す。図１０において，再生画像だけを用いて再符号化する場合には，通常の符号化処理と同等である。通常，再符号化の目的は，符号化データ量の削減にある。一旦，復号器１により，元の符号化データの一部または全部を復号し，再符号化器２により，復号画像を目的の符号化ビットレートに符号化する。
【０００４】
符号化データ量削減の手法として，一般に量子化ステップを大きくし，粗く量子化する方法が用いられている。また，例えば特願平１０−１６００８９号において提案されている「符号化画像の再生方法」のように，符号化データ中の低周波数成分を取り出す方法や，特開平１０−１１２８６５号公報に「復号信号の符号化方法」として記載されている符号化データのフレーム数を削減する方法等がある。この「復号信号の符号化方法（特開平１０−１１２８６５号公報）」では，元の符号化データの動きベクトル情報から再符号化対象小ブロックの動きベクトルを推定し，動きベクトルの再探索を行わないことにより，演算量も削減している。
【０００５】
【発明が解決しようとする課題】
ＩＳＯ／ＩＥＣ１１１７２−２（ＭＰＥＧ−１）等の動画像符号化方式では，画像シーケンス途中からの再生を容易にするなどの目的のため，シーケンス中に多くのイントラフレーム（フレーム内符号化フレーム）を持つ。これらのフレームでは，そのフレーム中の符号化データだけから画像を生成するため，予測符号化された場合に比べて，一般に発生情報量が大幅に大きくなる。ランダムアクセスやコマ送りを容易に行うには，多くのイントラフレームが必要であり，イントラが多くなると，それが符号化データ量を増大させる要因になっていた。
【０００６】
従来，イントラフレームを多く含む画像に対する効果的な再符号化法は検討されてきていなかった。従来方法では，一般に，量子化ステップを大きくし，粗く量子化する方法が用いられてきた。この方法では，量子化ステップを多くすることにより，画質劣化が顕著になるという問題があった。同様に，上記特願平１０−１６００８９号で提案されている方法や，特開平１０−１１２８６５号公報に記載の方法でも，符号化データ量削減を過度に行うと，画質劣化やフレーム数の減少が問題となる。そのため，これらの手法だけでは，符号化データ量削減に限界があった。
【０００７】
また，符号化データ量の削減が可能でも，演算量が増大すれば再符号化に要する時間の増大が問題となる。
【０００８】
本発明の課題は，再符号化時に画質劣化やフレーム数の減少を抑制しつつ，符号化データ量の削減を可能とし，また，そのときの演算量を削減する方法を提供することにある。
【０００９】
【課題を解決するための手段】
イントラフレームでは，上記のように，予測符号化された場合に比べて一般に発生情報量が大幅に大きくなる。動きベクトル等を用いて，その前後のフレーム情報を参照して予測符号化すれば，発生情報量を削減できる。従って，シーケンス途中からの再生等を要求されない場合には，特殊再生が不要なイントラフレームに関して隣接フレームを参照し，動き補償を行えば，符号化データ量の削減が可能となる。すなわち，本発明では，参照フレームを用いてイントラフレームの符号化方式を変更し，フレーム間符号化フレームとして再符号化する。
【００１０】
図１に，その方法の概要を示す。ステップＳ１では，元の符号化データに含まれるイントラフレーム（フレーム内符号化フレーム）と，そのイントラフレームの前後のフレーム中から参照フレームを検出する。ステップＳ２では，検出された参照フレームのデータを用いて，イントラフレームを再符号化するための動きベクトルを算出する。ステップＳ３では，算出された動きベクトルを用いて，イントラフレームをフレーム間符号化フレームに再符号化する。以上の処理を，再符号化対象として選んだ全イントラフレームが終了するまで繰り返す（ステップＳ４）。これにより，画質劣化やフレーム数の減少を抑制しつつ符号化データ量を削減することが可能になる。
【００１１】
しかし，上記処理において，全ての小ブロックに関して動きベクトルを探索すると，演算量が増大する。演算量を増大させる動きベクトルの探索を削減する手段として，図２〜図４に示すような方法を用いることができる。具体的には，再符号化対象のイントラフレームが参照するフレームに含まれる小ブロック単位の動きベクトルを抽出し，各小ブロック領域を抽出された動きベクトルに従ってイントラフレームに投影し，イントラフレームの各小ブロックにおいてそのブロック領域と重なりを持つ投影像が用いた動きベクトルを重なりの面積によって重み付けすることにより，イントラフレームをフレーム間符号化フレームに再符号化するための動きベクトルを算出する。
【００１２】
図２におけるステップＳ２１〜Ｓ２６は，図１に示すステップＳ２に対応する。検出された参照フレームのデータを用いて，イントラフレームを再符号化するための動きベクトルを算出するにあたって，ステップＳ２１では，検出された参照フレームに含まれる小ブロック単位の動きベクトルを抽出する。次に，ステップＳ２２では，参照フレームの各小ブロック領域を，抽出された動きベクトルを用いてイントラフレームに投影する。ステップＳ２３では，イントラフレームの各小ブロックにおいて，小ブロック領域と重なりを持つ投影像（投影された参照フレームの小ブロック領域）を検出する。小ブロック領域と重なりを持つ投影像がある場合（ステップＳ２４），ステップＳ２５へ進み，検出された各投影像が用いた動きベクトルを用いて，小ブロック単位に動きベクトルを算出する。以上のステップＳ２３〜Ｓ２５を全小ブロックについて終了するまで繰り返し（ステップＳ２６），終了したならば，ステップＳ３へ進む。ステップＳ１，Ｓ３，Ｓ４の処理は，図１と同様である。
【００１３】
図２のステップＳ２５において，検出された各投影像が用いた動きベクトルを用いて，小ブロック単位に動きベクトルを算出する処理を，図３に示すステップＳ２５１〜Ｓ２５３に示すように行うことができる。なお，図３における他の部分については，図２と同様である。
【００１４】
ステップＳ２５１では，検出された各投影像が用いた動きベクトルが，あらかじめ設定した範囲に分布するかどうかを判定する。あらかじめ設定した範囲に分布するときには（ステップＳ２５２），ステップＳ２５３へ進み，設定した範囲に分布すると判定された動きベクトルを用いて，小ブロック単位に動きベクトルを算出する。
【００１５】
さらに，図３に示すステップＳ２５３は，図４に示すステップＳ２３５１のように行うことができる。図４における他の部分については，図３と同様である。設定した範囲に分布すると判定された動きベクトルを用いて，小ブロック単位に動きベクトルを算出するにあたって，ステップＳ２３５１では，設定した範囲に分布すると判定された動きベクトルを，小ブロック領域と投影像の重なりの面積を用いて重み付けすることにより，小ブロックの動きベクトルを算出する。
【００１６】
フレームは，いくつかのスライスによって分割することができる。符号化データの中で，スライス内のすべての小ブロックを符号化する場合，そのスライスをイントラスライスという。図１〜図４を用いてイントラフレームをフレーム間符号化フレームに再符号化する場合について説明したが，以上説明した処理とまったく同様な処理により，イントラスライスをフレーム間符号化スライスに再符号化することによって，画像符号化データの再符号化において，符号化データ量の削減とその演算量の削減を実現することもできる。
【００１７】
以上の各処理手段を計算機によって実現する場合，そのプログラムは，計算機が読み取り可能な可搬媒体メモリ，半導体メモリ，ハードディスクなどの適当な記録媒体に格納することができる。
【００１８】
【発明の実施の形態】
以下，本発明の実施の形態を説明する。符号化されたデータの例として用いるのは，図５（Ａ）の列のように，ＭＰＥＧ−２でＭ＝３，Ｎ＝６の場合（ＧＯＰが６枚のフレームからなり，Ｉ，Ｐフレーム間に２枚ずつＢフレームが挿入されている場合）である。ここで，Ｉフレームとは，イントラフレーム（フレーム内符号化フレーム）を指し，Ｐ，Ｂフレームはフレーム間符号化フレームで，Ｐフレームは順方向予測フレーム，Ｂフレームは双方向予測フレームを指す。
【００１９】
図５（Ａ）中の右から４番目のＩフレームをＰフレームとして再符号化する。ここでの参照フレームは，図５（Ａ）の右から１番目のＰフレームと，図５（Ａ）の右から７番目のＰフレームである。この４番目のＩフレームの再符号化のため，図５（Ｂ）に示すように，図５（Ａ）のフレームの列からＩフレーム，Ｐフレームのみが抜き出される。ただし，図５（Ｂ）の左端の「ＰorＩフレーム」は，再符号化対象のイントラフレームでもその参照フレームでもない（ここでは，参照フレームが参照しているフレームとなっている）。図では「ＰorＩフレーム」となっているが，ここではＮ＝６なのでＩフレーム（ここではＩ１とする）である。
【００２０】
このＩ１フレームまで含め，図５（Ｂ）の列からの再符号化の様子を簡単に図示すると，図６に示すようになる。ここで，図６（Ａ）の列が変換前，図６（Ｂ）の列が変換後を示している。図６（Ａ）の列の再符号化対象フレームＩx が再符号化され，順方向予測フレームとなったものをＰｔとする。図６（Ａ）のように，再符号化対象フレームＩx は，小ブロック（領域）ＢI,j から構成されている。他のフレームも同様に小ブロックから構成されており，動きベクトルｖ１，ｖ２，ｖｎ等は，それぞれＰ２，Ｐ３，Ｐｔの各小ブロックごとに与えられている。
【００２１】
本実施の形態は，図７の各ステップに基づいて実施される。図７中の（ｉ），（ｍ）は，フレーム全体とその各小ブロック単位のどちらで処理が進められるかを示す。すなわち，図７において（ｉ）のステップは，イントラフレームごとの処理，（ｍ）のステップは，イントラフレーム中の小ブロックごとの処理である。前述した図５の処理は，図７のステップＳ１０１における「イントラフレームと参照フレームを検出」の処理に対応している。
【００２２】
次のステップＳ１０２の「参照フレームに含まれる動きベクトルの抽出」では，抽出された参照フレームＰ２，Ｐ３から動きベクトルｖｎを算出する。すなわち，再符号化対象フレームＩx の各小ブロックＢI,j に関する動きベクトルの算出を行う。以下，‖はノルム（ベクトルの長さ），∩は２つの領域の重なりを表す。また，Ｐ２の小ブロック番号をｉ，再符号化対象フレームＩx の小ブロック番号をｊ，Ｐ３の小ブロック番号をｋで表す。
【００２３】
次のステップＳ１０３では，参照フレームＰ２，Ｐ３の各小ブロック領域を再符号化対象フレームＩx へ投影する。図８に示すように，参照フレームＰ２の各小ブロック領域ＢP2,iに対応した動きベクトルｖ１i によって，各小ブロック領域ＢP2,iを再符号化対象フレームＩx に投影した投影像をＱ１i と表す。また，Ｐ３の各小ブロック領域ＢP3,kに対応した動きベクトルｖ２k によって，各小ブロック領域ＢP3,kを再符号化対象フレームＩx 上に引き戻し投影した領域をＱ２k と表す。
【００２４】
以下，再符号化対象フレーム（イントラフレーム）Ｉx の各小ブロック領域ＢI,j に着目し，イントラフレーム中の全ての小ブロックの処理が終了するまで，ステップＳ１０４〜Ｓ１０８を繰り返す。まず，ステップＳ１０４では，再符号化対象フレームＩx の各小ブロック領域ＢI,j に関して重なりを持った投影像を検出する。重なりを持つ投影像がなければ，次の小ブロック領域についての処理へ進む（ステップＳ１０５）。
【００２５】
ステップＳ１０６では，各投影像が用いた動きベクトルが，あらかじめ設定した範囲に分布するかどうかを判定し，設定した範囲を越える場合には，次の小ブロック領域についての処理へ進む（ステップＳ１０７）。なお，本実施の形態では，後述するように，この設定した範囲に分布するかどうかは，動きベクトルに面積の重み付けを適用した結果を用いて判定しているが，面積の重み付けを適用する前に行ってもよく，また異なる基準により両方で行ってもよい。
【００２６】
この分布の判定およびステップＳ１０８による動きベクトルの算出では，次のような処理を行う。領域Ｂの面積をＳ（Ｂ）と表す。投影像Ｑ１i とＢI,j が重なりを持つ場合には，その面積Ｓ（Ｑ１i ∩ＢI,j ）を記録する。また，Ｑ２k がＢI,j と重なりを持つ場合には，その面積Ｓ（Ｑ２k ∩ＢI,j ）を記録する。再符号化対象フレームＩx の各小ブロック領域ＢI,j に対して，Ｐ２，Ｐ３の両方向から，上記処理で重なりの面積が算出された場合には，次のような重なりを持つ各投影像が用いたベクトルを面積比で重み付けした関数を導入する。
【００２７】
ＲatP2(i,j) ＝Ｓ（Ｑ１i ∩ＢI,j ）／Ｓ* j 
ＲatP3(k,j) ＝Ｓ（Ｑ２k ∩ＢI,j ）／Ｓ* j 
ただし，Ｓ* j は次の式で示される面積の和である。
【００２８】
Ｓ* j ＝Σi Ｓ（Ｑ１i ∩ＢI,j ）＋Σk Ｓ（Ｑ２k ∩ＢI,j ）
これを用いて，重なりを持つ各投影像が用いたベクトルについて，面積で重み付けした平均ベクトルｖｎa,j を計算する（図９（Ａ）および（Ｂ）参照）。
【００２９】
ｖｎa,j ＝Σi ＲatP2(i,j) ｖ１i ＋Σk ＲatP3(k,j) ｖ２k 
次に，計算されたｖｎa,j を基準にして，ｖ１i とｖ２k のうちで，ｖｎa,j からＴピクセル以上離れているものを除外する（ステップＳ１０６，Ｓ１０７）。
【００３０】
例えば，図９（Ｃ）に示すようにＢI,j と重なりを持つ投影像が３つある場合では，
ｖｎa,j ＝ＲatP2(i1,j)ｖ１i1＋ＲatP2(i2,j)ｖ１i2＋ＲatP3(k,j) ｖ２k 
であるが，ｖ１i2が，
‖ｖ１i2−ｖｎa,j ‖≧Ｔ
となり，ｖ１i1，ｖ２k が，
‖ｖ１i1−ｖｎa,j ‖＜Ｔ，‖ｖ２k −ｖｎa,j ‖＜Ｔ
を満たす場合には，ｖ１i2を除外する（ステップＳ１０６，Ｓ１０７）。
【００３１】
以上の処理を行い，その結果除外されずに残った動きベクトルを再度重み付けして，ｖｎb,j を算出する（ステップＳ１０８）。図９（Ｄ）の例では，残ったｖ１i1，ｖ２k に関して再度重み付けを行い，
ｖｎb,j ＝ＲatP2(i1,j)ｖ１i1＋ＲatP3(k,j) ｖ２k 
と算出される。
【００３２】
以上のステップＳ１０４〜Ｓ１０８を再符号化対象フレーム（イントラフレーム）Ｉx 中の全ての小ブロックに対して繰り返し（ステップＳ１０９），その後，ｖｎb,j が得られたＢI,j については，ｖｎb,j をそのまま用いるか，またはｖｎb,j を中心にＵピクセルだけ動き探索を行い，その結果を動きベクトルとしてＢI,j に関する再符号化を行う。ｖｎb,j が得られなかった小ブロック領域ＢI,j については，Ｖ（Ｖ≫Ｕ）ピクセルの動き探索を行い，再符号化を行う。ただし，この場合に動き探索の結果，ブロック内符号化小ブロックとなった場合には，その小ブロックに関する再符号化結果が，もとの再符号化対象フレームＩx の時と一致しても構わない。
【００３３】
このように全てのＢI,j について再符号化を行い，フレーム間符号化フレームＰｔを得る（ステップＳ１１０）。以上の処理を再符号化する全てのイントラフレームについて実行する（Ｓ１１１）。
【００３４】
イントラフレームではなくイントラスライスについても，同様な処理により，フレーム間符号化スライスに再符号化することによって，符号化データ量の削減とその演算量の削減を実現することができる。
【００３５】
【発明の効果】
以上説明したように，本発明によれば，再符号化時に，画質劣化やフレーム数の減少を抑制しつつ，符号化データ量の削減が可能となり，また，再符号化時の発生演算量の削減も可能となる。
【図面の簡単な説明】
【図１】本発明の処理概要説明図である。
【図２】本発明の処理概要説明図である。
【図３】本発明の処理概要説明図である。
【図４】本発明の処理概要説明図である。
【図５】イントラフレームと参照フレームの検出を説明する図である。
【図６】イントラフレームの再符号化を説明する図である。
【図７】本発明の実施の形態の処理フローチャートである。
【図８】参照フレーム中からイントラフレームへ投影された各小ブロック投影像の中で，重なりを持つものの検出と，その投影像が用いた動きベクトルを説明する図である。
【図９】投影像が用いた動きベクトルが設定した範囲に分布するかの判定と，イントラフレームの小ブロックに関するベクトルの算出を説明する図である。
【図１０】本発明の背景技術を説明するための画像符号化データの再符号化を行うシステム図である。
【符号の説明】
Ｉx     再符号化対象フレーム
Ｐ２，Ｐ３  参照フレーム
Ｐｔ    再符号化された順方向予測フレーム
ＢI,j   再符号化対象フレームの小ブロック領域
ｖ１，ｖ２，ｖｎ  動きベクトル
Ｑ１i ，Ｑ２k     投影像
１      復号器
２      再符号化器
【図１】
0003847987.tif 000002
【図２】
0003847987.tif 000003
【図３】
0003847987.tif 000004
【図４】
0003847987.tif 000005
【図５】
0003847987.tif 000006
【図６】
0003847987.tif 000007
【図７】
0003847987.tif 000008
【図８】
0003847987.tif 000009
【図９】
0003847987.tif 000010
【図１０】
0003847987.tif 000011