本発明は、ビデオの符号化・復号装置、方法、およびコンピュータプログラムに関する。
背景
本セクションは、請求項に記載の発明に背景や文脈を添えることを意図したものである。本稿の説明は、特許化可能であって、既に必ずしも概念化、特許化されていないものを含みうる。したがって、本稿で別途記載しない限り、本セクションの内容は、本願の明細書および請求項に対する先行技術ではなく、本セクションに含めることで先行技術として認められるものではない。
ビデオの符号化システムは、記憶/送信に適した圧縮表現に入力ビデオを変換するエンコーダと、圧縮ビデオ表現を視聴可能な形態に解凍可能なデコーダとを含む。エンコーダは、元のビデオシーケンスにおける一部の情報を破棄し、ビデオをよりコンパクトな形態としてもよい。これにより、例えば当該ビデオ情報を破棄しなかった場合と比較して、より低ビットレートで記憶/送信を実現できる。
摘要
いくつかの実施形態は、ビデオ情報を符号化、復号する方法を提供する。本発明のいくつかの実施形態によると、ビデオを符号化する方法、装置、コンピュータプログラムプロダクトが提供される。
第1の態様に係る方法は、
符号化ピクチャを受信することと、
有効ピクチャエリアを有するピクチャの再構成された構成フレームを形成するべく、前記符号化ピクチャを復号することと、
下記の処理、すなわち、
・ パディングされた参照ピクチャを生成するべく、前記有効ピクチャエリア外の領域を埋めてこの埋められた領域によって境界拡張部を形成すること、または
・ 復号時に前記有効ピクチャエリア外の複数のサンプル位置を参照するとき、前記サンプル位置は前記有効ピクチャエリア内に収まるように飽和またはラップオーバーされていると判断すること、
の内のいずれかを実行することと、
を含む。
第2の態様に係る装置は、少なくとも1つのプロセッサと少なくとも1つのメモリとを含み、
前記少なくとも1つのメモリにはコードが格納され、前記コードは前記少なくとも1つのプロセッサによって実行されると、前記装置に対して少なくとも、
符号化ピクチャを受信することと、
有効ピクチャエリアを有するピクチャの再構成された構成フレームを形成するべく、前記符号化ピクチャを復号することと、
下記の処理、すなわち、
・ パディングされた参照ピクチャを生成するべく、前記有効ピクチャエリア外の領域を埋めてこの埋められた領域によって境界拡張部を形成すること、または
・ 復号時に前記有効ピクチャエリア外の複数のサンプル位置を参照するとき、前記サンプル位置は前記有効ピクチャエリア内に収まるように飽和またはラップオーバーされていると判断すること、
の内のいずれかを実行することと、
を実施させる。
第3の態様に係るコンピュータ可読記憶媒体は、装置によって使用 されるコードを含み、前記コードはプロセッサによって実行されると、前記装置に対して、
符号化ピクチャを受信することと、
有効ピクチャエリアを有するピクチャの再構成された構成フレームを形成するべく、前記符号化ピクチャを復号することと、
下記の処理、すなわち、
・ パディングされた参照ピクチャを生成するべく、前記有効ピクチャエリア外の領域を埋めてこの埋められた領域によって境界拡張部を形成すること、または
・ 復号時に前記有効ピクチャエリア外の複数のサンプル位置を参照するとき、前記サンプル位置は前記有効ピクチャエリア内に収まるように飽和またはラップオーバーされていると判断すること、
の内のいずれかを実行することと、
を実施させる。
第4の態様に係る装置は、
符号化ピクチャを受信する手段と、
有効ピクチャエリアを有するピクチャの再構成された構成フレームを形成するべく、前記符号化ピクチャを復号する手段と、
下記の処理、すなわち、
・ パディングされた参照ピクチャを生成するべく、前記有効ピクチャエリア外の領域を埋めてこの埋められた領域によって境界拡張部を形成すること、または
・ 復号時に前記有効ピクチャエリア外の複数のサンプル位置を参照するとき、前記サンプル位置は前記有効ピクチャエリア内に収まるように飽和またはラップオーバーされていると判断すること、
の内のいずれかを実行する手段と、
を備える。
第5の態様に係る方法は、
符号化に対する有効ピクチャエリアを有する第1のピクチャの構成フレームを得ることと、
下記の処理、すなわち、
・ 前記構成フレームに対する境界拡張部を形成するべく、前記構成フレームの前記有効ピクチャエリア外の少なくとも1つのサンプル値を挿入すること、または
・ 前記有効ピクチャエリア内に収まるように前記有効ピクチャエリア外の複数のサンプル位置を飽和またはラップオーバーすること、
の内のいずれかを実行することと、
を含む。
第6の態様に係る装置は、少なくとも1つのプロセッサと少なくとも1つのメモリとを含み、前記少なくとも1つのメモリにはコードが格納され、前記コードは前記少なくとも1つのプロセッサによって実行されると、前記装置に対して少なくとも、
非圧縮構成フレームを第1の符号化ピクチャに符号化し、再構成された第1のピクチャを得て、前記構成フレームの有効ピクチャエリアを前記再構成された第1のピクチャ内とすることと、
前記符号化の一環として、下記の処理、すなわち、
・ 前記再構成された第1のピクチャにおける前記構成フレームに対する境界拡張部を形成するべく、前記有効ピクチャエリア外の少なくとも1つのサンプル値を挿入すること、または
・ 前記有効ピクチャエリア内に収まるように前記有効ピクチャエリア外の複数のサンプル位置を飽和またはラップオーバーすること、
の内のいずれかを実行することと、
を実施させる。
第7の態様に係るコンピュータ可読記憶媒体は、装置によって使用されるコードを含み、前記コードはプロセッサによって実行されると、前記装置に対して、
非圧縮構成フレームを第1の符号化ピクチャに符号化し、再構成された第1のピクチャを得て、前記構成フレームの有効ピクチャエリアを前記再構成された第1のピクチャ内とすることと、
前記符号化の一環として、下記の処理、すなわち、
・ 前記再構成された第1のピクチャにおける前記構成フレームに対する境界拡張部を形成するべく、前記有効ピクチャエリア外の少なくとも1つのサンプル値を挿入すること、または
・ 前記有効ピクチャエリア内に収まるように前記有効ピクチャエリア外の複数のサンプル位置を飽和またはラップオーバーすること、
の内のいずれかを実行することと、
を実施させる。
第8の態様に係る装置は、
非圧縮構成フレームを第1の符号化ピクチャに符号化し、再構成された第1のピクチャを得て、前記構成フレームの有効ピクチャエリアを前記再構成された第1のピクチャ内とする手段と、
前記符号化の一環として、下記の処理、すなわち、
・ 前記再構成された第1のピクチャにおける前記構成フレームに対する境界拡張部を形成するべく、前記有効ピクチャエリア外の少なくとも1つのサンプル値を挿入すること、または
・ 前記有効ピクチャエリア内に収まるように前記有効ピクチャエリア外の複数のサンプル位置を飽和またはラップオーバーすること、
の内のいずれかを実行する手段と、
を備える。
さらなる態様では、少なくとも複数の装置と、上述の方法を実施するように構成された非一時的メモリ媒体に記憶されたコンピュータプログラムプロダクト/コードとを含む。
本発明をよりよく理解できるように、以下の添付図面を、例示的に参照する。
図1は、本発明の実施形態が適用された電子デバイスを概略的に示す。
図2は、本発明の実施形態の適用に好適なユーザ端末を概略的に示す。
図3は、無線および有線ネットワーク接続によって接続された、本発明の実施形態が適用された電子デバイスを概略的に示す。
図4は、本発明の実施形態の実施に好適なエンコーダを概略的に示す。
図5aは、ある実施形態に係る候補動きベクトル予測部の空間的候補ソースを示す。
図5bは、ある実施形態に係る候補動きベクトル予測部の時間的候補ソースを示す。
図6aは、動きベクトルの好ましくない対応に関する問題を示す。
図6bは、ある実施形態に係る境界拡張部の例を示す。
図6cは、ある実施形態に係る候補動きベクトル予測部の空間的候補ソースを示す。
図6dは、ある実施形態に係る候補動きベクトル予測部の時間的候補ソースを示す。
図7aは、ある実施形態に係るピクチャの符号化のフローチャートを示す。
図7bは、ある実施形態に係るピクチャの復号のフローチャートを示す。
図8は、本発明の実施形態の実施に好適なデコーダの概略図を示す。
図9は、各種実施形態が実施可能なマルチメディア通信システムの一例の概略図を示す。
図10aは、ある実施形態に係るピラミッドマッピングを示す。
図10bは、ある実施形態に係るピラミッドマッピングを示す。
図10cは、ある実施形態に係るピラミッドマッピングを示す。
いくつかの例示的実施形態の詳細説明
以下に、本発明のいくつかの実施形態を、ビデオ符号化の1つの構成の文脈に準じて説明する。ただし、本発明がこの特定の構成に限定されないことが理解されよう。実際に、異なる様々な実施形態は、非スケーラブル、スケーラブルおよび/またはマルチビュービデオ符号化の向上が求められる任意の環境に幅広く適用されうる。例えば、本発明は、ストリーミングシステム等のビデオの符号化システム、DVDプレーヤ、デジタルテレビ、パーソナルビデオレコーダ、パーソナルコンピュータ、携帯用コンピュータ、および通信デバイス内のシステムおよびコンピュータプログラム、ビデオデータが扱われるトランスコーダやクラウドコンピューティング構成等のネットワーク要素に適用可能であってもよい。
いくつかの実施形態の実現に適した装置および、利用可能な機構をさらに詳細に説明する。そのために、まずは図1と図2を参照する。図1は、例示的実施形態に係るビデオ符号化システムのブロック図であり、例示的装置または電子デバイス50の概略的ブロック図である。電子デバイス50は、本発明の実施形態に係るコーデックを内蔵してもよい。図2は、例示的実施形態に係る装置の構成を示す。次に、図1および図2の要素を説明する。
電子デバイス50は、例えば、無線通信システムにおける携帯端末またはユーザ端末であってもよい。ただし、本発明の各実施形態は、ビデオ映像の符号化および/または復号を必要とする可能性のある任意の電子デバイスや装置内に実装してもよいことが理解されよう。
デバイス50は、これを収容、保護する筐体30を備えてもよい。デバイス50はさらに、液晶ディスプレイであるディスプレイ32を備えてもよい。本発明の別の実施形態では、ディスプレイは画像またはビデオ表示に適した任意の表示技術を採用してもよい。デバイス50は、さらにキーパッド34を備えてもよい。本発明の別の実施形態では、任意の好適なデータまたはユーザインタフェース機構を利用してもよい。例えば、このユーザインタフェースは、タッチ感知ディスプレイの一部としてのバーチャルキーボードまたはデータ入力システムとして実現されてもよい。
デバイス50は、マイク36または任意の好適な音声入力(デジタル信号入力であってもアナログ信号入力であってもよい)を備えてもよい。デバイス50は、音声出力装置をさらに備えてもよい。本発明の各実施形態では、該音声出力装置は、受話口38、スピーカー、アナログ音声出力接続部またはデジタル音声出力接続部のいずれかであってもよい。デバイス50は、バッテリ40をさらに備えてもよい(または本発明の別の実施形態では、デバイスが、太陽電池、燃料電池、またはゼンマイ式発電機等の任意の好適な可搬性エネルギー装置によって電源供給されてもよい)。またデバイス50は、画像や動画の記録や撮像が可能なカメラ42を備えてもよい。デバイス50はさらに、別のデバイスとの短直線距離通信用の赤外線ポートを備えてもよい。別の実施形態では、デバイス50はさらに、例えばBluetooth(登録商標)無線接続またはUSB/FireWire有線接続等の、任意の好適な近距離通信手段を備えてもよい。
デバイス50は、これを制御するコントローラ56またはプロセッサを備えてもよい。コントローラ56は、メモリ58に接続されてもよい。本発明の実施形態において、メモリ58は、画像および音声のいずれの形式のデータ、および/またはコントローラ56において実行される命令を格納してもよい。コントローラ56はさらに、音声および/またはビデオデータの符号化・復号の実行や、コントローラが実行する符号化・復号の補助に適したコーデック回路54に接続されてもよい。
デバイス50は、ユーザ情報を提供し、ネットワークにおけるユーザを認証、承認するための認証情報の提供に適した、例えばUICC(Universal Integrated Circuit Card)およびUICCリーダー等のカードリーダー48およびスマートカード46をさらに備えてもよい。
デバイス50は、コントローラに接続され、例えば携帯通信ネットワーク、無線通信システム、または無線ローカルエリアネットワークと通信するための無線通信信号の生成に適した無線インタフェース回路52をさらに備えてもよい。デバイス50は、無線インタフェース回路52に接続され、無線インタフェース回路52で生成された無線周波数信号を1つ以上の別の装置に送信し、1つ以上の別の装置から無線周波数信号を受信するためのアンテナ44をさらに備えてもよい。
デバイス50は、個別のフレームを記録、検出可能なカメラを備えてもよい。該フレームはその後、コーデック54またはコントローラに送られて処理される。デバイス50は、伝送や格納の前に、別のデバイスから処理用のビデオ映像データを受信してもよい。デバイス50は、符号化/復号用の画像を無線または有線接続を介して受信してもよい。
図3は、本発明の各実施形態を利用可能なシステムの例を示している。システム10は、1つ以上のネットワークを介して通信可能な複数の通信デバイスを含む。システム10は、有線ネットワークや無線ネットワークの任意の組合せを含んでもよい。これらのネットワークとしては、GSM(登録商標)、UMTS(Universal Mobile Telecommunications System)、符号分割多元接続(Code Division Multiple Access:CDMA)ネットワーク等)、IEEE802.xのいずれかの規格で規定されるもの等の無線ローカルエリアネットワーク(Wireless Local Area Network:WLAN)、Bluetooth(登録商標)パーソナルエリアネットワーク、イーサネット(登録商標)ローカルエリアネットワーク、トークンリングローカルエリアネットワーク、広域ネットワーク、インターネット等が挙げられるが、これらに限定されない。
システム10は、本発明の各実施形態の実現に適した有線および無線通信のデバイスおよび/または装置50を備えてもよい。
例えば、図3に示すシステムは、携帯電話ネットワーク11と、インターネット28を表現したものとを示している。インターネット28への接続は、長距離無線接続、近距離無線接続、および各種有線接続を含んでもよいが、これらに限定されない。有線接続には、電話回線、ケーブル回線、電力線、その他同様の通信経路等が含まれるが、これらに限定されない。
システム10内に示される通信デバイスの例は、電子デバイスまたは装置50、携帯情報端末(Personal Digital Assistant:PDA)と携帯電話14との組合せ、PDA16、統合通信デバイス(Integrated Messaging Device:IMD)18、デスクトップコンピュータ20、ノート型コンピュータ22を備えてもよいが、これらに限定されない。デバイス50は固定型でもよく、移動する人が持ち運べる携帯型でもよい。また、デバイス50は移動手段に設けられてもよい。こうした移動手段には、自動車、トラック、タクシー、バス、列車、船、飛行機、自転車、バイク、その他同様の好適な移動手段を備えてもよいが、これらに限定されない。
実施形態はさらに、ディスプレイや無線通信に対応する性能を有しても有していなくてもよい、セットトップボックス、すなわちデジタルテレビ、ハードウェア、ソフトウェア、またはエンコーダ/デコーダ実装の組合せを含むタブレットまたは(ノート型)パーソナルコンピュータ(PC)、各種オペレーティングシステム、チップセット、プロセッサ、DSPおよび/または組み込みシステム(ハードウェア/ソフトウェアによる符号化を実現)で実施されてもよい。
いくつかのまたはさらなる装置は、呼び出しやメッセージを送受信して、基地局24への無線接続25を介してサービスプロバイダと通信してもよい。基地局24は、携帯電話ネットワーク11とインターネット28との間の通信を可能にするネットワークサーバ26に接続されてもよい。システムは、さらなる通信デバイスや、各種通信デバイスを備えてもよい。
これらの通信デバイスは各種伝送技術を用いて通信してもよく、こうした技術には、CDMA、GSM(登録商標)、UMTS、時分割多元接続(Time Divisional Multiple Access:TDMA)、周波数分割多元接続(Frequency Division Multiple Access:FDMA)、TCP‐IP(Transmission Control Protocol‐Internet Protocol)、ショートメッセージサービス(SMS)、マルチメディアメッセージサービス(MMS)、電子メール、インスタントメッセージングサービス(IMS)、Bluetooth(登録商標)、IEEE 802.11、その他同様の無線通信技術を含むが、これらに限定されない。本発明の様々な実施形態の実施に関わる通信デバイスは、様々な媒体を介して通信できる。こうした媒体には、無線、赤外線、レーザー、ケーブル接続、その他好適な接続が含まれるが、これらに限定されない。
ビデオコーデックは、記憶/送信に適した圧縮表現に入力ビデオを変換するエンコーダと、圧縮ビデオ表現を視聴可能な形態に解凍可能なデコーダからなる。ビデオエンコーダおよび/またはビデオデコーダは、それぞれ別に設けられてもよい。すなわち、コーデックを形成しなくてもよい。典型的には、エンコーダは、元のビデオシーケンスにおける一部の情報を破棄し、ビデオをよりコンパクトな形態(すなわち、より低ビットレート)としてもよい。以下に定義するように、ビデオエンコーダは画像シーケンスを符号化するために使用されてもよい。ビデオデコーダは符号化画像シーケンスを復号するように構成されてもよい。ビデオエンコーダ、ビデオエンコーダのイントラ符号化部、または画像エンコーダを使用して、画像を符号化してもよい。ビデオデコーダ、ビデオデコーダのインター復号部、または画像デコーダを使用して、符号化画像を復号してもよい。
例えばITU−T H.263やH.264等の多くのエンコーダ実装例のような一部のハイブリッドビデオエンコーダは、ビデオ情報を2段階で符号化する。第1段階で、例えば動き補償手段(符号化されるブロックと密接に対応する、先に符号化済みのビデオフレームの1つにあるエリアを探して示す手段)や空間手段(特定の方法で符号化されるブロックの周辺の画素値を用いる手段)によって、特定のピクチャエリア(または「ブロック」)の画素値が予測される。第2段階で、予測誤差、すなわち画素の予測ブロックとその画素の元のブロックとの間の差分が符号化される。これは通常、特定の変換(例えば、離散コサイン変換(Discrete Cosine Transform:DCT)やその変形)を用いて画素値の差分を変換し、係数を量子化し、量子化済み係数をエントロピー符号化することによって行われる。量子化処理の忠実度を変えることによって、エンコーダは画素表現の正確性(ピクチャ品質)と結果として得られる符号化ビデオ表現のサイズ(ファイルサイズまたは伝送ビットレート)との間のバランスを調整することができる。
時間的予測では、予測のソースとなるのは過去に復号したピクチャ(参照ピクチャとも称する)である。イントラブロックコピー(イントラブロックコピー予測とも称する)では、予測は時間的予測と同様だが、参照ピクチャは現ピクチャであって、過去に復号したサンプルのみが予測処理において参照可能である。インターレイヤ予測またはインタービュー予測は、時間的予測と同様に適用できるが、参照ピクチャは、それぞれ別のスケーラブルレイヤまたは別の視点からの復号ピクチャとなる。場合によっては、インター予測とは時間的予測のみを指すものでありうる。あるいは、インター予測は、時間的予測並びに、イントラブロックコピー、インターレイヤ予測、インタービュー予測のいずれか(時間的予測と同一または同様にして実施されるものとする)を総称するものであってもよい。インター予測または時間的予測は、動き補償または動き補償予測とも称される場合がある。
イントラ予測は、同一のピクチャ内の隣接画素同士に相関がある可能性が高いという事実に基づく。イントラ予測は、空間ドメインまたは変換ドメインで行うことができる。すなわち、サンプル値または変換係数のいずれかを予測することができる。イントラ符号化では通常イントラ予測が利用され、インター予測は適用されない。
符号化方式において、異なる様々な種類のイントラ予測モードが利用できる場合もある。その際、エンコーダが使用するものを例えばブロックまたは符号化ごとに選択、指示してもよい。デコーダは、指示されたイントラ予測モードを復号して、それに応じて予測ブロックを再構成してもよい。例えば、互いに方向性が異なるいくつかの方向性イントラ予測モードが利用可能でありうる。方向性イントラ予測は、線形予測方向に沿って隣接するブロックの境界サンプルを外挿するものとも考えられる。これに加えて、またはこれに代えて、Planer予測モードが利用可能であってもよい。Planer予測は、基本的に予測ブロックを形成するものとも考えられる。予測ブロックの各サンプルは、現ブロックに対して、左側に隣接するサンプル列における垂直に並んだサンプルと、現ブロックに対して、上側に隣接するサンプル行において平行に並んだサンプルの平均として指定できる。これに加えて、またはこれに代えて、DC予測モードが利用可能であってもよい。このDC予測モードにおける予測ブロックは基本的に、近接した1つまたは複数のブロックの平均サンプル値である。
符号化処理の結果の1つとして、動きベクトルと量子化変換係数のような符号化パラメータセットが得られる。多くのパラメータは、最初に空間的または時間的に隣接するパラメータから予測することで、より効率的にエントロピー符号化することができる。例えば、動きベクトルは空間的に隣接する動きベクトルから予測されてもよく、動きベクトル予測器に対する相対差のみが符号化されてもよい。符号化パラメータの予測およびイントラ予測は、まとめてピクチャ内予測とも呼ばれる。
H.264/AVC規格は、ITU−T(国際電気通信連合の電気通信標準化部門)のビデオの符号化専門家グループ(VCEG)およびISO(国際標準化機構)/IEC(国際電気標準会議)の動画専門家グループ(MPEG)による統合ビデオチーム(JVT)によって開発された。H.264/AVC規格は、その元となる両標準化機構によって公開されており、ITU−T勧告H.264およびISO/IEC国際規格14496−10と呼ばれ、MPEG−4パート10高度ビデオ符号化方式(Advanced Video Coding:AVC)としても知られている。H.264/AVC規格には複数のバージョンがあり、それぞれが仕様に新たな拡張や特徴を統合している。これらの拡張には、スケーラブルビデオ符号化(Scalable Video Coding:SVC)やマルチビュービデオ符号化(Multiview Video Coding:MVC)が挙げられる。
高効率ビデオ符号化(High Efficiency Video Coding:H.265/HEVCまたはHEVC)規格のバージョン1は、VCEGとMPEGのビデオの符号化共同研究開発チーム(JCT−VC)によって開発された。この規格は、その元となる両標準化機構によって公開されており、ITU−T勧告H.265およびISO/IEC国際規格23008−2と呼ばれ、MPEG−Hパート2高効率ビデオ符号化(HEVC)として知られている。H.265/HEVCのバージョン2は、スケーラブル拡張、マルチビュー拡張、および忠実度範囲拡張を含み、それぞれSHVC、MV−HEVC、およびREXTと略称される。H.265/HEVCのバージョン2は、ITU−T勧告H.265(2014年10月)として刊行され、ISO/IEC23008−2の第2版としても刊行された。H.265/HEVCのさらなる拡張版を開発する標準化プロジェクトも現在進められている。当該拡張版には、3次元およびスクリーンコンテンツ符号化拡張(それぞれ、3D−HEVC、SCCと略称される)が含まれている。
SHVC、MV−HEVC、および3D−HEVCは、HEVC規格のバージョン2の添付資料(Annex)Fに規定されている共通基準仕様を用いている。この共通基準は、例えば高レベルのシンタックスおよび意味を含む。これによって例えばインターレイヤ依存性等のビットストリームのレイヤの一部の特性や、インターレイヤ参照ピクチャを含む参照ピクチャリスト構造やマルチレイヤビットストリームに対するピクチャ順カウント導出等の復号処理が規定される。添付資料Fは、さらにHEVCの後続のマルチレイヤ拡張にも使用できる。以下において、ビデオエンコーダ、ビデオデコーダ、符号化方法、復号方法、ビットストリーム構造、および/または実施形態は、SHVCおよび/またはMV−HEVCといった特定の拡張を参照して説明されるが、これらはHEVCの任意のマルチレイヤ拡張にも広く適用可能であり、さらには任意のマルチレイヤビデオの符号化方式にも適用可能であることは理解されよう。
ここでは、H.264/AVCおよびHEVCの重要な定義やビットストリーム、符号化の構造、概念の一部が、実施形態を実施可能なビデオエンコーダやデコーダ、符号化方法、復号方法、ビットストリーム構造の例として説明される。H.264/AVCの重要な定義やビットストリーム、符号化の構造、概念の中にはHEVCにおける規格と同一のものもある。したがって、以下ではこれらも一緒に説明される。本発明の態様は、H.264/AVCやHEVCに限定されるものではなく、本明細書は本発明が部分的にまたは全体として実現される上で可能な原理を説明するためのものである。
先行する多くのビデオの符号化規格と同様に、H.264/AVCおよびHEVCは、エラーのないビットストリームのための復号処理に加えてビットストリームのシンタックスと意味についても規定している。符号化処理については規定されていないが、エンコーダは適合するビットストリームを生成する必要がある。ビットストリームとデコーダの適合性は、仮想参照デコーダ(Hypothetical Reference Decoder:HRD)を用いて検証できる。これらの規格は、伝送エラーや伝送損失対策を助ける符号化ツールを含むが、こうしたツールを符号化で用いることは任意に選択可能であって、ビットストリームのエラーに対する復号処理は規定されていない。
現存の規格に関する記述においても例示的実施形態の記述と同様に、シンタックス要素はビットストリームで表されるデータの要素として定義することができる。シンタックス構造は、特定の順序でビットストリームにおいて共存する0以上のシンタックス要素として定義されてもよい。現存の規格に関する記述においても例示的実施形態の記述と同様に、「外部手段によって」や「外部手段を介して」という表現が使用できる。例えば、シンタックス構造や復号処理において用いられる変数の値といったエンティティは、「外部手段によって」該復号処理に提供されてもよい。「外部手段によって」という表現は、このエンティティがエンコーダによって作成されたビットストリームに含まれるものではなく、ビットストリームの外部から、例えば制御プロトコルを用いて持ち込まれたことを示しうる。これに代えて、または加えて、「外部手段によって」という表現は、該エンティティがエンコーダによって作成されたものではなく、例えばデコーダを用いるプレーヤまたは復号制御論理回路等によって作成されたことを示しうる。このデコーダは、変数値等の外部手段を入力するインタフェースを有してもよい。
H.264/AVCまたはHEVCエンコーダへの入力およびH.264/AVCまたはHEVCデコーダからの出力の基本単位は、それぞれピクチャである。エンコーダへの入力として与えられたピクチャはソースピクチャとも呼ばれ、デコーダによって復号されたピクチャは復号ピクチャとも呼ばれる。
ソースピクチャおよび復号ピクチャは、それぞれ以下のサンプル配列のセットのいずれかのような、1つ以上のサンプル配列からなっている。
・輝度(Luma)(Y)のみ(モノクロ)
・輝度および2つのクロマ(YCbCrまたはYCgCo)
・緑、青、赤(GBRまたはRGB)
・その他の非特定モノクロまたは三刺激色サンプリングを示す配列(例えば、YZX、またはXYZ)
以下では、これらの配列は、実際に使用されている色表現方法に関わらず、輝度(LまたはY)およびクロマと呼ばれ、2つのクロマ配列はCbおよびCrとも呼ばれてもよい。実際に使用されている色表現方法は、例えばH.264/AVCおよび/またはHEVCのビデオユーザビリティ情報(VUI)シンタックスを使用して、符号化されたビットストリームにおいて示すことができる。ある成分が、3つのサンプル配列(輝度および2つのクロマ)の内の1つから配列または単一のサンプルとして定義されるか、モノクロフォーマットのピクチャを構成する配列または配列の単一のサンプルとして定義されてもよい。
H.264/AVCおよびHEVCでは、ピクチャはフレームまたはフィールドのいずれかであってもよい。フレームは、輝度サンプルと場合により対応するクロマサンプルの行列を含む。フィールドは、フレームの1つおきのサンプル行の組であり、ソース信号がインターレースされている場合、エンコーダ入力として用いられてもよい。クロマサンプル配列はなくてもよく(よって、モノクロサンプリングが使用される)、または輝度サンプル配列と比較されるときにサブサンプリングされてもよい。クロマフォーマットは、以下のようにまとめられる。
・モノクロサンプリングでは、サンプル配列が1つのみ存在し、名目上輝度配列とみなされる。
・4:2:0サンプリングでは、2つのクロマ配列のそれぞれが輝度配列の半分の高さと半分の幅を有する。
・4:2:2サンプリングでは、2つのクロマ配列のそれぞれが輝度配列と同じ高さと半分の幅を有する。
・4:4:4サンプリングでは、別個の色平面が使用されない場合、2つのクロマ配列のそれぞれが輝度配列と同じ高さと幅を有する。
H.264/AVCおよびHEVCでは、サンプル配列を別個の色平面としてビットストリームに符号化し、そのビットストリームから別個に符号化された色平面をそれぞれ復号することができる。別個の色平面が使用される場合、そのそれぞれは(エンコーダおよび/またはデコーダによって)モノクロサンプリングのピクチャとして別々に処理される。
パーティショニングとは、1つのセットの各要素が正確にサブセットの1つであるように、そのセットを複数のサブセットに分割することと定義することができる。
H.264/AVCでは、マクロブロックとは、16×16ブロックの輝度サンプルと対応するクロマサンプルのブロックである。例えば、4:2:0サンプリングパターンでは、1つのマクロブロックには各クロマ成分について、1つの8×8ブロックのクロマサンプルを含む。H.264/AVCでは、ピクチャが1つ以上のスライスグループに分割(パーティショニング)され、1つのスライスグループには1つ以上のスライスを含む。H.264/AVCでは、スライスは整数のマクロブロックからなり、特定のスライスグループ内でラスタースキャンの順に連続している。
HEVC符号化および/または復号の動作の記述に関して、以下の用語が用いられる場合がある。符号化ブロックは、符号化ツリーブロックが符号化ブロックへパーティショニングにより分割されるように、何らかの値NについてのサンプルのN×Nブロックとして定義することができる。符号化ツリーブロック(Coding Tree Block:)は、ある成分の符号化ツリーブロックへパーティショニングにより分割されるように、何らかの値NについてのサンプルのN×Nブロックとして定義することができる。符号化ツリー単位(Coding Tree Unit:CTU)は、輝度サンプルの符号化ツリーブロックとして定義することができ、これは3つのサンプル配列を有するピクチャのクロマサンプルの2つの対応する符号化ツリーブロックや、モノクロピクチャのサンプルまたは3つの別個の色平面やサンプルを符号化するために使用されるシンタックス構造を用いて符号化されるピクチャのサンプルの符号化ツリーブロックである。符号化単位(Coding Unit:CU)は、輝度サンプルの符号化ブロックとして定義することができ、これは3つのサンプル配列を有するピクチャのクロマサンプルの2つの対応する符号化ブロックや、モノクロピクチャのサンプルまたは3つの別個の色平面やサンプルを符号化するために使用されるシンタックス構造を用いて符号化されるピクチャのサンプルの符号化ブロックである。
高効率ビデオ符号化(HEVC)コーデック等の一部のビデオコーデックでは、ビデオピクチャは、ピクチャのエリアを網羅する複数の符号化単位(CU)に分割される。CUは、CU内のサンプルに対する予測処理を定義する1つ以上の予測単位(Prediction Unit:PU)と、該CU内のサンプルに対する予測誤差符号化処理を定義する1つ以上の変換単位(Transform Unit:TU)からなる。通常CUは、正方形のサンプルブロックからなり、規定されている可能なCUサイズの組から選択可能なサイズを有する。最大許容サイズのCUは、最大符号化単位(Largest Coding Unit:LCU)または符号化ツリー単位(CTU)と呼ばれることもあり、ビデオピクチャは重なり合わないLCUに分割される。LCUは、例えば該LCUと分割の結果得られるCUを再帰的に分割することによってさらに小さいCUの組合せに分割されることもある。分割の結果得られる各CUは通常、少なくとも1つのPUとそれに関連する少なくとも1つのTUを有する。PUとTUはそれぞれ、予測処理と予測誤差符号化処理の粒度を上げるために、さらに小さい複数のPUとTUに分割されることもある。各PUは、そのPU内の画素に適用される予測の種類を定義する、該PUに関連した予測情報(例えば、インター予測されたPUに対しては動きベクトルの情報、イントラ予測されたPUに対してはイントラ予測の方向情報)を有する。
各TUは、当該TU内のサンプルに対する予測誤差復号処理を表す情報(例えばDCT係数情報を含む)に対応付けられてもよい。各CUについて、予測誤差符号化が適用されるか否かが、CUレベルにてシグナリングされてもよい。CUに対応付けられた予測誤差残差がない場合、当該CUに対してはTUが存在しないとみなせる。画像のCUへの分割、CUのPUおよびTUへの分割は、ビットストリームにおいてシグナリングされてもよい。これにより、デコーダはこれらの単位の意図された構造を再生可能となる。
HEVCにおいては、ピクチャは、タイルに分割できる。タイルは四角形状で、整数個のLCUを含む。HEVCにおいては、タイルへの分割により、1または複数のタイル列と1または複数のタイル行を含む格子が形成される。符号化タイルは、バイトアラインメントされてもよい。これは、バイトアラインメントビットを、符号化タイルの端に加えていくことで実現されうる。
HEVCにおいて、スライスは、1つの独立スライスセグメントと、同じアクセス単位内の(存在する場合)次の独立スライスセグメントより前の、(存在する場合)すべての後続の従属スライスセグメントに含まれる整数個の符号化ツリー単位と定義されている。HEVCにおいて、スライスセグメントは、タイルスキャンにおいて連続し、1つのNAL単位に含まれる複数個の符号化ツリー単位と定義されている。各ピクチャをスライスセグメントに分割することを、パーティショニングという。HEVCにおいて、独立スライスセグメントは、スライスセグメントヘッダのシンタックス要素の値が、それ以前のスライスセグメントの値から推測されないスライスセグメントと定義される。従属スライスセグメントは、スライスセグメントヘッダのいくつかのシンタックス要素の値が、復号順で前の独立スライスセグメントの値から推定されるスライスセグメントと定義される。HEVCにおいて、スライスヘッダは、現スライスセグメントである独立スライスセグメント、または現従属スライスセグメントの前の独立スライスセグメントのスライスセグメントヘッダと定義される。スライスセグメントヘッダは、スライスセグメントで表される最初のまたはすべての符号化ツリー単位に関するデータ要素を含む、符号化されたスライスセグメントの一部と定義される。CUは、タイル内、あるいはタイルが使用されない場合はピクチャ内のLCUのラスタースキャンの順で走査される。LCU内で、CUは特定の順序で走査される。
HEVCにおいて、タイルは整数個の符号化ツリー単位を含み、複数のスライスに含まれる符号化ツリー単位からなるものであってもよい。同様に、スライスは複数のタイルに含まれる符号化ツリー単位からなるものであってもよい。HEVCにおいて、あるスライス内のすべての符号化ツリー単位は同一のタイルに属し、さらに/あるいはあるタイル内のすべての符号化ツリー単位は同一のスライスに属する。さらに、HEVCにおいて、あるスライスセグメント内のすべての符号化ツリー単位は同一のタイルに属し、さらに/あるいはあるタイル内のすべての符号化ツリー単位は同一のスライスセグメントに属する。
動き制約タイルセットは、符号化においてインター予測処理に制約を与えるものである。すなわち、動き制約タイルセット内のあらゆるサンプルのインター予測に対して、動き制約タイルセット外のサンプル値も、動き制約タイルセット外の1つ以上のサンプル値を使用して得られた部分サンプル位置におけるサンプル値も使用されない。
なお、インター予測で用いられるサンプル位置は飽和している。すなわち、ピクチャの外であった位置も飽和することで、ピクチャの対応する境界サンプルを示す。したがって、タイル境界がピクチャ境界でもあるならば、動きベクトルは効果的に当該境界をまたぐか、サンプル位置が境界に飽和しているため、動きベクトルは当該境界外の位置を参照するような部分サンプル補間を効果的に実現しうる。
HEVCの、時間的動き制約タイルセットのSEIメッセージにより、ビットストリームにおける動き制約タイルセットの存在を示すことができる。
レイヤ間制約タイルセットは、符号化においてレイヤ間予測インターレイヤ予測処理に制約を与えるものである。すなわち、レイヤ間制約タイルセット内のあらゆるサンプルのレイヤ間予測インターレイヤ予測に対して、関連する各参照タイルセット外のサンプル値も、関連する各参照タイルセット外の1つ以上のサンプル値を使用して得られた部分サンプル位置でのサンプル値も使用されない。
HEVCの、レイヤ間制約タイルセットのSEIメッセージにより、ビットストリームにおけるレイヤ間制約タイルセットの存在を示すことができる。
デコーダは、予測された画素ブロックの表現を形成して(エンコーダが作成し、圧縮表現に格納された、動き情報または空間情報を使用)、予測誤差を復号するために(空間画素ドメインで量子化された予測誤差信号を回復する、予測誤差符号化の逆操作を使用)、エンコーダと同様の予測手段を適用することによって出力ビデオを再構成する。予測および予測誤差復号手段の適用後、デコーダは、出力ビデオフレームを形成するために予測信号と予測誤差信号(画素値)を足し合わせる。デコーダ(およびエンコーダ)は、出力ビデオをディスプレイに送る、および/または後続フレーム用予測の参照としてビデオシーケンスに格納する前に、出力ビデオの品質を向上するために追加フィルタリング手段を適用することもできる。
フィルタリングは、例えば、デブロッキング、適応サンプルオフセット(Sample Adaptive Offset:SAO)、および/または適応ループフィルタリング(Adaptive Loop Filtering:ALF)の内の1つ以上を含んでもよい。H.264/AVCはデブロッキングを含み、一方、HEVCはデブロッキングとSAOの両方を含む。
典型的なビデオコーデックでは、動き情報は、予測単位等の動き補償された画像ブロックのそれぞれに関連する動きベクトルで示される。こうした動きベクトルはそれぞれ、(エンコーダ側で)符号化されるピクチャまたは(デコーダ側で)復号されるピクチャの画像ブロックと、先に符号化または復号されたピクチャの1つにおける予測元ブロックとの間の移動量を表す。動きベクトルを効率よく表現するために、動きベクトルは通常、ブロック固有の予測動きベクトルに関して差動符号化されてもよい。典型的なビデオコーデックにおいて、予測動きベクトルは所定の方法、例えば、隣接ブロックの符号化/復号動きベクトルの中央値を計算することによって生成される。動きベクトル予測を行う別の方法は、時間参照ピクチャにおける隣接ブロックおよび/または並置されたブロックから予測候補のリストを作成し、選択された候補を動きベクトルの予測として信号で伝えるものである。動きベクトルの値の予測に加え、いずれの参照ピクチャが動き補償予測に用いられるかを予測することができ、この予測情報を例えば先に符号化/復号されたピクチャの参照インデックスによって表すことができる。参照インデックスは通常、時間参照ピクチャにおける隣接ブロックおよび/または並置されたブロックから予測される。また、典型的な高効率ビデオコーデックでは追加的な動き情報符号化/復号機構を用い、通常、マージングまたはマージモードと呼ばれる。ここで、すべての動きフィールド情報は、利用可能な参照ピクチャリストの各々について動きベクトルと対応する参照ピクチャインデックスを含んで、予測され、その他の変更/修正を行わずに使用される。同様に、動きフィールド情報の予測は、時間参照ピクチャにおける隣接ブロックおよび/または並置されたブロックの動きフィールド情報を用いて行われ、使用された動きフィールド情報は、利用可能な隣接/並置されたブロックの動きフィールド情報が含まれる動きフィールド候補のリストに信号で伝えられる。
典型的なビデオコーデックは、単予測と双予測の使用が可能である。単予測では単一の予測ブロックを符号化/復号対象ブロックに使用し、双予測では2つの予測ブロックを組み合わせて、符号化/復号対象ブロックに対する予測を実現する。一部のビデオコーデックでは、残差情報を加える前に予測ブロックのサンプル値が重み付けされる重み付け予測が可能である。例えば、乗法重み付け係数および加法補正値を適用することができる。一部のビデオコーデックによって実現される直接的な重み付け予測では、重み付け係数および補正値は、例えば許容される参照ピクチャインデックスごとにスライスヘッダにおいて符号化されてもよい。一部のビデオコーデックによって実現される間接的な重み付け予測では、重み付け係数および/または補正値は符号化されず、例えば参照ピクチャの相対ピクチャ順数(Relative Picture Order Count:POC)の距離に基づいて導出される。
典型的なビデオコーデックにおいて、動き補償後の予測残差は最初に(DCTのような)変換カーネルで変換され、次に符号化される。これは、残差間にも相関があり、こうした変換が多くの場合でこのような相関を小さくするのに役立ち、より高い効率での符号化を可能にするからである。
典型的なビデオエンコーダは、例えば所望のマクロブロックモードおよび関連する動きベクトルといった最適な符号化モードを探索するために、ラグランジュコスト関数を利用する。この種のコスト関数は、非可逆符号化方法による(正確な、または推定された)画像歪みと、画像エリアの画素値を表現するのに必要である(正確な、または推定された)情報量を一緒に固定するために、重み付け係数λを使用する。
C=D+λR (式1)
ここで、Cは最小化すべきラグランジュコスト、Dはそのモードおよび考慮される動きベクトルによる画像歪み(例えば平均二乗誤差)、Rはデコーダで画像ブロックを再構成するために必要なデータ(候補の動きベクトルを表すためのデータ量を含む)を表すのに必要なビット数である。
ビデオ符号化規格および標準は、エンコーダが符号化ピクチャを符号化スライス等に分割可能にするものであってもよい。通常、スライス境界をまたぐピクチャ内予測は無効である。したがって、スライスは符号化ピクチャを独立に復号可能な部分に分割する方法だと考えられる。H.264/AVCおよびHEVCでは、スライス境界をまたぐピクチャ内予測が無効でもよい。したがって、スライスは符号化ピクチャを独立に復号可能な部分に分割する方法だと考えられることもあり、このため、伝送の基本単位とみなされることが多い。多くの場合、エンコーダは、ピクチャ内予測のどの種類がスライス境界をまたぐ際に止められているかをビットストリームで示してもよい。この情報は、デコーダの動作によって、どの予測ソースが利用可能であるかを決定する際等に考慮される。例えば、隣接するマクロブロックやCUが別のスライスに存在する場合、その隣接するマクロブロックやCUからのサンプルはイントラ予測には利用できないとみなされてもよい。
H.264/AVCまたはHEVCエンコーダの出力およびH.264/AVCまたはHEVCデコーダの入力それぞれの基本単位は、ネットワーク抽象化層(Network Abstraction Layer:NAL)単位である。パケット指向ネットワークを介した転送、または構造化ファイルへの記憶のため、NAL単位はパケットまたは同様の構造にカプセル化されてもよい。NAL単位は、後続のデータの種類の標示と、適宜スタートコードエミュレーション防止バイトが散在するRBSP形式の、当該データを含むバイトを含むシンタックス構造と定義できる。未加工のバイトシーケンスペイロード(Raw Byte Sequence Payload:RBSP)は、NAL単位にカプセル化された整数個のバイトを含むシンタックス構造と定義できる。RBSPは、空であるか、シンタックス要素を含み、RBSPストップビットが続き、さらに0以上の後続ビット(=0)が続くシンタックス要素を含むデータビット列の形式をとる。NAL単位はヘッダとペイロードからなる。
HEVCでは、規定されるNAL単位のすべての種類に対して2バイトのNAL単位ヘッダが使用される。NAL単位ヘッダには、1ビットの予約ビットと6ビットのNAL単位種類の標示、時間レベルに対する3ビットのnuh_temporal_id_plus1標示(1以上であることが必要な場合がある)、6ビットのnuh_layer_idシンタックス要素が含まれる。temporal_id_plus1シンタックス要素はNAL単位の時間識別子とみなされ、ゼロベースのTemporalID変数は次のように算出することができる。
TemporalID=temporal_id_plus1−1
TemporalIDが0のときは、最下位時間レベルに対応する。2つのNAL単位ヘッダバイトを含む開始コードエミュレーションを避けるために、temporal_id_plus1の値は0でない値が求められる。選択された値以上のTemporalIDを持つすべてのVCL−NAL単位を除外し、それ以外のすべてのVCL−NAL単位を含めることによって生成されたビットストリームが適合するものである。その結果、TIDと等しいTemporalIDを持つピクチャは、TIDより大きいTemporalIDを持つどのピクチャもインター予測の参照として使用しない。サブレイヤまたは時間サブレイヤは、TemporalID変数の特定の値を持つVCL−NAL単位および関連する非VCL−NAL単位からなる時間スケーラブルビットストリームの時間スケーラブルレイヤとして定義されてもよい。nuh_layer_idは、スケーラビリティレイヤ識別子として理解される。
NAL単位は、ビデオ符号化層(Video Coding Layer:VCL)のNAL単位と、非VCL−NAL単位とに分類できる。H.264/AVCでは、符号化スライスNAL単位は1つ以上の符号化マクロブロックを表すシンタックス要素を含み、そのそれぞれが非圧縮ピクチャにおけるサンプルの1ブロックに対応する。HEVCでは、VCL−NAL単位は1つ以上のCUを表すシンタックス要素を含む。
HEVCにおいては、符号化されたスライスNAL単位は以下の内のいずれか
1種類であると示すことができる。
HEVCでは、ピクチャ種類の略語は、末尾(TRAIL)ピクチャ、時間サブレイヤアクセス(Temporal Sub-layer Access:TSA)、段階的時間サブレイヤアクセス(Step-wise Temporal Sub-layer Access:STSA)、ランダムアクセス復号可能先頭(Random Access Decodable Leading:RADL)ピクチャ、ランダムアクセススキップ先頭(Random Access Skipped Leading:RASL)ピクチャ、リンク切れアクセス(Broken Link Access:BLA)ピクチャ、瞬時復号リフレッシュ(IDR)ピクチャ、クリーンランダムアクセス(CRA)ピクチャと定義することができる。
ランダムアクセスポイント(RAP)ピクチャは、イントラランダムアクセスポイント(IRAP)とも称するが、スライスまたはスライスセグメントが、16以上23以下のNAL_unit_typeを有するピクチャである。独立レイヤ内のIRAPピクチャは、自身の復号処理におけるインター予測において、自身以外のピクチャの参照を伴わない。イントラブロックコピーが使用されない場合、独立レイヤにおけるIRAPピクチャはイントラ符号化されたスライスのみを含む。nuh_layer_id値がcurrLayerIdである予測レイヤに属するIRAPピクチャは、P,B,Iスライスを含んでもよく、nuh_layer_idがcurrLayerIdに等しいその他のピクチャによるインター予測を使用できず、その直接参照レイヤからのインターレイヤ予測を利用してもよい。最新版のHEVCにおいて、IRAPピクチャはBLAピクチャ、CRAピクチャ、またはIDRピクチャであってもよい。基本レイヤを含むビットストリームの最初のピクチャは、基本レイヤにおけるIRAPピクチャである。必要なパラメータセットが、アクティブ化される必要がある際に利用可能であれば、独立レイヤにおけるIRAPピクチャと、独立レイヤにおいて復号順でそれに続くすべての非RASLピクチャは、復号順でIRAPピクチャよりも前のあらゆるピクチャに対する復号処理を行わずに、正しく復号できる。また、すべての必要なパラメータが、アクティブ化される必要があるときに利用可能で、nuh_layer_idがcurrLayerIdに等しいレイヤの各直接参照レイヤの復号が開始していれば(すなわち、nuh_layer_idがcurrLayerIdに等しいレイヤの直接参照レイヤのすべてのnuh_layer_id値等しいrefLayerIdに対して、LayerInitializedフラグ[ refLayerId ]が1に等しい場合)、nuh_layer_id値がcurrLayerIdの予測レイヤに属するIRAPピクチャと、nuh_layer_idがcurrLayerIdに等しい、復号順でそれに続くすべての非RASLピクチャは、復号順でIRAPピクチャよりも前の、nuh_layer_idがcurrLayerIdに等しいあらゆるピクチャに対する復号処理を行わずに、正しく復号できる。ビットストリームにおいて、IRAPピクチャではないイントラ符号化されたスライスのみを含むピクチャも存在しうる。
HEVCでは、CRAピクチャが復号順でビットストリームの最初のピクチャであってもよく、ビットストリームの後の方で現れてもよい。HEVCではCRAピクチャによって、いわゆる先頭ピクチャが復号順でCRAピクチャの後であるが出力順ではそれより前になる。先頭ピクチャの中のいわゆるRASLピクチャは、参照としてCRAピクチャより前に復号されるピクチャを用いてもよい。復号順および出力順で共にCRAピクチャより後のピクチャは、CRAピクチャでランダムアクセスが行われる場合に復号可能となり、そのため、クリーンランダムアクセスは、IDRピクチャのクリーンランダムアクセス機能と同様にして実現される。
CRAピクチャは、関連するRADLまたはRASLピクチャを有することもある。CRAピクチャが復号順でビットストリームの最初のピクチャである場合、CRAピクチャは、復号順で符号化ビデオシーケンスの最初のピクチャであり、いずれの関連するRASLピクチャもデコーダから出力されず、復号できない可能性がある。その理由は、これらのピクチャにはビットストリームに現れないピクチャに対する参照が含まれる可能性があるためである。
先頭ピクチャは、出力順で関連するRAPピクチャよりも先のピクチャである。関連するRAPピクチャは、(存在する場合は)復号順で前のRAPピクチャである。先頭ピクチャはRADLピクチャまたはRASLピクチャのいずれかである。
すべてのRASLピクチャは、関連するBLAまたはCRAピクチャの先頭ピクチャである。関連するRAPピクチャがBLAピクチャまたはビットストリームにおける最初の符号化ピクチャである場合、RASLピクチャは出力されず、正しく復号されない可能性がある。その理由は、RASLピクチャにはビットストリームに現れないピクチャに対する参照が含まれうるためである。しかし、RASLピクチャの関連するRAPピクチャより前のRAPピクチャから復号が始まっていた場合、RASLピクチャを正しく復号することができる。RASLピクチャは、非RASLピクチャの復号処理のための参照ピクチャとして使用されない。すべてのRASLピクチャは、存在する場合、復号順で同一の関連するRAPピクチャのすべての末尾ピクチャよりも前にある。HEVC規格のドラフトの中には、RASLピクチャを破棄用タグ付き(Tagged for Discard:TFD)ピクチャと呼ぶものもあった。
すべてのRADLピクチャは先頭ピクチャである。RADLピクチャは、同一の関連するRAPピクチャにおける末尾ピクチャの復号処理のための参照ピクチャとして使用されない。すべてのRADLピクチャは、存在する場合、復号順で同一の関連するRAPピクチャのすべての末尾ピクチャよりも前にある。RADLピクチャは、復号順で関連するRAPピクチャより前のいずれのピクチャも参照しない。したがって、復号が関連するRAPピクチャから始まる場合、該RADLピクチャを正しく復号することができる。
CRAピクチャから始まるビットストリームの一部が別のビットストリームに含まれる場合、このCRAピクチャに関連するRASLピクチャは、その参照ピクチャの一部が合成ビットストリームにも存在しない可能性があるため、正しく復号されない可能性がある。こうした接合動作を直接的に行うために、CRAピクチャのNAL単位種類は、それがBLAピクチャであることを示すように変更することができる。BLAピクチャに関連するRASLピクチャは正しく復号できない可能性があり、よって、出力/表示もされない。また、BLAピクチャに関連するRASLピクチャでは復号処理を省略することもある。
BLAピクチャが復号順でビットストリームの最初のピクチャであってもよく、ビットストリームの後の方で現れてもよい。各BLAピクチャは新たな符号化ビデオシーケンスを開始し、復号処理に対してIDRピクチャと同様の影響を及ぼす。しかし、BLAピクチャは、空でない参照ピクチャセットを特定するシンタックス要素を含む。BLAピクチャは、BLA_W_LPに等しいnal_unit_typeを有する場合、関連するRASLピクチャを有する場合もあり、これらのRASLピクチャはデコーダから出力されず、復号できない可能性がある。これは、これらのピクチャにはビットストリームに現れないピクチャに対する参照が含まれうるためである。BLAピクチャはBLA_W_LPに等しいnal_unit_typeを有する場合、関連するRADLピクチャを備えてもよく、これらのRADLピクチャは復号されるものとして特定される。BLAピクチャは、BLA_W_RADLに等しいnal_unit_typeを有する場合、関連するRASLピクチャを有さず、関連するRADLピクチャを備えてもよく、これらのRADLピクチャは復号されるものとして特定される。BLAピクチャは、BLA_N_LPに等しいnal_unit_typeを有する場合、関連する先頭ピクチャを有さない。
IDR_N_LPに等しいnal_unit_typeを有するIDRピクチャは、ビットストリームに関連する先頭ピクチャを有さない。IDR_W_LPに等しいnal_unit_typeを有するIDRピクチャは、ビットストリームに関連するRASLピクチャを有さず、ビットストリームに関連するRADLピクチャを備えてもよい。
nal_unit_typeの値が、TRAIL_N、TSA_N、STSA_N、RADL_N、RASL_N、RSV_VCL_N10、RSV_VCL_N12、またはRSV_VCL_N14に等しい場合、復号ピクチャは同一時間サブレイヤの他のピクチャに対する参照として使用されない。すなわち、HEVCでは、nal_unit_typeの値が、TRAIL_N、TSA_N、STSA_N、RADL_N、RASL_N、RSV_VCL_N10、RSV_VCL_N12、またはRSV_VCL_N14に等しい場合、復号ピクチャは、TemporalIDが同じ値のピクチャのRefPicSetStCurrBefore、RefPicSetStCurrAfter、RefPicSetLtCurrのいずれにも含まれない。nal_unit_typeがTRAIL_N、TSA_N、STSA_N、RADL_N、RASL_N、RSV_VCL_N10、RSV_VCL_N12、またはRSV_VCL_N14に等しい符号化ピクチャは、TemporalIDが同じ値の他のピクチャの復号可能性に影響を与えないように破棄されてもよい。
末尾ピクチャは、出力順で関連するRAPピクチャより後のピクチャとして定義することができる。末尾ピクチャであるいずれのピクチャも、RADL_N、RADL_R、RASL_N、またはRASL_Rに等しいnal_unit_typeを有さない。先頭ピクチャであるピクチャはいずれも、復号順で、同一のRAPピクチャに関連するすべての末尾ピクチャより前であるように制限されてもよい。nal_unit_typeがBLA_W_RADLまたはBLA_N_LPであるBLAピクチャに関連するRASLピクチャは、ビットストリームには存在しない。BLA_N_LPに等しいnal_unit_typeを有するBLAピクチャまたはIDR_N_LPに等しいnal_unit_typeを有するIDRピクチャに関連するRADLピクチャは、ビットストリームには存在しない。CRAまたはBLAピクチャに関連するRASLピクチャはいずれも、出力順で、CRAまたはBLAピクチャに関連するいずれのRADLピクチャよりも前にあるように制限されてもよい。CRAピクチャに関連するRASLピクチャはいずれも、復号順でCRAピクチャよりも前にある他のいずれのRAPピクチャよりも、出力順で後になるように制限されてもよい。
HEVCでは、TSAとSTSAという2つのピクチャ種類があり、時間サブレイヤの切替えポイントを示すために使用することができる。TSAまたはSTSAピクチャの手前まで、およびTSAまたはSTSAピクチャのTemporalIDがN+1に等しくなるまで、TemporalIDがNまでの時間サブレイヤが復号されてきた場合、TSAまたはSTSAピクチャは、TemporalIDがN+1である(復号順で)すべての後続のピクチャの復号を可能にする。TSAピクチャ種類は、TSAピクチャ自体に加え、同一のサブレイヤにおいて復号順でそのTSAピクチャより後のすべてのピクチャに対して制限を加えてもよい。こうしたピクチャはいずれも、同一のサブレイヤにおいて復号順でTSAピクチャより前のピクチャからのインター予測の使用が許容されない。TSAの規定は、上位サブレイヤにおいて復号順でTSAピクチャに続くピクチャに対して制限をさらに加えてもよい。これらのピクチャはいずれも、TSAピクチャと同一または上位のサブレイヤに属する場合、復号順でTSAピクチャより前のピクチャに対する参照が許容されない。TSAピクチャは0より大きいTemporalIDを有する。STSAはTSAピクチャと同様であるが、上位サブレイヤにおいて復号順でSTSAピクチャより後のピクチャに対して制限を加えない。したがって、STSAピクチャが存在するサブレイヤに対してのみアップスイッチングが可能となる。
非VCL−NAL単位は、例えば、シーケンスパラメータセット、ピクチャパラメータセット、補助拡張情報(Supplemental Enhancement Information:SEI)NAL単位、アクセス単位区切り、シーケンスNAL単位の一端、ビットストリームNAL単位の一端、または補充データNAL単位のいずれかの種類であってもよい。パラメータセットは復号ピクチャの再構成に必要であってもよいが、他の非VCL−NAL単位の多くは、復号サンプル値の再構成には必要ない。
符号化ビデオシーケンスで不変のパラメータがシーケンスパラメータセットに含まれてもよい。復号処理に必要なパラメータに加え、シーケンスパラメータセットがビデオユーザビリティ情報(Video Usability Information:VUI)を任意で含んでもよい。これには、バッファリングやピクチャ出力タイミング、レンダリング、およびリソース予約に重要なパラメータが含まれる。HEVCでは、シーケンスパラメータセットRBSPには、1つ以上のピクチャパラメータセットRBSP、またはバッファリング期間SEIメッセージを含む1つ以上のSEI−NAL単位によって参照可能なパラメータが含まれる。ピクチャパラメータセットは、複数の符号化ピクチャで不変であるようなパラメータを含む。ピクチャパラメータセットRBSPは、1つ以上の符号化ピクチャの符号化スライスNAL単位によって参照可能なパラメータを含んでもよい。
HEVCでは、ビデオパラメータセット(VPS)は、0以上の符号化ビデオシーケンス全体に対して適用するシンタックス要素を含むシンタックス構造として定義することができる。該ビデオシーケンスは、各スライスセグメントヘッダにおいて探索されるシンタックス要素によって参照されるPPSにおいて探索されるシンタックス要素によって参照されるSPSにおいて探索されるシンタックス要素のコンテンツによって決定される。ビデオパラメータセットRBSPは、1つ以上のシーケンスパラメータセットRBSPによって参照可能なパラメータを含んでもよい。
ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)の間の関係および階層は次のように記述できる。VPSは、スケーラビリティおよび/または3Dビデオの文脈において、パラメータセット階層でSPSの1段上に位置する。VPSは、すべての(スケーラビリティまたはビュー)レイヤにわたって全スライスに共通なパラメータを符号化ビデオシーケンス全体に含んでもよい。SPSは、特定の(スケーラビリティまたはビュー)レイヤにおける全スライスに共通なパラメータを符号化ビデオシーケンスの全体に含み、複数の(スケーラビリティまたはビュー)レイヤで共有されてもよい。PPSは、特定のレイヤ表現(1つのアクセス単位における1つのスケーラビリティまたはビューレイヤの表現)における全スライスに共通なパラメータを含み、これらのパラメータは複数のレイヤ表現における全スライスで共有される傾向にある。
VPSは、符号化ビデオシーケンス全体においてすべての(スケーラビリティまたはビュー)レイヤにわたって全スライスに適用可能なその他多くの情報を提供しうるが、さらにビットストリーム内のレイヤの依存関係に関する情報を提供してもよい。VPSは、基本VPSおよびVPS拡張の2つの部分を含むとみなされてもよく、この内、VPS拡張が含まれるかは任意に選択可能であってもよい。HEVCでは、基本VPSは、vps_extension( )シンタックス構造を含まず、video_parameter_set_rbsp( )シンタックス構造を含むとみなされてもよい。video_parameter_set_rbsp( )シンタックス構造は、HEVCのバージョン1で既に規定されており、基本レイヤの復号に使用できるシンタックス要素を含む。HEVCでは、VPS拡張は、vps_extension( )シンタックス構造を含むとみなされてもよい。vps_extension( )シンタックス構造は、HEVCのバージョン2で特にマルチレイヤ拡張について規定されており、レイヤ依存関係を示すシンタックス要素等の1つ以上の非基本レイヤの復号に使用できるシンタックス要素を含む。
VPS拡張におけるシンタックス要素 max_tid_il_ref_pics_plus1は、非IRAPピクチャがインターレイヤ予測で参照に用いられないこと、あるいはインターレイヤ予測で参照に用いられない時間サブレイヤを示すことができる。
0に等しいmax_tid_il_ref_pics_plus1[ i ][ j ]は、nuh_layer_idがlayer_id_in_nuh[ i ]に等しい非IRAPピクチャが、nuh_layer_idがlayer_id_in_nuh[ j ]に等しいピクチャに対するインターレイヤ予測におけるソースピクチャとして使用されないことを指定する。0より大きいmax_tid_il_ref_pics_plus1[ i ][ j ]は、nuh_layer_idがlayer_id_in_nuh[ i ]に等しく、TemporalIdがmax_tid_il_ref_pics_plus1[ i ][ j ]-1より大きいピクチャが、nuh_layer_idがlayer_id_in_nuh[ j ]に等しいピクチャのインターレイヤ予測においてソースピクチャとして使用されないことを指定する。存在しない場合、max_tid_il_ref_pics_plus1[ i ][ j ]の値は、7に等しいと推定される。
H.264/AVCおよびHEVCのシンタックスでは様々なパラメータセットの事例が許容され、各事例は固有の識別子で識別される。パラメータセットに必要なメモリ使用量を制限するために、パラメータセット識別値域は制限されている。H.264/AVCおよびHEVCでは、各スライスヘッダは、そのスライスを含むピクチャの復号に対してアクティブなピクチャパラメータセットの識別子を含む。各ピクチャパラメータセットは、アクティブなシーケンスパラメータセットの識別子を含む。その結果、ピクチャとシーケンスパラメータセットの伝送がスライスの伝送と正確に同期されている必要がない。実際に、アクティブシーケンスとピクチャパラメータセットはそれらが参照される前までに受け取られていれば十分であり、スライスデータ用のプロトコルよりも信頼性の高い伝送機構を使って「帯域外」でパラメータセットを伝送することが可能になる。例えば、パラメータセットはリアルタイム転送プロトコル(Realtime Transport Protocol:RTP)セッション用のセッション記述でのパラメータとして含まれてもよい。パラメータセットは、帯域内で伝送される場合、エラー耐性を高めるために繰り返されることもある。
さらに/あるいは、アウトオブバンド伝送、シグナリング、または記憶を伝送エラーに対する耐性以外の目的、すなわちアクセスまたはセッションネゴシエーションを行いやすくするために利用できる。例えば、ISO BMFFに対応するファイルにおけるトラックのサンプルエントリは、パラメータセットを含み、ビットストリーム内の符号化データは、ファイルの別の箇所またはその他のファイルに記憶されてもよい。アウトオブバンドデータがビットストリームに関連付けられるようにアウトオブバンド転送、シグナリング、記憶を行うことを指すために、「ビットストリームに沿った」という表現(例えば、「ビットストリームに沿っている」ことを示す用語)を請求項で使用し、実施形態で記載する場合がある。また、「ビットストリームに沿って復号」等の表現は、ビットストリームに関連した参照アウトオブバンドデータ(アウトオブバンド転送、シグナリング、または記憶により得られうる)を復号することを指す場合がある。符号化ピクチャは、ピクチャの符号化された表現である。
HEVCでは、符号化ピクチャは、ピクチャのすべての符号化ツリー単位を含むピクチャの符号化された表現として定義することができる。HEVCでは、アクセス単位(AU)は、特定の分類ルールに基づき互いに関連付けられ、復号順で連続し、nuh_layer_idが任意の特定の値である最大で1つのピクチャを含む、NAL単位の組と定義することができる。アクセス単位は、符号化ピクチャのVCL−NAL単位を含むことに加えて、非VCL−NAL単位を含んでもよい。
アクセス単位内で、符号化ピクチャが所定の順序で現れる必要がありうる。例えば、nuh_layer_idがnuhLayerIdAに等しい符号化ピクチャは、同じアクセス単位内で、nuh_layer_id greaterがnuhLayerIdAよりも大きいすべての符号化ピクチャよりも復号順で前にある必要がありうる。通常AUは、出力時間および/または撮像時間が同じすべての符号化ピクチャを含む。
ビットストリームは、NAL単位ストリームまたはバイトストリームの形式で、符号化ピクチャおよび1つ以上の符号化ビデオシーケンスを形成する関連するデータの表現を形成する、ビットのシーケンスとして定義することができる。同一のファイルや、通信プロトコルの同一の接続のように、同一の論理経路において、第1のビットストリームの後に第2のビットストリームが続いてもよい。(ビデオの符号化において)基本ストリームは、1つ以上のビットストリームのシーケンスと定義することができる。第1のビットストリームの終端は特定のNAL単位によって示されてもよく、これはビットストリーム終端(End of Bitstrem:EOB)のNAL単位と呼ばれ、該ビットストリームの最後のNAL単位である。HEVCおよび現在検討中のその拡張版では、EOBのNAL単位は0に等しいnuh_layer_idを有する必要がある。
H.264/AVCおよびHEVCでは、フレーミング構造を提供しない送信または記憶環境のために、バイトストリーム形式が指定されている。バイトストリーム形式では、各NAL単位の前にスタートコードを付けることで、NAL単位を互いに分離している。NAL単位境界を誤検出しないよう、エンコーダはバイト指向スタートコードエミュレーション防止アルゴリズムを動作させる。これにより、スタートコードが生じてしまうような場合に、NAL単位ペイロードにエミュレーション防止バイトが加えられる。例えば、パケット指向システムおよびストリーム指向システム間で、単純なゲートウェイ動作を可能とするため、バイトストリーム形式が使用されるか否かを問わず、常にスタートコードエミュレーション防止を実施してもよい。第1のバイトの最上位ビット(Most Significant Bit:MSB)から始まり、第1のバイトの最下位ビット(Least Significant Bit:LSB)まで、そして第2のバイトのMSBが続く(以下同様)ようにバイトストリーム形式のビット順序を指定してもよい。バイトストリーム形式は、バイトストリームNAL単位シンタックス構造シーケンスからなるものととらえられる。各バイトストリームNAL単位シンタックス構造は、1つのスタートコードプレフィックスを含み、それに1つのNAL単位シンタックス構造が続くものと考えられる(すなわち、シンタックス要素名が参照される場合、nal_unit(NumBytesInNalUnit)シンタックス構造)。バイトストリームNAL単位はさらに、追加のzero_byteシンタックス要素を含んでもよい。さらに、1つ以上の追加のシンタックス要素trailing_zero_8bitsを含んでもよい。バイトストリームNAL単位が、ビットストリームにおける第1のバイトストリームNAL単位であれば、追加のシンタックス要素eading_zero_8bitsをさらに含んでもよい。バイトストリームNAL単位のシンタックスは以下のとおりに指定できる。
バイトストリームにおけるバイトストリームNAL単位の順序は、バイトストリームNAL単位内に含まれるNAL単位の復号順に従う必要がありうる。シンタックス要素の意味は、以下のとおりに指定されうる。leading_zero_8bitsは、0x00に等しいバイトである。シンタックス要素leading_zero_8bitsは、ビットストリームの第1のバイトストリームNAL単位内のみに存在してもよい。NAL単位シンタックス構造の後で、4バイトのシーケンス0x00000001(start_code_prefix_one_3bytesが続くzero_byteと考えられる)の前の、0x00に等しいあらゆるバイトは、前のバイトストリームNAL単位の一部であるシンタックス要素trailing_zero_8bitsであると考えられるためである。zero_byteは、0x00に等しい、単一のバイトである。start_code_prefix_one_3bytesは、0x000001に等しい3バイトの固定値シーケンスである。このシンタックス要素は、スタートコードプレフィックス(または単純にスタートコード)と称されうる。trailing_zero_8bitsは、0x00に等しいバイトである。
NAL単位は、後続のデータの種類の標示と、適宜エミュレーション防止バイトが散在するRBSP形式の、当該データを含むバイトを含むシンタックス構造と定義できる。未加工のバイトシーケンスペイロード(RBSP)は、NAL単位にカプセル化された整数個のバイトを含むシンタックス構造と定義できる。RBSPは、空であるか、シンタックス要素を含み、RBSPストップビットが続き、さらに0以上の後続ビット(=0)が続くシンタックス要素を含むデータビット列の形式をとる。
NAL単位は、ヘッダとペイロードからなる。H.264/AVCおよびHEVCにおいては、NAL単位ヘッダはNAL単位の種類を示す。
次に、シンタックス構造nal_unit(NumbytesInNalUnit)のHEVCシンタックスをNAL単位のシンタックスの例として示す。
HEVCでは、符号化ビデオシーケンス(Coded Video Sequence:CVS)が、例えば、復号順で、NoRaslOutputFlagが1に等しいIRAPアクセス単位と、その後のNoRaslOutputFlagが1に等しいIRAPアクセス単位である任意のアクセス単位の手前までの、後続のすべてのアクセス単位を含む、NoRaslOutputFlagが1に等しいIRAPアクセス単位ではない0以上のアクセス単位とからなる、アクセス単位のシーケンスとして定義することができる。IRAPアクセス単位は、基本レイヤピクチャがIRAPピクチャであるアクセス単位として定義することができる。ビットストリームにおいて復号順で特定のレイヤの最初のピクチャである各IDRピクチャ、各BLAピクチャ、および各IRAPピクチャに対して、NoRaslOutputFlagの値が1に等しいのは、復号順で、同一の値のnuh_layer_idを有するシーケンスNAL単位の一端に続く最初のIRAPピクチャである。マルチレイヤHEVCでは、nuh_layer_idが、LayerInitializedFlag[ nuh_layer_id ]が0に等しく、IdDirectRefLayer[ nuh_layer_id ][ j ]に等しいすべてのrefLayerIdの値に対してLayerInitializedFlag[ refLayerId ]が1に等しくなる(ここで、jは0からNumDirectRefLayers[ nuh_layer_id ]−1までの範囲にある)場合に、各IRAPピクチャに対してNoRaslOutputFlagの値が1に等しくなる。この条件が満たされなければ、NoRaslOutputFlagの値がHandleCraAsBlaFlagに等しくなる。1に等しいNoRaslOutputFlagの影響として、NoRaslOutputFlagが設定されたIRAPピクチャに関連付けられているRASLピクチャがデコーダから出力されないことが挙げられる。デコーダを制御しうるプレーヤまたは受信機等の外部エンティティからデコーダに対してHandleCraAsBlaFlagの値を提供するための手段が設けられてもよい。
例えばビットストリームにおける新たな位置を探索し、ブロードキャストを受け、復号を開始し、その後CRAピクチャから復号を開始するプレーヤによって、HandleCraAsBlaFlagは1に設定されてもよい。CRAピクチャに対してHandleCraAsBlaFlagが1に等しい場合、CRAピクチャはBLAピクチャと同様に取り扱われ、復号される。
HEVCでは、上記の仕様に加えて、またはこれに代えて、シーケンス終端(End of Sequence:EOS)のNAL単位とも呼ばれる特定のNAL単位がビットストリームに現れ、そのnuh_layer_idが0に等しい場合、符号化ビデオシーケンスが終了するように規定されてもよい。
グループ・オブ・ピクチャ(GOP)とその特徴は以下のように定義される。GOPは、前のピクチャのいずれかが復号されたか否かにかかわらず、復号可能である。オープンGOPは、オープンGOPの開始イントラピクチャから復号が始まる場合、出力順序が開始イントラピクチャよりも早いピクチャが正しく復号できない可能性のあるようなピクチャ群である。すなわち、オープンGOPにおけるピクチャは、(インター予測において)前のGOPに属するピクチャを参照しうる。HEVCデコーダは、オープンGOPを開始するイントラピクチャを認識できる。特定のNAL単位種類、CRA NAL単位種類を、その符号化されたスライスに使用可能なためである。クローズドGOPは、クローズドGOPの開始イントラピクチャから復号が始まる場合、すべてのピクチャが正しく復号できるようなピクチャ群である。すなわち、クローズドGOPにおけるピクチャは、前のGOPの内のいずれのピクチャも参照しない。H.264/AVCおよびHEVCにおいて、クローズドGOPはIDRピクチャから開始してもよい。HEVCにおいて、クローズドGOPはBLA_W_RADLまたはBLA_N_LPピクチャから開始してもよい。オープンGOP符号化構造は、参照ピクチャがより柔軟に選択できるため、クローズドGOP符号化構造よりも圧縮構造が高効率となりうる。
SOP(ストラクチャ・オブ・ピクチャ)は、復号順で連続した少なくとも1つの符号化ピクチャとして定義できる。ここで、復号順で最初の符号化ピクチャが、最下時間サブレイヤの参照ピクチャとなり、復号順で最初の符号化ピクチャはRAPピクチャとなりうるが、それ以外の符号化ピクチャはRAPピクチャとならない。前のSOPのすべてのピクチャは、現SOPのすべてのピクチャよりも復号順で前にあり、次のSOPのすべてのピクチャは、現SOPのすべてのピクチャよりも復号順で後にある。SOPは、階層的かつ反復的なインター予測構造を表しうる。グループ・オブ・ピクチャ(GOP)という用語は、SOPと同義で、SOPと同じ意味でありうる。
H.264/AVCおよびHEVCのビットストリームシンタックスは、特定のピクチャが別のピクチャのインター予測のための参照ピクチャであるか否かを示す。符号化の任意の種類(I、P、B)のピクチャは、H.264/AVCおよびHEVCの参照ピクチャまたは非参照ピクチャでありうる。
HEVCでは、参照ピクチャセット(Reference Picture Set:RPS)のシンタックス構造と復号処理が使用される。あるピクチャに有効またはアクティブな参照ピクチャセットには、そのピクチャに対する参照として使われるすべての参照ピクチャと、復号順で後続の任意のピクチャに対して「参照に使用済」とマークされたままであるすべての参照ピクチャとが挙げられる。参照ピクチャセットには6つのサブセットがあり、それぞれRefPicSetStCurr0(またはRefPicSetStCurrBefore)、RefPicSetStCurr1(またはRefPicSetStCurrAfter)、RefPicSetStFoll0、RefPicSetStFoll1、RefPicSetLtCurr、RefPicSetLtFollと呼ばれる。また、RefPicSetStFoll0およびRefPicSetStFoll1は、まとめて1つのサブセットRefPicSetStFollを形成するものとされてもよい。この6つのサブセットの表記法は次のとおりである。「Curr」は現ピクチャの参照ピクチャリストに含まれる参照ピクチャを表し、このため、現ピクチャに対するインター予測参照として使用されてもよい。「Foll」は現ピクチャの参照ピクチャリストに含まれない参照ピクチャを表すが、復号順で後続のピクチャでは参照ピクチャとして使用されてもよい。「St」は短期参照ピクチャを表し、通常、POC値の特定数の最下位ビットで識別されてもよい。「Lt」は長期参照ピクチャを表し、特定の方法で識別され、通常、現ピクチャに対するPOC値の差分は、前述した特定数の最下位ビットによって表されるものよりも大きい。「0」は現ピクチャのPOC値よりも小さいPOC値を持つ参照ピクチャを表す。「1」は現ピクチャのPOC値よりも大きいPOC値を持つ参照ピクチャを表す。RefPicSetStCurr0、RefPicSetStCurr1、RefPicSetStFoll0、RefPicSetStFoll1はまとめて、参照ピクチャセットの短期サブセットと呼ばれる。RefPicSetLtCurrおよびRefPicSetLtFollはまとめて、参照ピクチャセットの長期サブセットと呼ばれる。
HEVCでは、参照ピクチャセットは、シーケンスパラメータセットで特定され、参照ピクチャセットへのインデックスを介してスライスヘッダ用に取り込まれてもよい。参照ピクチャセットはスライスヘッダで特定されてもよい。参照ピクチャセットは独立に符号化されてもよく、別の参照ピクチャセットから予測されてもよい(インターRPS予測と呼ばれる)。参照ピクチャセット符号化の両方の種類で、各参照ピクチャに対してフラグ(used_by_curr_pic_X_flag)が追加で送信される。このフラグは、その参照ピクチャが参照として現ピクチャに用いられる(*Currリストに含まれる)か否か(*Follリストに含まれる)を示す。現スライスが使う参照ピクチャセットに含まれるピクチャは「参照に使用」とマークされ、現スライスが使う参照ピクチャセットに含まれないピクチャは「参照に未使用」とマークされる。現ピクチャがIDRピクチャである場合、RefPicSetStCurr0、RefPicSetStCurr1、RefPicSetStFoll0、RefPicSetStFoll1、RefPicSetLtCurr、およびRefPicSetLtFollはすべて空に設定される。
復号ピクチャバッファ(Decoded Picture Buffer:DPB)はエンコーダおよび/またはデコーダで使用されてもよい。復号ピクチャをバッファする理由は2つある。1つはインター予測で参照するため、もう1つは復号ピクチャを出力順に並べ換えるためである。H.264/AVCおよびHEVCは参照ピクチャのマーキングと出力の並べ換えの両方で相当な柔軟性を与えるため、参照ピクチャのバッファリングと出力ピクチャのバッファリングで別々のバッファを使うことはメモリリソースを浪費する可能性がある。このためDPBは、参照ピクチャと出力並べ換えのための統合された復号ピクチャバッファリング処理を含んでもよい。復号ピクチャは、参照として使用されず出力される必要がなくなると、DPBから削除されてもよい。
H.264/AVCおよびHEVC等の多くの符号化モードでは、インター予測用参照ピクチャは参照ピクチャリストへのインデックスで示される。このインデックスは可変長符号化で符号化されてもよい。可変長符号化によって多くの場合、インデックスを小さくして対応するシンタックス要素に対してより小さい値を持つことができる。H.264/AVCおよびHEVCでは、双予測(B)スライスにはそれぞれ2つの参照ピクチャリスト(参照ピクチャリスト0および参照ピクチャリスト1)が作成され、インター符号化(P)スライスにはそれぞれ1つの参照ピクチャリスト(参照ピクチャリスト0)が形成される。
参照ピクチャリスト0および参照ピクチャリスト1等の参照ピクチャリストは通常、2つのステップで作成される。第1ステップでは、初期参照ピクチャリストが作成される。初期参照ピクチャリストは例えば、frame_numやPOC、temporal_id(またはTemporalIDや類似のもの)、GOP構造等の予測階層に関する情報、またはこれらの組合せに基づいて作成されてもよい。第2ステップでは、参照ピクチャリスト並べ換え(Reference Picture List Reordering:RPLR)命令によって初期参照ピクチャリストが並べ換えられてもよい。RPLR命令は参照ピクチャリスト変更シンタックス構造とも呼ばれ、スライスヘッダに含まれてもよい。参照ピクチャセットが用いられる場合、参照ピクチャリスト0はRefPicSetStCurr0、RefPicSetStCurr1、RefPicSetLtCurrをこの順序で含むように初期化されてもよい。参照ピクチャリスト1はRefPicSetStCurr1、RefPicSetStCurr0をこの順序で含むように初期化されてもよい。HEVCでは、初期参照ピクチャリストは参照ピクチャリスト変更シンタックス構造を通じて変更されてもよい。初期参照ピクチャリストのピクチャはリストに対するエントリインデックスを通じて識別されてもよい。換言すれば、HEVCでは、参照ピクチャリスト変更を最後の参照ピクチャリストにおける各エントリのループを含むシンタックス構造に符号化し、各ループエントリが初期参照ピクチャリストへの固定長符号化インデックスであり、最後の参照ピクチャリストにおける位置の昇順でピクチャを示す。
H.264/AVCおよびHEVCを含む多くの符号化規格は、参照ピクチャリストに対する参照ピクチャインデックスを導出するための復号処理が含まれてもよい。これによって、複数の参照ピクチャのいずれを使用して特定のブロックのインター予測を行うかが示されうる。参照ピクチャインデックスは、エンコーダによってビットストリームへと何らかのインター符号化モードで符号化されてもよく、または(エンコーダおよびデコーダによって)例えば何らかの他のインター符号化モードで隣接ブロックを使用して導出されてもよい。
ビットストリームにおいて効率的に動きベクトルの順序を示すために、動きベクトルは、ブロック特有予測動きベクトルとは異なる符号化が施されてもよい。多くのビデオコーデックにおいて、予測動きベクトルは、所定の方法で生成される。一例として、隣接するブロックの、符号化または復号動きベクトルの中央値を計算してもよい。動きベクトル予測を生成するさらなる方法として、高度な動きベクトル予測(Advanced Motion Vector Prediction:AMVP)とも呼ばれる手法がある。すなわち、時間参照ピクチャにおける隣接ブロックおよび/または並置されたブロックからの予測候補のリストを生成し、選択された候補を動きベクトル予測子としてシグナリングする手法である。動きベクトル値を予測することに加え、符号化済み/復号済みピクチャの参照インデックスも予測できる。典型的には、参照インデックスは時間参照ピクチャにおける隣接ブロックおよび/または並置されたブロックから予測される。通常、スライス境界をまたぐ動きベクトルの差動符号化はできない。
スケーラブルビデオ符号化とは、コンテンツに関して、例えばビットレート、解像度、またはフレームレートが異なる複数の表現を1つのビットストリームが格納できるような符号化構造を指してもよい。このような場合、受信機は、その特性(例えば、ディスプレイ装置に最適な解像度)に応じて望ましい表現を抽出することができる。あるいは、サーバまたはネットワーク要素が、例えばネットワーク特性や受信機の処理能力に応じて受信機に送信されるように、ビットストリームの一部を抽出することもできる。スケーラブルビットストリームの特定の部分のみを復号することにより、有意な復号された表現を生成することができる。スケーラブルビットストリームは、通常、利用可能な最低品質動画を提供する1層の「基本レイヤ」と、下位レイヤと共に受信、復号されるとビデオ品質を高める1層以上の「拡張レイヤ」から構成される。拡張レイヤに対する符号化効率を高めるために、レイヤの符号化された表現は、通常、下位レイヤに依存する。例えば、拡張レイヤの動き情報およびモード情報が下位レイヤから予測されてもよい。同様に、拡張レイヤ予測を作成するために、下位レイヤの画素データを用いることもできる。
スケーラブルビデオ符号化方式によっては、ビデオ信号は1層の基本レイヤおよび1層以上の拡張レイヤに符号化されてもよい。拡張レイヤは、例えば、時間分解能(すなわち、フレームレート)や空間分解能を上げたり、別のレイヤやその一部によって表されるビデオコンテンツの品質を単に上げたりしてもよい。各レイヤは、それぞれのすべての従属レイヤと合わせて、例えば、特定の空間分解能、時間分解能、および品質レベルでのビデオ信号の一表現となる。本明細書では、すべての従属レイヤを伴うスケーラブルレイヤを「スケーラブルレイヤ表現」と呼ぶ。特定の忠実度で元の信号表現を生成するために、スケーラブルレイヤ表現に対応するスケーラブルビットストリームの一部が抽出され復号される。
スケーラビリティモードまたはスケーラビリティの次元には以下のものを含むが、これらに限定されない。
・品質スケーラビリティ:基本レイヤピクチャは、拡張レイヤピクチャよりも低い品質で符号化され、これは例えば基本レイヤにおいて、拡張レイヤにおけるものより大きな量子化パラメータ値(すなわち変換係数量子化に対してより大きなサイズの量子化ステップ)によって実現可能である。
・空間スケーラビリティ:基本レイヤピクチャは、拡張レイヤピクチャよりも低い解像度(すなわち、より少ないサンプル)で符号化される。空間スケーラビリティおよび品質スケーラビリティは、特にその粗粒子スケーラビリティ種類について、同種のスケーラビリティとみなされる場合がある。
・ビット深度スケーラビリティ:基本レイヤピクチャは、拡張レイヤピクチャ(例えば10または12ビット)よりも低いビット深度(例えば8ビット)で符号化される。
・動的範囲スケーラビリティ:スケーラブルレイヤは、異なるトーンマッピング機能および/または異なる光学伝達機能を使用して得られた異なる動的範囲および/または画像を表す。
・クロマフォーマットスケーラビリティ:基本レイヤピクチャは、拡張レイヤピクチャ(例えば4:4:4フォーマット)よりも、クロマサンプル配列(例えば4:2:0クロマフォーマットで符号化される)においてより低い空間解像度となる。
・色域スケーラビリティ:拡張レイヤピクチャは、基本レイヤピクチャよりも豊富な、または幅広い色表現範囲を有する。例えば、拡張レイヤは超高精細テレビ(UHDTV、ITU−R BT.2020規格)の色域を有し、一方、基本レイヤはITU−R BT.709規格の色域を有しうる。
・ビュースケーラビリティは、マルチビュー符号化とも呼ばれる。基本レイヤは第1のビューを表し、拡張レイヤは第2のビューを表す。
・深度スケーラビリティは、深度が拡張された符号化とも呼ばれる。ビットストリームの複数のレイヤの内、1層または一部のレイヤはテクスチャビューを表し、他のレイヤは深度ビューを表してもよい。
・関心領域スケーラビリティ(後述)。
・インターレース化−進行性スケーラビリティ(フィールド−フレームスケーラビリティとしても知られる):基本レイヤの符号化されたインターレース化ソースコンテンツ材料は、拡張レイヤによって拡張され、進行性ソースコンテンツを表す。
・ハイブリッドコーデックスケーラビリティ(符号化規格スケーラビリティとしても知られる):ハイブリッドコーデックスケーラビリティでは、ビットストリームシンタックスや意味、ならびに基本レイヤおよび拡張レイヤの復号処理が、異なるビデオ符号化規格で規定されている。このため、基本レイヤピクチャは拡張レイヤピクチャとは異なる符号化規格またはフォーマットで符号化される。例えば、基本レイヤはH.264/AVCで符号化され、拡張レイヤはHEVCマルチレイヤ拡張で符号化されてもよい。
スケーラビリティ種類の内の多くが組み合わされて、まとめて適用されうることも理解されよう。例えば、色域スケーラビリティとビット深度スケーラビリティを組み合わせてもよい。
「レイヤ」という語は、ビュースケーラビリティや深度拡張等、スケーラビリティの任意の種類の文脈において使用することができる。拡張レイヤは、SNR拡張、空間拡張、マルチビュー拡張、深度拡張、ビット深度拡張、クロマフォーマット拡張、および/または色域拡張等の拡張の任意の種類を指してもよい。基本レイヤは、ベースビュー、SNR/空間スケーラビリティに対する基本レイヤ、または深度が拡張されたビデオの符号化に対するテクスチャベースビュー等のベースビデオシーケンスの任意の種類を指してもよい。
三次元(3D)ビデオコンテンツを提供するための各種技術が現在、研究開発されている。立体視または2ビュービデオにおいて、1つのビデオシーケンスまたはビューは左目用に、平行ビューは右目用に供されるものとする場合がある。同時により多くのビューを提供し、ユーザが異なる視点でコンテンツを観察可能にするようなビューポイントスイッチングや、裸眼立体視ディスプレイを可能にする用途のためには、2以上の平行ビューが必要である場合がある。
ビューは、1つのカメラまたは視点を表すピクチャのシーケンスとして定義することができる。ビューを表すピクチャは、ビュー成分とも呼ばれる。換言すれば、ビュー成分は単一のアクセス単位におけるビューの符号化された表現として定義することができる。マルチビュービデオの符号化では、ビットストリームにおいて2つ以上のビューが符号化される。複数のビューは通常、立体視用ディスプレイやマルチビュー裸眼立体視ディスプレイに表示されること、またはその他の3D構成に使用されることを目的としていることから、通常は同一のシーンを表し、コンテンツによっては異なる視点を表しながら部分的に重畳する。このように、マルチビュービデオの符号化にインタービュー予測を用いることによって、ビュー間の相関関係を活用し圧縮効率を向上させてもよい。インタービュー予測を実現する方法としては、第1のビュー中の符号化または復号されているピクチャの参照ピクチャリストに1つ以上のその他のビューの1つ以上の復号ピクチャを含めることが挙げられる。ビュースケーラビリティはこのようなマルチビュービデオの符号化またはマルチビュービデオのビットストリームを指してもよく、これらによって1つ以上の符号化されたビューを削除または省略することができ、その結果としてのビットストリームは適合性を保ちながら、元のものよりも少ない数のビューでビデオを表す。関心領域(Region of Interest:ROI)の符号化は、より高い忠実度でのビデオ内の特定の領域の符号化を指すと定義することができる。
ROIスケーラビリティは、スケーラビリティの一種であって、拡張レイヤによって参照レイヤピクチャの一部のみを、例えば空間的に、品質に応じ、ビット深度において、および/または別のスケーラビリティの次元で拡張するものと定義することができる。ROIスケーラビリティは他の種類のスケーラビリティと併用できることから、スケーラビリティの種類の新たな分類を形成するととらえることができる。異なる要件を伴う、ROI符号化に対する様々な異なる用途があるが、ROIスケーラビリティによって実現可能である。例えば、拡張レイヤを送信して、基本レイヤ内の領域の品質および/または解像度を向上させることができる。拡張レイヤおよび基本レイヤのビットストリームの両者を受け取ったデコーダは、両レイヤを復号し、復号ピクチャを互いに重ね、最終的に完成したピクチャを表示してもよい。
参照レイヤピクチャおよび拡張レイヤピクチャの空間的対応性が、推定されてもよく、あるいは、1つまたは複数の種類のいわゆる参照レイヤ位置補正値によって標示されてもよい。HEVCにおいては、参照レイヤ位置補正値は、エンコーダにより、PPS内において含まれていてもよく、デコーダにより、PPSから復号されてもよい。参照レイヤ位置補正値は、ROIスケーラビリティの実現のために使用されてもよいが、これに限定されるものではない。参照レイヤ位置補正値は、2つのレイヤ間にインターレイヤ予測の関係がない場合であっても、当該2つのレイヤまたはそのピクチャ間で標示されてもよい。参照レイヤ位置補正値は、スケーリングされた参照レイヤ補正値、参照領域補正値、およびリサンプリングフェーズセットの内の1つまたは複数を有していてもよい。スケーリングされた参照レイヤ補正値は、並置された現ピクチャ内のサンプルと参照レイヤ内の復号されたピクチャ内の参照領域の左上輝度サンプルの間における水平方向および垂直方向の補正値と、並置された現ピクチャ内のサンプルと参照レイヤ内の復号されたピクチャ内の参照領域の右下輝度サンプルの間における水平方向および垂直方向補正値と、を規定するものとみなされてもよい。別の方法は、スケーリングされた参照レイヤ補正値が、拡張レイヤピクチャの個々のコーナーサンプルとの関係においてアップサンプリングされた参照領域のコーナーサンプルの位置を規定しているとみなすというものである。スケーリングされた参照レイヤ補正値には、符号が付与されてもよく、一般的に0であってもよい。参照領域補正値は、参照レイヤ内の復号されたピクチャ内の参照領域の左上輝度サンプルと同一の復号されたピクチャの左上輝度サンプルの間の水平方向および垂直方向補正値と、参照レイヤ内の復号されたピクチャ内の参照領域の右下輝度サンプルと同一の復号されたピクチャの右下輝度サンプルの間の水平方向および垂直方向補正値と、を規定するものとみなされてもよい。参照領域補正値には、符号が付与されてもよく、一般的に0であってもよい。リサンプリングフェーズセットは、インターレイヤ予測のためのソースピクチャのリサンプリング処理において使用される位相補正値を規定しているとみなされてもよい。異なるフェーズ補正値が、輝度およびクロマ成分のために提供されてもよい。
フレームパッキングは、複数の入力ピクチャ((入力)構成フレームと称されうる)を、出力ピクチャに配列することを含むと定義されうる。通常、フレームパッキングはある特定の種類の構成フレームに限定されるものではなく、構成フレーム間に特定の関係がなくてもよい。多くの場合、フレームパッキングは立体ビデオクリップの構成フレームを単一のピクチャシーケンスに配列するために使用される。これを次の段落でより詳細に説明する。配列することは、出力ピクチャ内で、空間的に重複しない領域に入力ピクチャを配置することを含んでもよい。例えば、並べて配置する場合、2つの入力ピクチャが出力ピクチャ内で、水平方向に隣接して配置される。配列することは、1つ以上の入力ピクチャを2つ以上の構成フレーム区域にパーティショニングし、構成フレーム区域を出力ピクチャ内で、空間的に重複しない領域に入力ピクチャを配置することを含んでもよい。例えば、出力ピクチャまたは、フレームパッキングされた出力ピクチャのシーケンスは、ビデオエンコーダによりビットストリームに符号化されてもよい。例えば、ビットストリームは、ビデオデコーダにより復号されてもよい。デコーダ、または復号後の後処理動作において、例えば表示用に復号ピクチャ(複数可)から復号構成フレームを抽出してもよい。
フレーム互換性立体ビデオ(すなわち、立体ビデオのフレームパッキング)においては、エンコーダ側で、立体写真が単一フレームに空間的パッキングされる符号化用の前処理が行われ、その後、フレームパックキングされたフレームが従来のNAL 2Dビデオ符号化方式で符号化される。デコーダが生成する出力フレームは、立体写真の構成フレームを含む。
典型的な動作モードにおいて、各ビューでの元のフレームと、パッケージ化された単一フレームは、空間的解像度が同一である。この場合、パッキング動作の前に、エンコーダは立体ビデオの2つのビューをダウンサンプリングする。空間的パッキングは、例えば横並び、上下並び形式を利用してもよく、それに応じてダウンサンプリングを実施するべきである。
フレームパッキングは、例えば以下の理由からマルチビュービデオの符号化(例えば、H.264/AVCのMVC拡張、H.265/HEVCのMV−HEVC拡張)よりも優先してもよい。
・後処理ワークフローが、単一ビデオ信号のために調整されている可能性がある。後処理ツールによっては、2つの異なるピクチャシーケンスに対応不能である、さらに/あるいは異なるピクチャシーケンスの同期状態を維持できない可能性がある。
・送信プロトコル等の配信システムは、単一の符号化シーケンスのみ対応する、さらに/あるいは異なる符号化シーケンスの同期状態を維持できない、さらに/あるいは異なる符号化シーケンスの同期状態を維持するためにバッファリングまたはレイテンシを増やす必要がありうる。
・マルチビュービデオの符号化ツールによるビットストリームの復号は、プレーヤで利用不能な特定の符号化モードへの対応が必要となりうる。例えば、スマートフォンの多くはH.265/HEVC Mainプロファイル復号に対応するが、Mainプロファイルに対して高レベル追加するだけでよいにもかかわらず、H.265/HEVC Multiview Mainプロファイル復号に対応できない場合がある。
水平視界360度、垂直視界180度(したがって球体となる)のパノラマ画像の、長方形の2次元画像平面に対する特定のプロジェクションマッピング手法である、正距円筒図法が知られている。この手法では、横座標は、経度と同等とされ、縦座標は緯度と同等とされ、変換もスケーリングも適用されない。水平視界は360度だが、垂直視界が180度未満のパノラマコンテンツを特殊な正距円筒図法としてとらえる場合もある。この場合、球の極域は二次元画像平面にマッピングされない。さらに、正距円筒図法形式のその他特徴を満たすが、水平視界が360度未満で、垂直視界が180度となるパノラマもありうる。
キューブマッププロジェクション形式では、球状ビデオが、立方体の六面(すなわち、側面)に投影される。キューブマップは、まず球状のシーンを、一視点から6度レンダリングすることで生成される。各ビューは、立方体の各面を表す90度視体積で画定される。各立方体側面を、同一のフレームにフレームパッキングしてもよいし、(例えば符号化において)それぞれ個別に扱ってもよい。立方体側面を様々な順序でフレームに配置してもよいし、さらに/あるいは立方体側面を回転、反転してもよい。フレームパッキングのためのフレーム幅および高さは、例えば立方体側面格子3x2として、立方体側面に「ぴったりと」はまるように選択されてもよいし、あるいは未使用構成フレームを含んで立方体側面格子4x3としてもよい。
イントラブロックコピー(IBC)と呼ばれる符号化ツールまたはモードは、インター予測と同様であるが、符号化または復号されている現ピクチャを参照ピクチャとする。当然、符号化または復号されている現ブロックの前に符号化または復号されたブロックのみが、予測に使用可能である。HEVCのスクリーンコンテンツ符号化(Screen Content Coding:SCC)拡張は、IBCを含む予定である。
HEVC SCCでは、IBCはサンプル予測のみに用いる。HEVC SCC仕様書の記載において、現ピクチャをTMVPの並置されたピクチャに使用することが明確に禁じられている。
インター予測処理は、少なくとも以下の2つの理由により、ピクチャ境界外のサンプル位置を参照することを含んでもよい(ただしこれらに限られない)。
1.動きベクトルが、ピクチャ境界外の予測ブロックを示しうる。
2.動きベクトルが、ピクチャ境界外の位置からの入力サンプルを使用するフィルタリングにより補間されるサンプル値に対応する、非整数サンプル位置を示しうる。
H.263、H.264/AVC、H.265/HEVC等、いくつかのビデオ符号化規格において、動きベクトルは、予測ブロックを取得するため、ピクチャ境界外の領域を示してもよく、部分サンプル補間は、ピクチャ境界外のサンプル位置を利用してもよい。予測処理の一環として、ピクチャ境界外のサンプルを取得するため、ピクチャ境界の各サンプルを有効にコピーしてもよい。これを図5aに示す。図5a、5bにおいて、点線の四角形は参照ピクチャのサンプル列を示し、実線の正方形は、サンプル列の各サンプルを示す。正方形内で、上側の値は対応するサンプルの位置のx座標を示し、下側の値は対応するサンプルの位置のy座標を示す。
図5aは、インター予測処理において、ピクチャ境界外のサンプルを参照する際の扱いの例を示す。ここで、境界のサンプルはピクチャ境界外の領域にコピーされる。
様々な構成により、インター予測処理において、ピクチャ境界外のサンプル位置に対応可能となる。一例として、復号ピクチャサイズよりも大きい、すなわち当該画像の上下左右にマージンをとったサンプル列を割り当ててもよい。そのようなマージンをとることに加えて/代えて、予測に使用するサンプル(予測ブロックに対する部分サンプル補間のための入力、または予測ブロックそのもののサンプル)の位置が、ピクチャ境界(マージンを取る場合、それも含む)を超えないように飽和してもよい。このようにして、いくつかのビデオ符号化規格でピクチャ境界をまたぐ動きベクトルに対応することが記載されている。
例えば、HEVCにおいては、(中間)予測ブロックを生成するための部分サンプル補間に対して、以下の式を用いて(参照ピクチャの)所与の輝度サンプル列refPicLXL内の位置(xAi, j, yAi, j)を求める。
xA
i,j = Clip3( 0, pic_width_in_luma_samples - 1, xInt
L + i)
yA
i,j = Clip3( 0, pic_height_in_luma_samples - 1, yInt
L + j)
式中、(xIntL, yIntL)は全サンプル単位内の輝度位置を示し、iとjは補間フィルタウィンドウ内の相対位置を示し、pic_width_in_luma_samplesは輝度サンプルにおけるピクチャ幅を示し、pic_height_in_luma_samplesは輝度サンプルにおけるピクチャ高さを示し、Clip3()は以下のとおりである。
サンプル位置の座標が、(Clip3動作の前に)負の値であれば、Clip3動作により0に飽和させる。同様に、サンプル位置が幅(水平位置)または高さ(垂直位置)を超える場合、それぞれ幅−1または高さ−1で飽和される。
クロマ成分のインター予測のための部分サンプル補間において、クロマサンプル位置がクロマサンプル列境界内に収まるように飽和するように、同様の式が存在する。
360度パノラマビデオにおいては、予測処理が水平方向でピクチャ境界外のサンプルを必要とする場合、境界サンプルを使用する代わりに、ピクチャの互いに反対側のサンプル値を使用してもよい。これを図5bに示す。図5bは、ある実施形態に係るパノラマビデオの符号化におけるピクチャ境界に跨る動きベクトルの扱いを示す。
すなわち、参照ピクチャを拡大して、符号化ピクチャよりも(幅および/または高さを)大きくすることでピクチャ境界外の画素の扱うことができる。以下に示す別の実施例も可能である。
図5bの例では、水平サンプル位置をラッピングして、インター予測処理における参照サンプルとしてもよい。例えば、参照ピクチャ境界(x=−1)の左側に隣接する列は、参照ピクチャの最も右側の列(x=w−1)のサンプル値を参照したものであってもよく、その左側の列(x=−2)は、参照ピクチャの右から2番目の列(x=w−2)のサンプル値を参照したものであってもよい。言い換えると、負の値の水平位置を0に飽和し、幅−1超の水平サンプル位置を幅−1(すなわち、ピクチャの最も右側のサンプル列の水平サンプル位置)に飽和する代わりに、ピクチャ境界外の参照水平サンプル位置をラッピングしてもよい。すなわち、幅−1超の水平サンプル位置を、ピクチャの左側のサンプル列を参照するようにラッピングしてもよい。反対に、0未満の水平サンプル位置を、ピクチャの右側のサンプル列を参照するようにラップオーバーする。
したがって、関数Wrap()を以下のように指定できる。
HEVCにおいて、部分輝度サンプル補間のために上記式を参照する場合、次の式
xA
i,j=Clip3( 0, pic_width_in_luma_samples - 1, xInt
L + i)
の代わりに、次の式を使用してもよい。
xA
i,j=Wrap( 0, pic_width_in_luma_samples - 1, xInt
L + i)
有効ピクチャエリアは、表示に使用できる復号サンプルを含む、ピクチャエリアまたは、復号ピクチャ内のサンプルまたはサンプル位置群として定義できる。有効ピクチャエリア外の領域は、表示には使用不能かもしれないが、例えば符号化で使用するブロック格子に、ピクチャ幅または高さを合わせるために存在してもよい。
フレームパッキングは、例えば以下の理由から、マルチビュービデオの符号化よりも圧縮性能(すなわち、レート歪み性能)が劣りうる。フレームパッキングにおいては、ビュー間で、インタービューサンプル予測およびインタービュー動き予測ができない。さらに、フレームパッキングにおいて、構成フレームの境界外(別の構成フレーム)を指す動きベクトルまたは、構成フレームの境界外の(別の構成フレーム内の)サンプルを使用するサブピクセル補間を生じさせるようなものに対する対応は好ましくない場合がある。従来のマルチビュービデオの符号化において、インター予測およびサブピクセル補間で使用されるサンプル位置を、ピクチャ境界内となるように飽和してもよい。同じく、再構成ピクチャにおけるピクチャ境界外の領域を、境界サンプル値でパディングしてもよい。
図6aは、このような動きベクトルの好ましくない対応に関する問題を示す。この例において、フレーム#N+1の構成フレーム#1 601における第2のブロック行の、最も右側のブロック604は、図6aにおいてブロック603として示された、フレーム#N内の構成フレーム#1の領域に対して部分的に外側の領域から動いている。矢印605は、インター予測が好ましくない、あるいは並列復号能力を有するビットストリームの場合、不可能でありうる例を示す。上述のように、非フレームパッキング符号化では、インター予測においてピクチャ境界外の領域はパディングするようにしてもよい。これは、インター予測または部分サンプル補間で使用されるサンプル位置を飽和してピクチャ境界内となるようにすることに等しい。フレームパッキングされたビデオの符号化では、このようなパディングまたはサンプル位置飽和は不可能であるため、非フレームパッキングマルチビュービデオの符号化よりも、構成フレーム間の境界近傍での圧縮性能が劣りうる。
1つ以上の構成フレームの境界を拡大する、またはインター予測処理で使用されるサンプル位置を、構成フレームの境界内に飽和することの実施形態を以下に説明する。以下では、「構成フレームの境界を拡大する」、または「パディングする」という表現は、構成フレームの有効ピクチャエリアの信号を外挿することを指す。これは例えば、境界画素をコピーすること、または360度パノラマコンテンツを表す有効ピクチャエリアの信号を有効ピクチャの反対側からコピーすることで実現される。以下に詳細に説明する。
図6bは、ある実施形態に係る境界拡張部の例を示す。図6bにおいて、構成フレーム#1 601は、1つのブロック列606により右側に拡大され、構成フレーム#2 602は、1つのブロック列607により左側に拡大されている(例えばHEVCにおいては、CTU列)。ただし、より一般的な状況では、構成フレームのサブセットのみが境界拡張部される。例えば、境界拡張部分606、607内のサンプルは、それぞれ対応する構成フレームの有効ピクチャエリアの境界サンプル値を含む。矢印608は、構成フレーム#1 601の有効ピクチャエリアをまたぐ動きベクトルによるインター予測の例を示す。
境界拡張部領域を符号化および/または復号するいくつかの方法の実施形態を以下に示す。
エンコーダは、少なくとも1つの符号化ピクチャを取得してもよい(図7aのフローチャートにおけるブロック71)。ある実施形態によると、エンコーダは、符号化(ブロック74)の前に、非圧縮ピクチャを、境界拡張部のためのブロック行(複数可)および/またはブロック列(複数可)を含むように配列する(ブロック73)か、符号化中に符号化ピクチャに境界拡張部のためのブロック行(複数可)および/またはブロック列(複数可)を含める(ブロック75)かを判断する(ブロック72)。ある実施形態によると、以下にさらに詳細に説明するように、ブロック75において、イントラ予測、イントラブロックコピー予測、またはインター予測により境界拡張部を形成する。別の実施形態によると、以下にさらに詳細に説明するように、ブロック75において、参照フレームパディングにより境界拡張部を形成する。
これに応じて、デコーダは、復号する少なくとも1つの符号化ピクチャを受信してもよい(図7bのフローチャートにおけるブロック81)。ある実施形態によると、デコーダは適宜、ピクチャを復号して再構成フレーム(複数可)を取得し(ブロック82)、有効ピクチャエリア外の領域を埋めるようにフレームパディングを行って、必要に応じてパディングされた参照ピクチャを生成する(ブロック83)。
ある実施形態では、構成フレームを右側に拡大するブロック列(例えば、図6bの構成フレーム#1 601の境界拡張部606)は、水平イントラ予測により符号化される。ある実施形態では、エンコーダは予測誤差符号化を介さずに境界拡張部を符号化することを選択してもよい。別の実施形態では、エンコーダは予測誤差符号化を常に介さずに境界拡張部を符号化する。
ある実施形態では、構成フレームを下側に拡大するブロック行(例えば、上下フレームパッキング構成における、構成フレーム#1の境界拡張部)は、垂直イントラ予測により符号化される。エンコーダは予測誤差符号化を介さずに境界拡張部を符号化することを選択してもよい。別の実施形態では、エンコーダは予測誤差符号化を常に介さずに境界拡張部を符号化する。
ある実施形態では、エンコーダはビットストリームにおいて、予測誤差符号化ブロックが存在しないか、ゼロ値予測誤差を含むことを示す。ある実施形態では、エンコーダは境界拡張部に予測誤差が含まれないと推定して、ビットストリーム内で境界拡張部のシンタックス要素に関連するあらゆる予測誤差の符号化を省略する。ある実施形態では、デコーダはどのブロックが境界拡張部に属するかを判断し、ビットストリーム内で境界拡張部のシンタックス要素に関連するあらゆる予測誤差の復号を省略する。
別の実施形態と共に、または別の実施形態から独立して適用可能なある実施形態では、同じマルチビュー(例えば、立体視)コンテンツの、第1のビューを表す第1の構成フレームと、第2のビューを表す第2の構成フレームがフレームパッキングされる。符号化において、第1の構成フレームから第2の構成フレームへのイントラブロックコピー予測は可能だが、符号化において、第2の構成フレームから第1の構成フレームへのイントラブロックコピー予測はできない。したがって、基本的には、インタービュー予測は、異なるビューの構成フレーム間で、イントラブロックコピー予測を適用することでインタービュー予測が実現される。したがって、イントラブロックコピー予測を介さないフレームパッキングされたマルチビューコンテンツの符号化よりも高圧縮効率が実現できる。
ある実施形態では(例えば、エンコーダにより)イントラブロックコピー予測の適用が第2の構成フレーム内のみに限定されることが示される。第2の構成フレームの各ブロック(ここでは符号化/復号されているブロックと称する)に対して、以下のように符号化が限定される。以下では、並置されたブロックは、符号化/復号されているブロックと並置された、第1の構成フレーム内のブロックとする。「並置」であるとは、以下の性質として定義されうる。
・そのブロックを含む構成フレームの左上角に対して、水平および垂直座標が同じ。
・符号化ツリー単位単位の、垂直および/または水平補正値の合計としての座標が同じ。
補正値(複数可)は、エンコーダによりビットストリーム内で示されてもよいし、さらに/あるいはデコーダによりビットストリームから復号されてもよい。ブロック走査順で、第1の構成フレーム内の並置されたブロックに続くブロックのサンプル値は、イントラブロックコピー予測で使用されない。
ある実施形態では、アプリケーションプログラミングインタフェース(API)等を介して、エンコーダは構成フレーム間の、垂直および/または水平方向の最大差を把握する。あるいは、エンコーダはソースコンテンツを分析し、構成フレーム間の、垂直および/または水平方向の最大差を確認する。あるいは、エンコーダは構成フレーム間の垂直および/または水平方向の最大差を仮定する。エンコーダは、垂直および/または水平方向の最大差に応じて、インターブロックコピー予測のサーチ範囲を限定する。例えば、垂直方向の最大差を0と仮定して、サーチ範囲が現ブロックと同じ行に限定される。
フレームパッキングマルチビューコンテンツのインタービュー予測を実現するためにイントラブロックコピー予測を使用することが記載された上述の実施形態と共に、または当該実施形態から独立して使用可能なある実施形態では、構成フレーム(例えば、図6bの構成フレーム#1 601の境界拡張部606)を右側に拡大するブロック列は、当該構成フレームの最も左側のブロック列からのイントラブロックコピー予測により符号化される。エンコーダは予測誤差符号化を介さず、境界拡張ブロック列を符号化すると判断してもよい。この動作モードは、360度パノラマ(例えば正距円筒パノラマ)の構成フレームに適する。イントラブロックコピー予測による境界拡張部が適用することで、信号の連続性が有効ピクチャ境界をまたいで維持されるためである。本実施形態は、ピクチャが単一の構成フレームのみ有する場合、すなわち平面視パノラマ符号化のような場合にも適用可能である。
ある実施形態では、構成フレームを左側に拡大するブロック列(例えば、図6bの構成フレーム#2 602の境界拡張部607)は、ピクチャ内の別の構成フレームからのイントラブロックコピー予測により符号化される。ある実施形態では、構成フレームを上側に拡大するブロック行(例えば、上下フレームパッキング構成における、構成フレーム#2 602の境界拡張部607)は、ピクチャ内の別の構成フレームからのイントラブロックコピー予測により符号化される。これら2つの実施形態は、境界領域を埋めるためにインタービュー予測を適用することともみなせる。これは、IBC予測により、境界拡張部にコピーされたサンプル間の差分または距離が安定しており、有効ピクチャエリアの境界サンプルのものと一致する場合に有効でありうる。
ある実施形態では、境界拡張部におけるブロックがインター予測される。これは、復号順で前のピクチャ(複数可)が境界拡張部に適したサンプルを含むような動きに対して有効でありうる。すなわち、カメラが適切にパンニングした場合、カメラとピクチャコンテンツが不動であった場合、前のピクチャの境界拡張部が現ピクチャの境界拡張部にもなりうるような場合等に有効でありうるのである。
ある実施形態では、エンコーダが、例えばPPS、SPS、VPS、SEIメッセージ、またはVUIにおいて、構成フレームの有効ピクチャを示す。ある実施形態では、デコーダは構成フレームの有効ピクチャエリアの標示を復号する。ある実施形態では、デコーダに出力される前の復号ピクチャに適用される出力切り取り処理の一環として、デコーダは復号ピクチャを切り取って、有効ピクチャエリア外の領域を取り除く。ある実施形態では、デコーダは構成フレームの有効ピクチャエリアの復号標示を出力する。ある実施形態では、デコーダまたは表示処理は、表示処理において、構成フレームの有効ピクチャエリアのみを使用し、表示処理から境界拡張部(複数可)は取り除かれる。
ある実施形態では、ファイル生成器等は、コンテナファイルにおける構成フレームの有効ピクチャエリアを示す。ある実施形態では、ファイルパーサ等が、コンテナファイルからの構成フレームの有効ピクチャエリアの標示を復号する。ある実施形態では、ファイルパーサ等は、復号ピクチャを表示する前に、有効ピクチャエリア外の領域を除いて、復号ピクチャを切り取る。ある実施形態では、表示処理は、境界拡張部(複数可)を除いた構成フレームの有効ピクチャエリアのみを使用する。
別の例示的実施形態では、境界拡張ブロックがまず従来通りに符号化され、中間参照フレームに再構成されるが、あらゆるサンプル値を含みうる。同様に、境界拡張ブロックがまず従来通りに中間参照フレームに復号される。その後、中間参照フレームの境界拡張部が修正される。例えば、有効ピクチャエリアの境界サンプルの再構成サンプル値を、境界拡張部内の同じサンプル行におけるサンプルを埋めるために使用されてもよい。構成フレームが360度パノラマピクチャを表す場合、有効ピクチャエリアの反対側の再構成サンプルを使用して、境界拡張部内のサンプルを埋めてもよい。例えば、サンプル行ごとに、有効ピクチャエリアの反対側から復号サンプルをコピーすることで、境界拡張部内のサンプルを埋めてもよい。すなわち、有効ピクチャエリア外(境界拡張部内)の第1のサンプルは、有効ピクチャエリア内で反対側の第1のサンプルからコピーされる。有効ピクチャエリア外の第2のサンプルは、有効ピクチャエリア内で反対側の第2のサンプルからコピーされる。以下同様である。当該コピーのためのソース領域を、境界領域とも称する。例えば、境界拡張部が有効ピクチャエリアの右側にあれば、有効ピクチャエリアの最も左側のサンプル列から復号サンプルをコピーすることで、境界拡張部の最も左側のサンプル列が埋められる。さらに、有効ピクチャエリアの左から2番目のサンプル列から復号サンプルをコピーすることで境界拡張部の左から2番目のサンプル列が埋められる。以下同様である。
ループ内参照フレームパディングに関するある実施形態では、例えばエンコーダはPPSまたはSPS等のパラメータセット内で、構成フレームの有効ピクチャを標示する。ある実施形態では、デコーダはこの標示を復号して、それにより境界拡張を終了する。
ある実施形態では、例えばエンコーダは境界拡張部または構成フレームごとに、例えばPPSまたはSPSにおいて、中間参照フレームの境界拡張部を埋める方法を標示する。ある実施形態では、デコーダはこの標示を復号し、標示された方法により中間参照フレームの境界拡張部を埋める。ある実施形態では、デコーダは中間参照フレームの境界拡張部を埋める方法を完了し、例えば構成フレームが360度パノラマピクチャであることが示されていれば、有効ピクチャエリアの反対側からのコピーを行い、そうでなければ境界サンプルコピーを行う。
符号化されるピクチャ(複数可)が、少なくとも第1の構成フレームおよび第2の構成フレームを含む場合に適用可能なある実施形態では、エンコーダは、第1のタイルセットが第1の構成フレームとその境界拡張部(複数可)全体を網羅し、第2の構成フレームからのデータを含まず、第2のタイルセットが第2の構成フレームとその境界拡張部(複数可)全体を網羅し、第1の構成フレームからのデータを含まないように、タイルパーティショニングを選択する、または利用するように構成される。
ある実施形態では、エンコーダは第1のタイルセットを、動き制約タイルセットとして符号化し、第2のタイルセットを別の動き制約タイルセットとして符号化する。エンコーダは、例えばHEVCの時間動き制約タイルセットのSEIメッセージ等の、SEIメッセージにより、動き制約下で、第1および第2のタイルセットが符号化されたことを示してもよい。
ある実施形態では、デコーダ、プレーヤ等は、例えば動き制約下で、第1および第2のタイルセットが符号化されたことを示す、HEVCの時間動き制約タイルセットのSEIメッセージ等のSEIメッセージからの標示を復号する。ある実施形態では、デコーダ、プレーヤ等は、復号された標示に基づいて、第1のタイルセットを第1のデコーダインスタンス(例えば、第1の復号処理)で復号し、第2のタイルセットを第2のデコーダインスタンス(例えば、第2の復号処理)で復号すると判断する。
ある実施形態では、エンコーダは第1のタイルセットを動き制約タイルセットとして符号化する。ある実施形態では、エンコーダは第2のタイルセットを動き制約タイルセットとして符号化するが、イントラブロックコピー予測等において、現ピクチャを参照する場合はこの限りではない(別の実施形態で説明する)。ある実施形態では、本段落に記載のとおり、エンコーダは動き制約タイルセットを符号化で使用したことを、ビットストリーム内、例えばSEIメッセージ内で示す。
ある実施形態では、デコーダ、プレーヤ等は、動き制約下で第1および第2のタイルセットが符号化されたこと、ただし、イントラブロックコピー予測等において現ピクチャを参照する場合はこの限りではない(別の実施形態で説明する)ことを示す、HEVCの時間動き制約タイルセットのSEIメッセージ等のSEIメッセージからの標示を復号する。ある実施形態では、デコーダ、プレーヤ等は、復号された標示に基づいて、第1のタイルセットを第1のデコーダインスタンス(例えば、第1の復号処理)で復号し、第2のタイルセットを第2のデコーダインスタンス(例えば、第2の復号処理)で復号すると判断する。第1のデコーダインスタンスは、第2のデコーダインスタンスにより同じピクチャの第2のタイルセットが復号される前に、第1のタイルセットを復号するように構成される。ただし、第2のデコーダインスタンスにより現ピクチャの第2のタイルセットが復号される一方で、第1のデコーダインスタンスにより復号順で(現ピクチャに続く)後続ピクチャの第1のタイルセットを復号してもよい。
構成フレーム境界上のサンプル位置の飽和またはラップオーバーに関する例示的実施形態において、構成フレームは連続して、すなわちフレーム間に境界拡張部領域を設けないでパキングされてもよい。インター予測のサンプルを得る処理は、構成フレーム領域外のサンプル位置が使用されないように修正されてもよい。
エンコーダは例えばPPSまたはSPS等のパラメータセットにおいて、構成フレームのピクチャエリアを標示する。ある実施形態では、デコーダはこの標示を復号する。以下では、構成フレームの左上角が輝度サンプル座標leftCF、topCFを有し、右下角が輝度サンプル座標rightCF、bottomCFを有するものとする。
ある実施形態では、エンコーダは例えば構成フレームごとに、例えばPPSまたはSPSにおいて、構成フレーム境界外のサンプル位置が飽和またはラップオーバーされているかを標示する。ある実施形態では、デコーダはこの標示を復号し、標示された方法をインター予測で利用する。ある実施形態では、デコーダは方法を完了し、例えば構成フレームが360度パノラマピクチャであることが示されていれば、ラップオーバーを行い、そうでなければ飽和を行う。
エンコーダおよび/または デコーダは、以下の式によりサンプル位置をラップオーバーしてもよい。
xAi,j = Wrap( leftCF, rightCF, xIntL + i)
エンコーダおよび/または デコーダは、以下の式によりサンプル位置を構成フレーム境界内に収めるように、飽和してもよい。
xAi,j = Clip3( leftCF, rightCF, xIntL + i)
垂直方向にも、同様の式や処理を適用してもよい。
ある実施形態による、エンコーダおよびデコーダにおけるループ内参照フレームパディングをさらに詳述する。
図4は、本発明の実施形態の適用に適したビデオエンコーダのブロック図である。図4は、2レイヤ用エンコーダを示す。ただし、図示のエンコーダは、単一のレイヤを符号化するように簡略化されてもよいし、3レイヤ以上を符号化するように拡張されてもよいことが理解されよう。図4は、基本レイヤ用の第1のエンコーダ部500と、拡張レイヤ用の第2のエンコーダ部502とを有するビデオエンコーダの実施形態を示す。第1のエンコーダ部500と第2のエンコーダ部502とはそれぞれ、入力されるピクチャを符号化するために同様に要素を有してもよい。エンコーダ部500、502は、画素予測部302、402と、予測誤差エンコーダ303、403と、予測誤差デコーダ304、404とを有してもよい。図4はさらに、インター予測部306、406と、イントラ予測部308、408と、モード選択部310、410と、フィルタ316、416と、参照フレームメモリ318、418とを有する画素予測部302、402の実施形態を示す。第1のエンコーダ部500の画素予測部302は、インター予測部306(画像と、動き補償参照フレーム318との差分を判定)と、イントラ予測部308(現フレームまたはピクチャの、処理済み部分のみに基づいて、画像ブロックに対する予測を判定)とで、符号化されるビデオストリームの基本レイヤ画像300を受信する。インター予測部とイントラ予測部との両方の出力は、モード選択部310に送られる。イントラ予測部308は、複数のイントラ予測モードを有してもよい。したがって、各モードでイントラ予測を実施し、予測信号がモード選択部310に提供される。モード選択部310はまた、基本レイヤピクチャ300のコピーも受信する。同様に、第2のエンコーダ部502の画素予測部402は、インター予測部406(画像と、動き補償参照フレーム418との差分を判定)と、イントラ予測部408(現フレームまたはピクチャの、処理済み部分のみに基づいて、画像ブロックに対する予測を判定)とで、符号化されるビデオストリームの拡張レイヤ画像400を受信する。インター予測部とイントラ予測部との両方の出力は、モード選択部410に送られる。イントラ予測部408は、複数のイントラ予測モードを有してもよい。したがって、各モードでイントラ予測を実施し、予測信号がモード選択部410に提供される。モード選択部410はまた、拡張レイヤピクチャ400のコピーも受信する。
現ブロックの符号化にどの符号化モードが選択されたかに応じて、インター予測部306、406の出力、または任意のイントラ予測部モードの一つからの出力、またはモード選択部内のサーフェスエンコーダの出力が、モード選択部310、410の出力に送られる。モード選択部の出力は、第1の加算器321、421に送られる。第1の加算器は、基本レイヤピクチャ300/拡張レイヤピクチャ400から画素予測部302、402の出力を差し引いて、予測誤差エンコーダ303、403に入力される第1の予測誤差信号320、420を生成してもよい。
画素予測部302、402は、予備再構成部339、439から、画像ブロック312、412の予測表示と、予測誤差デコーダ304、404の出力338、438との組み合わせをさらに受信する。予備再構成画像314、414は、イントラ予測部308、408と、参照フレームパディング部315、415とに送られてもよい。参照フレームパディング部315、415は、パディングされた参照画像を生成するべく、異なる複数の実施形態の内の1つ以上に応じて、有効ピクチャエリア外の領域を埋めてもよい。パディングされた参照画像は、フィルタ316、416に送られてもよい。パディングされた参照画像を受信したフィルタ316、416は、パディングされた参照画像をフィルタリングして、最終再構成画像340、440を出力してもよい。この出力は参照フレームメモリ318、418に記憶されてもよい。参照フレームメモリ318は、インター予測部306に接続され、インター予測動作において、以降の基本レイヤピクチャ300と比較される参照画像として使用されてもよい。いくつかの実施形態に係る拡張レイヤのインターレイヤサンプル予測および/またはインターレイヤ動き情報予測のソースとして選択され、示された基本レイヤに応じて、参照フレームメモリ318はさらにインター予測部406に接続され、インター予測動作において、以降の拡張レイヤピクチャ400と比較される参照画像として使用されてもよい。さらに、参照フレームメモリ418はインター予測部406に接続され、インター予測動作において、以降の拡張レイヤピクチャ400と比較される参照画像として使用されてもよい。
なお、参照フレームパディング部315、415はそれぞれ異なるユニットで動作してもよく、例えばそれは符号化規格であらかじめ決められていてもよいし、エンコーダによりビットストリームにおいて示されてもよいことが理解されよう。ある実施形態では、参照フレームパディング部315、415は、予備再構成画像314、414全体を入力とする。別の実施形態では、参照フレームパディング部315、415は予備再構成された構成フレームを入力とし、したがって予備再構成画像ごと(含まれる構成フレームの数による)に複数回呼び出されてもよい。予備再構成された構成フレームを入力として参照フレームパディング部315、415を呼び出す場合、同じピクチャの構成フレームから別の構成フレームへのイントラブロックコピー予測を使用する際に、構成フレームの境界拡張部は有利となりうる。さらに別の実施形態では、参照フレームパディング部315、415は、予備再構成ブロックと予備再構成ブロックの境界サンプル行を入力とするか(垂直に境界を拡張する場合)、予備再構成ブロックと予備再構成ブロックの境界サンプル列を入力とする(水平に境界を拡張する場合)。この実施形態は、例えば同じピクチャの構成フレームから別の構成フレームへのイントラブロックコピー予測を使用する際に有利でありうる。
なお、異なる実施形態では、画素予測部はフィルタリングおよびパディングのシーケンスを異なる方法で行うように構成されてもよいことが理解されよう。例えば、画素予測部は参照フレームパディングとフィルタリングとを逆の順序で行ってもよい。すなわち、参照フレームパディングの前にフィルタリングを行ってもよい。別の例では、画素予測部は、サンプル適用補正値フィルタリングおよびデブロッキングフィルタリング等、2段階でフィルタリングを実行できる。ここで、第1段階は参照フレームパディング前に実施され、第2段階は参照フレームパディング後に実施される。なお、これは非限定的な例であって、画素予測部は別の方法でフィルタリングを実行してもよいことが理解されよう。
第1のエンコーダ部500のフィルタ316からのフィルタリングパラメータは、いくつかの実施形態において、拡張レイヤのフィルタリングパラメータを予測するためのソースとして選択され、示された基本レイヤに対応する第2のエンコーダ部502に提供されてもよい。
予測誤差エンコーダ303、403は、変換部342、442と、量子化部344、444とを有する。変換部342、442は、第1の予測誤差信号320、420を変換領域に変換する。変換とは、例えばDCTである。量子化部344、444は、例えばDCT係数のような変換領域信号を量子化し、量子化係数を形成する。
予測誤差デコーダ304、404は予測誤差エンコーダ303、403からの出力を受信し、予測誤差エンコーダ303、403と逆の処理を行って、復号予測誤差信号338、438を生成する。復号予測誤差信号338、438は第2の加算器339、439において画像ブロック312、412の予測表示と組み合わされて、予備再構成画像314、414が生成される。予測誤差デコーダは、例えばDCT係数のような量子化係数値を逆量子化して、変換信号を再構成する逆量子化部361、461と、再構成変換信号に対して逆変換を実行する逆変換部363、463とを備えると考えられる。逆変換部363、463の出力は再構成ブロック(複数可)を含む。予測誤差デコーダは、さらなる復号情報とフィルタパラメータとに応じて再構成ブロック(複数可)をフィルタリングするブロックフィルタを備えてもよい。
エントロピーエンコーダ330、430は、予測誤差エンコーダ303、403の出力を受信し、適切なエントロピー変換/可変長変換を信号に実行して誤差検出および修正能力を実現する。エントロピーエンコーダ330、430の出力は、マルチプレクサ508によりビットストリームに挿入されてもよい。
図8は、本発明の実施形態の適用に適したビデオデコーダのブロック図を示す。図8は、2レイヤデコーダの構造を示すが、単一レイヤデコーダにもその復号動作が同様に適用できることが理解されよう。
ビデオデコーダ550は、ベースビュー成分用の第1のデコーダ部552と、非ベースビュー成分用の第2のデコーダ部554とを有する。ブロック556は、ベースビュー成分の情報を第1のデコーダ部552に提供し、非ベースビュー成分の情報を第2のデコーダ部554に提供するデマルチプレクサを示す。参照符号P'nは、画像ブロックの予測表示を示す。参照符号D'nは再構成予測誤差信号を示す。ブロック704、804は予備再構成画像(I'n)を示す。参照符号R'nは最終再構成画像を示す。ブロック703、803は逆変換(T−1)を示す。ブロック702、802は逆量子化(Q−1)を示す。ブロック700、800は、エントロピー復号(E−1)を示す。ブロック706、806は参照フレームメモリ(RFM)を示す。ブロック707、807は予測(P)(インター予測、イントラ予測のいずれか)を示す。ブロック708、808はフィルタリング(F)を示す。ブロック709、809は、復号予測誤差情報を予測ベースビュー/非ベースビュー成分に組み合わせて、予備再構成画像(I'n)を取得するために使用できる。第1のデコーダ部552は、予備再構成され、フィルタリングされたベースビュー画像を出力710し、第2のデコーダ部554は、予備再構成され、フィルタリングされたベースビュー画像を出力810してもよい。
ここで、デコーダは復号動作を実行可能なあらゆる動作ユニット(プレーヤ、受信機、ゲートウェイ、デマルチプレクサ、および/またはデコーダ等)を網羅するものと解されるべきである。
エントロピーデコーダ700、800は、受信した信号にエントロピー復号を実行する。したがって、エントロピーデコーダ700、800は、上述のエンコーダ330、430のエントロピーエンコーダとは逆の動作を実行する。エントロピーデコーダ700、800は、予測誤差デコーダ701、801および画素予測部704、804に対してエントロピー復号の結果を出力する。
画素予測部704、804は、エントロピーデコーダ700、800の出力を受信する。エントロピーデコーダ700、800の出力は、現ブロックの符号化で使用される予測モードの標示を含んでもよい。予測部707、807は、この標示から判断されるイントラまたはインター予測を実行し、画像ブロックの予測表示を第1のコンバイナ709、809に出力してもよい。予備再構成画像を生成するため、画像ブロックの予測表示は、再構成予測誤差信号と共に使用される。予備再構成画像は、予測部で使用されてもよいし、参照フレームパディング部711、811に送られてもよい。異なる様々な実施形態に応じて、参照フレームパディング部711、811は、パディングされた参照画像を生成するべく、有効ピクチャエリア外の領域を埋めてもよい。パディングされた参照画像はフィルタ708、808に送られてもよい。フィルタ708、808は、最終再構成信号を出力するようにフィルタをかけてもよい。最終再構成信号は、参照フレームメモリ706、806に記憶されてもよい。参照フレームメモリ706、806は、予測動作のため、さらに予測部707、807に接続されてもよい。
なお、参照フレームパディング部711、811は異なる様々なユニットで動作してもよく、例えばそれは符号化規格であらかじめ定められていてもよいし、デコーダによりビットストリームから復号されてもよいことが理解されよう。ある実施形態では、参照フレームパディング部711、811は予備再構成画像全体を入力とする。別の実施形態では、参照フレームパディング部711、811は予備再構成された構成フレームを入力とし、したがって、予備再構成画像ごとに複数回(含まれる構成フレームの数による)呼び出されてもよい。さらに別の実施形態では、参照フレームパディング部711、811は、予備再構成ブロックと予備再構成ブロックの境界サンプル行を入力とするか(垂直に境界を拡張する場合)、予備再構成ブロックと予備再構成ブロックの境界サンプル列を入力とする(水平に境界を拡張する場合)。
なお、異なる実施形態では、画素予測部704、804はフィルタリングおよびパディングのシーケンスを異なる方法で行うように構成されてもよいことが理解されよう。例えば、画素予測部704、804は参照フレームパディングとフィルタリングとを逆の順序で行ってもよい。すなわち、参照フレームパディングの前にフィルタリングを行ってもよい。別の例では、画素予測部704、804は、サンプル適用補正値フィルタリングおよびデブロッキングフィルタリング等、2段階でフィルタリングを実行できる。ここで、第1段階は参照フレームパディング前に実施され、第2段階は参照フレームパディング後に実施される。なお、これは非限定的な例であって、画素予測部704、804は別の方法でフィルタリングを実行してもよい。
最終再構成信号は出力切取部712、812にも送られてもよい。出力切取部712、812は、以下の一方または両方を実行してもよい(ただしこれに限られない)。すなわち、出力切取部712、812は、示された有効ピクチャエリアあるいは切取窓等に応じて最終再構成画像を切り取ってもよい。出力切取部712、812は、(境界拡張部において)有効ピクチャエリア外のサンプル値を、例えば黒色を表す所定値に設定してもよい。
出力切取部712、812は、出力画像を出力として提供してもよい。出力切取部712、812は、さらに出力画像と共に有効ピクチャエリア(複数可)を示してもよい。
予測誤差デコーダ701、801はエントロピーデコーダ700、800の出力を受信する。予測誤差デコーダの逆量子化部702、802は、エントロピーデコーダの出力を逆量子化し、逆変換ブロック703、803は逆量子化部702、802による逆量子化信号出力に対して逆変換動作を実行してもよい。これに加えて、またはこれに代えて、予測誤差デコーダ701、801は変換バイパスデコーダを備えてもよい。ここで、サンプル値は逆変換動作を経ずに復号され、例えば差分サンプル値復号で復号される。エントロピーデコーダ700、800の出力は、予測誤差信号が適用しないことを示してもよい。その場合、予測誤差デコーダ701、801はすべて0の出力信号を生成してもよい。
以下に、エンコーダにおけるフィルタに適用しうる変形の例をいくつか示す。
フィルタパラメータ値を判定する場合、エンコーダは、検討対象として有効ピクチャエリア内のサンプルを含んでもよく、有効ピクチャエリア外のサンプルを検討対象から外してもよい。例えば、SAOパラメータ値は、有効ピクチャエリア内のサンプル値のみを検討することで得られてもよい。
境界拡張部領域内のブロックを扱うために、エンコーダは以下の内の1つ以上を実行してもよい。
・エンコーダは、有効ピクチャエリア外のブロックの符号化を省略してもよい。ここで、ブロックは例えば符号化ツリー単位および/または符号化単位であってもよい。
・有効ピクチャエリア外のブロックのサンプルを使用したイントラ予測およびフィルタリングを不能としてもよい。
・エンコーダは、有効ピクチャエリアに基づいてブロックパーティショニングを判断してもよい。完全に有効ピクチャエリア外のブロックがパーティショニングされないと判定されてもよい。
・エンコーダは、有効ピクチャエリアに基づいてモードを選択してもよい。完全に有効ピクチャエリア外のブロックは特定のモードで符号化されると判定されてもよい。この特定のモードは、小ビットレートを実現することに基づいて、あらかじめ定められてもよい。
・例えば、エンコーダは最確イントラモード(エントロピーエンコーダが判定)を選択してもよい。
・エンコーダはさらに、完全に有効ピクチャエリア外のブロックに対しては予測誤差符号化を省略してもよい。
・エンコーダは、完全に有効ピクチャエリア外のブロックに対しては、ビットストリーム内に予測誤差が存在しないことを示してもよい。
同様に、デコーダは以下の内の1つ以上を実行してもよい。
・デコーダは、有効ピクチャエリア外のブロックの復号を省略してもよい。ここで、ブロックは例えば符号化ツリー単位および/または符号化単位であってもよい。有効ピクチャエリア外のブロックに対するビットストリームにシンタックス要素が存在せず、デコーダが次の符号化データに対応するブロック位置を追跡する場合もある。有効ピクチャエリア外のブロックは、有効ピクチャエリア内に一部または全部含まれるブロックと同じシンタックスを利用し、デコーダはブロックをエントロピー復号し、当該ブロックに対する予測誤差復号および画素予測を省略する場合もある。
・デコーダは、有効ピクチャエリア外のブロックのサンプルを使用したイントラ予測およびフィルタリングを不能としてもよい。
・デコーダは、有効ピクチャエリアに基づいてブロックパーティショニングを判断してもよい。完全に有効ピクチャエリア外のブロックがパーティショニングされないと判定されてもよい。完全に有効ピクチャエリア外のブロックのブロックパーティショニングに対するビットストリームにシンタックス要素が存在しない場合もある。
・デコーダは、有効ピクチャエリアに基づいてモードを選択してもよい。完全に有効ピクチャエリア外のブロックは特定のモードで復号されると判定されてもよい。この特定のモードは、例えば符号化規格において、あらかじめ定められてもよい。
・例えば、デコーダは最確イントラモード(エントロピーデコーダが判定)を選択してもよい。
・デコーダはさらに、完全に有効ピクチャエリア外のブロックに対しては予測誤差復号を省略してもよい。完全に有効ピクチャエリア外の予測誤差ブロックに対するビットストリームにシンタックス要素が存在しない場合もある。
実施形態が適用可能なシステムまたは方法の例として、H.265/HEVCの動き予測を説明する。
H.265/HEVCは、2つの動きベクトル予測方式を含む。すなわち、高度な動きベクトル予測(AMVP)とマージモードである。AMVPまたはマージモードにおいて、動きベクトル候補リストがPUに対して得られる。候補には空間的候補と時間的候補の2種類がある。時間的候補ともTMVP候補とも称されてもよい。図6cおよび6dに、候補動きベクトル予測部のソースを示す。Xは現予測単位を示す。図6cのA0、A1、B0、B1、B2は空間的候補で、図6dのC0、C1は時間的候補である。図6dのC0またはC1を含むまたはそれらに対応するブロックは、時間的候補のソースによらず、並置されたブロックと称されてもよい。
候補リストは以下のとおりに取得されてもよい。ただし、候補リストを取得する方法がこれ以外にもありうることが理解されよう。候補リストがまだ完全に埋まっていない場合、空間的候補は第一に利用可能で、かつ候補リスト内に存在しない場合に、候補リストに加えられる。その後、まだ候補リストが完全に埋まっていなければ、時間的候補が候補リストに含まれる。それでも候補数が最大許容量に達していなければ、双方向予測候補(Bスライスに対する)の組合せと、ゼロ動きベクトルが加えられる。候補リストの構築後、エンコーダは、候補から最終動き情報を、例えばレート歪み最適化(RDO)による判断に基づいて決定し、選択候補のインデックスをビットストリームに符号化する。同様に、デコーダは、ビットストリームから選択候補のインデックスを復号し、候補リストを構築し、復号インデックスを使用して候補リストから動きベクトル予測部を選択する。
H.265/HEVCにおいて、AMVPおよびマージモードは、以下のように特徴付けられてもよい。AMVPでは、エンコーダは単方向予測または双方向予測が使用されているか、どの参照ピクチャが使用されているかを示し、動きベクトル差を符号化する。マージモードにおいては、候補リストから選択された候補のみがビットストリームに符号化され、現予測単位が示された予測部と同じ動き情報を持つことを示す。したがって、マージモードでは同一の動き情報を共有する互いに隣接する予測ブロックを含む領域が生成される。動き情報は、各領域に対して一度のみシグナリングされる。H.265/HEVCのAMVPとマージモードとのさらなる違いとして、AMVPでは最大候補数が2であるのに対し、マージモードでは5であることが挙げられる。
高度な動きベクトル予測は例えば以下のとおりに動作してもよい。ただし、例えば異なる候補位置群、候補位置群を含む候補箇所により、以下とは異なるが同様の高度な動きベクトル予測を実現してもよい。2つの空間動きベクトル予測部(MVP)を取得し、時間動きベクトル予測部(TMVP)を取得してもよい。これらは現予測ブロックの上側の3つの空間動きベクトル予測部候補位置(B0、B1、B2)、左側の2つの位置(A0、A1)から選択してもよい。各候補位置群の所定の順序で、(例えば同一のスライスに存在、インター符号化等)利用可能な第1の動きベクトル予測部(B0、B1、B2)または(A0、A1)は、動きベクトル競合においてその予測方向(上または左)を示すように選択できる。時間動きベクトル予測部に対する参照インデックスは、エンコーダにより、スライスヘッダ(例えば、シンタックス要素collocated_ref_idx)において示される。潜在的時間候補位置の所定の順序で、(例えば、インター符号化)利用可能な第1の動きベクトル予測部は、例えば(C0、C1)の順で、時間動きベクトル予測部のソースとして選択されてもよい。並置されたピクチャにおける第1の利用可能候補位置から得られた動きベクトルは、時間動きベクトル予測部の参照ピクチャ、並置されたピクチャ、現ピクチャのピクチャ順序カウント差の割合に応じて、スケーリングされてもよい。さらに、候補間で冗長検査をかけて、同一候補を除いてもよい。これにより、候補リスト内に動きベクトルが含まれなくなる可能性もある。例えば空間動きベクトル予測部の方向(上または左)を示すこと、または時間動きベクトル予測部候補を選択することで、ビットストリーム内で動きベクトル予測部を示すことができる。並置されたピクチャは、並置ピクチャ、動きベクトル予測のためのソース、または動きベクトル予測のためのソースピクチャとも称されうる。
マージング/マージモード/処理/機構は以下のとおりに動作してもよい。ただし、例えば異なる候補位置群、候補位置群を含む候補箇所により、以下とは異なるが同様なマージモードも実現できる。
マージング/マージモード/処理/機構においては、ブロック/PUのすべての動き情報が予測され、変形/修正なく使用される。PUの上述の動き情報は以下のものの1つ以上を含みうる。
(1)PUが参照ピクチャリスト0'のみを使用した単方向予測であるか、参照ピクチャリスト1'のみを使用した単方向予測であるか、参照ピクチャリスト0と1'の両方を使用した双方向予測であるかを示す情報。
(2)水平および垂直動きベクトル成分を含みうる、参照ピクチャリスト0に対応する動きベクトル値。
(3)参照ピクチャリスト0における参照ピクチャインデックスおよび/または参照ピクチャリスト0に対応する動きベクトルが示す参照ピクチャの識別子。ここで、参照ピクチャの識別子はピクチャ順序カウント値、レイヤ識別子値(インターレイヤ予測用)、またはピクチャ順序カウント値およびレイヤ識別子値の組であってもよい。
(4)参照ピクチャの参照ピクチャマーキングについての情報。例えば、参照ピクチャが「短期参照用」または「長期参照用」とマーキングされているかについての情報。
(5)〜(7)参照ピクチャリスト1を対象として、(2)〜(4)と同様。
同様に、時間参照ピクチャにおける隣接ブロックおよび/または並置されたブロックの動き情報を使用して動き情報の予測が実行される。多くの場合マージリストと呼ばれるリストは、利用可能な隣接ブロックおよび/または並置されたブロックに関連する動き予測候補とを含んで構築され、リスト内の選択された動き予測候補のインデックスがシグナリングされ、選択された候補の動き情報が現PUの動き情報にコピーされる。CU全体にマージ機構が使用され、CUに対する予測信号が再構成信号として利用される場合、すなわち、予測残差が処理されないようなCUの符号化/復号は、典型的にはスキップモードまたはマージベーススキップモードと称される。スキップモードに加え、マージ機構も各PUに使用されてもよい(スキップモードのようにCU全体に限られない)。その場合、予測残差を利用して、予測品質の向上が図られる。この種の予測モードは、典型的にはインターマージモードと呼ばれる。
AMVPまたは同様の動きベクトル候補リストに対するマージリストおよび/または候補リストの一つが、TMVP候補等であってもよい。TMVP候補は標示または推定参照ピクチャ(例えばスライスヘッダで示される参照ピクチャ)内の並置されたブロックから導き出されうる。HEVCにおいては、並置された区域を得るための参照ピクチャリストが、スライスヘッダ内のシンタックス要素collocated_from_l0_flagに応じて選択される。フラグが1であれば、並置された区域を含むピクチャがリスト0から導き出されることを示す。それ以外の場合、ピクチャはリスト1から導き出される。collocated_from_l0_flagが存在しなければ、1と推定される。スライスヘッダのcollocated_ref_idxは、並置された区域含むピクチャの参照インデックスを特定する。現スライスがPスライスであれば、collocated_ref_idxはリスト0内のピクチャを示す。現スライスがBスライスであり、collocated_from_l0が1であれば、collocated_ref_idxはリスト0内のピクチャを示す。それ以外の場合は、リスト1内のピクチャを示す。collocated_ref_idxは常に有効リストエントリを示し、得られるピクチャは符号化ピクチャのすべてのスライスについて同じである。collocated_ref_idxが存在しなければ、0に等しいとされる。
HEVCにおいては、マージリストにおける時間動きベクトル予測に対するいわゆる対象参照インデックスは、動き符号化モードがマージモードであれば、0に設定される。HEVCにおける、時間動きベクトル予測を使用した動き符号化モードが高度な動きベクトル予測モードであれば、対象参照インデックス値が明確に示される(例えばPUごとに示される)。
HEVCにおいては、候補予測動きベクトル(PMV)の利用可能性は、空間および時間的候補の両方について以下のとおりに判定される。なお、SRTPは短期参照ピクチャであり、LRTPは長期参照ピクチャである。
HEVCにおいては、対象参照インデックス値が決まれば、時間動きベクトル予測の動きベクトル値は以下のとおりに得られる。現予測単位の、右下隣に並置されたブロック(図6dにおける箇所C0)での動きベクトルPMVが得られる。並置されたブロックが存在するピクチャは、例えば上述のようにスライスヘッダ内でシグナリングされた参照インデックスに応じて判定される。箇所C0におけるPMVが利用可能でなければ、並置されたピクチャの箇所C1(図6d参照)での動きベクトルPMVが得られる。このように判定された、並置されたブロックでの利用可能な動きベクトルPMVは、第1のピクチャ順序カウント差と、第2のピクチャ順序カウント差との比率に応じてスケーリングされる。第1のピクチャ順序カウント差は、並置されたブロックを含むピクチャと、並置されたブロックの動きベクトルの参照ピクチャとの間で得られる。第2のピクチャ順序カウント差は、現ピクチャと対象参照ピクチャとの間で得られる。並置されたブロックの動きベクトルの対象参照ピクチャと参照ピクチャの一方のみが長期参照ピクチャ(他方が短期参照ピクチャ)であれば、TMVP候補は利用不可能とみなされる。並置されたブロックの動きベクトルの対象参照ピクチャと参照ピクチャの両方が長期参照ピクチャであれば、POCに基づく動きベクトルスケーリングは適用できない。
動きパラメータの種類または動き情報は、以下の種類の内の1つ以上を含むが、これらに限られない。
・予測種類(例えばイントラ予測、単方向予測、双方向予測)および/または参照ピクチャ数の標示
・インター(すなわち時間)予測、インターレイヤ予測、インタービュー予測、ビュー合成予測(View Synthesis Prediction:VSP)、インター成分予測(参照ピクチャおよび/または予測種類ごとに示され、いくつかの実施形態ではインタービューおよびビュー合成予測は、合わせて一つの予測方向ととらえられる)等の予測方向を示す標示
・短期参照ピクチャおよび/または長期参照ピクチャおよび/またはインターレイヤ参照ピクチャのような、参照ピクチャ種類の標示(例えば参照ピクチャごとに示されうる)
・参照ピクチャリストに対する参照インデックスおよび/または参照ピクチャのその他任意の識別子(例えば、参照ピクチャごとに示され、予測方向に応じてもよい種類、および/または参照ピクチャ種類、および参照インデックスが適用される参照ピクチャリスト等のその他関連情報を含んでもよい)
・水平動きベクトル成分(予測ブロック、参照インデックス等ごとに示されてもよい)
・垂直動きベクトル成分(予測ブロック、参照インデックス等ごとに示されてもよい)
・1つ以上の動きベクトル予測処理における水平動きベクトル成分および/または垂直動きベクトル成分のスケーリングに使用されてもよい、動きパラメータを含む、またはこれに対応するピクチャと、その参照ピクチャとの間のピクチャ順序カウント差および/または相対的カメラ分離等の1つ以上のパラメータ(ここで、当該1つ以上のパラメータは、例えば各参照ピクチャまたは参照インデックス等ごとに示されうる)
・動きパラメータおよび/または動き情報が適用されるブロックの座標。例えば、輝度サンプル単位内のブロックの左上サンプルの座標
・動きパラメータおよび/または動き情報が適用されるブロックの規模(例えば幅および高さ)
概して、例として上述された動きベクトル予測機構等の動きベクトル予測機構は、所与のあらかじめ定義されたまたは示された動きパラメータの予測またはその継承を含んでもよい。
ピクチャに対応付けられる動きフィールドが、そのピクチャのすべての符号化ブロックに対して生成される動き情報群を含むと考えられてもよい。例えば、ブロックの座標により、動きフィールドはアクセス可能でありうる。例えば、現符号化/復号ピクチャと異なる予測用のソースまたは参照が使用されるTMVPまたはその他あらゆる動き予測機構において、動きフィールドが使用されてもよい。
動きフィールドを表す、および/または記憶するために、異なる様々な空間粒度または単位を適用できる。例えば、規則的な格子の空間単位を使用してもよい。例えば、ピクチャは所定サイズの四角形ブロックに分割されてもよい(右端および下端上等の、ピクチャの端におけるブロックは例外としてもよい)。例えば、空間単位のサイズは、ビットストリームにおいてエンコーダが明確な動きを示すことができる最小サイズであってもよい。すなわち、輝度サンプル単位における4x4ブロック等である。例えば、空間単位があらかじめ定義されたまたは示されたサイズの、いわゆる圧縮動きフィールドを使用してもよい。当該サイズとしては、輝度サンプル単位における16x16ブロック等であるが、明確な動きを示すために、より大きくしてもよい。例えば、HEVCエンコーダおよび/またはデコーダは、各復号動きフィールドに対して、動きデータストレージ削減(MDSR)または動きフィールド圧縮が実行されるように実施されてもよい(ピクチャ間のあらゆる予測に対して動きフィールドを使用する前)。HEVCを実施する際、MDSRで動きデータの粒度を、輝度サンプル単位における16x16ブロックに削減してもよい。すなわち、圧縮動きフィールドにおける16x16ブロックの左上サンプルに適用可能な動きを維持してもよい。エンコーダは、圧縮動きフィールドの空間単位に関する標示(複数可)を、例えばビデオパラメータセットまたはシーケンスパラメータセット等のシーケンスレベルシンタックス構造における1つ以上のシンタックス要素および/またはシンタックス要素値として符号化してもよい。いくつかの符号化/復号方法および/または装置においては、(例えば、HEVC規格の予測単位に応じて)動きフィールドは動き予測のブロックパーティショニングに応じて表示および/または記憶されてもよい。いくつかの符号化/復号方法および/または装置においては、規則的な格子およびブロックパーティショニングの組合せを適用して、あらかじめ定義されたまたは示された空間単位よりも大きい区域に関連する動きが、当該区域に対応して表示および/または記憶してもよい。ここで、あらかじめ定義されたまたは示された空間単位サイズまたは格子よりも小さいまたは合わないような区域に関連する動きが、あらかじめ定義されたまたは示されるユニットに対して表示および/または記憶される。
HEVCのスケーラブルビデオの符号化(SHVC)拡張により、レイヤ間冗長性を使用して、空間的、ビット深度、色域、品質スケーラビリティのための機構が提供される。HEVCのマルチビュー拡張(MV−HEVC)により、例えば立体視表示に適したマルチビュービデオデータの符号化が可能となる。MV−HEVCでは、符号化用の入力マルチビュービデオシーケンスは通常、一列に並んだ多数のカメラで撮像される。通常、カメラ投影中心は直線状で、通常同一方向を向くカメラ間で等距離となる。SHVCとMV−HEVCとは、同じ高レベルシンタックスを共有し、その復号処理も大部分で共通している。したがって、同一のコーデックの実施でSHVCおよびMV−HEVCの両方に対応できる点で魅力的である。
SHVCとMV−HEVCは、2種類のインターレイヤ予測(すなわち、サンプル予測および動き予測)を可能とする。インターレイヤサンプル予測において、インターレイヤ参照(ILR)ピクチャを使用して予測ブロックのサンプル値が得られる。MV−HEVCにおいて、復号基本レイヤピクチャは、変形されず、ILRピクチャとなる。SHVCの空間および色域スケーラビリティにおいて、リサンプリング等のインターレイヤ処理が復号基本レイヤピクチャに適用されて、ILRピクチャが得られる。SHVCのリサンプリング処理において、基本レイヤピクチャは切り取られたり、アップサンプリングされたり、さらに/あるいはパディングされてILRピクチャが得られる。アップサンプリングされた基本レイヤピクチャの、拡張レイヤピクチャに対する相対位置は、いわゆる参照レイヤ位置補正値を通じて示される。この特徴により、拡張レイヤピクチャにおいて基本レイヤのピクチャ領域のサブセットのみ拡張される、関心領域(ROI)スケーラビリティが可能となる。
インターレイヤ動き予測は、HEVCの時間動きベクトル予測(Temporal Motion Vector Prediction:TMVP)機構を利用する。ILRピクチャは、TMVPの並置されたピクチャとして割り当てられ、したがって動きベクトル予測処理におけるTMVP候補のソースとなる。SHVCの空間スケーラビリティにおいて、ILRピクチャの動き情報を基本レイヤピクチャの動き情報から取得するために、動きフィールドマッピング(MFM)を利用する。MFMにおいて、基本レイヤピクチャの予測依存性を複製して、ILRピクチャの参照ピクチャリスト(複数可)が生成されると考えられる。特定のブロック格子(例えば、HEVCにおける16x16格子)のリマッピングされた動きフィールドの各ブロックについて、インターレイヤ予測のためのソースピクチャにおける並置されたサンプル位置が得られる。例えば、参照サンプル位置は、ブロックの最も中心側サンプルについて得られる。参照サンプル位置を得るにあたって、リサンプリング率、参照領域、リサンプリングされた参照領域を考慮してもよい。これについては、リサンプリング率、参照領域、リサンプリングされた参照領域についての、後述の定義を参照されたい。さらに、インターレイヤ予測において、参照サンプル位置の先端や後端を切り取って、参照領域またはソースピクチャの動きフィールドのブロック格子に合わせてもよい。参照サンプル位置に対応する動きベクトルは、インターレイヤ予測に対する参照領域またはソースピクチャの動きフィールドから得られる。この動きベクトルは、リサンプリング比に応じて再スケーリングされて、リマッピング動きフィールドに含まれる。その後、リマッピングされた動きフィールドは、TMVPのソース等に使用できる。一方、MV−HEVCにおいて、MFMはインターレイヤ動き処理中に参照されるベースビューピクチャに適用されない。
参照レイヤピクチャと拡張レイヤピクチャとの空間的対応は、1種類以上のいわゆる参照レイヤ位置補正値に応じて推定または標示されてもよい。HEVCにおいては、参照レイヤ位置補正値はエンコーダによりPPSに含まれてもよく、デコーダによりPPSから復号されてもよい。参照レイヤ位置補正値は、関心領域(ROI)スケーラビリティの実現に使用されてもよいが、これに限られるものではない。参照レイヤ位置補正値は、スケーリングされた参照レイヤ補正値、参照領域補正値、リサンプピングフェーズ群の内の1つ以上を含んでもよい。スケーリングされた参照レイヤ補正値は、参照レイヤにおける復号ピクチャ内の参照領域の左上輝度サンプルと並置された、現ピクチャにおけるサンプルの水平および垂直補正値を特定し、参照レイヤにおける復号ピクチャ内の参照領域の右下輝度サンプルと並置された、現ピクチャにおけるサンプルの水平および垂直補正値を特定するものと考えられる。あるいは、スケーリングされた参照レイヤ補正値が、拡張レイヤピクチャの各角サンプルに対する、アップサンプリングされた参照領域(または、リサンプリングされた参照領域と称することがより一般的でありうる)の角サンプルの位置を特定するものとも考えられる。スケーリングされた参照レイヤ補正値は、スケーリングされた参照レイヤピクチャのスケーリングされた参照領域に対する、現レイヤピクチャ(参照レイヤ位置補正値が示された)の空間的対応を指定するものとも考えられる。スケーリングされた参照レイヤ補正値は署名されていてもよい。スケーリングされた参照レイヤ補正値が負の値であれば、参照レイヤ位置補正値が指定されたピクチャは参照レイヤピクチャの切取領域に対応する。参照領域補正値は、参照レイヤにおける復号ピクチャ内の参照領域の左上輝度サンプルと、同じ復号ピクチャの左上輝度サンプルとの間の水平および垂直補正値を特定し、参照レイヤにおける復号ピクチャ内の参照領域の右下輝度サンプルと、同じ復号ピクチャの右下輝度サンプルとの間の水平および垂直補正値を特定するものと考えられる。参照領域補正値は、参照レイヤピクチャ内の参照領域の、復号参照レイヤピクチャに対する空間的対応を特定するものと考えられる。参照領域補正値は署名されていてもよい。参照領域補正値が負の値であれば、参照レイヤピクチャは参照レイヤ位置補正値が示されたピクチャの切取領域に対応する。リサンプリングフェーズセットは、インターレイヤ予測のソースピクチャのリサンプリング処理に使用されるフェーズ補正値を特定するものと考えられる。輝度成分およびクロマ成分にはそれぞれ異なるフェーズ補正値が提供されてもよい。
スケーラブルビデオの符号化方式によっては、アクセス単位内のすべてのピクチャがIRAPピクチャとなるように、またはアクセス単位内のいずれのピクチャもIRAPピクチャではなくなるように、レイヤ間でIRAPピクチャを整合することが求められる場合がある。HEVCのマルチレイヤ拡張等のその他のスケーラブルビデオの符号化方式では、IRAPピクチャが不整合な場合を許容しうる。すなわち、アクセス単位内の1つ以上のピクチャがIRAPピクチャであり、アクセス単位内の1つ以上の別のピクチャがIRAPピクチャではなくてもよい。レイヤ間で整合されていないIRAPピクチャ等のスケーラブルビットストリームにより、例えば、基本レイヤ内にIRAPピクチャがより頻繁に出現するようにしてもよい。この場合、例えば空間解像度が小さいことから、符号化されたサイズがより小さくなるものであってもよい。復号のレイヤごとのスタートアップのための処理または機構が、ビデオ復号方式に含まれていてもよい。この場合、基本レイヤがIRAPピクチャを含むとデコーダがビットストリームの復号を開始し、その他のレイヤがIRAPピクチャを含むとこれらのレイヤの復号を段階的に開始する。換言すれば、復号機構または復号処理のレイヤごとのスタートアップにおいては、追加の拡張レイヤからの後続のピクチャが復号処理において復号されるにつれて、デコーダは復号されたレイヤの数を徐々に増やし(ここで、レイヤは、空間解像度、品質レベル、ビュー、さらに深度等の追加の成分やこれらの組合せの拡張を表してもよい)。復号されたレイヤの数が徐々に増えることは、例えばピクチャ品質(品質および空間スケーラビリティの場合)が徐々に向上することであると考えられる。
レイヤごとのスタートアップ機構によって、特定の拡張レイヤにおいて復号順で最初のピクチャの参照ピクチャに対して利用不可のピクチャが生成されてもよい。あるいは、デコーダは、レイヤの復号が開始されうるIRAPピクチャに復号順で前のピクチャの復号を省略してもよい。これらの省略されうるピクチャは、エンコーダやビットストリーム内のその他のエンティティによって、特定可能となるようにラベル付けされていてもよい。例えば、1つ以上の特定のNAL単位の種類をこの目的で使用してもよい。これらのピクチャは、NAL単位の種類によって特定可能となるようにラベル付けされているか否か、または例えばデコーダによって推定されているか否かにかかわらず、クロスレイヤランダムアクセススキップ(CL−RAS)ピクチャと呼ばれてもよい。デコーダは、生成された利用不可のピクチャおよび復号されたCL−RASピクチャの出力を省略してもよい。
スケーラビリティは、2つの基本的な方法で利用可能となる。その1つは、スケーラブル表現の下位レイヤからの画素値またはシンタックスを予測するために新たな符号化モードを導入することであり、もう1つは、より高位のレイヤの参照ピクチャバッファ(例えば、復号ピクチャバッファ(DPB))に下位レイヤピクチャを配置することである。1つ目の方法は、より柔軟性が高く、多くの場合、符号化効率に優れる。ただし、参照フレームに基づくスケーラビリティという2つ目の方法は、可能な符号化効率上昇をほぼ完全に維持したまま、単一のレイヤコーデックに対する変化を最小に抑えて効率的に実行できる。基本的に、参照フレームに基づくスケーラビリティコーデックは、すべてのレイヤに対して同一のハードウェまたはソフトウェアを実行して実現でき、DPB管理は外部手段に任せてもよい。
品質スケーラビリティ(信号対ノイズ比(SNR)とも呼ばれる)および/または空間スケーラビリティに対するスケーラブルビデオエンコーダは、以下のように実現してもよい。基本レイヤについては、従来の非スケーラブルビデオエンコーダおよびデコーダを利用できる。拡張レイヤ用の参照ピクチャバッファおよび/または参照ピクチャリストには、基本レイヤの再構成/復号ピクチャが含まれる。空間スケーラビリティの場合、拡張レイヤピクチャの参照ピクチャリストへの挿入前に、再構成/復号された基本レイヤピクチャをアップサンプリングしてもよい。基本レイヤ復号ピクチャは、拡張レイヤの復号参照ピクチャの場合と同様に、拡張レイヤピクチャの符号化/復号のために参照ピクチャリスト(複数可)に挿入されてもよい。これにより、エンコーダはインター予測の参照として基本レイヤ参照ピクチャを選択して、それが使用されることを符号化ビットストリーム内の参照ピクチャインデックスで示してもよい。デコーダは、拡張レイヤは、拡張レイヤのインター予測の参照用に基本レイヤピクチャが使用されていることを、例えばビットストリームの参照ピクチャインデックスから復号する。拡張レイヤの予測の参照に使用される復号基本レイヤピクチャは、インターレイヤ参照ピクチャと呼ばれる。
前段落では拡張レイヤおよび基本レイヤの2つのスケーラビリティレイヤを有するスケーラブルビデオコーデックが説明されたが、その説明は、3つ以上のレイヤを有するスケーラビリティ階層の任意の2つのレイヤにも適用できることが理解されよう。この場合、符号化および/または復号処理において、第2の拡張レイヤは第1の拡張レイヤに左右されるため、第1の拡張レイヤは第2の拡張レイヤの符号化および/または復号における基本レイヤとみなすことができる。さらに、拡張レイヤの参照ピクチャバッファまたは参照ピクチャリスト内の2つ以上のレイヤからインターレイヤ参照ピクチャが得られることが理解されよう。これらインターレイヤ参照ピクチャはそれぞれ、符号化および/または復号されている拡張レイヤの基本レイヤまたは参照レイヤに存在するものと考えられる。参照レイヤピクチャアップサンプリングに加えてまたは代えて、それとは別種のインターレイヤ処理が実行されてもよいことが理解されよう。例えば、参照レイヤピクチャのサンプルのビット深度を拡張レイヤのビット深度に変換したり、サンプル値を参照レイヤの色空間から拡張レイヤの色空間にマッピングしたりしてもよい。
スケーラブルビデオの符号化および/または復号方式は、以下の特徴を有するマルチループ符号化および/または復号を利用してもよい。符号化/復号において、基本レイヤピクチャを再構成/復号して、同一のレイヤ内で符号化/復号順における後続のピクチャ用の動き補償参照ピクチャ、またはインターレイヤ(またはインタービューまたはインター成分)予測の参照に利用してもよい。再構成/復号された基本レイヤピクチャは、DPBに保存されてもよい。同様に、拡張レイヤピクチャを再構成/復号し、同一のレイヤ内で符号化/復号順における後続のピクチャ用の動き補償参照ピクチャ、または存在する場合、より高位の拡張レイヤに対するインターレイヤ(またはインタービューまたはインター成分)予測の参照に利用されてもよい。再構成/復号サンプル値に加えて、基本/参照レイヤのシンタックス要素値または基本/参照レイヤのシンタックス要素値から求めた変数をインターレイヤ/インター成分/インタービュー予測に利用してもよい。
インターレイヤ予測は、現ピクチャ(符号化または復号されている)のレイヤとは異なるレイヤからの参照ピクチャのデータ要素(例えば、サンプル値または動きベクトル)に応じた予測として定義できる。スケーラブルビデオエンコーダ/デコーダに適用できるインターレイヤ予測は多岐にわたる。利用可能なインターレイヤ予測の種類は、例えばビットストリームまたはビットストリーム内の特定のレイヤが符号化される符号化プロファイル、または復号の際にビットストリームまたはビットストリーム内の特定のレイヤが従う符号化プロファイルに基づいてもよい。これに加えて、またはこれに代えて、利用可能なインターレイヤ予測の種類は、スケーラビリティの種類、スケーラブルコーデックまたは使用されるビデオの符号化規格改定の種類(例えばSHVC、MV−HEVC、または3D−HEVC)に応じたものであってもよい。
インターレイヤ予測の種類は、インターレイヤサンプル予測、インターレイヤ動き予測、インターレイヤ残差予測の1つまたは複数を含むがこれに限定されない。インターレイヤサンプル予測では、少なくともインターレイヤ予測用のソースピクチャの再構成サンプル値のサブセットが現ピクチャのサンプル値を予測するための参照に使用される。インターレイヤ動き予測においては、少なくともインターレイヤ予測用のソースピクチャの動きベクトルのサブセットが現ピクチャの動きベクトル予測の参照に使用される。通常、参照ピクチャが動きベクトルに関連する予測情報も、インターレイヤ動き予測に含まれる。例えば、動きベクトル用の参照ピクチャの参照インデックスは、インターレイヤ予測され、さらに/あるいはピクチャ順序カウントまたはその他任意の参照ピクチャの識別がインターレイヤ予測されてもよい。場合によっては、インターレイヤ動き予測はさらにブロック符号化モード、ヘッダ情報、ブロックパーティショニング、および/またはその他同様のパラメータの予測を含んでもよい。場合によっては、ブロックパーティショニングのインターレイヤ予測のような符号化パラメータ予測は、別種のインターレイヤ予測としてみなされてもよい。インターレイヤ残差予測では、インターレイヤ予測用のソースピクチャの選択ブロックの予測誤差または残差を利用して、現ピクチャが予測される。3D−HEVCのようなマルチビュー+深度符号化では、成分交差的なインターレイヤ予測が適用されてもよい。当該予測では、深度ピクチャのような第1の種類のピクチャが、従来のテクスチャピクチャのような第2の種類のピクチャのインターレイヤ予測に影響を及ぼしうる。例えば、格差補償インターレイヤサンプル値および/または動き予測を適用してもよい。ここで、格差は少なくとも部分的に深度ピクチャから導出されてもよい。
直接参照レイヤは、直接参照レイヤとなる別のレイヤのインターレイヤ予測に使用できるレイヤとして定義できる。直接予測されたレイヤは、別のレイヤが直接参照レイヤとなるレイヤとして定義できる。間接参照レイヤは、第2のレイヤの直接参照レイヤではないが、第3のレイヤの直接参照レイヤとして定義できる。この第3のレイヤは、間接参照レイヤである第2のレイヤの直接参照レイヤまたはその直接参照レイヤの間接参照レイヤである。間接的に予測されたレイヤは、別のレイヤが間接参照レイヤとなるレイヤとして定義できる。独立レイヤは、直接参照レイヤを伴わないレイヤとして定義できる。換言すれば、独立レイヤはインターレイヤ予測により予測されていない。非基本レイヤは、基本レイヤ以外の任意のレイヤとして定義できる。基本レイヤはビットストリーム内の最下レイヤとして定義できる。独立非基本レイヤは、独立レイヤであり非基本レイヤであるレイヤとして定義できる。
インターレイヤ予測用のソースピクチャは、インターレイヤ参照ピクチャである、またはそれを導出するために使用される復号ピクチャとして定義できる。インターレイヤ参照ピクチャは、現ピクチャの予測用の参照ピクチャとして使用できる。マルチレイヤHEVC拡張版では、インターレイヤ参照ピクチャが現ピクチャのインターレイヤ参照ピクチャセットに含まれる。インターレイヤ参照ピクチャは、現ピクチャのインターレイヤ予測に使用できる参照ピクチャとして定義できる。符号化および/または復号処理では、インターレイヤ参照ピクチャを長期参照ピクチャとして扱ってもよい。
インターレイヤ予測用のソースピクチャは、現ピクチャと同一のアクセス単位にあることが求められる。場合によっては、例えば再サンプリング、動きフィールドマッピング、またはその他のインターレイヤ処理が不要であれば、インターレイヤ予測用のソースピクチャと各インターレイヤ参照ピクチャは同一であってもよい。場合によっては、例えば再サンプリングにより参照レイヤのサンプリンググリッドを現ピクチャ(符号化または複号されている)のレイヤのサンプリンググリッドに合わせる必要があれば、インターレイヤ予測用のソースピクチャからインターレイヤ参照ピクチャを導出するように、インターレイヤ処理が適用される。当該インターレイヤ処理の例を以下の数段落に示す。
インターレイヤサンプル予測は、インターレイヤ予測用のソースピクチャのサンプル配列(複数可)の再サンプリングを含んでもよい。エンコーダおよび/またはデコーダは、拡張レイヤおよびその参照レイヤの対に対する水平倍率(例えば変数倍率Xに記憶される)および垂直倍率(例えば変数倍率Yに記憶される)を、例えば当該対に対する参照レイヤ位置補正値に基づいて導出してもよい。少なくともいずれか一方の倍率が1でなければ、インターレイヤ予測用のソースピクチャを再サンプリングして、拡張レイヤピクチャ予測のためのインターレイヤ参照ピクチャを生成してもよい。再サンプリングに使用する処理および/またはフィルタは、例えば符号化規格で事前に定義されてもよく、ビットストリーム内のエンコーダによって(例えば、事前に定義された再サンプリング処理またはフィルタ間のインデックスとして)示されてもよく、デコーダによってビットストリームから復号されてもよい。倍率の値に応じて、異なる再サンプリング処理が、エンコーダによって示されてもよく、デコーダによって復号されてもよく、エンコーダおよび/またはデコーダによって推測されてもよい。例えば、両方の倍率が1未満であれば、事前に定義されたダウンサンプリング処理が推測されてもよい。いずれの倍率も1より大きい場合、事前に定義されたアップサンプリング処理が推測されてもよい。これに加えて、またはこれに代えて、処理されるサンプル配列に応じて、異なる再サンプリング処理がエンコーダによって示されてもよく、デコーダによって復号されてもよく、エンコーダおよび/またはデコーダによって推測されてもよい。例えば、第1の再サンプリング処理が輝度サンプル配列に利用されるものと推測され、第2の再サンプリング処理がクロマサンプル配列に利用されるものと推測されてもよい。
SHVCは、(限定的ではないが)色域スケーラビリティに対する3Dルックアップテーブル(LUT)に基づく重み付け予測またはカラーマッピング処理を可能とする。3DのLUT手法は以下に説明するとおりである。各色成分のサンプル値範囲はまず2つの範囲に分割し、最大2×2×2の八分円が得られる。さらに輝度範囲を四分割までできるため、最大8×2×2の八分円が得られる。各八分円において、色成分交差線形モデルが適用されて、カラーマッピングが行われる。各八分円について、4つの頂点がビットストリームに符号化、および/またはビットストリームから復号され、八分円内の線形モデルが表される。カラーマッピングテーブルが、各色成分に対して個別に、ビットストリームに符号化、および/またはビットストリームから復号される。カラーマッピングは3処理を含むものと考えられる。まず、所与の参照レイヤサンプル3つ組(Y、Cb、Cr)が属する八分円を決定する。次に、輝度およびクロマのサンプル位置を、色成分調整処理を適用して整列させてもよい。最後に、決定された八分円に特化した線形マッピングが適用される。このマッピングは成分交差的な性質を有する。すなわち、1つの色成分の入力値が別の色成分のマッピング値に影響を及ぼしうる。さらに、インターレイヤ再サンプリングも必要であれば、再サンプリング処理に対する入力はカラーマッピング済みのピクチャとなる。カラーマッピングでは、第1のビット深度のサンプルから、別のビット深度のサンプルまでマッピングしてもよい(ただしこれに限らない)。
インターレイヤ動き予測は以下のとおりに実現できる。H.265/HEVCのTMVPのような時間動きベクトル予測処理により、異なるレイヤ間の動きデータの冗長性を実現できる。具体的には以下のとおりとなる。復号基本レイヤピクチャがアップサンプリングされると、それに合わせて基本レイヤピクチャの動きデータが拡張レイヤの解像度にマッピングされる。拡張レイヤピクチャが、例えばH.265/HEVCのTMVPのような時間動きベクトル予測機構により、基本レイヤピクチャからの動きベクトル予測を利用する場合、対応する動きベクトル予測器がマッピングされた基本レイヤ動きフィールドから生じる。これにより、異なるレイヤ間の動きデータの相関が利用され、スケーラブルビデオコーダの符号化効率が向上できる。SHVC等では、インターレイヤ動き予測は、TMVP導出用の並置された参照ピクチャとしてのインターレイヤ参照ピクチャを設定して実行できる。
MVCと同様に、MV−HEVCにおいても、インタービュー参照ピクチャは、符号化または復号されている現ピクチャの参照ピクチャリスト(複数可)に含めてもよい。SHVCはマルチループ復号動作を利用する(この点がH.264/AVCのSVC拡張とは異なる)。SHVCは参照インデックスに基づく手法を採ると考えられる。すなわち、インターレイヤ参照ピクチャが、符号化または復号されている現ピクチャの1つ以上の参照ピクチャリストに含まれてもよい(上述の内容参照)。
拡張レイヤ符号化については、SHVC、MV−HEVC等に対してHEVC基本レイヤの概念や符号化ツールを利用できる。一方で、SHVC、MV−HEVC等のコーデックに対して、拡張レイヤの効率的な符号化のための参照レイヤにおいて符号化済みデータ(再構成ピクチャサンプルや、動きパラメータ、すなわち動き情報を含む)を利用したインターレイヤ予測ツールを追加してもよい。
符号化規格またはシステムにおいて、復号が実施されるスケーラブルレイヤおよび/またはサブレイヤを示し、さらに/あるいは復号されているスケーラブルレイヤおよび/またはサブレイヤを含むサブビットストリームに関連する可能性のある、「動作点」等が用語として使用されてもよい。HEVCでは、動作点は、別のビットストリーム、対象最高TemporalId、対象レイヤ識別子リストを入力としたサブビットストリーム抽出処理の動作により、別ビットストリームから生成されたビットストリームとして定義される。
HEVCのVPSは、レイヤ群と、これらレイヤ群に対するHRDパラメータを指定する。レイヤ群は、サブビットストリーム抽出処理の、対象レイヤ識別子リストとして使用されてもよい。HEVCにおいては、レイヤ群は、別のビットストリームからサブビットストリーム抽出処理の動作で生成されるビットストリーム内で表現されるレイヤ群として定義されうる。サブビットストリーム抽出処理は、別のビットストリーム、6に等しい対象最高TemporalId、レイヤ群に関連付けられたレイヤ識別子リストに等しい対象レイヤ識別子リストを入力とする。
復号処理により、復号されたピクチャが出力されるレイヤとして出力レイヤを定義してもよい。出力レイヤは、マルチレイヤビットストリームの復号されるサブセットに応じたものである。復号処理により出力されるピクチャは、例えばYUV色空間からRGBへの、色空間変換のような処理をさらに実施した後に表示されてもよい。ただし、それ以上の処理および/または表示は、デコーダおよび/または復号処理から外れたものとみなされ、これらは実施されなくてもよい。
マルチレイヤビデオビットストリームでは、動作点の定義は、対象出力レイヤ群を考慮したものであってもよい。例えば、動作点は、別のビットストリーム、対象最高時間サブレイヤ(例えば、対象最高TemporalId)、対象レイヤ識別子リストを入力としたサブビットストリーム抽出処理の動作により、別ビットストリームから生成され、出力レイヤ群と関連したビットストリームとして定義されてもよい。あるいは、動作点および関連した出力レイヤ群を表す用語として、主力動作点等のその他の用語を使用してもよい。例えば、MV−HEVC/SHVCにおいて、出力動作点は、入力ビットストリーム、対象最高TemporalId、対象レイヤ識別子リストを入力としたサブビットストリーム抽出処理の動作により、入力ビットストリームから生成され、出力レイヤ群と関連したビットストリームとして定義されてもよい。
出力レイヤ群(OLS)は、指定レイヤ群の一つのレイヤからなるレイヤ群として定義されうる。レイヤ群の1つ以上のレイヤが出力レイヤとして示される。出力レイヤは、出力レイヤ群を対象出力レイヤ群として使用してデコーダおよび/またはHRDが動作する場合に、出力される出力レイヤ群のレイヤとして定義される。MV−HEVC/SHVCにおいて、可変TargetOlsIdxは、対象出力レイヤ群である出力レイヤ群のインデックに等しいTargetOlsIdxを設定することで、どの出力レイヤ群が対象出力レイヤ群であるかを特定してもよい。対象出力レイヤ群は、インデックスがTargetOlsIdxに等しい出力レイヤ群として定義されてもよい。TargetOlsIdxは、例えばHRDにより設定されてもよく、さらに/あるいはデコーダによって提供されるインタフェースを介して、例えばプレーヤ等による外部手段によって設定されてもよい。MV−HEVC/SHVCにおいて、出力レイヤは、TargetOlsIdxが出力レイヤ群のインデックスに等しい場合に出力される出力レイヤ群のレイヤとして定義されてもよい。
送信機、ゲートウェイ、またはクライアント等は、スケーラブルビデオビットストリームの送信レイヤおよび/またはサブレイヤを選択してもよい。レイヤ抽出、レイヤの抽出、またはレイヤダウンスイッチングという用語は、送信機、ゲートウェイ、またはクライアント等が受信するビットストリームで可能な数よりも少ないレイヤを送信することを示しうる。レイヤアップスイッチングは、送信機、ゲートウェイ、またはクライアントがレイヤスイッチング前に送るものと比較して、追加のレイヤ(複数可)を送信することを示してもよい。具体的には、レイヤダウンスイッチングにより送信が中止されていた1つ以上のレイヤの送信を再開することである。レイヤダウンスイッチングおよび/またはアップスイッチングと同様に、送信機、ゲートウェイ、またはクライアント等は、時間サブレイヤに対してダウンスイッチングおよび/またはアップスイッチングを実施してもよい。送信機、ゲートウェイ、またはクライアント等は、レイヤとサブレイヤの両方にダウンスイッチングおよび/またはアップスイッチングを実施してもよい。レイヤとサブレイヤのダウンスイッチングおよび/またはアップスイッチングは同一のアクセス単位内等で(すなわち、実質的に同時に)実行されてもよいし、別のアクセス単位等で(すなわち、実質的に異なるタイミングで)実施されてもよい。
各アクセス単位で最高レイヤが不変な使用事例およびビットストリームでは、一定の出力レイヤ群で十分であるが、当該群ではアクセス単位間で最高レイヤが変わるような使用事例に対応していない場合がある。したがって、同じアクセス単位内の出力レイヤにピクチャがなければ、エンコーダがビットストリーム内の複数の代替出力レイヤの使用を特定し、代替出力レイヤの使用の特定に応じて、デコーダが復号されたピクチャを1つの代替出力レイヤから出力することが提案されている。この代替出力レイヤを標示するにはいくつかの方法が挙げられる。例えば、HEVCで規定されているとおり、代替出力レイヤ群のメカニズムは、単一の出力レイヤのみを含む出力レイヤ群に対する使用に限定されてもよく、出力レイヤ群に基づくフラグ(HEVCにおけるalt_output_layer_flag[ olsIdx ])を利用して、出力レイヤの任意の直接または間接参照レイヤが、出力レイヤ群の出力レイヤに対する代替出力レイヤであってもよいことを特定してもよい。複数の代替出力レイヤが使用可能であれば、アクセス単位における、上記の示された最小代替出力レイヤまでレイヤ識別子降順の、最初の直接または間接インターレイヤ参照ピクチャが出力されるよう指定されてもよい。
図9は、各種実施形態が実現可能な例示的マルチメディア通信システムを示す図である。データソース1510は、ソース信号を提供する。当該信号は、アナログフォーマット、非圧縮デジタルフォーマット、圧縮デジタルフォーマット、あるいはこれらの組合せであってもよい。エンコーダ1520は、データフォーマット変換やソース信号フィルタリングのような前処理を含んでもよく、または当該処理に接続されていてもよい。エンコーダ1520はソース信号を符号化して符号化メディアビットストリームを得る。復号されるビットストリームは、実質的にあらゆる種類のネットワークに存在しうるリモート装置から直接的または間接的に受信されてもよい。ビットストリームは、ローカルハードウェアまたはソフトウェアから受信されてもよい。エンコーダ1520は、1種類以上の媒体(音声、動画等)を符号化可能であってもよい。あるいは、2つ以上のエンコーダ1520に、異なる種類の媒体のソース信号を符号化することが求められてもよい。エンコーダ1520はさらに、グラフィックやテキスト等、合成して生成された入力を取得してもよく、あるいは合成媒体の符号化ビットストリームを生成可能であってもよい。以下では、簡潔に説明するため、1種類のみの媒体の1つの符号化メディアビットストリームに対する処理を検討する。ただし、通常ではリアルタイムブロードキャストサービスは複数のストリームを含む(通常、少なくとも1つの音声、動画、テキスト字幕付きストリーム)。さらに、システムが多数のエンコーダを備えてもよいが、普遍性を損なわない範囲で簡潔に説明するために、1つのエンコーダ1520のみが図示されていることが理解されよう。また本明細書での記載や例示は符号化処理を具体的に表しているが、同じ概念、原理を対応する復号処理に適用したり、その逆の運用をしたりすることがあってもよいことが当業者には理解されよう。
符号化メディアビットストリームは、ストレージ1530に送信されてもよい。ストレージ1530は、符号化メディアビットストリームを格納する任意の種類の大型記憶装置を備えてもよい。ストレージ1530における符号化メディアビットストリームのフォーマットは、基本自立型ビットストリームフォーマット(elementary self-contained bitstream format)であってもよく、1つ以上の符号化メディアビットストリームが1つのコンテナファイルにカプセル化されてもよく、または符号化メディアビットストリームは、DASH(または同様のストリーミングシステム)に好適なSegmentフォーマットにカプセル化されて複数のSegmentのシーケンスとして保存されてもよい。1つ以上のメディアビットストリームが1つのコンテナファイルにカプセル化される場合、ファイル生成器(図示せず)を使用して1つ以上のメディアビットストリームをファイルに保存し、ファイルフォーマットメタデータを生成してもよい。このデータもファイルに保存してもよい。エンコーダ1520またはストレージ1530がファイル生成器を有してもよく、あるいはファイル生成器がエンコーダ1520またはストレージ1530に対して動作可能に取り付けられてもよい。システムによっては「ライブ」で動作するものもある。すなわち、ストレージを省き、エンコーダ1520からの符号化メディアビットストリームを直接、送信機1540に送られる。符号化メディアビットストリームはその後、必要に応じて、サーバとも呼ばれる送信機1540に送られてもよい。伝送に利用されるフォーマットは、基本自立型ビットストリームフォーマット、パケットストリームフォーマット、DASH(または同様のストリーミングシステム)に好適なSegmentフォーマット、または1つ以上の符号化メディアビットストリームをコンテナファイルにカプセル化したものであってもよい。エンコーダ1520、ストレージ1530、サーバ1540は同一の物理的装置に設けられても、別々の装置に設けられてもよい。エンコーダ1520およびサーバ1540は、ライブのリアルタイムコンテンツを扱ってもよい。その場合、符号化メディアビットストリームは通常、永久に記憶されることはなく、コンテンツエンコーダ1520および/またはサーバ1540に短期間保存され、処理遅延、送信遅延、符号化媒体ビットレートの平滑化が図られる。
サーバ1540は、通信プロトコルスタックを用いて符号化メディアビットストリームを送信する。このスタックにはリアルタイムトランスポートプロトコル(RTP)、ユーザデータグラムプロトコル(UDP)、ハイパーテキストトランスファープロトコル(HTTP)、トランスミッションコントロールプロトコル(TCP)、およびインターネットプロトコル(IP)の1つまたは複数を含んでもよいが、これらに限定されるものではない。通信プロトコルスタックがパケット指向の場合、サーバ1540は、符号化メディアビットストリームをパケットにカプセル化する。例えば、RTPが用いられる場合、サーバ1540は、RTPペイロードフォーマットに従って符号化メディアビットストリームをRTPパケットへとカプセル化する。各媒体の種類は、通常、専用のRTPペイロードフォーマットを有する。システムには2つ以上のサーバ1540が含まれうるが、簡潔に説明するために、以下では1つのサーバ1540のみを示す。
ストレージ1530または送信機1540へのデータ入力のためにメディアコンテンツがコンテナファイルにカプセル化される場合、送信機1540は、「送信ファイルパーサ」(図示せず)を備えてもよく、または動作可能であるように当該装置に取り付けられてもよい。特に、コンテナファイルがそのように伝送されず、含められた符号化メディアビットストリームの少なくとも1つが通信プロトコルを介して伝送用にカプセル化される場合、送信ファイルパーサは、符号化メディアビットストリームの通信プロトコルを介して運ばれるのに適した部分を配置する。送信ファイルパーサは、パケットヘッダやペイロード等、通信プロトコル用の正しいフォーマットの作成を支援してもよい。マルチメディアコンテナファイルには、通信プロトコルで含められたメディアビットストリームの少なくとも1つをカプセル化するために、ISO BMFFのヒントトラックのようなカプセル化指示が含まれてもよい。
サーバ1540は、通信ネットワークを通じてゲートウェイ1550に接続されてもよく、そうでなくてもよい。この通信ネットワークは、例えばCDN、インターネットおよび/または1つ以上のアクセスネットワークの組合せであってもよい。これに加えて、またはこれに代えて、ゲートウェイはミドルボックスと呼ばれてもよい。DASHについて、ゲートウェイは(CDNの)エッジサーバまたはウェブプロキシであってもよい。システムは一般的に任意の数のゲートウェイや同様の装置を備えてもよいが、簡潔に説明するために、以下では1つのゲートウェイ1550のみを示す。ゲートウェイ1550は、様々な種類の機能を実行してもよい。こうした機能には、ある通信プロトコルスタックに従うパケットストリームを別の通信プロトコルスタックに従うものに変換することや、データストリームのマージおよびフォーク、ダウンリンクおよび/または受信機の容量に応じたデータストリームの操作等がある。データストリームの操作とは、例えば現行のダウンリンクネットワーク条件に応じた転送ストリームのビットレートの制御等である。
システムは1つ以上の受信機1560を備える。受信機1560は通常、送信信号を受信して復調し、符号化メディアビットストリームにデカプセル化(de-capsulating)することができる。符号化メディアビットストリームは、記憶ストレージ1570に送られてもよい。記憶ストレージ1570は、符号化メディアビットストリームを格納する任意の種類の大容量メモリを備えてもよい。これに代えて、またはこれに加えて、記憶ストレージ1570は、ランダムアクセスメモリ等の演算メモリを備えてもよい。記憶ストレージ1570における符号化メディアビットストリームのフォーマットは、基本自立型ビットストリームフォーマットであってもよく、1つ以上の符号化メディアビットストリームが1つのコンテナファイルにカプセル化されてもよい。音声ストリームと動画ストリームといった複数の符号化メディアビットストリームが互いに関連し合って存在する場合、通常コンテナファイルが使用され、受信機1560は、入力ストリームからコンテナファイルを生成するコンテナファイル生成器を備えるか、それに取り付けられる。システムによっては「ライブ」で動作するものもある。すなわち、記憶ストレージ1570を省き、受信機1560からの符号化メディアビットストリームを直接デコーダ1580に伝送する。システムによっては、記録済みストリームからの直近10分間の抜粋のような記録済みストリームの最新部分が記憶ストレージ1570に保持され、それ以前に記録されたデータは記憶ストレージ1570から削除される。
符号化メディアビットストリームは、記憶ストレージ1570からデコーダ1580に送られてもよい。音声ストリームと動画ストリームといった多数の符号化メディアビットストリームが関連し合って存在し、コンテナファイルにカプセル化される場合、または1つのメディアビットストリームがコンテナファイルにカプセル化される場合(例えばアクセスを容易にするため)、このコンテナファイルから各符号化メディアビットストリームをデカプセル化するためにファイルパーサ(図示せず)が使用される。記憶ストレージ1570またはデコーダ1580がファイルパーサを備えてもよく、または記憶ストレージ1570かデコーダ1580のいずれかにファイルパーサが取り付けられていてもよい。システムは多数のデコーダを備えてもよいが、普遍性を損なわない範囲で簡潔に説明するために、本明細書では1つのデコーダ1580のみが図示されていることが理解されよう。
符号化メディアビットストリームはデコーダ1580によってさらに処理され、このデコーダの出力が1つ以上の非圧縮メディアストリームでもよい。最後に、レンダラ1590は、非圧縮メディアストリームを例えばラウドスピーカやディスプレイに再生してもよい。受信機1560、記憶ストレージ1570、デコーダ1580、およびレンダラ1590は、同一の物理的デバイスに設けられても、別々のデバイスに設けられてもよい。
送信機1540および/またはゲートウェイ1550は、異なる表示間を切り替えるように構成されてもよい。例えば、ビュー切り替え、ビットレート適応、および/またはファーストスタートアップのためである。これに加えて、またはこれに代えて、送信機1540および/またはゲートウェイ1550は、送信表示(複数可)を選択するように構成されてもよい。異なる表示間の切り替えは、受信機1560からの、スループット等、ビットストリームが送られるネットワークの現行の条件についてのリクエストに応える形等、いくつかの理由で実施されてもよい。受信機からのリクエストの例としては、以前と異なる表示からのセグメントまたはサブセグメント、送信スケーラビリティレイヤおよび/またはサブレイヤの変更、またはこれまでと異なる機能を有するレンダリング装置への変更のリクエストが挙げられる。セグメントに対するリクエストは、HTTP GETリクエストであってもよい。サブセグメントに対するリクエストは、バイト範囲付きのHTTP GETリクエストであってもよい。これに加えて、またはこれに代えて、例えばストリーミングサービスにおいて、いわゆるファーストスタートアップを実現するため、ビットレート調整またはビットレート適応が実施されてもよい。すなわち、送信ストリームのビットレートが、順番にストリーミングを開始するまたはランダムにアクセスした後のチャンネルビットストリームよりも、送信ストリームのビットレートが低くなる。これにより、即再生が可能となり、パケット遅延および/または再送がたまに生じても、許容できるようなバッファオキュパンシーが実現できるのである。ビットレート適応は、多様な表示またはレイヤアップスイッチングおよび、表示またはレイヤダウンスイッチング動作が様々な順序で行われることを含んでもよい。
デコーダ1580は、異なる表示間を切り替えるように構成されてもよい。例えば、ビュー切り替え、ビットレート適応、および/またはファーストスタートアップのためである。これに加えて、またはこれに代えて、デコーダ1580は、送信表示(複数可)を選択するように構成されてもよい。異なる表示間の切り替えは、スループット等、ビットストリームが送られるネットワークの現行の条件において、復号動作を高速化する、または例えばビットレートに関して、送信ビットストリームを適用する等、いくつかの理由で実施されてもよい。復号動作の高速化は、例えばデコーダ1580を有する装置が、マルチタスクを実行しており、計算資源をスケーラブルビデオビットストリームの復号以外の目的に使用している場合に必要となる。別の例では、コンテンツが通常の再生速度よりも早い、例えば従来のリアルタイム再生よりも2倍、3倍速いペースで再生される場合に復号動作の高速化が必要となる。デコーダ動作の速度は、例えば、通常再生速度と早送り再生との間の変更のリクエスト等に応じて復号または再生中に変更できる。そして、マルチレイヤアップスイッチングおよびダウンスイッチング動作は、各種順序で実行できる。
空間的スケーラブル画像および/またはビデオの符号化は、再構成参照レイヤピクチャをリサンプリングして、予測レイヤピクチャの符号化/復号での参照ピクチャとすることで実現できる。あるいは、空間的スケーラブルビデオの符号化は、イントラ符号化ブロック等の、参照レイヤピクチャの一部をリサンプリングして、予測レイヤピクチャの一部の符号化/復号での予測ブロックとすることで実現できる。リサンプリングは、複数の参照レイヤサンプルがフィルタリングされて、インターレイヤ予測で参照として使用されるサンプルを得るフィルタリング動作を含んでもよい(例えば、SHVCにおけるインターレイヤ参照ピクチャのサンプル)。当該リサンプリングは、ピクチャ境界外のサンプル位置へのアクセスを伴ってもよい。同様に、予測レイヤピクチャがフレームパッキングされる、すなわち、複数の構成フレームを含む場合、当該リサンプリングは、構成フレームの境界外のサンプル位置へのアクセスを伴ってもよい。さらに、参照レイヤ位置補正値等を使用して、予測レイヤピクチャの、参照レイヤピクチャに対する空間的対応を示してもよし、インターレイヤリサンプリング処理で参照レイヤピクチャのピクチャ境界外のサンプル、および/または参照レイヤピクチャにおける構成フレームの境界外のサンプルを参照するようにしてもよい。さらに/あるいは上述の実施形態がインターレイヤ予測に適用できることが理解されよう。例えばインターレイヤ予測で使用されるフィルタリング処理に、境界拡張を利用してもよい。別の例では、インターレイヤ予測のフィルタリング処理で使用されるサンプル位置は、構成フレームの境界内となるように、ラップオーバー(例えば、360度構成フレームの水平方向の場合)、または飽和されてもよい(その他の場合)。
さらに/あるいは上述の実施形態がインタービュー予測に適用できることが理解されよう。一例として、参照レイヤまたはビューの第1のピクチャは、複数の構成フレームを含む。この構成フレームは、例えばコンテンツの2つのビューを表す。予測レイヤまたはビューの第2のピクチャは、少なくとも1つの構成フレームを含む。この構成フレームは、例えばコンテンツの別ビューを表す(第1のピクチャで表されるビューと異なる)。インタービュー予測は、第1のピクチャの1つ以上の構成フレームから、第2のピクチャへと実行される。インタービュー予測で使用される視差ベクトル(動きベクトルと同様であるか同じ)は、構成フレームから部分的に外れた予測ブロックを参照してもよいし、複数の構成フレームからの入力サンプルを必要とする部分サンプル位置を参照するものであってもよい。実施形態は、境界拡張部を構成、または構成フレーム内のサンプル位置の飽和、ラップオーバーに利用できる。単一の構成フレームのみのサンプルから、インタービュー予測ブロックが生成されるように限定するためである。
上述のいくつかの実施形態では、構成フレームという用語を単数形で用いて説明してきたが、実施形態は複数の構成フレームに対しても適用可能であり、構成フレームの数は一般的に、実施形態によって制限されるものでないことが理解されるべきである。
構成フレームという用語を使用して、上述のいくつかの実施形態を説明した。構成フレームは、入力フレームまたは入力フィールドを示してもよいことが理解されるべきである。ここでフィールドは、フレームの1つおきのサンプル行の組であり、ソース信号がインターレースされている場合、エンコーダ入力として用いられてもよい。
構成フレームという用語を使用して、上述のいくつかの実施形態を説明した。実施形態は、符号化または復号中のピクチャの、あらゆる空間的に連続した部分に適用可能であることが理解されよう。当該部分が明確に構成フレームと称されている必要はない。また、実施形態は、構成フレームよりも小さい単位でも、当該単位が符号化または復号中のピクチャ内で空間的に連続した領域を占めるのであれば、適用できることが理解されよう。例示的実施形態において、符号化の前処理として、または符号化の一環として、構成フレームは2つ以上の空間的に不連続な構成フレーム区画にパーティショニングされる。1つ以上の構成フレーム区画は、別の実施形態で説明したように、境界拡張部を有する。単一のピクチャに、複数の構成フレームからの構成フレーム境界が含まれてもよい。境界拡張を伴うか否かを問わず、存在する各構成フレーム境界は動き制約タイルセットとして符号化されてもよい。例えば出力切り取り処理の一環として、または復号の後処理として、デコーダは、境界拡張部を除去して、構成フレーム区画を空間的に連続して配置してもよい。これにより、構成フレームがすべて連続する。例えば、360度パノラマ構成フレームは、例えば垂直45、90、45度の格子と、水平に90度間隔の格子を使用して、パーティショニングされ、例示的実施形態で説明したように処理されてもよい。別の例では、キューブマップ投影球状ピクチャの各立方体側面が構成フレーム区画とみなされ、例示的実施形態で説明したように処理されてもよい。
ある実施形態では、図10aから10cに示すように、ビデオ符号化の入力ピクチャは、ピラミッドマッピングから得られる。球状ビデオシーケンス、正距円筒パノラマのような球状ビデオ投影を示すビデオシーケンス、または外向きカメラ構成のマルチビュービデオ等の各入力ピクチャは、図10aに示すピラミッド1000に投影される。ピラミッドへの投影を省き、ソースコンテンツから例えば図10bに示すような非展開ピラミッド投影1002への直接的マッピング、または図10cに示すようなフレームパッキングピラミッド投影1004を実行してもよい。ピラミッドの四角面1006は、主ビュー方向が正確に、またはおおよそ当該面に向かう場合、当該面を前面と称してもよい。前面に対する水平軸は、主ビュー方向(想定される頭の方向に一致)に応じて選択される。ピラミッド内の仮想ビュー位置は、前面が所望の視界を得られるように選択できる。例えば、90度水平および垂直視界を前面から選択してもよい。三角形ピラミッド面は、想定される主ビュー方向および主ビュー配行に対する相対位置に応じて、左面1008、上面1010、右面1012、下面1014と称しうる。三角形ピラミッド面は、図10bに示すように、前面1006の平面に展開されるものと考えられる。ただし、この中間ステップを省いて、図10aのピラミッド1000から、図10cに示すようなフレームパッキングピラミッド投影1006への直接マッピングを実現してもよい。この展開の一環として、三角形ピラミッド面をリサンプリングして、図10cと同一にまたは同様に配置されると、全幅および全長が前面の幅と長さに一致するようにしてもよい。三角形面は、四角形を画定するように多様に配置されてもよい。この一例を図10cに示す。当図では、未展開の右面1012および左面1008はそのままで、未展開の上面1010および下面1014が180度回転されている。ある実施形態では、前面1006を第1の構成フレームとし、三角形面を含んで画定された四角形が別の実施形態で第2の構成フレームとされる。ある実施形態では、前面1006は、三角形面を含んで画定された四角形に隣接する側に、境界拡張部を有する。例えば、図10cのように三角形面を含んで画定された四角形が前面1006の右側にある場合、境界拡張は前面1006の右側に存在してもよい。境界拡張部は、別の実施形態において説明したのと同様に扱われる。図10cは境界拡張部を示すが、境界拡張部が存在しない(および、例えばサンプル位置が構成フレーム内となるように飽和されることで構成フレーム外が参照できるようになる)別の実施形態も、図10cと同様の配置で、境界拡張部を設けないことで実現できる。ある実施形態では、その(存在する場合)境界拡張部を含む前面1006が、符号化における第1のタイルセットに含まれ、この第1のタイルセットが動き制約タイルセットとして符号化される。ある実施形態では、三角形面1008から1014を含んで画定された四角形が符号化における第2のタイルセットに含まれ、この第2のタイルセットが動き制約タイルセットとして符号化される。動き制約タイルセット(複数可)は、別の実施形態と同様に扱われる。本段落では符号化の実施形態を説明したが、前面1006を復号の各種その他実施形態での構成フレームとして扱うことで、同様に復号の実施形態も実現できることが理解されよう。
ブロックという用語を使用して、上述のいくつかの実施形態を説明したが、符号化システムについて、実施形態が適用される同一または同様の概念について異なる用語が当てられる場合があることが理解されるべきである。例えば、HEVCにおけるブロックという用語は、異なる実施形態において、例えば符号化ツリー単位、符号化ツリーブロック、符号化単位、または符号化ブロックとして理解されてもよい。
上述のいくつかの実施形態では、HEVCおよび/またはHEVCの仕様において用いられる用語に関連して説明してきたが、その他のコーデック、符号化フォーマット、上述の実施形態で用いられた用語と同等または同様のその他の用語にも同様に実施形態が適用されることが理解されるべきである。
上述の例示的実施形態がエンコーダを参照して説明されている点に関し、結果として得られるビットストリームとデコーダも対応する要素を備えうることも理解されるべきである。同様に、例示的実施形態がデコーダを参照して説明されている点に関し、デコーダによって復号されるビットストリームを生成する構造および/またはコンピュータプログラムをエンコーダが備えうることも理解されるべきである。
前述された本発明の実施形態では、装置が関与する処理に対する理解を促すため、別々のエンコーダ装置とデコーダ装置に関するコーデックを説明しているが、こうした装置やその構造、動作が単一のエンコーダ・デコーダ装置/構造/動作として実装されうることも理解されよう。さらに、コーダとデコーダが共通要素の一部または全部を共有してもよい。
前述の例では、電子デバイス内のコーデックにおいて動作する本発明の実施形態について説明しているが、請求項に定義している発明は、任意のビデオコーデックの一部として実装されうることが理解されよう。したがって、例えば、本発明の実施形態は、固定または有線通信経路を介してビデオの符号化を実施しうるビデオコーデックに実装されてもよい。
ユーザ端末が本発明の上述の各実施形態に記載されたようなビデオコーデックを備えてもよい。「ユーザ端末」という用語には、携帯電話、携帯型データ処理装置、または携帯型Webブラウザ等の任意の好適な種類の無線ユーザ端末を含むことが意図されている。
地上波公共移動通信ネットワーク(Public Land Mobile Network:PLMN)が、追加の要素として上述のビデオコーデックを備えてもよい。
本発明の種々の実施形態は、概して、ハードウェア、特定用途向け回路、ソフトウェア、論理回路、またはそれらの任意の組合せで実装されてもよい。例えば、一部の態様がハードウェアで実装され、他の態様がコントローラ、マイクロプロセッサ、またはその他のコンピュータデバイスによって実行されうるファームウェアやソフトウェアで実装されてもよいが、本発明はこれに限定されない。本発明の種々の態様はブロック図、フローチャート、または他の図的表現によって図示および説明されるが、本明細書に記載するこれらのブロック、装置、システム、技術、または方法は、非限定的な例として、ハードウェア、ソフトウェア、ファームウェア、特定用途向け回路や論理回路、汎用のハードウェア、コントローラ、その他のコンピュータデバイス、またはそれらの組合せとして実装されてもよいと理解されるべきである。
本発明の実施形態は、プロセッサエンティティ内等に設けられる携帯装置のデータプロセッサによって実行可能な、あるいはハードウェア、またはソフトウェアおよびハードウェアの組合せによって実行可能な、コンピュータソフトウェアによって実装されてもよい。この点について、図中の論理フローのいずれのブロックも、プログラムのステップ、または相互接続された論理回路、ブロック、機能、またはプログラムステップ、論理回路、ブロック、および機能の組合せを表していてもよいことが理解されよう。上記ソフトウェアは、メモリチップ、プロセッサ内に実装されたメモリブロック、ハードディスクやフロッピーディスク等の磁気媒体、例えばDVDやそのデータ変種、CD等の光学媒体等の物理的媒体に格納されてもよい。
前記メモリはローカルの技術環境に適した任意の種類のものであってもよく、半導体ベースのメモリデバイス、磁気メモリデバイスおよびシステム、光学メモリデバイスおよびシステム、固定メモリおよび着脱式メモリ等の任意の好適なデータ格納技術を用いて実装されてもよい。前記データプロセッサはローカルの技術環境に適した任意の種類のものであってもよく、この例として1つ以上の汎用コンピュータ、専用コンピュータ、マイクロプロセッサ、デジタル信号プロセッサ(Digital Signal Processor:DSP)、およびマルチコアプロセッサアーキテクチャによるプロセッサが挙げられるが、これらに限定されるものではない。
本発明の実施形態は、集積回路モジュールのような、様々な要素で実施することもできる。集積回路の設計は、概して高度に自動化されたプロセスである。論理レベルの設計を、半導体基板上にエッチングおよび形成するための半導体回路設計に変換する複雑で強力なソフトウェアツールが利用可能である。
カリフォルニア州マウンテンビューのSynopsys,Inc.や、カリフォルニア州サンノゼのCadence Designのような業者が提供するプログラムは、定評のある設計ルールと実績のある設計モジュールのライブラリに基づいて、半導体チップ上に導電経路や要素を自動的に配する。半導体回路の設計が完了すると、その設計は、OpusやGDSII等の標準的な電子フォーマットで半導体製造設備、いわゆるfabに送られて製造されてもよい。
前述の説明は、非限定的な例によって、本発明の例示的な実施形態を十分かつ詳細に記述している。しかし、こうした前述の説明を、添付する図面および特許請求の範囲と併せて考慮すれば、種々の変更および適応が可能であることは、本願に関連する技術分野の当業者には明らかであろう。さらに、本発明が教示するこうした事項のすべておよび同様の変形は、そのすべてが請求項の範囲内にある。
以下にいくつかの例を挙げる。
第1の例では方法が提供され、前記方法は、
符号化ピクチャを受信することと、
有効ピクチャエリアを有するピクチャの再構成された構成フレームを形成するべく、前記符号化ピクチャを復号することと、
下記の処理、すなわち、
・ パディングされた参照ピクチャを生成するべく、前記有効ピクチャエリア外の領域を埋めてこの埋められた領域によって境界拡張部を形成すること、または
・ 復号時に前記有効ピクチャエリア外の複数のサンプル位置を参照するとき、前記サンプル位置は前記有効ピクチャエリア内に収まるように飽和またはラップオーバーされていると判断すること、
の内のいずれかを実行することと、
を含む。
ある実施形態による前記方法では、前記埋めることは、前記有効ピクチャエリア外の少なくとも1つのサンプルに対して下記の処理、すなわち、
少なくとも1つのサンプル値を水平イントラ予測によって復号すること、
少なくとも1つのサンプル値を垂直イントラ予測によって復号すること、
少なくとも1つのサンプル値を、前記有効ピクチャエリアの前記境界拡張部とは反対側の境界領域から、イントラブロックコピー予測によって復号すること、
少なくとも1つのサンプル値を、前記ピクチャ内の別の構成フレームから、イントラブロックコピー予測によって復号すること、
少なくとも1つのサンプル値を、復号順で前のピクチャから、インター予測によって復号すること、
の内の少なくとも1つを含む。
ある実施形態によると、前記方法は、
構成フレーム境界外の複数のサンプル位置が飽和またはラップオーバーされているか否かの標示を復号することと、
前記有効ピクチャエリア内に収まるように前記サンプル位置が飽和またはラップオーバーされているか否かを、前記復号された標示に従って判断することと、
をさらに含む。
ある実施形態によると、前記方法は、前記構成フレームの前記有効ピクチャエリアの標示を復号することをさらに含む。
ある実施形態によると、前記方法は、前記構成フレームが360度パノラマピクチャであると示されると、前記少なくとも1つのサンプル値を、前記有効ピクチャエリアの反対側から、コピーによって挿入することをさらに含む。
ある実施形態によると、前記方法は、前記ピクチャの第2の再構成された構成フレームを形成するべく、前記符号化ピクチャを復号することをさらに含む。
ある実施形態によると、前記方法は、
第2の符号化ピクチャを受信することと、
前記第2の符号化ピクチャから、復号時に前記再構成された構成フレームの前記有効ピクチャエリア外のサンプル位置を参照する動きベクトルを復号することと、
前記有効ピクチャエリア内に収まるように前記サンプル位置を飽和またはラップオーバーすることと、
を含む。
第2の例では装置が提供され、前記装置は少なくとも1つのプロセッサと少なくとも1つのメモリとを含み、前記少なくとも1つのメモリにはコードが格納され、前記コードは前記少なくとも1つのプロセッサによって実行されると、前記装置に対して少なくとも、
符号化ピクチャを受信することと、
有効ピクチャエリアを有するピクチャの再構成された構成フレームを形成するべく、前記符号化ピクチャを復号することと、
下記の処理、すなわち、
・ パディングされた参照ピクチャを生成するべく、前記有効ピクチャエリア外の領域を埋めてこの埋められた領域によって境界拡張部を形成すること、または
・ 復号時に前記有効ピクチャエリア外の複数のサンプル位置を参照するとき、前記サンプル位置は前記有効ピクチャエリア内に収まるように飽和またはラップオーバーされていると判断すること、
の内のいずれかを実行することと、
を実施させる。
ある実施形態による前記装置では、前記埋めることは、前記装置に対して、下記の処理、すなわち、
少なくとも1つのサンプル値を水平イントラ予測によって復号すること、
少なくとも1つのサンプル値を垂直イントラ予測によって復号すること、
少なくとも1つのサンプル値を、前記有効ピクチャエリアの前記境界拡張部とは反対側の境界領域から、イントラブロックコピー予測によって復号すること、
少なくとも1つのサンプル値を、前記ピクチャ内の別の構成フレームから、イントラブロックコピー予測によって復号すること、
少なくとも1つのサンプル値を、復号順で前のピクチャから、インター予測によって復号すること、
の内の少なくとも1つを実施させるコードを含む。
ある実施形態によると、前記装置は、当該装置に対して、下記の処理、すなわち、
構成フレーム境界外の複数のサンプル位置が飽和またはラップオーバーされているか否かの標示を復号すること、
前記有効ピクチャエリア内に収まるように前記サンプル位置が飽和またはラップオーバーされているか否かを、前記復号された標示に従って判断すること、
の内の少なくとも1つを実施させるコードをさらに含む。
ある実施形態によると、前記装置は、当該装置に対して、前記構成フレームの前記有効ピクチャエリアの標示を復号することを少なくとも実施させるコードをさらに含む。
ある実施形態によると、前記装置は、当該装置に対して、前記構成フレームが360度パノラマピクチャであると示されると、前記少なくとも1つのサンプル値を、前記有効ピクチャエリアの反対側から、コピーによって挿入することを少なくとも実施させるコードをさらに含む。
ある実施形態によると、前記装置は、当該装置に対して、
中間参照フレームを得るべく前記有効ピクチャエリア外の前記領域を復号することを少なくとも実施させるコードをさらに含み、
さらに前記埋めることは、前記中間参照フレームの前記境界拡張部の少なくとも1つのサンプル値を修正することを含む。
ある実施形態によると、前記装置は、当該装置に対して、前記ピクチャの第2の再構成された構成フレームを形成するべく、前記符号化ピクチャを復号することを少なくとも実施させるコードをさらに含む。
ある実施形態によると、前記装置は、当該装置に対して、
第2の符号化ピクチャを受信することと、
前記第2の符号化ピクチャから、復号時に前記再構成された構成フレームの前記有効ピクチャエリア外のサンプル位置を参照する動きベクトルを復号することと、
前記有効ピクチャエリア内に収まるように前記サンプル位置を飽和またはラップオーバーすることと、
を少なくとも実施させるコードをさらに含む。
第3の例では装置によって使用されるコードが記憶されたコンピュータ可読記憶媒体が提供され、前記コンピュータ可読記憶媒体は、プロセッサによって実行されると、前記装置に対して、
符号化ピクチャを受信することと、
有効ピクチャエリアを有するピクチャの再構成された構成フレームを形成するべく、前記符号化ピクチャを復号することと、
下記の処理、すなわち、
・ パディングされた参照ピクチャを生成するべく、前記有効ピクチャエリア外の領域を埋めてこの埋められた領域によって境界拡張部を形成すること、または
・ 復号時に前記有効ピクチャエリア外の複数のサンプル位置を参照するとき、前記サンプル位置は前記有効ピクチャエリア内に収まるように飽和またはラップオーバーされていると判断すること、
の内のいずれかを実行することと、
を実施させる。
第4の例では装置が提供され、前記装置は、
符号化ピクチャを受信する手段と、
有効ピクチャエリアを有するピクチャの再構成された構成フレームを形成するべく、前記符号化ピクチャを復号する手段と、
下記の処理、すなわち、
・ パディングされた参照ピクチャを生成するべく、前記有効ピクチャエリア外の領域を埋めてこの埋められた領域によって境界拡張部を形成すること、または
・ 復号時に前記有効ピクチャエリア外の複数のサンプル位置を参照するとき、前記サンプル位置は前記有効ピクチャエリア内に収まるように飽和またはラップオーバーされていると判断すること、
の内のいずれかを実行する手段と、
を備える。
第5の例では方法が提供され、前記方法は、
非圧縮構成フレームを第1の符号化ピクチャに符号化し、再構成された第1のピクチャを得て、前記構成フレームの有効ピクチャエリアを前記再構成された第1のピクチャ内とすることと、
前記符号化の一環として、下記の処理、すなわち、
・ 前記再構成された第1のピクチャにおける前記構成フレームに対する境界拡張部を形成するべく、前記有効ピクチャエリア外の少なくとも1つのサンプル値を挿入すること、または
・ 前記有効ピクチャエリア内に収まるように前記有効ピクチャエリア外の複数のサンプル位置を飽和またはラップオーバーすること、
の内のいずれかを実行することと、
を含む。
ある実施形態によると、前記方法は、
前記少なくとも1つのサンプル値を水平イントラ予測によって得ることと、
前記少なくとも1つのサンプル値を垂直イントラ予測によって得ることと、
前記少なくとも1つのサンプル値を、前記有効ピクチャエリアの前記境界拡張部とは反対側の境界領域から、イントラブロックコピー予測によって得ることと、
前記少なくとも1つのサンプル値を、前記再構成ピクチャ内の別の構成フレームから、イントラブロックコピー予測によって得ることと、
前記少なくとも1つのサンプル値を、復号順で前のピクチャから、インター予測によって得ることと、
をさらに含む。
ある実施形態によると、前記方法は、構成フレーム境界外の複数のサンプル位置が飽和またはラップオーバーされているか否かを示す標示を符号化することをさらに含む。
ある実施形態によると、前記方法は、前記構成フレームの前記有効ピクチャエリアの標示を符号化することをさらに含む。
ある実施形態によると、前記方法は、前記構成フレームが360度パノラマピクチャであると示されると、前記少なくとも1つのサンプル値を、前記有効ピクチャエリアの反対側から、コピーによって挿入することをさらに含む。
ある実施形態による前記方法では、
前記符号化は、中間参照フレームを得るべく、前記有効ピクチャエリア外の前記領域を再構成することを含み、
前記中間参照フレームの前記境界拡張部の少なくとも1つのサンプル値を修正する。
ある実施形態によると、前記方法は、第2の非圧縮構成フレームを前記第1の符号化ピクチャに符号化することを含む。
ある実施形態によると、前記方法は、
第2の符号化ピクチャを符号化することであって、復号時に前記再構成された構成フレームの前記有効ピクチャエリア外のサンプル位置を参照する動きベクトルを符号化することと、
前記有効ピクチャエリア内に収まるように前記サンプル位置を飽和またはラップオーバーすることと、
をさらに含む。
第6の例では装置が提供され、前記装置は、少なくとも1つのプロセッサと少なくとも1つのメモリとを含み、前記少なくとも1つのメモリにはコードが格納され、前記コードは前記少なくとも1つのプロセッサによって実行されると、前記装置に対して少なくとも、
非圧縮構成フレームを第1の符号化ピクチャに符号化し、再構成された第1のピクチャを得て、前記構成フレームの有効ピクチャエリアを前記再構成された第1のピクチャ内とすることと、
前記符号化の一環として、下記の処理、すなわち、
・ 前記再構成された第1のピクチャにおける前記構成フレームに対する境界拡張部を形成するべく、前記有効ピクチャエリア外の少なくとも1つのサンプル値を挿入すること、または
・ 前記有効ピクチャエリア内に収まるように前記有効ピクチャエリア外の複数のサンプル位置を飽和またはラップオーバーすること、
の内のいずれかを実行することと、
を実施させる。
ある実施形態によると、前記装置は、
前記少なくとも1つのサンプル値を水平イントラ予測によって得ることと、
前記少なくとも1つのサンプル値を垂直イントラ予測によって得ることと、
前記少なくとも1つのサンプル値を、前記有効ピクチャエリアの前記境界拡張部とは反対側の境界領域から、イントラブロックコピー予測によって得ることと、
前記少なくとも1つのサンプル値を、前記再構成ピクチャ内の別の構成フレームから、イントラブロックコピー予測によって得ることと、
前記少なくとも1つのサンプル値を、復号順で前のピクチャから、インター予測によって得ることと、
をさらに含む。
ある実施形態によると、前記装置は、当該装置に対して、構成フレーム境界外の複数のサンプル位置が飽和またはラップオーバーされているか否かを示す標示を符号化することを少なくとも実施させるコードをさらに含む。
ある実施形態によると、前記装置は、当該装置に対して、前記構成フレームの前記有効ピクチャエリアの標示を符号化することを少なくとも実施させるコードをさらに含む。
ある実施形態によると、前記装置は、当該装置に対して、前記構成フレームが360度パノラマピクチャであると示されると、前記少なくとも1つのサンプル値を、前記有効ピクチャエリアの反対側から、コピーによって挿入することを少なくとも実施させるコードをさらに含む。
ある実施形態による前記装置では、前記符号化は、前記装置に対して、
中間参照フレームを得るべく、前記有効ピクチャエリア外の前記領域を再構成することを少なくとも実施させるコードをさらに含み、
前記中間参照フレームの前記境界拡張部の少なくとも1つのサンプル値を修正する。
ある実施形態によると、前記装置は、当該装置に対して、第2の非圧縮構成フレームを前記第1の符号化ピクチャに符号化することを少なくとも実施させるコードをさらに含む。
ある実施形態によると、前記装置は、当該装置に対して、
第2の符号化ピクチャを符号化することであって、復号時に前記再構成された構成フレームの前記有効ピクチャエリア外のサンプル位置を参照する動きベクトルを符号化することと、
前記有効ピクチャエリア内に収まるように前記サンプル位置を飽和またはラップオーバーすることと、
の内の少なくとも1つを実施させるコードをさらに含む。
第7の例では装置によって使用されるコードが記憶されたコンピュータ可読記憶媒体が提供され、前記コンピュータ可読記憶媒体は、プロセッサによって実行されると、前記装置に対して、
非圧縮構成フレームを第1の符号化ピクチャに符号化し、再構成された第1のピクチャを得て、前記構成フレームの有効ピクチャエリアを前記再構成された第1のピクチャ内とすることと、
前記符号化の一環として、下記の処理、すなわち、
・ 前記再構成された第1のピクチャにおける前記構成フレームに対する境界拡張部を形成するべく、前記有効ピクチャエリア外の少なくとも1つのサンプル値を挿入すること、または
・ 前記有効ピクチャエリア内に収まるように前記有効ピクチャエリア外の複数のサンプル位置を飽和またはラップオーバーすること、
の内のいずれかを実行することと、
を実施させる。
第8の例では装置が提供され、前記装置は、
非圧縮構成フレームを第1の符号化ピクチャに符号化し、再構成された第1のピクチャを得て、前記構成フレームの有効ピクチャエリアを前記再構成された第1のピクチャ内とする手段と、
前記符号化の一環として、下記の処理、すなわち、
・ 前記再構成された第1のピクチャにおける前記構成フレームに対する境界拡張部を形成するべく、前記有効ピクチャエリア外の少なくとも1つのサンプル値を挿入すること、または
・ 前記有効ピクチャエリア内に収まるように前記有効ピクチャエリア外の複数のサンプル位置を飽和またはラップオーバーすること、
の内のいずれかを実行する手段と、
を備える。