H.264 video compression11/12/2023 While the video coding format must support such compression across frames in the bitstream format, by not needlessly mandating specific algorithms for finding such block-matches and other encoding steps, the codecs implementing the video coding specification have some freedom to optimize and innovate in their choice of algorithms. Finding optimal combinations of such predictors and differences is an NP-hard problem, meaning that it is practically impossible to find an optimal solution. For example, a large part of how video compression typically works is by finding similarities between video frames (block-matching), and then achieving compression by copying previously-coded similar subimages (e.g., macroblocks) and adding small differences when necessary. Ī video coding format does not dictate all algorithms used by a codec implementing the format. As another example, in Cisco's announcement of a free-as-in-beer video codec, the press release refers to the H.264 video coding format as a codec ("choice of a common video codec"), but calls Cisco's implementation of a H.264 encoder/decoder a codec shortly thereafter ("open-source our H.264 codec"). Īs an example of conflation, Chromium's and Mozilla's pages listing their video format support both call video coding formats such as H.264 codecs. The VP9 specification calls the video coding format VP9 itself a codec. The Alliance for Open Media clearly distinguishes between the AV1 video coding format and the accompanying codec they are developing, but calls the video coding format itself a video codec specification. The H.264 specification calls H.261, H.262, H.263, and H.264 video coding standards and does not contain the word codec. This distinction is not consistently reflected terminologically in the literature. x264, OpenH264, H.264/MPEG-4 AVC products and implementations). H.264), there can be many codecs implementing that specification (e.g. As an analogy, the video coding format H.264 (specification) is to the codec OpenH264 (specific implementation) what the C Programming Language (specification) is to the compiler GCC (specific implementation). Video coding formats are described in specifications, and software, firmware, or hardware to encode/decode data in a given video coding format from/to uncompressed video are implementations of those specifications. Another example is the initial specification for the file type WebM, which specified the container format (Matroska), but also exactly which video ( VP8) and audio ( Vorbis) compression format is used inside the Matroska container, even though the Matroska container format itself is capable of containing other video coding formats ( VP9 video and Opus audio support was later added to the WebM specification).ĭistinction between format and codec Ī format is the layout plan for data produced or consumed by a codec.Īlthough video coding formats such as H.264 are sometimes referred to as codecs, there is a clear conceptual difference between a specification and its implementations. Multimedia container formats can contain any one of a number of different video coding formats for example the MP4 container format can contain video in either the MPEG-2 Part 2 or the H.264 video coding format, among others. mp4 video file, which is an MP4 container containing H.264-encoded video, normally alongside AAC-encoded audio. As such, the user normally doesn't have a H.264 file, but instead has a. Video content encoded using a particular video coding format is normally bundled with an audio stream (encoded using an audio coding format) inside a multimedia container format such as AVI, MP4, FLV, RealMedia, or Matroska. The term 'standard' is also sometimes used for de facto standards as well as formal standards. Some such specifications are written and approved by standardization organizations as technical standards, and are thus known as a video coding standard. Some video coding formats are documented by a detailed technical specification document known as a video coding specification. A specific software, firmware, or hardware implementation capable of compression or decompression to/from a specific video coding format is called a video codec. It typically uses a standardized video compression algorithm, most commonly based on discrete cosine transform (DCT) coding and motion compensation. Content representation format for storage or transmission of digital video contentĪ video coding format (or sometimes video compression format) is a content representation format for storage or transmission of digital video content (such as in a data file or bitstream).
0 Comments
Leave a Reply.AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |