문맥 (context)
엔지니어들은 디지털 오디오의 품질을 여전히 유지하면서 디지털 오디오를 효율적으로 처리하기 위해 다양한 기법들을 사용한다. 이들 기법을 이해하기 위해서는, 오디오 정보가 컴퓨터에서 어떻게 표현되고 처리되는지를 이해하는 것이 도움이 된다.
I. 컴퓨터에서의 오디오 정보의 표현
컴퓨터는 오디오 정보를 오디오 정보를 표현하는 일련의 숫자로서 처리한다. 예를 들어, 단일의 숫자는 특정의 시간에서의 진폭값인 오디오 샘플을 표현할 수 있다. 샘플 깊이(sample depth), 샘플링 레이트(sampling rate) 및 채널 모드(channel mode)를 비롯한 몇가지 인자가 오디오 정보의 품질에 영향을 준다.
샘플 깊이(또는 정밀도(precision))는 샘플을 표현하는 데 사용되는 숫자들의 범위를 나타낸다. 샘플에 대해 가능한 값들이 많을수록, 품질이 더 높아지는데, 그 이유는 그 숫자가 더 미묘한 진폭의 변동을 포착할 수 있기 때문이다. 예를 들어, 8-비트 샘플은 256개의 가능한 값을 갖는 반면, 16-비트 샘플은 65,536개의 가능한 값을 갖는다.
샘플링 레이트(보통 초당 샘플의 수로 측정됨)도 품질에 영향을 미친다. 샘플링 레이트가 높을수록, 품질이 더 높은데, 그 이유는 더 많은 소리 주파수가 표현될 수 있기 때문이다. 어떤 통상적인 샘플링 레이트는 8,000, 11,025, 22,050, 32,000, 44,100, 48,000 및 96,000 샘플/초이다.
모노 및 스테레오는 2가지 통상적인 오디오 채널 모드이다. 모노 모드에서, 오디오 정보는 하나의 채널에 존재한다. 스테레오 모드에서, 오디오 정보는 통상 좌채널 및 우채널이라고 하는 2개의 채널에 존재한다. 5.1 채널, 7.1 채널, 또는 9.1 채널 서라운드 사운드("1"은 서브-우퍼 또는 저주파 효과 채널을 가리킴) 등의 더 많은 채널을 갖는 다른 모드들도 가능하다. 표 1은 서로 다른 품질 레벨을 갖는 몇가지 오디오 형식을, 대응하는 원시 비트 레이트 비용(raw bit rate cost)과 함께 나타낸 것이다.
003c#표 1003e# 서로 다른 품질의 오디오 정보에 대한 비트 레이트
서라운드 사운드 오디오는 일반적으로 훨씬 더 높은 원시 비트 레이트를 갖는다. 표 1이 보여주는 바와 같이, 고품질 오디오 정보의 대가는 고 비트 레이트이다. 고품질 오디오 정보는 많은 양의 컴퓨터 저장장치 및 전송 용량을 차지한다. 그렇지만, 회사 및 소비자는 고품질 오디오 컨텐츠를 생성, 배포 및 재생하는 데 점점 더 컴퓨터에 의존한다.
II. 컴퓨터에서의 오디오 정보의 처리
많은 컴퓨터 및 컴퓨터 네트워크는 원시 디지털 오디오를 처리하기에는 자원이 부족하다. 압축(compression)(인코딩 또는 코딩이라고도 함)은 오디오 정보를 더 낮은 비트 레이트 형태로 변환함으로써 그 정보를 저장 및 전송하는 비용을 감소시킨다. 압축은 무손실(lossless)(품질이 나빠지지 않음)이거나 손실(lossy)(품질이 나빠지지만 차후의 무손실 압축으로부터의 비트 레이트 감소가 더 극적임)일 수 있다. 예를 들어, 손실 압축은 원래의 오디오 정보의 근사값을 구하는 데 사용되며, 이 근사값이 이어서 무손실 압축된다. 압축 해제(decompression)(디코딩이라고도 함)는 압축된 형태로부터 원래의 정보의 재구성된 버전을 추출한다.
오디오 압축의 한 목적은 가능한 최소량의 비트로 최대의 지각 신호 품질을 제공하기 위해 오디오 신호를 디지털적으로 표현하는 것이다. 이 목적을 목표로 삼아, 다양한 최근의 오디오 인코딩 시스템은 사람의 지각 모델을 사용한다. 인코더 및 디코더 시스템은 마이크로소프트사의 WMA(Windows Media Audio) 인코더 및 디코더와 WMA Pro 인코더 및 디코더의 어떤 버전들을 포함한다. 다른 시스템들은 MP3(Motion Picture Experts Group, Audio Layer 3) 표준, MPEG2(Motion Picture Experts Group 2), AAC(Advanced Audio Coding) 표준, 및 돌비 AC3의 어떤 버전들에 의해 규정된다. 이러한 시스템들은 일반적으로 손실/무손실 압축/압축해제의 조합을 사용한다.
A. 손실 압축 및 대응하는 압축해제
종래에, 오디오 인코더는 다양한 서로 다른 손실 압축 기법을 사용한다. 이들 손실 압축 기법은 일반적으로 주파수 변환 이후에 지각 모델링/가중 및 양자화를 수반한다. 대응하는 압축해제는 역양자화, 역가중화, 및 역주파수 변환을 수반한다.
주파수 변환 기법은 데이터를 지각적으로 중요한 정보를 지각적으로 중요하지 않은 정보와 분리시키는 것을 더 용이하게 만들어주는 형태로 변환한다. 이어서, 주어진 비트 레이트에 대해 최상의 지각 품질을 제공하기 위해, 덜 중요한 정보가 더 많은 손실 압축을 겪을 수 있는 반면, 더 중요한 정보는 보존된다. 주파수 변환은 일반적으로 오디오 샘플을 수신하고 이들을 주파수 영역의 데이터(때때로, 주파수 계수 또는 스펙트럼 계수라고 함)로 변환한다.
지각 모델링은 주어진 비트 레이트에 대해 재구성된 오디오 신호의 지각 품질을 향상시키기 위해 사람의 청각 시스템의 모델에 따라 오디오 데이터를 처리하는 것을 수반한다. 지각 모델링의 결과를 사용하여, 인코더는 주어진 비트 레이트에 대해 노이즈의 가청도(audibility)를 최소화하기 위해 오디오 데이터에서의 노이즈(예를 들어, 양자화 노이즈)를 쉐이핑(shape)한다.
양자화는 입력값의 범위를 단일의 값으로 매핑하고 정보의 비가역 손실을 가져오지만 인코더가 출력의 품질 및 비트 레이트를 조절할 수 있게도 해준다. 때때로, 인코더는 비트 레이트 및/또는 품질을 조절하기 위해 양자화를 조정하는 레이트 제어기와 함께 양자화를 수행한다. 적응적(adaptive) 및 비적응적(non-adaptive), 스칼라(scalar) 및 벡터(vector), 균일(uniform) 및 비균일(non-uniform)을 비롯한 다양한 종류의 양자화가 있다. 지각 가중(perceptual weighting)은 비균일 양자화의 한 형태로 간주될 수 있다.
역양자화 및 역가중은 가중되고 양자화된 주파수 계수 데이터를 원래의 주파수 계수 데이터의 근사값으로 재구성한다. 이어서, 역주파수 변환은 재구성된 주파수 계수 데이터를 재구성된 시간 영역 오디오 샘플로 변환한다.
B. 무손실 압축 및 압축해제
종래에, 오디오 인코더는 다양한 서로 다른 무손실 압축 기법(엔트로피 코딩 기법이라고도 함) 중 하나 이상을 사용한다. 일반적으로, 무손실 압축 기법은 런-길이 인코딩(run-length encoding), 가변 길이 인코딩(variable length encoding), 및 산술 코딩(arithmetic coding)을 포함한다. 대응하는 압축해제 기법(엔트로피 디코딩 기법이라고도 함)은 런-길이 디코딩, 가변 길이 디코딩, 및 산술 디코딩을 포함한다.
런-길이 인코딩은 간단한 잘 알려진 압축 기법이다. 일반적으로, 런-길이 인코딩은 동일한 값을 갖는 연속적인 심볼의 시퀀스(즉, 런(run))를 그 시퀀스의 값 및 길이로 대체시키는 것이다. 런-길이 디코딩에서, 연속적인 심볼의 시퀀스가 런 값(run value) 및 런 길이(run length)로부터 재구성된다. 런-길이 인코딩 및 디코딩의 수많은 변형들이 개발되었다.
런-레벨 인코딩(run-level encoding)은 동일한 값을 갖는 연속적인 심볼의 런이 런 길이로 대체된다는 점에서 런-길이 인코딩과 유사하다. 런의 값은 데이터에서의 우세값(predominant value)(예를 들어, 0)이고, 런은 다른 값(예를 들어, 영이 아닌 값)을 갖는 하나 이상의 레벨에 의해 분리된다.
런-길이 인코딩의 결과(예를 들어, 런 값 및 런 길이) 또는 런-레벨 인코딩의 결과는 비트 레이트를 추가적으로 감소시키기 위해 가변 길이 코딩(variable length coding)될 수 있다. 그렇게 한 경우, 가변 길이 코딩된 데이터는 런-길이 디코딩 이전에 가변 길이 디코딩된다.
가변 길이 코딩은 다른 잘 알려진 압축 기법이다. 일반적으로, VLC(variable length code, 가변 길이 코드) 테이블은 VLC를 고유의 심볼값(값들의 고유의 조합)과 연관시킨다. 허프만 코드는 통상적인 유형의 VLC이다. 확률이 더 높은 심볼값에 더 짧은 코드가 할당되고, 확률이 더 낮은 심볼값에 더 긴 코드가 할당된다. 어떤 종류의 컨텐츠의 대표적인 예에 대해 이 확률이 계산된다. 또는, 막 인코딩된 데이터에 대해 또는 인코딩될 데이터에 대해 이 확률이 계산되며, 이 경우 VLC는 고유의 심볼값에 대한 변하는 확률에 적응한다. 정적 가변 길이 코딩(static variable length coding)과 비교하여, 적응적 가변 길이 코딩(adaptive variable length coding)은 보통 데이터에 대한 더 정확한 확률을 구현함으로써 압축된 데이터의 비트 레이트를 감소시키지만, VLC를 규정하는 추가 정보도 전송될 필요가 있을 수 있다.
심볼을 인코딩하기 위해, 가변 길이 인코더는 심볼값을 VLC 테이블에 있는 심볼값과 연관된 VLC로 대체시킨다. 디코딩하기 위해, 가변 길이 디코더는 VLC를 VLC와 연관된 심볼값으로 대체시킨다.
스칼라 가변 길이 코딩에서, VLC 테이블은 단일의 VLC를 하나의 값, 예를 들어, 양자화된 데이터 값의 직류 레벨(direct level)과 연관시킨다. 벡터 가변 길이 코딩에서, VLC 테이블은 단일의 VLC를, 값들의 조합, 예를 들어, 양자화된 데이터 값의 직류 레벨의 그룹과 특정의 순서로 연관시킨다. 벡터 가변 길이 인코딩은 (예를 들어, 인코더가 이진 VLC에서 확률을 아주 세분하여 이용할 수 있게 해줌으로써) 스칼라 가변 길이 인코딩보다 더 나은 비트 레이트 감소를 가져올 수 있다. 반면에, 단일의 코드가 많은 그룹의 심볼을 표현하거나 심볼이 (많은 수의 가능한 조합으로 인해) 큰 범위의 가능한 값을 가질 때, 벡터 가변 길이 인코딩에 대한 VLC 테이블이 극단적으로 클 수 있으며, 이는 VLC 테이블을 계산하고 VLC를 찾는 데 메모리 및 처리 자원을 소비한다. 가변 길이 인코딩/디코딩의 수많은 변형들이 개발되었다.
산술 코딩은 또 하나의 잘 알려진 압축 기법이다. 산술 코딩은 때때로 주어진 입력 심볼을 인코딩하는 최적의 비트수가 분수 비트수(a fractional number of bits)인 응용에서 및 어떤 개개의 입력 심볼들 간의 통계적 상관이 존재하는 경우에 사용된다. 산술 코딩은 일반적으로 입력 시퀀스를 주어진 범위 내의 단일의 수로 표현하는 것을 수반한다. 일반적으로, 이 수는 0과 1 사이의 분수이다. 입력 시퀀스 내의 심볼은 0과 1 사이의 공간의 일부분을 차지하는 범위와 연관된다. 이 범위는 특정의 심볼이 입력 시퀀스에 있을 확률에 기초하여 계산된다. 입력 시퀀스를 표현하는 데 사용되는 분수는 범위를 참조하여 해석된다. 따라서, 산술 코딩 방식에서는 입력 심볼에 대한 확률 분포가 중요하다.
컨텍스트-기반 산술 코딩(context-based arithmetic coding)에서, 입력 심볼에 대한 서로 다른 확률 분포가 서로 다른 컨텍스트와 연관된다. 컨텍스트가 변할 때, 입력 시퀀스를 인코딩하는 데 사용되는 확률 분포가 변한다. 이 컨텍스트는 특정의 입력 심볼이 입력 시퀀스에 나타날 확률에 영향을 줄 것으로 예상되는 서로 다른 인자를 측정함으로써 계산된다.
미디어 처리에 대한 압축 및 압축해제의 중요성을 고려하면, 압축 및 압축해제가 풍부하게 개발된 분야라는 것은 놀랍지 않다. 종래 기술의 무손실 압축 및 압축해제 기법 및 시스템의 이점이 무엇이든지간에, 이들은 본 명세서에 기술된 기법 및 시스템의 다양한 이점을 갖지 않는다.
지시문 (instruction)
주어진 원문을 읽고 필요한 정보를 파악하여, 원문에 근거해 질문에 답하라.
질문 (question)
손실 압축 과정에서 주파수 변환, 지각 모델링, 양자화가 수행되는 순서와 각 단계의 관계는 무엇인가?
추론 과정 (compact_reasoning)
-
1과제 해석
task_interpretation손실 압축 기법 내에서 주파수 변환, 지각 모델링, 양자화 구성요소들의 처리 순서와 상호 관계를 파악해야 한다.
-
2정보 추출
information_extraction손실 압축 기법의 구성 요소와 그 순서에 관한 정보를 추출한다.
- 이들 손실 압축 기법은 일반적으로 주파수 변환 이후에 지각 모델링/가중 및 양자화를 수반한다.
-
3근거 선택
evidence_selection주파수 변환이 선행되고 그 이후에 지각 모델링과 양자화가 뒤따른다는 핵심 문장을 선별한다.
- 주파수 변환 이후에 지각 모델링/가중 및 양자화를 수반한다.
-
4논리 통합
logical_integration주파수 변환을 통해 데이터를 분리한 후, 지각 모델링을 통해 노이즈를 쉐이핑하고, 마지막으로 양자화를 통해 비트 레이트를 조절하는 흐름을 정리한다.
- 주파수 변환 기법은 데이터를 지각적으로 중요한 정보를 지각적으로 중요하지 않은 정보와 분리시키는 것을 더 용이하게 만들어주는 형태로 변환한다.
- 지각 모델링의 결과를 사용하여, 인코더는 주어진 비트 레이트에 대해 노이즈의 가청도(audibility)를 최소화하기 위해 오디오 데이터에서의 노이즈(예를 들어, 양자화 노이즈)를 쉐이핑(shape)한다.
- 양자화는 입력값의 범위를 단일의 값으로 매핑하고 정보의 비가역 손실을 가져오지만 인코더가 출력의 품질 및 비트 레이트를 조절할 수 있게도 해준다.
-
5결론 도출
conclusion_formulation주파수 변환 -> 지각 모델링 -> 양자화 순으로 진행됨을 결론짓는다.
- 주파수 변환 이후에 지각 모델링/가중 및 양자화를 수반한다.
-
6답변 생성
answer_generation단계별 역할과 순서를 포함하여 기술적 관계를 설명한다.
- 주파수 변환 이후에 지각 모델링/가중 및 양자화를 수반한다.
최종 답변 (final_answer)
손실 압축 기법은 일반적으로 주파수 변환을 먼저 수행한 후, 지각 모델링/가중 및 양자화를 수반하는 순서로 진행된다. 주파수 변환은 데이터를 지각적 중요도에 따라 분리하기 용이한 형태로 변환하며, 지각 모델링은 사람의 청각 시스템 모델에 따라 노이즈를 쉐이핑하고, 양자화는 입력값의 범위를 단일 값으로 매핑하여 출력의 품질 및 비트 레이트를 조절하는 역할을 한다.
핵심 해석 (core_interpretation)
손실 압축 기법은 주파수 변환 이후 지각 모델링과 양자화를 순차적으로 수반하며, 각 구성요소는 데이터의 영역 변환, 노이즈 쉐이핑 및 품질 조절 기능을 연계하여 수행한다.