(57)【要約】【課題】デジカメ等でメモリカードに記録した画像を出力する場合、メモリカードリーダを具備する装置に備わっているメモリカードリーダにメモリカードを挿入し、プリンタ内の制御部で画像を読み出し、印字する場合、ＰＣからメモリカードの編集を行うことができ、しかも、その操作が容易であるようにする。【解決手段】画像情報を制御する制御部と、外部情報処理装置と上記制御部とを接続する第１インタフェース手段と、所定の記憶媒体を読み書きする記憶媒体読み書き手段と、上記制御部と上記記憶媒体読み書き手段とを接続する第２インタフェース手段と、上記外部情報処理装置と上記制御部とのうちの一方に、第１のセマフォを設定し、上記第１のセマフォが設定されている方だけに、上記所定の記憶媒体へのアクセスを許可するアクセス制御手段とを有する。【選択図】　図１
2004094493.tif 000002
【特許請求の範囲】
【請求項１】
画像情報を制御する制御部と；
外部情報処理装置と上記制御部とを接続する第１インタフェース手段と；
所定の記憶媒体の読み書きを行う記憶媒体読み書き手段と；
上記制御部と上記記憶媒体読み書き手段とを接続する第２インタフェース手段と；
上記外部情報処理装置と上記制御部とのうちの一方に、第１のセマフォを設定し、上記第１のセマフォが設定されている方だけに、上記所定の記憶媒体へのアクセスを許可するアクセス制御手段と；
を有することを特徴とする記憶媒体処理装置。
【請求項２】
請求項１において、
上記第１のセマフォを取得し、上記アクセスが終了し、上記第１のセマフォを開放する際に、一定期間、上記第１のセマフォを保持した後に開放する機能を、上記制御部、上記外部情報処理装置のうちの少なくとも一方が有することを特徴とする記憶媒体処理装置。
【請求項３】
請求項１または請求項２において、
上記所定の記憶媒体を書き換える場合だけ、上記外部情報処理装置が、上記第１のセマフォを取得し、読み込みの際には上記第１のセマフォを必要とせずに、読み込みできるように制御することを特徴とする記憶媒体処理装置。
【請求項４】
請求項１〜請求項３のいずれか１項において、
上記外部情報処理装置と上記制御部とから上記所定の記憶媒体へアクセスする一連の処理について、第２のセマフォを設定し、
上記第２のセマフォを取得できた方のみが、上記一連の処理が終わるまで、上記所定の記憶媒体へ独占してアクセスできるように制御することを特徴とする記憶媒体処理装置。
【請求項５】
請求項１〜請求項３のいずれか１項において、
上記外部情報処理装置と上記制御部とから上記所定の記憶媒体へのアクセスに対して、一方の一連の処理手続きが終了するまで、他方の処理をはさまないようにスケジュールする手段を有することを特徴とする記憶媒体処理装置。
【請求項６】
請求項４または請求項５において、
上記第１、２のセマフォを持たない側が、上記所定の記憶媒体へアクセスしようとする際に、アクセスできない旨を表示する表示手段を有することを特徴とする記憶媒体処理装置。
【請求項７】
請求項１〜請求項６のいずれか１項において、
画像出力手段と；
上記制御部と上記画像出力手段とを接続する第３のインタフェース手段と；
を有し、上記所定の記憶媒体から読み出した画像を、上記画像出力手段から出力することを特徴とする記憶媒体処理装置。
【請求項８】
請求項７において、
上記第１、第２、第３のインタフェース手段のうちの少なくとも１つが、ＵＳＢであることを特徴とする記憶媒体処理装置。
【請求項９】
請求項１〜請求項８のいずれか１項において、
上記第２のインタフェース手段と上記記憶媒体読み書き手段とがＣＰＵバスに接続されているメモリカードコントローラであることを特徴とする記憶媒体処理装置。
【請求項１０】
画像情報を制御する制御段階と；
外部情報処理装置と、画像情報を制御する制御部とを接続する第１インタフェース段階と；
所定の記憶媒体の読み書きを行う記憶媒体読み書き段階と；
上記制御部と、上記所定の記憶媒体を読み書きする上記記憶媒体読み書き手段とを接続する第２インタフェース段階と；
上記外部情報処理装置と上記制御部とのうちの一方に、第１のセマフォを設定し、上記第１のセマフォが設定されている方だけに、上記所定の記憶媒体へのアクセスを許可するアクセス制御段階と；
を有することを特徴とする記憶媒体処理装置の制御方法。
【請求項１１】
画像情報を制御する制御部と；
外部情報処理装置と上記制御部とを接続する第１インタフェース手段と；
所定の記憶媒体の読み書きを行う記憶媒体読み書き手段と；
上記制御部と上記記憶媒体読み書き手段とを接続する第２インタフェース手段と；
上記制御部から上記所定の記憶媒体へアクセス中は、上記外部情報処理装置から上記所定の記憶媒体への書き込みができない旨を、上記外部情報処理装置へ通知する通知手段と；
を有することを特徴とする記憶媒体処理装置。
【請求項１２】
請求項１１において、
ユーザから上記所定の記憶媒体への書き込み禁止命令を受け付ける操作部を有し、
上記通知手段は、上記操作部から書き込み禁止命令を受け付けた際に、上記外部情報処理装置からの記憶媒体への書き込みができない旨を、上記外部情報処理装置へ通知する手段であることを特徴とする記憶媒体処理装置。
【請求項１３】
請求項１１または請求項１２において、
書き込みできない状態であるときに、上記外部情報処理装置から上記所定の記憶媒体への書込命令を受信した場合、一連の書込手続を上記制御部で受信し、レスポンスを返信し、そのデータを上記記憶媒体読み書き手段へは送らないことを特徴とする記憶媒体処理装置。
【請求項１４】
請求項１１〜請求項１３のいずれか１項において、
上記通知手段は、装置内部における上記所定の記憶媒体への一時的な書込禁止状態を、上記外部情報処理装置へ通知しない手段であることを特徴とする記憶媒体処理装置。
【請求項１５】
請求項１１〜請求項１４のいずれか１項において、
画像出力手段と；
上記制御部と上記画像出力手段とを接続する第３のインタフェース手段と；
を有し、上記所定の記憶媒体から読み出した画像を、上記画像出力手段から出力することを特徴とする記憶媒体処理装置。
【請求項１６】
請求項１５において、
上記第１、第２、第３のインタフェース手段のうちの少なくとも１つが、ＵＳＢであることを特徴とする記憶媒体処理装置。
【請求項１７】
請求項１１〜請求項１５のいずれか１項において、
上記第２のインタフェース手段と上記記憶媒体読み書き手段とがＣＰＵバスに接続されているメモリカードコントローラであることを特徴とする記憶媒体処理装置。
【請求項１８】
画像情報を制御する制御段階と；
外部情報処理装置と、画像情報を制御する制御部とを接続する第１インタフェース段階と；
所定の記憶媒体の読み書きを行う記憶媒体読み書き段階と；
上記制御部と、上記所定の記憶媒体の読み書きを行う記憶媒体読み書き手段とを接続する第２インタフェース段階と；
上記制御部から上記所定の記憶媒体へアクセス中は、上記外部情報処理装置から上記所定の記憶媒体への書き込みができない旨を、上記外部情報処理装置へ通知する通知段階と；
を有することを特徴とする記憶媒体処理装置の制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、記憶媒体処理装置およびその制御方法に関する。
【０００２】
【従来の技術】
近年、デジタルカメラ等の記憶媒体として、半導体メモリカードが注目を浴び、また、ＰＣ（パーソナルコンピュータ）で、上記メモリカードを読み書きすることが求められている。そこで、各社は、メモリカードをＰＣで読み書きするためのメモリカードリーダ・ライタを開発している。
【０００３】
また、プリンタ、コピー、ファクシミリ等のプリンタを備えた機器にも、デジカメの画像を出力する要求があり、メモリカードリーダを持つプリンタ、コピー、ファクシミリ等が増えている。
【０００４】
デジカメ等でメモリカードに記録した画像を出力する場合、上記のように、プリンタに備わったメモリカードリーダにメモリカードを挿入し、プリンタ内の制御部で画像を読み出し、印字する。
【０００５】
また、このような印刷機能を持つ機器は、ＰＣのプリンタとして用いられるので、ＰＣとのインタフェースを持つものも多い。このような状況で、メモリカードＰＣからメモリカードを読み書きしたいという要望が生まれる。
【０００６】
この場合、メモリカードは、プリンタ内蔵の制御部と、外部に接続されるＰＣとの両方からアクセスされることがある。
【０００７】
【発明が解決しようとする課題】
プリンタ内の制御部と、外部のＰＣとの両方からアクセスされると、さまざまな問題が生じる。
【０００８】
たとえば、画像をプリンタで印刷中に、その画像ファイルを、ＰＣから削除されるような場合が考えられる。
【０００９】
そこで、従来のプリンタは、ＰＣからの書き込みを、そもそも禁止している。しかし、このようにすると、ＰＣからメモリカードの編集を行うことができず、不便であるという問題がある。
【００１０】
また、別な解決策として、画像を出力するモードと、ＰＣから読み書きするモードとを切り替える従来例が存在している。
【００１１】
ところが、この従来例では、操作が煩雑であるという問題がある。
【００１２】
本発明は、デジカメ等でメモリカードに記録した画像を出力する場合、メモリカードリーダを具備する装置に備わっているメモリカードリーダにメモリカードを挿入し、プリンタ内の制御部で画像を読み出し、印字する場合、ＰＣからメモリカードの編集を行うことができ、しかも、その操作が容易である記憶媒体処理装置およびその制御方法を提供することを目的とするものである。
【００１３】
【課題を解決するための手段】
本発明は、画像情報を制御する制御部と、外部情報処理装置と上記制御部とを接続する第１インタフェース手段と、所定の記憶媒体を読み書きする記憶媒体読み書き手段と、上記制御部と上記記憶媒体読み書き手段とを接続する第２インタフェース手段と、上記外部情報処理装置と上記制御部とのうちの一方に、第１のセマフォを設定し、上記第１のセマフォが設定されている方だけに、上記所定の記憶媒体へのアクセスを許可するアクセス制御手段とを有する記憶媒体処理装置である。
【００１４】
【発明の実施の形態および実施例】
図１は、本発明の一実施例である記憶媒体処理装置１０の概略構成を示すブロック図である。
【００１５】
記憶媒体処理装置１０は、ＣＰＵ１１と、ＲＯＭ１２と、ＲＡＭ１３と、表示部１４と、ＵＳＢホスト制御部１５と、ＵＳＢファンクション制御部１６と、ＣＰＵバス１７と、記録部１８と、カードリーダ部１９とを有する。
【００１６】
ＣＰＵ１１は、システム制御部であり、記憶媒体処理装置１０の全体を制御する。
【００１７】
ＲＯＭ１２は、ＣＰＵ１１が実行する制御プログラムや組み込みオペレーティングシステム（ＯＳ）プログラム等を格納する。上記実施例では、ＲＯＭ１２に格納されている各制御プログラムは、ＲＯＭ１２に格納されている組み込みＯＳの管理下で、スケジューリングやタスクスイッチ等のソフトウェア制御を行う。
【００１８】
ＲＡＭ１３は、ＤＲＡＭ（ｄｙｎａｍｉｃ　ＲＡＭ）等で構成され、プログラム制御変数等を格納し、また、設定値や記憶媒体処理装置１０の管理データ等を格納し、各種ワーク用バッファ領域が設けられている。
【００１９】
表示部１４は、ＬＥＤ（発光ダイオード）とＬＣＤ（液晶ディスプレイ）等によって構成され、記憶媒体処理装置１０の動作状況、ステータス状況の表示、カードリーダの状態の表示を行う表示部である。
【００２０】
ＵＳＢホスト制御部１５は、ＵＳＢ（ユニバーサルシリアルバス）通信規格で定められたプロトコルで通信を行うための制御部である。ＵＳＢ通信規格は、双方向のデータ通信を高速に行うことができる規格であり、１台のホスト（マスター）に対し、複数のハブまたはファンクション（スレーブ）を接続することができる。ＵＳＢホスト制御部１５は、ＵＳＢ通信におけるホストの機能を有する。
【００２１】
ＵＳＢファンクション制御部１６は、ＵＳＢインタフェースの通信制御を行うものであり、ＵＳＢ通信規格に従って、プロトコル制御を行い、ＣＰＵ１１が実行するＵＳＢ制御タスクからのデータを、パケットに変換し、外部の情報処理端末に、ＵＳＢパケット送信を行い、逆に、外部の情報処理端末からのＵＳＢパケットを、データに変換し、ＣＰＵ１１に送信する。
【００２２】
記録部１８は、レーザビームプリンタやインクジェットプリンタ等からなる印刷装置であり、カラー画像データ、またはモノクロ画像データを印刷部材に印刷する。また、ＵＳＢホスト制御部１５との間で、ＵＳＢ通信規格で定められたプロトコルで通信を行い、そのためＵＳＢファンクションの機能を有する。
【００２３】
カードリーダ部１９は、各種メモリカードのインタフェースを有し、メモリカードを読み書きする。また、ＵＳＢホスト制御部１５との間で、ＵＳＢ通信規格で定められたプロトコルで通信を行い、そのためＵＳＢファンクションの機能を有する。
【００２４】
上記構成要素１１〜１６は、ＣＰＵ１１が管理するＣＰＵバス１７を介して、相互に接続されている。
【００２５】
つまり、ＣＰＵ１１は、画像情報を制御する制御部の例であり、カードリーダ部１９は、所定の記憶媒体を読み書きする記憶媒体読み書き手段の例である。ＵＳＢインタフェース２１は、外部情報処理装置と上記制御部とを接続する第１インタフェース手段の例である。ＵＳＢインタフェース２２は、上記制御部と上記記憶媒体読み書き手段とを接続する第２インタフェース手段の例である。
【００２６】
ＣＰＵ１１は、上記外部情報処理装置と上記制御部とのうちの一方に、第１のセマフォを設定し、上記第１のセマフォが設定されている方だけに、上記所定の記憶媒体へのアクセスを許可するアクセス制御手段の例である。
【００２７】
図２は、記憶媒体書込システムを構成する外部情報処理装置３０の概略構成を示すブロック図である。
【００２８】
外部情報処理装置３０は、ＣＰＵ３１と、ＲＯＭ３２と、ＲＡＭ３３と、内部記憶装置３４と、外部記憶装置３５と、外部記憶ディスク３６と、操作部３７と、表示部３８と、通信部３９と、ＵＳＢホスト制御部４０と、ＣＰＵバス４１とを有する。
【００２９】
ＣＰＵ３１は、ＲＯＭ３２、ＲＡＭ３３、または、内部記憶装置３４、外部記憶装置３５に記憶されているプログラムから読み出されたプログラムに従って、ＣＰＵバス４１を介して、外部情報処理装置３０の全体の動作を制御する。
【００３０】
ＲＯＭ３２は、ＣＰＵ３１の制御プログラム等を格納している。
【００３１】
ＲＡＭ３３は、一時的にプログラムや画像データを記憶し、外部情報処理装置３０の処理を高速に動作させるものである。
【００３２】
内部記憶装置３４は、オペレーティングシステム、各種アプリケーションプログラムや画像データ等が格納されている。内部記憶装置３４には、本実施例における文字データ処理工程を含む、記憶媒体処理装置１０に対する各種制御命令やデータの送受信を行うためのアプリケーションソフト、プリンタドライバソフト、スキャナドライバソフト、ファクシミリドライバソフト、各機能毎のＵＳＢクラスドライバソフトおよびＵＳＢバスドライバソフト等がインストールされている。
【００３３】
通常、これらのアプリケーションソフトおよびドライバソフトは、これらが記憶されている他のコンピュータ可読媒体から外部記憶ディスク３６（フロッピー（登録商標）ディスク、ＣＤ−ＲＯＭメディア等）によってデータを受け取り、外部記憶装置３５を制御することによって、インストールする。また、通信回線Ｌ１によって通信部３９（ネットワークやモデム）で、アプリケーションソフトおよびドライバソフトを受け取り、内部記憶装置３４にインストールすることも可能である。
【００３４】
操作部３７は、オペレータからの指示入力手段としてのキーボードやマウス（不図示）を制御するものである。印刷の実行を起動する場合、通常、操作部３７のキーボードやマウスが使用される。
【００３５】
表示部３８は、オペレータに各種表示を行うものである。外部情報処理装置３０で印刷の実行起動をかける場合は、確認ダイヤログ等を表示部３８に表示し、オペレータに入力を促す。また、印刷動作の実行中は、印刷状況を示す情報をオペレータに提供する。
【００３６】
通信部３９は、図示しないネットワークに接続し、通信回線Ｌ１を介して、インターネットプロバイダへの接続や、相手通信装置との間でのデータや画像情報等の通信を行う。
【００３７】
ネットワークや通信回線Ｌ１への接続に関しては、公知の方法を使用し、詳述しない。
【００３８】
ＵＳＢホスト制御部４０は、ＵＳＢインタフェースの通信制御を行うものであり、ＵＳＢ通信規格に従って、ＣＰＵ３１からのデータを、パケットに変換し、記憶媒体処理装置１０に、ＵＳＢパケットを送信し、逆に、記憶媒体処理装置１０からのＵＳＢパケットを、データに変換し、ＣＰＵ３１に送信する。通信制御方法に関しては、公知の方法を使用し、詳述しない。
【００３９】
次に、記憶媒体処理装置１０によって、メモリカード内の画像を出力する手順について説明する。
【００４０】
この手順に対応するプログラムは、ＲＯＭ１２に記録され、このプログラムをＣＰＵ１１が実行する。
【００４１】
まず、カードリーダ部１９にメモリカードが接続され、カードリーダ部１９がメモリカードから画像を読み取る。カードリーダ部１９とＵＳＢホスト制御部１５とは、ＵＳＢインタフェース２２で接続されている。カードリーダ部１９は、マス・ストレージクラス　バルクオンリー準拠としている。
【００４２】
本実施例において、カードリーダ部１９は、ＵＳＢホスト制御部１５を介して、ＣＰＵ１１と接続されているが、メモリカードをＣＰＵバス１７に直接接続してもよく、メモリカードコントローラＩＣをＣＰＵバス１７に接続し、メモリカードを接続してもよい。また、カードリーダ部１９をアクセスする際の排他処理については、後述する。
【００４３】
メモリカードから読み取った画像は、ＲＡＭ１３に保存され、ＣＰＵ１１がＪＰＥＧ方式等から非圧縮画像データにデコードし、プリンタに出力される。
【００４４】
次に、外部情報処理装置３０を用いて、記憶媒体処理装置１０で、メモリカードをアクセスする手順について説明する。
【００４５】
外部情報処理装置３０から、ＵＳＢホスト制御部４０を介して、メモリカードをアクセスするコマンドを発行する。これは、内部記憶装置３４に記憶され、ＲＡＭ３３に読み込まれたＯＳに組み込まれたマス・ストレージクラス対応のストレージドライバと、ＵＳＢホスト制御部４０を制御するドライバ、スケジューラとを用いる。これらのドライバによって、ＵＳＢパケットになったドライバは、記憶媒体処理装置１０へ送られる。
【００４６】
記憶媒体処理装置１０では、ＵＳＢファンクション制御部１６で、上記ＵＳＢパケットを受信し、ＣＰＵ１１内蔵のＤＭＡコントローラによって、ＲＡＭ１３へパケットが書き込まれる。
【００４７】
このコマンドを、ＣＰＵ１１で解析し、メモリカード書き込みコマンドであれば、ＵＳＢホスト制御部１５を介して、カードリーダ部１９へコマンドを先に送り、その間とその後とに受信したメモリカードに書き込むデータを、受信し、それもカードリーダ部１９へ送る。
【００４８】
上記解析したコマンドがステータス応答コマンドやメモリカード読み込みコマンドであれば、コマンドをそのままカードリーダ部１９へ送る。ここでのカードリーダ部１９の排他処理については、後述する。
【００４９】
送られたコマンドを、カードリーダ部１９のコントローラが解析し、ステータス応答コマンドであれば、ステータスとＣＳＷ命令という受信確認データを読み出し、メモリカード読み出しコマンドであれば、メモリカードから指定されたブロックのデータを読み出し、ＣＳＷと一緒に、ＵＳＢホスト制御部１５へ送る。
【００５０】
上記解析したコマンドが書き込みコマンドであれば、メモリカードにデータを書き込んだ後に、ＣＳＷをＵＳＢホスト制御部１５へ送る。この部分は、一般に、ＰＣ周辺機器として販売されているＵＳＢカードリーダをそのまま用いられる構成にしてあるので、詳細な動作は省略する。
【００５１】
カードリーダ部１９から受信した読み出しデータと、ＣＳＷとを、ＵＳＢホスト制御部１５が受信し、ＣＰＵ１１のＤＭＡコントローラで、ＲＡＭ１３へ転送し、さらに、ＣＰＵ１１のＤＭＡコントローラで、ＵＳＢファンクション制御部１６へ転送する。ＵＳＢファンクション制御部１６で、ＵＳＢパケットに分割され、外部情報処理装置３０へ転送される。
【００５２】
上記手順において、外部情報処理装置３０からは、あたかもＵＳＢ接続のメモリカードリーダに直接接続されているように利用することができる。
【００５３】
続いて、上記実施例における排他処理について説明する。
【００５４】
排他処理についても、記憶媒体処理装置１０内のＲＯＭ１２に書き込まれているプログラムを、ＣＰＵ１１が実行することによって実現する。
【００５５】
外部情報処理装置３０からメモリカードをアクセスする場合と、記憶媒体処理装置１０内の記録部１８が出力するためにメモリカードをアクセスする場合とについて、書き込みセマフォを設定する。
【００５６】
外部情報処理装置３０からカードリーダ部１９にデータを書き込む場合、書き込みセマフォの取得を試みる。この試みによってセマフォの取得に成功するか、または、書き込み後一定期間内にセマフォを既に取得した状態であれば、上記書き込み手順に従って、カードリーダ部１９に書き込みを行う。
【００５７】
上記書き込みが終了し、しかも一定期間が過ぎたら、セマフォを開放する。書き込み以外は、セマフォに関係なく、カードリーダ部１９にアクセスできる。上記セマフォを取得できなければ、ＣＳＷのエラービットを１にし、書き込み不可のエラーを外部情報処理装置３０に返す。
【００５８】
記憶媒体処理装置１０内でカードリーダ部１９を用いる場合、ユーザーからメモリカードの画像を記録部へ出力する指示が出たら、まず、書き込みセマフォの取得を試みる。上記セマフォを取得できなければ、外部情報処理装置３０が、メモリカードの利用中であることを、表示部１４に表示し、処理を終了する。または、セマフォが取得できるまで、そのまま待機するようにしてもよい。
【００５９】
セマフォを取得できたら、上記手順に従って、メモリカード内の画像を記録部１８に出力する。出力が終了したら、書き込みセマフォを開放する。
【００６０】
上記のようにすれば、記憶媒体処理装置１０内で記録部１８へ出力中に、外部情報処理装置３０から読み出しが発生し、ＵＳＢホスト制御部１５の制御は、別タスクとし、一方のＣＢＷを受信したら、ＤＡＴＡの送受信、ＣＳＷの受信が終了するまで、他方のＣＢＷは、受け付けたまま保持する。
【００６１】
つまり、上記実施例は、画像情報等の制御をする制御部と、ＰＣと制御部を接続する第１のインタフェースと、カードリーダと、制御部とカードリーダとを接続する第２のインタフェースをもち、ＰＣと制御部とからカードリーダへのアクセスについて、書き込みセマフォと、コマンドセマフォとを設定する。
【００６２】
ＰＣからカードリーダを用いる場合、制御部は、書き込みを行う恐れが無いので、読み込みを自由に実行することができる。ＰＣからの書き込み中は、メモリカードの内容が保証できないので、ＰＣが書き込みセマフォを取得する。このセマフォを取得できれば、メモリカードへ書き込みすることができる。上記セマフォを取得できなければ、内蔵プリンタに出力する等のデータに変化があってはいけないので、書き込み不可のエラーをＰＣに返す。
【００６３】
このときに、ＰＣからの書き込みは、データを書き込んでからＦＡＴ（ファイル・アロケーション・テーブル）を書き込む等、複数回に分かれることが多い。この書き込みの途中で、制御部にセマフォを取得されると、正常に書き込みが終了できないので、書き込みが終了してから一定期間保持した後に、セマフォを開放する。
【００６４】
制御部からの場合、制御部は、主に画像の出力に用いるので、書き込むことはないが、画像出力中に画像を書き換えられると、正常な画像が出力できなくなるので、画像出力モード中は、制御部が書き込みセマフォを取得する。セマフォを取得できなければ、メモリカードがビジーであることを、装置のオペレーションパネル等に表示し、ＰＣの書き込みが終了するのを待つ。上記のように、書き込み処理に関して排他処理を実現する。
【００６５】
また、メモリカードへアクセスするためのコマンドは、マス・ストレージクラス準拠のカードリーダであれば、ＣＢＷと呼ばれるコマンド、ＤＡＴＡ、ＣＳＷと呼ばれるレスポンスの３つで１組になる。
【００６６】
たとえば、ＰＣからの１組のコマンドが終わるまでは、書き込みセマフォに関係なく、制御部のコマンドを受け付けることができない。したがって、コマンドを発行する前に、コマンドセマフォを取得する。
【００６７】
または、片方の１組の処理が終わるまで、他方の処理を受け取り、順番に処理するスケジュール機能を持ったタスクを、他の処理と別に走らせるようにしてもよい。
【００６８】
上記のように、書込禁止権とコマンド発行権との２つの制御によって、１つのカードリーダを、制御部による内部の利用と、ＰＣからの外部からの利用との両方に使うことができる。
【００６９】
上記実施例では、ＰＣからの書き込みも安全に行うことができ、ＰＣで利用する場合と、機器単体で制御部から利用する場合とのモード切り替えを実行する必要がない。
【００７０】
上記実施例によれば、１台のメモリカードリーダを、装置内部の制御部と、外部のＰＣとの両方から、同時に使うことができ、制御部、ＰＣのそれぞれから用いる場合に、面倒なモード切り替えを行う必要がない。
【００７１】
また、上記実施例によれば、ＰＣからは、あたかも独立し、一般に市販されているＵＳＢカードリーダが接続されているように使うことができる。
【００７２】
さらに、ＰＣからメモリカードへの書き込みも、同時に接続されている制御部を、ユーザが気にかけることなく、安全に行うことができる。
【００７３】
そして、ＰＣから一般的なカードリーダに見えること、書き込みの排他制御が装置内で行われているので、特別なコマンドや排他制御を実現するようなデバイスドライバを新たに開発せずに、ＯＳ付属のデバイスドライバを利用することができる。
【００７４】
ところで、従来は、書込禁止状態を実現するために、独自のコマンド体系でＰＣに書込禁止状態を通知する方法がある。しかし、この従来方法では、ＰＣのＯＳに内蔵している一般的なデバイスドライバでは動作しないという問題がある。
【００７５】
本発明は、メモリカード内の画像の出力中等、メモリカードが書き換えられてはならない場合、書込禁止として処理するだけで、メモリカードは使用禁止にはしないので、ＰＣに常にメモリカードが接続されている状態にすることができ、したがって、面倒なモード切り替えを必要としない記憶媒体処理装置およびその制御方法を提供することを目的とするものである。
【００７６】
図３は、本発明の第２の実施例である記憶媒体処理装置６０の概略構成を示すブロック図である。
【００７７】
記憶媒体処理装置６０は、ＣＰＵ６１と、ＲＯＭ６２と、ＲＡＭ６３と、表示部６４と、操作パネル６５と、ＵＳＢホスト制御部６６と、記録部６７と、カードリーダ部６８と、ＵＳＢファンクション制御部６９と、ＣＰＵバス７１とを有する。
【００７８】
ＣＰＵ６１は、システム制御部であり、記憶媒体処理装置６０の全体を制御する。ＲＯＭ６２は、ＣＰＵ６１が実行する制御プログラム、組み込みオペレーティングシステム（ＯＳ）プログラム等を格納する。第２の実施例では、ＲＯＭ６２に格納されている各制御プログラムは、ＲＯＭ６２に格納されている組み込みＯＳの管理下で、スケジューリングやタスクスイッチ等のソフトウェア制御を行う。
【００７９】
ＲＡＭ６３は、ＤＲＡＭ（ｄｙｎａｍｉｃ　ＲＡＭ）等で構成され、プログラム制御変数等を格納し、また、設定値や記憶媒体処理装置６０の管理データ等を格納し、各種ワーク用バッファ領域が設けられている。
【００８０】
表示部６４は、ＬＥＤ（発光ダイオード）とＬＣＤ（液晶ディスプレイ）等によって構成され、記憶媒体処理装置６０の動作状況、ステータス状況の表示、そしてカードリーダの状態の表示を行う表示部である。
【００８１】
操作パネル６５は、記憶媒体処理装置６０にユーザから各種指示を入力するもので、ＣＰＵ６１に、バスかＣＰＵ６１のポートに接続され、方向キー、決定、解除、各機能キー等によって構成されている。
【００８２】
ＵＳＢホスト制御部６６は、ＵＳＢ通信規格で定められたプロトコルで通信を行う制御部である。ＵＳＢ通信規格は、双方向のデータ通信を高速に行うことができる規格であり、１台のホストに対し、複数のハブまたはファンクションを接続することができる。ＵＳＢホスト制御部６６は、ＵＳＢ通信におけるホストの機能を有する。
【００８３】
ＵＳＢファンクション制御部６９は、ＵＳＢインタフェースの通信制御を行うものであり、ＵＳＢ通信規格に従って、プロトコル制御を行い、ＣＰＵ６１が実行するＵＳＢ制御タスクからのデータを、パケットに変換し、外部の情報処理端末に、ＵＳＢパケット送信を行い、逆に、外部の情報処理端末からのＵＳＢパケットを、データに変換し、ＣＰＵ６１に送信する。
【００８４】
記録部６７は、レーザビームプリンタやインクジェットプリンタ等からなる印刷装置であり、カラー画像データ、またはモノクロ画像データを印刷部材に印刷する。また、ＵＳＢホスト制御部６６との間で、ＵＳＢ通信規格で定められたプロトコルで通信を行い、そのためＵＳＢファンクションの機能を有する。
【００８５】
カードリーダ部６８は、各種メモリカードのインタフェースを有し、メモリカードを読み書きし、ＵＳＢホスト制御部６６との間で、ＵＳＢ通信規格で定められたプロトコルで通信を行い、そのために、ＵＳＢファンクションの機能を有する。
【００８６】
上記構成要素６１〜６６、６９は、ＣＰＵ６１が管理するＣＰＵバス７１を介して、相互に接続されている。
【００８７】
つまり、ＣＰＵ６１は、画像情報を制御する制御部の例であり、ＵＳＢインタフェース７３は、外部情報処理装置と上記制御部とを接続する第１インタフェース手段の例である。カードリーダ部６８は、所定の記憶媒体の読み書きを行う記憶媒体読み書き手段の例である。
【００８８】
ＵＳＢインタフェース７２は、上記制御部と上記記憶媒体読み書き手段とを接続する第２インタフェース手段の例である。ＣＰＵ６１は、上記制御部から上記所定の記憶媒体へアクセス中は、上記外部情報処理装置から上記所定の記憶媒体への書き込みができない旨を、上記外部情報処理装置へ通知する通知手段の例である。
【００８９】
次に、記憶媒体書込システムを構成する外部情報処理装置８０の概略を詳細に説明する。
【００９０】
図４は、外部情報処理装置８０の概略構成を示すブロック図である。
【００９１】
外部情報処理装置８０は、ＣＰＵ８１と、ＲＯＭ８２と、ＲＡＭ８３と、内部記憶装置８４と、外部記憶装置８５と、外部記憶ディスク８６と、操作部８７と、表示部８８と、通信部８９と、ＵＳＢホスト制御部９０とを有する。
【００９２】
ＣＰＵ８１は、ＲＯＭ８２、ＲＡＭ８３、または、内部記憶装置８４、外部記憶装置８５に記憶されているプログラムから読み出されたプログラムに従って、ＣＰＵバス９１を介して、外部情報処理装置８０全体の動作を制御する。
【００９３】
ＲＯＭ８２は、ＣＰＵ８１の制御プログラム等を格納している。
【００９４】
ＲＡＭ８３は、プログラム、画像データを一時的に記憶し、外部情報処理装置８０の処理を高速に動作させるためのものである。
【００９５】
内部記憶装置８４は、オペレーティングシステム、各種アプリケーションプログラムや画像データ等が格納されている。内部記憶装置８４には、第２の実施例における文字データ処理工程を含む記憶媒体処理装置６０に対する各種制御命令、データの送受信を行うためのアプリケーションソフト、プリンタドライバソフト、スキャナドライバソフト、ファクシミリドライバソフト、機能ごとのＵＳＢクラスドライバソフト、ＵＳＢバスドライバソフト等がインストールされている。通常、これらのアプリケーションソフトとドライバソフトとは、これらが記憶された他のコンピュータ可読媒体から外部記憶ディスク８６（フロッピー（登録商標）ディスク、ＣＤ−ＲＯＭメディア等）によって、データを受け取り、外部記憶装置８５を制御することによって、インストールする。また、通信回線Ｌ２によって、通信部８９（ネットワークやモデム）が、アプリケーションソフトとドライバソフトとを受け取り、内部記憶装置８４にインストールするようにしてもよい。
【００９６】
操作部８７は、オペレータからの指示入力手段としてのキーボードやマウス（不図示）を制御するものである。印刷の実行を起動する場合、通常、操作部８７のキーボードやマウスが使用される。
【００９７】
表示部８８は、オペレータに各種表示を行うものである。外部情報処理装置８０で印刷の実行起動をかける場合は、確認ダイヤログ等を表示部８８に表示し、オペレータに入力を促す。また、印刷動作の実行中は、印刷状況を示す情報をオペレータに提供する。
【００９８】
通信部８９は、図示しないネットワークに接続し、通信回線Ｌ２を通してインターネットプロバイダへの接続や、相手通信装置との間でのデータや画像情報等の通信を行う。
【００９９】
ネットワークや通信回線Ｌ２への接続は、公知の方法を使用するので、詳述はしない。
【０１００】
ＵＳＢホスト制御部９０は、ＵＳＢインタフェースの通信制御を行うものであり、ＵＳＢ通信規格に従って、ＣＰＵ８１からのデータを、パケットに変換し、記憶媒体処理装置６０に、ＵＳＢパケットを送信し、逆に、記憶媒体処理装置６０からのＵＳＢパケットを、データに変換し、ＣＰＵ８１に送信する。通信制御方法として、公知の方法を使用するので、詳述はしない。
【０１０１】
次に、記憶媒体処理装置６０でメモリカード内の画像を出力する動作について説明する。
【０１０２】
この動作は、ＲＯＭ６２に記録され、ＣＰＵ６１が実行する。
【０１０３】
まず、カードリーダ部６８に接続されたメモリカードから画像を読み取る。カードリーダ部６８とＵＳＢホスト制御部６６とは、ＵＳＢインタフェースで接続され、カードリーダは、マスストレージクラス　バルクオンリー準拠としている。第２の実施例では、カードリーダ部６８は、ＵＳＢホスト制御部６６を介して、ＣＰＵ６１と接続されているが、メモリカードを、バスに直接接続するようにしてもよく、メモリカードコントローラＩＣをバスに接続し、メモリカードを接続してもよい。
【０１０４】
メモリカードから読み取った画像は、ＲＡＭ６３に保存され、ＣＰＵ６１によって、ＪＰＥＧ方式等から非圧縮画像データにデコードされ、プリンタに出力される。
【０１０５】
次に、外部情報処理装置８０を用いて、記憶媒体処理装置６０で、メモリカードをアクセスする動作について説明する。
【０１０６】
外部情報処理装置８０から、ＵＳＢホスト制御部９０を介して、メモリカードをアクセスするコマンドを発行する。これは、内部記憶装置８４に記憶され、ＲＡＭ８３に読み込まれたＯＳに組み込まれたマスストレージクラス対応のストレージドライバと、ＵＳＢホスト制御部９０を制御するドライバと、スケジューラとを用いる。これらのドライバによって、ＵＳＢパケットとなったドライバは、記憶媒体処理装置６０へ送られる。
【０１０７】
記憶媒体処理装置６０では、ＵＳＢファンクション制御部６６で上記ＵＳＢパケットを受信し、ＣＰＵ６１内蔵のＤＭＡコントローラによって、ＲＡＭ６３へパケットが書き込まれる。
【０１０８】
このコマンドを、ＣＰＵ６１で解析し、メモリカード書き込みコマンドであれば、ＵＳＢホスト制御部６６を介して、カードリーダ部６８へコマンドを先に送り、その間とその後とに受信したメモリカードに書き込むデータを受信し、それもカードリーダ部６８へ送る。上記コマンドがステータス応答コマンドやメモリカード読み込みコマンドであれば、コマンドをそのままカードリーダ部６８へ送る。
【０１０９】
送られてきたコマンドを、カードリーダ部６８のコントローラで解析し、ステータス応答コマンドであれば、ステータスとＣＳＷという受信確認データを読み出し、上記コマンドがメモリカード読み出しコマンドであれば、メモリカードから指定されたブロックのデータを読み出し、ＣＳＷと一緒に、ＵＳＢホスト制御部６６へ送る。上記コマンドが書き込みコマンドであれば、メモリカードにデータを書き込んだ後に、ＣＳＷ命令をＵＳＢホスト制御部へ送る。この部分は、一般に、ＰＣ周辺機器として販売されているＵＳＢカードリーダを、そのまま用いられる構成にしてあるので、詳細な動作の説明を省略する。
【０１１０】
カードリーダ部６８から受信した読み出しデータと、ＣＳＷ命令とを、ＵＳＢホスト制御部６６で受信し、ＣＰＵ６１のＤＭＡコントローラでＲＡＭ６３へ転送し、さらに、ＣＰＵ６１のＤＭＡコントローラで、ＵＳＢファンクション制御部６９へ転送する。ＵＳＢファンクション制御部６９で、ＵＳＢパケットに分割され、外部情報処理装置８０へ転送される。
【０１１１】
上記操作によって、ＰＣからは、あたかもＵＳＢ接続のメモリカードリーダに直接接続されているように利用することができる。
【０１１２】
次に、第２の実施例における書込禁止制御について説明する。
【０１１３】
外部情報処理装置８０から、記憶媒体処理装置６０に、ＵＳＢ接続でメモリカードをアクセスする際は、マスストレージクラスのコマンドを用いる。このコマンドの中で、ＭＯＤＥ　ＳＥＮＳＥ（６）／ＭＯＤＥ　ＳＥＮＳＥ（６）コマンドで、メモリカードの書き込み許可状態を、外部情報処理装置８０から記憶媒体処理装置６０に尋ねることができる。メモリカードの状態によらず、記憶媒体処理装置６０として書込禁止状態にする必要があれば、カードリーダ部６８からの返り値に、書込禁止ビットを１にして、メモリカードが書込禁止状態であるとして、ＰＣに通知する。
【０１１４】
しかし、外部情報処理装置８０側のＯＳによっては、接続時に書込許可状態であれば、途中から書込禁止に状態が変化してないと仮定し、現在の書込禁止状態を調査せずに、書き込みコマンドＷＲＩＴＥ（６）／ＷＲＩＴＥ（６）を発行するものもある。
【０１１５】
ＵＳＢの場合、コマンドに応答しないと、ＯＳによってはＰＣがフリーズする場合がある。そこで、コマンド（ＣＢＷ）と書込データとを全て受信した上で、レスポンス（ＣＳＷ）を返す必要がある。
【０１１６】
しかし、そのままカードリーダ部６８に送信すると、メモリカードにデータが書き込まれ、何もならない。
【０１１７】
そこで、記憶媒体処理装置６０内のＵＳＢファンクション制御部６９でコマンドを受信し、上記のように、一旦、ＲＡＭ６３に転送した後に解析し、書込コマンドの場合、現在の書込許可状態を調査する。書込許可状態であれば、上記動作通りに、カードリーダ部６８へコマンドを送る。
【０１１８】
図５は、第２の実施例において、擬似的にＣＳＷ命令を作成する際のデータを示す図である。
【０１１９】
書込禁止状態であれば、ＣＢＷ命令とデータとを受信した後に、そのデータを破棄し、図５に示す値で、擬似的にＣＳＷを作成し、外部情報処理装置８０へ送る。
【０１２０】
つまり、上記第２の実施例は、画像情報等の制御をする制御部と、ＰＣと制御部を接続する第１のインタフェースと、カードリーダと、制御部とカードリーダとを接続する第２のインタフェースを有する。
【０１２１】
メモリカード内の画像の出力中等、メモリカードが書き換えられてはならない場合は、装置の設定を、メモリカード書込禁止状態にする。この実現方法として、次の２つを組み合わせる。
【０１２２】
１つ目の組み合わせは、ＰＣから問い合わせがあった場合、現在の書込許可状態を通知する。２つ目の組み合わせは、書込禁止中に、実際に書込コマンドが来た場合、コマンドとデータとを受信し、その内容を、カードリーダ部に送信せずに、擬似的な返答を、ＰＣに返す。
【０１２３】
このようにして、１台のメモリカードリーダを、装置内部の制御部と、外部のＰＣとの両方から同時に使うことができる。
【０１２４】
上記第２の実施例によれば、メモリカード内の画像の出力中等、メモリカードが書き換えられてはならない場合、書込禁止として処理するだけで、メモリカードは使用禁止にはしないので、ＰＣに常にメモリカードが接続されている状態にすることができ、したがって、面倒なモード切り替えを必要としない。
【０１２５】
また、第２の実施例によれば、書込禁止状態のときに、書込コマンドが来ても正常にレスポンスを返すので、ＰＣを不安定にすることがなく、また、誤ってメモリカードに書き込むことがない。
【０１２６】
さらに、第２の実施例によれば、書き込み禁止処理を、ストレージクラスで定義されたコマンドの枠内で行い、特別なコマンドや書込禁止処理を実現するようなデバイスドライバを新たに開発せずに、ＯＳ付属のデバイスドライバを利用することができる。
【０１２７】
そして、第２の実施例によれば、１台のメモリカードリーダを、装置内部の制御部と、外部のＰＣとの両方から同時に使うことができる。
【０１２８】
【発明の効果】
請求項１〜１０記載の発明によれば、１台のメモリカードリーダを、装置内部の制御部と、外部のＰＣとの両方から、同時に使うことができ、制御部、ＰＣのそれぞれから用いる場合に、面倒なモード切り替えを行う必要がないという効果を奏する。
【０１２９】
請求項１１〜１８によれば、メモリカード内の画像の出力中等、メモリカードが書き換えられてはならない場合、書込禁止として処理するだけで、メモリカードは使用禁止にはしないので、ＰＣに常にメモリカードが接続されている状態にすることができ、したがって、面倒なモード切り替えを必要としないという効果を奏する。
【図面の簡単な説明】
【図１】本発明の一実施例である記憶媒体処理装置１０の概略構成を示すブロック図である。
【図２】記憶媒体書込システムを構成する外部情報処理装置３０の概略構成を示すブロック図である。
【図３】本発明の第２の実施例である記憶媒体処理装置６０の概略構成を示すブロック図である。
【図４】外部情報処理装置８０の概略構成を示すブロック図である。
【図５】第２の実施例において、擬似的にＣＳＷ命令を作成する際のデータを示す図である。
【符号の説明】
１０、６０…記憶媒体処理装置、
１１、６１…ＣＰＵ、
１２、６２…ＲＯＭ、
１３、６３…ＲＡＭ、
１４、６４…表示部、
１５、６６…ＵＳＢホスト制御部、
１６、６９…ＵＳＢファンクション制御部、
１７、７１…ＣＰＵバス、
１８、６７…記録部、
１９…カードリーダ部、
２１、２２…ＵＳＢインタフェース、
６５…操作パネル、
３０、８０…外部情報処理装置、
３７、８７…操作部、
３９、８９…通信部、
４０、９０…ＵＳＢホスト制御部。
【図１】
2004094493.tif 000003
【図２】
2004094493.tif 000004
【図３】
2004094493.tif 000005
【図４】
2004094493.tif 000006
【図５】
2004094493.tif 000007