JP2005341370A - Arithmetic coding computing element adopting mq-coder system - Google Patents
Arithmetic coding computing element adopting mq-coder system Download PDFInfo
- Publication number
- JP2005341370A JP2005341370A JP2004159305A JP2004159305A JP2005341370A JP 2005341370 A JP2005341370 A JP 2005341370A JP 2004159305 A JP2004159305 A JP 2004159305A JP 2004159305 A JP2004159305 A JP 2004159305A JP 2005341370 A JP2005341370 A JP 2005341370A
- Authority
- JP
- Japan
- Prior art keywords
- output
- register
- stored
- sel
- selector
- 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.)
- Pending
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Image Processing (AREA)
Abstract
Description
本発明は、JPEG2000符号化方式の画像符号化装置等を構成する場合に使用するMQ−CODER方式の算術符号化演算器に関する。より具体的には、MQ−CODER方式の算術符号化演算器の高速化技術に関する。 The present invention relates to an MQ-CODER arithmetic coding arithmetic unit used when configuring a JPEG2000 encoding image encoding device or the like. More specifically, the present invention relates to a technology for speeding up an MQ-CODER arithmetic coding arithmetic unit.
MQ−CODER方式は、JPEG2000の算術符号化方式として用いられている。JPEG2000の規格は、「ISO/IEC15444-1,“JPEG2000 image coding system Part1:Core coding system,”15 Dec.2000」や「野水泰之,“次世代画像符号化方式:JPEG2000,” トリケップス,Feb.2001」に詳細に記載されている。 The MQ-CODER method is used as an arithmetic coding method of JPEG2000. The standards of JPEG2000 are “ISO / IEC15444-1,“ JPEG2000 image coding system Part1: Core coding system, ”15 Dec.2000” and “Yasuyuki Nomizu,“ Next-generation image coding method: JPEG2000, ”Trikes, Feb.2001. Is described in detail.
図39は従来のMQ−CODER方式の算術符号化演算器の一例の要部を示す回路図である。図39中、CXはコンテクスト、Dはシンボル、Aはオージェンド(Augend)、Cは符号、Bはバイトデータ、1はA、C及びBを演算するMQ−CODER方式の演算部、2は演算部1で演算された新しいA、Cを更新的に記憶するレジスタである。 FIG. 39 is a circuit diagram showing a main part of an example of a conventional MQ-CODER arithmetic coding arithmetic unit. In FIG. 39, CX is a context, D is a symbol, A is an Augend, C is a code, B is byte data, 1 is an arithmetic unit of MQ-CODER system for calculating A, C and B, and 2 is an arithmetic unit This is a register for renewably storing new A and C calculated in 1.
図39に示す従来のMQ−CODER方式の算術符号化演算器は、演算部1に一組ごとにCX、Dを入力して新しいA、Cを演算し、新しいA、Cをレジスタ2に更新的に記憶するというものであるが、バイトアウトが生じた場合、Bの演算が行われる。ここで、Aの演算は、1CX当たり1回で可能であるが、Bの演算には1クロックサイクルないし、それ以上のクロックサイクルを必要とする。したがって、バイトアウトが生じると、Bの演算が終了するまで、Aの演算を停止する必要がある。
図39に示す従来のMQ−CODER方式の算術符号化演算器では、バイトアウトが生じると、Bの演算が終了するまでAの演算を停止する必要があるため、Aの演算を連続的に行うことができない。また、Aは演算部1で演算されるごとに変化し、演算部1は、その変化したAを次のAの演算に使用するため、先行して次のCX、Dを入力してAの演算を行うことができず、最速でも、1回の演算で一組のCX、Dしか処理することができない。これらの点が算術符号化演算の高速化を妨げる原因となっていた。
In the conventional MQ-CODER arithmetic coding arithmetic unit shown in FIG. 39, if byte out occurs, it is necessary to stop the operation of A until the operation of B is completed, so the operation of A is continuously performed. I can't. In addition, A changes every time it is calculated by the
特許文献1には、A演算で生じるシフト演算のためのループを避け、1度の演算でAを求める方法が記載されている。しかしながら、特許文献1に記載の技術では、Cの演算がAの演算とは独立していないため、Cの演算結果を出力するためにAの演算を待たすことになり、この点が算術符号化演算の高速化を妨げることになる。
本発明は、かかる点に鑑み、Aの演算を連続して行い、MQ−CODER方式の算術符号化演算の高速化を図ることができるようにしたMQ−CODER方式の算術符号化演算器、更には、複数組のCX、Dを並行処理できるようにし、更なる高速化を図ることができるようにしたMQ−CODER方式の算術符号化演算器を提供することを目的とする。 In view of the above, the present invention is an MQ-CODER arithmetic coding arithmetic unit that continuously performs the operation of A, and can speed up the MQ-CODER arithmetic coding operation, An object of the present invention is to provide an MQ-CODER-type arithmetic coding arithmetic unit capable of processing a plurality of sets of CX and D in parallel and further increasing the speed.
本発明のMQ−CODER方式の算術符号化演算器は、CX、Dを入力してAを演算すると共に、所定データを出力するオージェンド演算部と、該A演算部が出力する所定データを記憶する記憶部と、該記憶部が記憶する所定データを入力してC、Bを演算するC演算部を有するというものである。 The MQ-CODER arithmetic coding arithmetic unit of the present invention inputs CX and D, calculates A, and outputs an audend arithmetic unit that outputs predetermined data, and stores predetermined data output by the A arithmetic unit. A storage unit and a C calculation unit for calculating C and B by inputting predetermined data stored in the storage unit are provided.
本発明によれば、A演算部とC演算部とを、A演算部から出力される所定データを記憶する記憶部を介して、独立に構成しているので、バイトアウトが生じた場合であっても、Cの演算結果を出力する場合であっても、Aを演算することができる。したがって、Aの演算を連続して行い、MQ−CODER方式の算術符号化演算の高速化を図ることができる。なお、A演算部を、Aを入出力値として多段接続する場合には、複数組のCX、Dを並行処理することができ、更なる高速化を図ることができる。 According to the present invention, the A calculation unit and the C calculation unit are configured independently via the storage unit that stores the predetermined data output from the A calculation unit. Even if the calculation result of C is output, A can be calculated. Therefore, the operation of A can be performed continuously, and the speed of the arithmetic coding operation of the MQ-CODER system can be increased. When the A arithmetic units are connected in multiple stages using A as an input / output value, a plurality of sets of CX and D can be processed in parallel, and further speedup can be achieved.
以下、図1〜図38を参照して、本発明の第1実施形態〜第4実施形態について、本発明をJPEG2000符号化方式の画像符号化装置を構成する場合に使用するMQ−CODER方式の算術符号化演算器に適用した場合を例にして説明する。 1 to 38, the first embodiment to the fourth embodiment of the present invention are based on the MQ-CODER system used when the present invention is configured as a JPEG2000 encoding image encoding apparatus. A case where the present invention is applied to an arithmetic coding arithmetic unit will be described as an example.
(第1実施形態)
図1は本発明の第1実施形態の要部を示す回路図である。図1中、4は第1演算手段、5は記憶手段、6は第2演算手段である。第1演算手段4はCX、Dを入力してAを演算すると共に、Cの演算に必要なデータであるQe=劣性シンボル確率、BS=符号化時再正規化処理回路でのAのビットシフト量、Sel=Qeが有効であるか否かを示すデータを出力するものである。記憶手段5は第1演算手段4が出力するQe、BS、Selを記憶するものである。第2演算手段6は記憶手段5が記憶するQe、BS、Selを入力してC、Bを演算するものである。
(First embodiment)
FIG. 1 is a circuit diagram showing the main part of the first embodiment of the present invention. In FIG. 1, 4 is a first calculation means, 5 is a storage means, and 6 is a second calculation means. The first calculation means 4 inputs CX and D and calculates A, and Qe = recessive symbol probability which is data necessary for the calculation of C, BS = bit shift of A in the renormalization processing circuit at the time of encoding Data indicating whether the quantity, Sel = Qe, is valid or not is output. The storage means 5 stores Qe, BS and Sel output from the first calculation means 4. The second calculation means 6 inputs Qe, BS and Sel stored in the storage means 5 and calculates C and B.
第1演算手段4において、7はAレジスタ、8はA演算部である。Aレジスタ7はA(m)を更新的に記憶するものである。但し、mはCX、Dの組の番号を示す数である。A演算部8は前段装置(図示せず)から与えられるCX(m)、D(m)と、Aレジスタ7が記憶するA(m)を入力し、MQ−CODER方式によりA(m+1)を演算するものである。A演算部8が演算したA(m+1)は、A(m)に代わってAレジスタ7に更新的に記憶される。
In the first computing means 4, 7 is an A register and 8 is an A computing unit. The
記憶手段5において、9−0、9−1、9−2は記憶手段5が備えるレジスタ中の3個を示しており、レジスタ9−0、9−1、9−2を始めとする記憶手段5が備えるレジスタはQe(m)、BS(m)、Sel(m)を記憶する容量を持つものである。第2演算手段6において、10はCレジスタ、11はC演算部である。Cレジスタ10はCを更新的に記憶するものである。C演算部11は、記憶手段5のレジスタ9−0が記憶するQe、BS、Selと、Cレジスタ10が記憶するCを入力し、MQ−CODER方式によりC、Bを演算するものである。C演算部11が演算したCはCレジスタ10に更新的に記憶される。
In the storage means 5, reference numerals 9-0, 9-1 and 9-2 indicate three of the registers provided in the storage means 5, and the storage means including the registers 9-0, 9-1 and 9-2. The
図2はA演算部8の回路図である。図2中、13はインデックス・メモリであり、CX(m)を入力し、CX(m)におけるインデックス=I(CX(m))を出力するものである。14はQeテーブル回路であり、インデックス・メモリ13が出力するI(CX(m))を入力し、Qe(m)=Qe(I(CX(m))を出力するものである。
FIG. 2 is a circuit diagram of the
15は減算器であり、Aレジスタ7が記憶するA(m)からQeテーブル回路14が出力するQe(m)を減算するものである。16は比較器であり、Qeテーブル回路14が出力するQe(m)を左に1ビットシフトしたもの(Qe(m)<<1)とAレジスタ7が記憶するA(m)を比較し、A(m)<(Qe(m)<<1)の場合には“1”を出力し、それ以外の場合には“0”を出力するものである。
A
17はMPSメモリであり、CX(m)を入力し、CX(m)における優勢シンボル=MPS(CX(m))を出力するものである。18はExOR回路であり、MPSメモリ17が出力するMPS(CX(m))とD(m)をExOR処理し、IsLPS(m)(=符号化がMPS符号化であるかLPS符号化であるかを示すデータ)を出力するものである。
19はExOR回路であり、比較器16の出力とExOR回路18が出力するIsLPS(m)をExOR処理し、Sel(m)を出力するものである。20はセレクタであり、ExOR回路19が出力するSel(m)を選択制御データとし、Sel(m)=“1”の場合には、Qeテーブル回路14が出力するQe(m)を選択し、Sel(m)=“0”の場合には、減算器15が出力する(A(m)−Qe(m))を選択するものである。
An
21はRENORME(符号化時再正規化)回路であり、セレクタ20の出力を入力して符号化再正規化処理を行い、A(m+1)、BS(m)を出力するものである。22はAND回路であり、SWITCH(I(CX(m)))(=シンボル逆転スイッチ)とExOR回路18が出力するIsLPS(m)をAND処理するものである。23はExOR回路であり、MPSメモリ17が出力するMPS(CX(m))とAND回路22の出力をExOR処理してNxtMPS(CX(m))(=後段のビット処理に必要な優勢シンボル)を出力するものである。
24はネクスト・インデックス回路であり、インデックス・メモリ13が出力するI(CX(m))、減算器15が出力する(A(m)−Qe(m))及びExOR回路18が出力するIsLPS(m)を入力してNxtI(CX(m))(=後段のビット処理に必要なインデックス)を出力するものである。
図3はインデックス・メモリ13の第1構成例の回路図である。図3中、26−i(但し、i=0、1、2、…、18)はセレクタ、27−iはインデックス・レジスタ、28はセレクタであり、CX(m)=iであるか否かを示すデータを選択制御データとし、CX(m)=iの場合には、NxtI(CX(m))を選択し、CX(m)≠iの場合には、インデックス・レジスタ27−iの出力を選択するものである。インデックス・レジスタ27−iは、セレクタ26−iの出力を記憶するものである。セレクタ28は、CX(m)を選択制御データとし、CX(m)=iの場合には、インデックス・レジスタ27−iの出力を選択するものであり、セレクタ28の出力はI(CX(m))である。
FIG. 3 is a circuit diagram of a first configuration example of the
図4はインデックス・メモリ13の第2構成例の回路図である。インデックス・メモリ13の第2構成例は、図3に示すセレクタ26−18及びインデックス・レジスタ27−18の代わりに、固定値「46」を出力する回路30を設け、その他については、図3に示すインデックス・メモリ13の第1構成例と同様に構成したものである。同様の置き換えは、図16のインデックス・レジスタ87−18及び図27のインデックス・レジスタ162−18でも可能である。
FIG. 4 is a circuit diagram of a second configuration example of the
図5はMPSメモリ17の第1構成例の回路図である。図5中、32−iはセレクタ、33−iはMPSレジスタ、34はセレクタであり、CX(m)=iであるか否かを示すデータを選択制御データとし、CX(m)=iの場合には、NxtMPS(CX(m))を選択し、CX(m)≠iの場合には、MPSレジスタ33−iの出力を選択する。MPSレジスタ33−iは、セレクタ32−iの出力を記憶するものである。セレクタ34は、CX(m)を選択制御データとし、CX(m)=iの場合には、MPSレジスタ33−iの出力を選択する。
FIG. 5 is a circuit diagram of a first configuration example of the
図6はMPSメモリ17の第2構成例の回路図である。MPSメモリ17の第2構成例は、図5に示すセレクタ32−18及びMPSレジスタ33−18の代わりに、固定値「0」を出力するレジスタ36を設け、その他については、図5に示すMPSメモリ16の第1構成例と同様に構成したものである。同様の置き換えは、第2実施形態、第3実施形態及び第4実施形態におけるMPSメモリでも可能である。
FIG. 6 is a circuit diagram of a second configuration example of the
図7はネクスト・インデックス回路24の回路図である。図7中、38はセレクタであり、A(m)[15](A(m)の16ビット目)を選択制御データとし、A(m)[15]=“0”の場合にはNMPS(I(CX(m)))=MPS符号化後の更新インデックスを選択し、A(m)[15]=“1”の場合にはI(CX(m))を選択するものである。39はセレクタであり、IsLPS(m)を選択制御データとし、IsLPS(m)=“0”の場合にはセレクタ38の出力を選択し、IsLPS(m)=“1”の場合にはNLPS(I(CX(m)))(=LPS符号化後の更新インデックス)を選択するものである。
FIG. 7 is a circuit diagram of the
図8はC演算部11の回路図である。図8中、41はセレクタであり、QeReg0(=レジスタ9−0が記憶するQe)が有効であるか否かを示すデータSelReg0(=レジスタ9−0が記憶するSel)を選択制御データとし、SelReg0=“0”の場合にはQeReg0を選択し、SelReg0=“1”の場合には0を選択するものである。
FIG. 8 is a circuit diagram of the
42は加算器であり、Cレジスタ10が記憶するCとセレクタ41の出力を加算するものである。43はシフタであり、加算器42の出力をS0=Min(CT、BSReg0)だけ左にシフトするものである。但し、CTはバイトカウンタの値、BSReg0はレジスタ9−0が記憶するBSである。44はバイトアウト回路であり、シフタ43の出力Cinを入力してBを演算するものである。45はセレクタであり、BSReg0>=CTであるか否かを示すデータを選択制御データとし、BSReg0>=CTの場合には、バイトアウト回路44が出力するCを選択し、それ以外の場合には、シフタ43の出力を選択する。
An
図9〜図13は本発明の第1実施形態の動作例を示す回路図である。記憶手段5に対するQe、BS、Selの書き込み、読み出し制御は所定の制御回路(図示せず)で行なわれるが、図9〜図13に示す記憶手段5に対するQe、BS、Selの書き込み、読み出し制御は一例であり、その他の方法を取ることもできる。 9 to 13 are circuit diagrams showing an operation example of the first embodiment of the present invention. Qe, BS, and Sel writing and reading control with respect to the storage means 5 is performed by a predetermined control circuit (not shown), but Qe, BS, and Sel writing and reading control with respect to the storage means 5 shown in FIGS. Is an example, and other methods can be used.
図9は時刻t=T0に前段装置からA演算部8にCX(0)、D(0)が与えられた場合を示している。この場合、A演算部8は、Aレジスタ7が記憶するA(0)を入力してA(1)を演算すると共に、Qe(0)、BS(0)、Sel(0)を出力する。A(1)はAレジスタ7に更新的に記憶され、Qe(0)、BS(0)、Sel(0)はレジスタ9−0に記憶される。
FIG. 9 shows a case where CX (0) and D (0) are given to the A
図10は時刻t=T1に前段装置からA演算部8にCX(1)、D(1)が与えられた場合を示している。この場合、C演算部11は、レジスタ9−0が記憶するQe(0)、BS(0)、Sel(0)とCレジスタ10が記憶するC(0)を入力してC(1)を演算する。C(1)はCレジスタ10に更新的に記憶される。他方、A演算部8は、Aレジスタ7が記憶するA(1)を入力してA(2)を演算すると共に、Qe(1)、BS(1)、Sel(1)を出力する。A(2)はAレジスタ7に更新的に記憶され、Qe(1)、BS(1)、Sel(1)はレジスタ9−0に記憶される。
FIG. 10 shows a case where CX (1) and D (1) are given from the preceding apparatus to the
図11は時刻t=T2に前段装置からA演算部8にCX(2)、D(2)が与えられた場合を示している。この場合、C演算部11は、レジスタ9−0が記憶するQe(1)、BS(1)、Sel(1)とCレジスタ10が記憶するC(1)を入力するが、この時点でバイトアウトが発生したとすると、C演算部11はB(0)を演算し、BS(1)を後処理したBS´(1)(=BS(1)−BS(0))がレジスタ9−0に記憶される。C´(1)はCレジスタ10に更新的に記憶される。他方、A演算部8は、Aレジスタ7が出力するA(2)を入力してA(3)を演算すると共に、Qe(2)、BS(2)、Sel(2)を出力する。A(2)はAレジスタ7に更新的に記憶され、Qe(2)、BS(2)、Sel(2)はレジスタ9−1に記憶される。
FIG. 11 shows a case where CX (2) and D (2) are given to the A
図12は時刻t=T3に前段装置からA演算部8にCX(3)、D(3)が与えられた場合を示している。この場合、C演算部11は、レジスタ9−0が記憶するBS´(1)とCレジスタ10が記憶するC´(1)を入力してC(2)を演算する。C(2)はCレジスタ10に更新的に記憶される。他方、A演算部8は、Aレジスタ7が出力するA(3)を入力し、A(4)を演算すると共に、Qe(3)、BS(3)、Sel(3)を出力する。A(4)はAレジスタ7に更新的に記憶され、Qe(3)、BS(3)、Sel(3)はレジスタ9−1に記憶される。また、レジスタ9−1に記憶されているQe(2)、BS(2)、Sel(2)はレジスタ9−0に記憶される。
FIG. 12 shows a case where CX (3) and D (3) are given from the preceding apparatus to the
図13は時刻t=T4に前段装置からA演算部8にCX(4)、D(4)が与えられた場合を示している。この場合、C演算部11は、レジスタ9−0が記憶するQe(2)、BS(2)、Sel(2)とCレジスタ10が記憶するC(2)を入力してC(3)を演算する。C(3)はCレジスタ10に更新的に記憶される。他方、A演算部8は、Aレジスタ7が出力するA(4)を入力し、A(5)を演算すると共に、Qe(4)、BS(4)、Sel(4)を出力する。A(5)はAレジスタ7に更新的に記憶される。以下、同様の動作が続けられる。
FIG. 13 shows a case where CX (4) and D (4) are given to the A
以上のように、本発明の第1実施形態によれば、Aを演算する第1演算手段4とC、Bを演算する第2演算手段6とを、第1演算手段4が出力するQe、BS、Selを記憶する記憶手段5を介して独立に構成しているので、バイトアウトが生じた場合であっても、Cの演算結果を出力する場合であっても、A演算を行うことができる。したがって、Aの演算を連続して行い、MQ−CODER方式の算術符号化演算の高速化を図ることができる。 As described above, according to the first embodiment of the present invention, the first calculation means 4 for calculating A and the second calculation means 6 for calculating C and B are output by Qe, Since it is configured independently via the storage means 5 for storing BS and Sel, it is possible to perform the A operation even when byteout occurs or when the C operation result is output. it can. Therefore, the operation of A can be performed continuously, and the speed of the arithmetic coding operation of the MQ-CODER system can be increased.
(第2実施形態)
図14は本発明の第2実施形態の要部を示す回路図である。図14中、47は第1演算手段、48は記憶手段、49は第2演算手段である。第1演算手段47はCX、Dを入力してAを演算するものである。記憶手段48は第1演算手段47が出力するCの演算に必要なQe、BS、Selを記憶するものである。第2演算手段49は記憶手段48が記憶するCの演算に必要なQe、BS、Selを入力してC、Bを演算するものである。本実施形態では、前段装置(図示せず)からCX(2m)、D(2m)の組と、CX(2m+1)、D(2m+1)の組が並列して与えられる。
(Second Embodiment)
FIG. 14 is a circuit diagram showing the main part of the second embodiment of the present invention. In FIG. 14, 47 is a first calculation means, 48 is a storage means, and 49 is a second calculation means. The first calculating means 47 inputs CX and D and calculates A. The storage means 48 stores Qe, BS and Sel necessary for the calculation of C output from the first calculation means 47. The second calculation means 49 inputs Qe, BS and Sel necessary for the calculation of C stored in the storage means 48 and calculates C and B. In the present embodiment, a set of CX (2m) and D (2m) and a set of CX (2m + 1) and D (2m + 1) are given in parallel from a preceding apparatus (not shown).
第1演算手段47において、50はAレジスタ、51、52はA演算部である。Aレジスタ50はA(2m)を記憶するものである。A演算部51は、CX(2m)、D(2m)とAレジスタ50が記憶するA(2m)を入力し、MQ−CODER方式によりA(2m+1)を演算するものである。A演算部52は、CX(2m+1)、D(2m+1)とA演算部51が出力するA(2m+1)を入力し、MQ−CODER方式によりA(2m+2)を演算するものである。A演算部52が演算したA(2m+2)は、A(2m)に代わってAレジスタ50に更新的に記憶される。
In the first calculation means 47, 50 is an A register, and 51 and 52 are A calculation units. The
記憶手段48において、53−0〜53−4は記憶手段48が備えるレジスタ中の5個を示しており、レジスタ53−0〜53−4を始めとする記憶手段48が備えるレジスタは、Qe(j)、BS(j)、Sel(j)を記憶する容量を持つものである。但し、j=2m、2m+1である。 In the storage means 48, 53-0 to 53-4 indicate five of the registers provided in the storage means 48. The registers provided in the storage means 48 including the registers 53-0 to 53-4 are Qe ( j), BS (j), and Sel (j). However, j = 2m and 2m + 1.
第2演算手段49において、54はCレジスタ、55、56はC演算部である。Cレジスタ54はCを記憶するものである。C演算部55は、記憶手段48のレジスタ53−0が記憶するQe、BS、SelとCレジスタ54が記憶するCを入力し、MQ−CODER方式によりC、Bを演算するものである。C演算部56は、記憶手段48のレジスタ53−1が記憶するQe、BS、SelとC演算部55が出力するCを入力し、MQ−CODER方式によりC、Bを演算するものである。C演算部56が演算したCはCレジスタ54に更新的に記憶される。
In the second calculation means 49, 54 is a C register, and 55 and 56 are C calculation units. The C register 54 stores C. The
図15はA演算部51、52の回路図である。図15中、A演算部51において、58はインデックス・メモリであり、CX(2m)を入力して、I(CX(2m))を出力するものである。59はQeテーブル回路であり、インデックス・メモリ回路58が出力するI(CX(2m))を入力し、Qe(2m)=Qe(I(CX(2m))を出力するものである。
FIG. 15 is a circuit diagram of the
60は減算器であり、Aレジスタ50が記憶するA(2m)からQeテーブル回路59が出力するQe(2m)を減算するものである。61は比較器であり、Qeテーブル回路59が出力するQe(2m)を左に1ビットシフトしたもの(Qe(2m)<<1)とAレジスタ50が記憶するA(2m)を比較し、A(2m)<(Qe(2m)<<1)の場合には“1”を出力し、それ以外の場合には“0”を出力するものである。
A
62はMPSメモリであり、CX(2m)を入力してMPS(CX(2m))を出力するものである。63はExOR回路であり、MPSメモリ62が出力するMPS(CX(2m))とD(2m)をExOR処理してIsLPS(2m)を出力するものである。
64はExOR回路であり、比較器61の出力とExOR回路63が出力するIsLPS(2m)をExOR処理してSel(2m)を出力するものである。65はセレクタであり、ExOR回路64が出力するSel(2m)を選択制御データとし、Sel(2m)=“1”の場合には、Qeテーブル回路59が出力するQe(2m)を選択し、Sel(2m)=“0”の場合には、減算器60が出力する(A(2m)−Qe(2m))を選択するものである。
66はRENORME回路であり、セレクタ65の出力を入力して符号化再正規化処理を行い、A(2m+1)、BS(2m)を出力するものである。67はAND回路であり、SWITCH(I(CX(2m)))とExOR回路63が出力するIsLPS(2m)をAND処理するものである。68はExOR回路であり、MPSメモリ62が出力するMPS(CX(2m))とAND回路67の出力をExOR処理してNxtMPS(CX(2m))を出力するものである。
69はネクスト・インデックス回路であり、インデックス・メモリ58が出力するI(CX(2m))、減算器60が出力する(A(2m)−Qe(2m))及びExOR回路63が出力するIsLPS(2m)を入力してNxtI(CX(2m))を出力するものである。
A演算部52において、70はインデックス・メモリであり、CX(2m+1)を入力し、PreI(CX(2m+1))(プレ・インデックス)を出力するものである。71はセレクタであり、CX(2m)=CX(2m+1)であるか否かを示すデータを選択制御データとし、CX(2m)=CX(2m+1)の場合には、ネクスト・インデックス回路69が出力するNxtI(CX(2m))を選択し、それ以外の場合には、インデックス・メモリ70が出力するPreI(CX(2m+1))を選択するものである。セレクタ71の出力はI(CX(2m+1))である。
In the
72はQeテーブル回路であり、セレクタ71が出力するI(CX(2m+1))を入力し、Qe(2m+1)=Qe(I(CX(2m+1))を出力するものである。73は減算器であり、RENORME回路66が出力するA(2m+1)からQeテーブル回路72が出力するQe(2m+1)を減算するものである。
A
74は比較器であり、Qeテーブル回路72が出力するQe(2m+1)を左に1ビットシフトしたもの(Qe(2m+1)<<1)と、RENORME回路66が出力するA(2m+1)を比較し、A(2m+1)<(Qe(2m+1)<<1)の場合には“1”を出力し、それ以外の場合には“0”を出力するものである。75はMPSメモリであり、CX(2m+1)を入力し、PreMPS(CX(2m+1))を出力するものである。
74 is a comparator that compares Qe (2m + 1) output from the
76はセレクタであり、CX(2m)=CX(2m+1)であるか否かを示すデータを選択制御データとし、CX(2m)=CX(2m+1)の場合には、ExOR回路68が出力するNxtMPS(CX(2m))を選択し、CX(2m)≠CX(2m+1)の場合には、MPSメモリ75が出力するPreMPS(CX(2m+1))(プレ優勢シンボル)を選択するものである。セレクタ76の出力はMPS(CX(2m+1))である。
77はExOR回路であり、セレクタ76が出力するMPS(CX(2m+1))とD(2m+1)をExOR処理してIsLPS(2m+1)を出力するものである。78はExOR回路であり、比較器74の出力とExOR回路77が出力するIsLSP(2m+1)をExOR処理してSel(2m+1)を出力するものである。
79はセレクタであり、ExOR回路78が出力するSel(2m+1)を選択制御データとし、Sel(2m+1)=“1”の場合にはQeテーブル回路72が出力するQe(2m+1)を選択し、Sel(2m+1)=“0”の場合には減算器73が出力する(A(2m+1)−Qe(2m+1))を選択するものである。80はRENORME回路であり、セレクタ79が出力するQe(2m+1)又は(A(2m+1)−Qe(2m+1))を入力して符号化再正規化処理を行い、A(2m+2)、BS(2m+1)を出力するものである。
81はAND回路であり、SWITCH(I(CX(2m+1)))とExOR回路77が出力するIsLPS(2m+1)をAND処理するものである。82はExOR回路であり、MPSメモリ75が出力するPreMPS(CX(2m+1))とAND回路81の出力をExOR処理してNxtMPS(CX(2m+1))を出力するものである。83はネクスト・インデックス回路であり、セレクタ71が出力するI(CX(2m+1))、減算器73が出力する(A(2m+1)−Qe(2m+1))及びExOR回路77が出力するIsLPS(2m+1)を入力してNxtI(CX(2m+1))を出力するものである。
An AND
図16はインデックス・メモリ58、70の構成例の回路図である。本発明の第2実施形態では、インデックス・メモリ58、70は一体として構成される。図16中、85−i、86−iはセレクタ、87−iはインデックス・レジスタ、88、89はセレクタである。セレクタ85−iは、CX(2m)=iであるか否かを示すデータを選択制御データとし、CX(2m)=iの場合には、NxtI(CX(2m))を選択し、CX(2m)≠iの場合には、インデックス・レジスタ87−iの出力を選択するものである。
FIG. 16 is a circuit diagram of a configuration example of the
セレクタ86−iは、CX(2m+1)=iであるか否かを示すデータを選択制御データとし、CX(2m+1)=iの場合には、NxtI(CX(2m+1))を選択し、CX(2m+1)≠iの場合には、セレクタ85−iの出力を選択する。インデックス・レジスタ87−iはセレクタ86−iの出力を記憶するものである。セレクタ88は、CX(2m)を選択制御データとし、CX(2m)=iの場合には、インデックス・レジスタ87−iの出力を選択するものである。セレクタ89は、CX(2m+1)を選択制御データとし、CX(2m+1)=iの場合には、インデックス・レジスタ87−iの出力を選択するものである。
The selector 86-i uses the data indicating whether or not CX (2m + 1) = i as selection control data. When CX (2m + 1) = i, the selector 86-i selects NxtI (CX (2m + 1)) and CX (2m + 1) = i. If 2m + 1) ≠ i, the output of the selector 85-i is selected. The index register 87-i stores the output of the selector 86-i. The
MPSメモリ62、75もインデックス・メモリ58、70と同様に構成され、図16に示すNxtI(CX(2m))、NxtI(CX(2m+1)の代わりに、NxtMPS(CX(2m))、NxtMPS(CX(2m+1))を入力する。このようにすると、I(CX(2m))、PreI(CX(2m+1))の代わりに、MPS(CX(2m))、PreMPS(CX(2m+1))が出力されることになる。
The
図17はネクスト・インデックス回路69、83の回路図である。図17中、ネクスト・インデックス回路69において、90はセレクタであり、A(2m)[15]を選択制御データとし、A(2m)[15]=“0”の場合には、NMPS(I(CX(2m)))を選択し、A(2m)[15]=“1”の場合には、I(CX(2m))を選択するものである。91はセレクタであり、IsLPS(2m)を選択制御データとし、IsLPS(2m)=“0”の場合には、セレクタ90の出力を選択し、IsLPS(2m)=“1”の場合には、NLPS(I(CX(2m)))を選択するものである。セレクタ91の出力はNxtI(CX(2m))である。
FIG. 17 is a circuit diagram of the
また、ネクスト・インデックス回路83において、92はセレクタであり、A(2m+1)[15]を選択制御データとし、A(2m+1)[15]=“0”の場合にはNMPS(CX(2m+1))を選択し、A(2m+1)[15]=“1”の場合にはI(CX(2m+1))を選択するものである。93はセレクタであり、IsLPS(2m+1)を選択制御データとし、IsLPS(2m+1)=“0”の場合にはセレクタ92の出力を選択し、IsLPS(2m+1)=“1”の場合にはNLPS(I(CX(2m+1)))を選択するものである。セレクタ93の出力はNxtI(CX(2m+1))である。
In the
図18はC演算器55、56の回路図である。C演算部55において、94はセレクタであり、QeReg0(=レジスタ53−0が記憶するQe)が有効であるか否かを示すデータSelReg0(=レジスタ53−0が記憶するSel)を選択制御データとし、SelReg0=“0”の場合にはQeReg0を選択し、SelReg0=“1”の場合には0を選択する。95は加算器であり、Cレジスタ10が記憶するCとセレクタ94の出力を加算するものである。96はシフタであり、加算器95の出力をS0=Min(CT、BSReg0+BSReg1)だけ左にシフトするものである。BSReg0はレジスタ53−0が記憶するBS、BSReg1はレジスタ53−1が記憶するBSである。
FIG. 18 is a circuit diagram of the
97はセレクタであり、QeReg1(=レジスタ53−1が記憶するQe)が有効であるか否かを示すデータSelReg1(=レジスタ53−1が記憶するSel)を選択制御データとし、SelReg1=“0”の場合にはQeReg1を選択し、SelReg1=“1”の場合には0を選択するものである。98はシフタであり、セレクタ97の出力をS0=Min(CT−BSReg0、BSReg1)だけ左にシフトするものである。99は加算器であり、シフタ96の出力とシフタ98の出力を加算するものである。
100はセレクタであり、CT<=BSReg0であるか否かのデータを選択制御データとし、CT<=BSReg0である場合には、シフタ96の出力を選択し、CT>BSReg0の場合には、加算器99の出力を選択するものである。101はバイトアウト回路であり、セレクタ100の出力を入力してBを演算するものである。102はセレクタであり、BSReg0+BSReg1>=CTであるか否かのデータを選択制御データとし、BSReg0+BSReg1>=CTの場合には、バイトアウト回路101が出力するCを選択し、BSReg0+BSReg0<CTの場合には、加算器99の出力を選択するものである。
図19〜図24は本発明の第2実施形態の動作例を示す回路図である。記憶手段48に対するQe、BS、Selの書き込み、読み出し制御は、所定の制御回路(図示せず)で行なわれるが、図19〜図24に示す記憶手段48に対するQe、BS、Selの書き込み、読み出し制御は一例であり、その他の方法を取ることもできる。
19 to 24 are circuit diagrams showing an operation example of the second embodiment of the present invention. The Qe, BS, and Sel write / read control for the
図19は時刻t=T0に前段装置からA演算部51にCX(0)、D(0)が与えられると共に、A演算部52にCX(1)、D(1)が与えられた場合を示している。この場合、A演算部51は、Aレジスタ50が出力するA(0)を入力してA(1)を演算すると共に、Qe(0)、BS(0)、Sel(0)を出力する。A(1)はA演算部52に与えられ、Qe(0)、BS(0)、Sel(0)はレジスタ53−0に記憶される。A演算部52は、A演算部51が出力するA(1)を入力してA(2)を演算すると共に、Qe(1)、BS(1)、Sel(1)を出力する。A(2)はAレジスタ50に更新的に記憶され、Qe(1)、BS(1)、Sel(1)はレジスタ53−1に記憶される。
FIG. 19 shows a case where CX (0) and D (0) are given from the preceding apparatus to the
図20は時刻t=T1に前段装置からA演算部51にCX(2)、D(2)が与えられると共に、A演算部52にCX(3)、D(3)が与えられた場合を示している。この場合、C演算部55は、レジスタ53−0が記憶するQe(0)、BS(0)、Sel(0)とCレジスタ54が記憶するC(0)を入力してC(1)を演算する。C演算部56は、レジスタ53−1が記憶するQe(1)、BS(1)、Sel(1)とC演算部55が演算したC(1)を入力してC(2)を演算する。C(2)はCレジスタ54に更新的に記憶される。
FIG. 20 shows a case where CX (2) and D (2) are given to the
他方、A演算部51は、Aレジスタ50が出力するA(2)を入力してA(3)を演算すると共に、Qe(2)、BS(2)、Sel(2)を出力する。A(3)はA演算部52に与えられ、Qe(2)、BS(2)、Sel(2)はレジスタ53−0に記憶される。A演算部52は、A演算部51が出力するA(3)を入力してA(4)を演算すると共に、Qe(3)、BS(3)、Sel(3)を出力する。A(4)はAレジスタ50に更新的に記憶され、Qe(3)、BS(3)、Sel(3)はレジスタ53−1に記憶される。
On the other hand, the
図21は時刻t=T2に前段装置からA演算部51にCX(4)、D(4)が与えられると共に、A演算部52にCX(5)、D(5)が与えられた場合を示している。この場合、C演算部55は、レジスタ53−0が記憶するQe(2)、BS(2)、Sel(2)とCレジスタ54が記憶するC(2)を入力してC(3)を演算する。C演算部56は、レジスタ53−1が記憶するQe(3)、BS(3)、Sel(3)とC演算部55が演算したC(3)を入力するが、この時点でバイトアウトが発生したとすると、C演算部56はB(0)を演算する。後処理したBS´(3)はレジスタ53−0に記憶される。
FIG. 21 shows a case where CX (4) and D (4) are given from the preceding apparatus to the
他方、A演算部51は、Aレジスタ50が出力するA(4)を入力してA(5)を演算すると共に、Qe(4)、BS(4)、Sel(4)を出力する。A(5)はA演算部52に与えられ、Qe(4)、BS(4)、Sel(4)はレジスタ53−1に記憶される。A演算部52は、A演算部51が出力するA(5)を入力してA(6)を演算すると共に、Qe(5)、BS(5)、Sel(5)を出力する。A(6)はAレジスタ50に更新的に記憶され、Qe(5)、BS(5)、Sel(5)はレジスタ53−2に記憶される。
On the other hand, the
図22は時刻t=T3に前段装置からA演算部51にCX(6)、D(6)が与えられると共に、A演算部52にCX(7)、D(7)が与えられた場合を示している。この場合、C演算部55は、レジスタ53−0が記憶するBS´(3)とCレジスタ54が記憶するC´(3)を入力してC(4)を演算する。C演算部56は、レジスタ53−1が記憶するQe(4)、BS(4)、Sel(4)とC演算部55が演算したC(4)を入力してC(5)を演算する。C(5)はCレジスタ54に更新的に記憶される。
FIG. 22 shows a case where CX (6) and D (6) are given from the preceding apparatus to the
他方、A演算部51は、Aレジスタ50が出力するA(6)を入力してA(7)を演算すると共に、Qe(6)、BS(6)、Sel(6)を出力する。A(7)はA演算部52に与えられ、Qe(6)、BS(6)、Sel(6)はレジスタ53−1に記憶される。A演算部52は、A演算部51が出力するA(7)を入力してA(8)を演算すると共に、Qe(7)、BS(7)、Sel(7)を出力する。A(8)はAレジスタ50に更新的に記憶され、Qe(7)、BS(7)、Sel(7)はレジスタ53−2に記憶される。レジスタ53−2に記憶されているQe(5)、BS(5)、Sel(5)はレジスタ53−0に記憶される。
On the other hand, the
図23は時刻t=T4に前段装置からA演算部51にCX(8)、D(8)が与えられると共に、A演算部52にCX(9)、D(9)が与えられた場合を示している。この場合、C演算部55は、レジスタ53−0が記憶するQe(5)、BS(5)、Sel(5)とCレジスタ54が記憶するC(5)を入力するが、この時点でバイトアウトが発生したとすると、C演算部55はB(1)を演算する。後処理したBS´(5)はレジスタ53−0に記憶される。C演算部55から出力されるC´(5)はCレジスタ54に記憶される。
FIG. 23 shows a case where CX (8) and D (8) are given from the preceding apparatus to the
他方、A演算部51は、Aレジスタ50が出力するA(8)を入力してA(9)を演算すると共に、Qe(8)、BS(8)、Sel(8)を出力する。A(9)はA演算部52に与えられ、Qe(8)、BS(8)、Sel(8)はレジスタ53−3に記憶される。A演算部52は、A演算部51が出力するA(9)を入力してA(10)を演算すると共に、Qe(9)、BS(9)、Sel(9)を出力する。A(10)はAレジスタ50に更新的に記憶され、Qe(9)、BS(9)、Sel(9)はレジスタ53−4に記憶される。
On the other hand, the
図24は時刻t=T5に前段装置からA演算部51にCX(10)、D(10)が与えられると共に、A演算部52にCX(11)、D(11)が与えられた場合を示している。この場合、C演算部55は、レジスタ53−0が記憶するBS´(5)とCレジスタ54が記憶するC´(5)を入力してC(6)を演算する。C演算部56は、レジスタ53−1が記憶するQe(6)、BS(6)、Sel(6)とC演算部56が演算したC(6)を入力してC(7)を演算する。C(7)はCレジスタ54に記憶される。以下、同様の動作が続けられる。
FIG. 24 shows a case where CX (10) and D (10) are given from the preceding apparatus to the
以上のように、本発明の第2実施形態によれば、Aを演算する第1演算手段47とC、Bを演算する第2演算手段49とを、第1演算手段47が出力するQe、BS、Selを記憶する記憶手段48を介して独立に構成しているので、バイトアウトが生じた場合であっても、Cの演算結果を出力する場合であっても、Aの演算を行うことができる。したがって、Aの演算を連続して行い、MQ−CODER方式の算術符号化演算の高速化を図ることができる。また、2個のA演算部51、52を設け、CX(2m)、D(2m)の組とCX(2m+1)、D(2m+1)の組とを並列して入力し、これらを並列処理できるようにしているので、本発明の第1実施形態の場合よりも高速化を図ることができる。
As described above, according to the second embodiment of the present invention, the first calculation means 47 for calculating A and the second calculation means 49 for calculating C and B are output by Qe, Since it is configured independently via the storage means 48 for storing BS and Sel, the calculation of A is performed even when byte out occurs or when the calculation result of C is output. Can do. Therefore, the operation of A can be performed continuously, and the speed of the arithmetic coding operation of the MQ-CODER system can be increased. In addition, two A
(第3実施形態)
図25は本発明の第3実施形態の要部を示す回路図である。図25中、104は第1演算手段、105は記憶手段、106は第2演算手段である。第1演算手段104はCX、Dを入力してAを演算するものである。記憶手段105は第1演算手段104が出力するCの演算に必要なQe、BS、Selを記憶するものである。第2演算手段106は記憶手段105が記憶するCの演算に必要なQe、BS、Selを入力してC、Bを演算するものである。本実施形態では、前段装置(図示せず)からCX(3m)、D(3m)の組とCX(3m+1)、D(3m+1)の組とCX(3m+2)、D(3m+2)の組が並列して与えられる。
(Third embodiment)
FIG. 25 is a circuit diagram showing the main part of the third embodiment of the present invention. In FIG. 25,
第1演算手段104において、107はAレジスタ、108、109、110はA演算部である。Aレジスタ107はA(3m)を記憶するものである。A演算部108は、CX(3m)、D(3m)とAレジスタ107が記憶するA(3m)を入力し、MQ−CODER方式によりA(3m+1)を演算するものである。
In the first calculation means 104, 107 is an A register, and 108, 109, and 110 are A calculation units. The
A演算部109は、CX(3m+1)、D(3m+1)とA演算部108が出力するA(3m+1)を入力し、MQ−CODER方式によりA(3m+2)を演算するものである。A演算部110はCX(3m+2)、D(3m+2)とA演算部109が出力するA(3m+2)を入力し、MQ−CODER方式によりA(3m+3)を演算するものである。A演算部110が演算したA(3m+3)は、A(3m)に代わってAレジスタ107に更新的に記憶される。
The
記憶手段105において、111−0〜111−4は記憶手段105が備えるレジスタ中の5個を示しており、レジスタ111−0〜111−4を始めとする記憶手段105が備えるレジスタは、Qe(k)、BS(k)、Sel(k)を記憶する容量を持つものである。但し、k=3m、3m+1、3m+2である。
In the
第2演算手段106において、112はCレジスタ、113、114、115はC演算部である。Cレジスタ112はCを記憶するものである。C演算部113は、レジスタ111−0が記憶するQe、BS、SelとCレジスタ112が記憶するCを入力し、MQ−CODER方式によりC、Bを演算するものである。
In the second calculation means 106, 112 is a C register, and 113, 114, and 115 are C calculation units. The
C演算部114は、レジスタ111−1が記憶するQe、BS、SelとC演算部113が出力するCを入力し、MQ−CODER方式によりC、Bを演算するものである。C演算部115は、レジスタ111−2が記憶するQe、BS、SelとC演算部113が出力するCを入力し、MQ−CODER方式によりC、Bを演算するものである。C演算部115が演算したCはCレジスタ112に更新的に記憶される。
The
図26はA演算部108、109、110の回路図である。図26中、A演算部108において、116はインデックス・メモリであり、CX(3m)を入力し、I(CX(3m))を出力するものである。117はQeテーブル回路であり、インデックス・メモリ回路116が出力するI(CX(3m))を入力し、Qe(3m)=Qe(I(CX(3m)))を出力するものである。
FIG. 26 is a circuit diagram of the A
118は減算器であり、Aレジスタ107が記憶するA(3m)からQeテーブル回路117が出力するQe(3m)を減算するものである。119は比較器であり、Qeテーブル回路117が出力するQe(3m)を左に1ビットシフトしたもの(Qe(3m)<<1)とAレジスタ107が記憶するA(3m)を比較し、A(3m)<(Qe(3m)<<1)の場合には“1”を出力し、それ以外の場合には“0”を出力するものである。
A
120はMPSメモリであり、CX(3m)を入力し、MPS(CX(3m))を出力するものである。121はExOR回路であり、MPSメモリ120が出力するMPS(CX(3m))とD(3m)をExOR処理してIsLPS(3m)を出力するものである。122はExOR回路であり、比較器119の出力とExOR回路121が出力するIsLPS(3m)をExOR処理し、Sel(3m)を出力するものである。
123はセレクタであり、ExOR回路122が出力するSel(3m)を選択制御データとし、Sel(3m)=“1”の場合には、Qeテーブル回路117が出力するQe(3m)を選択し、Sel(3m)=“0”の場合には、減算器118が出力する(A(3m)−Qe(3m))を選択するものである。124はRENORME回路であり、セレクタ123の出力を入力して符号化再正規化処理を行い、A(3m+1)、BS(3m)を出力するものである。
123 is a selector, and Sel (3m) output from the
125はAND回路であり、SWITCH(I(CX(3m)))とExOR回路121が出力するIsLPS(3m)をAND処理するものである。126はExOR回路であり、MPSメモリ120が出力するMPS(CX(3m))とAND回路125の出力をExOR処理してNxtMPS(CX(3m))を出力するものである。127はネクスト・インデックス回路であり、インデックス・メモリ116が出力するI(CX(3m))、減算器118が出力する(A(3m)−Qe(3m))及びExOR回路121が出力するIsLPS(3m)を入力し、NxtI(CX(3m))を出力するものである。
An AND
A演算部109において、128はインデックス・メモリであり、CX(3m+1)を入力し、PreI(CX(3m+1))を出力するものである。129はセレクタであり、CX(3m)=CX(3m+1)であるか否かを示すデータを選択制御データとし、CX(3m)=CX(3m+1)の場合にはネクスト・インデックス回路127が出力するNxtI(CX(3m))を選択し、CX(3m)≠CX(3m+1)の場合にはインデックス・メモリ128が出力するPreI(CX(3m+1))を選択するものである。セレクタ129の出力はI(CX(3m+1))である。
In the
130はQeテーブル回路であり、セレクタ129が出力するI(CX(3m+1))を入力し、Qe(3m+1)=Qe(I(CX(3m+1))を出力するものである。131は減算器であり、RENORME回路124が出力するA(3m+1)からQeテーブル回路130が出力するQe(3m+1)を減算するものである。
A
132は比較器であり、Qeテーブル回路130が出力するQe(3m+1)を左に1ビットシフトしたもの(Qe(3m+1)<<1)とRENORME回路124が出力するA(3m+1)を比較し、A(3m+1)<(Qe(3m+1)<<1)の場合には“1”を出力し、それ以外の場合には“0”を出力するものである。133はMPSメモリであり、CX(3m+1)を入力し、PreMPS(CX(3m+1))を出力するものである。
A
134はセレクタであり、CX(3m)=CX(3m+1)であるか否かを示すデータを選択制御データとし、CX(3m)=CX(3m+1)の場合には、ExOR回路126が出力するNxtMPS(CX(3m))を選択し、CX(3m)≠CX(3m+1)の場合には、MPSメモリ133が出力するPreMPS(CX(3m+1))を選択するものである。セレクタ134の出力はMPS(CX(3m+1))である。
135はExOR回路であり、セレクタ134が出力するMPS(CX(3m+1))とD(3m+1)をExOR処理してIsLPS(3m+1)を出力するものである。136はExOR回路であり、比較器132の出力とExOR回路135が出力するIsLPS(3m+1)をExOR処理し、Sel(3m+1)を出力するものである。137はセレクタであり、ExOR回路136が出力するSel(3m+1)を選択制御データとし、Sel(3m+1)=“1”の場合には、Qeテーブル回路130が出力するQe(3m+1)を選択し、Sel(3m+1)=“0”の場合には、減算器131が出力する(A(3m+1)−Qe(3m+1))を選択するものである。
138はRENORME回路であり、セレクタ137が出力するQe(3m+1)又は(A(3m+1)−Qe(3m+1))を入力して符号化再正規化処理を行い、A(3m+2)、BS(3m+1)を出力するものである。139はAND回路であり、SWITCH(I(CX(3m+1)))とExOR回路135が出力するIsLPS(3m+1)をAND処理するものである。
140はExOR回路であり、MPSメモリ133が出力するPreMPS(CX(3m+1))とAND回路139の出力をExOR処理してNxtMPS(CX(3m+1))を出力するものである。141はネクスト・インデックス回路であり、セレクタ129が出力するI(CX(3m+1))、減算器131が出力する(A(3m+1)−Qe(3m+1))及びExOR回路135が出力するIsLPS(3m+1)を入力してNxtI(CX(3m+1))を出力するものである。
A演算部110において、142はインデックス・メモリであり、CX(3m+2)を入力し、PreI(CX(3m+2))を出力するものである。143はセレクタであり、CX(3m)=CX(3m+2)であるか否かを示すデータを選択制御データとし、CX(3m)=CX(3m+2)の場合には、ネクスト・インデックス回路127が出力するNxtI(CX(3m))を選択し、CX(3m)≠CX(3m+2)の場合には、インデックス・メモリ142が出力するPreI(CX(3m+2))を選択するものである。
In the
144はセレクタであり、CX(3m+1)=CX(3m+2)であるか否かを示すデータを選択制御データとし、CX(3m+1)=CX(3m+2)の場合には、ネクスト・インデックス回路141が出力するNxtI(CX(3m+1))を選択し、CX(3m)≠CX(3m+1)の場合には、セレクタ143の出力を選択するものである。セレクタ144の出力はI(CX(3m+2))である。
145はQeテーブル回路であり、セレクタ144が出力するI(CX(3m+2))を入力し、Qe(3m+2)=Qe(I(CX(3m+2))を出力するものである。146は減算器であり、RENORME回路138が出力するA(3m+2)からQeテーブル回路145が出力するQe(3m+2)を減算するものである。
A
147は比較器であり、Qeテーブル回路145が出力するQe(3m+2)を左に1ビットシフトしたもの(Qe(3m+2)<<1)とRENORME回路138が出力するA(3m+2)を比較し、A(3m+2)<(Qe(3m+2)<<1)の場合には“1”を出力し、それ以外の場合には“0”を出力するものである。148はMPSメモリであり、CX(3m+2)を入力し、PreMPS(CX(3m+2))を出力するものである。
147 is a comparator that compares Qe (3m + 2) output from the
149はセレクタであり、CX(3m)=CX(3m+2)であるか否かを示すデータを選択制御データとし、CX(3m)=CX(3m+2)の場合には、ExOR回路126が出力するNxtMPS(CX(3m))を選択し、CX(3m)≠CX(3m+2)の場合には、MPSメモリ148が出力するPreMPS(CX(3m+2))を選択するものである。
150はセレクタであり、CX(3m+1)=CX(3m+2)であるか否かを示すデータを選択制御データとし、CX(3m+1)=CX(3m+2)の場合には、ExOR回路140が出力するNxtMPS(CX(3m+1))を選択し、CX(3m+1)≠CX(3m+2)の場合には、セレクタ149の出力を選択するものである。セレクタ150の出力はMPS(CX(3m+2))である。
151はExOR回路であり、セレクタ150が出力するMPS(CX(3m+2))とD(3m+2)をExOR処理してIsLPS(3m+2)を出力するものである。152はExOR回路であり、比較器147の出力とExOR回路151が出力するIsLSP(3m+2)をExOR処理してSel(3m+2)を出力するものである。153はセレクタであり、ExOR回路152が出力するSel(3m+2)を選択制御データとし、Sel(3m+2)=“1”の場合には、Qeテーブル回路145が出力するQe(3m+2)を選択し、Sel(3m+2)=“0”の場合には、減算器146が出力する(A(3m+2)−Qe(3m+2))を選択するものである。
154はRENORME回路であり、セレクタ153の出力を入力して符号化再正規化処理を行い、A(3m+3)、BS(3m+2)を出力するものである。155はAND回路であり、SWITCH(I(CX(3m+2)))とExOR回路151が出力するIsLPS(3m+2)をAND処理するものである。156はExOR回路であり、MPSメモリ148が出力するPreMPS(CX(3m+2))とAND回路155の出力をExOR処理してNxtMPS(CX(3m+2))を出力するものである。
157はネクスト・インデックス回路であり、セレクタ144が出力するI(CX(3m+2))、減算器146が出力する(A(3m+2)−Qe(3m+2))及びExOR回路151が出力するIsLPS(3m+2)を入力してNxtI(CX(3m+2))を出力するものである。
図27はインデックス・メモリ116、128、142の構成例の回路図である。本発明の第3実施形態では、インデックス・メモリ116、128、142は一体として構成されている。図27中、159−i、160−i、161−iはセレクタ、162−iはインデックス・レジスタ、163、164、165はセレクタである。
FIG. 27 is a circuit diagram of a configuration example of the
セレクタ159−iは、CX(3m)=iであるか否かを示すデータを選択制御データとし、CX(3m)=iの場合には、NxtI(CX(3m))を選択し、CX(3m)≠iの場合には、インデックス・レジスタ162−iの出力を選択するものである。セレクタ160−iは、CX(3m+1)=iであるか否かを示すデータを選択制御データとし、CX(3m+1)=iの場合には、NxtI(CX(3m+1))を選択し、CX(3m+1)≠iの場合には、セレクタ159−iの出力を選択するものである。 The selector 159-i uses the data indicating whether or not CX (3m) = i as selection control data. When CX (3m) = i, the selector 159-i selects NxtI (CX (3m)) and CX (3m) = i. 3m) If ≠ i, the output of the index register 162-i is selected. The selector 160-i uses the data indicating whether or not CX (3m + 1) = i as selection control data. When CX (3m + 1) = i, the selector 160-i selects NxtI (CX (3m + 1)) and CX (3m + 1) = i. When 3m + 1) ≠ i, the output of the selector 159-i is selected.
セレクタ161−iは、CX(3m+2)=iであるか否かを示すデータを選択制御データとし、CX(3m+2)=iの場合には、NxtI(CX(3m+2))を選択し、CX(3m+2)≠iの場合には、セレクタ160−iの出力を選択するものである。インデックス・レジスタ162−iは、セレクタ161−iの出力を記憶するものである。セレクタ163は、CX(3m)を選択制御データとし、CX(3m)=iの場合には、Iレジスタ162−iの出力を選択するものであり、セレクタ163の出力はI(CX(3m))である。
The selector 161-i uses data indicating whether or not CX (3m + 2) = i as selection control data. If CX (3m + 2) = i, NxtI (CX (3m + 2)) is selected and CX ( When 3m + 2) ≠ i, the output of the selector 160-i is selected. The index register 162-i stores the output of the selector 161-i. The
セレクタ164は、CX(3m+1)を選択制御データとし、CX(3m+1)=iの場合には、インデックス・レジスタ162−iの出力を選択するものであり、セレクタ164の出力はPreI(CX(3m+1))である。セレクタ165は、CX(3m+2)を選択制御データとし、CX(3m+2)=iの場合には、インデックス・レジスタ162−iの出力を選択するものであり、セレクタ165の出力はPreI(CX(3m+2))である。
The
MPSメモリ120、133、148もインデックス・メモリ116、128、142と同様に構成され、図27に示すNxtI(CX(3m))、NxtI(CX(3m+1)、NxtI(CX(3m+2)の代わりに、NxtMPS(CX(3m))、NxtMPS(CX(3m+1))、NxtMPS(CX(3m+2))を入力する。このようにすると、I(CX(3m))、PreI(CX(3m+1))、PreI(CX(3m+2))の代わりに、MPS(CX(3m))、PreMPS(CX(3m+1))、PreMPS(CX(3m+2))が出力されることになる。
The
図28はネクスト・インデックス回路127、141、157の回路図である。ネクスト・インデックス127において、167はセレクタであり、A(3m)[15]を選択制御データとし、A(3m)[15]=“0”の場合には、NMPS(I(CX(3m)))を選択し、A(3m)[15]=“1”の場合には、I(CX(3m))を選択するものである。168はセレクタであり、IsLPS(3m)を選択制御データとし、IsLPS(3m)=“0”の場合には、セレクタ167の出力を選択し、IsLPS(3m)=“1”の場合には、NLPS(I(CX(3m)))を選択するものである。
FIG. 28 is a circuit diagram of the
また、ネクスト・インデックス回路141において、169はセレクタであり、A(3m+1)[15]を選択制御データとし、A(3m+1)[15]=“0”の場合には、NMPS(I(CX(3m+1)))を選択し、A(3m+1)[15]=“1”の場合には、I(CX(3m+1))を選択するものである。170はセレクタであり、IsLPS(3m+1)を選択制御データとし、IsLPS(3m+1)=“0”の場合には、セレクタ169の出力を選択し、IsLPS(3m+1)=“1”の場合には、NLPS(I(CX(3m+1)))を選択するものである。
In the
また、ネクスト・インデックス回路157において、171はセレクタであり、A(3m+2)[15]を選択制御データとし、A(3m+2)[15]=“0”の場合には、NMPS(I(CX(3m+2)))を選択し、A(3m+2)[15]=“1”の場合には、I(CX(3m+2))を選択するものである。172はセレクタであり、IsLPS(3m+2)を選択制御データとし、IsLPS(3m+2)=“0”の場合には、セレクタ171の出力を選択し、IsLPS(3m+2)=“1”の場合には、NLPS(I(CX(3m+2)))を選択するものである。
In the
図29はC演算器113、114、115の回路図である。C演算部113において、174はセレクタである。セレクタ174は、QeReg0(=レジスタ111−0が記憶するQe)が有効であるか否かを示すデータSelReg0(=レジスタ111−0が記憶するSel)を選択制御データとし、SelReg0=“0”の場合にはQeReg0を選択し、SelReg0=“1”の場合には0を選択する。
FIG. 29 is a circuit diagram of the
175は加算器であり、Cレジスタ10が記憶するCとセレクタ175の出力を加算するものである。176はシフタであり、加算器175の出力をS0=Min(CT、BSReg0+BSReg1+BSReg2)だけ左にシフトするものである。但し、BSReg0はレジスタ111−0が記憶するBS、BSReg1はレジスタ111−1が記憶するBS、BSReg2はレジスタ111−2が記憶するBSである。
177はセレクタである。セレクタ177は、QeReg1(=レジスタ111−1が記憶するQe)が有効であるか否かを示すデータSelReg1(=レジスタ111−1が記憶するSel)を選択制御データとし、SelReg1=“0”の場合にはQeReg1を選択し、SelReg1=“1”の場合には0を選択する。178はシフタであり、セレクタ177の出力をS1=Min(CT−BSReg0、BSReg1+BSReg2)だけ左にシフトするものである。179は加算器であり、シフタ176が出力するCとシフタ178の出力を加算してCを出力するものである。
180はセレクタである。セレクタ180は、QeReg2(=レジスタ111−2が記憶するQe)が有効であるか否かを示すデータSelReg2(=レジスタ111−2が記憶するSel)を選択制御データとし、SelReg2=“0”の場合にはQeReg2を選択し、SelReg2=“1”の場合には0を選択する。181はシフタであり、セレクタ180の出力をS2=Min(CT−BSReg0−BSReg1、BSReg2)だけ左にシフトするものである。182は加算器であり、加算器179が出力するCとシフタ181の出力を加算してCを出力するものである。
183、184はセレクタである。セレクタ183は、CT<=BSReg0であるか否かのデータを選択制御データとし、CT<=BSReg0である場合にはシフタ176の出力を選択し、CT>BSReg0の場合にはセレクタ184の出力を選択するものである。セレクタ184は、CT<=BSReg0+BSReg1であるか否かのデータを選択制御データとし、CT<=BSReg0+BSReg1の場合には加算器179の出力を選択し、CT>BSReg0+BSReg1の場合には加算器182の出力を選択するものである。
185はバイトアウト回路であり、セレクタ183の出力を入力してBを演算するものである。186はセレクタであり、BSReg0+BSReg1+BSReg2>=CTであるか否かのデータを選択制御データとし、BSReg0+BSReg1+BSReg2>=CTの場合には、バイトアウト回路185の出力Cを選択し、BSReg0+BSReg1+BSReg2<CTの場合には、加算器182の出力を選択するものである。
A byte-out
本発明の第3実施形態おいては、第1演算手段104は、CX、Dを入力してAを演算すると共に、Qe、BS、Selを出力し、記憶手段105は第1演算手段104が出力するQe、BS、Selを記憶し、第2演算手段106は記憶手段105が記憶するQe、BS、Selを入力してC、Bを演算する。 In the third embodiment of the present invention, the first computing means 104 inputs CX and D and computes A and outputs Qe, BS and Sel, and the storage means 105 The output Qe, BS, and Sel are stored, and the second calculation means 106 inputs Qe, BS, and Sel stored in the storage means 105 and calculates C and B.
即ち、本発明の第3実施形態によれば、Aを演算する第1演算手段104とC、Bを演算する第2演算手段106とを、第1演算手段104が出力するQe、BS、Selを記憶する記憶手段105を介して独立に構成しているので、バイトアウトが生じた場合であっても、Cの演算結果を出力する場合であっても、Aの演算を行うことができる。したがって、Aの演算を連続して行い、MQ−CODER方式の算術符号化演算の高速化を図ることができる。 That is, according to the third embodiment of the present invention, the first calculation means 104 for calculating A and the second calculation means 106 for calculating C and B are connected to Qe, BS, Sel output from the first calculation means 104. Therefore, the calculation of A can be performed even when byte out occurs or when the calculation result of C is output. Therefore, the operation of A can be performed continuously, and the speed of the arithmetic coding operation of the MQ-CODER system can be increased.
また、3個のA演算部108、109、110を設け、CX(3m)、D(3m)の組とCX(3m+1)、D(3m+1)の組とCX(3m+2)、D(3m+2)の組を並列して入力し、これらを並列処理できるようにしているので、本発明の第2実施形態の場合よりも高速化を図ることができる。
Also, three A
(第4実施形態)
図30は本発明の第4実施形態の要部を示す回路図である。図30中、188は第1演算手段、189は記憶手段、190は第2演算手段である。第1演算手段188はCX、Dを入力してAを演算するものである。記憶手段189は第1演算手段188が出力するCの演算に必要なQe、BS、Selを記憶するものである。第2演算手段190は記憶手段189が記憶するCの演算に必要なQe、BS、Selを入力してC、Bを演算するものである。本実施形態においては、前段の装置(図示せず)からCX(2m)、D(2m)の組と、CX(2m+1)、D(2m+1)の組が並列して与えられる。
(Fourth embodiment)
FIG. 30 is a circuit diagram showing the main part of the fourth embodiment of the present invention. In FIG. 30,
第1演算手段188において、191はAレジスタ、192、193はA演算部である。Aレジスタ191はA(2m)を記憶するものである。A演算部192は、CX(2m)、D(2m)とAレジスタ191が記憶するA(2m)を入力し、MQ−CODER方式によりA(2m+1)を演算するものである。A演算部193は、CX(2m+1)、D(2m+1)とA演算部192が出力するA(2m+1)を入力し、MQ−CODER方式によりA(2m+2)を演算するものである。A演算部193が演算したA(2m+2)は、A(2m)に代わってAレジスタ191に更新的に記憶される。
In the first calculation means 188, 191 is an A register, and 192 and 193 are A calculation units. The
記憶手段189において、194−0〜194−4は記憶手段189が備えるレジスタ中の5個を示しており、レジスタ194−0〜194−4を始めとする記憶手段189が備えるレジスタは、Qe(j)、BS(j)、Sel(j)を記憶する容量を持つものである。但し、jは2m、2m+1である。
In the
第2演算手段190において、195はCレジスタ、196、197、198はC演算部である。Cレジスタ195はCを記憶するものである。C演算部196は、レジスタ194−0が記憶するQe、BS、SelとCレジスタ195が記憶するCを入力し、MQ−CODER方式によりC、Bを演算するものである。C演算部197は、レジスタ194−1が記憶するQe、BS、SelとC演算部196が出力するCを入力し、MQ−CODER方式によりC、Bを演算するものである。
In the second calculation means 190, 195 is a C register, 196, 197, and 198 are C calculation units. The
C演算部198は、レジスタ194−2が記憶するQe、BS、SelとC演算部197が出力するCを入力し、MQ−CODER方式によりC、Bを演算するものである。C演算部198が演算したCはCレジスタ195に更新的に記憶される。
The
図31〜図38は本発明の第4実施形態の動作例を示す回路図である。記憶手段189に対するQe、BS、Selの書き込み、読み出し制御は、所定の制御回路(図示せず)で行なわれるが、図31〜図38に示す記憶手段189に対するQe、BS、Selの書き込み、読み出し制御は一例であり、その他の方法を取ることもできる。
31 to 38 are circuit diagrams showing an operation example of the fourth embodiment of the present invention. The Qe, BS, and Sel write / read control for the
図31は時刻t=T0に前段装置からA演算部192にCX(0)、D(0)が与えられると共に、A演算部193にCX(1)、D(1)が与えられた場合を示している。この場合、A演算部192は、Aレジスタ191が出力するA(0)を入力してA(1)を演算すると共に、Qe(0)、BS(0)、Sel(0)を出力する。A(1)はA演算部193に与えられ、Qe(0)、BS(0)、Sel(0)はレジスタ194−0に記憶される。A演算部193は、A演算部192が出力するA(1)を入力してA(2)を演算すると共に、Qe(1)、BS(1)、Sel(1)を出力する。A(2)はAレジスタ191に記憶され、Qe(1)、BS(1)、Sel(1)はレジスタ194−1に記憶される。
FIG. 31 shows a case where CX (0) and D (0) are given from the preceding apparatus to the
図32は時刻t=T1に前段装置からA演算部192にCX(2)、D(2)が与えられると共に、A演算部193にCX(3)、D(3)が与えられた場合を示している。この場合、C演算部196は、レジスタ194−0が記憶するQe(0)、BS(0)、Sel(0)とCレジスタ195が記憶するC(0)を入力してC(1)を演算する。C演算部197は、レジスタ194−1が記憶するQe(1)、BS(1)、Sel(1)とC演算部196が演算したC(1)を入力してC(2)を演算する。C(2)はCレジスタ195に更新的に記憶される。
FIG. 32 shows a case where CX (2) and D (2) are given from the preceding apparatus to the
他方、A演算部192は、Aレジスタ191が出力するA(2)を入力してA(3)を演算すると共に、Qe(2)、BS(2)、Sel(2)を出力する。A(3)はA演算部193に与えられ、Qe(2)、BS(2)、Sel(2)はレジスタ194−0に記憶される。A演算部193は、A演算部192が出力するA(3)を入力してA(4)を演算すると共に、Qe(3)、BS(3)、Sel(3)を出力する。A(4)はAレジスタ191に記憶され、Qe(3)、BS(3)、Sel(3)はレジスタ194−1に記憶される。
On the other hand, the
図33は時刻t=T2に前段装置からA演算部192にCX(4)、D(4)が与えられると共に、A演算部193にCX(5)、D(5)が与えられた場合を示している。この場合、C演算部196は、レジスタ194−0が記憶するQe(2)、BS(2)、Sel(2)とCレジスタ195が記憶するC(2)を入力してC(3)を演算する。C演算部197は、レジスタ194−1が記憶するQe(3)、BS(3)、Sel(3)とC演算部196が演算したC(3)を入力するが、この時点でバイトアウトが発生したとすると、C演算部197はB(0)を演算する。後処理したBS´(3)はレジスタ194−0に記憶される。
FIG. 33 shows a case where CX (4) and D (4) are given from the preceding apparatus to the
他方、A演算部192は、Aレジスタ191が出力するA(4)を入力してA(5)を演算すると共に、Qe(4)、BS(4)、Sel(4)を出力する。A(5)はA演算部193に与えられ、Qe(4)、BS(4)、Sel(4)はレジスタ194−1に記憶される。A演算部193は、A演算部192が出力するA(5)を入力してA(6)を演算すると共に、Qe(5)、BS(5)、Sel(5)を出力する。A(6)はAレジスタ191に記憶され、Qe(5)、BS(5)、Sel(5)はレジスタ194−2に記憶される。
On the other hand, the
図34は時刻t=T3に前段装置からA演算部192にCX(6)、D(6)が与えられると共に、A演算部193にCX(7)、D(7)が与えられた場合を示している。この場合、C演算部196は、レジスタ194−0が記憶するBS´(3)とCレジスタ195が記憶するC´(3)を入力してC(4)を演算する。C演算部197は、レジスタ194−1が記憶するQe(4)、BS(4)、Sel(4)とC演算部196が演算したC(4)を入力してC(5)を演算する。C演算部198は、レジスタ194−2が記憶するQe(5)、BS(5)、Sel(5)とC演算部197が演算したC(5)を入力してC(6)を演算する。C(6)はCレジスタ195に更新的に記憶される。
FIG. 34 shows a case where CX (6) and D (6) are given from the preceding apparatus to the
他方、A演算部192は、Aレジスタ191が出力するA(6)を入力してA(7)を演算すると共に、Qe(6)、BS(6)、Sel(6)を出力する。A(7)はA演算部193に与えられ、Qe(6)、BS(6)、Sel(6)はレジスタ194−0に記憶される。A演算部193は、A演算部192が出力するA(7)を入力してA(8)を演算すると共に、Qe(7)、BS(7)、Sel(7)を出力する。A(8)はAレジスタ191に更新的に記憶され、Qe(7)、BS(7)、Sel(7)はレジスタ194−1に記憶される。
On the other hand, the
図35は時刻t=T4に前段装置からA演算部192にCX(8)、D(8)が与えられると共に、A演算部193にCX(9)、D(9)が与えられた場合を示している。この場合、C演算部196は、レジスタ194−0が記憶するQe(6)、BS(6)、Sel(6)とCレジスタ195が記憶するC(6)を入力するが、この時点でバイトアウトが発生したとすると、C演算部196はB(1)を演算する。後処理したBS´(6)はレジスタ194−0に記憶される。C演算部196から出力されるC´(6)はCレジスタ196に記憶される。
FIG. 35 shows a case where CX (8) and D (8) are given from the preceding apparatus to the
他方、A演算部192は、Aレジスタ191が出力するA(8)を入力してA(9)を演算すると共に、Qe(8)、BS(8)、Sel(8)を出力する。A(9)はA演算部193に与えられ、Qe(8)、BS(8)、Sel(8)はレジスタ194−2に記憶される。A演算部193は、A演算部192が出力するA(9)を入力してA(10)を演算すると共に、Qe(9)、BS(9)、Sel(9)を出力する。A(10)はAレジスタ191に更新的に記憶され、Qe(9)、BS(9)、Sel(9)はレジスタ194−4に記憶される。
On the other hand, the
図36は時刻t=T5に前段装置からA演算部192にCX(10)、D(10)が与えられると共に、A演算部193にCX(11)、D(11)が与えられた場合を示している。この場合、C演算部196は、レジスタ194−0が記憶するBS´(6)を入力すると共に、Cレジスタ195が記憶するC´(6)を入力してC(7)を演算する。C演算部197は、レジスタ194−1が記憶するQe(7)、BS(7)、Sel(7)とC演算部196が演算したC(7)を入力してC(8)を演算する。C演算部198は、レジスタ194−2が記憶するQe(8)、BS(8)、Sel(8)とC演算部197が演算したC(8)を入力してC(9)を演算する。C(9)はCレジスタ195に更新的に記憶される。
FIG. 36 shows a case where CX (10) and D (10) are given from the preceding apparatus to the
他方、A演算部192は、Aレジスタ191が出力するA(10)を入力してA(11)を演算すると共に、Qe(10)、BS(10)、Sel(10)を出力する。A(11)はA演算部193に与えられ、Qe(10)、BS(10)、Sel(10)はレジスタ194−1に記憶される。A演算部193は、A演算部192が出力するA(11)を入力し、A(12)を演算すると共に、Qe(11)、BS(11)、Sel(11)を出力する。A(12)はAレジスタ191に記憶され、Qe(11)、BS(11)、Sel(11)はレジスタ194−2に記憶される。レジスタ194−3に記憶されているQe(9)、BS(9)、Sel(9)はレジスタ194−0に記憶される。
On the other hand, the
図37は時刻t=T6に前段装置からA演算部192にCX(12)、D(12)が与えられると共に、A演算部193にCX(13)、D(13)が与えられた場合を示している。この場合、C演算部196は、レジスタ194−0が記憶するQe(9)、BS(9)、Sel(9)とCレジスタ195が記憶するC(9)を入力してC(10)を演算する。
FIG. 37 shows a case where CX (12) and D (12) are given from the preceding apparatus to the
C演算部197は、レジスタ194−1が記憶するQe(10)、BS(10)、Sel(10)とC演算部196が演算したC(10)を入力してC(11)を演算する。C演算部198は、レジスタ194−2が記憶するQe(11)、BS(11)、Sel(11)とC演算部197が演算したC(11)を入力してC(12)を演算する。C(12)はCレジスタ195に更新的に記憶される。
The
他方、A演算部192は、Aレジスタ191が出力するA(12)を入力してA(13)を演算すると共に、Qe(12)、BS(12)、Sel(12)を出力する。A(13)はA演算部193に与えられ、Qe(12)、BS(12)、Sel(12)はレジスタ194−0に記憶される。A演算部193は、A演算部192が出力するA(13)を入力し、A(14)を演算すると共に、Qe(13)、BS(13)、Sel(13)を出力する。A(14)はAレジスタ191に更新的に記憶され、Qe(13)、BS(13)、Sel(13)はレジスタ194−1に記憶される。
On the other hand, the
図38は時刻t=T7に前段装置からA演算部192にCX(14)、D(14)が与えられ、A演算部193にCX(15)、D(15)が与えられた場合を示している。この場合、C演算部196は、レジスタ194−0が記憶するQe(12)、BS(12)、Sel(12)とCレジスタ195が記憶するC(12)を入力してC(13)を演算する。C演算部197は、レジスタ194−1が記憶するQe(13)、BS(13)、Sel(13)と、C演算部196が演算したC(13)を入力してC(14)を演算する。C(14)はCレジスタ195に更新的に記憶される。
FIG. 38 shows a case where CX (14) and D (14) are given from the preceding apparatus to the
他方、A演算部192は、Aレジスタ191が出力するA(14)を入力してA(15)を演算すると共に、Qe(14)、BS(14)、Sel(14)を出力する。A(15)はA演算部193に与えられ、Qe(14)、BS(14)、Sel(14)はレジスタ194−0に記憶される。A演算部193は、A演算部192が出力するA(15)を入力してA(16)を演算すると共に、Qe(15)、BS(15)、Sel(15)を出力する。A(16)はAレジスタ191に更新的に記憶され、Qe(15)、BS(15)、Sel(15)はレジスタ194−1に記憶される。
On the other hand, the
以上のように、本発明の第4実施形態によれば、Aを演算する第1演算手段188とC、Bを演算する第2演算手段190とを、第1演算手段188が出力するQe、BS、Selを記憶する記憶手段189を介して独立に構成しているので、バイトアウトが生じた場合であっても、Cの演算結果を出力する場合であっても、Aの演算を行うことができる。したがって、Aの演算を連続して行い、MQ−CODER方式の算術符号化演算の高速化を図ることができる。 As described above, according to the fourth embodiment of the present invention, the first calculation means 188 for calculating A and the second calculation means 190 for calculating C and B are output by Qe, Since it is configured independently via the storage means 189 for storing BS and Sel, the calculation of A is performed even when byteout occurs or when the calculation result of C is output. Can do. Therefore, the operation of A can be performed continuously, and the speed of the arithmetic coding operation of the MQ-CODER system can be increased.
また、2個のA演算部192、193を設け、CX(2m)、D(2m)の組とCX(2m+1)、D(2m+1)の組とを並列して入力し、これらを並列処理できるようにしているので、本発明の第2実施形態の場合と同様の高速化を図ることができる。更に、第2演算手段は、A演算部よりも数の多い3個のC演算部196、197、198を設けているので、Bの連続出力後、しばらく、Bの出力が生じなければ、記憶手段189のレジスタのうち、使用するレジスタを2個に戻すことができる。したがって、記憶手段189の規模を本発明の第2実施形態が備える記憶手段48よりも小さくすることができる。
In addition, two A
1…演算部
2…レジスタ
4、47、104、188…第1演算手段
5、48、105、189…記憶手段
6、49、106、190…第2演算手段
7、50、107、191…Aレジスタ
8、51、52、108〜110、192、193…A演算部
9−x、53−x、111−x、194−x…レジスタ
10、54、112、195…Cレジスタ
11、55、56、113〜115、196〜198…C演算部
DESCRIPTION OF
Claims (5)
該オージェンド演算部が出力する所定データを記憶する記憶部と、
該記憶部が記憶する所定データを入力して符号及びバイトデータを演算する符号演算部を有することを特徴とするMQ−CODER方式の算術符号化演算器。 An agenda computing unit that inputs a context and a symbol and computes an agenda, and outputs predetermined data;
A storage unit for storing predetermined data output by the audend calculation unit;
An MQ-CODER type arithmetic coding arithmetic unit comprising a code arithmetic unit for inputting predetermined data stored in the storage unit and calculating code and byte data.
5. The MQ-CODER arithmetic coding arithmetic unit according to claim 4, wherein the number of the code arithmetic units is larger than that of the audend arithmetic units.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004159305A JP2005341370A (en) | 2004-05-28 | 2004-05-28 | Arithmetic coding computing element adopting mq-coder system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004159305A JP2005341370A (en) | 2004-05-28 | 2004-05-28 | Arithmetic coding computing element adopting mq-coder system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005341370A true JP2005341370A (en) | 2005-12-08 |
Family
ID=35494399
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004159305A Pending JP2005341370A (en) | 2004-05-28 | 2004-05-28 | Arithmetic coding computing element adopting mq-coder system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005341370A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013016954A (en) * | 2011-07-01 | 2013-01-24 | Nec Engineering Ltd | Arithmetic encoding method and arithmetic encoder |
KR101226544B1 (en) | 2011-04-25 | 2013-01-25 | 국방과학연구소 | Co-design method and apparatus using DSP and FPGA for JPEG2000 Video Compression |
-
2004
- 2004-05-28 JP JP2004159305A patent/JP2005341370A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101226544B1 (en) | 2011-04-25 | 2013-01-25 | 국방과학연구소 | Co-design method and apparatus using DSP and FPGA for JPEG2000 Video Compression |
JP2013016954A (en) * | 2011-07-01 | 2013-01-24 | Nec Engineering Ltd | Arithmetic encoding method and arithmetic encoder |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0158530B1 (en) | Nonrestoring divider | |
KR940008615B1 (en) | High-radix divider | |
JP2006227939A (en) | Arithmetic unit | |
WO1999066423A1 (en) | Data calculating device | |
US20010025293A1 (en) | Divider | |
US9009209B2 (en) | Processor, control method of processor, and computer readable storage medium storing processing program for division operation | |
JP2013210838A (en) | Arithmetic circuit and arithmetic method | |
JP2005341370A (en) | Arithmetic coding computing element adopting mq-coder system | |
JP5175983B2 (en) | Arithmetic unit | |
JP4317738B2 (en) | Average value calculating apparatus and average value calculating method | |
JP2003216419A (en) | Calculator and calculating method | |
JP3221252B2 (en) | Huffman decoder | |
JP4163967B2 (en) | Floating point arithmetic unit | |
JP3736745B2 (en) | Data arithmetic processing apparatus and data arithmetic processing program | |
JP2002175179A (en) | Integer dividing method and integer dividing device | |
JP3613466B2 (en) | Data arithmetic processing apparatus and data arithmetic processing program | |
CN111201559B (en) | Replacement device, replacement method, and recording medium | |
JP4408727B2 (en) | Digital circuit | |
JP2000278538A (en) | Device and method for arithmetic encoding/decoding | |
JP2005293092A (en) | Arithmetic right shift device for negative number having most significant bit of 1 | |
JP2000010763A (en) | Division circuit | |
JP4862894B2 (en) | Encoding apparatus and method, and processor | |
CN114895868A (en) | Division operation unit and divider based on two-digit quotient calculation | |
JPS63182740A (en) | Divider | |
JPH03245225A (en) | Floating decimal-point addition/subtraction device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070312 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090310 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090331 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090728 |