PlayStation 4 Camera: Difference between revisions

From PS4 Developer wiki
Jump to navigation Jump to search
m (wikify)
m (wikify)
Line 87: Line 87:
(The C-Note Files - Episode 13: Tutorial - PS4 Voice Recognition)
(The C-Note Files - Episode 13: Tutorial - PS4 Voice Recognition)


=== External references ===
== Analysis ==
=== USB ===
==== Device Descriptor ====
 
{| class="wikitable"
|-
! colspan="5" style="background-color:#C0C0C0; color:#000000;" |[http://linuxcommand.org/man_pages/lsusb8.html Device Descriptor]
|-
! Offset
! Field
! Size
! Value
! Description
|-
| 0 || bLength || 1 || Number: 0x12 || Size of this descriptor in bytes (18)
|-
| 1 || bDescriptorType || 1 || Constant: 0x01 || DEVICE descriptor type (= 1)
|-
| 2 || bcdUSB || 2 || BCD: 0x0300 || USB Spec release number ([http://en.wikipedia.org/wiki/USB#USB_3.0 3.00]):
<small>valid version numbers are 0x0100 (USB1.0), 0x0110 (USB1.1), 0x0200 (USB2.0), 0x0300 ([[USB_3.0|USB3.0]]) and 0x0310 (USB3.1).</small>
|-
| 4 || bDeviceClass || 1 || Class: 0x00 || Class code assigned by [http://en.wikipedia.org/wiki/USB_Implementers_Forum USB-IF:]
<small>(used by the operating system to find a class driver for your device)</small>
<small>
*00h means each interface defines its own class (identify itself at the interface level)
*FFh means vendor-defined class
*Any other value must be a class code
</small>
|-
| 5 || bDeviceSubClass || 1 || SubClass: 0x00 || SubClass Code assigned by USB-IF
<small>(used by the operating system to find a class driver for your device)</small>
|-
| 6 || bDeviceProtocol || 1 || Protocol: 0x00 || Protocol Code assigned by USB-IF
<small>(used by the operating system to find a class driver for your device)</small>
|-
| 7 || bMaxPacketSize0 || 1 || Number: 0x09  || Max packet size for endpoint 0.
<small>Must be 8, 16, 32 or 64</small>
|-
| 8 || idVendor || 2 || ID: 0x05a9 || [http://www.linux-usb.org/usb.ids Vendor ID (VID)] (OmniVision Technologies, Inc.) - must be obtained from USB-IF
<small>(used by the operating system to find a driver for your device)</small>
|-
| 10 || idProduct || 2 || ID: 0x0580 || Product ID (PID) - assigned by the manufacturer
<small>(used by the operating system to find a driver for your device)</small>
|-
| 12 || bcdDevice || 2 || BCD: 0x0100 || Device release number (Version: 1.00)
<small>in binary coded decimal</small>
|-
| 14 || iManufacturer || 1 || Index: 0x01 || Index of string descriptor describing manufacturer
<small>set to 0 if no string</small>
|-
| 15 || iProduct || 1 || Index: 0x02  || Index of string descriptor describing product
<small>set to 0 if no string</small>
|-
| 16 || iSerialNumber || 1 || Index: 0x00 || Index of string descriptor describing device serial number<BR /> <small>set to 0 if no string</small>
|-
| 17 || bNumConfigurations || 1 || Number: 0x01 || Number of possible configurations
|-
|}
 
== External references ==
* http://ps4eye.tumblr.com/
* http://ps4eye.tumblr.com/


==== Generic ====
=== Generic ===
* http://en.wikipedia.org/wiki/Computer_stereo_vision
* http://en.wikipedia.org/wiki/Computer_stereo_vision
* [http://www.ti.com/general/docs/lit/getliterature.tsp?literatureNumber=spry199&fileType=pdf Gesture recognition: Enabling natural interactions with electronic]
* [http://www.ti.com/general/docs/lit/getliterature.tsp?literatureNumber=spry199&fileType=pdf Gesture recognition: Enabling natural interactions with electronic]

Revision as of 14:18, 12 January 2014

Playstation 4 Camera

Specifications

Overview of Technical Specifications
Product Code CUH-ZEY1
External Dimension approximately 186mm x 27mm x 27mm (height x width x depth)
Weight approximately 183g
Cable Length Cord length: 200cm approximately
Connection Type PS4 dedicated connector AUX (USB 3.0-derived)
Capture Range 30cm -
Camera lens Dual camera (move like)
Aperture f/2.0 /fixed focus
Field of view (FOV) 85°
Video Format RAW16/RAW8, YUV422/YUV8 (greyscale)
Video Frame Rate
  • 7.5, 15, 30 or 60fps at 1280x800 pixels
  • 7.5, 15, 30, 60 or 120fps at 640x400 pixels
  • 7.5, 15, 30, 60, 120 or 240fps at 320x200 pixels
  • 7.5, 15, 30, 60, 120 or 240fps at 160x100 pixels
Color depth 12-bit tonal gradation (=4096 tonal levels)
Microphone 4 Channel Microphone Array
Programmable settings

The PlayStation 4 Camera runs without user login (kernel/system device?) and depends for many of its system functions on the APU, using a tripple buffering system

Available functions:

  • photo, video
  • depth calculation/imaging
  • pad, move, face, head and hand recognition/tracking
  • one of the cameras can be used for generating the video image, with the other used for motion tracking.

Back chip connected to Aux port is labeled OV00580-B21G-1C. The OmniVision 580 ASIC is not documented, so it seems it was made specially for Sony out of the 500/600 serie (none of them featuring USB 3.0, see external reference).

Front chip connected to microphone array is labeled 5703 324A.

Gallery

Pre E3 Playstation 4 Camera pictures

Playstation 4 Camera teardown pictures

Videos

(The C-Note Files - Episode 12: Tutorial - PS4 Face Recognition)

(The C-Note Files - Episode 13: Tutorial - PS4 Voice Recognition)

Analysis

USB

Device Descriptor

Device Descriptor
Offset Field Size Value Description
0 bLength 1 Number: 0x12 Size of this descriptor in bytes (18)
1 bDescriptorType 1 Constant: 0x01 DEVICE descriptor type (= 1)
2 bcdUSB 2 BCD: 0x0300 USB Spec release number (3.00):

valid version numbers are 0x0100 (USB1.0), 0x0110 (USB1.1), 0x0200 (USB2.0), 0x0300 (USB3.0) and 0x0310 (USB3.1).

4 bDeviceClass 1 Class: 0x00 Class code assigned by USB-IF:

(used by the operating system to find a class driver for your device)

  • 00h means each interface defines its own class (identify itself at the interface level)
  • FFh means vendor-defined class
  • Any other value must be a class code

5 bDeviceSubClass 1 SubClass: 0x00 SubClass Code assigned by USB-IF

(used by the operating system to find a class driver for your device)

6 bDeviceProtocol 1 Protocol: 0x00 Protocol Code assigned by USB-IF

(used by the operating system to find a class driver for your device)

7 bMaxPacketSize0 1 Number: 0x09 Max packet size for endpoint 0.

Must be 8, 16, 32 or 64

8 idVendor 2 ID: 0x05a9 Vendor ID (VID) (OmniVision Technologies, Inc.) - must be obtained from USB-IF

(used by the operating system to find a driver for your device)

10 idProduct 2 ID: 0x0580 Product ID (PID) - assigned by the manufacturer

(used by the operating system to find a driver for your device)

12 bcdDevice 2 BCD: 0x0100 Device release number (Version: 1.00)

in binary coded decimal

14 iManufacturer 1 Index: 0x01 Index of string descriptor describing manufacturer

set to 0 if no string

15 iProduct 1 Index: 0x02 Index of string descriptor describing product

set to 0 if no string

16 iSerialNumber 1 Index: 0x00 Index of string descriptor describing device serial number
set to 0 if no string
17 bNumConfigurations 1 Number: 0x01 Number of possible configurations

External references

Generic

Computer videogame system with body position detector