JP2015115665A - 二値算術符号化装置、二値算術符号化方法及び二値算術符号化プログラム - Google Patents

二値算術符号化装置、二値算術符号化方法及び二値算術符号化プログラム Download PDF

Info

Publication number
JP2015115665A
JP2015115665A JP2013254531A JP2013254531A JP2015115665A JP 2015115665 A JP2015115665 A JP 2015115665A JP 2013254531 A JP2013254531 A JP 2013254531A JP 2013254531 A JP2013254531 A JP 2013254531A JP 2015115665 A JP2015115665 A JP 2015115665A
Authority
JP
Japan
Prior art keywords
value
context
occurrence probability
update
binary arithmetic
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
JP2013254531A
Other languages
English (en)
Other versions
JP6159240B2 (ja
Inventor
西田 享邦
Takakuni Nishida
享邦 西田
正樹 北原
Masaki Kitahara
正樹 北原
大西 隆之
Takayuki Onishi
隆之 大西
充郎 池田
Mitsuro Ikeda
充郎 池田
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2013254531A priority Critical patent/JP6159240B2/ja
Publication of JP2015115665A publication Critical patent/JP2015115665A/ja
Application granted granted Critical
Publication of JP6159240B2 publication Critical patent/JP6159240B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

【課題】二値算術符号化処理を高速化することができる二値算術符号化装置を提供する。
【解決手段】コンテキスト情報とシンボルからシンボル生起確率状態の状態遷移値とMPS/LPS情報を算出するコンテキスト更新部と、シンボル生起確率状態の状態遷移値、MPS/LPS情報とレンジ値から再正規化シフト量を算出すると同時にレンジ値を更新するレンジ更新処理部と、再正規化シフト量、MPS/LPS情報、更新されたレンジ値とロー値からロー値を更新するロー値更新部と、更新されたロー値を用いてビットストリームを生成するビットストリーム生成部とを備える二値算術符号化装置であって、コンテキスト更新部は、1bin目の生起確率状態から、2bin目の生起確率状態を同時に決定する際に生起確率状態テーブルを参照して複数のbinを並列処理する。
【選択図】図1

Description

本発明は、二値算術符号化処理を高速化する二値算術符号化装置、二値算術符号化方法及び二値算術符号化プログラムに関する。
HEVC/H.265での圧縮後の画像符号化データは、統計的性質を有する。二値算術符号化処理は、この統計的性質を利用してさらに冗長度を削減するために、エントロピー符号化の一種であるCABAC(Context−based Adaptive Binary Arithmetic Coding)が用いられる。CABAC処理は大きく二進数系列化処理、コンテキストモデリング、二値算術符号化処理の3つの処理が実施される。映像符号化処理により符号化された動きベクトルや変換係数といったデータは、シンボルと呼ばれ、それぞれのシンボルの性質に応じて定められている方法で二進数系列化され、シンボルからbin(二進数)列に変換される。その二進数に対する生起確率モデルを、処理対象ブロック近傍のシンボルの状態などに応じて、動的に決定し(コンテキストモデリング処理)、その二進数はコンテキストモデリング処理で決定された生起確率モデルに従って二値算術符号化される。
これらの処理の中で、二値算術符号化部は、binと呼ぶ二進数系列化された値毎にコンテキストの生起確率を変更し、その変更された生起確率を次のbin処理時に用いることが有る。また、レンジ値やロー値といった変数もbin毎に更新されるため、データ依存性が存在する。そのため、並列処理等により複数のbinを同時に処理することは困難であり、二値算術符号化処理を高速化するためには、動作周波数を上げることが必要となる。動作周波数の高速化には限界が存在するのに加え、動作周波数の高速化によりシステムの消費電力を増加させるため、動作周波数の高速化の適用は限定的である。
一方で、アルゴリズム的に並列化させてCABAC処理を行う方式が提案されている(例えば、特許文献1参照)。これは、一つの画面をいくつかの領域(スライス)に分割し、各々のスライスにおいて独立してCABAC処理を行うものである。CABAC処理は各スライス処理の開始時点で内部状態を初期化して実行されるので、各々完全に独立させて動作させると、符号化効率が低下する。そこで、画面内の最初のスライスのCABAC処理がある程度進んだ後に、その内部状態を初期値として用いて次のスライスのCABAC処理を開始することで、符号化効率を維持しつつCABAC処理を並列化させている。
特開2012−134757号公報
しかしながら、特許文献1の方式にあっては、符号化装置、復号化装置がこの機能に対応している必要が有ること、スライス分割せずに実行した場合の圧縮性能より劣ること、さらに、CABAC後のビット数も含めた符号化モードの決定を行う場合、コンテキスト単位での高速化が求められることから、本方式の適用も限定的である。このような理由から、スライス分割による並列処理を用いず、二値算術符号化部に入力されるbinに対する並列処理を実現し、二値算術符号化処理を高速化する必要がある。
本発明は、このような事情に鑑みてなされたもので、二値算術符号化処理を高速化することができる二値算術符号化装置、二値算術符号化方法及び二値算術符号化プログラムを提供することを目的とする。
本発明は、コンテキスト情報とシンボルからシンボル生起確率状態の状態遷移値とMPS/LPS情報を算出するコンテキスト更新部と、前記シンボル生起確率状態の状態遷移値、前記MPS/LPS情報とレンジ値から再正規化シフト量を算出すると同時にレンジ値を更新するレンジ更新処理部と、前記再正規化シフト量、前記MPS/LPS情報、前記更新されたレンジ値とロー値からロー値を更新するロー値更新部と、前記更新されたロー値を用いてビットストリームを生成するビットストリーム生成部とを備える二値算術符号化装置であって、前記コンテキスト更新部は、1bin目の生起確率状態から、2bin目の生起確率状態を同時に決定する際に生起確率状態テーブルを参照して複数のbinを並列処理することを特徴とする。
本発明は、前記レンジ更新処理部は、1bin目と2bin目の生起確率状態を用いてLPS区間長テーブルの値を読み出し、前記レンジ値を用いて前記読み出された値の中から複数の値を選択し、前記レンジ値の更新及び再正規化シフト量の算出を行うことを特徴とする。
本発明は、前記ロー値更新部は、前記MPS/LPS情報、前記再正規化シフト量、更新された前記レンジ値を複数受け取り、前記ロー値と前記再正規化シフト量の累積加算を行い、当該累積加算の結果が指定された閾値を超えた場合には、前記ビットストリーム生成部へデータを出力すると共に、前記ロー値および前記出力したデータのビット数分だけ前記累積加算の結果から減ずることを特徴とする。
本発明は、前記ビットストリーム生成部は、桁上がり処理を行うために、一時的に受け取ったデータを保持し、桁上がりを生じる可能性が有る場合は出力せず、受け取ったデータ量のみを加算し、桁上がりを生じないことが確認された場合に、桁上がり処理を行い保持したデータをビットストリームとして出力し、受け取ったデータ量が1になるまで桁上がり処理の結果により1あるいは0を出力し続け、確認に用いたデータを再度一時的に保持することを特徴とする。
本発明は、コンテキスト情報とシンボルからシンボル生起確率状態の状態遷移値とMPS/LPS情報を算出するコンテキスト更新部と、前記シンボル生起確率状態の状態遷移値、前記MPS/LPS情報とレンジ値から再正規化シフト量を算出すると同時にレンジ値を更新するレンジ更新処理部と、前記再正規化シフト量、前記MPS/LPS情報、前記更新されたレンジ値とロー値からロー値を更新するロー値更新部と、前記更新されたロー値を用いてビットストリームを生成するビットストリーム生成部とを備える二値算術符号化装置が行う二値算術符号化方法であって、前記コンテキスト更新部が、1bin目の生起確率状態から、2bin目の生起確率状態を同時に決定する際に生起確率状態テーブルを参照して複数のbinを並列処理することを特徴とする。
本発明は、コンピュータを、前記二値算術符号化装置として機能させるための二値算術符号化プログラムである。
本発明によれば、スライス分割などアルゴリズムレベルでの並列化を行わなくとも、複数bin列を並列処理することにより二値算術符号化処理を高速化することができるという効果が得られる。
本発明の一実施形態の基本構成を示すブロック図である。 図1に示すコンテキスト更新部1の処理動作を示すフローチャートである。 図1に示すレンジ更新部2の処理動作を示すフローチャートである。 図1に示すロー更新部3の処理動作を示すフローチャートである。 2並列の二値算術符号処理の構成を示すブロック図である。 二値算術符号化処理を高速化するための装置構成を示すブロック図である。 状態遷移テーブルの内容を示す図である。 2並列処理のための状態遷移テーブル内容の構成を示す図である。 更新値の選択動作を示すフローチャートである。 2並列の処理を行う図6に示すコンテキスト更新部21の構成を示すブロック図である。 選択信号生成器の論理を示す図である。 選択信号生成器の論理を示す図である。 2並列コンテキスト更新処理の流れを示す図である。 2並列の処理を行う図6に示すレンジ更新部22の構成を示すブロック図である。 2並列の処理を行う図6に示すロー更新部23の構成を示すブロック図である。 ロー更新値の処理例を示す図である。 図6に示すビットストリーム生成部24構成を示す図である。 ビットストリーム生成処理ステートマシンの例を示す図である。
以下、図面を参照して、本発明の一実施形態による二値算術符号化装置の基本構成を説明する。図1は同実施形態における二値算術符号化部の基本構成を示すブロック図である。二値算術符号化処理は、コンテキスト更新処理、レンジ値更新処理、ロー値更新処理の大きく3つの処理に分かれている。HEVC Test Model(HM)では、これらの処理は一つの処理ループで実装されており、各々の更新処理は、3つの処理が完了しなければ、次のbinに対する更新ができないようになっている。
しかしながら、各更新処理間で適切な変数を受け渡すことで、各々の更新処理は独立して動作させることが可能となる。これは、各更新処理を、依存性を持つために並列に実行できなかった処理をパイプライン処理で並列して処理可能になることを表している。図1に示すように、コンテキスト更新部1は、入力するシンボルとコンテキストに依存する。レンジ更新部2は、コンテキスト、レンジ値、コンテキスト更新部1から出力されるシンボルが優勢シンボル(MPS)か劣性シンボル(LPS)かの情報に依存する。ロー更新部3は、MPSかLPSかの情報、更新されたレンジ値と再正規化された場合、その正規化量を表すビットシフト量、そして、ロー値に依存する。
この構成により、コンテキスト更新、レンジ更新、ロー更新をパイプライン処理化可能である。また、コンテキスト更新のみ実施し、その出力をメモリに蓄えておき、コンテキスト更新処理終了後にまとめてレンジ値更新を連続して行い、その出力もメモリに蓄えておきレンジ値更新終了後、ロー値更新を連続して行うといった処理形態をとることも可能になる。
また、HEVCでは、生起確率の推定が困難なbinについて、0と1の生起確率を0.5に固定し、算術符号処理の一部を省いて処理を行うバイパス処理が行われる。このバイパス処理は、ロー値の更新のみが行われるため、各更新処理を独立化させることで、コンテキスト更新部1とレンジ更新部2を動作させることなく、符号化処理を実行することが可能となる。また、ロー値更新は、レンジ更新部1においてレンジ値が小さくなった場合(256未満)に実行される再正規化が行われた場合に実行されるので、その状況になるまでロー更新部3を停止させることができる。これらの観点からも各更新部を独立に動作させられる本方式は有効である。
次に、図2を参照して、図1に示すコンテキスト更新部1の処理動作を説明する。図2は、図1に示すコンテキスト更新部1の処理動作を示すフローチャートである。コンテキスト更新部1は、コンテキスト情報(符号化パラメータとMPSシンボル値)とシンボルを入力し、符号化パラメータに対応するシンボル生成確率の状態遷移値と符号化パラメータに対応するMPSのシンボル値を読み出す(ステップS1、S2)。そして、その値をアドレスとして状態遷移テーブルをアクセスし、入力されるシンボルがMPSかLPSになった場合の値を読み出す(ステップS3)。そして、MPSシンボル値との比較により(ステップS4)、シンボル値がMPSかLPSかを判断し(ステップS5)、先の読み出した値の適した方の値を符号化パラメータに対応するシンボル生起確率の状態遷移値を格納しているテーブルに、その値を更新値として格納する(ステップS6)。そして、入力されたシンボル値がMPSかLPSかの情報と更新前のシンボル生起確率を表すシンボル生起確率の状態遷移値を出力する。
次に、図3を参照して、図1に示すレンジ更新部2の処理動作を説明する。図3は、図1に示すレンジ更新部2の処理動作を示すフローチャートである。レンジ更新部2は、受け取ったシンボル生起確率の状態遷移値をアドレスとして、LPS区間長をrLPSテーブル4から読み出す(ステップS11)。読み出されるLPS区間長は、受け取ったレンジ値の上位2ビットにより値が異なるため、rLPSテーブル4からは、4つの値を同時に読み出し、レンジ値に従い1つの値を選択する(ステップS12)。レンジ値そのものは、受け取ったLPS/MPS情報により、LPSの場合は、読み出し、選択されたrLPSテーブルの値を、MPSの場合は、受け取ったレンジ値から選択されたrLPSテーブルの値を減じた値を選択し(ステップS13)、その値が256未満である場合、256以上、512未満になるように左シフトする(ステップS14)。このシフトが再正規化と呼ばれる処理である。このようにしてレンジ値は更新される。そして、ロー値更新に必要となるLPS/MPS情報と再正規化時に得た左シフト量、そして、レンジ値から選択されたrLPSテーブルの値を減じた値を出力する。
次に、図4を参照して、図1に示すロー更新部3の処理動作を説明する。図4は、図1に示すロー更新部3の処理動作を示すフローチャートである。ロー更新部3は、LPS/MPS情報により、MPSの場合、レンジ更新部から受け取ったシフト量分ロー値を左シフトして更新する(ステップS21)。LPSの場合、ロー値に、レンジ更新部2から受け取ったレンジ値から選択されたrLPSテーブル4の値を減じた値を減じ、受け取ったシフト量分左シフトして更新する(ステップS22)。この時、ロー値のMSB側から確定したビット分をビットストリームとして出力し、残りのビットを最終的に更新されたロー値とする(ステップS23)。このようにして、二値算術符号処理は実行される。
次に、二値算術符号化処理をカスケード化することによる並列処理を行う構成について説明する。二値算術符号化処理を高速化させるために、複数binを各更新部で同時に処理することを考えると、図1に示す処理ブロックを例えば、2並列に配置し、図5に示すように2つのbin(シンボル)を同時に読み込み、各々の更新部では処理をカスケードし処理結果を次段の更新部に渡すことで、並列処理が可能となる。図5は、2並列の二値算術符号処理の構成を示すブロック図である。
コンテキスト更新は、コンテキストAとコンテキストBが異なる場合は、コンテキストAとシンボルAによるコンテキスト更新部5と、コンテキストBとシンボルBによるコンテキスト更新部6とによって独立して行われる。
しかしながら、コンテキストAとコンテキストBが同じ場合、コンテキストBの情報は用いず、更新されたコンテキストAの情報を用いてコンテキストBの更新がなされる。コンテキスト更新は、確定している符号化パラメータに対応するシンボル生成確率の状態遷移値をアドレスとして、状態遷移テーブルからLPS/MPS情報に従い実行される。通常状態遷移テーブルは、メモリで構成されるため、コンテキストAの更新のためにメモリ読み出しを行い、更新後の値で、コンテキストBの更新のためのメモリ読み出しを行う必要が有る。一般にメモリアクセス速度は遅いので、2bin分を同時にコンテキスト更新するために費やされる時間が長くなる。そのため、並列処理のメリットが削減してしまう。状態遷移テーブルの内容は、書き換わらないため、コンテキストBの状態遷移テーブルをメモリではなく、組合せ回路で構成することも考えられるが、回路規模の増大などのデメリットを生じる。
そこで、状態遷移テーブル内容の構成に着目し、コンテキストAの状態遷移テーブルとコンテキストBの状態遷移テーブルをコンテキストAのコンテキスト更新値が確定していない状態であっても同時アクセスして処理時間を短縮する。図6は、二値算術符号化処理を高速化するための装置構成を示すブロック図である。コンテキスト更新部21、レンジ更新部22、ロー更新部23、ビットストリーム生成器24はそれぞれ図6に示すように接続されており、入力されたコンテキストAとコンテキストBは同時に処理され、2bin/cycleが実現可能となり、二値算術符号化処理の高速化が実現できる。
図7は、状態遷移テーブルの内容を示す図である。図7に示すように、状態遷移テーブルには更新前のコンテキストの状態値によって、受け取ったシンボルがLPSあるいはMPSであった場合の更新値が格納されている。例えば、現在の状態値が31であった場合、シンボルがLPSであれば24に、シンボルがMPSであれば32に状態値が更新される。図7から明らかなように、現在の状態が31であった場合、とり得る状態値は24あるいは、32なので、その次のコンテキスト更新でとり得る状態値は、現在の更新値が24の場合、19あるいは25であり、現在の更新値が32である場合、24あるいは33である。すなわち、テーブル内容としては冗長になるが、現在の状態値が31の場合、最初のコンテキスト更新でとり得る24と32を格納しておき、その次のコンテキスト更新でとり得る19、25、24、33も格納しておくことで、一度にコンテキストの次々更新時に必要となる状態値を得ることが可能になる(図8参照)。図8は、2並列処理のための状態遷移テーブル内容の構成を示す図である。
ここで、図9を参照して、更新値の選択処理について説明する。図9は、更新値の選択動作を示すフローチャートである。まず、コンテキストAとコンテキストBが同一であるか否かを判定する(ステップS31)。この判定の結果、同一でなければ、コンテキストAのLPS/MPS情報がLPSであるか否かを判定する(ステップS32)。この判定の結果、LPSであれば更新値としてLPSを選択し、MPSであれば更新値としてMPSを選択する。
一方、コンテキストAとコンテキストBが同一であれば、コンテキストAのLPS/MPS情報がLPSであるか否かを判定する(ステップS33)。この判定の結果、LPSであれば、さらにコンテキストBのLPS/MPS情報がLPSであるか否かを判定する(ステップS34)。この判定の結果、LPSであれば更新値としてLPSLPSを選択し、MPSであれば、更新値としてLPSMPSを選択する。
ステップS33の判定の結果、MPSであれば、さらに、コンテキストBのLPS/MPS情報がLPSであるか否かを判定する(ステップS35)。この判定の結果、LPSであれば更新値としてMPSLPSを選択し、MPSであれば、更新値としてMPSMPSを選択する。
次に、図10を参照して、2並列の処理を行うコンテキスト更新処理について説明する。図10は、2並列の処理を行う図6に示すコンテキスト更新部21の構成を示すブロック図である。コンテキスト更新部21は、コンテキストAのシンボルの値を処理に合わせて一時的に記憶しておくレジスタbinValA31、binValA’32を備える。また、コンテキストBのシンボルの値を処理に合わせて記憶しておくレジスタbinValB33、binValB’34を備える。また、コンテキストAのコンテキスト情報を示すコンテキスト番号を一時的に記憶しておくレジスタctxIdxA35、ctxIdxA’36を備える。また、コンテキストBのコンテキスト番号を一時的に記憶しておくレジスタctxIdxB37、ctxIdxB’38を備える。また、各コンテキストに対する優勢シンボル値を記憶しておくメモリvalMps[]39、コンテキストに対する現在の確率状態を記憶しておくメモリpStateIdx[]40を備える。また、各々のコンテキスト更新処理に用いるvalMpsをctxIdxA35やctxIdxB37を用いてvalMps[]39から、あるいは、更新処理中の値から選択するセレクタSel1・41、Sel5・42を備える。
また、各々のコンテキスト更新処理に用いるpStateIdxをctxIdxAやctxIdxBを用いてpStateIdx[]40から、あるいは、更新処理中の値から選択するセレクタSel2・43、Sel6・44を備える。また、コンテキストA、コンテキストBの更新処理に用いる優勢シンボルを一時的に記憶しておくレジスタvalMpsA45、valMpsB46、コンテキストA、コンテキストBの更新処理に用いるコンテキスト番号を一時的に記憶しておくレジスタpStateIdxA47、pStateIdxB48を備える。また、シンボル生起確率の状態遷移テーブルであるtransIdx[]49、コンテキストA、コンテキストBの優勢シンボル値の更新値を選択するSel3・50、Sel11・51、コンテキストAのシンボル生起確率の状態の更新値を選択するSel4・52、コンテキストBのシンボル生起確率の状態の更新値を選択するSel7・53、Sel10・54、Sel12・55を備える。
また、コンテキストBの優勢シンボル値としてコンテキストAの更新された優勢シンボルを使用するかコンテキストBの優勢シンボルを一時的に蓄積しているvalMpsB46の値を使用するか選択するSel8・56、コンテキストBのシンボル生起確率の状態値として、コンテキストAの更新されたシンボル生起確率の状態値を用いるか、コンテキストBのシンボル生起確率の状態を一時的に蓄積しているpStateIdxB48の値を用いるか選択するSel9・57、Sel1・41、Sel2・43の選択信号を生成する選択信号生成器58を備える。また、Sel5・42、Sel6・44の選択信号を生成する選択信号生成器59を備える。
また、コンテキストA、コンテキストBそれぞれのシンボルが優勢シンボルか劣性シンボルかを生成するLPS/MPS生成器60、61、Sel3・50、Sel11・51の選択信号を生成する選択信号生成器62、63を備える。そして、コンテキストAとBが同じ場合、コンテキストAの情報を用いるようにSel8・56、Sel9・57に指示し、Sel10・54に生起確率状態遷移情報のLPSLPSあるいは、LPSMPS、MPSLPS、MPSMPSの選択を指示し、コンテキストに対する優勢シンボル値と生起確率状態値の書込みが衝突しないよう、コンテキストAにおける優勢シンボル値と生起確率状態値をメモリに書き戻さないように指示する信号を生成する同一コンテキスト信号発生器64を備える。
選択信号発生器58は、図11示す論理、選択信号発生器59は、図12に示す論理により選択信号を生成する。図11、図12の中で、A==A’?の列で〇がついている状態は、ctxIdxA35の値とctxIdxA’36の値が同一であることを示しており、選択信号001は、図10におけるSel1・41、Sel2・43に接続される入力の右の値を選択することを意味しており、例えば、これが100である場合、左の値を選択することを意味している。これにより、コンテキストAとBが異なる場合、各々のコンテキストの優勢シンボルや生起確率状態は独立して更新され、コンテキストAとBが同一である場合、コンテキストAにおける優勢シンボルや生起確率状態値の更新値を用いてコンテキストBのコンテキスト更新処理が可能となる。
LPS/MPS生成器60、61は、コンテキストAあるいはコンテキストBのシンボルと優勢シンボルの比較をし、同一である場合、1を出力しMPSであることを示し、異なる場合、0を出力しLPSであることを示す。
選択信号発生器62、63は、コンテキストAあるいはコンテキストBのLPS/MPS生成器60、61からの出力信号がLPSでありかつ、生起確率状態値が0の場合、当該コンテキストの優勢シンボル値を反転させるようSel3・50、Sel11・51に選択信号を送る。
同一コンテキスト信号発生器64は、先に説明したようにコンテキストAとBが同一であるか判別するため、ctxIdxA’36とctxIdxB’38の値を比較し、同じ場合、コンテキストAとBが同一であると判断し、コンテキストA側の処理におけるメモリ書込みを禁止するとともに、コンテキストA側のコンテキスト情報をコンテキストB側で用いるようにする。
また、図9に示す更新値の選択処理動作は、Sel7・53、Sel10・54、Sel12・55で実現される。
ここで、各コンテキストの優勢シンボルや生起確率状態を蓄積しているvalMps[]39やpStateIdx[]40は、図10の中で読み出し側と書きこみ側、さらにコンテキストA側とB側に個別に描かれているが、蓄積内容の同一性が必要なため、現実的には、読み出し2ポート、書込み2ポートの4ポートメモリが必要となる。また、メモリに限ることなくレジスタ等他の多ポート記憶装置であれば適用可能である。さらに、状態遷移テーブルであるtransIdx[]49は、コンテキストA、Bで個別に実装しても、一つのROM等で実装しても構わない。その場合、コンテキストA側については、transLPSとtransMPSの値だけを出力するようにして、回路規模を削減する等が適用できる。
コンテキスト更新部を図10のように構成することで、図13に示すパイプライン処理が可能となり、1サイクルごとに2bin分のコンテキスト更新が実行される。図13は、2、3、4、6bin目が同一のコンテキストで、1bin目と5bin目が異なるコンテキストであるとした場合の処理の流れを矢印で示したものである。1bin目と5bin目は独立してR→Ex→Wと処理が実行されることを表している。ここで、R、Ex、Wはそれぞれ、データの読出し、処理実行、更新データの書込みを表している。3bin目と6bin目は、2bin目と4bin目で更新値をメモリに書込む値を、読み出した値の代わりに用いることを表している。また、4bin目は、3bin目の更新値を読み出した値の代わりに用いることを表している。このように、連続するコンテキストや独立したコンテキストが混在している状態であってもコンテキスト更新処理が実行可能である。
次に、図14を参照して、2並列の処理を行うレンジ更新処理について説明する。図14は、2並列の処理を行う図6に示すレンジ更新部22の構成を示すブロック図である。レンジ更新部22は、コンテキストAのLPS/MPS情報を一時的に記憶するレジスタLPS/MPSA71、LPS/MPSA’72、コンテキストBのLPS/MPS情報を一時的に記憶するレジスタLPS/MPSB73、LPS/MPSB’74、を備える。また、コンテキストAの生起確率状態値を一時的に記憶するpStateIdxA75、コンテキストBの生起確率状態値を一時的に記憶するpStateIdxB76、LPS区間長を記憶するメモリあるいは、レジスタ、組合せ回路で実現されるrLPS[]77、pStateIdxA75やpStateIdxB76をアドレスとして読み出されたrLPS[]77の値を一時的に記憶しておくレジスタ群78、79を備える。
また、レンジ値の初期値を一時的に記憶するレジスタm_uiRangeA80、レンジ値の更新値を記憶するレジスタm_uiRangeA’81、コンテキストAに対応するLPS/MPS情報や生起確率状態を用いてレンジ値を更新するかを指定する信号を一時的に記憶しておくレジスタvalidA82、validA’83を備える。また、同様にコンテキストBに対応するLPS/MPS情報や生起確率状態を用いてレンジ値を更新するか指定する信号を一時的に記憶しておくレジスタvalidB84、validB’85を備える。
また、レンジ値を更新するために必要な加算器86、87、rLPS[]77から読み出されたLPS区間長を一時的に記憶しておくレジスタ群78、79の中からレンジ値に適した値を選択するコンテキストAに対応するSel2・86、コンテキストBに対応するSel5・87を備える。また、LPS/MPS信号により更新されたレンジ値を選択するコンテキストAに対応するSel3・88、コンテキストBに対応するSel6・89、選択されたRagne値を256以上512未満に再正規化するためのコンテキストA用のプライオリティエンコーダ(prioEncoder)90と左シフタ91と、コンテキストB用のプライオリティエンコーダ(prioEncoder)94と左シフタ95を備える。また、コンテキストAおよびコンテキストBに対する情報が有効か無効かの状態により、レンジ値を更新する値を選択するSel4・92、コンテキストAおよびコンテキストBの有効か無効化の情報からSel4の入力を選択する信号を生成する選択信号発生器93からなる。
このような構成をとることで、2bin目のLPS区間長を格納しているrLPS[]77の読み出しアドレスは、1bin目の更新されたレンジ値に依存しなくなり、コンテキスト更新部から出力される生起確率状態値を受け取ると直ちにLPS区間長の候補を読み出すことが出来るため、1bin目と2bin目のrLPS[]77のアクセスを同時に行えるようになる。これにより、2bin目のrLPS[]77のメモリアクセス時間分処理時間が削減され、レンジ値更新が高速化される。
また、レンジ更新において、処理タイミングの関係から常に2bin分の情報が入力されるのではなく、1bin分の情報のみが入力される、あるいは、何も入力されないことも考えられる。そこで、各コンテキストに対応する情報が有効か示すために、valid信号を用いる。validA’83とvalidB’85が共に有効な場合、2bin分の処理を行う必要がるため、コンテキストAとコンテキストB情報に対する2段のレンジ値更新が行われたのちの値でレンジ値を更新するために、Sel4・92の右側の信号が出力されるように選択信号発生器93は、選択信号を生成する。
validA’83のみ有効な場合、1bin分の処理を行うため、コンテキストA情報に対する1段のレンジ更新が行われた後の値で、レンジ値を更新するために、Sel4の真ん中の信号が出力されるように選択信号発生器93は、選択信号を生成する。いずれも無効な場合、現在のレンジ値を保持し続けるために、Sel4・92の左の信号が出力されるように選択信号発生器93は、選択信号を生成する。
ロー値更新に必要な各コンテキストのLPS/MPS(LPS/MPSA、LPS/MPSB)、再正規化するために必要としたシフト量(numbitysA、 numbitsB)、レンジ値からLPS区間長を減じた値(curr_m_uiRangeA、 curr_m_uiRangeB)、そして、それぞれのコンテキストが出力する情報が有効かを示す信号(validA、validB)を出力する。
次に、図15を参照して、2並列の処理を行うロー更新処理について説明する。図15は、2並列の処理を行う図6に示すロー更新部23の構成を示すブロック図である。ロー更新部23は、コンテキストAとコンテキストBに対するLPS/MPS信号を一時的に記憶するレジスタLPS/MPSA101とLPS/MPSA’102、LPS/MPSB103とLPS/MPSB’104を備える。また、コンテキストAとコンテキストBに対する再正規化により必要となるビットシフト量を一時的に記憶しておくレジスタnumBitsA105とnumBitsA’106、numBitsB107とnumBitsB’108を備える。
また、コンテキストAとコンテキストBに対するレンジ値からLPS区間長を減じた値を一時的に記憶するレジスタcurr_m_uiRangeA109とcurr_m_uiRangeA’110、curr_m_uiRangeB111とcurr_m_uiRangeB’112を備える。また、コンテキストAとコンテキストBそれぞれに対するロー更新を行うか否かを指定する信号を一時的に記憶しておくレジスタvalidA113とvalidA’114、validB115とvalidB’116を備える。
また、ロー値の初期値を一時的に記憶しておくレジスタm_uiLow117、Lowの更新値であるレジスタm_uiLow’118、現在のローに対する再正規化処理によるシフト量の総和の初期値を一時的に記憶しておくレジスタacc_shift119、現在のローに対する再正規化処理によるシフト量を記憶しておくレジスタacc_shift’120を備える。また、初期化時に、m_uiLow’118とacc_shift’120にm_uiLow117とacc_shift119を設定し、それ以外では更新されたローと同じく更新された現在のローに対する再正規化処理によるシフト量の総和を設定するSel1・121、Sel4・122を備える。
また、コンテキストAとコンテキストBそれぞれのLPS/MPS信号がLPSの場合、curr_m_uiRangeA’110あるいは、curr_m_uiRangeB’112にm_uiLow’118の値あるいは、更新されたm_uiLow117の値を加えた値を選択し、LPS/MPS信号がMPSの場合、更新されていないローを選択するセレクタSel2・123、Sel7・124を備える。
また、コンテキストBに対する情報が無効である場合、コンテキストBに対するロー値更新を行わないようにするため、LPS/MPS信号をMPSとし、再正規化のシフト量を0とし、コンテキストBに対する情報が有効である場合、ロー更新を行うため、受け取ったコンテキストBに対するLPS/MPS信号と再正規化のシフト量を用いるように選択するセレクタSel5・125、Sel6・126を備える。また、コンテキストAとコンテキストBそれぞれに対する再正規化によるシフト量によりSel2・123やSel7・124で選択された更新されたロー値を左シフトするlシフタ1・127、lシフタ2・128を備える。
また、受け取ったコンテキストAとBに対する再正規化のシフト量を加算する加算器129、その加算された値とacc_shift’値を加算する加算器130、その加算された値が、予め指定される値を超えるか否か判定する判定器131、コンテキストA、コンテキストBのいずれかあるいは、双方が有効である場合、有効と判定する判定器132を備える。また、判定器132の出力が有効かつ、判定器131が有る閾値を超えたと判定した場合、ビットストリーム生成器に有効であることを示すためvalidを1にする論理積部133を備える。
また、判定器131で閾値を超えたと判断されたときに、加算器130の出力から減じた(ここでは8とする)シフト量を渡し、閾値を超えていないと判断された時には、先の加算器130の出力を選択する選択器Sel9・134を備える。ここでは8ビット分づつビットストリーム生成器にビットを渡すことを想定し、加算器130の出力に2を加えたビット数分、lシフタ2・128によって求められた値を右シフトして、ビットストリーム生成器に出力するrシフタ4・135、lシフタ2・128の出力からrシフタ4・135によってビットストリーム生成器に出力されなかった値を一時的に求めておくためのマスク値を例えば32ビット演算器であれば、加算器130の出力である累積されたシフト量を30から減じた値分0xffffffffを右シフトして生成するrシフタ3・136を備える。
また、ビットストリーム生成器にデータを送る場合、ローの更新値としてビットストリーム生成器に渡したビットを除いたデータを、ビットストリーム生成器にデータを送らない場合、lシフタ2・128から出力されるこれまで累積されたロー値をロー値の更新候補値として選択するSel8・137を備える。また、コンテキストAとコンテキストB共に有効でない場合、現在のロー値を保持し続け、いずれか一つでも有効であれば、Sel8・137の出力である更新候補値をローの更新値とするSel3・138を備える。
前述した説明は、閾値が8の場合について説明した。それぞれのシフト量は、図16に示すようになっており、ハードウェアで構成する場合、マスク等使用せずともバレルシフタ等で実現することができる。ビットストリーム生成器への出力値は、図16から明らかなように、acc_shift−8+10であるため、acc_shiftに2を加えた値で、lシフタ2・128の出力を右シフトした。また、マスク値も図16から明らかなようにacc_shift+2分ビット1を立てる必要が有るため、32−(acc_shift+2)すなわち、30−acc_shift分オール1の値を右にシフトする必要が有る。あるいは、ハードウェアで構成する場合容易に左シフトあるいは組合せ回路で容易にマスク値を生成できるので、acc_shift+2ビット分LSB側から1を立てるようにしてもよい。
このような構成をとることで、1bin目と2bin目に対するロー値の更新を2並列で実行可能となるとともに、再正規化によるロー値のシフトに合わせ、ロー値更新に直接関与しなくなったビット分をビットストリーム生成処理部に送ることができ、ロー値更新を行う演算器のビット数が削減される。このビット数の削減により演算処理速度が向上し、並列動作時のロー値更新が高速化される。
次に、ロー更新部から8ビット単位でデータを受け取る場合のビットストリーム生成処理の例を説明する。図17は、図6に示すビットストリーム生成部24構成を示す図である。ビットストリーム生成部24は、出力するビットストリームを一時的に記憶しておくoutByte_r150、outByte_r150の値を保持し続けるか、新たなデータを受け取るかをステートマシンの指示により選択するセレクタSel1・151、受け取ったデータのキャリをoutByte_r150に加算する必要が有る場合にキャリを加算する加算器152、ビットストリームとして出力する値を、outByte_rとするか、0xffとするか、0x00とするかをステートマシンの指示により選択するSel4・153を備える。
また、ステートマシン154が使用するカウント値を初期化するか、更新値を用いて更新するかを選択するSel2・155、ステートマシン154が使用するこのビットストリーム生成器からまだ出力していないデータ数をカウントするカウンタcnt_r156、ステートマシン154の指示により、cnt_r156をインクリメントするかデクリメントするか保持するかを選択するSel3・157を備える。ステートマシンは、受け取ったデータとそのデータの有効情報、cnt_r156の値により、状態を図18に示すようにIdle、Store、Out1、Out2のいずれかに遷移させる。
基本的には、ロー更新部から受け取った値をビットストリームとして出力するが、受け取ったデータが0xffである場合、次のデータにキャリビットが立っていると、0xffが0x00に反転し、0xffの前のデータにそのキャリは伝搬する。そのため、一時的に受け取ったデータを保持し、次のデータが0xFFか否かを調べ、0xFFでなければ、先に保持しておいたデータをビットストリームとして出力し、新たに受け取ったデータをレジスタに保持することを繰り返す。もし、次のデータが0xFFの場合、次々と0xFFが続いたとしても、0xFFでないデータがキャリを持っていればそれらはすべて0x00となり、先に記述したように0xFFが続く前のデータにキャリが伝搬する。
そのため、次のデータが0xFFの場合、outByte_rのデータを保持し続け、outByte_rの分も合わせてデータ数をカウントに加える。これは、インクリメント等で対応可能である。0xFFが続いたのち、0xFFでないデータを受け取った場合、キャリが有るか確認し、有る場合、outByte_rにキャリが加わるので、Sel4・153の左のデータを選択し出力する。そして、カウンタをデクリメントする。カウンタが1を超えている場合、超えた分0xFFのデータが有ることを示しているので、先のキャリが有る場合、0x00をカウンタが1になるまで出力し続けカウンタをデクリメントする、ない場合0xFFを出力し続けカウンタが1になるまで、カウンタをデクリメントする。1になった場合、受け取ったデータをoutByte_rに保持する。
このようにして、ビットストリーム生成処理は実行され、受け取ったロー値からビットストリームを生成する。
以上説明したように、二値算術符号化部の内部状態を表す、各コンテキストのシンボル生成確率の状態、レンジ値、ロー値を独立させて更新するのに加え、シンボル生起確率の状態の依存性を利用し、一度に複数binに対する生起確率を読み出し、更新処理を行うことで、高速化を実現することができる。
前述した実施形態における二値算術符号化装置をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、PLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されるものであってもよい。
以上、図面を参照して本発明の実施の形態を説明してきたが、上記実施の形態は本発明の例示に過ぎず、本発明が上記実施の形態に限定されるものではないことは明らかである。したがって、本発明の技術思想及び範囲を逸脱しない範囲で構成要素の追加、省略、置換、その他の変更を行ってもよい。
スライス分割などアルゴリズムレベルでの並列化を行わなくとも、複数bin列を並列処理することにより二値算術符号化処理を高速化することが不可欠な用途に適用できる。
1、5、6、21・・・コンテキスト更新部、2、7、8、22・・・レンジ更新部、3、9、10、23・・・ロー更新部、4、11、12・・・rLPSテーブル、24・・・ビットストリーム生成部

Claims (6)

  1. コンテキスト情報とシンボルからシンボル生起確率状態の状態遷移値とMPS/LPS情報を算出するコンテキスト更新部と、
    前記シンボル生起確率状態の状態遷移値、前記MPS/LPS情報とレンジ値から再正規化シフト量を算出すると同時にレンジ値を更新するレンジ更新処理部と、
    前記再正規化シフト量、前記MPS/LPS情報、前記更新されたレンジ値とロー値からロー値を更新するロー値更新部と、
    前記更新されたロー値を用いてビットストリームを生成するビットストリーム生成部とを備える二値算術符号化装置であって、
    前記コンテキスト更新部は、1bin目の生起確率状態から、2bin目の生起確率状態を同時に決定する際に生起確率状態テーブルを参照して複数のbinを並列処理することを特徴とする二値算術符号化装置。
  2. 前記レンジ更新処理部は、1bin目と2bin目の生起確率状態を用いてLPS区間長テーブルの値を読み出し、前記レンジ値を用いて前記読み出された値の中から複数の値を選択し、前記レンジ値の更新及び再正規化シフト量の算出を行うことを特徴とする請求項1に記載の二値算術符号化装置。
  3. 前記ロー値更新部は、前記MPS/LPS情報、前記再正規化シフト量、更新された前記レンジ値を複数受け取り、前記ロー値と前記再正規化シフト量の累積加算を行い、当該累積加算の結果が指定された閾値を超えた場合には、前記ビットストリーム生成部へデータを出力すると共に、前記ロー値および前記出力したデータのビット数分だけ前記累積加算の結果から減ずることを特徴とする請求項2に記載の二値算術符号化装置。
  4. 前記ビットストリーム生成部は、桁上がり処理を行うために、一時的に受け取ったデータを保持し、桁上がりを生じる可能性が有る場合は出力せず、受け取ったデータ量のみを加算し、桁上がりを生じないことが確認された場合に、桁上がり処理を行い保持したデータをビットストリームとして出力し、受け取ったデータ量が1になるまで桁上がり処理の結果により1あるいは0を出力し続け、確認に用いたデータを再度一時的に保持することを特徴とする請求項3に記載の二値算術符号化装置。
  5. コンテキスト情報とシンボルからシンボル生起確率状態の状態遷移値とMPS/LPS情報を算出するコンテキスト更新部と、
    前記シンボル生起確率状態の状態遷移値、前記MPS/LPS情報とレンジ値から再正規化シフト量を算出すると同時にレンジ値を更新するレンジ更新処理部と、
    前記再正規化シフト量、前記MPS/LPS情報、前記更新されたレンジ値とロー値からロー値を更新するロー値更新部と、
    前記更新されたロー値を用いてビットストリームを生成するビットストリーム生成部とを備える二値算術符号化装置が行う二値算術符号化方法であって、
    前記コンテキスト更新部が、1bin目の生起確率状態から、2bin目の生起確率状態を同時に決定する際に生起確率状態テーブルを参照して複数のbinを並列処理することを特徴とする二値算術符号化方法。
  6. コンピュータを、請求項1から4のいずれか1項に記載の二値算術符号化装置として機能させるための二値算術符号化プログラム。
JP2013254531A 2013-12-09 2013-12-09 二値算術符号化装置、二値算術符号化方法及び二値算術符号化プログラム Expired - Fee Related JP6159240B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013254531A JP6159240B2 (ja) 2013-12-09 2013-12-09 二値算術符号化装置、二値算術符号化方法及び二値算術符号化プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013254531A JP6159240B2 (ja) 2013-12-09 2013-12-09 二値算術符号化装置、二値算術符号化方法及び二値算術符号化プログラム

Publications (2)

Publication Number Publication Date
JP2015115665A true JP2015115665A (ja) 2015-06-22
JP6159240B2 JP6159240B2 (ja) 2017-07-05

Family

ID=53529130

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013254531A Expired - Fee Related JP6159240B2 (ja) 2013-12-09 2013-12-09 二値算術符号化装置、二値算術符号化方法及び二値算術符号化プログラム

Country Status (1)

Country Link
JP (1) JP6159240B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018194190A1 (ko) * 2017-04-18 2018-10-25 엘지전자(주) 비디오 신호를 엔트로피 인코딩, 디코딩하는 방법 및 장치
US10291913B2 (en) 2017-01-25 2019-05-14 Samsung Electronics Co., Ltd. Entropy encoder, video encoder including the same and electronic system including the same
CN110431748A (zh) * 2017-03-15 2019-11-08 Ntt电子股份有限公司 二进制算术解码器和二进制算术解码装置
CN113141508A (zh) * 2020-01-17 2021-07-20 阿里巴巴集团控股有限公司 算术编码器及实现算术编码的方法和图像编码方法
EP3957077A4 (en) * 2019-07-22 2022-06-22 Zhejiang Dahua Technology Co., Ltd. CODING SYSTEMS AND METHODS

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 算術復号装置、算術符号化装置、算術符号化・復号装置、携帯端末装置、動画像撮影装置、及び、動画像記録・再生装置
JP2005252374A (ja) * 2004-03-01 2005-09-15 Sony Corp 符号化装置、プログラム、および符号化処理方法
WO2007102518A1 (ja) * 2006-03-07 2007-09-13 The University Of Tokushima 算術符号化装置、算術符号化方法、算術符号化プログラム及びプログラムを格納したコンピュータで読み取り可能な記録媒体
JP2010219842A (ja) * 2009-03-17 2010-09-30 Panasonic Corp 符号量推定装置、符号量推定方法、符号量推定プログラムおよび、符号量推定集積回路

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 算術復号装置、算術符号化装置、算術符号化・復号装置、携帯端末装置、動画像撮影装置、及び、動画像記録・再生装置
JP2005252374A (ja) * 2004-03-01 2005-09-15 Sony Corp 符号化装置、プログラム、および符号化処理方法
WO2007102518A1 (ja) * 2006-03-07 2007-09-13 The University Of Tokushima 算術符号化装置、算術符号化方法、算術符号化プログラム及びプログラムを格納したコンピュータで読み取り可能な記録媒体
JP2010219842A (ja) * 2009-03-17 2010-09-30 Panasonic Corp 符号量推定装置、符号量推定方法、符号量推定プログラムおよび、符号量推定集積回路

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JINJIA ZHOU,ET AL.: "A high-performance CABAC encoder architecture for HEVC and H.264/AVC", IMAGE PROCESSING(ICIP),2013 20TH IEEE INTERNATIONAL CONFERENCE ON, JPN6017010993, 15 September 2013 (2013-09-15), US, pages Pages:1568-1572 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10291913B2 (en) 2017-01-25 2019-05-14 Samsung Electronics Co., Ltd. Entropy encoder, video encoder including the same and electronic system including the same
CN110431748A (zh) * 2017-03-15 2019-11-08 Ntt电子股份有限公司 二进制算术解码器和二进制算术解码装置
CN110431748B (zh) * 2017-03-15 2022-12-23 Ntt电子股份有限公司 二进制算术解码器和二进制算术解码装置
WO2018194190A1 (ko) * 2017-04-18 2018-10-25 엘지전자(주) 비디오 신호를 엔트로피 인코딩, 디코딩하는 방법 및 장치
EP3957077A4 (en) * 2019-07-22 2022-06-22 Zhejiang Dahua Technology Co., Ltd. CODING SYSTEMS AND METHODS
US11967119B2 (en) 2019-07-22 2024-04-23 Zhejiang Dahua Technology Co., Ltd. Systems and methods for coding
CN113141508A (zh) * 2020-01-17 2021-07-20 阿里巴巴集团控股有限公司 算术编码器及实现算术编码的方法和图像编码方法
WO2021143634A1 (zh) * 2020-01-17 2021-07-22 阿里巴巴集团控股有限公司 算术编码器及实现算术编码的方法和图像编码方法
CN113141508B (zh) * 2020-01-17 2024-03-26 阿里巴巴集团控股有限公司 算术编码器及实现算术编码的方法和图像编码方法

Also Published As

Publication number Publication date
JP6159240B2 (ja) 2017-07-05

Similar Documents

Publication Publication Date Title
JP6159240B2 (ja) 二値算術符号化装置、二値算術符号化方法及び二値算術符号化プログラム
JP3017379B2 (ja) 符号化方法、符号化装置、復号方法、復号器、データ圧縮装置及び遷移マシン生成方法
KR100717052B1 (ko) Cabac 복호기에서 이진 산술 복호화와 이진 매칭을병렬 처리하는 원소 구문의 복호화 방법 및 이를 위한복호화 장치
JP4893657B2 (ja) 算術復号装置
KR102386191B1 (ko) 폴라 코드용의 블록 단위의 병렬 동결 비트 생성
WO2008034094A2 (en) Entropy processor for decoding
Najmabadi et al. High throughput hardware architectures for asymmetric numeral systems entropy coding
JP4547503B2 (ja) 算術符号化装置、算術符号化方法、算術符号化プログラム及びプログラムを格納したコンピュータで読み取り可能な記録媒体
JPH0651943A (ja) 可変長符号の復号化回路
US20120047355A1 (en) Information Processing Apparatus Performing Various Bit Operation and Information Processing Method Thereof
US20080198046A1 (en) Variable length code decoding apparatus and variable length code decoding method
CN116366071A (zh) 一种基于ans编码的封装方法、***、存储介质及设备
CN107277553B (zh) 一种二元算术编码器
JP2010166552A (ja) テーブル装置、符号化装置、復号装置および符号化/復号装置
US9532044B2 (en) Arithmetic decoding device, image decoding apparatus and arithmetic decoding method
GB2595031A (en) Efficient encoding methods
JP6695813B2 (ja) 専用算術符号化命令
JP2005217871A (ja) 算術復号化装置および算術復号化プログラム
JP2003174365A (ja) 復号化装置及びその方法
CN112073729B (zh) 模型更新方法、装置、电子设备及计算机可读存储介质
JPH09284142A (ja) 可変長復号化装置
CN116582669A (zh) 二进制算术编码结构、装置、方法及存储介质
TW202418807A (zh) 非疊代的熵編碼
JP2006019814A (ja) エントロピ復号器
GB2593690A (en) Efficient encoding methods

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160308

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170322

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170404

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170524

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170609

R150 Certificate of patent or registration of utility model

Ref document number: 6159240

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees