Internet DRAFT - draft-moffitt-netvc-requirements
draft-moffitt-netvc-requirements
Network Working Group J. Moffitt
Internet-Draft Mozilla
Intended status: Informational M. Zanaty
Expires: September 10, 2015 Cisco
March 09, 2015
Video Codec Requirements
draft-moffitt-netvc-requirements-00
Abstract
This document provides specific requirements for an Internet video
codec. These requirements address quality, bit-rate, and packet-loss
robustness, as well as other desirable properties.
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 http://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 September 10, 2015.
Copyright Notice
Copyright (c) 2015 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
(http://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
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Moffitt & Zanaty Expires September 10, 2015 [Page 1]
Internet-Draft Video Codec Requirements March 2015
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Applications . . . . . . . . . . . . . . . . . . . . . . . . 2
2.1. Point-to-Point Calls . . . . . . . . . . . . . . . . . . 3
2.2. Broadcast . . . . . . . . . . . . . . . . . . . . . . . . 3
2.3. Conferencing . . . . . . . . . . . . . . . . . . . . . . 3
2.4. Telepresence . . . . . . . . . . . . . . . . . . . . . . 3
2.5. Teleoperation . . . . . . . . . . . . . . . . . . . . . . 3
2.6. Screencasting . . . . . . . . . . . . . . . . . . . . . . 4
2.7. Video Storage . . . . . . . . . . . . . . . . . . . . . . 4
2.8. Other Applications . . . . . . . . . . . . . . . . . . . 4
3. Constraints Imposed by the Internet on the Codec . . . . . . 4
4. Detailed Basic Requirements . . . . . . . . . . . . . . . . . 5
5. Additional Considerations . . . . . . . . . . . . . . . . . . 5
6. Security Considerations . . . . . . . . . . . . . . . . . . . 6
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 6
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 6
1. Introduction
This document provides requirements for a video codec designed
specifically for use over the Internet. The requirements attempt to
address the needs of the most common streaming and interactive video
transmission applications and ensure good quality when operating in
typical Internet conditions. These requirements also address issues
of quality, frame rate, bit-rate, and packet-loss robustness. Other
desirable but not required video codec properties are also
considered.
2. Applications
The following applications should be considered for Internet video
codecs, along with their requirements:
o Point-to-point calls
o Broadcast
o Conferencing
o Telepresence
o Teleoperation
o Screencasting
o In-game video chat
Moffitt & Zanaty Expires September 10, 2015 [Page 2]
Internet-Draft Video Codec Requirements March 2015
o Video storage
o Other applications
2.1. Point-to-Point Calls
One-to-one video chat applications are proliferating. These
interactive uses of a video codec involve two connected participants
sending and receiving encoded video to each other. Frame sizes will
typically be 360p to 720p and bandwidth used around 1 Mbit/s.
The endpoints will need to negotiate and change session details
during the call. For example, one endpoint may request higher
resolution video when the size of the display window is increased.
2.2. Broadcast
Broadcasting is live or pre-recorded video being sent to many
participants at the same time. This will typically involve frame
sizes up to 1080p and bandwidth requirements as high as 6 Mbit/s.
Example applications in this area include on-demand video service
like Netflix and YouTube as well as digital transmission of live
sporting events.
2.3. Conferencing
Video conferencing requires many of the same things as point-to-point
calls, but involves more than 2 participants. It is more complicated
due to the shifting focus of attention among the participants. For
example, when one participant is speaking, the user may prefer to
have their video appear larger and the other participants smaller,
which may have consequences for codec parameters.
Frame sizes and bitrates are similar to point-to-point applications.
2.4. Telepresence
Telepresence tries to use high fidelity reproduction to make remote
video conference participants feel like they are real people in the
same room. This requires high resolutions and large amounts of
bandwidth. It is otherwise very similar to video conferencing
applications.
2.5. Teleoperation
Moffitt & Zanaty Expires September 10, 2015 [Page 3]
Internet-Draft Video Codec Requirements March 2015
Teleoperation requires the high fidelity of telepresence, but
includes increased requirements for low latency. Remote control of
surgical tools is one example application.
2.6. Screencasting
Screencasting is the sharing of the contents of some or all of a
computer or mobile display. It is commonly used to send the visual
output of applications to other endpoints. For example, a speaker at
a conference might share the window for their presentation program
and a mobile app developer might want to record a demo of their
application.
Two main features distinguish this application. First, since the
inputs are often RGB, it is important to preserve the color
information at a higher fidelity than normal video. Second, the
input for the encoder is potentially higher level than raw pixels or
contains both pixels and higher level objects such as text along with
font and positioning information.
2.7. Video Storage
Archival video brings several unique requirements. Many applications
will want lossless compression or very high rates, and others will
want low complexity. Examples of the former include archival storage
of film masters; examples of the latter would be surveillance gear or
video camera capture systems.
2.8. Other Applications
The preceding list of application is by no means complete. The
requirements needed to enable these applications should be sufficient
to meet the needs of many other applications that were not listed.
3. Constraints Imposed by the Internet on the Codec
o must be able to interpret packets when previous packets are lost
o prediction across frames is reasonable but must allow for resync
o keyframes and other features for dynamic resync
o ability to vary bandwidth because of internet best-effort
o ECN
o use with other multimedia standards
Moffitt & Zanaty Expires September 10, 2015 [Page 4]
Internet-Draft Video Codec Requirements March 2015
4. Detailed Basic Requirements
o variable frame rate
o variable resolution
o any resolution from 1x1 to 4k?
o 8bit to 12bit
o loss robustness
o loss concealment?
o error recovery
o 420, 444, 422
o color spaces: req 709 and 2020
o alpha plane
o parallelism considerations (entropy coder in separate thread,
wavefront parallel, etc.)
o hardware feasibility
o software feasibility
explicit non-requirements:
o multiview
o scalable video coding
o bit-error robustness
5. Additional Considerations
The features described in this section are potentially desirable but
are not part of the strict requirements. Their benefits should be
weighed against their costs before including them in the codec.
o lossless
o RGB mode
o aux planes (depth, etc.)
Moffitt & Zanaty Expires September 10, 2015 [Page 5]
Internet-Draft Video Codec Requirements March 2015
6. Security Considerations
Although this document itself does not have security considerations,
this section describes the security requirements for the codec.
As for any protocol to be used over the Internet, security is a very
important aspect to consider. This goes beyond the obvious
considerations of preventing buffer overflows and similar attacks
that can lead to denial-of-service (DoS) or remote code execution.
One very important security aspect is to make sure that the decoders
have a bounded and reasonable worst-case complexity. This prevents
an attacker from causing a DoS by sending packets that are specially
crafted to take a very long (or infinite) time to decode.
7. References
Authors' Addresses
Jack Moffitt
Mozilla
Email: jack@metajack.im
Mo Zanaty
Cisco
Email: mzanaty@cisco.com
Moffitt & Zanaty Expires September 10, 2015 [Page 6]