Standard of the Camera & Imaging Products AssociationWhite Paperof
CIPA DC-005-2005“Picture Transfer Protocol” over TCP/IP networks(Japanese)

8. November. 2005

Published byCamera & Imaging Products Association(portions of this document are Copyright © 2004-2005 FotoNation Inc.)1. 概要とスコープ
本ドキュメントは、CIPA DC-005-2005（以下“本規格”という）、“Picture TransferProtocol” over TCP/IP networks（以下“PTP-IP”と略記）について、その背景、目的、特徴、技術概要、及び動作概要を説明する。
この PTP-IP は、“Picture Transfer Protocol”[1]（以下“PTP” と略記）のトランスポート層の拡張として、新たに TCP/IP をサポートするために規格化されたものである。
本規格のゴールは、ネットワーク環境において、PTP のトランスポート層における相互接続性を実現することである。本規格では、ネットワークコンフィギュレーションやデバイスディスカバリ、デバイスボンディング、ユーザ認証などのネットワーキングアプリケーションに関する事項は規定されていない。ネットワーク環境において、PTP を実装した製品の相互接続性を実現するには、これらの付加的な方法や規約が、別途規定される必要がある。

2. PTP の概要
PTPは、PIMA（現I3A[2]）が最初に規格化し、現在ISO規格となった。このPTPは、主に画像の双方向通信を実現する標準プロトコルである。また、デジタルカメラ（以下“DSC”と略記）やプリンタ、デスクトップ機器、携帯機器など画像を扱う機器相互間の通信において、互換性を実現するために必要なメカニズムを規定している。
この PTP は、PC の主要 OS やアプリケーションでもサポートされており、DSC と PC間において、ドライバーレスでダイレクトに画像を相互に転送することが出来る。さらに、2003 年に CIPA が規格化した PictBridge[3]の転送プロトコルとして採用され、PictBridgeの普及と相まって、現在ほとんどの DSC やフォト対応プリンタに搭載されている。
PTPの重要な特徴として、本来はトランスポートに依存しないプロトコルであるという点が挙げられる。現在、PTPのトランスポート層としてUSB[4]のみが規定されているが、理論的には、他の複数のトランスポート層上でも利用可能である。

3. 背景と目的
現在、ホームやオフィスで PC のネットワーク化やワイヤレス化が浸透してきており、PC の周辺機器として現在 USB 接続されている DSC やプリンタ、その他各種デジタル画像機器においても、ネットワーク環境への対応のニーズが高まって来た。
PTP-IP は、このようなニーズに対応するために、PTP をネットワーク環境の標準プロトコルである TCP/IP にマッピングする変換レイヤとして規格化された。
この規格化にあたり、既存の PTP アプリケーションに変更や制限を与えないように、また PTP-IP 自体の実装負荷が重くならないように考慮された。
これにより、PTP を用いている PC アプリケーションや PictBridge 機器において、最小限の実装負荷でネットワーク対応、あるいはワイヤレス対応を実現することが可能となった。

1

4. 特徴PTP-IP は、以下の特徴を有する。
● TCP/IP が動作する有線、および無線ネットワーク上で動作可能である。
● 画像転送、カメラ制御、メーカーによる独自拡張など、全ての PTP の特徴を保持する。
● PTP より上位のアプリケーションレベルのプロトコル（例えば PictBridge など）に影響を与えない。
● USB では実現できなかった、マルチセッション（複数の Initiator から一つの Responderへの同時接続）をサポートすることができる。

5. PTP-IP の概要
5.1. PTP-IP のレイヤ構成
PTP と PTP-IP 間の通信は、以下のように PTP トランザクションモデルに基づいている。
● Initiator からの Operation Request に対して、Responder が Response の返答を行う。
● Data-In は、データを Responder から Initiator に送る。
● Data-Out は、データを Initiator から Responder に送る。
● Event は、Responder から Initiator に送る。
PTP-IP のレイヤ構成を Figure 1 に示す。

Data

Operation Request

Response

PTP-IP

PTP-IP

TCP

TCP

IPIP

Network

Network

Initiator

Responder
Figure 12Connection /Disconnection

PTP Events

Response

Connection /PTP Events

PTP

Disconnection

Operation Request

Data

PTP

5.2 通信スタックにおける PTP-IP
PTP-IP は、TCP をそのトランスポート層として使用する。PTP を TCP にマッピングすることにより、二つの PTP デバイス間の通信を行うことが規定されている。
通信スタックにおける PTP-IP の位置付けを Figure 2 に示す。

PTP

PTP Protocol

PTP

PTP-IP

PTP-IP Protocol

PTP-IPTCP

TCP Protocol

TCP

IP

IP Protocol

IP

Network

Network Specific Protocol

Network

Initiator

Figure 2Responder

TCP（TCP/IP プロトコルスタックにおいて）は、信頼性が高く、エラーのないデータ通信サービスを PTP-IP に対して提供する適切なトランスポート層である。また、TCP は複数通信チャネル（TCP コネクション）を提供するストリームベースのトランスポート層である。

5.3 PTP-IP コネクション
Initiator 上の PTP が Responder 上の PTP とセッションを確立するために、PTP-IP コネクションが先に確立している必要がある。PTP-IP コネクションは、Figure 3 に示すように、2 つの TCP/IP コネクションで構成される。一つは、Command/Data Connection で、もう一つは Event Connection である。前者は、PTP コマンドやデータ、応答を転送するものであり、後者は Command/Data Connection とは非同期に PTP イベントを転送するものである。
Initiator が同一の Responder に対して、複数の PTP セッションを必要とする場合、複数の PTP-IP コネクションが確立されている必要がある。ネットワーク環境において、複数のInitiator が同一の Responder とコネクションを設定することもある。Responder が、2 つの TCP コネクションが同一の PTP-IP コネクションに関連付けられていることを確認する
ためには、Connection Number を用いた特別な対応（5.4 項参照）が必要となる。

3Ev
ent

Co
nnect ionaat
Dd/ nan tiom necnom nio
C CoctneontCen
EvCom
Co mann nde c /Dtio atan

Initiator(Device A)

Responder(Device C)

Responder(Device B)

Figure 3

5.4 PTP-IP コネクションの確立
PTP-IP コネクション確立のシーケンスを Figure 4 に示す。

ResponderInitiator
12Commnad/Data Connection Establishment

InitCmdR4eq

InitCmdA

3ck

Event Connection Establishment

5InitEvtReq

67

InitEvtAck

PTPIP Connection Established

Figure 4
12

Initiator は、Responder に対して Command/Data TCP connection（デフォルトTCP Port 番号 15740）の確立を行う。
この TCP connection が確立後、ただちに Initiator は自身の ID（GUID とフレンドリーネーム）を含んだ Init Command Request PTP-IP パケットを送る。

434

567

Responder は、Init Command Ack PTP-IP パケットを返す。
前のフェーズで、Initiator が Init Command Ack PTP-IP パケットを受け取った
後、Initiator から Responder に対して Event TCP connection（デフォルト TCP
Port 番号 15740）の確立を行う。
この TCP connection が確立後、ただちに Initiator は以前に割り当てられたConnection Number を含んだ Init Event Request PTP-IP Packet を送信する。
Responder は、この Connection Number を用いて、2 つの TCP connection（Command/Data と Event）を同一の PTP-IP connection かつ同一の PTP sessionとして関連付ける。
これに対して、Responder は、Event TCP connection を通じて Init Event Ackpacket を返す。
一度 Initiator が Init Event Ack packet を受け取ったら、PTP-IP connection が確立したものとみなし、データ転送を行う。

6. PictBridge との関連
PictBridge 仕様準拠の製品は、規格書 CIPA DC-001、実装ガイドライン、及びロゴ認証ガイドラインに規定されているように、転送プロトコルとして PTP を、物理 I/F として USBを用いることが要求されている。本要求条件と所定のロゴ認証試験にパスした機器のみが、PictBridge ロゴの使用が許されている。
もし PTP 以外の転送プロトコルあるいは USB 以外の物理 I/F を PictBridge 製品に用いる場合、PictBridge 製品の相互接続性を実現するために、新たな実装ガイドライン及びロゴ認証ガイドラインが必要となるが、現時点ではそれらの完全な規定が存在しない。
従って、ベンダーが PTP-IP を用いて、TCP トランスポート・プロトコル上に PictBridgeと同等の機能を実装した場合は、製品の相互接続性に関して、顧客が PictBridge 準拠と誤解をしないように考慮する必要がある。具体的には以下に示すような方法がある。
－製品の仕様書やマニュアルに、接続仕様が独自方式であることを記述する－PictBridge と別な名称やマークなどをつけて独自方式であることを明記する

7. 参照[1] ISO, ISO 15740:2005, “Picture transfer protocol (PTP) for digital still photographydevices”,
http://www.iso.org/[2] I3A, International Imaging Industry Association,
http://www.i3a.org/[3] CIPA, CIPA DC-001-2003, “Digital Photo Solutions for Imaging Devices”,
http://www.cipa.jp/pictbridge/contents_j/03overview_j.html[4] USB Implementers Forum, Inc., Universal Serial Bus Specification Revision 2.0,
http://www.usb.org/developers/docs/

5