Transcode
From Wikipedia, the free encyclopedia
Transcoding is the direct digital-to-digital conversion of one encoding to another. This is usually done to incompatible or obsolete data in order to convert it into a more suitable format. When transcoding one lossy file to another, the process almost always introduces generation loss.
Contents |
[edit] Process
In true transcoding, the bitstream format of one file is changed from one to another without its undergoing another complete decoding and encoding process. This usually is possible if the source and target codecs are sufficiently similar. However, support for this process very much depends on the case.
The most popular method of transcoding is to decode the original data to an intermediate format (i.e. PCM for audio or YUV for video), in a way that still contains the content of the original, and then encoding the resulting file into the target format.
Transcoding may also refer to the process of directly changing assembled software code to work on a different platform or operating system. While it is usually preferable to use source code and recompile the application, there are times when doing so is either impractical or impossible. This usually occurs when the source code is unavailable. One example, such as in the case of Wine, is taking Direct3D function calls and turning them into OpenGL calls.
[edit] Re-encoding
One may also re-encode data in the same format (also called recode, as in Nero Recode[1]). One may do this for a number of reasons:
- Editing
- If one wishes to edit data in a compressed format (for instance, perform image editing on a JPEG image), one will generally decode it, edit it, then re-encode it. This re-encoding causes digital generation loss; thus if one wishes to edit a file repeatedly, one should only decode it once, and make all edits on that copy, rather than repeatedly decoding and re-encoding it.
- Lower bitrate
- Transrating is a process similar to transcoding in which files are coded to a lower bitrate without changing video formats; this can include sample rate conversion, but may use the same sampling rate but higher compression. This allows one to fit given media into smaller storage space (for instance, fitting a DVD onto a Video CD), or over a lower bandwidth channel.
- Image scaling
- Changing the picture size of video is known as transsizing, and is used if the output resolution differs from the media's resolution. On a powerful enough computer, image scaling can be done on playback, but it can also be done by re-encoding, particularly as part of transrating (a downsampled image requiring a lower bitrate).
In theory, one can have formats with bitrate peeling, that allow one to easily lower the bitrate without re-encoding, but the benefits remain theoretical: in Vorbis bitrate peeling as of 2008, the quality is inferior to re-encoding.
[edit] Drawbacks
The key drawback of transcoding in lossy formats is decreased quality.
In such a case, compression artifacts are cumulative; therefore transcoding causes a progressive loss of quality with each successive generation (this is known as digital generation loss). For this reason, it is generally discouraged unless unavoidable.
It is better to retain a copy in a lossless format (such as TTA, FLAC or WavPack for sound), and then encode directly from the lossless source file to the lossy formats required.
Likewise for image editing, one is advised to capture images in a raw image format, and edit (a copy of) that image, only converting to other formats for distribution.
[edit] Usage
Even though transcoding can be found in many areas of content adaptation, it is commonly used in the area of mobile phone content adaptation. In this case, transcoding is a must due to the diversity of mobile devices and their capabilities. This diversity requires an intermediate state of content adaptation in order to make sure that the source content will adequately present on the target device which it is sent to.
One of the most popular technologies in which transcoding is used is the Multimedia Messaging Service, which is the technology used to send or receive messages with media (image, sound, text and video) between mobile phones. For example, when a camera phone is used to take a digital picture, a high-quality image usually of at least 640x480 resolution is created. However, when sending the image to another phone, this high resolution image might be transcoded to a lower resolution image with less color in order to better fit the target device's screen size and color limitation. This size and color reduction not only improves the user experience on the target device but is sometimes the only way for content to be sent between different mobile devices.
Transcoding is extensively used by Home theatre PC software, such as MythTV and Freevo to reduce the usage of disk space by video files. The most common operation in this application is the transcoding of MPEG-2 files to the MPEG-4 format.
Real-time transcoding in a many-to-many way (any input format into any output format) is becoming a necessity to provide true search capability for any multimedia content on any mobile device, with over 500 million videos on the web and a plethora of mobile devices.
[edit] Notes
- ^ "Recoding involves converting an existing video with certain properties (e.g. bit rate 2500 kbit/s) into the same format with different properties (e.g. bit rate 1990 kbit/s).", Nero Recode Manual
[edit] References
- Federal Standard 1037C
- MIL-STD-188
- List of Portable Multimedia Software
- Huifang Sun, Xuemin Chen, and Tihao Chiang, Digital Video Transcoding for Transmission and Storage, New York, CRC Press, 2005.
[edit] See also
- Data conversion
- Data migration
- Data transformation
- Lossy data conversion
- Comparison of programming languages (basic instructions)#Data_conversions
- Base Station Subsystem: Transcoder