JP4367902B2 - Recording system, image supply device, printing apparatus, and control method therefor - Google Patents
Recording system, image supply device, printing apparatus, and control method therefor Download PDFInfo
- Publication number
- JP4367902B2 JP4367902B2 JP2003190475A JP2003190475A JP4367902B2 JP 4367902 B2 JP4367902 B2 JP 4367902B2 JP 2003190475 A JP2003190475 A JP 2003190475A JP 2003190475 A JP2003190475 A JP 2003190475A JP 4367902 B2 JP4367902 B2 JP 4367902B2
- Authority
- JP
- Japan
- Prior art keywords
- function
- image
- supply device
- image data
- printer
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
- Television Signal Processing For Recording (AREA)
- Studio Devices (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、デジタルカメラなどの画像供給デバイスと記録装置とを有する記録システム及びその制御方法、そして、印刷装置及び画像供給デバイス及びその制御方法に関するものである。
【0002】
【従来の技術】
近年、簡単な操作で画像を撮影してデジタル画像データに変換できるデジタルカメラ(撮像装置)が広く使用されるようになってきている。このようなカメラで撮影した画像を印刷して写真として使用する場合には、通常、一旦、その撮影された画像のデジタル画像データを、デジタルカメラからPC(コンピュータ)に取り込み、そのPCで画像処理を行った後、そのPCからカラープリンタに出力して印刷するのが一般的である。
【0003】
これに対して最近は、例えば特許文献1のように、PCを介することなく、直接、デジタルカメラからカラープリンタにデジタル画像データを伝送して印刷することができるカラープリントシステムや、デジタルカメラに搭載され、撮像した画像を記憶しているメモリカードを、直接、カラープリンタに装着し、そのメモリカードに記憶されている、撮影された画像を印刷できる、所謂フォトダイレクト(PD)プリンタ等も開発されている。
【0004】
【特許文献1】
特開2003−143520
【0005】
【発明が解決しようとする課題】
特に、デジタルカメラから直接プリンタに画像データを伝送して印刷する場合は、デジタルカメラは各メーカごとにその仕様や操作方法などが異なっているため、各種メーカのデジタルカメラに対応できるフォトダイレクトプリンタ装置の出現が望まれていた。また、このようなフォトダイレクトプリンタ装置は、上記説明したデジタルカメラ以外にも、例えば、携帯電話やPDAそれ以外の各種デバイスからの画像データを受信して印刷することが考えられ、またプリンタ自体の機能も種々であるため、互いのCapabilityが予測できず、互いの機能情報の交換が必須になる。
【0006】
本発明は上記従来例に鑑みてなされたもので、本発明の特徴は、インターフェースに依存しない画像データの転送及び記録指示を行うことにより、各社の画像供給デバイスからの画像データを記録できる記録システム及び印刷装置及び画像供給デバイスとその制御方法を提供することにある。
【0007】
また本発明の特徴は、画像供給デバイスと記録装置との間の標準的な通信規約を規定して、機種やメーカに拠らない記録処理を実行できる記録システム及び印刷記録装置及び画像供給デバイスとその制御方法を提供することにある。
【0008】
【課題を解決するための手段】
上記目的を達成するために本発明の記録システムは以下のような構成を備える。即ち、
画像供給デバイスと記録装置とが通信インターフェースを介して直接通信し、前記画像供給デバイスから前記記録装置に画像データを送信して記録する記録システムであって、
前記記録装置と前記画像供給デバイスとの間で通信する通信手段と、
少なくともユーザインターフェースを制御する操作制御機能のサポートレベルを含む機能情報を前記通信手段により取得し、前記画像供給デバイスのサポートレベルと前記記録装置のサポートレベルとを比較して前記操作制御機能の分担を決める分担手段と、
前記画像供給デバイスと前記記録装置との間で画像データ及びコマンドの授受を行って、前記画像供給デバイスから送信された画像データを用いて前記記録装置で記録を行う記録制御手段とを有し、
前記操作制御機能を用いて記録すべき画像データを選択し、前記記録制御手段は、前記操作制御機能を用いて選択された画像データに基づいて記録を行うことを特徴とする。
【0009】
上記目的を達成するために本発明の記録システムは以下のような工程を備える。即ち、
画像供給デバイスと記録装置とが通信インターフェースを介して直接通信し、前記画像供給デバイスから前記記録装置に画像データを送信して記録する記録システムであって、
前記記録装置と前記画像供給デバイスとの間で通信する通信手段と、
少なくとも前記画像供給デバイスの記録媒体に記録されている画像データを管理するための記憶制御機能のサポートレベルを含む機能情報を前記通信手段により取得し、前記画像供給デバイスのサポートレベルと前記記録装置のサポートレベルとを比較して前記記憶制御機能の分担を決める分担手段と、
前記画像供給デバイスと前記記録装置との間で画像データ及びコマンドの授受を行って、前記画像供給デバイスから送信された画像データを用いて前記記録装置で記録を行う記録制御手段とを有し、
前記記録制御手段は、前記記憶制御機能により管理される前記記録媒体の画像データを用いて記録を行うことを特徴とする。
【0010】
上記目的を達成するために本発明の印刷装置は以下のような構成を備える。即ち、
通信インターフェースを介して画像供給デバイスと直接接続し、前記画像供給デバイスから画像データを受信して印刷する印刷装置であって、
前記画像供給デバイスと通信する通信手段と、
少なくとも印刷対象の画像を選択するためのユーザインターフェースを制御する操作制御機能のサポートレベルを含む機能情報を前記通信手段により前記画像供給デバイスから受信し、受信した前記画像供給デバイスのサポートレベルに応じて前記操作制御機能の分担を決める分担手段と、
前記画像供給デバイスから前記操作制御機能を用いて選択された印刷対象の画像データを受信し、受信した画像データに基づいて印刷を行う印刷制御手段と、
を有することを特徴とする。
【0011】
上記目的を達成するために本発明の画像供給デバイスは以下のような構成を備える。即ち、
通信インターフェースを介して印刷装置と直接通信し、前記印刷装置に画像データを送信して印刷させる画像供給デバイスであって、
前記印刷装置と通信する通信手段と、
少なくとも印刷対象の画像を選択するためのユーザインターフェースを制御する操作制御機能のサポートレベルを含む機能情報を前記通信手段により前記印刷装置から受信し、受信した前記印刷装置のサポートレベルに応じて前記操作制御機能の分担を決める分担手段と、
前記操作制御機能を用いて選択された印刷対象の画像データを前記印刷装置に送信して前記印刷装置により印刷を行わせる印刷制御手段と、
を有することを特徴とする。
【0012】
【発明の実施の形態】
以下、添付図面を参照して本発明の好適な実施の形態を詳細に説明する。
【0013】
図1は、本発明の実施の形態に係るフォトダイレクトプリンタ装置(以下、PDプリンタ装置)1000の概観斜視図である。このPDプリンタ装置1000は、ホストコンピュータ(PC)からデータを受信して印刷する通常のPCプリンタとしての機能と、メモリカードなどの記憶媒体に記憶されている画像データを直接読取って印刷したり、或いはデジタルカメラからの画像データを受信して印刷する機能を備えている。
【0014】
図1において、本実施の形態に係るPDプリンタ装置1000の外殻をなす本体は、ケースM1001、上ケース1002、アクセスカバー1003及び排出トレイ1004の外装部材を有している。また、下ケース1001は、PDプリンタ装置1000の略下半部を、上ケース1002は本体の略上半部をそれぞれ形成しており、両ケースの組合せによって内部に後述の各機構を収納する収納空間を有する中空体構造をなし、その上面部及び前面部にはそれぞれ開口部が形成されている。さらに、排出トレイ1004は、その一端部が下ケース1001に回転自在に保持され、その回転によって下ケース1001の前面部に形成される開口部を開閉させ得るようになっている。このため、印刷動作を実行させる際には、排出トレイ1004を前面側へと回転させて開口部を開成させることにより、ここから記録シートが排出可能となると共に、排出された記録シートを順次積載し得るようになっている。また、排紙トレイ1004には、2枚の補助トレイ1004a,1004bが収納されており、必要に応じて各トレイを手前に引き出すことにより、用紙の支持面積を3段階に拡大、縮小させ得るようになっている。
【0015】
アクセスカバー1003は、その一端部が上ケース1002に回転自在に保持され、上面に形成される開口部を開閉し得るようになっており、このアクセスカバー1003を開くことによって本体内部に収納されているプリントヘッドカートリッジ(不図示)あるいはインクタンク(不図示)等の交換が可能となる。なお、ここでは特に図示しないが、アクセスカバー1003を開閉させると、その裏面に形成された突起がカバー開閉レバーを回転させるようになっており、そのレバーの回転位置をマイクロスイッチなどで検出することにより、アクセスカバーの開閉状態を検出し得るようになっている。
【0016】
また、上ケース1002の上面には、電源キー1005が設けられている。また、上ケース1002の右側には、液晶表示部1006や各種キースイッチ等を備える操作パネル1010が設けられている。この操作パネル1010の構造は、図2を参照して詳しく後述する。1007は自動給送部で、記録シートを装置本体内へと自動的に給送する。1008は紙間選択レバーで、プリントヘッドと記録シートとの間隔を調整するためのレバーである。1009はカードスロットで、ここにメモリカードを装着可能なアダプタが挿入され、このアダプタを介してメモリカードに記憶されている画像データを直接取り込んで印刷することができる。このメモリカード(PC)としては、例えばコンパクトフラッシュ(登録商標)メモリTM、スマートメディアTM、メモリスティック等がある。1011はビューワ(液晶表示部)で、このPDプリンタ装置1000の本体に着脱可能であり、PCカードに記憶されている画像の中からプリントしたい画像を検索する場合などに、1コマ毎の画像やインデックス画像などを表示するのに使用される。1012は後述するデジタルカメラを接続するためのUSB端子である。また、このPDプリンタ装置1000の後面には、パーソナルコンピュータ(PC)を接続するためのUSBコネクタが設けられている。
【0017】
図2は、本実施の形態に係るPDプリンタ装置1000の操作パネル1010の概観図である。
【0018】
図において、液晶表示部1006には、その左右に印刷されている項目に関するデータを各種設定するためのメニュー項目が表示される。ここに表示される項目としては、例えば、印刷したい範囲の先頭写真番号、指定コマ番号(開始コマ指定/印刷コマ指定)、印刷を終了したい範囲の最後の写真番号(終了)、印刷部数(部数)、印刷に使用する用紙(記録シート)の種類(用紙種類)、1枚の用紙に印刷する写真の枚数設定(レイアウト)、印刷の品位の指定(品位)、撮影した日付を印刷するかどうかの指定(日付印刷)、写真を補正して印刷するかどうかの指定(画像補正)、印刷に必要な用紙枚数の表示(用紙枚数)等がある。これら各項目は、カーソルキー2001を用いて選択、或いは指定される。2002はモードキーで、このキーを押下する毎に、印刷の種類(インデックス印刷、全コマ印刷、1コマ印刷等)を切り替えることができ、これに応じてLED2003の対応するLEDが点灯される。2004はメンテナンスキーで、プリントヘッドのクリーニング等、プリンタのメンテナンスを行わせるためのキーである。2005は印刷開始キーで、印刷の開始を指示する時、或いはメンテナンスの設定を確立する際に押下される。2006は印刷中止キーで、印刷を中止させる時や、メンテナンスの中止を指示する際に押下される。
【0019】
次に図3を参照して、本実施の形態に係るPDプリンタ装置1000の制御に係る主要部の構成を説明する。尚、この図3において、前述の図面と共通する部分は同じ記号を付与して、それらの説明を省略する。
【0020】
図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)である。
【0021】
尚、この制御部3000とプリンタエンジン3004との間の信号のやり取りは、前述したUSB3021又はIEEE1284バス3022を介して行われる。
【0022】
図4は、ASIC3001の構成を示すブロック図で、この図4においても、前述の図面と共通する部分は同じ記号を付与して、それらの説明を省略する。
【0023】
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バス)である。
【0024】
図5は、本発明の実施の形態に係るDSC3012の代表的な構成例を示すブロック図である。但し、本実施の形態のPDプリンタ装置1000に接続可能なデジタルカメラの中には、後述する表示部2700を有していない機器も存在する可能性がある。
【0025】
同図において、3100はDSC全体の制御を司るCPUであり、3101はCPU3100の処理手順(プログラム)を記憶しているROMである。3102はCPU3100のワークエリアとして使用されるRAMであり、3103は各種操作を行うスイッチ群で、各種スイッチやカーソルキー等が含まれている。2700は液晶表示部であり、撮像した画像を確認したり、各種設定を行う際のメニューを表示するために使用される。3105は光学ユニットであり、主としてレンズ及びその駆動系で構成される。3106はCCD素子であり、3107はCPU3100の制御下において光学ユニット3105を駆動制御するドライバである。3108は記憶媒体3109(コンパクトフラッシュ(登録商標)メモリカード、スマートメディア等)を接続するためのコネクタであり、3110はPC或いは実施形態におけるPDプリンタ1000と接続するためのUSBインターフェース(USBのスレーブ側)である。
【0026】
本実施の形態では、上述したPDプリンタ装置1000とDSC3012とを接続して印刷を行う場合の例を中心に説明するが、このPDプリンタ装置1000のような画像出力装置に各メーカのデジタルカメラ、更には携帯電話やメモリデバイス等のデバイス(DSPD:Digital Still Photography Devices)を接続し、そこから取得した画像データに基づいてプリントできるPDプリンタ装置を提供することを目的とし、本実施の形態に係るPDプリンタ装置1000とこれらDSPDとを接続してプリントを行なう場合の通信規約について記述する。尚、本実施の形態においては、PDプリンタ装置とDSPDとの間の通信制御を汎用ファイル、汎用フォーマットを用いて行い、インターフェースに依存しない新規なCDPS(Canon Direct Print Service)を提案する。
【0027】
DSPDと画像出力装置との間で、様々な通信プロトコルアーキテクチャ、例えば、USB上のPTP(Still Image Class)やMass Storage Class、もしくはBlue Tooth上のOBEX、更にはUPnP等に対しての取り決めを行うために、ここではプリントサービス機能の概念を用いている。このプリントサービス機能とはアプリケーション層における実行機能の集合体であり、各種インターフェースに依存していない。
【0028】
又、実際の画像データ及びデバイス間の通信制御は汎用ファイル、汎用フォーマットを用いて行う(例えば、XML書式を用いて記述する)ためインターフェースに依存してない。
【0029】
このようなDSPDと画像出力装置とを接続したシステムにおいては、そのオペレーションは、どちらか一方のオペレーション部(例えば、デジタルカメラの液晶画面や、プリンタ上の操作部)を用いて行われるが、システム全体を考えた場合に、両方の装置が同様の機能を備えているような場合に、どちらの装置のオペレーション部を用いて実行させるかを決定する必要が生じる。そこで、本実施の形態に係るシステムでは、後述するDiscovery処理(移行処理)の後に、オペレーション部やその他の機能を、各装置間でどのように分担させるかを決定する仕組みを取り入れて汎用性を高めたものとしている。
【0030】
[通信概要説明]
図6は、DSPDの代表的な装置であるデジタルカメラ(DSC)3012と画像出力装置の代表例である、本実施の形態に係るPDプリンタ装置1000との間の通信の概要を説明する図である。尚、ここでは、これらDSC3012とPDプリンタ装置1000とがUSBで接続されており、その間の通信はPTPを用いている。このUSB接続において、PDプリンタ装置1000がホスト側、DSC3012がスレーブ側とする。
【0031】
以下、この手順を順に説明する。尚、ここでは、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で示す、各ベンダに固有の手順及び「拡張」処理を実行する。尚、この「拡張手順」での処理は各ベンダにより規定されるので、ここでは説明しない。
【0032】
[階層構造]
図7は、DSPDの代表であるDSC3012と、画像出力装置の代表であるPDプリンタ装置1000とを接続した場合の全体機能を階層構造で示す図である。
【0033】
図において、700及び703はアプリケーション部を示し、701及び702は物理層で、ここではUSBとブルーツース(Bluetooth)の例で示している。DSC3012及びPDプリンタ装置1000のそれぞれは700と703で示す(アプリケーション)をそれぞれ組込むことにより、本CDPSシステムを構築することができる。但し、701,702で示すように、プロトコル層のPTPやBIP,MSC(Mass Storage Class)上のファイルシステム等のアーキテクチャーの実装が前提である。又、各アプリケーション部分700,703に、このプリントサービス機能の実態が存在しており、CDPSからそれぞれのプロトコルに変換する部分でプリントサービス機能が実行される。
【0034】
このようにして、物理的なインターフェースに依存しない形でのダイレクトプリントサービスを実現できる。
【0035】
[システム全体の機能]
図8は、上述のDSPDと画像出力機器とが接続された時、これらを一体のシステムと見なした時の機能構成を示す図である。
【0036】
前述の階層構造によりインターフェースに依存しないことを規定した事に続いて、DSPDs及び画像出力装置の「機能」に対しての非依存を実現するために、よりハイレベルでの要素(オブジェクト)の定義を行う。本実施の形態においては、DSPDと画像形成装置との間での各種機能の切り分けや分担を行わず、このダイレクトプリントシステム全体として必要な機能構成要素の定義及びその役割について説明する。
【0037】
ここではシステム全体の機能を大きく4つの機能(800〜803)に分けている。
【0038】
<CDPS初期化処理(CDPS Initialize)>
CDPS初期化処理800は、他のCDPSの機能に先立って最初に起動される。ここでは、CDPSモードへの移行(標準・拡張)等を判定し、その判定結果を「Service Discovery」804として、各機能に通達する。これは前述の図6の601に相当している。
【0039】
<操作制御(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に通達する。
【0040】
<記憶制御(Storage Controller)>
記憶制御802は、写真画像が保持された記憶媒体、例えば前述のPCカード3011の管理を行う。この記憶制御802は、CDPS初期化処理800からの「Service Discovery」804を受信して起動する。また、操作制御801からの要請に従って、記憶デバイス811に保持されている画像情報リスト「Data List」805を作成し、それを操作制御801に通達する。また、プリント制御803からの要請に従って、記憶デバイス811に保存されている画像ファイル「Job Data」806をプリント制御803に送出する。
【0041】
<プリント制御>
プリント制御(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に出力することにより印刷が行われる。
【0042】
図9は、図8の各機能による処理の流れを説明するフローチャートである。
【0043】
まずステップ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を操作制御801から印刷制御803に通達する。次にステップS5に進み、印刷制御803は、その「Job」808の記述に従ってプリントデバイス810に対して印刷設定を行う。次に、記憶制御802に対して、「Data List」805に記載された記述方法で、記憶デバイス811に保持されている、印刷に必要な画像ファイル「Job Data」806を要求して、それを取得する。そしてプリントデバイス810が処理可能な印刷データを作成する。次にステップS6に進み、その印刷データをプリントデバイス810に出力して印刷する。そしてステップS7では、印刷処理の終了が指示されたかを調べ、終了指示が入力されない時はステップS4に戻り、前述の処理を実行する。そして印刷処理の終了が指示されると、この処理を終了する。
【0044】
以上説明したように、上述した各機能がDSPD或いは画像出力装置のいずれに存在するかに関わらず、上述した階層構造、4つの機能800〜803及び上記4つの機能間でやりとりされる5つの情報群804〜808を、このCDPSの基本構成とする。
【0045】
[DSCとPDプリンタ装置によるCDPS構成]
図10は、DSC3012とPDプリンタ装置1000とが接続された状態でのCDPS構成の一例を示す図である。ここでは、DSC3012とPDプリンタ装置1000の両者が、上述した4つの機能800〜804を保持している場合を示している。この場合、記憶デバイス811とプリントデバイス810は、論理的にはこのCDPSシステムの外部に位置しており、いずれの側に接続されているかは確定していない。
【0046】
本実施の形態のCDPSでは、DSC3012とPDプリンタ装置1000が物理的かつ論理的に接続された後、DSC3012及びPDプリンタ装置1000両方のCDPS初期化(CDPS Initialize)800が対話を行って、他の3機能801〜803及び記憶デバイス811、プリントデバイス810の処理機能のそれぞれを、DSC3012或いはPDプリンタ装置1000のいずれが担当して管理するかを決定することを特徴としている。
【0047】
図11は、本実施の形態におけるCDPSでの機能分担(機能割当て)処理を説明するフローチャートである。
【0048】
まずステップS11で、DSC3012における機能800〜803のそれぞれのサポートレベルを、DSC3012からPDプリンタ装置1000に通達する。次にステップS12に進み、PDプリンタ装置1000は、DSC3012から受信した各機能のサポートレベルと、PDプリンタ装置1000自身のサポートレベルとを比較し、よりユーザビリティの高い機能がDSC3012とPDプリンタ装置1000のいずれに実装されているかを判定し、各機能をいずれで分担するかを決定する。そしてステップS13に進み、その決定した各機能の担当情報と管理情報をDSC3012に通達する。そしてステップS14に進み、DSC3012とPDプリンタ装置1000のそれぞれにおいて、各機器が担当するように決定された各機能を起動し、ステップS15で手順CDPSを開始する。
【0049】
尚、ここで「拡張手順」を実行する場合には、ステップS12の時点で、DSC3012とPDプリンタ装置1000が拡張手順のサポートをしている事が判明し、その後のやりとりは各ベンダ固有となるのでここでは説明しない。
【0050】
また、各機能が必ずしも、DSC3012とPDプリンタ装置1000の両方でサポートされている必要が無いが、少なくともDSC3012或いはPDプリンタ装置1000のいずれかでサポートされている必要がある。特に、CDPS初期化800に関しては、仮にDSC3012がCDPS初期化800をサポートしていなくても、インターフェースの接続状況によってはPDプリンタ装置1000のCDPS初期化800によって、このシステムはCDPSモードに移行することが可能である。
【0051】
[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のような機能構成を備えているものとする。
【0052】
ここではまず、PDプリンタ装置1000のCDPS初期化800が、DSC3012のCDPS初期化800との間で、各機能の分担及び管理について情報交換をしようとする。これに対してDSC3012は、操作制御801及び記憶制御802の機能をサポートしている旨(液晶表示部2700有り等)を伝える。これによりPDプリンタ装置1000のCDPS初期化800は、PDプリンタ装置1000の操作制御801及び記憶制御802のサポートレベル(液晶ビューワ1011無し、等)と比較し、以下の様にシステム構成を決定する。そして、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等の他のインターフェースを介して接続された場合でも同様に行われる。
【0053】
[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のような機能構成を備えているものとする。
【0054】
PDプリンタ装置1000のCDPS初期化800が、DSC3012のCDPS初期化と各機能の分担及び管理について情報交換をしようとした場合について考えると、DSC3012はCDPS初期化を有していないのでそれに応答できない。そこで、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がこれを管理する。
【0055】
尚、このような場合は、DSC3012がCDPS初期化800を有していない場合に限らず、DSC3012が例え表示器2700を有していても、その解像度や操作性が、PDプリンタ装置1000のビューワ1011やそのビューワ1011を使用したUIに比べて劣ると、PDプリンタ装置1000のCDPS初期化800が判断した場合も同様に図13に示すような構成となる。
【0056】
[CDPS構成例−3]
図14は、MSC(Mass Storage Class)での接続時のCDPSの構成例3を説明する図で、前述の図8及び図10と共通する部分は同じ記号で示し、それらの説明を省略する。尚、この例は例えば、液晶表示器2700が無いDSC3012をMSCで液晶ビューワ1011を装着したPDプリンタ装置1000と接続した例で説明する。
【0057】
この場合には、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を管理する。
【0058】
[CDPS出力手順]
本実施の形態に係るCDPSにおける出力手順は、以下の2通りを有している。
【0059】
<標準手順>
本実施の形態に係る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プロトコルのやり取りが必要)をモデリングするために、図15A,15Bに示すようなプリントサービス機能を設けた。上述の図7のアプリケーション層700,703では、基本的には図15A,15Bに示すプリントサービス機能を用いることによりダイレクトプリントを行うことができる。尚、このプリントサービス機能には必須機能(図15A)とオプション機能(図15B)とがあり、CDPSをサポートする装置は、この内の必須機能を全て用意する必要がある。
【0060】
図15A,15Bは、本実施の形態に係るCDPSにおけるサービス機能の一覧を示す図である。以下、順次これらの機能について説明する。
(a) CDPS_ServiceDiscovery(サービスディスカバリ)
CDPSへの移行を行う機能である。この戻り値はスクリプトで、CDPSの手順「標準」或いは「拡張」が指示されており、いずれの手順が選択されたかを受信する。尚、「拡張」手順時は、CDPS_ServiceDiscovery機能のみが使用される。
(b) CDPS_Service(印刷制御803→操作制御801)
PDプリンタ装置の機能を記載したスクリプトをパラメータとして通知する。PDプリンタ装置の機能を記載したスクリプトを引数とし、その戻り値は通信の結果、即ち、通信の成否(“TRUE” or “FALSE”)を示す。
(c) CDPS_PageStart(印刷制御803→操作制御801)
プリント開始を通知(1ページ毎)する。パラメータは、プリント機能を記載したスクリプトで、その戻り値は通信の結果、即ち、通信の成否(“TRUE” or “FALSE”)を示す。
(d) CDPS_PageEnd(印刷制御803→操作制御801)
プリント終了を通知(1ページ毎で排紙時)する機能である。パラメータは、プリント機能を記載したスクリプトで、その戻り値は通信の結果、即ち、通信の成否(“TRUE” or “FALSE”)を示す。
(e) CDPS_JobEnd(印刷制御803→操作制御801)
プリントジョブの終了を通知する。パラメータは、プリント機能を記載したスクリプトで、その戻り値は通信の結果、即ち、通信の成否(“TRUE” or “FALSE”)を示す。
(f) CDPS_Error(印刷制御803→操作制御801)
エラー(Warning/Fatal)を通知する機能である。パラメータは、プリント機能を記載したスクリプトで、その戻り値は通信の結果、即ち、通信の成否(“TRUE” or “FALSE”)を示す。
(g) CDPS_JobData(印刷制御803→記憶制御802)
記憶デバイス811からJPEG等のイメージを取得する機能である。取得する画像データのハンドル名を記載したスクリプトを引数とし、戻り値は取得した画像データのバイト数と画像データそのものである。
(h) CDPS_DataList(操作制御801→記憶制御802)
記憶デバイス811からJPEG等の画像情報のリストを取得する機能である。PDプリンタ装置1000の機能を記載したスクリプトを引数とし、その戻り値は画像データのリストを記載したスクリプトである。
(i) CDPS_Job(操作制御801→印刷制御803)
プリント命令を通知する機能である。プリント命令を記載したスクリプトを引数とし、戻り値は通信の結果、即ち、通信の成否(“TRUE” or “FALSE”)を示す。
(j) CDPS_JobAbort(操作制御801→印刷制御803)
プリント中止命令を通知する機能である。プリンタの機能を記載したスクリプトを引数とし、戻り値は通信の結果、即ち、通信の成否(“TRUE” or “FALSE”)を示す。
(k) CDPS_JobContinue(操作制御801→印刷制御803)
プリント再開命令を通知する機能である。プリンタの機能を記載したスクリプトを引数とし、戻り値は通信の結果、即ち、通信の成否(“TRUE” or “FALSE”)を示す。
【0061】
以上がCDPSにおける必須機能である。
【0062】
本CDPSは、更に、図15Bに示すように、オプション機能として、CDPS_PartialJobData機能を備えている。
【0063】
このCDPS_PartialJobData(印刷制御803→記憶制御802)は、記憶デバイス811からJPEG等の画像データを取得する機能である。取得した画像データのハンドル名を記載したスクリプトを引数とし、その戻り値は、取得した画像データのバイト数と画像データそのものである。
【0064】
[スクリプトのフォーマットの説明]
以下、上述のサービスディスカバリ(CDPS _ServiceDiscovery)に使用するスクリプトの内容、及び、それ以外の機能で使用するスクリプトのフォーマットについて説明する。
【0065】
<各種機能コマンドの書式>
(1)サービスディスカバリ(CDPS_ServiceDiscovery)のスクリプトの書式
サービスディスカバリ(CDPS_ServiceDiscovery)に使用するスクリプトの内容(UniCodeで記述する)で、CDPSモードに移行する際に使用する。これにより互いのキーワードを認識し合う。
【0066】
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のスクリプトの書式
(4)CDPS_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」は無効である。
【0067】
<Capabilityのフォーマット>
CDPS_Service機能およびCDPS_Job機能で用いられる<capability>の書式を以下に示す。
【0068】
但し、「quality」は印刷品位を表し、「速い(draft)」、「普通(normal)」、「綺麗(finw)」を指定する。「paper_size」は用紙サイズ(L,2L,カード、4x6,A4、レターサイズ等)を表し、「paper_type」は用紙種類を表し、「普通紙(plain)」、「写真専用紙(photo)」を指定する。
【0069】
但し、「image_type」は、サポートしている画像フォーマットを表す。「date」は日付印刷のオン/オフを表わしている。「file_name」は、ファイル名の印刷のオン/オフを表し、「image_ooptimize」は、画像補正のオン/オフを表わしている。「size_per_page」は、読み込み可能な画像データのサイズを表し、「layout」は各種用紙種類に対して可能なレイアウトを表す。
【0070】
尚、この「option」で囲まれた部分は、各ベンダーに固有のPrinter Capabilityを表し、ここにはベンダー名と共に記載する。
【0071】
<Jobフォーマット>
CDPS_Job機能で用いられる<job>の書式を以下に示す。
【0072】
但し、上記「capability」で囲まれた部分は、以下に続く画像の印刷設定を表している。また、「printlist」で囲まれた部分は、このジョブ内で印刷する画像及び付加情報(日付、ファイル名)などを表わしている。
【0073】
<Jobフォーマットの具体例>
次に、このJobフォーマットの具体例を説明する。
(A)L版の写真用紙にHandle1の画像を日付を入れてフチなしで印刷する。
【0074】
(B)L版の写真用紙に2×2のレイアウトでハンドル1〜6の6つの画像を印刷する。
【0075】
[CDPSの「標準」手順の流れの説明]
図16は、本実施の形態に係るCDPSの基本的な処理の流れを説明する図で、ここでは上述した機能800乃至803の間で送受信されているCDPS機能を上から下方向に時系列的に表記してある。図中、破線上「A」「B」「C」「D」で記述されている場所は、代表的と思われる機能分担の切り分け個所を示している。また前述の図8と共通する部分は同じ記号で示し、それらの説明を省略する。
【0076】
前述のCDPS初期化800により、CDPSモードへの移行がPDプリンタ装置1000からDSC3012に通達されると(804)、これに応答してDSC3012から、DSC3012がサポートしているレベル(「標準」、「拡張」、及びサポートしている機能)がPDプリンタ装置1000に知らされる(821)。これに基づいてPDプリンタ装置1000は、上述した機能800〜803のそれぞれをDSC3012或いはPDプリンタ装置1000のいずれで実施するかを決定し、その結果をDSC3012に伝える(822)。
【0077】
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に送られる。これによりプリント制御803において画像処理等が実行されて印刷データが作成され、プリントデバイス810に対して、その印刷データ828が送られて印刷が実行される。
【0078】
ここで、もし印刷中にエラーが発生した場合には、エラー情報829がプリント制御803から操作制御801に送られる。このエラーに対してユーザ812が「印刷中止」或いは「印刷続行」を指示すると(831)、それに対応して、例えば「印刷中止」指令830が操作制御801からプリント制御803に送られる(このコマンドは図15Aに示される)。そしてプリント制御803から操作制御801に対してプリントジョブの終了が通知される(832)。
【0079】
図17は、DSC3012が操作制御801と記憶制御802とを受け持ち、PDプリンタ装置1000がプリント制御803を受け持つ場合を説明する図である。この場合の機能の切り分け位置は、前述した図16の「C」で示す位置となる。なお、この例はPTPの場合で示しているが、TCP/IP等の他の接続でも、DSC3012の操作制御801、記憶制御802を用いた場合には同様となる。
【0080】
この場合には、PDプリンタ装置1000は822において、機能800〜803の内、操作制御801と記憶制御802をDSC3012で実施し、プリント制御803をPDプリンタ装置1000で実行するように伝える。これにより、DSC3012とPDプリンタ装置1000との間での機能分担が図17のように決定される。
【0081】
図18は、DSC3012の記憶デバイス811をMass Storageとして扱い、PDプリンタ装置1000が操作制御801、記憶制御802及びプリント制御803を受け持つ場合を説明する図である。この場合の機能の切り分け位置は、前述した図16の「A」で示す位置となる。なお、この例はPTPの場合で示しているが、TCP/IP等の他の接続でも、DSC3012の操作制御801、記憶制御802を用いた場合には同様となる。
【0082】
この場合には、PDプリンタ装置1000は822において、機能800〜803のの全ての機能をPDプリンタ装置1000で実行するように伝える。これにより、DSC3012とPDプリンタ装置1000との間での機能分担が図18のように決定される。
【0083】
尚、PTP等の他の接続でも、DSC3012の有しているリソースを全く用いない場合には同様となる。また、DSC3012がCDPS初期化機能800(CDPS Initialize)を有していない(CDPSに対応していない機種)場合も同様となる。
【0084】
以下、上述したCDPSにおけるサービス機能のコマンドをPTPにより実施した場合の例を説明する。
【0085】
[プリントサービス機能のPTPによる実現例]
<CDPSサービスディスカバリ(CDPS_ServiceDiscovery)機能>
図19はCDPSサービスディスカバリー機能の手順を説明する図である。
【0086】
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に対して送信する。ここで、このオブジェクトには、前述のキーワードに対する応答キーワード(合言葉)として例えば「川」が含まれている。
【0087】
このようにして、PDプリンタ装置1000とDSC3012の双方が互いに接続相手を認識できることになり、これ以降はCDPSによる手順に移行することができる。このようにファイルの受渡しができるトランスポートレイヤーであればキーワードの受渡しを確実に行うことができる。即ち、本実施の形態のCDPSにユニークなコマンド等を追加することなく、キーワードを交換することができる。尚、ここでキーワードとしては、上述の例に限定されるものでなく、同じキーワードであっても良い。またこのキーワードによるネゴシエーションを行う時間を短縮するために、スクリプト形式のハンドルの最初(i=1)にこのキーワードを入れておくことにより、互いの機器を確認するのに要する時間を短縮できる。
【0088】
図20は、CDPS_ServiceDiscoveryの手順の続きを説明する図である。
【0089】
ここではまず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)。
【0090】
これにより、DSC3012からPDプリンタ装置1000に対して、画像の印刷モードを指定することができる。
【0091】
<CDPS_Service (標準)>
図21は、本実施の形態に係るCDPSにおけるプリンタ機能の通知手順を説明する図である。
【0092】
この手順では、1600において、PDプリンタ装置1000からDSC3012に対して送信したいオブジェクト情報があることを伝え、SendObjectとObjectDataにより、DSC3012に対してプリンタ1000の機能を通知する。
【0093】
<CDPS_JobData (標準)>
図22は、本実施の形態に係るCDPSにおける、PDプリンタ装置1000がDSC3012に保持されている画像データ(JPEG画像)を取得する場合(CDPS_JobData)の通信手順をPTPアーキテクチャを用いて実現した例を説明する図である。
【0094】
まず1800で、DSC3012(或いはストレージ)が保持しているオブジェクトに関する情報を要求すると、1801で、そのオブジェクトに関する情報(Object Dataset)がDSC3012からPDプリンタ装置1000に送られる。次に、1802で、そのオブジェクトを指定して取得要求(GetObject)を発行すると、1803で、その要求された画像ファイル(Object Dataset)がDSC3012からPDプリンタ装置1000に対して送信される。この様にしてPDプリンタ装置1000は、DSC3012から所望の画像ファイルを取得することができる。なお、この場合の戻り値は、「Data_Size」と「Image_Data」である。
【0095】
<CDPS_PageStart (標準)>
図23は、本実施の形態に係るCDPSにおけるプリント開始通知処理の手順を説明する図である。
【0096】
この手順では、1700において、PDプリンタ装置1000からDSC3012に対して送信したいオブジェクト情報(印刷開始通知)があることを伝え、1701で、SendObjectとObjectDataにより、DSC3012に対してプリント開始を通知する。
【0097】
<CDPS PageEnd (標準)>
図24は、本実施の形態に係るCDPSにおける、PDプリンタ装置1000からDSC3012に対して、1ページのプリント処理を通知する通信手順をPTPアーキテクチャを用いて実現した例を説明する図である。
【0098】
この手順では、1910において、PDプリンタ装置1000からDSC3012に対して送信したいオブジェクト情報(印刷終了通知)があることを伝え、1911で、SendObjectとObjectDataにより、DSC3012に対して1ページのプリント終了を通知する。
【0099】
<CDPS_JobEnd (標準)>
図25は、本実施の形態に係るCDPSにおける、PDプリンタ装置1000からDSC3012に対して、プリントジョブが終了したことを通知する通信手順をPTPアーキテクチャを用いて実現した例を説明する図である。
【0100】
1910で、PDプリンタ装置1000からDSC3012に対して1ページ印刷処理が終了したことが通知され、1911で、PDプリンタ装置1000からDSC3012に対して印刷ジョブが終了したことが通知される。
【0101】
<CDPS Error (標準)>
図26は、本実施の形態に係るCDPSにおける、PDプリンタ装置1000からDSC3012に対してエラー状態などを通知する通信手順をPTPアーキテクチャを用いて実現した例を説明する図である。
【0102】
まず1900で、PDプリンタ装置1000からDSC3012に対して送信したいオブジェクト情報(エラー情報)がある旨をSendObjectInfoにより通知する。DSC3012からの肯定応答(OK)に対して、PDプリンタ装置1000におけるエラー等のステータス情報をSendObjectおよびObjectDataにより送信する(1902)。
【0103】
<CDPS Job (標準)>
図27は、本実施の形態に係るCDPSにおける、DSC3012(操作制御)からPDプリンタ装置1000に対して、プリントジョブの開始を通知する通信手順をPTPアーキテクチャを用いて実現した例を説明する図である。
【0104】
まず2200において、DSC3012からPDプリンタ装置1000に対してRequestObjectTransferを送り、DSC3012が指示書を発行したい旨を通知する。これにより2201で、PDプリンタ装置1000からGetObjectInfoが発行されると、DSC3012は送信したいオブジェクト情報に関する情報を送信し、これに対してPDプリンタ装置1000からオブジェクト情報が要求されると(GetObject:2203)、2204で、Object Dataset(プリント指示書)を送信して、DSC3012からPDプリンタ装置1000に対して印刷命令を発行する。
【0105】
<CDPS_JobAbort (標準)>
図28は、本実施の形態に係るCDPSにおけるDSC3012(操作制御)からPDプリンタ装置1000(印刷制御)に対してプリント中止命令(CDPS_JobAbort)を発行する通信手順をPTPアーキテクチャを用いて実現した例を説明する図である。
【0106】
<CDPS_JobContinue (標準)>
図29は、本実施の形態に係るCDPSにおける、DSC3012(操作制御)からPDプリンタ装置1000(印刷制御)に対してプリント再開命令(CDPS_JobContinue)を発行する通信手順をPTPアーキテクチャを用いて実現した例を説明する図である。
【0107】
図28及び図29において、図27と同様の手順実行後、図28の2301で、DSC3012からPDプリンタ装置1000に対して印刷中止指示書が発行され、図29の2401では、DSC3012からPDプリンタ装置1000に対して印刷継続指示書が通知される。
【0108】
<CDPS_PartialJobData (標準)>
図30は、本実施の形態に係るCDPSにおける、PDプリンタ装置1000(印刷制御)がDSC3012(ストレージ)に保持されている画像データ(JPEG画像)を取得する場合の部分画像の取得通信手順(オプション)をPTPアーキテクチャを用いて実現した例を説明する図である。
【0109】
まず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」である。
【0110】
図31は、本実施の形態に係るCDPSにおける、PDプリンタ装置1000(印刷制御)がDSC3012(ストレージ)に保持されている画像データ(JPEG画像)を取得する部分画像取得機能を受信した場合のDSC或いはストレージにおける処理を説明するフローチャートである。
【0111】
まずステップS21で、<image (#PCDATA )>に含まれる画像ファイルのハンドル名を取得し、次にステップS22に進み、「offset」により、先頭からのオフセットのバイト数を取得し、次にステップS23では、「size」により、取得する画像データのバイト数を取得する。こうしてステップS24に進み、記憶デバイス811の、指定された画像ファイルのオフセット位置から、指定されたバイト数の画像データを読込む。そしてステップS25に進み、その読み出した部分画像データを、要求元であるPDプリンタ装置1000或いは印刷制御803に送出する。
【0112】
以上説明した様に、PTPアーキテクチャ上でPDプリンタ装置1000がDSC3012の保持する画像の部分画像取得を行う場合には、PDプリンタ装置が「画像ファイルのハンドル」、「先頭からのオフセットバイト数」及び「取得する部分画像データのバイト数」がパラメータとして記述されたPTPオペレーション「GetPartialObject」を発行する。DSC3012は前記PTPオペレーションのパラメータに基づいて要求された部分画像データ部分を特定して前記PTPオペレーションの応答としてPDプリンタ装置1000へと送出する事で部分画像データの転送が実現される。
【0113】
以上の説明では、物理層のUSBの上にPTPアーキテクチャを用いた場合で説明したが、以下、それ以外のアーキテクチャを用いた例を説明する。
【0114】
[MSCアーキテクチャ]
ここでは、MSC(Mass Storage Class)を用いた例を説明する。ここでは図7に示すMass Storage ClassのUSBインターフェースが使用される。この場合は、DSC3012のUIを使用せずに、PDプリンタ装置1000のUIを使用する。従って、前述の操作制御801、記憶制御802及び印刷制御803は全てPDプリンタ装置1000に配置されていることになる。そして基本的にはPDプリンタ装置1000のファイルシステムを利用して、画像ファイルのOpen、Read、Close及びディレクトリ操作等(ファイル操作)により、前述したGetJobData及びGetPartialJobData、GetDataList(Fileシステムによる)を実行する。
【0115】
<CDPS_ServiceDiscovery(標準/拡張)>
この場合、PDプリンタ装置1000からDSC3012に対してCDPS_ServiceDiscoveryが送られるが、DSC3012は、前述したCDPS初期化800の機能を有していなくても、それに対して応答がない場合には、PDプリンタ装置1000は自動的に「標準」で受信が確立したことにしてMSC(バルクオンリー)に移行し、操作制御801、記憶制御802及び印刷制御803をPDプリンタ装置1000側とし、CDPS_GetPartialDataを「サポート済み」とする。
【0116】
<CDPS_JobData(標準)>
PDプリンタ装置1000は、プリント命令により指定された画像データを取得する。ここではPDプリンタ装置1000からDSC3012に対して「Receive Command」が発行され、これに応答して画像データ「Image Data」をDSC3012からPDプリンタ装置1000に送信する。実際には、PDプリンタ装置1000に構築されたファイルシステムを介して記憶デバイス811の画像データをSCSIコマンドを用いて取得する。尚、この時の戻り値は、「Data Size」と「Image Data」である。
【0117】
<CDPS_PartialJobData(オプション)>
この手順は上述の「CDPS_JobData」の場合と基本的に同じで、部分的に画像データを取得する点のみが異なる。尚、この場合の戻り値も「Data Size」と「Image Data」である。
【0118】
以上説明した様に、MSCアーキテクチャ上でPDプリンタ装置1000がDSC3012の保持する画像の部分画像取得を行う場合には、PDプリンタ装置が「画像ファイルのハンドル」、「先頭からのオフセットバイト数」、「取得する部分画像データのバイト数」及び「PDプリンタ機器1000のファイルシステム」に基づいて、DSC3012の保持するストレージ中の「読み取り位置(アドレス)」及び「読み取りバイト数」がパラメータとして記述されたSCSIコマンド「Receive」を発行する。DSC3012は前記SCSIコマンドのパラメータに基づいて要求されたデータを前記SCSIコマンドへの応答としてPDプリンタ装置1000へと送出する事で部分画像データの転送が実現される。この場合、PTPアーキテクチャの場合と異なり、DSC3012が受け取るSCSIコマンドのパラメータには「画像ファイルのハンドル」「先頭からのオフセットバイト数」という情報は含まれていないので、DSC3012から見ると、送られてきたSCSIコマンドがCDPS_JobDataに基づいて発行された物なのか、CDPS_PartialJobDataに基づいて発行された物なのかの区別はつかない。
【0119】
[Bluetoothアーキテクチャ]
ここでは、ブルーツース(Bluetooth)を用いた例を説明する。ここでは図7の一番右側のインターフェースが使用される。この実施の形態では、物理層の上位の通信層として2つのデバイス間のセッションを確立して、オブジェクトの送受信等を行うことができる、Bluetooth Still Image Profileを用いて上位のアプリケーションレイヤーの取り決めを記述している。
【0120】
このBluetooth Still Image Profileの場合には、前述の接続に加えて、DSC(Host)→PDプリンタ装置(Slave)の向きの接続をもう一つ形成し、DSCから通常の「PutImage」コマンドを発行することにより情報の発信を行う。尚、ここでは便宜上、
接続1:PDプリンタ装置(ホスト) → DSC(スレーブ)
接続2:PDプリンタ装置(スレーブ) → DSC (ホスト)
とする。
【0121】
以下、このブルーツースにおいて、各サービス機能のプロトコルを説明する。尚、図32乃至図43のサービス機能は、前述の図19乃至図30に示すサービス機能に対応しているので、ここでは簡単に説明する。
【0122】
<CDPS_ServiceDicovery (標準/拡張)>
図32は、ブルーツースにおいて、CDPSへの移行手順のプロトコルを示す。ここでも図19と同様に、キーワード("山"、"川")により接続相手を認識している。またDSC3012は、このキーワードにDSC3012が備えているUIのサポートレベルを通知する。これによりPDプリンタ装置1000は、DSC或いはPDプリンタ装置1000のいずれのUIを使用するかをキーワードに付加してDSC3012に通知する。
【0123】
<CDPS_ServiceDiscovery (標準/拡張)>
図33は、ブルーツースにおいて、CDPSへの移行手順のプロトコルの続きを示す図で、DSC3012とPDプリンタ装置1000との間でのCDPSモードでの通信が確立される。
【0124】
<CDPS_Service (標準)>
図34は、ブルーツースにおいて、PDプリンタ装置の機能の通知手順のプロトコルを示す図で、PDプリンタ装置1000からDSC3012に対して、PDプリンタ装置1000の機能が通知される。
【0125】
<CDPS_JobData (標準)>
図35は、ブルーツースにおいて、PDプリンタ装置1000がプリント命令によりDSC3012から画像データを取得するプロトコルを示す図で、この場合の戻り値は、「Data Size」と「Image Data」である。
【0126】
<CDPS_PageStart (標準)>
図36は、ブルーツースにおいて、PDプリンタ装置1000からDSC3012にプリント開始を通知するプロトコルを示す図である。
【0127】
<CDPS_PageEnd (標準)>
図37は、ブルーツースにおいて、PDプリンタ装置1000からDSC3012に1ページのプリント終了を通知するプロトコルを示す図である。
【0128】
<CDPS_JobEnd (標準)>
図38は、ブルーツースにおいて、PDプリンタ装置1000からDSC3012にプリントジョブの終了を通知するプロトコルを示す図である。
【0129】
<CDPS_Error (標準)>
図39は、ブルーツースにおいて、PDプリンタ装置1000からDSC3012にプリンタのエラーを通知するプロトコルを示す図である。
【0130】
<CDPS_Job (標準)>
図40は、ブルーツースにおいて、DSC3012からPDプリンタ装置1000にプリント命令を発行するプロトコルを示す図である。
【0131】
<CDPS_JobAbort (標準)>
図41は、ブルーツースにおいて、DSC3012からPDプリンタ装置1000にプリント中止命令を発行するプロトコルを示す図である。
【0132】
<CDPS_JobContinue (標準)>
図42は、ブルーツースにおいて、DSC3012からPDプリンタ装置1000にプリント再開命令を発行するプロトコルを示す図である。
【0133】
<CDPS_PartialJobData (オプション)>
図43は、ブルーツースにおいて、PDプリンタ装置1000がプリント命令によりDSC3012から部分画像データを取得するプロトコルを示す図で、この場合の戻り値は、「Data Size」と「Image Data」である。
【0134】
以上説明した様に、ブルーツースアーキテクチャ上でPDプリンタ装置1000がDSC3012の保持する画像の部分画像取得を行う場合には、PDプリンタ装置が「画像ファイルのハンドル」、「先頭からのオフセットバイト数」及び「取得する部分画像データのバイト数」がパラメータとして記述されたブルーツースコマンド「GetParialImage」を発行する。DSC3012は前記ブルーツースコマンドのパラメータに基づいて要求された部分画像データ部分を特定して前記ブルーツースコマンドの応答としてPDプリンタ装置1000へと送出する事で部分画像データの転送が実現される。この転送方法はPTPアーキテクチャ上での実現方法とほぼ同じである。
【0135】
上記のように、PDプリンタ装置1000は、画像提供装置たるDSC3012との通信で用いている通信プロトコルやインターフェースに応じて、部分画像データの要求コマンドをDSC3012に送信している。
【0136】
この際に、画像供給装置から送られる情報は、利用しているインターフェースの種類に関わらず共通にすることが可能になる。つまり、画像供給装置の操作部を操作されて、出力すべき画像及びその出力形態が指示され、その指示された情報(jobデータ)を、出力装置たるPDプリンタ1000が解釈して、インターフェースの種類に応じた部分画像要求コマンドを送信するようにしているからである。
【0137】
このような構成によって、電源能力に乏しいことが予想されるDSC3012等の画像供給装置の変換処理負荷を軽減させることが出来る。一方、PDプリンタ1000等の出力装置においては、自己の出力能力や出力状況に応じて部分画像要求をする為には、出力装置側でjobデータを変換して部分画像要求を発生させる方が、システムの制御がしやすい。
【0138】
なお、ブルーツースアーキテクチャ上ではPTPアーキテクチャ及びMSCアーキテクチャと異なり、DSC3012からPDプリンタ機器1000への方向のデータ転送要求(PutImage)をDSC3012側から発行する事が可能なので、次の様な実現方法を用いる事も出来る。この例を以下に示す。尚、左から右への矢印は、PDプリンタからDSCへのデータの流れを示し、右から左への矢印は、DSCからPDプリンタへのデータの流れを示している。
【0139】
【0140】
まず、PDプリンタ機器1000はCDPS_PartialJobDataを、他のCDPSコマンド(例:CDPS_PageStart)の様にスクリプトのまま「PutImage」を発行してDSC3012に送付する。CDPS_PartialJobDataのスクリプトを受け取ったDSC3012はスクリプト中に記載された「画像ファイルのハンドル」、「先頭からのオフセットバイト数」及び「取得する部分画像データのバイト数」に基づいて要求されたデータを特定し、ブルーツースコマンド「PutImage」を発行してPDプリンタ装置1000へと送出する事で部分画像データの転送が実現される。
【0141】
ここまで説明したPTP、MSC、ブルーツースの3種類のアーキテクチャそれぞれにおいて、CDPS_JobData及びCDPS_PartialJobDataの処理はそれぞれに応じた好適な実現方法が存在するが、アプリケーション層から見れば、発行するCDPSコマンド、応答として帰ってくる情報、取得するデータは全て同じなのでアプリケーション層は共通で利用する事が可能となる。また、他のアーキテクチャにCDPSを移植する場合にはそのアーキテクチャの特性に合わせた好適な実現方法がありうる。
【0142】
実際に複数のアーキテクチャをサポートしているPDプリンタ機器1000がどのアーキテクチャを利用してCDPS処理を行うかは、接続されるDSC3012のサポートしているアーキテクチャによって決まる。また逆に、実際に複数のアーキテクチャをサポートしているDSC3012がどのアーキテクチャを利用してCDPS処理を行うかは、接続されるPDプリンタ機器1000のサポートしているアーキテクチャによって決まる。仮にPDプリンタ機器1000及びDSC3012の両方が複数のアーキテクチャをサポートしていた場合には、いずれかの機器のUIを用いてユーザに使用するアーキテクチャを決定する、又はいずれかの機器の実装において使用するアーキテクチャの優先順位を定めておく、などとすれば良い。
【0143】
図44A〜図44Cは、図11のフローチャートにおいて、上述した各種制御機能(操作制御801、記憶制御802及びプリント制御803)をどのように分担するかを決定するための基準となるDSC3012及びPDプリンタ装置1000それぞれのサポートレベルを説明するための図で、図44Aは操作制御801のサポートレベルを示し、図44Bは記憶制御802のサポートレベル、そして図44Cは、プリント制御803のサポートレベルをそれぞれ示している。ここでDSC3012は、レベル「0」〜「4」のサポートレベルの設定が可能であり、PDプリンタ装置1000は、レベル「1」〜「3」のサポートレベルの設定が可能である。もしここで、DSC3012とPDプリンタ装置1000とが同じサポートレベルの場合は、いずれの機能を優先するかは、判断する側の裁量に任せるものとする。
【0144】
例えば図44Aの操作制御801のサポートレベルにおいては、レベル「4」はDSC3012の機能を使用するように主張するレベル、レベル「3」はビューワと操作ボタンを備えていることを示している。レベル「2」は操作ボタンのみ、レベル「1」は最小限の機能しか有していないことを示し、レベル「0」は、その機能をサポートしていないことを示している。
【0145】
また図44Bの記憶制御802のサポートレベルにおいては、レベル「4」はDSC3012の機能を使用するように主張するレベル、レベル「3」はハンドル機能を備えていることを示している。レベル「2」は画像ファイルシステムを有し、レベル「1」は記憶デバイス811にアクセスできる機能しか有していないことを示し、レベル「0」は、その機能をサポートしていないことを示している。
【0146】
更に図44Cの印刷制御803のサポートレベルにおいては、レベル「4」はDSC3012の機能を使用するように主張するレベル、レベル「3」はレンダリング機能を備えていることを示している。レベル「2」は階調処理のみ、レベル「1」はJPEGの復号機能しか有していないことを示し、レベル「0」は、その機能をサポートしていないことを示している。
【0147】
この様にして示されるPDプリンタ装置1000及びDSC3012のそれぞれの機能を比較し、各機能毎に、いずれの機能を使用すると最も効率が良いかを判断して、前述の図12乃至図14,及び図17,図18に示すような機能分担が実施される。
【0148】
なお本発明は、複数の機器(例えばホストコンピュータ、インターフェース機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
【0149】
また、本発明の目的は、前述した実施形態の機能(カメラ側で行われる処理、プリンタ側で行われる各種印刷処理)を実現するソフトウェアのプログラムコードを記録した記憶媒体(または記録媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0150】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0151】
以上説明したように本実施の形態によれば、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中のいずれの階層で実現しても構わない。
【0152】
リソースを共通利用する事により、対応機器及び非対応機器両者とのダイレクトプリント実現において、開発期間短縮・コスト削減・リソース削減・信頼性の向上等の効果が期待できる。
【0153】
また、本実施の形態では、PDプリンタ装置をUSBホストに、DSCをスレーブに設定したが、特にこの組み合わせに拘る必要は無く、本発明の主旨である機能分担が好適に行われるのであればいずれの機器がホスト・スレーブを担当しても構わない。
【0154】
また、本発明においてCDPSでの機能分担処理時にユーザビリティの高い方を判定する行為を行う機器はPDプリンタ装置1000に限るわけではなく、DSC3012が行っても良い。
【0155】
更には、CDPSでの機能分担処理は、機能800〜803のそれぞれのユーザビリティの比較という手法に限るわけではなく、機能800〜803内の複数の機能をまとめた機能群毎に行っても良い。
【0156】
例えば図16中の切り分け位置A〜Dの内、どの切り分け位置にPDプリンタ機器1000が対応可能かどうかをDSC3012へ伝達し、DSC3012が最終的にどの切り分け位置で接続するかを決定し、PDプリンタ機器1000へ伝達しても良い。
【0157】
また、所定の切り分け位置決定方法(例:PDプリンタ機器1000の希望位置が優先される、等)を予めPDプリンタ機器1000及びDSC3012で共有しておき、両機器がそれぞれの機器が対応可能な切り分け位置を相手機器へ伝達し、共有する切り分け位置決定方法に従って決定された切り分け位置を共有する手法を用いても良い。この場合、図16のA〜Dのような機能の並び順を、各装置で共有しておく必要がある。
【0158】
また、本実施の形態では機能800〜803の4種類で説明したが、この4種類の区切りに限る訳ではなく、機能800〜803の各機能を構成する複数の部分機能毎に部分機能分担処理を行っても良い。例えばプリント制御を構成する部分機能として、画像フォーマットサポート機能、レイアウト印刷機能、日付・ファイル名印刷機能、画像補正機能、サイズ固定印刷機能、画像切りだし印刷機能、印刷ジョブフォーマットサポート機能等がある。
【0159】
以下に各部分機能の機能分担の実施の形態を説明する。
【0160】
[画像フォーマットサポート機能]
まず、PDプリンタ機器1000がサポートしている画像フォーマット(例:JPEG、TIFF等)をDSC3012へ伝達する。次に、DSC3012はPDプリンタ機器1000がサポートしている画像フォーマットについてはPDプリンタ機器1000側が担当し、それ以外の画像フォーマットについてはDSC3012側が担当する旨を決定し、PDプリンタ機器1000に伝達する。
【0161】
PDプリンタ機器1000が担当する画像フォーマットの写真画像を出力する場合には、DSC3012は印刷すべき写真画像をPDプリンタ機器1000へ伝達し、PDプリンタ機器1000は伝達された写真画像を出力する。
【0162】
DSC3012が担当する画像フォーマットの写真画像を出力する場合には、DSC3012が担当している画像フォーマットの写真画像をPDプリンタ機器1000がサポートしている画像フォーマットへ変換してフォーマット変換済み写真画像を作成し、そのフォーマット変換済み写真画像をPDプリンタ機器1000へ伝達する。PDプリンタ機器1000は伝達されたフォーマット変換済み写真画像を出力する。
【0163】
[レイアウト印刷機能]
まず、PDプリンタ機器1000がサポートしているレイアウト印刷機能(例:1ページあたり2写真画像、4写真画像、等)をDSC3012へ伝達する。次に、DSC3012はPDプリンタ機器1000がレイアウト印刷機能をサポートしている場合についてはPDプリンタ機器1000が担当し、それ以外の場合にはDSC3012が担当する旨を決定し、PDプリンタ機器1000に伝達する。
【0164】
PDプリンタ機器1000がレイアウト印刷機能を担当して出力する場合には、DSC3012は印刷すべき写真画像とレイアウト印刷情報をPDプリンタ機器1000へ伝達し、PDプリンタ機器1000は伝達された写真画像とレイアウト印刷情報に基づいて写真画像のレイアウト印刷を出力する。
【0165】
DSC3012がレイアウト印刷機能を担当して出力する場合には、DSC3012が写真画像とレイアウト印刷情報に基づいて複数の写真画像を含んだ1枚のレイアウト済み写真画像を作成し、そのレイアウト済み写真画像をPDプリンタ機器1000へ伝達する。PDプリンタ機器1000は伝達されたレイアウト済み写真画像を出力する。
【0166】
[日付・ファイル名印刷機能]
まず、PDプリンタ機器1000がサポートしている日付・ファイル名印刷機能をDSC3012へ伝達する。次に、DSC3012はPDプリンタ機器1000が日付・ファイル名印刷機能をサポートしている場合についてはPDプリンタ機器1000が担当し、それ以外の場合にはDSC3012が担当する旨を決定し、PDプリンタ機器1000に伝達する。
【0167】
PDプリンタ機器1000が日付・ファイル名印刷機能を担当して出力する場合には、DSC3012は印刷すべき写真画像と写真画像に付随する日付・ファイル名情報をPDプリンタ機器1000へ伝達し、PDプリンタ機器1000は伝達された写真画像と日付・ファイル名情報を出力する。
【0168】
DSC3012が日付・ファイル名印刷機能を担当して出力する場合には、DSC3012が写真画像に付随する日付・ファイル名情報を印刷情報として生成し、それを写真画像と合成して合成済み写真画像を作成し、その合成済み写真画像をPDプリンタ機器1000へ伝達する。PDプリンタ機器1000は伝達された合成済み写真画像を出力する。
【0169】
[画像補正機能]
まず、PDプリンタ機器1000がサポートしている画像補正機能をDSC3012へ伝達する。次に、DSC3012はPDプリンタ機器1000がサポートしている画像補正機能についてはPDプリンタ機器1000側が担当し、それ以外の画像補正機能についてはDSC3012側が担当する旨を決定し、PDプリンタ機器1000に伝達する。
【0170】
PDプリンタ機器1000が画像補正機能を担当して出力する場合には、DSC3012は印刷すべき写真画像と写真画像に付随する画像補正情報をPDプリンタ機器1000へ伝達し、PDプリンタ機器1000は伝達された写真画像と画像補正情報に基づいて写真画像に画像補正を施して出力する。
【0171】
DSC3012が画像補正機能を担当して出力する場合には、DSC3012が担当している画像補正機能を写真画像へ施し、画像補正済み写真画像を作成し、その画像補正済み写真画像をPDプリンタ機器1000へ伝達する。PDプリンタ機器1000は伝達された画像補正済み写真画像を出力する。
【0172】
[サイズ固定印刷機能]
まず、PDプリンタ機器1000がサポートしているサイズ固定印刷機能(例:用紙サイズに因らずに写真をL判サイズで印刷、2L判サイズで印刷、等)をDSC3012へ伝達する。次に、DSC3012はPDプリンタ機器1000がサイズ固定印刷機能をサポートしている場合についてはPDプリンタ機器1000が担当し、それ以外の場合にはDSC3012が担当する旨を決定し、PDプリンタ機器1000に伝達する。
【0173】
PDプリンタ機器1000がサイズ固定印刷機能を担当して出力する場合には、DSC3012は印刷すべき写真画像とサイズ固定印刷情報をPDプリンタ機器1000へ伝達し、PDプリンタ機器1000は伝達された写真画像とサイズ固定印刷情報に基づいて写真画像を固定サイズへ変換し、固定サイズ変換済み写真画像を出力する。
【0174】
DSC3012がサイズ固定印刷機能を担当して出力する場合には、DSC3012が写真画像とサイズ固定印刷情報に基づいて写真画像を固定サイズへ変換し、固定サイズ変換済み写真画像を作成し、その固定サイズ変換済み写真画像をPDプリンタ機器1000へ伝達する。PDプリンタ機器1000は伝達された固定サイズ変換済み写真画像を出力する。
【0175】
[画像切り出し印刷機能]
まず、PDプリンタ機器1000がサポートしている画像切りだし印刷機能(例:写真中の1矩形部分を切り出して印刷、円形部分を切り出して印刷、等)をDSC3012へ伝達する。次に、DSC3012はPDプリンタ機器1000が画像切りだし印刷機能をサポートしている場合についてはPDプリンタ機器1000が担当し、それ以外の場合にはDSC3012が担当する旨を決定し、PDプリンタ機器1000に伝達する。
【0176】
PDプリンタ機器1000が画像切りだし印刷機能を担当して出力する場合には、DSC3012は印刷すべき写真画像と画像切りだし印刷情報をPDプリンタ機器1000へ伝達し、PDプリンタ機器1000は伝達された写真画像と画像切りだし印刷情報に基づいて写真画像を切りだし、画像切りだし印刷を出力する。
【0177】
DSC3012が画像切りだし印刷機能を担当して出力する場合には、DSC3012が写真画像と画像切りだし印刷情報に基づいて写真画像を切りだし、画像切りだし済み写真画像を作成し、その画像切りだし済み写真画像をPDプリンタ機器1000へ伝達する。PDプリンタ機器1000は伝達された画像切りだし済み写真画像を出力する。
【0178】
[印刷ジョブフォーマットサポート機能]
まずPDプリンタ機器1000がサポートしている印刷ジョブフォーマット(例:DPOF、CDPSジョブ、等)をDSC3012へ伝達する。次に、DSC3012はPDプリンタ機器1000がサポートしている印刷ジョブフォーマットについてはPDプリンタ機器1000側が担当し、それ以外の印刷ジョブフォーマットについてはDSC3012側が担当する旨を決定し、PDプリンタ機器1000に伝達する。
【0179】
PDプリンタ機器1000が担当する印刷ジョブフォーマットの印刷ジョブを出力する場合には、DSC3012が印刷ジョブをPDプリンタ機器1000へ伝達する。PDプリンタ機器1000は伝達された印刷ジョブを出力する。
【0180】
DSC3012が担当する印刷ジョブフォーマットの印刷ジョブを出力する場合には、DSC3012が担当している印刷ジョブフォーマットの印刷ジョブをPDプリンタ機器1000がサポートしている印刷ジョブフォーマットへ変換して変換済み印刷ジョブを作成し、その変換済み印刷ジョブをPDプリンタ機器1000へ伝達する。PDプリンタ機器1000は伝達された変換済み印刷ジョブを出力する。
【0181】
上記いずれの部分機能についても、PDプリンタ機器1000がサポートしている部分機能についてはPDプリンタ機器1000側のサポートレベルとDSC3012側のサポートレベルを比較してより高い機能を持つ機器側が担当する様にしても良い。また、場合によっては一方の機器が部分機能の全てを担当しても良い。このような場合としては、例えば一方の機器に分担される機能の数が1つや2つ等、他の機器に分担される機能に比して極端に少ない場合が考えられる。このような場合には、多少処理能力が低下しても、却って1つの機器で全ての機能を分担したほうがシステムとしての効率が向上すると考えられる。
【0182】
また実際に使う機能や、ジョブに指定される機能を参照して、機能の分担決定に利用しても良い。なぜなら、利用しない機能については処理レベルが低い機器側に分担させても問題はない。このような場合には、結果的に全ての機能が一方の機器に分担されることが発生する。
【0183】
上記説明ではPDプリンタ機器1000の機能をDSC3012へ伝達してDSC3012で分担の決定を行ったが、逆にDSC3012の機能をPDプリンタ機器1000へ伝達してPDプリンタ機器1000で分担の決定を行っても良い。
【0184】
またこのCapability情報や各種指示をスクリプトにより行うことにより、他の通信プロトコルへの移植が容易になり、標準化し易くなる。
【0185】
また、デバイス間の通信手順は汎用ファイル、汎用フォーマットを用いて行い、その上位レイヤに、本実施の形態に係るアプリケーションの通信手順レイヤを規定することにより、各種インターフェース仕様に依存しない通信手順を規定することができる。
【0186】
また、本実施の形態の印刷システムでは、不特定多数の装置同士が接続されるため、それらインターフェースも様々多様である。よって、各種インターフェースで標準にサポートされている仕様で情報をやり取りする必要が生じる。従って、これら装置間での送受信において必須となる機能情報は「ファイル転送」もしくは「オブジェクト転送」で実現させることにより、各種インターフェース仕様に容易に適合できるようにしている。
【0187】
尚、画像供給デバイスとしてはデジタルカメラ以外にも、PDAや携帯電話、テレビジョン、ビデオ機器、画像記憶デバイス等が考えられる。
【0188】
同様に、印刷システムとしてはプリンタ以外にも、ブラウン管等の表示素子への表示を行うテレビジョン、大容量記憶メディアへの書き込みを行うビデオ機器、情報記録デバイス等が考えられる。
【0189】
また、汎用インターフェースには、上述のUSBやIEEE1394等に加えてインターネット等のネットワークへの接続も含まれる。
【0190】
この様にする事で、例えば1台のPDプリンタ装置が複数種類の汎用I/Fを具備し、それぞれの汎用I/Fを用いて複数の異なるDSCとの間でダイレクトプリントを行う場合に、アプリケーションとしては同一CDPSのリソースを利用する事が可能となる。
【0191】
また逆に1台のDSCが複数種類の汎用I/Fを具備し、それぞれの汎用I/Fを用いて複数の異なるPDプリンタとの間でダイレクトプリントを行う場合も同様の事が言える。但し、処理の高速性を要求される画像データの転送(部分転送)については各I/F向けに専用のプロトコルを用いた最適化が行われても良い。
【0192】
【発明の効果】
以上説明したように本発明によれば、インターフェースに依存しない画像データの転送及び記録指示を行うことにより、各社の画像供給デバイスからの画像データを受信して記録できる。
【0193】
また、DSC−PDプリンタ間において、最適なダイレクトプリントサービスを提供出来る。
【0194】
さらに、CDPS非対応機器との接続においても共通のリソースを用いて効率的にダイレクトプリントサービスを提供出来る。
【0195】
また本発明によれば、画像供給デバイスと記録装置との間の標準的な通信規約を規定して、これらデバイスや装置の機種やメーカに拠らない記録処理を実行できるという効果がある。
【図面の簡単な説明】
【図1】 本発明の実施の形態に係るPDプリンタ装置の概観斜視図である。
【図2】 本実施の形態に係るPDプリンタ装置の操作パネルの概観図である。
【図3】 本実施の形態に係るPDプリンタ装置の制御に係る主要部の構成を示すブロック図である。
【図4】 本実施の形態に係るPDプリンタ装置のASICの構成を示すブロック図である。
【図5】 本実施の形態に係るデジタルカメラの構成を示すブロック図である。
【図6】 本実施の形態に係るCDPS通信手順の概要を説明する図である。
【図7】 本実施の形態に係るCDPSを実装したPDプリンタ装置とデジタルカメラのインターフェース及びソフトウェア構成を説明する概念図である。
【図8】 本実施の形態に係るCDPSにおけるサービス機能の概念図である。
【図9】 本実施の形態に係るCDPSにおける印刷までの処理の概要を説明するフローチャートである。
【図10】 本実施の形態に係るCDPSにおけるDSCとPDプリンタ装置におけるサービス機能の概念図である。
【図11】 本実施の形態に係るPDプリンタ装置とDSCとを接続してからCDPSが開始されるまでの処理の概要を説明するフローチャートである。
【図12】 本実施の形態に係るCDPSにおけるDSCとPDプリンタ装置との機能分担例を示す図である。
【図13】 本実施の形態に係るCDPSにおけるDSCとPDプリンタ装置との機能分担例を示す図である。
【図14】 本実施の形態に係るCDPSにおけるDSCとPDプリンタ装置との機能分担例を示す図で、ここではDSCをマスストレージとして扱っている。
【図15】 本実施の形態に係るCDPSにおける機能コマンドを説明する図である。
【図16】 本実施の形態に係るCDPSにおけるDSCとPDプリンタ装置との間でのサービス機能と、処理の流れを説明するフロー図である。
【図17】 本実施の形態に係るCDPSにおけるDSCとPDプリンタ装置との間でのサービス機能の分担(割当て)例と、処理の流れを説明するフロー図である。
【図18】 本実施の形態に係るCDPSにおけるDSCとPDプリンタ装置との間でのサービス機能の分担(割当て)例と、処理の流れを説明するフロー図である。
【図19】 CDPSのサービスディスカバリ(CDPS_ServiceDiscovery)をPTPアーキテクチャを用いて実現した例を説明する図である。
【図20】 CDPSにおいて、カメラが使用する手続を通知する(CDPS_ServiceDiscovery)手順をPTPアーキテクチャを用いて実現した例を説明する図である。
【図21】 CDPSにおけるプリンタ機能の通知(CDPS_Service)をPTPアーキテクチャを用いて実現した例を説明する図である。
【図22】 CDPSにおいて、PDプリンタ装置が画像ファイルを取得する機能(CDPS_JobData)の手順をPTPアーキテクチャを用いて実現した例を説明する図である。
【図23】 CDPSにおいて、PDプリンタ装置からカメラに対してプリント開始を指示する機能(CDPS_PageStart)をPTPアーキテクチャを用いて実現した例を説明する図である。
【図24】 CDPSにおいて、PDプリンタ装置からカメラに対して1ページのプリント終了を送信する機能(CDPS_PageEnd)の手順をPTPアーキテクチャを用いて実現した例を説明する図である。
【図25】 CDPSにおいて、PDプリンタ装置からカメラに対して印刷ジョブの終了命令(CDPS_JobEnd)を発行する手順をPTPアーキテクチャを用いて実現した例を説明する図である。
【図26】 CDPSにおいて、PDプリンタ装置からカメラに対してエラーステータスを送信する機能(CDPS_Error)の手順をPTPアーキテクチャを用いて実現した例を説明する図である。
【図27】 CDPSにおいて、操作制御から印刷制御に対して印刷命令の発行(CDPS_Job)する手順をPTPアーキテクチャを用いて実現した例を説明する図である。
【図28】 CDPSにおいて、操作制御から印刷制御に対して印刷中止を発行(CDPS_JobAbort)する手順をPTPアーキテクチャを用いて実現した例を説明する図である。
【図29】 CDPSにおいて、操作制御から印刷制御に対して印刷再開を発行(CDPS_JobContinue)する手順をPTPアーキテクチャを用いて実現した例を説明する図である。
【図30】 CDPSにおいて、印刷制御からストレージに対して部分画像の取得を発行(CDPS_PrintJobData)する手順をPTPアーキテクチャを用いて実現した例を説明する図である。
【図31】 CDPSにおける部分画像の取得処理を説明するフローチャートである。
【図32】 ブルーツースでのCDPSへの移行コマンドの通信プロトコルを説明する図である。
【図33】 ブルーツースでのCDPSへの移行コマンドの通信プロトコルを説明する図である。
【図34】 ブルーツースでのプリンタ機能の通知処理の通信プロトコルを説明する図である。
【図35】 ブルーツースでのストレージから画像データを取得する処理の通信プロトコルを説明する図である。
【図36】 ブルーツースでのプリント開始通知の通信プロトコルを説明する図である。
【図37】 ブルーツースでのプリント終了通知の通信プロトコルを説明する図である。
【図38】 ブルーツースでのプリントジョブの終了通知の通信プロトコルを説明する図である。
【図39】 ブルーツースでのプリンタのエラー通知の通信プロトコルを説明する図である。
【図40】 ブルーツースでのプリント命令の発行処理の通信プロトコルを説明する図である。
【図41】 ブルーツースでのプリント中止命令の発行処理の通信プロトコルを説明する図である。
【図42】 ブルーツースでのプリントジョブの再開命令発行処理の通信プロトコルを説明する図である。
【図43】 ブルーツースにおける、部分画像の取得処理の通信プロトコルを説明する図である。
【図44】 各種制御機能(操作制御、記憶制御及びプリント制御)をどのように分担するかを決定するための基準となるDSC及びPDプリンタ装置それぞれのサポートレベルを説明するための図である。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a recording system and an image supply device such as a digital camera and a recording apparatus.BisoAnd a printing apparatus, an image supply device, and a control method thereof.
[0002]
[Prior art]
In recent years, digital cameras (imaging devices) that can take an image with a simple operation and convert it into digital image data have been widely used. When printing an image taken with such a camera and using it as a photograph, usually, the digital image data of the taken image is once taken into a PC (computer) from the digital camera, and image processing is performed with the PC. In general, the data is output from the PC to a color printer and printed.
[0003]
On the other hand, recently, as disclosed in
[0004]
[Patent Document 1]
JP 2003-143520 A
[0005]
[Problems to be solved by the invention]
In particular, when image data is directly transmitted from a digital camera to a printer for printing, the specifications and operation methods of the digital camera differ from manufacturer to manufacturer. The appearance of was desired. In addition to the above-described digital camera, for example, such a photo direct printer apparatus may receive and print image data from various devices other than a mobile phone, a PDA, or the like. Since there are various functions, mutual Capability cannot be predicted, and exchange of each other's function information becomes essential.
[0006]
The present invention has been made in view of the above-described conventional example, and a feature of the present invention is that a recording system capable of recording image data from image supply devices of various companies by performing image data transfer and recording instructions independent of the interface. as well asprintingApparatus and image supply deviceAnd its control methodIs to provide.
[0007]
In addition, a feature of the present invention is that a recording system that defines a standard communication protocol between an image supply device and a recording apparatus and can execute a recording process that does not depend on the model or manufacturer, andprintingRecording apparatus and image supply deviceAnd its control methodIs to provide.
[0008]
[Means for Solving the Problems]
In order to achieve the above object, the recording system of the present invention comprises the following arrangement. That is,
A recording system in which an image supply device and a recording apparatus communicate directly via a communication interface and transmit and record image data from the image supply device to the recording apparatus,
Between the recording apparatus and the image supply devicesoThroughBelieveCommunication means
Function information including at least a support level of an operation control function for controlling a user interface is acquired by the communication unit, and the operation control is performed by comparing a support level of the image supply device with a support level of the recording apparatus.A sharing means for determining the sharing of functions;
in frontRecording control means for transferring image data and commands between the recording image supply device and the recording apparatus, and recording with the recording apparatus using the image data transmitted from the image supply device;Have,
Image data to be recorded is selected using the operation control function, and the recording control means performs recording based on the image data selected using the operation control functionIt is characterized by that.
[0009]
In order to achieve the above object, the recording system of the present invention comprises the following steps. That is,
A recording system in which an image supply device and a recording apparatus communicate directly via a communication interface and transmit and record image data from the image supply device to the recording apparatus,
Communication means for communicating between the recording apparatus and the image supply device;
Capability information including at least a support level of a storage control function for managing image data recorded on a recording medium of the image supply device is acquired by the communication unit, and the support level of the image supply device and the recording device A sharing means for comparing the support level to determine the sharing of the storage control function;
Recording control means for performing transmission and reception of image data and commands between the image supply device and the recording apparatus, and performing recording with the recording apparatus using image data transmitted from the image supply device;
The recording control means performs recording using image data of the recording medium managed by the storage control function.
[0010]
In order to achieve the above object, the printing apparatus of the present invention has the following configuration. That is,
A printing apparatus that directly connects to an image supply device via a communication interface, receives image data from the image supply device, and prints the image data.
The image supply deviceAnd communicationCommunication means to
Function information including at least a support level of an operation control function for controlling a user interface for selecting an image to be printed is received from the image supply device by the communication unit, and according to the received support level of the image supply device Operation controlA sharing means for determining the sharing of functions;
in frontFrom image supply deviceThe print target selected using the operation control functionPrint control means for receiving image data and performing printing based on the received image data;
It is characterized by having.
[0011]
In order to achieve the above object, the image supply device of the present invention comprises the following arrangement. That is,
An image supply device that directly communicates with a printing apparatus via a communication interface and transmits the image data to the printing apparatus for printing.
The printing apparatusAnd communicationCommunication means to
Function information including at least a support level of an operation control function for controlling a user interface for selecting an image to be printed is received from the printing apparatus by the communication unit, and the operation is performed according to the received support level of the printing apparatus. controlA sharing means for determining the sharing of functions;
The image data to be printed selected using the operation control functionThe printing apparatusSent toPrinting control means for causing the printing apparatus to perform printing,
It is characterized by having.
[0012]
DETAILED DESCRIPTION OF THE INVENTION
Preferred embodiments of the present invention will be described below in detail with reference to the accompanying drawings.
[0013]
FIG. 1 is a schematic perspective view of a photo direct printer apparatus (hereinafter referred to as a PD printer apparatus) 1000 according to an embodiment of the present invention. The
[0014]
In FIG. 1, the main body that forms the outer shell of the
[0015]
One end of the
[0016]
A
[0017]
FIG. 2 is an overview of the
[0018]
In the figure, the liquid
[0019]
Next, with reference to FIG. 3, the configuration of the main part related to the control of the
[0020]
In FIG. 3,
[0021]
Note that the exchange of signals between the
[0022]
FIG. 4 is a block diagram showing the configuration of the
[0023]
[0024]
FIG. 5 is a block diagram showing a typical configuration example of the
[0025]
In the figure,
[0026]
In this embodiment, an example in which printing is performed by connecting the above-described
[0027]
Arranges for various communication protocol architectures such as PTP (Still Image Class) and Mass Storage Class on USB, OBEX on Blue Tooth, and UPnP between DSPD and image output device. For this reason, the concept of the print service function is used here. The print service function is a collection of execution functions in the application layer and does not depend on various interfaces.
[0028]
In addition, since the actual image data and communication control between devices are performed using a general-purpose file and a general-purpose format (for example, described using an XML format), it does not depend on the interface.
[0029]
In such a system in which the DSPD and the image output apparatus are connected, the operation is performed using one of the operation units (for example, a liquid crystal screen of a digital camera or an operation unit on a printer). Considering the whole, when both devices have the same function, it is necessary to determine which device's operation unit is used for execution. Therefore, in the system according to the present embodiment, after the discovery process (migration process), which will be described later, a mechanism for determining how the operation unit and other functions are to be shared among the respective devices is incorporated to provide versatility. It is supposed to be higher.
[0030]
[Overview of communication]
FIG. 6 is a diagram for explaining an outline of communication between a digital camera (DSC) 3012 that is a typical DSPD apparatus and a
[0031]
Hereinafter, this procedure will be described in order. Here, the
(1) First, the
(2) Next, the USB host controller (USB task) of the
(3) Next, the process proceeds to the process (601) for shifting from the
(4) As a result of the
(5) The
(6) When the setting of “job” is completed and a print start instruction is issued from the user in the
(7) Next, the
(8) Here, if an error occurs in the
(9) In this way, image file transfer and printing processing (→ error transmission / reception) are repeated, and when the “job” is completed, the “job” setting state (611) in the
(10) If it is determined in the above-described
[0032]
[Hierarchical structure]
FIG. 7 is a diagram showing an overall function in a hierarchical structure when a
[0033]
In the figure,
[0034]
In this way, it is possible to realize a direct print service that does not depend on a physical interface.
[0035]
[System-wide functions]
FIG. 8 is a diagram showing a functional configuration when the above-mentioned DSPD and image output device are connected, and these are regarded as an integrated system.
[0036]
Following the above-mentioned definition that the interface does not depend on the hierarchical structure, in order to realize the independence of DSPDs and “functions” of the image output apparatus, the definition of elements (objects) at a higher level I do. In the present embodiment, the definition and function of functional components necessary for the entire direct print system will be described without separating and sharing various functions between the DSPD and the image forming apparatus.
[0037]
Here, the functions of the entire system are roughly divided into four functions (800 to 803).
[0038]
<CDPS initialization processing (CDPS Initialize)>
The
[0039]
<Operation Controller>
A UI part management (Operation Controller) 801 that interacts with the
[0040]
<Storage Controller>
A
[0041]
<Print control>
A
[0042]
FIG. 9 is a flowchart for explaining the flow of processing by each function of FIG.
[0043]
First, in step S1, it is determined whether or not the
[0044]
As described above, regardless of whether each function described above exists in the DSPD or the image output apparatus, the hierarchical structure described above, the four
[0045]
[CDPS configuration by DSC and PD printer]
FIG. 10 is a diagram illustrating an example of a CDPS configuration in a state where the
[0046]
In the CDPS of the present embodiment, after the
[0047]
FIG. 11 is a flowchart for explaining a function sharing (function assignment) process in CDPS according to the present embodiment.
[0048]
First, in step S <b> 11, the support levels of the
[0049]
When executing the “extended procedure” here, it is found that the
[0050]
Each function does not necessarily need to be supported by both the
[0051]
[CDPS configuration example-1]
FIG. 12 is a diagram for explaining a configuration example 1 of the CDPS when the
[0052]
Here, first, the
(1) The
(2) The
(3) The
(4) The print device 810 (printer engine 3004) is in the
The above-described processing is performed in the same manner even when connected via another interface such as TCP / IP of a wireless LAN (Wireless LAN).
[0053]
[CDPS configuration example-2]
FIG. 13 is a diagram for explaining a configuration example 2 of the CDPS when the
[0054]
Considering the case where the
(1) The
(2) The
(3) The
[0055]
In such a case, not only when the
[0056]
[CDPS configuration example-3]
FIG. 14 is a diagram for explaining a configuration example 3 of the CDPS at the time of connection with MSC (Mass Storage Class). The parts common to those in FIGS. 8 and 10 are denoted by the same symbols, and the description thereof is omitted. In this example, for example, a
[0057]
In this case, the
(1) The
(2) The
(3) The
[0058]
[CDPS output procedure]
The output procedure in the CDPS according to the present embodiment has the following two types.
[0059]
<Standard procedure>
In the CDPS according to the present embodiment, a procedure according to the following functions and information is defined.
・ CDPS Initialize function
・ Operation Controller function
・ Storage Controller function
・ Print Controller function
・ Service Discover information
・ Service information
・ Job information
・ Job Data information
<Expansion procedure>
Procedures that can support output in various formats based on specifications specific to each vendor are defined for each of the following.
・ XHTML
・ SVG
・ Unique format
[CDPS function description]
In the CDPS according to the present embodiment, an application can be arbitrarily handled in the upper layer of the PTP of both the
[0060]
15A and 15B are diagrams showing a list of service functions in CDPS according to the present embodiment. Hereinafter, these functions will be described sequentially.
(a) CDPS_ServiceDiscovery (service discovery)
This is a function for performing transition to CDPS. This return value is a script, and the CDPS procedure “standard” or “extended” is instructed, and which procedure is selected is received. Note that only the CDPS_ServiceDiscovery function is used during the “extension” procedure.
(b) CDPS_Service (
A script describing the function of the PD printer is notified as a parameter. The script describing the function of the PD printer is used as an argument, and the return value indicates the communication result, that is, the success or failure of communication (“TRUE” or “FALSE”).
(c) CDPS_PageStart (
Notify the start of printing (every page). The parameter is a script describing the print function, and the return value indicates the communication result, that is, the success or failure of communication (“TRUE” or “FALSE”).
(d) CDPS_PageEnd (
This is a function for notifying the end of printing (when discharging one page at a time). The parameter is a script describing the print function, and the return value indicates the communication result, that is, the success or failure of communication (“TRUE” or “FALSE”).
(e) CDPS_JobEnd (
Notify the end of the print job. The parameter is a script describing the print function, and the return value indicates the communication result, that is, the success or failure of communication (“TRUE” or “FALSE”).
(f) CDPS_Error (
This is a function to notify an error (Warning / Fatal). The parameter is a script describing the print function, and the return value indicates the communication result, that is, the success or failure of communication (“TRUE” or “FALSE”).
(g) CDPS_JobData (
This is a function for acquiring an image such as JPEG from the
(h) CDPS_DataList (
This is a function for acquiring a list of image information such as JPEG from the
(i) CDPS_Job (
This is a function for notifying a print command. The script describing the print command is used as an argument, and the return value indicates the communication result, that is, the success or failure of communication (“TRUE” or “FALSE”).
(j) CDPS_JobAbort (
This function notifies a print stop command. The script describing the function of the printer is used as an argument, and the return value indicates the communication result, that is, the success or failure of communication (“TRUE” or “FALSE”).
(k) CDPS_JobContinue (
This function notifies a print restart command. The script describing the function of the printer is used as an argument, and the return value indicates the communication result, that is, the success or failure of communication (“TRUE” or “FALSE”).
[0061]
The above is the essential function in CDPS.
[0062]
This CDPS further includes a CDPS_PartialJobData function as an optional function, as shown in FIG. 15B.
[0063]
This CDPS_PartialJobData (
[0064]
[Description of script format]
The script content used for the above-described service discovery (CDPS_ServiceDiscovery) and the script format used for other functions will be described below.
[0065]
<Format of various function commands>
(1) Script format for service discovery (CDPS_ServiceDiscovery)
The script contents used for service discovery (CDPS_ServiceDiscovery) (described in Unicode) are used when shifting to the CDPS mode. This recognizes each other's keywords.
[0066]
CanonDirectPrintService (UILevel = X) (Device information, UI level information (X) is 0 to 4)
CanonDirectPrintService (HostUI) (when using the host (PD printer) UI)
Or
CanonDirectPrintService (DeviceUI) (when using the device (DSC) UI)
(2) Script format in 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 script format
(4) CDPS_Job script format
(5) CDPS_Error script format
<? 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" |…)>
Here, “status” describes whether or not this error can be returned to the job. For example, “fatal” indicates that recovery is not possible, and “warning” indicates that recovery is possible. “Reason” describes the cause of the error.
(6) Script format of CDPS_JobData and CDPS_PartialJobData
<? XML version = "1.0" encoding = "UTF-16"?>
<! ELEMENT command ("CDPS_JobData" | "CDPS_PartialJobData")>
<Image (#PCDATA)>
<Offset (#PCDATA)>
<Size (#PCDATA)>
Here, “image” describes the handle name of the file, “offset” describes the number of bytes offset from the head, and “size” describes the number of bytes of image data to be acquired. However, in the case of CDPS_JobData, these “offset” and “size” are invalid when partial acquisition of optional functions is not used.
[0067]
<Capability format>
The <capability> format used in the CDPS_Service function and CDPS_Job function is shown below.
[0068]
However, “quality” indicates print quality, and “fast” (draft), “normal”, and “finw” are designated. “Paper_size” represents the paper size (L, 2L, card, 4x6, A4, letter size, etc.), “paper_type” represents the paper type, “plain” (plain), “photo paper (photo)” specify.
[0069]
However, “image_type” represents a supported image format. “Date” represents ON / OFF of date printing. “File_name” represents ON / OFF of file name printing, and “image_ooptimize” represents ON / OFF of image correction. “Size_per_page” represents the size of the readable image data, and “layout” represents the layout that is possible for various paper types.
[0070]
The portion surrounded by “option” represents the printer capability unique to each vendor, and is described here together with the vendor name.
[0071]
<Job format>
The <job> format used by the CDPS_Job function is shown below.
[0072]
However, the portion surrounded by the “capability” represents the print setting of the following image. A portion surrounded by “printlist” represents an image to be printed in this job, additional information (date, file name), and the like.
[0073]
<Specific examples of Job format>
Next, a specific example of this Job format will be described.
(A) The image of Handle1 is printed on the L-size photo paper with the date imprinted without a border.
[0074]
(B) Six images of
[0075]
[Explanation of CDPS “standard” procedure flow]
FIG. 16 is a diagram for explaining a basic processing flow of CDPS according to the present embodiment. Here, the CDPS functions transmitted and received between the above-described
[0076]
When the transition to the CDPS mode is notified from the
[0077]
[0078]
If an error occurs during printing,
[0079]
FIG. 17 is a diagram for explaining a case where the
[0080]
In this case, the
[0081]
FIG. 18 is a diagram for explaining a case where the
[0082]
In this case, the
[0083]
The same applies to other connections such as PTP when the resources of the
[0084]
Hereinafter, an example will be described in which the service function command in the CDPS described above is implemented by PTP.
[0085]
[Example of PTP print service function]
<CDPS service discovery (CDPS_ServiceDiscovery) function>
FIG. 19 is a diagram for explaining the procedure of the CDPS service discovery function.
[0086]
When the
[0087]
In this way, both the
[0088]
FIG. 20 is a diagram for explaining the continuation of the CDPS_ServiceDiscovery procedure.
[0089]
Here, first, in 1501, the SendObjectInfo is used to notify the
[0090]
As a result, the image printing mode can be designated from the
[0091]
<CDPS_Service (standard)>
FIG. 21 is a diagram for explaining the printer function notification procedure in the CDPS according to the present embodiment.
[0092]
In this procedure, in 1600, the
[0093]
<CDPS_JobData (standard)>
FIG. 22 shows an example in which the communication procedure when the
[0094]
First, in 1800, when information related to an object held by the DSC 3012 (or storage) is requested, in 1801, information related to the object (Object Dataset) is sent from the
[0095]
<CDPS_PageStart (standard)>
FIG. 23 is a diagram for explaining the procedure of print start notification processing in CDPS according to the present embodiment.
[0096]
In this procedure, in 1700, it is notified that there is object information (print start notification) to be transmitted from the
[0097]
<CDPS PageEnd (standard)>
FIG. 24 is a diagram for explaining an example in which the communication procedure for notifying the
[0098]
In this procedure, in 1910, it is notified that there is object information (print end notification) to be transmitted from the
[0099]
<CDPS_JobEnd (standard)>
FIG. 25 is a diagram for explaining an example in which a communication procedure for notifying the
[0100]
In 1910, the
[0101]
<CDPS Error (standard)>
FIG. 26 is a diagram for explaining an example in which a communication procedure for notifying the
[0102]
First, in 1900, the object information (error information) desired to be transmitted from the
[0103]
<CDPS Job (standard)>
FIG. 27 is a diagram for explaining an example in which a communication procedure for notifying the start of a print job from the DSC 3012 (operation control) to the
[0104]
First, in 2200, RequestObjectTransfer is sent from the
[0105]
<CDPS_JobAbort (standard)>
FIG. 28 shows an example in which a communication procedure for issuing a print abort command (CDPS_JobAbort) from the DSC 3012 (operation control) in the CDPS according to the present embodiment to the PD printer 1000 (print control) is realized using the PTP architecture. It is a figure explaining.
[0106]
<CDPS_JobContinue (standard)>
FIG. 29 shows an example in which a communication procedure for issuing a print restart command (CDPS_JobContinue) from the DSC 3012 (operation control) to the PD printer 1000 (print control) in the CDPS according to the present embodiment is realized using the PTP architecture. FIG.
[0107]
28 and 29, after executing the same procedure as in FIG. 27, in 2301 of FIG. 28, a print cancel instruction is issued from the
[0108]
<CDPS_PartialJobData (standard)>
FIG. 30 shows a partial image acquisition communication procedure (option) when the PD printer 1000 (printing control) acquires image data (JPEG image) held in the DSC 3012 (storage) in the CDPS according to the present embodiment. Is a diagram for explaining an example of realizing the above using a PTP architecture.
[0109]
First, in 1920, when information about an object held by the
[0110]
FIG. 31 shows a DSC when the PD printer apparatus 1000 (printing control) receives a partial image acquisition function for acquiring image data (JPEG image) held in the DSC 3012 (storage) in the CDPS according to the present embodiment. Or it is a flowchart explaining the process in a storage.
[0111]
First, in step S21, the handle name of the image file included in <image (#PCDATA)> is acquired, then the process proceeds to step S22, and the number of offset bytes from the head is acquired by “offset”. In S23, the number of bytes of image data to be acquired is acquired from “size”. Thus, the process proceeds to step S24, and the image data of the designated number of bytes is read from the offset position of the designated image file in the
[0112]
As described above, when the
[0113]
In the above description, the case where the PTP architecture is used on the physical layer USB has been described, but an example using other architecture will be described below.
[0114]
[MSC architecture]
Here, an example using MSC (Mass Storage Class) will be described. Here, a Mass Storage Class USB interface shown in FIG. 7 is used. In this case, the UI of the
[0115]
<CDPS_ServiceDiscovery (standard / extended)>
In this case, CDPS_ServiceDiscovery is sent from the
[0116]
<CDPS_JobData (standard)>
The
[0117]
<CDPS_PartialJobData (optional)>
This procedure is basically the same as the case of “CDPS_JobData” described above, except that image data is partially acquired. In this case, the return values are also “Data Size” and “Image Data”.
[0118]
As described above, when the
[0119]
[Bluetooth architecture]
Here, an example using Bluetooth will be described. Here, the rightmost interface in FIG. 7 is used. In this embodiment, as a communication layer above the physical layer, a session between two devices can be established and objects can be sent and received. The Bluetooth Still Image Profile is used to describe the agreement of the upper application layer. is doing.
[0120]
In the case of this Bluetooth Still Image Profile, in addition to the above-described connection, another connection in the direction of DSC (Host) → PD printer (Slave) is formed, and a normal “PutImage” command is issued from the DSC. Information is sent out. For convenience, here
Connection 1: PD printer (host) → DSC (slave)
Connection 2: PD printer (slave) → DSC (host)
And
[0121]
Hereinafter, the protocol of each service function in this Bluetooth will be described. The service functions shown in FIGS. 32 to 43 correspond to the service functions shown in FIGS. 19 to 30, and will be described here briefly.
[0122]
<CDPS_ServiceDicovery (standard / extended)>
FIG. 32 shows a protocol of a procedure for transition to CDPS in Bluetooth. Here, as in FIG. 19, the connection partner is recognized by the keywords ("mountain", "river"). In addition, the
[0123]
<CDPS_ServiceDiscovery (standard / extended)>
FIG. 33 is a diagram showing the continuation of the protocol of the procedure for transitioning to CDPS in Bluetooth, and communication in the CDPS mode between the
[0124]
<CDPS_Service (standard)>
FIG. 34 is a diagram showing the protocol of the function notification procedure of the PD printer device in Bluetooth. The
[0125]
<CDPS_JobData (standard)>
FIG. 35 is a diagram showing a protocol in which the
[0126]
<CDPS_PageStart (standard)>
FIG. 36 is a diagram showing a protocol for notifying the
[0127]
<CDPS_PageEnd (standard)>
FIG. 37 is a diagram showing a protocol for notifying the
[0128]
<CDPS_JobEnd (standard)>
FIG. 38 is a diagram showing a protocol for notifying the end of a print job from the
[0129]
<CDPS_Error (standard)>
FIG. 39 is a diagram illustrating a protocol for notifying a printer error from the
[0130]
<CDPS_Job (standard)>
FIG. 40 is a diagram illustrating a protocol for issuing a print command from the
[0131]
<CDPS_JobAbort (standard)>
FIG. 41 is a diagram showing a protocol for issuing a print stop command from the
[0132]
<CDPS_JobContinue (standard)>
FIG. 42 is a diagram showing a protocol for issuing a print restart command from the
[0133]
<CDPS_PartialJobData (optional)>
FIG. 43 is a diagram illustrating a protocol in which the
[0134]
As described above, when the
[0135]
As described above, the
[0136]
At this time, the information sent from the image supply device can be made common regardless of the type of interface used. In other words, the operation unit of the image supply apparatus is operated to instruct an image to be output and its output form, and the instructed information (job data) is interpreted by the
[0137]
With such a configuration, it is possible to reduce the conversion processing load of an image supply device such as the
[0138]
In the Bluetooth architecture, unlike the PTP architecture and the MSC architecture, a data transfer request (PutImage) in the direction from the
[0139]
[0140]
First, the
[0141]
There are suitable implementation methods for CDPS_JobData and CDPS_PartialJobData in each of the three types of PTP, MSC, and Bluetooth architectures described so far. Since all information and data to be acquired are the same, the application layer can be used in common. Also, when CDPS is ported to another architecture, there can be a suitable implementation method that matches the characteristics of the architecture.
[0142]
Which architecture is used by the
[0143]
44A to 44C show a
[0144]
For example, in the support level of the
[0145]
44B, the level “4” indicates that the function of the
[0146]
Further, in the support level of the
[0147]
The functions of the
[0148]
Note that the present invention can be applied to a system (for example, a copier, a facsimile machine, etc.) composed of a single device even if it is applied to a system composed of a plurality of devices (for example, a host computer, interface device, reader, printer, etc.). May be.
[0149]
In addition, an object of the present invention is to provide a storage medium (or recording medium) that records a program code of software that realizes the functions of the above-described embodiments (processing performed on the camera side, various printing processes performed on the printer side), This can also be achieved by supplying to a system or apparatus and reading and executing the program code stored in the storage medium by the computer (or CPU or MPU) of the system or apparatus. In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiments, and the storage medium storing the program code constitutes the present invention. Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also an operating system (OS) running on the computer based on the instruction of the program code. A case where part or all of the actual processing is performed and the functions of the above-described embodiments are realized by the processing is also included.
[0150]
Furthermore, after the program code read from the storage medium is written into a memory provided in a function expansion card inserted into the computer or a function expansion unit connected to the computer, the function is determined based on the instruction of the program code. The case where the CPU of the expansion card or the function expansion unit performs part or all of the actual processing and the functions of the above-described embodiments are realized by the processing is also included.
[0151]
As described above, according to the present embodiment, the PD printer is set as the USB host, the DSC is set as the slave, and before starting the printing operation, it is necessary for the photo direct printing between the PD printer and the DSC. Functions can be shared, and printing can be performed by determining an optimum or desired print mode on the DSC side. Further, when the functions are shared, for example, when the
[0152]
By using resources in common, it is possible to expect effects such as shortening the development period, reducing costs, reducing resources, and improving reliability in realizing direct printing with both compatible and non-compatible devices.
[0153]
In this embodiment, the PD printer is set as the USB host and the DSC is set as the slave. However, there is no need to be particularly concerned with this combination, and any function sharing that is the main point of the present invention can be performed. The device may be in charge of the host / slave.
[0154]
Further, in the present invention, the device that performs the act of determining the higher usability during the function sharing process in the CDPS is not limited to the
[0155]
Furthermore, the function sharing process in the CDPS is not limited to the method of comparing the usability of the
[0156]
For example, among the separation positions A to D in FIG. 16, it is transmitted to the
[0157]
In addition, a predetermined separation position determination method (eg, a desired position of the
[0158]
In this embodiment, the four types of
[0159]
Hereinafter, an embodiment of the function sharing of each partial function will be described.
[0160]
[Image format support function]
First, an image format (eg, JPEG, TIFF, etc.) supported by the
[0161]
When outputting a photographic image of an image format handled by the
[0162]
When outputting a photographic image in the image format handled by the
[0163]
[Layout Print Function]
First, the layout printing function supported by the PD printer device 1000 (eg, 2 photo images, 4 photo images, etc. per page) is transmitted to the
[0164]
When the
[0165]
When the
[0166]
[Date / file name printing function]
First, the date / file name printing function supported by the
[0167]
When the
[0168]
When the
[0169]
[Image correction function]
First, the image correction function supported by the
[0170]
When the
[0171]
When the
[0172]
[Fixed size printing function]
First, the fixed size printing function supported by the PD printer device 1000 (eg, printing a photo in L size regardless of the paper size, printing in 2L size, etc.) is transmitted to the
[0173]
When the
[0174]
When the
[0175]
[Image cutout printing function]
First, the image cutout printing function supported by the PD printer device 1000 (eg, cut out and print one rectangular portion in a photograph, cut out and print a circular portion, etc.) is transmitted to the
[0176]
When the
[0177]
When the
[0178]
[Print job format support function]
First, a print job format (for example, DPOF, CDPS job, etc.) supported by the
[0179]
When outputting a print job in a print job format handled by the
[0180]
When outputting a print job in a print job format handled by the
[0181]
For any of the partial functions described above, for the partial functions supported by the
[0182]
Further, it is possible to refer to a function that is actually used or a function that is specified for a job and to use it for determining the sharing of functions. This is because there is no problem even if the functions that are not used are shared by the devices with lower processing levels. In such a case, as a result, all functions are shared by one device.
[0183]
In the above description, the function of the
[0184]
In addition, by performing the Capability information and various instructions using a script, porting to another communication protocol is facilitated and standardization is facilitated.
[0185]
In addition, the communication procedure between devices is performed using a general-purpose file and a general-purpose format, and by defining the communication procedure layer of the application according to this embodiment in the upper layer, the communication procedure independent of various interface specifications is specified. can do.
[0186]
In the printing system according to the present embodiment, since an unspecified number of apparatuses are connected to each other, their interfaces are various. Therefore, it is necessary to exchange information according to specifications that are supported by various interfaces as standard. Therefore, function information essential for transmission / reception between these devices is realized by “file transfer” or “object transfer”, so that it can be easily adapted to various interface specifications.
[0187]
In addition to the digital camera, the image supply device may be a PDA, a mobile phone, a television, a video device, an image storage device, or the like.
[0188]
Similarly, as a printing system, in addition to a printer, a television that performs display on a display element such as a cathode ray tube, a video device that performs writing on a large-capacity storage medium, an information recording device, and the like can be considered.
[0189]
The general-purpose interface includes connection to a network such as the Internet in addition to the above-described USB and IEEE1394.
[0190]
In this way, for example, when one PD printer device has a plurality of types of general-purpose I / F and performs direct printing with a plurality of different DSCs using each general-purpose I / F, As an application, it is possible to use resources of the same CDPS.
[0191]
Conversely, the same can be said when one DSC has a plurality of types of general-purpose I / Fs and performs direct printing with a plurality of different PD printers using the respective general-purpose I / Fs. However, image data transfer (partial transfer) that requires high-speed processing may be optimized using a dedicated protocol for each I / F.
[0192]
【The invention's effect】
As described above, according to the present invention, it is possible to receive and record image data from image supply devices of various companies by performing image data transfer and recording instructions independent of the interface.
[0193]
In addition, an optimal direct print service can be provided between the DSC-PD printers.
[0194]
Furthermore, a direct print service can be efficiently provided using a common resource in connection with a device not supporting CDPS.
[0195]
In addition, according to the present invention, there is an effect that a standard communication protocol between the image supply device and the recording apparatus is defined, and a recording process that does not depend on the type or manufacturer of these devices or apparatuses can be executed.
[Brief description of the drawings]
FIG. 1 is a schematic perspective view of a PD printer apparatus according to an embodiment of the present invention.
FIG. 2 is an overview diagram of an operation panel of the PD printer according to the present embodiment.
FIG. 3 is a block diagram illustrating a configuration of a main part related to control of the PD printer according to the present embodiment.
FIG. 4 is a block diagram showing a configuration of an ASIC of the PD printer apparatus according to the present embodiment.
FIG. 5 is a block diagram showing a configuration of a digital camera according to the present embodiment.
FIG. 6 is a diagram illustrating an outline of a CDPS communication procedure according to the present embodiment.
FIG. 7 is a conceptual diagram for explaining an interface and software configuration of a PD camera and a digital camera mounted with CDPS according to the present embodiment.
FIG. 8 is a conceptual diagram of service functions in CDPS according to the present embodiment.
FIG. 9 is a flowchart illustrating an outline of processing up to printing in CDPS according to the present embodiment.
FIG. 10 is a conceptual diagram of a service function in a DSC and PD printer in CDPS according to the present embodiment.
FIG. 11 is a flowchart for explaining an overview of processing from when the PD printer according to the present embodiment and the DSC are connected until CDPS is started.
FIG. 12 is a diagram showing an example of function sharing between the DSC and the PD printer in the CDPS according to the present embodiment.
FIG. 13 is a diagram showing an example of function sharing between the DSC and the PD printer in the CDPS according to the present embodiment.
FIG. 14 is a diagram showing an example of function sharing between the DSC and the PD printer in the CDPS according to the present embodiment, and the DSC is handled as mass storage here.
FIG. 15 is a diagram for explaining function commands in CDPS according to the present embodiment;
FIG. 16 is a flowchart illustrating a service function and a processing flow between a DSC and a PD printer in the CDPS according to the present embodiment.
FIG. 17 is a flow diagram illustrating an example of service function sharing (allocation) between a DSC and a PD printer in the CDPS according to the present embodiment, and a processing flow;
FIG. 18 is a flowchart illustrating an example of service function sharing (allocation) between a DSC and a PD printer in the CDPS according to the present embodiment, and a processing flow;
FIG. 19 is a diagram illustrating an example in which CDPS service discovery (CDPS_ServiceDiscovery) is implemented using a PTP architecture;
FIG. 20 is a diagram illustrating an example in which a procedure for notifying a procedure used by a camera (CDPS_ServiceDiscovery) is realized using a PTP architecture in CDPS.
FIG. 21 is a diagram illustrating an example in which notification of a printer function in CDPS (CDPS_Service) is realized using a PTP architecture.
FIG. 22 is a diagram illustrating an example in which a procedure of a function (CDPS_JobData) in which a PD printer device acquires an image file is realized using a PTP architecture in CDPS.
FIG. 23 is a diagram for explaining an example in which a function (CDPS_PageStart) for instructing a camera to start printing from a PD printer apparatus is implemented using a PTP architecture in CDPS.
FIG. 24 is a diagram for explaining an example in which a procedure of a function (CDPS_PageEnd) for transmitting a print end of one page from the PD printer to the camera is realized using the PTP architecture in CDPS.
FIG. 25 is a diagram for explaining an example in which a procedure for issuing a print job end command (CDPS_JobEnd) from a PD printer to a camera is implemented using a PTP architecture in CDPS.
FIG. 26 is a diagram illustrating an example in which a procedure of a function (CDPS_Error) for transmitting an error status from a PD printer to a camera is realized using a PTP architecture in CDPS.
FIG. 27 is a diagram illustrating an example in which a procedure for issuing a print command (CDPS_Job) from operation control to print control is realized using a PTP architecture in CDPS.
FIG. 28 is a diagram for explaining an example in which a procedure for issuing a print abort (CDPS_JobAbort) from the operation control to the print control is realized using the PTP architecture in CDPS.
FIG. 29 is a diagram illustrating an example in which a procedure for issuing a print restart (CDPS_JobContinue) from operation control to print control is realized using the PTP architecture in CDPS.
FIG. 30 is a diagram for explaining an example in which a procedure for issuing partial image acquisition (CDPS_PrintJobData) from the print control to the storage is realized using the PTP architecture in CDPS.
FIG. 31 is a flowchart illustrating partial image acquisition processing in CDPS.
FIG. 32 is a diagram illustrating a communication protocol of a migration command to CDPS in Bluetooth.
FIG. 33 is a diagram for explaining a communication protocol of a migration command to CDPS in Bluetooth.
FIG. 34 is a diagram for explaining a communication protocol for printer function notification processing in Bluetooth.
FIG. 35 is a diagram illustrating a communication protocol for processing to acquire image data from a Bluetooth storage.
FIG. 36 is a diagram illustrating a communication protocol for Bluetooth print start notification.
FIG. 37 is a diagram illustrating a communication protocol for print end notification in Bluetooth.
FIG. 38 is a diagram illustrating a communication protocol for print job end notification in Bluetooth.
FIG. 39 is a diagram illustrating a communication protocol for printer error notification in Bluetooth.
FIG. 40 is a diagram illustrating a communication protocol for print command issuance processing in Bluetooth.
FIG. 41 is a diagram for explaining a communication protocol for issuing a print stop command in Bluetooth.
FIG. 42 is a diagram illustrating a communication protocol for a print job restart command issuance process in Bluetooth.
FIG. 43 is a diagram illustrating a communication protocol for partial image acquisition processing in Bluetooth.
FIG. 44 is a diagram for describing the support levels of the DSC and the PD printer that are the basis for determining how to share various control functions (operation control, storage control, and print control).
Claims (22)
前記記録装置と前記画像供給デバイスとの間で通信する通信手段と、
少なくともユーザインターフェースを制御する操作制御機能のサポートレベルを含む機能情報を前記通信手段により取得し、前記画像供給デバイスのサポートレベルと前記記録装置のサポートレベルとを比較して前記操作制御機能の分担を決める分担手段と、
前記画像供給デバイスと前記記録装置との間で画像データ及びコマンドの授受を行って、前記画像供給デバイスから送信された画像データを用いて前記記録装置で記録を行う記録制御手段とを有し、
前記操作制御機能を用いて記録すべき画像データを選択し、前記記録制御手段は、前記操作制御機能を用いて選択された画像データに基づいて記録を行うことを特徴とする記録システム。A recording system in which an image supply device and a recording apparatus communicate directly via a communication interface and transmit and record image data from the image supply device to the recording apparatus,
Communication means you communication between the image supply device and the recording device,
Functional information including at least a support level of an operation control function for controlling a user interface is acquired by the communication means, and the support level of the image supply device and the support level of the recording apparatus are compared to share the operation control function. The sharing means to decide,
Performing exchange of image data and commands between the previous SL image supply device said recording apparatus, and a recording control means for recording in the recording apparatus using the image data transmitted from the image supply device ,
A recording system, wherein image data to be recorded is selected using the operation control function, and the recording control means performs recording based on the image data selected using the operation control function .
前記記録装置と前記画像供給デバイスとの間で通信する通信手段と、Communication means for communicating between the recording apparatus and the image supply device;
少なくとも前記画像供給デバイスの記録媒体に記録されている画像データを管理するための記憶制御機能のサポートレベルを含む機能情報を前記通信手段により取得し、前記画像供給デバイスのサポートレベルと前記記録装置のサポートレベルとを比較して前記記憶制御機能の分担を決める分担手段と、Capability information including at least a support level of a storage control function for managing image data recorded on a recording medium of the image supply device is acquired by the communication unit, and the support level of the image supply device and the recording device A sharing means for comparing the support level to determine the sharing of the storage control function;
前記画像供給デバイスと前記記録装置との間で画像データ及びコマンドの授受を行って、前記画像供給デバイスから送信された画像データを用いて前記記録装置で記録を行う記録制御手段とを有し、Recording control means for performing transmission and reception of image data and commands between the image supply device and the recording apparatus, and performing recording with the recording apparatus using image data transmitted from the image supply device;
前記記録制御手段は、前記記憶制御機能により管理される前記記録媒体の画像データを用いて記録を行うことを特徴とする記録システム。The recording system according to claim 1, wherein the recording control means performs recording using image data of the recording medium managed by the storage control function.
前記画像供給デバイスと通信する通信手段と、
少なくとも印刷対象の画像を選択するためのユーザインターフェースを制御する操作制御機能のサポートレベルを含む機能情報を前記通信手段により前記画像供給デバイスから受信し、受信した前記画像供給デバイスのサポートレベルに応じて前記操作制御機能の分担を決める分担手段と、
前記画像供給デバイスから前記操作制御機能を用いて選択された印刷対象の画像データを受信し、受信した画像データに基づいて印刷を行う印刷制御手段と、
を有することを特徴とする印刷装置。A printing apparatus that directly connects to an image supply device via a communication interface, receives image data from the image supply device, and prints the image data.
Communication means for communicating with the image supply device;
Function information including at least a support level of an operation control function for controlling a user interface for selecting an image to be printed is received from the image supply device by the communication unit, and according to the received support level of the image supply device Sharing means for determining the sharing of the operation control function;
Receiving image data to be printed selected from pre-Symbol image supply device by using the operation control function, a print control means for printing based on the received image data,
A printing apparatus comprising:
前記画像供給デバイスと通信する通信手段と、Communication means for communicating with the image supply device;
少なくとも前記画像供給デバイスの記録媒体に記録されている画像データを管理するための記憶制御機能のサポートレベルを含む機能情報を前記通信手段により取得し、前記画像供給デバイスのサポートレベルに応じて前記記憶制御機能の分担を決める分担手段と、Capability information including at least a support level of a storage control function for managing image data recorded on a recording medium of the image supply device is acquired by the communication unit, and the storage is performed according to the support level of the image supply device. Sharing means for determining the sharing of control functions;
前記記憶制御機能により管理される前記記録媒体の画像データを前記画像供給デバイスから取得し、当該取得した画像データに基づいて印刷を行う印刷制御手段と、Print control means for acquiring image data of the recording medium managed by the storage control function from the image supply device, and performing printing based on the acquired image data;
を有することを特徴とする印刷装置。A printing apparatus comprising:
前記印刷装置と通信する通信手段と、
少なくとも印刷対象の画像を選択するためのユーザインターフェースを制御する操作制御機能のサポートレベルを含む機能情報を前記通信手段により前記印刷装置から受信し、受信した前記印刷装置のサポートレベルに応じて前記操作制御機能の分担を決める分担手段と、
前記操作制御機能を用いて選択された印刷対象の画像データを前記印刷装置に送信して前記印刷装置により印刷を行わせる印刷制御手段と、
を有することを特徴とする画像供給デバイス。An image supply device that directly communicates with a printing apparatus via a communication interface and transmits the image data to the printing apparatus for printing.
Communication means for communicating with the printing apparatus;
Function information including at least a support level of an operation control function for controlling a user interface for selecting an image to be printed is received from the printing apparatus by the communication unit, and the operation is performed according to the received support level of the printing apparatus. Sharing means for determining the sharing of control functions;
And print control means for causing the printing by the printing device to send image data to be printed which is selected by using the operation control function to the printing apparatus,
An image supply device comprising:
前記印刷装置と通信する通信手段と、Communication means for communicating with the printing device;
少なくとも前記画像供給デバイスの記録媒体に記録されている画像データを管理するための記憶制御機能のサポートレベルを含む機能情報を前記通信手段により前記印刷装置から取得し、前記印刷装置の前記記憶制御機能のサポートレベルに応じて前記記憶制御機能の分担を決める分担手段と、Capability information including at least a support level of a storage control function for managing image data recorded on a recording medium of the image supply device is acquired from the printing apparatus by the communication unit, and the storage control function of the printing apparatus Sharing means for deciding sharing of the storage control function according to the support level;
前記記憶制御機能により管理される前記記録媒体の画像データを前記印刷装置に送信して当該印刷装置により印刷を行わせる印刷制御手段と、Print control means for transmitting image data of the recording medium managed by the storage control function to the printing apparatus and performing printing by the printing apparatus;
を有することを特徴とする画像供給デバイス。An image supply device comprising:
前記画像供給デバイスと通信する通信工程と、
少なくとも印刷対象の画像を選択するためのユーザインターフェースを制御する操作制御機能のサポートレベルを含む機能情報を前記通信手段により前記画像供給デバイスから受信し、受信した前記画像供給デバイスのサポートレベルに応じて前記操作制御機能の分担を決める分担工程と、
前記画像供給デバイスから前記操作制御機能を用いて選択された印刷対象の画像データを受信し、受信した画像データに基づいて印刷を行う印刷制御工程と、
を有することを特徴とする印刷装置の制御方法。A method for controlling a printing apparatus that directly connects to an image supply device via a communication interface, receives image data from the image supply device, and prints the image data.
A communication step of communicating with the image supply device;
Function information including at least a support level of an operation control function for controlling a user interface for selecting an image to be printed is received from the image supply device by the communication unit, and according to the received support level of the image supply device A sharing process for determining the sharing of the operation control function;
Receiving image data to be printed selected from pre-Symbol image supply device by using the operation control function, a print control step of performing printing based on the received image data,
A control method for a printing apparatus, comprising:
前記画像供給デバイスと通信する通信工程と、A communication step of communicating with the image supply device;
少なくとも前記画像供給デバイスの記録媒体に記録されている画像データを管理するための記憶制御機能のサポートレベルを含む機能情報を前記通信手段により取得し、前記画像供給デバイスのサポートレベルに応じて前記記憶制御機能の分担を決める分担工程と、Capability information including at least a support level of a storage control function for managing image data recorded on a recording medium of the image supply device is acquired by the communication unit, and the storage is performed according to the support level of the image supply device. A sharing process that determines the sharing of control functions;
前記記憶制御機能により管理される前記記録媒体の画像データを前記画像供給デバイスから取得し、当該取得した画像データに基づいて印刷を行う印刷制御工程と、A print control step of acquiring image data of the recording medium managed by the storage control function from the image supply device, and performing printing based on the acquired image data;
を有することを特徴とする印刷装置の制御方法。A control method for a printing apparatus, comprising:
前記印刷装置と通信する通信工程と、
少なくとも印刷対象の画像を選択するためのユーザインターフェースを制御する操作制御機能のサポートレベルを含む機能情報を前記通信工程で前印刷装置から受信し、受信した前記印刷装置のサポートレベルに応じて前記操作制御機能の分担を決める分担工程と、
前記操作制御機能を用いて選択された印刷対象の画像データを前記印刷装置に送信して前記印刷装置により印刷を行わせる印刷制御工程と、
を有することを特徴とする画像供給デバイスの制御方法。A method for controlling an image supply device that directly communicates with a printing apparatus via a communication interface and transmits image data to the printing apparatus for printing.
A communication step of communicating with the printing device;
Function information including at least a support level of an operation control function for controlling a user interface for selecting an image to be printed is received from the previous printing apparatus in the communication step, and the operation is performed according to the received support level of the printing apparatus. A sharing process that determines the sharing of control functions;
A print control step to perform printing by said printing device to send image data to be printed which is selected by using the operation control function to the printing apparatus,
A method for controlling an image supply device, comprising:
前記印刷装置と通信する通信工程と、A communication step of communicating with the printing device;
少なくとも前記画像供給デバイスの記録媒体に記録されている画像データを管理するための記憶制御機能のサポートレベルを含む機能情報を前記通信工程で前記印刷装置から取得し、前記印刷装置の前記記憶制御機能のサポートレベルに応じて前記記憶制御機能の分担を決める分担工程と、At least function information including a support level of a storage control function for managing image data recorded on a recording medium of the image supply device is acquired from the printing apparatus in the communication step, and the storage control function of the printing apparatus is acquired. A sharing process for determining the sharing of the storage control function according to the support level of
前記記憶制御機能により管理される前記記録媒体の画像データを前記印刷装置に送信して当該印刷装置により印刷を行わせる印刷制御工程と、A print control step of transmitting image data of the recording medium managed by the storage control function to the printing apparatus and performing printing by the printing apparatus;
を有することを特徴とする画像供給デバイスの制御方法。An image supply device control method comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003190475A JP4367902B2 (en) | 2002-07-05 | 2003-07-02 | Recording system, image supply device, printing apparatus, and control method therefor |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002197461 | 2002-07-05 | ||
JP2003190475A JP4367902B2 (en) | 2002-07-05 | 2003-07-02 | Recording system, image supply device, printing apparatus, and control method therefor |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2004088760A JP2004088760A (en) | 2004-03-18 |
JP2004088760A5 JP2004088760A5 (en) | 2006-08-17 |
JP4367902B2 true JP4367902B2 (en) | 2009-11-18 |
Family
ID=32072033
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003190475A Expired - Fee Related JP4367902B2 (en) | 2002-07-05 | 2003-07-02 | Recording system, image supply device, printing apparatus, and control method therefor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4367902B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5576697B2 (en) * | 2010-04-14 | 2014-08-20 | オリンパス株式会社 | Service using terminal, service providing terminal, service using terminal control method, service providing terminal control method, and service providing system |
-
2003
- 2003-07-02 JP JP2003190475A patent/JP4367902B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004088760A (en) | 2004-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4250408B2 (en) | Image supply device, recording apparatus, recording system, and control method therefor | |
KR100729683B1 (en) | Recording system and controlling method therefor | |
JP4208640B2 (en) | Printing system, printing control method, printing apparatus, and control method therefor | |
JP4027161B2 (en) | Printer apparatus and control method thereof | |
JP2004015234A (en) | Printer, control method thereof, and print system | |
JP3728277B2 (en) | DIGITAL CAMERA, ITS CONTROL METHOD, AND PRINT SYSTEM | |
US8605334B2 (en) | Recording system, recording apparatus, and control method therefor | |
JP3619235B2 (en) | RECORDING SYSTEM, ITS CONTROL METHOD, RECORDING APPARATUS AND IMAGE SUPPLY DEVICE | |
US8035832B2 (en) | Recording system and controlling method therefor | |
JP4367902B2 (en) | Recording system, image supply device, printing apparatus, and control method therefor | |
JP4266948B2 (en) | Image supply device and control method thereof | |
JP2004066602A (en) | Recording system, its controlling method, and direct printer | |
JP2004070610A (en) | Printer device, digital camera and control program for digital camera | |
JP2006012118A (en) | Image supply device, recording system, and recording control method | |
KR100627607B1 (en) | Recording system, recording apparatus, and control method therefor | |
JP4612907B2 (en) | Image supply apparatus and control method thereof | |
JP3840258B1 (en) | Digital camera, image output apparatus, image processing system, and control method thereof | |
JP2006024200A (en) | Image output apparatus and its control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060629 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060629 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080729 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080804 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081003 |
|
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: 20090821 |
|
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: 20090824 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120904 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120904 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130904 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |