JP4906097B2 - Memory interface unit and memory unit - Google Patents
Memory interface unit and memory unit Download PDFInfo
- Publication number
- JP4906097B2 JP4906097B2 JP2007062866A JP2007062866A JP4906097B2 JP 4906097 B2 JP4906097 B2 JP 4906097B2 JP 2007062866 A JP2007062866 A JP 2007062866A JP 2007062866 A JP2007062866 A JP 2007062866A JP 4906097 B2 JP4906097 B2 JP 4906097B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- unit
- memory
- length
- header
- 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
Links
Images
Landscapes
- Storing Facsimile Image Data (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Description
本発明は、画像データなどを蓄積するのに適したメモリに関するものである。 The present invention relates to a memory suitable for storing image data and the like.
特許文献1には、スキャナ、プリンタおよびコピー機の3つの機能、さらにはファックスなどを含む他の機能を1台の機器で手軽に利用できるマルチファンクションプリンタ(MFP)またはスキャナプリンタと称されるシステムが開示されている。MFPは、スキャナとプリンタが一体となり、MFP単独で動作するので、コピー操作は容易である。そして、スキャナとしても、プリンタとしても利用できるので、面積効率も良く、経済的である。
特許文献2には、メモリ容量を低減するために、ラスタライズされたデータに対して、所定のブロック単位で可変長可逆処理を施し、その圧縮データを圧縮メモリに格納し、圧縮できなかった場合はそのブロックのデータを非圧縮のまま非圧縮メモリに格納することが記載されている。さらに、その圧縮処理を、ランレングス圧縮方式と差分圧縮方式の一方で行なって圧縮不可能な場合は他方で行ない、いずれかの方式で圧縮可能であれば、その圧縮データを圧縮メモリに圧縮方式を示すフラグを立てて格納することが記載されている。
MFPなどの低コストで多機能を提供するシステムでは、低コストで大容量のメモリが要求される。データをランレングス圧縮方式などの可変長可逆圧縮処理を施してメモリに格納することにより、そのデータを格納するためのメモリ容量を低減でき、結果としてメモリの容量を増やすことができる。しかしながら、画像データなどにランレングス圧縮方式などの可逆圧縮処理を施すと、圧縮したつもりのデータ量が、オリジナルのデータ量よりもかえって増加する可能性がある。 In a system that provides multiple functions at low cost, such as an MFP, a large-capacity memory is required at low cost. By storing the data in the memory by performing variable-length reversible compression processing such as a run-length compression method, the memory capacity for storing the data can be reduced, and as a result, the memory capacity can be increased. However, if lossless compression processing such as a run length compression method is performed on image data or the like, the amount of data that is intended to be compressed may increase rather than the original data amount.
このため、データを記録するためのメモリ容量を効率よく低減し、メモリの有効容量を増大するために、圧縮後の結果により、圧縮データと、非圧縮データとを選択して記録することが望ましい。また、可変長の圧縮データは、可変長でメモリに記録することにより、データを記録するためのメモリ容量を効率よく低減でき、メモリの有効容量を増大できる。特許文献2では、圧縮データを圧縮メモリに格納し、非圧縮のデータを非圧縮メモリに格納することにより、非圧縮のデータと圧縮データとを選択して記録することによりメリットを得ようとしている。特許文献2では、管理用の32ビット固定長のホワイトマップテーブル(WMT)と、32ビット固定長の圧縮データテーブル(CDT)と、64ビット固定長の非圧縮データテーブル(UDT)とを必要としており、可変長のメリットは活かされていない。また、これら3つのテーブルに対してデータを入出力する必要があるので、データの入出力に要する資源(回路、制御用のマイクロコードなどを含む)および処理時間はMFPに採用できるレベルに達していない。
For this reason, in order to efficiently reduce the memory capacity for recording data and increase the effective capacity of the memory, it is desirable to select and record compressed data and non-compressed data according to the result after compression. . Further, by recording variable length compressed data in a memory with a variable length, the memory capacity for recording the data can be efficiently reduced, and the effective capacity of the memory can be increased. In
本発明の一態様は、固定長の複数のデータブロックを含む画像データをメモリに書き込む入力ユニットであって、各々の固定長のデータブロックは画像の1ラインを構成する多値の複数の画素データを含み、各々の固定長のデータブロックの先頭にヘッダデータを付加して、メモリに対し、メモリに先行して書き込まれたデータに続いて書き込む入力ユニットと、固定長の複数のデータブロックを含む画像データを出力する出力ユニットであって、メモリからデータを読み出し、ヘッダデータに続いて読み出したデータを出力データとして出力する出力ユニットとを有するメモリインターフェイスユニットである。入力ユニットは、データブロックをランレングス符号化による可変長可逆圧縮処理をして画素データと連続画素数との組み合わせからなる所定のビット数単位の複数の圧縮データセットを含む可変長データブロックを生成する圧縮ユニットと、可変長データブロックが固定長よりも短いときは、ヘッダデータに可変長データブロックに含まれる圧縮データセットのビット数単位に関する情報を含め、データブロックの代わりに、可変長データブロックをメモリに書き込むためのデータとして選択する入力選択ユニットとを含む。出力ユニットは、ヘッダデータに圧縮に関する情報が含まれているときは、ヘッダデータにより指定されたビット数単位のデータセットを圧縮データセットとして、読み出したデータを伸張する伸張ユニットと、伸張ユニットにより伸張されたデータを、読み出したデータの代わりに出力データとして出力する出力選択ユニットと、ヘッダデータに続き読み出したデータまたは伸張されたデータが固定長に達したときに、読み出したデータに続くデータセットを次のデータブロックのヘッダデータと判断する判定ユニットとを含む。 One embodiment of the present invention is an input unit that writes image data including a plurality of fixed-length data blocks to a memory, and each fixed-length data block is a plurality of multi-value pixel data that forms one line of an image. include, adds a header data at the beginning of each fixed length data block, the memory includes an input unit for writing following the data written prior to the memory, a plurality of data blocks of a fixed length an output unit for outputting the image data, reads data from the memory, a memory interface unit and an output unit for outputting the read data following the header data as output data. The input unit performs variable-length lossless compression processing by run-length encoding of the data block, and generates a variable-length data block including a plurality of compressed data sets each having a predetermined number of bits composed of a combination of pixel data and the number of continuous pixels. a compression unit for, when the variable length data block is shorter than the fixed length, including information about the number of bits unit of compressed data sets included in the header data to the variable-length data blocks, instead of the data block, the variable-length data block And an input selection unit for selecting as data for writing to the memory. When the header unit contains information related to compression, the output unit uses the data set in units of the number of bits specified by the header data as a compressed data set , and decompresses the read data with the decompression unit. An output selection unit that outputs the read data as output data instead of the read data, and a data set following the read data when the read data or decompressed data following the header data reaches a fixed length. And a determination unit for determining the header data of the next data block .
このメモリインターフェイスユニットの入力ユニットは、メモリに対して、固定長の入力データブロックと、圧縮された可変長データブロックとを、ヘッダデータを先頭につけて連続して書き込む。したがって、圧縮後の結果により、圧縮されたデータと、圧縮される前の固定長のデータとを選択して記録することできる。さらに、可変長のデータブロックを可変長のまま、固定長のデータブロックと連続し(ヘッダデータは挟むが)混在した状態で、メモリに記録することが可能である。このため、データを記録するためのメモリ容量を効率よく低減でき、メモリの有効容量を増大できる。 The input unit of the memory interface unit continuously writes a fixed-length input data block and a compressed variable-length data block with header data at the head in the memory. Therefore, the compressed data and the fixed-length data before being compressed can be selected and recorded according to the result after compression. Furthermore, it is possible to record a variable-length data block in a memory in a state where it is continuously mixed with a fixed-length data block (although header data is sandwiched) while maintaining a variable length. For this reason, the memory capacity for recording data can be efficiently reduced, and the effective capacity of the memory can be increased.
このメモリインターフェイスユニットの出力ユニットは、判定ユニットにより、読み出したデータまたは伸張されたデータが固定長に達したときに、読み出したデータに続くデータセットをヘッダデータと判断する。したがって、メモリに、可変長のデータブロックと、固定長のデータブロックとに挟まれてメモリに記録されたヘッダデータを見つけることができる。このため、メモリに、固定長のデータブロックと混在して記録された可変長のデータブロックを、固定長が判明していれば、入力ユニットとは独立して、出力ユニットは、ヘッダデータに見つけ、それに基づき伸張し、固定長のデータブロックとして出力できる。 The output unit of the memory interface unit determines that the data set following the read data is header data when the read data or the decompressed data reaches a fixed length by the determination unit. Therefore, it is possible to find the header data recorded in the memory sandwiched between the variable-length data block and the fixed-length data block. For this reason, if the fixed-length variable-length data block recorded in the memory mixed with the fixed-length data block is known, the output unit finds the header data independently of the input unit. The data can be decompressed and output as a fixed-length data block.
本発明の他の態様は、上記のメモリインターフェイスユニットと、メモリインターフェイスユニットにより入出力が制御されるメモリ本体とを有するメモリユニットである。このメモリユニットにおいては、固定長のデータを、メモリ本体(メモリ)に、固定長のデータブロックと、圧縮済みの可変長データブロックとをヘッダデータを挟んで、連続して、混在した状態で記録することができる。また、メモリに混在している固定長データブロックと可変長データブロックとから、固定長のデータを連続して出力できる。したがって、メモリ本体の有効な記録容量を増大でき、メモリ本体に対するデータの入出力に要する資源(回路、制御用のマイクロコードなどを含む)および処理時間を削減できる。したがって、経済的で、実質的な記録容量の大きなメモリユニットを提供できる。 Another aspect of the present invention is a memory unit having the memory interface unit described above and a memory body whose input / output is controlled by the memory interface unit. In this memory unit, fixed-length data is recorded in the memory body (memory) in a mixed state, with a fixed-length data block and a compressed variable-length data block sandwiched between header data. can do. Also, fixed-length data can be continuously output from fixed-length data blocks and variable-length data blocks mixed in the memory. Therefore, the effective recording capacity of the memory main body can be increased, and resources (including circuits, control microcode, etc.) required for data input / output to the memory main body and processing time can be reduced. Therefore, it is possible to provide a memory unit that is economical and has a large substantial recording capacity.
可変長可逆圧縮処理は、ランレングス符号化である。圧縮ユニットは、ランレングス符号化により可変長データブロックを生成し、伸張ユニットは、ランレングス符号化により読み出したデータを伸張する。このとき、判定ユニットは、固定長および指定されたデータセット単位でヘッダデータであることを判断でき、メモリに対する最小の入出力単位、例えば、バイト単位で判定する必要がなく、判定に要する処理時間を削減できる。ランレングス符号化は、データブロックが、画像の1ラインを構成する多値の複数の画素データを含むデータブロックを圧縮する。 The variable length lossless compression process is run-length encoding. The compression unit generates a variable-length data block by run length encoding, and the expansion unit expands the data read by run length encoding. At this time, the determination unit can determine that the header data is a fixed length and a specified data set unit, and it is not necessary to determine the minimum input / output unit for the memory, for example, byte unit, and the processing time required for the determination Can be reduced. Run-length encoding, the data blocks, compresses the data block including a plurality of pixel data of the multi-level constituting one line of the image.
本発明のさらに異なる他の態様は、上記のメモリユニットと、複数の画素データを含む画像データを取得するためのスキャナユニットと、画像データを用いて画像を印刷可能なプリンタユニットと、メモリユニットを介して画像データをプリンタユニットまたは外部装置に出力可能な制御ユニットとを有するシステムである。このシステムにはMFPが含まれる。 Still another embodiment of the present invention includes the above-described memory unit, a scanner unit for acquiring image data including a plurality of pixel data, a printer unit capable of printing an image using the image data, and a memory unit. And a control unit that can output image data to a printer unit or an external device. This system includes an MFP.
図1に、本発明の一実施形態にかかるMFPの概略構成を示している。このMFP10は、LAN2またはインターネットなどのコンピュータネットワークさらには公衆電話回線などを介してホストマシンであるパーソナルコンピュータ3と接続されている。接続可能なホストPC3は1つに限定されない。MFP10は、原稿(文字情報、写真などの画像を含む)をスキャンして画像データを取得するスキャナユニット11と、画像データを紙などに印刷可能なプリンタユニット12とを含む。スキャナユニット11およびプリンタユニット12は、内部バス13を介して制御セクション14と接続されている。制御セクション14は、CPU15、CPU用のプログラムを内蔵したROM16、作業用のRAM17およびネットワーク2を介してホストPC3と通信可能なインターフェイスユニット18とを含む。この制御セクション14としての機能は、ASICあるいはシステムLSIなどの他の形態で提供することが可能である。また、MFP10は、スキャナユニット11によりライン単位で読み込んだ画像を他の機能に提供するための内部バッファとして機能するメモリユニット20を備えている。
FIG. 1 shows a schematic configuration of an MFP according to an embodiment of the present invention. The MFP 10 is connected to a
このMFP10は、これらの資源を用いて多様な機能を提供する。その1つは、スキャナであり、スキャナユニット11で取得した画像データをホストPC3に提供する。他の機能の1つは、プリンタであり、ホストPC3から提供された画像データをプリンタユニット12によりプリントアウトする。他の機能のさらに1つは、コピーであり、スキャナユニット11で取得した画像データをプリンタユニット12により印刷する。さらに、ファックス、フォトプリンタなど種々の機能を含めたり、ホストPC3の機能を用いて追加したりすることが可能である。
The MFP 10 uses these resources to provide various functions. One of them is a scanner, which provides image data acquired by the
メモリユニット20の概略構成を図2に示している。このメモリユニット20は、スキャナユニット11から、MFP10の他の機能に対して画像データ19を供給するためのバッファとして機能する。メモリユニット20は、スキャナユニット11が独自のタイミングおよびスピードで画像データ19を取得することを可能としたり、また、MFP10に含まれる他の機能との並列動作を可能としたりするために有用である。大量の画像データを蓄積するためには、メモリユニット20のメモリ容量は大きいことが望ましい。しかしながら、スキャナユニット11に占有されるので、経済的な観点からはメモリ容量の大きなメモリユニット20は採用し難い。
A schematic configuration of the
図2に示すようにメモリユニット20は、メモリ(メモリ本体)21と、メモリ21に対する入出力を制御するメモリインターフェイスユニット22とを備えている。メモリインターフェイスユニット22は、メモリコントローラ23と、メモリコントローラ23を介してメモリ21にデータを書き込むための入力ユニット24と、メモリコントローラ23を介してメモリ21からデータを読み出すための出力ユニット25とを備えている。メモリ21の一例は、SDRAM、DDRSDRAMである。メモリコントローラ23は、リードライト制御、リードライト調停、アドレス制御、コマンド制御および入出力バッファを備えている。
As shown in FIG. 2, the
このメモリユニット20の入出力の対象は、スキャナユニット11により読み取られる原稿の画像データ19の1ラインを構成する多値、例えば256階調(8ビット)の複数の画素データを含むデータブロックである。メモリユニット20は、画像の1ラインに相当する固定長のデータブロック(入力データブロック)31を受信する。入力データブロック31は、所定の数N(整数)の画素データセット(1画素8ビット)を含む。実際には、スキャナユニット11からは、ライン単位で読み取られたビットストリーム32と、垂直および水平同期信号33と、解像度変換から指定されるライン単位の画素数(N)を示すデータ34とが供給され、ビットストリーム32から固定長の入力データブロック31を切り出す。入力ユニット24は、固定長の入力データブロック31の先頭にヘッダデータ41を付加して、ライトリクエスト42と共にメモリコントローラ23に供給し、メモリ21にデータを書き込む。
The target of input / output of the
出力ユニット25は、制御セクション14からメモリリクエスト(信号)49を受信すると、メモリコントローラ23に対してリードリクエスト(信号)43を出力する。リードリクエスト43に対してメモリコントローラ23から供給されたデータから、出力ユニット25は、ヘッダデータ41に続くデータを出力データ48として出力する。
When receiving the memory request (signal) 49 from the
図3に、入力ユニット24のさらに詳しい構成を示している。この入力ユニット24の基本的な機能は、固定長の入力データブロック31の先頭にヘッダデータ41を付加して、メモリ21に対し、メモリ21に先行して書き込まれたデータに続いて書き込むことである。そのため、連続した入力画素データ32から、垂直および水平同期信号33により、固定長のラインデータ(入力データブロック)31を切り出す連続画素数カウンタ51と、1ライン分の入力データブロック31を蓄えるバッファ(ディレイバッファ)52aと、ヘッダを付加するためのバッファ52hとを備えている。図4に、連続画素数カウンタ51により、固定長の入力データブロック31を切り出す機能を示している。連続画素数カウンタ51により、バッファ52aに対するリードライト制御機能53を制御し、バッファ52aに有効な画素データを所定の数N含む、固定長の入力データブロック31を蓄積する。バッファ52hには、固定長であることを示すデータが予めセットされており、固定長の入力データブロック31の先頭にヘッダデータ41が付加されてメモリコントローラ23に出力される。
FIG. 3 shows a more detailed configuration of the
この連続画素数カウンタ51は、さらに、可変長可逆圧縮処理の1つであるランレングス符号化により、固定長の入力データブロック31を圧縮し、可変長データブロック35を生成する機能も備えている。すなわち、連続画素数カウンタ51は、同じ階調の連続した数画素を、画素データと連続画素数とからなる、8ビット×3(24ビット)、もしくは8ビット×2(16ビット)のデータセットに変換し、可変長データブロック35を生成する。圧縮後のデータセットを24ビットにするか、16ビットにするかはライン単位(データブロック単位)で選択でき、ヘッダ用のバッファ54hのヘッダデータ41に書き込む。ヘッダデータ41は、可変長データブロック35と共にメモリ21に記録されるので、出力ユニット25では、ヘッダデータ41に基づき可変長データブロック35を可逆的に伸張できる。
The continuous
さらに詳しくは、連続画素数カウンタ51は、ある画素データと、それに続く画素の画素データが変わるまで画素数のカウントを続けた結果とを、1つのデータセットとして圧縮データバッファ54aに、リードライト制御機能55を介して書き込む。これにより、圧縮データバッファ54aには、画素データと、画素数とからなる複数のデータセットを含む可変長データブロック(圧縮データブロック)35が生成される。
More specifically, the continuous
連続画素数カウンタ51が1ライン分のデータ(N個の画素データ)を処理すると、圧縮効率判定回路56が可変長データブロック35に含まれるデータのバイト数に基づき、固定長の入力データブロック31のバイト数(Nバイト)と比較して圧縮効果があるか否かを判定する。可変長データブロック35のデータ量(バイト数)が、固定長の入力データブロック31のデータ量よりも小さければ、セレクタ57により、可変長データブロック35を選択してメモリ21に記録する。すなわち、入力ユニット24は、可変長データブロック35が固定長Nよりも短いときは、ヘッダデータ41に可変長データブロック35の圧縮に関する情報を含め、入力データブロック31の代わりに、可変長データブロック35をメモリ21に書き込むためのデータとして選択する入力選択ユニット57を含む。可変長データブロック35と固定長データブロック31とが同じデータ量の場合は、メモリ21に書き込む点ではどちらを選択しても良い。しかしながら、出力ユニット25において、圧縮された可変長データブロック35は伸張する必要があり、連続あるいはバーストリードが難しい。したがって、データ量が同じ場合は、固定長データブロック31を記録することが好ましい。
When the continuous pixel counter 51 processes one line of data (N pixel data), the compression
図5に、出力ユニット25のさらに詳しい構成を示している。この出力ユニット25がメモリコントローラ23を介して読み出したデータ37には、ヘッダデータ41と、固定長データブロック31を構成するデータと、可変長データブロック35を構成するデータとが含まれる。したがって、出力ユニット25は、読み出したデータ37を、ヘッダデータ41としてヘッダデコーダ61に供給するためのセレクタ62を備えている。出力ユニット25は、さらに、読み出したデータ37を、固定長データブロック31を構成するデータ(非圧縮のデータ)として、そのまま出力するための回路63と、可変長データブロック35を構成するデータ(圧縮データ)として伸張ユニット64とに振り分けるセレクタ65を備えている。出力ユニット25は、さらに、伸張ユニット64により伸張されたデータ38を、読み出したデータ37の代わりに出力データ48として出力する出力選択ユニット(セレクタ)66を備えている。
FIG. 5 shows a more detailed configuration of the
また、出力ユニット25は、読み出したデータ37または伸張されたデータ38が固定長(Nバイト)に達したときに、読み出したデータ37に続くデータセットをヘッダデータ41と判断する判定ユニット67を含む。セレクタ62は、判定ユニット67の判定結果にしたがって、ヘッダデータ41を選択し、ヘッダデコーダ61に供給する。セレクタ65は、ヘッダデコーダ61のデコード結果に従って、固定長のデータブロック31を構成するデータか、可変長データブロック35を構成するデータかを選択し、可変長データブロック35を構成するデータであれば伸張ユニット64に供給する。ヘッダデコーダ61は、ヘッダデータ41を取得すると、次のデータを読み出すためのリードリクエスト43を出力し、ヘッダデータ41に続くデータが可変長データブロック35を構成するデータか、固定長データブロック31を構成するデータかを示す信号を出力する。
The
伸張ユニット64は、読み出したデータ37が、画素データ39aか、画素数のデータ39bを選択するセレクタ71を含む。上述したように、可変長データブロック35として記録されるときの、画素データ39aと、画素数39bとからなるデータセット39は、24ビットまたは16ビットであり、その情報はヘッダデータ41に含まれる。したがって、セレクタ71は、ヘッダデコーダ61のデコード結果により、データ39aおよび39bを選別することができる。画素データ39aは、その後の保持回路72により、画素数のデータ39bに含められた画素数だけ連続して、伸張されたデータ38として出力される。保持回路72は、自己保持用のセレクタ72aと、レジスタ(フリップフロップ)72bとを含む。
The
画素数39bは、出力側の連続画素数カウンタ73に供給される。連続画素数カウンタ73は、画素数39bをクロックにより1つずつダウンカウントするカウンタ73aと、カウンタ73aの結果を比較する比較器73bとを含む。比較器73bは、カウンタ73aのカウント結果が0になったときにリードリクエスト43を出力し、画素データの保持回路72に新しい画素データ39aをセットし、カウンタ73aに新しい画素数39bをセットする。
The number of
判定ユニット67は、ランレングス圧縮法を用いて256階調の画素データを含む画像データを1ライン単位で圧縮した圧縮データ(可変長データブロック)の先頭に付加されたヘッダ情報をデータ解凍時に検出するものであり、カウンタを用いた検出方法を採用している。制御セクション14からのメモリリクエスト49に基づくリードリクエスト43によりメモリ21から最初に読み出されるデータの先頭はヘッダデータである。したがって、それに続いて読み出されたデータ37が圧縮データか非圧縮データかは判断できる。非圧縮データならそのまま1ライン分のデータを出力し、圧縮データなら1ライン分の解凍処理を行う。判定ユニット67は、ヘッダデータ41を検出してから、画素データ数の出力合計値をカウントする2種類のカウンタ75および76を備えている。カウンタ75は、固定長のデータブロック31のデータを読み出すケースで、読み出されたデータ37のバイト数を単純にカウントするカウンタである。カウンタ75は、ダウンカウントあるいはアップカウントにより、読み出されたデータ37の数が固定長Nバイトに達すると、セレクタ62に対してヘッダデコーダ61を選択する信号79aを出力する。
The
カウンタ76は、可変長データブロック35のデータを読み出す場合に、伸張されたデータ38が固定長Nバイトに達したことを判断するためのカウンタである。このため、カウンタ76は、画素数39bを加算して合計を演算するラインカウンタ76aと、ラインカウンタ76aの合計値(バイト)を、固定長Nバイトから減算する回路76bと、減算結果を比較する比較器76cとを含む。比較器76cは比較結果が0であると、伸張されたデータ38が固定長Nバイトに達したと判断し、セレクタ62に対してヘッダデコーダ61を選択する信号79bを出力し、さらに、ラインカウンタ76aと、カウンタ75とをリセットする。
The
判定ユニット67は、固定長のデータをカウントすることにより生成された信号79aと、可変長のデータをカウントすることにより生成された信号79bとを選択するセレクタ77を備えており、直前のヘッダデータ41のデコード結果により、いずれかを選択しセレクタ62を制御する。これにより、固定長のデータブロック31を構成するためのデータと、可変長のデータブロック35を構成するためのデータとがメモリ21に混在して記録されている場合でも、次のデータブロックのヘッダデータ41を確実に見つけることができ、次のデータブロックを確実に再生し、出力データ48として出力できる。
The
この方式であると、入力ユニット24においてメモリ21に記録された固定長Nバイトの数値が、出力ユニット25に所定のタイミングで伝達されることにより、確実にヘッダデータ41を発見でき、圧縮および非圧縮のデータを再現して出力できる。したがって、途中でスキャニングしている画像の解像度が変わり、固定長Nバイトの数値が変わった場合でも、その画像データを再生できる。すなわち、ある解像度変換後のデータブロック(1ライン)31の画素数データとラインカウンタの値が、任意の画素データの連続出力が終わったある時点で必ず一致する。この一致した次の8ビットのデータが次ラインのヘッダとして容易に検出することが可能となる。
With this method, the fixed-length N-byte numerical value recorded in the
図6に、このメモリユニット20のメモリ21に画像データが記録された一例を模式的に示している。ヘッダデータ41に続き固定長の1ライン分のデータブロック31と、ヘッダデータ41に続き可変長の1ライン分のデータブロック35とが、連続して、混在した状態で、メモリ21に記録することができる。したがって、圧縮することが有効なデータのみを圧縮してメモリ21に格納することができ、さらに、固定長の非圧縮のデータと、可変長の圧縮されたデータとを、効率よく、無駄が生じないように、メモリ21に格納できる。このため、メモリ21の実質的なメモリ容量を、効率良く向上することができる。
FIG. 6 schematically shows an example in which image data is recorded in the
さらに、このメモリユニット20では、メモリインターフェイスユニット22によりメモリ21がエンカプセルされており、メモリユニット20のユーザに対しては、固定長のデータの入出力をサービスする。したがって、ユーザは、メモリユニット20をメモリ本体21のメモリ容量よりも、期待される実効的なメモリ容量が大きなメモリとして利用することが可能である。
Further, in the
なお、上記では、可変長可逆圧縮処理の好適な例としてランレングス符号化を採用しているが、差分圧縮方式などの他の可変長可逆符号方式を併用することも可能である。また、このメモリユニットは、MFPに限らず、スキャナ、プリンタなどの他の機器および用途において、画像データを含む、連続したデータをバッファリングするためのメモリユニットとして使用できる。 In the above description, run-length encoding is adopted as a suitable example of variable-length lossless compression processing, but other variable-length lossless encoding methods such as a differential compression method can be used in combination. The memory unit is not limited to the MFP, and can be used as a memory unit for buffering continuous data including image data in other devices and applications such as a scanner and a printer.
10 MFP
20 メモリユニット、 21 メモリ(メモリ本体)
22 メモリインターフェイスユニット
23 メモリコントローラ、 24 入力ユニット、 25 出力ユニット
10 MFP
20 memory units, 21 memory (memory body)
22
Claims (3)
前記メモリからデータを読み出し前記固定長の複数のデータブロックを含む画像データを出力する出力ユニットであって、前記ヘッダデータに続いて読み出したデータを出力データとして出力する出力ユニットとを有し、
前記入力ユニットは、
前記データブロックをランレングス符号化による可変長可逆圧縮処理をして画素データと連続画素数との組み合わせからなる所定のビット数単位の複数の圧縮データセットを含む可変長データブロックを生成する圧縮ユニットと、
前記可変長データブロックが前記固定長よりも短いときは、前記ヘッダデータに前記可変長データブロックに含まれる圧縮データセットのビット数単位に関する情報を含め、前記データブロックの代わりに、前記可変長データブロックを前記メモリに書き込むためのデータとして選択する入力選択ユニットとを含み、
前記出力ユニットは、
前記ヘッダデータに圧縮に関する情報が含まれているときは、前記ヘッダデータにより指定されたビット数単位のデータセットを圧縮データセットとして前記読み出したデータを伸張する伸張ユニットと、
前記伸張ユニットにより伸張されたデータを、前記読み出したデータの代わりに前記出力データとして出力する出力選択ユニットと、
前記ヘッダデータに続き前記読み出したデータまたは前記伸張されたデータが前記固定長に達したときに、前記読み出したデータに続くデータセットを次のデータブロックの前記ヘッダデータと判断する判定ユニットとを含む、メモリインターフェイスユニット。 An input unit for writing image data including a plurality of fixed-length data blocks into a memory, each fixed-length data block including a plurality of multi-valued pixel data constituting one line of an image, An input unit that adds header data to the beginning of a long data block and writes to the memory following the data written prior to the memory;
An output unit for outputting the image data including a plurality of data blocks of the fixed length reading data from said memory, and an output unit for outputting the read data following the header data as output data,
The input unit is
A compression unit that generates a variable-length data block including a plurality of compressed data sets each having a predetermined number of bits composed of a combination of pixel data and the number of continuous pixels by subjecting the data block to variable-length lossless compression processing by run-length encoding. When,
When the variable-length data block is shorter than the fixed length, the header data includes information on the number of bits of a compressed data set included in the variable-length data block , and the variable-length data is used instead of the data block. An input selection unit for selecting a block as data for writing to the memory,
The output unit is
When the header data includes information related to compression, a decompression unit that decompresses the read data using a data set in units of the number of bits specified by the header data as a compressed data set ;
An output selection unit that outputs the data expanded by the expansion unit as the output data instead of the read data;
A determination unit that determines a data set following the read data as the header data of the next data block when the read data or the decompressed data following the header data reaches the fixed length. , Memory interface unit.
前記メモリインターフェイスユニットにより入出力が制御されるメモリ本体とを有するメモリユニット。 A memory interface unit according to claim 1 ;
A memory unit whose input / output is controlled by the memory interface unit.
前記複数の画素データを含む画像データを取得するためのスキャナユニットと、
前記画像データを用いて画像を印刷可能なプリンタユニットと、
前記メモリユニットを介して前記画像データを前記プリンタユニットまたは外部装置に出力可能な制御ユニットとを有するシステム。 A memory unit according to claim 2 ;
A scanner unit for acquiring image data including the plurality of pixel data;
A printer unit capable of printing an image using the image data;
And a control unit capable of outputting the image data to the printer unit or an external device via the memory unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007062866A JP4906097B2 (en) | 2007-03-13 | 2007-03-13 | Memory interface unit and memory unit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007062866A JP4906097B2 (en) | 2007-03-13 | 2007-03-13 | Memory interface unit and memory unit |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008227888A JP2008227888A (en) | 2008-09-25 |
JP4906097B2 true JP4906097B2 (en) | 2012-03-28 |
Family
ID=39845969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007062866A Expired - Fee Related JP4906097B2 (en) | 2007-03-13 | 2007-03-13 | Memory interface unit and memory unit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4906097B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6432256B2 (en) * | 2014-09-30 | 2018-12-05 | ブラザー工業株式会社 | Printer |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07264417A (en) * | 1994-03-18 | 1995-10-13 | Oki Electric Ind Co Ltd | Image coding method |
JPH09270919A (en) * | 1996-03-31 | 1997-10-14 | Ricoh Co Ltd | Data compression method in page printer |
JP2001332976A (en) * | 2000-05-24 | 2001-11-30 | Canon Inc | Device and method for processing image |
JP2004088275A (en) * | 2002-08-26 | 2004-03-18 | Naltec Inc | Data i/o device and method for controlling the same |
JP2006264274A (en) * | 2005-03-25 | 2006-10-05 | Seiko Epson Corp | Uncompressing circuit, uncompressing method and printer |
-
2007
- 2007-03-13 JP JP2007062866A patent/JP4906097B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2008227888A (en) | 2008-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4929073B2 (en) | Multi-function printer | |
US7130072B2 (en) | Multifunction system, image processing method, computer program and memory medium | |
US7447384B2 (en) | Image processing method and apparatus | |
JP4906097B2 (en) | Memory interface unit and memory unit | |
JP5222409B2 (en) | Printer device | |
US6992788B2 (en) | Image processing apparatus and method, and storage medium | |
JP2001332976A (en) | Device and method for processing image | |
JP4525726B2 (en) | Decoding device, decoding program, and image processing device | |
US8582168B2 (en) | Image processing apparatus and processing method thereof | |
JP4223049B2 (en) | Image processing apparatus and image forming apparatus | |
JP4136573B2 (en) | Image processing method, image processing apparatus, program, and recording medium | |
JP3901869B2 (en) | Memory device | |
JP2005045458A (en) | Image compression method and apparatus | |
JP3926030B2 (en) | Image forming apparatus | |
JPH11187261A (en) | Image processor | |
JP2007060261A (en) | Image formation apparatus | |
JP2004253906A (en) | Expanding apparatus | |
JP3690102B2 (en) | Image processing apparatus and image processing method | |
JP2005020094A (en) | Image processing method and image processor | |
JP4812662B2 (en) | Image forming apparatus | |
JP2003250050A (en) | Image processing apparatus and control method thereof | |
JP2000165576A (en) | Digital image copying system | |
JP2005244773A (en) | Image processor | |
JP2008160866A (en) | Image processing method and apparatus | |
JP2005244748A (en) | Image processing method and image processing apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100312 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100803 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110908 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110912 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111111 |
|
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: 20111212 |
|
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: 20120106 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150120 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4906097 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |