JP2006012119A - 画像供給デバイスと印刷装置及びその制御方法 - Google Patents

画像供給デバイスと印刷装置及びその制御方法 Download PDF

Info

Publication number
JP2006012119A
JP2006012119A JP2005082711A JP2005082711A JP2006012119A JP 2006012119 A JP2006012119 A JP 2006012119A JP 2005082711 A JP2005082711 A JP 2005082711A JP 2005082711 A JP2005082711 A JP 2005082711A JP 2006012119 A JP2006012119 A JP 2006012119A
Authority
JP
Japan
Prior art keywords
printer
cdps
file
dsc
printing
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.)
Granted
Application number
JP2005082711A
Other languages
English (en)
Other versions
JP4266948B2 (ja
Inventor
Takao Aichi
孝郎 愛知
Ruriko Mikami
留理子 三上
Akitoshi Yamada
顕季 山田
Fumihiro Gotou
史博 後藤
Kentaro Yano
健太郎 矢野
Kazuya Sakamoto
和弥 坂本
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 JP2005082711A priority Critical patent/JP4266948B2/ja
Publication of JP2006012119A publication Critical patent/JP2006012119A/ja
Application granted granted Critical
Publication of JP4266948B2 publication Critical patent/JP4266948B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

【課題】 画像データと、予め画像データの印刷方法を記述するファイルとを記憶する画像供給デバイスが、印刷装置との間で所定の通信プロトコルで印刷設定する場合に、その予め記憶する印刷方法のファイルでの印刷が行えない場合がある。
【解決手段】 画像データと、その画像データの印刷方法を記述するファイル(DPOF)とを記憶する記憶媒体を接続するインターフェースと、印刷装置との通信の開始に応じて、印刷装置との間で所定の通信プロトコル(CDPS)で通信可能であるかを確認し(S403),その所定の通信プロトコルで通信可能な場合に、所定のプロトコルで設定可能な印刷指示とファイルとを印刷装置に送信する(S405,406)。
【選択図】 図46

Description

本発明は、デジタルカメラなどの画像供給デバイスと印刷装置、及びその制御方法に関する。
近年、簡単な操作で画像を撮影してデジタル画像データに変換できるデジタルカメラ(撮像装置)、所謂、デジカメが広く使用されるようになってきている。このようなカメラで撮影した画像を印刷して写真として使用する場合には、通常、一旦、その撮影されたデジタル画像データを、デジタルカメラからPC(コンピュータ)に取り込み、そのPCで画像処理を行った後、そのPCからカラープリンタに出力して印刷するのが一般的である。
これに対して最近は、PCを介することなく、直接、デジタルカメラからカラープリンタにデジタル画像データを伝送して印刷することができるカラープリントシステムや、デジタルカメラに搭載され、撮像した画像を記憶しているメモリカードを、直接、カラープリンタに装着し、そのメモリカードに記憶されている、撮影された画像を印刷できる、所謂フォトダイレクト(PD)プリンタ等も開発されている。
デジタルカメラにより撮影された画像を印刷する印刷システムでは、DPOFを使用して、印刷したい画像やその枚数等を指示していた。これはデジタルカメラで、印刷したい画像の選択情報やその手順等を、撮影した画像データを記憶しているメモリカード等の記憶媒体に保存しておき、その記憶媒体を装着しているデジタルカメラを接続するか、或いはその記憶媒体そのものをプリンタ装置に装着することによって、PCを介さずに、所望の印刷条件で印刷できるようにしたものである。この記憶媒体に保持される内容としては、一般的には印刷したい画像情報、及び用紙サイズや枚数等の印刷条件の設定等である。しかしながら、DPOFファイルの作成は、通常オフライン(プリンタに接続されていない状態)で行われるため、そのDPOFにより設定された印刷条件に従った印刷を、その接続したプリンタ装置が実現できるという保証がないため、DPOFで設定された印刷条件での印刷を行えない場合が発生した。
本発明は上記従来例に鑑みてなされたもので、記憶媒体に記憶されている画像データの記録条件と、画像供給デバイスと接続されて記録に使用される記録装置の機能を使用した記録条件とを使用して記録を行うことを目的とする。
上記目的を達成するために本発明の画像供給デバイスは以下のような構成を備える。即ち、
画像データと、前記画像データの印刷方法を記述するファイルとを記憶する記憶媒体を接続するインターフェースと、
印刷装置との通信の開始に応じて、前記印刷装置との間で所定の通信プロトコルで通信可能であるかを確認する確認手段と、
前記所定の通信プロトコルで通信可能な場合に、前記所定のプロトコルで設定可能な印刷指示と、前記ファイルとを前記印刷装置に送信する送信手段と、
を有することを特徴とする。
上記目的を達成するために本発明の画像供給デバイスの制御方法は以下のような工程を備える。即ち、
画像データと、前記画像データの印刷方法を記述するファイルとを記憶する記憶媒体を接続するインターフェースを有する画像供給デバイスの制御方法であって、
印刷装置との通信の開始に応じて、前記印刷装置との間で所定の通信プロトコルで通信可能であるかを確認する確認工程と、
前記所定の通信プロトコルで通信可能な場合に、前記所定のプロトコルで設定可能な印刷指示と、前記ファイルとを前記印刷装置に送信する送信工程と、
を有することを特徴とする。
上記目的を達成するために本発明の印刷装置は以下のような構成を備える。即ち、
画像データと、前記画像データの印刷方法を記述するファイルとを記憶する記憶媒体を備える画像供給デバイスと通信する印刷装置であって、
前記画像供給デバイスとの通信の開始に応じて、前記画像供給デバイスとの間で所定の通信プロトコルで通信可能であるかを確認する確認手段と、
前記所定の通信プロトコルで通信可能な場合に、前記所定のプロトコルで設定可能な印刷指示と、前記ファイルとを前記画像供給デバイスから受信する受信手段と、
を有することを特徴とする。
上記目的を達成するために本発明の印刷装置の制御方法は以下のような工程を備える。即ち、
画像データと、前記画像データの印刷方法を記述するファイルとを記憶する記憶媒体を備える画像供給デバイスと通信する印刷装置の制御方法であって、
前記画像供給デバイスとの通信の開始に応じて、前記画像供給デバイスとの間で所定の通信プロトコルで通信可能であるかを確認する確認工程と、
前記所定の通信プロトコルで通信可能な場合に、前記所定のプロトコルで設定可能な印刷指示と、前記ファイルとを前記画像供給デバイスから受信する受信工程と、
を有することを特徴とする。
本発明によれば、画像供給デバイスと印刷装置とが所定の通信プロトコルで通信可能な場合に、その所定のプロトコルで設定可能な印刷指示と、画像供給デバイスに接続された記憶媒体に記憶している画像データと画像データの印刷方法を記述するファイルとを、画像供給デバイスから印刷装置に送信して印刷させることができる。
以下、添付図面を参照して本発明の好適な実施の形態を詳細に説明する。
図1は、本発明の実施の形態に係るフォトダイレクトプリンタ装置(以下、PDプリンタ装置)1000の概観斜視図である。このPDプリンタ装置1000は、ホストコンピュータ(PC)からデータを受信して印刷する通常のPCプリンタとしての機能と、メモリカードなどの記憶媒体に記憶されている画像データを直接読取って印刷したり、或いはデジタルカメラからの画像データを受信して印刷する機能を備えている。
図1において、本実施の形態に係るPDプリンタ装置1000の外殻をなす本体は、ケースM1001、上ケース1002、アクセスカバー1003及び排出トレイ1004の外装部材を有している。また、下ケース1001は、PDプリンタ装置1000の略下半部を、上ケース1002は本体の略上半部をそれぞれ形成しており、両ケースの組合せによって内部に後述の各機構を収納する収納空間を有する中空体構造をなし、その上面部及び前面部にはそれぞれ開口部が形成されている。さらに、排出トレイ1004は、その一端部が下ケース1001に回転自在に保持され、その回転によって下ケース1001の前面部に形成される開口部を開閉させ得るようになっている。このため、記録動作を実行させる際には、排出トレイ1004を前面側へと回転させて開口部を開成させることにより、ここから記録シートが排出可能となると共に、排出された記録シートを順次積載し得るようになっている。また、排紙トレイ1004には、2枚の補助トレイ1004a,1004bが収納されており、必要に応じて各トレイを手前に引き出すことにより、用紙の支持面積を3段階に拡大、縮小させ得るようになっている。
アクセスカバー1003は、その一端部が上ケース1002に回転自在に保持され、上面に形成される開口部を開閉し得るようになっており、このアクセスカバー1003を開くことによって本体内部に収納されている記録ヘッドカートリッジ(不図示)あるいはインクタンク(不図示)等の交換が可能となる。なお、ここでは特に図示しないが、アクセスカバー1003を開閉させると、その裏面に形成された突起がカバー開閉レバーを回転させるようになっており、そのレバーの回転位置をマイクロスイッチなどで検出することにより、アクセスカバーの開閉状態を検出し得るようになっている。
また、上ケース1002の上面には、電源キー1005が設けられている。また、上ケース1002の右側には、液晶表示部1006や各種キースイッチ等を備える操作パネル1010が設けられている。この操作パネル1010の構造は、図2を参照して詳しく後述する。1007は自動給送部で、記録シートを装置本体内へと自動的に給送する。1008は紙間選択レバーで、プリントヘッドと記録シートとの間隔を調整するためのレバーである。1009はカードスロットで、ここにメモリカードを装着可能なアダプタが挿入され、このアダプタを介してメモリカードに記憶されている画像データを直接取り込んで印刷することができる。このメモリカード(PC)としては、例えばコンパクトフラッシュ(登録商標)メモリ、スマートメディア、メモリスティック等がある。1011はビューワ(液晶表示部)で、このPDプリンタ装置1000の本体に着脱可能であり、PCカードに記憶されている画像の中からプリントしたい画像を検索する場合などに、1コマ毎の画像やインデックス画像などを表示するのに使用される。1012は後述するデジタルカメラを接続するためのUSB端子である。また、このPDプリンタ装置1000の後面には、パーソナルコンピュータ(PC)を接続するためのUSBコネクタが設けられている。
図2は、本実施の形態に係るPDプリンタ装置1000の操作パネル1010の概観図である。
図において、液晶表示部1006には、その左右に印刷されている項目に関するデータを各種設定するためのメニュー項目が表示される。ここに表示される項目としては、例えば、印刷したい範囲の先頭写真番号、指定コマ番号(開始コマ指定/印刷コマ指定)、印刷を終了した範囲の最後の写真番号(終了)、印刷部数(部数)、印刷に使用する用紙(記録シート)の種類(用紙種類)、1枚の用紙に印刷する写真の枚数設定(レイアウト)、印刷の品位の指定(品位)、撮影した日付を印刷するかどうかの指定(日付印刷)、写真を補正して印刷するかどうかの指定(画像補正)、印刷に必要な用紙枚数の表示(用紙枚数)等がある。これら各項目は、カーソルキー2001を用いて選択、或いは指定される。2002はモードキーで、このキーを押下する毎に、印刷の種類(インデックス印刷、全コマ印刷、1コマ印刷等)を切り替えることができ、これに応じてLED2003の対応するLEDが点灯される。2004はメンテナンスキーで、プリントヘッドのクリーニング等、プリンタのメンテナンスを行わせるためのキーである。2005は印刷開始キーで、印刷の開始を指示する時、或いはメンテナンスの設定を確立する際に押下される。2006は印刷中止キーで、印刷を中止させる時や、メンテナンスの中止を指示する際に押下される。
次に図3を参照して、本実施の形態に係るPDプリンタ装置1000の制御に係る主要部の構成を説明する。尚、この図3において、前述の図面と共通する部分は同じ記号を付与して、それらの説明を省略する。
図3において、3000は制御部(制御基板)を示している。3001はASIC(専用カスタムLSI)を示し、その構成は図4のブロック図を参照して詳しく後述する。3002はDSP(デジタル信号処理プロセッサ)で、内部にCPUを有し、後述する各種制御処理及び、輝度信号(RGB)から濃度信号(CMYK)への変換、スケーリング、ガンマ変換、誤差拡散等の画像処理等を担当している。3003はメモリで、DSP3002のCPUの制御プログラムを記憶するプログラムメモリ3003a、及び実行時のプログラムを記憶するRAMエリア、画像データなどを記憶するワークメモリとして機能するメモリエリアを有している。3004はプリンタエンジンで、ここでは、複数色のカラーインクを用いてカラー画像を印刷するインクジェットプリンタのプリンタエンジンが搭載されている。3005はデジタルカメラ(DSC)3012を接続するためのポートとしてのUSBコネクタである。3006はビューワ1011を接続するためのコネクタである。3008はUSBハブ(USB HUB)で、このPDプリンタ装置1000がPC3010からの画像データに基づいて印刷を行う際には、PC3010からのデータをそのままスルーし、USB3021を介してプリンタエンジン3004に出力する。これにより、接続されているPC3010は、プリンタエンジン3004と直接、データや信号のやり取りを行って印刷を実行することができる(一般的なPCプリンタとして機能する)。3009は電源コネクタで、電源3019により、商用ACから変換された直流電圧を入力している。PC3010は一般的なパーソナルコンピュータ、3011は前述したメモリカード(PCカード)、3012はデジタルカメラ(DSC:Digital Still Camera)である。
尚、この制御部3000とプリンタエンジン3004との間の信号のやり取りは、前述したUSB3021又はIEEE1284バス3022を介して行われる。
図4は、ASIC3001の構成を示すブロック図で、この図4においても、前述の図面と共通する部分は同じ記号を付与して、それらの説明を省略する。
4001はPCカードインターフェース部で、装着されたPCカード3011に記憶されている画像データを読取ったり、或いはPCカード3011へのデータの書き込み等を行う。4002はIEEE1284インターフェース部で、プリンタエンジン3004との間のデータのやり取りを行う。このIEEE1284インターフェース部4002は、デジタルカメラ3012或いはPCカード3011に記憶されている画像データを印刷する場合に使用されるバスである。4003はUSBインターフェース部で、PC3010との間でのデータのやり取りを行う。4004はUSBホストインターフェース部で、デジタルカメラ3012との間でのデータのやり取りを行う。4005は操作パネル・インターフェース部で、操作パネル1010からの各種操作信号を入力したり、表示部1006への表示データの出力などを行う。4006はビューワ・インターフェース部で、ビューワ1011への画像データの表示を制御している。4007は各種スイッチやLED4009等との間のインターフェースを制御するインターフェース部である。4008はCPUインターフェース部で、DSP3002との間でのデータのやり取りの制御を行っている。4010はこれら各部を接続する内部バス(ASICバス)である。
図5は、本発明の実施の形態に係るDSC3012の代表的な構成例を示すブロック図である。但し、本実施の形態のPDプリンタ装置1000に接続可能なデジタルカメラの中には、後述する表示部2700を有していない機器も存在する可能性がある。
同図において、3100はDSC3012全体の制御を司るCPUであり、3101はCPU3100の処理手順を記憶しているROMである。3102はCPU3100のワークエリアとして使用されるRAMであり、3103は各種操作を行うスイッチ群で、各種スイッチやカーソルキー等が含まれている。2700は液晶表示部であり、撮像した画像を確認したり、各種設定を行う際のメニューを表示するために使用される。3105は光学ユニットであり、主としてレンズ及びその駆動系で構成される。3106はCCD素子であり、3107はCPU3100の制御下において光学ユニット3105を駆動制御するドライバである。3108は記憶媒体3109(コンパクトフラッシュ(登録商標)メモリカード、スマートメディア等)を接続するためのコネクタであり、3110はPC或いは実施形態におけるPDプリンタ1000と接続するためのUSBインターフェース(USBのスレーブ側)である。
本実施の形態では、上述したPDプリンタ装置1000とDSC3012とを接続して印刷を行う場合の例を中心に説明するが、このPDプリンタ装置1000のような画像出力装置に各メーカのデジタルカメラ、更には携帯電話やメモリデバイス等のデバイス(DSPD:Digital Still Photography Devices)を接続し、そこから取得した画像データに基づいてプリントできるPDプリンタ装置を提供することを目的とし、本実施の形態に係るPDプリンタ装置1000とこれらDSPDの一例であるDSC3012とを接続してプリントを行なう場合の通信規約について記述する。尚、本実施の形態においては、PDプリンタ装置とDSCとの間の通信制御を汎用ファイル、汎用フォーマットを用いて行い、インターフェースに依存しない新規なCDPS(Canon Direct Print Service)を提案する。
DSCと画像出力装置との間で、様々な通信プロトコルアーキテクチャ、例えば、USB上のPTP(Still Image Class)やMass Storage Class、もしくはBlue Tooth上のOBEX、更にはUPnP等に対しての取り決めを行うために、ここではプリントサービス機能の概念を用いている。このプリントサービス機能とはアプリケーション層における実行機能の集合体であり、各種インターフェースに依存していない。
又、実際の画像データ及びデバイス間の通信制御は汎用ファイル、汎用フォーマットを用いて行う(例えば、XML書式を用いて記述する)ためインターフェースに依存してない。
このようなDSCと画像出力装置とを接続したシステムにおいては、そのオペレーションは、どちらか一方のオペレーション部(例えば、デジタルカメラの液晶画面や、プリンタ上の操作部)を用いて行われるが、システム全体を考えた場合に、両方の装置が同様の機能を備えているような場合に、そのオペレーション部をどちらの装置で実行させるかを決定する必要が生じる。そこで、本実施の形態に係るシステムでは、後述するDiscovery処理(移行処理)の後に、オペレーション部やその他の機能を、各装置間でどのように分担させるかを決定する仕組みを取り入れて汎用性を広めたものとしている。
[通信概要説明]
図6は、本実施の形態に係るデジタルカメラ(DSC)3012と画像出力装置の代表例である、本実施の形態に係るPDプリンタ装置1000との間の通信の概要を説明する図である。尚、ここでは、これらDSC3012とPDプリンタ装置1000とUSBで接続されており、その間の通信はPTPを用いている。このUSB接続において、PDプリンタ装置1000がホスト側、DSC3012がスレーブ側とする。
以下、この手順を順に説明する。尚、ここでは、DSC3012は前述の図5の構成を有し、印刷における予備印刷条件の設定、印刷開始指示をDSC3012から行う例で説明する。
(1)まず最初に、USBケーブルによりDSC3012とPDプリンタ装置1000とを物理的に接続する。
(2)次に、PDプリンタ装置1000のUSBホストコントローラ(USBタスク)がDSC3012を認識し、イメージクラス・PTPでの接続を行う。これが図6の600で示す「通信の確立」状態である。
(3)次にPDプリンタ装置1000から、本実施の形態で規定する通信規約(CDPS)に移行するための処理(601)に移る。この時、DSC3012とPDプリンタ装置1000との間での情報のやりとりに基づいて、両者間でCDPSサービスを実行可能であるか否か、サービスが実行可能である場合には、「標準」又は「拡張」のうちのいずれの手順で実行するかの確認及び決定が行われる(610)。また、この処理601では、印刷画像の決定及び印刷条件の設定、印刷開始の指示等をDSC3012或いはPDプリンタ装置1000のいずれが担当するか等の決定も行われる。
(4)この処理601の結果、「標準」手順602でのサービスを実行する場合には、PDプリンタ装置1000からDSC3012に対して、「プリンタ側で提供出来るサービス」を通達する(603)。具体的には、PDプリンタ装置1000で対応可能な用紙サイズや紙種、印刷品位、レイアウト可能な組み合わせ等である。
(5)DSC3012では、603で送られてきたサービス内容に従い、ユーザが操作するUIメニューを作成して表示部2700に表示する。これによりユーザは、印刷画像の設定及び写真選択(これらをまとめて「ジョブ」という)をUIメニューを介して行う(611)。
(6)こうして「ジョブ」の設定が終了し、印刷開始指示がDSC3012においてユーザより行われると、DSC3012からPDプリンタ装置1000に「ジョブ」の通達が行われる(604)。
(7)次にPDプリンタ装置1000は、604で送られてきた「ジョブ」の内容に従ってPDプリンタ装置1000の設定を行った後、必要な画像ファイルをDSC3012から取得して(605)写真の印刷を行う(613)。
(8)ここで、「ジョブ」の実行中に、PDプリンタ装置1000で何らかのエラーが発生した場合には、DSC3012に対して、その発生したエラーの内容を通知してユーザに対応を求める(606)(本実施の形態では、「印刷続行/中止」の選択とする)。こうしてユーザがDSC3012のUIを使用してその対応を決定すると(612)、その内容がPDプリンタ装置1000に送られて対応するエラー処理614が実行される。
(9)このようにして、画像ファイルの転送と印刷処理(→エラーの送受信)を繰り返し、「ジョブ」が完了すると、再びDSC3012での「ジョブ」設定状態(611)となる。
(10)また、上述の610で、CDPSの「拡張手順」のサービスを行うと決定された場合には、607で示す、各ベンダに固有の手順及び「拡張」処理を実行する。尚、この「拡張手順」での処理は各ベンダにより規定されるので、ここでは説明しない。
[階層構造]
図7は、DSC3012と画像出力装置の代表であるPDプリンタ装置1000とを接続した場合の機能を階層構造で示す図である。
図において、700及び703はアプリケーション部を示し、701及び702は物理層で、ここではUSBとブルーツース(Bluetooth)の例で示している。DSC3012及びPDプリンタ装置1000のそれぞれは700と703で示す部分をそれぞれ組込むことにより、本CDPSシステムを構築することができる。但し、701,702で示すように、プロトコル層のPTPやBIP,MSC(Mass Storage Class)上のファイルシステム等のアーキテクチャの実装が前提である。又、各アプリケーション部分700,703に、このプリントサービス機能の実態が存在しており、CDPSからそれぞれのプロトコルに変換する部分でプリントサービス機能が実行される。
このようにして、物理的なインターフェースに依存しない形でのダイレクトプリントサービスを実現できる。
[システム全体の機能]
図8は、上述のDSC3012とPDプリンタ装置1000とが接続された時、これらを一体のシステムと見なした時の機能構成を示す図である。
前述の階層構造によりインターフェースに依存しないことを規定した事に続いて、DSPDs及び画像出力装置の「機能」に対しての非依存を実現するために、よりハイレベルでの要素(オブジェクト)の定義を行う。本実施の形態においては、DSCとPDプリンタ装置1000との間での各種機能の切り分けや分担を行わず、このダイレクトプリントシステム全体として必要な機能構成要素の定義及びその役割について説明する。
ここではシステム全体の機能を大きく4つの機能(800〜803)に分けている。
<CDPS初期化処理(CDPS Initialize)>
CDPS初期化処理800は、他のCDPSの機能に先立って最初に起動される。ここでは、CDPSモードへの移行(標準・拡張)等を判定し、その判定結果を「Service Discovery」804として、各機能に通達する。これは前述の図6の601に相当している。
<操作制御(Operation Controller)>
ユーザ812との対話を行うUI部分の管理(操作制御:Operation Controller)801は、CDPS初期化処理800からの「Service Discovery」804を受信して起動される。この操作制御801は、プリント制御(Print Controller)803からプリントデバイス810(プリンタエンジン3004)で印刷可能なサービス「Service」807を取得し、また記憶制御(Storage Controller)802から、PCカード3011等の記憶デバイス811が保持している画像情報リスト「Data List」805を取得する。そして、これら「Service」807及び「Data List」805の記述に基づいてUIメニューを作成する。こうして作成されたUIメニューを介して入力されるユーザの指示に基づいて、出力設定指示書「Job」808を作成してプリント制御803に通達する。
<記憶制御(Storage Controller)>
記憶制御802は、写真画像が保持された記憶媒体、例えば前述のPCカード3011の管理を行う。この記憶制御802は、CDPS初期化処理800からの「Service Discovery」804を受信して起動する。また、操作制御801からの要請に従って、記憶デバイス811に保持されている画像情報リスト「Data List」805を作成し、それを操作制御801に通達する。また、プリント制御803からの要請に従って、記憶デバイス811に保存されている画像ファイル「Job Data」806をプリント制御803に送出する。
<プリント制御>
・プリント制御(Print Controller)803は、写真画像の印刷を行うプリントデバイス810の管理を行う。このプリント制御803は、CDPS初期化処理800からの「Service Discovery」804を受信して起動し、操作制御801にプリントデバイス810で印刷可能なサービス「Service」807を通達する。また、操作制御801から出力設定指示書「Job」808を取得すると、その「Job」808の記述に基づいて、「Data List」805に記載された記述方法で、記憶制御802に対して記憶デバイス811に保存されている画像ファイル「Job Data」806を要求して取得する。これに基づいて、プリントデバイス810が処理可能なプリントデータを作成してプリントデバイス810に出力することにより印刷が行われる。
図9は、図8の各機能による処理の流れを説明するフローチャートである。
まずステップS1で、CDPS初期化処理800がCDPSモードへ移行できるか否かを判定し、その判定に基づいて、各機能へ「Service Discovery」804を通達し、各機能を起動する。次にステップS2に進み、プリント制御803は、プリントデバイス810が提供できるプリントサービス「Service」807を操作制御801に通達する。次にステップS3に進み、操作制御801は、記憶制御802から記憶デバイス811に保持されている画像情報リスト「Data List」805を取得する。次にステップS4に進み、操作制御801は「Service」807及び「Data List」805に基づいて印刷設定用のUIを構成して表示する。このUIに従って入力されるユーザ812の指示に基づいて、印刷すべき画像と、その印刷モードの選択等を規定する印刷設定指示書「Job」808を作成し、その作成された「Job」808を印刷制御803に通達する。次にステップS5に進み、印刷制御803は、その「Job」808の記述に従ってプリントデバイス810に対して印刷設定を行う。次に、記憶制御802に対して、「Data List」に記載された記述方法で、記憶デバイス811に保持されている、印刷に必要な画像ファイル「Job Data」806を要求して、それを取得する。そしてプリントデバイス810が処理可能な印刷データを作成する。次にステップS6に進み、その印刷データをプリントデバイス810に出力して印刷する。そしてステップS7では、印刷処理の終了が指示されたかを調べ、終了指示が入力されない時はステップS4に戻り、前述の処理を実行する。そして印刷処理の終了が指示されると、この処理を終了する。
以上説明したように、上述した各機能がDSC3012或いはPDプリンタ装置1000のいずれに存在するかに関わらず、上述した階層構造、4つの機能800〜803及び上記4つの機能間でやりとりされる5つの情報群804〜808を、このCDPSの基本構成とする。
[DSCとPDプリンタ装置によるCDPS構成]
図10は、DSC3012とPDプリンタ装置1000とが接続された状態でのCDPS構成の一例を示す図である。ここでは、DSC3012とPDプリンタ装置1000の両者が、上述した4つの機能800〜804を保持している場合を示している。この場合、記憶デバイス811とプリントデバイス810は、論理的にはこのCDPSシステムの外部に位置しており、いずれの側に接続されているかは確定していない。
本実施の形態のCDPSでは、DSC3012とPDプリンタ装置1000が物理的かつ論理的に接続された後、DSC3012及びPDプリンタ装置1000両方のCDPS初期化(CDPS Initialize)800が対話を行って、他の3機能801〜803及び記憶デバイス811、プリントデバイス810の処理機能のそれぞれを、DSC3012或いはPDプリンタ装置1000のいずれが担当して管理するかを決定する事を特徴としている。
図11は、本実施の形態におけるCDPSでの機能分担処理を説明するフローチャートである。
まずステップS11で、DSC3012における機能800〜803のそれぞれのサポートレベルをPDプリンタ装置1000に通達する。次にステップS12に進み、PDプリンタ装置1000は、DSC3012から受信した各機能のサポートレベルと、PDプリンタ装置1000自身のサポートレベルとを比較し、よりユーザビリティの高い機能がDSC3012とPDプリンタ装置1000のいずれに実装されているかを判定し、各機能をいずれで分担するかを決定する。そしてステップS13に進み、その決定した各機能の担当情報と管理情報をDSC3012に通達する。そしてステップS14に進み、DSC3012とPDプリンタ装置1000のそれぞれにおいて、自分が担当するように決定された各機能を起動し、ステップS15でCDPSを開始する。
尚、ここで「拡張手順」を実行する場合には、ステップS12の時点で、DSC3012とPDプリンタ装置1000が拡張手順のサポートをしていることが判明し、その後のやりとりは各ベンダ固有となるのでここでは説明しない。
また、各機能が必ずしも、DSC3012とPDプリンタ装置1000の両方でサポートされている必要はないが、少なくともDSC3012或いはPDプリンタ装置1000のいずれかでサポートされている必要がある。特に、CDPS初期化800に関しては、仮にDSC3012がCDPS初期化800をサポートしていなくても、インターフェースの接続状況によってはPDプリンタ装置1000のCDPS初期化800によって、このシステムはCDPSモードに移行することが可能である。
[CDPS構成例−1]
図12は、USB上でイメージクラス(Image Class)のPTP(Picture Transfer Protocol)で、DSC3012とPDプリンタ装置1000とを接続した場合のCDPSの構成例1を説明する図で、前述の図8及び図10と共通する部分は同じ記号で示し、それらの説明を省略する。尚、ここでは、液晶表示部2700が設けられているDSC3012と、液晶ビューワ1011が取付けられていないPDプリンタ装置1000とを接続した場合で説明する。即ち、この例では、DSC3012には、CDPS初期化800、操作制御801及び記憶制御802が存在しており、PDプリンタ装置1000は、図10のような機能構成を備えているものとする。
ここではまず、PDプリンタ装置1000のCDPS初期化800が、DSC3012のCDPS初期化800との間で、各機能の分担及び管理について情報交換をしようとする。これに対してDSC3012は、操作制御801及び記憶制御802の機能をサポートしている旨(液晶表示部2700有り等)を伝える。これによりPDプリンタ装置1000のCDPS初期化800は、PDプリンタ装置1000の操作制御801及び記憶制御802のサポートレベル(液晶ビューワ無し、等)と比較し、以下の様にシステム構成を決定する。そして、PDプリンタ装置1000のCDPS初期化800に対して、「CDPS移行可」と返答し、かつDSC3012に下記の決定内容を通達する。
(1)操作制御801、記憶制御802は、DSC3012が担当及び管理する。
(2)PDプリンタ装置1000は、プリント制御803を担当、管理する。
(3)記憶デバイス811はDSC3012にあり、DSC3012の記憶制御802が、この記憶デバイス811を管理する。
(4)プリントデバイス810(プリンタエンジン3004)はPDプリンタ装置1000にあり、PDプリンタ装置1000のプリント制御803が印刷処理を管理する。尚、上述した処理は、無線LAN(Wireless LAN)のTCP/IP等の他のインターフェースを介して接続された場合でも同様に行われる。
[CDPS構成例−2]
図13は、USB上でイメージクラス(Image Class)のPTP(Picture Transfer Protocol)で、DSC3012とPDプリンタ装置1000とを接続した場合のCDPSの構成例2を説明する図で、前述の図8及び図10と共通する部分は同じ記号で示し、それらの説明を省略する。尚、ここでは、液晶表示部2700が設けられていないDSC3012と、液晶ビューワ1011が取付けられているPDプリンタ装置1000とを接続した場合、或いはDSC3012がCDPS初期化800を備えていない例で説明する。なお、PDプリンタ装置1000は、図10のような機能構成を備えているものとする。
PDプリンタ装置1000のCDPS初期化800が、DSC3012のCDPS初期化800と各機能の分担及び管理について情報交換をしようとした場合について考えると、DSC3012はCDPS初期化800を有していないのでそれに応答できない。そこで、PDプリンタ装置1000のPTP Wrapper層が、以下の様にシステム構成を決定して、PDプリンタ装置1000のCDPS初期化800に対して「CDPS移行可」と応答する。
(1)操作制御801、記憶制御802及びプリント制御803は、いずれもPDプリンタ装置1000が担当及び管理する。
(2)記憶デバイス811はDSC3012に有り、標準のPTPでPDプリンタ装置1000の記憶制御802が、この記憶デバイス811への画像アクセスを管理する。
(3)プリントデバイス810はPDプリンタ装置1000にあり、PDプリンタ装置1000のプリント制御803がこれを管理する。
尚、このような場合は、DSC3012がCDPS初期化800を有していない場合に限らず、DSC3012が例え表示器2700を有していても、その解像度や操作性が、PDプリンタ装置1000のビューワ1011やそのビューワ1011を使用したUIに比べて劣ると、PDプリンタ装置1000のCDPS初期化800が判断した場合も同様に図13に示すような構成となる。
[CDPS構成例−3]
図14は、MSC(Mass Storage Class)での接続時のCDPSの構成例3を説明する図で、前述の図8及び図10と共通する部分は同じ記号で示し、それらの説明を省略する。尚、この例は例えば、液晶表示器2700がないDSC3012をMSCで液晶ビューワ1011を装着したPDプリンタ装置1000と接続した例で説明する。
この場合には、PDプリンタ装置1000のCDPS初期化800がDSC3012のCDPS初期化800と、各装置における各機能の分担及び管理について情報交換をしようとする。しかし、標準バルクオンリーのMSCでは、DSC3012と双方向の情報のやり取りが極めて困難である。そのため、PDプリンタ装置1000のMass Storage Class Wrapper層820が、以下の様にシステム構成を決定して、PDプリンタ装置1000のCDPS初期化800に対して「CDPS移行可」と応答する。
(1)操作制御801、記憶制御802及びプリント制御803は、いずれもPDプリンタ装置1000が担当して管理する。
(2)記憶デバイス811はDSC3012にあり、標準のMSCでPDプリンタ装置1000の記憶制御802が管理する。
(3)プリントデバイス810はPDプリンタ装置1000にあり、PDプリンタ装置1000のプリント制御803がプリントデバイス810を管理する。
[CDPS出力手順]
本実施の形態に係るCDPSにおける出力手順は以下の2通りを有している。 <標準手順>
本実施の形態に係るCDPSでは、下記の機能及び情報に従う手順が定義されている。
・CDPS初期化(CDPS Initialize)機能
・操作制御(Operation Controller)機能
・記憶制御(Storage Controller)機能
・プリント制御(Print Controller)機能
・サービスディスカバー(Service Discover)情報
・サービス(Service)情報
・ジョブ(Job)情報
・ジョブデータ(Job Data)情報
<拡張手順>
各ベンダ固有の仕様に基づく各種フォーマットの出力にも対応可能な手順が下記のそれぞれに対して定義されている。
・XHTML
・SVG
・固有フォーマット。
[CDPS機能説明]
本実施の形態のCDPSでは、DSC3012とPDプリンタ装置1000の双方のPTPの上位層で任意にアプリケーションを扱えるよう、即ち、DSC3012とPDプリンタ装置1000間の機能(例えば印刷するにはオブジェクトの受け渡し等、様々なPTPプロトコルのやり取りが必要)をモデリングするために、図15に示すようなプリントサービス機能を設けた。上述の図7のアプリケーション層700,703では、基本的には図15に示すプリントサービス機能を用いることによりダイレクトプリントを行うことができる。尚、このプリントサービス機能には必須機能(図15(A))とオプション機能(図15(B))とがあり、CDPSをサポートする装置は、この内の必須機能を全て用意する必要がある。
図15(A)(B)は、本実施の形態に係るCDPSにおけるサービス機能の一覧を示す図である。以下、順次これらの機能について説明する。
(a) CDPS _ServiceDiscovery(サービスディスカバリ)
CDPSへの移行を行う機能である。この戻り値はスクリプトで、CDPSの手順「標準」或いは「拡張」が指示されており、いずれの手順が選択されたかを受信する。尚、「拡張」手順時は、CDPS_ServiceDiscovery機能のみが使用される。
(b) CDPS_Service(プリンタ→操作制御)
PDプリンタ装置の機能を記載したスクリプトをパラメータとして通知する。PDプリンタ装置の機能を記載したスクリプトを引数とし、その戻り値は通信の結果、即ち、通信の成否("TRUE" or "FALSE")を示す。
(c)CDPS_PageStart(プリンタ→操作制御)
プリント開始を通知(1ページ毎)する。パラメータは、プリント機能を記載したスクリプトで、その戻り値は通信の結果、即ち、通信の成否("TRUE" or "FALSE")を示す。
(d) CDPS_PageEnd(プリンタ→操作制御)
プリント終了を通知(1ページ毎で排紙時)する機能である。パラメータは、プリント機能を記載したスクリプトで、その戻り値は通信の結果、即ち、通信の成否("TRUE" or "FALSE")を示す。
(e) CDPS_JobEnd(プリンタ→操作制御)
プリントジョブの終了を通知する。パラメータは、プリント機能を記載したスクリプトで、その戻り値は通信の結果、即ち、通信の成否("TRUE" or "FALSE")を示す。
(f) CDPS_Error(プリンタ→操作制御)
エラー(Warning/Fatal)を通知する機能である。パラメータは、プリント機能を記載したスクリプトで、その戻り値は通信の結果、即ち、通信の成否("TRUE" or "FALSE")を示す。
(g) CDPS_JobData(プリンタ→ストレージ(Storage))
ストレージからJPEG等のイメージを取得する機能である。取得する画像データのハンドル名を記載したスクリプトを引数とし、戻り値は取得した画像データのバイト数と画像データそのものである。
(h)CDPS_DataList(プリンタ→ストレージ(Storage))
StorageからJPEG等の画像情報のリストを取得する機能である。PDプリンタ装置の機能を記載したスクリプトを引数とし、その戻り値は画像データのリストを記載したスクリプトである。
(i) CDPS_Job(操作制御→プリンタ)
プリント命令を通知する機能である。プリント命令を記載したスクリプトを引数とし、戻り値は通信の結果、即ち、通信の成否("TRUE" or "FALSE")を示す。
(j) CDPS_JobAbort(操作制御→プリンタ)
プリント中止命令を通知する機能である。プリンタの機能を記載したスクリプトを引数とし、戻り値は通信の結果、即ち、通信の成否("TRUE" or "FALSE")を示す。
(k) CDPS_JobContinue(操作制御→プリンタ)
プリント再開命令を通知する機能である。プリンタの機能を記載したスクリプトを引数とし、戻り値は通信の結果、即ち、通信の成否("TRUE" or "FALSE")を示す。
以上がCDPSにおける必須機能である。
本CDPSは、更に、図15(B)に示すように、オプション機能として、CDPS_PartialJobData機能を備えている。
このCDPS_PartialJobData(プリンタ→ストレージ)は、ストレージからJPEG等の画像データを取得する機能である。取得した画像データのハンドル名を記載したスクリプトを引数とし、その戻り値は、取得した画像データのバイト数と画像データそのものである。尚、これ以外にも、DPOFファイルを受信して、そのDPOFフォーマットを解析し、そのDPOFにより指示された印刷を行うように指示するDPOF指示コマンドも設けられている。
[スクリプトのフォーマットの説明]
以下、上述のサービスディスカバリ(CDPS _ServiceDiscovery)に使用するスクリプトの内容、及び、それ以外の機能で使用するスクリプトのフォーマットについて説明する。
<各種機能コマンドの書式>
(1)サービスディスカバリ(CDPS_ServiceDiscovery)のスクリプトの書式
サービスディスカバリ(CDPS_ServiceDiscovery)に使用するスクリプトの内容(UniCodeで記述する)で、CDPSモードに移行する際に使用する。これにより互いのキーワードを認識し合う。
CanonDirectPrintService(UILevel=X)(デバイス情報で、UIレベル情報(X)は0から4)CanonDirectPrintService(HostUI)(ホスト(PDプリンタ装置)のUIを使用する場合)或いはCanonDirectPrintService(DeviceUI)(デバイス(DSC)側のUIを使用する場合)
(2)CDPS_PageStart,CDPS_PageEnd,CDPS_JobEnd,CDPS_DataList、CDPS_JobAbort,CDPS_JobContinueにおけるスクリプトの書式
<?XML version="1.0" encoding="UTF-16"?>
<!ELEMENT command ( "CDPS_PageStart" | "CDPS_PageEnd" | "CDPS_JobEnd" | "CDPS_JobAbort" | "CDPS_JobContinue" )>
(3)CDPS_Serviceのスクリプトの書式
<?XML version="1.0" encoding="UTF-16"?>
<command ( CDPS_Service )>
<capabiliby>
<--Printer Capabilityを記述-->
</capability>
(4)CDPS_Jobのスクリプトの書式
<?XML version="1.0" encoding="UTF-16"?>
<command ( CDPS_Service )>
<job>
<capability>
<--Printer Capability(PrintMode)を記述-->
</capability>
<printlist>
<--Image File Hnadleおよび日付などの付加情報を記述-->
</printlist>
</job>
(5)CDPS_Errorのスクリプトの書式
<?XML version="1.0" encoding="UTF-16"?>
<command ( "CDPS_Error")>
<!ELEMENT status ( "fatal" | "warning" )>
<!ELEMENT reason ( "printer_occupied" | "printer_busy" | "ink_low" | "lever_error" | "load_error" | ... )>
なお、ここで「status」は、このエラーが、ジョブに復帰できるエラーか否かを記載する。例えば、"fatal"は復帰不能、"warning"は復帰可能を示す。また「reason」は、そのエラー原因を記載する。
(6)CDPS_JobData,CDPS_PartialJobDataのスクリプトの書式
<?XML version="1.0" encoding="UTF-16"?>
<!ELEMENT command ( "CDPS_JobData" | "CDPS_PartialJobData" )><image (#PCDATA )>
<offset (#PCDATA )>
<size (#PCDATA )>
尚、ここで「image」はファイルのハンドル名を記載し、「offset」は先頭からのオフセットのバイト数を記載し、「size」は取得する画像データのバイト数を記載する。但し、CDPS_JobDataの場合、オプション機能の部分取得を用いない場合は、これら「offset」及び「size」は無効である。
<Capabilityのフォーマット>
C DPS_Service機能およびCDPS_Job機能で用いられる<capability>の書式を以下に示す。
<capability>
<--[ネゴが必須でない項目]-->
<!ELEMENT quality ( "draft" | "normal" | "fine" )><!ELEMENT paper_size ( "L" | "2L" | "card" | "4x6" | "A4" | "letter" | ...)>
<!ELEMENT paper_type ( "plain" | "photo" )>
但し、「quality」は印刷品位を表し、「速い(draft)」、「普通(normal)」、「綺麗(finw)」を指定する。「paper_size」は用紙サイズ(L,2L,カード、4x6,A4、レターサイズ等)を表し、「paper_type」は用紙種類を表し、「普通紙(plain)」、「写真専用紙(photo)」を指定する。
<--[ネゴが必須の項目]-->
<!ELEMENT image_type ( "bmp" | "jpeg" | "tiff" | ...)><!ELEMENT date ( "on" | "off" )>
<!ELEMENT file_name ( "on" | "off" )>
<!ELEMENT image_optimize ( "on" | "off" )>
<size_per_page (#PCDATA)>
<!ATTLIST layout L ( "borderless"|"1x1"|・・・| "index(3x5)") "borderless"2L ( "borderless"|"1x1"|・・・|"index(5x7)") "borderless"...>
但し、「image_type」は、サポートしている画像フォーマットを表す。「date」は日付印刷のオン/オフを表わしている。「file_name」は、ファイル名の印刷のオン/オフを表し、「image_ooptimize」は、画像補正のオン/オフを表わしている。「size_per_page」は、読み込み可能な画像データのサイズを表し、「layout」は各種用紙種類に対して可能なレイアウトを表す。
<option>
<!ATTLIST vendor image_optimize ( "DiPS" | "auto" | ・・・ ) "auto"trimming_x (#PCDATA) "0"
trimming_y (#PCDATA) "0"
trimming_w (#PCDATA) "0"
trimming_h (#PCDATA) "0"
...>
</option>
</capability>
尚、この「option」で囲まれた部分は、各ベンダーに固有のPrinter Capabilityを表し、ここにはベンダー名と共に記載する。
<Jobフォーマット>
C DPS_Job機能で用いられる<job>の書式を以下に示す。
<job>
<capabitily>
<--上述のCapabilityフォーマット-->
</capability>
<printlist>
<image (#PCDATA)>
<date (#PCDATA)>
<file_name (#PCDATA)>
<--上記imege,data,file_nameを繰り返す-->
</printlist>
</job>
但し、上記「capability」で囲まれた部分は、以下に続く画像の印刷設定を表している。また、「printlist」で囲まれた部分は、このジョブ内で印刷する画像及び付加情報(日付、ファイル名)などを表わしている。
<Jobフォーマットの具体例>
次に、このJobフォーマットの具体例を説明する。
(A)L版の写真用紙にHandle1の画像を日付を入れてフチなしで印刷する。
<?XML version="1.0" encoding="UTF-16"?>
<command(CDPS_job)>
<job>
<capabitily>
<papersize("L")>:用紙サイズ(L判)
<papertype("Photo")>:写真用紙
<date("on")>:日付印刷オン
<layout("borderless")>:縁ナシ印刷
</capability>
<printlist>
<image ("handle1")>:ハンドル1の画像
<date ("2002/05/30")>:日付(2002年5月30日)
</printlist>
</job>
(B)L版の写真用紙に2×2のレイアウトでハンドル1〜6の6つの画像を印刷する。
<?XML version="1.0" encoding="UTF-16"?>
<command(CDPS_job)>
<job>
<capabitily>
<papersize("L")>:用紙サイズ(L判)
<papertype("Photo")>:写真用紙
<date("off")>:日付印刷オフ
<layout("2x2")>:レイアウト2×2
</capability>
<printlist>
<image ("handle1")>
<image ("handle2")>
<image ("handle3")>
<image ("handle4")>
<image ("handle5")>
<image ("handle6")>:ハンドル1〜6の画像指定
</printlist>
</job>
(C)ハンドル1で示すDPOFファイルによる画像の選択及び用紙サイズ・レイアウト設定に基づく印刷を行う。
<?XML version="1.0" encoding="UTF-16"?>
<command(CDPS_job)>
<job>
<printlist>
<image ("handle1")>:ハンドル1=DPOFファイル
</printlist>
</job>
(D)L版の写真用紙に2×2のレイアウトでハンドル1で示すDPOFファイルによる写真選択設定に基づく印刷を行う。。
<?XML version="1.0" encoding="UTF-16"?>
<command(CDPS_job)>
<job>
<capabitily>
<papersize("L")>:用紙サイズ(L判)
<papertype("Photo")>:写真用紙
<date("off")>:日付印刷オフ
<layout("2x2")>:レイアウト2×2
</capability>
<printlist>
<image ("handle1")>:ハンドル1=DPOFファイル
</printlist>
</job>
[CDPSの「標準」手順の流れの説明]
図16は、本実施の形態に係るCDPSの基本的な処理の流れを説明する図で、ここでは上述した機能800乃至803の間で送受信されているCDPS機能を上から下方向に時系列的に表記してある。図中、破線上「A」「B」「C」「D」で記述されている場所は、代表的と思われる機能分担の切り分け個所を示している。また前述の図8と共通する部分は同じ記号で示し、それらの説明を省略する。
前述のCDPS初期化800により、CDPSモードへの移行がPDプリンタ装置1000からDSC3012に通達されると(804)、これに応答してDSC3012から、DSC3012がサポートしているレベル(「標準」、「拡張」、及びサポートしている機能)がPDプリンタ装置1000に知らされる(821)。これに基づいてPDプリンタ装置1000は、上述した機能800〜803のそれぞれをDSC3012或いはPDプリンタ装置1000のいずれで実施するかを決定し、その結果をDSC3012に伝える(822)。
823は、操作制御801から記憶制御802に対する、記憶デバイス811に記憶されている画像データのデータリストの要求を示しており、824はそれに応答して、記憶制御802が記憶デバイス811から読み出したデータを示している。これにより805で、記憶制御802から操作制御801に対してリストデータが送られ、ユーザ812の操作により、825で、印刷モードや印刷したい画像が選択されてプリントジョブが作成され、操作制御801に知らされる。これにより操作制御801からプリント制御803に対して、作成されたUIメニューを介して入力されるユーザ812の指示に基づいて、出力設定指示書「CDPS_Job」808を作成してプリント制御803に通達する。そして826では、プリント制御803から記憶制御802に対して、その画像データが要求される。これにより記憶デバイス811から画像データ827が読み出され、印刷に必要な画像ファイル「Job Data」806が記憶制御802からプリント制御803に送られる。これによりプリント制御903において画像処理等が実行されて印刷データが作成され、プリントデバイス810に対して、その印刷データ828が送られて印刷が実行される。
ここで、もし印刷中にエラーが発生した場合には、エラー情報829がプリント制御803から操作制御801に送られる。このエラーに対してユーザ812が「印刷中止」或いは「印刷続行」を指示すると(831)、それに対応して、例えば「印刷中止」指令830が操作制御801からプリント制御803に送られる(このコマンドは図15(A)に示される)。そしてプリント制御803から操作制御801に対してプリントジョブの終了が通知される(832)。
図17は、DSC3012が操作制御801と記憶制御802とを受け持ち、PDプリンタ装置1000がプリント制御803を受け持つ場合を説明する図である。この場合の機能の切り分け位置は、前述した図16の「C」で示す位置となる。なお、この例はPTPの場合で示しているが、TCP/IP等の他の接続でも、DSC3012の操作制御801、記憶制御802を用いた場合には同様となる。
この場合には、PDプリンタ装置1000は822において、機能800〜803の内、操作制御801と記憶制御802をDSC3012で実施し、プリント制御803をPDプリンタ装置1000で実行するように伝える。これにより、DSC3012とPDプリンタ装置1000との間での機能分担が図17のように決定される。
図18は、DSC3012の記憶デバイス811をMass Storageとして扱い、PDプリンタ装置1000が操作制御801、記憶制御802及びプリント制御803を受け持つ場合を説明する図である。この場合の機能の切り分け位置は、前述した図16の「A」で示す位置となる。なお、この例はPTPの場合で示しているが、TCP/IP等の他の接続でも、DSC3012の操作制御801、記憶制御802を用いた場合には同様となる。
この場合には、PDプリンタ装置1000は822において、機能800〜803のの全ての機能をPDプリンタ装置1000で実行するように伝える。これにより、DSC3012とPDプリンタ装置1000との間での機能分担が図18のように決定される。
尚、PTP等の他の接続でも、DSC3012のリソースを全く用いない場合には同様となる。また、DSC3012がCDPS初期化機能800(CDPS Initialize)を有していない(CDPSに対応していない機種)場合も同様となる
以下、上述したCDPSにおけるサービス機能のコマンドをPTPにより実施した場合の例を説明する。
[プリントサービス機能のPTPによる実現例]
<CDPSサービスディスカバリ(CDPS_ServiceDiscovery)機能>
図19は、CDPSディスカバリー機能の手順を説明する図である。
PDプリンタ装置1000とDSC3012とが物理的に接続されてPTPに入ると、まず1400で、PDプリンタ装置1000からDSC3012に対してGetDeviceInfoが送信され、DSC3012に対して、その保持しているオブジェクトに関する情報が要求される。これに対してDSC3012は、DeviceInfo Datasetにより、DSC3012に保持しているオブジェクトに関する情報をPDプリンタ装置1000に送信する。次に1402で、OpenSessionにより、DSC3012をリソースとして割り当て、必要に応じてデータオブジェクトにハンドルをアサインしたり、特別な初期化を行うための手順の開始要求が発行されてDSC3012から肯定応答(OK)が返送されるとPTPでの通信が開始される。次に1403で、DSC3012に対してスクリプト形式の全てのハンドルを要求する(Storage ID: FFFFFF, Object Type: Script)と、これに対して1404で、DSC3012に保持されている全てのハンドルリストが返送される。次に1405,1406において、PDプリンタ装置1000からi番目のオブジェクトハンドルの情報を取得する。ここで、このオブジェクトに、DSC3012の識別を示すキーワード(例えば「山」)が含まれていると、次に1407において、PDプリンタ装置1000からオブジェクト情報の送信を指示して(SendObjectInfo)、それに対して肯定応答(OK)を受信すると、SendObjectにより、オブジェクト情報をPDプリンタ装置1000からDSC3012に対して送信する。ここで、このオブジェクトには、前述のキーワードに対する応答キーワード(合言葉)として例えば「川」が含まれている。
このようにして、PDプリンタ装置1000とDSC3012の双方が互いに接続相手を認識できることになり、これ以降はCDPSによる手順に移行することができる。このようにファイルの受渡しができるトランスポートレイヤーであればキーワードの受渡しを確実に行うことができる。即ち、本実施の形態のCDPSにユニークなコマンド等を追加することなく、キーワードを交換することができる。尚、ここでキーワードとしては、上述の例に限定されるものでなく、同じキーワードであっても良い。またこのキーワードによるネゴシエーションを行う時間を短縮するために、スクリプト形式のハンドルの最初(i=1)にこのキーワードを入れておくことにより、互いの機器を確認するのに要する時間を短縮できる。
図20は、CDPS_ServiceDiscoveryの手順の続きを説明する図である。
ここではまず1501で、PDプリンタ装置1000がサポートしている手続「標準手順」、「拡張手順」をDSC3012に通知するためにSendObjectInfoにより、DSC3012に対して送信したいオブジェクト情報があることを伝える。これに対して肯定応答(OK)がDSC3012から送られてくると、1502でSendObjectによりオブジェクトを送信する旨をDSC3012に伝え、次の1503のObjectDataで、このPDプリンタ装置1000がサポートしている手続に関する情報(「標準」/「拡張」)を送信する。次に1504で、DSC3012からPDプリンタ装置1000に対して、GetObject動作を起動したい(プッシュモードに移行)旨を伝える。これにより1505で、PDプリンタ装置1000からオブジェクト情報に関する情報を受信する旨が伝えられると(GetObjectInfo)、1506で、ObjectInfo Datasetにより、DSC3012からPDプリンタ装置1000に対してオブジェクトの情報が通知され、1507で、そのオブジェクト情報を指定してオブジェクト情報そのものが要求されると、Object Datasetにより、DSC3012が使用する手続(「標準」、「拡張」等)をPDプリンタ装置1000に知らせる(1508)。
これにより、DSC3012からPDプリンタ装置1000に対して、画像の印刷モードを指定することができる。
<CDPS_Service(標準)>
図21は、本実施の形態に係るCDPSにおけるプリンタ機能の通知手順を説明する図である。
この手順では、1600において、PDプリンタ装置1000からDSC3012に対して送信したいオブジェクト情報があることを伝え、SendObjectとObjectDataにより、DSC3012に対してプリンタの機能を通知する。
<CDPS_JobData(標準)>
図22は、本実施の形態に係るCDPSにおける、PDプリンタ装置1000がDSC3012に保持されている画像データ(JPEG画像)を取得する場合(CDPS_JobData)の通信手順をPTPアーキテクチャを用いて実現した例を説明する図である。
まず1800で、DSC3012(或いはストレージ)が保持しているオブジェクトに関する情報を要求すると、1801で、そのオブジェクトに関する情報(Object Dataset)がDSC3012からPDプリンタ装置1000に送られる。次に、1802で、そのオブジェクトを指定して取得要求(GetObject)を発行すると、1803で、その要求された画像ファイル(Object Dataset)がDSC3012からPDプリンタ装置1000に対して送信される。この様にしてPDプリンタ装置1000は、DSC3012から所望の画像ファイルを取得することができる。なお、この場合の戻り値は、「Data_Size」と「Image_Data」である。
<CDPS_PageStart(標準)>
図23は、本実施の形態に係るCDPSにおけるプリント開始通知処理の手順を説明する図である。
この手順では、1700において、PDプリンタ装置1000からDSC3012に対して送信したいオブジェクト情報(印刷開始通知)があることを伝え、1701で、SendObjectとObjectDataにより、DSC3012に対してプリント開始を通知する。
<CDPS PageEnd(標準)>
図24は、本実施の形態に係るCDPSにおける、PDプリンタ装置1000からDSC3012に対して、1ページのプリント処理を通知する通信手順をPTPアーキテクチャを用いて実現した例を説明する図である。
この手順では、1910において、PDプリンタ装置1000からDSC3012に対して送信したいオブジェクト情報(印刷終了通知)があることを伝え、1911で、SendObjectとObjectDataにより、DSC3012に対して1ページのプリント終了を通知する。
<CDPS_JobEnd(標準)>
図25は、本実施の形態に係るCDPSにおける、PDプリンタ装置1000からDSC3012に対して、プリントジョブが終了したことを通知する通信手順をPTPアーキテクチャを用いて実現した例を説明する図である。
1910で、PDプリンタ装置1000からDSC3012に対して1ページ印刷処理が終了したことが通知され、1911で、PDプリンタ装置1000からDSC3012に対して印刷ジョブが終了したことが通知される。
<CDPS Error(標準)>
図26は、本実施の形態に係るCDPSにおける、PDプリンタ装置1000からDSC3012に対してエラー状態などを通知する通信手順をPTPアーキテクチャを用いて実現した例を説明する図である。
まず1900で、PDプリンタ装置1000からDSC3012に対して送信したいオブジェクト情報(エラー情報)がある旨をSendObjectInfoにより通知する。DSC3012からの肯定応答(OK)に対して、PDプリンタ装置1000におけるエラー等のステータス情報をSendObjectおよびObjectDataにより送信する(1902)。
<CDPS Job(標準)>
図27は、本実施の形態に係るCDPSにおける、DSC3012(操作制御)からPDプリンタ装置1000に対して、プリントジョブの開始を通知する通信手順をPTPアーキテクチャを用いて実現した例を説明する図である。
まず2200において、DSC3012からPDプリンタ装置1000に対してRequestObjectTransferを送り、DSC3012が指示書を発行したい旨を通知する。これにより2201で、PDプリンタ装置1000からGetObjectInfoが発行されると、DSC3012は送信したいオブジェクト情報に関する情報を送信し、これに対してPDプリンタ装置1000からオブジェクト情報が要求されると(GetObject:2203)、2204で、Object Dataset(プリント指示書)を送信して、DSC3012からPDプリンタ装置1000に対して印刷命令を発行する。
<CDPS_JobAbort(標準)>
図28は、本実施の形態に係るCDPSにおけるDSC3012(操作制御)からPDプリンタ装置1000(印刷制御)に対してプリント中止命令(CDPS_JobAbort)を発行する通信手順をPTPアーキテクチャを用いて実現した例を説明する図である。
<CDPS_JobContinue(標準)>
図29は、本実施の形態に係るCDPSにおける、DSC3012(操作制御)からPDプリンタ装置1000(印刷制御)に対してプリント再開命令(CDPS_JobContinue)を発行する通信手順をPTPアーキテクチャを用いて実現した例を説明する図である。
図28及び図29において、図27と同様の手順実行後、図28の2301で、DSC3012からPDプリンタ装置1000に対して印刷中止指示書が発行され、図29の2401では、DSC3012からPDプリンタ装置1000に対して印刷継続指示書が通知される。
<CDPS_PartialJobData(標準)>
図30は、本実施の形態に係るCDPSにおける、PDプリンタ装置1000(印刷制御)がDSC3012(ストレージ)に保持されている画像データ(JPEG画像)を取得する場合の部分画像の取得通信手順(オプション)をPTPアーキテクチャを用いて実現した例を説明する図である。
まず1920で、DSC3012が保持しているオブジェクトに関する情報を要求すると、1921で、そのオブジェクトに関する情報(Object Dataset)がDSC3012からPDプリンタ装置1000に送られる。次に、1922で、そのオブジェクトを指定して取得要求(GetObject)を発行する。尚、この部分画像取得機能は、前述したように、所望の画像データの先頭からバイト数(offset)と、取得したい画像データのバイト数(size)が指示されているので、1923では、その要求された画像ファイル(Object Dataset)の部分画像データがDSC3012からPDプリンタ装置1000に対して送信される。この様にしてPDプリンタ装置1000は、DSC3012から所望の部分画像データを取得することができる。なお、この場合の戻り値は、「Data_Size」と「Image_Data」である。
図31は、本実施の形態に係るCDPSにおける、PDプリンタ装置1000(印刷制御)がDSC3012(ストレージ)に保持されている画像データ(JPEG画像)を取得する部分画像取得機能を受信した場合のDSC或いはストレージにおける処理を説明するフローチャートである。
まずステップS21で、<image (#PCDATA )>に含まれる画像ファイルのハンドル名を取得し、次にステップS22に進み、「offset」により、先頭からのオフセットのバイト数を取得し、次にステップS23では、「size」により、取得する画像データのバイト数を取得する。こうしてステップS24に進み、記憶デバイス811の、指定された画像ファイルのオフセット位置から、指定されたバイト数の画像データを読込む。そしてステップS25に進み、その読み出した部分画像データを、要求元であるPDプリンタ装置1000或いは印刷制御に送出する。
以上の説明では、物理層のUSBの上にPTPアーキテクチャを用いた場合で説明したが、以下、それ以外のアーキテクチャを用いた例を説明する。
[MSCアーキテクチャ]
ここでは、MSC(Mass Storage Class)を用いた例を説明する。ここでは図7の一番左側のインターフェースが使用される。この場合は、DSC3012のUIを使用せずに、PDプリンタ装置1000のUIを使用する。従って、前述の操作制御801、記憶制御802及び印刷制御803は全てPDプリンタ装置1000に配置されていることになる。そして基本的にはPDプリンタ装置1000のファイルシステムを利用して、画像ファイルのOpen、Read、Close及びディレクトリ操作等(ファイル操作)により、前述したGetJobData及びGetPartialJobData、GetDataList(Fileシステムによる)を実行する。
<CDPS_ServiceDiscovery(標準/拡張)>
この場合、PDプリンタ装置1000からDSC3012に対してCDPS_ServiceDiscoveryが送られるが、DSC3012は、前述したCDPS初期化機能を有していなくても、それに対して応答がない場合には、PDプリンタ装置1000は自動的に「標準」で受信が確立したことにしてMSC(バルクオンリー)に移行し、操作制御801、記憶制御802及び印刷制御803をPDプリンタ装置1000側とし、CDPS_GetPartialDataを「サポート済み」とする。
<CDPS_JobData(標準)>
PDプリンタ装置1000は、プリント命令により指定された画像データを取得する。ここではPDプリンタ装置1000からDSC3012に対して「Recieve Command」が発行され、これに応答して画像データ「Image Data」をDSC3012からDSC3012に送信する。実際には、PDプリンタ装置1000に構築されたファイルシステムを介して記憶デバイス811の画像データをSCSIコマンドを用いて取得する。尚、この時の戻り値は、「Data Size」と「Image Data」である。
<CDPS_PartialJobData(オプション)>
この手順は上述の「CDPS_JobData」の場合と基本的に同じで、部分的に画像データを取得する点のみが異なる。尚、この場合の戻り値も「Data Size」と「Image Data」である。
[Bluetoothアーキテクチャ]
ここでは、ブルーツース(Bluetooth)を用いた例を説明する。ここでは図7の一番右側のインターフェースが使用される。この実施の形態では、物理層の上位の通信層として2つのデバイス間のセッションを確立して、オブジェクトの送受信等を行うことができる、Bluetooth Still Image Profileを用いて上位のアプリケーションレイヤーの取り決めを記述している。
このBluetooth Still Image Profileの場合には、前述の接続に加えて、DSC(Host)→PDプリンタ装置(Slave)の向きの接続をもう一つ形成し、DSCから通常の「PutImage」コマンドを発行することにより情報の発信を行う。尚、ここでは便宜上、
接続1:PDプリンタ装置(ホスト)→DSC(スレーブ)
接続2:PDプリンタ装置(スレーブ)→DSC(ホスト)
とする。
以下、このブルーツースにおいて、各サービス機能のプロトコルを説明する。尚、図32乃至図43のサービス機能は、前述の図19乃至図30に示すサービス機能に対応しているので、ここでは簡単に説明する。
<CDPS_ServiceDicovery(標準/拡張)>
図32は、ブルーツースにおいて、CDPSへの移行手順のプロトコルを示す。ここでも図19と同様に、キーワード(山、川)により接続相手を認識している。またDSC3012は、このキーワードにDSCが備えているUIのサポートレベルを通知する。これによりPDプリンタ装置1000は、DSC或いはPDプリンタ装置1000のいずれのUIを使用するかをキーワードに付加してDSC3012に通知する。
<CDPS_ServiceDiscovery(標準/拡張)>
図33は、ブルーツースにおいて、CDPSへの移行手順のプロトコルの続きを示す図で、DSC3012とPDプリンタ装置1000との間でのCDPSモードでの通信が確立される。
<CDPS_Service(標準)>
図34は、ブルーツースにおいて、PDプリンタ装置の機能の通知手順のプロトコルを示す図で、PDプリンタ装置1000からDSC3012に対して、PDプリンタ装置1000の機能が通知される。
<CDPS_JobData(標準)>
図35は、ブルーツースにおいて、PDプリンタ装置1000がプリント命令によりDSC3012から画像データを取得するプロトコルを示す図で、この場合の戻り値は、「Data Size」と「Image Data」である。
<CDPS_PageStart(標準)>
図36は、ブルーツースにおいて、PDプリンタ装置1000からDSC3012にプリント開始を通知するプロトコルを示す図である。
<CDPS_PageEnd(標準)>
図37は、ブルーツースにおいて、PDプリンタ装置1000からDSC3012に1ページのプリント終了を通知するプロトコルを示す図である。
<CDPS_JobEnd(標準)>
図38は、ブルーツースにおいて、PDプリンタ装置1000からDSC3012にプリントジョブの終了を通知するプロトコルを示す図である。
<CDPS_Error(標準)>
図39は、ブルーツースにおいて、PDプリンタ装置1000からDSC3012にプリンタのエラーを通知するプロトコルを示す図である。
<CDPS_Job(標準)>
図40は、ブルーツースにおいて、DSC3012からPDプリンタ装置1000にプリント命令を発行するプロトコルを示す図である。
<CDPS_JobAbort(標準)>
図41は、ブルーツースにおいて、DSC3012からPDプリンタ装置1000にプリント中止命令を発行するプロトコルを示す図である。
<CDPS_JobContinue(標準)>
図42は、ブルーツースにおいて、DSC3012からPDプリンタ装置1000にプリント再開命令を発行するプロトコルを示す図である。
<CDPS_PartialJobData(オプション)>
図43は、ブルーツースにおいて、PDプリンタ装置1000がプリント命令によりDSC3012から部分画像データを取得するプロトコルを示す図で、この場合の戻り値は、「Data Size」と「Image Data」である。
図44(A)〜(C)は、図11のフローチャートにおいて、上述した各種制御機能(操作制御801、記憶制御802及びプリント制御803)をどのように分担するかを決定するための基準となるDSC3012及びPDプリンタ装置1000それぞれのサポートレベルを説明するための図で、図44(A)は操作制御801のサポートレベルを示し、図44(B)は記憶制御802のサポートレベル、そして図44(C)は、プリント制御803のサポートレベルをそれぞれ示している。ここでDSC3012は、レベル「0」〜「4」のサポートレベルの設定が可能であり、PDプリンタ装置1000は、レベル「1」〜「3」のサポートレベルの設定が可能である。もしここで、DSC3012とPDプリンタ装置1000とが同じサポートレベルの場合は、いずれの機能を優先するかは、判断する側の裁量に任せるものとする。
例えば図44(A)の操作制御801のサポートレベルにおいては、レベル「4」はDSC3012の機能を使用するように主張するレベル、レベル「3」はビューワと操作ボタンを備えていることを示している。レベル「2」は操作ボタンのみ、レベル「1」は最小限の機能しか有していないことを示し、レベル「0」は、その機能をサポートしていないことを示している。
また図44(B)の記憶制御802のサポートレベルにおいては、レベル「4」はDSC3012の機能を使用するように主張するレベル、レベル「3」はハンドル機能を備えていることを示している。レベル「2」は画像ファイルシステムを有し、レベル「1」は記憶デバイス811にアクセスできる機能しか有していないことを示し、レベル「0」は、その機能をサポートしていないことを示している。
更に図44(C)の印刷制御803のサポートレベルにおいては、レベル「4」はDSC3012の機能を使用するように主張するレベル、レベル「3」はレンダリング機能を備えていることを示している。レベル「2」は階調処理のみ、レベル「1」はJPEGの復号機能しか有していないことを示し、レベル「0」は、その機能をサポートしていないことを示している。
この様にして示されるPDプリンタ装置1000及びDSC3012のそれぞれの機能を比較し、各機能毎に、いずれの機能を使用すると最も効率が良いかを判断して、前述の図12乃至図14,及び図17,図18に示すような機能分担が実施される。
[実施の形態1]
次に本発明の実施の形態1に係るDCS3012とPDプリンタ装置1000とを接続した印刷システムの例で説明する。この実施の形態1に係る印刷システムでは、DSC3012に記憶されているDPOFファイルを用いて、上述した本実施の形態に係るCDPSによる印刷を行う場合で説明する。尚、このDPOFファイルは、DSC3012の表示部2700に表示された内容を基に、操作ボタンやスイッチ3103を使用して作成されたものであってもよく、或いはPC3010とDSC3012とが接続された状態で、PC3010による操作に基づいて作成され多ものでもよい。いずれの場合も、このDPOFファイルは、メモリカード3109に画像データとともに記憶されている。
図45は、上述したDPOFファイルのデータ例を示す図である。
図示の場合、印刷対象の画像はそれぞれ、
../DCIM/105GANON/IMG_0572.JPG
../DCIM/105GANON/IMG_0573.JPG
で示されている2行である。
この意味は、「DCIM」というディレクトリがあって、その中に「105GANON」という更なるディレクトリがあり、その中のファイル名「IMG_0572.JPG」或いは「IMG_0573.JPG」が印刷対象として指定されたことを示している。
図46は、本実施の形態1に係るDSC3012からPDプリンタ装置1000に対して印刷指示を行う場合の、DSC3012における処理を説明するフローチャートである。
まずステップS400で、前述のようにしてDPOFファイルが作成される。次にステップS401に進み、その作成したDPOFファイルがメモリカードに記憶される。尚、このDPOFファイルが作成される場合は、通常、DSC3012はオフラインの状態(PCやプリンタに接続されていない状態)で行われる。そしてステップS402で、DSC3012とプリンタ装置とが接続されたかを調べ、接続されるとステップS403に進み、接続されたプリンタが前述のCDPSに対応しているかどうかをみる。CDPSに対応していない時はステップS407に進み、メモリカード3109に記憶されているDPOFファイルをプリンタ装置に送信して、そのDPOFファイルに基づく印刷を指示する。
一方、ステップS403でCDPSに対応していると判定されると(ここでは前述のPDプリンタ装置1000が接続されたとする)ステップS404に進み、CDPSによる初期化を実行し、プリンタ装置からのCapabilityを取得する。次にステップS405に進み、その接続されたPDプリンタ装置1000の機能を参照して、DPOFファイルで指定されていない、オペレータが印刷したい印刷方法を指示する。この印刷方法には、例えば印刷に使用する用紙タイプ、印刷品位、レイアウト等が含まれている。こうして印刷方法の指示入力が終了して、操作ボタン310により印刷の開始が指示されるとステップS406に進み、メモリカードに記憶されているDPOFファイルにより選択されている画像とその印刷方法とが指示された内容がPDプリンタ装置1000に送られて印刷が実行される。
尚、ステップS405では、プリンタ装置の有する機能とは別にデフォルトの印刷条件を設定することも可能である。
この方法を用いれば、例えば旅先等で、このDSC3012を使用して写真を撮影した時に、このDSC3012でどの写真を何枚出力するかを設定してメモリカード3109に記憶しておく。そして帰宅してから、接続したプリンタ装置の機能に合せて印刷方法を設定して印刷することができる。
これによれば、DSC3012は、記憶している画像情報の中からDPOFファイルで指示された画像と、接続しているプリンタ装置に対応した印刷方法をプリンタ装置に送るだけであるため、DSC3012の構成を簡略化できる。
[実施の形態1の変形例]
この実施の形態では、CDPSの印刷指定コマンドであるCDPS_job中で、印刷に使用するDPOFファイルを指定することにより、CDPSの印刷指定のみを転送するだけで印刷方法の設定を完了することができる。前述の実施の形態1に比べて、画像の選択と、その印刷方法との関連をより明瞭にできる。
この場合も図46のフローチャートと同様にして実現可能であるが、ステップS406での処理が若干異なる。即ち、このステップS406では、ステップS405で入力された印刷指示に基づくCDPSコマンドを作成し、画像を指定するハンドルに、その印刷しようしているDPOFファイルを設定する。
以下、具体例を説明する。
ここでは例えば、L版の用紙に2×2のレイアウトでハンドル1で示すDPOFファイルに基づく印刷を行うCDPS_jobの例を示す。
<?XML version="1.0" encoding="UTF-16"?>
<command(CDPS_job)>
<job>
<capabitily>
<papersize("L")>:用紙サイズ(L判)
<papertype("Photo")>:写真用紙
<date("off")>:日付印刷オフ
<layout("2x2")>:レイアウト2×2
</capability>
<printlist>
<image ("handle1")>:ハンドル1=DPOFファイル
</printlist>
</job>
以上のコマンド列において、<capabitily>において、レイアウトまでの用紙サイズ、用紙タイプ、日付印刷の指定、レイアウトは、PDプリンタ装置1000のcapabitilyに基づいてDSC3012で作成されたもので、CDPSが備えているコマンドに相当している。そして、<image ("handle1")>:ハンドル1=DPOFファイルにより、印刷したい画像をDPOFファイルにより指定している。
これにより、本実施の形態に係るCDPSとDPOFファイルとの関連付けを容易にできる。尚、この実施の形態1では、DSC3012とPDプリンタ装置1000とが、共にこのDPOFファイルの解読機能を有していることが前提である。
[実施の形態2]
次に本発明の実施の形態2について説明する。この例では、DSC3012でDPOFファイルを解析し、PDプリンタ装置1000に送信する際には、上述のCDPSに基づくコマンド列で送信する場合で説明する。
この場合の処理を図47のフローチャートを参照して説明する。尚、図46と共通する部分は同じ番号を付して、その説明を省略する。この図47では、ステップS400〜S405,S407は同じ処理である。
ステップS405で、接続されているプリンタ装置1000に対応する印刷方法が入力されて指示されるとステップS416に進み、メモリカード3109に記憶されているDPOFファイルを読み出して解析する。そして、そのDPOFファイルで選択されている画像を特定する画像指定情報をCDPSコマンド列に組込んだCDPSジョブコマンドを作成する。そしてステップS418に進み、そのCDPSジョブコマンドに基づいてPDプリンタ装置に対して印刷を指示する。
その具体例を以下に説明する。
例えば、L版の用紙に2×2のレイアウトでハンドル1で示す画像(DPOFファイルで特定されている)を印刷するように指示するCDPS_jobの例を示す。
<?XML version="1.0" encoding="UTF-16"?>
<command(CDPS_job)>
<job>
<capabitily>
<papersize("L")>:用紙サイズ(L判)
<papertype("Photo")>:写真用紙
<date("off")>:日付印刷オフ
<layout("2x2")>:レイアウト2×2
</capability>
<printlist>
<image ("handle1")>: DPOFファイルの1番目に指定されている画像のハンドル
<image ("handle2")>: DPOFファイルの2番目に指定されている画像のハンドル
・・・
<image ("handleN")>: DPOFファイルのN番目に指定されている画像のハンドル
</printlist>
</job>
この場合、プリンタ装置は、CDPSコマンドのみをサポートしておれば良いのでプリンタ装置の構成を簡略化できる。
また、DPOFファイルに記載された印刷設定と、CDPSスクリプトに記載された印刷設定が異なっていた場合には、DPOFファイルに基づく設定を優先させるか、CDPSによる指示を優先させるかの、いずれかを指定できるようにしても良い。
DPOFファイルを優先させる場合には、写真を撮影して印刷を指定した人の意図を反映した印刷が可能になり、逆にCDPSによる設定を優先させることにより、よりプリンタ装置の機能に基づいた印刷が実現出来る。
[実施の形態3]
図48は本発明の実施の形態3に係る処理を説明するフローチャートで、前述の図46のフローチャートのステップS404以降の処理で示している。
ここではステップS404で、CDPS対応の確認が取れて、CDPS初期化を実行した後、ステップS480で、DPOFファイルによる指示と、capabilityに基づいて設定された印刷方法のいずれを用いて印刷を行うかを判定する。これはデフォルトでいずれかに設定されていてもよく、或いは操作ボタン3103を使用し表示部2700のメニュー画面等で指定されていてもよい。CDPSを用いて印刷を行う場合はステップS482に進み、前述のステップS405と同様にして、PDプリンタ装置1000により印刷方法を指示するためのデータを入力する。こうして作成されたCDPSスクリプトが、メモリカード3109に記憶されているDPOFファイルと矛盾しないかをみる。矛盾しない場合はステップS484に進み、CDPSにDPOFファイルを組込んだ形式(前述の実施の形態1或いは2)のCDPSコマンドを作成し、ステップS485で、その基づく印刷をプリンタ装置に対して指示する。
一方、ステップS483で、矛盾があると判定されるとステップS486に進み、表示部2700に矛盾がある旨を警告表示する。そして、ステップS487で、CDPSにより指示された内容とDPOFファイルにより指定された内容のいずれかが選択されるのを待ち、選択された印刷指示内容に設定する。
又ステップS480で、DPOFファイルを使用して印刷を行う場合はステップS481に進み、そのDPOFファイルをPDプリンタ装置1000に送信して印刷を行う。
これによれば、元々記憶されていたDPOFファイルにおける印刷設定内容と、プリンタに接続して入力された事項に基づく印刷設定内容との齟齬により、ユーザの意図に反した画像印刷を防止できる。
尚、上述のレにおいて、DPOFに基づく印刷を実行している場合には、DPOFに基づく印刷中であることをDSC3012の表示部2700に表示し、逆にCDPSのみの印刷条件に基づく印刷処理中は、その旨を表示部2700に表示するようにしてもよい。又、DPOFとCDPSの両方の印刷条件に基づく印刷中は、その旨を表示するようにしても良い。
又このような表示は、1枚の用紙の印刷毎に切替えても良い。これにより、各印刷ページ(或いは画像)毎に印刷条件が異なっている場合にも対応できる。
又印刷している印刷条件に、DPOFの内容が反映されているか否かを識別できるような表示を表示部2700に行うようにしても良い。
以上説明した実施の形態における機能構成を図49(a)(b)を参照して説明する。
図48(a)は、上述の実施の形態1に係る構成を示す図で、DSC3012にはDPOFファイル490が記憶されている。この状態でPDプリンタ装置1000と接続されて互いにCDPS対応であることが判明した後、PDプリンタ装置1000が有する印刷機能に応じて、新たにユーザが入力した印刷方法の指示によりCDPSジョブコマンド491が作成される。そしてPDプリンタ装置1000への印刷指示に際しては、DPOFファイル490とCDPSジョブコマンド491とが組み合わされた形式でPDプリンタ装置1000に送信される。
PDプリンタ装置1000では、DSC3012から送信された内容をCDPS解析部492(CDPS対応であるため当然常備している)とDPOF解析部493により解析し、それに基づいた印刷処理を実行する。
図48(b)は、上述の実施の形態2に係る構成を示す図で、前述と同様にDSC3012にはDPOFファイル490が記憶されている。この状態でPDプリンタ装置1000と接続されて互いにCDPS対応であることが判明した後、PDプリンタ装置1000が有する印刷機能に応じて、新たにユーザが入力した印刷方法の指示によりCDPSコマンド列491が作成される。そしてPDプリンタ装置1000への印刷指示に際しては、PDプリンタ装置1000がDPOF解析部493を有していないため、DPOFファイル490を解析して(493)、CDPSコマンド列に、DPOFファイル490で指示された画像を示すハンドルを組込んだCDPSジョブコマンド491aを作成し、それがPDプリンタ装置1000に送信される。
PDプリンタ装置1000はDPOF解析部493を備えておらず、DSC3012から送信された内容をCDPS解析部492(CDPS対応であるため当然常備している)により解析し、それに基づいた印刷処理を実行する。
図50は、上述の実施の形態1におけるPDプリンタ1000における印刷処理を説明するフローチャートである。なお、DSCが接続された際の初期の通信確立処理は既に完了しているものとして説明する。
先ず、ステップS511において、DPOFファイル或いはDPOFを含むCDPSスクリプト、或いはCDPSスクリプトを、接続中のDSC3012より取得する。次いでステップS512に進み、ステップS511で取得したファイル或いはスクリプトを解析し、印刷条件及び印刷すべき画像のハンドルを取得する。そして、ステップS513でそのハンドルで示されるデータ(画像データ)を要求する(GetObjectコマンドで実現できる)。その結果、送られてくる画像データを受信し(ステップS514)、印刷処理を行う(ステップS515)。そして、上記処理を全要求に対して行ったと判断するまで、ステップS512以降の処理を繰り返す。
以上の結果、デジタルカメラとプリンタとをダイレクトに通信する状況下においても、ユーザの意図した通りの画像のみを印刷することが可能となる。
なお本発明は、複数の機器(例えばホストコンピュータ、インターフェース機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
また、本発明の目的は、前述した実施形態の機能(カメラ側で行われる処理、
プリンタ側で行われる各種印刷処理)を実現するソフトウェアのプログラムコー
ドを記録した記憶媒体(または記録媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるャc鰍ノ書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
以上説明したように本実施の形態によれば、PDプリンタ装置をUSBホストに、DSCをスレーブに設定し、印刷動作に入る前に、PDプリンタ装置とDSCとの間でフォトダイレクト印刷に必要な機能を分担させ、最適な乃至はDSC側の所望の印刷モードを決定して印刷を行わせることができる。また、機能分担の際、例えばDSC3012がCDPS自体をサポートしていなかった場合、図11中のステップS11で、DSC3012における機能800〜803のそれぞれのサポートレベルをPDプリンタ装置1000に通達する事自体が不可能である。その場合であっても、DSC3012の各機能800〜803のそれぞれのサポートレベルを0と見做し、それら機能800〜803を全てPDプリンタ装置1000側でサポートする様にすれば、CDPS非対応のDSC3012との間でも、実質的にCDPSのリソースを共通利用してダイレクトプリントを行う事が可能となる。この「サポートレベルを0と見做す」という処理は図7中のいずれの階層で実現しても構わない。このようにリソースを共通利用する事により、対応機器及び非対応機器両者とのダイレクトプリント実現において、開発期間短縮・コスト削減・リソース削減・信頼性の向上等の効果が期待できる。
また、本実施例ではPDプリンタ装置をUSBホストに、DSCをスレーブに設定したが、特にこの組み合わせに拘る必要は無く、本発明の主旨である機能分担が好適に行われるのであればいずれの機器がホスト・スレーブを担当しても構わない。
またこのCapability情報や各種指示をスクリプトにより行うことにより、他の通信プロトコルへの移植が容易になり、標準化し易くなる。
また、デバイス間の通信手順は汎用ファイル、汎用フォーマットを用いて行い、その上位レイヤに、本実施の形態に係るアプリケーションの通信手順レイヤを規定することにより、各種インターフェース仕様に依存しない通信手順を規定することができる。
また、本実施の形態の記録システムでは、不特定多数の装置同士が接続されるため、それらインターフェースも様々多様である。よって、各種インターフェースで標準にサポートされている仕様で情報をやり取りする必要が生じる。従って、これら装置間での送受信において必須となる機能情報は「ファイル転送」もしくは「オブジェクト転送」で実現させることにより、各種インターフェース仕様に容易に適合できるようにしている。
尚、画像供給デバイスとしてはデジタルカメラ以外にも、PDAや携帯電話、テレビジョン、ビデオ機器、画像記憶デバイス等が考えられる。
また、汎用インターフェースには、上述のUSBやIEEE1394等に加えてインターネット等のネットワークへの接続も含まれる。
本発明の実施の形態に係るPDプリンタ装置の概観斜視図である。 本実施の形態に係るPDプリンタ装置の操作パネルの概観図である。 本実施の形態に係るPDプリンタ装置の制御に係る主要部の構成を示すブロック図である。 本実施の形態に係るPDプリンタ装置のASICの構成を示すブロック図である。 本実施の形態に係るデジタルカメラの構成を示すブロック図である。 本実施の形態に係るCDPS通信手順の概要を説明する図である。 本実施の形態に係るCDPSを実装したPDプリンタ装置とデジタルカメラのインターフェース及びソフトウェア構成を説明する概念図である。 本実施の形態に係るCDPSにおけるサービス機能の概念図である。 本実施の形態に係るCDPSにおける印刷までの処理の概要を説明するフローチャートである。 本実施の形態に係るCDPSにおけるDSCとPDプリンタ装置におけるサービス機能の概念図である。 本実施の形態に係るPDプリンタ装置とDSCとを接続してからCDPSが開始されるまでの処理の概要を説明するフローチャートである。 本実施の形態に係るCDPSにおけるDSCとPDプリンタ装置との機能分担例を示す図である。 本実施の形態に係るCDPSにおけるDSCとPDプリンタ装置との機能分担例を示す図である。 本実施の形態に係るCDPSにおけるDSCとPDプリンタ装置との機能分担例を示す図で、ここではDSCをマスストレージとして扱っている。 本実施の形態に係るCDPSにおける機能コマンドを説明する図である。 本実施の形態に係るCDPSにおけるDSCとPDプリンタ装置との間でのサービス機能と、処理の流れを説明するフロー図である。 本実施の形態に係るCDPSにおけるDSCとPDプリンタ装置との間でのサービス機能の分担例と、処理の流れを説明するフロー図である。 本実施の形態に係るCDPSにおけるDSCとPDプリンタ装置との間でのサービス機能の分担例と、処理の流れを説明するフロー図である。 CDPSのサービスディスカバリ(CDPS_ServiceDiscovery)をPTPアーキテクチャを用いて実現した例を説明する図である。 CDPSにおいて、カメラが使用する手続を通知する(CDPS_ServiceDiscovery)手順をPTPアーキテクチャを用いて実現した例を説明する図である。 CDPSにおけるプリンタ機能の通知(CDPS_Service)をPTPアーキテクチャを用いて実現した例を説明する図である。 CDPSにおいて、PDプリンタ装置が画像ファイルを取得する機能(CDPS_JobData)の手順をPTPアーキテクチャを用いて実現した例を説明する図である。 CDPSにおいてPDプリンタ装置からカメラに対してプリント開始を指示する機能(CDPS_PageStart)をPTPアーキテクチャを用いて実現した例を説明する図である。 CDPSにおいて、PDプリンタ装置からカメラに対して1ページのプリント終了を送信する機能(CDPS_PageEnd)の手順をPTPアーキテクチャを用いて実現した例を説明する図である。 CDPSにおいて、PDプリンタ装置からカメラに対して印刷ジョブの終了命令(CDPS_JobEnd)を発行する手順をPTPアーキテクチャを用いて実現した例を説明する図である。 CDPSにおいて、PDプリンタ装置からカメラに対してエラーステータスを送信する機能(CDPS_Error)の手順をPTPアーキテクチャを用いて実現した例を説明する図である。 CDPSにおいて、操作制御から印刷制御に対して印刷命令の発行(CDPS_Job)する手順をPTPアーキテクチャを用いて実現した例を説明する図である。 CDPSにおいて、操作制御から印刷制御に対して印刷中止を発行(CDPS_JobAbort)する手順をPTPアーキテクチャを用いて実現した例を説明する図である。 CDPSにおいて、操作制御から印刷制御に対して印刷再開を発行(CDPS_JobContinue)する手順をPTPアーキテクチャを用いて実現した例を説明する図である。 CDPSにおいて、印刷制御からストレージに対して部分画像の取得を発行(CDPS_PrintJobData)する手順をPTPアーキテクチャを用いて実現した例を説明する図である。 CDPSにおける部分画像の取得処理を説明するフローチャートである。 ブルーツースでのCDPSへの移行コマンドの通信プロトコルを説明する図である。 ブルーツースでのCDPSへの移行コマンドの通信プロトコルを説明する図である。 ブルーツースでのプリンタ機能の通知処理の通信プロトコルを説明する図である。 ブルーツースでのストレージから画像データを取得する処理の通信プロトコルを説明する図である。 ブルーツースでのプリント開始通知の通信プロトコルを説明する図である。 ブルーツースでのプリント終了通知の通信プロトコルを説明する図である。 ブルーツースでのプリントジョブの終了通知の通信プロトコルを説明する図である。 ブルーツースでのプリンタのエラー通知の通信プロトコルを説明する図である。 ブルーツースでのプリント命令の発行処理の通信プロトコルを説明する図である。 ブルーツースでのプリント中止命令の発行処理の通信プロトコルを説明する図である。 ブルーツースでのプリントジョブの再開命令発行処理の通信プロトコルを説明する図である。 ブルーツースにおける、部分画像の取得処理の通信プロトコルを説明する図である。 各種制御機能(操作制御、記憶制御及びプリント制御)をどのように分担するかを決定するための基準となるDSC及びPDプリンタ装置それぞれのサポートレベルを説明するための図である。 DPOFファイルの一例を説明する図である。 本発明の実施の形態1に係るDSCによる制御処理を説明するフローチャートである。 本発明の実施の形態2に係るDSCによる制御処理を説明するフローチャートである。 本発明の実施の形態3に係るDSCによる制御処理を説明するフローチャートである。 本発明の実施の形態1乃至2の概要を説明する機能ブロック図である。 本発明の実施の形態に係るプリンタ装置による印刷処理を説明するフローチャートである。

Claims (16)

  1. 画像データと、前記画像データの印刷方法を記述するファイルとを記憶する記憶媒体を接続するインターフェースと、
    印刷装置との通信の開始に応じて、前記印刷装置との間で所定の通信プロトコルで通信可能であるかを確認する確認手段と、
    前記所定の通信プロトコルで通信可能な場合に、前記所定のプロトコルで設定可能な印刷指示と、前記ファイルとを前記印刷装置に送信する送信手段と、
    を有することを特徴とする画像供給デバイス。
  2. 前記印刷装置が前記ファイルの解析機能を有していない場合に、前記ファイルの内容を、前記所定のプロトコルで設定される印刷指示に変換する変換手段を更に有することを特徴とする請求項1に記載の画像供給デバイス。
  3. 前記ファイルは、DPOFにより記録されていることを特徴とする請求項1又は2に記載の画像供給デバイス。
  4. 印刷条件を入力する入力手段と、前記入力手段への入力に基づいてDPOFによる前記ファイルを作成する手段とを更に有することを特徴とする請求項3に記載の画像供給デバイス。
  5. 画像データと、前記画像データの印刷方法を記述するファイルとを記憶する記憶媒体を接続するインターフェースを有する画像供給デバイスの制御方法であって、
    印刷装置との通信の開始に応じて、前記印刷装置との間で所定の通信プロトコルで通信可能であるかを確認する確認工程と、
    前記所定の通信プロトコルで通信可能な場合に、前記所定のプロトコルで設定可能な印刷指示と、前記ファイルとを前記印刷装置に送信する送信工程と、
    を有することを特徴とする画像供給デバイスの制御方法。
  6. 前記印刷装置が前記ファイルの解析機能を有していない場合に、前記ファイルの内容を、前記所定のプロトコルで設定される印刷指示に変換する変換工程を更に有することを特徴とする請求項5に記載の画像供給デバイスの制御方法。
  7. 前記ファイルは、DPOFにより記録されていることを特徴とする請求項5又は6に記載の画像供給デバイスの制御方法。
  8. 印刷条件を入力する入力工程と、前記入力工程での入力に基づいてDPOFによる前記ファイルを作成する工程とを更に有することを特徴とする請求項7に記載の画像供給デバイスの制御方法。
  9. 画像データと、前記画像データの印刷方法を記述するファイルとを記憶する記憶媒体を備える画像供給デバイスと通信する印刷装置であって、
    前記画像供給デバイスとの通信の開始に応じて、前記画像供給デバイスとの間で所定の通信プロトコルで通信可能であるかを確認する確認手段と、
    前記所定の通信プロトコルで通信可能な場合に、前記所定のプロトコルで設定可能な印刷指示と、前記ファイルとを前記画像供給デバイスから受信する受信手段と、
    を有することを特徴とする印刷装置。
  10. 前記ファイルの内容を、前記所定のプロトコルで設定される印刷指示に変換する変換手段を更に有することを特徴とする請求項9に記載の印刷装置。
  11. 前記ファイルの内容を、前記所定のプロトコルで設定される印刷指示に変換して、変換結果に応じて前記画像供給デバイスに画像データを要求する要求手段を更に有することを特徴とする請求項9に記載の印刷装置。
  12. 前記ファイルは、DPOFにより記録されていることを特徴とする請求項9乃至11のいずれか1項に記載の印刷装置。
  13. 画像データと、前記画像データの印刷方法を記述するファイルとを記憶する記憶媒体を備える画像供給デバイスと通信する印刷装置の制御方法であって、
    前記画像供給デバイスとの通信の開始に応じて、前記画像供給デバイスとの間で所定の通信プロトコルで通信可能であるかを確認する確認工程と、
    前記所定の通信プロトコルで通信可能な場合に、前記所定のプロトコルで設定可能な印刷指示と、前記ファイルとを前記画像供給デバイスから受信する受信工程と、
    を有することを特徴とする印刷装置の制御方法。
  14. 前記ファイルの内容を、前記所定のプロトコルで設定される印刷指示に変換する変換工程を更に有することを特徴とする請求項13に記載の印刷装置の制御方法。
  15. 前記ファイルの内容を、前記所定のプロトコルで設定される印刷指示に変換して、変換結果に応じて前記画像供給デバイスに画像データを要求する要求工程を更に有することを特徴とする請求項13に記載の印刷装置の制御方法。
  16. 前記ファイルは、DPOFにより記録されていることを特徴とする請求項13乃至15のいずれか1項に記載の印刷装置の制御方法。
JP2005082711A 2005-03-22 2005-03-22 画像供給デバイスとその制御方法 Expired - Fee Related JP4266948B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005082711A JP4266948B2 (ja) 2005-03-22 2005-03-22 画像供給デバイスとその制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005082711A JP4266948B2 (ja) 2005-03-22 2005-03-22 画像供給デバイスとその制御方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2002348783A Division JP4250408B2 (ja) 2002-11-29 2002-11-29 画像供給デバイス、記録装置及び記録システムとその制御方法

Publications (2)

Publication Number Publication Date
JP2006012119A true JP2006012119A (ja) 2006-01-12
JP4266948B2 JP4266948B2 (ja) 2009-05-27

Family

ID=35779270

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005082711A Expired - Fee Related JP4266948B2 (ja) 2005-03-22 2005-03-22 画像供給デバイスとその制御方法

Country Status (1)

Country Link
JP (1) JP4266948B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011090396A (ja) * 2009-10-20 2011-05-06 Seiko Epson Corp Usbデバイス装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011090396A (ja) * 2009-10-20 2011-05-06 Seiko Epson Corp Usbデバイス装置

Also Published As

Publication number Publication date
JP4266948B2 (ja) 2009-05-27

Similar Documents

Publication Publication Date Title
JP4250408B2 (ja) 画像供給デバイス、記録装置及び記録システムとその制御方法
KR100729683B1 (ko) 기록 시스템 및 그 제어 방법
JP3728276B2 (ja) プリント装置及びその制御方法、並びに、プリントシステム
JP4208640B2 (ja) 印刷システムと印刷制御方法及び印刷装置とその制御方法
JP2004013349A (ja) 撮像装置、記録システム及びその記録制御方法
JP2004129221A (ja) デジタルカメラ及びプリンタ
JP2004013348A (ja) デジタルカメラ及びその制御方法、並びに、プリントシステム
US8605334B2 (en) Recording system, recording apparatus, and control method therefor
JP4143501B2 (ja) 画像供給装置と、当該画像供給装置と記録装置とを含む記録システムとその通信制御方法
JP3619235B2 (ja) 記録システム及びその制御方法、記録装置及び画像供給デバイス
JP4266948B2 (ja) 画像供給デバイスとその制御方法
JP4367902B2 (ja) 記録システム及び画像供給デバイスと印刷装置、及びその制御方法
JP2006012118A (ja) 画像供給デバイス、記録システム及び記録制御方法
KR100627607B1 (ko) 기록시스템, 기록장치 및 그 제어방법
JP4183259B2 (ja) プリント装置及びその制御方法
JP3840258B1 (ja) デジタルカメラ及び画像出力装置及び画像処理システム及びその制御方法
JP4612907B2 (ja) 画像供給装置とその制御方法
JP3840252B2 (ja) プリント装置及びデジタルカメラ及びそれらの制御方法
JP2004364304A (ja) デジタルカメラ装置及びその制御方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080303

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080324

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080523

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080627

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080807

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090217

R150 Certificate of patent or registration of utility model

Ref document number: 4266948

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120227

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130227

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140227

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees