(57)【特許請求の範囲】
【請求項１】
ビデオ信号を復号化する方法であって、
ＤＣＴ係数の配列を受信するステップであって、前記ＤＣＴ係数配列がマクロブロックにＤＣＴアルゴリズムを実行することにより得られ、前記マクロブロックが前記ビデオ信号のビデオフレーム内のピクセルの配列であり、前記ＤＣＴ係数配列が前記マクロブロックに対応する、当該受信するステップと、
水平周波数及び垂直周波数の少なくとも一方の最高周波数を表す、前記係数の所定の１つの係数の値に基づいて、前記マクロブロックの水平複雑度及び垂直複雑度の少なくとも一方を決定するステップと、
前記マクロブロックを再構成するために前記ＤＣＴ係数配列内の係数のサブセットにＩＤＣＴ復号化を実行するステップであって、前記サブセットの大きさ及び位置が、前記マクロブロックの前記決定された複雑度に依存する、当該実行するステップと、
を有し、
ＩＤＣＴ復号化が実行される前記係数のサブセットが、
前記ＤＣＴ係数配列内の４分の１のＤＣＴ係数からなる第１のサブセットであって、前記４分の１のＤＣＴ係数が前記ＤＣＴ係数配列内の他の係数より低い水平周波数及び垂直周波数を持つ、当該第１のサブセットと、
前記ＤＣＴ係数配列内の２分の１のＤＣＴ係数からなる第２のサブセットであって、前記２分の１のＤＣＴ係数が前記ＤＣＴ係数配列内の他の係数より低い垂直周波数を持つ、当該第２のサブセットと、
の一方を有し、
前記所定の１つの係数の値が所定の閾値より下のときにIDCT復号化が前記第1サブセットに対して実行され、
前記所定の1つの係数の値が前記所定の閾値以上のときにIDCT復号化が前記第2サブセットに対して実行される、
方法。
【請求項２】
前記ビデオ信号がMPEGアルゴリズムに基づいて符号化されたビデオデータである、請求項１に記載の方法。
【請求項３】
前記ビデオ信号がMPEG2アルゴリズムに基づいて符号化されたビデオデータである、請求項１に記載の方法。
【請求項４】
前記所定の１つの係数が垂直周波数に関係なく前記マクロブロックの最高水平周波数を表す、請求項１に記載の方法。
【請求項５】
前記所定の１つの係数が前記マクロブロックの最低垂直周波数を表す、請求項４に記載の方法。
【請求項６】
前記所定の１つの係数が水平周波数に関係なく前記マクロブロックの最高垂直周波数を表す、請求項１に記載の方法。
【請求項７】
前記所定の１つの係数が前記マクロブロックの最高水平周波数及び最高垂直周波数を表す、請求項１に記載の方法。
【請求項８】
ビデオ信号を複合化する装置であって、
ＤＣＴ係数の配列を受信する受信器であって、前記ＤＣＴ係数配列がマクロブロックにＤＣＴアルゴリズムを実行することにより得られ、前記マクロブロックが前記ビデオ信号のビデオフレーム内のピクセルの配列であり、前記ＤＣＴ係数配列が前記マクロブロックに対応する、当該受信器と、
計算手段であって、前記計算手段が水平周波数及び垂直周波数の少なくとも一方の最高周波数を表す、前記係数の所定の１つの係数の値に基づいて、前記マクロブロックの水平複雑度及び垂直複雑度の少なくとも一方を決定し、前記計算手段が前記マクロブロックを再構成するために前記ＤＣＴ係数配列内の係数のサブセットにＩＤＣＴ復号化を実行し、前記サブセットの大きさ及び位置が、前記マクロブロックの前記決定された複雑度に依存し、前記所定の１つの係数の位置が予め決定されている、当該計算手段と、
を有し、
ＩＤＣＴ復号化が実行される前記係数のサブセットが、
前記ＤＣＴ係数配列内の４分の１のＤＣＴ係数からなる第１のサブセットであって、前記４分の１のＤＣＴ係数が前記ＤＣＴ係数配列内の他の係数より低い水平周波数及び垂直周波数を持つ、当該第１のサブセットと、
前記ＤＣＴ係数配列内の２分の１のＤＣＴ係数からなる第２のサブセットであって、前記２分の１のＤＣＴ係数が前記ＤＣＴ係数配列内の他の係数より低い垂直周波数を持つ、当該第２のサブセットと、
の一方を有し、
前記所定の１つの係数の値が所定の閾値より下のときに前記計算手段がIDCT復号化を前記第1サブセットに対して実行し、
前記所定の1つの係数の値が前記所定の閾値以上のときに前記計算手段がIDCT復号化を前記第2サブセットに対して実行する、
装置。
【請求項９】
前記ビデオ信号がMPEGアルゴリズムに基づいて符号化されたビデオデータである、請求項８に記載の装置。
【請求項１０】
前記ビデオ信号がMPEG2アルゴリズムに基づいて符号化されたビデオデータである、請求項８に記載の装置。
【請求項１１】
前記所定の１つの係数が垂直周波数に関係なく前記マクロブロックの最高水平周波数を表す、請求項８に記載の装置。
【請求項１２】
前記所定の１つの係数が前記マクロブロックの最低垂直周波数を表す、請求項１１に記載の装置。
【請求項１３】
前記所定の１つの係数が水平周波数に関係なく前記マクロブロックの最高垂直周波数を表す、請求項８に記載の装置。
【請求項１４】
前記所定の１つの係数が前記マクロブロックの最高水平周波数及び最高垂直周波数を表す、請求項８に記載の装置。
【請求項１５】
前記計算手段が、ハードウェア、ファームウェア及びソフトウェアの少なくとも１つにおいて実施される、請求項８に記載の装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、デジタルデータのための圧縮アルゴリズムの復号化に関し、特に、逆離散コサイン変換を採用する復号化アルゴリズムに関する。
【０００２】
【従来の技術】
デジタルデータストリームは記憶及び伝送のためにしばしば圧縮される。英数字のデータを含むデータストリームは、通常圧縮及び復元の後に完全に不変であることが必要とされるが、音声又は画像データを扱うときは、多少の細部は失われる又は変更される可能性はあるが人間の観察者は出力がオリジナルと実質的に類似していると知覚するような、「損失のある(lossy)」圧縮を用いることも許容されるかもしれない。
【０００３】
音声記録のためのMP3(Moving Picture Experts Group Layer-3 Audio)、静止画像のためのJPEG(Joint Photographic Experts Group)、ビデオ記録のためのMPEG(Motion Picture Experts Group)及びMPEG2等、損失のある圧縮アルゴリズムが多く考案されてきた。説明される本発明の実施例は、主にMPEG2圧縮に適用されるが、他のアルゴリズムにも適用可能である。
【０００４】
MPEG2圧縮では、伝送されるべきビデオフレームは8x8ピクセルのマクロブロック(MB)に分割される。離散コサイン変換(DCT)がMB上でランされ、係数の8x8配列が得られる。量子化され、ことによると更にハフマン木符号化により圧縮された係数は、再生装置による回復のために記憶又は伝送される。
【０００５】
【発明が解決しようとする課題】
再生装置は係数の各8x8配列上で逆離散コサイン変換(IDCT)を実行し、オリジナルフレームからピクセルの8x8配列の等価物を再構成する。最大のディテール及び正確さを得るためには、64個全ての係数が処理されるべきである。(たとえ64個全ての係数が用いられても、上述の量子化のためディテールの幾らかの損失は依然存在する。)消費者娯楽等の多くのアプリケーションにおいて、ユーザはより低価格の再生装置を得るために多少の画像品質を犠牲にしようと思っているかもしれない。従来技術の解決策では、画像品質の使用可能又は許容可能なレベルは全64個の係数よりも少ない係数を用いることで得られ、より低い能力の計算素子の使用を許容している。逆DCTで用いられる係数の数は、特定の計算素子に対する所望の品質レベルに基づいて決定される。ほとんどカメラの移動及び対象の移動がないような均一な場面については画像品質はかなり良くなることが可能だが、高度に変化がある場面又は高速なカメラの移動若しくは高速な対象の移動があるようなときには劣化する。画像の劣化は、劣化は容認されるが可能な限り目立たないように処理されることを意味する用語である「グレースフル(graceful)」デグラデーション(劣化)の限度を超えるかもしれない。このため、画像品質の適切な劣化を保持しつつも全DCT係数よりも少ないDCT係数を処理する能力を持つMPEG2再生システムに対する需要がある。
【０００６】
【課題を解決するための手段】
上述の従来技術における制約を克服するために、また、本明細書を読んで理解することにより明らかになるであろう他の制約を克服するために、本発明は、DCTブロックの水平高周波成分を動的に評価し、高周波成分の現在のレベルに基づいて動的に選択された複数のDCT係数を用いて復号化するシステム及び方法を提供する。
【０００７】
本発明の1つの側面によると、水平周波数を表すDCT成分の最高周波数を表すDCT成分が評価され、これに従ってDCT係数のマスキングが選択される。
【０００８】
本発明の他の目的及び特徴は、添付の図面と共に考慮される以下の詳細な説明から明らかになる。しかし、当然のことながら、図面は説明の目的のみのために描かれたものであって、本発明の範囲の規定のために描かれたのではなく、このためには添付の請求項を参照するべきである。更に、当然のことながら、図面は縮尺どおりに描かれている必要はなく、そうでないと示されない限り、ここで説明される構造及び工程を概念的に説明することのみを意図されている。
【０００９】
図面中では、類似の参照番号は類似の要素を示す。
【００１０】
【発明の実施の形態】
ビデオストリームのMPEG又はMPEG2データ圧縮等の典型的なデータ圧縮方式では、8x8ピクセル配列(マクロブロック又はMB)がビデオフレームから抽出され、DCT係数のセットを得るために離散コサイン変換(DCT)が前記MBに対して実行され、これは通常DCT係数の8x8配列を生成するために量子化される。
【００１１】
公知の技術であるDCTアルゴリズムがここで参照のため与えられる。iが0〜N-1の整数であるとき、データA(i)が与えられると、(例えばエンコーダにより用いられる)順方向DCTは、
【数１】
0004278385.tif 000002
であり、ここでデルタはクロネッカーのデルタである。B(k)は周波数空間変数kの全値に対して規定されるが、ここでは0〜N-1の範囲の整数kのみを考える。
(例えばデコーダにより用いられる)逆DCTは、
【数２】
0004278385.tif 000003
である。
【００１２】
図１は、64個の係数位置が00から63までと名前を付けられるこのような配列の典型的なレイアウトを示す。この配列に適用されるDCTアルゴリズムでは、Nは64の値を持つ。位置00はMBの最低垂直周波数及びMBの最低水平周波数を表すDCT係数を含む。より高い水平周波数を表す係数は図１に示される配列の「縦」の連続位置を占め、より高い垂直周波数を表す係数は示されるように配列の「横」の連続位置を占める。よって、位置7の係数は水平周波数に関係なく最高垂直周波数を表し、位置56の係数は垂直周波数に関係なく最高水平周波数を表し、位置63の係数は最高水平周波数及び最高垂直周波数の両方を表す。図１Ａは配列位置における相対周波数を図式的に示す。
【００１３】
再生のためのオリジナルフレームを再現するためには、オリジナルフレームから8x8MBの近似を回復するために逆離散コサイン変換(IDCT)をコサイン係数の8x8配列に対して実行する必要がある。本来的にMPEG等の圧縮アルゴリズムは「損失のある」圧縮アルゴリズムなので、これは近似であり、幾らかのディテールは本来的に失われるか又は変更される。しかし、ディテールの損失は閲覧者には知覚できないほどであるかもしれない。更に、閲覧者にとって不快でないような出力ビデオストリームを依然生成しながらも(再生装置を簡略化し、よってコストを削減するために)ディテールの損失を増加させることも可能かもしれない。
【００１４】
図２Ａは、完全に線影を付けられているので、DCT係数の8x8配列の全位置がIDCT復号化に用いられることを示す。これはMBを再構成するための計算複雑度の100％である。図2Bから2HはそれぞれIDCT復号化に用いられる係数00〜63の典型的なサブセットを示す。線影を付けられた正方形は、図１で識別される対応する位置からの対応するDCT係数がIDCT復号化において用いられることを示す。線影を付けられていない正方形は、対応するDCT係数がゼロに設定され、用いられないということを示す。図２Ｂ〜２Ｈそれぞれに、結果の計算複雑度の相対(例えばパーセント)表示がある。DCT係数のサブセットを用いることにより画像品質が劣化する程度は、MBの周波数複雑度に依存する。一定の平らなバックグラウンドの一部であるようなMBは、例えば、図２Hの38％という複雑度においてすら知覚可能な劣化をおそらく示さない。他方で、カメラが右から左へパンしているときに場面を左から右へ走って横切っている人物のチェック柄のシャツの一部であるようなMBは、図２Hの38％という複雑度ではかなりひどく劣化し、それぞれのより高いレベルの複雑度でより少なく劣化する。
【００１５】
同様の考察が、崖から飛び降りる人物のチェック柄のシャツ等、垂直方向に高い複雑度を示すMBについて適用される。通常のビデオプログラム素材においては、垂直複雑度よりも水平複雑度のほうがずっと多く見られる。本発明の好適な実施例は、水平複雑度の劣化を垂直複雑度よりも多く低減させるが、当然本発明の技術は、垂直複雑度を重視するようにされることも可能であり、又は、水平及び垂直複雑度を等価に扱うことも可能である。
【００１６】
連続的に100％の計算能力を提供することのできない低コストの再生装置において名目上の視聴品質を提供するための従来技術の解決策は、この再生装置の計算能力に基づいて選択された1つの所定のDCT係数のサブセットを用いて常に復号化することである。例えば、100MHz Intel Pentium(登録商標)チップに基づく再生装置に対しては、図２Ｇの55％という複雑度が常に用いられるかもしれないが、350MHz Intel Pentium-II（登録商標）チップに基づく再生装置に対しては、図２Ｃの86％という複雑度が常に用いられるかもしれない。後者の装置はよりよい結果を生じさせるが、これでさえも、高度の垂直複雑度を有するMBに対しては目に見えて分かる目障りな劣化を伴う結果を生じさせ得る。
【００１７】
本発明は、各MBの水平複雑度を評価し、これに従って複雑度を選択する。よって、場面を走って横切るチェック柄のシャツを着た人物の例では、速く移動している人物のチェック柄のシャツ又は他の部分からのMBに対しては、劣化を低減させるように高複雑度の復号化が用いられる。しかし、フレームからの他のMBはずっと低い複雑度を示し(走っている人物の背景は均一なビルの壁又は均一な青い空であるかも知れない)、これらのMBに対しては不快な劣化を導入すること無しに低複雑度の復号化を用いることが可能であるかもしれない。
【００１８】
再び図１を参照すると、係数56の大きさは最高水平周波数における現在のMBの水平複雑度の表示であり、よって、係数56は現在のMBに対して適用される処理の複雑度を選択する先行指標として用いられる。この選択は、ビデオデータがインターリーブされていれば(ほとんどのTV信号はそうである)非常に重要である。データがインターリーブされており、インターリーブ後にDCT符号化をされる場合は、(インターリーブされていないMBで実行されるフィールド型DCTの反対である)フレーム型DCTとして知られる。インターリーブされたデータでは、上部フィールドは下部フィールドよりも大きく異なっていてよく、この場合、係数56は非常に高い値を持つ。固定された復号化の複雑度をむやみに用いるという従来技術の解決策は、このような場合において不快な劣化を生じさせることが多い。視聴者はこのような出力を見ることによって眩暈を起こすと報告されている。高い垂直複雑度は典型的なプログラム素材においてずっと少なく起こることが多い。(他の実施例は、水平及び垂直劣化を等価に最小化することが所望ならば係数63(又は配列の主要な対角線に沿った他の係数)を用いるか、垂直劣化のみを最小化することが所望ならば係数07を用いてよい。)
【００１９】
(例えば均一な背景からの)低い平行複雑度を有するMBに対しては、係数56の大きさは非常に小さく、従って、図２Hの低複雑度の符号化が、大きな劣化を導入すること無しに用いられることが可能である。より高いレベルの符号化の複雑度が係数56のより高い値に対して用いられ、これにより、劣化を許容可能な値に低く保持する。係数56が所定の閾値を超えるようなMBに対しては、全64個のDCT係数が用いられる図２Aの100％という複雑度が適用されることができる。事実上全ての典型的なフレームにおいて、フレームを有するMBの幾つかに対して複雑度が100％の復号化が用いられる場合でさえも平均計算複雑度は100％を大きく下回る。
【００２０】
本発明のこの実施例では、係数56に対してただ1つの閾値が規定され、閾値よりも低い値に対しては、相対複雑度が55％の図２Gに示される係数サブセットが採用され、閾値以上の値に対しては、相対複雑度が86％の図２Cに示される係数サブセットが採用される。
【００２１】
本発明の実施例が図３でフローチャート形式で説明される。各フレームの各MBに対し、典型的には記憶手段又は伝送手段から、DCT係数の8x8配列が入力される(ブロック302)。ブロック304では、係数56の値が評価される。上述のとおり係数56は水平動作の最高周波数と関連しており、本実施例は、典型的なプログラム素材において垂直劣化はずっと低い頻度で起こるため、垂直劣化を許容しつつ水平劣化を最小化することを目標とする。
【００２２】
ブロック306では、係数56の値を持つDCT係数のサブセット(図２)のためのマスキングの所定の関連に基づいて、マスキングの所定の1つが選択される。ブロック308では、DCT係数の選択されたサブセットが逆DCT操作で用いられ、元のマクロブロックの近似を回復する。係数56の値に基づく係数サブセットの動的な選択により、水平動作が多くないときはより低い複雑度が用いられ、水平動作がより多いときは劣化を最小化するためにより高い複雑度が用いられる。本実施例は2つのサブセット選択肢の内1つを採用する。これら選択肢は、所定の閾値より低い係数56の値のための図２Gの複雑度55％のサブセットと、所定の閾値以上の値のための図２Cの複雑度86％のサブセットと、である。
【００２３】
ブロック310は、フレームの各MBが処理されるようにブロック302に発送される。ブロック312は、ビデオストリーム中の各フレームを処理するようにブロック302に発送される。
【００２４】
ここで説明された操作を実行するための装置は、設計選択の問題として、特殊用途ハードウェアで構築されるか、又は、適切なファームウェア又はソフトウェアによりプログラムされる一般目的デジタルロジックハードウェアで構築されることができる。このような装置400は図４にブロック図として示される。この装置は、インプットデータを入力するための受信器402と、コンピュータ命令及びデータ(入力データ、中間データ、処理された出力データ、及び、所定のDCTサブセット等の作業データ)を記憶するためのデータ記憶装置404と、計算手段406と、制御ロジック408と、データを出力するためのデータ伝送器410と、を含む。
【００２５】
このように、本発明の原理的な新規な特徴を好適な実施例に適用されたように示し、説明し、指摘したが、当業者は本発明の精神から離れることなく、図示された装置の形式及び詳細並びに本装置の動作に、種々の省略、置換及び変更を行うことが可能であることが理解されるであろう。例えば、同一の結果を得るためにほぼ同一の方法でほぼ同一の機能を実行する要素及び/又は方法ステップの全結合は、本発明の範囲内であることが特に意図されている。更に、本発明の開示された形式又は実施例と共に示され、及び/又は、説明された構造及び/又は要素及び又は方法ステップは、設計選択の一般的な問題として、いかなる開示された又は説明された又は示唆された形式又は実施例にも組み込まれてよいことが分かるであろう。従って、ここに添付の請求項の範囲に示されたようにのみ制限されることが意図されている。
【図面の簡単な説明】
【図１】  本発明の1つの実施例による8x8配列のDCT係数位置の構成。
【図１Ａ】  図１に与えられるDCT係数位置により表される相対的な周波数の模式図。
【図２Ａ】  図１に基づいてDCT係数に符号化された信号を復号化するために適用されてよい、各々に対する相対計算複雑度を示す典型的なマスキング。
【図２Ｂ】  図１に基づいてDCT係数に符号化された信号を復号化するために適用されてよい、各々に対する相対計算複雑度を示す典型的なマスキング。
【図２Ｃ】  図１に基づいてDCT係数に符号化された信号を復号化するために適用されてよい、各々に対する相対計算複雑度を示す典型的なマスキング。
【図２Ｄ】  図１に基づいてDCT係数に符号化された信号を復号化するために適用されてよい、各々に対する相対計算複雑度を示す典型的なマスキング。
【図２Ｅ】  図１に基づいてDCT係数に符号化された信号を復号化するために適用されてよい、各々に対する相対計算複雑度を示す典型的なマスキング。
【図２Ｆ】  図１に基づいてDCT係数に符号化された信号を復号化するために適用されてよい、各々に対する相対計算複雑度を示す典型的なマスキング。
【図２Ｇ】  図１に基づいてDCT係数に符号化された信号を復号化するために適用されてよい、各々に対する相対計算複雑度を示す典型的なマスキング。
【図２Ｈ】    図１に基づいてDCT係数に符号化された信号を復号化するために適用されてよい、各々に対する相対計算複雑度を示す典型的なマスキング。
【図３】  本発明の実施例のためのフローチャート。
【図４】  図３の流れを実行するために適切な装置のブロック図。
【図１】
0004278385.tif 000004
【図１Ａ】
0004278385.tif 000005
【図２Ａ】
0004278385.tif 000006
【図２Ｂ】
0004278385.tif 000007
【図２Ｃ】
0004278385.tif 000008
【図２Ｄ】
0004278385.tif 000009
【図２Ｅ】
0004278385.tif 000010
【図２Ｆ】
0004278385.tif 000011
【図２Ｇ】
0004278385.tif 000012
【図２Ｈ】
0004278385.tif 000013
【図３】
0004278385.tif 000014
【図４】
0004278385.tif 000015