特許第6206879号(P6206879)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ロッサト、ルカの特許一覧 ▶ メアルディ、グイドの特許一覧

特許6206879信号処理、および階層化された信号エンコード
<>
  • 特許6206879-信号処理、および階層化された信号エンコード 図000002
  • 特許6206879-信号処理、および階層化された信号エンコード 図000003
  • 特許6206879-信号処理、および階層化された信号エンコード 図000004
  • 特許6206879-信号処理、および階層化された信号エンコード 図000005
  • 特許6206879-信号処理、および階層化された信号エンコード 図000006
  • 特許6206879-信号処理、および階層化された信号エンコード 図000007
  • 特許6206879-信号処理、および階層化された信号エンコード 図000008
  • 特許6206879-信号処理、および階層化された信号エンコード 図000009
  • 特許6206879-信号処理、および階層化された信号エンコード 図000010
  • 特許6206879-信号処理、および階層化された信号エンコード 図000011
  • 特許6206879-信号処理、および階層化された信号エンコード 図000012
  • 特許6206879-信号処理、および階層化された信号エンコード 図000013
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6206879
(24)【登録日】2017年9月15日
(45)【発行日】2017年10月4日
(54)【発明の名称】信号処理、および階層化された信号エンコード
(51)【国際特許分類】
   H04N 19/117 20140101AFI20170925BHJP
   H04N 19/44 20140101ALI20170925BHJP
   H04N 19/33 20140101ALI20170925BHJP
   H04N 19/146 20140101ALI20170925BHJP
   H04N 19/169 20140101ALI20170925BHJP
   H04N 19/192 20140101ALI20170925BHJP
【FI】
   H04N19/117
   H04N19/44
   H04N19/33
   H04N19/146
   H04N19/169
   H04N19/192
【請求項の数】22
【全頁数】33
(21)【出願番号】特願2014-520781(P2014-520781)
(86)(22)【出願日】2012年7月20日
(65)【公表番号】特表2014-521274(P2014-521274A)
(43)【公表日】2014年8月25日
(86)【国際出願番号】IB2012053723
(87)【国際公開番号】WO2013011493
(87)【国際公開日】20130124
【審査請求日】2015年7月17日
(31)【優先権主張番号】13/188,207
(32)【優先日】2011年7月21日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】514005847
【氏名又は名称】ロッサト、ルカ
(73)【特許権者】
【識別番号】514005858
【氏名又は名称】メアルディ、グイド
(74)【代理人】
【識別番号】110000877
【氏名又は名称】龍華国際特許業務法人
(72)【発明者】
【氏名】ロッサト、ルカ
(72)【発明者】
【氏名】メアルディ、グイド
【審査官】 堀井 啓明
(56)【参考文献】
【文献】 特開2006−101535(JP,A)
【文献】 特開2010−118795(JP,A)
【文献】 特開2004−357215(JP,A)
【文献】 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名)
H04N19/00−19/98
(57)【特許請求の範囲】
【請求項1】
階層における複数の異なる品質レベルで信号をエンコードする方法であり、
入力として信号を有する段階と、
少なくとも1つのダウンサンプリング処理を利用して、前記信号が前記階層における複数の連続するより低い品質レベルダウンサンプリングされた少なくとも1つのレンディションを生成する段階と、
少なくとも1つのアップサンプリング処理を、前記少なくとも1つのレンディションのうちの第1品質レベルにダウンサンプリングされた前記信号のレンディションへ適用して、前記階層における前記第1品質レベルよりも高い第2品質レベルの前記信号のレンディションを生成する段階と、
前記第2品質レベルの前記信号の前記ダウンサンプリングされたレンディションと、前記第2品質レベルの前記信号の前記アップサンプリングされたレンディションとの間の差を示す残留データを生成する段階と、
残留データと前記第2品質レベルの前記信号の前記アップサンプリングされたレンディションとを組み合わせて、前記第2品質レベルの前記信号の再構築されたレンディションを生成する段階と
前記第1品質レベルにおける前記信号の前記レンディションの値を調整する段階と、
前記第1品質レベルにおける前記信号の前記調整されたレンディションをダウンサンプリングして、前記第1品質レベルよりも低い第3品質レベルにおける前記信号のレンディションを生成する段階と
を備える方法。
【請求項2】
前記第2品質レベルの前記信号の第1部分のために生成される残留データは、前記第2品質レベルの前記信号の残りの部分のために生成される残留データとは並列して生成される、請求項1に記載の方法。
【請求項3】
少なくとも1つのダウンサンプリング処理は非線形である、請求項1または2に記載の方法。
【請求項4】
少なくとも1つのアップサンプリング処理は非線形である、請求項1から3のいずれか1項に記載の方法。
【請求項5】
前記第1品質レベルの前記信号の前記ダウンサンプリングされたレンディションの要素の設定を調整して、前記第2品質レベルの前記信号のレンディションを再構築するために必要な前記残留データのエントロピーを低下させる段階をさらに備える、請求項1から4のいずれか1項に記載の方法。
【請求項6】
前記第1品質レベルの前記信号の前記レンディションを前記第2品質レベルの前記信号の前記アップサンプリングされたレンディションにアップサンプリングするのに用いられる複数のアップサンプリングオプションのそれぞれに関して、前記第1品質レベルの前記信号の前記ダウンサンプリングされたレンディションの要素の設定を調整して、前記第2品質レベルの前記信号の前記再構築されたレンディションを再構築するために必要な前記残留データのエントロピーを低下させる段階と、
前記複数のアップサンプリングオプション、および、前記第1品質レベルの前記信号の前記ダウンサンプリングされたレンディションの調整のうちどれが前記残留データの実質的に最も低いエントロピーをもたらすかを特定する段階と
をさらに備える、請求項1から5のいずれか1項に記載の方法。
【請求項7】
前記残留データに関するエントロピーの最適化を促す連続変換関数を実行して、実質的に矩形の関数をシミュレートする段階をさらに備え、
前記連続変換関数を実行して前記実質的に矩形の関数をシミュレートする段階は、
前記第1品質レベルの前記ダウンサンプリングされた信号の複数の異なる可能な調整に応じて大きさが異なるエントロピー関数を生成する段階と、
前記エントロピー関数を利用して、前記第1品質レベルの前記ダウンサンプリングされた信号の調整を特定する段階と
をさらに有し、
前記調整のための前記残留データの対応するエントロピーは、前記複数の異なる可能な調整のうち実質的に最小である、請求項1から6のいずれか1項に記載の方法。
【請求項8】
前記第1品質レベルの前記信号の前記ダウンサンプリングされたレンディションを複数の要素領域にパースする段階と、
前記残留データに関連付けられたエントロピーを局所的に低下させる前記複数の要素領域内の要素の調整を特定することに並行して、前記複数の要素領域を同時に処理する段階と、
をさらに備える、請求項1から7のいずれか1項に記載の方法。
【請求項9】
前記残留データのエントロピーを低下させる、前記複数の要素領域の前記要素の調整のグローバルチェックを少なくとも時折実行する段階をさらに備える、請求項8に記載の方法。
【請求項10】
前記少なくとも1つのアップサンプリング処理を適用する段階は、前記第1品質レベルの前記信号の前記レンディションの複数の要素のうちそれぞれに関して、
前記第1品質レベルの前記ダウンサンプリングされた信号の調整する要素を選択する段階と、
記選択された要素を調整する段階と、
調整された前記選択された要素に基づき、前記第2品質レベルの前記残留データを生成する段階と、
前記第2品質レベルの前記残留データのエントロピーを計算して、前記第1品質レベルの前記選択された要素のどの調整が、実質的に最も低いエントロピーを有する前記第2品質レベルの残留データのセットを生成するかを特定する段階と
を繰り返す段階を有する、請求項1から9のいずれか1項に記載の方法。
【請求項11】
前記エントロピーを計算する段階は、前記残留データを量子化して、または前記量子化をシミュレート/近似して、前記エントロピーを低下させる段階を含む、請求項10に記載の方法。
【請求項12】
前記少なくとも1つのアップサンプリング処理を適用する段階は、複数のアップサンプリング処理のうち少なくとも1つを前記第1品質レベルの前記信号の前記ダウンサンプリングされたレンディションへ適用する段階をさらに有し、
前記残留データを生成する段階は、前記第1品質レベルの前記信号の前記ダウンサンプリングされたレンディションへ適用される複数のアップサンプリングオプションのうちどれが、実質的に最も低いエントロピーを有する残留データを生成するかを特定する段階を含む、請求項10または11に記載の方法。
【請求項13】
前記少なくとも1つのアップサンプリング処理を適用する段階は、複数のアップサンプリング処理のうち少なくとも1つを前記第1品質レベルの前記信号の前記ダウンサンプリングされたレンディションへ適用する段階をさらに有し、
前記残留データを生成する段階は、前記第1品質レベルの前記信号の前記ダウンサンプリングされたレンディションへ適用される複数のアップサンプリングオプションのうちどれが、実質的に最も低いエントロピーを有する残留データを生成するかを特定する段階を含む、請求項1から9のいずれか1項に記載の方法。
【請求項14】
前記第1品質レベルの前記信号の前記ダウンサンプリングされたレンディションの要素の設定を調整して、前記第1品質レベルの前記信号の調整されたレンディションを生成する段階と、
前記第1品質レベルの前記信号の前記調整されたレンディションをアップサンプリングして、前記第2品質レベルの前記信号の前記アップサンプリングされたレンディションを生成する段階と、
前記第2品質レベルの前記信号の前記アップサンプリングされたレンディションへ前記残留データを適用して、前記第2品質レベルの前記信号の中間レンディションを生成する段階と、
前記第2品質レベルの前記信号の前記中間レンディションの要素を調整して、前記第2品質レベルの前記信号の調整されたレンディションを生成する段階と、
前記第2品質レベルの前記信号の前記アップサンプリングされたレンディションと、前記第2品質レベルの前記信号の前記調整されたレンディションとの間の差に基づき残留データの第2セットを生成する段階と
をさらに備える、請求項1から13のいずれか1項に記載の方法。
【請求項15】
前記少なくとも1つのダウンサンプリング処理を利用して、前記階層における複数の連続するより低い品質レベルの前記信号の前記ダウンサンプリングされたレンディションを生成する段階は、前記階層における複数の連続するより低い品質レベルのそれぞれに関して、
前記信号をダウンサンプリングする段階と、
選択された品質レベルでダウンサンプリングされた前記信号の調整する要素を選択する段階と、
記選択された要素を調整して、前記残留データを生成する段階と、
前記残留データのエントロピーを計算して、前記選択された要素のどの調整が実質的に最も低いエントロピーを有する残留データのセットを生成するかを特定する段階と
を繰り返す段階をさらに有する、請求項1から14のいずれか1項に記載の方法。
【請求項16】
前記少なくとも1つのダウンサンプリング処理を利用して、前記階層における複数の連続するより低い品質レベルの前記信号の前記ダウンサンプリングされたレンディションを生成する段階は、
前記信号をダウンサンプリングするレベルとして、前記階層における最も高い品質レベルを表す品質レベルJを選択する段階と、
前記品質レベルJより低い次の品質レベルである品質レベルJ−1の前記信号のレンディションへの選択されたダウンサンプリング処理を前記品質レベルJの前記信号に適用する段階と、
前記品質レベルJ−1の前記信号の前記レンディションの値の設定を調整して、前記品質レベルJの前記信号を再構築するために必要な残留データのエントロピーを低下させる前記品質レベルJ−1の前記信号の調整されたレンディションを特定する段階と
をさらに有する、請求項1から15のいずれか1項に記載の方法。
【請求項17】
前記品質レベルJ−1より低い次の品質レベルである品質レベルJ−2の前記信号のレンディションへの選択されたダウンサンプリング処理を前記品質レベルJ−1の前記信号の前記調整されたレンディションに適用する段階と、
前記品質レベルJ−2の前記信号の前記レンディションの値の設定を調整して、前記品質レベルJ−1の前記信号の前記調整されたレンディションを再構築するために必要な残留データのエントロピーを低下させる前記品質レベルJ−2の前記信号の調整されたレンディションを特定する段階と、
選択されたダウンサンプリング処理を適用する段階と、前記階層における複数の連続するより低い品質レベルの複数のペアに対して設定を調整する段階とを繰り返して、前記第2品質レベルおよび前記第1品質レベルの前記信号の前記ダウンサンプリングされたレンディションを生成する段階と
をさらに備える、請求項16に記載の方法。
【請求項18】
前記品質レベルJ−1の前記信号の前記レンディションの値の複数の可能なアップサンプリング処理および調整された設定のうちどれが、前記品質レベルJの前記信号を再構築するために必要な残留データのエントロピーを低下させるかを特定する段階をさらに備える、請求項16または17に記載の方法。
【請求項19】
前記信号は画像である、請求項1から18のいずれか1項に記載の方法。
【請求項20】
前記信号は動画信号である、請求項1から18のいずれか1項に記載の方法。
【請求項21】
コンピュータプログラムであって
前記コンピュータプログラムは、処理デバイスにより実行されると、前記処理デバイスに、
入力として信号を受信する手順と、
少なくとも1つのダウンサンプリング処理を利用して、前記信号が階層における複数の連続するより低い品質レベルダウンサンプリングされた少なくとも1つのレンディションを生成する手順と、
少なくとも1つのアップサンプリング処理を、前記少なくとも1つのレンディションのうちの第1品質レベルにダウンサンプリングされた前記信号のレンディションへ適用して、前記階層における前記第1品質レベルよりも高い第2品質レベルの前記信号のレンディションを生成する手順と、
前記第2品質レベルの前記信号の前記ダウンサンプリングされたレンディションと、前記第2品質レベルの前記信号の前記アップサンプリングされたレンディションとの間の差を示す残留データを生成する手順と、
残留データと前記第2品質レベルの前記信号の前記アップサンプリングされたレンディションとを組み合わせて、前記第2品質レベルの前記信号の再構築されたレンディションを生成する手順と
前記第1品質レベルにおける前記信号の前記レンディションの値を調整する手順と、
前記第1品質レベルにおける前記信号の前記調整されたレンディションをダウンサンプリングして、前記第1品質レベルよりも低い第3品質レベルにおける前記信号のレンディションを生成する手順と
を実行させるためのコンピュータプログラム。
【請求項22】
コンピュータシステムであり、
プロセッサと、
前記プロセッサにより実行されるアプリケーションに関連付けられた命令を格納するメモリユニットと、
前記プロセッサと前記メモリユニットとを結合するインターコネクトと
を備え、
前記インターコネクトは、前記コンピュータシステムに前記アプリケーションを実行させ、
入力として信号を受信する手順と、
少なくとも1つのダウンサンプリング処理を利用して、前記信号が階層における複数の連続するより低い品質レベルダウンサンプリングされた少なくとも1つのレンディションを生成する手順と、
少なくとも1つのアップサンプリング処理を、前記少なくとも1つのレンディションのうちの第1品質レベルにダウンサンプリングされた前記信号のレンディションへ適用して、前記階層における前記第1品質レベルよりも高い第2品質レベルの前記信号のレンディションを生成する手順と、
前記第2品質レベルの前記信号の前記ダウンサンプリングされたレンディションと、前記第2品質レベルの前記信号の前記アップサンプリングされたレンディションとの間の差を示す残留データを生成する手順と、
残留データと前記第2品質レベルの前記信号の前記アップサンプリングされたレンディションとを組み合わせて、前記第2品質レベルの前記信号の再構築されたレンディションを生成する手順と
前記第1品質レベルにおける前記信号の前記レンディションの値を調整する手順と、
前記第1品質レベルにおける前記信号の前記調整されたレンディションをダウンサンプリングして、前記第1品質レベルよりも低い第3品質レベルにおける前記信号のレンディションを生成する手順と
を実行させる、コンピュータシステム。
【発明の詳細な説明】
【技術分野】
【0001】
CPU(中央演算処理装置)の効率性は、信号のエンコードおよびデコードの両方において重要である。現在の世代のプロセッサは、それぞれのチップ上に数百のシンプルなコアが搭載され、より多くの処理を並行して行えるようになってきている。
【背景技術】
【0002】
残念ながら従来のMPEG(Moving Pictures Expert Group)ファミリーのコーデックは元々構造的に並行ではない。このことは、効率的な圧縮を行うには全てのブロックが互いに何らかの形で依存し合うようにされなければならなく、それらがブロックベースであり、各画像ブロックが順番にエンコードされデコードされる必要があるという事実に起因する。
【0003】
MPEGコードへのいわゆる「スライス」(基本的に、互いに隣り合って配置された別個の動画であるかのように互いに独立して処理される画像の部分)の導入により、H.264規格は、いくつかのスレッド(典型的には2つまたは3つのスレッド)の並行処理を可能とする。デブロック化(つまり、ブロック間の遷移を「スムーズに」し、より均一な画像を生成するフィルター)など重要なアルゴリズム要素は、典型的には、並行CPUを含む適用例には不適切である条件命令が多いグローバルな処理である。
【0004】
今日のCPUおよびGPU(グラフィックス処理ユニット)は典型的には非常に処理能力が高い。情報の並列処理を実行すべく1つのGPUが数百のコンピューティングコアを含みうる。現在の技術を用いる場合、画像の多くの部分は、プロセッサキャッシュに格納され、処理され得る。当時のプロセッサは非常に小さな動画データの塊のみしか一時に扱えず、よって順次にしか扱うことが出来なかったので画像を多数の小さなブロックに分断する必要性があった。このことがMPEGの開発が推し進められた要因であったが、現代のCPUおよびGPUには当てはまらない。よって、利用可能な処理能力の大部分は、MPEGのようなタイプのエンコード/デコードを実装する際には未使用のままとなり、ブロッキングアーティファクトが信号に不必要に取り込まれる。
【0005】
また、MPEGが開発された当時と比較し、現代のアプリケーションには典型的には、はるかに高い解像度の動画エンコード、および、はるかに高い全体的な再生品質が求められる。高解像度(HD)高品質動画においては、低詳細度のエリア(場合によっては焦点さえあっていないかもしれない)と、超高詳細度のエリアとの間にはるかに大きな差がある。このことにより、MPEGで用いられる変換など周波数領域の変換を画像の処理および再生に利用することがさらに不適切となる。なぜなら、対応する周波数の範囲がはるかに広くなりつつあるからである。
【0006】
加えて、高解像度の画像は、多量のカメラノイズおよび/またはフィルム粒子、つまり、視覚とはかなり無関係になり得、多くのビットのエンコードを必要とする超高詳細度の高周波数画素の遷移を含む。
【0007】
最後に、従来のコーデックは、医療向けの画像化、科学向けの画像化などの分野においてより一層重要になってきている3Dまたはボリュメトリック画像化を効率的に実行するには不適切である。
【0008】
今日の殆どの対象デバイスは、互いに異なる再生解像度および品質をサポートしている。拡張性に関する現在のMPEG規格であるいわゆるSVC(スケーラブルビデオコード)は、産業界からの評判が良くなく、殆ど、または全く採用されていない。なぜなら、SVCはあまりに複雑であり、幾分、帯域幅の面で非効率であると見なされているからである。
【0009】
さらに、エンコードされた動画は多い。つまり、コンテンツプロバイダは典型的にはエンコーダのパラメータをカスタマイズし、特定の動画ストリーム毎に試す時間がない。現在、コンテンツプロバイダは、動画のエンコードを成功させるためには多くのエンコードパラメータをマニュアルで(エンコードを実行し結果の品質をチェックする度に)微調整しなければならないことを嫌っている。
【0010】
エンコード/デコードのMPEG規格の代替として、いわゆる画像ピラミッドがエンコード/デコード目的で用いられている。例えば、ラプラシアンピラミッドを用い、従来のシステムは、ガウシアンフィルタを用い、より低い画像度レベルから元のレベルへ戻すよう厳密にプログラミングされたデコーダでアップサンプリングすることにより得られた画像の間の差のピラミッドを構築することにより、より低い解像度の画像を生成してきた。
【0011】
従来のラプラシアンピラミッドによるエンコードは利用されていない。そのような変換の欠点の1つは、開発者が常に、ダウンサンプリングされた画像の歪み/アーティファクトを避けようとしており、彼らが常に、自身の情報を何ら追加しないただ1つのタイプのフィルターであるという理由からガウシアンフィルタを用いてきたということである。しかし、ガウシアンフィルタの克服され得ない課題は、ガウシアンフィルタがぼけ効果を有しており、より大きな解像度に戻すようアップルケールする場合に、元の画像を再現するべく、非常に多くの画像補正情報が必要となるということである。
【発明の概要】
【発明が解決しようとする課題】
【0012】
本願発明の実施形態は、従来のシステムおよび方法から逸脱する。例えば、本願発明の実施形態は、デコードの際に信号を再構築するために必要となるデータの量を低減する、信号情報を処理しエンコードする独特なやり方に関する。
【課題を解決するための手段】
【0013】
より詳細には、本願発明の一実施形態は、階層における複数の異なる品質レベルの受信信号をエンコードする段階を含む。例えば、エンコーダがエンコードされる信号を受信する。最初に、エンコーダは1以上のダウンサンプリング処理を利用して、階層における複数の連続するより低い品質レベルの信号のダウンサンプリングされたレンディションを生成する。その後、エンコーダは、1以上のアップサンプリング処理を第1品質レベルの信号のダウンサンプリングされたレンディションに適用して、階層における第2(例えば、より高い)品質レベルの信号のアップサンプリングされたレンディションを生成する。本明細書で説明するように、アップサンプリング処理およびダウンサンプリング処理は互いに非対称である。アップサンプリング処理およびダウンサンプリング処理の一方または両方のそれぞれは、互いに異なる非線形関数でありうる。
【0014】
本願発明の一実施形態は、対応するエンコードループにおいていくつかの異なるダウンサンプリング処理およびアップサンプリング処理を用いて、どの処理が、エンコードされたデータの量を低減するのに最も適しているかを判断する段階を含む。そのような実施形態によると、エンコーダは、信号のダウンサンプリングされたレンディションと、より低い品質レベルの信号のアップサンプリングされたレンディションとの間の差を示す残留データのセットを生成し、テストする。
【0015】
他の実施形態によると、階層における各品質レベルにおいて、エンコーダは、「損失の多い」エンコードアルゴリズムを実行して、各品質レベルで生成される残留データのエントロピーを低下させる。エントロピーの低下は、各品質レベルの信号の要素を変更、または微調整し、より高いレベルの残留データのエントロピーへの影響を推定することによって達成され得る。
【0016】
さらに特定的な実施形態によると、エントロピーを改善する(例えば、低下させる)ために微調整する処理は、以下の1以上の条件が当てはまるまで繰り返され得る。a.)より高い品質レベルに関して得られたエントロピーレベルが閾値を下回る。b.)任意の回数の試みに対して、追加的に変更を加えても残留データのエントロピーを改善しそうにない。c)エンコーダが、エントロピーを低下させるべく予め設定された回数の試みを行った。さらに他の条件も考慮され得る。
【0017】
本明細書にさらに説明されるように、エントロピーは、品質レベルに関して差についての情報を示すのに必要なビット数、シンボル数などを計算する、または推定するプロキシ関数を用いて推定され得る。
【0018】
他の実施形態において、エンコーダは、エントロピーへの影響を特定するプロキシ関数を用いて、微調整毎に残留データを完全にエンコードする必要なく、より高い品質レベルの残留データのエントロピーへの影響を推定する。プロキシ関数は、ゼロの値とは異なる、またはゼロ値に近い残留データの割合を示す値など測定基準を生成し得る。
【0019】
ダウンサンプリング処理およびフィルターの最適化は、本明細書で説明される各実施形態の目的では必ずしもない。一実施形態において、エンコーダは既に、デコード部において、より高い品質レベルに戻すようアップスケールするためにどの線形の、または非線形の演算(例えば、バイキュービックフィルタリング、アンシャーピングマスキング、デブレンディングなど)が用いられるかを知っているので、エンコーダは、より低い品質レベルのアーティファクトを低減するためではなく、アップサンプリング処理を適用した後の残留データの数を低減するべく(または、よりさらに正確には、残留データのエントロピーを低下させるべく)ダウンサンプリングを最適化し得る。ダウンサンプリング関数およびアップサンプリング関数の両方が、非線形タイプの関数でありうる。
【0020】
本明細書においてさらに説明するように、エンコードの間の信号のダウンサンプリングは、微調整された双線形フィルター処理を実行することを含みうる。そのような実施形態によると、エンコーダは最初に、双線形フィルターなどのダウンサンプリング関数を用いて、レベルnからレベル(n−1)へダウンサンプリングする。エンコーダは各要素に焦点を当て、様々な方向に変更する。エンコーダが要素を変更する度に、エンコーダは、より高い品質レベルに戻すようアップサンプリングし(つまり、レベルn−1の各pel/画素が、レベルnの多くの画素に影響を与える)、適切なエントロピー測定基準の生成に基づいて、残留データのエントロピーを評価する。
【0021】
生成されたエントロピー測定基準に従って、レベルn−1の特定のpel/画素の新たな値に関し、エンコーダは最終的に、次に高い品質レベル(例えば、レベル階層)の残留データの最も低いエントロピーを生成する変更を選択する。そのようにするためにエンコーダは、反復アルゴリズムまたはルーピングアルゴリズムを活用し得る。反復アルゴリズムは、要素を変更する方向(例えば、上または下)を選択する。エントロピー測定基準が改善されると、エンコーダは選択された方向に他の変更を継続して行う。エンコーダは、反復の微調整手順に関する最小のエントロピー値に近くなると、変更の大きさを小さくしてもよい。
【0022】
一実施形態において、微調整処理は、受信信号を複数の異なる品質レベルにエンコードするのに必要な時間量を減らすべく並行して実行される。並列処理には、高度にマルチコアであるCPUおよびGPUの利用が含まれ得る。各プロセッサは、信号全体のうち選択された部分を処理し得る。
【0023】
レベル(n−1)の互いに異なるpel/画素がレベルnの重複するエリアに影響し得るので、アルゴリズムの「並行ステップ」毎に、エンコーダは、グローバルアグリゲーションアルゴリズム(場合によっては、グローバルパスを行う前に一定回数の反復のローカルループを行い、階層的なやり方で、例えば1つのpel、その後4×4、その後16×16など)を実行し、サブ領域への微調整が残留データのグローバルなセットに関するエントロピーにネガティブに影響を与えるかをチェックし得る。
【0024】
微調整アルゴリズムの詳細な実行は、異なる考え得るアップサンプリングオプションを考慮に入れ、微調整アルゴリズムの完了時に、エンコーダは、代替的なアップサンプリング技術毎に最適なレベルn−1が分かる。エンコーダは、次に高いレベルの残留データに関し最も低い全体的なエントロピー測定基準を生成するアップサンプリングまたはアップスケールオプションを選択し得る。
【0025】
加えて、十分なエンコーダの計算能力により、エンコーダは、レベル(n−1)のみに基づくのではなくレベルnの処理に基づき品質レベル(n−2)を微調整およびエンコードし得る。言い換えると、より低い品質レベルの信号データが微調整され得、階層における複数の異なるより高い品質レベルでエントロピーが低下させられ得る。加えて、同じアプローチが、より低いレベルからより高いレベルへ戻すようアップスケールを行うために活用される処理およびフィルターを修正する(または改善する)のにも用いられ得る。例えば、エンコーダが複数のより高い品質レベルに基づいてより低いレベルを微調整した場合、エンコーダおよびデコーダは、複数のより低いレベルに含まれる情報に基づき、階層におけるより高い品質レベルの信号を再構築することが出来る。
【0026】
なお、本明細書で説明される受信信号は何らかの適切なタイプのものでありうる。一実施形態において、信号は画像データを表す。そのような実施形態において、エンコーダは、エンコードされたデータの階層化されたセットの生成に基づいて、より低い解像度の、またはより低い品質レベルの信号をエンコードする。階層における任意の品質レベル(例えば、最も低いレベル)から始まるエンコードされたデータのセットを利用し、エンコードされたデータの階層化されたセットはデコードされ得、再生のために元の画像、または、元の画像の「損失の多い」複製を再構築するのに用いられ得る。
【0027】
これらの、および他の実施形態の変形例は、以下により詳細に説明される。
【0028】
上記にて言及したように、本願発明の実施形態は、本明細書において開示される方法の処理のいずれか、または全てを実行する、および/またはサポートする1以上のコンピュータ化されたデバイス、ルーター、ネットワーク、ワークステーション、ハンドヘルドまたはラップトップコンピュータなどの構成を含みうる。言い換えると、1以上のコンピュータ化されたデバイス、またはプロセッサは、複数の異なる実施形態を実施するべく本明細書に説明されるように処理するようプログラミングされ、および/または構成され得る。
【0029】
上記にて説明したデコーダおよび処理に加えて、本願発明のさらに他の実施形態は、上記にて要約され、以下に詳細に開示されるステップおよび処理を実行するソフトウェアプログラムを含む。そのような一実施形態は、プロセッサおよび対応するメモリを有するコンピュータ化されたデバイスで実行されると本明細書において開示される処理のいずれかをプロセッサが実行するよう当該プロセッサをプログラミングする、および/または当該プロセッサに実行させるエンコードされたコンピュータプログラムロジック、命令などを含むコンピュータ可読ハードウェア記憶リソース(つまり、非一時的コンピュータ可読媒体)を備える。そのような構成は、光学式媒体(例えばCD−ROM)、フロッピー(登録商標)若しくはハードディスク、または、1以上のROM、RAM、若しくはPROMチップ内のファームウェアまたはマイクロコードなどの他の媒体などのコンピュータ可読媒体上で構成された、またはエンコードされたソフトウェア、コード、および/または他のデータ(例えば、データ構造)として、または、特定用途向け集積回路(ASIC)として提供され得る。ソフトウェア、ファームウェア、または他のそのような構成は、本明細書に説明される技術をコンピュータ化されたデバイスに実施させるべく、当該コンピュータ化されたデバイスにインストールされ得る。
【0030】
したがって、本開示の1つの特定的な実施形態は、信号処理動作をサポートするための命令を格納したコンピュータ可読ハードウェア記憶媒体を含むコンピュータプログラム製品に関する。例えば一実施形態において、命令は、対応するコンピュータデバイスのプロセッサにより実行されると、プロセッサに、信号を受信する手順と、少なくとも1つのダウンサンプリング処理を利用して、階層における複数の連続するより低い品質レベルの信号のダウンサンプリングされたレンディションを生成する手順と、少なくとも1つのダウンサンプリング処理と非対称であり得る、少なくとも1つのアップサンプリング処理を第1品質レベルの信号のダウンサンプリングされたレンディションへ適用して、階層における第1品質レベルよりも高い第2品質レベルの信号のアップサンプリングされたレンディションを生成する手順と、第2品質レベルの信号のダウンサンプリングされたレンディションと、第2品質レベルの信号のアップサンプリングされたレンディションとの間の差を示す残留データを生成する手順とを実行させる。
【0031】
明確にすべく、ステップには順序が与えられている。これらのステップは何らかの適切な順序で実行され得る。
【0032】
本開示の他の実施形態は、上記にて要約され、以下に詳細に開示される方法の実施形態のいずれかのステップおよび処理を実行する、ソフトウェアプログラム、ファームウェア、および/または、対応するハードウェアを含む。
【0033】
本明細書で説明されるシステム、方法、装置、コンピュータ可読記憶媒体上の命令などは、ソフトウェアプログラムとして、ソフトウェア、ファームウェア、および/またはハードウェアのハイブリッドとして、プロセッサ内、オペレーティングシステム内、またはソフトウェアアプリケーション内などでハードウェア単体で厳密に実施され得る。
【0034】
上記にて説明したように、本願発明に係る技術は、信号をエンコードするソフトウェア、ファームウェア、および/またはハードウェアへの適用例における利用によく適している。しかし、本願発明の実施形態は、そのような適用例での利用に限定されず、本明細書において説明される技術は、他の適用例においても同様によく適している。
【0035】
加えて、本明細書において複数の異なる特徴、技術、構成などのうちそれぞれが本開示の複数の異なる箇所において説明されるかもしれないが、そのような概念のうちそれぞれが、互いに独立して、または、互いに組み合わせられて実装され得る。したがって、本明細書で説明される1以上の本願発明、実施形態などは、多くの異なるやり方で実施され得、多くの異なる見方で見ることが出来る。
【0036】
また、この本願発明の実施形態の予備的な説明は、本開示の、または特許請求される本願発明のあらゆる実施形態、および/または、付加的に新規の態様を特定しているのではない。代わりに、この要約された説明は、一般的な実施形態、および従来技術に対して新規性を有する対応する点のみを提示している。本願発明の追加的な詳細事項、および/または考え得る視点(置換)に関しては、以下にさらに説明される本開示の詳細な説明の項、および対応する図面を参照されたい。
【図面の簡単な説明】
【0037】
本願発明の先述の、および他の目的、特徴、および利点は、添付の図面に示される、以下の、本願発明の好ましい実施形態のより詳細な説明から明らかとなるであろう。複数の異なる図面において、同じパーツを指すのに同様の参照文字が用いられる。図面は縮尺通りであるとは限らず、実施形態、原理、概念などを示すことに重点を置いている。
図1】本願発明の実施形態に係る、エンコーダ、および信号のダウンサンプリングの例を示す図である。
図2】本願発明の実施形態に係るダウンサンプリングアルゴリズムを実行するステップの例を示す図である。
図3】本願発明の実施形態に係る、画像情報のダウンサンプリングの例を示す図である。
図4】本願発明の実施形態に係る、信号のエンコードの例を示す図である。
図5】本願発明の実施形態に係る、残留データのエントロピーを低下させるための、アップサンプリングの間の要素の微調整を含む信号のエンコードの例を示す図である。
図6】本願発明の実施形態に係る、デコーダにより用いられる残留データの生成の例を示す図である。
図7】本願発明の実施形態に係る、デコーダに用いられる残留データの生成の例を示す図である。
図8】本願発明の実施形態に係る、微調整し、ダウンサンプリングされたデータの生成の例を示す図である。
図9】本願発明の実施形態に係る、残留データをダウンサンプリングし、微調整し、アップサンプリングし、量子化する例示的な方法を示す図である。
図10】本願発明の実施形態に係る、エントロピーを判断するための関数の例を示す図である。
図11】本願発明の実施形態に係る、残留データの量子化の例を示す図である。
図12】本願発明の実施形態に係る、コンピュータコード、ファームウェア、ソフトウェア、アプリケーション、ロジックなどを実行するための例示的なコンピュータアーキテクチャを示す図である。
【発明を実施するための形態】
【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の第1バージョンへ適用して、信号データSJを生成する。その後、エンコーダ140は、信号データSJ、SJ間の差を計算し、残留データ118−1を生成する。残留データ118−1は、信号データSJ(信号115)を所望される精度で再現するために信号データSJに加えられるべき修正を示す。
【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に等しい場合、生成される残留データは全てゼロ値(例えば、最小のエントロピー)となる。そのような例において、残留データ118−1に関するエントロピーは可能な限り低くなるので、信号データSJ−1を微調整する必要がない。
【0052】
可能性がより高いケースは、信号データSJ、SJが等しくない場合である。残留データ118−1および調整された残留データ119−1のエントロピーは、非ゼロ値である可能性が高い。この例において、残留データ118−1および調整された残留データ119−1が非ゼロ値を含むものと仮定する。残留データの高いエントロピーは、元の信号115を再構築するために追加のデータを用いなければならないことを意味するので望ましくない。典型的には、信号115を再構築するために必要なデータの全体量を少なくするのが望ましい。
【0053】
一実施形態において、残留データ119−1のエントロピーを低下させるために、信号データSJ−1の個々の要素に対する各微調整により、残留データ119−1の実質的により低い、または最も低いエントロピーが得られるまで、エンコーダ140は繰り返し信号データSJ−1を微調整し、微調整された信号データSJ−1の複数の異なるバージョンを信号データSJへアップサンプリングする。
【0054】
微調整は要素単位で実行され得る。つまり、エンコーダ140は、信号データSJ−1の要素を選択して、当該要素の値を繰り返し微調整して、残留データ119−1に関するエントロピーを低下させる各設定を特定し得る。微調整された値が、次のレベルの残留データのための実質的により低いエントロピー測定基準の生成に近づくにつれ、エンコーダは、選択された要素に対する微調整の大きさを小さく出来る。
【0055】
選択された要素に対する適切な最も良好な微調整を特定すると、エンコーダ140は、当該要素のための微調整された信号データを保存し、信号データSJ−1に格納する。
【0056】
以前にテストされた要素のための実質的に最も良好な微調整のそれぞれを用いて、エンコーダ140は微調整する信号データSJ−1の次の要素を選択し、上記の処理を繰り返して、選択された要素の最も良好な設定を特定する。同様の処理を順次適用する。
【0057】
残留データ119−1のエントロピーを低下させる品質レベルJ−1のための微調整された信号データSJ−1を生成する処理の完了に続き、エンコーダ140は、より低い次の品質レベル毎に同じ処理を繰り返す。
【0058】
例えば、より低い次の品質レベルにおいて、エンコーダ140は信号データSJ−1を信号データSJ−2へダウンサンプリングする。このダウンサンプリングに続き、エンコーダ140は信号データSJ−2の個々の要素の設定を微調整または調整し、信号データSJ−2に対する微調整された設定のうちどれが、品質レベルJ−1のために生成された残留データ119−2に関するエントロピーを低下させるかを特定する。
【0059】
より詳細には、一実施形態において、エンコーダ140は、アップサンプリング処理J−1を信号データSJ−2へ適用して、信号データSJ−1を生成する。その後、エンコーダ140は、信号データSJ−1、SJ−1間の差を計算し、残留データ118−2を生成する。その後、エンコーダ140は、量子化処理を適用して、残留データ119−2を生成する。
【0060】
上記にて説明したように、量子化は、信号データの個々の値の大きさがある範囲内に含まれる、または閾値を上回る/下回る場合に、当該信号データの個々の値が同じ値またはシンボルとなるよう設定を調整する関数を適用することを含みうる。
【0061】
残留データ119−2のエントロピーを低下させるために、信号データSJ−2の個々の要素に対する各微調整により、残留データ119−2の実質的により低い、または最も低いエントロピーが得られるまで、エンコーダ140は繰り返し信号データSJ−2を微調整し、微調整された信号データSJ−2を信号データSJ−1にアップサンプリングする。
【0062】
上記にて言及したように、微調整は要素単位で実行され得る。つまり、エンコーダは、信号データSJ−2の要素を選択して、当該選択した要素の値を繰り返し微調整して、残留データ119−2に関するエントロピーを低下させる設定を特定し得る。 選択された要素に対する適切な微調整を特定すると、エンコーダ140は、当該要素のための微調整された信号データを保存し、信号データSJ−2に格納する。
【0063】
その後、エンコーダ140は微調整する信号データSJ−1の次の要素を選択し、上記の処理を繰り返して、選択された要素毎の最も良好な設定を特定する。同様の処理を順次適用する。
【0064】
残留データ119−2のエントロピーを低下させる品質レベルJ−2のための微調整された信号データSJ−2を生成する処理の完了に続き、エンコーダ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を生成する。
【0075】
ステップ240において、エンコーダ140は、信号データSJ−1の選択された要素を最大反復回数まで複数の異なる方向に、場合によっては複数の異なる量だけ調整する。
【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へ適用し、残留データ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のための微調整された設定を格納する。
【0086】
ステップ295において、エンコーダ140はステップ200の処理を繰り返し、信号データSJ−1をより低い次の品質レベル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、信号データS2、および信号データS1を含む信号データから成る複数の異なるセットへダウンサンプリングする。
【0094】
なお、ダウンサンプリングの間の微調整処理は任意選択的に実行される。他の実施形態によると、エンコーダ140により何らかの適切なダウンサンプリング処理が適用されて、信号データS3、信号データS2、S1などの微調整された信号データの代わりに、データのベースセットが生成され得る。
【0095】
品質レベル1などの最も低い品質レベルにおいて、エンコーダ140は、量子化関数Q1を信号データS1へ適用して、信号データS1を生成し得る。上記にて説明したように、量子化により、対応する信号データのエントロピーが低下させられる。
【0096】
なお信号データS1は、階層における最も低い品質レベル(例えば品質レベル#1)の信号115を表す変換された情報である。
【0097】
エンコーダ140は、信号データS1を信号データS2(例えば、任意の品質レベルの信号の中間レンディション)へアップサンプリングするためのアップサンプリング処理を選択する。選択されたアップサンプリング処理のために、品質レベル2でエンコーダ140は、信号データS2と信号データS2との間の差に基づき残留データ418−1を生成する。エンコード処理は損失が多くなり得るので、アップサンプリングされた信号データS2は、信号データS2に似ているが同一ではない可能性が高い。
【0098】
その後、エンコーダ140は、量子化関数QJを残留データ418−1へ適用して、調整された残留データ419−1を上記にて説明したようなやり方で生成する。エンコーダ140は複数の異なる動作のうちのそれぞれに関してこの処理を繰り返し、どのアップサンプリング処理が、調整された残留データ419−1に関するエントロピーを低下させるのに最も良好であるか判断し得る。
【0099】
その後、エンコーダ140は、信号データS1、実質的に最も良好であると特定されたアップサンプリング処理、および、品質レベル#1のための対応する調整された残留データ419−1を格納する。エンコーダ140は、この格納された情報に、調整された残留データ419−2および信号データS2を加え、信号データS2を生成する。
【0100】
信号データS2は、階層における品質レベル2の信号を表す変換された情報のセットである。したがって、本願発明の実施形態は、第2品質レベルの信号(つまり、信号データS2)の中間レンディションの要素を微調整し、第2品質レベルの信号(例えば、信号データS2)の微調整されたレンディションを生成する段階を含む。
【0101】
図6で説明するように、エンコーダ140は、第2品質レベルの信号115(例えば信号データS2)のアップサンプリングされたレンディションと、第2品質レベルの信号(例えば信号データS2)の微調整されたレンディションとの間の差に基づいて残留データ470−2を生成する。エンコーダ140は、第2品質レベルの信号115(例えば信号データS3)のアップサンプリングされたレンディションと、第2品質レベルの信号(例えば信号データS3)の微調整されたレンディションとの差に基づき残留データ470−3を生成する。同様の処理が他の信号に関しても適用される。
【0102】
再び図4を参照すると、エンコーダ140は、品質レベル1から品質レベル2へのアップサンプリングに関して上記にて説明したのと同様のやり方で、品質レベル2から品質レベル3へのアップサンプリングを実行する。例として、品質レベル2において、エンコーダ140は、信号データS2を信号データS3にアップサンプリングするアップサンプリング処理を(複数の可能なアップサンプリング処理のうちから)選択する。選択されたアップサンプリング処理のために、品質レベル3において、エンコーダ140は、信号データS3と信号データS3との間の差に基づき残留データ418−2を生成する。エンコード処理は損失が多くなり得るので、アップサンプリングされた信号データS3は、信号データS3に似ているが同一ではない可能性が高い。
【0103】
その後、エンコーダ140は量子化関数QJを残留データ418−2へ適用して、調整された残留データ419−2を上記にて説明したようなやり方で生成する。
【0104】
エンコーダ140は複数の異なる動作のうちのそれぞれをテストするためにこの処理を繰り返し、どのアップサンプリング処理が、調整された残留データ419−2に関するエントロピーを低下させるのに最も良好であるか判断し得る。
【0105】
その後、エンコーダ140は、信号データS2、対応する最も良好であるアップサンプリング処理、および、品質レベル#2のための対応する調整された残留データ419−2を格納する。エンコーダ140は、調整された残留データ419−2および信号データS3を加え、信号データS3を生成する。信号データS3は、階層における品質レベル3の信号を表す変換された情報のセットである。
【0106】
エンコーダ140は、階層における品質レベルNまで、示される通りこの処理を繰り返す。
【0107】
図5は、本願発明の実施形態に係る、残留データのエントロピーを低下させるためのアップサンプリングの間の要素の微調整を含む信号のエンコードの例を示す図である。この例示的な実施形態において、図4の例とは異なり、エンコーダ140は、微調整されたデータを品質レベル毎に生成するためのアップサンプリングの間、要素の微調整を実行する。
【0108】
上記にて説明したようなやり方で、エンコーダ140は、信号115を、より低い品質レベルの信号115を表す信号データの何らかの適切なセットにダウンサンプリングする。よって、より低いレベルのダウンサンプリングされた信号データは、ダウンサンプリングの間、微調整から導出されてもされなくてもよい。
【0109】
品質レベル1など最も低い品質レベルで、エンコーダ140は、量子化関数Q1をダウンサンプリングされた信号データS1へ適用して、信号データS1を生成する。信号データS1は、階層における最も低い品質レベルの信号を表す圧縮された、または変換された情報である。量子化ステップQ1を適用しての信号データS1の生成は、ダウンサンプリング処理の一部であり得る。
【0110】
その後、エンコーダ140は、信号データS1の微調整されたバージョン(例えば信号データS1)を信号データS2へアップサンプリングするアップサンプリング処理を選択する。
【0111】
本実施形態において、エンコーダ140は信号データS1の設定を微調整して、調整された残留データ519−1に関するエントロピーを低下させる信号データS1のセットを生成する。例えば一実施形態において、エンコーダ140は、信号データS1の要素を選択し、選択された要素を繰り返し微調整して、選択された要素のどの設定が、調整された残留データ519−1の最も低いエントロピーを生成するかを特定する。エンコーダ140は、信号データS1の要素毎に微調整を繰り返し、信号データS1を生成する。
【0112】
なお、選択されたアップサンプリング処理のための要素毎の最も良好な設定の特定に加え、エンコーダ140は、調整された残留データ519−1に関する実質的に最も低いエントロピーを生成するためにどの処理および(複数の異なるアップサンプリング処理のための)対応する微調整が最も良好であるかを特定するべく、複数の可能なアップサンプリング処理のうちそれぞれをテストし得る。
【0113】
信号データS1のための実質的に最も良好な微調整された設定および実質的に最も良好なアップサンプリング処理の特定に続き、エンコーダ140は、微調整された信号データS1、最も良好であると特定されたアップサンプリング処理、および品質レベル#1のための対応する調整された残留データ519−1を格納する。エンコーダ140は、この格納された情報に、調整された残留データ519−1および信号データS2を加えて、信号データS2を生成する。信号データS2は、階層における品質レベル2の信号を表す変換された情報のセットである。
【0114】
その後、エンコーダ140は、品質レベル1から品質レベル2へのアップサンプリングに関して上記にて説明したやり方と同様のやり方で品質レベル2から品質レベル3へのアップサンプリングを実行する。エンコーダ140は、最も高い品質レベルに達するまで、次に高い品質レベル毎にこの処理を繰り返す。
【0115】
一実施形態において、エンコーダ140は、第1品質レベルの信号(例えば、信号データS3、信号データS2、信号データS1)のダウンサンプリングされたレンディションを、画像要素の複数の隣接する領域へパースする。その後、エンコーダは並列処理ユニットを利用し、残留データに関するエントロピーを低下させる複数の領域の要素に対する調整を特定するよう複数の領域を同時に処理する。
【0116】
他の実施形態によると、エンコーダ140は少なくとも時折、並行して処理される個々の隣接する領域の要素に対する選択された調整が、処理されている全体的な信号データの残留データのエントロピーを実質的に増加させない、いわゆるグローバルチェックを実行し得る。
【0117】
図6は、本願発明の実施形態に係る、デコーダにより用いられる残留データの生成の例を示す図である。
【0118】
示されるように、エンコーダ140は、信号データS1を残留データ470−1として格納する。エンコーダ140は、信号データS2と信号データS2との間の差に等しい残留データ470−2を設定する。エンコーダ140は、信号データS3と信号データS3との間の差に等しい残留データ470−3を設定する。他の残留データに関しても同様の処理を適用する。一般的に、残留データ470−2は、信号データS2を生成するために必要な信号データS2に対する調整を示す。残留データ470−3は、信号データS3を生成するために必要な信号データS3に対する調整を示す。同様のことが他の信号データに関しても当てはまる。
【0119】
一実施形態において、デコーダは残留データ470−1を用いて、最も低い品質レベル1の信号データS1を再構築する。次に高いレベルで(例えば品質レベル2から品質レベル3へ)、デコーダは当該品質レベルのための選択されたアップサンプリング処理を適用して、信号データS1を信号データS2に変換する。デコーダは、残留データ470−2と信号データS2とを合わせ、信号データS2を生成する。次に高いレベルで(例えば品質レベル3から品質レベル4へ)、デコーダは当該品質レベルのための選択されたアップサンプリング処理を適用して、信号データS2を信号データS3に変換する。デコーダは、残留データ470−3と信号データS3とを合わせ、信号データS3を生成する。デコーダは、元の信号115が所望の品質レベルで再構築されるまでこの処理を繰り返す。
【0120】
図7は、本願発明の実施形態に係る、デコーダに用いられる残留データの生成の例を示す図である。この例示的な実施形態において、エンコーダは、調整された残留データ519のセットを用いて、残留データ470のセットを生成する。
【0121】
例えば、エンコーダ140は、信号データS1に等しい残留データ470−1を設定する。エンコーダ140は、信号データS2と信号データS2との間の差を特定し、得られた差を調整された残留データ519−1に加えて、残留データ470−2を生成する。エンコーダ140は信号データS3と信号データS3との間の差を特定し、得られた差を調整された残留データ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)を選択する。
【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の、階層におけるより低い次の品質レベルの信号データS1へのダウンサンプリングを開始する。
【0146】
ダウンサンプリングの終了に続き、エンコーダ140は、最も低いレベルのアップサンプリングを実行する。そのような実施形態において、エンコーダ140は、微調整する要素(例えばW1)を選択する。選択された要素W1に対する微調整毎に、エンコーダ140は微調整された信号データS1をアップサンプリングして信号データS2を生成する。
【0147】
この例において、UTESTを用いるアップサンプリングにより、要素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品質レベルの前記信号の前記アップサンプリングされたレンディションとの間の差を示す残留データを生成する手順と、
を実行させる、コンピュータシステム。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12