JP5359569B2 - メモリのアクセス方法 - Google Patents

メモリのアクセス方法 Download PDF

Info

Publication number
JP5359569B2
JP5359569B2 JP2009132142A JP2009132142A JP5359569B2 JP 5359569 B2 JP5359569 B2 JP 5359569B2 JP 2009132142 A JP2009132142 A JP 2009132142A JP 2009132142 A JP2009132142 A JP 2009132142A JP 5359569 B2 JP5359569 B2 JP 5359569B2
Authority
JP
Japan
Prior art keywords
data
row
section
column
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
JP2009132142A
Other languages
English (en)
Other versions
JP2009295159A (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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Publication of JP2009295159A publication Critical patent/JP2009295159A/ja
Application granted granted Critical
Publication of JP5359569B2 publication Critical patent/JP5359569B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Input (AREA)
  • Memory System (AREA)
  • Storing Facsimile Image Data (AREA)

Description

本発明は、メモリのアクセス方法に関し、特に、データストリーム方式でデータを入力し、データブロック方式でデータを出力するメモリのアクセス方法に関する。
画像データが逐次スキャンにより生成されたデータストリームの形式で表されるが、多くの画像処理における標準アルゴリズム(例えば、JPEG、M-JPEG、DV、MPEG2、MPEG4、H.261又はH.263)はデータブロックを単位とする符号化技術を採用している。画像処理過程において、まず、データストリーム形式の画像データを保存し、それから、データブロックを単位として画像データを符号器に出力する必要があるので、まず、データストリーム方式でデータをメモリに入力し、それから、データブロック方式でメモリからデータを出力することが必要となる。
従来のアクセス方法では、一般的には、同じ容量の二つのキャッシュメモリを含むメモリを用い、この二つのキャッシュメモリを交替して、データの読み書きを行う。JPEGの標準フォーマットのデータを例にすると、JPEG規格により、符号化するときに、データに対して8×8のデータブロックを単位として順方向離散コサイン変換(Forward Discrete Cosine Transform)を行う必要があるので、一般的には、各キャッシュメモリが8行を有する、計16行(第0行〜第15行)のメモリが必要となる。具体的なアクセス手順は下記の通りである。
ステップ1:逐次方式で第0行〜第7行にデータを順次に書き込む。
ステップ2:逐次方式で第8行〜第15行にデータを順次に書き込むと同時に、第0行〜第7行から8×8のデータブロックを単位としてデータを逐次方式で読み出し、即ち、第0行〜第7行第0列〜第7列からなるデータブロック、第0行〜第7行第8列〜第15列からなるデータブロック、第0行〜第7行第16列〜第23列からなるデータブロック・・・の順で第0行〜第7行のデータを全て読み出す。なお、データの書き込みと読み出しの速度が同じであるため、第0行〜第7行のデータ読み出しが終了すると同時に、第8行〜第15行のデータ書き込みも終了する。
ステップ3:逐次方式で第0行〜第7行にデータを順次に書き込むと同時に、第8行〜第15行から8×8のデータブロックを単位としてデータを逐次方式で読み出し、即ち、第8行〜第15行第0列〜第7列からなるデータブロック、第8行〜第15行第8列〜第15列からなるデータブロック、第8行〜第15行第16列〜第23列からなるデータブロック・・・の順で第8行〜第15行のデータを全て読み出す。それから、ステップ2へ戻る。
ここで、一つのピクセルのデータが2バイトで表される必要があるが、説明の便宜のため、メモリにおける行列の各セルのデータが1バイトのデータでなく、2バイトのデータであると定義する。
VGA画像を例にすると、解像度が640×480である場合、各行が640ピクセルを有する、16行のメモリが必要となり、また、1ピクセルが2バイトを要するので、640×16×2=20480バイトが必要となる。
図1〜図6は、従来のアクセス方法の具体的なステップを示す図である。
説明の便宜のため、図1〜図6にある各セルは、2バイトのデータを表し、即ち、一つのピクセルのデータを表す。図1は、初期書き込み状態であり、第0行第0列から、第0行に沿ってデータを書き込むことを示す。図2は、第0行〜第7行のデータ書き込みが終わるところの状態である。図3は、第8行のデータ書き込みを始めると同時に、データの読み出しも始めることを示し、データの読み出しは、8×8ピクセルからなるデータブロックを単位として逐次方式で行われ、即ち、まず、第0行〜第7行第0列〜第7列からなるデータブロックからデータを読み出し、それから、第0行〜第7行第8列〜第15列からなるデータブロックからデータを読み出すことである。図4は、第8行〜第15行のデータ書き込みが終わるところの状態であり、このときは、第0行〜第7行のデータ読み出しも終わるところであり、即ち、最後の第0行〜第7行第632列〜第639列からなるデータブロックからデータを読み出しているところである。図5は、再度第0行第0列からデータを書き込み始めると同時に、第8行〜第15行から8×8のデータブロックを単位としてデータを逐次方式で読み出し、即ち、まず、第8行〜第15行第0列〜第7列からなるデータブロックからデータを読み出し、それから、第8行〜第15行第8列〜第15列からなるデータブロックからデータを読み出すことを示す。図6は、第0行〜第7行のデータ書き込みが終わるところの状態であり、このときは、第8行〜第15行のデータ読み出しも終わるところであり、即ち、最後の第8行〜第15行第632列〜第639列からなるデータブロックからデータを読み出しているところである。
上記のステップから分かるように、従来のアクセス方法では、二つのキャッシュメモリに対して、データの読み出しと書き込みを交替して行うので、画像の解像度の増大につれて、大容量キャッシュメモリが必要となる。画像技術の進展に伴い、画像の解像度が益々高くなっていて、必要なキャッシュメモリのバイト数も益々大きくなるので、メモリの容量が足りない場合は、画像データの読み書きができなくなる。また、高解像度の画像データの読み書きを実現するためには、ハードウェアのコストも高くなる。
表1は、従来の画像サイズと必要なメモリのバイト数を示す。
Figure 0005359569
表1によれば、解像度が高い画像に対して、画像データの読み書きに必要なメモリのバイト数が大きくなることが分かる。従って、解像度が高い画像に対して、キャッシュメモリを有効に利用することができるメモリのアクセス方法が必要となる。
本発明の目的は、同じ解像度の画像に対して、必要なメモリのバイト数を半分まで減少させ、キャッシュメモリを有効に利用することができるメモリのアクセス方法を提供することにある。
上記の目的を達成するために、本発明は、データストリーム方式でデータを入力し、n×nのデータブロック方式でデータを出力するメモリのアクセス方法を提供する。前記メモリのサイズは、n行A列(第0〜n-1行第0〜A-1列)であり、ここで、nは画像処理アルゴリズムが処理できるデータブロックの各行各列のデータの数であり、Aは画像の水平解像度B以上の値であり、且つAはn×nの整数倍であり、また、前記メモリは、n行×nセクションに分割され、各セクションにはA/n列が含まれる。前記アクセス方法は、次のステップを含む。
ステップ1:行ごとに第0行〜第n-2行において全てのセクションにおける前のB/n列にデータを順次書き込む。
ステップ2:第n-1行において全てのセクションにおける前のB/n列にデータを列ごとに書き込み、毎回行ごとにn列のデータを順次読み出す方式で、第0セクションの前のB/n列のデータを読み出してn×nのデータブロックを構成する。
ステップ3:セクションごとに第0セクション〜第n-2セクションにおける前のB/n列にデータを行ごとに順次書き込み、毎回行ごとにn列のデータを順次読み出す方式で、セクションごとに第1セクション〜第n-1セクションにおける前のB/n列のデータを読み出してn×nのデータブロックを構成し、第kセクションにおいてデータを書き込み、第k+1セクションにおいてデータを読み出し、ここで、k=0〜n-2である。
ステップ4:第n-1セクションの前のB/n列にデータを行ごとに書き込み、毎回セクションごとにn列のデータを順次読み出す方式で、第0行の各セクションにおける前のB/n列のデータを読み出してn×nのデータブロックを構成する。
ステップ5:行ごとに第0行〜第n-2行において全てのセクションにおける前のB/n列にデータを順次書き込み、毎回セクションごとにn列のデータを順次読み出す方式で、行ごとに第1行〜第n-1行の各セクションにおける前のB/n列のデータを順次読み出してn×nのデータブロックを構成し、第k行においてデータを書き込み、第k+1行においてデータを読み出し、ここで、k=0〜n-2であり、それから、ステップ2へ戻る。
また、本発明は、データストリーム方式でデータを入力し、n×nのデータブロック方式でデータを出力する他のメモリのアクセス方法を提供する。前記メモリのサイズは、n行A列(第0〜n-1行第0〜A-1列)であり、ここで、nは画像処理アルゴリズムが処理できるデータブロックの各行各列のデータの数であり、Aは画像の水平解像度B以上の値であり、且つAはn×nの整数倍であり、また、前記メモリは、n行×nセクションに分割され、各セクションにはA/n列が含まれる。前記アクセス方法は、次のステップを含む。
ステップ1:セクションごとに第0セクション〜第n-2セクションにおける前のB/n列にデータを行ごとに順次書き込む。
ステップ2:第n-1セクションにおける前のB/n列にデータを行ごとに書き込み、毎回セクションごとにn列のデータを順次読み出す方式で、第0行の各セクションにおける前のB/n列のデータを読み出してn×nのデータブロックを構成する。
ステップ3:行ごとに第0行〜第n-2行において全てのセクションにおける前のB/n列にデータを順次書き込み、毎回セクションごとにn列のデータを順次読み出す方式で、行ごとに第1行〜第n-1行の各セクションにおける前のB/n列のデータを順次読み出してn×nのデータブロックを構成し、第k行においてデータを書き込み、第k+1行においてデータを読み出し、ここで、k=0〜n-2である。
ステップ4:第n-1行において列ごとに全てのセクションにおける前のB/n列にデータを順次書き込み、毎回行ごとにn列のデータを順次読み出す方式で、第0セクションの前のB/n列のデータを読み出してn×nのデータブロックを構成する。
ステップ5:セクションごとに第0セクション〜第n-2セクションにおける前のB/n列にデータを行ごとに順次書き込み、毎回行ごとにn列のデータを順次読み出す方式で、セクションごとに第1セクション〜第n-1セクションにおける前のB/n列のデータを読み出してn×nのデータブロックを構成し、第kセクションにおいてデータを書き込み、第k+1セクションにおいてデータを読み出し、ここで、k=0〜n-2であり、それから、ステップ2へ戻る。
本発明は、メモリの読み書き手順を合理的に設計することにより、同じ容量の二つのキャッシュメモリに対してデータの読み書きを交替に行う必要がなく、1つのキャッシュメモリのみに対してデータの読み書きを行うことができるので、キャッシュメモリを効率よく利用し、バイト数を節約することができる。
従来のアクセス方法のプロセスを示す図である。 従来のアクセス方法のプロセスを示す図である。 従来のアクセス方法のプロセスを示す図である。 従来のアクセス方法のプロセスを示す図である。 従来のアクセス方法のプロセスを示す図である。 従来のアクセス方法のプロセスを示す図である。 本発明に係る一実施例におけるアクセス方法のフローチャートである。 本発明のアクセス方法のプロセスを示す図である 本発明のアクセス方法のプロセスを示す図である。 本発明のアクセス方法のプロセスを示す図である。 本発明のアクセス方法のプロセスを示す図である。 本発明のアクセス方法のプロセスを示す図である。 本発明のアクセス方法のプロセスを示す図である。 本発明のアクセス方法のプロセスを示す図である。 本発明のアクセス方法のプロセスを示す図である。 本発明のアクセス方法のプロセスを示す図である。 本発明に係る他の実施例におけるアクセス方法のフローチャートである。
次に、添付した図面を参照しながら、本発明の好適な実施形態を詳細に説明する。
VGA画像データを入力し、JPEGアルゴリズムにより処理を行うためのデータを出力することを例とし、本発明のアクセス方法の具体的なプロセスを説明する。JPEGデータを符号化する際は、8×8のデータブロックを単位として順方向離散コサイン変換(Forward Discrete Cosine Transform)を行う必要があるので、毎回、8×8のデータブロックを出力する必要がある。VGA画像(640×480)の場合は、従来のアクセス方法では、2つの8×640×2バイトのキャッシュメモリが必要となるのに対して、本発明のアクセス方法では、1つの8×640×2バイトのキャッシュのみ必要となる。
メモリのサイズはn行A列であり、nは画像処理アルゴリズムが処理できるデータブロックの各行各列のピクセル数である。ここで、JPEGアルゴリズムが処理できるのは、8×8のデータブロックであるので、n=8である。Aは画像の水平解像度B(水平ピクセル数)以上の値である。ここで、VGA画像データの場合は640×480であるので、B=640である。この実施例では、メモリのサイズが8行640列であるので、A=640である。また、1ピクセルが2バイトで表されなければならないが、説明の便宜のため、メモリの1セルが1バイトでなく、2バイトであるとする。
図7は、本発明の一実施例におけるアクセス方法のフローチャートである。
図8〜図16は、本実施例におけるアクセス方法のプロセスを示す図である。
以下、図7と図8〜図16を用いて、本発明の一実施例におけるアクセス方法を具体的に説明する。
本発明の一実施例のアクセス方法では、メモリがn行×nセクションに分割され、ここで、具体的には、8行×8セクションに分割され、各セクションは80列を含み、このアクセス方法は、次のステップを含む。
1)行ごとに第0行〜第n-2行において、全てのセクションにおける前のB/n列にデータを順次書き込む(ステップ201)。即ち、図8と図9に示すように、行ごとに第0行〜第6行において、第0セクション〜第7セクションにおける前の640/8=80列にデータを順次書き込む。A>Bの場合、即ちメモリの列数が640を超える場合、第0行〜第6行の各セクションにおける第79列以降のセルにデータを書き込まない。
2)第n-1行において全てのセクションにおける前のB/n列にデータを列ごとに順次書き込み、毎回行ごとにn列のデータを読み出す方式で、第0セクションにおける前のB/n列のデータを読み出してn×nのデータブロックを構成する(ステップ202)。即ち図10に示すように、第7行の全セクションにおける前の80列にデータを書き込む。なお、メモリの列数が640を超えると、第7行の各セクションにおける第79列以降のセルにデータを書き込まない。かつ、第0セクションにおいてデータの読み出しが始まる。図11から分かるように、第0セクションにおいてデータを読み出すとき、まず、行ごとに第0列〜第7列のデータを読み出して第0行〜第7行第0列〜第7列のデータブロックを構成し、それから、行ごとに第8列〜第15列のデータを読み出して第0行〜第7行第8列〜第15列のデータブロックを構成し、このようにして、第72列〜79列までデータを読み出して第0行〜第7行第72列〜第79列のデータブロックを構成する。なお、メモリの列数が640を超えると、第0セクションの各行における第79列以降のセルにはデータが書き込まれないため、読み出す際はこれらのセルからデータを読み出すこともない。
3)セクションごとに第0セクション〜第n-2セクションにおける前のB/n列にデータを行ごとに順次書き込み、毎回行ごとにn列のデータを順次読み出す方式で、セクションごとに第1クッション〜第n-1セクションにおける前のB/n列のデータを読み出してn×nのデータブロックを構成し、第kセクションにおいてデータを書き込み、第k+1セクションにおいてデータを読み出し、ここで、k=0〜n-2である(ステップ203)。即ち図12に示すように、第0セクションから、セクションごとに、第0セクション〜第6セクションにおける前の80列にデータを行ごとに書き込み、即ち、第0セクションの第0行、第0セクションの第1行、・・・、第0セクションの第7行、第1セクションの第0行、第1セクションの第1行、・・・、第1セクションの第7行、・・・、第6セクションの第0行、第6セクションの第1行、・・・、第6セクションの第7行の順に書き込む。メモリの列数が640を超えると、各セクションにおける各行の79列目以降のセルにデータを書き込まない。図13に示すように、第0セクションにおいてデータを書き込み、第1セクションにおいて、毎回行ごとに8列のデータを順次読み出す方式で、第1セクション〜第7セクションにおける前の80列のデータを順次読み出して8×8のデータブロックを構成し、なお、データの読み出しプロセスはステップ2とほぼ同様である。第1セクションにおいてデータを書き込み、第2セクションにおいてデータを読み出し、・・・、第6セクションにおいてデータを書き込み、第7セクションにおいてデータを読み出す。メモリの列数が640を超えると、第1セクション〜第7セクションにける各行の第79列以降のセルにデータが書き込まれないため、読み出す際はこれらのセルからデータを読み出すこともない。
4)第n-1セクションにおける前のB/n列にデータを行ごとに書き込み、毎回セクションごとにn列のデータを順次読み出す方式で、第0行の各セクションにおける前のB/n列のデータを読み出してn×nのデータブロックを構成する(ステップ204)。図14に示すように、行ごとに第7セクションの前の80列にデータを順次書き込み、なお、データの書き込み方法がステップ3とほぼ同様である。メモリの列数が640を超えると、第7セクションにおける各行の第79列以降のセルにデータを書き込まない。かつ、第0行においてデータを読み出し、図15に示すように、第0行のデータの読み出し方法は、毎回第0セクション〜第7セクションにおいて8列のデータを順次読み出して8×8のデータブロックを構成し、即ち、一回目は、第0セクション〜第7セクションにおいて第0列〜第7列のデータをそれぞれ読み出して8×8のデータブロックを構成し、二回目は、第0セクション〜第7セクションにおいて第8列〜第15列のデータを順次読み出して8×8のデータブロックを構成し、・・・、十回目は、第0セクション〜第7セクションにおいて第72列〜第79列のデータをそれぞれ読み出して8×8のデータブロックを構成することである。メモリの列数が640を超えると、第0行の各セクションにおける第79列以降のセルにデータが書き込まれないため、読み出す際はこれらのセルからデータを読み出すこともない。
5)行ごとに第0行〜第n-2行において、全てのセクションにおける前のB/n列にデータを順次書き込み、毎回セクションごとにn列のデータを順次読み出す方式で、第1行〜第n-1行の各セクションにおける前のB/n列のデータを順次読み出してn×nのデータブロックを構成し、第k行においてデータを書き込み、第k+1行においてデータを読み出し、ここで、k=0〜n-2であり、それから、ステップ2へ戻る(ステップ205)。図16に示すように、第0行〜第6行において、第0セクション〜第7セクションの前のB/n列にデータを順次書き込む。メモリの列数が640を超えると、各行の各セクションにおける第79列以降のセルにデータを書き込まない。第1行〜第7行において、毎回セクションごとに8列のデータを順次読み出す方式で、行ごとに第1行〜第7行の各セクションにおける前の80列のデータを順次読み出して8×8のデータブロックを構成し、なお、各行のデータの読み出し方法は、ステップ4とほぼ同様である。メモリの列数が640を超えると、第1行〜第7行の各セクションにおける第79列以降のセルにはデータが書き込まれないため、読み出す際はこれらのセルからデータを読み出すこともない。第6行のデータの書き込みが終わると、図10の状態へ戻り、繰り返し処理を行う。
データの書き込みと読み出しの速度が同じであるため、上記の各ステップにおけるデータの読み出しと書き込みが一般的に同時に完成する。データの書き込みに遅れが生じれば、データの読み出しもそれに応じて遅延する。なお、データが入力されるとき、行ごとに書き込みが終わると間隔が生じるため、データの出力に一定の遅延があっても、データの入力には影響を及ばない。即ち、ステップ2)、3)、4)、5)におけるデータの読み出し動作は、各自のステップにおけるデータの書き込み動作と同期してもよいし、遅延してもよい。つまり、同じセルに対してデータの書き込みと読み出しを同時に行わなければ良い。
上記の実施例から分かるように、メモリの読み書き手順を合理的に設計することにより、1枚の8×640×2バイトのキャッシュメモリを用いて、VGA画像データの読み書きを実現させることができるため、キャッシュメモリを有効に利用し、必要なバイト数を節約することができる。
そして、上記の説明から分かるように、本発明のアクセス方法は、水平解像度がn×nの整数倍の画像のみに適応できるが、水平解像度がn×nの整数倍でない画像に対しては、その解像度が一般的に比較的低いので、従来のアクセス方法を用いても、それほど多くのメモリバイト数を要しない。よって、解像度の高い画像に対しては、その解像度が一般的にはn×nの整数倍であるため、本発明のアクセス方法を使えば、必要なバイト数を半分まで減少させることができる。
上記の説明によれば、本発明の技術的要点は以下である。即ち、データの読み出しと書き込みにはそれぞれ2つの状態を有するため、この2つの読み書き状態を繰り返して利用することで、キャッシュメモリを有効に利用し、メモリのコストの削減を実現することができる。また、上記のステップから分かるように、上記のステップ2)と3)は一つの読み書き状態を表し、ステップ4)と5)はもう一つの読み書き状態を表し、ステップ2)、3)、4)、5)により一つのループが構成される。なお、上記の実施例では、行ごとにデータを書き込むことからループを始めるが、他の実施例では、セクションごとにデータを書き込むことからループを始めてもよい。
図17は、本発明の他の実施例におけるアクセス方法のフローチャート図である。
以下、図17に基づいて、本発明の他の実施例におけるアクセス方法のプロセスを説明する。
1)セクションごとに第0セクション〜第n-2セクションにおける前のB/n列にデータを順次書き込む(ステップ401)。図12に示すように、第0セクションから、セクションごとに、第0セクション〜第6セクションの前の80列にデータを行ごとに書き込み、即ち、第0セクションの第0行、第0セクションの第1行、・・・、第0セクションの第7行、第1セクションの第0行、第1セクションの第1行、・・・、第1セクションの第7行、・・・、第6セクションの第0行、第6セクションの第一行、・・・、第6セクションの第7行の順にデータを書き込む。メモリの列数が640を超えると、各セクションの各行における第79列以降のセルにデータを書き込まない。
2)第n-1セクションの前のB/n列に行ごとにデータを書き込み、毎回セクションごとにn列のデータを順次読み出す方式で、第0行の各セクションにおける前のB/n列のデータを読み出してn×nのデータブロックを構成する(ステップ402)。図14に示すように、第7セクションの前の80列に行ごとにデータを書き込み、なお、データの書き込み方法はステップ1とほぼ同様である。第0行においてデータを読み出し、図15に示すように、第0行におけるデータの読み出し方法は、毎回第0セクション〜第7セクションにおいて8列のデータを順次読み出して8×8のデータブロックを構成し、即ち、一回目は、第0セクション〜第7セクションおいて第0列〜第7列のデータをそれぞれ読み出して8×8のデータブロックを構成し、二回目は、第0セクション〜第7セクションにおいて第8列〜第15列のデータをそれぞれ読み出して8×8のデータブロックを構成し、・・・、十回目は第0セクション〜第7セクションにおいて第72列〜第79列のデータをそれぞれ読み出して8×8のデータブロックを構成することである。なお、メモリの列数が640を超えると、第0行の各セクションにおける第79列以降のセルにデータが書き込まれないため、読み出す際はこれらのセルからデータを読み出すこともない。
3)行ごとに第0行〜第n-2行において、全てのセクションの前のB/n列にデータを順次書き込み、毎回セクションごとにn列のデータを読み出す方式で、第1行〜第n-1行の各セクションにおける前のB/n列のデータを行ごとに順次読み出してn×nデータブロックを構成し、第k行においてデータを書き込み、第k+1行においてデータを読み出し、ここで、k=0〜n-2である(ステップ403)。図16に示すように、第0行〜第6行において、第0セクション〜第7セクションの前の80列にデータを順次書き込む。メモリの列数が640を超えると、各行の各セクションにおける第79列以降のセルにデータを書き込まない。第1行〜第7行において、毎回セクションごとに8列のデータを順次読み出す方式で、第1行〜第7行の各セクションにおける前の80列のデータを行ごとに読み出して8×8のデータブロックを構成し、なお、各行におけるデータの読み出し方法はステップ2とほぼ同様である。メモリの列数が640を超えると、第1行〜第7行の各セクションにおける第79列以降のセルにデータが書き込まれないため、読み出す際はこれらのセルからデータを読み出すこともない。
4)第n-1行において、全てのセクションの前のB/n列にデータを列ごとに書き込み、毎回行ごとにn列のデータを順次読み出す方式で、第0セクションの前のB/n列のデータを読み出してn×nのデータブロックを構成する(ステップ404)。即ち図10に示すように、第7行の全セクションにおける前の80列にデータを書き込む。なお、メモリの列が640を超えると、第7行の各セクションにおける第79列以降のセルにデータを書き込まない。かつ、第0セクションにおいてデータの読み出しが始まる。図11から分かるように、第0セクションにおいてデータを読み出すとき、まず、行ごとに第0列〜第7列のデータを読み出して第0行〜第7行第0列〜第7列のデータブロックを構成し、それから、行ごとに第8列〜第15列のデータを読み出して第0行〜第7行第8列〜第15列のデータブロックを構成し、・・・、最後に、第0行〜第7行第72列〜第79列のデータブロックを構成する。なお、メモリの列数が640を超えると、第0セクションの各行における第79列以降のセルにデータが書き込まれないため、読み出す際はこれらのセルからデータを読み出すことがない。
5)セクションごとに第0セクション〜第n-2セクションの前のB/n列にデータを行ごとに順次書き込み、毎回行ごとにn列のデータを読み出す方式で、第1セクション〜第n-1セクションの前のB/n列のデータをセクションごとに読み出してn×nのデータブロックを構成し、第kセクションにおいてデータを書き込み、第k+1セクションにおいてデータを読み出し、ここで、k=0〜n-2であり、それから、ステップ2へ戻る(ステップ405)。図12に示すように、第0セクションから、セクションごとに、第0セクション〜第6セクションの前の80列にデータを行ごとに書き込み、即ち、第0セクションの第0行、第0セクションの第1行、・・・、第0セクションの第7行、そして、第1セクションの第0行、第1セクションの第1行・・・のように順次書き込んで、第6セクションの第7行までとする。メモリの列数が640を超えると、第0セクション〜第6セクションの各行における第79列以降のセルにデータを書き込まない。図13に示すように、第0セクションにいてデータを書き込み、第1セクションにおいて、毎回行ごとに8列のデータを読み出す方式で、第1セクション〜第7セクションの前の80列のデータをセクションごとに読み出して8×8データブロックを構成し、なお、データの読み出し方法はステップ4とほぼ同様である。第1セクションにおいてデータを書き込み、第2セクションにおいてデータを読み出し、・・・、第6セクションにおいてデータを書き込み、第7セクションにおいてデータ読み出す。メモリの列数が640を超えると、第1セクション〜第7セクションの各行における第79列以降のセルにデータが書き込まれないため、読み出す際はこれらのセルからデータを読み出すこともない。第6セクションのデータの書き込みが終わると、図14の状態へ戻り、繰り返し処理を行う。
データの書き込みと読み出しの速度が同じであるため、上記の各ステップにおけるデータの読み出しと書き込みは一般的に同時に完成する。データの書き込みに遅れが生じれば、データの読み出しもそれに応じて遅延する。なお、データが入力されるとき、行ごとに書き込みが終わると間隔が生じるため、データの出力に一定の遅延があっても、データの入力には影響を及ばない。即ち、ステップ2)、3)、4)、5)におけるデータの読み出し動作は、各自のステップにおけるデータの書き込み動作と同期してもよいし、遅延してもよい。つまり、同じセルに対してデータの書き込みと読み出しを同時に同時に行わなければ良い。
以上、本発明の好ましい実施形態を説明したが、本発明はこの実施形態に限定されず、本発明の趣旨を離脱しない限り、本発明に対するあらゆる変更は本発明の範囲に属する。

Claims (5)

  1. データストリーム方式でデータを入力し、n×nのデータブロック方式でデータを出力するメモリのアクセス方法であって、
    前記メモリのサイズは、n行A列(第0〜第n-1行第0〜第A-1列)であり、ここで、nは画像処理アルゴリズムが処理できるデータブロックの各行各列のデータの数であり、Aは画像の水平解像度Bより大きい値であり、且つAはn×nの整数倍であり、
    前記メモリは、n行×nセクションに分割され、各セクションには、A/n列が含まれ、
    前記メモリのアクセス方法は、
    行ごとに第0行〜第n-2行において全てのセクションにおける前のB/n列にデータを順次書き込むステップ1と、
    第n-1行において全てのセクションにおける前のB/n列にデータを列ごとに書き込み、毎回行ごとにn列のデータを順次読み出す方式で、第0セクションの前のB/n列のデータを読み出してn×nのデータブロックを構成するステップ2と、
    セクションごとに第0セクション〜第n-2セクションにおける前のB/n列にデータを行ごとに順次書き込み、毎回行ごとにn列のデータを順次読み出す方式で、セクションごとに第1セクション〜第n-1セクッションにおける前のB/n列のデータを読み出してn×nのデータブロックを構成し、第kセクションにおいてデータを書き込み、第k+1セクッションにおいてデータを読み出し、ここで、k=0〜n-2であるステップ3と、
    第n-1セクションの前のB/n列にデータを行ごとに書き込み、毎回セクションごとにn列のデータを順次読み出す方式で、第0行の各セクションにおける前のB/n列のデータを読み出してn×nのデータブロックを構成するステップ4と、
    行ごとに第0行〜第n-2行において全てのセクションにおける前のB/n列にデータを順次書き込み、毎回セクションごとにn列のデータを順次読み出す方式で、行ごとに第1行〜第n-1行の各セクションにおける前のB/n列のデータを順次読み出してn×nのデータブロックを構成し、第k行においてデータを書き込み、第k+1行においてデータを読み出し、ここで、k=0〜n-2であり、それから、ステップ2へ戻るステップ5と、
    を含む、ことを特徴とするメモリのアクセス方法。
  2. データストリーム方式でデータを入力し、n×nのデータブロック方式でデータを出力するメモリのアクセス方法であって、
    前記メモリのサイズは、n行A列(第0〜第n-1行第0〜第A-1列)であり、ここで、nは画像処理アルゴリズムが処理できるデータブロックの各行各列のデータの数であり、Aは画像の水平解像度Bより大きい値であり、且つAはn×nの整数倍であり、
    前記メモリは、n行×nセクションに分割され、各セクションには、A/n列が含まれ、
    前記メモリのアクセス方法は、
    セクションごとに第0セクッション〜第n-2セクションにおける前のB/n列にデータを行ごとに順次書き込むステップ1と、
    第n-1セクションにおける前のB/n列にデータを行ごとに書き込み、毎回セクションごとにn列のデータを順次読み出す方式で、第0行の各セクションにおける前のB/n列のデータを読み出してn×nのデータブロックを構成するステップ2と、
    行ごとに第0行〜第n-2行において全てのセクションにおける前のB/n列にデータを順次書き込み、毎回セクションごとにn列のデータを順次読み出す方式で、行ごとに第1行〜第n-1行の各セクションにおける前のB/n列のデータを順次読み出してn×nのデータブロックを構成し、第k行においてデータを書き込み、第k+1行においてデータを読み出し、ここで、k=0〜n-2であるステップ3と、
    第n-1行において全てのセクションにおける前のB/n列にデータを列ごとに順次書き込み、毎回行ごとにn列のデータを順次読み出す方式で、第0セクションの前のB/n列のデータを読み出してn×nのデータブロックを構成するステップ4と、
    セクションごとに第0セクション〜第n-2セクションにおける前のB/n列にデータを行ごとに順次書き込み、毎回行ごとにn列のデータを順次読み出す方式で、セクションごとに第1セクション〜第n-1セクションにおける前のB/n列のデータを読み出してn×nのデータブロックを構成し、第kセクションにおいてデータを書き込み、第k+1セクションにおいてデータを読み出し、ここで、k=0〜n-2であり、それから、ステップ2へ戻るステップ5と、
    を含む、ことを特徴とするメモリのアクセス方法。
  3. nは、8である、
    ことを特徴とする請求項1又は2に記載のメモリのアクセス方法。
  4. 前記データの入力には遅延が生じると、前記データの出力にも遅延が生じる、
    ことを特徴とする請求項1又は2に記載のメモリのアクセス方法。
  5. 前記ステップ2、3、4及び5におけるデータの読み出し動作は、それぞれ、各自のステップにおけるデータの書き込み動作と同期し、あるいは、各自のステップにおけるデータの書き込み動作よりも遅延する、
    ことを特徴とする請求項1又は2に記載のメモリのアクセス方法。
JP2009132142A 2008-06-03 2009-06-01 メモリのアクセス方法 Expired - Fee Related JP5359569B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2008101094208A CN101599167B (zh) 2008-06-03 2008-06-03 存储器的存取方法
CN200810109420.8 2008-06-03

Publications (2)

Publication Number Publication Date
JP2009295159A JP2009295159A (ja) 2009-12-17
JP5359569B2 true JP5359569B2 (ja) 2013-12-04

Family

ID=41379234

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009132142A Expired - Fee Related JP5359569B2 (ja) 2008-06-03 2009-06-01 メモリのアクセス方法

Country Status (3)

Country Link
US (1) US8269786B2 (ja)
JP (1) JP5359569B2 (ja)
CN (1) CN101599167B (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI328390B (en) * 2006-12-22 2010-08-01 Sunplus Technology Co Ltd Method for accessing image data and method for accessing yuv420 image data thereof
US8355587B2 (en) * 2010-04-11 2013-01-15 Mediatek Inc. Image processing apparatus capable of writing compressed data into frame buffer and reading buffered data from frame buffer alternately and related image processing method thereof
US9836218B2 (en) * 2014-10-03 2017-12-05 Micron Technology, Inc. Computing reduction and prefix sum operations in memory
CN108257582B (zh) * 2018-01-30 2020-10-09 广东中星微电子有限公司 一种图像的显示缓冲方法和装置
CN108765341B (zh) * 2018-05-29 2022-06-21 郑州云海信息技术有限公司 一种图像处理的方法及其装置
CN108881923B (zh) * 2018-08-13 2021-03-12 昆山动芯微电子有限公司 减少jpeg编解码行缓冲容量的方法
CN110532219B (zh) * 2019-06-25 2021-04-27 北京理工大学 一种基于fpga的去乒乓数据存储方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4015890B2 (ja) * 2002-06-28 2007-11-28 松下電器産業株式会社 画素ブロックデータ生成装置および画素ブロックデータ生成方法
EP1530373A2 (en) * 2003-11-06 2005-05-11 Matsushita Electric Industrial Co., Ltd. Memory arrangement for a quick read access to image blocks according to a different scan order
US7394465B2 (en) * 2005-04-20 2008-07-01 Nokia Corporation Displaying an image using memory control unit
CN100578470C (zh) * 2007-01-31 2010-01-06 浙江大学 基于裸设备的音视频数据存取方法和装置

Also Published As

Publication number Publication date
US20090295817A1 (en) 2009-12-03
CN101599167A (zh) 2009-12-09
US8269786B2 (en) 2012-09-18
JP2009295159A (ja) 2009-12-17
CN101599167B (zh) 2013-02-20

Similar Documents

Publication Publication Date Title
JP5359569B2 (ja) メモリのアクセス方法
JP2010521728A5 (ja)
US20110264723A1 (en) System and method for successive matrix transposes
JP4728393B2 (ja) フレーム・バッファに格納されたイメージ・データを処理する方法及び装置
US20070127570A1 (en) Image processor and image processing method
US7525577B2 (en) Image processing apparatus and image processing method
Sun et al. An area-efficient 4/8/16/32-point inverse DCT architecture for UHDTV HEVC decoder
US20090189919A1 (en) Image scaling method
CN112149049A (zh) 用于变换矩阵的装置和方法、数据处理系统
JP2004509528A (ja) DCTインタフェースのためのRGB色空間とYCrCb色空間との間のデータ転送
JP7234000B2 (ja) 2次元画像をアフィン変換するための画像データ処理装置
CN101035187A (zh) 一种数据缓存方法、垂直缩放电路及终端
US7928987B2 (en) Method and apparatus for decoding video data
CN108769697B (zh) 基于时间交织流水线架构的jpeg-ls压缩系统及方法
US7684650B2 (en) Method for processing image frame output from an image sensor by an image processor
CN1319276C (zh) 一种减小在线图像压缩数据缓冲区大小的缓冲区读写方法
JP3242788B2 (ja) 信号処理装置及び信号処理方法
JP5196946B2 (ja) 並列処理装置
JP3553376B2 (ja) 並列画像処理プロセッサ
JP4906007B2 (ja) エンコーダシステム
JP2006293693A (ja) 2次元逆変換装置
KR20110117582A (ko) 연속적인 매트릭스 트랜스포즈 시스템 및 장치
JP2007235851A (ja) 画像処理装置、画像処理方法、プログラムおよび記録媒体
KR100779636B1 (ko) 버퍼 메모리 시스템 및 방법
JPH06274607A (ja) 並列信号処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120307

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120927

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121030

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130104

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130819

R151 Written notification of patent or utility model registration

Ref document number: 5359569

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees