【文献】
A.Fuldseth,et.al.,Replacing slices with tiles for high level parallelism,Joint Collaborative Team on Video Coding(JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 4th Meeting:Daegu,KR,20-28 January,2011,米国,JCTVC,2011年 1月21日,JCTVC-D227,P.1-P.5,URL,http://phenix.it-sudparis.eu/jct/index.php
(58)【調査した分野】(Int.Cl.,DB名)
前記信号のそれぞれ別の部分に対応している再構成データの部分は、互いから独立して、および、互いと並列に、の片方または両方で生成される、請求項1に記載の方法。
再構成データの一部は、受信した前記第2の品質レベルの前記信号のレンディションと、前記第2の品質レベルの前記信号の予備レンディションとの間の量子化された差に基づいて生成され、
前記第2の品質レベルの前記信号の前記予備レンディションは、前記第1の品質レベルの前記信号の前記レンディションに基づいて生成される、請求項2に記載の方法。
前記再構成データは、複数の異なる再構成データのセットを含み、前記複数の異なる再構成データのセットのそれぞれは、互いから独立してエンコードされ、前記第1の品質レベルの前記信号のレンディションに基づいて、前記第2の品質レベルの前記信号のレンディションを再構成するやり方を特定する、請求項1から4のいずれか1項に記載の方法。
前記確率分布情報を利用して、前記値を、デコードされた再構成データにデコードするために、前記デコーダは、レンジデコードを含むエントロピーデコード法を利用する、請求項7に記載の方法。
再構成データセットは、前記第1の品質レベルの前記信号の前記レンディションを前記第2の品質レベルの信号の予備レンディションにアップサンプリングした後で行う調節を示す剰余データを含み、
前記エントロピーエンコーダを利用する段階は、
各エントロピーデコーダが利用するデコードパラメータを生成して、前記剰余データの複数のシンボルの確率分布に推定を行う段階を有する、請求項1から5のいずれか1項に記載の方法。
前記再構成データは複数のグループを含み、前記再構成データの前記複数のグループのそれぞれが、剰余データのエレメントの1つのセットを含み、剰余データのエレメントの各セットは、前記第1の品質レベルの前記信号の前記レンディションを前記第2の品質レベルの前記信号の第1のレンディションにアップサンプリングした後に、前記信号の対応するエレメントに行う調節を示し、前記複数のグループのそれぞれは、前記第1の品質レベルの前記信号の前記レンディションを前記第2の品質レベルの前記信号の前記レンディションに再構成するための、それぞれ異なる再構成の品質のサブレベルをサポートしている、請求項6から10のいずれか1項に記載の方法。
それぞれ異なる再構成の品質のサブレベルは、同じ空間解像度および時間解像度の少なくとも一方を有し、再構成データの前記複数のグループは、再構成データの第1のグループと再構成データの第2のグループとを含み、前記再構成データの前記第1のグループは、前記信号の前記第1のレンディションから前記信号の第2のレンディションを再構成する第1の品質のサブレベルをサポートしており、前記再構成データの前記第2のグループは、前記信号の前記第1のレンディションと前記再構成データの前記第1のグループとの組み合わせから前記信号の前記第2のレンディションを再構成する第2の品質のサブレベルをサポートしており、前記第2の品質のサブレベルは、前記第1の品質のサブレベルより高い、請求項29に記載の方法。
前記再構成データは、再構成データの複数のセットを含み、前記複数のセットのそれぞれは、前記第1の品質レベルの前記信号の前記レンディションに基づく、前記第2の品質レベルの前記信号の第2のレンディションの再構成をサポートしており、
前記再構成データの前記複数のセットのそれぞれをエントロピーデコードするために利用されるシンボル確率分布情報は、互いに独立している、請求項6から10のいずれか1項に記載の方法。
前記エンコードされた再構成データは、前記第1の品質レベルの前記信号の前記レンディションを、前記第2の品質レベルの前記信号の前記レンディションにアップサンプリングするやり方を示す処理を特定する、請求項6から10のいずれか1項に記載の方法。
前記第2の品質レベルの前記信号の前記レンディションの第1の部分を生成するために利用されるアップサンプリング処理の係数は、実質的に無限の可能性のある係数のセットで示され、前記第2の品質レベルの前記信号の前記レンディションの第2の部分を生成するために利用されるアップサンプリング処理の係数と異なる、請求項32に記載の方法。
【背景技術】
【0001】
CPU(中央処理ユニット)の効率は、信号のエンコードおよびデコード両方に関係する。最新世代のプロセッサは、益々並列度が増しており、チップ1つずつに対して、数百の単純なコアが搭載されている。
【0002】
従来のMPEG(Moving Pictures Expert Group)ファミリーのコーデックの構造は、その性質上、並列ではない。これは、MPEGファミリーがブロックベースであり、各画像ブロックを順次エンコード、デコードする必要があることに起因している。これは、効率的に圧縮するためには、全てのブロックを、いくらか互いに対する関係を保って作成する必要があるからである。
【0003】
いわゆる「スライス」(基本的には、あたかも互いの隣に配置された別個のビデオのように、互いに独立して取り扱われる各画像のことである)をMPEG符号化に取り入れたことによって、H.264規格では、いくつかのスレッド(通常は2つから3つのスレッド)を並列処理することができるようになった。デブロッキング(つまり、より均一な画像を作成するために、ブロック間の遷移を「平滑」にするフィルタのこと)といった重要なアルゴリズムの要素は、通常、並列CPUを含むアプリケーションには不向きな条件付命令が満載の、典型的なグローバルオペレーションである。
【0004】
今日の典型的なCPUおよびGPU(グラフィック処理ユニット)は、非常に強力であり、1つのGPUが、情報の並列処理を実行するためのコンピューティングコアを数百個含むことができる。現在の技術を利用する際には、画像の大きな部分は、プロセッサキャッシュに格納して処理させることができる。MPEGの生成当時にはプロセッサは一度のビデオデータのほんの小さな部分しか(しかもシーケンシャルにしか)処理できなかったために、画像を複数の小さなブロックに分割する必要があり、このためにMPEGの生成が促された。しかし画像を複数の小さなブロックに分割する処理は、現代のCPUおよびGPUでは不要である。したがって、MPEGのようなタイプのエンコード/デコードを利用したときには、利用可能な処理能力の大半が利用されずに残り、信号にはブロッキングアーチファクトが無駄に残ることになる。
【0005】
さらに、MPEGの開発時の技術と比較すると、現代のアプリケーションは、通常、より精細なビデオエンコードと、より高い再生品質とを必要とする。高精細(HD)、高品質のビデオでは、精細度の低い(焦点がずれたものもある)領域と、非常に精細な領域との間の差が大きくなる。このために、関連する周波数の範囲が非常に広くなっており、画像処理にはMPEGで使用されているような周波数領域の変換が益々向かなくなってきている。
【0006】
加えて、画像の解像度が高くなると、カメラのノイズ量および/またはフィルム粒子の量も増える(つまり、視聴には無関係であり、エンコードするために多くのビットを要する、非常に詳細な高周波数の画素の遷移が多く含まれる)。
【0007】
最後に、従来のコーデックは、近年、特に医療用撮像、科学用撮像分野で重要度を増している三次元または体積測定撮像(volumetric imaging)を効率的に行うことが得意ではない。
【0008】
対象となる今日の殆どのデバイスは、様々な再生解像度および品質をサポートしている。スケーラビリティのための現在のMPEG規格である、所謂SVC(スケーラブルビデオコーディング)は、非常に複雑であり、帯域幅が非効率であるために、業界では快く受け入れられておらず、全くまたは少ししか利用されていない。
【0009】
さらに、エンコードされたビデオが多い。つまり、通常、コンテンツプロバイダは、エンコーダのパラメータをカスタマイズしたり、ビデオストリームごとに試行錯誤したりするような時間的余裕がない。現在、コンテンツプロバイダは、ビデオをエンコードするために、多くのエンコードパラメータを手動で変更することを好まない(エンコードを行うたびにその結果のクオリティをチェックする必要がある)。
【0010】
エンコード/デコードには、MPEG規格の代わりに、いわゆる画像ピラミッドも利用されている。たとえば、従来のシステムでは、ラプラシアンピラミッドを利用して、ガウスフィルタを利用して低解像度の画像を作成して、次に、厳密にプログラミングされたデコーダのアップサンプリングを使用して、低解像度から元の解像度に戻された画像間の差のピラミッドを構築する。
【0011】
従来のラプラシアンピラミッドエンコードは利用されなくなった。この種類の変換の欠点は、作者が、ダウンサンプリングされた画像における歪み/アーチファクトを避けようとして、通常、自身では情報をなんら追加しない唯一のタイプのフィルタであるガウスフィルタリングを利用していたことである。しかし、ガウスフィルタリングのもつ致命的な欠点は、ブラー効果(blurring effect)があることであり、アップスケーリングで高解像度に戻そうとする際に、原画像を再生するには、膨大な量の画像補正情報が必要となる。言い換えると、従来のフィルタを利用してアップサンプリングを行うと、再構成した画像において、ぎざぎざな、または、ぼけたエッジ(jagged or blurry edges)ができる。ぎざぎざな、または、ぼけたエッジは、大量の剰余データを利用して補正する必要があるので、この種類のエンコード技術は、高解像度の用途には不向きである。
【0012】
すべての信号エンコーダの重要な要素の1つに、現在、「エントロピーコーディング」と称されている処理がある。実際には、エンコード処理および変換をロスの少ないまたはロスのない方法で行うと、剰余(つまり、データから得ることができない新たな情報、たとえば、ビデオ信号の、デコーダで既に利用可能な前のフレーム)は、本質的は、更なるロスまたは近似なしに、且つ、できるだけ最少のビット量で送信すべき数のストリング(strings of numbers)になる。数のストリングを可能な限り最少のビット量で送信することができ、ロスのないデータの圧縮スキームが、通常、エントロピーコーディングと称される。数/シンボルのストリングのエントロピーという思想は、数/シンボルのストリングが本来含む情報量に関係している。つまり、全てのストリングの数/シンボルが異なっているわけではないので、ストリングが含むシンボルのうち、頻繁に繰り返されるものが少なくなるほど(理想的には1つ)、そのストリングをエンコードするために必要となるビット数が少なくなる。
【0013】
既にいくつかの文献が、エントロピーエンコード法を説明している。修正されたエントロピーコーダ(H.264で導入されたコンテキスト適合型のエントロピーコーダであるCABAC)は、結果が素晴らしいが、計算が非常に複雑であるという欠点を持っており、他の技術(たとえばレンジ符号化として知られている技術)は、適切なパラメータを利用しないと、同様の素晴らしい結果を生じることができない。一般的なエントロピーコーダは、エンコードするストリングのシンボル周波数の概算程度の効率性しか有さない(つまり、デコーダがエンコーダから何らかの手段を講じて得る必要のあるシンボルの確率分布のもの)
【0014】
MPEGファミリーのコーデックは、ブロックベースである。つまり、信号を複数のブロックに分割して、本質的に各ブロックを別個に分析/エンコードする。したがい理想的には、各ブロックの剰余について別の確率分布が必要となる。しかしこれは、非常に多数のブロックがあることを考えると現実的ではない。その結果、具体的なフレームについて特注したものではなくデータ圧縮の点では効率性が低い、標準的な確率分布を利用するか、効率性は高いが、非常に複雑なCABACを利用するか、ということになる。
【0015】
ここで説明する方法および実施形態は、効率的なエントロピーコード結果を、計算を複雑にすることなく得るための新規な方法に関する。
【発明の概要】
【0016】
ここに記載する実施形態は、層状の信号品質階層で圧縮、エンコードされたデータを生成する従来のシステムおよび方法とは異なっている(deviate)。たとえば、ここに記載する実施形態は、標準的なエントロピーエンコード技術に基づいて階層のエンコードされた再構成データを生成する固有の方法に関している。実装を簡単にして、圧縮を効率的に行うために、本特許出願は、レンジ符号化技術を利用する実施形態を記載しているが、本願に含まれる方法は、いくつかの他のタイプのエントロピーエンコーダにも適用可能である。
【0017】
より詳しくは、ここで説明する一実施形態は、複数の品質レベルを含む階層に信号をエンコードする信号プロセッサを含む。こうするために、信号プロセッサは、少なくとも第1の品質レベルの、信号のレンディションを生成する。信号プロセッサは、第1の品質レベルの信号のレンディションを、階層の第2の(より高い)品質レベルの信号のレンディションに変換する方法を特定する再構成データセットを生成する。たとえば、一部の方法では、再構成データセットが、前の(より低い)品質レベルから自動的に導出(「継承」)することができる信号のレンディションとデータを補正、統合、および、補完するために必要なすべての情報を特定する。
【0018】
次に、信号プロセッサは、レンジエンコーダ等のエントロピーエンコーダを利用して、各再構成データセットをエンコードする。各再構成データセットのエンコードには、エンコードされる再構成データを表すレンジ値(ビットストリング)を生成することが含まれてよい。
【0019】
更なる実施形態では、エンコードの前に、信号プロセッサが、各再構成データセットを分析して、再構成データの幾つかまたは全てのシンボルの確率分布を示す確率分布情報を生成することができる。再構成データの1以上のシンボルの確率を示す確率分布情報は、選択したエントロピーエンコーダ(たとえば、限定ではない例として、レンジ符号化、ハフマン符号化、表ベースのVLC/可変長符号化、ランレングス符号化等)に、再構成データを、適切なビットストリング(たとえばレンジ値)にエンコードさせることができる。レンジ値を作成した後に、エンコーダは、後で、レンジ値を再構成データにデコードして戻すときのために、レンジ値と確率分布情報とを格納する。エントロピー符号化は、アップサンプリング処理のパラメータ、量子化閾値、より低い品質レベルからのアップサンプリングの後に利用される剰余データ、公知の基準信号画像の動き補償の後に利用される剰余データ、動き補償に利用される密な動きマップの動きベクトルに対する調節、動きゾーン、ノイズに対するスペクトル情報、メタデータ等の別の種類の再構成データセットの1以上のいずれかを表していてよい。
【0020】
各再構成データセットについて、レンジデコーダ等の1以上のエントロピーデコーダリソースが、元の再構成データの各セットの1以上のシンボルの確率分布情報に少なくとも一部基づいて、エンコードされている値(たとえばレンジ値)をデコードして、元の再構成データに戻す。デコードした後に、別のリソースが、デコーダが生成したデコードされた再構成データを利用して信号のレンディションを再構成する。再構成は、上述した様々に異なる種類の再構成データに基づいていてよい。
【0021】
再構成データは、低い品質レベルの信号のレンディションに基づいて、および/または、既知の/利用可能な基準信号(たとえば限定ではない例として、ビデオの前のフレーム)に基づいて、次に高い品質の信号のレンディションを再構成するために複数の異なるタイプの適切なデータのいずれかを含むことができる。一実施形態では、再構成データは、ある品質レベルの信号のレンディションを、次に高い品質レベルの信号のレンディションにアップサンプリングした後で行われる調節を示す、いわゆるイントラ剰余データを含む。別の実施形態では、再構成データが、ある品質レベルから次に高い品質レベルに信号をアップサンプリングするために利用される1以上のアップサンプリング処理等のメタデータを含む。また別の実施形態では、再構成データが、低い品質レベルで利用される動きマップを適切な処理でアップサンプリングすることで得られる、密な動きマップ(つまり、全ての信号エレメントについて動きベクトルを含むマップのこと)に行われる調節を含む。この実施形態では、再構成データがさらに、既知の基準信号を上述した密な動きマップによって動き補償した後で再構成された信号に行われる調節を示す、インター剰余データも含む。一実施形態では、前の(より低い)品質レベルから自動的に得る(「継承する」)ことができるものに関する情報を特定することを避けることで、再構成データセットに必要な情報量を低減させることもできる。
【0022】
前述したように、各再構成データセットについて、エンコーダは、エンコードする再構成データの1以上のシンボル(シンボルのストリングとして表すことができる)の確率を示す、確率分布情報を特定することができる。エントロピーエンコーダは、各エントロピーデコーダが利用する少なくとも1つのデコードパラメータを生成して、剰余データの複数のシンボルの確率分布に推定する。
【0023】
更なる実施形態では、エントロピーエンコーダが、エントロピーデコーダに対して、再構成データにビットストリングのデコードを行うための、2を超える数のパラメータを指定する。この実施形態では、エントロピーデコーダは、第1のパラメータが、ゼロ等の最も多い値(most common value)に等しい再構成データの剰余データのエレメントの百分率を特定している、と想定する。パラメータを受信するエントロピーデコーダは、N個の更なるパラメータのそれぞれが、再構成データの別の、または、次に最も頻出するシンボルの確率を示している、と仮定する。N個のパラメータ、および、おそらくはその他の標準的なパラメータに基づいて、デコーダは、N番目のシンボルの後の他のシンボル全ての確率に推定を行う。確率分布情報は、元の再構成データにビットストリングをデコードして戻すための基盤を提供する。
【0024】
別の実施形態では、エントロピーエンコーダが、デコーダに対して、再構成データにビットストリングをデコードするための、2つのパラメータを指定する。この実施形態では、第1のパラメータが、デコーダにはわかっている値(たとえばゼロ)に等しい再構成データのシンボル(たとえば剰余データのエレメント)の百分率を規定する。第2のパラメータは、デコーダに、再構成データの更なるシンボルの確率に推定を行わせる情報を含む。分布情報は、元の再構成データにビットストリングをデコードして戻すための基盤を提供する。
【0025】
別の実施形態では、エンコーダが、デコーダに対して、再構成データにビットストリングをデコードするための、1つのパラメータを指定する。この実施形態では、この1つのパラメータが、デコーダにはわかっている値(たとえばゼロ)に等しい再構成データの剰余データのエレメントの百分率を規定する。次に、デコーダは、デコーダにはわかっている標準的なデフォルトのパラメータに基づいて、他のすべてのシンボルの確率に推定を行う。
【0026】
更なる実施形態では、階層の複数の品質レベルのそれぞれが、ある品質レベルで信号のレンディションを再構成するためのそれぞれの再構成データを含むよう構成されてよい。エンコードされたデータの量を減らすことが適切な場合には、ある品質レベルの再構成データの一部または全てを、各品質レベルの再構成データを特定する代わりに、次に高い品質レベルで利用する(「承継する」)ことができる。たとえば、エントロピーデコーダは、ビットストリングを受信して、エントロピーエンコーダが、データの確率分布パラメータを生成しない、または、より低い品質レベルのエントロピーエンコーダが、より高い品質レベルの確率分布パラメータを特定しないと明示的に示している、という条件を検知すると、エントロピーデコーダは、前の品質レベルで利用された確率分布パラメータを利用して、再構成データをデコードすることができる。
【0027】
ここに記載する実施形態はさらに、ある品質レベルの1以上の再構成データセットを、再構成データの複数のグループ(「タイル」)へと、パースする信号プロセッサを含む。例えば、タイル生成(tiling)を、剰余データを表す再構成データに利用する場合には、タイルの組み合わせが、(たとえば、より低い品質レベルからのアップサンプリングまたは既知の基準信号の動き補償の後の)ある品質レベルの信号のレンディションのエレメントを調節するための剰余データを定義している。エンコーダは、各タイルのシンボルの確率分布パラメータを生成する。エンコーダは次に、各タイルについて、これらの確率分布パラメータ(デコーダに送信されるもの)、または、前の(より低い)品質レベルから自動承継した確率分布パラメータ(デコーダがわかっており、改めて情報を送信する必要がないもの)、のいずれを利用するか、を決定する。エンコーダは次に、再構成データ(タイル)の複数のグループを、グループ化のために選択されたそれぞれの確率分布パラメータ(承継された、または、新しいもの)に基づいて、それぞれのビットストリングにエントロピーエンコードする。デコーダは、ビットストリングと確率分布値とを、それぞれのタイルにて受信して、複数のエントロピーデコーダの実行を(任意で並列的に)開始して、各タイルに関連している確率分布値とビットストリングとに基づいて、再構成データの複数のグループを再生する。ここで説明するタイル生成技術(technique of tiling)は、階層の1以上の品質レベルで利用され、エントロピーエンコード/デコードと信号の再構成との間の並列処理を促すことができる。
【0028】
これらおよびその他の実施形態の変形例について以下で詳述する。
【0029】
上述したように、ここに記載する実施形態は、ここに開示する方法の動作のいずれかまたは全てを実行する、および/または、サポートする1以上のコンピュータ化されたデバイス、ルータ、ネットワーク、ワークステーション、ハンドヘルドまたはラップトップコンピュータ、その他の構成を含むことができる。言い換えると、1以上のコンピュータ化されたデバイスまたはプロセッサは、別の実施形態を実行すべく、ここに記載されるように動作するようプログラミングおよび/または構成することができる。
【0030】
上述したようにエンコード/デコードすることに加えて、ここに記載するまた別の実施形態は、上で簡単にまとめ、以下で詳述するステップおよび動作を実行するためのソフトウェアプログラムを含む。これらの実施形態の1つは、1以上のプロセッサ(たとえばCPU、GPU等)および対応するメモリ、プログラムを有するコンピュータ化されたデバイスで実行されると、プロセッサにここで開示する動作のいずれかを実行させるコンピュータプログラム論理、命令等がエンコードされた、コンピュータ可読ハードウェア格納リソース(つまり、持続性コンピュータ可読媒体)を含む。これらの構成は、光学媒体(CD−ROM、DVD、BD等)、フロッピー(登録商標)またはハードディスクその他の媒体(たとえば1以上のROMまたはRAMまたはPROMチップのファームウェアまたはマイクロコード、または特定用途向け集積回路(ASIC))等のコンピュータ可読媒体に構成またはエンコードされたソフトウェア、コード、および/または、その他のデータ(たとえばデータ構造)として提供されてよい。ソフトウェア、ファームウェア、その他のこれらの構成は、コンピュータ化されたデバイスにインストールされ、コンピュータ化されたデバイスに、ここで説明した技術を実行させることができる。
【0031】
したがって、本開示の具体的な1つの実施形態は、信号処理動作をサポートする命令が格納されたコンピュータ可読ハードウェア記憶媒体を含むコンピュータプログラムプロダクトを対象としている。例えば一実施形態では、それぞれのコンピュータデバイスのプロセッサによって実行されると、プロセッサに、第1の品質レベルのレンディションを生成させ、第1の品質レベルの信号および/または既知の基準信号のレンディションに基づいて階層の第2の品質レベルの信号のレンディションを再構成するやり方を示す、少なくとも1つの再構成データセットを生成させ、第2の品質レベルは第1の品質レベルより高く、プロセッサはさらに、エントロピーエンコーダを利用して(たとえば限定ではない例として、レンジエンコーダ、ハフマンエンコーダ、表ベースのVLCエンコーダ、ランレングスエンコーダ)を利用して、それぞれ異なる再構成データセットをエンコードして、エントロピーエンコーダは、各セットについて、再構成データに含まれるシンボルを表すビットストリングまたはエンコードされた値を生成する。
【0032】
別の実施形態では、前述した実施形態のデコード側を代表して、それぞれのコンピュータデバイスのプロセッサによって実行されると、命令が、プロセッサに、第1の品質レベルの信号のレンディションを生成させ、デコードされると、第1の品質レベルの信号および/または既知の基準信号のレンディションに基づいて階層の第2の品質レベルの信号のレンディションを再構成するやり方を示す、少なくとも1つのエンコードされた値のセットを受信させ、第2の品質レベルは第1の品質レベルより高く、プロセッサはさらに、1以上のエントロピーデコーダを利用して(たとえば限定ではない例として、レンジデコーダ、ハフマンデコーダ、表ベースのVLCデコーダ、ランレングスデコーダ)を利用して、エンコードされている値をデコードして、第2の品質レベルの信号を再構成するために利用されるそれぞれ別の再構成データセットを再生する。
【0033】
明瞭化するために、ステップに順序を追加した。これらのステップは任意の適切な順序で実行することができる。
【0034】
本開示の他の実施形態には、上で簡単にまとめ、後で詳述する方法の実施形態のステップおよび動作のいずれかを実行するためにソフトウェアプログラム、ファームウェア、および/または、それぞれのハードウェアが含まれる。
【0035】
さらに、システム、方法、装置、コンピュータ可読記憶媒体の命令などは、ここで記載するように、厳密にソフトウェアプログラムとして、ソフトウェア、ファームウェア、および/または、ハードウェアの混合体として、または、プロセッサ内、オペレーティングシステム内、またはソフトウェアアプリケーション内等のハードウェア単独として、実施することができる。
【0036】
上述したように、ここに記載する技術は、信号をエンコード/デコードするソフトウェア、ファームウェア、および/またはハードウェアアプリケーションによく適している。限定ではない例として、これら技術でエンコード/デコードされる信号は、二次元(たとえば画像、ビデオフレーム、二次元動きマップ、熱マップ等)、三次元(たとえば三次元/体積画像、ホログラフィ像、CATスキャン、医療/科学用画像、三次元動きマップ等)、または三次元を超える特徴、時間ベースの信号(たとえばオーディオ信号、ビデオ信号等)などであってよい。簡略にする目的から、ここで説明する実施形態は、たとえば画像であってよい二次元設定平面(たとえば適切な色空間の二次元画像)として表示される画像に関している。しかし、同じ思想および方法を、他のいずれのタイプの信号にも適用することができる。さらに、しかし、ここに記載する実施形態は、このような用途での利用に限定はされず、ここに開示する技術は、他のアプリケーションにも同様に適している。
【0037】
加えて、ここに記載したそれぞれ異なる特徴、技術、構成等のそれぞれが、本開示では異なる場所で説明されている場合があるが、各思想は、互いに独立して、または互いに組み合わせられて実行することもできる。したがって、ここに記載する1以上の本願、実施形態等を、多くの異なる方法で実施したり、解釈したりすることができる。
【0038】
さらに、ここに記載する実施形態の前の説明は、全ての実施形態を網羅しているわけでも、および/または、本開示または請求されている発明の、増分的に新規な態様を網羅しているわけでもない。そうではなくて、この簡単な説明は、概略的に実施形態を提示し、従来の技術に対応する新規な点を提示しているに過ぎない。本発明の更なる詳細および/または可能な側面(置き換え)については、後述する本発明を実施する形態および対応する本開示の図面を参照されたい。
【発明を実施するための形態】
【0041】
図1は、ここに記載する実施形態における再構成データの処理の一例を示す。
【0042】
図示しているように、信号プロセッサ100−1は、信号115を、より低い品質レベルのそれぞれ別のレンディションにダウンサンプリングする。概して、信号115のダウンサンプリングは、それぞれ異なる品質レベルの信号のレンディションを生成することと、第1の品質レベルの信号のあるレンディションを、階層の次に高い品質レベルの信号のレンディションに変換するやり方を特定する再構成データを生成することとを含んでよい。
【0043】
信号115のレンディションおよび信号のより低い品質レベルにおける対応するレンディションに関する値は、任意の適切な種類のデータ情報を表していてよい。限定ではない例として、信号115は、それぞれの画像の複数の信号エレメント(たとえば画素/平面エレメント、画素/画像エレメント、ボクセル/体積画像エレメント(volumetric picture element)等)のそれぞれの設定(たとえば色成分、直交座標または極座標、温度、放射能量、密度値等で表される動きベクトル)を示す画像データ、ビデオのフレームまたはフィールド、医療用体積画像(volumetric medical image)、動きマップ等であってよい。
【0044】
信号115の各エレメントは、1以上の色成分等の幾つかの設定に帰属していてよい(attributed)。この実施形態では、信号データのあるエレメントの色成分が、YUV, RGB, HSV等の適切な色空間規格に従ってエンコードされる。
【0045】
限定ではない例では、信号115が表す画像が二次元(たとえば画像、ビデオフレーム、二次元動きマップ等)、三次元(たとえば三次元/体積画像、ホログラフィ像、CATスキャン、医療/科学用画像、三次元動きマップ等)、または三次元を超える特徴などであってよい。信号エレメントまたは成分の設定は、デバイスにおける再生または再現(playback or reproduction)のために信号を表現/表示するやり方を示す。
【0046】
更なる実施形態では、信号115が、複数のエレメントを含む原信号または高解像度の信号を表していてよい。これらの実施形態では、信号のレンディションのそれぞれ(たとえば信号のレンディション115−3、信号のレンディション115−2、信号のレンディション115−1等)は、信号115から、より低レベルの品質へとダウンサンプリングされた原信号のサムネール表現に類似したものであってよい。
【0047】
より低い品質レベルにおける信号115のレンディションは、原信号のより粗い属性を獲得(capture)するが、原信号の、より詳細なより細かい属性は獲得しない。詳細なより細かい属性は、より高い品質レベルにおける信号のレンディションにみられる。
【0048】
限定ではない例として、信号プロセッサ100−1が、原信号115を信号のレンディション115−3にダウンサンプリングして、信号プロセッサ100−1が、原信号115−3を信号のレンディション115−2にダウンサンプリングして、信号プロセッサ100−1が、原信号115−2を信号のレンディション115−1にダウンサンプリングして、といった作業を、最低品質レベルまで行う。信号115は、任意の適切なレベル数までダウンサンプリングすることができる。
【0049】
信号プロセッサ110−1は、信号115を、より低い品質レベルにそれぞれダウンサンプリングするときに、それぞれの再構成データ150を生成する。再構成データは、より低い品質レベルおよび/または既知の基準信号(限定ではない例として、ビデオの前のフレーム)の信号のレンディションに基づいて、次に高い品質レベルの信号のレンディションを再構成するやり方を示す。たとえば、再構成データ150−3は、信号のレンディション115−2を信号のレンディション115−3に変換する方法を示し、再構成データ150−2は、信号のレンディション115−1を信号のレンディション115−2に変換する方法を示し、再構成データ150−1は、信号のレンディション115−0を信号のレンディション115−1に変換する方法を示す、等である。
【0050】
再構成データ150は、より高い品質レベルの信号を再構成するために利用する複数の異なるタイプのデータのいずれかであってよい。たとえば再構成データは、アップサンプリング処理のパラメータ、量子化閾値情報、剰余データ、動きゾーン、動きベクトルに対する調節、ノイズのスペクトル情報、メタデータ等の、それぞれ異なるタイプの再構成データの1以上のセットのいずれかを含む。
【0051】
それぞれの信号をダウンサンプリングして、再構成データを生成する別の詳細においては、信号プロセッサ100−1が、再構成データの別のセットをテストして作成して、或る品質レベルから別の品質レベルにアップサンプリングするよう構成されていてもよい。
【0052】
再構成データ150は、信号処理のための任意の適したデータを含んでよい。例えば、再構成データ150の各セットは、メタデータ、剰余データ(residual data)等を含んでよい。メタデータは、信号のレンディションを或る品質レベルから次の品質レベルに変換する1以上のアップサンプリング処理のセット等のデータを含むことができ、剰余データは、(たとえば、低い品質レベルの信号のレンディションをアップサンプリングした後、または、同じ品質レベルの既知の基準信号を動き補償した後に)それぞれ異なる品質レベルで信号エレメントに行うべき調節等の情報などを示していてよい。
【0053】
信号プロセッサ100−1は、エントロピーエンコーダ140を含むことができる。一実施形態では、エントロピーエンコーダ140が、複数の異なる品質レベルのそれぞれの再構成データを、レンジ値情報180および確率分布情報190の各セットへと処理する。
【0054】
レンジ値情報180は、対応する再構成データセットについて生成した各レンジ値(つまり、エンコードされたシンボルを表すビットストリング)を含んでよい。確率分布情報190は、エンコードされている再構成データ150の各セットの1以上のシンボルの分布を示すことができる。一実施形態では、1以上の再構成データセット用の確率分布情報190の情報を避けることができ、これは、デコーダが、それぞれの再構成データセットについて、前の(より低い)品質レベルおよび/または既知の基準信号から継承した確率分布情報を利用すべきことを意味している。
【0055】
一実施形態では、エントロピーエンコーダ140およびデコーダ440が、良好なパフォーマンスおよび効率を持つレンジエンコード等の公知の技術に基づいていてよいが、これはあくまで限定ではない例であり、任意の適切なエントロピーエンコード法またはデータ圧縮法を利用して、再構成データ150をエンコードおよびデコードすることもできる。いずれの種類のエントロピーエンコードが利用されても、ここで説明する方法は、従来のシステムおよび方法とは異なっている。
【0056】
エントロピーエンコーダ140は、それぞれ異なるタイプの再構成データについて、レンジ値情報および確率分布情報をそれぞれ生成するよう構成することができる。
【0057】
より詳しい例を挙げると、信号プロセッサ100−1は、エントロピーエンコーダ140を利用して、再構成データ150−1を、レンジ値情報180−1および確率分布情報190−1にエンコードする。たとえばエントロピーエンコーダ140は、品質レベル#1の再構成データ150−1のセットを分析して、確率分布情報190−1のセットを生成する。各確率分布情報190−1のセットは、再構成データ150―1の対応するセットの1以上のシンボルの確率分布を示している。
【0058】
エントロピーエンコーダ140は、再構成データ150−2のための確率分布情報190−2を生成する。確率分布情報190−2のセットは、再構成データ150−2のセットの1以上のシンボルの確率分布を示している。一実施形態では、エンコーダが、1以上の品質レベルの1以上の再構成データセットについて確率分布情報を作成しないと選択することもでき、これは、対応する再構成データのセットについて、エンコーダおよびデコーダが、より低い品質レベルおよび/または既知の基準信号から自動的に継承した確率分布情報を利用すべきであることを意味している。
【0059】
信号プロセッサ100−1は、エントロピーエンコーダ140を利用して、対応する確率分布情報に基づいて、各品質レベルの各再構成データセットをエンコードする。たとえば、エントロピーエンコーダ140は、確率分布情報190−1を、再構成データ150−1を表すレンジ値情報180−1(つまりエンコードされたビットストリング)を生成するための基盤として利用して、エントロピーエンコーダ140は、確率分布情報190−2を、再構成データ150−2を表すレンジ値情報180−2を生成するための基盤として利用して、エントロピーエンコーダ140は、確率分布情報190−3を、再構成データ150−3を表すレンジ値情報180−3を生成するための基盤として利用する。
【0060】
信号プロセッサ100−1は、レンジ値情報180および確率分布情報190を、1以上の対象となるリソース対して後で配信するために格納しておく。一実施形態では、エンコードされた情報(つまりここではレンジ値情報180および/または確率分布情報190として称されるビットストリングの集合体のこと)は、ソースから通信リンクによって、信号115を再生または再現(reproduce or playback)するデコーダを含む消費者まで送信することができる。更に後述するように、信号115の再生には、1以上の品質レベルのそれぞれのレンジ値情報180および確率分布情報190を、それぞれの再構成データセットにデコードして、信号115を再生するために再構成することが含まれてよい。生成された信号のレンディションは、同じまたは異なる解像度であってよく、かつ、元のエンコードされた信号と同一、または、略同一であってよい。言い換えると、後者の場合には、ここで記載したエンコード/デコードは、損失がなくて損失があってもよい。
【0061】
一実施形態では、信号プロセッサ100−2が、それぞれの再構成データについて、レンジ値情報180(つまり、エンコードされたシンボルを表すビットストリングの集合体)および確率分布情報190を受信する。信号プロセッサ100−2は、エントロピーデコーダ440を実装している。エントロピーデコーダ440は、確率分布情報190を利用して、レンジ値情報180を再構成データにデコードする。
【0062】
上述したように、デコードした後に、信号プロセッサ100−2は、デコーダ440が生成した再構成データ150−1を利用して、第1の品質レベルの信号のレンディション115−0を、次に高い品質レベルの信号のレンディション115−1に変換して、信号プロセッサ100−2は、デコーダ440が生成した再構成データ150−2を利用して、信号のレンディション115−1を、信号のレンディション115−2に変換して、信号プロセッサ100−2は、デコーダ440が生成した再構成データ150−3を利用して、信号のレンディション115−2を、信号のレンディション115−3に変換する、等々である。
【0063】
信号プロセッサ100−2は、信号に元々存在している信号プロセッサ100−1がエンコードする最高品質レベルまで、上方変換およびレンディションプロセスを継続する必要はなく、実際、ここで説明した層状のエントロピーエンコードは、ローエンドの再生デバイスに、自身が対応可能なビットストリームの部分のみのデコードおよび再生を可能とさせる、という意味で、従来のシステムおよび方法と異なっている。同じ利点は、送信リンクが、ビットストリーム180全体に関連している情報量を搬送するには不適切、一時的(temporarily)、または、決定的(definitively)となった場合であっても得られる。デコーダに達することができる部分(たとえば180−1、180−2等から一定の品質レベルまで)は、信号プロセッサ100−2によって独立して処理およびデコード可能なので、送信リンクが劣化した場合などには、低減した品質ではあっても、信号115の再生を確実に行うよう保証することができる。
【0064】
再構成データのセットは、第1の品質レベルの信号のレンディションを、次に高い品質レベルの信号のレンディションにアップサンプリングした後で行われる調節、既知の基準信号を次に高い品質レベルの信号のレンディションに動き補償した後の特定の信号エレメントに行われる調節、または、既知の基準信号を次に高い品質レベルの信号のレンディションに動き補償するために利用される動きマップに行われる調節を示す剰余データを含むことができる。
【0065】
ここに記載する一実施形態には、各再構成データセットについて、確率分布情報190をエンコードするために必要なデータ量を低減させることが含まれる。デコーダ440に送信する必要のあるデータを低減させるために、エントロピーエンコーダ140は、確率分布情報を分析して、各デコーダが剰余データの複数のシンボルの確率分布を推定するために利用する1以上のデコードパラメータを含めることができる。
【0066】
より詳しくは、一実施形態では、エンコーダ140が、確率分布情報190を分析して、第1のパラメータおよび更なるパラメータを含む複数のデコードパラメータを含めることもできる。第1のパラメータは、第1のシンボルが割り当てられた再構成データ(たとえば剰余データ)のエレメントの百分率を指定する。更なるデコードパラメータのそれぞれは、再構成データ(たとえば剰余データ)に存在する次のシンボルの確率を示すことができる。
【0067】
別の実施形態では、ここで説明するエンコーダ140が、各再構成データの確率分布情報を分析して、第1のデコードパラメータおよび第2のデコードパラメータを生成する。第1のデコードパラメータは、第1のシンボルが割り当てられた剰余データのエレメントの百分率を指定して、第2のデコードパラメータは、再構成データ(たとえば剰余データ)の複数の他の(更なる)シンボルのそれぞれの確率分布値を推定するやり方を特定する。たとえば、一実施形態では、N個のそれぞれ別個のアルファベットシンボルが剰余データをエンコードするために利用されていると想定して、第1のデコードパラメータをd
1として、第2のデコードパラメータをd
2とする、と想定すると、デコーダは、全ての確率p(0)からp(N−1)の和が1:p(0) = d
1p(k) = p(k-1) * d
2であるべき(kの範囲は2からN−1)である制約をもつ以下の数式体系を解くことによって、全てのシンボルの確率p(0)からp(N−1)を計算することができる。
【0068】
また別の実施形態では、エンコーダ140は、剰余データの第1のシンボルの確率を示す1つのデコードパラメータのみが含まれるように、各再構成データセットについて確率分布情報を生成する。デコーダ440は、他のシンボルの確率分布を、デコーダにはわかっている予め定められている標準的なパラメータのセットに基づいて推定し、推定は、計算によってまたは表のルックアップによって行うことができる。
【0069】
更なる実施形態では、後述するように、全ての品質レベルについてデコーダに送信する必要のあるデータ量を低減するために、エントロピーエンコーダ140は、それぞれの再構成データについて確率分布情報を生成しない。このような例では、デコーダ440は、1以上のより高い品質レベルのそれぞれについて、より低い品質レベルからの確率分布情報を利用(「継承」)して、レンジ値情報を再構成データに変換する。
【0070】
図2は、ここに記載する実施形態における信号の処理の一例を示す。
【0071】
前述したように、一実施形態では、信号115が、画像情報を表していてよい。この限定ではない例では、信号115および対応する再構成データが、あるスケール係数(たとえばこの限定ではない例ではスケール係数が2である)で低解像度の画像を高解像度の画像に変換するやり方を示している、と想定する。
【0072】
さらに、エントロピーエンコードされた再構成データ150のセットが、デコードされると、各品質レベルの画像エレメントの設定を制御するやり方を示している、と想定する。たとえば、品質レベルJの画像210−1は、画像エレメントのフィールドWを含み、品質レベルJ+1の画像210−2は、画像エレメントのフィールドXを含み、画像210−3は、画像エレメントのフィールドYを含む、等々である。
【0073】
品質レベルJの再構成データは、画像210−1(たとえば信号のレンディション115―0)の画像エレメントWの設定を制御するやり方を示し、品質レベルJ+1の再構成データは、画像210−1の各画像エレメントWを画像210−2の4つのXのエレメントに変換するやり方を示し、品質レベルJ+2の再構成データは、画像210−2の各画像エレメントYを画像210−3の4つのYのエレメントに変換するやり方を示している、等々である。変換には、アップサンプリングおよびフィルタリング(非線形処理によって)が含まれ、この後に、エレメントに調節を行う。
【0074】
図3は、ここに記載する実施形態における再構成データを処理する別の例を示す。
【0075】
図示されているように、再構成データ150−3は、メタデータ160−3、剰余データ170−3等を含むことができる。再構成データ150−2は、メタデータ160−2、剰余データ170−2等を含むことができる。再構成データ150−1は、メタデータ160−1、剰余データ170−1等を含むことができる。
【0076】
エントロピーエンコーダ140は、メタデータ160−1を分析して、メタデータ160−1のシンボルの分布を示す確率分布情報390−1を生成する。エントロピーエンコーダ140は、さらに、剰余データ170−1を分析して、剰余データ170−1のシンボルの分布を示す確率分布情報391−1を生成する。
【0077】
エントロピーエンコーダ140は、メタデータ160−2を分析して、メタデータ160−2のシンボルの分布を示す確率分布情報390−2を生成する。エントロピーエンコーダ140は、さらに、剰余データ170−2を分析して、剰余データ170−2のシンボルの分布を示す確率分布情報391−2を生成する。
【0078】
エントロピーエンコーダ140は、メタデータ160−3を分析して、メタデータ160−3のシンボルの分布を示す確率分布情報390−3を生成する。エントロピーエンコーダ140は、さらに、剰余データ170−3を分析して、剰余データ170−3のシンボルの分布を示す確率分布情報391−3を生成する。
【0079】
ときどき、エントロピーエンコーダ140は、確率分布情報39*-*を生成しないと決断してもよく、この場合には、対応する再構成データセットについて、対応するレンジ値をエンコードするために利用する確率分布情報は、より低い品質レベルおよび/または既知の基準信号から自動的に継承される。
【0080】
なんらかの適切なエントロピーエンコード法を利用する場合(たとえば、レンジ符号化、ハフマン符号化、表ベースのVLC/可変長符号化、ランレングス符号化、その他の類似した技術)、エントロピーエンコーダ140は、メタデータ160−1のためにレンジ値情報380−1を生成し、剰余データ170−1のためにレンジ値情報381−1を生成し、メタデータ160−2のためにレンジ値情報380−2を生成し、剰余データ170−2のためにレンジ値情報381−2を生成し、メタ―データ160−3のためにレンジ値情報380−3を生成し、剰余データ170−3のためにレンジ値情報381−3を生成する、等々である。
【0081】
エントロピーデコーダ440は、確率分布情報390−1を利用して、レンジ値情報380−1をメタデータ160−1にデコードして、エントロピーデコーダ440は、確率分布情報391−1を利用して、レンジ値情報381−1を剰余データ170−1にデコードする。
【0082】
エントロピーデコーダ440は、さらに、確率分布情報390−2を利用して、レンジ値情報380−2をメタデータ160−2にデコードして、エントロピーデコーダ440は、確率分布情報391−2を利用して、レンジ値情報381−2を剰余データ170−2にデコードする。
【0083】
エントロピーデコーダ440は、さらに、確率分布情報390−3を利用して、レンジ値情報380−3をメタデータ160−3にデコードして、エントロピーデコーダ440は、確率分布情報391−3を利用して、レンジ値情報381−3を剰余データ170−3にデコードする。
【0084】
ときどき、エントロピーデコーダ440は、確率分布情報39*-*を受信しない場合もあり、この場合には、対応するレンジ値をデコードするために必要な確率分布情報は、より低い品質レベルおよび/または既知の基準信号から自動的に継承される。
【0085】
図4は、レンジエンコードとして知られている業界の基準である方法である、再構成データをエンコードするエントロピーエンコード法の一例を示す。
【0086】
図示されているように、最初、エントロピーエンコーダ140は、0から1といったレンジを選択して、シンボルの確率に基づいて分割する(subdivide)。既知の長さおよび既知のX、Y、およびZというアルファベットシンボルをもつ、再構成データのシンボルのあるシーケンス(たとえばXXYXZ)について、エントロピーエンコーダ140は、確率分布情報を生成する。この例では、確率分布情報は、シーケンスにおけるシンボルXの確率が60%であると示しており、シーケンスにおけるシンボルYの確率は20%であり、シンボルZの確率は20%である。確率分布情報およびシンボルのシーケンスに基づいて、エントロピーエンコーダ140は、レンジ値として、レンジに含まれる任意の数を生成する(0.25056, 0.25920)。特に、エンコーダは、最低量のビットを要求するレンジの数のうちの1つを選択する可能性が高い(たとえば二値ではきっかり0.0100001と表すことができる、基数点から7ビットのところにある、0.2578125)。
【0087】
そのシーケンスの確率分布情報を利用することで、デコーダは、レンジ値(たとえば二値0.0100001、または、ビットストリング「0100001」)をデコードして、シーケンスXXYXZに戻すことができる。
【0088】
このタイプのレンジエンコードは、各再構成データセットを各レンジ値にエンコードするために利用することができる。しかし、5つのシンボルの利用は限定ではない例として示したに過ぎず、この各再構成データのセットが、5つのシンボルを超えるシンボルを含むシーケンスを含んでも構わないことは言うまでもない(たとえば、数百のアルファベットシンボルから選んだ数万のシンボルのシーケンス、またはこれより多い数も可能である)。
【0089】
図5は、ここに記載する実施形態における、階層の複数の品質レベルのエンコードされた情報を利用する例を示す。
【0090】
この例では、信号プロセッサ100−1が、エントロピーエンコーダ140を利用して、再構成データをレンジ値情報および確率分布情報にエンコードする。
【0091】
たとえばエントロピーエンコーダ140は、品質レベル#1の再構成データ150−1(たとえば、ここで説明した1以上の異なるタイプの再構成データのいずれか)を分析して、確率分布情報490−1を生成する。確率分布情報490−1は、再構成データ150−1の1以上のシンボルの確率分布を示している。確率分布情報490−1および再構成データ150−1のシンボルのシーケンスに基づいて、エントロピーエンコーダは、レンジ値情報480−1を、ここで説明した方法で生成する。
【0092】
エントロピーデコーダ440は、確率分布情報490−1を、レンジ値情報480−1を再構成データ150−1に変換する基盤として利用する。
【0093】
次の品質レベルでは、エントロピーエンコーダ140は、品質レベル#2の再構成データ150−2を分析して、確率分布情報のセットを生成する。この例では、分析に基づいて、エントロピーエンコーダ140は、再構成データ150−2の確率分布情報が、再構成データ150−1の確率分布情報に実質的に類似している、または等しいことを認識する。このような場合には品質レベル#2の確率分布情報490−1は、新しい確率分布を特定するために必要となる情報を格納および/または送信する必要がなく、再利用(「継承」)することができる。
【0094】
前の品質レベル#1の確率分布情報490−1を、より高い品質レベルのエレメントについて再利用することで(たとえば、信号115−1のレンディションから信号115−2のレンディションへ)、エントロピーエンコーダ140は、レンジ値情報480−2を生成する。エントロピーエンコーダ140は、対応する確率分布情報なしに、品質レベル#2のレンジ値情報480−2を格納および送信する。言い換えると、エントロピーエンコーダ140は、レンジ値情報480−2のために、確率分布情報のセットをデコーダ440に送信しない。
【0095】
このような実施形態では、エントロピーデコーダ440は、レンジ値情報480−2を受信する。エントロピーエンコーダ140がレンジ値情報480−2のために確率分布情報を生成、送信しなかったと検知した場合には、エントロピーデコーダ440は、確率分布情報490−1(再構成データ150−1の1以上のシンボルの確率分布を示している)を利用して、レンジ値情報480−2を再構成データ150−2にデコードする。この技術によって、信号115を再構成するためにエントロピーデコーダ440に送信する必要のあるデータ量が減る。ある品質レベルの確率分布情報の1つのセットを、複数のより高い品質レベルで再利用することができる。エンコーダは、さらに、ある確率分布情報のセットを、現在の品質レベルから最上の品質レベル(最高の品質レベル)の更なる指定を必要とせずに継承することができる(つまり、無効(overrides)が生じない)、と規定することもできる。こうすることで、エンコード、格納、または送信が必要なデータの更なる低減をサポートすることができる。
【0096】
したがって、ここで説明する実施形態では、ある再構成データのレンジ値を受信して、前の(たとえばより低い)品質レベルの再構成データのシンボルの確率分布を特定して、特定された、より低い品質レベルの確率分布を利用して、レンジ値情報を、当該ある再構成データにデコードする。上述したように、階層の1以上のそれぞれ異なる、より高いレベルの確率分布情報の再利用(「インヘリタンス(inheritance)」)によって、信号を再構成するためにエントロピーデコーダに送信する必要のあるエンコードされたデータ量が減る。
【0097】
エントロピーエンコーダ140が、再構成データ150−3を分析して、再構成データ150−3のシンボルの確率分布情報が、再構成データ150−1および/または再構成データ150−2のシンボルの分布とは実質的に異なる(たとえば閾値より高い)ことを知った、とする。この場合には、エントロピーエンコーダ140は、確率分布情報490−3を生成する。確率分布情報490−3と再構成データ150−3のシンボルのシーケンスとに基づいて、エントロピーエンコーダ140は、レンジ値情報480−3を生成する。
【0098】
エントロピーデコーダ440は、レンジ値情報480−3と確率分布情報490−3とを受信する。エントロピーデコーダ440は、確率分布情報490−3を、レンジ値情報480−3を再構成データ150−3に変換する基盤として利用する。
【0099】
別の実施形態では、エントロピーデコーダ440が、ある品質レベルのレンジ値情報を受信することができる点に留意されたい。エントロピーエンコーダ140がある再構成データについて確率分布値を特定しなかった旨を検知すると、継承した確率分布(たとえば限定ではない例として、前の、より低い品質レベルと同じ確率分布情報)を利用する代わりに、エントロピーデコーダは、1以上のシンボルのためのデフォルトの確率分布値を利用して、レンジ値を各再構成データにデコードする。
【0100】
ここでも、レンジエンコードをエントロピーエンコード法として選択することは、ここでは限定ではない例として示されており、あくまで具体的な一実施形態であり、記載を明瞭に行うために記載されているにすぎず、ここで引用したものを含む、将来発見または開発され、シンボル確率を直接または間接に利用するいずれの適切なエントロピーエンコードまたはデータ圧縮法であっても、同じやり方で利用することが可能である点に留意されたい。
【0101】
<各フレーム/LoQの各タイルのための剰余分布の正確な情報> 例として、品質レベルNの剰余データをエンコードする必要がある場合を想定する。デコーダが、既に、前のレベルN−1についての情報を有しており、アップスケーリング処理/フィルタのセットを利用することで、レベルNの信号のレンディションの再構成を試みた場合を想定する。レベルNを完全に再構成するためには、デコーダが、レベルNの剰余データを受信する必要がある。
【0102】
エンコーダは、元のレベルNについて、および、デコーダの内部動作について知っているので(つまり、デコーダが計算するレベルNの「原案」を予測することができる)ので、エンコーダ140は、画像全体(たとえば品質レベルNのすべてのエレメント)を再構成するために必要な剰余の分布を、元の画像について所望の近似度/類似度で、計算することができる。
【0103】
効率を高めるために、ここで記載する一実施形態は、デコーダにゼロのシンボル(剰余データで最も頻繁に現れるシンボル)の確率を、ただ送信することを含む(たとえば、あるエレメントに必要な調節値がゼロ、略ゼロから適切な閾値までである場合等)。これは、シンボルのアルファベットのそれぞれ異なる可能性のある分布の中で区別を行うために最も有用なパラメータであってよい。したがって、各フレームの各品質レベルの各タイル(後述する)、デコーダ440は、剰余の適切な確率分布を有し、これにより、エンコーダ140が実装するエントロピーエンコーダが、高い有効性で(with remarkable effectiveness)再構成データを圧縮することができる。
【0104】
一実施形態では、上述したように、剰余データのそれぞれ異なるシンボルの具体的な分布は、ある品質レベルで必要になる場合にのみ送信されてよい。後続する品質レベルで、および、後続するフレームにおいて、デコーダは、デフォルトで、前の品質レベルで利用された確率分布情報を利用する(エンコーダ140が、新しいものを送信することで最後の値を無効にしない限り)。
【0105】
図6は、ここに記載する実施形態において、1以上の並列プロセッサを利用して再構成データのタイルを処理する一例を示す。
【0106】
図示されているように、エントロピーエンコーダ140は、各再構成データセットを複数の再構成データのグループにパースするよう構成されていてよい。たとえばエントロピーエンコーダ140は、再構成データ150−1をタイル610−1、タイル610−2、タイル610−3、タイル610−4、等にパースするよう構成することができる。品質レベル#1の各タイル610は、信号の予め定められた数(たとえば64)の連続したエレメントに対する再構成データを含むことができる。
【0107】
エントロピーエンコーダ140は、再構成データ150−2をタイル620−1、タイル620−2、タイル620−3、タイル620−4、等にパースするよう構成することができる。各タイル620は、信号の予め定められた数(たとえば256)の連続したエレメントに対する再構成データを含むことができる。
【0108】
再構成データは、ブロックベース、タイルベースではなく、信号全体を処理することで得ることができるものであり、生成された後で初めて別個のタイルにスライスされて、並列のエントロピーエンコード/デコードが可能となる。
【0109】
図7は、ここに記載する実施形態において、ある品質レベルである再構成データセット(たとえば剰余データ、または、動き補償の際の動きマップの調整)の複数のタイルをエンコードする一例を示す。
【0110】
前述したように、エントロピーエンコーダ140は、ある品質レベルの再構成データを複数のタイルへとパースすることができる。この例では、再構成データ150−2が、タイル再構成データ150−T1、タイル再構成データ150−T2、タイル再構成データ150−T3等へとパースされている。
【0111】
この実施形態では、エントロピーエンコーダ140が、複数のグループのそれぞれの1以上のシンボルについて、確率分布情報(たとえば各確率分布値)を生成する。たとえばエントロピーエンコーダ140は、タイルになった再構成データの複数のグループのそれぞれを、タイルのグループの各確率分布値に基づいて、レンジ値へとエンコードする。
【0112】
より詳しくは、エントロピーエンコーダ140は、タイル再構成データ150−T1の1以上のシンボルの分布を示す確率分布情報490−T1を生成して、エントロピーエンコーダ140は、タイル再構成データ150−T2の1以上のシンボルの分布を示す確率分布情報490−T2を生成して、エントロピーエンコーダ140は、タイル再構成データ150−T3の1以上のシンボルの分布を示す確率分布情報490−T3を生成する、等々である。
【0113】
確率分布情報490−T1および再構成データ150−T1のシンボルのシーケンスに基づいて、エントロピーエンコーダ140は、レンジ値情報480−T1を生成し、確率分布情報490−T2および再構成データ150−T2のシンボルのシーケンスに基づいて、エントロピーエンコーダ140は、レンジ値情報480−T2を生成し、確率分布情報490−T3および再構成データ150−T3のシンボルのシーケンスに基づいて、エントロピーエンコーダ140は、レンジ値情報480−T3を生成する、等々である。
【0114】
一実施形態では、再構成データの複数のグループのそれぞれが、あるタイルに含まれる信号エレメントに対する剰余データを含んでいる。剰余データのエレメントのそれぞれは、信号を第1の品質レベルから第2の品質レベルに変換する間に、信号の対応する部分に行う調節を示している。
【0115】
ここで説明するように、再構成データをそれぞれ異なるタイルのセットに低減させる(reduce)ことにより、信号プロセッサ100−2は、複数のエントロピーデコーダの並列実行を開始することができ、レンジ値480−Tおよび確率分布値490−Tを利用することで、複数の再構成データグループ(たとえば、タイル再構成データ150−T1、タイル再構成データ150−T2、タイル再構成データ150−T3、…)が再生される。
【0116】
グローバル信号/画像のための剰余の分布/ヒストグラムの計算も、並列アルゴリズムを利用して、単にタイルについて計算した分布/ヒストグラムを結合(merge)することで行うこともできる。
【0117】
図8は、ここに記載する実施形態における、1以上のデッドゾーンの量子化器を利用して、ある品質レベルの再構成データを量子化する一例を示す。再構成データ(たとえば剰余データ)にそれぞれ別のデッドゾーンを調節および適用することで、再構成データの複数の品質レベルのそれぞれを、さらに、複数の異なる品質のサブレベルに従ってエンコードすることができる。
【0118】
たとえばエンコーダは、剰余データ170−2等の再構成データを生成する。ここで記載したデッドゾーンの量子化を利用することで、階層の任意の品質レベルの任意の種類の再構成データを、それぞれ別のサブレベルにエンコードすることができる。
【0119】
それぞれ別のデッドゾーンの設定を利用することで(たとえば量子化器810−1、量子化器810−2、…)、エンコーダは、剰余データ170−2(つまり再構成データ)を、調節された剰余データ870−1、調節された剰余データ870−2、等を含む複数のグループにパースする。例えば一実施形態では、エンコーダは、量子化器810−1を剰余データ170−1に適用して、調節された剰余データ870−1を生成し、エンコーダは、量子化器810−2を剰余データ170−2に適用して、調節された剰余データ870−2を生成する、等である。量子化器810−1は、範囲#1のシンボルすべてをゼロ等の共通のシンボル(したがって、このレンジの共通の名称が「デッドゾーン」である)に設定する効果を持ち、量子化器810−2は、範囲#2のシンボルすべてをゼロ等の共通のシンボルに設定する効果をもつ。各量子化器はそれぞれ異なるレベルのデッドゾーンを提供し(さらに、量子化ステップも異なっていてよい)、これによりそれぞれ異なる品質のサブレベルが生成される。
【0120】
エントロピーエンコーダ140は、個別に、それぞれ異なるグループの再構成データをそれぞれ異なる品質のサブレベルでエンコードする。
【0121】
たとえば調節された剰余データ870−1の第1のグループについては、エントロピーエンコーダ140は、調節された剰余データ870−1を分析して、調節された剰余データ870−1の1以上のシンボルについて第1の確率分布値(たとえば確率分布情報890−1)を生成する。エントロピーエンコーダ140は、他の再構成データについて前述したように、確率分布情報890−1と、調節された剰余データ870−1のエレメントの設定と、に基づいてレンジ値情報880−1を生成する。
【0122】
調節された剰余データ870−2の第2のグループについては、エントロピーエンコーダ140は、調節された剰余データ870−2を分析して、調節された剰余データ870−2の1以上のシンボルについて第2の確率分布値(たとえば確率分布情報890−2)を生成する。エントロピーエンコーダ140は、確率分布情報890−2と、調節された剰余データ870−2のエレメントの設定と、に基づいてレンジ値情報880−2を生成する。
【0123】
上述したようにそれぞれ別の量子化器を利用して、階層の1以上の品質レベルのそれぞれをエンコードすることは、ネットワークが混雑していて再構成データをデコーダに送ることができない状況などに有用である。たとえば、レンジ値情報880−1および確率分布情報890−1の適時送信またはデコードを阻む障害を検知および/またはそのような障害が生じると、(たとえばレンジ値情報880−1および確率分布情報890−1が、レンジ値情報880−2および確率分布情報890−2より大量のデータを含んでいるような場合)、ここで説明する実施形態は、レンジ値情報880−2および確率分布情報890−2をデコーダに送信することを含んでよい。デコーダ440は、レンジ値情報880−2および確率分布情報890−2をデコードすることで、調節された剰余データ870−2を生成する。
【0124】
更なる実施形態では、1以上の品質レベルのそれぞれの量子化は、レンジ値情報および確率分布情報を送信するために利用可能な帯域幅等のパラメータに応じて調節することができる。つまり、より高い帯域幅が利用可能な時間帯には、より多いデータ量(たとえば、再構成データのより高い品質のサブレベル)を送信することができ、帯域幅が限られている時間帯には、より少ないデータ量(たとえば、再構成データのより低い品質のサブレベル)を送信することができる。
【0125】
したがって、ここで説明する一実施形態では、階層のある品質レベルの信号を再構成するように、調節された剰余データを生成することが含まれる。エントロピーエンコーダ140は、剰余データ170−2に別の量子化を適用して、エントロピーエンコードの前に、当該ある品質レベルの調節された剰余データのエントロピーを低減させる。剰余データ170−1に1つまたは複数の量子化器を適用することにより、所望のビットレート(たとえば一定のビットレート、つまりCBR)に従ってエンコードされた剰余データを送信することができるようになる。というのも、あるシンボルのアルファベットについてデッドゾーン(たとえばレンジ#1からレンジ#2まで)を拡大することで、調節された剰余データのエントロピーが低減するからである。つまり、より低い品質のサブレベルのレンジ値情報880−2および確率分布情報890−2は、送信の際に、レンジ値情報880−1および確率分布情報890−1よりも必要とする数のビットおよびかかる時間が少ない。
【0126】
さらに別の実施形態では、信号プロセッサ100−1および/またはエントロピーエンコーダ140が、階層の複数の品質レベルの信号を調節するために利用する剰余データのシンボルの確率分布を計算することができる。たとえば一実施形態では、信号プロセッサ100−1が、再構成データに、計算した確率分布を利用して、第1の量子化設定に基づいて1以上の品質レベルの剰余データをエントロピーエンコードするためのビットレートを概算する。概算された、剰余データ等の再構成データを送信するためのビットレートが所望の閾値を超えていると検知すると、信号プロセッサ100−1は、剰余データに更なる/別の量子化を行って(たとえば最も可能性の高いシンボルに量子化されるデッドゾーンを拡大することで)、剰余データに関するエントロピーを低減させ、信号115の再構成のためにデコーダに送信せねばならない(各品質レベルにおけるレンジ値情報および確率分布情報等の)データ量を低減させることができる。したがって信号プロセッサ100−1は、複数の品質レベルのそれぞれの剰余データのエントロピーを調節して、エンコードされたデータが所望のビットレートが課す制限範囲内で宛先に送信されるようにする。
【0127】
図9は、ここに記載する実施形態における、別のデッドゾーンの設定を利用する再構成データの量子化の一例を示す。
【0128】
図示されているように、調節された剰余データ870−1を生成する際には、量子化器810−1を利用して、レンジ#1の−2から2に存在する剰余データ170−2のシンボルを、ゼロのシンボル値に変換する。言い換えると、量子化器810−1は、剰余データ170−2の、値が1, 2, -2, 1, 2, および1のエレメントを、0という共通のシンボル値に設定して、調節された剰余データ870−1を生成する。この具体例では、再構成データ170−2の他の値が、剰余データ170−2から、調節された剰余データ870−1に繰り越されるが(carry over)、これは、例をわかりやすくするための措置であり、本発明の実際の実施形態では、他の値も同様に量子化することもできる(量子化ステップは、デッドゾーン#1の幅と同じでも異なっていてもよい)。
【0129】
図示されているように、調節された剰余データ870−2を生成する際には、量子化器810−2を利用して、レンジ#2の−4から4に存在する剰余データ170−2のシンボルを、ゼロのシンボル値に変換する。言い換えると、量子化器810−2は、剰余データ170−2の、値が1, 2, -2, -4, 1, 2, 1, 3,および-3のエレメントを、0という共通のシンボル値に設定して、調節された剰余データ870−2を生成する。この具体例でも、再構成データ170−2の他の値が、剰余データ170−2から、調節された剰余データ870−2に繰り越されるが(carry over)、これは、例をわかりやすくするための措置であり、本発明の実際の実施形態では、他の値も同様に量子化することもできる(量子化ステップは、デッドゾーン#2の幅と同じでも異なっていてもよい)。
【0130】
エンコーダは、このプロセスを、複数の品質のサブレベルのそれぞれについて繰り返すことができる。
【0131】
それぞれ異なるデッドゾーンの量子化器を適用した結果、調節された剰余データ870−1は、調節された剰余データ870−2より高いエントロピーを有する。したがって、調節された剰余データ870−2用のエンコードされたデータセットは、調節された剰余データ870−1用のエンコードされたデータセットよりも小さい。上述したように、ネットワークが混み合っている間は、調節された剰余データ870−1を送信およびデコードする代わりに、調節された剰余データ870−2を送信およびデコードするほうが有利だと思われる。
【0132】
図10は、ここに記載する実施形態における、再構成データを、それぞれ別の剰余データグループにパースする一例を示す。
【0133】
この実施形態では、エンコーダが、剰余データ170−2等の再構成データを、複数のグループ(たとえば調節された剰余データ1070−1、調節された剰余データ1070−2、調節された剰余データ1070−3等)にパースする。量子化器1010−1を利用して、信号プロセッサ100−1は、調節された剰余データ1070−1を生成する。一実施形態では、信号プロセッサ100−1は、調節された剰余データ1070−1(たとえば第1グループの再構成データ)をポピュレートして、第1レンジの外部にある値(たとえば、−T3未満の値および+T3を超える値等)を有する剰余データ170−2のエレメントを含ませる。他の値(つまり、−T3および+T3の間の「デッドゾーン」の値)は、ゼロ等の共通のシンボルに設定するが、こうすると非常に可搬性が増し、エントロピーエンコードで表す必要があるビット数が減る。
【0134】
量子化器1010−2を利用して、信号プロセッサ100−1は、調節された剰余データ1070−2を生成する。一実施形態では、信号プロセッサ100−1は、調節された剰余データ1070−2(たとえば第2グループの再構成データ)をポピュレートして、第1レンジの外部にあり、第2レンジ内にある値(たとえば、−T3および−T2の間、ならびに、+T2および+T3の間の値)を有する剰余データ170−2のエレメントを含ませる。−T2および+T2の間の「デッドゾーン」にある値は、ゼロ等の共通のシンボルに設定にして、他の値(つまり、−T3未満の値および+T3を超える値等)はエンコードしない。
【0135】
信号プロセッサ100−1は、量子化器1010−3を利用して、調節された剰余データ1070−3をさらに生成する。一実施形態では、信号プロセッサ100−1は、調節された剰余データ1070−3(たとえば第3グループの再構成データ)をポピュレートして、第3レンジ内にある値(たとえば、−T2およびT2の間の値)を有する剰余データ170−2のエレメントを含ませる。他の値はエンコードしない。
【0136】
エントロピーエンコーダ140は、調節された剰余データ1070を個々にエンコードする。
【0137】
たとえば、エントロピーエンコーダ140は、調節された剰余データ1070−1を分析して、確率分布情報1090−1を生成する。確率分布情報1090−1および調節された剰余データ1070−1のエレメントのシーケンスに基づいて、エントロピーエンコーダ140はレンジ値情報1080−1を生成する。
【0138】
したがって、エントロピーエンコーダ140は、調節された剰余データ1070のそれぞれ別のグループを、対応するレンジ値情報および確率分布情報に、個々にエンコードするよう構成することができる。たとえば、エントロピーエンコーダ140は、調節された剰余データ1070−1を、レンジ値情報1080−1および確率分布情報1090−1にエンコードして、エントロピーエンコーダ140は、調節された剰余データ1070−2を、レンジ値情報1080−2および確率分布情報1090−2にエンコードして、エントロピーエンコーダ140は、調節された剰余データ1070−3を、レンジ値情報1080−3および確率分布情報1090−3にエンコードする、等々である。
【0139】
上述したように補完しあうグループの再構成データをパースおよびエンコードすることは、デコーダの計算力が可変/予測不可能である場合、それぞれ別のデコーダにそれぞれ別の品質を提供する場合(有料放送サービスの場合など)、または、エンコーダとデコーダとの間の送信チャネルが混み合っている間などに有用だと思われる。例えば、一実施形態では、原信号の、より高い精度の複製物を生成する際の、全てのグループの再構成データ(たとえば調節された剰余データ1070−1、調節された剰余データ1070−2、調節された剰余データ1070−3等)を適時にデコードすることを阻む障害が生じると、信号プロセッサ100−2は、確率分布情報1090−1に基づいて、レンジ値情報1080−1等のエンコードされた剰余データのサブセットの、調節された剰余データ1070−1へのデコードを開始することができる。この例では、信号プロセッサ100−2は、デコードされた第1のグループの再構成データを利用して、第1の品質レベルの信号のレンディションを第2の品質レベルに変換する。
【0140】
図11は、ここに記載する実施形態における、別の量子化設定を利用して、再構成データを量子化する一例を示す。図示されているように、エンコーダ140は、調節された剰余データ170−2を、調節された剰余データ1070−1、調節された剰余データ1070−2等にパースする。
【0141】
エンコーダ140は、調節された剰余データ1070−1をポピュレートして、第1レンジの外部にある(たとえばマグニチュードが50を超える)値を有する剰余データ170−2のエレメントを含める。全ての他の値はゼロにセットされる。
【0142】
エンコーダ140は、調節された剰余データ1070−2をポピュレートして、マグニチュード範囲が25と50との間である値をもつ、生成された再構成データのエレメントを含める。調節された剰余データ1070−1の既にゼロではないシンボルでエンコードされた値は、もはや調節された剰余データ1070−2にエンコードする必要がない。全ての他の値はゼロにセットされる。
【0143】
信号プロセッサ100−1は、このプロセスをすべてのレンジについて繰り返す。
【0144】
上述したように、エントロピーエンコーダ140は、調節された剰余データ1070のセットを個々にエンコードする。
【0145】
<ビットレートの正確な制御または一定のビットレートのエンコードの例>
【0146】
MPEGファミリーのコーデックおよびその他の業界の基準であるのコーデックは、エンコードされたビットストリームが、毎秒予め定義されているレンジに収まる一定のビットレートに従ってエンコードすることができない。これは、主に、アルゴリズムの性質に起因している。つまり、これらのコーデックは、エンコードプロセスを全て完了した後でないと、画像のエンコードに必要な正確なビット数を知ることができない。これらのエンコーダは、ビットの割り当てと合致しない場合、生成されるサイズが対象から所望の閾値の範囲内に収まるまで、原信号を異なるパラメータで複数回、エンコードしなおす必要がある。概して、ビットレートが一定の場合、信号を複数回エンコードしなおすリスクを最小限に抑えるために、エンコーダは最初から高圧縮されたパラメータでエンコードを開始することがよくある(したがってしばしば、利用可能なビットレートでは理論的に可能な品質よりも低い品質になる)。
【0147】
従来のコーデックと比べて、本願の実施形態では、ビット数は、エントロピーエンコードプロセスを開始する前に計算することができる再構成データの確率分布にのみ依存しているので、再構成データをエンコードするために必要になるビット数を前もって知っておくことができる。剰余データのゼロのシンボルの確率等の、確率分布の適切な代替物(proxies)を利用することもできる。
【0148】
ここに記載する実施形態は、信号全体に(たとえばMPEGファミリーのコーデックその他の周波数領域のコーデックで利用されるような8x8画素ブロック等の小さなブロックに対してではなく)行われるので、それぞれ異なる再構成データのエンコードに必要なビット数を簡単に計算することができる。より高い解像度の再構成データを送信またはデコードすることができない場合には、再構成データをここで説明するように適合的に量子化して、剰余のエントロピー(ひいては必要なビットレート)を低減することができる。
【0149】
ここで説明する一実施形態は、ある範囲内の値を約ゼロに設定して、ゼロのシンボルの確率を増加させたり、量子化のステップを増加させて、シンボルのアルファベットを減らすことができる。このようにしてエントロピーを低下させることで、エンコードされた信号を、より少ないビット数でデコーダに送信することができる。再構成された信号の整合性は、剰余データの量子化によって幾分劣化する(これを利用して、再生時に信号115の詳細なアスペクトが生成される)。しかし、混雑によって再生が中止される事態は生じない。より多くの帯域幅が利用可能な場合には、より高い品質の再構成データをデコーダに送信して、信号の再構成および再生を促す。
【0150】
図12は、ここに記載する実施形態におけるコンピュータ処理を行うコンピュータシステム800の一例を示すブロック図である。
【0151】
コンピュータシステム800は、スイッチ、ルータ、サーバ、クライアント等として動作するパーソナルコンピュータ、処理回路、テレビ、再生デバイス、エンコードデバイス、ワークステーション、可搬型コンピューティングデバイス、コンソール、ネットワーク端末、処理デバイス、ネットワークデバイス等のコンピュータ化されたデバイスであったり、当該コンピュータ化されたデバイスを含んだりしてよい。
【0152】
以下で、前述した信号プロセッサ140に関連した機能を実行する方法を示す基本的な実施形態を説明する。しかしながら、ここで説明する処理を実行するための実際の構成は、それぞれの用途において変化しうることを理解されたい。デコーダ440等の他のリソースは、ここで説明するデコードを事項するための1以上のプロセッサおよび記憶用ハードウェアを含む各コンピュータシステムによって実装することができる。
【0153】
図示されているように、この例のコンピュータシステム800は、デジタル情報を格納したり、そこからデジタル情報が取得したりされる、コンピュータ可読記憶媒体812(たとえば持続性の媒体、コンピュータ可読、ハードウェア記憶媒体等)を連結するインターコネクト811を含んでいる。コンピュータシステム800は、さらに、プロセッサ813、I/Oインタフェース814、および、通信インタフェース817を含んでもよい。
【0154】
I/Oインタフェース814は、保存場所180に接続を提供し、もしあれば、表示スクリーン、周辺デバイス816(たとえばキーボード、コンピュータマウス)などにも接続を提供する。
【0155】
コンピュータ可読記憶媒体812(たとえばハードウェア記憶媒体)は、メモリ、光学ストレージ、ハードドライブ、フロッピー(登録商標)デバイス等のいずれかの適切なデバイスおよび/またはハードウェアであってよい。コンピュータ可読記憶媒体は、信号プロセッサ140に関する命令を格納するための持続性の記憶媒体であってもよい。それぞれのリソース(たとえば信号プロセッサ140)が命令を実行し、ここに記載する動作のいずれかを実行する。
【0156】
通信インタフェース817は、コンピュータシステム800に、ネットワーク190を介して通信させ、遠隔リソースから情報を取得させたり、他のコンピュータ、スイッチ、クライアント、サーバ等と通信させたりする。I/Oインタフェース814は、さらに、プロセッサ813に、保存場所180に格納されている情報を取得させたり、取得を試みさせたりする。
【0157】
図示されているように、コンピュータ可読記憶媒体812は、エンコーダプロセス140−2として、プロセッサ813が実行するエンコーダアプリケーション140−1でエンコードすることができる。
【0158】
コンピュータシステム800またはエンコーダ140はさらに、データおよび/または論理命令を格納するために、コンピュータ可読記憶媒体812(たとえばハードウェア記憶媒体、持続性の記憶媒体等)を含むよう、実装することができる。
【0159】
コンピュータシステム800は、このような命令を実行して、ここに記載した動作を実行するためのプロセッサ813を含むことができる。したがって、実行されると、エンコーダアプリケーション140−1に関連するコードが、ここで説明する処理機能をサポートすることができる。上述したように、ここで説明する信号プロセッサ140は、エンコードおよび/またはデコードをサポートするように構成することができる。
【0160】
一実施形態の動作中に、プロセッサ813は、インターコネクト811の利用によって、コンピュータ可読媒体812にアクセスして、コンピュータ可読記憶媒体812に格納されているエンコーダアプリケーション140−1の命令を起動、実行(run, execute)、解釈、または実行(perform)を行う。エンコーダアプリケーション140−1の実行によって、プロセッサ813の処理機能が生成される。言い換えると、プロセッサ813に関連するエンコーダプロセス140−2は、コンピュータシステム800のプロセッサ813内で、または、プロセッサ813上で、エンコーダアプリケーション140−1を実行する1以上の態様を表している。
【0161】
当業者であれば、コンピュータシステム800が、他のプロセスおよび/またはソフトウェアおよびハードウェアコンポーネント(たとえば、エンコーダアプリケーション140−1を実行するためのハードウェア処理リソースの割り当ておよび利用を制御するオペレーティングシステム等)を含むことができることを理解する。
【0162】
別の実施形態では、コンピュータシステムが、任意のタイプのデバイス(これらに限られはしないが、たとえば、パーソナルコンピュータシステム、デスクトップコンピュータ、ラップトップ、ノートブック、ネットブックコンピュータ、メインフレームコンピュータシステム、ハンドヘルドコンピュータ、ワークステーション、ネットワークコンピュータ、アプリケーションサーバ、記憶デバイス、カメラ、カムコーダ、セットトップボックス、モバイルデバイス、ビデオゲームコンソール、ハンドヘルドビデオゲームデバイス等の家庭用電化製品、および、スイッチ、モデム、ルータ等の周辺デバイス、または、一般的な、任意のタイプのコンピューティングまたは電子デバイス)であってよい点に留意されたい。
【0163】
図13は、ここに記載する実施形態における、エントロピーエンコードを生成および利用する方法のフローチャート1300の一例を示す。
【0164】
ステップ1310で、信号プロセッサ100−1は、第1の品質レベルの信号のレンディションを生成する。
【0165】
ステップ1320で、信号プロセッサ100−1は、再構成データを生成する。再構成データは、第1の品質レベルの信号のレンディションを、階層の第2の品質レベルの信号のレンディションに変換するやり方を特定し、第2の品質レベルは第1の品質レベルより高い。
【0166】
ステップ1330で、信号プロセッサ100−1は、エントロピーエンコーダを利用して、再構成データをエンコードする。エントロピーエンコーダ140は、再構成データを表すビットストリーム(たとえばレンジ値情報)を生成する。
【0167】
再度の言及になるが、ここに開示する技術は、信号の処理および再構成の用途によく適している。しかし、ここに記載する実施形態は、このような用途での利用に限定はされず、ここに開示する技術は、他のアプリケーションにも同様に適している。
【0168】
ここで述べる明細書に基づいて、請求されている主題の完全な理解を提供するために複数の詳細を述べる。しかしながら、当業者であれば、これら具体的詳細なしに請求項の主題を実行することができることを理解する。また、当業者であれば理解する方法、装置、システム等に関しては詳述しないで、請求されている主題を曖昧にしないようにしている場合もある。詳細な記載の幾つかの部分は、コンピュータメモリ等のコンピューティングシステムメモリ内に格納されているデータビットまたはバイナリデジタル信号に対するアルゴリズムまたはシンボルによる表現によって提示することができる。これらのアルゴリズムによる記載または表現は、データ処理分野の当業者が、他の当業者に自身の仕事の内容を伝える際に利用する技術の例である。ここで記載する、または一般的なアルゴリズムは、所望の結果を生じさせる、動作または類似した処理の首尾一貫したシーケンスと想定される。このコンテキストでは、動作または処理が、物理量の物理的操作に関する。通常は、必ずではないが、これら量は、格納、転送、組み合わせ、比較、その他の操作を行うことができる電気的または電磁的な形態をとることができる。時には、これらの信号を、ビット、データ、値、エレメント、シンボル、文字、期間(terms)、数字、数詞(numerals)等と称するほうが、都合がよい場合もある。しかし、これらすべての、および、類似した用語は、適切な物理量と関連付けられ、単に便宜上の参照記号である場合もあることを理解されたい。そうではないと明記しない限り、以下の記載から明らかなように、本明細書全体において、「処理」「コンピューティング」「計算」「判断、決定」等の用語が利用されている場合、これら用語は、コンピューティングプラットフォームのメモリ、レジスタその他の情報記憶デバイス、送信デバイス、または表示デバイス内の物理的電子または磁気量として表されるデータを操作または変換する、コンピューティングプラットフォーム(たとえば、コンピュータまたは類似した電子コンピューティングデバイス)の動作または処理のことを示す。
【0169】
本発明は、その好適な実施形態を参照して具体的に示し記載してきたが、当業者であれば、その形態および詳細を、添付請求項が定義する本願の精神および範囲から逸脱せずに、様々に変更させることができることを理解するだろう。これら変形例は、本願の範囲に含まれることが意図されている。したがって、前述した本願の実施形態の説明は、限定として受け取られるべきではない。そうではなくて、本発明の限定は、以下の請求項に示されている。
また、再構成データの各セットを分析して、確率分布情報をもつ1以上のデコードパラメータを生成する段階であって、前記確率分布情報は、前記再構成データの前記各セットが利用するシンボルのアルファベットの少なくとも1つのシンボルの確率を示している、段階を備えてもよい。
再構成データの各セットについて、前記エンコードされた値またはビットストリングと前記確率分布情報とを、前記再構成データへとデコードするためのエントロピーデコーダを実装する段階と、前記デコーダが生成した前記再構成データの各セットを利用して、前記第1の品質レベルの前記信号の前記レンディションおよび利用可能な参照信号の少なくとも一方に基づいて、前記第2の品質レベルの前記信号の前記レンディションを再構成する段階とをさらに備えてもよい。
前記少なくとも1つのデコードパラメータは、前記再構成データの第1のシンボルの確率を示す1つのパラメータのみを含み、エントロピーデコーダは、前記エンコードされた値またはビットストリングを前記再構成データに変換して戻す前記エントロピーデコーダが分かっている所定の標準パラメータのセットに基づいて複数の他のシンボルの確率分布を推定してもよい。
さらに、前記再構成データセットの前記第2のアレイを表す、前記エンコードされた値またはビットストリングを受信する段階と、各再構成データセットについて、前記エントロピーエンコーダが1以上のデータセットの確率分布情報を送信しなかった、または、前記エントロピーエンコーダが、1以上のデータセットについて確率分布パラメータを送信しないと以前に特定した、と検知すると、前記再構成データの前記第1のアレイのうちの対応するセットについてデコードされた前記確率分布情報を利用して、前記データセットを表す前記エンコードされた値またはビットストリングをエントロピーデコードする段階を備えてもよい。
各再構成データセットについて、前記エンコードされた値またはビットストリングを受信する段階と、前記エントロピーエンコーダが当該再構成データセットのシンボルの前記確率分布の特定の情報を送信しなかった、と検知した場合、前記エンコードされた値またはビットストリングを前記再構成データにデコードするために、シンボルのデフォルトの確率分布値を利用する段階とをさらに備えてもよい。
1以上の再構成データセットを、再構成データの第1のグループと再構成データの第2のグループとを少なくとも含む複数のグループにパースする段階と、値/シンボルの第1のレンジ内の値/シンボルを有する前記生成された再構成データセットのすべてのエレメントが当該値/シンボルを維持して、その他のすべてのエレメントをデフォルト値/シンボルにセットするように、前記再構成データの前記第1のグループをポピュレートする段階と、値/シンボルの第2のレンジ内の値/シンボルを有する前記生成された再構成データセットのすべてのエレメントが当該値/シンボルを維持して、その他のすべてのエレメントをデフォルト値/シンボルにセットするように、前記再構成データの前記第2のグループをポピュレートする段階と、更なる値/シンボルのレンジに従って、同じ方法にしたがって更なるグループをポピュレートする段階とをさらに備え、前記セットについて前記エントロピーエンコーダを利用する段階は、さらに、前記再構成データの前記第1のグループ、前記再構成データの前記第2のグループ、および、任意の他の更なる再構成データのグループを個別にエントロピーエンコードする段階を有してもよい。
再構成データの特定のグループを分析して、前記再構成データの特定のグループの利用するアルファベットのシンボルの確率分布を示す確率分布情報を有する1以上のデコードパラメータを生成する段階と、前記エントロピーエンコーダを利用して、前記再構成データの特定のグループを表す、前記グループのエンコードされた値またはビットストリングを、対応する確率分布情報に基づいて生成する段階とを備えてもよい。
第1の品質レベルの信号のレンディションを生成する手順と、前記第1の品質レベルの前記信号の前記レンディションに基づいて、階層の第2の品質レベルの前記信号のレンディションを再構成するやり方を指定する少なくとも1つのセットの再構成データを生成する手順と、エントロピーエンコーダを利用して、前記再構成データのそれぞれ異なるセットをエンコードして、前記エントロピーエンコーダは、前記再構成データに含まれるシンボルを表すエンコードされた値またはビットストリングを各セットについて生成する、手順とを実行させ、前記第2の品質レベルは前記第1の品質レベルより高い、コンピュータシステムであってもよい。