JP2023536585A - 閲覧方向に基づくビットストリームのランダムアクセスのサポート - Google Patents

閲覧方向に基づくビットストリームのランダムアクセスのサポート Download PDF

Info

Publication number
JP2023536585A
JP2023536585A JP2023506159A JP2023506159A JP2023536585A JP 2023536585 A JP2023536585 A JP 2023536585A JP 2023506159 A JP2023506159 A JP 2023506159A JP 2023506159 A JP2023506159 A JP 2023506159A JP 2023536585 A JP2023536585 A JP 2023536585A
Authority
JP
Japan
Prior art keywords
image
random access
video
video stream
image block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2023506159A
Other languages
English (en)
Inventor
アトゥラルー,チャイタニヤ
ニナン,アジット
Original Assignee
ドルビー ラボラトリーズ ライセンシング コーポレイション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ドルビー ラボラトリーズ ライセンシング コーポレイション filed Critical ドルビー ラボラトリーズ ライセンシング コーポレイション
Publication of JP2023536585A publication Critical patent/JP2023536585A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/162User input
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Abstract

非ランダムアクセス・ビデオ・ストリームが受領される。第1の画像ブロックは、非ランダムアクセス処理順序によれば第2の画像ブロックの後にエンコードされる。観察方向データが、第1の画像ブロックがカバーする位置と一致する観察者の観察方向を示すために受領される。第1の画像ブロックは、ランダムアクセス処理順序で第2の画像ブロックの前にランダムアクセス・ビデオ・ストリーム中にエンコードされる。ランダムアクセス・ビデオ・ストリームは、観察者によって操作される受領者デコード装置に送達され、第1の画像ブロックが、ランダムアクセス処理順序に従って、第2の画像ブロックの前に処理され、レンダリングされるようにする。

Description

関連出願への相互参照
本出願は2020年8月3日出願の米国仮特許出願第63/060,272号、2020年8月3日出願の欧州特許出願第20189127.2号の優先権を主張する。これらは参照により本出願に組み込まれる。
技術
本開示の実施形態は、概括的には画像の符号化およびレンダリングに、特にビデオ・コーデックに関する。
動画像専門家グループ1(Moving Picture Experts Group 1、MPEG-1)ビデオ、MPEG-2ビデオ、MPEG-4ビジュアル、H .264/先進ビデオ符号化(Advanced Video Coding)(H.264/AVC)、高効率ビデオ符号化(High-Efficiency Video Coding、HEVC)などのビデオコーディング標準は、比較的低ビットレートで比較的高品質のビデオを圧縮およびストリーミングするために、順次開発されてきた。
しかしながら、拡張現実(AR)、仮想現実(VR)、または没入型ビデオアプリケーションでは、観察者は、異なる時点で、異なる観察位置および異なる観察配向から、描写されたシーンを見ることができる。シームレスで高品質なAR、VR、または没入的なビデオ体験を常にサポートするために望まれるビデオ・データの量は、膨大で困難であり、現在のところサポートすることは現実的ですらない。
高品質の画像コンテンツがストリーミングされ、処理され、観察者にレンダリングされるときに、観察者の位置と配向の変化を機に、かなりのタイムラグが発生する可能性がある。タイムラグは、観察者によってすぐに認識されうる。ほとんどまたは全くアーチファクトのない高品質のビデオ体験をサポートするビデオストリーミングおよび/または符号化技術が必要とされている。
このセクションに記載されるアプローチは、追求されることができたアプローチであるが、必ずしも以前に着想または追求されたアプローチではない。したがって、特に断りのない限り、このセクションに記載されているアプローチのいずれも、単にこのセクションに含まれていることによって先行技術として適格であると想定されるべきではない。同様に、一つまたは複数のアプローチに関して特定された問題は、特に断りのない限り、このセクションに基づいて何らかの先行技術で認識されていたと想定されるべきではない。
本開示の実施形態が、限定ではなく例として添付図面の図に例示されている。図面において、同様の参照符号は同様の要素を指す。
例示的な画像を示す。 非ランダムアクセスの画像データ処理順序の例を示す。 ランダムアクセスの画像データ処理順序の例を示す。
非ランダムアクセスの画像データ処理のための例示的なビデオ送達パイプラインおよび例示的なコーデックを示している。 非ランダムアクセスの画像データ処理のための例示的なビデオ送達パイプラインおよび例示的なコーデックを示している。 非ランダムアクセスの画像データ処理のための例示的なビデオ送達パイプラインおよび例示的なコーデックを示している。
ランダムアクセスの画像データ処理のための例示的なビデオ送達パイプラインおよび例示的なコーデックを示している。 ランダムアクセスの画像データ処理のための例示的なビデオ送達パイプラインおよび例示的なコーデックを示している。 ランダムアクセスの画像データ処理のための例示的なビデオ送達パイプラインおよび例示的なコーデックを示している。
例示的なプロセス・フローを示す。 例示的なプロセス・フローを示す。
本稿に記載されるコンピュータまたはコンピューティング装置が実装されうる例示的なハードウェア・プラットフォームを示す。
本稿では、ビットストリームのランダムアクセスのためのコーデック保存状態(codec saved state)に関連する例示的実施形態が記載される。以下の記述では、説明のために、本開示の実施形態の十全な理解を提供するために、多数の個別的な詳細が記載される。しかしながら、本開示の実施形態は、これらの個別的な詳細なしに実施されうることは明白であろう。他方では、本開示の実施形態を不必要に見えなくしたり、不明瞭にしたり、難読化したりすることを避けるために、よく知られた構造および装置は網羅的な詳細さでは記述されていない。
例示的実施形態は、以下の流れに従って本稿に記述される。
1. 全体的概観
2. 画像データの処理順序
3. 観察方向独立な処理順序
4. 観察方向依存の処理順序
5. 例示的なプロセス・フロー
6. 実装機構‐ハードウェアの概観
7. 等化物、拡張、代替、その他
1. 全体的概観
この概観は、本開示の例示的実施形態のいくつかの側面の基本的な記述を提示する。この概観は、例示的実施形態の側面の広範または網羅的な要約ではないことに注意すべきである。さらに、この概観は、例示的実施形態の特に重要な側面または要素を特定したり、特定的には例示的実施形態、一般的には本開示の実施形態の範囲を画定したりするものではないことに注意すべきである。この概観は、単に、例示的実施形態に関連するいくつかの概念を凝縮および簡略化された形式で提示するだけであり、以下に続く例示的実施形態のより詳細な説明の単なる概念的な前奏として理解されるべきである。ここでは、別個の実施形態が記載されるが、ここで論じられる実施形態の任意の組み合わせおよび/または部分的な実施形態が組み合わされて、さらなる実施形態を形成してもよいことに注意されたい。
ここに記載されるような技法を実装しない他のアプローチの下では、具体的に符号化されたビデオ(たとえば、HEVCなどの特定の規格で符号化されたビデオ)のエンコーダ、デコーダ、ビデオデータパッカー(たとえば、ストリーミングまたは伝送のためにビデオ・データをパッキングする装置またはシステムなど)、ストリーマー(たとえば、符号化されたビデオをストリーミングまたは送信する装置またはシステムなど)などは、同じ、具体的にレイアウトされた経路に従うことになる。コーデックは典型的には、かかる具体的にレイアウトされた経路を逸脱して、具体的にレイアウトされた経路に沿っていない何らかの特定のブロック(たとえば、サブマクロブロック、マクロブロック、符号化単位、スライスなど)にジャンプすることはできない。
対照的に、本稿に記載される技法は、効率的なAR/VR/没入的ビデオ符号化のために、圧縮された画像のある領域(たとえば、サブマクロブロック、マクロブロック、符号化単位、スライスなど)への直接ランダムアクセスを提供または実装するために使用されうる。その領域は、能動的なユーザー・フィードバック(たとえば視線追跡など)または創造的な意図に基づくことができる特定された関心領域内にあることができる。本稿に記載される圧縮されたビットストリームは、レンダリングのためにビューアーに送信されるときに、ランダムアクセスされるブロックをデコードするために使用される状態変数、近傍ブロックメトリック、およびその他の情報といった追加情報を含むように、動的にパックすることができる。この追加情報は、SEI(補足向上情報)メッセージまたは補助情報(ancillary information)、PPS(ピクチャーパラメータセット)、SPS(シーケンスパラメータセット)、スライスヘッダなどを含むが、必ずしもそれだけに限定されない画像メタデータとして送信されることができる。追加的、任意的または代替的に、追加情報は、関心領域に関連する、SEIメッセージまたは補助情報、PPS(ピクチャーパラメータセット)、SPS(シーケンスパラメータセット)、スライスヘッダなどでパックされることができる。
本稿で記述される例示的実施形態は、ビデオ・ストリーム・データを提供することに関する。非ランダムアクセス処理順序で処理される画像ブロックをエンコードされた非ランダムアクセス・ビデオ・ストリームがアクセスされる。画像ブロックのうち第1の画像ブロックは、非ランダムアクセス処理順序によれば一つまたは複数の第2の画像ブロックの後に処理される。観察者がランダムアクセス・ビデオ・ストリームのビデオ・コンテンツを観察している間にリアルタイムで収集された観察者の観察方向データが受領される。ランダムアクセス・ビデオ・ストリームが、非ランダムアクセス・ビデオ・ストリームから生成される。観察方向データは、観察者がランダムアクセス・ビデオ・ストリームのビデオ・コンテンツを観察している間に、第1の画像ブロックによってカバーされる位置と一致する観察者の観察方向を示す。第1の画像ブロックは、非ランダムアクセス処理順序とは異なるランダムアクセス処理順序で、前記一つまたは複数の第2の画像ブロックの前に、ランダムアクセス・ビデオ・ストリームにエンコードされる。ランダムアクセス処理順序は、ランダムアクセス・ビデオ・ストリームのビデオ・コンテンツが観察者に対してレンダリングされている間の、観察者の観察方向に依存する。非ランダムアクセス処理順序は、観察者の観察方向に依存しない。ランダムアクセス・ビデオ・ストリームは、観察者によって操作される受領者デコード装置に送達され、ランダムアクセス処理順序に従って、前記一つまたは複数の第2の画像ブロックの前に、ランダムアクセス・ビデオ・ストリームから第1の画像ブロックが処理およびレンダリングされるようにする。
本稿で記載される例示的実施形態は、ビデオ・ストリーム・データのレンダリングに関連する。ランダムアクセス・ビデオ・ストリームは、上流装置から受領される。ランダムアクセス・ビデオ・ストリームは、非ランダムアクセス・ビデオ・ストリームから生成される。観察者がランダムアクセス・ビデオ・ストリームのビデオ・コンテンツを観察している間にリアルタイムで収集された観察者の観察方向データは、上流装置に送信される。観察方向データは、観察者がランダムアクセス・ビデオ・ストリームのビデオ・コンテンツを観察している間に、画像ブロックの第1の画像ブロックによってカバーされる位置と一致する観察者の観察方向を示す。非ランダムアクセス・ビデオ・ストリームは、非ランダムアクセス処理順序で処理される画像ブロックをエンコードされる。画像ブロックのうちの第1の画像ブロックは、非ランダムアクセス処理順序によれば一つまたは複数の第2の画像ブロックの後に処理される。ランダムアクセス処理順序は、ランダムアクセス・ビデオ・ストリームのビデオ・コンテンツが観察者に対してレンダリングされている間の観察者の観察方向に依存する。非ランダムアクセス処理順序は、観察者の観察方向に依存しない。第1の画像ブロックは、ランダムアクセス・ビデオ・ストリームによって、前記一つまたは複数の第2の画像ブロックの前に、上流装置から受領される。第1の画像ブロックは、ランダムアクセス処理順序に従って、前記一つまたは複数の第2の画像ブロックの前に処理およびレンダリングされる。
いくつかの例示的実施形態では、本稿に記載される機構は、以下のうちの任意のものを含むがこれらに限定されないメディア処理システムの一部を形成する:クラウドベースのサーバー、モバイル装置、仮想現実システム、拡張現実システム、ヘッドアップディスプレイ装置、ヘルメットマウント型ディスプレイ装置、CAVE型システム、壁面サイズのディスプレイ、ビデオゲーム装置、ディスプレイ装置、メディアプレーヤー、メディアサーバー、メディア制作システム、カメラシステム、ホームベースのシステム、通信装置、ビデオ処理システム、ビデオコーデックシステム、スタジオシステム、ストリーミング・サーバー、クラウドベースのコンテンツサービスシステム、ハンドヘルド装置、ゲーム機、テレビ、映画館ディスプレイ、ラップトップコンピュータ、ネットブックコンピュータ、タブレットコンピュータ、セルラー無線電話、デスクトップコンピュータ、コンピュータワークステーション、コンピュータサーバー、コンピュータキオスク、またはその他のさまざまな種類の端末およびメディア処理ユニット。
本稿に記載される好ましい実施形態および一般的な原理および特徴に対するさまざまな修正が、当業者には容易に明らかになるであろう。よって、本開示は、示されている実施形態に限定されることを意図されておらず、ここに記載されている原理および特徴と整合する最も広い範囲を与えるものである。
2. 画像データの処理順序
ビデオ・ストリームにエンコードされる画像は、ストリーミング・パラメータ、ストレージ・パラメータ、またはその他の独自のまたは標準のパラメータに基づいて、1つの大きなスライスまたはより小さな諸スライスに分割またはパーティション分割されることがある。
図1Aは、(たとえば、非ランダムアクセスなどの)ビデオ・ストリームにエンコードされる例示的な画像/フレーム100を示す。示されているように、画像(100)は、(たとえば、非ランダムアクセスなどの)ビデオ・エンコーダによって、画像ブロックの階層に分割またはパーティション分割されることがある。たとえば、階層の最上位レベルでは、画像(100)は、それぞれがスライスを表す一つまたは複数の最上位レベルの画像ブロック102-1ないし102-4に分割またはパーティション分割されることがある。
各スライスまたは最上位レベルの画像ブロック(たとえば、102-2など)は、さらに、一つまたは複数の次のレベル(最上位レベルの下)の画像ブロック(たとえば、104-2ないし104-5)に分割またはパーティション分割されることがある。たとえば、スライス(102-2)と(102-3)は、それぞれ複数の次のレベルの画像ブロック104-2ないし104-5と104-6ないし104-9に分割またはパーティション分割されることがある。比較として、スライス(102-1)と(102-4)のそれぞれは、単一の次のレベルの画像ブロック104-1または104-10を含んでいてもよい。
さまざまな動作シナリオにおいて、ここで記載されるそれぞれの次のレベルの画像ブロックは、符号化単位、予測単位、マクロブロック、サブマクロブロックなどを表してもよい。追加的、任意的、または代替的に、いくつかの動作シナリオでは、次レベルの画像ブロックは、予測単位、サブマクロブロックなどの一つまたは複数のより小さな単位にさらに分割またはパーティション分割されてもよい。
ここに記載される画像ブロックのサイズは、画像の画像ブロックの階層内で変化してもしなくてもよい。階層内の例示的な画像ブロック・サイズは、8×8、16×16、32×32、64×64、128×128、またはピクセル単位のより小さいサイズまたはより大きいサイズのいずれかが含むが、必ずしもこれらに限定されない。
ビデオ・ストリーム内の画像(たとえば、図1Aの100など)は、(たとえば、メディアストリーミング、メディア消費、画像レンダリング、画像閲覧などの)事前にエンコードされてもよい。たとえば、画像を画像ブロックの階層構造に分割もしくはパーティション分割することと、階層構造の画像ブロックを識別/エンコード/デコードするために使用される特定の処理順序または経路は、(たとえば、メディアストリーミング、メディア消費、画像レンダリング、画像閲覧などの)事前に、後でAR、VR、または没入型ビデオ体験のリアルタイムまたは近リアルタイムで決定される観察者の観察方向、ビューポート、または関心領域(ROI)とは独立して、またはそれと関わりなく、決定できる。事前に決定された処理順序または経路は、正準的なまたは非ランダムアクセスの処理順序または経路と呼ばれることがある。例示的な非ランダムアクセス処理順序は、ラスタ順、ジグザグ順、事前に決定された順序、事前に指定された順序、標準ベースの順序などを含みうるが、これらに限定されない。
図1Bは、画像(たとえば、図1Aの100など)の画像ブロックを処理およびエンコードするための例示的な非ランダムアクセス処理順序を示す。前述のように、非ランダムアクセス処理順序は、後にAR、VR、または没入型ビデオ体験のリアルタイムまたは近リアルタイムで決定される観察者の観察方向、ビューポート、またはROIとは独立に、またはそれとは関わりなく、決定される。
限定ではなく例解として、図1Bの非ランダムアクセス処理順序はラスタ順であってもよい。つまり、画像の画像ブロックの階層構造内の同じレベルの、または同じ、より大きな画像ブロック内の画像ブロックが、左から右、次いで上から下に処理される。
たとえば、画像(100)の画像ブロックの階層構造内では、画像(100)の画像スライス(102-1)ないし(102-4)を表す最上位レベルの画像ブロックが、左から右、上から下に処理され、エンコードされる。つまり、まず102-1(一連の破線矢印のシーケンスによって表される処理順序の開始点として実線の円によって示される)、次いで102-2、続いて102-3および102-4。同じ、より大きな画像ブロック(たとえばスライス102-2など)において、より大きな画像ブロック(この例ではスライス(102-2))内の、より小さな画像ブロック(たとえばマクロブロック104-2ないし104-5など)が、左から右、上から下に処理され、エンコードされる。つまり、まず104-2、次いで104-3、続いて104-4および104-5。
図1Bに示されるように、画像(100)のいくつかのまたはすべての部分が観察者に対してレンダリングされる時点についての観察者の観察方向は、画像(100)の画像ブロック(図1Aの104-4に対応)内の黒い菱形によって表される位置を指してもよい。ただし、観察者の観察方向に対応するこの位置とは独立に、またはそれに関係なく、図1Bの事前に決定された非ランダムアクセス処理順序は、画像ブロック(図1Aの104-4に対応)の前に画像ブロック(図1Aの104-1、104-2、104-3に対応)を処理してエンコードすることに変わりはない。
このアプローチは、ビデオの符号化またはストリーミングが、ビデオ・ストリームからレンダリングされた画像の観察者に関連付けられた能動的なフィードバックに基づいていない場合には問題なく機能する可能性がある。しかしながら、AR、VR、または没入的ビデオ体験をよりサポートするために、本稿に記載されている技術を使用して、すでにエンコードされているビデオ・ストリームであっても、AR、VR、または没入的ビデオ体験のリアルタイムまたは近リアルタイムで同時に決定される観察者の観察方向、ビューポート、またはROIに依存するまたはそれによって決定されるランダムアクセス処理順序で、フレーム/画像の画像ブロックにアクセスする、またはそれを処理することができる。結果として、観察者の観察方向、ビューポート、またはROIに対応する画像ブロックは、観察者が知覚できるタイムラグや視覚的アーチファクトが全くまたはほとんどない状態で、レンダリングまたはリフレッシュできる。
ここで使用されるようところでは、ランダムアクセスとは、画像内の画像ブロックの階層構造内の特定の画像ブロック(単数または複数)または特定の点(単数または複数)へのアクセス、処理、ストリーミング、デコードおよび/またはレンダリングを指してもよく、ここで、該特定の画像ブロックまたは特定の点は、観察者から収集されるまたは観察者に関連するリアルタイムまたは近リアルタイムのセンサー・データに少なくとも部分的に基づいて同時に決定される観察者の観察方向、ビューポートまたはROIに基づいて(またはそれに対応して)、画像内で識別または決定される。階層構造内のこれらの画像ブロックまたは点は、リアルタイムまたは近リアルタイムで同時に決定される観察者の観察方向、ビューポートまたはROI、または同様の属性に関係なく、または独立して、画像をエンコードするためにエンコーダによって使用される、画像の事前に決定された非ランダムアクセス処理順序に対し、ランダムと見なされる。
AR、VR、または没入的ビデオアプリケーションでは、観察者は、AR、VR、または没入的ビデオアプリケーションの画像が観察者のディスプレイにレンダリングされている間に、観察方向、ビューポート、およびROIを随時変更しうる。所与の時間について決定された観察方向は、観察者の配向を指してもよく、次のうちの一つまたは複数と交換可能に使用されうる:その所与の時間について決定された、観察者のディスプレイのビューポートまたは観察領域全体、観察者の視野における中心視領域、観察者の視野における、中心視領域と、中心視領域に隣接する近周辺視野、観察者から収集されたリアルタイムまたは近リアルタイムのセンサー・データに基づいて決定された観察者の関心領域など。
いくつかの動作シナリオでは、一つまたは複数の視線追跡装置またはモジュールを使用して、観察者の観察方向がリアルタイムまたは近リアルタイムで(たとえば、1ミリ秒または5ミリ秒または20ミリ秒のレイテンシーで、認識可能なタイムラグの閾値または予算を下回る厳密なレイテンシーで、など)監視および決定されうる。
リアルタイムまたは近リアルタイムで同時に決定された観察者の観察方向とは独立に、またはそれに関係なく画像ブロックをストリーミングする代わりに、および/またはそれに加えて、観察者の観察方向に対応する画像ブロックまたはスライスのサブセットが、入力ビデオ・ストリーム内のある画像のすべての画像ブロックまたはスライスから選択され、出力ビデオ・ストリーム内の他の画像ブロックまたはスライスの前に、順序外で最初にストリーミングされてもよい。画像ブロックまたはスライスのサブセットは、入力ビデオ・ストリームから変更された出力ビデオ・ストリームにおいて動的にアクセスされて、パッケージングされることができる。結果として、画像ブロックまたはスライスのサブセットは、入力ビデオ・ストリームから変更された出力ビデオ・ストリームによって、タイムリーに送達され、デコードされ、および/または観察者にレンダリングされることができる。
図1Cは、画像(たとえば、図1Aの100など)の画像ブロックを処理およびエンコードするための例示的なランダムアクセス処理順序を示している。ランダムアクセス処理順序は、図1Bの事前に決定された非ランダムアクセス処理順序とは異なる。ランダムアクセス処理順序は前もって事前決定されるのではなく、AR、VR、または没入型ビデオ体験のリアルタイムまたは近リアルタイムで同時的に決定される観察者の観察方向、ビューポート、またはROIに基づいて決定される。ランダムアクセス処理順序は、リアルタイムまたは近リアルタイムで同時的に決定される観察者の観察方向、ビューポート、またはROIに依存するか、または少なくとも部分的にはそれによって決定される。
限定ではなく例解として、図1Cのランダムアクセス処理順序は、たとえラスタ順などの正準的な処理順序において優先される他の画像ブロックが存在したとしても、リアルタイムまたは近リアルタイムで同時的に決定される観察者の観察方向、ビューポート、またはROIをカバーする一つまたは複数の画像ブロックまたはスライスのサブセットにまずアクセスまたはジャンプしてもよい。よって、ラスタ順などの正準的なまたは非ランダムアクセス処理順序に違反するとしても、ランダムアクセス処理順序では画像ブロックまたはスライスのサブセットが優先されることがある(たとえば、即座に、現在の画像ブロックが終了したらすぐに、など)。
図1Cに示されるように、最初に、画像100’の画像ブロック104-1がまずアクセス、処理、パッケージング、デコード、および/またはレンダリングされる。図1Cの画像(100’)は、処理順序の違いを除いて、図1Aまたは図1Bの画像(100)と同等であってもよい。画像(100’)の画像ブロックは、図1Aの画像(100)の画像ブロック(104-1ないし104-10)と同じであるか、または対応していてもよい。
第1の時点について、画像ブロック(104-1)がアクセス、処理、パッケージング、デコード、および/またはレンダリングされる一方、第1の時点の直後の第2の時点についての観察者の観察方向が、画像(100’)の画像ブロック104-4内の黒い菱形によって表される位置を指すものとして同時的に決定されてもよい。
第2の時点についての観察者の観察方向を決定することに応答して、リアルタイムまたは近リアルタイムで同時的に決定される観察者の観察方向、ビューポート、またはROIに対応する、画像ブロック(104-4)を含むが必ずしもそれに限定されない、画像ブロックのサブセット(たとえば104-4、104-2、104-5など)へのランダムアクセスを提供するために、多様なランダムアクセス処理順序が使用されうる。
第1の例示的なランダムアクセス処理順序では、画像(100)の画像ブロック(104-4)が次に、第2の時点についてアクセス、処理、パッケージング、デコード、および/またはレンダリングされ、その後に第2の時点の後の他の時点について、画像(100)の他の画像ブロック(たとえば104-1、104-2、104-3など)が続く。いくつかの動作シナリオでは、リアルタイムまたは近リアルタイムで同時的に決定された観察者の観察方向、ビューポート、またはROIから離れた画像ブロックの一部または全部は、相変わらず、ラスタ順、ジグザグ順などの設定された順序で処理されてもよい。
第2の例示的なランダムアクセス処理順序では、画像ブロック(104-4)から開始して、画像(100)の諸画像ブロックは、第2の時点および第2の時点の後の他の時点について、アルキメデスのらせん順序、時計回りまたは反時計回りなどのスパイラル順序で次にアクセスされうる。
第3の例示的なランダムアクセス処理順序では、画像ブロック(104-4)から開始して、画像(100)の諸画像ブロックは、画像ブロック(104-4)へのそれぞれの距離(たとえば、ユークリッド距離など)に少なくとも部分的に基づいた順序で、第2の時点および第2の時点の後の他の時点について、次にアクセスされうる。
図1Cに示されるように、画像(100’)の画像ブロックは、左から右、上から下のラスタ順には処理されない。代わりに、画像ブロック(104-1)の後の第2の時点では、観察者のリアルタイムまたは近リアルタイムの観察方向、ビューポートまたはROIに対応する画像ブロック(104-4)が、ランダムアクセス処理順序における次の画像ブロックとして選択される。このことは、一連の破線矢印のシーケンスによって表されている。このランダムアクセス処理順序では、画像ブロック(104-4)が次にアクセス、処理、パッケージング、デコード、および/またはレンダリングされ、続いて画像ブロック(104-2、104-5および104-3)がくる。図1Cに示されるように、画像ブロック(104-4、104-2、104-5および104-3)は、集団的に、観察者のリアルタイムまたは近リアルタイムのビューポートまたは関心領域(たとえば、図1Cの106など)をカバーするため、ランダムアクセス処理順序においてリアルタイムまたは近リアルタイムで優先される。
いくつかの動作シナリオでは、観察者のリアルタイムまたは近リアルタイムのビューポートまたは関心領域(106)をカバーする画像ブロックに続いて、画像(100)内の一部またはすべての他の画像ブロックがアクセス、処理、パッケージング、デコード、および/またはレンダリングされうる。いくつかの動作シナリオでは、これらの他の画像ブロックの一つまたは複数がスキップされてもよく、前の画像(たとえば、画像(100)と同じシーン内の直前または直後の画像など)を使用するか、異なるビデオ・ストリームまたは異なるビデオ・サブストリームからの同時並行した(たとえば、比較的低品質などの)画像を使用する。
3. 観察方向独立な処理順序
図2Aは、例示的なビデオ送達パイプライン200を示す。ソース・ビデオ・ストリームが、外部のビデオ・データ・ソースからの入力としてパイプライン(200)によって受領され、ターゲット・ビデオ・ストリームが、観察者に対してレンダリングするための出力としてパイプライン(200)によって出力される。
ソース・ビデオ・ストリームは、図1Aまたは図1Bの画像(100)を含むがそれに限定されない(たとえば、比較的高品質、非圧縮、低圧縮などの)ソース・ビデオ画像256のシーケンスをエンコードされる。
ビデオ送達パイプライン(200)は、(非ランダムアクセス)エンコーダ側の動作202を実行するビデオ・エンコーダを含む。エンコーダ側の動作(202)は、ソース・ビデオ画像のシーケンス256内の各ソース・ビデオ画像を、そのような各ソース・ビデオ画像のそれぞれのソース画像ブロックに分割またはパーティション分割する。エンコーダ側の動作(202)は、非ランダムアクセス画像ブロック処理順序で、それぞれの画像ブロックにアクセス、処理および/またはエンコードして、それぞれのソース画像ブロックに対応する圧縮された非ランダムアクセス画像ブロックを生成する。圧縮された非ランダムアクセス画像ブロックは、非ランダムアクセス・ビデオ・ストリーム212にエンコードされる。
非ランダムアクセス・ビデオ・ストリーム(212)は、比較的高い帯域幅、比較的低いレイテンシーなどで、一つまたは複数の第1のデータ・リンク(または第1のコンピュータ・ネットワーク経路)を通じて、直接的または間接的に、受領者の非ランダムアクセス・ストリーミング・サーバーに送達される。
第1の例では、非ランダムアクセス・ビデオ・ストリーム(212)は、まずビデオ・エンコーダのエンコーダ側動作(202)によって出力され、ビデオ・データ・ストア214などの有形のコンピュータ可読記憶媒体に記憶され、その後、該有形のコンピュータ可読記憶媒体から非ランダムアクセスストリーミングサーバー(または非ランダムアクセス再符号化サーバー)によって取得されてもよい。
第2の例では、非ランダムアクセスビデオストリーム(212)は、ビデオ・エンコーダのエンコーダ側動作(202)によって、非ランダムアクセス・ストリーミング・サーバー(または非ランダムアクセス再符号化サーバー)に直接出力されてもよい。
ビデオ送達パイプライン(200)の非ランダムアクセス・ストリーミング・サーバーは、非ランダムアクセス画像ブロック処理ブロックに従って、非ランダムアクセスビデオストリーム(212)に対して非ランダムアクセスビデオストリーミング動作258を実行し、非ランダムアクセスビデオストリーム(212)を、一つまたは複数の第2のデータ・リンク(または第2のコンピュータ・ネットワーク経路)を通じて受領者の非ランダムアクセス・ビデオ・デコーダにストリーミングする。第2のデータ・リンクは、第1のデータ・リンク(または第1のコンピュータ・ネットワーク経路)と比較して、比較的低い帯域幅、比較的高いレイテンシーなどをもつことがある。
ビデオ送達パイプライン(200)の非ランダムアクセスビデオデコーダは、非ランダムアクセス画像ブロック処理順序に従って非ランダムアクセスビデオストリーム(212)に対して非ランダムアクセス・デコード動作252を実行し、非ランダムアクセスビデオストリーム(212)においてエンコードされている圧縮画像ブロックを圧縮解除する。次いで、圧縮解除された画像ブロックを使用して、ソース・ビデオ画像256のシーケンスの再構成されたバージョンを生成する。図1Aまたは図1Bの画像(100)の再構成されたバージョンを含むがそれに限定されないソース・ビデオ画像のシーケンスの再構成されたバージョンは、観察者に対してレンダリングするために、ビデオ送達パイプライン(200)または非ランダムアクセスビデオデコーダによって、画像レンダリング装置またはターゲット画像ディスプレイに出力される。
図2Bは、ビデオ・エンコーダによって実行されるエンコード・プロセスの例示的な(非ランダムアクセス)エンコーダ側動作202を示す。これらのエンコーダ側動作(202)は、予測動作、フィルタリング動作、量子化動作、量子化解除動作、変換動作、逆変換動作、加算動作、減算動作、乗算動作、除算動作、エントロピー符号化動作、可変長符号化(VLC)動作、コンテキスト適応型可変長符号化またはCAVLC動作、コンテキスト適応型二進算術符号化またはCABAC動作などが含むが、必ずしもこれらに限定されない。
ビデオ・エンコーダは、各ソース画像(たとえば、図1Aまたは図1Bの100など)を、特定の非ランダムアクセス画像ブロック処理(またはエンコード)順序(たとえば、ラスタ、ジグザグなど)で、個々の画像ブロック104-1、104-2、104-3、104-4、…などを含む画像ブロックの非ランダムアクセス・シーケンス104に分割またはパーティション分割する。ビデオ・エンコーダは、画像ブロックの非ランダムアクセスシーケンス(104)にアクセスして処理し、予測された画像ブロックの非ランダムアクセスシーケンス206を生成または構築する。
予測された画像ブロックの非ランダムアクセスシーケンス(206)は、特定の非ランダムアクセス画像ブロック処理(またはエンコード)順序(たとえば、ラスタ、ジグザグなど)に従って予測符号化動作において適用される個々の予測された画像ブロック206-1、206-2、206-3、206-4、…などを含む。
エンコーダ側動作(202)での予測動作は、予測された画像ブロックの非ランダムアクセスシーケンス(206)を生成する目的で、画像(100)の個々の画像ブロック(104-1、104-2、104-3、104-4など)に存在する可能性のあるデータ冗長性を削減するために、インター予測(たとえば、スキップモードなどを含むが、これに限定されない)、イントラ予測(たとえば、DCモードなどを含むが、これに限定されない)などの予測符号化技術を適用することができる。インター予測(たとえば、動き推定、動き補償など)は、参照画像またはスライス内の(事前にデコード/再構成された)参照画像ブロックに少なくとも部分的に基づいて、エンコードされるべき画像ブロック内のピクセルがどのように生成できるかを決定するために、使用または適用できる。インター予測は、同じ画像またはスライス(における事前にデコード/再構成された画像ブロック)の近傍ピクセルに少なくとも部分的に基づいて、画像またはスライスのエンコードされるべき画像ブロック内のピクセルがどのように生成できるかを決定するために、使用または適用できる。
図2Bに示されるように、画像ブロックの非ランダムアクセスシーケンス(104)と予測された画像ブロックの非ランダムアクセスシーケンス(206)は、減算動作(または除算動作)への入力として提供され、残差画像ブロックの非ランダムアクセスシーケンス210を生成する。残差画像ブロックの非ランダムアクセスシーケンス(210)は、画像ブロックの非ランダムアクセスシーケンス(104)におけるそれぞれの画像ブロック(たとえば104-2など)と予測された画像ブロックの非ランダムアクセスシーケンス(206)におけるそれぞれの予測された画像ブロック(たとえば206-2など)との間の差(または比)に基づいて生成された残差画像データをそれぞれ含む個々の残差画像ブロックを含む。
残差画像ブロックの非ランダムアクセスシーケンス(210)における各残差画像ブロックの残差画像データを構成する差分(または比)は、画像ブロックの非ランダムアクセスシーケンス(104)におけるそれぞれの画像ブロック(たとえば104-2など)と、予測された画像ブロックの非ランダムアクセスシーケンス(206)におけるそれぞれの予測された画像ブロック(たとえば206-2など)に減算動作(または除算動作)を適用することによって生成されてもよい。ここに記載されるような(入力)画像ブロックと予測された画像ブロックとの間の差(または比)に基づいて生成される例示的な残差画像データは、空間(またはピクセル)領域で表されるピクセル値、または変換または周波数領域で表される変換(たとえばDCT、DSTなど)係数を含みうるが、必ずしもそれだけに限定されない。
残差画像ブロックの非ランダムアクセスシーケンス(210)の各残差画像ブロックにおける残差画像データは、線形または非線形に量子化され、非ランダムアクセス・ビデオ・ストリーム212にエンコードされる(たとえば、2次元ブロックからの量子化された係数を走査して直列化された1次元ベクトルにするエントロピー符号化などを通じて)。
非ランダムアクセスビデオストリーム(212)の受領者装置(たとえば、デコード装置、トランスコーディング装置、パッケージング装置、ストリーミング・サーバー装置、メディア送達システムなど)によって実行される画像再構成をサポートするために、エンコーダ側動作(202)は、画像メタデータの非ランダムアクセスシーケンス208を生成または構築する。画像メタデータの非ランダムアクセスシーケンス(208)は、観察者に対してレンダリングするために、画像(100)の再構成されたバージョンを生成するよう、(非ランダムアクセス)デコーダ側画像再構成動作において適用される、個々の画像メタデータ部分208-1、208-2、208-3、208-4、…などを含む。
エンコーダ側動作(202)でのVLC動作は、一つまたは複数のVLCコードブック(またはVLCテーブル)にアクセスまたはルックアップし、VLCコードブック内のVLC符号化情報を適用して、ここに記載されている画像ブロックに関連する一部またはすべての画像データおよび/または画像メタデータを、比較的高いビットレート効率でVLC符号語に変換することができる。たとえば、画像メタデータの非ランダムアクセスシーケンス(208)内の個々の画像メタデータ部分(208-1、208-2、208-3、208-4、…など)のそれぞれは、VLC動作によって、画像メタデータの非ランダムアクセスシーケンス(208)に含まれる画像メタデータの、ビットレート効率のよいVLC表現に符号化されうる。
ビットレート効率のよいVLC表現における画像メタデータの非ランダムアクセスシーケンス(208)は、(たとえば、同じビデオ・ストリーム内、補助サブビデオストリーム内などの)非ランダムアクセスビデオストリーム(212)と一緒に、またはその中で搬送される全体的な画像メタデータの一部として含まれてもよい。
図2Cは、非ランダムアクセスビデオストリーム(212)の受信側装置(またはデコーダ装置)によって実行されるデコード・プロセスの例示的な(非ランダムアクセス)デコーダ側動作252を示している。これらのデコーダ側動作(252)は、予測動作、フィルタリング動作、量子化動作、量子化解除動作、変換動作、逆変換動作、加算動作、減算動作、乗算動作、除算動作、エントロピー符号化〔コーディング〕動作、可変長符号化(VLC)動作などを含みうるが、必ずしもそれらに限定されない。
ビデオ・デコーダは、ビデオ・エンコーダによって実行されるエントロピー符号化動作、線形または非線形逆量子化動作などをミラーリングする、またはそれに対応するエントロピー符号化動作、線形または非線形量子化解除動作などを適用して、非ランダムアクセスビデオストリーム(212)に含まれるビットレート効率のよい表現から、残差ブロックの非ランダムアクセスシーケンス(210)をデコードまたは回復する。
ビデオ・デコーダは、ビデオ・エンコーダによって実行されるVLC符号化動作をミラーリングする、またはそれに対応するVLC符号化動作を適用して、非ランダムアクセスビデオストリーム(212)に含まれるビットレート効率のよい表現から、画像メタデータの非ランダムアクセスシーケンス(208)をデコードまたは回復する。
非ランダムアクセスビデオストリーム(212)からデコードまたは取得された残差画像ブロックの非ランダムアクセスシーケンス(210)および画像メタデータの非ランダムアクセスシーケンス(208)を含むがそれに限定されない画像メタデータおよび画像データに基づいて、ビデオ・デコーダは、ビデオ・エンコーダによって実装された特定の非ランダムアクセス画像ブロック処理(またはエンコード)順序(たとえば、ラスタ、ジグザグなど)に対応する特定の非ランダムアクセス画像ブロック処理(またはデコード)順序(たとえば、ラスタ、ジグザグなど)で、個々の画像ブロック104-1、104-2、104-3、104-4、…などを含む画像(たとえば、図1Aまたは図1Bの100など)または画像ブロックの非ランダムアクセスシーケンス104の再構成されたバージョンを生成する。
いくつかの動作シナリオでは、残差画像ブロックの非ランダムアクセスシーケンス(210)および画像メタデータの非ランダムアクセスシーケンス(208)は、受領者装置が予測された画像ブロックの非ランダムアクセスシーケンス(210)を生成することを許容するまたは可能にするのに十分である。
より具体的には、予測された画像ブロックの非ランダムアクセスシーケンス(210)内の各予測された画像ブロック(たとえば、206-4など)は、ビデオ・エンコーダによって実行された(エンコーダ側)予測動作をミラーリングする、またはそれに対応するデコーダ側予測動作を実行することによって、受信側装置によって生成されうる。デコーダ側予測動作は、ビデオ・エンコーダによって実行されるのと同じイントラまたはインター予測を実行して、同じ画像内の同じ近傍情報または同じ参照画像内の同じ参照画像ブロック(単数または複数)を使用して、そのようなそれぞれの予測された画像ブロック(この例では206-4)を生成または構築してもよい。ここで、同じ画像内の近傍情報または参照画像内の参照画像ブロック(単数または複数)は、ビデオ・エンコーダによって適用される同じ非ランダムアクセス処理順序に従って構築されうる。
予測画像ブロック(この例では206-4)を構築するためにイントラ予測が使用される動作シナリオでは、イントラ予測で使用される同じ画像内の近傍情報は、(1)予測された画像ブロック(この例では206-4)に対応する残差画像ブロックより遅くない残差画像ブロック、および(2)予測された画像ブロック(この例では206-4)に対応する画像メタデータ部分(たとえば、この例では208-4)より遅くない画像メタデータ部分に基づいて生成されたデコード/再構成された画像ブロックから導出されてもよい。
予測画像ブロック(この例では206-4)を構築するためにインター予測が使用される動作シナリオでは、インター予測で使用される参照画像内の参照画像ブロックは、予測された画像ブロック(この例では206-4)が属する画像より前に生成されたデコード/再構成された画像ブロックから導出されてもよい。
一例では、図2Bに示されるようなエンコーダ側で、予測された画像ブロックの非ランダムアクセスシーケンス(210)がビットレート効率のよい表現に処理され、――残差画像ブロックの非ランダムアクセスシーケンス(210)および画像メタデータの非ランダムアクセスシーケンス(208)とともに――非ランダムアクセスビデオストリーム(212)に、エンコードされてもよい。これはたとえば、VLC動作、線形または非線形量子化動作、エントロピー符号化動作などによってである。たとえば、ビットレート効率のよい表現における予測された画像ブロックの非ランダムアクセスシーケンス(210)は、非ランダムアクセスビデオストリーム(212)で表される画像の比較的低品質なバージョンとしてエンコードされてもよい。
予測された画像ブロックの非ランダムアクセスシーケンス(210)が、残差画像ブロックの非ランダムアクセスシーケンス(210)および画像メタデータの非ランダムアクセスシーケンス(208)とともに非ランダムアクセスビデオストリーム(212)にエンコードされる今の例では、図2Cに示されるようなデコーダ側で、ビットレート効率のよい表現における予測された画像ブロックの非ランダムアクセスシーケンス(210)が、画像メタデータの非ランダムアクセスシーケンス(208)で表される画像メタデータとともに使用されて、特定の表現での(たとえば、特定の変換または周波数領域での、特定の空間領域での、特定の色空間での、残差画像ブロックの非ランダムアクセスシーケンス(210)が表現または変換される表現と互換性がある、など)予測された画像ブロックの非ランダムアクセスシーケンス(210)を再構成することができる。特定の表現での予測された画像ブロックの非ランダムアクセスシーケンス(210)は、デコーダ側で、残差画像ブロックの非ランダムアクセスシーケンス(210)と組み合わされて、非ランダムアクセスビデオストリーム(212)で表される画像の比較的高品質なバージョンを生成することができる。
予測された画像ブロックの非ランダムアクセスシーケンス(210)が、残差画像ブロックの非ランダムアクセスシーケンス(210)および画像メタデータの非ランダムアクセスシーケンス(208)とともに、非ランダムアクセスビデオストリーム(212)にエンコードされる今の例では、デコーダ側の予測動作は、ビデオ・エンコーダによって実行されるのと同じイントラまたはインター予測を実行して、同じ画像内の同じ近傍情報または同じ参照画像内の同じ参照画像ブロック(単数または複数)を使用して、それぞれのそのような予測された画像ブロック(この例では206-4)を生成または構築してもよい。ここで、同じ画像内の近傍情報または参照画像内の参照画像ブロック(単数または複数)は、ビデオ・エンコーダによって適用される同じ非ランダムアクセス処理順序に従って構築されてもよい。
予測画像ブロック(この例では206-4)を構築するためにイントラ予測が使用される動作シナリオでは、イントラ予測で使用される同じ画像内の近傍情報は、(1)予測された画像ブロック(この例では206-4)に対応する残差画像ブロックより遅くない残差画像ブロック、および(2)予測された画像ブロック(この例では206-4)に対応する画像メタデータ部分(たとえば、この例では208-4)より遅くない画像メタデータ部分に基づいて生成されたデコード/再構成された画像ブロックから導出されてもよい。
予測画像ブロック(この例では206-4)を構築するためにインター予測が使用される動作シナリオでは、インター予測で使用される参照画像内の参照画像ブロック(単数または複数)は、予測画像ブロック(この例では206-4)が属する画像より前に生成されたデコード/再構成された画像ブロックから導出されてもよい。
図2Bおよび図2Cのアプローチでは、非ランダムアクセス・ビデオ・ストリーム(212)(たとえば、符号化されたビットストリーム、標準または独自仕様で定義または指定された符号化構文に基づいて符号化されたビットストリームなど)を生成するために使用される非ランダムアクセス処理順序は、観察者によって操作される受領者装置によって忠実に観察される。いくつかの動作シナリオでは、非ランダムアクセスビデオストリーム(212)は、ストリーミングされたビデオが観察者に対してレンダリングされている間に、リアルタイムまたは近リアルタイムで同時的に決定される観察者の観察方向に応答または依存する仕方で、ビデオを送達またはストリーミングすることができてもできなくてもよい。たとえば、受領者装置によって実行される予測コーディング動作、VLC動作などは、非ランダムアクセスビデオストリーム(212)をエンコードするために使用される画像ブロック固有の符号化コンテキスト(たとえば、次の符号語またはバイト出現について推定される、画像ブロック固有の確率メトリックまたは値、画像ブロックから画像ブロックへと動的に変更可能な値など)に依存する。これらの画像ブロック固有の符号化コンテキストは、一部またはすべての予測動作、VLC動作などに関連して(たとえば、適応的に、動的に、個別的に、漸進的に、などで)維持、更新、および/または適用されてもよく、ビデオ・エンコーダおよび/またはビデオ・デコーダのメモリに記憶されてもよく、あるいは該メモリからアクセスされてもよい。
非ランダムアクセスビデオストリーム(212)で表される画像(たとえば、図1Aまたは図1Bの100)をデコードするプロセスでは、ビデオ・デコーダは、エンコーダ側で使用、実装、および/または適用されるのと同じ非ランダムアクセス処理順序で非ランダムアクセスビデオストリーム(212)をデコードするために使用されるデコーダ側ステートマシンを維持する。デコーダ側ステートマシンは、少なくとも部分的には以前の符号語またはバイトの出現(単数または複数)に基づいて、画像ブロック固有の符号化コンテキスト(たとえば、次の符号語またはバイト出現について推定される、画像ブロック固有の確率メトリックまたは値、画像ブロックから画像ブロックへと動的に変更可能な値など)を更新し続ける。
図2Bに示されるように、ビデオ・エンコーダのエンコード・プロセスでは、エンコーダ側の動作(202)は、個々の画像ブロック固有の符号化コンテキスト204-1、204-2、204-3、204-4などを含む画像ブロック固有の符号化コンテキストの非ランダムアクセスシーケンスを更新または維持する。
個々の画像ブロック固有の符号化コンテキスト(204-1、204-2、204-3、204-4など)は、ビットレート効率のよい表現またはビットレート効率のよい表現が導出されるもとになった以前の表現における、それぞれの予測画像ブロック(206-1、206-2、206-3、206-4など)、それぞれの画像メタデータ部分(208-1、208-2、208-3、208-4など)、それぞれの残差画像ブロックなどに対応する。たとえば、エンコーダ側の動作(202)またはエンコーダ側の動作(202)において使用されるエンコーダ側ステートマシンは、個々の画像ブロック固有の符号化コンテキスト(204-1、204-2、204-3、204-4など)を使用または適用して、ビットレート効率のよい表現または以前の表現における、それぞれの予測画像ブロック(206-1、206-2、206-3、206-4など)、それぞれの画像メタデータ部分(208-1、208-2、208-3、208-4など)、それぞれの残差画像ブロックなどを生成または構築できる。
図2Bに示されるように、ビデオ・エンコーダまたはエンコーダ側ステートマシンは、個々の画像ブロック固有の符号化コンテキスト(204-1、204-2、204-3、204-4など)を維持、更新および/または使用することによって、画像ブロックまたはスライスを非ランダムアクセス処理順序で処理して、それぞれの予測画像ブロック(206-1、206-2、206-3、206-4など)、それぞれの画像メタデータ部分(208-1、208-2、208-3、208-4など)、それぞれの残差画像ブロックなどを生成または構築する。
図2Cに示されるように、ビデオ・デコーダまたはデコーダ側ステートマシンは、個々の画像ブロック固有の符号化コンテキスト(204-1、204-2、204-3、204-4など)と同じまたは同等の個々の画像ブロック固有の符号化コンテキスト(254-1、254-2、254-3、254-4など)を維持、更新および/または使用することによって、画像ブロックまたはスライスを同じ非ランダムアクセス処理順序で処理して、それぞれの予測画像ブロック(206-1、206-2、206-3、206-4など)、それぞれの画像メタデータ部分(208-1、208-2、208-3、208-4など)、それぞれの残差画像ブロックなどを生成または構築する。
画像(たとえば、図1Aまたは図1Bの100など)または画像(100)のスライス内では、そのスライスのマクロブロック/ブロック構造(たとえば、コーディングツリー単位またはマクロブロック/ブロック構造などで表される)が同じ処理順序でエンコードまたはデコードされる。ビデオ・エンコーダとビデオ・デコーダの両方で、同じまたは同等の符号化コンテキスト(たとえば、確率メトリックまたは値、動的に変更可能な値など)が使用される。たとえば、画像ブロック固有の符号化コンテキスト(204)または(254)は、画像ロック固有の符号化コンテキスト(204-1ないし204-3)または(254-1ないし254-3)から、同じ処理順序で、ビデオ・エンコーダまたはビデオ・デコーダから、構築されることができる。ビデオ・エンコーダとビデオ・デコーダの両方が、同じ非ランダムアクセス処理順序に従って構築された同じまたは同等の符号化コンテキストに基づいて決定または生成された、イントラ予測方向または動きベクトルなどの同じ近傍または参照ブロック・データを使用して、イントラ予測またはインター予測を通じて現在の画像ブロックを予測できる。
ビデオ・デコーダが観察者の方向に基づく処理順序など、エンコーダ側の処理順序とは異なる処理順序を使用しうる動作シナリオでは、エンコーダ側の符号化コンテキストと比較して、異なる符号化コンテキストが、ビデオ・デコーダによって、前記異なる処理順序に沿って蓄積されることができる。結果として、非ランダムアクセスビデオストリーム(212)で表される画像データと画像メタデータが、ビデオ・デコーダによって誤ってデコードまたは回復される可能性がある。
たとえば、エンコーダ側のVLC符号化動作は、第1の画像ブロックを符号化および復号するために「c」の8ビット値が0のVLCコードを割り当てられることを示すVLCコードブック(またはVLCテーブル)を使用してもよい。これは、第1の画像ブロックの前のまたは第1の画像ブロックまでの、「c」の8ビット値の以前に見られた確率メトリックまたは値に基づきうる。その後、エンコーダ側のVLC符号化動作は、第2の画像ブロックの前のまたは第2の画像ブロックまでの、「d」の8ビット値の(追加的な)以前に見られた確率メトリックまたは値に基づいて、第1の画像ブロックの後の第2の画像ブロックを符号化および復号するために「d」の8ビット値が0のVLCコードを割り当てられることを示す更新されたVLCコードブック(または更新されたVLCテーブル)を使用することがありうる。デコーダ側のVLC符号化〔コーディング〕動作が同じVLCコードブック(または同じVLCテーブル)を使用し続けると、デコーダ側のVLC符号化動作が追加の更新情報を使用して、第2の画像ブロックの画像データを正しく解釈するためにVLCコードブック(またはVLCテーブル)をセットアップまたは更新できない限り、VLCコード0は、第2の画像ブロックについて誤って解釈される可能性がある。
よって、ここで記載されるようなランダムアクセス技法を実装しない他のアプローチでは、ビデオ・デコーダは、エンコーダ側の符号化コンテキストに基づいてビデオ・エンコーダによって採用された非ランダムアクセス処理順序に違反して、非ランダムアクセスビデオストリーム(212)において表現される画像ブロックまたはスライスをデコードすることを許容されない、または可能にされないであろう。単に例解の目的で、これらの他のアプローチにおいて、ビデオ・デコーダが、予測画像ブロック(この例では206-4)に対応するランダムアクセスされる画像ブロックに先行する他の残差画像ブロックにアクセスする前に、(1)予測された画像ブロック(この例では206-4)に対応する残差画像ブロック、(2)画像メタデータ部分(208-4)および(3)予測画像ブロック(206-4)にランダムアクセスすることが許容されうるとする。しかしながら、ランダムアクセスされる画像メタデータ部分(208-4)に先行する他の画像メタデータ部分(たとえば、208-2、208-3など)および/またはランダムアクセスされる予測画像ブロック(206-4)に先行する他の予測画像ブロック(たとえば、206-2、206-3など)はまだアクセスされていないので、ビデオ・デコーダの状態または符号化コンテキスト(たとえば、予測動作、VLC動作などのための確率メトリックまたは値)は、予測された画像ブロック(この例では206-4)、画像メタデータ部分(208-4)および/または予測画像ブロック(206-4)に対応するランダムアクセスされる残差画像ブロックを正しくデコードする目的のために、適切に更新されないであろう。
ここに記載されている技術の下では、スライスまたは画像ブロック、またはその中の画像データ(たとえば、ピクセル値、変換係数、残差画像データ、基層画像データ、予測画像されたブロックを再生成または再構成する画像データなど)を再生成する必要はない。非ランダムアクセスのビデオ・ストリームは、ビデオ・ストリーミング・サーバーなどの上流装置によって修正され、それにより、観察者によって操作されるビデオ・デコーダが、画像表示装置上にレンダリングされる画像の個々のスライスおよび/または画像ブロックへのランダムアクセスをすることが許容されるまたは可能にされるようにされるが、一方で、個々のランダムアクセスされるスライスおよび/または画像ブロックは、非ランダムアクセスのビデオ・エンコーダによって生成されたものと同じ画像データで符号化されたままにされる。
いくつかの動作シナリオでは、ここに記載されているランダムアクセスは、観察者の観察方向に基づいていてもよく、それにより、ランダムアクセスされるスライスおよび/または画像ブロックは、観察者から収集されたリアルタイムまたは近リアルタイムのセンサー・データに基づいてリアルタイムまたは近リアルタイムで同時的に決定された観察者の観察方向、観察者のビューポートまたはROIに対応する、またはそれをカバーする。
ランダムアクセス画像メタデータが、ビデオ・ストリーミング・サーバーによって生成され、ビデオ・デコーダに送信されて、ビデオ・デコーダを、今ランダムアクセスされるスライスおよび/または画像ブロック内の非ランダムアクセス・ビデオ・エンコーダによって符号化された画像データを正しく解釈するような特定のコーデック状態にすることができる。ランダムアクセス画像メタデータは、非ランダムアクセス・ビデオ・ストリームの画像メタデータおよび画像データから生成または再生成されうる。
たとえば、ランダムアクセス画像メタデータ部分は、ビデオ・デコーダによって再構成される画像ブロックに関して、ビデオ・ストリーミング・サーバーによって生成または再生成されてもよい。ランダムアクセス画像メタデータ部分は、ビデオ・デコーダによって受信および使用されてもよく、ビデオ・デコーダを、画像ブロックの非ランダムアクセス・ビデオ・エンコーダによって(たとえば、もともと、以前に、など)エンコードされた画像データを正しく(たとえば、正常に、誤解なしに、など)解釈するような特定のコーデックにするのに十分である。
4. 観察方向依存の処理命令
図3Aは、ソース・ビデオ・ストリームが外部ビデオ・データ・ソースからの入力としてパイプライン(300)によって受領され、ターゲット・ビデオ・ストリームが観察者に対してレンダリングするための出力として、パイプライン(300)によって出力される、例示的な修正されたビデオ送達パイプライン300を示している。
ソース・ビデオ・ストリームは、図1Aまたは図1Bの画像(100)を含むがこれに限定されない、(たとえば、比較的高品質、非圧縮、低圧縮などの)ソース・ビデオ画像256のシーケンスをエンコードされる。
修正されたビデオ送達パイプライン(300)は、(非ランダムアクセス)エンコーダ側動作202を実行するビデオ・エンコーダを含む。エンコーダ側動作(202)は、ソース・ビデオ画像のシーケンス256内の各ソース・ビデオ画像を、そのような各ソース・ビデオ画像のそれぞれのソース画像ブロックに分割またはパーティション分割する。エンコーダ側動作(202)は、非ランダムアクセス画像ブロック処理順序で、それぞれの画像ブロックにアクセス、処理および/またはエンコードし、それぞれのソース画像ブロックに対応する圧縮された非ランダムアクセス画像ブロックを生成する。圧縮された非ランダムアクセス画像ブロックは、非ランダムアクセス・ビデオ・ストリーム212にエンコードされる。いくつかの動作シナリオでは、非ランダムアクセスビデオストリーム(212)は、画像/フレームの各ブロック(たとえばマクロブロックなど)またはサブブロックについて、近傍イントラ/インター予測推定値、QP(量子化パラメータ)値、VLC状態などの非残差補助データとともに、受領者のランダムアクセス・ストリーミング・サーバー(またはストリーマー)に送達される。受領者のランダムアクセス・ビデオ・ストリーミング・サーバー(またはストリーマー)は、この非残差補助データを使用して、ランダムアクセス要求に応答して送信される画像メタデータまたはその一部を作成することができる。非残差補助データは、非ランダムアクセスエンコーダによって(画像)メタデータとして捕捉され、追加データまたは付随データとして記憶されてもよい。一例では、ランダムアクセスストリーミングサーバーは、非ランダムアクセスエンコーダから画像メタデータを受領して使用することができる。別の例では、ランダムアクセスストリーミングサーバーは、完全デコード・プロセス(および/または完全エンコード・プロセス)を実行して、この(画像)メタデータを生成できる。追加的、任意的または代替的に、非ランダムアクセスエンコーダから受領される、またはランダムアクセス・ビデオ・ストリーミング・サーバーによって生成される画像メタデータは、現在のブロック、ターゲット・ブロック、近傍ブロック、および/または参照ブロックの一部またはすべてに関連する、イントラ/インター予測情報、QP値VLC状態などを含んでいてもよい。追加的、任意的または代替的に、残差動きベクトルと予測でのイントラモードのほうが、完全な動きベクトルと0予測を送るよりも高いいくつかの動作シナリオでは、ランダムアクセスストリーミングサーバーは、再エンコードされた完全な動きベクトルを送信する決定をすることができる。追加的、任意的または代替的に、非ランダムアクセスエンコーダから受領された、またはランダムアクセス・ビデオ・ストリーミング・サーバーによって生成された画像メタデータは、ビデオ・エンコーダがその動作においてそのメタデータを生成するのではあっても、(たとえば、伝統的な、などの)ビデオ・エンコーダによって一般的に記憶されてもされなくてもよいタイプのメタデータを含んでいてもよい。いくつかの動作シナリオでは、非ランダムアクセスエンコーダなどのエンコーダは、このメタデータを、たとえばランダムアクセスビデオストリーミングサーバーに、またはランダムアクセスビデオストリーミングサーバーによってアクセスされる記憶媒体に記憶されたメディア・ファイルに、時間の経過とともに出力し続けるように修正されてもよい。
非ランダムアクセスビデオストリーム(212)は、比較的高い帯域幅、比較的低いレイテンシーなどで、一つまたは複数の第1のデータ・リンク(または第1のコンピュータ・ネットワーク経路)を通じて直接的または間接的に受領者のランダムアクセスストリーミングサーバーに送達される。
第1の例では、非ランダムアクセスビデオストリーム(212)は、ビデオ・エンコーダのエンコーダ側の動作(202)によって最初に出力され、ビデオ・データ・ストア214などの有形のコンピュータ可読記憶媒体に記憶され、その後、ランダムアクセスストリーミングサーバー(またはランダムアクセス再符号化サーバー)によって有形のコンピュータ可読記憶媒体から取得されてもよい。
第2の例では、非ランダムアクセスビデオストリーム(212)は、ビデオ・エンコーダのエンコーダ側動作(202)によって、ランダムアクセス・ストリーミング・サーバー(またはランダムアクセス再符号化サーバー)に直接出力されてもよい。
修正されたビデオ送達パイプライン(300)のランダムアクセスストリーミングサーバーは、ランダムアクセス・ストリーミング動作258’を実行して、非ランダムアクセス画像ブロック処理順序に違反して、非ランダムアクセスビデオストリーム(212)において表現されるスライスおよび/または画像ブロックへのランダムアクセスをサポートするための、特定の画像メタデータ(これは、修正されたビデオ・ストリーム212'とともに搬送または送達される画像メタデータの修正されたシーケンス(図3Bの208')に含まれる)を生成する。非ランダムアクセスビデオストリーム(212)をストリーミングする代わりに、ランダムアクセスストリーミングサーバーは、特定の画像メタデータを含む修正されたビデオ・ストリーム212'を――たとえば非ランダムアクセス・ビデオ・ストリーム(212)において受領された画像データおよび画像メタデータから――生成し、修正されたビデオ・ストリーム212'内の特定の画像メタデータをもつランダムアクセス・スライス212および/または画像ブロックを、一つまたは複数の第2のデータ・リンク(または第2のコンピュータ・ネットワーク経路)を通じて受領者の(たとえば、ランダムアクセスなどの)のビデオ・デコーダにストリーミングする。第2のデータ・リンクは、第1のデータ・リンク(または第1のコンピュータ・ネットワーク経路)と比較して、比較的低い帯域幅、比較的高いレイテンシーなどをもっていてもよい。ランダムアクセスされるスライスおよび/または画像ブロックは、たとえば少なくとも部分的にはビデオ・デコーダから受領される観察方向データ262に基づいて、ビデオ・ストリーミング・サーバーによって、ストリーミングされる一部またはすべての画像ブロックの中から、選択されてもよい。
修正されたビデオ送達パイプライン(300)のビデオ・デコーダは、修正されたビデオストリーム(212')に対してランダムアクセス・デコード動作252'を実行して、修正されたビデオストリーム(212')においてエンコードされている圧縮された画像ブロック(ランダムアクセスビデオストリーミングサーバーによって送達のために発送された画像の、ランダムアクセスされるスライスまたは画像ブロックを含む)を圧縮解除する。修正されたビデオストリーム(212')のランダムアクセス画像メタデータは、ビデオ・デコーダによって、ランダムアクセスされるスライスまたは画像ブロック内の画像データを正しく解釈し、ソース・ビデオ画像のシーケンスの修正された再構成されたバージョン256'を生成するために使用できる。限定ではなく例として、修正された再構成されたバージョン(256')は、画像100(たとえば、図1Aまたは図1Bの画像(100)などと同じであってもよい)の修正された再構成されたバージョンを表す画像100'(たとえば、図1Cの画像(100')などと同じであってもよい)を含んでいてもよい。修正された再構成されたバージョン(256')では、ランダムアクセスされるスライスまたは画像ブロック(たとえば、図1Cの104-4など)に対応する再構成された画像ブロックが、観察者に対してレンダリングするために、比較的迅速に(たとえば、図1Cの104-2および104-3の前などに)に画像レンダリング装置またはターゲット画像ディスプレイに出力されることができる。
図3Bは、図3Aを参照して説明した、ビデオ・ストリーミング・サーバーなどのビデオ処理装置によって実行されるビデオ・ストリーミング・プロセスの例示的な(ランダムアクセス)ストリーミング動作258'を示す。ランダムアクセス・ストリーミング動作(258')は、予測動作、フィルタリング動作、量子化動作、量子化解除動作、変換動作、逆変換動作、加算動作、減算動作、乗算動作、除算動作、エントロピー符号化動作、可変長符号化(VLC)動作などを含みうるが、必ずしもこれらに限定されない。
ビデオ・ストリーミング・サーバーは、ビデオ・デコーダからリアルタイムまたは近リアルタイムの観察方向データ(262)を受領し、観察方向データ(262)を使用して、ビデオ・デコーダからの観察方向データ262に少なくとも部分的に基づいて、ランダムにアクセスされるべき、非ランダムアクセス・ビデオ・ストリーム(212)内のスライスおよび/または画像ブロック(たとえば、観察者の観察方向、ビューポートおよび/またはROIなどに対応する、またはそれらをカバーする)を識別し、非ランダムアクセス・ビデオ・ストリーム(212)からデコード、取得、および/または決定される画像メタデータおよび画像データからランダムアクセス画像メタデータを生成する。ビデオ・ストリーミング・サーバーは、ランダムアクセスされるスライスおよび/または画像ブロック内の画像データの送達およびレンダリングを迅速処理するために、ランダムアクセスされるスライスおよび/または画像ブロックの画像データを、ランダムアクセス画像メタデータと一緒に、修正されたビデオ・ストリーム(212')内のパッケージングする修正されたビデオストリーム(212')を生成する。ランダムアクセスされるスライスおよび/または画像ブロックの画像データと一緒に修正されたビデオストリーム(212')においてパッケージングされたランダムアクセス画像メタデータは、ビデオ・デコーダが、ランダムアクセスされるスライスおよび/または画像ブロック内の画像データを正しく解釈することを許容するまたは可能にする。
図3Bに示されるように、修正されたビデオストリーム(212')は、残差画像ブロックの修正されたシーケンス(210')と画像メタデータの修正されたシーケンス(208')を含む。いくつかの動作シナリオでは、ここで説明するような残差画像ブロックは、空間的/時間的予測と、もとの画像と予測された画像からの残差の結果である。残差画像ブロック(たとえば、非ランダムアクセス・エンコーダなどによって生成される)は、ランダムアクセスストリーミングサーバーによって修正されることなく、出力符号化されたビットストリームにおいてランダムアクセスストリーミングサーバーによってエンコードされるよう、DCT量子化などのエンコード動作を経てもよい。比較のために、いくつかの動作シナリオでは、もとの画像と予測された画像から――たとえば非ランダムアクセスエンコーダなどによって――生成された残差画像ブロックは、ランダムアクセスストリーミングサーバーによって変更されることがあり;変更された残差画像ブロックは、出力符号化ビットストリームにおいてランダムアクセスストリーミングサーバーによってエンコードされるよう、DCT量子化などのエンコード動作を経てもよい。追加的、任意的または代替的に、いくつかの動作シナリオでは、予測された画像ブロックの修正されたシーケンス(206')も、修正されたビデオストリーム(212')において、たとえば、受領された非ランダムアクセスビデオストリーム(212)において表される同じシーン/コンテンツを描写する画像の比較的低品質バージョンを搬送する基本層において、含まれてもよい。
画像がビデオ・デコーダによって観察者に対してレンダリングされている間、ビデオ・デコーダは、観察者に関連してリアルタイムまたは近リアルタイムのセンサー・データを収集するために、一つまたは複数のセンサーまたはアイトラッキング装置とともに動作する。ビデオ・デコーダは、収集されたリアルタイムまたは近リアルタイムのセンサー・データから観察方向データを生成し、観察方向データをビデオ・ストリーミング・サーバーに送信する。
限定ではなく例として、ビデオ・ストリーミング・サーバーは最初に、集団として図1Cの画像(100')の画像ブロック(104-1)に対応する、非ランダムアクセス・ビデオ・ストリーム(212)内の残差画像ブロック、画像メタデータ部分208-1および/または予測された画像ブロック206-1にアクセスする。残差画像ブロック、画像メタデータ部分(208-1)および/または予測された画像ブロック(206-1)は、処理、パッケージング、またはエンコードされて、修正されたビデオストリーム(212')にされてもよい。残差画像ブロックは、残差画像ブロックの修正されたシーケンスに(たとえばそのまま、などで)含まれる;画像メタデータ部分(208-1)と同じであっても、または観察者の観察方向に基づいて修正されてもよい画像メタデータ部分208'-1が、画像メタデータの修正されたシーケンス(208')に含まれる;予測される画像ブロック(206-1)は、予測される画像ブロックの修正されたシーケンス(206')に(たとえばそのまま、などで)含まれる。修正されたシーケンス(210'、208'および/または206')における残差画像データ、画像メタデータ部分(208'-1)、および/または予測画像ブロック(206'-1)は、ビデオ・ストリーミング・サーバーによってビデオ・エンコーダにストリーミングされる。
その後、ビデオ・ストリーミング・サーバーは、観察者の観察方向を現在、リアルタイムまたは近リアルタイムで示し、図1Cの画像(100')の画像ブロック(104-4)に対応するリアルタイムまたは近リアルタイム観察方向データ(262)を、ビデオ・デコーダから、受領する。
応答して、画像ブロック(104-2)および(104-3)の画像データを(たとえば、すぐに、次に、など)ストリーミングする代わりに、ビデオ・ストリーミング・サーバーは(たとえば、すぐに、次に、など)、ビデオ・デコーダに送信されることができるランダムアクセス画像メタデータ部分208'-4を生成する。該メタデータ部分は、ビデオ・デコーダが観察者の観察方向に対応またはそれをカバーする画像ブロック(104-4)を(たとえば、すぐに、次に、など)再構成することを許容するまたは可能にする。
より具体的には、ビデオ・ストリーミング・サーバーは、図1Cの画像(100')の画像ブロック(104-4)までの画像ブロック(たとえば、104-2、104-3、104-4など)に対応する画像データおよび画像メタデータを表す、非ランダムアクセス・ビデオ・ストリーム(212)内の残差画像ブロック、画像メタデータ部分208-2ないし208-4、および/または予測された画像ブロック206-2ないし206-4にアクセスする。これらの画像データおよび画像メタデータに基づいて、ビデオ・ストリーミング・サーバーはランダムアクセス画像メタデータ部分208'-4を生成する。ビデオ・ストリーミング・サーバーは、ランダムアクセス画像メタデータ部分を、いずれも画像(100')の画像ブロック(104-4)に対応する残差画像ブロックおよび/または予測された画像ブロック206-4とともに、修正されたビデオ・ストリーム(212')内に含めるか、エンコードする。
ランダムアクセスビデオストリーム(212')においてエンコードされた残差画像ブロックおよび/または予測された画像ブロック(206-4)は、非ランダムアクセスビデオストリーム(212)からデコードまたは受領されたものと同じであってもよいが、画像メタデータ部分(208'-4)は、非ランダムアクセスビデオストリーム(212)から受領された画像メタデータ部分(208-4)とは異なっていてもよい。
画像メタデータ部分(208-4)の受領者装置は、画像ブロック(104-2)および(104-3)に対応する先行画像データおよび先行画像メタデータを受領しないと、画像ブロック(104-4)に対応する残差画像ブロックおよび予測された画像ブロック(206-4)内の画像データを正しく解釈できない。
対照的に、画像メタデータ部分(208'-4)の受領者装置は、画像ブロック(104-2)および(104-3)に対応する先行画像データおよび先行画像メタデータを受領することなく、画像ブロック(104-4)に対応する残差画像ブロックおよび予測された画像ブロック(206-4)内の画像データを正しく解釈できる。受領者装置が画像ブロック(104-4)に対応する残差画像ブロックおよび予測された画像ブロック(206-4)内の画像データを正しく解釈することを許容するまたは可能にするために、画像メタデータ部分(208'-4)が特別に生成されるからである。
図3Cは、修正されたビデオストリーム(212')の受領者装置(またはデコーダ装置)によって実行されるデコード・プロセスの例示的な(ランダムアクセス)デコーダ側動作252'を示している。これらのデコーダ側動作(252')は、予測動作、フィルタリング動作、量子化動作、量子化解除動作、変換動作、逆変換動作、加算動作、減算動作、乗算動作、除算動作、エントロピー符号化動作、可変長符号化(VLC)動作などを含みうるが、必ずしもこれらに限定されない。
ビデオ・デコーダは、ビデオ・デコーダと関連して動作する一つまたは複数のセンサーまたはアイトラッキング装置から、リアルタイムまたは近リアルタイムのセンサー・データ264を継続的に(たとえば、定期的に、ポーリング・スケジュールで、AR、VRまたは没入型ビデオアプリケーションのユーザーセッションにおける複数の時点で、などで)受領または収集する。センサー・データ(264)は、観察者が修正されたビデオストリーム(212')から導出されたレンダリングされた画像を観察している間、リアルタイムまたは近リアルタイムでで観察者の観察方向、ビューポートまたはROIを同時的に決定するためにビデオ・デコーダによって継続的に使用される(たとえば、定期的に、ポーリング・スケジュールで、AR、VRまたは没入型ビデオアプリケーションのユーザーセッションにおける複数の時点で、などで)。
ビデオ・デコーダは、センサー・データ(264)から生成されたリアルタイムまたは近リアルタイムの観察方向データ(262)をランダムアクセスビデオストリーミングサーバーに送信する。観察方向データ(262)は、観察者の観察方向、ビューポート、またはROIを示す。
その間に、ビデオ・デコーダは、ランダムアクセスビデオストリーミングサーバーから、少なくとも部分的に観察方向データ(262)に基づいて非ランダムアクセス・ビデオ・ストリーム(図2Aの212)を修正することによって生成されうる修正されたビデオ・ストリーム(図3Aまたは図3Bの212')を受領する。修正されたビデオストリーム(212')は、残差画像ブロックの修正されたシーケンスと画像メタデータの修正されたシーケンス(208')を含む。
追加的、任意的または代替的に、いくつかの動作シナリオでは、修正されたビデオストリーム(212')は、ビットレート効率のよい表現での予測画像ブロック(208')の修正シーケンスを、たとえば非ランダムアクセスビデオストリーム(212)と修正されたビデオストリーム(212')の両方で描写されるビデオ・コンテンツの比較的低品質なバージョンを提供するための基本層画像データとして、含む。
残差画像ブロック、画像メタデータ、および/または予測された画像ブロックのこれらの修正されたシーケンスでは、(ランダムアクセス)処理順序(たとえば、エンコード/デコード順序など)が実装され、ビデオ・デコーダが、観察者が修正されたビデオストリーム(212')からのレンダリングされた画像を見ている間に同時的に決定された、観察者のリアルタイムまたは近リアルタイムの観察方向、ビューポート、またはROIに対応またはそれをカバーする画像ブロックにアクセスする、それをデコードする、および/またはそれをレンダリングすることを許容するまたは可能にする。
図2Bおよび図2Cに示されるように、非ランダムアクセスビデオストリーム(212)は、図1Aまたは図1Bの画像(100)の画像ブロック(104-1)に対応する画像データおよび画像メタデータをエンコードされた後、たとえ観察者の同時的なまたは予測される観察方向が画像ブロック(104-4)のような異なる画像ブロックに対応する位置に向けられていたとしても、図1Aまたは図1Bの画像(100)の画像ブロック(104-2)に対応する画像データおよび画像メタデータを非ランダムアクセス処理順序でエンコードされる。
比較として、図3Bおよび図3Cに示されるように、修正されたビデオストリーム(212')は、図1Aまたは図1Bの画像(100)の画像ブロック(104-1)に対応する画像データおよび画像メタデータをエンコードされた後、観察者の同時的なまたは予測される観察方向が画像ブロック(104-4)のような異なる画像ブロックに対応する位置に向けられていることを判別することに応答して、図1Aまたは図1Bの画像(100)の画像ブロック(104-4)に対応する画像データおよび画像メタデータをランダムアクセス処理順序でエンコードされる。
このように、ビデオ・デコーダは、修正されたビデオストリーム(212')を使用して、ビデオ・エンコーダが非ランダムアクセスビデオストリーム(212)を生成するために使用した非ランダムアクセス処理順序とは異なるランダムアクセス処理順序で画像データおよび画像メタデータを処理およびレンダリングする。修正されたビデオストリーム(212')によって可能にされるランダムアクセス処理順序は、観察者の観察方向、ビューポート、またはROIに対応またはそれをカバーする画像ブロックの画像データおよび画像メタデータの処理、エンコード、および送達を優先する。
図3Cに示されるように、予測された画像ブロックの修正されたシーケンスは、ランダムアクセス処理順序に従って、206-1、206-4、206-2、206-5などを含む。同様に、画像メタデータの修正されたシーケンスは、ランダムアクセス処理順序に従って、208'-1、208'-4、208'-2、208'-5などを含む。
図3Cに示されるように、ビデオ・デコーダは、ランダムアクセス・デコーダ側の動作202'を実行して、観察者に対してレンダリングされる画像(たとえば、図1 Cの画像(100')など)を生成または構築する。デコーダ側の動作(202')は、ステートマシンを使用または実装し;残差画像ブロック、画像メタデータ、および/または予測された画像ブロックの修正されたシーケンスを受領し;ステートマシンのために、少なくとも部分的には画像データおよび画像メタデータのこれらの修正されたシーケンスに基づいて、個々の画像ブロック固有の符号化コンテキスト(たとえば、254'-1、254'-4、254'-2、254'-5など)を維持および更新し;該個々の画像ブロック固有の符号化コンテキスト(254'-1,
254'-4, 254'-2, 254'-5など)を使用して、ランダムアクセス処理順序で画像(たとえば100'など)の画像ブロックまたはスライス(たとえば104-1、104-4、104-2、104-5など)を処理、生成、構築、および/または再構成する。
たとえば、ビデオ・デコーダは、残差画像ブロックおよび/または予測された画像ブロック206-4との関連で画像メタデータ部分208'-4を受け取る。これらはすべて、デコーダ側で画像ブロック(104-1)が再構成された後の画像ブロック(104-4)に対応し、それを再構成するために使用される。ビデオ・デコーダは、画像メタデータ部分208'-4ならびに画像ブロック(104-1)および他のすでに受領されたまたはすでにデコードされた画像データおよび画像メタデータを使用して、ビデオ・デコーダを符号化コンテキスト254'-4(これは、図2Cの符号化コンテキスト254と同じか、同等であってもよい)によって表される特定のコーデック状態に配置することができる。それによりビデオ・デコーダは、画像ブロック(104-2)および(104-3)を再構成するための画像データおよび画像メタデータをまだ受領していないときでも、画像ブロック(104-4)を再構成する目的で、予測動作、VLC動作などを、残差画像ブロックおよび/または予測される画像ブロック(206-4)に関して正しく実行できる。
ランダムアクセスストリーミングサーバーによって生成され、ビデオ・デコーダに送信される画像メタデータ(208')の修正されたシーケンスにより、ビデオ・デコーダは、非ランダムアクセス処理順序に関する順序から外れて、画像ブロックを受領および処理できる。ここで記載される技法では、観察者が観察者固有のビデオ・ストリームからの画像を観察している間に同時的に決定された観察者のそれぞれの観察方向、ビューポート、またはROIに基づいて、観察者固有のビデオ・ストリームが動的に作成できる。修正された画像メタデータが受領者デコーダに送信される間、同じ残差画像ブロックおよび/または予測された画像ブロックなどの同じ画像データが該受領者ビデオ・デコーダに送信されることができる。結果として、残差画像ブロックおよび/または予測された画像ブロックなどの画像データは、エンコーダ側で再符号化される必要がなくなり、それにより、デコーダ側で以前に受領された画像データを無効にする可能性がある画像データ再符号化によって引き起こされる、ビデオ・デコーダによって実行されるリスタートやリセット(これは時間がかかる場合がある)を回避できる。
画像メタデータの修正されたシーケンス(208')は、ビデオ・デコーダが観察者の観察方向、ビューポート、またはROIに対応する画像ブロックのランダムアクセスをサポートするのための正しい符号化状態を伝えるために使用できる。画像メタデータの修正されたシーケンス(208')は、可能性としてはビデオ・デコーダによってすでに受領されたまたはすでに構築された他の画像メタデータまたは画像データとともに、(たとえば、迅速処理される画像ブロックなどに関する)デコーダ側の動作を実行するための十分な情報を提供する。該デコーダ側の動作は、VLCコーディングのためのステートマシンの設定、イントラ予測のための近傍ブロックまたはピクセル・メトリックまたは値の送信、インター予測のための動きベクトル情報の送信、エントロピー符号化のための算術状態の送信などを含むがそれに限定されない。これにより、現在処理または再構成されている画像ブロック(または迅速処理される画像ブロック)のための画像データおよび画像メタデータは、あたかも画像ブロック(たとえば104-2、104-3など)についてのすべての画像データおよび画像メタデータが非ランダムアクセス処理順序に沿ったすでに送達され、ビデオ・デコーダによって受領されているかのように、正しく、効率的にデコードできる。
画像メタデータの修正されたシーケンス(208')などのランダムアクセス画像メタデータは、修正されたビデオストリーム(212')によって、多様な画像メタデータ送達方法のうちの一つまたは複数で搬送されうる。非限定的な例では、ランダムアクセス画像メタデータの一部またはすべてが、修正されたビデオストリーム(212')において、補足向上情報(Supplemental Enhancement Information、SEI)情報メタデータとして送信されてもよい。別の非限定的な例では、ランダムアクセス画像メタデータの一部またはすべてが、修正されたビデオ・ストリーム(212')内の既存のまたは新しく定義されたビデオビットストリーム符号化構文(単数または複数)に基づいて、画像メタデータコンテナにおいて送信されてもよい。追加的、任意的、または代替的に、ランダムアクセス画像メタデータの一部またはすべてを搬送するパケットが、修正されたビデオストリーム(212')の一部として、別個のストリームとして、またはサブストリームとして送信されてもよい。
いくつかの動作シナリオでは、少なくとも一部のランダムアクセス画像メタデータが、ビデオ・デコーダによって以前に受領された比較的低品質(たとえば、比較的高品質のバージョンと比べて、比較的低解像度、比較的低ダイナミックレンジ、比較的狭い色域など)の基本層画像データ(たとえば、予測された画像ブロック206など)からビデオ・デコーダによって生成されてもよい。たとえば、動きベクトルまたはその差分/更新が、ビデオ・ストリーミング・サーバーによって生成および送信された画像メタデータの修正されたシーケンスを通じて信号伝達されるのではなく、ビデオ・デコーダによって基本層画像データから導出されてもよい。結果として、少なくとも一部のランダムアクセス画像メタデータは、本稿に記載されるようにビデオ・ストリームから画像の比較的高品質のバージョン(たとえば、比較的低品質のバージョンと比べて比較的高解像度、比較的高いダイナミックレンジ、比較的広い色域など)を構築するためにビデオ・ストリーミング・サーバーからそのような画像メタデータを受領することなく、ジャストインタイムで作成または推定されてもよい(たとえば、フォールバック戦略などとして使用される)。ただし、基本層画像データから生成された比較的不正確なまたは比較的低解像度の動きベクトル情報によって引き起こされるいくつかのアーチファクトが存在することがありうる。
いくつかの動作シナリオでは、まだ送達されていない画像ブロックからの画像データの短縮バージョンが生成されてもよい。たとえば、DC値(たとえば、8ビットの画像データ値の下位7ビット部分、画像データ値の半分、画像データ値の1ビットシフトなど)が、まだ送達されていない画像ブロックから決定または導出されてもよい。画像データの短縮バージョンは、――たとえばビデオ・ストリームとは別個のストリームまたはビデオ・ストリームのサブストリームにおいて――ビデオ・デコーダに送達されてもよい。これは、ビデオ・デコーダは、画像データの短縮バージョンを使用して予測情報を推定し、DCモード予測動作を実行し、観察者の観察方向、ビューポート、またはROIに対応するまたはそれをカバーする画像ブロックを生成または構築することを許容する、または可能にする。
例示的なランダムアクセス画像メタデータは、イントラおよび/またはインター予測のための予測モードまたはトリガー、近傍画像データ、動きベクトル、VLC符号化状態情報などのいずれかを含みうるが、必ずしもこれらのみに限定されない。いくつかの動作シナリオでは、近傍画像データと動きベクトルを直接送信する代わりに、現在の近傍画像データと以前の近傍画像データの間、および現在の動きベクトルと以前の動きベクトルの間の差分(または更新)が、ビデオ・ストリーミング・サーバーによってビデオ・デコーダに送信されてもよい。同様に、VLC符号化状態情報を直接送信する代わりに、VLC符号化状態情報の差分(または更新)がビデオ・ストリーミング・サーバーによってビデオ・デコーダに送信されてもよい。ビデオ・デコーダは符号化状態(または符号化コンテキスト)を維持するため、受領された差分(または更新)は、既存の符号化状態(または符号化コンテキスト)における既存の値に加算されてもよく、またはそれに対する更新として使用されてもよい。
説明のためだけに、本稿に記載されるランダムアクセス画像メタデータは、予測動作、VLC動作などのための画像メタデータを含みうることが記載された。フィルタリング動作、補間動作などを含むがこれらに限定されない他の画像処理または構築動作のためのランダムアクセス画像メタデータも、画像ブロックのランダムアクセスを可能にするために使用されてもよいことに注意されたい。
本稿で使用されるところでは、本稿に記載されるビデオ・ストリームにおけるビデオ・コンテンツには、オーディオビジュアル・プログラム、映画、ビデオ・プログラム、テレビ放送、コンピュータゲーム、拡張現実(AR)コンテンツ、仮想現実(VR)コンテンツ、自動車のエンターテインメントコンテンツなどの任意のものを含みうるが、必ずしもそれに限定されない。例示的なビデオ・デコーダは、ディスプレイ装置、ニアアイ・ディスプレイを備えたコンピューティング装置、ヘッドマウントディスプレイ(HMD)、モバイル装置、ウェアラブルディスプレイ装置、テレビなどのディスプレイと一緒のセットトップボックス、ビデオモニターなどの任意のものを含みうるが、必ずしもそれに限定されない。
本稿で使用されるところでは、「ビデオ・ストリーミング・サーバー」は、ビデオ・コンテンツの少なくとも一部を一つまたは複数のディスプレイにレンダリングするために、ビデオ・コンテンツを準備し、ビデオ・デコーダなどの一つまたは複数のビデオストリーミング・クライアントにストリーミングする一つまたは複数の上流装置を指してもよい。ビデオ・コンテンツがレンダリングされるディスプレイは、前記一つまたは複数のビデオストリーミング・クライアントの一部であってもよく、あるいは前記一つまたは複数のビデオストリーミング・クライアントとの関連で動作していてもよい。
例示的なビデオ・ストリーミング・サーバーは、ビデオストリーミング・クライアント(単数または複数)からリモートに位置するクラウドベースのビデオ・ストリーミング・サーバー、ビデオストリーミング・クライアント(単数または複数)とローカルの有線または無線ネットワークを通じて接続されたローカル・ビデオストリーミングサーバー、VR装置、AR装置、自動車のエンターテインメント装置、デジタルメディア装置、デジタルメディアレシーバー、セットトップボックス、ゲーム機(たとえばXbox)、汎用パーソナルコンピュータ、タブレット、Apple TVやRokuボックスなどの専用のデジタルメディアレシーバーなどを含みうるが、必ずしもこれらに限定されない。
5. 例示的なプロセス・フロー
図4Aは、本開示の例示的な実施形態による例示的なプロセス・フローを示す。いくつかの例示的な実施形態では、一つまたは複数のコンピューティング装置またはコンポーネントがこのプロセス・フローを実行することができる。ブロック402では、画像プロセッサ(たとえば、ビデオ・ストリーミング・サーバー、ビデオ・エンコーダ、ビデオコンテンツプロバイダー、ビデオトランスコーダなど)が、非ランダムアクセス処理順序で処理される画像ブロックをエンコードされた非ランダムアクセス・ビデオ・ストリームにアクセスする。画像ブロックの第1の画像ブロックは、非ランダムアクセス処理順序に従って、一つまたは複数の第2の画像ブロックの後に処理される。
ブロック404では、画像プロセッサは、観察者がランダムアクセス・ビデオ・ストリームのビデオ・コンテンツを観察している間にリアルタイムで収集された観察者の観察方向データを受領する。ランダムアクセス・ビデオ・ストリームは、非ランダムアクセス・ビデオ・ストリームから生成される。観察方向データは、観察者がランダムアクセス・ビデオ・ストリームのビデオ・コンテンツを観察しているときに、第1の画像ブロックによってカバーされる位置と一致する観察者の観察方向を示す。追加的、任意的または代替的に、いくつかの動作シナリオでは、メディアプログラムがユーザーまたはユーザー集団に対してレンダリングされている間の観察者または観察者集団の観察方向の時間的追跡は、(たとえば、統計に基づく、などの)メトリックまたは過去の履歴を提供または形成しうる。
該メトリックまたは履歴は、本稿に記載されているように、新しい方向の観察方向を設定または予測し、予測された観察方向に従って画像データおよび画像メタデータを、下流の受領者ストリーミング・クライアント装置に送達するために準備または生成(プライミング)するために、ストリーミング・サーバーによって使用される。追加的、任意的、または代替的に、機械学習(ML)ベースの技法を使用または適用して、予想される観察ディレクターが向けられる関心領域(ROI)部分を特定できる。このように、所与の時点での観察方向は、統計データまたはMLに基づいて計算されうる。そのような観察方向は、メディアプログラム内の画像データのランダムアクセスを作成するために、リアルタイムまたは非リアルタイムの動作シナリオで使用されうる。このアプローチは、符号化を期待される観察方向のために最適化することなく、画像メタデータおよび画像メタデータが符号化されたストリーミングメディア・プログラムに適用できる。よって、そのようなメディアプログラムが本稿に記載されるようにランダムアクセスストリーミングサーバーによってストリーミングされる、または書き込まれるときに、ランダムアクセスストリーミングサーバーは、統計的に決定された、ML予測された、などの観察方向をリアルタイムまたは非リアルタイムのメディアコンテンツ消費動作に組み込むことができる。
ブロック406では、画像プロセッサは、第1の画像ブロックを、非ランダムアクセス処理順序とは異なるランダムアクセス処理順序で、一つまたは複数の第2の画像ブロックの前に、ランダムアクセス・ビデオ・ストリームにエンコードする。ランダムアクセス処理順序は、ランダムアクセス・ビデオ・ストリームのビデオ・コンテンツが観察者に対してレンダリングされている間の観察者の観察方向に依存する。非ランダムアクセス処理順序は、観察者の観察方向に依存しない。
ブロック408で、画像プロセッサは、ランダムアクセス・ビデオ・ストリームを、観察者によって操作される受領者デコード装置に送達し、第1の画像ブロックを、ランダムアクセス処理順序に従って、前記一つまたは複数の第2の画像ブロックの前に、ランダムアクセス・ビデオ・ストリームから、処理され、レンダリングされるようにする。
ある実施形態では、非ランダムアクセス処理順序は、ラスタ順、ジグザグ順、または観察方向に依存しない処理順序のいずれかを表す。
ある実施形態では、第1の画像ブロックは、観察者のビューポートをカバーする2つ以上の画像ブロックのグループに属する;前記一つまたは複数の第2の画像ブロックは、観察者のビューポートの外側にある;第1の画像ブロックを含む2つ以上の画像ブロックの前記グループは、前記一つまたは複数の第2の画像ブロックの前に、受領者デコード装置への送達のために迅速処理される。
ある実施形態では、第1の画像ブロックは、観察者の関心領域をカバーする2つ以上の画像ブロックのグループに属する;前記一つまたは複数の第2の画像ブロックは、観察者の関心領域の外にある;第1の画像ブロックを含む2つ以上の画像ブロックの前記グループは、前記一つまたは複数の第2の画像ブロックの前に、受領者デコード装置への送達のために迅速に処理される。
ある実施形態では、非ランダムアクセス・ビデオ・ストリームは、第1の画像ブロックとともに送達される第1の画像メタデータ部分を含む;第1の画像メタデータ部分は、第1の画像ブロックをデコードするために、ビデオ・コーデックを以前の符号化状態から現在の符号化状態に移行させるために使用される;以前の符号化状態は、非ランダムアクセス処理順序に従って、第1の画像ブロックの前にデコードされる前の画像ブロックをデコードするためにビデオ・コーデックによって使用される。
ある実施形態では、ランダムアクセス・ビデオ・ストリームは、受領者デコード装置に第1の画像ブロックとともに送達される第1の修正された画像メタデータ部分を含む;第1の修正された画像メタデータ部分は、第1の画像ブロックをデコードするために、非ランダムアクセス処理順序に従って以前の符号化状態を進めることを回避し、受領者デコード装置を現在の符号化状態に移行させるために使用される;第1の修正された画像メタデータ部分は、第1の画像メタデータ部分とは異なる。
ある実施形態では、第1の修正された画像メタデータ部分は、可変長符号化動作のための状態への更新を含む;第1の画像メタデータ部分は該更新を含まない。
ある実施形態では、第1の修正された画像メタデータ部分は、予測符号化動作のための状態への更新を含む;第1の画像メタデータ部分は該更新を含まない。
ある実施形態では、ランダムアクセス・ビデオ・ストリームは:拡張現実アプリケーション、仮想現実アプリケーション、映画館ビデオアプリケーション、ホームベースのビデオアプリケーション、ビデオストリーミングアプリケーション、クラウドベースのビデオアプリケーション、Wi-Fiベースのビデオアプリケーション、セルラーデータネットワークベースのビデオアプリケーション、没入的ビデオアプリケーションなどのいずれかをサポートするために使用される。
図4Bは、本開示のある例示的実施形態による、例示的なプロセス・フローを示している。いくつかの例示的実施形態では、一つまたは複数のコンピューティング装置またはコンポーネントがこのプロセス・フローを実行しうる。ブロック452では、画像プロセッサ(たとえば、ビデオストリーミング・クライアント、ビデオ・デコーダ、セットトップ装置など)が上流装置からランダムアクセス・ビデオ・ストリームを受領する。ランダムアクセス・ビデオ・ストリームは、非ランダムアクセス・ビデオ・ストリームから生成される。
ブロック454では、画像プロセッサは、観察者がランダムアクセス・ビデオ・ストリームのビデオ・コンテンツを観察している間にリアルタイムで収集された観察者の観察方向データを上流装置に送信する。観察方向データは、観察者がランダムアクセス・ビデオ・ストリームのビデオ・コンテンツを観察している間に、画像ブロックの第1の画像ブロックによってカバーされる位置と一致する観察者の観察方向を示す。
非ランダムアクセス・ビデオ・ストリームは、非ランダムアクセス処理順序で処理される画像ブロックをエンコードされる。画像ブロックの第1の画像ブロックは、非ランダムアクセス処理順序に従って一つまたは複数の第2の画像ブロックの後に処理される。
ランダムアクセス処理順序は、ランダムアクセス・ビデオ・ストリームのビデオ・コンテンツが観察者に対してレンダリングされている間の観察者の観察方向に依存する。非ランダムアクセス処理順序は、観察者の観察方向に依存しない。
ブロック456では、画像プロセッサは、ランダムアクセス・ビデオ・ストリームを介して、前記一つまたは複数の第2の画像ブロックの前に、第1の画像ブロックを上流装置から受領する。
ブロック458では、画像プロセッサは、ランダムアクセス処理順序に従って、前記一つまたは複数の第2の画像ブロックの前に、第1の画像ブロックを処理し、レンダリングする。
ある実施形態では、ランダムアクセス・ビデオ・ストリームは、ビデオ・コンテンツの比較的低品質のバージョンを表す基本層画像データを含む;基本層画像データは、動き推定を導出するために使用される;ビデオ・コンテンツの比較的高品質なバージョンは、少なくとも部分的には、基本層画像データから導出される動き推定ならびにランダムアクセス・ビデオ・ストリームからデコードされる画像データおよび画像メタデータに基づいて生成される。
ある実施形態では、第1の画像ブロックは、観察者の方向をカバーする画像領域を形成する2つ以上の連続した画像ブロックのグループに属する;前記一つまたは複数の第2の画像ブロックが前記画像領域の外側にある;2つ以上の連続した画像ブロックの前記グループ内の他の画像は、前記一つまたは複数の第2の画像ブロックの前に受領され、デコードされ、レンダリングされる。
さまざまな例示的実施形態では、装置、システム、装置、または一つまたは複数の他のコンピューティング装置が、前述の方法のいずれかまたは一部を実行する。ある実施形態では、非一時的なコンピュータ可読記憶媒体がソフトウェア命令を記憶し、該ソフトウェア命令は、一つまたは複数のプロセッサによって実行されると、ここで説明する方法を実行させる。
本稿では別個の実施形態が論じられているが、本稿で論じられる実施形態および/または部分的な実施形態の任意の組み合わせが組み合わされて、さらなる実施形態を形成してもよい。
6. 実装機構――ハードウェアの概観
ある実施形態によれば、本明細書に記載される技法は、一つまたは複数の特殊目的のコンピューティング装置によって実装される。特殊目的のコンピューティング装置は、それらの技法を実行するために固定構成にされてもよく、またはそれらの技法を実行するために永続的にプログラムされた一つまたは複数の特定用途向け集積回路(ASIC)またはフィールド・プログラマブル・ゲート・アレイ(FPGA)のようなデジタル電子装置を含んでいてもよく、またはファームウェア、メモリ、他の記憶、または組み合わせにおけるプログラム命令に従ってそれらの技法を実行するようプログラムされた一つまたは複数の汎用ハードウェア・プロセッサを含んでいてもよい。そのような特殊目的のコンピューティング装置はまた、カスタムの固定構成論理、ASIC、またはFPGAをカスタム・プログラミングと組み合わせて、それらの技法を達成してもよい。特殊目的のコンピューティング装置は、デスクトップ・コンピュータ・システム、ポータブル・コンピュータ・システム、ハンドヘルド装置、ネットワーキング装置、またはこれらの技法を実装するよう固定構成および/またはプログラム論理を組み込んだ他の任意の装置であってもよい。
たとえば、図5は、本開示の例示的な実施形態が実装されうるコンピュータ・システム500を示すブロック図である。コンピュータ・システム500は、情報を通信するためのバス502または他の通信機構と、情報を処理するための、バス502に結合されたハードウェア・プロセッサ504とを含む。ハードウェア・プロセッサ504はたとえば汎用マイクロプロセッサであってもよい。
コンピュータ・システム500は、ランダム・アクセス・メモリ(RAM)または他の動的記憶装置のような、情報およびプロセッサ504によって実行されるべき命令を記憶するための、バス502に結合されたメイン・メモリ506をも含む。メイン・メモリ506はまた、一時変数または他の中間的な情報を、プロセッサ504によって実行されるべき命令の実行の間、記憶しておくために使われてもよい。そのような命令は、プロセッサ504にとってアクセス可能な非一時的な記憶媒体に記憶されたとき、コンピュータ・システム500を、前記命令において指定されている動作を実行するようにカスタマイズされた特殊目的機械にする。
コンピュータ・システム500はさらに、バス502に結合された、静的な情報およびプロセッサ504のための命令を記憶するための読み出し専用メモリ(ROM)508または他の静的記憶装置を含む。
磁気ディスクまたは光ディスク、半導体RAMのような記憶装置510が提供され、情報および命令を記憶するためにバス502に結合される。
コンピュータ・システム500は、コンピュータ・ユーザーに対して情報を表示するための、液晶ディスプレイのようなディスプレイ512にバス502を介して結合されていてもよい。英数字その他のキーを含む入力装置514が、情報およびコマンド選択をプロセッサ504に伝えるためにバス502に結合される。もう一つの型のユーザー入力装置は、方向情報およびコマンド選択をプロセッサ504に伝えるとともにディスプレイ512上でのカーソル動きを制御するための、マウス、トラックボールまたはカーソル方向キーのようなカーソル・コントロール516である。この入力装置は典型的には、第一軸(たとえばx)および第二軸(たとえばy)の二つの軸方向において二つの自由度をもち、これにより該装置は平面内での位置を指定できる。
コンピュータ・システム500は、本稿に記載される技法を実施するのに、カスタマイズされた固定構成論理、一つまたは複数のASICもしくはFPGA、コンピュータ・システムと組み合わさってコンピュータ・システム500を特殊目的機械にするまたはプログラムするファームウェアおよび/またはプログラム論理を使ってもよい。ある実施形態によれば、本稿の技法は、プロセッサ504がメイン・メモリ506に含まれる一つまたは複数の命令の一つまたは複数のシーケンスを実行するのに応答して、コンピュータ・システム500によって実行される。そのような命令は、記憶装置510のような別の記憶媒体からメイン・メモリ506に読み込まれてもよい。メイン・メモリ506に含まれる命令のシーケンスの実行により、プロセッサ504は、本稿に記載されるプロセス段階を実行する。代替的な実施形態では、ソフトウェア命令の代わりにまたはソフトウェア命令と組み合わせて固定構成の回路が使用されてもよい。
本稿で用いられる用語「記憶媒体」は、データおよび/または機械に特定の仕方で動作させる命令を記憶する任意の非一時的な媒体を指す。そのような記憶媒体は、不揮発性媒体および/または揮発性媒体を含んでいてもよい。不揮発性媒体は、たとえば、記憶装置510のような光学式または磁気ディスクを含む。揮発性媒体は、メイン・メモリ506のような動的メモリを含む。記憶媒体の一般的な形は、たとえば、フロッピーディスク、フレキシブルディスク、ハードディスク、半導体ドライブ、磁気テープまたは他の任意の磁気データ記憶媒体、CD-ROM、他の任意の光学式データ記憶媒体、孔のパターンをもつ任意の物理的媒体、RAM、PROMおよびEPROM、フラッシュEPROM、NVRAM、他の任意のメモリ・チップまたはカートリッジを含む。
記憶媒体は、伝送媒体とは異なるが、伝送媒体と関連して用いられてもよい。伝送媒体は、記憶媒体間で情報を転送するのに参加する。たとえば、伝送媒体は同軸ケーブル、銅線および光ファイバーを含み、バス502をなすワイヤを含む。伝送媒体は、電波および赤外線データ通信の際に生成されるような音響波または光波の形を取ることもできる。
さまざまな形の媒体が、一つまたは複数の命令の一つまたは複数のシーケンスを実行のためにプロセッサ504に搬送するのに関与しうる。たとえば、命令は最初、リモート・コンピュータの磁気ディスクまたは半導体ドライブ上に担持されていてもよい。リモート・コンピュータは該命令をその動的メモリにロードし、該命令をモデムを使って電話線を通じて送ることができる。コンピュータ・システム500にローカルなモデムが、電話線上のデータを受信し、赤外線送信器を使ってそのデータを赤外線信号に変換することができる。赤外線検出器が赤外線信号において担持されるデータを受信することができ、適切な回路がそのデータをバス502上に載せることができる。バス502はそのデータをメイン・メモリ506に搬送し、メイン・メモリ506から、プロセッサ504が命令を取り出し、実行する。メイン・メモリ506によって受信される命令は、任意的に、プロセッサ504による実行の前または後に記憶装置510上に記憶されてもよい。
コンピュータ・システム500は、バス502に結合された通信インターフェース518をも含む。通信インターフェース518は、ローカル・ネットワーク522に接続されているネットワーク・リンク520への双方向データ通信結合を提供する。たとえば、通信インターフェース518は、対応する型の電話線へのデータ通信接続を提供するための、統合サービス・デジタル通信網(ISDN)カード、ケーブル・モデム、衛星モデムまたはモデムであってもよい。もう一つの例として、通信インターフェース518は、互換LANへのデータ通信接続を提供するためのローカル・エリア・ネットワーク(LAN)カードであってもよい。無線リンクも実装されてもよい。そのようないかなる実装でも、通信インターフェース518は、さまざまな型の情報を表すデジタル・データ・ストリームを搬送する電気的、電磁的または光学的信号を送受信する。
ネットワーク・リンク520は典型的には、一つまたは複数のネットワークを通じた他のデータ装置へのデータ通信を提供する。たとえば、ネットワーク・リンク520は、ローカル・ネットワーク522を通じてホスト・コンピュータ524またはインターネット・サービス・プロバイダー(ISP)526によって運営されているデータ設備への接続を提供してもよい。ISP 526は、現在一般に「インターネット」528と称される世界規模のパケット・データ通信網を通じたデータ通信サービスを提供する。ローカル・ネットワーク522およびインターネット528はいずれも、デジタル・データ・ストリームを担持する電気的、電磁的または光学的信号を使う。コンピュータ・システム500に/からデジタル・データを搬送する、さまざまなネットワークを通じた信号およびネットワーク・リンク520上および通信インターフェース518を通じた信号は、伝送媒体の例示的な形である。
コンピュータ・システム500は、ネットワーク(単数または複数)、ネットワーク・リンク520および通信インターフェース518を通じて、メッセージを送り、プログラム・コードを含めデータを受信することができる。インターネットの例では、サーバー530は、インターネット528、ISP 526、ローカル・ネットワーク522および通信インターフェース518を通じてアプリケーション・プログラムのための要求されたコードを送信してもよい。
受信されたコードは、受信される際にプロセッサ504によって実行されても、および/または、のちの実行のために記憶装置510または他の不揮発性記憶に記憶されてもよい。
7.等価物、拡張、代替その他
以上の明細書では、本開示の例示的実施形態について、実装によって変わりうる数多くの個別的詳細に言及しつつ述べてきた。このように、何が本開示の実施形態であるか、何が出願人によって本開示の実施形態であると意図されているかの唯一にして排他的な指標は、この出願に対して付与される特許の請求項の、その後の訂正があればそれも含めてかかる請求項が特許された特定の形のものである。かかる請求項に含まれる用語について本稿で明示的に記載される定義があったとすればそれは請求項において使用される当該用語の意味を支配する。よって、請求項に明示的に記載されていない限定、要素、特性、特徴、利点もしくは属性は、いかなる仕方であれかかる請求項の範囲を限定すべきではない。よって、明細書および図面は制約する意味ではなく例示的な意味で見なされるべきものである。
本発明のさまざまな側面は、以下の箇条書き例示的実施形態(enumerated example embodiment、EEE)から理解されうる。
〔EEE1〕
ビデオ・ストリーム・データを提供する方法であって:
非ランダムアクセス処理順序で処理される画像ブロックをエンコードされた非ランダムアクセス・ビデオ・ストリームにアクセスする段階であって、前記画像ブロックのうちの第1の画像ブロックは、前記非ランダムアクセス処理順序によれば一つまたは複数の第2の画像ブロックの後に処理される、段階と;
観察者がランダムアクセス・ビデオ・ストリームのビデオ・コンテンツを観察している間にリアルタイムで収集された観察者の観察方向データを、受領者デコード装置から受領する段階であって、前記ランダムアクセス・ビデオ・ストリームは、前記非ランダムアクセス・ビデオ・ストリームから生成され、前記観察方向データは、観察者が前記ランダムアクセス・ビデオ・ストリームのビデオ・コンテンツを観察している間に前記第1の画像ブロックによってカバーされる位置と一致する観察者の観察方向を示す、段階と;
前記第1の画像ブロックを、前記非ランダムアクセス処理順序とは異なるランダムアクセス処理順序で、前記一つまたは複数の第2の画像ブロックの前に、前記ランダムアクセス・ビデオ・ストリームにエンコードする段階であって、前記ランダムアクセス処理順序は、前記ランダムアクセス・ビデオ・ストリームのビデオ・コンテンツが観察者に対してレンダリングされている間の観察者の観察方向に依存し;前記非ランダムアクセス処理順序は、観察者の観察方向に依存しない、段階と;
前記ランダムアクセス・ビデオ・ストリームを、観察者によって操作される前記受領者デコード装置に送達し、前記第1の画像ブロックを、前記ランダムアクセス処理順序に従って、前記一つまたは複数の第2の画像ブロックの前に、前記ランダムアクセス・ビデオ・ストリームから、処理され、レンダリングされるようにする、段階とを含む、
方法。
〔EEE2〕
前記非ランダムアクセス処理順序は、ラスタ順、ジグザグ順、または観察方向に依存しない処理順序のいずれかを表す、EEE1に記載の方法。
〔EEE3〕
前記第1の画像ブロックは、観察者のビューポートをカバーする2つ以上の画像ブロックのグループに属し;前記一つまたは複数の第2の画像ブロックは、観察者のビューポートの外にあり;第1の画像ブロックを含む2つ以上の画像ブロックの前記グループは、前記一つまたは複数の第2の画像ブロックの前に、前記受領者デコード装置への送達のために迅速処理される、EEE1または2に記載の方法。
〔EEE4〕
前記第1の画像ブロックは、観察者の関心領域をカバーする2つ以上の画像ブロックのグループに属し;前記一つまたは複数の第2の画像ブロックは、観察者の関心領域の外にあり;前記第1の画像ブロックを含む2つ以上の画像ブロックの前記グループは、前記一つまたは複数の第2の画像ブロックの前に、前記受領者デコード装置への送達のために迅速処理される、EEE1ないし3のうちいずれか一項に記載の方法。
〔EEE5〕
前記非ランダムアクセス・ビデオ・ストリームは、前記第1の画像ブロックとともに送達される第1の画像メタデータ部分を含み;前記第1の画像メタデータ部分は、前記第1の画像ブロックをデコードするために、ビデオ・コーデックを以前の符号化状態から現在の符号化状態に移行させるために使用され;前記以前の符号化状態は、前記非ランダムアクセス処理順序に従って、前記第1の画像ブロックの前にデコードされる前の画像ブロックをデコードするために前記ビデオ・コーデックによって使用される、EEE1ないし4のうちいずれか一項に記載の方法。
〔EEE6〕
前記ランダムアクセス・ビデオ・ストリームは、前記受領者デコード装置に前記第1の画像ブロックとともに送達される第1の修正された画像メタデータ部分を含み;前記第1の修正された画像メタデータ部分は、前記第1の画像ブロックをデコードするために、前記非ランダムアクセス処理順序に従って前記以前の符号化状態を進めることを回避し、前記受領者デコード装置を前記現在の符号化状態に移行させるために使用され;前記第1の修正された画像メタデータ部分は、前記第1の画像メタデータ部分とは異なる、EEE5に記載の方法。
〔EEE7〕
前記第1の修正された画像メタデータ部分は、可変長符号化動作のための状態への更新を含み;前記第1の画像メタデータ部分は該更新を含まない、EEE6に記載の方法。
〔EEE8〕
前記第1の修正された画像メタデータ部分は、予測符号化動作のための状態への更新を含み;前記第1の画像メタデータ部分は該更新を含まない、EEE6または7に記載の方法。
〔EEE9〕
前記ランダムアクセス・ビデオ・ストリームは、拡張現実アプリケーション、仮想現実アプリケーション、映画館ビデオアプリケーション、ホームベースのビデオアプリケーション、ビデオストリーミングアプリケーション、クラウドベースのビデオアプリケーション、Wi-Fiベースのビデオアプリケーション、セルラーデータネットワークベースのビデオアプリケーション、または没入的ビデオアプリケーションのうちのいずれかをサポートするために使用される、EEE1ないし8のうちいずれか一項に記載の方法。
〔EEE10〕
ビデオ・ストリーム・データをレンダリングする方法であって:
上流装置からランダムアクセス・ビデオ・ストリームを受領する段階であって、前記ランダムアクセス・ビデオ・ストリームは、非ランダムアクセス・ビデオ・ストリームから生成される、段階と;
観察者がランダムアクセス・ビデオ・ストリームのビデオ・コンテンツを観察している間にリアルタイムで収集された観察者の観察方向データを前記上流装置に送信する段階であって、前記観察方向データは、観察者が前記ランダムアクセス・ビデオ・ストリームのビデオ・コンテンツを観察している間に、画像ブロックの第1の画像ブロックによってカバーされる位置と一致する観察者の観察方向を示し;
前記非ランダムアクセス・ビデオ・ストリームは、非ランダムアクセス処理順序で処理される画像ブロックをエンコードされており;前記画像ブロックの前記第1の画像ブロックは、前記非ランダムアクセス処理順序に従って一つまたは複数の第2の画像ブロックの後に処理され;
前記ランダムアクセス処理順序は、前記ランダムアクセス・ビデオ・ストリームのビデオ・コンテンツが観察者に対してレンダリングされている間の観察者の観察方向に依存し;前記非ランダムアクセス処理順序は、観察者の観察方向に依存しない、段階と;
前記ランダムアクセス・ビデオ・ストリームを介して、前記一つまたは複数の第2の画像ブロックの前に、前記第1の画像ブロックを前記上流装置から受領する段階と;
前記ランダムアクセス処理順序に従って、前記一つまたは複数の第2の画像ブロックの前に、前記第1の画像ブロックを処理し、レンダリングする段階とを含む、
方法。
〔EEE11〕
前記ランダムアクセス・ビデオ・ストリームは、前記ビデオ・コンテンツの比較的低品質のバージョンを表す基本層画像データを含み;前記基本層画像データは、動き推定を導出するために使用され;前記ビデオ・コンテンツの比較的高品質なバージョンが、少なくとも部分的には、前記基本層画像データから導出される前記動き推定ならびに前記ランダムアクセス・ビデオ・ストリームからデコードされる画像データおよび画像メタデータに基づいて生成される、EEE10に記載の方法。
〔EEE12〕
前記第1の画像ブロックは、観察者の方向をカバーする画像領域を形成する2つ以上の連続した画像ブロックのグループに属し;前記一つまたは複数の第2の画像ブロックは前記画像領域の外にあり;2つ以上の連続した画像ブロックの前記グループ内の他の画像は、前記一つまたは複数の第2の画像ブロックの前に受領され、デコードされ、レンダリングされる、EEE10または11に記載の方法。
〔EEE13〕
前記ランダムアクセス・ビデオ・ストリームは、拡張現実アプリケーション、仮想現実アプリケーション、映画館ビデオアプリケーション、ホームベースのビデオアプリケーション、ビデオストリーミングアプリケーション、クラウドベースのビデオアプリケーション、Wi-Fiベースのビデオアプリケーション、セルラーデータネットワークベースのビデオアプリケーション、または没入的ビデオアプリケーションのうちのいずれかをサポートするために使用される、EEE10または11に記載の方法。
〔EEE14〕
プロセッサを有しており、EEE1ないし13のうちいずれか一項に記載の方法を実行するように構成されている装置。
〔EEE15〕
EEE1ないし13のうちいずれか一項に記載の方法に従って一つまたは複数のプロセッサで方法を実行するためのコンピュータ実行可能命令を記憶している非一時的なコンピュータ読み取り可能な記憶媒体。

Claims (20)

  1. ビデオ・ストリーム・データを提供する方法であって:
    非ランダムアクセス処理順序で処理される画像ブロックをエンコードされた非ランダムアクセス・ビデオ・ストリームにアクセスする段階であって、前記画像ブロックのうちの第1の画像ブロックは、前記非ランダムアクセス処理順序によれば一つまたは複数の第2の画像ブロックの後に処理される、段階と;
    観察者がランダムアクセス・ビデオ・ストリームのビデオ・コンテンツを観察している間にリアルタイムで収集された観察者の観察方向データを、受領者デコード装置から受領する段階であって、前記ランダムアクセス・ビデオ・ストリームは、前記非ランダムアクセス・ビデオ・ストリームから生成され、前記観察方向データは、観察者が前記ランダムアクセス・ビデオ・ストリームのビデオ・コンテンツを観察している間に前記第1の画像ブロックによってカバーされる位置と一致する観察者の観察方向を示す、段階と;
    前記第1の画像ブロックを、前記非ランダムアクセス処理順序とは異なるランダムアクセス処理順序で、前記一つまたは複数の第2の画像ブロックの前に、前記ランダムアクセス・ビデオ・ストリームにエンコードする段階であって、前記ランダムアクセス処理順序は、前記ランダムアクセス・ビデオ・ストリームのビデオ・コンテンツが観察者に対してレンダリングされている間の観察者の観察方向に依存し;前記非ランダムアクセス処理順序は、観察者の観察方向に依存しない、段階と;
    前記ランダムアクセス・ビデオ・ストリームを、観察者によって操作される前記受領者デコード装置に送達し、前記第1の画像ブロックを、前記ランダムアクセス処理順序に従って、前記一つまたは複数の第2の画像ブロックの前に、前記ランダムアクセス・ビデオ・ストリームから、処理され、レンダリングされるようにする、段階とを含む、
    方法。
  2. 前記非ランダムアクセス処理順序は、ラスタ順、ジグザグ順、または観察方向に依存しない処理順序のいずれかを表す、請求項1に記載の方法。
  3. 前記第1の画像ブロックは、観察者のビューポートをカバーする2つ以上の画像ブロックのグループに属し;前記一つまたは複数の第2の画像ブロックは、観察者のビューポートの外にあり;第1の画像ブロックを含む2つ以上の画像ブロックの前記グループは、前記一つまたは複数の第2の画像ブロックの前に、前記受領者デコード装置への送達のために迅速処理される、請求項1または2に記載の方法。
  4. 前記第1の画像ブロックは、観察者の関心領域をカバーする2つ以上の画像ブロックのグループに属し;前記一つまたは複数の第2の画像ブロックは、観察者の関心領域の外にあり;前記第1の画像ブロックを含む2つ以上の画像ブロックの前記グループは、前記一つまたは複数の第2の画像ブロックの前に、前記受領者デコード装置への送達のために迅速処理される、請求項1ないし3のうちいずれか一項に記載の方法。
  5. 前記非ランダムアクセス・ビデオ・ストリームは、前記第1の画像ブロックとともに送達される第1の画像メタデータ部分を含み;前記第1の画像メタデータ部分は、前記第1の画像ブロックをデコードするために、ビデオ・コーデックを以前の符号化状態から現在の符号化状態に移行させるために使用され;前記以前の符号化状態は、前記非ランダムアクセス処理順序に従って、前記第1の画像ブロックの前にデコードされる前の画像ブロックをデコードするために前記ビデオ・コーデックによって使用される、請求項1ないし4のうちいずれか一項に記載の方法。
  6. 前記ランダムアクセス・ビデオ・ストリームは、前記受領者デコード装置に前記第1の画像ブロックとともに送達される第1の修正された画像メタデータ部分を含み;前記第1の修正された画像メタデータ部分は、前記第1の画像ブロックをデコードするために、前記非ランダムアクセス処理順序に従って前記以前の符号化状態を進めることを回避し、前記受領者デコード装置を前記現在の符号化状態に移行させるために使用される、請求項1ないし5のうちいずれか一項に記載の方法。
  7. 前記第1の修正された画像メタデータ部分が、前記第1の画像メタデータ部分とは異なる、請求項5および6に記載の方法。
  8. 前記第1の修正された画像メタデータ部分は、可変長符号化動作のための状態への更新を含み;前記第1の画像メタデータ部分は該更新を含まない、請求項7に記載の方法。
  9. 前記第1の修正された画像メタデータ部分は、予測符号化動作のための状態への更新を含み;前記第1の画像メタデータ部分は該更新を含まない、請求項7または8に記載の方法。
  10. 前記ランダムアクセス・ビデオ・ストリームは、拡張現実アプリケーション、仮想現実アプリケーション、映画館ビデオアプリケーション、ホームベースのビデオアプリケーション、ビデオストリーミングアプリケーション、クラウドベースのビデオアプリケーション、Wi-Fiベースのビデオアプリケーション、セルラーデータネットワークベースのビデオアプリケーション、または没入的ビデオアプリケーションのうちのいずれかをサポートするために使用される、請求項1ないし9のうちいずれか一項に記載の方法。
  11. ビデオ・ストリーム・データをレンダリングする方法であって:
    上流装置からランダムアクセス・ビデオ・ストリームを受領する段階であって、前記ランダムアクセス・ビデオ・ストリームは、非ランダムアクセス・ビデオ・ストリームから生成される、段階と;
    観察者がランダムアクセス・ビデオ・ストリームのビデオ・コンテンツを観察している間にリアルタイムで収集された観察者の観察方向データを前記上流装置に送信する段階であって、前記観察方向データは、観察者が前記ランダムアクセス・ビデオ・ストリームのビデオ・コンテンツを観察している間に、画像ブロックの第1の画像ブロックによってカバーされる位置と一致する観察者の観察方向を示し;
    前記非ランダムアクセス・ビデオ・ストリームは、非ランダムアクセス処理順序で処理される画像ブロックをエンコードされており;前記画像ブロックの前記第1の画像ブロックは、前記非ランダムアクセス処理順序に従って一つまたは複数の第2の画像ブロックの後に処理され;
    前記ランダムアクセス処理順序は、前記ランダムアクセス・ビデオ・ストリームのビデオ・コンテンツが観察者に対してレンダリングされている間の観察者の観察方向に依存し;前記非ランダムアクセス処理順序は、観察者の観察方向に依存しない、段階と;
    前記ランダムアクセス・ビデオ・ストリームを介して、前記一つまたは複数の第2の画像ブロックの前に、前記第1の画像ブロックを前記上流装置から受領する段階と;
    前記ランダムアクセス処理順序に従って、前記一つまたは複数の第2の画像ブロックの前に、前記第1の画像ブロックを処理し、レンダリングする段階とを含む、
    方法。
  12. 前記ランダムアクセス・ビデオ・ストリームは、前記ビデオ・コンテンツの比較的低品質のバージョンを表す基本層画像データを含み;前記基本層画像データは、動き推定を導出するために使用され;前記ビデオ・コンテンツの比較的高品質なバージョンが、少なくとも部分的には、前記基本層画像データから導出される前記動き推定に基づいて生成される、請求項11に記載の方法。
  13. 前記第1の画像ブロックは、観察者の方向をカバーする画像領域を形成する2つ以上の連続した画像ブロックのグループに属し;前記一つまたは複数の第2の画像ブロックは前記画像領域の外にあり;2つ以上の連続した画像ブロックの前記グループ内の他の画像は、前記一つまたは複数の第2の画像ブロックの前に受領され、デコードされ、レンダリングされる、請求項11または12に記載の方法。
  14. 前記ランダムアクセス・ビデオ・ストリームは、拡張現実アプリケーション、仮想現実アプリケーション、映画館ビデオアプリケーション、ホームベースのビデオアプリケーション、ビデオストリーミングアプリケーション、クラウドベースのビデオアプリケーション、Wi-Fiベースのビデオアプリケーション、セルラーデータネットワークベースのビデオアプリケーション、または没入的ビデオアプリケーションのうちのいずれかをサポートするために使用される、請求項11または12に記載の方法。
  15. 前記非ランダムアクセス・ビデオ・ストリームは、前記第1の画像ブロックとともに送達される第1の画像メタデータ部分を含み;前記第1の画像メタデータ部分は、前記第1の画像ブロックをデコードするために、ビデオ・コーデックを以前の符号化状態から現在の符号化状態に移行させるために使用され;前記以前の符号化状態は、前記非ランダムアクセス処理順序に従って、前記第1の画像ブロックの前にデコードされる、前の画像ブロックをデコードするために前記ビデオ・コーデックによって使用される、請求項11ないし14のうちいずれか一項に記載の方法。
  16. 前記ランダムアクセス・ビデオ・ストリームは、受領者デコード装置に前記第1の画像ブロックとともに送達される第1の修正された画像メタデータ部分を含み;前記第1の修正された画像メタデータ部分は、前記第1の画像ブロックをデコードするために、前記非ランダムアクセス処理順序に従って前記以前の符号化状態を進めることを回避し、前記受領者デコード装置を前記現在の符号化状態に移行させるために使用される、請求項11ないし15のうちいずれか一項に記載の方法。
  17. 前記第1の修正された画像メタデータ部分は、前記第1の画像メタデータ部分とは異なる、請求項15および16に記載の方法。
  18. 前記第1の修正された画像メタデータ部分は、可変長符号化動作のための状態への更新を含み;前記第1の画像メタデータ部分は該更新を含まない、請求項17に記載の方法。
  19. プロセッサを有しており、請求項1ないし18のうちいずれか一項に記載の方法を実行するように構成されている装置。
  20. 請求項1ないし18のうちいずれか一項に記載の方法に従って一つまたは複数のプロセッサで方法を実行するためのコンピュータ実行可能命令を記憶している非一時的なコンピュータ読み取り可能な記憶媒体。
JP2023506159A 2020-08-03 2021-08-02 閲覧方向に基づくビットストリームのランダムアクセスのサポート Pending JP2023536585A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202063060272P 2020-08-03 2020-08-03
EP20189127.2 2020-08-03
US63/060,272 2020-08-03
EP20189127 2020-08-03
PCT/US2021/044244 WO2022031633A1 (en) 2020-08-03 2021-08-02 Supporting view direction based random access of bitstream

Publications (1)

Publication Number Publication Date
JP2023536585A true JP2023536585A (ja) 2023-08-28

Family

ID=77367485

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023506159A Pending JP2023536585A (ja) 2020-08-03 2021-08-02 閲覧方向に基づくビットストリームのランダムアクセスのサポート

Country Status (5)

Country Link
US (1) US20230300346A1 (ja)
EP (1) EP4189964A1 (ja)
JP (1) JP2023536585A (ja)
CN (1) CN116195255A (ja)
WO (1) WO2022031633A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11758104B1 (en) * 2022-10-18 2023-09-12 Illuscio, Inc. Systems and methods for predictive streaming of image data for spatial computing

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10620441B2 (en) * 2016-12-14 2020-04-14 Qualcomm Incorporated Viewport-aware quality metric for 360-degree video
KR102208129B1 (ko) * 2017-09-26 2021-01-27 엘지전자 주식회사 360 비디오 시스템에서 오버레이 처리 방법 및 그 장치
EP3721417A1 (en) * 2017-12-22 2020-10-14 Huawei Technologies Co., Ltd. Vr 360 video for remote end users

Also Published As

Publication number Publication date
WO2022031633A1 (en) 2022-02-10
CN116195255A (zh) 2023-05-30
US20230300346A1 (en) 2023-09-21
EP4189964A1 (en) 2023-06-07

Similar Documents

Publication Publication Date Title
JP7046220B2 (ja) 小ブロックの予測と変換のための方法、装置、及びプログラム
US9445114B2 (en) Method and device for determining slice boundaries based on multiple video encoding processes
JP7407800B2 (ja) 最確モードの導出のための方法、装置及びコンピュータプログラム
JP2023126928A (ja) マルチラインイントラ予測に対するmpmリスト生成を実現するための方法、装置、及びコンピュータプログラム
JP7372426B2 (ja) ビデオビットストリームの中のオフセットによる参照ピクチャ再サンプリングの方法
JP2017507539A (ja) マルチレイヤコーディングにおいて回復点補足エンハンスメント情報(sei)メッセージと領域リフレッシュ情報seiメッセージとをコーディングするための方法
JP2016046778A (ja) 映像圧縮装置および映像再生装置
JP2022515126A (ja) ビデオ・コーディングのための方法、装置及びコンピュータ・プログラム
JP2022514513A (ja) タイル及びサブ画像の分割
JP7302044B2 (ja) イントラインター予測を制御する方法、エンコーダ、デコーダ、及びプログラム
JP2022522841A (ja) ビデオビットストリームにおける適応画像サイズのシグナリング
JP2022501959A (ja) ビデオ符号化及び復号のための方法および装置
JP2022516062A (ja) ビデオ復号のための方法、ビデオデコーダ、およびコンピュータプログラム、ならびにビデオ符号化のための方法
JP7416946B2 (ja) ビデオコーディングのための方法および装置
JP2022515799A (ja) ビデオ復号の方法および装置、並びにプログラム
JP7368498B2 (ja) コーディング方法、装置、及びコンピュータ・プログラム
JP2022521519A (ja) ビデオビットストリームにおけるインターレイヤ予測のシグナリング
JP2023171607A (ja) 参照ピクチャー再サンプリングがある場合のラップアラウンド動き補償に関する方法、装置、コンピュータ・プログラム
JP2023536585A (ja) 閲覧方向に基づくビットストリームのランダムアクセスのサポート
JP2022526802A (ja) アクセスユニットのデリミター信号化のための方法、装置、およびコンピュータプログラム
JP2022525056A (ja) ビデオ符号化方法、装置及びコンピュータプログラム
JP2022504379A (ja) イントラ予測におけるイントラモード選択
JP7342125B2 (ja) ネットワーク抽象化レイヤユニットヘッダ
JP2022525989A (ja) ビデオコーディングのための方法、装置及びプログラム
CN114270329A (zh) 清单内更新事件