JP6318158B2 - 参照ピクチャ・リスト変更情報の条件付きシグナリング - Google Patents

参照ピクチャ・リスト変更情報の条件付きシグナリング Download PDF

Info

Publication number
JP6318158B2
JP6318158B2 JP2015534584A JP2015534584A JP6318158B2 JP 6318158 B2 JP6318158 B2 JP 6318158B2 JP 2015534584 A JP2015534584 A JP 2015534584A JP 2015534584 A JP2015534584 A JP 2015534584A JP 6318158 B2 JP6318158 B2 JP 6318158B2
Authority
JP
Japan
Prior art keywords
rpl
flag
slice
bitstream
list
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.)
Active
Application number
JP2015534584A
Other languages
English (en)
Other versions
JP2015534776A (ja
JP2015534776A5 (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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2015534776A publication Critical patent/JP2015534776A/ja
Publication of JP2015534776A5 publication Critical patent/JP2015534776A5/ja
Application granted granted Critical
Publication of JP6318158B2 publication Critical patent/JP6318158B2/ja
Active 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/58Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression

Description

エンジニアは、デジタル・ビデオのビット・レートを低減させるために、圧縮(ソース符号化とも呼ばれる)を使用する。圧縮は、ビデオ情報をより低いビット・レート形式に変換することにより、ビデオ情報を記憶して伝送するコストを低減させる。伸張(復号化とも呼ばれる)は、圧縮形式からオリジナル情報のバージョンを再構築する。「コーデック」はエンコーダ/デコーダ・システムである。
ここ20年の間、H.261規格、H.262(MPEG−2又はISO/IEC 13818−2)規格、H.263規格、及びH.264(AVC又はISO/IEC 14496−10)規格、並びに、MPEG−1(ISO/IEC 11172−2)規格、MPEG−4 Visual(ISO/IEC 14496−2)規格、及びSMPTE 421M規格を含む様々なビデオ・コーデック規格が採用されてきた。より最近では、HEVC規格を策定中である。ビデオ・コーデック規格は、通常、特定の機能が符号化及び復号化において使用されるときの、符号化ビデオ・ビットストリームのシンタックスのためのオプション、ビットストリームにおける詳細パラメータを定義している。多くの場合、ビデオ・コーデック規格はまた、デコーダが復号化において正しい結果を達成するために実行すべき復号化オペレーションに関する詳細を提供している。コーデック規格とは別に、様々なプロプライエタリ・コーデック・フォーマット(proprietary codec format)が、符号化ビデオ・ビットストリームのシンタックスのための他のオプション及び対応する復号化オペレーションを定義している。
ビットストリームにおけるいくつかのタイプのパラメータは、ビデオ符号化及び復号化中に使用される参照ピクチャに関する情報を示す。参照ピクチャは、一般に、他のピクチャの復号化プロセスにおけるピクチャ間予測のために使用され得るサンプルを含むピクチャである。通常、他のピクチャは、復号化の順番において、参照ピクチャに続き、動き補償予測のために参照ピクチャを使用する。いくつかのビデオ・コーデック規格及びフォーマットでは、動き補償予測に使用するために、所与の時間において、複数の参照ピクチャが利用可能である。そのようなビデオ・コーデック規格/フォーマットは、複数の参照ピクチャをどのように管理するかを規定している。
一般に、参照ピクチャ・リスト(「RPL」)は、動き補償予測のために使用される参照ピクチャのリストである。いくつかのビデオ・コーデック規格及びフォーマットでは、参照ピクチャ・セット(「RPS」)は、所与の時間での動き補償予測における使用のために利用可能な参照ピクチャのセットであり、RPLは、RPS内の参照ピクチャの一部である。RPL内の参照ピクチャは、参照インデックスによりアドレス指定される。参照インデックスは、RPL内の参照ピクチャを特定する。符号化及び復号化中、RPSは、新たに復号化されたピクチャと、参照ピクチャとしてもはや使用されないより古いピクチャとを考慮に入れるために、更新され得る。また、より一般に使用される参照ピクチャが、シグナリングするのにより効率的である参照インデックスにより特定されるように、RPL内の参照ピクチャは、並べ替えられ得る。いくつかの最近のコーデック規格では、RPLは、RPSに関する利用可能な情報、ルールに従った変更、及び/又はビットストリームにおいてシグナリングされる変更に基づいて、符号化及び復号化中に構築される。RPLの変更のシグナリングは、大量のビットを消費し得る。
要約すると、詳細な説明は、参照ピクチャ・リスト(「RPL」)変更情報のシグナリングにおけるイノベーションを提供する。より一般的に、イノベーションは、RPL変更情報が使用されないときに、又はそのような情報の値を推定することができるときに、RPL変更情報のシグナリングを避けるための様々な方法に関する。
本明細書で説明するイノベーションの一態様に従うと、ビデオ・エンコーダは、条件を評価する。評価の結果に応じて、エンコーダは、ビットストリームにおいて明示的にシグナリングされるシンタックス要素に従ってRPLが変更されるかどうかを示すフラグを、ビットストリームにおいて条件付きでシグナリングする。対応するビデオ・デコーダは、条件を評価する。評価の結果に応じて、デコーダは、ビットストリームにおいて明示的にシグナリングされるシンタックス要素に従ってRPLが変更されるかどうかを示すフラグを、ビットストリームから条件付きで解析する。いくつかの例示的な実施例において、RPLは、予測(「P」)スライス又は双予測(「B」)スライスに関するものであり得る。代替的に、より高いレベルのシンタックス構造が、条件の評価に基づいて、条件付きでシグナリング/解析されてもよい。
いくつかの例示的な実施例において、RPLが変更されない場合、デフォルトRPLが、RPSからのRPL構築に関するルールに基づいて構築される。RPLが変更される場合、置換RPLが、RPSからの参照ピクチャの選択を示す、シグナリングされたRPL変更情報に基づいて構築される。代替的に、デフォルトRPLを並び替える変更、デフォルトRPLに参照ピクチャを追加する変更、又はデフォルトRPLから参照ピクチャを除去する変更が、デフォルトRPLを調整するために、よりきめの細かい形でシグナリングされてもよい。
例えば、評価される条件は、参照ピクチャの総数を示す変数に少なくとも部分的に依存する。いくつかの例示的な実施例において、条件は、その変数の値が1より大きいかどうかである。
条件は、フラグを含むRPL変更構造の処理の一部として評価され得る。あるいは、条件は、スライス・ヘッダの処理の一部として評価されてもよい。その場合、(フラグを含む)RPL変更構造は、評価の結果に応じて、条件付きでシグナリング又は解析される。
本明細書で説明する別の態様に従うと、ビデオ・エンコーダは、別の条件を評価する。評価の結果に応じて、エンコーダは、RPLをどのように変更する(例えば、置換する、調整する)かを示すリスト・エントリの1以上のシンタックス要素を、ビットストリームにおいて条件付きでシグナリングする。対応するビデオ・デコーダは、その条件を評価する。評価の結果に応じて、デコーダは、RPLをどのように変更する(例えば、置換する、調整する)かを示すリスト・エントリの1以上のシンタックス要素を、ビットストリームから条件付きで解析する。いくつかの例示的な実施例において、RPLは、Pスライス又はBスライスに関するものであり得る(Bスライスに関して、複数のRPLのそれぞれについて、条件評価と、条件付きシグナリング/解析とが繰り返される)。例えば、他の条件は、参照ピクチャの総数を示す変数、RPLのアクティブ参照ピクチャの数、及び/又は重み付き予測が無効にされるかどうかに少なくとも部分的に依存する。異なるロジックを使用して、現在のスライスがPスライス又はBスライスであるかに応じて、且つ/あるいはどのRPLがシグナリング/解析されているかどうかに応じて、重み付き予測が無効にされるかどうかをチェックすることができる。いくつかの例示的な実施例において、(a)参照ピクチャの総数が2に等しく、(b)RPLのアクティブ参照ピクチャの数が1に等しい場合、リスト・エントリの1以上のシンタックス要素は、ビットストリームには存在せず、リスト・エントリのうちの1つに関する値が推定される。さらに、いくつかの例示的な実施例において、(c)参照ピクチャの総数が2に等しく、(d)RPLのアクティブ参照ピクチャの数が2に等しく、(e)重み付き予測が無効にされる場合、リスト・エントリの1以上のシンタックス要素は、ビットストリームには存在せず、リスト・エントリのうちの2つに関する値が推定される。
本明細書で説明するイノベーションの別の態様に従うと、ビデオ・エンコーダは、別の条件を評価する。評価の結果に応じて、エンコーダは、RPLをどのように変更する(例えば、置換する、調整する)かを示すリスト・エントリの1以上のシンタックス要素のビットストリームにおけるシグナリングを調整する。詳細には、1以上のシンタックス要素の少なくとも1つの長さ(ビット単位)が調整される。対応するビデオ・デコーダは、その条件を評価する。評価の結果に応じて、デコーダは、RPLをどのように変更するかを示すリスト・エントリの1以上のシンタックス要素のビットストリームからの解析を調整する(再度、この場合も、1以上のシンタックス要素の少なくとも1つの長さ(ビット単位)が調整される)。例えば、条件は、重み付き予測が無効にされるかどうかに少なくとも部分的に依存する。異なるロジックを使用して、現在のスライスがPスライス又はBスライスであるかに応じて、且つ/あるいはどのRPLがシグナリング/解析されているかどうかに応じて、重み付き予測が無効にされるかどうかをチェックすることができる。いくつかの例示的な実施例において、リスト・エントリのインデックスiについて、重み付き予測が無効にされる場合、1以上のシンタックス要素の少なくとも1つの長さ(ビット単位)は、iが増えるにつれ、減少する。例えば、いくつかの例示的な実施例において、重み付き予測が無効にされる場合、リスト・エントリ[i]の所与のシンタックス要素の長さは、Ceil(Log2(NumPocTotalCurr-i))ビットである。一方、重み付き予測が有効にされる場合、リスト・エントリ[i]の所与のシンタックス要素の長さは、Ceil(Log2(NumPocTotalCurr))ビットである。
符号化又は復号化は、方法の一部として、方法を実行するよう適合されたコンピューティング・デバイスの一部として、又はコンピューティング・デバイスに方法を実行させるコンピュータ実行可能命令を記憶した有体のコンピュータ読み取り可能媒体の一部として実施され得る。
本発明の前述の目的及び他の目的、特徴、並びに利点が、添付の図面を参照しながら進む以下の詳細な説明からより明らかになるであろう。
いくつかの説明する実施形態を実装することができる例示的なコンピューティング・システムの図。 いくつかの説明する実施形態を実装することができる例示的なネットワーク環境の図。 いくつかの説明する実施形態を実装することができる例示的なネットワーク環境の図。 いくつかの説明する実施形態を協働して実装することができる例示的なエンコーダ・システムの図。 いくつかの説明する実施形態を協働して実装することができる例示的なデコーダ・システムの図。 いくつかの説明する実施形態を協働して実装することができる例示的なビデオ・エンコーダを示す図。 いくつかの説明する実施形態を協働して実装することができる例示的なビデオ・デコーダを示す図。 いくつかの例示的な実施例に従った、RPLが変更されるかどうかを示すフラグの条件付きシグナリングを示すテーブル。 他の例示的な実施例に従った、RPLが変更されるかどうかを示す1以上のフラグの条件付きシグナリングを示すテーブル。 他の例示的な実施例に従った、RPLが変更されるかどうかを示す1以上のフラグの条件付きシグナリングを示すテーブル。 いくつかの例示的な実施例に従った、RPLをどのように変更するかを示すリスト・エントリのシンタックス要素の条件付きシグナリングを示すテーブル。 いくつかの例示的な実施例に従った、RPLをどのように変更するかを示すリスト・エントリのシンタックス要素の条件付きシグナリングを示すテーブル。 RPLが変更されるかどうかを示すフラグの条件付きシグナリングのための一般化された技術を示すフローチャート。 RPLが変更されるかどうかを示すフラグの条件付き解析のための一般化された技術を示すフローチャート。 RPLをどのように変更するかを示すリスト・エントリのシンタックス要素の条件付きシグナリングのための一般化された技術を示すフローチャート。 RPLをどのように変更するかを示すリスト・エントリのシンタックス要素の条件付き解析のための一般化された技術を示すフローチャート。 RPLをどのように変更するかを示すリスト・エントリのシンタックス要素のシグナリングを調整するための一般化された技術を示すフローチャート。 RPLをどのように変更するかを示すリスト・エントリのシンタックス要素の解析を調整するための一般化された技術を示すフローチャート。
詳細な説明は、参照ピクチャ・リスト(「RPL」)変更情報のシグナリングにおけるイノベーションを提供する。そのようなイノベーションは、RPL変更情報が使用されないときに、又はそのような情報の値を推定することができるときに、RPL変更情報のシグナリングを避けるのに役立ち得る。
いくつかの最近のコーデック規格では、参照ピクチャ・セット(「RPS」)は、動き補償予測における使用のために利用可能な参照ピクチャのセットであり、RPLは、RPSから構築される。予測(「P」)スライスの復号化プロセスでは、RPL 0と呼ばれる1つのRPLが存在する。双予測(「B」)スライスの復号化プロセスでは、RPL 0及びRPL 1と呼ばれる2つのRPLが存在する。Pスライスの復号化プロセスの開始時、RPL 0は、RPL 0に関する利用可能な情報(現ピクチャを復号化するデコーダにおいて利用可能な参照ピクチャのセット等)、ルールに従った変更、及び/又はビットストリームにおいてシグナリングされる変更から導出される。同様に、Bスライスの復号化プロセスの開始時、RPL 0及びRPL 1は、RPL 0に関する利用可能な情報とRPL 1に関する利用可能な情報(現ピクチャを復号化するデコーダにおいて利用可能な参照ピクチャのセット等)、ルールに従った変更、及び/又はビットストリームにおいてシグナリングされる変更から導出される。より一般的に、RPLは、RPLに関する利用可能な情報、ルールに従った変更、及び/又はビットストリームにおいてシグナリングされる変更に基づいて、符号化及び復号化中に構築される。RPLの変更のシグナリングは、大量のビットを消費し得る。いくつかの最近のコーデック規格では、RPL変更情報がどのようにシグナリングされるかにおける非効率が存在する。
詳細な説明は、RPL変更情報のシグナリングの領域における様々なイノベーションを提供する。いくつかの状況において、これらのイノベーションは、RPL変更情報のシンタックス要素のより効率的なシグナリングをもたらす。例えば、詳細な説明は、RPLをどのように変更するかを示すリスト・エントリのシンタックス要素の条件付きシグナリングを説明する。詳細な説明はまた、そのようなシンタックス要素をシグナリングするためのより少ないビットを使用する方法を説明する。別の例として、詳細な説明は、RPLが変更されるかどうかを示すフラグの条件付きシグナリングを説明する。
いくつかの例示的な実施例において、RPLが変更されない場合、RPSからのRPL構築に関するルールを用いた「暗黙的」アプローチに従って、デフォルトRPLが構築される。RPLが変更される場合、RPSからの参照ピクチャの選択を示すシグナリングされるRPL変更情報を用いた「明示的」シグナリング・アプローチに従って、置換RPLが構築される。代替的に、デフォルトRPL内の参照ピクチャを並べ替える変更、デフォルトRPLに参照ピクチャを追加する変更、又はデフォルトRPLから参照ピクチャを除去する変更が、デフォルトRPLに対する特定の変更として、よりきめの細かい形でシグナリングされ得る。
本明細書で説明するイノベーションのいくつかは、HEVC規格に固有のシンタックス要素及びオペレーションを参照して示される。例えば、HEVC規格のドラフト・バージョンJCTVC−I1003(2012年4月にジュネーブで開催されたビデオ符号化に関する合同組織(「JCT−VC」)の第9回会合の”High efficiency video coding (HEVC) text specification draft 7”, JCTVC-I1003_d5)を参照する。また、2012年10月に上海で開催されたJCT−VCの第11回会合の”High Efficiency Video Coding (HEVC) text specification draft 9”, JCTVC-K1003_d11と題するドラフト・バージョンを参照されたい。
より一般的に、本明細書で説明する例に対する様々な代替例が可能である。例えば、本明細書で説明する方法のいくつかは、説明する方法動作の順番を変えることにより、所定の方法動作を分けることにより、所定の方法動作を繰り返すことにより、又は所定の方法動作を省略することにより、変更することができる。開示する技術の様々な態様が、組み合わせることにより、又は別々に使用され得る。様々な実施形態が、説明するイノベーションのうちの1以上を使用する。本明細書で説明するイノベーションのいくつかは、背景技術において記した問題のうちの1以上に対処する。一般的に、所与の技術/ツールが、そのような問題の全てを解決するわけではない。
I.例示的なコンピューティング・システム
図1は、説明するイノベーションのいくつかを実装することができる適切なコンピューティング・システム(100)の一般化された例を示している。コンピューティング・システム(100)は、使用又は機能の範囲に関して限定を示唆するよう意図するものではない。というのは、このイノベーションは、多様な汎用コンピューティング・システム又は専用コンピューティング・システムにおいて実施することができるからである。
図1を参照すると、コンピューティング・システム(100)は、1以上の処理装置(110、115)及びメモリ(120、125)を含む。図1において、この最も基本的な構成(130)は破線内に含まれる。処理装置(110、115)はコンピュータ実行可能命令を実行する。処理装置は、汎用中央処理装置(「CPU」)、特定用途向け集積回路(「ASIC」)におけるプロセッサ、又は任意の他のタイプのプロセッサとすることができる。マルチ処理システムにおいて、複数の処理装置が、処理能力を増大させるために、コンピュータ実行可能命令を実行する。例えば、図1は、中央処理装置(110)に加えて、グラフィックス処理装置又は共処理装置(115)も示している。有体のメモリ(120、125)は、1以上の処理装置によりアクセス可能な、揮発性メモリ(例えば、レジスタ、キャッシュ、RAM)であってもよいし、不揮発性メモリ(例えば、ROM、EEPROM、フラッシュ・メモリ等)であってもよいし、それら2つの何らかの組合せであってもよい。メモリ(120、125)は、1以上の処理装置による実行に適したコンピュータ実行可能命令の形態で、RPL変更情報のシグナリングのための1以上のイノベーションを実装するソフトウェア(180)を記憶する。
コンピューティング・システムは追加の特徴を有することができる。例えば、コンピューティング・システム(100)は、ストレージ(140)、1以上の入力デバイス(150)、1以上の出力デバイス(160)、及び1以上の通信コネクション(170)を含む。バス、コントローラ、又はネットワーク等の相互接続機構(図示せず)が、コンピューティング・システム(100)のコンポーネントを相互接続する。通常、オペレーティング・システム・ソフトウェア(図示せず)が、コンピューティング・システム(100)において実行される他のソフトウェアのための動作環境を提供し、コンピューティング・システム(100)のコンポーネントの動作を調整する。
有体のストレージ(140)は、取り外し可能であっても取り外し不可能であってもよく、磁気ディスク、磁気テープ若しくは磁気カセット、CD−ROM、DVD、又は、情報を記憶するために使用することができ、コンピューティング・システム(100)内でアクセスされ得る任意の他の媒体を含む。ストレージ(140)は、RPL変更情報のシグナリングのための1以上のイノベーションを実装するソフトウェア(180)の命令を記憶する。
1以上の入力デバイス(150)は、キーボード、マウス、ペン、又はトラックボール等のタッチ入力デバイス、音声入力デバイス、スキャニング・デバイス、又はコンピューティング・システム(100)に入力を提供する別のデバイスとすることができる。ビデオ符号化に関して、1以上の入力デバイス(150)は、カメラ、ビデオ・カード、TVチューナ・カード、若しくはアナログ形態あるいはデジタル形態でビデオ入力を受信する同様のデバイス、又はビデオ・サンプルをコンピューティング・システム(100)に読み込むCD−ROMあるいはCD−RWとすることができる。1以上の出力デバイス(160)は、ディスプレイ、プリンタ、スピーカ、CDライタ、又はコンピューティング・システム(100)からの出力を提供する別のデバイスとすることができる。
1以上の通信コネクション(170)は、通信媒体を介した別のコンピューティング・エンティティへの通信を可能にする。通信媒体は、変調されたデータ信号により、コンピュータ実行可能命令、オーディオ入力、ビデオ入力、オーディオ出力、ビデオ出力、又は他のデータ等の情報を伝達する。変調されたデータ信号とは、信号内の情報を符号化するように設定又は変更された特性の1以上を有する信号である。例えば、通信媒体は、電気信号、光信号、RF、赤外線、又は他のキャリアを使用することができるが、これらに限定されるものではない。
イノベーションは、コンピュータ読み取り可能媒体の一般的なコンテキストにおいて説明することができる。コンピュータ読み取り可能媒体は、コンピューティング環境内でアクセスされ得る任意の利用可能な有体の媒体である。例えば、コンピューティング・システム(100)において、コンピュータ読み取り可能媒体は、メモリ(120、125)、ストレージ(140)、及びそれらの組合せを含むが、これらに限定されるものではない。
イノベーションは、コンピュータ実行可能命令の一般的なコンテキストにおいて説明することができる。コンピュータ実行可能命令は、例えば、プログラム・モジュールに含まれ、コンピューティング・システムにおいて、ターゲット実プロセッサ又は仮想プロセッサ上で実行される。一般に、プログラム・モジュールは、特定のタスクを実行するか、又は特定の抽象データ型を実装するルーチン、プログラム、ライブラリ、オブジェクト、クラス、コンポーネント、データ構造等を含む。プログラム・モジュールの機能は、様々な実施形態において、必要に応じて、組み合わされてもよいし、プログラム・モジュール間で分割されてもよい。プログラム・モジュールのコンピュータ実行可能命令は、ローカル・コンピューティング・システム又は分散コンピューティング・システム内で実行され得る。
「システム」及び「デバイス」という語は、本明細書において置き換え可能に使用される。文脈が別途明確に示さない限り、これらの語は、コンピューティング・システム又はコンピューティング・デバイスのタイプに関して、いかなる限定も示すものではない。一般に、コンピューティング・システム又はコンピューティング・デバイスは、ローカルであってもよいし、分散されてもよく、専用ハードウェア及び/又は汎用ハードウェアと、本明細書で説明する機能を実装するソフトウェアとの任意の組合せを含み得る。
開示する方法は、開示する方法のいずれかを実行するよう構成された専用コンピューティング・ハードウェアを用いて実装することもできる。例えば、開示する方法は、開示する方法のいずれかを実行するよう特別に設計又は構成された集積回路(例えば、特定用途向け集積回路(「ASIC」)(ASICデジタル信号処理装置(「DSP」)、グラフィックス処理装置(「GPU」)、又はフィールド・プログラマブル・ゲート・アレイ(「FPGA」)等のプログラマブル・ロジック・デバイス(「PLD」)等)により実装することができる。
プレゼンテーションの目的上、詳細な説明では、コンピューティング・システムにおけるコンピュータ・オペレーションを説明するための「決定する」及び「使用する」のような語が使用される。これらの語は、コンピュータにより実行されるオペレーションの高レベル抽象表現であって、人間により実行される動作と混同すべきではない。これらの語に対応する実際のコンピュータ・オペレーションは、実装に応じて変化する。
II.例示的なネットワーク環境
図2a及び図2bは、ビデオ・エンコーダ(220)及びビデオ・デコーダ(270)を含む例示的なネットワーク環境(201、202)を示している。エンコーダ(220)及びデコーダ(270)は、適切な通信プロトコルを用いて、ネットワーク(250)を介して接続される。ネットワーク(250)は、インタネット又は別のコンピュータ・ネットワークを含み得る。
図2aに示されるネットワーク環境(201)において、各リアルタイム通信(「RTC」)ツール(210)は、双方向通信のためのエンコーダ(220)及びデコーダ(270)の両方を含む。所与のエンコーダ(220)は、SMPTE 421M規格、ISO−IEC 14496−10規格(H.264又はAVCとしても知られている)、HEVC規格、別の規格、又はプロプライエタリ・フォーマットに準拠する出力を生成することができ、対応するデコーダ(270)は、エンコーダ(220)から符号化データを受信することができる。双方向通信は、ビデオ会議、ビデオ通話、又は他の2パーティの通信シナリオの一部であり得る。図2aのネットワーク環境(201)は、2つのリアルタイム通信ツール(210)を含むが、ネットワーク環境(201)は、マルチパーティ通信に参加する3以上のリアルタイム通信ツール(210)を含んでもよい。
リアルタイム通信ツール(210)は、エンコーダ(220)による符号化を管理する。図3は、リアルタイム通信ツール(210)に含まれ得る例示的なエンコーダ・システム(300)を示している。代替的に、リアルタイム通信ツール(210)は、別のエンコーダ・システムを使用してもよい。リアルタイム通信ツール(210)はまた、デコーダ(270)による復号化も管理する。図4は、リアルタイム通信ツール(210)に含まれ得る例示的なデコーダ・システム(400)を示している。代替的に、リアルタイム通信ツール(210)は、別のデコーダ・システムを使用してもよい。
図2bに示されるネットワーク環境(202)において、符号化ツール(212)は、デコーダ(270)を含む複数の再生ツール(214)に伝送するためのビデオを符号化するエンコーダ(220)を含む。一方向通信は、ビデオが符号化されて1つのロケーションから1以上の他のロケーションに送信される、ビデオ監視システム、ウェブ・カメラ・モニタリング・システム、リモート・デスクトップ会議プレゼンテーション、又は他のシナリオのために提供され得る。図2bのネットワーク環境(202)は、2つの再生ツール(214)を含むが、ネットワーク環境(202)は、それより多い又はそれより少ない再生ツール(214)を含んでもよい。一般に、再生ツール(214)は、再生ツール(214)が受信するビデオのストリームを判定するために、符号化ツール(212)と通信する。再生ツール(214)は、ストリームを受信し、適切な期間の間受信した符号化データをバッファし、復号化及び再生を開始する。
図3は、符号化ツール(212)に含まれ得る例示的なエンコーダ・システム(300)を示している。代替的に、符号化ツール(212)は、別のエンコーダ・システムを使用してもよい。符号化ツール(212)はまた、1以上の再生ツール(214)との接続を管理するためのサーバ・サイド・コントローラ・ロジックも含み得る。図4は、再生ツール(214)に含まれ得る例示的なデコーダ・システム(400)を示している。代替的に、再生ツール(214)は、別のデコーダ・システムを使用してもよい。再生ツール(214)はまた、符号化ツール(212)との接続を管理するためのクライアント・サイド・コントローラ・ロジックも含み得る。
III.例示的なエンコーダ・システム
図3は、いくつかの説明する実施形態を協働して実装することができる例示的なエンコーダ・システム(300)のブロック図である。エンコーダ・システム(300)は、リアルタイム通信のための低レイテンシ符号化モード、トランスコーディング・モード、及びファイル又はストリームからのメディア再生のための通常の符号化モード等の複数の符号化モードのうちいずれかで動作することができる汎用符号化ツールであってもよいし、そのような1つの符号化モードのために適合された専用符号化ツールであってもよい。エンコーダ・システム(300)は、オペレーティング・システム・モジュールとして、アプリケーション・ライブラリの一部として、又はスタンドアロン・アプリケーションとして、実装することができる。概して、エンコーダ・システム(300)は、ビデオ・ソース(310)から一連のソース・ビデオ・フレーム(311)を受信し、チャネル(390)への出力として符号化データを生成する。チャネルに出力される符号化データは、RPL変更情報を示すシンタックス要素を含み得る。
ビデオ・ソース(310)は、カメラ、チューナ・カード、記憶媒体、又は他のデジタル・ビデオ・ソースとすることができる。ビデオ・ソース(310)は、例えば、毎秒30フレームといったフレーム・レートで一連のビデオ・フレームを生成する。本明細書で使用されるとき、「フレーム」という語は、一般に、ソースの符号化された又は再構築されたイメージ・データを指す。プログレッシブ・ビデオでは、フレームはプログレッシブ・ビデオ・フレームである。インタレース・ビデオでは、例示的な実施形態において、インタレース・ビデオ・フレームは、符号化の前にインタレース効果が除かれる(de-interlaced)。代替的に、2つの相補的インタレース・ビデオ・フィールドが、インタレース・ビデオ・フレーム又は別々のフィールドとして符号化されてもよい。プログレッシブ・ビデオ・フレームを示すかは別にして、「フレーム」又は「ピクチャ」という語は、単一の対でないビデオ・フィールド、相補的な一対のビデオ・フィールド、所与の時間におけるビデオ・オブジェクトを表すビデオ・オブジェクト・プレーン、又はより大きなイメージにおける関心領域を示し得る。ビデオ・オブジェクト・プレーン又は領域は、シーンの複数のオブジェクト又は領域を含むより大きなイメージの一部であり得る。
到着ソース・フレーム(311)は、複数のフレーム・バッファ記憶領域(321、322、...、32n)を含むソース・フレーム一時メモリ記憶領域(320)に記憶される。フレーム・バッファ(321、322等)は、ソース・フレーム記憶領域(320)内で1つのソース・フレームを保持する。ソース・フレーム(311)のうちの1以上がフレーム・バッファ(321、322等)に記憶された後、フレーム・セレクタ(330)が、ソース・フレーム記憶領域(320)から個々のソース・フレームを定期的に選択する。エンコーダ(340)への入力のためにフレーム・セレクタ(330)によりフレームが選択される順番は、ビデオ・ソース(310)によりフレームが生成される順番とは異なり得る。例えば、一時的に後方予測を容易にするために、あるフレームが前になる場合がある。エンコーダ(340)の前に、エンコーダ・システム(300)は、符号化の前にフレームの前処理(例えば、フィルタリング)を実行するプリ・プロセッサ(図示せず)を含み得る。前処理は、符号化するためのプライマリ成分及びセカンダリ成分への色空間変換も含み得る。
エンコーダ(340)は、符号化フレーム(341)を生成するために、選択されたフレーム(331)を符号化するとともに、メモリ管理制御操作(「MMCO」)信号(342)又は参照ピクチャ・セット(「RPS」)情報を生成する。現フレームが、符号化された最初のフレームではない場合、符号化プロセスを実行するとき、エンコーダ(340)は、復号化フレーム一時メモリ記憶領域(360)に記憶された1以上の以前に符号化/復号化されたフレーム(369)を使用することができる。そのような記憶された復号化フレーム(369)は、現ソース・フレーム(331)のコンテンツのフレーム間予測のための参照ピクチャとして使用される。一般に、エンコーダ(340)は、動き推定及び動き補償、周波数変換、量子化、並びにエントロピ符号化等の符号化タスクを実行する複数の符号化モジュールを含む。エンコーダ(340)により実行される正確なオペレーションは、圧縮フォーマットに応じて変わり得る。出力される符号化データのフォーマットは、Windows(登録商標) Media Videoフォーマット、VC−1フォーマット、MPEG−xフォーマット(例えば、MPEG−1、MPEG−2、又はMPEG−4)、H.26xフォーマット(例えば、H.261、H.262、H.263、H.264)、HEVCフォーマット、又は他のフォーマットであり得る。
例えば、エンコーダ(340)において、インタ符号化された予測フレームが、参照ピクチャの例である参照フレームからの予測の観点で表される。動き推定部が、1以上の参照フレーム(369)に関して、ソース・フレーム(341)のサンプルのブロック又は他のセットの動きを推定する。複数の参照フレームが使用される場合、複数の参照フレームは、異なる時間的方向からのものであってもよいし、同じ時間的方向からのものであってもよい。参照フレーム(参照ピクチャ)は、1以上のRPLの一部であり得、参照インデックスが、1以上のRPL内の参照ピクチャをアドレス指定する。適切なときに新たな参照ピクチャが追加されるように、適切なときに動き補償のためにもはや使用されないより古い参照ピクチャが除去されるように、及び適切なときに参照ピクチャが並び替えられるように、1以上のRPLが符号化中に構築される。いくつかの実施例において、例えば、現ピクチャを符号化するとき、エンコーダ(340)は、復号化フレーム記憶領域(360)内の参照ピクチャを含むRPSを決定し、次いで、現ピクチャの所与のスライスを符号化するための1以上のRPLを作成する。RPLは、RPSからの利用可能な参照ピクチャの選択に関するルールを適用することにより作成され得る(暗黙的アプローチ)。この場合、RPL変更情報は、ビットストリームにおいて明示的にシグナリングされない。あるいは、RPLは、RPSから利用可能な特定の参照ピクチャを選択することにより作成され得る。この場合、選択される参照ピクチャは、ビットストリームにおいてシグナリングされるRPL変更情報内に示される。暗黙的アプローチのルールにより構築されるRPLと比較すると、RPL変更情報は、RPS内の参照ピクチャのリストとして、置換RPLを指定することができる。代替的に、RPL変更情報は、よりきめの細かい形で、暗黙的アプローチのルールにより構築されたRPLからの1以上の参照ピクチャの除去、暗黙的アプローチのルールにより構築されたRPLへの1以上の参照ピクチャの追加、及び/又は暗黙的アプローチのルールにより構築されたRPL内の参照ピクチャの並べ替えを指定してもよい。
インタ符号化されるフレームを符号化するとき、エンコーダ(340)は、ビットストリームにおいて明示的にシグナリングされるシンタックス要素に従ってRPLが変更されない動き補償の結果を評価することができ、また、ビットストリームにおいて明示的にシグナリングされるシンタックス要素に従ってRPLが変更される動き補償の結果(又は、RPLを変更する複数の異なる方法の結果)を評価することができる。エンコーダ(340)は、デフォルトRPLを使用することを決定することができる(ビットストリームにおいてRPL変更情報がシグナリングされない場合)、あるいは、変更されたRPLを使用することを決定することができる(ビットストリームにおいてRPL変更情報がシグナリングされる場合)。RPLが、デフォルトRPLと比較して変更される(例えば、置換される、調整される)場合、エンコーダ(340)は、次のうちの1以上を実行することができる:(a)参照インデックスによるより効率的なアドレス指定のために参照ピクチャを並べ替える;(b)符号化中の使用の頻度に少なくとも部分的に基づいて、参照ピクチャを除去する;(c)符号化中の使用の頻度に少なくとも部分的に基づいて、参照ピクチャを追加する。例えば、エンコーダ(340)は、動き補償のための参照ピクチャの使用が閾量を下回った後、且つ/あるいは他の基準に従って、RPLから所与の参照ピクチャを除去することを決定することができる。別の例として、エンコーダ(340)は、動き補償のための参照ピクチャの使用が閾量を超えた場合、且つ/あるいは他の基準に従って、RPLに所与の参照ピクチャを追加することを決定することができる。別の例として、エンコーダ(340)は、それぞれの参照ピクチャの使用の頻度に基づいて、且つ/あるいは他の基準に従って、RPL内の参照ピクチャをどのように並べ替えるかを決定することができる。
動き推定部は、エントロピ符号化される動きベクトル情報等の動き情報を出力する。動き補償部は、動き補償予測値を決定するために、動きベクトルを参照ピクチャに適用する。エンコーダは、ブロックの動き補償予測値と対応するオリジナルの値との間の差(あれば)を決定する。このような予測残差値が、周波数変換、量子化、及びエントロピ符号化を用いて、さらに符号化される。同様に、イントラ予測では、エンコーダ(340)は、ブロックに関するイントラ予測値を決定し、予測残差値を決定し、(周波数変換、量子化、及びエントロピ符号化を用いて)予測残差値を符号化することができる。具体的には、エンコーダ(340)のエントロピ符号化部が、量子化された変換係数値に加えて、所定のサイド情報(例えば、動きベクトル情報、QP値、モード決定、パラメータ選択、参照インデックス、RPL変更情報)も圧縮する。一般的なエントロピ符号化技術は、指数ゴロム符号化、算術符号化、差分符号化、ハフマン符号化、ラン・レングス符号化、「V2V(variable-length-to-variable-length)」符号化、「V2F(variable-length-to-fixed-length)」符号化、LZ符号化、辞書符号化、「PIPE(probability interval partitioning entropy coding)」符号化、及びこれらの組合せを含む。エントロピ符号化部は、様々な種類の情報のための様々な符号化技術を使用することができ、特定の符号化技術における複数の符号テーブルの中から選択することができる。
符号化フレーム(341)及びMMCO/RPS情報(342)が、復号化プロセス・エミュレータ(350)により処理される。復号化プロセス・エミュレータ(350)は、例えば、動き補償においてエンコーダ(340)により使用される参照ピクチャを再構築する復号化タスク等のデコーダの機能の一部を実装している。復号化プロセス・エミュレータ(350)は、所与の符号化フレーム(341)が、符号化される後続フレームのフレーム間予測において参照ピクチャとして使用するために再構築されて記憶される必要があるかどうかを判定するために、MMCO/RPS情報(342)を使用する。MMCO/RPS情報(342)により、符号化フレーム(341)が記憶される必要があると示される場合、復号化プロセス・エミュレータ(350)は、符号化フレーム(341)を受信して対応する復号化フレーム(351)を生成するデコーダにより行われるであろう復号化プロセスを模擬する。そうする場合、エンコーダ(340)が、復号化フレーム記憶領域(360)に記憶された1以上の復号化フレーム(369)を使用したとき、復号化プロセス・エミュレータ(350)は、復号化プロセスの一部として、記憶領域(360)から1以上の復号化フレーム(369)を使用する。
復号化フレーム一時メモリ記憶領域(360)は、複数のフレーム・バッファ記憶領域(361、362、...、36n)を含む。復号化プロセス・エミュレータ(350)は、参照ピクチャとして使用するためにエンコーダ(340)によりもはや必要とされなくなったフレームを有する任意のフレーム・バッファ(361、362等)を識別するために、MMCO/RPS情報(342)を使用して、記憶領域(360)のコンテンツを管理する。復号化プロセスを模擬した後、復号化プロセス・エミュレータ(350)は、このように識別されるフレーム・バッファ(361、362等)に、新たに復号化されたフレーム(351)を記憶する。
符号化フレーム(341)及びMMCO/RPS情報(342)はまた、一時符号化データ領域(370)にバッファされる。符号化データ領域(370)に収集される符号化データは、エレメンタリ符号化ビデオ・ビットストリームのシンタックスの一部として、RPL変更情報を示すシンタックス要素を含み得る。符号化データ領域(370)に収集される符号化データはまた、(例えば、1以上の「SEI(supplemental enhancement information)」メッセージ又は「VUI(video usability information)」メッセージにおける1以上のパラメータとして、)符号化ビデオ・データに関連するメディア・メタデータを含み得る。
一時符号化データ領域(370)からの収集されたデータ(371)は、チャネル・エンコーダ(380)により処理される。チャネル・エンコーダ(380)は、(例えば、ISO/IEC 14496−12等のメディア・コンテナ・フォーマットに従って)メディア・ストリームとして伝送するために、収集されたデータをパケット化することができる。そのような場合、チャネル・エンコーダ(380)は、メディア伝送ストリームのシンタックスの一部として、シンタックス要素を付加することができる。あるいは、チャネル・エンコーダ(380)は、(例えば、ISO/IEC 14496−12等のメディア・コンテナ・フォーマットに従って)ファイルとして記憶するために、収集されたデータを編成することができる。そのような場合、チャネル・エンコーダ(380)は、メディア記憶ファイルのシンタックスの一部として、シンタックス要素を付加することができる。あるいは、より一般的に、チャネル・エンコーダ(380)は、1以上のメディア・システム多重化プロトコル又は伝送プロトコルを実装することができる。そのような場合、チャネル・エンコーダ(380)は、1以上のプロトコルのシンタックスの一部として、シンタックス要素を付加することができる。チャネル・エンコーダ(380)は、チャネル(390)への出力を提供する。チャネル(390)は、ストレージ、通信コネクション、又は出力のための別のチャネルを表す。
IV.例示的なデコーダ・システム
図4は、いくつかの説明する実施形態を協働して実装することができる例示的なデコーダ・システム(400)のブロック図である。デコーダ・システム(400)は、リアルタイム通信のための低レイテンシ復号化モード及びファイル又はストリームからのメディア再生のための通常の復号化モード等の複数の復号化モードのうちいずれかで動作することができる汎用復号化ツールであってもよいし、そのような1つの符号化モードのために適合された専用復号化ツールであってもよい。デコーダ・システム(400)は、オペレーティング・システム・モジュールとして、アプリケーション・ライブラリの一部として、又はスタンドアロン・アプリケーションとして、実装することができる。概して、デコーダ・システム(400)は、チャネル(410)から符号化データを受信し、出力先(490)への出力として再構築フレームを生成する。符号化データは、RPL変更情報を示すシンタックス要素を含み得る。
デコーダ・システム(400)は、ストレージ、通信コネクション、又は入力としての符号化データのための別のチャネルを表し得るチャネル(410)を含む。チャネル(410)は、チャネル符号化された符号化データを生成する。チャネル・デコーダ(420)は、符号化データを処理することができる。例えば、チャネル・デコーダ(420)は、(例えば、ISO/IEC 14496−12等のメディア・コンテナ・フォーマットに従って)メディア・ストリームとして伝送するために収集されたデータを脱パケット化する。そのような場合、チャネル・デコーダ(420)は、メディア伝送ストリームのシンタックスの一部として付加されたシンタックス要素を解析することができる。あるいは、チャネル・デコーダ(420)は、(例えば、ISO/IEC 14496−12等のメディア・コンテナ・フォーマットに従って)ファイルとして記憶するために収集された符号化ビデオ・データを分離する。そのような場合、チャネル・デコーダ(420)は、メディア記憶ファイルのシンタックスの一部として付加されたシンタックス要素を解析することができる。あるいは、より一般的に、チャネル・デコーダ(420)は、1以上のメディア・システム逆多重化プロトコル又は伝送プロトコルを実装することができる。そのような場合、チャネル・デコーダ(420)は、1以上のプロトコルのシンタックスの一部として付加されたシンタックス要素を解析することができる。
十分な量のデータが受信されるまで、チャネル・デコーダ(420)から出力される符号化データ(421)は、一時符号化データ領域(430)に記憶される。符号化データ(421)は、符号化フレーム(431)及びMMCO/RPS情報(432)を含む。符号化データ領域(430)内の符号化データ(421)は、エレメンタリ符号化ビデオ・ビットストリームのシンタックスの一部として、RPL変更情報を示すシンタックス要素を含み得る。符号化データ領域(430)内の符号化データ(421)はまた、(例えば、1以上のSEIメッセージ又はVUIメッセージにおける1以上のパラメータとして、)符号化ビデオ・データに関連するメディア・メタデータを含み得る。一般に、そのような符号化データ(421)がデコーダ(450)により使用されるまで、符号化データ領域(430)は、符号化データ(421)を一時的に記憶する。その時点で、符号化フレーム(431)及びMMCO/RPS情報(432)の符号化データが、符号化データ領域(430)からデコーダ(450)に伝送される。復号化が進むにつれ、新たな符号化データが、符号化データ領域(430)に追加され、符号化データ領域(430)に残っている最も古い符号化データが、デコーダ(450)に伝送される。
デコーダ(450)は、対応する復号化フレーム(451)を生成するために、符号化フレーム(431)を定期的に復号化する。必要に応じて、復号化プロセスを実行するとき、デコーダ(450)は、フレーム間予測のための参照フレーム(参照ピクチャ)として、1以上の以前に復号化されたフレーム(469)を使用することができる。デコーダ(450)は、復号化フレーム一時メモリ記憶領域(460)から、そのような以前に復号化されたフレーム(469)を読み出す。一般に、デコーダ(450)は、エントロピ復号化、逆量子化、逆周波数変換、及び動き補償(これが、RPL変更情報を用いて1以上のRPLを作成し得る)等の復号化タスクを実行する複数の復号化モジュールを含む。デコーダ(450)により実行される正確なオペレーションは、圧縮フォーマットに応じて変わり得る。
例えば、デコーダ(450)は、圧縮フレーム又は一連のフレームの符号化データを受信し、復号化フレーム(451)を含む出力を生成する。デコーダ(450)において、バッファは、圧縮フレームの符号化データを受け入れ、受け入れた符号化データをエントロピ復号化部に利用可能にする。エントロピ復号化部は、通常はエンコーダにおいて実行されたエントロピ符号化の逆を適用することにより、エントロピ符号化された量子化データに加えて、エントロピ符号化されたサイド情報(参照インデックス、RPL変更情報等を含む)もエントロピ復号化する。デコーダは、参照ピクチャの1以上のRPLを構築する。ここで、参照インデックスは、1以上のRPL内の参照ピクチャをアドレス指定する。適切なときに新たな参照ピクチャが追加されるように、適切なときに動き補償のためにもはや使用されないより古い参照ピクチャが除去されるように、及び適切なときに参照ピクチャが並び替えられるように、1以上のRPLが構築される。いくつかの実施例において、例えば、現ピクチャを復号化するとき、デコーダ(450)は、復号化フレーム記憶領域(460)内の参照ピクチャを含むRPSを決定し、次いで、現ピクチャの所与のスライスを復号化するための1以上のRPLを作成する。RPLは、RPSからの利用可能な参照ピクチャの選択に関するルールを適用することにより作成され得る。この場合、RPL変更情報は、ビットストリームから解析されない。あるいは、RPLは、RPSから利用可能な特定の参照ピクチャを選択することにより作成され得る。この場合、選択される参照ピクチャは、ビットストリームから解析されるRPL変更情報内に示される。暗黙的アプローチのルールにより構築されるRPLと比較すると、RPL変更情報は、RPS内の参照ピクチャのリストとして、置換RPLを指定することができる。代替的に、RPL変更情報は、よりきめの細かい形で、暗黙的アプローチのルールにより構築されたRPLからの1以上の参照ピクチャの除去、暗黙的アプローチのルールにより構築されたRPLへの1以上の参照ピクチャの追加、及び/又は暗黙的アプローチのルールにより構築されたRPL内の参照ピクチャの並べ替えを指定してもよい。
動き補償部は、再構築されているフレームのサブ・ブロック及び/又はブロック(一般に、ブロック)の動き補償予測を形成するために、動き情報を1以上の参照ピクチャに適用する。イントラ予測モジュールは、隣接する以前に再構築されたサンプル値から、現ブロックのサンプル値を空間的に予測することができる。デコーダ(450)はまた、予測残差を再構築する。逆量子化部は、エントロピ復号化されたデータを逆量子化する。逆周波数変換部は、再構築された周波数領域データを空間領域情報に変換する。予測フレームに関して、デコーダ(450)は、再構築フレームを形成するために、再構築された予測残差を動き補償予測と結合する。デコーダ(450)は、同様に、予測残差を、イントラ予測からの空間予測と結合することができる。ビデオ・デコーダ(450)における動き補償ループは、適応デブロッキング・フィルタを含み、適応デブロッキング・フィルタは、復号化フレーム(451)内のブロック境界ロー及び/又はカラムにわたる不連続さを平滑化する。
復号化フレーム一時メモリ記憶領域(460)は、複数のフレーム・バッファ記憶領域(461、462、...、46n)を含む。復号化フレーム記憶領域(460)はDPBの一例である。デコーダ(450)は、復号化フレーム(451)を記憶することができるフレーム・バッファ(461、462等)を識別するために、MMCO/RPS情報(432)を使用する。デコーダ(450)は、そのフレーム・バッファに復号化フレーム(451)を記憶する。
出力シーケンサ(480)は、出力順で生成される次のフレームが復号化フレーム記憶領域(460)内で利用可能になるときを識別するために、MMCO/RPS情報(432)を使用する。出力順で生成される次のフレーム(481)が、復号化フレーム記憶領域(460)内で利用可能になったとき、そのフレームが、出力シーケンサ(480)により読み出され、出力先(490)(例えば、ディスプレイ)に出力される。一般に、復号化フレーム記憶領域(460)から出力シーケンサ(480)によりフレームが出力される順番は、デコーダ(450)によりフレームが復号化される順番とは異なり得る。
V.例示的なビデオ・エンコーダ
図5は、いくつかの説明する実施形態を協働して実装することができる一般化されたビデオ・エンコーダ(500)のブロック図である。エンコーダ(500)は、現フレーム(505)を含む一連のビデオ・フレームを受信し、出力として符号化データ(595)を生成する。
エンコーダ(500)は、ブロックベースであり、実装に依存するブロック・フォーマットを使用する。ブロックは、例えば、周波数変換段階及びエントロピ符号化段階において等の様々な段階において、さらに分割され得る。例えば、フレームは、64x64ブロック、32x32ブロック、又は16x16ブロックに分割され得、今度は、それらのブロックが、符号化及び復号化のために、ピクセル値のより小さなブロック及びサブ・ブロックに分割され得る。
エンコーダ・システム(500)は、予測フレーム及びイントラ符号化されたフレームを圧縮する。プレゼンテーションの目的上、図5は、フレーム内符号化のためのエンコーダ(500)を介した「イントラ・パス」と、フレーム間符号化のための「インタ・パス」とを示している。エンコーダ(500)のコンポーネントの多くが、フレーム内符号化及びフレーム間符号化の両方のために使用される。これらのコンポーネントにより実行される正確なオペレーションは、圧縮される情報のタイプに応じて変わり得る。
現フレーム(505)が予測フレームである場合、動き推定部(510)は、1以上の参照フレーム(参照ピクチャ)に関して、現フレーム(505)のピクセル値のブロック、サブ・ブロック、又は他のセットの動きを推定する。フレーム・ストア(520)は、参照フレーム(参照ピクチャ)として使用するために、1以上の再構築された以前のフレーム(525)をバッファする。複数の参照ピクチャが使用される場合、複数の参照ピクチャは、異なる時間的方向からのものであってもよいし、同じ時間的方向からのものであってもよい。複数の参照ピクチャは、1以上のRPL内に表され得、参照インデックスによりアドレス指定される。動き推定部(510)は、サイド情報として、差分動きベクトル情報、参照インデックス、及びRPL変更情報等の動き情報(515)を出力する。符号化中、エンコーダ(500)は、適切なときに新たな参照ピクチャが追加されるように、適切なときに動き補償のためにもはや使用されないより古い参照ピクチャが除去されるように、及び適切なときに参照ピクチャが1以上のRPL内で並び替えられるように、1以上のRPLを構築する。
いくつかの実施例において、現フレームを符号化するとき、エンコーダ(500)は、フレーム・ストア(520)内の参照フレームを含むRPSを決定する。エンコーダ(500)は、通常、フレームの最初のスライスのRPSを決定する。スライスごとに、エンコーダ(500)は、現フレームの所与のスライスを符号化するための1以上のRPLを作成する。RPLを作成するために、エンコーダ(500)は、RPSからの利用可能な参照フレームの選択に関するルールを適用することができる。この場合、RPL変更情報は、符号化データ(595)において明示的にシグナリングされない。あるいは、RPLを作成するために、エンコーダ(500)は、RPSから利用可能な特定の参照フレームを選択することができる。この場合、選択される参照フレームは、符号化データ(595)においてシグナリングされるRPL変更情報内に示される。暗黙的アプローチのルールにより構築されるRPLと比較すると、RPL変更情報は、RPS内の参照ピクチャのリストとして、置換RPLを指定することができる。代替的に、RPL変更情報は、よりきめの細かい形で、ルールにより暗黙的に構築されたRPLからの1以上の参照フレームの除去、ルールにより暗黙的に構築されたRPLへの1以上の参照フレームの追加、及び/又はルールにより暗黙的に構築されたRPL内の参照フレームの並べ替えを指定してもよい。
動き補償部(530)は、動き補償された現フレーム(535)を形成するとき、再構築された動きベクトルを、1以上の再構築された参照フレーム(525)に適用する。動き補償された現フレーム(535)のサブ・ブロック、ブロック等とオリジナルの現フレーム(505)の対応する部分との間の差(あれば)が、サブ・ブロック、ブロック等の予測残差(545)である。オリジナルの現フレーム(505)により近い再構築フレームを得るために、現フレームの後の再構築の間に、再構築された予測残差が、動き補償された現フレーム(535)に付加される。しかしながら、不可逆圧縮(lossy compression)では、それでも、いくつかの情報が、オリジナルの現フレーム(505)から失われる。イントラ・パスは、イントラ予測モジュール(図示せず)を含み得る。イントラ予測モジュールは、隣接する以前に再構築されたピクセル値から、現ブロック又はサブ・ブロックのピクセル値を空間的に予測する。
周波数変換部(560)は、空間領域ビデオ情報を周波数領域(すなわち、スペクトル変換)データに変換する。ブロックベースのビデオ・フレームに関して、周波数変換部(560)は、離散コサイン変換とその整数近似、又は別のタイプの前方ブロック変換をピクセル値データ又は予測残差データのブロック又はサブ・ブロックに適用して、周波数変換係数のブロック/サブ・ブロックを生成する。次いで、量子化部(570)は、変換係数を量子化する。例えば、量子化部(570)は、フレームごとに、スライスごとに、ブロックごとに、又は他の単位で変わるステップ・サイズで、一様でないスカラ量子化を周波数領域データに適用する。
後続の動き推定/動き補償のために現フレームの再構築されたバージョンが必要とされる場合、逆量子化部(576)が、量子化された周波数係数データに対して逆量子化を実行する。逆周波数変換部(566)は、逆周波数変換を実行し、再構築された予測残差又はピクセル値のブロック/サブ・ブロックを生成する。予測フレームに関して、エンコーダ(500)は、参照ピクチャとして使用され得る再構築フレーム(505)を形成するために、再構築された予測残差(545)を動き補償予測(535)と結合する。(図5には示されていないが、イントラ・パスにおいては、エンコーダ(500)は、参照ピクチャとして使用されるフレームを再構築するために、予測残差を、イントラ予測からの空間予測と結合することができる。)フレーム・ストア(520)は、後続の動き補償予測において参照ピクチャとして使用するために、再構築された現フレームをバッファする。
エンコーダ(500)における動き補償ループは、フレーム・ストア(520)の前又は後に、適応ループ内デブロック・フィルタ(510)を含む。エンコーダ(500)は、フレーム内の境界にわたる不連続さを適応的に平滑化するために、ループ内フィルタリングを再構築フレームに適用する。
エントロピ符号化部(580)は、量子化部(570)の出力に加えて、動き情報(515)及び所定のサイド情報(例えば、QP値、参照インデックス、RPL変更情報)も圧縮する。エントロピ符号化部(580)は、符号化データ(595)をバッファ(590)に供給し、バッファ(590)は、符号化データを出力ビットストリームに多重化する。符号化データ(595)は、RPL変更情報を示すシンタックス要素を含み得る。セクションVIIにおいて、そのようなシンタックス要素の例を説明する。
コントローラ(図示せず)は、エンコーダの様々なモジュールから入力を受信する。コントローラは、符号化中、中間結果を評価し、例えば、QP値を設定して、レート−歪み解析を実行する。コントローラは、他のモジュールと協働して、符号化中、符号化パラメータを設定し変更する。具体的には、1以上のRPLを変更する(例えば、置換する、調整する)かどうか及び1以上のRPLをどのように変更する(例えば、置換する、調整する)かを決定するとき、コントローラは、どの参照ピクチャが1以上のRPLに追加されるかを制御し、どのピクチャが1以上のRPLから除去されるかを制御し、参照インデックスによるより効率的なアドレス指定のために、1以上のRPL内の参照ピクチャを並び替えることができる。コントローラは、例えば、シーン・チェンジの後全ての参照ピクチャを除去することにより、IDRピクチャ等の特別な種類のピクチャの符号化の後全ての参照ピクチャを除去することにより、動き補償のための参照ピクチャの使用が閾量を下回った後所与の参照ピクチャを除去することにより、且つ/あるいは他の基準に従って参照ピクチャを除去することにより、RPSから(したがって、RPLから)参照ピクチャを除去することを決定することができる。コントローラは、例えば、ピクチャ・タイプ/ピクチャにおけるスライス・タイプに従って、ピクチャのための一時的なレイヤに従って、且つ/あるいは他の基準に従ってピクチャを追加することにより、RPSに参照ピクチャを追加することを決定することができる。RPLに関して、コントローラは、ビットストリームにおいて明示的にシグナリングされるシンタックス要素に従ってRPLが変更されない動き補償の結果を評価することができ、また、ビットストリームにおいて明示的にシグナリングされるシンタックス要素に従ってRPLが変更される動き補償の結果(又は、RPLを変更する複数の異なる方法の結果)を評価することができる。コントローラは、ビット・レート及び/又は品質の観点で結果を評価することができる。コントローラは、ルールにより暗黙的に構築されたRPLを選択してもよいし(RPL変更情報がない場合)、あるいは、変更されたRPLを選択してもよい(RPL変更情報により指定される場合)。RPLを変更する(例えば、置換する、調整する)ために、暗黙的に構築されたRPLと比較すると、コントローラは、(a)参照インデックスによるより効率的なアドレス指定のために、参照ピクチャを並び替えることができる、(b)符号化中の使用の頻度に少なくとも部分的に基づいて、参照ピクチャを除去することができる、且つ/あるいは(c)符号化中の使用の頻度に少なくとも部分的に基づいて、参照ピクチャを追加することができる。例えば、コントローラは、動き補償のための参照ピクチャの使用が閾量を下回った後、且つ/あるいは他の基準に従って、RPLから所与の参照ピクチャを除去することを決定することができる。あるいは、コントローラは、動き補償のための参照ピクチャの使用が閾量を超えた場合、且つ/あるいは他の基準に従って、RPLに所与の参照ピクチャを追加することを決定することができる。あるいは、コントローラは、それぞれの参照ピクチャの使用の頻度に基づいて、且つ/あるいは他の基準に従って、RPL内の参照ピクチャをどのように並べ替えるかを決定することができる。コントローラは、ピクチャごとに、スライスごとに、又は何らかの他の単位で、1以上のRPLを構築することができる。
実装及び所望の圧縮のタイプに応じて、エンコーダのモジュールを追加してもよいし、省略してもよいし、複数のモジュールに分割してもよいし、他のモジュールと結合してもよいし、且つ/又は同様のモジュールと置換してもよい。代替実施形態において、異なるモジュール及び/又はモジュールの他の構成を有するエンコーダは、説明した技術のうちの1以上を実行する。エンコーダの特定の実施形態は、通常、エンコーダ(500)の変形又は補完バージョンを使用する。エンコーダ(500)内のモジュール間の示された関係は、エンコーダ内の情報の一般的な流れを示すものである。他の関係は、簡潔さのため示されていない。
VI.例示的なビデオ・デコーダ
図6は、いくつかの説明する実施形態を協働して実装することができる一般化されたデコーダ(600)のブロック図である。デコーダ(600)は、圧縮フレーム又は一連のフレームの符号化データ(695)を受信し、参照ピクチャとして使用され得る再構築フレーム(605)を含む出力を生成する。プレゼンテーションの目的上、図6は、フレーム内復号化のためのデコーダ(600)を介した「イントラ・パス」と、フレーム間復号化のための「インタ・パス」とを示している。デコーダ(600)のコンポーネントの多くが、フレーム内復号化及びフレーム間復号化の両方のために使用される。これらのコンポーネントにより実行される正確なオペレーションは、伸張される情報のタイプに応じて変わり得る。
バッファ(690)は、圧縮フレームの符号化データ(695)を受け入れ、受け入れた符号化データを解析部/エントロピ復号化部(680)に利用可能にする。符号化データ(695)は、RPL変更情報を示すシンタックス要素を含み得る。セクションVIIにおいて、そのようなシンタックス要素の例を説明する。解析部/エントロピ復号化部(680)は、通常はエンコーダにおいて実行されたエントロピ符号化の逆を適用することにより、エントロピ符号化された量子化データに加えて、エントロピ符号化されたサイド情報(参照インデックス、RPL変更情報等を含む)もエントロピ復号化する。
復号化中、適切なときに新たな参照ピクチャが追加されるように、適切なときに動き補償のためにもはや使用されないより古い参照ピクチャが除去されるように、及び適切なときに参照ピクチャが並び替えられるように、デコーダ(600)は、1以上のRPLを構築する。デコーダ(600)は、1以上のRPLに関する利用可能な情報(例えば、RPS内の利用可能な参照ピクチャ)に基づいて、ルールに従った変更に基づいて、且つ/あるいは符号化データ(695)の一部としてシグナリングされる変更に従って、1以上のRPLを構築することができる。いくつかの実施例において、例えば、現フレームを復号化するとき、デコーダ(600)は、フレーム・ストア(620)内の参照フレームを含むRPSを決定する。デコーダ(600)は、通常、フレームの最初のスライスのRPSを決定する。スライスごとに、デコーダ(600)は、現フレームの所与のスライスを復号化するための1以上のRPLを作成する。RPLを作成するために、場合によっては(符号化データ(695)において示されるように)、デコーダ(600)は、RPSからの利用可能な参照フレームの選択に関するルールを適用する。この場合、RPL変更情報は、符号化データ(695)から解析されない。他の場合には、RPLを作成するために、デコーダ(600)は、RPSから利用可能な特定の参照フレームを選択する。この場合、選択される参照フレームは、符号化データ(695)から解析されるRPL変更情報内に示される。RPL変更情報は、RPS内の参照ピクチャのリストとして、置換RPLを指定することができる。代替的に、RPL変更情報は、よりきめの細かい形で、ルールにより暗黙的に構築されたRPLからの1以上の参照フレームの除去、ルールにより暗黙的に構築されたRPLへの1以上の参照フレームの追加、及び/又はルールにより暗黙的に構築されたRPL内の参照フレームの並べ替えを指定してもよい。
動き補償部(630)は、再構築されているフレーム(605)のサブ・ブロック及び/又はブロックの動き補償予測(635)を形成するために、動き情報(615)を1以上の参照ピクチャ(625)に適用する。フレーム・ストア(620)は、参照ピクチャとして使用するために、1以上の以前に再構築されたフレームを記憶する。
イントラ・パスは、イントラ予測モジュール(図示せず)を含み得る。イントラ予測モジュールは、隣接する以前に再構築されたピクセル値から、現ブロック又はサブ・ブロックのピクセル値を空間的に予測する。インタ・パスにおいて、デコーダ(600)は、予測残差を再構築する。逆量子化部(670)は、エントロピ復号化されたデータを逆量子化する。逆周波数変換部(660)は、再構築された周波数領域データを空間領域情報に変換する。例えば、逆周波数変換部(660)は、逆ブロック変換を周波数変換係数に適用して、ピクセル値データ又は予測残差データを生成する。逆周波数変換は、逆離散コサイン変換とその整数近似、又は別のタイプの逆周波数変換であり得る。
予測フレームに関して、デコーダ(600)は、参照ピクチャとして使用され得る再構築フレーム(605)を形成するために、再構築された予測残差(645)を動き補償予測(635)と結合する。(図6には示されていないが、イントラ・パスにおいては、デコーダ(600)は、参照ピクチャとして使用され得るフレームを再構築するために、予測残差を、イントラ予測からの空間予測と結合することができる。)デコーダ(600)における動き補償ループは、フレーム・ストア(620)の前又は後に、適応ループ内デブロック・フィルタ(610)を含む。デコーダ(600)は、フレーム内の境界にわたる不連続さを適応的に平滑化するために、ループ内フィルタリングを再構築フレームに適用する。
図6において、デコーダ(600)はまた、後処理デブロック・フィルタ(608)を含む。後処理デブロック・フィルタ(608)は、任意的に、再構築フレーム内の不連続さを平滑化する。(デリング・フィルタリング等の)他のフィルタリングも、後処理フィルタリングの一部として適用することができる。
実装及び所望の伸張のタイプに応じて、デコーダのモジュールを追加してもよいし、省略してもよいし、複数のモジュールに分割してもよいし、他のモジュールと結合してもよいし、且つ/又は同様のモジュールと置換してもよい。代替実施形態において、異なるモジュール及び/又はモジュールの他の構成を有するデコーダは、説明した技術のうちの1以上を実行する。デコーダの特定の実施形態は、通常、デコーダ(600)の変形又は補完バージョンを使用する。デコーダ(600)内のモジュール間の示された関係は、デコーダ内の情報の一般的な流れを示すものである。他の関係は、簡潔さのため示されていない。
VII.参照ピクチャ・リスト変更情報のシグナリング
このセクションは、RPL変更情報のシグナリングの領域における様々なイノベーションを提供する。いくつかの状況において、これらのイノベーションは、RPL変更情報のシンタックス要素のより効率的なシグナリングをもたらす。
A.参照ピクチャ及びRPL
参照ピクチャは、一般に、他のピクチャの復号化プロセスにおけるピクチャ間予測のために使用され得るサンプルを含むピクチャである。通常、他のピクチャは、復号化の順番において、参照ピクチャに続く。動き補償予測に使用するために、所与の時間において、複数の参照ピクチャが利用可能であり得る。
一般に、参照ピクチャ・リスト(「RPL」)は、動き補償予測のために使用される参照ピクチャのリストである。RPL内の参照ピクチャは、参照インデックスによりアドレス指定される。参照インデックスは、RPL内の参照ピクチャを特定する。符号化及び復号化中、RPSが構築されるとき、新たに復号化されたピクチャを追加するために、参照ピクチャとしてもはや使用されないより古いピクチャを除去するために、且つ/あるいはより一般に使用される参照インデックスのシグナリングをより効率的にするようRPL内の参照ピクチャを並び替えるために、RPL内の参照ピクチャは、しばしば変わり得る。エンコーダ及びデコーダは、1以上のRPLを構築する、変更する等の同一のルールに従い得る。そのようなルールに加えて(あるいは、そのようなルールに代えて)、エンコーダは、エンコーダにより使用される1以上のRPLを合致させるために、デコーダがどのように1以上のRPLを構築すべきか、変更すべきか等を示す情報をデコーダにシグナリングすることができる。通常、RPLは、RPLに関する利用可能な情報(例えば、RPS内の利用可能なピクチャ)、ルールに従った変更、及び/又はビットストリームにおいてシグナリングされる変更に基づいて、符号化及び復号化中に構築される。
いくつかの実施例において、現ピクチャに関して、エンコーダ又はデコーダは、復号化ピクチャ・バッファ(「DPB」)等の復号化フレーム記憶領域内の参照ピクチャを含む参照ピクチャ・セット(「RPS」)を決定する。RPSは、現ピクチャ及び今後符号化されるピクチャの復号化プロセスにおいて使用される参照ピクチャを記載したものである。RPSに含まれる参照ピクチャは、ビットストリームにおいて明示的にリストされる。
エンコーダ又はデコーダは、1ピクチャにつき1回RPSを決定する。例えば、デコーダは、スライス・ヘッダにおいてシグナリングされるシンタックス要素を用いて、ピクチャのスライスのスライス・ヘッダを復号化した後、RPSを決定する。参照ピクチャは、ピクチャ・オーダ・カウント(「POC」)値、その一部、及び/又はビットストリームにおいてシグナリングされる他の情報により特定される。エンコーダ又はデコーダは、現ピクチャのピクチャ間予測において使用され得る、(且つ復号化の順番において現ピクチャに続くピクチャのうち1以上のピクチャ間予測において使用され得る、)ショート・ターム参照ピクチャ及びロング・ターム参照ピクチャのグループを決定する。(エンコーダ又はデコーダはまた、復号化の順番において現ピクチャに続くピクチャのうち1以上のピクチャ間予測において使用され得るが、現ピクチャのためには使用されない参照ピクチャのグループを決定する。)集合的に、参照ピクチャのそのグループが、現ピクチャのRPSである。
現ピクチャの所与のスライスに関して、エンコーダ又はデコーダは、1以上のRPLを作成する。エンコーダ又はデコーダは、現ピクチャのピクチャ間予測において使用され得る、ショート・ターム参照ピクチャ及びロング・ターム参照ピクチャのグループを結合することにより、一時的なバージョンのRPL(例えば、RPL 0又はRPL 1)を作成する。「暗黙的」アプローチのルールに従ってRPLを構築するために、エンコーダ又はデコーダは、一時的なバージョンのRPL内の参照ピクチャを使用してもよいし、一時的なバージョンのRPL内の参照ピクチャの一部(例えば、一時的なバージョンのRPL内の最初のx個のピクチャ)のみを使用してもよい。「暗黙的」アプローチでは、RPL変更情報は、ビットストリームにおいてシグナリングされず、ビットストリームから解析されない。「明示的」アプローチでは、RPLを構築するために、エンコーダ又はデコーダは、ビットストリームにおいてシグナリングされたRPL変更情報/ビットストリームから解析されたRPL変更情報を使用して、一時的なバージョンのRPLから特定の参照ピクチャを選択する。「暗黙的」アプローチのルールにより構築されるRPLと比較すると、RPL変更情報は、RPLからの1以上の参照ピクチャの除去、RPLへの1以上の参照ピクチャの追加、及び/又はRPL内の参照ピクチャの並べ替えを指定することができる。
代替的に、エンコーダ又はデコーダは、参照ピクチャからRPLを作成するために、別のアプローチを使用してもよい。
B.RPL変更フラグの条件付きシグナリング
本明細書で説明するイノベーションの一態様に従うと、エンコーダは、ビットストリームにおいて明示的にシグナリングされるシンタックス要素に従ってRPLが変更されるかどうかを示すフラグを、条件付きでシグナリングする。対応するデコーダは、そのようなフラグを、条件付きで解析する。
いくつかの例示的な実施例において、そのフラグは、ref_pic_list_modification_flag_l0又はref_pic_list_modification_flag_l1である(一般に、フラグは、ref_pic_list_modification_flag_lXであり、Xは0又は1であり得る)。フラグref_pic_list_modification_flag_lXの値が1に等しい場合、RPL Xは、list_entry_lX[i]値のリストとして、明示的に指定される(再度、Xは0又は1である)。フラグref_pic_list_modification_flag_lXの値が0に等しい場合、RPL Xは、暗黙的に決定される。ref_pic_list_modification_flag_lXが存在しない場合、0に等しいと推定される。
図7aは、例示的な実施例におけるref_pic_lists_modification()シンタックス構造の例示的なシンタックス(700)を示している。この構造は、スライス・ヘッダの一部としてシグナリングされ得る。例示的なシンタックス(700)において、NumPocTotalCurrが1より大きいときのみ、ref_pic_list_modification_flag_lXが送信される。NumPocTotalCurrは、現在の符号化又は復号化のために適用可能な参照ピクチャの総数を示す変数である。符号化又は復号化の例示的な実施例において、変数NumPocTotalCurrが、現ピクチャのスライスに関して導出されるとき、その変数は、現ピクチャの符号化又は復号化のための参照ピクチャとして使用される、ショート・ターム参照ピクチャ及びロング・ターム参照ピクチャのカウントを示す。
図7aに示されるように、ref_pic_list_modification_flag_lXの条件付きシグナリングは、変数NumPocTotalCurrの値に依存する。NumPocTotalCurrが1以下の場合、RPLの変更の可能性はなく、したがって、フラグref_pic_list_modification_flag_lXを送信する必要はない。条件が満たされる場合、この条件付きシグナリングは、全てのスライスにつき1つ又は2つのフラグを節約することができる。図7aにおける変更は、フラグref_pic_list_modification_flag_lXがシグナリングされるかどうかに関する条件「if(NumPocTotalCurr>1)」を含む。この条件は、(Pスライス又はBスライスの)list 0及び/又は(Bスライスの)list 1についてチェックされ得る。
代替的に、1以上のRPL変更フラグを含むRPL変更構造(例えば、ref_pic_lists_modification()構造)のシグナリング及び解析は、スライス・ヘッダ処理の一部として、又は他の方法で条件を評価することにより制御されてもよい。図7bは、この条件に基づくフラグref_pic_list_modification_flag_l0及びフラグref_pic_list_modification_flag_l1の条件付きシグナリング及び解析のアプローチを示している。具体的には、図7bは、ref_pic_lists_modification()シンタックス構造を含み得るスライス・ヘッダ・シンタックス構造の例示的なシンタックス(750)を示している。ref_pic_lists_modification()シンタックス構造は、図7cのシンタックス(760)内に示されている。スライス・ヘッダの例示的なシンタックス(750)では、フラグlists_modification_present_flagが、スライスに対して適用されるピクチャ・パラメータ・セットにおいてシグナリングされる。lists_modification_present_flagが0に等しい場合、構造ref_pic_lists_modification()は、スライス・ヘッダ内に存在しない。lists_modification_present_flagが1に等しい場合、構造ref_pic_lists_modification()は、変数NumPocTotalCurrの値に応じて、スライス・ヘッダ内に存在し得る。変数NumPocTotalCurrが1より大きい場合、図7cのシンタックス(760)内に示されるref_pic_lists_modification()構造がシグナリングされる。そうでなければ(変数NumPocTotalCurrが1以下の場合)、ref_pic_lists_modification()構造はシグナリングされず、リスト・エントリの値が推定される。
図7a〜図7c、図8、及び図9において、「u(n)」という語は、nビットを用いる符号なし整数を表している。(「u(v)」のように)nが「v」である場合、ビットの数は、他のシンタックス要素の値に応じて変わる。u(n)の解析プロセスは、最上位ビットが最初に書き込まれる符号なし整数のバイナリ表現としてnビットを読み取る関数の戻り値により指定され得る。
C.リスト・エントリのシンタックス要素のシグナリング
本明細書で説明するイノベーションの別の態様に従うと、エンコーダは、RPLをどのように変更するかを示すリスト・エントリのシンタックス要素を条件付きでシグナリングする。対応するデコーダは、そのようなシンタックス要素を条件付きで解析する。
いくつかの例示的な実施例において、そのようなシンタックス要素は、RPL 0のlist_entry_l0[i]シンタックス要素又はRPL 1のlist_entry_l1[i]シンタックス要素に関するものである(一般に、シンタックス要素は、list_entry_lXであり、Xは0又は1であり得る)。図8は、ref_pic_lists_modification()シンタックス構造の例示的なシンタックス(800)を示しており、これは、スライス・ヘッダの一部としてシグナリングされ得る。例示的なシンタックス(800)において、シンタックス要素list_entry_lX[0]が、ビットストリームにおいて条件付きでシグナリングされる。詳細には、NumPocTotalCurrが2に等しく、num_ref_idx_lX_active_minus1が0に等しい場合、シンタックス要素list_entry_lX[0]は、ビットストリームにおいてシグナリングされない。変数num_ref_idx_lX_active_minus1は、スライスを復号化するために使用することができるRPL Xの最大参照インデックスを示す。変数num_ref_idx_lX_active_minus1は、デフォルト値(適用可能なピクチャ・パラメータ・セットにおいて示されるように、例えば、0...15からの値)を有し得るか、あるいは、num_ref_idx_lX_active_minus1は、現スライスについてスライス・ヘッダにおいてシグナリングされる値を有し得る。
図8に示されるように、RPL変更情報がビットストリームにおいてシグナリングされるとref_pic_list_modification_flag_lXが示す場合であっても、list_entry_lX[0]のシグナリングは、NumPocTotalCurr及びnum_ref_idx_lX_active_minus1に依存する。NumPocTotalCurrが2に等しく、num_ref_idx_lX_active_minus1が1に等しい場合、list_entry_lX[0]の値は、ref_pic_list_modification_flag_lXに基づいて推定され得る。というのは、2つの選択肢のみ可能であるからである(0のデフォルト値又は1の非デフォルト値)。
したがって、図8は、リスト・エントリのシンタックス要素がシグナリングされるかどうかに関する条件を含む。RPL 0では、その条件は、「if(ref_pic_list_modification_flag_l0&&!(NumPocTotalCurr==2&&num_ref_idx_l0_active_minus1==0))」である。RPL 1では、その条件は、「if(ref_pic_list_modification_flag_l1&&!(NumPocTotalCurr==2&&num_ref_idx_l1_active_minus1==0))」である。
図8の例において、list_entry_l0[i]は、RPL 0の現在位置に配置されるRefPicListTemp0(一時的なバージョンのRPL)内の参照ピクチャのインデックスを指定する。list_entry_l0[i]シンタックス要素の長さは、Ceil(Log2(NumPocTotalCurr))ビットである。list_entry_l0[i]の値は、0〜NumPocTotalCurr-1(0とNumPocTotalCurr-1を含む)である。NumPocTotalCurrが2に等しく、num_ref_idx_l0_active_minus1が0に等しい場合、シンタックス要素list_entry_l0[0]は、ref_pic_list_modification_flag_l0に等しいと推定される。そうでなければ、シンタックス要素list_entry_l0[i]が存在しない場合、0に等しいと推定される。
図8の例において、list_entry_l1[i]は、RPL 1の現在位置に配置されるRefPicListTemp1(一時的なバージョンのRPL)内の参照ピクチャのインデックスを指定する。list_entry_l1[i]シンタックス要素の長さは、Ceil(Log2(NumPocTotalCurr))ビットである。list_entry_l1[i]の値は、0〜NumPocTotalCurr-1(0とNumPocTotalCurr-1を含む)である。NumPocTotalCurrが2に等しく、num_ref_idx_l1_active_minus1が0に等しい場合、シンタックス要素list_entry_l1[0]は、ref_pic_list_modification_flag_l1に等しいと推定される。そうでなければ、シンタックス要素list_entry_l1[i]が存在しない場合、0に等しいと推定される。
図9は、ref_pic_lists_modification()シンタックス構造の別の例示的なシンタックス(900)を示しており、これは、スライス・ヘッダの一部としてシグナリングされ得る。例示的なシンタックス(900)において、シンタックス要素list_entry_lX[0]が、ビットストリームにおいて条件付きでシグナリングされる。しかしながら、図8の例示的なシンタックスと比較すると、チェックされる条件が異なっている。また、list_entry_lX[]のシンタックス要素のシグナリングは、重み付き予測が使用されるかどうかに応じて調整され得る。
図9に従うと、重み付き予測が有効又無効にされるかは、リスト・エントリのシンタックス要素がビットストリームにおいてどのようにシグナリングされるかに影響を及ぼす。weighted_pred_flagが0に等しいPスライス又はweighted_bipred_flagが0に等しいBスライスでは、重み付きが無効にされる。図9の例示的なシンタックス(900)に従うと、重み付き予測が無効にされている場合、NumPocTotalCurrが2に等しく、num_ref_idx_lX_active_minus1が1に等しいときには、list_entry_lX[0]及びlist_entry_lX[1]は送信されない。そのような場合、list_entry_lX[0]及びlist_entry_lX[1]は、1及び0にそれぞれ推定される。というのは、RPL変更は、他の可能性のみでは必要とされないからである(すなわち、list_entry_lX[0]及びlist_entry_lX[1]は、0及び1にそれぞれ等しい)。
したがって、図9は、リスト・エントリのシンタックス要素がシグナリングされるかどうかに関する条件を含む。RPL 0では、その条件は、「if(ref_pic_list_modification_flag_l0&&!(NumPocTotalCurr==2&&num_ref_idx_l0_active_minus1==0)&&!(NumPocTotalCurr==2&&num_ref_idx_l0_active_minus1==1&&((weighted_pred_flag!=1&&slice_type==P)||(weighted_bipred_flag!=1&&slice_type==B))))」である。RPL 1では、その条件は、「if(ref_pic_list_modification_flag_l1&&!(NumPocTotalCurr==2&&num_ref_idx_l1_active_minus1==0)&&!(NumPocTotalCurr==2&&num_ref_idx_l1_active_minus1==1&&weighted_bipred_flag!=1))」である。
さらに、NumPocTotalCurrが2に等しくない場合、又はnum_ref_idx_lX_active_minus1が1に等しくない場合であっても、重み付き予測が無効にされるときには(Pスライスでは、weighted_pred_flagが0に等しく;Bスライスでは、weighted_bipred_flagが0に等しい)、list_entry_lX[i]シンタックス要素の長さは、Ceil(Log2(NumPocTotalCurr-i))ビットに制限される。この場合、リスト内に各参照ピクチャを1回配置することのみに有用であり、したがって、有用な可能性の数は、インデックスiが増えるにつれ、減少する。
図9の例において、list_entry_l0[i]は、RPL 0の現在位置に配置されるRefPicListTemp0(一時的なバージョンのRPL)内の参照ピクチャのインデックスを指定する。重み付き予測が無効にされる(Pスライスでは、weighted_pred_flagが0に等しく;Bスライスでは、weighted_bipred_flagが0に等しい)ときには、list_entry_l0[i]シンタックス要素の長さは、Ceil(Log2(NumPocTotalCurr-i))ビットである。そうでなければ、list_entry_l0[i]シンタックス要素の長さは、Ceil(Log2(NumPocTotalCurr))ビットである。NumPocTotalCurrが2に等しく、num_ref_idx_l0_active_minus1が0に等しい場合、シンタックス要素list_entry_l0[0]は、(図8の例のように)ref_pic_list_modification_flag_l0に等しいと推定される。そうでなければ、NumPocTotalCurrが2に等しく、num_ref_idx_l0_active_minus1が1に等しく、重み付き予測が無効にされる(weighted_pred_flagが0に等しく、現在のスライスがPスライスである、あるいは、weighted_bipred_flagが0に等しく、現在のスライスがBスライスである)場合、シンタックス要素list_entry_l0[0]及びlist_entry_l0[1]は、1及び0にそれぞれ等しいと推定される。そうでなければ、シンタックス要素list_entry_l0[i]が存在しない場合、0に等しいと推定される。
重み付き予測が無効にされる(weighted_pred_flagが0に等しく、現在のスライスがPスライスである、あるいは、weighted_bipred_flagが0に等しく、現在のスライスがBスライスである)場合、list_entry_l0[i]の値は、0〜NumPocTotalCurr-(i+1)(0とNumPocTotalCurr-(i+1)を含む)であり、エントリ値が解析された後、リストRefPicListTemp0から各エントリlist_entry_l0[i]を除去することにより、リストRefPicListTemp0は短くなる。そうでなければ、list_entry_l0[i]の値は、0〜NumPocTotalCurr-1(0とNumPocTotalCurr-1を含む)である。
図9の例において、list_entry_l1[i]は、RPL 1の現在位置に配置されるRefPicListTemp1(一時的なバージョンのRPL)内の参照ピクチャのインデックスを指定する。重み付き予測が無効にされる(weighted_bipred_flagが0に等しい、というのは、Bスライスのみがリスト1を使用するからである)場合、list_entry_l1[i]シンタックス要素の長さは、Ceil(Log2(NumPocTotalCurr-i))ビットである。そうでなければ、list_entry_l1[i]シンタックス要素の長さは、Ceil(Log2(NumPocTotalCurr))ビットである。NumPocTotalCurrが2に等しく、num_ref_idx_l1_active_minus1が0に等しい場合、シンタックス要素list_entry_l1[0]は、(図8の例のように)ref_pic_list_modification_flag_l1に等しいと推定される。そうでなければ、NumPocTotalCurrが2に等しく、num_ref_idx_l1_active_minus1が1に等しく、重み付き予測が無効にされる(weighted_bipred_flagが0に等しく、現在のスライスがBスライスである)場合、シンタックス要素list_entry_l1[0]及びlist_entry_l1[1]は、1及び0にそれぞれ等しいと推定される。そうでなければ、シンタックス要素list_entry_l1[i]が存在しない場合、0に等しいと推定される。
重み付き予測が無効にされる(weighted_bipred_flagが0に等しく、現在のスライスがBスライスである)場合、list_entry_l1[i]の値は、0〜NumPocTotalCurr-(i+1)(0とNumPocTotalCurr-(i+1)を含む)であり、エントリ値が解析された後、リストRefPicListTemp1から各エントリlist_entry_l1[i]を除去することにより、リストRefPicListTemp1は短くなる。そうでなければ、list_entry_l1[i]の値は、0〜NumPocTotalCurr-1(0とNumPocTotalCurr-1を含む)である。
D.RPL変更フラグの条件付きシグナリング及び解析のための一般化された技術
図10は、RPL変更フラグの条件付きシグナリングのための一般化された技術(1000)を示している。例えば、図3を参照して説明したビデオ・エンコーダを実装するコンピューティング・デバイスは、技術(1000)を実行することができる。
デバイスは、条件を評価する(1010)。例えば、条件は、参照ピクチャの総数を示す変数に少なくとも部分的に依存する。いくつかの例示的な実施例において、変数は、NumPocTotalCurrであり、エンコーダは、変数が1より大きいかどうかをチェックする。代替的に、エンコーダは、他の条件及び/又は追加の条件を評価してもよい。1010で評価される条件は、単一のファクタ(例えば、参照ピクチャの総数を示す変数の値)を含んでもよいし、1010で評価される条件は、複数のファクタ(例えば、参照ピクチャの総数を示す変数の値に加えて、1以上の他のファクタ)を含んでもよい。条件は、RPL変更構造の処理の一部として評価され得る(1010)。あるいは、条件は、スライス・ヘッダの処理の一部として評価されてもよい(1010)。
評価の結果に応じて、デバイスは、ビットストリームにおいて明示的にシグナリングされるシンタックス要素に従ってRPLが変更される(例えば、置換される、調整される)かどうかを示すフラグを、ビットストリームにおいて条件付きでシグナリングする(1020)。例えば、フラグは、ref_pic_list_modification_flag_l0又はref_pic_list_modification_flag_l1のうちの1つであり、スライス・ヘッダのRPL変更構造の一部として、条件付きでシグナリングされ得る。あるいは、条件が評価された(1010)後、評価の結果に応じて、(ビットストリームにおいて明示的にシグナリングされるシンタックス要素に従ってRPLが変更されるかどうかを示す1以上のフラグを含む)RPL変更構造が、ビットストリームにおいて条件付きでシグナリングされてもよい。
デバイスは、RPL変更構造がシグナリングされるときに、スライスごとに、又は何らかの他の単位で、技術(1000)を繰り返すことができる。
図11は、RPL変更フラグの条件付き解析のための一般化された技術(1100)を示している。例えば、図4を参照して説明したビデオ・デコーダを実装するコンピューティング・デバイスは、技術(1100)を実行することができる。
デコーダは、条件を評価する(1110)。例えば、条件は、参照ピクチャの総数を示す変数に少なくとも部分的に依存する。いくつかの例示的な実施例において、変数は、NumPocTotalCurrであり、デコーダは、変数が1より大きいかどうかをチェックする。代替的に、デコーダは、他の条件及び/又は追加の条件を評価してもよい。1110で評価される条件は、単一のファクタ(例えば、参照ピクチャの総数を示す変数の値)を含んでもよいし、1110で評価される条件は、複数のファクタ(例えば、参照ピクチャの総数を示す変数の値に加えて、1以上の他のファクタ)を含んでもよい。条件は、RPL変更構造の処理の一部として評価され得る(1110)。あるいは、条件は、スライス・ヘッダの処理の一部として評価されてもよい(1110)。
評価の結果に応じて、デバイスは、ビットストリームにおいて明示的にシグナリングされるシンタックス要素に従ってRPLが変更される(例えば、置換される、調整される)かどうかを示すフラグを、ビットストリームから条件付きで解析する(1120)。例えば、フラグは、ref_pic_list_modification_flag_l0又はref_pic_list_modification_flag_l1のうちの1つであり、スライス・ヘッダのRPL変更構造の一部として、条件付きでシグナリングされ得る。あるいは、条件が評価された(1110)後、評価の結果に応じて、(ビットストリームにおいて明示的にシグナリングされるシンタックス要素に従ってRPLが変更されるかどうかを示す1以上のフラグを含む)RPL変更構造が、ビットストリームから条件付きで解析されてもよい。
デバイスは、RPL変更構造がシグナリングされるときに、スライスごとに、又は何らかの他の単位で、技術(1100)を繰り返すことができる。
E.リスト・エントリの条件付きシグナリング及び解析のための一般化された技術
図12は、RPL変更のリスト・エントリの条件付きシグナリングのための一般化された技術(1200)を示している。例えば、図3を参照して説明したビデオ・エンコーダを実装するコンピューティング・デバイスは、技術(1200)を実行することができる。
デバイスは、条件を評価する(1210)。例えば、条件は、参照ピクチャの総数を示す変数(例えば、いくつかの実施例では、NumPocTotalCurr)に少なくとも部分的に依存する。あるいは、条件は、RPLのアクティブ参照ピクチャの数に少なくとも部分的に依存してもよい。あるいは、条件は、重み付き予測が無効にされるかどうかに少なくとも部分的に依存してもよい。異なるロジックを使用して、現在のスライスがPスライス又はBスライスであるかに応じて、且つ/あるいはどのRPLがシグナリング/解析されているかどうかに応じて、重み付き予測が無効にされるかどうかをチェックすることができる。例えば、(Pスライス又はBスライスにより使用され得る)第1のRPLの条件をチェックするためのロジックは、(Bスライスのみにより使用され得る)第2のRPLの条件をチェックするためのロジックとは異なる。代替的に、エンコーダは、他の条件及び/又は追加の条件を評価してもよい。
評価の結果に応じて、デバイスは、RPLをどのように変更する(例えば、置換する、調整する)かを示すリスト・エントリの1以上のシンタックス要素を、ビットストリームにおいて条件付きでシグナリングする(1220)。例えば、リスト・エントリの1以上のシンタックス要素は、スライス・ヘッダのRPL変更構造の一部として、条件付きでシグナリングされる。
いくつかの例示的な実施例において、(a)参照ピクチャの総数が2に等しく、(b)RPLのアクティブ参照ピクチャの数が1に等しい場合、リスト・エントリの1以上のシンタックス要素は、ビットストリームには存在せず、リスト・エントリのうちの1つに関する値が推定される。他の例示的な実施例において、この条件に加えて、(c)参照ピクチャの総数が2に等しく、(d)RPLのアクティブ参照ピクチャの数が2に等しく、(e)重み付き予測が無効にされる場合、リスト・エントリの1以上のシンタックス要素は、ビットストリームには存在せず、リスト・エントリのうちの2つに関する値が推定される。
デバイスは、RPL変更構造がシグナリングされるときに、スライスごとに、又は何らかの他の単位で、技術(1200)を繰り返すことができる。
図13は、RPL変更のリスト・エントリの条件付き解析のための一般化された技術(1300)を示している。例えば、図4を参照して説明したビデオ・デコーダを実装するコンピューティング・デバイスは、技術(1300)を実行することができる。
デコーダは、条件を評価する(1310)。例えば、条件は、参照ピクチャの総数を示す変数(例えば、いくつかの実施例では、NumPocTotalCurr)に少なくとも部分的に依存する。あるいは、条件は、RPLのアクティブ参照ピクチャの数に少なくとも部分的に依存してもよい。あるいは、条件は、重み付き予測が無効にされるかどうかに少なくとも部分的に依存してもよい。異なるロジックを使用して、現在のスライスがPスライス又はBスライスであるかに応じて、且つ/あるいはどのRPLがシグナリング/解析されているかどうかに応じて、重み付き予測が無効にされるかどうかをチェックすることができる。代替的に、デコーダは、他の条件及び/又は追加の条件を評価してもよい。
評価の結果に応じて、デバイスは、RPLをどのように変更する(例えば、置換する、調整する)かを示すリスト・エントリの1以上のシンタックス要素を、ビットストリームから条件付きで解析する(1320)。例えば、リスト・エントリの1以上のシンタックス要素は、スライス・ヘッダのRPL変更構造から、条件付きで解析される。
いくつかの例示的な実施例において、(a)参照ピクチャの総数が2に等しく、(b)RPLのアクティブ参照ピクチャの数が1に等しい場合、リスト・エントリの1以上のシンタックス要素は、ビットストリームには存在せず、リスト・エントリのうちの1つに関する値が推定される。他の例示的な実施例において、この条件に加えて、(c)参照ピクチャの総数が2に等しく、(d)RPLのアクティブ参照ピクチャの数が2に等しく、(e)重み付き予測が無効にされる場合、リスト・エントリの1以上のシンタックス要素は、ビットストリームには存在せず、リスト・エントリのうちの2つに関する値が推定される。
デバイスは、RPL変更構造がシグナリングされるときに、スライスごとに、又は何らかの他の単位で、技術(1300)を繰り返すことができる。
F.リスト・エントリのシグナリング及び解析を調整するための一般化された技術
図14は、RPL変更のリスト・エントリのシグナリングを調整するための一般化された技術(1400)を示している。例えば、図3を参照して説明したビデオ・エンコーダを実装するコンピューティング・デバイスは、技術(1400)を実行することができる。
デバイスは、条件を評価する(1410)。例えば、条件は、重み付き予測が無効にされるかどうかに少なくとも部分的に依存する。異なるロジックを使用して、現在のスライスがPスライス又はBスライスであるかに応じて、且つ/あるいはどのRPLがシグナリング/解析されているかどうかに応じて、重み付き予測が無効にされるかどうかをチェックすることができる。例えば、(Pスライス又はBスライスにより使用され得る)第1のRPLの条件をチェックするためのロジックは、(Bスライスのみにより使用され得る)第2のRPLの条件をチェックするためのロジックとは異なる。代替的に、エンコーダは、他の条件及び/又は追加の条件を評価してもよい。
評価の結果に応じて、デバイスは、RPLをどのように変更する(例えば、置換する、調整する)かを示すリスト・エントリの1以上のシンタックス要素のビットストリームにおけるシグナリングを調整する(1420)。詳細には、1以上のシンタックス要素の少なくとも1つの長さ(ビット単位)が調整される。例えば、リスト・エントリのインデックスiについて、重み付き予測が無効にされる場合、1以上のシンタックス要素の少なくとも1つの長さ(ビット単位)は、iが増えるにつれ、減少する。いくつかの例示的な実施例において、重み付き予測が無効にされる場合、リスト・エントリ[i]の所与のシンタックス要素の長さは、Ceil(Log2(NumPocTotalCurr-i))である。そうでなければ(重み付き予測が有効にされる場合)、リスト・エントリ[i]の所与のシンタックス要素の長さは、Ceil(Log2(NumPocTotalCurr))ビットである。
デバイスは、RPL変更構造がシグナリングされるときに、スライスごとに、又は何らかの他の単位で、技術(1400)を繰り返すことができる。
図15は、RPL変更のリスト・エントリの解析を調整するための一般化された技術(1500)を示している。例えば、図4を参照して説明したビデオ・デコーダを実装するコンピューティング・デバイスは、技術(1500)を実行することができる。
デコーダは、条件を評価する(1510)。例えば、条件は、重み付き予測が無効にされるかどうかに少なくとも部分的に依存する。異なるロジックを使用して、現在のスライスがPスライス又はBスライスであるかに応じて、且つ/あるいはどのRPLがシグナリング/解析されているかどうかに応じて、重み付き予測が無効にされるかどうかをチェックすることができる。代替的に、デコーダは、他の条件及び/又は追加の条件を評価してもよい。
評価の結果に応じて、デバイスは、RPLをどのように変更する(例えば、置換する、調整する)かを示すリスト・エントリの1以上のシンタックス要素のビットストリームからの解析を調整する(1520)。詳細には、1以上のシンタックス要素の少なくとも1つの長さ(ビット単位)が調整される。例えば、リスト・エントリのインデックスiについて、重み付き予測が無効にされる場合、1以上のシンタックス要素の少なくとも1つの長さ(ビット単位)は、iが増えるにつれ、減少する。いくつかの例示的な実施例において、重み付き予測が無効にされる場合、リスト・エントリ[i]の所与のシンタックス要素の長さは、Ceil(Log2(NumPocTotalCurr-i))である。そうでなければ(重み付き予測が有効にされる場合)、リスト・エントリ[i]の所与のシンタックス要素の長さは、Ceil(Log2(NumPocTotalCurr))ビットである。
デバイスは、RPL変更構造がシグナリングされるときに、スライスごとに、又は何らかの他の単位で、技術(1500)を繰り返すことができる。
G.代替例
図7a、図7b、図10、及び図11は、条件に基づく、ref_pic_list_modification_flag_l0又はref_pic_list_modification_flag_l1等のフラグの条件付きシグナリング及び解析を示している。このように、(リスト・エントリのシンタックス要素等の)追加のRPL変更情報のシグナリングが制御される。図7aを参照して説明したように、RPL変更フラグのシグナリング及び解析は、ref_pic_lists_modification()構造の一部として条件を評価することにより制御され得る。代替的に、図7bを参照して説明したように、RPL変更構造(例えば、ref_pic_lists_modification()構造)のシグナリング及び解析は、スライス・ヘッダ処理の一部として、又は他の方法で同じ条件を評価することにより制御されてもよい。例えば、変数NumPocTotalCurrが1より大きい場合、ref_pic_lists_modification()構造がシグナリングされる。そうでなければ(変数NumPocTotalCurrが1以下である場合)、ref_pic_lists_modification()構造はシグナリングされず、図7aを参照して上述したように、リスト・エントリの値が推定される。図10に拡張すると、条件が評価された後、評価の結果に応じて、RPL変更シンタックス構造が、条件付きでシグナリングされる。図11に拡張すると、条件が評価された後、評価の結果に応じて、RPL変更シンタックス構造が、条件付きで解析される。
例示の目的上、詳細な説明は、いくつかのパラメータ及び変数に関する特定の名前を伴う様々な例を含む。本明細書で説明したイノベーションは、そのような名前を有するパラメータ又は変数を伴う実施例に限定されない。代わりに、本明細書で説明したイノベーションは、様々なタイプのパラメータ及び変数を用いて実装されてもよい。
H.さらなる革新的特徴
特許請求の範囲に加えて、本明細書で説明した革新的特徴は、以下の表に示される特徴を含むが、それらの特徴に限定されるものではない。
Figure 0006318158
Figure 0006318158
Figure 0006318158
Figure 0006318158
開示した本発明の原理を適用することができる多くの可能な実施形態の観点から、例示した実施形態は、本発明の好ましい例に過ぎないことを認識すべきであり、本発明の範囲を限定するものとして解釈すべきではない。むしろ、本発明の範囲は、請求項により定められる。したがって、我々は、このような請求項の範囲及び精神に含まれる全てを、我々の発明として特許請求する。

Claims (18)

  1. ビデオ・デコーダにより実行される方法であって、
    符号化データを受信するステップと、
    再構築されたビデオ・フレームを生成するために、前記符号化データを復号化する復号化ステップであって、
    重み付き予測フラグ及びスライス・タイプに基づいて、重み付き予測が、スライスについて有効にされるか又は無効にされるかを判定するステップと、
    条件を評価する評価ステップであって、前記条件は、参照ピクチャの総数を示す変数の値が1より大きいかどうかに少なくとも部分的に依存する、評価ステップと、
    前記条件が満たされたかどうかに応じて、ビットストリームにおいて明示的にシグナリングされるシンタックス要素に従って参照ピクチャ・リスト(RPL)が変更されるかどうかを示すフラグを、前記ビットストリームから条件付きで解析するステップと、
    を含む、復号化ステップと、
    を含む、
    方法。
  2. 前記フラグは、前記ビットストリームにおいて明示的にシグナリングされるシンタックス要素に従って第1のRPLが変更されるかどうかを示す第1のフラグ、又は、前記ビットストリームにおいて明示的にシグナリングされるシンタックス要素に従って第2のRPLが変更されるかどうかを示す第2のフラグである、
    請求項1記載の方法。
  3. 前記フラグは、前記スライスのスライス・ヘッダのRPL変更構造から、条件付きで解析される、
    請求項1記載の方法。
  4. 前記条件は、前記フラグを含むRPL変更構造の処理の一部として評価される、
    請求項1記載の方法。
  5. 前記条件は、前記スライスのスライス・ヘッダの処理の一部として評価される、
    請求項1記載の方法。
  6. 前記フラグを含むRPL変更構造が、前記条件が満たされたかどうかに応じて、条件付きで解析される、
    請求項5記載の方法。
  7. 前記フラグが1に等しい場合、前記RPLは、リスト・エントリ値のリストとして明示的に指定され、
    前記フラグが0に等しい場合、前記RPLは、暗黙的に決定され、
    前記フラグが前記ビットストリームに存在しない場合、前記フラグは、0に等しいと推定される、
    請求項1記載の方法。
  8. 前記フラグは、1ビットを用いた符号なし整数として、前記ビットストリームにおいてシグナリングされ、前記フラグの解析プロセスは、前記符号なし整数のバイナリ表現として1ビットを読み取る関数の戻り値により指定されることが可能である、
    請求項1記載の方法。
  9. 前記復号化ステップは、
    RPL変更構造が、前記スライスのスライス・ヘッダ内に存在し得るかどうかを示す別のフラグを、前記ビットストリームから解析する解析ステップであって、前記別のフラグは、ピクチャ・パラメータ・セットの一部としてシグナリングされる、解析ステップ
    をさらに含む、
    請求項1記載の方法。
  10. メモリ及び1以上の処理装置を備えたコンピューティング・デバイスであって、前記コンピューティング・デバイスは、ビデオ・デコーダ・システムを実装しており、前記ビデオ・デコーダ・システムは、
    符号化データを受け入れるよう構成されているバッファと、
    前記符号化データの復号化を実行するよう構成されているビデオ・デコーダであって、前記復号化は、
    重み付き予測フラグ及びスライス・タイプに基づいて、重み付き予測が、スライスについて有効にされるか又は無効にされるかを判定することと、
    条件を評価することであって、前記条件は、参照ピクチャの総数を示す変数の値が1より大きいかどうかに少なくとも部分的に依存する、評価することと、
    前記条件が満たされたかどうかに応じて、ビットストリームにおいて明示的にシグナリングされるシンタックス要素に従って参照ピクチャ・リスト(RPL)が変更されるかどうかを示すフラグを、前記ビットストリームから条件付きで解析することと、
    を含む、ビデオ・デコーダと、
    を含む、
    コンピューティング・デバイス。
  11. 前記フラグは、前記ビットストリームにおいて明示的にシグナリングされるシンタックス要素に従って第1のRPLが変更されるかどうかを示す第1のフラグ、又は、前記ビットストリームにおいて明示的にシグナリングされるシンタックス要素に従って第2のRPLが変更されるかどうかを示す第2のフラグである、
    請求項10記載のコンピューティング・デバイス。
  12. 前記フラグは、前記スライスのスライス・ヘッダのRPL変更構造から、条件付きで解析される、
    請求項10記載のコンピューティング・デバイス。
  13. 前記条件は、前記スライスのスライス・ヘッダの処理の一部として評価される、
    請求項10記載のコンピューティング・デバイス。
  14. 前記フラグを含むRPL変更構造が、前記条件が満たされたかどうかに応じて、条件付きで解析される、
    請求項13記載のコンピューティング・デバイス。
  15. 前記フラグが1に等しい場合、前記RPLは、リスト・エントリ値のリストとして明示的に指定され、
    前記フラグが0に等しい場合、前記RPLは、暗黙的に決定され、
    前記フラグが前記ビットストリームに存在しない場合、前記フラグは、0に等しいと推定される、
    請求項10記載のコンピューティング・デバイス。
  16. 前記フラグは、1ビットを用いた符号なし整数として、前記ビットストリームにおいてシグナリングされ、前記フラグの解析プロセスは、前記符号なし整数のバイナリ表現として1ビットを読み取る関数の戻り値により指定されることが可能である、
    請求項10記載のコンピューティング・デバイス。
  17. 前記復号化は、
    RPL変更構造が、前記スライスのスライス・ヘッダ内に存在し得るかどうかを示す別のフラグを、前記ビットストリームから解析することであって、前記別のフラグは、ピクチャ・パラメータ・セットの一部としてシグナリングされる、解析すること
    をさらに含む、
    請求項10記載のコンピューティング・デバイス。
  18. コンピューティング・デバイスに、
    符号化データを受信することと、
    再構築されたビデオ・フレームを生成するために、前記符号化データを復号化することであって、前記復号化は、
    重み付き予測フラグ及びスライス・タイプに基づいて、重み付き予測が、スライスについて有効にされるか又は無効にされるかを判定することと、
    条件を評価することであって、前記条件は、参照ピクチャの総数を示す変数の値が1より大きいかどうかに少なくとも部分的に依存する、評価することと、
    前記条件が満たされたかどうかに応じて、ビットストリームにおいて明示的にシグナリングされるシンタックス要素に従って参照ピクチャ・リスト(RPL)が変更されるかどうかを示すフラグを、前記ビットストリームから条件付きで解析することと、
    を含む、復号化することと、
    を含む動作を実行させる、
    プログラム。
JP2015534584A 2012-09-30 2013-09-23 参照ピクチャ・リスト変更情報の条件付きシグナリング Active JP6318158B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261708042P 2012-09-30 2012-09-30
US61/708,042 2012-09-30
US13/781,710 US9313500B2 (en) 2012-09-30 2013-02-28 Conditional signalling of reference picture list modification information
US13/781,710 2013-02-28
PCT/US2013/061241 WO2014052249A1 (en) 2012-09-30 2013-09-23 Conditional signalling of reference picture list modification information

Publications (3)

Publication Number Publication Date
JP2015534776A JP2015534776A (ja) 2015-12-03
JP2015534776A5 JP2015534776A5 (ja) 2016-10-06
JP6318158B2 true JP6318158B2 (ja) 2018-04-25

Family

ID=50385186

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015534584A Active JP6318158B2 (ja) 2012-09-30 2013-09-23 参照ピクチャ・リスト変更情報の条件付きシグナリング

Country Status (9)

Country Link
US (10) US9313500B2 (ja)
EP (2) EP2901699B1 (ja)
JP (1) JP6318158B2 (ja)
KR (6) KR102545525B1 (ja)
CN (1) CN104662906B (ja)
AR (1) AR097227A1 (ja)
ES (1) ES2860448T3 (ja)
TW (1) TWI612803B (ja)
WO (1) WO2014052249A1 (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10003817B2 (en) 2011-11-07 2018-06-19 Microsoft Technology Licensing, Llc Signaling of state information for a decoded picture buffer and reference picture lists
US9609341B1 (en) * 2012-04-23 2017-03-28 Google Inc. Video data encoding and decoding using reference picture lists
US9313500B2 (en) 2012-09-30 2016-04-12 Microsoft Technology Licensing, Llc Conditional signalling of reference picture list modification information
US9590952B2 (en) 2014-09-05 2017-03-07 Microsoft Technology Licensing, Llc Lossy data stream decoder
GB201421095D0 (en) * 2014-11-27 2015-01-14 British Broadcasting Corp HEVC Optimization techniques
WO2016119746A1 (zh) * 2015-01-29 2016-08-04 同济大学 图像编码方法及装置、图像解码方法及装置
BR112017017792A2 (ja) * 2015-02-27 2018-04-10 Sony Corporation A sending set, a transmission method, a receiving set, and a receiving method
WO2016200043A1 (ko) * 2015-06-10 2016-12-15 엘지전자 주식회사 비디오 코딩 시스템에서 가상 참조 픽처 기반 인터 예측 방법 및 장치
US10178403B2 (en) * 2015-06-23 2019-01-08 Qualcomm Incorporated Reference picture list construction in intra block copy mode
US20170006303A1 (en) * 2015-06-30 2017-01-05 Intel Corporation Method and system of adaptive reference frame caching for video coding
EP3451669A1 (en) * 2017-08-29 2019-03-06 Thomson Licensing Methods and apparatus for improved compression/decompression using frame rate up conversion tools
WO2019083120A1 (ko) * 2017-10-23 2019-05-02 엘지전자 주식회사 360도 비디오에 대한 영상 코딩 시스템에서 회전된 360도 비디오를 프로젝션하여 도출된 참조 픽처를 사용한 영상 디코딩 방법 및 장치
US10904577B2 (en) * 2018-02-07 2021-01-26 Mediatek Inc. Video compression system with post-processing of bitstream generated by hardware video encoding and associated video compression method
US11830225B2 (en) * 2018-05-30 2023-11-28 Ati Technologies Ulc Graphics rendering with encoder feedback
CN110620932B (zh) 2018-06-19 2022-11-08 北京字节跳动网络技术有限公司 依赖模式的运动矢量差精度集
EP4164227A1 (en) * 2018-09-12 2023-04-12 Huawei Technologies Co., Ltd. A video encoder, a video decoder and corresponding methods
CN110933420B (zh) 2018-09-19 2023-09-01 北京字节跳动网络技术有限公司 仿射模式中自适应运动矢量分辨率的快速算法
EP3854099A4 (en) * 2018-09-21 2022-06-29 Sharp Kabushiki Kaisha Systems and methods for signaling reference pictures in video coding
WO2020112488A1 (en) * 2018-11-30 2020-06-04 Futurewei Technologies, Inc. Signaling of reference picture lists in video coding
CN113170203A (zh) * 2018-12-10 2021-07-23 夏普株式会社 用于在视频编码中发送信号通知参考图片的系统和方法
EP3895429A4 (en) 2019-01-31 2022-08-10 Beijing Bytedance Network Technology Co., Ltd. CONTEXT FOR CODE AN ADAPTIVE MOTION VECTOR RESOLUTION IN AFFINE MODE
CN113382254B (zh) * 2019-06-21 2022-05-17 杭州海康威视数字技术股份有限公司 一种编解码方法、装置、设备及存储介质
KR20220055500A (ko) * 2019-09-24 2022-05-03 후아웨이 테크놀러지 컴퍼니 리미티드 픽처 레벨에서 논-픽처-레벨 신택스 요소의 시그널링
CN110602500A (zh) * 2019-10-11 2019-12-20 西安万像电子科技有限公司 数据更新方法及系统
KR20220143030A (ko) * 2020-02-19 2022-10-24 바이트댄스 아이엔씨 비트스트림의 일반 제약 정보에서 예측 가중치들의 시그널링
US11303927B2 (en) * 2020-03-17 2022-04-12 Sharp Kabushiki Kaisha Video decoding apparatus and video coding apparatus
WO2021204137A1 (en) 2020-04-07 2021-10-14 Beijing Bytedance Network Technology Co., Ltd. Clipping operation for reference picture wrap around
WO2021204233A1 (en) 2020-04-09 2021-10-14 Beijing Bytedance Network Technology Co., Ltd. Constraints on adaptation parameter set based on color format
WO2021204251A1 (en) 2020-04-10 2021-10-14 Beijing Bytedance Network Technology Co., Ltd. Use of header syntax elements and adaptation parameter set
WO2021209061A1 (en) 2020-04-17 2021-10-21 Beijing Bytedance Network Technology Co., Ltd. Presence of adaptation parameter set units
EP4128775A4 (en) * 2020-04-26 2024-03-27 Bytedance Inc CONDITIONAL SIGNALING OF SYNTAX ELEMENTS OF A VIDEO CODING

Family Cites Families (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6956545B2 (en) 2001-10-08 2005-10-18 Imagearray, Ltd. Digital playback device
US7369709B2 (en) 2003-09-07 2008-05-06 Microsoft Corporation Conditional lapped transform
US20060083298A1 (en) 2004-10-14 2006-04-20 Nokia Corporation Reference picture management in video coding
MX2008000906A (es) 2005-07-21 2008-03-18 Thomson Licensing Metodo y aparato para la prediccion ponderada para la codificacion escalable de video.
EP1806930A1 (en) 2006-01-10 2007-07-11 Thomson Licensing Method and apparatus for constructing reference picture lists for scalable video
WO2007114608A1 (en) 2006-03-30 2007-10-11 Lg Electronics Inc. A method and apparatus for decoding/encoding a video signal
KR101350591B1 (ko) 2006-07-06 2014-01-14 톰슨 라이센싱 멀티뷰 비디오 인코딩 및 디코딩을 위해 프레임 넘버 및/또는 픽쳐 오더 카운트를 분리시키는 방법 및 장치
US8532178B2 (en) 2006-08-25 2013-09-10 Lg Electronics Inc. Method and apparatus for decoding/encoding a video signal with inter-view reference picture list construction
BRPI0716957A2 (pt) 2006-10-13 2013-10-29 Thomson Licensing Sintaxe de gerenciamento de lista de imagens de referência para codificação de vídeo de múltiplas vistas
JP5116175B2 (ja) 2006-10-13 2013-01-09 トムソン ライセンシング 多視点ビデオ符号化を含む参照ピクチャの管理方法
KR101120648B1 (ko) 2006-10-16 2012-03-23 노키아 코포레이션 멀티뷰 비디오 코딩에서 효율적인 디코딩된 버퍼 관리를 구현하기 위한 시스템 및 방법
JP5156088B2 (ja) * 2007-03-23 2013-03-06 エルジー エレクトロニクス インコーポレイティド ビデオ信号のデコーディング/エンコーディング方法及び装置
CN101785317B (zh) * 2007-08-15 2013-10-16 汤姆逊许可证公司 使用区域视差向量的多视角编码视频中的运动跳过模式的方法和装置
BRPI0818444A2 (pt) * 2007-10-12 2016-10-11 Qualcomm Inc codificação adaptativa de informação de cabeçalho de bloco de vídeo
EP2213097A2 (en) 2007-10-16 2010-08-04 Cisco Technology, Inc. Conveyance of concatenation properties and picture orderness in a video stream
WO2009130561A1 (en) 2008-04-21 2009-10-29 Nokia Corporation Method and device for video coding and decoding
WO2010086500A1 (en) 2009-01-28 2010-08-05 Nokia Corporation Method and apparatus for video coding and decoding
US8189666B2 (en) 2009-02-02 2012-05-29 Microsoft Corporation Local picture identifier and computation of co-located information
EP2413606B1 (en) 2009-03-26 2018-05-02 Sun Patent Trust Decoding method, decoding device
US20100246683A1 (en) 2009-03-27 2010-09-30 Jennifer Lois Harmon Webb Error Resilience in Video Decoding
US20120106634A1 (en) * 2009-04-21 2012-05-03 Lg Electronics Inc. Method and apparatus for processing multi-view video signal
US8933989B2 (en) * 2009-04-22 2015-01-13 Lg Electronics Inc. Reference picture list changing method of multi-view video
KR101621907B1 (ko) 2010-02-02 2016-05-17 삼성전자주식회사 디스플레이 장치, 3d 영상 제공 방법 및 3d 영상 제공 시스템
US20110222837A1 (en) 2010-03-11 2011-09-15 Cisco Technology, Inc. Management of picture referencing in video streams for plural playback modes
US8806050B2 (en) * 2010-08-10 2014-08-12 Qualcomm Incorporated Manifest file updates for network streaming of coded multimedia data
WO2012031628A1 (en) * 2010-09-09 2012-03-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Entropy encoding and decoding scheme
EP2630799A4 (en) 2010-10-20 2014-07-02 Nokia Corp METHOD AND DEVICE FOR VIDEO CODING AND DECODING
US9008176B2 (en) 2011-01-22 2015-04-14 Qualcomm Incorporated Combined reference picture list construction for video coding
US20120195364A1 (en) 2011-01-31 2012-08-02 Apple Inc. Dynamic mode search order control for a video encoder
US20120294366A1 (en) 2011-05-17 2012-11-22 Avi Eliyahu Video pre-encoding analyzing method for multiple bit rate encoding system
KR101813768B1 (ko) 2011-06-30 2017-12-29 텔레폰악티에볼라겟엘엠에릭슨(펍) 레퍼러스 픽처 시그널링
AU2012276349A1 (en) 2011-06-30 2014-01-16 Telefonaktiebolaget L M Ericsson (Publ) Absolute or explicit reference picture signaling
US20130003823A1 (en) 2011-07-01 2013-01-03 Kiran Misra System for initializing an arithmetic coder
CN107635139B (zh) 2011-09-22 2023-01-24 Lg 电子株式会社 用信号发送图像信息的方法和装置,以及使用其的解码方法和装置
US9420307B2 (en) 2011-09-23 2016-08-16 Qualcomm Incorporated Coding reference pictures for a reference picture set
US8768079B2 (en) 2011-10-13 2014-07-01 Sharp Laboratories Of America, Inc. Tracking a reference picture on an electronic device
US8855433B2 (en) 2011-10-13 2014-10-07 Sharp Kabushiki Kaisha Tracking a reference picture based on a designated picture on an electronic device
US20130094774A1 (en) 2011-10-13 2013-04-18 Sharp Laboratories Of America, Inc. Tracking a reference picture based on a designated picture on an electronic device
US9277219B2 (en) 2011-10-24 2016-03-01 Telefonaktiebolaget L M Ericsson (Publ) Encoder and decoder and methods thereof for encoding/decoding a picture of a video sequence
SG10201801332XA (en) 2011-10-28 2018-04-27 Samsung Electronics Co Ltd Method for inter prediction and device therefor, and method for motion compensation and device therefor
US10003817B2 (en) 2011-11-07 2018-06-19 Microsoft Technology Licensing, Llc Signaling of state information for a decoded picture buffer and reference picture lists
PL3016391T3 (pl) * 2012-01-17 2017-09-29 Telefonaktiebolaget Lm Ericsson (Publ) Obsługa listy obrazów referencyjnych
TWI616087B (zh) * 2012-01-31 2018-02-21 Vid衡器股份有限公司 可縮放高效率視訊編碼(hevc)參考圖集(rps)傳訊
US9369710B2 (en) * 2012-02-06 2016-06-14 Qualcomm Incorporated Reference picture list modification for video coding
KR101456501B1 (ko) 2012-04-15 2014-11-03 삼성전자주식회사 참조픽처리스트 변경이 가능한 인터 예측 방법과 그 장치
US20130343465A1 (en) * 2012-06-26 2013-12-26 Qualcomm Incorporated Header parameter sets for video coding
US9167248B2 (en) * 2012-07-13 2015-10-20 Qualcomm Incorporated Reference picture list modification for video coding
US9398284B2 (en) * 2012-08-16 2016-07-19 Qualcomm Incorporated Constructing reference picture lists for multi-view or 3DV video coding
US9438898B2 (en) * 2012-09-07 2016-09-06 Vid Scale, Inc. Reference picture lists modification
US9667984B2 (en) 2012-09-28 2017-05-30 Dolby International Ab Image decoding device and image coding device
US9313500B2 (en) 2012-09-30 2016-04-12 Microsoft Technology Licensing, Llc Conditional signalling of reference picture list modification information

Also Published As

Publication number Publication date
US20230412836A1 (en) 2023-12-21
KR20150067157A (ko) 2015-06-17
US9313500B2 (en) 2016-04-12
KR20230092029A (ko) 2023-06-23
US20190116379A1 (en) 2019-04-18
US20210235116A1 (en) 2021-07-29
US20160191949A1 (en) 2016-06-30
CN104662906B (zh) 2018-01-02
KR20210062101A (ko) 2021-05-28
US20200204825A1 (en) 2020-06-25
KR20200122403A (ko) 2020-10-27
US10165302B2 (en) 2018-12-25
CN104662906A (zh) 2015-05-27
ES2860448T3 (es) 2021-10-05
KR102344167B1 (ko) 2021-12-27
JP2015534776A (ja) 2015-12-03
KR20210158423A (ko) 2021-12-30
US11770553B2 (en) 2023-09-26
US20220329851A1 (en) 2022-10-13
US11778229B2 (en) 2023-10-03
US11405636B2 (en) 2022-08-02
KR102168743B1 (ko) 2020-10-22
US20220329850A1 (en) 2022-10-13
US20170318309A1 (en) 2017-11-02
US20220321908A1 (en) 2022-10-06
KR102545525B1 (ko) 2023-06-20
US20140092991A1 (en) 2014-04-03
US11012709B2 (en) 2021-05-18
TWI612803B (zh) 2018-01-21
WO2014052249A1 (en) 2014-04-03
KR102257187B1 (ko) 2021-05-27
KR102463986B1 (ko) 2022-11-07
US11770554B2 (en) 2023-09-26
US10560720B2 (en) 2020-02-11
AR097227A1 (es) 2016-03-02
TW201431354A (zh) 2014-08-01
KR20220153104A (ko) 2022-11-17
EP2901699B1 (en) 2021-03-03
EP3840383A1 (en) 2021-06-23
US9762928B2 (en) 2017-09-12
EP2901699A1 (en) 2015-08-05

Similar Documents

Publication Publication Date Title
US11770553B2 (en) Conditional signalling of reference picture list modification information
JP6359101B2 (ja) ビデオ及び画像の符号化及び復号のためのイントラブロックコピー予測モードの特徴
JP6355744B2 (ja) ビデオ及び画像符号化/デコーディングにおけるブロックベクトル予測
KR102318785B1 (ko) 비디오 및 영상 코딩 및 디코딩에 대한 기본 색상 인덱스 맵 모드의 특징

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160816

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160816

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170516

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170814

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20171102

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: 20180227

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20180320

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180402

R150 Certificate of patent or registration of utility model

Ref document number: 6318158

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250