JP4748807B2 - 復号回路 - Google Patents

復号回路 Download PDF

Info

Publication number
JP4748807B2
JP4748807B2 JP2007022234A JP2007022234A JP4748807B2 JP 4748807 B2 JP4748807 B2 JP 4748807B2 JP 2007022234 A JP2007022234 A JP 2007022234A JP 2007022234 A JP2007022234 A JP 2007022234A JP 4748807 B2 JP4748807 B2 JP 4748807B2
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.)
Expired - Fee Related
Application number
JP2007022234A
Other languages
English (en)
Other versions
JP2008193146A (ja
JP2008193146A5 (ja
Inventor
俊夫 櫻井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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/ja
Priority to US12/021,720 priority patent/US8539170B2/en
Publication of JP2008193146A publication Critical patent/JP2008193146A/ja
Publication of JP2008193146A5 publication Critical patent/JP2008193146A5/ja
Application granted granted Critical
Publication of JP4748807B2 publication Critical patent/JP4748807B2/ja
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)
  • Memory System Of A Hierarchy Structure (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Memory System (AREA)

Description

本発明は、ロスレス圧縮符号化された圧縮データを伸長する復号回路に関する。
復号回路は、ロスレス圧縮符号化されたデータを復号する際、圧縮データを各コマンドに分解した後、ラインメモリに格納されたデータ(既に伸長されたデータなど)を参照して復号作業を行う。
図1は復号回路の一例を示すブロック図である。
入力バッファ201は、復号回路外から入力した圧縮データを一時記憶する。入力バッファ201は、圧縮データに規定された最大符号長より大きなメモリサイズをもち、復号回路の後段の処理がスムーズに行われるようにする。
入力バッファ201に接続されたコマンド比較器202は、コマンドテーブル203を備える。コマンドテーブル203は、ROMなどで構成され、各コマンドの種類と属性、コマンド長など、圧縮データの伸長に必要な情報を記録する。
コマンド比較器202は、コマンドテーブル203からコマンドのパターンを読み出し、入力バッファ201から入力される圧縮データと、コマンドのパターンを比較する。そして、コマンド長を実際に復号したデータ長として入力バッファ201に通知するとともに、比較結果の、コマンドの種類と属性をデコーダ204に送信する。
入力バッファ201は、コマンド比較器202から通知されたデータ長分のデータを、復号されたデータとして破棄し、必要があれば新しいデータを外部に要求する。
デコーダ204は、ラインメモリ205を備える。ラインメモリ205は、RAMなどで構成され、圧縮データの伸長時にデータの読み書きが行われる一時記憶回路である。また、デコーダ204は、伸長したデータを一時的に蓄える出力バッファ206に接続する。
デコーダ204は、コマンドの種類と属性から、RAWデータの復号か、ラインメモリ205に対する読み出しが必要なコマンドの復号かを判断する。そして、RAWデータの復号の場合は、コマンドから分離したRAW成分を出力バッファ206に送信する。その際、ラインメモリ205に復号結果としてRAW成分を書き込む。
また、デコーダ204は、ラインメモリ205に対する読み出しが必要なコマンドの復号(圧縮データの伸長)の場合、ラインメモリ205から圧縮データの伸長に必要なデータを読み出して所定の処理を行い、伸長したデータを出力バッファ206に送信する。その際、伸長したデータをラインメモリ205に書き込む点は、RAWデータの復号の場合と同様である。
ラインメモリ205に対する読み出しが必要なコマンドの復号(圧縮データの伸長)の場合、ラインメモリ205に対するアクセスが発生するのは、コマンドがコマンド比較器202を経由してデコーダ204に入力されてからになる。その際、ラインメモリ205に対するアクセスは連続したものにはならず、離散的に行われる。SRAMは、このようなアクセスに対応できるため、通常、ラインメモリ205にはSRAMを用いる。しかし、SRAMは、SDRAMなど、他の方式のRAMに比較して高価であるという欠点がある。
特開2001-274989号公報
本発明は、復号回路のラインメモリとして廉価なメモリを使用可能にすることを目的とする。
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
本発明にかかる復号回路は、ロスレス圧縮符号化された圧縮データを伸長する復号回路であって、コマンドテーブルを参照して、前記圧縮データをメモリアクセスが必要な第一のコマンドと、メモリアクセスの必要がない第二のコマンドに分離する分離手段と、前記分離された第一のコマンドを所定数記憶する第一のキャッシュメモリと、前記第一のコマンドの伸長に必要な既に伸長されたデータのメモリ読出を要求し、前記伸長されたデータに基づき前記第一のコマンドを復号し、前記復号によって得られた伸長データのメモリ書込を要求する復号手段と、第二のキャッシュメモリおよびラインメモリの読み書きを制御して、前記復号手段の要求に応じたメモリ読出およびメモリ書込を実行するメモリ制御手段とを有し、前記メモリ制御手段は、前記復号手段のメモリ読出の要求に対して、該当するデータが前記第二のキャッシュメモリにある場合は前記第二のキャッシュメモリから読み出したデータの少なくとも一部を前記復号手段に供給し、前記該当するデータが前記第二のキャッシュメモリにない場合は、前記第一のキャッシュメモリに記憶された第一のコマンドを読み込むことにより、前記ラインメモリの実アドレスに関して前記ラインメモリをバーストリードしたデータの少なくとも一部を前記復号手段に供給することを特徴とする。
本発明によれば、復号回路のラインメモリとして廉価なメモリを使用可能にすることができる。
以下、本発明にかかる実施例の復号回路を図面を参照して詳細に説明する。
図2は実施例1の復号回路の構成例を示すブロック図である。
入力バッファ101は、復号回路の外部から入力したロスレス圧縮符号化されたデータである圧縮データを一時記憶する。入力バッファ101は、圧縮データに規定された最大符号長より大きなメモリサイズをもち、復号回路の後段の処理がスムーズに行われるようにする。
入力バッファ101に接続されたコマンド比較器102は、コマンドテーブル103を備える。コマンドテーブル103は、ROMなどで構成され、各コマンドの種類と属性、コマンド長など、圧縮データの伸長に必要な情報を記録する。また、コマンド比較器102は、RAMアクセスを伴うコマンド(以下、RAMアクセスコマンドと呼ぶ)用のキャッシュ104と、RAMアクセスを伴わないコマンド(以下、RAM非アクセスコマンドと呼ぶ)用のキャッシュ105を備える。
コマンド比較器102は、コマンドテーブル103からコマンドのパターンを読み出し、入力バッファ201から入力される圧縮データと、コマンドのパターンを比較する。そして、コマンド長を実際に復号したデータ長として入力バッファ101に通知するとともに、比較結果に基づき、RAMアクセスコマンドとRAM非アクセスコマンドに分離して、キャッシュ104と105に送る。
入力バッファ101は、コマンド比較器102から通知されたデータ長分のデータを、復号されたデータとして破棄し、必要があれば新しいデータを外部に要求する。
キャッシュ104は、ラインメモリ108のアクセスが必要なコマンドを所定数まとめて記憶する。キャッシュ104は、RAMアクセスコントローラ106に接続する。RAMアクセスコントローラ106は、RAMキャッシュ107とラインメモリ108を備える。
RAMアクセスコントローラ106は、キャッシュ104に蓄えられたRAMアクセスコマンドを読み込み、ラインメモリ108の実アドレスに関して連続したアクセスを抽出する。ラインメモリ108からデータを読み出す場合は、アドレスが連続した読出動作をバーストサイクルを用いて行い(バーストリード)、ラインメモリ108からデータを読み出す。そして、読み出したデータをRAMキャッシュ107に保存する。また、ラインメモリ108にデータを書き込む場合は、RAMキャッシュ107に保存したデータのサイズがバーストサイクルを用いた書き込み(バーストライト)が可能になるのを待つ。そして、RAMキャッシュ107にバーストライト可能なサイズのデータが溜ると、RAMキャッシュ107から連続するアドレスのデータを読み出して、アドレスが連続した書込動作(バーストライト)を行い、ラインメモリ108にデータを書き込む。
デコーダ109は、キャッシュ104、105、RAMアクセスコントローラ106に接続する。デコーダ109は、RAMアクセスコマンドを復号する場合は、RAMアクセスコントローラ106にアクセスして圧縮データの伸長を行う。
RAMアクセスコントローラ106は、デコーダ109のデータ読出要求に対して、RAMキャッシュ107に該当するデータがあればRAMキャッシュ107にアクセスする。また、RAMキャッシュ107に該当するデータがなければラインメモリ108にアクセスする。そして、該当するデータをRAMキャッシュ107またはラインメモリ108から読み出してデコーダ109に供給する。さらに、RAM アクセスコントローラ106は、デコーダ109の伸長データの書込要求に対して、伸長データをRAMキャッシュ107に書き込む。
また、デコーダ109は、RAM非アクセスコマンドを復号する場合は、キャッシュ105から読み込んだコマンドからRAW成分を分離する。その際、復号結果として分離したRAW成分の書き込みをRAMアクセスコントローラ106に要求する。この書込要求を受けたRAMアクセスコントローラ106の動作は、RAMアクセスコマンドの復号の場合と同様である。
デコーダ109は、伸長データまたは分離したRAW成分を出力バッファ110に書き込む。復号されたデータは、出力バッファ110を経由して復号回路の外部に出力される。
図4はRAMアクセスコントローラ106のメモリアクセス動作を示すフローチャートである。
RAMアクセスコントローラ106は、デコーダ109からRAMアクセス要求を受信すると(S401)、RAMキャッシュ107が現在保持するラインメモリ108の内容にヒットするか否かを判断する(S402)。そして、ヒットした場合はRAMキャッシュ107の該当するデータを読み出す(S403)。また、ヒットしなかった場合はラインメモリ108のバーストリードを実行し(S404)、バーストリードしたデータをRAMキャッシュ107に書き込む(S405)。
そして、RAMアクセスコントローラ106は、ステップS403またはS404で読み出したデータのうち、RAMアクセス要求に指定されているデータをデコーダ109に出力する(S406)。
このように、RAMアクセスコマンドをキャッシュに蓄え、RAMキャッシュを介して、ラインメモリに対する、アドレスが連続した読出動作と書込動作をバーストサイクルを用いて行う。従って、圧縮データの伸長に使用するラインメモリとして、高価なSRAMではなく、バーストアクセスが行える廉価なSDRAMなどを利用することができ、復号回路のコストを軽減することができる。
以下、本発明にかかる実施例2の復号回路を説明する。なお、実施例2において、実施例1と略同様の構成については、同一符号を付して、その詳細説明を省略する。
図3は実施例2の復号回路の構成例を示すブロック図である。
コマンドキャッシュ304は、コマンド比較器102から出力される各コマンドの種類と属性、コマンド長などの伸長に必要な情報を時系列に一時記憶する。
デコーダ109は、コマンドキャッシュ304に蓄えられたコマンド列を読み出し、RAMアクセスコマンドについては、RAMアクセスコントローラ106にメモリアクセスを要求する。
RAMアクセスコントローラ106は、デコーダ109のデータ読出要求に対して、RAMキャッシュ107に該当するデータがあればRAMキャッシュ107にアクセスする。また、RAMキャッシュ107に該当するデータがなければラインメモリ108にアクセスする。そして、該当するデータをRAMキャッシュ107またはラインメモリ108から読み出してデコーダ109に供給する。さらに、RAM アクセスコントローラ106は、デコーダ109の伸長データの書込要求に対して、伸長データをRAMキャッシュ107に書き込む。
また、デコーダ109は、RAM非アクセスコマンドを復号する場合は、コマンドキャッシュ304から読み込んだコマンドからRAW成分を分離する。その際、復号結果として分離したRAW成分の書き込みをRAMアクセスコントローラ106に要求する。この書込要求を受けたRAMアクセスコントローラ106の動作は、RAMアクセスコマンドの復号の場合と同様である。
実施例1と同様に、RAM アクセスコントローラ106は、RAMキャッシュ107とラインメモリ108の間でバーストサイクルを用いてデータの読み書きを行う。
このように、RAMキャッシュを介して、ラインメモリに対する、アドレスが連続した読出動作と書込動作をバーストサイクルを用いて行う。従って、圧縮データの伸長に使用するラインメモリとして、高価なSRAMではなく、バーストアクセスが行える廉価なSDRAMなどを利用することができ、復号回路のコストを軽減することができる。
[他の実施例]
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
また、本発明の目的は、上記実施例の機能を実現するコンピュータプログラムを記録した記憶媒体をシステムまたは装置に供給し、そのシステムまたは装置のコンピュータ(CPUやMPU)が前記コンピュータプログラムを実行することでも達成される。この場合、記憶媒体から読み出されたソフトウェア自体が上記実施例の機能を実現することになり、そのコンピュータプログラムを記憶した記憶媒体は本発明を構成する。
また、前記コンピュータプログラムの実行により上記機能が実現されるだけではない。つまり、そのコンピュータプログラムの指示により、コンピュータ上で稼働するオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、それによって上記機能が実現される場合も含む。
また、前記コンピュータプログラムがコンピュータに接続された機能拡張カードやユニットのメモリに書き込まれていてもよい。つまり、そのコンピュータプログラムの指示により、前記カードやユニットのCPUなどが実際の処理の一部または全部を行い、それによって上記機能が実現される場合も含む。
本発明を前記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するコンピュータプログラムが格納される。
復号回路の一例を示すブロック図、 実施例1の復号回路の構成例を示すブロック図、 実施例2の復号回路の構成例を示すブロック図、 RAMアクセスコントローラのメモリアクセス動作を示すフローチャートである。

Claims (4)

  1. ロスレス圧縮符号化された圧縮データを伸長する復号回路であって、
    コマンドテーブルを参照して、前記圧縮データをメモリアクセスが必要な第一のコマンドと、メモリアクセスの必要がない第二のコマンドに分離する分離手段と、
    前記分離された第一のコマンドを所定数記憶する第一のキャッシュメモリと、
    前記第一のコマンドの伸長に必要な既に伸長されたデータのメモリ読出を要求し、前記伸長されたデータに基づき前記第一のコマンドを復号し、前記復号によって得られた伸長データのメモリ書込を要求する復号手段と、
    第二のキャッシュメモリおよびラインメモリの読み書きを制御して、前記復号手段の要求に応じたメモリ読出およびメモリ書込を実行するメモリ制御手段とを有し、
    前記メモリ制御手段は、前記復号手段のメモリ読出の要求に対して、該当するデータが前記第二のキャッシュメモリにある場合は前記第二のキャッシュメモリから読み出したデータの少なくとも一部を前記復号手段に供給し、前記該当するデータが前記第二のキャッシュメモリにない場合は、前記第一のキャッシュメモリに記憶された第一のコマンドを読み込むことにより、前記ラインメモリの実アドレスに関して前記ラインメモリをバーストリードしたデータの少なくとも一部を前記復号手段に供給することを特徴とする復号回路。
  2. 前記復号手段は、前記第二のコマンドを復号し、前記復号によって得られた伸長データのメモリ書込を前記メモリ制御手段に要求することを特徴とする請求項1に記載された復号回路。
  3. 前記メモリ制御手段は、前記復号手段のメモリ書込の要求に対して、前記復号手段から受信した伸長データを前記キャッシュメモリに保存し、前記キャッシュメモリに予め定められたサイズのデータが溜ると、前記予め定められたサイズのデータを前記ラインメモリの連続したアドレスに書き込むことを特徴とする請求項1または請求項2に記載された復号回路。
  4. 前記メモリ制御手段は、前記復号手段のメモリ書込の要求に対して、前記復号手段から受信した伸長データを前記キャッシュメモリに保存し、前記キャッシュメモリにバーストライトが可能なサイズのデータが溜ると、前記予め定められたサイズのデータを前記ラインメモリにバーストライトすることを特徴とする請求項1または請求項2に記載された復号回路。
JP2007022234A 2007-01-31 2007-01-31 復号回路 Expired - Fee Related JP4748807B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007022234A JP4748807B2 (ja) 2007-01-31 2007-01-31 復号回路
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 (ja) 2007-01-31 2007-01-31 復号回路

Publications (3)

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

Family

ID=39669269

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007022234A Expired - Fee Related JP4748807B2 (ja) 2007-01-31 2007-01-31 復号回路

Country Status (2)

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

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104239231B (zh) * 2014-09-01 2018-01-30 上海爱数信息技术股份有限公司 一种加速二级缓存预热的方法及装置
CN112214174A (zh) * 2020-10-21 2021-01-12 合肥速显微电子科技有限公司 一种面向移动设备的基于闪存的高速缓存解压系统及方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4835686A (en) * 1985-05-29 1989-05-30 Kabushiki Kaisha Toshiba Cache system adopting an LRU system, and magnetic disk controller incorporating it
JP3163304B2 (ja) * 1991-06-18 2001-05-08 株式会社日立製作所 符号化復号化方式
EP0694844B1 (en) * 1994-07-28 1999-09-15 Sun Microsystems, Inc. Reduced memory pin addressing for cache and main memory
JP2000105826A (ja) * 1998-09-29 2000-04-11 Brother Ind Ltd 画像記録装置および記憶媒体
JP3661437B2 (ja) * 1998-09-29 2005-06-15 ブラザー工業株式会社 画像記録装置および記憶媒体
US6496905B1 (en) * 1999-10-01 2002-12-17 Hitachi, Ltd. Write buffer with burst capability
JP2001274989A (ja) * 2000-03-27 2001-10-05 Ricoh Co Ltd 画像処理装置及び画像処理方法並びにプリンタ出力装置
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

Also Published As

Publication number Publication date
JP2008193146A (ja) 2008-08-21
US8539170B2 (en) 2013-09-17
US20080183983A1 (en) 2008-07-31

Similar Documents

Publication Publication Date Title
JP6069031B2 (ja) 計算機及びメモリ管理方法
US9146933B2 (en) Compressed storage access system with uncompressed frequent use data
JP6679290B2 (ja) 半導体装置
JP2018169773A (ja) ストレージ装置、ストレージ装置の制御方法及びプログラム
TWI251741B (en) Method, apparatus, system for memory access
JP4748807B2 (ja) 復号回路
KR20140028930A (ko) 데이터 처리 장치 및 이의 데이터 처리 방법 그리고 그 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능 매체
US7598891B2 (en) Data development device and data development method
KR100524076B1 (ko) 데이터 압축 및 복원 장치
JP2007164355A (ja) 不揮発性記憶装置、そのデータ読出方法及びそのデータ書込み方法
WO2012113206A1 (zh) 移动终端中请求页面调度方法、控制器以及移动终端
JP6605323B2 (ja) 半導体装置、データ処理システム及び半導体装置の制御方法
JPH0573413A (ja) キヤツシユメモリ・データ制御装置
JP4826873B2 (ja) ホットルーチンメモリを有するマイクロプロセッサシステム
US10719440B2 (en) Semiconductor device and memory access method
JP2007048090A (ja) シーケンシャルromインターフェース対応nand型フラッシュメモリーデバイス及びそのコントローラ
JPH04284551A (ja) 圧縮データを格納した読み出し専用メモリを備えた装置
JP2008130092A (ja) データを管理する装置及び方法
JP2008059155A (ja) 情報処理装置及び情報処理方法
JP7197541B2 (ja) ストレージ装置
JP5205317B2 (ja) 画像処理装置
US20050132124A1 (en) [silicon storage apparatus, controller and data transmission method thereof]
JP2022177671A (ja) 情報処理装置、及び記憶制御方法
JP6080490B2 (ja) 情報処理装置、起動方法およびプログラム
JP2008071054A (ja) データ転送制御方法、データ処理装置及び画像処理装置

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