WO2004036433A1 - 半導体集積回路装置 - Google Patents

半導体集積回路装置 Download PDF

Info

Publication number
WO2004036433A1
WO2004036433A1 PCT/JP2002/010879 JP0210879W WO2004036433A1 WO 2004036433 A1 WO2004036433 A1 WO 2004036433A1 JP 0210879 W JP0210879 W JP 0210879W WO 2004036433 A1 WO2004036433 A1 WO 2004036433A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
memory
register
control unit
bit
Prior art date
Application number
PCT/JP2002/010879
Other languages
English (en)
French (fr)
Inventor
Kazuyoshi Ishiwatari
Michi Kumagai
Akiko Saho
Original Assignee
Renesas Thchnology 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 Renesas Thchnology Corp. filed Critical Renesas Thchnology Corp.
Priority to PCT/JP2002/010879 priority Critical patent/WO2004036433A1/ja
Publication of WO2004036433A1 publication Critical patent/WO2004036433A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30018Bit or string instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction

Definitions

  • the present invention relates to encoding / decoding processing of data, and in particular, a technique effective when applied to an encoder / decoder technique for variable data such as MPEG (Moving Picture Expert Group). It is about. Background art
  • variable-length bits are generated and the variable-length bits are stored in memory, but the memory bus has only fixed-length (64Z32Z16Z8 bits, etc.) access. Therefore, data cannot be written directly to the memory.
  • a CPU or the like when a CPU or the like writes variable-length data to memory, it reads out the empty bits of the buffer into which the data is written, extracts the data for the empty bits from the write data, and writes the data by ORing with the buffer.
  • software uses the software to retain the bits used in the buffer data for the next write.
  • variable-length bits for data decompression.
  • the memory bus has a fixed length (64/32/16/8 bits, etc.), direct reading cannot be performed.
  • the CPU when the CPU reads variable-length data, it reads the necessary bits from the data read register, and shifts the register by the used bits.
  • the software performs a process of extracting the used bits of data from the original data to be read, and writing the data to the re-read data read register by ORing with the data read register.
  • Japanese Patent Application Laid-Open No. 9-80404 discloses an example of this type of data decompression / compression technology in detail. This document describes efficient decompression processing of image data such as MPEG. The technology to be performed is described.
  • An object of the present invention is to provide a semiconductor integrated circuit device capable of significantly reducing the processing performance of decode-no-encoding by efficiently transferring variable-length data in a short time.
  • the present invention provides a register control unit that detects valid bit data from the transferred variable-length data and stores the valid bit data, and that the valid bit data stored in the register control unit has a certain accumulated amount. And a first memory for storing the valid bit data when the condition becomes
  • the valid bit data stored in the first memory It has a memory control unit that detects that the memory capacity has been increased.
  • the register control unit may include a data register for storing the transferred variable-length data, and a register for detecting valid bit data from the variable-length data stored in the data register. It consists of a control unit and a secondary buffer register that stores valid bit data.
  • a data register for storing the transferred variable-length data, a secondary buffer register for storing valid bit data, and a remaining bit register for storing the number of remaining bits stored in the secondary buffer register.
  • a first control unit for detecting valid bit data from the stored variable-length data and detecting the valid bit data accumulated in the secondary buffer register from the stored number of remaining bits; and Each time the valid bit data is transferred to the first memory to be stored, the address value is incremented until the maximum address is read, and the total of the transferred valid bit data becomes a set value.
  • an address generation unit for detecting the fact.
  • a second memory for storing data transferred from the main memory, a data buffer for storing data of an arbitrary bit length transferred from the second memory, and a second buffer based on a supplementary bit number indication signal.
  • a controller for transferring data of an arbitrary bit length from the two memories to the data buffer.
  • the data buffer is a secondary buffer for storing data of an arbitrary bit length transferred from the second memory, and a primary buffer for storing data transferred from the secondary buffer.
  • the control section transfers the supplementary bits from the secondary buffer based on the supplementary bit number indication signal.
  • control unit increments the address value until the address value reads the maximum address value each time the second memory transfers data, and It detects whether all data has been read.
  • FIG. 1 is a block diagram of a data processing device according to an embodiment of the present invention
  • FIG. 2 is a block diagram of an accelerator provided in the data processor of FIG. 1
  • FIG. 3 is provided in the accelerator of FIG.
  • FIG. 4 is a configuration diagram of the decoder accelerator provided in the accelerator of FIG. 2
  • FIG. 5 is a state transition diagram of the encoder accelerator of FIG. 3
  • FIG. 3 is a flowchart of a control operation in a bit shift / overall control unit provided in the encoder accelerator of FIG. 3
  • FIG. 8 is a processing flowchart of an address generation unit provided in the encoder accelerator of FIG. 3
  • FIG. 9 is a flowchart of FIG.
  • FIG. 12 is a flowchart of a control operation in the overall control unit
  • FIG. 12 is a processing flowchart of an address generation unit provided in the decoder / accelerator of FIG. BEST MODE FOR CARRYING OUT THE INVENTION
  • the data processing device 1 performs encoding / decoding of data compressed by M PEG or the like.
  • the data processing device 1 is provided in an electronic system such as a personal computer, for example.
  • the data processing device 1 includes an A / D 'DZA converter 2, a main memory 3, a program memory 4, a processor 5, and the like.
  • the AZD / D / A converter 2, the main memory 3, the program memory 4, and the processor 5 are interconnected by a bus B.
  • the A / D / D / A converter 2 performs AZD (Analog / Digita 1) conversion and DZA (Digital Ana 1 og) conversion of the data.
  • the main memory 3 stores data that has been AZD-converted (encoded) by the A / D / DZA converter 2, compressed bitstream data, and program work data. This is the memory to store.
  • the program memory 4 is a memory that stores an encoder program, a decoder program, and the like.
  • the processor 5 controls all controls in the data processing device 1.
  • the AZD / D / A converter 2, main memory 3, program memory 4, and processor 5 are interconnected by a bus B.
  • the processor 5 is composed of a CPU (Central PRo cEss e ng Un i t) core 6, an accelerator (semiconductor integrated circuit device) 7, and the like.
  • the CPU core 6 is responsible for data operations, execution of various instructions and bus control.
  • the accelerator 7 is an accelerator that performs processing for the CPU core 6 to efficiently read variable-length code data.
  • the CPU core 6 and the accelerator 7 are connected by the internal bus B1.
  • the CPU core 6 and the accelerator 7 are formed on one chip has been described, but the accelerator 7 may be formed separately as a separate chip.
  • the accelerator 7 is composed of an encoder accelerator 8 and a decoder accelerator 9. These encoder accelerator 8 and decoder accelerator 9 are provided with memories 10 and 11, respectively.
  • the encoder accelerator 8 allows the CPU core 6 to efficiently write variable-length code data in the encoder processing to the main memory 3.
  • the decoder accelerator 9 performs a process in which the CPU core 6 efficiently reads the variable-length code data written in the main memory 3 in the decoder process.
  • fixed-length data is transferred between the processor 5 and the main memory 3 via the bus B
  • variable-length data is transferred between the accelerator 7 and the CPU core 6 via the internal bus B1. Data is being transferred.
  • the encoder accelerator 8 includes a memory (first memory) 10, a data register (register control unit) 12, a bit shift / overall control unit (register control unit, The first control unit) 13, the remaining bit register (bit number register) 14, the address generation unit 15, and the flag register 16.
  • the encoder accelerator 8 is mutually connected to the CPU core 6 via the internal bus B1.
  • the memory 10 stores data transferred from the secondary data buffer register (register control unit, secondary data buffer) 13a.
  • the data register 12 is a register that stores an encoded bit by writing from the CPU core 6.
  • the data register 12 is connected to the overall bit shift control unit 13.
  • the bit shift / overall control section 13 is provided with a secondary data buffer register 13a.
  • the bit shift control unit 13 writes the valid bit specified by the write address from the CPU core 6 to the secondary data buffer register 13a among the encode bits stored in the data register 12. Line la.
  • the remaining bit register 14 temporarily stores the number of remaining valid bits of the secondary data buffer register 13a.
  • the number of valid bits is used to determine how much more bits can be stored in the secondary data buffer register 13a by the next data input.
  • the address generation unit 15 generates an address by incrementing the address when writing the data of the secondary data buffer register 13a to the sequential memory 10. Further, the data transferred from the secondary data buffer register 13a determines whether the number of data that can be stored in the memory 10 has reached the upper limit or not. 16 Full flag FF is set.
  • the data register 12 and the flag register 16 are registers that the CPU core 6 can refer to.
  • addresses 1 to 32 corresponding to the number of valid bits are assigned to the data register 12 in advance, and data is written to the address corresponding to the number of valid bits.
  • the data register 12 includes:! It has a register area of ⁇ 32 bits, and determines the number of effective bits by switching the write address when writing from the CPU core 6. In other words, the address to which data is written is switched according to the number of effective bits.
  • Decoder accelerator 9 includes memory (second memory) 11, primary data buffer register (data buffer, primary data buffer) 17, bit shift Z overall control unit (control unit) 18, secondary data buffer It consists of registers (data buffer, secondary data buffer) 19, address generator (controller) 20, flag register 21, remaining bit register 22, and used bit number write register 23.
  • the decoder accelerator 9 is interconnected with the CPU core 6 via the internal bus B1.
  • the memory 11 stores the bit stream of the compressed data transferred from the main memory 3 via the bus B by the CPU 6.
  • the primary data buffer register 17 stores data for the number of supplementary bits transferred from the secondary data buffer register 19.
  • the data stored in the primary data buffer register 17 is shifted data to which a different address is assigned for each valid bit number.
  • the overall bit shift control section 18 controls the decoder accelerator 9.
  • the secondary data buffer register 19 stores data transferred from the memory 11.
  • the address generation unit 20 detects whether or not the memory 11 is empty, and sets the empty flag EF in the flag register 21 when the memory 11 is empty.
  • the flag register 21 indicates, as an empty flag EF, whether the address generated by the address generator 20 is the lower limit of the memory 11 and the memory 11 is empty.
  • the remaining bit register 22 stores the number of remaining bits of the secondary data buffer register 19. After the CPU core 6 reads the data in the primary data buffer register, Write the number of bits used in the decoding process with.
  • the primary data buffer register 17 always indicates the bits used only for 32 bits.
  • the CPU core 6 reads the data from the primary data buffer register 17 and writes the used bit number to the used bit number write register 23 after using it.
  • the used bits of the register 17 are discarded by the left bit shift, and the vacant lower bits are supplemented with the missing bits from the data through the secondary data buffer register 19 from the memory 11.
  • the secondary data buffer register 13a is, for example, 32 bits.
  • the CPU core 6 writes the number of effective encoding bits to the secondary data buffer register 13a.
  • the encoder accelerator 8 starts processing.
  • the CPU core 6 writes the encoded data encoded in the CPU into the data register 12 of the encoder / accelerator 8.
  • Encoder dacerator 8 writes the number of valid bits specified by the write address out of the data stored in data register 12 to secondary data buffer register 13a (state J101). If the secondary data buffer register 13a is not in FULL (32 bits of valid bits are stored), the secondary data buffer register 13a stores data until it reaches FULL (state J101) ). Then, when the bit shift overall control unit 13 recognizes that the secondary data buffer register 13a has become FULL, the data stored in the secondary data buffer register 13a is written to the memory 10 (state J 102). After writing is completed, it enters the idle (IDLE) state and waits for the next CPU core 6 encoder data to be written.
  • IDLE idle
  • the CPU core 6 converts the data compressed by the CPU core 6 into a variable-length code (encode) (step S101), and writes the data to a matching address in the data register 12 (step S101). S102), proceed to the next process.
  • step S203 the number of remaining bits is updated, and the process ends (step S208).
  • the input data is shifted to the right by A bit, the logical sum of the input data and the data in the secondary data buffer register 13a is obtained, and the data is overwritten in the secondary data buffer register 13a (step S205). Then, the secondary data buffer register 13a is set to FULL (all 32 bits of valid data are stored).
  • Step S206 At the time of data storage, an address for writing to the memory 10 is generated by the address generation unit and writing is performed. In practice, the address is incremented for each write.
  • step S207 the input data is shifted to the left and stored in the secondary data buffer register 13a. Finally, the number of remaining bits of the remaining bit register is updated (step S208).
  • step S301 Each time the data of the secondary data buffer register 13a is transferred to the memory 10, the address generation unit 15 provided in the bit shift / overall control unit 13 is incremented (step S301). Then, the processing is repeated until the address value indicates the maximum address of the memory 10 (step S302). In the processing in step S302, when the maximum address is indicated, the bit of the full flag FF is set in the flag register 16 (step S303). Thereafter, the address is automatically reset and returns to the first address of the memory 10 (step S304).
  • the primary data buffer register 17 seen from the CPU core 6 always has 32 bits of unused data. 8 removes the used bits of data from the CPU core 6 and refills the primary data buffer register 17 with unused data bits by the same number of bits.
  • the secondary data buffer register 19 which has data in advance, first uses the secondary data buffer register 19 to store the primary data. Add bits to the data buffer register 17 (state J203), and only when it is insufficient (state J204) memory 1 From 1 to 2, replenish the data to the secondary data buffer register 19 and end the processing (state J205). If not, it returns to the idle state and waits for the next access from CPU core 9 (state J 202).
  • the CPU core 6 extracts n-bit data from the shifted data of the primary data buffer register # 1 (step S401).
  • the extracted data is compared with the variable-length code table (step S402). If the data matches the table, the number of bits used is written to the primary data buffer register 1 (step S403), and variable-length code decoding is performed (step S403). Step S404).
  • step S402 If it does not match the variable length code table in the process of step S402, the data length is taken out and the value of n is changed (step S405), and the process of step S401 is performed.
  • the target n-bit shift data is directly extracted from the primary data buffer register 17. By extracting the n bits, bits are automatically refilled.
  • step S401 will be described in detail with reference to FIG.
  • the number of used bits is compared with the number of remaining bits (step S501). If the number of used bits is not larger than the number of remaining bits, the most significant bit (MSB) of the secondary data buffer register 19 is determined. The number of bits used is written in the LSB (Least Significant Bit) of the primary data buffer register 17 (step S502).
  • MSB most significant bit
  • the number of bits used in the secondary data buffer register 19 is shifted in the MSB direction and overwritten on the secondary data buffer register 19 (step S503).
  • step S501 the number of bits used is larger than the number of remaining bits. If not, write the remaining bits of the secondary data buffer register 19 to the next bit of the primary data buffer register 17 (step S504).
  • step S505 the 32-bit data is read from the memory 11 and written into the secondary data buffer register 19.
  • step S506 the empty flag EF is set.
  • step S507 From the MSB of the secondary data buffer register 19, write 'the number of used bits minus the number of remaining bits' to the LSB of the primary data buffer register 17 (step S507).
  • the secondary data buffer register 19 is shifted in the MSB direction by 'the number of bits used-the number of remaining bits' (step S508).
  • the remaining bits are written to the remaining bits register 22 (step S509).
  • step S601 each time data is transferred from the memory 11 to the secondary data buffer register 19, the address generation unit 20 is incremented (step S601). The process is repeated until the address value indicates the maximum address of the memory 11. When the maximum address is indicated (step S602), a bit of the empty flag EF is set in the flag register 21 (step S603). After that, the address is automatically reset and returns to the top address of memory 11 (step S 6 0 4) 0
  • the encoder core 8 allows the CPU core 6 to write the data of the variable length code into the internal memory 10 of the encoder accelerator 8 with one access.
  • the processing performance of the encoder can be improved.
  • the decoder accelerator 9 allows the CPU core 6 to read variable-length code data in one access, so that the processing performance of the decoder can be improved.
  • the semiconductor integrated circuit device is suitable for the technology for improving the processing speed in the encoding / decoding of variable-length data.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

 CPUコア6は、エンコード有効ビットをデータレジスタ12に書き込む。ビットシフト/全体制御部13はこのデータ中のアドレスで示された有効ビットを2次データバッファレジスタ13aに書き込む。2次データバッファレジスタ13aのデータ蓄積がFULLになったら、メモリ10に該2次データバッファレジスタ13aが記憶したデータを書き込む。これらの処理を繰り返し、転送ビットの合計がメモリ10の上限になったら、CPUコア6は該メモリ10の内容全てをメインメモリ3に転送する。これにより、CPUコア6は、可変長符号のデータを1アクセスで読み込むことができるので、エンコーダの処理性能を向上させることができる。デコーダアクセラレータではほぼこの逆の動作で高性能化している。

Description

明細書 半導体集積回路装置
技術分野
本発明は、データのェンコ一ド /デコード処理に関し、特に、 MP EG (M o v i n g P i c t u r e Ex p e r t G r o u p)なとの可変 テ ータにおけるェンコ一ダ デコ一ダ技術に適用して有効な技術に関するも のである。 背景技術
近年、 パーソナノレコンピュータや PDA (P e r s o n a l D i g i t a 1 As s i s t a n t s) などでは、 動画や音声のアプリケーションが 広く用いられる。 この動画や音声などのデータ圧縮技術として、 たとえば、 MPEG 2などの圧縮規格が広く用いられている。
MP EG 2などのデータのェンコ一ド処理においては、可変長ビットを生 成し、 その可変長ビットを ^モリに蓄積することになるが、 メモリバスは固 定長 (64Z32Z16Z8ビットなど) アクセスしかできないために、 該 メモリに直接データを書き込むことができない。
よって、 C PUなどが可変長データをメモリに書き込む場合、 データを書 き込むバッファの空きビットを読み出し、書き込みデータから空きビット分 のデータを取り出し、バッファとの論理和をとつてデータを書き込み、 さら に、次の書き込みのためにバッファデータの使用ビットを保持する処理をソ フトウエアにより行っている。
また、デコード処理においては、 データ伸張において可変長ビッ 卜を読み 出す必要があるが、 前述したようにメモリバスは固定長 (64/32/16 / 8ビットなど) なので、 直接読み込むことができない。
よって、 CPUが可変長デ一タを読み出す際には、 データ読み込みレジス タより必要なビットを読み出し、さらに使用済みビット分のレジスタシフト を行い、 読み出す元データから使用ビット分データを取り出し、 データ読み 込みレジスタとの論理和をとつて再ぴデータ読み込みレジスタにデータを 書き込むという処理をソフトウエアによって行っている。
なお、この種のデータ伸張/圧縮技術について詳しく述べてある例として は、 特開平 9— 8 4 0 0 4号公報があり、 この文献には、 M P E Gなどの画 像データの伸張処理を効率的に行う技術について記載されている。
ところが、 上記のような画像デ一タなどの圧縮 Z伸張技術では、 次のよう な問題点があることが本発明者により見い出された。
すなわち、 デコード処理では、 使用済みビットの読み出し、 データシフト、 データ書き込み、論理和演算などの回数が多く処理時間がかかってしまい、 デコーダ性能を低下させてしまうという問題がある。
また、 エンコード処理においても、 空きビットの読み出し、 データ書き込 み、論理和演算などの処理回数が非常に多く、 エンコード性能を落としてし まうという問題がある。
本発明の目的は、可変長データを短時間で効率よく転送することにより、 デコードノエンコードの処理性能を大幅に短縮することのできる半導体集 積回路装置を提供することにある。
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述およ び添付図面から明らかになるであろう。 発明の開示
本願において開示される発明のうち、 代表的なものの概要を簡単に説明す れば、 以下のとおりである。
( 1 ) 本発明は、 転送された可変長データから有効ビットデータを検出し、 前記有効ビットデータを蓄積するレジスタ制御部と、 該レジスタ制御部に蓄 積された有効ビットデータが、ある蓄積量になった際に前記有効ビットデー タを格納する第 1メモリとを備えたものである。
また、 本願のその他の発明の概要を簡単に示す。
( 2 ) 前記第 1項において、 第 1メモリに格納された前記有効ビットデータ 力 あるメモリ容量になったことを検出するメモリ制御部を備えたものであ る。
( 3 ) 前記第 1項または前記第 2項において、 レジスタ制御部が、 転送され た可変長データを格納するデータレジスタと、 該データレジスタに格納され た可変長データから有効ビットデータを検出する第 1制御部と、 有効ビット データを蓄積する 2次バッファレジスタとよりなるものである。
( 4 ) 転送された可変長データを格納するデータレジスタと、 有効ビッ トデ ータを蓄積する 2次バッファレジスタと、 該 2次バッファレジスタに蓄積さ れる残りビット数を格納する残りビットレジスタと、 格納された可変長デー タから有効ビッ トデータを検出するとともに、 格納された残りビッ ト数から 2次バッファレジスタに蓄積された有効ビッ トデータを検出する第 1制御 部と、 検出した有効ビットデータを格納する第 1メモリと、 該第 1メモリに 有効ビットデータを転送する毎に最大ァドレスをリ一ドするまでァドレス 値をインクリメントするとともに、 転送された有効ビットデータの合計があ る設定値になったことを検出するァドレス生成部とを備えたものである。
( 5 ) メインメモリから転送されたデータを格納する第 2メモリ と、 該第 2 メモリから転送される任意のビット長分のデータを蓄積するデータバッファ と、 補充ビット数指示信号に基づいて、 第 2メモリから前記データバッファ に任意のビット長のデータを転送する制御部とを備えたものである。
( 6 ) 前記第 5項において、 データバッファが、 第 2メモリから転送される 任意のビット長分のデータを蓄積する 2次バッファと、 該 2次バッファから 転送されたデータを蓄積する 1次バッファとよりなり、 制御部は、 補充ビッ ト数指示信号に基づいて、 2次バッファから補充ビットを転送するものであ る。
( 7 ) 前記第 5項または前記第 6項において、 制御部は、 第 2メモリがデー タを転送する毎に、 ァドレス値が最大ァドレス値をリードするまでァドレス 値をインクリメントし、 第 2メモリの全データを読み出したか否かを検出す るものである。 図面の簡単な説明
図 1は、 本発明の一実施の形態によるデータ処理装置のブロック図、 図 2 は、 図 1のデータ処理装置に設けられたァクセラレータのブロック図、 図 3 は、図 2のァクセラレータに設けられたエンコーダァクセラレータの構成図、 図 4は、図 2のァクセラレータに設けられたデコーダァクセラレータの構成 図、 図 5は、 図 3のエンコーダァクセラレータにおける状態遷移図、 図 6、 図 7は、図 3のエンコーダァクセラレータに設けられたビットシフト /全体 制御部における制御動作のフローチャート、 図 8は、 図 3のエンコーダァク セラレータに設けられたアドレス生成部の処理フローチャート、 図 9は、 図 4のデコーダァクセラレータにおける状態遷移図、 図 1 0、 および図 1 1は、 図 4のデコーダァクセラレータに設けられたビッ トシフト /全体制御部に おける制御動作のフローチャート、 図 1 2は、 図 4のデコーダァクセラレー タに設けられたァドレス生成部の処理フローチヤ一トである。 発明を実施するための最良の形態
本発明を詳細に説明するために、 添付の図面に従ってこれを説明する。 な お、 実施例を説明するための全図において、 同一機能を有するものは同一符 号を付け、 その繰り返しの説明は省略する。
本実施の形態において、 データ処理装置 1は、 M P E Gなどによって圧縮 されたデータのエンコード/デコード処理を行う。 このデータ処理装置 1は、 たとえば、 パーソナルコンピュータなどの電子システムに設けられている。 データ処理装置 1は、 図 1に示すように、 A/D ' DZA変換器 2、 メイ ンメモリ 3、 プログラムメモリ 4、 およびプロセッサ 5などから構成されて いる。 これら AZD · D/A変換器 2、 メインメモリ 3、 プログラムメモリ 4、 ならびにプロセッサ 5は、 バス Bによって相互に接続されている。
A/D · D/A変換器 2は、 データを AZD (A n a l o g /D i g i t a 1 ) 変換、 および DZA (D i g i t a lノ A n a 1 o g ) 変換する。 メ インメモリ 3は、 A/D · DZA変換器 2が AZD変換 (エンコード) した データや圧縮ビッ トス トリームデータ、プログラムのワークデータなどを格 納するメモリである。 プログラムメモリ 4は、 エンコーダプログラム、 およ ぴデコーダプログラムなどが格納されたメモリである。
プロセッサ 5は、 データ処理装置 1におけるすべての制御を司る。 また、 これら AZD · D/A変換器 2、 メインメモリ 3、 プログラムメモリ 4、 な らびにプロセッサ 5は、 バス Bによって相互に接続されている。
また、 プロセッサ 5は、 CPU (C e n t r a l P r o c e s s i n g Un i t) コア 6、 およびァクセラレータ (半導体集積回路装置) 7などか らなる。 CPUコア 6は、 データ演算、 各種の命令実行やバス制御などを司 る。 ァクセラレータ 7は、 可変長符号データを CPUコア 6が効率的に読み 込むための処理を行うァクセラレータである。 そして、 CPUコア 6とァク セラレータ 7とは、 内部バス B 1によって接続されている。
ここでは、 CPUコア 6、 およびァクセラレータ 7が 1チップ上に形成さ れた場合について記載したが、 ァクセラレータ 7を別チップとして個別に形 成するようにしてもよレ、。
ァクセラレータ 7は、 図 2に示すように、 エンコーダァクセラレータ 8、 およびデコーダァクセラレータ 9から構成されている。 これらエンコーダァ クセラレータ 8、 ならびにデコーダァクセラレータ 9には、 メモリ 10, 1 1がそれぞれ設けられている。
エンコーダァクセラレータ 8は、エンコーダ処理における可変長符号デー タを CPUコア 6が効率的にメインメモリ 3に書き込む処理を行う。、 デコ ーダァクセラレータ 9は、デコーダ処理におけるメインメモリ 3に書き込ま れている可変長符号データを C P Uコア 6が効率的に読み込む処理を行う。 また、プロセッサ 5とメインメモリ 3との間のバス Bを介してのデータ転 送は固定長データが、ァクセラレータ 7と CPUコア 6との間の内部バス B 1を介してのデータ転送は可変長データが転送されている。
また、 エンコーダァクセラレータ 8の内部構成について、 図 3を用いて説 明する。
エンコーダァクセラレータ 8は、 メモリ (第 1メモリ) 10、 データレジ スタ (レジスタ制御部) 1 2、 ビットシフ ト/全体制御部 (レジスタ制御部、 第 1制御部) 1 3、 残りビッ トレジスタ (ビッ ト数用レジスタ) 1 4、 ァド レス生成部 1 5、 ならびにフラグレジスタ 1 6から構成されている。 このェ ンコーダァクセラレータ 8は、内部バス B 1を介して C P Uコア 6と相互に 接続されている。
メモリ 1 0は、 2次データバッファレジスタ (レジスタ制御部、 2次デ一 タバッファ) 1 3 aから転送されたデータを格納する。 データレジスタ 1 2 は、 C P Uコア 6からの書き込みによりエンコードビットを記憶するレジス タである。 ビットシフトノ全体制御部 1 3には、 データレジスタ 1 2が接続 されている。 このビットシフト/全体制御部 1 3に 2次データバッファレジ スタ 1 3 aが設けられている。
ビッ トシフトノ全体制御部 1 3は、データレジスタ 1 2に格納されたェン コードビッ トのうちの C P Uコア 6から書き込みァドレスによって指定さ れた有効ビッ トを 2次データバッファレジスタ 1 3 aに書き込む処理を行 ラ。
残りビットレジスタ 1 4は、 2次データバッファレジスタ 1 3 aの残り有 効ビット数を一時的に格納する。有効ビット数は次のデータ入力により 2次 データバッファレジスタ 1 3 aにあとどのく らいのビット量が格納可能か を判定する際に用いる。
ァドレス生成部 1 5は、 2次データバッファレジスタ 1 3 aのデータを順 次メモリ 1 0に書き込む際にァドレスをインク リメントすることでァドレ スを生成する。 さらに 2次データバッファレジスタ 1 3 aから転送されるデ —タによってメモリ 1 0の格納可能なデータ数が上限になったか否かを判 定し、格納データ数が上限になった際にフラグレジスタ 1 6にフルフラグ F Fを立てる。
データレジスタ 1 2、 およびフラグレジスタ 1 6は、 C P Uコア 6が参照 できるレジスタである。 C P Uコア 6からのェンコ一ドビット書き込みでは、 データレジスタ 1 2に有効ビット数と一致した 1〜 3 2のァドレスを予め 割り当てておいて、その有効ビット数と一致するァドレスにデータを書き込 む。 また、 本発明の実施例においては、 データレジスタ 1 2は、 :!〜 3 2ビッ ト分のレジスタ領域を持ち、 C P Uコア 6からの書き込み時に書き込みァド レスを切り替えることで有効ビット数を判断する。 つまり、 有効ビット数に よってデータを書き込むァ ドレスを切り替えて用いている。
さらに、 デコーダァクセラレータ 9の内部構成について、 図 4を用いて説 明する。
デコーダァクセラレータ 9は、 メモリ (第 2メモリ) 1 1、 1次データバ ッファレジスタ (データバッファ、 1次データバッファ) 1 7、 ビッ トシフ ト Z全体制御部 (制御部) 1 8、 2次データバッファレジスタ (データバッ ファ、 2次データバッファ) 1 9、 ア ドレス生成部 (制御部) 2 0、 フラグ レジスタ 2 1、残りビットレジスタ 2 2、 および使用ビット数書き込みレジ スタ 2 3から構成されている。 このデコーダァクセラレータ 9は、 内部バス B 1を介して C P Uコア 6と相互に接続されている。
メモリ 1 1は、 C P Uコア 6によってバス Bを介してメインメモリ 3から 転送された圧縮データのビットストリームを格納する。 1次データバッファ レジスタ 1 7は、 2次データバッファレジスタ 1 9から転送された補充ビッ ト数分のデータを格納する。この 1次データバッファレジスタ 1 7に格納さ れるデータは、有効ビット数毎に違うアドレスを割り当てたシフト済みのデ ータである。
ビッ トシフト 全体制御部 1 8は、デコーダァクセラレータ 9の制御を司 る。 2次データバッファレジスタ 1 9は、 メモリ 1 1から転送されるデータ を格納する。 アドレス生成部 2 0は、 メモリ 1 1が空になったか否かを検出 し、該メモリ 1 1が空になった際にェンプティフラグ E Fをフラグレジスタ 2 1にたてる。
フラグレジスタ 2 1はェンプティフラグ E Fとして、ァドレス生成部 2 0 の生成ァドレスがメモリ 1 1の下限となり、メモリ 1 1が空になっているか どうかを示す。 残りビットレジスタ 2 2は、 2次データバッファレジスタ 1 9の残りビット数を記憶する。 使用ビット数書き込みレジスタ 2 3は、 C P Uコア 6が 1次データバッファレジスタ内のデータを読み込んだ後、その中 でデコード処理に使用したビット数を書き込む。
1次データバッファレジスタ 1 7は、常に 32ビットのみ使用ビットが示 されるようにしておく。 C PUコア 6がこの 1次データバッファレジスタ 1 7からデータを読み出し、使用した後に使用ビット数書き込みレジスタ 23 に使用したビット数を書き込むと、 ビットシフトノ全体制御部 1 8で、 1次 データバッファレジスタ 1 7の使用されたビットを左ビッ トシフトにより 捨て、空になった下位ビット側にメモリ 1 1から 2次データバッファレジス タ 1 9を介したデータから不足分のビットを補充する。
次に、 本実施の形態によるァクセラレータ 7の動作について説明する。 始めに、エンコーダァクセラレータ 8について図 5の状態遷移図を用いて 説明する。
ここで、 2次データバッファレジスタ 1 3 aは、 たとえば、 32ビッ トと する。
CPUコア 6は、エンコード有効ビット数を 2次データバッファレジスタ 1 3 aに書き込む。 この書き込みを受けて、 エンコーダァクセラレータ 8は 処理を開始する。
まず、 CPUコア 6は、 C PU内でエンコード処理したエンコードデータ をエンコーダァクセラレータ 8のデータレジスタ 12に書き込む。ェンコ一 ダァクセラレータ 8はデータレジスタ 1 2に格納されたデータのうち、書き 込みァドレスで指定された有効ビッ ト数を 2次データバッファレジスタ 1 3a に書き込む (状態 J 1 01)。 2次データバッファレジスタ 1 3 aが F ULL (32ビット分有効ビットが蓄積された状態) でない場合、 2次デー タバッファレジスタ 1 3aは FUL Lにな までデータの蓄積を行う (状態 J 1 01)。 そして、 2次データバッファレジスタ 13 aが FULLになつ たことをビットシフト 全体制御部 1 3が認識した場合は、メモリ 1 0へ該 2次データバッファレジスタ 1 3 aが記憶したデータを書き込む(状態 J 1 02)。 書き込み終了後、 アイ ドル (I DLE) 状態になり、 次の CPUコ ァ 6のエンコーダデータの書き込みを待つ。
状態 J 101、 および状態 J 102の処理を繰り返し、 転送ビットの合計 がエンコーダァクセラレータ 8のメモリ 10の上限になったら、 CPUコア 6は該メモリ 1 0の内容全てをメインメモリ 3に転送する。
また、エンコーダァクセラレータ 8に設けられたビットシフト 全体制御 部 1 3における制御動作について、 図 6、 および図 7のフローチャートを用 いて説明する。
まず、 CPUコア 6は、 CPUコア 6で圧縮処理されたデータを可変長符 号に変換し (ェンコード) (ステップ S 10 1)、 そのデータをデータレジス タ 1 2の一致するアドレスに書き込み (ステップ S 102)、 次の処理に移 る。 ァクセラレータは書き込まれたデータを処理して次の処理に備える。 また、 ステップ S 102の処理について、 図 7を用いて詳細に説明する。 ビッ トシフトノ全体制御部 1 3は、 入力データの有効入力ビット数が、残 りビット数より大きくない場合 (ステップ S 20 1)、' データ書き込み後の 残りビット数 A=残りビット数一有効入力ビット数' を計算し、 その Aの値 を残りビットレジスタ 14に書き込む (ステップ S 202)。
そして、 入力データを Aビット左にシフトし、 2次データバッファレジス タ 1 3 aのデータとの論理和 (OR) をとり、 その演算したデータを 2次デ ータバッファレジスタ 1 3 aに上書きし (ステップ S 203)、 残りビット 数を更新して処理を終了する (ステップ S 208)。
ステップ S 201の処理において、 入力データの有効ビット数が、 残りビ ット数より大きい場合、' データ書き込み後の残りビッ ト数 A=残りビット 数一有効入力ビット数' を計算し、 その残りビット数 Aの値を残りビットレ ジスタ 14に書き込む (ステップ S 204)。
その後、入力データを Aビッ ト右にシフトし、 2次データバッファレジス タ 1 3 aのデータとの論理和をとり、そのデータを 2次データバッファレジ スタ 13 aに上書きし (ステップ S 205)、 2次データバッファレジスタ 1 3 aを FULL (32ビットに有効データがすべて蓄積された状態) にす る。
このとき、 2次データバッファレジスタ 1 3 aは FUL Lの状態になって いるため、該 2次データバッファレジスタ 1 3 aのデータをメモリ 1 0に格 納する (ステップ S 2 0 6 )。 このデータ格納時にはメモリ 1 0への書き込 みのためのア ドレスをアドレス生成部で生成し、 書き込みを行う。 実際には ァドレスは書き込み毎にインクリメントされる。
そして、 入力データを左にシフトし、 2次データバッファレジスタ 1 3 a に格納する (ステップ S 2 0 7 )。 最後に、 残りビッ トレジスタの残りビッ ト数を更新する (ステップ S 2 0 8 )。
さらに、 了ドレス生成部 1 5の処理について、 図 8のフローチャートを用 いて説明する。
2次データバッファレジスタ 1 3 aのデータをメモリ 1 0に転送する毎 に、 ビッ トシフ卜/全体制御部 1 3に設けられたァドレス生成部 1 5をイン クリメントする (ステップ S 3 0 1 )。 そして、 ァドレス値が、 メモリ 1 0 の最大ア ドレスを示すまで (ステップ S 3 0 2 )、 その処理を繰り返す。 ステップ S 3 0 2の処理において、最大ァドレスを示したらフルフラグ F Fのビットをフラグレジスタ 1 6にたてる (ステップ S 3 0 3 )。 その後、 ァドレスは自動リセッ トし、 メモリ 1 0の先頭ァドレスに戻る (ステップ S 3 0 4 )。
次に、 デコーダァクセラレータ 9について、 図 9の状態遷移図を用いて説 明する。
通常、 C P Uコア 6から見える 1次データバッファレジスタ 1 7には、 常 に 3 2ビットの未使用データが存在するようにするため、ァクセラレータの 1つ前の処理の後、 ビットシフ トノ全体制御部 1 8は、 C P Uコア 6からの 使用ビット分のデータを取り除いて、新たに同じビット数分だけ未使用デー タビットを 1次データバッファレジスタ 1 7に補充する。
し力 し、 実際には、 補充ビットも固定長アクセスのメモリ 1 1内に存在す るために毎回の読み出しは、 処理速度上問題となる。
このため、 本発明の実施例においては、 状態 J 2 0 3においては、 2次デ ータバッファレジスタ 1 9を用いて、まずあらかじめデータを持っている 2 次データバッファレジスタ 1 9が 1次デ一タバッファレジスタ 1 7にビッ トを補充し (状態 J 2 0 3 )、 不足する場合のみ (状態 J 2 0 4 ) メモリ 1 1から 2次データバッファレジスタ 1 9にデータを補充して処理を終了す る (状態 J 205) ようにする。 不足しない場合はアイ ドル状態に戻り、 次 の CPUコア 9からのアクセスを待つ (状態 J 202)。
また、デコーダァクセラレータ 9に設けられたビットシフト Z全体制御部 18における制御動作について、 図 1 0、 ならびに図 1 1のフローチヤ一ト を用いて説明する。
まず、 C PUコア 6は、 1次データバッファレジスタ 1 Ίのシフト済みデ ータより、 nビット分のデータを取り出す (ステップ S 401)。 取り出し たデータを可変長符号表と照合し (ステップ S 402)、 表と一致した場合 は、使用ビット数を 1次データバッファレジスタ 1 Ίに書き込み (ステップ S 403)、 可変長符号デコードを行う (ステップ S 404)。
ステップ S 402の処理において、 可変長符号表と一致しない場合は、 取 り出すデータ長であり nの値を変更し (ステップ S 405)、 ステップ S 4 0 1の処理を行う。
また、 読み出す可変長符号長がわかっている場合は、 直接、 目的の nビッ トシフトデータを 1次データバッファレジスタ 1 7より取り出す。この nビ ットの取り出しにより、 自動的にビットを補充する。
さらに、 ステップ S 401の処理について、 図 1 1を用いて詳しく説明す る。
使用ビット数と残りビット数とを比較し (ステップ S 501)、使用ビット 数が、残りビット数より大きくない場合、 2次データバッファレジスタ 1 9 の M SB (Mo s t S i g n i f i c a n t B i t :最上位ビッ ト) 力、 ら、 使用ビット数分を 1次データバッファレジスタ 1 7の L SB (L e a s t S i g n i f i c a n t B i t :最下位ビッ ト) 詰で書き込む (ステ ップ S 502)。
2次データバッファレジスタ 1 9の使用ビッ ト数分を MS B方向にシフ トして該 2次データバッファレジスタ 1 9に上書きする (ステップ S 50 3)。
ステップ S 501の処理において、使用ビット数が残りビット数より大き い場合、 2次データバッファレジスタ 1 9の残りビット数分を 1次データバ ッファレジスタ 1 7の次のビットに書き込む (ステップ S 5 0 4 )。
そして、 メモリ 1 1から 3 2ビットデータを読み込み、 2次データバッフ ァレジスタ 1 9に書き込む (ステップ S 5 0 5 )。 メモリ 1 1から全データ を読み出したときは、 ェンプティフラグ E Fをたてる (ステップ S 5 0 6 )。
2次データバッファレジスタ 1 9の M S Bから、' 使用ビット数一残りビ ット数' 分を 1次データバッファレジスタ 1 7の L S Bへ書き込む (ステツ プ S 5 0 7 )。 2次データバッファレジスタ 1 9を M S B方向へ、' 使用ビッ ト数ー残りビット数' 分シフトする (ステップ S 5 0 8 )。 残りのビット数 を残りビッ トレジスタ 2 2に書き込む (ステップ S 5 0 9 )。
さらに、デコーダァクセラレータ 9に設けられたァドレス生成部 2 0の処 理について、 図 1 2のフローチャートを用いて説明する。
まず、 メモリ 1 1から、 2次データバッファレジスタ 1 9にデータを転送 する都度、 ァドレス生成部 2 0をインクリメントする (ステップ S 6 0 1 )。 アドレス値が、 メモリ 1 1の最大アドレスを示すまで、 その処理を繰り返す。 そして、 最大アドレスを示すと (ステップ S 6 0 2 )、 フラグレジスタ 2 1にェンプティフラグ E Fのビットをたてる (ステップ S 6 0 3 )。 その後、 アドレスは自動リセットし、 メモリ 1 1の先頭ァドレスに戻る (ステップ S 6 0 4 ) 0
それにより、 本実施の形態によれば、 エンコーダァクセラレータ 8により、 C P Uコア 6が可変長符号のデータを 1 アクセスでエンコーダァクセラレ ータ 8の内部メモリ 1 0に書き込むことができるので、エンコーダの処理性 能を向上させることができる。
また、 デコーダァクセラレータ 9によって、 C P Uコア 6が可変長符号の データを 1アクセスで読み込むことができるので、デコーダの処理性能を向 上させることができる。
さらに、 ェンコ一ドノデコード処理における C P Uコア 6の処理回数を削 減することができるので、 該 C P Uコア 6の負荷を低減することができ、 電 子システムの処理能力の向上を実現することができる。 以上、本発明者によってなされた発明を実施例に基づき具体的に説明した 力 本発明は前記実施例に限定されるものではなく、 その要旨を逸脱しない 範囲で種々変更可能であることはいうまでもない。 産業上の利用可能性
以上のように、本発明にかかる半導体集積回路装置は、 可変長データのェン コード/デコード処理における処理速度の向上化技術に適している。

Claims

請求の範囲
1 . 転送された可変長データから有効ビットデータを検出し、 前記有効ビッ トデ一タを蓄積するレジスタ制御部と、
前記レジスタ制御部に蓄積された有効ビットデータが、ある蓄積量になつ た際に前記有効ビッ トデータを格納する第 1メモリとを備えたことを特徴 とする半導体集積回路装置。
2 . 請求項 1記載の半導体集積回路装置において、
前記第 1メモリに格納された前記有効ビットデータが、 あるメモリ容量に なったことを検出するメモリ制御部を備えたことを特徴とする半導体集積回
3 . 請求項 1または 2記載の半導体集積回路装置において、
前記レジスタ制御部が、
転送された前記可変長データを格納するデータレジスタと、
前記データレジスタに格納された可変長データから、 有効ビットデータを 検出する第 1制御部と、
前記第 1制御部が検出した有効ビットデータを蓄積する 2次バッファレジ スタとよりなることを特徴とする半導体集積回路装置。
4 . 転送された可変長データを格納するデータレジスタと、
有効ビットデータを蓄積する 2次バッファレジスタと、
前記 2次バッファレジスタに蓄積される残りビット数を格納するビット数 用レジスタと、
前記データレジスタに格納された可変長データから、 前記有効ビットデー タを検出するとともに、 前記ビット数用レジスタに格納された残りビット数 から前記 2次バッファレジスタに蓄積された有効ビッ トデータを検出する 第 1制御部と、
前記第 1制御部が検出した有効ビットデータを格納する第 1メモリと、 前記第 1メモリに有効ビットデータを転送する毎に、 前記第 1メモリの最 大ァドレスを示すまでァドレス値をィンクリメントするとともに、 前記第 1 メモリに転送された有効ビットデータの合計がある設定値になったことを 検出するア ドレス生成部とを備えたことを特徴とする半導体集積回路装置。
5 . メインメモリから転送されたデータを格納する第 2メモリと、
前記第 2メモリから転送される任意のビット長分のデータを蓄積するデー タバッファと、
補充ビット数指示信号に基づいて、 前記第 2メモリから前記データバッフ ァに任意のビット長のデータを転送する制御部とを備えたことを特徴とする 半導体集積回路装置。
6 . 請求項 5記載の半導体集積回路装置において、
前記データバッファが、
前記第 2メモリから転送される任意のビット長分のデータを蓄積する 2次 バッファと、
前記 2次バッファから転送されたデータを蓄積する 1次バッファとよりな り、
前記制御部は、 補充ビット数指示信号に基づいて、 前記 2次バッファから 補充ビットを転送することを特徴とする半導体集積回路装置。
7 . 請求項 5または 6記載の半導体集積回路装置にぉレ、て、
前記制御部は、 前記第 2メモリがデータを転送する毎に、 ア ドレス値が最 大ァドレス値を示すまで前記ァドレス値をインクリメントし、 前記第 2メモ リの全データを読み出したか否かを検出することを特徴とする半導体集積回
PCT/JP2002/010879 2002-10-21 2002-10-21 半導体集積回路装置 WO2004036433A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2002/010879 WO2004036433A1 (ja) 2002-10-21 2002-10-21 半導体集積回路装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2002/010879 WO2004036433A1 (ja) 2002-10-21 2002-10-21 半導体集積回路装置

Publications (1)

Publication Number Publication Date
WO2004036433A1 true WO2004036433A1 (ja) 2004-04-29

Family

ID=32104845

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2002/010879 WO2004036433A1 (ja) 2002-10-21 2002-10-21 半導体集積回路装置

Country Status (1)

Country Link
WO (1) WO2004036433A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04333921A (ja) * 1991-05-10 1992-11-20 Konica Corp パッキング・デパッキング回路
JPH07182230A (ja) * 1993-12-22 1995-07-21 Seiko Epson Corp メモリカード
JPH08221248A (ja) * 1995-02-14 1996-08-30 Hitachi Ltd マイクロプロセッサ
JPH11184750A (ja) * 1997-12-25 1999-07-09 Fujitsu Ltd 可変長符号処理機構を有するデータ処理装置
JP2002009625A (ja) * 2000-05-04 2002-01-11 Hewlett Packard Co <Hp> 高速データ圧縮/復元用エントロピーコーデック

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04333921A (ja) * 1991-05-10 1992-11-20 Konica Corp パッキング・デパッキング回路
JPH07182230A (ja) * 1993-12-22 1995-07-21 Seiko Epson Corp メモリカード
JPH08221248A (ja) * 1995-02-14 1996-08-30 Hitachi Ltd マイクロプロセッサ
JPH11184750A (ja) * 1997-12-25 1999-07-09 Fujitsu Ltd 可変長符号処理機構を有するデータ処理装置
JP2002009625A (ja) * 2000-05-04 2002-01-11 Hewlett Packard Co <Hp> 高速データ圧縮/復元用エントロピーコーデック

Similar Documents

Publication Publication Date Title
US6144322A (en) Variable length code processor with encoding and/or decoding
US6915413B2 (en) Micro-controller for reading out compressed instruction code and program memory for compressing instruction code and storing therein
US5675331A (en) Decoding device for decoding a variety of code signals
JP2006099774A (ja) データ処理方法および装置、処理システム、コンピュータ処理システム、コンピュータのネットワーク
US20010047456A1 (en) Processor
EP2130132B1 (en) Dsp including a compute unit with an internal bit fifo circuit
US20050152609A1 (en) Video decoder
JP2001113759A (ja) 画像データ出力装置
JP4921310B2 (ja) 命令ビット長削減方法
US6621428B1 (en) Entropy codec for fast data compression and decompression
JP2004032494A (ja) 画像処理装置及び画像処理方法
WO2004036433A1 (ja) 半導体集積回路装置
US20040109679A1 (en) Method and apparatus for writing data by calculating addresses, and digital camera utilizing the same
US7590295B2 (en) Semiconductor device and an image processor
JP2004246889A (ja) シーケンシャルバッファを内蔵してdspのデータアクセス性能を向上させるコンピュータシステム及びそのコンピュータシステムのアクセス方法
JP2007140858A (ja) メモリアクセス方法及びメモリアクセス装置
JPH09247466A (ja) 符号化装置
JP3032160B2 (ja) 可変長復号化器における出力デ−タの再配列方法及び回路
US7350035B2 (en) Information-processing apparatus and electronic equipment using thereof
JP2008005181A (ja) ゼロ画素カウント回路
JP2010086321A (ja) メモリ制御システム
US7733122B2 (en) Semiconductor device
JP3138693B2 (ja) データ圧縮回路
JP3224127B2 (ja) 画像データ変換処理装置
JPH11163736A (ja) プロセッサ

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CN JP KR SG US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR IE IT LU MC NL PT SE SK TR

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP