JP5149567B2 - 画像処理装置及び方法 - Google Patents

画像処理装置及び方法 Download PDF

Info

Publication number
JP5149567B2
JP5149567B2 JP2007223091A JP2007223091A JP5149567B2 JP 5149567 B2 JP5149567 B2 JP 5149567B2 JP 2007223091 A JP2007223091 A JP 2007223091A JP 2007223091 A JP2007223091 A JP 2007223091A JP 5149567 B2 JP5149567 B2 JP 5149567B2
Authority
JP
Japan
Prior art keywords
image processing
data
command
transmission
multiplexed
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
Application number
JP2007223091A
Other languages
English (en)
Other versions
JP2009058995A5 (ja
JP2009058995A (ja
Inventor
裕司 原
尚 石川
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2007223091A priority Critical patent/JP5149567B2/ja
Priority to US12/189,862 priority patent/US8208763B2/en
Publication of JP2009058995A publication Critical patent/JP2009058995A/ja
Publication of JP2009058995A5 publication Critical patent/JP2009058995A5/ja
Application granted granted Critical
Publication of JP5149567B2 publication Critical patent/JP5149567B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor 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)
  • Advance Control (AREA)
  • Image Input (AREA)

Description

本発明は、コマンド及びデータを多重化して、直列に接続された複数の処理ブロックに供給することにより、データを処理する画像処理装置及び方法に関する。
特許文献1には、映像データの各フレームのスキャンライン先頭に制御コマンドを付加して、映像データに制御コマンドを多重化して伝送を行なうことにより、各フレームに同期した制御を行う構成が記載されている。
一方、図7に示すようにコマンド及びデータの送信部700と受信部704の間に複数の画像処理ブロックを従属に(直列に)接続して画像処理を行なう画像処理装置が提案されている。
図7において、700はコマンド及びデータを多重化して送信する送信部である。701〜703は画像処理を行なう画像処理ブロックである。704は、最終段の画像処理ブロック703から多重化されたコマンド及び処理結果データを受信する受信部である。受信部704は、所定のデータ量に対応したデータ群に対する処理の完了を検出すると、終了信号705を送信部700へ通知する。
ここで図8のタイミング図を用いて、図7の画像処理装置の動作を説明する。800は送信部700の出力を、801〜803は画像処理ブロック701〜703のそれぞれの出力タイミングを示す。まず804に示すように送信部700より画像処理ブロック701〜703に対して画像処理パラメータを設定する為のコマンドが送信される。送信されたコマンドは、805〜807に示すように順次に各画像処理ブロックに伝播される。これにより各画像処理ブロックにおける画像処理パラメータの設定が行なわれる。また、808に示すように送信部700より画像処理対象のデータが送信されると、809〜811に示すように、画像処理ブロック701〜703によって順次に画像処理が施された後、受信部704で受信される。ここで、送信部700より送信されるデータ808はあるデータ単位(ページ、ブロック、バンド等)で送信が行なわれるが、データ単位の最初のデータにはStartフラグが、また最後のデータにはEndフラグが付加されている。受信部704はこれらStartフラグとEndフラグによりデータの開始位置と終了位置を検知することが可能となる。そして、受信部704は、Endフラグを検知した後、送信部700に対して、終了信号705を送信する。その後、送信部700は、画像処理ブロック701〜703に対して、次のデータ単位に対する画像処理パラメータの設定を開始し(812〜815)、816〜819に示すように、画像処理動作が繰り返し実行される。
特開平8−214267号公報
しかしながら、複数の画像処理ブロックのうち、ある画像ブロックでトリミング処理等、入力されたデータ量に対して出力されるデータ量が減少する処理が行なわれた場合には、以下に説明するような課題が生じる。図7において、最終段の画像処理ブロック703は、入力されたデータ量に対して出力されるデータ量が減少する処理(例えば、トリミング処理)を実行するものとする。この場合、画像処理ブロック703による画像処理が画像処理ブロック701,702よりも早く完了してしまい、画像処理ブロック701,702の処理が終了する前に終了信号705が送信部700に送られる可能性がある。この場合、全ての画像処理ブロックの画像処理動作が終了しないうちに、送信部700から次のデータ単位に対する画像処理パラメータの設定が始まってしまうことになる。このような事態が発生すると、画像処理ブロックの内部シーケンサが正常に動作できなくなり、正常な画像処理動作が行なわれなくなるという課題があった。
ここで図9を用いて上記課題について更に説明する。図8と同様に900は送信部700の出力タイミングを、901〜903は画像処理ブロック701〜703の出力タイミングをそれぞれ示す。
まず904に示すように送信部700より画像処理ブロック701〜703に対して画像処理パラメータを設定する為のコマンドが送信される。送信部700より送信されたコマンドは、905〜907に示すように各処理ブロックに伝播されて、各画像処理ブロックへの画像処理パラメータの設定が行なわれる。また、908に示すように送信部700より画像処理対象のデータが送信されると、909〜911に示すように、各画像処理ブロックにて画像処理が行なわれた後、処理結果が受信部704で受信される。
ここで、図8での説明と同様に、送信部700より送信されるデータ808には、送信の最初のデータにStartフラグが、また最後のデータにはEndフラグが付加されている。これにより、受信部704はデータの開始位置と終了位置を検知することが可能となる。受信部704は、Endフラグを検知した後、送信部700に対して、終了信号705を送信する。このとき、画像処理ブロック703における画像処理は、911に示すようにデータ単位に含まれるデータ量に対して出力されるデータ量が少ない。従って、画像処理ブロック703が自身の処理を終えた時点でEndフラグを付加したデータを出力すると、受信部704は、他の画像処理ブロックの画像処理動作中に終了を検出することになる。このため、912に示すように次のデータ単位のための画像処理パラメータの設定が、画像処理ブロック701及び画像処理ブロック702の現在のデータ単位に対する画像処理動作中に行なわれてしまうことになる。その結果、画像処理ブロックのシーケンサが正常に動作できなくなり、正常な画像処理が行なわれなくなる。
より具体的には、画像処理ブロック701の出力913の部分にて、処理中に画像処理パラメータが書き換わることにより、正常な出力結果が得られなくなる。また、914の部分においては、画像処理ブロック701がデータ出力よりコマンド出力を優先する場合、次のデータ単位に対する画像処理パラメータが出力されてしまう。さらに、画像処理ブロック702の出力915の部分においても、出力913の部分と同様な問題が起きる。これらの不具合により、画像処理ブロックのシーケンサが異常状態で現データ単位の画像処理が終了した場合、次のデータ単位のデータ916に対する画像処理結果(918〜919)に影響する場合があり、画像処理装置の信頼性を損なう可能性がある。
本発明は、上記の課題に鑑みてなされたものであり、シーケンスの処理中に、次のシーケンスのコマンド受け付けることによる画像処理の誤動作を防止することを目的とする。
上記の目的を達成するための本発明の一態様による画像処理装置は、以下の構成を備える。すなわち、
特定のデータ量のデータ群を単位として画像処理を行う画像処理装置であって、
コマンドと処理対象のデータとを多重化して、多重化されたコマンド及びデータを送信する送信手段と、
多重化されたコマンド及びデータを用いて画像処理を行ない、コマンド及び処理結果のデータを多重化して出力する際に、上流から入力されるデータの後に入力される同期コマンドを検出してから下流に同期コマンドを出力する画像処理ブロックが複数個直列に接続された画像処理手段と、
前記画像処理手段の最終段の画像処理ブロックから出力された多重化されたコマンド及び処理結果データを受信する受信手段とを備え、
前記送信手段は前記データ群の最終データの送信後であって、次のデータ群に関するコマンド及びデータの送信前に同期コマンドを送信し、
前記受信手段は前記最終段の画像処理ブロックから前記同期コマンドを受信した場合に前記送信手段へ当該データ群の処理の終了を通知する。
また、上記の目的を達成するための本発明の他の態様による画像処理装置の制御方法は、以下の構成を備える。すなわち、
直列に接続された複数の画像処理ブロックを有し、特定のデータ量のデータ群を単位として画像処理を行う画像処理装置の制御方法であって、
送信手段が、コマンドと処理対象のデータとを多重化して、多重化されたコマンド及びデータを送信する送信工程と、
記複数の画像処理ブロックの各々、多重化されたコマンド及びデータを用いて画像処理を行な処理工程と、
前記複数の画像処理ブロックの各々が、コマンド及び処理結果のデータを多重化して出力する際に、上流から入力されるデータの後に入力される同期コマンドを検出してから下流に同期コマンドを出力する転送工程と、
受信手段が、前記複数の画像処理ブロックのうちの最終段の画像処理ブロックから出力された多重化されたコマンド及び処理結果データを受信する受信工程とを備え、
前記送信工程では、前記データ群の最終データの送信後であって、次のデータ群に関するコマンド及びデータの送信前に同期コマンドを送信し、
前記受信工程では、前記最終段の画像処理ブロックから前記同期コマンドを受信した場合に、当該データ群の処理が終了したと判断する。
本発明によれば、多重化されたデータ及びコマンドに挿入された同期コマンドを用いて次のシーケンスの処理を開始するようにしたので、シーケンスの処理中に次のシーケンスのコマンド受け付けることが防止され、画像処理の誤動作が防止される。
(第1実施形態)
第1実施形態の画像処理装置の構成を図7に示す。図7に示されるように、本実施形態の画像処理装置は、特定のデータ量(ページ、ブロック、バンド等)のデータ群を単位として画像処理を行う画像処理装置であり、送信部700、画像処理ブロック701〜703、受信部704を有する。送信部700は、コマンドと処理対象のデータとを多重化して、多重化されたコマンド及びデータを送信する画像処理ブロックへ送信する。画像処理ブロック701〜703は直列に接続され、各画像処理ブロックは多重化されたコマンド及びデータを用いて画像処理を行なう。そして、各画像処理ブロックは、該多重化されたコマンド及びデータにおける並びの前後関係を保ちながら、コマンド及び処理結果のデータを多重化して出力する。この処理については、図5及び図6により後に詳述する。受信部704は、複数個直列に接続された画像処理ブロックの最終段の画像処理ブロック703から出力された多重化されたコマンド及び処理結果データを受信する。
次に図1〜2を用いて、第1実施形態の画像処理装置が用いるコマンド及びデータのフォーマットを説明する。なお、本実施形態では、コマンド及びデータは64ビットで構成されているものとする。
図1はコマンドのフォーマットを示し、MSBを63ビット目、LSBを0ビット目とする。63ビット目はコマンド及びデータを識別する為のmodeフラグ101であり、これが‘0’の時はデータを、‘1’の時はコマンドを示す。56〜60ビット目は、コマンドが適用される処理ブロック番号を示すID102である。すなわち、ID102は、画像処理ブロックの一つを特定するための識別情報である。55ビット目はレジスタのリードライトを指定するためのRWフラグ103(切り替え属性)であり、これが‘0’のときはリードコマンドを、‘1’のときはライトコマンドを示す。32〜47ビット目は、レジスタアドレス104であり、0〜31ビット目は、レジスタデータ105である。レジスタアドレス104は、リード時はレジスタからのデータの読み出し箇所、ライト時はレジスタへのデータの格納箇所を示すアドレス値を格納するためのアドレス領域である。また、レジスタデータ105は、レジスタからリードしたデータまたはレジスタへライトするデータを格納するデータ領域である。レジスタデータ105の値は、リードコマンド時(RWフラグ103=‘0’の時)はリードされたレジスタ値であり、ライトコマンド時(RWフラグ103=‘1’の時)はライトされるレジスタ値である。48〜54ビット目及び61、62ビット目は使用不可のリザーブド領域106である。
また、図2はデータのフォーマットを示し、MSBを63ビット目、LSBを0ビット目とする。63ビット目は、modeフラグ201であり、上記modeフラグ101と同様のフラグである。56ビット目は、あるデータ単位(ページ、ブロック、バンド等)の最初のデータを示すStartフラグ202であり、55ビット目は、当該データ単位の最後のデータを示すEndフラグ203である。Startフラグ、Endフラグはそれぞれ、データに開始属性及び終了属性を与える。0〜47ビット目は、画像処理の対象となるデータ204であり、48〜54ビット目及び57〜62ビット目は、それぞれリザーブド領域205であり、上記リザーブド領域106と同様の領域である。なお、図1、図2に示されるコマンド、データをそれぞれコマンドワード、データワードという場合もある。本実施形態ではコマンドワード及びデータワードのサイズは64ビットであるが、サイズはこれに限られるものではない。
次に、図3のタイミング図を用いて本実施形態の画像処理装置の動作を説明する。300は送信部700の出力を、301〜303は画像処理ブロック701〜703の出力タイミング図をそれぞれ示す。
まず、不図示のCPUから送信部700に対してレジスタアドレス、ライトデータ、画像処理ブロックの識別番号(ID)が設定される。送信部700は、画像処理ブロック701〜703に対して画像処理パラメータを設定する為のコマンド304を、図1で示したフォーマットで送信する。送信されたコマンド304は、305〜307に示すように各画像処理ブロックに順次に伝播されて、各画像処理ブロックにおいて画像処理パラメータの設定が行なわれる。なお、コマンド304〜307は1つまたは複数のコマンドワードからなる。また、図3において、コマンドCとデータDの先頭(Start)の間隔が次第に広がっているのは、コマンドとデータに対するレイテンシが異なっている為である。図3では、各画像処理ブロックのコマンド、データの遅延は一定であるが、データの遅延はコマンドの約2倍を想定して示している。その後、不図示のDRAM等の記憶ユニットから、不図示のDMACを介してデータ単位分の画像データが送信部700に対して転送されると、送信部700は、画像処理対象のデータ308を画像処理ブロック701に送信する。送信されたデータ308は、309〜311に示すように、各画像処理ブロックに転送されて画像処理が行なわれ、最終段の画像処理ブロック703から出力されたデータ311が受信部704で受信される。なお、データ308〜311は、1つまたは複数のデータワードからなる。
ここで、送信部700より送信されるデータ308はあるデータ単位(ページ、ブロック、バンド等)で図2のフォーマットで送信される。また、画像処理ブロック703では前述のようにトリミング処理等入力されたデータ量に対して出力されるデータ量(データワードの数)が少ない処理が行なわれる。データ単位のデータ308の送信を終えた後、送信部700より同期コマンド312が送信される。すなわち、送信部700は、データ単位のデータ群の最終データ(データワード)の送信後であって、次のデータ群に関するコマンド及びデータの送信前に同期コマンド312を送信する。この同期コマンド312は、313〜315に示すように、各処理ブロックを伝播し、同期コマンド315は受信部704で受信される。受信部704は、同期コマンド315を検知した後、送信部700に対して、終了信号705を送信する。送信部700は、この同期コマンドを受信した後、次のデータ単位に対する画像処理パラメータの設定を開始するべくコマンド316を送信する。以降、317〜327に示すように、上述した処理を繰り返し、画像処理動作を行なう。
以上のように、本実施形態では、最終段の画像処理ブロックから同期コマンドを受信した場合に送信部700へ当該データ群の処理の終了を通知する。送信部700は、受信部704から処理の終了の通知を受けた後、次のデータ群の処理のための多重化されたコマンド及びデータの送信を開始する。尚、本実施形態では、同期コマンドとして、各処理ブロックに対してレジスタライト動作やリード動作を行なわないコマンドが用いられる。より具体的には、例えば、modeフラグ101が‘1’に、ID102が各画像処理ブロックと重ならない識別番号にセットされたコマンドが用いられる。
次に、図4に本実施形態の画像処理ブロック701〜703の内部構成を示す。コマンド/データ入力端子400からは多重化されたコマンド及びデータが入力される。401はコマンド及びデータをデコードするためのデコーダである。402はレジスタデータの格納と読み出し、書き込みを制御する為のレジスタである。403は画像処理部であり、404はコマンドとデータの前後関係を保証する為のバッファであり、405はデコーダ401からバッファ404へ出力されるコマンド保持信号である。406は入力コマンドが上述の同期コマンドを示すIDでなく、かつ、自分のIDと一致しなかった場合に、コマンドをそのまま出力する系に挿入される遅延調整用のフリップフロップ(以下、FF406)である。また、407はデコーダ401でデコードされた、modeフラグ101、201及びID102、202の遅延調整用のフリップフロップ(以下、FF407)である。408は出力コマンド及びデータを生成する為のエンコーダであり、409はエンコーダ408が出力を選択する為のセレクト信号であり、410はコマンド及びデータを出力する為のコマンド/データ出力端子である。また、411は画像処理部内のシーケンサ及びバッファをクリアする為のクリア信号である。
次に図5を用いて、図4に示した画像処理ブロックのレジスタリード及びライト動作を説明する。尚、図5の各サイクルで入力されるコマンド及びデータはコマンドワード(図1)、データワード(図2)である。ここで、図4の画像処理ブロックのIDには‘2’が設定されており、画像処理中でない場合の動作を説明する。ここで画像処理中とは、Startフラグ202がONのデータワードを送信してから、Endフラグ203がONのデータワードを送信するまでの間である。500はクロック、501はコマンド/データ入力端子400におけるコマンド及びデータの入力、502は画像処理部403の入力、503は画像処理部403の出力の各タイミングを示す。また、504はレジスタ402の入力、505はレジスタ402の出力の各タイミングを示し、506はコマンド保持信号405の状態を示す。更に、507はバッファ404の出力、508はFF406の出力、509はセレクト信号409の状態、510はデータ出力端子410における多重化されたコマンド及びデータの出力の各タイミングを示す。
まず501に示すように、
・サイクルC0にてID102=2、アドレス104=0のライトコマンドが、
・サイクルC1にてID102=2、アドレス104=1のライトコマンドが、
・サイクルC2にてID102=2、アドレス104=0のリードコマンドが、
・サイクルC3にてID102=2、アドレス104=1のリードコマンドが、
・サイクルC4にてID102=0のライトコマンドが、
・サイクルC5にてID102=1のリードコマンドが画像処理ブロックに入力される。
これら入力されたコマンドは、デコーダ401にてデコードされ、ID102が‘2’であるコマンドに関しては、RWフラグ103、アドレス104、レジスタデータ105の内容がレジスタ402へ出力される。また、画像処理中でない場合に受信したIDが‘2’以外のコマンドは、そのままFF406へ出力され、FF406にて1クロック分遅延させられ、エンコーダ408へ出力される。さらに、modeフラグ101及びID102はFF407へ出力され、FF407にて1クロック分遅延させられ、バッファ404へ出力される。またデコーダ401は、サイクルC0〜C5にはコマンドのみが入力されているので、509に示すように、画像処理ブロックのコマンドに対するレイテンシ2クロックサイクル分にあわせて、セレクト信号409を出力する。
つまり504に示すように、
・サイクルC0にてRWフラグ103=1、アドレス104=0及びレジスタデータ105がレジスタ402へ入力され、
・サイクルC1にてRWフラグ103=1、アドレス104=1及びレジスタデータ105がレジスタ402へ入力され、
・サイクルC2にてRWフラグ103=0、アドレス104=0及びレジスタデータ105がレジスタ402へ入力され、
・サイクルC3にてRWフラグ103=0、アドレス104=1及びレジスタデータ105がレジスタ402へ入力される。
また、508に示すように、
・サイクルC4で入力されたID102=0のライトコマンド(WC_ID0)は、サイクルC5にてFF406からエンコーダ408へ出力され、
・サイクルC5で入力されたID102=1のリードコマンド(RC_ID1)は、サイクルC6にてFF406からエンコーダ408へ出力される。
また、エンコーダ408は、セレクト信号409が‘0’の時はバッファ404の出力を選択し、セレクト信号409が‘1’の時は画像処理部403の出力を選択し、セレクト信号409が‘2’の時はFF406の出力を選択する。従って、セレクト信号409は、509に示すように、サイクルC1〜C4の期間は‘0’となり、サイクルC5〜C6の期間は‘2’となる。
レジスタ402においては、RWフラグ103の値が‘0’の時はアドレス104で指定されるアドレスのレジスタリード動作を行ない、読み出したデータをレジスタデータ105とする。そして、そのときのRWフラグ103=0、アドレス104及びレジスタデータ105をバッファ404へ出力する。このとき、レジスタリード動作は、レジスタコマンドの直前に入力されたデータの処理が終了してから行なわれる。またRWフラグ103の値が‘1’の時は、アドレス104で指定されるアドレスへレジスタデータ105の内容を書き込むレジスタライト動作を行なう。そして、そのときのRWフラグ103、アドレス104とレジスタデータ105をバッファ404へ出力する。
この時、ライトされたレジスタデータは画像処理パラメータとして画像処理部403へ出力される。また、レジスタリードデータの例としては、画像処理部403から入力された、内部状態等を反映させたデータが挙げられる。
つまり、図5の505に示すように、レジスタ402は、
・サイクルC1にてアドレス104=0へのライト動作を行なうと同時にRWフラグ103=1、アドレス104=0及びレジスタデータ105をバッファ404へ出力し、
・サイクルC2にてアドレス104=1へのライト動作を行なうと同時にRWフラグ103=1、アドレス104=1及びレジスタデータ105をバッファ404へ出力し、
・サイクルC3にてアドレス104=0へのリード動作を行なうと同時にRWフラグ103=0、アドレス104=0及びレジスタデータ105をバッファ404へ出力し、
・サイクルC4にてアドレス104=1へのリード動作を行なうと同時にRWフラグ103=0、アドレス104=1及びレジスタデータ105をバッファ404へ出力する。
バッファ404においては、コマンド保持信号405が‘1’の時、入力されたデータを保持する。コマンド保持信号405が‘1’の値になるのは、デコーダ401にてあるデータ単位(ページ、ブロック、バンド等)の画像処理中に、即ちデータ転送中に、レジスタリード動作などのコマンドの転送が行なわれた場合である。図5の例では、画像処理中におけるコマンドの転送ではない為、コマンド保持信号405の状態として‘0’値が示されている。その結果、入力されたmodeフラグ101、ID102、RWフラグ103、アドレス104及びレジスタデータ105は、そのままエンコーダ408へ出力されている。
エンコーダ408は、セレクト信号409に従って、図1に示したコマンドのフォーマットに従った出力コマンドを生成し、1クロックサイクル後にコマンド/データ出力端子410より出力する。つまり、図5の509,510に示すように、サイクルC1〜C4の期間は値がセレクト信号409が‘0’なので、エンコーダ408は、バッファ404の出力を選択し、
・1クロックサイクル後のサイクルC2にてID102=2、アドレス104=0のライトコマンドを、
・サイクルC3にてID102=2、アドレス104=1のライトコマンドを、
・サイクルC4にてID102=2、アドレス104=0のリードコマンドを、
・サイクルC5にてID102=2、アドレス104=1のリードコマンドを、
コマンド/データ出力端子410へ出力する。
また、セレクト信号409はサイクルC5〜C6の期間は値が‘2’なので、エンコーダ408は、FF406の出力を選択し、
・1クロックサイクル後のサイクルC6にてID102=0のライトコマンド(WC_ID0)を、
・サイクルC7にてID102=1のリードコマンド(RC_ID1)を、
コマンド/データ出力端子410へ出力する。
次に、図6を用いて、図4に示した画像処理ブロックがあるデータ単位(ページ、ブロック、バンド等)の画像処理中にレジスタのリードを行なう場合の動作を説明する。ここで画像処理中とは、上述したように、Startフラグ202がONのデータワードを送信してから、Endフラグ203がONのデータワードを送信するまでの間である。また、ここで、画像処理ブロックのIDには図5と同様に‘2’が設定されており、処理ブロックのデータに対するレイテンシは4クロックサイクルとする。また、各処理ブロックのコマンドに対するレイテンシは、画像処理中に送信される場合、データと同様に4クロックサイクルとする。尚、図6の各サイクルで入力されるコマンド及びデータはコマンドワード(図1)、データワード(図2)である。
図6において、600はクロック、601はコマンド/データ入力端子400におけるコマンド及びデータの入力状態、602は画像処理部403の入力、603は画像処理部403の出力のタイミングを示す。また、604はレジスタ402の入力、605はレジスタ402の出力、606はコマンド保持信号405の状態、607はバッファ404の出力のタイミングを示す。また、608はFF406の出力、609はセレクト信号409の状態、610はコマンド/データ出力端子410におけるコマンド及びデータのタイミングを示す。
601に示すように、コマンド/データ入力端子400には、
・サイクルC0にてデータDn-1が、
・サイクルC1にてデータDnが、
・サイクルC2にてID102=2のリードコマンド(RC_ID2)が、
・サイクルC3にてデータDn+1が、
・サイクルC4にてデータDn+2が、
・サイクルC5にてデータDn+3が、
・サイクルC6にてデータDn+4が、
・サイクルC7にてデータDn+5が入力される。
デコーダ401は、これら入力されたデータをデコードして、Startフラグ、Endフラグデータを画像処理部403へ出力する。また、画像処理中においては、ID102の値に関わらず、コマンドのRWフラグ103、アドレス104、レジスタデータ105がレジスタ402へ出力される。これは、たとえID102が‘2’以外の値であっても、データとコマンドの前後関係を保ちながら、後段の処理ブロックへデータ及びコマンドを伝播させる為である。さらに、デコーダ401は、modeフラグ101及びID102をFF407へ出力する。modeフラグ101及びID102は、FF407にて1クロック分遅延させられ、バッファ404へ出力される。また、図6においては、デコーダ401にはサイクルC2の期間以外はデータが入力されている。そのため、画像処理中であると判断され、609に示すように画像処理ブロックのコマンドに対するレイテンシ4クロック分にあわせて、セレクト信号409が出力される。
つまり602に示すように、サイクルC0,C1及びC3〜C7にてStartフラグ、Endフラグ及びデータが画像処理部403へ入力される。そして、604に示すように、サイクルC2にてアドレス104及びレジスタデータ105がレジスタ402へ出力される。また、セレクト信号409は、609に示すようにサイクルC0〜C4、C6、C7の期間には‘1’が出力され、サイクルC5の期間には‘0’が出力される。
画像処理部403は、入力されたデータに対して4クロックサイクルのレイテンシで画像処理をおこない、出力データのStartフラグ202、Endフラグ203及びデータ204をエンコーダ08へ出力する。
また、レジスタ402においては、図5で説明したレジスタリード動作が行われる。つまり605に示すように、レジスタ402は、サイクルC3にてアドレス104へのリード動作を行なうと同時に、RWフラグ103=0、アドレス104及び当該リード動作で読み出されたレジスタデータ105をバッファ404へ出力する。
デコーダ401は、あるデータ単位(ページ、ブロック、バンド等)の画像処理中にレジスタリードコマンドを検知した為、サイクルC3及びC4においてコマンド保持信号405を‘1’にセットする。よって、607に示すように、バッファ404は、サイクルC3では、入力されたmodeフラグ101、ID102、RWフラグ103、アドレス104及びレジスタデータ105をそのままエンコーダ408へ出力する。そして、サイクルC4及びC5ではそれらの値を保持する。
エンコーダ408は、図1に示したコマンドのフォーマットに従って出力コマンドを生成し、コマンド/データ出力端子410より出力する。つまり、609に示すように、エンコーダ408は、サイクルC0〜C4、C6、C7の期間はセレクト信号409の値が‘1’なので、画像処理部403の出力を選択する。そして、1クロックサイクル後のサイクルにコマンド/データ出力端子410へ出力する。また、サイクルC5では、セレクト信号409の値が‘0’である為、エンコーダ408は、バッファ404の出力を選択する。そして、1クロックサイクル後のサイクルC6において、エンコーダ408は、ID102=2、アドレス104=0のリードコマンドをコマンド/データ出力端子410へ出力する。
尚、図6の例では、画像処理中にレジスタのリード動作を行なう場合のタイミングチャートを示したが、レジスタのライト動作を行なう場合も同様である。但し、レジスタのライト動作では、レジスタの更新が次のデータ処理の開始までに行なわれる。
次に、図4に示した画像処理ブロックに、同期コマンドが入力された場合の動作を説明する。ここで、図4の画像処理ブロックのIDは図5及び図6での説明と同様に‘2’が設定されている。また、同期コマンドのID102は‘2’以外の値であり、かつ同期コマンドの入力は画像処理中(Startフラグ202を送信してから、Endフラグ203を送信するまでの間)でない場合に行なわれる。よって、同期コマンドに対する動作は、図5のサイクルC4及びC5でコマンド/データ入力端子400より入力された、ID102が‘2’以外のコマンドWC_ID0及びRC_ID1と同様となる。すなわち、同期コマンドはデコーダ401にてデコードされたのち、そのままFF406、エンコーダ408を経由して、コマンド/データ出力端子410へ出力される。
但し、デコーダ401は、同期コマンドを受け付けると、直ちに画像処理部403に対してクリア信号411を出力し、画像処理部403内のシーケンサ及びバッファを初期状態にクリアする。以上説明したように、同期コマンドにより、直ちに現在のシーケンスの処理は終了され、画像処理用のバッファもクリアされる。このため、現在のシーケンスの処理中に、次のシーケンスのコマンド受け付けることがなくなり、画像処理の誤動作を防止することが可能となる。
尚、上記実施形態において、コマンドワードのID102に全ての画像処理ブロックを指定するID(全指定のID)を記述できるようにしてもよい。この場合、各画像処理ブロックは、自身のIDもしくは全指定のIDが記述されたコマンドワードに対して処理を実行することになる。この場合、同期コマンドにおけるID102の値は、全ての画像処理ブロックのID及び全指定のID以外の値となる。また、本実施形態では、同期コマンドのID102は各画像処理ブロックと重ならない値を用いるとしているが、これに限られるものではない。例えば、各画像処理ブロックが実装していない特定のアドレス番号を同期コマンド用のアドレスとしてレジスタアドレス104に記述したり、リザーブド領域106(コマンド内で使用されていない領域)に同期コマンド用の識別子を設けるようにしてもよい。このような同期コマンドによれば、各画像処理ブロックにおいてレジスタライト動作やリード動作は行なわれない。
以上のように、本実施形態によれば、同期コマンドにより、直ちに現在のシーケンスの処理は終了され、画像処理用のバッファもクリアされる。このため、現在のシーケンスの処理中に、次のシーケンスのコマンド受け付けることがなくなり、画像処理の誤動作が防止される。
[他の実施形態]
尚、本発明は、ソフトウェアのプログラムをシステム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによって前述した実施形態の機能が達成される場合を含む。この場合、供給されるプログラムは実施形態で図に示したフローチャートに対応したコンピュータプログラムである。
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
コンピュータプログラムを供給するためのコンピュータ読み取り可能な記憶媒体としては以下が挙げられる。例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などである。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムをハードディスク等の記録媒体にダウンロードすることが挙げられる。この場合、ダウンロードされるプログラムは、圧縮され自動インストール機能を含むファイルであってもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布するという形態をとることもできる。この場合、所定の条件をクリアしたユーザに、インターネットを介してホームページから暗号を解く鍵情報をダウンロードさせ、その鍵情報を使用して暗号化されたプログラムを実行し、プログラムをコンピュータにインストールさせるようにもできる。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどとの協働で実施形態の機能が実現されてもよい。この場合、OSなどが、実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれて前述の実施形態の機能の一部或いは全てが実現されてもよい。この場合、機能拡張ボードや機能拡張ユニットにプログラムが書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行なう。
実施形態における、コマンドのフォーマットを示す図である。 実施形態における、データのフォーマットを示す図である。 実施形態における、画像処理動作のタイミング例を示す図である。 実施形態の画像処理ブロックの構成例を示すブロック図である。 実施形態の画像処理ブロックのレジスタリード及びライト動作のタイミング例を示す図である。 実施形態の画像処理ブロックの画像処理動作のタイミング例を示す図である。 従来技術及び第1の実施形態における、画像処理装置の構成を示すブロック図である。 従来技術における、画像処理装置の正常な動作を示すタイミングを示す図である。 従来技術における、画像処理装置の問題となる動作を示すタイミングを示す図である。

Claims (14)

  1. 特定のデータ量のデータ群を単位として画像処理を行う画像処理装置であって、
    コマンドと処理対象のデータとを多重化して、多重化されたコマンド及びデータを送信する送信手段と、
    多重化されたコマンド及びデータを用いて画像処理を行ない、コマンド及び処理結果のデータを多重化して出力する際に、上流から入力されるデータの後に入力される同期コマンドを検出してから下流に同期コマンドを出力する画像処理ブロックが複数個直列に接続された画像処理手段と、
    前記画像処理手段の最終段の画像処理ブロックから出力された多重化されたコマンド及び処理結果データを受信する受信手段とを備え、
    前記送信手段は前記データ群の最終データの送信後であって、次のデータ群に関するコマンド及びデータの送信前に同期コマンドを送信し、
    前記受信手段は前記最終段の画像処理ブロックから前記同期コマンドを受信した場合に前記送信手段へ当該データ群の処理の終了を通知することを特徴とする画像処理装置。
  2. 前記送信手段は、前記受信手段から処理の終了の通知を受けた後、次のデータ群の処理のための多重化されたコマンド及びデータの送信を開始することを特徴とする請求項1に記載の画像処理装置。
  3. 前記コマンドは、前記画像処理手段の複数の画像処理ブロックの一つを特定する為の識別情報と、画像処理パラメータのリードライトの切り替え属性と、画像処理パラメータの格納箇所を示すアドレス領域と、画像処理パラメータの値を格納するデータ領域を有することを特徴とする請求項1に記載の画像処理装置。
  4. 前記データは、データ転送の開始属性及び終了属性を有することを特徴とする請求項1に記載の画像処理装置。
  5. 前記同期コマンドは、前記アドレス領域に格納されるアドレス値に、前記画像処理ブロックに実装されていないアドレス番号を用いることを特徴とする請求項3に記載の画像処理装置。
  6. 前記同期コマンドは、前記コマンド内で使われていない領域を識別子として用いることを特徴とする請求項1に記載の画像処理装置。
  7. 直列に接続された複数の画像処理ブロックを有し、特定のデータ量のデータ群を単位として画像処理を行う画像処理装置の制御方法であって、
    送信手段が、コマンドと処理対象のデータとを多重化して、多重化されたコマンド及びデータを送信する送信工程と、
    記複数の画像処理ブロックの各々、多重化されたコマンド及びデータを用いて画像処理を行な処理工程と、
    前記複数の画像処理ブロックの各々が、コマンド及び処理結果のデータを多重化して出力する際に、上流から入力されるデータの後に入力される同期コマンドを検出してから下流に同期コマンドを出力する転送工程と、
    受信手段が、前記複数の画像処理ブロックのうちの最終段の画像処理ブロックから出力された多重化されたコマンド及び処理結果データを受信する受信工程とを備え、
    前記送信工程では、前記データ群の最終データの送信後であって、次のデータ群に関するコマンド及びデータの送信前に同期コマンドを送信し、
    前記受信工程では、前記最終段の画像処理ブロックから前記同期コマンドを受信した場合に、当該データ群の処理が終了したと判断することを特徴とする画像処理装置の制御方法。
  8. 前記送信工程では、前記受信工程が処理の終了と判断した場合に、次のデータ群の処理のための多重化されたコマンド及びデータの送信を開始することを特徴とする請求項7に記載の画像処理装置の制御方法。
  9. 前記コマンドは、前記複数の画像処理ブロックの一つを特定する為の識別情報と、画像処理パラメータのリードライトの切り替え属性と、画像処理パラメータの格納箇所を示すアドレス領域と、画像処理パラメータの値を格納するデータ領域を有することを特徴とする請求項7に記載の画像処理装置の制御方法。
  10. 前記データは、データ転送の開始属性及び終了属性を有することを特徴とする請求項7に記載の画像処理装置の制御方法。
  11. 前記同期コマンドは、前記アドレス領域に格納されるアドレス値に、前記画像処理ブロックに実装されていないアドレス番号を用いることを特徴とする請求項9に記載の画像処理装置の制御方法。
  12. 前記同期コマンドは、前記コマンド内で使われていない領域を識別子として用いることを特徴とする請求項7に記載の画像処理装置の制御方法。
  13. 請求項7乃至12のいずれか1項に記載された画像処理装置の制御方法の各工程をコンピュータに実行させるためのコンピュータプログラム。
  14. 請求項7乃至12のいずれか1項に記載された画像処理装置の制御方法の各工程をコンピュータに実行させるためのコンピュータプログラムを格納したコンピュータ読み取り可能な記憶媒体。
JP2007223091A 2007-08-29 2007-08-29 画像処理装置及び方法 Active JP5149567B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007223091A JP5149567B2 (ja) 2007-08-29 2007-08-29 画像処理装置及び方法
US12/189,862 US8208763B2 (en) 2007-08-29 2008-08-12 Image processing method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007223091A JP5149567B2 (ja) 2007-08-29 2007-08-29 画像処理装置及び方法

Publications (3)

Publication Number Publication Date
JP2009058995A JP2009058995A (ja) 2009-03-19
JP2009058995A5 JP2009058995A5 (ja) 2010-09-16
JP5149567B2 true JP5149567B2 (ja) 2013-02-20

Family

ID=40407622

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007223091A Active JP5149567B2 (ja) 2007-08-29 2007-08-29 画像処理装置及び方法

Country Status (2)

Country Link
US (1) US8208763B2 (ja)
JP (1) JP5149567B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8415428B2 (en) 2008-02-08 2013-04-09 Asahi Kasei Chemicals Corporation Thermoplastic elastomer composition and method for producing the same

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5209953B2 (ja) 2007-12-20 2013-06-12 キヤノン株式会社 画像データ供給装置および画像データ供給方法
JP2010161503A (ja) * 2009-01-06 2010-07-22 Canon Inc 画像形成装置及び画像形成方法
JP5623063B2 (ja) * 2009-11-16 2014-11-12 キヤノン株式会社 画像処理装置およびその方法
US8751693B2 (en) 2009-12-25 2014-06-10 Samsung Electronics Co., Ltd. Apparatus for and method of processing data
JP2011138188A (ja) 2009-12-25 2011-07-14 Samsung Electronics Co Ltd データ処理装置、およびパラメータ設定方法
JP2011156237A (ja) * 2010-02-02 2011-08-18 Toshiba Corp 超音波診断装置
JP6472300B2 (ja) 2015-03-31 2019-02-20 キヤノン株式会社 画像処理装置および情報処理装置、並びに、それらの方法
CN109992542B (zh) * 2017-12-29 2021-11-30 深圳云天励飞技术有限公司 一种数据搬运方法、相关产品及计算机存储介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2754741B2 (ja) * 1989-06-09 1998-05-20 キヤノン株式会社 符号化装置
DE69308548T2 (de) * 1992-05-01 1997-06-12 Seiko Epson Corp Vorrichtung und verfahren zum befehlsabschluss in einem superskalaren prozessor.
US5436981A (en) * 1992-06-24 1995-07-25 Canon Kabushiki Kaisha Image processing method, and apparatus therefor
US6263422B1 (en) * 1992-06-30 2001-07-17 Discovision Associates Pipeline processing machine with interactive stages operable in response to tokens and system and methods relating thereto
JPH08214267A (ja) * 1995-02-07 1996-08-20 Nippon Telegr & Teleph Corp <Ntt> 映像伝送装置
JP4127495B2 (ja) * 2002-09-05 2008-07-30 株式会社ルネサステクノロジ 情報処理装置
US7432985B2 (en) * 2003-03-26 2008-10-07 Canon Kabushiki Kaisha Image processing method
JP4217657B2 (ja) * 2003-07-30 2009-02-04 キヤノン株式会社 画像処理方法、プログラム、記憶媒体及び装置
JP4533218B2 (ja) * 2005-04-06 2010-09-01 キヤノン株式会社 画像処理装置、画像処理方法及び画像処理プログラム
JP2007208781A (ja) * 2006-02-03 2007-08-16 Olympus Corp 撮像装置
JP2007287085A (ja) * 2006-04-20 2007-11-01 Fuji Xerox Co Ltd 画像処理装置及びプログラム
JP4795264B2 (ja) * 2007-02-06 2011-10-19 キヤノン株式会社 走査変換装置及び走査変換方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8415428B2 (en) 2008-02-08 2013-04-09 Asahi Kasei Chemicals Corporation Thermoplastic elastomer composition and method for producing the same

Also Published As

Publication number Publication date
US20090060390A1 (en) 2009-03-05
US8208763B2 (en) 2012-06-26
JP2009058995A (ja) 2009-03-19

Similar Documents

Publication Publication Date Title
JP5149567B2 (ja) 画像処理装置及び方法
JP4898590B2 (ja) データ処理装置及び方法
US8456684B2 (en) Image processing apparatus and method
JP2008059449A (ja) メモリ制御回路及びメモリ制御方法
US7234031B2 (en) Portable storage apparatus and method for freely changing data bus width
JP2006215886A (ja) 信号処理装置、信号処理システム、および信号処理方法
US20100189130A1 (en) Data processing apparatus and method and encoding device
US6950472B2 (en) Coded data transfer control method and storage and reproduction system
WO1999013647A1 (fr) Procede de decodage et support d&#39;enregistrement ou est enregistre un programme de decodage
EP2557785A1 (en) Delay controlled decoding method and apparatus
JP5188620B2 (ja) 画像処理装置及び方法
JP4534940B2 (ja) 情報記録装置、撮像装置、および情報記録制御方法、並びにコンピュータ・プログラム
JP2010020845A (ja) 記録媒体初期化方法及び記録媒体初期化装置
JP2007011659A (ja) インターフェース装置、ディスクドライブ及びインターフェース制御方法
JP2003297017A (ja) データ記録制御装置
JP2005309606A (ja) データ処理回路およびストリームデータ受信転送方法
JP4378232B2 (ja) データ伝送装置及びデータ伝送方法
JP3405190B2 (ja) 復号方法
JP2005110019A (ja) シリアル通信システム
JPH09116563A (ja) Mpeg2データ転送装置
JP2010048930A (ja) 音声データ作成方法、記憶装置、集積回路装置及び音声再生システム
JP2006229776A (ja) 通信装置及びその通信制御方法
JPH1056490A (ja) 半導体集積回路及びデータ処理装置
JP2006155817A (ja) 信号出力装置及び信号出力方法
JPH11313314A (ja) 復号装置

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100804

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100804

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120319

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120516

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121130

R151 Written notification of patent or utility model registration

Ref document number: 5149567

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

Year of fee payment: 3