JP4703730B2 - テーブル装置、可変長符号化装置、可変長復号装置及び可変長符号化復号装置 - Google Patents

テーブル装置、可変長符号化装置、可変長復号装置及び可変長符号化復号装置 Download PDF

Info

Publication number
JP4703730B2
JP4703730B2 JP2008553947A JP2008553947A JP4703730B2 JP 4703730 B2 JP4703730 B2 JP 4703730B2 JP 2008553947 A JP2008553947 A JP 2008553947A JP 2008553947 A JP2008553947 A JP 2008553947A JP 4703730 B2 JP4703730 B2 JP 4703730B2
Authority
JP
Japan
Prior art keywords
cell
data
output
comparison
bit stream
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2008553947A
Other languages
English (en)
Other versions
JPWO2008087750A1 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2008553947A priority Critical patent/JP4703730B2/ja
Publication of JPWO2008087750A1 publication Critical patent/JPWO2008087750A1/ja
Application granted granted Critical
Publication of JP4703730B2 publication Critical patent/JP4703730B2/ja
Active 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

Description

この発明は、国際標準方式を含む様々な可変長符号化や可変長復号に対応することが可能なテーブル装置と、そのようなテーブル装置を実装している可変長符号化装置、可変長復号装置及び可変長符号化復号装置とに関するものである。
動画像の可変長符号化方法や可変長復号方法は、用途などが考慮されて各種の改良が加えられており、国際標準符号化方式として、例えば、H.261、H.263、MPEG1、MPEG2、MPEG4などが存在している。
従来の可変長符号化復号装置は、各種の符号化方式に対応するテーブルデータをテーブルメモリに記憶することで(テーブルデータは、ゼロラン数とレベル値の組み合わせデータに対応する可変長符号化コードと、その可変長符号化コードの符号長であり、その組み合わせデータに対応するアドレスに記憶される)、独自の可変長符号化/復号に固執することなく、国際標準方式を含む様々な可変長符号化/復号に対応している。
また、可変長符号化装置と可変長復号装置とでは回路構成が異なり、可変長符号化の機能と可変長復号の機能を有する可変長符号化復号装置では、テーブルメモリから所望のテーブルデータを取り出す際、入力データをテーブルメモリ上のアドレスに変換するようにしている(例えば、特許文献1を参照)。
従来の可変長符号化復号装置では、国際標準方式を含む様々な可変長符号化/復号に対応することができるが、可変長符号化と可変長復号では回路構成が異なるため、別個に符号化回路と復号回路を設ける必要がある。
また、可変長符号化コードと、その可変長符号化コードの符号長を記憶するテーブルをメモリに実装しているため、そのメモリのビット幅を最長の可変長符号化コードに合わせる必要があり、短い符号長の可変長符号化コードにおいては無駄なメモリ領域が生じる。
上記の可変長符号化復号装置の他に、別個に符号化回路と復号回路を設ける必要をなくし、また、無駄なメモリ領域の発生を解消している可変長符号化復号装置が開発されている(例えば、特許文献2を参照)。
即ち、特許文献2に開示されている可変長符号化復号装置では、下記の要素で構成することにより、符号化時と復号時で共通でない構成要素をアンパック部とパック部のみにして、別個に符号化回路と復号回路を設ける必要を解消している。
・動的再構成可能な可変長符号化/復号テーブル部
・復号時にビットストリームをテーブル部に供給するアンパック部
・符号化時にテーブル部から出力されたビットストリームをメモリ幅にパッキングするパック部
・符号化結果又は復号するビットストリームを格納するビットストリームメモリ
・復号結果又は符号化する係数を格納する係数メモリ
・CPUから出力される制御情報を格納する制御レジスタ
・CPUとのI/Fを行うバスI/F
また、この可変長符号化復号装置では、無駄なメモリ領域の存在を解消するため、動的再構成可能なセルエレメントを用いて可変長符号化/復号テーブル部を構成し、その可変長符号化/復号テーブル部を探索木と解釈して、細かく区切ったテーブルデータを動的再構成可能なセルエレメントに割り当てるようにしている。
なお、動的再構成可能なセルエレメントは、探索木の分岐構造を実現する接続用エレメントと、探索木のノードを実現する機能エレメントから構成されている。
各セルには、探索木を実現するためのコンフィグレーションデータを書き込むレジスタ群(接続情報レジスタ群、ビット選択レジスタ群、比較対象レジスタ群、出力値レジスタ群)が存在している。
特開2001−308715号公報(段落番号[0023]から[0028]、図1) 特開2006−101171号公報(段落番号[0010]から[0013]、図1)
従来の可変長符号化復号装置は以上のように構成されているので、可変長符号化や可変長復号を実施する際に、探索木を実現するためのコンフィグレーションデータを各セルのレジスタ群(接続情報レジスタ群、ビット選択レジスタ群、比較対象レジスタ群、出力値レジスタ群)に書き込む処理が必要であり、可変長符号化や可変長復号の処理の高速化を図ることが困難であるなどの課題があった。
この発明は上記のような課題を解決するためになされたもので、セルのレジスタ群に対するコンフィグレーションデータの書き込み処理を不要にして、可変長符号化や可変長復号の処理の高速化を図ることができるテーブル装置を得ることを目的とする。
また、この発明は、可変長符号化や可変長復号の処理の高速化を図ることができるテーブル装置を実装している可変長符号化装置、可変長復号装置及び可変長符号化復号装置を得ることを目的とする。
この発明に係るテーブル装置は、比較命令信号を受けたとき固定かつ固有な比較対象値と入力データを比較し、その比較対象値と入力データが一致すれば一致信号を出力する複数のセルと、複数のセルの中で一致信号を出力しているセルを示すセル番号を出力するセル番号出力手段と、変換テーブルを構成している探索木のノードの中から、セル番号出力手段から出力されたセル番号に対応するノードを特定するノード特定手段とを設け、セル制御手段がコンフィグレーションメモリからノード特定手段により特定されたノードに割り当てられているデータ変換値を取得し、そのデータ変換値が符号化結果又は復号結果を示すデータであれば、そのデータ変換値を外部に出力し、そのデータ変換値が探索木の分岐コードであれば、比較命令信号を与えるセルを更新するようにしたものである。
このことによって、セルのレジスタ群に対するコンフィグレーションデータの書き込み処理を実施することなく、可変長符号化処理や可変長復号処理を実施することができるようになり、その結果、可変長符号化処理や可変長復号処理の高速化を図ることができる効果がある。
この発明の実施の形態1による可変長符号化復号装置を示す構成図である。 この発明の実施の形態1によるテーブル装置を示す構成図である。 セルグループGR0〜GR4の構成例を示すブロック図である。 可変長復号テーブルを示す説明図である。 可変長復号テーブルを構成する探索木を示す説明図である。 図5のノードn0〜n13が図2のテーブル装置17のセルPEにマッピングされている状態を示す説明図である。 可変長復号の動作例を示す説明図である。 テーブル装置17の可変長復号処理を示す説明図である。 可変長符号化テーブルを示す説明図である。 可変長符号化テーブルを構成する探索木を示す説明図である。 図10のノードn1〜n9が図2のテーブル装置17のセルPEにマッピングされている状態を示す説明図である。 図10のノードn10〜n18が図2のテーブル装置17のセルPEにマッピングされている状態を示す説明図である。 可変長符号化の動作例を示す説明図である。 テーブル装置17の可変長符号化処理を示す説明図である。 テーブル装置17の可変長符号化処理を示す説明図である。 この発明の実施の形態2による可変長符号化装置を示す構成図である。 この発明の実施の形態3による可変長復号装置を示す構成図である。 この発明の実施の形態4による可変長符号化復号装置を示す構成図である。 図18中のテーブル装置の構成例を示すブロック図である。 図19中のセルグループの構成例を示すブロック図である。 可変長復号テーブルの構成例を示す図である。 可変長復号テーブルの比較割り当て例を示す図である。 図22中の各ノードを図19中の各セルにマッピングした場合を説明するための図である。 図18中の可変長符号化復号装置による可変長復号の動作例を説明するための図である。 この発明の実施の形態4の可変長符号化復号装置による可変長復号の動作例を示す図である。 この発明の実施の形態4の可変長符号化復号装置による可変長符号化の動作例を示す図である。
以下、この発明をより詳細に説明するために、この発明を実施するための形態について、添付の図面に従って説明する。
実施の形態1.
図1はこの発明の実施の形態1による可変長符号化復号装置を示す構成図であり、図において、入出力ポート1は可変長符号化を実施する場合、CPU(Central Processing Unit)2の指示の下、可変長符号化対象の画像データである係数データを入力して、その係数データを可変長符号化復号装置5に出力する一方、可変長符号化復号装置5により符号化されたビットストリームを出力し、可変長復号を実施する場合、可変長復号対象のビットストリームを入力して、そのビットストリームを可変長符号化復号装置5に出力する一方、可変長符号化復号装置5により復号された係数データを出力するポートである。
CPU2は各構成部の制御を実施するとともに、動画像の符号化処理や復号処理のうち、可変長符号化や可変長復号以外の処理を行う。
メモリ3はCPU2が処理する命令や、探索木化されている可変長符号化又は可変長復号の変換テーブル(可変長符号化テーブル、可変長復号テーブル)を示すコンフィグレーションデータなどを格納する領域である。
バスライン4は入出力ポート1、CPU2、メモリ3及び可変長符号化復号装置5間のデータ転送に使用する経路である。
バスI/F11はバスライン4に対するインタフェースであり、CPU2の指示の下、例えば、メモリ3から可変長符号化又は可変長復号の変換テーブル(可変長符号化テーブル、可変長復号テーブル)を示すコンフィグレーションデータを取り込み、そのコンフィグレーションデータをテーブル装置17に出力する処理を実施する。なお、バスI/F11は変換テーブル出力手段を構成している。
係数データメモリ12は可変長符号化復号装置5が可変長符号化を実施する場合、テーブル装置17に与える可変長符号化対象の係数データを格納し、可変長符号化復号装置5が可変長復号を実施する場合、テーブル装置17から出力された復号データである係数データ(データ変換値)を格納するメモリである。なお、係数データメモリ12は係数データ格納手段を構成している。
ビットストリームメモリ13は可変長符号化復号装置5が可変長符号化を実施する場合、パック部15によりビット数単位(固定データ長単位)のデータにパッキングされたビットストリームを格納し、可変長符号化復号装置5が可変長復号を実施する場合、テーブル装置17に与える可変長復号対象のビットストリームを格納するメモリである。なお、ビットストリームメモリ13はビットストリーム格納手段を構成している。
アンパック部14はビットストリームメモリ13からビット数単位でビットストリームを読み込み、固定長のビットストリームをテーブル装置17に出力する処理を実施する。なお、アンパック部14はビットストリーム出力手段を構成している。
パック部15はテーブル装置17から出力された符号化データである可変長コードのビットストリーム(データ変換値)をビット数単位のデータにパッキングしてビットストリームメモリ13に格納する処理を実施する。なお、パック部15はパッキング手段を構成している。
制御レジスタ16は外部リセット信号を受けるとリセットされ、CPU2の指示の下、コンフィグレーション、可変長符号化又は可変長復号の実施時にテーブル装置17に与えられる入力データ(係数データ、ビットストリーム)の選択に用いる入力データ選択信号をテーブル装置17に出力するとともに、テーブル装置17が使用する変換テーブル(可変長符号化テーブル、可変長復号テーブル)を指定するテーブル番号と、比較動作の開始時に用いるページ番号と、比較処理を実施するセルグループを指定する初期コードとをテーブル装置17に出力する。
テーブル装置17は可変長符号化処理又は可変長復号処理を実施する装置である。
図2はこの発明の実施の形態1によるテーブル装置17を示す構成図であり、図において、コンフィグレーションメモリ21はバスI/F11から出力されたコンフィグレーションデータを保持するメモリである。
マルチプレクサ(図2では「MUX」と記述)22は制御レジスタ16から出力された入力データ選択信号にしたがって、係数データメモリ12から出力された係数データ又はアンパック部14から出力されたビットストリームを選択してセル23(以下、「セルPE0〜PE29」と称する)に出力する処理を実施する。
セルPE0〜PE29は固有の比較対象値が割り当てられている比較器24を備えており、テーブル制御部27から比較命令信号を受けると、固有の比較対象値とマルチプレクサ22から出力された係数データ又はビットストリームを比較し、その比較対象値と係数データ又はビットストリームが一致すれば、一致信号O00〜O29を出力する処理を実施する。
なお、セルPE0〜PE29は、割り当てられている比較対象値のビット数が等しい同士が同一のセルグループに分けられている。即ち、比較対象値のビット数が1ビットであるセルPE0とセルPE1はセルグループGR0に分けられ、比較対象値のビット数が2ビットであるセルPE2〜セルPE5はセルグループGR1に分けられ、比較対象値のビット数が3ビットであるセルPE6〜セルPE13はセルグループGR2に分けられている。
また、比較対象値のビット数が4ビットであるセルPE14〜セルPE21はセルグループGR3に分けられ、セルPE22〜セルPE29はセルグループGR4に分けられている。
一致セル番号出力部25はセルPE0〜PE29の中で、一致信号O00〜O29を出力しているセルPEを示す一致セル番号をアドレスデコーダ26に出力する処理を実施する。なお、一致セル番号出力部25はセル番号出力手段を構成している。
アドレスデコーダ26はコンフィグレーションメモリ21に保持されているコンフィグレーションデータが示す変換テーブル(可変長符号化テーブル、可変長復号テーブル)のうち、テーブル制御部27から出力されたテーブル番号が示す変換テーブルを構成している探索木のノードの中から、一致セル番号出力部25から出力された一致セル番号に対応するノードを特定し、そのノードに割り当てられているデータ変換値(ビットストリーム又は係数データ、探索木の分岐コード)が格納されているコンフィグレーションメモリ21上のアドレスを生成する処理を実施する。なお、アドレスデコーダ26はノード特定手段を構成している。
テーブル制御部27はコンフィグレーションメモリ21に格納されているデータ変換値のうち、アドレスデコーダ26により生成されたアドレスに格納されているデータ変換値を取得し、そのデータ変換値が可変長コードのビットストリームであれば、そのビットストリームをパック部15に出力し、そのデータ変換値が係数データであれば、そのデータ変換値を係数データメモリ12に出力し、そのデータ変換値が探索木の分岐コードであれば、その分岐コードから次に比較命令信号Rを与えるセルグループGRを示す指定コードを取得して、比較命令信号Rを与えるセルグループGRを更新する。なお、テーブル制御部27はセル制御手段を構成している。
図3はセルグループGR0〜GR4の構成例を示すブロック図である。
セルPE0〜PE29は比較器24を備えており、比較器24は固有の比較対象値(固定値)が割り当てられている。
比較器24は、固有の比較対象値とマルチプレクサ22により選択された入力データを比較し、両者が一致すると一致信号Oを出力する。
各セルPEにおける固有の比較対象値は、セルグループGR0〜GR4毎にビット数が決まっている。例えば、セルグループGR0のセルPE0,PE1の比較対象値は1ビットであり、セルPE0の比較対象値は“0”、セルPE1の比較対象値は“1”である。
セルグループGR1のセルPE2〜PE5の比較対象値は2ビットであり、セルPE2の比較対象値は“00”、セルPE3の比較対象値は“01”、セルPE4の比較対象値は“10”、セルPE5の比較対象値“11”である。
セルグループGR2のセルPE6〜PE13の比較対象値は3ビットであり、セルPE6の比較対象値は“000”、セルPE7の比較対象値は“001”、セルPE8の比較対象値は“010”、セルPE9の比較対象値は“011”、セルPE10の比較対象値は“100”、セルPE11の比較対象値は“101”、セルPE12の比較対象値は“110”、セルPE13の比較対象値は“111”である。
セルグループGR3のセルPE14〜PE21の比較対象値は4ビットであり、セルPE14の比較対象値は“0000”、セルPE15の比較対象値は“0001”、セルPE16の比較対象値は“0010”、セルPE17の比較対象値は“0011”、セルPE18の比較対象値は“0100”、セルPE19の比較対象値は“0101”、セルPE20の比較対象値は“0110”、セルPE21の比較対象値は“0111”である。
セルグループGR4のセルPE22〜PE29の比較対象値は4ビットであり、セルPE22の比較対象値は“1000”、セルPE23の比較対象値は“1001”、セルPE24の比較対象値は“1010”、セルPE25の比較対象値は“1011”、セルPE26の比較対象値は“1100”、セルPE27の比較対象値は“1101”、セルPE28の比較対象値は“1110”、セルPE29の比較対象値は“1111”である。
マルチプレクサ22により選択された入力データのうち、先頭ビットから数えて、セルグループGR0〜GR4に属するセルPEの比較対象値のビット数と同等のビット数分だけ、セルグループGR0〜GR4に入力される。
ここで、比較対象値は、可変長復号時においては、可変長復号テーブルで参照される任意のビット長に分離されたビットストリームを表し、可変長符号化時においては、可変長符号化テーブルで参照される量子化後の直行変換係数を表すものである。この直交変換係数は、例えば、MPEG方式の場合、DCT係数が相当する。
次に動作について説明する。
最初に、コンフィグレーションについて説明する。
コンフィグレーションとは、可変長符号化/復号方式毎に対応するデータ変換内容をテーブル装置17のコンフィグレーションメモリ21に設定して可変長符号化テーブル又は可変長復号テーブルを形成することを意味する。
コンフィグレーションデータは、このデータ変換内容を含むデータであり、具体的には、可変長符号化結果を示すデータ変換値であるビットストリーム、可変長復号結果を示すデータ変換値である係数データや、探索木の分岐コード(分岐コードはセルPEを再構成するデータであり、分岐コードには、次に比較命令信号Rを与えるセルグループを示す指定コードや、次に使用するページ番号(図5に示すようなテーブルをあるビット数以下に区切り、当該テーブルを探索木と解釈したときに、同時に比較可能な部分木の集合単位が「ページ」であり、「ページ番号」は比較対象の部分木が所属するページを指定する情報である)などを含んでいる。
可変長符号化復号装置5は、例えば、電源投入直後において、外部から外部リセット信号、あるいは、制御レジスタ16の設定によるソフトウェアリセット信号を受けると、リセットされる。
リセット後、可変長符号化復号装置5のアンパック部14、パック部15及びテーブル装置17が初期状態になり、CPU2から起動指示があるまで初期状態を保持する。
CPU2は、起動後に初期化動作として、バスI/F11を制御することにより、メモリ3に格納されている可変長符号化又は可変長復号に対応するコンフィグレーションデータをテーブル装置17のコンフィグレーションメモリ21に送信する。
コンフィグレーションデータがコンフィグレーションメモリ21に格納されることにより、テーブル装置17が可変長符号化テーブル又は可変長復号テーブルとしての動作が可能な状態に設定されたことになる。
ここで、図4の可変長復号テーブルを示すコンフィグレーションデータのマッピング方法について説明する。
図2のテーブル装置17は、一度に4ビットまで比較を行うことができるテーブル装置であり、4ビットより大きいビット数を要する可変長符号化テーブル又は可変長復号テーブルを構成する場合、後述するように、ページ番号を動的に変更することによってテーブル全体を実現する。ただし、アドレスデコーダ26に入力されるページ番号のビット数の増加を抑えるため、ページ番号の最大値をなるべく小さくしている。即ち、探索木のルートの異なる部分木を出来るだけ同一のページ内に詰めるようにマッピングする。
テーブル装置17を構成するセルPE0〜PE29は、割り当てられている固有の比較対象値のビット数が1ビット、2ビット、3ビット又は4ビットであるため、図4の可変長復号テーブルの各可変長符号を1〜4ビットに区切り、図5に示すような探索木を作成する。
比較ポイントである探索木のノードn0〜n13における比較対象ビットパターン(例えば、ノードn3の場合、“011”)と入力ビット列(マルチプレクサ22により選択された入力データのビット列)を比較し、その比較対象ビットパターンと入力ビット列が一致する場合、そのノードに接続されている子ノード(例えば、ノードn3の子ノードは、ノードn5〜n10)において、続きの入力ビット列を比較する。
図6は図5のノードn0〜n13が図2のテーブル装置17のセルPEにマッピングされている状態を示す説明図である。
図6の例では、下記のように、ノードn0〜n13がテーブル装置17のセルPEにマッピングされている。
ノードn0 → セルPE1
ノードn5 → セルPE2
ノードn6 → セルPE3
ノードn7 → セルPE4
ノードn4 → セルPE6
ノードn1 → セルPE7
ノードn2 → セルPE8
ノードn3 → セルPE9
ノードn8 → セルPE26
ノードn9 → セルPE27
ノードn10 → セルPE28
なお、n11〜n13は、比較対象ビットパターンがノードn5〜n7と同じであるため、別ページのセルPE2〜PE4にマッピングされる。
ノードn0〜n4で構成される部分木と、ノードn5〜n10で構成される部分木とは、ルートが異なる部分木同士であるが、割り当てられている比較対象値がいずれも重なっていないため、同一のページにマッピングすることができている。
1回目の比較処理では、テーブル制御部27が比較命令信号R0,R2をセルグループGR0,GR2に出力し(比較命令信号R0,R2の出力は、制御レジスタ16から出力される初期コードに従うものである)、セルグループGR0,GR2のセルPE0,PE1,PE6〜PE13が固有の比較対象値と入力ビット列の比較を行う。
例えば、セルPE6の比較処理が一致する場合、セルPE6にマッピングされているノードn4にはノードn11〜n13が接続されているため、一致が完了していない。
ノードn11〜n13で構成される部分木は、上述したように、別ページのセルPE2〜PE4にマッピングされているため、その別ページを示すページ番号をアドレスデコーダ26に出力するとともに、比較命令信号R1をセルPE2〜PE4が属するセルグループGR1に出力することにより、テーブルの再構成を行うようにする。
また、セルPE9の比較処理が一致する場合も一致が完了していないが、セルPE9にマッピングされているノードn3に接続されているノードn5〜n10は、ノードn3と同一のページにマッピングされているため、ページ番号の切り替えを行わない。
この場合、比較命令信号R1,R4をノードn5〜n10がマッピングされているセルPE2〜PE4,PE26〜PE28が属するセルグループGR1,GR4に出力することにより、テーブルの再構成を行うようにする。
上記のようなテーブルの再構成が完了すると、2回目の比較処理を開始する。このように異なる部分木を同一のページ内に詰めることにより、異なる部分木を別ページにマッピングするよりも、ページ番号の最大値を小さくすることができ、アドレスデコーダ26に出力するページ番号のビット数を小さくすることができる。
次に、可変長復号の動作例を具体的に説明する。図7は可変長復号の動作例を示す説明図である。
CPU2は、上述したように、バスI/F11を制御することにより、メモリ3に格納されている可変長復号に対応するコンフィグレーションデータをテーブル装置17のコンフィグレーションメモリ21に送信する。
コンフィグレーションデータがコンフィグレーションメモリ21に格納されることにより、テーブル装置17が可変長復号テーブルとしての動作が可能な状態に設定されたことになる。
CPU2は、入出力ポート1から可変長復号対象のビットストリームを入力し、バスライン4及びバスI/F11を介して、1マクロブロック分のブロックデータに相当するビットストリームをビットストリームメモリ13に格納する(矢印D1)。
CPU2は、ビットストリームをビットストリームメモリ13に格納すると、ビットストリームの復号開始を指示する復号開始信号を制御レジスタ16内の復号開始指示レジスタに書き込み、ビットストリームの選択を指示する入力データ選択信号をテーブル装置17のマルチプレクサ22に出力する。
アンパック部14は、CPU2がビットストリームをビットストリームメモリ13に格納すると、ビットストリームメモリ13から特定のビット数単位でビットストリームを読み込み(矢印D2)、CPU2又はテーブル装置17から示されるシフト値にしたがって、そのビットストリームをシフトすることにより、常に有効な特定のビット数分のビットストリームをテーブル装置17のマルチプレクサ22に出力する(矢印D3)。
テーブル装置17は、制御レジスタ16内の復号開始指示レジスタに復号開始信号が書き込まれると、アンパック部14から特定のビット数分のビットストリームを読み込み、そのビットストリームにしたがって可変長復号を実施し、可変長復号結果である固定長コードの係数データを係数データメモリ12に出力すると同時に(矢印D4)、テーブルの使用回数をクリアしたら、割り込み信号でCPU2に通知する。
CPU2は、テーブル装置17から割り込み信号を受けると、係数データメモリ12からバスI/F11を介して、可変長復号結果である係数データの読み出しを行う(矢印D5)。
以下、テーブル装置17における可変長復号処理を具体的に説明する。
ここでは、説明の便宜上、図4及び図5の可変長復号テーブルを示すコンフィグレーションデータがコンフィグレーションメモリ21に格納され、マルチプレクサ22に入力される特定のビット数分のビットストリームが“0011”であるとする。図8はテーブル装置17の可変長復号処理を示す説明図である。
テーブル装置17のマルチプレクサ22は、CPU2の指示の下、制御レジスタ16から出力された入力データ選択信号にしたがって、アンパック部14から出力されたビットストリーム“0011”を選択し、そのビットストリーム“0011”をセルPE0〜PE29に出力する。
セルPE0〜PE29は、マルチプレクサ22から出力されたビットストリーム“0011”のうち、そのビットストリーム“0011”の先頭ビットから数えて、自セルの比較対象値のビット数と同等のビット数分だけ入力する。
即ち、比較対象値が1ビットであるセルPE0,PE1は“0”を入力し、比較対象値が2ビットであるセルPE2〜PE5は“00”を入力し、比較対象値が3ビットであるセルPE6〜PE13は“001”を入力し、比較対象値が4ビットであるセルPE14〜PE29は“0011”を入力する。
テーブル制御部27は、制御レジスタ16内の復号開始指示レジスタに復号開始信号が書き込まれると、制御レジスタ16から図4及び図5の可変長復号テーブルを指定するテーブル番号と、比較動作の開始時に用いるページ番号(通常、探索木のルートノードを含む部分木がマッピングされているページの番号)と、比較処理を実施するセルグループGR0,GR2を指定する初期コードとを取得する。
テーブル制御部27は、図4及び図5の可変長復号テーブルを指定するテーブル番号と、比較動作の開始時に用いるページ番号とをアドレスデコーダ26に出力し、比較命令信号R0,R2をセルグループGR0,GR2に出力する。
セルグループGR0,GR2に属するセルPE0,PE1,PE6〜PE13は、テーブル制御部27から比較命令信号R0,R2を受けると、マルチプレクサ22から入力したビット列と固有の比較対象値を比較する。
即ち、セルPE0,PE1,PE6〜PE13は、下記の比較処理を実施する。
比較対象値 入力ビット列 比較結果
セルPE0 0 0 一致
セルPE1 1 0 不一致
セルPE6 000 001 不一致
セルPE7 001 001 一致
セルPE8 010 001 不一致
セルPE9 011 001 不一致
セルPE10 100 001 不一致
セルPE11 101 001 不一致
セルPE12 110 001 不一致
セルPE13 111 001 不一致
この場合、セルPE0とセルPE7の比較処理が一致するため、セルPE0から一致信号O00が出力され、セルPE7から一致信号O07が出力される。
一致セル番号出力部25は、セルPE0〜PE29のいずれかから一致信号O00〜O29を受けると、比較処理が一致したセルPEが存在する旨を示す一致信号をアドレスデコーダ26に出力する他に、セルPE0〜PE29の中で一致信号O00〜O29を出力しているセルPEを示す一致セル番号をアドレスデコーダ26に出力する。
ただし、複数のセルPEから同時に一致信号Oを受けると、例えば、セルPE0〜PE29における固有の比較対象値のビット数が小さいセルから順番に小さいセル番号が割り当てられている場合には、より大きいセル番号を優先して出力する。
したがって、上記のように、セルPE0,PE7から同時に一致信号O00,O07を受けると、より大きいセル番号が割り当てられているセルPE7を示す一致セル番号をアドレスデコーダ26に出力する。
アドレスデコーダ26は、一致セル番号出力部25から一致信号と一致セル番号を受けると、テーブル制御部27から出力されたテーブル番号が指定する変換テーブル(図4及び図5の可変長復号テーブル)を構成している探索木の部分木であって、テーブル制御部27から出力されたページ番号が示すページにマッピングされている部分木のノードの中から、一致セル番号に対応するノード(セルPE7にマッピングされているノードn1)を特定する。
アドレスデコーダ26は、一致セル番号に対応するノードn1を特定すると、そのノードn1に割り当てられているデータ変換値(係数データ又は探索木の分岐コード)が格納されているコンフィグレーションメモリ21上のアドレスを生成する。
テーブル制御部27は、コンフィグレーションメモリ21に格納されているデータ変換値のうち、アドレスデコーダ26により生成されたアドレスに格納されているデータ変換値を取得する。
テーブル制御部27は、そのデータ変換値が係数データであれば、そのデータ変換値を係数データメモリ12に出力し、そのデータ変換値が探索木の分岐コードであれば、その分岐コードから次に比較命令信号Rを与えるセルグループGRを示す指定コードと、次に使用するページ番号とを取得して、比較命令信号Rを与えるセルグループGRを更新する。
ノードn1は、図5に示すように、終端ノードであるため、ノードn1には固定長コードの係数データ“3”であるデータ変換値(直交変換係数)が割り当てられており、テーブル制御部27が係数データ“3”を係数データメモリ12に出力する。
ここまでは、マルチプレクサ22に入力される特定のビット数分のビットストリームが“0011”であるものについて示したが、例えば、特定のビット数分のビットストリームが“0001”である場合、比較処理が一致するセルPEは、セルPE0とセルPE6である。
この場合、一致セル番号出力部25は、セルPE0,PE6から同時に一致信号O00,O06を受け、より大きいセル番号が割り当てられているセルPE6を示す一致セル番号をアドレスデコーダ26に出力する。
アドレスデコーダ26は、一致セル番号出力部25からセルPE6を示す一致セル番号を受けると、テーブル制御部27から出力されたテーブル番号が指定する変換テーブル(図4及び図5の可変長復号テーブル)を構成している探索木の部分木であって、テーブル制御部27から出力されたページ番号が示すページにマッピングされている部分木のノードの中から、その一致セル番号に対応するノード(セルPE6にマッピングされているノードn4)を特定する。
アドレスデコーダ26は、一致セル番号に対応するノードn4を特定すると、そのノードn4に割り当てられているデータ変換値(係数データ又は探索木の分岐コード)が格納されているコンフィグレーションメモリ21上のアドレスを生成する。
テーブル制御部27は、コンフィグレーションメモリ21に格納されているデータ変換値のうち、アドレスデコーダ26により生成されたアドレスに格納されているデータ変換値を取得する。
テーブル制御部27は、そのデータ変換値が係数データであれば、そのデータ変換値を係数データメモリ12に出力し、そのデータ変換値が探索木の分岐コードであれば、その分岐コードから次に比較命令信号Rを与えるセルグループを示す指定コードと、次に使用するページ番号とを取得して、比較命令信号Rを与えるセルグループGRを更新する。
ノードn4は、図5に示すように、分岐ノードであるため、ノードn4には探索木の分岐コードが割り当てられており、テーブル制御部27が当該分岐コードから次に比較命令信号Rを与えるセルグループGRを示す指定コードを取得して、比較命令信号Rを与えるセルグループGRを更新する。
即ち、テーブル制御部27は、ノードn4に接続されているノードn11〜n13で構成される部分木は、上述したように、別ページのセルPE2〜PE4にマッピングされているため、その別ページを示すページ番号をアドレスデコーダ26に出力する。
また、テーブル制御部27は、比較命令信号R1をセルPE2〜PE4が属するセルグループGR1に出力することにより、可変長復号テーブルの再構成を行う。
これにより、セルグループGR1に属するセルPE2〜PE5が比較命令信号R1を受けると、分岐点以下(“000”より下位のビット)の入力ビット列と固有の比較対象値を比較することになる。
即ち、セルグループGR1に属するセルPE2〜PE5が、マルチプレクサ22から分岐点以下(“000”より下位のビット)の入力ビット列を入力して、2回目の比較処理を実施する。比較処理自体は1回目の比較処理と同様であるため詳細な説明は省略する。
ここまでは、マルチプレクサ22に入力される特定のビット数分のビットストリームが“0011”と“0001”であるものについて示したが、例えば、特定のビット数分のビットストリームが“0110”である場合、比較処理が一致するセルPEは、セルPE0とセルPE9である。
この場合、一致セル番号出力部25は、セルPE0,PE9から同時に一致信号O00,O09を受け、より大きいセル番号が割り当てられているセルPE9を示す一致セル番号をアドレスデコーダ26に出力する。
アドレスデコーダ26は、一致セル番号出力部25からセルPE9を示す一致セル番号を受けると、テーブル制御部27から出力されたテーブル番号が指定する変換テーブル(図4及び図5の可変長復号テーブル)を構成している探索木の部分木であって、テーブル制御部27から出力されたページ番号が示すページにマッピングされている部分木のノードの中から、その一致セル番号に対応するノード(セルPE9にマッピングされているノードn3)を特定する。
アドレスデコーダ26は、一致セル番号に対応するノードn3を特定すると、そのノードn3に割り当てられているデータ変換値(係数データ又は探索木の分岐コード)が格納されているコンフィグレーションメモリ21上のアドレスを生成する。
テーブル制御部27は、コンフィグレーションメモリ21に格納されているデータ変換値のうち、アドレスデコーダ26により生成されたアドレスに格納されているデータ変換値を取得する。
テーブル制御部27は、そのデータ変換値が係数データであれば、そのデータ変換値を係数データメモリ12に出力し、そのデータ変換値が探索木の分岐コードであれば、その分岐コードから次に比較命令信号Rを与えるセルグループを示す指定コードと、次に使用するページ番号とを取得して、比較命令信号Rを与えるセルグループGRを更新する。
ノードn3は、図5に示すように、分岐ノードであるため、ノードn3には探索木の分岐コードが割り当てられており、テーブル制御部27が当該分岐コードから次に比較命令信号Rを与えるセルグループGRを示す指定コードを取得して、比較命令信号Rを与えるセルグループGRを更新する。
即ち、テーブル制御部27は、ノードn3に接続されているノードn5〜n10で構成される部分木が、ノードn3と同一のページにマッピングされているため、ページ番号の切り替えを行わないが、比較命令信号R1,R4をノードn5〜n10がマッピングされているセルPE2〜PE4,PE26〜PE28が属するセルグループGR1,GR4に出力することにより、テーブルの再構成を行う。
これにより、セルグループGR1,GR4に属するセルPE2〜PE4,PE26〜PE28が比較命令信号R1,R4を受けると、分岐点以下(“011”より下位のビット)の入力ビット列と固有の比較対象値を比較することになる。
即ち、セルグループGR1,GR4に属するセルPE2〜PE4,PE26〜PE28が、マルチプレクサ22から分岐点以下(“000”より下位のビット)の入力ビット列を入力して、2回目の比較処理を実施する。
ここまでは、可変長復号について説明したが、可変長符号化も同じ回路を用いて実施することができる。
可変長符号化では、テーブル装置17の入力データが係数データメモリ12から読み込まれる係数データであり、固定長のデータとなる。
また、テーブル装置17からパック部15に出力されるデータはビットストリームであり、可変長のデータとなる。
図9は可変長符号化テーブルを示す説明図であり、図9の可変長符号化テーブルは、H.264で使用されるTotalCoeff/TrailingOnesテーブルの一部を抜き出したものである。
可変長符号化は、複数の値の組み合わせを可変長符号化処理する場合が多く、H.264のTotalCoeff/TrailingOnesやMPEG−2、MPEG−4のRun/Levelがこれにあたる。
「TotalCoeff」は0〜16の値を取るため5ビットのデータであり、「TrailingOnes」は0〜3の値を取るため2ビットのデータであり、上位5ビットに「TotalCoeff」、下位2ビットに「TrailingOnes」を配置した7ビットの固定長データとして可変長符号化処理を行う。
上述した可変長復号を実施する場合と同様に、固定長データを4ビット以下のデータに区切ることにより探索木を生成し(図10を参照)、1〜4ビットの比較を行うセルPE0〜PE29にマッピングする(図11及び図12を参照)。
図10の探索木において、最初に比較を行うノードn1〜n4のいずれで比較が一致した場合も、続きの比較を行う部分木を全て4ビットのノードで構成している。
この場合は、同じページに複数の部分木をマッピングすることができないため、図11及び図12のように異なるページにマッピングする。
以下、可変長符号化の動作例を具体的に説明する。図13は可変長符号化の動作例を示す説明図である。
CPU2は、上述したように、バスI/F11を制御することにより、メモリ3に格納されている可変長符号化に対応するコンフィグレーションデータをテーブル装置17のコンフィグレーションメモリ21に送信する。
コンフィグレーションデータがコンフィグレーションメモリ21に格納されることにより、テーブル装置17が可変長符号化テーブルとしての動作が可能な状態に設定されたことになる。
CPU2は、入出力ポート1から可変長符号化対象の係数データを入力し、バスライン4及びバスI/F11を介して、1マクロブロック分のブロックデータに相当する係数データを係数データメモリ12に格納する(矢印E1)。
CPU2は、係数データを係数データメモリ12に格納すると、係数データの符号化開始を指示する符号化開始信号を制御レジスタ16内の符号化開始指示レジスタに書き込み、係数データの選択を指示する入力データ選択信号をテーブル装置17のマルチプレクサ22に出力する。
テーブル装置17は、制御レジスタ16内の符号化開始指示レジスタに符号化開始信号が書き込まれると、係数データメモリ12から特定のビット数単位で係数データを読み込み(矢印E2)、その係数データにしたがって可変長符号化を実施し、可変長符号化結果である可変長コードのビットストリームをパック部15に出力する(矢印E3)。
パック部15は、テーブル装置17からビットストリームを受けると、CPUバス2のデータ幅などのビット数単位で、そのビットストリームをパッキングしてビットストリームメモリ13に格納すると同時に(矢印E4)、1マクロブロックの符号化が完了した旨を割り込み信号でCPU2に通知する。
CPU2は、パック部15から割り込み信号を受けると、ビットストリームメモリ13からバスI/F11を介して、可変長符号化結果であるビットストリームの読み出しを行う(矢印E5)。
以下、テーブル装置17における可変長符号化処理を具体的に説明する。
ここでは、説明の便宜上、図9及び図10の可変長符号化テーブルを示すコンフィグレーションデータがコンフィグレーションメモリ21に格納され、マルチプレクサ22に入力される特定のビット数分のビットストリームが“0010”であるとする。図14はテーブル装置17の可変長符号化処理を示す説明図である。
テーブル装置17のマルチプレクサ22は、CPU2の指示の下、制御レジスタ16から出力された入力データ選択信号にしたがって、係数データメモリ12に格納されている係数データ“0010”を選択し、その係数データ“0010”をセルPE0〜PE29に出力する。
セルPE0〜PE29は、マルチプレクサ22から出力された係数データ“0010”のうち、その係数データ“0010”の先頭ビットから数えて、自セルの比較対象値のビット数と同等のビット数分だけ入力する。
即ち、比較対象値が1ビットであるセルPE0,PE1は“0”を入力し、比較対象値が2ビットであるセルPE2〜PE5は“00”を入力し、比較対象値が3ビットであるセルPE6〜PE13は“001”を入力し、比較対象値が4ビットであるセルPE14〜PE29は“0010”を入力する。
テーブル制御部27は、制御レジスタ16内の符号化開始指示レジスタに符号化開始信号が書き込まれると、制御レジスタ16から図9及び図10の可変長符号化テーブルを指定するテーブル番号と、比較動作の開始時に用いるページ番号(通常、探索木のルートノードを含む部分木がマッピングされているページの番号)と、比較処理を実施するセルグループGR2を指定する初期コードとを取得する。
テーブル制御部27は、図9及び図10の可変長符号化テーブルを指定するテーブル番号と、比較動作の開始時に用いるページ番号とをアドレスデコーダ26に出力し、比較命令信号R2をセルグループGR2に出力する。
セルグループGR2に属するセルPE6〜PE13は、テーブル制御部27から比較命令信号R2を受けると、マルチプレクサ22から入力したビット列と固有の比較対象値を比較する。
即ち、セルPE6〜PE13は、下記の比較処理を実施する。
比較対象値 入力ビット列 比較結果
セルPE6 000 001 不一致
セルPE7 001 001 一致
セルPE8 010 001 不一致
セルPE9 011 001 不一致
セルPE10 100 001 不一致
セルPE11 101 001 不一致
セルPE12 110 001 不一致
セルPE13 111 001 不一致
この場合、セルPE7の比較処理が一致するため、セルPE7から一致信号O07が一致セル番号出力部25に出力される。
一致セル番号出力部25は、セルPE7から一致信号O07を受けると、比較処理が一致したセルPEが存在する旨を示す一致信号をアドレスデコーダ26に出力する他に、比較処理が一致しているセルPEがセルPE7である旨を示す一致セル番号をアドレスデコーダ26に出力する。
ここでは、比較処理が一致しているセルPEがセルPE7だけであるが、複数のセルPEで比較処理が一致して、複数のセルPEから同時に一致信号Oを受けると、例えば、セルPE0〜PE29における固有の比較対象値のビット数が小さいセルから順番に小さいセル番号が割り当てられている場合には、より大きいセル番号を優先して出力する。
例えば、セルPE0,PE7から同時に一致信号O00,O07を受けると、より大きいセル番号が割り当てられているセルPE7を示す一致セル番号をアドレスデコーダ26に出力する。
アドレスデコーダ26は、一致セル番号出力部25から一致信号と一致セル番号を受けると、テーブル制御部27から出力されたテーブル番号が指定する変換テーブル(図9及び図10の可変長符号化テーブル)を構成している探索木の部分木であって、テーブル制御部27から出力されたページ番号が示すページにマッピングされている部分木のノードの中から、一致セル番号に対応するノード(セルPE7にマッピングされているノードn2)を特定する。
アドレスデコーダ26は、一致セル番号に対応するノードn2を特定すると、そのノードn2に割り当てられているデータ変換値(可変長コードのビットストリーム又は探索木の分岐コード)が格納されているコンフィグレーションメモリ21上のアドレスを生成する。
テーブル制御部27は、コンフィグレーションメモリ21に格納されているデータ変換値のうち、アドレスデコーダ26により生成されたアドレスに格納されているデータ変換値を取得する。
テーブル制御部27は、そのデータ変換値が可変長コードのビットストリームであれば、そのデータ変換値をパック部5に出力し、そのデータ変換値が探索木の分岐コードであれば、その分岐コードから次に比較命令信号Rを与えるセルグループGRを示す指定コードを取得して、比較命令信号Rを与えるセルグループGRを更新する。
ノードn2は、図10に示すように、分岐ノードであるため、ノードn2には探索木の分岐コードが割り当てられており、テーブル制御部27が当該分岐コードから次に比較命令信号Rを与えるセルグループGRを示す指定コードと、次に使用するページ番号とを取得して、比較命令信号Rを与えるセルグループGRを更新する。
即ち、テーブル制御部27は、ノードn2に接続されているノードn10〜n18で構成される部分木は、図12に示すように、別ページのセルPE14〜PE16,PE18〜PE20,PE22,PE23,PE26にマッピングされているため、その別ページを示すページ番号をアドレスデコーダ26に出力する。
また、テーブル制御部27は、比較命令信号R3,R4をセルPE14〜PE16,PE18〜PE20,PE22,PE23,PE26が属するセルグループGR3,GR4に出力することにより、可変長復号テーブルの再構成を行う(図15を参照)。
これにより、セルグループGR3,GR4に属するセルPE14〜PE29が比較命令信号R3,R4を受けると、分岐点以下(“001”より下位のビット)の入力ビット列と固有の比較対象値を比較することになる。
即ち、セルグループGR3,GR4に属するセルPE14〜PE29は、テーブル制御部27から比較命令信号R3,R4を受け、マルチプレクサ22から分岐点以下(“001”より下位のビット)の入力ビット列として、例えば、“0000”を入力すると、2回目の比較処理を実施する。
この場合、セルPE14の比較処理が一致し、セルPE14から一致信号O14が一致セル番号出力部25に出力される。
一致セル番号出力部25は、セルPE14から一致信号O14を受けると、比較処理が一致したセルPEが存在する旨を示す一致信号をアドレスデコーダ26に出力する他に、比較処理が一致しているセルPEがセルPE14である旨を示す一致セル番号をアドレスデコーダ26に出力する。
アドレスデコーダ26は、一致セル番号出力部25からセルPE14を示す一致セル番号を受けると、テーブル制御部27から出力されたテーブル番号が指定する変換テーブル(図9及び図10の可変長符号化テーブル)を構成している探索木の部分木であって、テーブル制御部27から出力されたページ番号が示すページにマッピングされている部分木のノードの中から、その一致セル番号に対応するノード(セルPE14にマッピングされているノードn10)を特定する。
アドレスデコーダ26は、一致セル番号に対応するノードn10を特定すると、そのノードn10に割り当てられているデータ変換値(可変長コードのビットストリーム又は探索木の分岐コード)が格納されているコンフィグレーションメモリ21上のアドレスを生成する。
テーブル制御部27は、コンフィグレーションメモリ21に格納されているデータ変換値のうち、アドレスデコーダ26により生成されたアドレスに格納されているデータ変換値を取得する。
テーブル制御部27は、そのデータ変換値が可変長コードのビットストリームであれば、そのデータ変換値をパック部15に出力し、そのデータ変換値が探索木の分岐コードであれば、その分岐コードから次に比較命令信号Rを与えるセルグループGRを示す指定コードと、次に使用するページ番号とを取得して、比較命令信号Rを与えるセルグループGRを更新する。
ノードn10は、図10に示すように、終端ノードであるため、ノードn10には可変長コードのビットストリーム“0000000111”であるデータ変換値が割り当てられており、テーブル制御部27がビットストリーム“0000000111”をパック部15に出力する。
以上で明らかなように、この実施の形態1によれば、比較命令信号を受けたとき固有の比較対象値と入力データを比較し、その比較対象値と入力データが一致すれば一致信号を出力するセルPE0〜PE29と、セルPE0〜PE29の中で一致信号を出力しているセルPEを示す一致セル番号を出力する一致セル番号出力部25と、変換テーブルを構成している探索木のノードの中から、一致セル番号出力部25から出力された一致セル番号に対応するノードを特定するアドレスデコーダ26とを設け、テーブル制御部27がコンフィグレーションメモリ21からアドレスデコーダ26により特定されたノードに割り当てられているデータ変換値を取得し、そのデータ変換値が符号化結果又は復号結果を示すデータであれば、そのデータ変換値を外部に出力し、そのデータ変換値が探索木の分岐コードであれば、比較命令信号を与えるセルPEを更新するように構成したので、セルPEのレジスタ群に対するコンフィグレーションデータの書き込み処理を実施することなく、可変長符号化処理や可変長復号処理を実施することができるようになり、その結果、可変長符号化処理や可変長復号処理の高速化を図ることができる効果を奏する。
即ち、この実施の形態1によれば、国際標準に準拠している可変長符号化方式や可変長復号方式に対応しているコンフィグレーションデータを設定することができるため、様々な方式の動的再構成可能なテーブルを構成することができる。
また、このテーブル装置17を実装している可変長符号化復号装置は、1つの回路で可変長符号化処理と可変長復号処理を実施することができるため、装置の小型化や低消費電力化を実現することができる。
また、現在使用している1つのセル集合体で比較できるビット数が、比較すべき最大ビット数を満足していなくても、セルを再構成することで、最大ビット数の比較が可能となる。テーブルのコンフィグレーションデータをコンフィグレーションメモリ21に保持することにより、規模の大きなテーブルに対しても比較動作の最中にコンフィグレーションデータを再度CPU2から書き込み直す必要がなく、コンフィグレーションにかかるサイクル数を大幅に短縮することができる。
実施の形態2.
上記実施の形態1では、テーブル装置17を実装している可変長符号化復号装置について示したが、図16に示すように、テーブル装置17を用いて、可変長符号化処理を実施する可変長符号化装置を構成するようにしてもよい。
この場合、図1のアンパック部14が不要になる。
実施の形態3.
上記実施の形態1では、テーブル装置17を実装している可変長符号化復号装置について示したが、図17に示すように、テーブル装置17を用いて、可変長復号処理を実施する可変長復号装置を構成するようにしてもよい。
この場合、図1のパック部15が不要になる。
実施の形態4.
図18はこの発明の実施の形態4による可変長符号化復号装置成を示す構成図である。
入出力ポート1は、可変長符号化時には画像データを取り込み、かつ可変長符号化復号装置5で符号化したビットストリームを出力し、一方、可変長復号時にはビットストリームを取り込み、かつ可変長符号化復号装置5で復号した画像データを出力するためのポートである。
CPU2は、各部の制御及び動画像の符号化処理又は復号処理のうち可変長符号化又は可変長復号以外の処理を行う。メモリ3は、CPU2が処理する命令領域及びコンフィグレーションデータ等を格納する領域を持つ。バスライン4は、入出力ポート1、CPU2、メモリ3及び可変長符号化復号装置5のデータ転送に使用する経路である。
可変長符号化復号装置5は、バスI/F11、係数データメモリ12、ビットストリームメモリ13、アンパック部14、パック部15、制御レジスタ16及びテーブル装置17を含んで構成されている。ここで、係数データメモリ12は、符号化される係数データあるいは復号された係数データを格納する手段である。バスI/F11は、CPU2と、可変長符号化復号装置5の各部とのデータ転送に使用する経路である。ビットストリームメモリ13は、復号対象のビットストリーム又は符号化結果のビットストリームを格納する手段である。
アンパック部14は、復号時にビットストリームメモリ13から、CPUバスのデータ幅などのビット数単位で読み込んだ固定長のビットストリームを、テーブル装置17による復号で消費したビット数分だけシフトしてテーブル装置17の入力データとして出力する手段である。パック部15は、符号化時にテーブル装置17の符号化された出力データとして得られた可変長コードのビットストリームをCPUバスのデータ幅などのビット数単位(固定長データ)にパッキングしてビットストリームメモリ13に格納する手段である。
制御レジスタ16は、外部リセット信号によりリセットされ、CPU2からの指示により、コンフィグレーション、符号化又は復号時にテーブル装置17への入力データを選択するための入力データ選択信号112や、テーブル装置17で比較動作の開始時に用いる後述する出力値レジスタ群32(図20を参照)のレジスタの選択や複数のセルグループ構成の場合の比較動作を開始するセルグループを指定する初期コードを設定する手段である。
信号線101は、可変長符号化及び復号の開始直前に、バスI/F11を介してCPU2からテーブル装置17に設定するコンフィグレーションデータと、コンフィグレーションデータを書き込むテーブル装置17内のレジスタを指定するレジスタ指定アドレス信号とを転送するための信号線である。信号線102は、バスライン4及びバスI/F11を介してCPU2から制御レジスタ16へ情報の書き込み及び読み出しを行うための信号線である。信号線103は、可変長符号化復号装置5を構成する各部に接続し、各部の動作モードを設定したり、各部から制御レジスタ16に対して書き込み及び読み出しを行うための信号線である。
信号線104は、バスライン4及びバスI/F11を介してCPU2からビットストリームメモリ13に対してビットストリームデータの書き込み及び読み出しを行うための信号線である。信号線105は、復号時にビットストリームメモリ13からアンパック部14へビットストリームデータを転送するための信号線である。信号線106は、復号時にアンパック部14からテーブル装置17へのビットストリームデータの転送及びテーブル装置17からアンパック部14へシフト値の送信を行うための信号線である。信号線107は、符号化時にテーブル装置17からパック部15への符号化データの転送を行うための信号線である。
信号線108は、符号化時にパック部15からビットストリームメモリ13へビットストリームデータを転送するための信号線である。信号線109は、符号化時に係数データメモリ12からテーブル装置17への符号化するデータを転送したり、復号時にテーブル装置17から係数データメモリ12への係数データあるいは復号データの転送を行うための信号線である。信号線110は、符号化時にCPU2から係数データメモリ12への係数データあるいは符号化するデータの書き込みを行ったり、復号時に係数データメモリ12から係数データあるいは復号データを読み出すための信号線である。信号線111は、可変長符号化復号装置5をリセットするための外部から制御レジスタ16に与えられる外部リセット信号の供給線である。
図19は、図18中のテーブル装置の構成例を示すブロック図である。図19において、テーブル装置17は、複数の動的再構成可能なセル(以下、セルと称する)PE0〜PE29、マルチプレクサ(以下、MUXと称する)30、論理和回路36、テーブル制御部37を備えている。セルPE0〜PE29は、セル毎に固有の比較対象値119のビット長毎にグループ分けされる。
例えば、比較対象値119のビット長が1ビットのセルPE0,PE1は、セルグループGR0に属し、比較対象値119のビット長が2ビットのセルPE2〜PE5は、セルグループGR1に属し、比較対象値119のビット長が3ビットのセルPE6〜PE13は、セルグループGR2に属し、比較対象値119のビット長が4ビットのセルPE14〜PE21,PE22〜PE29は、グループGR3,GR4にそれぞれ分けられる。
MUX30は、セルPE0〜PE29への入力データ115を選択する手段である。詳しくは、可変長符号化復号装置5が、符号化モード又は復号モードのいずれに設定された場合に図18に示す制御レジスタ16から与えられる入力データ選択信号112に基づいて、テーブル装置17内のセルPE0〜PE29への入力データ115として、符号化モードの場合には係数データ114を選択し、復号モードの場合にはビットストリームデータ113を選択する。
コンフィグレーションデータ(変換テーブル)116は、コンフィグレーションモード時に、バスI/F11から図18に示す信号線101を介してレジスタ指定アドレス信号117と共に与えられる。レジスタ指定アドレス信号117は、コンフィグレーションデータ116の書き込み先のセルとそのセル内のレジスタとを指定するための信号であり、セルPE0〜PE29の全てに対して入力される。
出力信号O0〜O29は、符号化モード及び復号モード時に各セルPE0〜PE29から出力される信号であり、後述する比較動作で一致したことを示す一致信号(後述する図20中に符号122を付している)と一致した際にレジスタから出力されるレジスタの出力値(データ変換値)又は分岐コード(後述する図20中に符号123を付している)を含んでいる。論理和回路36は、出力信号O0〜O29の論理和を求め、テーブル装置17のデータ出力124として得る手段である。
テーブル制御部37は、論理和回路36のデータ出力124が分岐コードである場合、その分岐コードを構成しているレジスタ選択値に基づいて、セル内の出力値レジスタ群(後述する図20中に符号32を付している)の中から次に使用するレジスタを指定するレジスタ選択信号118を生成すると共に、分岐コードを構成しているセルグループの指定コードに基づいて次に比較動作を行うセルグループに送信する比較命令信号R0〜R4を生成するセル制御手段であり、また、論理和回路36のデータ出力124が符号化結果又は復号結果を示すデータであれば、データ出力124を出力する。
図20は、図19中のセルグループの構成例を示すブロック図である。図20において、セルは、比較器31、出力値レジスタ群32、アドレスデコーダ33、MUX34及びMUX35を有している。アドレスデコーダ33は、コンフィグレーションモード時に入力されるレジスタ指定アドレス信号117をデコードし、そのデコード信号120によって、コンフィグレーションデータ116を書き込む出力値レジスタ群32のレジスタを指定する手段である。
比較器31は、入力データ115とセル毎に固有な固定値である比較対象値119とを比較し、両者が一致した際に一致信号122を出力する手段である。セル毎に固有な比較対象値119は、セルグループGR0〜GR4毎にビット長が決まっている。
例えば、図19において、セルグループGR0の各セルの比較対象値119のビット長は1ビットであり、セルPE0の比較対象値119のビットパターンは‘0’、セルPE1の比較対象値119のビットパターンは‘1’である。セルグループGR1の各セルの比較対象値119のビット長は2ビットであり、セルPE2の比較対象値119のビットパターンは‘00’、セルPE3の比較対象値119のビットパターンは‘01’、セルPE4の比較対象値119のビットパターンは‘10’、セルPE5の比較対象値119のビットパターンは‘11’である。
セルグループGR2の各セルの比較対象値119のビット長は3ビットで、セルPE6の比較対象値119のビットパターンは‘000’、セルPE7の比較対象値119のビットパターンは‘001’、セルPE8の比較対象値119のビットパターンは‘010’、セルPE9の比較対象値119のビットパターンは‘011’、セルPE10の比較対象値119のビットパターンは‘100’、セルPE11の比較対象値119のビットパターンは‘101’、セルPE12の比較対象値119のビットパターンは‘110’、セルPE13の比較対象値119のビットパターンは‘111’である。
セルグループGR3の各セルの比較対象値119のビット長は4ビットで、セルPE14の比較対象値119のビットパターンは‘0000’、セルPE15の比較対象値119のビットパターンは‘0001’、セルPE16の比較対象値119のビットパターンは‘0010’、セルPE17の比較対象値119のビットパターンは‘0011’、セルPE18の比較対象値119のビットパターンは‘0100’、セルPE19の比較対象値119のビットパターンは‘0101’、セルPE20の比較対象値119のビットパターンは‘0110’、セルPE21の比較対象値119のビットパターンは‘0111’である。
セルグループGR4の各セルの比較対象値119のビット長は4ビットで、セルPE22の比較対象値119のビットパターンは‘1000’、セルPE23の比較対象値119のビットパターンは‘1001’、セルPE24の比較対象値119のビットパターンは‘1010’、セルPE25の比較対象値119のビットパターンは‘1011’、セルPE26の比較対象値119のビットパターンは‘1100’、セルPE27の比較対象値119のビットパターンは‘1101’、セルPE28の比較対象値119のビットパターンは‘1110’、セルPE29の比較対象値119のビットパターンは‘1111’である。
入力データ115は、各セルグループGR0〜GR4に対し、その先頭ビットから数えて各セルグループGR0〜GR4に属するセルの比較対象値119のビット長と同一ビット数分のビット値が入力される。
図20において、出力値レジスタ群32は、コンフィグレーション時にコンフィグレーションデータ116が書き込まれ、データ変換値である出力値(復号時は直交変換係数、符号化時は不特定長のビットストリーム)、及びこれに代わる分岐コードを保持する複数のレジスタを持つ手段である。すなわち、出力値レジスタ群32には、そのセルの比較動作で一致した際に当該セルが最終値を求めるリーフとして指定されているものであれば、対応するレジスタに出力値が書き込まれ、一方、当該セルが分岐として指定されているものであれば、対応するレジスタに分岐コードが書き込まれていることになる。
なお、分岐コードは、出力値レジスタ群32のレジスタを次に使用するレジスタに変更するレジスタ選択値と、次に比較動作を行うセルグループとを指定する指定コードを含んでいる。
MUX34は、レジスタ選択信号118に基づいて、出力値レジスタ群32のレジスタを選択し、それが保持する出力値又は分岐コードを出力値121として出力するレジスタ選択手段である。MUX35は、一致信号122に基づいてMUX34より出力値レジスタ群32から選択された出力値又は分岐コードを選択し、それ以外、すなわち比較器31から一致信号122が出力されなかった場合、及び当該セルが比較対象のセルではなかった場合には‘0’を選択して、出力データ123とする手段である。
次に、コンフィグレーションモードについて図18〜図20を用いて説明する。
先ず、可変長符号化復号装置5は、電源投入直後などに外部から与えられる外部リセット信号あるいは制御レジスタ16の設定によるソフトウェアリセット信号によりリセットされる。リセット後、アンパック部14、パック部15、テーブル装置17は初期状態となり、CPU2から起動指示があるまで状態を保持する。CPU2は、起動後に初期化動作として、可変長符号化又は可変長復号に対応するコンフィグレーションデータを、レジスタ指定アドレス信号と共に、信号線101を介してテーブル装置17へ送信する。
図19及び図20に示すように、コンフィグレーションデータ116は、テーブル装置17を構成する各セルPE0〜PE29へ入力される。各セルPE0〜PE29内において、レジスタ指定アドレス信号117がアドレスデコーダ33でデコードされ、そのデコード信号120により、各セルの出力値レジスタ群32の中から書き込み対象となるレジスタが指定される。従って、この指定された各レジスタにコンフィグレーションデータ116の対応するデータが書き込まれる。
このとき、コンフィグレーション動作の前に、テーブル装置17の全てのレジスタの値を‘0’にリセットすることで、コンフィグレーションデータ116がマッピングされているレジスタのみにコンフィグレーションデータ116を書き込めばよく、コンフィグレーションデータ116がマッピングされていないレジスタへのコンフィグレーションデータの書き込み動作を省略することができる。この動作により、テーブル装置17は可変長符号化テーブルあるいは可変長復号テーブルとして動作が可能な状態に設定されたことになる。
次に、コンフィグレーションデータのマッピング方法について説明する。
図21は、可変長復号テーブルの構成例を示す図である。図21の例では、2進数の可変長符号、これに対応する10進数の復号値、及び予め算出された可変長符号の比較一致確率が設定されている。ここで、テーブル装置17は、一度に4ビットまでの比較を行えるものとする。また、4ビットより大きいビット長が必要な可変長符号化/復号テーブルを構成する場合は、後述するように、テーブル装置17のセル内で使用するレジスタを動的に変更することによってテーブル全体を実現する。
なお、この場合に求められることは、レジスタの変更回数を少なくすることであり、そのため、コンフィグレーションデータの各セルの各レジスタへのマッピングを、上述した予め算出された比較一致確率に基づいて行うようにする。具体的には、可変長符号化では、比較一致確率の高い係数には短いコードが割り当てられているが、その比較一致確率の高いコードを先に比較するようにマッピングする。
図21において、例えばテーブルの上3つの行までに設定された可変長符号に一致する確率は66%であるものとする。テーブル装置17を構成する各セルPE0〜PE29は、1ビット、2ビット、3ビット、又は4ビットのいずれかの比較を行うセルに分けられることから、図21に示す可変長復号テーブルの各可変長符号を1〜4ビットに区切り、図22に示すような比較割り当てを行う。
比較ポイントであるノードn0〜n13が持つ比較対象ビットパターン(例えば、ノードn3の場合は‘011’)と、入力ビット列の先頭ビットから比較対象ビットパターンのビット数分のビット列(ノードn3の場合、入力ビット列の先頭ビットから3ビット分のビット列)とを比較し、一致したときはそのノードに接続された“子”のノード(ノードにさらに分岐して接続されているノード、例えばノードn3の“子”ノードはノードn5〜n10)において、入力ビット列の続きのビット列を比較する。入力ビット列が‘01100’であれば、ノードn5において続きの‘00’が比較される。
図23は、図22中の各ノードn0〜n13を図19中の各セルPE0〜PE29にマッピングした場合を説明するための図である。図23において、セルPE1にはノードn0、セルPE2にはノードn5、セルPE3にはノードn6、セルPE4にはノードn7、セルPE6にはノードn4、セルPE7にはノードn1、セルPE8にはノードn2、セルPE9にはノードn3、セルPE26にはノードn8、セルPE27にはノードn9、セルPE28にはノードn10がマッピングされる。なお、図22に示すように、ノードn11〜n13は、比較対象ビットパターンがノードn5〜n7と同じであるため、セルPE2〜PE4内の別のレジスタにそれぞれマッピングされる。
1回目の比較では、図19に示すように、比較命令信号R0,R2が入力され、セルPE0、PE1、及びPE6〜PE13において、各セルの比較対象値119と入力ビット列との比較が行われる。ここで、図22及び図23において同一の斜線で示すように、ノードn0がマッピングされたセルPE1、ノードn4がマッピングされたセルPE6、ノードn1がマッピングされたセルPE7、ノードn2がマッピングされたセルPE8、ノードn3がマッピングされたセルPE9において1回目の比較が行われる。このとき、入力ビット列が‘1’、‘001’、‘010’であって、セルPE0、セルPE7、セルPE8において、比較の一致が完了する確率は66%である。
一致が完了しない場合、すなわちセルPE6で一致した場合は、レジスタの切り替えと比較命令信号を入力するセルグループを変更することで、テーブルの再構成を行うようにする。また、セルPE9で一致した場合は、レジスタの切り替えは行わずに、比較命令信号を入力するセルグループを変更することで2回目の比較へと移り、図22及び図23において同一の斜線で示すように、ノードn5がマッピングされたセルPE2、ノードn6がマッピングされたセルPE3、ノードn7がマッピングされたセルPE4、ノードn8がマッピングされたセルPE26、ノードn9がマッピングされたセルPE27、ノードn10がマッピングされたセルPE28において比較が行われる。
従って、比較一致確率が66%にあるコードに対しては、テーブルの再構成も比較命令信号の変更もなしに出力データを得ることができ、レジスタと比較命令信号の変更回数を最小限に抑えることができる。なお、テーブルを再構成する動作については後述する。
次に、可変長復号の動作例を説明する。
図24は、図18中の可変長符号化復号装置による可変長復号の動作例を説明するための図であり、この図に沿って説明する。なお、図24において図18と同一構成要素には同一符号を付しており、各信号やデータが伝搬する信号線等の説明は省略する。復号動作は、上述のコンフィグレーションデータをテーブル装置17のセルに書き込んだ後に行われる。先ず、CPU2は、バスI/F11を介して、ビットストリームメモリ13に1マクロブロック分のブロックデータ相当のビットストリームデータを書き込む(図24中の矢印D1)。
書き込み後、制御レジスタ16内の復号開始指示レジスタに復号開始信号を書き込み、入力データ選択信号112を図19に示すMUX30に与え、ビットストリームデータを図19に示す入力データ115として選択することで復号動作を起動する。アンパック部14は、ビットストリームメモリ13から1マクロブロック分のブロックデータ相当のビットストリームを、ある特定のビット数単位で読み込み(図24中の矢印D2)、CPU2あるいはテーブル装置17から示されるシフト値に従ってそのビットストリームデータをシフトし、テーブル装置17に対して常に有効なある特定のビット数分のビットストリームデータを出力する(図24中の矢印D3)。
テーブル装置17では、入力された前記特定のビット数分のビットストリームに従って可変長復号し、係数データを係数データメモリ12に出力する(図24中の矢印D4)と同時に、テーブルの使用回数をクリアしたら割り込み信号でCPU2に通知する。復号完了の割り込み信号を受けたCPU2は、バスI/F11を介して係数データメモリ12から復号結果を読み出す(図24中の矢印D5)。
図21及び図22に示すテーブルを例に、可変長復号時にテーブル装置17内で行われる比較動作について説明する。図25は、図19中の可変長復号テーブルを用いた可変長復号の動作例を示す図である。図25において、先ず、入力データ115として入力される特定のビット数分のビットストリームを‘0011’とする。
復号モードにあるとき、ビットストリームデータ113は、MUX30で入力データ選択信号112によって、入力データ115、すなわちビットストリームデータ‘0011’として選択され、各セルPE0〜PE29に対し、‘0011’の先頭ビットから各セルの比較対象値119と同じビット長のビットストリームデータがそれぞれ入力される。
つまり、比較対象値119のビット長が1ビットであるセルPE0,PE1には‘0’が入力され、比較対象値119のビット長が2ビットであるセルPE2〜PE5には‘00’が入力され、比較対象値119のビット長が3ビットであるセルPE6〜PE13には‘001’が入力され、比較対象値119のビット長が4ビットであるセルPE14〜PE29には‘0011’が入力される。
一方、テーブル制御部37は、図24に示す制御レジスタ16の設定状態を参照して、比較動作開始時に用いる、図20に示す出力値レジスタ群32のレジスタの選択と比較動作を開始するセルグループとを指定する初期コードを読み出し、この初期コードに基づいて比較命令信号R0,R2とレジスタ選択信号118を生成する。
レジスタ選択信号118は、全てのセルPE0〜PE29に対して入力され、図20に示すMUX34によって、出力値レジスタ群32の最初に使用するレジスタをそれぞれ選択する。セルグループGR0に入力された比較命令信号R0は、セルPE0,PE1内の図20に示す比較器31に与えられ、セルグループGR2に入力された比較命令信号R2は、セルPE6〜PE13内の比較器31に与えられる。
比較器31に比較命令信号を与えられた各セルは、入力されたビットストリームと各セルで固定されている固有の比較対象値119とを比較器31で比較する。すなわち、セルPE0では比較対象値‘0’とビットストリーム‘0’が比較され、セルPE1では比較対象値‘1’とビットストリーム‘0’が比較され、セルPE6では比較対象値‘000’とビットストリーム‘001’が比較される。
また、セルPE7では比較対象値‘001’とビットストリーム‘001’が比較され、セルPE8では比較対象値‘010’とビットストリーム‘001’が比較され、セルPE9では比較対象値‘011’とビットストリーム‘001’が比較される。さらに、セルPE10では比較対象値‘100’とビットストリーム‘001’が比較され、セルPE11では比較対象値‘101’とビットストリーム‘001’が比較され、セルPE12では比較対象値‘110’とビットストリーム‘001’が比較され、セルPE13では比較対象値‘111’とビットストリーム‘001’が比較される。
この場合、セルPE0とセルPE7で比較が一致することになり、それぞれの比較器31から一致信号122が出力される。しかし、セルPE0はコンフィグレーションデータがマッピングされていないセルであるため、セルPE0の出力値レジスタ群32の対応するレジスタにはコンフィグレーションデータは書き込まれておらず、‘0’にリセットされた値が設定されている。
一方、図23に示すように、セルPE7は、図22に示すノードn1に対応するコンフィグレーションデータがマッピングされているセルであり、かつリーフである。このため、出力値レジスタ群32で保持している対応する出力値(直交変換係数)が、図20に示すMUX34により抽出される。図20に示すように、MUX35は、比較器31から出力される一致信号122に応じて、出力値レジスタ群32から抽出された出力値121を取り出し、セルPE7は、この出力値121である出力データ123と一致信号122を論理和回路36への出力O7として出力する。
一致信号が出力されると、図25に示すように、全てのセルPE0〜PE29から出力される信号O0〜O29を、論理和回路36で論理和演算して復号結果(データ出力124)として出力する。この例の場合、コンフィグレーションデータがマッピングされており、かつ比較が一致したセルはPE7のみであり、それ以外のセルの出力値は‘0’であるため、論理和回路36のデータ出力124は、セルPE7の出力値O7と等しくなる。
また、入力データ115のビットストリームデータが、例えば‘0001’であったとした場合、この段階で一致する比較対象値のセルはPE0とPE6である。しかし、セルPE0はコンフィグレーションデータがマッピングされていないセルであるため、出力値O0は、‘0’となる。
一方、図23に示すように、セルPE6は、図22に示すノードn4に対応するコンフィグレーションデータがマッピングされているセルであり、かつ分岐として設定されているため、出力値O6としては、図20に示す出力値レジスタ群32に設定されている分岐コードとなる。その結果、論理和回路36のデータ出力124は、セルPE6の出力値レジスタ群32で設定されている分岐コードとなる。
テーブル制御部37は、この分岐コードに基づいて、図20に示すMUX34に入力するレジスタ選択信号118を変更し、また次に比較命令信号を入力するセルグループを変更する。これにより、データを既に保持しているレジスタの変更選択が行われ可変長復号テーブルは再構成される。
このように、レジスタ選択信号118により出力値レジスタ群32の新たなレジスタが選択され、かつ比較命令信号R0〜R4のうちのいずれかの信号が入力されることで、分岐点以下(‘000’より下位のビット)の比較が可能となる。このテーブル再構成は、分岐コードの出力から新たなレジスタ選択信号118、及び比較命令信号Rを出力するまでの1クロックで行うことが可能である。
また、入力データ115のビットストリームデータが、例えば‘0110’であったとした場合、この段階で一致する比較対象値のセルはPE0とPE9である。しかし、セルPE0はコンフィグレーションデータがマッピングされていないセルであるため、出力値O0は、‘0’となる。
一方、図23に示すように、セルPE9は、図22に示すノードn3に対応するコンフィグレーションデータがマッピングされているセルであり、かつ分岐として設定されているため、出力値O9としては、図20に示す出力値レジスタ群32に設定されている分岐コードとなり、論理和回路36のデータ出力124としてテーブル制御部37へ入力される。
この場合、分岐点以下(‘011’より下位のビット)が既に選択されているレジスタ上に存在するため、テーブル制御部37では、レジスタ選択信号118を変更せずに、次に比較命令信号を入力するセルグループのみを変更する。次の比較は、比較命令信号を入力するセルグループを変更するまでの1クロックで開始される。
以上、可変長復号について説明したが、可変長符号化も同じ回路を用いて実行できる。つまり、可変長符号化では、図19において、テーブル装置17への入力データ115が、図18に示す係数データメモリ12から読み込まれる係数データ114であり、固定長となる。また、テーブル装置17の出力はパック部15に出力されるビットストリームであり、可変長となる。
次に、可変長符号化の動作について説明する。
図26は、実施の形態4による可変長符号化復号装置による可変長符号化の動作例を示す図である。なお、図26において図18と同一構成要素には同一符号を付しており、各信号やデータが伝搬する信号線等の説明は省略する。符号化動作は、コンフィグレーションモードにより符号化のためのコンフィグレーションデータ116をテーブル装置17のセルに書き込んで可変長符号化テーブルを形成した後に行われる。
先ず、CPU2は、バスI/F11を介して、1マクロブロック分のブロックデータ相当の符号化を対象とする係数データを係数データメモリ12に書き込む(図26中の矢印E1)。書き込み後、制御レジスタ16内の符号化開始指示レジスタに符号化開始信号を書き込み、入力データ選択信号112を図19に示すMUX30に与え、係数データを図19に示す入力データ115として選択することで符号化動作を起動する。
テーブル装置17は、係数データメモリ12から係数データを、ある特定のビット数単位で読み込み(図26中の矢印E2)、入力されたこの特定のビット数分の係数データに従って可変長符号化し、符号化データをパック部15へ出力する(図26中の矢印E3)。パック部15は、変換されたビットストリームをCPUバスのデータ幅などのビット数単位でビットストリームメモリ13に格納し(図26中の矢印E4)、同時に、1マクロブロックの符号化が完了したことを割り込み信号でCPU2に通知する。符号化完了の割り込み信号を受けたCPU2は、バスI/F11を介してビットストリームメモリ13から符号化結果を読み出す(図26中の矢印E5)。
可変長符号化モードは、図19及び図20において、セルに選択入力される係数データを固定ビットとするが、その他の処理行程は上記復号モードの説明と同様であるので、ここでは説明を省略する。
以上のように、この実施の形態4によれば、テーブル装置17が、符号化又は復号する入力データを比較対象値のビット長に対応するビット数単位で読み込んで、比較対象値と比較する比較器31と、比較対象値に対応する符号化又は復号の出力値を含むコンフィグレーションデータ116を保持する複数のレジスタを有する出力値レジスタ群32とをそれぞれ備え、比較器31の比較結果に応じてレジスタの保持内容を出力する複数のセルPE0〜PE29と、セルからの出力値の論理和を演算する論理和回路36と、符号化又は復号開始時に設定される初期コード若しくはコンフィグレーションデータ116に含まれる分岐コードに基づいて、比較器31に比較動作を行わせるセルを、比較対象値のビット長に応じてセルを分類したセルグループ毎に指定し、かつその比較結果に応じて保持内容を出力させるレジスタを指定することにより、論理和回路36の出力として入力データに対応する符号化又は復号の出力値を得るテーブル制御部37とを備えるので、国際標準に準拠した可変長符号化/復号方式に対応したコンフィグレーションデータを設定することができ、様々な方式の動的再構成可能なテーブルを構成することができる。特に、各セルは、出力値レジスタ群32が持つ複数のレジスタの中から使用するレジスタの1つを1クロックで選択し変更できる。また、現在使用している1つのセル集合体で比較できるビット長が、比較すべき最大ビット数を満足していなくても、セルを再構成することで、最大ビット数の比較が可能となる。
さらに、レジスタ指定アドレス信号117のデコード信号120により指定されたレジスタに対してコンフィグレーションデータ116を書き込むだけでよいことから、書き込み処理に要する時間を短縮することができる。また、コンフィグレーションデータを設定するレジスタを、特許文献1のような接続情報レジスタ群、ビット選択レジスタ群、比較対象レジスタ群及び出力値レジスタ群の4種類のレジスタ群から、出力値レジスタ群32の1種類に削減したことによっても、書き込み処理に要する時間を短縮することができる。
また、可変長符号化される係数データ又は可変長復号された係数データを入力して格納する係数データメモリ12と、復号対象のビットストリーム又は符号化結果のビットストリームを格納するビットストリームメモリ13と、符号化動作においてテーブル装置17の出力データとして得られた可変長符号化の出力値によるビットストリームを、所定ビット数単位のデータにパッキングしてビットストリームメモリ13に格納するパック部15と、復号動作において、復号対象のビットストリームから所定ビット数単位で読み込んだ固定長のビットストリームを、テーブル装置17による復号で消費されるビット数分だけシフトしてテーブル装置17の入力データとして出力するアンパック部14と、外部のCPU2からの指示により、符号化又は復号を開始するにあたり、テーブル装置17におけるセルグループの指定及び比較器31による比較結果に応じて保持内容を出力させる出力値レジスタ群32内のレジスタを指定する初期コードを設定する制御レジスタ16と、符号化又は復号を開始するにあたり、外部のCPU2からテーブル装置17に設定すべき変換テーブル及びこれを書き込む出力値レジスタ群32内のレジスタを指定するレジスタ指定アドレス信号をテーブル装置17に伝送するバスライン4やバスI/F11等の伝送部とを備えた可変長符号化復号装置を構成することで、1つの回路で可変長符号化/復号を行うことができるため、小型化、かつ低消費電力化を可能にする効果が得られる。
なお、この実施の形態4では、可変長符号化復号装置として説明してきたが、テーブル装置17を用いて可変長符号化装置あるいは可変長復号装置として別々に構成してもよい。このように構成することによっても、この実施の形態4における可変長符号化による効果及び可変長復号による効果をそれぞれ得ることができる。

Claims (11)

  1. 探索木化されている可変長符号化又は可変長復号の変換テーブルを保持するコンフィグレーションメモリと、固定かつ固有な比較対象値が割り当てられており、比較命令信号を受けたとき上記比較対象値と入力データを比較し、上記比較対象値と上記入力データが一致すれば一致信号を出力する複数のセルと、上記複数のセルの中で一致信号を出力しているセルを示すセル番号を出力するセル番号出力手段と、上記変換テーブルを構成している探索木のノードの中から、上記セル番号出力手段から出力されたセル番号に対応するノードを特定するノード特定手段と、上記コンフィグレーションメモリから上記ノード特定手段により特定されたノードに割り当てられているデータ変換値を取得し、上記データ変換値が符号化結果又は復号結果を示すデータであれば、上記データ変換値を外部に出力し、上記データ変換値が上記探索木の分岐コードであれば、比較命令信号を与えるセルを更新するセル制御手段とを備えたテーブル装置。
  2. セル制御手段は、割り当てられている比較対象値のビット数が等しいセル同士が同一のセルグループに分けられている場合、変換テーブルを構成している探索木の部分木に対応するセルグループに対して比較命令信号を出力することを特徴とする請求項1記載のテーブル装置。
  3. 複数の変換テーブルがコンフィグレーションメモリに保持されている場合、セル制御手段が使用対象の変換テーブルを示すテーブル番号を出力し、ノード特定手段が上記セル制御手段から出力されたテーブル番号が示す変換テーブルを構成している探索木のノードの中から、セル番号出力手段から出力されたセル番号に対応するノードを特定することを特徴とする請求項1記載のテーブル装置。
  4. 可変長符号化対象の係数データを格納する係数データ格納手段と、探索木化されている可変長符号化の変換テーブルを出力する変換テーブル出力手段と、上記変換テーブル出力手段から出力された変換テーブルを保持するコンフィグレーションメモリと、固定かつ固有な比較対象値が割り当てられており、比較命令信号を受けたとき上記比較対象値と上記係数データ格納手段に格納されている係数データを比較し、上記比較対象値と上記係数データが一致すれば一致信号を出力する複数のセルと、上記複数のセルの中で一致信号を出力しているセルを示すセル番号を出力するセル番号出力手段と、上記変換テーブルを構成している探索木のノードの中から、上記セル番号出力手段から出力されたセル番号に対応するノードを特定するノード特定手段と、上記コンフィグレーションメモリから上記ノード特定手段により特定されたノードに割り当てられているデータ変換値を取得し、上記データ変換値がビットストリームであれば、上記ビットストリームを出力し、上記データ変換値が上記探索木の分岐コードであれば、比較命令信号を与えるセルを更新するセル制御手段と、上記セル制御手段から出力されたビットストリームを固定データ長単位のデータにパッキングするパッキング手段とを備えた可変長符号化装置。
  5. 可変長復号対象のビットストリームを格納するビットストリーム格納手段と、上記ビットストリーム格納手段から固定データ長単位でビットストリームを読み込み、固定長のビットストリームを出力するビットストリーム出力手段と、探索木化されている可変長復号の変換テーブルを出力する変換テーブル出力手段と、上記変換テーブル出力手段から出力された変換テーブルを保持するコンフィグレーションメモリと、固定かつ固有な比較対象値が割り当てられており、比較命令信号を受けたとき上記比較対象値と上記ビットストリーム出力手段から出力されたビットストリームを比較し、上記比較対象値と上記ビットストリームが一致すれば一致信号を出力する複数のセルと、上記複数のセルの中で一致信号を出力しているセルを示すセル番号を出力するセル番号出力手段と、上記変換テーブルを構成している探索木のノードの中から、上記セル番号出力手段から出力されたセル番号に対応するノードを特定するノード特定手段と、上記コンフィグレーションメモリから上記ノード特定手段により特定されたノードに割り当てられているデータ変換値を取得し、上記データ変換値が係数データであれば、上記係数データを出力し、上記データ変換値が上記探索木の分岐コードであれば、比較命令信号を与えるセルを更新するセル制御手段とを備えた可変長復号装置。
  6. 可変長符号化対象の係数データを格納する係数データ格納手段と、可変長復号対象のビットストリームを格納するビットストリーム格納手段と、上記ビットストリーム格納手段から固定データ長単位でビットストリームを読み込み、固定長のビットストリームを出力するビットストリーム出力手段と、探索木化されている可変長符号化又は可変長復号の変換テーブルを出力する変換テーブル出力手段と、上記変換テーブル出力手段から出力された変換テーブルを保持するコンフィグレーションメモリと、固定かつ固有な比較対象値が割り当てられており、比較命令信号を受けたとき上記比較対象値と上記係数データ又は上記ビットストリームを比較し、上記比較対象値と上記係数データ又は上記ビットストリームが一致すれば一致信号を出力する複数のセルと、上記複数のセルの中で一致信号を出力しているセルを示すセル番号を出力するセル番号出力手段と、上記変換テーブルを構成している探索木のノードの中から、上記セル番号出力手段から出力されたセル番号に対応するノードを特定するノード特定手段と、上記コンフィグレーションメモリから上記ノード特定手段により特定されたノードに割り当てられているデータ変換値を取得し、上記データ変換値がビットストリーム又は係数データであれば、上記データ変換値を出力し、上記データ変換値が上記探索木の分岐コードであれば、比較命令信号を与えるセルを更新するセル制御手段と、上記セル制御手段から出力されたデータ変換値であるビットストリームを固定データ長単位のデータにパッキングするパッキング手段とを備えた可変長符号化復号装置。
  7. 固定かつ固有な比較対象値が割り当てられており、比較命令信号を受けたとき上記比較対象値と入力データを比較する比較器を有するとともに、上記比較対象値に対応するデータ変換値を含む変換テーブルを保持する複数のレジスタを有し、上記比較器の比較結果が比較対象値と入力データの一致を示していれば、レジスタ選択信号に対応するレジスタに保持されているデータ変換値を出力し、上記比較器の比較結果が比較対象値と入力データの一致を示していなければ、上記データ変換値としてゼロ値を出力する複数のセルと、上記複数のセルから出力されたデータ変換値の論理和演算を行う論理和回路と、上記論理和回路により論理和演算されたデータ変換値が符号化結果又は復号結果を示すデータであれば、上記データ変換値を外部に出力し、上記データ変換値が分岐コードであれば、その分岐コードに応じて上記比較命令信号を与えるセルを更新するとともに、その分岐コードに応じてレジスタ選択信号を更新するセル制御手段とを備え
    上記セル制御手段は、割り当てられている比較対象値のビット数が等しいセル同士が同一のセルグループに分けられている場合、可変長符号化又は可変長復号の開始時に設定される初期コード又は分岐コードに含まれているレジスタ選択値からレジスタ選択信号を生成して、そのレジスタ選択信号を上記複数のセルに出力するとともに、上記複数のセルのうち、その初期コード又は分岐コードに含まれているセルグループの指定コードに対応するセルに対して上記比較命令信号を出力することを特徴とするテーブル装置。
  8. 複数のセルは、変換テーブルを複数のレジスタに書き込むアドレスデコーダを備えていることを特徴とする請求項7記載のテーブル装置。
  9. 可変長符号化対象の係数データを格納する係数データ格納手段と、探索木化されている可変長符号化の変換テーブルを出力する変換テーブル出力手段と、固定かつ固有な比較対象値が割り当てられており、比較命令信号を受けたとき上記比較対象値と上記係数データ格納手段に格納されている係数データを比較する比較器を有するとともに、上記比較対象値に対応するデータ変換値を含む上記変換テーブルを保持する複数のレジスタを有し、上記比較器の比較結果が比較対象値と係数データの一致を示していれば、レジスタ選択信号に対応するレジスタに保持されているデータ変換値を出力し、上記比較器の比較結果が比較対象値と係数データの一致を示していなければ、上記データ変換値としてゼロ値を出力する複数のセルと、上記複数のセルから出力されたデータ変換値の論理和演算を行う論理和回路と、上記論理和回路により論理和演算されたデータ変換値がビットストリームであれば、上記ビットストリームを出力し、上記データ変換値が分岐コードであれば、その分岐コードに応じて上記比較命令信号を与えるセルを更新するとともに、その分岐コードに応じてレジスタ選択信号を更新するセル制御手段と、上記セル制御手段から出力されたビットストリームを固定データ長単位のデータにパッキングするパッキング手段とを備え
    上記セル制御手段は、割り当てられている比較対象値のビット数が等しいセル同士が同一のセルグループに分けられている場合、可変長符号化の開始時に設定される初期コード又は分岐コードに含まれているレジスタ選択値からレジスタ選択信号を生成して、そのレジスタ選択信号を上記複数のセルに出力するとともに、上記複数のセルのうち、その初期コード又は分岐コードに含まれているセルグループの指定コードに対応するセルに対して上記比較命令信号を出力することを特徴とする可変長符号化装置。
  10. 可変長復号対象のビットストリームを格納するビットストリーム格納手段と、上記ビットストリーム格納手段から固定データ長単位でビットストリームを読み込み、固定長のビットストリームを出力するビットストリーム出力手段と、探索木化されている可変長復号の変換テーブルを出力する変換テーブル出力手段と、固定かつ固有な比較対象値が割り当てられており、比較命令信号を受けたとき上記比較対象値と上記ビットストリーム出力手段から出力されたビットストリームを比較する比較器を有するとともに、上記比較対象値に対応するデータ変換値を含む上記変換テーブルを保持する複数のレジスタを有し、上記比較器の比較結果が比較対象値とビットストリームの一致を示していれば、レジスタ選択信号に対応するレジスタに保持されているデータ変換値を出力し、上記比較器の比較結果が比較対象値とビットストリームの一致を示していなければ、上記データ変換値としてゼロ値を出力する複数のセルと、上記複数のセルから出力されたデータ変換値の論理和演算を行う論理和回路と、上記論理和回路により論理和演算されたデータ変換値が係数データであれば、上記係数データを出力し、上記データ変換値が分岐コードであれば、その分岐コードに応じて上記比較命令信号を与えるセルを更新するとともに、その分岐コードに応じてレジスタ選択信号を更新するセル制御手段とを備え
    上記セル制御手段は、割り当てられている比較対象値のビット数が等しいセル同士が同一のセルグループに分けられている場合、可変長復号の開始時に設定される初期コード又は分岐コードに含まれているレジスタ選択値からレジスタ選択信号を生成して、そのレジスタ選択信号を上記複数のセルに出力するとともに、上記複数のセルのうち、その初期コード又は分岐コードに含まれているセルグループの指定コードに対応するセルに対して上記比較命令信号を出力することを特徴とする可変長復号装置。
  11. 可変長符号化対象の係数データを格納する係数データ格納手段と、可変長復号対象のビットストリームを格納するビットストリーム格納手段と、上記ビットストリーム格納手段から固定データ長単位でビットストリームを読み込み、固定長のビットストリームを出力するビットストリーム出力手段と、探索木化されている可変長符号化又は可変長復号の変換テーブルを出力する変換テーブル出力手段と、固定かつ固有な比較対象値が割り当てられており、比較命令信号を受けたとき上記比較対象値と上記係数データ又は上記ビットストリームを比較する比較器を有するとともに、上記比較対象値に対応するデータ変換値を含む上記変換テーブルを保持する複数のレジスタを有し、上記比較器の比較結果が比較対象値と係数データ又はビットストリームの一致を示していれば、レジスタ選択信号に対応するレジスタに保持されているデータ変換値を出力し、上記比較器の比較結果が比較対象値と係数データ又はビットストリームの一致を示していなければ、上記データ変換値としてゼロ値を出力する複数のセルと、上記複数のセルから出力されたデータ変換値の論理和演算を行う論理和回路と、上記論理和回路により論理和演算されたデータ変換値が係数データ又はビットストリームであれば、上記データ変換値を出力し、上記データ変換値が分岐コードであれば、その分岐コードに応じて上記比較命令信号を与えるセルを更新するとともに、その分岐コードに応じてレジスタ選択信号を更新するセル制御手段と、上記セル制御手段から出力されたデータ変換値であるビットストリームを固定データ長単位のデータにパッキングするパッキング手段とを備え
    上記セル制御手段は、割り当てられている比較対象値のビット数が等しいセル同士が同一のセルグループに分けられている場合、可変長符号化又は可変長復号の開始時に設定される初期コード又は分岐コードに含まれているレジスタ選択値からレジスタ選択信号を生成して、そのレジスタ選択信号を上記複数のセルに出力するとともに、上記複数のセルのうち、その初期コード又は分岐コードに含まれているセルグループの指定コードに対応するセルに対して上記比較命令信号を出力することを特徴とする可変長符号化復号装置。
JP2008553947A 2007-01-19 2007-05-09 テーブル装置、可変長符号化装置、可変長復号装置及び可変長符号化復号装置 Active JP4703730B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008553947A JP4703730B2 (ja) 2007-01-19 2007-05-09 テーブル装置、可変長符号化装置、可変長復号装置及び可変長符号化復号装置

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2007010615 2007-01-19
JP2007010615 2007-01-19
JP2008553947A JP4703730B2 (ja) 2007-01-19 2007-05-09 テーブル装置、可変長符号化装置、可変長復号装置及び可変長符号化復号装置
PCT/JP2007/059603 WO2008087750A1 (ja) 2007-01-19 2007-05-09 テーブル装置、可変長符号化装置、可変長復号装置及び可変長符号化復号装置

Publications (2)

Publication Number Publication Date
JPWO2008087750A1 JPWO2008087750A1 (ja) 2010-05-06
JP4703730B2 true JP4703730B2 (ja) 2011-06-15

Family

ID=39635759

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008553947A Active JP4703730B2 (ja) 2007-01-19 2007-05-09 テーブル装置、可変長符号化装置、可変長復号装置及び可変長符号化復号装置

Country Status (5)

Country Link
US (1) US8291150B2 (ja)
EP (1) EP2104236B1 (ja)
JP (1) JP4703730B2 (ja)
CN (1) CN101584120B (ja)
WO (1) WO2008087750A1 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7620632B2 (en) * 2004-06-30 2009-11-17 Skyler Technology, Inc. Method and/or system for performing tree matching
US7852671B2 (en) * 2008-10-30 2010-12-14 Micron Technology, Inc. Data path for multi-level cell memory, methods for storing and methods for utilizing a memory array
US8004431B2 (en) * 2008-12-09 2011-08-23 Qualcomm Incorporated Fast parsing of variable-to-fixed-length codes
JP5075135B2 (ja) * 2009-01-16 2012-11-14 キヤノン株式会社 復号装置及びその制御方法
JP5075136B2 (ja) * 2009-01-16 2012-11-14 キヤノン株式会社 復号装置及びその制御方法
US9609342B2 (en) 2010-02-19 2017-03-28 Skype Compression for frames of a video signal using selected candidate blocks
US9313526B2 (en) 2010-02-19 2016-04-12 Skype Data compression for video
US9819358B2 (en) 2010-02-19 2017-11-14 Skype Entropy encoding based on observed frequency
US20110206118A1 (en) 2010-02-19 2011-08-25 Lazar Bivolarsky Data Compression for Video
JP5566254B2 (ja) * 2010-10-19 2014-08-06 三菱電機株式会社 データ処理装置
US9195675B2 (en) * 2011-02-24 2015-11-24 A9.Com, Inc. Decoding of variable-length data with group formats
US9727460B2 (en) * 2013-11-01 2017-08-08 Samsung Electronics Co., Ltd. Selecting a memory mapping scheme by determining a number of functional units activated in each cycle of a loop based on analyzing parallelism of a loop
JP6414073B2 (ja) * 2013-11-28 2018-10-31 日本電気株式会社 無線通信端末、プログラム、及びセル選択方法
DE102016108081A1 (de) * 2016-05-02 2017-11-02 Denso Corporation Mikroprozessor mit Zusatz-Befehlen für Binärsuche und zugehöriges Suchverfahren
US20180095760A1 (en) * 2016-09-30 2018-04-05 James D. Guilford Instruction set for variable length integer coding
WO2021174405A1 (en) * 2020-03-03 2021-09-10 Intel Corporation Graphics processing unit and central processing unit cooperative variable length data bit packing

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000059234A (ja) * 1998-08-10 2000-02-25 Mitsubishi Electric Corp 可変長符号処理装置
JP2001184870A (ja) * 1999-12-27 2001-07-06 Mitsubishi Electric Corp 連想メモリ装置およびそれを用いた可変長符号復号装置
JP2002261623A (ja) * 2001-02-28 2002-09-13 Canon Inc 復号装置、復号方法、記憶媒体及びプログラムソフトウェア
JP2006101171A (ja) * 2004-09-29 2006-04-13 Mitsubishi Electric Corp テーブル装置、可変長符号化/復号装置、可変長符号化装置および可変長復号装置
JP2007013856A (ja) * 2005-07-04 2007-01-18 Mitsubishi Electric Corp テーブル装置及びこれを用いたアドレス検索装置
JP2007142864A (ja) * 2005-11-18 2007-06-07 Mitsubishi Electric Corp テーブル装置、可変長符号化/復号装置、可変長符号化装置及び可変長復号装置

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3675211A (en) 1970-09-08 1972-07-04 Ibm Data compaction using modified variable-length coding
US3925780A (en) * 1973-12-26 1975-12-09 Ibm Apparatus for data compression encoding and decoding
US5351047A (en) * 1992-09-21 1994-09-27 Laboratory Automation, Inc. Data decoding method and apparatus
EP0646932B1 (en) 1993-04-19 2001-09-26 Oki Electric Industry Company, Limited Circuit for decoding variable-length code, and system for decoding variable-length code which uses the circuit
KR970002483B1 (ko) * 1993-11-29 1997-03-05 대우전자 주식회사 고속의 가변길이 복호화장치
US5604499A (en) 1993-12-28 1997-02-18 Matsushita Electric Industrial Co., Ltd. Variable-length decoding apparatus
US5541595A (en) * 1994-05-19 1996-07-30 Matsushita Electric Corporation Of America Variable length code decoder for simultaneous decoding the most significant bits and the least significant bits of a variable length code
JP3278297B2 (ja) * 1994-07-20 2002-04-30 富士通株式会社 データ圧縮方法及びデータ復元方法並びにデータ圧縮装置及びデータ復元装置
US5796356A (en) * 1995-03-14 1998-08-18 Fujitsu Limited Data compressing apparatus, data restoring apparatus and data compressing/restoring system
JP3266787B2 (ja) * 1995-03-14 2002-03-18 富士通株式会社 データ圧縮装置,データ復元装置,及びデータ圧縮・復元システム
US5548338A (en) * 1995-06-07 1996-08-20 News American Publishing, Inc. Compression of an electronic programming guide
US5696507A (en) * 1996-05-31 1997-12-09 Daewoo Electronics Co., Inc. Method and apparatus for decoding variable length code
US5821886A (en) * 1996-10-18 1998-10-13 Samsung Electronics Company, Ltd. Variable length code detection in a signal processing system
US5821887A (en) * 1996-11-12 1998-10-13 Intel Corporation Method and apparatus for decoding variable length codes
JP2000151419A (ja) * 1998-11-05 2000-05-30 Asahi Chem Ind Co Ltd データ圧縮方法およびデータ圧縮装置
JP3924093B2 (ja) * 1999-07-15 2007-06-06 富士通株式会社 ビタビ復号器および送信装置
JP2001308715A (ja) 2000-04-20 2001-11-02 Mitsubishi Electric Corp 可変長符号化装置および可変長復号装置
JP4556087B2 (ja) * 2001-03-22 2010-10-06 ソニー株式会社 データ処理装置およびデータ処理方法、並びにプログラムおよびプログラム記録媒体
ES2272429T3 (es) * 2001-07-13 2007-05-01 France Telecom Metodo para comprimir un arbol jerarquico, señal correspondiente y metodo para descodificar una señal.
KR100486251B1 (ko) * 2002-08-03 2005-05-03 삼성전자주식회사 가변 길이 코드 복호화 장치 및 방법
KR100959532B1 (ko) * 2003-12-18 2010-05-27 엘지전자 주식회사 Cavlc 복호 방법
KR100667595B1 (ko) * 2005-12-29 2007-01-11 삼성전자주식회사 가변 길이 디코더

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000059234A (ja) * 1998-08-10 2000-02-25 Mitsubishi Electric Corp 可変長符号処理装置
JP2001184870A (ja) * 1999-12-27 2001-07-06 Mitsubishi Electric Corp 連想メモリ装置およびそれを用いた可変長符号復号装置
JP2002261623A (ja) * 2001-02-28 2002-09-13 Canon Inc 復号装置、復号方法、記憶媒体及びプログラムソフトウェア
JP2006101171A (ja) * 2004-09-29 2006-04-13 Mitsubishi Electric Corp テーブル装置、可変長符号化/復号装置、可変長符号化装置および可変長復号装置
JP2007013856A (ja) * 2005-07-04 2007-01-18 Mitsubishi Electric Corp テーブル装置及びこれを用いたアドレス検索装置
JP2007142864A (ja) * 2005-11-18 2007-06-07 Mitsubishi Electric Corp テーブル装置、可変長符号化/復号装置、可変長符号化装置及び可変長復号装置

Also Published As

Publication number Publication date
CN101584120B (zh) 2013-01-09
JPWO2008087750A1 (ja) 2010-05-06
US8291150B2 (en) 2012-10-16
EP2104236A4 (en) 2012-08-01
EP2104236A1 (en) 2009-09-23
CN101584120A (zh) 2009-11-18
EP2104236B1 (en) 2018-08-15
WO2008087750A1 (ja) 2008-07-24
US20100057810A1 (en) 2010-03-04

Similar Documents

Publication Publication Date Title
JP4703730B2 (ja) テーブル装置、可変長符号化装置、可変長復号装置及び可変長符号化復号装置
JP5945291B2 (ja) デフレート圧縮のために高速で高圧縮のlz77トークン化及びハフマンエンコーディングを行う並列装置
US6885319B2 (en) System and method for generating optimally compressed data from a plurality of data compression/decompression engines implementing different data compression algorithms
KR101551045B1 (ko) 요소 이용을 위한 상태 그룹화
JP3272580B2 (ja) 符号化方法、符号化装置、符号化器、コーディング装置、復号方法、復号装置、復号器、エントロピー復号器、及び初期化方法
CN101771879B (zh) 基于cabac的并行归一化编码实现电路及编码方法
US20020091905A1 (en) Parallel compression and decompression system and method having multiple parallel compression and decompression engines
WO2001037088A2 (en) Programmable multi-tasking memory management system
JP5533083B2 (ja) データ処理装置およびデータ処理方法
JPH0652102A (ja) データ転送装置
JP2002261623A (ja) 復号装置、復号方法、記憶媒体及びプログラムソフトウェア
US10083034B1 (en) Method and apparatus for prefix decoding acceleration
Game et al. Codepack: Code compression for PowerPC processors
KR20200139812A (ko) 네트워크 스위치에서의 큐
JP2007034392A (ja) 情報処理装置及びデータ処理方法
JP4563300B2 (ja) テーブル装置、可変長符号化/復号装置、可変長符号化装置及び可変長復号装置
CN107943727B (zh) 一种高效dma控制器
CN114342264A (zh) 多符号解码器
JP4391374B2 (ja) テーブル装置、可変長符号化/復号装置、可変長符号化装置および可変長復号装置
WO2006109623A1 (ja) コンピュータシステム、コンフィギュレーション情報を表すデータ構造、並びにマッピング装置および方法
JP5566254B2 (ja) データ処理装置
JP2008199100A (ja) 可変長符号復号装置
JP3096576B2 (ja) メモリ制御回路とその回路を内蔵した集積回路素子
US7733122B2 (en) Semiconductor device
JP2007013856A (ja) テーブル装置及びこれを用いたアドレス検索装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101116

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110114

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110308

R150 Certificate of patent or registration of utility model

Ref document number: 4703730

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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