동영상 인코딩과 코덱에 대해 더 자세히 알아보겠습니다. 동영상 인코딩은 동영상 데이터를 압축하여 저장 또는 전송하기 위한 과정을 의미하며, 코덱(Codec)은 인코딩과 디코딩을 위한 규칙과 알고리즘을 지칭하며 여기서는 H.264와 HEVC 코덱라는 주요 비디오 코덱에 중점을 두고 차이점 및 기본개념에 대해 이해하는 시간을 가져보도록 하겠습니다.
요즘에는 동영상 촬영 및 업로드가 대중화되어 있으며, 다양한 플랫폼에서 동영상을 공유하고 시청하는 것이 일상화되어 있으나 다양한 동영상 포맷과 코덱으로 인해 동영상 재생 문제가 발생할 수 있으며 이를 해결하기 위해 동영상 인코딩과 코덱에 대해 알아보겠습니다.
참고 : 프리미어 동영상 재생 및 인코딩 오류 통합코덱 설치 및 설정방법
참고 : 동영상 재생 지원되지 않는 비디오코덱 오디오코덱
프리미어 프로 컴파일 오류 내보내기 인코딩 안될때
1. H.264와 HEVC 차이점
특성 | H.264 | HEVC (H.265) |
---|---|---|
압축 효율 | 상대적으로 낮음 | 높음 |
비트레이트 감소 | 50-60% 비트레이트 감소 가능 | 40-50% 비트레이트 감소 가능 |
화질 | 비교적 낮음 | 높음 |
해상도 지원 | 1080p까지 지원 | 4K 및 8K까지 지원 |
프레임 레이트 지원 | 최대 60fps | 최대 300fps |
CPU 부하 | 높음 | 낮음 |
디코딩 성능 | 더 많은 리소스가 필요 | 적은 리소스로 높은 성능 |
스트리밍 효율 | 더 많은 대역폭 필요 | 더 적은 대역폭 필요 |
활용 분야 | 일반적인 영상 및 스트리밍 | UHD TV, 스마트폰, 스트리밍, V |
H.264와 HEVC는 동영상 코덱 중 가장 널리 사용되는 두 가지입니다. H.264는 이전에 많이 사용되었고, HEVC는 더 효율적인 동영상 압축을 가능하게 하는 최신 코덱입니다. 이 두 코덱은 동영상 데이터의 압축과 해제에 사용되는 스펙 기준이며, 실제 알고리즘으로 구현된 것은 각각의 구현 코덱입니다.
2. 인코더와 디코더 차이점
코덱은 인코딩(압축)과 디코딩(압축 해제)을 위한 스펙을 제공하며, 이를 각각의 구현 코덱이 구현합니다.
특성 | 인코더 (Encoder) | 디코더 (Decoder) |
---|---|---|
역할 | 비디오 압축 및 인코딩 | 압축된 비디오 디코딩 및 복원 |
입력 | 비디오 소스 | 압축된 비디오 스트림 |
출력 | 압축된 비디오 스트림 | 해독된 비디오 프레임 |
목적 | 용량 최소화, 전송 및 저장 효율 | 비디오 복원 및 재생 |
동작 방식 | 비디오 프레임을 압축 및 인코딩 | 압축된 데이터를 해독 및 디코딩 |
처리 속도 | 보통 느림, 품질 우선 | 빠름, 실시간 재생 및 전송에 적합 |
주요 기능 | 이미지 압축, 영상 인코딩, 품질 조절 | 압축 해제, 영상 재생, 오류 복구 |
주요 포맷 | H.264, H.265 (HEVC), VP9 등 | 동일한 포맷 및 코덱을 사용 |
품질 조절 | 비트레이트, QP, 프로파일, 프리셋 등 | 비트레이트, 해상도, 디스플레이 모드 등 |
고유 설정 및 옵션 | 인코딩 고유 설정 및 옵션 사용 | 디코딩 고유 설정 및 옵션 사용 |
구현 코덱 중 인코딩에 특화된 것을 인코더(encoder)라고 하고, 디코딩에 특화된 것을 디코더(decoder)라고 하며 인코더는 동영상을 압축하고 디코더는 압축된 동영상을 해제하여 재생 가능한 형식으로 만듭니다.
3. 소프트웨어와 하드웨어 코덱
동영상 인코딩에는 소프트웨어 코덱과 하드웨어 코덱이 있습니다.
특성 | 소프트웨어 코덱 | 하드웨어 코덱 |
---|---|---|
기반 기술 | 소프트웨어 알고리즘 | 전용 비디오 하드웨어 |
성능 | 일반적으로 느림 | 빠르고 고성능 |
전력 효율성 | 상대적으로 낮음 | 뛰어남 |
유연성 | 높음 | 제한적 |
업데이트 및 개선 | 소프트웨어 업데이트로 가능 | 하드웨어 업그레이드 필요 |
비디오 처리 속도 | 느림 | 빠름 |
고해상도 및 품질 처리 | 제한적 | 효율적으로 처리 가능 |
전력 소비 | 상대적으로 높음 | 상대적으로 낮음 |
활용 분야 | 일반적으로 컴퓨터 소프트웨어, 모바일 앱 | 모바일 기기, 스트리밍 장치, 하드웨어 가속 기능이 필요한 환경 |
소프트웨어 코덱은 CPU를 사용하여 연산을 수행하는 방식으로, 화질을 높일 수 있지만 속도가 느릴 수 있습니다.
반면 하드웨어 코덱은 그래픽 카드(GPU)의 전용 하드웨어를 활용하여 빠른 속도로 인코딩하며, 일반적으로 화질 면에서 소프트웨어 코덱에 비해 조금 떨어질 수 있습니다.
4. 비트레이트와 CRF
비트레이트는 동영상 데이터의 압축률을 나타내며, 초당 비트(bit)의 수로 측정됩니다.
고정된 비트수를 가지면 고정 비트레이트(CBR)라고 하고, 시간마다 다른 비트레이트를 가지면 가변 비트레이트(VBR)라고 합니다. 또한, CRF(constant rate factor)는 퀄리티 모드에서 사용되는 값으로, 작을수록 퀄리티가 높아집니다.
5. 양자화
양자화(Quantization)는 동영상 압축 과정에서 중요한 개념 중 하나로, 데이터를 효율적으로 표현하기 위해 데이터 값을 근사화하거나 정확도를 줄이는 과정입니다.
특성 | 낮은 QP 값 | 높은 QP 값 |
---|---|---|
압축률 | 높음 | 낮음 |
비트레이트 | 낮음 | 높음 |
화질 | 좋음 | 낮음 |
파일 크기 | 작음 | 큼 |
압축 방식 | 강력한 압축 | 약한 압축 |
디코딩 속도 | 빠름 | 느림 |
화면 품질 손실 | 낮음 | 높음 |
디코딩과 재생 요구 사항 | 높은 성능 하드웨어 필요 | 낮은 성능 하드웨어 충분 |
이과정에서 미세한 세부 정보를 버리고, 원래 데이터의 표현을 단순화하여 비트 수를 줄입니다.
양자화는 비트레이트를 낮추고 동영상 파일 크기를 줄이는데 기여하며, 동시에 압축된 데이터의 품질을 조절하며 이 때 퀀타이저(quantizer) 또는 QP(quantization parameter)로 표현되며, 퀀타이저가 작을수록 화질이 높습니다.
6. 프레임 레이트와 인터레이스
특성 | 프레임 레이트(Frame Rate) | 인터레이스(Interlace) |
---|---|---|
정의 | 초당 프레임 수를 나타냄 | 비디오 프레임을 두 개의 필드로 분할하는 방식 |
측정 단위 | 프레임/초 | N/A (분할된 필드로 표현) |
높은 프레임 레이트 장점 | 부드러운 움직임, 고화질 | – |
사용 예시 | 영화 (24fps), TV (30/60fps) | CRT TV, 일부 브로드캐스팅 표준 |
주로 사용되는 방식 | 프로그레시브 스캔 | 인터레이스 |
모니터 및 디스플레이 지원 | 프로그레시브 지원 | 프로그레시브 지원 |
디스플레이 화질 손실 | 없음 | 존재 (높은 화질 요구) |
현대적인 표준 | 60fps 이상 | 더 이상 사용되지 않음 |
프레임 레이트는 초당 프레임(사진) 수를 나타내며, 고정 프레임 레이트(CFR)와 가변 프레임 레이트(VFR)로 나눌 수 있습니다.
- 프레임 레이트(Frame Rate)
- 프레임 레이트는 비디오에서 초당 프레임(이미지)의 수를 나타내는 측정 단위입니다.
- 일반적으로 프레임 레이트는 초당 24, 30, 60프레임 등으로 표현됩니다.
- 높은 프레임 레이트는 동영상이 더 부드럽게 보이고 빠르게 움직이는 액션 장면에서 효과적입니다.
- 주로 영화는 24프레임 레이트를 사용하며, 텔레비전은 30 또는 60프레임 레이트를 사용합니다.
- 더 높은 프레임 레이트는 더 높은 데이터 전송률과 더 높은 처리 능력을 필요로 하므로, 플랫폼과 디스플레이 장치의 성능을 고려해야 합니다.
- 인터레이스(Interlace)
- 인터레이스는 비디오 프레임을 표시할 때 프레임을 두 개의 필드로 분할하는 방법입니다.
- 각 필드는 화면의 절반을 차지하고, 홀수 번째 필드와 짝수 번째 필드로 나뉩니다.
- 이러한 필드는 서로 번갈아가며 표시되어, 더 높은 프레임 레이트처럼 보이지만 실제로는 반 프레임 레이트를 사용합니다.
- 인터레이스 방식은 예전 CRT TV와 모니터에서 주로 사용되었으며, 여전히 일부 브로드캐스팅 표준에서 사용됩니다.
- 현대의 고화질 디스플레이와 프로그레시브 스캔 방식이 흔하게 사용되면서 인터레이스 방식의 사용이 감소하고 있습니다.
- 프로그레시브(Progressive)
- 프로그레시브 스캔은 인터레이스와 대조되는 방식으로, 비디오를 프레임 단위로 표시합니다.
- 각 프레임은 전체 화면을 표시하며, 필드 간 번갈아가는 효과가 없습니다.
- 대부분의 모던 TV, 모니터 및 디스플레이는 프로그레시브 스캔을 사용하며, 높은 화질과 시각적 명료성을 제공합니다.
- 일반적으로 “P”로 표시되며, 예를 들어 1080p는 1920×1080 해상도의 프로그레시브 비디오를 나타냅니다.
인터레이스는 프레임을 필드로 나누는 방식으로, 현재에는 주로 프로그레시브 방식이 사용됩니다.
7. I, P, B 프레임과 GOP
특성 | I 프레임 (Intra-coded frame) | P 프레임 (Predictive-coded frame) | B 프레임 (Bipredictive-coded frame) | GOP (Group of Pictures) |
---|---|---|---|---|
정의 | 독립적인 프레임, 참조 없음 | 선행 프레임들을 참조하여 인코딩 | 앞뒤 프레임들을 참조하여 인코딩 | I 프레임을 중심으로 묶음 |
참조 프레임 | 이전 및 다음 프레임 | 이전 프레임 | 이전 및 다음 프레임 | 다음 I 프레임까지의 프레임 |
압축률 | 낮음 | 중간 | 높음 | 다양 (설정에 따라 다름) |
화질 | 높음 | 중간 | 낮음 | 다양 (설정 및 비트레이트에 따라 다름) |
인코딩 속도 | 느림 | 중간 | 빠름 | 다양 (설정 및 하드웨어 가속에 따라 다름) |
파일 크기 | 큼 | 중간 | 작음 | 다양 (비트레이트와 GOP 크기에 따라 다름) |
예시 | 화면 변화가 큰 장면 또는 새로운 장면 | 화면 변화가 있는 장면 | 화면 변화가 적은 장면 또는 정지 화면 | 비디오 전체 시퀀스 내에서 I 프레임 |
I, P, B 프레임은 동영상의 프레임 종류를 나타내며, GOP(group of pictures)은 프레임의 묶음을 나타냅니다. I 프레임은 독립적인 프레임이고, P 프레임과 B 프레임은 선행 프레임을 참조하여 압축됩니다.
8. 프로파일, 레벨, 프리셋, 튠
프로파일 (Profile)
프로파일은 비디오 인코딩 시 사용되는 압축 표준의 설정 모음으로서 각 프로파일은 특정 압축 기능과 효율을 지정하며, 비디오의 품질과 압축률에 영향을 미칩니다.
일반적으로 다음과 같은 프로파일이 있습니다.
- Baseline Profile: 저용량, 낮은 품질, 모바일 장치 및 저사양 플랫폼용
- Main Profile: 표준 품질 및 압축률, 대부분의 용도에 적합
- High Profile: 고화질 및 높은 압축률, 고급 비디오 편집 및 스트리밍에 적합
이때 선택한 프로파일은 인코딩 시 비디오 품질과 파일 크기에 영향을 미치며, 재생기기의 호환성을 고려해야 합니다.
레벨 (Level)
레벨은 비디오 인코딩의 특정 기술적 제한을 정의하며 레벨은 해상도, 프레임 레이트, 최대 비트레이트 등과 같은 비디오 속성의 제한을 설정합니다.
예를 들어, H.264의 레벨은 3.1, 4.0, 4.1 등이 있으며, 이러한 레벨은 비디오의 대역폭 제한을 나타낼 수 있으며 선택한 레벨은 재생기기의 지원 및 대역폭을 고려해야 하며, 레벨을 초과하는 속성은 제한됩니다.
프리셋 (Preset)
프리셋은 비디오 인코딩 설정의 미리 정의된 집합으로, 사용자가 특정 작업에 맞게 선택할 수 있으며 각 프리셋은 압축률과 품질 간의 균형을 조정하며, 높은 품질의 설정에서는 더 많은 시간이 소요됩니다.
예를 들어, “빠른” 프리셋은 빠른 인코딩을 제공하며, “고화질” 프리셋은 최상의 비디오 품질을 제공되며 프리셋은 사용자가 특정 작업을 간편하게 설정할 수 있도록 도와줍니다.
튠 (Tune)
튠은 비디오 인코딩의 세부적인 맞춤 설정을 제어하는 옵션으로서 각 튠은 특정한 비디오 특성에 최적화된 설정을 제공합니다.
예를 들어, “film” 튠은 영화 스타일의 비디오에 최적화된 설정을 제공하며, “animation” 튠은 애니메이션 비디오에 맞춤 설정을 제공하며 튠은 비디오의 특성과 목적에 따라 선택될 수 있으며, 특별한 경우에 사용됩니다.
동영상 인코딩과 코덱은 다양한 설정과 옵션을 통해 동영상의 품질과 용량을 조절할 수 있으며, 원하는 목적과 환경에 맞게 설정을 선택해야 합니다. 이러한 이해를 바탕으로 동영상을 효율적으로 인코딩하고 재생할 수 있습니다.
참고 : 미디어인코더 프리미어 에프터이펙트 동영상 저장 인코딩 내보내기