JP4962476B2 - 算術復号装置 - Google Patents
算術復号装置Info
- Publication number
- JP4962476B2 JP4962476B2 JP2008303524A JP2008303524A JP4962476B2 JP 4962476 B2 JP4962476 B2 JP 4962476B2 JP 2008303524 A JP2008303524 A JP 2008303524A JP 2008303524 A JP2008303524 A JP 2008303524A JP 4962476 B2 JP4962476 B2 JP 4962476B2
- Authority
- JP
- Japan
- Prior art keywords
- decoding
- instruction
- bin
- context
- data
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/4006—Conversion to or from arithmetic code
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
Description
ITU−T H.264
1.CABAC復号器の概要
2.コプロセッサ命令の内容
3.適用例
[CABAC復号器の機能構成例]
図1は、本発明の実施の形態における算術復号装置の一例としてのCABAC復号器20の機能構成例を示す図である。このCABAC復号器20は、符号列入力部10から符号化データを受け取り、二値信号(Binデータ)に復号(デコード)した後に、多値信号(SE:シンタックス要素)に多値化するものである。ここで、シンタックス要素とは、H.264においてシンタックスで伝送することが規定されている情報である。このCABAC復号器20は、二値算術符号復号処理部21と、コンテキストインデックス計算処理部22と、コンテキスト変数テーブル保持部23と、多値化処理部24とを備えている。
上述のように、CABAC復号の際には、コンテキストインデックスctxIdxにより特定されるコンテキスト変数context[ctxIdx]が用いられる。以下では、コンテキストインデックスとBinデータおよびシンタックス要素との関係について、マクロブロック(MB)タイプコンテキストグループを例として説明する。
図9は、本発明の実施の形態におけるCABAC復号器のハードウェア構成例を示す図である。本発明の実施の形態では、CPUを中心として構成される情報処理装置において復号コプロセッサを設け、CABAC復号のためのコプロセッサ命令を復号コプロセッサに対して発行することにより、CABAC復号器として動作させることを想定する。この情報処理装置は、メモリ110と、命令キャッシュ120と、データキャッシュ130と、DMAコントローラ140と、バス109と、CPU200と、復号コプロセッサ300とを備える。
[命令セットの概要]
図11は、本発明の実施の形態におけるCABAC復号のための命令セットの一例を示す図である。ニーモニックの中で、[]により囲まれた部分は、省略が可能なオペランドを意味する。また、「cpr」はコプロセッサレジスタ全般を意味し、コンテキスト変数レジスタ330の他、Binバッファ340およびBinカウンタ350が含まれる。
図12は、本発明の実施の形態におけるCABAC復号のためのコプロセッサ命令の命令フォーマットの一例を示す図である。図12(a)は、「cbc_dec_bin」命令の命令フォーマットである。図12(b)は、「cbc_dec_bin_cc」命令の命令フォーマットである。図12(c)は、「cbc_dec_term_cc」命令の命令フォーマットである。図12(d)は、「cbc_match」命令の命令フォーマットである。図12(e)は、「cbc_tblidx」命令の命令フォーマットである。図12(f)は、「cbc_MbTypeI」命令、「cbc_MbTypeP」命令、「cbc_MbTypeB」命令、「cbc_SubMbTypeB」命令、および、「cbc_SubMbTypeP」命令の命令フォーマットである。
図13および図14は、本発明の実施の形態におけるBinデコーダ320の一構成例を示す図である。
[マクロブロックタイプ(Iスライス)の適用例]
図15は、Iスライスのマクロブロックタイプのシンタックス要素を復号する際の状態遷移図である。ノード内の数字はコンテキストインデックスを表す。上から状態遷移し、各ノードにおいて遷移した先の番号のコンテキストインデックスを使用して1つのBinデータを復号する。その後、枝で接続された別のノードへと遷移して、Binの復号を繰り返す。「0」または「1」のラベルが付与された枝は復号結果のBinデータの値を表し、Binデータの値と等しいラベルの枝に接続されたノードへ遷移(分岐)する。枝のラベルのないものは、Binデータの値にかかわらず必ず遷移する(分岐しない)。枝の先が「end」であれば1つのシンタックス要素の復号が完了したことになる。このIスライスのマクロブロックタイプの復号においては、「3」、「4」、「5」の何れかのコンテキストインデックスを使用してBin復号が実行され、その復号結果によってその後の遷移が決定される。
図18および図19は、Pスライスのマクロブロックタイプのシンタックス要素を復号する際の状態遷移図である。このPスライスのマクロブロックタイプの復号においては、最初にコンテキストインデックス「14」を使用してBin復号が実行され、その結果が「1」であれば図19のマクロブロック内の復号処理が行われる。一方、復号結果が「0」であれば次に遷移し、コンテキストインデックス「15」を使用してBin復号が実行される。そして、その結果に応じて、復号結果が「1」であればコンテキストインデックス「17」を、「0」であればコンテキストインデックス「16」をそれぞれ使用してBin復号が実行される。
図23および図24は、Bスライスのマクロブロックタイプのシンタックス要素を復号する際の状態遷移図である。このBスライスのマクロブロックタイプの復号においては、最初に「27」、「28」、「29」の何れかのコンテキストインデックスを使用してBin復号が実行され、その復号結果によってその後の遷移が決定される。
図28は、Pスライスのサブマクロブロックタイプのシンタックス要素を復号する際の状態遷移図である。このPスライスのサブマクロブロックタイプの復号においては、最初にコンテキストインデックス「21」を使用してBin復号が実行され、その結果が「1」であれば復号処理は終了する。一方、復号結果が「0」であれば次に遷移し、コンテキストインデックス「22」を使用してBin復号が実行される。そして、その結果に応じて、復号結果が「1」であればコンテキストインデックス「23」を使用してBin復号が実行され、復号結果が「0」であれば復号処理は終了する。
図31は、Bスライスのサブマクロブロックタイプのシンタックス要素を復号する際の状態遷移図である。このBスライスのサブマクロブロックタイプの復号においては、最初にコンテキストインデックス「36」を使用してBin復号が実行され、その結果が「0」であれば復号処理は終了する。一方、復号結果が「1」であれば次に遷移し、コンテキストインデックス「37」を使用してBin復号が実行され、その復号結果によってその後の遷移が決定される。
21 二値算術符号復号処理部
22 コンテキストインデックス計算処理部
23 コンテキスト変数テーブル保持部
24 多値化処理部
109 バス
110 メモリ
120 命令キャッシュ
130 データキャッシュ
140 DRAMコントローラ
210 命令デコーダ
220 命令制御部
230 演算パイプライン
240 プロセッサレジスタ群
250 ロードストアユニット
300 復号コプロセッサ
301 コプロセッサ命令キュー
309 ライトバックバッファ
310 コプロセッサ命令デコーダ
320 Binデコーダ
321 実行判定部
322 加算判定部
323 実行条件コード保持部
324 加算器
325、326、327 選択器
328 論理積回路
329 再正規化処理部(RenormD)
330 コンテキスト変数レジスタ
340 Binバッファ(BINBUF)
350 Binカウンタ(BINCNT)
360 ライトバックデータ生成器
Claims (3)
- 算術符号化されたデータを二値信号に算術復号する算術符号化データ復号命令をデコードする命令デコーダと、
直前に算術復号された二値信号を実行条件コードとして保持する実行条件コード保持部と、
前記算術符号化データ復号命令によって指定されたコンテキスト番号をそのままコンテキスト番号とするか、または、前記指定されたコンテキスト番号に1を加算した番号をコンテキスト番号とするかを、前記実行条件コードに応じて決定して当該決定されたコンテキスト番号を使用して前記算術復号を実行する算術復号実行部と
を具備する算術復号装置。 - 前記算術復号実行部は、前記実行条件コード保持部に保持されている前記実行条件コードに応じて前記算術復号を新たに実行するか否かを切り替える
請求項1記載の算術復号装置。 - 前記算術符号化データ復号命令において、前記コンテキスト番号は入力オペランドに示されるレジスタの値と即値との加算値として指定される
請求項1記載の算術復号装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008303524A JP4962476B2 (ja) | 2008-11-28 | 2008-11-28 | 算術復号装置 |
US12/625,630 US7956776B2 (en) | 2008-11-28 | 2009-11-25 | Arithmetic decoding apparatus |
CN2009102258676A CN101753148B (zh) | 2008-11-28 | 2009-11-30 | 算术解码设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008303524A JP4962476B2 (ja) | 2008-11-28 | 2008-11-28 | 算術復号装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010130407A JP2010130407A (ja) | 2010-06-10 |
JP4962476B2 true JP4962476B2 (ja) | 2012-06-27 |
Family
ID=42222322
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008303524A Expired - Fee Related JP4962476B2 (ja) | 2008-11-28 | 2008-11-28 | 算術復号装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7956776B2 (ja) |
JP (1) | JP4962476B2 (ja) |
CN (1) | CN101753148B (ja) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110310966A1 (en) * | 2010-06-18 | 2011-12-22 | Texas Instruments Incorporated | Syntax element decoding |
GB2484654B (en) * | 2010-10-12 | 2013-10-09 | Advanced Risc Mach Ltd | Conditional selection of data elements |
US8990435B2 (en) | 2011-01-17 | 2015-03-24 | Mediatek Inc. | Method and apparatus for accessing data of multi-tile encoded picture stored in buffering apparatus |
US9497466B2 (en) | 2011-01-17 | 2016-11-15 | Mediatek Inc. | Buffering apparatus for buffering multi-partition video/image bitstream and related method thereof |
US9060173B2 (en) * | 2011-06-30 | 2015-06-16 | Sharp Kabushiki Kaisha | Context initialization based on decoder picture buffer |
US9338465B2 (en) | 2011-06-30 | 2016-05-10 | Sharp Kabushiki Kaisha | Context initialization based on decoder picture buffer |
US11647197B2 (en) | 2011-06-30 | 2023-05-09 | Velos Media, Llc | Context initialization based on slice header flag and slice type |
US9538177B2 (en) * | 2011-10-31 | 2017-01-03 | Mediatek Inc. | Apparatus and method for buffering context arrays referenced for performing entropy decoding upon multi-tile encoded picture and related entropy decoder |
GB2496193A (en) * | 2011-11-07 | 2013-05-08 | Sony Corp | Context adaptive data encoding and decoding |
HUE061628T2 (hu) * | 2011-11-07 | 2023-07-28 | Tagivan Ii Llc | Képdekódoló eljárás és képdekódoló eszköz |
US20130188736A1 (en) | 2012-01-19 | 2013-07-25 | Sharp Laboratories Of America, Inc. | High throughput significance map processing for cabac in hevc |
US9860527B2 (en) | 2012-01-19 | 2018-01-02 | Huawei Technologies Co., Ltd. | High throughput residual coding for a transform skipped block for CABAC in HEVC |
US9654139B2 (en) | 2012-01-19 | 2017-05-16 | Huawei Technologies Co., Ltd. | High throughput binarization (HTB) method for CABAC in HEVC |
US9743116B2 (en) | 2012-01-19 | 2017-08-22 | Huawei Technologies Co., Ltd. | High throughput coding for CABAC in HEVC |
US10616581B2 (en) | 2012-01-19 | 2020-04-07 | Huawei Technologies Co., Ltd. | Modified coding for a transform skipped block for CABAC in HEVC |
CA2873694A1 (en) * | 2012-06-01 | 2013-12-05 | Sharp Kabushiki Kaisha | Arithmetic decoding device, image decoding device, arithmetic encoding device, and image encoding device |
CN103227924B (zh) * | 2013-05-07 | 2016-08-03 | 北京大学 | 一种算术编码器及编码方法 |
US9032273B2 (en) * | 2013-09-05 | 2015-05-12 | Infineon Technologies Ag | Method, apparatus and device for data processing |
CN105207677B (zh) * | 2015-09-01 | 2018-02-06 | 上海斐讯数据通信技术有限公司 | 一种图形化编解码系统及方法 |
US9788314B2 (en) * | 2015-12-03 | 2017-10-10 | Nxp Usa, Inc. | Base transceiver station for reducing congestion in communcation network |
US9792044B2 (en) * | 2016-02-12 | 2017-10-17 | Oracle International Corporation | Decompression history buffer read/write pipelines |
KR20180031944A (ko) | 2016-09-21 | 2018-03-29 | 삼성전자주식회사 | 비디오 디코더 및 이를 포함하는 전자 시스템 |
US10264264B2 (en) * | 2016-09-24 | 2019-04-16 | Apple Inc. | Multi-bin decoding systems and methods |
JP6707045B2 (ja) | 2017-03-15 | 2020-06-10 | Nttエレクトロニクス株式会社 | 二値算術復号器および二値算術復号装置 |
CN109889834B (zh) * | 2019-01-11 | 2021-07-13 | 珠海亿智电子科技有限公司 | 一种cabac算术解码方法及装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2333412B (en) * | 1998-01-20 | 2002-05-15 | Daewoo Electronics Co Ltd | Context-based arithmetic encoding/decoding apparatus |
US7274671B2 (en) * | 2001-02-09 | 2007-09-25 | Boly Media Communications, Inc. | Bitwise adaptive encoding using prefix prediction |
JP2002318686A (ja) * | 2001-04-19 | 2002-10-31 | Sony Corp | プロセッサ |
JP2005130099A (ja) * | 2003-10-22 | 2005-05-19 | Matsushita Electric Ind Co Ltd | 算術復号装置、算術符号化装置、算術符号化・復号装置、携帯端末装置、動画像撮影装置、及び、動画像記録・再生装置 |
EP1836858A1 (en) * | 2005-01-14 | 2007-09-26 | Sungkyunkwan University | Methods of and apparatuses for adaptive entropy encoding and adaptive entropy decoding for scalable video encoding |
JP2007074648A (ja) | 2005-09-09 | 2007-03-22 | Matsushita Electric Ind Co Ltd | Cabac復号化装置 |
US7245242B2 (en) * | 2005-11-28 | 2007-07-17 | Conexant Systems, Inc. | Decoding systems and methods |
JP4893657B2 (ja) * | 2008-02-29 | 2012-03-07 | ソニー株式会社 | 算術復号装置 |
JP4930435B2 (ja) * | 2008-04-03 | 2012-05-16 | ソニー株式会社 | 可変長符号復号装置、可変長符号復号方法およびプログラム |
JP4962400B2 (ja) * | 2008-04-30 | 2012-06-27 | ソニー株式会社 | 算術復号装置 |
-
2008
- 2008-11-28 JP JP2008303524A patent/JP4962476B2/ja not_active Expired - Fee Related
-
2009
- 2009-11-25 US US12/625,630 patent/US7956776B2/en not_active Expired - Fee Related
- 2009-11-30 CN CN2009102258676A patent/CN101753148B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US7956776B2 (en) | 2011-06-07 |
CN101753148A (zh) | 2010-06-23 |
CN101753148B (zh) | 2013-02-27 |
JP2010130407A (ja) | 2010-06-10 |
US20100134330A1 (en) | 2010-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4962476B2 (ja) | 算術復号装置 | |
US7917733B2 (en) | Instruction code compression using instruction codes with reuse flags | |
CN1312938C (zh) | 用于解码可变长度编码位流的方法和设备 | |
KR100717055B1 (ko) | Cabac 복호기에서 복수의 이진 값들을 파이프라인방식에 의하여 복호화하는 방법 및 이를 위한 복호화 장치 | |
KR100717052B1 (ko) | Cabac 복호기에서 이진 산술 복호화와 이진 매칭을병렬 처리하는 원소 구문의 복호화 방법 및 이를 위한복호화 장치 | |
CN108292222B (zh) | 用于数据解压缩的硬件装置和方法 | |
WO2007129508A1 (ja) | 動画像処理方法、動画像処理方法のプログラム、動画像処理方法のプログラムを記録した記録媒体及び動画像処理装置 | |
KR100644713B1 (ko) | 컨텍스트 기반 적응적 이진 산술 코딩 복호기에서 원소구문을 복호화하는 방법 및 이를 위한 복호화 장치 | |
CN101072353A (zh) | 译码系统以及图形处理单元 | |
US20110310966A1 (en) | Syntax element decoding | |
KR100486251B1 (ko) | 가변 길이 코드 복호화 장치 및 방법 | |
WO2008034094A2 (en) | Entropy processor for decoding | |
JP6159240B2 (ja) | 二値算術符号化装置、二値算術符号化方法及び二値算術符号化プログラム | |
US20020199083A1 (en) | High code-density microcontroller architecture with changeable instruction formats | |
CN101414830A (zh) | 平行处理至少两个二进制值的方法与相应算术编码系统 | |
JP2007104194A (ja) | 復号化システム | |
JP4930435B2 (ja) | 可変長符号復号装置、可変長符号復号方法およびプログラム | |
JP4841496B2 (ja) | 可変長符号復号化装置 | |
JP2008199100A (ja) | 可変長符号復号装置 | |
KR20210011494A (ko) | 동작 캐시 및 명령 캐시 인출과 디코딩 명령을 위한 낮은 레이턴시 동기화 | |
JPH04245539A (ja) | パイプラインにおける分岐命令制御方式 | |
US7075462B2 (en) | Speeding up variable length code decoding on general purpose processors | |
JP5105191B2 (ja) | 画像処理装置 | |
JP4537089B2 (ja) | 可変長復号装置及び方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体 | |
JP2001043082A (ja) | 情報処理装置並びに命令コーディング方法及び命令デコーディング方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111024 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120110 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120209 |
|
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: 20120228 |
|
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: 20120312 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150406 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |