JP6156808B2 - 圧縮されたビデオデータをデコードするための装置、システム、方法、集積回路、およびプログラム - Google Patents

圧縮されたビデオデータをデコードするための装置、システム、方法、集積回路、およびプログラム Download PDF

Info

Publication number
JP6156808B2
JP6156808B2 JP2015549357A JP2015549357A JP6156808B2 JP 6156808 B2 JP6156808 B2 JP 6156808B2 JP 2015549357 A JP2015549357 A JP 2015549357A JP 2015549357 A JP2015549357 A JP 2015549357A JP 6156808 B2 JP6156808 B2 JP 6156808B2
Authority
JP
Japan
Prior art keywords
bit number
bit
video data
number limit
encoding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015549357A
Other languages
English (en)
Other versions
JP2016508318A (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.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of JP2016508318A publication Critical patent/JP2016508318A/ja
Application granted granted Critical
Publication of JP6156808B2 publication Critical patent/JP6156808B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties

Landscapes

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

Description

[関連出願の相互参照]
本願は、発明の名称が「MODE CONSTRAINED CODED BIT NUMBER LIMITATION」である2013年1月4日に提出された米国仮出願第61/748,907号、および発明の名称が「MODE CONSTRAINED CODED BIT NUMBER LIMITATION」である2013年2月28日に提出された米国仮出願第61/770,699号の便益を主張する。
ISO/IEC Moving Picture Expert Group(MPEG)とITU−T Video Coding Experts Group(VCEG)とにより形成されたJoint Collaborative Team on Video Coding(JCT−VC)によって現在開発されているHigh Efficiency Video Coding(HEVC)は、2013年に完成される予定のビデオ圧縮規格である。以前までのビデオ符号化規格と同様にHEVCは、イントラ/インター予測、変換、量子化、インループフィルタリング、およびエントロピ符号化など基本的な複数の機能モジュールを含む。HEVCは、可変であるサイズを有する長方形のブロックの形態である符号化単位(複数のCU)に分割されることになるピクチャのための最大符号化単位(LCU)を規定している。CUは、複数のルマピクセルの正方形のブロックと複数のクロマピクセルの対応する2つのブロックとを含む。CUのサイズは、ルマ成分において8×8、16×16、32×32、または64×64となるよう構成され得る。LCUは、HEVCコーデックを実装するときの基本的なユニットと見なされる。
デコーダの複雑さを低減すべく、HEVCは、任意の符号化されたLCUのビット数を制限値に制限する。LCUビット数制限により、デコーダは符号化されたLCUの最悪の場合のビットサイズを知り、ビット数制限を超えない限り、任意のサイズをもつLCUのデコードに適応すべく十分なサイズのバッファを割り当て得る。しかし、制限するビット数の値の選択には注意が払われるべきである。なぜならば、より大きな制限値により、符号化されたLCUが制約に違反する可能性は著しく低減され得るが、より大きな制限値により、デコーダのメモリリソースの要求が高まるからである。HEVC仕様書の最近のドラフト(ISO/IEC JTC/SC29/WG11およびITU−T SG16 WP3,"High efficiency video coding(HEVC)text specification draft 9"(JCTVC−J1003_d9),October 2012を参照)において、ビット数制限値(LCUBitNumLimit)は、以下の数式(1)および数式(2)において示されるように、LCUの非圧縮の生データビット数(LCURawDataNum)の1つの具体的な比に設定された。
LCURawDataNum=sizeY×sizeY×bitdepthY+2×sizeC×sizeC×bitdepthC(1)
LCUBitNumLimit=(4/3)×LCURawDataNum(2)
ここでsizeYおよびbitdepthYはそれぞれ、LCUのルマ成分のブロックサイズおよびビット深さであり、sizeCおよびbitdepthCはそれぞれ、LCUのクロマ成分のブロックサイズおよびビット深さである。
本明細書において説明される題材は、添付の複数の図面において限定ではなく例として図示されている。図示を単純かつ明確にすべく、図面において示される要素は、必ずしも縮尺通りに描写されていない。例えば、いくつかの要素の寸法は、明確にすべく他の要素と比較して誇張されているかもしれない。さらに、適切であると見なされた場合、対応する、または類似の要素を示すべく、複数の図面間で参照ラベルが繰り返されている。
例示的なビデオ符号化システムの説明図である。 例示的なビデオ符号化スキームの説明図である。 例示的な処理を説明するフロー図である。 例示的なビデオ符号化システムの説明図である。 例示的なシステムの説明図である。 例示的なデバイスを図示する。 例示的な処理を説明するフロー図である。 例示的なビデオ符号化処理を例示するフローチャートである。 処理中の例示的なビデオ符号化処理の説明図である。 本開示の少なくともいくつかの実施例に従って全てが構成された例示的なビデオ符号化システムの説明図である。
添付の図面を参照して、1または複数の実施形態または実施例を説明する。特定の設定および構成が説明されるが、これは例示のみを目的とされていることが理解されるべきである。当業者は、本説明の思想および範囲から逸脱することなく他の設定および構成が用いられ得ることを理解されよう。当業者には、本明細書において説明される技術および/または構成が、本明細書において説明される以外の他の種々のシステムおよび用途においても用いられ得ることが明らかであろう。
以下の説明は、例えばシステムオンチップ(SoC)アーキテクチャなどのアーキテクチャで実現され得る様々な実施例を明らかにするが、本明細書において説明される技術および/または構成の実施例は特定のアーキテクチャおよび/またはコンピューティングシステムに限定されず、同様の目的で任意のアーキテクチャおよび/またはコンピューティングシステムで実装され得る。例えば、複数の集積回路(IC)チップおよび/またはパッケージ、並びに/若しくは、様々なコンピューティングデバイス、および/またはセットトップボックス、スマートフォン、その他など消費者向け電子(CE)デバイスを例えば用いる様々なアーキテクチャが、本明細書において説明される技術および/または構成を実装し得る。さらに、以下の説明は、ロジック実装、システムコンポーネントのタイプおよび相互関係、ロジックパーティション/統合の選択、その他など多数の具体的な詳細を明らかにするかもしれないが、特許請求される主題は、そのような具体的な詳細を用いずとも実施され得る。他の複数の場合においては、本明細書において開示される題材を曖昧にしないよう、例えば制御構造および完全なソフトウェア命令シーケンスなど何らかの題材が詳細には示されていないかもしれない。
本明細書において開示される題材は、ハードウェア、ファームウェア、ソフトウェア、またはこれらの何らかの組み合わせにより実装され得る。本明細書において開示される題材は、1または複数のプロセッサによって読み取られ実行され得る、マシン可読媒体に格納された命令としても実装され得る。マシン可読媒体は、マシン(例えば、コンピューティングデバイス)により読み取り可能な形態で情報を格納または送信するための何らかの媒体および/またはメカニズムを含み得る。例えば、マシン可読媒体は、読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク格納媒体、光学格納媒体、フラッシュメモリデバイス、電子、光、音響、または他の形態の伝搬信号(例えば、搬送波、赤外線信号、デジタル信号、その他)、およびその他を含み得る。
本明細書において「一実施例」、「実施例」、「例示的な実施例」、その他を参照した場合、その説明される実施例が、特定の特徴、構造、または特性を含み得ることを示すが、あらゆる実施形態がその特定の特徴、構造、または特性を必ずしも含むとは限らないかもしれない。さらに、そのようなフレーズは、必ずしも同じ実施例について言及しているとは限らない。さらに、特定の特徴、構造、または特性が実施形態に関連して説明された場合、本明細書において明示的に説明されていようとされていなかろうと、他の実施例に関連してそのような特徴、構造、または特性を実現することは当業者の知識の範囲に含まれるものである。
以下において、符号化単位ビット数制限を含むビデオ符号化に関するシステム、装置、物品、および方法が説明される。
上述したように、ビデオ符号化において、任意の符号化された最大符号化単位(LCU)のビット数は、制限値(例えば、LCUビット数制限)に制限され得る。LCUビット数制限に基づき、デコーダは例えば、十分なサイズのバッファを割り当ててビット数制限に適応するよう構成され得る。概して、より大きなビット数制限は、符号化されたLCUが制約に違反する可能性を低減し得る。エンコーダにおける制約違反により、エンコーダはイントラブロックパルスコード変調(I_PCM)モードとなり得る。I_PCMモードは、圧縮を適用せず(例えば、生データが直接送信され)、概してスタンダードエンコーダパイプラインから除外される。したがって違反によりエンコーダは、エンコーダパイプラインを中止し、I_PCM分岐を開始するようになる。そのような複数の処理は、エンコーダの性能を著しく損ない、概して、エンコーダにおいて、より大きなビット数制限が望ましいかもしれない。しかし、制限するビット数の値の選択には注意が払われるべきである。なぜならば、説明したように、より大きな制限値により、符号化されたLCUが制約に違反する可能性は著しく低減され得るが、説明したように、より大きなビット数制限により、デコーダのメモリリソースの要求(例えば、割り当てられるバッファサイズ)が高まり得るからでる。したがって、LCUビット数制限の選択は、ビデオ符号化において重要な要素であり得、エンコーダ、デコーダ、または両方における性能に影響を与え得る。
以下により詳細に説明されるように、LCUビット数制限を選択し実施するための複数の技術が説明される。いくつかの例において、LCUビット数制限(例えば、ビデオデータブロックのための、またはそれに関連するビット数制限)は、ビデオ符号化装置の符号化モードに基づき決定され得る。例えば、アクティブなビデオ符号化モードに基づき、ビット数制限倍率は複数のビット数制限倍率から決定され得、ビット数制限倍率は、ビデオデータブロックの生ビデオデータサイズにより乗算されて、ビット数制限が決定され得る。概して、より少数のビットを生成する傾向にある複数の符号化モードはより小さいビット数制限倍率を有し得、より多くのビットを生成する傾向にある複数の符号化モードはより大きなビット数制限倍率を有し得る。概して、ビットスケーリング制限係数は、本明細書においてさらに説明されるように、およそ1から2の範囲であり得る。エンコーダにおいて、そのような技術の実装により、ビデオデータブロックの符号化の制約違反の頻度が低減され得、デコーダにおいて、そのような技術は、ビデオデータブロック専用のメモリの量(例えば、バッファサイズ)を制限する、または減少させ得る。
他の複数の例において、ビット数制限倍率は、全ての符号化モードに関して適用され得る5/3の値を有するよう予め決定され得る。そのような複数の例において、ビデオデータの最大符号化単位(LCU)のための、またはそれに関連するビット数制限は、最大符号化単位生データ数と5/3のビット数制限倍率とを乗算することにより決定され得る。ビデオデータは、決定されたビット数制限に基づき符号化され得る。ここでも、そのような複数の実施例により、実装の単純さの更なる利点を提供しつつ、エンコーダにおいて違反が低減され得、デコーダにおいて専用のメモリが制限され得る。
本明細書において用いられるように、「符号化装置」という用語は、エンコーダおよび/またはデコーダを指し得る。同様に、本明細書において用いられるように「符号化」という用語は、エンコーダを介してビデオエンコードを実行すること、および/または、デコーダを介してビデオデコードを実行することを指し得る。例えば、ビデオエンコーダおよびビデオデコーダは両方とも、ビデオデータの符号化が可能な複数の符号化装置の複数の例であり得る。加えて、本明細書において用いられるように、「コーデック」という用語は、エンコーダおよび/またはデコーダを実装し得る、例えば、ソフトウェア、ファームウェア、および/またはハードウェアの何らかの組み合わせなど、任意の処理、プログラム、または複数の処理のセットを指し得る。
図1は、本開示の少なくともいくつかの実施例に従って構成された例示的なビデオ符号化システム100の説明図である。様々な実施例において、システム100は、例えばHigh Efficiency Video Coding(HEVC)規格(ISO/IEC JTC/SC29/WG11 and ITU−T SG16 WP3,"High efficiency video coding(HEVC)text specification draft 8"(JCTVC−J1003_d7),July 2012を参照)など1または複数の規格または仕様に従ってビデオ圧縮および/または解凍を実行し得、複数のビデオコーデックを実装し得る。
システム100並びに/若しくは他の複数のシステム、スキーム、または処理は本明細書において、HEVC規格の文脈で説明されるかも知れないが、本開示は、何らかの特定のビデオエンコード規格または仕様、若しくはこれらの拡張に限定されない。
HEVC規格は、ピクチャが重複しない複数の最大符号化単位(複数のLCU)に分割されることを特定しており、各LCUは、可変であるサイズを有する複数の長方形のブロックの形態である複数の符号化単位(複数のCU)に分割され得る。4分木ベースの分割スキームは、各LCU内で、CUパーティションパターンを特定する。またHEVCは、それぞれ予測および変換の目的でどのように所与のCUを分割するかを特定する複数の予測ユニット(複数のPU)および複数の変換ユニット(複数のTU)を規定している。CUは通常、1つのルマ符号化ブロック(CB)と2つのクロマCBとを関連するシンタックスと共に含み、PUはさらに、64×64のサンプルから、少ない場合には4×4のサンプルの範囲に亘るサイズを有する複数の予測ブロック(複数のPB)に分割され得る。本明細書において用いられるように、「ブロック」という用語は、ビデオピクチャの任意のパーティションまたはサブパーティションを指し得る。例えば、ブロックとは、LCU、PU、PB、TU、またはCUに対応するビデオデータを指し得る。
図示されているように、システム100は、エンコーダ102とデコーダ120とを含み得る。符号化単位分割モジュール104により複数の入力ピクチャを処理した後、エンコーダ102は、変換および量子化モジュール106と、逆量子化および逆変換モジュール108と、モード決定モジュール117を介してエンコーダ102により実施されるモード決定に応じて、イントラ予測モジュール110を含む第1経路と、デブロックフィルタリングモジュール112、サンプル適応オフセットフィルタリングモジュール114、およびインター予測モジュール116を含む第2経路とのうち何れか一方とを含み得る符号化ループを用いて複数の入力ピクチャ101をエンコードし得る。複数の入力ピクチャ101を変換した後、エンコーダ102は、圧縮された複数の画像を、エントロピエンコードモジュール118を用いてエントロピエンコードし得る。最後に、エンコーダ102は符号化されたビデオデータを組み込んだビットストリーム119を生成し得る。モジュール104、106、108、110、112、114、116、117および118の機能性は当技術分野においてよく理解されており、本明細書においてはより詳細には説明しない。
デコーダ120は、ビットストリーム119の形態の符号化されたビデオデータを受信し得、エントロピデコードモジュール122および逆量子化および逆変換モジュール124によりデータを処理した後、結果として得られたデータを、ビットストリーム119のシンタックスにおいて示されシンタックス制御モジュール127を介して実装される符号化モードに応じて、イントラ予測モジュール126を含む第1経路と、デブロックフィルタリングモジュール128、サンプル適応オフセットフィルタリングモジュール130、およびインター予測モジュール132を含む第2経路とのうち何れか一方を用いるデコードループを用いてデコードし得る。デコーダ120は、例えば、符号化単位アセンブラモジュール134を用いて、ディスプレイを介してユーザに提示され得るデコードされた複数の出力ピクチャ135を生成し得る。モジュール122、124、126、127、128、130、132および134の機能性は当技術分野においてよく理解されており、本明細書においてはより詳細には説明しない。
図1は、システム100が特定のエンコードおよびデコードモジュールを用いるものとして図示しているが、図1においては明確性のために描かれていない様々な他の複数の符号化モジュールまたはコンポーネントが本開示に従って利用され得る。さらに本開示は図1に図示される特定の複数のコンポーネント、および/または、システム100の様々なコンポーネントが構成されるやり方に限定されない。
本明細書において説明されるシステムの様々なコンポーネントは、ソフトウェア、ファームウェア、および/またはハードウェア、並びに/若しくはこれらの何らかの組み合わせで実装され得る。例えば、システム100の様々なコンポーネントは、例えば携帯電話などのコンピューティングシステムにおいて見られるものなどのようにコンピューティングシステムオンチップ(SoC)のハードウェアにより少なくとも部分的に提供され得る。
さらに、システム100のエンコーダ102は、例えばビデオコンテンツサーバシステムを含むコンテンツプロバイダシステムに関連し得る、および/またはそれにより提供され得ること、並びに、ビットストリーム119は、図1に描かれていない複数の送受信機、アンテナ、ネットワークシステム、およびその他など様々な通信コンポーネントおよび/またはシステムによりデコーダ120へと送信または伝達され得ることが理解されよう。またデコーダ120は、エンコーダ102の遠隔にある、図1に描かれていない複数の送受信機、アンテナ、ネットワークシステム、およびその他などの様々な通信コンポーネントおよび/またはシステムを介してビットストリーム119を受信するコンピューティングデバイス(例えば、デスクトップ型コンピュータ、ラップトップコンピュータ、タブレット型コンピュータ、コンバーチブルラップトップ、携帯電話、またはその他)などのクライアントシステムに関連し得ることも理解されよう。したがって、様々な実施例において、エンコーダサブシステム101とデコーダサブシステム103とは、共に、または互いに独立しての何れか一方で実装され得る。さらに、本明細書において説明される複数のシステム、装置、および方法は、複数の入力および出力ピクチャおよびビデオデータブロック、並びにその他を指し得るが、本開示はこの点に関して限定されず、説明される複数の技術は、複数のフレームに対して、または例えばシーケンス、レイヤー、ピクチャ、スライス、またはブロックなどのビデオデータの任意の適したコンポーネントに対して実行され得る。
以下により詳細に説明されるように本開示によると、符号化の処理において、いくつかの実施例において、ビデオデータエンコーダ102は、様々なビット数制限値から選択し得、選択された値をビデオデータの複数のブロックと関連付け得る。様々な実施例において、複数のブロックは、複数のLCUであり得る。いくつかの例において、エンコーダ102は、ビデオデータをエンコードするのにどの符号化モードをエンコーダ102が用いたかに応じて、様々なビット数制限値のうち異なるものを、符号化された複数のLCUに関連付け得る。そうするにあたって、エンコーダは、用いられる複数の符号化モードの特定のセットがより多くのビットを生成する可能性がより高い場合、より大きなビット数制限値を複数のLCUに割り当て得る。例えば、エンコーダ102が変換スキップモードを除くHEVCメインプロフィールにおける全ての符号化モードを用いる場合、エンコーダ102はより大きなビット数制限をLCUに割り当て得、エンコーダ102が変換スキップモードを含むHEVCメインプロフィールにおける全ての符号化モードを用いる場合、エンコーダ102はより小さなビット数制限を割り当て得る。
いくつかの実施例において、ビデオデータエンコーダ102および/またはビデオデータデコーダ120は、複数のビット数制限倍率からビット数制限倍率を決定することによりビット数制限を決定し得る。複数のビット数制限倍率からのビット数制限倍率の決定は、ビデオデータエンコーダ102のアクティブなビデオ符号化モードに基づき得、ビット数制限は、ビット数制限倍率に基づき決定され得る。例えば、ビット数制限は、ビット数制限倍率とビデオデータブロックの生ビデオデータサイズとを乗算することにより決定され得る。そのような複数の技術は、例えば規格を介してエンコーダ102とデコーダ120とのうち両方において適用されるプロフィールまたは表を介して、ビデオデータエンコーダ102とビデオデータデコーダ120とのうち両方において適用され得る。
他の複数の例において、ビデオデータエンコーダ102は、ビットストリーム119を介し、複数のビット数制限倍率および対応する複数の符号化モードをエンコードし得る。以下にさらに説明されるように、複数のビット数制限倍率と、対応する複数の符号化モードとが、ビットストリーム119のSupplemental Enhancement Information(SEI)パッケージの一部分に含められ得る。そのような複数の例において、ビデオデータエンコーダ102は、複数の符号化モードと、対応する複数のビット数制限倍率値との組み合わせをカスタマイズし得、これにより、符号化処理における複数の制限の複数の制約および詳細を管理し得る。ビデオデータデコーダ120は、本明細書において説明されるように、受信した複数の符号化モードと、対応する複数のビット数制限倍率値とを実装し得る。いくつかの例において、異なるように特定されていなければ、デフォルトのビット数制限倍率が用いられ得る。様々な例において、デフォルトのビット数制限倍率は、3/2、5/3、またはその他であり得る。
いくつかの実施例において、ビデオデータエンコーダ102および/またはビデオデータデコーダ120は、全ての符号化モードに関して適用され得る5/3である予め決定された値を有するビット数制限倍率を実装し得る。そのような複数の例において、ビデオデータ(例えば、LCUBitNumLimit)の最大符号化単位(LCU)のための、またはそれに関連するビット数制限は、数式(3)において示されるように、最大符号化単位生データ数(例えば、LCURawDataNumとして上記の数式(1)を介して決定される)と、5/3であるビット数制限倍率とを乗算することにより決定され得る。 LCUBitNumLimit =(5/3)×LCURawDataNum(3)
ビデオデータは、ビデオデータエンコーダ102および/またはビデオデータデコーダ120において、本明細書において説明されるように決定されたビット数制限に基づき符号化され得る。
本明細書において用いられるように、「符号化モード」というフレーズは、イントラモード、インターモード、変換スキップモードなどを含むがこれらに限定されない、ビデオデータを圧縮するのにエンコーダが用い得る様々な圧縮モードのうち1つを指し得る。当業者が理解するように、変換スキップモードを用いることによりエンコーダは、何らかのビデオデータを符号化するのにより少ないビットを用い得、対応して、デコーダは、符号化されたビデオデータを格納するのにより小さいバッファサイズを用い得る。様々な例において、以下にさらに説明されるように、符号化モードは、変換スキップが有効化されたHEVCメインプロフィールにおける全ての符号化モードを含み得、変換スキップが無効化されたHEVCメインプロフィールにおける全ての符号化モードを含み得、変換スキップが有効化されたHEVCメイン静止画プロフィールにおける全ての符号化モードを含み得、変換スキップが無効化されたHEVCメイン静止画プロフィールにおける全ての符号化モードを含み得、変換スキップが有効化されたHEVCメイン10プロフィールにおける全ての符号化モードを含み得、または変換スキップが無効化されたHEVCメイン10プロフィールにおける全ての符号化モードを含み得、若しくはその他を含み得る。
概して、HEVCメインプロフィールは、複数のI(イントラ符号化)、P(予測)、またはB(双予測)ピクチャを符号化するためのプロフィールを含み得、HEVCメイン静止画プロフィールは、複数のIピクチャのみを符号化するためのプロフィールを含み得、HEVCメイン静止画プロフィールは、HEVCメインプロフィールのサブセットであり得る。さらに、例えば、HEVCメインプロフィールは、8ビットであるビット深さにより符号化のためのプロフィールを含み得、HEVCメイン10プロフィールは、10ビットであるビット深さの符号化のためのプロフィールを含み得る。
概して、説明されるように本開示によると、エンコーダまたはデコーダにより用いられる複数の符号化モードに基づき種々の倍率が選択され得る。選択された倍率は、数式(4)に基づきビット数制限を割り当てるのに用いられ得る。
LCUBitNumLimit=scale_factor(coding modes)×LCURawDataNum(4)
ここでscale_factor(・)は、複数の符号化モードセットを[1.0,2.0]または(1.0,2.0]、若しくはその他の範囲内の有理数へマッピングする関数を表す。scale_factor(・)の使用は、マッピング表ベースのやり方で説明され得る。例えば、ビット数制限倍率の決定は、複数のビット数制限倍率と、対応する複数の符号化モードとを有する表にアクセスすることを含み得る。最初に、全ての考えられ得る符号化モードが、いくつかのセットへと管理され得、それぞれのセットは、マッピングテーブル内のエントリインデックスが割り当てられている。特定の複数の数が、全てのエントリに割り当てられ得る。
例えば、以下の表は、例示的な倍率マッピングを例示している。
Figure 0006156808
表1:倍率マッピングの一般的な例
したがって、複数の画像(または一般的にビデオデータ)を圧縮するのに用いられた符号化モードの組み合わせに応じて、エンコーダ102またはデコーダ120は、異なる倍率を割り当て、特定、または選択得る。1つの非限定的な例として、以下の表は、特定の例示的な倍率マッピングを図示している。
Figure 0006156808
表2:倍率マッピングの具体例
表2の非限定的な例において示されるように、全てのHEVCメインプロフィール符号化モードを用いるとき、エンコーダ102またはデコーダ120は、4/3の倍率値に対応する第1インデックス値を割り当て、特定、または選択得る。対照的にエンコーダ102は、変換スキップモードを除く全てのHEVCメインプロフィール符号化モードを用いるとき、3/2(または1.5)の倍率値に対応する第2インデックス値を割り当て、特定、または選択得る。加えて、HEVCメインプロフィールにおける複数の符号化モードに関して、それらの符号化モードが変換スキップモードを含むか否かに関わらず、エンコーダ102は、5/3の倍率値に対応する第2インデックス値を割り当て、特定、または選択し得る。様々な実施例において、用いられる倍率は、1と等しいまたはそれより大きく2と等しいまたはそれより小さい任意の数であり得る。言い換えると、様々な制限において、複数の倍率は、[1.0,2.0]または(1.0,2.0]、若しくはその他の範囲に亘る複数の値を有し得る。
説明されるように、ビット数制限倍率は、符号化モードに基づき複数のビット数制限倍率から決定され得る。概して、任意の数および組み合わせの符号化モードおよび対応する複数のビット数倍率が実装され得る。いくつかの例において、符号化されているビデオデータブロックは、High Efficiency Video Coding(HEVC)ビデオデータを含み得る。そのような複数の例において、第1符号化モードは、変換スキップが有効化されたHEVCメインプロフィールにおける全ての符号化モードを含み得、対応する第1ビット数制限倍率は4/3を含み得、第2符号化モードは、変換スキップが無効化されたHEVCメインプロフィールにおける全ての符号化モードを含み得、対応する第2ビット数制限倍率は3/2を含み得、第3符号化モードは、変換スキップが有効化されたHEVCメイン静止画プロフィールにおける全ての符号化モードを含み得、対応する第3ビット数制限倍率は4/3を含み得、第4符号化モードは、変換スキップが無効化されたHEVCメイン静止画プロフィールにおける全ての符号化モードを含み得、対応する第4ビット数制限倍率は3/2を含み得、第5符号化モードは、変換スキップが有効化されたHEVCメイン10プロフィールにおける全ての符号化モードを含み得、対応する第5ビット数制限倍率は5/3を含み得、第6符号化モードは、変換スキップが無効化されたHEVCメイン10プロフィールにおける全ての符号化モードを含み得、対応する第6ビット数制限倍率は5/3を含み得る。
説明されるように、様々な実施例において、複数の倍率は予め決定されたやり方で、様々なビデオ仕様プロフィールおよび/またはレベルセクションに割り当てられ得る。例えば、HEVCメインプロフィールは、LCUビット数制限を決定するために1つの倍率が割り当てられ得、HEVCメイン10プロフィールは、LCUビット数制限を決定するために異なる倍率が割り当てられ得る。したがって、受信されたビデオデータに適用される符号化のタイプ(例えば、メインプロフィールまたはメイン10プロフィール)に応じて、デコーダは、数式(3)を用いて、予め決定された倍率を適用して、対応するLCUビット数制限、したがって複数のバッファ要求を決定し得る。
他の複数の実施例において、倍率は、用いられる符号化モードに関わらず適用され得る、5/3の値を有するよう予め決定され得る。したがって、受信した符号化されたビデオデータのタイプ(例えば、メインプロフィール、メイン静止画プロフィール、またはメイン10プロフィール、若しくはその他)に関わらず、デコーダは、5/3である予め決定された倍率を適用して、数式(3)を用いて、対応するLCUビット数制限を決定し得、したがって、複数のバッファ要求を決定し得る。
説明されるように、様々な実施例において、複数の倍率は複数の符号化モードに関連付けられ得、決定または選択された倍率は、ビット数制限を決定するのに用いられ得る。他の複数の例において、複数のビット数制限は、対応する複数の符号化モードに関連付けられ得、符号化モードおよびビデオデータブロック(例えば、LCUなど)のための、またはそれらに関連するビット数制限を決定するのに直接用いられ得る。そのような複数の例において、ビデオデータブロックに関する生データ数の大きさは、一定であり得る、一定であることが想定される、またはその他であり得る。
図7は、本開示の少なくともいくつかの実施例に従って構成された例示的な処理を説明するフロー図である。示されるように、処理700は、エンコーダ702および/またはデコーダ720を介して実施され得る。処理700は、エンコーダ702を介して複数の入力ピクチャ701を受信することと、ブロック704「複数のピクチャを複数のLCUへ分割」において、複数の入力ピクチャ701を複数の最大符号化単位(複数のLCU)705へ分割することを含み得る。複数の入力ピクチャ701および複数のLCU705に関して説明されるが、複数の技術は、本明細書において説明されるように任意の入力ビデオおよび複数のビデオデータブロックに適用され得る。複数のLCU705は、ブロック706「通常の複数の符号化モードを用いてLCUをエンコード」において、エンコーダ702を介して、本明細書において説明されるように通常のまたは典型的な複数の符号化モードを用いてエンコードされ得る。さらに、複数のLCU705に関するビット数制限が説明されるように適用され得る。いくつかの例において、複数のLCU705に関するビット数制限は、符号化モードに基づき複数のビット数制限倍率から決定されたビット数制限倍率に基づき決定され得る。他の複数の例において、複数のLCU705に関するビット数制限は、LCU生データ数と5/3の倍率とを乗算することに基づき決定され得る。
いずれの場合でも、ブロック708「LCUビットサイズが制限に違反しているかをチェック」において、符号化された複数のLCU705に関するLCUビットサイズが、ビット数制限と比較され得る。符号化されたLCUがビット数制限より少数のビットを有する(例えば、違反が起こっていない)場合、符号化されたLCUまたは複数のLCUは、ブロック710「ビットストリームへとパッケージ」においてビットストリーム719へとエンコードまたはパッケージ化されされ得る。符号化されたLCUがビット数制限よりも多くのビットを有する(例えば、違反が起こっている)場合、違反しているLCUは、ブロック712「I_PCMモードを用いてLCUを再エンコード」において、イントラブロックパルスコード変調(I_PCM)モードを用いて再エンコードされ得る。再エンコードされたLCUは、ブロック710においてビットストリーム719へとパッケージ化され得る。説明されるように、I_PCMモジュールは、圧縮を適用せず(例えば、生データが直接送信される)、概して、スタンダードエンコーダパイプラインから除外される。したがって、ブロック708における違反によりエンコーダ702は、スタンダードエンコーダパイプラインを中止し、I_PCM分岐を開始するようになる。そのような複数の処理は、エンコーダ702の性能を著しく損ない得る。
処理700はブロック722「ビットストリームからLCUデータをフェッチしバッファリング」において続き得、受信されたビットストリーム719が受信され得、LCUデータがビットストリーム719からフェッチされバッファリングされ得る。さらに、本明細書において説明されるように、いくつかの例において、ビットストリーム719は、複数のビット数倍率と、対応する複数の符号化モードとを含み得、他の複数の例において、複数のビット数倍率と、対応する複数の符号化モードとが、デコーダ720を介して直接実装され得る。さらに、いくつかの例において、5/3の倍率など一定の倍率が適用され得る。いずれの場合でも、説明されるように、デコーダ720において、ビット数倍率とLCUビット数制限とが専用の、または割り当てられるバッファサイズを決定し得る。LCUビット数制限が大き過ぎる場合、デコーダ720の性能は悪影響を受け得、または、概してデコーダ720は、不必要な、コストの高いメモリリソースを実装し得る。示されるように、ブロック724「LCUをデコード」において、LCUデータがデコードされて、複数の出力ピクチャ735を生成するべくブロック726「ピクチャをアセンブル」においてアセンブルされ得る複数のLCU725が生成され得る。複数の出力ピクチャ735は、例えばディスプレイデバイスを介し、ユーザへ提示され得る。
説明されるように、図7は例示的な処理700を図示する。また図7は、ビデオ符号化ブロックに関するビット数制限を選択する重要性を図示する。説明されるように、例えば、小さ過ぎるビット数制限は、エンコーダ702における乏しい性能を引き起こし得、大き過ぎるビット数制限は、デコーダ720において乏しい性能を引き起こし得る。
説明されるように、いくつかの実施例において、倍率およびビデオデータブロックのビット数制限の決定は、エンコーダとデコーダとのうち両方において同じまたは同様の複数の技術を用いて決定され得る。いくつかの例において、一定の倍率(例えば、倍率5/3)が用いられ得、他の複数の例において、倍率は、符号化モードに基づき複数の倍率から決定され得る。他の複数の実施例において、エンコーダは複数のビット数制限倍率と、対応する複数の符号化モードとによりビットストリームをエンコードし得、デコーダは提供された情報を用いて、本明細書において、特に、以下に図9に関して説明されるように倍率とビット数制限とを実施し得る。さらに他の複数の実施例において、エンコーダは、エンコーダが任意の特定の符号化されたビデオデータに関してどの倍率を割り当て、特定、または選択したかデコーダに知らせる情報をデコーダに提供し得る。
他の複数の実施例において、エンコーダは、エンコーダがデコーダへ提供するビットストリームまたはその一部にインジケータ、メッセージ、またはそれらの一部を含め得る。デコーダはその情報を用いて、選択された倍率を特定し得、数式(4)を用いて、符号化されたビデオデータを格納するためのLCUビット数制限と、対応するバッファサイズとを決定し得る。
したがって、再び図1を参照すると、エンコーダ102は、ビットストリーム119により伝達される符号化されたビデオデータの様々な部分に関連する選択された倍率をデコーダ120に知らせるよう、ビットストリーム119またはその一部に、インジケータ、メッセージ、またはそれらの一部を含め得る。図2は、本開示の少なくともいくつかの実施例に従って構成された、例示的なビデオ符号化スキームの説明図である。例えば、図2は、本開示に係る、ビットストリーム119などの例示的なビットストリーム200を図示する。図2に描かれるように、ビットストリーム200はヘッダ部分202とデータ部分204とを含み得る。ヘッダ部分202は、1または複数のインジケータ206を含み得る。例えば、複数のインジケータ206は、複数のLCUなど符号化されたビデオデータの1または複数のブロックに関して、(上記で表に関して説明された)インデックス値、したがって本明細書において説明される特定の倍率に対応する値を有するインジケータ208を含み得る。様々な実施例において、ヘッダ部分202および/またはデータ部分204は、選択された倍率を特定するインジケータを含み得るSupplemental Enhancement Information(SEI)パッケージなどデータパッケージ210を含み得る。
説明されるように、いくつかの例において、エンコーダは複数のビット数制限倍率と、対応する複数の符号化モードとによりビットストリームをエンコードし得、デコーダは提供された情報を用いて、説明されるように(例えば、倍率と生ビデオデータサイズとを乗算することにより)(例えば、アクティブである対応する複数の符号化モードに基づく)複数の倍率と複数のビット数制限とを実装し得る。図1を参照すると、エンコーダ102は、複数のビット数制限倍率と、対応する複数の符号化モードとによりビットストリーム119をエンコードし得る。例えば、図2に描かれているようにビットストリーム200は、複数のビット数制限倍率と、対応する複数の符号化モードとを含み得るデータパッケージ210を含み得る。例えば、複数のビット数制限倍率と、対応する複数の符号化モードとは、ビットストリーム200内のSupplemental Enhancement Information(SEI)パッケージまたはSupplemental Enhancement Information(SEI)パッケージの一部分として提供され得る。
図3は、本開示の様々な実施例に係る例示的な処理300のフロー図を図示する。処理300は、図3のブロック302、304、306、308、310および312のうち1または複数により図示されるような1または複数の処理、機能、またはアクションを含み得る。非限定的な例として、処理300は、図1のデコーダシステム120により実行されるビデオデコード処理の少なくとも一部を形成し得る。
さらに、処理300は、プロセッサ402、ビデオコーデックモジュール406、およびメモリ408を含む図4のビデオ符号化システム400を参照して本明細書において説明される。プロセッサ402は、コーデックモジュール406のインスタンスを生成して、本開示に係る複数のビデオ符号化処理を提供し得る。システム400の例において、メモリ408は、複数のLCUなどの符号化されたビデオデータを含むビデオコンテンツを格納し得る。コーデックモジュール406は、ソフトウェア、ファームウェア、および/またはハードウェアの何らかの組み合わせにより提供されるHEVCコーデックを実装し得る。メモリ408は、揮発性メモリ(例えば、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM、その他)、または不揮発性メモリ(例えば、フラッシュメモリ、その他)など、何らかのタイプのメモリであり得る。非限定的な例において、メモリ408はキャッシュメモリにより実装され得る。
図3の説明に戻ると、処理300は、ブロック302「インジケータを含むビットストリームを受信」において開始し得、倍率を特定するインジケータを含むビットストリームが受信され得る(例えば、インジケータは、ビットストリームの一部分である)。例えば、インジケータは、ビットストリームフラグ、またはSupplemental Enhancement Information(SEI)パッケージまたはその他の一部分であり得る。インジケータは、ブロック304「インジケータにアクセス」においてアクセスされ得、インジケータの値を決定し得る。例えば、デコーダ120は、図2のインジケータ208などのインジケータを含むビットストリーム119をブロック302において受信し得る。例えば、インジケータは、上述したようにマッピングテーブルの複数のインデックス値に対応する複数の異なる値を有し得、インジケータのそれぞれの値(および対応する符号化モード)は、複数のビット数制限のうち異なる1つに対応し得る。インジケータは、例えば、最大符号化単位(LCU)などビデオデータブロックに関連し得る。
処理300はブロック306「インジケータの決定された値に基づき複数のビット数制限からビット数制限を選択」において続き得、ビット数制限が、インジケータの決定された値に基づき複数のビット数制限から選択され得る。前に説明されたように、デコーダ120は、決定されたインジケータ値に基づき倍率を決定し(ブロック308「決定されたインジケータ値に基づき倍率を決定」)、数式(4)を用いてビデオデータブロックの生データサイズを倍率により乗算する(ブロック310「ビデオデータブロックの生データサイズを倍率により乗算」)ことによりブロック306を実行し得る。例えば、表2の非限定的な例を参照すると、インジケータ値が1のインデックス値を特定した場合、対応する倍率は4/3であり得、インジケータ値が2のインデックス値を特定した場合、対応する倍率は3/2であり得、インジケータ値が5のインデックス値を特定した場合、対応する倍率は5/3であり得る、などである。概して倍率は、例えば、1と等しいまたはそれより大きく2と等しいまたはそれより小さい、3/2、4/3、または5/3、若しくはその他の数などの何らかの適した値を有し得る。
処理300は、ブロック312「ビット数制限に基づきバッファサイズを決定」において終了し得、デコーダがビット数制限(例えば、選択されたビット数制限)に基づきバッファサイズを決定する。例えば、所与の生ビデオデータサイズに関して、より大きな倍率により、ブロック306においてより大きなビット数制限が、ブロック312において、対応してより大きなバッファサイズが決定されることとなり得、より小さな倍率により、ブロック312において、対応してより小さなバッファサイズとなり得る。
図8は、本開示の少なくともいくつかの実施例に従って構成された例示的なビデオ符号化処理800を例示するフローチャートである。図示された実施例において、処理800は、ブロック802および/または804のうち1または複数により図示されるような1または複数の処理、機能、またはアクションを含み得る。非限定的な例として、処理800は、本明細書において例示的なビデオ符号化システム100を参照し説明される。処理800は概して符号化を対象とし得、説明される複数のコンセプトおよび/または処理が同じまたは同様のやり方でエンコードおよび/またはデコードに適用され得る。
処理800は、ビデオ符号化を実行するためのコンピュータで実施される方法として利用され得る。処理800は、処理802「アクティブなビデオ符号化モードに基づき複数のビット数制限倍率からビット数制限倍率を決定」において開始し得、ビット数制限倍率が、アクティブなビデオ符号化モードに少なくとも部分的に基づき複数のビット数制限倍率から決定され得る。例えば、エンコーダ102またはデコーダ120がビット数制限倍率を決定し得る。いくつかの例において、ビット数制限倍率の決定は、複数のビット数制限倍率および対応する複数の符号化モードを有し得る表(例えば、表1または表2)にアクセスすることを含み得る。いくつかの例において、5/3のビット数制限倍率が全ての符号化モードに関して用いられ得る。さらに、いくつかの例において、表を介して、アクティブな符号化モードが利用可能でないでことが決定され得、そのような複数の例において、ビット数制限倍率は、デフォルトのビット数制限倍率に設定され得る。概してビット数倍率は、例えば、1と等しいまたはそれより大きく2と等しいまたはそれより小さい3/2、4/3、または5/3、若しくはその他の数などの何らかの適した値であり得る。
処理は処理802から、処理804「ビット数制限倍率に基づきビデオデータブロックに関連するビット数制限を決定」へと続き得、ビデオデータブロックに関するビット数制限が、ビット数制限倍率に少なくとも部分的に基づき決定され得る。例えば、エンコーダ102またはデコーダ120が、ビット数制限を決定し得る。いくつかの例において、ビデオデータブロックのための、またはそれに関連するビット数制限の決定は、(例えば、数式(4)において示されるような)ビット数制限倍率と、ビデオデータブロックの生ビデオデータサイズとの乗算を含み得る。説明されるように、いくつかの例において、ビット数制限倍率は、全ての符号化モードに関して5/3であり得、そのような複数の例において、ビデオデータの最大符号化単位に関するビット数制限は、最大符号化単位生データ数と5/3のビット数制限倍率とを乗算することにより決定され得る。
概して、エンコーダ102および/またはデコーダ120は、決定されたビット数制限に基づきビデオデータを符号化し得る。エンコーダ102において、符号化されたビデオデータはビットストリーム119でエンコードされ得る。デコーダ120において、符号化されたビデオデータは、例えばディスプレイデバイスを介してユーザへ提示され得る複数の出力ピクチャを生成するのに用いられ得る。
概して処理800は、任意の数のビデオデータブロックのために任意の回数繰り返され得る。さらに、処理800は、符号化モードの変更に応じて、または定期的に、若しくはその他の方式で開始され得る。結果として得られるビット数は、説明されるようにビットストリームをエンコードするのに、または複数の出力ピクチャを生成するのに用いられ得る。処理800に関するいくつかの追加的および/または代替的な詳細が、本明細書において、特に以下に図9に関して説明される複数の実施例の1または複数の例において例示され得る。
図9は、本開示の少なくともいくつかの実施例に従って構成された、処理中の例示的なビデオ符号化システム900およびビデオ符号化処理900の説明図である。図示されている実施例において、処理900は、アクション901、902、903、904、905、906、907、908、909、910、911、912、913および/または914のうち1または複数により図示される1または複数の処理、機能、またはアクションを含み得る。非限定的な例として、処理900が、本明細書において図1の例示的なビデオ符号化システム100を参照し説明されるであろう。
図示されている実施例において、ビデオ符号化システム100は、ロジックモジュール920およびその他、並びに/若しくはそれらの組み合わせを含み得る。例えば、ロジックモジュール920は、ビット数制限モジュール950を含み得る(例えばエンコーダ102またはエンコーダ702に対応し得る)エンコーダ930と、ビット数制限モジュール960を含み得るデコーダ940とを含み得る。図9において示されるようにビデオ符号化システム100は、特定の複数のモジュールに関連する複数のブロックまたはアクションの1つの特定のセットを含み得るが、これらのブロックまたはアクションは、ここで図示される特定のモジュールとは異なるモジュールに関連し得る。図示される処理900は、エンコードおよびデコードを対象としているが、説明される複数のコンセプトおよび/または処理は、エンコードおよび/またはデコードに別個に適用され得、より一般的には、ビデオ符号化に適用され得る。
処理900は、ブロック901「ビット数倍率を決定」において開始され得、ビット数制限倍率が、アクティブなビデオ符号化モードに少なくとも部分的に基づき複数のビット数制限倍率から決定され得る。例えば、エンコーダ930は、ビット数制限モジュール950を介してビット数制限倍率を決定し得る。いくつかの例において、ビット数制限倍率の決定は、複数のビット数制限倍率および対応する複数の符号化モードを有し得る表(例えば、表1または表2)にアクセスすることを含み得る。他の複数の例において、5/3のビット数制限倍率が全ての符号化モードに関して用いられ得る。
処理900はブロック901からブロック902「ビデオデータブロックに関連するビット数制限を決定」に続き得、ビデオデータブロックのための、またはそれに関連するビット数制限が、ビット数制限倍率に少なくとも部分的に基づき決定され得る。例えば、エンコーダ930は、ビット数制限モジュール950を介してビット数制限を決定し得る。いくつかの例において、ビデオデータブロックのための、またはそれに関連するビット数制限の決定は、(例えば、数式(4)において示されるような)ビット数制限倍率と、ビデオデータブロックの生ビデオデータサイズとの乗算を含み得る。説明されるように、いくつかの例において、ビット数制限倍率は、全ての符号化モードに関して5/3であり得、そのような複数の例において、ビデオデータの最大符号化単位に関するビット数制限は、(例えば、数式(3)において示されるように)最大符号化単位生データ数と5/3のビット数制限倍率とを乗算することにより決定され得る。
処理900は、ブロック902からブロック903「ビット数制限に基づきビデオデータを符号化」へと続き、ビデオデータが、ビット数制限に少なくとも部分的に基づき符号化され得る。例えば、エンコーダ930はビット数制限に基づきビデオデータをエンコードし得る。
処理900は、ブロック903からブロック904「符号化されたデータに基づきビットストリームをエンコード」へと続き、ビットストリームが、符号化されたビデオデータに少なくとも部分的に基づきエンコードされ得る。例えば、エンコーダ930は、ブロック903においてエンコードされたデータに基づきビットストリームをエンコードし得る。エンコードされたビットストリームは、例えばビットストリーム119またはビットストリーム719に対応し得る。
処理900は、ブロック904からブロック905「複数のビット数倍率および対応する複数の符号化モードでビットストリームをエンコード」へと続き、複数のビット数制限倍率および対応する複数の符号化モードが、ビットストリームでエンコードされ得る。いくつかの例において、複数のビット数制限倍率および対応する複数の符号化モードが、ビットストリームのSupplemental Enhancement Information(SEI)パッケージの一部分として提供され得る。説明されるように、いくつかの例において、デコーダはビットストリームを介して受信された情報を用いて、説明される複数の技術を実装し得る。
他の複数の例において、デコーダは、デコーダにおいて事前にロードされた、または予め決定された複数の倍率と、対応する複数の符号化モードとを用いて、説明される複数の技術を実装し得る。さらに他の複数の例において、5/3である一定の倍率が用いられ得る。そのような複数の例において、ブロック905はスキップされ得る。
処理900は906「ビットストリームを転送」において続き得、エンコードされたビットストリームが転送され得る。示されるように、エンコードされたビットストリームは、デコーダ940へ転送され得る。説明されるように、エンコーダ930は、コンテンツプロバイダシステムに関連し得、および/またはそれにより提供され得、デコーダ940は、クライアントシステムに関連し得る。
したがって、様々な実施例において、エンコーダ930およびデコーダ940は、互いに実質的に独立して実装され得る。様々な例において、ビットストリームは、インターネットを介し、メモリデバイスを介しし、またはその他により転送され得る。理解されるように、いくつかの実施例においてビットストリームは、連続的に、または並行して複数のデバイスへ転送され得る。
処理900はブロック906から続き得、またはブロック907「ビットストリームを受信」において開始し得、ビデオデータに関連するビットストリームがデコーダ940において受信され得る。
処理900は、ブロック907からブロック908「ビットストリームにアクセスし、複数のビット数倍率と、対応する複数の符号化モードとを決定」へ続き得、受信されたビットストリームがアクセスされて、複数のビット数制限倍率と、対応する複数の符号化モードとが決定され得る。説明されるように、いくつかの例において、複数のビット数制限倍率および対応する複数の符号化モードは、ビットストリームでエンコードされることなくデコーダ940を介しして実装され得る。そのような複数の例において、ブロック908はスキップされ得る。
処理900は、909「ビット数倍率を決定」へ続き得、ビット数制限倍率が、アクティブなビデオ符号化モードに少なくとも部分的に基づき複数のビット数制限倍率から決定され得る。例えば、デコーダ940は、ビット数制限モジュール960を介してビット数制限倍率を決定し得る。いくつかの例において、ビット数制限倍率の決定は、複数のビット数制限倍率および対応する複数の符号化モードを有し得る表(例えば、表1または表2)にアクセスすることを含み得る。他の複数の例において、5/3のビット数制限倍率が全ての符号化モードに関して用いられ得る。
処理900はブロック909からブロック910「ビデオデータブロックに関連するビット数制限を決定」に続き得、ビデオデータブロックのための、またはそれに関連するビット数制限が、ビット数制限倍率に少なくとも部分的に基づき決定され得る。例えば、デコーダ940は、ビット数制限モジュール950を介してビット数制限を決定し得る。いくつかの例において、ビデオデータブロックのための、またはそれに関連するビット数制限の決定は、(例えば、数式(4)において示されるような)ビット数制限倍率と、ビデオデータブロックの生ビデオデータサイズとの乗算を含み得る。説明されるように、いくつかの例において、ビット数制限倍率は、全ての符号化モードに関して5/3であり得、そのような複数の例において、ビデオデータの最大符号化単位に関するビット数制限は、(例えば、数式(3)において示されるように)最大符号化単位生データ数と5/3のビット数制限倍率とを乗算することにより決定され得る。
処理900は、ブロック910からブロック911「ビット数制限に基づきバッファサイズを決定」へ続き得、バッファサイズが、決定されたビット数制限に基づき決定され得る。例えば、デコーダ940は、決定されたビット数制限と等しい、またはと同様の割り当てられた、または専用のメモリバッファサイズを決定し得る。
いくつかの例において、バッファサイズは、ビット数制限に基づき変更されなくてもよく、そのような複数の例において、ブロック911はスキップされ得る。
処理は、ブロック912「ビット数制限に基づきビデオデータを符号化」において続き得、ビデオデータが、ビット数制限に少なくとも部分的に基づき符号化され得る。例えば、ビデオデコーダ940が、ビット数制限に基づきビデオデータをデコードし得る。
処理900は、ブロック912からブロック913「符号化されたビデオデータに基づき出力ピクチャを生成」へ続き得、出力ピクチャまたは複数の出力ピクチャが、ビデオデータの符号化に少なくとも部分的に基づき生成され得る。例えば、デコーダ940は、ブロック912においてデコードされたビデオデータに基づき複数の出力ピクチャを生成し得る。
処理900は、ブロック913からブロック914「提示のために出力ピクチャを転送」へ続き得、出力ピクチャが提示のために転送され得る。例えば、出力ピクチャは、ディスプレイデバイスを介してユーザへ提示され得る。例示的な処理300、700、800または900の実施は例示された順序で示される全てのブロックの実行を含み得るが、本開示はこの点に関して限定されず、様々な例において、処理300、700、800または900の実施は、示されたように、および/または、例示されたものとは異なる順序でブロックのサブセットのみを実行することを含み得る。
加えて、本明細書において説明されるブロックのうち何れか1つまたは複数は、1または複数のコンピュータプログラム製品により提供される複数の命令に応じて実行され得る。そのような複数のプログラム製品は、例えば、プロセッサにより実行されたときに本明細書において説明される機能性を提供し得る複数の命令を提供する信号担持媒体を含み得る。複数のコンピュータプログラム製品は、1または複数のマシン可読媒体の形態で提供され得る。したがって、例えば、1または複数のプロセッサコアを含むプロセッサが、1または複数のマシン可読媒体によりプロセッサへ伝達されるプログラムコードおよび/または複数の命令または命令セットに応じて、例示的な複数の処理のブロックのうち1または複数を実行し得る。概してマシン可読媒体は、本明細書において説明される複数のデバイスおよび/またはシステムの何れかに、システム100および/またはビデオコーデックモジュール406、または本明細書において説明される他の複数のシステムまたはモジュールの少なくとも一部分を実装させ得るプログラムコードおよび/または複数の命令または命令セットの形態でソフトウェアを伝達し得る。
本明細書において説明される実施例において用いられるように、「モジュール」という用語は、本明細書において説明される機能性を提供するよう構成されたソフトウェアロジック、ファームウェアロジック、および/またはハードウェアロジックの何らかの組み合わせを指す。ソフトウェアは、ソフトウェアパッケージ、コードおよび/または命令セット、若しくは複数の命令として実装され得、本明細書において説明される何れかの実施例おいて用いられる「ハードウェア」は、例えば、ハードワイヤによる回路、プログラマブル回路、状態マシン回路、および/または、プログラマブル回路により実行される複数の命令を格納したファームウェアを単体で、または何らかの組み合わせで含み得る。複数のモジュールは、集合的または個別に、例えば、集積回路(IC)、システムオンチップ(SoC)などであるより大きなシステムの一部を形成する回路として実装され得る。
図10は、本開示の少なくともいくつかの実施例に従って構成された、例示的なビデオ符号化システム1000を示す説明図である。図示される実施例において、ビデオ符号化システム1000は、イメージングデバイス1001、ビデオエンコーダ1002、アンテナ1003、ビデオデコーダ1004、1または複数のプロセッサ1006、1または複数のメモリ格納装置1008、ディスプレイ1010、並びに/若しくはロジックモジュール1040を含み得る。複数のロジックモジュール1040は、ビット数制限モジュール960、その他、および/またはこれらの組み合わせを含み得る。いくつかの例において、ビデオエンコーダ1002は、例えばビット数制限モジュール940などのビット数制限モジュールを含む1または複数のロジックモジュールを実装し得る。
図示されるように、アンテナ1003、ビデオデコーダ1004、プロセッサ1006、メモリ格納装置1008、および/またはディスプレイ1010は互いに通信可能であり得、並びに/若しくは、複数のロジックモジュール1040の一部と通信可能であり得る。同様に、イメージングデバイス1001およびビデオエンコーダ1002は、互いに通信可能であり得、並びに/若しくはロジックモジュール1040の一部と通信可能であり得る。したがって、ビデオデコーダ1004は、複数のロジックモジュール1040の全てまたは一部を含み得、ビデオエンコーダ1002は、同様のロジックモジュールを含み得る。図10において示されるようにビデオ符号化システム1000は、特定の複数のモジュールに関連付けられた複数のブロックまたはアクションの1つの特定のセットを含み得るが、これらのブロックまたはアクションは、ここで図示される特定のモジュールとは異なる複数のモジュールに関連付けられ得る。
いくつかの例において、ビデオ符号化システム1000は、アンテナ1003、ビデオデコーダ1004、その他、および/またはこれらの組み合わせを含み得る。アンテナ1003は、ビデオデータのエンコードされたビットストリームを受信するよう構成され得る。ビデオデコーダ1004はアンテナ1003に通信可能に結合され得、エンコードされたビットストリームをデコードするよう構成され得る。ビデオデコーダ1004は本明細書において説明されるように、アクティブなビデオ符号化モードに少なくとも部分的に基づき複数のビット数制限倍率からビット数制限倍率を決定し、ビット数制限倍率に少なくとも部分的に基づきビデオデータブロックのための、またはそれに関連するビット数制限を決定し、または最大符号化単位生データ数と5/3のビット数制限倍率とを乗算することにより、ビデオデータの最大符号化単位のための、またはそれに関連するビット数制限を決定し、ビット数制限に少なくとも部分的に基づきビデオデータを符号化するよう構成され得る。
他の複数の例において、ビデオ符号化システム1000は、ディスプレイデバイス1010と、1または複数のプロセッサ1006と、1または複数のメモリ格納装置1008と、ビット数制限モジュール960と、その他と、および/またはこれらの組み合わせとを含み得る。ディスプレイデバイス1010は、複数の出力ピクチャなどのビデオデータを提示するよう構成され得る。複数のプロセッサ1006は、ディスプレイ1010に通信可能に結合され得る。複数のメモリ格納装置1008は、1または複数のプロセッサ1006に通信可能に結合され得る。ビデオデコーダ1004(または、他の複数の例においてビデオエンコーダ1002)は、ディスプレイデバイス1010を介した画像データの提示が符号化されたビデオデータに少なくとも部分的に基づき得るよう、1または複数のプロセッサ1006に通信可能に結合され得、アクティブなビデオ符号化モードに少なくとも部分的に基づき複数のビット数制限倍率からビット数制限倍率を決定し、ビット数制限倍率に少なくとも部分的に基づきビデオデータブロックのための、またはそれに関連するビット数制限を決定し、ビット数制限に少なくとも部分的に基づきビデオデータを符号化し、または最大符号化単位生データ数と5/3のビット数制限倍率とを乗算することにより、ビデオデータの最大符号化単位のための、またはそれに関連するビット数制限を決定し、ビット数制限に少なくとも部分的に基づきビデオデータを符号化するよう構成され得る。
様々な実施形態において、ビット数制限モジュール960(および、存在する場合にはエンコーダ1002を介して実装されるビット数制限モジュール)はハードウェアで実装され得、ソフトウェアは他の複数のロジックモジュールを実装し得る。例えば、いつかの実施形態において、ビット数制限モジュール960は特定用途向け集積回路(ASIC)ロジックにより実装され得、他の複数のロジックモジュールは、複数のプロセッサ1006などのロジックにより実行される複数のソフトウェア命令により提供され得る。しかし、本開示はこの点に関して限定されず、ビット数制限モジュール960(および、存在する場合にはエンコーダ1002を介して実装されるビット数制限モジュール)および/または他の複数のロジックモジュールは、ハードウェア、ファームウェア、および/またはソフトウェアの何らかの組み合わせにより実装され得る。加えてメモリ格納装置1008は、揮発性メモリ(例えば、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、その他)、または不揮発性メモリ(例えば、フラッシュメモリ、その他)など何らかのタイプのメモリ、およびその他であり得る。非限定的な例において、メモリ格納装置1008は、キャッシュメモリにより実装され得る。図5は、本開示に係る例示的なシステム500を図示する。様々な実施例において、システム500はメディアシステムであり得るが、システム500はこの文脈に限定されない。例えばシステム500は、パーソナルコンピュータ(PC)、ラップトップコンピュータ、ウルトララップトップコンピュータ、タブレット、タッチパッド、ポータブルコンピュータ、ハンドヘルドコンピュータ、パームトップコンピュータ、携帯情報端末(PDA)、セルラー電話、セルラー電話/PDAの組み合わせ、テレビ、スマートデバイス(例えば、スマートフォン、スマートタブレット、またはスマートテレビ)、モバイルインターネットデバイス(MID)、メッセージングデバイス、データ通信デバイス、カメラ(例えば、ポイント−、およびシュート−カメラ、スーパズームカメラ、デジタル一眼レフ(DSLR)カメラなどに組み込まれ得る。
様々な実施例において、システム500はディスプレイ520に結合されたプラットフォーム502を含む。プラットフォーム502は、コンテンツサービスデバイス530またはコンテンツ配信デバイス540、若しくは他の同様のコンテンツソースなどのコンテンツデバイスからコンテンツを受信し得る。例えばプラットフォーム502および/またはディスプレイ520とインタラクトするために、1または複数のナビゲーション機能を含むナビゲーションコントローラ550が用いられ得る。これらのコンポーネントのそれぞれは、以下により詳細に説明される。
様々な実施例において、プラットフォーム502は、チップセット505、プロセッサ510、メモリ512、アンテナ513、格納装置514、グラフィックサブシステム515、複数のアプリケーション516、および/または無線機518の何らかの組み合わせを含み得る。チップセット505は、プロセッサ510、メモリ512、格納装置514、グラフィックサブシステム515、アプリケーション516、および/または無線機518の間の相互通信を提供し得る。例えば、チップセット505は、格納装置514との相互通信を提供可能な格納装置アダプタ(図示せず)を含み得る。
プロセッサ510は、複合命令セットコンピュータ(CISC)または縮小命令セットコンピュータ(RISC)プロセッサ、x86命令セットと互換性のあるプロセッサ、マルチコア、若しくは他の何らかのマイクロプロセッサまたは中央処理装置(CPU)として実装され得る。様々な実施例において、プロセッサ510は、デュアルコアプロセッサ、デュアルコアモバイルプロセッサなどを含み得る。
メモリ512は、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、またはスタティックRAM(SRAM)などであるがこれらに限定されない揮発性メモリデバイスとして実装され得る。
格納装置514は、磁気ディスクドライブ、光ディスクドライブ、テープドライブ、内部格納デバイス、取り付けられた格納デバイス、フラッシュメモリ、バッテリーバックアップ式のSDRAM(シンクロナスDRAM)、および/またはネットワークアクセス可能な格納デバイスなどであるがこれらに限定されない不揮発性格納デバイスとして実装され得る。様々な実施例において、格納装置514は、例えば複数のハードドライブが含まれる場合に、貴重なデジタルメディアの保護を高めるために格納性能を向上させる技術を含み得る。
グラフィックサブシステム515は、表示のために静止画またはビデオなどの複数の画像の処理を実行し得る。グラフィックサブシステム515は、例えば、グラフィックプロセッシングユニット(GPU)またはビジュアルプロセッシングユニット(VPU)であり得る。グラフィックサブシステム515およびディスプレイ520を通信可能に結合するために、アナログまたはデジタルインタフェースが用いられ得る。例えば、インタフェースは、高解像度マルチメディアインタフェース、DisplayPort、無線HDMI(登録商標)、および/または無線HD準拠技術のうち何れかであり得る。グラフィックサブシステム515は、プロセッサ510またはチップセット505に統合され得る。いくつかの実施例において、グラフィックサブシステム515は、チップセット505に通信可能に結合されたスタンドアロン型デバイスであり得る。
本明細書において説明される複数のグラフィックおよび/またはビデオ処理技術は、様々なハードウェアアーキテクチャで実装され得る。例えば、グラフィックおよび/またはビデオ機能性は、チップセット内で統合され得る。代替的に、別個のグラフィックおよび/またはビデオプロセッサが用いられ得る。さらに他の実施例として、複数のグラフィックおよび/またはビデオ機能は、マルチコアプロセッサを含む汎用プロセッサにより提供され得る。更なる複数の実施形態において、複数の機能は、消費者向け電子デバイスで実装され得る。
無線機518は、様々な適した無線通信技術を用いて複数の信号を送受信可能な1または複数の無線機を含み得る。そのような複数の技術は、1または複数の無線ネットワークを介した通信を伴い得る。例示的な無線ネットワークとしては(これらに限定されるわけではないが)、無線ローカルエリアネットワーク(WLAN)、無線パーソナルエリアネットワーク(WPAN)、無線メトロポリタンエリアネットワーク(WMAN)、セルラーネットワーク、および衛星ネットワークが含まれる。そのようなネットワークを介した通信において、無線機518は、何れかのバージョンの1または複数の適用可能な規格に従って処理を行い得る。
様々な実施例において、ディスプレイ520は、何らかのテレビ型のモニタまたはディスプレイを含み得る。ディスプレイ520は例えば、コンピュータディスプレイ画面、タッチ画面ディスプレイ、ビデオモニタ、テレビ型デバイス、および/またはテレビを含み得る。ディスプレイ520は、デジタルおよび/またはアナログであり得る。様々な実施例において、ディスプレイ520はホログラフィックディスプレイであり得る。また、ディスプレイ520は、視覚投影を受け得る透明な面であり得る。そのような投影は、様々な形態の情報、画像、および/またはオブジェクトを伝達し得る。例えば、そのような投影は、モバイル拡張現実(MAR)アプリケーションのための視覚的なオーバーレイであり得る。1または複数のソフトウェアアプリケーション516の制御下で、プラットフォーム502は、ユーザインタフェース522をディスプレイ520に表示し得る。
様々な実施例において、コンテンツサービスデバイス530は、ある国の、国際的な、および/または独立した何らかのサービスによりホストされ得、したがって、例えば、インターネットを介してプラットフォーム502にアクセス可能であり得る。コンテンツサービスデバイス530は、プラットフォーム502および/またはディスプレイ520に結合され得る。プラットフォーム502および/またはコンテンツサービスデバイス530は、ネットワーク560へ/からメディア情報を通信(例えば、送信および/または受信)すべく、ネットワーク560に結合され得る。コンテンツ配信デバイス540も、プラットフォーム502および/またはディスプレイ520に結合され得る。
様々な実施例において、コンテンツサービスデバイス530は、ケーブルテレビボックス、パーソナルコンピュータ、ネットワーク、電話、インターネット利用可能デバイスまたはデジタル情報および/またはコンテンツを伝達可能な電気製品、並びに、コンテンツプロバイダと、プラットフォーム502およびディスプレイ520との間でネットワーク560を介して、または直接、一方向または双方向にコンテンツを通信可能な他の何らかの同様のデバイスを含み得る。コンテンツは、システム500内のコンポーネントのうち何れか1つおよびコンテンツプロバイダへ/からネットワーク560を介して、一方向および/または双方向に通信され得ることが理解されよう。コンテンツの例には、例えばビデオ、音楽、医療またはゲームに関する情報などを含む何らかのメディア情報が含まれ得る。
コンテンツサービスデバイス530は、メディア情報、デジタル情報、および/または他のコンテンツを含むケーブルテレビプログラムなどのコンテンツを受信し得る。コンテンツプロバイダの例には、何らかのケーブルまたは衛星テレビ、若しくは無線またはインターネットコンテンツプロバイダが含まれ得る。提供される例は、本開示に係る実施例を何ら制限するよう意図されていない。
様々な実施例において、プラットフォーム502は、1または複数のナビゲーション機能を有するナビゲーションコントローラ550から制御信号を受信し得る。コントローラ550のナビゲーション機能は、例えば、ユーザインタフェース522とインタラクトするために用いられ得る。様々な実施形態において、ナビゲーションコントローラ550は、ユーザが空間(例えば、連続的であり多次元の)データをコンピュータに入力することを可能とするコンピュータハードウェアコンポーネント(詳細には、ヒューマンインタフェースデバイス)であり得るポインティングデバイスであり得る。グラフィカルユーザインタフェース(GUI)などの多くのシステム、並びにテレビおよびモニタは、身体的なジェスチャを用いてユーザがコンピュータまたはテレビを制御すること、およびこれらにデータを提供することを可能とする。
コントローラ550のナビゲーション機能の動きは、ディスプレイ上に表示されるポインタ、カーソル、フォーカスリング、または他の視覚的なインジケータの動きにより、ディスプレイ(例えばディスプレイ520)上で反映され得る。例えば、ソフトウェアアプリケーション516の制御下で、ナビゲーションコントローラ550上に位置付けられる複数のナビゲーション機能は、例えば、ユーザインタフェース522上に表示される仮想的な複数のナビゲーション機能へとマッピングされ得る。様々な実施形態において、コントローラ550は別個のコンポーネントではなく、プラットフォーム502および/またはディスプレイ520に統合され得る。しかし本開示は、本明細書において示される、または説明される要素または文脈に限定されない。
様々な実施例において、ドライバ(図示せず)は、例えば、テレビのように、有効にされた場合に、ユーザが最初のブートアップの後にボタンに触れると瞬時にプラットフォーム502の電源を入れたり、切ったりすることを可能とする技術を含み得る。プログラムロジックは、プラットフォーム502の電源が「切られた」場合であっても、プラットフォームがコンテンツを、メディアアダプタ、若しくは他のコンテンツサービスデバイス530またはコンテンツ配信デバイス540へストリーミングすることを可能とし得る。加えて、チップセット505は、例えば、5.1サラウンドサウンドオーディオおよび/または高精細度の7.1サラウンドサウンドオーディオのためのハードウェアおよび/またはソフトウェアサポートを含み得る。ドライバは、統合されたグラフィックプラットフォームのためのグラフィックドライバを含み得る。様々な実施形態において、グラフィックドライバはペリフェラルコンポーネントインターコネクト(PCI)Expressグラフィックカードを含み得る。
様々な実施例において、システム500において示されるコンポーネントのうち何れか1つまたは複数は統合され得る。例えば、プラットフォーム502とコンテンツサービスデバイス530とが統合され得、プラットフォーム502とコンテンツ配信デバイス540とが統合され得、プラットフォーム502と、コンテンツサービスデバイス530と、コンテンツ配信デバイス540とが例えば統合され得る。様々な実施形態において、プラットフォーム502とディスプレイ520とは統合されたユニットであり得る。例えば、ディスプレイ520とコンテンツサービスデバイス530とが統合され得、またはディスプレイ520とコンテンツ配信デバイス540とが統合され得る。これらの例は本開示を限定するよう意図されていない。
様々な実施形態において、システム500は、無線システム、有線システム、または両方の組み合わせとして実装され得る。無線システムとして実装される場合、システム500は、1または複数のアンテナ、送信機、受信機、送受信機、増幅器、フィルタ、制御ロジックなど無線共有媒体上での通信に適した複数のコンポーネントおよび複数のインタフェースを含み得る。無線共有媒体の例には、RFスペクトルなど無線スペクトルの一部が含まれ得る。有線システムとして実装される場合、システム500は、入出力(I/O)アダプタ、I/Oアダプタを対応する有線通信媒体と接続する物理コネクタ、ネットワークインタフェースカード(NIC)、ディスクコントローラ、ビデオコントローラ、オーディオコントローラ、およびその他など有線通信媒体上での通信に適した複数のコンポーネントおよび複数のインタフェースを含み得る。有線通信媒体の例には、電線、ケーブル、金属鉛、プリント基板(PCB)、バックプレーン、スイッチファブリック、半導体材料、ツイストペア線、同軸ケーブル、ファイバーオプティクスなどが含まれ得る。
プラットフォーム502は、情報を通信するための1または複数のロジックチャネルまたは物理チャネルを確立し得る。情報は、メディア情報および制御情報を含み得る。メディア情報とは、ユーザ向けのコンテンツを表す何らかのデータを指し得る。コンテンツの例には、例えば、音声会話、ビデオ会議、ストリーミングビデオ、電子メール(「eメール」)メッセージ、ボイスメールメッセージ、英数字記号、グラフィック、画像、ビデオ、テキストなどからのデータを含み得る。音声会話からのデータは例えば、会話情報、静寂の期間、背景雑音、快適雑音、トーンなどであり得る。制御情報とは、自動化されたシステム向けのコマンド、命令、または制御語を表す何らかのデータを指し得る。例えば、制御情報は、システムを通じてメディア情報をルーティングする、または、予め決定されたやり方でメディア情報を処理するようノードに命令するために用いられ得る。しかし実施形態は、図5において示される、または説明される要素または文脈に限定されない。
上述したように、システム500は、異なる物理的なスタイルまたはフォームファクタで実施され得る。図6は、システム600が実施され得る小さなフォームファクタのデバイス600の実施例を図示する。様々な実施形態において、例えば、デバイス600は、複数の無線機能を有するモバイルコンピューティングデバイスとして実装され得る。モバイルコンピューティングデバイスとは、例えば、プロセッシングシステムと、1または複数のバッテリーなどモバイル電源またはモバイルパワーサプライとを有する何らかのデバイスを指し得る。
上述したように、モバイルコンピューティングデバイスの例には、パーソナルコンピュータ(PC)、ラップトップコンピュータ、ウルトララップトップコンピュータ、タブレット、タッチパッド、ポータブルコンピュータ、ハンドヘルドコンピュータ、パームトップコンピュータ、携帯情報端末(PDA)、セルラー電話、セルラー電話/PDAの組み合わせ、テレビ、スマートデバイス(例えば、スマートフォン、スマートタブレット、またはスマートテレビ)、モバイルインターネットデバイス(MID)、メッセージングデバイス、データ通信デバイス、カメラ(例えば、ポイント−、およびシュート−カメラ、スーパズームカメラ、デジタル一眼レフ(DSLR)カメラなどを含み得る。
またモバイルコンピューティングデバイスの例には、リスト(wrist)コンピュータ、フィンガーコンピュータ、リングコンピュータ、アイグラスコンピュータ、ベルトクリップコンピュータ、アームバンドコンピュータ、シュー(shoe)コンピュータ、衣服コンピュータ、および他のウェアラブルコンピュータなど人により着用されるよう構成されコンピュータが含まれ得る。様々な実施形態において、例えば、モバイルコンピューティングデバイスは、コンピュータアプリケーション、並びに音声通信および/またはデータ通信を実行可能なスマートフォンとして実装され得る。いくつかの実施形態は、例としてスマートフォンとして実装されるモバイルコンピューティングデバイスを用いて説明されるかもしれないが、他の無線モバイルコンピューティングデバイスを用いても他の複数の実施形態が実装され得ることが理解されよう。実施形態はこの文脈に限定されない。
図6において示されるように、デバイス600は、筐体602、ディスプレイ604、入出力(I/O)デバイス606、およびアンテナ608を含み得る。デバイス600は、複数のナビゲーション機能612も含み得る。ディスプレイ604は、モバイルコンピューティングデバイスにとって適切な情報を表示するための何らかの適したディスプレイユニットを含み得る。I/Oデバイス606は、モバイルコンピューティングデバイスへ情報を入力するための適した何らかのI/Oデバイスを含み得る。I/Oデバイス606の例には、英数字キーボード、数字キーパッド、タッチパッド、入力キー、ボタン、スイッチ、ロッカースイッチ、マイク、スピーカ、音声認識デバイスおよびソフトウェアなどが含まれ得る。また情報は、マイク(図示せず)を用いてデバイス600へ入力され得る。そのような情報は、音声認識デバイス(図示せず)によりデジタル化され得る。実施形態はこの文脈に限定されない。
様々な実施形態は、複数のハードウェア要素、複数のソフトウェア要素、またはこれら両方の組み合わせを用いて実装され得る。ハードウェア要素の例には、プロセッサ、マイクロプロセッサ、回路、回路素子(例えば、トランジスタ、抵抗、コンデンサ、誘電子など)、集積回路、特定用途向け集積回路(ASIC)、プログラマブルロジックデバイス(PLD)、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、ロジックゲート、レジスタ、半導体デバイス、チップ、マイクロチップ、チップセットなどが含まれ得る。ソフトウェアの例には、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、マシンプログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、関数、方法、プロシージャ、ソフトウェアインタフェース、アプリケーションプログラムインタフェース(API)、命令セット、コンピューティングコード、コンピュータコード、コードセグメント、コンピュータコードセグメント、ワード、値、シンボル、またはこれらの何らかの組み合わせが含まれ得る。実施形態をハードウェア要素を用いて実装するか、および/またはソフトウェア要素を用いて実装するかについての決定は、所望される演算レート、パワーレベル、耐熱性、処理サイクルバジェット、入力データレート、出力データレート、メモリリソース、データバス速度、および他の設計または性能制約など任意の数の要因に従って変わり得る。
少なくとも1つの実施形態の1または複数の態様は、マシンに読み取られた場合に、当該マシンに本明細書において説明される技術を実行するためのロジックを組み立てさせる、プロセッサ内の様々なロジックを表すマシン可読媒体に格納された代表的な複数の命令により実装され得る。「IPコア」として公知であるそのような表現は、有形のマシン可読媒体に格納され得、実際にロジックまたはプロセッサを作成する製造マシンにロードする様々な顧客または製造施設へ供給され得る。
本明細書において明らかにされる特定の特徴は様々な実施例を参照して説明されてきたが、本説明は、制限的な意味で解釈されるよう意図されていない。したがって、本開示が関連する分野の当業者には明らかである、本明細書において説明される実施例の様々な修正、および他の実施例が、本開示の思想および範囲に含まれるものとして見なされる。
以下の例は更なる複数の実施形態に関連する。
一例において、ビデオ符号化を実行するためのコンピュータで実施される方法は、アクティブなビデオ符号化モードに少なくとも部分的に基づき複数のビット数制限倍率からビット数制限倍率を決定する段階を含み得る。ビット数制限は、ビデオデータブロックのためにビット数制限倍率に少なくとも部分的に基づき決定され得る。
他の例において、ビデオ符号化を実行するためのコンピュータで実施される方法は、ビット数制限に少なくとも部分的に基づきビデオデータを符号化する段階をさらに含み得る。ビットストリームは、符号化されたビデオデータに少なくとも部分的に基づきエンコードされ得る。複数のビット数制限倍率と、対応する複数の符号化モードとが、ビットストリームにおいてエンコードされ得る。複数のビット数制限倍率と、対応する複数の符号化モードとが、ビットストリームのSupplemental Enhancement Information(SEI)パッケージの一部分としてエンコードされ得る。ビットストリームが受信され得る。ビットストリームがアクセスされて、複数のビット数制限倍率と、対応する複数の符号化モードとが決定され得る。バッファサイズが、決定されたビット数制限に基づき決定され得る。出力ピクチャが、ビデオデータの符号化に少なくとも部分的に基づき生成され得る。ビット数制限倍率を決定する段階は、複数のビット数制限倍率と、対応する複数の符号化モードとを含む表にアクセスする段階を含み得る。ビット数制限倍率を決定する段階は、表を介して、アクティブな符号化モードが利用可能でないと決定する段階を有し得、ビット数制限倍率は、デフォルトのビット数制限倍率に設定され得る。ビデオデータブロックのためにビット数制限を決定する段階は、ビット数制限倍率とビデオデータブロックの生ビデオデータサイズとを乗算する段階を有し得る。倍率は、1と等しいまたはそれより大きく2と等しいまたはそれより小さい数、3/2、4/3または5/3を含み得る。複数の符号化モードは、少数ビット生成符号化モードと、少数ビット生成符号化モードよりも多くのビットを生成する多数ビット生成符号化モードとを含み得、少数ビット生成符号化モードに関連するビット数制限倍率は、多数ビット生成符号化モードに関連するビット数制限倍率よりも小さくてもよい。ビデオデータブロックは最大符号化単位(LCU)であり得る。ビデオデータブロックは、High Efficiency Video Coding(HEVC)ビデオデータを含み得る。第1符号化モードは、変換スキップが有効化されたHEVCメインプロフィールにおける全ての符号化モードを含み得、対応する第1ビット数制限倍率は4/3であり得る。第2符号化モードは、変換スキップが無効化されたHEVCメインプロフィールにおける全ての符号化モードを含み得、対応する第2ビット数制限倍率は3/2であり得る。第3符号化モードは、変換スキップが有効化されたHEVCメイン静止画プロフィールにおける全ての符号化モードを含み得、対応する第3ビット数制限倍率は4/3であり得る。第4符号化モードは、変換スキップが無効化されたHEVCメイン静止画プロフィールにおける全ての符号化モードを含み得、対応する第4ビット数制限倍率は3/2であり得る。第5符号化モードは、変換スキップが有効化されたHEVCメイン10プロフィールにおける全ての符号化モードを含み得、対応する第5ビット数制限倍率は5/3であり得る。第6符号化モードは、変換スキップが無効化されたHEVCメイン10プロフィールにおける全ての符号化モードを含み得、対応する第6ビット数制限倍率は5/3であり得る。ビット数制限を決定する段階は、ビデオデコーダにおいてビット数制限を決定する段階を含み得る。ビデオデコーダは少なくとも部分的に、ハードウェアで実装され得る。ビット数制限を決定する段階は、ビデオエンコーダにおいてビット数制限を決定する段階を含み得る。ビデオエンコーダは少なくとも部分的に、ハードウェアで実装され得る。
さらに他の例において、ビデオ符号化を実行するためのコンピュータで実施される方法は、最大符号化単位生データ数と5/3のビット数制限倍率とを乗算することによりビデオデータの最大符号化単位に関連するビット数制限を決定する段階を含み得る。ビデオデータは、ビット数制限に少なくとも部分的に基づき符号化され得る。
他の更なる例において、ビデオ符号化を実行するためのコンピュータで実施される方法は、符号化されたビデオデータに少なくとも部分的に基づきビットストリームをエンコードする段階をさらに含み得る。ビットストリームが受信され得る。バッファサイズが、決定されたビット数制限に基づき決定され得る。出力ピクチャが、ビデオデータの符号化に少なくとも部分的に基づき生成され得る。ビデオデータブロックは、High Efficiency Video Coding(HEVC)ビデオデータを含み得る。ビット数制限を決定する段階は、ビデオデコーダにおいてビット数制限を決定する段階を含み得る。ビデオデコーダは少なくとも部分的に、ハードウェアで実装され得る。ビット数制限を決定する段階は、ビデオエンコーダにおいてビット数制限を決定する段階を含み得る。ビデオエンコーダは少なくとも部分的に、ハードウェアで実装され得る。
他の例において、コンピュータ上でのビデオ符号化のためのシステムは、ディスプレイデバイスと、1または複数のプロセッサと、1または複数のメモリ格納装置と、ビデオ符号化装置と、その他と、および/またはこれらの複数の組み合わせとを含み得る。ディスプレイデバイスは、ビデオデータを提示するよう構成され得る。1または複数のプロセッサは、ディスプレイデバイスに通信可能に結合され得る。1または複数のメモリ格納装置は、1または複数のプロセッサに通信可能に結合され得る。ビデオエンコーダは、1または複数のプロセッサに通信可能に結合され得、アクティブなビデオ符号化モードに少なくとも部分的に基づき複数のビット数制限倍率からビット数制限倍率を決定し、ビット数制限倍率に少なくとも部分的に基づきビデオデータブロックに関連するビット数制限を決定するよう構成され得る。ディスプレイデバイスを介した画像データの提示は、符号化されたビデオデータに少なくとも部分的に基づき得る。
更なる例示的なシステムにおいて、ビデオ符号化装置は、符号化されたビデオデータに少なくとも部分的に基づきビットストリームをエンコードし、ビットストリームにおいて、複数のビット数制限倍率と、対応する複数の符号化モードとをエンコードするよう構成され得、複数のビット数制限倍率と対応する複数の符号化モードとは、ビットストリームのSupplemental Enhancement Information(SEI)パッケージの一部分を備え、ビデオ符号化装置は、ビットストリームを受信し、ビットストリームにアクセスして、複数のビット数制限倍率と対応する複数の符号化モードとを決定し、決定されたビット数制限に基づきバッファサイズを決定し、および/または符号化されたビデオデータに少なくとも部分的に基づき出力ピクチャを生成するよう構成され得る。ビデオ符号化装置は、複数のビット数制限倍率と、対応する複数の符号化モードとを含む表にアクセスすることによりビット数制限倍率を決定するよう構成され得る。ビデオ符号化装置は、表を介して、アクティブな符号化モードが利用可能でないと決定することによりビット数制限倍率を決定するよう構成され得、ビット数制限倍率は、デフォルトのビット数制限倍率に設定される。ビデオ符号化装置は、ビット数制限倍率とビデオデータブロックの生ビデオデータサイズとを乗算することによりビデオデータブロックに関連するビット数制限を決定するよう構成され得る。倍率は、1と等しいまたはそれより大きく2と等しいまたはそれより小さい数、3/2、4/3または5/3を含み得る。複数の符号化モードは、少数ビット生成符号化モードと、少数ビット生成符号化モードよりも多くのビットを生成する多数ビット生成符号化モードとを含み得、少数ビット生成符号化モードに関連するビット数制限倍率は、多数ビット生成符号化モードに関連するビット数制限倍率よりも小さくてもよい。ビデオデータブロックは最大符号化単位(LCU)であり得る。ビデオデータブロックは、High Efficiency Video Coding(HEVC)ビデオデータを含み得る。第1符号化モードは、変換スキップが有効化されたHEVCメインプロフィールにおける全ての符号化モードを含み得、対応する第1ビット数制限倍率は4/3であり得る。第2符号化モードは、変換スキップが無効化されたHEVCメインプロフィールにおける全ての符号化モードを含み得、対応する第2ビット数制限倍率は3/2であり得る。第3符号化モードは、変換スキップが有効化されたHEVCメイン静止画プロフィールにおける全ての符号化モードを含み得、対応する第3ビット数制限倍率は4/3であり得る。第4符号化モードは、変換スキップが無効化されたHEVCメイン静止画プロフィールにおける全ての符号化モードを含み得、対応する第4ビット数制限倍率は3/2であり得る。第5符号化モードは、変換スキップが有効化されたHEVCメイン10プロフィールにおける全ての符号化モードを含み得、対応する第5ビット数制限倍率は5/3であり得る。第6符号化モードは、変換スキップが無効化されたHEVCメイン10プロフィールにおける全ての符号化モードを含み得、対応する第6ビット数制限倍率は5/3であり得る。ビデオ符号化装置はビデオデコーダを含み得る。ビデオデコーダは少なくとも部分的に、ハードウェアで実装され得る。ビデオ符号化装置はビデオエンコーダを含み得る。ビデオエンコーダは少なくとも部分的に、ハードウェアで実装され得る。
さらに他の例において、コンピュータ上でのビデオ符号化のためのシステムは、ディスプレイデバイスと、1または複数のプロセッサと、1または複数のメモリ格納装置と、ビデオ符号化装置と、その他と、および/またはこれらの複数の組み合わせとを含み得る。ディスプレイデバイスは、ビデオデータを提示するよう構成され得る。1または複数のプロセッサは、ディスプレイデバイスに通信可能に結合され得る。1または複数のメモリ格納装置は、1または複数のプロセッサに通信可能に結合され得る。ビデオエンコーダは、1または複数のプロセッサに通信可能に結合され得、最大符号化単位生データ数と5/3のビット数制限倍率とを乗算することによりビデオデータの最大符号化単位に関連するビット数制限を決定し、ビット数制限に少なくとも部分的に基づきビデオデータを符号化するよう構成され得る。ディスプレイデバイスを介した画像データの提示は、符号化されたビデオデータに少なくとも部分的に基づき得る。
他の更なる例示的なシステムにおいて、ビデオ符号化装置は、符号化されたビデオデータに少なくとも部分的に基づきビットストリームをエンコードし、ビットストリームを受信し、決定されたビット数制限に基づきバッファサイズを決定し、および/または、ビデオデータの符号化に少なくとも部分的に基づき出力ピクチャを生成するよう構成され得る。ビデオデータブロックは、High Efficiency Video Coding(HEVC)ビデオデータを含み得る。ビデオ符号化装置はビデオデコーダを含み得る。ビデオデコーダは少なくとも部分的に、ハードウェアで実装され得る。ビデオ符号化装置はビデオエンコーダを含み得る。ビデオエンコーダは少なくとも部分的に、ハードウェアで実装され得る。
更なる例において、少なくとも1つのマシン可読媒体は、コンピューティングデバイスで実行されたことに応じて、コンピューティングデバイスに、上記した例のうち何れか1つに係る方法を実行させる複数の命令を含み得る。
また更なる例において、装置は、上記した例のうち何れか1つに係る方法を実行する手段を含み得る。
上記した例は、複数の特徴の特定の組み合わせを含み得る。しかし、そのような上記した複数の例はこの点に関して限定されず、様々な実施例において、上記した複数の例は、そのような複数の特徴のサブセットのみを実行すること、そのような複数の特徴を異なる順序で実行すること、そのような複数の特徴の異なる組み合わせを実行すること、および/または、明示的に列挙されたそれらの特徴以外の追加的な複数の特徴を実行することを含み得る。例えば、例示的な複数の方法に関して説明された全ての特徴は、例示的な装置、例示的な複数のシステム、および/または例示的な複数の物品に関して実装され得、その逆もまた然りである。
(項目1)
アクティブなビデオ符号化モードに少なくとも部分的に基づき複数のビット数制限倍率からビット数制限倍率を決定する段階と、
前記ビット数制限倍率に少なくとも部分的に基づきビデオデータブロックに関連するビット数制限を決定する段階と
を備える、ビデオ符号化を実行するためのコンピュータで実施される方法。
(項目2)
前記ビデオデータブロックに関連するビット数制限を決定する前記段階は、前記ビット数制限倍率と前記ビデオデータブロックの生ビデオデータサイズとを乗算する段階を有する、項目1に記載の方法。
(項目3)
前記倍率は、1と等しいまたはそれより大きく2と等しいまたはそれより小さい数、3/2、4/3、または5/3のうち少なくとも1つを備える、項目1に記載の方法。
(項目4)
前記ビデオデータブロックは、High Efficiency Video Coding(HEVC)ビデオデータを備え、
第1符号化モードは、変換スキップが有効化されたHEVCメインプロフィールにおける全ての符号化モードを備え、対応する第1ビット数制限倍率は4/3を備え、
第2符号化モードは、変換スキップが無効化されたHEVCメインプロフィールにおける全ての符号化モードを備え、対応する第2ビット数制限倍率は3/2を備える、項目1に記載の方法。
(項目5)
前記ビデオデータブロックは、High Efficiency Video Coding(HEVC)ビデオデータを備え、
第1符号化モードは、変換スキップが有効化されたHEVCメインプロフィールにおける全ての符号化モードを備え、対応する第1ビット数制限倍率は4/3を備え、
第2符号化モードは、変換スキップが無効化されたHEVCメインプロフィールにおける全ての符号化モードを備え、対応する第2ビット数制限倍率は3/2を備え、
第3符号化モードは、変換スキップが有効化されたHEVCメイン静止画プロフィールにおける全ての符号化モードを備え、対応する第3ビット数制限倍率は4/3を備え、
第4符号化モードは、変換スキップが無効化されたHEVCメイン静止画プロフィールにおける全ての符号化モードを備え、対応する第4ビット数制限倍率は3/2を備え、
第5符号化モードは、変換スキップが有効化されたHEVCメイン10プロフィールにおける全ての符号化モードを備え、対応する第5ビット数制限倍率は5/3を備え、
第6符号化モードは、変換スキップが無効化されたHEVCメイン10プロフィールにおける全ての符号化モードを備え、対応する第6ビット数制限倍率は5/3を備える、項目1に記載の方法。
(項目6)
前記複数の符号化モードは、少数ビット生成符号化モードと、前記少数ビット生成符号化モードよりも多くのビットを生成する多数ビット生成符号化モードとを備え、
前記少数ビット生成符号化モードに関連するビット数制限倍率は、前記多数ビット生成符号化モードに関連するビット数制限倍率よりも小さい、項目1に記載の方法。
(項目7)
前記ビットストリームを受信する段階と、
前記ビットストリームにアクセスして、前記複数のビット数制限倍率および対応する前記複数の符号化モードを決定する段階と、
決定された前記ビット数制限に基づきバッファサイズを決定する段階と、
前記ビデオデータの前記符号化に少なくとも部分的に基づき出力ピクチャを生成する段階と
をさらに備える、項目1に記載の方法。
(項目8)
前記ビット数制限に少なくとも部分的に基づき前記ビデオデータを符号化する段階と、
ビットストリームにおいて、前記複数のビット数制限倍率と、対応する複数の符号化モードとをエンコードする段階と
をさらに備え、
前記複数のビット数制限倍率と前記対応する複数の符号化モードとは、前記ビットストリームのSupplemental Enhancement Information(SEI)パッケージの一部分を備える、項目1に記載の方法。
(項目9)
前記ビット数制限に少なくとも部分的に基づき前記ビデオデータを符号化する段階と、
前記符号化されたビデオデータに少なくとも部分的に基づきビットストリームをエンコードする段階と、
前記ビットストリームにおいて、前記複数のビット数制限倍率と、対応する複数の符号化モードとをエンコードする段階と
をさらに備え、
前記複数のビット数制限倍率と前記対応する複数の符号化モードとは、前記ビットストリームのSupplemental Enhancement Information(SEI)パッケージの一部分を備え、
前記方法は、
前記ビットストリームを受信する段階と、
前記ビットストリームにアクセスして、前記複数のビット数制限倍率と前記対応する複数の符号化モードとを決定する段階と、
決定された前記ビット数制限に基づきバッファサイズを決定する段階と、
前記ビデオデータの前記符号化に少なくとも部分的に基づき出力ピクチャを生成する段階と
をさらに備え、
前記ビット数制限倍率を決定する前記段階は、前記複数のビット数制限倍率と前記対応する複数の符号化モードとを備える表にアクセスする段階を有し、
前記ビット数制限倍率を決定する前記段階は、前記表を介して、前記アクティブな符号化モードが利用可能でないと決定する段階を有し、前記ビット数制限倍率は、デフォルトのビット数制限倍率に設定され、
前記ビデオデータブロックに関連する前記ビット数制限を決定する前記段階は、前記ビット数制限倍率と前記ビデオデータブロックの生ビデオデータサイズとを乗算する段階を有し、
前記倍率は、1と等しいまたはそれより大きく2と等しいまたはそれより小さい数、3/2、4/3、または5/3のうち少なくとも1つを備え、
前記複数の符号化モードは、少数ビット生成符号化モードと、前記少数ビット生成符号化モードよりも多くのビットを生成する多数ビット生成符号化モードとを備え、
前記少数ビット生成符号化モードに関連するビット数制限倍率は、前記多数ビット生成符号化モードに関連するビット数制限倍率よりも低く、
前記ビデオデータブロックは最大符号化単位(LCU)を備え、
前記ビデオデータブロックはHigh Efficiency Video Coding(HEVC)ビデオデータを備え、
第1符号化モードは、変換スキップが有効化されたHEVCメインプロフィールにおける全ての符号化モードを備え、対応する第1ビット数制限倍率は4/3を備え、
第2符号化モードは、変換スキップが無効化されたHEVCメインプロフィールにおける全ての符号化モードを備え、対応する第2ビット数制限倍率は3/2を備え、
第3符号化モードは、変換スキップが有効化されたHEVCメイン静止画プロフィールにおける全ての符号化モードを備え、対応する第3ビット数制限倍率は4/3を備え、
第4符号化モードは、変換スキップが無効化されたHEVCメイン静止画プロフィールにおける全ての符号化モードを備え、対応する第4ビット数制限倍率は3/2を備え、
第5符号化モードは、変換スキップが有効化されたHEVCメイン10プロフィールにおける全ての符号化モードを備え、対応する第5ビット数制限倍率は5/3を備え、
第6符号化モードは、変換スキップが無効化されたHEVCメイン10プロフィールにおける全ての符号化モードを備え、対応する第6ビット数制限倍率は5/3を備え、
前記ビット数制限を決定する前記段階は、ビデオデコーダにおいて前記ビット数制限を決定する段階を有し、
前記ビデオデコーダは少なくとも部分的に、ハードウェアで実装され、
前記ビット数制限を決定する前記段階は、ビデオエンコーダにおいて前記ビット数制限を決定する段階を有し、
前記ビデオエンコーダは少なくとも部分的に、ハードウェアで実装される、項目1に記載の方法。
(項目10)
最大符号化単位生データ数と5/3のビット数制限倍率とを乗算することによりビデオデータの最大符号化単位に関連するビット数制限を決定する段階と、
前記ビット数制限に少なくとも部分的に基づき前記ビデオデータを符号化する段階と
を備える、ビデオ符号化を実行するためのコンピュータで実施される方法。
(項目11)
前記ビデオデータの前記符号化に少なくとも部分的に基づき出力ピクチャを生成する段階をさらに備え、
前記ビデオデータブロックはHigh Efficiency Video Coding(HEVC)ビデオデータを備え、
前記ビット数制限を決定する前記段階は、ビデオデコーダにおいて前記ビット数制限を決定する段階を有し、
前記ビデオデコーダは、少なくとも部分的にハードウェアで実装される、項目10に記載の方法。
(項目12)
前記符号化されたビデオデータに少なくとも部分的に基づきビットストリームをエンコードする段階と、
前記ビットストリームを受信する段階と、
決定された前記ビット数制限に基づきバッファサイズを決定する段階と、
前記ビデオデータの前記符号化に少なくとも部分的に基づき出力ピクチャを生成する段階と
をさらに備え、
前記ビデオデータブロックは、High Efficiency Video Coding(HEVC)ビデオデータを備え、
前記ビット数制限を決定する前記段階は、ビデオデコーダにおいて前記ビット数制限を決定する段階を有し、
前記ビデオデコーダは少なくとも部分的に、ハードウェアで実装され、
前記ビット数制限を決定する前記段階は、ビデオエンコーダにおいて前記ビット数制限を決定する段階を有し、
前記ビデオエンコーダは少なくとも部分的に、ハードウェアで実装される、項目10に記載の方法。
(項目13)
ビデオデータを提示するよう構成されたディスプレイデバイスと、
前記ディスプレイデバイスに通信可能に結合された1または複数のプロセッサと、
前記1または複数のプロセッサに通信可能に結合された1または複数のメモリ格納装置と、
前記1または複数のプロセッサに通信可能に結合されたビデオ符号化装置と
を備え、
前記ビデオ符号化装置は、
アクティブなビデオ符号化モードに少なくとも部分的に基づき複数のビット数制限倍率からビット数制限倍率を決定し、
前記ビット数制限倍率に少なくとも部分的に基づきビデオデータブロックに関連するビット数制限を決定し、
前記ビット数制限に少なくとも部分的に基づき前記ビデオデータを符号化するよう構成され、
前記ディスプレイデバイスを介した画像データの前記提示は、符号化された前記ビデオデータに少なくとも部分的に基づく、コンピュータ上でのビデオ符号化のためのシステム。
(項目14)
前記ビデオ符号化装置は、前記ビット数制限倍率と前記ビデオデータブロックの生ビデオデータサイズとを乗算することにより前記ビデオデータブロックに関連する前記ビット数制限を決定するよう構成されている、項目13に記載のシステム。
(項目15)
前記倍率は、1と等しいまたはそれより大きく2と等しいまたはそれより小さい数、3/2、4/3、または5/3のうち少なくとも1つを備える、項目13に記載のシステム。
(項目16)
前記ビデオデータブロックは、High Efficiency Video Coding(HEVC)ビデオデータを備え、
第1符号化モードは、変換スキップが有効化されたHEVCメインプロフィールにおける全ての符号化モードを備え、対応する第1ビット数制限倍率は4/3を備え、
第2符号化モードは、変換スキップが無効化されたHEVCメインプロフィールにおける全ての符号化モードを備え、対応する第2ビット数制限倍率は3/2を備える、項目13に記載のシステム。
(項目17)
前記ビデオデータブロックは、High Efficiency Video Coding(HEVC)ビデオデータを備え、
第1符号化モードは、変換スキップが有効化されたHEVCメインプロフィールにおける全ての符号化モードを備え、対応する第1ビット数制限倍率は4/3を備え、
第2符号化モードは、変換スキップが無効化されたHEVCメインプロフィールにおける全ての符号化モードを備え、対応する第2ビット数制限倍率は3/2を備え、
第3符号化モードは、変換スキップが有効化されたHEVCメイン静止画プロフィールにおける全ての符号化モードを備え、対応する第3ビット数制限倍率は4/3を備え、
第4符号化モードは、変換スキップが無効化されたHEVCメイン静止画プロフィールにおける全ての符号化モードを備え、対応する第4ビット数制限倍率は3/2を備え、
第5符号化モードは、変換スキップが有効化されたHEVCメイン10プロフィールにおける全ての符号化モードを備え、対応する第5ビット数制限倍率は5/3を備え、
第6符号化モードは、変換スキップが無効化されたHEVCメイン10プロフィールにおける全ての符号化モードを備え、対応する第6ビット数制限倍率は5/3を備える、項目13に記載のシステム。
(項目18)
前記複数の符号化モードは、少数ビット生成符号化モードと、前記少数ビット生成符号化モードよりも多くのビットを生成する多数ビット生成符号化モードとを備え、
前記少数ビット生成符号化モードに関連するビット数制限倍率は、前記多数ビット生成符号化モードに関連するビット数制限倍率よりも小さい、項目13に記載のシステム。
(項目19)
前記ビデオ符号化装置はさらに、
前記ビットストリームを受信し、
前記ビットストリームにアクセスして前記複数のビット数制限倍率と対応する前記複数の符号化モードとを決定し、
決定された前記ビット数制限に基づきバッファサイズを決定するよう構成されている、項目13に記載のシステム。
(項目20)
前記ビデオ符号化装置はさらに、
前記符号化されたビデオデータに少なくとも部分的に基づきビットストリームをエンコードし、
前記ビットストリームにおいて、前記複数のビット数制限倍率と、対応する複数の符号化モードとをエンコードするよう構成され、
前記複数のビット数制限倍率と前記対応する複数の符号化モードとは、前記ビットストリームのSupplemental Enhancement Information(SEI)パッケージの一部分を備え、
前記ビデオ符号化装置はさらに、
前記ビットストリームを受信し、
前記ビットストリームにアクセスして、前記複数のビット数制限倍率と前記対応する複数の符号化モードとを決定し、
決定された前記ビット数制限に基づきバッファサイズを決定し、
符号化された前記ビデオデータに少なくとも部分的に基づき出力ピクチャを生成するよう構成され、
前記ビデオ符号化装置は、前記複数のビット数制限倍率と前記対応する複数の符号化モードとを備える表にアクセスすることにより前記ビット数制限倍率を決定するよう構成され、
前記ビデオ符号化装置は、前記表を介して、前記アクティブな符号化モードが利用可能でないと決定することにより前記ビット数制限倍率を決定するよう構成され、前記ビット数制限倍率は、デフォルトのビット数制限倍率に設定され、
前記ビデオ符号化装置は、前記ビット数制限倍率と前記ビデオデータブロックの生ビデオデータサイズとを乗算することにより前記ビデオデータブロックに関連する前記ビット数制限を決定するよう構成され、
前記倍率は、1と等しいまたはそれより大きく2と等しいまたはそれより小さい数、3/2、4/3、または5/3のうち少なくとも1つを備え、
前記複数の符号化モードは、少数ビット生成符号化モードと、前記少数ビット生成符号化モードよりも多くのビットを生成する多数ビット生成符号化モードとを備え、
前記少数ビット生成符号化モードに関連するビット数制限倍率は、前記多数ビット生成符号化モードに関連するビット数制限倍率よりも低く、
前記ビデオデータブロックは最大符号化単位(LCU)を備え、
前記ビデオデータブロックはHigh Efficiency Video Coding(HEVC)ビデオデータを備え、
第1符号化モードは、変換スキップが有効化されたHEVCメインプロフィールにおける全ての符号化モードを備え、対応する第1ビット数制限倍率は4/3を備え、
第2符号化モードは、変換スキップが無効化されたHEVCメインプロフィールにおける全ての符号化モードを備え、対応する第2ビット数制限倍率は3/2を備え、
第3符号化モードは、変換スキップが有効化されたHEVCメイン静止画プロフィールにおける全ての符号化モードを備え、対応する第3ビット数制限倍率は4/3を備え、
第4符号化モードは、変換スキップが無効化されたHEVCメイン静止画プロフィールにおける全ての符号化モードを備え、対応する第4ビット数制限倍率は3/2を備え、
第5符号化モードは、変換スキップが有効化されたHEVCメイン10プロフィールにおける全ての符号化モードを備え、対応する第5ビット数制限倍率は5/3であり、
第6符号化モードは、変換スキップが無効化されたHEVCメイン10プロフィールにおける全ての符号化モードを備え、対応する第6ビット数制限倍率は5/3であり、
前記ビデオ符号化装置はビデオデコーダを備え、
前記ビデオデコーダは少なくとも部分的に、ハードウェアで実装され、
前記ビデオ符号化装置はビデオエンコーダを備え、
前記ビデオエンコーダは少なくとも部分的に、ハードウェアで実装される、項目13に記載のシステム。
(項目21)
ビデオデータを提示するよう構成されたディスプレイデバイスと、
前記ディスプレイデバイスに通信可能に結合された1または複数のプロセッサと、
前記1または複数のプロセッサに通信可能に結合された1または複数のメモリ格納装置と、
前記1または複数のプロセッサに通信可能に結合されたビデオ符号化装置と
を備え、
前記ビデオ符号化装置は、
最大符号化単位生データ数と5/3のビット数制限倍率とを乗算することによりビデオデータの最大符号化単位に関連するビット数制限を決定し、
前記ビット数制限に少なくとも部分的に基づき前記ビデオデータを符号化するよう構成され、
前記ディスプレイデバイスを介した画像データの前記提示は、符号化された前記ビデオデータに少なくとも部分的に基づく、コンピュータ上でのビデオ符号化のためのシステム。
(項目22)
前記ビデオデータブロックはHigh Efficiency Video Coding(HEVC)ビデオデータを備え、前記ビデオ符号化装置は、ビデオデコーダを備え、前記ビデオデコーダは少なくとも部分的に、ハードウェアで実装される、項目21に記載のシステム。
(項目23)
前記ビデオ符号化装置はさらに、
前記符号化されたビデオデータに少なくとも部分的に基づきビットストリームをエンコードし、
前記ビットストリームを受信し、
決定された前記ビット数制限に基づきバッファサイズを決定し、
前記ビデオデータの前記符号化に少なくとも部分的に基づき出力ピクチャを生成するよう構成され、
前記ビデオデータブロックは、High efficiency video coding(HEVC)ビデオデータを備え、
前記ビデオ符号化装置はビデオデコーダを備え、
前記ビデオデコーダは少なくとも部分的に、ハードウェアで実装され、
前記ビデオ符号化装置はビデオエンコーダを備え、
前記ビデオエンコーダは少なくとも部分的に、ハードウェアで実装される、項目21に記載のシステム。
(項目24)
コンピューティングデバイス上で実行されたことに応じて、前記コンピューティングデバイスに、項目1から12の何れか一項に係る方法を実行させる複数の命令を備える、少なくとも1つのマシン可読媒体。
(項目25)
項目1から12の何れか一項に記載の方法を実行するための手段を備える装置。

Claims (20)

  1. 符号化されたビデオデータの少なくとも1つの符号化単位を含む圧縮されたビデオデータのビットストリームにアクセスするビデオデコーダを備え、
    前記ビデオデコーダは、前記符号化されたビデオデータの符号化単位符号化モードに基づいて複数のビット制限倍率から前記符号化されたビデオデータの符号化単位に対応するビット制限倍率を決定し、
    前記ビデオデコーダは、前記符号化単位に関連するビット数制限を前記ビット制限倍率に基づき決定し、前記ビデオデコーダは、前記ビット数制限を決定すべく、前記符号化単位の生データサイズを前記ビット制限倍率で乗算する、圧縮されたビデオデータをデコードするための装置。
  2. 格納装置をさらに備え、
    前記ビデオデコーダは、決定された前記ビット数制限に少なくとも部分的に基づき前記格納装置のバッファサイズを決定する、請求項1に記載の装置。
  3. 記ビットストリームが、前記符号化モードに対応するインジケータを含む、請求項1または2に記載の装置。
  4. 記符号化モードが、変換スキップが有効化された第1の符号化モードを備える場合には、前記ビット制限倍率は第1の値を備え、
    記符号化モードが、変換スキップが無効化された第2の符号化モードを備える場合には、前記ビット制限倍率は第2の値を備え、
    前記第1の値は前記第2の値よりも小さい、請求項1から3の何れか一項に記載の装置。
  5. 前記第1の符号化モードと前記第2の符号化モードとの唯一の違いは、前記変換スキップが有効か無効かである、請求項4に記載の装置。
  6. 前記第1の値は4/3であり、前記第2の値は3/2である、請求項4または5に記載の装置。
  7. 記符号化モードが、第1ビット深さによる第1の符号化モードを備える場合には、前記ビット制限倍率は第1の値を備え、
    記符号化モードが、第2ビット深さによる第2の符号化モードを備える場合には、前記ビット制限倍率は第2の値を備え、
    前記第1ビット深さは前記第2ビット深さよりも小さく、かつ、前記第1の値は前記第2の値よりも小さい、請求項1から3の何れか一項に記載の装置。
  8. 前記第1ビット深さは8ビットであり、前記第2ビット深さは10ビットであり、前記第1の値は4/3であり、前記第2の値は5/3である、請求項7に記載の装置。
  9. 請求項1から8の何れか一項に記載の装置を備え、
    ディスプレイをさらに備え、
    前記ビデオデコーダは、前記少なくとも1つの符号化単位をデコードして、デコードされたビデオデータを生成し、
    デコードされた前記ビデオデータを前記ディスプレイ上にディスプレイするプロセッサをさらに備えるシステム。
  10. 前記ビットストリームを受信する1または複数の無線機をさらに備える、請求項9に記載のシステム。
  11. 符号化されたビデオデータの少なくとも1つの符号化単位を含む圧縮されたビデオデータのビットストリームにアクセスする段階と、
    前記符号化されたビデオデータの符号化単位符号化モードに基づいて複数のビット制限倍率から前記符号化されたビデオデータの符号化単位に対応するビット制限倍率を決定する段階と、
    前記符号化単位に関連するビット数制限を決定する段階と
    を備え、
    前記ビット数制限を決定する段階は、前記符号化単位の生データサイズを前記ビット制限倍率で乗算する段階を有する、圧縮されたビデオデータをデコードするコンピュータで実施される方法。
  12. 決定された前記ビット数制限に少なくとも部分的に基づきバッファサイズを決定する段階をさらに備える、請求項11に記載の方法。
  13. 記ビットストリームが、前記符号化モードに対応するインジケータを含む、請求項11または12に記載の方法。
  14. 記符号化モードが、変換スキップが有効化された第1の符号化モードを備える場合には、前記ビット制限倍率は第1の値を備え、
    記符号化モードが、変換スキップが無効化された第2符号化モードを備える場合には、前記ビット制限倍率は第2の値を備え、
    前記第1の値は前記第2の値よりも小さい、請求項11から13の何れか一項に記載の方法。
  15. 前記第1の符号化モードと前記第2の符号化モードとの唯一の違いは、前記変換スキップが有効か無効かである、請求項14に記載の方法。
  16. 前記第1の値は4/3であり、前記第2の値は3/2である、請求項14または15に記載の方法。
  17. 記符号化モードが、第1ビット深さによる第1の符号化モードを備える場合には、前記ビット制限倍率は第1の値を備え、
    記符号化モードが、第2ビット深さによる第2の符号化モードを備える場合には、前記ビット制限倍率は第2の値を備え、
    前記第1ビット深さは前記第2ビット深さよりも小さく、かつ、前記第1の値は前記第2の値よりも小さい、請求項11から13の何れか一項に記載の方法。
  18. 前記第1ビット深さは8ビットであり、前記第2ビット深さは10ビットであり、前記第1の値は4/3であり、前記第2の値は5/3である、請求項17に記載の方法。
  19. 請求項11から18の何れか一項に記載の方法を実行する手段を備える集積回路。
  20. コンピュータに、請求項1から8の何れか一項に記載の装置を実現させる、または請求項11から18の何れか一項に記載の方法を実施させるプログラム。
JP2015549357A 2013-01-04 2013-03-28 圧縮されたビデオデータをデコードするための装置、システム、方法、集積回路、およびプログラム Active JP6156808B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361748907P 2013-01-04 2013-01-04
US61/748,907 2013-01-04
US201361770699P 2013-02-28 2013-02-28
US61/770,699 2013-02-28
PCT/US2013/034264 WO2014107183A1 (en) 2013-01-04 2013-03-28 Coding unit bit number limitation

Publications (2)

Publication Number Publication Date
JP2016508318A JP2016508318A (ja) 2016-03-17
JP6156808B2 true JP6156808B2 (ja) 2017-07-05

Family

ID=51062404

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015549357A Active JP6156808B2 (ja) 2013-01-04 2013-03-28 圧縮されたビデオデータをデコードするための装置、システム、方法、集積回路、およびプログラム

Country Status (6)

Country Link
EP (1) EP2941866A4 (ja)
JP (1) JP6156808B2 (ja)
KR (1) KR101777487B1 (ja)
CN (1) CN104854865B (ja)
SG (1) SG11201503954YA (ja)
WO (1) WO2014107183A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117356097A (zh) * 2021-04-21 2024-01-05 抖音视界有限公司 用于视频处理的方法、设备和介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5231484A (en) * 1991-11-08 1993-07-27 International Business Machines Corporation Motion video compression system with adaptive bit allocation and quantization
GB2337621B (en) * 1998-05-20 2002-09-18 Mitel Corp Method of determining a scaling factor
US6516027B1 (en) * 1999-02-18 2003-02-04 Nec Usa, Inc. Method and apparatus for discrete multitone communication bit allocation
US7418037B1 (en) * 2002-07-15 2008-08-26 Apple Inc. Method of performing rate control for a compression system
US7567722B2 (en) * 2005-03-22 2009-07-28 Qualcomm Incorporated Dynamically scaled file encoding
US8213498B2 (en) * 2007-05-31 2012-07-03 Qualcomm Incorporated Bitrate reduction techniques for image transcoding
US7983496B2 (en) * 2007-06-26 2011-07-19 Mitsubishi Electric Research Laboratories, Inc. Inverse tone mapping for bit-depth scalable image coding adapted to variable block sizes
US8477847B2 (en) * 2007-12-17 2013-07-02 Vixs Systems, Inc. Motion compensation module with fast intra pulse code modulation mode decisions and methods for use therewith
US9516379B2 (en) * 2011-03-08 2016-12-06 Qualcomm Incorporated Buffer management in video codecs

Also Published As

Publication number Publication date
EP2941866A4 (en) 2016-06-01
EP2941866A1 (en) 2015-11-11
KR101777487B1 (ko) 2017-09-11
KR20150082527A (ko) 2015-07-15
JP2016508318A (ja) 2016-03-17
CN104854865A (zh) 2015-08-19
WO2014107183A1 (en) 2014-07-10
CN104854865B (zh) 2018-11-20
SG11201503954YA (en) 2015-06-29

Similar Documents

Publication Publication Date Title
JP5976696B2 (ja) 処理方法及びビデオコーディングシステム
JP2015530805A (ja) レイヤ間画素サンプル予測
CN107079192B (zh) 使用压缩视频流的动态屏幕上显示
CN106664412B (zh) 包括目标比特率的视频编码速率控制和质量控制
JP2015528252A (ja) サイズに基づく変換ユニットコンテクスト導出
CN106664407B (zh) 用于无线显示器的并行编解码的方法、系统、装置及可读介质
JP2014534746A (ja) クロスチャネル残差予測
CN106664409B (zh) 视频编码中黄金帧选择的方法、系统、设备和介质
JP6060394B2 (ja) クロスレイヤー・クロスチャネル残差予測
US20140169467A1 (en) Video coding including shared motion estimation between multple independent coding streams
TWI559749B (zh) 層間移動資料繼承之技術
JP6005847B2 (ja) スケーラブルなビデオコーディングのためのアダプティブフィルタリング
US10547839B2 (en) Block level rate distortion optimized quantization
JP6156808B2 (ja) 圧縮されたビデオデータをデコードするための装置、システム、方法、集積回路、およびプログラム
US20140192898A1 (en) Coding unit bit number limitation
JP2014209757A (ja) クロスチャネル残差予測
TWI578763B (zh) 編碼單元位元數限制
JP2015533037A (ja) ビデオ符号化及び復号のためのヒストグラム分割ベースのローカル適応フィルタ
JP6177966B2 (ja) クロスチャネル残差予測
JP6227698B2 (ja) クロスチャネル残差予測
JP2015146599A (ja) レイヤ間画素サンプル予測
JP2015515802A (ja) 並列デコード前マルチシンボルランを有するcalvcデコーダ

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160627

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160726

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161024

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170307

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170411

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170529

R150 Certificate of patent or registration of utility model

Ref document number: 6156808

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250