Font Size: a A A

H.264/avc Based Video Encoder Design And Optimization

Posted on:2008-06-15Degree:MasterType:Thesis
Country:ChinaCandidate:C J MuFull Text:PDF
GTID:2198360242456809Subject:Circuits and Systems
Abstract/Summary:PDF Full Text Request
H.264/AVC(also named as MPEG-4 PART 10), which is jointly proposed by ITU-T VCEG(Video Coding Experts Group) and ISO/IEC MPEG(Moving Picture Experts Group), is a video coding standard for next generation. As hotspot and important part of multimedia communication, H.264 standard pays attention to not only video coding layer but also network transportation layer, instead of neglecting the latter one. So it is appropriate for stream media transportation and has excellent compression efficiency. H.264 is now widely used in consumer electronics markets such as digital TV broadcast, video real-time communication, intemet video stream media and portable media player etc.Compared with former video compression standards (such as: H.261 H.263 MPEG-1 MPEG-2), H.264 has a number of new features and improvements. It can provide better coding performance. But, the sacrifice of the performance improvement is introduction of more complicated coding algorithm. With the increase of coding computation, H.264 codec becomes so slower that it is not appropriate for real-time application. So, there are more and more researches focusing on speeding up codec. Using MMX/SSE/SSE2 technology, we can speedup software codec by 2-3 times. Nowadays, with the development of semiconductor and computer technology, there are CPUs with HTT technology or even multi-core CPUs. So we can take advantage of thread-level parallelism of these CPUs to further speedup our H.264 software codec.Our goal, in this paper, is to better introduce a new method of H.264 encoder optimization: parallel encoding method using Hyper-Threading technology. In this paper, we first introduce digital video compression theory and video coding standards. Then, we introduce H.264 video standard and H.264 encoder in detail. After that, we discuss several possible ways of parallel optimization. At last, we introduce frame level parallel and how to implement it,We use OpenMP standard API to optimize our source code of software H.264 encoder and conduct the performance measurements of multi-threaded encoder on Intel P4 processor, running at 2.4GHz with Hyper-Threading enabled, 512K L2 Cache, 512MB memory, Microsoft 2000 operation system. The performance improvement results are: CPU utilization rate reaches 70% averagely and 92% at most; encode time decreases 25% averagely. In the same way, we can get similar performance improvement on H.264 decoder.In conclusion, by exploiting HTT based threading-level parallelism, there are still a lot of rooms for us to continue improving the performance of H.264 codec.
Keywords/Search Tags:H.264/AVC standard, video encoder, threading-level parallelism, Hyper-Threading Technology, OpenMP
PDF Full Text Request
Related items