Monday, April 15, 2013

H.264, Direct x acceleration lossess


h.264
http://www.h263l.com/
http://www.c21video.com/videoconferencing.html
http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC
http://www.hhi.fraunhofer.de/de/kompetenzfelder/image-processing/research-groups/image-video-coding/h264mpeg4-avc.html
http://www.hhi.fraunhofer.de/de/kompetenzfelder/image-processing/research-groups/image-video-coding/svc-extension-of-h264avc.html
http://www.eetimes.com/design/signal-processing-dsp/4017613/Tutorial-The-H-264-Scalable-Video-Codec-SVC-

http://en.wikipedia.org/wiki/Scalable_Video_Coding
http://www.agoralabs.com/video-codec/h261-codec.htm





First let’s try to understand how display technology has evolved in Microsoft technology.

User32:- This provides the windows look and feel for buttons and textboxes and other UI elements. User32 lacked drawing capabilities.

GDI (Graphics device interface):- Microsoft introduced GDI to provide drawing capabilities. GDI not only provided drawing capabilities but also provided a high level of abstraction on the hardware display. In other words it encapsulates all complexities of hardware in the GDI API.

GDI+:- GDI+ was introduced which basically extends GDI and provides extra functionalities like jpg and PNG support, gradient shading and anti-aliasing. The biggest issue with GDI API was it did not use hardware acceleration and did not have animation and 3D support.

Note: - Hardware acceleration is a process in which we use hardware to perform some functions rather than performing those functions using the software which is running in the CPU.
 
DirectX :- One of the biggest issues with GDI and its extension GDI+ was hardware acceleration and animation support. This came as a biggest disadvantage for game developers. To answer and server game developers Microsoft developed DirectX. DirectX exploited hardware acceleration, had support for 3D, full color graphics , media streaming facility and lot more. This API no matured when it comes to gaming industry.

WPF :- Microsoft almost had 3 to 4 API's for display technologies , so why a need for one more display technology. DirectX had this excellent feature of using hardware acceleration. Microsoft wanted to develop UI elements like textboxes,button,grids etc using the DirectX technology by which they can exploit the hardware acceleration feature. As WPF stands on the top of directX you can not only build simple UI elements but also go one step further and develop special UI elements like Grid, FlowDocument, and Ellipse. Oh yes you can go one more step further and build animations.WPF is not meant for game development. DirectX still will lead in that scenario. In case you are looking for light animation ( not game programming ) WPF will be a choice. You can also express WPF using XML which is also called as XAML.In other words WPF is a wrapper which is built over DirectX. So let’s define WPF.
 
WPF is a collection of classes that simplify building dynamic user interfaces. Those classes include a new set of controls, some of which mimic old UI elements (such as Label, TextBox, Button), and some that are new (such as Grid, FlowDocument and Ellipse).
 

Using H.264/AVC DirectX* Video Acceleration with the Intel® G45/GM45 Express Chipsets

Categories: 

Introduction


The Intel® G45/GM45 Express Chipsets includes the next-generation Intel® Graphics Media Accelerator X4500HD with built-in support for full 1080p high definition video playback, including Blu-ray* movies. The powerful video engine provides users with smooth playback without the need for add-in cards or decoders. Acceleration is provided via the Microsoft DirectX* Video Acceleration API.

Microsoft DirectX* Video Acceleration (DXVA) is an application programming interface for speeding up the decode process of video content by using the capabilities of the graphics hardware. Software codec's and applications can use DXVA to offload certain intensive operations which frees the CPU to do additional work.

This whitepaper discusses the implementation guidelines for the decoding of H.264/AVC video using DXVA on the Intel® G45/GM45 Express Chipsets. The information is intended to be used in conjunction with the DirectX Video Acceleration Specification for H.264/AVC Decoding, available from the Microsoft Corporation. The content in this paper was developed with close coordination of the authors of Media Player Classic Home Cinema*http://mpc-hc.sourceforge.net/. All of the reference code is available for download in the SourceForge repository.

Download Entire Article


Download Using H.264/AVC DirectX* Video Acceleration with the Intel® G45/GM45 Express Chipsets [PDF 2.1MB]














lossy and lossless coding

http://books.google.co.in/books?hl=en&lr=&id=IxrjpbNH2XAC&oi=fnd&pg=PR13&dq=lossy+coding+techniques&ots=fcVq9aF9_S&sig=NnCqozovtoZYUMD_DP5dUpzT_Ns#v=onepage&q=lossy%20coding%20techniques&f=false

http://faculty.kfupm.edu.sa/ics/garout/Teaching/ICS202/Lecture39.ppt

Lossless compression techniques

Lossless compression methods may be categorized according to the type of data they are designed to compress. Some main types of targets for compression algorithms are text, executables, images, and sound. Whilst, in principle, any general-purpose lossless compression algorithm (general-purpose means that they can handle all binary input) can be used on any type of data, many are unable to achieve significant compression on data that is not of the form that they are designed to deal with. Sound data, for instance, cannot be compressed well with conventional text compression algorithms.

Most lossless compression programs use two different kinds of algorithms: one which generates a statistical model for the input data, and another which maps the input data to bit strings using this model in such a way that "probable" (e.g. frequently encountered) data will produce shorter output than "improbable" data. Often, only the former algorithm is named, while the second is implied (through common use, standardization etc.) or unspecified.

Statistical modelling algorithms for text (or text-like binary data such as executables) include:

  • Burrows-Wheeler transform (BWT; block sorting preprocessing that makes compression more efficient)
  • LZ77 (used by Deflate)
  • LZW
  • PPM
Encoding algorithms to produce bit sequences are:
  • Huffman coding (also used by Deflate)
  • Arithmetic coding 

No comments:

Post a Comment