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]