JP2008193146A - Decoding circuit - Google Patents

Decoding circuit Download PDF

Info

Publication number
JP2008193146A
JP2008193146A JP2007022234A JP2007022234A JP2008193146A JP 2008193146 A JP2008193146 A JP 2008193146A JP 2007022234 A JP2007022234 A JP 2007022234A JP 2007022234 A JP2007022234 A JP 2007022234A JP 2008193146 A JP2008193146 A JP 2008193146A
Authority
JP
Japan
Prior art keywords
memory
data
command
decoding
read
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2007022234A
Other languages
Japanese (ja)
Other versions
JP4748807B2 (en
JP2008193146A5 (en
Inventor
Toshio Sakurai
俊夫 櫻井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2007022234A priority Critical patent/JP4748807B2/en
Priority to US12/021,720 priority patent/US8539170B2/en
Publication of JP2008193146A publication Critical patent/JP2008193146A/en
Publication of JP2008193146A5 publication Critical patent/JP2008193146A5/ja
Application granted granted Critical
Publication of JP4748807B2 publication Critical patent/JP4748807B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0875Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To use an inexpensive memory as the line memory of a decoding circuit. <P>SOLUTION: A command comparator 102 separates compressed data into a first command that requires memory access and a second command that requires no memory access, and transmits them to caches 104 and 105. A decoder requests the memory read of decompressed data necessary for the decompression of the first command stored in the cache 104, and decodes the first command based on the decompressed data, and requests the memory write of the decompressed data acquired by decoding. An RAM access controller 106 controls the read and write of an RAM cache 107 and a line memory 108, and executes memory read and memory write corresponding to a request from the decoder 109. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、ロスレス圧縮符号化された圧縮データを伸長する復号回路に関する。   The present invention relates to a decoding circuit that decompresses compressed data that has been losslessly encoded.

復号回路は、ロスレス圧縮符号化されたデータを復号する際、圧縮データを各コマンドに分解した後、ラインメモリに格納されたデータ(既に伸長されたデータなど)を参照して復号作業を行う。   When decoding lossless compression-encoded data, the decoding circuit decomposes the compressed data into commands, and then performs decoding work with reference to data (such as already decompressed data) stored in the line memory.

図1は復号回路の一例を示すブロック図である。   FIG. 1 is a block diagram showing an example of a decoding circuit.

入力バッファ201は、復号回路外から入力した圧縮データを一時記憶する。入力バッファ201は、圧縮データに規定された最大符号長より大きなメモリサイズをもち、復号回路の後段の処理がスムーズに行われるようにする。   The input buffer 201 temporarily stores compressed data input from outside the decoding circuit. The input buffer 201 has a memory size larger than the maximum code length defined for the compressed data so that subsequent processing of the decoding circuit can be performed smoothly.

入力バッファ201に接続されたコマンド比較器202は、コマンドテーブル203を備える。コマンドテーブル203は、ROMなどで構成され、各コマンドの種類と属性、コマンド長など、圧縮データの伸長に必要な情報を記録する。   A command comparator 202 connected to the input buffer 201 includes a command table 203. The command table 203 is composed of a ROM or the like, and records information necessary for decompressing the compressed data, such as the type and attribute of each command and the command length.

コマンド比較器202は、コマンドテーブル203からコマンドのパターンを読み出し、入力バッファ201から入力される圧縮データと、コマンドのパターンを比較する。そして、コマンド長を実際に復号したデータ長として入力バッファ201に通知するとともに、比較結果の、コマンドの種類と属性をデコーダ204に送信する。   The command comparator 202 reads the command pattern from the command table 203 and compares the compressed data input from the input buffer 201 with the command pattern. Then, the command length is notified to the input buffer 201 as the actually decoded data length, and the command type and attribute of the comparison result are transmitted to the decoder 204.

入力バッファ201は、コマンド比較器202から通知されたデータ長分のデータを、復号されたデータとして破棄し、必要があれば新しいデータを外部に要求する。   The input buffer 201 discards the data for the data length notified from the command comparator 202 as decoded data, and requests new data to the outside if necessary.

デコーダ204は、ラインメモリ205を備える。ラインメモリ205は、RAMなどで構成され、圧縮データの伸長時にデータの読み書きが行われる一時記憶回路である。また、デコーダ204は、伸長したデータを一時的に蓄える出力バッファ206に接続する。   The decoder 204 includes a line memory 205. The line memory 205 is a temporary storage circuit that is constituted by a RAM or the like and that reads and writes data when decompressing compressed data. The decoder 204 is connected to an output buffer 206 that temporarily stores the decompressed data.

デコーダ204は、コマンドの種類と属性から、RAWデータの復号か、ラインメモリ205に対する読み出しが必要なコマンドの復号かを判断する。そして、RAWデータの復号の場合は、コマンドから分離したRAW成分を出力バッファ206に送信する。その際、ラインメモリ205に復号結果としてRAW成分を書き込む。   The decoder 204 determines whether to decode RAW data or to decode a command that needs to be read from the line memory 205 based on the type and attribute of the command. In the case of decoding RAW data, the RAW component separated from the command is transmitted to the output buffer 206. At that time, a RAW component is written in the line memory 205 as a decoding result.

また、デコーダ204は、ラインメモリ205に対する読み出しが必要なコマンドの復号(圧縮データの伸長)の場合、ラインメモリ205から圧縮データの伸長に必要なデータを読み出して所定の処理を行い、伸長したデータを出力バッファ206に送信する。その際、伸長したデータをラインメモリ205に書き込む点は、RAWデータの復号の場合と同様である。   In the case of decoding a command that needs to be read from the line memory 205 (decompression of compressed data), the decoder 204 reads data necessary for decompressing the compressed data from the line memory 205, performs predetermined processing, and performs decompressed data. Is sent to the output buffer 206. At this time, the point that the decompressed data is written to the line memory 205 is the same as in the case of decoding RAW data.

ラインメモリ205に対する読み出しが必要なコマンドの復号(圧縮データの伸長)の場合、ラインメモリ205に対するアクセスが発生するのは、コマンドがコマンド比較器202を経由してデコーダ204に入力されてからになる。その際、ラインメモリ205に対するアクセスは連続したものにはならず、離散的に行われる。SRAMは、このようなアクセスに対応できるため、通常、ラインメモリ205にはSRAMを用いる。しかし、SRAMは、SDRAMなど、他の方式のRAMに比較して高価であるという欠点がある。   In the case of decoding a command that needs to be read from the line memory 205 (decompression of compressed data), the access to the line memory 205 occurs after the command is input to the decoder 204 via the command comparator 202. . At that time, the access to the line memory 205 is not continuous but is performed discretely. Since SRAM can cope with such access, SRAM is usually used for the line memory 205. However, SRAM has a disadvantage that it is more expensive than other types of RAM such as SDRAM.

特開2001-274989号公報JP 2001-274989 A

本発明は、復号回路のラインメモリとして廉価なメモリを使用可能にすることを目的とする。   An object of the present invention is to make it possible to use an inexpensive memory as a line memory of a decoding circuit.

本発明は、前記の目的を達成する一手段として、以下の構成を備える。   The present invention has the following configuration as one means for achieving the above object.

本発明にかかる復号回路は、ロスレス圧縮符号化された圧縮データを伸長する復号回路であって、コマンドテーブル(コマンドテーブル103)を参照して、前記圧縮データをメモリアクセスが必要な第一のコマンドと、メモリアクセスが不要な第二のコマンドに分離する分離手段(コマンド比較器102)と、前記第一のコマンドの伸長に必要な既に伸長済みのデータのメモリ読出を要求し、前記伸長済みのデータに基づき前記第一のコマンドを復号し、前記復号によって得られた伸長データのメモリ書込を要求する復号手段(デコーダ109)と、キャッシュメモリ(RAMキャッシュ107)およびラインメモリ(ラインメモリ108)の読み書きを制御して、前記復号手段の要求に応じたメモリ読出およびメモリ書込を実行するメモリ制御手段(RAMアクセスコントローラ106)とを有することを特徴とする。   A decoding circuit according to the present invention is a decoding circuit that expands lossless compression-encoded compressed data, and refers to a command table (command table 103). The first command that requires memory access to the compressed data And a separation means (command comparator 102) for separating into a second command that does not require memory access, and memory read of the already decompressed data necessary for decompressing the first command, Decoding means (decoder 109) for decoding the first command based on data and requesting memory writing of the decompressed data obtained by the decoding, cache memory (RAM cache 107), and line memory (line memory 108) Memory control means (RAM access code) that controls reading and writing of the memory and executes memory reading and memory writing in response to the request of the decoding means. It characterized by having a controller 106) and.

本発明によれば、復号回路のラインメモリとして廉価なメモリを使用可能にすることができる。   According to the present invention, an inexpensive memory can be used as a line memory of a decoding circuit.

以下、本発明にかかる実施例の復号回路を図面を参照して詳細に説明する。   Hereinafter, a decoding circuit according to an embodiment of the present invention will be described in detail with reference to the drawings.

図2は実施例1の復号回路の構成例を示すブロック図である。   FIG. 2 is a block diagram illustrating a configuration example of the decoding circuit according to the first embodiment.

入力バッファ101は、復号回路の外部から入力したロスレス圧縮符号化されたデータである圧縮データを一時記憶する。入力バッファ101は、圧縮データに規定された最大符号長より大きなメモリサイズをもち、復号回路の後段の処理がスムーズに行われるようにする。   The input buffer 101 temporarily stores compressed data that is lossless compression encoded data input from the outside of the decoding circuit. The input buffer 101 has a memory size larger than the maximum code length defined for the compressed data so that the subsequent processing of the decoding circuit can be performed smoothly.

入力バッファ101に接続されたコマンド比較器102は、コマンドテーブル103を備える。コマンドテーブル103は、ROMなどで構成され、各コマンドの種類と属性、コマンド長など、圧縮データの伸長に必要な情報を記録する。また、コマンド比較器102は、RAMアクセスを伴うコマンド(以下、RAMアクセスコマンドと呼ぶ)用のキャッシュ104と、RAMアクセスを伴わないコマンド(以下、RAM非アクセスコマンドと呼ぶ)用のキャッシュ105を備える。   A command comparator 102 connected to the input buffer 101 includes a command table 103. The command table 103 is composed of a ROM or the like, and records information necessary for decompressing the compressed data, such as the type and attribute of each command and the command length. The command comparator 102 also includes a cache 104 for a command with RAM access (hereinafter referred to as a RAM access command) and a cache 105 for a command without RAM access (hereinafter referred to as a RAM non-access command). .

コマンド比較器102は、コマンドテーブル103からコマンドのパターンを読み出し、入力バッファ201から入力される圧縮データと、コマンドのパターンを比較する。そして、コマンド長を実際に復号したデータ長として入力バッファ101に通知するとともに、比較結果に基づき、RAMアクセスコマンドとRAM非アクセスコマンドに分離して、キャッシュ104と105に送る。   The command comparator 102 reads the command pattern from the command table 103 and compares the compressed data input from the input buffer 201 with the command pattern. Then, the command length is notified to the input buffer 101 as the actually decoded data length, and separated into a RAM access command and a RAM non-access command based on the comparison result, and sent to the caches 104 and 105.

入力バッファ101は、コマンド比較器102から通知されたデータ長分のデータを、復号されたデータとして破棄し、必要があれば新しいデータを外部に要求する。   The input buffer 101 discards the data for the data length notified from the command comparator 102 as decoded data, and requests new data to the outside if necessary.

キャッシュ104は、ラインメモリ108のアクセスが必要なコマンドを所定数まとめて記憶する。キャッシュ104は、RAMアクセスコントローラ106に接続する。RAMアクセスコントローラ106は、RAMキャッシュ107とラインメモリ108を備える。   The cache 104 stores a predetermined number of commands that require access to the line memory 108 together. The cache 104 is connected to the RAM access controller 106. The RAM access controller 106 includes a RAM cache 107 and a line memory 108.

RAMアクセスコントローラ106は、キャッシュ104に蓄えられたRAMアクセスコマンドを読み込み、ラインメモリ108の実アドレスに関して連続したアクセスを抽出する。ラインメモリ108からデータを読み出す場合は、アドレスが連続した読出動作をバーストサイクルを用いて行い(バーストリード)、ラインメモリ108からデータを読み出す。そして、読み出したデータをRAMキャッシュ107に保存する。また、ラインメモリ108にデータを書き込む場合は、RAMキャッシュ107に保存したデータのサイズがバーストサイクルを用いた書き込み(バーストライト)が可能になるのを待つ。そして、RAMキャッシュ107にバーストライト可能なサイズのデータが溜ると、RAMキャッシュ107から連続するアドレスのデータを読み出して、アドレスが連続した書込動作(バーストライト)を行い、ラインメモリ108にデータを書き込む。   The RAM access controller 106 reads a RAM access command stored in the cache 104 and extracts consecutive accesses with respect to the real address of the line memory 108. When data is read from the line memory 108, a read operation with continuous addresses is performed using a burst cycle (burst read), and the data is read from the line memory 108. Then, the read data is stored in the RAM cache 107. When data is written to the line memory 108, the process waits until the size of the data stored in the RAM cache 107 can be written using a burst cycle (burst write). Then, when data of a size that can be burst-written is accumulated in the RAM cache 107, data at consecutive addresses is read from the RAM cache 107, a write operation with continuous addresses (burst write) is performed, and the data is stored in the line memory 108. Write.

デコーダ109は、キャッシュ104、105、RAMアクセスコントローラ106に接続する。デコーダ109は、RAMアクセスコマンドを復号する場合は、RAMアクセスコントローラ106にアクセスして圧縮データの伸長を行う。   The decoder 109 is connected to the caches 104 and 105 and the RAM access controller 106. When decoding the RAM access command, the decoder 109 accesses the RAM access controller 106 and decompresses the compressed data.

RAMアクセスコントローラ106は、デコーダ109のデータ読出要求に対して、RAMキャッシュ107に該当するデータがあればRAMキャッシュ107にアクセスする。また、RAMキャッシュ107に該当するデータがなければラインメモリ108にアクセスする。そして、該当するデータをRAMキャッシュ107またはラインメモリ108から読み出してデコーダ109に供給する。さらに、RAM アクセスコントローラ106は、デコーダ109の伸長データの書込要求に対して、伸長データをRAMキャッシュ107に書き込む。   In response to a data read request from the decoder 109, the RAM access controller 106 accesses the RAM cache 107 if there is data corresponding to the RAM cache 107. If there is no corresponding data in the RAM cache 107, the line memory 108 is accessed. Then, the corresponding data is read from the RAM cache 107 or the line memory 108 and supplied to the decoder 109. Further, the RAM access controller 106 writes the decompressed data into the RAM cache 107 in response to the decompressed data write request from the decoder 109.

また、デコーダ109は、RAM非アクセスコマンドを復号する場合は、キャッシュ105から読み込んだコマンドからRAW成分を分離する。その際、復号結果として分離したRAW成分の書き込みをRAMアクセスコントローラ106に要求する。この書込要求を受けたRAMアクセスコントローラ106の動作は、RAMアクセスコマンドの復号の場合と同様である。   Further, when decoding the RAM non-access command, the decoder 109 separates the RAW component from the command read from the cache 105. At that time, the RAM access controller 106 is requested to write the separated RAW component as a decoding result. The operation of the RAM access controller 106 that has received this write request is the same as in the case of decoding the RAM access command.

デコーダ109は、伸長データまたは分離したRAW成分を出力バッファ110に書き込む。復号されたデータは、出力バッファ110を経由して復号回路の外部に出力される。   The decoder 109 writes the decompressed data or the separated RAW component to the output buffer 110. The decoded data is output to the outside of the decoding circuit via the output buffer 110.

図4はRAMアクセスコントローラ106のメモリアクセス動作を示すフローチャートである。   FIG. 4 is a flowchart showing the memory access operation of the RAM access controller 106.

RAMアクセスコントローラ106は、デコーダ109からRAMアクセス要求を受信すると(S401)、RAMキャッシュ107が現在保持するラインメモリ108の内容にヒットするか否かを判断する(S402)。そして、ヒットした場合はRAMキャッシュ107の該当するデータを読み出す(S403)。また、ヒットしなかった場合はラインメモリ108のバーストリードを実行し(S404)、バーストリードしたデータをRAMキャッシュ107に書き込む(S405)。   When the RAM access controller 106 receives a RAM access request from the decoder 109 (S401), the RAM access controller 106 determines whether or not the content of the line memory 108 currently held in the RAM cache 107 is hit (S402). If there is a hit, the corresponding data in the RAM cache 107 is read (S403). If no hit is found, burst read of the line memory 108 is executed (S404), and the burst read data is written to the RAM cache 107 (S405).

そして、RAMアクセスコントローラ106は、ステップ403またはS404で読み出したデータのうち、RAMアクセス要求に指定されているデータをデコーダ109に出力する(S406)。   Then, the RAM access controller 106 outputs the data specified in the RAM access request among the data read in step 403 or S404 to the decoder 109 (S406).

このように、RAMアクセスコマンドをキャッシュに蓄え、RAMキャッシュを介して、ラインメモリに対する、アドレスが連続した読出動作と書込動作をバーストサイクルを用いて行う。従って、圧縮データの伸長に使用するラインメモリとして、高価なSRAMではなく、バーストアクセスが行える廉価なSDRAMなどを利用することができ、復号回路のコストを軽減することができる。   As described above, the RAM access command is stored in the cache, and the read operation and the write operation in which addresses are continuously performed on the line memory are performed using the burst cycle via the RAM cache. Therefore, as a line memory used for decompressing compressed data, an inexpensive SDRAM capable of burst access can be used instead of an expensive SRAM, and the cost of a decoding circuit can be reduced.

以下、本発明にかかる実施例2の復号回路を説明する。なお、実施例2において、実施例1と略同様の構成については、同一符号を付して、その詳細説明を省略する。   The decoding circuit according to the second embodiment of the present invention will be described below. Note that the same reference numerals in the second embodiment denote the same parts as in the first embodiment, and a detailed description thereof will be omitted.

図3は実施例2の復号回路の構成例を示すブロック図である。   FIG. 3 is a block diagram illustrating a configuration example of the decoding circuit according to the second embodiment.

コマンドキャッシュ304は、コマンド比較器102から出力される各コマンドの種類と属性、コマンド長などの伸長に必要な情報を時系列に一時記憶する。   The command cache 304 temporarily stores information necessary for decompression such as the type and attribute of each command output from the command comparator 102 and the command length in time series.

デコーダ109は、コマンドキャッシュ304に蓄えられたコマンド列を読み出し、RAMアクセスコマンドについては、RAMアクセスコントローラ106にメモリアクセスを要求する。   The decoder 109 reads the command sequence stored in the command cache 304 and requests the RAM access controller 106 for memory access for the RAM access command.

RAMアクセスコントローラ106は、デコーダ109のデータ読出要求に対して、RAMキャッシュ107に該当するデータがあればRAMキャッシュ107にアクセスする。また、RAMキャッシュ107に該当するデータがなければラインメモリ108にアクセスする。そして、該当するデータをRAMキャッシュ107またはラインメモリ108から読み出してデコーダ109に供給する。さらに、RAM アクセスコントローラ106は、デコーダ109の伸長データの書込要求に対して、伸長データをRAMキャッシュ107に書き込む。   In response to a data read request from the decoder 109, the RAM access controller 106 accesses the RAM cache 107 if there is data corresponding to the RAM cache 107. If there is no corresponding data in the RAM cache 107, the line memory 108 is accessed. Then, the corresponding data is read from the RAM cache 107 or the line memory 108 and supplied to the decoder 109. Further, the RAM access controller 106 writes the decompressed data into the RAM cache 107 in response to the decompressed data write request from the decoder 109.

また、デコーダ109は、RAM非アクセスコマンドを復号する場合は、コマンドキャッシュ304から読み込んだコマンドからRAW成分を分離する。その際、復号結果として分離したRAW成分の書き込みをRAMアクセスコントローラ106に要求する。この書込要求を受けたRAMアクセスコントローラ106の動作は、RAMアクセスコマンドの復号の場合と同様である。   Further, when decoding the RAM non-access command, the decoder 109 separates the RAW component from the command read from the command cache 304. At that time, the RAM access controller 106 is requested to write the separated RAW component as a decoding result. The operation of the RAM access controller 106 that has received this write request is the same as in the case of decoding the RAM access command.

実施例1と同様に、RAM アクセスコントローラ106は、RAMキャッシュ107とラインメモリ108の間でバーストサイクルを用いてデータの読み書きを行う。   As in the first embodiment, the RAM access controller 106 reads and writes data between the RAM cache 107 and the line memory 108 using a burst cycle.

このように、RAMキャッシュを介して、ラインメモリに対する、アドレスが連続した読出動作と書込動作をバーストサイクルを用いて行う。従って、圧縮データの伸長に使用するラインメモリとして、高価なSRAMではなく、バーストアクセスが行える廉価なSDRAMなどを利用することができ、復号回路のコストを軽減することができる。   As described above, a read operation and a write operation with continuous addresses are performed on the line memory via the RAM cache using a burst cycle. Therefore, as a line memory used for decompressing compressed data, an inexpensive SDRAM capable of burst access can be used instead of an expensive SRAM, and the cost of a decoding circuit can be reduced.

[他の実施例]
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
[Other embodiments]
Note that the present invention can be applied to a system including a plurality of devices (for example, a host computer, an interface device, a reader, and a printer), and a device (for example, a copying machine and a facsimile device) including a single device. You may apply to.

また、本発明の目的は、上記実施例の機能を実現するコンピュータプログラムを記録した記憶媒体をシステムまたは装置に供給し、そのシステムまたは装置のコンピュータ(CPUやMPU)が前記コンピュータプログラムを実行することでも達成される。この場合、記憶媒体から読み出されたソフトウェア自体が上記実施例の機能を実現することになり、そのコンピュータプログラムを記憶した記憶媒体は本発明を構成する。   Another object of the present invention is to supply a storage medium storing a computer program for realizing the functions of the above embodiments to a system or apparatus, and the computer (CPU or MPU) of the system or apparatus executes the computer program. But it is achieved. In this case, the software itself read from the storage medium realizes the functions of the above embodiments, and the storage medium storing the computer program constitutes the present invention.

また、前記コンピュータプログラムの実行により上記機能が実現されるだけではない。つまり、そのコンピュータプログラムの指示により、コンピュータ上で稼働するオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、それによって上記機能が実現される場合も含む。   Further, the above functions are not only realized by the execution of the computer program. That is, it includes a case where an operating system (OS) or the like running on the computer performs part or all of the actual processing according to an instruction of the computer program, thereby realizing the above functions.

また、前記コンピュータプログラムがコンピュータに接続された機能拡張カードやユニットのメモリに書き込まれていてもよい。つまり、そのコンピュータプログラムの指示により、前記カードやユニットのCPUなどが実際の処理の一部または全部を行い、それによって上記機能が実現される場合も含む。   The computer program may be written in a function expansion card connected to the computer or a memory of the unit. That is, the case where the above functions are realized by the CPU or the CPU of the unit performing part or all of the actual processing in accordance with the instruction of the computer program.

本発明を前記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するコンピュータプログラムが格納される。   When the present invention is applied to the storage medium, the storage medium stores a computer program corresponding to the flowchart described above.

復号回路の一例を示すブロック図、A block diagram showing an example of a decoding circuit, 実施例1の復号回路の構成例を示すブロック図、Block diagram showing a configuration example of the decoding circuit of the first embodiment, 実施例2の復号回路の構成例を示すブロック図、Block diagram showing a configuration example of a decoding circuit of the second embodiment, RAMアクセスコントローラのメモリアクセス動作を示すフローチャートである。It is a flowchart which shows memory access operation | movement of a RAM access controller.

Claims (6)

ロスレス圧縮符号化された圧縮データを伸長する復号回路であって、
コマンドテーブルを参照して、前記圧縮データをメモリアクセスが必要な第一のコマンドと、メモリアクセスが不要な第二のコマンドに分離する分離手段と、
前記第一のコマンドの伸長に必要な既に伸長済みのデータのメモリ読出を要求し、前記伸長済みのデータに基づき前記第一のコマンドを復号し、前記復号によって得られた伸長データのメモリ書込を要求する復号手段と、
キャッシュメモリおよびラインメモリの読み書きを制御して、前記復号手段の要求に応じたメモリ読出およびメモリ書込を実行するメモリ制御手段とを有することを特徴とする復号回路。
A decoding circuit for decompressing lossless compression-encoded compressed data,
Referencing a command table, separation means for separating the compressed data into a first command that requires memory access and a second command that does not require memory access;
Requesting memory read of already decompressed data necessary for decompressing the first command, decoding the first command based on the decompressed data, and writing the decompressed data obtained by the decryption to the memory Decryption means for requesting,
A decoding circuit comprising: memory control means for controlling reading and writing of a cache memory and a line memory and executing memory reading and memory writing in response to a request of the decoding means.
前記復号手段は、前記第二のコマンドを復号し、前記復号によって得られた伸長データのメモリ書込を前記メモリ制御手段に要求することを特徴とする請求項1に記載された復号回路。   2. The decoding circuit according to claim 1, wherein the decoding unit decodes the second command and requests the memory control unit to write the expanded data obtained by the decoding to the memory. 前記メモリ制御手段は、前記復号手段のメモリ読出要求に対して、該当するデータが前記キャッシュメモリにある場合は前記キャッシュメモリから読み出したデータの少なくとも一部を前記復号手段に供給し、該当するデータが前記キャッシュメモリにない場合は前記ラインメモリから連続したアドレスのデータを読み出し、前記読み出したデータの少なくとも一部を前記復号手段に供給することを特徴とする請求項1に記載された復号回路。   In response to the memory read request of the decryption means, the memory control means supplies at least a part of the data read from the cache memory to the decryption means when the relevant data is in the cache memory. 2. The decoding circuit according to claim 1, wherein when the data is not in the cache memory, data at consecutive addresses is read from the line memory, and at least a part of the read data is supplied to the decoding means. 前記メモリ制御手段は、前記復号手段のメモリ読出要求に対して、該当するデータが前記キャッシュメモリにある場合は前記キャッシュメモリから読み出したデータの少なくとも一部を前記復号手段に供給し、該当するデータが前記キャッシュメモリにない場合は前記ラインメモリからバーストリードしたデータの少なくとも一部を前記復号手段に供給することを特徴とする請求項1に記載された復号回路。   In response to the memory read request of the decryption means, the memory control means supplies at least a part of the data read from the cache memory to the decryption means when the relevant data is in the cache memory. 2. The decoding circuit according to claim 1, wherein when the data is not in the cache memory, at least a part of data burst-read from the line memory is supplied to the decoding means. 前記メモリ制御手段は、前記復号手段のメモリ書込要求に対して、前記復号手段から受信した伸長データを前記キャッシュメモリに保存し、前記キャッシュメモリに予め定められたサイズのデータが溜ると、前記予め定められたサイズのデータを前記ラインメモリの連続したアドレスに書き込むことを特徴とする請求項1または請求項2に記載された復号回路。   The memory control unit stores the decompressed data received from the decoding unit in the cache memory in response to the memory write request of the decoding unit, and when data of a predetermined size is accumulated in the cache memory, 3. The decoding circuit according to claim 1, wherein data having a predetermined size is written to consecutive addresses of the line memory. 前記メモリ制御手段は、前記復号手段のメモリ書込要求に対して、前記復号手段から受信した伸長データを前記キャッシュメモリに保存し、前記キャッシュメモリにバーストライトが可能なサイズのデータが溜ると、前記予め定められたサイズのデータを前記ラインメモリにバーストライトすることを特徴とする請求項1または請求項2に記載された復号回路。   In response to the memory write request of the decoding unit, the memory control unit stores the decompressed data received from the decoding unit in the cache memory, and when data of a size capable of burst writing is accumulated in the cache memory, 3. The decoding circuit according to claim 1, wherein the predetermined size data is burst-written to the line memory.
JP2007022234A 2007-01-31 2007-01-31 Decoding circuit Expired - Fee Related JP4748807B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007022234A JP4748807B2 (en) 2007-01-31 2007-01-31 Decoding circuit
US12/021,720 US8539170B2 (en) 2007-01-31 2008-01-29 Decoding circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007022234A JP4748807B2 (en) 2007-01-31 2007-01-31 Decoding circuit

Publications (3)

Publication Number Publication Date
JP2008193146A true JP2008193146A (en) 2008-08-21
JP2008193146A5 JP2008193146A5 (en) 2010-07-01
JP4748807B2 JP4748807B2 (en) 2011-08-17

Family

ID=39669269

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007022234A Expired - Fee Related JP4748807B2 (en) 2007-01-31 2007-01-31 Decoding circuit

Country Status (2)

Country Link
US (1) US8539170B2 (en)
JP (1) JP4748807B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104239231B (en) * 2014-09-01 2018-01-30 上海爱数信息技术股份有限公司 A kind of method and device for accelerating L2 cache preheating
CN112214174A (en) * 2020-10-21 2021-01-12 合肥速显微电子科技有限公司 Flash-memory-based cache decompression system and method for mobile equipment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04369972A (en) * 1991-06-18 1992-12-22 Hitachi Ltd Encoding/decoding system
JPH08227376A (en) * 1994-07-28 1996-09-03 Sun Microsyst Inc Computer system and its operating method
JP2000103113A (en) * 1998-09-29 2000-04-11 Brother Ind Ltd Image recorder and memory medium
JP2000105826A (en) * 1998-09-29 2000-04-11 Brother Ind Ltd Image recording device and storage medium
JP2001147854A (en) * 1999-10-01 2001-05-29 Hitachi Ltd Processing system and method for optimizing storage in writing buffer unit and method for storing and distributing data

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0203601B1 (en) * 1985-05-29 1992-08-05 Kabushiki Kaisha Toshiba Cache system adopting an lru system, and magnetic disk controller incorporating it
JP2001274989A (en) 2000-03-27 2001-10-05 Ricoh Co Ltd Image processor, image processing method and printer output device
US20040003164A1 (en) * 2002-06-27 2004-01-01 Patrick Boily PCI bridge and data transfer methods
US7519229B2 (en) * 2004-03-30 2009-04-14 Apple, Inc. Video coding system providing separate coding chains for dynamically selected small-size or full-size playback

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04369972A (en) * 1991-06-18 1992-12-22 Hitachi Ltd Encoding/decoding system
JPH08227376A (en) * 1994-07-28 1996-09-03 Sun Microsyst Inc Computer system and its operating method
JP2000103113A (en) * 1998-09-29 2000-04-11 Brother Ind Ltd Image recorder and memory medium
JP2000105826A (en) * 1998-09-29 2000-04-11 Brother Ind Ltd Image recording device and storage medium
JP2001147854A (en) * 1999-10-01 2001-05-29 Hitachi Ltd Processing system and method for optimizing storage in writing buffer unit and method for storing and distributing data

Also Published As

Publication number Publication date
US20080183983A1 (en) 2008-07-31
JP4748807B2 (en) 2011-08-17
US8539170B2 (en) 2013-09-17

Similar Documents

Publication Publication Date Title
JP6069031B2 (en) Computer and memory management method
JP2020526095A (en) GPU parallel Huffman decoding
JP6679290B2 (en) Semiconductor device
JP2018169773A (en) Storage device, method for controlling storage device and program
US20100211750A1 (en) Data Storage Control Apparatus and Data Storage Control Method
JP4748807B2 (en) Decoding circuit
JP2006072989A (en) Electronic device
JP2008278258A (en) Data expanding device and method
KR100524076B1 (en) Apparatus for compressing and decompressing of data
US20190095338A1 (en) Semiconductor device, data processing system, and semiconductor device control method
WO2012113206A1 (en) Demand paging method for mobile terminal, controller and mobile terminal
JP2024505167A (en) data processing system
JP6080492B2 (en) Information processing apparatus, activation method, and program
JP2010165151A (en) Data access device and data access program
JP2007048090A (en) Nand type flash memory device compatible with sequential rom interface, and controller therefor
JP4826873B2 (en) Microprocessor system with hot routine memory
US10719440B2 (en) Semiconductor device and memory access method
JP2013246646A (en) Information processor and data reading method
JP2008130092A (en) Apparatus and method for managing data
JP2008059155A (en) Information processing apparatus and method
JP5205317B2 (en) Image processing device
JP6080490B2 (en) Information processing apparatus, activation method, and program
JP2022177671A (en) Information processing device and storage control method
JP2007179286A (en) Storage device and information processor
US20050132124A1 (en) [silicon storage apparatus, controller and data transmission method thereof]

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091216

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100519

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110413

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110516

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140527

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees