[0034]本開示において説明される技法は、概して、映像コーディング、スケーラブル映像コーディング(SVC、SHVC)、マルチビューコーディング、及び3D映像コーディングに関するものである。例えば、それらの技法は、高効率映像コーディング(High Efficiency Video Coding(HEVC)及びそれのスケーラブル映像コーディング(SVC、SHVC)拡張に関するものであることができ、又は、高効率映像コーディング(HEVC)及びそれのスケーラブル映像コーディング(SVC、SHVC)拡張とともに使用することができ、又は、高効率映像コーディング(HEVC)及びそれのスケーラブル映像コーディング(SVC、SHVC)拡張内で使用することができる。前記のように、SVC拡張によりコーディングされる映像においては、複数の映像情報層が存在することが可能である。底のレベルの層は、基本層(BL)として働くことができ、最上層は、拡張された層(EL)として働くことができる。“拡張された層”は、“拡張層”と時々呼ばれ、これらの用語は、互換可能である。中央のすべての層は、EL又はBLとして又はその両方として働くことができる。例えば、中央の1つの層は、その下方の層、例えば、基本層又は介在する拡張層、に関するELであることができ、同時に、その上方の拡張層に関するBLであることができる。
[0035]例示することのみを目的として、本開示において説明される技法は、2つのみの層(例えば、下位層、例えば、基本層、及び高位層、例えば、拡張された層)を含む例を用いて説明される。本開示において説明される例は、複数の基本層及び拡張層を有する例にまで拡大できることが理解されるべきである。
[0036]映像コーディング規格は、ITU−T H.261、ISO/IEC MPEG−1 Visual、ITU−T H.262又はISO/IEC MPEG−2 Visual、ITU−T H.263、ISO/IEC MPEG−4 Visual、ITU−T H.264(ISO/IEC MPEG−4 AVCとも呼ばれる)を含み、それのスケーラブル映像コーディング(SVC)及びマルチビュー映像コーディング(MVC)拡張を含む。さらに、新しいコーディング規格、すなわち、高効率ビデオコーディング(HEVC)、が、ITU−Tビデオコーディングエキスパーツグループ(VCEG)及びISO/IECモーションピクチャエキスパーツグループ(MPEG)の映像コーディングに関する共同作業チーム(JCT−VC)によって策定中である。2012年6月7日現在では、HEVCの最近のドラフトを、http://wg11.sc29.org/jct/doc_end_user/current_document.php?id=5885/JCTVC-I1003-v2から入手可能である。2012年6月7日現在において、“HEVCワーキングドラフト7”と呼ばれるHEVC規格の他の最近のドラフトを、http://phenix.it-sudparis.eu/jct/doc_end_user/documents/9_Geneva/wg11/JCTVC-I1003-v2.zipからダウンロード可能である。HEVCワーキングドラフト7に関する完全な引用名は、document HCTVC-I1003, Bross et al., "High Efficiency Video Coding(HEVC) Text Specification Draft 7," Joint Collaborative Team on Video Coding(JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 9th Meeting: Geneva, Switzerland, April 27, 2012 to May7, 2012である。これらの引用文書の各々は、引用によってその全体が組み入れられている。
[0037]スケーラブル映像コーディング(SVC)は、品質(信号対雑音(SNR)とも呼ばれる)スケーラビリティ、空間的スケーラビリティ及び/又は時間的スケーラビリティを提供するために使用することができる。拡張された層は、基本層と異なる空間解像度を有することができる。例えば、ELとBLとの間の空間的アスペクト比は、1.0、1.5、2.0又はその他の異なる比であることができる。換言すると、ELの空間的アスペクトは、BLの空間的アスペクトの1.0倍、1.5倍、又は2.0倍に等しいことができる。幾つかの例では、ELのスケーリングファクタは、BLよりも大きいことができる。例えば、EL内のピクチャのサイズは、BL内のピクチャのサイズよりも大きいことができる。このように、制限ではないが、ELの空間的解像度はBLの空間的解像度よりも大きいことが可能である。
[0038]H.264に関するSVC拡張では、現在のブロック(例えば、EL内の現在のブロック)の予測は、SVCに関して提供される異なる層を用いて行うことができる。該予測は、層間予測と呼ぶことができる。層間予測法は、層間冗長性を低減させるためにSVCにおいて利用することができ、それによって、コーディング効率を向上させ、計算上のリソースに関する要求を低減させることができる。層間予測の幾つかの例は、層間イントラ予測と、層間動き予測と、層間残差予測と、を含むことができる。層間イントラ予測は、拡張層において現在のブロックを予測するために基本層における共配置されたブロックの再構築を使用する。層間動き予測は、拡張層における動きを予測するために基本層の動き情報を使用する。層間残差予測は、拡張層の残差を予測するために基本層の残差を使用する。
[0039]幾つかの実施形態においては、拡張層は、基本層に基づいて生成することができる。例えば、再サンプルフィルタリングと時々呼ばれるアップサンプルフィルタリングを、基本層の空間的解像度を増大させて拡張層を生成するために基本層に適用すること又は(例えば、基準ピクチャとして)拡張層を生成するために使用することができる。このプロセスは、空間的スケーラビリティと呼ぶことができる。
[0040]基本層は、1つ以上のコーディングツリーユニットを含むことができる幾つかのスライスに分割することができる。典型的には、必ずしもではないが、スライスは、ラスタスキャンパターンに従ってシステム(例えば、符号器又は復号器)によって処理することができる。ラスタスキャンパターンに従ってスライスを処理するときには、スライスを構成するコーディングツリーユニットは、一度に1行ずつブロックごとに処理することができる。
[0041]拡張層を生成するために基本層がアップサンプリングされるか又は拡張層を生成するために使用するために基本層がアップサンプリングされるときには、スライスも同様にサイズを大きくすることができる。換言すると、基本層が2倍分だけ増大される場合は、基本層の各スライスは、2倍分だけ増大することができる。その結果、拡張層のスライスは、もはやラスタスキャン処理規則を満たすようには編成することができない。換言すると、幾つかの事例においては、拡張層の処理中にラスタスキャン処理に従ったときには、スライスのブロックを混合することができ、従って、第1のスライスが完全に処理される前に第2のスライスを処理することができる。さらに、幾つかの事例においては、アップサンプリングされた層を生成すると、その結果として、部分的コーディングツリーユニットを含むスライスを得ることができる。概して、各スライスは、スライスに関する情報を含むスライスヘッダと関連付けられる。スライス全体にわたってコーディングツリーユニットが分割されるときに、コーディングツリーユニットを含むスライスに関する適切なスライスヘッダ情報を決定することは複雑になり、コーディングの非効率及びその他の望ましくない結果に結び付く可能性がある。
[0042]有利なことに、本開示の実施形態は、ラスタスキャン処理順序を維持するために、アップサンプリングされた基本層に関するスライス定義を修正又は再編成することができ、アップサンプリングされた基本層は、拡張層であることができ及び/又は拡張層を生成するために使用することができる。この開示のアプローチ法は、アップサンプリングされた層又は拡張層に関するスライス定義を解析すること及びスライスを分割することができ、従って、各スライス、及び新しく生成されたスライスは、他のスライスを処理する前にラスタスキャン処理を使用するときに全体を処理することができる。さらに、ここにおいて開示される技法は、部分的コーディングツリーユニットがスライス内に含められるのを防止するために拡張層におけるスライスの区分を修正することができる。
[0043]以後では、新規のシステム、装置、及び方法の様々な態様が、添付される図面を参照してより完全に説明される。しかしながら、本開示は、数多くの異なる形態で具現化することができ、本開示全体を通じて提示される特定の構造又は機能に限定されるとは解釈されるべきではない。むしろ、これらの態様は、本開示が徹底的かつ完全であるようにするために及び本開示の適用範囲を当業者に十分に伝達するようにするために提供される。ここにおける教示に基づき、本開示の適用範囲は、発明のその他の態様から独立して実装されるか又は結合されて実装されるかにかかわらず、ここにおいて開示される新規のシステム、装置、及び方法のあらゆる態様を網羅することが意図されていることを当業者は評価すべきである。例えば、ここにおいて説明される態様のうちのあらゆる数を用いて装置を実装し、方法を実践することができる。さらに、発明の適用範囲は、ここにおいて説明される発明の様々な態様に加えて又は様々な態様以外にその他の構造、機能、又は構造と機能を用いて実践される装置又は方法を網羅することが意図される。ここにおいて開示されるいずれの態様も、請求項の1つ以上の要素によって具現化することができることが理解されるべきである。
[0044]ここでは特定の態様が説明されるが、これらの態様の数多くの変形及び置換が本開示の適用範囲内に入る。好ましい態様の幾つかの利益及び利点が述べられているが、本開示の適用範囲は、特定の利益、用途、又は目標に限定することは意図されない。むしろ、本開示の態様は、異なる無線技術、システム構成、ネットワーク、及び送信プロトコルに広範囲にわたって適用可能であることが意図され、そのうちの一部は、図において及び好ましい態様に関する以下の説明において例として示される。発明を実施するための形態及び図面は、制限するのではなく、単に本開示を例示するものであるにすぎず、本開示の適用範囲は、添付された請求項及びそれらの同等物によって定義される。
映像符号化及び復号システムの例
[0045]図1は、本開示において説明される態様により技法を利用することができる映像符号化及び復号システムの例を示したブロック図である。例えば、システム10の様々なモジュールは、以下において図4乃至7に関してより詳細に説明される拡張層生成技法を実行するように構成することができる。
[0046]図1において示されるように、システム10は、行先デバイス14によってのちに復号されることになる符号化された映像データを提供するソースデバイス12を含む。特に、ソースデバイス12は、コンピュータによって読み取り可能な媒体16を介して行先デバイ14に映像データを提供することができる。ソースデバイス12及び行先デバイス14は、広範なデバイスを備えることができ、デスクトップコンピュータ、ノートブック(例えば、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、電話ハンドセット、例えば、いわゆる“スマート”フォン、いわゆる“スマート”パッド、テレビ、カメラ、表示装置、デジタルメディアプレーヤー、ビデオゲームコンソール、ビデオストリーミングデバイス、等を含む。幾つかの事例においては、ソースデバイス12及び行先デバイス14は、無線通信のために装備することができる。
[0047]行先デバイス14は、コンピュータによって読み取り可能な媒体16を介して復号されるべき符号化された映像データを受信することができる。コンピュータによって読み取り可能な媒体16は、符号化された映像データをソースデバイス12から行先デバイス14に移動させることが可能なあらゆるタイプの媒体又はデバイスを備えることができる。一例では、コンピュータによって読み取り可能な媒体16は、ソースデバイス12が符号化された映像データをリアルタイムで直接行先デバイス14に送信するのを可能にする通信媒体を備えることができる。符号化された映像データは、通信規格、例えば、無線通信プロトコル、により変調し、行先デバイス14に送信することができる。通信媒体は、無線又は有線の通信媒体、例えば、無線周波数(RF)スペクトル又は1つ以上の物理的送信ライン、を備えることができる。通信媒体は、パケットに基づくネットワーク、例えば、ローカルエリアネットワーク、ワイドエリアネットワーク、又はグローバルネットワーク、例えば、インターネット、の一部を形成することができる。通信媒体は、ルータ、スイッチ、基地局、又はソースデバイス12から行先デバイス14への通信を容易にするのに役立つことができるその他のあらゆる装置を含むことができる。
[0048]幾つかの例においては、符号化されたデータは、出力インタフェース22から記憶デバイスに出力することができる。同様に、符号化されたデータは、入力インタフェースによって記憶デバイスからアクセスすることができる。記憶デバイスは、様々な分散された又はローカルでアクセスされるデータ記憶媒体、例えば、ハードドライブ、Blue−rayディスク、DVD、CD−ROM、フラッシュメモリ、揮発性又は非揮発性メモリ、又は符号化された映像データを格納するためのその他の適切なデジタル記憶媒体を含むことができる。さらなる例では、記憶デバイスは、ソースデバイス12によって生成された符号化された映像を格納することができるファイルサーバ又は他の中間的な記憶デバイスに対応することができる。行先デバイス14は、ストリーミング又はダウンロードを介して記憶デバイスから格納された映像データにアクセスすることができる。ファイルサーバは、符号化された映像データを格納すること及びその符号化された映像データを行先デバイス14に送信することが可能なあらゆるタイプのサーバであることができる。ファイルサーバ例は、(例えば、ウェブサイトのための)ウェブサーバ、FTPサーバ、ネットワーク接続記憶(NAS)デバイス、又はローカルディスクドライブを含む。行先デバイス14は、インターネット接続を含む標準的なデータ接続を通じて符号化された映像データにアクセスすることができる。これは、ファイルサーバに格納された符号化された映像データにアクセスするのに適する無線チャネル(例えば、Wi−Fi接続)、有線接続(例えば、DSL、ケーブルモデム、等)、又は両方の組み合わせを含むことができる。記憶デバイスからの符号化された映像データの送信は、ストリーミング送信、ダウンロード送信、又は両方の組み合わせであることができる。
[0049]本開示の技法は、無線の用途又はセッティングには必ずしも限定されない。それらの技法は、映像コーディングに適用することができ、様々なマルチメディア用途、例えば、オーバー・ザ・エアテレビ放送、ケーブルテレビ送信、衛星テレビ送信、インターネットストリーミング映像送信、例えば、ダイナミックアダプティブストリーミングオーバーHTTP(DASH)、符号化されてデータ記憶媒体上に格納されるデジタル映像、データ記憶媒体に格納されたデジタル映像の復号、又はその他の用途をサポートする。幾つかの例では、システム10は、映像ストリーミング、映像再生、映像放送、及び/又は映像テレフォニー、等の用途をサポートするために1方向又は2方向の映像送信をサポートするように構成することができる。
[0050]図1の例では、ソースデバイス12は、映像ソース18と、映像符号器20と、出力インタフェース22と、を含む。行先デバイス14は、入力インタフェース28と、映像復号器30と、表示装置32と、を含む。この開示により、ソースデバイス12の映像符号器20は、複数の規格又は拡張規格に準拠して映像データを含むビットストリームをコーディングするための技法を適用するように構成することができる。その他の例では、ソースデバイス及び行先デバイスは、その他のコンポーネント又は配置を含むことができる。例えば、ソースデバイス12は、外部の映像ソース18、例えば、外部のカメラ、から映像データを受信することができる。同様に、行先デバイス14は、一体化された表示装置を含むのではなく、外部の表示装置とインタフェースすることができる。
[0051]図1の例示されるシステム10は、単なる1つの例である。現在のブロックに関する動きベクトル予測子に関する候補リストに関する候補を決定するための技法を、あらゆるデジタル映像符号化及び/又は復号デバイスによって実行することができる。概して、本開示の技法は、映像符号化デバイスによって実行されるが、それらの技法は、典型的には“CODEC”と呼ばれる映像符号器/復号器によって実行することもできる。さらに、本開示の技法は、映像プリプロセッサによって実行することもできる。ソースデバイス12及び行先デバイス14は、該コーディングデバイスの単なる例であり、ソースデバイス12は、行先デバイス14への送信のためのコーディングされた映像データを生成する。幾つかの例では、デバイス12、14は、実質的に対称的な形で動作することができ、従って、デバイス12、14の各々は、映像符号化及び復号コンポーネントを含む。従って、システム10は、例えば、映像ストリーミング、映像再生、映像放送、及び/又は映像テレフォニーのためにデバイス12、14間での1方向又は2方向の映像送信をサポートすることができる。
[0052]ソースデバイス12の映像ソース18は、映像キャプチャデバイス、例えば、ビデオカメラ、以前にキャプチャされた映像が入った映像アーカイブ、及び/又は映像コンテンツプロバイダからの映像を受信するための映像フィードインタフェースを含むことができる。さらなる代替として、映像ソース18は、コンピュータグラフィックスに基づくデータを、ソース映像、又は、ライブ映像、アーカイブに保存された映像、及びコンピュータによって生成された映像の組み合わせとして生成することができる。幾つかの事例においては、映像ソース18がビデオカメラである場合は、ソースデバイス12及び行先デバイス14は、いわゆるカメラフォン又はビデオフォンであることができる。しかしながら、上記のように、本開示において説明される技法は、映像コーディング全般に適用可能であり、無線及び/又は有線用途に適用することができる。各事例において、キャプチャされた、予めキャプチャされた、又はコンピュータによって生成される映像は、映像符号器20によって符号化することができる。符号化された映像情報は、出力インタフェース22によってコンピュータによって読み取り可能な媒体16上に出力することができる。
[0053]コンピュータによって読み取り可能な媒体16は、一時的な媒体、例えば、無線放送又は有線ネットワーク送信、又は記憶媒体(すなわち、非一時的な記憶媒体)、例えば、ハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、Blu−ray(登録商標)ディスク、又はその他のコンピュータによって読み取り可能な媒体、を含むことができる。幾つかの例においては、ネットワークサーバ(示されていない)は、例えば、ネットワーク送信、直接有線通信、等を介して、符号化された映像データをソースデバイス12から受信し、符号化された映像データを行先デバイス14に提供することができる。同様に、媒体生産ファシリティ、例えば、ディスクスタンピングファシリティ、のコンピューティングデバイスは、符号化された映像データをソースデバイス12から受信し、符号化された映像データが入ったディスクを生産することができる。従って、コンピュータによって読み取り可能な媒体16は、様々な例においては、様々な形態の1つ以上のコンピュータによって読み取り可能な媒体を含むと理解することができる。
[0054]行先デバイス14の入力インタフェース28は、コンピュータによって読み取り可能な媒体16から情報を受信する。コンピュータによって読み取り可能な媒体16の情報は、映像符号器20によって定義された構文情報を含むことができ、それは、映像復号器30によっても使用され、ブロック及びその他のコーディングされたユニット、例えば、GOP、の特徴及び/又は処理を記述する構文要素を含む。表示装置32は、復号された映像データをユーザに表示し、及び、様々な表示装置、例えば、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、又は他のタイプの表示装置、を備えることができる。
[0055]映像符号器20及び映像復号器30は、映像コーディング規格、例えば、現在策定中の高効率映像コーディング(HEVC)規格、に従って動作することができ、及びHEVCテストモデル(HM)に準拠することができる。代替として、映像符号器20及び映像復号器30は、その他の独占規格又は工業規格、例えば、ITU−T H.264規格、代替でMPEG−4、Part10、Advanced Video Coding(AVC)と呼ばれる、又は該規格の拡張版、により動作することができる。本開示の技法は、特定のコーディング規格には限定されず、上記のあらゆる規格を含むがこれらに限定されない。映像コーディング規格のその他の例は、MPEG−2と、ITU−T H.263と、を含む。図1には示されていないが、幾つかの態様では、映像符号器20及び映像復号器30は、各々、音声符号器及び復号器と一体化することができ、及び、共通のデータストリーム又は別々のデータストリーム内の音声及び映像の両方の符号化を取り扱うための該当するMUX−DEMUXユニット、又はその他のハードウェア及びソフトウェアを含むことができる。該当する場合は、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、又はその他のプロトコル、例えば、ユーザデータグラムプロトコル(UDP)、に準拠することができる。
[0056]映像符号器20及び映像復号器30は、各々、様々な適切な符号器回路、例えば、1つ以上のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリートロジック、ソフトウェア、ハードウェア、ファームウェア又はそれらのあらゆる組み合わせのうちのいずれかとして実装することができる。技法がソフトウェア内において部分的に実装されるときには、デバイスは、ソフトウェアに関する命令を適切な、非一時的なコンピュータによって読み取り可能な媒体に格納することができ及び本開示の技法を実行するために1つ以上のプロセッサを用いてハードウェア内で命令を実行することができる。映像符号器20及び映像復号器30の各々は、1つ以上の符号器又は復号器に含めることができ、それらのいずれも、各々のデバイスにおいて結合された符号器/復号器(CODEC)の一部として一体化することができる。映像符号器20及び/又は映像復号器30を含むデバイスは、集積回路、マイクロプロセッサ、及び/又は無線通信デバイス、例えば、携帯電話、を備えることができる。
[0057]HEVC標準化努力は、HEVCテストモデル(HM)と呼ばれる映像コーディングデバイスの進化中のモデルに基づく。HMは、例えば、ITU−T H.264/AVC、による既存のデバイスに対する映像コーディングデバイスの幾つかの追加能力を想定している。例えば、H.264は9つのイントラ予測符号化モードを提供する一方で、HMは、33ものイントラ予測符号化モードを提供することができる。
[0058]概して、HMのワーキングモデルでは、映像フレーム又はピクチャは、ルマサンプル及びクロマサンプルの両方を含むツリーブロック又は最大コーディングユニット(LCU)のシーケンスに分割することができると記述している。ビットストリーム内の構文データは、LCUに関するサイズを定義することができ、それは、ピクセル数の点で最大のコーディングユニットである。スライスは、幾つかの連続するツリーブロックをコーディング順に含む。映像フレーム又はピクチャは、1つ以上のスライスに分割することができる。各ツリーブロックは、四分木(quadtree)に従ってコーディングユニット(CU)に分割することができる。概して、四分木データ構造は、CU当たり1つのノードを含み、ツリーブロックに対応する根ノードを有する。CUが4つのサブCUに分割される場合は、CUに対応するノードは、4つの葉ノードを含み、それらの各々は、サブCUのうちの1つに対応する。
[0059]四分木データ構造の各ノードは、対応するCUに関する構文データを提供することができる。例えば、四分木内のノードは、ノードに対応するCUがサブCUに分割されるかどうかを示すスプリットフラグを含むことができる。CUに関する構文要素は、繰り返し定義することができ、及び、CUがサブCUに分割されているかどうかに依存することができる。CUがさらに分割されない場合は、葉CUと呼ばれる。本開示では、葉CUの4つのサブCUも、オリジナルの葉CUの明示の分割が存在しない場合でも葉CUと呼ばれる。例えば、16×16のサイズのCUがさらに分割されない場合は、16×16のCUがまったく分割されなかったにもかかわらず、4つの8×8サブCUも葉CUと呼ばれる。幾つかの実施形態においては、CUは、2つのサブCU、又は何らかのその他の数のサブCUに分割することができる。
[0060]CUは、H.264規格のマクロブロックと同様の目的を有するが、CUは、サイズの区別は有さない。例えば、ツリーブロックは、4つの子ノード(サブCUとも呼ばれる)に分割することができ、各子ノードは親ノードであることができ、及び、他の4つの子ノードに分割することができる。最終的な、分割されない子ノードは、四分木の葉ノードと呼ばれ、葉CUとも呼ばれるコーディングノードを備える。コーディングされたビットストリームに関連する構文データは、ツリーブロックを分割することができる最大回数を定義することができ、最大CU深度と呼ばれ、及びコーディングノードの最小サイズを定義することもできる。従って、ビットストリームは、最小のコーディングユニット(SCU)も定義することができる。本開示は、HEVCの文脈におけるCU、PU、又はTUのうちのいずれか、又は、その他の規格の文脈における類似のデータ構造(例えば、H.264/AVCにおけるマクロブロック及びサブブロック)を意味するために用語“ブロック”を使用する。
[0061]CUは、コーディングノードと、そのコーディングノードに関連する予測ユニット(PU)及び変換ユニット(TU)を含む。CUのサイズは、コーディングノードのサイズに対応し、形状は正方形でなければならない。CUのサイズは、8×8ピクセルからツリーブロックのサイズまでの範囲であることができ、最大サイズは64×64ピクセル以上である。各CUには、1つ以上のPU及び1つ以上のTUが入ることができる。CUに関連する構文データは、例えば、1つ以上のPUへのCUの分割を記述することができる。分割モードは、CUがスキップ又は直接モード符号化されるか、イントラ予測モード符号化されるか、又はインター予測モード符号化されるかの間で異なることができる。PUは、形状が非正方形に分割することができる。CUに関連する構文データは、例えば、四分木による1つ以上のTUへのCUの分割も記述することができる。TUの形状は、正方形であっても非正方形(例えば、長方形)であってもよい。
[0062]HEVC規格は、TUによる変換を考慮しており、異なるCUごとに異なることができる。TUは、典型的には、分割されたLCUに関して定義される所定のCU内のPUのサイズに基づいてサイズが設定されるが、常にそうであるわけではない。TUは、典型的には、PUと同じサイズであるか又はそれよりも小さい。幾つかの例では、CUに対応する残差サンプルは、“残差四分木(RQT)”と呼ばれる四分木構造を用いてより小さいユニットに細分割することができる。RQTの葉ノードは、変換ユニット(TU)と呼ぶことができる。TUに関連するピクセル差分値は、変換係数を生成するために変換することができ、それらは量子化することができる。
[0063]葉CUは、1つ以上の予測ユニット(PU)を含むことができる。概して、PUは、対応するCUの全部又は一部に対応する空間エリアを表し、PUに関する基準サンプルを取り出すためのデータを含むことができる。さらに、PUは、予測に関連するデータを含む。例えば、PUがイントラモード符号化されるときには、PUに関するデータを残差四分木(RQT)に含めることができ、それは、PUに対応するTUに関するイントラ予測モードを記述するデータを含むことができる。他の例として、PUがインターモード符号化されるときには、PUは、PUに関する1つ以上の動きベクトルを定義するデータを含むことができる。PUに関する動きベクトルを定義するデータは、例えば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルに関する解像度(例えば、1/4サンプル精度又は1/8サンプル精度)、動きベクトルが指し示す基準ピクチャ、及び/又は動きベクトルに関する基準ピクチャリスト(例えば、リスト0、リスト1、又はリストC)を記述することができる。
[0064]1つ以上のPUを有する葉CUは、1つ以上の変換ユニット(TU)を含むこともできる。変換ユニットは、上述されるように、RQT(TU四分木構造とも呼ばれる)を用いて指定することができる。例えば、スプリットフラグは、葉CUが4つの変換ユニットに分割されるかどうかを示すことができる。次に、各変換ユニットは、さらなるサブTUにさらに分割することができる。TUがさらに分割されないときには、それは、葉TUと呼ぶことができる。概して、イントラコーディングに関しては、葉CUに属するすべての葉TUが同じイントラ予測モードを共有する。すなわち、概して、葉CUのすべてのTUに関する予測値を計算するために同じイントラ予測モードが適用される。イントラコーディングに関して、映像符号器は、TUに対応するCUの部分とオリジナルブロックとの間の差分として、イントラ予測モードを用いて各葉TUに関する残差値を計算することができる。TUは、PUのサイズに必ずしも限定されない。従って、TUは、PUよりも大きいこと又はより小さいことができる。イントラコーディングに関して、PUは、同じCUに関する対応する葉TUと共配置することができる。幾つかの例では、葉TUの最大サイズは、対応する葉CUのサイズに対応することができる。幾つかの例では、葉TUの最大サイズは、対応する葉CUのサイズに対応することができる。
[0065]さらに、葉CUのTUは、残差四分木(RQT)と呼ばれる各々の四分木データ構造と関連付けることもできる。すなわち、葉CUは、葉CUがどのようにしてTUに分割されるかを示す四分木を含むことができる。TU四分木の根ノードは、概して、葉CUに対応し、CU四分木の根ノードは、概して、ツリーブロック(又はLCU)に対応する。分割されないRQTのTUは、葉TUと呼ばれる。概して、本開示は、別の記載がない限り、葉CU及び葉TUをそれぞれ意味するために用語CU及びTUを使用する。
[0066]映像シーケンスは、典型的には、一連の映像フレーム又はピクチャを含む。ピクチャのグループ(GOP)は、概して、映像ピクチャのうちの一連の1つ以上を備える。GOPは、GOP内に含まれるピクチャ数を記述する構文データをGOPのヘッダ、1つ以上のピクチャのヘッダ、又はその他の場所において含むことができる。ピクチャの各スライスは、各々のスライスに関する符号化モードを記述するスライス構文データを含むことができる。映像符号器20は、典型的には、映像データを符号化するために個々の映像スライス内の映像ブロックに対して動作する。映像ブロックは、CU内のコーディングノードに対応することができる。映像ブロックは、固定された又は可変のサイズを有することができ、及び、指定されたコーディング規格によりサイズが異なることができる。
[0067]一例として、HMは、様々なPUサイズの予測をサポートする。特定のCUのサイズが2N×2Nであると仮定すると、HMは、2N×2N又はN×NのPUサイズでのイントラ予測、及び2N×2N、2N×N、N×2N、又はN×Nの対称的PUサイズでのインター予測をサポートする。HMは、2N×nU、2N×nD、nL×2N、及びnR×2NのPUサイズでのインター予測に関する非対称的な分割もサポートする。非対称的な分割では、CUの1方の方向が分割されず、他方の方向が25%及び75%に分割される。25%の分割に対応するCUの部分は、“n”によって示され、“上(Up)”、“下(Down)”、“左(Left)”、又は“右(Right)”の表示文字によって後続される。従って、例えば、“2N×nU”は、水平に分割され、最上部が2N×0.5N PU、最下部が2N×1.5N PUである2N×2N CUを意味する。
[0068]本開示においては、“N×N”及び“N by N”は、垂直及び水平の寸法に関する映像ブロックのピクセル寸法を意味するために互換可能な形で使用することができ、例えば、16×16ピクセル又は16 by 16ピクセル。概して、16×16ブロックは、垂直方向に16ピクセル(y=16)及び水平方向に16ピクセル(x=16)を有することになる。同様に、N×Nブロックは、概して、垂直方向にNのピクセル及び水平方向にNのピクセルを有し、ここで、Nは、負でない整数値を表す。ブロック内のピクセルは、行及び列で配列することができる。さらに、ブロックは、水平方向と垂直方向で必ずしも同じピクセル数を有する必要がない。例えば、ブロックは、N×Mサンプルを備えることができ、ここで、Mは必ずしもNと等しくない。
[0069]CUのPUを用いたイントラ予測又はインター予測コーディングに引き続き、映像符号器20は、CUのTUに関する残差データを計算することができる。PUは、空間領域(ピクセル領域とも呼ばれる)において予測ピクセルデータを生成する方法又はモードを記述する構文データを備えることができ、及び、TUは、変換、例えば、離散コサイン変換(DCT)、整数変換、ウェーブレット変換、又は概念的に類似する変換を残差映像データに適用後に変換領域において係数を備えることができる。残差データは、符号化されないピクチャのピクセルとPUに対応する予測値との間のピクセル差分に対応することができる。映像符号器20は、CUに関する残差データを含むTUを形成することができ、次に、CUに関する変換係数を生成するためにTUを変換することができる。
[0070]変換係数を生成するための変換に引き続き、映像符号器20は、それらの変換係数の量子化を行うことができる。量子化は、最も広義の通常の意味を有することが意図される広範な用語である。一実施形態においては、量子化は、係数を表すために使用されるデータ量を低減させ、さらなる圧縮を提供するために変換係数が量子化されるプロセスを意味する。量子化プロセスは、係数の一部又は全部に関連するビット深度を小さくすることができる。例えば、量子化中にnビット値が切り捨てられてmビット値になり、ここで、nはmよりも大きい。
[0071]映像符号器20は、構文データ、例えば、ブロックに基づく構文データ、フレームに基づく構文データ、及びGOPに基づく構文データ、を、例えば、フレームヘッダ、ブロックヘッダ、スライスヘッダ、又はGOPヘッダに入れて映像復号器30にさらに送信することができる。GOP構文データは、各々のGOPにおけるフレームの数を記述することができ、フレーム構文データは、対応するフレームを符号化するために使用される符号化/予測モードを示すことができる。
映像符号器例
[0072]図2Aは、本開示において説明される態様により技法を実装することができる映像符号器20の例を示したブロック図である。映像符号器20は、例えば、HEVCに関する映像フレームの単層を処理するように構成することができる。さらに、映像符号器20は、本開示のいずれかの又はすべての技法を実行するように構成することができる。図2Aにおいて描かれる例は、単層コーデックに関するものである。しかしながら、図2Bに関してさらに説明されるように、映像符号器20の一部又は全部を多層コーデックの処理のために複製することができる。
[0073]映像符号器20は、映像スライス内の映像ブロックのイントラ及びインターコーディングを行うことができる。イントラコーディングは、所定の映像フレーム又はピクチャ内の映像の空間的冗長性を低減又は除去するために空間的予測に依存する。インターコーディングは、映像シーケンスの隣接するフレーム又はピクチャ内の映像の時間的冗長性を低減又は除去するために時間的予測に依存する。イントラモード(Iモード(登録商標))は、幾つかの空間に基づくコーディングモードのうちのいずれかを意味することができる。インターモード、例えば、単一方向性予測(Pモード)又は両方向性予測(Bモード)は、幾つかの時間に基づくコーディングモードのうちのいずれかを意味することができる。
[0074]図2において示されるように、映像符号器20は、符号化されるべき映像フレーム内の現在の映像ブロックを受信する。図2の例では、映像符号器20は、再サンプリングユニット90と、モード選択ユニット40と、基準フレームメモリ64と、加算器50と、変換処理ユニット52と、量子化ユニット54と、エントロピー符号化ユニット56と、を含む。モード選択ユニット40は、動き補償ユニット44と、動き推定ユニット42と、イントラ予測ユニット46と、分割ユニット48と、を含む。映像ブロック再構築に関して、映像符号器20は、逆量子化ユニット58と、逆変換ユニット60と、加算器62と、を含む。再構築された映像からブロッキネスアーティファクトを除去するためにブロック境界をフィルタリングするためにデブロッキングフィルタ(図2に示されていない)を含むこともできる。希望される場合は、デブロッキングフィルタは、典型的には、加算器62の出力をフィルタリングする。デブロッキングフィルタに加えて追加のフィルタ(インループ又はポストループ)も使用することができる。該フィルタは、簡潔さを目的として示されていないが、希望される場合は、(インループフィルタとして)加算器50の出力をフィルタリングすることができる。
[0075]符号化プロセス中に、映像符号器20は、コーディングされるべき映像フレーム又はスライスを受信する。フレーム又はスライスは、複数の映像ブロックに分割することができる。再サンプリングユニット90は、幾つかの事例においては、例えば、拡張層を生成するために受信された映像フレームの基本層をアップサンプリングすることができる。再サンプリングユニット90は、フレームの受信された基本層に関連する特定の情報をアップサンプリングすることができ、その他の情報はアップサンプリングすることができない。例えば、再サンプリングユニット90は、基本層の空間的サイズ又はピクセル数をアップサンプリングすることができるが、スライス数又はピクチャオーダーカウントは、一定であることができる。幾つの事例においては、再サンプリングユニット90は、受信された映像を処理することができず及び/又は任意選択であることができる。例えば、幾つかの事例においては、モード選択ユニット40は、アップサンプリングを行うことができる。幾つかの実施形態においては、再サンプリングユニット90は、層をアップサンプリングし、及び、一組のスライス境界規則及び/又はラスタスキャン規則に準拠するために1つ以上のスライスを再編成、再定義、修正、又は調整するように構成することができる。例えば、再サンプリングユニット90は、以下において図4A乃至7に関して説明される方法を実行するように構成することができる。主に、基本層、又はアクセスユニット内のより下位の層をアップサンプリングとして説明されているが、幾つかの事例においては、再サンプリングユニット90は、層をダウンサンプリングすることができる。例えば、映像のストリーミング中に帯域幅が短くされる場合は、フレームは、アップサンプリングの代わりにダウンサンプリングすることができる。
[0076]動き推定ユニット42及び動き補償ユニット44は、時間的予測を提供するために1つ以上の基準フレーム内の1つ以上のブロックに関して受信された映像ブロックのインター予測コーディングを行う。イントラ予測ユニット46は、代替として、空間的予測を提供するためにコーディングされるべきブロックと同じフレーム又はスライス内の1つ以上の近隣ブロックに関して受信された映像ブロックのイントラ予測コーディングを行うことができる。映像符号器20は、例えば、映像データの各ブロックに関して該当するコーディングモードを選択するために複数のコーディングパス(coding pass)を行うことができる。
[0077]さらに、分割ユニット48は、以前のコーディングパスにおける以前の分割方式の評価に基づいて、映像データのブロックをサブブロックに分割することができる。例えば、分割ユニット48は、最初にフレーム又はスライスをLCUに分割し、及び、レート−歪み解析(例えば、レート−歪み最適化)に基づいて各々のLCUをサブCUに分割することができる。幾つかの実施形態においては、分割ユニット48は、基準フレーム、基準ピクチャリスト、前フレーム、及び/又はフレーム自体に関連する情報に基づいてフレームに関するパーティションを予測する予測分割ユニット48であることができる。モード選択ユニット40は、サブCUへのLCUの分割を示す四分木データ構造をさらに生成することができる。四分木の葉ノードCUは、1つ以上のPUと、1つ以上のTUと、を含むことができる。
[0078]モード選択ユニット40は、例えば、誤り結果に基づいてコーディングモードのうちの1つ、イントラ又はインター、を選択することができ、及び、結果的に得られたイントラ又はインターコーディングされたブロックを、残差ブロックデータを生成するために加算器50に及び基準フレームとして使用するための符号化されたブロックを再構築するために加算器62に提供する。モード選択ユニット40は、構文要素、例えば、動きベクトル、イントラモードインジケータ、分割情報、及びその他の構文情報、もエントロピー符号化ユニット56に提供する。
[0079]動き推定ユニット42及び動き補償ユニット44は、高度に一体化することができるが、概念上の目的のために別々に示されている。動き推定は、動き推定ユニット42によって行われ、映像ブロックに関する動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、例えば、現在のフレーム(又はその他のコーディングされたユニット)内のコーディング中の現在のブロックに対する基準フレーム(又はその他のコーディングされたユニット)内の予測ブロックに対する現在の映像フレーム又はピクチャ内の映像ブロックのPUの変位を示すことができる。予測ブロックは、ピクセル差分の点でコーディングされるべき映像ブロックのPUに密接にマッチングすることが判明しているブロックであり、差分絶対値和(SAD)、差分二乗和(SSD)、又はその他の差分メトリックによって決定することができる。幾つかの例では、映像符号器20は、基準フレームメモリ64に格納された基準ピクチャの整数未満のピクセル位置に関する値を計算することができる。例えば、映像符号器20は、基準ピクチャの1/4ピクセル位置、1/8ピクセル位置、又はその他の分数のピクセル位置の値を内挿することができる。従って、動き推定ユニット42は、完全ピクセル位置及び分数ピクセル位置に関する動き探索を行い、分数のピクセル精度を有する動きベクトルを出力することができる。
[0080]動き推定ユニット42は、インターコーディングされたスライス内の映像ブロックのPUの位置を基準ピクチャの予測ブロックの位置と比較することによってそのPUに関する動きベクトルを計算する。基準ピクチャは、第1の基準ピクチャリスト(リスト0)又は第2の基準ピクチャリスト(リスト1)から選択することができ、それらの各々は、基準フレームメモリ64に格納された1つ以上の基準ピクチャを識別する。動き推定ユニット42は、計算された動きベクトルをエントロピー符号化ユニット56及び動き補償ユニット44に送信する。
[0081]動き補償は、動き補償ユニット44によって行われ、動き推定ユニット42によって決定された動きベクトルに基づいて予測ブロックをフェッチ又は生成することを含むことができる。繰り返すと、幾つかの例では、動き推定ユニット42及び動き補償ユニット44は、機能的に一体化することができる。現在の映像ブロックのPUに関する動きベクトルを受信した時点で、動き補償ユニット44は、基準ピクチャリストのうちの1つにおいて動きベクトルが指し示す予測ブロックの位置を突き止めることができる。加算器50は、後述されるように、コーディング中の現在の映像ブロックのピクセル値から予測ブロックのピクセル値を減じることによって残差映像ブロックを形成し、ピクセル差分値を形成する。概して、動き推定ユニット42は、ルマコンポーネントに関する動き推定を行い、動き補償ユニット44は、クロマコンポーネント及びルマコンポーネントの両方に関するルマコンポーネントに基づいて計算された動きベクトルを使用する。モード選択ユニット40は、映像スライスの映像ブロックを復号する際に映像復号器30によって使用するために映像ブロック及び映像スライスと関連付けられた構文要素を生成することもできる。
[0082]イントラ予測ユニット46は、上述されるように、動き推定ユニット42及び動き補償ユニット44によって行われるインター予測の代替として、現在のブロックをイントラ予測又は計算することができる。特に、イントラ予測ユニット46は、現在のブロックを符号化するために使用すべきイントラ予測モードを決定することができる。幾つかの例では、イントラ予測ユニット46は、例えば、別々の符号化パス(encoding pass)中に、様々なイントラ予測モードを用いて現在のブロックを符号化することができ、及び、イントラ予測ユニット46(又は、幾つかの例では、モード選択ユニット40)は、使用すべき適当なイントラ予測モードを試験されたモードから選択することができる。
[0083]例えば、イントラ予測ユニット46は、様々な試験されたイントラ予測モードに関するレート−歪み解析を用いてレート−歪み値を計算すること、及び、試験されたモードの中で最良のレート−歪み特性を有するイントラ予測モードを選択することができる。レート−歪み解析は、概して、符号化されたブロックを生成するために符号化されたブロックとオリジナルの符号化されないブロックとの間の歪み(又は誤り)の量、及び符号化されたブロックを生成するために使用されるビットレート(すなわち、ビット数)を決定する。イントラ予測ユニット46は、いずれのイントラ予測モードがブロックに関する最良のレート−歪み値を呈するかを決定するために様々な符号化されたブロックに関する歪み及びレートから比率を計算することができる。
[0084]ブロックに関するイントラ予測モードを選択後は、イントラ予測ユニット46は、ブロックに関する選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット56に提供することができる。エントロピー符号化ユニット56は、選択されたイントラ予測モードを示す情報を符号化することができる。映像符号器20は、送信されたビットストリーム内に、複数のイントラ予測モードインデックステーブル及び複数の修正されたイントラ予測モードインデックステーブル(コードワードマッピングテーブルとも呼ばれる)を含む構成データ、様々なブロックに関するコンテキクストを符号化する定義、最も可能性の高いイントラ予測モードのインディケーション(indication)、イントラ予測モードインデックステーブル、及び各コンテキストに関して使用すべき修正されたイントラ予測モードインデックステーブルを含むことができる。
[0085]映像符号器20は、モード選択ユニット40からの予測データをコーディング中のオリジナルの映像ブロックから減じることによって残差映像ブロックを形成する。加算器50は、この減算動作を行うコンポーネント又はコンポーネント(複数)を表す。変換処理ユニット52は、変換、例えば、離散コサイン変換(DCT)又は概念的に類似の変換、を残差ブロックに適用し、残差変換係数値を備える映像ブロックを生成する。変換処理ユニット52は、DCTに概念的に類似するその他の変換を行うことができる。ウェーブレット変換、整数変換、サブバンド変換又はその他のタイプの変換も使用可能である。いずれの場合も、変換処理ユニット52は、残差ブロックに変換を適用し、残差変換係数のブロックを生成する。変換は、残差情報をピクセル値領域から変換領域、例えば、周波数領域、に変換することができる。変換処理ユニット52は、その結果得られた変換係数を量子化ユニット54に送信することができる。量子化ユニット54は、ビットレートをさらに低減させるために変換係数を量子化する。量子化プロセスは、係数のうちの一部又は全部に関連するビット深度を小さくすることができる。量子化度は、量子化パラメータを調整することによって修正することができる。幾つかの例では、量子化ユニット54は、量子化された変換係数を含む行列の走査を行うことができる。代替として、エントロピー符号化ユニット56は、走査を行うことができる。
[0086]量子化に引き続き、エントロピー符号化ユニット56は、量子化された変換係数をエントロピーコーディングする。例えば、エントロピー符号化ユニット56は、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、構文に基づくコンテキスト適応型バイナリ算術コーディング(SBAC)、確率間隔分割エントロピー(PIPE)コーディング、又はその他のエントロピーコーディング技法を実行することができる。コンテキストに基づくエントロピーコーディングの場合は、コンテキストは、近隣ブロックに基づくことができる。エントロピー符号化ユニット56によるエントロピーコーディングに引き続き、符号化されたビットストリームは、他のデバイス(例えば、映像復号器30)に送信すること、又は、のちの送信又は取り出しのためにアーカイブに保存することができる。
[0087]逆量子化ユニット58及び逆変換ユニット60は、例えば、基準ブロックとしてののちの使用のためにピクセル領域において残差ブロックを再構築するために逆量子化及び逆変換をそれぞれ適用する。動き補償ユニット44は、基準フレームメモリ64のフレームのうちの1つの予測ブロックに残差ブロックを加えることによって基準ブロックを計算することができる。動き補償ユニット44は、動き推定における使用のために整数未満のピクセル値を計算するために1つ以上の内挿フィルタを再構築された残差ブロックに適用することもできる。加算器62は、基準フレームメモリ64内での格納のために再構築された映像ブロックを生成するために動き補償ユニット44によって生成された動き補償された予測ブロックに再構築された残差ブロックを加える。再構築された映像ブロックは、後続する映像フレームにおいてブロックをインターコーディングするための基準ブロックとして動き推定ユニット42及び動き補償ユニット44によって使用することができる。
多層映像符号器例
[0088]図2Bは、本開示において説明される態様により技法を実装することができる多層映像符号器21の例を示したブロック図である。映像符号器21は、例えば、SHVC及びマルチビューコーディングに関する、多層映像フレームを処理するように構成することができる。さらに、映像符号器21は、本開示の技法のうちのいずれか又はすべてを実行するように構成することができる。
[0089]映像符号器21は、映像符号器20Aと、映像符号器20Bと、を含み、それらの各々は、映像符号器20として構成することができ及び映像符号器20に関して上述される機能を果たすことができる。さらに、参照数字の再使用によって示されるように、映像符号器20A、20Bは、システム及びサブシステムのうちの少なくとも一部を映像符号器20として含むことができる。映像符号器21は、2つの映像符号器20A、20Bを含むとして例示されているが、映像符号器21は、そのようには限定されず、あらゆる数の映像符号器20層を含むことができる。幾つかの実施形態においては、映像符号器21は、アクセスユニット内の各ピクチャ又はフレームに関する映像符号器20を含むことができる。例えば、5つのピクチャを含むアクセスユニットは、5つの符号器層を含む映像符号器によって処理又は符号化することができる。幾つかの実施形態においては、映像符号器21は、アクセスユニット内のフレームよりも多くの符号器層を含むことができる。幾つかの該事例においては、映像符号器層のうちの一部は、幾つかのアクセスユニットを処理するときには非アクティブであることができる。
[0090]映像符号器20A、20Bに加えて、映像符号器21は、より下位の層の符号器(例えば、映像符号器20A)の基準フレームメモリ64からピクチャ又はフレーム(又はピクチャに関連するピクチャ情報)を受信するように及びピクチャ(又は受信されたピクチャ情報)を再サンプリングするように構成される再サンプリングユニット90を含むことができる。この再サンプリングされたピクチャは、より下位の層の符号器と同じアクセスユニット内のピクチャを符号化するように構成されたより高位の層の符号器(例えば、映像符号器20B)のモード選択ユニット40に提供することができる。幾つかの事例においては、より高位の層の符号器は、より下位の層の符号器から1つの層だけ取り除かれる。その他の事例においては、図2Bの層0符号器と層1符号器との間に1つ以上のより高位の層の符号器が存在することができる。映像符号器21の再サンプリングユニット90は、映像符号器20の再サンプリングユニット90に関して説明される実施形態のうちの一部又は全部を含むことができる。例えば、再サンプリングユニット90は、映像符号器20Aの基準フレームメモリ64から受信されたピクチャをアップサンプリング又はダウンサンプリングするように構成することができる。
[0091]幾つかの事例においては、再サンプリングユニット90は、省略すること又は迂回することができる。該事例においては、映像符号器20Aの基準フレームメモリ64からのピクチャは、直接、又は、少なくとも再サンプリングユニット90に提供せずに、映像符号器20Bのモード選択ユニット40に提供することができる。例えば、映像符号器20Bに提供された映像データ及び映像符号器20Aの基準フレームメモリ64からの基準ピクチャが同じサイズ又は解像度である場合は、基準ピクチャは、再サンプリングせずに映像符号器20Bに提供することができる。
[0092]幾つかの実施形態においては、映像符号器21は、下位層符号器に提供されるべき映像データを映像符号器20Aに提供する前にダウンサンプリングユニット94を用いてダウンサンプリングする。代替として、ダウンサンプリングユニット94は、映像データをアップサンプリング又はダウンサンプリングすることが可能な再サンプリングユニット90であることができる。さらにその他の実施形態においては、ダウンサンプリングユニット94は、省くことができる。
[0093]図2Bにおいて例示されるように、映像符号器21は、マルチプレクサ98、又はmuxをさらに含むことができる。mux98は、結合されたビットストリームを映像符号器21から出力することができる。結合されたビットストリームは、映像符号器20A、20Bの各々からビットストリームを取り出し、所定の時間に出力されるビットストリームを交互させることによって生成することができる。幾つかの事例においては、2つの(又は、3つ以上の映像符号器層の場合はそれよりも多くの)ビットストリームを、一度に1ビットずつ交互させることができる一方で、多くの場合は、ビットストリームは、異なる方法で結合される。例えば、出力ビットストリームは、選択されたビットストリームを一度に1つのブロックずつ交互させることによって生成することができる。他の例では、出力ビットストリームは、1:1の比でないブロックを各映像符号器20Aから出力することによって生成することができる。例えば、映像符号器20Aから出力される各ブロックに関して2つのブロックを映像符号器20Bから出力することができる。幾つかの実施形態においては、mux98からの出力ストリームは、予めプログラミングすることができる。その他の実施形態においては、mux98は、映像符号器21の外部のシステムから、例えば、ソースデバイス12のプロセッサから、受信された制御信号に基づいて映像符号器20A、20Bからのビットストリームを結合することができる。制御信号は、映像ソース18からの映像の解像度又はビットレートに基づいて、コンピュータによって読み取り可能な媒体16の帯域幅に基づいて、ユーザに関連する加入(例えば、有料加入対無料加入)に基づいて、又は映像符号器21からの希望される解像度出力を決定するためのその他の要因に基づいて、生成することができる。
映像復号器例
[0094]図3Aは、本開示において説明される態様により技法を実装することができる映像復号器30の例を示したブロック図である。映像復号器30は、例えば、HEVCに関する映像フレームの単層を処理するように構成することができる。さらに、映像復号器30は、本開示のいずれかの又はすべての技法を実行するように構成することができる。図3Aにおいて描かれる例は、単層コーデックに関するものである。しかしながら、図3Bに関してさらに説明されるように、映像符号器30の一部又は全部を多層コーデックの処理のために複製することができる。
[0095]図3の例においては、映像復号器30は、アップサンプリングユニット92と、エントロピー復号ユニット70と、動き補償ユニット72と、イントラ予測ユニット74と、逆量子化ユニット76と、逆変換ユニット78と、基準フレームメモリ82と、加算器80と、を含む。映像復号器30は、幾つかの例では、映像符号器20に関して説明された符号化パスと概して相互的な復号パスを行う(図2)。動き補償ユニット72は、エントロピー復号ユニット70から受信された動きベクトルに基づいて予測データを生成することができ、他方、イントラ予測ユニット74は、エントロピー復号ユニット70から受信されたイントラ予測モードインジケータに基づいて予測データを生成することができる。
[0096]復号プロセス中には、映像復号器30は、符号化された映像スライスの映像ブロックを表す符号化された映像ビットストリーム及び関連する構文要素を映像符号器20から受信する。映像復号器30のエントロピー復号ユニット70は、量子化された係数、動きベクトル又はイントラ予測モードインジケータ、及びその他の構文要素を生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット70は、動きベクトル及びその他の構文要素を動き補償ユニット72に転送する。映像復号器30は、映像スライスレベル及び/又は映像ブロックレベルで構文要素を受信することができる。
[0097]映像スライスがイントラコーディングされた(I)スライスとしてコーディングされるときには、イントラ予測ユニット74は、シグナリングされたイントラ予測モード及び現在のフレーム又はピクチャの以前に復号されたブロックからのデータに基づいて現在の映像スライスの映像ブロックに関する予測データを生成することができる。映像フレームがインターコーディングされた(すなわち、B、P又はGPB)スライスとしてコーディングされるときには、動き補償ユニット72は、動きベクトル及びエントロピー復号ユニット70から受信されたその他の構文要素に基づいて現在の映像スライスの映像ブロックに関する予測ブロックを生成する。予測ブロックは、基準ピクチャリストのうちの1つ内の基準ピクチャのうちの1つから生成することができる。映像復号器30は、基準フレームメモリ82に格納された基準ピクチャに基づいてデフォルト構築技法を用いて基準フレームリスト、リスト0及びリスト1、を構築することができる。
[0098]幾つかの実施形態においては、アップサンプリングユニット92は、フレーム又はアクセスユニットに関する基準ピクチャリストに追加されるべき拡張された層を生成するために受信された映像フレームの基本層をアップサンプリングすることができる。この拡張された層は、基準フレームメモリ82に格納することができる。幾つかの実施形態においては、アップサンプリングユニット92は、再サンプリングユニット90に関して説明される実施形態のうちの一部又は全部を含むことができる。幾つかの実施形態においては、アップサンプリングユニット92は、層をアップサンプリングし、及び、一組のスライス境界規則及び/又はラスタスキャン規則に準拠するために1つ以上のスライスを再編成、再定義、修正、又は調整するように構成される。例えば、アップサンプリングユニット92は、以下において図4A乃至7に関して説明される方法を実行するように構成することができる。幾つかの事例においては、アップサンプリングユニット92は、受信された映像フレームの層をアップサンプリング及び/又はダウンサンプリングするように構成された再サンプリングユニットであることができる。
[0099]動き補償ユニット72は、動きベクトル及びその他の構文要素を構文解析することによって現在の映像スライスの映像ブロックに関する予測情報を決定し、復号中の現在の映像ブロックに関する予測ブロックを生成するために予測情報を使用する。例えば、動き補償ユニット72は、映像スライス、インター予測スライスタイプ(例えば、Bスライス、Pスライス、又はGPBスライス)、スライスに関する基準ピクチャリストのうちの1つ以上に関する構築情報、スライスの各インター符号化された映像ブロックに関する動きベクトル、スライスの各インターコーディングされた映像ブロックに関するインター予測状態、及び現在の映像スライス内の映像ブロックを復号するためのその他の情報、の映像ブロックをコーディングするために使用される予測モード(例えば、イントラ又はインター予測)を決定するために受信された構文要素の一部を使用する。
[0100]動き補償ユニット72は、内挿フィルタに基づいて内挿を行うこともできる。動き補償ユニット72は、基準ブロックの整数未満のピクセルに関する内挿値を計算するために映像ブロックの符号化中に映像符号器20によって使用される内挿フィルタを使用することができる。この場合は、動き補償ユニット72は、受信された構文要素から映像符号器20によって使用される内挿フィルタを決定すること及び予測ブロックを生成するために内挿フィルタを使用することができる。
[0101]逆量子化ユニット76は、ビットストリーム内で提供され、エントロピー復号ユニット80によって復号された量子化された変換係数を逆量子化する、すなわち、量子化解除する。逆量子化プロセスは、量子化度、そして同様に、適用されるべき逆量子化度、を決定するために映像スライス内の各映像ブロックに関して映像復号器30によって計算された量子化パラメータQPYを使用することを含むことができる。
[0102]逆変換ユニット78は、ピクセル領域において残差ブロックを生成するために逆変換、例えば、逆DCT、逆整数変換、又は概念的に類似する逆変換プロセス、を変換係数に適用する。
[0103]動き補償ユニット72が動きベクトル及びその他の構文要素に基づいて現在の映像ブロックに関する予測ブロックを生成した後は、映像復号器30は、逆変換ユニット78からの残差ブロックを、動き補償ユニット72によって生成された対応する予測ブロックと加算することによって復号された映像ブロックを形成する。加算器80は、この加算動作を行うコンポーネント又はコンポーネント(複数)を表す。希望される場合は、ブロッキネスアーティファクトを除去するために復号されたブロックをフィルタリングするためにデブロッキングフィルタを適用することもできる。ピクセル遷移を平滑化するか又は映像品質を向上させるためにその他のループフィルタ(コーディングループ内又はコーディングループ後)も使用することができる。所定のフレーム又はピクチャ内の復号された映像ブロックは、基準ピクチャメモリ又は基準フレームメモリ82内に格納され、それは、後続する動き補償のために使用される基準ピクチャを格納する。基準フレームメモリ82は、表示装置、例えば、図1の表示装置、でののちの提示のために復号された映像も格納する。
多層復号器例
[0104]図3Bは、本開示において説明される態様により技法を実装することができる多層映像復号器31の例を示したブロック図である。映像復号器31は、例えば、SHVC及びマルチビューコーディングに関する多層映像フレームを処理するように構成することができる。さらに、映像復号器31は、本開示のいずれかの又はすべての技法を実行するように構成することができる。
[0105]映像復号器31は、映像復号器30Aと、映像復号器30Bと、を含み、それらの各々は、映像復号器30として構成することができ及び映像復号器30に関して上述される機能を果たすことができる。さらに、参照数字の再使用によって示されるように、映像復号器30A、30Bは、システム及びサブシステムのうちの少なくとも一部を映像復号器30として含むことができる。映像復号器31は、2つの映像復号器30A、30Bを含むとして例示されているが、映像復号器31は、そのようには限定されず、あらゆる数の映像復号器30層を含むことができる。幾つかの実施形態においては、映像復号器31は、アクセスユニット内の各ピクチャ又はフレームに関する映像復号器30を含むことができる。例えば、5つのピクチャを含むアクセスユニットは、5つの復号器層を含む映像復号器によって処理又は復号することができる。幾つかの実施形態においては、映像復号器31は、アクセスユニット内のフレームよりも多くの復号器層を含むことができる。幾つかの該事例においては、映像復号器層のうちの一部は、幾つかのアクセスユニットを処理するときには非アクティブであることができる。
[0106]映像復号器30A、30Bに加えて、映像復号器31は、より下位の層の復号器(例えば、映像復号器30A)の基準フレームメモリ64からピクチャ又はフレーム(又はピクチャに関連するピクチャ情報)を受信するように及びピクチャ(又は受信されたピクチャ情報)をアップサンプリングするように構成されるアップサンプリングユニット92を含むことができる。このアップサンプリングされたピクチャは、より下位の層の復号器と同じアクセスユニット内のピクチャを復号するように構成されたより高位の層の復号器(例えば、映像復号器30B)の動き補償ユニット72に提供することができる。幾つかの事例においては、より高位の層の復号器は、より下位の層の復号器から1つの層だけ取り除かれる。その他の事例においては、図3Bの層0復号器と層1復号器との間に1つ以上のより高位の層の復号器が存在することができる。映像復号器31のアップサンプリングユニット92は、映像復号器30のアップサンプリングユニット92に関して説明される実施形態のうちの一部又は全部を含むことができる。例えば、アップサンプリングユニット92は、映像復号器30Aの基準フレームメモリ82から受信されたピクチャをアップサンプリングするように構成することができる。
[0107]幾つかの事例においては、アップサンプリングユニット92は、省略すること又は迂回することができる。該事例においては、映像復号器30Aの基準フレームメモリ82からのピクチャは、直接、又は、少なくとも再サンプリングユニット92に提供せずに、映像復号器30Bの動き補償ユニット72に提供することができる。例えば、映像復号器30Bに提供された映像データ及び映像復号器30Aの基準フレームメモリ82からのピクチャが同じサイズ又は解像度である場合は、基準ピクチャは、アップサンプリングせずに映像復号器30Bに提供することができる。幾つかの実施形態においては、アップサンプリングユニット92からのアップサンプリングされた基準ピクチャは、動き補償ユニット72の代わりに又は動き補償ユニット72に加えて映像復号器30Bのイントラ予測ユニット74に提供することができる。さらに、幾つかの実施形態においては、アップサンプリングユニット92は、映像復号器30Aの基準フレームメモリ82から受信された基準ピクチャをアップサンプリング又はダウンサンプリングするように構成された再サンプリングユニット90であることができる。
[0108]図3Bにおいて例示されるように、映像復号器31は、デマルチプレクサ99、又はdemuxをさらに含むことができる。demux99は、符号化された映像ビットストリームを複数のビットストリームに分割することができ、demux99によって出力された各ビットストリームは、異なる映像復号器30A、30Bに提供される。複数のビットストリームは、ビットストリームを受信することによって及びどちらの映像復号器30A、30Bが所定の時間にビットストリームの一部分を受信するかによって生成することができる。幾つかの事例においては、demux99において受信されたビットストリームからのビットは、各映像復号器(例えば、映像復号器30の例では映像復号器30A及び30B)の間で1度に1つのビットずつ交互させることができる一方で、多くの事例においては、ビットストリームは、異なる形で分割される。例えば、ビットストリームは、どちらの映像復号器が1度に1つのブロックずつビットストリームを受信するかを交互させることによって分割することができる。他の例においては、ビットストリームは、1:1の比でないブロックによって各映像復号器30A、30Bに分割することができる。例えば、映像復号器30Aに提供される各ブロックに関して2つのブロックを映像復号器30Bに提供することができる。幾つかの実施形態においては、demux99によるビットストリームの分割は、予めプログラミングすることができる。その他の実施形態においては、demux99は、映像符号器21の外部のシステムから、例えば、行先デバイス14のプロセッサから、受信された制御信号に基づいてビットストリームを分割することができる。制御信号は、入力インタフェース28からの映像の解像度又はビットレートに基づいて、コンピュータによって読み取り可能な媒体16の帯域幅に基づいて、ユーザに関連する加入(例えば、有料加入対無料加入)に基づいて、又は映像復号器31によって入手可能な解像度を決定するためのその他の要因に基づいて、生成することができる。
第1のアップサンプリングされた基本層例
[0109]図4A乃至4Cは、基準ピクチャリストに含めることができ、拡張層を生成するために使用することができ、及び/又はアップサンプリングされた層を利用するその他のプロセスにおいて使用することができるアップサンプリングされた層(例えば、アップサンプリングされた基本層)を生成する第1の例を示す。図4A乃至4Cの例において、描かれるフレームは、同じフレームを表すことができるが、必ずしもフレーム内の同じ層ではない。換言すると、描かれたフレームは、同じアクセスユニットの一部であることができる。
図4Aにおいて例示される層402は、フレームの基本層を表すことができる。
しかしながら、その他の事例においては、層はあらゆるその他の層、例えば、幾つかの拡張層のうちの1つ、であることができる。
[0110]図4Aにおいて例示されるように、層402は、幾つかのスライス404A、406Aを含むことができる。2つのスライスの区分は、2つのスライス404A、406Aの間のスライス境界430Aから識別することができる。スライス境界430Aは、グリッドラインと比較してスライス境界430Aの増大した厚さによってフレームをコーディングユニットに分割するグリッドラインから区別することができる。
[0111]スライスの各々は、各スライスに関する情報及び/又はスライス特有の構文情報と関連付けることができる。このスライス情報は、各スライス404A、406Aに関するスライスヘッダ内に含めることができ又は例えば、マッピングテーブル又はその他のデータ構造を介して、他の場所に格納してスライスと関連付けることができる。スライス情報は、スライスと関連付けることができるあらゆるタイプの情報、例えば、ピクチャオーダーカウント、カラープレーン、スライス内の第1のコーディングツリーブロックのアドレス、等、を含むことができる。このスライス情報は、HEVC規格によって定義することができる。しかしながら、スライス情報は、そのようには限定されず、特定の規格と関連する又は関連しないその他の規格に基づく情報及び/又は特定用途に関する情報を含むことができる。
[0112]層402は、グリッドラインによって示されるように幾つかのコーディングユニット又はコーディングツリーユニット(CTU)に分割することができる。コーディングユニットは、様々なピクセルサイズであることができる。例えば、コーディングユニットは、16×16ピクセル又は64×64ピクセルであることができる。幾つかの事例においては、コーディングユニットは、最大のコーディングユニット(LCU)と呼ぶことができる。スライス404A、406Aは、幾つかのLCUを含むことができる。描かれた例においては、スライス404Aは、5つのLCUを含み、スライス406Aは、11のLCUを含む。層402の各ブロック又はCTUは、等しいサイズであるとして描かれているが、幾つかの実施形態においては、層402のCTUは、サイズが異なることができる。
[0113]概して、層402は、基本層を表すことができる。しかしながら、層402は、そのようには限定されない。幾つかの事例においては、層402は、後述される層412と同じアクセスユニット内に含められたあらゆる層であることができる。
[0114]図4Bは、層402、層412のアップサンプリングされたバージョンを描く。層412は、対応する基本層(例えば、層402)と関連付けられた基準ピクチャリストに含めることができる基準ピクチャ又は基準層を表すことができる。さらに、層412は、層402と同じアクセスユニット及び/又はタイムポイントと関連付けられた層間基準ピクチャであることができる。図4Bにおいて例示されるように、層412は、層402の2×のアップサンプリング、又はダイアディックアップサンプリング(dyadic upsampling)を表す。幾つかの事例においては、アップサンプリングは、スケーリングを含むことができる。例えば、層412内の各ボックス又はコーディングユニットは、2×アップサンプリングが適用されたときには層402内の各ボックス又はコーディングユニットの2×の長さ及び2×の幅であることができる。その他の事例においては、アップサンプリングされた層412の各ボックス又はコーディングユニットは、層402内のボックス又はコーディングユニットと同じサイズであることができる。幾つかの事例においては、アップサンプリングは、特定のスケール、例えば、整数スケール(例えば、2×、3×、5×、等)に制限される。その他の事例においては、アップサンプリングは、無制限であることができ、整数以外に基づくアップサンプリング(例えば、1.5×、3.3×、等)を含むことができる。さらに、ここにおける実施形態は、主にアップサンプリングを用いて説明されるが、幾つかの実施形態は、ダウンサンプリング(例えば、0.5×)を含むことができる。
[0115]層402と同様に、層412は、幾つかのスライス404B、406Bに分割することができる。2つのスライスの区分は、2つのスライス404B、406Bの間のスライス境界430Bから識別することができる。これらのスライス404B、406Bは、層412がアップサンプリングされた元の層のスライスに対応することができ、それは、示される例においては層402である。従って、図4Bの例においては、スライス404Bは、スライス404Aに対応し、404Aと同じスライス情報のうちの少なくとも一部を含み、及び、スライス406Bは、スライス406Aに対応し、406Aと同じスライス情報のうちの少なくとも一部を含む。さらに、スライス境界430Bは、スライス境界430Aが層402を分割する方法に対応する方法で層412を分割することができる。従って、スライス404Bは、スライス404Aと比例的に等しい数のLCUを含むことができ、スライス406Bは、スライス406Aと比例的に等しい数のLCUを含むことができる。例えば、スライス404A及び406Aは、層402のアップサンプリングに比例してアップサンプリングすることができ、従って、アップサンプリングされたスライス404B、406Bと基本層スライス404A、406Aとの間の空間的スケールは、アップサンプリングされた基準層412と基本層402との間のスケールと同じである。
[0116]フレームのLCUは、ラスタスキャン順序で、例えば、左から右に及び最上部から最下部へ、アクセスされるのがしばしば望ましく、幾つかの事例においてはそれが要求される。さらに、スライスは、他のスライスを処理する前に全体が処理されるのがしばしば望ましく、幾つかの事例においてはそれが要求される。これらの要求は、ラスタスキャン処理規則と時々呼ばれる。ラスタスキャン処理規則セットにはその他の規則を含めることもできる。ラスタスキャン処理規則を満たすことは、サブシステム(例えば、符号化/復号システム又はプロセッサ)が既存のシステムとともに機能することができるようにするためにしばしば望ましく、ただし必須ではない。換言すると、ラスタスキャン処理規則を満たさない符号器は、既存の画像処理システムとともに機能できないことがある。層412は、ラスタスキャン処理規則を満たさない。しかしながら、層402をアップサンプリングすることによって得られた層412は、ラスタスキャン順序での処理を維持しつつ、スライス406Bを処理する前にスライス404B全体が処理される(例えば、符号化される、復号される、等)ことを可能にしない。換言すると、層412のLCUの第3のロー(row)を処理することは、その結果として、スライス404Bが完全に処理される前にスライス406Bの第1のローのブロックが処理されることになる。
[0117]幾つかの実施形態においては、スライスは、アップサンプリングされた層412をラスタスキャン順序で処理するのを容易にするために及び後続するスライスを処理する前に各スライスの全体が処理されるようにするために再定義することができる。図4Cは、層422を入手するために層412を修正する例を示し、それは、ラスタスキャン処理規則を満たす。図4Cの例では、層412のスライスは、層422内の2つの新しいスライスを生成するために分割される。換言すると、層422のスライスは、各スライスの全体がラスタスキャン順序で処理することができるように再定義される。さらに、層412からの対応するスライスのスライスヘッダに含まれるスライス情報は、層422のスライスと関連付けることができる。従って、スライス440Aは、スライス404Bに含まれるスライス情報のうちの少なくとも一部を含むことができ、スライス440Bは、スライス404Bに含まれるスライス情報のうちの少なくとも一部を含むことができる。同様に、スライス442Aは、スライス406Bに含まれるスライス情報のうちの少なくとも一部を含むことができ、スライス442Bは、スライス406Bに含まれるスライス情報のうちの少なくとも一部を含むことができる。さらに、幾つかの事例においては、スライス440A及び440Bは、各々のスライスヘッダ内において同じスライス情報を含めることができる。層402をアップサンプリングし及び層402のアップサンプリングされたバージョンのスライスを再定義するためのプロセスが図6に関してさらに詳細に説明される。
第2のアップサンプリングされた基本層例
[0118]図5A乃至5Cは、基準ピクチャリストに含めることができ、拡張層を生成するために使用することができ、及び/又はアップサンプリングされた層を利用するその他のプロセスにおいて使用することができるアップサンプリングされた層(例えば、アップサンプリングされた基本層)を生成する第2の例を示す。図5A乃至5Cの例において、描かれるフレームは、同じフレームを表すことができるが、必ずしもフレーム内の同じ層ではない。換言すると、描かれたフレームは、同じアクセスユニットの一部であることができる。図5Aにおいて例示される層502は、フレームの基本層を表すことができる。
図5Aにおいて例示される層502は、フレームの基本層を表すことができる。
しかしながら、その他の事例においては、層はあらゆるその他の層、例えば、幾つかの拡張層のうちの1つ、であることができる。幾つかの事例においては、基準層は、拡張層として又は拡張層を導き出すために使用することができる。
[0119]図5Aにおいて例示されるように、層502は、幾つかのスライス504A、506Aを含むことができる。2つのスライスの区分は、2つのスライス504A、506Aの間のスライス境界530Aから識別することができる。図4A乃至4Cに関して前述されるように、スライス504A、506Aの各々は、スライスヘッダ内に存在することができる各スライスに関する情報及び/又は構文情報又は各スライスに関連するデータ構造と関連付けることができる。さらに、図4A乃至4Cに関して説明されるように、各スライス504A、506Aは、1つ以上のLCUから成ることができる。
[0120]図5Bは、層502、層512のアップサンプリングされたバージョンを描く。層512は、対応する基本層(例えば、層502)と関連付けられた基準ピクチャリスト内に含めることができる基準層を表すことができる。さらに、層512は、層502と同じアクセスユニット及び/又はタイムポイントに含まれる層間基準ピクチャであることができる。図5Bにおいて例示されるように、層512は、1.5×による層502のアップサンプリングを表す。さらに、図4Bに関して上述されるように、層502は、制限された一組のアップサンプリング任意選択肢に基づいてアップサンプリングすることができる。代替として、層502は、あらゆる率だけアップサンプリングすることができる。さらに、層502は、幾つかの事例においては、ダウンサンプリングすることができる。
[0121]層502とほとんど同様に、層512は、幾つかのスライス504B、506Bに分割することができる。2つのスライスの区分は、スライス境界530Bから識別することができる。幾つかの事例においては、スライス504B、506Bは、層502のスライス504A、506Aにそれぞれ対応する。概して、スライス504B、506Bは、対応するスライス504A、506Aからのスライス情報の少なくとも一部分を共有する。さらに、スライス境界430Bと同様に、スライス境界530Bは、スライス境界530Aが層502を分割する方法に対応する方法で層512を分割することができる。従って、例えば、スライス504Bは、スライス504Aが層502に占める割合と等しい割合を全体的層512に関して占めることができる。幾つかの実施形態においては、図5Bにおいて例示されるように、層502をアップサンプリングすることは、その結果として、スライス境界530BがLCUの少なくとも一部を幾つかの部分に分割することができる。
[0122]前述されるように、スライスは、他のスライスを処理する前に全体が処理されることがしばしば望ましい。さらに、スライスをラスタスキャン順序で処理するのが望ましい。さらに、スライスが全体的LCUを備えることがしばしば望ましい。部分的LCUではなく全体的LCUによってスライスが定義される1つの理由は、複数のスライスがスライスヘッダ内のLCUについて説明するのを防ぐためである。幾つかの実施形態においては、幾つかの処理動作、例えば、幾つかのイントラ予測動作、は、近隣ブロックがLCUを共有するかどうかを決定することを含むため、ブロックがLCU間で分割されないのが望ましい。ブロックがスライス境界を越えて分割されるときには、いずれのブロックが近隣物であるか及び/又は近隣ブロックが処理中のブロックとスライスを共有するかどうかを識別するのが困難である可能性がある。さらに、ブロックがスライス境界によって分割されないようにすることによって、復号及び符号化は、幾つかの事例においては、より少ない処理リソースを用いて行うことができる。さらに、映像情報をより効率的にコーディングするために、映像情報がラスタスキャン処理規則を満たすことが望ましく、幾つかの事例においては、各ブロック全体をラスタスキャン順序で処理することを含む。
[0123]幾つかの実施形態においては、スライスは、部分的LCUを含まずに全体的LCUを含むように再定義することができる。スライスを再定義することは、スライスがLCUブロック全体を含むようにするためにスライスに含まれていないLCUの一部分を切り上げる(round up)又は添付することを含むことができる。代替においては、スライスを再定義することは、スライスに含まれる部分的LCUを切り捨てる(round down)又は除外することを含むことができる。幾つかの事例においては、スライスを再定義することは、LCUの一部分を添付すること及び他のLCUの一部分を除外することの組み合わせを含むことができる。さらに、幾つかの事例においては、スライスは、ラスタスキャン処理規則を満たしつつスライスの変更数を最小にする方法で再定義することができる。
[0124]図5Cは、層522を入手するために層512を修正する例を示し、それは、全体的LCUのみ含む。層522のスライスは、各スライスが完全なLCU又はLCU全体のみを含むように再定義される。さらに、層512からの対応するスライスのスライスヘッダに含まれるスライス情報を層522のスライスと関連付けることができる。従って、スライス504Cは、スライス504Bに含まれるスライス情報の少なくとも一部を含むことができる。同様に、スライス506Cは、スライス506Bに含まれるスライス情報の少なくとも一部を含むことができる。さらに、幾つかの事例においては、層522のスライスの一部は、層512の対応するスライスよりも比例的に大きい又は小さいことができる。例えば、示される例においては、スライス504Cは、504Bよりも大きいが、スライス506Cは、506Bよりも小さい。層502をアップサンプリングし及び層502のアップサンプリングされたバージョンのスライスを再定義するためのプロセスが図7に関してさらに詳細に説明される。
[0125]図5Cの例において、スライスは、層512のスライス境界530Bを層522において右下に移動させることによって修正された。しかしながら、幾つかの事例においては、スライス境界530Bはその他の方法で調整することが可能である。例えば、スライス境界530Bは、左下に移動されており、従って、LCU562は、スライス504Cの代わりにスライス506Cに含まれている。幾つかの事例においては、スライス境界530B及び/又はスライスは、コーディングユニット関連付けの変化が最小になるように修正することができる。代替として、又はさらに加えて、スライス境界530B及び/又はスライスは、スライスを等しいサイズにより近づけるように修正することができる。幾つかの事例においては、スライス境界530B及び/又はスライスは、特定のスライスが最大のスライス又は最小のスライスであるか、又はその他のスライスに比例するように修正することができる。その他の事例においては、スライス境界530B及び/又はスライスは、LCU全体が単一のスライス内に含まれないようにLCUと交差するスライス境界530Bの部分のみが修正されるような形で修正することができる。
[0126]図4A乃至4C及び5A乃至5Cは、2つの別個の目的のために基準層のスライスを再定義する2つの別個の例として説明されるが、それらの2つの例は結合できることが注目されるべきである。換言すると、基準層のスライスは、全体的LCUブロックのみを含むように修正することができ、及び、スライスは、ラスタスキャン順序処理を維持するためにさらに分割することができる。従って、以下において図6及び7に関して説明されるプロセスは、結合することができ及び/又は同じフレーム及び/又はアクセスユニットに関して実行することができる。さらに、それらの例は、主にアップサンプリングを用いて説明されているが、ここにおいて説明されるシステム及びプロセスは、ピクチャ又はフレームをダウンサンプリングするときに使用するように好適化することができる。
第1の基本層アップサンプリングプロセス例
[0127]図6は、アップサンプリングされた基本層から基準層を生成するためのプロセス600の第1の例を示したフローチャートを提示する。プロセス600は、層をアップサンプリングすることができるあらゆるシステムによって実装することができる。例えば、プロセス600は、全体又は一部を、例えば、映像符号器20、映像復号器30、再サンプリングユニット90、動き推定ユニット42、動き補償ユニット44、イントラ予測ユニット46、分割ユニット48、アップサンプリングユニット92、動き補償ユニット72、及びイントラ予測ユニット74によって実装することができる。全体又は一部として、あらゆる数のシステムがプロセス600を実装することができるが、説明を単純化するために、プロセス600は、特定のシステムに関して説明される。幾つかの事例においては、システムは、基本層から拡張層ピクチャを生成する際に使用するために層をアップサンプリングすることができる。
[0128]プロセス600は、ブロック602において開始し、例えば、再サンプリングユニット90、又はその他のユニットが、フレームに関する基準層を入手するめために、フレーム又はアクセスユニットの基本層をアップサンプリングする。前述されるように、基本層は、あらゆる比、例えば、1.5×、2×、3×、等、でアップサンプリングすることができる。さらに、基本層は、幾つかの事例においてはダウンサンプリングすることができる。基本層をアップサンプリングすることは、基本層のスケール又は空間的解像度、層のルミナンス及びクロミナンス(又はYUV)データ、層に関する動きパラメータ、及び、アップサンプリングすることができる層のあらゆるその他のデータのうちの1つ以上をアップサンプリングすることを含むことができる。層をアップサンプリングすることに関するさらなる実施形態が"PREDICTION MODE INFORMATION UPSAMPLING FOR SCALABLE VIDEO CODING"(スケーラブル映像コーディングに関する予測モード情報アップサンプリング)という題名を有する米国特許出願第14/035,129(出願日:2013年9月24日)において説明されており、ここにおける引用によってそれ全体がここに組み入れられている。
[0129]ここにおいて説明される実施形態は、主に、フレームの基本層をアップサンプリングすることに関して説明されているが、本開示の実施形態は、フレームのその他の層に適用することができる。例えば、拡張層は、基準層を入手するためにアップサンプリングすることができ、それは、幾つかの事例においては、フレームに関する他の拡張層を生成するために使用することができる。
[0130]ブロック604において、分割ユニット48、又はその他のユニットは、ブロック602において生成された基準層に関するスライスパーティションパターンを決定する。スライスパーティションパターンを決定することは、基準層に関連する1つ以上のスライスヘッダにアクセスすることを含むことができる。代替として、又はさらに加えて、スライスパーティションパターンを決定することは、基準層に関連するメタデータにアクセスすることを含むことができる。このメタデータは、基準層とともに及び/又は1つ以上の層及び/又はフレームに関するメタデータを格納するように構成されたデータ構造において格納することができる。
[0131]分割ユニット48、又はその他のユニットは、決定ブロック606において、各スライスがラスタスキャンパターンを満たすかどうかを決定する。概して、ラスタスキャンパターンを満たすために、スライスは、左から右に水平な順序で及び最上部から最下部に向かって1行ずつ処理されるように構成される。しかしながら、本開示は、そのようには限定されず、その他のパターンが可能である。例えば、スライスは、水平ではなく垂直に構成することができ、各スライスは、最上部から最下部に向かって(又はその逆)及び左から右に処理することができる。第2の例として、一組の交互の走査線を左から右に、第2の組の交互の走査線を右から左に処理することができる。第3の例として、LCUは、対角線の走査順序で処理することができる。利用される特定のラスタスキャンパターンにかかわらず、スライスは、概して、ラスタスキャンに基づく処理を利用するときには他のスライスが処理される前に全体が処理される。しかしながら、幾つかの実施形態においては、複数のスライスを平行して少なくとも部分的に処理することができる。例えば、マルチプロセッサに基づくシステムにおいては、少なくとも幾つかのスライスを平行して処理することができる。
[0132]各スライスがラスタスキャンパターンを満たすかどうかを決定することは、各スライスに関連するスライスヘッダにアクセスすることを含むことができる。幾つかの事例においては、各スライスがラスタスキャンパターンを満たすかどうかを決定することは、スライスの最も高いカラム内のブロック数、又はLCUによって測定されたスライスの高さが1つのブロック、又はLCUよりも大きくなく、スライスの最も短いカラムの高さよりも高いかどうかを決定することを含むことができる。図4Bにおいて例示されるように、水平走査が適用される場合は、スライス404B又はスライス406Bのいずれもラスタスキャンパターンを満たさない。その理由は、各スライスのカラム間の高さ差異が1よりも大きいためである。換言すると、カラム1又はカラム2(例えば、HT1)の高さとカラム3又は後続するカラム(例えば、HT2)との間の差分は、2つのLCUである。しかしながら、層422のスライスは、確かにラスタスキャンパターンを満たす。上例では高さが使用されるが、その他の実施形態では長さを使用することができる。概して、高さは、LCUブロックの単位で測定することができる。しかしながら、幾つかの実施形態においては、高さは、その他の単位、例えば、ピクセル数、によって測定することができる。該実施形態においては、各スライスがラスタスキャンパターンを満たすかどうかを決定することは、カラム間の高さ差異がラスタスキャンパターンを用いて処理される単一のローの高さよりも高くないかどうかを決定することを含むことができる。
[0133]さらに、幾つかの事例においては、ブロック606は、スライスが2本以上の不完全な走査線を含むかどうかを決定することによって各スライスがラスタスキャンパターンを満たすかどうかを決定することができる。不完全な走査線は、LCUに分割された層のロー内に含めることができるLCUの総数よりも少ないLCU数を含むことができる。幾つかの例においては、決定ブロック606は、各スライスを1度に1つずつ解析することができ又は一部の又は全部のスライスを平行して解析することができる。
[0134]分割ユニット48、又はその他のユニットが、決定ブロック606において、スライスのうちの少なくとも1つがラスタスキャンパターンを満たさないと決定した場合は、ユニットは、ブロック608において、ラスタスキャンパターンを満たさない少なくとも1つのスライスを、ラスタスキャンパターンを満たす複数のスライスに分割する。ブロック608は、提供されるべきスライスのパターンに基づいて少なくとも1つのスライスを2つ以上のスライスに分割することを含むことができる。前記のように、スライスパターンは、スライスに関連するスライスヘッダに基づいて決定することができる。スライスは、ブロック608において、新しく生成されたサブスライスに関するラスタスキャンパターンを満たすために分割される。ラスタスキャンパターンを満たすためにスライスを複数のスライスに分割する一例が図4Cにおいて示される。
[0135]例6において例示されるように、ブロック608に関連するプロセスを完了させた後は、プロセス600は、決定ブロック606に戻ることができ、そこで、分割ユニット48は、基準層に関する更新されたスライスパーティションパターンがラスタスキャンパターンを満たすかどうかを決定することができる。代替として、プロセス600は、ブロック608を完了させた後にブロック610に進むことができる。
[0136]決定ブロック606において、基準層の各スライスがラスタスキャンパターンを満たすと分割ユニット48が決定した場合は、プロセス600は、ブロック610に進む。ブロック610において、基準層の各スライスに関して、分割ユニット48、又はその他のユニットは、基本層内の共配置されたスライスのスライス情報を基準層のスライスに割り当てるか又は関連付ける。共配置されたスライスのスライス情報を基準層の対応するスライスに割り当てる又は関連付けることは、基本層内の共配置されたスライスのスライスヘッダからの情報の少なくとも一部を含めるように基準層の対応するスライスのスライスヘッダを構成することを含むことができる。
[0137]幾つかの実施形態においては、分割ユニット48、又はその他のユニットは、フレームに関する基準ピクチャリストに基準層を加えることができる。幾つかの実施形態においては、基準ピクチャリストは、フレームを符号化及び/又は復号するのを容易にするために使用することができる。代替として、又はさらに加えて、基準ピクチャリストは、拡張層を生成するために使用することができる。
第2の基本層アップサンプリングプロセス例
[0138]図7は、アップサンプリングされた基本層から基準層を生成するためのプロセス700の第2の例を示したフローチャートを提示する。プロセス700は、層をアップサンプリングすることができるあらゆるシステムによって実装することができる。例えば、プロセス700は、全体又は一部を、例えば、映像符号器20、映像復号器30、再サンプリングユニット90、動き推定ユニット42、動き補償ユニット44、イントラ予測ユニット46、分割ユニット48、アップサンプリングユニット92、動き補償ユニット72、及びイントラ予測ユニット74によって実装することができる。全体又は一部として、あらゆる数のシステムがプロセス700を実装することができるが、説明を単純化するために、プロセス700は、特定のシステムに関して説明される。幾つかの事例においては、システムは、基本層から拡張層ピクチャを生成する際に使用するために層をアップサンプリングすることができる。
[0139]プロセス700は、ブロック702において開始し、例えば、再サンプリングユニット90が、フレームに関する基準層を入手するめために、フレーム又はアクセスユニットの基本層をアップサンプリングする。幾つかの実施形態においては、ブロック702は、ブロック602に関して説明される実施形態のうちの一部又は全部を含むことができる。例えば、ブロック702は、基準層を入手するために拡張層をアップサンプリングすることを含むことができ、それは、幾つかの事例においては、フレームに関する他の拡張層を生成するために使用することができる。
[0140]ブロック704において、分割ユニット48、又はその他のユニットは、ブロック702において生成された基準層に関するスライスパーティションパターンを決定する。ブロック702と同様に、ブロック704は、ブロック604に関して説明される実施形態のうちの一部又は全部を含むことができる。例えば、ブロック704は、基準層に関連する1つ以上のスライスヘッダにアクセスすることによってスライスパーティションパターンを決定することを含むことができる。
[0141]決定ブロック706において、分割ユニット48、又はその他のユニットは、基準層のスライスのうちのいずれかが部分的コーディングユニットブロックを含むかどうかを決定する。幾つかの実施形態においては、決定ブロック706は、ブロック606に関して前述される実施形態のうちの1つ以上を含むことができる。例えば、決定ブロック706は、スライスに関連するスライスヘッダにアクセスすることによってスライスが部分的コーディングユニットブロックを含むかどうかを決定することができる。さらに、幾つかの実施形態においては、基準層のスライスのうちのいずれかが部分的コーディングユニットブロックを含むかどうかを決定することは、スライスがラスタスキャンパターンを満たすかどうかを決定することを含む。さらに、(例えば、図5において例示されるように)基準層のスライスのうちのいずれかが部分的コーディングユニットブロックを含むかどうかを決定することは、スライス境界(例えば、スライス境界530B)がLCUと交差し、従って、LCUが複数のスライス内に部分的に含まれているかどうかを決定することを含むことができる。
[0142]スライスが部分的コーディングユニットを含むと分割ユニット48が決定した場合は、分割ユニット48、又はその他のユニットは、ブロック708において、全体的コーディングユニットブロックのみを含めるために基準層に関するスライスパーティションパターンを修正する。ブロック708に関連するプロセスは、スライスの1つ以上の部分的コーディングユニットがスライス内に完全に包含されるようにスライスを拡大又は修正することを含むことができる。さらに、ブロック708に関連するプロセスは、スライスの1つ以上の部分的コーディングユニットがスライスから除外されるようにスライスを縮小又は修正することを含むことができる。全体的コーディングユニットブロックのみを含めるようにスライスを修正する一例が図5Cにおいて示される。
[0143]例示されていないが、幾つかの事例においては、ブロック708は、更新されたスライスパーティション及び/又は追加のスライスが部分的コーディングユニットブロックを含むかどうかを決定するために決定ブロック706に戻ることができる。
[0144]スライスが部分的コーディングユニットブロックを含まないと分割ユニット48が決定した場合は、プロセス700は、ブロック710に進む。さらに、プロセス700は、少なくとも1つのスライスに関するブロック708の完了後にブロック710に進むことができる。ブロック710において、基準層の各スライスに関して、分割ユニット48は、基本層内の共配置されたスライスのスライス情報を基準層のスライスに割り当てる。共配置されたスライスのスライス情報を基準層の対応するスライスに割り当てることは、基本層内の共配置されたスライスのスライスヘッダからの情報のうちの少なくとも一部を含むように基準層の対応するスライスのスライスヘッダを構成することを含むことができる。
[0145]幾つかの実施形態においては、分割ユニット48、又はその他のユニットは、フレームに関する基準ピクチャリストに基準層を追加することができる。幾つかの実施形態においては、基準ピクチャリストは、フレームを符号化及び/又は復号するのを容易にするために使用することができる。代替として、又はさらに加えて、基準ピクチャリストは、拡張層を生成するために使用することができる。
[0146]プロセス600及び700は、独立して説明されるが、幾つかの実施形態においては、プロセス600及び700は、結合することができる。例えば、ブロック606及び706は、少なくとも部分的には、同じ動作の一部として同時並行して、又は順に、実行することができる。さらに、ブロック608及び708は、少なくとも部分的には、同じ動作の一部として同時並行して、又は順に、実行することができる。例えば、ブロック708は、ラスタスキャン処理規則を満たしつつ全体的コーディングユニットブロックのみを含めるように基準層に関するスライスパーティションパターンを修正することを含むことができ、それは、1つ以上のスライスを追加のスライスに分割するためにブロック608に関連するプロセスを実行することを含むことができる。
用語説明
[0147]例により、ここにおいて説明される技法のうちのいずれかの幾つかの行為又はイベントは、異なるシーケンスで実行すること、追加すること、結合すること、又はまったく無視できることが認識されるべきである(それらの技法の実践のためにすべての説明される行為又はイベントが必要なわけではない)。さらに、幾つかの例では、行為又はイベントは、順次ではなく、例えば、マルチスレッド処理、割り込み処理、又は複数のプロセッサを通じて、同時並行して実行することができる。
[00148]1つ以上の例において、説明される機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらのあらゆる組み合わせにおいて実装することができる。ソフトウェアにおいて実装される場合は、それらの機能は、コンピュータによって読み取り可能な媒体において1つ以上の命令又はコードとして格納又は送信すること及びハードウェアに基づく処理ユニットによって実行することができる。コンピュータによって読み取り可能な媒体は、コンピュータによって読み取り可能な記憶媒体を含むことができ、それは、有形な媒体、例えば、データ記憶媒体、又は、例えば、通信プロトコルにより、1つの場所から他へのコンピュータプログラムの転送を容易にするあらゆる媒体を含む通信媒体、に対応する。このように、コンピュータによって読み取り可能な媒体は、概して、(1)非一時的である有形なコンピュータによって読み取り可能な記憶媒体又は(2)通信媒体、例えば、信号又は搬送波、に対応することができる。データ記憶媒体は、本開示において説明される技法の実装のために命令、コード及び/又はデータ構造を取り出すために1つ以上のコンピュータ又は1つ以上のプロセッサによってアクセスすることができるあらゆる利用可能な媒体であることができる。コンピュータプログラム製品は、コンピュータによって読み取り可能な媒体を含むことができる。
[0149]一例により、及び制限することなしに、該コンピュータによって読み取り可能な記憶媒体は、希望されるプログラムコードを命令又はデータ構造の形態で格納するために使用することができ及びコンピュータによってアクセス可能であるRAM、ROM、EEPROM、CD−ROM又はその他の光学ディスク記憶装置、磁気ディスク記憶装置、又はその他の磁気記憶デバイス、フラッシュメモリ、又はその他のいずれかの媒体を備えることができる。さらに、どのような接続も、コンピュータによって読み取り可能な媒体であると適切に呼ばれる。例えば、命令が、同軸ケーブル、光ファイバケーブル、より対線、デジタル加入者ライン(DSL)、又は無線技術、例えば、赤外線、無線、及びマイクロ波、を用いてウェブサイト、サーバ、又はその他の遠隔ソースから送信される場合は、該同軸ケーブル、光ファイバケーブル、より対線、DSL、又は無線技術、例えば赤外線、無線、及びマイクロ波、は、媒体の定義の中に含まれる。しかしながら、コンピュータによって読み取り可能な記憶媒体およびデータ記憶媒体は、コネクション、搬送波、信号、又はその他の遷移媒体は含まず、代わりに、非一時的な、有形の記憶媒体を対象とすることが理解されるべきである。ここにおいて用いられるときのディスク(disk及びdisc)は、コンパクトディスク(CD)(disc)と、レーザーディスク(登録商標)(disc)と、光ディスク(disc)と、デジタルバーサタイルディスク(DVD)(disc)と、フロッピー(登録商標)ディスク(disk)と、Blu−rayディスク(disc)と、を含み、ここで、diskは、通常は磁気的にデータを複製し、discは、レーザを用いて光学的にデータを複製する。上記の組み合わせも、コンピュータによって読み取り可能な媒体の適用範囲内に含められるべきである。
[0150]命令は、1つ以上のプロセッサ、例えば、1つ以上のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルロジックアレイ(FPGA)、又はその他の同等の集積又はディスクリート論理回路によって実行することができる。従って、ここにおいて用いられる場合の用語“プロセッサ”は、上記の構造又はここにおいて説明される技法の実装に適するあらゆるその他の構造のうちのいずれかを意味することができる。さらに、幾つかの態様では、ここにおいて説明される機能は、符号化および復号のために構成された専用のハードウェア及び/又はソフトウェアモジュール内において提供されること、又は組み合わされたコーデック内に組み入れることができる。さらに、技法は、1つ以上の回路又は論理素子内に完全に実装することが可能である。
[0151]本開示の技法は、無線ハンドセット、集積回路(IC)又は一組のIC(例えば、チップセット)を含む非常に様々なデバイス又は装置内に実装することができる。本開示では、開示される技法を実施するように構成されたデバイスの機能上の態様を強調するために様々なコンポーネント、モジュール、又はユニットが説明されるが、異なるハードウェアユニットによる実現は必ずしも要求しない。むしろ、上述されるように、様々なユニットは、適切なソフトウェア及び/又はファームウェアと関係させて、コーデックハードウェアユニット内において結合させること又は上述されるように1つ以上のプロセッサを含む相互運用的なハードウェアユニットの集合によって提供することができる。
[0126]様々な例が説明されている。これらの及びその他の例は、以下の請求項の範囲内である。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1]
映像情報をコーディングするための装置であって、
ピクチャに関連する映像情報を格納するように構成されたメモリユニットと、
前記メモリユニットと通信状態にあるプロセッサと、を備え、前記プロセッサは、
再サンプリングされたピクチャを入手するために基準ピクチャの映像情報を再サンプリングするように構成され、前記基準ピクチャは、複数のスライスを有し及び符号化されるべきピクチャと異なるピクチャサイズを有し、
前記再サンプリングされたピクチャ内の複数のスライスに関するスライス定義を決定するように構成され、前記再サンプリングされたピクチャの前記複数のスライスは、前記基準ピクチャの複数のスライスに対応し、
前記スライス定義に少なくとも部分的に基づいて、前記再サンプリングされたピクチャの前記複数のスライスの各々が1つ以上のスライス定義規則を満たすかどうかを決定するように構成され、及び
前記再サンプリングされたピクチャの前記複数のスライスのうちの少なくとも1つが少なくとも1つのスライス定義規則を満たさないと決定したことに応答して、前記スライス定義規則を満たすために前記少なくとも1つのスライス定義規則を満たさない前記再サンプリングされたピクチャ内の前記複数のスライスのうちの少なくとも一部に関する前記スライス定義を修正するように構成される、装置。
[C2]
前記プロセッサは、前記再サンプリングされたピクチャ内の前記複数のスライスからの1つのスライスが、第1のカラム内の前記スライスの高さと1つの最大のコーディングユニット(LCU)よりも大きい前カラム内の前記スライスの高さとの間の差異を含むかどうかを決定することによって前記再サンプリングされたピクチャの前記複数のスライスの各々が前記1つ以上のスライス定義規則を満たすかどうかを決定するようにさらに構成されるC1に記載の装置。
[C3]
前記プロセッサは、前記再サンプリングされたピクチャ内の前記複数のスライスからの1つのスライスが2本以上の不完全な走査線を含むかどうかを決定することによって前記再サンプリングされたピクチャの前記複数のスライスの各々が前記1つ以上のスライス定義規則を満たすかどうかを決定するようにさらに構成されるC1に記載の装置。
[C4]
前記プロセッサは、前記再サンプリングされたピクチャ内の前記複数のスライスからの1つのスライスが部分的LCUを含むかどうかを決定することによって前記再サンプリングされたピクチャ内の前記複数のスライスの各々が前記1つ以上のスライス定義規則を満たすかどうかを決定するようにさらに構成されるC1に記載の装置。
[C5]
前記プロセッサは、前記部分的LCUを丸めることによって少なくとも1つのスライス定義規則を満たさない前記再サンプリングされたピクチャ内の前記複数のスライスのうちの少なくとも一部に関する前記スライス定義を修正するようにさらに構成されるC4に記載の装置。
[C6]
前記部分的LCUを丸めることは、前記LCUを前記スライス定義から取り除くために前記部分的LCUを含む前記再サンプリングされたピクチャ内の前記複数のスライスのうちの少なくとも1つのスライスに関する前記スライス定義を修正することを備えるC5に記載の装置。
[C7]
前記部分的LCUを丸めることは、前記スライス定義に前記部分的LCUに対応する前記LCU全体を含めるために前記部分的LCUを含む前記再サンプリングされたピクチャ内の前記複数のスライスのうちの少なくとも1つのスライスに関する前記スライス定義を修正することを備えるC5に記載の装置。
[C8]
前記プロセッサは、前記複数の再サンプリングされたスライスのうちの少なくとも1つのスライスを複数のサブスライスに分割することによって少なくとも1つのスライス定義規則を満たさない前記再サンプリングされたピクチャ内の前記複数のスライスのうちの少なくとも一部に関する前記スライス定義を修正するようにさらに構成されるC1に記載の装置。
[C9]
前記複数のサブスライスのうちの少なくとも幾つかのサブスライスに関して、前記プロセッサは、前記再サンプリングされたピクチャ内の前記複数のスライスのうちの前記少なくとも1つのスライスのスライスヘッダ内に含まれる前記情報のうちの少なくとも一部を前記サブスライスのスライスヘッダと関連付けるようにさらに構成されるC8に記載の装置。
[C10]
前記基準ピクチャは、単層映像コーデックに関する基準ピクチャであるC1に記載の装置。
[C11]
前記プロセッサは、符号化されるべき現在のピクチャに関する基準ピクチャリストに前記再サンプリングされたピクチャを追加するようにさらに構成されるC10に記載の装置。
[C12]
前記プロセッサは、前記再サンプリングされた基準ピクチャを時間的動きベクトル誘導のための共配置されたピクチャとして使用するようにさらに構成されるC10に記載の装置。
[C13]
前記基準ピクチャは、多層映像コーデックにおいて符号化されるべき前記ピクチャよりも低い層からの基準ピクチャであるC1に記載の装置。
[C14]
前記プロセッサは、層間予測を行うために前記再サンプリングされたピクチャを使用するようにさらに構成されるC13に記載の装置。
[C15]
前記プロセッサは、符号化されるべき前記ピクチャに関する基準ピクチャリストに前記再サンプリングされたピクチャを追加するようにさらに構成されるC13に記載の装置。
[C16]
前記プロセッサは、前記基準ピクチャを時間的動きベクトル誘導のための共配置されたピクチャとして使用するようにさらに構成されるC13に記載の装置。
[C17]
前記プロセッサは、前記再サンプリングされたピクチャを用いて符号化されるべき前記ピクチャを符号化するようにさらに構成されるC1に記載の装置。
[C18]
前記プロセッサは、前記再サンプリングされたピクチャを用いて前記ピクチャを復号するようにさらに構成されるC1に記載の装置。
[C19]
前記プロセッサは、前記再サンプリングされたピクチャ内の各ブロックを、前記基準ピクチャ内の共配置されたブロックを含む前記スライスのスライスヘッダと関連付けるようにさらに構成されるC1に記載の装置。
[C20]
前記ブロックサイズは、16×16であるC19に記載の装置。
[C21]
デスクトップコンピュータ、ノートブックコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、セットトップボックス、電話ハンドセット、スマートフォン、スマートパッド、テレビ、カメラ、表示装置、デジタルメディアプレーヤー、ビデオゲームコンソール、又はビデオストリーミングデバイスのうちの1つ以上をさらに備えるC1に記載の装置。
[C22]
映像情報をコーディングする方法であって、
再サンプリングされたピクチャを入手するために符号化されるべきピクチャの基準ピクチャの映像情報を再サンプリングすることであって、前記基準ピクチャは、複数のスライスを有し及び符号化されるべき前記ピクチャと異なるピクチャサイズを有することと、
前記再サンプリングされたピクチャ内の複数の再サンプリングされたスライスに関するスライス定義を決定することであって、前記再サンプリングされたピクチャの前記複数のスライスは、前記基準ピクチャの複数のスライスに対応することと、
前記スライス定義に少なくとも部分的に基づいて、前記再サンプリングされたピクチャの前記複数のスライスの各々が1つ以上のスライス定義規則を満たすかどうかを決定することと、
前記再サンプリングされたピクチャの前記複数のスライスのうちの少なくとも1つが少なくとも1つのスライス定義規則を満たさないと決定したこと応答して、前記少なくとも1つのスライス定義規則を満たすために前記少なくとも1つのスライス定義規則を満たさない前記再サンプリングされたピクチャ内の前記複数のスライスのうちの少なくとも一部に関する前記スライス定義を修正することと、を備える、方法。
[C23]
前記決定することは、前記再サンプリングされたピクチャ内の前記複数のスライスからの1つのスライスが、第1のカラム内の前記スライスの高さと1つの最大のコーディングユニット(LCU)よりも大きい前カラム内の前記スライスの高さとの間の差異を含むかどうかを決定することによって前記再サンプリングされたピクチャの前記複数のスライスの各々が前記1つ以上のスライス定義規則を満たすかどうかを決定することを備えるC22に記載の方法。
[C24]
前記決定することは、前記再サンプリングされたピクチャの前記複数のスライスからの1つのスライスが2本以上の不完全な走査線を含むかどうかを決定することによって前記再サンプリングされたピクチャの前記複数のスライスの各々が前記1つ以上のスライス定義規則を満たすかどうかを決定することを備えるC22に記載の方法。
[C25]
前記決定することは、前記再サンプリングされたピクチャの前記複数のスライスからの1つのスライスが部分的LCUを含むかどうかを決定することによって前記再サンプリングされたピクチャの前記複数のスライスの各々が前記1つ以上のスライス定義規則を満たすかどうかを決定することを備えるC22に記載の方法。
[C26]
前記修正することは、前記部分的LCUを丸めることを備えるC25に記載の方法。
[C27]
前記部分的LCUを丸めることは、前記部分的LCUを前記スライス定義から取り除くために前記部分的LCUを含む前記再サンプリングされたピクチャ内の前記複数のスライスのうちの少なくとも1つのスライスに関する前記スライス定義を修正することを備えるC26に記載の方法。
[C28]
前記部分的LCUを丸めることは、前記スライス定義に前記部分的LCUに対応する前記LCU全体を含めるために前記部分的LCUを含む前記再サンプリングされたピクチャ内の前記複数のスライスのうちの少なくとも1つのスライスに関する前記スライス定義を修正することを備えるC26に記載の方法。
[C29]
前記修正することは、前記複数のスライスのうちの少なくとも1つのスライスを複数のサブスライスに分割することを備えるC22に記載の方法。
[C30]
前記複数のサブスライスのうちの少なくとも幾つかのサブスライスに関して、前記方法は、前記再サンプリングされたピクチャ内の前記複数のスライスのうちの前記少なくとも1つのスライスのスライスヘッダ内に含まれる前記情報のうちの少なくとも一部を前記サブスライスのスライスヘッダと関連付けることをさらに備えるC29に記載の方法。
[C31]
前記基準ピクチャは、単層映像コーデックに関する基準ピクチャであるC22に記載の方法。
[C32]
符号化されるべき前記ピクチャに関する基準ピクチャリストに前記再サンプリングされたピクチャを追加することをさらに備えるC31に記載の方法。
[C33]
前記再サンプリングされた基準ピクチャを時間的動きベクトル誘導のための共配置されたピクチャとして使用することをさらに備えるC31に記載の方法。
[C34]
前記基準ピクチャは、多層映像コーデックにおいて符号化されるべき前記ピクチャよりも低い層からの基準ピクチャであるC22に記載の方法。
[C35]
層間予測を行うために前記再サンプリングされたピクチャを使用することをさらに備えるC34に記載の方法。
[C36]
符号化されるべき前記ピクチャに関する基準ピクチャリストに前記再サンプリングされたピクチャを追加することをさらに備えるC34に記載の方法。
[C37]
前記再サンプリングされた基準ピクチャを時間的動きベクトル誘導のための共配置されたピクチャとして使用することをさらに備えるC34に記載の方法。
[C38]
前記再サンプリングされたピクチャを用いて符号化されるべき前記ピクチャを符号化することをさらに備えるC22に記載の方法。
[C39]
前記再サンプリングされた層を用いて前記ピクチャの符号化されたコピーを復号することをさらに備えるC22に記載の方法。
[C40]
前記再サンプリングされたピクチャ内の各ブロックを、前記基準ピクチャ内の前記共配置されたブロックを含む前記スライスのスライスヘッダと関連付けることをさらに備えるC22に記載の方法。
[C41]
前記ブロックサイズは、16×16であるC40に記載の方法。
[C42]
非一時的なコンピュータによって読み取り可能な記憶媒体であって、
実行されたときに、再サンプリングされたピクチャを入手するために基準ピクチャの映像情報を再サンプリングすることを少なくとも1つのプロセッサを備える装置に行わせる命令であって、前記基準ピクチャは、複数のスライスを有し及び符号化されるべきピクチャと異なるピクチャサイズを有する命令、
前記再サンプリングされたピクチャ内の複数のスライスに関するスライス定義を決定することを少なくとも1つのプロセッサを備える装置に行わせる命令であって、前記再サンプリングされたピクチャの前記複数のスライスは、前記基準ピクチャの複数のスライスに対応する命令、
前記スライス定義に少なくとも部分的に基づいて、前記再サンプリングされたピクチャの前記複数のスライスの各々が1つ以上のスライス定義規則を満たすかどうかを決定することを少なくとも1つのプロセッサを備える装置に行わせる命令、及び
前記再サンプリングされたピクチャの前記複数のスライスのうちの少なくとも1つが少なくとも1つのスライス定義規則を満たさないと決定したこと応答して、前記スライス定義規則を満たすために前記少なくとも1つのスライス定義規則を満たさない前記再サンプリングされたピクチャ内の前記複数のスライスのうちの少なくとも一部に関する前記スライス定義を修正することを少なくとも1つのプロセッサを備える装置に行わせる命令、を有する、非一時的なコンピュータによって読み取り可能な記憶媒体。
[C43]
前記装置は、前記再サンプリングされたピクチャの前記複数のスライスからの1つのスライスが部分的LCUを含むかどうかを決定することによって前記再サンプリングされたピクチャの前記複数のスライスの各々が前記1つ以上のスライス定義規則を満たすかどうかを決定するようにさらに構成されるC42に記載の非一時的なコンピュータによって読み取り可能な記憶媒体。
[C44]
1)前記部分的LCUを前記スライス定義から取り除くために、又は(2)前記スライス定義に部分的LCUに対応するLCU全体を含めるために前記部分的ブロックを含む前記複数のスライスのうちの少なくとも1つのスライスに関する前記スライス定義を修正することによって少なくとも1つのスライス定義規則を満たさない前記再サンプリングされたピクチャの前記複数のスライスのうちの少なくとも一部に関する前記スライス定義を修正するようにさらに構成されるC43に記載の非一時的なコンピュータによって読み取り可能な記憶媒体。
[C45]
前記装置は、前記複数のスライスのうちの少なくとも1つのスライスを複数のサブスライスに分割することによって少なくとも1つのスライス定義規則を満たさない前記再サンプリングされたピクチャの前記複数のスライスのうちの少なくとも一部に関する前記スライス定義を修正するようにさらに構成されるC42に記載の非一時的なコンピュータによって読み取り可能な記憶媒体。
[C46]
映像情報をコーディングするように構成された装置であって、
ピクチャに関連する映像情報を格納するための手段と、
再サンプリングされたピクチャを入手するために前記ピクチャの映像情報を再サンプリングするための手段であって、前記ピクチャは、複数のスライスを有する手段と、
前記再サンプリングされたピクチャの複数のスライスに関するスライス定義を決定するための手段であって、前記再サンプリングされたピクチャの前記複数のスライスは、前記ピクチャの前記複数のスライスに対応する手段と、
前記スライス定義に少なくとも部分的に基づいて、前記再サンプリングされたピクチャの前記複数のスライスの各々が1つ以上のスライス定義規則を満たすかどうかを決定するための手段と、
前記再サンプリングされたピクチャの前記複数のスライスのうちの少なくとも1つが前記1つ以上のスライス定義規則のうちの少なくとも1つを満たさないと決定したことに応答して前記再サンプリングされたピクチャの前記複数のスライスのうちの少なくとも一部に関する前記スライス定義を修正するための手段と、を備える、装置。
[C47]
映像情報を格納するための前記手段、再サンプリングのための手段、スライス定義を決定するための手段、決定するための手段、及び修正するための手段のうちの少なくとも2つは、同じ手段を備えるC46に記載の装置。
[C48]
決定するための前記手段は、前記再サンプリングされたピクチャの前記複数のスライスからの1つのスライスが部分的LCUを含むかどうかを決定することによって前記再サンプリングされたピクチャの前記複数のスライスの各々が前記1つ以上のスライス定義走査規則を満たすかどうかを決定するようにさらに構成されるC46に記載の装置。
[C49]
修正するための前記手段は、(1)前記部分的LCUを前記スライス定義から取り除くために、又は(2)前記スライス定義に前記部分的LCUに対応する前記LCU全体を含めるために前記部分的LCUを含む前記複数のスライスのうちの少なくとも1つのスライスに関する前記スライス定義を修正することによって前記再サンプリングされたピクチャの前記複数のスライスのうちの少なくとも一部に関する前記スライス定義を修正するようにさらに構成されるC48に記載の装置。
[C50]
修正するための前記手段は、前記複数のスライスのうちの少なくとも1つのスライスを複数のサブスライスに分割することによって前記再サンプリングされた層の前記複数のスライスのうちの少なくとも一部に関する前記スライス定義を修正するようにさらに構成されるC46に記載の装置。