Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Picture Transfer Protocol
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Protocol to transfer images from digital cameras to computers}} {{Infobox technology standard | title = Picture Transfer Protocol | image = | status = Published | year_started = {{Start date and age|2000}} | version = ISO 15740:2013 | version_date = {{Start date and age|2013}} | organization = [[International Imaging Industry Association|I3A]], [[International Organization for Standardization|ISO]] | committee = IT10, ISO/TC 42 | series = | editors = | authors = Tim Looney and Tim Whitcher ([[Eastman Kodak Company]]), Eran Steinberg ([[Fotonation]]), and others | base_standards = | related_standards = PIMA 15470 | abbreviation = PTP | domain = [[Digital photography]], [[Network protocol]]s | license = | website = {{URL|https://www.iso.org/standard/63602.html}} }} '''Picture Transfer Protocol''' ('''PTP''') is a protocol originally developed by the Photographic and Imaging Manufacturers Association (PIMA) (later known as the [[International Imaging Industry Association]]) to allow the transfer of images from [[digital camera]]s to computers and other peripheral devices without the need for additional [[device driver]]s. The protocol was standardized by the [[International Organization for Standardization|ISO]] in 2005. The current version of the standard is ISO 15740:2013.<ref>{{Cite web |last= |title=ISO 15740:2013 |url=https://www.iso.org/standard/63602.html |access-date=2023-12-23 |website=ISO |language=en}}</ref> It is further standardized for [[Universal Serial Bus|USB]] by the [[USB Implementers Forum]] as the ''still image capture device class''. USB is the default network transport media for PTP devices. USB PTP is a common alternative to the [[USB mass-storage device class]] (USB MSC), as a digital camera connection protocol. Some cameras support both modes. ==Description== PTP specifies a way of creating, transferring and manipulating ''objects'' which are typically photographic images such as a [[JPEG]] file. While it is common to think of the objects that PTP handle as [[Computer file|files]], they are abstract entities identified solely by a 32-bit object ID. These objects can however have ''parents'' and ''siblings'' so that a file-systemโlike view of device contents can be created. ==History== 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. In an earlier but unrelated project, the term "Picture Transfer Protocol" and the acronym "PTP" were both coined by Steve Mann, summarizing work on the creation of a Linux-friendly way of transferring pictures to and from home-made wearable computers,<ref>{{cite magazine |url=http://www.linuxjournal.com/article/3229?page=0,4 |magazine=[[Linux Journal]] |title=University of Toronto WearComp Linux Project, part 1 of a 2-part series |page=5 |author=Steve Mann |issue=58 |date=1999-02-01 |accessdate=2013-12-28}}</ref> at a time when most cameras required the use of Microsoft Windows or Mac OS device drivers to transfer their pictures to a computer. PTP was originally standardized as '''PIMA 15470''' in 2000, while it was developed by the [https://www.imaging.org/ist/standards/IT_Committees.aspx?hkey=ef77a4b4-e400-4763-8f7e-8a80df104dca&WebsiteKey=6d978a6f-475d-46cc-bcf2-7a9e3d5f8f82&f79470bb6009=2#f79470bb6009 IT10 committee]. Key contributors to the standard included Tim Looney and Tim Whitcher ([[Eastman Kodak Company]]) and Eran Steinberg ([[Fotonation]]).<ref>{{Cite web |title=PTP Standards |url=https://www.imaging.org/IST/ist/standards/PTP_Standards.aspx |access-date=2023-12-23 |website=www.imaging.org |language=en}}</ref> ==Storage== PTP does not specify a way for objects to be stored โ it is a communication protocol. Nor does it specify a transport layer. However, it is designed to support existing standards, such as [[Exchangeable image file format|Exif]], [[Tag Image File Format / Electronic Photography|TIFF/EP]], [[Design rule for Camera File system|DCF]], and [[Digital Print Order Format|DPOF]], and is commonly implemented over the [[Universal Serial Bus|USB]] and [[IEEE 1394 interface|FireWire]] transport layers. Images on digital cameras are generally stored as files on a [[Mass storage|mass storage device]], such as a [[memory card]], which is formatted with a file system, most commonly [[FAT12]], [[FAT16]] or [[FAT32]], which may be laid out as per the [[Design rule for Camera File system]] (DCF) specification. But none of these are required as PTP abstracts from the underlying representation. By contrast, if a camera is mounted via [[USB mass-storage device class|USB MSC]], the physical file system and layout are exposed to the user. ==Device control== Many modern digital cameras from Canon and Nikon can be controlled via PTP from a USB host enabled computing device (smartphone, PC or [[Arduino]] for example). As is the norm for PTP, the communication takes place over a USB connection. When interacting with the camera in this manner, it is expected that the [[USB#System design|USB endpoints]] are in (synchronous) Bulk Transfer Mode, for getting/setting virtually all the camera's features/properties (such as ISO, Aperture, Shutter speed and focus). Events raised by the camera, in response to specific actions performed by the host device, are sent back to the host via the USB asynchronous Interrupt endpoint. In addition to changing the camera's settings and operating mode, it is possible to receive a through-the-lens view using "Live View". As described above, the storage objects of the camera's memory cards can be manipulated too. By controlling a camera in this way it is possible to augment its capabilities. For example, if the controlling software was running on a smartphone with [[GPS]] functionality, it would be possible to add the GPS coordinates to an image's [[Exif]] data, at the time of image capture โ even if the camera itself had no GPS functionality. ==Extensions== A number of protocols have been developed that extend PTP. '''PTP/IP''',<ref>{{Cite journal |title=PTP/IP - a new transport specification for wireless photography |date=2005 |url=https://ieeexplore.ieee.org/document/1405726 |access-date=2023-12-23 |doi=10.1109/TCE.2005.1405726 |last1=Bigioi |first1=P. |last2=Susanu |first2=G. |last3=Steinberg |first3=E. |last4=Corcoran |first4=P. |journal=IEEE Transactions on Consumer Electronics |volume=51 |pages=240โ244 |hdl=10379/295 |s2cid=7419639 |hdl-access=free }}</ref> developed by [[FotoNation]] and first implemented in a round of [[Wi-Fi]] digital cameras by [[Nikon]], [[Canon (company)|Canon]], and [[Eastman Kodak]], allows data transfer over any [[Internet Protocol|IP]]-based network. A [https://www.imaging.org/common/uploaded%20files/pdfs/Standards/Final_PTP_Vendor_Extension_Registry.pdf vendor extension registry for PTP] is maintained by the Society for Imaging Science and Engineering (IS&T). [[Media Transfer Protocol]] (MTP), developed by [[Microsoft]], allows for transfer over wireless or wired networks based in part on FotoNation's PTP/IP, but also allows users to transfer other media aside from pictures, as well as for tagging objects with extended [[metadata]] (such as title, artist and similar metadata). ==Operating system support== [[Microsoft Windows]] has supported PTP from [[Windows ME]] onwards (excluding [[Windows CE]]). [[Microsoft]] implements PTP on Windows through [[Windows Image Acquisition]].<ref>{{cite web | url = http://msdn2.microsoft.com/en-us/library/ms630343.aspx | title = About Windows Image Acquisition | publisher = [[Microsoft]] | work = [[Microsoft Developer Network|MSDN]] | accessdate = 2009-01-05 }}</ref><ref>{{cite web | url = http://www.microsoft.com/whdc/device/stillimage/stillimg-connect.mspx#EXC | title = Still image connectivity for Windows | publisher = [[Microsoft]] | date = December 4, 2001 | accessdate = 2009-01-05 }}</ref> A disadvantage of PTP on Windows as compared to USB mass storage is that Windows does not assign [[drive letter assignment|drive letters]] to PTP devices, so image files on them cannot be manipulated by scripts or standard Windows programs, only by Windows Explorer or applications with specially written PTP support. Also, Windows Explorer does not display file modification timestamps (though these are available via the file Properties popup). PTP on [[Linux]] and other [[Free software|free]] and [[Open-source software|open-source]] operating systems is supported by a number of libraries, such as [[gPhoto|libgphoto]] and [http://sourceforge.net/projects/libptp/ libptp], used by applications such as [[digiKam]] and [[F-Spot]].{{Citation needed|date=April 2016}} As on Microsoft Windows there is no native support on Linux, but by means of [[GVfs]] the devices can easily be mounted and made available to applications that use standard [[POSIX]] commands and library functions. [[Android (operating system)|Android]] supports PTP, so that software programs that support grabbing photos from a digital camera will support grabbing photos from an Android phone when you select the PTP mode.<ref>{{Cite web |title=Learn Everything's - USB Connections: MTP, PTP, and USB Mass Storage |url=https://sites.google.com/site/learneverythings/android/usb-connections-mtp-ptp-and-usb-mass-storage |access-date=2023-12-23 |website=sites.google.com |language=en-US}}</ref> As with [[Media Transfer Protocol|MTP]], a limitation is that when transferring photos from a computer to the Android device, file timestamps are replaced with the time of the copy. For copies from the Android device to a computer however, the timestamps are preserved. ==Version 1.11== '''PTP v1.11 (ISO 15740:2013)''' is a minor revision to '''PTP v1.1''' '''(ISO 15740:2008).''' Both the 2008 and 2013 versions of PTP are fully backward-compatible with PTP v1.0 '''(ISO 15740:2005)''', and offer optional performance, compatibility, and feature enhancements including: * A mechanism for handling streaming content * A mechanism to support multiple vendor extension sets * Support for objects larger than the 4GiB size limit set by PTP v1.0, by requiring 64 bits (8 bytes) for object size * Support for retrieval of ''ObjectHandles'' in enumerated chunks. This may reduce long response times for some devices that possess large numbers of objects * Support for arbitrary resizing prior to image transmission (responder scaling). In PTP v1.0, image sizes might be requested in full-resolution or thumbnail size only * Support for arrays of datasets. This can be used to reduce the number of required transactions necessary for device characterization from being a function of the number of objects on the device down to one * A fast file characterization operation that exploits dataset arrays to request, in a single transaction, only the minimum data required to characterize a typical filesystem * A new standard ''ObjectFormatCode'' to support the [[Digital Negative (file format)|Digital Negative (DNG)]] file format ==Drawbacks== * Renaming file objects directly is not possible without copying or rewriting them * Modification of file contents is not supported (the file needs to be re-transferred completely) * Some drawbacks are OS-specific โ see {{section link||Operating system support}} ==See also== * [[Design rule for Camera File system]] * [[PictBridge]] ==References== {{Reflist}} ==External links== * {{Official website|https://www.iso.org/standard/63602.html}} * [https://www.usb.org/document-library/still-image-capture-device-definition-10-and-errata-16-mar-2007 PTP transport over USB specifications], USB.org. * [https://web.archive.org/web/20140723050135/http://www.microsoft.com/en-us/news/press/2004/sep04/09-29fotonationmtppr.aspx Microsoft and FotoNation Team to Support the Media Transfer Protocol For Wireless Digital Still Cameras], Microsoft News Center. * [http://ptp.sourceforge.net/ Free software with PTP support] {{ISO standards}} [[Category:Digital photography]] [[Category:Network protocols]] [[Category:ISO standards]] [[Category:Computer-related introductions in 2000]] [[Category:USB]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Citation needed
(
edit
)
Template:Cite journal
(
edit
)
Template:Cite magazine
(
edit
)
Template:Cite web
(
edit
)
Template:ISO standards
(
edit
)
Template:Infobox technology standard
(
edit
)
Template:Official website
(
edit
)
Template:Reflist
(
edit
)
Template:Section link
(
edit
)
Template:Short description
(
edit
)