JP2014511652A - ビデオコーデックにおけるバッファ管理 - Google Patents

ビデオコーデックにおけるバッファ管理 Download PDF

Info

Publication number
JP2014511652A
JP2014511652A JP2013557805A JP2013557805A JP2014511652A JP 2014511652 A JP2014511652 A JP 2014511652A JP 2013557805 A JP2013557805 A JP 2013557805A JP 2013557805 A JP2013557805 A JP 2013557805A JP 2014511652 A JP2014511652 A JP 2014511652A
Authority
JP
Japan
Prior art keywords
picture
order value
odr
display order
decoding
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
JP2013557805A
Other languages
English (en)
Other versions
JP5859581B2 (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 JP2014511652A publication Critical patent/JP2014511652A/ja
Application granted granted Critical
Publication of JP5859581B2 publication Critical patent/JP5859581B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • H04N19/426Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods
    • 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
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream

Landscapes

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

Abstract

一例では、ビデオデコーダは、ビデオデータのオープン復号リフレッシュ(ODR)ピクチャに関連するデータから、ビデオデータの前のピクチャの識別子を判断することと、前のピクチャが参照ピクチャメモリに現在記憶されているかどうかを判断することと、前のピクチャが参照ピクチャメモリに記憶されていないとき、ODRピクチャの表示順序値よりも大きい表示順序値を有するビデオデータのピクチャのデータのみを復号することとを行うように構成される。別の例では、ビデオエンコーダは、オープン復号リフレッシュ(ODR)ピクチャを符号化することと、ODRピクチャの表示順序値よりも小さい表示順序値を有し、0に等しい時間識別子値を有する、前にコーディングされたピクチャを判断することと、判断された前にコーディングされたピクチャの識別子を表すODRピクチャのシンタックスデータをシグナリングすることとを行うように構成される。

Description

本出願は、その全体が参照により本明細書に組み込まれる、2011年3月8日に出願された米国仮出願第61/450,572号の利益を主張する。
本開示は、ビデオコーディングに関する。
デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(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)規格によって定義された規格、およびそのような規格の拡張に記載されているビデオコーディング技法など、ビデオコーディング技法を実装する。ビデオデバイスは、そのようなビデオコーディング技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および/または記憶し得る。
ビデオコーディング技法は、ビデオシーケンスに固有の冗長性を低減または除去するための空間的(イントラピクチャ)予測および/または時間的(インターピクチャ)予測を含む。ブロックベースのビデオコーディングの場合、ビデオスライス(たとえば、ビデオピクチャまたはビデオピクチャの一部分)が、ツリーブロック、コーディングユニット(CU:coding unit)および/またはコーディングノードと呼ばれることもあるビデオブロックに区分され得る。ピクチャのイントラコード化(I)スライス中のビデオブロックは、同じピクチャ中の隣接ブロック内の参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコード化(PまたはB)スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間的予測、または他の参照ピクチャ中の参照サンプルに対する時間的予測を使用し得る。ピクチャはピクチャと呼ばれることがあり、参照ピクチャは参照ピクチャと呼ばれることがある。
空間的予測または時間的予測は、コーディングされるべきブロックの予測ブロックを生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトル、およびコード化ブロックと予測ブロックとの間の差分を示す残差データに従って符号化される。イントラコード化ブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて、残差変換係数が得られ得、その残差変換係数は、次いで量子化され得る。量子化変換係数は、最初は2次元アレイで構成され、変換係数の1次元ベクトルを生成するために走査され得、なお一層の圧縮を達成するために、エントロピーコーディングが適用され得る。
概して、本開示では、ピクチャがランダムアクセスのために使用されるときの、復号ピクチャバッファ(DPB:decoded picture buffer)などの参照ピクチャメモリの管理の改善のための技法について説明する。特に、本開示の技法は、オープン復号リフレッシュ(ODR:open decoding refresh)ピクチャがランダムアクセスポイント(RAP:random access point)として使用されているかどうかを判断することと、後続のピクチャをコーディング順序で選択的に復号することとを対象とする。そのような技法は、DPBから参照のためにもはや必要とされないピクチャを廃棄することによってDPB性能およびストレージ管理を改善し得る。本開示の技法によれば、復号されるべき現在ピクチャがODRピクチャであるとビデオデコーダが判断したとき、ビデオデコーダは、そのODRピクチャがランダムアクセスのために使用されるかどうかを判断し得る。ビデオデコーダは、たとえば、ビデオ復号において使用されるDPBが、ODRピクチャの表示順序よりも小さい特定の表示順序値を有する参照ピクチャを含むかどうかを判断し得る。表示順序値は、ODRピクチャのシンタックス要素としてシグナリングされ得る。シグナリングされた表示順序値に対応する参照ピクチャがDPBにないとき、ビデオデコーダは、ODRピクチャがランダムアクセスのために使用されると判断し得る。ODRピクチャは、HEVCにおけるクリーンランダムアクセス(CRA:Clean Random Access)ピクチャと概念的に同じであり得る。
ビデオデコーダは、したがって、ODRピクチャがランダムアクセスのために使用されるとき、DPB中に現在含まれるピクチャを、後続のピクチャのさらなる復号のための参照のために使用されないとマークし得る。このようにして、ビデオデコーダは、使用されないピクチャをDPBから削除し、それによってDPBのストレージ管理を潜在的に改善し得る。本開示の技法はまた、ビデオデコーダが、ランダムアクセスのために使用されるODRの表示順序よりも大きい表示順序を有する後続のピクチャのみを復号することを可能にし得る。このようにして、ODRの表示順序よりも大きい表示順序をもつ後続のピクチャのみを復号することによって、ビデオデコーダは、ODRピクチャの表示順序値よりも小さい表示順序値を有するピクチャのデータを出力することをスキップし得る。本開示の技法は、したがって、表示されないかまたはさらなる復号のための参照ピクチャとして使用されないピクチャを復号するのを控えることによってビデオデコーダの性能を改善し得、それにより、モバイルデバイスまたは他のバッテリー電源式コーディングデバイスにおける処理効率が改善されおよび/またはバッテリー消耗が低減され得る。
一例では、方法は、ビデオデータのオープン復号リフレッシュ(ODR)ピクチャがランダムアクセスポイントとして使用されていると判断することを含む。たとえば、本方法は、は、ビデオデータのオープン復号リフレッシュ(ODR)ピクチャに関連するデータから、ビデオデータの前のピクチャの識別子を判断することを含み得る。本方法はまた、前のピクチャが参照ピクチャメモリに現在記憶されているかどうかを判断することを含み得る。本方法はさらに、前のフレームが参照フレームメモリに記憶されていないとき、ODRピクチャの表示順序値よりも大きい表示順序値を有するビデオデータのピクチャのデータのみを復号することを含み得る。本方法はまた、ODRピクチャの表示順序値よりも小さい表示順序値と、ODRピクチャの復号順序値よりも大きい復号順序値とを有するピクチャのデータの出力をスキップすることを含み得る。
別の例では、ビデオデータを復号するための装置は、ビデオデータのオープン復号リフレッシュ(ODR)ピクチャがランダムアクセスポイントとして使用されていると判断するように構成されたビデオデコーダを含む。たとえば、ビデオデコーダは、ビデオデータのオープン復号リフレッシュ(ODR)ピクチャに関連するデータから、ビデオデータの前のピクチャの識別子を判断することと、前のピクチャが参照ピクチャメモリに現在記憶されているかどうかを判断することと、前のピクチャが参照ピクチャメモリに記憶されていないとき、ODRピクチャの表示順序値よりも大きい表示順序値を有するビデオデータのピクチャのデータのみを復号することとを行うように構成され得る。ビデオデコーダはまた、ODRピクチャの表示順序値よりも小さい表示順序値と、ODRピクチャの復号順序値よりも大きい復号順序値とを有するピクチャのデータを出力することをスキップするように構成され得る。
別の例では、コンピュータプログラム製品は、実行されたとき、ビデオデータのオープン復号リフレッシュ(ODR)ピクチャがランダムアクセスポイントとして使用されていると判断することを、ビデオデータを復号するためのデバイスのプロセッサに行わせる命令を記憶したコンピュータ可読記憶媒体を含む。たとえば、コンピュータ可読記憶媒体は、実行されたとき、ビデオデータのオープン復号リフレッシュ(ODR)ピクチャに関連するデータから、ビデオデータの前のピクチャの識別子を判断することと、前のピクチャが参照ピクチャメモリに現在記憶されているかどうかを判断することと、前のピクチャが参照ピクチャメモリに記憶されていないとき、ODRピクチャの表示順序値よりも大きい表示順序値を有するビデオデータのピクチャのデータのみを復号することとを、デバイスのプロセッサに行わせる命令を含み得る。コンピュータ可読記憶媒体はまた、実行されたとき、ODRピクチャの表示順序値よりも小さい表示順序値と、ODRピクチャの復号順序値よりも大きい復号順序値とを有するピクチャのデータを出力することをスキップすることをデバイスのプロセッサに行わせる命令を含み得る。
別の例では、ビデオデータを復号するための装置は、ビデオデータのオープン復号リフレッシュ(ODR)ピクチャがランダムアクセスポイントとして使用されていると判断するための手段を含む。たとえば、本装置は、ビデオデータのオープン復号リフレッシュ(ODR)ピクチャに関連するデータから、ビデオデータの前のピクチャの識別子を判断するための手段と、前のピクチャが参照ピクチャメモリに現在記憶されているかどうかを判断するための手段と、前のピクチャが参照ピクチャメモリに記憶されていないとき、ODRピクチャの表示順序値よりも大きい表示順序値を有するビデオデータのピクチャのデータのみを復号するための手段とを含み得る。本装置はさらに、ODRピクチャの表示順序値よりも小さい表示順序値と、ODRピクチャの復号順序値よりも大きい復号順序値とを有するピクチャのデータの出力をスキップするための手段を含み得る。
別の例では、ビデオデータを符号化する方法は、オープン復号リフレッシュ(ODR)ピクチャを符号化することと、ODRピクチャの表示順序値よりも小さい表示順序値を有し、0に等しい時間識別子値を有する、前にコーディングされたピクチャを判断することと、判断された前にコーディングされたピクチャの識別子に基づいて、ODRピクチャがランダムアクセスのために使用されているかどうかを判断することをビデオデコーダに行わせるために、判断された前にコーディングされたピクチャの識別子を表すODRピクチャのシンタックスデータをシグナリングすることとを含む。
別の例では、ビデオデータを符号化するための装置は、オープン復号リフレッシュ(ODR)ピクチャを符号化することと、ODRピクチャの表示順序値よりも小さい表示順序値を有し、0に等しい時間識別子値を有する、前にコーディングされたピクチャを判断することと、判断された前にコーディングされたピクチャの識別子に基づいて、ODRピクチャがランダムアクセスのために使用されているかどうかを判断することをビデオデコーダに行わせるために、判断された前にコーディングされたピクチャの識別子を表すODRピクチャのシンタックスデータをシグナリングすることとを行うように構成される。
別の例では、コンピュータプログラム製品は、実行されたとき、オープン復号リフレッシュ(ODR)ピクチャを符号化することと、ODRピクチャの表示順序値よりも小さい表示順序値を有し、0に等しい時間識別子値を有する、前にコーディングされたピクチャを判断することと、判断された前にコーディングされたピクチャの識別子に基づいて、ODRピクチャがランダムアクセスのために使用されているかどうかを判断することをビデオデコーダに行わせるために、判断された前にコーディングされたピクチャの識別子を表すODRピクチャのシンタックスデータをシグナリングすることとを、ビデオデータを復号するためのデバイスのプロセッサに行わせる命令を記憶したコンピュータ可読記憶媒体を含む。
別の例では、ビデオデータを符号化するための装置は、オープン復号リフレッシュ(ODR)ピクチャを符号化するための手段と、ODRピクチャの表示順序値よりも小さい表示順序値を有し、0に等しい時間識別子値を有する、前にコーディングされたピクチャを判断するための手段と、判断された前にコーディングされたピクチャの識別子に基づいて、ODRピクチャがランダムアクセスのために使用されているかどうかを判断することをビデオデコーダに行わせるために、判断された前にコーディングされたピクチャの識別子を表すODRピクチャのシンタックスデータをシグナリングするための手段とを含む。
1つまたは複数の例の詳細を添付の図面および以下の説明に記載する。他の特徴、目的、および利点は、その説明および図面、ならびに特許請求の範囲から明らかになろう。
本開示の技法による、参照ピクチャメモリの管理の改善のための技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。 本開示の技法による、ピクチャがランダムアクセスのためにシグナリングされるときの、参照ピクチャメモリの管理の改善のための技法を実装し得るビデオエンコーダの一例を示すブロック図。 本開示の技法による、ピクチャがランダムアクセスのためにシグナリングされるときの、参照ピクチャメモリの管理の改善のための技法を実装し得るビデオデコーダの一例を示すブロック図。 本開示の技法による、クローズドピクチャグループ(GOP:group of pictures)を含むビデオフラグメントの一例を示す概念図。 本開示の技法による、オープン復号リフレッシュ(ODR)アクセスポイントを含むオープンGOPの一例を示す概念図。 本開示の技法による、ODRピクチャと、そのODRピクチャにおいて識別された、前に符号化されたピクチャとの概念図。 本開示の技法による、ビデオデコーダによって実装され得る動作を示すフローチャート。 本開示の技法による、ビデオデコーダによって実行され得る例示的な動作を示す図。 本開示の技法による、ビデオデコーダによって実行され得る例示的な動作を示す図。 本開示のランダムアクセス技法を可能にするために、ODRピクチャのシンタックスデータ中で前のピクチャをシグナリングするためにビデオエンコーダによって実行され得る動作を示す図。
概して、本開示では、ランダムアクセスピクチャがランダムアクセスのために使用されるときの、復号ピクチャバッファ(DPB)などの参照ピクチャメモリの管理の改善のための技法について説明する。いくつかの例では、本開示の技法は、DPB性能およびストレージ管理を改善するために、オープン復号リフレッシュ(ODR)ピクチャがランダムアクセスのために使用されているかどうかを判断することと、後続のピクチャを選択的に復号することとを対象とする。その上、ODRピクチャがランダムアクセスのために使用されるとき、これらの技法は、デコーダが、ビットストリーム中の後続のピクチャが適切に復号され得るかどうかを判断することを可能にする。ランダムアクセスピクチャの一例は瞬時復号リフレッシュ(IDR:instantaneous decoding refresh)ピクチャである。IDRピクチャは、クローズドピクチャグループ(GOP)の単独で復号可能なIピクチャである。クローズドGOPは、正しく復号可能であるべき、復号順序またはプレゼンテーション順序のいずれかでGOPより前のピクチャに依存するピクチャを含まないビデオ表現のピクチャのグルーピングである。オープンGOPは、出力順序で最初のイントラピクチャに先行するピクチャが正しく復号可能でないことがあるピクチャグループである。たとえば、オープンGOPは、オープンGOPに先行する少なくとも1つのピクチャのコンテンツに少なくとも部分的に依存する1つまたは複数のピクチャを含み得る。
ODRピクチャは、オープンGOP中に含まれるランダムアクセスポイントに対応し得る。いくつかの例では、ODRピクチャはIピクチャであり得、復号順序と出力順序の両方でODRピクチャに後続するすべてのコード化ピクチャは、復号順序または出力順序のいずれかでODRピクチャに先行するどのピクチャからもインター予測を使用せず、復号順序でODRピクチャに先行するどのピクチャも同じく出力順序でODRピクチャに先行する。ODRピクチャはランダムアクセスのために使用され得るが、コーディング順序でODRピクチャに後続するオープンGOP中のピクチャのうちのいくつかは、復号がODRピクチャから開始するとき、正しく復号可能でないことがある。いくつかの例では、オープンGOPのIピクチャは、ビデオ表現の再生の開始のためのランダムアクセスポイント(RAP)として使用され得る。
ビデオエンコーダが、より複雑な予測構造、たとえば、階層Bピクチャコーディング構造を使用するとき、より多くのピクチャがODRピクチャとしてコーディングされ、それにより、ランダムアクセス動作に潜在的な複雑さがもたらされ得る。たとえば、ユーザがあるピクチャから別のピクチャにシークしているとき、従来のビデオデコーダは、ビットストリーム中のビデオデータが連続的に復号されることを予想するように構成される。したがって、ランダムアクセスのために使用されるODRから復号を開始するときなどに起こり得る、ビットストリームが連続的に復号されないとき、ビデオデコーダは、復号順序ですべてのピクチャを復号することを試み得る。従来、ODRピクチャがランダムアクセスポイントとして使用される場合、正しく復号されないことがある復号順序でODRピクチャに後続する先行ピクチャ(leading picture)が存在する。それらの先行ピクチャは復号のために必要とされないことがある。しかしながら、ビットストリームが通常通り復号される場合、先行ピクチャは復号される必要があり得る。復号ステータスを知らなければ、それらのピクチャが復号されるべきか否かを知ることが可能でないことがある。ODRピクチャから復号を開始するとき、たとえば、先行ピクチャに関連するいくつかの明示的または暗黙的参照ピクチャマーキングプロセスが呼び出されないので、参照ピクチャメモリ中のピクチャは、従来では、参照のために使用されないとマークされないことがある。これは、非効率的なメモリ管理につながり得る。しかしながら、本開示の技法は、たとえば、本来なら記憶されているが参照および/またはいくつかのピクチャのデータの出力をスキップするために使用されないであろう参照ピクチャをDPBから廃棄するために、正しく復号され得ないピクチャを示すためにビデオデコーダによって使用可能な情報、ならびにDPBをより効率的に管理するための情報を提供する。
したがって、本開示のいくつかの例示的な技法では、デコーダは、オープンGOPの他のピクチャを復号するために必要とされるピクチャがDPB中に存在するかどうかを判断するための自動ステータス検査を実行し得る。たとえば、ビデオデコーダは、ランダムアクセスのために使用される、復号されるべきODRピクチャを含むネットワークアブストラクションレイヤ(NAL:network abstraction layer)ユニットを初めに受信し得る。NALユニットが、実際は、連続順序で復号されるべき次のNALユニットであるとき、オープンGOPのピクチャがその上でNALユニット中に含まれる参照ピクチャが、ビデオデコーダのDPB中に存在しなければならない。一方、オープンGOPのピクチャがその上でNALユニット中に含まれる参照ピクチャがDPB中に存在しないとき、たとえば、ユーザが、ビデオデータの順が狂った時間ロケーションをシークするとき、ビデオデコーダは、NALユニット中のオープンGOPのODRピクチャがランダムアクセスのために使用されていると判断するように構成され得る。本開示の技法によれば、NALユニットは、前のGOP、すなわち、ビットストリーム中で現在GOPに先行するGOPからピクチャを識別する情報を含み得る。シグナリングされたピクチャがDPB中に存在する場合、ビデオデコーダは、ODRピクチャがランダムアクセスポイントのために使用されないと判断し得る。
参照ピクチャがDPB中に存在しない場合、ビデオデコーダは、本開示の技法に従って、ODRピクチャがランダムアクセスポイントとして使用されると判断し、ODRランダムアクセスステータスをアクティブにする。ビデオデコーダは、したがって、ランダムアクセスステータスがアクティブにされているとき、DPB中に含まれる現在ピクチャを、後続のピクチャの復号中の参照のために使用されないとマークし得る。このようにして、ビデオデコーダは、使用されないピクチャをDPBから削除し、それによってDPBのストレージ管理を改善し得る。本開示の技法はまた、ビデオデコーダが、ランダムアクセスのために使用されるODRの表示順序値よりも大きい表示順序値を有する、復号順序でODRピクチャに後続するピクチャのみを復号することを可能にし得る。したがって、いくつかの例では、本開示の技法は、ビデオデコーダが、ODRピクチャの表示順序値よりも小さい表示順序値と、ODRピクチャの復号順序値よりも大きい復号順序値とを有するピクチャの出力をスキップすることを可能にする。このようにして、本開示の技法は、正しく復号され得ないピクチャを復号し、出力することを試みるのを控えることによってビデオコーデックの性能を改善し得る。
図1は、ピクチャがランダムアクセスのためにシグナリングされるときの、復号ピクチャバッファ(DPB)など、参照ピクチャメモリの管理の改善のための技法を利用し得る例示的なビデオ符号化および復号システム10を示すブロック図である。図1に示すように、システム10は、宛先デバイス14によって後で復号されるべき符号化ビデオデータを与えるソースデバイス12を含む。特に、ソースデバイス12は、コンピュータ可読媒体16を介してビデオデータを宛先デバイス14に与える。ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかを備え得る。場合によっては、ソースデバイス12および宛先デバイス14は、ワイヤレス通信のために装備され得る。
宛先デバイス14は、コンピュータ可読媒体16を介して復号されるべき符号化ビデオデータを受信し得る。コンピュータ可読媒体16は、符号化ビデオデータをソースデバイス12から宛先デバイス14に移動することが可能な任意のタイプの媒体またはデバイスを備え得る。一例では、コンピュータ可読媒体16は、ソースデバイス12が、符号化ビデオデータを宛先デバイス14にリアルタイムで直接送信することを可能にするための通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス14に送信され得る。通信媒体は、無線周波数(RF)スペクトルあるいは1つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信媒体は、ソースデバイス12から宛先デバイス14への通信を可能にするために有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。
いくつかの例では、符号化データは、出力インターフェース22からストレージデバイスに出力され得る。同様に、符号化データは、入力インターフェースによってストレージデバイスからアクセスされ得る。ストレージデバイスは、ハードドライブ、ブルーレイ(登録商標)ディスク、DVD、CD−ROM、フラッシュメモリ、揮発性または不揮発性メモリ、あるいは符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体など、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる一例では、ストレージデバイスは、ソースデバイス12によって生成された符号化ビデオを記憶し得るファイルサーバまたは別の中間ストレージデバイスに対応し得る。宛先デバイス14は、ストリーミングまたはダウンロードを介してストレージデバイスから、記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先デバイス14に送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバは、(たとえば、ウェブサイトのための)ウェブサーバ、FTPサーバ、ネットワーク接続ストレージ(NAS)デバイス、またはローカルディスクドライブを含む。宛先デバイス14は、インターネット接続を含む、任意の標準のデータ接続を介して符号化ビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適であるワイヤレスチャネル(たとえば、Wi−Fi接続)、ワイヤード接続(たとえば、DSL、ケーブルモデムなど)、または両方の組合せを含み得る。ストレージデバイスからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組合せであり得る。
本開示の技法は、必ずしもワイヤレス適用例または設定に限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、動的適応ストリーミングオーバーHTTP(DASH:dynamic adaptive streaming over HTTP)などのインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されたデジタルビデオ、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および/またはビデオテレフォニーなどの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
図1の例では、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、出力インターフェース22とを含む。宛先デバイス14は、入力インターフェース28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。本開示によれば、ソースデバイス12のビデオエンコーダ20は、ODRピクチャがランダムアクセスのために使用されるときの、復号ピクチャバッファ(DPB)の管理の改善のための技法を適用するように構成され得る。他の例では、ソースデバイスおよび宛先デバイスは他の構成要素または構成を含み得る。たとえば、ソースデバイス12は、外部カメラなど、外部ビデオソース18からビデオデータを受信し得る。同様に、宛先デバイス14は、内蔵ディスプレイデバイスを含むのではなく、外部ディスプレイデバイスとインターフェースし得る。
図1の図示のシステム10は一例にすぎない。ピクチャがランダムアクセスのために使用されるときの、復号ピクチャバッファ(DPB)の管理の改善のための技法は、任意のデジタルビデオ符号化および/または復号デバイスによって実行され得る。概して、本開示の技法はビデオ符号化デバイスによって実行されるが、本技法は、一般に「コーデック」と呼ばれるビデオエンコーダ/デコーダによっても実行され得る。その上、本開示の技法はまた、ビデオプリプロセッサによって実行され得る。ソースデバイス12および宛先デバイス14は、ソースデバイス12が宛先デバイス14に送信するためのコード化ビデオデータを生成する、そのようなコーディングデバイスの例にすぎない。いくつかの例では、デバイス12、14は、デバイス12、14の各々がビデオ符号化構成要素とビデオ復号構成要素とを含むように、実質的に対称的に動作し得る。したがって、システム10は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、またはビデオテレフォニーのために、ビデオデバイス12とビデオデバイス14との間の一方向または双方向のビデオ送信をサポートし得る。
ソースデバイス12のビデオソース18は、ビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、および/またはビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェースを含み得る。さらなる代替として、ビデオソース18は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。場合によっては、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、いわゆるカメラフォンまたはビデオフォンを形成し得る。ただし、上述のように、本開示で説明する技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび/またはワイヤード適用例に適用され得る。各場合において、キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成されたビデオは、ビデオエンコーダ20によって符号化され得る。符号化されたビデオ情報は、次いで、出力インターフェース22によってコンピュータ可読媒体16上に出力され得る。
コンピュータ可読媒体16は、ワイヤレスブロードキャストまたはワイヤードネットワーク送信などの一時媒体、あるいはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、ブルーレイディスク、または他のコンピュータ可読媒体などの記憶媒体(すなわち、非一時的記憶媒体)を含み得る。いくつかの例では、ネットワークサーバ(図示せず)は、ソースデバイス12から符号化ビデオデータを受信し、たとえば、ネットワーク送信を介して、その符号化ビデオデータを宛先デバイス14に与え得る。同様に、ディスクスタンピング設備など、媒体製造設備のコンピューティングデバイスは、ソースデバイス12から符号化ビデオデータを受信し、その符号化ビデオデータを含んでいるディスクを生成し得る。したがって、コンピュータ可読媒体16は、様々な例において、様々な形態の1つまたは複数のコンピュータ可読媒体を含むことが理解されよう。
宛先デバイス14の入力インターフェース28は、コンピュータ可読媒体16から情報を受信する。コンピュータ可読媒体16の情報は、ビデオエンコーダ20によって定義され、またビデオデコーダ30によって使用される、ブロックおよび他のコード化ユニット、たとえば、GOPの特性および/または処理を記述するシンタックス要素を含む、シンタックス情報を含み得る。ディスプレイデバイス32は、復号されたビデオデータをユーザに対して表示し、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
ビデオエンコーダ20およびビデオデコーダ30は、現在開発中の高効率ビデオコーディング(HEVC)規格などのビデオコーディング規格に従って動作し得、HEVCテストモデル(HM)に準拠し得る。代替的に、ビデオエンコーダ20およびビデオデコーダ30は、代替的にMPEG−4,Part 10,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)などの他のプロトコルに準拠し得る。
ITU−T H.264/MPEG−4(AVC)規格は、Joint Video Team(JVT)として知られる共同パートナーシップの成果として、ISO/IEC Moving Picture Experts Group(MPEG)とともにITU−T Video Coding Experts Group(VCEG)によって策定された。いくつかの態様では、本開示で説明する技法は、H.264規格に概して準拠するデバイスに適用され得る。H.264規格は、ITU−T Study Groupによる2005年3月付けのITU−T勧告H.264「Advanced Video Coding for generic audiovisual services」に記載されており、本明細書ではH.264規格またはH.264仕様、あるいはH.264/AVC規格または仕様と呼ぶことがある。Joint Video Team(JVT)はH.264/MPEG−4 AVCへの拡張に取り組み続けている。
ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路のいずれか、あるいはそれらの任意の組合せとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、好適な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し、1つまたは複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実行し得る。ビデオエンコーダ20およびビデオデコーダ30の各々は1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも、それぞれのデバイスにおいて複合エンコーダ/デコーダ(コーデック)の一部として統合され得る。
JCT−VCは、HEVC規格の開発に取り組んでいる。HEVC規格化の取り組みは、HEVCテストモデル(HM)と呼ばれるビデオコーディングデバイスの発展的モデルに基づく。HMは、たとえば、ITU−T H.264/AVCに従う既存のデバイスに対してビデオコーディングデバイスのいくつかの追加の能力を仮定する。たとえば、H.264は9つのイントラ予測符号化モードを提供するが、HMは33個ものイントラ予測符号化モードを提供し得る。
概して、HMの作業モデルは、ビデオフレームまたはピクチャが、ルーマサンプルとクロマサンプルの両方を含む一連のツリーブロックまたは最大コーディングユニット(LCU:largest coding unit)に分割され得ることを記載している。ビットストリーム内のシンタックスデータが、ピクセルの数に関して最大コーディングユニットであるLCUのサイズを定義し得る。スライスは、コーディング順序でいくつかの連続的なツリーブロックを含む。ビデオフレームまたはピクチャは、1つまたは複数のスライスに区分され得る。各ツリーブロックは、クワッドツリーに従ってコーディングユニット(CU)に分割され得る。概して、クワッドツリーデータ構造はCUごとに1つのノードを含み、ルートノードはツリーブロックに対応する。CUが4つのサブCUに分割された場合、CUに対応するノードは4つのリーフノードを含み、リーフノードの各々はサブCUのうちの1つに対応する。
クワッドツリーデータ構造の各ノードは、対応するCUのシンタックスデータを与え得る。たとえば、クワッドツリーのノードは、そのノードに対応するCUがサブCUに分割されるかどうかを示す分割フラグを含み得る。CUのシンタックス要素は、再帰的に定義され得、CUがサブCUに分割されるかどうかに依存し得る。CUがさらに分割されない場合、そのCUはリーフCUと呼ばれる。本開示では、元のリーフCUの明示的分割が存在しない場合でも、リーフCUの4つのサブCUをリーフCUとも呼ぶ。たとえば、16×16サイズのCUがさらに分割されない場合、この16×16CUが決して分割されなくても、4つの8×8サブCUをリーフCUとも呼ぶ。
CUは、CUがサイズ差異を有さないことを除いて、H.264規格のマクロブロックと同様の目的を有する。たとえば、ツリーブロックは、4つの子ノード(サブCUとも呼ばれる)に分割され得、各子ノードは、今度は親ノードとなり、別の4つの子ノードに分割され得る。クワッドツリーのリーフノードと呼ばれる、最後の分割されていない子ノードは、リーフCUとも呼ばれるコーディングノードを備える。コード化ビットストリームに関連するシンタックスデータは、最大CU深さと呼ばれる、ツリーブロックが分割され得る最大回数を定義し得、また、コーディングノードの最小サイズを定義し得る。それに応じて、ビットストリームは最小コーディングユニット(SCU:smallest coding unit)をも定義し得る。本開示では、HEVCのコンテキストにおけるCU、PU、またはTU、あるいは他の規格のコンテキストにおける同様のデータ構造(たとえば、H.264/AVCにおけるマクロブロックおよびそれのサブブロック)のいずれかを指すために「ブロック」という用語を使用する。
CUは、コーディングノードと、そのコーディングノードに関連する予測ユニット(PU:prediction unit)および変換ユニット(TU:transform unit)とを含む。CUのサイズは、コーディングノードのサイズに対応し、形状が方形でなければならない。CUのサイズは、8×8ピクセルから最大64×64以上のピクセルをもつツリーブロックのサイズまでに及び得る。各CUは、1つまたは複数のPUと、1つまたは複数のTUとを含み得る。CUに関連するシンタックスデータは、たとえば、CUを1つまたは複数のPUに区分することを記述し得る。区分モードは、CUが、スキップモード符号化またはダイレクトモード符号化されるか、イントラ予測モード符号化されるか、あるいはインター予測モード符号化されるかの間で異なり得る。PUは、形状が非方形になるように区分され得る。CUに関連するシンタックスデータは、たとえば、クワッドツリーに従って、CUを1つまたは複数のTUに区分することも記述し得る。TUは、形状が方形または非方形(たとえば、矩形)であり得る。
HEVC規格は、CUごとに異なり得るTUに従う変換を可能にする。TUは、一般に、区分されたLCUについて定義された所与のCU内のPUのサイズに基づいてサイズ決定されるが、常にそうであるとは限らない。TUは、一般にPUと同じサイズであるかまたはPUよりも小さい。いくつかの例では、CUに対応する残差サンプルは、「残差クワッドツリー」(RQT:residual quad tree)として知られるクワッドツリー構造を使用して、より小さいユニットに再分割され得る。RQTのリーフノードは変換ユニット(TU)と呼ばれることがある。TUに関連するピクセル差分値は、変換されて変換係数が生成され得、その変換係数は量子化され得る。
リーフCUは、1つまたは複数の予測ユニット(PU)を含み得る。概して、PUは、対応するCUの全部または一部分に対応する空間的エリアを表し、そのPUの参照サンプルを取り出すためのデータを含み得る。その上、PUは、予測に関係するデータを含む。たとえば、PUがイントラモード符号化されるとき、PUのデータは、PUに対応するTUのイントラ予測モードを記述するデータを含み得る残差クワッドツリー(RQT)中に含まれ得る。別の例として、PUがインターモード符号化されるとき、PUは、PUのための1つまたは複数の動きベクトルを定義するデータを含み得る。PUの動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度(たとえば、1/4ピクセル精度もしくは1/8ピクセル精度)、動きベクトルが指す参照ピクチャ、および/または動きベクトルの参照ピクチャリスト(たとえば、リスト0、リスト1、もしくはリストC)を記述し得る。
1つまたは複数のPUを有するリーフCUはまた、1つまたは複数の変換ユニット(TU)を含み得る。変換ユニットは、上記で説明したように、(TUクワッドツリー構造とも呼ばれる)RQTを使用して指定され得る。たとえば、分割フラグは、リーフCUが4つの変換ユニットに分割されるかどうかを示し得る。次いで、各変換ユニットは、さらに、さらなるサブTUに分割され得る。TUがさらに分割されないとき、そのTUはリーフTUと呼ばれ得る。概して、イントラコーディングの場合、リーフCUに属するすべてのリーフTUは同じイントラ予測モードを共有する。すなわち、概して、リーフCUのすべてのTUの予測値を計算するために同じイントラ予測モードが適用される。イントラコーディングの場合、ビデオエンコーダは、イントラ予測モードを使用して各リーフTUの残差値を、TUに対応するCUの一部と元のブロックとの間の差分として計算し得る。TUは、必ずしもPUのサイズに制限されるとは限らない。したがって、TUはPUよりも大きくまたは小さくなり得る。イントラコーディングの場合、PUは、同じCUについて対応するリーフTUとコロケートされ得る。いくつかの例では、リーフTUの最大サイズは、対応するリーフCUのサイズに対応し得る。
その上、リーフCUのTUはまた、残差クワッドツリー(RQT)と呼ばれる、それぞれのクワッドツリーデータ構造に関連付けられ得る。すなわち、リーフCUは、リーフCUがどのようにTUに区分されるかを示すクワッドツリーを含み得る。TUクワッドツリーのルートノードは概してリーフCUに対応し、CUクワッドツリーのルートノードは概してツリーブロック(またはLCU)に対応する。分割されないRQTのTUはリーフTUと呼ばれる。概して、本開示では、特に明記しない限り、リーフCUおよびリーフTUに言及するためにそれぞれCUおよびTUという用語を使用する。
ビデオシーケンスは、一般に、一連のビデオフレームまたはピクチャを含む。ピクチャグループ(GOP)は、概して、ビデオピクチャのうちの一連の1つまたは複数を備える。GOPは、GOP中に含まれるいくつかのピクチャを記述するシンタックスデータを、GOPのヘッダ中、ピクチャのうちの1つまたは複数のヘッダ中、または他の場所に含み得る。各ピクチャのスライスは、それぞれのスライスの符号化モードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ20は、一般に、ビデオデータを符号化するために、個々のビデオスライス内のビデオブロックに対して動作する。ビデオブロックは、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に等しいとは限らない。
CUのPUを使用したイントラ予測コーディングまたはインター予測コーディングの後、ビデオエンコーダ20は、CUのTUのための残差データを計算し得る。PUは、(ピクセル領域とも呼ばれる)空間領域において予測ピクセルデータを生成する方法またはモードを記述するシンタックスデータを備え得、TUは、変換、たとえば、残差ビデオデータへの離散コサイン変換(DCT)、整数変換、ウェーブレット変換、または概念的に同様の変換の適用後に、変換領域において係数を備え得る。残差データは、符号化されていないピクチャのピクセルと、PUに対応する予測値との間のピクセル差分に対応し得る。ビデオエンコーダ20は、CUのための残差データを含むTUを形成し、次いで、TUを変換して、CUの変換係数を生成し得る。
変換係数を生成するための任意の変換の後に、ビデオエンコーダ20は、変換係数の量子化を実行し得る。量子化は、概して、さらなる圧縮を提供する、係数を表すために使用されるデータの量をできるだけ低減するために変換係数を量子化するプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深さを低減し得る。たとえば、量子化中にnビット値がmビット値に切り捨てられ得、ただし、nはmよりも大きい。
量子化の後に、ビデオエンコーダは、変換係数を走査して、量子化変換係数を含む2次元行列から1次元ベクトルを生成し得る。走査は、より高いエネルギー(したがってより低い周波数)の係数をアレイの前方に配置し、より低いエネルギー(したがってより高い周波数)の係数をアレイの後方に配置するように設計され得る。いくつかの例では、ビデオエンコーダ20は、エントロピー符号化され得るシリアル化ベクトルを生成するために、量子化変換係数を走査するためにあらかじめ定義された走査順序を利用し得る。他の例では、ビデオエンコーダ20は適応走査を実行し得る。量子化変換係数を走査して1次元ベクトルを形成した後に、ビデオエンコーダ20は、たとえば、コンテキスト適応型可変長コーディング(CAVLC:context-adaptive variable length coding)、コンテキスト適応型バイナリ算術コーディング(CABAC:context-adaptive binary arithmetic coding)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC:syntax-based context-adaptive binary arithmetic coding)、確率間隔区分エントロピー(PIPE:Probability Interval Partitioning Entropy)コーディング、または別のエントロピー符号化方法に従って1次元ベクトルをエントロピー符号化し得る。ビデオエンコーダ20はまた、ビデオデータを復号する際にビデオデコーダ30が使用するための符号化ビデオデータに関連するシンタックス要素をエントロピー符号化し得る。
CABACを実行するために、ビデオエンコーダ20は、送信されるべきシンボルに、コンテキストモデル内のコンテキストを割り当て得る。コンテキストは、たとえば、シンボルの隣接値が非0であるか否かに関係し得る。CAVLCを実行するために、ビデオエンコーダ20は、送信されるべきシンボルの可変長コードを選択し得る。VLCにおけるコードワードは、比較的短いコードが優勢シンボルに対応し、より長いコードが劣勢シンボルに対応するように構成され得る。このようにして、VLCの使用は、たとえば、送信されるべき各シンボルのために等長コードワードを使用するよりも、ビット節約を達成し得る。確率判断は、シンボルに割り当てられたコンテキストに基づき得る。
ビデオエンコーダ20はさらに、ブロックベースのシンタックスデータ、ピクチャベースのシンタックスデータ、およびGOPベースのシンタックスデータなどのシンタックスデータを、たとえば、ピクチャヘッダ、ブロックヘッダ、スライスヘッダ、またはGOPヘッダ中でビデオデコーダ30に送り得る。GOPシンタックスデータは、それぞれのGOP中のいくつかのピクチャを記述し得、ピクチャシンタックスデータは、対応するピクチャを符号化するために使用される符号化/予測モードを示し得る。
参照ピクチャメモリの管理を改善するための本開示の技法によれば、ビデオエンコーダ20は、いくつかの例では、初めにビデオソース18からビデオデータを受信する。ビデオエンコーダ20は、ビデオデータをピクチャに区分し得、それらのピクチャは、その後、ビデオエンコーダ20によって符号化され得る。いくつかの例では、ビデオエンコーダ20は、ピクチャグループ(GOP)としてピクチャを一緒にグループ化し得る。GOPは、ビデオシーケンスの(プレゼンテーション順序で)連続したピクチャのグルーピングとして表され得る。
GOP中に含まれるピクチャの表示順序は、ピクチャの復号順序とは異なり得る。たとえば、GOPは、Iピクチャ、Bピクチャ、またはPピクチャの任意の組合せを含み得る。イントラコード化ピクチャ(Iピクチャ)は、単独で復号可能であるピクチャであり、これは、Iピクチャを復号するために、デコーダが他のピクチャのコンテンツに依拠する必要がないことを意味する。Pピクチャは、一方向において1つまたは複数のピクチャに対してインターコーディングされ得る。Bピクチャは、2つの方向において1つまたは複数のピクチャに対してインターコーディングされ得る。GOPの外部のピクチャのコンテンツに依拠することなしに正しく復号可能であるピクチャのみを含むGOPは、クローズドGOPと見なされ得る。オープンGOPは、対照的に、正しく復号されるべきGOPの外部の他のピクチャに従属するピクチャを含む。本明細書でさらに説明する図4および図5に、クローズドGOP102およびオープンGOP152のさらなる詳細を示している。
ビデオデータをBまたはPピクチャとして符号化するために、ビデオエンコーダ20は、BまたはPピクチャが適切な符号化のために依存する参照ピクチャを参照ピクチャメモリに記憶し得る。参照ピクチャメモリに記憶された参照ピクチャは、復号順序で現在符号化されているピクチャに先行する符号化ピクチャを含み得る。ビデオエンコーダ20は、いくつかの例では、現在符号化されているピクチャが参照し得る1つまたは複数の好適な参照ピクチャを識別するために、参照ピクチャメモリ中で参照ピクチャを探索する。参照ピクチャメモリの例を、図2および図3にそれぞれ参照ピクチャメモリ64および82として示している。ビデオエンコーダ20と同様に、ビデオデコーダ30も参照ピクチャメモリを含み得る。ビデオデコーダ30は、BおよびPピクチャを復号するために、ビデオデコーダ30の参照ピクチャメモリに記憶された参照ピクチャを使用し得る。このように、ビデオエンコーダ20とビデオデコーダ30とによって使用される参照ピクチャメモリは、GOPのピクチャを符号化および復号するために使用され得る。
ソースデバイス12は、さらに、送信のための圧縮ビデオデータをいわゆる「ネットワークアブストラクションレイヤユニット」またはNALユニットにフォーマットし得るカプセル化ユニット(図示せず)を含み得る。各NALユニットは、NALユニットに記憶されるデータのタイプを識別するヘッダを含み得る。一般にNALユニットに記憶されるデータには2つのタイプがある。NALユニットに記憶されるデータの第1のタイプはビデオコーディングレイヤ(VCL:video coding layer)データであり、これは、ビデオデータのコード化スライスなどの圧縮ビデオデータを含む。NALユニットに記憶されるデータの第2のタイプは非VCLデータと呼ばれ、これは、多数のNALユニットに共通のヘッダデータを定義するパラメータセットなどの追加情報、および補足エンハンスメント情報(SEI:supplemental enhancement information)を含む。カプセル化ユニットは、形成されたNALユニットを、出力インターフェース22を介して宛先デバイス14に送り得る。
入力インターフェース28は、NALユニットを受信し得、NALユニットをカプセル化解除ユニット(図示せず)に受け渡し得る。いくつかの例では、カプセル化解除ユニットは、NALユニットからの符号化ビデオを、NALユニットが受信された順序でカプセル化解除する。カプセル化解除の後に、ビデオデコーダ30が、カプセル化解除ユニットから、カプセル化解除されたビデオデータを受信し得る。ビデオデコーダ30は、次いで、ディスプレイデバイス32における表示のためにビデオデータを復号する。たとえば、ビデオデコーダ30が、連続表示順序での表示のためにピクチャを復号するとき、ビデオデータ中に含まれるピクチャは復号され、復号されたピクチャは、次いで、ビデオデコーダ30の参照ピクチャメモリに記憶される。復号されたピクチャは、次いで、その後復号されるピクチャのための参照ピクチャとして使用され得る。参照ピクチャメモリは有限のストレージスペースを有し得るので、ビデオデコーダ30は、ピクチャを復号するためにもはや必要とされないとき、ピクチャを参照のために使用されないとマークし得る。ビデオデコーダ30は、したがって、もはや必要とされないとき、使用されない参照ピクチャを参照ピクチャメモリから削除し得る。このようにして、ビデオシーケンスのピクチャは、ビデオデコーダ30およびディスプレイデバイス32によって復号され、表示される。
概して、ビデオデコーダは、瞬時復号リフレッシュ(IDR)ピクチャに続いてビットストリーム全体を復号するように構成される。ただし、ビデオデコーダ30は、オープン復号リフレッシュ(ODR)ピクチャにおいて開始するビデオデータのシーケンスを復号することを開始するように構成され得る。これは、ランダムアクセス、たとえば、ユーザによるビデオシーケンスの特定の時間ロケーションへのシークに応答して生じ得る。ランダムにアクセスされるピクチャは、概して、ビットストリーム内で復号順序で前に復号されたピクチャの直後にこないピクチャに対応し得る。
ランダムアクセスの一例を示すために、ユーザは、ディスプレイデバイス32によって表示されるビデオを閲覧することを要求し得る。ウェブブラウザまたはメディアプレーヤなど、宛先デバイス14上で実行されているアプリケーションにより、ユーザはビデオの表示を制御することが可能になり得る。ビデオは、ビデオデコーダ30によって復号されたピクチャに基づいて表示され得る。本例では、ユーザは、ビデオの異なるロケーションにランダムにアクセスする入力を与え得、その結果、アプリケーションによって入力が受信される。アプリケーションは、選択されたロケーションに関連するピクチャを識別し、たとえば、ネットワークストリーミング中にソースデバイス12に、または入力インターフェース28によってアクセス可能な記憶媒体に、そのピクチャを要求し得る。
本例のビデオ中の新しい時間ロケーションを選択するためにピクチャの識別子を受信したことに応答して、アプリケーションは、ビデオの選択されたロケーションに対応するRAPピクチャを識別し得る。いくつかの例では、RAPピクチャは、復号順序で要求ロケーションのピクチャに先行するビデオの要求ロケーションに最も近接したODRまたはIDRピクチャであり得る。ビデオデコーダ30がランダムアクセスを行うために使用し得る単独で復号可能なピクチャの例には、瞬時復号リフレッシュ(IDR)およびオープン復号リフレッシュ(ODR)RAPピクチャがある。前に説明したように、IDRピクチャは、クローズドGOPの単独で復号可能なIピクチャであり、ODRピクチャはオープンGOPのIピクチャである。
アプリケーションは、RAPピクチャから始まる符号化ビデオデータを要求し得る。いくつかの例では、この要求はRAPピクチャの識別子を含む。要求を受信したことに応答して、ソースデバイス12は、RAPピクチャの識別子を使用して、RAPピクチャにおいて開始する符号化ビデオデータのストリームを宛先デバイス14に送ることを開始し得る。ビデオデコーダ30は、その後、ディスプレイデバイス32による表示のために符号化ビデオのストリームを復号することを開始し得る。
IDR RAPピクチャから開始する例では、ビデオデコーダ30は、RAPピクチャのタイプがIDR RAPピクチャであると判断し得る。前に説明したように、IDR RAPピクチャはクローズドGOP中に含まれるので、クローズドGOP中に含まれる他のピクチャは、正しく復号されるべきGOPの外部の参照ピクチャに依存しない。ビデオデコーダ30は、したがって、RAPピクチャがIDR RAPピクチャであると判断したことに応答して、参照ピクチャメモリに現在記憶されているすべての参照ピクチャを使用されないとマークし得る。したがって、ビデオデコーダ30は、使用されない参照ピクチャを参照ピクチャメモリから削除し得る。このようにして、ビデオデコーダ30は、参照ピクチャメモリ中のスペースを解放して、クローズドGOPの復号されたIDRピクチャと、クローズドGOP中に含まれる他のその後復号されるピクチャとを記憶する。
本開示の技法によれば、ランダムアクセスはオープン復号リフレッシュ(ODR)ピクチャに拡張され得る。言い換えれば、ODRピクチャは、ビデオデコーダ30がランダムアクセスを実行するとき、ランダムアクセスのためにも使用され得る。ODRピクチャは、ビデオ表現の再生の開始についてランダムアクセスのために使用され得るオープンGOPのIピクチャである。
比較的複雑な予測構造、たとえば、階層Bピクチャコーディング構造が使用されるとき、ビデオエンコーダ20はより多くのピクチャをODRピクチャとしてコーディングし、それにより、従来のクライアントデバイスがランダムアクセスを実行するときに複雑さがもたらされ得る。たとえば、ユーザが、特定の時間ロケーションをシークする入力を与えたとき、従来のビデオデコーダは、連続復号を停止し、ビットストリーム中のビデオデータが連続的に復号されることを予想するように構成された、選択されたランダムアクセスポイントから復号するように準備されていない。したがって、ODR RAPから復号を開始するときに起こり得る、ビットストリームが連続的に復号されないとき、ビデオデコーダは、復号順序ですべてのピクチャを復号することを試み得る。しかしながら、本開示の技法は、たとえば、本来なら記憶されているが参照のために使用されないであろう参照ピクチャをDPBから廃棄するために、正しく復号され得ないピクチャを判断するためにビデオデコーダによって使用可能な情報、ならびにDPBをより効率的に管理するための情報を提供する。
本開示の技法は、ODRピクチャがランダムアクセスのために選択されているかどうかを判断するための自動ステータス検査を実行することによって、ビデオデコーダ30の参照ピクチャメモリのメモリ制御を改善し得る。いくつかの例示的な技法では、ビデオエンコーダ20は、ODRピクチャがランダムアクセスのために選択されているかどうかを判断するためにビデオデコーダ30が使用し得る、前のピクチャの識別子を、ODRピクチャのスライスのスライスヘッダ中でシグナリングし得る。スライスヘッダ中でシグナリングされた前のピクチャが参照ピクチャメモリに現在記憶されているとビデオデコーダ30が判断した場合、ビデオデコーダ30は、ODRピクチャがランダムアクセスのために使用されていないと判断し、ビットストリームを通常に復号し得る。一方、スライスヘッダ中でシグナリングされた前のピクチャが参照ピクチャメモリに現在記憶されていない場合、ビデオデコーダ30は、ODRピクチャがランダムアクセスのために使用されていると判断し得る。ODRピクチャがランダムアクセスのために使用されていると判断したことに応答して、ビデオデコーダ30は、参照ピクチャメモリ中のピクチャを使用されないとマークし、いくつかの例では、表示順序でODR RAPに後続するピクチャのさらなる復号を実行することが必要とされないピクチャ、たとえば、適切に復号され得ないピクチャを復号するのを控え得る。
初めに、ビデオエンコーダ20が、ビデオシーケンス中のODRピクチャを符号化し得る。符号化プロセス中に、ビデオエンコーダ20は、ODRピクチャの表示順序よりも小さく、ODRピクチャがランダムアクセスのために使用されているかどうかを示すために使用される表示順序を有する、特定の前に符号化されたピクチャ(または「前のピクチャ」)を判断し得る。いくつかの例では、符号化されたODRピクチャを含むオープンGOPの1つまたは複数のピクチャ(本明細書における「先行ピクチャ」)は、適切な復号のために、判断された前のピクチャに依存し得る。先行ピクチャは、ODRピクチャよりも小さい表示順序を有し得るが、ODRピクチャよりも大きい復号順序を有し得る。ビデオデコーダ20は、オープンGOPの1つまたは複数の先行ピクチャが前のピクチャに依存するかどうかにすべてまたは部分的に基づいて判断することによって、前のピクチャを判断し得る。いくつかの例では、ビデオエンコーダ20は、特定の前に符号化されたピクチャとして、ODRピクチャより前の、復号順序および表示順序で最も近接したピクチャであり、0に等しい時間レベルを有するピクチャであるピクチャを判断し得る。
ビデオエンコーダ20が特定の前のピクチャを判断したとき、ビデオエンコーダ20は、ODRピクチャのスライス(またはODRピクチャの各スライス)のスライスヘッダ中で前のピクチャの識別子をシグナリングし得る。いくつかの例では、識別子は、前のピクチャの表示順序を示すピクチャ順序カウント(POC:Picture Order Count)値であり得る。前のピクチャのPOC値は、ODRピクチャのスライスヘッダまたはピクチャパラメータセットに記憶され得る。一例では、スライスヘッダは、名前「pre_pic_POC」によって識別されるシンタックス要素を含み得る。pre_pic_POC値は、ビデオエンコーダ20によって判断された特定の前のピクチャのPOC値を指定し得る。以下の表1に、本開示の態様による、pre_pic_POC値を含むODRピクチャの例示的なスライスヘッダを示す。表1においてわかるように、スライスがODR NALユニットであることをNALユニットタイプが示すか、またはスライスがODR NALユニットであることをNALユニットヘッダ中のフラグが示すとき、ビデオエンコーダ20はOdrPicFlagシンタックス要素を真に設定する。

前のピクチャの識別子の一例を示すために前のピクチャのPOC値を使用したが、他の値も好適である。たとえば、ビデオエンコーダ20は、ODRピクチャのスライスのスライスヘッダ中で、前のピクチャのPOC値とODRピクチャのPOC値との間の差分に等しい値をシグナリングし得る。別の例では、前のピクチャの復号順序値(たとえば、シンタックス要素「picture_num」)がビデオエンコーダ20によってスライスのヘッダに記憶され得る。さらに他の例では、ビデオエンコーダ20は、スライスのヘッダ中で、前のピクチャの復号順序値とODRピクチャの復号順序値との間の差分に等しい値をシグナリングし得る。このようにして、ビデオエンコーダ20は、特定の前のピクチャが復号ピクチャバッファ中に現在あるかどうかに基づいて、ODRピクチャがランダムアクセスのために使用されているかどうかを示すために、ODRピクチャのための特定の前のピクチャの識別子をシグナリングし得る。
本例では、スライスヘッダ中で前のピクチャのPOC値をシグナリングした後に、カプセル化ユニットが、さらに、NALユニット中にODRピクチャをカプセル化し(および/または特定の前のピクチャの識別子をシグナリングするピクチャパラメータセットをカプセル化し)得る。出力インターフェース22が、その後、符号化ビデオデータを含む他のNALユニットとともにNALユニットを宛先デバイス14に送り得る。入力インターフェース28が、NALユニットを受信し、NALユニットをビデオデコーダ30に送り得る。いくつかの例では、NALユニットからの符号化ビデオデータを復号するより前に、カプセル化解除ユニットが、符号化ビデオデータをカプセル化解除し得る。
一例では、ユーザは、現在再生中のビデオの異なる時間ロケーションを選択するための入力、またはビデオのまさに開始以外の新たに要求されたビデオの初期開始点を選択するための入力を宛先デバイス14において与え得る。ODRピクチャは、ランダムに選択されたロケーションに最も近接したピクチャであり得、したがって、ランダムアクセスのためにビデオデコーダ30によって使用され得る。ODRピクチャのシグナリングされた値がなければ、ビデオデコーダ30は、ODRピクチャがランダムアクセスのために使用されていると判断することが不可能であり得ることを理解されたい。ただし、ODRピクチャのための特定の前のピクチャのシグナリングされた値を含めることによって、本開示の技法は、ビデオデコーダ30が、ODRピクチャがランダムアクセスのために使用されているかどうかを判断することを可能にする。本例では、ユーザは現在再生中のビデオの異なる時間ロケーションを選択しているので、ビデオデコーダ30は、ODR RAPピクチャから始まる符号化ビデオデータを受信し得る。ビデオデコーダ30は、その後、ディスプレイデバイス32による表示のために符号化ビデオのストリームを復号することを開始し得る。
本開示の技法によれば、ビデオデコーダ30は、特定のピクチャにおいてビットストリームを復号することを開始し得る。ビデオデコーダ30は、現在ピクチャがODRピクチャであるかどうかを判断し得る。たとえば、ビデオデコーダ30は、ピクチャ中のスライスのスライスヘッダ中のシンタックス要素が、ピクチャがODRピクチャであることを示すかどうかを判断し得る。一例として、ピクチャがODRピクチャであることを示すために、表1に示すOdrPicFlag変数がピクチャ中のスライスのスライスヘッダ中で真の値に設定され得る。
その上、ビデオデコーダ30は、たとえば、ODRピクチャのスライスのスライスヘッダ中で、またはODRピクチャに対応するPPS中でシグナリングされる、ODRピクチャのための特定の前のピクチャのシグナリングされた識別子の値を判断し得る。たとえば、ビデオデコーダ30は、ODRピクチャ中のスライスのスライスヘッダ中で、特定の前のピクチャを識別するシンタックス要素を識別し得る。上記で説明したように、ODRピクチャは、特定の前のピクチャの表示順序値を示すpre_pic_POCシンタックス要素を含み得る。ビデオデコーダ30は、次いで、一致を識別するために、pre_pic_POCシンタックス要素の値を、参照ピクチャメモリに記憶されたピクチャの表示順序値(たとえば、POC値)と比較することによって、特定の前のピクチャがビデオデコーダ30の参照ピクチャメモリに記憶されているかどうかを判断し得る。
前のピクチャが参照ピクチャメモリに記憶されている場合、ビデオデコーダ30は、従来の方法でビットストリームのピクチャを復号する。したがって、ビデオデコーダ30は、ビデオデコーダ30がピクチャの通常の連続表示を行うためにピクチャを復号していることを示すステータスを維持し得る。一例では、前のピクチャが参照ピクチャメモリに現在記憶されているとビデオデコーダ30が判断したとき、ランダムアクセスステータスを示す値を維持する名前「random_access」を有する変数が偽に設定され得る。したがって、ビデオデコーダ30は、通常の連続表示のために後続のピクチャを復号することを続け得る。
一方、ビデオデコーダ30は、参照ピクチャメモリが、ODRピクチャに関連する識別子(たとえば、pre_pic_POCシンタックス要素)によって識別される特定の前のピクチャを含まないと判断し得る。そのような例では、ユーザは、ビデオの異なる時間ロケーションを選択していることがある。したがって、ビデオデコーダ30は、シグナリングされた値によって識別される特定の前のピクチャが参照ピクチャメモリに記憶されていないという判断に基づいて、ODRピクチャがランダムアクセスのために使用されていると判断し得る。ビデオデコーダ30はODRピクチャがランダムアクセスのために使用されていると判断したので、ビデオデコーダ30は、したがって、random_access変数を真に設定し得る。
本例では、ビデオデコーダ30は、ODRピクチャがランダムアクセスのために使用されていると判断したことに応答して、ODRピクチャを復号した後に参照ピクチャメモリ中の(ODRピクチャ自体以外の)ピクチャを参照のために使用されないとマークし得る。random_accessステータスは、ODRピクチャを復号した後、真の値のまま不変にされ得る。ビデオデコーダ30は、その後、使用されないステータスを有するピクチャを参照ピクチャメモリから削除し得る。
ビデオデコーダ30がランダムアクセスを実行している(たとえば、random_accessが真に設定されている)とき、ビデオデコーダ30は、ビデオピクチャ中のスライス、たとえば、現在のオープンGOPのスライスのスライスヘッダ中で指定されたいくつかのメモリ管理動作を無視し得る。たとえば、ビデオデコーダ30は、実行されるべき少なくとも1つのメモリ管理プロセスを示すピクチャのスライス中でシグナリングされるシンタックス情報を判断し得る。ビデオデコーダ30は、ランダムアクセスを実行しているとき、たとえば、ランダムアクセスステータスがアクティブにされているとき、メモリ管理プロセスを無視し得る。例示のために、ランダムアクセスモードでないとき、ビデオデコーダ30は、いくつかのスライスヘッダ中で指定されたデータに応答して、参照ピクチャメモリ中の復号されたピクチャを参照のために使用されないとマークするためのメモリ管理技法を適用するように構成され得る。そのような技法は、スライディングウィンドウ技法または明示的マーキング技法を含み得る。しかしながら、本開示の技法によってランダムアクセスモードであると判断されたとき、ビデオデコーダ30は、これらのピクチャを実際に復号していないことがあり、したがって、これらのピクチャは参照ピクチャメモリの復号ピクチャバッファ中に存在しないことがある。したがって、本開示の技法によれば、ビデオデコーダ30はビデオデコーダ30がランダムアクセスを実行していると判断したとき、ビデオデコーダ30は、使用されないとマークされるべき参照ピクチャが参照ピクチャメモリ中に存在しないことがあるので、スライスヘッダ中で指定されたそのようなメモリ管理動作を無視し得る。このようにして、ビデオデコーダ30は、参照ピクチャメモリ中に存在しない参照ピクチャに対する管理動作を実行することを試みるのを控え得る。
ビデオデコーダ30はまた、ODRピクチャがランダムアクセスのために使用されていると判断したことに応答して、ODRピクチャの表示順序値よりも大きい表示順序値を有するビデオデータのピクチャのデータのみを復号し得る。たとえば、ODRピクチャがランダムアクセスのために使用されている(たとえば、random_accessが真に設定されている)とき、ビデオデコーダ30は、さらに、ODR RAPピクチャのPOC値を記憶するための変数を作成し得る。一例では、この変数は「CurrODRPOC」と命名され得る。ビデオデコーダ30は、ODRピクチャがランダムアクセスのために使用されていると判断すると、CurrODRPOCをODRピクチャのPOC値に設定し得る。いくつかの例では、ビデオデコーダ30は、ODRピクチャがランダムアクセスポイントとして使用されているという判断に基づいて、ODRピクチャの表示順序値よりも小さい表示順序値と、ODRピクチャの復号順序値よりも大きい復号順序値とを有するピクチャのデータを出力することをスキップし得る。
ビデオデコーダ30がソースデバイス12から後続のNALユニットを受信したとき、ビデオデコーダ30は、各NALユニット中に含まれるスライスのスライスヘッダをパースし得る。NALユニットごとに、ビデオデコーダ30は、スライスのPOC値がNALユニット中に含まれるかどうかを判断し得る。たとえば、一例では、ビデオデコーダ30は、NALユニット中に含まれるスライスのPOC値を、CurrODRPOCに記憶されたPOC値と比較し得る。スライスのPOC値がODR RAPピクチャのPOC値よりも小さい場合、ビデオデコーダ30は、NALユニット中の符号化ビデオデータを復号することをスキップし得る。このようにして、ビデオデコーダ30は、選択されたODR RAPピクチャから復号する必要がないNALユニットのビデオデータを復号することを控え得る。したがって、ビデオデコーダ30はまた、NALユニットのそのような復号ビデオデータを出力することをスキップし得る。したがって、本開示の技法は、ODR RAPピクチャがランダムアクセスのために選択されているとビデオデコーダ30が判断したとき、ビデオデータの不要な復号を低減し得る。以前の技法はスライスヘッダのPOC値をパースしたが、本開示の技法は、同様に、たとえば、ピクチャのPOC値を含み得るピクチャパラメータセットのシンタックス要素をパースし得る。
ビデオデコーダ30は、いくつかの例では、NALユニット中のスライスのPOC値がODR RAPピクチャのPOC値よりも大きいと判断し得る。そのような例では、ビデオデコーダ30はスライスを復号し得る。NALユニット中のスライスのPOC値がODR RAPピクチャのPOC値よりも大きいと判断したことに応答して、ビデオデコーダ30はまた、ランダムアクセスではなく、ピクチャの通常の連続表示のためのピクチャの復号を示すようにランダムアクセスステータスを変更し得る。たとえば、ビデオデコーダ30は、random_accessを偽に設定することによってランダムアクセスステータスを非アクティブにし得る。このようにして、ビデオデコーダ30は、ランダムアクセスではなく、ピクチャの通常の連続表示のためのピクチャの復号を示すようにランダムアクセスステータスを変更し得る。
いくつかの例では、ビデオデコーダ30および/またはビデオエンコーダ20とは別個の1つまたは複数の構成要素が、ランダムアクセスを検出するために本開示の技法を実行し得る。たとえば、ハイパーテキスト転送プロトコル(HTTP)に基づくストリーミングシステムまたはローカル再生アプリケーションが、ビデオデコーダ30とは別個の構成要素を含み得る。一例では、ビデオデコーダ30とは別個のプリプロセッサ構成要素が、ビデオデータの特定の時間インスタンスから再生を開始せよという要求についてのデータを受信し得る。プリプロセッサ構成要素は、タイムスタンプに基づいて時間インスタンスを識別し得る。新しい時間ロケーションに最も近接したRAPピクチャがODRピクチャであるとプリプロセッサ構成要素が判断した場合、プリプロセッサ構成要素は、ODRピクチャの表示順序がビデオデータの選択された時間インスタンスに対応すると判断し得る。タイムスタンプは、ODRピクチャがビデオシーケンス中に表示される時間を示す値であり得る。ODRピクチャがランダムアクセスのために使用されると判断したことに応答して、プリプロセッサ構成要素は、ODRピクチャのタイムスタンプを示す情報を選択し、その情報をビデオデコーダ30に送り得る。ビデオデコーダ30は、したがって、この情報を使用して、本開示の技法を使用してランダムアクセスを実行し得る。
ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、適用可能なとき、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダまたはデコーダ回路のいずれか、あるいはそれらの任意の組合せとして実装され得る。ビデオエンコーダ20およびビデオデコーダ30の各々は1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合ビデオエンコーダ/デコーダ(コーデック)の一部として統合され得る。ビデオエンコーダ20および/またはビデオデコーダ30を含むデバイスは、集積回路、マイクロプロセッサ、および/またはセルラー電話などのワイヤレス通信デバイスを備え得る。
図2は、ピクチャがランダムアクセスのためにシグナリングされるときの、復号ピクチャバッファ(DPB)など、参照ピクチャメモリの管理の改善のための技法を実装し得るビデオエンコーダ20の一例を示すブロック図である。ビデオエンコーダ20は、ビデオスライス内のビデオブロックのイントラコーディングおよびインターコーディングを実行し得る。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接フレームまたはピクチャ内のビデオの時間的冗長性を低減または除去するために時間的予測に依拠する。イントラモード(Iモード)は、いくつかの空間ベースの予測モードのいずれかを指し得る。単方向予測(Pモード)または双方向予測(Bモード)などのインターモードは、いくつかの時間ベースの予測モードのいずれかを指し得る。
図2に示すように、ビデオエンコーダ20は、符号化されるべきビデオピクチャ内の現在ビデオブロックを受信する。図2の例では、ビデオエンコーダ20は、モード選択ユニット40と、参照ピクチャメモリ64と、符号化制御ユニット66と、加算器50と、変換処理ユニット52と、量子化ユニット54と、エントロピーコーディングユニット56とを含む。いくつかの例では、参照ピクチャメモリ64は、本開示ではピクチャバッファまたは復号ピクチャバッファと呼ばれることがある。モード選択ユニット40は、今度は、動き補償ユニット44と、動き推定ユニット42と、イントラ予測ユニット46と、パーティションユニット48とを含む。ビデオブロック再構成のために、ビデオエンコーダ20はまた、逆量子化ユニット58と、逆変換ユニット60と、加算器62とを含む。再構成されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタ処理するデブロッキングフィルタ(図2に図示せず)も含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器62の出力をフィルタ処理することになる。また、デブロッキングフィルタに加えて追加のフィルタ(ループ内またはループ後)が使用され得る。そのようなフィルタは、簡潔のために示されていないが、所望される場合、(ループ内フィルタとして)加算器50の出力をフィルタ処理し得る。
符号化プロセス中に、ビデオエンコーダ20は、コーディングされるべきビデオピクチャまたはスライスを受信する。ピクチャまたはスライスは複数のビデオブロックに分割され得る。動き推定ユニット42および動き補償ユニット44は、時間的予測を行うために、1つまたは複数の参照ピクチャ中の1つまたは複数のブロックに対して受信されたビデオブロックのインター予測コーディングを実行する。イントラ予測ユニット46は、代替的に、時間的予測を行うために、コーディングされるべきブロックと同じピクチャまたはスライス中の1つまたは複数の隣接ブロックに対して受信されたビデオブロックのイントラ予測コーディングを実行し得る。ビデオエンコーダ20は、たとえば、ビデオデータのブロックごとに適切なコーディングモードを選択するために、複数のコーディングパスを実行し得る。
その上、パーティションユニット48は、前のコーディングパスにおける前の区分方式の評価に基づいて、ビデオデータのブロックをサブブロックに区分し得る。たとえば、パーティションユニット48は、初めにピクチャまたはスライスをLCUに区分し、レートひずみ分析(たとえば、レートひずみ最適化)に基づいてLCUの各々をサブCUに区分し得る。モード選択ユニット40は、さらに、LCUをサブCUに区分することを示すクワッドツリーデータ構造を生成し得る。クワッドツリーのリーフノードCUは、1つまたは複数のPUと、1つまたは複数のTUとを含み得る。
モード選択ユニット40は、たとえば、誤差結果に基づいてコーディングモード、すなわち、イントラまたはインターのうちの1つを選択し、残差ブロックデータを生成するために、得られたイントラコード化ブロックまたはインターコード化ブロックを加算器50に与え、参照ピクチャとして使用するための符号化ブロックを再構成するために、得られたイントラコード化ブロックまたはインターコード化ブロックを加算器62に与え得る。モード選択ユニット40はまた、動きベクトル、イントラモードインジケータ、パーティション情報、および他のそのようなシンタックス情報などのシンタックス要素をエントロピーコーディングユニット56に与える。
動き推定ユニット42と動き補償ユニット44とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定ユニット42によって実行される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、現在ピクチャ(または他のコード化ユニット)内でコーディングされている現在ブロックに対する参照ピクチャ(または他のコード化ユニット)内の予測ブロックに対する現在ビデオフレームまたはピクチャ内のビデオブロックのPUの変位を示し得る。予測ブロックは、絶対値差分和(SAD:sum of absolute difference)、2乗差分和(SSD:sum of square difference)、または他の差分メトリックによって判断され得るピクセル差分に関して、コーディングされるべきブロックにぴったり一致することがわかるブロックである。いくつかの例では、ビデオエンコーダ20は、参照ピクチャメモリ64に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算し得る。たとえば、ビデオエンコーダ20は、参照ピクチャの1/4ピクセル位置、1/8ピクセル位置、または他の分数ピクセル位置の値を補間し得る。したがって、動き推定ユニット42は、フルピクセル位置と分数ピクセル位置とに対する動き探索を実行し、分数ピクセル精度で動きベクトルを出力し得る。
動き推定ユニット42は、PUの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライスにおけるビデオブロックのPUのための動きベクトルを計算する。参照ピクチャは、第1の参照ピクチャリスト(リスト0)または第2の参照ピクチャリスト(リスト1)から選択され得、それらの参照ピクチャリストの各々は、参照ピクチャメモリ64に記憶された1つまたは複数の参照ピクチャを識別する。動き推定ユニット42は、計算された動きベクトルをエントロピー符号化ユニット56と動き補償ユニット44とに送る。
動き補償ユニット44によって実行される動き補償は、動き推定ユニット42によって判断された動きベクトルに基づいて予測ブロックをフェッチまたは生成することに関与し得る。この場合も、いくつかの例では、動き推定ユニット42と動き補償ユニット44は機能的に統合され得る。現在ビデオブロックのPUのための動きベクトルを受信すると、動き補償ユニット44は、参照ピクチャリストのうちの1つにおいて動きベクトルが指す予測ブロックの位置を特定し得る。加算器50は、以下で説明するように、コーディングされている現在ビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって、残差ビデオブロックを形成する。概して、動き推定ユニット42はルーマ成分に対して動き推定を実行し、動き補償ユニット44は、クロマ成分とルーマ成分の両方のためにルーマ成分に基づいて計算された動きベクトルを使用する。モード選択ユニット40はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ30が使用するためのビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。
イントラ予測ユニット46は、上記で説明したように、動き推定ユニット42と動き補償ユニット44とによって実行されるインター予測の代替として、現在ブロックをイントラ予測し得る。特に、イントラ予測ユニット46は、現在ブロックを符号化するために使用すべきイントラ予測モードを判断し得る。いくつかの例では、イントラ予測ユニット46は、たとえば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在ブロックを符号化し得、イントラ予測ユニット46(または、いくつかの例では、モード選択ユニット40)は、テストされたモードから使用するのに適切なイントラ予測モードを選択し得る。
たとえば、イントラ予測ユニット46は、様々なテストされたイントラ予測モードのためのレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、概して、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ(または誤差)の量、ならびに符号化ブロックを生成するために使用されるビットレート(すなわち、ビット数)を判断する。イントラ予測ユニット46は、どのイントラ予測モードがブロックについて最良のレートひずみ値を呈するかを判断するために、様々な符号化ブロックのひずみおよびレートから比率を計算し得る。
ブロックのイントラ予測モードを選択した後に、イントラ予測ユニット46は、エントロピーコーディングユニット56にブロックのための選択されたイントラ予測モードを示す情報を与え得る。エントロピーコーディングユニット56は、選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ20は、送信ビットストリーム中に、複数のイントラ予測モードインデックステーブルおよび複数の変更されたイントラ予測モードインデックステーブル(コードワードマッピングテーブルとも呼ばれる)と、様々なブロックの符号化コンテキストの定義と、各コンテキストについて使用すべき、最も可能性の高いイントラ予測モード、イントラ予測モードインデックステーブル、および変更されたイントラ予測モードインデックステーブルの指示とを含み得る構成データを含み得る。
ビデオエンコーダ20は、コーディングされている元のビデオブロックから、モード選択ユニット40からの予測データを減算することによって残差ビデオブロックを形成する。加算器50は、この減算演算を実行する1つまたは複数の構成要素を表す。変換処理ユニット52は、離散コサイン変換(DCT)または概念的に同様の変換などの変換を残差ブロックに適用し、残差変換係数値を備えるビデオブロックを生成する。変換処理ユニット52は、DCTと概念的に同様である他の変換を実行し得る。ウェーブレット変換、整数変換、サブバンド変換または他のタイプの変換も使用され得る。いずれの場合も、変換処理ユニット52は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、残差情報をピクセル値領域から周波数領域などの変換領域に変換し得る。変換処理ユニット52は、得られた変換係数を量子化ユニット54に送り得る。量子化ユニット54は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深さを低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。いくつかの例では、量子化ユニット54は、次いで、量子化変換係数を含む行列の走査を実行し得る。代替的に、エントロピー符号化ユニット56が走査を実行し得る。
量子化の後に、エントロピーコーディングユニット56は量子化変換係数をエントロピーコーディングする。たとえば、エントロピーコーディングユニット56は、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)、確率間隔区分エントロピー(PIPE)コーディングまたは別のエントロピーコーディング技法を実行し得る。コンテキストベースエントロピーコーディングの場合、コンテキストは隣接ブロックに基づき得る。エントロピーコーディングユニット56によるエントロピーコーディングの後に、符号化ビットストリームは、別のデバイス(たとえば、ビデオデコーダ30)に送信されるか、あるいは後で送信するかまたは取り出すためにアーカイブされ得る。
逆量子化ユニット58および逆変換ユニット60は、それぞれ逆量子化および逆変換を適用して、たとえば、参照ブロックとして後で使用するために、ピクセル領域中で残差ブロックを再構成する。動き補償ユニット44は、残差ブロックを参照ピクチャメモリ64のピクチャのうちの1つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット44はまた、再構成された残差ブロックに1つまたは複数の補間フィルタを適用して、動き推定において使用するサブ整数ピクセル値を計算し得る。加算器62は、再構成された残差ブロックを、動き補償ユニット44によって生成された動き補償予測ブロックに加算して、参照ピクチャメモリ64に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、後続のビデオピクチャ中のブロックをインターコーディングするために動き推定ユニット42および動き補償ユニット44によって参照ブロックとして使用され得る。
ビデオエンコーダ20は、符号化ビデオデータをカプセル化ユニットに送り得る。カプセル化ユニットは、符号化ビデオデータを送信のためにNALユニットの形態でフォーマットし得る。各NALユニットは、NALユニットに記憶されるデータのタイプを識別するヘッダを含み得る。一般にNALユニットに記憶されるデータには2つのタイプがある。カプセル化ユニットはNALユニットを出力インターフェースに送り得、出力インターフェースはNALユニットを宛先デバイスに送り得る。
ビデオエンコーダ20について、次に、本開示の技法に関してさらに説明する。初めに、ビデオエンコーダ20は、ビデオシーケンス中のODRピクチャを符号化し得る。ビデオエンコーダ20がODRピクチャを符号化するとき、符号化制御ユニット66は、ODRピクチャの表示順序よりも小さい表示順序を有する、前に符号化されたピクチャを判断し得る。いくつかの例では、符号化制御ユニット66は、前に符号化されたピクチャを識別するために参照ピクチャメモリ64を探索し得る。符号化制御ユニット66は、オープンGOPの1つまたは複数のピクチャが前のピクチャに依存するかどうかを判断することによって前のピクチャを判断し得る。たとえば、符号化されたODRピクチャを含むオープンGOPの1つまたは複数のピクチャ(たとえば、先行ピクチャ)は、適切な復号のために前のピクチャに依存し得る。いくつかの例では、符号化制御ユニット66は、0に等しい時間レイヤを有し、復号順序および表示順序で現在ODRピクチャより前の、直近の前に復号されたピクチャであった、前にコーディングされたピクチャの識別子を判断し得る。
符号化制御ユニット66が前のピクチャの識別子を判断したとき、符号化制御ユニット66は、ODRピクチャ中のスライスのスライスヘッダ中で前のピクチャの識別子を表す値をシグナリングし得る。いくつかの例では、識別子は、前のピクチャの表示順序を示すピクチャ順序カウント(POC)値であり得る。符号化制御ユニット66は、ODRピクチャのスライスのスライスヘッダに前のピクチャのPOC値を記憶し得る。一例では、スライスヘッダは、名前「pre_pic_POC」によって識別されるシンタックス要素を含み得る。pre_pic_POC値は、符号化制御ユニット66によって判断された前のピクチャのPOC値を指定し得る。
符号化制御ユニット66がODRピクチャ中のスライスのスライスヘッダに前のピクチャのPOC値を記憶した後に、カプセル化ユニットは、さらに、NALユニット中にODRピクチャをカプセル化し得る。カプセル化ユニットはNALユニットを出力インターフェースに送り得、出力インターフェースは、その後、符号化ビデオデータを含む他のNALユニットとともにNALユニットを宛先デバイスに送る。ビデオデコーダ30などのビデオデコーダを含む宛先デバイスは、図3においてさらに説明するように、NALユニットを受信し、1つまたは複数のNALユニットの復号を実行し得る。
いくつかの例では、符号化制御ユニット66は、最も低い時間レベル値をもつ1つまたは複数の参照ピクチャを識別するために、参照ピクチャメモリ64に記憶された参照ピクチャの時間レベル値を比較することによって、ODRピクチャ中でシグナリングされた前のピクチャを判断し得る。時間レベル値は、1つまたは複数のピクチャ間の復号依存性を示し得る。一例では、最も低い時間レベル値は、0の時間レベル値であり得る。他の時間値は数値または英数字値を含み得る。符号化制御ユニット66が最も低い時間レベルをもつ1つまたは複数の参照ピクチャを識別すると、符号化制御ユニット66は、ODRピクチャの表示順序よりも小さい表示順序を有する参照ピクチャを識別することによって参照ピクチャのうちの1つを前のピクチャとして判断し得る。2つ以上の参照ピクチャが最も低い時間値を有すると符号化制御ユニット66が判断する例では、符号化制御ユニット66は、表示順序でODRピクチャに最も近接しており、ODRピクチャよりも小さい表示順序を有する参照ピクチャを判断し得る。
符号化制御ユニット66は、いくつかの例では、ODRピクチャの復号順序に最も近い復号順序をもつ参照ピクチャを識別するために、ODRピクチャの復号順序を、参照ピクチャメモリ64に記憶された参照ピクチャの復号順序と比較することによって、ODRピクチャ中でシグナリングされた前のピクチャを判断し得る。たとえば、符号化制御ユニット66は、ODRピクチャの復号順序に最も近い復号順序を有する参照ピクチャを前のピクチャとして判断するために、参照ピクチャメモリ64に記憶された参照ピクチャを探索し得る。符号化制御ユニットは、ODRピクチャよりも小さい表示順序をもつ参照ピクチャのみを探索し得る。いくつかの例では、各ピクチャは、それぞれのピクチャの復号順序を判断するために符号化制御ユニット66が使用し得る復号順序値を有する。符号化制御ユニット66が、ODRピクチャよりも小さい表示順序をもつ復号順序でODRピクチャに最も近いピクチャを識別すると、符号化制御ユニット66は、そのピクチャを前のピクチャとして判断し得る。
符号化制御ユニット66は、いくつかの例では、ODRピクチャの表示順序に最も近い表示順序をもつ参照ピクチャを識別するために、ODRピクチャの表示順序を、参照ピクチャメモリ64に記憶された参照ピクチャの表示順序と比較することによって、ODRピクチャ中でシグナリングされた前のピクチャを判断し得る。たとえば、符号化制御ユニット66は、ODRピクチャの復号順序に最も近い表示順序を有する参照ピクチャを前のピクチャとして判断するために、参照ピクチャメモリ64に記憶された参照ピクチャを探索し得る。符号化制御ユニット66は、ODRピクチャよりも小さい表示順序をもつ参照ピクチャのみを探索し得る。符号化制御ユニット66は、ODRピクチャよりも小さい表示順序をもつ表示順序でODRピクチャに最も近いピクチャを識別すると、符号化制御ユニット66はそのピクチャを前のピクチャとして判断し得る。
前に説明したように、符号化制御ユニット66は、時間レベル、復号順序、または表示順序に基づいて、ODRピクチャ中でシグナリングされるべき前のピクチャを判断し得る。いくつかの例では、符号化制御ユニット66は、前のピクチャを判断するために、時間レベル、復号順序、または表示順序の任意の組合せにすべてまたは部分的に基づいて前のピクチャを判断し得る。符号化制御ユニット66はまた、いくつかの例では、前のピクチャを判断するために、時間レベル、復号順序、または表示順序のいずれかと組み合わせて追加の技法を使用し得る。
図2に示すように、ビデオエンコーダ20は、オープン復号リフレッシュ(ODR)ピクチャを符号化することと、ODRピクチャの表示順序値よりも小さい表示順序値を有し、0に等しい時間識別子値を有する、前にコーディングされたピクチャを判断することと、判断された前にコーディングされたピクチャの識別子に基づいて、ODRピクチャがランダムアクセスのために使用されているかどうかを判断することをビデオデコーダに行わせるために、判断された前にコーディングされたピクチャの識別子を表すODRピクチャのシンタックスデータをシグナリングすることとを行うように構成されたビデオエンコーダの一例である。
図3は、ピクチャがランダムアクセスのために使用されるときの、復号ピクチャバッファ(DPB)の管理の改善のための技法を実装し得るビデオデコーダ30の一例を示すブロック図である。図3の例では、ビデオデコーダ30は、エントロピー復号ユニット70と、動き補償ユニット72と、イントラ予測ユニット74と、逆量子化ユニット76と、逆変換ユニット78と、参照ピクチャメモリ82と、加算器80とを含む。いくつかの例では、参照ピクチャメモリ82は、本開示ではピクチャバッファまたは復号ピクチャバッファと呼ばれることがある。ビデオデコーダ30は、いくつかの例では、ビデオエンコーダ20(図2)に関して説明した符号化パスとは概して逆の復号パスを実行し得る。動き補償ユニット72は、エントロピー復号ユニット70から受信された動きベクトルに基づいて予測データを生成し得、イントラ予測ユニット74は、エントロピー復号ユニット70から受信されたイントラ予測モードインジケータに基づいて予測データを生成し得る。
復号プロセス中に、ビデオデコーダ30は、ビデオエンコーダ20から、符号化ビデオスライスのビデオブロックと、関連するシンタックス要素とを表す符号化ビデオビットストリームを受信する。ビデオデコーダ30のエントロピー復号ユニット70は、量子化係数、動きベクトルまたはイントラ予測モードインジケータ、および他のシンタックス要素を生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット70は、動きベクトルと他の予測シンタックス要素とを動き補償ユニット72に転送する。ビデオデコーダ30は、ビデオスライスレベルおよび/またはビデオブロックレベルでシンタックス要素を受信し得る。
ビデオスライスがイントラコード化(I)スライスとしてコーディングされるとき、イントラ予測ユニット74は、シグナリングされたイントラ予測モードと、現在フレームまたはピクチャの、前に復号されたブロックからのデータとに基づいて、現在ビデオスライスのビデオブロックのための予測データを生成し得る。ビデオピクチャがインターコード化(すなわち、B、PまたはGPB)スライスとしてコーディングされるとき、動き補償ユニット72は、エントロピー復号ユニット70から受信された動きベクトルと他のシンタックス要素とに基づいて、現在ビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストの1つ内の参照ピクチャの1つから生成され得る。ビデオデコーダ30は、参照ピクチャメモリ92に記憶された参照ピクチャに基づいてデフォルトの構築技法を使用して、参照ピクチャリスト、リスト0およびリスト1を構築し得る。動き補償ユニット72は、動きベクトルと他のシンタックス要素とをパースすることによって現在ビデオスライスのビデオブロックのための予測情報を判断し、その予測情報を使用して、復号されている現在ビデオブロックの予測ブロックを生成する。たとえば、動き補償ユニット72は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード(たとえば、イントラまたはインター予測)、インター予測スライスタイプ(たとえば、Bスライス、Pスライス、またはGPBスライス)、スライスの参照ピクチャリストのうちの1つまたは複数についての構築情報、スライスの各インター符号化ビデオブロックについての動きベクトル、スライスの各インターコード化ビデオブロックについてのインター予測ステータス、および現在ビデオスライス中のビデオブロックを復号するための他の情報を判断するために、受信されたシンタックス要素のいくつかを使用する。
動き補償ユニット72はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット72は、ビデオブロックの符号化中にビデオエンコーダ20によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間値を計算し得る。この場合、動き補償ユニット72は、受信されたシンタックス要素からビデオエンコーダ20によって使用された補間フィルタを判断し、その補間フィルタを使用して予測ブロックを生成し得る。
逆量子化ユニット76は、ビットストリーム中で与えられ、エントロピー復号ユニット80によって復号された量子化変換係数を逆量子化(inverse quantize)、すなわち、逆量子化(de-quantize)する。逆量子化プロセスは、量子化の程度を判断し、同様に、適用されるべき逆量子化の程度を判断するための、ビデオスライス中のビデオブロックごとにビデオエンコーダ30によって計算される量子化パラメータQPYの使用を含み得る。
逆変換ユニット78は、逆変換、たとえば、逆DCT、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用して、ピクセル領域において残差ブロックを生成する。
動き補償ユニット82が、動きベクトルと他のシンタックス要素とに基づいて現在ビデオブロックのための予測ブロックを生成した後に、ビデオデコーダ30は、逆変換ユニット78からの残差ブロックを動き補償ユニット82によって生成された対応する予測ブロックに加算することによって、復号されたビデオブロックを形成する。加算器90は、この加算演算を実行する1つまたは複数の構成要素を表す。所望される場合、ブロッキネスアーティファクトを除去するために、復号ブロックをフィルタ処理するためにデブロッキングフィルタも適用され得る。ピクセル遷移を平滑化するか、またはさもなければビデオ品質を改善するために、(コーディングループ内またはコーディングループ後の)他のループフィルタも使用され得る。所与のフレームまたはピクチャの復号されたビデオブロックは、次いで、その後の動き補償のために使用される参照ピクチャを記憶する参照ピクチャメモリ92に記憶される。参照ピクチャメモリ82はまた、図1のディスプレイデバイス32などのディスプレイデバイス上での後の表示のために、復号されたビデオを記憶する。
上記で説明したように、ビデオエンコーダ30によって復号されたピクチャのビデオデータは参照ピクチャメモリ82に記憶され得る。復号制御ユニット84が、参照ピクチャメモリ82に記憶された参照ピクチャのビデオデータを記憶および削除するためのメモリ管理制御動作を実行し得る。いくつかの例では、復号制御ユニット84は、ピクチャがランダムアクセスのために使用されるときの、ビデオデコーダ中の参照ピクチャメモリの管理を改善するための本開示の技法を実装し得る。
ランダムアクセスの一例を示すために、ユーザは、ディスプレイデバイスによって表示されるビデオを閲覧することを要求し得る。ウェブブラウザまたはメディアプレーヤなどのアプリケーションにより、ユーザはビデオの表示を制御することが可能になり得る。ビデオは、ビデオデコーダ30によって復号されたピクチャに基づいて表示され得る。本例では、ユーザは、ビデオの異なるロケーションにランダムにアクセスする入力を与え得、その結果、アプリケーションによって入力が受信される。アプリケーションは、選択されたロケーションに関連するピクチャを識別し、たとえば、ネットワークストリーミング中にソースデバイスに、または入力インターフェースによってアクセス可能な記憶媒体に、そのピクチャを要求し得る。アプリケーションは、RAPピクチャから始まる符号化ビデオデータを要求し得る。ビデオデコーダ30はアプリケーションからRAPピクチャを受信し得る。
ビデオデコーダ30は、コード化ビデオビットストリームの様々なロケーションへのランダムアクセスを行うためにODRまたはIDRピクチャを使用し得る。ビデオデコーダ30がランダムアクセスを行うために使用し得る単独で復号可能なピクチャの例には、瞬時復号リフレッシュ(IDR)およびオープン復号リフレッシュ(ODR)RAPピクチャがある。前に説明したように、IDRピクチャは、クローズドGOPの単独で復号可能なIピクチャであり、ODRピクチャはオープンGOPのIピクチャである。
本開示の技法によれば、復号制御ユニット84は、初めに、復号のために符号化ビデオのストリーム中でODR RAPピクチャを受信し得る。復号制御ユニット84は、ODR RAPピクチャがODRピクチャであるかどうかを判断し得る。たとえば、復号制御ユニット84は、ピクチャ中のスライスのスライスヘッダ中のシンタックス要素が、ピクチャがODRピクチャであることを示すかどうかを判断し得る。一例として、ピクチャがODRピクチャであることを示すために、ODRピクチャ中のスライスのスライスヘッダに記憶されたOdrPicFlag変数がスライスヘッダ中で真の値に設定され得る。ODR RAPピクチャがODRピクチャであると復号制御ユニット84が判断したとき、復号制御ユニット84はピクチャを復号し得る。
ODR RAPピクチャを復号すると、復号制御ユニット84は、ODRピクチャ中のスライスのヘッダに記憶された前のピクチャの識別子を判断し得る。たとえば、復号制御ユニット84は、ODRピクチャ中のスライスのスライスヘッダ中で、前のピクチャを識別するシンタックス要素を識別し得る。図1において前に説明したように、ODRピクチャは、前のピクチャの表示順序値を示すpre_pic_POCシンタックス要素を含み得る。復号制御ユニット84は、次いで、一致を識別するために、pre_pic_POCシンタックス要素の値を、参照ピクチャメモリに記憶されたピクチャの表示順序値と比較することによって、前のピクチャが復号制御ユニット84の参照ピクチャメモリに記憶されているかどうかを判断し得る。
本例では、復号制御ユニット82は、参照ピクチャメモリ82が、ODRピクチャに記憶された識別子によって識別される、前のピクチャを含まないと判断し得る。したがって、復号制御ユニット84は、ODRピクチャがODR RAPとして使用されていると判断し得る。復号制御ユニット84はODRピクチャがランダムアクセスのために使用されていると判断したので、復号制御ユニット84は、したがって、ランダムアクセスステータス変数を真に設定し得る。
復号制御ユニット84は、ODRピクチャがランダムアクセスのために使用されていると判断したことに応答して、ODRピクチャを復号した後に参照ピクチャメモリ82中のピクチャを参照のために使用されないとマークし得る。いくつかの例では、復号制御ユニット84はすべてのピクチャを使用されないとマークし得る。ODRピクチャを復号した後に、復号制御ユニット84は、ランダムアクセスステータスを不変のままにし得る。復号制御ユニット84は、その後、使用されないステータスでマークされたピクチャを参照ピクチャメモリ82から削除し得る。
このように、図3のビデオデコーダ30は、ビデオデータのオープン復号リフレッシュ(ODR)ピクチャに関連するデータから、ビデオデータの前のピクチャの識別子を判断することと、前のピクチャが参照ピクチャメモリに現在記憶されているかどうかを判断することと、前のピクチャが参照ピクチャメモリに記憶されていないとき、ODRピクチャの表示順序値よりも大きい表示順序値を有するビデオデータのピクチャのデータのみを復号することとを行うように構成されたビデオデコーダの一例を表す。
ランダムアクセスステータスは復号制御ユニット84がランダムアクセスを実行していることを示すとき、復号制御ユニット84は、ODRピクチャの表示順序値よりも大きい表示順序をもつピクチャのビデオデータを復号し得る。たとえば、ビデオデコーダ30がODRピクチャを(たとえば、ランダムアクセスのために)ODR RAPとして使用するとき、復号制御ユニット84は、さらに、ODR RAPピクチャのPOC値を記憶するための変数を作成し得る。一例では、この変数は「CurrODRPOC」と命名され得る。復号制御ユニット84は、ODRピクチャがODR RAPのために使用されていると判断すると、CurrODRPOCをODRピクチャのPOC値に設定し得る。
復号制御ユニット84は、ソースデバイス12からその後受信される各NALユニット中に含まれるスライスのスライスヘッダをパースし得る。NALユニットごとに、復号制御ユニット84は、スライスのPOC値がNALユニット中に含まれるかどうかを判断し得る。たとえば、一例では、復号制御ユニット84は、NALユニット中に含まれるスライスのPOC値を、CurrODRPOCに記憶されたPOC値と比較し得る。スライスのPOC値がODR RAPピクチャのPOC値よりも小さい場合、復号制御ユニット84は、スライスの符号化ビデオデータを復号することをスキップし得る。このようにして、そのようなNALユニットはさらに復号されない。したがって、ビデオデコーダ30は、選択されたODR RAPピクチャから復号する必要がないNALユニットのビデオデータを復号することを控え得る。いくつかの例では、ODRピクチャがランダムアクセスポイントとして使用されていると判断したことに応答して、ビデオデコーダ30は、ODRピクチャの表示順序値よりも小さい表示順序値と、ODRピクチャの復号順序値よりも大きい復号順序値とを有するピクチャのデータを出力することをスキップし得る。したがって、本開示の技法は、ODR RAPピクチャがランダムアクセスのために選択されていると復号制御ユニット84が判断したとき、ビデオデータの不要な復号および出力を低減し得る。
一例では、復号制御ユニット84は、スライスのPOC値がODR RAPピクチャのPOC値よりも大きいと判断し得る。そのような例では、スライスの符号化ビデオがその後復号される。NALユニット中のスライスのPOC値がODR RAPピクチャのPOC値よりも大きいと判断したことに応答して、復号制御ユニット84はまた、ランダムアクセスではなく、ピクチャの通常の連続表示のためのピクチャの復号を示すようにランダムアクセスステータスを変更し得る。たとえば、復号制御ユニット84は、ピクチャの通常の連続表示のためのピクチャの復号を示すようにランダムアクセスステータス変数を設定し得る。
図4は、クローズドピクチャグループ(GOP)102を含むビデオフラグメント100の一例を示す概念図である。GOPは、ビデオシーケンスの(プレゼンテーション順序で)連続したピクチャのグルーピングとして表され得る。ビデオフラグメントは、GOP102と同様の任意の数のGOPを含み得る。
図4の例は、ビデオフラグメント100の一部分を示している。ビデオフラグメントは複数のピクチャ104A〜104Kを含む。フラグメント100は、GOP102など、1つまたは複数のピクチャグループ(GOP)を備え得る。1つまたは複数のGOP102は、ビデオ表現のピクチャのグルーピングとして表され得る。
図4に示すGOP102は、クローズドGOPの一例である。すなわち、ピクチャ104B〜104Iの各々は、GOP102の外部のピクチャ、たとえば、ピクチャ104A、104J、および104Kと無関係に復号され得る。図2に示すように、ピクチャ104Aは(プレゼンテーション順序で)GOP102のピクチャ104B〜104Iに先行する。ピクチャ104J〜104Kは(プレゼンテーション順序で)GOP102のピクチャ104B〜104Iに後続する。ピクチャ104Aおよび104J〜104Kは、フラグメント100の別のGOPの一部であり得る。
ピクチャ104A〜104Kのプレゼンテーション順序は、ピクチャの復号順序とは異なり得る。たとえば、GOPは、Iピクチャ、Bピクチャ、またはPピクチャの任意の組合せを含み得る。イントラコード化ピクチャ(Iピクチャ)は、単独で復号可能であるピクチャであり、これは、Iピクチャを復号するために、デコーダが他のピクチャのコンテンツに依拠する必要がないことを意味する。図4の例では、ピクチャ104Aおよび104IがIピクチャの例である。Pピクチャは、一方向において1つまたは複数のピクチャに対してインターコーディングされ得る。図4の例では、ピクチャ104B、104C、および104EがPピクチャの例である。Bピクチャは、2つの方向において1つまたは複数のピクチャに対してインターコーディングされ得る。図4の例では、ピクチャ104D、104F、104G、および104HがBピクチャの例である。
上記で説明したように、図4の例によれば、ピクチャ104A〜104Kの復号順序は、ピクチャのプレゼンテーション順序とは異なり得る。たとえば、ピクチャ104B〜104Iを復号するとき、ピクチャ104I(Iピクチャ)が最初に復号され得る。矢印108によって示されるように、ピクチャ104Eは、正しく復号されるためにピクチャ104Iのコンテンツに依拠する。したがって、ピクチャ104Eは、ピクチャ104Iが復号された後に復号され得る。
矢印106によって示されるように、ピクチャ104Cは、正しく復号されるためにピクチャ104Eのコンテンツに依拠し得る。矢印110によって示されるように、ピクチャ104Gは、正しく復号されるためにピクチャ104Eとピクチャ104Iの両方のコンテンツに依拠し得る。したがって、いくつかの例では、ピクチャ104Cおよび104Gの復号は、ピクチャ104Iおよび104Eを復号した後に行われ得る。ピクチャ104B、104D、104F、および104Hの各々は、ピクチャ104C、104E、104G、および104Iのうちの1つまたは複数のコンテンツにそれぞれ依拠し、したがって、ピクチャ104C、104E、104G、および104Iが復号された後に復号され得る。
上記で説明したように、瞬時復号リフレッシュ(IDR)アクセスポイントは、クローズドGOP、たとえば、図4中のGOP102のアクセスポイントとして表され得る。GOPの外部のピクチャのコンテンツに依拠することなしに正しく復号可能であるピクチャのみを含むGOPは、クローズドGOP102と見なされ得る。
図4は、IDRアクセスポイントの2つの例を示している。図2の例に示すように、ピクチャ104Aは、正しく復号可能であるために他のピクチャのコンテンツに依拠せず、すなわち、ピクチャ104Aは、別のピクチャに対する依拠を示す矢印を含まない。ピクチャ104Aに先行するフレームがないので、ピクチャ104Aはそれ自体でGOPと見なされ得る。したがって、ピクチャ104Aは、正しく復号されるために(ピクチャ104Aのみからなる)GOPの外部のピクチャのコンテンツに依拠しないGOPのアクセスポイントであるので、ピクチャ104AはIDRアクセスポイントと見なされ得る。
また、ピクチャ104Iは、クローズドGOP102のIDRアクセスポイントと見なされ得る。たとえば、図4に示すように、ピクチャ104Iは、GOP102の他のピクチャ(たとえば、ピクチャ104B〜104H)のコンテンツに依拠することなしに単独で復号可能であるIピクチャである。ピクチャ104B〜104Hの各々は、上記で説明したように、正しく復号されるためにGOP102内の他のピクチャのコンテンツに依拠するが、ピクチャ104B〜104Hのいずれも、GOP102の外部のピクチャのコンテンツに依拠しない。したがって、GOP102は、IDRアクセスポイント、すなわち、ピクチャ104Iを含むクローズドGOPと見なされ得る。
本開示の技法によれば、図1および図3に示すビデオデコーダ30は、初めに、通常の連続表示のためにピクチャを復号し得る。ビデオデコーダ30は、したがって、ピクチャが通常の連続表示のために復号されることを示すようにランダムアクセスステータスを設定し得る。後で、ビデオデコーダ30は、ビデオフラグメント100のピクチャ104Fにランダムにアクセスするための指示を受信し得る。したがって、ビデオデコーダ30は、ピクチャ104Fを適切に復号し、表示するために使用可能な最も近接した単独で復号可能なピクチャを識別し得る。
本例では、ピクチャ104Fは、適切に復号されるためにIDRピクチャ104Iに依存し、このIDRピクチャ104Iはまた、復号順序でピクチャ104Fに最も近接した単独で復号可能なピクチャである。ビデオデコーダ30は、したがって、IDRピクチャ104Iがランダムアクセスのために使用され得ると判断し得る。したがって、ビデオデコーダ30は、ビデオエンコーダ20に、IDRピクチャ104Iについての要求を送り、その後、復号順序でIDRピクチャ104Iに後続する復号可能なピクチャについての要求を送り得る。IDRピクチャ104Iを受信したことに応答して、ビデオデコーダ30は、IDRピクチャ104IがIDRピクチャであるかODRピクチャであるかを判断し得る。ピクチャ104IはIDRピクチャであるので、ビデオデコーダ30はランダムアクセスステータスを不変のままにする。ランダムアクセスステータスはピクチャが通常の連続表示のために復号されることを示すので、ビデオデコーダ30は、IDRピクチャ104Iならびにピクチャ104E、104Gおよび104Fを復号する。ビデオデコーダ30は、次いで、表示のために復号ピクチャ104Fをディスプレイデバイスに送り得る。
図5は、オープン復号リフレッシュ(ODR)アクセスポイントを含むオープンGOP152を含むビデオフラグメント150の少なくとも一部分の一例を示す概念図である。図4の例と同様に、ピクチャ154Aは、Iピクチャであり、IDRアクセスポイントである。また、図4の例と同様に、ピクチャ154Iは、ランダムアクセスポイントに対応するIピクチャである。しかしながら、表示順序でIピクチャ154Iより前のGOP152のピクチャが正しく復号可能であるためにピクチャ154Aのコンテンツに依拠するという点で、図5の例は図4の例とは異なる。たとえば、矢印によって示されるように、ピクチャ154B、154C、および154Eの各々は、ピクチャ154Aのコンテンツに直接依拠する。ピクチャ154D、および154F〜154Hは、正しく復号されるためにそれぞれピクチャ154B、154C、および154Eのうちの1つまたは複数のコンテンツに少なくとも部分的に依拠するように、それぞれピクチャ154Aのコンテンツに間接的に依拠する。しかしながら、同じく図5に示すように、表示順序でIピクチャ154Iに後続するピクチャ154Jおよび154Kは、Iピクチャ154Iより前のピクチャに対する依拠なしに正しく復号され得る。したがって、Iピクチャ154Iは、ランダムアクセスのために使用されるODRであり得る。
本開示の技法によれば、図1および図3に示すビデオデコーダ30は、初めに、通常の連続表示のためにピクチャを復号し得る。ビデオデコーダ30は、したがって、ピクチャが通常の連続表示のために復号されることを示すようにランダムアクセスステータスを設定し得る。後で、ビデオデコーダ30は、ビデオフラグメント150のピクチャ154Cにランダムにアクセスするための指示を受信し得る。たとえば、ビデオデコーダ30を含むクライアントデバイスが、ビデオの表示をピクチャ154Fにおいて開始するための指示を受信し得る。したがって、ビデオデコーダ30は、ピクチャ154Fを適切に復号し、表示するために使用可能な最も近接した単独で復号可能なピクチャを識別し得る。
本例では、ピクチャ154Fは、適切に復号されるためにODRピクチャ154Iに依存し、このODRピクチャ154Iはまた、復号順序でピクチャ154Fに最も近接した単独で復号可能なピクチャである。ビデオデコーダ30は、したがって、ODRピクチャ154Iがランダムアクセスのために使用され得ると判断し得る。したがって、ビデオデコーダ30は、ビデオエンコーダ20に、ODRピクチャ154Iについての要求を送り、その後、復号順序でODRピクチャ154Iに後続する復号可能なピクチャについての要求を送り得る。ODRピクチャ154Iを受信したことに応答して、ビデオデコーダ30は、ODRピクチャ154IがIDRピクチャであるかODRピクチャであるかを判断し得る。
本例では、ビデオデコーダ30は、ODRピクチャがランダムアクセスのためにODR RAPとして使用されていると判断したことに応答して、ランダムアクセスステータス変数を真に設定し、ODRピクチャを復号した後に参照ピクチャメモリ中のピクチャを参照のために使用されないとマークし得る。ビデオデコーダ30は、その後、使用されないステータスを有するピクチャを参照ピクチャメモリから削除し得る。
ランダムアクセス変数が真に設定されている間に後続のピクチャが受信されたとき、ビデオデコーダ30は、ODRピクチャの表示順序値よりも大きい表示順序値を有するビデオデータのピクチャのデータのみを復号し得る。たとえば、ODRピクチャ154Iがランダムアクセスのために使用されているとき、ビデオデコーダ30は、さらに、図1において説明したように、CurrODRPOCなど、ODR RAPピクチャのPOC値を記憶するための変数を作成し得る。ビデオデコーダ30は、ODRピクチャ154IがODR RAPのために使用されていると判断すると、CurrODRPOCをODRピクチャのPOC値に設定し得る。ビデオデコーダ30がソースデバイス12から後続のNALユニットを受信したとき、ビデオデコーダ30は、各NALユニット中に含まれるスライスのスライスヘッダをパースし得る。
NALユニットごとに、ビデオデコーダ30は、スライスのPOC値がNALユニット中に含まれるかどうかを判断し得る。たとえば、一例では、ビデオデコーダ30は、NALユニット中に含まれるスライスのPOC値を、CurrODRPOCに記憶されたPOC値と比較し得る。スライスのPOC値がODR RAPピクチャのPOC値よりも小さい場合、ビデオデコーダ30は、NALユニット中の符号化ビデオデータを復号することをスキップし得る。このようにして、ビデオデコーダ30は、選択されたODR RAPピクチャから復号する必要がないNALユニットのビデオデータを復号することを控え得る。ビデオデコーダ30はまた、ODRピクチャがランダムアクセスのために使用されていると判断したことに応答して、ODRピクチャの表示順序値よりも小さい表示順序値と、ODRピクチャの復号順序値よりも大きい復号順序値とを有するピクチャのデータを出力することをスキップし得る。本例では、ビデオデコーダ30は、したがって、ODRピクチャ154Iならびにピクチャ154E、154Gおよび154Fを復号し得る。ビデオデコーダ30は、次いで、表示のために復号ピクチャ154Fをディスプレイデバイスに送り得る。
図6は、本開示の技法による、ODRピクチャと、そのODRピクチャにおいて識別された、前に符号化されたピクチャとの概念図である。図6は、オープンGOP170とクローズドGOP172とを含む。図6に示すように、クローズドGOP170は、Iピクチャであり得るピクチャ174を含む。クローズドGOP172はピクチャ176を含む。ピクチャ176中には、Bピクチャ176A〜176Cと、単独の復号可能なピクチャ(たとえば、Iピクチャ)であり得るODRピクチャ176Dとが含まれる。初めに、(たとえば、図1および図2に示す)ビデオエンコーダ20は、ビデオシーケンス中のODRピクチャ176Dを符号化し得る。ビデオエンコーダ20がODRピクチャ176Dを符号化するとき、ビデオエンコーダ20は、ODRピクチャ176Dの表示順序よりも小さい表示順序を有する、前に符号化されたピクチャ174を判断し得る。いくつかの例では、ビデオエンコーダ20は、前に符号化されたピクチャ174を識別するために参照ピクチャメモリを探索し得る。ビデオエンコーダ20は、オープンGOP172の1つまたは複数のピクチャが前のピクチャ174に依存するかどうかを判断することによって前のピクチャ174を判断し得る。たとえば、符号化ODRピクチャ176Dを含むオープンGOP172のピクチャ176A〜176C(たとえば、先行ピクチャ)は、適切な復号のために前のピクチャ174に依存し得る。いくつかの例では、ビデオエンコーダ20は、前に符号化されたピクチャとして、0に等しい時間レベルを有する、復号順序および表示順序でODRピクチャより前の最も近接したピクチャであるピクチャ174を判断し得る。前のピクチャ174とは異なり、ピクチャ176A〜176Cは、0よりも大きい時間レベルを有し得、したがって、ビデオエンコーダ20は、これらのピクチャのいずれも前のピクチャとして選択し得ない。
ビデオエンコーダ20が前のピクチャ174を判断したとき、ビデオエンコーダ20は、ODRピクチャ176D中でスライスのヘッダ中で前のピクチャ174の識別子をシグナリングし得る。ヘッダは、スライスヘッダまたはピクチャパラメータセットであり得る。いくつかの例では、識別子は、前のピクチャ174の表示順序を示すピクチャ順序カウント(POC)値であり得る。ビデオエンコーダ20は、ODRピクチャ176D中のスライスのスライスヘッダに前のピクチャ174のPOC値を記憶し得る。一例では、スライスヘッダは、名前「pre_pic_POC」によって識別されるシンタックス要素を含み得る。pre_pic_POC値は、ビデオエンコーダ20によって判断された前のピクチャのPOC値を指定し得る。
ビデオエンコーダ20がODRピクチャ176D中のスライスのヘッダに前のピクチャ174のPOC値を記憶した後に、カプセル化ユニットは、さらに、NALユニット中にODRピクチャ176Dをカプセル化し得る。出力インターフェースは、カプセル化ユニットからNALユニットを受信し得、その後、復号のための符号化ビデオデータを含む他のNALユニットとともにNALユニットを宛先デバイスに送り得る。
図7は、本開示の技法による、(たとえば、図1および図3に示す)ビデオデコーダによって実装され得る動作を示すフローチャートである。図7の例示的な動作について、図1および図3に示すビデオデコーダ30に関して説明する。図7に示すように、ビデオデコーダ30は、初めに、ビデオシーケンスを再生することを開始する(190)。たとえば、ユーザが、ビデオデータの再生をビデオシーケンスの始端において開始するための入力を与え得る。
後の時点において、ユーザは、ビデオシーケンスの順が狂った時間ロケーションにナビゲートする(192)。一例では、順が狂った時間ロケーションは、表示順序で次のピクチャでないビデオシーケンスの異なるピクチャであり得る。そのような例では、ビデオデコーダ30は、したがって、ビデオシーケンス中の別のピクチャにランダムにアクセスし得る。ビデオデコーダ30は、ランダムアクセスが発生したかどうかを判断するために本開示の技法を適用する(194)。
ビデオデコーダ30は、本開示で説明するようにランダムアクセスに基づいて参照ピクチャメモリ管理技法を実行する(196)。ランダムアクセスが発生したかどうかを判断し、参照ピクチャメモリ管理技法を実行するために実行される動作については、図8Aおよび図8Bにおいてさらに説明する。図8Aおよび図8Bの技法では、ビデオデコーダ30は、参照ピクチャメモリ中のピクチャを使用されないとマークし、さらに、ビデオシーケンスのランダムアクセスされるピクチャにおいて再生を開始するのに必要なピクチャのみを復号し得る。ランダムアクセスが発生したかどうかを判断し、その後、本開示の技法を適用すると、ビデオデコーダ30は、ビデオシーケンスの異なるピクチャを再生することを開始する(198)。このようにして、ビデオデコーダ30は、ビデオシーケンスの異なるピクチャにアクセスするためのランダムアクセスを実行し得る。次に、ランダムアクセスを実行する技法について、図8Aおよび図8Bにおいてさらに説明する。
図8Aおよび図8Bは、本開示の技法による、ビデオデコーダによって実行され得る動作の例を示すフローチャートである。図7の例示的な動作について、図1および図3に示すビデオデコーダ30に関して説明する。図8Aに示すように、ビデオデコーダ30は、初めに、復号順序で直近に復号されたピクチャに後続しないピクチャを復号するための指示(たとえば、ユーザ入力)を受信し得る。したがって、ビデオデコーダ30は、その指示によって識別される符号化ピクチャを判断する(210)。ビデオデコーダ30は、符号化ピクチャがODRピクチャであるかどうかを判断する(212)。ビデオデコーダ30は符号化ピクチャがODRピクチャであると判断した場合、ビデオデコーダ30はそのODRピクチャを復号する(214)。
ODRピクチャを復号すると、ビデオデコーダ30は、ビデオデコーダ30の参照ピクチャメモリ(たとえば、復号ピクチャバッファ)が、ODRピクチャによって識別される、前に符号化されたピクチャを含むかどうかを判断する(216)。参照ピクチャメモリが前に符号化されたピクチャを含む場合、ビデオデコーダ30は、参照ピクチャメモリに1つまたは複数の従来の参照ピクチャメモリ技法を適用し、復号のために後続の符号化ピクチャを選択することに進む(210)。
参照ピクチャメモリが、ODRピクチャによって識別される、前に符号化されたピクチャを含まない場合、ビデオデコーダ30は、ビデオデコーダ30がランダムアクセスを実行していることを示すようにランダムアクセスステータス変数を設定する(218)。ビデオデコーダ30は、次いで、参照ピクチャメモリ中に含まれるピクチャを参照のために使用されないとマークする(220)。このようにして、ビデオデコーダ30は、使用されないとマークされたピクチャを後で参照ピクチャメモリから削除し得る。ピクチャを参照のために使用されないとマークした後に、ビデオデコーダ30は、復号されたODRピクチャを参照ピクチャメモリに記憶する(222)。ビデオデコーダ30は、次いで、復号のために次の符号化ピクチャを判断する(210)。
図8Bは、ビデオデコーダによって復号されるべき符号化ピクチャがODRピクチャでないときにビデオデコーダによって実行され得る動作を示す。ビデオデコーダ30によって復号のために判断された符号化ピクチャがODRピクチャでないとき、ビデオデコーダ30は、ビデオデコーダ30がランダムアクセスを実行していることをランダムアクセスステータス変数が示すかどうかを判断する(230)。ビデオデコーダ30がランダムアクセスを実行していないことをランダムアクセスステータス変数が示す場合、ビデオデコーダ30はピクチャを復号する(232)。ビデオデコーダ30は、ODRピクチャの表示順序値よりも大きい表示順序値を有するピクチャのデータを出力し得る。ビデオデコーダ30は、次いで、復号のためにビデオシーケンス中の次の符号化ピクチャを判断する(238)。
図8Bに示すように、ビデオデコーダ30がランダムアクセスを実行していることをランダムアクセスステータス変数が示すとビデオデコーダ30が判断したとき、ビデオデコーダ30は、復号のために判断されたピクチャの表示順序がODRピクチャの表示順序よりも小さいかどうかを判断する(232)。このようにして、ビデオデコーダ30は、ビデオデータのオープン復号リフレッシュ(ODR)ピクチャがランダムアクセスポイントとして使用されていると判断し得る。復号のために選択されたピクチャの表示順序がODRピクチャの表示順序よりも小さい場合、ビデオデコーダ30は、ビデオがランダムアクセスを実行していることを示すために復号ステータス変数を不変のままにし得る。したがって、ビデオデコーダ30は、選択されたピクチャをさらに復号することを控える。ビデオデコーダ30は、したがって、ODRピクチャの表示順序値よりも小さい表示順序値と、ODRピクチャの復号順序値よりも大きい復号順序値とを有するピクチャのデータを出力することを控え得る。ビデオデコーダ30は、次いで、復号のために次の符号化ピクチャを判断する(238)。
いくつかの例では、ビデオデコーダ30は、復号のために選択されたピクチャの表示順序がODRピクチャの表示順序よりも大きいと判断する(232)。このようにして、ビデオデコーダ30は、ビデオデータのオープン復号リフレッシュ(ODR)ピクチャがランダムアクセスポイントとして使用されていると判断し得る。したがって、ビデオデコーダ30は、ビデオデコーダ30がもはやランダムアクセスを実行していない、すなわち、ビデオデコーダ30がビデオピクチャの通常の復号を実行していることを示すようにランダムアクセスステータス変数を設定する(234)。ビデオデコーダ30がビデオピクチャの通常の復号を実行していることを示すようにランダムアクセスステータス変数を設定した後に、ビデオデコーダ30は、選択されたピクチャを復号する(236)。ビデオデコーダ30は、次いで、復号のために次の符号化ピクチャを判断する(238)。
このように、図8Aおよび図8Bの方法は、ビデオデータのオープン復号リフレッシュ(ODR)ピクチャがランダムアクセスポイントとして使用されていると判断することと、その判断に基づいて、ODRピクチャの表示順序値よりも小さい表示順序値と、ODRピクチャの復号順序値よりも大きい復号順序値とを有するピクチャのデータの出力をスキップすることとを含む方法の一例を表す。
図9に、本開示のランダムアクセス技法を可能にするために、ODRピクチャのシンタックスデータ中で前のピクチャをシグナリングするためにビデオエンコーダによって実行され得る動作を示す。図9に示すように、図1および図2中のビデオエンコーダ20などのビデオエンコーダがODRピクチャを符号化する(250)。ビデオエンコーダ20は、ビデオエンコーダ20によって前に符号化されたピクチャを判断する(252)。ピクチャを判断すると、ビデオエンコーダ20は、前にコーディングされたピクチャがODRピクチャの表示順序よりも小さい表示順序を有するかどうかを判断する(254)。ビデオエンコーダ20は、さらに、前に符号化されたピクチャの時間レベル値が0であるかどうかを判断し得る。前にコーディングされたピクチャが、ODRピクチャの表示順序よりも小さい表示順序と、0の時間レベルとを有するとき、ビデオエンコーダ20は、前にコーディングされたピクチャを識別するODRピクチャのシンタックスデータをシグナリングする(256)。ODRピクチャのシンタックスデータ中で前にコーディングされたピクチャをシグナリングすることによって、ビデオデコーダは、その後、本開示で説明するランダムアクセス技法を実行するときにそのシンタックスデータを使用し得る。いくつかの例では、ビデオエンコーダ20は、判断されたピクチャの表示順序がODRピクチャの表示順序よりも小さくないと判断し得る。そのような例では、ビデオエンコーダ20は、別の前にコーディングされたピクチャを判断し、その後、表示順序がODRピクチャよりも小さく、0に等しい時間レベルを有するかどうかを判断し得る。
例によっては、本明細書で説明した技法のうちいずれかの、いくつかの作用またはイベントは、異なるシーケンスで実行され得、追加、マージ、または完全に除外され得る(たとえば、すべての説明した作用またはイベントが、本技法の実施のために必要であるとは限らない)ことを認識されたい。さらに、いくつかの例では、作用またはイベントは、連続的にではなく、同時に、たとえば、マルチスレッド処理、割込み処理、または複数のプロセッサを通して実施され得る。
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]
ビデオデータのオープン復号リフレッシュ(ODR)ピクチャがランダムアクセスポイントとして使用されていると判断することと、
前記判断に基づいて、前記ODRピクチャの表示順序値よりも小さい表示順序値と、前記ODRピクチャの復号順序値よりも大きい復号順序値とを有するピクチャのデータの出力をスキップすることと
を備える方法。
[C2]
ビデオデータの前記オープン復号リフレッシュ(ODR)ピクチャに関連するデータから、前記ビデオデータの前のピクチャの識別子を判断することと、
前記前のピクチャが参照ピクチャメモリに現在記憶されているかどうかを判断することと、
前記ODRピクチャの前記表示順序値よりも大きい表示順序値を有する前記ビデオデータのピクチャのデータのみを復号することと
をさらに備える、請求項1に記載の方法。
[C3]
前のフレームが参照フレームメモリに記憶されていないと判断したことに応答して、ランダムアクセスステータスをアクティブにし、前記参照フレームメモリに前記ODRフレームを記憶することをさらに備える、請求項2に記載の方法。
[C4]
前記ビデオデータの現在ピクチャを受信したことに応答して、前記ランダムアクセスステータスがアクティブにされているかどうかを判断することと、
前記ランダムアクセスステータスがアクティブにされていないとき、前記ビデオデータの前記現在ピクチャを復号することと
をさらに備える、請求項3に記載の方法。
[C5]
前記ランダムアクセスステータスがアクティブにされているとき、前記方法は、
前記現在ピクチャに関連する第1の表示順序値が、前記ODRピクチャに関連する第2の表示順序値よりも小さいかどうかを判断することと、
前記第1の表示順序値が前記第2の表示順序値よりも小さいとき、前記現在ピクチャの復号をスキップすることと、
前記第1の表示順序値が前記第2の表示順序値よりも大きいとき、前記ランダムアクセスステータスを非アクティブにし、前記現在ピクチャを復号することと
をさらに備える、請求項3に記載の方法。
[C6]
前記ランダムアクセスステータスがアクティブにされているとき、復号ピクチャバッファに記憶された各ピクチャを参照のために使用されないように設定すること
をさらに備える、請求項3に記載の方法。
[C7]
参照のために使用されないように設定された各ピクチャを前記復号ピクチャバッファから削除することをさらに備える、請求項6に記載の方法。
[C8]
ピクチャのスライス中でシグナリングされたシンタックス情報を受信することであって、前記シンタックス情報が、実行されるべき少なくとも1つのメモリ管理プロセスを示す、受信することと、
前記ランダムアクセスステータスがアクティブにされているとき、前記メモリ管理プロセスを無視することと
をさらに備える、請求項3に記載の方法。
[C9]
前記ビデオデータの特定の時間インスタンスから再生を開始せよという要求についてのデータを受信することと、
前記ODRピクチャの前記表示順序値が前記時間インスタンスに対応すると判断することと、
前記判断に基づいて復号について前記ODRピクチャを判断することと
をさらに備える、請求項2に記載の方法。
[C10]
前記ODRピクチャの前記表示順序値よりも小さい表示順序値を有し、前記ODRピクチャの復号順序値よりも大きい復号順序値を有する前記ビデオデータのピクチャをパースすることをさらに備える、請求項2に記載の方法。
[C11]
前記ODRピクチャの表示順序値よりも大きい表示順序値を有するピクチャのデータを出力すること
をさらに備える、請求項1に記載の方法。
[C12]
ビデオデータを復号するための装置であって、前記装置は、
ビデオデータのオープン復号リフレッシュ(ODR)ピクチャがランダムアクセスポイントとして使用されていると判断することと、
前記判断に基づいて、前記ODRピクチャの表示順序値よりも小さい表示順序値と、前記ODRピクチャの復号順序値よりも大きい復号順序値とを有するピクチャのデータの出力をスキップすることと
を行うように構成されたビデオデコーダを備える、装置。
[C13]
前記ビデオデコーダは、
ビデオデータの前記オープン復号リフレッシュ(ODR)ピクチャに関連するデータから、前記ビデオデータの前のピクチャの識別子を判断することと、
前記前のピクチャが参照ピクチャメモリに現在記憶されているかどうかを判断することと、
前記前のピクチャが前記参照ピクチャメモリに記憶されていないとき、前記ODRピクチャの前記表示順序値よりも大きい表示順序値を有する前記ビデオデータのピクチャのデータのみを復号することと
を行うようにさらに構成された、請求項12に記載の装置。
[C14]
前記ビデオデコーダは、
前記前のピクチャが前記参照ピクチャメモリに記憶されていないと判断したことに応答して、ランダムアクセスステータスをアクティブにし、前記参照ピクチャメモリに前記ODRピクチャを記憶する
ようにさらに構成された、請求項13に記載の装置。
[C15]
前記ビデオデコーダは、
前記ビデオデータの現在ピクチャを受信したことに応答して、前記ランダムアクセスステータスがアクティブにされているかどうかを判断することと、
前記ランダムアクセスステータスがアクティブにされていないとき、前記ビデオデータの前記現在ピクチャを復号することと
を行うようにさらに構成された、請求項14に記載の装置。
[C16]
前記ランダムアクセスステータスがアクティブにされているとき、前記ビデオデコーダは、
前記現在ピクチャに関連する第1の表示順序値が、前記ODRピクチャに関連する第2の表示順序値よりも小さいかどうかを判断することと、
前記第1の表示順序値が前記第2の表示順序値よりも小さいとき、前記現在ピクチャの復号をスキップすることと、
前記第1の表示順序値が前記第2の表示順序値よりも大きいとき、前記ランダムアクセスステータスを非アクティブにし、前記現在ピクチャを復号することと
を行うようにさらに構成された、請求項15に記載の装置。
[C17]
前記ビデオデコーダは、
前記ランダムアクセスステータスがアクティブにされているとき、復号ピクチャバッファに記憶された各ピクチャを参照のために使用されないように設定する
ようにさらに構成された、請求項14に記載の装置。
[C18]
前記ビデオデコーダが、
参照のために使用されないように設定された各ピクチャを前記復号ピクチャバッファから削除する
ようにさらに構成された、請求項17に記載の装置。
[C19]
前記ビデオデコーダは、
ピクチャのスライス中でシグナリングされたシンタックス情報を受信することであって、前記シンタックス情報が、実行されるべき少なくとも1つのメモリ管理プロセスを示す、受信することと、
前記ランダムアクセスステータスがアクティブにされているとき、前記メモリ管理プロセスを無視することと
を行うようにさらに構成された、請求項14に記載の装置。
[C20]
前記ビデオデコーダは、
前記ビデオデータの特定の時間インスタンスから再生を開始せよという要求についてのデータを受信することと、
前記ODRピクチャの前記表示順序値が前記時間インスタンスに対応すると判断することと、
前記判断に基づいて復号について前記ODRピクチャを判断することと
を行うようにさらに構成された、請求項13に記載の装置。
[C21]
前記ビデオデコーダが、
前記ODRピクチャの前記表示順序値よりも小さい表示順序値を有し、前記ODRピクチャの復号順序値よりも大きい復号順序値を有する前記ビデオデータのピクチャをパースする
ようにさらに構成された、請求項13に記載の装置。
[C22]
前記ビデオデコーダが、前記ODRピクチャの表示順序値よりも大きい表示順序値を有するピクチャのデータを出力するように構成された、請求項12に記載の装置。
[C23]
実行されたとき、
ビデオデータのオープン復号リフレッシュ(ODR)ピクチャがランダムアクセスポイントとして使用されていると判断することと、
前記判断に基づいて、前記ODRピクチャの表示順序値よりも小さい表示順序値と、前記ODRピクチャの復号順序値よりも大きい復号順序値とを有するピクチャのデータの出力をスキップすることと
を、ビデオデータを復号するためのデバイスのプロセッサに行わせる命令を記憶したコンピュータ可読記憶媒体を備えるコンピュータプログラム製品。
[C24]
ビデオデータの前記オープン復号リフレッシュ(ODR)ピクチャに関連するデータから、前記ビデオデータの前のピクチャの識別子を判断することと、
前記前のピクチャが参照ピクチャメモリに現在記憶されているかどうかを判断することと、
前記前のピクチャが前記参照ピクチャメモリに記憶されていないとき、前記ODRピクチャの前記表示順序値よりも大きい表示順序値を有する前記ビデオデータのピクチャのデータのみを復号することと
を前記プロセッサに行わせる命令をさらに備える、請求項23に記載のコンピュータプログラム製品。
[C25]
前記前のピクチャが前記参照ピクチャメモリに記憶されていないと判断したことに応答して、ランダムアクセスステータスをアクティブにし、前記参照ピクチャメモリに前記ODRピクチャを記憶すること
を前記プロセッサに行わせる命令をさらに備える、請求項24に記載のコンピュータプログラム製品。
[C26]
前記ビデオデータの現在ピクチャを受信したことに応答して、前記ランダムアクセスステータスがアクティブにされているかどうかを判断することと、
前記ランダムアクセスステータスがアクティブにされていないとき、前記ビデオデータの前記現在ピクチャを復号することと
を前記プロセッサに行わせる命令をさらに備える、請求項25に記載のコンピュータプログラム製品。
[C27]
前記ランダムアクセスステータスがアクティブにされているとき、
前記現在ピクチャに関連する第1の表示順序値が、前記ODRピクチャに関連する第2の表示順序値よりも小さいかどうかを判断することと、
前記第1の表示順序値が前記第2の表示順序値よりも小さいとき、前記現在ピクチャの復号をスキップすることと、
前記第1の表示順序値が前記第2の表示順序値よりも大きいとき、前記ランダムアクセスステータスを非アクティブにし、前記現在ピクチャを復号することと
を前記プロセッサに行わせる命令をさらに備える、請求項26に記載のコンピュータプログラム製品。
[C28]
前記ランダムアクセスステータスがアクティブにされているとき、復号ピクチャバッファに記憶された各ピクチャを参照のために使用されないように設定すること
を前記プロセッサに行わせる命令をさらに備える、請求項25に記載のコンピュータプログラム製品。
[C29]
参照のために使用されないように設定された各ピクチャを前記復号ピクチャバッファから削除すること
を前記プロセッサに行わせる命令をさらに備える、請求項28に記載のコンピュータプログラム製品。
[C30]
ピクチャのスライス中でシグナリングされたシンタックス情報を受信することであって、前記シンタックス情報が、実行されるべき少なくとも1つのメモリ管理プロセスを示す、受信することと、
前記ランダムアクセスステータスがアクティブにされているとき、前記メモリ管理プロセスを無視することと
を前記プロセッサに行わせる命令をさらに備える、請求項25に記載のコンピュータプログラム製品。
[C31]
前記ビデオデータの特定の時間インスタンスから再生を開始せよという要求についてのデータを受信することと、
前記ODRピクチャの前記表示順序値が前記時間インスタンスに対応すると判断することと、
前記判断に基づいて復号について前記ODRピクチャを判断することと
を前記プロセッサに行わせる命令をさらに備える、請求項24に記載のコンピュータプログラム製品。
[C32]
前記ODRピクチャの前記表示順序値よりも小さい表示順序値を有し、前記ODRピクチャの復号順序値よりも大きい復号順序値を有する前記ビデオデータのピクチャをパースすること
を前記プロセッサに行わせる命令をさらに備える、請求項24に記載のコンピュータプログラム製品。
[C33]
前記ODRピクチャの表示順序値よりも大きい表示順序値を有するピクチャのデータを出力すること
を前記プロセッサに行わせる命令をさらに備える、請求項23に記載のコンピュータプログラム製品。
[C34]
ビデオデータを復号するための装置であって、前記装置は、
ビデオデータのオープン復号リフレッシュ(ODR)ピクチャがランダムアクセスポイントとして使用されていると判断するための手段と、
前記判断に基づいて、前記ODRピクチャの表示順序値よりも小さい表示順序値と、前記ODRピクチャの復号順序値よりも大きい復号順序値とを有するピクチャのデータの出力をスキップするための手段と
を備える、装置。
[C35]
ビデオデータの前記オープン復号リフレッシュ(ODR)ピクチャに関連するデータから、前記ビデオデータの前のピクチャの識別子を判断するための手段と、
前記前のピクチャが参照ピクチャメモリに現在記憶されているかどうかを判断するための手段と、
前記前のピクチャが前記参照ピクチャメモリに記憶されていないとき、前記ODRピクチャの前記表示順序値よりも大きい表示順序値を有する前記ビデオデータのピクチャのデータのみを復号するための手段と
をさらに備える、請求項34に記載のビデオデータを復号するための装置。
[C36]
前記前のピクチャが前記参照ピクチャメモリに記憶されていないと判断したことに応答して、ランダムアクセスステータスをアクティブにし、前記参照ピクチャメモリに前記ODRピクチャを記憶するための手段
をさらに備える、請求項35に記載のビデオデータを復号するための装置。
[C37]
前記ビデオデータの現在ピクチャを受信したことに応答して、前記ランダムアクセスステータスがアクティブにされているかどうかを判断するための手段と、
前記ランダムアクセスステータスがアクティブにされていないとき、前記ビデオデータの前記現在ピクチャを復号するための手段と
をさらに備える、請求項36に記載のビデオデータを復号するための装置。
[C38]
前記現在ピクチャに関連する第1の表示順序値が、前記ODRピクチャに関連する第2の表示順序値よりも小さいかどうかを判断するための手段と、
前記第1の表示順序値が前記第2の表示順序値よりも小さいとき、前記現在ピクチャの復号をスキップするための手段と、
前記第1の表示順序値が前記第2の表示順序値よりも大きいとき、前記ランダムアクセスステータスを非アクティブにし、前記現在ピクチャを復号するための手段と
をさらに備える、請求項37に記載のビデオデータを復号するための装置。
[C39]
前記ランダムアクセスステータスがアクティブにされているとき、復号ピクチャバッファに記憶された各ピクチャを参照のために使用されないように設定するための手段
をさらに備える、請求項36に記載のビデオデータを復号するための装置。
[C40]
参照のために使用されないように設定された各ピクチャを前記復号ピクチャバッファから削除するための手段
をさらに備える、請求項39に記載のビデオデータを復号するための装置。
[C41]
ピクチャのスライス中でシグナリングされたシンタックス情報を受信するための手段であって、前記シンタックス情報が、実行されるべき少なくとも1つのメモリ管理プロセスを示す、受信するための手段と、
前記ランダムアクセスステータスがアクティブにされているとき、前記メモリ管理プロセスを無視するための手段と
をさらに備える、請求項36に記載のビデオデータを復号するための装置。
[C42]
前記ビデオデータの特定の時間インスタンスから再生を開始せよという要求についてのデータを受信するための手段と、
前記ODRピクチャの前記表示順序値が前記時間インスタンスに対応すると判断するための手段と、
前記判断に基づいて復号について前記ODRピクチャを判断するための手段と
をさらに備える、請求項35に記載のビデオデータを復号するための装置。
[C43]
前記ODRピクチャの前記表示順序値よりも小さい表示順序値を有し、前記ODRピクチャの復号順序値よりも大きい復号順序値を有する前記ビデオデータのピクチャをパースするための手段
をさらに備える、請求項35に記載のビデオデータを復号するための装置。
[C44]
前記ODRピクチャの表示順序値よりも大きい表示順序値を有するピクチャのデータを出力するための手段
をさらに備える、請求項34に記載のビデオデータを復号するための装置。
[C45]
ビデオデータを符号化する方法であって、前記方法は、
オープン復号リフレッシュ(ODR)ピクチャを符号化することと、
前記ODRピクチャの表示順序値よりも小さい表示順序値を有し、0に等しい時間識別子値を有する、前にコーディングされたピクチャを判断することと、
前記判断された前にコーディングされたピクチャの識別子に基づいて、前記ODRピクチャがランダムアクセスのために使用されているかどうかを判断することをビデオデコーダに行わせるために、前記判断された前にコーディングされたピクチャの前記識別子を表す前記ODRピクチャのシンタックスデータをシグナリングすることと
を備える、方法。
[C46]
前記前のピクチャの前記表示順序に基づいて前記前のピクチャを判断することは、
前に符号化されたピクチャの中から、0に等しい時間レベル値に関連するピクチャを識別するために、前記前に符号化されたピクチャに関連する時間レベル値を比較することであって、前記時間レベル値が、前記前に符号化されたピクチャ間の復号依存性を示す、比較することと、
前記前に符号化されたピクチャの中から、0に等しい前記時間レベル値に関連する前記ピクチャを識別したことに応答して、前記ピクチャを、前記ODRピクチャの前記表示順序値よりも小さい前記表示順序値を有し、0に等しい前記時間識別子値を有する前記前のピクチャとして判断することと
をさらに備える、請求項45に記載の方法。
[C47]
前記前のピクチャの前記表示順序に基づいて前記前のピクチャを判断することが、
前に符号化されたピクチャの中から、前記ODRピクチャの復号順序値に最も近い復号順序値を有するピクチャを識別するために、前記ODRピクチャの前記復号順序値を、前記前に符号化されたピクチャの復号順序値と比較することと、
前記前に符号化されたピクチャの中から、前記ODRピクチャに関連する前記復号順序値に最も近い前記復号順序値を有する前記ピクチャを識別したことに応答して、前記ピクチャを、前記ODRピクチャの前記表示順序値よりも小さい前記表示順序値を有し、0に等しい前記時間識別子値を有する前記前のピクチャとして判断することと
をさらに備える、請求項45に記載の方法。
[C48]
前記前のピクチャの前記表示順序に基づいて前記前のピクチャを判断することが、
前に符号化されたピクチャの中から、前記ODRピクチャの前記表示順序値に最も近い表示順序値を有するピクチャを識別するために、前記ODRピクチャの前記表示順序値を、前記前に符号化されたピクチャの表示順序値と比較することと、
前記前に符号化されたピクチャの中から、前記ODRピクチャに関連する前記表示順序値に最も近い前記表示順序値を有する前記ピクチャを識別したことに応答して、前記ピクチャを、前記ODRピクチャの前記表示順序値よりも小さい前記表示順序値を有し、0に等しい前記時間識別子値を有する前記前のピクチャとして判断することと
をさらに備える、請求項45に記載の方法。
[C49]
ビデオデータを符号化するための装置であって、前記装置は、
オープン復号リフレッシュ(ODR)ピクチャを符号化することと、
前記ODRピクチャの表示順序値よりも小さい表示順序値を有し、0に等しい時間識別子値を有する、前にコーディングされたピクチャを判断することと、
前記判断された前にコーディングされたピクチャの識別子に基づいて、前記ODRピクチャがランダムアクセスのために使用されているかどうかを判断することをビデオデコーダに行わせるために、前記判断された前にコーディングされたピクチャの前記識別子を表す前記ODRピクチャのシンタックスデータをシグナリングすることと
を行うように構成されたビデオエンコーダを備える、装置。
[C50]
前記ビデオエンコーダは、
前に符号化されたピクチャの中から、0に等しい時間レベル値に関連するピクチャを識別するために、前記前に符号化されたピクチャに関連する時間レベル値を比較することであって、前記時間レベル値が、前記前に符号化されたピクチャ間の復号依存性を示す、比較することと、
前記前に符号化されたピクチャの中から、0に等しい前記時間レベル値に関連する前記ピクチャを識別したことに応答して、前記ピクチャを、前記ODRピクチャの前記表示順序値よりも小さい前記表示順序値を有し、0に等しい前記時間識別子値を有する前記前のピクチャとして判断することと
を行うようにさらに構成された、請求項49に記載の装置。
[C51]
前記ビデオエンコーダが、
前に符号化されたピクチャの中から、前記ODRピクチャの復号順序値に最も近い復号順序値を有するピクチャを識別するために、前記ODRピクチャの前記復号順序値を、前記前に符号化されたピクチャの復号順序値と比較することと、
前記前に符号化されたピクチャの中から、前記ODRピクチャに関連する前記復号順序値に最も近い前記復号順序値を有する前記ピクチャを識別したことに応答して、前記ピクチャを、前記ODRピクチャの前記表示順序値よりも小さい前記表示順序値を有し、0に等しい前記時間識別子値を有する前記前のピクチャとして判断することと
を行うようにさらに構成された、請求項49に記載の装置。
[C52]
前記ビデオエンコーダが、
前に符号化されたピクチャの中から、前記ODRピクチャの前記表示順序値に最も近い表示順序値を有するピクチャを識別するために、前記ODRピクチャの前記表示順序値を、前記前に符号化されたピクチャの表示順序値と比較することと、
前記前に符号化されたピクチャの中から、前記ODRピクチャに関連する前記表示順序値に最も近い前記表示順序値を有する前記ピクチャを識別したことに応答して、前記ピクチャを、前記ODRピクチャの前記表示順序値よりも小さい前記表示順序値を有し、0に等しい前記時間識別子値を有する前記前のピクチャとして判断することと
を行うようにさらに構成された、請求項49に記載の装置。
[C53]
実行されたとき、
オープン復号リフレッシュ(ODR)ピクチャを符号化することと、
前記ODRピクチャの表示順序値よりも小さい表示順序値を有し、0に等しい時間識別子値を有する、前にコーディングされたピクチャを判断することと、
前記判断された前にコーディングされたピクチャの識別子に基づいて、前記ODRピクチャがランダムアクセスのために使用されているかどうかを判断することをビデオデコーダに行わせるために、前記判断された前にコーディングされたピクチャの前記識別子を表す前記ODRピクチャのシンタックスデータをシグナリングすることと
を、ビデオデータを復号するためのデバイスのプロセッサに行わせる命令を記憶したコンピュータ可読記憶媒体を備えるコンピュータプログラム製品。
[C54]
前に符号化されたピクチャの中から、0に等しい時間レベル値に関連するピクチャを識別するために、前記前に符号化されたピクチャに関連する時間レベル値を比較することであって、前記時間レベル値が、前記前に符号化されたピクチャ間の復号依存性を示す、比較することと、
前記前に符号化されたピクチャの中から、0に等しい前記時間レベル値に関連する前記ピクチャを識別したことに応答して、前記ピクチャを、前記ODRピクチャの前記表示順序値よりも小さい前記表示順序値を有し、0に等しい前記時間識別子値を有する前記前のピクチャとして判断することと
を前記プロセッサに行わせる命令をさらに備える、請求項53に記載のコンピュータプログラム製品。
[C55]
前に符号化されたピクチャの中から、前記ODRピクチャの復号順序値に最も近い復号順序値を有するピクチャを識別するために、前記ODRピクチャの前記復号順序値を、前記前に符号化されたピクチャの復号順序値と比較することと、
前記前に符号化されたピクチャの中から、前記ODRピクチャに関連する前記復号順序値に最も近い前記復号順序値を有する前記ピクチャを識別したことに応答して、前記ピクチャを、前記ODRピクチャの前記表示順序値よりも小さい前記表示順序値を有し、0に等しい前記時間識別子値を有する前記前のピクチャとして判断することと
を前記プロセッサに行わせる命令をさらに備える、請求項53に記載のコンピュータプログラム製品。
[C56]
前に符号化されたピクチャの中から、前記ODRピクチャの前記表示順序値に最も近い表示順序値を有するピクチャを識別するために、前記ODRピクチャの前記表示順序値を、前記前に符号化されたピクチャの表示順序値と比較することと、
前記前に符号化されたピクチャの中から、前記ODRピクチャに関連する前記表示順序値に最も近い前記表示順序値を有する前記ピクチャを識別したことに応答して、前記ピクチャを、前記ODRピクチャの前記表示順序値よりも小さい前記表示順序値を有し、0に等しい前記時間識別子値を有する前記前のピクチャとして判断することと
を前記プロセッサに行わせる命令をさらに備える、請求項53に記載のコンピュータプログラム製品。
[C57]
ビデオデータを符号化するための装置であって、前記装置は、
オープン復号リフレッシュ(ODR)ピクチャを符号化するための手段と、
前記ODRピクチャの表示順序値よりも小さい表示順序値を有し、0に等しい時間識別子値を有する、前にコーディングされたピクチャを判断するための手段と、
前記判断された前にコーディングされたピクチャの識別子に基づいて、前記ODRピクチャがランダムアクセスのために使用されているかどうかを判断することをビデオデコーダに行わせるために、前記判断された前にコーディングされたピクチャの前記識別子を表す前記ODRピクチャのシンタックスデータをシグナリングするための手段と
を備える、装置。
[C58]
前に符号化されたピクチャの中から、0に等しい時間レベル値に関連するピクチャを識別するために、前記前に符号化されたピクチャに関連する時間レベル値を比較するための手段であって、前記時間レベル値が、前記前に符号化されたピクチャ間の復号依存性を示す、比較するための手段と、
前記前に符号化されたピクチャの中から、0に等しい前記時間レベル値に関連する前記ピクチャを識別したことに応答して、前記ピクチャを、前記ODRピクチャの前記表示順序値よりも小さい前記表示順序値を有し、0に等しい前記時間識別子値を有する前記前のピクチャとして判断するための手段と
をさらに備える、請求項57に記載のビデオデータを復号するための装置。
[C59]
前に符号化されたピクチャの中から、前記ODRピクチャの復号順序値に最も近い復号順序値を有するピクチャを識別するために、前記ODRピクチャの前記復号順序値を、前記前に符号化されたピクチャの復号順序値と比較するための手段と、
前記前に符号化されたピクチャの中から、前記ODRピクチャに関連する前記復号順序値に最も近い前記復号順序値を有する前記ピクチャを識別したことに応答して、前記ピクチャを、前記ODRピクチャの前記表示順序値よりも小さい前記表示順序値を有し、0に等しい前記時間識別子値を有する前記前のピクチャとして判断するための手段と
をさらに備える、請求項58に記載のビデオデータを復号するための装置。
[C60]
前に符号化されたピクチャの中から、前記ODRピクチャの前記表示順序値に最も近い表示順序値を有するピクチャを識別するために、前記ODRピクチャの前記表示順序値を、前記前に符号化されたピクチャの表示順序値と比較するための手段と、
前記前に符号化されたピクチャの中から、前記ODRピクチャに関連する前記表示順序値に最も近い前記表示順序値を有する前記ピクチャを識別したことに応答して、前記ピクチャを、前記ODRピクチャの前記表示順序値よりも小さい前記表示順序値を有し、0に等しい前記時間識別子値を有する前記前のピクチャとして判断するための手段と
をさらに備える、請求項57に記載のビデオデータを復号するための装置。
したがって、本開示のいくつかの例示的な技法では、デコーダは、オープンGOPの他のピクチャを復号するために必要とされるピクチャがDPB中に存在するかどうかを判断するための自動ステータス検査を実行し得る。たとえば、ビデオデコーダは、ランダムアクセスのために使用される、復号されるべきODRピクチャを含むネットワークアブストラクションレイヤ(NAL:network abstraction layer)ユニットを初めに受信し得る。NALユニットが、実際は、連続順序で復号されるべき次のNALユニットであるとき、オープンGOPのピクチャがその上でNALユニット中に含まれる参照ピクチャが、ビデオデコーダのDPB中に存在しなければならない。一方、オープンGOPのピクチャがその上でNALユニット中に含まれる参照ピクチャがDPB中に存在しないとき、たとえば、ユーザが、ビデオデータの順が狂った時間ロケーションをシークするとき、ビデオデコーダは、NALユニット中のオープンGOPのODRピクチャがランダムアクセスのために使用されていると判断するように構成され得る。本開示の技法によれば、NALユニットは、前のGOP、すなわち、ビットストリーム中で現在GOPに先行するGOPからピクチャを識別する情報を含み得る。シグナリングされたピクチャがDPB中に存在する場合、ビデオデコーダは、ODRピクチャがランダムアクセスポイントとして使用されないと判断し得る。
逆量子化ユニット76は、ビットストリーム中で与えられ、エントロピー復号ユニット70によって復号された量子化変換係数を逆量子化(inverse quantize)、すなわち、逆量子化(de-quantize)する。逆量子化プロセスは、量子化の程度を判断し、同様に、適用されるべき逆量子化の程度を判断するための、ビデオスライス中のビデオブロックごとにビデオエンコーダ30によって計算される量子化パラメータQPYの使用を含み得る。
ランダムアクセスステータスは復号制御ユニット84がランダムアクセスを実行していることを示すとき、復号制御ユニット84は、ODRピクチャの表示順序値よりも大きい表示順序をもつピクチャのビデオデータを復号し得る。たとえば、ビデオデコーダ30がODRピクチャを(たとえば、ランダムアクセスのために)ODR RAPとして使用するとき、復号制御ユニット84は、さらに、ODR RAPピクチャのPOC値を記憶するための変数を作成し得る。一例では、この変数は「CurrODRPOC」と命名され得る。復号制御ユニット84は、ODRピクチャがODR RAPとして使用されていると判断すると、CurrODRPOCをODRピクチャのPOC値に設定し得る。
図6は、本開示の技法による、ODRピクチャと、そのODRピクチャにおいて識別された、前に符号化されたピクチャとの概念図である。図6は、クローズドGOP170とオープンGOP172とを含む。図6に示すように、クローズドGOP170は、Iピクチャであり得るピクチャ174を含む。オープンGOP172はピクチャ176を含む。ピクチャ176中には、Bピクチャ176A〜176Cと、単独の復号可能なピクチャ(たとえば、Iピクチャ)であり得るODRピクチャ176Dとが含まれる。初めに、(たとえば、図1および図2に示す)ビデオエンコーダ20は、ビデオシーケンス中のODRピクチャ176Dを符号化し得る。ビデオエンコーダ20がODRピクチャ176Dを符号化するとき、ビデオエンコーダ20は、ODRピクチャ176Dの表示順序よりも小さい表示順序を有する、前に符号化されたピクチャ174を判断し得る。いくつかの例では、ビデオエンコーダ20は、前に符号化されたピクチャ174を識別するために参照ピクチャメモリを探索し得る。ビデオエンコーダ20は、オープンGOP172の1つまたは複数のピクチャが前のピクチャ174に依存するかどうかを判断することによって前のピクチャ174を判断し得る。たとえば、符号化ODRピクチャ176Dを含むオープンGOP172のピクチャ176A〜176C(たとえば、先行ピクチャ)は、適切な復号のために前のピクチャ174に依存し得る。いくつかの例では、ビデオエンコーダ20は、前に符号化されたピクチャとして、0に等しい時間レベルを有する、復号順序および表示順序でODRピクチャより前の最も近接したピクチャであるピクチャ174を判断し得る。前のピクチャ174とは異なり、ピクチャ176A〜176Cは、0よりも大きい時間レベルを有し得、したがって、ビデオエンコーダ20は、これらのピクチャのいずれも前のピクチャとして選択し得ない。
図8Aおよび図8Bは、本開示の技法による、ビデオデコーダによって実行され得る動作の例を示すフローチャートである。図8Aおよび8Bの例示的な動作について、図1および図3に示すビデオデコーダ30に関して説明する。図8Aに示すように、ビデオデコーダ30は、初めに、復号順序で直近に復号されたピクチャに後続しないピクチャを復号するための指示(たとえば、ユーザ入力)を受信し得る。したがって、ビデオデコーダ30は、その指示によって識別される符号化ピクチャを判断する(210)。ビデオデコーダ30は、符号化ピクチャがODRピクチャであるかどうかを判断する(212)。ビデオデコーダ30は符号化ピクチャがODRピクチャであると判断した場合、ビデオデコーダ30はそのODRピクチャを復号する(214)。

Claims (60)

  1. ビデオデータのオープン復号リフレッシュ(ODR)ピクチャがランダムアクセスポイントとして使用されていると判断することと、
    前記判断に基づいて、前記ODRピクチャの表示順序値よりも小さい表示順序値と、前記ODRピクチャの復号順序値よりも大きい復号順序値とを有するピクチャのデータの出力をスキップすることと
    を備える方法。
  2. ビデオデータの前記オープン復号リフレッシュ(ODR)ピクチャに関連するデータから、前記ビデオデータの前のピクチャの識別子を判断することと、
    前記前のピクチャが参照ピクチャメモリに現在記憶されているかどうかを判断することと、
    前記ODRピクチャの前記表示順序値よりも大きい表示順序値を有する前記ビデオデータのピクチャのデータのみを復号することと
    をさらに備える、請求項1に記載の方法。
  3. 前のフレームが参照フレームメモリに記憶されていないと判断したことに応答して、ランダムアクセスステータスをアクティブにし、前記参照フレームメモリに前記ODRフレームを記憶することをさらに備える、請求項2に記載の方法。
  4. 前記ビデオデータの現在ピクチャを受信したことに応答して、前記ランダムアクセスステータスがアクティブにされているかどうかを判断することと、
    前記ランダムアクセスステータスがアクティブにされていないとき、前記ビデオデータの前記現在ピクチャを復号することと
    をさらに備える、請求項3に記載の方法。
  5. 前記ランダムアクセスステータスがアクティブにされているとき、前記方法は、
    前記現在ピクチャに関連する第1の表示順序値が、前記ODRピクチャに関連する第2の表示順序値よりも小さいかどうかを判断することと、
    前記第1の表示順序値が前記第2の表示順序値よりも小さいとき、前記現在ピクチャの復号をスキップすることと、
    前記第1の表示順序値が前記第2の表示順序値よりも大きいとき、前記ランダムアクセスステータスを非アクティブにし、前記現在ピクチャを復号することと
    をさらに備える、請求項3に記載の方法。
  6. 前記ランダムアクセスステータスがアクティブにされているとき、復号ピクチャバッファに記憶された各ピクチャを参照のために使用されないように設定すること
    をさらに備える、請求項3に記載の方法。
  7. 参照のために使用されないように設定された各ピクチャを前記復号ピクチャバッファから削除することをさらに備える、請求項6に記載の方法。
  8. ピクチャのスライス中でシグナリングされたシンタックス情報を受信することであって、前記シンタックス情報が、実行されるべき少なくとも1つのメモリ管理プロセスを示す、受信することと、
    前記ランダムアクセスステータスがアクティブにされているとき、前記メモリ管理プロセスを無視することと
    をさらに備える、請求項3に記載の方法。
  9. 前記ビデオデータの特定の時間インスタンスから再生を開始せよという要求についてのデータを受信することと、
    前記ODRピクチャの前記表示順序値が前記時間インスタンスに対応すると判断することと、
    前記判断に基づいて復号について前記ODRピクチャを判断することと
    をさらに備える、請求項2に記載の方法。
  10. 前記ODRピクチャの前記表示順序値よりも小さい表示順序値を有し、前記ODRピクチャの復号順序値よりも大きい復号順序値を有する前記ビデオデータのピクチャをパースすることをさらに備える、請求項2に記載の方法。
  11. 前記ODRピクチャの表示順序値よりも大きい表示順序値を有するピクチャのデータを出力すること
    をさらに備える、請求項1に記載の方法。
  12. ビデオデータを復号するための装置であって、前記装置は、
    ビデオデータのオープン復号リフレッシュ(ODR)ピクチャがランダムアクセスポイントとして使用されていると判断することと、
    前記判断に基づいて、前記ODRピクチャの表示順序値よりも小さい表示順序値と、前記ODRピクチャの復号順序値よりも大きい復号順序値とを有するピクチャのデータの出力をスキップすることと
    を行うように構成されたビデオデコーダを備える、装置。
  13. 前記ビデオデコーダは、
    ビデオデータの前記オープン復号リフレッシュ(ODR)ピクチャに関連するデータから、前記ビデオデータの前のピクチャの識別子を判断することと、
    前記前のピクチャが参照ピクチャメモリに現在記憶されているかどうかを判断することと、
    前記前のピクチャが前記参照ピクチャメモリに記憶されていないとき、前記ODRピクチャの前記表示順序値よりも大きい表示順序値を有する前記ビデオデータのピクチャのデータのみを復号することと
    を行うようにさらに構成された、請求項12に記載の装置。
  14. 前記ビデオデコーダは、
    前記前のピクチャが前記参照ピクチャメモリに記憶されていないと判断したことに応答して、ランダムアクセスステータスをアクティブにし、前記参照ピクチャメモリに前記ODRピクチャを記憶する
    ようにさらに構成された、請求項13に記載の装置。
  15. 前記ビデオデコーダは、
    前記ビデオデータの現在ピクチャを受信したことに応答して、前記ランダムアクセスステータスがアクティブにされているかどうかを判断することと、
    前記ランダムアクセスステータスがアクティブにされていないとき、前記ビデオデータの前記現在ピクチャを復号することと
    を行うようにさらに構成された、請求項14に記載の装置。
  16. 前記ランダムアクセスステータスがアクティブにされているとき、前記ビデオデコーダは、
    前記現在ピクチャに関連する第1の表示順序値が、前記ODRピクチャに関連する第2の表示順序値よりも小さいかどうかを判断することと、
    前記第1の表示順序値が前記第2の表示順序値よりも小さいとき、前記現在ピクチャの復号をスキップすることと、
    前記第1の表示順序値が前記第2の表示順序値よりも大きいとき、前記ランダムアクセスステータスを非アクティブにし、前記現在ピクチャを復号することと
    を行うようにさらに構成された、請求項15に記載の装置。
  17. 前記ビデオデコーダは、
    前記ランダムアクセスステータスがアクティブにされているとき、復号ピクチャバッファに記憶された各ピクチャを参照のために使用されないように設定する
    ようにさらに構成された、請求項14に記載の装置。
  18. 前記ビデオデコーダが、
    参照のために使用されないように設定された各ピクチャを前記復号ピクチャバッファから削除する
    ようにさらに構成された、請求項17に記載の装置。
  19. 前記ビデオデコーダは、
    ピクチャのスライス中でシグナリングされたシンタックス情報を受信することであって、前記シンタックス情報が、実行されるべき少なくとも1つのメモリ管理プロセスを示す、受信することと、
    前記ランダムアクセスステータスがアクティブにされているとき、前記メモリ管理プロセスを無視することと
    を行うようにさらに構成された、請求項14に記載の装置。
  20. 前記ビデオデコーダは、
    前記ビデオデータの特定の時間インスタンスから再生を開始せよという要求についてのデータを受信することと、
    前記ODRピクチャの前記表示順序値が前記時間インスタンスに対応すると判断することと、
    前記判断に基づいて復号について前記ODRピクチャを判断することと
    を行うようにさらに構成された、請求項13に記載の装置。
  21. 前記ビデオデコーダが、
    前記ODRピクチャの前記表示順序値よりも小さい表示順序値を有し、前記ODRピクチャの復号順序値よりも大きい復号順序値を有する前記ビデオデータのピクチャをパースする
    ようにさらに構成された、請求項13に記載の装置。
  22. 前記ビデオデコーダが、前記ODRピクチャの表示順序値よりも大きい表示順序値を有するピクチャのデータを出力するように構成された、請求項12に記載の装置。
  23. 実行されたとき、
    ビデオデータのオープン復号リフレッシュ(ODR)ピクチャがランダムアクセスポイントとして使用されていると判断することと、
    前記判断に基づいて、前記ODRピクチャの表示順序値よりも小さい表示順序値と、前記ODRピクチャの復号順序値よりも大きい復号順序値とを有するピクチャのデータの出力をスキップすることと
    を、ビデオデータを復号するためのデバイスのプロセッサに行わせる命令を記憶したコンピュータ可読記憶媒体を備えるコンピュータプログラム製品。
  24. ビデオデータの前記オープン復号リフレッシュ(ODR)ピクチャに関連するデータから、前記ビデオデータの前のピクチャの識別子を判断することと、
    前記前のピクチャが参照ピクチャメモリに現在記憶されているかどうかを判断することと、
    前記前のピクチャが前記参照ピクチャメモリに記憶されていないとき、前記ODRピクチャの前記表示順序値よりも大きい表示順序値を有する前記ビデオデータのピクチャのデータのみを復号することと
    を前記プロセッサに行わせる命令をさらに備える、請求項23に記載のコンピュータプログラム製品。
  25. 前記前のピクチャが前記参照ピクチャメモリに記憶されていないと判断したことに応答して、ランダムアクセスステータスをアクティブにし、前記参照ピクチャメモリに前記ODRピクチャを記憶すること
    を前記プロセッサに行わせる命令をさらに備える、請求項24に記載のコンピュータプログラム製品。
  26. 前記ビデオデータの現在ピクチャを受信したことに応答して、前記ランダムアクセスステータスがアクティブにされているかどうかを判断することと、
    前記ランダムアクセスステータスがアクティブにされていないとき、前記ビデオデータの前記現在ピクチャを復号することと
    を前記プロセッサに行わせる命令をさらに備える、請求項25に記載のコンピュータプログラム製品。
  27. 前記ランダムアクセスステータスがアクティブにされているとき、
    前記現在ピクチャに関連する第1の表示順序値が、前記ODRピクチャに関連する第2の表示順序値よりも小さいかどうかを判断することと、
    前記第1の表示順序値が前記第2の表示順序値よりも小さいとき、前記現在ピクチャの復号をスキップすることと、
    前記第1の表示順序値が前記第2の表示順序値よりも大きいとき、前記ランダムアクセスステータスを非アクティブにし、前記現在ピクチャを復号することと
    を前記プロセッサに行わせる命令をさらに備える、請求項26に記載のコンピュータプログラム製品。
  28. 前記ランダムアクセスステータスがアクティブにされているとき、復号ピクチャバッファに記憶された各ピクチャを参照のために使用されないように設定すること
    を前記プロセッサに行わせる命令をさらに備える、請求項25に記載のコンピュータプログラム製品。
  29. 参照のために使用されないように設定された各ピクチャを前記復号ピクチャバッファから削除すること
    を前記プロセッサに行わせる命令をさらに備える、請求項28に記載のコンピュータプログラム製品。
  30. ピクチャのスライス中でシグナリングされたシンタックス情報を受信することであって、前記シンタックス情報が、実行されるべき少なくとも1つのメモリ管理プロセスを示す、受信することと、
    前記ランダムアクセスステータスがアクティブにされているとき、前記メモリ管理プロセスを無視することと
    を前記プロセッサに行わせる命令をさらに備える、請求項25に記載のコンピュータプログラム製品。
  31. 前記ビデオデータの特定の時間インスタンスから再生を開始せよという要求についてのデータを受信することと、
    前記ODRピクチャの前記表示順序値が前記時間インスタンスに対応すると判断することと、
    前記判断に基づいて復号について前記ODRピクチャを判断することと
    を前記プロセッサに行わせる命令をさらに備える、請求項24に記載のコンピュータプログラム製品。
  32. 前記ODRピクチャの前記表示順序値よりも小さい表示順序値を有し、前記ODRピクチャの復号順序値よりも大きい復号順序値を有する前記ビデオデータのピクチャをパースすること
    を前記プロセッサに行わせる命令をさらに備える、請求項24に記載のコンピュータプログラム製品。
  33. 前記ODRピクチャの表示順序値よりも大きい表示順序値を有するピクチャのデータを出力すること
    を前記プロセッサに行わせる命令をさらに備える、請求項23に記載のコンピュータプログラム製品。
  34. ビデオデータを復号するための装置であって、前記装置は、
    ビデオデータのオープン復号リフレッシュ(ODR)ピクチャがランダムアクセスポイントとして使用されていると判断するための手段と、
    前記判断に基づいて、前記ODRピクチャの表示順序値よりも小さい表示順序値と、前記ODRピクチャの復号順序値よりも大きい復号順序値とを有するピクチャのデータの出力をスキップするための手段と
    を備える、装置。
  35. ビデオデータの前記オープン復号リフレッシュ(ODR)ピクチャに関連するデータから、前記ビデオデータの前のピクチャの識別子を判断するための手段と、
    前記前のピクチャが参照ピクチャメモリに現在記憶されているかどうかを判断するための手段と、
    前記前のピクチャが前記参照ピクチャメモリに記憶されていないとき、前記ODRピクチャの前記表示順序値よりも大きい表示順序値を有する前記ビデオデータのピクチャのデータのみを復号するための手段と
    をさらに備える、請求項34に記載のビデオデータを復号するための装置。
  36. 前記前のピクチャが前記参照ピクチャメモリに記憶されていないと判断したことに応答して、ランダムアクセスステータスをアクティブにし、前記参照ピクチャメモリに前記ODRピクチャを記憶するための手段
    をさらに備える、請求項35に記載のビデオデータを復号するための装置。
  37. 前記ビデオデータの現在ピクチャを受信したことに応答して、前記ランダムアクセスステータスがアクティブにされているかどうかを判断するための手段と、
    前記ランダムアクセスステータスがアクティブにされていないとき、前記ビデオデータの前記現在ピクチャを復号するための手段と
    をさらに備える、請求項36に記載のビデオデータを復号するための装置。
  38. 前記現在ピクチャに関連する第1の表示順序値が、前記ODRピクチャに関連する第2の表示順序値よりも小さいかどうかを判断するための手段と、
    前記第1の表示順序値が前記第2の表示順序値よりも小さいとき、前記現在ピクチャの復号をスキップするための手段と、
    前記第1の表示順序値が前記第2の表示順序値よりも大きいとき、前記ランダムアクセスステータスを非アクティブにし、前記現在ピクチャを復号するための手段と
    をさらに備える、請求項37に記載のビデオデータを復号するための装置。
  39. 前記ランダムアクセスステータスがアクティブにされているとき、復号ピクチャバッファに記憶された各ピクチャを参照のために使用されないように設定するための手段
    をさらに備える、請求項36に記載のビデオデータを復号するための装置。
  40. 参照のために使用されないように設定された各ピクチャを前記復号ピクチャバッファから削除するための手段
    をさらに備える、請求項39に記載のビデオデータを復号するための装置。
  41. ピクチャのスライス中でシグナリングされたシンタックス情報を受信するための手段であって、前記シンタックス情報が、実行されるべき少なくとも1つのメモリ管理プロセスを示す、受信するための手段と、
    前記ランダムアクセスステータスがアクティブにされているとき、前記メモリ管理プロセスを無視するための手段と
    をさらに備える、請求項36に記載のビデオデータを復号するための装置。
  42. 前記ビデオデータの特定の時間インスタンスから再生を開始せよという要求についてのデータを受信するための手段と、
    前記ODRピクチャの前記表示順序値が前記時間インスタンスに対応すると判断するための手段と、
    前記判断に基づいて復号について前記ODRピクチャを判断するための手段と
    をさらに備える、請求項35に記載のビデオデータを復号するための装置。
  43. 前記ODRピクチャの前記表示順序値よりも小さい表示順序値を有し、前記ODRピクチャの復号順序値よりも大きい復号順序値を有する前記ビデオデータのピクチャをパースするための手段
    をさらに備える、請求項35に記載のビデオデータを復号するための装置。
  44. 前記ODRピクチャの表示順序値よりも大きい表示順序値を有するピクチャのデータを出力するための手段
    をさらに備える、請求項34に記載のビデオデータを復号するための装置。
  45. ビデオデータを符号化する方法であって、前記方法は、
    オープン復号リフレッシュ(ODR)ピクチャを符号化することと、
    前記ODRピクチャの表示順序値よりも小さい表示順序値を有し、0に等しい時間識別子値を有する、前にコーディングされたピクチャを判断することと、
    前記判断された前にコーディングされたピクチャの識別子に基づいて、前記ODRピクチャがランダムアクセスのために使用されているかどうかを判断することをビデオデコーダに行わせるために、前記判断された前にコーディングされたピクチャの前記識別子を表す前記ODRピクチャのシンタックスデータをシグナリングすることと
    を備える、方法。
  46. 前記前のピクチャの前記表示順序に基づいて前記前のピクチャを判断することは、
    前に符号化されたピクチャの中から、0に等しい時間レベル値に関連するピクチャを識別するために、前記前に符号化されたピクチャに関連する時間レベル値を比較することであって、前記時間レベル値が、前記前に符号化されたピクチャ間の復号依存性を示す、比較することと、
    前記前に符号化されたピクチャの中から、0に等しい前記時間レベル値に関連する前記ピクチャを識別したことに応答して、前記ピクチャを、前記ODRピクチャの前記表示順序値よりも小さい前記表示順序値を有し、0に等しい前記時間識別子値を有する前記前のピクチャとして判断することと
    をさらに備える、請求項45に記載の方法。
  47. 前記前のピクチャの前記表示順序に基づいて前記前のピクチャを判断することが、
    前に符号化されたピクチャの中から、前記ODRピクチャの復号順序値に最も近い復号順序値を有するピクチャを識別するために、前記ODRピクチャの前記復号順序値を、前記前に符号化されたピクチャの復号順序値と比較することと、
    前記前に符号化されたピクチャの中から、前記ODRピクチャに関連する前記復号順序値に最も近い前記復号順序値を有する前記ピクチャを識別したことに応答して、前記ピクチャを、前記ODRピクチャの前記表示順序値よりも小さい前記表示順序値を有し、0に等しい前記時間識別子値を有する前記前のピクチャとして判断することと
    をさらに備える、請求項45に記載の方法。
  48. 前記前のピクチャの前記表示順序に基づいて前記前のピクチャを判断することが、
    前に符号化されたピクチャの中から、前記ODRピクチャの前記表示順序値に最も近い表示順序値を有するピクチャを識別するために、前記ODRピクチャの前記表示順序値を、前記前に符号化されたピクチャの表示順序値と比較することと、
    前記前に符号化されたピクチャの中から、前記ODRピクチャに関連する前記表示順序値に最も近い前記表示順序値を有する前記ピクチャを識別したことに応答して、前記ピクチャを、前記ODRピクチャの前記表示順序値よりも小さい前記表示順序値を有し、0に等しい前記時間識別子値を有する前記前のピクチャとして判断することと
    をさらに備える、請求項45に記載の方法。
  49. ビデオデータを符号化するための装置であって、前記装置は、
    オープン復号リフレッシュ(ODR)ピクチャを符号化することと、
    前記ODRピクチャの表示順序値よりも小さい表示順序値を有し、0に等しい時間識別子値を有する、前にコーディングされたピクチャを判断することと、
    前記判断された前にコーディングされたピクチャの識別子に基づいて、前記ODRピクチャがランダムアクセスのために使用されているかどうかを判断することをビデオデコーダに行わせるために、前記判断された前にコーディングされたピクチャの前記識別子を表す前記ODRピクチャのシンタックスデータをシグナリングすることと
    を行うように構成されたビデオエンコーダを備える、装置。
  50. 前記ビデオエンコーダは、
    前に符号化されたピクチャの中から、0に等しい時間レベル値に関連するピクチャを識別するために、前記前に符号化されたピクチャに関連する時間レベル値を比較することであって、前記時間レベル値が、前記前に符号化されたピクチャ間の復号依存性を示す、比較することと、
    前記前に符号化されたピクチャの中から、0に等しい前記時間レベル値に関連する前記ピクチャを識別したことに応答して、前記ピクチャを、前記ODRピクチャの前記表示順序値よりも小さい前記表示順序値を有し、0に等しい前記時間識別子値を有する前記前のピクチャとして判断することと
    を行うようにさらに構成された、請求項49に記載の装置。
  51. 前記ビデオエンコーダが、
    前に符号化されたピクチャの中から、前記ODRピクチャの復号順序値に最も近い復号順序値を有するピクチャを識別するために、前記ODRピクチャの前記復号順序値を、前記前に符号化されたピクチャの復号順序値と比較することと、
    前記前に符号化されたピクチャの中から、前記ODRピクチャに関連する前記復号順序値に最も近い前記復号順序値を有する前記ピクチャを識別したことに応答して、前記ピクチャを、前記ODRピクチャの前記表示順序値よりも小さい前記表示順序値を有し、0に等しい前記時間識別子値を有する前記前のピクチャとして判断することと
    を行うようにさらに構成された、請求項49に記載の装置。
  52. 前記ビデオエンコーダが、
    前に符号化されたピクチャの中から、前記ODRピクチャの前記表示順序値に最も近い表示順序値を有するピクチャを識別するために、前記ODRピクチャの前記表示順序値を、前記前に符号化されたピクチャの表示順序値と比較することと、
    前記前に符号化されたピクチャの中から、前記ODRピクチャに関連する前記表示順序値に最も近い前記表示順序値を有する前記ピクチャを識別したことに応答して、前記ピクチャを、前記ODRピクチャの前記表示順序値よりも小さい前記表示順序値を有し、0に等しい前記時間識別子値を有する前記前のピクチャとして判断することと
    を行うようにさらに構成された、請求項49に記載の装置。
  53. 実行されたとき、
    オープン復号リフレッシュ(ODR)ピクチャを符号化することと、
    前記ODRピクチャの表示順序値よりも小さい表示順序値を有し、0に等しい時間識別子値を有する、前にコーディングされたピクチャを判断することと、
    前記判断された前にコーディングされたピクチャの識別子に基づいて、前記ODRピクチャがランダムアクセスのために使用されているかどうかを判断することをビデオデコーダに行わせるために、前記判断された前にコーディングされたピクチャの前記識別子を表す前記ODRピクチャのシンタックスデータをシグナリングすることと
    を、ビデオデータを復号するためのデバイスのプロセッサに行わせる命令を記憶したコンピュータ可読記憶媒体を備えるコンピュータプログラム製品。
  54. 前に符号化されたピクチャの中から、0に等しい時間レベル値に関連するピクチャを識別するために、前記前に符号化されたピクチャに関連する時間レベル値を比較することであって、前記時間レベル値が、前記前に符号化されたピクチャ間の復号依存性を示す、比較することと、
    前記前に符号化されたピクチャの中から、0に等しい前記時間レベル値に関連する前記ピクチャを識別したことに応答して、前記ピクチャを、前記ODRピクチャの前記表示順序値よりも小さい前記表示順序値を有し、0に等しい前記時間識別子値を有する前記前のピクチャとして判断することと
    を前記プロセッサに行わせる命令をさらに備える、請求項53に記載のコンピュータプログラム製品。
  55. 前に符号化されたピクチャの中から、前記ODRピクチャの復号順序値に最も近い復号順序値を有するピクチャを識別するために、前記ODRピクチャの前記復号順序値を、前記前に符号化されたピクチャの復号順序値と比較することと、
    前記前に符号化されたピクチャの中から、前記ODRピクチャに関連する前記復号順序値に最も近い前記復号順序値を有する前記ピクチャを識別したことに応答して、前記ピクチャを、前記ODRピクチャの前記表示順序値よりも小さい前記表示順序値を有し、0に等しい前記時間識別子値を有する前記前のピクチャとして判断することと
    を前記プロセッサに行わせる命令をさらに備える、請求項53に記載のコンピュータプログラム製品。
  56. 前に符号化されたピクチャの中から、前記ODRピクチャの前記表示順序値に最も近い表示順序値を有するピクチャを識別するために、前記ODRピクチャの前記表示順序値を、前記前に符号化されたピクチャの表示順序値と比較することと、
    前記前に符号化されたピクチャの中から、前記ODRピクチャに関連する前記表示順序値に最も近い前記表示順序値を有する前記ピクチャを識別したことに応答して、前記ピクチャを、前記ODRピクチャの前記表示順序値よりも小さい前記表示順序値を有し、0に等しい前記時間識別子値を有する前記前のピクチャとして判断することと
    を前記プロセッサに行わせる命令をさらに備える、請求項53に記載のコンピュータプログラム製品。
  57. ビデオデータを符号化するための装置であって、前記装置は、
    オープン復号リフレッシュ(ODR)ピクチャを符号化するための手段と、
    前記ODRピクチャの表示順序値よりも小さい表示順序値を有し、0に等しい時間識別子値を有する、前にコーディングされたピクチャを判断するための手段と、
    前記判断された前にコーディングされたピクチャの識別子に基づいて、前記ODRピクチャがランダムアクセスのために使用されているかどうかを判断することをビデオデコーダに行わせるために、前記判断された前にコーディングされたピクチャの前記識別子を表す前記ODRピクチャのシンタックスデータをシグナリングするための手段と
    を備える、装置。
  58. 前に符号化されたピクチャの中から、0に等しい時間レベル値に関連するピクチャを識別するために、前記前に符号化されたピクチャに関連する時間レベル値を比較するための手段であって、前記時間レベル値が、前記前に符号化されたピクチャ間の復号依存性を示す、比較するための手段と、
    前記前に符号化されたピクチャの中から、0に等しい前記時間レベル値に関連する前記ピクチャを識別したことに応答して、前記ピクチャを、前記ODRピクチャの前記表示順序値よりも小さい前記表示順序値を有し、0に等しい前記時間識別子値を有する前記前のピクチャとして判断するための手段と
    をさらに備える、請求項57に記載のビデオデータを復号するための装置。
  59. 前に符号化されたピクチャの中から、前記ODRピクチャの復号順序値に最も近い復号順序値を有するピクチャを識別するために、前記ODRピクチャの前記復号順序値を、前記前に符号化されたピクチャの復号順序値と比較するための手段と、
    前記前に符号化されたピクチャの中から、前記ODRピクチャに関連する前記復号順序値に最も近い前記復号順序値を有する前記ピクチャを識別したことに応答して、前記ピクチャを、前記ODRピクチャの前記表示順序値よりも小さい前記表示順序値を有し、0に等しい前記時間識別子値を有する前記前のピクチャとして判断するための手段と
    をさらに備える、請求項58に記載のビデオデータを復号するための装置。
  60. 前に符号化されたピクチャの中から、前記ODRピクチャの前記表示順序値に最も近い表示順序値を有するピクチャを識別するために、前記ODRピクチャの前記表示順序値を、前記前に符号化されたピクチャの表示順序値と比較するための手段と、
    前記前に符号化されたピクチャの中から、前記ODRピクチャに関連する前記表示順序値に最も近い前記表示順序値を有する前記ピクチャを識別したことに応答して、前記ピクチャを、前記ODRピクチャの前記表示順序値よりも小さい前記表示順序値を有し、0に等しい前記時間識別子値を有する前記前のピクチャとして判断するための手段と
    をさらに備える、請求項57に記載のビデオデータを復号するための装置。
JP2013557805A 2011-03-08 2012-03-06 ビデオコーデックにおけるバッファ管理 Expired - Fee Related JP5859581B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161450572P 2011-03-08 2011-03-08
US61/450,572 2011-03-08
US13/412,377 2012-03-05
US13/412,377 US9516379B2 (en) 2011-03-08 2012-03-05 Buffer management in video codecs
PCT/US2012/027884 WO2012122169A1 (en) 2011-03-08 2012-03-06 Buffer management in video codecs

Publications (2)

Publication Number Publication Date
JP2014511652A true JP2014511652A (ja) 2014-05-15
JP5859581B2 JP5859581B2 (ja) 2016-02-10

Family

ID=46795570

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013557805A Expired - Fee Related JP5859581B2 (ja) 2011-03-08 2012-03-06 ビデオコーデックにおけるバッファ管理

Country Status (6)

Country Link
US (1) US9516379B2 (ja)
EP (1) EP2684377B1 (ja)
JP (1) JP5859581B2 (ja)
KR (1) KR101623630B1 (ja)
TW (1) TW201244489A (ja)
WO (1) WO2012122169A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014526180A (ja) * 2011-07-15 2014-10-02 テレフオンアクチーボラゲット エル エム エリクソン(パブル) クリーンランダムアクセス画像に最下レイヤ識別情報を割り当てるための符号器およびその方法

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011199396A (ja) 2010-03-17 2011-10-06 Ntt Docomo Inc 動画像予測符号化装置、動画像予測符号化方法、動画像予測符号化プログラム、動画像予測復号装置、動画像予測復号方法、及び動画像予測復号プログラム
EP3902258A1 (en) 2011-06-30 2021-10-27 Telefonaktiebolaget LM Ericsson (publ) Reference picture signaling
TWI637628B (zh) * 2011-07-02 2018-10-01 三星電子股份有限公司 視訊解碼裝置執行的解碼視訊的方法、視訊編碼裝置執行的編碼視訊的方法以及非暫態的電腦可讀取儲存媒體
PL3474551T3 (pl) * 2011-09-22 2022-07-04 Lg Electronics Inc. Sposób predykcji międzyobrazowej wykonywany przez urządzenie dekodujące, sposób kodowania wideo wykonywany przez urządzenie kodujące i odczytywalny przez dekoder nośnik zapisu przechowujący zakodowaną informację wideo.
US10034018B2 (en) 2011-09-23 2018-07-24 Velos Media, Llc Decoded picture buffer management
US9264717B2 (en) 2011-10-31 2016-02-16 Qualcomm Incorporated Random access with advanced decoded picture buffer (DPB) management in video coding
US9276989B2 (en) * 2012-03-30 2016-03-01 Adobe Systems Incorporated Buffering in HTTP streaming client
US9438883B2 (en) 2012-04-09 2016-09-06 Intel Corporation Quality of experience reporting for combined unicast-multicast/broadcast streaming of media content
US9351016B2 (en) 2012-04-13 2016-05-24 Sharp Kabushiki Kaisha Devices for identifying a leading picture
US9532055B2 (en) 2012-04-16 2016-12-27 Microsoft Technology Licensing, Llc Constraints and unit types to simplify video random access
DK3471419T3 (da) 2012-06-25 2023-06-06 Huawei Tech Co Ltd Billeder med gradvis temporal lagadgang i videokompression
US9225978B2 (en) 2012-06-28 2015-12-29 Qualcomm Incorporated Streaming adaption based on clean random access (CRA) pictures
US20150139310A1 (en) * 2012-06-29 2015-05-21 Sony Corporation Image processing apparatus and image processing method
US9374583B2 (en) 2012-09-20 2016-06-21 Qualcomm Incorporated Video coding with improved random access point picture behaviors
US9706199B2 (en) 2012-09-28 2017-07-11 Nokia Technologies Oy Apparatus, a method and a computer program for video coding and decoding
WO2014051409A1 (ko) * 2012-09-28 2014-04-03 삼성전자 주식회사 참조 픽처 정보를 이용한 병렬 처리 비디오 부호화 방법 및 장치, 병렬 처리 비디오 복호화 방법 및 장치
US20140192895A1 (en) * 2013-01-04 2014-07-10 Qualcomm Incorporated Multi-resolution decoded picture buffer management for multi-layer video coding
KR101777487B1 (ko) * 2013-01-04 2017-09-11 인텔 코포레이션 코딩 단위 비트 수 제한
US9826244B2 (en) * 2013-01-08 2017-11-21 Qualcomm Incorporated Device and method for scalable coding of video information based on high efficiency video coding
CN104919803B (zh) 2013-01-15 2017-09-12 华为技术有限公司 一种用于解码视频比特流的方法
US9667959B2 (en) * 2013-03-29 2017-05-30 Qualcomm Incorporated RTP payload format designs
WO2014168893A1 (en) 2013-04-08 2014-10-16 General Instrument Corporation Signaling for addition or removal of layers in video coding
US9979971B2 (en) * 2013-10-14 2018-05-22 Qualcomm Incorporated Device and method for scalable coding of video information
US11388441B2 (en) 2014-03-18 2022-07-12 Qualcomm Incorporated Derivation of SPS temporal ID nesting information for multi-layer bitstreams
MX360655B (es) 2014-05-21 2018-11-12 Arris Entpr Llc Gestión individual de memorias intermedias en transporte de video escalable.
US10205949B2 (en) 2014-05-21 2019-02-12 Arris Enterprises Llc Signaling for addition or removal of layers in scalable video
US10063861B2 (en) * 2015-10-07 2018-08-28 Qualcomm Incorporated Methods and systems of performing predictive random access using a background picture
KR102477964B1 (ko) * 2015-10-12 2022-12-16 삼성전자주식회사 미디어 전송 시스템에서 비디오 비트스트림의 임의 접근 및 재생을 가능하게 하는 기법
KR102171119B1 (ko) * 2015-11-05 2020-10-28 삼성전자주식회사 복수개의 블록 기반의 파이프라인을 이용한 데이터 처리 속도 개선 장치 및 그 동작 방법
US10630992B2 (en) 2016-01-08 2020-04-21 Samsung Electronics Co., Ltd. Method, application processor, and mobile terminal for processing reference image
KR20180073314A (ko) 2016-12-22 2018-07-02 삼성전자주식회사 컨볼루션 신경망 시스템 및 그것의 동작 방법
KR102521054B1 (ko) 2017-10-18 2023-04-12 삼성전자주식회사 조기 중단에 기반한 심층 신경망의 연산 제어 방법 및 시스템
EP3996463B1 (en) 2018-04-05 2023-08-16 Telefonaktiebolaget LM Ericsson (publ) Multi-stage sidelink control information
US11343544B2 (en) 2020-06-29 2022-05-24 Seagate Technology Llc Selective use of cameras in a distributed surveillance system
US20210409817A1 (en) * 2020-06-29 2021-12-30 Seagate Technology Llc Low latency browser based client interface for a distributed surveillance system
US11463739B2 (en) 2020-06-29 2022-10-04 Seagate Technology Llc Parameter based load balancing in a distributed surveillance system
US11503381B2 (en) 2020-06-29 2022-11-15 Seagate Technology Llc Distributed surveillance system with abstracted functional layers

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005533444A (ja) * 2002-07-16 2005-11-04 ノキア コーポレイション 画像符号化におけるランダム・アクセス及び段階的画像更新に対する方法
JP2013535885A (ja) * 2010-07-15 2013-09-12 クゥアルコム・インコーポレイテッド 単一の1次巻線および複数の2次巻線を有する広帯域バラン

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE464748T1 (de) 2002-01-22 2010-04-15 Microsoft Corp Verfahren und system zur verhinderung von startkode-emulation und stopfdaten
ES2383655T3 (es) 2004-04-28 2012-06-25 Panasonic Corporation Aparato de generación de flujos de imágenes en movimiento, aparato de codificación de imágenes en movimiento, aparato multiplexador de imágenes en movimiento y aparato de descodificación de imágenes en movimiento
WO2006075635A1 (ja) 2005-01-17 2006-07-20 Matsushita Electric Industrial Co., Ltd. 画像復号化方法
WO2006112139A1 (ja) * 2005-04-13 2006-10-26 Sharp Kabushiki Kaisha 動画像再生装置
US8875199B2 (en) 2006-11-13 2014-10-28 Cisco Technology, Inc. Indicating picture usefulness for playback optimization
CN101622879B (zh) * 2007-01-18 2012-05-23 诺基亚公司 以rtp净荷格式传输sei消息
KR100846802B1 (ko) 2007-02-14 2008-07-16 삼성전자주식회사 동영상 프레임의 디코딩 방법 및 인코딩 방법
JP2010263615A (ja) 2009-04-08 2010-11-18 Sony Corp 情報処理装置、情報処理方法、再生装置、再生方法
ES2634941T3 (es) 2009-06-17 2017-09-29 Panasonic Intellectual Property Management Co., Ltd. Medio de registro de información para reproducir vídeo de 3D, y dispositivo de reproducción
US9049497B2 (en) * 2010-06-29 2015-06-02 Qualcomm Incorporated Signaling random access points for streaming video data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005533444A (ja) * 2002-07-16 2005-11-04 ノキア コーポレイション 画像符号化におけるランダム・アクセス及び段階的画像更新に対する方法
JP2013535885A (ja) * 2010-07-15 2013-09-12 クゥアルコム・インコーポレイテッド 単一の1次巻線および複数の2次巻線を有する広帯域バラン

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN5013010631; Ying Chen, et al: 'Response to the CFP on HTTP Streaming: Adaptive Video Streaming based on AVC' MPEG MEETING (M17909) M17909, 20100726 *
JPN6014029808; Ying Chen, et al: 'DASH Evaluation Experiment #7: Seamless Switching (SES)' INTERNATIONAL ORGANISATION FOR STANDARDISATIONORGANISATION INTERNATIONALE DE NORMALISATIONISO/IEC JT , 201010 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014526180A (ja) * 2011-07-15 2014-10-02 テレフオンアクチーボラゲット エル エム エリクソン(パブル) クリーンランダムアクセス画像に最下レイヤ識別情報を割り当てるための符号器およびその方法

Also Published As

Publication number Publication date
TW201244489A (en) 2012-11-01
EP2684377B1 (en) 2018-05-16
KR101623630B1 (ko) 2016-05-31
EP2684377A1 (en) 2014-01-15
US9516379B2 (en) 2016-12-06
WO2012122169A1 (en) 2012-09-13
CN103416074A (zh) 2013-11-27
JP5859581B2 (ja) 2016-02-10
US20120230401A1 (en) 2012-09-13
KR20130129463A (ko) 2013-11-28

Similar Documents

Publication Publication Date Title
JP5859581B2 (ja) ビデオコーデックにおけるバッファ管理
JP6495390B2 (ja) ビデオコーディングにおける関心領域および漸次復号リフレッシュのシグナリング
JP6169689B2 (ja) ビデオコーディングにおける長期参照ピクチャのランダムアクセスおよびシグナリング
JP5876083B2 (ja) ランダムアクセスの後に従属ピクチャをコード化するためのビデオコード化技法
JP6231095B2 (ja) ビデオコード化のためのランダムアクセスピクチャのコード化
JP6081499B2 (ja) 変換係数コーディングのためのコンテキスト導出における走査ベーススライディングウィンドウ
JP5869122B2 (ja) ビデオコーディングにおける予測データのバッファリング
JP5902307B2 (ja) イントラモードビデオコーディング
JP5869108B2 (ja) メモリ効率的コンテキストモデリング
JP6174152B2 (ja) ビデオコーディングにおける動作点用のシグナリングレイヤ識別子
JP6162228B2 (ja) ビデオコード化のための長期参照ピクチャについてのデータの信号伝達
JP5955955B2 (ja) リーフレベルコード化単位のサブセットについての変換係数のシンタックス要素の信号伝達
JP6239609B2 (ja) ビデオコーディングのための長期参照ピクチャをシグナリングすること
JP2018530246A (ja) ビデオコーディングのために位置依存の予測組合せを使用する改善されたビデオイントラ予測
JP2018125863A (ja) ビデオプロパティの指示
US9712832B2 (en) Indication of cross-layer picture type alignment in multi-layer video coding
JP2016534644A (ja) イントラブロックコピーのための残差予測
JP6345675B2 (ja) ビデオコーダの動作点のためのレイヤ識別子の向上したシグナリング

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140715

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141010

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150127

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150427

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151216

R150 Certificate of patent or registration of utility model

Ref document number: 5859581

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees