現在、非常に効率的なビデオ・コーディング(HEVCまたはITU−T H.265)として知られているビデオ・コーディング規格が開発されており、H.265/AVC(MPEG−4、第10部、高度ビデオ・コーディング)のような他のコーディング規格と比較すると、はるかに高い圧縮効率を提供することができる。加えて、HEVC(SHVC)のスケーラブルな拡張版は、積層HEVC−ベースのビデオ・コーディング方式に対応する(provide)。これは、ベース・レイヤおよびエンハンスメント・レイヤに基づくスケーラブル・ビデオ・コーディング規格SVCに相当する。このような方式では、デコーダはベース・レイヤをデコードし、出力フレームを生成し、このフレームをエンハンスメント・レイヤの解像度にアップスケールし(upscale)、エンハンスメント・レイヤの更なるデコーディングのために使用できるようにする。このようにアップスケールされたベース・レイヤのフレームは、第2ループにおいてエンハンスメント・レイヤ・フレームのデコーディングにおいて基準フレームとして使用され、その結果高解像度のフレームが再現される。エンハンスメント・レイヤのデコーディング依存性のために、デコーディング方式に遅延が生じ(introduced)、この遅延はエンハンスメント・レイヤの量と共に増減する(scale)。
US2015/0103886は、SHVCに基づくビデオ・コーディング・システムの例について記載する。この設計は、ベース・レイヤとエンハンスメント・レイヤとの間におけるデコーディング依存性のために、複数のデコーディング・ループ(1つよりも多いエンハンスメント・レイヤがあるときは2つ以上)を順次処理しなければならないという意味で、同じ欠点を有する。その結果、2つの異なるプロセスにおいてベース・レイヤおよびエンハンスメント・レイヤをデコードすることによって並列化が実現されても、双方のプロセスは、少なくとも1フレームの遅延、またコーディング階層によっては複数のフレームの遅延を伴って動作する。この結果、ユーザが高い方の解像度に切り替えたいとき、またはブロードキャスト・ストリームに同調させるとき、デコーダは最初にベース・レイヤをデコードし次いでエンハンスメント・レイヤをデコードする必要があるために、遅延が生ずる。
加えて、SHVCでは、元の高解像度ビデオ信号の異なる解像度バージョンが、高解像度ビデオ信号を異なる低解像度バージョンにダウンサンプリングするためのダウンサンプリング・ステップのシーケンスに基づいて生成される。同様に、元の高解像度ビデオ信号を再現するとき、ある回数の順次アップサンプリング・ステップが必要となり、この回数は、ベース・レイヤに追加する必要があるエンハンスメント・レイヤの数と共に増減する。各アップサンプリング・ステップの後、バッファ占有率が高くなる。したがって、レイヤ毎に、異なるバッファ・サイズを定める必要があり、更にレイヤ間の依存性のために、解像度のアップサンプリングまたはダウンサンプリングが必要となる。
更に一般的には、SHVCのようなマルチループ・ビデオ・コーディング設計は、高い実現複雑度および高いメモリ消費を招く。何故なら、デコーダはデコードしたフレームをメモリに格納する必要があるからである(エンハンスメント・レイヤから従属フレームをデコードするためにこれらが必要とされる限りにおいて)。業界承認のためにハードウェアの実施を速く進展させることが要求される場合には、複雑さがSHVCのようなコデック設計の魅力を削ぐことになる。
したがって、以上のことから、当技術分野においては、エンコーディングおよびデコーディング側双方において複雑さおよび/または遅延を低減する、改良された空間スケーラブル・コーディング方式が求められている。具体的には、当技術分野においては、高いレベルのデコーダ動作の並列化を可能にする、改良された空間スケーラブル・コーディング方式が求められている。
当業者には認められようが、本発明の態様は、システム、方法、またはコンピュータ・プログラム製品として具体化することができる。したがって、本発明の態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコード等を含む)、またはソフトウェアおよびハードウェアの態様を組み合わせた実施形態という形態をなすことができ、これらは全て本明細書では一般に「回路」、「モジュール」、または「システム」と呼ぶこともできる。本開示において説明する機能は、コンピュータのマイクロプロセッサによって実行されるアルゴリズムとして実現することができる。更に、本発明の態様は、コンピュータ読み取り可能プログラム・コードが具体化されている、例えば、格納されている1つ以上のコンピュータ読み取り可能媒体(1つまたは複数)に組み込まれたコンピュータ・プログラム製品の形態をなすこともできる。
1つ以上のコンピュータ読み取り可能媒体(1つまたは複数)の任意の組み合わせも利用することができる。コンピュータ読み取り可能媒体は、コンピュータ読み取り可能信号媒体またはコンピュータ読み取り可能記憶媒体であってもよい。コンピュータ読み取り可能記憶媒体は、例えば、電子、磁気、光、電磁、赤外線、または半導体システム、装置、あるいはデバイス、更には以上のもののあらゆる適した組み合わせであってもよいが、これらに限定されるのではない。コンピュータ読み取り可能記憶媒体の更に具体的な例(非網羅的な羅列)を挙げるとすれば、以下を含むであろう。1本以上のワイヤを有する電気接続、可搬型コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、リード・オンリ・メモリ(ROM)、消去可能プログラマブル・リード・オンリ・メモリ(EPROMまたはフラッシュ・メモリ)、光ファイバ、可搬型コンパクト・ディスク・リード・オンリ・メモリ(CD−ROM)、光記憶デバイス、磁気記憶デバイス、あるいは以上のもののあらゆる適した組み合わせ。本文書のコンテキストでは、コンピュータ読み取り可能記憶媒体は、命令実行システム、装置、またはデバイスによる使用のため、またはそれと関連した使用のためのプログラムを収容または格納することができる、任意の有形媒体とすればよい。
コンピュータ読み取り可能信号媒体は、例えば、ベースバンドにまたは搬送波の一部としてコンピュータ読み取り可能プログラム・コードが内部に組み込まれた伝搬データ信号を含むことができる。このような伝搬信号は、電磁、光、またはこれらのあらゆる適した組み合わせを含むがこれらに限定されない種々の形態の内任意の形態をなすことができる。コンピュータ読み取り可能信号媒体は、コンピュータ読み取り可能記憶媒体ではなく、命令実行システム、装置、またはデバイスによる使用、またはそれと関連した使用のためにプログラムを伝達、伝搬、または移送することができる任意のコンピュータ読み取り可能媒体とすることができる。
コンピュータ読み取り可能媒体上に組み込まれたプログラム・コードは、任意の適した媒体を使用して送信することができる。任意の適した媒体には、ワイヤレス、ワイヤライン、光ファイバ、ケーブル、RF等、または以上のもののあらゆる適した組み合わせを含むが、これらに限定されるのではない。本発明の態様のために動作を実行するコンピュータ・プログラム・コードは、1つ以上のプログラミング言語の任意の組み合わせで書くことができる。プログラミング言語には、Java(商標)、Smalltalk、C++等のようなオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語のような従来の手続き型プログラミング言語が含まれる。プログラム・コードは、完全にユーザのコンピュータにおいて、部分的にユーザのコンピュータにおいて、単独のソフトウェア・パッケージとして、部分的にユーザのコンピュータにおいてそして部分的にリモート・コンピュータにおいて、あるいは完全にリモート・コンピュータまたはサーバにおいて実行することができる。後者のシナリオでは、リモート・コンピュータをユーザのコンピュータに任意のタイプのネットワークを通じて接続することができる。ネットワークには、ローカル・エリア・ネットワーク(LAN)またはワイド・エリア・ネットワーク(WAN)が含まれ、または接続が外部コンピュータに対して行われてもよい(例えば、インターネット・サービス・プロバイダを使用してインターネットを通じて)。
本発明の態様について、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図および/またはブロック図を参照して以下に説明する。尚、フローチャート図および/またはブロック図の各ブロック、そしてフローチャート図および/またはブロック図におけるブロックの組み合わせをコンピュータ・プログラム命令によって実現できることは理解されよう。これらのコンピュータ・プログラム命令は、汎用コンピュータ、特殊目的コンピュータ、または他のプログラマブル・データ処理装置のプロセッサ、具体的には、マイクロプロセッサまたは中央処理ユニット(CPU)に供給され、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスのプロセッサによって命令が実行されて、フローチャートおよび/またはブロック図の1つまたは複数のブロックにおいて指定された機能/アクトを実現する手段を形成する(create)ように、機械を生成することができる。
これらのコンピュータ・プログラム命令は、コンピュータ読み取り可能媒体に格納することもでき、コンピュータ読み取り可能媒体に格納された命令が、フローチャートおよび/またはブロック図の1つまたは複数のブロックにおいて指定された機能/アクトを実現する命令を含む製品を生成するように、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスに特定のやり方で機能するように指令することができる。
また、コンピュータ・プログラム命令は、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイス上にロードして、一連の動作ステップをコンピュータ、他のプログラマブル装置、またはデバイス上で実行させ、コンピュータまたは他のプログラマブル装置上で実行する命令が、フローチャートおよび/またはブロック図の1つまたは複数のブロックにおいて指定された機能/アクトを実現するためのプロセスを設けるように、コンピュータ実装プロセスを生成することもできる。
図におけるフローチャートおよびブロック図は、本発明の種々の実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実施態様のアーキテクチャ、機能、および動作を例示する。これに関して、フローチャートまたはブロック図における各ブロックは、指定された論理機能(1つまたは複数)を実現するための1つ以上の実行可能命令を含む、モジュール、セグメント、またはコードの一部を表すことができる。また、ある代替実施態様では、ブロック内に記された機能が、図に記された順序以外で行われてもよいことも注記してしかるべきである。例えば、連続して示される2つのブロックが、実際には、実質的に同時に実行されてもよく、またはこれらのブロックが、関与する機能に応じて、逆の順序で実行されてもよいときもある。また、ブロック図および/またはフローチャート図の各ブロック、ならびにブロック図および/またはフローチャート図におけるブロックの組み合わせは、指定された機能またはアクトを実行する特殊目的ハードウェア・ベース・システム、あるいは特殊目的ハードウェアおよびコンピュータ命令の組み合わせによっても実現できることも注記しておく。
本開示における実施形態は、同じまたは実質的に同じ場面の複数の低解像度(LR)ビデオ・ストリームのビデオ・フレームを使用した、HRビデオ信号の高解像度(HR)ビデオ・フレームの形成に関する。本開示では、ビデオ信号の(低)解像度ディスクリプション(resolution description)は、高解像度ソース・ビデオ信号の(低)解像度バージョンを指す。解像度コンポーネント(resolution component)とは、他の解像度コンポーネントと再結合されて元のソース・ビデオ信号を形成することができるような方法で生成された解像度ディスクリプションを指す。
更に、本開示では、「高解像度」および「低解像度」という用語は、異なるビデオ信号間における空間解像度の差を区別するために使用される。例えば、高解像度ビデオ信号は4Kまたは8K UHDビデオ・フォーマットを有することができるが、その低解像度ディスクリプションは、HDビデオ・フォーマット、または高解像度ビデオ信号のビデオ・フォーマットよりも低い空間解像度を有する任意の他のビデオ・フォーマットを有する場合もある。同様に、高解像度ビデオ信号はHDビデオ・フォーマットを有することができるが、その低解像度ディスクリプションは、SDビデオ・フォーマット、または高解像度ビデオ信号のビデオ・フォーマットよりも低い空間解像度を有する任意の他のビデオ・フォーマットを有する場合もある。
LRビデオ・ディスクリプションは、1つ以上のトランスポート・ストリームにおいて、クライアント・デバイスに送信することができる。クライアント・デバイスは、1つ以上のトランスポート・ストリームにおけるメディア・データに基づいてビットストリームを形成するように構成される。ビットストリームは、デコーディング・デバイス(decoding device)の入力に供給することができ、デコーディング・デバイスは、1つの解像度コンポーネントのメディア・データをビットストリームから抽出し、このメディア・データをデコードしてLRビデオ・ストリームのビデオ・フレームを得ることができる。あるいは、デコーディング・デバイスは、2つ以上の解像度コンポーネントのメディア・データをビットストリームから抽出し、解像度コンポーネントの各々のメディア・データをデコードしてビデオ・フレームを得て、2つ以上の解像度コンポーネントのビデオ・フレームを高解像度ビデオ・フレームに組み合わせることができる。
高解像度ビデオ信号および関連する低解像度ビデオ信号は、異なる方法で決定する(determined)ことができる。例えば、HRビデオ・フレームの空間サブサンプリング(subsampling)によって、空間的にシフトされた低解像度バージョンを生成し、異なるLRディスクリプションを形成するために使用することもできる。あるいは、異なる低解像度バージョンを生成するために、HRビデオ・フレームを異なる方法でサブサンプリングすることもできる。
あるいは、複数の低解像度撮像デバイス、例えば、カメラ等によって同じ場面をキャプチャすることによって、複数の低解像度ディスクリプションを生成してもよく、異なる低解像度撮像デバイスは、位置および/または光学パラメータに関して異なるカメラ設定値を有する。その場合、HRビデオ・フレームのLRディスクリプションは、少しずつずれたカメラ位置を通した同じ場面の複数の観察と見なすことができる。あるいは、同じソース・ビデオを複数回エンコードすることによって、低解像度ディスクリプションを生成してもよく、このソース・ビデオをダウンスケールし、エンコーディング・インスタンスの各々に対して異なる品質設定値でエンコードする。
以下で更に詳しく説明するが、本開示におけるコーディング方式は、低い実施コストでコーディング・システム内に空間スケーラビリティを備える。当業者は認めることができるであろうが、この簡素さは、各LRディスクリプションのデコーディングが、結局のところ、通常の(regular)非スケーラブル・ビデオ・デコーディング動作(non-scalable video decoding operation)になるという事実から生じる。このように、ビットストリームがLRディスクリプションを搬送するのと同じ回数だけ、既存のハードウェア実施態様(implementation)を複製する、または少なくとも再利用することによって、本開示において提示する方式のハードウェア実施態様を精巧化する(elaborate)ことができる。本開示におけるコーディング方式は、既知のコーディング規格、例えば、AVCまたはHEVCコーディング・プロセスに前処理または後処理ステップとして実装することができるので、本発明を実施可能にするためには、適用される前処理ステップを記述するシグナリングだけをこれらの規格に追加すればよい。このように、これらの規格の基礎的設計、およびこれらの規格によって提供される(provided)全ての既存のツールを、本発明と組み合わせて、継ぎ目なく使用することができる。加えて、本開示におけるコーディング方式は、いずれの既知のまたは今後のコーディング規格を除いて、前処理および後処理ステップとして実装することができ、この場合、特定のビットストリームを認識するデコーダまたはアプリケーションだけが、意図するビデオ信号を適正にレンダリングすることができる。
1つの態様では、本発明は、デコーダ・デバイスによってビデオ信号を形成する方法に関するものもある。この方法は、ビットストリームおよびデコーダ情報を受信するステップを含むことができる。デコーダ情報は、ビットストリームにおける、ビデオ信号を形成するための1つ以上の解像度コンポーネントの存在をデコーダ・デバイスに通知する。解像度コンポーネントは、第1解像度を有する第1ビデオ信号の空間サブサンプリングされたバージョンを表す。1つ以上の解像度コンポーネントは、複数の解像度コンポーネントを含むグループの一部であり、これに基づいて、第1ビデオ信号が再現可能である。デコーダ・デバイスは、ビットストリームを解析し、デコーダ情報に基づいて、1つ以上の解像度コンポーネントをデコードしてビデオ・フレームを得る。デコーダ情報は、ビットストリームにおける1つ以上の解像度コンポーネントの存在をデコーダ・デバイスに通知することができる。1つ以上の解像度コンポーネントは、複数の解像度コンポーネントを含む解像度コンポーネント・グループの一部であってもよく、これらに基づいて、第1ビデオ信号が再現可能である。
デコーダ情報は、ビットストリームが前述のグループの内1つの解像度コンポーネントだけを含むことを通知することもできる。その場合、デコーダ・デバイスは、第1解像度コンポーネントを表すビットストリームの解析した部分をデコードすることによって、第2解像度の第2ビデオ信号を形成することができる。第2ビデオ信号は、第1ビデオ信号の低解像度バージョンのビデオ・フレームを含む。
また、デコーダ情報は、ビットストリームが前述のグループの内2つ以上の解像度コンポーネントを含むことも通知することができる。その場合、デコーダ・デバイスは、2つ以上の解像度コンポーネントを表すビットストリームの解析した部分をデコードすることによって、ビデオ・フレームを形成することができる。デコーダ情報が前述のグループの全ての解像度コンポーネントを通知する場合、ビデオ・フレームに基づいて第1ビデオ信号を形成することができる。デコーダ情報は、前述のグループの全部の解像度コンポーネントではなく、一部の解像度コンポーネントを通知する場合、ビデオ・フレームに基づいて第3ビデオ信号を形成することができる。第3ビデオ信号は、第1ビデオ信号の低解像度バージョンであり、第3解像度は第2解像度よりも高く、第1解像度よりも低い。
他の態様では、本発明は、デコーダ・デバイスによってビデオ信号を形成する方法に関するものもある。この方法は、ビットストリームおよびデコーダ情報を受信するステップであって、前記ビットストリームが、好ましくは、デコーダ情報と解像度コンポーネントとを含み、デコーダ情報が、ビットストリーム内における、ビデオ信号を形成するための1つ以上の解像度コンポーネントの存在をデコーダ・デバイスに通知し、解像度コンポーネントが、第1解像度を有する第1ビデオ信号の空間的にサブサンプリングされたバージョン、好ましくはポリフェーズ・サブサンプリング・バージョンを表し、1つ以上の解像度コンポーネントが解像度コンポーネント・グループの一部であり、このグループが、複数の解像度コンポーネントを含み、これらに基づいて第1ビデオ信号が再現可能である。デコーダ・デバイスは、ビットストリームを解析し、ビデオ信号を形成する。前記形成するステップは、デコーダ情報に基づいて、1つ以上の解像度コンポーネントをデコードしてビデオ・フレームを得るステップを含む。デコーダ情報が、ビットストリームがグループの内1つの第1解像度コンポーネントのみを含むことを通知する場合、前記形成するステップは、第1解像度コンポーネントを表すビットストリームの内解析した部分をデコードして、第2解像度の第2ビデオ信号を表すビデオ・フレームを得るステップであって、第2解像度が第1解像度よりも低い、ステップを含む。デコーダ情報が、ビットストリームが第1解像度コンポーネントと、グループの1つ以上の他の解像度コンポーネントを含むことを通知する場合、前記形成するステップが、第1解像度コンポーネントおよび1つ以上の他の解像度コンポーネントを表すビットストリームの内解析した部分をデコードして、ビデオ・フレームを得るステップと、デコーダ情報が、グループの全ての解像度コンポーネントを通知する場合、ビデオ・フレームに基づいて第1ビデオ信号を再現するステップ、またそうでない場合、ビデオ・フレームに基づいて第3解像度を有する第3ビデオ信号を構成するステップであって、第3解像度が第2解像度よりも高く、第1解像度よりも低い、ステップとを含む。
本発明は、高解像度ビデオ信号の異なる空間サブサンプリングされたバージョンを表す低解像度解像度コンポーネント(low-resolution resolution component)(省略して、解像度コンポーネント)を使用する。これらの解像度コンポーネントは、解像度コンポーネントのグループの一部であってもよい。解像度コンポーネントは、グループにおける全ての解像度コンポーネントに基づいて、高解像度のビデオ信号を再現できるように生成される。
ここで、空間サブサインプリングはサンプリング格子に基づく。例えば、高解像度ビデオ・フレームは、高解像度サンプリング格子を使用することによって形成することができ、サンプリング格子における各サンプリング点が、高解像度ビデオ・フレームにおける画素を形成する。異なる低解像度サンプリング格子を使用することによって、高解像度ビデオ信号の高解像度フレームに基づいて、異なる種類の低解像度ビデオ・フレームを形成することができる。低解像度サンプリング格子は、高解像度ビデオ・フレームのサンプリング格子よりも低いサンプリング密度を有する。
SVCおよびSHVCから公知のダウンサンプリング動作とは対照的に、ダウンサンプリングされたビデオ信号のビデオ・フレームの新たな画素値は、元の高解像度ビデオ信号のビデオ・フレームにおける複数組の画素値に基づいて計算される。空間サブサンプリング動作は、画素値を変化させない。空間サブサンプリングは、画像フレームを形成する1組の画素値から、画素値の部分集合を選択するだけである。空間サブサンプリング方式は、元のビデオ信号、またはその低解像度バージョンの非常に効率的な再現を可能にする。加えて、解像度コンポーネントの空間的にサブサンプリングされたビデオ・フレームは、高解像度ビデオ・フレームを組み立てるために、超解像技術の使用を可能にする。
解像度コンポーネントのグループにおける少なくとも1つの解像度コンポーネントは、高解像度ビデオ信号の低解像度バージョンを形成するために使用することができる。更に、解像度コンポーネントのグループから選択された全ておよび/または異なる部分集合の解像度コンポーネントも、高解像度ビデオ信号の異なる解像度バージョンの異なるビデオ信号を形成するために使用することもできる。ここで、全ての解像度コンポーネントに基づいて形成されたビデオ信号の解像度は、元の高解像度ビデオ信号の解像度に等しいかまたはほぼその解像度であってもよく、解像度コンポーネントの部分集合に基づいて形成されるビデオ信号の解像度は、低解像度バージョンよりは高く、高解像度ビデオ信号よりは低い。
デコーディング・プロセスにおいて解像度コンポーネントを使用することにより、ビットストリームにおいてデコーダに供給される1つの解像度コンポーネントまたは解像度コンポーネントの異なる組み合わせ、例えば、解像度コンポーネント1、解像度コンポーネント1+2、解像度コンポーネント1+2+6、解像度コンポーネント1+2+,...,+N等に基づいて、異なる空間解像度の異なるビデオ信号を再現および表示することができる。ビットストリームにおけるデコーダ情報は、解像度コンポーネントのグループの内、どの解像度コンポーネントがビットストリーム内に存在するか、そして解像度コンポーネントに基づいてどのビデオ信号を形成すべきかについて、デコーダに通知する。
解像度コンポーネントの使用により、個々の解像度コンポーネント、即ち、高解像度ビデオ信号の異なる空間サブサンプリング・バージョンを、AVC、HEVC、VP10等を含む周知のビデオ・コデック規格、およびその派生物に基づく規格に基づいてエンコードおよびデコードすることができるように、前処理/後処理手法において実現することができる空間スケーラビリティを有するコーディング・システムを提供する。
実施形態では、4つの空間的にずれた解像度コンポーネントを生成するために、ポリフェーズ・サブサンプリング方式を使用することができる。ポリフェーズ・サブサンプリングは、エンコーダおよびデコーダ側において、非常に速い処理を可能にする。実施形態では、高解像度ビデオ信号のポリフェーズ・サブサンプリング・フィルタリングされた(polyphase subsampling filtered)ビデオ・フレーム、好ましくは、ロー・パス・フィルタリングされたビデオ・フレームに基づいて、解像度コンポーネントの少なくとも1つを形成することができる。フィルタリングは、ポリフェーズ・サブサンプリング・プロセスによって混入されるおそれがあるアーチファクトを低減するために使用することができる。
実施形態では、1つ以上の他の解像度コンポーネントは、(少なくとも)第1解像度コンポーネントに対するデコーディング依存性、好ましくは、空間デコーディング依存性を有することができる。(少なくとも)第1解像度コンポーネントのビデオ・フレームと、もう1つの解像度コンポーネントの残余ビデオ・フレームに基づいて、もう1つの解像度コンポーネントのビデオ・フレームを形成することができる。残余ビデオ・フレームは、第1解像度コンポーネントのビデオ・フレームともう1つの解像度コンポーネントのビデオ・フレームとの差に基づいて形成される。この実施形態では、もう1つの解像度コンポーネントは、圧縮効率を高めるために、第1解像度コンポーネントおよび/または1つ以上の他の(other further)解像度コンポーネントに対するデコーディング依存性を有することができる。
実施形態では、他の複数の解像度コンポーネント(the further resolution components)またはその実質的な部分が、第1解像度コンポーネントのみに依存するように構成することができる。このように、複数の他の解像度コンポーネントを並列してデコードすることができるという意味で、並列処理に適した低遅延デコーディング方式を提供する。対照的に、SHVCのようなスケーラブル・ビデオ・コーディング方式では、レイヤは多重依存性を有し(例えば、レイヤNはレイヤN−1に依存し、一方レイヤN−1はレイヤN−2に依存する等)、レイヤの数と共に増減する遅延を招く。このような方式は、デコーディング・プロセスの並列化を妨げる。
更に、本発明によるコーディング方式では、各解像度コンポーネントは、高解像度ビデオ信号の空間サブサンプリングによって生成することができる。このため、各解像度コンポーネントは同じ解像度を有する。したがって、デコーディングおよびエンコーディングの間、SHVCにおいてエンハンスメント・レイヤを処理するときに必要とされるダウンサンプリング動作またはアップサンプリング動作を必要とすることなく、同じビデオ信号の異なる解像度コンポーネントを処理することができる。このようにして、データ処理の複雑さを緩和することができる。
実施形態では、少なくとも2つ以上の解像度コンポーネントが同じ空間解像度を有することができ、この空間解像度は、第1ビデオ信号の第1空間解像度よりも低い。少なくともある数の空間コンポーネントの解像度を同じに保持することにより、これらの解像度コンポーネントの各々に対するバッファ設定を同一にすることができる。このように、SHVCにおいて必要とされるような、解像度レイヤ毎の異なるバッファ占有度(occupancy)の必要性は解消される。
一実施形態では、ビットストリームにおける第1解像度コンポーネントのエンコード・メディア・データ(encoded media data)は、独立してデコード可能である。他の実施形態では、ビットストリームにおける1つ以上の複数の他の解像度コンポーネントのエンコード・メディア・データは、第1解像度コンポーネントに対するコーディング依存性だけを有する。
実施形態では、デコーダ情報は、第1ビデオ信号、第2ビデオ信号、および/または第3ビデオ信号の解像度を示す少なくとも1つのパラメータ、ビットストリームにおける1つ以上の解像度コンポーネントを識別する1つ以上の解像度コンポーネント識別子、解像度コンポーネントのグループにおいて第1信号を形成するための解像度コンポーネント、および/または解像度コンポーネントのグループにおいて第2および/または第3ビデオ信号を形成するための解像度コンポーネントを識別する情報、各解像度コンポーネントの空間解像度についての情報、第1およびその他の解像度コンポーネントに基づいて第1または第3ビデオ信号を形成するための超解像動作を示すパラメータ、必要に応じて、示された超解像度動作に必要な情報の内少なくとも1つを含むことができる。
実施形態では、ビットストリームは、NALユニットを含み、好ましくは、デコーダ情報は、1つ以上の非VCL NALユニットに含まれる、および/または1つ以上の解像度コンポーネントは1つ以上のVCL NALユニットに含まれる。
実施形態では、NALユニットは、解像度コンポーネント・フォーマットを示すパラメータ(resolution_component_format_idc)を含む、非VCL NALユニット、好ましくは、SPS NALユニット、第1ビデオ信号のビデオ・フレームの解像度を示す1つ以上のパラメータ(pic_width_in_luma_samplesおよびpic_height_in_luma_samples)を含む非VCL NALユニット、好ましくは、VPS NALユニット、1つ以上の解像度コンポーネントを生成するために使用される空間サブサンプリング技術を示すパラメータ、またはポリフェーズ・サブサンプリング技術に基づいて決定される1つ以上の解像度コンポーネントを示すフラグを含む、非VCL NALユニット、好ましくは、VPS NALユニット、VCL NALユニット、好ましくは、スライス・セグメントであって、解像度コンポーネントを識別するための解像度コンポーネント識別子を含むヘッダを含む、VCL NALユニットの内少なくとも1つを含むことができる。
実施形態では、 解像度コンポーネントのグループにおける1つ以上の解像度コンポーネントは、第1ビデオ信号のポリフェーズ・サブサンプリング・バージョンであり、第1ビデオ信号または第3ビデオ信号を形成するステップが、ビデオ・フレームを第1または第3ビデオ信号のビデオ・フレームの解像度フォーマットにアップサンプリングするステップと、アップサンプリングしたビデオ・フレームをゼロ・パディングするステップと、アップサンプリングしてゼロ・パディングしたビデオ・フレームを、第1ビデオ信号または第3ビデオ信号のビデオ・フレームにおけるその位置にしたがってずらすステップと、アップサンプリングしゼロ・パディングしたビデオ・フレームを第1または第2ビデオ信号のビデオ・フレームに追加するステップとを含む。
実施形態では、ビットストリームはHEVCビットストリームであり、このビットストリームは、解像度コンポーネントのビデオ・フレームが時間的に多重化されていることをHEVCデコーダに通知するためのデコーダ情報を含む。実施形態では、解像度コンポーネントのビデオ・フレームは、インターリーブ順に配列することができる。
実施形態では、ビットストリームは、HEVCビットストリームであり、デコーダ情報が、デコードされたビデオ・フレームが解像度コンポーネントのタイル配列を含むことをHEVCデコーダに通知する。
実施形態では、前記解像度コンポーネントのビデオ・フレームの時間多重化順、または前記解像度コンポーネント方式のタイル配列を、1つ以上のNALユニットにおいて、前記HEVCデコーダに通知することができ、好ましくは、前記1つ以上のNALユニットは、1つ以上のSEIメッセージである。
実施形態では、前記第1または第2ビデオ信号を再現するステップは、第1または第2ビデオ信号のビデオ・フレームを生成するために、超解像ビデオ画像再現技術を使用するステップを含む。この実施形態では、解像度コンポーネントを生成するために使用される空間サブサンプリングについての情報がないまたはほとんどない場合(例えば、異なる解像度コンポーネント間の空間変位がわかっておらず、推定する必要がある)、コンバイナは、高解像度ビデオ・フレームを生成するために、周知の超解像技術を採用することができる。超解像技術は、同じ場面の複数の解像度コンポーネントのビデオ・フレームに基づいて、高解像度ビデオ信号を決定するために使用することができる技法である。具体的には、複数の解像度コンポーネントの画像が互いに対して空間的にシフトされている場合(例えば、1画素未満の距離だけ)、LR画像における情報を使用して高解像度画像を再現することができる。
更に他の態様では、本発明は、エンコーダ・デバイスによってビットストリームを形成する方法に関するものもある。この方法は、
第1解像度の第1ビデオ信号のビデオ・フレームを空間サブサンプリング、好ましくは、ポリフェーズ・サブサンプリングすることによって解像度コンポーネントのグループを形成するステップであって、解像度コンポーネントのグループのビデオ・フレームに基づいて、第1ビデオ信号が再現可能であり、少なくとも2つ以上の解像度コンポーネントが同じ空間解像度を有する、ステップと、
解像度コンポーネントのグループから1つ以上の解像度コンポーネントを選択し、エンコーダ・デバイスが、1つ以上の選択された解像度コンポーネントに基づいて、ビットストリームおよびデコーダ情報を形成するステップであって、好ましくは、ビットストリームがデコーダ情報を含む、ステップと、
を含み、
第1解像度コンポーネントのみが選択された場合、ビットストリームおよびデコーダ情報を形成する前記ステップが、
前記エンコーダ・デバイスが、解像度コンポーネントのグループの内第1解像度コンポーネントをエンコードするステップであって、第1解像度コンポーネントが第2解像度を有する、ステップと、
デコーダが1つの解像度コンポーネントをデコードして、第2解像度の第2ビデオ信号を得るための情報を生成するステップであって、第2解像度が第1解像度よりも低い、ステップと、
を含み、または、
第1解像度コンポーネントおよび1つ以上の他の解像度コンポーネントが選択された場合、ビットストリームおよびデコーダ情報を形成する前記ステップが、
前記エンコーダ・デバイスが、解像度コンポーネントのグループの内第1解像度コンポーネントおよび1つ以上の他の解像度コンポーネントをエンコードして、第1ビットストリーム部分および1つ以上の他のビットストリーム部分をそれぞれ得るステップと、
第1ビットストリーム部分および1つ以上の他のビットストリーム部分を組み合わせるステップと、
デコーダ情報が、ビットストリームがグループの全ての解像度コンポーネントを含むことをデコーダ・デバイスに通知する場合、デコーダが1つの解像度コンポーネントおよび1つ以上の他の解像度コンポーネントをデコードして、第1ビデオ信号を再現するためのビデオを得るために、情報を生成するステップ、またそうでない場合は、第3解像度の第3ビデオ信号を構成するための情報を生成するステップであって、第3解像度が第2解像度よりも高く、第1解像度よりも低く、好ましくは、デコーダ情報をビットストリームに挿入する、ステップとを含む。
実施形態では、解像度コンポーネントのグループの内1つ以上の他の解像度コンポーネントをエンコードするステップが、第1ビットストリームに基づいて、第1ビデオ・フレームを決定するステップと、第1ビデオ・フレームおよび1つ以上の他の解像度コンポーネントのビデオ・フレームに基づいて1つ以上の他の残余ビデオ・フレームを決定するステップと、1つ以上の残余ビデオ・フレームをエンコードして1つ以上の他のビットストリームを得るステップとを含み、デコーダ情報が、第1解像度コンポーネントおよび1つ以上の他の解像度コンポーネントを通知する場合、デコーダ情報は、第1ビデオ信号および第3ビデオ信号のビデオ・フレームが、第1解像度コンポーネントのビデオ・フレームおよび1つ以上の他の解像度コンポーネントの1つ以上の他の残余ビデオ・フレームに基づいて形成されることを、デコーダ・デバイスに通知する。
実施形態では、この方法は、更に、
第1ビットストリームおよび1つ以上の他のビットストリーム、ならびにデコーダ情報の少なくとも一部を、別々の解像度コンポーネント・トラックに格納するステップであって、好ましくは、解像度コンポーネントに関連するビットストリーム、およびデコーダ情報の少なくとも一部が、解像度コンポーネント・トラックにNALユニットとして格納される、ステップと、必要に応じて、解像度コンポーネント・トラックの少なくとも一部に関連するベース・トラックを設けるステップであって、ベース・トラックがエキストラクタのシーケンスを含み、各エキストラクタが解像度コンポーネント・トラックの1つにおけるエントリをポイントする、ステップとを含む。
他の態様では、本発明は、 デコーディング・デバイス(decoding device)に関するものもある。このデコーダ・デバイスは、プログラムの少なくとも一部を組み込んで有するコンピュータ読み取り可能記憶媒体と、コンピュータ読み取り可能プログラム・コードを組み込んで有するコンピュータ読み取り可能記憶媒体と、前記コンピュータ読み取り可能記憶媒体に結合されたプロセッサ、好ましくは、マイクロプロセッサとを含む。 前記コンピュータ読み取り可能プログラム・コードを実行したことに応答して、前記プロセッサが、
第1解像度の第1ビデオ信号のビデオ・フレームを空間サブサンプリング、好ましくはポリフェーズ・サブサンプリングすることによって解像度コンポーネントのグループを形成する動作であって、解像度コンポーネントのグループのビデオ・フレームに基づいて、第1ビデオ信号が再現可能であり、少なくとも2つ以上の解像度コンポーネントが同じ空間解像度を有する、動作と、
解像度コンポーネント・グループから1つ以上の解像度コンポーネントを選択し、エンコーダ・デバイスが1つ以上の選択された解像度コンポーネントに基づいてビットストリームおよびデコーダ情報を形成し、好ましくは、ビットストリームがデコーダ情報を含む、動作と、
を含む実行可能動作を実行するように構成され、
第1解像度コンポーネントだけが選択された場合、ビットストリームおよびデコーダ情報を形成する前記動作が、
前記エンコーダ・デバイスが解像度コンポーネントのグループの内第1解像度コンポーネントをデコードし、第1解像度コンポーネントが第2解像度を有し、デコーダが1つの解像度コンポーネントを第2解像度の第2ビデオ信号にデコードするための情報を生成する動作を含み、第2解像度が第1解像度よりも低く、または、
第1解像度コンポーネントおよび1つ以上の他の解像度コンポーネントが選択された場合、ビットストリームおよびデコーダ情報を形成する前記動作が、
前記エンコーダ・デバイスが、解像度コンポーネントのグループの内第1解像度コンポーネントおよび1つ以上の他の解像度コンポーネントをエンコードして第1ビットストリーム部分および1つ以上の他のビットストリーム部分をそれぞれ得る動作と、第1ビットストリーム部分および1つ以上の他のビットストリーム部分を組み合わせる動作と、デコーダ情報が、ビットストリームがグループの全ての解像度コンポーネントを含むことをデコーダ・デバイスに通知する場合、デコーダが1つの解像度コンポーネントおよび1つ以上の他の解像度コンポーネントをデコードして、第1ビデオ信号を再現するためのビデオを得るための情報を得る動作、またそうでない場合、第3解像度の第3ビデオ信号を構成するためのビデオを得る動作であって、第3解像度が第2解像度よりも高く、第1解像度よりも低く、好ましくは、デコーダ情報をビットストリームに挿入する動作と、
を含む。
1つの態様では、本発明は、エンコーディング・デバイス(encoding device)に関するものもある。このエンコーダ・デバイスは、プログラムの少なくとも一部を組み込んで有するコンピュータ読み取り可能記憶媒体と、コンピュータ読み取り可能プログラム・コードを組み込んで有するコンピュータ読み取り可能記憶媒体と、前記コンピュータ読み取り可能記憶媒体に結合されたプロセッサ、好ましくは、マイクロプロセッサと、
を含む。前記コンピュータ読み取り可能プログラム・コードを実行したことに応答して、プロセッサが、空間サブサンプリング、好ましくは、ポリフェーズ・サブサンプリングによって、第1解像度コンポーネントの第1ビデオ信号に基づいて、解像度コンポーネントのグループを形成する動作であって、解像度コンポーネントのグループに基づいて、第1ビデオ信号が再現可能である、動作と、解像度コンポーネントのグループの内第1解像度コンポーネントをエンコードしてビットストリームを得る動作であって、第1解像度コンポーネントが、第1ビデオ信号の低解像度バージョンを表す第2解像度を有する、動作と、出力ビットストリームが解像度コンポーネントのグループの内1つの解像度コンポーネントを含むことをデコーダに通知するためのデコーダ情報を決定し、第2解像度の第2ビデオのビデオ・フレームを形成する動作と、または、解像度コンポーネントのグループの内第1解像度コンポーネントをエンコードして第1ビットストリームを得て、解像度コンポーネントのグループの内1つ以上の他の解像度コンポーネントをエンコードして1つ以上の他のビットストリームを得る動作と、第1ビットストリームおよび1つ以上の他のビットストリームに基づいて出力ビットストリームを形成する動作と、出力ビットストリームが、第1解像度コンポーネントに関連付けられた第1ビットストリーム部分と、1つ以上の他の解像度コンポーネントに関連付けられた1つ以上の他のビットストリーム部分とを含むことをデコーダ・デバイスに通知するためのデコーダ情報を決定し、グループの全ての解像度コンポーネントが通知される場合、第1ビデオ信号のビデオ・フレームを形成し、更に第3解像度の第3ビデオ信号のビデオ・フレームを形成する動作であって、第3ビデオ信号が第1ビデオ信号の低解像度バージョンであり、第3解像度が第2解像度よりも高く第1解像度よりも低い、動作とを含む実行可能動作を実行するように構成される。
更に、本発明は、ソフトウェア・コード部分を含むコンピュータ・プログラム製品にも関するものもある。このコンピュータ・プログラム製品は、ソフトウェア・コード部分がコンピュータのメモリにおいて実行されると、以上で説明した方法ステップの内任意のものにしたがって方法ステップを実行するように構成される。
本発明について、添付図面を参照して更に例示する。添付図面は、本発明による実施形態を模式的に示す。尚、本発明はこれらの特定実施形態には決して限定されないことは理解されよう。
図1は、本発明の実施形態によるコーディング・システムの模式図を示す。具体的には、図1は、エンコーディング・デバイス111および関連するエンコーディング・デバイス113を含むコーディング・システムを示す。エンコーディング・デバイスは、同じまたは実質的に同じ場面の複数のLRビデオ信号を受信するように構成されたネットワーク・エンコーダとして実装することができる。実施形態では、複数のLRビデオ信号(LRディスクリプション)は、HRビデオ信号102に基づいて生成することができる。例えば、実施形態では、ポリフェーズ・サブサンプリング技法のような、空間サブサンプリング技法104を使用して、HRビデオ信号に基づいて複数のLRディスクリプション106を生成することもできる。次いで、LRディスクリプションの各々を複数のエンコードLRディスクリプション(encoded LR description)にエンコードすることができる。
LRディスクリプションは、所定のコーディング規格、例えば、AVC、HEVC、VP9等に基づいてエンコードすることができる。更に、LRディスクリプションの内少なくとも1つは、それが独立してデコードすることができるように、エンコードされ、つまり、他のLRビデオ信号の情報を必要とせずに、元のビデオの所定の品質、例えば、HD品質等のビデオ・フレームを供給する。実施形態では、空間コンポーネント間の冗長性を排除するために、1つ以上のコーディング依存性が1つ以上のエンコードLRディスクリプション間に存在してもよい。このようにして圧縮効率の向上を達成することができる。
その後、エンコードHRビデオ信号を、複数のLRディスクリプションに基づいて形成することができる。LRディスクリプションを含むエンコード・ビデオ信号の形成中に、デコーダ情報をエンコード・ビデオ信号に追加することもできる。デコーダ情報は、ビデオ信号におけるLRディスクリプションについての情報、どのようにしてLRディスクリプションが得られたか、例えば、空間サブサンプリングの型式、LRディスクリプションの数、LRディスクリプションのフォーマット、例えば、解像度およびビットレート等を含むことができる。
コンバイナ110は、エンコードLRディスクリプションを組み合わせ、例えば、多重化し、異なるLRディスクリプションのエンコード・メディア・データを、格納および送信に適したデータ・フォーマット112にパケット化することができる。このように、LRディスクリプションのエンコード・メディア・データは、適したフォーマット、例えば、MPEG型トランスポート・ストリームのビデオ・ストリーム114として、デコーダ・デバイス113を含む1つ以上のメディア処理デバイスに送信することができる。
メディア・デバイスは、ビデオ・ストリームを受信し、エンコード・メディア・データをビデオ・ストリームから抽出し、ビットストリームとしてデコーダの入力に提示されるLRリプレゼンテーションのエンコード・コンテンツを表すビットストリームを形成するクライアント・デバイスを含むことができる。ビットストリーム・パーサは、エンコードLRディスクリプションのビットストリームを抽出することができる。各LRディスクリプション・ビットストリームは、その後、LRビデオ・フレーム116にデコードされる。高解像度ビデオ・フレームは、異なるLRディスクリプションのビデオ・フレーム、即ち、同じまたは少なくとも実質的に同じ時間インスタンスの異なるLRディスクリプションのビデオ・フレームを組み合わせることによって形成することができる。コンバイナは、複数のLRビデオ・フレームに基づいて1つのHRビデオ・フレームを正しく形成するために、受信したビデオ・ストリームにおけるデコーダ情報を使用することができる。コンバイナは、空間サブサンプリング技法の逆であるプロセスを含むことができる。
空間サブサンプリングについて、LRディスクリプションを生成するために使用される情報がないまたは殆どない場合(例えば、異なるLRディスクリプション間における空間変位がわからない、または推定する必要がある)、コンバイナは、高解像度ビデオ・フレームを生成するために、周知の超解像技術(super-resolution technique)を採用することもできる。超解像技術とは、同じ場面の複数のLR画像に基づいてHR画像を決定するために使用することができる技術である。具体的には、複数の低解像度画像が空間的に互いにずれている場合(例えば、1画素未満の距離だけ)、LR画像内の情報を使用してHR画像を再現することができる。
超解像技術の例が、Sung Cheol Park et. al.,による"Super-Resolution image reconstruction: a technical overview"(超解像度画像再現:技術的全体像)(IEEE signal processing magazine, May 2003, pp. 21-36)という文献に記載されている。この文献をここで引用したことにより、その内容が本願にも含まれるものとする。この文献に記載されている超解像度画像再現アルゴリズムの内、HRビデオ・フレームを再現するために使用することができる例は、非均一内挿補間、周波数ドメインにおける再現、一定の超解像度再現、凸集合再現上への投射(projection onto convex sets reconstruction)、ML−POCS混成再現、反復後方投射再現、適応フィルタリング再現、および静止超解像再現(motionless super-resolution reconstruction)を含む。リアル・タイムの用途には、適応フィルタリング超解像再現技術、または内挿補間超解像再現技術が、好ましい超解像技術である。
図2Aおよび図2Bは、本発明の種々の実施形態によるコーディング・システムの一部の模式図を示す。具体的には、図2Aは、本発明の実施形態にしたがってエンコーディング・デバイスによって実行されるエンコーディング・プロセスの全体像を示す。これらのステップは、複数の低解像度コンポーネントの生成を含むことができる(ステップ2061〜n)。これらの低解像度コンポーネントを今後単に解像度コンポーネントと呼ぶことにする。
実施形態では、異なる解像度コンポーネント(のビデオ・フレーム)の形成は、高解像度ビデオ信号のビデオ・フレームの空間サブサンプリングを伴うのでもよい。実施形態では、解像度コンポーネントの1つにロー・パス・フィルタをかけるのでもよい。このロー・パス・フィルタをかけた解像度コンポーネントのビデオ・フレームは、ビットストリームの低解像度デコーディングしか実行されないときには、デコーディング・プロセスの出力として意図されてもよい。入力信号が高周波数を含むときには、ロー・パス・フィルタリングが必要となる場合がある。その場合、表示に適した少なくとも1つの解像度コンポーネントを生成するために、アンチ・エリアシング・フィルタを適用してもよい。このようなフィルタは、ロー・パス・フィルタと共に実装することもできる。
高解像度ビデオの再現に必要とされる異なる解像度コンポーネントについての情報は、エンコーダによって収集され、ビットストリームが構築されるときに、デコーダ情報205としてビットストリーム内に挿入される。デコーダ情報は、ビットストリーム内の解像度コンポーネントに基づいて1つ以上の高解像度バージョンを再現するために必要とされる情報を含むことがある。
各解像度コンポーネントは、同じまたは異なるエンコーダ・インスタンス214内で実行されるエンコーダ・プロセス(ステップ2081〜n)によって、ビットストリーム内にエンコードすることができる。この単一エンコーダ・インスタンス手法は、解像度コンポーネント(破線の矢印で表される)間のコーディング依存性を使用して、解像度コンポーネントのエンコーディングをより簡単に行うという利点がある。また、解像度コンポーネントの少なくとも一部は、選択する手法によっては、並列に、または少なくとも部分的に並列にエンコードすることができる。
実施形態では、異なる解像度コンポーネントの1つ以上の間に、コーディング依存性が存在する場合がある。エンコーディングは、例えば、MPEG−4 part10 AVC/H.264、HEVC/H.265等を含むがこれらに限定されない周知のビデオ・コーディング規格に基づけばよい。これらのコーディング規格は、量子化、画面内/画面間予測、周波数変換、エントロピ・コーディング等のような周知の技法を含むことができる。
コンバイナは、所定のビットストリーム・シンタックスにしたがって、エンコーダ・インスタンス(1つまたは複数)のビットストリーム出力およびデコーダ情報に基づいて、ビットストリームを生成することができる(ステップ210)。
デコーダ出力のビットストリームにおけるデコーダ情報は、以下のパラメータおよび/または情報の内1つ以上を含むことができる。
実施形態では、ビットストリームは、ビットストリームにおける解像度コンポーネントのビデオ・フレームを組み合わせるときに、ビデオ信号をレンダリングすることができる解像度または異なる解像度を示す少なくとも1つのパラメータを含むことができる。このパラメータは、出力バッファのサイズを設定するために、デコーダによって使用することができる。
実施形態では、ビットストリームはストリームにおいて利用可能な解像度コンポーネントを識別する解像度コンポーネント識別子(のリスト)を含むことができる。
実施形態では、ビットストリームは、所定の高解像度ビデオ・ストリームを形成するために必要とされる解像度コンポーネントを識別する情報を含むことができる。
実施形態では、エンコーダ出力のビットストリームは、異なる解像度コンポーネントのビデオ・コーディング・レイヤ(VCL:video coding layer)NALを独立して格納するために、NALユニット構造を有することができる。
実施形態では、ビットストリームは、各解像度コンポーネントの空間解像度を示す少なくとも1つのパラメータを含むことができる(レンダリングすることができる最も高い解像度から導き出されるときは明示的または暗示的のいずれか)。
実施形態では、ビットストリームは、2つ以上の解像度コンポーネントのビデオ・フレームに基づいて高解像度ビデオ・信号のビデオ・フレームを形成するために実行しなければならない場合もある超解像度動作を示す少なくとも1つのパラメータと、必要に応じて、指示された超解像度動作に必要とされる超解像パラメータとを含むことができる。
コンバイナは、エンコードされた解像度コンポーネントのビットストリームと、以上で説明したデコーダ情報の少なくとも一部とを組み合わせて、デコーダ・デバイスによって解釈および解析することができるシンタックスを有するビットストリームを得ることができる(ステップ212)。更に、ビデオ・ビットストリームのデコーダ・デバイスへの送信を可能にする、適したデータ・コンテナに、このビットストリームを挿入することができる。
図2Bは、本発明の実施形態によるデコーダの模式図を示す。具体的には、図2Bは、本発明の実施形態にしたがってデコーダ220によって実行されるデコーディング・プロセスの全体像を示す。このプロセスは、1つまたは複数の解像度コンポーネントと、1つまたは複数の解像度コンポーネントに関連するデコーダ情報とを含むビデオ・ストリームを受信するステップを含むことができる。このようなビデオ・ストリームは、図2Aを参照して説明したように、エンコーダ・プロセスによって生成することができる。
図2Bにおけるプロセスは、解像度コンポーネントとデコーダ情報とを含むビデオ・ビットストリームを受信し、このビットストリームをビットストリーム・パーサの入力に供給するステップ(ステップ222)から開始することができる。ビットストリーム・パーサは、ビットストリームからデコーダ情報225を抽出し(ステップ224)、ビットストリームにおいて利用可能な1つ以上の解像度コンポーネント、および1つ以上の解像度コンポーネントに基づいて形成することができるビデオ信号の解像度を決定するために、デコーダ情報を使用することができる。更に、デコーダは、高解像度ビデオ信号をレンダリングするためにはどの解像度コンポーネントが必要となるかについての情報も受信することができる。
レンダリングするために選択した高解像度ビデオ信号に基づいて、ビットストリーム・パーサは、ビデオ・ビットストリームを解析し始め、選択した高解像度信号の形成において必要とされる解像度コンポーネントを抽出し(ステップ2261〜n)、抽出した解像度コンポーネントを、デコーダ準拠ビットストリームとして、デコーダの入力に供給することができる。デコーダは、解像度コンポーネント2281〜nをデコードすることができ、解像度コンポーネントに関連するビデオ・フレームを生成することができる(ステップ2301〜n)。解像度コンポーネントのビデオ・フレームを組み合わせて、選択した高解像度のビデオ・フレームにフォーマットすることができる。
超解像技術は、解像度コンポーネントのビデオ・フレームに基づいて、高解像度ビデオ・フレームを決定するために使用することができる。実施形態では、このような超解像技術は、解像度コンポーネントのビデオ・フレームの解像度をアップスケーリングするアップスケーリング動作、およびアップスケーリングされたビデオ・フレームの画素を組み合わせて再結合高解像度ビデオ・フレーム(recombined high resolution video frames)を得るプロセスにおいて、アップスケーリングされたビデオ・フレームの各々の寄与を示す1つ以上のパラメータに基づいて、アップスケーリングされたビデオ・フレームを組み合わせる動作(ステップ234)を含むことができる。これら1つ以上のパラメータは、ビットストリーム・パーサによってコンバイナに送ることができる。
図3は、本発明の実施形態によるビデオ・コーディング・システムの例を示す。具体的には、図3は、元のビデオ信号が空間的にN個の解像度コンポーネントにサブサンプリングされ、その後N個の解像度コンポーネントにエンコードされる実施形態を示す。好ましくは、実施形態では、サブサンプリング動作はポリフェーズ・サブサンプリング(polyphase subsampling)である。ポリフェーズ・サブサンプリングについては、以下で図4および図5を参照して更に詳しく説明する。
図3に示すように、第1解像度コンポーネント3061は、元のビデオ信号302の第1空間サブサンプリング・プロセス3041によって生成することができる。第1解像度コンポーネントは、他の解像度コンポーネントに対して全くエンコーディング依存性なく、エンコーダ3081によってエンコードすることができる。エンコードされた第1解像度コンポーネントは、デコーダ3101によってデコードされて、再現第1低解像度ビデオ信号3121を得ることができ、再現第1低解像度ビデオ信号3121は低解像度ビデオ信号316としてレンダリングすることができる。
他の解像度コンポーネント3062〜Nは、元のビデオ信号の他のサブサンプリング・プロセス3042〜Nによって生成することができる。例えば、第2解像度コンポーネント3062は、第2空間サブサンプリング・プロセス3042に基づいて生成することができ、第N解像度コンポーネント306Nは、第N空間サブサンプリング・プロセス306Nに基づいて生成することができる。各空間サブサンプリングされた解像度コンポーネントは、元のビデオ信号の空間的にずらされた低解像度サンプルを表すことができる。実施形態では、ポリフェーズ・サブサンプリングを空間サブサンプリング技法として使用することができる。
この特定実施形態では、前述の他の解像度コンポーネントは、第1解像度コンポーネントに対する依存性を使用してエンコードすることができる。このために、エンコードされた第1解像度コンポーネントを表すビットストリームをデコードしてビデオ・フレームを得て(ステップ309)、これらのビデオ・フレームを、他の解像度コンポーネント、例えば、第2解像度コンポーネント3062のビデオ・フレームと、第2解像度コンポーネント3062がエンコーダ3082の入力に供給される前に、組み合わせる。実施形態では、第1解像度コンポーネントおよびもう1つの解像度コンポーネント(further resolution component)のビデオ・フレームを組み合わせるプロセス(ステップ3112〜N)は、差分信号(残余信号としても知られる)を決定するステップを含むことができ、第1解像度コンポーネントのビデオ・フレームの少なくとも一部を、もう1つの解像度コンポーネント、例えば、第2解像度コンポーネントのビデオ・フレームから減算する。したがって、第1解像度コンポーネントおよびもう1つの解像度コンポーネントのビデオ・フレームに基づいて、もう1つの解像度コンポーネントの残余ビデオ・フレーム(residual video frame)を生成し、エンコーディング・プロセスに供給する。エンコーディング・プロセスは、もう1つの解像度コンポーネントに関連するビットストリームを生成する。続いて、このようにして生成された解像度ビットストリームは、図2Aに示したのと同様に、ビデオ・ビットストリーム(図示せず)に組み込まれる。
エンコード・ビデオ・ビットストリームの形成の間、デコーダ情報の少なくとも一部、即ち、各解像度コンポーネント(の処理)についての情報(例えば、サブサンプリング・プロセス、フィルタリング、コーディング依存性等についてのメタデータ)を、エンコーダによって生成されたビットストリームに挿入して、デコーダ・デバイスが、第1解像度コンポーネントに基づいて、または第1解像度コンポーネントと1つ以上の他の解像度コンポーネントとに基づいて、ビデオ信号を再現できるようにすることができる。
この実施形態では、第1解像度コンポーネントと、他のデコードされた解像度コンポーネントの内、圧縮効率を上げるために第1解像度コンポーネントに対するコーディング依存性を有する1つ以上とに基づいて、ビデオ信号を再現することができる。もう1つの解像度コンポーネントの第1解像度コンポーネントに対するコーディング依存性についての情報は、デコーダへのビデオ・ストリーム内において通知することができる。したがって、エンコード・ビデオ・ビットストリーム内において解像度コンポーネントおよびデコーダ情報がデコーダに送信されたとき、デコーダはビットストリームを解析し、図2Bを参照して説明したのと同様に、デコーダ情報および解像度コンポーネントをビットストリームから抽出することができる。
抽出した第1解像度コンポーネント・ビットストリームをデコーダ3101に供給することができ、デコーダ3101は、デコーダ情報に基づいて第1ビットストリームをデコードし、第1解像度コンポーネント・ビデオ・フレーム3131を得る。第1解像度コンポーネントに基づいてコンテンツをレンダリングすることが望まれる場合、第1解像度コンポーネント・ビデオ・フレームを使用してコンテンツを再生することができる。これは、第1解像度コンポーネントが、他の解像度コンポーネントに対するコーディング依存性が全くなく、エンコードされたからである。
第1解像度コンポーネントおよび1つ以上の他の解像度コンポーネントに基づいてコンテンツをレンダリングすることが望まれる場合、他の解像度コンポーネント・ビットストリームをデコーダ3102〜Nに供給することができ、デコーダ3102〜Nは、デコーダ情報に基づいて他のビットストリームをデコードして、他の解像度コンポーネントの残余ビデオ・フレームを得る。他の解像度コンポーネント、例えば、第2解像度コンポーネントは第1解像度コンポーネントに対するコーディング依存性を有するので、もう1つの解像度コンポーネント3152〜Nのビデオ・フレーム、例えば、第2解像度コンポーネント3152のビデオ・フレームを再現するために、第1解像度コンポーネントのビデオ・フレームを、もう1つの解像度コンポーネント(残余信号)の残余ビデオ・フレームと組み合わせる(ステップ3132〜N)。
その後、再現された第1解像度コンポーネントのビデオ・フレームを、そして、場合によっては、1つ以上の他の解像度コンポーネントのビデオ・フレームを、再現された高解像度ビデオ信号316に組み込む。ポリフェーズ・サブサンプリングの場合、再結合プロセス314は、解像度コンポーネントをゼロ・パディングすることによってビデオ・フレームをアップサンプリングし、次いで、このよう形成されたビデオ・フレームを追加することにより、ポリフェーズ・サブサンプリングを逆転し(図5を参照して更に詳しく説明する)、高解像度ビデオ信号316を形成するステップを含むことができる。空間サブサンプリング・プロセスの更に一般的な場合では、再結合プロセス316は周知の超解像アルゴリズムであってもよい。
したがって、図3のコーディング・システムは、異なる高解像度の解像度ビデオ信号を、第1解像度コンポーネントと、1つ以上の他の解像度コンポーネント、例えば、解像度コンポーネント1、または解像度コンポーネント1+2、または解像度コンポーネント1+2+,...,+N等に基づいて再現することができるという利点を提供する。スケーラブル・ビデオ・コーディング(SVC:scalable video coding)では、レイヤは複数の依存性を有し(例えば、レイヤNがレイヤN−1に依存し、一方レイヤN−1はレイヤN−2に依存する等)、このために、レイヤの数と共に増大するデコーディング遅延を招く。このような方式は、デコーディング・プロセスの容易な並列化を妨げる。対照的に、図3によるコーディング・プロセスは、第1解像度コンポーネントのみに依存する他の解像度コンポーネントを含むので、他の解像度コンポーネントを並列でデコードできるという意味で、並列処理に適した低遅延デコーディング方式を提供する。更に、各解像度コンポーネントは同じ解像度を有することができるので、これによってデータ処理の複雑さを大幅に低減する。対照的に、スケーラブル・ビデオ・コーディングにおけるレイヤは、空間スケーラビリティを可能にするために、基準レイヤから最も高いエンハンスメント・レイヤまで、解像度が高くなっていく。
図4Aおよび図4Bは、本開示において説明する実施形態において使用することができる空間サブサンプリング方式の例を示す。図4Aは、(規則的な)サンプリング格子、例えば、高解像度サンプリング格子に基づく連続画像をサンプリングすることによって形成することができるビデオ・フレーム402の一部を示す。ここでは、サンプリング格子における各サンプリング点は、高解像度ビデオ・フレームにおける画素を形成する。異なる型式の低解像度ビデオ・フレームは、高解像度ビデオ信号の高解像度フレームに基づいて、異なる低解像度サンプリング格子4041〜4を使用することによって形成することができ、低解像度サンプリング格子は、高解像度ビデオ・フレームのサンプリング格子よりも低いサンプリング密度を有する。SVCおよびSHVCから知られているダウンサンプリング動作では、ダウンサンプリングされたビデオ信号のビデオ・フレームの新たな画素値が、元の高解像度ビデオ信号のビデオ・フレームにおける複数組の画素値に基づいて計算されるが、これとは対照的に、空間サブサンプリング動作は画素値を変化させない。空間サブサンプリングは、画像フレームを形成する1組の画素値から画素値の部分集合を選択するだけである。空間サブサンプリング方式は、元のビデオ信号、またはその低解像度バージョンの非常に効率的な再現を可能にする。加えて、解像度コンポーネントの空間的にサブサンプリングされたビデオ・フレームは、高解像度ビデオ・フレームを再現するために、超解像技術の使用を可能にする。尚、図4Aに示すサンプリング格子は、使用することができる多数の異なるサンプリング格子の例として見なされてしかるべきであることを注記しておく。
このような低解像度サンプリング格子によって生成されたビデオ・フレームは、解像度コンポーネントのビデオ・フレームを表す。異なるサンプリング格子に基づいて高解像度ビデオ・フレームをサブサンプリングすることによって、異なる解像度コンポーネントを形成することができる。サンプリング格子のグループの選択は、このサンプリング格子のグループに基づいて生成される解像度コンポーネントを使用して元の高解像度ビデオ信号を再現できるように、即ち、元の高解像度ビデオ信号と同一または殆ど同一のビデオ信号を再現することができるように、行うことができる。更に、1つ以上のサンプリング格子の選択は、これら1つ以上のサンプリング格子に基づいて生成される解像度コンポーネントを使用して、高解像度ビデオ信号の低解像度バージョンを構成する(construct)ことができるように行うこともできる。
ある実施形態では、高解像度ビデオ・フレームをサブサンプリングするために使用されるサンプリング格子が、同じサンプリング密度を有してもよい。このようなサンプリング格子によって生成される(generated on)解像度コンポーネントは、同じ解像度を有する。他の実施形態では、サンプリング格子(の一部)が異なるサンプリング密度を有してもよい。その場合、解像度コンポーネント(の一部)が異なる解像度を有する。更に、図4Aに示すように、ある実施形態では、サンプリング格子が重複する、即ち、1つ以上のサンプリング点を共通して有することもできる。他の実施形態では、サンプリング格子間には重複はない。
したがって、解像度コンポーネントのグループは、図4Aに示したように、空間サブサンプリングに基づいて生成することができる。このグループにおける全ての解像度コンポーネントは、元の高解像度ビデオ信号を再現するために使用することができ、このグループにおける解像度コンポーネントの一部は、高解像度ビデオ信号の1つ以上の低解像度バージョンを構成するために使用することができる。
図4Bは、高解像度ビデオ・フレームの画素402に基づいて、それよりも解像度が低い複数のビデオ・フレーム(この例では4つ)を生成するためのポリフェーズ・サブサンプリング方式を示す。ポリフェーズ・サブサンプリングでは、4×4画素行列は、4つの2×2解像度コンポーネント4031〜4にサブサンプリングすることができ、4×4画素行列において、各解像度コンポーネントは、空間的にずらされた2×2画素行列4061〜4を表す。これら4つの解像度コンポーネントは、元の(高解像度)ビデオ信号を再現するためにデコーダによって使用することができる解像度コンポーネントのグループ(解像度コンポーネント・グループ)を形成する。
高解像度ビデオ・フレームは、YUV型カラー・フォーマット、例えば、YUV4:2:0カラー・フォーマット、1920×1088解像度、毎秒24フレーム、240フレームを有することができる。この高解像度ビデオ・フレームをポリフェーズ空間サブサンプリング・プロセスに、係数2で(with a with factor 2)(Y、U、およびVに適用される)適用する(subjecting)と、YUV4:2:0カラー・フォーマット、960×544画素解像度、および24fpsのフレーム・レートの4つの低解像度ビデオ・フレームが得られる。
ポリフェーズ・サブサンプリング方式は、エンコーダおよびデコーダ側双方において非常に速い動作を可能にするという利点があり、画素値は変化しない。しかしながら、これは、元の信号がサブサンプリング周波数の2倍を超える周波数を含む場合、空間エリアシング効果により、視覚的アーチファクトを混入させるおそれがある。その場合、4つの低解像度コンポーネントのいずれかが、レンダリングに適さないおそれがある。この効果を軽減するために、フィルタリング後処理動作を適用して、解像度コンポーネントの出力フレームを改良し、これらの視覚的アーチファクトをできるだけ多く打ち消すこともできる。
例えば、実施形態では、ポリフェーズ・サブサンプリングは、高解像度フレームのロー・パス・フィルタリングの後に実行するとよい。このようにして、エリアシング効果による視覚的アーチファクトを排除することができる。ロー・パス・フィルタリングを行うとき、レンダリングの前に元の画像を復元する(restore)ためには後処理ステップが必要となる。そうしないと、再現される信号は、せいぜい、入力信号のロー・パス・バージョンにしかならない。損失のないコーディングでは、ロー・パス・フィルタを逆戻りして(revert)HR画像を復元することは、逆ウイナー・フィルタのような技法によって、ある程度までは行うことができる。
損失のあるコーディングでは、ロー・パス・フィルタリングは、特に、低ビットレートのエンコーディングでは、再現された信号が既に圧縮によって酷い損傷を受けている場合、なんらかの困難を招くおそれがある。このような後処理復元方式は、ロー・パス・フィルタによって除去されてしまった高周波数の推定値を与えることができるだけで、真に元の信号を復元するのではない。即ち、これらはビット毎に劣化を元に戻すのではない。
更に他の実施形態では、混成ロー・パス・フィルタリング方式をポリフェーズ・サブサンプリングと組み合わせることもできる。例えば、低解像度コンポーネントの少なくとも1つが、それ自体の解像度でのレンダリングに適当である場合、高解像度信号をダウンサンプリングしたロー・パス・フィルタリング・バージョンに基づいて、1つの解像度コンポーネントを生成することができ、一方他の(3つの)低解像度コンポーネントは、フィルタリングしない高解像度信号のポリフェーズ・サブサンプリングに基づいて生成することができる。
空間コンポーネントの生成について、ポリフェーズ・サブサンプリングを参照して説明したが、他の型式の空間サブサンプリング方式も使用することができる。このような方式の例には、五点形(quincunx)または六点形(hexagonal)サブサンプリングまたはこれらの派生物が含まれる。このような空間サブサンプリング方式に基づいて、解像度コンポーネントを形成し、高解像度ビデオを再現するために使用することができる。
N個の画素(行列N×1)を有する高解像度フレームxから、1組でK個の低解像度フレームy(k)を求める。各低解像度フレームはM個の画素を有し(行列M×1)、M<Nである。各k番目の低解像度フレームy(k)について、HRフレームのフィルタリングを行列H(ディメンションN×N)によって記述し、サブサンプリングを行列A(ディメンションM×N)によって定義する。つまり、生成モデルは次のようになる。
ここで、前述のように、同じプレフィルタリング(pre filtering)をHRフレームに適用すると仮定することができる。他の実施形態では、各k番目の分解(decomposition)は行列Hを有することができる。更に他の実施形態では、1つの解像度コンポーネントが、HRフレームのロー・パス・フィルタである行列HLPを有し(したがって、モアレ効果のような視覚的アーチファクトを回避する)、一方他の解像度コンポーネントは、単位行列である同じ行列HIを有する。これが意味するのは、HRフレームはフィルタリングされておらず、純粋なポリフェーズ・サブサンプリングが実行されるということである。
以上で説明した生成モデルに基づいて、例えば、Sung Cheol Park et al. による前述の論文に記載されているような、既知の超解像技術を使用して、x^、即ち、HRフレームxの推定を生成するために多くの再現方法を適用することができる。
実施形態では、元の高解像度信号は、図4において説明したようなポリフェーズ・サブサンプリング動作を使用して分解された。その場合、サブサンプリングした信号を再結合するプロセスは、もっと一般的な場合よりも簡単になる。再結合プロセスは、結局、低解像度コンポーネントが元の高解像度信号において有していた位置にしたがって、各低解像度の解像度コンポーネントを、再結合したピクチャ上にマッピングすることになる。この再結合プロセスは、ゼロ・パディング(zero padding)によって解像度コンポーネントの各々をアップサンプリングし、元のビデオ信号のビデオ・フレームにおける解像度コンポーネントの位置に一致させるために、行列のエレメントを空間的にずらすステップを含む。
図5は、ポリフェーズ・サブサンプリングされた信号の例を示す。この例は、4つの低解像度コンポーネント5021〜4のグループを含む。このプロセスは、アップサンプリング・プロセス5041〜4から開始することができ、ここで2×2の画素ブロックを、4×4の画素ブロックにアップサンプリングすることができる。ここで、左上、右上、左下、または右下のいずれかを基準として選択することができる。アップサンプリング・プロセスの間に作られた画素位置に0を追加するために、ゼロ・パディング動作5061〜4を使用することができ、こうして0が追加されてアップサンプリングされた4×4ブロック5081〜4を形成する。その後、これらのブロックを(元の)再結合された高解像度信号512に組み込むために、加算プロセス510を使用することができる。このプロセスは、メモリ使用に関して最適化することができる。例えば、解像度コンポーネントの画素を、最初のアップサンプリングされた行列においてコピーしてもよい。
実施形態では、MPEG−4 part10 AVC/H.264およびHEVC/H.265にしたがって、NALユニットの概念を使用して、デコーダ情報、例えば、解像度コンポーネントの組成(composition)をデコーダに通知することができる。NALユニットには2つの主要なカテゴリ、即ち、ビデオ・コーディング・レイヤ(VCL)NALユニット、および非ビデオ・コーディング・レイヤ(非VCL)NALユニットが存在する。HEVC規格では、非VCL NALユニットの1つをシーケンス・パラメータ・セット(SPS)と呼ぶ。シーケンス・パラメータ・セット(SPS)は、各スライス・セグメント・ヘッダ内にある(found)シンタックス・エレメントによって参照されるPPS内にあるシンタックス・エレメントのコンテンツによって決定される、0個以上のCVS全体に適用するシンタックス・エレメントを含むシンタックス構造を定める。ここでCVSはコーディング・ビデオ・シーケンスを表す。SPS NALユニットにおけるパラメータの例には、クローマ・サブサンプリング方式を定めるchroma_format_idc、またはデコードされたピクチャの幅および高さをそれぞれ輝度サンプル(luminance sample)の単位で与えるpic_width_in_luma_samplesおよびpic_height_in_luma_samplesがある。デコーダ情報を含むNALユニット、およびデコーダ情報内において通知される解像度コンポーネント方式の例について、以下で図6A〜図6Cを参照して、更に詳しく説明する。
図6Aは、本発明の種々の実施形態によるNALユニットの例を示す。具体的には、図6Aは、3つの非VCL NALユニット6021〜3、およびビットストリームにおいて解像度コンポーネントについての情報を通知するためにデコーダ情報を含むVCL NALユニット604を示す。実施形態では、非VCL NALユニットは、ビットストリームにおいて使用される解像度コンポーネント方式についての情報を通知するための情報を含むこともできる。解像度コンポーネント・サブサンプリングは複数のフレームに該当するので(apply for)、実施形態では、ビットストリームにおける解像度コンポーネントのフォーマットを示すパラメータ610(resolution_component_format_idc)を、以下のようにして、いわゆるSPS NALユニット6022において通知することができる(例えば、MPEG−4 part10 AVC/H.264またはHEVC/H.265において使用されるように)。
このパラメータの値に応じて、解像度コンポーネント・フォーマットを通知することができる。表2は、resolution_component_format_idcに対して可能な値の非網羅的リストを示す。
実施形態では、再現される高解像度出力ビデオ・フレームの解像度は、以下のように、それらの関連するSPS NALユニット(VPS NALユニット602
1)においてpic_width_in_luma_samplesおよびpic_height_in_luma_samples606によって通知される、各解像度コンポーネントの空間解像度から導き出すことができる。
HRWidth = pic_width_in_luma_samples * UpWidth
HRHeigth= pic_height_in_luma_samples * UpHeight
この実施形態では、HRWidthおよびHRHeight値が明確になるように、 全ての解像度コンポーネントが同じSPS NALユニットを共有するか、またはそれらのそれぞれのSPS NALユニットにおいて少なくとも同じ値のpic_width_in_luma_samplesおよびpic_height_in_luma_samplesを有すると仮定することができる。
実施形態では、ビットストリームにおける空間コンポーネントは、ビデオ・フレームにおける個々のコンポーネントについての情報を含む周知のYUVカラー・コーディング・フォーマットと同様のフォーマット・シンタックスに基づいて、デコーダに通知することができる。したがって、解像度コンポーネント・フォーマットに対して提案する表記は、w:a:bであり、ここで、
−幅パラメータ「w」は、ビットストリームの最も高い解像度の出力フレームの2画素高の概念領域(2-pixel height conceptual region)の画素における幅を表す。
−所与の解像度コンポーネントについて、第1行解像度コンポーネント・パラメータ「a」は、この幅wの画素領域の第1行におけるこの解像度コンポーネントに属するサンプルの数を表す。
−所与の解像度コンポーネントについて、第2行解像度コンポーネント・パラメータ「b」は、この幅wの画素領域の第2行におけるこの解像度コンポーネントに属するサンプルの数を表す。
図6Bは、以上で説明した解像度コンポーネント・フォーマットの凡例を示す。ドットのアレイ602は、高解像度ビデオ・フレームの4×4画素ブロックを表す。このアレイは、604に図示するように空間的に配列された、ある数の解像度コンポーネント、例えば、4つの異なる解像度コンポーネント6051〜4を含むことができる。次いで、クローマ・サブサンプリング方式と同様に、第1行解像度コンポーネント・パラメータ「a」が解像度コンポーネントに属する4×2画素ブロックの第1行における画素の数を表し、第2行解像度コンポーネント・パラメータ「b」が解像度コンポーネントに属する4×2画素ブロックの第2行における画素数を表すという意味で、4×2画素ブロック606を、各行におけるその解像度コンポーネントに関して分析する。このように、異なる解像度コンポーネント方式をデコーダに効率的に通知することができ、解像度コンポーネント・フォーマットは周知のカラー・コンポーネント・フォーマットと合致する。
図6Cは、本開示において説明する実施形態において使用することができる解像度コンポーネント・フォーマットの異なる例を示す。ここでは、4:2:0フォーマットは、ポリフェーズ・サブサンプリング方式に対応し、解像度コンポーネントの1つのサンプルが、出力フレームの4つまでの画素に寄与することができる(適用されるダウンサンプリング動作に応じて1から4、例えば、ポリフェーズは1)。同様に、4:4:4フォーマットは、解像度コンポーネントおよび出力フレームが同じ解像度を有するという状況に対応する。この場合、空間サブサンプリングは行わない。ビットストリームが4:4:4フォーマットの複数の解像度コンポーネントを含む場合、これはSNRスケーラビリティと同様であり、再現される出力フレームは、PSNR向上という効果があるが、解像度が高くなる効果はない。解像度コンポーネント・フォーマット毎に、空間サブサンプリングが行われない場合(4:4:4)と同様に、所与の数の解像度コンポーネントが同じフル・ビデオ信号を伝えることが予測される。
予測される解像度コンポーネントの数は、元の(高解像度)ビデオ信号を再現するために使用することができる解像度コンポーネントのグループを形成することができる。ビットストリームによって表されるビデオ・ソースは、デコーディング順のピクチャのシーケンスであり、ソース・ピクチャおよびデコード・ピクチャは各々1つの解像度コンポーネント・アレイを含むことができ、各解像度コンポーネント・アレイは1つ以上のカラー・サンプル・アレイ、即ち、輝度(Y)のみ(白黒)、輝度および2つの彩度(YCbCrまたはYCgCo)、緑、青、および赤(GBR、RGBとしても知られている)、またはその他の未指定白黒または三刺激(tri-stimulus)カラー・サンプリングを表すアレイ(例えば、YZX、XYZとしても知られている)を含むことができる。
パラメータresolution_component_format_idcによって示される解像度コンポーネント・フォーマットから、各解像度コンポーネントの空間解像度を導き出すことができる。この解像度コンポーネント・フォーマットは、図6Aに示したようなSPS NALユニットにおいてデコーダに通知することができる。
更に他の実施形態では、各解像度コンポーネントがそれ自体の空間解像度を有することができ、複数のSPS NALユニットが、それらの各々に対して異なる空間解像度で、即ち、異なる pic_width_in_luma_samplesおよびpic_height_in_luma_samplesで定められる。この実施形態では、解像度コンポーネント・フォーマットをSPS NALユニット6022において通知することができる。他の実施形態では、HRフレームの出力解像度を、たとえば、共通のビデオ・パラメータ・セット(VPS)NALユニット6021において示すパラメータを使用することもできる。
HRフレームを生成するために、デコーダは、解像度コンポーネント・ビデオ・フレームの画素と、HR出力ビデオ・フレームの画素との間でマッピングを実行しなければならない。低解像度コンポーネントのビデオ・フレームを高解像度ビデオ・フレームに組み込むデコーダ・プロセスは、次のステップを含むことができる。
1)各低解像度コンポーネント・ビデオ・フレームをHRビデオ・フレームの解像度にアップスケーリングするステップ、
2)アップスケーリングした低解像度コンポーネント・ビデオ・フレームからの画素値を数学的に組み合わせて、HRビデオ・フレームの各画素値を決定するステップ。
実施形態では、ポリフェーズ・サブサンプリングを使用することができる。この場合、アップスケーリング・ステップ(1)では、VPS NALユニットにおける専用パラメータが、実行する必要があるアップスケーリング動作を通知することができる。VPS NALユニットにおけるフラグ608は、サンプリングがポリフェーズ・サブサンプリングであるか否か示すことができる。
このフラグは、解像度コンポーネントのLRビデオ・フレームをHRフレームの解像度にアップサンプリングする必要があることをデコーダに通知することができる。既知のサンプル値の間で失ったサンプル値は、0に設定すればよい(パディング)。HRビデオ・フレームの解像度は、先のテーブル1に記載したresolution_component_format_idcおよび対応するアップスケーリング率の値によって与えることができる。実施形態では、the resolution_component_format_idcおよび対応するアップスケーリング率は、NALユニット、例えば、SPS NALユニットにおいて、デコーダに通知することができる。
他の実施形態では、ポリフェーズ・サブサンプリングは、解像度コンポーネント・フォーマット方式に固有であってもよい。その場合、 resolution_component_format_idcをデコーダに通知するとき、ポリフェーズ・サブサンプリングが使用されることを仮定する。
他の実施形態では、スライス・セグメント・ヘッダを含むNALユニット604のヘッダが、それが関連付けられる解像度コンポーネントを示すパラメータ612(resolution_component_id)を含むことができる。即ち、
ここで、resolution_component_id値は、ポリフェーズ・サブサンプリングによる解像度コンポーネント・フォーマット毎に定められるように、0から maximum_number_of_resolution_components_minus_1までの範囲を取ることができる(テーブル3参照)。解像度コンポーネントの付番は、ラスタ・スキャンの順序に従う。図4に示すように、第1解像度コンポーネント4031「A」は、解像度コンポーネント識別子id値0によって識別することができ、第2解像度コンポーネント4032「B」は、解像度コンポーネント識別子id値1によって識別することができ、第3解像度コンポーネント4033「C」は解像度コンポーネント識別子id値2によって、識別することができ、第4解像度コンポーネント4034「D」は、解像度コンポーネント識別子id値3によって識別することができる。
更に、選択されたポリフェーズ・サブサンプリング方式は、ビットストリームにおいて通知されて、アップスケーリングされた低解像度コンポーネント・ビデオ・フレームからの画素値を組み合わせるために(先に説明したステップ2)、LR画素が高解像度フレーム内のどこに位置するか判定する。実施形態では、解像度コンポーネントからの画素は、ラスタ・スキャンの順序で組み合わせることができる。例えば、解像度フォーマットが4:2:0の4つの解像度コンポーネントの場合、以下の表に基づいて、ラスタ・スキャンの順序をデコーダに通知することができる。
他の実施形態では、空間サブサンプリング方式は、予め定められないか、または完全には予め定められない。この場合、アップスケーリング・フィルタ、LRビデオ・フレームからの画素の位置、およびHRビデオ・フレームにおける画素を計算するためのアルゴリズムを、デコーダに通知する必要がある。包括的な方法では、この情報は、例えば、解像度コンポーネント毎のベクトルに基づいて、デコーダ情報において通知することができる。実施形態では、この情報は、画素単位で原点、例えば、左上原点(0、0)に関する解像度コンポーネントの変位を示すサブ画素精度と、低解像度コンポーネントのビデオ・フレームの再結合に基づいてHRフレームからあらゆる画素値を計算するためのアルゴリズムとによって定めることができる。この場合、再結合プロセスは、本開示において先に説明したような超解像画像再現技術であってもよい。
更に他の実施形態では、本開示において説明した解像度コンポーネント方式を、例えば、HEVCのような、現在のビデオ・コーディング規格において実施することができる。図7は、本発明の実施形態にしたがって解像度コンポーネントを含むHEVCビデオ信号を形成するプロセスを示す。具体的には、低解像度ビデオ・フレーム706、この特定例では4つの低解像度ビデオ・フレームは、元のビデオ信号702の高解像度フレームを空間的にサブサンプリングする(704)ことによって作成することができる。実施形態では、解像度コンポーネントの形成は、HEVCエンコーダの入力に供給される新たなビデオ信号710の形成における前処理ステップと見なすことができる。新たなビデオ入力信号のビデオ・フレームは、解像度コンポーネントのビデオ・フレーム706を時間的に多重化する(708)ことによって形成することができる。新たなビデオ信号は、元のビデオのフレーム・レートの4倍のフレーム・レートと、1/4の空間解像度を有する。このように、デコーディング速度に対する要件は同じままである。
図7におけるプロセスの実装の詳細はHEVCビデオ・コーディング規格のコンテキストで説明されているが、本プロセスはいずれのビデオ・コーディング規格においても実施できることを具申する。
新たな入力ビデオ信号710は、ビデオ・エンコーダの入力に供給される。ビデオ信号におけるビデオ・パラメータは、元のビデオ信号ではなく、新たな入力ビデオ信号の特性を反映する。
例えば、図7において、空間解像度は4で除算され、フレーム・レートは4で乗算される。フレーム・レートの4による乗算は、デコーダがビデオのHRフレームを元のフレーム・レートでレンダリングしなければならない場合、必要とされるデコーディング速度に影響を及ぼす。加えて、第1解像度コンポーネントrc1の独立してデコード可能なビットストリームを構成するためには、予測のために第1解像度コンポーネントrc1のビデオ・フレームが第1解像度コンポーネントのビデオ・フレームのみに依存するように、エンコーダが構成される必要がある。他の解像度コンポーネント(rc2、rc3、rc4)は、第1解像度コンポーネントのビデオ・フレームに依存し、場合によっては、他の解像度コンポーネントのビデオ・フレームにも依存する可能性がある。
ビットストリームは、新たなビデオ信号の適正なデコーディングおよびレンダリングを確保するために、デコーダ情報を含むことができる。即ち、1つのみの解像度コンポーネント、例えば、第1解像度コンポーネントのレンダリングが望まれる場合、4つのフレーム毎に1つのフレームだけを、通知されたフレーム・レートを4で除算したフレーム・レートで、デコードおよびレンダリングすればよい。ビデオの高解像度バージョンのレンダリングが意図される場合、4つの解像度コンポーネントをデコードする必要があり、初期フレーム・レートに戻す(move back)ために、バッファリングされた出力フレームを高解像度ビデオ・フレームに再結合し、4で除算したフレーム・レートでレンダリングする必要がある。
NALユニットに基づくビデオ・コーディング規格、例えば、MPEG−4 part10 AVC/H.264またはHEVC/H.265ビデオ・コーディング規格のコンテキスト内では、いわゆるSEIメッセージにおいてデコーダ情報を送信することができる。HEVCでは、デコーダ情報は、フレーム・パッキング構成SEIメッセージ(frame packing arrangement SEI message)を修正することによって伝えることができる。この規格は、交互する第1および第2フレームの時間的インターリーブ構成(temporal interleaving arrangement)を有する連続デコード・フレーム(sequentially decoded frames)を含むフレーム・パッキング構成として、タイプ5を定める。
したがって、同様に、順次デコードされたフレームが、交互する第1、第2、第3、および第4フレームの時間的インターリービング構成を有することをデコーダに通知するために、frame_packing_arrangement_typeの新たなタイプ(タイプ6)を定めることができる。
更に、新たなタイプをcontent_interpretation_typeに追加することができる。
ここで、content_interpretation_typeのタイプ3は、フレーム・パッキング構成方式の各タイプについて(タイプ6を除く)、フレーム0およびフレーム1と呼ばれる2つの構成フレームがあり、タイプ6のフレーム・パッキング構成方式については、フレーム2および3が存在し、先のテーブル3において、ラスタ・スキャン順の付番が行われることを、デコーダに通知する。
加えて、1に等しいcurrent_frame_is_frameO_flagを構成フレーム0上に置いて、デコーダが、このマーカから数えることによって、現在のデコードされているフレームがどの解像度コンポーネントに属するのか導き出すことができるようにしなければならない。あるいは、実際の解像度コンポーネントが現在のフレーム内にあることをデコーダに通知するために、current_frame_is_frame1_flag、current_frame_is_frame2_flagを、タイプ6のframe_packing_arrangement_typeと組み合わせて指定することができる。前述のフラグが全て偽である場合、これは実際のフレームが構成フレーム3であることを意味する。
フレーム・パッキング構成SEIメッセージのシンタックスは、新たなフレーム・パッキング構成タイプを考慮に入れるように修正される。図8は、本発明の実施形態にしたがってデコーダ情報を通知するためのSEIメッセージを示す。このようなビットストリームの柔軟な配信を可能にするためには、LRレンダリングのために1つの解像度コンポーネントの選択を可能にすることが有利である。図9は、本発明の実施形態にしたがって解像度コンポーネントを格納するためのファイル・フォーマットを模式的に示す。具体的には、図9は、この場合4つの解像度コンポーネントrc1〜rc4のエンコードされたビデオ・フレーム9041〜5のシーケンスでの元のビデオ信号のフレーム902のエンコーディング、および各解像度コンポーネントrc1〜rc4の適したトランスポート・コンテナ、例えば、ISOBMFFファイル906の別個のトラック9081〜4への格納を模式的に示す。実施形態では、図9におけるエンコーディング・プロセスは、図7を参照して説明したようなHEVCエンコーディング・プロセスであってもよく、エンコードされたHEVCビデオ信号が形成され、低解像度コンポーネントと、HEVC準拠ビットストリームにおける解像度コンポーネントについてHEVCデコーダに知らせるためのデコーダ情報とを含む。
このようなファイルでは、ベース・トラック910は解像度コンポーネントの各のVCL NALユニットをポイントするポインタを含むエキストラクタ9121〜5を含むことができるので、元のビットストリームを再構成することができる。実施形態では、トラック数を減らすために、LR0トラック9081をベース・トラックに組み込むことができる。何故なら、LR0トラックは、意図する出力解像度が何であっても、必ず必要とされるLRフレームをレンダリングするためのデータを含むからである。
ベース・トラックは、PPS、SPS、およびVPS NALユニットを含む、非VCL NALユニットを含むことができる。更に他の実施形態では、いくつかの非VCL NALユニットが解像度コンポーネントのVCL NALユニットに特定的に関連付けられる場合、これらをそれらのそれぞれのトラックに格納すると有利である。このように、特定のトラックをデコードするためには必要とされないデータでベース・トラックを汚染することを回避することができる。このようなビットストリームの移送は、ISOBMFF規格に限定されず、MPEGー2TSのような、他のコンテナにおいても同様に容易に実施することができる。
ビットストリームを移送するためにISOBMFFの異形(variant)を使用すると仮定すると、DASHクライアント・デバイスが利用可能な解像度コンポーネントから特定の解像度コンポーネントをレンダリングのために選択できるように、ISOBMFFファイルにおけるトラック構造をマニフェスト・ファイルに記述するために、ISO/IEC23009−1 MPEG DASH規格の技術的現状のメディア・プレゼンテーション・ディスクリプション(MPD:Media Presentation Description)を使用することができる。実施形態では、各解像度コンポーネントが独立してデコード可能な場合、マニフェスト・ファイルにおける別個のリプレゼンテーション・エレメントとして、解像度コンポーネントを(トラック毎に1つ)定めることができる。あるいは、他の実施形態では、解像度コンポーネント間のコーディング依存性の存在が1つの要求における同時引き出しを一層効率的にする場合、解像度コンポーネント(またはその一部)が1つのリプレゼンテーションにおいて供給されてもよい。他の解像度コンポーネントを1つのリプレゼンテーションにパッケージングすることにより、このリプレゼンテーションの幅および高さ属性を使用して、HR解像度をDASHクライアントに通知することができるという他の効果が得られ、したがって、DASHクライアントが、意図した解像度のレンダリングに該当するリプレゼンテーションを選択することが可能になる。
更に他の実施形態では、解像度コンポーネント方式の実施がHEVC/H.265ビデオ・コーディング規格のHEVC特徴を使用することもできる。図10は、本発明の他の実施形態にしたがって、解像度コンポーネントを含むHEVCビデオ信号を形成するプロセスを示す。この特定例では、元のビデオ信号1002の高解像度フレームをサブサンプリングすることによって(1004)、この例では4つの解像度コンポーネントのビデオ・フレーム1006を作成することができる。タイリング機能(tiling feature)をサポートするHEVCエンコーダに入力される新たなビデオ信号のタイル化ビデオ・フレーム(tiled video frame)は、解像度コンポーネントrc1〜rc4のビデオ・フレーム1006を空間多重化する(例えば、1つのビデオ・フレームに組み込む)ことによって(1008)形成することができ、解像度コンポーネントのビデオ・フレームのサイズは、HEVCエンコーダによって生成されたタイル化ビデオ・フレームのタイルのサイズと一致する。新たなビデオ信号は、元のビデオのフレーム・レートに等しいフレーム・レートと、同様に元のビデオに等しい空間解像度とを有する。
新たな入力ビデオ信号1010は、HEVCビデオ・エンコーダに供給され、このビデオ信号は、新たな入力ビデオの特性(解像度、フレーム・レート等)を示す情報(メタデータ)を含む。更に、HEVCエンコーダは、HEVC出力ビットストリームが、4つのLR解像度コンポーネントのビデオ・フレームと一致するHEVCタイル(rc1フレーム、rc2フレーム、rc3フレーム、rc4フレーム)を含むように構成されている。
HEVCタイルを含むHEVCタイル化ビデオ・フレームの場合、フレーム内予測が境界を交差しないようにエンコーダが構成されているので、定義上は、同じビデオ・フレームのHEVCタイル内にはコーディング依存性はない。しかしながら、インループ・フィルタリング(in-loop filtering)のような他の種類の空間依存性も解消する(disable)必要がある。加えて、第1解像度コンポーネントのビデオ・フレームのみを含むビットストリームの独立デコード可能な低解像度バージョンを構成するために、画像間予測のために第1解像度コンポーネントのビデオ・フレームが第1解像度コンポーネントの他のビデオ・フレームのみに依存するように、エンコーダを構成する必要がある。このために、
−最終出力フレームをレンダリングするときにインループ・フィルタリングを不能にする、
−動きベクトル(フレーム間予測)が直前および次のビデオ・フレームのLR0コンポーネント・タイルに制約される、
ように、HEVCエンコーダを構成する。
実施形態では、圧縮効率を高めるために、第1解像度コンポーネントrc1、第2解像度コンポーネントrc2、および第3解像度コンポーネントrc3タイルには、動きベクトルの制約を適用することができず、したがってこれらの間に時間的コーディング依存性が生ずる(introduce)。
他の実施形態では、解像度コンポーネントrc1、rc2、rc3のメディア・データ・コーディングが、第1解像度コンポーネントのビデオ・タイルのメディア・データに依存するのでもよく、したがって第1解像度コンポーネントのタイルに対してのみ時間的コーディング依存性が生ずる。最終的に、重要なことは、第1解像度コンポーネントのタイルのメディア・データを独立してデコードできるということである。
ビットストリームは、解像度コンポーネントの適正なデコーディングおよびレンダリングを確保するために、デコーダ情報を含む。デコーダ情報は、図7および図8を参照して説明したのと同様に、ビットストリーム内で通知することができる。即ち、ビデオの低解像度バージョンを意図する場合、左上のタイルのみをデコードしてレンダリングすればよい(第1解像度コンポーネントについて独立してエンコードされたメディア・データ(independently encoded media data)を表す)。ビデオの高解像度を意図する場合、4つの解像度コンポーネントをデコードしなければならない。即ち、4つのタイル(フレーム全体)をデコードしなければならず、高解像度リプレゼンテーションのビデオ・フレームを生成するために、出力フレームを再編成しなければならない。
NALユニット・ベースのビデオ・コーディング規格、即ち、MPEG−4 part10 AVC/H.264またはHEVC/H.265ビデオ・コーディング規格のコンテキストでは、デコーダ情報はSEIメッセージにおいてデコーダに送信することができる。具体的には、HEVCでは、SEIメッセージにおいてデコーダ情報をデコーダに通知することができる。
図11は、本発明の実施形態にしたがってデコーダ情報を通知するためのSEIメッセージを示す。
HEVC規格は、交互する第1および第2フレームの時間的インターリーブ構成を有する順次デコード・フレームを含むフレーム・パッキング構成として、タイプ5を定める。
したがって、同様に、デコードされた各フレームが、この例では、4つの解像度コンポーネントのタイル化構成を含むことをデコーダに通知するために、 frame_packing_arrangement_typeの新たなタイプ(タイプ6)を定めることができる。
加えて、指定されたフレーム・パッキング構成方式毎に(6を除く)、フレーム0およびフレーム1と呼ばれる2つの構成フレームがあることをデコーダに通知するために、新たなタイプのcontent_interpretation_typeも定める。タイプ6では、フレーム2および3が存在する。
ここで、ラスタ・スキャン順付番をテーブル3に示す。この実施形態では、あらゆるデコードされたフレーム内に4つの構成フレームが常に存在するので、current_frame_is_frameO_flagは関連がない。一貫性についてフラグを1に設定することができ、フレーム0からフレーム3があらゆるフレームに存在することが設計上この解決策では要求されるので、更に情報を追加する必要がない。
したがって、フレーム・パッキング構成SEIメッセージのシンタックスを、新たなフレーム・パッキング構成タイプを考慮に入れるように修正することができる。図11は、本発明の実施形態によるフレーム・パッキング構成SEIメッセージの修正シンタックスを示す。
このようなビットストリームの柔軟な配信を可能にするために、ビデオ信号の低解像度バージョンのデコーディングおよびレンダリングのために1つの解像度コンポーネントの選択を可能にすると有利である。このために、1つの解決策は、HEVCタイル内に含まれる各解像度コンポーネントを、図15に示すようなISOBMFFファイルの別々のトラックに格納することである。このようなHEVCタイルのトラック格納は、未だ公開されていないが、MPEG標準化活動から知られていることに留意されたい。
このようなビットストリームの柔軟な配信を可能にするために、LRレンダリングのために1つの解像度コンポーネントの選択を可能にすると有利である。図12は、元のビデオ・信号のビデオ・フレーム1202の、タイル化ビデオ・フレーム12041〜5のエンコードされたシーケンスへのエンコーディングを模式的に示す。低解像度ビデオ・フレームのサイズは、タイル化ビデオ・フレームのタイルのサイズと一致し、低解像度コンポーネントは、適したトランスポート・コンテナ、例えば、ISOBMFFファイル1206の別々のトラック12081〜4に格納される。
このようなファイルでは、ベース・トラック1210は、解像度コンポーネントの各々のVCL NALユニットをポイントするポインタを含むエキストラクタ12121〜5を収容することができるので、元のビットストリームを再生する(recreate)ことができる。実施形態では、トラックの数を減らすために、LR0トラック12081をベース・トラックに組み込むこともできる。何故なら、LR0トラックは、意図する出力解像度が何であっても、常に必要とされるLRフレームをレンダリングするためのデータを含むからである。
ベース・トラックは、PPS、SPS、およびVPS NALユニットを含む、非VCL NALユニットを含むことができる。更に他の実施形態では、いくつかの非VCL NALユニットが解像度コンポーネントのVCL NALユニットに特定的に関連付けられる場合、これらをそれらのそれぞれのトラックに格納すると有利である。このように、特定のトラックをデコードするためには必要とされないデータでベース・トラックを汚染するのを回避することができる。このようなビットストリームの移送は、ISOBMFF規格に限定されず、同様に、MPEGー2TSのような、他のコンテナにも容易に実施することができる。
ビットストリームを移送するためにISOBMFFの異形(variant)を使用すると仮定すると、DASHクライアント・デバイスが利用可能な解像度コンポーネントから特定の解像度コンポーネントをレンダリングのために選択できるように、ISOBMFFファイルにおけるトラック構造をマニフェスト・ファイルに記述するために、ISO/IEC23009−1 MPEG DASH規格の技術的現状のメディア・プレゼンテーション・ディスクリプション(MPD: Media Presentation Description)を使用することができる。実施形態では、解像度コンポーネントは、各解像度コンポーネントが独立してデコード可能な場合、マニフェスト・ファイルにおける別個のリプレゼンテーション・エレメントとして(トラック毎に1つ)定めることができる。
あるいは、他の実施形態では、解像度コンポーネント間のコーディング依存性の存在が1つの要求における同時引き出しを一層効率的にする場合、これらの解像度コンポーネント(またはその一部)が1つのリプレゼンテーション・エレメントにおいて供給されてもよい。MPDにおいて他の解像度コンポーネントを1つのリプレゼンテーションで定義することにより、解像度コンポーネントに基づいてレンダリングすることができる高解像度ビデオ信号のフォーマットを、リプレゼンテーション・エレメントの幅および高さ属性を使用して、DASHクライアントに通知することができるという利点が得られ、したがって、DASHクライアントは、意図する解像度のレンダリングに該当するリプレゼンテーションを選択することが可能になる。
実施形態では、ビデオ・エンコーダおよびデコーダのそれぞれの入力および出力は、特定のフォーマット、例えば、YUV420にしたがってカラー・コンポーネントが格納される生ビデオ・フォーマットに基づいて構成される。本開示では、通常の(regular)ビデオ信号の低解像度の解像度コンポーネントへの分解がエンコーディング・フェーズにおいて行われ、デコーディング・フェーズにおいて元に戻される。
図13Aは、本発明の実施形態にしたがって、解像度コンポーネント・フォーマットをビットストリーム内の内部フォーマットとして使用するコーディング・システムを示す。ここで、R1およびR2は2つの解像度コンポーネントを表す。実施形態では、色平面に加えて解像度コンポーネントを含む生ビデオ・フォーマット(適当なSDO、例えば、ISPO MPEG、ITU、またはSMTPE)を定めることができる。このようなフォーマットでは、ソース(カメラ、編集ソフトウェア)がこのようなフォーマットで元のビデオ信号を生成し、エンコーダにおいて空間サブサンプリング動作が行われるのを回避する。ここに示したフォーマット定義に基づいて、レンダリング・デバイスはしかるべき動作(アップサンプリングおよび再構成(recomposition)を実行し、再現したビデオ信号を出力する。
図13Bは、本発明の実施形態にしたがって、生ビデオ・ソースの生フォーマットでもある解像度コンポーネント・フォーマットを、ビットストリーム内において内部フォーマットとして使用するコーディング・システムを示す。この手法の方が遙かに基本的であり、低いレベルのビデオ信号、例えば、ITU、SMTPE等においてアクティブな多くのSDOとの相乗効果を必要とし、ビデオ産業全体、即ち、カメラ、寄与信号(contribution signal)、スタジオ編集、放送、輸送、消費、場合によっては、ディスプレイ・デバイスに影響を及ぼす。この手法の主な利点は、解像度コンポーネントにおける分解は、エンコーディングが実行される毎ではなく、1回しか起こらない(生成)ことである。
本開示における実施形態は、ビデオ・コーディングに限定されるのではなく、静止ピクチャのコーディングにも適用することができる。このコンテキストでは、主な効果の1つは、徐々にダウンロード可能なピクチャである。即ち、デバイスは最初に解像度コンポーネントのビデオ・フレームを引き出して表示しつつ、他の解像度コンポーネントのメディア・データをダウンロードする。全ての解像度コンポーネントが利用可能になりデコードされたとき、デバイスはHRフレームを表示する。また、サムネイル画像の生成も、ピクチャを扱うときの他の種類の用途であろう。ビットストリームの解像度コンポーネントの内3つを単に選別することによって、その結果得られるビットストリームは、そのままでレンダリングするのに適した(proper)LRフレームを含み、したがってHRフレームのサムネイルを提供する。
図14は、本開示において説明したように使用することができる例証的なデータ処理システムを示すブロック図である。 データ処理システム1400は、システム・バス1806を通じてメモリ・エレメント1404に結合された少なくとも1つのプロセッサ1402を含むことができる。したがって、データ処理システムはメモリ・エレメント1404内にプログラム・コードを格納することができる。更に、プロセッサ1402は、システム・バス1406を通じてメモリ・エレメント1404からアクセスされたプログラム・コードを実行することができる。一態様では、データ処理システムは、プログラム・コードを格納および/または実行するのに適したコンピュータとして実現することができる。しかしながら、データ処理システム1400は、プロセッサおよびメモリを含み、本明細書内において説明した機能を実行することができる任意のシステムの形態で実装すればよいことは認められてしかるべきである。
メモリ・エレメント1404は、例えば、ローカル・メモリ1408のような1つ以上の物理メモリ・デバイスと、1つ以上の大容量記憶デバイス1410とを含むことができる。ローカル・メモリとは、プログラム・コードの実際の実行中に通常使用されるランダム・アクセス・メモリまたは他の非永続的メモリ・デバイス(1つまたは複数)を指すことができる。大容量記憶デバイスは、ハード・ドライブまたは他の永続的データ記憶デバイスとして実装されればよい。また、処理システム1400は1つ以上のキャッシュ・メモリ(図示せず)も含むことができる。キャッシュ・メモリは、実行中にプログラム・コードを大容量記憶デバイス1410から引き出さなければならない回数を減らすために、少なくとも一部のプログラム・コードの一時的格納に備える。
入力デバイス1412および出力デバイス1414として図示されている入力/出力(I/O)デバイスを、任意に、データ処理システムに結合することができる。入力デバイスの例には、例えば、キーボード、マウスのようなポインティング・デバイス等を含むことができるが、これらに限定されるのではない。出力デバイスの例には、例えば、モニタまたはディスプレイ、スピーカ等を含むことができるが、これらに限定されるのではない。入力デバイスおよび/または出力デバイスは、直接または仲介するI/Oコントローラを介してデータ処理システムに結合することができる。また、ネットワーク・アダプタ1416をデータ処理システムに結合してもよく、他のシステム、コンピュータ・システム、リモート・ネットワーク・デバイス、および/またはリモート記憶デバイスに、仲介するプライベートまたはパブリック・ネットワークを通じてデータ処理システムを結合することが可能になる。ネットワーク・アダプタは、前記システム、デバイス、および/またはネットワークによって送信されるデータを受信するデータ受信機、およびデータを前記システム、デバイス、および/またはネットワークに送信するデータ送信機を含むことができる。モデム、ケーブル・モデム、およびイーサネット・カードは、データ処理システム1450と共に使用することができる異なるタイプのネットワーク・アダプタの例である。
図14に図示するように、メモリ・エレメント1404はアプリケーション1418を格納することができる。尚、データ処理システム1400は、更に、アプリケーションの実行を容易にすることができるオペレーティング・システム(図示せず)を実行することもできることは認められてしかるべきである。実行可能プログラム・コードの形態で実現されるアプリケーションは、データ処理システム1400によって、例えば、プロセッサ1402によって実行することができる。アプリケーションを実行したことに応答して、データ処理システムは、本明細書において更に詳しく説明する1つ以上の動作を実行するように構成することができる。
一態様では、例えば、データ処理システム1400がクライアント・データ処理システムを表すこともできる。その場合、アプリケーション1418はクライアント・アプリケーションを表すことができ、クライアント・アプリケーションは、実行されると、「クライアント」を参照して本明細書において説明した種々の機能を実行するように、データ処理システム1400を構成する。クライアントの例には、パーソナル・コンピュータ、携帯用コンピュータ、移動体電話機等を含むことができるが、これらに限定されるのではない。
他の態様では、データ処理システムがサーバを表すこともできる。例えば、データ処理システムが(HTTP)サーバを表すのでもよく、その場合、アプリケーション1418は、実行されると、(HTTP)サーバ動作を実行するように、データ処理システムを構成することができる。他の態様では、データ処理システムが本明細書において言及したような、モジュール、ユニット、または機能を表すこともできる。
本明細書において使用した用語は、特定の実施形態を説明するために限られており、本発明の限定であることを意図するのではない。本明細書において使用する場合、単数形「a」、「an」、および「the」は、文脈が明らかにそうでないことを示すのでなければ、複数形も含むことを意図している。更に、「含む」(comprises)および/または「含んでいる」(comprising)という用語は、本明細書において使用する場合、述べられる特徴、整数、ステップ、動作、エレメント、および/またはコンポーネントの存在を指定するが、1つ以上の他の特徴、整数、ステップ、動作、エレメント、コンポーネント、および/またはそのグループの存在や追加を除外するのではないことも理解されよう。
以下の特許請求の範囲における全ての手段またはステップ+機能エレメントの対応する構造、材料、アクト、および均等物は、特定的に特許請求される他の特許請求対象エレメントと組み合わせて当該機能を実行する任意の構造、材料、またはアクトを含むことを意図している。本発明の説明は、例示および説明の目的に限って提示されたのであって、網羅的であること、または開示した形態に本発明を限定することを意図するのではない。本発明の範囲および主旨から逸脱することなく、当業者には多くの変更および変種が明白であろう。以上の実施形態が選択され説明されたのは、本発明の原理および実用的用途を最良に説明するためであり、更に他の当業者が、本発明を理解して、想定される特定の使用に適する種々の変更を行って種々の実施形態を得ることを可能にするためである。