(57)【特許請求の範囲】
【請求項１】
ハードウェア要素が機能別にモジュール化されたIrDA制御装置であって、MAIN CPUモジュールと、IrDAコントローラモジュールと、光半導体モジュールとを有し、前記光半導体モジュールを介して外部機器との間で赤外線通信を行なうIrDA制御装置において、
前記MAIN CPUモジュールは、前記光半導体モジュールから入力されるフレームデータを模した擬似データを生成する擬似データ生成手段と、
前記光半導体モジュールを介して外部機器から入力された受信信号、または前記擬似データ生成手段により生成された擬似データの何れかを選択して出力する出力信号選択手段と、
前記擬似データ生成手段及び出力信号選択手段の動作を制御する動作制御手段とを前記MAIN CPUモジュールが有し、
前記出力信号選択手段から出力される信号を入力するための信号入力端子と、
前記信号入力端子から入力される信号に基づいて割り込み信号を出力する割り込み信号出力手段とを前記IrDAコントローラモジュールが有し、
前記IrDAコントローラモジュールは、所定数のフレームデータを保持可能なバッファを有し、前記割り込み信号出力手段は、前記バッファ内に端数データが残った際に前記割り込み信号を出力し、
前記動作制御手段は、前記割り込み信号の受信に基いて前記擬似データ生成手段及び前記出力信号選択手段の動作を制御して、前記出力信号選択手段から前記擬似データを前記IrDAコントローラモジュールの信号入力端子に出力することにより、前記バッファ内に残った端数データを送り出すことを特徴とするIrDA制御装置。
【請求項２】
前記割り込み信号出力手段は、受信信号中のフレームデータの転送完了を示すデータを受信できなかった際に前記割り込み信号を出力し、
前記動作制御手段は、前記割り込み信号の受信に基いて前記擬似データ生成手段及び出力信号選択手段の動作を制御して、前記出力信号選択手段から前記擬似データを前記IrDAコントローラモジュールの信号入力端子に出力して、受信信号中のフレームデータの転送完了を示すデータを前記割り込み信号出力手段に受信させるようにしたことを特徴とする請求項１に記載のIrDA制御装置。
【請求項３】
前記割り込み信号出力手段は、受信信号中のフレームデータの転送完了を示すデータを受信した後も前記フレームデータが送り続けられた際に前記割り込み信号を出力し、
前記動作制御手段は、前記割り込み信号の受信に基いて受信したデータが過剰なデータか否かを判定し、判定の結果が過剰なデータであった場合には前記出力信号選択手段の動作を制御して、前記光半導体モジュールと前記IrDAコントローラモジュールとの接続を遮断するとともに、前記割り込み信号出力手段をリセットすることを特徴とする請求項１に記載のIrDA制御装置。
【請求項４】
前記擬似データ生成手段は、音声生成モジュールで構築されていることを特徴とする請求項１〜３の何れか１項に記載のIrDA制御装置。
【請求項５】
ハードウェア要素が機能別にモジュール化されたIrDA制御装置を制御するための方法であって、MAIN CPUモジュールと、IrDAコントローラモジュールと、光半導体モジュールとを有し、前記光半導体モジュールを介して外部機器との間で赤外線通信を行なうIrDA制御装置の制御方法において、
前記MAIN CPUモジュールは、前記光半導体モジュールから入力されるフレームデータを模した擬似データを生成する擬似データ生成工程と、
前記光半導体モジュールを介して外部機器から入力された受信信号、または前記擬似データ生成工程において生成された擬似データの何れかを選択して出力する出力信号選択工程と、
前記擬似データ生成工程及び出力信号選択工程の動作を制御する動作制御工程とを前記MAIN CPUモジュールが有し、
前記出力信号選択工程から出力される信号を入力するための信号入力端子から入力される信号に基づいて割り込み信号を出力する割り込み信号出力工程を前記IrDAコントローラモジュールが有し、
前記IrDAコントローラモジュールは、所定数のフレームデータを保持可能なバッファを有し、前記割り込み信号出力工程は、前記バッファ内に端数データが残った際に前記割り込み信号を出力し、
前記動作制御工程は、前記割り込み信号の受信に基いて前記擬似データ生成工程及び前記出力信号選択工程の動作を制御して、前記出力信号選択工程から前記擬似データを前記IrDAコントローラモジュールの信号入力端子に出力することにより、前記バッファ内に残った端数データを送り出すことを特徴とするIrDA制御方法。
【請求項６】
前記割り込み信号出力工程は、受信信号中のフレームデータの転送完了を示すデータを受信できなかった際に前記割り込み信号を出力し、
前記動作制御工程は、前記割り込み信号の受信に基いて前記擬似データ生成工程及び出力信号選択工程の動作を制御して、前記出力信号選択工程から前記擬似データを前記IrDAコントローラモジュールの信号入力端子に出力して、受信信号中のフレームデータの転送完了を示すデータを前記割り込み信号出力工程に受信させるようにしたことを特徴とする請求項５に記載のIrDA制御方法。
【請求項７】
前記割り込み信号出力工程は、受信信号中のフレームデータの転送完了を示すデータを受信した後も前記フレームデータが送り続けられた際に前記割り込み信号を出力し、
前記動作制御工程は、前記割り込み信号の受信に基いて受信したデータが過剰なデータか否かを判定し、判定の結果が過剰なデータであった場合には前記出力信号選択工程の動作を制御して、前記光半導体モジュールと前記IrDAコントローラモジュールとの接続を遮断するとともに、前記割り込み信号出力工程をリセットすることを特徴とする請求項５に記載のIrDA制御方法。
【請求項８】
ハードウェア要素が機能別にモジュール化されたIrDA制御装置を制御するためのプログラムであって、MAIN CPUモジュールと、IrDAコントローラモジュールと、光半導体モジュールとを有し、前記光半導体モジュールを介して外部機器との間で赤外線通信を行なうIrDA制御装置を制御する各工程をコンピュータに実行させるプログラムにおいて、
前記MAIN CPUモジュールは、前記光半導体モジュールから入力されるフレームデータを模した擬似データを生成する擬似データ生成工程と、
前記光半導体モジュールを介して外部機器から入力された受信信号、または前記擬似データ生成工程において生成された擬似データの何れかを選択して出力する出力信号選択工程と、
前記擬似データ生成工程及び出力信号選択工程の動作を制御する動作制御工程とを前記MAIN CPUモジュールが有し、
前記出力信号選択工程から出力される信号を入力するための信号入力端子から入力される信号に基づいて割り込み信号を出力する割り込み信号出力工程を前記IrDAコントローラモジュールが有し、
前記IrDAコントローラモジュールは、所定数のフレームデータを保持可能なバッファを有し、前記割り込み信号出力工程は、前記バッファ内に端数データが残った際に前記割り込み信号を出力し、
前記動作制御工程は、前記割り込み信号の受信に基いて前記擬似データ生成工程及び前記出力信号選択工程の動作を制御して、前記出力信号選択工程から前記擬似データを前記IrDAコントローラモジュールの信号入力端子に出力することにより、前記バッファ内に残った端数データを送り出すことをコンピュータに実行させることを特徴とするプログラム。
【請求項９】
請求項８に記載のプログラムを記憶したことを特徴とするコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はIrDA制御装置及びIrDA制御方法に関し、特に、MAIN CPUとIrDAコントローラ用ＩＣとで構成された赤外線通信システムに用いて好適な技術に関する。
【背景技術】
【０００２】
近年、デジタルカメラやデジタルビデオカメラ、またはスキャナ等の画像入力機器の進歩に伴い、入力された画像を印刷出力するための画像入力手段として、熱転写方式のプリンタ装置が注目されている。
【０００３】
熱転写方式のプリンタ装置としては、感熱型の用紙を印画用紙として用い、主走査方向に配列された複数個の発熱体（サーマルヘッド)を選択的に駆動しながら、前記印画用紙を副走査方向に搬送する。そして、前記印画用紙上にドットライン状の印画を行うようにした、ライン熱転写方式等がある。
【０００４】
現在普及している一般的なインクジェット方式のプリンタ装置においては、液滴を飛ばすか否かの２値選択のみによって、小さな液滴を用紙へ着弾させて誤差拡散等の手法によりみかけの解像度と階調性を得るようにしている。
【０００５】
これに対し、熱転写方式のプリンタ装置の場合には、一つの画素において制御可能な熱の値を容易に変更できるため、一つの画素に対する階調性を多く取ることが可能となり、インクジェット方式に比べて滑らかな高画質画像を得ることができる。
【０００６】
また、サーマルヘッドの性能や用紙材料の品質の向上も目覚ましく、印刷画像の仕上がり品位においても、銀塩写真に見劣りしない程度の画質を得ることが可能となりつつある。このように、近年のデジタルカメラの進歩に歩調を合わせるように、熱転写方式のプリンタ装置が特に自然画像用のプリンタ装置として注目されている。
【０００７】
そこで、このようなプリンタ装置と、デジタルカメラなどの撮影機器とを直接的に接続する、または一体構成として、撮影された画像情報をコンピュータ等の情報処理装置を介することなくプリント出力するシステムが登場している。ここで、デジタルカメラとプリンタ装置とを直接的に接続したカメラダイレクトプリントシステムの一例について、具体的に説明する。
【０００８】
デジタルカメラ（以下、単にカメラ）で撮影された画像は、カメラ内の記録媒体に一旦保存される。この画像をプリンタ装置で印刷出力するために、ユーザはカメラとプリンタ装置を専用のケーブルで直接的に接続する。次に、カメラ内の記録媒体に保存されている画像がカメラのディスプレイに表示され、ユーザはプリントしたい画像を選択する。この時、画像を選択するためにカメラの有する操作部材を用いる。
【０００９】
そして、プリントしたい画像を選択することができたら、ユーザがカメラの操作部材に割り付けられたプリント指示キーを押下することによって、前記の選択された画像データがプリンタ装置に転送される。プリンタ装置では、受け取った画像データに対して印刷可能な形式となるようにデータ処理を施した後、用紙上に印刷出力する。
【００１０】
このようなプリンタ装置と、デジタルカメラ、カメラ付き携帯電話などの撮影機器とを直接的に接続する、または一体構成として、撮影された画像情報をコンピュータ等の情報処理装置を介することなくプリント出力するシステムが考えられている。また、撮影機器からの画像データを無線通信によってプリンタ装置に転送することで、やはり情報処理装置を介することなくプリント出力するダイレクトプリントシステムが登場している。
【００１１】
この場合、撮影機器で撮影した画像データを外部機器に送信する手段として、USBケーブルを使用して両者間を接続する有線通信技術、赤外線を利用した無線通信技術が知られている。カメラ付き携帯電話では、特に後者が用いられている。この技術では、撮影機器とプリンタ装置間のデータ通信を赤外線で行うため、ケーブルを接続するといった手間を必要としない。
【００１２】
以上のようなシステムを実現する"Ir Simple "と言う規格が、２００３年７月に発表されている（非特許文献１参照）。このIr Simpleに準拠したデジタルカメラ、カメラ付き携帯電話やプリンタ装置間であれば、JPEGファイルの送受信を非常に高速に行うことができるので、より利便性の高いカメラダイレクトプリントシステムを構築することが可能である。
【００１３】
【特許文献１】特開平１０ー２４３３２７号公報
【非特許文献１】Ir Simple(Infrared Simple)  Profile Version １.００  October １４, ２００５c Copyright ２００５, Infrared Data Association
【非特許文献２】IrDA Data Specifications (SIR/MIR/FIR/VFIR)
【発明の開示】
【発明が解決しようとする課題】
【００１４】
前記従来のプリントシステム、特に、赤外線通信機能をもったプリントシステムにおいては次のような解決すべき問題点があった。
[第１の問題点] 
受信装置がＭＡＩＮ ＣＰＵとIrDAコントローラ用ＩＣとで構成されたシステムにおいて、前記ＩＣがFLUSH機能を持たない場合、I/F部がハングアップに陥ることがある。IrDA（Infrared Data Association）は送付するデータサイズをあらかじめ伝達しない通信手段であり、I/F部の内部バッファ数で割り切れないデータを受信するケースが発生する。この間、ユーザ側から見ると短期的に操作を受け付けない状態となり、製品の仕様として非常に使い勝手が悪い問題点があった。
【００１５】
[第２の問題点]
IrDAは、通信相手や送受信の状態によって、通信自体が途絶することがしばしばある。IrDAは送付するデータサイズをあらかじめ伝達しない通信手段であり、通信途絶などが発生した場合は、「タイムアウト→復帰処理」が必要となる。この間、ユーザ側から見ると受信装置は、短期的に操作を受け付けない状態となり、製品の仕様として非常に使い勝手が悪い問題点があった。
【００１６】
[第３の問題点]
赤外線通信を行う相手がIrDA規格の非対応機であった場合、データを際限なく送りつけることがある。この場合、製品は赤外線受信状態から復帰することができず、ユーザの操作を全く受け付けない状態となってしまう。この間、受信装置はユーザ側から見ると操作を受け付けない状態となり、製品の仕様として非常に使い勝手が悪い問題点があった。
【００１７】
本発明は前述の問題点に鑑み、製品の仕様としての使い勝手を向上したIrDA制御装置を提供できるようにすることを目的としている。
【課題を解決するための手段】
【００１８】
本発明のIrDA制御装置は、ハードウェア要素が機能別にモジュール化されたIrDA制御装置であって、MAIN CPUモジュールと、IrDAコントローラモジュールと、光半導体モジュールとを有し、前記光半導体モジュールを介して外部機器との間で赤外線通信を行なうIrDA制御装置において、前記MAIN CPUモジュールは、前記光半導体モジュールから入力されるフレームデータを模した擬似データを生成する擬似データ生成手段と、前記光半導体モジュールを介して外部機器から入力された受信信号、または前記擬似データ生成手段により生成された擬似データの何れかを選択して出力する出力信号選択手段と、前記擬似データ生成手段及び出力信号選択手段の動作を制御する動作制御手段とを前記MAIN CPUモジュールが有し、前記出力信号選択手段から出力される信号を入力するための信号入力端子と、前記信号入力端子から入力される信号に基づいて割り込み信号を出力する割り込み信号出力手段とを前記IrDAコントローラモジュールが有し、前記IrDAコントローラモジュールは、所定数のフレームデータを保持可能なバッファを有し、前記割り込み信号出力手段は、前記バッファ内に端数データが残った際に前記割り込み信号を出力し、前記動作制御手段は、前記割り込み信号の受信に基いて前記擬似データ生成手段及び前記出力信号選択手段の動作を制御して、前記出力信号選択手段から前記擬似データを前記IrDAコントローラモジュールの信号入力端子に出力することにより、前記バッファ内に残った端数データを送り出すことを特徴とする。
【００１９】
本発明のIrDA制御方法は、ハードウェア要素が機能別にモジュール化されたIrDA制御装置を制御するための方法であって、MAIN CPUモジュールと、IrDAコントローラモジュールと、光半導体モジュールとを有し、前記光半導体モジュールを介して外部機器との間で赤外線通信を行なうIrDA制御装置の制御方法において、前記MAIN CPUモジュールは、前記光半導体モジュールから入力されるフレームデータを模した擬似データを生成する擬似データ生成工程と、前記光半導体モジュールを介して外部機器から入力された受信信号、または前記擬似データ生成工程において生成された擬似データの何れかを選択して出力する出力信号選択工程と、前記擬似データ生成工程及び出力信号選択工程の動作を制御する動作制御工程とを前記MAIN CPUモジュールが有し、前記出力信号選択工程から出力される信号を入力するための信号入力端子から入力される信号に基づいて割り込み信号を出力する割り込み信号出力工程を前記IrDAコントローラモジュールが有し、前記IrDAコントローラモジュールは、所定数のフレームデータを保持可能なバッファを有し、前記割り込み信号出力工程は、前記バッファ内に端数データが残った際に前記割り込み信号を出力し、
前記動作制御工程は、前記割り込み信号の受信に基いて前記擬似データ生成工程及び前記出力信号選択工程の動作を制御して、前記出力信号選択工程から前記擬似データを前記IrDAコントローラモジュールの信号入力端子に出力することにより、前記バッファ内に残った端数データを送り出すことを特徴とする。
【００２０】
本発明のプログラムは、ハードウェア要素が機能別にモジュール化されたIrDA制御装置を制御するためのプログラムであって、MAIN CPUモジュールと、IrDAコントローラモジュールと、光半導体モジュールとを有し、前記光半導体モジュールを介して外部機器との間で赤外線通信を行なうIrDA制御装置を制御する各工程をコンピュータに実行させるプログラムにおいて、前記MAIN CPUモジュールは、前記光半導体モジュールから入力されるフレームデータを模した擬似データを生成する擬似データ生成工程と、前記光半導体モジュールを介して外部機器から入力された受信信号、または前記擬似データ生成工程において生成された擬似データの何れかを選択して出力する出力信号選択工程と、前記擬似データ生成工程及び出力信号選択工程の動作を制御する動作制御工程とを前記MAIN CPUモジュールが有し、前記出力信号選択工程から出力される信号を入力するための信号入力端子から入力される信号に基づいて割り込み信号を出力する割り込み信号出力工程を前記IrDAコントローラモジュールが有し、前記IrDAコントローラモジュールは、所定数のフレームデータを保持可能なバッファを有し、前記割り込み信号出力工程は、前記バッファ内に端数データが残った際に前記割り込み信号を出力し、前記動作制御工程は、前記割り込み信号の受信に基いて前記擬似データ生成工程及び前記出力信号選択工程の動作を制御して、前記出力信号選択工程から前記擬似データを前記IrDAコントローラモジュールの信号入力端子に出力することにより、前記バッファ内に残った端数データを送り出すことをコンピュータに実行させることを特徴とする。
【発明の効果】
【００２１】
本発明によれば、MAIN CPUモジュールとIrDAコントローラモジュールとで構成された赤外線通信を行うシステムにおいて、ＣＰＵモジュール側で擬似データを生成する。そして、前記生成した擬似データを、必要に応じて、ＣＰＵモジュール側の出力信号選択手段を用いて前記IrDAコントローラモジュールに印加させるようにする。これにより、IrDAコントローラモジュールの復帰処理をスムーズに行うことができるようにして、ユーザの操作を受け付けない状態を短縮できるようにする。
【発明を実施するための最良の形態】
【００２２】
（第１の実施形態）
以下、添付の図面を参照して、本発明の好適な実施形態に基づいて詳細に説明する。第１の実施形態において、フラッシュ機能の実現について説明する。また、第２の実施形態及び第３の実施形態においては、送信が途絶えた場合でもスムーズな通信を再開可能にする復帰処理について説明する。
【００２３】
図１に、本実施形態におけるカメラダイレクトプリントシステムの構成例を示す。
本実施形態においては、赤外線送信機能付き携帯電話４（以下、単に「携帯電話」とする）で撮影したJPEG圧縮画像及び撮影後にメモリ媒体に保存したJPEG圧縮画像を、JPEGファイルのまま赤外線通信でプリンタ装置１に送出する。
【００２４】
プリンタ装置１内でJPEGファイルの伸長、リサイズ、プリントデータ作成等の画像処理を行った後、用紙上にカラー出力する。２はプリンタ装置側の赤外線受発光部であり、３は携帯電話側の赤外線受発光部である。
【００２５】
６は携帯電話４に配設された操作部材であり、ユーザは操作部材６を用いてプリントパターンやプリント対象画像、プリント指定枠、用紙サイズ等を選択する。操作部材６で選択した操作内容は、同じく携帯電話４に配設された液晶画面５によって確認することができる。
【００２６】
図２は、プリンタ装置１内において、プリント用データを印画するための構成を示すブロック図である。
図２中、１０はプリンタ装置１のシステム制御や演算処理を司るMAIN CPUであり、携帯電話４のカメラから送られてきた画像データ、CF(コンパクトフラッシュ（登録商標）メモリ)から取得した画像データを処理する画像処理エンジン等も内包する。カメラ側から送信された画像データ、またはCFから取得した画像データに対する解凍等の各種画像処理が行われ印画用の画像データが作られる。
【００２７】
１１はプリンタ装置１のシステム制御用プログラムを格納するFlash Memory、１２は画像データを一時的に保存したり、データ処理の作業用に用いたりするSＤＲＡＭである。１３はサーマルヘッド・モータ制御部、１４はサーマルヘッドであり、画像処理部で変換された画像データをサーマルヘッド・モータ制御部１３で電気信号に変換してサーマルヘッド１４に出力する。サーマルヘッド１４は、入力された電気信号を熱エネルギーに変換し、印画紙に記録を行う。
【００２８】
１５はモータドライバであり、各モータへ励磁信号を供給、紙搬送を行う。１７はプリンタ装置１での撮影画像や操作メニューを表示するLCDである。１６はLCDを駆動するLCDドライバである。１８はUSBHUBであり、接続されるデジタルカメラ、プリンタ装置間との通信を制御する。また、１９はカードメモリコントローラであり、ＣＰＵ１０に内包するカードコントローラで対応していない種類のカードメモリの制御を行う。
【００２９】
２０はデータファイルを保存しておくための記録媒体であるCF(コンパクトフラッシュメモリ)。また、ＩＣ２１は赤外線通信制御を行うＩＣであり、２２は赤外線を送受信する受発光部であり、接続される赤外線通信機能付きカメラや携帯電話との通信を制御する。
【００３０】
図３は、図２におけるＣＰＵ１０とＩＣ２１との接続を詳細に記述した構成図である。このＣＰＵ１０とＩＣ２１が、赤外線通信の接続〜切断までの制御の殆どを担当する。ＭＡＩＮ ＣＰＵ３１は、図２におけるＣＰＵ１０である。ＤＲＡＭ３４は同じく図２におけるＳＤＲＡＭ１２である。また、３２は同じく図２におけるＩＣ２１であり、３３は同じく図２における受発光部２２である。図３に示すように、本実施形態のIrDA制御装置は、ハードウェア要素が機能別にモジュール化されている。MAIN CPUモジュール（ＭＡＩＮ ＣＰＵ３１）と、IrDAコントローラモジュール（ＩＣ３２）と、光半導体モジュール（受発光部３３）とを有し、光半導体モジュールを介して外部機器との間で赤外線通信を行う。
【００３１】
３６はＭＡＩＮ ＣＰＵ３１に内包されるＣＰＵ ＣＯＲＥであり、MAIN ＣＰＵ３１の各部の動作を制御する動作制御手段として機能する。３８はＤＲＡＭ３４を制御するＭＥＭＯＲＹコントローラ、３５はフレーム生成モジュールである。これらは内部バスで接続されており、各々Direct Memory Access（以下、ＤＭＡ）を使用することが可能である。
【００３２】
受発光部３３の受信信号ＲＸは、ＭＡＩＮ ＣＰＵ３１のGPIO (General Purpose Input Output: 外部入出力装置)１ ４３に供給され、内部セレクタ４７を経由して、第２の端子GPIO2 ４４から出力される。本実施形態の内部セレクタ４７は、第１の端子GPIO1 ４３及び第２の端子GPIO2 ４４を備えている。
【００３３】
第２の端子GPIO2 ４４から出力された信号は、ＩＣ３２に設けられている信号入力端子ＩＲＤＩＮに入力される。そして、ＩＣ３２が内包するIrDAコントローラ４０内の受信バッファ４２に入力される。また、IrDAコントローラ４０は、受信バッファ４２にデータが存在している場合にはIrDA割り込み信号４５を出力する信号出力手段として機能して、バッファ内に端数データが残っていることをＣＰＵコア３６へ通知する。次に、信号ＩＲＤＩＮは、IrDAコントローラ４０内の受信バッファ４２からI/Fコントローラ３９内のバッファ４１へ転送される。その後、ＣＰＵ３１の入力ポート４６よりI/Fコントローラ３７に出力され、ＣＰＵコア３６で処理される。
【００３４】
IrDA割り込み信号４５を受信して擬似フレームを生成する場合は、ＣＰＵコア３６の制御に基づきフレーム生成モジュール３５で擬似データ生成を行う。そして、内部セレクタ４７をフレーム生成モジュール３５側に切り替えた後、ＩＣ３２へ出力する。なお、フレーム生成モジュール３５は、音声生成モジュールなどで代用することも可能である。また、ＩＣ３２は、２フレーム以上の所定数のフレームデータとその状態を保持可能なデータバッファとステータスレジスタを備えているものとする。
【００３５】
図４は、本実施形態により得られる効果を示した概念図である。また、図５は、前述のＭＡＩＮ ＣＰＵ３１とＩＣ３２との間で行われる処理手順を説明するフローチャートである。
【００３６】
先に述べたように、ＩＣ３２内にフラッシュ機能を持たないコントローラでは、受信するデータ数によってはI/Fコントローラ３９内にデータが残存してしまう場合がある。I/Fコントローラ３９内にデータが残存してしまった場合、ＩＣ３２はフリーズ状態に陥り、受発光部３３からの信号を一切受け付けなくなってしまう。これは、製品レベルで見るとユーザの操作を全く受け付けない状態となってしまう。本実施形態においては、このような不都合が発生するのを防止している。
【００３７】
以下、図５のフローチャートを参照しながら本実施形態の処理手順の一例を説明する。
まず、ＩＣ３２はIrDAフレームを通常に受信する（ステップＳ５０１）。このIrDAフレームを受信中に、ＭＡＩＮ ＣＰＵ３１がＩＣ３２からの割り込みの有無を検出する（ステップＳ５０２）。そして、ＭＡＩＮ ＣＰＵ３１は、IrDAの割り込みを検出するとステップＳ５０３に進み、内部セレクタ４７のGPIOをフレーム生成モジュール３５側に切り替える。
【００３８】
次に、ステップＳ５０４において、フレーム生成モジュール３５から擬似フレームのＤＭＡを開始する。その後、ステップＳ５０５において、ＭＡＩＮ ＣＰＵ３１がＩＣ３２からの割り込みの有無を検出する。この結果、割り込みを検出した場合にはステップＳ５０６に進み、ＤＭＡの受信完了を判定する。
【００３９】
この判定の結果、ＤＭＡの受信を完了した場合にはステップＳ５０７に進み、I/Fコントローラ３７のリセットを行う。その後、ステップＳ５０８に進み、ＩＣ３２のI/Fコントローラ３９のリセットを行う。
【００４０】
その後、ステップＳ５０９に進み、受信したフレームサイズをＩＣ３２から読み出して取得する。次に、擬似フレームのサイズをIrDAコントローラ４０から再度読み出して取得する（ステップＳ５１０）。
【００４１】
次に、ステップＳ５１１に進み、ステップＳ５０９〜ステップＳ５１０で得られたフレームサイズから、実際に受信した最終フレームサイズを取得する。次に、GPIOをIrDA側に切り替える（ステップＳ５１２）。その後、ステップＳ５１３において処理を終了させるか否かを判断する。
【００４２】
ステップＳ５１３の判断の結果、終了しない場合にはステップＳ５０１に戻って前述した処理を繰り返し行う。また、ステップＳ５１３の判断の結果、終了する場合にはエンドとなる。
【００４３】
本実施形態においては、前述したような処理を行なうことにより、受信するデータ数によってI/Fコントローラ３９内にデータが残存してしまった場合においても、I/Fコントローラ３９内に残った端数データを自動的に送り出すことができる。これにより、ＩＣ３２がフリーズ状態に陥り、受発光部３３からの信号を一切受け付けなくなってしまう不都合を防止することができる。
【００４４】
（第２の実施形態）
先に述べたように、赤外線通信を行っている最中に通信が途絶した場合は、受信信号中のフレームデータにおけるデータの転送完了を示すSTO（非特許文献２参照）を検出できず、一時的なフリーズ状態に陥る。この場合も製品レベルで見るとユーザの操作を全く受け付けない状態となってしまう。
【００４５】
図６は、本実施形態により得られる効果を示した概念図である。
図６（ａ）においては、「ＰＡ」、「ＳＴＡ」、「ＤＡＴＡ」、「ＣＲＣ」、「ＳＴＯ」よりなるＦＩＲ (Fast Infrared：4Mbps の通信速度)時のフレームデータを受信した際の動作を説明している。
【００４６】
図６（ｂ）においては、通常時においては途中で通信が途絶し、「ＳＴＯ」が送られてこなかったことにより、「割り込みができない」場合を示している。図６（ｃ）は、「擬似データ」を挿入することにより、「ＳＴＯ検出」が行われてＣＰＵによる割り込みが発生して、ＩＣがフリーズに陥るのを防ぐことができるようにしている様子を示している。
【００４７】
図７は、前述のＭＡＩＮ ＣＰＵ３１とＩＣ３２で行われる処理を説明するフローチャートである。
まず、ＩＣ３２はIrDAフレームデータを受信する（ステップＳ７０１）。次に、ステップＳ７０２において、ＳＴＯ検出による割り込みが上がるのを待機する。ステップＳ７０２において、ＳＴＯ検出が行われなかった場合は、ステップＳ７０３に進み、ＭＡＩＮ ＣＰＵ３１に配設されている内部セレクタ４７のGPIOをフレーム生成モジュール３５側に切替える。ステップＳ７０２において、ＳＴＯ検出が行われた場合には、エンドとなる。
【００４８】
次に、ステップＳ７０４において、フレーム生成モジュール３５から擬似フレームデータ（この場合、ＳＴＯのみ）のＤＭＡをスタートさせる。その後、ステップＳ７０５に進み、ＳＴＯ検出による割り込み待ちを行う。そして、ＳＴＯ検出が行われたらステップＳ７０６に進み、ＤＭＡの受信完了を判定する。この判定の結果、ＤＭＡの受信が完了していなければ、完了するまで待機する。そして、ＤＭＡの受信が完了した場合にはステップＳ７０７に進む。
【００４９】
ステップＳ７０７においては、IrDAコントローラ４０から受信フレームサイズを取得する。次に、ステップＳ７０８に進み、ＩＣ３２のIrDAコントローラ４０をリセットする。次に、ステップＳ７０９に進み、内部セレクタ４７のGPIOをIrDA側に切り替える。次に、ステップＳ７１０において、処理を終了させるか否かを判断する。
【００５０】
ステップＳ７１０の判断の結果、処理を終了させない場合にはステップＳ７０１に戻って前述した処理を繰り返し行う。一方、ステップＳ７１０の判断の結果、処理を終了する場合には、エンドとなる。
【００５１】
本実施形態においては、前述したような処理を行うことにより、IrDAの通信相手や送受信の状態によって、通信自体が途絶した場合においても、操作を受け付けない状態が長く続いてしまう不都合を解消することができる。
【００５２】
（第３の実施形態）
次に、図８及び図９を参照しながら本発明の第３の実施形態を説明する。
先に述べたように、赤外線通信相手がIrDA規格非対応機であった場合、データを際限なく送りつけてくることがある。この場合、製品は赤外線受信状態から復帰することができず、ユーザの操作を全く受け付けない状態となってしまう。
【００５３】
図８は、本実施形態により得られる効果を示した概念図である。図８（ａ）に示すように、市場にある赤外線通信機の中には、送付すべきデータの送信が完了しても、空データを送付しつづけてくる通信相手が存在する。この場合、ＩＣ３２は受信動作から復帰することができない。
【００５４】
そこで、本実施形態においては図８（ｂ）に示すように、ＭＡＩＮ ＣＰＵ３１側で受信データの解析後、不要なデータであると判断した場合、受信ラインを切断する。これにより、IrDA規格非対応機が通信相手であっても、製品がフリーズ状態に陥るのを防ぐことができるようにしている。
【００５５】
図９は、前述のＭＡＩＮ ＣＰＵ３１とＩＣ３２とで行われる処理手順の一例を説明するフローチャートである。
まず、ＩＣ３２はIrDAフレームを受信（ステップＳ９０１）する。
次に、ステップＳ９０２において、ＭＡＩＮ ＣＰＵ３１がＩＣ３２からの割り込みの有無を検出する。
【００５６】
ステップＳ９０２の検出の結果、割り込みを検出した場合にはステップＳ９０３に進み、ＤＭＡの転送が完了したか否かを判断する。この判断の結果、転送が完了したらステップＳ９０４に進む。
【００５７】
ステップＳ９０４においては、受信したデータが空データか否かの判定を行う。この判定処理は、それ以前に受け取ったJPEGデータからExifヘッダ情報などを解析して、明らかに過剰なファイルサイズを取得中かどうかを判定して行う。
【００５８】
ステップＳ９０４の判定の結果、過剰データと判定された場合にはステップＳ９０５に進み、MAIN ＣＰＵ３１に配設されている内部セレクタ４７のGPIOをフレーム生成モジュール３５側に切替え、ＩＣ３２と受発光部３３の接続を遮断する処理を行う。その後、ステップＳ９０６に進み、ＩＣ３２のリセットを行う。
【００５９】
次に、ステップＳ９０７において、処理を終了させるか否かを判断する。この判断の結果、処理を終了させない場合にはステップＳ９０１に戻って前述した処理を繰り返し行う。一方、ステップＳ９０７の判断の結果、処理を終了する場合には、エンドとなる。
【００６０】
（本発明に係る他の実施の形態）
前述した本発明の実施の形態におけるIrDA制御装置を構成する各手段は、コンピュータのＲＡＭやＲＯＭなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
【００６１】
また、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施の形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【００６２】
なお、本発明は、前述したIrDA制御方法における各工程を実行するソフトウェアのプログラム（実施の形態では図５、図７及び図９に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接、あるいは遠隔から供給する。そして、そのシステムあるいは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【００６３】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００６４】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【００６５】
プログラムを供給するための記録媒体としては種々の記録媒体を使用することができる。例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などがある。
【００６６】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【００６７】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００６８】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００６９】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施の形態の機能が実現される他、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行うことによっても前述した実施の形態の機能が実現され得る。
【００７０】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施の形態の機能が実現される。
【図面の簡単な説明】
【００７１】
【図１】本発明に係る一実施形態を示し、カメラダイレクトプリントシステムの構成例を示す図である。
【図２】本実施形態におけるサーマルプリンタ装置の構成例を示すブロック図である。
【図３】本実施形態におけるＭＡＩＮ ＣＰＵとＩＣの構成例を示すブロック図である。
【図４】第１の実施形態により得られる効果を説明する概念図である。
【図５】第１の実施形態において行われる処理手順の一例を説明するフローチャートである。
【図６】第２の実施形態により得られる効果を説明する概念図である。
【図７】第２の実施形態において行われる処理手順の一例を説明するフローチャートである。
【図８】第３の実施形態により得られる効果を説明する概念図である。
【図９】第３の実施形態において行われる処理手順の一例を説明するフローチャートである。
【符号の説明】
【００７２】
１  プリンタ装置
２  プリンタ装置側赤外線受発光部
３  携帯電話側赤外線受発光部
４  携帯電話
５  液晶画面
６  携帯電話の操作部材
１０  ＭＡＩＮ ＣＰＵ
１１  Flash ROM
１２  SＤＲＡＭ
１３  サーマルヘッド・モータ制御部
１４  サーマルヘッド
１５  モータドライバ
１６  ＬＣＤドライバ
１７  ＬＣＤ
１８  USBHUB
１９  カードメモリコントローラ
２０  CF
３１  ＭＡＩＮ ＣＰＵ
３２  ＩＣ
３３  受発光部
３４  ＤＲＡＭ
３５  フレーム生成モジュール
３６  ＣＰＵ ＣＯＲＥ
３７  I/Fコントローラ
３８  MEMORYコントローラ
３９  I/Fコントローラ
４０  IrDAコントローラ
４１  バッファ
４２  受信バッファ
４３  GPIO1
４４  GPIO2
４５  IrDA割り込み信号
４６  入力ポート
４７  内部セレクタ
【図１】
0005058738.tif 000002
【図２】
0005058738.tif 000003
【図３】
0005058738.tif 000004
【図４】
0005058738.tif 000005
【図５】
0005058738.tif 000006
【図６】
0005058738.tif 000007
【図７】
0005058738.tif 000008
【図８】
0005058738.tif 000009
【図９】
0005058738.tif 000010