JP2015148851A - 画像処理装置 - Google Patents
画像処理装置 Download PDFInfo
- Publication number
- JP2015148851A JP2015148851A JP2014019821A JP2014019821A JP2015148851A JP 2015148851 A JP2015148851 A JP 2015148851A JP 2014019821 A JP2014019821 A JP 2014019821A JP 2014019821 A JP2014019821 A JP 2014019821A JP 2015148851 A JP2015148851 A JP 2015148851A
- Authority
- JP
- Japan
- Prior art keywords
- parameter
- setting
- image processing
- data
- difference
- 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
Links
Images
Landscapes
- Bus Control (AREA)
Abstract
【課題】パラメータDMACによるレジスタへのパラメータ設定を行う際に必要な一時記憶領域を削減することができる画像処理装置を提供する。
【解決手段】データが記憶された記憶手段と、設定されたパラメータが入力されるパラメータ入力手段と、現在の状態と所望の状態との設定の差分である差分パラメータを入力としてパラメータ入力手段へのパラメータ設定の際に、記憶手段のデータに現在の設定値と所望の設定値との排他的論理和の設定を行うパラメータ設定手段と、を有する。
【選択図】図1
【解決手段】データが記憶された記憶手段と、設定されたパラメータが入力されるパラメータ入力手段と、現在の状態と所望の状態との設定の差分である差分パラメータを入力としてパラメータ入力手段へのパラメータ設定の際に、記憶手段のデータに現在の設定値と所望の設定値との排他的論理和の設定を行うパラメータ設定手段と、を有する。
【選択図】図1
Description
本発明は、画像処理を行うハードウェアに設定する画像処理用のパラメータをDMA転送する画像処理装置に関する。
ソフトウェアからレジスタの設定を高速化する方法として、パラメータを設定するためのDMAC(Direct Memory Access Controller)を使う方法は既に知られている。画像処理を行うASIC(Application Specific Integrated Circuit)などのハードウェアに設定する画像処理用のパラメータは、ディスクリプタ情報を使用してDMA転送により、一括転送される。
特許文献1には、パラメータ設定の高速化を行う目的で、DMAコントローラを用いたレジスタへのパラメータ設定方法について開示されている。
また、特許文献2には、相関が強い画像データの場合に高い圧縮率を実現する目的で、排他的論理和による前ラインとの差分を抽出し、圧縮する方法について開示されている。
また、特許文献2には、相関が強い画像データの場合に高い圧縮率を実現する目的で、排他的論理和による前ラインとの差分を抽出し、圧縮する方法について開示されている。
しかし、従来のパラメータDMACの技術では、一時的にパラメータを置く領域を有するため、パラメータ設定転送時間、パラメータ設定を置く一時記憶領域の確保が必要である点、また、パラメータに変更が無かった場合でもパラメータを設定し直す点に問題があった。
また、特許文献1に開示された技術では、パラメータ設定時の効率と、パラメータ設定時に必要な一時記憶領域が大きいという問題は解消されていない。
さらに、特許文献2に開示された技術では、レジスタアクセス期間が長いという問題は解消されていない。
さらに、特許文献2に開示された技術では、レジスタアクセス期間が長いという問題は解消されていない。
本発明は、前記課題を解決するためのものであり、その目的とするところは、パラメータDMACによるレジスタへのパラメータ設定を行う際に必要な一時記憶領域を削減することができる画像処理装置を提供することである。
かかる目的を達成するために、本発明は、以下の特徴を有する。
本発明に係る画像処理装置は、データが記憶された記憶手段と、設定されたパラメータが入力されるパラメータ入力手段と、現在の状態と所望の状態との設定の差分である差分パラメータを入力として前記パラメータ入力手段へのパラメータ設定の際に、前記記憶手段のデータに現在の設定値と所望の設定値との排他的論理和の設定を行うパラメータ設定手段と、を有することを特徴とする。
本発明によれば、パラメータDMACによるレジスタへのパラメータ設定を行う際に必要な一時記憶領域を削減することができる。
以下、本実施形態について図面により詳細に説明する。
図1は、本実施形態に係るメインボードの全体構成を示すブロック図である。メインボード1は、ASIC2とCPU3とHDD4とDDRメモリα5とDDRメモリβ6とを有している。
CPU3は、メモリ上に存在するプログラムとデータ、もしくはHDD4からDDRメモリα5上に展開したプログラムとデータを基に、ASIC2を制御する。DDRメモリα5はCPU3のDDRCα12に接続されている。CPU3は、CPU I/F(Master)7を通してASIC2を制御することができる。
また、CPU3は、CPU I/F(Master)7を通じてDDRCβ8を制御し、ASIC2に接続されたDDR メモリβ6に対してデータを読み書きすることができる。ASIC2は、モジュール9とパラメータDMAC10とDDRCβ8とがインターコネクト11を介して接続されている。
モジュール9は、パラメータDMAC10で設定されたパラメータが入力され、インターコネクト11に接続されている。CPU3のCPU I/F(Master)7は、インターコネクト11のCPU I/F(Slave)13に接続されている。
なお、インターコネクト11との接続でのM,Sの表記は、Master動作するかSlave動作するかを表している。
なお、インターコネクト11との接続でのM,Sの表記は、Master動作するかSlave動作するかを表している。
図2は、本実施形態に係るパラメータDMAC10(以下、PDMACと称す。)の内部構成を示すブロック図である。本実施形態では省略したが、割り込み制御信号により、メモリ上に配置されたディスクリプタによる設定を行っても良い。
また、排他的論理和と圧縮とが有効な構成としたが、ディスクリプタ、レジスタ設定により、それぞれ即値、非圧縮データで動作するモードを備えても良い。
また、排他的論理和と圧縮とが有効な構成としたが、ディスクリプタ、レジスタ設定により、それぞれ即値、非圧縮データで動作するモードを備えても良い。
PDMAC10は、レジスタコントローラ21とパラメータリード回路22と伸張器23とデータライト回路24とリードバッファ25とライトバッファ26とを有している。
レジスタコントローラ21は、PDMAC10の設定レジスタを保持する。CPU3はデータI/Fβ(slave)28を介して含まれるレジスタの設定を変更、もしくはレジスタ値のリードを行う。
レジスタコントローラ21は、PDMAC10の設定レジスタを保持する。CPU3はデータI/Fβ(slave)28を介して含まれるレジスタの設定を変更、もしくはレジスタ値のリードを行う。
パラメータリード回路22は、圧縮された差分パラメータをデータI/Fγ(master)29を介してPDMAC_SAに指定されたアドレスから読み込み、リードバッファ25にそのデータを書き込む。
伸張器23は、リードバッファ25から圧縮された差分パラメータを取得し、伸張する。伸張したパラメータは、ライトバッファ26に書き込まれる。
データライト回路24はライトバッファ26から伸張された差分パラメータを取得し、逐次データI/Fα27(master)を用いて各モジュールに差分パラメータを設定する。
データライト回路24はライトバッファ26から伸張された差分パラメータを取得し、逐次データI/Fα27(master)を用いて各モジュールに差分パラメータを設定する。
なお、差分パラメータは、現状のパラメータ設定値との排他的論理和なので、差分パラメータが0の場合、設定値に変更が無いため、当該のレジスタにはデータI/Fα(master)27を介したパラメータ設定を省略する。
図3は、レジスタインタフェースの記述例(スレーブ側)を示す図である。レジスタ設定のためのインタフェースで排他的論理和を入力とする場合の回路(RTL)記述例である。
上からrstはリセット信号であり、DEFAULT_VALUEはアドレスADDRESS_Aに保持するレジスタ値のデフォルト値である。アドレスADDRESS_Aのレジスタ値はdata_aに保持される。cpu_weはライトイネーブル信号であり、アサートにより、マスタ側からデータcpu_wdataのライト設定が来ていることを示す。
制御信号として新たにwrite_xorをマスタ側から入力することで、排他的論理和か即値入力かを選択できるようにしている。write_xorがアサートされている場合、それまで保持していたレジスタのデータdata_aと設定値cpu_wdataとの排他的論理和を保持する。
図4は、CPU3上で実行されるPDMAC10を使ってパラメータを設定するためのプログラムの一例を示す図である。構造体diff_paramTは差分パラメータを示す構造体であり、直前の設定状態と目的の設定状況と圧縮された差分パラメータのアドレスとデータサイズとを要素として有する。
なお、data_ptrで示すDDR メモリβ6のアドレスには、圧縮された差分パラメータが書かれているものとする。
なお、data_ptrで示すDDR メモリβ6のアドレスには、圧縮された差分パラメータが書かれているものとする。
配列dif_paramsには、差分パラメータが設定される。プログラムを実行するまでに構造体diff_paramTの配列dif_paramsには、設定がなされているものとする。「差分パラメータ検索」部では、現在のパラメータ状態と所望のパラメータ状態が一つの差分パラメータで接続されている場合の検索方法を示している。
構造体dif_paramsから所望のパラメータを検索している。ここで、current_stateには現在のパラメータ状態、target_stateには所望するパラメータ状態が設定されている。この操作により、dif_params[param_num]が、ここで設定される差分パラメータとなる。
PDMAC実行では、PDMACのレジスタPDMAC_SA,PDMAC_SIZE,PDMAC_TAの実行に必要なレジスタ設定を行い、PDMACに起動をかける。PDMACの終了をポーリングで待った後で、現在のパラメータ状態の更新を行う。
図5は、システムの中で起こりうるパラメータ状態と、その状態を実現するための差分パラメータの関係を示す図である。
即値でパラメータを設定する場合、そのパラメータ状態を取り得るパラメータ状態を設定する。これに対して、本手法では、現在のパラメータ状態から次の処理を行うためのパラメータ状態にするため、差分パラメータを設定する。
即値でパラメータを設定する場合、そのパラメータ状態を取り得るパラメータ状態を設定する。これに対して、本手法では、現在のパラメータ状態から次の処理を行うためのパラメータ状態にするため、差分パラメータを設定する。
例えば、現在のパラメータ状態の場合、PRINTER(MONO)で、次にCOPY(MONO)100%の処理を行いたい場合、PDMACには差分パラメータDを設定する。排他的論理和のパラメータのため、COPY(MONO)100%から、PRINTER(MONO)に移る場合も同じ差分パラメータDをPDMACに設定することで、遷移することができる。
現在のパラメータ状態と次の処理を行うためのパラメータ状態を行うための差分パラメータが無い場合、PDMACを複数起動し、順々にパラメータ状態を遷移して、所望のパラメータ状態にする(ディスクリプタチェーン機能)。
例えば、PRINTER(MONO)から、COPY(COLOR)200%の状態にしたい場合、差分パラメータD、差分パラメータE、差分パラメータGを順にPDMACに設定し、実行することで、遷移するこができる。
状態に対して差分パラメータを少なくすると、所望の状態にするためにPDMACを起動する回数が多くなる。一方、差分パラメータを多くすると、差分パラメータのデータ量が増大する。状態に対して差分パラメータをいくつ設けるかは、処理の頻度、リソースなどのトレードオフから決定されるものである。
図6は、PDMACがディスクリプタによるデータ転送に対応している場合のディスクリプタの設定例を示す図である。
Write_XORでは入力データが排他的論理和か即値かを設定するフラグである。Compressは、入力データが圧縮データであるか生データであるかを設定しているかを設定するフラグである。
Write_XORでは入力データが排他的論理和か即値かを設定するフラグである。Compressは、入力データが圧縮データであるか生データであるかを設定しているかを設定するフラグである。
このような記述をPDMACが対応することにより、ディスクリプタに記述されたデータごとに入力データの設定値を排他的論理和とするか即値とするか、入力データを圧縮データとするか生データとするかを選択的に決めることができる。これにより、ソフトウェア側で保持するデータサイズが最小になるようデータを組み替えることができる。
本実施形態によれば、パラメータDMACによるレジスタへのパラメータ設定を行う際に必要な一時記憶領域を削減することができる。
また、本実施形態によれば、あらかじめユースケースに応じたパラメータ設定を用意する。一般にあるユースケース実施後に別のユースケースを実行する際に再びパラメータ設定が必要になる。通常は、ユースケースごとのパラメータを保持し設定するのに対して、本実施形態ではユースケースとユースケースのパラメータ設定の差分を圧縮し、保存したものを設定に用いる。
ユースケース実施時にパラメータ設定を行う。この際、直前に実施したユースケースと実施するユースケースの圧縮済み差分パラメータは、パラメータDMACを用いて読み込ませる。圧縮済み差分パラメータをパラメータDMACが読み込み、DMACに内蔵された伸長器でデータを復元した上で、復元されたパラメータを基にレジスタインタフェースを経由してパラメータレジスタに書き込みを行う。
ここで、設定値がゼロの場合、パラメータ設定値に変化がないので、レジスタ書き込みを省略する。加えて、設定するパラメータ値が0以外の場合、排他的論理和による設定ができるレジスタインタフェースを経由して各レジスタに設定を行う。これにより、転送サイズの削減、転送データ量、レジスタアクセス回数の削減が実現できる。
他の効果として、一時記憶領域からパラメータDMACへの転送時間を削減する効果もある。また、ユーザがパラメータDMACへの設定を行う時間を削減する効果もある。
他の効果として、一時記憶領域からパラメータDMACへの転送時間を削減する効果もある。また、ユーザがパラメータDMACへの設定を行う時間を削減する効果もある。
なお、上述した実施の形態は、本発明の好適な実施の形態の一例を示すものであり、本発明はそれに限定されることなく、その要旨を逸脱しない範囲内において、種々変形実施が可能である。
1 メインボード
2 ASIC
3 CPU
4 HDD
5 DDR メモリα
7 CPU I/F
9 モジュール
10 パラメータDMAC
11 インターコネクト
12 DDRCα
21 レジスタコントローラ
22 パラメータリード回路
23 伸張器
24 データライト回路
25 リードバッファ
26 ライトバッファ
2 ASIC
3 CPU
4 HDD
5 DDR メモリα
7 CPU I/F
9 モジュール
10 パラメータDMAC
11 インターコネクト
12 DDRCα
21 レジスタコントローラ
22 パラメータリード回路
23 伸張器
24 データライト回路
25 リードバッファ
26 ライトバッファ
Claims (5)
- データが記憶された記憶手段と、
設定されたパラメータが入力されるパラメータ入力手段と、
現在の状態と所望の状態との設定の差分である差分パラメータを入力として前記パラメータ入力手段へのパラメータ設定の際に、前記記憶手段のデータに現在の設定値と所望の設定値との排他的論理和の設定を行うパラメータ設定手段と、
を有することを特徴とする画像処理装置。 - 前記パラメータ設定手段は、伸張機能を備えることにより、圧縮された差分パラメータが入力されることを特徴とする請求項1記載の画像処理装置。
- 前記パラメータ設定手段は、ディスクリプタとディスクリプタチェーン機能とを備えることにより、所望のパラメータ状態にするために複数の状態に遷移することを特徴とする請求項1または2記載の画像処理装置。
- 前記パラメータ設定手段は、ディスクリプタ中の記載により、パラメータ設定を排他的論理和によるか即値によるか選択できることを特徴とする請求項3記載の画像処理装置。
- 前記パラメータ設定手段は、ディスクリプタ中の記載により、入力する差分パラメータを圧縮にするか非圧縮にするか選択できることを特徴とする請求項3記載の画像処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014019821A JP2015148851A (ja) | 2014-02-04 | 2014-02-04 | 画像処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014019821A JP2015148851A (ja) | 2014-02-04 | 2014-02-04 | 画像処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015148851A true JP2015148851A (ja) | 2015-08-20 |
Family
ID=53892185
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014019821A Pending JP2015148851A (ja) | 2014-02-04 | 2014-02-04 | 画像処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015148851A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019512135A (ja) * | 2016-02-29 | 2019-05-09 | ルネサス エレクトロニクス アメリカ インコーポレイテッドRenesas Electronics America Inc. | マイクロコントローラのデータ転送をプログラミングするシステムおよび方法 |
-
2014
- 2014-02-04 JP JP2014019821A patent/JP2015148851A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019512135A (ja) * | 2016-02-29 | 2019-05-09 | ルネサス エレクトロニクス アメリカ インコーポレイテッドRenesas Electronics America Inc. | マイクロコントローラのデータ転送をプログラミングするシステムおよび方法 |
JP7122969B2 (ja) | 2016-02-29 | 2022-08-22 | ルネサス エレクトロニクス アメリカ インコーポレイテッド | マイクロコントローラのデータ転送をプログラミングするシステムおよび方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3335107B1 (en) | Data reordering using buffers and memory | |
EP3698294B1 (en) | Machine learning runtime library for neural network acceleration | |
US9172839B2 (en) | Image forming apparatus, control method and storage medium | |
KR20230142355A (ko) | 데이터베이스 스캔 가속을 위한 시스템 및 방법 | |
JP2008282314A (ja) | シミュレータ、シミュレーション方法 | |
WO2019053915A1 (ja) | 画像処理装置、画像処理方法、及び画像処理プログラム | |
US10649938B2 (en) | Information processing apparatus and method of transferring data | |
JP2015148851A (ja) | 画像処理装置 | |
US7928987B2 (en) | Method and apparatus for decoding video data | |
JP2012098884A (ja) | データ処理装置および画像処理装置 | |
TWI766891B (zh) | 半導體裝置的處理器與其操作方法 | |
JP5583563B2 (ja) | データ処理装置 | |
JP2006285724A (ja) | 情報処理装置および情報処理方法 | |
JP2007188434A (ja) | 画像処理装置 | |
JP6223637B2 (ja) | シミュレーション装置及びシミュレーション方法及びシミュレーションプログラム | |
TWI545439B (zh) | 電子裝置、多電腦切換器及其韌體更新方法 | |
JP2010086321A (ja) | メモリ制御システム | |
JP5489871B2 (ja) | 画像処理装置 | |
JP2008071054A (ja) | データ転送制御方法、データ処理装置及び画像処理装置 | |
US10140247B2 (en) | Electronic device, reconfigurable processor and controlling methods thereof | |
JP2011180653A (ja) | データ転送装置およびデータ転送方法 | |
JP2017037470A (ja) | 画像処理装置 | |
JP6278245B2 (ja) | 画像処理装置 | |
JP2005258783A (ja) | データ転送装置、データ転送方法、画像形成装置及びオプションボード | |
JP2007235851A (ja) | 画像処理装置、画像処理方法、プログラムおよび記録媒体 |