説明

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

【課題】画像読取機能を具備する周辺装置においてスキャンを実行し、読み取ったデータをホストコンピュータのアプリケーションで表示する方法において、ホストコンピュータに接続された周辺機器によって毎回転送先のアプリケーションを選択しなくても、所望のアプリケーションに転送することができる情報処理方法を提供することを目的とする。
【解決手段】ユーザが使用したいアプリケーションを起動し、アクティブにしておき、スキャンした画像データを開くためのアプリケーションとして、アクティブな状態のアプリケーションを設定する。これによって、オペレータは、起動するアプリケーションを変更する毎に設定を切り替えなくても、スキャンした画像データを作業中の所望のアプリケーションで表示することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、スキャンした画像データを、所望のアプリケーションで開くための画像処理方法及び画像処理装置に関する。
【背景技術】
【0002】
従来、読み取ったイメージデータを簡易解析し、適応アプリケーションプログラムの決定及び決定した適応アプリケーションプログラムの起動指示が知られている(たとえば、特許文献1参照)。
【0003】
また、周辺装置のユーザ・インタフェースからスキャンし、選択したアプリケーションへ転送するシステムが知られている(たとえば、特許文献2参照)。この従来例は、選択したアプリケーションがテキストデータを扱うことを基本とするアプリケーションの場合、イメージを適切なテキストファイルに変換する。
【特許文献1】特開平10−275209号公報
【特許文献2】特開2000−316065号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかし、特許文献1記載の従来例では、解析して得られたイメージデータの種類に応じてどのアプリケーションを起動するのかを判定するので、解析結果によっては、必ずしもユーザが希望する適切なアプリケーションに転送されない場合があるという問題がある。
【0005】
また、特許文献2記載の従来例では、ホストコンピュータと周辺機器とでアプリケーション情報に関する通信を行い、ホストコンピュータにインストールされているアプリケーションを周辺機器側に表示する。したがって、特許文献2記載の発明では、転送先のアプリケーションを毎回周辺機器側で選択する必要があるという問題がある。
【0006】
本発明は、ホストコンピュータに接続された周辺機器によって毎回転送先のアプリケーションを選択しなくても、所望のアプリケーションに転送することができる情報処理方法を提供することを目的とする。
【0007】
また、本発明は、スキャンした画像データを、転送先のアプリケーション上で、正常に表示することができる情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明は、画像読取機能を具備する周辺装置においてスキャンを実行し、読み取ったデータをホストコンピュータのアプリケーションで表示する方法において、ユーザが使用したいアプリケーションを起動し、アクティブにしたアプリケーションでデータを表示する情報処理方法である。
【発明の効果】
【0009】
本発明によれば、スキャンした画像データを表示するために起動するアプリケーションを指定せずに、スキャンした画像データを、ユーザが意図したアプリケーションで表示することができ、利便性が大きく向上するという効果を奏する。
【0010】
また、本発明によれば、他のアプリケーションで表示させるために上記指定内容を変更せずに、スキャンした画像データを、ユーザが意図したアプリケーションで表示することができ、利便性が大きく向上するという効果を奏する。
【0011】
また、スキャンした画像データを転送先のアプリケーションの表示能力(テキストデータのみ、画像データのみ、または両方)に応じた表示用データに変換して転送するので、アプリケ−ションに応じて正常に表示することができるという効果を奏する。
【発明を実施するための最良の形態】
【0012】
発明を実施するための最良の形態は、次の実施例である。
【実施例1】
【0013】
図1は、本発明の実施例1である情報処理装置100を示すブロック図である。
【0014】
情報処理装置100は、画像読取機能を具備する周辺装置においてスキャンを実行し、読み取ったデータをホストコンピュータ上のアプリケーションで表示する画像処理装置の例である。つまり、情報処理装置100は、ホストPCであり、画像読取機能を具備する周辺装置においてスキャンを実行し、読み取ったデータをホストコンピュータ上のアプリケーションで表示する方法を実現する装置であり、スキャナ10に接続されている。情報処理装置100は、CPU1と、一次記憶装置2と、二次記憶装置3と、I/F部4と、入力装置5と、出力装置6と、システムバス7とを有する。
【0015】
スキャナ10は、CPU11と、ROM12と、RAM13と、通信部14と、表示部15と、読取制御部16と、操作部17と、システムバス18とを有する。
【0016】
CPU1は、中央演算処理部であり、データや命令を演算、判断、制御し、一次記憶装置2に格納されたプログラムの実行などを行う。一次記憶装置2は、主にメモリであり、二次記憶装置3に記憶されているプログラムなどをロードし、格納する。
【0017】
二次記憶装置3は、たとえばハードディスクである。実施例1では、プログラムを、二次記憶装置3に格納し、プログラム実行時に、一次記憶装置2にロードし、CPU1で実行する。I/F部4は、読み取り機能を有するスキャナなどとの間で通信し、たとえばUSBインタフェースが、I/F部4の例である。
【0018】
入力装置5は、たとえばマウスやキーボードの他、コントローラなどである。出力装置6は、たとえばディスプレイである。システムバス7は、CPU1とI/F部4や出力装置6や記憶装置2、3との間で、命令やデータ転送をするための伝送経路である。I/F部4を介して、スキャナ10が情報処理装置100に接続される。
【0019】
CPU11は、マイクロプロセッサなどによって構成されているCPUであり、ROM12に記憶されているプログラムに従って、RAM13、通信部、表示部、読取制御部、操作部を制御する。RAM13は、読取制御部16から送られ、スキャンした画像データを格納する。
【0020】
通信部14は、RAM13に格納されているデータや、スキャナ10からのボタンイベント情報を、情報処理装置100に送り、逆に、情報処理装置100からスキャナを制御するためのコマンドを受けたりする場合等に、通信する。
【0021】
読取制御部16は、DMAコントローラ、画像処理IC、CMOSロジックICなどによって構成され、読み取られた画像データを、多値化または2値化し、そのデータを順次RAM13に送る。
【0022】
表示部15は、LED等によって構成され、スキャナの動作設定や動作時の状態を表示する。操作部17は、電源スイッチ、リセットスイッチ、操作選択ボタン、スキャンボタン等によって構成され、ユーザによって自由に操作可能である。
【0023】
図2は、実施例1における情報処理方法において、アクティブなアプリケーションに、転送先を設定するために、情報処理装置100上で起動されるユーティリティのユーザインタフェース20の一例を示す表示画面の模式図である。
【0024】
ユーザインタフェース20は、イベント選択部21と、動作設定部22と、起動アプリケーション設定部23とを表示する。
【0025】
イベント選択部21は、スキャナ10から送られたボタンイベントに応じた動作を切り替える。イベントは、JPEG形式にして保存や、PDF形式にして保存や、アプリケーションに転送する等、様々なイベントを選択することができる。
【0026】
動作設定部22は、イベント選択部21で選択されているイベントを、スキャナ10からボタンイベントを受けた時の動作設定を行う。
【0027】
起動アプリケーション設定部23は、イベント選択部21において『アプリケーションで開く』イベントを選択した場合に表示され、スキャン画像データを転送するアプリケーションを設定する。この設定を、アクティブなアプリケーションに設定する。
【0028】
CPU1は、上記周辺装置からのスキャン開始イベントを、ホストコンピュータに発行する工程を実現し、また、上記周辺装置の読み取り動作を制御可能なスキャナドライバを利用してスキャンするユーティリティを起動する工程を実現する。また、CPU1は、上記スキャン開始イベントによって上記ユーティリティが起動されたかどうかを判定する工程を実現する。
【0029】
スキャナ10は、上記スキャン開始イベントの発行時の読み取り設定に従って、スキャナドライバを使用して画像を読み取る工程を実現する例である。
【0030】
CPU1は、さらに上記スキャン開始イベントの発行時にアクティブであるアプリケーションの実行パスを取得する工程を実現する。
【0031】
I/F部4は、上記アクティブであるアプリケーションに、スキャンデータを転送する工程を実現する。
【0032】
次に、実施例1の動作について説明する。
【0033】
図3は、実施例1の動作を示すフローチャートである。
【0034】
S2で、情報処理装置100は、スキャナ10の操作部17で『アプリケーションで開く』イベントが選択され、通信部14から送られるイベントを検出する。
【0035】
S3で、情報処理装置100は、OSのサービス等を利用し、ユーティリティを起動する。ユーティリティは、イベントがアプリケーションを開くものであるかどうかを判定する。イベントの内容は、OSのAPI等を使用することによって取得する。OSのサービスやAPIを使用せずに、イベントを取得するためのツールを使用するようにしてもよい。
【0036】
『アプリケーションで開く』イベントと異なるイベントである場合、S4で、図2のイベント選択部21で設定した内容に応じた処理、たとえば、スキャンし、PDF形式で保存し、E−MAILに添付する等のイベントに応じた処理を行う。
【0037】
S5で、『アプリケーションで開く』イベントであると判断されると、ユーティリティは、現在アクティブなアプリケーションの実行パスを、複数のOSのAPIを使用して取得する。たとえば、OSがWindows(登録商標)である場合、まず、アクティブなウィンドウのハンドルを取得し、そのウィンドウハンドルから、そのウィンドウを作成したプロセスIDを取得する。
【0038】
または、最前面のウィンドウのハンドルを取得した後に、そのウィンドウのクラス情報を取得し、ユーティリティが保持するデータを転送する対象のクラスであれば、そのウィンドウハンドルからプロセスIDを取得する。ユーティリティが保持するデータを転送する対象外のクラスであれば、その背面のウィンドウのハンドルを取得し、同様の処理を行う。
【0039】
そして、スナップショットによって、全プロセス情報を取得し、アクティブなウィンドウを作成したプロセスのIDと比較する。プロセスIDが一致するプロセス情報から、アプリケーションのパスが決定する。
【0040】
また、アクティブなウィンドウのハンドルを取得する代わりに、次のようにしてもよい。つまり、ウィンドウハンドル一覧をOSから取得し、ウィンドウの重なり順にウィンドウハンドルを取得できる場合、最初に得られたウィンドウハンドルを現在アクティブなウィンドウのハンドルとして使用することもできる。
【0041】
また、起動中のアプリケーションが全て最小化状態であり、現在アクティブなアプリケーションが存在しないか、またはデスクトップ画面が表示されている状態であると判定した場合は、次のように、アクティブなアプリケーションであるとみなす。つまり、この場合、OSのAPIを使用して得ることのできるウィンドウの重なりの順番を示すZオーダーの最上位の値のウィンドウを、アクティブなアプリケーションであるとみなす。
【0042】
実行パスとしてシステムのダイナミックリンクライブラリ(DLL)が取得された場合、DLLは、アプリケーションではないので、起動することはできない。したがって、次にZオーダーが上位となるウィンドウのハンドルを用いて、アクティブなアプリケーションを決定する。
【0043】
上記手法以外に、OS側で現在アクティブなアプリケーションパスを取得できるAPIが用意されている場合、それを用いるようにしてもよい。アクティブなアプリケーションパスの決定手法は、上記手法に限定されない。
【0044】
S6で、図2の動作設定部22で設定した内容で、スキャナドライバを介して、スキャナ10でスキャンを行う。
【0045】
スキャン完了後に、S7で、スキャンデータの転送形式を判定する。この判定をする場合、ダイアログを表示し、ユーザに選択させることによって判定する。また、過去に本操作を行ったことがあるアプリケーションに関して、前回の結果を保持し、ダイアログを表示せずに、前回選択された結果に従い、処理を続行することができる。S8で、転送データ形式が画像データのみであれば、S9で、スキャンした画像データをコマンドライン引数として、S5で取得したアクティブなアプリケーションを起動する。このときに、画像データを転送していることを、転送先のアプリケーションに知らせるために、画像データのパスに加え、パラメータを追加したコマンドライン引数で、アプリケーションを起動する。
【0046】
コマンドラインの例は、次の記述によって表すことができる。“c:¥program files¥microsoft office¥office12¥winword.exe”/i“c:¥Image_0001.bmp”“c:¥Image_0002.bmp”。なお、「microsoft」は、登録商標である。
【0047】
S10で、転送データ形式がテキストデータのみであると判断されると、S11で、ユーティリティは、スキャンしたデータをテキスト化し、S12で、テキスト化したデータを保存し、スキャンしたデータを破棄する。つまり、スキャンしたデータは、テキスト化後は不要であるので、二次記憶装置3から削除される。S13では、ユーティリティは、S12で保存したテキストデータのパスをコマンドライン引数に指定し、S5で取得したアクティブなアプリケーションを起動する。
【0048】
S8、S10ともにNOであれば、転送データ形式が画像データとテキストデータとの両方であると判断され、ユーティリティは、S15で、スキャンしたデータをテキスト化し、S16で、テキスト化したデータを二次記憶装置3に保存する。S17で、ユーティリティは、スキャンした画像データとS16で保存したテキストデータとを、コマンドライン引数として、S5で取得したアクティブなアプリケーション転送しそれぞれ実行する。
【0049】
その際、画像データを転送するときには、画像データを転送していることを、転送先のアプリケーションに知らせるために、画像データのパスに加え、パラメータを追加してコマンドライン起動を行う。
【0050】
図4は、スキャナで読み込んだデータが、アプリケーション上に転送された様子を示す図である。
【0051】
図4(1)は、転送するデータがテキストのみである場合を示し、図4(2)は、転送するデータが画像のみである場合を示し、図4(3)は、転送するデータがテキストと画像とである場合を示す模式図である。
【実施例2】
【0052】
図5は、本発明の実施例2の動作を示すフローチャートである。
【0053】
実施例2は、実施例1の処理方法において、スキャンデータの転送形式の判定を、ダイアログ上でユーザに選択させずに、転送形式を自動的に決定する実施例である。
【0054】
S18〜S30、S45、S55〜S65、S75〜S85は、実施例1の図3に示すフローチャートと共通するので、その説明を省略する。
【0055】
S35で、スキャンした画像データを、画像領域と文字領域とに分離する。
分離処理は、任意の手法で行ってもよく、実施例2では、従来から知られている高速フーリエ変換で得られた値によって判別する。S40で、画像領域のみが検出されるか、または文字領域が検出されなければ、画像データのみであると見なし、S45で、画像データをアクティブなアプリケーションへ転送する。S50で、文字領域のみが検出されたと判断されると、テキストデータのみであると見なし、S55〜S65の処理を行う。その際に、アクティブなアプリケーションがテキストデータを扱うことができないアプリケーションであれば、テキストデータを画像データに変換して送付する。
【0056】
S40、S50ともにNOであれば、画像データとテキストデータとの両方であると見なし、S75〜S85の処理を行う。その際に、アクティブなアプリケーションが画像データを扱うことができないアプリケーションであれば、テキストデータだけを転送し、テキストを扱うことができないアプリケーションであれば、テキストデータを画像データに変換して転送する。
【実施例3】
【0057】
上記実施例1、2の機能を実現するソフトウエアのプログラムコード(プログラム)を想定してもよい。また、このプログラムコードを記録した記録媒体を、システムまたは装置に供給し、そのシステムまたは装置のコンピュータ(またはCPUまたはMPU)が記録媒体に格納されたプログラムコードを読み出し実行するようにしてもよい。この場合、記憶媒体から読み出されたプログラムコード自体が、上記実施例1、2の機能を実現し、そのプログラムコードを記憶した記憶媒体は、本発明を構成する。
【0058】
プログラムコードを供給するための記憶媒体は、たとえば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM、DVDである。
【0059】
また、コンピュータが読み出したプログラムコードの指示に基づいて、コンピュータ上で稼動しているOperating System(OS)などが、実際の処理の一部または全部を行い、その処理によって上記実施例の機能が実現される場合も含まれる。
【0060】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに設けられているメモリに書き込む。その後に、そのプログラムコードの指示に基づいて、その機能拡張ボードや機能拡張ユニットに設けられているCPUなどが、実際の処理の一部または全部を行い、その処理によって上記実施例の機能が実現される場合も含まれる。
【0061】
また、上記記憶媒体は、請求項1から請求項8のいずれか1項に記載のスキャンデータの転送方法を実行させるプログラムを格納したことを特徴とするコンピュータが読み取り可能な記憶媒体でもよい。
【0062】
そして、周辺装置とコンピュータとが一体に形成された画像処理装置であって、上記画像処理装置の構成によって上記実施例の機能が実現される場合も当然含まれる。
【0063】
上記実施例は、上記アクティブであるアプリケーションに、読み取ったデータを転送する前に、次の3つの選択肢のうちの1つを、ユーザが選択する工程を有する実施例である。
【0064】
上記3つの選択肢は、画像データのみを転送する選択肢、画像データから文字を識別してテキストデータに変換したデータのみを転送する選択肢、または画像データとテキストデータとの両方を転送する選択肢である。
【0065】
また、上記実施例は、上記アクティブであるアプリケーションに、読み取ったデータを転送する前に、上記3つの選択肢のうちの1つを、画像データを解析した結果に従って判定する工程を有する実施例である。
【0066】
上記実施例は、上記アクティブであるアプリケーションにスキャンデータを転送する際に、転送データの種別を示す情報を付加してデータを転送する実施例である。
【0067】
さらに、上記実施例は、上記転送したデータ形式と転送したアプリケーションの実行パスとを保持し、前回と同じアプリケーションに転送する場合、転送する画像データ形式の選択や画像データの解析をせずに前回と同じデータ形式で転送する実施例である。
【0068】
しかも、上記実施例は、上記アクティブであるアプリケーションが存在しない場合、ウィンドウが最前面にあるアプリケーションにデータを転送する実施例である。
【0069】
そして、上記実施例において、ウィンドウの最前面は、ウィンドウの重なりの順番を示す情報が一番上である面である。
【0070】
加えて、上記実施例は、上記ユーティリティがデータ転送を行わない特定のウィンドウに関する情報を保持し、上記ウィンドウが最前面となる場合、その背面にあるウィンドウのアプリケーションに対してデータを転送する工程を有する実施例である。
【0071】
また、上記実施例における工程を手段に置き換えれば、上記実施例を装置の発明として把握することができる。
【図面の簡単な説明】
【0072】
【図1】本発明の実施例1である情報処理装置100を示すブロック図である。
【図2】実施例1における情報処理方法において、アクティブなアプリケーションに、転送先を設定するために、情報処理装置100上で起動されるユーティリティのユーザインタフェース20の一例を示す表示画面の模式図である。
【図3】実施例1の動作を示すフローチャートである。
【図4】スキャナで読み込んだデータが、アプリケーション上に転送された様子を示す図である。
【図5】本発明の実施例2の動作を示すフローチャートである。
【符号の説明】
【0073】
100…情報処理装置、
10…スキャナ、
21…イベント選択部、
22…動作設定部、
23…起動アプリケーション設定部。

【特許請求の範囲】
【請求項1】
画像読取機能を具備する周辺装置においてスキャンを実行し、読み取ったデータをホストコンピュータ上のアプリケーションで表示する画像処理方法において、
スキャン開始イベントを発行する工程を有し、
上記スキャン開始イベントを発行した時にホストコンピュータ上でアクティブなアプリケーションの実行パスを取得する工程を有し、
スキャンを実行することで読み取ったデータを、上記実行パスを用いてアプリケーションに転送する工程を有することを特徴とする画像処理方法。
【請求項2】
請求項1において、
上記アクティブであるアプリケーションに、読み取ったデータを転送する前に、画像データのみを転送するのか、または画像データから文字を識別してテキストデータに変換したデータのみを転送するのか、または画像データとテキストデータとの両方を転送するのかを、ユーザが選択する工程を有することを特徴とする画像処理方法。
【請求項3】
請求項1において、
上記アクティブであるアプリケーションに、読み取ったデータを転送する前に、画像データのみを転送するのか、または画像データから文字を識別してテキストデータに変換したデータのみを転送するのか、または画像データとテキストデータとの両方を転送するのかを、画像データを解析した結果に従って判定する工程を有することを特徴とする画像処理方法。
【請求項4】
請求項1から請求項3において、
上記アクティブであるアプリケーションにスキャンデータを転送する際に、転送データの種別を示す情報を付加してデータを転送することを特徴とする画像処理方法。
【請求項5】
請求項2から請求項4のいずれか1項において、
上記転送したデータ形式と転送したアプリケーションの実行パスとを保持し、前回と同じアプリケーションに転送する場合、転送する画像データ形式の選択や画像データの解析をせずに前回と同じデータ形式で転送することを特徴とする画像処理方法。
【請求項6】
請求項1から請求項5のいずれか1項において、
上記アクティブであるアプリケーションが存在しない場合、ウィンドウが最前面にあるアプリケーションにデータを転送することを特徴とする画像処理方法。
【請求項7】
請求項6において、
ウィンドウの最前面は、ウィンドウの重なりの順番を示す情報が一番上である面であることを特徴とする画像処理方法。
【請求項8】
請求項1から請求項7のいずれか1項において、
表示されているウィンドウの情報を取得する工程と、
ユーティリティがデータ転送を行わない特定のウィンドウに関する情報を保持し、上記ウィンドウが最前面となる場合、その背面にあるウィンドウのアプリケーションに対してデータを転送する工程とを有することを特徴とする画像処理方法。
【請求項9】
請求項1から請求項8のいずれか1項に記載の画像処理方法を実行させるプログラム。
【請求項10】
請求項1から請求項8のいずれか1項に記載の画像処理方法を実行させるプログラムを格納したことを特徴とするコンピュータが読み取り可能な記憶媒体。
【請求項11】
画像読取機能を具備する周辺装置においてスキャンを実行し、読み取ったデータをホストコンピュータ上のアプリケーションで表示する画像処理装置において、
スキャン開始イベントを発行する手段を有し、
上記スキャン開始イベントを発行した時にホストコンピュータ上でアクティブなアプリケーションの実行パスを取得する手段を有し、
スキャンを実行することで読み取ったデータを、上記実行パスを用いてアプリケーションに転送する手段を有することを特徴とする画像処理装置。
【請求項12】
請求項11において、
上記アクティブであるアプリケーションに、読み取ったデータを転送する前に、画像データのみを転送するのか、または画像データから文字を識別してテキストデータに変換したデータのみを転送するのか、または画像データとテキストデータとの両方を転送するのかを、ユーザが選択する手段を有することを特徴とする画像処理装置。
【請求項13】
請求項11において、
上記アクティブであるアプリケーションに、読み取ったデータを転送する前に、画像データのみを転送するのか、または画像データから文字を識別してテキストデータに変換したデータのみを転送するのか、または画像データとテキストデータとの両方を転送するのかを、画像データを解析した結果に従って判定する手段を有することを特徴とする画像処理装置。
【請求項14】
請求項11から請求項13において、
上記アクティブであるアプリケーションにスキャンデータを転送する際に、転送データの種別を示す情報を付加してデータを転送することを特徴とする画像処理装置。
【請求項15】
請求項12から請求項14のいずれか1項において、
上記転送したデータ形式と転送したアプリケーションの実行パスとを保持し、前回と同じアプリケーションに転送する場合、転送する画像データ形式の選択や画像データの解析をせずに前回と同じデータ形式で転送することを特徴とする画像処理装置。
【請求項16】
請求項11から請求項15のいずれか1項において、
上記アクティブであるアプリケーションが存在しない場合、ウィンドウが最前面にあるアプリケーションにデータを転送することを特徴とする画像処理装置。
【請求項17】
請求項16において、
ウィンドウの最前面は、ウィンドウの重なりの順番を示す情報が一番上である面であることを特徴とする画像処理装置。
【請求項18】
請求項11から請求項17のいずれか1項において、
表示されているウィンドウの情報を取得する手段と、
ユーティリティがデータ転送を行わない特定のウィンドウに関する情報を保持し、上記ウィンドウが最前面となる場合、その背面にあるウィンドウのアプリケーションに対してデータを転送する手段とを有することを特徴とする画像処理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2010−93473(P2010−93473A)
【公開日】平成22年4月22日(2010.4.22)
【国際特許分類】
【出願番号】特願2008−260436(P2008−260436)
【出願日】平成20年10月7日(2008.10.7)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】