본문 바로가기

Media

[Meida] #미디어 용어(코덱 / GOP / 비트레이트 / 프로파일 / 레벨)

반응형


코덱(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프레임)의 사용 여부.
프로파일 번호프로파일 이름주요 특징
66Baseline저전력, 저해상도, 낮은 딜레이를 가짐. CAVLC만 사용, B픽처 사용하지 않음
66Constrained BaselineBaseline과 Main프로파일의 교집합이 되는 기술만 사용
77Main산술부호화 및 B픽처 사용으로 효율을 높임
88Extended스트리밍을 위한 기술 및 오류 내성기술 사용
100High8x8 DCT 사용,8x8 화면내 예측 사용
FRExT110High 10High 프로파일 + 10bit/pixel인 영상 지원
110High 10 IntraHigh10 프로파일에서 화면 내 예측 기술만 사용
122High 4:2:2High10 프로파일 + 4:2:2 컬러 포맷 지원
122High 4:2:2 IntraHigh 4:2:2에서 화면 내 예측 기술만 사용
244High 4:4:4 Predictive최대 14bit/pixel 지원, 4:4:4 컬러 포맷 지원
244High 4:4:4 IntraHigh 4:4:4 Predictive에서 화면 내 예측 기술만 지원
44CAVLC 4:4:4 IntraHigh 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 로 계산함.


참고

http://gskool.tistory.com/322

https://ko.wikipedia.org/wiki/코덱

반응형

'Media' 카테고리의 다른 글

[Media] # MP4 파일을 Fragmented MP4로 변환  (0) 2017.10.22