JP2008052522A - 画像データアクセス装置及び画像データアクセス方法 - Google Patents

画像データアクセス装置及び画像データアクセス方法 Download PDF

Info

Publication number
JP2008052522A
JP2008052522A JP2006228535A JP2006228535A JP2008052522A JP 2008052522 A JP2008052522 A JP 2008052522A JP 2006228535 A JP2006228535 A JP 2006228535A JP 2006228535 A JP2006228535 A JP 2006228535A JP 2008052522 A JP2008052522 A JP 2008052522A
Authority
JP
Japan
Prior art keywords
pixel data
image data
external memory
access
parallel
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
JP2006228535A
Other languages
English (en)
Inventor
Shingo Kuroda
真悟 黒田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2006228535A priority Critical patent/JP2008052522A/ja
Priority to US11/654,499 priority patent/US20080049035A1/en
Publication of JP2008052522A publication Critical patent/JP2008052522A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Input (AREA)
  • Static Random-Access Memory (AREA)

Abstract

【課題】転送サイクルの短縮を図る。
【解決手段】外部メモリに対して画像データのアクセスを行う画像データアクセス装置において、画像データの所定の画素ブロック域内の互いに隣接し、並列する複数の画素データが、それぞれ別個に、対応する記憶素子に保存されるようにアドレスが割り当てられた複数の外部メモリと、ラスタスキャンにより取得された並列する複数の画素データの少なくとも一つの座標位置から、それぞれの画素データに対応する外部メモリへのアクセス経路を選択するメモリ選択信号を出力する判断回路20と、メモリ選択信号が入力された後に、複数の外部メモリへのアクセス経路を選択し、選択した後に並列する複数の画素データのアクセスを同一サイクルで行うメモリ選択部30と、を有する画像データアクセス装置が提供される。このような装置により、画素データの外部メモリへの転送サイクルが短縮する。
【選択図】図1

Description

本発明は画像データアクセス装置及び画像データアクセス方法に関し、特に複数の外部メモリへのアクセス制御技術を利用した画像データアクセス装置及び画像データアクセス方法に関する。
MPEG(Moving Picture Experts Group)などの動き予測を行う動画圧縮方式では、デコード処理時に、過去にデコードされた画像を参照画像として引用し、動き補償処理を行う。参照画像は、動き補償処理の精度を向上させるために、1枚に限らず、複数枚必要になる場合がある。このため、デコーダ装置には大容量の画像データを蓄積する外部メモリが搭載されている(例えば、特許文献1、2参照)。
また、動き補償処理をする際には、動き補償処理の精度を向上させるために、画像単位として、マクロブロック単位またはサブマクロブロック単位でフィルタリング処理を行う。特に、H.264規格では、動き補償処理をする際の参照画像に対し6−tapフィルタが必要になり、ブロック分割数が多くなる。
例えば、マクロブロック単位として8×8ブロックを選択した場合、ブロック分割数は、1マクロブロック単位で輝度・色差データを含め、64ブロックに及ぶ。また、分割したブロック内からフィルタリング処理に必要な矩形状の画素ブロック(以下、単に矩形データと記す。)が外部メモリから逐次読み出される。
図7は8×8行列のブロック単位内の矩形データを示す図である。多様なサイズの矩形データの例として、図7には、サイズ(5×3)のブロックA域、サイズ(1×4)のブロックB域、サイズ(4×1)のブロックC域の3つの例を示している。ここで、図7中のs(X,Y)(X:0〜7,Y:0〜7)は、8×8行列のブロック域内の座標位置(X,Y)に対応する画素データである。
このように動き補償処理をする際には、多様なサイズの矩形データを外部メモリから逐次読み出しフィルタリング処理を行っている。さらに、矩形データは大容量のデータであるため、高速にフィルタリング処理を行うには、外部メモリに対してブロック域内の画素データのアクセスを行う際に、矩形データ内の複数の画素データを組にして並列にアクセスしている。
ここで、外部メモリに対して、並列する複数の画素データのアクセスを行う原理について説明する。図8は外部メモリへの画素データの割り当てを示す図である。上述したように、並列する複数の画素データのアクセスを行うため、図8に示すように、外部メモリの1つのアドレスに隣接する2つの画素データを並列に割り当てている。こうすることにより、例えば、外部メモリのアドレス0には、s(0,0)及びs(1,0)の画素データが格納され、これらの2つの画素データのアクセスが並列に行われ、アクセス時間、即ち転送サイクルの高速化を図ることができる。
特開平10−304354号公報 特開2004−215049号公報
しかしながら、図7に示す矩形データの水平方向のサイズが奇数の場合、即ち、組にした並列の画素データ内部に矩形データ領域の境界がある場合、外部メモリとの間に不必要な画素データの転送サイクルが発生する。その理由を以下に説明する。
図9は矩形データの外部メモリとの転送サイクルを示す図である。この中で、図9(A)はブロックA域の画素データの外部メモリとの転送サイクルを示す図である。外部メモリに対して、図7に示すブロックA域の全ての画素データのアクセスを行うには、並列する2つの画素データが同一の外部メモリの同アドレスに割り当てられているため、図9(A)に示すように、9回の転送サイクルで、ブロックA域の矩形データのアクセスを行う必要がある。しかし、図9(A)に示すs(0,1)、s(0,2)、s(0,3)は、ブロックA域外の画素データであり、これらの画素データが転送サイクルに含まれていることが分かる。
また、図9(B)はブロックB域内の画素データの外部メモリとの転送サイクルを示す図である。図7に示すブロックB域の全ての画素データのアクセスを行うには、並列する2つの画素データが同一の外部メモリの同アドレスに割り当てられているため、図9(B)に示すように、4回の転送サイクルで、ブロックB域の矩形データのアクセスを行う必要がある。しかし、図9(B)に示すs(7,4)、s(7,5)、s(7,6)、s(7,7)は、ブロックB域外の画素データであり、これらの画素データが転送サイクルに含まれていることが分かる。
さらに、図9(C)はブロックC域内の画素データの外部メモリとの転送サイクルを示す図である。図7に示すブロックC域の全ての画素データのアクセスを行うには、並列する2つの画素データを同一の外部メモリの同アドレスに割り当てられているため、図9(C)に示すように、3回の転送サイクルで、ブロックC域の矩形データのアクセスを行う必要がある。しかし、図9(C)に示すs(0,6)、s(5,6)は、ブロックC域外の画素データであり、これらの画素データが転送サイクルに含まれていることが分かる。
このように、隣り合うデータを同一の外部メモリの同アドレスに割り当てると、矩形データの水平方向のサイズが奇数の場合、外部メモリに対して不必要な画素データのアクセスが行われ、余分な画素データの転送サイクルが生じる。その結果、画素データの外部メモリとの転送速度の向上が図れないという問題が生じている。
本発明はこのような点に鑑みてなされたものであり、外部メモリに対して画素データのアクセスする際の転送サイクルを短縮させる画像データアクセス装置及び画像データアクセス方法を提供することを目的とする。
本発明では上記課題を解決するために、外部メモリに対して画像データのアクセスを行う画像データアクセス装置において、前記画像データの所定のブロック単位内における所定の画素ブロック域内の互いに隣接し、並列する複数の画素データが、それぞれ別個に、対応する記憶素子に保存されるようにアドレスが割り当てられた複数の外部メモリと、ラスタスキャンにより取得された前記並列する複数の画素データの少なくとも一つの座標位置から、それぞれの前記画素データに対応する前記外部メモリへのアクセス経路を選択するメモリ選択信号を出力する判断回路と、前記メモリ選択信号が入力された後に、前記複数の外部メモリへの前記アクセス経路を選択し、選択した後に前記並列する複数の画素データのアクセスを同一サイクルで行うメモリ選択部と、を有することを特徴とする画像データアクセス装置が提供される。
このような画像データアクセス装置によれば、外部メモリに対して画像データのアクセスを行う画像データアクセス装置において、画像データの所定のブロック単位内における所定の画素ブロック域内の互いに隣接し、並列する複数の画素データが、それぞれ別個に、対応する記憶素子に保存されるように複数の外部メモリにアドレスが割り当てられ、ラスタスキャンにより取得された並列する複数の画素データの少なくとも一つの座標位置から、それぞれの画素データに対応する外部メモリへのアクセス経路を選択するメモリ選択信号が出力され、メモリ選択信号が入力された後に、複数の外部メモリへのアクセス経路が選択され、並列する複数の画素データのアクセスが同一サイクルで行われるようになる。
また、本発明では上記課題を解決するために、外部メモリに対して画像データのアクセスを行う画像データアクセス方法において、前記画像データの所定のブロック単位内における所定の画素ブロック域内の互いに隣接し、並列する複数の画素データを、それぞれ別個に、対応する複数の外部メモリの所定のアドレスに格納するステップと、格納された前記並列する複数の画素データのアクセスを行う前に、前記並列する複数の画素データの座標位置をラスタスキャンにより取得するステップと、取得した前記並列する複数の画素データの少なくとも一つの座標位置から、それぞれの前記画素データに対応する前記外部メモリへのアクセス経路を選択するステップと、前記アクセス経路を選択した後に、前記複数の外部メモリに対して同一サイクルで、前記並列する複数の画素データのアクセスをするステップと、を有することを特徴とする画像データアクセス方法が提供される。
このような画像データアクセス方法によれば、外部メモリに対して画像データのアクセスを行う画像データアクセス方法において、画像データの所定のブロック単位内における所定の画素ブロック域内の互いに隣接し、並列する複数の画素データが、それぞれ別個に、対応する複数の外部メモリの所定のアドレスに格納され、並列する複数の画素データのアクセスを行う前に、並列する複数の画素データの座標位置がラスタスキャンにより取得され、並列する複数の画素データの少なくとも一つの座標位置から、それぞれの画素データに対応する外部メモリへのアクセス経路が選択され、複数の外部メモリに対して同一サイクルで、並列する複数の画素データのアクセスが行われるようになる。
本発明では、外部メモリに対して画像データのアクセスを行う画像データアクセスにおいて、画像データの所定のブロック単位内における所定の画素ブロック域内の互いに隣接し、並列する複数の画素データを、それぞれ別個に、対応する複数の外部メモリの所定のアドレスに格納し、並列する複数の画素データのアクセスを行う前に、並列する複数の画素データの座標位置をラスタスキャンにより取得し、並列する複数の画素データの少なくとも一つの座標位置から、それぞれの画素データに対応する外部メモリへのアクセス経路を選択し、複数の外部メモリに対して同一サイクルで、並列する複数の画素データのアクセスを行うようにした。
これにより、外部メモリに対して画素データのアクセスする際の転送サイクルを短縮することができる画像データアクセスが実現可能になる。
以下、本実施形態の詳細を、図面を参照しながら説明する。
最初に、画像データアクセスの概要について説明する。
図1は画像データアクセスの原理図を示すブロック図である。このブロック図は、外部メモリに対して隣接し、並列する複数の画素データのアクセスを同一サイクルで行う装置の原理図を表したものである。図1に示すように画像データアクセス装置は、複数の外部メモリ、判断回路、メモリ選択部を有している。また、多様なサイズの矩形データの例として、サイズ(5×3)のブロックA域、サイズ(1×4)のブロックB域、サイズ(4×1)のブロックC域の3つの例を示している。
複数の外部メモリは、例えばSRAM(Static Random Access Memory)#A10、SRAM#B11である。
SRAM#A10、SRAM#B11には、画像データの所定のブロック単位内における所定の画素ブロック域の互いに隣接し、並列する複数の画素データが、それぞれ別個に、対応するSRAM#A10、SRAM#B11に保存されている。また、矩形データ内の画素データを所定のアドレスに書き込む機能を備えている。
このSRAM#A10、SRAM#B11にメモリ選択部30からアクセスの要求が行われると、隣接し、並列する複数の画素データのアクセスが同一サイクルでメモリ選択部30との間で行われる。
判断回路20は、ブロックA域、ブロックB域、ブロックC域内の画素データの座標位置がラスタスキャンにより取得されると、並列する複数の画素データの少なくとも一つの座標位置から、それぞれの画素データに対応する外部メモリへのアクセス経路を選択する信号(以下、単にメモリ選択信号と記す。)をメモリ選択部30に出力する。
例えば、それぞれの矩形データ内の画素データの座標位置X、Yがラスタスキャンにより取得されると、並列する複数の画素データの少なくとも一つの座標位置の下位1ビットの情報(X[0],Y[0])が判断回路20に入力され、それぞれの画素データに対応するメモリ選択信号をメモリ選択部30へ出力する。
メモリ選択部30は、判断回路20からメモリ選択信号が入力された後に、複数の外部メモリへのアクセス経路を選択し、選択した後に並列する複数の画素データのアクセスを同一サイクルで行う。そして、読み出された画素データを基に、画像データの動画補償処理が行われる。
このような画像データアクセスによれば、複数の外部メモリに対して同一サイクルで、不必要な画素データのアクセスが行われることなく並列する複数の画素データへのアクセスを行うことができ、その結果、複数の外部メモリに対して画素データのアクセスする際の転送サイクルを短縮し、転送速度の向上を図ることができる。
次に、図1に示す画像データアクセスの原理について、その画像データアクセスを行う装置の具体的構成について説明する。
図2は画像データアクセス装置の要部構成を示すブロック図である。画像データアクセス装置は、SRAM#A10、SRAM#B11と、判断回路20と、メモリ選択部30を有している。
SRAM#A10、SRAM#B11には、画像データの所定のブロック単位内における所定の画素ブロック域の互いに隣接し、並列する複数の画素データが、それぞれ別個に、対応するSRAM#A10、SRAM#B11に保存されている。また、矩形データ内の画素データを所定のアドレスに書き込む機能を備えている。
このSRAM#A10、SRAM#B11にメモリ選択部30から、アドレスを指定するための信号(ADR#A,ADR#B)、制御信号(CS#A,CS#B)が入力されると、隣接し、並列する複数の画素データのアクセスが同一サイクルでメモリ選択部30との間で行われ、並列する複数の画素データ(RDT#A,RDT#B)がメモリ選択部30に出力される。ここで、制御信号(CS#A,CS#B)は、対応するメモリへのアクセスが有効であることを示す信号である。
ここで、矩形データ内の画素データがSRAM#A10、SRAM#B11に保存される際のアドレスの割り当てについて説明する。
図3は8×8行列のブロック単位内の矩形データを示す図である。また、図4はSRAM#A及びSRAM#Bに対する画素データのアドレス割り当てを示す図である。
画素データのSRAM#A10及びSRAM#B11に対するアドレスの割り当ては、図3、図4に示すようにブロック単位内で市松模様状に2分割し、上下左右に隣り合う画素データがそれぞれ別々にSRAM#A10、SRAM#B11に割り当てるようにしている。即ち、図3中のハッチで示した画素データは、SRAM#A10の所定のアドレスに割り当て、それ以外の画素データは、SRAM#B11の所定のアドレスに割り当てている。
このようなアドレスの割り当てをすることにより、複数の外部メモリに対して同一サイクルで、隣接し、並列する複数の画素データのアクセスが行われる(後述)。
次に、図2に示す判断回路20は、矩形データ内の画素データの座標位置X、Yの下位1ビットの情報(X[0],Y[0])が入力されると、メモリ選択信号をメモリ選択部30に出力する。ここでの判断回路20は、例えばEORゲート回路であり、座標位置X、Yの下位1ビットの排他的論理和を演算し、排他的論理和の結果によってSRAM#A10、SRAM#B11のアクセス経路を選択するメモリ選択信号をメモリ選択部30へ出力する。
そして、メモリ選択部30は、矩形データ内の画素データの座標位置X、Y、制御信号(CS#A,CS#B)、判断回路20からのメモリ選択信号を受けた後、SRAM#A10及びSRAM#B11のアドレスを指定するための信号(ADR#A,ADR#B)、制御信号(CS#A,CS#B)をSRAM#A10及びSRAM#B11へ出力し、画素データ(RDT#A,RDT#B)をSRAM#A10及びSRAM#B11から読み出し、画素データ(RDT#A,RDT#B)をメモリ選択部30に出力する。
このように、メモリ選択部30は、判断回路20から出力される選択信号によって、図3に示す所定の矩形データ内の画素データに対応する外部メモリを選択し、アドレスを指定することができる。そして、読み出された画素データを基に、画像データの動画補償処理が具体的に行われる。
次に、画像データアクセスを行う手順について説明する。
図5は画像データアクセス方法のフローチャートを示した図である。ここでは一例として、2つの外部メモリを用い、2つの並列する画素データを用いた場合の画像データアクセス方法について説明する。
先ず、動き補償処理をするために必要な画像データの所定のブロック内から所定のサイズの矩形状の画素ブロック(矩形データ)がマクロブロック単位から選択される(ステップS0)。次に、選択された矩形データ内の画素データについて、座標位置を走査するために、矩形データ内でラスタスキャン走査が行われる(ステップS1)。ラスタスキャン走査により矩形データ内の隣接する並列の第1の画素データ及び第2の画素データを1組とし、それぞれの座標位置(水平座標位置(X),垂直座標位置(Y))が取得される(ステップS2)。そして、座標位置X、Yが判断回路20、メモリ選択部30に入力された後、並列の画素データの中、例えば、第1の画素データの水平座標位置(X)及び垂直座標位置(Y)を共に2進数に換算し、それぞれの下位1ビットの値の排他的論理和が判断回路20で演算される(ステップS3)。
次に、排他的論理和の演算結果に基づき、第1の画素データの水平座標及び垂直座標の下位1ビットのパリティが同一である場合と異なる場合で、複数の外部メモリのいずれかのアクセス経路がメモリ選択部30で選択される。
例えば、排他的論理和が‘0’ならば第1の画素データは第1の外部メモリのアクセス経路が選択され(ステップS4A)、排他的論理和が‘1’ならば第1の画素データは第2の外部メモリのアクセス経路が選択される(ステップS4B)。
そして、第2の画素データについては、第1の画素データとは別の外部メモリのアクセス経路が選択される。例えば、第1の画素データが第1の外部メモリのアクセス経路が選択された場合は、第2の画素データは第2の外部メモリのアクセス経路が選択され(ステップS5A)、第1の画素データが第2の外部メモリのアクセス経路が選択された場合は、第2の画素データは第1の外部メモリのアクセス経路が選択される(ステップS5B)。
次いで、第1及び第2の外部メモリに対して、同一サイクルで第1及び第2の画素データのアクセスが行われる。即ち、第1の外部メモリとしてのSRAM#A10、第2の外部メモリとしてのSRAM#B11に対して同一サイクルで第1及び第2の画素データのアクセスが行われる(ステップS6)。そして、読み出された画素データを基に、画像データの動画補償処理が具体的に行われる。
上記のようなフローチャートによれば、ブロック内の隣接する並列の画素データがそれぞれ別々の外部メモリの指定されたアドレスに同一サイクルでアクセスされる。これにより、複数の外部メモリに対して同一サイクルで、不必要な画素データのアクセスが行われることなく並列する複数の画素データへのアクセスを行うことができ、その結果、複数の外部メモリに対して画素データのアクセスする際の転送サイクルを短縮し、転送速度の向上を図ることができる。
次に、画像データアクセスを行う具体的な手順について、図5に示すフローチャートと共に説明する。ここでは一例として、2つのSRAMに対する2つの並列する画素データのアクセスの手順について説明する。
先ず、動き補償処理をするために必要な画像データの所定のブロック内から所定のサイズをした矩形状の画素ブロック(矩形データ)が選択される(ステップS0)。ここでは、図3に示す8×8行列のブロック内から、サイズ(5×3)のブロックA域、サイズ(1×4)のブロックB域、サイズ(4×1)のブロックC域が選択される。ここで、各ブロック内の記号s(X,Y)(X:0〜7,Y:0〜7)は、8×8行列のブロック内の座標位置(X,Y)に対応する画素データである。尚、各座標位置の画素データについては、SRAM#A10またはSRAM#B11のいずれかのアドレスに予め格納されている。
最初に、外部メモリに対するブロックA域の画素データのアクセス制御の手順を説明する。
ブロックA域内の画素データの座標位置を走査するために、s(1,1)を開始位置とし、ブロックA域内のラスタスキャン走査が行われる(ステップS1)。
そして、座標位置は隣接する並列の画素データ、例えば第1の画素データとしてのs(1,1)と、これに隣接する第2の画素データとしてのs(2,1)を1組とし、s(1,1)及びs(2,1)に対応したそれぞれの水平方向及び垂直方向の座標位置(X,Y)がメモリ選択部30に入力される。
続いて、s(1,1)の水平座標位置及び垂直座標位置(2進数)の下位1ビットの情報(X[0],Y[0])が判断回路20に入力され、排他的論理和の結果がメモリ選択部30へ入力される(ステップS3)。
即ち、画素データs(1,1)は、水平座標位置が‘1’で、垂直座標位置が‘1’なので、排他的論理和は‘0’になる。排他的論理和が‘0’の場合は、画素データs(1,1)については、第1の外部メモリとしてのSRAM#A10へのアクセス経路が選択される(ステップS4A)。
s(2,1)については、水平方向及び垂直方向の座標位置(X,Y)の情報から、メモリ選択部30において、s(1,1)に隣接する画素データだと判断されると、s(2,1)は、s(1,1)と異なる外部メモリ、即ち第2の外部メモリとしてのSRAM#B11のアクセス経路が選択される(ステップS5A)。
そして、2つの画素データの選択経路が決定された後、SRAM#A10に対するs(1,1)のアクセスと、SRAM#B11に対するs(2,1)のアクセスが同一サイクル行われる。
ブロックA域内のs(1,1)及びs(2,1)以外の画素データについても、隣接する2つの画素データを組にして、上記の手順でアクセスが行われる。
ブロックB域内の画素データについても、上記の手順で隣接する画素データのアクセスが同一サイクル行われる。その詳細についての説明は省略する。
次に、選択された矩形データがブロックC域の場合、外部メモリに対する画素データのアクセス制御の手順について説明する。
ブロックC域内の画素データの座標位置を走査するために、s(1,6)を開始位置とし、ブロックC域内のラスタスキャン走査が行われる(ステップS1)。
そして、座標位置は隣接する並列の画素データ、例えばs(1,6)と、これに隣接するs(2,6)を1組とし、s(1,6)及びs(2,6)に対応したそれぞれの水平方向及び垂直方向の座標位置(X,Y)がメモリ選択部30に入力される。
続いて、s(1,6)の水平座標位置及び垂直座標位置(2進数)の下位1ビットの情報(X[0],Y[0])が判断回路20に入力され、排他的論理和の結果がメモリ選択部30へ入力される(ステップS3)。
即ち、画素データs(1,6)の場合は、水平座標位置が‘1’で、垂直座標位置が‘110’なので、排他的論理和は‘1’になる。排他的論理和が‘1’の場合は、画素データs(1,6)については、SRAM#B11へのアクセス経路が選択される(ステップS4B)。
s(2,6)については、水平方向及び垂直方向の座標位置(X,Y)の情報からs(1,6)に隣接する画素データだと判断されると、s(2,6)は、s(1,6)と異なる外部メモリ、即ちSRAM#A10のアクセス経路が選択される(ステップS5B)。
そして、SRAM#A10に対するs(2,6)のアクセスと、SRAM#B11に対するs(1,6)のアクセスが同一サイクル行われる。ブロックC域内のs(1,6)及びs(2,6)以外の画素データについても、隣接する2つの画素データを組にして、上記の手順でアクセスが行われる。
このように、矩形データ内の隣接し、並列する2つの画素データについて、それぞれのアドレスが割り当てられた外部メモリに対し、2つの画素データのアクセスが同一サイクルで行われる。
次に、画素データの外部メモリとのアクセス時間を短縮させる効果について、矩形データを外部メモリに転送する際の転送サイクルの比較例を用いて説明する。
図6は矩形データの外部メモリとの転送サイクルを示す図である。この中で、図6(A)はブロックA域の矩形データの転送サイクルを示す図である。SRAM#A10またはSRAM#B11に対し、ブロックA域の全て画素データのアクセスを並列に行うためには、図6(A)に示すように8回の転送サイクルで足りる。図9(A)では、外部メモリに対し、ブロックA域内に含まれていない画素データs(0,1)、s(0,2)、s(0,3)のアクセスが行われたが、図6(A)の転送サイクルでは、それらの画素データのアクセスがないことが分かる。また、図6(A)の転送サイクル数は、図9(A)の転送サイクル数に比べ、1回分減少している。
同様に、図6(B)はブロックB域の矩形データの転送サイクルを示す図である。
外部メモリに対し、ブロックB域の全ての画素データのアクセスを並列に行うためには、図6(B)に示すように、2回の転送サイクルで足りる。図9(B)では、外部メモリに対し、ブロックB域内に含まれていない画素データs(7,4)、s(7,5)、s(7,6)、s(7,7)のアクセスが行われたが、図6(B)の転送サイクルでは、それらの画素データのアクセスがされていないことが分かる。また、図6(B)の転送サイクル数は、図9(B)の転送サイクル数に比べ、2回分減少している。
さらに、図6(C)はブロックC域の矩形データの転送サイクルを示す図である。外部メモリに対し、ブロックC域の全ての画素データのアクセスを並列に行うためには、図6(C)に示すように、2回の転送サイクルで足りる。図9(C)では、外部メモリに対し、ブロックC域内に含まれていない画素データs(0,6)、s(5,6)のアクセスが行われたが、図6(C)に示す転送サイクルでは、それらの画素データのアクセスがされていないことが分かる。また、図6(C)の転送サイクル数は、図9(C)の転送サイクル数に比べ、1回分減少している。
即ち、本発明によれば、外部メモリに対し、多様な矩形データのアクセスする際、従来のアクセス方式に比べ、転送サイクルが減少することが分かる。
このような転送サイクルの減少効果は、次に示す式で一般的に表すことができる。即ち、本発明によれば、図9に示す従来の画素データの転送サイクルより、((POSX + SIZEX + 1)>>1 - POSX>>1)*SIZEY - (SIZEX * SIZEY + 1) >>1分の転送サイクルを削減することができる。ここで、‘>>’は右シフト演算子、‘-’は減算、‘+’は加算、‘*’は乗算を表している。また、‘POSX’は矩形データの水平方向の座標位置、SIZEXは矩形データの水平方向のサイズ、SIZEYは矩形データの垂直方向サイズである。
例えば、図3に示すブロックA域の例では、画素データの読み込み開始位置をs(1,1)とすると、POSX=1、SIZEX=101(2進数)、SIZEY=11(2進数)なので、((POSX + SIZEX + 1)>>1 - POSX>>1)*SIZEY - (SIZEX * SIZEY + 1) >>1の結果は、‘1’になり、1サイクル分が図9(A)に示す転送サイクル(9回)に比べて減少することがこの式から分かる。
さらに、この式に従えば、例えばH.264で8×8のマクロブロック分割で13×13のサイズの輝度成分の参照画像にフィルタリングを行う場合、1ブロック辺り最大13サイクルの処理サイクルの削減が実現される。
8×8のマクロブロック単位で最大13サイクルの処理サイクルの削減が図れると、例えば1920×1088の1ピクチャサイズでは、前後の参照画像をフィルタリングした双方向予測で、848640サイクルの削減効果がある。
このように、本実施形態によれば、外部メモリに対する矩形データのアクセスが頻繁に行われる場合、外部メモリに対するアクセスに必要なトラフィックが軽減され処理速度の向上が図ることができる。
尚、上記の説明では、予めSRAM#A10、SRAM#B11に格納された画素データのアクセス方法について説明したが、外部からの画像データのSRAM#A10、SRAM#B11への書き込みについても、画像データの所定のブロック域内の画素データを、市松模様状に2分割し、上下左右に隣り合う画素データを別々の外部メモリに書き込むことができる。
即ち、外部からの画像データがメモリ選択部30に入力されると、画像データの所定のブロック単位内における所定の画素ブロック域内の互いに隣接する並列の画素データの座標位置がメモリ選択部30、判断回路20に入力される。
そして、判断回路20により、並列する画素データに対応する外部メモリが選択され、書き込み可能信号(WEN#A,WEN#B)がSRAM#A10、SRAM#B11に入力され、並列する画素データ(WDT#A,WDT#B)が対応するSRAM#A10のアドレス、SRAM#B11のアドレスに書き込まれる。
また、上記の説明では複数の外部メモリとして2つのSRAM、また隣接する画素データとして、並列する2つの画素データを用いて説明したが、特にこの数に限らない。即ち、外部メモリは2以上でもよく、またSRAM以外のメモリを用いてもよい。さらに、隣接する並列の画素データの画素数については、特に2つに限らない。互いに隣接する2つ以上の並列するデータを組にして、その数に対応する判断回路及び外部メモリを設けることで、より転送サイクルの短縮を図ることができる。
画像データアクセスの原理図を示すブロック図である。 画像データアクセス装置の要部構成を示すブロック図である。 8×8行列のブロック単位内の矩形データを示す図である(その1)。 SRAM#A及びSRAM#Bに対する画素データのアドレス割り当てを示す図である。 画像データアクセス方法のフローチャートを示した図である。 矩形データの外部メモリとの転送サイクルを示す図である(その1)。 8×8行列のブロック単位内の矩形データを示す図である(その2)。 外部メモリへの画素データの割り当てを示す図である。 矩形データの外部メモリとの転送サイクルを示す図である(その2)。
符号の説明
10 SRAM#A
11 SRAM#B
20 判断回路
30 メモリ選択部

Claims (10)

  1. 外部メモリに対して画像データのアクセスを行う画像データアクセス装置において、
    前記画像データの所定のブロック単位内における所定の画素ブロック域内の互いに隣接し、並列する複数の画素データが、それぞれ別個に、対応する記憶素子に保存されるようにアドレスが割り当てられた複数の外部メモリと、
    ラスタスキャンにより取得された前記並列する複数の画素データの少なくとも一つの座標位置から、それぞれの前記画素データに対応する前記外部メモリへのアクセス経路を選択するメモリ選択信号を出力する判断回路と、
    前記メモリ選択信号が入力された後に、前記複数の外部メモリへの前記アクセス経路を選択し、選択した後に前記並列する複数の画素データのアクセスを同一サイクルで行うメモリ選択部と、
    を有することを特徴とする画像データアクセス装置。
  2. 前記メモリ選択部は、前記並列する複数の画素データの中、少なくとも一つの画素データの水平座標及び垂直座標の下位1ビットのパリティにより、前記画素データに対応する前記外部メモリへの前記アクセス経路を選択することを特徴とする請求項1記載の画像データアクセス装置。
  3. 前記パリティを、前記下位1ビットの排他的論理和により、決定することを特徴とする請求項2記載の画像データアクセス装置。
  4. 前記アドレスの割り当てをする際に、前記所定のブロック単位を市松模様状に2分割し、分割された一方の画素データを第1の外部メモリに割り当て、分割された他方の画素データを第2の外部メモリに割り当てることを特徴とする請求項1記載の画像データアクセス装置。
  5. 前記判断回路が排他的論理和回路を具備していることを特徴とする請求項1記載の画像データアクセス装置。
  6. 外部メモリに対して画像データのアクセスを行う画像データアクセス方法において、
    前記画像データの所定のブロック単位内における所定の画素ブロック域内の互いに隣接し、並列する複数の画素データを、それぞれ別個に、対応する複数の外部メモリの所定のアドレスに格納するステップと、
    格納された前記並列する複数の画素データのアクセスを行う前に、前記並列する複数の画素データの座標位置をラスタスキャンにより取得するステップと、
    取得した前記並列する複数の画素データの少なくとも一つの座標位置から、それぞれの前記画素データに対応する前記外部メモリへのアクセス経路を選択するステップと、
    前記アクセス経路を選択した後に、前記複数の外部メモリに対して同一サイクルで、前記並列する複数の画素データのアクセスをするステップと、
    を有することを特徴とする画像データアクセス方法。
  7. 前記所定の画素ブロックが矩形状であることを特徴とする請求項6記載の画像データアクセス方法。
  8. 前記アクセス経路を選択する際には、前記並列する複数の画素データの中、少なくとも一つの画素データの水平座標及び垂直座標の下位1ビットのパリティにより、前記画素データに対応する前記外部メモリへの前記アクセス経路が選択されることを特徴とする請求項6記載の画像データアクセス方法。
  9. 前記パリティを、前記下位1ビットの排他的論理和により、決定することを特徴とする請求項8記載の画像データアクセス方法。
  10. 前記複数の外部メモリの前記所定のアドレスに格納する際に、前記所定のブロック単位を市松模様状に2分割し、分割された一方の画素データを第1の外部メモリに割り当て、分割された他方の画素データを第2の外部メモリに割り当てることを特徴とする請求項6記載の画像データアクセス方法。

JP2006228535A 2006-08-25 2006-08-25 画像データアクセス装置及び画像データアクセス方法 Pending JP2008052522A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006228535A JP2008052522A (ja) 2006-08-25 2006-08-25 画像データアクセス装置及び画像データアクセス方法
US11/654,499 US20080049035A1 (en) 2006-08-25 2007-01-18 Apparatus and method for accessing image data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006228535A JP2008052522A (ja) 2006-08-25 2006-08-25 画像データアクセス装置及び画像データアクセス方法

Publications (1)

Publication Number Publication Date
JP2008052522A true JP2008052522A (ja) 2008-03-06

Family

ID=39112956

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006228535A Pending JP2008052522A (ja) 2006-08-25 2006-08-25 画像データアクセス装置及び画像データアクセス方法

Country Status (2)

Country Link
US (1) US20080049035A1 (ja)
JP (1) JP2008052522A (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8923405B1 (en) * 2010-01-25 2014-12-30 Ambarella, Inc. Memory access ordering for a transformation
JP5917907B2 (ja) * 2011-12-22 2016-05-18 株式会社メガチップス 画像処理装置
JP5865696B2 (ja) * 2011-12-22 2016-02-17 株式会社メガチップス 画像処理装置
CN109992234B (zh) * 2017-12-29 2020-11-17 浙江宇视科技有限公司 图像数据读取方法、装置、电子设备及可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10208028A (ja) * 1997-01-27 1998-08-07 Sumitomo Metal Ind Ltd 画像データ処理装置及び画像データ格納方法
JPH11252338A (ja) * 1998-03-05 1999-09-17 Kanebo Ltd データ処理装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4346474A (en) * 1980-07-03 1982-08-24 International Business Machines Corporation Even-odd parity checking for synchronous data transmission
US6278645B1 (en) * 1997-04-11 2001-08-21 3Dlabs Inc., Ltd. High speed video frame buffer
WO1999044368A1 (en) * 1998-02-27 1999-09-02 Kanebo Limited Image data processing device and processing method
JP2000250528A (ja) * 1998-12-28 2000-09-14 Namco Ltd 画像メモリ装置
US6801204B2 (en) * 2001-02-15 2004-10-05 Sony Corporation, A Japanese Corporation Checkerboard buffer using memory blocks
US6831651B2 (en) * 2001-02-15 2004-12-14 Sony Corporation Checkerboard buffer
US6803917B2 (en) * 2001-02-15 2004-10-12 Sony Corporation Checkerboard buffer using memory bank alternation
US6831650B2 (en) * 2001-02-15 2004-12-14 Sony Corporation Checkerboard buffer using sequential memory locations

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10208028A (ja) * 1997-01-27 1998-08-07 Sumitomo Metal Ind Ltd 画像データ処理装置及び画像データ格納方法
JPH11252338A (ja) * 1998-03-05 1999-09-17 Kanebo Ltd データ処理装置

Also Published As

Publication number Publication date
US20080049035A1 (en) 2008-02-28

Similar Documents

Publication Publication Date Title
JP4789753B2 (ja) 画像データバッファ装置、画像転送処理システム、及び画像データバッファ方法
US7860166B2 (en) Method and apparatus for motion estimation in video signal decoding
JP4921784B2 (ja) 動きベクタ演算装置及びその方法
JPH0865685A (ja) 動きベクトル検出回路
KR101017688B1 (ko) 반도체 장치, 화상 데이터 처리 장치 및 그 방법
US9918098B2 (en) Memory management of motion vectors in high efficiency video coding motion vector prediction
US20100149202A1 (en) Cache memory device, control method for cache memory device, and image processing apparatus
JP2010119084A (ja) 高速動き探索装置及びその方法
JP2008052522A (ja) 画像データアクセス装置及び画像データアクセス方法
US8937624B2 (en) Method and apparatus for translating memory access address
JP4515922B2 (ja) データ保持装置、画像符号化装置および画像復号化装置
JP2000069469A (ja) 動画像符号化方法とシステム及び動画像復号方法とシステム
JP5182285B2 (ja) デコード方法及びデコード装置
JP5865696B2 (ja) 画像処理装置
US5638310A (en) Pixel matrix filter
US8170363B2 (en) Image processing apparatus for performing deblocking filtering process
JP2008278442A (ja) 画像処理装置
JP2005244844A (ja) 動画像符号化装置
EP2073553A1 (en) Method and apparatus for performing de-blocking filtering of a video picture
JP4404556B2 (ja) 動画像符号化方法とシステム及び動画像復号方法とシステム
JP2007299211A (ja) メモリ制御装置
JP2008078871A (ja) 画像復号装置及び画像復号方法
JP2007116293A (ja) データ記憶方法及びこの方法を用いた情報処理装置
US20100011175A1 (en) Semiconductor integrated circuit and access controlling method of semiconductor memory
KR100226703B1 (ko) 프레임 메모리에 있어서 어드레스 거리 산출방법

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080729

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090402

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110322

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110607

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111108