JP2010108084A - 画像処理装置 - Google Patents

画像処理装置 Download PDF

Info

Publication number
JP2010108084A
JP2010108084A JP2008277049A JP2008277049A JP2010108084A JP 2010108084 A JP2010108084 A JP 2010108084A JP 2008277049 A JP2008277049 A JP 2008277049A JP 2008277049 A JP2008277049 A JP 2008277049A JP 2010108084 A JP2010108084 A JP 2010108084A
Authority
JP
Japan
Prior art keywords
address
image processing
processing apparatus
register
width
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.)
Granted
Application number
JP2008277049A
Other languages
English (en)
Other versions
JP5100611B2 (ja
Inventor
Keiri Nakanishi
圭里 中西
Takashi Miyamori
高 宮森
Shunichi Ishiwatari
俊一 石渡
Katsuyuki Kimura
克行 木村
Takahisa Wada
卓久 和田
Masato Sumiyoshi
正人 住吉
Yasutaka Tanabe
靖貴 田邉
Ryuji Haneda
隆二 羽田
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2008277049A priority Critical patent/JP5100611B2/ja
Priority to US12/512,593 priority patent/US8345113B2/en
Publication of JP2010108084A publication Critical patent/JP2010108084A/ja
Application granted granted Critical
Publication of JP5100611B2 publication Critical patent/JP5100611B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/77Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/35Indirect addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/355Indexed addressing

Abstract

【課題】アドレス計算を必要とせず、命令メモリの面積を削減でき、かつ、レジスタ数を削減することができる画像処理装置を提供する。
【解決手段】画像処理装置1は、画像データを格納するデータメモリ13と、画像データのフレーム中におけるRPの位置を示す2次元アドレスを保持するRPレジスタ23と、フレームの幅及び高さに基づいて、RPレジスタ23に保持される2次元アドレスの制御を行うRP制御部22とを有する。また、画像処理装置1は、RPからの2次元相対位置を2個の即値の組により指定するフィールドを具備する命令コードに基づいて、データメモリ13から読み出し対象画素データを読み出す際に、2次元アドレスと、即値の組と、フレームの幅とに基づいて、読み出し対象画素データが格納されているアドレスを計算するアドレス計算ユニット21a〜21cとを有する。
【選択図】図1

Description

本発明は、画像処理装置に関し、特に、2次元相対位置を命令コードに即値として指定した2次元ロード命令を具備する画像処理装置に関する。
従来、メモリ上のデータを読み出し、所定の演算処理を施した後のデータをメモリ上に書き込む画像処理装置が提案されている。この画像処理装置では、あるデータを指定してロードする際に、アドレス計算をする必要があり、処理の複雑化に伴いロード回数が増え、アドレス計算に要するサイクル数が増大するという問題があった。
そのため、ロードするデータが格納されているメモリ上のアドレスを命令フィールドに与え、1命令によりデータをロードすることにより、アドレス計算を必要としない画像処理装置が提案されている。しかし、この画像処理装置では、メモリに格納される画素数が多いほど、命令フィールドが長くなる。さらに、この画像処理装置では、複数の画素を同時にロードする場合、長い命令フィールドが複数必要となり、命令メモリ量の面積が増大するという問題があった。
また、例えば、処理に必要な1つ、あるいは、2つのデータを指定せずに、所定の矩形領域のデータを予めレジスタに転送する画像処理装置が提案されている。(例えば、特許文献1参照)。
この提案の画像処理装置は、メモリからデータをロードする際に、ロード命令中に「ロード開始アドレス」、「インクリメント幅」、「データ高さ」、及び「データ間隔」を指定し、所定の矩形領域のデータをレジスタに転送するようになっている。ところが、レジスタに転送された矩形領域の全てのデータが画像処理の演算に使用されるとは限らない。また、この画像処理装置は、所定の矩形領域のデータを格納するためのレジスタが必要となり、矩形領域のデータが増加すると、必要なレジスタ数も増加するという問題があった。
特開2008−3708号公報
本発明は、アドレス計算を必要とせず、命令メモリの面積を削減でき、かつ、レジスタ数を削減することができる画像処理装置を提供することを目的とする。
本発明の一態様によれば、画像データを格納するデータメモリと、前記画像データのフレーム中におけるリードポインタの位置を示す第1の2次元アドレスを保持する第1のレジスタと、前記フレームの幅及び前記フレームの高さに基づいて、前記第1のレジスタに保持される前記第1の2次元アドレスの制御を行う制御回路と、前記リードポインタからの2次元相対位置を2個の即値の組により指定するフィールドを具備する命令コードに基づいて、前記データメモリから読み出し対象画素データを読み出し、読み出された前記対象画素データに所定の演算処理が施されて得られた画素データを前記データメモリの所定の領域に書き込むロードストアユニットと、前記ロードストアユニットが前記データメモリから前記読み出し対象画素データを読み出す際に、前記第1の2次元アドレスと、前記即値の組と、前記フレームの幅とに基づいて、前記読み出し対象画素データが格納されているアドレスを計算するアドレス計算ユニットとを有する画像処理装置を提供することができる。
本発明の画像処理装置によれば、アドレス計算を必要とせず、命令メモリの面積を削減でき、かつ、レジスタ数を削減することができる。
以下、図面を参照して本発明の実施の形態について詳細に説明する。
(第1の実施の形態)
まず、図1に基づき、本発明の第1の実施の形態に係る画像処理装置の構成について説明する。図1は、第1の実施の形態に係る画像処理装置の構成を示すブロック図である。
図1に示すように、画像処理装置1は、命令メモリ11と、ロードストアユニット12と、データメモリ13と、演算ユニット14と、制御レジスタ15とを有し、1チップとして構成されている。
また、画像処理システム100は、画像処理装置1の外部に、ホストプロセッサ101と、バス102と、撮像装置103と、インターフェース(以下、I/Fという)104とを有して構成されている。なお、画像処理装置1、ホストプロセッサ101、バス102、撮像装置103及びI/F104が1チップとして構成されていてもよい。この画像処理装置1は、例えば、携帯電話、デジタルカメラ等の画像処理に用いられる。
ホストプロセッサ101は、バス102を介して、命令メモリ11に所定の命令コードの書き込みを行う。また、ホストプロセッサ101は、制御レジスタ15に所定のデータの書き込みを行う。
撮像装置103は、例えば、CMOSセンサ等であり、撮像した画像データをI/F104を介して、データメモリ13に書き込みを行う。
ロードストアユニット12は、命令メモリ11からの命令コードに基づいて、データメモリ13から画像データを読み出し、読み出した画像データを演算ユニット14に出力する。
演算ユニット14は、入力された画像データに対してファームウエアによる演算処理、例えば、Bayer配列からのRGBの補間処理、LPF及びHPF等のフィルタ処理、ガンマ補正処理を施し、ロードストアユニットに出力する。
ロードストアユニット12は、所定の演算処理が施された画像データをデータメモリ13に書き込む。
演算ユニット14により演算された演算結果、即ち、データメモリ13に格納された最終的な画像データは、バス102を介してホストプロセッサ101に出力される、あるいは、画像処理装置1の外部にある図示しないレジスタあるいはメモリに格納される。
ロードストアユニット12は、アドレス計算部21と、処理対象画素のフレーム内の位置を示すリードポインタ(以下、RPという)を制御するRP制御部22と、RPの2次元アドレスを保持するRPx24及びRPy25を有するRPレジスタ23とを有して構成されている。
また、ハードウエアにより構成されるアドレス計算部21は、複数の、ここでは3つのアドレス計算ユニット21a、21b及び21cを有して構成されている。このように、アドレス計算部21は、3つのアドレス計算ユニット21a、21b及び21cを有しており、3画素を同時にロードすることができる。よって、3画素を同時にロードするために、データメモリ13は、少なくとも3つのバンクに分けられている。
なお、アドレス計算部21は、3つのアドレス計算ユニット21a、21b及び21cを有しているが、1つ、2つ、あるいは、4つ以上のアドレス計算ユニットを有していてもよい。例えば、アドレス計算ユニットを4つ有している場合には、データメモリ13が少なくとも4つのバンクに分けられていれば、4画素を同時にロードすることができる。
制御レジスタ15は、フレームの高さ(Image_Height)を格納するレジスタ26と、フレームの幅(Image_Width)を格納するレジスタ27とを有して構成されている。レジスタ26には、ホストプロセッサ101によって、フレームの縦方向の高さ、即ち、フレームの垂直方向の高さを示す値が格納される。同様に、レジスタ27には、ホストプロセッサ101によって、フレームの横方向の幅、即ち、フレームの水平方向の幅を示す値が格納される。レジスタ26及び27に格納された各値は、RP制御部22に供給され、後述するRPの制御に用いられる。また、レジスタ27に格納された値は、ハードウエアにより構成されるアドレス計算部の各アドレス計算ユニット21a、21b及び21cに供給され、後述するアドレス計算に用いられる。
ここで、RPの更新方法について説明する。フレーム内のRPの画素の位置を画素[i][j]とする。iは、フレームの縦方向の位置を示し、0〜mの整数である。また、jは、フレームの横方向の位置を示し、0〜nの整数である。このRPは、フレームの左上から各画素毎にラスタスキャン順に変更されていくものとする。
RPは、初期状態ではフレーム内で最初に処理を行う画素[0][0]を指している。データメモリ13中の画素[0][0]が格納されているアドレスは、ロードストアユニット12内のレジスタであるRPx24、RPy25に初期設定される。RP制御部22は、ファームウエアによる上述した演算処理が終わると、画素[0][0]から画素[0][1]にインクリメントしてRPを更新する。このように、RP制御部22は、ファームウエアの一連の演算処理が終わるごとにRPを更新し、最後は、画素[m][n]までRPを更新する。RP制御部22は、命令メモリ11からの制御信号に基づいて、このファームウエアの一連の演算処理が終わった否かの判定を行う。
また、RP制御部22は、レジスタ26に格納されているフレームの高さとレジスタ27に格納されているフレームの幅に基づいて、1ラインの終了判定及び1フレームの終了判定を行う。例えば、フレームの幅をWidth、フレームの高さをHeightとすると、RP制御部22は、RPが画素[0][Width−1]のアドレスになると、1ライン分の処理が終了したと判定し、ラップアラウンド(wrap around)して画素[1][0]のアドレスに更新する。また、RP制御部22は、RPが画素[Height−1][Width−1]のアドレスになると、1フレーム分の処理が終了したと判定し、ラップアラウンドしてアドレスの更新を行う。このRPのフレーム内の位置と、RPが格納されているメモリアドレスはロードストアユニット12内のRPレジスタ23に格納され、初期化、更新等の管理が行われる。
なお、RP制御部22は、レジスタ27に格納されているフレームの幅と、レジスタ26に格納されているフレームの高さとに基づいて、RPの制御を行っているが、撮像装置103から供給される水平同期信号と垂直同期信号とに基づいて、RPの制御を行ってもよい。
次に、RPが画素[i][j]を指しているときに、画素[i+Imm_y][j+Imm_x]を読み出す際の2次元ロード命令について説明する。図2は、命令フォーマットの例を説明するための説明図である。ここで、Imm_x及びImm_yのそれぞれは、ロードすべき画素に関するRPからの水平方向の相対位置及び垂直方向の相対位置を示し、例えば、(Imm_x、Imm_y)は、後述するように(Ix0、Iy0)、(Ix1、Iy1)、または(Ix2、Iy2)である。
図2に示すように、命令フィールド中にRPからの2次元相対位置が画素単位の2個の即値の組で指定されている。1画素ロード命令では、1画素分の2次元相対位置(Ix0、Iy0)が命令の即値のフィールドに与えられている。同様に、2画素ロード命令では、2画素分の2次元相対位置(Ix0、Iy0)及び(Ix1、Iy1)が命令の即値のフィールドに与えられ、3画素ロード命令では、3画素分の2次元相対位置(Ix0、Iy0)、(Ix1、Iy1)及び(Ix2、Iy2)が命令の即値のフィールドに与えられている。それらの命令コードを受けて、アドレス計算ユニット21aは、読み出しターゲットであるアドレス計算を次式により計算する。
ターゲットアドレス=(RPy+Iy0)×Image_Width+(RPx+Ix0)
また、アドレス計算ユニット21bは、上述した計算式のIy0及びIx0をそれぞれIy1及びIx1に代えて計算を行い、アドレス計算ユニット21cは、上述した計算式のIy0及びIx0をそれぞれIy2及びIx2に代えて計算を行う。
アドレス計算ユニット21a、21b及び21cのそれぞれは、上述したアドレス計算から得られたターゲットアドレスをデータメモリ13に出力する。これにより、ターゲットアドレスに対応する3画素が同時にロードされることとなる。
なお、RPから1画素分だけロードする場合、アドレス計算ユニット21aが上述したアドレス計算を行い、対応するターゲットアドレスをデータメモリ13に出力し、アドレス計算ユニット21b及び21cのそれぞれは、無効を示す信号をデータメモリ13に出力する。同様に、RPから2画素分だけ同時にロードする場合、アドレス計算ユニット21a及び21bのそれぞれが上述したアドレス計算を行い、対応するターゲットアドレスをデータメモリ13に出力し、アドレス計算ユニット21cは、無効を示す信号をデータメモリ13に出力する。
以上のように、画像処理装置1は、ロードしたい画素の処理対象画素であるRPからの2次元相対位置を命令の即値のフィールドに与えた命令セットを命令メモリ11に保持する。また、画像処理装置1は、処理対象画素であるRPと、即値と、フレームの幅とに基づいて、所定のアドレス計算式によりターゲットアドレスを求めるようにした。この結果、ファームウエアでのアドレス計算が不要となり、アドレス計算に要するサイクル数が削減することができる。
また、画像幅が3000画素で9ライン分の画素を指定する場合、2次元アドレスを使用せずに、メモリ上のアドレスを命令フィールドに与えると、長い命令フィールドが必要となる。すなわち、1命令によりアドレスを指定し、データをロードする場合、3000×9=27000、即ち15bitの命令フィールドが必要となる。3画素同時ロードしようとすると、45bitの命令フィールドが必要となる。しかし、RPが指している画素をターゲットとして処理している時点で、メモリからロードしたい画素は、高々RP周辺の9×9=81画素程度である。そこで、本実施の形態の2次元アドレスの方式を用いて9×9の範囲の画素を3つ指定する場合は、4bit×2×3画素=24bitの命令フィールドを持っていればよく、45bitと比較すると大幅に、この例では21bit、削減することができる。この結果、長い命令フィールドも不要となり、命令メモリの面積を削減することができる。さらに、演算に必要な画素だけを指定してロードすることができるため、レジスタ数を削減することができる。
よって、本実施の形態の画像処理装置によれば、アドレス計算を必要とせず、命令メモリの面積を削減でき、かつ、レジスタ数を削減することができる。
また、ファームウエア開発者が、2次元データ読み出し処理のファームウエアをアセンブリ言語により記述する場合に、アドレス計算をファームウエア中に記述する必要がなくなるため、直感的な2次元論理アドレスを意識するだけで容易にアセンブリ言語記述を行うことができる。その結果、ファームウエア開発者は、バグの少ないファームウエアをアセンブリ言語により記述することができ、ファームウエアの開発効率を上げることができるという効果を有する。
(第2の実施の形態)
まず、図3に基づき、本発明の第2の実施の形態に係る画像処理装置の構成について説明する。図3は、第2の実施の形態に係る画像処理装置の構成を示すブロック図である。なお、図3において、図1と同一の構成については、同一の符号を付して説明を省略する。
本実施の形態の画像処理装置1aは、命令コード中の即値に加えて、ディスプレースメントレジスタ番号を命令コード中に指定し、仮想的にRPの位置を移動することができるようになっている。
図3に示すように、画像処理装置1aは、図1のアドレス計算部21に代わりアドレス計算部31を用いると共に、制御レジスタ15に代わり制御レジスタ15aを用いて構成されている。
制御レジスタ15aは、ディスプレースメント、即ち、RPからの2次元相対位置を示す値(DPRx及びDPRy)を格納するレジスタ28及び29を有して構成されている。レジスタ及び29は、RPを仮想的に変更するための2次元アドレスを保持するレジスタを構成する。また、アドレス計算部31は、アドレス計算ユニット31a、31b及び31cを有して構成されている。
レジスタ28には、ホストプロセッサ101によって、水平方向のディスプレースメントを示す値(DPRx)が格納される。同様に、レジスタ29には、ホストプロセッサ101によって、垂直方向のディスプレースメントを示す値(DPRy)が格納される。レジスタ28及び29のそれぞれに格納された水平方向及び垂直方向のディスプレースメントを示す値は、アドレス計算部31に供給される。なお、レジスタ28及び29の組み合わせは、説明を簡単にするために1つとしているが、複数あってもよい。
図4は、命令フォーマットの例を説明するための説明図である。図4に示すように、命令フォーマットは、図2の命令フォーマットに加え、レジスタ28及び29のレジスタ番号を命令コード中に指定している。それらの命令コードを受けて、アドレス計算ユニット31aは、読み出しターゲットであるアドレス計算を次式により計算する。
ターゲットアドレス=(RPy+Iy0+DPRy)×Image_Width+(RPx+Ix0+DPRx)
また、アドレス計算ユニット31bは、上述した計算式のIy0及びIx0をそれぞれIy1及びIx1に代えて計算を行い、アドレス計算ユニット31cは、上述した計算式のIy0及びIx0をそれぞれIy2及びIx2に代えて計算を行う。
図5は、仮想的にRPを変更した例を説明するための説明図である。図5に示すように、ロードストアユニット12は、RPを基準とした5画素×5画素の矩形領域32に存在する画素についてアクセス可能であるものとする。レジスタ28に−2、レジスタ29に−2を格納することにより、RPを水平方向に−2、垂直方向に−2だけ変更することが可能となる。このように、仮想的にRPを変更することにより、ロードストアユニット12は、仮想的に変更したRPを基準とした5画素×5画素の矩形領域33にアクセス可能となる。
例えば、データメモリ13がラインメモリにより実装されている場合、図5に示すように、RPを戻して画像処理を行うことがある。この場合、第1の実施の形態で説明した方法でRPを制御しようとすると、RPの制御が複雑になることに加えて、2次元相対位置を指定する即値のフィールドのbit幅の制約により、図5の矩形領域33内部でアクセスできない画素が生じる。そこで、レジスタ28及び29にRPを仮想的に変更するための2次元アドレスを格納し、レジスタ28及び29を指定するためのレジスタ番号を命令コード中に指定することにより、RPを仮想的に変更することできるだけでなく、図5の矩形領域33の全ての画素に対してアクセスすることができる。
以上のように、画像処理装置1aは、即値に加えて、ディスプレースメントが格納されているレジスタ番号を命令フィールドに指定する命令セットを具備するようにした。各アドレス計算ユニット31a、31b及び31cは、2次元アドレス、即値、フレーム幅、ディスプレースメントを示す2次元アドレスに基づいてターゲットアドレスの計算を行うようにした。この結果、RPを仮想的に変更した矩形領域の画素データをロードすることができる。
よって、本実施の形態の画像処理装置によれば、データメモリ13がラインメモリとして実装されていて遅延が生じた場合に、命令フィールドのbit幅の制約によりアクセスできなかった矩形領域33中の画素のロードが遅延のない場合と同様に行うことができるという効果を有する。
(第3の実施の形態)
次に、図6に基づき、本発明の第3の実施の形態に係る画像処理装置の構成について説明する。図6は、第3の実施の形態に係る画像処理装置の構成を示すブロック図である。なお、図6において、図1と同一の構成については、同一の符号を付して説明を省略する。
本実施の形態の画像処理装置1bは、第1の実施の形態の画像処理装置1をSIMD(Single Instruction Multiple Data)型に変更した例である。図6に示すように、画像処理装置1bは、図1のアドレス計算部21に代わりアドレス計算部41を用いると共に、制御レジスタ15に代わり制御レジスタ15bを用いて構成されている。
制御レジスタ15bは、SIMD幅の値(SIMD_Width)を格納するレジスタ30を有して構成されている。また、アドレス計算部41は、アドレス計算ユニット41a、41b及び41cを有して構成されている。
レジスタ30には、ホストプロセッサ101によって、SIMD幅を示す値が格納される。レジスタ30に格納されたSIMD幅は、アドレス計算部41の各アドレス計算ユニット41a、41b及び41cに供給される。
アドレス計算ユニット41aは、図2に示す命令フォーマットに基づいて、読み出しターゲットであるアドレス計算を次式により計算する。
ターゲットアドレス=(RPy+Iy0)×Image_Width+(RPx×SIMD_Width+Ix0)
ここで、RPxの値は、1SIMDデータずれるごとに1ずれるとして数える。例えば、SIMD幅が16の場合、16画素右にずれるとRPxは1ずれるというようにRPxを定める。
また、アドレス計算ユニット41bは、上述した計算式のIy0及びIx0をそれぞれIy1及びIx1に代えて計算を行い、アドレス計算ユニット41cは、上述した計算式のIy0及びIx0をそれぞれIy2及びIx2に代えて計算を行う。
以上のように、画像処理装置1bは、制御レジスタ15bのレジスタ30に格納されたSIMD幅に基づいて、ターゲットアドレスの計算を行うようにした。また、命令フォーマットは、図2と同様の命令フォーマットである。そのため、2次元データ読み出し命令の命令コード中には、SIMD幅に関する情報を必要としない。その結果、SIMD幅が変更された場合でも、命令コードは変更する必要がなくなる。
即ち、SIMD幅に変更があった場合は、ホストプロセッサ101からレジスタ30に変更されたSIMD幅を書き込むだけで、アドレス計算ユニット41a、41b及び41cのそれぞれがターゲットアドレスを計算するようになっている。
よって、本実施の形態の画像処理装置によれば、第1の実施の形態と同様の効果を有すると共に、命令コードは、SIMD幅が変更になった場合でも、バイナリーコンパチブル(binary compatible)になり、ファームウエアの資産としての活用が容易になるという効果を有する。
(第4の実施の形態)
次に、図7に基づき、本発明の第4の実施の形態に係る画像処理装置の構成について説明する。図7は、第4の実施の形態に係る画像処理装置の構成を示すブロック図である。なお、図7において、図3と同一の構成については、同一の符号を付して説明を省略する。
本実施の形態の画像処理装置1cは、第2の実施の形態の画像処理装置1aをSIMD型に変更した例である。図7に示すように、画像処理装置1cは、図3のアドレス計算部31に代わりアドレス計算部51を用いると共に、制御レジスタ15aに代わり制御レジスタ15cを用いて構成されている。
制御レジスタ15cは、SIMD幅を示す値(SIMD_Width)格納するレジスタ30を有して構成されている。また、アドレス計算部51は、アドレス計算ユニット51a、51b及び51cを有して構成されている。
レジスタ30には、ホストプロセッサ101によって、SIMD幅を示す値が格納される。レジスタ30に格納されたSIMD幅は、アドレス計算部51に供給される。
アドレス計算ユニット51aは、図4の命令フォーマットに基づいて、読み出しターゲットであるアドレス計算を次式により計算する。
ターゲットアドレス=(RPy+Iy0+DPRy)×Image_Width+{ (RPx+DPRx)×SIMD_Width + Ix0 }
ここで、RPx,及びDPRxの値は、ぞれぞれ1SIMDデータずれるごとに1ずれるとして数える。例えば、SIMD幅が16の場合、16画素右にずれるとRPx及びDPRxのそれぞれは1ずれるというようにRPx及びDPRxを定める。
また、アドレス計算ユニット51bは、上述した計算式のIy0及びIx0をそれぞれIy1及びIx1に代えて計算を行い、アドレス計算ユニット51cは、上述した計算式のIy0及びIx0をそれぞれIy2及びIx2に代えて計算を行う。
以上のように、画像処理装置1cは、制御レジスタ15cのレジスタ30に格納されたSIMD幅に基づいて、ターゲットアドレスの計算を行うようにした。また、命令フォーマットは、図4と同様の命令フォーマットである。そのため、2次元データ読み出し命令の命令コード中には、SIMD幅に関する情報を必要としない。その結果、SIMD幅が変更された場合でも、命令コードは変更する必要がなくなる。
即ち、SIMD幅に変更があった場合は、ホストプロセッサ101からレジスタ30に変更されたSIMD幅を書き込むだけで、アドレス計算ユニット51a、51b及び51cのそれぞれがターゲットアドレスを計算するようになっている。
よって、本実施の形態の画像処理装置によれば、第2の実施の形態と同様の効果を有すると共に、命令コードがSIMD幅に依存せずにバイナリーコンパチブル(binary compatible)になり、ファームウエアの資産としての活用が容易になるという効果を有する。
本発明は、上述した実施の形態に限定されるものではなく、本発明の要旨を変えない範囲において、種々の変更、改変等が可能である。
第1の実施の形態に係る画像処理装置の構成を示すブロック図である。 命令フォーマットの例を説明するための説明図である。 第2の実施の形態に係る画像処理装置の構成を示すブロック図である。 命令フォーマットの例を説明するための説明図である。 仮想的にRPを変更した例を説明するための説明図である。 第3の実施の形態に係る画像処理装置の構成を示すブロック図である。 第4の実施の形態に係る画像処理装置の構成を示すブロック図である。
符号の説明
1…画像処理装置、11…命令メモリ、12…ロードストアユニット、13…データメモリ、14…演算ユニット、15,15a,15b,15c…制御レジスタ、21,31,41,51…アドレス計算部、21a〜21c,31a〜31c,41a〜41c,51a〜51c…アドレス計算ユニット、22…RP制御部、23…RPレジスタ、100…画像処理システム、101…ホストプロセッサ、102…バス、103…撮像装置、104…インターフェース。

Claims (5)

  1. 画像データを格納するデータメモリと、
    前記画像データのフレーム中におけるリードポインタの位置を示す第1の2次元アドレスを保持する第1のレジスタと、
    前記フレームの幅及び前記フレームの高さに基づいて、前記第1のレジスタに保持される前記第1の2次元アドレスの制御を行う制御回路と、
    前記リードポインタからの2次元相対位置を2個の即値の組により指定するフィールドを具備する命令コードに基づいて、前記データメモリから読み出し対象画素データを読み出し、読み出された前記対象画素データに所定の演算処理が施されて得られた画素データを前記データメモリの所定の領域に書き込むロードストアユニットと、
    前記ロードストアユニットが前記データメモリから前記読み出し対象画素データを読み出す際に、前記第1の2次元アドレスと、前記即値の組と、前記フレームの幅とに基づいて、前記読み出し対象画素データが格納されているアドレスを計算するアドレス計算ユニットと、
    を有することを特徴とする画像処理装置。
  2. 前記リードポインタを仮想的に変更するための第2の2次元アドレスを保持する第2のレジスタを有し、
    前記命令コードは、前記即値の組に加え、前記第2のレジスタのレジスタ番号を指定するフィールドを具備し、
    前記アドレス計算ユニットは、前記第1の2次元アドレスと、前記即値の組と、前記フレームの幅と、前記第2の2次元アドレスとに基づいて、前記読み出し対象画素データが格納されているアドレスを計算することを特徴とする請求項1に記載の画像処理装置。
  3. SIMD型画像処理装置であって、演算処理時のSIMD幅を保持するレジスタを有し、
    前記アドレス計算ユニットは、前記第1の2次元アドレスと、前記即値の組と、前記フレームの幅と、前記SIMD幅とに基づいて、前記読み出し対象画素データが格納されているアドレスを計算することを特徴とする請求項1に記載の画像処理装置。
  4. SIMD型画像処理装置であって、演算処理時のSIMD幅を保持するレジスタを有し、
    前記アドレス計算ユニットは、前記第1の2次元アドレスと、前記即値の組と、前記フレームの幅と、前記第2の2次元アドレスと、前記SIMD幅とに基づいて、前記読み出し対象画素データが格納されているアドレスを計算することを特徴とする請求項2に記載の画像処理装置。
  5. 前記制御回路は、前記フレームの幅及び前記フレームの高さに代わり、それぞれ水平同期信号及び垂直同期信号に基づいて、前記第1のレジスタに保持される前記第1の2次元アドレスを制御することを特徴とする請求項1から4のいずれか1つに記載の画像処理装置。
JP2008277049A 2008-10-28 2008-10-28 画像処理装置 Active JP5100611B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008277049A JP5100611B2 (ja) 2008-10-28 2008-10-28 画像処理装置
US12/512,593 US8345113B2 (en) 2008-10-28 2009-07-30 Image processing apparatus and image processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008277049A JP5100611B2 (ja) 2008-10-28 2008-10-28 画像処理装置

Publications (2)

Publication Number Publication Date
JP2010108084A true JP2010108084A (ja) 2010-05-13
JP5100611B2 JP5100611B2 (ja) 2012-12-19

Family

ID=42117100

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008277049A Active JP5100611B2 (ja) 2008-10-28 2008-10-28 画像処理装置

Country Status (2)

Country Link
US (1) US8345113B2 (ja)
JP (1) JP5100611B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012005231A1 (ja) 2010-07-07 2012-01-12 矢崎総業株式会社 安全回路ユニット付き低挿入力コネクタ

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5380102B2 (ja) * 2009-02-16 2014-01-08 株式会社東芝 マイクロプロセッサ
JP5185242B2 (ja) * 2009-12-04 2013-04-17 株式会社東芝 コンパイル装置
US10996960B1 (en) * 2019-11-22 2021-05-04 Blaize, Inc. Iterating single instruction, multiple-data (SIMD) instructions
US11307860B1 (en) 2019-11-22 2022-04-19 Blaize, Inc. Iterating group sum of multiple accumulate operations
CN117234408A (zh) * 2022-06-06 2023-12-15 中科寒武纪科技股份有限公司 基于指令读取数据中的目标数据的方法及其设备
CN115952139B (zh) * 2023-03-14 2023-06-30 武汉芯云道数据科技有限公司 一种移动设备多帧三维图像处理方法及系统
CN117314730B (zh) * 2023-11-28 2024-03-15 进迭时空(杭州)科技有限公司 一种用于加速数字图像处理的中值滤波计算装置及其方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08147207A (ja) * 1994-11-18 1996-06-07 Fujitsu General Ltd メモリ回路
JPH11312085A (ja) * 1998-04-28 1999-11-09 Hitachi Ltd プロセッサ
JP2001024180A (ja) * 1999-07-05 2001-01-26 Mitsubishi Electric Corp 半導体集積回路装置
JP2005056238A (ja) * 2003-08-06 2005-03-03 Seiko Epson Corp 2次元メモリアクセス方法および演算処理装置
WO2006123822A1 (ja) * 2005-05-20 2006-11-23 Sony Corporation 信号処理装置
JP2008146545A (ja) * 2006-12-13 2008-06-26 Sony Corp アドレス生成回路、バッファ回路、情報処理装置および撮像システム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19654846A1 (de) * 1996-12-27 1998-07-09 Pact Inf Tech Gmbh Verfahren zum selbständigen dynamischen Umladen von Datenflußprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o. dgl.)
JP4934356B2 (ja) 2006-06-20 2012-05-16 株式会社日立製作所 映像処理エンジンおよびそれを含む映像処理システム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08147207A (ja) * 1994-11-18 1996-06-07 Fujitsu General Ltd メモリ回路
JPH11312085A (ja) * 1998-04-28 1999-11-09 Hitachi Ltd プロセッサ
JP2001024180A (ja) * 1999-07-05 2001-01-26 Mitsubishi Electric Corp 半導体集積回路装置
JP2005056238A (ja) * 2003-08-06 2005-03-03 Seiko Epson Corp 2次元メモリアクセス方法および演算処理装置
WO2006123822A1 (ja) * 2005-05-20 2006-11-23 Sony Corporation 信号処理装置
JP2008146545A (ja) * 2006-12-13 2008-06-26 Sony Corp アドレス生成回路、バッファ回路、情報処理装置および撮像システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012005231A1 (ja) 2010-07-07 2012-01-12 矢崎総業株式会社 安全回路ユニット付き低挿入力コネクタ

Also Published As

Publication number Publication date
US8345113B2 (en) 2013-01-01
US20100103282A1 (en) 2010-04-29
JP5100611B2 (ja) 2012-12-19

Similar Documents

Publication Publication Date Title
JP5100611B2 (ja) 画像処理装置
JP5593060B2 (ja) 画像処理装置、および画像処理装置の動作方法
JP2009165106A (ja) 画像の歪み補正
JP5735227B2 (ja) 画像変換装置及び画像変換システム
JP2010176547A (ja) 画像処理装置に含まれる制御装置、制御方法、及び制御処理プログラム
JP2006191362A (ja) 画像データ処理装置及び画像データ処理方法
JP2010081024A (ja) 画像補間処理装置
JP4970378B2 (ja) メモリコントローラおよび画像処理装置
JP2006211402A (ja) カメラ装置、画像処理方法
US7928987B2 (en) Method and apparatus for decoding video data
JP5387276B2 (ja) 画像処理装置及び画像処理方法
JP4790545B2 (ja) 画像処理装置、画像処理方法
JP5959684B2 (ja) 画像変換システム
KR101540300B1 (ko) 캐시 메모리를 이용한 이미지 워핑 시스템 및 그 방법
US9781353B2 (en) Image processing apparatus, electronic apparatus, and image processing method
JP2018191154A (ja) 画像処理装置、画像処理方法及びプログラム
JP6467940B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP6099418B2 (ja) 半導体装置及びそのデータ処理方法
JP2018005389A (ja) 画像変形回路、画像処理装置、及び画像変形方法
JP2016100717A (ja) 画像処理装置、画像処理方法及びプログラム
JP2015154455A (ja) 画像処理装置、画像処理方法及び画像処理プログラム
JP4413905B2 (ja) Simd型プロセッサ
US20120288205A1 (en) Image processing apparatus, image processing system, and method for having computer process image
JP2013126130A (ja) 画像処理装置、画像処理方法および画像処理プログラム
JP6249234B2 (ja) 画像処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110222

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120326

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120925

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151005

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 5100611

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151005

Year of fee payment: 3