H.264/AVC Prediction_2

Learning stuff 2013. 2. 15. 14:47

Inter-prediction

Inter-prediction is the process of predicting a block of luma and chroma samples from a picture that has previously been coded and transmitted, reference pictures.

Previously coded picture 들은 그럼 어디에 있느냐 Decoded Picture Buffer 에 있다. 그러므로 먼져 frame의 종류와 구조부터 봐야할것 같음

Frame 의 종류 : I-frame, P-frame, B-frame

◆ I-frame : Intra-frame 은 다른 이미지를 참조하지 않고, 독립적으로 해독이 가능한 독립형 프레임이다. 항상 처음 프레임은 I-frame 이 어야하고, 아마 우리가 되감기나 빨리감기할때 돌아가는 단위가 있자나..... 난 분명 45초부터 보고 싶은데 42초에서 50초 사이에는 42초 부터 밖에 실행이 안되는거.... 경험이 있을거라고 생각하다. 어쨌든 이런거나 전송된 비트스트림이 손상되었을 경우 재동기화 지점, 새로운 클라이언트가 스트리밍 시청에 참여하였을때 등등 시작점의 기능으로서 사용된다.

◆ P-frame : Predictive-frame 은 이전의 I-frame 이나 P-frame을 참조하여 부호화 하는 프레임이다.

◆ B-frame : Bi-Predictive Inter-frame은 이전의 참조프레임이나 이후의 참조프레임 2개를 모두 참조해서 부호화하는 프레임이다.

H.264 Overview 는 다음과 같다. 아... 물론 여기서는 Decoding 쪽에 초점을 두어서 ㅎㅎ

● inter-prediction 을 decoding 할때! Decoding order와 실제 Display order 가 다르다는 것이다.

◆ Decoding order : The order in which a video decoder should process the coded picture (frame_num)

◆ Display order : The order in which a video is displayed. Determined by Top_Field_Order_Count , Bottom_Field_Order_Count. (Top_Field_Order_Count + Bottom_Field_Order_Count = Picture_Order_Count)

◆Display order 에 따라서 다음과 같이 나뉘고 그에 따른 표 (Type 3 생략)

 

 

 

◆ Prediction 대상 frame 은 B 냐 P 냐에 따라서 Previously decoded picture 을 참조하게 되는데 이 참조되는 picture 들은 그 전에 list0 과 list1 로 미리 분류되어 저장되어 있다. P는 list 0 을 B 는 list0 과 list1 의 데이터를 모두 참조한다. list0 과 list1 이 나뉘어지는 기준은 다음과 같이 되어있긴한데 솔직히 먼말인지 몰갓음...... ㅠ

- List 0 defaults to prediction from the most recent 'past' picture in display order

- List 1 defaults to prediction from the nearest future picture in display order

 

 

 

'Learning stuff' 카테고리의 다른 글

Flash Memory 쪽의 기본  (0) 2013.02.23
H.264/AVC Prediction_3  (0) 2013.02.15
H.264/AVC Prediction_1  (0) 2013.02.15
H.264/AVC intro  (2) 2013.02.14
Verilog Vector and Arrays  (0) 2013.02.13