JP2008118303A - 復号装置及び復号方法 - Google Patents

復号装置及び復号方法 Download PDF

Info

Publication number
JP2008118303A
JP2008118303A JP2006298210A JP2006298210A JP2008118303A JP 2008118303 A JP2008118303 A JP 2008118303A JP 2006298210 A JP2006298210 A JP 2006298210A JP 2006298210 A JP2006298210 A JP 2006298210A JP 2008118303 A JP2008118303 A JP 2008118303A
Authority
JP
Japan
Prior art keywords
variable
symbol
state
context variable
context
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
JP2006298210A
Other languages
English (en)
Other versions
JP2008118303A5 (ja
JP4865509B2 (ja
Inventor
Katsumi Otsuka
克己 大塚
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.)
Canon Inc
Original Assignee
Canon 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 Canon Inc filed Critical Canon Inc
Priority to JP2006298210A priority Critical patent/JP4865509B2/ja
Priority to US11/927,926 priority patent/US7495588B2/en
Publication of JP2008118303A publication Critical patent/JP2008118303A/ja
Publication of JP2008118303A5 publication Critical patent/JP2008118303A5/ja
Application granted granted Critical
Publication of JP4865509B2 publication Critical patent/JP4865509B2/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

Abstract

【課題】エントロピー復号処理を高速に実行可能にする。
【解決手段】算術復号処理の状態を表す状態変数、及び、シンボルの確率状態を表すコンテキスト変数を用いて、入力された符号化データに算術復号を行う復号装置が提供される。この復号装置は、第1記憶部と第2記憶部に保持されている、第1のコンテキスト変数と第1の状態変数に基づいて第2の状態変数を算出するとともに算術復号処理の結果である選択すべきシンボルを示す選択信号を決定する状態変数算出部を有する。コンテキスト変数算出部は、第1のコンテキスト変数と選択信号に基づいて第2のコンテキスト変数を算出し、第1記憶部を更新する。また、再正規化部は、符号化データと第2の状態変数を用いて第3の状態変数を算出し、第2記憶部を更新する。そして、状態変数算出部は、決定された選択信号を、コンテキスト変数算出部及び前記正規化部の動作を待たずに、後段の処理によって利用可能に出力する。
【選択図】 図1

Description

本発明は、復号装置及び復号方法に関する。特に、本発明は、動画像或いは静止画像の符号化に用いられる圧縮方式の一つであるエントロピー符号化/復号処理の高速化に関するものである。更に、本発明は、特にエントロピー復号方法として算術復号処理に好適なものである。
高能率動画符号化方式として、近年JVTにおいてH.264(ITU-T Rec.H.264|ISO/IEC 14496-10 AVC)符号化方式が標準化された。H.264では、静止画の符号化方式として知られるJPEGや、動画符号化方式として知られるMPEG−2或いはMPEG−4(version 2)と同様に、画像情報はデジタルとして取り扱われる。特に、動画像符号化方式においては、効率の高い情報の伝送、蓄積を目的とし、画面間(時間方向)の冗長情報の削減と、画面内(空間方向)の画素がもつ冗長情報の削減を行うハイブリット符号化を用いた圧縮が行われる。このハイブリット符号化においては、離散コサイン変換等の直交変換及び動き補償と共に、エントロピー符号化が用いられている。エントロピー符号化は、情報の偏りを利用して可変長符号化を行う技術である。
H.264において用いられるエントロピー符号化は、プロファイルに応じてハフマン符号化を用いるCAVLC方式、或いは算術符号化を用いるCABAC方式が規定されている。通信アプリケーション向けに処理の複雑度が低い符号化ツール群から構成されるベースライン・プロファイルにおいてはCAVLC方式が選択される。また、符号化効率を重視したメイン・プロファイル或いはハイ・プロファイルにおいてはCABAC方式が選択されている。
一般的に、CABAC等の算術符号化において高速化を試みようとした場合の技術的課題として、最終シンボルの判定が困難であることが知られている。例えば非特許文献1のH.264勧告書(ITU-T Rec.H.264|ISO/IEC 14496-10 AVC)に記載されているCABAC復号処理のフローチャートを図10に示す。図10のフローチャートに関する細かい説明は省略するが、ステップS204において、シンタックス要素SEの2値化処理を行うBinarizaition(SE)が起動される。これは、S209で行われる最終シンボル判定で2値データとの比較を行うためである。
図10に示される処理では、算術復号処理はステップS208で行われる。ステップS208では、算術復号の処理であるDecodeBin(ctxIdx)が実行され、シンボルデータが得られる。ステップS209では、ステップS208で得られたシンボルデータがステップS204の2値化処理で得られた2値化データに存在するか否かにより、シンタックス要素SEの最終シンボルであるか否かを判定している。即ち、ステップS209では、1シンボル毎に復号されるDecodeBin(ctxIdx)の結果が、復号対象としているシンタックス要素SEの予めとり得る全ての値を2値化した莫大なシンボルの組み合わせ内に存在しているか否かを判定する。そして、この判定の結果に基づいて、シンタックス要素SEの最終シンボルであるか否かの判定が実現されている。
しかしながら、この処理フローをソフトウエア或いはハードウエアにより実装することは技術的に困難であることは自明である。
一方、H.264のリファレンスソフトウエアとして知られるJoint Modelにおいて実現されているcoef_abs_level_minus1のCABAC処理の復号プログラムを図11に示す。また、図12に、coef_abs_level_minus1における連結ユーナリ結合/k次指数Golomb符号化による2値化処理の結果を示す。図12から2値化後のシンボルデータ列の最終シンボルが値14以下であればユーナリ符号化が適用され必ず0で終了していることが分かる。また、値14より大きい場合にはGolomb符号が適用されており、値0を境界としてプリフィックスとサフィックスから構成されている。Joint Modelにおいては、図11に示す様に連結ユーナリ結合/k次指数Golomb符号化のシンボル出現の特性を利用することで、最終シンボルの判定を行っていることがわかる。
また、図13にはJoint Modelの技術を用いて、CABAC処理をハードウエアで実現した場合のブロック図を示す。更に、非特許文献2に開示されている算術復号化部501で行われる算術復号処理を図14に示し、再正規化部502で行われる再正規化処理を図15に示す。なお、DecodeBin(ctxIdx)の処理は算術符号化処理であるDecodeDecision(ctxIdx)及び固定長符号化であるDecodeBypass処理(図示しない)からなる。但し、ここでは単純な処理であるDecodeBypass処理は省略する。
ITU-T Rec.H.264|ISO/IEC 14496-10 AVC H.264 Reference Software Joint Model ver9.0
画像のハイビジョン化に代表される高解像度化が近年急速に進むに従い、高速に処理する符号化装置及び復号装置が必要とされている。H.264に代表されるハイブリット符号化においては、特にエントロピー復号装置の高速化が復号装置全体の処理速度を決定する要因の一つである。
しかしながら、前述の非特許文献1に記載された復号処理(図10)をハードウエアで実装することは技術的に困難である。また、特許文献2に記載された復号処理をハードウエアに実装した場合でも、図14及び図15で示されるような、コンテキストメモリ503を介した非常に多くの論理を含むフィードバックループが存在する。更には、最終シンボル判定部504にシンボルが入力されるのは、図14及び図15に示される全ての処理を終了した後であるので、1サイクルで1シンボルの復号化を実現するハードウエアを構成することは困難である。
本発明は、上記の課題に鑑みてなされたものであり、エントロピー復号処理を高速に実行可能にすることを目的とする。
上記の目的を達成するための本発明による復号す値は以下の構成を備える。即ち、
算術復号処理の状態を表す状態変数、及び、シンボルの確率状態を表すコンテキスト変数を用いて、入力された符号化データに算術復号を行う復号装置であって、
第1のコンテキスト変数を保持する第1記憶手段と、
第1の状態変数を保持する第2記憶手段と、
前記第1のコンテキスト変数と前記第1の状態変数に基づいて第2の状態変数を算出するとともに算術復号処理の結果である選択すべきシンボルを示す選択信号を決定する状態変数算出手段と、
前記第1のコンテキスト変数と前記選択信号に基づいて第2のコンテキスト変数を算出し、前記第1記憶手段の内容を前記第2のコンテキスト変数でもって更新するコンテキスト変数算出手段と、
前記符号化データと前記第2の状態変数を用いて第3の状態変数を算出し、前記第2記憶手段の内容を前記第3の状態変数でもって更新する再正規化手段とを備え、
前記状態変数算出手段で決定された前記選択信号は、前記コンテキスト変数算出手段及び前記正規化手段の動作を待たずに、後段の処理によって利用される。
本発明によれば、エントロピー復号処理を高速に実行できる。
以下、添付の図面を参照して本発明の好適な実施形態を説明する。
図1は、本実施形態によるエントロピー復号装置(算術復号装置)の構成例を示すブロック図である。本実施形態のエントロピー復号装置は、H.264符号化方式のエントロピー符号化であるCABAC符号化によって得られた符号化データを復号する。図1の参照番号101〜106で示される構成により図10のステップS208の復号処理が遂行される。また、最終シンボル判定部107はステップS209の処理を遂行する。
コンテキスト変数記憶部103には、H.264勧告書(非特許文献1)において規定される、すべてのコンテキストインデックスに対応するコンテキスト変数である優勢シンボルの値MPS及び確率状態を表すpStateIdxが保存されている。尚、本実施形態においては符号化データは2値であるので、優勢シンボルは0か1を表すことになる。ここで、コンテキスト変数記憶部103から出力されるコンテキスト変数を、第1のコンテキスト変数と称する。また、状態変数記憶部102には、復号エンジン状態変数であるcodlRange及びcodlOffsetが保存されており、状態変数記憶部102から出力される復号エンジン状態変数を第1の状態変数と称する。
状態変数算出部101は、第1のコンテキスト変数(MPS、pStateIdx)と第1の状態変数(codlRange、codlOffset)を入力として、第2の状態変数(codlRange'、codlOffset')を算出する。また、状態変数算出部101は、第1のコンテキスト変数と第1の状態変数から、復号結果のシンボルデータが優勢シンボルか否かを示すシンボル選択信号(MPSorNot)を算出する。ここで、第1のコンテキスト変数はMPS、pStateIdxである。また、第1の状態変数とはcodlRange、codlOffsetである。また、シンボル選択信号はMPSorNotである。
図2は、本実施形態の状態変数算出部101における内部構成を示すブロック図である。シフタ801は、入力された第1の状態変数のうちのcodlRangeを右に6ビットシフトし、下位の2ビットを出力する。シフタ801から出力された2ビットの信号は、第1のコンテキスト変数のうちのpStateIdxとともに、rangeTabLPSテーブル802へのインデックスとして用いられる。rangeTabLPSテーブル802のインデックスのビット長は、pStateIdx[5:0]とqCodlRnageIdx[1:0]を結合した8ビットである。rangeTabLPSテーブル802からは、入力されたインデックスに応じた値2〜240までの整数値が、codRangeLPSとして出力される。このcodlRangeLPSは、減算部803によって、入力された第1の状態変数に含まれているcodlRangeから減算され、codlRange_tmp(codlRange−codlRangeLPS)が生成される。以上の処理は、図14のステップS602の処理に対応する。
また、もう一方の第1の状態変数であるcodlOffsetは減算部806によって、codlRangeLPSを減算されcodlOffset_tmpが生成される(codlOffset_tmp=codlOffset−codlRangeLPS)。
比較部805は、図14中のステップS604の比較演算に対応する処理を行う。比較部805は、codlOffsetとcodlRange_tmpを比較し、codlOffset<codlRange_tmpの場合は優勢シンボルを選択することを表すMPSorNot信号を出力する。また、codlOffset≧codlRange_tmpの場合は優勢シンボルを選択しないことを表すMPSorNot信号を出力する。即ち、MPSorNot信号は、シンボルがMPSであるか否かを示す信号である。
比較部805から出力されたMPSorNot信号は、選択部804及び選択部807に出力される。選択部804及び選択部807は、MPSorNot信号により第2の状態変数を出力する。より具体的には、MPSorNot信号がMPSを表す場合、選択部804はcodlRange_tmpを第2の状態変数のcodlRange'として出力する。また、このとき、選択部807は、第1の状態変数のcodlOffsetを第2の状態変数のcodlOffset'として出力する。一方、MPSorNot信号がMPSでないことをを表す場合、選択部804はcodlRangeLPSを第2の状態変数のcodlRange'として出力する。また、このとき、選択部807は、codlOffset_tmpを第2の状態変数のcodlOffset'として出力する。以上の処理は、図14におけるステップS603、S605、S604の一部に対応する。
図3は、シンボル生成部104の内部構成を示すブロック図である。シンボル生成部104は、コンテキスト変数記憶部103から入力される第1のコンテキスト変数のうちのMPSと、状態変数算出部101からのMPSorNot信号を入力し、シンボルデータを出力する。より具体的には、選択部902には、入力されたMPSの信号と、反転器901によって入力されたMPSの論理が反転された信号が入力される。そして、選択部902は、これらの入力信号の一方を、MPSorNot信号に基づいて選択する。選択部902は、MPSorNot信号がMPSを選択することを表す場合は入力されたMPS信号をシンボルデータとして出力し、MPSorNot信号がMPSを選択しないことを表す場合は反転されたMPS信号をシンボルデータとして出力する。シンボル生成部104の処理は図14のステップS604或いはS605におけるbinVAlの決定に相当する。
図4は、本実施形態によるコンテキスト変数算出部105の内部構成を示すブロック図である。選択部1006及び選択部1005以外は、状態変数算出部101の処理結果を用いていないので、状態変数算出部101と並行して動作する。また、シンボル生成部104とコンテキスト変数算出部105とは並行して動作する。
コンテキスト変数記憶部103から入力される第1のコンテキスト変数であるpStateIdxの6ビットの値をインデックスとして、transIdxLPSテーブル1001及びtransIdxMPSテーブル1002が並行にテーブル引きされる。この結果、pStateIdxの次の確率状態を表す2つの候補値であるpStateIdx_LPS及びpStateIdx_MPSが選択部1006に入力される。更に、もう一方のコンテキスト変数であるMPSは、入力されるpStateIdxと比較部1003において"000000"と比較される。選択部1004はこの比較部1003の結果出力に応じて、入力されたMPS又はその論理を反転した値のいずれかを選択する。具体的には、比較部1003の比較結果が一致を示す場合(図14のステップS606においてpstateIdx=0の場合)は、選択部1004は入力されたMPSの論理を反転した値を出力する。一方、比較部1003の比較結果が不一致を示す場合は、選択部1004は入力されたMPSをそのまま出力する。
選択部1006及び選択部1005においては、状態変数算出部101から入力されるMPSorNot信号に応じて、それぞれに入力されている2つの信号から1つを選択して出力する。こうして、コンテキスト変数算出部105は、第2のコンテキスト変数のpStateIdx'及びMPS'を出力し、これらをコンテキスト変数記憶部103に保存する。より具体的には、MPSorNot信号がMPSを選択することを表す場合、選択部1006からはpStateIdx_MPSが、選択部1005からは入力されたMPSが出力される。また、MPSorNot信号がMPSを選択しないことを表す場合、選択部1006からはpStateIdx_LPSが、選択部1005からは選択部1004から入力された信号(MPS又はその反転信号)が出力される。以上の処理は、図14のステップS604、S606〜S608に対応する。コンテキスト変数記憶部103に保存された第2のコンテキスト変数は、次回の復号処理において、第1のコンテキスト変数として用いられる。
図5は、本実施形態による再正規化部106の内部構成を示すブロック図である。再正規化部106には、状態変数算出手段101から出力された第2の状態変数(codlRange'及びcodlOffset')と符号化データ(Cin)が入力される。シフト量検出部110は、第2の状態変数のうちのcodlRange'のMSBからLSBに向けて始めにビット値"1"が出現したビット位置を検出することによってシフト量を検出する。図6は、シフト量検出部1101の処理を説明する図である。図中のXで示されたビットの値は0或いは1のどちらでもよいことを表す。
切り出し部1104は、シフト量検出部1101からのシフト量で指示されるビット数分だけ、入力された符号化データ(Cin)のMSB側から切り出し、その左側に0を付加して9ビットのデータ(切り出された符号化データ)を生成する。図7は、シフト量に応じた符号化データの切り出し処理を説明する図である。図7中のCin[7:0]は入力される符号化データのMSBから8ビットのデータを表す。
第1シフト部1102は、第2の状態変数のうちのcodlRange'のデータを、シフト量検出部1101で検出されたシフト量だけ左ビットシフトし、その結果を第3の状態変数のcodlRange''として出力する。
第2シフト部1103は、第2の状態変数のうちのcodlOffset'のデータを、シフト量検出部1101で検出されたシフト量だけ左ビットシフトする。論理和演算部1105は、第2シフト部1103からのシフト結果(codlOffset'が左シフトされた信号)と、切り出し部1104からの切り出された符号化データとを論理和演算し、結果を第3の状態変数のcodlRange''として出力する。再正規化部106は、以上のようにして取得した第3の状態変数を、状態変数記憶部102へ保存する。以上の処理は、図15に示した処理に対応する。
図8は、本実施形態による最終シンボル判定部107の構成を示すブロック図である。本実施形態では、最終シンボル判定部107の構成は、最終シンボルの判定が困難である結合ユーナリ/K次指数Golomb符号によって2値化されたシンタックス要素を対象とした場合を説明する。
最終シンボル判定部107は、シンボル生成部104から出力されたシンボルデータとbinIdxを入力し、最終シンボル判定を行う。尚、binIdxは、不図示の外部カウンタによって計数された、同一シンタックス要素内における現在入力されているシンボルデータの先頭からの位置を示す値である。
比較部1401は、シンボル生成部104から出力されたシンボルデータと値0とを比較することにより、当該シンボルデータが0であるか否かを判定する。一方、BinIdxは、減算部1402において定数uCoffと減算される。この定数uCoffは、例えばシンタックス要素がcoeff_abs_level_minus1の場合には値15である。また、定数uCoffは、シンタックス要素が動きベクトルを表現したmvd_l0[][][0]或いはmvd_l1[][][0]或いはmvd_l0[][][1]或いはmvd_l1[][][1]の場合には値10である。減算部1402の演算結果により得られるMSBの値(符号)は、現在のシンボルデータがユーナリ符号或いはGolomb符号のどちらで2値化されたかを示す信号となる。
減算部1402の減算結果が正である場合には、ユーナリ符号によって2値化されたシンボルデータであり、比較部1401によってシンボルデータが値0である場合には最終シンボルデータである事を示す信号が、最終シンボル判定部107から出力される。
一方、減算部1402の減算結果が負である場合には、Golomb符号により2値化されたシンボルデータである。この場合には、比較部1401によって最初に検出された値0であるシンボルデータのサイクルで、減算結果の値がラッチ部1406にラッチされる。Golomb符号では、最初に現れた0を中心として左と右のビット数が同じになる。例えば“00011”の場合、3つめの0を中心に左右対称のビット数“00”“11”からなる符号となる。従って、ラッチ部1406にラッチされる値はGolomb符号のサフィックスのシンボル数を表す値である。また、同時にカウンタ部1407は、比較部1401によって最初に検出された値0であるシンボルデータのサイクルでシンボルデータのカウントアップを始める。比較部1408は、カウンタ部1407のカウント値とラッチ部1406にラッチされたGolomb符号のサフィックスのシンボル数とを比較する。比較部1408は、両入力値が一致した場合、即ち、2つの信号の値が等しくなったサイクルで、最終シンボルデータであることを示す信号を出力する。
逆2値化部108は、例えば図12で示したような2値化処理の逆動作を行う。即ち、図12の右側に示されるシンボルデータ列を左側の欄に示されるシンボルに変換する。
以上説明した本実施形態によるエントロピー復号装置の動作を、図9のフローチャートを用いて更に説明する。
ステップS1502において、状態変数算出部101はコンテキスト変数記憶部103と状態変数記憶部102から第1のコンテキスト変数と第1の状態変数を読み出す。そして、ステップS1503において、状態変数算出部101は、これら第1のコンテキスト変数と第1の状態変数を用いて、シンボル選択信号を決定するとともに、コンテキスト変数の更新及び再正規化処理に利用可能な第2の状態変数を算出する。
ステップS1504において、シンボル生成部104は、上記シンボル選択信号に基づいてシンボルを生成し、これを最終シンボル判定部107へ送る。ステップS1507において、最終シンボル判定部107は、シンボル生成部104から送られてきたシンボルからシンボルデータ列を生成し、最終シンボル判定を行う。そして、最終シンボルでなければ、処理をステップS1502に戻す。
一方、ステップS1505では、コンテキスト変数算出部105が、ステップS1504で出力された第2の状態変数とシンボル選択信号、及び上記第1のコンテキスト変数を用いて第2のコンテキスト変数を算出する。そして、ステップS1508において、コンテキスト変数算出部105は、ステップS1505で算出した第2のコンテキスト変数をコンテキスト変数記憶部103に書き込む。コンテキスト変数記憶部103に書き込まれた第2のコンテキスト変数は、次にステップS1502の処理が実行された場合に、第1のコンテキスト変数として用いられる。
また、ステップS1506では、再正規化部106が第2の状態変数と復号対象の符号化データを用いて、第3の状態変数を算出する。そして、ステップS1509において、再正規化部106は、ステップS1506で算出した第3の状態変数を状態変数記憶部102に書き込む。状態変数記憶部102に書き込まれた第3の状態変数は、次にステップS1502の処理が実行された場合に、第1の状態変数として用いられる。
以上説明したように、本実施形態の復号装置は、算術復号処理の状態を表す状態変数、及び、シンボルの確率状態を表すコンテキスト変数を用いて、入力された符号化データを復号する復号装置である。尚、状態変数はcodlRange、codlOffsetを含み、コンテキスト変数はMPS、pStateIdxを含む。そして、状態変数算出部101が状態変数及びコンテキスト変数を用いて決定したシンボル選択信号(MPSorNot)は、コンテキスト変数算出部105及び再正規化部106の動作を待たずに、後段の処理によって利用されるように構成されている。このため、本実施形態の復号装置は処理速度を向上させることができる。
また、本実施形態によれば、コンテキスト変数算出部105と再正規化部106とを並列動作させることにより、状態変数及びコンテキスト変数の更新処理を高速化し、復号処理全体の速度を向上させている。
更に、本実施形態によれば、シンボル生成部104〜最終シンボル判定部107の処理と、コンテキスト変数算出部105の処理と、再正規化部106の処理とを並列に実行させることにより、復号処理全体の速度を向上させている。即ち、状態変数算出部101において、シンボル選択信号と最終的な状態変数(再正規化処理により得られる状態変数)を算出する前の第2の状態変数を算出し、これによりシンボル生成、コンテキスト変数生成及び再正規化処理を並行に実行させる。このため、最終シンボル判定部107に必要なシンボルデータが、コンテキスト変数算出部105と再正規化部106の処理が除外された論理で生成されることになり、高速な最終シンボルの判定が可能となる。更に、シンボル生成処理の出力を用いて最終シンボルであるか否かの判定を行うため、処理の重たい最終シンボル判定処理と、コンテキスト変数及び再正規化処理とを並列に実行できることになり、エントロピー復号化処理を高速に実現出来る。この結果、例えば、1シンボル/サイクルで処理可能な高速な算術復号化を用いたエントロピー復号化装置を提供することができる。
<他の実施形態>
なお、上記では、ハードウェア構成による算術復号装置を説明したが、ソフトウェアを利用して算術復号装置を構成するようにしてもよい。その場合、上述した並列動作をマルチスレッド(マルチプロセッサ)で実現すればよい。
従って、本発明の目的は前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記録媒体に格納されたプログラムコードを、コンピュータ(又はCPU、MPU)が読み出し実行することによっても、達成されることは言うまでもない。例えば、上記記録媒体はシステム或いは装置に供給され、そのシステム或いは装置のコンピュータが記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施例の機能が実現される場合に限られるものではない。例えば、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOperating System(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれ、CPUなどにより実行される場合も含まれる。この場合、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
実施形態によるエントロピー復号装置(算術復号装置)の構成例を示すブロック図である。 実施形態の状態変数算出部101における内部構成を示すブロック図である。 実施形態によるシンボル生成部104の内部構成を示すブロック図である。 実施形態によるコンテキスト変数算出部105の内部構成を示すブロック図である。 実施形態による再正規化部106の内部構成を示すブロック図である。 実施形態によるシフト量検出部1101の処理を説明する図である。 シフト量に応じた符号化データの切り出し処理を説明する図である。 実施形態による最終シンボル判定部107の構成を示すブロック図である。 実施形態による復号装置の動作を示すフローチャートである。 CABAC復号処理CABACParsing()を示すフローチャートである。 H.264 Reference SoftwareによるCABAC処理のソースコードを示す図である。 連結ユーナリ/K次指数Golomb符号化の処理例を示す図である。 H.264 Reference SoftwareによるCABAC処理のハードウエア構成を説明するブロック図である。 CABAC復号処理における、DecodeDecision()のフローチャートである。 CABAC復号処理における、RenormD()のフローチャートである。

Claims (14)

  1. 算術復号処理の状態を表す状態変数、及び、シンボルの確率状態を表すコンテキスト変数を用いて、入力された符号化データに算術復号を行う復号装置であって、
    第1のコンテキスト変数を保持する第1記憶手段と、
    第1の状態変数を保持する第2記憶手段と、
    前記第1のコンテキスト変数と前記第1の状態変数に基づいて第2の状態変数を算出するとともに算術復号処理の結果である選択すべきシンボルを示す選択信号を決定する状態変数算出手段と、
    前記第1のコンテキスト変数と前記選択信号に基づいて第2のコンテキスト変数を算出し、前記第1記憶手段の内容を前記第2のコンテキスト変数でもって更新するコンテキスト変数算出手段と、
    前記符号化データと前記第2の状態変数を用いて第3の状態変数を算出し、前記第2記憶手段の内容を前記第3の状態変数でもって更新する再正規化手段とを備え、
    前記状態変数算出手段で決定された前記選択信号は、前記コンテキスト変数算出手段及び前記正規化手段の動作を待たずに、後段の処理によって利用されることを特徴とする復号装置。
  2. 前記コンテキスト変数算出手段と前記再正規化手段とが並列動作することを特徴とする請求項1に記載の復号装置。
  3. 前記コンテキスト変数は優勢シンボルとその確立状態を表し、
    前記選択信号は優勢シンボルを選択すべきか否かを示し、
    前記第1のコンテキスト変数が示す優勢シンボルと前記選択信号に基づいてシンボルデータを生成する生成手段を更に備えることを特徴とする請求項1に記載の復号装置。
  4. 前記シンボルデータを用いてシンタックス要素の最終シンボルであるか否かを判定する判定手段を更に備えることを特徴とする請求項1乃至3のいずれか1項に記載の復号装置。
  5. 前記コンテキスト変数算出手段と前記再正規化手段と前記判定手段とが並列動作することを特徴とする請求項4に記載の復号装置。
  6. 前記判定手段がシンタックス要素の最終シンボルであると判定した場合に、前記シンボルデータを用いて逆2値化処理を行う逆2値化手段を更に備えることを特徴とする請求項4に記載の復号装置。
  7. 前記判定手段は、シンボルデータの値がゼロであることを検出することによって、最終シンボルが否かを判定することを特徴とする請求項4に記載の復号装置。
  8. 算術復号処理の状態を表す状態変数、及び、シンボルの確率状態を表すコンテキスト変数を用いて、入力された符号化データに算術復号を行う復号方法であって、
    第1記憶手段が保持する第1のコンテキスト変数と第2記憶手段が保持する第1の状態変数に基づいて第2の状態変数を算出するとともに算術復号処理の結果である選択すべきシンボルを示す選択信号を決定する状態変数算出工程と、
    前記第1のコンテキスト変数と前記選択信号に基づいて第2のコンテキスト変数を算出し、前記第1記憶手段の内容を前記第2のコンテキスト変数でもって更新するコンテキスト変数算出工程と、
    前記符号化データと前記第2の状態変数を用いて第3の状態変数を算出し、前記第2記憶手段の内容を前記第3の状態変数でもって更新する再正規化工程とを備え、
    前記状態変数算出工程で決定された前記選択信号は、前記コンテキスト変数算出工程及び前記正規化工程の動作を待たずに、後段の処理によって利用されることを特徴とする復号方法。
  9. 前記コンテキスト変数算出工程と前記再正規化工程とが並列動作することを特徴とする請求項8に記載の復号方法。
  10. 前記コンテキスト変数は優勢シンボルとその確立状態を表し、
    前記選択信号は優勢シンボルを選択すべきか否かを示し、
    前記第1のコンテキスト変数が示す優勢シンボルと前記選択信号に基づいてシンボルデータを生成する生成工程を更に備えることを特徴とする請求項8に記載の復号方法。
  11. 前記シンボルデータを用いてシンタックス要素の最終シンボルであるか否かを判定する判定工程を更に備えることを特徴とする請求項8乃至10のいずれか1項に記載の復号方法。
  12. 前記コンテキスト変数算出工程と前記再正規化工程と前記判定工程とが並列動作することを特徴とする請求項11に記載の復号方法。
  13. 前記判定工程がシンタックス要素の最終シンボルであると判定した場合に、前記シンボルデータを用いて逆2値化処理を行う逆2値化工程を更に備えることを特徴とする請求項11に記載の復号方法。
  14. 前記判定工程は、シンボルデータの値がゼロであることを検出することによって、最終シンボルが否かを判定することを特徴とする請求項11に記載の復号方法。
JP2006298210A 2006-11-01 2006-11-01 復号装置及び復号方法 Expired - Fee Related JP4865509B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006298210A JP4865509B2 (ja) 2006-11-01 2006-11-01 復号装置及び復号方法
US11/927,926 US7495588B2 (en) 2006-11-01 2007-10-30 Decoding apparatus and decoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006298210A JP4865509B2 (ja) 2006-11-01 2006-11-01 復号装置及び復号方法

Publications (3)

Publication Number Publication Date
JP2008118303A true JP2008118303A (ja) 2008-05-22
JP2008118303A5 JP2008118303A5 (ja) 2009-12-17
JP4865509B2 JP4865509B2 (ja) 2012-02-01

Family

ID=39329466

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006298210A Expired - Fee Related JP4865509B2 (ja) 2006-11-01 2006-11-01 復号装置及び復号方法

Country Status (2)

Country Link
US (1) US7495588B2 (ja)
JP (1) JP4865509B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111818335A (zh) * 2020-07-03 2020-10-23 Tcl华星光电技术有限公司 一种熵编码方法和装置、电子设备

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8749409B2 (en) * 2006-08-25 2014-06-10 Sony Computer Entertainment Inc. Entropy decoding methods and apparatus using most probable and least probable signal cases
JP4739167B2 (ja) * 2006-10-31 2011-08-03 キヤノン株式会社 正規化処理装置
US7773004B2 (en) * 2008-07-08 2010-08-10 Qualcomm Incorporated CAVLC run-before decoding scheme
JP6707045B2 (ja) * 2017-03-15 2020-06-10 Nttエレクトロニクス株式会社 二値算術復号器および二値算術復号装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005130099A (ja) * 2003-10-22 2005-05-19 Matsushita Electric Ind Co Ltd 算術復号装置、算術符号化装置、算術符号化・復号装置、携帯端末装置、動画像撮影装置、及び、動画像記録・再生装置
JP2005223533A (ja) * 2004-02-04 2005-08-18 Victor Co Of Japan Ltd 算術復号化装置、および算術復号化プログラム
JP2006054865A (ja) * 2004-08-02 2006-02-23 Samsung Electronics Co Ltd パイプライン方式の二進算術デコーディング装置及び方法
WO2006051796A1 (en) * 2004-11-09 2006-05-18 Matsushita Electric Industrial Co., Ltd. Two step arithmetic decoding with conversion into an intermediate format

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3459759B2 (ja) 1997-09-29 2003-10-27 キヤノン株式会社 算術復号化装置
KR100316785B1 (ko) 1999-11-04 2001-12-13 윤종용 비트 오류에 견실한 산술 부호화/복호화 장치 및 그 방법
ES2442190T3 (es) * 2002-05-02 2014-02-10 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Procedimiento y dispositivo de codificación y descodificación aritméticas utilizando una pluralidad de tablas de consulta
US6825782B2 (en) * 2002-09-20 2004-11-30 Ntt Docomo, Inc. Method and apparatus for arithmetic coding and termination
US6940429B2 (en) * 2003-05-28 2005-09-06 Texas Instruments Incorporated Method of context based adaptive binary arithmetic encoding with decoupled range re-normalization and bit insertion

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005130099A (ja) * 2003-10-22 2005-05-19 Matsushita Electric Ind Co Ltd 算術復号装置、算術符号化装置、算術符号化・復号装置、携帯端末装置、動画像撮影装置、及び、動画像記録・再生装置
JP2005223533A (ja) * 2004-02-04 2005-08-18 Victor Co Of Japan Ltd 算術復号化装置、および算術復号化プログラム
JP2006054865A (ja) * 2004-08-02 2006-02-23 Samsung Electronics Co Ltd パイプライン方式の二進算術デコーディング装置及び方法
WO2006051796A1 (en) * 2004-11-09 2006-05-18 Matsushita Electric Industrial Co., Ltd. Two step arithmetic decoding with conversion into an intermediate format

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JIAN-WEN CHEN,CHENG-RU CHANG,YOUN-LONG LIN: "A Hardware Accelerator for Context-Based Adaptive Binary Arithmetic Decoding in H.264/AVC", CIRCUITS AND SYSTEMS,2005.ISCAS 2005.IEEE INTERNATIONAL SYMPOSIUM ON, vol. 5, JPN6011043138, May 2005 (2005-05-01), pages 4525 - 4528, XP010817170, ISSN: 0002063646, DOI: 10.1109/ISCAS.2005.1465638 *
WEI YU,YUN HE: "A High Performance CABAC Decoding Architecture", IEEE TRANSACTIONS ON CONSUMER ELECTRONICS, vol. 51, no. 4, JPN6011043141, November 2005 (2005-11-01), pages 1352 - 1359, XP002576043, ISSN: 0002063647, DOI: 10.1109/TCE.2005.1561867 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111818335A (zh) * 2020-07-03 2020-10-23 Tcl华星光电技术有限公司 一种熵编码方法和装置、电子设备
CN111818335B (zh) * 2020-07-03 2022-04-26 Tcl华星光电技术有限公司 一种熵编码方法和装置、电子设备

Also Published As

Publication number Publication date
US7495588B2 (en) 2009-02-24
US20080100480A1 (en) 2008-05-01
JP4865509B2 (ja) 2012-02-01

Similar Documents

Publication Publication Date Title
US11277606B2 (en) Method for decoding a bitstream
US7898445B2 (en) Entropy coding apparatus
US7528749B2 (en) Decoding apparatus and decoding method
US8018996B2 (en) Arithmetic decoding apparatus and method
US7804903B2 (en) Hardware-based CABAC decoder
US7079057B2 (en) Context-based adaptive binary arithmetic coding method and apparatus
US10129555B2 (en) Decoding a picture based on a reference picture set on an electronic device
US7501964B2 (en) Entropy coding for digital codecs
JP2005130099A (ja) 算術復号装置、算術符号化装置、算術符号化・復号装置、携帯端末装置、動画像撮影装置、及び、動画像記録・再生装置
JP4865509B2 (ja) 復号装置及び復号方法
KR20090007301A (ko) 산술 디코딩 방법 및 디바이스
US20150326859A1 (en) Video quantization-parameter encoding method, video quantization-parameter decoding method, device, and program
US8456334B2 (en) Variable-length code decoding apparatus, decoding system, and variable-length code decoding method
KR100717002B1 (ko) 영상 부호화 및 복호화 장치와, 그 방법, 및 이를 수행하기위한 프로그램이 기록된 기록 매체
CN112449201B (zh) 解码方法、编码方法、相应的装置、电子设备及存储介质
JP2008311803A (ja) 算術復号方法、算術復号装置及び算術復号プログラム
JP2007074648A (ja) Cabac復号化装置
JP2007158698A (ja) 画像復号装置及び画像復号方法
JP6280266B2 (ja) 復号装置、及び復号方法
JP2014116835A (ja) 復号装置、符号化装置、復号方法、及び符号化方法
JP2008131526A (ja) 動画像符号化装置及び動画像符号化プログラム
JP2006203301A (ja) 符号語抽出装置とその方法、復号化装置、ならびに画像再生装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091029

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091029

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110811

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110819

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111018

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

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

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

Free format text: PAYMENT UNTIL: 20141118

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20141118

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees