I. 서 론
II. 윈도우 스위칭 MDCT
2.1 윈도우 크기 선택 알고리즘
2.2 윈도우 스위칭 알고리즘
2.3 기존 사용된 윈도우 종류
2.4 MDCT/IMDCT(Inverse MDCT)
III. 제안하는 윈도우 스위칭 알고리즘
3.1 저지연 윈도우 스위칭에 사용된 윈도우
3.2 상태별 과정
IV. 성능 평가
4.1 G.729.1 코덱
4.2 저지연 윈도우 스위칭 알고리즘 성능 평가
V. 결 론
I. 서 론
스마트폰이 대중화되면서 데이터 서비스 이용이 폭발적으로 증가했고, 이러한 데이터 사용량의 증가는 기존 3G 이동 통신 시스템의 부하를 가중시켰다. 이에 대응하기 위하여 국내외에서 고속의 데이터 서비스가 가능한 LTE(Long Term Evolution) 시스템이 상용화 되었다. LTE의 등장으로 VoIP(Voice over Internet Protoco)나 VoLTE(Voice over LTE)와 같은 패킷망을 이용한 음성 서비스가 증가하고 있으며, 고음질의 음성코덱인 EVS(Enhanced Voice Service)도 패킷망에서의 통신을 지원하게 되었다.[1] 이러한 패킷망을 통한 음성 서비스는 기존의 알고리즘 및 프로세싱 지연뿐만 아니라, 네트워크 상태에 따라 통신 지연이 추가적으로 발생되기 때문에 회선망을 이용한 음성 서비스보다 더 많은 지연이 발생하게 된다. 따라서 사용자가 불편함을 느끼지 못하는 200 ms 이하의 음성 서비스가 요구되고 있으며 패킷망을 이용한 음성 서비스가 증가함에 따라 알고리즘 지연은 코덱의 성능을 결정짓는 중요한 부분이 되었다.
또한 영상 신호 처리에 사용되는 DCT(Discrete Cosine Transform)를 음성이나 오디오 신호처리에 사용할 때에는 몇몇 문제가 발생하게 된다.[2] DCT나 FFT(Fast Fourier Transform)와 같은 주파수 변환방법을 사용하여 50 % 중첩합을 하면 코덱에서 처리해야할 프레임 수가 증가되는 문제점이 발생한다. 또한 심리음향모델을 적용한 AAC(Advanced Audio Coding)나 MPEG-(Motion Picture image coding Experts Group)-Layer 3와 같은 손실압축 오디오 코덱에서 DCT를 사용할 경우 신호 손실된 부분에서 인공음이 만들어져 음질의 저하가 발생하게 된다.[3,4] 이와 같은 DCT의 문제점을 보완하기 위해 MDCT(Modified Discrete Cosine Trans-form) 방법이 제안되었다.[5] 하지만 MDCT는 DCT나 FFT와는 다르게 역MDCT를 통해 신호가 원래의 신호로 완벽하게 복원되지 않는다. 따라서 신호를 완벽 복원하기 위해서 TDAC(Time Domain Aliasing Cancel-lation) 알고리즘을 사용하며, 이 과정에서 프레임 길이
만큼의 지연이 발생하게 되는 단점을 가지고 있다.[6]
따라서 본 논문에서는 고정된 윈도우 크기로 신호를 처리할 때 발생하는 음질 저하를 해결하기 위하여 신호의 종류에 따라 윈도우의 크기가 변하는 윈도우 스위칭 알고리즘과 지연 문제를 해결하기 위한 저지연 TDAC 알고리즘을 결합한 방법을 제안한다. 윈도우 스위칭 알고리즘을 사용하여 기존에 발생하는 음질 저하 구간을 억제하고, 저지연 TDAC 알고리즘을 사용함으로써 발생하는 지연을 줄이고자 한다.
II. 윈도우 스위칭 MDCT
2.1 윈도우 크기 선택 알고리즘
기준이 되는 샘플 길이 안에서 신호의 변화가 작은 정지적 신호라면 긴 윈도우 크기를 선택, 변화가 큰 비정지적 신호라면 변화하는 구간의 특성을 반영하기 위해 더 짧은 크기의 윈도우를 선택하는 것이 효율적이다.[7,8] 신호의 특성에 맞는 적절한 크기의 윈도우를 선택하기 이전 프레임 구간의 에너지를 구하고 다음 윈도우를 적용할 인접 프레임의 에너지를 구하여 두 구간 사이의 에너지 차이를 계산하게 된다. 수식적으로는 다음과 같이 정의된다.
, (1)
여기서
은 기준이 되는 가장 큰 프레임 크기이다. 그리고
는 기준이 되는
의 크기 안에서
번째 프레임,
은 선택하는 후보 프레임의 길이이다. 가장 작은 에너지 차이를 나타낸 값의 크기를 다음 프레임에 적용할 윈도우 크기로 선택하게 된다. 수식적으로는 다음과 같이 정의된다.
. (2)
2.2 윈도우 스위칭 알고리즘
Fig. 1은 윈도우 스위칭의 알고리즘을 간략하게 나타낸 것이다. normal은 기준이 되는 윈도우의 길이를 사용하는 것이고, short는 기준 길이의 윈도우보다 작은 길이의 윈도우를 사용하는 것이다. start, stop은 각각 길이가 달라지는 중첩합 구간을 이어주기 위해 normal과 short의 특성을 반반씩 갖는 윈도우이다. attack으로 표기된 부분은 윈도우의 길이의 변경을 요구하는 것이고, no attack은 윈도우 길이의 유지를 요구하는 것이다.
2.3 기존 사용된 윈도우 종류
기존 윈도우 스위칭에서 사용된 윈도우는 Fig. 2와 같이 normal, start, stop, short의 4 종류이다. (a)는 기준이 되는 가장 긴 길이의 윈도우이고 (c)는 3개의 짧은 중첩 윈도우로 이루어져 있다. (b)와 (d)는 긴 구간과 짧은 구간을 부드럽게 이어줄 수 있는 역할을 하는 윈도우이고 서로 반전 형태를 갖는다.
4가지 윈도우는 수식적으로 다음과 같이 표현된다. 먼저 normal 상태에서 사용하는 윈도우이다.
, (3)
여기서
은 기준이 되는 한 프레임의 길이이다. 다음은 short 상태에서 사용하는 윈도우이다.
. (4)
다음은 start 상태에서 사용하는 윈도우이다.
. (5)
. (6)
마지막으로 stop 상태에서 사용하는 윈도우이다.
. (7)
. (8)
2.4 MDCT/IMDCT(Inverse MDCT)
기존의 MDCT는 DCT-IV를 기반으로 만들어진 주파수 변환 방법으로 G.718, G.729.1, MPEG, AAC 코덱과 같은 다양한 음성 및 오디오 부호화기에서 사용한다. Fig. 3은 DCT를 사용하여 변환, 역변환하고 50 % 중첩합을 사용하여 신호를 복원할 때 처리해야 할 프레이임의 수가 2배로 증가하는 문제를 보여준다.[9] 이러한 문제점을 해결하기 위한 MDCT는
개의 입력신호를
개의 주파수 계수로 표현하기 때문에 처리해야 할 데이터가 증가하지 않으며, 이는 Fig. 4에 표현되어 있다.
즉, MDCT는
개의 데이터를 이용하여
개의 주파수 계수로 표현하고,
개의 MDCT 계수를 이용하여 역MDCT를 하면 다시
개의 데이터로 복원하게 된다. 이때 역MDCT 결과는 DCT나 DFT와는 다르게 완벽하게 복원되지 않고 Fig. 5와 같이 신호가 A, B 구간과 C, D 구간 사이에서 각각 대칭 특성을 가지게 된다. Fig. 5에서 아래첨자
은 역순을 의미한다. 이러한 문제를 해결하기 위하여 중첩하는 프레임 사이의 중첩합을 통하여 완벽 복원되는 성질을 가지는데, 이렇게 복원하는 과정을 TDAC라고 한다.
Fig. 6은 TDAC의 전체 과정을 자세하게 나타내고 있다. 먼저 A, B, C, D, E, F의 각 신호 구간의 길이는
으로 정의하고,
는 Fig. 7과 같이
길이의 윈도우를
길이의 네 구간으로 나눈 것이고, 윈도우는 다음과 같은 조건을 만족하여야 한다.
. (9)
. (10)
이와 같은 방법으로 aliasing들이 제거되고,
의 길이 만큼인 C, D 신호를 최종적으로 복원하게 된다.
III. 제안하는 윈도우 스위칭 알고리즘
3.1 저지연 윈도우 스위칭에 사용된 윈도우
제안하는 알고리즘에 사용할 윈도우는 기존에 사용하는 4가지가 아닌 Fig. 8의 long window, Fig. 9의 short window와 같이 두 가지 윈도우로 표현되고, 중첩합 구간의 길이를 동일하게 함으로써 start, stop과 같이 두 다른 길이의 윈도우를 부드럽게 이어줄 수 있는 역할을 하는 윈도우를 사용하지 않는다. 윈도우 크기 선택 알고리즘은 기존과 동일하게 사용한다. Fig. 8의 long window는 수식적으로는 다음과 같이 표현한다.
. (11)
Fig. 9의 short window는 수식적으로 다음과 같이 표현하고 2개를 중첩하여 사용한다.
. (12)
이러한 윈도우를 사용하게 되면 서로 다른 중첩합 길이를 조정해야 하는 기존의 윈도우 스위칭과 다르게 하나의 중첩합 길이로 고정하게 되면서 일관된 지연 감소효과를 얻게 된다. 또한 start window와 stop window를 사용하지 않아 4개의 상태 정보를 저장하여야 하는 윈도우 정보 bit가 2개의 상태만 필요하게 되면서 정보 1 bit의 감소효과를 얻게 된다.
3.2 상태별 과정
3제안하는 방법에서는 신호를 복원하는 상황을 3가지로 구분하였다. 첫째로 Fig. 10은 long window와 long window 사이의 중첩합 과정을 나타낸 것이다. 현재 프레임과 과거 프레임을 중첩합 하게 되면 0에서
까지는 두 프레임의 중첩합으로 복원되고
에서
까지는 상수 1의 값이 곱해져 있는 현재 프레임 값 그대로 복원되게 된다. 이 과정에서
에서
까지
길이만큼의 look ahead, 즉 지연이 발생하게 된다. 이처럼 기존의 지연인
의 절반으로 줄어들게 된다.
Fig. 11은 long window와 short window 사이의 중첩합 과정을 나타낸 것이다. 여기에서 현재 프레임과 과거 프레임의 중첩합 과정을 살펴보면 0에서
사이의 구간은 과거 프레임과 현재 프레임안의 첫 번째 프레임과 중첩 합을 하여 복원하게 된다.
에서
까지의 구간은 현재 프레임안의 두 short 프레임의 중첩 합으로 복원이 되고 최종적으로
의 길이만큼의 신호가 복원된다. 이 과정에서도 절반이 감소한
의 지연이 발생한다. short window에서 long window로 넘어가는 구간도 동일하다.
마지막으로 Fig. 12는 start window와 short window 사이의 중첩합 과정을 나타낸 것이다. 현재 프레임과 과거 프레임의 중첩합 과정을 살펴보면 과거 프레임안의 2번째 프레임과 현재 프레임안의 1번째 프레임과 중첩 합 과정을 거쳐 0에서
만큼의 신호가 복원된다. 그리고 현재 프레임안의 1번째 프레임과 2번째 프레임의 중첩 합을 통해
에서
까지의 신호가 복원되고 최종적으로
의 길이가 복원된다. 여기에서도
만큼의 지연이 발생한다.
이처럼 모든 중첩합 상황에서 절반의 지연이 감소한 일관된
길이 만큼의 지연이 발생하여 지연 감소 효과를 얻을 수 있고, 윈도우 스위칭을 사용하여 신호 구간의 특성별로 다른 윈도우를 사용하여 aliasing 발생을 억제하고 최적의 음질로 신호를 복원해낼 수 있다.
IV. 성능 평가
본 논문에서 제안하는 저지연 윈도우 스위칭 알고리즘의 성능을 평가하기 위하여 객관적인 방법을 이용한 성능 평가와 시각적인 성능 평가를 활용하였다. ITU-T(International Telecommunication Union- Tele-communication) 표준안으로 제정된 객관적인 음질 평가인 P.861 PESQ(Perceptual Evaluation of Speech Quality) 테스트를 이용하여 원 신호와 복호화 된 신호의 음질을 비교하고, 시각적으로 스펙트럼을 분석하였다.
4.1 G.729.1 코덱
제안하는 알고리즘의 성능을 평가하기 위해 VoIP 환경에서 많이 사용하는 MDCT 기반의 음성 코덱인 G.729.1[10]에 제안하는 방법을 적용하여 성능을 평가하였다. G.729.1은 CELP(Code Excited Linear Prediction), TDBWE(Time Domain BandWidth Extension), TDAC 세 개의 모듈로 구성되어 있고, 8 kHz와 16 kHz의 입력 신호를 사용하며, 입력된 신호는 QMF(Quadrature Mirror Filter)를 통과하며 저주파수 신호와 고주파수 신호로 나뉘게 된다. 저주파수 신호는 CELP모듈을 통해 부호화 되고, CELP의 잔여신호는 MDCT를 통해 MDCT 계수를 복호화기로 전송하게 된다. 고주파수 신호는 TDBWE 모듈과 MDCT를 이용하여 부호화를 한다. 이와 같은 부호화 과정에서 프레임 길이 20 ms, MDCT look-ahead 20 ms, CELP의 LPC(Linear Predictive Coding) 분석의 look-ahead 5 ms, QMF 3.9375 ms의 알고리즘 지연이 발생하여 총 48.9375 ms의 지연이 발생한다. 이때 MDCT look-ahead에서 발생하는 지연을 감소시키며 최적의 음질로 복원하기 위해 제안하는 알고리즘을 적용하여 실험을 하였다.
4.2 저지연 윈도우 스위칭 알고리즘 성능 평가
본 논문에서 제안한 알고리즘을 평가하기 위하여 테스트 신호로는 성인 남성과 여성의 한국어 문장과 영어 문장을 사용하였다. 16 kHz로 샘플링 된 입력신호와 16 kbps의 전송률 환경에서 실험을 하였다. Table 1은 지연 변화에 따른 원 신호와 복호화 된 신호의 PESQ 음질 테스트 결과를 나타낸다. 처음 20 ms의 지연은 기존의 MDCT를 사용한 결과이고, 나머지는 제안하는 알고리즘을 사용하여 지연을 10 ms까지 감소시킨 실험 결과이다. 제안하는 알고리즘은 기존의 MDCT보다 짧은 영역의 중첩합을 통해서 감소된 지연으로 완벽 복원이 가능하다. 따라서 Table 1에서 보듯이 지연이 감소함에도 불구하고 객관적인 음질 테스트인 PESQ 값의 변화가 없는 것을 볼 수 있었고, 표준 편차 역시 0.10604와 0.10596으로 거의 차이가 없다는 것을 확인하였다.
Figs. 13과 14는 기존의 MDCT의 결과와 제안하는 알고리즘을 적용한 결과의 스펙트럼을 비교한 그림이다. Figs. 13과 14에서 보듯이 기존 MDCT를 사용한 복원신호와 제안한 알고리즘을 적용하여 지연을 감소시킨 복원신호의 스펙트럼간의 차이를 발생시키지 않으면서 완벽하게 복원된 결과를 확인할 수 있었다.
V. 결 론
본 논문에서는 윈도우 스위칭 알고리즘과 저지연 알고리즘을 결합한 알고리즘을 제안하였다. 윈도우 스위칭 알고리즘을 사용하여 기존에 발생하는 음질저하 구간을 억제하고, 저 지연 알고리즘을 통해 발생하는 지연을 줄이고자 하였다.
제안하는 저지연 윈도우 스위칭 알고리즘의 성능을 평가하기 위해 객관적인 방법을 이용한 성능 평가와 시각적인 성능 평가를 활용 하였다. 객관적인 음질평가인 PESQ 테스트를 이용하여 원 신호와 복호화 된 신호의 음질을 비교하여 제안하는 알고리즘의 성능을 평가하고 기존에 사용하는 MDCT의 결과와 제안한 알고리즘의 결과 비교를 통해 시각적으로 평가를 하였다. PESQ 평가 결과와 시각적인 성능평가에서 지연을 감소 시켰음에도 불구하고 기존 방법과 음질의 차이가 없음을 확인 할 수 있었다. 따라서 제안하는 알고리즘들을 다양한 MDCT 기반의 음성 및 오디오 코덱에 사용하여 알고리즘 지연을 효율적으로 감소시킬 수 있다.


















