(57)【要約】エンコーディングプロセスにおいて、ビデオデータが、量子化されたベースデータとエンハンスメントデータのビットストリームとして表され、そのエンハンスメントデータは量子化ベースビデオ画像と元の未量子化入力ビデオ画像の間の差を取り込む。通信チャネルは、帯域幅が限定されているので、すべてのエンハンスメントデータを送ることができないことがある。エンコーディングプロセス中、エンハンスメントデータは、帯域幅の限定に基づいて「層」に分割することができる。伝送に続いて、これらの層はデコーダによって再結合されベースデータに加えられて、可視ビデオシーケンスを生成する。
2004511186.tif 000002
【特許請求の範囲】
【請求項１】
ディジタルビデオエンハンスメントデータの層を形成して、それぞれの層に対する帯域幅の必要条件を達成することを含んでなる方法。
【請求項２】
ビデオエンハンスメントデータの層を形成するステップが、
帯域幅の必要条件に基づいてしきい値の値を選び、次いで
上記しきい値の値に基づいてビデオエンハンスメントデータの層を生成する、ことをさらに含んでいる請求項１に記載の方法。
【請求項３】
ビデオエンハンスメントデータの層を、ディジタル通信チャネルによって伝送し、次いで
前記しきい値の値を上記ディジタル通信チャネルによって伝送する、
ことをさらに含んでいる請求項２に記載の方法。
【請求項４】
ビデオデータ処理に対するコンピュータ実行可能命令を記憶するコンピュータ読み取り可能媒体を含むアーティクルであって、その命令が、機械に、
ディジタルビデオエンハンスメントデータの層を形成させて、それぞれの層に対する帯域幅の必要条件を達成するアーティクル。
【請求項５】
ビデオエンハンスメントデータの層を形成するステップが、
帯域幅の必要条件に基づいてしきい値の値を選択し、次いで
そのしきい値の値に基づいてビデオエンハンスメントデータの層を生成する、ことをさらに含んでいる請求項４に記載のアーティクル。
【請求項６】
前記命令が、さらに、機械に、
前記ビデオエンハンスメントデータの層をディジタル通信チャネルによって伝送させ、次いで
前記しきい値の値を、上記ディジタル通信チャネルによって伝送させる、
請求項５に記載のアーティクル。
【請求項７】
ディジタルビデオエンハンスメントデータの層を処理してベースビデオ信号をエンハンスすることを含む方法であって、それらの層が帯域幅の必要条件をもっている方法。
【請求項８】
前記諸層がほぼ等しい帯域幅の必要条件を有している請求項７に記載の方法。
【請求項９】
前記ベースビデオ信号が画像を含み、そして処理された層が各々全画像をエンハンスする請求項７に記載の方法。
【請求項１０】
ビデオデータ処理に対するコンピュータ実行可能命令を記憶するコンピュータ読み取り可能媒体を含むアーティクルであって、その命令が、機械に、
帯域幅の必要条件を有する、ディジタルビデオエンハンスメントデータの層を処理させて、ベースビデオ信号をエンハンスさせるアーティクル。
【請求項１１】
前記諸層がほぼ等しい帯域幅の必要条件を有している請求項１０に記載のアーティクル。
【請求項１２】
前記ベースビデオ信号が画像を含み、そして処理された層が各々全画像をエンハンスする請求項１０に記載のアーティクル。
【請求項１３】
帯域幅の必要条件を達成するディジタルビデオエンハンスメントデータの層を受信し、次いで
その層をディジタル通信チャネルによって伝送する、
ことを含んでなる方法。
【請求項１４】
前記ディジタルビデオエンハンスメントデータの層が、第一の帯域幅必要条件を達成するディジタルビデオエンハンスメントデータの第一層であり、
上記第一の帯域幅必要条件と等しくない第二の帯域幅必要条件を達成するディジタルビデオエンハンスメントデータの第二層を受信し、
次いで
その第二層を前記ディジタル通信チャネルによって伝送する、
ことをさらに含む請求項１３に記載の方法。
【請求項１５】
しきい値の値以上の各値を示す「１」ビットを含む層に対応するしきい値の値を受信し、次いで
そのしきい値の値を前記ディジタル通信チャネルによって伝送する、
ことをさらに含む請求項１３に記載の方法。
【請求項１６】
ビデオデータ処理に対するコンピュータ実行可能命令を記憶するコンピュータ読み取り可能媒体を含むアーティクルであって、その命令が、機械に、
帯域幅必要条件を達成するディジタルビデオエンハンスメントデータの層を受信させ、次いで
その層をディジタル通信チャネルによって伝送させるアーティクル。
【請求項１７】
前記ディジタルビデオエンハンスメントデータの層が、第一帯域幅必要条件を達成するディジタルビデオエンハンスメントデータの第一層であり、前記命令が、さらに、機械に、
上記第一の帯域幅必要条件と等しくない第二の帯域幅必要条件を達成するディジタルビデオエンハンスメントデータの第二層を受信させ、次いで
その第二層を前記ディジタル通信チャネルによって伝送させる請求項１６に記載のアーティクル。
【請求項１８】
前記命令がさらに、機械に、
しきい値の値以上の各値を示す「１」ビットを含む層に対応するしきい値の値を受信させ、次いで
そのしきい値の値を、前記ディジタル通信チャネルによって伝送させる請求項１６に記載のアーティクル。
【請求項１９】
ソースビデオシーケンスから、ディジタルベースビデオ信号を生成し、
上記ソースビデオシーケンスから、ディジタルビデオエンハンスメントデータのボディを生成し、次いで
上記ディジタルビデオエンハンスメントデータのボディから、帯域幅の必要条件を達成するディジタルビデオエンハンスメントデータの層を生成する、
ことを含む方法。
【請求項２０】
前記ディジタルビデオエンハンスメントデータのボディが複数の値を有し、そして、ディジタルビデオエンハンスメントデータの層を生成するステップが、
しきい値の値を選択し、次いで
上記しきい値の値以上の各値を示す「１」ビットを含むディジタルビデオエンハンスメントデータの層を形成する、
ことを含む請求項１９に記載の方法。
【請求項２１】
ビデオデータ処理に対するコンピュータ実行可能命令を記憶するコンピュータ読み取り可能媒体を含むアーティクルであって、その命令が機械に、
ソースビデオシーケンスからディジタルベースビデオ信号を生成させ、
上記ソースビデオシーケンスから、ディジタルビデオエンハンスメントデータのボディを生成させ、次いで
上記ディジタルビデオエンハンスメントデータのボディから、帯域幅の必要条件を達成するディジタルビデオエンハンスメントデータの層を生成させるアーティクル。
【請求項２２】
前記ディジタルビデオエンハンスメントデータのボディが複数の値を有し、そしてディジタルビデオエンハンスメントデータの層を生成するステップが、
しきい値の値を選択し、次いで
上記しきい値の値以上の各値を示す「１」ビットを含むディジタルビデオエンハンスメントデータの層を生成する、
ことを含む請求項２１に記載のアーティクル。
【請求項２３】
一組の値を含むディジタルベースビデオ信号を受信し、
上記ディジタルベースビデオ信号の値に各々対応するビットの一組を含むディジタルビデオエンハンスメントデータの層を受信し、
しきい値の値を受信し、
上記ディジタルビデオエンハンスメントデータの層内の「１」ビット各々について、上記しきい値の値を、上記ディジタルベースビデオ信号の対応する値と結合させる、
ことを含んでなる方法。
【請求項２４】
前記ディジタルビデオエンハンスメントデータ層内のビットに対応する符号ビットを受信することをさらに含み、
前記しきい値の値を、前記ディジタルベースビデオ信号の対応する値と結合させる前記ステップが、上記符号ビットが正であるとき加算することによって結合させそして上記符号ビットが負であるとき引算することによって結合させることを含む、
請求項２３に記載の方法。
【請求項２５】
ビデオデータ処理に対するコンピュータ実行可能命令を記憶するコンピュータ読み取り可能媒体を含むアーティクルであって、その命令が、機械に、
一組の値を含むディジタルベースビデオ信号を受信させ、
上記ディジタルベースビデオ信号の値に各々対応するビットの一組を含むディジタルビデオエンハンスメントデータの層を受信させ、
しきい値の値を受信させ、
上記ディジタルビデオエンハンスメントデータの層中の「１」ビット各々について、上記しきい値の値を、上記ディジタルベースビデオ信号の対応する値と結合させるアーティクル。
【請求項２６】
前記命令がさらに、機械に、
前記ディジタルビデオエンハンスメントデータの層内のビットに対応する符号ビットを受信させ、
前記しきい値の値を、前記ディジタルベースビデオ信号の対応する値を結合させるステップが、上記符号ビットが正であるとき加算することによって結合させ、そして上記符号ビットが負であるとき引算することによって結合させることを含む、
請求項２５に記載のアーティクル。
【請求項２７】
ソースビデオシーケンスから、ディジタルベースビデオ信号を生成し、
上記ソースビデオシーケンスから、ディジタルビデオエンハンスメントデータのボディを生成し、次いで
上記ディジタルビデオエンハンスメントデータのボディから、帯域幅の必要条件を達成するディジタルビデオエンハンスメントデータの層を生成する、
ように配置構成されたエンコーダを含むシステム。
【請求項２８】
前記エンコーダがさらに、
帯域幅の必要条件に基づいてしきい値の値を選択し、次いで
そのしきい値の値に基づいて、ディジタルビデオエンハンスメントデータの層を生成する、
ように配置構成されている請求項２７に記載のシステム。
【請求項２９】
一組の値を含むディジタルベースビデオ信号を受信し、
上記ディジタルベースビデオ信号の値に各々対応するビットの一組を含むディジタルビデオエンハンスメントデータの層を受信し、
しきい値の値を受信し、
上記ディジタルビデオエンハンスメントデータの層内の「１」ビット各々について、上記しきい値の値を、上記ディジタルベースビデオ信号の対応する値と結合させる、
ように配置構成されたデコーダを含むシステム。
【請求項３０】
前記結合によって、エンハンスされた可視ビデオ信号が生成する請求項２９に記載のシステム。
【発明の詳細な説明】
【０００１】
背景
本発明はビデオ処理に関する。
【０００２】
アナログビデオは、帯域幅が限定されているディジタルチャネルで交信する場合、ビットストリームにエンコードされ、次にそのビットストリームが圧縮されることが多い。復元とアナログへ戻す変換は、受信者側で行われる。
【０００３】
品質の損失をある程度補償する圧縮技法は、ビデオデータを、伝送する前に、２ボディのデータすなわちデータの「ベース」ボディとデータの「エンハンスメント」ボディに分離する。そのベースデータは、ビデオシーケンスの低品質バージョンを含んでいるが、比較的狭い帯域幅を利用して伝送されることが多い。
【０００４】
上記エンハンスメントデータは、ベースデータの補正を行う。エンハンスメントデータには、画像の領域のカラーをエンハンスし、かつ画像の領域の細部をエンハンスする情報を含ませることができる。受信側で、上記ベースデータをデコーティンングプロセス中、上記エンハンスメントデータと再結合することができる。上記ベースデータとすべてのエンハンスメントデータが再結合すると、出力ビデオの品質が元のビデオに非常に近くなる。しかし、通信チャネルの帯域幅が限定されているため、エンハンスメントデータの完全ボディは伝送できないことが多い。その結果、エンハンスメントデータはより小さいサブセットに分割され、その小さいサブセットは各々狭い帯域幅を要求するので、エンハンスメントデータの１又は２以上のサブセットは、ベースデータと同時に伝送することができる。より多くのエンハンスメントデータを伝送すると、より優れた出力ビデオが生成するが、より大きい帯域幅が必要になる。
【０００５】
詳細な説明
一般に、以下に述べる技法は、異なる通信経路が帯域幅が異なることを特徴としているネットワークワークのビデオデータの配布を改良する。
【０００６】
図１ａはネットワークによって配布されるビデオデータがとる経路を示すブロック図である。入力ビデオ信号１０はエンコーダ１２に送られ、そのエンコーダ１２は、入力ビデオ信号１０を、機械で読み取り可能なビットのシリーズつまりビットストリームの形態のビデオデータに変換する。次に、そのビデオデータは、ビデオデータが要求されるまでサーバ１４に記憶される。サーバ１４は、ビデオデータに対する要求を受信するとそのデータを送信機１６に送り、その送信機１６はデータ１８を、ネットワークの通信チャネルを通じて伝送する。受信機２０は、データ１８を受信し次いで、そのデータをビットストリームとしてデコーダ２２に送る。デコーダ２２は、受信したビットストリームを出力ビデオ信号２４に変換し、その結果その信号は目視可能になる。
【０００７】
図１ｂはビデオデータを配布するシステムを示す。ビデオソース１１は入力ビデオ信号１０を生成しその信号は第一コンピュータ１３に入力される。第一コンピュータ１３はエンコーダ１２を備えており、そのエンコーダ１２は、上記ビデオデータを、ビットストリーム１８中にエンコードして、ネットワーク１９に連結された通信チャネル１７を通じて伝送する。また第一コンピュータ１３は、上記ビデオデータを記憶するメモリ１５も備えていてサーバ１４として機能できる。第二コンピュータ２３はデコーダ２２を備えているが、そのデコーダ２２はビットストリーム１８をチャネル１７を通じて受信する。デコーダ２２は、その受信したビットストリーム１８を出力ビデオ信号２４に変換し、その信号２４は表示器２５に表示することができる。
【０００８】
エンコーダ１２で行われるエンコーディングは、ＭＰＥＧ−２又はＭＰＥＧ−４のバージョン１又はバージョン２などの不可逆的圧縮法を実行できる（ＭＰＥＧはＭｏｔｉｏｎ Ｐｉｃｔｕｒｅ Ｅｘｐｅｒｔｓ Ｇｒｏｕｐの略語であり、ＭＰＥＧ−２とＭＰＥＧ−４は、そのグループが開発したディジタルビデオ圧縮標準とファイルフォーマットを表す）。これらの方法によれば、ベースビデオデータのボディがつくられ、すなわち、ソースビデオシーケンスが示す品質より劣る品質の表示可能なビデオシーケンスを生成させるのに充分なデータのボディがつくられる。そのベースビデオデータがデコードされて表示されたならば、生成したビデオは、最初のビデオの劣ったバージョンとして感知されるであろう。
【０００９】
ＭＰＥＧで利用される一つの不可逆的圧縮法は、ビデオシーケンス中の画像の大部分を、画像データ自体としてではなくて、一つの画像から次の画像への変化（動きベクトルとともに）としてエンコードする方法である。この方法では、帯域幅が著しく節約される。
【００１０】
エンハンスメントデータ（ｅｎｈａｎｃｅｍｅｎｔ ｄａｔａ）と称されるデータのもう一つのボディは、量子化されたベースビデオ画像と最初の未量子化入力ビデオ画像の差を取り込む。そのエンハンスメントデータは、ベースデータと結合されると、表示可能なビデオシーケンスの品質を改善し、ビデオ出力が改善される。
【００１１】
エンハンスメントデータのサブセットは、画像の修正又は一つの画像から次の画像への変化の修正を含むことができる。一般に、エンハンスメントデータはベースデータに対応している。すなわち、ベースデータが一つの画像から次の画像への変化をエンコードする場合、そのベースデータに対応するデータは、一画像から次の画像への変化の修正を含んでいる。またエンハンスメントデータは、エンコーディング１２中エンコードされたベースビデオデータから除かれた画像を復元するために、デコーディング２２中に使用することもできる。
【００１２】
多くの場合、通信チャネル１６は帯域幅が限定されているので、エンハンスメントデータのいくらかを収容できるが全部を収容できるわけではない。受信機２０とデコーダ２２が受信するエンハンスメントデータの量が全量より少ない場合、出力ビデオ２４は完全には修正されない。下記の方法は、帯域幅を有効に利用して、以下に述べるしきい値ベースのプロセスでエンハンスメントデータのサブセット又は「層」をつくることによって、与えられた帯域幅に対してより大きいエンハンスメントを配信する。
【００１３】
図２は画像を形成するいくつかのユニットを示す。画像は一般に画像画素すなわち画素で構成されている。８×８正方形の画素がブロック３０を形成しそして２×２正方形のブロックがマイクロブロック３２を形成する。横並びに配置されたマイクロブロックが画像データのスライス３４を形成することができる。スライスは、画像の水平のストリップ又はラスタスキャニングの順で隣接するいくつものストリップである。スライスのシーケンスが画像３６を組み立てることができる。例示を目的として、エンコーディングのプロセスは、８×８ブロックのビデオデータ３０を調べることによって説明する。実際の処理は、８×８ブロック以外のデータのユニット、例えばマイクロブロック３２を使用して行うことができる。
【００１４】
エンコーディングプロセス中、画像データは、データ圧縮の一部として変換プロセスを受け取ることができる。広く使用されている変換は離散的コサイン変換（ＤＣＴ）である。このＤＣＴは、変換されるデータが、周波数で順序付けられかつ係数で重みがつけられている点で離散的フーリエ変換と類似の線形変換である。ＤＣＴを受ける８×８ブロックの画素は８×８マトリックスの係数を生成する。ＤＣＴは、他の大きさの画素、例えば１６×１６ブロックの画素のグループにも作用できるが、８×８ブロックの変換はＤＣＴの代表的なアプリケーションである。一般に、ＤＣＴは８×８ブロックの画素各々を離散信号として処理する。ＤＣＴは、画素の水平周波数と垂直周波数を表す８×８マトリックスの係数をつくる。
【００１５】
図３ａは、ＤＣＴが前記係数を、８×８マトリックス４０にどのように配列しているかを示している。その水平係数は、左に低周波数のタームで順序付けられ、そして右に高周波数のタームで順序付けされている。垂直係数は頂部に低周波数のタームで順序付けられそして底部に高周波数のタームで順序付けられている。最上部で最も左の端のセル４２に記憶される係数は、水平周波数がゼロでかつ垂直周波数がゼロである８×８ブロックの画素の部分すなわちブロック全体にわたって一定の部分を示す。この係数は、「ＤＣ係数」と呼ばれることが多いが、画素のブロック全体の平均のカラーと明るさを示す。最下部で最も右の端のセル４４に記憶される係数は、ブロック内で水平と垂直の変化の最大量を示す。
【００１６】
マトリックス４０内の係数は、アービトラリー範囲（ａｒｂｉｔｒａｒｙ ｒａｎｇｅ）の整数である。これらの係数は、一組のビットからなる値（ｍａｇｎｉｔｕｄｅ）及び単一ビットからなる符号（正又は負の符号）として記憶されることが多い。
【００１７】
図３ｂに示すように、マトリックス４０は、２進係数の３次元アレイとして目視可能にすることができ、そのアレイの各セルは「１」ビット又は「０」ビットによって占有される。ビットの最上部のプレンすなわち「ビットプレン」４６は最上位プレンを示す。その次に最も高いプレン４８は次に最上位のビットを示すなど順に続く。最下部のプレン５０は、最下位のビットを示す。図３ｂに示すアレイは８×８マトリックスの係数を示し、各係数は８ビットからなる。したがって、各係数は０〜２５５（２８−１）の整数を示すことができる。８個程度のビットを使用してこれら係数を示すことができる。
【００１８】
エンコーディングプロセスはエンハンスメントデータの係数のマトリックスを生成するが、そのマトリックスは、伝送するためさらに複数のビットプレンに分割することができる。以下に考察するように、エンハンスメントデータをビットプレンに分割することは非効率的でかつインフレキシブルである。以下に紹介するしきい値ベースの階層化プロセスは、エンハンスメントデータのよりフレキシブルで効率的な分割法を提供する。
【００１９】
図４は代表的なエンコーダ１２のブロック図を示す。エンコーダ１２はソフトウェアとして使用することができ、そのソフトウェアは、磁気ディスク又はオプティカルドライブなどの機械読み取り可能媒体の機械又はコンピュータのシステムに記憶できるか又は読み取り専用メモリ（ＲＯＭ）のような不揮発性メモリ内に記憶することができる。図４は、一連の入力画像６０がエンコードされかつ圧縮されて、ビデオデータのベースデータビットストリーム６２＋エンハンスメントデータのビットストリーム６４になることを示している。ベースデータビットストリーム６２とエンハンスメントデータビットストリーム６４は、サーバに記憶させる前か又は通信チャネルによって伝送する前に、マルチプレクサ（図示せず）によって結合させて単一の出力ビットストリーム（図示せず）にすることができる。
【００２０】
上記ベースデータは、標準のビデオのエンコーディングと圧縮６６によってつくることができる。図４に示すエンコーディングと圧縮の要素６６は例示であるが、エンコーディングと圧縮を達成する唯一の方法ではない。エンコーディングと圧縮は、ＤＣＴ６８、量子化７０、スキャニング７２及び可変長コーディング７４を含んでいてもよい。ベースデータ６２をつくるプロセスは損失の多いプロセスであり、その損失の大部分は量子化７０を行っている間に起こる。また図４は、個々の画像の間の変化をエンコードする要素を含み、その要素には、逆量子化７６、逆離散的コサイン変換（ＩＤＣＴ）７８、動き補償８０、フレーム記憶８２、動き推定８４、及び入力画像ストリーム６０から早期画像８８を差し引いて（８６）、一つの画像から次の画像への変化を分離することが含まれている。
【００２１】
図４は、エンハンスメントデータをつくることになる差し引き９０を示す。エンハンスメントデータは、ベースデータとは別の処理９８を受ける。そのエンハンスメントデータは、未量子化ベースビデオデータと未量子化入力ビデオの差で構成されている。図４では、各画像に対応するエンハンスメントデータが、個々の画像自体に対するエンハンスメントのみならず個々の画像間の変化に対するエンハンスメントを示す。
【００２２】
そのエンハンスメントデータは任意の前処理９２を受けてもよい。前処理は、例えばエンハンスメントデータの視覚的に重要な要素を強調すること及び視覚的に重要でない要素を強調しないことを含んでいる。一般に、ビデオを見ている人は総じて、画像の細部ではなくて画像の全体外観に集中しがちである。全体外観に関連する情報は、視覚的に重要であるが、図３に示す低周波数のＤＣＴタームに集中しがちである。画像の細部に関する情報は、視覚的に重要度は低いが、高周波数のＤＣＴタームに集中しがちである。前処理を利用して、視覚的に重要なデータを強調し、そのデータにより高い伝送優先度を与えることができる。
【００２３】
エンハンスメントデータは、以下に詳細に述べるしきい値ベース階層化プロセス９４を受ける。しきい値ベースの階層化プロセス９４の繰り返しのアプリケーション１００によって、エンハンスメントデータの複数の層ができる。これらの層は、走査され（９５）、可変長コーダ９６によってコードされて、エンハンスメントデータビットストリーム６４が得られる。
【００２４】
ベースデータビットストリーム６２とエンハンスメントデータビットストリーム６４は、サーバに記憶させて、クライアントが、ネットワークに対するビデオのシーケンス及びブロードキャストを要求するのを待つことができる。ビデオデータが通信チャネル１７を通じて伝送されると、ベースデータ６２が、一般にエンハンスメントデータの層と共に伝送される。
【００２５】
図５は代表的なデコーダ２２のブロック図を示す。デコーダ２２は、エンコーダ１２と同様に、ソフトウェアとして使用できる。図５は、サーバ１４が通信チャネル１７を通じて伝送しクライアントが受け取った（２０）ビデオデータをデコードして回復させる方法を示す。図５に示すデコーダ２２は、ビデオデータをデコードする一方法を例示するが、データをデコードする唯一の方法ではない。図５に示すいくつかのオペレーションは線形なので、異なる順序に見える。例えば図５は、ＩＤＣＴオペレーション１１４、１３２の後、ベースデータと再結合されるようなエンハンスメントデータを示す。この技術によって、ベースデータ値が画素などの画像ユニットに対応し、エンハンスメントデータが画像ユニットに対する修正を示す。しかし、離散的コサイン変換は線形であるから、エンハンスメントデータは、ＩＤＣＴオペレーション１１４、１３２の前にベースデータと再結合することができる。後者の場合、ベースデータ値はＤＣＴ係数を表し、そしてエンハンスメントデータはこれら係数の修正値を示す。さらに、デコーディングは、図５にはない追加の作動を含めることができる。
【００２６】
デコーダ２２に対する入力はビデオデータのビットストリーム（図示せず）を含み、このビットストリームは、ベースデータのビットストリーム６２とエンハンスメントデータのビットストリーム１０２に分離することができる。デマルチプレクサ（図示せず）を使用してこれらビットストリームを分離することができる。図５に示すベースデータビットストリーム６２は図４に示すビットストリーム６２と同じビットストリームである。しかし、図５に示すエンハンスメントビットストリーム１０２は、図４に示すエンハンスメントデータビットストリーム６４と必ずしも同じではない。チャネルの帯域幅が限定されているので、そのチャネルでは、エンハンスメントデータの全量より少ない量しか伝送できない。
【００２７】
上記ベースデータとエンハンスメントデータは、異なるデコーディングプロセスすなわち「パイプライン」１０４、１０６にかけられる。ベースデータとエンハンスメントデータのエンコーディングが同一のステップで構成されていなかったことがあるように、デコーディングプロセスにもいくつかの差がありうる。
【００２８】
ベースデータのデコーディングパイプライン１０４では、ベースデータは可変長デコーディング１０８、インバーススキャン１１０、インバース量子化１１２及びＩＤＣＴ１１４を受ける。可変長デコーディング１０８、インバーススキャン１１０、インバース量子化１１２及びＩＤＣＴ１１４のオペレーションは、図４に示すエンコーディング中に行われる可変長コーディング７４、スキャニング７２、量子化７０及びＤＣＴ６８の諸オペレーションを事実上取り消す。デコードされたベースデータを次に動き補償器１１６で処理することができ、そしてその補償器は、一つの画像から次の画像へ変えることによって個々の画像を復元することができる。前の画像すなわち「基準」画像１１８からのデータは、「フレームバッファ」１２０と呼称される一次記憶ユニットに記憶することができ、基準として使用できる。ＩＤＣＴ１１４からのデコードされたデータは、動き補償器１１６が利用して、シーケンス内の次の画像が前の画像からどのように変化するかを確認する。ＩＤＣＴ１１４は範囲外の数字のような無効のビデオデータをつくることがある。「クリップ」機能１１５は、そのデータを最も近い範囲内数字に設定することによって有効化する。ベースデータパイプライン１０４の出力はデコードされたベースビデオデータ１２２である。図５に示すベースデータのデコーディング法は一例であり、デコーディングを達成する唯一の方法ではない。
【００２９】
エンハンスメントデータのデコーディングパイプライン１０６はベースデータのデコーディングパイプライン１０４とは異なっている。エンハンスメントデータは可変長デコーディングプロセス１２４とインバーススキャンプロセス１２６を受けるが、これらのプロセスはエンコーダ１２が実行する可変長コーディング９６とスキャニング９５を取り消す。そのデータは次に収集１２８と後処理１３０を受ける。収集１２８は、以下により詳細に説明するが、しきい値ベースの階層化プロセス９４によってつくられるエンハンスメントデータの層を結合する。後処理１３０はエンコーダ１２が実行する前処理９２を取り消す。ＩＤＣＴ１３２からの出力は、修正を表し、ベースデータと合計され（１３４）、クリップされて（１３５）、エンハンスト可視ビデオデータ（ｅｎｈａｎｃｅｄ ｖｉｅｗａｂｌｅ ｖｉｄｅｏ ｄａｔａ）１３６になる。
【００３０】
上記のように、帯域幅が限定されていることによって、エンハンスメントデータの全ボディの伝送が阻害されることが多い。帯域幅が限定されている場合は、出力ビデオの最良品質をもたらすエンハンスメントデータのサブセットを伝送することが望ましい。エンハンスメントデータのサブセットを選択する一方法は、ビットプレン単位でエンハンスメントデータを伝送する方法である。サーバ１４は、第一に最上位ビットプレン４６を伝送し、続いて、次に最上位のビット４８を含むビットプレンを伝送する。サーバ１４は、帯域幅が収容できる限り多数のビットプレンを伝送し続ける。最上位ビットプレン４６は最高の伝送優先権を受け取り、次に最上位のビットを有するビットプレン４８が次に最高の伝送優先権を受け取るなど順に続く。帯域幅が限定されているので、下位のビットを含むビットプレンは全く伝送されないことがある。
【００３１】
エンハンスメントデータをビットプレン単位で伝送することはいくつもの理由のため非能率的である。第一に、ベースデータに対するほとんどの修正が比較的小さい修正になりがちである。その結果、エンハンスメントデータのブロック４０内の数字の大部分は小さい数字になりがちなので、最上位ビットプレン４６は通常、高い比率の「０」ビットを含んでいる。同様に、次に最上位のビットプレン４８は高い比率の「０」ビットで構成されがちであるが、その比率は一般に、最上位ビットプレン４６ほどに高くはない。したがって、大部分のエンハンスメントビットが「０」ビットであるから、エンハンスメントデータの２ビットプレンだけを伝送すると、一般に、ベースデータに対する修正が不充分になる。その結果、エンハンスメントデータを、ビットプレン単位で伝送すると、画像の品質が帯域幅に比例して改善されない。例えば、利用可能な帯域幅の１／２を削減すると、通常、画像品質の修正が１／２以上削減される。
【００３２】
第二に可変長コーディング９６を受けている各ビットプレンは、同じでない大きさの帯域幅を消費する。一般に、最上位ビットプレン４６は最も小さい帯域幅を必要とし、そして最下位ビットプレン５０は最大の帯域幅を必要とする。概して述べると、各ビットプレンは、その上のビットプレンより大きい帯域幅を消費する。エンハンスメントデータがビットプレン単位で伝送されると、伝送される各ビットプレンは、前に伝送されたビットプレンより大きさが大きい帯域幅を消費する。帯域幅が新しいビットプレン全体を収容できない場合には、ビットプレンの一部しか伝送できない。その結果、画像３６の一部しか、ビットプレンのエンハンスメントを受け取らず、画像の残りの部分はビットプレンのエンハンスメントを受け取らない。全画像３６は等しくエンハンスされない。
【００３３】
第三に、ビットプレン単位の伝送はインフレキシブルであるので、エンハンスメントデータの品質による調節を行うことができない。
【００３４】
ここで説明する方法は、しきい値ベース階層化プロセス９４を利用することによって、利用可能な帯域幅を有効に利用する。しきい値ベース階層化法９４は、エンハンスメントデータを、ビットプレンに不動に分割するのではなくて、層にフレキシブルに分割することによって、画像を全体として改善するためのものである。エンハンスメントデータをビットプレンに分割する方法は、エンハンスメントデータの特性を考慮していない。対照的に、エンハンスメントデータを層に分割する方法は、エンハンスメントデータを、そのデータの特性に応じて分割することができる。したがって、しきい値ベースの階層化プロセス９４は、エンコーダ１２に、エンコーディングプロセスをエンハンスメントデータに適応させる。しきい値ベース階層化の利点は、通常、ほぼ等しい大きさの帯域幅を消費する複数の層をつくって、受信した画像の品質を利用可能な帯域幅により密接に関連づけることができることである。
【００３５】
エンハンスメント層をつくるプロセスを図６に示す。そのプロセスは、エンハンスメントデータのボディがしきい値ベース階層化プロセスに入ること（１４０）から始まる。エンハンスメントデータの層をつくる必要があるかどうかを確認し（１４２）、その必要がなければ、しきい値ベースの階層化プロセス９４は終了する（１４４）。前記階層化プロセスを終了できる多くの条件がある。例えば、エンハンスメントデータが全部「０」ビットで構成されている場合、処理すべきデータはもはやないので階層化プロセス９４は終了する。他の終了条件は、プロセス９４が予め定められた数の層をつくったかどうか又は利用可能な帯域幅がすべて消費されたかどうかという条件である。またエンコーダ１２は、つくるべき層の数を決定することもできる。
【００３６】
以下により詳細に説明するように、エンハンスメントデータの層をつくることにはしきい値の値を選択すること（１４６）が含まれている。このしきい値の値に基づいて、「１」ビットと「０」ビットからなるエンハンスメントデータの層が生成する（１４８）。エンハンスメントデータの層は、前記しきい値の値以上の大きいすべての値を示す「１」ビットを含み、そして前記しきい値の値未満のすべての値を示す「０」ビットを含んでいる。しきい値の値を選択することによって、層は、ビットプレンに含まれているより多いか、少ないか又は等しい数の「１」ビットを含むことができる。しきい値を選択して、層の中の「１」ビットの数を調整し、又は「１」ビットの層内分布を調整し、又は一つの層もしくは層の組み合わせが消費する帯域幅を制御することができる。そのしきい値の値は、エンハンスメントデータの値から差し引かれるが（１５０）、負の値が生じないように、しきい値に等しいかもしくはしきい値を超える値からのみ差し引かれる。
【００３７】
一旦、層ができると、その層はエンハンスメントデータのビットストリーム６４に入れることができる（１５２）。その層は通常、選ばれたしきい値の値を記憶するヘッダを含んでいる。上記ヘッダ中のしきい値の値は、デコーダ２２がエンハンスメントデータをデコードするのに使用できる。データのしきい値の値及び層に加えて、正負符号の値を送ることができる。正負符号値のデータを伝送する方式は多数あるが、一般的に述べると、エンハンスメントデータのビットストリームに実際に含まれている係数の符号値のみを伝送し、しかも係数の符号値を１回だけ伝送することが一層有効である。次に、階層化法を繰り返して（１５４）、異なるしきい値の値を有する追加の層をつくることができる。同じしきい値の値を繰り返し使用して層をつくることができ、また、後のしきい値の値を前のしきい値の値より大きくすることも可能である。
【００３８】
エンハンスメントデータの特性に基づいてしきい値のレベルを選ぶ方法が多数ある。しきい値のレベルを設定する方法のうちの一つを図７に示す。エンハンスメントデータ（１６０）は、係数の値の周波数をカウントすること（１６２）によって評価される。統計分析、例えばヒストグラムの作成（１６４）を利用して、係数の分布が評価される。統計分析（１６４）によって分かった分布に基づいて、しきい値を選択してエンハンスメントデータを層に分割する（１６６）。エンハンスメントデータを分割する方法には、エンハンスメント層に対する「１」ビットの目標数を選択すること、望ましい帯域幅内に入る層をつくること、望ましいエンハンスメントの品質を生成する層をつくること、エンハンスメントデータの他の特性に応じて層をつくること、又はそれらの組み合わせが含まれている。以下に示す方法には、各層がほぼ目標の数の「１」ビットを含んでいる複数の層をつくるしきい値の値を選ぶことが含まれている。
【００３９】
図８Ａと８Ｂは、エンハンスメントデータの５層（２００、２０２、２０４、２０６、２０８）の世代を、３ビットプレン（１９２、１９４、１９６）の世代と比較する小画像に対する係数の値（１９０）の代表的ブロックを使用している。また図８Ａと８Ｂはしきい値の値を選ぶ多くの方法のうちの一つを示す。係数の値の代表的ブロック（１９０）から始まり、ブロック中の最大値が１２０であるか（１２０はこの例ではＤＣ係数の値である）又は７ビットの２進数「１１１１０００」であることを確認できる。ブロック（１９０）中の最大値は７ビットで表すことができるから、そのブロック全体は７ビットプレンで表すことができる。最上位ビットプレン（１９２）は１４個の「１」ビットを含んでいる。２番目に最上位のビットプレン（１９４）は２１個の「１」ビットを含んでいる。３番目に最上位のビットプレン（１９６）は２６個の「１」ビットを含んでおり、これは最上位ビットプレン（１９２）のほとんど２倍の数である。相次いで連続する各ビットプレンの「１」ビットの数は増大するので、各ビットプレンは、その前のビットプレンより大きい帯域幅を消費する。
【００４０】
図８Ａに示す３ビットプレン（１９２、１９４、１９６）とは対照的に、図８Ｂはエンハンスメントデータの五つの層（２００、２０２、２０４、２０６、２０８）を示し、各層は約１０個の「１」ビットを含むことを目標としている。第一エンハンスメント層（２００）は、７１という第一しきい値の値を選択することによってつくった。得られたエンハンスメントデータの第一層（２００）は、第一しきい値の値７１以上の大きいすべての係数値に対する「１」ビット、及び上記しきい値の値より小さいすべての係数値に対する「０」ビットを含んでいる。第一しきい値の値７１を選択することによって、１０個の「１」ビットを含む第一層（２００）が得られる。
【００４１】
第一しきい値の値７１が次に、そのしきい値の値以上の大きいすべての係数値から差し引かれて（１５０）、第二層（２０２）がつくられる。第二の選択されたしきい値の値は４９であり、この値によってエンハンスメントデータの第二層（２０２）が得られる。第二層は、第一層と同様に１０個の「１」ビットを含んでいる。
【００４２】
次にこのプロセスが繰り返されて第三層（２０４）が生成し、その第三層は第三のしきい値の値３３を使用している。もう一度、第三層（２０４）は１０個の「１」ビットを含んでいる。第四しきい値２５でつくられた第四層（２０６）は同様に１０個の「１」ビットを含み、第五しきい値１９でつくられた第五層（２０８）も同様である。
【００４３】
こうして、しきい値の値を選択することによって、エンハンスメントデータの五つの層（２００、２０２、２０４、２０６、２０８）をつくることができ、各層は１０個の「１」ビットを有しかつほぼ同じ帯域幅を消費する。実際には、すべての層が目標数の「１」ビットを正確にもつようになるわけではなく、データの分布に基づいてしきい値の値を選ぶことによって、１層当りの「１」ビットの数が互いに近いいくつもの層をつくることができる場合が多い。さらに、エンハンスメントデータを等しい帯域幅の層に分割することが望ましいであろうが、これらの層は帯域幅が等しくなくてもよい。
【００４４】
またその利用可能な帯域幅は、前記しきい値の値を決定する役割をはたすこともできる。例えば、利用可能な全帯域幅が、単位時間当り約５０個の「１」ビットを収容できるならば、しきい値を使用してエンハンスメントデータを層に分割する方法には、エンハンスメントデータをビットプレンに分割する方法を超える利点がある。上記しきい値ベースの階層化プロセスは、エンハンスメントデータの五つの完全な層（２００、２０２、２０４、２０６、２０８）を生成するフレキシビリティを有し、各層は画像全体を改善し、そして各層は利用可能な帯域幅の中に保持することができる。とはいえ、同じ帯域幅は、利用可能な帯域幅が収容できる数より多い単位時間当りの「１」ビットを含む最初の３ビットプレン（１９２、１９４、１９６）を収容できない。利用可能な全帯域幅が異なる数の「１」ビットを収容できれば、しきい値を選んで、その帯域幅内に保持できる層をつくることができる。
【００４５】
また、しきい値の選択は、エンハンスメントデータを、帯域幅の異なる二つのチャネルで伝送すべきかどうかを考慮することができる。例えば、第一チャネルが単位時間当り約５０個の「１」ビットを収容することができかつ第二チャネルが単位時間当り約３０個の「１」ビットを収容できれば、五つの完全な層（２００、２０２、２０４、２０６、２０８）を第一チャネルによって伝送しかつ三つの完全な層（２００、２０２、２０４）を第二チャネルによって伝送することができる。
【００４６】
またしきい値の選択は、帯域幅以外の他の因子又は帯域幅に付け加えた他の因子、例えば、一層当りの望ましい大きさの改善にも基づいて行うこともできる。
【００４７】
これらの層及びこれら層の対応するしきい値の値をデコーダ２２が受信した後、デコーダ２２は、これら層を収集する（１２８）ことによって階層化プロセスを取り消す。収集するプロセスを図９に示す。収集プロセスの開始時に、ビデオデータの特定ユニット例えばブロック３０のエンハンスメントデータが受信される（２１０）。そのエンハンスメントデータは、典型的には複数の層で構成されている。エンハンスメントデータのこれらの層は収集されて、バッファに入れることができ、そのバッファは補正係数の値を保持する。上記バッファの補正係数は典型的にゼロに初期設定される（２１２）。エンハンスメントデータの層が存在しているならば（２１４）、その層を生成するのに使用されるしきい値の値が回復され、例えばそのしきい値は層のヘッダから回収される（２１６）。そのしきい値の値は、次に、層中の各「１」ビットに対するバッファの各補正係数に加えられる（２１８）。各「０」ビットについては、バッファ内の対応する補正係数に何も付け加えない。このプロセスは、追加の層がある限り繰り返される（２２０）。各追加層によって、バッファ内のデータは、エンコーダ１２内でしきい値プロセス９４を受けたデータの値に近づく。すべての層が収集されると、バッファ内のデータは、デコーダ２２が受信した収集エンハンスメントデータ１０２を表し、そのデータは通常、エンハンスメントデータの完全ボディの近似物にすぎない。そのデータは適切な符号値に割り当てられる（２２２、２２４）。
【００４８】
またそのデータは任意の打切り調整も受けることができる。打切りの不正確さが、最低のしきい値の値より低くかつ小さすぎて伝送できない非ゼロ値に起こる。これらの値はバッファ内にゼロとして表される。打切り調整によって、少量の「ノイズ」が加えられてゼロ値が置換される。そのノイズは、一定の値、例えば最低のしきい値の値の約１／４の数字を、バッファ内のゼロ値に加えることで構成されているだけである。もう一つの選択肢は、これらゼロ値を、前記最低のしきい値の値より小さいランダム整数値で置換する方法である。打切り調整（２２６）に続いて、収集プロセスが終了し（２２８）、次にエンハンスメントデータは、図５に示すようにさらに処理してベースデータと結合させることができる。
【００４９】
本発明の各種実施態様を述べてきた。これらの及びその他の実施態様は本願の特許請求の範囲の範囲内に入っている。
【図面の簡単な説明】
【図１Ａ】ビデオ信号の経路を示す機能ブロック図である。
【図１Ｂ】ビデオ信号の経路を示す線図である。
【図２】典型的な画像を形成するユニットの階層表現図である。
【図３Ａ】ＤＣＴ係数の組織を示す線図である。
【図３Ｂ】ＤＣＴ係数の組織を示す線図である。
【図４】ビデオのエンコーディングと圧縮を示すブロック図である。
【図５】ビデオのデコーディングを示すブロック図である。
【図６】しきい値ベースの階層化プロセスを示すフローチャートである。
【図７】しきい値の選択を示すフローチャートである。
【図８Ａ】ビットプレンのサブセット及び層に分割されたエンハンスメントデータの係数の値のボディの一例を示す。
【図８Ｂ】ビットプレンのサブセット及び層に分割されたエンハンスメントデータの係数の値のボディの一例を示す。
【図９】エンハンスメントデータの層のデコーダによる収集を示すフローチャートである。
【図１Ａ】
2004511186.tif 000003
【図１Ｂ】
2004511186.tif 000004
【図２】
2004511186.tif 000005
【図３Ａ】
2004511186.tif 000006
【図３Ｂ】
2004511186.tif 000007
【図４】
2004511186.tif 000008
【図５】
2004511186.tif 000009
【図６】
2004511186.tif 000010
【図７】
2004511186.tif 000011
【図８Ａ】
2004511186.tif 000012
【図８Ｂ】
2004511186.tif 000013
【図９】
2004511186.tif 000014
【国際公開パンフレット】
2004511186.tif 000015
2004511186.tif 000016
2004511186.tif 000017
2004511186.tif 000018
2004511186.tif 000019
2004511186.tif 000020
2004511186.tif 000021
2004511186.tif 000022
2004511186.tif 000023
2004511186.tif 000024
2004511186.tif 000025
2004511186.tif 000026
2004511186.tif 000027
2004511186.tif 000028
2004511186.tif 000029
2004511186.tif 000030
2004511186.tif 000031
2004511186.tif 000032
2004511186.tif 000033
2004511186.tif 000034
2004511186.tif 000035
2004511186.tif 000036
2004511186.tif 000037
2004511186.tif 000038
2004511186.tif 000039
2004511186.tif 000040
2004511186.tif 000041
2004511186.tif 000042
2004511186.tif 000043
2004511186.tif 000044
2004511186.tif 000045
2004511186.tif 000046
2004511186.tif 000047
2004511186.tif 000048
2004511186.tif 000049
2004511186.tif 000050
2004511186.tif 000051
2004511186.tif 000052
2004511186.tif 000053
2004511186.tif 000054
2004511186.tif 000055
2004511186.tif 000056
2004511186.tif 000057
2004511186.tif 000058
2004511186.tif 000059
【国際公開パンフレット（コレクトバージョン）】
2004511186.tif 000060
2004511186.tif 000061
【国際調査報告】
2004511186.tif 000062
2004511186.tif 000063
2004511186.tif 000064