RTP Payload for ATRAC-X Matthew Romaine Mitsuyuki Hatanaka (Sony Corporation)
Background & Purpose • ATRAC-X – Newest member of ATRAC family of perceptual codecs – ATRAC technology widely used in MDs and solid-state recorders/players • Adoption – ATRAC-X is a competitive alternative to other codecs; standardization for streaming has potential value in future applications
Features of ATRAC-X • Higher sound quality at lower bit-rates • Wide range of bit-rates, from 8kbps to 1.4Mbps • Support for multi-channel encoding • Flexible format for future extensions • Suitability for streaming, including scalability and fixed frame lengths
Features of the ATRAC-X Payload Format • Multiple bit-stream packetizing • Support for metadata • Packet loss resolution via “redundant data” • Support for fragmentation
Some Definitions • ATRAC-X Audio Frame – Smallest unit of ATRAC-X data – 2048 PCM samples • ATRAC-X Segment – Unit of ATRAC-X data inside RTP packet – Any combination of audio, metadata, and respective redundant frames • ATRAC-X Slot – Unit of time within which all audio frames of an ATRAC-X segment belong.
Overview of ATRAC-X streaming on RTP StreamID 0 1 2 3 N N N N 0 N+1 N+1 N+1 N+1 1 N+2 N+2 N+2 N+2 2 Time (“slot”) N = ATRAC-X Segment with sequence N
ATRAC-X streaming in more detail ATRAC-X 8kbps Frame1 Frame2 Frame3 Frame4 Frame5 Frame6 Frame1 Frame2 Frame3 Frame4 Frame5 Frame6 ATRAC-X 128kbps Frame1 Frame1 Frame3 Frame3 Frame3 Frame3 Frame2 Frame2 Frame4 Frame4 Frame4 Frame4 ATRAC-X ATRAC-X ATRAC-X ATRAC-X ATRAC-X ATRAC-X Segment(1) Segment(2) Segment(1) Segment(2) Segment(1) Segment(2) ATRAC-X Slot(1) ATRAC-X Slot(2) ATRAC-X Slot(3)
Stream Example ATRAC-X ATRAC-X ATRAC-X ATRAC-X 8kpbs 128kpbs 8kpbs 128kpbs FRSEQNO : N FRSEQNO : N FRSEQNO : N+1 FRSEQNO : N+1 StreamID : 0 StreamID : 1 StreamID : 0 StreamID : 1 Priority : 1 Priority : 0 Priority : 1 Priority : 0 NF = 2 NF = 2 NF = 3 NF = 3 Segment (1) Segment (2) Segment (1) Segment (2) ATRAC-X Slot -Nth- ATRAC-X Slot -N+1th- Transmission of two ATRAC-X streams in one ATRAC-X RTP session
Sketch of Redundant Data Payload Format RTP Header Current Data (Metadata & ATRAC-X Data Of Current ATRAC-X Slot) Redundant Data (Metadata & ATRAC-X Data Of Previous ATRAC-X Slot)
Fragmentation Example ATRAC-X ATRAC-X ATRAC-X ATRAC-X 8kbps 64kbps 240kbps 240kbps C : 0 C : 0 C : 1 C : 0 FragNo : 0 FragNo : 0 FragNo : 0 FragNo : 1 Segment (1) Segment (2) Segment (3) (1 packet) (1 packet) (2 packets) ATRAC-X Slot -Nth-
Open Issues for AVT WG • Metadata ID allocation – is this reasonable? – How should we handle static IDs? • How should timestamp information within the RTP header be determined? – We currently use server’s transmit time – Presentation time can be determined using ATRAC-X RTP header information
Recommend
More recommend