[Reprinted] My H.264 Course History

Source: Internet
Author: User
Author: Son of Heaven

Half a year ago, I knew the term H.264. At that time, I decided to learn H.264, but I didn't even know how to collect the data. In addition, I am the only one in the school to study H. 264. I couldn't find people to communicate with, so it was really difficult and painful to learn at that time, but I was able to get to know a student online. 264 of the comrades really made me very happy.

Later, I found some articles about H.264 on the Internet. Of course, I also found Peter Li's website and the streaming media forum. At that time, I did not understand what others asked in the Forum. I don't know how such materials can be used even if someone else wants such materials. The most interesting thing is that I downloaded all the JVT Conference articles. At that time, I didn't know how to use these hundred megabytes of things. Now I know how to use them, it seems that there is still no white space ~~~.

First, let's look at the standards. Because the standard is in English, it is very long. So in order to avoid having forgotten the previous part after reading it, I began to translate and read a piece of translation. But this process is really boring and painful. In addition, there is no courage or confidence to watch more than 300 pages. If you think about it, forget it. Check the source code. At that time, because we knew that JM was a standard test model, we looked at JM. At first, the code was very honest. Every program and every variable was tracked. You can skip this section after tracking the read parameters and initialization variables. In this way, when the Code cannot be understood, check the standards and go to the streaming media forum to ask. However, the Forum has both advantages and disadvantages. The advantage is that many people can participate in the forum. The disadvantage is that no matter what you ask, you cannot know the answer immediately, therefore, it is a hindrance to your continued reading of the Code. So I went to the QQ group of H.264 and was very happy to find the "H.264 home". But then I was very disappointed. So I got angry and built a group myself, so that I finally had a better communication environment. However, H.264 at that time was just a magnificent palace in my opinion. I still don't understand the questions discussed in the QQ group. In order to get a decent question as a graduation thesis as soon as possible, I did not continue to read h at that time. 264 of the content only took one and a half months to implement a seemingly superficial error hiding algorithm today (because I set my own direction to "error hiding ).

By the time my paper was completed in 264, it was still so strange to H.264. Because I did not continue to read H.264 content during this period of time, the content I have read before is not thorough in understanding and impressed, So I basically forgot it. So at this time, I can say that H.264 is still in the stage of knowing concepts. H.264 is really a huge thing, and for the Chinese, it is so new (I personally think) that large-scale commercial use has not yet begun. If I want to do something valuable before graduation, it seems impossible at the time, so I just had to work hard on my own mistakes, I hope to add some weight to my graduation thesis. In this way, start to read JM code about inter-frame error hiding. Because JM inter-frame error hiding is much more complex than intra-frame error hiding, it involves many related problems. So I should also have some knowledge about these issues during the code reading process. In addition, the frequent discussion in the QQ Group gave me a real start to learn H.264.

After I have hidden the inter-frame error, it is already the end of October. At this time, our school will hold an academic seminar. I decided to add some weight to my graduation and future job search. As a result, I began to prepare the meeting report. by preparing the report, I had to review and familiarize myself with the overall framework of H.264. Now that time has finally come, I am very happy to feel that I have stood at the door of H.264-always making progress. Haha ~~~

Now I have some ideas for learning H.264, so I will discuss it with you: 1. The first stage:

To learn H.264, you must first put the most basic and necessary information in your hands. These materials are all stored in H.264 learning essentials shared by the Group (this is a compressed package I have created, including standard documents, test models, and classic articles. How to Use H.264 learning essentials? First look inside the "H.264_MPEG-4 Part 10 white paper", after reading the "video coding using the H. 264 MPEG-4 AVC compression standard and Halsted. press. h.264.and. MPEG-4. video. compression. video. coding. for. next. generation. multimedia. ebook-lib, And then you can see overview of the H. 264 _ AVC Video Coding standard.pdf. After reading these three articles, you should have a deep understanding of the overall framework of H.264. This time may only take you about two weeks (it may take so long for me to be stupid. If you happen to have used a longer time than this, it doesn't mean you are dumb than me. It only means that you must chat with mm every day. Haha ~~~).

2. Stage 2:

Then you can read the code. At this time, the most commonly used tool is the standard documentation and test model in H.264 learning essentials. The Code is also exquisite. I did not read it as carefully as I did at the beginning, but later I realized that it was far from necessary. As Peter Li said: the code should also start with the overall framework. First understand how the overall framework of H.264 is distributed in the code, what is the frontend module and the successor module of a function module. That is to clarify the entire code process. Standard documents may be rarely used at this stage.

3. Stage 3:

Then you can find a starting point that you are interested in and start to study this issue. When you study the problem, you should contact the test model for research. At this time, you need to carefully check the implementation of this problem in the code. At this stage, I absolutely support tracking with one line of code and one parameter. Standards may need to be checked for what is not understood in the code. Now you can refer to the standard document for targeted purposes. It is also because the standard document can be mapped to the code, so reading the standard document does not feel too difficult, but also can understand what the standard document is about, in the test model, how is Code implemented. In this phase, many H.264 related knowledge will be involved, so that we can take the dot-line and the line-plane. You will know more about H.264. And you have found your own direction and finally embarked on the glorious avenue of H.264, which created the Chinese ~~~

  • =========== [Note] ============

    1. Do not open the code and standard documents independently. Otherwise, your difficulties will be great (of course, it may be because I am too stupid, you may be able to use "beet" in any way. Haha ~~~).
    2. For people who are new to H.264, do not directly look at the code and standards. Even if they combine the standards and code, you will not be able to perform well. In other words, you 'd better not do anything before you know the overall framework of H.264.
    3. You should never feel that it is a waste of time to participate in the discussion and help others find answers (of course, when you think that someone else asks a question that you are familiar. Because you participate in the discussion, especially when you help others find answers, many of your seemingly incorrect questions can gain a deeper understanding.
    4. Learn and learn, that is, to ask and learn. Do not develop your own idea of dependency. In fact, you will also learn a lot during your own data query. For example, you may know which article can find the answer to a question, or collect valuable articles about more related questions ...... In addition, I was more impressed by what others told me.

Okay, it seems that the writing is finished. I feel like I have a lot of feelings before I write it. It seems that I haven't finished writing it here, but I don't know what to say. Haha ~~~

Do you have anything to say to those friends who walk before me? I really want to hear it!
Finally, I would like to thank many online friends for their support during my learning process. Thank you !!!

Editor's note: this digest is from the "e-World H.264 Technology Forum" and is reproduced with the authorization of the son of heaven.

 

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.