仮想現実(VR)及び拡張現実(AR)システムは、通常、ヘッドマウントディスプレイ(HMD)装置を介してVR又はARコンテンツをユーザに表示する場合に、「臨場感」に依拠する。この臨場感を提供する上での重要な要素の1つは、VR又はARコンテンツを含むピクチャのコーディング(符号化)、送信、デコーディング(復号化)及び表示に伴うレイテンシ又はジッタである。したがって、符号化されたビデオストリームを表すビットストリームの送信におけるレイテンシ又はジッタを低減することにより、ビデオ処理パイプラインにおける全体的なレイテンシ及びジッタの対応する低減がもたらされ、VR及びARアプリケーションにおける「臨場感」が向上し得る。この目的のために、例えば、ピクチャがレンダリングされた透視図を表す仮想カメラのコンテンツ又は他のモーションを表示するのに用いられるHMD装置のモーション等に起因する、表示コンテンツに存在するグローバルモーションの要因となる「モーション適応型イントラリフレッシュモード」を使用するビデオ処理システムについて以下に説明する。少なくとも1つの実施形態では、ビデオ処理システムは、ピクチャ又はピクチャのセットに対するグローバルモーションの推定値を算出する。このグローバルモーションの推定値は、例えば、HMD装置自体のモーションセンサデータから算出されてもよいし、ピクチャ内のコンテンツのモーションや連続するピクチャ間のコンテンツのモーションの分析から算出されてもよい。
グローバルモーションの推定値が十分なグローバルモーションを表さない場合、ビデオ処理システムは、イントラリフレッシュセットのピクチャのうち連続するピクチャ間でリフレッシュ領域の位置が移動する従来のイントラリフレッシュモードを使用する。しかし、グローバルモーション推定が十分なグローバルモーションを表す場合、ビデオ処理システムは、平滑化されたビットレートを有しており、これにより送信レイテンシを低減するビットストリームの結果として得られる部分を提供するように、このグローバルモーションの原因となるイントラリフレッシュモードを実行する。このモーション適応型イントラリフレッシュモードにおいて、ビデオ処理システムは、モーション適応型イントラリフレッシュモードが基本方向(すなわち、0、90、180及び270度)のみに制限され、イントラリフレッシュ符号化の際に、ピクチャが、リフレッシュ領域(すなわち、イントラ符号化された領域)を、固定又はピクチャの特定されたエッジに隣接する表示領域とする実施形態における、グローバルモーション推定方向にあるピクチャのエッジ(又はその主運動成分(primary motion component))を識別する。より詳細に説明するように、符号化されたピクチャのリフレッシュ領域を、新たなコンテンツが導入される可能性が最も高いピクチャのエッジ領域に固定することにより、イントラリフレッシュセットにおける後続のピクチャのモーションベクトル探索プロセスは、より効率的になり、したがって、平均ビットレートが改善され、ビットレートの平滑化が改善される。
説明を容易にするために、ピクチャが水平に配置された領域に分割されたイントラリフレッシュモードの実行について以下に示す。さらに、ユーザがHMD装置又は他のVR関連ディスプレイを使用するときのグローバルモーションは、通常、垂直面よりも水平面において頻繁に見られるため、以下の例における水平に配置された領域は、視点運動(perspective motion)とよく一致する。しかし、本明細書に記載されているものと同じ技術を、ピクチャ内で垂直に配置された領域を使用する実施態様においても適用することができ、さらに、ピクチャを領域に論理的に分割することによって、状況によっては、ピクチャの水平配置領域と、他の画像の垂直配置領域と、を切り替えることができる。
図1は、いくつかの実施形態によるビデオ処理システム100においてイントラリフレッシュ符号化を行うためのデュアルモードアプローチを示す図である。示された例において、ビデオ処理システム100は、ユーザの頭部104に装着されるヘッドマウントディスプレイ(HMD)装置102によって部分的に実装される。ビデオ処理システム100は、ピクチャをVR又はARビデオストリームにレンダリング及び符号化するビデオ符号化サブシステム(図1には示されていない)を含み、得られた符号化ビットストリームがHMD装置102に送信される。HMD装置102は、符号化されたビットストリームを復号化して、HMD装置102で表示されるピクチャの表現を復元する。
HMD装置102がユーザの頭部104に装着されると、HMD装置102は、X軸、Y軸又はZ軸(すなわち、ロール、ヨー、ピッチ)のうち1つ以上の周囲の回転と、X方向、Y方向又はZ方向のうち1つ以上の平行移動とを含む頻繁且つ大幅なモーションを受ける可能性がある。通常、ビデオ処理システム100は、HMD装置102の現在の姿勢を表す仮想カメラの視点からピクチャコンテンツを含むようにピクチャをレンダリングし、ユーザが動き回るのに伴ってHMD装置102の姿勢が変化するのにつれて仮想カメラの視点を更新することによって、この動き(モーション)を、ユーザに提示されるビデオコンテンツに組み込む。HMD装置102のモーションと、レンダリングされた表示コンテンツへのこのモーションの対応する組み込みとは、カメラ運動(この場合、「仮想」カメラの運動は、ユーザの頭部104の姿勢、したがってユーザの視点を表す)によって引き起こされるコンテンツ内に存在する広域の運動又はモーションである、一般に「グローバルモーション」と呼ばれるものをもたらす。このグローバルモーションの結果は、連続したピクチャに亘って、「新たな」コンテンツ(すなわち、前のピクチャに存在しないコンテンツ)が表示パネルの一方の端部又は側面に出現しやすくなり、「古い」コンテンツが他方の端部又は側面において表示パネルから離れるように動く可能性がある。説明のために、ユーザの頭部104が左から右へ回転する場合、この動作中に提示されるピクチャのシーケンスは、(ユーザの視点が右に移動するにつれて)右から入る新たなコンテンツと、左側の視野外にスライドする、既に表示されているコンテンツと、を示している。逆に、ユーザの頭部が右から左に回転する場合、この動作中に提示されるピクチャのシーケンスは、(ユーザの視点が左に移動するにつれて)左から入る新たなコンテンツと、右側の視野外にスライドする、既に表示されているコンテンツと、を示している。ユーザの頭部104を上下に回転させることも同様に、(ユーザが上を向いているか又は下を向いているかによって)上端又は下端における新たなコンテンツのシフト又はスライドを示し、反対側の端部における古いコンテンツの外部へのシフト又はスライドを示す。
従来のイントラリフレッシュ符号化スキームにおいて、グローバルモーションを組み込むピクチャのレンダリングは、通常、得られた符号化ビットストリームの送信において、符号化の効率の低下、したがってレイテンシの増加につながる。説明のために、図1は、4つのピクチャのシーケンスに関する2つの従来のイントラリフレッシュ符号化シナリオ、すなわち、最悪の場合のシナリオ112と、最良の場合のシナリオ114と、を示している。両方のシナリオについて、4つのピクチャのセットに対するグローバルモーション推定が、左から右への水平方向の(すなわち、ユーザの視点に対して右方向を有する)グローバルモーションベクトル106(「MVG」とも呼ばれる)として表されると想定する。なお、ビデオコーデックのコンテキストにおける「モーションベクトル」という用語は、一般に、現在のピクチャ内のブロックから参照ピクチャ内の一致するブロックを向くベクトルを指すが、「グローバルモーションベクトル」という用語は、本明細書で使用されるように、グローバルモーションにおいて表される仮想カメラのモーションの方向を指している。図1について、最悪の場合のシナリオ112は、ピクチャ間のリフレッシュ領域のシフトパターンがグローバルモーションベクトルMVGの方向と同じであるシナリオを表しており、最良の場合のシナリオ114は、リフレッシュ領域のシフト方向がグローバルモーションベクトルMVGの方向と反対であるシナリオを表している。
上述したように、従来のイントラリフレッシュ符号化処理では、イントラリフレッシュセットの連続したピクチャの各々に対するリフレッシュ領域の位置は、イントラリフレッシュセットの前の画像内のリフレッシュ領域の位置に対して特定のシフト方向又はパターンで空間的にシフトする。すなわち、従来のイントラリフレッシュモードでは、ピクチャ内のリフレッシュ領域の位置は、イントラリフレッシュセット又はサイクル内のそのピクチャの位置のみに基づいている。説明のために、4つのピクチャのイントラリフレッシュセットの場合、第1ピクチャのリフレッシュ領域は、一方の端部(エッジ)に隣接しており、シフト方向において第1ピクチャを4分割したうちの1番目を占めることができ、当該セットの第2ピクチャのリフレッシュ領域は、シフト方向において第2ピクチャを4分割したうちの2番目を占めることができ、当該セットの第3ピクチャのリフレッシュ領域は、シフト方向において第3ピクチャを4分割したうちの3番目を占めることができ、当該セットの第4ピクチャのリフレッシュ領域は、シフト方向において第4ピクチャを4分割したうちの最後(4番目)を占めることができる。各ピクチャの他の領域は、「クリーン」又は「ダーティ」の何れかに分類される。符号化ピクチャの各領域の、リフレッシュ(R)領域、クリーン(C)領域又はダーティ(D)領域としての分類は、領域を符号化及び復号化することができる方法を表す。イントラ符号化されているリフレッシュ領域は、復号化される他のピクチャ又は領域を参照する必要がない。しかしながら、リフレッシュ領域の符号化には最も多くのビットが必要になるため、リフレッシュ領域の送信には、3つの領域のうち最大のビットレートが必要になる。ピクチャのクリーン領域を符号化するときのモーションベクトル探索範囲は、イントラリフレッシュされた領域へのインターピクチャエラーの伝搬を回避するために、前のピクチャのリフレッシュ領域及びクリーン領域(もしあれば)のみに制限される。対照的に、ピクチャのダーティ領域を符号化するときのモーションベクトル探索範囲は制限されず(フリー)、前のピクチャの全ての領域を包含することができる。したがって、前のピクチャ内の一致するブロックは、前のピクチャのダーティ領域にあり、したがって、現在のピクチャのクリーン領域の評価対象であるブロックのモーションベクトル探索範囲外になる可能性があるので、評価対象であるブロックは、その後イントラ符号化又はインター符号化されるが、ブロックマッチングが失敗又は最適ではないので、イントラ符号化された場合と同様のビット数を有する。しかし、この同じブロックが現在のピクチャのダーティ領域に位置する場合、一致するブロックを参照することは、前のピクチャにおいて制限又は限定もなく、したがって、モーションベクトル及び残差としてインター符号化される。このように、ピクチャのダーティ領域を符号化するためのビットレートは、通常、クリーン領域を符号化するためのビットレート以下である。すなわち、リフレッシュ領域を符号化するために必要なビットレベル(すなわち、ビット数)を「I」とし、クリーン又は「制限された」領域を符号化するために必要なビットレベルを「Pr」とし、ダーティ又は「フリー」領域を符号化するために必要なビットレベルを「Pf」として用いると、これらのビットレベル間の関係は、概して、I>>Pr>=Pfとして要約される。
(初期サイクル以外の典型的なイントラリフレッシュのサイクル全体を表す)最悪の場合のシナリオ112において、イントラリフレッシュセットは、ピクチャ1〜4で示された4つのピクチャを備える。このセットには4つのピクチャが存在するため、各ピクチャは、図1の例において水平に配置された領域として示されている4つの領域に論理的に区分される。上述したように、最悪の場合のシナリオ112では、(文字「R」で示される)リフレッシュ領域のシフトパターンがピクチャ間で左から右になるように、イントラリフレッシュ符号化モードが設定される。したがって、ピクチャ1を符号化する場合、左端の領域は、リフレッシュ領域として完全にイントラ符号化される。ピクチャ1の残りの3つの領域は、現在リフレッシュされておらず、以前リフレッシュされたイントラリフレッシュセットの前のピクチャ内の領域に空間的に対応してもいない領域を表しているので、ピクチャ1の残りの領域は、(文字「D」で示される)ダーティ領域とみなされ、したがって、このようにインター符号化される。ピクチャ2を符号化する場合、イントラリフレッシュの位置が中央左側の領域まで右にシフトし、これにより、中央左側の領域は、リフレッシュ領域として完全にイントラ符号化される。ピクチャ2の左端の領域は、ピクチャ1のリフレッシュ領域に対応する(すなわち、ピクチャ2の左端の領域は、リフレッシュされた前のピクチャの領域に対応する)ため、(文字「C」で示される)クリーン領域として識別され、インター符号化されるが、ピクチャ2の中央右側の領域及び右端の領域は、ピクチャ1内のリフレッシュされた領域へのブロック検索に限定されないため、ダーティ領域として識別され、インター符号化される。ピクチャ3を符号化する場合、ピクチャ1及びピクチャ2に対してリフレッシュ領域が再び右にシフトするので、ピクチャ3の中央右側の領域がピクチャ3のリフレッシュ領域として完全にイントラ符号化されるが、左端の領域及び中央左側の領域がクリーン領域としてインター符号化され、右端の領域はダーティ領域としてインター符号化される。リフレッシュ領域がピクチャ1、2、3に対して再び右にシフトすることによって、ピクチャ4の右端の領域がリフレッシュ領域として完全にイントラ符号化される。ピクチャ4の左端、中央左側及び中央右側の領域は、ピクチャ1〜3においてリフレッシュされた領域に対応しており、したがってクリーン領域としてインター符号化され、マークされる。
最悪の場合のシナリオ112のピクチャ1〜4にも示されるように、ピクチャ1〜4に対応する時間ピクチャに対するHMD装置102のグローバルモーションは、(図1において跳躍するジャガーのアイコンによって表される)新たなコンテンツがピクチャの右端からシフトインされ、古いコンテンツがピクチャの左端からシフトアウトされる。この新たなコンテンツの右から左への方向(左から右へのグローバルモーションから得られる)は、ピクチャ1〜4におけるリフレッシュ領域のシフト方向と反対であり、したがって、非効率的な符号化をもたらす。説明のために、ピクチャ1の場合、リフレッシュ領域Rはイントラ符号化される。しかしながら、ピクチャ1の右端の領域は、全て新たなコンテンツを有するので、その符号化効率は、完全にイントラ符号化された場合と基本的に同じであり、イントラ符号化される2つの領域がビットレベルIを有し、2つのダーティ領域がビットレベルPfを有することになる。ピクチャ2において、中央左側の領域は、リフレッシュ領域としてイントラ符号化される。しかし、全て新たなコンテンツが右端の領域に再び取り込まれたため、ピクチャ2の右端の領域もイントラ符号化され、2つの領域がビットレベルIでイントラ符号化され、クリーン領域がビットレベルPrでイントラ符号化され、ダーティ領域がビットレベルPfでイントラ符号化される。ピクチャ3を符号化すると、状況がさらに悪化する。このピクチャでは、中央右側の領域はリフレッシュ領域として符号化され、したがってビットレベルIを必要とする。ピクチャ1及びピクチャ2と同様に、グローバルモーション(MVG)によって新たなコンテンツが右側にシフトしているため、ピクチャ3の右端の領域もビットレベルIでイントラ符号でなければならない。さらに、ピクチャ3の中央左側の領域は、ピクチャ2のリフレッシュ領域ピクチャ及びクリーン領域には存在しないコンテンツから実質的に構成されているため、ピクチャ3の中央左側の領域は、同様に、ビットレベルIで主にイントラ符号化されなければならない。ピクチャ3の左端の領域は、前のピクチャのダーティ領域からの新たなコンテンツを含まないので、ビットレベルPrでインター符号化される。ピクチャ4の場合、ピクチャ4のリフレッシュ領域は、グローバルモーションによって全て新たなコンテンツが取り込まれている領域に一致し、他の領域は、前の画像のクリーン領域に既に存在するコンテンツを含むので、ピクチャ4のリフレッシュ領域を除く全てがビットレベルPrでインター符号化されるのが可能になることから、符号化に必要なビット数が軽くなる。このように、最悪の場合のシナリオ112においてピクチャ1〜4を符号化すると、2つのピクチャの各々が、ビットレベルI領域で符号化される2つの領域を有し、1つのピクチャがビットレベルIで符号化される3つの領域を有することになり、したがって、大幅に変化するビットレートで符号化されたビットストリーム部がもたらされる。
最良の場合のシナリオ114のためのイントラリフレッシュセットは、同様に4つの水平に配置された領域に論理的に区分された、ピクチャ1、ピクチャ2、ピクチャ3及びピクチャ4として表される4つのピクチャを含む。さらに、最良の場合のシナリオ114では、従来のイントラリフレッシュ符号化モードは、リフレッシュ領域がピクチャ間で右から左にシフトするように設定される。したがって、ピクチャ1を符号化する場合、右端の領域がリフレッシュ領域としてイントラ符号化され、ピクチャ2を符号化する場合、中央右側の領域がリフレッシュ領域としてイントラ符号化され、ピクチャ3を符号化する場合、中央左側の領域がリフレッシュ領域としてイントラ符号化され、ピクチャ4を符号化する場合、左端の領域がリフレッシュ領域としてイントラ符号化される。しかし、最悪の場合のシナリオ112とは異なり、最良の場合のシナリオ114では、リフレッシュ領域のシフト方向は、新たなコンテンツが表示されるために取り込まれる方向に従う。ピクチャ1〜4の各々の領域を符号化するために結果として得られるビットレベルが図1に示されている。したがって、図示するように、最良の場合のシナリオ114は、ビットレベルIで符号化された2つの領域をそれぞれ有する3つのピクチャと、ビットレベルIで符号化された1つの領域を有する1つのピクチャと、を必要とする。したがって、最良の場合のシナリオ114は、最悪の場合のシナリオ112と比較して、4つのピクチャの符号化された表現の送信に関していくらか平滑なビットレートを示しているが、最良の場合のシナリオ114のビットレートは、かなりジッタなままであり、結果として得られる符号化された表示ストリームのレイテンシ又はジッタに悪影響を及ぼし得る。
本明細書で説明するモーション適応型イントラリフレッシュ符号化技術については、例示的なシナリオ116は、このプロセスを、シナリオ112,114に示されたのと同様の4つのピクチャセットに適用することを示している。しかしながら、リフレッシュ領域の位置がイントラリフレッシュセットの各ピクチャ間で特定の方向にシフトするシナリオ112,114によって表される従来のイントラリフレッシュ符号化処理と異なり、モーション適応型イントラリフレッシュ符号化処理は、ピクチャのリフレッシュ領域を、ピクチャに関連するグローバルモーションの方向にあるピクチャエッジに直接隣接する領域に選択する。上述したように、図1の例において、グローバルモーションは左から右であり、したがって、右端は、グローバルモーションの方向における表示の端部として識別される。さらに、この例の目的として、グローバルモーションベクトルMVGの大きさ及び方向は、4つのピクチャ全てに亘って一定である、すなわち、ピクチャ1〜4の各々が、同じグローバルモーション推定値を有すると想定される。このような想定は、グローバルモーションがビデオシーケンス内では孤立して現れ難いが、ピクチャグループ間で継続するという事実に基づいている。
右端がグローバルモーションの方向のエッジとして識別されるため、ピクチャ1〜4の各々の右端の領域(すなわち、右端に隣接する領域)が、ピクチャ毎にリフレッシュされる領域として選択される。このように、ピクチャ1〜4の各々の右端の領域には、グローバルモーションによって新たなコンテンツが取り込まれ、また、グローバルモーションを考慮して右端の領域がピクチャ1〜4の各々のリフレッシュ領域として選択されるので、ビットレベルIのリフレッシュ領域としてのピクチャ1〜4の各々の右端の領域のイントラ符号化は、リフレッシュイントラ符号化要件と、新たに取り込まれたコンテンツをイントラ符号化する必要性と、の両方を満たすように作用する。さらに、リフレッシュ領域がピクチャ間の固定位置にあり、この固定位置は新たなコンテンツが生じる場所であるため、クリーン領域は、従来のイントラリフレッシュ技術を表すシナリオ112,114におけるクリーン領域の一部をイントラ符号化する必要性と比較して、新たなコンテンツと同じ方向にピクチャを横切ってシフトし、各ピクチャのクリーン領域をインター符号化することが可能になる。得られたビットレート符号化プロファイルは、シナリオ116のピクチャ1〜4の下に示されている。示されているように、ピクチャ1〜4は、モーション適応型イントラリフレッシュ技術を使用してイントラ符号化される2つ以上の領域を必要とせず、したがって、従来の方法と比較して、結果として得られる符号化ビットストリームに対してより平滑なビットレートがもたらされる。
シナリオ116の例は、所定のピクチャの領域が等しい幅であり、特定の領域タイプのサイズがピクチャに亘って一定であると想定されているが、通常、1つ以上の要因に基づいてリフレッシュ領域のサイズを動的に調整し、次に同じイントラリフレッシュセット内の連続するピクチャのクリーン領域及びダーティ領域のサイズが変化することが有益である。特に、ピクチャのリフレッシュ領域の幅を、グローバルモーションによって当該ピクチャの対応するエッジから取り込まれた新たなコンテンツの「幅」と一致させるように選択することは、リフレッシュ領域の最適な設定をもたらし得る。例示すると、取り込まれた新たなコンテンツの幅がリフレッシュ領域の幅よりも大きい場合、その新たなコンテンツの一部は、リフレッシュ領域のイントラ符号化によってカバーされず、このため、新たなコンテンツの一部をカバーするように隣接領域の少なくとも一部がイントラ符号化される必要があることから、狭いリフレッシュ領域には利点がない。逆に、リフレッシュ領域が、グローバルモーションによってピクチャ内に取り込まれた新たなコンテンツの幅よりも広い場合、完全にイントラ符号化されたピクチャコンテンツの量は、不必要に大きくなる。さらに、1つのピクチャ内のC領域が前のピクチャ内のD領域の一部をカバーするように、C領域が拡張されてもよい。これは、前のピクチャのD領域をモーションベクトル検索に使用することができないため、C領域の符号化効率に影響を与える。このように、リフレッシュ領域の幅は、リフレッシュ領域が固定されたピクチャのエッジから新たなコンテンツが取り込まれるレートを表すグローバルモーション推定値に一致する場合に、符号化効率の最適化又は向上をもたらし得る。
図2は、ピクチャストリームのモーション適応型イントラリフレッシュ符号化の間におけるリフレッシュ領域の動的構成の一例を示す図である。図示した例において、ビデオストリームは、ピクチャ1〜6で表される6つのピクチャを有するイントラリフレッシュセットを含む。符号202は、各ピクチャに対応するグローバルモーションベクトルMVGの大きさを示している。各ピクチャに対する特定のグローバルモーションベクトルMVGは、例えば、ピクチャに対応する時間におけるHMD装置102のモーションから決定される。さらに、この例では、各ピクチャ1〜6のグローバルモーションベクトルMVGは、左から右へのモーションとなるように決定される。したがって、本明細書に記載のモーション適応型イントラリフレッシュ技術を使用して、各ピクチャ1〜6のリフレッシュ領域が、右端に隣接する領域に固定される。
ピクチャ1を符号化する場合、このピクチャの右端のリフレッシュ領域R1は、このピクチャに対して決定されたグローバルモーションの大きさに基づいて、幅がW1に設定される。さらに、ピクチャ1がこのイントラリフレッシュセットにおける第1ピクチャであるため、ピクチャ1の残りの領域はダーティ領域D1である。ピクチャ2を符号化する場合、このピクチャの右端のリフレッシュ領域R2は、このピクチャ画像に対して決定されたグローバルモーションの大きさに基づいて、幅がW2に設定される。また、ピクチャ1のリフレッシュ領域R1は、グローバルモーションにより左方向にシフトして、ピクチャ2のクリーン領域C1となる。したがって、ピクチャ2の残りは、ダーティ領域D2である。ピクチャ3については、リフレッシュ領域R3は、対応するグローバルモーションの大きさに基づいて、幅がW3に設定される。ピクチャ2のリフレッシュ領域R2及びクリーン領域C1は、グローバルモーションによって左方向にシフトしてクリーン領域C2となり、ピクチャ3の残りはダーティ領域D3となる。同様の処理により、ピクチャ4については、幅W4を有する例示されたリフレッシュ領域R4と、クリーン領域C2及びリフレッシュ領域R3から得られるクリーン領域C3と、ダーティ領域D4と、が得られる。ピクチャ5については、幅W5を有する例示されたリフレッシュ領域R5と、クリーン領域C3及びリフレッシュ領域R4から得られるクリーン領域C4と、ダーティ領域D5と、が得られる。ピクチャ6については、幅W6を有する例示されたリフレッシュ領域R6と、クリーン領域C4及びリフレッシュ領域R5から得られるクリーン領域C5と、が得られる。
図3は、本開示の少なくとも1つの実施形態によるビデオ処理システム100の例示的な実装例を示す図である。図示した例において、ビデオ処理システム100は、ビデオ生成サブシステム302と、HMD装置304(HMD装置102の一実施形態)と、を含み、これらは、例えば有線通信リンク、無線リンク又はこれらの組み合わせを含む送信リンク306を介して接続されている。有線通信リンクの例には、イーサネット(登録商標)リンク、ユニバーサルシリアルバス(USB)リンク、高解像度マルチメディアインタフェース(HDMI(登録商標))リンク等が含まれる。無線通信リンクの例には、IEEE802.11ローカルエリアネットワーク、Bluetooth(登録商標)パーソナルエリアネットワーク等が含まれる。ビデオ生成サブシステム302は、ビデオソース308と、グローバルモーション推定モジュール310と、モード制御モジュール312と、エンコーダ314と、リンクインタフェース316と、を含む。HMD装置304は、リンクインタフェース318と、デコーダ320と、ディスプレイ制御装置322と、1つ以上のディスプレイパネル(例えば、左目用ディスプレイパネル324及び右目用ディスプレイパネル326等)と、を含む。さらに、いくつかの実施形態では、HMD装置304は、1つ以上のモーションベースのセンサ(例えば、ジャイロスコープ330、加速度計332及び磁力計334等)を有する慣性計測装置(IMU)328を含む。他の例には、構造化光センサ、レーザセンサ等が含まれる。
全体的な概要として、ビデオ生成サブシステム302は、VR/ARコンテンツを表すピクチャストリームをレンダリングし、ピクチャストリーム340を符号化ビットストリーム342に符号化し、符号化ビットストリームをHMD装置304に送信するように動作する。そして、HMD装置304のデコーダ320は、符号化ビットストリーム342を復号化して、ディスプレイ制御装置322及びディスプレイパネル324,326を介してユーザに表示するために提供されるピクチャストリーム340(又はその損失のある表現)を取得するように動作する。このために、ビデオソース308は、ピクチャストリームをレンダリングするよう動作する。このように、ビデオソース308は、例えば、IMU328によって又は他の頭部追跡機構を用いて計測されるHMD装置304のモーション又は姿勢に少なくとも部分的に基づいて、VR/ARコンテンツを表すピクチャをレンダリングするVR/ARアプリケーションを実行する1つ以上のプロセッサを備える。エンコーダ314は、符号化ビットストリーム342を生成するためにピクチャを符号化するように動作し、符号化ビットストリーム342は、送信リンク306を介した送信のためにリンクインタフェース316に提供される。
符号化処理の間、エンコーダ314は、デュアルモードエンコーダを含むことができ、エンコーダ314は、リフレッシュ領域の位置がイントラリフレッシュセットのピクチャ間でシフトする従来のイントラリフレッシュ符号化モード、又は、本明細書で説明するモーション適応型イントラリフレッシュモードで動作するように構成されている。それに応じてエンコーダ314を構成するために、グローバルモーション推定モジュール310は、更新されたグローバルモーション推定値を繰り返し取得し、更新されたグローバルモーション推定値の各々をモード制御モジュール312に提供する。次いで、モード制御モジュール312は、グローバルモーション推定値から、従来のイントラリフレッシュモード又はモーション適応型イントラリフレッシュモードの何れを実行するかを決定し、それに応じて、モード構成信号344を介してエンコーダ314を構成する。さらに、モーション適応型イントラリフレッシュモードが実行される場合、モード制御モジュール312は、エンコーダ314によって符号化される現在のピクチャについてのリフレッシュ領域の特性(リフレッシュ領域がピクチャのどのエッジに隣接しているか、及び、リフレッシュ領域の幅を含む)をさらに決定し、これらのパラメータを、リフレッシュ領域構成信号346を介してエンコーダ314に通知することができる。
図4は、グローバルモーション推定モジュール310、モード制御モジュール312、及びエンコーダ314の動作の方法400をより詳細に示すフロー図である。ピクチャの符号化を開始する前に、ブロック402において、エンコーダ314、モード制御モジュール312及びグローバルモーション推定モジュール310は、関連するパラメータで初期化される。例示のために、いくつかの実施形態では、エンコーダ314は、特定の数Nのピクチャをイントラリフレッシュセットに実装するように構成されており、モード制御モジュール312は、グローバルモーション推定に適用される特定の閾値と、テンポラリ変数Xと、を1に設定するように構成されている。初期化後、ビデオソース308は、ストリーム340用のピクチャのレンダリングを開始し、レンダリングされた各ピクチャは、ブロック404の繰り返しにおいてエンコーダ314に受信される。
ピクチャのレンダリング及び受信と同時に、ブロック406において、グローバルモーション推定モジュール310は、現在のピクチャの繰り返しiに対するグローバルモーション推定値MVG(i)を決定する。ブロック405で表されるように、一実施形態において、グローバルモーション推定モジュール310は、IMU328の1つ以上のモーションベースのセンサからのセンサデータに基づいて、グローバルモーション推定値MVG(i)を決定する。例示のために、IMU328は、HMD装置304の現在の姿勢、及び、HMD装置304の姿勢の現在の変化を決定するために、ジャイロスコープ330、加速度計332又は磁力計334の1つ以上を周期的にサンプリングし、グローバルモーション推定モジュール310は、この情報からグローバルモーション推定値MVG(i)(例えば、ディスプレイパネル324,326の表示空間に対する任意の回転運動の対応する並進移動への変換を含む)を決定する。或いは、ブロック407で表されるように、グローバルモーション推定モジュール310は、現在のピクチャ及び1つ以上の前のピクチャを用いて符号化される現在のピクチャのモーションに基づく分析を採用した様々なグローバルモーション技術を用いて、グローバルモーション推定値MVG(i)を決定する。
本明細書で説明するように、モーション適応型イントラリフレッシュモードは、イントラリフレッシュ符号化ピクチャのリフレッシュ領域を、そのピクチャのグローバルモーションの方向にあるピクチャエッジに隣接する領域に「固定」する。しかし、グローバルモーションは、ピクチャの4つのエッジを表す4つの基本方位と平行でない方向を有し得ることが理解されるであろう。例示のために、図1を簡単に参照すると、グローバルモーション推定値MVG(i)は、(ユーザの視点に対して)右方向及び下方向の両方向を有するモーションベクトル120によって表される。このような状況では、グローバルモーション推定モジュール310は、グローバルモーション推定値MVG(i)の主方向成分(すなわち、4つの基本軸のうち1つと平行であり、最大の大きさを有するグローバルモーション推定値MVG(i)の方向成分)を使用する。例示のために、モーションベクトル120は水平方向成分122及び垂直方向成分124の両方を有し、水平方向成分122の方が大きいため、水平方向成分122がグローバルモーション推定値MVG(i)として使用される。或いは、垂直方向のモーションよりも水平方向のモーションに起因して取り込まれるコンテンツに対してユーザが敏感である可能性が高いことから、グローバルモーション推定値の水平方向成分がデフォルトでMVG(i)として使用される。
ブロック408において、モード制御モジュール312は、グローバルモーション推定値MVG(i)を受信し、このグローバルモーションの大きさを、モードをモーション適応型イントラリフレッシュ符号化モードに切り替えるのに十分であるとみなされる最小のグローバルモーションを表す特定の閾値と比較する。この閾値は、モデリング、実験等によって決定され、場合によっては、閾値に対する様々な値の影響のフィードバック又は他の分析に基づいて経時的に変更される。グローバルモーション推定値MVG(i)の大きさがこの閾値を超えない場合、モード制御モジュール312は、モード構成信号344を介してエンコーダ314を構成して、ブロック404において受信されたピクチャを符号化するために従来のイントラリフレッシュモードを使用する。このように構成されたことに応じて、エンコーダ314は、ブロック410において、現在のイントラリフレッシュセット内のピクチャの位置を表す変数Xによって特定されたピクチャ内のリフレッシュ領域の位置によって、ピクチャをイントラリフレッシュ符号化する。ブロック412において、変数Xは、セットの次のリフレッシュ位置にシフトされる(すなわち、Xは、(X+1)MOD Nに設定される)。
ブロック408に戻ると、グローバルモーション推定値MVG(i)の大きさが閾値を超える場合、モード制御モジュール312は、モード構成信号344を介してエンコーダ314を構成し、モーション適応型イントラリフレッシュモードをピクチャに対して使用する。この目的のために、ブロック414において、モード制御モジュール312は、グローバルモーション推定値MVG(i)の方向(又は、グローバルモーション推定値MVG(i)の主成分の方向)にあるピクチャエッジを識別する。例示のために、左から右へのグローバルモーションはピクチャの右端の選択をもたらし、右から左へのグローバルモーションはピクチャの左端の選択をもたらす。同様に、垂直に配置されたリフレッシュ領域を実装することができ、上方向のグローバルモーションはピクチャの上端の選択をもたらし、下方向のグローバルモーションはピクチャの下端の選択をもたらす。さらに、このモーション適応型イントラリフレッシュ技術は、基本方向(すなわち、純粋に右左又は上下)のモーションに限定されない。例示のために、例えば、左上から右下、右下から左上、右上から左下、左下から右上等のモーションに対して、同じアプローチを使用することができる。ブロック416において、モード制御モジュール312は、グローバルモーション推定値MVG(i)(又はその主方向成分)の大きさに基づいて、ピクチャに対して符号化されるリフレッシュ領域の幅を決定する。特に、リフレッシュ領域の幅は、グローバルモーション推定値の大きさ、ピクチャレート、ピクチャの解像度等の関数としてのピクセル数に関して計算される。ピクチャエッジ及びリフレッシュ領域の幅が決定されると、モード制御モジュール312は、これらのパラメータを、リフレッシュ領域構成信号346を介してエンコーダ314に通知する。
ブロック418において、エンコーダ314は、リフレッシュ領域構成パラメータを用いてピクチャをイントラリフレッシュ符号化して、結果として得られる符号化ストリームを表すビットストリーム部を生成し、このビットストリーム部を、HMD装置304に送信される符号化ビットストリーム342に組み込む。この符号化処理において、エンコーダ314は、識別されたピクチャエッジ及び識別されたリフレッシュ領域の幅を使用して、識別されたピクチャエッジに隣接する領域であって、示されたリフレッシュ領域に対応する幅を有する領域をイントラ符号化する。ピクチャの残りの部分は、上述したように、ダーティ領域又はクリーン領域の一方又は両方として符号化される。
方法400は、イントラリフレッシュモードが各ピクチャ間で切り替えられる1つの実施形態を示しているが、他の実施形態では、モード間の切り替えは、イントラリフレッシュセットの完了にリンクされる。すなわち、モード間の切り替えは、1つのイントラリフレッシュセット/サイクルの完了と、次のイントラリフレッシュセット/サイクルの開始と、の間にのみ生じるように制限することができ、これにより、イントラリフレッシュセット用に選択されたモードは、当該セット内の各ピクチャに適用される。
いくつかの実施形態では、上述した技術の特定の態様は、ソフトウェアを実行する処理システムの1つ以上の処理装置によって実施される。ソフトウェアは、格納されるか、または非一時的なコンピュータ可読記憶媒体に記憶され、又は、当該記憶媒体上で有形に実施される実行可能命令の1つ以上のセット含む。ソフトウェアは、1つ以上の処理装置によって実行されると、1つ以上のプロセッサを操作して、上述した技術の1つ以上の態様を実行させるための命令又は特定のデータを含むことができる。非一時的なコンピュータ可読記憶媒体には、例えば、磁気若しくは光学ディスク記憶装置、フラッシュメモリ等のソリッドステート記憶装置、キャッシュ、ランダムアクセスメモリ(RAM)、又は、他の不揮発性メモリ装置等が含まれる。実行可能命令は、非一時的なコンピュータ可読記憶媒体に、ソースコード、アセンブリ言語コード、オブジェクトコード、又は、1つ以上のプロセッサによって解釈されるか他の方法で実行可能な他の命令フォーマットで記憶されている。
概要において上述した活動又は要素の全てが必要なわけではなく、特定の活動又は装置の一部を不要としてもよいこと、1つ以上のさらなる活動を実行することができること、又は、上述したものに加えて他の要素を含んでもよいことに留意されたい。さらに、活動が列挙されている順序は、必ずしもこれらが実行される順序ではない。また、これらの概念は、特定の実施形態を参照して説明されている。しかし、当業者であれば、以下の特許請求の範囲に記載された本発明の範囲から逸脱することなく、様々な修正及び変更を行うことができるのを理解するであろう。したがって、明細書及び図面は、限定的な意味ではなく例示的な意味で考慮されるべきであり、このような変更の全ては、本発明の範囲内に含まれることが意図される。
利益、他の利点、及び、問題の解決手段について、特定の実施形態に関して上述されている。しかし、利益、利点又は解決手段を発生させるか、より顕著になる可能性のある機能は、何れか又は全ての請求項の重要な、必須の、不可欠な特徴と解釈されるべきではない。さらに、開示された発明は、本明細書の教示の利益を有する当業者には明らかであるが、異なる方法であるが同等の方法で修正及び実行することができるため、上記に開示された特定の実施形態は例示に過ぎない。以下の特許請求の範囲に記載されるもの以外の、本明細書に示された構造又は設計の詳細に制限はない。したがって、上述した特定の実施形態について変更又は修正を加えることが可能であり、このような変形例の全てが、開示された発明の範囲内にあると考えられることは明白である。したがって、本明細書にて求められる保護は、以下の特許請求の範囲に記載されている。