Вот что надо на кристалле реализовывать!

Вопросы разработки систем на кристалле (SoC), ASIC, FPGA

Вот что надо на кристалле реализовывать!

Сообщение ivan0123 » 23 дек 2008, 02:19

New technologies: video compression
Video codecs

A raw digital video signal takes enormous amount of room. It is not practical to transmit or store digital video in its original form because pictures contain too much data. A reasonable solution is to compress video before transmission or storage, and to decompress it when needed. Since a video signal contains natural redundancy like static areas, repeating patterns, regions of similar texture and cyclic motion, such an approach can be quite effective.

The task of compression is handled by encoder – this is a device that analyzes the incoming video sequence, finds redundancies and produces a stream of binary codes, which describes the sequence according to some mathematical video coding model. When decompressed video is required, decoder takes these binary codes and reconstructs the sequence according to the same model. The pair encoder-decoder is commonly called CODEC, which is an abbreviation of coder-decoder.

Depending on the complexity of the model utilized, encoder can use fewer codes to describe the original sequence, and thus provide a higher level of compression. However, a complex model needs more computational power both for encoder to fit the original sequence to the model, and for decoder to reconstruct video. Since a human eye is not capable of catching every aspect of a visual signal, the encoder algorithm may decide not to code some details of the original sequence based on some psychovisual model.

A sequence reconstructed by decoder will not perfectly match the original sequence, but either the difference will be visually indistinguishable, or the decoded stream will contain small artifacts, which are acceptable. Sometimes the decoded stream can contain annoying artifacts, but they can be accepted, too, taking into account constraints of the transmission channel or storage media. With a lower video quality encoder produces a higher compression level, and decoder has less bits to decode, and thus consumes less resources.

Fitting a video coding model by encoder is a sophisticated optimization problem. An accurate solution for this problem is not always feasible in a reasonable amount of time, and encoder uses suboptimal or heuristic algorithms to fit the model. The more accurate algorithms used, the higher visual quality of the reconstructed sequence at the same compression level is possible. As a result, there is always a trade off between computational power, compression level and video quality.

As far as computer systems evolve, the more complex models come into use for video compression. The Motion Picture Expert Group (MPEG) is working to generate the specifications for audiovisual coding under International Organization for Standardization (ISO) and International Electrotechnical Commission (IEC). What is commonly referred to as “MPEG video” consists of MPEG-1, MPEG-2, and MPEG-4 standards, which were developed during the past 10 years in response to growing industry demand for video and audio compression and rapidly increasing computing power of electronic devices. H.264/AVC is the latest ratified video coding standard. It emerged as the result of joint development of International Telecommunication Union Video Coding Experts Group (ITU VCEG) and MPEG ISO. This standard is known as H.264 (ITU-T name), or MPEG-4 part 10 (ISO/IEC 14496-10), or MPEG-4 Advanced Video Coding (AVC).

When judging the quality of a CODEC, one must examine the engineering and algorithms used to expand upon the video CODEC standards. Efficient engineering and powerful algorithms result in a CODEC that provides excellent video quality at a relatively low bit rate.

MPEG-4 Part 10 Advanced Video Coding

H.264 represents a revolutionary advance in video compression technology. It is now confirmed as the clear winner over the relatively new MPEG-4 Part 2 (SP, ASP) standard, as well as promising performance advantages over today's leading proprietary codecs.

Its significant advance in coding efficiency (e.g. good video quality at bitrates below 2 Mbps) makes it an enabling technology for a wide range of new applications, such as streaming mobile TV, HDTV over IP, extended PVR and storage options for the home user. This international standard has risen in importance with its recent adoption by the 3G, the DVD Forum, and DVB, joining MPEG-2 as one of the world's most common digital video formats.

The efficiency gains provided by H.264/AVC enable new business models by allowing operators to offer video services in environments where they previously were not possible, or by packing more video channels into scarce and expensive transmission bandwidth. These technologies are very likely to be adopted in traditional entertainment video applications (DVD, satellite TV, digital terrestrial TV, VOD, cable TV, video over xDSL) and video delivery applications, such as streaming video, wireless and digital cinema.

Extremely low licensing fees from the MPEG-LA licensing body will also ensure a fast market take-up of this new standard.

The H.264 standard provides advanced coding techniques within similar scheme as used by previous MPEG standards. Higher efficiency and quality are enabled by new tools, which include:

Motion estimation provides for the searching of sub-macro blocks of variable size, from 16x16 down to 4x4 blocks. Motion vectors allow up to quarter pixel accuracy for luminance, and up to 1/8th pixel for chrominance.

H.264 carries out intra-prediction for intra coded blocks before the transform, performed on either 4x4 or 16x16 blocks and allowing up to 9 directional modes for direction dependent prediction. Residual data transforms are executed on 4x4 blocks with modified integer discrete cosine transform (DCT) which avoids rounding errors. The employment of an adaptive in-loop filter increases subjective quality of video.

The standard provides two alternative and more efficient processes of entropy coding. Context-adaptive variable length coding (CAVLC) utilizes multiple variable length codeword tables for transform coefficient encoding considering spatial neighborhood of the coded block. Context-adaptive binary arithmetic coding (CABAC) in addition provides highly efficient automatic adjustment for underlying probability model of encoded data.
Аватара пользователя
Сообщения: 4
Зарегистрирован: 10 ноя 2008, 23:08

Re: Вот что надо на кристалле реализовывать!

Сообщение Соратник слонопотама » 23 дек 2008, 08:55

Да таких штук уже целый вагон и большая тележка в качестве прицепа. Для примера, реализации H.264/AVC есть как в виде ASSP (Samsung, NXP, Broadcom, ST Microelectronics и т.д.), так и в виде лицензируемых или свободных IP-ядер (например, здесь). Кроме того, кодирование/декодирование видео делают и программно на DSP (те же кодер и декодер H.264/AVC от Texas Instruments)

А вот как выглядит типичная современная система на кристалле для медиа-приложений - как раз с теми кодеками
Аватара пользователя
Соратник слонопотама
Сообщения: 250
Зарегистрирован: 16 апр 2008, 13:18

Re: Вот что надо на кристалле реализовывать!

Сообщение serg_vhdl » 18 ноя 2010, 16:47

Есть вопрос:
А кто это будет покупать?
Если есть заказчик можно попробовать.
Сообщения: 14
Зарегистрирован: 18 ноя 2010, 15:56

Re: Вот что надо на кристалле реализовывать!

Сообщение Интегральный вычислитель » 18 ноя 2010, 20:39

Можете продаться этим ребятам: http://www.vsofts.com, у них как раз есть офис в Петербурге.
I Have Seen The Truth And It Doesn't Make Any Sense
Аватара пользователя
Интегральный вычислитель
Сообщения: 561
Зарегистрирован: 02 апр 2008, 16:04
Откуда: из Леса

Вернуться в Системы на кристалле

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0