Internet DRAFT - draft-herrero-avt-ccsds
draft-herrero-avt-ccsds
Internet Engineering Task Force R. Herrero
Internet-Draft Northeastern University
Intended status: Informational C. St.Pierre
Expires: December 23, 2019 L7TR
June 21, 2019
RTP Payload Format for CCSDS Compressed Image Data
draft-herrero-avt-ccsds-00
Abstract
This memo describes an RTP payload format for the Consultative
Committee for Space Data Systems (CCSDS) Compressed Image Data
standard [CCSDS122.0]. The compression is typically applied to two-
dimensional and three-dimensional data cubes resulting from
multispectral and hyperspectral imagining instruments.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
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."
This Internet-Draft will expire on December 23, 2019.
Copyright Notice
Copyright (c) 2019 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
Herrero & St.Pierre Expires December 23, 2019 [Page 1]
Internet-Draft CCSDS Image RTP Payload Format June 2019
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Header Format . . . . . . . . . . . . . . . . . . . . . . . . 3
3.1. RTP Fixed Header Usage . . . . . . . . . . . . . . . . . 3
3.2. RTP Payload Header Format . . . . . . . . . . . . . . . . 4
4. RTP Packetization . . . . . . . . . . . . . . . . . . . . . . 5
5. SDP Parameters . . . . . . . . . . . . . . . . . . . . . . . 6
6. Security Considerations . . . . . . . . . . . . . . . . . . . 6
7. Normative References . . . . . . . . . . . . . . . . . . . . 6
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 6
1. Introduction
The CCSDS compressed image data standard can be used to produce both
lossy and lossless compression in a scenario that targets high-rate
instruments used on board of spacecraft. Moreover it provides a
trade-off between compression performance and complexity with
particular emphasis on spacecraft applications. As a low complexity
mechanism it supports fast and low power hardware implementations.
The compressor consists of two functional parts, shown in Figure 1, a
Discrete Wavelet Transform module that performs decorrelation and a
Bit-Plane Encoder which encodes the decorrelated data. It is outside
the scope of this document to further describe in detail this
procedure. Please refer to [CCSDS122.0] for more information.
+----------+ +----------+
| Discrete | | Bit |
Raw Image ==> | Wave |--->| Plane | ==> Compressed Image
| Transform| | Encoder |
+----------+ +----------+
Block diagram of the CCSDS encoder[CCSDS122.0].
Figure 1
The coded data that results from each CCSDS compressed image is
composed of a sequence of self-contained and self-defined segments.
Depending on the size of the segments several RTP packetization
scenarios are possible; (1) Each RTP packet transports a single
segment, (2) Each RTP packet transports several fragments or (3) Each
fragment is transported across several RTP packets. In particular,
for cases (2) and (3), if segments are packetized directly over RTP
Herrero & St.Pierre Expires December 23, 2019 [Page 2]
Internet-Draft CCSDS Image RTP Payload Format June 2019
there is potential for corruption that extends beyond segments
affected by packet loss.
Packet #1: [RTP Header][1][2][3]
Packet #2: [RTP Header][3]
Packet #3: [RTP Header][3][4][5]
Five Segments over RTP
Figure 2
For example, Figure 2 shows five segments being transported over
three RTP packets. If RTP packet #2 is lost due to network packet
loss, not only segment 3 in RTP packet #2 is lost but also subsequent
segments 3 and 4 carried in received RTP packet #3 are lost due to
the fact the decoder cannot determine the beginning of either one of
these segments.
This document specifies a payload format for packetization of CCSDS
compressed images that relies on identifying the boundaries between
segments inside RTP packets.
2. Conventions
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 [RFC2119].
3. Header Format
3.1. RTP Fixed Header Usage
For each RTP packet, the RTP fixed header is followed by the CCSDS
Image RTP payload header. This header is, in turns, followed by the
image payload consisting of a full or partial sequence of segments.
The RTP header fields that have a meaning specific to a CCSDS image
are described as follows:
Marker bit (M): The marker bit of the RTP fixed header MUST be set
to 1 for the last RTP packet of an image frame; otherwise, it MUST
be 0. When transmission is performed by multiple RTP sessions,
this bit is 1 in the last packet of the frame in each session.
Payload type (PT): The payload type is dynamically assigned by
means outside the scope of this document. A payload type in the
dynamic range shall be chosen by means of an out-of-band signaling
protocol (i.e., Real Time Streaming Protocol (RTSP), SIP, etc.).
Herrero & St.Pierre Expires December 23, 2019 [Page 3]
Internet-Draft CCSDS Image RTP Payload Format June 2019
Timestamp: Timestamp indicates the presentation time of the frame
contained in the RTP packet. The same timestamp value MUST appear
in each RTP packet carrying a fragment of a given frame.
Following the RTP specification RFC 3550 [RFC3550], the initial
value of the timestamp should be randomly chosen.
As for the clock rate, senders and receivers MUST support the
90kHz RTP timestamp rate, and MAY support other rates. RTP
timestamp rates below 1000 Hz SHOULD NOT be used because they will
result in insufficient resolution for RTP Control Protocol (RTCP)
measurements based on the RTP timestamp, such as the interarrival
jitter. The clock rate MUST be negotiated at the start of the
session. When using the Session Description Protocol (SDP), it
MUST be expressed using the "rtpmap" attributes. If a non-90kHz
clock rate is to be used, it is RECOMMENDED to present not only a
preferable clock rate but also 90kHz clock rate with a different
RTP payload type.
3.2. RTP Payload Header Format
The RTP payload header format for CCSDS compressed images indicates
the offset to the beginning of the first new segment carried in the
packet. If the packet doesn't contain the beginning of a new
segment, the offset is 0. The offset is specified as byte and bit
units. If the byte offset is between 0 and 15 bytes the format of
the header is as shown in Figure 3
0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+
|0| btos | bos |
+-+-+-+-+-+-+-+-+
Figure 3
If the byte offset is larger than 16 bytes the format of the header
is as shown in Figure 4.
0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|1| btos | bos |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 4
btos (byte offset): 4 or 12 bits
This field indicates the number of offset byte units to the first
segment (if any).
Herrero & St.Pierre Expires December 23, 2019 [Page 4]
Internet-Draft CCSDS Image RTP Payload Format June 2019
bos (bit offset): 3 bits
This field indicates the number of offset bit units to the first
segment (if any).
4. RTP Packetization
The sender must packetize the CCSDS compressed images appropriately
according to initial media type parameters. A sender divides the
codestream into segments by parsing the codestream or by getting
information from the encoder, and packs the segments into RTP
packets. A sender can put an arbitrary number of segments into an
RTP packet, but it MUST preserve the codestream order. An example of
this kind of RTP packet format is shown in Figure 5
+------+-------+---------------+---------------+
|RTP |payload| image | image |
|header|header | segment | segment |
+------+-------+---------------+---------------+
An example with multiple segments
Figure 5
If a segment is larger than the MTU size, it MAY be fragmented as
shown in Figure 6
+------+-------+-------------------------------------------------+
|RTP |payload| image segment |
|header|header | fragment |
+------+-------+-------------------------------------------------+
+------+-------+-------------------------------------------------+
|RTP |payload| image segment |
|header|header | fragment |
+------+-------+-------------------------------------------------+
.
.
.
+------+-------+------------------------------------+
|RTP |payload| image segment |
|header|header | end fragment |
+------+-------+------------------------------------+
An example with multiple segments
Figure 6
Herrero & St.Pierre Expires December 23, 2019 [Page 5]
Internet-Draft CCSDS Image RTP Payload Format June 2019
5. SDP Parameters
The MIME media type image/ccsds string is mapped to fields in the
Session Description Protocol (SDP) as follows:
The media name in the "m=" line of SDP MUST be image.
The encoding name in the "a=rtpmap" line of SDP MUST be ccsds (the
MIME subtype).
6. Security Considerations
RTP packets using the payload format defined in this specification
are subject to the security considerations discussed in the RTP
specification RFC 3550 [RFC3550].
7. Normative References
[CCSDS122.0]
Consultative Committee for Space Data Systems, "CCSDS
122.0-B-2: Image Data Compression", September 2017.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
[RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V.
Jacobson, "RTP: A Transport Protocol for Real-Time
Applications", STD 64, RFC 3550, DOI 10.17487/RFC3550,
July 2003, <https://www.rfc-editor.org/info/rfc3550>.
Authors' Addresses
Rolando Herrero
Northeastern University
Boston, MA
US
Email: r.herrero@northeastern.edu
Claude St.Pierre
L7TR
Manchester, NH
US
Email: claude@l7tr.com
Herrero & St.Pierre Expires December 23, 2019 [Page 6]