【文献】
HUI LI,A FAST CONTENT-DEPENDENT INTERPOLATION APPROACH VIA ADAPTIVE FILTERING,2008 IEEE 10TH WORKSHOP ON MULTIMEDIA SIGNAL PROCESSING,米国,IEEE,2008年10月 8日,P530-534
(58)【調査した分野】(Int.Cl.,DB名)
前記ヒエラルキーにおいて前記信号が前記第1の品質レベルにおける前記信号の前記レンディションまで連続的にダウンサンプリングされるマルチスケールエンコーディングループにおいて、前記選択する段階、前記生成する段階および前記利用する段階を繰り返し実行する段階をさらに備え、
前記マルチスケールエンコーディングループにおいて前記選択する段階、前記生成する段階および前記利用する段階を繰り返し実行する段階は、アップサンプリング処理を調査するべく、そして、前記ヒエラルキーにおいて、より低い品質レベルでの前記信号のレンディションをより高い品質レベルでの前記信号のレンディションへとアップサンプリングするために必要な剰余データの量を低減するべく用いられる請求項1から12のいずれか一項に記載の方法。
より低い品質レベルにおける前記信号のレンディションをより高い品質レベルにおける前記信号のレンディションへとアップサンプリングするマルチスケールデコーダループにおいて、前記選択する段階、前記生成する段階および前記利用する段階を実行する段階をさらに備え、
別のアップサンプリング処理に代えて前記選択する段階、前記生成する段階および前記利用する段階を実行する段階は、前記第2の品質レベルにおける前記信号の前記レンディションを再構成するために前記アップサンプリングの後に必要な剰余データの量を低減または変更する請求項1から13のいずれか一項に記載の方法。
【背景技術】
【0001】
CPU(中央演算処理装置)の効率は、信号のエンコード時およびデコード時の両方において重要なパラメータである。最新世代のプロセッサは、並行処理が進んでおり、チップ毎に数百個もの単純なコアが設けられている。
【0002】
本質的には、残念なことに、従来のMPEG(Moving Pictures Expert Group)ファミリーのコーデックの構造は、並列方式ではない。これはブロックベースであることが原因であり、各画像ブロックは順次エンコードおよびデコードする必要がある。これは、効率的に圧縮するためには、全てのブロックの間に何らかの依存関係を構築する必要があるためである。
【0003】
いわゆる「スライス」(基本的には、画像の構成要素で、順番に入力される別箇のビデオのように、互いに独立したものとして処理される)をMPEGコーディングに導入することで、H.264規格は、数個(通常は、2個または3個のスレッド)のスレッドを並列に処理することが可能となる。重要なアルゴリズム要素、例えば、ブロッキング解除(つまり、ブロック間の移行を「円滑化」して画像を均一化するフィルタ)は通常、条件命令が多く含まれるグローバル処理であり、並列CPUを含む用途には向かない。
【0004】
今日のCPUおよびGPU(グラフィクスプロセッシングユニット)は通常、非常に高性能で、一のGPUは、数百個のコンピューティングコアを含み情報の並列処理を実行することができる。現在の技術を利用する場合、処理のためにプロセッサキャッシュに格納できる画像の構成要素が大きくなる。画像を複数の小さいブロックに分割する必要があるのは、MPEGが作成された当時のプロセッサはビデオデータのうち一度に対処できるのが非常に小さい部分に限られており、そして処理がシーケンシャル方式に限定されていたことが主な原因であり、現在のCPUおよびGPUでは問題にはならない。このため、利用可能な処理能力の大半が、MPEGと同様の種類のエンコード/デコードを実行する際に利用されておらず、発生する必要のないブロッキングアーチファクトが信号に組み込まれてしまう。
【0005】
また、MPEGが開発された時点での最新技術と比較すると、現在では通常、はるかに高精度のビデオエンコーディングおよび全体的にはるかに高い再生品質が要求される。高精細(HD)ビデオ、高品質ビデオでは、細部が鮮明でない領域(焦点が合っていないものもある)と、非常に細部が鮮明である領域との差異がはるかに大きい。このため、関連周波数の範囲が広くなるので、MPEGで利用される方法等の周波数領域変換を画像処理および画像再生に利用することがさらに不適切になる。
【0006】
また、高解像度の画像は、カメラノイズおよび/またはフィルムグレインがより多く含まれている。つまり、表示に無関係であるがエンコードには多くのビットが必要になる非常に詳細な高周波の画素遷移を多く含む。
【0007】
最後に、従来のコーデックは、医療用イメージング、科学イメージング等の分野で重要性が高まっている3Dイメージングまたは体積イメージングの処理を効率良く行うことには向いていない。
【0008】
現在では、大半のターゲットデバイスが複数の異なる再生解像度および再生品質をサポートしている。いわゆるSVC(スケーラブルビデオコーディング)、現在のスケーラビリティ用のMPEG規格は、複雑過ぎることと、帯域幅の非効率性のために、業界での評判があまり良くなく、既存の技術への応用はほとんど、または、全くされていない。
【0009】
さらに、エンコードされたビデオは大量である。つまり、コンテンツプロバイダは通常、エンコーダパラメータをカスタマイズしてビデオストリーム毎に試す時間はない。現在、コンテンツプロバイダは、ビデオのエンコードを成功させるために多数のエンコーディングパラメータを手作業で(エンコーディングを実行してその結果の品質を確認する度に)微調整しなければならないことから、敬遠している。
【0010】
エンコード/デコードについては、MPEG規格に代えて、いわゆる画像ピラミッドをエンコード/デコードのために利用している。例えば、ラプラシアンピラミッドを利用することで、従来のシステムは、ガウスフィルタを用いて低解像度画像を生成した後、低解像度レベルから元のレベルへと、厳格にプログラミングされたデコーダでアップサンプリングすることで得られた画像間の差異のピラミッドを構築する。
【0011】
従来のラプラシアンピラミッドエンコーディングは利用されなくなった。この変換技術の欠点の1つは、作成者が常に、通常はガウスフィルタを利用して、ダウンサンプリングされた画像に歪み/アーチファクトが含まれないようにしようとする点にある。これは、ガウスフィルタが、フィルタ自体の情報を追加しない種類の唯一のフィルタであるからである。しかし、ガウスフィルタリングに関しては、克服不可能な欠点があり、ブラー効果を発生させてしまう。高解像度にアップスケーリングすると、元の画像を再度生成するには異常な量の画像修正情報が必要になる。言い換えると、従来のフィルタでアップサンプリングすると、再構成された画像のエッジがギザギザになるか、または、曖昧になる。このようにエッジがギザギザになったり曖昧になったりすると、大量の剰余データを用いて修正する必要がある。このため、上記のエンコーディング方法は高解像度での用途には望ましくない。
【発明の概要】
【課題を解決するための手段】
【0012】
本明細書で説明する実施形態は、従来のシステムおよび方法とは異なり、信号の低解像度レンディションからアップサンプリングする際に、十分な精度で信号を再構成するために必要な剰余データの量を減らす。例えば、本明細書で説明する実施形態は、1以上の異なるアップサンプリング処理を利用して、アップサンプリング時に、特定した移行領域の鮮明化および「ブレンディング解除」を行う独自の方法に関する。本発明に係るアップサンプリング方法の特定の構成によると、アップサンプリング処理によってより高い品質レベルでより高精度で再構成を行うことが可能になるので、ヒエラルキーに含まれる連続的に高くなる複数の品質レベルにおいて信号をデコードする際に信号を再構成するために必要なデータ量が減る。
【0013】
より具体的に説明すると、一実施形態は、ヒエラルキーにおいてより高い品質レベルで信号を再構成するシグナルプロセッサを備える。例えば、シグナルプロセッサは、第1の品質レベルにおける信号のレンディションから要素を選択して、第2の(より高い)品質レベルにおける信号のレンディションの複数の要素へとアップサンプリングする。一実施形態によると、シグナルプロセッサは、信号の各要素について、第1の品質レベルにおける信号のレンディションに含まれる選択された要素の近傍にある要素のセッティングに基づき、メトリックを生成する。当該メトリックは、選択された要素の近傍にある第1の要素群と、選択された要素の近傍にある第2の要素群との間の境界を画定する。選択された要素に対する境界の位置および向きは、選択された要素の近傍の要素のセッティングに応じて決まる。シグナルプロセッサは、生成したメトリック(境界を画定する)を利用して、第2の品質レベルにおける信号の複数の要素のセッティングを算出する。したがって、選択された要素の近傍の要素のセッティングが、選択された要素を複数の要素にどのようにアップサンプリングするかを示す。
【0014】
実施形態によっては、メトリックが画定する境界は、線、平面等であってよい。アップサンプリングされる信号は、2次元画像(例えば、ピクチャ、ビデオフレーム、2D動きマップ等)、3次元画像(例えば、3D/体積画像、ホログラフィック画像、CATスキャン、医療/科学用の画像、3D動きマップ等)、4次元以上を表現する信号、時間軸信号(例えば、音声信号、ビデオ信号等)等であってよい。特定の信号要素に割り当てられるセッティングは、複数の異なる色平面(例えば、RGB、YUV、HSV等)の色、属性(例えば、密度、放射能度、組織の種類、地形の種類、温度、画像特性を定義するパラメータ等)、動きベクトル(例えば、デカルト座標、極座標等で表現されるもの)等を表現するとしてよい。簡単に説明すると、本明細書で説明する実施形態は、多くの場合、複数のセッティングで構成される2D平面(例えば、適切な色空間における2D画像)、例えば、ピクチャ等として表示される画像を意味する。
【0015】
一実施形態によると、シグナルプロセッサは、選択された要素のセッティングが、アップサンプリングすべき選択された要素の近傍の要素が画定している範囲内に含まれる検出することに応じてメトリックを生成する。当該範囲内に入るということは、選択された要素が移行領域またはエッジに含まれることを意味する。このような実施形態によると、そして、選択された要素が移行領域に含まれるか否かを調査するべく、シグナルプロセッサは、選択された要素の近傍にある第1の要素群に含まれる少なくとも一の要素のセッティングに基づいて、第1の値を生成する。シグナルプロセッサは、選択された要素の近傍にある第2の要素群のうち少なくとも2つの要素のセッティングに基づき第2の値を生成する。シグナルプロセッサは、2つの値のうち大きい方の値が上限を定め、小さい方の値が下限を定める範囲を生成する。上述したように、選択された要素のセッティングが当該範囲内に収まる場合、シグナルプロセッサは、選択された要素が移行領域またはエッジにあると仮定する。
【0016】
別の実施形態によると、シグナルプロセッサは、選択された要素を複数の要素にアップサンプリングするための基準としてメトリックを利用する。例えば、シグナルプロセッサは、複数の要素(つまり、次に高い品質レベルにおいてアップサンプリングによって得られた要素)のうち第1の要素を特定する。メトリックが画定する境界は、第1の要素と交わる。第1の要素について、シグナルプロセッサは、メトリックを用いて第1の要素についてセッティングを算出する。シグナルプロセッサは、第1の要素の値を、第1の要素群に割り当てられるセッティングと、第2の要素群に割り当てられるセッティングとの間になるように設定する。
【0017】
また、シグナルプロセッサは、複数の要素のうち第2の要素を特定する。メトリックが画定する境界は、第2の要素とは交わらない。第2の要素について、メトリックが画定する境界と第1の要素群(例えば、範囲の限界を定めている要素)との間に第2の要素の全体が存在すると検出することに応じて、シグナルプロセッサは、第2の要素を第1の要素群に割り当てられるセッティングに略等しい値に設定する。
【0018】
同様に、シグナルプロセッサは、メトリックを用いて各要素のセッティングを算出して、複数の要素(つまり、次に高い品質レベルにおいてアップサンプリングによって得られた要素)のうち残りの要素を特定する。
【0019】
さらに別の実施形態によると、シグナルプロセッサは、第1の品質レベルにおける信号のレンディションに含まれる複数の要素のそれぞれに対して調査を行い、対応するメトリックを用いて要素のアップサンプリングを実行するか、他のアップサンプリング方法を用いて要素をアップサンプリングするかを判断する。例えば、シグナルプロセッサは、第1の種類のアップサンプリング処理(例えば、本明細書で説明しているようにメトリックを利用するもの)を対応する要素に割り当てるか、または、第2の種類のアップサンプリング処理(例えば、生成したメトリックを用いないもの)を対応する要素に割り当てるとしてよい。上述したように、アップサンプリングについて、生成されたメトリックを利用するか、または、別のアップサンプリング処理を利用するかを判断する調査は、選択された要素のセッティングが、選択された要素の近傍にある第1の要素群のセッティング、および、選択された要素の近傍にある第2の要素群のセッティングが定める範囲内に入るか否かを判断することを含むとしてよい。
【0020】
一実施形態によると、シグナルプロセッサは、選択された被調査要素のセッティングが当該要素について生成された範囲内に入る場合、当該要素をアップサンプリングするべく第1の種類のアップサンプリング処理を割り当てる。シグナルプロセッサは、選択された被調査要素のセッティングが当該要素について生成された範囲外である場合、当該要素をアップサンプリングするべく第2の種類のアップサンプリング処理を割り当てる。
【0021】
上記およびその他の実施形態の変形例はより詳細に後述する。
【0022】
上述したように、本明細書に記載する実施形態は、本明細書に開示する処理の一部または全てを実行および/またはサポートしているように1以上のコンピュータデバイス、ルータ、ネットワーク、ワークステーション、手持ち型またはラップトップ型のコンピュータ等を設定することを含み得ることに留意されたい。言い換えると、1以上のコンピュータデバイスまたはプロセッサは、複数の異なる実施形態を実行するべく本明細書で説明したように動作するようプログラミングおよび/または設定され得る。
【0023】
上述したアップサンプリングに加えて、本明細書に記載するさらに別の実施形態は、上記に要約し、詳細に後述するステップおよび処理を実行するためのソフトウェアプログラムを含む。一のこのような実施形態は、プロセッサおよび対応するメモリを有するコンピュータデバイスで実行されると、本明細書で開示した処理のいずれかを実行するようにプロセッサをプログラミングするか、および/または、本明細書で開示した処理のいずれかをプロセッサに実行させるコンピュータプログラムロジック、命令等がエンコードされているコンピュータ可読ハードウェアストレージリソース(つまり、非一時的なコンピュータ可読媒体)を含む。このような構成は、光学媒体(例えば、CD−ROM)、フロッピー(登録商標)ディスクまたはハードディスクまたはファームウェア等の他の媒体等のコンピュータ可読媒体上にエンコードまたは配置されているソフトウェア、コードおよび/または他のデータ(例えば、データ構造)または1以上のROMまたはRAMまたはPROMチップ内のマイクロコードとして、または、特定用途向け集積回路(ASIC)として提供され得る。ソフトウェアまたはファームウェアまたは他の同様の設定は、コンピュータデバイスにインストールされて、本明細書に説明されている方法をコンピュータデバイスに実行させ得る。
【0024】
したがって、本開示の一の特定の実施形態は、信号処理をサポートするための命令を格納しているコンピュータ可読ハードウェア格納媒体を含むコンピュータプログラム製品に関する。例えば、一実施形態によると、この命令は、コンピュータデバイスのプロセッサで実行されると、第1の品質レベルにおける信号のレンディションから一の要素を選択し、第2のより高い品質レベルにおける信号のレンディションに含まれる複数の要素へとアップサンプリングする手順と、第1の品質レベルにおける信号のレンディションに含まれる選択された要素の近傍における要素のセッティングに基づいて、選択された要素の近傍にある第1の要素群と、選択された要素の近傍にある第2の要素群との間の境界を画定するメトリックを生成する手順と、メトリックを利用して第2の品質レベルにおける信号の複数の要素についてセッティングを算出する手順とをプロセッサに実行させる。
【0025】
複数の段階を順番に並べたのは、理解し易いようにするためである。上記の段階は、任意の適切な順序で実行され得る。
【0026】
本開示の他の実施形態は、上記に要約し、以下で詳述する実施形態に係る方法を構成する段階および処理を実行するためのソフトウェアプログラム、ファームウェア、および/または、ハードウェアを含む。
【0027】
また、システム、方法、装置、コンピュータ可読格納媒体上の命令等は、本明細書で説明するように、厳密にソフトウェアプログラムとして、ソフトウェア、ファームウェアおよび/またはハードウェアのハイブリッドとして、または、プロセッサ内、オペレーティングシステム内、または、ソフトウェアアプリケーション内等のハードウェアのみとして具現化され得ると理解されたい。
【0028】
上述したように、本明細書で説明する技術は、信号をエンコードするソフトウェア、ファームウェアおよび/またはハードウェアのアプリケーションでの利用に適している。しかし、本明細書の実施形態はこのようなアプリケーションでの利用に限定されないこと、および、本明細書で説明している技術は他のアプリケーションにも同様に適していることに留意されたい。
【0029】
また、本明細書で説明するさまざまな特徴、技術、構成等はそれぞれ、本開示で別々に説明しているが、それぞれの概念が互いに別々に、または、互いに組み合わせて実施し得るものとする。したがって、本明細書で説明する1以上の本発明、実施形態等は、多くのさまざまな方法で具現化および考慮し得るものである。
【0030】
また、実施形態に関する上記の序論は全ての実施形態を特定しているものではなく、および/または、本開示または請求の対象である発明のうち特に新規性の高い側面を特定しているものではないことに留意されたい。これに代えて、上記に簡潔に説明したのは、実施形態の概論およびそれに対応する従来技術に対する新規性に過ぎない。本発明のその他の詳細および/または可能な側面(置換例)については、以下でさらに説明するように、<発明を実施するための形態>および本開示の対応する図面を参照されたい。
【発明を実施するための形態】
【0032】
図1は、実施形態に係る、メトリックを用いて一の選択された要素を複数の要素にアップサンプリングする方法の一例を説明するための図である。
【0033】
図示しているように、品質レベル#1における信号レンディション115−1は、要素X1、B1、C1、A1、G1、Y3、K1、Y1、Y2等の複数の要素を含む。品質レベル#1における信号レンディション115−1の各要素には、当該要素のセッティングを示す値が割り当てられている。
【0034】
本例では、信号レンディション115−1は、元の信号より低い品質レベルでのレンディションを表している。シグナルプロセッサ140は、品質レベル#1におけるG1等の一の選択された要素をアップサンプリングして、品質レベル#2(例えば、より高い品質レベル)における信号レンディションの要素U1、U2、U3およびU4等の複数の要素を生成する。信号レンディション115−1に含まれる各要素は、複数の要素を含む要素群へとアップサンプリングされるとしてよい。
【0035】
一実施形態によると、信号レンディション115−1は、より低い品質レベルへとダウンサンプリングされた、元の信号のサムネイル表示に類似している。より低い品質レベルにおける信号レンディション115−1は、元の信号の大まかな属性を含むが、元の信号のより詳細で細かい属性は含まない。詳細で細かい属性は、より高い品質レベルにおける信号レンディションで見られる。
【0036】
尚、信号レンディション115−1に対応付けられる値は、任意の適切な種類のデータ情報を表現しているとしてよい。これに限定されるわけではなく一例を挙げると、信号115は、画像データ、シンボル等であってよく、各画像における複数の信号要素(例えば、絵素/平面要素、画素/ピクチャ要素、ボクセル/体積ピクチャ要素等)のそれぞれのセッティングを示す。この画像は、2次元(例えば、ピクチャ、ビデオフレーム、2D動きマップ等)、3次元(例えば、3D/体積画像、ホログラフィー画像、CATスキャン、医療/科学画像、3D動きマップ等)等でよく、さらに4次元以上を表現するとしてもよい。このような実施形態によると、信号要素のセッティングは、デバイスで再生するべく元の信号をどのように再構成するかを示す。
【0037】
信号の各要素は、色等のセッティングを定義しているとしてよい。このような実施形態によると、信号データに含まれる要素の色成分は、YUV、RGB、HSV等の適切な色空間規格に応じてエンコードされる。
【0038】
別の実施形態によると、X1、B1、C1、A1、G1、Y3、K1、Y1、Y2等に対応付けられているセッティングを組み合わせて、第1の品質レベルにおける画像(例えば、多次元画像)の一部分を定義する。シグナルプロセッサ140は、品質レベル#1(例えば、より低い品質レベル)における信号レンディション115−1をアップサンプリングして、品質レベル#2(例えば、より高い品質レベル)における信号レンディションを生成する。
【0039】
本例において、シグナルプロセッサ140は、より高い品質レベルにおける複数の要素を生成するためのアップサンプリング対象として要素G1を選択する、と仮定する。上述したように、このような実施形態によると、シグナルプロセッサ140は、信号レンディション115−1に含まれている選択された要素G1をアップサンプリングして、第2の品質レベルにおける複数の要素U1、U2、U3およびU4を生成する。以下で説明するが、適切であれば、生成されたメトリック125を用いてアップサンプリングを実行するとしてよい。シグナルプロセッサ140は、メトリック125の利用が選択された要素のアップサンプリングに適切でないと判断されると、別のアップサンプリング方法を用いて、選択された要素をアップサンプリングするとしてよい。
【0040】
図示しているように、次に高い品質レベル(例えば、より高い解像度の画像)へのアップサンプリングを円滑にするべく、本明細書に示す一実施形態は、選択された要素G1を複数の要素U1、U2、U3およびU4へと分割するためにメトリック125を生成する段階を備える。実施形態によっては、信号の次元数に応じて、メトリック125は、線、面等であってよく、選択された被調査要素の近傍にある画像要素間に境界を画定する。
【0041】
信号レンディション115−1が2次元画像の場合、メトリック125が画定する境界は実質的に、信号の一部分に重ねられる線である。さらに説明するが、シグナルプロセッサ140は、次に高い品質レベルにおける複数の画像要素、例えば、信号レンディションの要素U1、U2、U3およびU4等についてセッティング(例えば、セッティングの大きさ)を算出する基準として、この線(例えば、境界)を利用する。
【0042】
上述したように、選択された要素をアップサンプリングするためにメトリック125を生成して利用する処理は、条件付きで行われるとしてよい。例えば、本明細書で説明しているようにメトリック125を生成して利用する方法は、アップサンプリングされる選択された要素が、アップサンプリングされる信号レンディション内の移行領域上、または、移行領域近傍に位置していると妥当な確率で分かっている状況で利用されるとしてよい。
【0043】
選択された要素および/または選択された被調査要素の近傍に位置している要素のセッティングは、当該要素が境界領域上、または、境界領域近傍に位置しているか否かを示すとしてよい。つまり、選択された被調査要素の近傍にある要素のセッティングが、選択された要素は移行領域上または移行領域近傍にある旨を示す場合、シグナルプロセッサ140は、生成されたメトリック125を利用して、アップサンプリング後の信号レンディションのセッティングを算出する。シグナルプロセッサ140は、選択された要素の近傍の要素のセッティングが、アップサンプリング対象の選択された要素は移行領域上または移行領域近傍に配置していない旨を示す場合、別のアップサンプリング技術(例えば、生成されたメトリック125を利用する方法以外)を利用して、一の品質レベルから次の品質レベルへとアップサンプリングするとしてもよい。
【0044】
メトリック125を生成して、選択された要素をアップサンプリングして次に高い品質レベルにおける複数の要素を生成するために利用するか否かを判断する調査は、選択された要素の近傍にある他の要素に対応付けられているセッティングの大きさに対する選択された要素に対応付けられているセッティングの大きさに基づいて行われるとしてよい。
【0045】
一実施形態によると、シグナルプロセッサ140は、選択された被調査要素が所定範囲内のセッティングを持つと検出することに応じて、メトリック125を生成する。この範囲の下限は、選択された要素の近傍にある第1の要素群のセッティングによって決まるとしてよい。この範囲の上限は、選択された要素の近傍にある第2の要素群のセッティングによって決まるとしてよい。
【0046】
このように、シグナルプロセッサ140は一般的に、選択された要素に対応付けられているセッティングが、選択された要素の近傍にある他の要素のセッティングによって定められる範囲内に入る場合、選択された要素をアップサンプリングするべくメトリック125を生成して利用するとしてよい。
【0047】
一実施形態によると、上記の調査を行いエッジを特定するための範囲を生成するべく、シグナルプロセッサ140は、選択された要素の近傍にある要素のセッティングを最初に分析して、第1の要素群および第2の要素群を少なくとも特定する。選択された要素の近傍にある第1の要素群および第2の要素群は、第1の要素群と第2の要素群との間に配置されている選択された要素に対して、互いに対向するように、対角線上に、および他の配置方法で配置するとしてよい。各要素群は、1以上の要素を含むとしてよい。
【0048】
シグナルプロセッサ140は、選択された要素の近傍にある第1の要素群のうち少なくとも1つの要素のセッティングに基づいて第1の値を生成する。シグナルプロセッサ140は、選択された要素の近傍にある第2の要素群のうち少なくとも2つの要素のセッティングに基づいて第2の値を生成する。シグナルプロセッサ140は、これら2つの値のうち大きい方の値が上限を定め、小さい方の値が下限を定める範囲を生成する。選択された要素のセッティングが近傍の要素の範囲内に収まる場合、選択された要素は、エッジ上または移行領域上に位置する可能性が高い。
【0049】
尚、シグナルプロセッサ140は、選択された要素の近傍にある1以上の近隣の要素をさまざまにグループ分けして調査して(そして、近隣の画素の設定と比較して)、調査したグループ間に配置されている選択された要素が移行領域内に位置しているか否かを判断するとしてよい。特定の要素グループを選択することで、上述したように、選択された要素が移行領域内に位置しないようにするとしてもよい。このような実施形態では、アップサンプリングにメトリックを用いないとしてよい。上述したように、シグナルプロセッサ140は、一連の可能な設定および選択された要素のセッティングのうち少なくとも一方が近隣の要素のセッティングによって定められる範囲内に収まって、近隣の要素のセッティングが調査に(信頼のおける適切なしきい値内で)合格すれば、選択された要素は移行領域に収まると仮定するとしてよい。
【0050】
より具体的な例を挙げると、選択された画素G1の大きさ(例えば、セッティング、値等)が近隣要素の複数のグループ候補によって定められる範囲内に収まると検出することに応じて、シグナルプロセッサ140は、選択された要素は移行領域の近傍に位置するので、移行領域を定める基準として近隣要素のセッティングに基づき、メトリック125を生成すると仮定する。上述したように、そして、より詳細に後述するように、メトリックは要素U1、U2、U3およびU4に割り当てるセッティングを特定するための基準として利用され得る。
【0051】
本例において、選択された要素の近傍にある1以上の要素を含む第1の要素群の各要素(例えば、要素X1)が約100という値に設定され(例えば、要素X1=100と仮定する)、選択された要素の近傍にある1以上の要素を含む第2の要素群の各要素(例えば、要素Y1、Y2およびY3)が約0という値に設定される(例えば、要素Y1=0.1、Y2=0、Y3=0.3と仮定する)と仮定する。このような例では、シグナルプロセッサ140は、範囲の下限を0に設定し、範囲の上限を100に設定する。さらに、本例において、選択された要素G1に37という値が割り当てられていると仮定する。選択された要素G1の値は0および100を限度とする範囲内に収まっているので、シグナルプロセッサ140は、選択された要素G1が移行領域上または移行領域近傍にあり、選択された要素はメトリック125を用いてアップサンプリングされ得ると仮定する。このような例では、メトリック125は、要素G1を、第2の品質レベルにおける要素U1、U2、U3およびU4にアップサンプリングするために用いられるとしてよい。
【0052】
シグナルプロセッサ140は、近隣の要素のセッティングに基づいてメトリック125を生成する。メトリック125は、境界を画定する。本明細書で後により詳細に説明するが、選択された要素に対する境界の位置および向きは、選択された要素の近傍における要素のセッティングの大きさに応じて決まる。一実施形態によると、線形補間技術(または任意のその他の適切な測定技術)は、境界を画定するメトリック125の位置および向きを特定するべく利用され得る。線形補間を利用する際の詳細は、本明細書で後により詳細に説明する。
【0053】
上述したように、本明細書に説明する実施形態は体積を表現する信号の処理にまで拡張され得ることに再度留意されたい。このような実施形態によると、選択された要素、選択された要素の近傍にある第1の要素群、選択された要素の近傍にある第2の要素群のセッティングを組み合わせることで、第1の品質レベルにおける体積画像の一部を定める。この例によると、メトリック125は、第1の品質レベルにおける体積画像の一部分における面境界を画定している。シグナルプロセッサ140は、メトリック125を用いて(上記と同様)、第2の品質レベルにおける信号に含まれる複数の体積画像要素についてセッティングを算出する。シグナルプロセッサ140は、選択された要素の大きさが範囲内に収まると検出することに応じてメトリック125(例えば、面境界)を生成するとしてよい。尚、当該範囲の下限は、体積画像において、選択された要素の近傍にある第1の要素群のセッティングによって定められ、当該範囲の上限は、選択された要素の近傍にある第2の要素群のセッティングによって定められる。
【0054】
上述した2次元の場合と同様に、シグナルプロセッサ140は、選択された要素が体積画像における移行領域に含まれるか否かを特定するべく、(体積画像における)近隣の要素をさまざまにグループ分けして調査するとしてよい。
【0055】
次元の数に関係なく、シグナルプロセッサ140は繰り返し、複数のより高い品質レベルのそれぞれにおける信号レンディションに含まれる要素のメトリックを生成して、それより高い品質レベルにおける信号レンディションをアップサンプリングで再構成することに留意されたい。例えば、適切な場合には、シグナルプロセッサ140は、品質レベル#2における選択された要素について生成されたメトリックを利用して、選択された要素をアップサンプリングして、品質レベル#3における複数の要素を生成するとしてよい。シグナルプロセッサ140は、品質レベル#3における選択された要素について生成されたメトリックを利用して、選択された要素をアップサンプリングして、品質レベル#4における複数の要素を生成するとしてよい。以下同様である。
【0056】
一実施形態によると、シグナルプロセッサ140は、連続して高くなる品質レベルのそれぞれにおいてアップサンプリングを繰り返して、最高品質レベルにおいて元の信号のレンディションを再構成する。生成された信号レンディションは、元の信号と解像度が同じで、元の信号と同一であるか、または、略同一であるとしてよい。
【0057】
本明細書で説明する技術を利用し得るエンコーダシステムの例では、シグナルプロセッサ140は、各品質レベルの各要素について、どのアップサンプリング方法(例えば、メトリック/ブレンディング解除フィルタの利用、または、別のアップサンプリング方法の利用)が適切であるかを調査して判断するとしてよい。
【0058】
マルチスケール継承ベースエンコーディングループでは、信号は、ヒエラルキーにおいて連続的にダウンサンプリングされて第1の品質レベルにおける信号のレンディションを生成する。マルチスケールエンコーディングループにおいて利用可能なアップサンプリング処理のうちメトリック125(「ブレンディング解除フィルタ」)を利用する方法によって、ヒエラルキーにおいてより低い品質レベルにおける信号のレンディションに基づいて、より高い品質レベルにおける信号のレンディションを再構成するために必要な剰余データの量を減らすことができる。
【0059】
本明細書で説明するメトリックまたは他のアップサンプリング方法を利用するアップサンプリング技術を利用し得るデコーダシステムの一例では、シグナルプロセッサ140は、各品質レベルにおける各要素をアップサンプリングするために用いられる適切なアップサンプリング処理(例えば、メトリック/ブレンディング解除フィルタの利用、または、別のアップサンプリング処理)を調査および判断するとしてよい。さらに別の実施形態によると、エンコーディング側での判断は、デコーダに送信されてデコーダで複製され、送信帯域幅の方がわずかに高いことを利用してデコーディングの複雑さを低減する。
【0060】
デコーダは、信号レンディション115−1において要素を選択する段階と、(可能であれば)メトリック125を生成する段階と、マルチスケールデコーダループにおいて、より低い品質レベルにおける信号のレンディションに基づいて、より高い品質レベルの信号レンディションを再構成するべくメトリック125を利用する段階とを実行するとしてよい。他のアップサンプリング処理の代わりにメトリックを生成して利用する処理は、第2の品質レベルにおける信号レンディションを再構成するべく、アップサンプリング後に必要な剰余データの量を低減または変更するとしてよい。
【0061】
図2は、実施形態に係る、第1の品質レベルにおいて選択された要素について生成されたメトリックを利用して、選択された要素アップサンプリングして次に高い品質レベルにおける複数の要素を生成するべくセッティングを算出する方法の一例を説明するための図である。
【0062】
上述した一実施形態によると、シグナルプロセッサ140は、要素G1を複数の要素U1、U2、U3およびU4にアップサンプリングするためにメトリックを利用する。尚、要素G1を次に高い品質レベルにおける4つの要素に(例えば、スケールファクター2×2に基づき)アップサンプリングすることは、限定するためでなく一例としてのみ図示されており、アップサンプリングは一の品質レベルから次に高い品質レベルへとスケールアップさせる任意の適切な方法を含むとしてよい。
【0063】
本例において、シグナルプロセッサ140は、複数の近隣の要素を含む第1の要素群(例えば、要素X1=100と仮定する)および第2の要素群(例えば、要素Y1=0.1、Y2=0およびY3=0.3と仮定する)についての範囲の限界を0および100と設定すると仮定する。このような例によると、範囲の下限が0であり、範囲の上限が100である。本例において、選択された要素G1には37という値が割り当てられていると仮定する。
【0064】
シグナルプロセッサ140は、メトリック125に基づき、要素U1、U2、U3およびU4の値を生成する。例えば、シグナルプロセッサ140は、メトリック125に基づいて要素U1、U2、U3およびU4のそれぞれのセッティングを生成するべく、要素U1、U2、U3およびU4のうちどの要素がメトリック125に重なっているかを最初に特定する。
【0065】
本例によると、シグナルプロセッサ140は、メトリック125は(要素U1、U2、U3およびU4のうち)要素U1、U2およびU3と重なっていると特定する。シグナルプロセッサ140は、要素U1、U2およびU3のそれぞれについて、重なっていると検出することに応じて、メトリック125を利用してそれぞれのセッティングを算出する。シグナルプロセッサ140は、要素U1、U2およびU3のそれぞれの値を、第1の要素群(例えば、X)に割り当てられているセッティング(例えば、100)と、第2の要素群(例えば、Y)に割り当てられているセッティング(例えば、0)との間に入るように設定する。
【0066】
本例によると、シグナルプロセッサ140は、メトリック125は、(要素U1、U2、U3およびU4のうち)要素U4とは重なっていないと特定する。シグナルプロセッサ140は、メトリック125が画定する境界と第2の要素群(例えば、Y要素)との間に要素U4の全体が位置していると検出することに応じて、要素U4の値を0に略等しい値に設定する。これは、第2の要素群に割り当てられているセッティングである。
【0067】
尚、メトリック125が画定する境界と、第1の要素群(例えば、X要素)との間に別の特定の要素が位置するとシグナルプロセッサ140が検出する場合、シグナルプロセッサ140は、この特定要素の値を、第1の要素群に割り当てられているセッティングに略等しい値(例えば、100)に設定する。これは本例では当てはまらないが他の被調査要素については当てはまる場合があることに留意されたい。
【0068】
シグナルプロセッサ140はメトリック125が画定する境界が第2の品質レベルにおける信号の要素U1、U2、U3のそれぞれと重なっていると検出していることを思い出されたい。
図2に示す別の実施形態によると、各要素について、シグナルプロセッサは、i)各要素のうちメトリック125が画定する境界と第1の要素群(例えば、X要素)との間に位置するのはどの程度かを示す第1の値、および、ii)各要素のうちメトリック125が画定する境界と第2の要素群(例えば、Y要素)との間に位置するのはどの程度かを示す第2の値を算出する。シグナルプロセッサは、範囲(例えば、0から100)に基づいて重なっている各要素のセッティングを算出し、第2の値に対する第1の値の割合または重み付けを算出する。
【0069】
範囲(例えば、0から100)の下限は第2の要素群のセッティングによって定められ、範囲(例えば、0から100)の上限は第1の要素群のセッティングによって定められることを思い出されたい。本例によると、要素U1に対応付けられている面積のうち83%が、メトリック125が画定する境界と第1の要素群Xとの間に位置すると仮定する。さらに、要素U1に対応付けられている面積のうち17%がメトリック125が画定する境界と第2の要素群Yとの間に位置すると仮定する。これらの値に基づき、シグナルプロセッサ140は、要素U1の値を83と設定する。例えば、シグナルプロセッサ140は、以下の式を利用してこの値を生成する。
U(i)=範囲の上限−PV1(i)*(範囲の上限−範囲の下限)
式中、PV1(i)=アップサンプリング要素i(例えば、要素U1、U2およびU3うちの1つ)のうち境界と下限との間に入る割合を示す。または、以下の式を利用する。
U(i)=範囲の下限+PV2(i)*(範囲の上限−範囲の下限)
式中、PV2(i)=アップサンプリング要素iのうち境界と上限との間に入る割合を示す。
【0070】
上述した式および上記の重み付けを利用して、シグナルプロセッサ140は要素U2=6と設定する。例えば、要素U2に対応付けられている面積のうち6%がメトリック125が画定する境界と第1の要素群Xとの間に位置すると仮定する。さらに、要素U2に対応付けられている面積のうち94%がメトリック125が画定する境界と第2の要素群Yとの間に位置すると仮定する。これらの値および上記の式に基づき、シグナルプロセッサ140は、要素U2の値を6に設定する。
【0071】
上記の式を用いて、シグナルプロセッサ140は、要素U3=23と設定する。例えば、要素U3に対応付けられている面積のうち23%がメトリック125が画定している境界と第1の要素群Xとの間に位置していると仮定する。さらに、要素U3に対応付けられている面積のうち77%がメトリック125が画定している境界と第2の要素群Yとの間に位置していると仮定する。これらの値および上記の式に基づき、シグナルプロセッサ140は、要素U3の値を23に設定する。
【0072】
要素U4に対応付けられている面積の全てが、メトリック125が画定している境界と第2の要素群との間に位置している。このような例では、シグナルプロセッサは、Y要素(例えば、第2の要素群)に対応付けられているセッティングに略等しい値を要素U4に割り当てる。つまり、シグナルプロセッサ140はU4=0と設定する。
【0073】
上述したように、信号レンディションは、要素の体積を表すとしてもよい。このような実施形態では、シグナルプロセッサ140は、体積要素について、上述したのと同じステップを実行する。
【0074】
例えば、シグナルプロセッサ140は、メトリック125が画定する面境界が、第2の品質レベルにおける体積画像の複数の画像要素のうち一の特定の体積要素と重なっていると検出するとしてもよい。この特定の体積要素について、シグナルプロセッサ140は、i)この特定の体積要素のうち面境界と第1の要素群との間に位置するのはどの程度であるかを示す第1の値、および、ii)この特定の体積要素のうち面境界と第2の要素群との間に位置するのはどの程度であるかを示す第2の値を算出する。シグナルプロセッサ140は、第1の値および第2の値の大きさに基づいて、範囲内に入るようにこの特定の体積要素のセッティングを算出する。
【0075】
図3は、実施形態に係る、別のアップサンプリング方法を用いて一の選択された要素を複数の要素へアップサンプリングする方法の一例を説明するための図である。この例において、シグナルプロセッサ140は、選択された要素Y3をより高い品質レベルにおける複数の要素にアップサンプリングするためのメトリックを生成できない、と仮定する。
【0076】
より具体的には、選択された要素Y3には、選択された要素の近傍にある2以上の要素群が画定する範囲内に収まるセッティングが割り当てられないと仮定する。シグナルプロセッサ140は、複数の近隣の要素をさまざまな軸方向に対向する要素群にグループ分けして全てを調査した後で、この状況であることを特定する。この状況を検出することに応じて、シグナルプロセッサ140は、選択された要素が良好に画定された境界または移行領域の近傍には位置していないと仮定するので、別のアップサンプリング処理を用いて要素Y3をアップサンプリングして複数の要素V1、V2、V3およびV4を生成する。
【0077】
図4は、実施形態に係る、第1の品質レベルにおける信号に含まれる複数の要素のそれぞれをアップサンプリングして、第2の品質レベルにおける信号に含まれる複数の要素を生成する処理の一例を示す図である。図示しているように、シグナルプロセッサ140は、品質レベル#1における信号レンディション115−1に含まれる複数の要素のそれぞれを調査して、生成したメトリックの利用が各要素に対するアップサンプリングを実行するために適切な方法であるか否かを特定する。条件付きで、シグナルプロセッサ140は、第1の品質レベルにおける信号のレンディションに含まれる次に選択された要素の近傍にある要素のセッティングに基づいて、メトリックを生成する。
【0078】
一例を挙げると、シグナルプロセッサ140は、第1の品質レベルにおける信号のレンディションに含まれる複数の要素のそれぞれに対して調査を行って、デコーディングについて、第1の種類のアップサンプリング処理(例えば、生成されたメトリックを利用する方法)を各要素に割り当てるか、または、別の第2の種類のアップサンプリング処理(例えば、メトリックを利用しない方法)を各要素に割り当てるかを判断する。
【0079】
各要素の調査は、上述したように、選択された要素のセッティングが範囲内に収まっているか否かを判断することを含むとしてよい。シグナルプロセッサ140は、生成された範囲内にセッティングが収まる各要素をアップサンプリングする場合には、第1の種類のアップサンプリング処理を割り当てる。シグナルプロセッサ140は、生成された範囲外にセッティングがある各要素をアップサンプリングする場合には、第2の種類のアップサンプリング処理を割り当てる。したがって、所定の品質レベルにおける信号の複数の要素には、それぞれ異なるアップサンプリング処理が割り当てられるとしてよい。
【0080】
図5は、実施形態に係る、信号のレンディションをより高い品質レベルにアップサンプリングする際、複数の異なる種類のアップサンプリング処理を割り当てて利用する方法の一例を示す図である。尚、要素G1、Y3およびB2は、マップ510において、マップ510に含まれる要素と信号レンディション115−1内の要素との間の対応関係を示すために、記している。
【0081】
上述したように、シグナルプロセッサ140は、選択された要素について、メトリック125に基づいてアップサンプリングすること、または、別のアップサンプリング処理(例えば、双三次フィルタおよび/またはアンシャープマスキングフィルタ等、他のアップサンプリング方法および画像処理方法を利用する)を利用することのいずれが有益であるか否かを調査するとしてよい。この調査の結果に基づき、マップ510の要素は、品質レベル#1における信号レンディション115−1の対応する要素が、品質レベル#1から品質レベル#2へと、生成されたメトリックを用いて(例えば、Mと分類)または別の方法を用いて(例えば、Oと分類)アップサンプリングされるか否かを示す。
【0082】
これに限定されるのではなく一例として挙げると、マップ510のうち「M」という文字が記された領域が、対応する画像のうち移行部分またはエッジが見られる箇所を示すとしてよい。属性は、低品質レベルの画像の大まかな属性(例えば、輪郭)を示す。
【0083】
図6は、実施形態に係る、信号レンディションをより高い品質レベルへとアップサンプリングする場合の、複数の異なる種類のアップサンプリング処理を割り当てて利用する方法の一例を示す図である。尚、要素U1、U2、U3、U4、V1、V2、V3およびV4は、マップ610内の要素と、第2の品質レベルの信号レンディションの要素との対応関係を示すように、マップ610に記載している。
【0084】
上述したように、シグナルプロセッサ140は、選択された要素について、メトリックに基づいてアップサンプリングするか、または、別のアップサンプリング処理を利用(例えば、双三次フィルタおよび/またはアンシャープマスキングフィルタ等の他のアップサンプリング方法および画像処理方法を利用)するのか、いずれが適切かを調査するとしてよい。調査の結果に基づいて、マップ610に含まれる要素は、対応する要素が、生成されたメトリックを用いて(例えば、Mと分類)、または、別の方法を用いて(例えば、分類無し)品質レベル#2から品質レベル#3へとアップサンプリングされるか否かを示す。
【0085】
これに限定されるものではなく一例として挙げると、マップ610内の「M」という文字が記されている領域は、対応する画像で移行部分が見られる箇所を示すとしてよい。移行部分は、低品質レベルの画像の大まかな属性(例えば、輪郭)を示す。本例において、信号レンディション115−1は、少なくとも一の垂直オブジェクトを含む、より詳細な画像を表す。特定の移行部分(「M」と分類)は、画像の新しい領域において検出された。新しい移行部分は、解像度が高い画像で検出可能となった新しいオブジェクトの存在を示すとしてよい。
【0086】
<エッジ再構成フィルタ(例えば、ブレンディング解除アップサンプリングフィルタ)>
図7は、実施形態に係る、メトリックを作成するための2つ異なる構成を例示する図である。尚、これら2つの構成は、説明するものに限定されることなく一例として図示しており、任意の数の構成を、一の品質レベルから次の品質レベルへと特定の要素をアップサンプリングするためのモデルとして用いるとしてよい。
【0087】
上述したように、デコーダがより高い品質レベルへとアップサンプリングする場合、一の品質レベルから次の品質レベルへと信号をアップサンプリングするためにエンコーダが生成しなければならない剰余データのエントロピーを低減するべく、「インテリジェント」フィルタを活用して元の信号を再構成するのが好ましいことが多い。
【0088】
ビデオデータ(例えば、フレームを持つ動画)に含まれる画像の大部分は非常に鮮明な境界/移行部分または非常に段階的/曖昧な移行部分のいずれか一方を含むと考えられたい。低解像度信号において直線状のエッジまたは鮮明な境界/移行部分をアップサンプリングする際にギザギザまたはぼやけた再構成にならないように、本明細書に説明する実施形態は、少なくとも2種類の画像処理方法およびアップサンプリング方法を利用することを含むとしてよい。このような画像処理方法およびアップサンプリング方法は、アンシャープマスキング(メトリックを生成せず、アップサンプリングを行わない)およびブレンディング解除フィルタ(アップサンプリングのためにメトリックを生成)を含む。
【0089】
<アンシャープマスキングフィルタ>
アンシャープマスキングは、移行部分を改善する一般的なフィルタリング技術である。アップサンプリング後に鮮明な移行部分を再構成する機能はない。しかし、適用されると、移行部分の変化をはっきりさせる。これによって、特に開始時点で移行部分が鮮明でない場合には、信号のレンディションにアーチファクトが入り込んでしまう場合がある。このため、アンシャープマスキングフィルタは通常、しきい値を超える場合にのみ利用される。例えば、しきい値未満の、非常に段階的な変化についてアンシャープマスキングフィルタは利用されない。
【0090】
一実施形態によると、アンシャープマスキングフィルタを利用するか否かのしきい値は、品質レベル毎に、エンコーダによって決定するとしてよい。フィルタを利用しようという判断は、剰余データの量を全体的に最小限に抑えるべく、選択された制御画像ゾーンについて、覆されるとしてよい。
【0091】
<ブレンディング解除フィルタ>
本明細書に記載するいわゆるブレンディング解除フィルタは、複数の異なる品質レベルで、信号におけるエッジを復元(例えば、アップサンプリング)するためのカスタムフィルタである。ブレンディング解除フィルタは、上述したように、アップサンプリングされる1以上の要素のそれぞれについて、生成されたメトリック125を利用することを含むとしてよい。
【0092】
一実施形態によると、ブレンディング解除フィルタは、アップサンプリング前に利用され、低レベル画像の比較的小さい部分(例えば、これに限定されないが、2次元信号の場合、3×3の要素領域)に対して利用される。しかし、本実施形態は、これに限定されるものではなく一例としてのみ図示されており、本明細書に示す概念は信号のうち任意のサイズの部分(例えば、4×4、5×5等)に適用されるとしてよい。
【0093】
また、上述したように、一実施形態は、品質レベルn−1から品質レベルnへとアップサンプリングすることを含む。メトリックを利用するのは、選択された部分の要素の値は一般的に、2つの異なる値のみであり、両者間の移行部分/境界は、直線、曲線、平面等の適切な境界で近似し得るという仮定があるからである。
【0094】
アルゴリズムおよび対応するメトリックが特定の要素に対してアップサンプリングを行うために適用できない場合、本明細書に示す実施形態は、高解像度の信号レンディションの要素について、他のデフォルトアップサンプリング処理/フィルタ(例えば、双三次フィルタ処理およびアンシャープマスキングフィルタ)によるアップサンプリングで得られた複数の要素を利用することを含む。
【0095】
尚、一の品質レベルから次の品質レベルへとアップサンプリングするためのアルゴリズム(および本明細書で説明するメトリックの生成)は通常、アップサンプリング対象の信号の要素のうちかなり少ない割合(例えば、10%)に対して利用される。上述したように、信号の低品質レベルの信号要素は、「大まかな」画像情報を含むのが普通である。次の品質レベルへとアップサンプリングするためにメトリックを用いることができる要素は通常、信号における鮮明な境界に対するアーチファクトは非常に望ましくない傾向にあるので、非常に重要な要素である。また、このような要素は、高品質レベルで再構成する場合、従来の方法およびフィルタにしたがってアップサンプリングすると、低品質レベルのレンディションをアップサンプリングしたものを修正するために大量の剰余データが必要になる領域でもある。上述したように、メトリック125を用いてアップサンプリングすることで、一の品質レベルから次の品質レベルへと信号のレンディションをインテリジェントにアップサンプリングするので、剰余データの量が少なくなる。
【0096】
一実施形態では、メトリックを被調査領域が移行部分またはエッジを含むか否かを判断するために利用することが有益である少なくとも2つの主要モデル事例があると考えている。これは、エッジを表す理想的な境界の角度に基づいて決まる。被調査領域を回転または反転させて、選択された要素および対応する隣接要素が一の品質レベルから次の品質レベルへとアップサンプリングするためにメトリックを利用可能な移行部分またはエッジを画定しているか否かを確認するために、合計で8個の異なるモデル事例(向き毎に2つ)を得ることができる。選択された被調査要素の近傍にある複数の要素をさまざまに組み合わせて調査することで、移行部分が存在している場合には、移行部分を特定することができる。
【0097】
図7に示すように、所定の品質レベルにおいて被調査部分でXおよびYと示す、要素の2種類のセッティングが所定の範囲/しきい値(例えば、略同一の第1の値に設定されている要素Xのグループと、略同一の第2の値に設定されている要素Yのグループがある)に収まると特定される場合、本明細書に示す実施形態は、要素をアップサンプリングする際に上述したようにメトリック125を生成して利用することを含む。また、別のアップサンプリング処理を利用する。これら2つの事例を以下に説明する。
【0098】
図8は、実施形態に係る第1の構成の場合のメトリックの生成の一例を示す図である(確認する特定の条件は、範囲を定める2つの極値のうち一方、例えば、Yが角のうち1つ、例えば、右下の角に少なくとも3回登場し、他方の極値は反対側の角に少なくとも一回登場する、というものである)。
【0099】
上述したように、XおよびYと記す要素の値は、しきい値の範囲内に収まることを確認するべく調査される。他の要素は、値Xを持つ要素で満たされた領域と、値Yを持つ要素で満たされた領域とを分離する鮮明な境界線にダウンサンプリングフィルタを適用することで得られたものである可能性が高いので、XおよびYをブレンディングした値を含む可能性が高い。上述したように、一実施形態によると、各要素の特定の値は、当該要素が占める領域のうち、特定したい理想的な直線の左側または右側にあるのはどの程度かに基づいて決まるとしてよい。具体的には、直線を特定し得る方法としては、2つのパラメータαおよびβを算出する方法が挙げられる。
【0100】
この構成によると、α≧1/2で0≦β≦1(各要素の次元を1×1のユニットに正規化した)と仮定できる。これを満たさない場合、被調査要素の3×3のブロックを反転または回転させるとしてよい。
【0101】
図8に示す被調査要素から分かるように、再構成したい線の角度によって、(B+C)、(D+E)、および(G+H)について求める値が変わる。いずれの場合も、これらの値は、2Xと2Yとの間にあるが、直線がどこにあるか、および、直線の傾斜に応じて、2Xのまたは2Yの一方に近くなる。3×3のブロックに含まれる要素の値は、何らかの種類の線形フィルタリングによるダウンサンプリングから得られたものであり、「線形補間」(または、LERP)として知られている処理を活用することができると仮定する。当該処理は非常に効率的であり以下のように行われる。
【数1】
【0102】
実際には、当該処理は、アップサンプリング後のレベル(はるかに高い解像度)であるかのように(B+C)の値を求めるために用いるとしてよい。台形の高さをパラメータmとして用いて、値2X(上述した画像でXはグレイの網掛けであると仮定すると、両要素がグレイ)を、値2Y(両要素が白)で線形補間する。(B+C)の場合、絵素の辺は1なので、mは(1+α−β)に等しいことが容易に分かる。
【0103】
結果として、αおよびβという2つの変数について解を求める2つの一次方程式が得られる(要素の値A、B、C、D、E、F,G、HおよびI、ならびに、範囲を特定する極値であるXおよびYはすべて既知の値であることに留意されたい)。
【数2】
【0104】
このように、本明細書の実施形態は、上記の式を解くことによって値αおよびβを算出/推定することを含む。これらの値に基づき、アップサンプリング後のレベルで再現する理想的な直線を用いることで、一の品質レベルから次の品質レベルへとアップサンプリングする際に、不快で不鮮明な階段状の部分の発生を防止するとしてよい。特にβが大きい場合に推定値を改善するべく、本明細書の実施形態は、所望されればさらに(D+G)の式を含むとしてよい。
【0105】
図9は、実施形態に係る、第2の構成の場合のメトリックを生成する方法の一例を示す図である(確認する特定の条件は、範囲を定める2つの極値のうち一方、例えば、Yが1つの角を含む一辺、例えば、右下の角を含む右辺に少なくとも2回登場し、他方の極値は、反対側の角を含む反対側の辺に少なくとも2回登場する、というものである)。
【0106】
この構成に応じて、α≧1/2および0≦β≦1と仮定される(繰り返しになるが、これが満たされない場合、3×3のブロックを反転または回転させるとしてよい)。直線を再構成するために、αおよびβの値を推定するべく、3つの等式がある。
【数3】
【0107】
繰り返しになるが、未知の値を2つ含む式が3つあるが、これらの式によってαおよびβの推定値をさらに高精度化することができる。
【0108】
先述したように、ブレンディング解除フィルタのアップサンプリングアルゴリズムは、3次元以上の次元数の信号(例えば、3D画像、ホログラフィー画像等)にも利用できるよう拡張され得る。
【0109】
図10は、実施形態に係る、メトリック1025を用いて信号の要素をより高い品質レベルへとアップサンプリングする場合の結果の一例を示す図である。図示しているように、シグナルプロセッサ140は、ステップAにおいてアルゴリズムを利用して、上述したような方法でメトリック1025を生成する。メトリック1025に基づき、シグナルプロセッサ140は、信号レンディション1010−1を信号レンディション1010−2にアップサンプリングする。尚、メトリック1025の利用によって、アップサンプリングを行っても、メトリック1025が画定する境界のインテグリティは変わらない理由に注目されたい。
【0110】
図11は、実施形態に係る、コンピュータ処理を実行するコンピュータシステム800の一例を示すブロック図である。
【0111】
コンピュータシステム800は、コンピュータデバイスであってもよいし、コンピュータデバイスを含むとしてもよい。コンピュータデバイスの一例は、スイッチ、ルータ、サーバ、クライアント等として動作するパーソナルコンピュータ、処理回路、テレビ、再生デバイス、エンコーディングデバイス、ワークステーション、携帯型コンピューティングデバイス、コンソール、ネットワーク端末、処理デバイス、ネットワークデバイスである。
【0112】
尚、以下の説明は、上述したシグナルプロセッサ140に対応付けられている機能をどのように実行するかを説明しており、基本的な実施形態に関するものである。しかし、本明細書で説明した処理を実行するための実際の構成は用途毎に異なるものと留意されたい。
【0113】
図示しているように、本例に係るコンピュータシステム800は、デジタル情報を格納すると共に読み出す非一時型媒体、コンピュータ可読媒体、ハードウェア格納媒体等のコンピュータ可読格納媒体812と結合されているインターコネクト811を備える。コンピュータシステム800はさらに、プロセッサ813、I/Oインターフェース814、および、通信インターフェース817を備えるとしてよい。
【0114】
一実施形態によると、I/Oインターフェース814は、レポジトリ180との接続を可能とし、存在する場合には、ディスプレイスクリーン、キーボード、コンピュータマウス等の周辺機器816との間の接続を可能とする。
【0115】
コンピュータ可読格納媒体812(例えば、ハードウェア格納媒体)は、メモリ、光学ストレージ、ハードドライブ、フロッピー(登録商標)ディスク等の任意の適切なデバイスおよび/またはハードウェアであってよい。コンピュータ可読格納媒体は、シグナルプロセッサ140に対応付けられる命令を格納する非一時的な格納媒体である。命令をシグナルプロセッサ140等のリソースで実行して、本明細書で説明する処理のいずれかを実行する。
【0116】
通信インターフェース817によってコンピュータシステム800は、リモートソースから情報を取得するべくネットワーク190を介して通信を行うことができ、他のコンピュータ、スイッチ、クライアント、サーバ等と通信を行うことができる。また、I/Oインターフェース814により、プロセッサ813は、格納した情報をレポジトリ180から取得できるようになるか、または、取得を試みることができる。
【0117】
図示されているように、コンピュータ可読格納媒体812は、シグナルプロセッサプロセス440−2として、プロセッサ813が実行するシグナルプロセッサアプリケーション140−1によってエンコードされ得る。
【0118】
尚、コンピュータシステム800またはエンコーダ140はさらに、データおよび/またはロジック命令を格納するコンピュータ可読格納媒体812(例えば、ハードウェア格納媒体、非一時的格納媒体等)を含むものとして具現化され得る。
【0119】
コンピュータシステム800は、このような命令を実行し、本明細書で説明した処理を実施するプロセッサ813を備えるとしてよい。したがって、シグナルプロセッサアプリケーション140−1に対応付けられているコードは、実行されると、本明細書で説明している処理機能をサポートすることができる。上述したように、シグナルプロセッサ140は、エンコーディングおよび/またはデコーディングをサポートするとしてよい。
【0120】
一実施形態の処理において、プロセッサ813は、インターコネクト811を利用してコンピュータ可読格納媒体812にアクセスして、コンピュータ可読格納媒体812に格納されているシグナルプロセッサアプリケーション140−1の命令を開始、展開、実行、解釈またはその他の方法で行うとしてよい。シグナルプロセッサアプリケーション140−1を実行することで、プロセッサ813に処理機能が与えられる。言い換えると、プロセッサ813に対応付けられているエンコーダプロセス440−2は、コンピュータシステム800のプロセッサ813においてシグナルプロセッサアプリケーション140−1を実行することの1以上の側面を表している。
【0121】
当業者であれば、コンピュータシステム800は他のプロセス、ならびに/または、ソフトウェア素子およびハードウェア素子を備えると理解するであろう。例えば、シグナルプロセッサアプリケーション140−1を実行するためにハードウェア処理リソースの割り当ておよび利用を制御するオペレーティングシステムを備える。
【0122】
異なる実施形態によると、コンピュータシステムはさまざまな種類のデバイスのいずれかであってよいことに留意されたい。例えば、これらに限定されないが、パーソナルコンピュータシステム、デスクトップコンピュータ、ラップトップ、ノートブック、ネットブックコンピュータ、メインフレームコンピュータシステム、手持ちコンピュータ、ワークステーション、ネットワークコンピュータ、アプリケーションサーバ、ストレージデバイス、カメラ、カムコーダ、セットトップボックス、モバイルデバイス、ビデオゲームコンソール、手持ちビデオゲームデバイス等の消費者向け電子機器、スイッチ、モデム、ルータ等の周辺機器、または、一般的に任意の種類のコンピューティングデバイスまたは電子機器のいずれかであってよい。
【0123】
図12は、実施形態に係る、メトリックアップサンプリングを生成および利用する方法を示すフローチャート1200を示す図である。
【0124】
ステップ1210において、シグナルプロセッサ140は、第1の品質レベルにおける信号のレンディション115−1から一の要素を選択して、第2のより高い品質レベルにおける信号のレンディション115−1の複数の要素を生成するべくアップサンプリングを行う。
【0125】
ステップ1220において、シグナルプロセッサ140は、第1の品質レベルでの信号のレンディションにおける選択された要素の近傍の要素のセッティングに基づいて、メトリック125を生成する。メトリック125は、選択された要素の近傍にある第1の要素群と、選択された要素の近傍にある第2の要素群との間の境界を画定する。
【0126】
ステップ1230において、シグナルプロセッサ140は、メトリック125を利用して、第2の品質レベルにおける信号に含まれる複数の要素のセッティングを算出する。
【0127】
サブステップ1240において、シグナルプロセッサ140は、メトリックが画定する境界が、第2の品質レベルにおける信号に含まれる複数の画像要素のうち一の特定の要素と重なることを検出する。
【0128】
サブステップ1250において、特定の要素について、シグナルプロセッサ140は、i)境界と第1の要素群との間に位置するのは特定の要素のうちどの程度かを示す第1の値と、ii)境界と第2の要素群との間に位置するのは特定の要素のうちどの程度かを示す第2の値とを算出する。
【0129】
サブステップ1260において、シグナルプロセッサ140は、第1の値および第2の値に基づいて、特定の要素のセッティングを算出する。
【0130】
尚、本明細書で説明する技術は信号を処理および再構成する際に利用するのに適した技術である。しかし、本明細書に記載する実施形態はこのような用途で利用されることに限定されず、本明細書で説明する技術は他の用途での利用にも適していることに留意されたい。
【0131】
本明細書に記載する説明に基づき、請求の対象となる主題を十分に理解していただくべく、具体的且つ詳細な内容を数多く記載してきた。しかし、当業者であれば、請求の対象となる主題はこれらの具体的且つ詳細な内容を採用することなく実施し得るものと理解するであろう。また、当業者に公知の方法、装置、システム等については、請求の対象である主題をあいまいにすることを避けるべく、詳細な説明を省略している。詳細な説明は一部、コンピュータメモリ等のコンピューティングシステムメモリに格納されているデータビットまたはバイナリデジタル信号に対する演算を表すアルゴリズムまたはシンボルを用いて提示されている。このようなアルゴリズムによる説明または表記は、データ処理分野の当業者が研究内容を他の当業者に伝えるために用いる方法の一例である。本明細書で説明するアルゴリズムは、そして一般的にも、所望の結果を得るための自己矛盾の無い一連の演算または同様の処理と見なされる。この文脈では、演算または処理は、物理量を物理的に操作することを含む。通常は、必須ではないが、このような量は、格納、転送、結合、比較または操作が可能な電気信号または磁気信号の形態を取るとしてよい。場合によっては、主に一般的な用法を考慮して、このような信号をビット、データ、値、要素、シンボル、文字、項、数、数字等と呼ぶことが適切であると分かっている。しかし、上記および同様の用語はすべて、適切な物理量に対応付けられており単に便利な名称に過ぎないと理解されたい。特に明記されていない限り、以下の説明から明らかであるが、明細書中で「処理」、「算出」、「計算」、「判断」等の用語を用いる場合には、コンピューティングプラットフォームのメモリ、レジスタまたは他の情報格納デバイス、送信デバイス、または、表示デバイスにおいて物理的、電子的または磁気的な量として表現されているデータを操作または変換するコンピュータまたは同様の電子コンピューティングデバイス等のコンピューティングプラットフォームの動作または処理を意味する、と考えられたい。
【0132】
本発明を好ましい実施形態に基づき具体的に図示および説明してきたが、当業者であれば、特許請求の範囲が定義している本願の意図および範囲から逸脱することなく、形態および詳細な内容をさまざまな点で変更し得るものと理解されたい。このような変更は、本願の範囲に含まれるものとする。このため、上記の本願の実施形態の説明は本発明を限定するものではない。逆に、本発明は特許請求の範囲によって限定されるものである。