검색결과 리스트
글
H.264/AVC Prediction_1
Prediction을 소개하는 한 글을 보면 이런 부분이 나온다.
The reason for the widespread adoption of H.264/AVC is its compression performance and that peformance gain compared with previous version is mainly due to H.264/AVC's efficient prediction methods.
그렇다. Prediction은 중요한거시였다. 나중에 보면 알겠지만 얘들 할수있는 것들은 모조리 다 prediction 하려고 한다. 심지어 motion vector나 intra-prediction mode도 prediction으로 데이터를 줄이려고 한다. 독한놈들이다. 여튼 그래서 Prediction.
1. Intra-prediction : using data within the current frame.
2. Inter-prediction : using data which come from the previously coded frames.
두 종류에 대한것들이다
●Macro block 이란
◆16*16-pixel 의 region of the frame. Basic unit for motion compensated prediction(MPEG-1,-2,-3,-4, H.261, H.263, H.264)
◆거의 4:2:0 format 이다. 즉 256(16*16) luminance sample 들이 네개의 8*8 sample block에 있고 각각 64개의 red chrominance samples, blue chrominance samples 들이 한 8*8 sample block 에 있다.
◆3개의 macro block : I macro block, P macro block, B macro block.
◆ I macro block : predicted using intra-prediction from neighbouring samples in the current frame.
◆ P macro block : predicted from neighbouring samples in a previously-coded frame.
◆ B macro block : predicted from samples in one or two previously-coded frames.
●Intra prediction 이란
◆block 안이나 해당 block 과 인접한 block 들과의 correlation 이 높다는 점을 이용함
◆block size : 16*16, 8*8 , 4*4
◆당연히 block size가 작으면 more accurate, less residual data, more required bit for choice of prediction 크면 less accurate, more residual data, less required bit for choice of prediction
상황에 따라서 적절히 씀...예시는 다음과 같음
◆ 총 9개의 예측 모드가 있고 그것들은 다음과 같음
※참고로 많이 쓰는 mode 일수록 작은 숫자의 mode로 할당하였다고 함. 그래.
◆ 예를 들어 예측모드 4 같은 경우에는 다음과 같이 됨
◆ 중요한건 아니지만 부호화가 안된화소..... 설명하기 귀찮다 그림으로 대체
◆ 여기까지가 block 내에서의 prediction 이다. 그리고 block 끼리 prediction mode도 prediction 한다.
◆ current block 의 prediction mode 가 이웃한 블록의 prediction mode 와 high correlation을 가진다는 점을 이용하였다. 다음 그림과 같이.....
◆부호화의 순서는 다음과 같고 그 이유는 따라가다 보면 알게 되어있다. 예를들어 3을 prediction 하려면 2와 1이 필요하고 2와 1을 prediction하려면 1이 필요하기 때문에 저런식으로 한다.
◆예측모드 flag(pre_intra_pred_mode)가 1이면 예측한 값이 맞다는 의미라서 그냥 쓰고 0이면 예측한값이 실제값과 틀렸다는것을 의미하며 실제 값(9가지 mode중 예측한 1가지 값을 뺀 8가지 값)을 나타내는 예측모드 flag(rem_intra_pred_mode)를 전송하여 준다.
'Learning stuff' 카테고리의 다른 글
H.264/AVC Prediction_3 (0) | 2013.02.15 |
---|---|
H.264/AVC Prediction_2 (0) | 2013.02.15 |
H.264/AVC intro (2) | 2013.02.14 |
Verilog Vector and Arrays (0) | 2013.02.13 |
verilog inout (2) | 2013.01.30 |