[go: up one dir, main page]

JP2004334295A - Storage device - Google Patents

Storage device Download PDF

Info

Publication number
JP2004334295A
JP2004334295A JP2003125361A JP2003125361A JP2004334295A JP 2004334295 A JP2004334295 A JP 2004334295A JP 2003125361 A JP2003125361 A JP 2003125361A JP 2003125361 A JP2003125361 A JP 2003125361A JP 2004334295 A JP2004334295 A JP 2004334295A
Authority
JP
Japan
Prior art keywords
data
address
area
storage
storage device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003125361A
Other languages
Japanese (ja)
Inventor
Yasuhiro Enomoto
保宏 榎本
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.)
Yamaha Corp
Original Assignee
Yamaha 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 Yamaha Corp filed Critical Yamaha Corp
Priority to JP2003125361A priority Critical patent/JP2004334295A/en
Priority to US10/829,012 priority patent/US7483033B2/en
Priority to CNB200410038608XA priority patent/CN100357912C/en
Publication of JP2004334295A publication Critical patent/JP2004334295A/en
Priority to HK04110118.2A priority patent/HK1066999B/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Input (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Dram (AREA)
  • Static Random-Access Memory (AREA)
  • Memory System (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a storage device capable of speeding up writing operation for run-length-encoded serial data. <P>SOLUTION: A memory array (a storage means) 80 has a plurality of memory blocks 81-88 (a plurality of storage areas) provided correspondingly to data width of parallel data DP. Pixel data DG are imparted to the plurality of memory blocks 81-88 in common, and the pixel data DG are developed to the parallel data DP of the prescribed data width and are stored. At that time, one or more memory blocks to be stored with the pixel data are simultaneously selected from the memory blocks 81-88 on the basis of run-length data (second data) showing continuous numbers of the pixel data DG (first data). <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、記憶装置に関し、特に、記憶すべき値とその値が連続する個数とが既知のデータに対する記憶動作の高速化技術に関する。
【0002】
【従来の技術】
従来、ファクシミリ等においては、画像をスキャンすることにより、白または黒の画素を表現する2値データからなるシリアルデータを生成しており、このシリアルデータを伝送する場合、ランレングス符号化によりシリアルデータを圧縮している。一方、この種のシリアルデータを記憶するための記憶装置として、パラレルデータに展開して記憶するものがある(特許文献1参照)。この従来技術によれば、シリアルデータに含まれる各データが順次的に入力されて別々のメモリアレイに書き込まれるが、最後に入力されるデータを記憶するメモリアレイの書き込み動作が、それよりも前に入力されるデータを記憶するメモリアレイよりも高速化されている。これにより、データセットアップ時間を短縮し、全体として書き込み動作を高速化している。
【0003】
【特許文献1】
特開平11−328948号公報(段落番号0012、図2)
【0004】
【発明が解決しようとする課題】
しかしながら、上述の従来技術によれば、シリアルデータに含まれる各データを個々にラッチしてメモリアレイに個別的に書き込むため、同じ値のデータが連続する場合であっても、各データを個々にラッチして同様の書き込み動作を繰り返す必要がある。従って、ランレングスの大きなシリアルデータを記憶する場合、その書き込み動作を有効に高速化することができないという問題がある。
この発明は、上記事情に鑑みてなされたもので、ランレングス符号化されたシリアルデータの書き込み動作を高速化することが可能な記憶装置を提供することを目的とする。
【0005】
【課題を解決するための手段】
上記課題を解決するため、この発明は以下の構成を有する。
即ち、この発明に係る記憶装置は、第1のデータが共通に与えられ、前記第1のデータ所定個数分のデータ幅に対応して設けられた複数の記憶領域を有する記憶手段と、前記第1のデータの連続数を表す第2のデータを入力し、該第2のデータに基づき、前記複数の記憶領域の中から前記第1のデータが記憶されるべき1又は2以上の記憶領域を同時的に選択する記憶領域選択手段と、を備えたことを特徴とする。
この構成によれば、複数の記憶領域のうち、同値の複数の第1のデータが記憶されるべき記憶領域が並列的に選択される。これにより、同値の複数の第1のデータがパラレルデータに展開されて1回の書き込み動作でメモリアレイ80に記憶され、従って書き込み動作が高速化される。
【0006】
上記記憶装置において、例えば、前記記憶領域選択手段が、前記第1のデータを記憶すべき領域の始点を与える第1のアドレスを格納する第1のレジスタと、前記第1のレジスタに格納された第1のアドレスに前記第2のデータの値を加算する加算器と、前記第1のデータを記憶すべき領域の終点を与える第2のアドレスとして前記加算器の加算結果を格納すると共に該加算結果を前記第1のレジスタに与える第2のレジスタと、前記第1および第2のレジスタの内容に基づき前記複数の記憶領域を書き込み可能な状態に選択的に制御する制御部と、を備えたことを特徴とする。
また、例えば、前記制御部が、前記データ幅に対応した単位領域と前記第1および第2のアドレスとの関係に基づき、書き込み可能な状態に制御すべき記憶領域を選択することを特徴とする。
【0007】
また、例えば、前記制御部が、前記第1および第2のアドレスが、前記単位領域のうち、現在書き込みの対象となっている単位領域の内部を指定するものである場合、前記複数の記憶領域のうち、前記第1のアドレスから第2のアドレスまでの各アドレスで指定される記憶領域を同時的に選択することを特徴とする。
また、例えば、前記制御部が、前記第1のアドレスが、前記単位領域のうちの現在書き込みの対象となっている単位領域の内部を指定するものであり、且つ、前記第2のアドレスが、前記現在書き込みの対象となっている単位領域の外部を指定するものである場合、前記複数の記憶領域のうち、前記第1のアドレス以降の各アドレスで指定される記憶領域を同時的に選択することを特徴とする。
【0008】
また、例えば、前記制御部が、前記第1および第2のアドレスが、前記単位領域のうちの現在書き込みの対象となっている領域の外部を指定するものである場合、前記複数の記憶領域の全てを同時的に選択することを特徴とする。
また、例えば、前記制御部が、前記第1のアドレスが、前記単位領域のうちの現在書き込みの対象となっている単位領域の外部を指定するものであり、且つ、前記第2のアドレスが、前記現在書き込みの対象となっている単位領域の内部を指定するものである場合、前記複数の記憶領域のうち、前記第2のアドレス以前の各アドレスで指定される記憶領域を同時的に選択することを特徴とする。
【0009】
【発明の実施の形態】
以下、この発明の実施形態に係る記憶装置を説明する。
図1に、この発明の実施形態に係る記憶装置の構成を示す。この記憶装置は、画像データであるシリアルデータDSを8個の画素データ(DP1〜DP8)からなる所定データ幅のパラレルデータDPに展開して記憶するものでる。この実施形態では、入力されるシリアルデータDSは、予めランレングス符号化され、図2(a)に示すように、画素データDGと画素データの連続数(ランレングス)を表すランレングスデータRLとに変換されて外部から入力される。また、各画素データDGは、16ビットのデータであるものとする。
【0010】
図1において、符号10は加算器、符号20,30はレジスタ、符号40はコンパレータ、符号50はライトコントローラ、符号60はカウンタ、符号70はマルチプレクサ、符号80はメモリアレイを示す。このうち、加算器10、レジスタ20,30、コンパレータ40、ライトコントローラ50、カウンタ60は、記憶領域選択手段として機能するものであり、上述のランレングスデータRLに基づき、複数のメモリブロック81〜88の中から画素データが記憶されるべき1又は2以上のメモリブロックを同時的に選択する。また、メモリアレイ80は、パラレルデータDPのデータ幅に対応して設けられた8個のメモリブロック81〜88を有する記憶手段であり、各メモリブロックには画素データDGが共通に与えられる。
【0011】
図2(a)に、画素データDGとランレングスデータRLとの関係を示す。同図では、画素データDGの値「5」、「8」、「0」、「4」、「2」、「0」、「1」、「2」に対して、ランレングスデータRLの値「1」、「1」、「8」、「1」、「1」、「2」、「1」、「1」がそれぞれ対応している。この例でによれば、ランレングス符号化前のシリアルデータは、例えば画素データ「5」、「8」がそれぞれ1個発生した後に、画素データ「0」が8個連続したものであることを表している。このランレングス符号化により、シリアルデータDSに含まれる連続した同値の画素データが1個の画素データDGに置き換えられ、これによりデータ量を削減している。
【0012】
説明を図1に戻す。上述のランレングスデータRLは加算器10の一方の入力部に与えられ、この加算器10の他方の入力部には後述のレジスタ30の出力信号であるアドレスADSが与えられる。加算器10の出力信号はレジスタ20に与えられ、このレジスタ20の出力信号であるアドレス信号ADEはコンパレータ40とレジスタ30に与えられ、このアドレス信号ADEの下位3ビットからなるアドレスADELはライトコントローラ50に与えられる。レジスタ30の出力信号であるアドレス信号ADSは、上述の加算器10とコンパレータ40とカウンタ60とに与えられ、このアドレス信号ADSの下位3ビットからなるアドレスADSLはライトコントローラ50に与えられる。図2(b)に示すように、アドレスADE,ADSのそれぞれは、「A0」〜「A12」の13ビットから構成され、そのうち、下位3ビットの「A0」〜「A2」には8つのメモリブロック81〜88のいずれかに対応したデータが現れる。
【0013】
カウンタ60の出力信号であるアドレスADCはコンパレータ40とマルチプレクサ70の一方の入力部に与えられ、このマルチプレクサ70の他方の入力部にはリード用のアドレスADDRが与えられる。マルチプレクサ70の出力信号であるアドレスADはメモリアレイ80を構成するメモリブロック81〜88に共通に与えられる。コンパレータ40の出力信号Jはライトコントローラ50に与えられ、このライトコントローラ50の出力信号であるライトコントロール信号SWEはメモリアレイ80に与えられる。また、ライトコントローラ50から上述のカウンタ60にはカウントアップ用のトリガー信号Tが与えられる。
【0014】
メモリアレイ80を構成する各メモリブロックは、n個(nは任意の自然数)分の画素データの記憶領域を有している。この実施形態では、1つの画素データの記憶領域を「セル」と定義する。1個のセルは1つの画素データ(16ビット)を記憶する。図3に示す例では、1個のメモリブロック81は、n個のセルM(1,1)〜M(1,n)から構成される。同様に他のメモリブロック82〜88についてもn個のセルから構成され、メモリアレイ80の全体では、セルM(1,1)〜M(8,n)が8行n列のマトリックス状に配列されている。これら8個のメモリブロック81〜88は、パラレルデータDPのデータ幅、即ち1つのパラレルデータに含まれる画素データに対応して設けられたものである。
【0015】
また、8行×n列のマトリックス状に配列されたセルM(1,1)〜M(8,n)には、列方向に歩進するアドレスが割り付けられており、また全列にわたってアドレスが連続したものとなっている。即ち、図3において、第1列目のセルM(1,1)には先頭アドレスが割り付けられており、以下、第1列目のセル(2,1)、M(3,1)、M(4,1)、…、M(8,1)に対して「1」づつ歩進するアドレスが割り付けられている。また、第2列目の先頭のセルM(1,2)には、第1列目の最後のセルM(8,1)のアドレスに連続するアドレスが割り付けられている。以下同様に、第3列目から第n列目の各セルには歩進したアドレスが割り付けられ、全列を通してアドレスが連続したものとなっている。
【0016】
以下、この実施形態に係る記憶装置の動作を説明する。
先ず、図3を参照して、シリアルデータDSの各画像データとメモリアレイ80内の記憶場所との対応関係を説明しておく。図3は、シリアルデータDSの各画素データとメモリアレイ80の記憶場所との対応関係を示している。この例に示すように、シリアルデータDSは、メモリブロック81〜88の個数に対応した数の画素データを単位として、メモリアレイ80の各列を構成するセル群に記憶される。例えば、図3において、シリアルデータDS内のデータ列DSmを構成する画素データの値「5」、「8」、「0」、「0」、「0」、「0」、「0」、「0」は、それぞれ、セルM(1,1)、M(2,1)、M(3,1)、M(4,1)、M(5,1)、M(6,1)、M(7,1)、M(8,1)に記憶される。即ち、データ列DSmはパラレルデータに展開されてメモリアレイ80の第1列目に記憶される。
【0017】
また、データ列DSmに続くデータ列DSm+1を構成する画素データの値「0」、「0」、「4」、「2」、「0」、「0」、「1」、「2」は、それぞれ、セルM(1,2)、M(2,2)、M(3,2)、M(4,2)、M(5,2)、M(6,2)、M(7,2)、M(8,2)に記憶される。即ち、データ列DSm+1は同様にパラレルデータに展開されてメモリアレイ80の第2列目に記憶される。以下同様に、データ列DSm+1に続くデータ列を構成する各画素データはメモリアレイ80の第3列目以降に順次記憶される。このように、メモリアレイ80の各列を構成するセル群は、パラレルデータPDを記憶するためのデータ幅に対応した単位となる領域を構成し、シリアルデータDSは8つの画素データからなるパラレルデータに展開されて1つの列に記憶される。
【0018】
次に、図1に示す記憶装置の動作について、上述の図3に示すデータ列DSmがメモリアレイ80の第1列目に記憶されるまでの動作を例として説明する。
先ず、図1に示す記憶装置の動作を概略的に説明しておく。この記憶装置は、連続する同値の画像データを一括して複数のメモリブロックに書き込む。このとき、一括して同値が書き込まれる複数のメモリブロックは、レジスタ20,30に格納されるアドレスにより指定され、ライトコントローラ50により、該当する複数のメモリブロックを書き込み可能な状態に同時的に制御する。即ち、レジスタ30には、画素データを記憶すべき領域の始点である最初のメモリセルを指定するアドレスが格納される。また、レジスタ20には、画素データを記憶すべき領域の終点である最後のメモリセルを指定するアドレスが格納される。これらのレジスタに格納された各アドレスで指定される範囲内に存在する全てのメモリセルが一括して書き込み可能な状態に制御される。また、同値の画像データが複数の列に亘って記憶される場合には、カウンタ60が出力するアドレスADCを歩進させることにより、書き込み対象の列を切り替えている。
【0019】
続いて、各部の動作を詳細に説明する。初期状態では、図1に示すレジスタ20,30はリセットされており、これらのレジスタからそれぞれ出力されるアドレスADE,ADSの全ビットが「0」となっている。また、カウンタ60もリセットされた状態にあり、その出力信号であるアドレスADCの全ビットも「0」となっている。また、マルチプレクサ70は、書き込み動作時には、カウンタ60から出力されるアドレスADCを選択し、読み出し動作時には、外部から与えられるアドレスADDRを選択する。ここでは、主として書き込み動作を説明するので、マルチプレクサ70はアドレスADCを選択しているものとする。さらに、ライトコントローラ50から出力されるライトコントロール信号SWEは非活性状態とされ、これを入力するメモリアレイ80を構成するメモリブロック81〜88の全ては、データの書き込みを受け付けない状態となっている。
【0020】
この初期状態から、CPU等の外部装置が、画素データDGとして、図2(a)に示す画素データDGの先頭の画素データ「5」を、図1に示すメモリアレイ80のメモリブロック81〜88に共通に与える。この段階では、メモリブロック81〜88は何れも書き込みを受け付けない状態にあるので、画素データ「5」は未だ何れのメモリブロックにも書き込まれない。
一方、メモリアレイ80に与えられている画素データ「5」の連続数を表すデータ「1」がランレングスデータRLとして加算器10に与えられると、加算器10は、ランレングスデータRLの値「1」を、レジスタ30に格納されたアドレスADSの値に加算し、その加算結果をレジスタ20に出力する。
【0021】
コンパレータ40は、アドレスADSと、このアドレスADSよりも「1」だけ大きいアドレスADEとを比較し、その比較結果を表す信号Jをライトコントローラ50に出力する。この信号Jを受けて、ライトコントローラ50は、アドレスADEとアドレスADSとの差分が「1」の場合には、ライトコントロール信号SWEにより、メモリブロック81〜88のうち、アドレスADSの下位3ビットからなるアドレスADSLで指定されるメモリブロック81のみを書き込み可能な状態に制御する。これにより、画素データ「5」がメモリブロック81に書き込まれる。
この後、レジスタ20の値がレジスタ30に書き込まれ、それまで最後のメモリブロックを指定していたアドレスADEの値「1」が新たに最初のメモリブロックを指定するアドレスADSの値とされる。
【0022】
続いて、外部装置が、画素データ「8」を供給し、その連続数を表すデータ「1」をランレングスデータRLとして供給する。この場合、レジスタ30から出力されるアドレスADSの値は「1」であるから、これにランレングスデータRLの値「1」を加算し、値「2」をレジスタ20に出力する。この場合も、コンパレータ40は、アドレスADEとアドレスADSとの差分が「1」である旨の信号Jをライトコントローラ50に出力し、これを受けて、ライトコントローラ50は、アドレスADSの下位3ビットからなるアドレスADSLで指定されるメモリブロック82のみを書き込み可能な状態に制御する。これにより、画素データ「8」がメモリブロック82に書き込まれる。
この後、レジスタ20の値がレジスタ30に書き込まれ、それまで最後のメモリブロックを指定していたアドレスADEの値「2」が新たに最初のメモリブロックを指定するアドレスADSの値とされる。
【0023】
続いて、外部の装置が、画素データ「0」を供給し、その連続数を表すデータ「8」をランレングスデータRLとして供給する。この場合、レジスタ30から出力されるアドレスADSの値は「2」であるから、これにランレングスデータRLの値「8」を加算し、値「10」をレジスタ20に出力する。アドレスADSの値「2」とアドレスADEの値「10」がコンパレータ40に出力される。このように、アドレスADSの値「2」とアドレスADEの値「10」との差分が値「1」よりも大きな値「8」である場合、コンパレータ40は、パラレルデータを記憶するための単位となる領域(列)と、アドレスADSおよびアドレスADEとの関係に基づき、書き込み可能な状態に制御すべきメモリブロックを選択する。
【0024】
ここで、図4を参照して、コンパレータ40がメモリブロックを判定する原理を説明する。同図(a)は、アドレスADSとアドレスADEとが現在書き込みの対象となっている列C1の内部のセルを指定するものである場合に選択すべきメモリブロックの範囲を示す。この場合、アドレスADSで示されるメモリブロックからアドレスADEで示されるメモリブロックまでが同時的に選択される。同図(b)は、アドレスADSが現在書き込みの対象となっている列C1の内部のセルを指定するものであり、且つアドレスADEが列C1の外部の列C2に存在するセルを指定するものである場合に選択すべきメモリブロックの範囲を示す。この場合、アドレスADS以降の各アドレスで指定されるメモリブロック、即ちアドレスADSで示される列C1の内部のメモリブロックから、この列C1の最後のメモリブロックまでが同時的に選択される。
【0025】
同図(c)は、アドレスADSが現在書き込みの対象となっている列C1の外部の列C0に存在するセルを指定するものであり、且つアドレスADEも列C1の外部の列C2に存在するセルを指定するものである場合に選択すべきメモリブロックの範囲を示す。この場合、列C1に存在する複数のメモリブロック81〜88の全てが同時的に選択される。同図(d)は、アドレスADSが現在書き込みの対象となっている列C1の外部の列C0に存在するセルを指定するものであり、且つアドレスADEが列C1の内部のセルを指定するものである場合に選択すべきメモリブロックの範囲を示す。この場合、アドレスADE以前の各アドレスで指定されるメモリブロック、即ち列C1の先頭のメモリブロックからアドレスADEで示されるメモリブロックまでが同時的に選択される。
【0026】
説明を図1に戻す。コンパレータ40は、アドレスADEの値「10」とアドレスADSの値「2」とから、図4(b)に示すように、アドレスADSが現在書き込みの対象となっている列C1のセルを指定するものであり、且つアドレスADEが列Cの外の列C2に存在するセルを指定するものであると判断し、この判断結果をライトコントローラ50に出力する。これを受けて、ライトコントローラ50は、アドレスADSの下位3ビットからなるアドレスADSLに基づき、現在書き込みの対象となっている列C1について、同値を書き込むべき先頭のメモリアレイ83から最後のメモリブロック88を書き込み可能な状態に制御する。これにより、メモリブロック83〜88に画素データ「0」が一括して書き込まれ、書き込み動作が高速化される。
【0027】
続いて、ライトコントローラ50は、トリガー信号Tをカウンタ60に出力し、このカウンタ60の出力信号であるアドレスADCを「1」だけインクリメントする。これにより、第2列目の列C2が書き込みの対象とされる。この場合、図4(d)に示すように、アドレスADSは、新たに書き込みの対象となった列C2の外の列C1に存在するセルを指定するものとなり、且つアドレスADEが列C2のセルを指定するものとなるから、コンパレータ40は、列C2の先頭のメモリブロックからアドレスADEの下位3ビットからなるアドレスADELで指定されるメモリブロック82までを書き込み可能な状態に制御し、これらメモリブロック81、82に画素データ「0」を一括して書き込む。以下、同様にして画素データ「4」等を順次書き込む。以上により、画素データDGがパラレルデータに展開されてメモリアレイ80に記憶される。
【0028】
上述のようにしてメモリアレイ80に書き込まれた画素データは、列毎に読み出される。この場合、マルチプレクサ70はアドレスADDRを選択してアドレスADとしてメモリアレイ80に出力する。このアドレスAD(ADDR)によりメモリアレイ80の列が択一的に選択され、この列に記憶された画素データDP1〜DP8が並列に読み出される。
以上、この発明の実施形態について詳述したが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。例えば、上述の実施形態では画像データからなるシリアルデータを例としたが、これに限らず、ランレングス符号化されたデータであればどのようなシリアルデータであってもよい。
【0029】
【発明の効果】
以上説明したように、この発明によれば、シリアルデータに含まれる第1のデータの連続数を表す第2のデータを入力し、該第2のデータに基づき複数の記憶領域を選択するようにしたので、ランレングス符号化されたシリアルデータの書き込み動作を高速化することが可能となる。
【図面の簡単な説明】
【図1】この発明の実施の形態に係る記憶装置の構成を示すブロック図である。
【図2】この発明の実施の形態に係る記憶装置のデータおよびアドレス構成を説明するための図である。
【図3】この発明の実施の形態に係る記憶装置のシリアルデータと記憶場所との関係を説明するための説明図である。
【図4】この発明の実施の形態に係る記憶装置の動作を説明するための説明図である。
【符号の説明】
10;加算器、20,30;レジスタ、40;コンパレータ、50;ライトコントローラ、60;カウンタ、70;マルチプレクサ、80;メモリアレイ、81〜88;メモリブロック。
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a storage device, and more particularly, to a technique for speeding up a storage operation for data whose value to be stored and the number of consecutive values are known.
[0002]
[Prior art]
Conventionally, in a facsimile or the like, serial data composed of binary data representing white or black pixels is generated by scanning an image. When transmitting this serial data, the serial data is generated by run-length encoding. Is compressed. On the other hand, as a storage device for storing this kind of serial data, there is a storage device which develops and stores parallel data (see Patent Document 1). According to this conventional technique, each data included in the serial data is sequentially input and written to a separate memory array. However, the write operation of the memory array that stores the last input data is performed earlier than that. The speed is higher than that of a memory array that stores data input to the memory array. As a result, the data setup time is shortened, and the writing operation is accelerated as a whole.
[0003]
[Patent Document 1]
JP-A-11-328948 (paragraph number 0012, FIG. 2)
[0004]
[Problems to be solved by the invention]
However, according to the above-described prior art, since each data included in the serial data is individually latched and individually written into the memory array, even when data of the same value continues, each data is individually It is necessary to latch and repeat the same write operation. Therefore, when storing serial data having a large run length, there is a problem that the write operation cannot be effectively speeded up.
The present invention has been made in view of the above circumstances, and it is an object of the present invention to provide a storage device that can speed up a write operation of run-length encoded serial data.
[0005]
[Means for Solving the Problems]
In order to solve the above problems, the present invention has the following configurations.
That is, a storage device according to the present invention includes a storage unit having a plurality of storage areas to which a first data is commonly provided and provided in correspondence with a data width of the predetermined number of the first data, Inputting second data representing the number of consecutive 1 data, and, based on the second data, selecting one or more storage areas in which the first data is to be stored from among the plurality of storage areas; Storage area selection means for selecting simultaneously.
According to this configuration, from among the plurality of storage areas, the storage areas in which the plurality of first data having the same value are to be stored are selected in parallel. As a result, a plurality of first data having the same value are developed into parallel data and stored in the memory array 80 in one write operation, and therefore, the write operation is sped up.
[0006]
In the above-mentioned storage device, for example, the storage area selection means stores a first address for providing a start point of an area where the first data is to be stored, and a first register for storing a first address. An adder for adding the value of the second data to a first address; storing an addition result of the adder as a second address for providing an end point of an area where the first data is to be stored; A second register for providing a result to the first register; and a control unit for selectively controlling the plurality of storage areas to be in a writable state based on the contents of the first and second registers. It is characterized by the following.
Also, for example, the control unit selects a storage area to be controlled to be in a writable state based on a relationship between a unit area corresponding to the data width and the first and second addresses. .
[0007]
Further, for example, when the control unit specifies the inside of a unit area to be currently written in the unit area, the first and second addresses may include the plurality of storage areas. The storage area specified by each address from the first address to the second address is simultaneously selected.
Also, for example, the control unit may be configured so that the first address specifies the inside of a unit area of the unit area which is a current writing target of the unit area, and the second address is When the outside of the unit area to be currently written is designated, a storage area designated by each address after the first address is simultaneously selected from the plurality of storage areas. It is characterized by the following.
[0008]
Further, for example, when the control unit specifies the outside of the area currently being written in the unit area in the first and second addresses, the control unit may store the plurality of storage areas. It is characterized in that all are selected simultaneously.
Further, for example, the control unit may be configured so that the first address specifies an outside of a unit area of the unit area which is a current writing target of the unit area, and the second address is In the case where the inside of the unit area to be currently written is designated, a storage area designated by each address before the second address is simultaneously selected from the plurality of storage areas. It is characterized by the following.
[0009]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, a storage device according to an embodiment of the present invention will be described.
FIG. 1 shows a configuration of a storage device according to an embodiment of the present invention. This storage device expands and stores serial data DS as image data into parallel data DP having a predetermined data width including eight pixel data (DP1 to DP8). In this embodiment, the input serial data DS is run-length-encoded in advance, and as shown in FIG. 2A, the pixel data DG and the run-length data RL indicating the number of consecutive pixel data (run-length). Is converted to and input from outside. Each pixel data DG is assumed to be 16-bit data.
[0010]
In FIG. 1, reference numeral 10 denotes an adder, reference numerals 20 and 30 denote registers, reference numeral 40 denotes a comparator, reference numeral 50 denotes a light controller, reference numeral 60 denotes a counter, reference numeral 70 denotes a multiplexer, and reference numeral 80 denotes a memory array. Among them, the adder 10, the registers 20, 30, the comparator 40, the write controller 50, and the counter 60 function as storage area selecting means, and based on the above-described run-length data RL, a plurality of memory blocks 81 to 88. , One or more memory blocks in which pixel data is to be stored are simultaneously selected. The memory array 80 is storage means having eight memory blocks 81 to 88 provided corresponding to the data width of the parallel data DP, and pixel data DG is commonly applied to each memory block.
[0011]
FIG. 2A shows a relationship between the pixel data DG and the run-length data RL. In the figure, the values of the run-length data RL correspond to the values “5”, “8”, “0”, “4”, “2”, “0”, “1”, and “2” of the pixel data DG. “1”, “1”, “8”, “1”, “1”, “2”, “1”, and “1” correspond to each other. According to this example, the serial data before run-length encoding is, for example, that one pixel data “5” and one pixel data “8” are generated, and then eight pixel data “0” are consecutive. Represents. By this run-length encoding, continuous equivalent pixel data included in the serial data DS is replaced with one pixel data DG, thereby reducing the data amount.
[0012]
The description returns to FIG. The above-described run length data RL is applied to one input of an adder 10, and the other input of the adder 10 is supplied with an address ADS which is an output signal of a register 30 described later. An output signal of the adder 10 is applied to a register 20. An address signal ADE, which is an output signal of the register 20, is applied to a comparator 40 and a register 30, and an address ADEL composed of lower 3 bits of the address signal ADE is applied to a write controller 50. Given to. An address signal ADS, which is an output signal of the register 30, is given to the adder 10, the comparator 40, and the counter 60, and an address ADSL consisting of the lower three bits of the address signal ADS is given to the write controller 50. As shown in FIG. 2B, each of the addresses ADE and ADS is made up of 13 bits of “A0” to “A12”, and among these, the lower three bits “A0” to “A2” have eight memories. Data corresponding to any of blocks 81 to 88 appears.
[0013]
An address ADC which is an output signal of the counter 60 is supplied to one input of the comparator 40 and the multiplexer 70, and the other input of the multiplexer 70 is supplied with a read address ADDR. The address AD, which is the output signal of the multiplexer 70, is commonly provided to the memory blocks 81 to 88 forming the memory array 80. The output signal J of the comparator 40 is supplied to the write controller 50, and the write control signal SWE, which is the output signal of the write controller 50, is supplied to the memory array 80. In addition, a trigger signal T for counting up is supplied from the light controller 50 to the above-described counter 60.
[0014]
Each memory block constituting the memory array 80 has a storage area for n (n is an arbitrary natural number) pixel data. In this embodiment, a storage area of one pixel data is defined as a “cell”. One cell stores one pixel data (16 bits). In the example shown in FIG. 3, one memory block 81 includes n cells M (1,1) to M (1, n). Similarly, the other memory blocks 82 to 88 are also composed of n cells, and in the entire memory array 80, the cells M (1, 1) to M (8, n) are arranged in a matrix of 8 rows and n columns. Have been. These eight memory blocks 81 to 88 are provided corresponding to the data width of the parallel data DP, that is, the pixel data included in one parallel data.
[0015]
The cells M (1,1) to M (8, n) arranged in a matrix of 8 rows × n columns are assigned addresses that advance in the column direction. It is continuous. That is, in FIG. 3, the head address is assigned to the cell M (1, 1) in the first column, and hereinafter, the cells (2, 1), M (3, 1), M (4, 1),..., M (8, 1) are assigned addresses that are incremented by “1”. Further, an address which is continuous with the address of the last cell M (8, 1) in the first column is assigned to the first cell M (1, 2) in the second column. Similarly, in the same manner, the stepped address is assigned to each of the cells in the third to n-th columns, and the address is continuous throughout all the columns.
[0016]
Hereinafter, the operation of the storage device according to this embodiment will be described.
First, the correspondence between each image data of the serial data DS and a storage location in the memory array 80 will be described with reference to FIG. FIG. 3 shows a correspondence between each pixel data of the serial data DS and a storage location of the memory array 80. As shown in this example, the serial data DS is stored in a cell group constituting each column of the memory array 80 in units of pixel data corresponding to the number of the memory blocks 81 to 88. For example, in FIG. 3, pixel data values “5”, “8”, “0”, “0”, “0”, “0”, “0”, “ "0" means cells M (1,1), M (2,1), M (3,1), M (4,1), M (5,1), M (6,1), M (7, 1) and M (8, 1). That is, the data string DSm is developed into parallel data and stored in the first column of the memory array 80.
[0017]
Further, pixel data values “0”, “0”, “4”, “2”, “0”, “0”, “1”, and “2” of the pixel data constituting the data string DSm + 1 following the data string DSm are represented by: Cells M (1,2), M (2,2), M (3,2), M (4,2), M (5,2), M (6,2), M (7,2) ), M (8, 2). That is, the data string DSm + 1 is similarly expanded into parallel data and stored in the second column of the memory array 80. Similarly, each pixel data constituting the data sequence following the data sequence DSm + 1 is sequentially stored in the third and subsequent columns of the memory array 80. As described above, the cell group forming each column of the memory array 80 forms an area which is a unit corresponding to the data width for storing the parallel data PD, and the serial data DS is a parallel data consisting of eight pixel data. And stored in one column.
[0018]
Next, the operation of the storage device shown in FIG. 1 will be described by taking as an example the operation until the data string DSm shown in FIG. 3 is stored in the first column of the memory array 80.
First, the operation of the storage device shown in FIG. 1 will be schematically described. This storage device writes successive image data of the same value collectively to a plurality of memory blocks. At this time, a plurality of memory blocks to which the same value is written collectively are designated by addresses stored in the registers 20 and 30, and the write controller 50 simultaneously controls the corresponding plurality of memory blocks to a writable state. I do. That is, the register 30 stores an address that specifies the first memory cell that is the start point of the area where pixel data is to be stored. The register 20 stores an address that specifies the last memory cell that is the end point of the area where pixel data is to be stored. All the memory cells existing within the range specified by each address stored in these registers are controlled to be in a state where they can be written at once. When the image data of the same value is stored over a plurality of columns, the column to be written is switched by incrementing the address ADC output from the counter 60.
[0019]
Next, the operation of each unit will be described in detail. In the initial state, the registers 20 and 30 shown in FIG. 1 are reset, and all bits of the addresses ADE and ADS output from these registers are “0”. Further, the counter 60 is also in a reset state, and all bits of the address ADC which is an output signal thereof are “0”. The multiplexer 70 selects an address ADC output from the counter 60 during a write operation, and selects an externally applied address ADDR during a read operation. Here, since the write operation is mainly described, it is assumed that the multiplexer 70 has selected the address ADC. Further, the write control signal SWE output from the write controller 50 is deactivated, and all of the memory blocks 81 to 88 constituting the memory array 80 to which the write control signal SWE is input are in a state in which data writing is not accepted. .
[0020]
From this initial state, an external device such as a CPU transfers the leading pixel data “5” of the pixel data DG shown in FIG. 2A as the pixel data DG to the memory blocks 81 to 88 of the memory array 80 shown in FIG. Give to the common. At this stage, since none of the memory blocks 81 to 88 accepts writing, the pixel data “5” is not yet written to any of the memory blocks.
On the other hand, when data “1” representing the continuous number of pixel data “5” provided to the memory array 80 is provided to the adder 10 as the run-length data RL, the adder 10 sets the value of the run-length data RL to “ "1" is added to the value of the address ADS stored in the register 30, and the result of the addition is output to the register 20.
[0021]
The comparator 40 compares the address ADS with the address ADE larger by “1” than the address ADS, and outputs a signal J representing the result of the comparison to the write controller 50. In response to the signal J, when the difference between the address ADE and the address ADS is “1”, the write controller 50 uses the write control signal SWE to start from the lower three bits of the address ADS in the memory blocks 81 to 88. Only the memory block 81 specified by the address ADSL is controlled to be in a writable state. As a result, the pixel data “5” is written to the memory block 81.
Thereafter, the value of the register 20 is written into the register 30, and the value "1" of the address ADE that has designated the last memory block until then becomes the value of the address ADS that newly designates the first memory block.
[0022]
Subsequently, the external device supplies the pixel data “8”, and supplies the data “1” representing the number of consecutive pixels as the run-length data RL. In this case, since the value of the address ADS output from the register 30 is “1”, the value “1” of the run-length data RL is added thereto, and the value “2” is output to the register 20. Also in this case, the comparator 40 outputs a signal J indicating that the difference between the address ADE and the address ADS is “1” to the write controller 50, and in response thereto, the write controller 50 sets the lower 3 bits of the address ADS. Is controlled so that only the memory block 82 specified by the address ADSL consisting of is written. As a result, the pixel data “8” is written to the memory block 82.
Thereafter, the value of the register 20 is written into the register 30, and the value "2" of the address ADE that has designated the last memory block until then is set as the value of the address ADS that newly designates the first memory block.
[0023]
Subsequently, the external device supplies the pixel data “0” and supplies the data “8” representing the continuous number as the run-length data RL. In this case, since the value of the address ADS output from the register 30 is “2”, the value “8” of the run-length data RL is added thereto, and the value “10” is output to the register 20. The value “2” of the address ADS and the value “10” of the address ADE are output to the comparator 40. As described above, when the difference between the value “2” of the address ADS and the value “10” of the address ADE is a value “8” larger than the value “1”, the comparator 40 is a unit for storing the parallel data. A memory block to be controlled to be in a writable state is selected based on the relationship between the area (column) and the address ADS and the address ADE.
[0024]
Here, the principle by which the comparator 40 determines a memory block will be described with reference to FIG. FIG. 7A shows a range of memory blocks to be selected when the address ADS and the address ADE specify a cell inside the column C1 to which writing is currently performed. In this case, a memory block indicated by the address ADS to a memory block indicated by the address ADE are simultaneously selected. FIG. 11B shows a case where the address ADS specifies a cell inside the column C1 to be written at present, and the address ADE specifies a cell existing in the column C2 outside the column C1. Indicates the range of memory blocks to be selected when In this case, a memory block specified by each address after the address ADS, that is, a memory block inside the column C1 indicated by the address ADS to the last memory block in the column C1 are simultaneously selected.
[0025]
FIG. 11C shows a case where the address ADS designates a cell existing in the column C0 outside the column C1 to be currently written, and the address ADE also exists in the column C2 outside the column C1. The range of the memory block to be selected when a cell is designated is shown. In this case, all of the plurality of memory blocks 81 to 88 existing in the column C1 are simultaneously selected. FIG. 11D shows a case where the address ADS designates a cell existing in the column C0 outside the column C1 to be currently written, and the address ADE designates a cell inside the column C1. Indicates the range of memory blocks to be selected when In this case, a memory block designated by each address before the address ADE, that is, from the first memory block in the column C1 to the memory block indicated by the address ADE is simultaneously selected.
[0026]
The description returns to FIG. As shown in FIG. 4B, the comparator 40 designates a cell in the column C1 to which the address ADS is to be written, based on the value “10” of the address ADE and the value “2” of the address ADS. It is determined that the address ADE specifies a cell existing in the column C2 outside the column C, and the result of this determination is output to the write controller 50. In response to this, based on the address ADSL consisting of the lower three bits of the address ADS, the write controller 50 starts writing the same value from the first memory block 83 to the last memory block 88 for the column C1 to be written. Is controlled to be in a writable state. As a result, the pixel data “0” is collectively written into the memory blocks 83 to 88, and the writing operation is speeded up.
[0027]
Subsequently, the write controller 50 outputs the trigger signal T to the counter 60, and increments the address ADC, which is the output signal of the counter 60, by “1”. As a result, the second column C2 is the target of writing. In this case, as shown in FIG. 4D, the address ADS specifies a cell existing in the column C1 outside the column C2 to be newly written, and the address ADE is the cell in the column C2. Therefore, the comparator 40 controls the state from the head memory block of the column C2 to the memory block 82 specified by the address ADEL including the lower three bits of the address ADE in a writable state. Pixel data “0” is collectively written into 81 and 82. Hereinafter, pixel data “4” and the like are sequentially written in the same manner. As described above, the pixel data DG is developed into parallel data and stored in the memory array 80.
[0028]
The pixel data written in the memory array 80 as described above is read for each column. In this case, the multiplexer 70 selects the address ADDR and outputs it to the memory array 80 as the address AD. The column of the memory array 80 is alternatively selected by the address AD (ADDR), and the pixel data DP1 to DP8 stored in this column are read in parallel.
As described above, the embodiments of the present invention have been described in detail. However, the specific configuration is not limited to the embodiments, and includes a design change or the like without departing from the gist of the present invention. For example, in the above-described embodiment, serial data composed of image data is described as an example. However, the present invention is not limited to this, and any serial data that is run-length encoded data may be used.
[0029]
【The invention's effect】
As described above, according to the present invention, the second data representing the continuous number of the first data included in the serial data is input, and a plurality of storage areas are selected based on the second data. Therefore, the write operation of the run-length encoded serial data can be speeded up.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a storage device according to an embodiment of the present invention.
FIG. 2 is a diagram for explaining a data and address configuration of the storage device according to the embodiment of the present invention;
FIG. 3 is an explanatory diagram for explaining a relationship between serial data and a storage location of the storage device according to the embodiment of the present invention;
FIG. 4 is an explanatory diagram for explaining an operation of the storage device according to the embodiment of the present invention;
[Explanation of symbols]
10; adders, 20, 30; registers, 40; comparators, 50; light controllers, 60; counters, 70; multiplexers, 80; memory arrays, 81 to 88;

Claims (7)

第1のデータが共通に与えられ、前記第1のデータ所定個数分のデータ幅に対応して設けられた複数の記憶領域を有する記憶手段と、
前記第1のデータの連続数を表す第2のデータを入力し、該第2のデータに基づき、前記複数の記憶領域の中から前記第1のデータが記憶されるべき1又は2以上の記憶領域を同時的に選択する記憶領域選択手段と、
を備えたことを特徴とする記憶装置。
Storage means having a plurality of storage areas to which a first data is provided in common and which is provided corresponding to a data width of the predetermined number of the first data;
Second data representing the number of continuations of the first data is input, and one or more storages in which the first data is to be stored from the plurality of storage areas based on the second data. Storage area selecting means for simultaneously selecting an area;
A storage device comprising:
前記記憶領域選択手段が、
前記第1のデータを記憶すべき領域の始点を与える第1のアドレスを格納する第1のレジスタと、
前記第1のレジスタに格納された第1のアドレスに前記第2のデータの値を加算する加算器と、
前記第1のデータを記憶すべき領域の終点を与える第2のアドレスとして前記加算器の加算結果を格納すると共に該加算結果を前記第1のレジスタに与える第2のレジスタと、
前記第1および第2のレジスタの内容に基づき前記複数の記憶領域を書き込み可能な状態に選択的に制御する制御部と、
を備えたことを特徴とする請求項1に記載された記憶装置。
The storage area selecting means,
A first register for storing a first address giving a start point of an area in which the first data is to be stored;
An adder for adding a value of the second data to a first address stored in the first register;
A second register for storing an addition result of the adder as a second address for providing an end point of an area where the first data is to be stored, and for providing the addition result to the first register;
A control unit that selectively controls the plurality of storage areas to a writable state based on the contents of the first and second registers;
The storage device according to claim 1, further comprising:
前記制御部が、
前記データ幅に対応した単位領域と前記第1および第2のアドレスとの関係に基づき、書き込み可能な状態に制御すべき記憶領域を選択することを特徴とする請求項2に記載された記憶装置。
The control unit includes:
3. The storage device according to claim 2, wherein a storage region to be controlled to be in a writable state is selected based on a relationship between a unit region corresponding to the data width and the first and second addresses. .
前記制御部が、
前記第1および第2のアドレスが、前記単位領域のうち、現在書き込みの対象となっている単位領域の内部を指定するものである場合、前記複数の記憶領域のうち、前記第1のアドレスから第2のアドレスまでの各アドレスで指定される記憶領域を同時的に選択することを特徴とする請求項3に記載された記憶装置。
The control unit includes:
In the case where the first and second addresses specify the inside of a unit area to be currently written in the unit area, the first address and the second address of the plurality of storage areas are 4. The storage device according to claim 3, wherein a storage area specified by each address up to a second address is simultaneously selected.
前記制御部が、
前記第1のアドレスが、前記単位領域のうちの現在書き込みの対象となっている単位領域の内部を指定するものであり、且つ、前記第2のアドレスが、前記現在書き込みの対象となっている単位領域の外部を指定するものである場合、前記複数の記憶領域のうち、前記第1のアドレス以降の各アドレスで指定される記憶領域を同時的に選択することを特徴とする請求項3に記載された記憶装置。
The control unit includes:
The first address specifies the inside of the unit area of the unit area to be currently written, and the second address is the target of the current write. 4. The method according to claim 3, wherein when the outside of the unit area is designated, a storage area designated by each address after the first address is simultaneously selected from the plurality of storage areas. The described storage device.
前記制御部が、
前記第1および第2のアドレスが、前記単位領域のうちの現在書き込みの対象となっている領域の外部を指定するものである場合、前記複数の記憶領域の全てを同時的に選択することを特徴とする請求項3に記載された記憶装置。
The control unit includes:
When the first and second addresses specify outside the area of the unit area to be written at present, it is preferable that all of the plurality of storage areas be simultaneously selected. The storage device according to claim 3, wherein:
前記制御部が、
前記第1のアドレスが、前記単位領域のうちの現在書き込みの対象となっている単位領域の外部を指定するものであり、且つ、前記第2のアドレスが、前記現在書き込みの対象となっている単位領域の内部を指定するものである場合、前記複数の記憶領域のうち、前記第2のアドレス以前の各アドレスで指定される記憶領域を同時的に選択することを特徴とする請求項3に記載された記憶装置。
The control unit includes:
The first address specifies the outside of the unit area of the unit area to be currently written, and the second address is the target of the current write. 4. The method according to claim 3, wherein when specifying the inside of the unit area, a storage area specified by each address before the second address is simultaneously selected from the plurality of storage areas. The described storage device.
JP2003125361A 2003-04-30 2003-04-30 Storage device Pending JP2004334295A (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2003125361A JP2004334295A (en) 2003-04-30 2003-04-30 Storage device
US10/829,012 US7483033B2 (en) 2003-04-30 2004-04-21 Storage device
CNB200410038608XA CN100357912C (en) 2003-04-30 2004-04-28 Storage device
HK04110118.2A HK1066999B (en) 2003-04-30 2004-12-21 Storage device and control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003125361A JP2004334295A (en) 2003-04-30 2003-04-30 Storage device

Publications (1)

Publication Number Publication Date
JP2004334295A true JP2004334295A (en) 2004-11-25

Family

ID=33308168

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003125361A Pending JP2004334295A (en) 2003-04-30 2003-04-30 Storage device

Country Status (3)

Country Link
US (1) US7483033B2 (en)
JP (1) JP2004334295A (en)
CN (1) CN100357912C (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103474045A (en) * 2013-08-19 2013-12-25 矽创电子股份有限公司 Data access device for display equipment

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7324112B1 (en) 2004-04-12 2008-01-29 Nvidia Corporation System and method for processing divergent samples in a programmable graphics processing unit
US7477255B1 (en) * 2004-04-12 2009-01-13 Nvidia Corporation System and method for synchronizing divergent samples in a programmable graphics processing unit
CN102947859B (en) * 2010-06-17 2016-03-30 Ntt电子股份有限公司 Image processing apparatus

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3941922A (en) * 1972-11-15 1976-03-02 Matsushita Electric Industrial Co., Ltd. Facsimile system of run-length
DE2458118C2 (en) * 1974-12-09 1976-12-30 Siemens AG, 1000 Berlin und 8000 München Method and arrangement for facsimile coding
US4086620A (en) * 1976-10-21 1978-04-25 Bell Telephone Laboratories, Incorporated Processor for increasing the run-length of facsimile data
JPS5937773A (en) * 1982-08-26 1984-03-01 Canon Inc Run-length coding and decoding device
US4590521A (en) * 1983-08-19 1986-05-20 Advanced Micro Devices, Inc. Picture element generator for facsimile receiver
US4837634A (en) * 1984-06-05 1989-06-06 Canon Kabushik Kaisha Apparatus for decoding image codes obtained by compression process
JPS617769A (en) 1984-06-22 1986-01-14 Fujitsu Ltd Image memory write control method
JPS61107596A (en) * 1984-10-31 1986-05-26 Nec Corp Associative memory
JP2774488B2 (en) 1985-08-08 1998-07-09 キヤノン株式会社 Image code decoding device
US4750043A (en) * 1985-08-08 1988-06-07 Canon Kabushiki Kaisha Decoding apparatus for image code
US4760459A (en) * 1986-07-30 1988-07-26 Kabushiki Kaisha Toshiba Binary data compression and expansion processing apparatus
JPH0697560B2 (en) * 1987-11-19 1994-11-30 三菱電機株式会社 Semiconductor memory device
US5016191A (en) * 1988-09-02 1991-05-14 Tektronix, Inc. Half toning pixel processor
EP0429733B1 (en) 1989-11-17 1999-04-28 Texas Instruments Incorporated Multiprocessor with crossbar between processors and memories
US5305111A (en) * 1990-12-11 1994-04-19 Industrial Technology Research Institute Run length encoding method and system
JPH05292331A (en) 1992-03-30 1993-11-05 Internatl Business Mach Corp <Ibm> Method for decoding run length code, video controller, and data processing system
US5335290A (en) * 1992-04-06 1994-08-02 Ricoh Corporation Segmentation of text, picture and lines of a document image
US5303200A (en) * 1992-07-02 1994-04-12 The Boeing Company N-dimensional multi-port memory
US5592415A (en) * 1992-07-06 1997-01-07 Hitachi, Ltd. Non-volatile semiconductor memory
US5363097A (en) * 1992-09-14 1994-11-08 Industrial Technology Research Institute Direct sequential-bit variable length decoder
KR940008389A (en) * 1992-09-30 1994-04-29 가나이 쯔또무 Image signal processing device and information transmitting / receiving device using the same
JP3419046B2 (en) * 1993-09-27 2003-06-23 セイコーエプソン株式会社 Video display device
US5553160A (en) * 1994-09-01 1996-09-03 Intel Corporation Method and apparatus for dynamically selecting an image compression process based on image size and color resolution
KR0141875B1 (en) * 1994-11-30 1998-06-15 배순훈 Line length decoder
JP3607407B2 (en) * 1995-04-26 2005-01-05 株式会社日立製作所 Semiconductor memory device
US5670993A (en) * 1995-06-07 1997-09-23 Alliance Semiconductor Corporation Display refresh system having reduced memory bandwidth
US5704059A (en) * 1995-07-28 1997-12-30 Nec Corporation Method of write to graphic memory where memory cells designated by plurality of addresses selected simultaneously for one row address are written
JPH0991993A (en) * 1995-09-19 1997-04-04 Texas Instr Japan Ltd Semiconductor memory device testing method
US5694127A (en) * 1995-10-17 1997-12-02 Zapex Technologies, Inc. Method and apparatus for efficiently generating variable length code data
JP3240897B2 (en) * 1995-11-29 2001-12-25 日本電気株式会社 Semiconductor storage device
JPH10124657A (en) 1996-10-17 1998-05-15 Oki Electric Ind Co Ltd Parallel writing memory and parallel writing memory system
US5841379A (en) * 1997-01-24 1998-11-24 Texas Instruments Incorporated Method and apparatus for selectively counting consecutive bits
JP4251675B2 (en) * 1997-07-30 2009-04-08 ソニー株式会社 Storage device and access method
US6104208A (en) * 1998-03-04 2000-08-15 Altera Corporation Programmable logic device incorporating function blocks operable as wide-shallow RAM
JP3312594B2 (en) 1998-05-15 2002-08-12 日本電気株式会社 Semiconductor storage device with serial-parallel conversion function
US6583887B1 (en) * 1999-02-26 2003-06-24 Hewlett-Packard Development Company, L.P. Method and apparatus for data compression
JP2001154910A (en) * 1999-11-29 2001-06-08 Mitsubishi Electric Corp Memory access system
JP4239381B2 (en) * 2000-08-23 2009-03-18 コニカミノルタビジネステクノロジーズ株式会社 Image forming apparatus

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103474045A (en) * 2013-08-19 2013-12-25 矽创电子股份有限公司 Data access device for display equipment
CN103474045B (en) * 2013-08-19 2016-01-06 矽创电子股份有限公司 Data access device for display equipment

Also Published As

Publication number Publication date
CN100357912C (en) 2007-12-26
CN1542842A (en) 2004-11-03
US7483033B2 (en) 2009-01-27
HK1066999A1 (en) 2005-03-18
US20040218227A1 (en) 2004-11-04

Similar Documents

Publication Publication Date Title
JP4166979B2 (en) Nonvolatile semiconductor memory device, data input / output control method thereof, and memory application system
JP3944496B2 (en) Increased memory performance in flash memory devices by simultaneous write operations to multiple devices
US4435792A (en) Raster memory manipulation apparatus
JP4034971B2 (en) Memory controller and memory system device
JP2009282923A (en) Semiconductor storage device and nonvolatile memory
US6928516B2 (en) Image data processing system and method with image data organization into tile cache memory
JP3166447B2 (en) Image processing apparatus and image processing method
JP2004334295A (en) Storage device
KR100953044B1 (en) How to Program Nonvolatile Memory Devices
JP2005102168A (en) Image processing apparatus and its method
JP2005182538A (en) Data transfer device
JP2007164303A (en) Information processor, controller and file reading method
JP2007094639A (en) Memory controller and flash memory system
HK1066999B (en) Storage device and control method
KR100865828B1 (en) Bank division method of flash memory and bank division device of flash memory
CA2231010C (en) Image data storing method and image data storing device
JP2005109856A (en) Picture rotation circuit and picture processor having the same
JP4135606B2 (en) Image processing device
JP4723334B2 (en) DMA transfer system
JP2001128108A (en) Video processor
JP2007034520A (en) Information processing apparatus and information processing method for controlling configuration
JP2004213588A (en) Semiconductor device
JP2757446B2 (en) Thinning device
JPH09231347A (en) Image processor
JP2005196360A (en) Data storage device, data storage control device, data storage control method and data storage control program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080909

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081110

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081202

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090407