Hitchhiker's Guide to Streaming Media: Encoding
>> Looking up: “Encoding”
Encoding in streaming is the process/computational algorithm used for translating a “source” (typically of video or audio) into another digital storage type. Often the term is used broadly to include a secondary stage called “encapsulation” where the stored data type is also packaged with some form of transport system that enables the data to be delivered from the point of encoding (for live streams) or storage (for archive delivery) through a client/server architecture to end users. The end users’ devices will have a counterpart there will be a “decoder” process that can render the audio or video to the video or audio devices on the end users appliance (PC/set-top box/phone etc).
An encoder and a decoder algorithm are usually ‘paired’ and the pair is often referred to as a codec (“enCOde DECode”); codecs can be software-only or provided as ASICs (application-specific integrated circuits) in hardware form. Sometimes codec are also integrated into digital signal processing (DSP) chips on computer motherboards and graphics cards, or standalone in appliances. Codecs are sometimes also named codecs because they provide “COmpression/DECompression,” but since not all codecs are used for compression, this use of the term is not broad enough to encompass all codecs in use.
There are many types of codecs. These vary in characteristics by providing different “compression” (where the amount of data is reduced to decrease storage or distribution bandwidth requirements) and/or compatibility with various transport systems (such as client server architectures). Compression can be “lossy” (where quality of video or audio is reduced to enable the reduction in data size) or “lossless,” where the quality of the encoded information is the same as the source quality. Lossless compression is rare in streaming, but common in archive storage of text and still image data.
Encoding is not the same process as “encryption,” which is a separate system used to provide access control to the content. Often, however, the encoding process can be combined with an encryption process for purposes of efficiency in the source-to-delivery workflow. In its own right, controlling access to the “decoder” component of codec can facilitate a similar level of access control as encryption since the algorithms utilised are complex and difficult to “hack.”
Where encoding is combined with encapsulation into a transport system for a specific client server architecture the end to end data structure is often called a “format.” Formats are, in general, what people talk about when planning how a content provider requires a source to be delivered to end users.
There are many proprietary and many open standard formats and underlying codecs, and many formats can work with multiple codecs.
HTTP is often used these days for delivery of content, but the encoded content is only loosely connected to the HTTP transport and so HTTP is not generally considered a streaming format. Instead, most content delivered via HTTP is known as progressive download.
Don’t panic. Next Time: The Hitchhiker’s Guide to DRM