반응형
코덱(Codec)
- 데이터 스트림, 신호 인코딩/디코딩 하는 소프트웨어.
- 일반적으로 영상/음성 등 미디어 정보를 압축하는 기술.
- 영상 코덱은 디지털 영상의 압축/압축해제하는 기능의 장치 또는 소프트웨어를 말한다.
- 종류
GOP(Group Of Pictures)
- 여러장의 이미지를 하나로 그룹화해서 압축하는 방식.
- 3종류의 프레임이 있음.
- I-Frame(Intra Frame)
- 하나의 완전한 이미지.
- 다른 프레임 참조 안함.
- 어느 위치에도 올수 있으므로, 키 프레임 탐색 같이 임의 접근 가능(스피드나 Tricky 같은 플레이).
- P-Frame(Prediction Frame)
- 순방향 예측.
- 이전의 I 또는 P 프레임 참조하여 변화가 발생된 부분만 포함.
- B-Frame(Bi-Directionally Frame)
- 양방향 예측.
- 이전의 I과 다음 P프레임 or 이전 P 프레임과 다음 P 프레임 참조하여 변화 발생된 부분만 포함.
- 압축률 가장 높음 화질은 가장 떨어짐.
- GOP 단위는 I 프레임 간격으로 생각하면 될듯.
- 주기적으로 I-frame 을 만드는 이유는 프레임 한개가 날라가거나 문제가 생기면 계속 다음 프레임도 문제 생겨서 라고 생각하면 됌.
비트레이트(Bitrate)
- 초당 전송하는 비트의 수.
- 비트 퍼 세컨드라 읽음 (bps).
- 비트레이트가 높다고 화질이 좋은건 아님.
- 필요한 비트를 충족하면 용량만 커짐.
- 전송 방식은 CBR, VBR, ABR 로 나눠짐.
- CBR 은 고정 비트레이트.
- 일정한 비트로 전송, 예측이 정확하지만 비효율적일수 있음.
- VBR 은 가변 비트레이트.
- 필요에 따라 변화함, 예측이 되지 않고 너무 커질수도 있음.
- ABR 은 평균 비트레이트.
- 가변 비트레이트와 마찬가지로 계속 변화함.
프로파일(Profile)
- 사용하는 곳에 따라 특정 기술(?)을 사용할 수 있도록 미리 설정해둔 것.
- 어디다가 쓸건지에 따라 미리 정해둔 약속 같은거.
- 모바일, 저전력, 저해상도에는 베이스 라인(66번).
- 압축률을 높이기 위해서는 메인(77).
- 스트리밍 환경에 적합한 기술에는 확장(88번).
- BaseLine과 Main 차이점 중 하나는 양방향 예측(B프레임)의 사용 여부.
프로파일 번호 | 프로파일 이름 | 주요 특징 | |
66 | Baseline | 저전력, 저해상도, 낮은 딜레이를 가짐. CAVLC만 사용, B픽처 사용하지 않음 | |
66 | Constrained Baseline | Baseline과 Main프로파일의 교집합이 되는 기술만 사용 | |
77 | Main | 산술부호화 및 B픽처 사용으로 효율을 높임 | |
88 | Extended | 스트리밍을 위한 기술 및 오류 내성기술 사용 | |
100 | High | 8x8 DCT 사용,8x8 화면내 예측 사용 | |
FRExT | 110 | High 10 | High 프로파일 + 10bit/pixel인 영상 지원 |
110 | High 10 Intra | High10 프로파일에서 화면 내 예측 기술만 사용 | |
122 | High 4:2:2 | High10 프로파일 + 4:2:2 컬러 포맷 지원 | |
122 | High 4:2:2 Intra | High 4:2:2에서 화면 내 예측 기술만 사용 | |
244 | High 4:4:4 Predictive | 최대 14bit/pixel 지원, 4:4:4 컬러 포맷 지원 | |
244 | High 4:4:4 Intra | High 4:4:4 Predictive에서 화면 내 예측 기술만 지원 | |
44 | CAVLC 4:4:4 Intra | High 4:4:4 Intra에서 CAVLC로 사용(CABAC사용하지 않음) |
레벨(Level)
- 각 프로파일은 레벨이 정해져 있음. 영상 재생시 어느정도 자원이 필요한지 정해놓은 것.
- 비트율, 프레임율, 화면해상도 등을 정의.
- 서비스 할때 가장 낮은 레벨이 무엇인지 확인해야 한다.
- 자원이 한정되어 있는 환경에서 원할한 재생을 위해 지원하는 자원의 값을 알고 인코딩해야됌.
- 레벨을 결정하는 요소는 보통 DPB(Decoded Picture Buffer)에 의해 결정.
- DPB는 인코딩/디코딩시 참조 프레임을 저장해두는 공간(?).
- H.264/AVC 표준에서는 DPB의 크기를 매크로 블록의 개수로 나타냄(아래 표).
- 해상도 w h 값으로 매크로 블록(16 x 16) x 레벨 Dpb 를 나누면 참조 프레임 수가 나옴.
- 이때 해상도 w x h 계산할 때, 16배수에 근접한 수를 곱해야 됨. 그래서 1080 → 1088 로 계산함.
참고
반응형
'Media' 카테고리의 다른 글
[Media] # MP4 파일을 Fragmented MP4로 변환 (0) | 2017.10.22 |
---|