JP2010134891A - 画像処理プロセッサ - Google Patents
画像処理プロセッサ Download PDFInfo
- Publication number
- JP2010134891A JP2010134891A JP2009028994A JP2009028994A JP2010134891A JP 2010134891 A JP2010134891 A JP 2010134891A JP 2009028994 A JP2009028994 A JP 2009028994A JP 2009028994 A JP2009028994 A JP 2009028994A JP 2010134891 A JP2010134891 A JP 2010134891A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- pixel
- branch
- register
- data
- 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
Links
- 238000004364 calculation method Methods 0.000 claims abstract description 51
- 238000000034 method Methods 0.000 claims description 123
- 238000010586 diagram Methods 0.000 description 30
- 230000000694 effects Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000000873 masking effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
- Picture Signal Circuits (AREA)
- Color Television Image Signal Generators (AREA)
Abstract
【解決手段】本発明は、入力画像データに対して所定の信号処理を行う画像処理プロセッサであって、映像入力ユニット1は、画素位置カウンタ11を備え、命令フェッチ/発行ユニット4は、遅延量が格納された相対位置レジスタの情報を含んだ命令をフェッチした場合に、遅延量および画素位置カウンタの値に基づいて、処理対象画素データの画素位置を算出するターゲット位置計算部41と、相対位置レジスタの情報を含んだ命令が分岐命令の場合に、算出された画素位置および分岐命令に含まれる分岐条件コードに基づいて、画素位置の画素データに対して信号処理を行うかどうかを判定する分岐条件判定部42と、を備える。
【選択図】図1
Description
(手順2)現在の処理スレッドの画像入力からの相対処理位置を汎用レジスタにロードさせる命令を実行する。
(手順3)手順1および手順2で取得した値同士で演算を行うことにより処理スレッドの画素位置を求め、得られた画素位置を汎用レジスタにロードさせる命令を実行する。
(手順4)手順3で求めた画素位置について、そのvが偶数位置かつhが奇数位置かどうかを調べさせる命令を実行する。
(手順5)手順3で求めた画素位置について、そのvが奇数位置かどうかを調べさせる命令を実行する。
(手順6)手順4および手順5の結果の論理和を取らせる命令を実行する。
(手順7)手順6の結果が正しければ、実行する信号処理(補間処理)が記載された位置へ分岐する。一方、正しくなければ分岐を行わない(その結果、補間処理も行われない)ように指示する命令を実行する。
図1は、第1の実施の形態にかかる画像処理プロセッサの構成例を示す図である。本実施の形態の画像処理プロセッサは、外部から映像信号(画像データ)を受け取る映像入力ユニット1と、演算データを格納するためのデータメモリ2と、処理内容を記載した情報(命令)を格納するための命令メモリ3と、命令のフェッチおよび発行を行う命令フェッチ/発行ユニット4と、データメモリ2に対するロードストアを実行するロードストアユニット5と、命令メモリ3に格納された命令が示す演算を実施する演算ユニット6Aおよび6Bと、画素位置カウンタが示す値(画素)に対する処理遅延量を示す情報を保持する相対位置レジスタ7と、命令フェッチ/発行ユニット4により発行された2つのPC(プログラムカウンタ)値のうち、いずれか一方を選択するセレクタ8と、を備えている。
(ターゲット位置)=(入力画素位置)−(相対位置)
(1−1)分岐条件判定部42は、ターゲット位置計算部41により算出されたターゲット位置(v,h)に対して次式(1)の4つの演算を実行し、それぞれの演算結果を繋ぎ合わせて4bitの情報を生成する。この4bitの情報は、ターゲット位置が2×2配列中のどの位置に該当するかを示す情報(位置情報)であり、R,GR,GB,Bのいずれに該当するかを示す。
v%2==0&&h%2==0, v%2==0&&h%2!=0, v%2!=0&&h%2==0, v%2!=0&&h%2!=0 …(1)
vが偶数位置かつhが偶数位置(図2のR画素に相当)ならば分岐成立、
vが偶数位置かつhが奇数位置(図2のGR画素に相当)ならば分岐成立、
vが奇数位置かつhが偶数位置(図2のGB画素に相当)ならば分岐成立、
vが奇数位置かつhが奇数位置(図2のB画素に相当)ならば分岐成立、
を表わし、分岐命令中にはこれらの条件を組み合わせて指定できる。
この場合、分岐条件コードは、図6に示したように、2×2配列の画素に対する分岐パターンを示す4bit(図示した第1の分岐条件コードに相当)と、4×4画素配列を構成する4つの2×2画素ブロックに対する分岐パターン指定の4bit(図示した第2の分岐条件コードに相当)との合計8bitからなる。そして、分岐条件判定部42は、第1の分岐条件コードを使用した判定および第2の分岐条件コードを使用した判定を行い、それぞれの判定結果を用いて最終的な分岐判定を行う。なお、図6は、縦4画素×横4画素のパターンに対する分岐判定動作を説明するための図である。
(2−1)分岐条件判定部42は、ターゲット位置計算部41により算出されたターゲット位置(v,h)に対して、上述した「命令コードが縦2画素×横2画素のパターン指定を行う分岐命令を示す場合」と同様に、上記の式(1)の4つの演算を実行し、それぞれの演算結果を繋ぎ合わせて4bitの情報を生成する。この4bitの情報は、ターゲット位置が2×2配列中のどの位置に該当するかを示す情報である。
(2−2)上記生成した4bitと、分岐条件コード中の第1の分岐条件コード(図5参照)との論理積をとる。
(v>>1)%2==0&&(h>>1)%2==0, (v>>1)%2==0&&(h>>1)%2!=0,
(v>>1)%2!=0&&(h>>1)%2==0, (v>>1)%2!=0&&(h>>1)%2!=0 …(2)
命令コードが縦8画素×横8画素のパターン指定を行う分岐命令を示す場合には、図7に示したように、4×4配列のブロック4つに対するパターン指定の4bit(図示した第3の分岐条件コード)をさらに追加して分岐条件コードを拡張することにより可能である。分岐判定手順の拡張方法は、2×2配列での分岐判定手順を4×4配列での分岐判定手順に拡張する場合と同様である。すなわち、上述した手順(2−1)〜(2−5)に相当する処理を実行後、さらに、ターゲット位置(v,h)を2ビットシフトさせ、得られた結果(シフト後のv,h)のそれぞれを2で除算して得られた結果から8×8配列を構成している4つの4×4配列のブロックのうちのどれに、ターゲット位置が含まれているかを示す4bitの情報を生成する。次に、この4bitの情報と第3の分岐条件コード(図6参照)との論理積をとる処理を実行し、最後に、この論理積の結果と上記手順(2−5)で得られた論理積の結果との論理積をとり、その結果が“0”ならば「分岐条件非成立」と判定し、“0”以外ならば「分岐条件成立」と判定する。
図8は、第2の実施の形態にかかる画像処理プロセッサの構成例を示す図である。本実施の形態の画像処理プロセッサは、第1の実施の形態の画像処理プロセッサの相対位置レジスタ7および命令フェッチ/発行ユニット4を命令フェッチ/発行ユニット4aに置き換えたものである。ここでは、第1の実施の形態の画像処理プロセッサと同じ構成要素に同じ符号を付して説明を省略する。また、命令フェッチ/発行ユニット4aは、命令フェッチ/発行ユニット4のターゲット位置計算部41および分岐条件判定部42をターゲット位置レジスタ46および分岐条件判定部42aに置き換えた構成となっている。なお、命令フェッチ/発行ユニット4aと命令フェッチ/発行ユニット4との違いは、分岐条件判定部42がターゲット位置情報をターゲット位置レジスタ46から取得する点である。
以上の第1および第2の実施の形態では、処理対象の画像データの画素位置を判定する処理を効率的に行い、分岐命令を実行する際の演算量を低く抑える技術について説明したが、演算命令についても、同様の手法を利用して効率化が実現可能である。そこで、本実施の形態以降においては、演算命令を効率的に実行可能な画像処理プロセッサについて説明する。
(手順2)手順1での演算結果が、“0”と等価であるかをテストする。
(手順3)hを取得し、h%2を演算する。
(手順4)手順3での演算結果が、“0”と等価であるかをテストする。
(手順5)手順2と手順4におけるテスト結果の論理積を演算する。
(手順6)手順5での演算結果が成り立っていない場合には、手順7に分岐する。
(手順7)レジスタからIn[v][h]、および、BASE_Rを取得し、これらを加算した後、手順19に分岐する。
(手順8)手順3での演算結果が、“1”と等価であるかをテストする。
(手順9)手順2と手順8におけるテスト結果の論理積を演算する。
(手順10)手順9での演算結果が成り立っていない場合には、手順12に分岐する。
(手順11)レジスタからIn[v][h]、および、BASE_GRを取得し、これらを加算した後、手順19に分岐する。
(手順12)手順1での演算結果が、“1”と等価であるかをテストする。
(手順13)手順4と手順12におけるテスト結果の論理積を演算する。
(手順14)手順13での演算結果が成り立っていない場合には、手順16に分岐する。
(手順15)レジスタからIn[v][h]、および、BASE_GBを取得し、これらを加算した後、手順19に分岐する。
(手順16)手順8と手順12におけるテスト結果の論理積を演算する。
(手順17)手順16での演算結果が成り立っていない場合には、手順19に分岐する。
(手順18)レジスタからIn[v][h]、および、BASE_Bを取得し、これらを加算した後、手順19に分岐する。
(手順19)図9に示した処理を終了し、次の命令を実行する。
(ステップ2)ターゲット位置計算部41で算出されたターゲット位置のh成分(h位置)が奇数であるか否かを算出する。
(ステップ3)ステップ2の結果と、命令中のアクセスタイプ(オペランドレジスタアクセスタイプ)の論理積を取る。
(ステップ4)ステップ3の結果が真ならば、“1”を、そうでなければ、命令中にて指定のレジスタ番号をそのまま、レジスタ番号とする。
vが偶数,hが偶数(R画素位置)の場合、
レジスタ番号が1,レジスタバンク番号が0
vが偶数,hが奇数(GR画素位置)の場合、
レジスタ番号が2,レジスタバンク番号が0
vが奇数,hが偶数(GB画素位置)の場合、
レジスタ番号が1,レジスタバンク番号が1
vが奇数,hが奇数(B画素位置)の場合、
レジスタ番号が2,レジスタバンク番号が1
となる。
図16は、第4の実施の形態にかかる画像処理プロセッサの構成例を示す図である。この画像処理プロセッサは、第3の実施の形態にかかる画像処理プロセッサ(図10参照)の相対位置レジスタ7および命令フェッチ/発行ユニット4bに代えて命令フェッチ/発行ユニット4cを備えた構成をとり、命令フェッチ/発行ユニット4cは、ターゲット位置計算部41に代えて、第2の実施の形態にかかる画像処理プロセッサ(図8参照)が備えていたものと同じターゲット位置レジスタ46を備えている。
(算出レジスタ番号)
=指定レジスタ番号+{7&(4−1)}+{5&(4−1)}<<2
=指定レジスタ番号+7&3+(5&3)<<2
=指定レジスタ番号+3+1<<2
=指定レジスタ番号+3+4 …(3)
h座標が4,v座標が4のとき、(算出レジスタ番号)=指定レジスタ番号+0+0
h座標が5,v座標が4のとき、(算出レジスタ番号)=指定レジスタ番号+1+0
h座標が6,v座標が4のとき、(算出レジスタ番号)=指定レジスタ番号+2+0
h座標が7,v座標が4のとき、(算出レジスタ番号)=指定レジスタ番号+3+0
h座標が4,v座標が5のとき、(算出レジスタ番号)=指定レジスタ番号+0+4
h座標が5,v座標が5のとき、(算出レジスタ番号)=指定レジスタ番号+1+4
h座標が6,v座標が5のとき、(算出レジスタ番号)=指定レジスタ番号+2+4
h座標が7,v座標が5のとき、(算出レジスタ番号)=指定レジスタ番号+3+4
となる。
Claims (5)
- 画像データを外部から受け取る映像入力ユニットおよび命令フェッチ/発行ユニットを備え、入力画像データに対して所定の信号処理を行う画像処理プロセッサであって、
前記映像入力ユニットは、
入力された画素データの数をカウントする画素位置カウンタ、
を備え、
前記命令フェッチ/発行ユニットは、
前記映像入力ユニットに画素データが入力されてから当該画素データに対する命令が実行されるまでの遅延量が格納された相対位置レジスタの情報、を含んだ命令をフェッチした場合に、当該遅延量および前記画素位置カウンタの値に基づいて、当該フェッチした命令の処理対象画素データの画素位置を算出するターゲット位置計算部と、
前記相対位置レジスタの情報を含んだ命令が分岐命令の場合に、前記算出された画素位置および当該分岐命令に含まれる分岐条件コードに基づいて、当該画素位置の画素データに対して信号処理を行うかどうかを判定する分岐条件判定部と、
を備えることを特徴とする画像処理プロセッサ。 - 命令フェッチ/発行ユニットを備え、入力画像データに対して所定の信号処理を行う画像処理プロセッサであって、
前記命令フェッチ/発行ユニットは、
1フレーム分の入力画像データのうちの最後の画素データに対する信号処理が終了した場合にゼロリセットされ、また、最後ではない画素データに対する信号処理が終了した場合にはインクリメントされるターゲット位置レジスタと、
分岐命令をフェッチした場合に、前記ターゲット位置レジスタから当該分岐命令の処理対象画素データの画素位置を取得し、取得した画素位置および当該分岐命令に含まれる分岐条件コードに基づいて、前記取得した画素位置の画素データに対して信号処理を行うかどうかを判定する分岐条件判定部と、
を備えることを特徴とする画像処理プロセッサ。 - 前記分岐条件判定部は、
2n×2n画素(nは正の整数)ごとに規則性を有する画像を処理対象として判定処理を行うこととし、nが2以上の場合における判定処理では、シフト量を1〜n−1ビットの範囲で1ビットずつ変化させながら、前記画素位置の縦方向の位置情報vおよび横方向の位置情報hを同一ビット数だけ右方向へビットシフトさせて合計n−1個のシフト後の画素位置を求め、さらに、シフト前の画素位置およびn−1個のシフト後の画素位置それぞれについての判定を前記分岐条件コードに基づいて個別に行い、得られたn個の判定結果に基づいて最終的な判定を行うことを特徴とする請求項1または2に記載の画像処理プロセッサ。 - 画像データを外部から受け取る映像入力ユニットおよび命令フェッチ/発行ユニットを備え、入力画像データに対して所定の信号処理を行う画像処理プロセッサであって、
前記映像入力ユニットは、
入力された画素データの数をカウントする画素位置カウンタ、
を備え、
前記命令フェッチ/発行ユニットは、
前記映像入力ユニットに画素データが入力されてから当該画素データに対する命令が実行されるまでの遅延量が格納された相対位置レジスタの情報、を含んだ命令をフェッチした場合に、当該遅延量および前記画素位置カウンタの値に基づいて、当該フェッチした命令の処理対象画素データの画素位置を算出するターゲット位置計算部と、
前記相対位置レジスタの情報を含んだ命令が演算命令の場合に、前記算出された画素位置、および当該演算命令に含まれる、オペランドが格納されたレジスタの情報、に基づいて、処理対象画素データに対する演算で使用するオペランドを特定する命令デコーダと、
を備えることを特徴とする画像処理プロセッサ。 - 命令フェッチ/発行ユニットを備え、入力画像データに対して所定の信号処理を行う画像処理プロセッサであって、
前記命令フェッチ/発行ユニットは、
1フレーム分の入力画像データのうちの最後の画素データに対する信号処理が終了した場合にゼロリセットされ、また、最後ではない画素データに対する信号処理が終了した場合にはインクリメントされるターゲット位置レジスタと、
演算命令をフェッチした場合に、前記ターゲット位置レジスタから当該演算命令の処理対象画素データの画素位置を取得し、取得した画素位置、および当該演算命令に含まれる、オペランドが格納されたレジスタの情報、に基づいて、処理対象画素データに対する演算で使用するオペランドを特定する命令デコーダと、
を備えることを特徴とする画像処理プロセッサ。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009028994A JP4901891B2 (ja) | 2008-11-05 | 2009-02-10 | 画像処理プロセッサ |
US12/540,798 US8730250B2 (en) | 2008-11-05 | 2009-08-13 | Image processor and command processing method |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008284211 | 2008-11-05 | ||
JP2008284211 | 2008-11-05 | ||
JP2009028994A JP4901891B2 (ja) | 2008-11-05 | 2009-02-10 | 画像処理プロセッサ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010134891A true JP2010134891A (ja) | 2010-06-17 |
JP4901891B2 JP4901891B2 (ja) | 2012-03-21 |
Family
ID=42130917
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009028994A Expired - Fee Related JP4901891B2 (ja) | 2008-11-05 | 2009-02-10 | 画像処理プロセッサ |
Country Status (2)
Country | Link |
---|---|
US (1) | US8730250B2 (ja) |
JP (1) | JP4901891B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5380102B2 (ja) * | 2009-02-16 | 2014-01-08 | 株式会社東芝 | マイクロプロセッサ |
JP5185242B2 (ja) * | 2009-12-04 | 2013-04-17 | 株式会社東芝 | コンパイル装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007080186A (ja) * | 2005-09-16 | 2007-03-29 | Canon Inc | データ処理装置、及びその制御方法 |
WO2007116560A1 (ja) * | 2006-03-30 | 2007-10-18 | Nec Corporation | 並列画像処理システムの制御方法および装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05328384A (ja) | 1992-05-20 | 1993-12-10 | Fujitsu Ltd | 画像データ変換回路 |
US5379071A (en) * | 1992-12-16 | 1995-01-03 | Ibm Corporation (International Business Machines Corporation) | Method of encoding a location of changes in a sequence of video images |
DE69418646T2 (de) | 1993-06-04 | 2000-06-29 | Sun Microsystems, Inc. | Gleitkommaprozessor für einen hochleistungsfähigen dreidimensionalen Graphikbeschleuniger |
US6028807A (en) * | 1998-07-07 | 2000-02-22 | Intel Corporation | Memory architecture |
JP3927715B2 (ja) | 1998-12-28 | 2007-06-13 | キヤノン株式会社 | 色変換方法および色変換装置 |
JP4868576B2 (ja) * | 2006-01-27 | 2012-02-01 | 株式会社メガチップス | 画像処理装置 |
JP5328384B2 (ja) | 2009-01-14 | 2013-10-30 | キヤノン株式会社 | レンズ制御装置、光学機器及びレンズ制御方法 |
-
2009
- 2009-02-10 JP JP2009028994A patent/JP4901891B2/ja not_active Expired - Fee Related
- 2009-08-13 US US12/540,798 patent/US8730250B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007080186A (ja) * | 2005-09-16 | 2007-03-29 | Canon Inc | データ処理装置、及びその制御方法 |
WO2007116560A1 (ja) * | 2006-03-30 | 2007-10-18 | Nec Corporation | 並列画像処理システムの制御方法および装置 |
Also Published As
Publication number | Publication date |
---|---|
US20100110289A1 (en) | 2010-05-06 |
JP4901891B2 (ja) | 2012-03-21 |
US8730250B2 (en) | 2014-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10395381B2 (en) | Method to compute sliding window block sum using instruction based selective horizontal addition in vector processor | |
KR100498482B1 (ko) | 명령어수에 수행 주기 회수를 가중치로 사용하여 쓰레드를페치하는 동시 다중 쓰레딩 프로세서 및 그 방법 | |
JP2011511986A (ja) | プロセッサ | |
JPH02289097A (ja) | 画像表示データ処理装置 | |
KR100981998B1 (ko) | 데이터 워드 내의 비트 삽입 | |
CN108319559B (zh) | 用于控制矢量内存存取的数据处理装置及方法 | |
EP2602710A1 (en) | Method of encoding register instruction fields | |
JP4637640B2 (ja) | 図形描画装置 | |
US9354893B2 (en) | Device for offloading instructions and data from primary to secondary data path | |
US20230325189A1 (en) | Forming Constant Extensions in the Same Execute Packet in a VLIW Processor | |
JP3659252B2 (ja) | ベクトルデータのアドレス参照方法およびベクトルプロセッサ | |
JP4686435B2 (ja) | 演算装置 | |
EP3559803B1 (en) | Vector generating instruction | |
JP4901891B2 (ja) | 画像処理プロセッサ | |
EP3264261B1 (en) | Processor and control method of processor | |
US11314514B2 (en) | Vector length querying instruction | |
KR102591988B1 (ko) | 데이터 처리장치에서의 벡터 인터리빙 | |
JP6378515B2 (ja) | Vliwプロセッサ | |
US10963251B2 (en) | Vector register access | |
JP4896839B2 (ja) | マイクロプロセッサおよびデータ処理方法 | |
JP2004302647A (ja) | ベクトルプロセッサおよびレジスタのアドレス指定方法 | |
JP3706383B1 (ja) | 描画処理装置および描画処理方法、ならびに情報処理装置および情報処理方法 | |
JP2001216275A (ja) | 画像処理装置および画像処理方法 | |
JP5292831B2 (ja) | プログラマブルコントローラ | |
JP2010140398A (ja) | データ処理装置及びデータ処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110218 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111130 |
|
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: 20111206 |
|
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: 20111227 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150113 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |