(58)【調査した分野】(Int.Cl.,DB名)
前記デジタル画像に対して実行される前記マルチセグメントダウンサンプリングは、前記関心領域の外側の前記デジタル画像の一部よりも高いサンプル密度を前記ROIに使用する、請求項1に記載の方法。
前記デジタル画像に対して実行される前記マルチセグメントダウンサンプリングは、前記関心領域の外側の前記デジタル画像の一部よりも低いサンプル密度を前記ROIに使用する、請求項1に記載の方法。
a)はさらに、前記ROIの前記1つ以上のパラメータを閾値と比較することを含み、前記ROIの前記1つ以上のパラメータが前記閾値を満たさないとき、b)は、前記マルチセグメントダウンサンプリング動作を現行の出力解像度で終了することを含み、c)は、前記マルチセグメントダウンサンプリングされたデジタル画像のより高いまたはより低い解像度版を符号化することを含む、請求項1に記載の方法。
前記デジタル画像に対して実行される前記マルチセグメントアップサンプリングは、前記関心領域の外側の前記デジタル画像の一部よりも低いサンプル密度を前記ROIに使用する、請求項16に記載の方法。
【発明を実施するための形態】
【0008】
序論
リサンプリングを使用して、ROIの詳細を損失することなく、入力画像の解像度を低減させる新たなROI符号化実施方法が提供される。解像度が低減すると、圧縮されたビットストリームを生成する符号化プロセスは高速化する。圧縮されたビットストリームを復号化した後に、別のリサンプリングプロセスが実行され、画像は元の解像度に再構築される。提案される方法は、符号化を実行するのに必要な時間を短縮しながら、ROI符号化を達成する。
【0009】
提案される解決策には、既存のROI符号化技法のうちのいくつかと比べて、いくつかの利点がある。提案される解決策は、ROIの詳細を損失することなく、入力画像の解像度を低減させ、より高速な符号化を実現する。提案される解決策を使用するROI符号化は、既存の主流の圧縮規格を使用して実行することができる。QPを調整してROI及び背景の画質を制御することを、回避することができる。提案される解決策を使用するROI符号化は、単一の符号化器インスタンスを使用して実施することができる。リサンプリングされた画像は矩形であるため、パディングされたピクセルは不要となり得る。提案される解決策により、映像フレーム間で様々なROIサイズ及び位置が可能となる。符号化段階及び復号化段階の両方でのリサンプリングは、グラフィックプロセッサユニット(GPU)で効率的に実施され得る。提案される解決策により、ROIと背景との画質の差を制御することも可能となる。提案される解決策により、ROIと背景との明確な境界が回避され得る。さらに、提案される解決策は、非矩形ROI、また同じ画像内の複数のROIにも、拡張され得る。
【0010】
方法論
上記のように、現在のROI符号化技法は、ビットレートを低下させるが、処理されるピクセル数を削減しない。ダウンサンプリングとも称される画像内のピクセル数の削減は、通常、目に見える品質低下をもたらす。品質低下の量は、ダウンサンプリングの程度による。この品質低下は、ダウンサンプリングされた画像をアップサンプリングで元のサイズに戻しても、回復できない。本開示の態様は、リサンプリングのこの特性を利用して、ROIの外側の画質を低減させる。同様に、ROIの詳細を保持するために、リサンプリングの量は最小限に抑える必要がある。提案される方法は、画像の様々なセグメントで選択的にリサンプリングを利用して、ROI符号化の特性を再現する。画像の様々なセグメントで異なる程度のリサンプリングを利用するこの選択的リサンプリング方法は、マルチセグメントリサンプリングと称される。
【0011】
本開示の態様によれば、開示される方法の符号化手順は、
図1及び下記のように説明される。101にて、ROIのサイズ、位置、及び形に関するROIパラメータが特定される。限定ではなく例として、矩形のROIの場合、これらのパラメータは、矩形画像の各端からROI境界までのオフセットを含み得る。102にて、より小さい画像に変換するために、入力画像に対しマルチセグメントダウンサンプリングが実行される。言い換えると、画像は、元の画像よりピクセル数が少ない画像に変換される。103にて、結果ダウンサンプリングされた画像は、ヘッダまたはメタデータに含まれるROIパラメータと共に、符号化される。本発明の代替的な実施形態では、符号化されていないROIパラメータは、例えば符号化されたダウンサンプリング済み画像に含まれ得、限定ではないが、ROIパラメータは、別個に送信され得る、または符号化されたダウンサンプリング済み画像の符号化されていないラッパーに含まれ得る。104にて、結果符号化されたデータが送信または格納される。
【0012】
図3Aは、元の画像310及びROI311の両方が矩形である特定の事例における符号化手順の例を示す。パラメータl
0、t
0、r
0、及びb
0は、元の画像310の境界からROI311までの左側ピクセルオフセット307、上側ピクセルオフセット308、右側ピクセルオフセット306、及び下側ピクセルオフセット309を、それぞれ表す。元の画像の幅301及び高さ302は、w
0及びh
0と示され、一方ROIの幅305及び高さ304は、x
0及びy
0と示される。
x
0=w
0−l
0−r
0
y
0=h
0−t
0−b
0
【0013】
ダウンサンプリングされた画像340の寸法(w
1及びh
1)は、圧縮された画像の必要ビットレート、及びROIの外側に必要な品質低下の程度などの要素に基づいて選ばれる。全体的なダウンサンプリング比率は、次のように決定される。
R
w=w
0/w
1
R
h=h
0/h
1
【0014】
ROI311におけるダウンサンプリングを回避するために、理想的には、w
1313及びh
1314は、x0及びy0よりそれぞれ適度に大きくなくてはならない。いくつかの実施態様では、ROIにリサンプリングが必要か否かを判定するために、w
1及びh
1は、x
0及びy
0の閾値と比較され得る。このような場合、ROIのリサンプリングは回避され得、ROIのダウンサンプリング比率は、次の式で与えられる。
R
x=x
0/x
1=1
R
y=y
0/y
1=1
【0015】
ROI311のダウンサンプリングが避けられない場合、ROIが背景よりも高い品質を有するために、ダウンサンプリング比率は次のように選択する必要がある。
R
x<R
w
R
y<R
h
【0016】
この段階で、w
1313、h
1314、x
1305、及びy
1304の値は特定されている。次のステップは、パラメータl
1318及びr
1319の計算である。これらの値は、次の観測値を使用して計算される。
l
1+r
1=w
1−x
1
l
1/r
1=l
0/r
0
【0017】
同様の手法を使用して、t
1317及びb
1320の値も特定される。ダウンサンプリングされた画像の全てのパラメータが分かると、ダウンサンプリング方法312及びサンプリングポイントを決定するための選択肢が複数存在する。ダウンサンプリング方法312は、バイリニア補間、スプライン補間、三次補間などに基づき得る。
【0018】
ROI311は、映像ストリームの1つのフレームから次のフレームで、サイズが大幅に増加し得る。これは、検出された眼球動作の突然の増加により、または画像内の要素の動きによる関心領域サイズの予測される増加により、引き起こされ得る。いくつかの実施形態では、ROIパラメータは閾値と比較され得、パラメータが閾値を超える場合は、システムは、幅w
1313及び高さh
1314の現行の解像度のマルチセグメントダウンサンプリングされた映像ストリームを符号化321することを終了し、代わりに、より高い解像度のフレームまたはデジタル画像を有する新たなマルチセグメントダウンサンプリングされた映像ストリームを符号化し得る。いくつかの実施形態では、ROIパラメータは閾値と比較され得、システムは、より高い解像度のフレームまたはデジタル画像を有するマルチセグメントダウンサンプリングされた映像ストリームを符号化することを終了し、元の値またはより低い値の幅w
1313及び高さh
1314を有する新たなストリームを符号化し始め得る。閾値は、限定ではないが、実際の画面サイズ、品質低下、またはその他のメトリックに基づいて、経験的に決定され得る。代替的実施形態では、システムは、ダウンサンプリング比率が増加するように、ROIパラメータを変更し得る。限定ではなく例として、x1及びy1が縮小され得、その結果、比率Rx及びRyは増加する。同様に、x1及びy1を変更することは、l
1、r
1、t
1、及びb
1も変更する。いくつかの実施形態では、システムは、x
1及びy
1を増加させて、比率R
x及びR
yをそれらの元の値またはより低い値に戻し得、結果的に、マルチセグメントダウンサンプリングされた映像ストリームまたはデジタル画像を、それらの元の解像度またはより低い解像度に戻す。
【0019】
ROI交差平面の外側のサンプリングポイントが、X軸に沿って等距離に及びY軸に沿って等距離に配置されている場合、背景の詳細は、各セグメント内で均一に縮小される。直線的間隔を使用した場合のダウンサンプリング段階312のサンプリングポイントが、
図4Aに示される。グリッド線の交点は、元の画像のピクセル位置403を示し、ドットは、サンプリングポイント404、405、402を示す。いくつかの実施態様では、ROIが「負の関心領域」、すなわち意図的にぼかされるまたは不明瞭にされる画像部分である場合、ROIには、より低いサンプル密度が使用され得る。
【0020】
実施例で使用されるROI401は、正方形である。この実施例では、ROI401にリサンプリングは行われず、その結果、サンプリングポイントは、元の画像のピクセル位置上に正確に存在する(406)。他のサンプリング位置は、元のピクセル位置上に存在しないが、ピクセル間に存在し得る(404)、または一般に、元のピクセルよりまばらに広がる(402)。いくつかの実施形態では、サンプル密度は、ROIを補正するように、X方向またはY方向に変化し得る。
図4Aに見られるように、サンプル405及びその隣接サンプルは、X軸上では元のピクセルと位置が合っているが、Y軸上ではよりまばらに散在する。ダウンサンプリング312後に得られる画像340は、元の画像よりピクセル数が少なく、このダウンサンプリングされた画像340は、符号化321され、必要なビットレートに応じてビットストリームが生成される。
【0021】
表示する前に、ビットストリームは、復号化され、処理される必要がある。提案される方法の復号化及び後処理手順が、
図2に示される。201に示されるように、復号化器は、符号化されたデータを受信し得る。受信は、広域ネットワーク(WAN)接続、またはユニバーサルシリアルバス(USB)方式接続などのローカルデータ接続から、行われ得る。202にて、ROIパラメータと共に受信されたデータが復号化される。いくつかの実施形態では、ROIパラメータは、符号化された画像データとは別個に受信され得る、または符号化された画像データのラッパー内に存在し得る。203にて、ROIパラメータを使用して、復号化された画像にマルチセグメントアップサンプリングが行われ、画像は元のサイズに再変換される。最後に、204にて、元のサイズの復号化された画像が、ディスプレイ上に表示される。
【0022】
図3Bは、復号化手順を示す。最初に符号化された画像は復号化322されなければならず、これにより、ダウンサンプリングされた画像340が生じる。次に、ダウンサンプリングされた画像340は、アップサンプリング323され、元のサイズ350で画像が生成される。アップサンプリングプロセス323は、概念的には、ダウンサンプリングプロセス312の逆である。ダウンサンプリング312中、背景のサンプリング密度は、ROIと比べてより低いものであった。アップサンプリング323中、背景のサンプリング密度は、ROIのサンプリング密度より高い。
【0023】
図4Bは、直線的間隔を使用した場合のアップサンプリング段階のサンプリングポイントを示す。ダウンスケーリングに使用されるのと同じサンプリング方法(バイリニア補間など)が、アップスケーリングに利用され得る。あるいは、異なるサンプリング方法が、ダウンスケーリング及びアップスケーリングに使用されてもよい。見てわかるように、ROI410内の領域は、アップサンプリングされていない、またはROIパラメータ及びダウンサンプリング中に行われる動作に応じて、最小限にアップサンプリングされている。言い換えると、一般にROI410内のアップサンプリングポイント411は、元のピクセル位置に存在し、交差するグリッド線は、元のピクセル位置を表す。さらに、ダウンサンプリング動作中のサンプリングは、画像の端でまばらであったため、アップサンプリング動作中、409などの端のサンプリングは、補正のために密度が高められる。アップサンプリング段階中のサンプリング位置は、少なくともROIの位置及び実行されるアップサンプリングのタイプに依存し得ることを理解されたい。
【0024】
提案される解決策を適用することで、人またはテキストを含む画像領域など、ユーザが通常注視する傾向がある画像領域内の詳細が向上され得る。限定ではなく例として、ROIの自動特定は、パターン認識アルゴリズムを使用して行われ得る、または後の節で論述されるように、見られている領域を識別する視線追跡装置に基づき得る。後者の場合、注視点から遠い画像詳細は注視点に近い領域と比較してより高度に減少し、詳細損失が徐々に増加することが有利であり得る。この効果は、提案される方法を変更して、各軸に沿ってROIの外側に非直線的に間隔のあいたポイントに基づいてダウンサンプリング及びアップサンプリングを実行することにより、実現され得る。
【0025】
非直線的間隔を使用したダウンサンプリング段階及びアップサンプリング段階のサンプリングポイントが、
図5A及び
図5Bそれぞれに示される。
【0026】
非直線的間隔のダウンサンプリングの場合、各軸に沿ってサンプリングポイントを識別する関数が定義される。この関数は、アップサンプリング中に逆関数を使用してサンプリングポイントを特定することができるように、使用される領域に逆関数を有する必要がある。
図5A及び
図5Bに示される実施例では、ダウンサンプリングに二次関数が利用され、その逆の平方根関数がアップサンプリングに利用される。ダウンサンプリングに二次関数を使用する効果としては、503などのROIに近いサンプルは、元のピクセル位置とより密接に結び付けられるが、504などのROIから遠いサンプルは、元のピクセル位置と低密接に位置付けられ、サンプリング密度は、ROI501から離れた505などの端のポイントに向かうにつれ、次第にまばらとなる。502などのROI内のサンプルポイントは、それらのピクセル位置から最小限に変更される。同様に、アップサンプリング中はこの逆が真となり、遠端のサンプル510は密度が高くなり、ROI501の近くのサンプルポイント509のサンプリング密度は低下する。非直線的間隔のサンプリングポイントを使用するROI符号化の場合、正しい関数を使用して最終画像を再構築され得るように、追加のROIパラメータを計算して復号化器に渡す必要がある。
【0027】
提案される方法は、ROI自体を関数として表すことができれば、円などの非矩形のROIにも拡張することができる。この場合、パラメータl0、t0、r0、及びb0は、ピクセルの行または列ごとに変わり得る。しかし、リサンプリング比率及びリサンプリングポイントを導出するプロセスは、ROIを含む各ピクセルの行及び列で変わらない。方法は、ROIパラメータに識別子ROI_Idを追加して、パラメータが対応するROIを指定することにより、複数のROIに適用することもできる。
【0028】
符号化
図6に示されるような符号化プロセスは、最初に、前述のダウンサンプリング動作から始まる。システムは、予測アルゴリズム、視線追跡装置、または他のこのような方法またはデバイスを使用して、ROIパラメータ612を決定する。ROIパラメータ612は、デジタル画像613の集合と共に使用され、マルチセグメントダウンサンプリング動作614が行われる。ROIパラメータは、保存され符号化608され、あるいは符号化された画像611に含まれる。デジタル画像の集合内の各フレームまたは画像は、独自のROIパラメータを有し得、その上、ROIパラメータは、フレームごとまたは画像ごとに変化し得ることを理解されたい。同様に、いくつかの実施形態では、デジタル画像の集合は、限定ではないが、静止画像であり得る。
【0029】
ダウンサンプリング動作の後、ダウンサンプリングされたデジタル画像601は、通常の手段により符号化される。限定ではなく例として、デジタル画像は、一般的な方法600に従って符号化され得る。符号化器は、複数のデジタル画像601を受信し、各画像を符号化する。デジタル画像601の符号化は、セクション単位で進められ得る。セクションごとの符号化プロセスは、任意で、パディング602、画像圧縮604、及びピクセル再構築606を含み得る。イントラ符号化画像及びインター符号化画像の両方の共通プロセスフローを促進するために、現在処理中の画像601内の全ての非復号化ピクセルは、602で示されるように、一時的ピクセル値でパディングされ、パディングされた画像が生成され得る。パディングは、例えば米国特許第8,711,933号に上記記載されているように進行されてもよく、当該特許内容は、参照により本明細書に組み込まれるものとする。パディングされた画像は、バッファに格納された参照画像のリスト603に追加され得る。602にて画像をパディングすることにより、現在処理中の画像を、画像圧縮604及びピクセル再構築606における後続処理で、参照画像として使用することが促進される。このようなパディングは、本発明の譲受人に譲渡された米国特許第8,218,641号において詳細に説明され、当該特許内容は、参照により本明細書に組み込まれるものとする。
【0030】
本明細書で使用されるように、画像圧縮は、デジタル画像に対するデータ圧縮の適用を指す。画像圧縮604の目的は、所与の画像601の画像データの冗長性を削減することにより、その画像のデータを、効率的な圧縮データの形態で格納または送信することを可能にすることである。画像圧縮604は、不可逆であっても可逆であってもよい。可逆圧縮は、図面、図像、またはマンガなどの人工的画像に好ましい場合がある。これは、不可逆圧縮方法は、特に、低ビットレートで使用された場合に、圧縮アーチファクトをもたらすためである。可逆圧縮方法はまた、記録保管目的で作成された医療画像または画像スキャンなどの高価値コンテンツに好ましくあり得る。不可逆方法は、特に、ビットレートの大幅な削減を達成するために、忠実性のわずかな(時に感知不可能な)低下は許容可能である用途の写真などの自然画像に適している。
【0031】
可逆画像圧縮の方法の例には、PCXでデフォルトの方法として、及びBMP、TGA、TIFFで可能な方法として使用されるランレングス符号化、エントロピー符号化、GIF及びTIFFで使用されるLZWなどの適応辞書アルゴリズム、並びにPNG、MNG、及びTIFFで使用されるデフレーションが挙げられるが、これらに限定されない。不可逆圧縮の方法の例には、画像601の色空間を画像内の最も一般的な色に削減すること、色度サブサンプリング、変換符号化、及びフラクタル圧縮が挙げられる。
【0032】
色空間削減では、選択された色は、圧縮画像のヘッダ内の色パレットにおいて指定され得る。各ピクセルは単に、色パレット内の色の指標を参照指示する。この方法は、ポスタリゼーションを避けるためにディザリングと組み合わせることができる。色度サブサンプリングは、画像内の色度情報の半分以上を低下させることにより、眼が色よりも鮮明に明度を感知するという事実を活用する。変換符号化は、恐らく最も一般的に使用される画像圧縮方法である。変換符号化は通常、離散コサイン変換(DCT)またはウェーブレット変換などのフーリエ関連変換を適用し、その後には量子化及びエントロピー符号化が続く。フラクタル圧縮は、特定の画像内で、画像のある部分が同じ画像の他の部分に類似するという事実に依存する。フラクタルアルゴリズムは、これらの部分を変換し、より正確には、幾何学的形状を「フラクタル符号」と称される数学的データに変換し、これは符号化画像を再構築するのに使用される。
【0033】
画像圧縮604は、画像601の特定部分が他の部分よりも高品質に符号化される関心領域符号化を含み得る。これは、スケーラビリティと組み合わせることができ、画像の特定部分を最初に符号化し、他の部分を後に符号化することを伴う。圧縮データは、画像を分類、検索、または閲覧するために使用することができる画像に関する情報(時にメタ情報またはメタデータと称される)を含み得る。このような情報は、色及びテクスチャ統計、小さいプレビュー画像、及び著者/著作権情報を含み得る。
【0034】
限定ではなく例として、604における画像圧縮中に、符号化器は、ピクセルのブロックを圧縮するための最良の方法を検索し得る。符号化器は、現行のパディングされた画像を含む参照画像リスト603内の全ての参照画像で、良くマッチングするものを検索し得る。現行の画像(またはサブセクション)がイントラ画像(またはサブセクション)として符号化される場合、パディングされた画像のみが参照リストで利用可能である。604における画像圧縮は、動きベクトルMV及び変換係数607を生成し、これらはその後、606におけるピクセル再構築中に、参照画像(パディングされた画像を含む)のうちの1つ以上と共に使用される。
【0035】
画像圧縮604は一般に、最良インター予測マッチングを行う動き検索MSと、最良イントラ予測マッチングを行うイントラ検索ISと、現行のマクロブロックがインター符号化されるかまたはイントラ符号化されるかを決定するインター/イントラ比較Cと、可逆的残差ピクセル605を計算するために最良マッチング予測ピクセルを有する符号化対象セクションから元の入力ピクセルを差し引く減算Sとを含む。次に、残差ピクセルは、変換係数607を生成するために、変換及び量子化XQの処理を受ける。変換は通常、離散コサイン変換(DCT)などのフーリエ変換に基づく。
【0036】
変換は、それぞれが標準的基礎パターンの重み付け値である係数の集合を出力する。組み合わせられると、重み付けされた基礎パターンは、残差サンプルのブロックを再構築する。変換の出力、変換係数のブロックは、量子化され、すなわち各係数は、整数値により除算される。量子化は、量子化パラメータ(QP)に従って、変換係数の精度を低減させる。通常、係数のほとんどまたは全てがゼロであり、いくつかの非ゼロ係数を有するブロックが生じる。QPを高い値に設定することは、より多くの係数がゼロに設定され、結果、復号化画像が低品質になることを犠牲に、高圧縮が達成されることを意味する。低QP値の場合、量子化後により多くの非ゼロ係数が残り、結果、復号化画像の品質は良くなるが、低圧縮となる。反対に、高QP値の場合、量子化後に残る非ゼロ係数は少なくなり、より高い画像圧縮が達成されるが、画質は低くなる。
【0037】
モード決定とも称されるインター/イントラ比較Cは、QPに関連するラグランジュ乗数λとして知られるパラメータを使用する。基本的には、コスト関数Jは、QPの値から特定されたλの値を使用して計算される。符号化モードは、インターモード符号化の計算されたコスト関数Jが、イントラモード符号化の計算されたコストを上回るかまたは下回るかに基づいて決定される。例として、H.264/AVCコーデックは、コスト関数JHに対応し、これは、セクションのオーバーヘッド(例えば動きベクトル、タイプ)を符号化するための実ビット消費Rと、再構築歪みD(例えば元のセクションと再構築されたセクションとの間の絶対値差分の和、SADとして測定される)とを計算することにより、最小化される必要がある。このような場合、コスト関数J
Hは、次のように計算される。
J
H=D+λ・R
【0038】
代替的な実施態様では、歪みDは、別様に計算され得る。歪みを表す方法はいくつか存在し、例えば、二乗差分の和(SSD)、絶対値変換差分の和(SATD)、平均絶対値差分(MAD)などが挙げられる。様々な歪み測定では、コスト関数は適宜変更または再調整される必要があることが、当業者には認識されよう。
【0039】
いくつかの状況では、不適切な符号化モード決定により、不必要なIDRまたはIフレーム挿入が引き起こされ得る。オンラインビデオゲーム中のストリーミング映像の例を検討する。符号化器は、ゲームアプリケーションにより生成される映像ストリームの目標ビットレートを満たすように試みる。目標ビットレートは、フレームごとのビット数に関する。ゲームが一時停止されると、映像は基本的に、静止フレームのストリームである。静止フレームでは、レート歪み最適化プロセスにおいてフレームの目標ビットを満たすために、QPは低くなる。QPが低い場合、モード決定は、静止フレーム内のほとんどのセクション(例えばマクロブロック)にイントラ符号化を選択する。フレーム内のイントラ符号化セクションの数が閾値を上回る場合、コーデックは、シーン変更検出を引き起こし、次のフレームは、極めて低いQPを有するイントラフレームとして符号化され、これは、符号化に多数のビットを要する。これは、この事例では、極めて低いQPの値(例えばQP=1、2)が可逆的符号化をほぼ意味するという事実に起因する。限定ではなく例として、シーン変更検出を引き起こす閾値は、フレーム内の約60〜80%のイントラMBであり得る。基本的には同じフレームが繰り返される場合でも、一連の静止フレームは、一連のシーン変更検出を引き起こす。一連のイントラフレームは、帯域幅が制限された通信チャネルにおいて、ビットレート使用率の大きくかつ頻繁なスパイクを生じ得る。
【0040】
通常、λとQPとの関係は、コーデックにより固定され、全ての画像に関して同じである。本開示の態様によれば、λとQPとの関係は、画像内のセクションごとのビット数に応じて、画像ごとに調整され得る。
【0041】
本開示の態様によれば、λとQPとの関係は、セクションごとのビット数に基づいて適合され得、これにより、符号化モード決定は、不必要なIDRまたはIフレーム挿入の可能性を低減させるように構成され得る。
【0042】
本開示の態様によれば、セクション符号化モード決定が「イントラ」符号化モードの代わりに「インター」符号化モードとなる可能性が高くなるように、λとQPとの関係は、符号化中に、例えば映像ストリームの符号化の開始時またはストリーム内の各映像フレームの開始時に、選択的に調整され得る。
【0043】
いくつかの実施態様では、例えばH.265では可能であるように、フレーム内に様々なサイズのセクションが存在する場合、セクションごとにλとQPとの関係を変更することも可能である。これは、例えば2パス符号化使用事例において有益であり、その理由は、第1のパスが画像セクションのコンテンツに関するさらなる洞察を提供することにより、より良い符号化モード決定を行うことができるからである。
【0044】
限定ではなく例として、λとQPとの関係の調整は、セクション内ビット数(NBS)に依存し得、これは一般に、目標ビットレート(例えば毎秒ビット単位)、フレームレート(例えば毎秒フレーム単位)、及びフレーム内のセクション数に依存する。セクション内ビット数NBSは、目標ビットレートBRを、フレームレートFRとフレームごとのセクション数(NSF)との積で割ることにより、計算され得る。限定ではなく例として、これは次のように表され得る。
NBS=BR/(FR・NSF)
【0045】
より一般的には、セクションごとのビット数(NBS)は、NBS=(BPF)/(NSF)と、より広義に表されてもよく、BPFは、フレームごとの目標ビット数である。
【0046】
この広義の式により、例えば基礎的なレート制御スキームにより割り当てられた目標ビットに応じて、フレームごとにNBSの値が異なり得る可能性が考慮される。各フレームの目標ビット数が固定されている場合、BPFは、BR/FRとなる。
【0047】
フレームごとのセクション数(例えばMB)は、解像度に依存する。テーブルに対する変更は、解像度、フレームレート、及びビットレートの組み合わせにより、引き起こされ得る。例えば、フレームが960×540の解像度、30fpsのフレームレート、8〜10Mbps以上の目標レートを有する場合に、テーブル変更は引き起こされる。所与のビットレート及びフレームレートでは、解像度が増加した場合に、テーブル変更が引き起こされる可能性は低い。所与のビットレート及び解像度では、フレームレートが増加した場合に、テーブル変更が引き起こされる可能性は低い。所与のフレームレート及び解像度では、ビットレートが減少した場合に、テーブル変更が引き起こされる可能性は低い。
【0048】
λとQPとの関係は通常、非線形関係である。一般に、QPが高い時にλは高く、QPが低い時にλは低い。λとQPとの関係の例は、米国特許第9,386,317号に説明され、その全内容は、参照により本明細書に組み込まれるものとする。
【0049】
QP値は、目標ビットレートに応じて調整され得る。符号化ではQPがビット使用率を制御することから、多くの符号化プログラムが、所望のビットレートを達成するために、QPを調整するレートコントローラを利用する。符号化器は、圧縮されていないソースデータ(例えば入力映像)を受信し、圧縮された出力を生成する。映像符号化方法は通常、映像セクションを符号化するためのビット使用率に影響を与える、従ってビットレートに影響を与えるQP値を使用する。一般に、より低いQPは、より高いビットレートをもたらす。レートコントローラは、外部アプリケーションにより指定され得る要求ビットレートに基づいて、QP値を決定する。符号化器は、レートコントローラにより決定されたQP値を使用して、実際の結果的ビット使用率及びビットレートを特定する。レートコントローラは、実際のビットレートを使用して、フィードバックループにおいてQP値を調整し得る。
【0050】
ビットレートとQP値との関係は、現行の画像の複雑さに部分的に依存する。ビットレートとQPとの関係は、様々なレベルの複雑さに対し様々な曲線を有する曲線の集合を用いて表現され得る。レートコントローラにより実施されるアルゴリズムの核心は、QPと、実ビットレートと、ある複雑度測定値との関係を記述した量的モデルである。関連するビットレート及び複雑度は、一般に、ソースピクセルと予測ピクセルとの差分(多くの場合残差と称される)のみに関係し、その理由は、量子化パラメータQPは、変換された残差で伝えられる情報の詳細のみに影響を与え得るからである。
【0051】
複雑度は、一般に、画像または画像部分内の空間的変化量を指す。局所レベルで、例えばブロックまたはマクロブロックレベルで、空間的変化は、関連セクション内のピクセル値の分散により測定され得る。しかし映像シーケンスの場合、複雑度は、一連の画像のシーンの時間的変化にも関連し得る。例えば、視野にわたりゆっくりと変化する実質的空間変化を有する1つのオブジェクトから構成される映像シーケンスは、時間的予測は単一の参照画像及び一連の動きベクトルを使用して動きを容易に取り込むことができるため、それほど多くのビットを必要とし得ない。計算も容易である包括的な映像複雑度メトリックを定義することは困難であるが、予測誤差(ソースピクセル値と予測ピクセル値との差分)の平均絶対値差分(MAD)が、この目的で使用されることは多い。
【0052】
量子化パラメータQPは、ソース画像の画像タイプ、ソース画像の複雑度、推定目標ビット数、及び基礎的レート歪みモデルを含むがこれらに限定されない複数の要素から決定され得ることに、留意されたい。例えば、QPは、現在符号化中の画像のセクションの変化、例えばセクション(例えばMB)分散を使用して、セクション単位で決定され得る。あるいは、現在符号化中のセクションのQPは、前のフレームで同一位置のセクション(例えばMB)を符号化した時の実ビットカウントを使用して、決定されてもよい。このようなQPレベル計算の実施例は、例えば本発明の譲受人に譲渡された米国特許出願公開第2011/0051806号、現在はHung−Ju Leeに譲渡された米国特許第8,879,623号に説明され、当該特許内容は、参照により本明細書に組み込まれるものとする。
【0053】
動き検索及び予測は、符号化されている画像のタイプに依存する。
図6を再度参照すると、イントラ画像を符号化する場合、動き検索MS及びインター/イントラ比較Cは無効化される。しかし、本発明の実施形態では、パディングされた画像が参照として利用可能であるため、これらの機能は無効化されない。その結果、画像圧縮604は、イントラ符号化画像及びインター符号化画像に対して、同じである。
【0054】
動き検索MSは、インター符号化画像のピクセル再構築の一環として通常行われる動き補正のために、最もマッチングするブロックまたはマクロブロックを画像601で検索することにより、動きベクトルMVを生成し得る。現行の画像601がイントラ符号化画像である場合、対照的に既存のコーデックでは通常、画像にわたり予測を行うことは不可能である。代わりに、イントラ画像(例えばIフレーム)及び変換係数を生成しピクセル予測を行うことにより符号化される画像に対して、全ての動き補正は通常無効化される。しかし、いくつかの実施態様では、イントラ画像を使用して、現行の画像内のセクションを、同一画像内の別のオフセットセクションとマッチングさせることにより、インター予測を行うことができる。2つのセクション間のオフセットは、606にてピクセル再構築に使用され得る動きベクトルMV’として符号化され得る。例として、符号化器は、イントラ画像内のブロックまたはマクロブロックを、同一画像内のある他のオフセットセクションとマッチングさせ、次にその2つの間のオフセットを動きベクトルとして符号化するように試み得る。コーデックによる「インター」画像に対する通常の動きベクトル補正を使用して、次に「イントラ」画像に対し動きベクトル補正が行われ得る。特定の既存のコーデックは、2つのブロックまたはマクロブロック間のオフセットを動きベクトルに変換することができる機能を有し、この機能の後、606にてピクセル再構築が行われ得る。しかし、これらの機能は従来、イントラ画像の符号化の場合、無効化されていた。本発明の実施形態では、イントラ画像の符号化の場合でも、このような「インター」画像機能を無効化しないように、コーデックは命令され得る。
【0055】
本明細書で使用されるように、ピクセル再構築は、参照画像を現在処理中の画像に変換することに関して、画像を記述する技術を指す。一般に、ピクセル再構築606は、符号化処理600を実施する符号化器内でローカル復号化器として機能する。具体的には、ピクセル再構築606は、画像圧縮604からの動きベクトルMVまたはMV’と、参照リスト内の画像からの参照ピクセルとを使用して、予測ピクセルPPを得るためのインター予測IP1及び(任意で)イントラ予測IP2を含む。画像圧縮604からの変換係数607を使用した逆量子化及び逆変換IQXは、不可逆残差ピクセル605Lを生成し、これは予測ピクセルPPに追加されて、復号化ピクセル609が生成される。復号化ピクセル609は、参照画像に挿入され、現在処理中の画像601の後続セクションの画像圧縮604及びピクセル再構築606において使用可能となる。復号化ピクセルが挿入された後、参照画像内の非復号化ピクセルは、パディング602の処理を受け得る。
【0056】
いくつかの符号化器実施態様では、現行の画像がイントラ符号化される場合、ピクセル再構築に使用できる他の画像は存在しないため、ピクセル再構築606のインター予測部分は無効化される。あるいは、特定の画像がインター符号化されるかイントラ符号化されるかに関わらず、全ての画像601にピクセル再構築が実行され得る。いくつかの実施態様では、符号化器の実施は、参照画像リスト603にパディングされた画像を追加するように変更され得、ピクセル再構築606のインター予測部分は、現在処理中の画像がイントラ符号化される場合であっても、無効化されない。その結果、ピクセル再構築606の間、インター符号化セクション及びイントラ符号化セクションの両方に関して、プロセスフローは同じである。唯一の大きな違いは、符号化に使用する参照画像の選択である。いくつかの実施態様では、全ての画像に対して動き補正を実行する必要はなく、パディングされた画像を参照画像リストに追加する必要はないことに、留意されたい。
【0057】
限定ではなく例として、ブロックピクセル再構築(BMC)として知られる一種のピクセル再構築では、各画像は、ピクセルのブロック(例えば16x16ピクセルのマクロブロック)に分割され得る。各ブロックは、参照フレーム内の同等サイズのブロックから予測される。ブロックは、予測されたブロックの位置に移されることを除き、全く変換されない。この移動は、動きベクトルMVで表される。隣接するブロックベクトル間の冗長性を利用するために(例えば単一の動くオブジェクトが複数のブロックを占める場合)、ビットストリーム内の現行の動きベクトルと前の動きベクトルとの差分のみを符号化することが一般的である。この差分プロセスの結果は、パニングが可能な全体的ピクセル再構築と数学的に等しい。符号化伝達経路をさらに進むと、方法600は、任意で、ゼロベクトルの周りの動きベクトルの結果的統計分布を利用するエントロピー符号化608を使用して、出力サイズを削減し得る。いくつかの実施形態では、ROIパラメータ612は、ネットワーク抽象化層(NAL)内のネットワークラッパーの一部として、デジタル画像611に含まれる。別の実施形態では、ROIパラメータ612は、エントロピー符号化608の間に、デジタル画像に含まれ得る。
【0058】
サブピクセル精度と称される非整数のピクセルにより、ブロックを移動させることが可能である。仲介ピクセルは、隣接するピクセルを補間することにより生成される。一般的に、2分の1ピクセルまたは4分の1ピクセル精度が使用される。サブピクセル精度の計算費用は、補間に要する追加処理が原因ではるかに高くなり、符号化器側では、評価すべき潜在的ソースブロックの数がはるかに多くなる。
【0059】
ブロックピクセル再構築は、現在符号化中の画像を非重複ブロックに分割し、これらのブロックの参照画像内由来箇所を示すピクセル再構築ベクトルを計算する。参照ブロックは通常、ソースフレーム内で重複する。いくつかの映像圧縮アルゴリズムは、参照画像リスト603内のいくつかの異なる参照画像のうちの複数の画像から、現行の画像を構築する。
【0060】
画像圧縮604及びピクセル再構築606、並びに(任意で)エントロピー符号化608の結果は、便宜上、符号化画像と称されるデータ集合611である。動きベクトルMV(及び/またはイントラ予測モード動きベクトルMV’)及び変換係数607は、符号化画像611に含まれ得る。デジタル画像または他の形態のストリーミングデータは一度符号化されると、符号化データは、送信され、復号化され、その後、ROIパラメータを使用してアップサンプリングされ得る。
【0061】
復号化
図7は、本開示の態様と共に使用され得る、ROIパラメータを有するダウンサンプリングされたストリーミングデータ701の復号化のための方法700の可能なプロセスフローの例を示す。この特定の例は、例えばAVC(H.264)規格を使用する映像復号化のプロセスフローを示す。符号化されたストリーミングデータ701は、最初にバッファに格納され得る。符号化されたストリーミングデータ701(例えば映像データビットストリーム)が、ネットワーク、例えばインターネットを介して転送される場合、データ701は最初に、702で示されるネットワーク抽出層(NAL)復号化と称されるプロセスを受け得る。ネットワーク抽出層(NAL)は、H.264/AVC及びHEVC映像符号化規格などのストリーミングデータ規格の一部である。NALの主な目的は、「会話型」(例えばビデオ電話)及び「非会話型」(ストレージ、ブロードキャスト、またはストリーミング)アプリケーションのために、「ネットワークフレンドリー」なストリーミングデータの表現を提供することである。NAL復号化は、データ701から、データ送信を支援するために追加された情報を取り除き得る。「ネットワークラッパー」と称されるこのような情報は、データ701を映像データとして識別し得る、あるいはビットストリームの開始もしくは終了、データ整列のためのビット、及び/または映像データ自体に関するメタデータを示し得る。
【0062】
さらに、例として、ネットワークラッパーは、データ701に関する情報を含み得、これには、例えば、解像度、画像表示フォーマット、データを表示するための色パレット変換行列、各画像、スライス、またはマクロブロック内のビット数に関する情報、並びに、低レベル復号化に使用される情報、例えばスライスの開始または終了を示すデータが含まれる。この情報を使用して、単一のセクションにおけるタスクグループのそれぞれに渡すマクロブロックの数が特定され得る。その複雑さのために、NAL復号化は通常、画像レベル及びスライスレベルで行われる。NAL復号化に使用される最小のNALバッファは、通常、スライスサイズである。
図7に示される例は、マクロブロック及びAVC(H.264)規格に関して説明される。しかし、これらは、本開示の態様の特徴を限定しない。例えば、最新のH.265(HEVC)規格では、マクロブロックの概念が存在しない。代わりに、より柔軟な符号化ユニット(CU)、予測ユニット(PU)、変換ユニット(TU)の概念が導入されている。本開示の態様は、このような符号化規格と共に作動し得る。限定ではなく例として、ネットワークラッパーは、ROIパラメータ727を含み得る。あるいは、ROIパラメータは、別個に受信され得る、または符号化されていない状態であり得る。
【0063】
いくつかの実施形態では、702でのNAL復号化の後、
図7に示される残りの復号化が、映像符号化層(VCL)復号化704、動きベクトル(MV)再構築710、及び画像再構築714と本明細書で称される3つの異なるスレッドグループまたはタスクグループで実施され得る。画像再構築タスクグループ714は、ピクセル予測及び再構築716と、後処理720とを含み得る。本発明のいくつかの実施形態では、各タスクグループが画像(例えばフレームもしくはフィールド)またはセクション内の全てのマクロブロックに対し担当する処理を完了した後に、後続処理の次のタスクグループにマクロブロックが送信され得るように、これらのタスクグループは、データ依存性に基づいて選択され得る。
【0064】
特定の符号化規格は、空間領域から周波数領域へのピクセル情報変換を含むデータ圧縮形式を使用し得る。数ある中でも、このような1つの変換として、離散コサイン変換(DCT)が知られている。このような圧縮データの復号化プロセスは、周波数領域から空間領域へ戻す逆変換を含む。DCTを使用して圧縮されたデータの場合、逆プロセスは、逆離散コサイン変換(IDCT)が知られている。変換されたデータは、離散変換されたデータ内の数字を表すために使用されるビットの数を削減するために、量子化されることがある。例えば、数字1、2、3は全て2にマッピングされ得、数字4、5、6は全て5にマッピングされ得る。データを解凍するために、逆量子化(IQ)として知られるプロセスが周波数領域から空間領域への逆変換を行う前に使用される。VCL IQ/IDCT復号化プロセス704のデータ依存性は、通常、同一スライス内のマクロブロックのマクロブロックレベルである。その結果、VCL復号化プロセス704により生成された結果は、マクロブロックレベルでバッファリングされ得る。
【0065】
VCL復号化704は、多くの場合、エントロピー復号化706と称されるプロセスを含み、これはVCL構文を復号化するために使用される。AVC(H.264)などの数多くのコーデックは、エントロピー符号化と称される符号化層を使用する。エントロピー符号化は、符号長が信号確率と合うように、信号に符号を割り当てる符号化スキームである。通常、エントロピー符号化器は、等長符号により表される記号を、確率の負の対数に比例する符号により表される記号で置き換えることにより、データを圧縮するために使用される。AVC(H.264)は、コンテキスト適応型可変長符号化(CAVLC)及びコンテキスト適応型二値算術符号化(CABAC)の2つのエントロピースキームに対応する。CABACはCAVLCより約10%高い圧縮を提供する傾向があるため、多くの映像符号化器において、AVC(H.264)ビットストリームを生成する際、CABACが好まれる。AVC(H.264)符号化データストリームのエントロピー層を符号化することは、計算負荷が高くあり得、汎用マイクロプロセッサを使用してAVC(H.264)符号化ビットストリームを復号化するデバイスには、困難であり得る。この理由から、数多くのシステムは、ハードウェアの復号化器加速器を使用する。
【0066】
エントロピー復号化706に加えて、VCL復号化プロセス704は、708に示されるように、逆量子化(IQ)及び/または逆離散コサイン変換(IDCT)を含み得る。これらのプロセスは、マクロブロックからのヘッダ709及びデータを復号化し得る。復号化されたヘッダ709は、隣接するマクロブロックのVCL復号化を支援するために使用され得る。ROIパラメータが符号化された実施形態では、復号化されたヘッダは、ROIパラメータを含み得る。
【0067】
VCL復号化704は、マクロブロックレベルのデータ依存頻度で実施され得る。具体的には、同一スライス内の異なるマクロブロックは、並行してVCL復号化の処理を受け得、その結果は、さらなる処理のために動きベクトル再構築タスクグループ710へ送信され得る。
【0068】
続いて、画像またはセクション内の全てのマクロブロックは、動きベクトル再構築710の処理を受け得る。MV再構築プロセス710は、所与のマクロブロックからのヘッダ711及び/または同一位置のマクロブロックのヘッダ713を使用する動きベクトル再構築712を含み得る。動きベクトルは、画像内の仮現運動を記述する。前の画像のピクセルの知識、及び画像から画像へのこれらのピクセルの相対的動きに基づいて、このような動きベクトルにより、画像(または画像部分)の再構築が可能となる。動きベクトルが一度復元されると、716にて、VCL復号化プロセス704からの残差ピクセル、及びMV再構築プロセス710からの動きベクトルに基づいたプロセスを使用して、ピクセルは再構築され得る。MVのデータ依存頻度(及び並行処理レベル)は、MV再構築プロセス710が他の画像の同一位置のマクロブロックを含むか否かに依存する。他の画像の同一位置のMBのヘッダを含まないMV再構築では、MV再構築プロセス710は、スライスレベルまたは画像レベルで並行して実施され得る。同一位置のMBのヘッダを含むMV再構築では、データ依存頻度は画像レベルであり、MV再構築プロセス710は、スライスレベルの並行処理で実施され得る。
【0069】
動きベクトル再構築710の結果は、画像再構築タスクグループ714へ送信され、これは画像周波数レベルで並行化され得る。画像再構築タスクグループ714内では、画像またはセクションの全てのマクロブロックは、デブロック化720と共に、ピクセル予測及び再構築716の処理を受け得る。ピクセル予測及び再構築タスク716並びにデブロック化タスク720は、復号化の効率を向上させるために、並行化され得る。これらのタスクは、データ依存性に基づいて、マクロブロックレベルで、画像再構築タスクグループ714内で並行化され得る。例えば、1つのマクロブロックに対し、ピクセル予測及び再構築716が実行され、続いてデブロック化720が実行され得る。デブロック化720により取得された復号化画像からの参照ピクセルは、後続のマクロブロックに対するピクセル予測及び再構築716において使用され得る。ピクセル予測及び再構築718は、隣接ピクセルを含む復号化セクション719(例えば復号化ブロックまたはマクロブロック)を生成し、隣接ピクセルは、後続のマクロブロックのピクセル予測及び再構築718への入力として使用され得る。ピクセル予測及び再構築716のデータ依存性により、同一スライス内のマクロブロックのマクロブロックレベルで、ある程度の並行処理が可能となる。
【0070】
後処理タスクグループ720は、デブロック化フィルタ722を含み得、これは、ブロック符号化技法が使用された場合にブロック間に形成され得る鮮明な縁を平滑化することにより、視覚的品質及び予測性能を向上させるために、復号化セクション719内のブロックに適用される。デブロック化フィルタ722は、結果得られるデブロック化セクション724の概観を改善するために使用され得る。
【0071】
復号化セクション719またはデブロック化セクション724は、隣接マクロブロックをデブロック化する際に使用するための隣接ピクセルを提供し得る。さらに、現在復号化中の画像のセクションを含む復号化セクション719は、後続のマクロブロックのピクセル予測及び再構築718に対し参照ピクセルを提供し得る。本段階の間は、画像(または画像のサブセクション)がインター符号化されたかイントラ符号化されたかに関わらず、前述のように、現行画像内のピクセルは、その同一の現行画像内のピクセル予測に任意で使用されてもよい。デブロック化720は、同一画像内のマクロブロックのマクロブロックレベルで、並行化され得る。
【0072】
後処理720の前に生成された復号化セクション719及び後処理が行われたセクション724は、関与する特定のコーデックに応じて、同じバッファ、例えば復号化画像バッファ725に、格納され得る。H.264では、デブロック化は後処理フィルタであることに留意されたい。その理由は、H.264は、デブロック化前マクロブロックを、隣接するマクロブロックのイントラ予測の参照として使用し、デブロック化後マクロブロックを、今後の画像のマクロブロックのインター予測に使用するからである。デブロック化前ピクセル及びデブロック化後ピクセルの両方が予測に使用されることから、復号化器または符号化器は、デブロック化前マクロブロックと、デブロック化後マクロブロックの両方をバッファリングする必要がある。最も低費用の消費者アプリケーションでは、デブロック化前画像及びデブロック化後画像は、メモリ使用率を低減させるために、同じバッファを共有する。MPEG4パート10を除くMPEG2またはMPEG4などのH.264以前の規格では(注記:H.264はMPEG4パート10とも称される)、後処理前のマクロブロック(例えばデブロック化前マクロブロック)のみ、他のマクロブロック予測の参照として使用される。このようなコーデックでは、フィルタリング前画像は、フィルタリング後画像と同じバッファを共有し得ない。処理後、画像は、ROIパラメータ727を使用して、リサンプリング726される。高品質ROIを有するアップサンプリングされた画像728が生成され、表示のために出力画像バッファに格納され得る。
【0073】
従って、H.264では、ピクセル復号化後、復号化セクション719は、復号化画像バッファ725に保存される。その後、アップサンプリング726の前に、復号化画像バッファ725内の復号化セクション719は、後処理されたセクション724に置き換えられる。H.264ではない場合は、復号化器は、復号化画像バッファ725に復号化セクション719のみを保存する。アップサンプリング726は、表示時に行われ、アップサンプリングされた出力728は、復号化画像バッファ725と同じバッファを共有し得ない。符号化器/復号化器プログラムに関する情報は、公開出願第2018/0007362号を参照することができ、その内容は参照により組み込まれるものとする。
【0074】
ROI検出
視線追跡としても知られている眼追跡には、多数の技法が存在する。視線追跡及び選択的レンダリング圧縮の技法は、公開出願第2017/0285736号に記載されており、その内容は参照により本明細書に組み込まれるものとする。これらの技法のうちのいくつかは、ユーザの眼の瞳孔の向きから、ユーザの視線方向を特定する。いくつかの既知の視線追跡技法は、1つ以上の光源から光を放射することにより眼を照らして、放射された光の角膜からの反射をセンサにより検出することを含む。通常、これは、赤外領域内の不可視光源を使用して、照明された眼の画像データ(例えば画像または映像)を赤外線感知カメラにより取り込むことで達成される。次に、画像処理アルゴリズムを使用して画像データを分析し、視線方向が特定される。
【0075】
一般に、眼追跡画像分析は、眼からの光の反射のされ方に特有の特性を利用して、画像から視線方向を特定する。例えば、画像を分析して、画像データ内の角膜反射に基づいて眼の位置が特定され得、画像をさらに分析して、画像内の瞳孔の相対的位置に基づいて視線方向が特定され得る。
【0076】
瞳孔の位置に基づいて視線方向を特定する2つの一般的な視線追跡技法として、明瞳孔追跡法と暗瞳孔追跡法が知られている。明瞳孔追跡法は、カメラの光軸の略直線上に存在する光源で眼を照明することを含み、これにより、放出された光は、網膜に反射され、瞳孔を通してカメラに返される。瞳孔は、従来のフラッシュ撮影中に画像に生じる赤目効果と同様に、瞳孔の位置に識別可能な明るいスポットとして画像に現れる。この視線追跡方法では、瞳孔と虹彩とのコントラストが十分ではない場合、瞳孔自体からの明るい反射は、システムが瞳孔の位置を特定するのに役立つ。
【0077】
暗瞳孔追跡法は、カメラの光軸の略直線上外に存在する光源で照らすことを含み、これにより、瞳孔を通して向けられる光は、カメラの光軸から離れるように反射され、その結果、画像内の瞳孔の位置に、識別可能な暗いスポットが生じる。代替的な暗瞳孔追跡システムでは、眼に向けられた赤外光源及びカメラにより、角膜反射を調べることができる。このようなカメラベースのシステムは、瞳孔の位置及び角膜反射を追跡し、深度の異なる反射により視差が得られ、精度が向上する。
【0078】
図8Aは、本開示の状況で使用され得る暗瞳孔追跡システム800の例を示す。視線追跡システムは、可視画像が提示される表示画面801に対するユーザの眼Eの向きを追跡する。
図8Aの例示的なシステムでは表示画面が使用されているが、特定の代替的な実施形態は、ユーザの眼に直接画像を投影することができる画像投影システムを利用し得る。これらの実施形態では、ユーザの眼に投影される画像と相対的に、ユーザの眼Eが追跡される。
図8Aの実施例では、眼Eは、可変虹彩Iを通して画面801から光を集め、水晶体Lが網膜Rに画像を投影する。虹彩の開口部は、瞳孔として知られている。筋肉は、脳からの神経インパルスに応じて、眼Eの回転を制御する。上瞼の筋肉ULM及び下瞼の筋肉LLMは、他の神経インパルスに応じて、上瞼UL及び下瞼LLを、それぞれ制御する。
【0079】
網膜R上の感光性細胞は、視神経ONを介してユーザの脳(図示せず)へ送られる電気インパルスを生成する。脳の視覚野は、インパルスを解釈する。網膜Rの全部分が、同等の感光性を有するわけではない。具体的には、感光性細胞は、中心窩として知られている領域に集中している。
【0080】
示される画像追跡システムは、1つ以上の赤外光源802、例えば眼Eへ不可視光(例えば赤外光)を向ける発光ダイオード(LED)を含む。不可視光の一部は眼の角膜Cに反射し、一部は虹彩に反射する。反射した不可視光は、波長選択鏡806により、好適なセンサ804(例えば赤外線カメラ)へ向けられる。鏡は、画面801からの可視光は通すが、眼から反射された不可視光は反射する。
【0081】
センサ804は、画像センサ、例えば、瞳孔の相対的位置から視線方向GDを特定するために分析され得る眼Eの画像を生成することができるデジタルカメラであることが好ましい。この画像は、ローカルプロセッサ820により生成され得る、または取得された視線追跡データをリモートコンピューティングデバイス860に送信することにより生成され得る。ローカルプロセッサ820は、例えばシングルコア、デュアルコア、クアッドコア、マルチコア、プロセッサ-コプロセッサ、及びセルプロセッサなどの周知のアーキテクチャに従って構成され得る。画像追跡データは、センサ804とリモートコンピューティングデバイス860との間で、有線接続(図示せず)を介して、または眼追跡デバイス810に含まれる無線送受信器825と、リモートコンピューティングデバイス860に含まれる第2の無線送受信器826との間の無線により、送信され得る。無線送受信器は、ローカルエリアネットワーク(LAN)またはパーソナルエリアネットワーク(PAN)を、好適なネットワークプロトコル、例えばPANの場合はブルートゥース(登録商標)を介して、実施するように構成され得る。
【0082】
視線追跡システム800はまた、上部センサ808と、下部センサ809とを含み、これらは、例えば眼Eの上と下にそれぞれ配置されるように構成される。センサ808及び809は、独立した構成要素であってもよく、あるいはユーザの頭部に装着されるコンポーネント810の一部であってもよく、コンポーネント810は、センサ804、ローカルプロセッサ820、または後述される慣性センサ815の任意の組み合わせを含み得るが、これらに限定されない。
図8Aに示される例示的なシステムでは、センサ808及び809は、眼Eを取り囲む領域から、神経系の電気インパルス並びに/あるいは筋肉系の動き及び/または振動に関するデータを収集することが可能である。このデータには、例えば、上部センサ808及び下部センサ809により監視される眼Eを取り囲む筋肉及び/または神経の電気生理学的情報及び/または振動情報が含まれ得る。センサ808及び809により収集される電気生理学的情報には、例えば、脳波記録(EEG)、筋電図(EMG)、または眼Eを取り囲む領域(複数可)の神経機能の結果として収集される誘発電位情報が含まれ得る。センサ808及び809はまた、例えば、眼Eを取り囲む筋肉の筋肉振動または痙攣を検出した結果として、筋音図または表面筋電図情報を収集することも可能であり得る。センサ808はまた、乗り物酔い反応に関連した情報を収集することも可能であり得、これには、例えば、心拍数データ、心電図(ECG)、または電気皮膚反応データが含まれる。センサ808及び809により収集されたデータは、画像追跡データと共に、前述のようにローカルプロセッサ820及び/またはリモートコンピューティングデバイス860に伝送され得る。
【0083】
視線追跡システム800はまた、ユーザの頭部を追跡することも可能であり得る。頭部追跡は、ユーザの頭部の位置、動き、向き、または向きの変化に応じて、信号を生成することが可能な慣性センサ815により実行され得る。このデータは、ローカルプロセッサ820に送信され得、及び/またはリモートコンピューティングデバイス860に送信され得る。慣性センサ815は、独立した構成要素であってもよく、あるいはユーザの頭部に装着されるコンポーネント810の一部であってもよく、コンポーネント810は、センサ804、ローカルプロセッサ820、または前述のセンサ808及び809の任意の組み合わせを含み得るが、これらに限定されない。代替的な実施形態では、頭部追跡は、コンポーネント810上の光源の追跡を介して実行され得る。視線追跡システム800はまた、1つ以上のメモリユニット877(例えばランダムアクセスメモリ(RAM)、動的ランダムアクセスメモリ(DRAM)、及び読み出し専用メモリ(ROM)など)を含み得る。
【0084】
ローカルプロセッサ820は、ネットワーク接続825から符号化されたデータを受信するように構成され得る。ローカルプロセッサ820は、1つ以上のメモリユニット877に動作可能に接続され、メモリユニット877に格納されている1つ以上のプログラムを実行するように構成され得る。このようなプログラムは実行されると、リモートコンピューティングデバイス860からの映像ストリームを復号化し、ディスプレイ801上に表示するために忠実度の高いROIを有する映像を生成することを、システムに実行させ得る。限定ではなく例として、プログラムには、ブレンダ/変換空間構成プログラム879、アップサンプラ/ダウンサンプラプログラム876、及び復号化器プログラム880が含まれ得る。
【0085】
リモートコンピューティングデバイス860は、本開示の態様に従って視線追跡を実行し照明条件を特定するために、眼追跡デバイス810及び表示画面801と連携して動作するように構成され得る。コンピューティングデバイス860は、例えばシングルコア、デュアルコア、クアッドコア、マルチコア、プロセッサ-コプロセッサ、及びセルプロセッサなどの周知のアーキテクチャに従って構成され得る1つ以上のプロセッサユニット870を含み得る。コンピューティングデバイス860はまた、1つ以上のメモリユニット872(例えばランダムアクセスメモリ(RAM)、動的ランダムアクセスメモリ(DRAM)、及び読み出し専用メモリ(ROM)など)を含み得る。
【0086】
プロセッサユニット870は、1つ以上のプログラムを実行し得、1つ以上のプログラムの部分は、メモリ872に格納され得、プロセッサ870は、例えばデータバス878を介してメモリにアクセスすることにより、メモリ872に動作可能に接続され得る。プログラムは、視線追跡を実行し、システム800の照明条件を特定するように構成され得る。限定ではなく例として、プログラムには、例えば前述のように、実行されると、システム800にユーザの視線を追跡させ得る視線追跡プログラム873と、映像フレームストリームを、表示デバイスにより提示可能な形式に変換する色空間変換プログラム(CSC)874と、符号化器プログラム875と、実行されると、ディスプレイに送信するための映像フレームのダウンサンプリングされたセクション及び選択された元の解像度のセクションを有する映像フレームのストリームを符号化し、符号化された映像フレームは復号化され、ダウンサンプリングされたセクションは表示前にアップサンプリングされる、映像ストリームアップサンプラ/ダウンサンプラプログラム876と、が含まれ得る。
【0087】
限定ではなく例として、視線追跡プログラム873には、光源802から光が放出されている間に、画像センサ804で集められた眼追跡データ、並びに上部センサ808及び下部センサ809からそれぞれ集められた眼球動作データに基づいて、システム800の1つ以上の視線追跡パラメータを特定することを、システム800に実行させるプロセッサ実行可能命令が含まれ得る。視線追跡プログラム873にはまた、照明条件の変化の存在を検出するために、画像センサ804で集められた画像を分析する命令が含まれ得る。
【0088】
図8Bに示されるように、ユーザの頭部Hを示す画像881を分析して、瞳孔の相対的位置から視線方向GDが特定され得る。例えば、画像分析により、画像内の眼Eの中心から瞳孔Pまでの2次元オフセットが特定され得る。中心に対する瞳孔の位置は、眼球の既知のサイズ及び形状に基づいた三次元ベクトルの直接的な幾何学的計算により、画面801に対する視線方向に変換され得る。特定された視線方向GDは、眼Eが画面801に対して動く時の眼Eの回転及び加速を示すことが可能である。
【0089】
図8Bにも示されるように、画像はまた、角膜C及び水晶体Lからの不可視光の反射887及び888もそれぞれ含み得る。角膜及び水晶体は深度が異なることから、反射間の視差及び屈折率を使用して、視線方向GD特定の精度を向上させることができる。このタイプの眼追跡システムの例には、デュアルプルキニエ追跡器があり、角膜反射は、第1のプルキニエ画像であり、水晶体反射は、第4のプルキニエ画像である。ユーザが眼鏡をかけている場合、ユーザの眼鏡893からの反射890も存在し得る。
【0090】
現在のHMDパネルは、製造業者に応じて90〜120ヘルツ(Hz)の一定レートでリフレッシュを行う。リフレッシュレートが高いと、パネルの消費電力と、フレーム更新を送信するための送信媒体の帯域幅要件も増加する。中心窩視界及びスケーリングされた符号化による視線追跡デバイスに関する情報は、同時係属中の出願第15/840,893号を参照することができ、当該出願の内容は、参照により組み込まれるものとする。
【0091】
実施態様
図9は、本開示の様々な態様をさらに説明するための例示的なシステム900を示す。システム900は、眼追跡表示システム901に接続されたコンピューティングデバイス960を含み得る。眼追跡表示デバイス901は、本開示の態様に従って視線追跡及び/または眼追跡の較正を行うために、ローカルプロセッサ903と、ローカルメモリ917と、周知のサポート回路905と、ネットワークインターフェース916と、眼追跡デバイス902と、表示デバイス904とを備える。表示デバイス904は、陰極線管(CRT)、フラットパネルスクリーン、タッチスクリーン、またはテキスト、数字、グラフィックシンボル、もしくは他の視覚的オブジェクトを表示する他のデバイスの形態であり得る。ローカルプロセッサ903は、例えばシングルコア、デュアルコア、クアッドコア、マルチコア、プロセッサ-コプロセッサ、及びセルプロセッサなどの周知のアーキテクチャに従って構成され得る。眼追跡表示システム901はまた、1つ以上のメモリユニット917(例えばランダムアクセスメモリ(RAM)、動的ランダムアクセスメモリ(DRAM)、及び読み出し専用メモリ(ROM)など)を含み得る。
【0092】
ローカルプロセッサユニット903は、1つ以上のプログラムを実行し得、1つ以上のプログラムの部分は、メモリ917に格納され得、プロセッサ903は、例えばデータバス918を介してメモリにアクセスすることにより、メモリ917に動作可能に接続され得る。プログラムは、眼追跡表示システム901のために、忠実度の高いROIを有する映像を作成するように構成され得る。限定ではなく例として、プログラムには、CSC913、映像アップサンプラ/ダウンサンプラプログラム914、及び復号化器プログラム915が含まれ得る。限定ではなく例として、CSC913には、前述の方法に従って、アップサンプラ/ダウンサンプラプログラム914から受信したアップサンプリングされた映像ストリームをフォーマット化して、表示デバイス904に表示するために忠実度の高いROIを有する映像を作成することを、システム901に実行させるプロセッサ実行可能命令が含まれ得る。サンプラ914には、実行されると、復号化器915から受信された映像ストリームをアップサンプリングすること、または映像ストリーム内の映像フレームのセクションをアップサンプリングすることを、ローカルプロセッサに実行させる命令が含まれ得る。復号化器プログラム915には、ローカルプロセッサにより実行されると、ネットワークインターフェース916からの符号化映像ストリームデータを受信し復号化することを、システムに実行させる命令が含まれ得る。あるいは、復号化器プログラムは、例えばメインバス918によりローカルプロセッサに通信可能に接続された個々の論理ユニット(図示せず)として実施され得る。本開示の態様によれば、眼追跡表示デバイス901は、組み込みシステム、携帯電話、パーソナルコンピュータ、タブレットコンピュータ、ポータブルゲームデバイス、ワークステーション、ゲーム機、及びヘッドマウントディスプレイデバイスなどであり得る。さらに、コンピューティングデバイス960も、組み込みシステム、携帯電話、パーソナルコンピュータ、タブレットコンピュータ、ポータブルゲームデバイス、ワークステーション、及びゲーム機などであり得る。
【0093】
眼追跡表示デバイス901は、コンピューティングデバイス960に接続され得、
図8Aの光源802に類似する動的光源910を含み得る。限定ではなく例として、光源910は、1つ以上の赤外線LEDの形態の不可視光源であり得、これは、センサ912により眼追跡データを集めるために、ユーザの眼を照明するように構成され得る。眼追跡デバイスのセンサ912は、光源910から放出される光を感知する検出器であり得る。例えば、センサ912は、赤外線カメラなどの光源を感知するカメラであり得、カメラ912は、光源910により照明される領域の画像を取り込むことができるように、眼追跡デバイス及び光源に対し配置され得る。
【0094】
コンピューティングデバイス960は、本開示の態様に従って視線追跡を実行し照明条件を特定するために、眼追跡表示システム901と連携して動作するように構成され得る。コンピューティングデバイス960は、例えばシングルコア、デュアルコア、クアッドコア、マルチコア、プロセッサ-コプロセッサ、及びセルプロセッサなどの周知のアーキテクチャに従って構成され得る1つ以上のプロセッサユニット970を含み得る。コンピューティングデバイス960はまた、1つ以上のメモリユニット972(例えばランダムアクセスメモリ(RAM)、動的ランダムアクセスメモリ(DRAM)、及び読み出し専用メモリ(ROM)など)を含み得る。
【0095】
プロセッサユニット970は、1つ以上のプログラムを実行し得、1つ以上のプログラムの部分は、メモリ972に格納され得、プロセッサ970は、例えばデータバス976を介してメモリにアクセスすることにより、メモリ972に動作可能に接続され得る。プログラムは、視線追跡を実行し、システム900の照明条件を特定するように構成され得る。限定ではなく例として、プログラムには、実行されるとシステム900にユーザの視線を追跡させ得る視線追跡プログラム973が含まれ得る。限定ではなく例として、視線追跡プログラム973には、動的光源910から光が放出されている間にカメラ912で集められた眼追跡データから、システム900の1つ以上の視線追跡パラメータを特定することを、システム900に実行させるプロセッサ実行可能命令が含まれ得る。視線追跡プログラム973にはまた、例えば
図8Bに関して前述されたように、カメラ912で集められた画像を分析する命令が含まれ得る。あるいは、視線追跡プログラムは、例えばメインバス976によりローカルプロセッサに通信可能に接続された個々の論理ユニット(図示せず)として実施され得る。
【0096】
いくつかの実施態様では、視線追跡プログラム973は、視線追跡情報を分析して、ユーザの視覚が、例えば瞬きの間など不明瞭になる期間、または例えばサッカードの間など機能しない期間を予測し得る。このような期間の開始の予測を用いることで、不要なレンダリング計算、電力消費、及びネットワーク帯域使用を削減することができる。このような技法の例は、2016年3月31日に出願され、本発明の譲受人に譲渡された米国特許出願第15/086,953号に説明され、当該出願の内容全体が、参照により本明細書に組み込まれるものとする。
【0097】
コンピューティングデバイス960及び眼追跡表示デバイス901はまた、入力/出力(I/O)回路979、906、電源(P/S)980、909、クロック(CLK)981、908、及びキャッシュ982、907などの周知のサポート回路978、905を含み得、これらは、例えばバス976、918を介して、システムの他の構成要素とそれぞれ通信し得る。コンピューティングデバイス960は、ネットワークインターフェース990を含み得、ネットワークインターフェース990は、眼追跡表示デバイス901上の同様に構成されたネットワークインターフェース916との通信を促進する。プロセッサユニット970、903、及びネットワークインターフェース990、916は、ローカルエリアネットワーク(LAN)またはパーソナルエリアネットワーク(PAN)を、好適なネットワークプロトコル、例えばPANの場合はブルートゥース(登録商標)を介して、実施するように構成され得る。コンピューティングデバイス960は、任意で、ディスクドライブ、CD−ROMドライブ、テープドライブ、またはフラッシュメモリなどの大容量記憶装置984を含み得、大容量記憶装置984は、プログラム及び/またはデータを格納し得る。コンピューティングデバイス960はまた、システム900とユーザとの対話を促進するためのユーザインターフェース988を含み得る。ユーザインターフェース988は、キーボード、マウス、ライトペン、ゲームコントロールパッド、タッチインターフェース、または他のデバイスを含み得る。代替的な実施形態では、ユーザインターフェース988はまた、表示画面を含み得、コンピューティングデバイス960は、符号化器/復号化器(コーデック)975に、ネットワークからのデータパケット999内の符号化された映像ストリームを復号化させ得、アップサンプラ/ダウンサンプラプログラム974は、前述のように、ダウンサンプリングされた映像ストリームを、忠実度の高いROIを有する映像ストリームにアップサンプリングし得、CSCプログラム971は、アップサンプリングされた映像ストリームを使用して、ユーザインターフェース988に接続された表示画面上に表示するように構成し得る。例えば、CSCは、入力画像を、符号化する前に、ある色形式から別の色形式に(例えばRGBからYUVに、またはその逆に)変換し得る。この実施形態では、頭部追跡器は存在し得ず、ROI位置は、前述の予測方法により特定され得る。別の実施形態では、頭部追跡器は存在し得るが、表示画面は、追跡デバイスに接続され得ない。別の実施形態では、符号化器は、符号化された映像ストリームデータ及びROIパラメータを、ネットワークインターフェース916を介して送信し得、これは、復号化器プログラム915により受信され処理される。
【0098】
システム900はまた、プロセッサユニット970により実行されるプログラムとインタラクトするために、眼追跡表示デバイス901とインターフェースするコントローラ(図示せず)を含み得る。システム900はまた、ビデオゲームまたは映像ストリームなどの1つ以上の一般的なコンピュータアプリケーション(図示せず)を実行し得、これは視線追跡の態様を組み込み得、視線追跡は、追跡デバイス902により感知され、追跡プログラム973、CSC976、映像フレームデータを表示デバイスが提示できる形式に変換するアップサンプラ/ダウンサンプラ974、及び映像ストリーム符号化器975により処理される。
【0099】
コンピューティングデバイス960は、Wi−Fi、イーサネット(登録商標)ポート、または他の通信方法の使用を可能にするように構成されたネットワークインターフェース990を含み得る。ネットワークインターフェース990は、電気通信ネットワークを介した通信を促進するために、好適なハードウェア、ソフトウェア、ファームウェア、またはこれらの任意の組み合わせを組み込み得る。ネットワークインターフェース990は、ローカルエリアネットワーク及びインターネットなどの広域ネットワークを介して有線または無線通信を実施するように構成され得る。ネットワークインターフェース990はまた、眼追跡デバイス902及び表示デバイス904との無線通信を促進する前述の無線送受信器を含み得る。コンピューティングデバイス960は、ネットワークを通じ1つ以上のデータパケット999を介して、データ及び/またはファイル要求を送信及び受信し得る。
【0100】
上記は、本発明の好ましい実施形態の完全な説明であるが、様々な代替物、変更物、及び均等物を使用することが可能である。従って、本発明の範囲は、前述の説明を参照して特定されるべきではなく、代わりに、添付の特許請求の範囲とその均等物の全範囲とを併せて参照して特定されるべきである。好ましいか否かに関わらず本明細書に説明されるいずれの特徴も、好ましいか否かに関わらず本明細書に説明されるいずれの他の特徴とも、組み合わされてよい。下記の特許請求の範囲では、不定冠詞「A」または「An」は、特に別段の明記がない限り、冠詞の後に続く1つ以上の名詞の数量を指す。添付の特許請求の範囲は、所与の請求項で語句「〜するための手段(means for)」を使用してミーンズプラスファンクションの限定が明確に列挙されない限り、ミーンズプラスファンクションの限定を含むものとして解釈されるべきではない。