【文献】
Markus Beermann,Non-linear up-sampling for spatial scalability,Joint Video Team(JVT) of ISO/IEC MPEG & ITU-T VCEG (ISO/IEC JTC1/SC29/WG11 and ITU-T SG16 Q.6) 20th Meeting:Klagenfurt,AT,17-21 Juli,2006,米国,JVT,2006年 7月,JVT-T020,P.1-P.7
【文献】
Woo-Jin Han,Smoothed reference prediction for single-loop decoding,Joint Video Team(JVT)of ISO/IEC MPEG & ITU-T VCEG (ISO/IEC JTC1/SC29/WG11 and ITU-T SG16 Q.6) 16th Meeting:Poznan,PL,24-29 July,2005,米国,JVT,2005年 7月,JVT-P085,P.1-P.14
(58)【調査した分野】(Int.Cl.,DB名)
前記第2品質レベルの前記信号の第1部分のために生成される残留データは、前記第2品質レベルの前記信号の残りの部分のために生成される残留データとは並列して生成される、請求項1に記載の方法。
前記第1品質レベルの前記信号の前記ダウンサンプリングされたレンディションの要素の設定を調整して、前記第2品質レベルの前記信号のレンディションを再構築するために必要な前記残留データのエントロピーを低下させる段階をさらに備える、請求項1から4のいずれか1項に記載の方法。
前記第1品質レベルの前記信号の前記レンディションを前記第2品質レベルの前記信号の前記アップサンプリングされたレンディションにアップサンプリングするのに用いられる複数のアップサンプリングオプションのそれぞれに関して、前記第1品質レベルの前記信号の前記ダウンサンプリングされたレンディションの要素の設定を調整して、前記第2品質レベルの前記信号の前記再構築されたレンディションを再構築するために必要な前記残留データのエントロピーを低下させる段階と、
前記複数のアップサンプリングオプション、および、前記第1品質レベルの前記信号の前記ダウンサンプリングされたレンディションの調整のうちどれが前記残留データの実質的に最も低いエントロピーをもたらすかを特定する段階と
をさらに備える、請求項1から5のいずれか1項に記載の方法。
前記残留データのエントロピーを低下させる、前記複数の要素領域の前記要素の調整のグローバルチェックを少なくとも時折実行する段階をさらに備える、請求項8に記載の方法。
前記エントロピーを計算する段階は、前記残留データを量子化して、または前記量子化をシミュレート/近似して、前記エントロピーを低下させる段階を含む、請求項10に記載の方法。
前記少なくとも1つのアップサンプリング処理を適用する段階は、複数のアップサンプリング処理のうち少なくとも1つを前記第1品質レベルの前記信号の前記ダウンサンプリングされたレンディションへ適用する段階をさらに有し、
前記残留データを生成する段階は、前記第1品質レベルの前記信号の前記ダウンサンプリングされたレンディションへ適用される複数のアップサンプリングオプションのうちどれが、実質的に最も低いエントロピーを有する残留データを生成するかを特定する段階を含む、請求項10または11に記載の方法。
前記少なくとも1つのアップサンプリング処理を適用する段階は、複数のアップサンプリング処理のうち少なくとも1つを前記第1品質レベルの前記信号の前記ダウンサンプリングされたレンディションへ適用する段階をさらに有し、
前記残留データを生成する段階は、前記第1品質レベルの前記信号の前記ダウンサンプリングされたレンディションへ適用される複数のアップサンプリングオプションのうちどれが、実質的に最も低いエントロピーを有する残留データを生成するかを特定する段階を含む、請求項1から9のいずれか1項に記載の方法。
前記少なくとも1つのダウンサンプリング処理を利用して、前記階層における複数の連続するより低い品質レベルの前記信号の前記ダウンサンプリングされたレンディションを生成する段階は、前記階層における複数の連続するより低い品質レベルのそれぞれに関して、
前記信号をダウンサンプリングする段階と、
選択された品質レベルでダウンサンプリングされた前記信号の調整する要素を選択する段階と、
前記選択された要素を調整して、前記残留データを生成する段階と、
前記残留データのエントロピーを計算して、前記選択された要素のどの調整が実質的に最も低いエントロピーを有する残留データのセットを生成するかを特定する段階と
を繰り返す段階をさらに有する、請求項1から14のいずれか1項に記載の方法。
前記少なくとも1つのダウンサンプリング処理を利用して、前記階層における複数の連続するより低い品質レベルの前記信号の前記ダウンサンプリングされたレンディションを生成する段階は、
前記信号をダウンサンプリングするレベルとして、前記階層における最も高い品質レベルを表す品質レベルJを選択する段階と、
前記品質レベルJより低い次の品質レベルである品質レベルJ−1の前記信号のレンディションへの選択されたダウンサンプリング処理を前記品質レベルJの前記信号に適用する段階と、
前記品質レベルJ−1の前記信号の前記レンディションの値の設定を調整して、前記品質レベルJの前記信号を再構築するために必要な残留データのエントロピーを低下させる前記品質レベルJ−1の前記信号の調整されたレンディションを特定する段階と
をさらに有する、請求項1から15のいずれか1項に記載の方法。
前記品質レベルJ−1より低い次の品質レベルである品質レベルJ−2の前記信号のレンディションへの選択されたダウンサンプリング処理を前記品質レベルJ−1の前記信号の前記調整されたレンディションに適用する段階と、
前記品質レベルJ−2の前記信号の前記レンディションの値の設定を調整して、前記品質レベルJ−1の前記信号の前記調整されたレンディションを再構築するために必要な残留データのエントロピーを低下させる前記品質レベルJ−2の前記信号の調整されたレンディションを特定する段階と、
選択されたダウンサンプリング処理を適用する段階と、前記階層における複数の連続するより低い品質レベルの複数のペアに対して設定を調整する段階とを繰り返して、前記第2品質レベルおよび前記第1品質レベルの前記信号の前記ダウンサンプリングされたレンディションを生成する段階と
をさらに備える、請求項16に記載の方法。
【発明を実施するための形態】
【0038】
一実施形態によると、エンコーダが信号を受信する。エンコーダは1以上のダウンサンプリング処理を利用し、階層における複数の連続するより低い品質レベルの信号(つまり、信号データ)のダウンサンプリングされたレンディションを生成する。逆方向に、エンコーダは1以上のアップサンプリング処理を第1品質レベルの信号のダウンサンプリングされたレンディションへ適用して、階層における第2品質レベルの信号のアップサンプリングされたレンディションを生成する。第2品質レベルは第1品質レベルよりも高い。1以上のアップサンプリング処理と1以上のダウンサンプリング処理とは互いに非対称でありうる。つまり、ダウンサンプリングの間に適用される関数は、アップサンプリングの際に適用される関数とは異なり得る。エンコーダは、第2品質レベルの信号のダウンサンプリングされたレンディションと、第2品質レベルの信号のアップサンプリングされたレンディションとの間の差を示す残留データを生成する。
【0039】
図1は、本願発明の実施形態に係る、エンコーダ、および信号の対応するダウンサンプリングの例を示す図である。
【0040】
エンコーダ140は信号115を受信する。エンコーダ140によりエンコードされる信号115は、何らかの適切なタイプのデータ情報でありうる。
【0041】
非限定的な例として、信号115は、各画像内の複数の信号要素(例えば、pel/平面要素、pixel/画素、voxel/ボリュメトリック画素など)のうちそれぞれの設定を示す画像データ、シンボルなどでありうる。画像は、2次元(例えば、写真、動画フレーム、2Dモーションマップなど)、3次元(例えば、3D/ボリュメトリック画像、ホログラフィック画像、CATスキャン、医療用途/科学用途の画像、3Dモーションマッピングなど)、3次元より多くの次元を表す信号、時間ベースの信号(例えば、音声信号、動画信号など)などでありうる。
【0042】
説明を簡潔にすべく、本明細書において示される実施形態は、例えば写真など2D設定平面(例えば、適切な色空間内の2D画像)で表示される画像について言及することが多い。しかし、同じ概念および方法は、他のいずれかのタイプの信号にも適用可能である。そのような実施形態によると、信号要素の(信号115により特定される)設定は、デバイス上での再生のために対応する画像をいかに再構築するかを示す。
【0043】
信号115のエンコードの間、エンコーダ140は、1以上のダウンサンプリング処理および1以上のアップサンプリング処理を用い、元の信号115を再構築するデコーダによって用いられる、エンコードされた信号データから成るセットを生成する。
【0044】
以下に説明する信号データは、エンコード階層における複数の異なる品質レベルの信号115のレンディションを表す。なお、品質レベルJは、階層における最も高い品質レベル、または中間の品質レベルを表し得る。一実施形態において、エンコーダ140は、階層におけるレベルの複数のペアの信号データを処理して、信号のより低い品質レベルへのダウンサンプリングを実行する。
【0045】
信号115のダウンサンプリングは、選択されたダウンサンプリング処理を品質レベルJの信号データSJへ適用して、品質レベルJ−1の信号データSJ−1を生成することを含みうる。例えば、ダウンサンプリング処理はシンプルな双線形フィルターであり得、または、上記にて説明したように非線形関数の適用などより複雑な処理でありうる。
【0046】
なお、信号データSJ−1は、元の信号115よりもより低い解像度、またはより低い品質レベルを表し、信号データSJ−2は、信号115の、信号データSJ−1より低い解像度、またはより低い品質レベルを表す。同様のことが他の信号データにも当てはまる。
【0047】
よって、階層における各レベルの信号データは元の信号をより低い品質レベルで表す。典型的には、階層における連続するより低いレベルにおいて信号を規定するのに必要なデータ(例えば、ビット情報、シンボルなど)は順次少なくなっていく。
【0048】
一実施形態によると、エンコーダ140は、信号115を信号データSJ−1へダウンサンプリングする。信号データSJの品質レベルJ−1への最初のダウンサンプリングに続き、エンコーダ140は、信号データSJ−1の個々の要素の設定を微調整または調整し、信号データSJ−1に対する微調整された設定のうちどれが、品質レベルJのために生成された残留データに関するエントロピーを低下させるかを特定する。
【0049】
より詳細には、一実施形態において、エンコーダ140は、アップサンプリング処理Jを信号データSJ−1
Tの第1バージョンへ適用して、信号データSJ
1を生成する。その後、エンコーダ140は、信号データSJ、SJ
1間の差を計算し、残留データ118−1を生成する。残留データ118−1は、信号データSJ(信号115)を所望される精度で再現するために信号データSJ
1に加えられるべき修正を示す。
【0050】
一実施形態において、エンコーダ140は、量子化処理QJを適用して、残留データ119−1を生成する。ステップQJは、残留データ118−1の対応する要素の大きさがある範囲内に含まれる、または閾値を上回る/下回る場合に、残留データ118−1の個々の値が同じ値またはシンボルとなるよう設定を調整する関数を適用することを表す。例として、量子化を介し、エンコーダ140は−1.5から+1.5の範囲に含まれる値を有する残留データ118−1の個々の要素の設定を特定し得る。この範囲に含まれるそれらの値に関し、エンコーダ140は、調整された残留データ119−1のそのような値をゼロなどの所定の値に設定する。エンコーダ140は、−7.5から−6.5の範囲に含まれる残留データ118−1の個々の要素の設定を特定し、調整された残留データ119−1のそのような値を、−7.0に設定し得る。したがって、量子化QJにより残留データ118−1のエントロピーが低下させられる。つまり、互いにより近い値となるように残留データの値が修正される。
【0051】
なお、この例において、信号データSJが信号データSJ
1に等しい場合、生成される残留データは全てゼロ値(例えば、最小のエントロピー)となる。そのような例において、残留データ118−1に関するエントロピーは可能な限り低くなるので、信号データSJ−1を微調整する必要がない。
【0052】
可能性がより高いケースは、信号データSJ、SJ
1が等しくない場合である。残留データ118−1および調整された残留データ119−1のエントロピーは、非ゼロ値である可能性が高い。この例において、残留データ118−1および調整された残留データ119−1が非ゼロ値を含むものと仮定する。残留データの高いエントロピーは、元の信号115を再構築するために追加のデータを用いなければならないことを意味するので望ましくない。典型的には、信号115を再構築するために必要なデータの全体量を少なくするのが望ましい。
【0053】
一実施形態において、残留データ119−1のエントロピーを低下させるために、信号データSJ−1の個々の要素に対する各微調整により、残留データ119−1の実質的により低い、または最も低いエントロピーが得られるまで、エンコーダ140は繰り返し信号データSJ−1を微調整し、微調整された信号データSJ−1
Tの複数の異なるバージョンを信号データSJ
1へアップサンプリングする。
【0054】
微調整は要素単位で実行され得る。つまり、エンコーダ140は、信号データSJ−1の要素を選択して、当該要素の値を繰り返し微調整して、残留データ119−1に関するエントロピーを低下させる各設定を特定し得る。微調整された値が、次のレベルの残留データのための実質的により低いエントロピー測定基準の生成に近づくにつれ、エンコーダは、選択された要素に対する微調整の大きさを小さく出来る。
【0055】
選択された要素に対する適切な最も良好な微調整を特定すると、エンコーダ140は、当該要素のための微調整された信号データを保存し、信号データSJ−1
Tに格納する。
【0056】
以前にテストされた要素のための実質的に最も良好な微調整のそれぞれを用いて、エンコーダ140は微調整する信号データSJ−1の次の要素を選択し、上記の処理を繰り返して、選択された要素の最も良好な設定を特定する。同様の処理を順次適用する。
【0057】
残留データ119−1のエントロピーを低下させる品質レベルJ−1のための微調整された信号データSJ−1
Tを生成する処理の完了に続き、エンコーダ140は、より低い次の品質レベル毎に同じ処理を繰り返す。
【0058】
例えば、より低い次の品質レベルにおいて、エンコーダ140は信号データSJ−1
Tを信号データSJ−2へダウンサンプリングする。このダウンサンプリングに続き、エンコーダ140は信号データSJ−2の個々の要素の設定を微調整または調整し、信号データSJ−2に対する微調整された設定のうちどれが、品質レベルJ−1のために生成された残留データ119−2に関するエントロピーを低下させるかを特定する。
【0059】
より詳細には、一実施形態において、エンコーダ140は、アップサンプリング処理J−1を信号データSJ−2
Tへ適用して、信号データSJ−1
1を生成する。その後、エンコーダ140は、信号データSJ−1
T、SJ−1
1間の差を計算し、残留データ118−2を生成する。その後、エンコーダ140は、量子化処理を適用して、残留データ119−2を生成する。
【0060】
上記にて説明したように、量子化は、信号データの個々の値の大きさがある範囲内に含まれる、または閾値を上回る/下回る場合に、当該信号データの個々の値が同じ値またはシンボルとなるよう設定を調整する関数を適用することを含みうる。
【0061】
残留データ119−2のエントロピーを低下させるために、信号データSJ−2の個々の要素に対する各微調整により、残留データ119−2の実質的により低い、または最も低いエントロピーが得られるまで、エンコーダ140は繰り返し信号データSJ−2を微調整し、微調整された信号データSJ−2
Tを信号データSJ−1
1にアップサンプリングする。
【0062】
上記にて言及したように、微調整は要素単位で実行され得る。つまり、エンコーダは、信号データSJ−2の要素を選択して、当該選択した要素の値を繰り返し微調整して、残留データ119−2に関するエントロピーを低下させる設定を特定し得る。 選択された要素に対する適切な微調整を特定すると、エンコーダ140は、当該要素のための微調整された信号データを保存し、信号データSJ−2
Tに格納する。
【0063】
その後、エンコーダ140は微調整する信号データSJ−1の次の要素を選択し、上記の処理を繰り返して、選択された要素毎の最も良好な設定を特定する。同様の処理を順次適用する。
【0064】
残留データ119−2のエントロピーを低下させる品質レベルJ−2のための微調整された信号データSJ−2
Tを生成する処理の完了に続き、エンコーダ140は、より低い次の品質レベル毎に同じ処理を繰り返す。したがって、エンコーダ140は、階層におけるより低い品質レベルの信号データから成る微調整されたセットを生成する。
【0065】
なおエンコーダ140は、複数の異なるアップサンプリングオプション(例えば、1以上のアップサンプリング処理)をテストし、複数のアップサンプリングオプションのうちどれが残留データの最も低いエントロピーを生成するかを特定し得る。言い換えるとエンコーダ140は、複数のアップサンプリング処理のうちそれぞれに関してダウンサンプリングおよび微調整の処理を繰り返し、アップサンプリング処理のうちどれが、次に高い品質レベルの残留データのエントロピーを最も良好に低下させるかを特定し得る。
【0066】
図2は、本願発明の実施形態に係るダウンサンプリング方法の例を示す図である。なお、
図2のマルチループアルゴリズムの説明においては、
図1で説明した処理が参照される。
【0067】
ステップ200において、処理する品質レベルをエンコーダ140が選択する。この例においては、エンコーダ140が品質レベルJを選択し、当該レベルから開始するものと仮定する。
【0068】
ステップ205において、エンコーダ140は選択されたダウンサンプリング処理を適用して、信号データSJ−1を生成する。
【0069】
ステップ210において、エンコーダ140は、複数の可能なアップサンプリングオプションのうちからアップサンプリングオプションを選択する。各アップサンプリングオプションは、1以上のアップサンプリング処理を介したアップサンプリングを含みうる。
【0070】
ステップ215において、エンコーダ140は選択されたアップサンプリングオプションを信号データSJ−1へ適用して、残留データ118−1を生成する。
【0071】
ステップ220において、エンコーダ140は処理(例えば、量子化、またはシミュレートされた量子化)を残留データ118−1へ適用して、調整された残留データ119−1を生成する。
【0072】
ステップ225において、エンコーダ140は、調整された残留データ119−1のエントロピー(またはそのシミュレート/近似)を計算し、得られた結果を現在のエントロピー値として規定する。
【0073】
ステップ230において、エンコーダ140は品質レベルJ−1で微調整する信号(例えば、信号データSJ−1)を選択する。
【0074】
ステップ235において、エンコーダ140は選択された信号データSJ−1の微調整する要素を選択し、信号データSJ−1
Tを生成する。
【0075】
ステップ240において、エンコーダ140は、信号データSJ−1
Tの選択された要素を最大反復回数まで複数の異なる方向に、場合によっては複数の異なる量だけ調整する。
【0076】
ステップ245において、エンコーダ140は、残留データ118−1(または、選択された要素からより直接的に影響を受ける少なくともその一部)を選択された要素に対する調整毎に生成する。
【0077】
ステップ250において、エンコーダ140は、上記にて説明したように、残留データ118−1(またはその一部)を処理して、調整された残留データ119−1(またはその一部)を選択された要素に対する微調整毎に生成する。
【0078】
ステップ255において、エンコーダ140は調整された残留データ119−1(または残留データ119−1の調整された部分)のエントロピーを選択された要素に対する微調整毎に計算して、調整された残留データ119−1(または、残留データ119−1の調整された部分)のエントロピーを低下させる選択された要素の実質的により良好な、または最も良好な設定を特定し、選択する。
【0079】
ステップ260において、エンコーダ140は、ステップ235に戻るループ4を選択された信号データSJ−1の要素毎に繰り返して、信号データSJ−1の要素毎に実質的に最も良好な設定を特定する。エンコーダ140は全ての要素のテストに続いて、ステップ260の処理を継続する。
【0080】
ステップ265において、エンコーダ140は、アップサンプリング処理を微調整された信号データSJ−1
Tへ適用し、残留データ118−1および調整された残留データ119−1を生成する。
【0081】
ステップ270において、エンコーダ140は残留データ118−1を処理して、調整された残留データ119−1を生成する。
【0082】
ステップ275において、エンコーダ140は調整された残留データ119−1のエントロピー(またはそのシミュレート/近似)を計算する。微調整された信号が現在の最適なエントロピーよりも低い調整された残留データのエントロピーを表す場合、微調整された信号は微調整する新たな信号になり、調整された残留データのエントロピーは、新たな最適なエントロピーになる。そうでなければ、エンコーダ140は微調整された設定を停止し、ループ3を抜け出てステップ285へ進む。そうでなければ、エンコーダ140はステップ280の処理を繰り返し、ループ3を繰り返す。
【0083】
ステップ280において、エンコーダ140は、新たな微調整された信号が調整された残留データのより低いエントロピーを生成し続ける限りステップ230の実行を継続する。
【0084】
ステップ285において、エンコーダ140は、複数の可能なアップサンプリングオプションのうち次の選択されたアップサンプリングオプションのためにステップ210の実行を継続する。全てのアップサンプリングオプションがテストされ終えた場合、エンコーダ140はステップ290の処理を継続する。
【0085】
ステップ290において、エンコーダ140は信号データSJ−1
Tのための微調整された設定を格納する。
【0086】
ステップ295において、エンコーダ140はステップ200の処理を繰り返し、信号データSJ−1
Tをより低い次の品質レベルJ−2にダウンサンプリングする。エンコーダ140は、信号115が最も低い所望される品質レベルまでダウンサンプリングされるまでこの処理を繰り返す。
【0087】
図3は、本願発明の実施形態に係る、画像情報のダウンサンプリングの例を示す図である。上記にて説明したように、信号115は画像データを表し得る。そのような実施形態によると、各品質レベルの信号データは、各画像内の要素の設定(例えば、pel/平面要素)を示す。
【0088】
一実施形態において、画像を規定する信号115の属性は何らかの適切なフォーマットに従ってエンコードされ得るが、信号データの要素の各色成分は、YUV、RGB、またはHSVなどの色空間規格に従ってエンコードされる。
【0089】
ダウンサンプリングにより、各信号データの解像度、および対応する品質レベルが低下させられる。例えば、品質レベル3の信号データは、対応する画像510−3の要素の設定を示す。品質レベル2の信号データは、対応する画像510−2の要素の設定を示す。品質レベル1の信号データは、対応する画像510−1の要素の設定を示す。同様のことが他の信号データにも当てはまる。
【0090】
上記にて説明したようなやり方でダウンサンプリングする場合、エンコーダ140は、例えば画像510−2を規定するより低い次の品質レベル(例えばレベル2)の信号データを生成する。エンコーダ140は、例えば画像510−1を規定するより低い次の品質レベル(例えばレベル1)の信号データを生成する。同様の処理が他の品質レベルに関しても適用される。
【0091】
上記にて説明したように、ダウンサンプリングされた画像を規定するデータの量は、より低い品質レベル毎に、所望される最も低い品質レベルまで低減され得る。つまり、レベル3からレベル2へ2:1スケールのダウンサンプリングを実行する場合、エンコーダ140は、示されるように、画像510−3の複数の要素Yを対応する画像510−2の単一の要素Xに変換する。レベル2からレベル1にダウンサンプリングする場合、エンコーダ140は、画像510−3の複数の要素Xを対応する画像510−1の単一の要素Wに変換する。同様の処理を他の要素に対しても適用する。
【0092】
図4は、本願発明の実施形態に係る、信号のさらなるエンコードの例を示す図である。
【0093】
上記にて説明したようなやり方で、エンコーダ140は、信号115を、信号データS3
T、信号データS2
T、および信号データS1
Tを含む信号データから成る複数の異なるセットへダウンサンプリングする。
【0094】
なお、ダウンサンプリングの間の微調整処理は任意選択的に実行される。他の実施形態によると、エンコーダ140により何らかの適切なダウンサンプリング処理が適用されて、信号データS3
T、信号データS2
T、S1
Tなどの微調整された信号データの代わりに、データのベースセットが生成され得る。
【0095】
品質レベル1などの最も低い品質レベルにおいて、エンコーダ140は、量子化関数Q1を信号データS1
Tへ適用して、信号データS1
2を生成し得る。上記にて説明したように、量子化により、対応する信号データのエントロピーが低下させられる。
【0096】
なお信号データS1
2は、階層における最も低い品質レベル(例えば品質レベル#1)の信号115を表す変換された情報である。
【0097】
エンコーダ140は、信号データS1
2を信号データS2
U(例えば、任意の品質レベルの信号の中間レンディション)へアップサンプリングするためのアップサンプリング処理を選択する。選択されたアップサンプリング処理のために、品質レベル2でエンコーダ140は、信号データS2
Tと信号データS2
Uとの間の差に基づき残留データ418−1を生成する。エンコード処理は損失が多くなり得るので、アップサンプリングされた信号データS2
Uは、信号データS2
Tに似ているが同一ではない可能性が高い。
【0098】
その後、エンコーダ140は、量子化関数QJを残留データ418−1へ適用して、調整された残留データ419−1を上記にて説明したようなやり方で生成する。エンコーダ140は複数の異なる動作のうちのそれぞれに関してこの処理を繰り返し、どのアップサンプリング処理が、調整された残留データ419−1に関するエントロピーを低下させるのに最も良好であるか判断し得る。
【0099】
その後、エンコーダ140は、信号データS1
2、実質的に最も良好であると特定されたアップサンプリング処理、および、品質レベル#1のための対応する調整された残留データ419−1を格納する。エンコーダ140は、この格納された情報に、調整された残留データ419−2および信号データS2
Uを加え、信号データS2
2を生成する。
【0100】
信号データS2
2は、階層における品質レベル2の信号を表す変換された情報のセットである。したがって、本願発明の実施形態は、第2品質レベルの信号(つまり、信号データS2
U)の中間レンディションの要素を微調整し、第2品質レベルの信号(例えば、信号データS2
2)の微調整されたレンディションを生成する段階を含む。
【0101】
図6で説明するように、エンコーダ140は、第2品質レベルの信号115(例えば信号データS2
U)のアップサンプリングされたレンディションと、第2品質レベルの信号(例えば信号データS2
3)の微調整されたレンディションとの間の差に基づいて残留データ470−2を生成する。エンコーダ140は、第2品質レベルの信号115(例えば信号データS3
U)のアップサンプリングされたレンディションと、第2品質レベルの信号(例えば信号データS3
3)の微調整されたレンディションとの差に基づき残留データ470−3を生成する。同様の処理が他の信号に関しても適用される。
【0102】
再び
図4を参照すると、エンコーダ140は、品質レベル1から品質レベル2へのアップサンプリングに関して上記にて説明したのと同様のやり方で、品質レベル2から品質レベル3へのアップサンプリングを実行する。例として、品質レベル2において、エンコーダ140は、信号データS2
2を信号データS3
Uにアップサンプリングするアップサンプリング処理を(複数の可能なアップサンプリング処理のうちから)選択する。選択されたアップサンプリング処理のために、品質レベル3において、エンコーダ140は、信号データS3
Tと信号データS3
Uとの間の差に基づき残留データ418−2を生成する。エンコード処理は損失が多くなり得るので、アップサンプリングされた信号データS3
Uは、信号データS3
Tに似ているが同一ではない可能性が高い。
【0103】
その後、エンコーダ140は量子化関数QJを残留データ418−2へ適用して、調整された残留データ419−2を上記にて説明したようなやり方で生成する。
【0104】
エンコーダ140は複数の異なる動作のうちのそれぞれをテストするためにこの処理を繰り返し、どのアップサンプリング処理が、調整された残留データ419−2に関するエントロピーを低下させるのに最も良好であるか判断し得る。
【0105】
その後、エンコーダ140は、信号データS2
2、対応する最も良好であるアップサンプリング処理、および、品質レベル#2のための対応する調整された残留データ419−2を格納する。エンコーダ140は、調整された残留データ419−2および信号データS3
Uを加え、信号データS3
2を生成する。信号データS3
3は、階層における品質レベル3の信号を表す変換された情報のセットである。
【0106】
エンコーダ140は、階層における品質レベルNまで、示される通りこの処理を繰り返す。
【0107】
図5は、本願発明の実施形態に係る、残留データのエントロピーを低下させるためのアップサンプリングの間の要素の微調整を含む信号のエンコードの例を示す図である。この例示的な実施形態において、
図4の例とは異なり、エンコーダ140は、微調整されたデータを品質レベル毎に生成するためのアップサンプリングの間、要素の微調整を実行する。
【0108】
上記にて説明したようなやり方で、エンコーダ140は、信号115を、より低い品質レベルの信号115を表す信号データの何らかの適切なセットにダウンサンプリングする。よって、より低いレベルのダウンサンプリングされた信号データは、ダウンサンプリングの間、微調整から導出されてもされなくてもよい。
【0109】
品質レベル1など最も低い品質レベルで、エンコーダ140は、量子化関数Q1をダウンサンプリングされた信号データS1
Tへ適用して、信号データS1
2を生成する。信号データS1
2は、階層における最も低い品質レベルの信号を表す圧縮された、または変換された情報である。量子化ステップQ1を適用しての信号データS1
2の生成は、ダウンサンプリング処理の一部であり得る。
【0110】
その後、エンコーダ140は、信号データS1
2の微調整されたバージョン(例えば信号データS1
3)を信号データS2
Uへアップサンプリングするアップサンプリング処理を選択する。
【0111】
本実施形態において、エンコーダ140は信号データS1
2の設定を微調整して、調整された残留データ519−1に関するエントロピーを低下させる信号データS1
3のセットを生成する。例えば一実施形態において、エンコーダ140は、信号データS1
2の要素を選択し、選択された要素を繰り返し微調整して、選択された要素のどの設定が、調整された残留データ519−1の最も低いエントロピーを生成するかを特定する。エンコーダ140は、信号データS1
2の要素毎に微調整を繰り返し、信号データS1
3を生成する。
【0112】
なお、選択されたアップサンプリング処理のための要素毎の最も良好な設定の特定に加え、エンコーダ140は、調整された残留データ519−1に関する実質的に最も低いエントロピーを生成するためにどの処理および(複数の異なるアップサンプリング処理のための)対応する微調整が最も良好であるかを特定するべく、複数の可能なアップサンプリング処理のうちそれぞれをテストし得る。
【0113】
信号データS1
2のための実質的に最も良好な微調整された設定および実質的に最も良好なアップサンプリング処理の特定に続き、エンコーダ140は、微調整された信号データS1
3、最も良好であると特定されたアップサンプリング処理、および品質レベル#1のための対応する調整された残留データ519−1を格納する。エンコーダ140は、この格納された情報に、調整された残留データ519−1および信号データS2
Uを加えて、信号データS2
2を生成する。信号データS2
2は、階層における品質レベル2の信号を表す変換された情報のセットである。
【0114】
その後、エンコーダ140は、品質レベル1から品質レベル2へのアップサンプリングに関して上記にて説明したやり方と同様のやり方で品質レベル2から品質レベル3へのアップサンプリングを実行する。エンコーダ140は、最も高い品質レベルに達するまで、次に高い品質レベル毎にこの処理を繰り返す。
【0115】
一実施形態において、エンコーダ140は、第1品質レベルの信号(例えば、信号データS3
T、信号データS2
T、信号データS1
T)のダウンサンプリングされたレンディションを、画像要素の複数の隣接する領域へパースする。その後、エンコーダは並列処理ユニットを利用し、残留データに関するエントロピーを低下させる複数の領域の要素に対する調整を特定するよう複数の領域を同時に処理する。
【0116】
他の実施形態によると、エンコーダ140は少なくとも時折、並行して処理される個々の隣接する領域の要素に対する選択された調整が、処理されている全体的な信号データの残留データのエントロピーを実質的に増加させない、いわゆるグローバルチェックを実行し得る。
【0117】
図6は、本願発明の実施形態に係る、デコーダにより用いられる残留データの生成の例を示す図である。
【0118】
示されるように、エンコーダ140は、信号データS1
3を残留データ470−1として格納する。エンコーダ140は、信号データS2
Uと信号データS2
3との間の差に等しい残留データ470−2を設定する。エンコーダ140は、信号データS3
Uと信号データS3
3との間の差に等しい残留データ470−3を設定する。他の残留データに関しても同様の処理を適用する。一般的に、残留データ470−2は、信号データS2
3を生成するために必要な信号データS2
Uに対する調整を示す。残留データ470−3は、信号データS3
3を生成するために必要な信号データS3
Uに対する調整を示す。同様のことが他の信号データに関しても当てはまる。
【0119】
一実施形態において、デコーダは残留データ470−1を用いて、最も低い品質レベル1の信号データS1
3を再構築する。次に高いレベルで(例えば品質レベル2から品質レベル3へ)、デコーダは当該品質レベルのための選択されたアップサンプリング処理を適用して、信号データS1
3を信号データS2
Uに変換する。デコーダは、残留データ470−2と信号データS2
Uとを合わせ、信号データS2
3を生成する。次に高いレベルで(例えば品質レベル3から品質レベル4へ)、デコーダは当該品質レベルのための選択されたアップサンプリング処理を適用して、信号データS2
3を信号データS3
Uに変換する。デコーダは、残留データ470−3と信号データS3
Uとを合わせ、信号データS3
3を生成する。デコーダは、元の信号115が所望の品質レベルで再構築されるまでこの処理を繰り返す。
【0120】
図7は、本願発明の実施形態に係る、デコーダに用いられる残留データの生成の例を示す図である。この例示的な実施形態において、エンコーダは、調整された残留データ519のセットを用いて、残留データ470のセットを生成する。
【0121】
例えば、エンコーダ140は、信号データS1に等しい残留データ470−1を設定する。エンコーダ140は、信号データS2
3と信号データS2
2との間の差を特定し、得られた差を調整された残留データ519−1に加えて、残留データ470−2を生成する。エンコーダ140は信号データS3
3と信号データS3
2との間の差を特定し、得られた差を調整された残留データ519−2に加えて、残留データ470−3を生成する。同様の処理が他のデータに関しても適用される。
【0122】
なおデコーダは、上記にて説明したのと同様のやり方で残留データ470を用いて、元の信号115を所望の品質レベルで再構築する。
【0123】
図8は、本願発明の実施形態に係る、微調整し、ダウンサンプリングされたデータの生成の例を示す図である。
【0124】
ステップ805において、エンコーダ140は、連続するより低いレベルの信号115を最も低い品質レベルへ繰り返しダウンサンプリングする。上記にて説明したように、処理は、上記にて説明したように各要素の微調整を含んでも含まなくてもよい、何らかのダウンサンプリング関数を適用することを含み得る。
【0125】
ステップ810において、エンコーダ140は、最も低い品質レベルから開始し、処理する品質レベルを選択する。
【0126】
ステップ815において、エンコーダ140は、複数の可能なアップサンプリングオプションのうちからアップサンプリングオプションを選択する。
【0127】
ステップ820において、エンコーダ140は、選択されたレベルの信号データに選択されたアップサンプリングオプションを適用して、次に高い品質レベル(例えば、選択された品質レベルより高いレベル)の残留データを生成する。
【0128】
ステップ825において、エンコーダ140は、処理(例えば、量子化関数、フィルター関数など)を残留データへ適用して、調整された残留データを生成する。
【0129】
ステップ830において、エンコーダ140は、次に高い品質レベルの調整された残留データのエントロピーを計算し、現在の最適なエントロピーの値として規定する。
【0130】
ステップ835において、エンコーダ140は、選択された品質レベルで微調整する信号(例えば信号S1
2)を選択する。
【0131】
ステップ840において、エンコーダ140は選択された信号の微調整する要素を選択する。
【0132】
ステップ845において、エンコーダ140は、選択された要素を最大反復回数まで複数の異なる方向に、複数の異なる量だけ調整する。
【0133】
ステップ850において、エンコーダ140は、次に高い品質レベルのための選択された要素の調整毎に残留データおよび調整された残留データを生成する。
【0134】
ステップ855において、エンコーダ140は、上記にて説明したように、残留データを処理して、量子化関数(またはそのシミュレート/近似)を用い調整された残留データ119−1を生成する。
【0135】
ステップ860において、エンコーダ140は、次に高い品質レベルの調整された残留データのエントロピーを選択された要素に対する微調整毎に計算し、調整された残留データのエントロピーを低下させる選択された要素のより良好な、または実質的に最も良好な設定を特定し選択する。
【0136】
ステップ865において、エンコーダ140は選択された信号データの要素毎にループ4を繰り返す(例えば、ステップ840に戻って実行を継続する)。エンコーダ140は全ての要素のテストおよび微調整に続いてステップ870の処理を継続する。
【0137】
ステップ870において、エンコーダ140は、選択された品質レベルの微調整された信号データに対してアップサンプリング処理を適用し、次に高い品質レベルの残留データを生成する。
【0138】
ステップ875において、エンコーダ140は、次に高い品質レベルの残留データを処理し(例えば、量子化、またはその適切なシミュレート/近似により)、対応する調整された残留データを生成する。
【0139】
ステップ880において、エンコーダ140は、調整された残留データのエントロピーを計算する。微調整された信号が、選択された信号の現在の最適なエントロピーよりも低い調整された残留データのエントロピーを表す場合、微調整された信号が微調整する新たな信号になり、調整された残留データのエントロピーは新たな最適なエントロピーになる。そうでなければ、エンコーダ140は微調整された設定を停止し、ループ3を抜け出てステップ890へ進む。そうでなければ、エンコーダ140はステップ885の処理を継続する。
【0140】
ステップ885において、エンコーダ140は、新たな微調整された信号が調整された残留データのより低いエントロピーを生成し続ける限り、新たに選択された信号のためにステップ835の実行を継続する。
【0141】
ステップ890において、エンコーダ140は、複数の可能なアップサンプリングオプションのうち次の選択されたアップサンプリングオプションのためにステップ210の実行を継続する。全てのアップサンプリングオプションがテストされ終えると、エンコーダ140はステップ895の処理を継続する。
【0142】
ステップ895において、エンコーダ140は、現在の品質レベルのための調整された残留データを更新し、最も良好なアップサンプリングオプションおよび対応する調整された残留データを格納することにより、選択された品質レベルのための微調整された設定を格納する。
【0143】
ステップ898において、エンコーダ140は、ステップ810の処理を繰り返して、階層における連続するより高い品質レベル毎に最も良好な微調整、最も良好なアップサンプリング処理、および調整された残留データを特定する。
【0144】
図9は、本願発明の実施形態に係る、受信信号を処理する例示的な方法を示す図である。
【0145】
示されるようなダウンサンプリング処理の間、エンコーダ140は、信号データS2
Tの、階層におけるより低い次の品質レベルの信号データS1
Tへのダウンサンプリングを開始する。
【0146】
ダウンサンプリングの終了に続き、エンコーダ140は、最も低いレベルのアップサンプリングを実行する。そのような実施形態において、エンコーダ140は、微調整する要素(例えばW1)を選択する。選択された要素W1に対する微調整毎に、エンコーダ140は微調整された信号データS1
3をアップサンプリングして信号データS2
Uを生成する。
【0147】
この例において、U
TESTを用いるアップサンプリングにより、要素W1が要素、および、各値X1=99、X2=101、X3=99、および、X4=95に拡張される。その後、エンコーダ140は、上記にて説明したやり方で残留データ518−1および調整された残留データ519−1を生成する。残留データ518−1の量子化は、残留データ518−1の略ゼロ値を、調整された残留データ519−1のゼロ値に設定することを含み得る。つまり、残留データ518−1の値+1または−1に設定された要素は、値0に設定されて、調整された残留データ519−1が生成される。
【0148】
なお、量子化を実行するための範囲または閾値は、階層における複数の異なるレベルによって異なり得る。例えば、より低い品質レベルにおいては、画像のより高い品質レベルを維持すべく、より小さな範囲またはより小さな閾値が用いられる。言い換えると、より高いレベルの残留データをはるかに多く生成する必要性が生じるのを防ぐべく、より低いレベルの残留データをより多く生成するのが望ましい。
【0149】
図10は、本願発明の実施形態に係る、エントロピー値の生成の例を示す図である。
【0150】
本願発明の一実施形態においては、変更(例えば微調整)により各残留データがエントロピーを向上させるのか悪化させるのかを迅速に判断出来る適切な測定基準が利用される。上記にて説明したように、残留データのエントロピーは、シンボルまたは数を含む残留データを送信するためにどれくらいの情報が必要かの評価基準となり得る。
【0151】
基本レベルのエントロピーは、残留データにおいてどれだけの複数の異なるシンボルがエンコードされるかに依る。残留データの複数の異なるシンボルの数が多ければ多い程、エントロピーは高くなる。他の全てのシンボルよりもはるかに可能性の高いシンボルが主にただ1つだけある場合、エントロピーの大きな低下が実現され得る。このような場合、他の全てのシンボルがただ1つのシンボルだけなのか、多くの他のシンボルなのかは殆ど関係しない。
【0152】
残留データのエントロピー値を計算する1つの方法は、閾値よりも大きな、または特定の範囲に含まれる残留データの値の個数を計算することである。このやり方(例えば、矩形ステップ関数)で計算されたエントロピー値は、数学的に微分可能ではない。つまり、
図10に示されるように、ステップ関数1010は、閾値に無限斜面を有する矩形関数である。
【0153】
他の実施形態によると、エンコーダ140は、実質的に矩形の関数(例えばステップ関数1010)をシミュレートする連続関数1020(例えば微分可能関数)を実行し得る。連続関数1010により、導関数の利用に基づく残留データに関するエントロピーの量子化が促される。
【0154】
例えば、本願発明の一実施形態において、矩形関数をシミュレートするシグモイド関数が利用される。そのような実施形態において、エンコーダ140は、ステップ関数1010の代わりに関数1020に基づいて、残留データの各要素値を、対応するカウント値(例えば10進値)にマッピングする。前述の例においては、エンコーダ140は、要素値が閾値を上回るか下回るかに応じてそれぞれを1またはゼロの値にマッピングする。対称的に、関数1020を用いる場合、エンコーダ140は、各要素を、ゼロより大きく1より小さい非整数値(例えば10進値)にマッピングする。
【0155】
任意の微調整に関し、関数1020を用いる場合、エンコーダ140は、要素のそれぞれに関して生成された対応する10進値のカウント値を合わせることにより、エントロピー値を生成する。エンコーダ140は、関数1020を用い、この処理を微調整毎に繰り返す。任意の要素の微調整に関するエントロピー値に基づき、エンコーダ140は、各要素の微調整に基づき残留データのエントロピーがどれくらい変化するかを示す
図11の関数を生成する。
【0156】
図11の関数1128は、微分可能関数である。つまり、関数1128の導関数を生成することにより、エンコーダ140は、関数1128の傾斜がゼロである地点を特定出来る。この関数1128の(傾斜が実質的にゼロに等しい)地点は、残留データの最も低いエントロピーを生成する対応する要素の設定を示す。
【0157】
したがって、本願発明の実施形態は、エントロピー関数の大きさが、ダウンサンプリングされた信号のテスト対象である選択された要素に対する複数の異なる可能な調整に応じて変わるエントロピー関数1128を生成することと、エントロピー関数1128を利用して、テスト対象の要素の複数の異なる可能な変化のうち、調整のための残留データの対応するエントロピーが実質的に最小であるダウンサンプリングされた信号の要素に対する調整を特定することを含む。
図11の水平軸は、テスト対象の要素の異なる可能な変化を示し、垂直軸は、設定のための残留データの相対的なエントロピーを示す。
【0158】
図12は、本願発明の実施形態に係るコンピュータ処理を提供するコンピュータシステム800の例を示すブロック図である。
【0159】
コンピュータシステム800は、パーソナルコンピュータ、処理回路、ワークステーション、ポータブルコンピューティングデバイス、コンソール、ネットワーク端末、処理デバイス、ネットワークデバイスなど、スイッチ、ルーター、サーバー、クライアントなどとして動作するコンピュータ化されたデバイスであり得、またはこれらを含みうる。
【0160】
なお以下においては、上記にて説明したようなエンコーダ140に関する機能をどのように実行するかを示す基本的な実施形態を説明する。しかし、本明細書で説明される処理を実行するための実際の構成は、各適用例に応じて変更され得る。
【0161】
示されるように、本例のコンピュータシステム800は、デジタル情報を格納し、取り出し可能な、非一時的なタイプの媒体、コンピュータ可読ハードウェア格納媒体などであるコンピュータ可読記憶媒体812を結合するインターコネクト811を含む。コンピュータシステム800はさらに、プロセッサ813、I/Oインタフェース814、および通信インタフェース817を含み得る。
【0162】
I/Oインタフェース814は、レポジトリ180への接続を可能とし、ディスプレイ画面、キーボード、コンピュータマウスなど周辺デバイス816が存在する場合には、それらへの接続を可能とする。
【0163】
コンピュータ可読記憶媒体812(例えばハードウェア記憶媒体)は、メモリ、光学式記憶媒体、ハードドライブ、フロッピー(登録商標)ディスクなど何らかの適切なデバイスおよび/またはハードウェアであり得る。コンピュータ可読記憶媒体は、エンコーダ140−1に関する命令を格納する非一時的記憶媒体であり得る。命令は、本明細書に説明される処理のいずれかを実行するためにエンコーダ140などの対応するリソースにより実行される。
【0164】
通信インタフェース817は、コンピュータシステム800がネットワーク190上で通信を行い、遠隔のソースから情報を取り出し、他のコンピュータ、スイッチ、クライアント、サーバーなどと通信を行うことを可能とする。I/Oインタフェース814も、プロセッサ813が、レポジトリ180から格納された情報を読み出すこと、または読み出しを試みることを可能とする。
【0165】
示されるように、コンピュータ可読記憶媒体812は、エンコーダ処理140−2として、プロセッサ813により実行されるエンコーダアプリケーション140−1によりエンコードされ得る。
【0166】
なおコンピュータシステム800またはエンコーダ140は、データおよび/またはロジック命令を格納するためのコンピュータ可読記憶媒体812(例えば、ハードウェア記憶媒体、非一時的記憶媒体など)を含んで実装されてもよい。
【0167】
コンピュータシステム800は、そのような命令を実行し、本明細書に説明される処理を実行するプロセッサ813を含みうる。したがって、エンコーダアプリケーション140−1に関連付けられたコードは、実行された場合、本明細書に説明される処理機能をサポート出来る。
【0168】
一実施形態の処理の間、プロセッサ813は、コンピュータ可読記憶媒体812に格納されたエンコーダアプリケーション140−1の命令を起ち上げ、起動し、実行し、インタープリトし、または実施するために、インターコネクト811を介してコンピュータ可読記憶媒体812にアクセスする。エンコーダアプリケーション140−1の実行により、プロセッサ813の処理機能が生成される。言い換えると、プロセッサ813に関連付けられたエンコーダ処理140−2は、コンピュータシステム800のプロセッサ813内、またはプロセッサ813上でエンコーダアプリケーション140−1を実行する1以上の態様を表す。
【0169】
当業者であれば、コンピュータシステム800が、他の処理、および/またはエンコーダアプリケーション140−1を実行するためのハードウェア処理リソースの割り当ておよび利用を制御するオペレーティングシステムなどソフトウェア並びにハードウェアコンポーネントを含みうることを理解されよう。
【0170】
複数の異なる実施形態によると、コンピュータシステムは、パーソナルコンピュータシステム、デスクトップコンピュータ、ラップトップ、ノートブック、ネットブックコンピュータ、メインフレームコンピュータシステム、ハンドヘルドコンピュータ、ワークステーション、ネットワークコンピュータ、アプリケーションサーバー、記憶デバイス、カメラ、カムコーダ―、セットトップボックス、モバイルデバイス、ビデオゲームコンソール、携帯型ビデオゲームデバイスなど消費者向け電子デバイス、スイッチ、モデム、ルーターなどの周辺デバイス、または一般的に、何らかのタイプのコンピューティングデバイスまたは電子デバイスを含むがこれらに限定されない様々なタイプのデバイスのいずれかでありうる。
【0171】
なお繰り返すが、本明細書に説明する技術は、デコーダを用いた信号の処理および再構築における利用によく適している。しかし、本願発明の実施形態は、そのような適用例での利用に限定されず、本明細書に説明する技術は、他の適用例にも同じくよく適している。
【0172】
本明細書に明記した説明に基づき、特許請求される主題の理解を深められるよう様々な特定的な詳細を明記した。しかし、当業者であれば、そのような特定的な詳細を用いずとも特許請求される主題を実施し得ることを理解されよう。他の例においては、当業者には公知である方法、装置、システムなどは、特許請求される主題を曖昧にすることを避けるべく詳細には説明していない。詳細な説明のいくつかの箇所は、コンピュータメモリなどのコンピューティングシステムのメモリ内に格納されたデータビットまたは2値デジタル信号に対する処理のアルゴリズムまたは記号表現を用いて提示した。これらのアルゴリズムを用いた説明または表現は、データ処理に関する分野の当業者が研究の内容を他の当業者に伝えるために用いる技術の例である。本明細書で説明される、または一般的にアルゴリズムは、所望される結果をもたらす首尾一貫した処理のシーケンスまたは同様の処理であるものと見なされる。この文脈において、動作または処理は、物理量の物理的な操作を伴う。必ずしもそうではないが典型的には、そのような量は、格納され得る、伝送され得る、組み合わせられ得る、比較され得る、または操作され得る電子信号または磁気信号の形態でありうる。主に共通の使用が理由となり、そのような信号をビット、データ、値、要素、シンボル、文字、用語、数字、数詞など呼ぶことが場合によっては好都合であることが分かっている。しかし、これらの、および同様の用語は全て適切な物理量と関連付けられ、単に好都合なラベルに過ぎないことが理解されるべきである。特別に他に記さない限り、以下の説明から分かるように、本明細書を通じて「処理」、「演算」、「計算」、「判断」などの用語を用いた説明は、メモリ、レジスタ、または他の情報記憶デバイス、送信デバイス、またはコンピューティングプラットホームのディスプレイデバイス内で物理的な電子量または磁気量として表されるデータを操作する、または変換するコンピュータまたは同様の電子コンピューティングデバイスなどのコンピューティングプラットホームによる動作または処理を指すことが理解されよう。
【0173】
好ましい実施形態を参照し、本願発明を詳細に示し説明してきたが、当業者であれば、添付の請求項により規定される本明細書の思想および態様から逸脱することなく、形態および詳細に関して様々な変更が加えられ得ることを理解されよう。そのような変更は、本明細書の態様に含まれることが意図されている。よって、本明細書の実施形態の前述した説明は限定を意図しない。むしろ、本願発明は次の請求項によって規定される。
[項目1]
階層における複数の異なる品質レベルでエンコードする方法であり、
入力として信号を有する段階と、
少なくとも1つのダウンサンプリング処理を利用して、前記階層における複数の連続するより低い品質レベルの前記信号のダウンサンプリングされたレンディションを生成する段階と、
前記少なくとも1つのダウンサンプリング処理と非対称であり得る、少なくとも1つのアップサンプリング処理を第1品質レベルの前記信号のダウンサンプリングされたレンディションへ適用して、前記階層における前記第1品質レベルよりも高い第2品質レベルの前記信号のアップサンプリングされたレンディションを生成する段階と、
前記第2品質レベルの前記信号の前記ダウンサンプリングされたレンディションと、前記第2品質レベルの前記信号の前記アップサンプリングされたレンディションとの間の差を示す残留データを生成する段階と、
を備える、方法。
[項目2]
前記少なくとも1つのダウンサンプリング処理、若しくは、前記少なくとも1つのアップサンプリング処理、または両方が非線形である、項目1に記載の方法。
[項目3]
前記第1品質レベルの前記信号の前記ダウンサンプリングされたレンディションの要素の設定を繰り返し調整して、前記第2品質レベルの前記信号の前記ダウンサンプリングされたレンディションを再構築するために必要な前記残留データのエントロピーを低下させる段階をさらに備える、項目1に記載の方法。
[項目4]
前記第1品質レベルの前記信号の前記レンディションを前記第2品質レベルの前記信号の前記レンディションにアップサンプリングするのに用いられる複数のアップサンプリングオプションのそれぞれに関して、前記第1品質レベルの前記信号の前記ダウンサンプリングされたレンディションの要素の設定を繰り返し調整して、前記第2品質レベルの前記信号の前記ダウンサンプリングされたレンディションを再構築するために必要な前記残留データのエントロピーを低下させる段階と、
前記複数のアップサンプリングオプション、および、前記第1品質レベルの前記信号の前記ダウンサンプリングされたレンディションの微調整のうちどれが前記残留データの実質的に最も低いエントロピーをもたらすかを特定する段階と、
をさらに備える、項目1に記載の方法。
[項目5]
前記残留データに関するエントロピーの数量化を促す連続変換関数を実行して、実質的に矩形の関数をシミュレートする段階をさらに備える、項目1に記載の方法。
[項目6]
前記連続変換関数はシグモイド関数である、項目5に記載の方法。
[項目7]
前記連続変換関数を実行して前記実質的に矩形の関数をシミュレートする段階は、
前記第1品質レベルの前記ダウンサンプリングされた信号の複数の異なる可能な調整に応じて大きさが異なるエントロピー関数を生成する段階と、
前記エントロピー関数を利用して、前記第1品質レベルの前記ダウンサンプリングされた信号の調整を特定する段階と、
をさらに有し、
前記調整のための前記残留データの対応するエントロピーは、前記複数の異なる可能な調整のうち実質的に最小である、項目5に記載の方法。
[項目8]
前記第1品質レベルの前記信号の前記ダウンサンプリングされたレンディションを複数の要素領域にパースする段階と、
前記残留データに関連付けられたエントロピーを局所的に低下させる前記複数の要素領域内の要素の調整を特定することに並行して、前記複数の要素領域を同時に処理する段階と、
をさらに備える、項目1に記載の方法。
[項目9]
前記残留データのエントロピーを低下させる、前記複数の要素領域の前記要素の調整のグローバルチェックを少なくとも時折実行する段階をさらに備える、項目8に記載の方法。
[項目10]
前記少なくとも1つのアップサンプリング処理を適用する段階は、前記第1品質レベルの前記信号の前記レンディションの複数の要素のうちそれぞれに関して、
前記第1品質レベルの前記ダウンサンプリングされた信号の微調整する要素を選択する段階と、
複数の異なる方向に前記選択された要素を微調整する段階と、
微調整された前記選択された要素に基づき、前記第2品質レベルの前記残留データを生成する段階と、
前記第2品質レベルの前記残留データのエントロピーを計算して、前記第1品質レベルの前記選択された要素のどの微調整が、実質的に最も低いエントロピーを有する前記第2品質レベルの残留データのセットを生成するかを特定する段階と、
を繰り返す段階を有する、項目1に記載の方法。
[項目11]
前記エントロピーを計算する段階は、前記残留データを量子化して、または前記量子化をシミュレート/近似して、前記エントロピーを低下させる段階を含む、項目10に記載の方法。
[項目12]
前記少なくとも1つのアップサンプリング処理を適用する段階は、複数のアップサンプリング処理を前記第1品質レベルの前記信号の前記ダウンサンプリングされたレンディションへ適用する段階をさらに有し、
前記残留データを生成する段階は、前記第1品質レベルの前記信号の前記ダウンサンプリングされたレンディションへ適用される複数のアップサンプリングオプションのうちどれが、実質的に最も低いエントロピーを有する残留データを生成するかを特定する段階を含む、項目10に記載の方法。
[項目13]
前記少なくとも1つのアップサンプリング処理を適用する段階は、複数のアップサンプリング処理を前記第1品質レベルの前記信号の前記ダウンサンプリングされたレンディションへ適用する段階をさらに有し、
前記残留データを生成する段階は、前記第1品質レベルの前記信号の前記ダウンサンプリングされたレンディションへ適用される複数のアップサンプリングオプションのうちどれが、実質的に最も低いエントロピーを有する残留データを生成するかを特定する段階を含む、項目1に記載の方法。
[項目14]
前記第1品質レベルの前記信号の前記ダウンサンプリングされたレンディションの要素の設定を繰り返し調整して、前記第1品質レベルの前記信号の微調整されたレンディションを生成する段階と、
前記第1品質レベルの前記信号の前記微調整されたレンディションをアップサンプリングして、前記第2品質レベルの前記信号の前記アップサンプリングされたレンディションを生成する段階と、
前記第2品質レベルの前記信号の前記アップサンプリングされたレンディションへ前記残留データを適用して、前記第2品質レベルの前記信号の中間レンディションを生成する段階と、
前記第2品質レベルの前記信号の前記中間レンディションの要素を微調整して、前記第2品質レベルの前記信号の微調整されたレンディションを生成する段階と、
前記第2品質レベルの前記信号の前記アップサンプリングされたレンディションと、前記第2品質レベルの前記信号の前記微調整されたレンディションとの間の差に基づき残留データの第2セットを生成する段階と、
をさらに備える、項目1に記載の方法。
[項目15]
前記少なくとも1つのダウンサンプリング処理を利用して、前記階層における複数の連続するより低い品質レベルの前記信号のダウンサンプリングされたレンディションを生成する段階は、前記階層における複数の連続するより低い品質レベルのそれぞれに関して、
前記信号をダウンサンプリングする段階と、
選択された品質レベルでダウンサンプリングされた前記信号の微調整する要素を選択する段階と、
複数の異なる方向に前記選択された要素を微調整して、前記残留データを生成する段階と、
前記残留データのエントロピーを計算して、前記選択された要素のどの微調整が実質的に最も低いエントロピーを有する残留データのセットを生成するかを特定する段階と、
を繰り返す段階をさらに有する、項目1に記載の方法。
[項目16]
前記少なくとも1つのダウンサンプリング処理を利用して、前記階層における複数の連続するより低い品質レベルの前記信号の前記ダウンサンプリングされたレンディションを生成する段階は、
前記信号をダウンサンプリングするレベルとして、前記階層における最も高い品質レベルを表す品質レベルJを選択する段階と、
前記品質レベルJより低い次の品質レベルである品質レベルJ−1の前記信号のレンディションへの選択されたダウンサンプリング処理を前記品質レベルJの前記信号に適用する段階と、
前記品質レベルJ−1の前記信号の前記レンディションの値の設定を繰り返し微調整して、前記品質レベルJの前記信号を再構築するために必要な残留データのエントロピーを低下させる前記品質レベルJ−1の前記信号の微調整されたレンディションを特定する段階と、
をさらに有する、項目1に記載の方法。
[項目17]
前記品質レベルJ−1より低い次の品質レベルである品質レベルJ−2の前記信号のレンディションへの選択されたダウンサンプリング処理を前記品質レベルJ−1の前記信号の前記微調整されたレンディションに適用する段階と、
前記品質レベルJ−2の前記信号の前記レンディションの値の設定を繰り返し微調整して、前記品質レベルJ−1の前記信号の前記微調整されたレンディションを再構築するために必要な残留データのエントロピーを低下させる前記品質レベルJ−2の前記信号の微調整されたレンディションを特定する段階と、
選択されたダウンサンプリング処理を適用する段階と、前記階層における複数の連続するより低い品質レベルの複数のペアに対して設定を繰り返し微調整する段階とを繰り返して、前記第2品質レベルおよび前記第1品質レベルの前記信号の前記ダウンサンプリングされたレンディションを生成する段階と、
をさらに備える、項目16に記載の方法。
[項目18]
品質レベルJ−1の前記信号の前記レンディションの値の複数の可能なアップサンプリング処理および微調整された設定のうちどれが、前記品質レベルJの前記信号を再構築するために必要な残留データのエントロピーを低下させるかを繰り返しテストする段階をさらに備える、項目16に記載の方法。
[項目19]
命令を格納したコンピュータ可読記憶ハードウェアであり、
前記命令は、処理デバイスにより実行されると、前記処理デバイスに、
信号を受信する手順と、
少なくとも1つのダウンサンプリング処理を利用して、階層における複数の連続するより低い品質レベルの前記信号のダウンサンプリングされたレンディションを生成する手順と、
前記少なくとも1つのダウンサンプリング処理と非対称であり得る、少なくとも1つのアップサンプリング処理を第1品質レベルの前記信号のダウンサンプリングされたレンディションへ適用して、前記階層における前記第1品質レベルよりも高い第2品質レベルの前記信号のアップサンプリングされたレンディションを生成する手順と、
前記第2品質レベルの前記信号の前記ダウンサンプリングされたレンディションと、前記第2品質レベルの前記信号の前記アップサンプリングされたレンディションとの間の差を示す残留データを生成する手順と、
を実行させる、コンピュータ可読記憶ハードウェア。
[項目20]
コンピュータシステムであり、
プロセッサと、
前記プロセッサにより実行されるアプリケーションに関連付けられた命令を格納するメモリユニットと、
前記プロセッサと前記メモリユニットとを結合するインターコネクトと、
を備え、
前記インターコネクトは、前記コンピュータシステムに前記アプリケーションを実行させ、
入力として信号を有する手順と、
少なくとも1つのダウンサンプリング処理を利用して、階層における複数の連続するより低い品質レベルの前記信号のダウンサンプリングされたレンディションを生成する手順と、
前記少なくとも1つのダウンサンプリング処理と非対称であり得る、少なくとも1つのアップサンプリング処理を第1品質レベルの前記信号のダウンサンプリングされたレンディションへ適用して、前記階層における前記第1品質レベルよりも高い第2品質レベルの前記信号のアップサンプリングされたレンディションを生成する手順と、
前記第2品質レベルの前記信号の前記ダウンサンプリングされたレンディションと、前記第2品質レベルの前記信号の前記アップサンプリングされたレンディションとの間の差を示す残留データを生成する手順と、
を実行させる、コンピュータシステム。