JP6757141B2 - 画像処理装置、その制御方法、及びプログラム - Google Patents
画像処理装置、その制御方法、及びプログラム Download PDFInfo
- Publication number
- JP6757141B2 JP6757141B2 JP2016007226A JP2016007226A JP6757141B2 JP 6757141 B2 JP6757141 B2 JP 6757141B2 JP 2016007226 A JP2016007226 A JP 2016007226A JP 2016007226 A JP2016007226 A JP 2016007226A JP 6757141 B2 JP6757141 B2 JP 6757141B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- value
- band
- block
- image processing
- 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.)
- Active
Links
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/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0207—Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0615—Address space extension
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Image Input (AREA)
Description
<画像処理装置の構成>
以下では、本発明の第1の実施形態について説明する。図1A及び図1Bを参照して、本実施形態に係る画像処理装置100の構成について説明する。画像処理装置100は、図1Aに示すように、コントローラユニット200と、スキャナ部101と、プリンタ部105とを備える。
次に、図2を参照して、ラスタ順序とブロック順序との相互変換について説明する。221に示すように、ラスタ順序では、ページ画像は、一水平走査につき画像の左端から右端までの画素にアクセスされる。当該水平走査は、ページ画像の上端から下端方向へと継続的に行われ、ページ画像全体の画素へとアクセスする。
次に、図3を参照して、ラスタ/ブロック変換部110及びブロック/ラスタ変換部111の内部構成について説明する。ここでは、ラスタ/ブロック変換部110及びブロック/ラスタ変換部111をまとめて変換部300と称する。変換部300は、Read/Write制御部301、アドレス生成部302、メモリ制御部306、及びラインメモリ307を備える。
次に、図4を参照して、変換部300の全体の動作について説明する。401は、Read/Write制御部301による書き込み処理と読み出し処理フロー、及び、アドレス生成部302が生成するアドレスパターンの遷移を示す。なお、401に示すように、アドレスパターンnでは、バンドnをアドレスパターンnでラインメモリ307へ画素データが書き込まれ、アドレスパターンn+1でラインメモリ307から画素データが読み出されることで、順序変換がなされる。
次に、図5を参照して、アドレス生成部302が生成したアドレスパターンによって、Read/Write制御部301がラインメモリ307へアクセスする制御について説明する。図5では、画像幅=7、ブロック幅=1、ブロック高さ=3とし、7×3サイズのラインメモリ307を用いてラスタ/ブロック変換を行う様子を示す。以下では、ブロックに含まれる複数のワード領域であって、最小領域(1画素)に対応する領域をセルと称する。
addr(t)={addr(t−1)+α}modβ
+[(addr(t−1)+α)/β]・・・(1)
ここでは、第2項の大括弧[]は床関数を表すことに注意されたい。即ち、(addr(t−1)+α)をβで除算した場合の商を示す。数式(1)により、ラインメモリ307に対するバンドnの読み出し、及びバンドn+1の書き込みを行うためのアドレス関数が得られる。なお、数式(1)はブロック幅=1に限定されていることに注意されたい。
α(n)=addrn-1(IW)・・・(2)
α(n)=addrn-1(BW×BH)・・・(3)
数式(2)はラスタ/ブロック変換を行う場合の、アドレスパターンnにおけるアドレス増加量α(n)を表す。数式(3)はブロック/ラスタ変換を行う場合の、アドレスパターンnにおけるアドレス増加量α(n)を表す。数式(1)、及び数式(2)と数式(3)を用いることで、任意の画像サイズ及びブロックサイズにおいて、ブロック順序、ラスタ順序の相互変換を行うためのアドレス値を得ることが可能となる。
次に、図7を参照して、アドレス生成部302において、数式(1)〜数式(3)に基づいたアドレス生成処理の処理手順について説明する。なお、以下で説明する処理は、アドレス生成部302によってなされる。また、以下で説明する処理は、CPU201がROM203やHDD204に格納された制御プログラムをRAM202に読み出して実行することにより実現されてもよい。
本発明は上記構成に限らず様々な変形が可能である。例えば、ここでは、CPU201が制御プログラムを実行することにより、アドレス生成部302の処理を実現する構成について説明したが、アドレス生成部302をハードウェアで実装してもよい。
以下では、本発明の第2の実施形態について説明する。上記第1の実施形態では、アドレス生成部302を1つのみ使用し、ラインメモリ307に対する書き込み及び読み出しを、常に同時に行う構成について述べた。本実施形態ではハードウェア実装としてのアドレス生成部302を書き込み用、読み出し用の2つを個別に設けることで、画像処理装置100の全体のスループットを向上することが可能な構成について述べる。なお、本実施形態では上記第1の実施形態との差分について主に説明し、共通点については説明を省略する。
次に、図10を参照して、変換部300の動作について説明する。図10の1001はWrite制御部901、Read制御部911の動作フローを示す。上記第1の実施形態との違いは、ラインメモリ307に対する読み出し、書き込みの制御が常に同時ではなく、Write制御部901、Read制御部911各々のタイミングによってなされている点である。本実施形態では、Read制御部911による読み出しを常に先行させることにより、read_wait信号910がアサートされても、変換部300全体の動作を止めなくてよい。
以下では、本発明の第3の実施形態について説明する。上記第1の実施形態では、ブロック幅を1に限定した場合のブロック/ラスタ変換について説明した。上記第1の実施形態では、ブロック幅を1以外とした場合は、ラインメモリ307の分割や、シリアル―パラレル変換が必要となる。本実施形態では、ラインメモリ307の分割や、追加のシリアル―パラレル変換等を不要とし、直接アドレスを生成する方法について説明する。
図11を参照して、本実施形態におけるアドレス生成部1400が生成したアドレスパターンによって、Read/Write制御部301がラインメモリ307へアクセスする制御について説明する。なお、図11では、画像幅=6、ブロック幅=2、ブロック高さ=2とし、6×2サイズのラインメモリ307を用いてラスタ/ブロック処理を行う様子を示す。図11の1110〜1140に示すように、ブロック幅×1=2×1の画素は常にペアとしてアクセスされる。本実施形態では、アドレス増加量を、上記ブロック幅個数分のペア単位で定義する。即ち、1110では、0番目、1番目の画素ペアをアクセスしたのち、2番目、3番目の画素ペアへアクセスするための、増加量2をアドレス増加量として定義する。同様に、1120、1130、1140ではアドレス増加量はそれぞれ6、8、4となる。
base_addr(t)={base_addr(t’-1)+α}modβ
+BW[(base_addr(t’-1)+α)/β]・・・(4)
t’=[t/BW]・・・(5)
addr(t)=tmodBW+base_addr(t)・・・(6)
また、図12に示すように、ブロック幅BWが1以外の場合であっても、アドレス増加量の算出は、画像幅番目、ブロックサイズ番目のアドレス値を取得することによって求まる。よって、任意のアドレスパターンnにおけるアドレス増加量α(n)の算出は、数式(2)、(3)をそのまま用いることが可能である。
次に、図13を参照して、アドレス生成部1400において、数式(2)、数式(3)、及び、数式(4)、数式(5)、数式(6)に基づいた、ブロック幅が任意の場合におけるアドレス生成処理の処理手順について説明する。なお、以下で説明する処理は、アドレス生成部302によってなされる。また、以下で説明する処理は、CPU201がROM203やHDD204に格納された制御プログラムをRAM202に読み出して実行することにより実現されてもよい。
<変形例>
本発明は上記構成に限らず様々な変形が可能である。例えば、ここでは、CPU201が制御プログラムを実行することにより、アドレス生成部302の処理を実現する構成について説明したが、アドレス生成部1400をハードウェアで実装してもよい。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
Claims (12)
- 画像データをラスタ順序からブロック順序へ変換する第1モードと、画像データをブロック順序からラスタ順序へ変換する第2モードとを動作モードとして有する画像処理装置であって、
ラインメモリと、
次に書き込む又は読み出す前記ラインメモリのアドレスを、バンド単位で切り替わる加算値を現在処理対象のアドレスのアドレス値に加算することにより算出する算出手段と、
前記算出手段によって算出されたアドレスに従って、前記ラインメモリへアクセスして、画像データの書き込み又は読み出しを実行するアクセス手段と、
前記アクセス手段により前記ラインメモリにアクセスするごとにカウントするカウント手段と、
複数のバンドのうち現在処理中のバンドにおける前記第1モード又は前記第2モードに応じた所定値が前記カウント手段によってカウントされると、現在処理対象のアドレスのアドレス値を次のバンドを処理する際の加算値として取得する取得手段と
を備えることを特徴とする画像処理装置。 - 前記取得手段は、
前記第1モードの場合、複数のバンドのうち、現在処理しているバンドの最初のアドレスから、該バンドの画像幅番目のアドレスまでのアクセスが前記カウント手段によってカウントされると、前記所定値がカウントされたと判断することを特徴とする請求項1に記載の画像処理装置。 - 前記取得手段は、
前記第2モードの場合、複数のバンドのうち、現在処理しているバンドの最初のアドレスから、該バンドに含まれるブロックのブロックサイズ番目のアドレスまでのアクセスが前記カウント手段によってカウントされると、前記所定値がカウントされたと判断することを特徴とする請求項1に記載の画像処理装置。 - 前記算出手段は、
前記取得手段によって取得された加算値を、現在処理対象のアドレスのアドレス値へ加算した結果、加算後のアドレス値が前記ラインメモリのアドレス深度を超える場合は、前記アドレス深度から前記バンドに含まれるブロックの幅を減算した値を、前記加算後のアドレス値から減算することを特徴とする請求項1乃至3の何れか1項に記載の画像処理装置。 - 前記算出手段は、初期値として、前記バンドに含まれるブロックの幅を前記加算値の初期値として算出することを特徴とする請求項1乃至4の何れか1項に記載の画像処理装置。
- 前記算出手段は、前記アクセス手段からアドレス要求を受けるとアドレスを算出することを特徴とする請求項1乃至5の何れか1項に記載の画像処理装置。
- 前記算出手段は、さらに
前記算出したアドレスに、前記アクセス手段からアドレス要求を受けた数を、前記バンドに含まれるブロックのブロック幅で除した剰余数を加算することを特徴とする請求項6に記載の画像処理装置。 - 前記算出手段は、
現在処理対象のアドレスのアドレス値を保持するアドレス保持部と、
前記ラインメモリのアドレス深度を保持するレジスタと、
前記アドレス保持部で保持されているアドレス値と、前記取得手段によって取得された前記加算値を加算する加算器と、
前記加算器による加算結果から前記レジスタに保持されている前記アドレス深度を減算する減算器と、
前記レジスタに保持されているアドレス深度と、前記加算器による加算結果とを比較する比較器と、
前記比較器の比較結果に基づき、前記加算器による加算結果と、前記減算器による減算結果との何れかを選択して前記アドレス保持部に出力するセレクタと
を備えることを特徴とする請求項1乃至7の何れか1項に記載の画像処理装置。 - 前記書き込み先のアドレスを算出する前記算出手段と、前記読み出し先のアドレスを算出する前記算出手段とが個別に設けられることを特徴とする請求項8に記載の画像処理装置。
- 前記取得手段は、
前記第1モード、又は前記第2モードの動作モードを保持するレジスタと、
前記バンドに含まれるブロックのブロックサイズを保持するレジスタと、
前記バンドの画像幅を保持するレジスタと、
現在の加算値を保持する第1の加算値保持部と、
次の加算値を保持する第2の加算値保持部と、
を備え、
前記第1の加算値保持部は、前記カウント手段によって所定値がカウントされると、前記第2の加算値保持部に保持されている前記次の加算値をロードし、
前記第2の加算値保持部は、前記動作モード、前記ブロックサイズ、及び前記バンドの画像幅を用いて、前記第1モードの場合には、前記バンド単位で分割された複数のバンドのうち、現在処理しているバンドの最初のアドレスから、該バンドの画像幅番目のアドレス値を次の加算値として前記アドレス保持部からロードし、前記第2モードの場合には、複数のバンドのうち、現在処理しているバンドの最初のアドレスから、該バンドに含まれるブロックのブロックサイズ番目のアドレス値を次の加算値として前記アドレス保持部からロードすることを特徴とする請求項8又は9に記載の画像処理装置。 - ラインメモリを備え、画像データをラスタ順序からブロック順序へ変換する第1モードと、画像データをブロック順序からラスタ順序へ変換する第2モードとを動作モードとして有する画像処理装置の制御方法であって、
算出手段が、次に書き込む又は読み出す前記ラインメモリのアドレスを、バンド単位で切り替わる加算値を現在処理対象のアドレスのアドレス値に加算することにより算出する算出工程と、
アクセス手段が、前記算出工程で算出されたアドレスに従って、前記ラインメモリへアクセスして、画像データの書き込み又は読み出しを実行するアクセス工程と、
カウント手段が、前記アクセス手段により前記ラインメモリにアクセスするごとにカウントするカウント工程と、
取得手段が、複数のバンドのうち現在処理中のバンドにおける前記第1モード又は前記第2モードに応じた所定値が前記カウント工程でカウントされると、現在処理対象のアドレスのアドレス値を次のバンドを処理する際の加算値として取得する取得工程と
を含むことを特徴とする画像処理装置の制御方法。 - 請求項11に記載の画像処理装置の制御方法の各工程をコンピュータが実行するためのプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016007226A JP6757141B2 (ja) | 2016-01-18 | 2016-01-18 | 画像処理装置、その制御方法、及びプログラム |
US15/403,488 US10510135B2 (en) | 2016-01-18 | 2017-01-11 | Image processing apparatus, method of controlling the same, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016007226A JP6757141B2 (ja) | 2016-01-18 | 2016-01-18 | 画像処理装置、その制御方法、及びプログラム |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2017129918A JP2017129918A (ja) | 2017-07-27 |
JP2017129918A5 JP2017129918A5 (ja) | 2019-02-28 |
JP6757141B2 true JP6757141B2 (ja) | 2020-09-16 |
Family
ID=59313889
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016007226A Active JP6757141B2 (ja) | 2016-01-18 | 2016-01-18 | 画像処理装置、その制御方法、及びプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US10510135B2 (ja) |
JP (1) | JP6757141B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210034726A (ko) * | 2019-09-20 | 2021-03-31 | 삼성전자주식회사 | 메모리 모듈, 그것을 제어하는 메모리 제어기의 에러 정정 방법, 및 그것을포함하는 컴퓨팅 시스템 |
GB2628449A (en) * | 2023-09-05 | 2024-09-25 | V Nova Int Ltd | Buffer utilisation |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5359694A (en) * | 1992-07-27 | 1994-10-25 | Teknekron Communications Systems, Inc. | Method and apparatus for converting image data |
JPH08171384A (ja) * | 1994-12-16 | 1996-07-02 | Canon Inc | 走査変換方法及びその装置 |
US7379609B2 (en) * | 2002-07-19 | 2008-05-27 | Samsung Electronics Co., Ltd. | Image processing apparatus and method for conversion between raster and block formats |
KR100614652B1 (ko) * | 2004-11-10 | 2006-08-22 | 삼성전자주식회사 | 전력 소모가 감소된 화상 처리 장치 및 방법 |
US8466928B2 (en) * | 2006-10-06 | 2013-06-18 | Canon Kabushiki Kaisha | Image processing apparatus and method |
JP5094274B2 (ja) | 2006-10-06 | 2012-12-12 | キヤノン株式会社 | 画像処理装置及びその方法 |
-
2016
- 2016-01-18 JP JP2016007226A patent/JP6757141B2/ja active Active
-
2017
- 2017-01-11 US US15/403,488 patent/US10510135B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US10510135B2 (en) | 2019-12-17 |
US20170206629A1 (en) | 2017-07-20 |
JP2017129918A (ja) | 2017-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4789753B2 (ja) | 画像データバッファ装置、画像転送処理システム、及び画像データバッファ方法 | |
JP4416694B2 (ja) | データ転送調停装置およびデータ転送調停方法 | |
JP5411530B2 (ja) | 並列処理プロセッサシステム | |
JP6757141B2 (ja) | 画像処理装置、その制御方法、及びプログラム | |
JP3564395B2 (ja) | アドレス生成装置および動きベクトル検出装置 | |
JP2012234425A (ja) | 画像処理装置及び画像処理方法 | |
US8908964B2 (en) | Color correction for digital images | |
JP6442867B2 (ja) | 画像処理装置、撮像装置、及び画像処理方法 | |
US8650347B2 (en) | Arbitration device, arbitration method, and electronic apparatus | |
US8850118B2 (en) | Circuit and method for dynamically changing reference value for address counter based on cache determination | |
JP2009054001A (ja) | 画像処理装置及びプログラム | |
JP2009071569A (ja) | 動画像符号化における動き探索装置 | |
JP2006287583A (ja) | 画像データ領域取得補間回路 | |
KR101688435B1 (ko) | 블록 구조를 이용한 적분 영상 생성 장치 및 그 방법 | |
JP3519205B2 (ja) | Dmaコントローラ | |
JP2007006194A (ja) | 画像復号再生装置 | |
JP7081477B2 (ja) | 画像処理装置、画像処理装置の制御方法、およびプログラム | |
JP5935573B2 (ja) | 画像処理装置、画像処理プログラム及び画像処理方法 | |
JP5612965B2 (ja) | 画像処理装置及び画像処理方法 | |
US8209502B2 (en) | Semiconductor integrated circuit and access controlling method of semiconductor memory | |
JPH0652304A (ja) | 画像処理装置及びその方法 | |
US8643896B2 (en) | Image processing apparatus for outputting raster image using a plurality of processors | |
JP2007306445A (ja) | 画像データ変換装置 | |
JPH11168610A (ja) | 画像処理装置 | |
JP2018078465A (ja) | 情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190117 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190117 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20191114 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20191220 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200213 |
|
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: 20200731 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200828 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6757141 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |