JP2010538547A - Cabacビットストリームの多段復号のためのアーキテクチャ - Google Patents

Cabacビットストリームの多段復号のためのアーキテクチャ Download PDF

Info

Publication number
JP2010538547A
JP2010538547A JP2010523157A JP2010523157A JP2010538547A JP 2010538547 A JP2010538547 A JP 2010538547A JP 2010523157 A JP2010523157 A JP 2010523157A JP 2010523157 A JP2010523157 A JP 2010523157A JP 2010538547 A JP2010538547 A JP 2010538547A
Authority
JP
Japan
Prior art keywords
decoding
intermediate signal
cabac
decoder
integrated circuit
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
JP2010523157A
Other languages
English (en)
Other versions
JP4976553B2 (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 JP2010538547A publication Critical patent/JP2010538547A/ja
Application granted granted Critical
Publication of JP4976553B2 publication Critical patent/JP4976553B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4006Conversion to or from arithmetic code
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Abstract

コンテキストベース適応バイナリ算術符号化(CABAC)ビットストリーム復号を最適化する技術が開示される。一の構成において、装置は、コンテキストベース適応バイナリ算術符号化(CABAC)ビットストリームをCAVAC復号規格フォーマット及び復号順序を有する中間信号に復号するように機能する第1の処理回路を有する。第2の処理回路は、非CABAC復号規格を用いて中間信号を復号する。処理速度を向上するために、第1及び第2の処理回路間にバッファーを設ける。

Description

関連出願
本特許出願は、共同譲渡された2007年8月31日提出の暫定出願第60/969,565号及び2008年5月29日提出の暫定出願第61/057,009号の優先権を主張する。本暫定特許出願は、本明細書で参照することにより、ここに明示的に組込まれる。
本開示は、一般に映像復号の分野に関し、より具体的には、コンテキストベース適応バイナリ算術符号化(CABAC)ビットストリーム復号を最適化するための技術に関する。
H.264/AVCには、ビットストリームを生成するための2つの異なるエントロピー符号化モードがある。AVCはadaptive video codingを意味する。一方の符号化モードはコンテキストベース適応可変長符号化(CAVLC)であり、もう一方の符号化モードはコンテキストベース適応バイナリ算術符号化(CABAC)である。CAVLCは、他の可変長符号化(VLC)スキームと類似している。各シンタックス要素は、1つ又は複数の整数ビットから復号される。
CABACは、シンタックス要素を大変異なるやり方で復号する。各シンタックス要素は、概念的には2つのステップで復号することができる。第1のステップにおいて、CABACは適応バイナリ算術復号器を用いて1つ又は複数のバイナリシンボルを復号する。第2のステップにおいて、シンタックス要素の値を再構成するために逆2値化処理が行なわれ、この値は、映像復号器の残りの復号ステップにおいて用いられる。バイパスフラグ及びコンテキストインデックスに応じて、バイナリシンボルは、適応バイナリ算術符号器において定義された、3つの異なる復号処理すなわちDecodeDecision、DecodeBypass及びDecodeTerminateのいずれかを用いて復号される。
DecodeDecisionでは、ビットストリームから既に復号された情報に則してバイナリシンボルが復号される。また、同じカテゴリーの次のバイナリシンボルを復号する確率モデルが、今しがた復号されたバイナリシンボルの値に基づいて更新される。DecodeBypassでは、シンボルは、既に復号された他の情報を参照することなく復号される。シンボルが復号された後にコンテキストモデルを維持する必要性はない。DecodeTerminateは、ある値のシンボルの復号はわずかなビット量しか消費しないが別の値のシンボルの復号はかなり多くのビットを消費するように処理が定義されるという点を除き、DecodeBypassと同様である。
シンボルの復号は、特に処理DecodeDecisionを用いる場合、いくつもの連続的な演算ステップを要することから、CABAC復号処理の全体を高速化するのは極めて難しい。これは高解像度(HD)映像復号器を実装する際の課題であった。一部の圧縮されたフレームは大き過ぎるのである。CABAC復号器は、他の復号段より終了にかなり多くの時間がかかる場合がある。したがって、復号器の全体性能は影響を及ぼす。
符号化処理は復号処理とは逆のものである。CABAC符号器は、二値化を行なって各シンタックス要素を1つ又は数個のバイナリシンボルに変換する。各バイナリシンボルは、3つのバイナリ算術符号化処理すなわち、DecodeDecision、DecodeBypass、DecodeTerminateにそれぞれ対応するEncodeDecision、EncodeBypass、EncodeTerminateのうちのいずれかを用いて符号化される。
以上述べられた問題への1つのアプローチは、第1の段においてCABACビットストリームをCABACなしのビットストリームにトランスコードし、この非CABACビットストリームの復号及び第2の段の他の処理ステップを行なうことである。一般に、これら2つの段の間にはバッファリングが必要である。通常、第1の段の動作は、CABACビットストリームからのシンタックス要素の値の復号と、VLC符号器のようにH.264 CAVLC又はMPEG−2のような別のエントロピー符号化スキームを用いてシンタックス要素を再符号化することを含んでいる。
このトランスコーディングアプローチに関する1つの問題は、トランスコーディング動作に関連した複雑さである。本質的に、別のVLC符号器及びVLC復号器のオーバーヘッドを持つ完全なCABAC復号器を実装する必要がある。また、VLC符号器の圧縮効率では、さらなるトラフィックを満足に最小化することはできない。
従って、コンテキストベース適応バイナリ算術符号化(CABAC)ビットストリーム復号を最適化する技術の継続的な必要性がある。
コンテキストベース適応バイナリ算術符号化(CABAC)ビットストリーム復号を最適化する技術が提供される。一の構成において、 コンテキストベース適応バイナリ算術符号化(CABAC)ビットストリームをCAVAC復号規格フォーマット及び復号順序を有する中間信号に復号するように機能する第1の復号器段を具備する装置が提供される。この装置は、前記復号順序で前記中間信号をバッファーするように機能するバッファーと、非CABAC復号規格を用いて、前記中間信号を映像出力信号に復号するように機能する第2の復号器段と、をさらに含む。
別の態様において、コンテキストベース適応バイナリ算術符号化(CABAC)ビットストリームをCAVAC復号規格フォーマット及び復号順序を有する中間信号に復号するように機能する第1の復号器回路、を具備する集積回路が提供される。該集積回路は、前記復号順序で前記中間信号をバッファーするように機能するバッファーをさらに含む。第2の復号器回路は、非CABAC復号規格を用いて、前記中間信号を映像出力信号に復号するように機能する。
さらに別の態様では、コンピュータプログラム製品が提供される。このコンピュータプログラム製品は、コンピュータに、コンテキストベース適応バイナリ算術符号化(CABAC)ビットストリームをCAVAC復号規格フォーマット及び復号順序を有する中間信号に復号させるための命令を含む。該製品は、コンピュータに、前記復号順序で前記中間信号をバッファーさせ、非CABAC復号規格を用いて、前記中間信号を映像出力信号に復号させるための命令を含む。
さらなる態様が、特に添付の図面とともに理解する場合、詳細な説明から即座に明白になる。
開示の態様及び構成は、図面(参照文字等が全体にわたって対応する要素を識別する)と共に理解する場合、以下で述べられた詳細な説明から明白になる。
図1は、無線デバイスの一般的なブロック図を示す。 図2Aは、例示のH.264規格レンジレジスタを示す。 図2Bは、例示のH.264規格オフセットレジスタを示す。 図2Cは、例示のH.264規格MPSのケースを示す。 図2Dは、例示のH.264規格LPSのケースを示す。 図3は、1つのビンのH.264規格算術復号処理の(psuedocode)命令セット例を示す。 図4は、H.264規格リノーマリゼーション処理のフローチャートを示す。 図5は、H.264規格通常復号モード処理(DecodeDecision)のフローチャートを示す。 図6は、H.264規格バイパス復号モード処理(DecodeBypass)のフローチャートを示す。 図7は、H.264規格終了復号モード処理(DecodeTerminte)のフローチャートを示す。 図8は、CABACビットストリームの多段復号を行なうプロセッサの一般的なブロック図を示す。 図9は、CABACビットストリーム多段復号処理のフローチャートを示す。 図10は、バイパスモード付き多段CABAC復号器エンジンの一般的なブロック図を示す。 図11は、バイパスモード付きCABACビットストリーム多段復号処理のフローチャートを示す。
図面における画像は、説明の目的のために単純化されており、原寸に比例していない。理解を容易化するために可能であれば、各図において共通する同一の要素を指定する際に、(特に要素の区別にサフィックスが付与される場合を除き)同一の参照数字を用いている。
添付の図面は、この発明の例示的構成を示したものである。そういうものとして、他の同等に有効な構成を認めてもよいとするこの発明の範囲を限定するものと見なされるべきではない。一の構成の特徴又はステップは、追加的な詳述のない他の構成に効果的に組込まれてもよいことが意図される。
本明細書において「例示の」という語は「例、事例、又は実例として役立つ」ことを意味するよう用いられる。「例示の」と本明細書で説明された任意の構成又は構造は、他の構成又は構造に対して好ましい、又は有利であるとは必ずしも解釈されない。また用語「コア」、「エンジン」、「マシン」、「プロセッサ」及び「処理ユニット」は、しばしば区別なく用いられる。
映像信号は一連のピクチャー、フレーム及び/又はフィールドに関して特徴づけられてもよく、これらのいずれかは1つ又は複数のスライスをさらに含んでもよい。本明細書で用いられるように、用語「フレーム」は、1つ又は複数のフレーム、フィールド、ピクチャー及び/又はスライスを包含しうる広い用語である。
実施形態は、マルチメディア伝送システムにおけるチャネル切替えを容易化するシステム及び方法を含んでいる。マルチメディアデータは、1つ又は複数の動画ビデオ、音声、静止画像、テキスト又は任意の他の適合する型のオーディオビジュアルデータを含んでいてもよい。
映像符号器のようなマルチメディア処理システムは、あらゆる目的のために参照することにより本明細書に全面的に組み込まれるMoving Picture Experts Group(MPEG)−1、−2及び−4規格、International Telecommunication Union(ITU)−T H.263規格、ITU−T H.264規格及びその相当物、ISO/IEC MPEG−4、Part 10、すなわちAdvanced Video Coding(AVC)のような国際規格に基づく符号化方法を用いてマルチメディアデータを符号化してもよい。上記符号化ひいては復号方法は、一般に、伝送及び/又は記憶のためにマルチメディアデータを圧縮することを対象とする。概して圧縮は、マルチメディアデータから冗長度を取り除く処理であると考えることができる。
映像信号は、フレーム(全体像)又はフィールド(例えば、インターレース方式の映像ストリームは画像の奇数又は偶数ラインを交互にするフィールドを具備する)を含む一連の画像という観点で説明することができる。さらに、フレーム又はフィールドそれぞれは、2以上のスライス、又はフレーム又はフィールドのサブ部分をさらに含んでもよい。
映像符号器のようなマルチメディアプロセッサは、フレームをピクセルのサブセットに分割することにより符号化してもよい。これらピクセルのサブセットは、ブロック又はマクロブロックと呼ばれ、例えば16x16ピクセルを含んでいてもよい。この符号器は、各16x16マクロブロックをさらにサブブロックに分割してもよい。各サブブロックは、さらなるサブブロックを備えてもよい。例えば、16x16マクロブロックのサブブロックが、16x8及び8x16のサブブロックを含んでいてもよい。16x8及び8x16のサブブロックの各々は、例えば、それら自体が例えば4x4、4x2、2x4サブブロックなどを含む8x8サブブロックを含んでいてもよい。本明細書で用いられるように、用語「ブロック」は、マクロブロック又は任意のサイズのサブブロックのいずれかを指しても良い。
本明細書で説明される技術は、無線通信、コンピューティング、パーソナル電子機器等に用いられてもよい。無線通信技術に関して、例示的利用を以下に述べる。通信システム又はネットワークは、イーサネット(登録商標)、電話(例えばPOTS)、ケーブル、電力線、光ファイバーシステム、及び/又は符号分割多重アクセス(CDMA又はCDMA2000)通信システム、周波数分割多重アクセス(FDMA)システム、直交周波数分割多重(OFDM)アクセスシステム、GSM/GPRS(General packet Radio Service)/EDGE(enhanced data GSM environment))のような時分割多重アクセス(TDMA)システム、TETRA(Terrestrial Trunked Radio)携帯電話システム、広帯域符号分割多重アクセス(WCDMA)システム、高データレート(1xEV−DO又は1xEV−DO Gold Multicast)システム、IEEE802.11システム、MediaFLOシステム、DMBシステム、DVB−Hシステム等の1つ以上を具備する無線システムを含む、有線の又は無線の通信システムの1つ以上を具備してもよい。
図1は、無線通信システム又はネットワークにおける無線デバイス10の構成のブロック図を示す。無線デバイス10は、セルラー又はカメラ付き携帯電話機、端末、ハンドセット、携帯情報端末(PDA)又は他の何らかのデバイスであってもよい。無線通信システムは、符号分割多重アクセス(CDMA)システム、グローバル移動体通信システム(GSM)システム又は他の何らかのシステムであってもよい。ハンドセットは、携帯電話機、無線デバイス、無線通信デバイス、ビデオゲームコンソール、無線機能を備えた携帯情報端末(PDA)、ラップトップコンピューター又は映像対応デバイスであってもよい。
無線デバイス10は、受信パス及び送信パスを通じて双方向通信を提供することが可能である。受信パスにおいては、基地局によって送信された信号が、アンテナ12によって受け取られ、受信機(RCVR)14に提供される。受信機14は、受信信号を整えてディジタル化し、さらなる処理のためにデジタル部20に対しサンプルを供給する。送信パスについて、送信機(TMTR)16は、デジタル部20から送信されるデータを受け取り、該データを処理して整え、変調された信号を生成する。それは、アンテナ12を通じて基地局に送信される。
デジタル部20は、例えばモデムプロセッサ22、映像プロセッサ24、コントローラ/プロセッサ26、表示プロセッサ28、ARM/DSP32、グラフィック処理ユニット(GPU)34、内部メモリ36、外部バスインタフェース(EBI)38のような各種処理ユニット、インタフェースユニット、メモリユニットを含む。モデムプロセッサ22は、データ送受信のための処理(例えば符号化、変調、復調及び復号)を実行する。映像プロセッサ24は、カムコーダー、ビデオプレイバック、ビデオコンファレンシングのような映像アプリケーションに関して、映像コンテンツ(例えば静止画像、動画像、動画テキスト)の処理を実行する。コントローラ/プロセッサ26は、デジタル部20内の各種処理及びインタフェースユニットの演算を指令してもよい。表示プロセッサ28は、表示ユニット30上でのビデオ、グラフィックス及びテキストの表示を容易化するための処理を実行する。ARM/DSP32は、無線デバイス10向けに種々のタイプの処理を実行してもよい。グラフィック処理ユニット34は、グラフィック処理を行なう。
本明細書で説明される技術は、デジタル部20におけるいずれかのプロセッサ、例えば映像プロセッサ24に利用してもよい。内部メモリ36は、デジタル部20内の種々のユニットに対するデータ及び/又は命令を格納する。EBI38は、データラインDLに沿ってデジタル部20(例えば内部メモリ36)と主メモリ40の間のデータ転送を容易化する。
デジタル部20は、1つ又は複数のDSP、マイクロプロセッサ、RISCなどで実装されてもよい。またデジタル部20は、1つ又は複数の特定用途向け集積回路(ASIC)又は他の何らかのタイプの集積回路(IC)上に作られてもよい。
本明細書で説明される技術は、種々のハードウェアユニットに実装されてもよい。
本明細書で開示された例に関して説明された様々な例示的な論理ブロック、コンポーネント、モジュール、及び回路は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラム可能なゲートアレイ信号(FPGA)又はその他のプログラム可能な論理素子、ディスクリートゲートもしくはトランジスタロジック、ディスクリートハードウェアコンポーネント、あるいは本明細書で説明される機能を実行するように設計されたそれらの任意の組合せを用いて実装又は実行され得る。汎用プロセッサはマイクロプロセッサであってよいが、代替案では、プロセッサは任意の通常のプロセッサ、コントローラ、マイクロコントローラ、又は状態機械であってもよい。プロセッサは、コンピューティング装置の組合せ(例えば、DSPとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと共に1つ又は複数のマイクロプロセッサ、又は任意の別のそのような構成)として実装されてもよい。またプロセッサは、RISC、ARM、デジタル信号処理デバイス(DSPD)、プログラマブルロジックデバイス(PLD)を含んでもよい。
本明細書で開示される例に関して説明される処理又はアルゴリズムのブロックは、ハードウェアで直接的に実施されてもよく、1つ又は複数の処理要素によって実行される1つ又は複数のソフトウェアモジュールで実施されてもよく、又はそれら2つの組合せで実施されてもよい。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD−ROM、又は当技術分野において知られている記憶媒体の任意の他の形式又は組合せにおいて存在し得る。実例の記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことが可能であるようにプロセッサに結合される。代替案では、記憶媒体はプロセッサに統合されてもよい。プロセッサ及び記憶媒体は特定用途向け集積回路(ASIC)内に存在してもよい。ASICは無線モデム内に存在してもよい。代替案では、プロセッサ及び記憶媒体は無線モデムにおける個別部品として存在してもよい。
図2A−図2D及び図3−図7は、下記で述べるように、例えばCABACビットストリームの復号のためのH.264規格に関する。図2A−図2D及び図3−図7は、図8−図11の構成に適用することのできる、H.264規格によって定義された総括的な原理を開示する。
図2Aは例示のH.264規格レンジレジスタ50を示し、図2Bは例示のH.264規格オフセットレジスタ60を示す。バイナリ算術符号化処理の根本概念は再帰的な区間分割である。算術復号エンジンコアは2つのレジスタを保持する。第1のレジスタは9ビットのレンジレジスタ50である。第2のレジスタは、通常モードでは9ビット、バイパスモードでは10ビットのオフセットレジスタ60である。
図2Cは、例示のH.264規格most probability symbol(MPS)のケースを示し、図2Dは、例示のH.264規格least probability symbol(LPS)のケースを示す。レンジレジスタ50は、現区間の、部分区間rLPS52及び部分区間rMPS54の総距離によって示される幅を記録する。オフセット(offset)は、レンジ(range)内の、ビットストリームからの現ロケーション点である。以下で述べる式及び表現の多くは、C又はC++コンピュータプログラミング言語と同様のシンタックスを用いることに留意されたい。該表現は、説明を目的としたものであり、異なるシンタックスを持つ他のコンピュータプログラミング言語で表現することができる。
ビン(bin)を復号する場合、rangeは、特定のビンを復号するためのコンテキストに依存して、2つの部分区間rLPS52及びrMPS54に分割される。ビンとは、CABAC復号された規格フォーマットのことである。以下の説明から分かるように、復号される場合、ビンはバイナリシンボルである。部分区間rLPS52及びrMPS54は、式Eqs(1)及び(2)によって定義される。
rLPS=range*pLPS (1)
rMPS=range*pMPS=range*(1−pLPS)=range−rLPS (2)
ここで、pLPSは最小確率シンボル(least probability symbol)の確率、pMPSは最大確率シンボル(most probability symbol)の確率である。offsetが収まる部分区間rLPS52及びrMPS54は、ビンがMPSビンであるかLPSビンであるかを決める。offsetが>=rMPSである場合、そのビンはLPSビンである。そうでなければ、そのビンはMPSビンである。ビンが決定された後、rangeとoffsetが更新される。用語pMPSとは、確率のことである。この確率は0から1の範囲内とするべきである。用語rMPSとは、range*pMPSのことである。MPSとLPSの確率の合計は1に等しくするべきである。
下記の種々の構成において、フローチャートのブロックは、示された順に行なわれるか、これらのブロック又はその一部が同時に、並列に、又は異なる順序で行なわれてもよい。
図3は、1つのビンのH.264規格算術復号処理100の(psuedocode)命令セット例を示す。この命令セットは、レンジレジスタ50及びオフセットレジスタ60の両方が9ビットであることを示す。レンジレジスタ50の構成も示される。該命令セットは、rangeが2<=range<2の範囲内にあることを示す。この算術復号処理100は略記したものであって、rangeが>offset >=0かどうかの判定がなされたところの命令で始まる。この判定が「No」である場合、処理100は終了する。一方、この判定が「Yes」である場合、次の命令セットはif−elseセットである。このifステートメントは、offsetが>=rMPSかどうかをチェックする。この判定が「Yes」となるのは、ビンがLPSの場合である。その結果、rangeは、部分区間rLPS(図2D)と等しい新規のrange(range_new)に更新される。また、新規のoffset(offset_new)はoffset−rMPSと等しくセットされる。
if条件が「No」となるのは、ビンがMPSの場合である。その結果、rangeは、部分区間rMPSと等しい新規のrange(range_new)に更新される。また、新規のoffset(offset_new)はoffset−rMPSと等しくセットされる。
図4は、H.264規格リノーマリゼーション処理150のフローチャートを示す。1つのビンを復号した後に、rangeとoffsetは次のビンを復号するための精度(precision)を維持するためにリノーマライズされる。規格ノーマリゼーション処理150は、図2Aに示されるように、9ビットのレンジレジスタ50の最上位ビット(MSB)が常に1であることを保証する。規格ノーマリゼーション処理150は、rangeが<0X100かどうかを判定するブロック152から始まる。このブロック152では、rangeの値を256(あるいは0x100)と比較する。この判定が「No」である場合、処理150は終了する。一方、ブロック152のこの判定が「Yes」である場合、このブロック152にブロック154が続く。ブロック154では、rangeは、range=range<<1で示されるように1ビット左シフトされる。同様に、offsetはoffset=offset<<1によって示されるように1ビット左シフトされる。また、該offsetは、offset (bitwise OR) read_bits(1)に設定される。表現offset (bitwise OR) read_bits(1)は、1ビット左シフトされたRANGE/OFFSETレジスタの値を表す。このシフトの後、最下位(最右)ビットは0である。表現read_bits(1)は、ビットストリームから1ビットを読出す。この1ビットは、オフセットレジスタ60の最下位(最右)ビットに加えられる。
ブロック154は、上述したブロック152にループバックする。このブロック152及び154のループは、ブロック152の判定が「No」(リノーマリゼーション処理150完了)となるまで繰り返される。
図5は、H.264規格通常復号モード処理200のフローチャートを示す。規格復号処理200では、乗算を回避するため、式Eq(1)において述べたrLPSに近似するための64x4ルックアップテーブル(LUT)が用いられる。rangeは、4個のセルへの9ビットのレンジレジスタ50の等しい分割に近似される。pLPSは、6ビットのコンテキストステート(context state)によってインデックスされた64個の量子化値に近似される。従って、ブロック202では、式Eq(3)に従ってrLPSが計算される。
rLPS=lutLPS[ctxIdx−>state][(range>>6)&3] (3)
但し、ctxIdxは処理200への入力であって、コンテキストステートへのインデックスを表わし、ステート情報を提供する。range>>6は、6ビットの右シフト又は2による除算を表わす。(range>>6)&3の結果として、LUTをアドレスするために用いられるレンジレジスタ50におけるビット7−6(MSB以後2ビット)が得られる。表現ctxIdx−>stateは、rLPSを取得するために64x4LUTにおいて用いられる0から63の値を取ることができる。例えば、rangeが0b1 xx yy yyyyならば、このrangeは0x100から0x1FEの範囲内にあって、該rangeの「xx」を得るために(range>>6)&3が用いられる。表現&は、ビットワイズAND関数である。
ブロック202では、式Eq(4)に従ってrMPSも計算される。
rMPS=range−rLPS (4)
但し、rLPSは式Eq(3)で計算される。
ブロック202にブロック204が続き、ここでは、offset>=rMPSかどうかの判定がなされる。この判定が「Yes」である場合、ブロック204にブロック206が続き、ここでは、bin、range及びoffsetが式Eq(5)、(6)及び(7)に従って計算される。
bin=!ctxIdx−>valMPS (5)
range=rLPS (6)
offset=offset−rMPS (7)
但し、!ctxIdx−>valMPSは、ctxIdx−>valMPSが値0又は1をとることができ、「!」はビットフリップを意味する、という表現を示したものである。ctxIdxというタームは、関数への入力パラメーターであって、ステート及びvalMPS情報を提供する。valMPSというタームは、MPSの場合のビン出力を表わす。
ブロック206にブロック208が続き、ここではctxIdx−>stateが0に等しいかどうかの判定がなされる。このブロック208での判定が「Yes」である場合、ブロック208にブロック210が続き、ここでは、ctxIdx−>valMPSに!ctxIdx−>valMPSが代入される。ブロック212がブロック210に続く。また、ブロック208の判定が「No」である場合、ブロック208にブロック212が続く。ブロック212では、ctxIdx−>stateにはTransIndexLPS(ctxIDx−>state)が代入される。binがそれぞれ復号された後、各ctxIdxに関連するstate/valMPSを更新する必要がある。タームTransIndexLPS/TransIndexMPSは、状態遷移を計算するためにH.264規格において定義された公正な2つのLUTである。
ブロック204に戻り、該ブロック204の判定が「No」である場合、該ブロック204にブロック214が続き、ここでは、binとrangeが式Eq(8)及び(9)に従って計算される。
bin=ctxIdx−>valMPS (8)
range=rMPS (9)
ブロック216がブロック214に続き、ここでは、ctxIdx−>stateにはTransIndexLPS(ctxIDx−>state)が代入される。ブロック212及び216は、いずれもブロック218に進み、ここではリノーマリゼーション処理150が行われる。ブロック218は処理200を終了させる。
図6は、H.264規格バイパス復号モード処理250の大まかなフローチャートを示す。バイパス復号モード処理250のために。H.264規格バイパス復号モード処理250では、offsetを1ビット左シフトし、1ビットをビットストリームから読出す。この新規のオフセットをrangeと比較してbinが1であるか0であるかを決定する。
規格バイパス復号モード処理250は、ブロック252から始まり、ここでは、offsetをoffset<<1とする。<<1は、2の乗算又は1ずつの左シフトを表す。さらに、offsetは、offset (bitwise OR) read_bits(1)に等しく設定される。ブロック252にブロック254が続き、ここでは、offsetが>=rangeかどうかの判定がなされる。この判定が「Yes」である場合、ブロック254にブロック256が続き、ここでは、bin及びoffsetが式Eq(10)及び(11)に従って計算される。
Bin=1 (10)
Offset=offset−range (11)
上記判定が「No」である場合、ブロック254にブロック258が続き、ここではbinはゼロ(0)に等しく設定される。ブロック256及び258は処理250を終了させる。タームbinは、ビットと同じであることに留意されたい。
図7は、H.264規格終了復号モード処理300のフローチャートを示す。end_of_slice_flag及びI−Pulse Code Modulation (I_PCM)モード(特別の復号ルーチン)を示すビンを復号する場合、規格終了復号処理300が呼び出される。規格終了復号処理300はブロック302から始まり、ここではrangeが2ほどディクリメントされる(range=range−2)。ブロック302にブロック304が続き、ここでは、該offsetが>=rangeかどうかの判定がなされる。ブロック304のこの判定が「Yes」である場合、binはブロック306において”1”に等しく設定される。一方、ブロック304における判定が「No」である場合、ブロック304にブロック308が続き、ここではbinはゼロ(0)に等しく設定される。ブロック308がブロック310に続き、ここではリノーマリゼーション処理150(図4)が行なわれる。ブロック306及び310はいずれもH.264規格終了復号処理250を終了させる。
CABAC初期段階中に、レンジレジスタ50(図2A)は0x1FEに設定され、初期のオフセットレジスタ60を設定するためにビットストリームから9ビットが読出され、上記から直ちに理解されるように、該9ビットはレンジ及びオフセットを表わすために用いられる。従って、CABACコア処理には多くのビットワイズ演算がある。
H.264規格通常復号モード処理200(FIG 5)において、LPSの場合は常に、LPS確率が<0.5であることから、新規のrangeは<0x100になる。したがって、リノーマリゼーションはrangeを>=0x100にすることが必要である。新規の例示的構成では、count_leading_zero(CLZ)命令は、ループを用いる代わりに、必要な左シフトの量を計算するために用いられる。MPSの場合は常に、MPS確率は>=0.5であることから、新規のrangeは0x080から0x1FEまでである。従って、リノーマリゼーションが最上位ビット(MSB)を1にするために、高々1つの左シフトが必要である。同時に、offsetが同じ量で左シフトされ、それを満たすために新規のビットがビットストリームから読出される。
さらにH.264規格バイパス復号モード処理250では、offsetが常に1ビット左シフトされ、1ビットがビットストリームから読出される。これは、リノーマリゼーション及びビットストリームからのビット読出しを極めて頻繁に行うことを必要とし、両者は極めて計算コストが高い。
図8は、受信CABACビットストリーム(BS)の多段復号を行なうプロセッサ401の一般的なブロック図を示す。プロセッサ401は処理回路401及び多段CABAC復号器エンジン402を含んでいる。一の態様では、多段CABAC復号器エンジン402は2つの段(stage)によって実装される。第1の段(STAGE1)では、CABACビットストリームはCABAC復号サブモジュール404によって、ビン又はバイナリシンボルのみに復号される。ビン又はバイナリシンボルは、CABACビットストリームから復号されるとおりの厳密な順序(以下、「復号順序」と呼ぶ)でビンバッファー406にバッファリングされてもよい。さらに、バッファリングの後は、第1の段における処理は通常、行われない。ビンバッファー406は、ビン又はバイナリシンボルを記憶するためのメモリがプロセッサ400に対して外部であることを意味するように、実在しないように示される。
CABAC復号サブモジュール40の出力は中間信号であり、CABACに復号された規格フォーマットである。一般に、CABAC復号サブモジュール404の動作は、少なくともフレームサイズに依存して遅くなることがある。
多段CABAC復号器エンジン402の第2の段(STAGE2)では、映像復号サブモジュール410は、ビンバッファー406からの中間信号を復号し、可変長符号化(VLC)復号器を含んでいてもよい。映像復号サブモジュール410は、中間信号からシンタックス要素の値を再構成するように機能する逆2値化サブモジュール412を含んでいる。該シンタックス要素は、最終復号サブモジュール414における映像復号サブモジュール410の任意の残りの復号動作において映像出力の生成に用いられる。
図9は、図8に示された態様に従うCABACビットストリーム多段復号処理500のフローチャートを示す。この処理500はブロック502から始まり、CABACビットストリームは、CABAC復号された規格フォーマットを有する、ビン又はバイナリシンボルのみを持つ中間信号に復号される。ブロック604がブロック602に続き、ここでは、ビンが復号されるとおりの厳密な順序である復号順序でバイナリシンボルがバッファーされるブロック606がブロック604に続く。ブロック606では、シンタックス要素の再構成が行われる。ブロック608がブロック606に続き、ここでは、任意の最終的な映像復号動作が行われて映像出力信号が生成される。
図10は、バイパスモード付き多段CABAC復号器エンジン600の一般的なブロック図を示す。多段CABAC復号器エンジン600は、第1及び第2の処理段610及び620、外部記憶630及びスイッチ640を含んでいる。動作中に、第1の処理段610の出力は、ライン614上のメモリ630に送られる。メモリ630にバッファされた中間信号のデータを第2の処理段620が読出す準備ができている場合、該データは、ライン634上の第2の処理段620に送られる。
第1の処理段610及び第2の処理段620は、各々が独自の処理速度及び処理性能を持つ分離した処理回路であってもよい。第1の処理段610は、第1の処理速度及び第1の性能を有する。第2の処理段620は、第2の処理速度及び第2の処理性能を有する。第1及び第2の処理速度は、同じであっても異なっていてもよい。例えば、第1の処理段610の第1の処理速度又は性能が、第2の処理段620の第2の処理速度又は性能より遅いかもしれない。いずれにせよ、第1の処理段610により得られる処理性能は、フレームサイズ及び/又はCABAC復号処理の実装の結果、落ちる。
非バイパスモードであるとき、スイッチ640は、メモリ630にバッファされた中間信号を渡すように機能する。第1の段610の処理速度又は性能が所定閾値未満である場合に非バイパスモードは必要である。一方、上記処理速度又は性能が所定閾値を上回る場合、スイッチ640は、中間信号を第1の処理段610から直接第2の処理段620に渡すように機能する。このようにしてエンジン600はバイパスモードに切り替わる。
一の態様では、第1の処理段610及び第2の処理段620は、ソフトウェアで実装される。この場合、第1の処理段610は第1の命令セット(例えばソフトウェア又はソースコード)を用いて実装され、第2の処理段620は第2の命令セット(例えばソフトウェア又はソースコード)を用いて実装される。第1の命令セットは第2の命令セットから分離しており、第2の命令セットと区別される。
別の態様において、第1の処理段610がハードウェアで実装され、第2の処理段620がソフトウェアで実装される。さらに別の態様において、第1の処理段610がソフトウェアで実装され、第2の処理段620がハードウェアで実装される。
一の態様では、第2の処理段620は、中間信号を第1の処理段610又はメモリ630から復号順序で受け取って復号する。
図11は、バイパスモード付きCABACビットストリーム多段復号処理700のフローチャートを示す。処理700は、ブロック702における受信ビットストリームのCABAC復号から始まる。CABAC復号は、単にCABAC復号規格に従ってビットストリームを復号するように構成された第1の処理段610で行われる。ブロック704がブロック702に続き、ここでは、第1の処理段610の処理速度及び/又はプロセッサ性能(PP)が計算される。ブロック706がブロック704に続き、PPが所定閾値より大きいかの判定がなされる。ブロック706のこの判定が「Yes」である場合、このブロック706にブロック708が続き、バッファリングが行われる。中間信号が厳密な復号順序でバッファリングされる。
ブロック710がブロック708に続き、バイパスモードと非バイパスモードを切り替えるようにスイッチ640が制御される。ブロック712がブロック710に続き、ここでは、映像復号が行われ、非CABAC復号規格を用いて映像出力信号が生成される。ブロック706に戻って、ブロック706の判定が「No」である場合、該ブロック706にブロック710が直に続き、ここでスイッチをバイパスモードに変える。バイパスモードにおいて、CABAC復号規格フォーマットを持つ中間信号は、バッファリングを必要としない非CABAC復号規格に基づく第2の復号処理に従って第2の処理段620により直ちに復号される。
目的は、符号化効率と計算複雑性のトレードオフを追求することにある。図11の構成においては、処理速度又は性能がダイナミックに決定される。このチェックは、周期的に、又は他の指定インターバルで行なわれてもよい。
上記402又は600は、高精細度(HD)復号器又は他の集積回路の一部として映像ビットストリームパーサーで実装されてもよい。
1つ又は複数の例示的構成において、説明された機能及び/又はブロックは、ハードウェア、ソフトウェア、ファームウェアあるいはそれらの任意の組み合わせで実装してもよい。ソフトウェアの形で実施される場合、機能は、1つ又は複数の命令又はコードとしてコンピュータ可読媒体上に記憶されること又は1つもしくは複数の命令又はコードとしてコンピュータ可読媒体上で送信されることが可能である。コンピュータ可読媒体は、コンピュータ記憶媒体及びある場所から別の場所へのコンピュータプログラムの転送を容易にするあらゆる媒体を含む通信媒体の両方を含む。記憶媒体は、コンピュータがアクセスできる任意の利用可能な媒体とすることができる。限定としてではなく、例として、上記コンピュータ可読媒体は、RAM、ROM、EEPROM、CD−ROMもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶装置、スマートカード、フラッシュメモリデバイス(例えばカード、スティック、キードライブ…)、又は所望されるプログラムコードを命令又はデータ構造の形式で運ぶため又は記憶するために使用されることが可能であって、かつコンピュータがアクセスできる任意の他の媒体を含んでもよい。また、任意の接続は正しくはコンピュータ可読媒体と呼ばれる。例えば、ソフトウェアが同軸ケーブル、光ファイバケーブル、より対線、デジタル加入者線(DSL)、又は赤外線、無線、及びマイクロ波などの無線技術を使用して、ウェブサイト、サーバ、又はその他の遠隔ソースから送信される場合、同軸ケーブル、光ファイバケーブル、より対線、DSL、又は赤外線、無線、及びマイクロ波などの無線技術は媒体の定義に含まれる。本明細書で使用される場合、ディスク及びディスク(Disk and disc)は、コンパクトディスク(CD)、レーザディスク、光ディスク、デジタル多目的ディスク(DVD)、フロッピー(登録商標)ディスク及びブルーレイディスクを含み、diskは通常磁気によってデータを複製し、一方、discはレーザを用いて光学的にデータを複製する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
開示の構成の以上の詳細な説明は、あらゆる当業者が本開示を行い又は使用することができるようにするために提供される。これら構成への種々の変更は、当業者であれば即座に明白になるであろう。また、本明細書で定義された一般的な原理は、本開示の精神又は範囲から逸脱することなく、他の構成に適用することができる。したがって、本開示は、本明細書で説明された構成に限定されることは意図されておらず、ここで開示された原理及び新規な特徴に相応しい最も広い範囲を与えられることが意図されている。

Claims (32)

  1. コンテキストベース適応バイナリ算術符号化(CABAC)ビットストリームをCAVAC復号規格フォーマット及び復号順序を有する中間信号に復号するように機能する第1の復号器段と、
    前記復号順序で前記中間信号をバッファーするように機能するバッファーと、
    非CABAC復号規格を用いて、前記中間信号を映像出力信号に復号するように機能する第2の復号器段と、を具備する装置。
  2. 前記第2の復号器段は、前記中間信号からシンタックス要素を再構成し、該シンタックス要素を復号するように機能する請求項1の装置。
  3. 前記第2の復号器段は、前記シンタックス要素の値を再構成するための逆2値化サブモジュールを含む請求項2の装置。
  4. 前記第2の復号器段は、可変長符号化復号器を含む請求項3の装置。
  5. 前記中間信号はビンを含む請求項1の装置。
  6. 前記第1の復号器段と前記第2の復号器段の間に接続され、バイパスモードでは前記第1の復号器段から前記第2の復号器段に前記中間信号を直接的に渡すように機能し、非バイパスモードでは前記中間信号を前記バッファーから第2の復号器段に渡すように機能するスイッチをさらに具備する請求項1の装置。
  7. 前記第1の復号器段のプロセッサ性能を計算するように機能するプロセッサ性能計算器と、
    前記計算されたプロセッサ性能に応じて前記スイッチの動作を制御するモードコントロールと、をさらに具備する請求項6の装置。
  8. 携帯電話、無線装置、無線通信装置、ビデオゲームコンソール、無線機能を備えた携帯情報端末(PDA)、ラップトップコンピューター、又は映像対応デバイスである請求項1の装置。
  9. コンテキストベース適応バイナリ算術符号化(CABAC)ビットストリームをCAVAC復号規格フォーマット及び復号順序を有する中間信号に復号するように機能する第1の復号器回路と、
    前記復号順序で前記中間信号をバッファーするように機能するバッファーと、
    非CABAC復号規格を用いて、前記中間信号を映像出力信号に復号するように機能する第2の復号器回路と、を具備する集積回路。
  10. 前記第2の復号器回路は、前記中間信号からシンタックス要素を再構成し、該シンタックス要素を復号するように機能する請求項9の集積回路。
  11. 前記第2の復号器回路は、前記シンタックス要素の値を再構成するための逆2値化サブモジュールを含む請求項10の集積回路。
  12. 前記第2の復号器回路は、可変長符号化復号器を含む請求項11の集積回路。
  13. 前記中間信号はビンを含む請求項9の集積回路。
  14. 前記第1の復号器回路と前記第2の復号器回路の間に接続され、バイパスモードでは前記第1の復号器回路から前記第2の復号器回路に前記中間信号を直接的に渡すように機能し、非バイパスモードでは前記中間信号を前記バッファーから第2の復号器回路に渡すように機能するスイッチをさらに具備する請求項9の集積回路。
  15. 前記第1の復号器回路のプロセッサ性能を計算するように機能するプロセッサ性能計算器と、
    前記計算されたプロセッサ性能に応じて前記スイッチの動作を制御するモードコントロールと、をさらに具備する請求項14の集積回路。
  16. 前記集積回路は、 携帯電話、無線装置、無線通信装置、ビデオゲームコンソール、無線機能を備えた携帯情報端末(PDA)、ラップトップコンピューター、又は映像対応デバイスの一部である請求項9の集積回路。
  17. コンテキストベース適応バイナリ算術符号化(CABAC)ビットストリームをCAVAC復号規格フォーマット及び復号順序を有する中間信号に復号するための手段と、
    前記復号順序で前記中間信号をバッファーするための手段と、
    非CABAC復号規格を用いて、前記中間信号を映像出力信号に復号するための手段と、を具備する集積回路。
  18. 前記中間信号を復号するための手段は、前記中間信号からシンタックス要素を再構成し、該シンタックス要素を復号するための手段を含む請求項17の集積回路。
  19. 前記中間信号を復号するための手段は、可変長符号化復号器を含む請求項18の集積回路。
  20. 前記中間信号はビンを含む請求項17の集積回路。
  21. バイパスモードでは前記中間信号を前記CABACビットストリームを復号するための手段から前記中間信号を復号するための手段に直接渡し、非バイパスモードでは前記中間信号を前記バッファーするための手段から前記中間信号を復号するための手段に渡すためのスイッチ手段をさらに具備する請求項17の集積回路。
  22. 前記CABACビットストリームを復号するための手段のプロセッサ性能を計算するための手段と、
    前記計算されたプロセッサ性能に応じて前記スイッチの動作を制御するための手段と、をさらに具備する請求項21の集積回路。
  23. コンピュータに、
    コンテキストベース適応バイナリ算術符号化(CABAC)ビットストリームをCAVAC復号規格フォーマット及び復号順序を有する中間信号に復号させ、
    前記復号順序で前記中間信号をバッファーするように機能するバッファーさせ、
    非CABAC復号規格を用いて、前記中間信号を映像出力信号に復号させるための命令を有するコンピュータ可読媒体を含むコンピュータプログラム製品。
  24. 前記中間信号を復号する命令は、前記コンピュータに、前記中間信号からシンタックス要素を再構成させ、該シンタックス要素を復号させるための命令を含む請求項23のコンピュータプログラム製品。
  25. 前記中間信号を復号する命令は、前記コンピュータに、可変長符号化スキームに従って前記中間信号を復号させるための命令を含む請求項24のコンピュータプログラム製品。
  26. 前記中間信号はビンを含む請求項23のコンピュータプログラム製品。
  27. 前記コンピュータに、前記CABACビットストリームを復号するプロセッサのプロセッサ性能を計算させ、前記計算されたプロセッサ性能に応じて非バイパスモードとバイパスモードを切り替えさせるための命令をさらに具備し、前記中間信号を復号する命令は、非バイパスモードでは前記バッファされた中間信号を復号し、バイパスモードでは前記中間信号を直接的に復号する命令をさらに具備する請求項23のコンピュータプログラム製品。
  28. 第1の処理段により、コンテキストベース適応バイナリ算術符号化(CABAC)ビットストリームをCAVAC復号規格フォーマット及び復号順序を有する中間信号に復号することと、
    前記復号順序で前記中間信号をバッファーすることと、
    第2の復号器段により、非CABAC復号規格を用いて前記中間信号を映像出力信号に復号することと、を具備する方法。
  29. 前記中間信号を復号することは、前記中間信号からシンタックス要素を再構成すること、及び該シンタックス要素を復号することを含む請求項28の方法。
  30. 前記中間信号を復号することは、可変長符号化復号を含む請求項29の方法。
  31. バイパスモードにおいてバッファリングを選択的にバイパスすることと、
    前記バイパスモードにおいて前記第1の処理段から前記第2の処理段に前記中間信号を直接的に渡すこと、とをさらに具備する請求項28の方法。
  32. 第1の処理回路のプロセッサ性能を計算することと、
    前記計算されたプロセッサ性能に応じて前記選択的なバイパスを制御すること、とをさらに具備する請求項28の方法。
JP2010523157A 2007-08-31 2008-08-29 Cabacビットストリームの多段復号のためのアーキテクチャ Expired - Fee Related JP4976553B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US96956507P 2007-08-31 2007-08-31
US60/969,565 2007-08-31
US5700908P 2008-05-29 2008-05-29
US61/057,009 2008-05-29
US12/197,133 2008-08-22
US12/197,133 US7839311B2 (en) 2007-08-31 2008-08-22 Architecture for multi-stage decoding of a CABAC bitstream
PCT/US2008/074796 WO2009029797A1 (en) 2007-08-31 2008-08-29 Architecture for multi-stage decoding of a cabac bitstream

Publications (2)

Publication Number Publication Date
JP2010538547A true JP2010538547A (ja) 2010-12-09
JP4976553B2 JP4976553B2 (ja) 2012-07-18

Family

ID=40279207

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010523157A Expired - Fee Related JP4976553B2 (ja) 2007-08-31 2008-08-29 Cabacビットストリームの多段復号のためのアーキテクチャ

Country Status (7)

Country Link
US (1) US7839311B2 (ja)
EP (1) EP2191650B1 (ja)
JP (1) JP4976553B2 (ja)
KR (2) KR20120058631A (ja)
CN (1) CN101790889B (ja)
TW (1) TW200926827A (ja)
WO (1) WO2009029797A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103597829A (zh) * 2011-06-28 2014-02-19 日本电气株式会社 对视频量化参数编码的方法和对视频量化参数解码的方法
JP2014518473A (ja) * 2011-06-16 2014-07-28 フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ エントロピー符号化をサポートするモード切替
US10645388B2 (en) 2011-06-16 2020-05-05 Ge Video Compression, Llc Context initialization in entropy coding

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9419749B2 (en) 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9083976B2 (en) * 2008-09-05 2015-07-14 Freescale Semiconductor, Inc. Processing a video stream in real time based on binary information of the video stream
MY160807A (en) 2009-10-20 2017-03-31 Fraunhofer-Gesellschaft Zur Förderung Der Angewandten Audio encoder,audio decoder,method for encoding an audio information,method for decoding an audio information and computer program using a detection of a group of previously-decoded spectral values
US20110125987A1 (en) * 2009-11-20 2011-05-26 Qualcomm Incorporated Dedicated Arithmetic Decoding Instruction
TWI476757B (zh) 2010-01-12 2015-03-11 Fraunhofer Ges Forschung 音訊編碼器、音訊解碼器、用以將音訊資訊編碼及解碼之方法、以及基於先前解碼頻譜值之範數來獲取脈絡子區值之電腦程式
US10123053B2 (en) * 2011-05-23 2018-11-06 Texas Instruments Incorporated Acceleration of bypass binary symbol processing in video coding
US8805099B2 (en) * 2011-06-22 2014-08-12 Panasonic Intellectual Property Corporation Of America Image decoding method and image coding method
US9088796B2 (en) 2011-11-07 2015-07-21 Sharp Kabushiki Kaisha Video decoder with enhanced CABAC decoding
TWI613907B (zh) 2011-11-08 2018-02-01 三星電子股份有限公司 用於解碼視訊的方法
US9503717B2 (en) * 2012-01-09 2016-11-22 Texas Instruments Incorporated Context adaptive binary arithmetic coding (CABAC) with scalable throughput and coding efficiency
AU2012200319B2 (en) 2012-01-19 2015-11-26 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding the significance map for residual coefficients of a transform unit
AU2012200345B2 (en) * 2012-01-20 2014-05-01 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding the significance map residual coefficients of a transform unit
US9538172B2 (en) * 2012-04-11 2017-01-03 Qualcomm Incorporated Grouping bypass coded syntax elements in video coding
US9445132B2 (en) * 2013-09-09 2016-09-13 Qualcomm Incorporated Two level last significant coefficient (LSC) position coding
CN104980749B (zh) * 2014-04-11 2018-04-24 扬智科技股份有限公司 算术编码的解码装置及方法
US9455743B2 (en) * 2014-05-27 2016-09-27 Qualcomm Incorporated Dedicated arithmetic encoding instruction
WO2017199800A1 (ja) * 2016-05-20 2017-11-23 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
KR20180031944A (ko) 2016-09-21 2018-03-29 삼성전자주식회사 비디오 디코더 및 이를 포함하는 전자 시스템
US10264264B2 (en) * 2016-09-24 2019-04-16 Apple Inc. Multi-bin decoding systems and methods
US10757412B2 (en) * 2017-01-03 2020-08-25 Avago Technologies International Sales Pte. Limited Architecture flexible binary arithmetic coding system
KR102414164B1 (ko) * 2017-03-31 2022-06-29 한국전자통신연구원 향상된 산술부호화를 제공하는 영상 처리 방법, 그를 이용한 영상 복호화, 부호화 방법 및 그 장치
CN110995285B (zh) * 2019-12-27 2023-05-05 成都达安众科技有限公司 一种uhf rfid分步式指令解码方法及芯片

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05176187A (ja) * 1991-12-20 1993-07-13 Fujitsu Ltd データ圧縮・復元装置
WO1997004598A1 (en) * 1995-07-21 1997-02-06 Hitachi, Ltd. Device for decoding encoded video signal and storing and decoding device using it
WO2005041420A1 (ja) * 2003-10-29 2005-05-06 Nec Corporation 算術符号の復号器または符号化器と逆2値化変換器または2値化変換器との間に中間バッファが挿入された復号装置または符号化装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6927710B2 (en) * 2002-10-30 2005-08-09 Lsi Logic Corporation Context based adaptive binary arithmetic CODEC architecture for high quality video compression and decompression
US7472151B2 (en) * 2003-06-20 2008-12-30 Broadcom Corporation System and method for accelerating arithmetic decoding of video data
US6917310B2 (en) * 2003-06-25 2005-07-12 Lsi Logic Corporation Video decoder and encoder transcoder to and from re-orderable format
CN102752590A (zh) * 2004-11-09 2012-10-24 松下电器产业株式会社 转换成中间格式的两步算术解码
US20060126744A1 (en) * 2004-12-10 2006-06-15 Liang Peng Two pass architecture for H.264 CABAC decoding process

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05176187A (ja) * 1991-12-20 1993-07-13 Fujitsu Ltd データ圧縮・復元装置
WO1997004598A1 (en) * 1995-07-21 1997-02-06 Hitachi, Ltd. Device for decoding encoded video signal and storing and decoding device using it
WO2005041420A1 (ja) * 2003-10-29 2005-05-06 Nec Corporation 算術符号の復号器または符号化器と逆2値化変換器または2値化変換器との間に中間バッファが挿入された復号装置または符号化装置

Cited By (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10021393B2 (en) 2011-06-16 2018-07-10 Ge Video Compression, Llc Entropy coding of motion vector differences
US10819982B2 (en) 2011-06-16 2020-10-27 Ge Video Compression, Llc Entropy coding supporting mode switching
JP2014520451A (ja) * 2011-06-16 2014-08-21 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン エントロピー符号化におけるコンテキスト初期化
US9455744B2 (en) 2011-06-16 2016-09-27 Ge Video Compression, Llc Context initialization in entropy coding
US9596475B2 (en) 2011-06-16 2017-03-14 Ge Video Compression, Llc Entropy coding of motion vector differences
US11838511B2 (en) 2011-06-16 2023-12-05 Ge Video Compression, Llc Entropy coding supporting mode switching
US9628827B2 (en) 2011-06-16 2017-04-18 Ge Video Compression, Llc Context initialization in entropy coding
US9686568B2 (en) 2011-06-16 2017-06-20 Ge Video Compression, Llc Context initialization in entropy coding
US9729883B2 (en) 2011-06-16 2017-08-08 Ge Video Compression, Llc Entropy coding of motion vector differences
US9743090B2 (en) 2011-06-16 2017-08-22 Ge Video Compression, Llc Entropy coding of motion vector differences
US9762913B2 (en) 2011-06-16 2017-09-12 Ge Video Compression, Llc Context initialization in entropy coding
US9768804B1 (en) 2011-06-16 2017-09-19 Ge Video Compression, Llc Context initialization in entropy coding
US9918090B2 (en) 2011-06-16 2018-03-13 Ge Video Compression, Llc Entropy coding supporting mode switching
US10063858B2 (en) 2011-06-16 2018-08-28 Ge Video Compression, Llc Entropy coding of motion vector differences
US9930371B2 (en) 2011-06-16 2018-03-27 Ge Video Compression, Llc Entropy coding of motion vector differences
US9930370B2 (en) 2011-06-16 2018-03-27 Ge Video Compression, Llc Entropy coding of motion vector differences
US9936227B2 (en) 2011-06-16 2018-04-03 Ge Video Compression, Llc Entropy coding of motion vector differences
US9973761B2 (en) 2011-06-16 2018-05-15 Ge Video Compression, Llc Context initialization in entropy coding
US11533485B2 (en) 2011-06-16 2022-12-20 Ge Video Compression, Llc Entropy coding of motion vector differences
JP2014518473A (ja) * 2011-06-16 2014-07-28 フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ エントロピー符号化をサポートするモード切替
US9918104B2 (en) 2011-06-16 2018-03-13 Ge Video Compression, Llc Entropy coding of motion vector differences
US10148962B2 (en) 2011-06-16 2018-12-04 Ge Video Compression, Llc Entropy coding of motion vector differences
US10230954B2 (en) 2011-06-16 2019-03-12 Ge Video Compression, Llp Entropy coding of motion vector differences
US10298964B2 (en) 2011-06-16 2019-05-21 Ge Video Compression, Llc Entropy coding of motion vector differences
US10306232B2 (en) 2011-06-16 2019-05-28 Ge Video Compression, Llc Entropy coding of motion vector differences
US10313672B2 (en) 2011-06-16 2019-06-04 Ge Video Compression, Llc Entropy coding supporting mode switching
US10425644B2 (en) 2011-06-16 2019-09-24 Ge Video Compression, Llc Entropy coding of motion vector differences
US10432940B2 (en) 2011-06-16 2019-10-01 Ge Video Compression, Llc Entropy coding of motion vector differences
US10432939B2 (en) 2011-06-16 2019-10-01 Ge Video Compression, Llc Entropy coding supporting mode switching
US10440364B2 (en) 2011-06-16 2019-10-08 Ge Video Compression, Llc Context initialization in entropy coding
US10630988B2 (en) 2011-06-16 2020-04-21 Ge Video Compression, Llc Entropy coding of motion vector differences
US10630987B2 (en) 2011-06-16 2020-04-21 Ge Video Compression, Llc Entropy coding supporting mode switching
US10645388B2 (en) 2011-06-16 2020-05-05 Ge Video Compression, Llc Context initialization in entropy coding
US10057603B2 (en) 2011-06-16 2018-08-21 Ge Video Compression, Llc Entropy coding supporting mode switching
US11012695B2 (en) 2011-06-16 2021-05-18 Ge Video Compression, Llc Context initialization in entropy coding
US11277614B2 (en) 2011-06-16 2022-03-15 Ge Video Compression, Llc Entropy coding supporting mode switching
US11516474B2 (en) 2011-06-16 2022-11-29 Ge Video Compression, Llc Context initialization in entropy coding
CN103597829A (zh) * 2011-06-28 2014-02-19 日本电气株式会社 对视频量化参数编码的方法和对视频量化参数解码的方法
CN103597829B (zh) * 2011-06-28 2017-03-22 日本电气株式会社 对视频量化参数编码的方法和对视频量化参数解码的方法

Also Published As

Publication number Publication date
JP4976553B2 (ja) 2012-07-18
KR20120058631A (ko) 2012-06-07
EP2191650B1 (en) 2018-08-15
CN101790889B (zh) 2012-07-04
KR101321012B1 (ko) 2013-10-23
CN101790889A (zh) 2010-07-28
US20090058695A1 (en) 2009-03-05
WO2009029797A1 (en) 2009-03-05
TW200926827A (en) 2009-06-16
US7839311B2 (en) 2010-11-23
EP2191650A1 (en) 2010-06-02
KR20100058618A (ko) 2010-06-03

Similar Documents

Publication Publication Date Title
JP4976553B2 (ja) Cabacビットストリームの多段復号のためのアーキテクチャ
US8782379B2 (en) H.264 video decoder CABAC core optimization techniques
JP7231594B2 (ja) 動きベクトル差のエントロピー符号化
KR101187243B1 (ko) 가변-대-고정 길이 코드들의 빠른 분석
JP6527877B2 (ja) ビデオコーディングプロセスにおける係数レベルコーディング
US20030085822A1 (en) High performance memory efficient variable-length coding decoder
WO2008108534A1 (en) Method and apparatus for context adaptive binary arithmetic coding and decoding
CN113170138A (zh) 使用阈值和莱斯参数进行系数解码的常规编译码二进制位缩减
JP2022516132A (ja) 係数レベルのためのエスケープコーディング
US10070127B2 (en) Method and apparatus for arithmetic coding and termination
Albanese et al. High speed CAVLC encoder suitable for field programmable platforms
US20140092987A1 (en) Entropy coding techniques and protocol to support parallel processing with low latency
EP3149947B1 (en) Dedicated arithmetic encoding instruction
JP2007295157A (ja) データ符号化装置、データ符号化方法、データ符号化プログラム及びデータ符号化プログラムを記録した情報記録媒体
Orlandić et al. An efficient hardware architecture of CAVLC encoder based on stream processing
Ahangar et al. Real time low complexity VLSI decoder for prefix coded images
Guanghua et al. VLSI implementation of CAVLC decoder for H. 264/AVC video decoding
Nikara et al. FPGA-Based Variable Length Decoders.
Wang et al. A CAVLC Decoding Architecture Based on FSM for Real-Time HD Application
Chang et al. A high-performance entropy decoding system for H. 264/AVC

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110614

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110914

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110922

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111014

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111021

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111114

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111214

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120412

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4976553

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150420

Year of fee payment: 3

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

LAPS Cancellation because of no payment of annual fees