Transcoding is the direct digital-to-digital conversion from one (usually lossy) codec to another. It involves decoding/decompressing the original data to a raw intermediate format (i.e. PCM for audio or YUV for video), in a way that mimics standard playback of the lossy content, and then re-encoding this into the target format. The simplest way to do transcoding is to decode a bitstream into YUV format using a compatible decoder and then encode the data using an encoder of a different standard. A better way to transcode is to change the bitstream format from one standard to another without its undergoing the complete decoding and encoding process. Many algorithms exist to achieve this.
Transrating is a process similar to transcoding in which files are coded to a lower bitrate without changing video formats. Need for transrating arises from the fact that the bitrate requirement varies from channel to channel because of vastness in the compression standards in use. Changing the picture size of video is known as transsizing.
Transcoding is the direct digital-to-digital conversion from one (usually lossy) codec to another. It involves decoding/decompressing the original data to a raw intermediate format (i.e. PCM for audio or YUV for video), in a way that mimics standard playback of the lossy content, and then re-encoding this into the target format. The simplest way to do transcoding is to decode a bitstream into YUV format using a compatible decoder and then encode the data using an encoder of a different standard. A better way to transcode is to change the bitstream format from one standard to another without its undergoing the complete decoding and encoding process. Many algorithms exist to achieve this.
Transrating is a process similar to transcoding in which files are coded to a lower bitrate without changing video formats. Need for transrating arises from the fact that the bitrate requirement varies from channel to channel because of vastness in the compression standards in use. Changing the picture size of video is known as transsizing.
Compression artifacts are cumulative; therefore transcoding between lossy codecs causes a progressive loss of quality with each successive generation. For this reason, it is generally discouraged unless unavoidable. For instance, if an individual owns a digital audio player that does not support a particular format (e.g., Apple iPod and Ogg Vorbis), then the only way for the owner to use content encoded in that format is to transcode it to a supported format. It is better to retain a copy in a lossless format (such as TTA, FLAC or WavPack), and then encode directly from the lossless source file to the lossy formats required.
Data transformation
Data transformation can be divided into two steps:
data mapping maps data elements from the source to the destination and captures any transformation that must occur
code generation that creates the actual transformation program
Data element to data element mapping is frequently complicated by complex transformations that requires one-to-many and many-to-one transformation rules.
The code generation step takes the data element mapping specification and creates an executable program that can be run on a computer system. Code generation can also create transformation in easy-to-maintain computer languages such as Java or XSLT.
When the mapping is indirect via a mediating data model, the process is also called data mediation.There are numerous languages available for performing data transformation. Many transformational languages require a grammar to be provided. In many cases the grammar is structured using something closely resembling Backus–Naur Form (BNF). There are numerous languages available for such purposes varying in their accessibility (cost) and general usefulness. Examples of such languages include:
XSLT - the XML transformation language
TXL - prototyping language-based descriptions using source transformation
It should be noted that though transformational languages are typically best suited for transformation, something as simple as regular expressions can be used to achieve useful transformation. Textpad supports the use of regular expressions with arguments. This would allow all instances of a particular pattern to be replaced with another pattern using parts of the original pattern.Another advantage to using regular expressions is that they will not fail the null transform test. That is, using your transformational language of choice, run a sample program through a transformation that doesn't perform any transformations. Many transformational languages will fail this test.In other words, all instances of a function invocation of foo with three arguments, followed by a function invocation with two invocations would be replaced with a single function invocation using some or all of the original set of arguments.A really general solution to handling this is very hard because such preprocessor directives can essentially edit the underlying language in arbitrary ways. However, because such directives are not, in practice, used in completely arbitrary ways, one can build practical tools for handling preprocessed languages. The DMS Software Reengineering Toolkit is capable of handling structured macros and preprocessor conditionals.
Monday, April 28, 2008
Transcode
Posted by DOKUTAKE at 4:40 am
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment