JP2014525197A - ビデオコーディングのための適応パラメータセット - Google Patents

ビデオコーディングのための適応パラメータセット Download PDF

Info

Publication number
JP2014525197A
JP2014525197A JP2014521689A JP2014521689A JP2014525197A JP 2014525197 A JP2014525197 A JP 2014525197A JP 2014521689 A JP2014521689 A JP 2014521689A JP 2014521689 A JP2014521689 A JP 2014521689A JP 2014525197 A JP2014525197 A JP 2014525197A
Authority
JP
Japan
Prior art keywords
aps
data structure
aps data
slices
video
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2014521689A
Other languages
English (en)
Other versions
JP5886425B2 (ja
Inventor
チェン、イン
チョン、イン・スク
カークゼウィックズ、マルタ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2014525197A publication Critical patent/JP2014525197A/ja
Application granted granted Critical
Publication of JP5886425B2 publication Critical patent/JP5886425B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

一例では、ビデオデコーダは、適応パラメータセット(APS)データ構造をコーディングデバイスのバッファに記憶することであって、APSデータ構造が、ビデオデータの1つまたは複数のスライスに適用可能なシグナリングデータを含む、記憶することと、APSデータ構造のシグナリングデータに基づいてスライスのうちの少なくとも1つを復号することと、スライスを復号した後に、APSデータ構造がバッファから削除され得ることを判断することと、判断に基づいてバッファからAPSデータ構造を削除することと、バッファからAPSデータ構造を削除した後に、ビデオデータの1つまたは複数の追加のスライスを復号することとを行うように構成される。

Description

本出願は、そのそれぞれの全体が参照により本明細書に組み込まれる、2011年7月18日に出願された米国仮出願第61/509,015号、2011年7月25日に出願された米国仮出願第61/511,477号、および2011年9月29日に出願された米国仮出願第61/540,907号の利益を主張する。
本開示は、ビデオコーディングに関する。
デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラー電話または衛星無線電話、ビデオ遠隔会議デバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、デジタルビデオ情報をより効率的に送信および受信するために、MPEG−2、MPEG−4、ITU−T H.263またはITU−T H.264/MPEG−4、Part10、Advanced Video Coding(AVC)によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。
今度のビデオコーディング規格は、高効率ビデオコーディング(HEVC:High Efficiency Video Coding)規格、「HEVC Working Draft 7」、または「WD7」であり、2012年6月25日現在、http://phenix.it-sudparis.eu/jct/doc_end_user/documents/9_Geneva/wg11/JCTVC-I1003-v3.zipからダウンロード可能である、ドキュメントHCTVC−I1003、Brossら、「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、2012年4月27日〜2012年5月7日に記載されている。「HEVC Working Draft 6」または「WD6」と呼ばれる別のHEVCワーキングドラフトは、2012年6月25日現在、http://phenix.int-evry.fr/jct/doc_end_user/documents/8_San Jose/wg11/JCTVC-H1003-v22.zipからダウンロード可能である、ドキュメントJCTVC−H1003、Brossら、「High efficiency video coding (HEVC) text specification draft 6」、Joint Collaborative Team on Video Coding (JCT−VC) of ITU−T SG16 WP3 and ISO/IEC JTC1/SC29/WG11、8th Meeting: San Jose、California、USA、2012年2月に記載されている。
ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的予測および/または時間的予測を実行する。ブロックベースのビデオコーディングの場合、ビデオフレームまたはスライスはブロックに区分され得る。各ブロックはさらに区分され得る。イントラコード化(I)フレームまたはスライス中のブロックは、隣接ブロックに対する空間的予測を使用して符号化される。インターコード化(PまたはB)フレームまたはスライス中のブロックは、同じフレームまたはスライス中の隣接ブロックに関する空間的予測、あるいは前にコーディングされた参照フレームのデータに関する時間的予測を使用し得る。
概して、本開示では、ビデオコーディングのための適応パラメータセットを使用して、ビデオデータのスライスについての1つまたは複数のパラメータをシグナリングするための技法について説明する。さらに、本開示は、適応パラメータセットが、ビデオ復号デバイスなどのビデオコーディングデバイスのバッファから削除され得ることを判断するためのメモリ管理技法を提供する。このようにして、ビデオコーディングデバイスは、余分のデータをバッファに記憶することを回避し得、それにより、ビデオコーディングデバイスのメモリ利用を改善し得る。
一例では、ビデオデータを復号する方法は、適応パラメータセット(APS)データ構造をコーディングデバイスのバッファに記憶することであって、APSデータ構造が、ビデオデータの1つまたは複数のスライスに適用可能なシグナリングデータを含む、記憶することと、APSデータ構造のシグナリングデータに基づいてスライスのうちの少なくとも1つを復号することと、スライスを復号した後に、APSデータ構造がバッファから削除され得ることを判断することと、判断に基づいてバッファからAPSデータ構造を削除することと、バッファからAPSデータ構造を削除した後に、ビデオデータの1つまたは複数の追加のスライスを復号することとを含む。
別の例では、ビデオデータを復号するためのデバイスは、適応パラメータセット(APS)データ構造をコーディングデバイスのバッファに記憶することであって、APSデータ構造が、ビデオデータの1つまたは複数のスライスに適用可能なシグナリングデータを含む、記憶することと、APSデータ構造のシグナリングデータに基づいてスライスのうちの少なくとも1つを復号することと、スライスを復号した後に、APSデータ構造がバッファから削除され得ることを判断することと、判断に基づいてバッファからAPSデータ構造を削除することと、バッファからAPSデータ構造を削除した後に、ビデオデータの1つまたは複数の追加のスライスを復号することとを行うように構成されたビデオデコーダを含む。
別の例では、ビデオデータを復号するためのデバイスは、適応パラメータセット(APS)データ構造をコーディングデバイスのバッファに記憶するための手段であって、APSデータ構造が、ビデオデータの1つまたは複数のスライスに適用可能なシグナリングデータを含む、記憶するための手段と、APSデータ構造のシグナリングデータに基づいてスライスのうちの少なくとも1つを復号するための手段と、スライスを復号した後に、APSデータ構造がバッファから削除され得ることを判断するための手段と、判断に基づいてバッファからAPSデータ構造を削除するための手段と、バッファからAPSデータ構造を削除した後に、ビデオデータの1つまたは複数の追加のスライスを復号するための手段とを含む。
別の例では、コンピュータ可読記憶媒体は、実行されたとき、プロセッサに、適応パラメータセット(APS)データ構造をコーディングデバイスのバッファに記憶することであって、APSデータ構造が、ビデオデータの1つまたは複数のスライスに適用可能なシグナリングデータを含む、記憶することと、APSデータ構造のシグナリングデータに基づいてスライスのうちの少なくとも1つを復号することと、スライスを復号した後に、APSデータ構造がバッファから削除され得ることを判断することと、判断に基づいてバッファからAPSデータ構造を削除することと、バッファからAPSデータ構造を削除した後に、ビデオデータの1つまたは複数の追加のスライスを復号することとを行わせる命令を記憶する。
別の例では、ビデオデータを符号化する方法は、1つまたは複数のパラメータを使用してビデオデータの1つまたは複数のスライスの第1のセットを符号化することと、適応パラメータセット(APS)データ構造中で1つまたは複数のパラメータをシグナリングすることと、APSデータ構造に関係なく、1つまたは複数のスライスの第1のセットの判断されたスライスに続くビデオデータの1つまたは複数のスライスの第2のセットを符号化することとを含む。
別の例では、ビデオデータを符号化するためのデバイスは、1つまたは複数のパラメータを使用してビデオデータの1つまたは複数のスライスの第1のセットを符号化することと、適応パラメータセット(APS)データ構造中で1つまたは複数のパラメータをシグナリングすることと、APSデータ構造に関係なく、1つまたは複数のスライスの第1のセットの判断されたスライスに続くビデオデータの1つまたは複数のスライスの第2のセットを符号化することとを行うように構成されたビデオエンコーダを含む。
別の例では、ビデオデータを符号化するためのデバイスは、1つまたは複数のパラメータを使用してビデオデータの1つまたは複数のスライスの第1のセットを符号化するための手段と、適応パラメータセット(APS)データ構造中で1つまたは複数のパラメータをシグナリングするための手段と、APSデータ構造に関係なく、1つまたは複数のスライスの第1のセットの判断されたスライスに続くビデオデータの1つまたは複数のスライスの第2のセットを符号化するための手段とを含む。
別の例では、コンピュータ可読記憶媒体は、実行されたとき、プロセッサに、ビデオデータを符号化するためのデバイスであって、デバイスは、1つまたは複数のパラメータを使用してビデオデータの1つまたは複数のスライスの第1のセットを符号化することと、適応パラメータセット(APS)データ構造中で1つまたは複数のパラメータをシグナリングすることと、APSデータ構造に関係なく、1つまたは複数のスライスの第1のセットの判断されたスライスに続くビデオデータの1つまたは複数のスライスの第2のセットを符号化することとを行わせる命令を記憶する。
1つまたは複数の例の詳細を添付の図面および以下の説明に記載する。他の特徴、目的、および利点は、その説明および図面、ならびに特許請求の範囲から明らかになろう。
適応パラメータセット(APS)データ構造を利用するための技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。 APSデータ構造を利用するための技法を実装し得るビデオエンコーダの一例を示すブロック図。 APSデータ構造を利用するための技法を実装し得るビデオデコーダの一例を示すブロック図。 APSデータ構造を使用してビデオデータを符号化するための例示的な方法を示すフローチャート。 APSデータ構造を使用してビデオデータを復号するための例示的な方法を示すフローチャート。 APSデータ構造の様々な例を示す概念図。
概して、本開示では、ビデオデータのコーディングのための技法について説明する。ビデオデータは、一般に、コード化データと、コード化データの特性をシグナリングするためのシンタックスデータの両方を含む。コード化データは、フレームのコーディングユニット(CU)のための予測ユニット(PU:prediction unit)などの予測データを形成するためのデータ、ならびにCUのための変換ユニット(TU:transform unit)の量子化変換係数を含む。
シンタックスデータの1つのタイプは適応ループフィルタ(ALF)係数である。場合によっては、フィルタは、たとえば、ビデオデータをデブロックするために、復号されたビデオデータに適用される。コーディングプロセスの一部としてビデオコーディングデバイスによって適用されるとき、そのようなフィルタは、「インループ」で適用されると言われ、インループでは、フィルタ処理されたデータは、後でコーディングされるビデオデータに対する参照のために、すなわち、予測コーディングをサポートするために使用され得る。特に、フィルタデータは、予測コーディングにおいて使用するために復号ピクチャバッファ(DPB)に追加され得る。ビデオエンコーダは、個々に、たとえば、個々にフレームごとに、またはビデオデータのスライスごとに、ALFについてのフィルタ係数を判断し、ビットストリーム中のシンタックスデータとして係数を符号化し得る。
別のタイプのシンタックスデータはサンプル適応オフセット(SAO:sample adaptive offset)パラメータである。残差データは、コーディングされるべき元のブロックと、予測ブロックとの間のピクセル差分データを指す。残差データは空間領域から変換領域に変換され得る。残差データへの変換の適用は、周波数領域で表され得る変換係数を生成する。したがって、TUは、基本周波数を表す直流(DC)係数と、複数の交流(AC)係数とを有し得る。場合によっては、基本周波数についての係数はオフセット値によって変更され、シンタックスデータとしてシグナリングされ得る。追加または代替として、AC係数のうちの1つまたは複数の値もオフセット値によって変更され得る。これらのオフセット値はSAOパラメータとしてシグナリングされ得る。
高効率ビデオコーディング(HEVC)は、ビデオデータの1つまたは複数のスライスについてのALF係数およびSAOパラメータなどの様々なパラメータをシグナリングする適応パラメータセット(APS)データ構造を導入している。すなわち、APSデータ構造は、単一のスライスに適用され得るか、または複数のスライスに適用され得る。スライスは複数のAPSを使用し得、APSは2つ以上のスライスに適用され得る。各APSは識別子(ID)値を含み、スライスは、APSについてのIDをシグナリングすることによってAPSがそのスライスに適用されることを示し得る。APSについてのID値は、対応するビットストリームについてのAPSを一意に識別し得る。
HEVCのワーキングドラフト6において定義されているように、APSは、sample_adaptive_offset_enabled_flagまたはadaptive_loop_filter_enabled_flagのうちの少なくとも1つが1に等しいとき、1つまたは複数のコード化ピクチャのコード化スライスNALユニットによって参照され得るパラメータを含む。各適応パラメータセットRBSP[ローバイトシーケンスペイロード(raw byte sequence payload)]は、最初は、復号プロセスの動作の開始時にアクティブでないとみなされる。多くとも1つの適応パラメータセットRBSPが、復号プロセスの動作中の所与の瞬間においてアクティブであるとみなされ、特定の適応パラメータセットRBSPのアクティブ化は、(もしあれば)前のアクティブな適応パラメータセットRBSPの非アクティブ化を生じる。(aps_idの特定の値をもつ)適応パラメータセットRBSPがアクティブでなく、それが(aps_idのその値を使用して)コード化スライスNALユニットによって参照されるとき、その適応パラメータセットRBSPはアクティブにされる。この適応パラメータセットRBSPは、それが別の適応パラメータセットRBSPのアクティブ化によって非アクティブにされるまで、アクティブ適応パラメータセットRBSPと呼ばれる。aps_idのその特定の値をもつ適応パラメータセットRBSPは、それのアクティブ化より前の復号プロセスにとって利用可能である。上記の説明は、HEVC WD6、ページ67において記載されている。
シーケンスパラメータセット(SPS)およびピクチャパラメータセット(PPS)などの他のパラメータセットデータ構造の場合と同様に、APSは、従来、コード化ビデオシーケンスの終了までビデオコーディングデバイス、たとえば、ビデオデコーダのバッファに記憶される。しかしながら、APSは、SPSおよびPPSよりも著しく多くのデータを含む。本開示は、HEVCの従来の技法よりも効率的にAPSを扱うためのメモリ管理技法を提供する。
いくつかの例では、APSは、1つまたは複数の前のAPSがもはや必要とされないことを示すデータを含む。したがって、前のAPSがもはや必要とされないことを示すデータを含む現在APSを受信したことに応答して、ビデオデコーダは、バッファから、現在APSによって示される前のAPSを削除し、バッファ中にさらなるスペースを与え得る。
追加または代替として、各APSは、APSが1回使用されたのか、2回以上使用されたのかを示すフラグを含み得る。APSが1回のみ使用された場合、後続のスライスが復号されるとすぐに、APSは削除され得る。一方、APSが、フラグによって示されるように2回以上使用された場合、APSは、コード化ビデオシーケンスの残りのために記憶されるか、または、たとえば、上記で説明したように、APSがもはや必要とされないと示されるまで記憶され得る。
別の例として、常時バッファに記憶されるべきAPSの最大数の明示的指示があり得る。バッファが最大数のAPSを含み、新しいAPSが受信された場合、APSは、たとえば、先入れ先出し(FIFO)順序でバッファから削除され得る。代替的に、ID値は、ID値がAPSのための記憶の優先順位を示すように割り当てられ得、したがって、他の記憶されたAPSのID値と比較したそれのID値に基づいて、最低優先順位をもつAPSは、最大数のAPSが現在記憶されているときに削除され得る。すなわち、エンコーダは、これらのAPSが将来必要とされないであろうことを保証し得るか、またはこれらのAPSと実質的に同様であるデータが必要とされる場合、エンコーダは、APSが安全に削除され得るように、ビットストリームの将来のセクション中にこのデータを与えることになる。たとえば、より低いID値がより低い優先順位を示すか、またはより大きいID値が、他のものよりも頻繁に使用されるものとして予見されるAPSに割り当てられ得るように、APSについてのID値は増分的に割り当てられ得る。
いくつかの例では、APSの全部または一部分は、1つまたは複数の前のAPSから予測され得る。たとえば、APSは、それのALF係数が第1の前のAPSと同じであり、それのSAOパラメータが第2の前のAPSと同じであるという指示を含み得る。代替的に、ALF係数またはSAOパラメータのうちの一方は明示的にシグナリングされ得、他方は、前のAPSのそれらと同じであるものとして示され得る。そのような場合、コード化ピクチャに関連するAPSは、サブビットストリーム抽出が依存的APSの使用を妨害しないように、等しいかそれよりも低いtemporal_ID値を有するコード化ピクチャに関連するAPSのみを参照することを強制され得る。
いくつかの例では、APSは、最後のランダムアクセスポイント以来受信された前のAPSのみを参照し得る。その上、いくつかの例では、ランダムアクセスポイントに続いて、すべてのAPSがバッファから削除され得る。
本開示はまた、HEVCのAPSにいくつかの変更が行われるいくつかの例を提案する。たとえば、上記で説明したシンタックスデータの追加または代替として、APSは、参照ピクチャリスト変更データ、参照ピクチャリスト組合せデータ、メモリ管理制御動作シンタックスデータ、および/または重み付け予測テーブルのうちのいずれかまたはすべてをシグナリングし得る。したがって、APSは、ALF係数、SAOパラメータ、参照ピクチャリスト変更データ、参照ピクチャリスト組合せデータ、メモリ管理制御動作シンタックスデータ、および/または重み付け予測テーブルのうちの1つまたは複数を備えるシグナリングデータを含み得る。このようにして、たとえば、メモリ管理制御動作(MMCO)シンタックステーブルおよび/または重み付け予測テーブルを介した復号ピクチャバッファ管理もAPS中に含まれ得る。
量子化行列など、他のスライスまたはピクチャレベル情報もAPS中でシグナリングされ得る。概して、情報のセットは、APS中に存在することも存在しないこともある。そのセットが特定のAPS中に存在しない場合、そのAPSは、情報のそのセットを得るために異なるAPSを参照し得、APSは、情報の異なるセットを得るために複数のAPSを参照し得る。たとえば、APSは、シグナリングされたSAOパラメータを有し得るが、量子化行列のために第1の異なるAPSを参照し、ALFパラメータのために第2の異なるAPSを参照し、さらに、復号ピクチャバッファ管理および参照ピクチャリスト構成のために第3のAPSを参照し得る。
図1は、適応パラメータセット(APS)データ構造を利用するための技法を利用し得る例示的なビデオ符号化および復号システム10を示すブロック図である。APSデータ構造は、APSが概してスライスについてのパラメータを含むという点で、適応スライスパラメータセットと呼ばれることもある。図1に示すように、システム10は、通信チャネル16を介して符号化ビデオを宛先デバイス14に送信するソースデバイス12を含む。ソースデバイス12および宛先デバイス14は、広範囲にわたるデバイスのいずれかを備え得る。場合によっては、ソースデバイス12および宛先デバイス14は、ワイヤレスハンドセット、いわゆるセルラー無線電話または衛星無線電話などのワイヤレス通信デバイスを備えるか、あるいは、通信チャネル16を介してビデオ情報を通信することができ、その場合、通信チャネル16がワイヤレスである、任意のワイヤレスデバイスを備え得る。ただし、APSデータ構造を利用することに関係する本開示の技法は、必ずしもワイヤレスアプリケーションまたは設定に限定されるとは限らない。たとえば、これらの技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、インターネットビデオ送信、記憶媒体上に符号化される符号化デジタルビデオ、または他のシナリオに適用され得る。したがって、通信チャネル16は、符号化ビデオデータの送信または記憶に好適なワイヤレスまたはワイヤード媒体の任意の組合せを備え得る。
図1の例では、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、変調器/復調器(モデム)22と、送信機24とを含む。宛先デバイス14は、受信機26と、モデム28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。本開示によれば、ソースデバイス12のビデオエンコーダ20は、APSデータ構造を利用するための技法を適用するように構成され得る。他の例では、ソースデバイスおよび宛先デバイスは他の構成要素または構成を含み得る。たとえば、ソースデバイス12は、外部カメラなど、外部ビデオソース18からビデオデータを受信し得る。同様に、宛先デバイス14は、内蔵ディスプレイデバイスを含むのではなく、外部ディスプレイデバイスとインターフェースし得る。
図1の図示のシステム10は一例にすぎない。APSデータ構造を利用するための技法は、任意のデジタルビデオ符号化および/または復号デバイスによって実行され得る。概して、本開示の技法はビデオ符号化デバイスによって実行されるが、本技法は、一般に「コーデック」と呼ばれるビデオエンコーダ/デコーダによっても実行され得る。その上、本開示の技法はまた、ビデオプリプロセッサによって実行され得る。ソースデバイス12および宛先デバイス14は、ソースデバイス12が宛先デバイス14に送信するためのコード化ビデオデータを生成するような、コーディングデバイスの例にすぎない。いくつかの例では、デバイス12、14は、デバイス12、14の各々がビデオ符号化構成要素とビデオ復号構成要素とを含むように、実質的に対称的に動作し得る。したがって、システム10は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、またはビデオテレフォニーのためのビデオデバイス12とビデオデバイス14との間の一方向または双方向のビデオ送信をサポートし得る。
ソースデバイス12のビデオソース18は、ビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、および/またはビデオコンテンツプロバイダからのビデオフィードを含み得る。さらなる代替として、ビデオソース18は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。場合によっては、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、いわゆるカメラフォンまたはビデオフォンを形成し得る。ただし、上述のように、本開示で説明する技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび/またはワイヤード適用例に適用され得る。各場合において、キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成ビデオは、ビデオエンコーダ20によって符号化され得る。符号化ビデオ情報は、次いで、通信規格に従ってモデム22によって変調され、送信機24を介して宛先デバイス14に送信され得る。モデム22は、信号変調のために設計された様々なミキサ、フィルタ、増幅器または他の構成要素を含み得る。送信機24は、増幅器、フィルタ、および1つまたは複数のアンテナを含む、データを送信するために設計された回路を含み得る。
宛先デバイス14の受信機26はチャネル16を介して情報を受信し、モデム28はその情報を復調する。この場合も、ビデオ符号化プロセスは、APSデータ構造を利用するための本明細書で説明する技法のうちの1つまたは複数を実装し得る。チャネル16を介して通信される情報は、ビデオエンコーダ20によって定義され、またビデオデコーダ30によって使用される、ブロックおよび他のコード化ユニット、たとえば、GOPの特性および/または処理を記述するシンタックス要素を含む、シンタックス情報を含み得る。ディスプレイデバイス32は、復号されたビデオデータをユーザに対して表示し、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
図1の例では、通信チャネル16は、無線周波数(RF)スペクトルあるいは1つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体、あるいはワイヤレス媒体とワイヤード媒体との任意の組合せを備え得る。通信チャネル16は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信チャネル16は、概して、ワイヤード媒体またはワイヤレス媒体の任意の好適な組合せを含む、ビデオデータをソースデバイス12から宛先デバイス14に送信するのに好適な任意の通信媒体、または様々な通信媒体の集合体を表す。通信チャネル16は、ソースデバイス12から宛先デバイス14への通信を可能にするのに有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。他の例では、ソースデバイス12は、データを送信するのではなく、記憶媒体上に符号化データを記憶し得る。同様に、宛先デバイス14は、たとえば、ブルーレイ(登録商標)ディスク、DVDディスク、フラッシュドライブなどの記憶媒体から符号化データを取り出すように構成され得る。
ビデオエンコーダ20およびビデオデコーダ30は、代替的にMPEG−4、Part10、Advanced Video Coding(AVC)と呼ばれるITU−T H.264規格など、ビデオ圧縮規格に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。他の例にはMPEG−2およびITU−T H.263がある。図1には示されていないが、いくつかの態様では、ビデオエンコーダ20およびビデオデコーダ30は、それぞれオーディオエンコーダおよびデコーダと統合され得、適切なMUX−DEMUXユニット、または他のハードウェアおよびソフトウェアを含んで、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠し得る。
ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路のいずれか、あるいはそれらの任意の組合せとして実装され得る。ビデオエンコーダ20およびビデオデコーダ30の各々は1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合エンコーダ/デコーダ(コーデック)の一部としてそれぞれのカメラ、コンピュータ、モバイルデバイス、加入者デバイス、ブロードキャストデバイス、セットトップボックス、サーバなどに統合され得る。
高効率ビデオコーディング(HEVC)と現在呼ばれる、新しいビデオコーディング規格を開発するための取り組みが現在進行中である。この今度の規格はH.265とも呼ばれる。この規格化の取り組みは、HEVCテストモデル(HM:HEVC Test Model)と呼ばれるビデオコーディングデバイスのモデルに基づく。HMは、たとえば、ITU−T H.264/AVCによるデバイスに勝るビデオコーディングデバイスのいくつかの能力を仮定する。たとえば、H.264は9つのイントラ予測符号化モードを提供するが、HMは34個ものイントラ予測符号化モードを提供する。
ビデオシーケンスと呼ばれることがあるピクチャグループ(GOP:group of pictures)は、概して、一連の1つまたは複数のビデオピクチャを含む。GOPは、GOP中に含まれるいくつかのピクチャを記述するシンタックスデータを、GOPのヘッダ中、GOPの1つまたは複数のピクチャのヘッダ中、または他の場所に含み得る。各ピクチャは、それぞれのピクチャのための符号化モードを記述するピクチャシンタックスデータを含み得る。各ビデオピクチャは複数のスライスを含み得、各スライスは、一連の1つまたは複数の最大コーディングユニット(LCU:largest coding unit)を含む。ビデオエンコーダ20は、一般に、ビデオデータを符号化するために、ピクチャの個々のスライス内のビデオブロックに対して動作する。ビデオブロックは、ブロック、あるいはLCUまたはそれのサブCUなど、ブロックのパーティションに対応し得る。ビデオブロックは、固定サイズまたは変動サイズを有し得、指定のコーディング規格に応じてサイズが異なり得る。
一例として、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の一方向は区分されないが、他の方向は25%と75%とに区分される。25%の区分に対応するCUの部分は、「n」とその後ろに付く「Up」、「Down」、「Left」、または「Right」という表示によって示される。したがって、たとえば、「2N×nU」は、上部の2N×0.5N PUと下部の2N×1.5N PUとで水平方向に区分された2N×2N CUを指す。
本開示では、「N×(x)N」と「N×(by)N」は、垂直寸法および水平寸法に関するブロックのピクセル寸法、たとえば、16×(x)16ピクセルまたは16×(by)16ピクセルを指すために互換的に使用され得る。概して、16×16ブロックは、垂直方向に16ピクセルを有し(y=16)、水平方向に16ピクセルを有する(x=16)。同様に、N×Nブロックは、一般に、垂直方向にNピクセルを有し、水平方向にNピクセルを有し、ただし、Nは非負整数値を表す。ブロック中のピクセルは行と列に構成され得る。さらに、ブロックは、必ずしも、水平方向に垂直方向と同じ数のピクセルを有する必要はない。たとえば、ブロックはN×Mピクセルを備え得、ただし、Mは必ずしもNに等しいとは限らない。
HEVCでは、ビデオデータのブロックをコーディングユニット(CU)と呼び、CUは、1つまたは複数の予測ユニット(PU)および/または1つまたは複数の変換ユニット(TU)を含み得る。ビットストリーム内のシンタックスデータが、ピクセルの数に関して最大のコーディングユニットである最大コーディングユニット(LCU)を定義し得る。概して、CUは、CUがサイズの差異を有しないことを除いて、H.264のマクロブロックと同様の目的を有する。したがって、CUは、サブCUに分割され得る。概して、本開示におけるCUへの言及は、ピクチャの最大コーディングユニットまたはLCUのサブCUを指すことがある。LCUはサブCUに分割され得、各サブCUはさらにサブCUに分割され得る。ビットストリームのシンタックスデータは、CU深さと呼ばれる、LCUが分割され得る最大回数を定義し得る。それに応じて、ビットストリームは最小コーディングユニット(SCU:smallest coding unit)をも定義し得る。本開示ではまた、CU、PU、またはTUのいずれかを指すために「ブロック」という用語を使用する。
LCUは4分木データ構造に関連付けられ得る。概して、4分木データ構造はCUごとに1つのノードを含み、ルートノードはLCUに対応する。CUが4つのサブCUに分割された場合、CUに対応するノードは4つのリーフノードを含み、リーフノードの各々はサブCUのうちの1つに対応する。4分木データ構造の各ノードは、対応するCUのシンタックスデータを与え得る。たとえば、4分木のノードは、そのノードに対応するCUがサブCUに分割されるかどうかを示す分割フラグを含み得る。CUのシンタックス要素は、再帰的に定義され得、CUがサブCUに分割されるかどうかに依存し得る。CUがさらに分割されない場合、そのCUはリーフCUと呼ばれる。本開示では、元のリーフCUの明示的分割が存在しなくても、リーフCUの4つのサブCUをリーフCUとも呼ぶ。たとえば、16×16サイズのCUがさらに分割されない場合、この16×16CUが決して分割されなくても、4つの8×8サブCUをリーフCUとも呼ぶ。
その上、リーフCUのTUもそれぞれの4分木データ構造に関連付けられ得る。すなわち、リーフCUは、リーフCUがどのようにTUに区分されるかを示す4分木を含み得る。本開示では、LCUがどのように区分されるかを示す4分木をCU4分木と呼び、リーフCUがどのようにTUに区分されるかを示す4分木をTU4分木と呼ぶ。TU4分木のルートノードは概してリーフCUに対応し、CU4分木のルートノードは概してLCUに対応する。分割されないTU4分木のTUはリーフTUと呼ばれる。
リーフCUは、1つまたは複数の予測ユニット(PU)を含み得る。概して、PUは、対応するCUの全部または一部分を表し、そのPUの参照サンプルを取り出すためのデータを含み得る。たとえば、PUがインターモード符号化されるとき、PUは、PUの動きベクトルを定義するデータを含み得る。動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度(たとえば、1/4ピクセル精度もしくは1/8ピクセル精度)、動きベクトルがポイントする参照フレーム、および/または動きベクトルの参照リスト(たとえば、L0およびL1とも呼ばれる、リスト0もしくはリスト1)を記述し得る。(1つまたは複数の)PUを定義するリーフCUのデータはまた、たとえば、CUを1つまたは複数のPUに区分することを記述し得る。区分モードは、CUがコーディングされないか、イントラ予測モード符号化されるか、またはインター予測モード符号化されるかに応じて異なり得る。イントラコーディングの場合、PUは、以下で説明するリーフ変換ユニットと同じように扱われ得る。
リーフCUは、1つまたは複数の変換ユニット(TU)を含み得る。変換ユニットは、上記で説明したように、TU4分木構造を使用して指定され得る。すなわち、分割フラグは、リーフCUが4つの変換ユニットに分割されるかどうかを示し得る。次いで、各変換ユニットはさらに4つのサブTUに分割され得る。TUがさらに分割されないとき、そのTUはリーフTUと呼ばれることがある。概して、イントラコーディングの場合、リーフCUに属するすべてのリーフTUは同じイントラ予測モードを共有する。すなわち、概して、リーフCUのすべてのTUの予測値を計算するために同じイントラ予測モードが適用される。イントラコーディングの場合、ビデオエンコーダは、イントラ予測モードを使用して各リーフTUの残差値を、TUに対応する予測値の一部と元のブロックとの間の差として計算し得る。残差値は変換され、量子化され、走査され得る。インターコーディングの場合、ビデオエンコーダは、PUレベルで予測を実行し、各PUの残差を計算し得る。リーフCUに対応する残差値は変換され、量子化され、走査され得る。インターコーディングの場合、リーフTUはPUよりも大きくまたは小さくなり得る。イントラコーディングの場合、PUは、対応するリーフTUとコロケートされ得る。いくつかの例では、リーフTUの最大サイズは、対応するリーフCUのサイズであり得る。
概して、本開示では、特に明記しない限り、リーフCUおよびリーフTUに言及するためにそれぞれCUおよびTUという用語を使用する。概して、本開示の技法は、CUのデータを変換し、量子化し、走査し、エントロピー符号化することに関する。一例として、本開示の技法は、ブロックを予測するために使用されたイントラ予測モードに基づいてイントラ予測されたブロックの残差値を変換するために使用すべき変換を選択することを含む。本開示ではまた、イントラ予測モード方向に依存するそのような変換に言及するために「方向性変換(directional transform)」または「設計変換(designed transform)」という用語を使用する。すなわち、ビデオエンコーダは、変換ユニット(TU)に適用すべき方向性変換を選択し得る。上記のように、イントラ予測は、あるピクチャの現在のCUのTUを、同じピクチャの前にコーディングされたCUおよびTUから予測することを含む。より詳細には、ビデオエンコーダは、特定のイントラ予測モードを使用してあるピクチャの現在のTUをイントラ予測し得る。
本開示の技法によれば、ビデオエンコーダ20は、1つまたは複数のパラメータを使用してスライスを符号化し得る。これらのパラメータは、適応ループフィルタ(ALF)係数と、サンプル適応オフセット(SAO)パラメータと、ピクチャリスト変更データと、参照ピクチャリスト組合せデータと、メモリ管理制御動作シンタックスデータと、重み付け予測テーブルと、量子化行列とのうちのいずれかまたはすべてを含み得る。ビデオエンコーダ20は、APSデータ構造中でこれらのパラメータおよび/またはデータのうちのいずれかまたはすべてをシグナリングし得る。ビデオエンコーダ20、またはソースデバイス12の別の要素は、APSデータ構造を含む別個のビデオコーディングレイヤ(VCL)ネットワークアブストラクションレイヤ(NAL)ユニットを形成し得る。したがって、VCL NALユニットはAPSデータ構造を含み得、別のVCL NALユニットはスライスについてのコード化データを含み得、スライスは、APSデータ構造中でシグナリングされたパラメータを使用してコーディングされ得る。
APSがコード化ピクチャの第1のスライスの前に位置し、コード化ピクチャの第1のスライスとAPSとの間にスライスがない場合、APSはそのコード化ピクチャに「関連付けられる」と呼ばれ得る。その上、いくつかの例では、APSは、ビットストリーム中でAPSの直後にくるスライスに関連付けられ得る。たとえば、ビットストリーム中で、APSを含むNALユニットの直後にスライスを含むNALユニットがくるとき、そのAPSはそのスライスに関連付けられ得る。スライスは複数のAPSを使用し得、APSは複数のスライスについて使用され得る。
ビデオエンコーダ20は、あるビットストリームの範囲において一意の識別子をもつ、そのビットストリームについてのAPSを構成し得る。たとえば、ビデオエンコーダ20は、各APSデータ構造についてのaps_parameter_set_id値をシグナリングし得る。APS識別子は、シンタックス要素として「aps_id」と呼ばれることもある。ビデオエンコーダ20はさらに、スライス、たとえば、スライスのヘッダ中でAPSの識別子(ID)値をシグナリングすることによって、スライスがAPSデータ構造に関連付けられることを示し得る。いくつかの例では、たとえば、APSがスライスの直前にシグナリングされる場合など、スライスがAPSに関連付けられることが他の方法で判断され得る場合、スライスは、APSを識別する情報を含む必要はない。
本開示の技法によれば、ビデオエンコーダ20は、APSが、ビデオデコーダ30などのビデオデコーダのバッファから削除され得るときを示す情報を与え得る(すなわち、シグナリングし得る)。同様に、本開示の技法によれば、ビデオデコーダ30は、たとえば、ビデオエンコーダ20によってシグナリングされた情報に基づいて、APSが削除され得るときを判断し、APSを削除するように構成され得る。このようにして、APSによって消費されるビデオデコーダ30のメモリリソースは、APSが削除された後に再割り振りされ得る。したがって、従来、パラメータセットデータ構造は、全ビデオシーケンスの終了まで記憶されることになるが、本開示は、ビデオデコーダのメモリから、APSなどのパラメータセットデータ構造をいつ削除すべきかをシグナリングするための技法と、削除するための技法とを提供し、それにより、ビデオデコーダがメモリリソースを再割り振りし、それによって、より効率的に動作することを可能にし得る。
本開示はまた、APS中でいくつかのスライスまたはピクチャレベル情報をシグナリングするための技法を提供する。たとえば、スライスヘッダまたはピクチャヘッダ中で、複数のスライスまたはピクチャに適用可能であり得る情報をシグナリングするのではなく、本開示は、APS中でそのようなデータをシグナリングするための技法を提供する。より詳細には、いくつかの例では、そのようなデータは、たとえば、量子化行列を含むピクチャパラメータセット中で前に(すなわち、本開示の技法の採用より前に)与えられた情報であり得る。そのようなデータは、たとえば、メモリ管理制御動作シンタックステーブル、参照ピクチャリストおよび/または重み付け予測テーブルに関連付けられたデータなど、スライスヘッダ中の情報であり得る。その上、本開示は、複数のAPS間のそのようなデータを再利用するための技法を提供する。したがって、後続のAPSが前のAPSと同じデータを含む場合、後続のAPS中で共通データをシグナリングするのではなく、後続のAPSは、代わりに前のAPSを参照し得る。これらの技法は、それによって後続のAPSのサイズを低減し得、したがって、それにより、各後続のAPSによって消費されるメモリの量を低減し得る。すなわち、ビデオエンコーダ20は、後続のAPS中で異なるデータをシグナリングし、他のデータが前のAPS中でシグナリングされることを後続のAPS中で示すだけでよい。
予測データと残差データとを生成するためのイントラ予測コーディングまたはインター予測コーディングの後、および変換係数を生成するための(離散コサイン変換(DCT)などの)任意の変換の後、変換係数の量子化が実行され得る。量子化は、概して、係数を表すために使用されるデータの量をできるだけ低減するために変換係数を量子化するプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。たとえば、量子化中にnビット値がmビット値に切り捨てられ得、nはmよりも大きい。
量子化の後に、たとえば、コンテンツ適応型可変長コーディング(CAVLC:content adaptive variable length coding)、コンテキスト適応型バイナリ算術コーディング(CABAC:context adaptive binary arithmetic coding)、または別のエントロピーコーディング方法に従って、量子化データのエントロピーコーディングが実行され得る。エントロピーコーディング用に構成された処理ユニット、または別の処理ユニットは、量子化係数のゼロランレングスコーディング、および/またはコード化ブロックパターン(CBP:coded block pattern)値、マクロブロックタイプ、コーディングモード、(フレーム、スライス、ブロック、またはシーケンスなどの)コード化ユニットの最大ブロックサイズなどのシンタックス情報の生成など、他の処理機能を実行し得る。
ビデオデコーダ30は、最終的に、たとえば、ビデオエンコーダ20から1つまたは複数のAPSデータ構造を受信し得る。しかしながら、コード化ビデオシーケンスの終了までAPSデータ構造を記憶するのではなく、ビデオデコーダ30は、コード化ビデオシーケンスの終了に達するより前に1つまたは複数のAPSデータ構造を削除するように構成され得る。本開示の技法によれば、以下でより詳細に説明するように、ビデオデコーダ30は、APSデータ構造を管理することに関する1つまたは複数のメモリ管理技法、たとえば、本開示で説明する、ビデオデコーダ30のバッファ中のAPSデータ構造の記憶および削除で構成され得る。
ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、適用可能なとき、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダまたはデコーダ回路のいずれか、あるいはそれらの任意の組合せとして実装され得る。ビデオエンコーダ20およびビデオデコーダ30の各々は1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合ビデオエンコーダ/デコーダ(コーデック)の一部として統合され得る。ビデオエンコーダ20および/またはビデオデコーダ30を含む装置は、集積回路、マイクロプロセッサ、および/またはセルラー電話などのワイヤレス通信デバイスを備え得る。
図2は、APSデータ構造を利用するための技法を実装し得るビデオエンコーダ20の一例を示すブロック図である。ビデオエンコーダ20は、ブロック、あるいはブロックのパーティションまたはサブパーティションを含む、ビデオフレーム内のブロックのイントラコーディングおよびインターコーディングを実行し得る。イントラコーディングは、所与のビデオフレーム内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接するフレーム内のビデオの時間的冗長性を低減または除去するために時間的予測に依拠する。イントラモード(Iモード)は、いくつかの空間ベースの圧縮モードのいずれかを指し、単方向予測(Pモード)または双方向予測(Bモード)などのインターモードは、いくつかの時間ベースの圧縮モードのいずれかを指し得る。
図2に示すように、ビデオエンコーダ20は、符号化されるべきビデオフレーム内の現在のビデオブロックを受信する。図2の例では、ビデオエンコーダ20は、動き補償ユニット44と、動き推定ユニット42と、イントラ予測ユニット46と、参照フレームメモリ64と、加算器50と、変換ユニット52と、量子化ユニット54と、エントロピーコーディングユニット56とを含む。ビデオブロック再構成のために、ビデオエンコーダ20はまた、逆量子化ユニット58と、逆変換ユニット60と、加算器62と、インループフィルタ66とを含む。
符号化プロセス中に、ビデオエンコーダ20はコーディングされるべきビデオフレームまたはスライスを受信する。フレームまたはスライスは、複数のビデオブロックに分割され得る。動き推定ユニット42および動き補償ユニット44は、時間圧縮を行うために、1つまたは複数の参照フレーム中の1つまたは複数のブロックに対する受信したビデオブロックのインター予測コーディングを実行する。イントラ予測ユニット46は、空間圧縮を行うために、コーディングされるべきブロックと同じフレームまたはスライス中の1つまたは複数の隣接ブロックに対して受信ビデオブロックのイントラ予測コーディングを実行し得る。
モード選択ユニット40は、たとえば、誤差結果に基づいてコーディングモード、すなわち、イントラまたはインターのうちの1つを選択し、残差ブロックデータを生成するために、得られたイントラコード化ブロックまたはインターコード化ブロックを加算器50に与え、参照フレームとして使用するための符号化ブロックを再構成するために、得られたイントラコード化ブロックまたはインターコード化ブロックを加算器62に与え得る。
動き推定ユニット42と動き補償ユニット44とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、現在のフレーム(または、他のコード化ユニット)内のコーディングされている現在のブロックに対する予測参照フレーム(または、他のコード化ユニット)内の予測ブロックの変位を示し得る。予測ブロックは、絶対値差分和(SAD:sum of absolute difference)、2乗差分和(SSD:sum of square difference)、または他の差分メトリックによって判断され得るピクセル差分に関して、コーディングされるべきブロックにぴったり一致することがわかるブロックである。動きベクトルはまた、ブロックのパーティションの変位を示し得る。動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成することに関与し得る。この場合も、いくつかの例では、動き推定ユニット42と動き補償ユニット44とは機能的に統合され得る。
動き推定ユニット42は、ビデオブロックを参照フレームメモリ64中の参照フレームのビデオブロックと比較することによってインターコード化フレームのビデオブロックの動きベクトルを計算する。動き補償ユニット44はまた、参照フレーム、たとえば、IフレームまたはPフレームのサブ整数ピクセルを補間し得る。2つのリストは、たとえば、参照フレームを含み得、すなわち、符号化されている現在フレームよりも前の表示順序を有する参照フレームを含むリスト0、および符号化されている現在フレームよりも後の表示順序を有する参照フレームを含むリスト1である。したがって、参照フレームメモリ64に記憶されたデータは、これらのリストに従って編成され得る。
動き推定ユニット42は、参照フレームメモリ64からの1つまたは複数の参照フレームのブロックを現在のフレーム、たとえば、PフレームまたはBフレームの符号化すべきブロックと比較する。参照フレームメモリ64中の参照フレームがサブ整数ピクセルの値を含むとき、動き推定ユニット42によって計算される動きベクトルは参照フレームのサブ整数ピクセルロケーションを参照し得る。動き推定ユニット42および/または動き補償ユニット44はまた、サブ整数ピクセル位置の値が参照フレームメモリ64に記憶されていない場合、参照フレームメモリ64に記憶された参照フレームのサブ整数ピクセル位置の値を計算するように構成され得る。動き推定ユニット42は、計算された動きベクトルをエントロピーコーディングユニット56と動き補償ユニット44とに送る。動きベクトルによって識別される参照フレームブロックは予測ブロックと呼ばれることがある。
動き補償ユニット44は、予測ブロックに基づいて予測データを計算し得る。ビデオエンコーダ20は、コーディングされている元のビデオブロックから、動き補償ユニット44からの予測データを減算することによって残差ビデオブロックを形成する。加算器50は、この減算演算を実行する1つまたは複数の構成要素を表す。変換処理ユニット52は、離散コサイン変換(DCT)または概念的に同様の変換などの変換を残差ブロックに適用し、残差変換係数値を備えるビデオブロックを生成する。変換処理ユニット52は、概念的にDCTと同様である、H.264規格によって定義される変換などの他の変換を実行し得る。ウェーブレット変換、整数変換、サブバンド変換または他のタイプの変換も使用され得る。いずれの場合も、変換処理ユニット52は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、残差情報をピクセル値領域から周波数領域などの変換領域に変換し得る。量子化ユニット54は、ビットレートをさらに低減するために残差変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって修正され得る。
量子化の後に、エントロピーコーディングユニット56は量子化変換係数とシンタックス要素とをエントロピーコーディングする。たとえば、エントロピーコーディングユニット56は、コンテンツ適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、または別のエントロピーコーディング技法を実行し得る。エントロピーコーディングユニット56によるエントロピーコーディングの後、符号化ビデオは、別のデバイスに送信されるか、あるいは後の送信または取出しのためにアーカイブされ得る。コンテキスト適応型バイナリ算術コーディングの場合、コンテキストは隣接ブロックのためのデータに少なくとも部分的に基づき得る。
場合によっては、エントロピーコーディングユニット56またはビデオエンコーダ20の別のユニットは、エントロピーコーディングに加えて他のコーディング機能を実行するように構成され得る。たとえば、エントロピーコーディングユニット56はブロックおよびパーティションのCBP値を判断するように構成され得る。また、場合によっては、エントロピーコーディングユニット56は、ブロックまたはそれのパーティション中の係数のランレングスコーディングを実行し得る。特に、エントロピーコーディングユニット56は、ブロックまたはパーティション中の変換係数をスキャンするためにジグザグスキャンまたは他のスキャンパターンを適用し、さらなる圧縮のためにゼロのランを符号化し得る。エントロピーコーディングユニット56はまた、符号化ビデオビットストリーム中での送信のために適切なシンタックス要素を用いてヘッダ情報を構成し得る。
逆量子化ユニット58および逆変換ユニット60は、それぞれ逆量子化および逆変換を適用して、たとえば、参照ブロックとして後で使用するために、ピクセル領域中で残差ブロックを再構成する。動き補償ユニット44は、残差ブロックを参照フレームメモリ64のフレームのうちの1つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット44はまた、再構成された残差ブロックに1つまたは複数の補間フィルタを適用して、動き推定において使用するサブ整数ピクセル値を計算し得る。加算器62は、再構成された残差ブロックを、動き補償ユニット44によって生成された動き補償予測ブロックに加算して、参照フレームメモリ64に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、後続のビデオフレーム中のブロックをインターコーディングするために動き推定ユニット42および動き補償ユニット44によって参照ブロックとして使用され得る。
図2の例では、ビデオエンコーダ20はまた、インループフィルタ66を含む。インループフィルタ66は、たとえば、参照フレームメモリ64に記憶されたビデオデータのフレームをデブロックするために適応フィルタ処理技法を実行し得る。この例では、インループフィルタ66は適応フィルタ処理を実行する。すなわち、インループフィルタは、フィルタ処理結果を改善するために、(適応ループフィルタ(ALF)係数と呼ばれる)フィルタ処理係数を適応的に変更する。インループフィルタ66によって使用されるALF係数は、それらのALF係数を使用してフィルタ処理されるブロックを含むスライスについてのAPS中でシグナリングされ得る。その上、本開示の技法によれば、後続のAPSは、たとえば、後続のAPSによって使用されるべきALF係数を含むAPSのAPS IDを参照することによって前のAPSのALF係数を再利用し得る。このようにして、後続のAPS自体は、ALF係数についての値を直接シグナリングする必要はなく、それにより、後続のAPSのサイズを低減し得る。
本開示の技法によれば、同じALF係数は、共通スライスのすべてのブロックについて使用され得る。ビデオエンコーダ20は、スライスについてのAPS中でALF係数をシグナリングし得、スライスは、APSへの参照、たとえば、APS IDの指示を含み得る。その上、ビデオエンコーダ20は、複数の異なるスライスについて同じALF係数を使用し得る。したがって、スライスの各々は、同じALF係数を使用するために、同じAPSを参照し得る。代替的に、スライスの他の態様が、異なるパラメータを使用してコーディングされた場合、ビデオエンコーダ20は、シグナリングされたパラメータの差をキャプチャするために、これらの他のスライスに異なるAPSを与え得る。以下で説明するように、ビデオエンコーダ20は各APS中でALF係数を与え得るか、またはビデオエンコーダ20が、後続のスライスをコーディングするために同じALF係数を使用すると仮定すると、ビデオエンコーダ20は、ALF係数を含んだ前のAPSへの参照を含み得る。
変換処理ユニット52は、1つまたは複数の変換係数、たとえば、直流(DC)係数および/または交流(AC)係数にサンプル適応オフセット(SAO)を適用し得る。変換処理ユニット52は、スライス、フレーム、シーケンス、GOP、またはビデオデータの他のコード化ユニットのTUに同じSAOパラメータを適用し得る。本開示の技法によれば、ビデオエンコーダ20はまた、(追加または代替として)1つまたは複数のスライスについてのAPSデータ構造中でSAOパラメータをシグナリングし得る。
量子化ユニット54は、指定された量子化パラメータとともに量子化行列を使用してTUの変換係数に量子化を適用し得る。量子化ユニット54は、スライス、フレーム、シーケンス、GOP、またはビデオデータの他のコード化ユニットに量子化行列を適用し得る。本開示の技法によれば、ビデオエンコーダ20はまた、(追加または代替として)1つまたは複数のスライスについてのAPSデータ構造中で量子化行列をシグナリングし得る。
追加または代替として、ビデオエンコーダ20は、APSデータ構造中で他のパラメータをシグナリングし得る。たとえば、ビデオエンコーダ20は、上記で説明した他のデータに追加してまたはその代替として、APSデータ構造中でピクチャリスト変更データと、参照ピクチャリスト組合せデータと、メモリ管理制御動作シンタックスデータと、重み付け予測テーブルとのうちのいずれかまたはすべてをシグナリングし得る。たとえば、ビデオエンコーダ20は、参照フレームメモリ64がピクチャリスト変更データのためにどのように操作されたか、および/または組み合わせられた参照ピクチャリストを形成するために2つのリスト(たとえば、L0およびL1)をどのように組み合わせるべきかをAPSデータ構造中でシグナリングし得る。
さらに、本開示の技法によれば、ビデオエンコーダ20は、特定のAPSが削除され得るときを示す情報を与え得る。したがって、そのような情報を受信するビデオデコーダ30などのビデオデコーダは、ビデオシーケンスの終了の前にAPSを削除することができる。一例として、APSは、後続のAPSがシグナリングされるまでアクティブのままであり得、その場合、前のAPSが削除され得る。したがって、ビデオエンコーダ20は、単に後続のAPSを与えることによって前のAPSが削除され得ることを示し得る。
代替的に、ビデオエンコーダ20は、前に与えられた1つまたは複数のAPSが削除され得るかどうかを示すフラグまたは他の値を各APS中で与え得る。たとえば、ビデオエンコーダ20は、直前のAPSが安全に削除され得るかどうかを示すフラグを与え得る。別の例として、ビデオエンコーダ20は、後続のAPS中で1つまたは複数のAPS ID値を含み得、それらのAPS ID値は、安全に削除され得る1つまたは複数のAPSを参照する。さらに別の例として、ビデオエンコーダ20は、各APS中で、APSがコード化ビデオデータの2つ以上のユニットのために、たとえば、2つ以上のスライスまたは2つ以上のピクチャのために必要とされるかどうかを示すフラグを含み得る。したがって、フラグが、APSがビデオデータの1つのユニットのためだけに必要とされることを示す場合、そのユニットをコーディングした後に、APSは削除され得る。
さらに別の例として、ビデオエンコーダ20は、同時に記憶されるべきAPSの最大数の指示を与え得る。その数よりも多いAPSを与えた後に、前に記憶されたAPSのうちの1つまたは複数が削除され得る。APSの示された数を上回るAPSを削除するためのストラテジは、たとえば、先入れ先出し(FIFO)であり得る。代替的に、APS ID値に基づくAPSのためのスライディングウィンドウがあり得る。たとえば、APS IDは、重要性に基づいて割り当てられ得、たとえば、より低い値のAPS ID値は、より高い値のAPS ID値よりも重要であるとみなされる。言い換えれば、APSの数が、示された最大数を超えた場合、記憶されたAPSの数が最大数に達するまで、最高APS ID値をもつAPSは削除され得る。代替的に、より低い値であるAPS ID値は、より高い値のAPS ID値よりも重要でないとみなされ得る。ビデオエンコーダ20は、APS ID値が常に増加しているようにAPS IDを割り当て得るか、または特定のAPSがより重要である可能性があることを判断し、それに応じてAPS IDを割り当て得る。
ビデオエンコーダ20は、時間スケーラビリティのための時間階層に従ってデータをコーディングするように構成され得る。すなわち、ビデオエンコーダ20は、ピクチャに様々な時間識別子(時間ID)値を割り当て得る。一例として、15フレーム毎秒(fps)においてビデオ再生を生成するために、時間ID「0」を有するピクチャが使用され得、30fpsにおいてビデオ再生を生成するために、時間ID「1」を有するピクチャが、時間ID「0」を有するピクチャと組み合わせて使用され得、以下同様である。より一般的には、時間ID「N」を有するピクチャは、Nよりも小さい時間IDを有するピクチャと組み合わせられたとき、「N−1」までの時間IDを有するピクチャを使用するよりも大きいが、Nを上回る時間IDを有するピクチャのフレームレートよりも低いフレームレートを有する再生を生成するために使用され得る。
ビデオエンコーダ20は、1つまたは複数の時間レイヤにおいてAPSをスライスまたはピクチャに関連付け得る。したがって、ビデオエンコーダ20は、APSに時間IDを同様に割り当て得る。ビデオエンコーダ20はさらに、APSが時間ID Nを有するとき、Nよりも小さい時間IDを有するスライスが、時間ID Nを有するAPSを参照しないという制約を強制し得る。このようにして、ビデオデコーダ30などのビデオデコーダが時間スケーラビリティを実行した場合、その場合、ビデオデコーダは、Nに等しいかまたはそれよりも大きい時間IDを有するビデオデータを受信しないが、ビデオデコーダは、依然として、受信したビデオデータを復号することが可能になる。
その上、ビデオエンコーダ20は、APS ID値を解放し得る。一般に、APS ID値が使用された後、そのAPS IDは、それの対応するAPSに関連付けられる。しかしながら、ビデオエンコーダ20は、APSがメモリから削除された後にそのAPS IDを含むAPSから、そのAPS IDの関連付けを解除し得る。このようにして、APS IDは、たとえば、異なるAPS中で再利用され得る。
さらに、ビデオエンコーダ20は、記憶されたAPSを周期的にフラッシュし得る。たとえば、瞬時デコーダリフレッシュ(IDR:instantaneous decoder refresh)ピクチャの後に、ビデオエンコーダ20は、すべてのAPSがデコーダメモリからクリアされたと仮定し得る。このようにして、IDRピクチャに続くピクチャおよびスライスは、IDRピクチャの後に発生するAPSのみを参照することができる。その上、ビデオエンコーダ20は、IDRピクチャの前にAPSに関連付けられたAPS IDを解放し得るので、ビデオエンコーダ20は、あいまいさをもたらすことなく、これらのAPS IDを再利用することができる。このようにして、ビデオデコーダが、IDRランダムアクセスポイント(RAP)の前にシグナリングされたAPSデータなど、IDR RAPより前のデータを取り出す必要なく、IDR RAPにおいて開始するビデオビットストリームを正常に復号することができるという点で、これらの技法はランダムアクセスをサポートし得る。
上記で説明したように、いくつかの例では、ビデオエンコーダ20はAPS間のデータを再利用し得る。すなわち、後続のAPSが、前のAPSのパラメータデータと同じパラメータデータを含む場合、後続のAPSは、同じパラメータデータを繰り返しシグナリングするのではなく、そのパラメータデータのために前のAPSへの参照を含むだけでよい。たとえば、前のAPSがALF係数とSAOパラメータとをシグナリングしており、ビデオエンコーダ20が、異なるSAOパラメータの他に同じALF係数を使用して後続のスライスを符号化する場合、ビデオエンコーダ20は、異なるSAOパラメータをシグナリングする後続のAPSを構成するが、前のAPSのALF係数への参照を含み得る。このようにして、ビデオエンコーダ20は、複数のAPS中で同じAPSパラメータを繰り返しシグナリングすることを回避し得、それにより、ビデオデコーダ30などのビデオデコーダにおいて、帯域幅と記憶スペースとバッファリソースとが浪費されることを回避し得る。さらに、後続のAPSは、異なるパラメータのために複数の異なるAPSを参照し得る。すなわち、後続のAPSは、第1のパラメータのために第1の前のAPSへの第1の参照を含み、第2の異なるパラメータのために第2の異なるAPSへの第2の参照を含み得る。
このようにして、ビデオエンコーダ20は、1つまたは複数のパラメータを使用してビデオデータの1つまたは複数のスライスの第1のセットを符号化することと、適応パラメータセット(APS)データ構造中で1つまたは複数のパラメータをシグナリングすることと、APSデータ構造に関係なく、1つまたは複数のスライスの第1のセットの判断されたスライスに続くビデオデータの1つまたは複数のスライスの第2のセットを符号化することとを行うように構成されたビデオエンコーダの一例を表す。
図3は、APSデータ構造を利用するための技法を実装し得るビデオデコーダ30の一例を示すブロック図である。図3の例では、ビデオデコーダ30は、エントロピー復号ユニット70と、動き補償ユニット72と、イントラ予測ユニット74と、逆量子化ユニット76と、逆変換ユニット78と、参照フレームメモリ82を含むメモリ84と、インループフィルタ86と、加算器80とを含む。ビデオデコーダ30は、いくつかの例では、ビデオエンコーダ20(図2)に関して説明した符号化パスとは概して逆の復号パスを実行し得る。動き補償ユニット72は、エントロピー復号ユニット70から受信した動きベクトルに基づいて予測データを生成し得る。
概して、以下でより詳細に説明するように、ビデオデコーダ30は、本開示の技法に従ってAPSデータ構造を受信し、メモリ84に記憶する。その上、ビデオデコーダ30は、対応するビデオシーケンスの終了より前に、記憶されたAPS88のうちの1つまたは複数を削除し得る。たとえば、ビデオデコーダ30は、後続のIDR RAPを受信するより前に、記憶されたAPS88のうちの1つまたは複数を削除し得る。同様に、ビデオデコーダ30が、単一のスライスを復号しながら、記憶されたAPS88のうちの2つ以上からデータを取り出し得るように、記憶されたAPS88は、1つまたは複数の他の記憶されたAPS88を参照し得る。さらに、以下で説明するように、記憶されたAPS88は、従来のHEVC技法のAPSに関係する追加のデータを与え得る。
動き補償ユニット72は、ビットストリーム中で受信した動きベクトルを使用して、メモリ84の参照フレームメモリ82中の参照フレーム中の予測ブロックを識別し得る。イントラ予測ユニット74は、ビットストリーム中で受信されたイントラ予測モードを使用して、空間的に隣接するブロックから予測ブロックを形成し得る。逆量子化ユニット76は、ビットストリーム中で供給され、エントロピー復号ユニット70によって復号された量子化ブロック係数を逆量子化(inverse quantize)、すなわち、逆量子化(de-quantize)する。逆量子化プロセスは、たとえば、H.264復号規格によって定義された従来のプロセスを含み得る。逆量子化プロセスはまた、量子化の程度を判断し、同様に、適用されるべき逆量子化の程度を判断するための、各ブロックについてエンコーダ50によって計算される量子化パラメータQPYの使用を含み得る。本開示の技法によれば、逆量子化ユニット76は、逆量子化を実行するために、記憶されたAPS88のうちの1つまたは複数から1つまたは複数の量子化行列を受信し得る。
逆変換ユニット58は、逆変換、たとえば、逆DCT、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用して、ピクセル領域において残差ブロックを生成する。動き補償ユニット72は、動き補償ブロックを生成し、場合によっては、補間フィルタに基づいて補間を実行する。サブピクセル精度をもつ動き推定に使用されるべき補間フィルタの識別子は、シンタックス要素中に含まれ得る。動き補償ユニット72は、ビデオブロックの符号化中にビデオエンコーダ20によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセルのための補間値を計算し得る。動き補償ユニット72は、受信したシンタックス情報に従って、たとえば、APS中で与えられるように、ビデオエンコーダ20によって使用された補間フィルタを判断し、その補間フィルタを使用して予測ブロックを生成し得る。
動き補償ユニット72は、シンタックス情報のいくつかを使用して、符号化ビデオシーケンスの(1つまたは複数の)フレームを符号化するために使用されるブロックのサイズと、符号化ビデオシーケンスのフレームの各ブロックがどのように区分されるかを記述するパーティション情報と、各パーティションがどのように符号化されるかを示すモードと、各インター符号化ブロックまたはパーティションのための1つまたは複数の参照フレーム(および参照フレームリスト)と、符号化ビデオシーケンスを復号するための他の情報とを判断する。
加算器80は、残差ブロックを、動き補償ユニット72またはイントラ予測ユニットによって生成される対応する予測ブロックと加算して、復号ブロックを形成する。図3に示すように、ブロッキネスアーティファクトを削除するために、復号ブロックをフィルタ処理するために、インループフィルタ86によって表されるデブロッキングフィルタが適用され得る。本開示の技法によれば、インループフィルタ86は、記憶されたAPS88のうちの1つまたは複数からALF係数を受信し、そのALF係数を使用して加算器80の出力をフィルタ処理する。たとえば、インループフィルタ86は、現在スライスが対応する、たとえば、現在スライスのためのスライスヘッダ中でシグナリングされたAPS識別子によって示される、記憶されたAPS88のうちの1つからALF係数を取り出し得る。このようにして、ビデオデコーダ30は、逆量子化ユニット58と逆変換ユニット60と加算器62とインループフィルタ66(図2)とによって表される、ビデオエンコーダ20の復号プロセスと実質的に同様である方法で、ビデオブロックを復号しフィルタ処理し得る。復号されたビデオブロックは、次いで、参照フレームメモリ82に記憶され、参照フレームメモリ82は、参照ブロックを後続の動き補償に供給し、また、(図1のディスプレイデバイス32などの)ディスプレイデバイス上での提示のために復号されたビデオを生成する。
ビデオデコーダ30は、たとえば、ビデオエンコーダ20によって形成されるAPSデータ構造を受信し得る。ビデオデコーダ30はさらに、APSデータ構造を復号し、メモリ84などのメモリに記憶し得る。記憶されたAPS88は、ビデオデコーダ30のメモリ84に記憶されたAPSの例を表す。ただし、APSは、必ずしも参照フレームメモリ82と同じメモリに記憶される必要はないことを理解されたい。いくつかの例では、ビデオデコーダ30がAPSをパースし、メモリ84に記憶したとき、それは一時的に記憶され、次いで、たとえば、後続のスライスを復号したときに、またはAPSが対応するスライスを含む関連するピクチャ全体が復号されたときに削除され得る。概して、ビデオデコーダ30は、たとえば、ビデオエンコーダ20から、記憶されたAPS88のうちの1つがメモリ84から削除され得るときを示す情報を受信する。メモリ84は、「バッファ」と呼ばれることもあるか、または本開示の技法に従ってAPSデータ構造を記憶するためのバッファとして構成される部分を含み得る。いくつかの例では、エントロピー復号ユニット70は、メモリ84にAPSデータを直接与え得る。
いくつかの例では、このAPSが、前のAPSのうちの少なくとも1つを、将来の使用のためにそれ以上必要とされないものとして明示的にマークすることを示すフラグが、APSに追加され得る。記憶されたAPS88のうちの1つがそのようなフラグまたは他のシンタックス要素によって、必要とされないものとしてマークされた場合、ビデオデコーダ30は、メモリ、たとえば、メモリ84から、マークされた復号されたAPSを削除し得る。いくつかの例では、記憶されたAPS88のうちの対応する1つが、それの含んでいるピクチャが復号された直後に、さらなる使用のために必要とされ得ることを示すフラグが、APS中に追加される。ビデオデコーダ30は、APSがさらなる使用のために必要とされないことを示すそのようなフラグを有する記憶されたAPS88のうちの1つまたは複数を削除するが、フラグが、APSがさらに必要とされることを示すAPSを記憶し得る。
いくつかの例では、ビデオデコーダ30の構成データは、メモリ84に記憶され得る記憶されたAPS88の最大数を指定し得る。メモリ84中にバッファされるべきAPSの最大数は、シーケンスパラメータセットまたはピクチャパラメータセットなどの他のパラメータセット中でシグナリングされ得る。そのような数は、参照フレームの最大数、または復号されたピクチャの最大数として設定され得る。さらに、APSのための自動機構が使用され得る。たとえば、ビデオデコーダ30は、APSについてのID値に基づいてスライディングウィンドウを使用し得る。この例では、デコーダバッファ(たとえば、メモリ84)中の記憶されたAPS88の現在の数がAPSの最大数に等しい場合、IDの最大数をもつAPS88はバッファから削除され得る。この場合、使用されるべきでないAPSは、しばしば、比較的より大きい値が割り当てられ得る。別の例では、ビデオデコーダ30は、先入れ先出し(FIFO)順序付け機構に従ってAPSを削除し得る。すなわち、メモリ84中に記憶されるべき、記憶されたAPS88のうちの最初のAPS88は、メモリ84から、記憶されたAPS88のうちの1つを削除する時間になったとき、メモリ84から削除されるべき最初のAPS88である。
いくつかの例では、APSのID値を割り当てるための2つの機構が使用され得る。いくつかの例では、ID値は、APSについて常に増加している。このようにして、ビデオデコーダ30は、記憶されたAPS88のうちの1つまたは複数が削除されるべきであることを判断した後、記憶されたAPS88のうちの最も古い受信したAPS88を削除し得る。別の例では、さらに使用されることが予見されるAPSには、比較的より大きいidが割り当てられ、復号順序で現在ピクチャ後にくるピクチャによって使用されないであろうAPSには、比較的大きい値が割り当てられる。このようにして、ビデオデコーダ30は、記憶されたAPS88のうちの1つまたは複数が削除されるべきであることを判断した後、比較的より大きいAPS ID値を有する記憶されたAPS88を削除し得る。
特定のtemporal_id(TID)に等しいtemporal_idをもつコード化ピクチャに関連付けられたどのAPSも、TIDよりも小さいtemporal_idをもつピクチャによって参照されないような制約が追加され得る。代替的に、TIDがAPSのNALユニットヘッダ中でシグナリングされた場合、制約は、temporal_IDが、それの関連するピクチャ中の他のVCL NALユニットと同じでなければならず、特定のTIDよりも小さいtemporal_idをもつスライスによって参照されるべきでないことを指定し得る。したがって、ビデオデコーダ30は、追加のシグナリング情報を必要とすることなしに、時間スケーラビリティを実行する目的で抽出されるサブビットストリームを復号し得る。すなわち、特定の時間レイヤにおけるスライスとピクチャとについてのAPSのすべてのシグナリングデータは、ビデオデコーダ30が、それらのスライスとピクチャとについてのAPSデータを受信することが保証され得るように、その特定のレイヤ以下になる。
いくつかの例では、ビデオデコーダ30は、APS ID値の解放を示すデータを受信し得る。すなわち、新しい異なるAPSが同じAPS ID値を割り当てられ得るように、このデータは、そのAPS ID値が解放されるべきであることを示し得る。追加または代替として、ビデオデコーダ30は、任意のランダムアクセスポイントの後に、デコーダバッファ(たとえば、メモリ84)中のすべての記憶されたAPS88がクリアされ、すなわち、廃棄されるか、あるいは場合によってはメモリ84から削除されるか、またはメモリ84からの削除のためにマークされるように構成され得る。すなわち、ランダムアクセスポイントピクチャよりも後の出力または復号順序をもつピクチャは、現在ピクチャに関連付けられたAPS、または復号順序でランダムアクセスポイントに続くピクチャに関連付けられたAPSのみを参照し得る。言い換えれば、たとえば、瞬時デコーダリフレッシュ(IDR)ランダムアクセスポイント(RAP)に遭遇すると、ビデオデコーダは、記憶されたAPS88のすべてをクリアし、IDR RAPに続く新しいAPSを受信し得る。そのような場合、ビデオデコーダ30は、IDR RAPに対応するピクチャを復号するより前に、新しいAPSを受信するのを待つ必要があり得る。
いくつかの例では、現在APSは、バッファ(たとえば、メモリ84)中の前のAPS、すなわち、記憶されたAPS88のうちの1つを参照することができる。現在APSは、現在APSによって参照される、記憶されたAPS88のうちの1つのAPSパラメータの部分を再利用し得るが、現在APSの他の部分は明示的にシグナリングされ得る。その上、現在APSは、たとえば、現在APSの異なる部分のために、依然としてバッファ中にある前の2つ以上のAPSを参照し得る。以下で詳細に説明するように、前に記憶されたAPSを参照するAPSの様々な例について、図6に示し、図6に関して説明する。
いくつかの例では、参照ピクチャリスト変更と参照ピクチャリスト組合せとを含む、参照ピクチャリスト構成関連のシンタックステーブルも、APS中でシグナリングされ得る。したがって、ビデオデコーダ30は、APS中でシグナリングされるデータに基づいて、組み合わせられたリストを形成するために、リスト0とリスト1とを組み合わせ得る。同様に、いくつかの例では、復号ピクチャバッファ管理、たとえば、メモリ管理制御動作(MMCO)シンタックステーブルおよび/または重み付け予測テーブルもAPS中に含まれ得る。したがって、ビデオデコーダ30は、参照フレームメモリ82からピクチャをいつ削除すべきかを判断し、様々なMMCOを実行し、および/または参照フレームメモリ82のデータ(たとえば、ピクチャのピクセル値)に重みを割り当てるためにそのようなデータを使用し得る。重みは、たとえば、重み付けされた双予測に対応し得、重み付けされた双予測では、ブロックが、2つのピクチャから予測され、そのうちの一方は他方よりも重く重み付けされる。すなわち、動き補償ユニット72が双予測ブロックについての予測値を計算するとき、2つのピクチャのうちの一方は、APS中で示される重みと他のデータとによって示されるように、予測値に対して他方よりも強い影響を有し得る。
量子化行列など、他のスライスまたはピクチャレベル情報もAPS中でシグナリングされ得る。概して、情報のセットは、APS中に存在することも存在しないこともある。すなわち、1つまたは複数のスライスに適用され得る任意のパラメータのセットは、APS中でシグナリングされ得る。そのセットが特定のAPS中に存在しない場合、このAPSは、情報のそのセットを得るために異なるAPS(たとえば、記憶されたAPS88のうちの前に記憶された1つ)を参照し得、APSは、情報の異なるセットを得るために複数のAPSを参照し得る。たとえば、APSは、シグナリングされたSAOパラメータを有し得るが、量子化行列のために、記憶されたAPS88のうちの第1の異なるAPSを参照し、ALFパラメータのために、記憶されたAPS88のうちの第2の異なるAPSを参照し、さらに、復号ピクチャバッファ管理および参照ピクチャリスト構成情報のために、記憶されたAPS88のうちの第3のAPSを参照し得る。したがって、ビデオデコーダ30は、現在スライスを復号するために、記憶されたAPS88のうちの1つまたは複数からデータを取り出し得る。
このようにして、ビデオデコーダ30は、適応パラメータセット(APS)データ構造をコーディングデバイスのバッファに記憶することであって、APSデータ構造が、ビデオデータの1つまたは複数のスライスに適用可能なシグナリングデータを含む、記憶することと、APSデータ構造のシグナリングデータに基づいてスライスのうちの少なくとも1つを復号することと、スライスを復号した後に、APSデータ構造がバッファから削除され得ることを判断することと、判断に基づいてバッファからAPSデータ構造を削除することと、バッファからAPSデータ構造を削除した後に、ビデオデータの1つまたは複数の追加のスライスを復号することとを行うように構成されたビデオデコーダの一例を表す。
以下の表1に、シーケンスパラメータセット(SPS)データ構造のための例示的な構文構造を示す。この例では、SPSデータ構造は、メモリ84に記憶されるべきAPSの最大数をシグナリングする。追加のAPSが記憶され得るが、たとえば、ビデオデコーダ30の実装形態に基づいて、SPSのこの情報は、APSデータ構造の最大数を超えた後、1つまたは複数のAPSが、ビットストリームの復号可能性を損なうことなしに、安全に廃棄され得る(クリアする、削除する、廃棄する、上書きする、もはや必要とされないものとしてマークすることなどが行われ得る)ことを示す。
Figure 2014525197
この例では、max_num_APSsは、デコーダバッファ中にバッファされ得るAPSの最大数を指定する。(たとえば、ビデオデコーダ30のための構成データの)MaxNumAPSsは、この場合、max_num_APSsに設定され得る。
以下の表2に、APSパラメータセットについてのシンタックスを与える。
Figure 2014525197
この例では、1に等しいref_aps_flagは、このAPSが復号順序で現在ピクチャに続くピクチャのためにデコーダメモリに記憶されることを示す。0に等しいこのフラグは、このAPSが単に一時的にメモリに記憶されており、関連するピクチャが完全に復号された後に削除されるべきであることを示す。
この例では、1に等しいremoval_aps_flagは、現在APSが、デコーダバッファから少なくとも1つのAPSを削除するための明示的シグナリングを含んでいることを示す。0に等しいこの値は、現在APSが、デコーダバッファからAPSを削除するための明示的シグナリングを含んでいないことを示す。このフラグが0に等しいときでも、いくつかの自動スライディングウィンドウ機構の場合、バッファ中のAPSの現在の数は、MaxNumAPSsよりも大きいかまたはそれに等しくなることが起こり得ることに留意されたい。
この例では、num_APS_to_remove_minus1+1は、現在APSが復号される前に(または後に)デコーダバッファから削除されるべきAPSの数を示す。
この例では、removal_aps_id[i]は、デコーダバッファから削除されるべきi番目のAPSのAPSパラメータセットidを指定する。
代替的に、現在APSがバッファされるべきである場合、削除プロセスのみが呼び出され得る。表3に、そのような例におけるAPSについてのシンタックスの例示的なセットを与える。
Figure 2014525197
表3中の省略符号の指示によって、表3は、APS RBSP(ローバイトシーケンスペイロード)のシンタックス要素の一部分を表すにすぎないことを理解されたい。APS RBSPの他の部分は、HEVCのWD6中に発見され得る。さらに別の例では、現在APSのAPS idに基づいて、APS idのΔ値がシグナリングされ得る。
ビデオデコーダ30は、現在APSが復号される前または後に、削除プロセスのための以下の復号プロセスを実行し得る。
1. removal_aps_flagが1に等しい場合、各removal_aps_id[i]について(iは0からnum_APS_to_remove_minus1までであり、両端値を含む)、removal_aps_id[i]に等しいidをもつAPSが、デコーダバッファ中にある場合、それを削除する。
2. removal_aps_flagが0に等しい場合、最大APS idをもつ、デコーダバッファ中にすでにあるAPSを識別し、それを削除する。
以下の表4は、APSについてのシンタックスの例示的なセットである。表4のシンタックスは、HEVC WD6において定義されているシンタックスの代替として与えられる。
Figure 2014525197
Figure 2014525197
表4のシンタックスデータの例のための例示的なセマンティクスは、以下に与えられる。詳細には、HEVC WD6において定義されているAPS RBSPに関して異なるAPS RBSPの要素について、セマンティクスが与えられる。以下で説明しない他のシンタックス要素についてのセマンティクスは、HEVC WD6において定義されているものと同じままであり得る。この例では、1に等しいaps_reference_picture_list_construction_flagは、参照ピクチャリスト構成関連のシンタックス要素が現在APS中でシグナリングされるかどうかを示し得る。0に等しいこのフラグは、それらのシンタックス要素がスライスヘッダ中でシグナリングされることを示し得る。
この例では、1に等しいref_aps_flagは、APSパラメータの部分が前の参照APSと同じであり得、シグナリングされないことを示し得る。0に等しいこの値は、APSが、ref_aps_idのidをもつ前のAPSを参照しないことを示し得る。
この例では、1に等しいreuse_alf_flagは、このAPSのALFパラメータが、ref_aps_idのidをもつ参照APSのALFパラメータと同じであることを示し得る。0に等しいこの値は、そのALFパラメータがこのAPS中でシグナリングされることを示し得る。存在しないとき、reuse_alf_flagは0であると推測される。
この例では、1に等しいreuse_sao_flagは、このAPSのSAOパラメータが、ref_aps_idのidをもつ参照APSのSAOパラメータと同じであることを示し得る。0に等しいこの値は、そのSAOパラメータがこのAPS中でシグナリングされることを示し得る。存在しないとき、reuse_sao_flagは0であると推測され得る。
この例では、1に等しいreuse_lists_flagは、このAPSの参照ピクチャリスト関連のシンタックス要素が、ref_aps_idのidをもつ参照APSのシンタックス要素と同じであることを示し得る。0に等しいこの値は、その要素がこのAPS中でシグナリングされることを示し得る。存在しないとき、reuse_lists_flagは0であると推測される。
いくつかの例では、APSデータ構造によってシグナリングされたデータを反映するために、スライスヘッダが変更され得る。たとえば、以下の表5に、本開示の技法による例示的なスライスヘッダを与える。
Figure 2014525197
Figure 2014525197
いくつかの例では、ref_const_in_aps_flagは、参照ピクチャリスト関連のシンタックス要素がAPS中でシグナリングされ得るかどうかを示すために、PPSまたはSPSのいずれかの中でシグナリングされるフラグである。
図4は、APSデータ構造を使用してビデオデータを符号化するための例示的な方法を示すフローチャートである。ビデオエンコーダ20の例に関して説明するが、図4の方法は、トランスコーダなどの他のビデオ符号化デバイスによっても実行され得ることを理解されたい。その上、本方法のいくつかのステップは、省略され得るか、あるいは異なる順序で、または並行して実行され得る。
初めに、ビデオエンコーダ20は、1つまたは複数のパラメータを使用してスライスを符号化する(150)。パラメータは、ALF係数、SAOパラメータ、ピクチャリスト変更データ、参照ピクチャリスト組合せデータ、メモリ管理制御動作シンタックスデータ、重み付け予測テーブル、および/または量子化行列のうちの1つまたは複数、あるいは他のそのようなデータを含み得る。ビデオエンコーダ20はさらに、APSデータ構造中でパラメータのいずれかまたはすべてをシグナリングする(152)。いくつかの例では、前のAPSが以前にビットストリーム中に出力されており、ビデオデコーダバッファに記憶されるべきであると仮定すると、APSのパラメータのうちの1つまたは複数は、前の1つまたは複数のAPSを参照し得る。
ビデオエンコーダ20はさらに、APSが削除され得るときを示す情報を与える(154)。これは、スライスを符号化し、APSを送る前に行われるか、またはスライスを符号化し、APSを送った後に行われ得る。たとえば、ビデオエンコーダ20は、上記で説明したように、後続のAPS中で、ステップ152においてシグナリングされたAPSが削除され得ることを示すフラグまたは他のシンタックス要素をシグナリングし得る。代替的に、ビデオエンコーダ20は、たとえば、SPSデータ構造中で、ビデオデコーダバッファに記憶されるべきAPSの最大数をシグナリングし得る。いくつかの例では、情報は、たとえば、その後にコーディングされたピクチャがランダムアクセスポイント(RAP)であるという指示を与えることによって暗黙的であり得る。
ビデオエンコーダ20はさらに、1つまたは複数のパラメータを使用して後続のスライスを符号化する(156)。これらのパラメータは、ステップ150のスライスを符号化するために使用されたパラメータとは異なり得る。代替的に、それらのパラメータは、たとえば、ステップ152においてシグナリングされたAPSが(たとえば、ランダムアクセスポイントに続いて)削除されると仮定されるとき、ステップ150のスライスを符号化するために使用されたパラメータと同じであり得る。したがって、ビデオエンコーダ20は、後続のスライスを符号化するために異なるパラメータを使用すべきかどうかを判断する(158)。ビデオエンコーダ20が、後続のスライスを符号化するために異なるパラメータを使用しなかった場合(158の「NO」ブランチ)、ビデオエンコーダ20は、後続のスライスのスライスヘッダ中で前のAPSのAPS IDをシグナリングする(166)。一方、ビデオエンコーダ20が、後続のスライスを符号化するために1つまたは複数の異なるパラメータを使用した場合(158の「YES」ブランチ)、ビデオエンコーダ20は、後続のAPS中で異なるパラメータをシグナリングする(160)。
ビデオエンコーダ20はまた、共通パラメータ、すなわち、前のAPS中でシグナリングされた、前のスライスを符号化するために使用されたパラメータと、後続のスライスを符号化するために使用されたパラメータとのために、後続のAPS中で前のAPSへの参照をシグナリングする(162)。その上、ビデオエンコーダ20は、後続のスライスヘッダ中で後続のAPSのAPS ID値をシグナリングする(164)。追加または代替として、後続のAPSは、たとえば、後続のAPSの異なる部分のために前の2つ以上のAPSを参照し得る。ステップ152においてシグナリングされたAPSおよび/またはセット158の後続のAPSは、1つまたは複数のスライスに適用され得、1つまたは複数のスライスは1つまたは複数のAPSを参照し得る。さらに、上記で説明したように、ビデオエンコーダ20は、後続のAPS中で、前の1つまたは複数のAPSがもはや必要とされない場合にそれらが削除され得るという指示を与え得る。いくつかの代替例では、ビデオエンコーダ20は、共通パラメータのために前のAPSへの参照を与えるのではなく、後続のAPS中でパラメータのすべてを与えるだけでよい。
このようにして、図4の方法は、1つまたは複数のパラメータを使用してビデオデータの1つまたは複数のスライスの第1のセットを符号化することと、APSデータ構造中で1つまたは複数のパラメータをシグナリングすることと、APSデータ構造に関係なく、1つまたは複数のスライスの第1のセットの判断されたスライスに続くビデオデータの1つまたは複数のスライスの第2のセットを符号化することとを含む方法の一例を表す。
図5は、APSデータ構造を使用してビデオデータを復号するための例示的な方法を示すフローチャートである。説明のために、ビデオデコーダ30に関して説明するが、他のビデオ復号デバイスも同様の方法を実行し得ることを理解されたい。同様に、本方法のステップは、異なる順序で、または並行して実行され得、いくつかのステップは省略され得る。
ビデオデコーダ30は、スライスについてのAPSデータ構造を受信し、APSデータ構造は、スライスについての1つまたは複数のパラメータをシグナリングする(200)。いくつかの例では、APSデータ構造は、複数のスライスについてのパラメータをシグナリングする。ビデオデコーダ30は、APSデータ構造を使用して、たとえば、APSデータ構造中でシグナリングされたパラメータを使用してスライスのうちの少なくとも1つを復号する(202)。これらのパラメータは、たとえば、ALF係数、SAOパラメータ、参照ピクチャリスト変更データ、参照ピクチャリスト組合せデータ、メモリ管理制御動作シンタックスデータ、重み付け予測テーブル、および/または量子化行列、あるいは複数のスライスまたはピクチャに共通であり得る他の追加または代替のデータを含み得る。上記で説明したように、ビデオデコーダ30が、1つまたは複数の記憶されたAPS、たとえば、記憶されたAPS88のデータを使用してスライスを復号し得るように、APSは、他の前に記憶されたAPSへの参照を含み得る。ビデオデコーダ30はまた、たとえば、APSデータ構造中に含まれるフラグ、後続のAPSの受信、シグナリングされた、または場合によっては判断された、メモリ84に記憶されるべきAPSの最大数、削除されるべきAPSの明示的指示、あるいは上記で説明した他の技法など、上記で説明した技法のいずれかを使用して、APSデータ構造が削除され得るときを判断する(204)。
APSが削除され得るという判断に基づいて、ビデオデコーダ30はAPSデータ構造を削除する(206)。ビデオデコーダ30は、必ずしも、APSデータ構造が削除され得ることを判断すると直ちにAPSデータ構造を削除する必要はないが、いくつかの例では、APSデータ構造をもはや必要とされないものとしてマークし、ガーベージコレクションプロセス中にAPSデータ構造を削除するだけでよい。ビデオデコーダ30は、同じビデオシーケンスのスライスを復号する前に、メモリ84から1つまたは複数のAPSデータ構造を削除する(208)。
このようにして、図5の方法は、APSデータ構造をコーディングデバイスのバッファに記憶することであって、APSデータ構造が、ビデオデータの1つまたは複数のスライスに適用可能なシグナリングデータを含む、記憶することと、APSデータ構造のシグナリングデータに基づいてスライスのうちの少なくとも1つを復号することと、スライスを復号した後に、APSデータ構造がバッファから削除され得ることを判断することと、判断に基づいてバッファからAPSデータ構造を削除することと、バッファからAPSデータ構造を削除した後に、ビデオデータの1つまたは複数の追加のスライスを復号することとを含む方法の一例を表す。
図6は、APSデータ構造250、260、および270を示す概念図である。この例では、APSデータ構造250は、省略符号によって示される可能なデータの中でも、ALF係数252と、SAOパラメータ254と、量子化行列256と、重み付けされたシンタックステーブル258とを含む。したがって、ビデオエンコーダ20は、ALF係数252と、SAOパラメータ254と、量子化行列256と、重み付けされたシンタックステーブル258とのデータを使用してスライス(図示せず)を符号化し得る。したがって、ビデオエンコーダ20は、スライスをコーディングするために使用されるALF係数252と、SAOパラメータ254と、量子化行列256と、重み付けされたシンタックステーブル258とについての値を判断した後に、APS250を構成し得る。ビデオエンコーダ20はまた、APS250にID値(図示せず)を割り当て得、APS250のAPS IDへの参照を含むスライスについてのヘッダを構成し得る。
このようにして、ビデオデコーダ30は、APS250と、APS250のAPS IDへの参照を含むコード化スライスとを受信し得る。したがって、ビデオデコーダ30は、スライスヘッダ中でシグナリングされたAPS IDに基づいて、APS250のALF係数252と、SAOパラメータ254と、量子化行列256と、重み付けされたシンタックステーブル258とを使用してスライスを復号し得る。
その後、ビデオエンコーダ20は、異なるSAOパラメータと異なる重み付けされたシンタックステーブルとを使用して、しかし同じALF係数と同じ量子化行列とを使用してスライスを符号化し得る。したがって、ビデオエンコーダ20は、異なるパラメータをシグナリングするために、異なるAPS、たとえば、APS260を構成するが、このデータが異なるAPS中で再生される必要がないように、APS250(この例では、前のAPS)のパラメータへの参照を含み得る。この例では、APS260は、ALF係数識別子262と、SAOパラメータ264と、量子化行列識別子266と、重み付けされたシンタックステーブル268とを含む。図6において矢印によって示されるように、ALF係数識別子262はAPS250のALF係数252を参照し、量子化行列識別子266はAPS250の量子化行列256を参照する。ビデオエンコーダ20はさらに、APS 260に別個のAPS ID値を割り当て、スライスのスライスヘッダ中でこのAPS ID値をシグナリングし得る。
したがって、ビデオデコーダ30は、APS260についてのデータとスライスとを受信し得る。スライスのAPS ID値に基づいて、APS260を参照すると、ビデオデコーダ30は、APS260のデータを使用してスライスを復号し得る。適応ループフィルタ処理を実行するとき、ビデオデコーダ30は、APS260のALF係数識別子262がALF係数252を参照することを判断し得る。したがって、ビデオデコーダ30は、スライスについての適応ループフィルタ処理を実行するためにAPS250のALF係数252を取り出し得る。サンプル適応オフセットを実行するとき、ビデオデコーダ30は、APS260のSAOパラメータ264からデータを取り出し得る。量子化を実行するとき、ビデオデコーダ30は、量子化行列識別子266がAPS250の量子化行列256を参照することを判断し得、したがって、APS250の量子化行列256のデータを取り出し得る。その上、重み付けを実行するとき、ビデオデコーダ30は、APS260の重み付けされたシンタックステーブル268のためのデータを取り出し得る。
その後、ビデオエンコーダ20は、APS250中でシグナリングされたものと同じALF係数と、APS260中でシグナリングされたものと同じSAOパラメータと、新しい量子化行列と、重み付けされたシンタックステーブルとを使用してスライスを符号化し得る。したがって、ビデオエンコーダ20は、APS250のALF係数252を参照するALF係数識別子272と、SAOパラメータ264を参照するSAOパラメータ識別子274と、量子化行列276と、重み付けされたシンタックステーブル278とを含むようにAPS270を構成し得る。このようにして、APS270は、シグナリングされるべき様々なパラメータのために2つの別個のAPSを参照するAPSの一例を表す。ビデオエンコーダ20はさらに、スライスのスライスヘッダ中でAPS270のためのAPS ID値をシグナリングし得る。
ビデオデコーダ30は、APS270についてのデータとスライスとを受信し得る。スライスヘッダのAPS IDに基づいて、ビデオデコーダ30は、APS270中でシグナリングされたパラメータが、スライスを復号するために使用されるべきであることを判断し得る。適応ループフィルタ処理を実行するとき、ビデオデコーダ30は、APS270のALF係数識別子272がALF係数252を参照することを判断し得る。したがって、ビデオデコーダ30は、スライスについての適応ループフィルタ処理を実行するためにAPS250のALF係数252を取り出し得る。サンプル適応オフセットを実行するとき、ビデオデコーダ30は、SAOパラメータ識別子274がSAOパラメータ264を参照することを判断し得る。したがって、ビデオデコーダ30は、APS260のSAOパラメータ264からデータを取り出し得る。量子化を実行するとき、ビデオデコーダ30はAPS270の量子化行列276のデータを取り出し得る。その上、重み付けを実行するとき、ビデオデコーダ30は、APS270の重み付けされたシンタックステーブル278のためのデータを取り出し得る。
例によっては、本明細書で説明した技法のうちいずれかの、いくつかの作用またはイベントは、異なるシーケンスで実行され得、追加、マージ、または完全に除外され得る(たとえば、すべての説明した作用またはイベントが、本技法の実施のために必要であるとは限らない)ことを認識されたい。さらに、いくつかの例では、行為またはイベントは、連続してではなくむしろ、同時に、たとえば、マルチスレッド処理、割込み処理、または複数のプロセッサを通して実行され得る。
1つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体または通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、(1)非一時的である有形コンピュータ可読記憶媒体、あるいは(2)信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コードおよび/またはデータ構造を取り出すために1つまたは複数のコンピュータあるいは1つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD−ROMまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびブルーレイディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
命令は、1つまたは複数のデジタル信号プロセッサ(DSP)などの1つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明した技法の実装に好適な他の構造のいずれかを指し得る。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアおよび/またはソフトウェアモジュール内に与えられ得、あるいは複合コーデックに組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素中に十分に実装され得る。
本開示の技法は、ワイヤレスハンドセット、集積回路(IC)またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置において実施され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび/またはファームウェアとともに、上記で説明した1つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1]
ビデオデータを復号する方法であって、前記方法は、
適応パラメータセット(APS)データ構造をコーディングデバイスのバッファに記憶することであって、前記APSデータ構造が、ビデオデータの1つまたは複数のスライスに適用可能なシグナリングデータを含む、記憶することと、
前記APSデータ構造の前記シグナリングデータに基づいて前記スライスのうちの少なくとも1つを復号することと、
前記スライスを復号した後に、前記APSデータ構造が前記バッファから削除され得ることを判断することと、
前記判断に基づいて前記バッファから前記APSデータ構造を削除することと、
前記バッファから前記APSデータ構造を削除した後に、前記ビデオデータの1つまたは複数の追加のスライスを復号することとを備える、方法。
[C2]
前記APSデータ構造が、前記1つまたは複数のスライスについての量子化行列を表すデータを含む、C1に記載の方法。
[C3]
前記APSデータ構造が、データのセットを備える第1のAPSデータ構造を備え、前記1つまたは複数のスライスが1つまたは複数のスライスの第1のセットを備え、前記方法が、1つまたは複数のスライスの第2のセットに適用可能な第2のAPSデータ構造からデータの前記セットを取り出すことなしに、前記第1のAPSのデータの前記セットを使用して1つまたは複数のスライスの前記第2のセットを復号することをさらに備える、C2に記載の方法。
[C4]
データの前記セットが適応ループフィルタ(ALF)係数を備える、C3に記載の方法。
[C5]
前記APSデータ構造が、前記1つまたは複数のスライスについてのALF係数のうちの1つまたは複数を表すデータを含む、C2に記載の方法。
[C6]
前記APSデータ構造が、前記1つまたは複数のスライスについての1つまたは複数のサンプル適応オフセット(SAO)パラメータを表すデータを含む、C2に記載の方法。
[C7]
前記APSデータ構造が、前記1つまたは複数のスライスについてのピクチャリスト変更データと、参照ピクチャリスト組合せデータと、メモリ管理制御動作シンタックスデータと、重み付け予測テーブルとのうちの1つまたは複数を表すデータを含む、C2に記載の方法。
[C8]
前記APSデータ構造が削除され得ることを判断することは、前記APSデータ構造が削除され得ることを示す後続のAPSデータ構造を受信することを備える、C2に記載の方法。
[C9]
前記バッファに記憶され得るAPSデータ構造の最大数の指示を受信することをさらに備え、前記APSデータ構造が削除され得ることを判断することは、前記バッファに記憶されたAPSデータ構造の数が前記最大数を超えることを判断することを備える、C2に記載の方法。
[C10]
前記APSデータ構造を削除することが、前記バッファに現在記憶されている前記APSデータ構造の受信された前記第1のAPSデータ構造を削除することを備える、C9に記載の方法。
[C11]
前記APSデータ構造を削除することは、前記APSデータ構造についての識別子値が、前記APSデータ構造が前記バッファに現在記憶されている前記APSデータ構造の最低優先順位を有することを示すことを判断することと、前記判断に基づいて前記最低優先順位を有する前記APSデータ構造を削除することとを備える、C9に記載の方法。
[C12]
前記APSデータ構造が第1のAPSデータ構造を備え、前記方法は、
第2のAPSデータ構造を受信することであって、前記第2のAPSデータ構造は、前記第2のAPSデータ構造の少なくとも一部分が前記第1のAPSデータ構造の対応する一部分を指すことを示す情報を含む、受信することと、
前記第2のAPSデータ構造の前記情報に基づいて前記第1のAPSデータ構造の前記一部分のデータを使用して、前記第2のAPSデータ構造に関連するスライスを復号することとをさらに備える、C2に記載の方法。
[C13]
第3のAPSデータ構造を受信することであって、前記第3のAPSデータ構造は、前記第3のAPSデータ構造の第1の一部分が前記第1のAPSデータ構造の対応する一部分を指すことと、前記第3のAPSデータ構造の第2の異なる一部分が前記第2のAPSデータ構造の対応する一部分を指すこととを示す情報を含む、受信することと、
前記第3のAPSデータ構造の前記情報に基づいて、前記第1のAPSデータ構造の前記一部分のデータと前記第2のAPSデータ構造の前記一部分のデータとを使用して、前記第3のAPSデータ構造に関連するスライスを復号することとをさらに備える、C12に記載の方法。
[C14]
ビデオデータを復号するためのデバイスであって、前記デバイスは、
バッファを備えるメモリと、
ビデオデコーダとを備え、前記ビデオデコーダは、適応パラメータセット(APS)データ構造を前記バッファに記憶することであって、前記APSデータ構造が、ビデオデータの1つまたは複数のスライスに適用可能なシグナリングデータを含む、記憶することと、前記APSデータ構造の前記シグナリングデータに基づいて前記スライスのうちの少なくとも1つを復号することと、前記スライスを復号した後に、前記APSデータ構造が前記バッファから削除され得ることを判断することと、前記判断に基づいて前記バッファから前記APSデータ構造を削除することと、前記バッファから前記APSデータ構造を削除した後に、前記ビデオデータの1つまたは複数の追加のスライスを復号することとを行うように構成された、デバイス。
[C15]
前記APSデータ構造が、前記1つまたは複数のスライスについての量子化行列を表すデータを含む、C14に記載のデバイス。
[C16]
前記APSデータ構造が、データのセットを備える第1のAPSデータ構造を備え、前記1つまたは複数のスライスが1つまたは複数のスライスの第1のセットを備え、前記ビデオデコーダが、1つまたは複数のスライスの第2のセットに適用可能な第2のAPSデータ構造からデータの前記セットを取り出すことなしに、前記第1のAPSのデータの前記セットを使用して1つまたは複数のスライスの前記第2のセットを復号するようにさらに構成された、C14に記載のデバイス。
[C17]
データの前記セットが適応ループフィルタ(ALF)係数を備える、C16に記載のデバイス。
[C18]
ビデオ復号デバイスは、前記APSデータ構造が削除され得ることを示す後続のAPSデータ構造を受信したことに応答して、前記APSデータ構造が削除され得ることを判断するように構成された、C14に記載のデバイス。
[C19]
前記ビデオ復号デバイスが、前記バッファに記憶され得るAPSデータ構造の最大数の指示を受信するように構成され、前記APSデータ構造が削除され得ることを判断するために、前記ビデオ復号デバイスは、前記バッファに記憶されたAPSデータ構造の数が前記最大数を超えるかどうかを判断するように構成された、C14に記載のデバイス。
[C20]
前記APSデータ構造が第1のAPSデータ構造を備え、前記ビデオ復号デバイスは、第2のAPSデータ構造を受信することであって、前記第2のAPSデータ構造は、前記第2のAPSデータ構造の少なくとも一部分が前記第1のAPSデータ構造の対応する一部分を指すことを示す情報を含む、受信することと、前記第2のAPSデータ構造の前記情報に基づいて前記第1のAPSデータ構造の前記一部分のデータを使用して、前記第2のAPSデータ構造に関連するスライスを復号することとを行うように構成された、C14に記載のデバイス。
[C21]
ビデオデータを復号するためのデバイスであって、前記デバイスは、
適応パラメータセット(APS)データ構造をコーディングデバイスのバッファに記憶するための手段であって、前記APSデータ構造が、ビデオデータの1つまたは複数のスライスに適用可能なシグナリングデータを含む、記憶するための手段と、
前記APSデータ構造の前記シグナリングデータに基づいて前記スライスのうちの少なくとも1つを復号するための手段と、
前記スライスを復号した後に、前記APSデータ構造が前記バッファから削除され得ることを判断するための手段と、
前記判断に基づいて前記バッファから前記APSデータ構造を削除するための手段と、
前記バッファから前記APSデータ構造を削除した後に、前記ビデオデータの1つまたは複数の追加のスライスを復号するための手段とを備える、デバイス。
[C22]
前記APSデータ構造が、前記1つまたは複数のスライスについての量子化行列を表すデータを含む、C21に記載のデバイス。
[C23]
前記APSデータ構造が、データのセットを備える第1のAPSデータ構造を備え、前記1つまたは複数のスライスが1つまたは複数のスライスの第1のセットを備え、1つまたは複数のスライスの第2のセットに適用可能な第2のAPSデータ構造からデータの前記セットを取り出すことなしに、前記第1のAPSのデータの前記セットを使用して1つまたは複数のスライスの前記第2のセットを復号するための手段をさらに備える、C21に記載のデバイス。
[C24]
データの前記セットが適応ループフィルタ(ALF)係数を備える、C22に記載のデバイス。
[C25]
前記APSデータ構造が削除され得ることを判断するための前記手段は、前記APSデータ構造が削除され得ることを示す後続のAPSデータ構造を受信するための手段を備える、C21に記載のデバイス。
[C26]
前記バッファに記憶され得るAPSデータ構造の最大数の指示を受信するための手段をさらに備え、前記APSデータ構造が削除され得ることを判断するための前記手段は、前記バッファに記憶されたAPSデータ構造の数が前記最大数を超えることを判断するための手段を備える、C21に記載のデバイス。
[C27]
前記APSデータ構造が第1のAPSデータ構造を備え、
第2のAPSデータ構造を受信するための手段であって、前記第2のAPSデータ構造は、前記第2のAPSデータ構造の少なくとも一部分が前記第1のAPSデータ構造の対応する一部分を指すことを示す情報を含む、受信するための手段と、
前記第2のAPSデータ構造の前記情報に基づいて前記第1のAPSデータ構造の前記一部分のデータを使用して、前記第2のAPSデータ構造に関連するスライスを復号するための手段とをさらに備える、C21に記載のデバイス。
[C28]
実行されたとき、プロセッサに、
適応パラメータセット(APS)データ構造をコーディングデバイスのバッファに記憶することであって、前記APSデータ構造が、ビデオデータの1つまたは複数のスライスに適用可能なシグナリングデータを含む、記憶することと、
前記APSデータ構造の前記シグナリングデータに基づいて前記スライスのうちの少なくとも1つを復号することと、
前記スライスを復号した後に、前記APSデータ構造が前記バッファから削除され得ることを判断することと、
前記判断に基づいて前記バッファから前記APSデータ構造を削除することと、
前記バッファから前記APSデータ構造を削除した後に、前記ビデオデータの1つまたは複数の追加のスライスを復号することとを行わせる命令を記憶したコンピュータ可読記憶媒体。
[C29]
前記APSデータ構造が、前記1つまたは複数のスライスについての量子化行列を表すデータを含む、C28に記載のコンピュータ可読記憶媒体。
[C30]
前記APSデータ構造が、データのセットを備える第1のAPSデータ構造を備え、前記1つまたは複数のスライスが1つまたは複数のスライスの第1のセットを備え、前記プロセッサに、1つまたは複数のスライスの第2のセットに適用可能な第2のAPSデータ構造からデータの前記セットを取り出すことなしに、前記第1のAPSのデータの前記セットを使用して1つまたは複数のスライスの前記第2のセットを復号させる命令をさらに備える、C28に記載のコンピュータ可読記憶媒体。
[C31]
データの前記セットが適応ループフィルタ(ALF)係数を備える、C30に記載のコンピュータ可読記憶媒体。
[C32]
前記プロセッサに、前記APSデータ構造が削除され得ることを判断させる前記命令は、前記プロセッサに、前記APSデータ構造が削除され得ることを示す後続のAPSデータ構造を受信させる命令を備える、C28に記載のコンピュータ可読記憶媒体。
[C33]
前記プロセッサに、前記バッファに記憶され得るAPSデータ構造の最大数の指示を受信させる命令をさらに備え、前記プロセッサに、前記APSデータ構造が削除され得ることを判断させる前記命令は、前記プロセッサに、前記バッファに記憶されたAPSデータ構造の数が前記最大数を超えることを判断させる命令を備える、C28に記載のコンピュータ可読記憶媒体。
[C34]
前記APSデータ構造が第1のAPSデータ構造を備え、前記プロセッサに、
第2のAPSデータ構造を受信することであって、前記第2のAPSデータ構造は、前記第2のAPSデータ構造の少なくとも一部分が前記第1のAPSデータ構造の対応する一部分を指すことを示す情報を含む、受信することと、
前記第2のAPSデータ構造の前記情報に基づいて前記第1のAPSデータ構造の前記一部分のデータを使用して、前記第2のAPSデータ構造に関連するスライスを復号することとを行わせる命令をさらに備える、C28に記載のコンピュータ可読記憶媒体。
[C35]
ビデオデータを符号化する方法であって、前記方法は、
1つまたは複数のパラメータを使用してビデオデータの1つまたは複数のスライスの第1のセットを符号化することと、
適応パラメータセット(APS)データ構造中で前記1つまたは複数のパラメータをシグナリングすることと、
前記APSデータ構造に関係なく、1つまたは複数のスライスの前記第1のセットの判断されたスライスに続く前記ビデオデータの1つまたは複数のスライスの第2のセットを符号化することとを備える、方法。
[C36]
前記APSデータ構造中でシグナリングされる前記1つまたは複数のパラメータが、前記1つまたは複数のスライスについての1つまたは複数の量子化行列を含む、C35に記載の方法。
[C37]
前記APSデータ構造中でシグナリングされる前記1つまたは複数のパラメータが、前記1つまたは複数のスライスについての適応ループフィルタ(ALF)係数とサンプル適応オフセット(SAO)パラメータとのうちの1つまたは複数を含む、C35に記載の方法。
[C38]
前記APSデータ構造中でシグナリングされる前記1つまたは複数のパラメータが、前記1つまたは複数のスライスについてのピクチャリスト変更データと、参照ピクチャリスト組合せデータと、メモリ管理制御動作シンタックスデータと、重み付け予測テーブルとのうちの1つまたは複数を含む、C35に記載の方法。
[C39]
前記APSデータ構造が第1のAPSデータ構造を備え、前記方法は、
前記第1のAPSデータ構造中でシグナリングされる1つまたは複数のパラメータと、前記第1のAPSデータ構造中でシグナリングされない1つまたは複数のパラメータとを使用して、前記ビデオデータのスライスを符号化することであって、前記スライスが、1つまたは複数のスライスの前記第1のセットの前記判断されたスライスの前に生じる、符号化することと、
第2のAPSデータ構造中で、前記第1のAPSデータ構造中でシグナリングされない前記1つまたは複数のパラメータをシグナリングすることと、
前記第2のAPSデータ構造中で、前記第2のAPSデータ構造の一部分が前記第1のAPSデータ構造の対応する一部分を指すことを示す情報を与えることであって、前記対応する一部分が、前記スライスを符号化するために使用される前記第1のAPSデータ構造中でシグナリングされる前記1つまたは複数のパラメータを備える、与えることとをさらに備える、C35に記載の方法。
[C40]
1つまたは複数のスライスの前記第1のセットの前記判断されたスライスを復号するより前に、前記APSデータ構造がビデオ復号デバイスのバッファから削除され得ることを示す情報を与えることをさらに備える、C35に記載の方法。
[C41]
前記APSデータ構造が第1のAPSデータ構造を備え、前記第1のAPSデータ構造が削除され得ることを示す前記情報を与えることは、1つまたは複数のスライスの前記第2のセットに対応する第2のAPSデータ構造中で、前記第1のAPSデータ構造が削除され得ることをシグナリングすることを備える、C40に記載の方法。
[C42]
1つまたは複数のスライスの前記第1のセットが厳密に1つのスライスを備え、前記APSデータ構造が削除され得ることを示す情報を与えることは、前記APSデータ構造が1つのスライスのみに適用されることを示すように前記APSデータ構造のフラグの値を設定することを備える、C40に記載の方法。
[C43]
前記APSデータ構造が削除され得ることを示す情報を与えることは、ビデオ復号デバイスのバッファに記憶され得るAPSデータ構造の最大数に等しいかまたはそれよりも大きい数の後続のAPSデータ構造を与えることを備える、C40に記載の方法。
[C44]
前記APSデータ構造に、前記後続のAPSデータ構造の優先順位値よりも低い優先順位値を割り当てることをさらに備える、C43に記載の方法。
[C45]
ビデオデータを符号化するためのデバイスであって、前記デバイスは、1つまたは複数のパラメータを使用してビデオデータの1つまたは複数のスライスの第1のセットを符号化することと、適応パラメータセット(APS)データ構造中で前記1つまたは複数のパラメータをシグナリングすることと、前記APSデータ構造に関係なく、1つまたは複数のスライスの前記第1のセットの判断されたスライスに続く前記ビデオデータの1つまたは複数のスライスの第2のセットを符号化することとを行うように構成されたビデオエンコーダを備える、デバイス。
[C46]
前記APSデータ構造中でシグナリングされる前記1つまたは複数のパラメータが、前記1つまたは複数のスライスについての1つまたは複数の量子化行列を含む、C45に記載のデバイス。
[C47]
前記APSデータ構造中でシグナリングされる前記1つまたは複数のパラメータが、適応ループフィルタ(ALF)係数と、サンプル適応オフセット(SAO)パラメータと、ピクチャリスト変更データと、参照ピクチャリスト組合せデータと、メモリ管理制御動作シンタックスデータと、重み付け予測テーブルと、量子化行列とのうちの1つまたは複数を含む、C45に記載のデバイス。
[C48]
前記APSデータ構造が第1のAPSデータ構造を備え、前記ビデオエンコーダは、前記第1のAPSデータ構造中でシグナリングされる1つまたは複数のパラメータと、前記第1のAPSデータ構造中でシグナリングされない1つまたは複数のパラメータとを使用して、前記ビデオデータのスライスを符号化することであって、前記スライスが、1つまたは複数のスライスの前記第1のセットの前記判断されたスライスの前に生じる、符号化することと、第2のAPSデータ構造中で、前記第1のAPSデータ構造中でシグナリングされない前記1つまたは複数のパラメータをシグナリングすることと、前記第2のAPSデータ構造中で、前記第2のAPSデータ構造の一部分が前記第1のAPSデータ構造の対応する一部分を指すことを示す情報を与えることであって、前記対応する一部分が、前記スライスを符号化するために使用される前記第1のAPSデータ構造中でシグナリングされる前記1つまたは複数のパラメータを備える、与えることとを行うようにさらに構成された、C45に記載のデバイス。
[C49]
前記ビデオエンコーダは、1つまたは複数のスライスの前記第1のセットの前記判断されたスライスを復号するより前に、前記APSデータ構造がビデオ復号デバイスのバッファから削除され得ることを示す情報を与えるようにさらに構成された、C45に記載のデバイス。
[C50]
ビデオデータを符号化するためのデバイスであって、前記デバイスが、
1つまたは複数のパラメータを使用してビデオデータの1つまたは複数のスライスの第1のセットを符号化するための手段と、
適応パラメータセット(APS)データ構造中で前記1つまたは複数のパラメータをシグナリングするための手段と、
前記APSデータ構造に関係なく、1つまたは複数のスライスの前記第1のセットの判断されたスライスに続く前記ビデオデータの1つまたは複数のスライスの第2のセットを符号化するための手段とを備える、デバイス。
[C51]
前記APSデータ構造中でシグナリングされる前記1つまたは複数のパラメータが、前記1つまたは複数のスライスについての1つまたは複数の量子化行列を含む、C50に記載のデバイス。
[C52]
前記APSデータ構造中でシグナリングされる前記1つまたは複数のパラメータが、適応ループフィルタ(ALF)係数と、サンプル適応オフセット(SAO)パラメータと、ピクチャリスト変更データと、参照ピクチャリスト組合せデータと、メモリ管理制御動作シンタックスデータと、重み付け予測テーブルと、量子化行列とのうちの1つまたは複数を含む、C50に記載のデバイス。
[C53]
前記APSデータ構造が第1のAPSデータ構造を備え、
前記第1のAPSデータ構造中でシグナリングされる1つまたは複数のパラメータと、前記第1のAPSデータ構造中でシグナリングされない1つまたは複数のパラメータとを使用して、前記ビデオデータのスライスを符号化するための手段であって、前記スライスが、1つまたは複数のスライスの前記第1のセットの前記判断されたスライスの前に生じる、符号化するための手段と、
第2のAPSデータ構造中で、前記第1のAPSデータ構造中でシグナリングされない前記1つまたは複数のパラメータをシグナリングするための手段と、
前記第2のAPSデータ構造中で、前記第2のAPSデータ構造の一部分が前記第1のAPSデータ構造の対応する一部分を指すことを示す情報を与えるための手段であって、前記対応する一部分が、前記スライスを符号化するために使用される前記第1のAPSデータ構造中でシグナリングされる前記1つまたは複数のパラメータを備える、与えるための手段とをさらに備える、C50に記載のデバイス。
[C54]
1つまたは複数のスライスの前記第1のセットの前記判断されたスライスを復号するより前に、前記APSデータ構造がビデオ復号デバイスのバッファから削除され得ることを示す情報を与えるための手段をさらに備える、C50に記載のデバイス。
[C55]
実行されたとき、プロセッサに、
1つまたは複数のパラメータを使用してビデオデータの1つまたは複数のスライスの第1のセットを符号化することと、
適応パラメータセット(APS)データ構造中で前記1つまたは複数のパラメータをシグナリングすることと、
前記APSデータ構造に関係なく、1つまたは複数のスライスの前記第1のセットの判断されたスライスに続く前記ビデオデータの1つまたは複数のスライスの第2のセットを符号化することとを行わせる命令を記憶したコンピュータ可読記憶媒体。
[C56]
前記APSデータ構造中でシグナリングされる前記1つまたは複数のパラメータが、前記1つまたは複数のスライスについての1つまたは複数の量子化行列を含む、C55に記載のコンピュータ可読記憶媒体。
[C57]
前記APSデータ構造中でシグナリングされる前記1つまたは複数のパラメータが、適応ループフィルタ(ALF)係数と、サンプル適応オフセット(SAO)パラメータと、ピクチャリスト変更データと、参照ピクチャリスト組合せデータと、メモリ管理制御動作シンタックスデータと、重み付け予測テーブルと、量子化行列とのうちの1つまたは複数を含む、C55に記載のコンピュータ可読記憶媒体。
[C58]
前記APSデータ構造が第1のAPSデータ構造を備え、前記プロセッサに、
前記第1のAPSデータ構造中でシグナリングされる1つまたは複数のパラメータと、前記第1のAPSデータ構造中でシグナリングされない1つまたは複数のパラメータとを使用して、前記ビデオデータのスライスを符号化することであって、前記スライスが、1つまたは複数のスライスの前記第1のセットの前記判断されたスライスの前に生じる、符号化することと、
第2のAPSデータ構造中で、前記第1のAPSデータ構造中でシグナリングされない前記1つまたは複数のパラメータをシグナリングすることと、
前記第2のAPSデータ構造中で、前記第2のAPSデータ構造の一部分が前記第1のAPSデータ構造の対応する一部分を指すことを示す情報を与えることであって、前記対応する一部分が、前記スライスを符号化するために使用される前記第1のAPSデータ構造中でシグナリングされる前記1つまたは複数のパラメータを備える、与えることとを行わせる命令をさらに備える、C55に記載のコンピュータ可読記憶媒体。
[C59]
前記プロセッサに、1つまたは複数のスライスの前記第1のセットの前記判断されたスライスを復号するより前に、前記APSデータ構造がビデオ復号デバイスのバッファから削除され得ることを示す情報を与えさせる命令をさらに備える、C55に記載のコンピュータ可読記憶媒体。
ビデオエンコーダ20はまた、共通パラメータ、すなわち、前のAPS中でシグナリングされた、前のスライスを符号化するために使用されたパラメータと、後続のスライスを符号化するために使用されたパラメータとのために、後続のAPS中で前のAPSへの参照をシグナリングする(162)。その上、ビデオエンコーダ20は、後続のスライスヘッダ中で後続のAPSのAPS ID値をシグナリングする(164)。追加または代替として、後続のAPSは、たとえば、後続のAPSの異なる部分のために前の2つ以上のAPSを参照し得る。ステップ152においてシグナリングされたAPSおよび/またはステップ158の後続のAPSは、1つまたは複数のスライスに適用され得、1つまたは複数のスライスは1つまたは複数のAPSを参照し得る。さらに、上記で説明したように、ビデオエンコーダ20は、後続のAPS中で、前の1つまたは複数のAPSがもはや必要とされない場合にそれらが削除され得るという指示を与え得る。いくつかの代替例では、ビデオエンコーダ20は、共通パラメータのために前のAPSへの参照を与えるのではなく、後続のAPS中でパラメータのすべてを与えるだけでよい。
命令は、1つまたは複数のデジタル信号プロセッサ(DSP)などの1つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明した技法の実装に好適な他の構造のいずれかを指し得る。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアおよび/またはソフトウェアモジュール内に与えられ得、あるいは複合コーデックに組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素中に十分に実装され得る。

Claims (59)

  1. ビデオデータを復号する方法であって、前記方法は、
    適応パラメータセット(APS)データ構造をコーディングデバイスのバッファに記憶することであって、前記APSデータ構造が、ビデオデータの1つまたは複数のスライスに適用可能なシグナリングデータを含む、記憶することと、
    前記APSデータ構造の前記シグナリングデータに基づいて前記スライスのうちの少なくとも1つを復号することと、
    前記スライスを復号した後に、前記APSデータ構造が前記バッファから削除され得ることを判断することと、
    前記判断に基づいて前記バッファから前記APSデータ構造を削除することと、
    前記バッファから前記APSデータ構造を削除した後に、前記ビデオデータの1つまたは複数の追加のスライスを復号することと
    を備える、方法。
  2. 前記APSデータ構造が、前記1つまたは複数のスライスについての量子化行列を表すデータを含む、請求項1に記載の方法。
  3. 前記APSデータ構造が、データのセットを備える第1のAPSデータ構造を備え、前記1つまたは複数のスライスが1つまたは複数のスライスの第1のセットを備え、前記方法が、1つまたは複数のスライスの第2のセットに適用可能な第2のAPSデータ構造からデータの前記セットを取り出すことなしに、前記第1のAPSのデータの前記セットを使用して1つまたは複数のスライスの前記第2のセットを復号することをさらに備える、請求項2に記載の方法。
  4. データの前記セットが適応ループフィルタ(ALF)係数を備える、請求項3に記載の方法。
  5. 前記APSデータ構造が、前記1つまたは複数のスライスについてのALF係数のうちの1つまたは複数を表すデータを含む、請求項2に記載の方法。
  6. 前記APSデータ構造が、前記1つまたは複数のスライスについての1つまたは複数のサンプル適応オフセット(SAO)パラメータを表すデータを含む、請求項2に記載の方法。
  7. 前記APSデータ構造が、前記1つまたは複数のスライスについてのピクチャリスト変更データと、参照ピクチャリスト組合せデータと、メモリ管理制御動作シンタックスデータと、重み付け予測テーブルとのうちの1つまたは複数を表すデータを含む、請求項2に記載の方法。
  8. 前記APSデータ構造が削除され得ることを判断することは、前記APSデータ構造が削除され得ることを示す後続のAPSデータ構造を受信することを備える、請求項2に記載の方法。
  9. 前記バッファに記憶され得るAPSデータ構造の最大数の指示を受信することをさらに備え、前記APSデータ構造が削除され得ることを判断することは、前記バッファに記憶されたAPSデータ構造の数が前記最大数を超えることを判断することを備える、請求項2に記載の方法。
  10. 前記APSデータ構造を削除することが、前記バッファに現在記憶されている前記APSデータ構造の受信された前記第1のAPSデータ構造を削除することを備える、請求項9に記載の方法。
  11. 前記APSデータ構造を削除することは、前記APSデータ構造についての識別子値が、前記APSデータ構造が前記バッファに現在記憶されている前記APSデータ構造の最低優先順位を有することを示すことを判断することと、前記判断に基づいて前記最低優先順位を有する前記APSデータ構造を削除することとを備える、請求項9に記載の方法。
  12. 前記APSデータ構造が第1のAPSデータ構造を備え、前記方法は、
    第2のAPSデータ構造を受信することであって、前記第2のAPSデータ構造は、前記第2のAPSデータ構造の少なくとも一部分が前記第1のAPSデータ構造の対応する一部分を指すことを示す情報を含む、受信することと、
    前記第2のAPSデータ構造の前記情報に基づいて前記第1のAPSデータ構造の前記一部分のデータを使用して、前記第2のAPSデータ構造に関連するスライスを復号することと
    をさらに備える、請求項2に記載の方法。
  13. 第3のAPSデータ構造を受信することであって、前記第3のAPSデータ構造は、前記第3のAPSデータ構造の第1の一部分が前記第1のAPSデータ構造の対応する一部分を指すことと、前記第3のAPSデータ構造の第2の異なる一部分が前記第2のAPSデータ構造の対応する一部分を指すこととを示す情報を含む、受信することと、
    前記第3のAPSデータ構造の前記情報に基づいて、前記第1のAPSデータ構造の前記一部分のデータと前記第2のAPSデータ構造の前記一部分のデータとを使用して、前記第3のAPSデータ構造に関連するスライスを復号することと
    をさらに備える、請求項12に記載の方法。
  14. ビデオデータを復号するためのデバイスであって、前記デバイスは、
    バッファを備えるメモリと、
    ビデオデコーダとを備え、前記ビデオデコーダは、適応パラメータセット(APS)データ構造を前記バッファに記憶することであって、前記APSデータ構造が、ビデオデータの1つまたは複数のスライスに適用可能なシグナリングデータを含む、記憶することと、前記APSデータ構造の前記シグナリングデータに基づいて前記スライスのうちの少なくとも1つを復号することと、前記スライスを復号した後に、前記APSデータ構造が前記バッファから削除され得ることを判断することと、前記判断に基づいて前記バッファから前記APSデータ構造を削除することと、前記バッファから前記APSデータ構造を削除した後に、前記ビデオデータの1つまたは複数の追加のスライスを復号することとを行うように構成された、デバイス。
  15. 前記APSデータ構造が、前記1つまたは複数のスライスについての量子化行列を表すデータを含む、請求項14に記載のデバイス。
  16. 前記APSデータ構造が、データのセットを備える第1のAPSデータ構造を備え、前記1つまたは複数のスライスが1つまたは複数のスライスの第1のセットを備え、前記ビデオデコーダが、1つまたは複数のスライスの第2のセットに適用可能な第2のAPSデータ構造からデータの前記セットを取り出すことなしに、前記第1のAPSのデータの前記セットを使用して1つまたは複数のスライスの前記第2のセットを復号するようにさらに構成された、請求項14に記載のデバイス。
  17. データの前記セットが適応ループフィルタ(ALF)係数を備える、請求項16に記載のデバイス。
  18. ビデオ復号デバイスは、前記APSデータ構造が削除され得ることを示す後続のAPSデータ構造を受信したことに応答して、前記APSデータ構造が削除され得ることを判断するように構成された、請求項14に記載のデバイス。
  19. 前記ビデオ復号デバイスが、前記バッファに記憶され得るAPSデータ構造の最大数の指示を受信するように構成され、前記APSデータ構造が削除され得ることを判断するために、前記ビデオ復号デバイスは、前記バッファに記憶されたAPSデータ構造の数が前記最大数を超えるかどうかを判断するように構成された、請求項14に記載のデバイス。
  20. 前記APSデータ構造が第1のAPSデータ構造を備え、前記ビデオ復号デバイスは、第2のAPSデータ構造を受信することであって、前記第2のAPSデータ構造は、前記第2のAPSデータ構造の少なくとも一部分が前記第1のAPSデータ構造の対応する一部分を指すことを示す情報を含む、受信することと、前記第2のAPSデータ構造の前記情報に基づいて前記第1のAPSデータ構造の前記一部分のデータを使用して、前記第2のAPSデータ構造に関連するスライスを復号することとを行うように構成された、請求項14に記載のデバイス。
  21. ビデオデータを復号するためのデバイスであって、前記デバイスは、
    適応パラメータセット(APS)データ構造をコーディングデバイスのバッファに記憶するための手段であって、前記APSデータ構造が、ビデオデータの1つまたは複数のスライスに適用可能なシグナリングデータを含む、記憶するための手段と、
    前記APSデータ構造の前記シグナリングデータに基づいて前記スライスのうちの少なくとも1つを復号するための手段と、
    前記スライスを復号した後に、前記APSデータ構造が前記バッファから削除され得ることを判断するための手段と、
    前記判断に基づいて前記バッファから前記APSデータ構造を削除するための手段と、
    前記バッファから前記APSデータ構造を削除した後に、前記ビデオデータの1つまたは複数の追加のスライスを復号するための手段と
    を備える、デバイス。
  22. 前記APSデータ構造が、前記1つまたは複数のスライスについての量子化行列を表すデータを含む、請求項21に記載のデバイス。
  23. 前記APSデータ構造が、データのセットを備える第1のAPSデータ構造を備え、前記1つまたは複数のスライスが1つまたは複数のスライスの第1のセットを備え、1つまたは複数のスライスの第2のセットに適用可能な第2のAPSデータ構造からデータの前記セットを取り出すことなしに、前記第1のAPSのデータの前記セットを使用して1つまたは複数のスライスの前記第2のセットを復号するための手段をさらに備える、請求項21に記載のデバイス。
  24. データの前記セットが適応ループフィルタ(ALF)係数を備える、請求項22に記載のデバイス。
  25. 前記APSデータ構造が削除され得ることを判断するための前記手段は、前記APSデータ構造が削除され得ることを示す後続のAPSデータ構造を受信するための手段を備える、請求項21に記載のデバイス。
  26. 前記バッファに記憶され得るAPSデータ構造の最大数の指示を受信するための手段をさらに備え、前記APSデータ構造が削除され得ることを判断するための前記手段は、前記バッファに記憶されたAPSデータ構造の数が前記最大数を超えることを判断するための手段を備える、請求項21に記載のデバイス。
  27. 前記APSデータ構造が第1のAPSデータ構造を備え、
    第2のAPSデータ構造を受信するための手段であって、前記第2のAPSデータ構造は、前記第2のAPSデータ構造の少なくとも一部分が前記第1のAPSデータ構造の対応する一部分を指すことを示す情報を含む、受信するための手段と、
    前記第2のAPSデータ構造の前記情報に基づいて前記第1のAPSデータ構造の前記一部分のデータを使用して、前記第2のAPSデータ構造に関連するスライスを復号するための手段と
    をさらに備える、請求項21に記載のデバイス。
  28. 実行されたとき、プロセッサに、
    適応パラメータセット(APS)データ構造をコーディングデバイスのバッファに記憶することであって、前記APSデータ構造が、ビデオデータの1つまたは複数のスライスに適用可能なシグナリングデータを含む、記憶することと、
    前記APSデータ構造の前記シグナリングデータに基づいて前記スライスのうちの少なくとも1つを復号することと、
    前記スライスを復号した後に、前記APSデータ構造が前記バッファから削除され得ることを判断することと、
    前記判断に基づいて前記バッファから前記APSデータ構造を削除することと、
    前記バッファから前記APSデータ構造を削除した後に、前記ビデオデータの1つまたは複数の追加のスライスを復号することと
    を行わせる命令を記憶したコンピュータ可読記憶媒体。
  29. 前記APSデータ構造が、前記1つまたは複数のスライスについての量子化行列を表すデータを含む、請求項28に記載のコンピュータ可読記憶媒体。
  30. 前記APSデータ構造が、データのセットを備える第1のAPSデータ構造を備え、前記1つまたは複数のスライスが1つまたは複数のスライスの第1のセットを備え、前記プロセッサに、1つまたは複数のスライスの第2のセットに適用可能な第2のAPSデータ構造からデータの前記セットを取り出すことなしに、前記第1のAPSのデータの前記セットを使用して1つまたは複数のスライスの前記第2のセットを復号させる命令をさらに備える、請求項28に記載のコンピュータ可読記憶媒体。
  31. データの前記セットが適応ループフィルタ(ALF)係数を備える、請求項30に記載のコンピュータ可読記憶媒体。
  32. 前記プロセッサに、前記APSデータ構造が削除され得ることを判断させる前記命令は、前記プロセッサに、前記APSデータ構造が削除され得ることを示す後続のAPSデータ構造を受信させる命令を備える、請求項28に記載のコンピュータ可読記憶媒体。
  33. 前記プロセッサに、前記バッファに記憶され得るAPSデータ構造の最大数の指示を受信させる命令をさらに備え、前記プロセッサに、前記APSデータ構造が削除され得ることを判断させる前記命令は、前記プロセッサに、前記バッファに記憶されたAPSデータ構造の数が前記最大数を超えることを判断させる命令を備える、請求項28に記載のコンピュータ可読記憶媒体。
  34. 前記APSデータ構造が第1のAPSデータ構造を備え、前記プロセッサに、
    第2のAPSデータ構造を受信することであって、前記第2のAPSデータ構造は、前記第2のAPSデータ構造の少なくとも一部分が前記第1のAPSデータ構造の対応する一部分を指すことを示す情報を含む、受信することと、
    前記第2のAPSデータ構造の前記情報に基づいて前記第1のAPSデータ構造の前記一部分のデータを使用して、前記第2のAPSデータ構造に関連するスライスを復号することと
    を行わせる命令をさらに備える、請求項28に記載のコンピュータ可読記憶媒体。
  35. ビデオデータを符号化する方法であって、前記方法は、
    1つまたは複数のパラメータを使用してビデオデータの1つまたは複数のスライスの第1のセットを符号化することと、
    適応パラメータセット(APS)データ構造中で前記1つまたは複数のパラメータをシグナリングすることと、
    前記APSデータ構造に関係なく、1つまたは複数のスライスの前記第1のセットの判断されたスライスに続く前記ビデオデータの1つまたは複数のスライスの第2のセットを符号化することと
    を備える、方法。
  36. 前記APSデータ構造中でシグナリングされる前記1つまたは複数のパラメータが、前記1つまたは複数のスライスについての1つまたは複数の量子化行列を含む、請求項35に記載の方法。
  37. 前記APSデータ構造中でシグナリングされる前記1つまたは複数のパラメータが、前記1つまたは複数のスライスについての適応ループフィルタ(ALF)係数とサンプル適応オフセット(SAO)パラメータとのうちの1つまたは複数を含む、請求項35に記載の方法。
  38. 前記APSデータ構造中でシグナリングされる前記1つまたは複数のパラメータが、前記1つまたは複数のスライスについてのピクチャリスト変更データと、参照ピクチャリスト組合せデータと、メモリ管理制御動作シンタックスデータと、重み付け予測テーブルとのうちの1つまたは複数を含む、請求項35に記載の方法。
  39. 前記APSデータ構造が第1のAPSデータ構造を備え、前記方法は、
    前記第1のAPSデータ構造中でシグナリングされる1つまたは複数のパラメータと、前記第1のAPSデータ構造中でシグナリングされない1つまたは複数のパラメータとを使用して、前記ビデオデータのスライスを符号化することであって、前記スライスが、1つまたは複数のスライスの前記第1のセットの前記判断されたスライスの前に生じる、符号化することと、
    第2のAPSデータ構造中で、前記第1のAPSデータ構造中でシグナリングされない前記1つまたは複数のパラメータをシグナリングすることと、
    前記第2のAPSデータ構造中で、前記第2のAPSデータ構造の一部分が前記第1のAPSデータ構造の対応する一部分を指すことを示す情報を与えることであって、前記対応する一部分が、前記スライスを符号化するために使用される前記第1のAPSデータ構造中でシグナリングされる前記1つまたは複数のパラメータを備える、与えることと
    をさらに備える、請求項35に記載の方法。
  40. 1つまたは複数のスライスの前記第1のセットの前記判断されたスライスを復号するより前に、前記APSデータ構造がビデオ復号デバイスのバッファから削除され得ることを示す情報を与えることをさらに備える、請求項35に記載の方法。
  41. 前記APSデータ構造が第1のAPSデータ構造を備え、前記第1のAPSデータ構造が削除され得ることを示す前記情報を与えることは、1つまたは複数のスライスの前記第2のセットに対応する第2のAPSデータ構造中で、前記第1のAPSデータ構造が削除され得ることをシグナリングすることを備える、請求項40に記載の方法。
  42. 1つまたは複数のスライスの前記第1のセットが厳密に1つのスライスを備え、前記APSデータ構造が削除され得ることを示す情報を与えることは、前記APSデータ構造が1つのスライスのみに適用されることを示すように前記APSデータ構造のフラグの値を設定することを備える、請求項40に記載の方法。
  43. 前記APSデータ構造が削除され得ることを示す情報を与えることは、ビデオ復号デバイスのバッファに記憶され得るAPSデータ構造の最大数に等しいかまたはそれよりも大きい数の後続のAPSデータ構造を与えることを備える、請求項40に記載の方法。
  44. 前記APSデータ構造に、前記後続のAPSデータ構造の優先順位値よりも低い優先順位値を割り当てることをさらに備える、請求項43に記載の方法。
  45. ビデオデータを符号化するためのデバイスであって、前記デバイスは、1つまたは複数のパラメータを使用してビデオデータの1つまたは複数のスライスの第1のセットを符号化することと、適応パラメータセット(APS)データ構造中で前記1つまたは複数のパラメータをシグナリングすることと、前記APSデータ構造に関係なく、1つまたは複数のスライスの前記第1のセットの判断されたスライスに続く前記ビデオデータの1つまたは複数のスライスの第2のセットを符号化することとを行うように構成されたビデオエンコーダを備える、デバイス。
  46. 前記APSデータ構造中でシグナリングされる前記1つまたは複数のパラメータが、前記1つまたは複数のスライスについての1つまたは複数の量子化行列を含む、請求項45に記載のデバイス。
  47. 前記APSデータ構造中でシグナリングされる前記1つまたは複数のパラメータが、適応ループフィルタ(ALF)係数と、サンプル適応オフセット(SAO)パラメータと、ピクチャリスト変更データと、参照ピクチャリスト組合せデータと、メモリ管理制御動作シンタックスデータと、重み付け予測テーブルと、量子化行列とのうちの1つまたは複数を含む、請求項45に記載のデバイス。
  48. 前記APSデータ構造が第1のAPSデータ構造を備え、前記ビデオエンコーダは、前記第1のAPSデータ構造中でシグナリングされる1つまたは複数のパラメータと、前記第1のAPSデータ構造中でシグナリングされない1つまたは複数のパラメータとを使用して、前記ビデオデータのスライスを符号化することであって、前記スライスが、1つまたは複数のスライスの前記第1のセットの前記判断されたスライスの前に生じる、符号化することと、第2のAPSデータ構造中で、前記第1のAPSデータ構造中でシグナリングされない前記1つまたは複数のパラメータをシグナリングすることと、前記第2のAPSデータ構造中で、前記第2のAPSデータ構造の一部分が前記第1のAPSデータ構造の対応する一部分を指すことを示す情報を与えることであって、前記対応する一部分が、前記スライスを符号化するために使用される前記第1のAPSデータ構造中でシグナリングされる前記1つまたは複数のパラメータを備える、与えることとを行うようにさらに構成された、請求項45に記載のデバイス。
  49. 前記ビデオエンコーダは、1つまたは複数のスライスの前記第1のセットの前記判断されたスライスを復号するより前に、前記APSデータ構造がビデオ復号デバイスのバッファから削除され得ることを示す情報を与えるようにさらに構成された、請求項45に記載のデバイス。
  50. ビデオデータを符号化するためのデバイスであって、前記デバイスが、
    1つまたは複数のパラメータを使用してビデオデータの1つまたは複数のスライスの第1のセットを符号化するための手段と、
    適応パラメータセット(APS)データ構造中で前記1つまたは複数のパラメータをシグナリングするための手段と、
    前記APSデータ構造に関係なく、1つまたは複数のスライスの前記第1のセットの判断されたスライスに続く前記ビデオデータの1つまたは複数のスライスの第2のセットを符号化するための手段と
    を備える、デバイス。
  51. 前記APSデータ構造中でシグナリングされる前記1つまたは複数のパラメータが、前記1つまたは複数のスライスについての1つまたは複数の量子化行列を含む、請求項50に記載のデバイス。
  52. 前記APSデータ構造中でシグナリングされる前記1つまたは複数のパラメータが、適応ループフィルタ(ALF)係数と、サンプル適応オフセット(SAO)パラメータと、ピクチャリスト変更データと、参照ピクチャリスト組合せデータと、メモリ管理制御動作シンタックスデータと、重み付け予測テーブルと、量子化行列とのうちの1つまたは複数を含む、請求項50に記載のデバイス。
  53. 前記APSデータ構造が第1のAPSデータ構造を備え、
    前記第1のAPSデータ構造中でシグナリングされる1つまたは複数のパラメータと、前記第1のAPSデータ構造中でシグナリングされない1つまたは複数のパラメータとを使用して、前記ビデオデータのスライスを符号化するための手段であって、前記スライスが、1つまたは複数のスライスの前記第1のセットの前記判断されたスライスの前に生じる、符号化するための手段と、
    第2のAPSデータ構造中で、前記第1のAPSデータ構造中でシグナリングされない前記1つまたは複数のパラメータをシグナリングするための手段と、
    前記第2のAPSデータ構造中で、前記第2のAPSデータ構造の一部分が前記第1のAPSデータ構造の対応する一部分を指すことを示す情報を与えるための手段であって、前記対応する一部分が、前記スライスを符号化するために使用される前記第1のAPSデータ構造中でシグナリングされる前記1つまたは複数のパラメータを備える、与えるための手段と
    をさらに備える、請求項50に記載のデバイス。
  54. 1つまたは複数のスライスの前記第1のセットの前記判断されたスライスを復号するより前に、前記APSデータ構造がビデオ復号デバイスのバッファから削除され得ることを示す情報を与えるための手段をさらに備える、請求項50に記載のデバイス。
  55. 実行されたとき、プロセッサに、
    1つまたは複数のパラメータを使用してビデオデータの1つまたは複数のスライスの第1のセットを符号化することと、
    適応パラメータセット(APS)データ構造中で前記1つまたは複数のパラメータをシグナリングすることと、
    前記APSデータ構造に関係なく、1つまたは複数のスライスの前記第1のセットの判断されたスライスに続く前記ビデオデータの1つまたは複数のスライスの第2のセットを符号化することと
    を行わせる命令を記憶したコンピュータ可読記憶媒体。
  56. 前記APSデータ構造中でシグナリングされる前記1つまたは複数のパラメータが、前記1つまたは複数のスライスについての1つまたは複数の量子化行列を含む、請求項55に記載のコンピュータ可読記憶媒体。
  57. 前記APSデータ構造中でシグナリングされる前記1つまたは複数のパラメータが、適応ループフィルタ(ALF)係数と、サンプル適応オフセット(SAO)パラメータと、ピクチャリスト変更データと、参照ピクチャリスト組合せデータと、メモリ管理制御動作シンタックスデータと、重み付け予測テーブルと、量子化行列とのうちの1つまたは複数を含む、請求項55に記載のコンピュータ可読記憶媒体。
  58. 前記APSデータ構造が第1のAPSデータ構造を備え、前記プロセッサに、
    前記第1のAPSデータ構造中でシグナリングされる1つまたは複数のパラメータと、前記第1のAPSデータ構造中でシグナリングされない1つまたは複数のパラメータとを使用して、前記ビデオデータのスライスを符号化することであって、前記スライスが、1つまたは複数のスライスの前記第1のセットの前記判断されたスライスの前に生じる、符号化することと、
    第2のAPSデータ構造中で、前記第1のAPSデータ構造中でシグナリングされない前記1つまたは複数のパラメータをシグナリングすることと、
    前記第2のAPSデータ構造中で、前記第2のAPSデータ構造の一部分が前記第1のAPSデータ構造の対応する一部分を指すことを示す情報を与えることであって、前記対応する一部分が、前記スライスを符号化するために使用される前記第1のAPSデータ構造中でシグナリングされる前記1つまたは複数のパラメータを備える、与えることと
    を行わせる命令をさらに備える、請求項55に記載のコンピュータ可読記憶媒体。
  59. 前記プロセッサに、1つまたは複数のスライスの前記第1のセットの前記判断されたスライスを復号するより前に、前記APSデータ構造がビデオ復号デバイスのバッファから削除され得ることを示す情報を与えさせる命令をさらに備える、請求項55に記載のコンピュータ可読記憶媒体。
JP2014521689A 2011-07-18 2012-07-16 ビデオコーディングのための適応パラメータセット Expired - Fee Related JP5886425B2 (ja)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201161509015P 2011-07-18 2011-07-18
US61/509,015 2011-07-18
US201161511477P 2011-07-25 2011-07-25
US61/511,477 2011-07-25
US201161540907P 2011-09-29 2011-09-29
US61/540,907 2011-09-29
US13/548,742 2012-07-13
US13/548,742 US9277228B2 (en) 2011-07-18 2012-07-13 Adaptation parameter sets for video coding
PCT/US2012/046895 WO2013012792A2 (en) 2011-07-18 2012-07-16 Adaptation parameter sets for video coding

Publications (2)

Publication Number Publication Date
JP2014525197A true JP2014525197A (ja) 2014-09-25
JP5886425B2 JP5886425B2 (ja) 2016-03-16

Family

ID=47555721

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014521689A Expired - Fee Related JP5886425B2 (ja) 2011-07-18 2012-07-16 ビデオコーディングのための適応パラメータセット

Country Status (8)

Country Link
US (1) US9277228B2 (ja)
EP (1) EP2735149B1 (ja)
JP (1) JP5886425B2 (ja)
KR (1) KR101548470B1 (ja)
CN (1) CN103688547B (ja)
IN (1) IN2014MN00007A (ja)
TW (1) TW201313026A (ja)
WO (1) WO2013012792A2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014535227A (ja) * 2011-11-01 2014-12-25 ゼットティイー コーポレーションZte Corporation スライス層パラメータセットの復号化及び符号化の方法及び装置
JP2020503801A (ja) * 2017-01-04 2020-01-30 クゥアルコム・インコーポレイテッドQualcomm Incorporated 時間的スケーラビリティサポートのための修正された適応ループフィルタ時間的予測
WO2021256382A1 (ja) * 2020-06-15 2021-12-23 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法、および復号方法
JP2022545236A (ja) * 2019-08-19 2022-10-26 フラウンホッファー-ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ アクセスユニットデリミタおよび適応パラメータセットの使用

Families Citing this family (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5761993B2 (ja) 2010-12-28 2015-08-12 キヤノン株式会社 アクセスポイント探索装置、アクセスポイントの探索方法、およびプログラム
CN103748884A (zh) * 2011-08-30 2014-04-23 索尼公司 图像处理装置和图像处理方法
BR112014004797B1 (pt) 2011-10-17 2022-02-15 Kabushiki Kaisha Toshiba Método de decodificação
JP2014197723A (ja) * 2012-01-06 2014-10-16 ソニー株式会社 画像処理装置および方法
CA2870067C (en) * 2012-04-16 2017-01-17 Nokia Corporation Video coding and decoding using multiple parameter sets which are identified in video unit headers
US9979958B2 (en) 2012-04-20 2018-05-22 Qualcomm Incorporated Decoded picture buffer processing for random access point pictures in video sequences
US9516308B2 (en) 2012-04-27 2016-12-06 Qualcomm Incorporated Parameter set updates in video coding
US9736476B2 (en) 2012-04-27 2017-08-15 Qualcomm Incorporated Full random access from clean random access pictures in video coding
US9479776B2 (en) 2012-07-02 2016-10-25 Qualcomm Incorporated Signaling of long-term reference pictures for video coding
US9344717B2 (en) * 2012-08-06 2016-05-17 Mediatek Inc. Method and apparatus for sample adaptive offset in a video decoder
US9516306B2 (en) * 2013-03-27 2016-12-06 Qualcomm Incorporated Depth coding modes signaling of depth data for 3D-HEVC
CN105009585B (zh) 2013-04-02 2018-09-25 明达半导体股份有限公司 视频处理方法及视频处理装置
WO2015053673A1 (en) * 2013-10-11 2015-04-16 Telefonaktiebolaget L M Ericsson (Publ) Method and arrangement for video transcoding using mode or motion or in-loop filter information
US10264272B2 (en) * 2013-10-15 2019-04-16 Qualcomm Incorporated Device and method for scalable coding of video information
US9942560B2 (en) 2014-01-08 2018-04-10 Microsoft Technology Licensing, Llc Encoding screen capture data
US9749642B2 (en) 2014-01-08 2017-08-29 Microsoft Technology Licensing, Llc Selection of motion vector precision
US9774881B2 (en) * 2014-01-08 2017-09-26 Microsoft Technology Licensing, Llc Representing motion vectors in an encoded bitstream
US9031138B1 (en) * 2014-05-01 2015-05-12 Google Inc. Method and system to combine multiple encoded videos for decoding via a video docoder
CN107148778A (zh) * 2014-10-31 2017-09-08 联发科技股份有限公司 用于视频编码的改进的定向帧内预测方法
US9955159B2 (en) * 2014-10-31 2018-04-24 Google Llc Multi-video decoding with input switching
US11563938B2 (en) 2016-02-15 2023-01-24 Qualcomm Incorporated Geometric transforms for filters for video coding
EP3563571A4 (en) * 2016-12-30 2020-02-12 Telefonaktiebolaget LM Ericsson (publ) DECODED IMAGE BUFFER MEMORY MANAGEMENT FOR PROCESSING PREDICTION OF CROSS IMAGE DATA
US11451773B2 (en) * 2018-06-01 2022-09-20 Qualcomm Incorporated Block-based adaptive loop filter (ALF) design and signaling
US11284075B2 (en) * 2018-09-12 2022-03-22 Qualcomm Incorporated Prediction of adaptive loop filter parameters with reduced memory consumption for video coding
US11051017B2 (en) 2018-12-20 2021-06-29 Qualcomm Incorporated Adaptive loop filter (ALF) index signaling
US11477448B2 (en) 2019-01-25 2022-10-18 Hfi Innovation Inc. Method and apparatus for non-linear adaptive loop filtering in video coding
WO2020156534A1 (en) 2019-02-01 2020-08-06 Beijing Bytedance Network Technology Co., Ltd. Interactions between in-loop reshaping and intra block copy
CN113383547A (zh) 2019-02-01 2021-09-10 北京字节跳动网络技术有限公司 环路整形和帧间编解码工具之间的相互作用
KR20230163584A (ko) * 2019-02-28 2023-11-30 엘지전자 주식회사 Aps 시그널링 기반 비디오 또는 영상 코딩
WO2020177704A1 (en) * 2019-03-04 2020-09-10 Beijing Bytedance Network Technology Co., Ltd. In-loop filtering in video processing
US20220150481A1 (en) * 2019-03-07 2022-05-12 Lg Electronics Inc. Video or image coding based on luma mapping with chroma scaling
KR102696461B1 (ko) * 2019-03-11 2024-08-21 텐센트 아메리카 엘엘씨 비디오 비트스트림에서의 적응적 픽처 크기의 시그널링
US20220174295A1 (en) * 2019-03-11 2022-06-02 Lg Electronics Inc. Luma mapping- and chroma scaling-based video or image coding
EP3939278A4 (en) * 2019-03-11 2023-03-22 Tencent America LLC TILE AND SUB-DIVISION
CN113574889B (zh) 2019-03-14 2024-01-12 北京字节跳动网络技术有限公司 环路整形信息的信令和语法
WO2020197207A1 (ko) * 2019-03-23 2020-10-01 엘지전자 주식회사 맵핑을 포함하는 필터링 기반 비디오 또는 영상 코딩
WO2020192614A1 (en) * 2019-03-23 2020-10-01 Beijing Bytedance Network Technology Co., Ltd. Restrictions on adaptive-loop filtering parameter sets
TWI739386B (zh) * 2019-04-11 2021-09-11 聯發科技股份有限公司 具有適應性參數集之適應性迴路濾波器
US11368684B2 (en) * 2019-04-23 2022-06-21 Qualcomm Incorporated Adaptation parameter sets (APS) for adaptive loop filter (ALF) parameters
CN113728627B (zh) * 2019-04-26 2023-09-19 北京字节跳动网络技术有限公司 用于环路内重构的参数的预测
US11166033B2 (en) * 2019-06-06 2021-11-02 Qualcomm Incorporated Adaptation parameter set in access unit in video coding
WO2020262922A1 (ko) * 2019-06-24 2020-12-30 엘지전자 주식회사 루마 맵핑 및 크로마 스케일링 기반 비디오 또는 영상 코딩
WO2021006632A1 (ko) * 2019-07-08 2021-01-14 엘지전자 주식회사 스케일링 리스트 파라미터 기반 비디오 또는 영상 코딩
WO2021045765A1 (en) * 2019-09-05 2021-03-11 Huawei Technologies Co., Ltd. Efficient adaptive loop filter parameter signaling in video coding
GB2590636B (en) * 2019-12-20 2024-01-10 Canon Kk High level syntax for video coding and decoding
MX2022007348A (es) * 2019-12-20 2022-09-23 Lg Electronics Inc Metodo y dispositivo de codificacion de imagenes/video con base en prediccion ponderada.
KR20220097511A (ko) 2019-12-20 2022-07-07 엘지전자 주식회사 예측 가중 테이블 기반 영상/비디오 코딩 방법 및 장치
US11303914B2 (en) * 2020-01-08 2022-04-12 Tencent America LLC Method and apparatus for video coding
JP7415027B2 (ja) 2020-02-29 2024-01-16 北京字節跳動網絡技術有限公司 ハイレベルシンタックス要素のための制約
WO2021180164A1 (en) * 2020-03-11 2021-09-16 Beijing Bytedance Network Technology Co., Ltd. Transform skip based residual coding
WO2021197447A1 (en) * 2020-04-01 2021-10-07 Beijing Bytedance Network Technology Co., Ltd. Controlling quantization parameter delta signaling
WO2021204137A1 (en) 2020-04-07 2021-10-14 Beijing Bytedance Network Technology Co., Ltd. Clipping operation for reference picture wrap around
CN115428457A (zh) 2020-04-09 2022-12-02 抖音视界有限公司 基于颜色格式的自适应参数集的约束
CN115486064A (zh) 2020-04-10 2022-12-16 抖音视界有限公司 标头语法元素和自适应参数集的使用
CN115885511A (zh) * 2020-04-13 2023-03-31 抖音视界有限公司 自适应参数集中的色度语法信令通知
WO2021209061A1 (en) 2020-04-17 2021-10-21 Beijing Bytedance Network Technology Co., Ltd. Presence of adaptation parameter set units
CN115769578A (zh) * 2020-04-20 2023-03-07 抖音视界有限公司 视频编解码中的自适应色彩变换
WO2021222036A1 (en) 2020-04-26 2021-11-04 Bytedance Inc. Conditional signaling of video coding syntax elements
JP7540871B2 (ja) 2020-05-22 2024-08-27 北京字節跳動網絡技術有限公司 一般制約フラグのシグナリング
WO2021244419A1 (en) 2020-05-31 2021-12-09 Beijing Bytedance Network Technology Co., Ltd. Constraint signaling using general constraint information syntax element
WO2021251744A1 (ko) * 2020-06-10 2021-12-16 엘지전자 주식회사 Aps에 대한 식별자를 시그널링하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 컴퓨터 판독 가능한 기록 매체
US20230300350A1 (en) * 2020-06-10 2023-09-21 Lg Electronics Inc. Image encoding/decoding method and apparatus for performing sub-bitstream extraction process on basis of maximum time identifier, and computer-readable recording medium storing bitstream
WO2021056002A2 (en) * 2020-12-09 2021-03-25 Futurewei Technologies, Inc. Media packetization for network qualitative communication
US20230224465A1 (en) * 2022-01-13 2023-07-13 Tencent America LLC Cross-Channel Prediction based on Multiple Prediction Modes

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6181742B1 (en) * 1998-01-26 2001-01-30 International Business Machines Corporation Single pass target allocation for video encoding
US7751628B1 (en) 2001-12-26 2010-07-06 Reisman Richard R Method and apparatus for progressively deleting media objects from storage
US7532670B2 (en) * 2002-07-02 2009-05-12 Conexant Systems, Inc. Hypothetical reference decoder with low start-up delays for compressed image and video
US7852919B2 (en) 2003-09-07 2010-12-14 Microsoft Corporation Field start code for entry point frames with predicted first field
US20060159352A1 (en) 2005-01-18 2006-07-20 Faisal Ishtiaq Method and apparatus for encoding a video sequence
CA2689873A1 (en) * 2007-06-01 2008-12-04 Research In Motion Limited Method and apparatus for multi-part interactive compression
US8265144B2 (en) 2007-06-30 2012-09-11 Microsoft Corporation Innovations in video decoder implementations
US8611435B2 (en) 2008-12-22 2013-12-17 Qualcomm, Incorporated Combined scheme for interpolation filtering, in-loop filtering and post-loop filtering in video coding
US20120230405A1 (en) 2009-10-28 2012-09-13 Media Tek Singapore Pte. Ltd. Video coding methods and video encoders and decoders with localized weighted prediction

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
JPN6015001456; Toby Walker, et.al.: '"Network Abstraction Layer and High-level Syntax"' [online] Document: JVT-D087, 20050117, Joint Video Team (JVT) of ISO/IEC MPEG & ITU-T VCE *
JPN6015001459; Stephan Wenger: '"Parameter set updates using conditional replacement"' [online] Document: JCTVC-E309(version 2), 20110317, Joint Collaborative Team on Video Coding (JCT-VC) *
JPN6015001460; Stephan Wenger, et.al.: '"Adaptive Slice Parameter Set (APS)"' [online] Document: JCTVC-F747r1(version 2), 20110717, Joint Collaborative Team on Video Coding (JCT-VC) *
JPN6015001462; Stephan Wenger, et.al.: '"Slice parameter set"' [online] Document: JCTVC-E281(version 2), 20110317, Joint Collaborative Team on Video Coding (JCT-VC) *
JPN6015001464; Ming LI, et.al.: '"Comments on Slice Common Information Sharing"' [online] Document: JCTVC-F187(version 1), 20110630, Joint Collaborative Team on Video Coding (JCT-VC) *
JPN6015001466; Akiyuki Tanizawa, et.al.: '"Adaptive Quantization Matrix Selection on KTA Software"' [online] Document: VCEG-AD06, 20061022, ITU - Telecommunications Standardization Sector ST *
JPN6015001468; Keng-Pang Lim, et.al.: '"Text Description of Joint Model Reference Encoding Methods and Decoding Concealment Methods"' [online] Document File: JVT-X101.doc, 20070703, 第2.7.1〜2.7.5節, Joint Video Team (JVT) of ISO/IEC MPEG and ITU-T V *
JPN6015001470; Julien Reichel, et.al.: '"Joint Scalable Video Model JSVM 1"' [online] Document: JVT-N023, 20050217, 第1〜8頁, Joint Video Team (JVT) of ISO/IEC MPEG & ITU-T VCE *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014535227A (ja) * 2011-11-01 2014-12-25 ゼットティイー コーポレーションZte Corporation スライス層パラメータセットの復号化及び符号化の方法及び装置
JP2020503801A (ja) * 2017-01-04 2020-01-30 クゥアルコム・インコーポレイテッドQualcomm Incorporated 時間的スケーラビリティサポートのための修正された適応ループフィルタ時間的予測
JP2022545236A (ja) * 2019-08-19 2022-10-26 フラウンホッファー-ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ アクセスユニットデリミタおよび適応パラメータセットの使用
JP7377953B2 (ja) 2019-08-19 2023-11-10 フラウンホッファー-ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ アクセスユニットデリミタおよび適応パラメータセットの使用
WO2021256382A1 (ja) * 2020-06-15 2021-12-23 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法、および復号方法

Also Published As

Publication number Publication date
EP2735149B1 (en) 2015-11-04
US9277228B2 (en) 2016-03-01
CN103688547A (zh) 2014-03-26
EP2735149A2 (en) 2014-05-28
KR101548470B1 (ko) 2015-08-28
US20130022104A1 (en) 2013-01-24
WO2013012792A3 (en) 2013-12-19
JP5886425B2 (ja) 2016-03-16
IN2014MN00007A (ja) 2015-06-12
CN103688547B (zh) 2017-02-15
KR20140056277A (ko) 2014-05-09
WO2013012792A2 (en) 2013-01-24
TW201313026A (zh) 2013-03-16

Similar Documents

Publication Publication Date Title
JP5886425B2 (ja) ビデオコーディングのための適応パラメータセット
JP6495390B2 (ja) ビデオコーディングにおける関心領域および漸次復号リフレッシュのシグナリング
JP6556894B2 (ja) 長期間参照ピクチャを識別するピクチャ順序カウント値の最下位ビットのコーディング
JP6009569B2 (ja) 参照ピクチャシグナリングおよび復号ピクチャバッファ管理
US9813719B2 (en) Signaling HRD parameters for bitstream partitions
JP5886440B2 (ja) イントラ予測ビデオコーディングにおける非正方形変換
JP6174123B2 (ja) ビデオコーディングにおける量子化パラメータ(qp)コーディング
EP2834975B1 (en) Low-delay video buffering in video coding
JP6235026B2 (ja) 誤り耐性のある復号単位関連付け
JP6169689B2 (ja) ビデオコーディングにおける長期参照ピクチャのランダムアクセスおよびシグナリング
JP2016184935A (ja) イントラ予測コーディングのための最も可能性の高い変換
JP6271558B2 (ja) 改善されたランダムアクセスポイントピクチャ挙動を用いたビデオコーディング
JP6345675B2 (ja) ビデオコーダの動作点のためのレイヤ識別子の向上したシグナリング
JP2015526023A (ja) クリーンランダムアクセス(cra)ピクチャに基づくストリーミング適合化
JP2015516766A (ja) ビデオコーディングのための変換係数のコーディングにおけるグループフラグ
EP3058732B1 (en) Systems and methods for separately defining dependencies for sub-layer based inter-layer prediction

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150120

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150420

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150512

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150908

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151130

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160112

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160210

R150 Certificate of patent or registration of utility model

Ref document number: 5886425

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees