Picture Transfer Protocol (PTP)
This page describes PTP, the widely supported Picture Transfer Protocol
standard for transferring images from digital cameras. PTP was originally
developed by the IT 10 standards committee The current version of PTP is standardized in ISO 15740:2013
Photography — Electronic still picture imaging — Picture transfer protocol
(PTP) for digital still photography devices, and can be purchased
from the this link.
Index
What is PTP?
PTP stands for Picture Transfer Protocol. PTP is a platform- and transport-
independent standard for communicating with digital photography devices, such
as digital cameras. PTP defines a set of standard operations, responses, events,
device properties, and required behaviors that control the creation and transfer
of objects, such as digital images and other digital media files.
The benefits of PTP include:
-
Enables platform and OS developers to build native support for PTP into
their systems, removing the need for user-installed digital camera drivers.
-
Allows camera vendors to support multiple transports using the same
protocal.
-
Enables third party developers to interface to digital cameras easily and
uniformly.
-
Requires support for only a small set of constructs, while allowing many
optional features.
-
Allows vendors to extend the protocol to provide proprietary commands
and features.
History of PTP
Until the standardization of PTP, digital camera vendors used different
proprietary protocols for controlling digital cameras and transferring images
to computers and other host devices. PTP was originally standardized as PIMA
15740 in 2000. It was developed by the IT10 Committee.
Key contributors to the standard included Tim Looney and Tim Whitcher
(Eastman Kodak Company) and Eran Steinberg (Fotonation).
PTP version 1.0 was first standardized internationally as ISO 15740:2005, replacing PIMA 15740. In 2008, and then again in 2013, ISO 15740 underwent backwards compatible revisions, with additional features such as support for multiple vendor extensions and
streaming media.
Transport Implementations
Currently, PTP has standard transport definitions for the following transports:
-
UBS: Still Image Device Class, USB-IF Device Working Group, available from:
www.usb.org
-
TCP/IP: PTP-IP IP Picture Transfer Protocol, version 1.0, Camera &
Imaging Products Association (CIPA), available from:
www.cipa.jp
PTP in Products
Since its standardization in 2000, PTP has been widely implemented in digital
imaging products, such as digital cameras, and personal computer operating
systems. PTP is currently supported by:
Digital Cameras:
PTP has been supported by almost all digital cameras since 2005.
Microsoft OS:
PTP has been supported natively in Microsoft’s operating systems beginning with
Windows XP. Currently, Microsoft’s
PTP driver enables PTP devices to support the WIA (Windows Imaging
Architecture) driver model. PTP is also the foundation of Microsoft’s
MTP (Media Transport Protocol), which extends PTP to support portable media centric devices.
Apple OS:
PTP is supported natively in OS X
Linux OS:
Several open-source driver packages have been developed for Linux
PictBridge:
PTP is the underlying communication mechanism used by
PictBridge, which was standardized by the Camera & Imaging Products
Association (CIPA), in order to enable the direct printing of photos without the
need for a PC
Request PTP Vendor Extension Identifiers (VEIDs)
PTP provides a mechanism for obtaining registered vendor extensions, using
vendor extension identifiers (VEIDs). VEIDs are used to provide customized
operations, responses, events, object format codes, and device properties.
They enable device or software manufacturers with new or proprietary features
to implement the necessary constructs in a standard fashion.
A vendor extension identifier is a unique 32-bit code. Since 2011, IS&T has
been responsible for assigning VEID codes. If your organization wishes to be
assigned a VEID, please follow the instructions on the following form:
» PTP vendor form 
Registered Vendor Extensions
The following link provides a table of currently registered vendor extensions:
» View registry here