INTERNET-DRAFT                                              Ladan Gharai
<draft-ietf-avt-smpte292-video-03.txt>
<draft-ietf-avt-smpte292-video-04.txt>                           USC/ISI
                                                            Gary Goncher
                                                               Tektronix
                                                           Colin Perkins
                                                                 USC/ISI
                                                        David Richardson
                                                University of Washington
                                                          Allison Mankin
                                                                 USC/ISI
                                                           July 20, 2001
                                                           March 1, 2002

                  RTP Payload Format for SMPTE 292M
                  <draft-ietf-avt-smpte292-video-03.txt> Video
                  <draft-ietf-avt-smpte292-video-04.txt>

Status of this Memo

   This document is an Internet-Draft and is in full conformance with
   all provisions of Section 10 of RFC2026.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet- Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

Abstract

This document specifies a packetization scheme RTP payload format for  encapsulating
uncompressed HDTV as defined delivered by SMPTE 292M into a payload format for
the Real-Time Transport Protocol (RTP).  The RTP packet counter is

extended to 32 bits to accommodate SMPTE 292M's 1.485Gb/s data rate. 292M transport stream.

1.  Introduction

The serial digital interface, SMPTE 292M[1], defines a universal medium
of interchange for uncompressed HDTV High Definition Television (HDTV)
between various types of video equipment (camera's, (cameras, encoders, VTRs, ...) at
etc.). SMPTE 292M stipulates that the source data rates of 1.485Gb/s
(and be in 10bit words and
the total  data rate be  1.485 Gbps or 1.485/1.001 Gb/s). Source Gbps.

A SMPTE 292M television line is divided into four parts: (1) start of
active video timing reference (SAV); (2)  digital active line; (3) end
of active video timing reference (EAV); and (4) digital line blanking.

The EAV and SAV are made up of three 10 bit words, with constant values
of 0x000 0x000 0x3FF and an additional word  carrying a number of flags.
This includes an F flag which designate which field (1 or 2) the line is
transporting and also a V flag which indicates field blanking.  EAV is
followed by a line number field. Line number is a 11bit value set in two
10bit words.

The number of words and format for active lines and line blanking is
defined by source format documents. Currently, source video formats
transfered by SMPTE 292M are includes SMPTE 260M, 295M, 274M and 296M[2-5].  Source data for these formats are
10-bit words,  sampled at 4:2:2.
In this memo we specify how to transfer SMPTE 292M over RTP. RTP,
irrespective of the source format.

This memo only addresses the transfer of uncompressed HDTV. Compressed
HDTV is a subset of MPEG-2 [6], which is fully described in document
A/53 [7] of the Advanced Television Standards Committee. The ATSC has
also adopted the MPEG-2 transport system (ISO/IEC 13818-1) [8].
Therefore:

1. The HDTV transport system is a compatible subset of the MPEG-2
transport system. Section 2 of 13818-1)[8].
Therefore RFC 2250 [9] sufficiently describes the RTP payload
for  MPEG-2's transport system, where multiple fixed length (188 bytes)
MTS packets are aggregated into a single RTP packet.

2. Compressed HDTV is a subset of MPEG-2 MP@HL with some additional
restrictions. Section 3 of RFC 2250 describes a packetization scheme for
MPEG-2 elementary streams. The additional restrictions of HDTV do not
have any implications for RTP packetization. compressed
HDTV.

2.  Conventions Used in this Document

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED",  "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119[10].

3.  Payload Design

Each video frame of SMPTE 292M data line is packetized into a number of constant
size RTP packets.
All active, vertical blanking and timing information is packetized. The

Start of active video (SAV) and end of a frame is marked by the M bit in active video (EAV) signals SHOULD
NOT be fragmented across packets, as the RTP
header.   A single packet may contain data for two consecutive scan
lines. The SMPTE 292M decoder uses the
sync info in the scan lines to detect the start of scan lines.

A single packet may also contain information from adjacent scan lines  All
payload header information, i.e., line number, pertains to the first
data sample in
two consecutive frames, or by agreement between sender and receiver the
last packet packet. The end of a video frame may be padded to is marked by the full length of all
292M RTP packets, in which case a new frame will  start M bit in a new packet.
the RTP header.

The standard 16 bit RTP sequence counter is extended to 32 bits to
accommodate HDTV's high data rates. At 1.485Gb/s, 1.485 Gbps, with packet sizes of
at least 1kByte, 32bits allows for an approximate 6 hour  period before
the sequence counter wraps around.

A 10Mhz 148500 Hz (or 148500/1.001 Hz) timestamp is used as the RTP header's timestamp.
This allows the receiver to reconstruct the timing of the SMPTE 292M
stream, without knowledge of the exact type of source format (e.g. SMPTE
274M or SMPTE 296M).

Given SMPTE 292M's 4:2:2 color subsampling, scan

A source formats video line fragmentation MUST
occur on sample-pair boundaries, such that NOT be fragmented across related Y and
Cb and Cr values are
not split across packets.  This means the payload section of each packet
will be a multiple of 40bits. In addition, values.  For 4:2:0 this translates to ensure unique timestamps,
each packet SHOULD contain more than 8 4 pixels, represented as
Y1, Y2, Y3, Y4, Cr, Cb,  in 6 10bit words. For 4:2:2 video samples (20 bytes). this
translates to 2 pixels (Y1, Y2, Cr, Cb) and  4 10bit words.  for 4:4:4
video this translates to 1 pixel (Y, Cr, Cb) and 3 10bit words.

4.  RTP Packetization

The standard RTP header is followed by a 4 byte payload header, and the
payload data.

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | V |P|X|   CC  |M|    PT       |     sequence# (low bits)      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                     time stamp                                |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        ssrc                                   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    sequence# (high bits)      |       unused        line no        |F|V| Z |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

4.1.  The RTP Header

The following fields of the RTP fixed header are used for SMPTE 292M
encapsulation:

Payload Type (PT): 7bits
     A dynamically allocated  payload type field which designates the
     payload as SMPTE 292M.

Timestamp: 32 bits
     The timestamp field shall be defined from a counter at 10 MHz. The
     timestamp shall be defined as the arrival time of the first 20-bit
     video sample to be transmitted in the current packet. At an arrival
     rate of 74.25 MHz for 20-bit SMPTE 292M video samples with
     24/30/60Hz frame rates, the timestamp will be unique for packets
     with more than 8 video samples (20 bytes) and therefore, each
     packet SHOULD contain more than 8 samples. Timestamps shall
     increase monotonically until they roll over at 32 bits.

     One possible means of deriving the 10 MHz clocks is from a GPS
     (Global Positioning System) board. These boards have
     For a disciplined
     oscillator that is synchronized to GPS time. The disciplined
     oscillator can be as accurate as 1 in 10-12, but is more typically
     1 in 10-8. Thus clocks SMPTE 292M transport stream at widely separate locations can be
     synchronized with an accuracy of 100 ns 1.485 Gbps (or 1.485/1.001
     Gbps), the timestamp field contains a 148500 Hz (or 148500/1.001
Hz)
     timestamp, respectively. This allows for video timing recovery. a unique timestamp for
     each 10bit word.

Marker bit (M): 1bit
     The Marker bit denotes the end of a video frame, and is set to 1
     for the last packet of the video frame and is otherwise  set to 0
     for all other packets.

Sequence Number (low bits): 16 bits
     The low order bits for RTP sequence counter. The standard 16 bit
     RTP  sequence number is augmented with another 16 bits in the
     payload header in order to accommodate the 1.485Gb/s 1.485 Gbps data rate of
     SMPTE 292M.

4.2.  Payload Header

Sequence Number (high bits):  16bits
    The high order bits for the 32bit RTP sequence counter.

Unused: 16bits
    MUST be set to zero at

Line No: 11bits
     The line number of the sender, and ignored at source data format, extracted from the receiver.

4.3.  Payload Format

For 4:2:2 color subsampling Cb and Cr values are subsampled by a factor
of two horizontally and are co-sited with even numbered Y samples.
Therefore, Cb, Cr and Y samples
     SMPTE 292M stream. The line number MUST be arranged and transmitted in correspond to the
following order:

                        Cb, Y, Cr, Y, Cb, Y, Cr, ...
where line
     number of the first Cb, Y, Cr  sequence refers to co-sited luminance 10bit word in the packet.

F: 1bit
     Identifies field 1 and
color-difference samples, 2. F=1 identifies field 2 and F=0 identifies
     field 1.

V: 1bit
     If the next Y belongs to the next luminance
sample.

Therefore, as set forth in RFC2431 [11], for 10-bit words, each group of
four samples must be encoded into a 40-bit word (five octets) prior to
transmission.  The following is a representation of a 720 first date sample packet
with 10-bit quantization:

               0         1         2         3
               0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8
              +---------+---------+---------+---------+
              |   Cb0   |   Y0    |   Cr0   |   Y1    |
              +---------+---------+---------+---------+
              |   Cb1   |   Y2    |   Cr1   |   Y3    |
              +---------+---------+---------+---------+
                                  .
                                  .
                                  .
              +---------+---------+---------+---------+
              |  Cb359  |  Y718   |  Cr359  |  Y719   |
              +---------+---------+---------+---------+
                (Note that in the word width packet is 40 bits)
              +-------+-------+-------+-------+-------+
      Octets: |   0   |   1   |   2   |   3   |   4   |
              +-------+-------+-------+-------+-------+

The octets shown in these diagrams are transmitted in network bit and
byte order, that is, left-to-right as shown. a blanking level, V=1,
     otherwise  V=0.

Z: 2bits
     Set to zero at sender. Ignored at receiver.

5.  RTCP Considerations

RFC1889 recommends transmission of RTCP packets every 5 seconds or at a
reduced minimum in seconds of 360 divided by the session bandwidth in
kilobits/seconds. At 1.485Gb/s 1.485 Gbps the reduced minimum interval computes to
0.2ms  or 4028 packets per second.

It should be noted that the sender's octet count in SR packets wraps
around in 23 seconds, and that the cumulative  number of packets lost
wraps around in 93 seconds. This means these two fields cannot
accurately represent octet count and number of packets lost since the
beginning of transmission, as defined in RFC1889. Therefore for network
monitoring purposes other means of keeping track of these variables
should be used.

6.  MIME Registration  IANA Considerations

This document defines a new RTP payload name format and associated MIME type,
SMPTE292M. The MIME registration forms for MIME type for SMPTE 292M video is enclosed
below:

MIME media type name: video

MIME subtype name: SMPTE292M

Required parameters: None rate
  The RTP timestamp clock rate. The clock runs at either 148500 Hz or
  148500/1.001 Hz. If the latter rate is used a timestamp of 148351
  MUST be used, and receivers MUST interpret this as 148500/1.001 Hz.

Optional parameters: None length
  The RECOMMENDED packet size in octets.

Encoding considerations: SMPTE292M video can be transmitted with
  RTP as specified in "draft-ietf-avt-smpte292-video-03". "draft-ietf-avt-smpte292-video-04".

Security considerations: None see draft "draft-ietf-avt-smpte292-video-04"
  section 8.

Interoperability considerations: NONE

Published specification: SMPTE292M
                         draft-ietf-avt-smpte292-video-03
                         draft-ietf-avt-smpte292-video-04

Applications which use this media type:

                         Video communication.

Additional information: None

Magic number(s): None

File extension(s): DV

Macintosh File Type Code(s): None

Person & email address to contact for further information:
   Ladan Gharai <ladan@isi.edu>
   IETF AVT working group.

Intended usage: COMMON

Author/Change controller:
      Ladan Gharai <ladan@isi.edu>

7.  Mapping to SDP Parameters

Parameters are mapped to SDP [12] as follows:

   m=video 30000 RTP/AVP 111
   a=rtpmap:111 SMPTE292M/10000000 SMPTE292M/148500
   a=fmtp:111 length=560

In this example, a dynamic payload type 111 is assumed used for SMPTE292M.  The
length field indicates the number of video samples in each packet, 560,
which means the payload length is 1400bytes.

8.  Security Considerations

RTP packets using the payload format defined in this specification are
subject to the security considerations discussed in the RTP
specification, and any appropriate RTP profile.  This implies that
confidentiality of the media streams is achieved by encryption.

This payload type does not exhibit any significant non-uniformity in the
receiver side computational complexity for packet processing to cause a
potential denial-of-service threat.

It is perhaps to be noted that the bandwidth of this payload is high
enough (1.5 (1.485 Gbps without the RTP overhead) to cause potential for
denial-of-service if transmitted onto most currently available Internet

paths.  In the absence from the standards track of a suitable congestion
control mechanism for flows of this sort, use of the payload should be
narrowly limited to suitably connected network endpoints and great care
taken with the scope of multicast transmissions.  This potential threat
is common to all high bit rate applications. applications without congestion control.

9.  IANA Considerations

See section 6.

10.  Full Copyright Statement

Copyright (C) The Internet Society (2000). (2002). All Rights Reserved.

This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it or
assist in its implementation may be prepared, copied, published and
distributed, in whole or in part, without restriction of any kind,
provided that the above copyright notice and this paragraph are included
on all such copies and derivative works.

However, this document itself may not be modified in any way, such as by
removing the copyright notice or references to the Internet Soci- ety or
other Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be fol- lowed,
or as required to translate it into languages other than English.

The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.

This document and the information contained herein is provided on an "AS
IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK
FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT
LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT
INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MER- CHANTABILITY OR
FITNESS FOR A PARTICULAR PURPOSE."

11.

10.  Authors' Addresses

 Ladan Gharai
 ladan@isi.edu
 USC/ISI
 4350
 3811 Fairfax Dr
 Arlington, VA 22203-1695

 Gary Goncher
 ggoncher@tek.com
 Colin Perkins
 csp@isi.edu
 USC/ISI
 4350
 3811 Fairfax Dr
 Arlington, VA 22203-1695

 David Richardson
 drr@u.washington.edu

 Allison Mankin
 mankin@isi.edu
 USC/ISI
 4350
 3811 Fairfax Dr
 Arlington, VA 22203-1695

12.

11.  Bibliography

[1] Society of Motion Picture and Television Engineers,
    Bit-Serial Digital Interface for High-Definition Television
    Systems, SMPTE 292M, 1998.

[2] Society of Motion Picture and Television Engineers,
    Digital Representation and Bit-Parallel Interface - 1125/60
    High-Definition Production System, SMPTE 260M, 1992.

[3] Society of Motion Picture and Television Engineers,
    1920x1080 50Hz, Scanning and Interface, SMPTE 295M, 1997.

[4] Society of Motion Picture and Television Engineers,
    1920x1080 Scanning and Analog and Parallel Digital Interfaces
    for Multiple Picture Rates, SMPTE 272M.

[5] Society of Motion Picture and Television Engineers,
    1280x720 Scanning, Analog and Digital Representation and Analog
    Interfaces, SMPTE 296M, 1998.

[6] ISO/IEC International Standard 13818-2; "Generic coding of
    moving pictures and associated audio information: Video", 1996.

[7] ATSC Digital Television Standard Document A/53, September 1995,
    http://www.atsc.org

[8] ISO/IEC International Standard 13818-1; "Generic coding of
    moving pictures and associated audio information: Systems",1996.

[9] Hoffman, Fernando, Goyal, Civanlar, "RTP Payload Format for
    MPEG1/MPEG2 Video", RFC 2250, IETF, January 1998.

[10] IETF RFC 2119, "Key words for use in RFCs to Indicate
     Requirement Levels".

[11] D. Tynan, "RTP Payload Format for BT.656 Video Encoding",
     RFC 2431, October 1998.

[12] M. Handley and V. Jacobson, "SDP: Session Description Protocol",
     RFC 2327, April 1998.

[13] Schulzrinne, Casner, Frederick, Jacobson, "RTP: A transport
     protocol for real time Applications", RFC 1889, IETF,
     January 1996.

[14] Schulzrinne, "RTP Profile for Audio and Video Conferences with
     Minimal Control", RFC 1890, IETF, January 1996.