검색결과 리스트
글
H.264/AVC intro
●H.264 란
H.264란 압축방식의 규격 이름입니다. (통칭적으로는 CODEC) MPEG(Moving Picture Experts Groups) 에서 영상 표준 압축방식을 개발했는데요 이것과 따로 ITU-T Video Coding Experts Group 에서 H.263이라는 표준 방식을 사용하고 있었어요. 근데 따로 만들다가 둘이 눈맞아서 JVT(Joint Video Team) 이라는 그룹을 형성 하여 H.264로 통일한거에요. 그래서 MPEG 에서는 MPEG4-AVC(Advanced Video Coding)으로 불리고 ITU 에서는 H.264라고 불리기 때문에 H.264/AVC로 부른답니다.
●H.264의 장단점
화질이 극찬받을만큼 좋은것은 아니지만... 그래도 저번보다는 좋겠지요
장점 : 화질 개선 알고리즘(MPEG과 같이 lossy compression방식은 화질개선 알고리즘이나 복구 알구리즘이 화질에 상당한 영향을 미침), 뛰어난 compression rate
단점 : computation complexity 가 높다 ㅠ(느려느려.... 그래서 이걸 빠르게 하기위해서 시스템 관점으로 보는게 필요한거)
●H.264 압축방식의 포인트는 Entropy coding 을 하기에 용이한 format 으로 만드는 것입니다.
다음 그림이 매우매우 중요함!
위에 그림을 보면 흐미......
Encoder 가 크고 Decoder 은 사실 Encoder 의 한 부분인것을 알 수 있다.
대략적인 과정은 다음과 같다
1. Inter-prediction(Motion Estimation, 서로 다른 프레임 간) 을 해본다 : Motion Vector가 생김
2. Intra-prediction(같은 프레임 안에서) 을 해본다 : Prediction Mode가 생김
3. 두개중 어느것이 나은지 비교해본다 (두개의 residual 을 비교해 본다 : ( <원본 - Motion compensation> vs <원본 - Intra prediction으로 생긴> )
4. 나은거 중에서 선택을하여 Transform, Quatizer, Reorder을 해준다
5. Entropy coding 을 한다.(압축을 한다)
사실 1부터 4까지의 과정은 압축하기 용이한 형태로 만들어주는 과정이라고 할 수 있다.
1) Prediction : 원본 파일과 prediction 을 한 파일의 차이값만 전송한다 : 숫자가 작아진다. 사실 그거보다 더 중요한것은 high frequency info가 줄어든다. 왜냐하면 residual이 생긴걸 보면 삐쭊뺴쭊이 아니라 밋밋한 정보거든
2) Transform : 이 밋밋한 정보를 가지고 transform을 하면 당연히 정보들이 한쪽으로(low frequency) 모이겠지 그러면 0이 모여서 압축하기 좋은 형태가 된다나
3) Quantizer : 애매한 값들을 ROUND 시키는거 (이건 잘 모르겠음 추후에 더 추가)
4)Reorder : low frequency 쪽으로 모인 정보들을 더 모아주는 과정, 0이 연속되어 있으면 압축이 잘되기 때문에 2D 에서 완전히 low frequency => high frequency 순서로 정보를 모아준다.
이 네 과정을 통해서 압축하기 좋게 만들어 주는 것이다.
사실 이 하나하나가 만만치 않은 과정이다. 그러나 대충보면 이러하다는 것이다
'Learning stuff' 카테고리의 다른 글
H.264/AVC Prediction_2 (0) | 2013.02.15 |
---|---|
H.264/AVC Prediction_1 (0) | 2013.02.15 |
Verilog Vector and Arrays (0) | 2013.02.13 |
verilog inout (2) | 2013.01.30 |
SRAM timing diagram (0) | 2013.01.30 |