KR20120061844A - 오디오 신호 처리 방법 및 장치 - Google Patents

오디오 신호 처리 방법 및 장치 Download PDF

Info

Publication number
KR20120061844A
KR20120061844A KR1020127004761A KR20127004761A KR20120061844A KR 20120061844 A KR20120061844 A KR 20120061844A KR 1020127004761 A KR1020127004761 A KR 1020127004761A KR 20127004761 A KR20127004761 A KR 20127004761A KR 20120061844 A KR20120061844 A KR 20120061844A
Authority
KR
South Korea
Prior art keywords
window
coding scheme
block
signal
orthogonal
Prior art date
Application number
KR1020127004761A
Other languages
English (en)
Other versions
KR101410312B1 (ko
Inventor
오현오
강홍구
이창헌
송정욱
Original Assignee
연세대학교 산학협력단
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 연세대학교 산학협력단, 엘지전자 주식회사 filed Critical 연세대학교 산학협력단
Publication of KR20120061844A publication Critical patent/KR20120061844A/ko
Application granted granted Critical
Publication of KR101410312B1 publication Critical patent/KR101410312B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/005Correction of errors induced by the transmission channel, if related to the coding algorithm
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/022Blocking, i.e. grouping of samples in time; Choice of analysis windows; Overlap factoring
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/45Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of analysis window

Abstract

오디오 처리 장치에 의해, 직각 코딩 방식으로 인코딩된 제1 블록의 제1 데이터, 및 비-직각 코딩 방식으로 인코딩된 제2 블록의 제2 데이터를 포함하는 오디오 신호를 수신하는 단계; 상기 제2 블록에 해당하는 보상 신호를 수신하는 단계; 상기 제1 데이터를 이용하여 앨리어징 파트의 프리딕션을 추정하는 단계; 및, 상기 제2 데이터, 상기 보상 신호, 및 상기 앨리어징 파트의 프리딕션을 근거로 하여, 상기 제2 블록의 복원된 신호를 획득하는 단계를 포함하는 오디오 신호 처리 방법이 제공된다.

Description

오디오 신호 처리 방법 및 장치 {A METHOD AND AN APPARATUS FOR PROCESSING AN AUDIO SIGNAL}
본 발명은 오디오 신호를 인코딩하거나 디코딩할 수 있는 오디오 신호 처리 방법 및 장치에 관한 것이다.
일반적으로, 음악 신호와 같은 오디오 신호에 대해서는 오디오 특성에 기반한 코딩 방식을 적용하고, 음성 신호에 대해서는 음성 특성에 기반한 코딩 방식을 적용한다.
오디오 특성과 음성 특성이 혼재되어 있는 신호에 대해서 어느 하나의 코딩 방식을 적용하는 경우, 오디오 코딩 효율이 떨어지거나, 음질이 나빠지는 문제점이 있다.
본 발명은 상기와 같은 문제점을 해결하기 위해 창안된 것으로서, 하나의 프레임(또는 서브 프레임)에 대해, 두 가지 이상의 코딩 방식들 중 하나 코딩 방식을 적용하는 오디오 신호 처리 방법 및 장치를 제공하는 데 있다.
본 발명의 또 다른 목적은, 일련의 프레임으로 구성된 오디오 신호에 대해, 프레임(또는 서브프레임) 마다 서로 다른 코딩 방식을 적용하는 데 있어서, 각 코딩 방식에 대응하는 윈도우 형태가 서로 비대칭이기 때문에 발생하는 미스매치(mismatch)를 해결하는 오디오 신호 처리 방법 및 장치를 제공하는 데 있다.
본 발명의 또 다른 목적은, 직각 윈도우(rectangular window)와 비-직각 윈도우(non-rectangular window)가 맞닿았을 때, 앨리어징 등을 해소하기 위한 오디오 신호 처리 방법 및 장치를 제공하는 데 있다.
본 발명의 또 다른 목적은, 선형예측 도메인 방식이 적용된 프레임 이후에 주파수 도메인 방식이 적용된 프레임이 나올 경우, 윈도우 길이 차이를 보상하기 위한 윈도우 전이(transition) 과정을 생략할 수 있는 오디오 신호 처리 방법 및 장치를 제공하는데 있다.
본 발명의 또 다른 목적은, 다음 프레임(following frame)의 코딩 방식에 따라 현재 프레임(current frame)에 대응하는 윈도우의 형태를 스위칭(switching)하여, 윈도우 형태의 비대칭에 따른 미스매치를 해소할 수 있는 오디오 신호 처리 방법 및 장치를 제공하는 데 있다.
본 발명의 또 다른 목적은, 선형예측 도메인 방식의 프레임에 있어서, 이전 프레임이 주파수 도메인 방식의 프레임인지에 따라서, 롱텀 예측(Long-term prediction)을 선택적으로 적용하여 비트 효율을 높이기 위한 오디오 신호 처리 방법 및 장치를 제공하는 데 있다.
상기와 같은 목적을 달성하기 위하여 본 발명에 따른 오디오 처리 방법은, 오디오 처리 장치에 의해, 직각 코딩 방식으로 인코딩된 제1 블록의 제1 데이터, 및 비-직각 코딩 방식으로 인코딩된 제2 블록의 제2 데이터를 포함하는 오디오 신호를 수신하는 단계; 상기 제2 블록에 해당하는 보상 신호를 수신하는 단계; 상기 제1 데이터를 이용하여 앨리어징 파트의 프리딕션을 추정하는 단계; 및, 상기 제2 데이터, 상기 보상 신호, 및 상기 앨리어징 파트의 프리딕션을 근거로 하여, 상기 제2 블록의 복원된 신호를 획득하는 단계를 포함한다.
본 발명에 따르면, 상기 직각 코딩 방식은, 직각 윈도우를 이용하여 인코딩 또는 디코딩하는 방식이고, 상기 비-직각 코딩 방식은, 비-직각 윈도우를 이용하여 인코딩 또는 디코딩하는 방식이다.
본 발명에 따르면, 상기 보상 신호는, 보정 파트 및 앨리어징 파트의 에러를 근거로 생성된 것이고, 상기 보정 파트는, 직각 윈도우 및 비-직각 윈도우간의 비대칭성에 관련된 차이에 해당하고, 상기 앨리어징 파트의 에러는, 상기 엘리어징 파트, 및 상기 앨리어징 파트의 프리딕션간의 차이에 해당한다.
본 발명에 따르면, 상기 앨리어징 파트는, 상기 비-직각 코딩 스킴에 사용되는 비-직각 윈도우와 상기 제1 블록 간의 중첩 파트(overlapping part)에 해당한다.
본 발명에 따르면, 상기 프리딕션을 추정하는 단계는, 상기 직각 윈도우 방식을 근거로 제1 블록의 제1 데이터를 이용하여 제1 블록의 출력 신호를 생성하는 단계; 및, 상기 제1 블록의 상기 출력 신호 및 상기 비-직각 윈도우를 이용하여, 상기 앨리어징 파트의 프리딕션을 획득하는 단계를 포함한다.
본 발명에 따르면, 상기 복원된 신호는, 상기 비-직각 코딩 방식에 사용되는 비-직각 윈도우와는 다른 직각 윈도우를 이용하여 처리된 신호에 근사한 것이다.
본 발명에 따르면, 상기 복원된 신호를 획득하는 단계는, 시간-도메인 제2 신호를 생성하기 위해, 상기 제2 데이터를 역-주파수변환하는 단계; 시간-도메인 보상 신호를 생성하기 위해, 상기 보상 신호를 역-주파수변환하는 단계; 및, 상기 시간-도메인 보상 신호를 상기 시간-도메인 제2 신호 및 상기 앨리어징 파트의 프리딕션에 더함으로써, 상기 복원된 신호를 생성하는 단계를 포함한다.
본 발명에 따르면, 상기 제1 블록은 프레임 및 서브프레임 중 하나에 해당하고, 상기 제2 블록은 프레임 및 서브프레임 중 하나에 해당한다.
본 발명의 또 다른 측면에 따르면, 직각 코딩 방식으로 인코딩된 제1 블록의 제1 데이터, 및 비-직각 코딩 방식으로 인코딩된 제2 블록의 제2 데이터를 포함하는 오디오 신호를 수신하고, 상기 제2 블록에 해당하는 보상 신호를 수신하는 디-멀티플렉서; 상기 제1 데이터를 이용하여 앨리어징 파트의 프리딕션을 추정하는 직각 디코딩 유닛; 및, 상기 제2 데이터, 상기 보상 신호, 및 상기 앨리어징 파트의 프리딕션을 근거로 하여, 상기 제2 블록의 복원된 신호를 획득하는 비-직각 디코딩 유닛을 포함하는 오디오 신호 처리 장치가 제공된다.
본 발명에 따르면, 상기 직각 코딩 방식은, 직각 윈도우를 이용하여 인코딩 또는 디코딩하는 방식이고, 상기 비-직각 코딩 방식은, 비-직각 윈도우를 이용하여 인코딩 또는 디코딩하는 방식이다.
본 발명에 따르면, 상기 보상 신호는, 보정 파트 및 앨리어징 파트의 에러를 근거로 생성된 것이고, 상기 보정 파트는, 직각 윈도우 및 비-직각 윈도우간의 비대칭성에 관련된 차이에 해당하고, 상기 앨리어징 파트의 에러는, 상기 엘리어징 파트, 및 상기 앨리어징 파트의 프리딕션간의 차이에 해당한다.
본 발명에 따르면, 상기 앨리어징 파트는, 상기 비-직각 코딩 스킴에 사용되는 비-직각 윈도우와 상기 제1 블록 간의 중첩 파트(overlapping part)에 해당한다.
본 발명에 따르면, 상기 직각 디코딩 유닛은, 상기 직각 윈도우 방식을 근거로 제1 블록의 제1 데이터를 이용하여 제1 블록의 출력 신호를 생성하고, 및, 상기 제1 블록의 상기 출력 신호 및 상기 비-직각 윈도우를 이용하여, 상기 앨리어징 파트의 프리딕션을 획득한다.
본 발명에 따르면, 상기 복원된 신호는, 상기 비-직각 코딩 방식에 사용되는 비-직각 윈도우와는 다른 직각 윈도우를 이용하여 처리된 신호에 근사한 것이다.
본 발명에 따르면, 상기 비-직각 코딩 유닛은, 시간-도메인 제2 신호를 생성하기 위해, 상기 제2 데이터를 역-주파수변환하고, 시간-도메인 보상 신호를 생성하기 위해, 상기 보상 신호를 역-주파수변환하고, 상기 시간-도메인 보상 신호를 상기 시간-도메인 제2 신호 및 상기 앨리어징 파트의 프리딕션에 더함으로써, 상기 복원된 신호를 생성하는 것이다.
본 발명에 따르면, 상기 제1 블록은 프레임 및 서브프레임 중 하나에 해당하고, 상기 제2 블록은 프레임 및 서브프레임 중 하나에 해당한다.
본 발명의 또 다른 측면에 따르면, 오디오 처리 장치에 의해, 현재 프레임에 대해 제1 코딩 방식 또는 제2 코딩 방식이 적용되는지를 지시하는 코딩 식별 정보를 수신하는 단계; 상기 코딩 식별 정보가 현재 프레임에 대해 제2 코딩 방식을 지시하는 경우, 상기 현재 프레임에 대해 복수 개의 윈도우들 중 특정 윈도우를 지시하는 윈도우 타입 정보를 수신하는 단계; 상기 윈도우 타입 정보를 근거로 현재 윈도우가 롱_스타트 윈도우임을 식별하는 단계, 여기서 상기 롱-스타트 윈도우는 이전 프레임의 온리-롱 윈도우에 다음에 위치하고, 상기 롱-스타트 윈도우는 완만한 롱-스타트 윈도우 및 급격한 롱-스타트 윈도우를 포함하고; 및, 이후 프레임에 상기 제1 코딩 방식 적용될 때, 상기 완만한 롱-스타트 윈도우를 현재 프레임에 적용하는 단계를 포함하고, 상기 완만한 롱-스타트 윈도우는 제1 경사의 하강 라인을 포함하고, 상기 급격한 롱-스타트 윈도우는 제2 경사의 하강 라인을 포함하고, 상기 제1 경사는 상기 제2 경사보다 완만한 것을 특징으로 하는 오디오 신호 처리 방법이 제공된다.
본 발명에 따르면, 상기 제1 경사의 폭은 상기 제2 경사의 폭의 두 배이다.
본 발명에 따르면, 상기 제1 경사의 폭은 N/4(여기서 N는 프레임 길이)에 해당한다.
본 발명에 따르면, 상기 제1 경사의 폭은 256 샘플들에 해당하고, 상기 제1 경사의 폭은 상기 롱-스타트 윈도우의 길이의 1/8과 동일하다.
본 발명에 따르면, 상기 온리-롱 윈도우는 좌우 대칭(horizontal symmetry)이고, 상기 롱-스타트 윈도우는 좌우 비대칭(horizontal asymmetry)이고, 상기 롱-스타트 윈도우는 우측 반쪽(right half)에 제로 구간을 포함한다.
본 발명에 따르면, 상기 제1 경사 또는 상기 제2 경사를 갖는 상기 하강 라인의 중앙 지점(center point)가 상기 롱-스타트 윈도우의 시작 점으로부터 3N/2(N은 프레임 길이)만큼 떨어진 지점이다.
본 발명에 따르면, 상기 제1 코딩 방식은 주파수 도메인을 기반으로 하고, 상기 제2 코딩 방식은 선형-예측 도메인을 기반으로 한다.
본 발명의 또 다른 측면에 따르면, 오디오 처리 장치에 의해, 현재 프레임에 대해 제1 코딩 방식 또는 제2 코딩 방식이 적용되는지를 지시하는 코딩 식별 정보를 수신하고, 상기 코딩 식별 정보가 현재 프레임에 대해 제2 코딩 방식을 지시하는 경우, 상기 현재 프레임에 대해 복수 개의 윈도우들 중 특정 윈도우를 지시하는 윈도우 타입 정보를 수신하는 디-멀티플렉서; 및, 상기 윈도우 타입 정보를 근거로 현재 윈도우가 롱_스타트 윈도우임을 식별하는 제2 코딩 유닛, 여기서 상기 롱-스타트 윈도우는 이전 프레임의 온리-롱 윈도우에 다음에 위치하고, 상기 롱-스타트 윈도우는 완만한 롱-스타트 윈도우 및 급격한 롱-스타트 윈도우를 포함하고, 이후 프레임에 상기 제1 코딩 방식 적용될 때, 상기 완만한 롱-스타트 윈도우를 현재 프레임에 적용하고, 상기 완만한 롱-스타트 윈도우는 제1 경사의 하강 라인을 포함하고, 상기 급격한 롱-스타트 윈도우는 제2 경사의 하강 라인을 포함하고, 상기 제1 경사는 상기 제2 경사보다 완만한 것을 특징으로 하는 오디오 신호 처리 장치가 제공된다.
본 발명에 따르면, 상기 제1 경사의 폭은 상기 제2 경사의 폭의 두 배이다.
본 발명에 따르면, 상기 제1 경사의 폭은 N/4(여기서 N는 현재 프레임의 길이)에 해당한다.
본 발명에 따르면, 상기 제1 경사의 폭은 256 샘플들에 해당하고, 상기 제1 경사의 폭은 상기 롱-스타트 윈도우의 길이의 1/8과 동일한다.
본 발명에 따르면, 상기 온리-롱 윈도우는 좌우 대칭(horizontal symmetry)이고, 상기 롱-스타트 윈도우는 좌우 비대칭(horizontal asymmetry)이고, 상기 롱-스타트 윈도우는 우측 반쪽(right half)에 제로 구간을 포함한다.
본 발명에 따르면, 상기 제1 경사 또는 상기 제2 경사를 갖는 상기 하강 라인의 중앙 지점(center point)가 상기 롱-스타트 윈도우의 시작 점으로부터 3N/2(N은 프레임 길이)만큼 떨어진 지점이다.
본 발명에 따르면, 상기 제1 코딩 방식은 주파수 도메인을 기반으로 하고, 상기 제2 코딩 방식은 선형-예측 도메인을 기반으로 한다.
본 발명의 또 다른 측면에 따르면, 오디오 처리 장치에 의해서, 제1 블록의 제1 데이터 및 제2 블록의 제2 데이터를 포함하는 오디오 신호를 수신하는 단계; 상기 제2 블록에 해당하는 보상 신호를 수신하는 단계; 및, 상기 제2 데이터, 상기 보상 신호, 및 상기 제2 블록의 윈도우를 근거로 하여, 상기 제2 블록에 대한 복원된 신호를 획득하는 단계를 포함하고, 상기 제1 데이터가 직각 코딩 방식으로 인코딩되고, 상기 제2 블록의 윈도우가 전이(transition) 윈도우 클래스에 속하는 경우, 상기 제2 블록의 윈도우는, 제1 경사의 상승 라인을 갖고, 상기 제1 경사는 제2 경사보다 완만한 것을 특징으로 하는 오디오 신호 처리 방법이 제공된다.
본 발명에 따르면, 상기 제1 데이터가 비-직각 코딩 방식으로 인코딩되고, 상기 제2 블록의 윈도우가 상기 전이 윈도우 클래스에 속하는 경우, 상기 제2 블록의 윈도우는, 상기 제2 경사의 상승 라인을 갖는다.
본 발명에 따르면, 상기 전이 윈도우 클래스가 롱-스탑 윈도우, 롱-스타트 윈도우 및 스타트-스탑 윈도우를 포함하는 경우, 상기 롱-스탑 윈도우 및 상기 롱-스타트 윈도우는 좌우 비대칭성(horizontal asymmetry)을 갖고, 좌측 반쪽에서 제로 구간을 갖는다.
본 발명에 따르면, 상기 보상 신호는, 상기 제1 데이터가 상기 직각 코딩 방식으로 인코딩된 경우, 수신되는 것이다.
본 발명에 따르면, 상기 보상 신호는, 직각 윈도우 및 비-직각 윈도우 간의 비대칭성에 관련된 차이와, 상기 앨리어징 파트 및 앨리어징 파트의 프리딕션 간의 차이 중 하나 이상을 근거로 생성된 것이다.
본 발명의 또 다른 측면에 따르면, 제1 블록의 제1 데이터 및 제2 블록의 제2 데이터를 포함하는 오디오 신호를 수신하고, 상기 제2 블록에 해당하는 보상 신호를 수신하는 디-멀티플렉서; 및, 상기 제2 데이터, 상기 보상 신호, 및 상기 제2 블록의 윈도우를 근거로 하여, 상기 제2 블록에 대한 복원된 신호를 획득하는 비-직각 디코딩 유닛을 포함하고, 상기 제1 데이터가 직각 코딩 방식으로 인코딩되고, 상기 제2 블록의 윈도우가 전이(transition) 윈도우 클래스에 속하는 경우, 상기 제2 블록의 윈도우는, 제1 경사의 상승 라인을 갖고, 상기 제1 경사는 제2 경사보다 완만한 것을 특징으로 하는 오디오 신호 처리 장치를 제공한다.
본 발명에 따르면, 상기 제1 데이터가 비-직각 코딩 방식으로 인코딩되고, 상기 제2 블록의 윈도우가 상기 전이 윈도우 클래스에 속하는 경우, 상기 제2 블록의 윈도우는, 상기 제2 경사의 상승 라인을 갖는다.
본 발명에 따르면, 상기 전이 윈도우 클래스가 롱-스탑 윈도우, 롱-스타트 윈도우 및 스타트-스탑 윈도우를 포함하는 경우, 상기 롱-스탑 윈도우 및 상기 롱-스타트 윈도우는 좌우 비대칭성(horizontal asymmetry)을 갖고, 좌측 반쪽에서 제로 구간을 갖는다.
본 발명에 따르면, 상기 보상 신호는, 상기 제1 데이터가 상기 직각 코딩 방식으로 인코딩된 경우, 수신되는 것이다.
본 발명에 따르면, 상기 보상 신호는, 직각 윈도우 및 비-직각 윈도우 간의 비대칭성에 관련된 차이와, 상기 앨리어징 파트 및 앨리어징 파트의 프리딕션 간의 차이 중 하나 이상을 근거로 생성된 것이다.
본 발명의 또 다른 측면에 따르면, 오디오 처리 장치에 의해서, 제2 코딩 방식에 현재 프레임에 적용되는 경우, 복수의 윈도우들 중에서 현재 프레임에 대해 특정 윈도우를 지시하는 윈도우 타입 정보를 수신하는 단계; 및 상기 윈도우 타입 정보를 근거로 하여, 현재 윈도우를 상기 현재 프레임에 적용하는 단계를 포함하고, 제1 코딩 방식이 이전 프레임에 적용되는 경우, 상기 복수의 윈도우들은 숏 윈도우, 제1 전이 윈도우 및 제2 전이 윈도우로 구성되고, 상기 숏 윈도우는, 그 폭이 N/8(N은 프레임 길이)인 상승 라인을 하나 이상 갖고, 상기 제1 전이 윈도우 및 상기 제2 전이 윈도우는, 그 폭이 N/4(N은 프레임 길이)인 상승 라인을 갖는 것을 특징으로 하는 오디오 신호 처리 방법이 제공된다.
본 발명에 따르면, 숏 윈도우, 상기 제1 전이 윈도우 및 상기 제2 전이 윈도우의 길이는 2N인 것이다.
본 발명에 따르면, 숏 윈도우, 상기 제1 전이 윈도우 및 상기 제2 전이 윈도우의 왼쪽 반(left half)은 1024 샘플들에 해당한다.
본 발명에 따르면, 상기 현재 윈도우 및 이전 윈도우의 교차점(cross point)는 상기 현재 윈도우로부터 N/2만큼 떨어진 지점이다.
본 발명에 따르면, 상기 제1 전이 윈도우는 오른쪽 반(right half)에서 제로 구간을 갖지 않고 상기 제2 전이 윈도우는, 오른쪽 반(right half)에서 제로 구간을 갖고, 상기 숏 윈도우는 서로 중첩된 복수의 숏 파트들을 갖고, 그 숏 파트는 상기 상승 라인 및 하강 라인을 갖는다.
본 발명의 또 다른 측면에 따르면, 오디오 처리 장치에 의해서, 제1 코딩 방식으로 인코딩된 현재 프레임 및 제2 코딩 방식으로 인코딩된 이후 프레임을 포함하는 오디오 신호를 수신하는 단계; 상기 현재 프레임의 하나 이상의 블록이 직각 코딩 방식 또는 비-직각 코딩 방식으로 인코딩되었는지를 지시하는 서브-코딩 식별 정보를 수신하는 단계; 상기 현재 프레임의 적어도 마지막 블록이 상기 비-직각 코딩 방식으로 인코딩된 것을 상기 서브-코딩 식별 정보가 지시하는 경우, 이후 프레임의 이후 윈도우가 숏 윈도우인지 아닌지에 따라서, 현재 프레임에 대해 제1 형태 및 제2 형태를 포함하는 윈도우 형태를 결정하는 단계; 및, 상기 결정된 윈도우 형태의 상기 현재 윈도우를 상기 현재 프레임에 적용하는 단계를 포함하고, 상기 제1 형태는 제1 경사의 하강 라인을 포함하고, 상기 제2 형태는 제2 경사의 하강 라인을 포함하고, 상기 제1 경사는 상기 제2 경사보다 완만한 것을 특징으로 하는 오디오 신호 처리 방법이 제공된다.
본 발명에 따르면, 상기 제1 경사의 폭은 256 샘플들 또는 N/4(N은 프레임 길이)에 해당하고, 상기 제2 경사의 폭은 128 샘플들 또는 N/8(N은 프레임 길이)에 해당한다.
본 발명에 따르면, 상기 현재 윈도우 및 다음 윈도우간의 교차점은 상기 다음 윈도우의 시작점으로부터 N/2만큼 떨어진 지점이다.
본 발명에 따르면, 상기 제1 경사는 비-숏 윈도우(non-short window)에서의 상승 라인의 경사와 매치되고, 상기 제2 경사는 상기 숏 윈도우에서의 상승 라인의 경사와 매치된다.
본 발명의 또 다른 측면에 따르면, 제2 코딩 방식에 현재 프레임에 적용되는 경우, 복수의 윈도우들 중에서 현재 프레임에 대해 특정 윈도우를 지시하는 윈도우 타입 정보를 수신하는 디-멀티플렉서; 및, 상기 윈도우 타입 정보를 근거로 하여, 현재 윈도우를 상기 현재 프레임에 적용하는 제2 코딩 유닛을 포함하고, 제1 코딩 방식이 이전 프레임엥 적용되는 경우, 상기 복수의 윈도우들은 숏 윈도우, 제1 전이 윈도우 및 제2 전이 윈도우로 구성되고, 상기 숏 윈도우는, 그 폭이 N/8(N은 프레임 길이)인 상승 라인을 하나 이상 갖고, 상기 제1 전이 윈도우 및 상기 제2 전이 윈도우는, 그 폭이 N/4(N은 프레임 길이)인 상승 라인을 갖는 것을 특징으로 하는 오디오 신호 처리 장치가 제공된다.
본 발명에 따르면, 숏 윈도우, 상기 제1 전이 윈도우 및 상기 제2 전이 윈도우의 길이는 2N이다.
본 발명에 따르면, 숏 윈도우, 상기 제1 전이 윈도우 및 상기 제2 전이 윈도우의 왼쪽 반(left half)은 1024 샘플들에 해당한다.
본 발명에 따르면, 상기 현재 윈도우 및 이전 윈도우의 교차점(cross point)는 상기 현재 윈도우로부터 N/2만큼 떨어진 지점이다.
본 발명에 따르면, 상기 제1 전이 윈도우는 오른쪽 반(right half)에서 제로 구간을 갖지 않고 상기 제2 전이 윈도우는, 오른쪽 반(right half)에서 제로 구간을 갖고, 상기 숏 윈도우는 서로 중첩된 복수의 숏 파트들을 갖고, 그 숏 파트는 상기 상승 라인 및 하강 라인을 갖는다.
본 발명의 또 다른 측면에 따르면, 제1 코딩 방식으로 인코딩된 현재 프레임 및 제2 코딩 방식으로 인코딩된 이후 프레임을 포함하는 오디오 신호를 수신하고, 상기 현재 프레임의 하나 이상의 블록이 직각 코딩 방식 또는 비-직각 코딩 방식으로 인코딩되었는지를 지시하는 서브-코딩 식별 정보를 수신하는 디-멀티플렉서; 상기 현재 프레임의 적어도 마지막 블록이 상기 비-직각 코딩 방식으로 인코딩된 것을 상기 서브-코딩 식별 정보가 지시하는 경우, 이후 프레임의 이후 윈도우가 숏 윈도우인지 아닌지에 따라서, 현재 프레임에 대해 제1 형태 및 제2 형태를 포함하는 윈도우 형태를 결정하는 단계; 및, 상기 결정된 윈도우 형태의 상기 현재 윈도우를 상기 현재 프레임에 적용하는 단계를 포함하고, 상기 제1 형태는 제1 경사의 하강 라인을 포함하고, 상기 제2 형태는 제2 경사의 하강 라인을 포함하고, 상기 제1 경사는 상기 제2 경사보다 완만한 것을 특징으로 하는 오디오 신호 처리 장치가 제공된다.
본 발명에 따르면, 상기 제1 경사의 폭은 256 샘플들 또는 N/4(N은 프레임 길이)에 해당하고, 상기 제2 경사의 폭은 128 샘플들 또는 N/8(N은 프레임 길이)에 해당한다.
본 발명에 따르면, 상기 현재 윈도우 및 다음 윈도우간의 교차점은 상기 다음 윈도우의 시작점으로부터 N/2만큼 떨어진 지점이다.
본 발명에 따르면, 상기 제1 경사는 비-숏 윈도우(non-short window)에서의 상승 라인의 경사와 매치되고, 상기 제2 경사는 상기 숏 윈도우에서의 상승 라인의 경사와 매치된다.
본 발명은 다음과 같은 효과와 이점을 제공한다.
첫째, 윈도우들 간의 비대칭(예: 직각 윈도우와 비-직각 윈도우)으로 인한 앨리어징 등의 결함을 보상할 수 있기 때문에, 오디오 신호의 음질이 현저히 향상된다.
둘째, 상기 앨리어징 등을 보상하기 위한 스킴을 적용함에 따라, 직각 윈도우와 비-직각 윈도우간의 100% 중첩(overlapping)이 필요 없어지므로, 비-직각 윈도우는 완만한 경사의 하강 라인을 유지할 수 있다.
셋째, 완만한 경사의 하강 라인을 갖는 비-직각 윈도우를 적용함으로써, 동종 윈도우들(비-직각 윈도우 및 비-직각 윈도우)간의 교차 지점과, 이종 윈도우들(예: 비-직각 윈도우 및 직각 윈도우)간의 교차 지점이 동일해지는 효과가 있다.
넷째, 동종 윈도우들의 교차 지점과 이종 윈도우들의 교차 지점이 동일해짐으로써, 윈도우 길이의 차이를 보상하기 위한 전이 윈도우가 불필요해지고, 제1 코딩 방식(예: 선형예측 도메인 방식) 및 제2 코딩 방식(예: 주파수 도메인 방식)간의 직접적인 전이(transition)이 가능해진다.
다섯째, 상기 직접적인 전이가 가능해짐에 따라, 미스 매치의 해결을 위한 윈도우를 사용하지 않고, 해당 블록의 오디오 신호 특성에 적합한 윈도우를 적용할 수 있기 때문에, 음질이 크게 향상되는 효과가 있다.
여섯째, 이전 또는 이후 블록에서 숏 윈도우가 존재하는지에 따라서, 비-직각 윈도우 방식에 해당하는 윈도우의 형태가 달라지도록 함으로써, TDAC 조건이 충족되어 음질이 향상된다.
도 1은 본 발명에 따른 오디오 신호 처리 장치의 개략적인 구성도.
도 2는 본 발명의 제1 실시예에 따른 인코더의 구성도.
도 3은 본 발명의 제1 실시예에 따른 디코더의 구성도.
도 4는 블록 단위로 구성된 오디오 신호 및, 프레임(또는 서브 프레임)별로 다른 코딩 방식이 적용되는 예.
도 5는 이종 코딩 방식(직각 코딩 방식 및 비-직각 코딩 방식)으로의 변화를 설명하기 위한 도면.
도 6은 직각 윈도우와 비-직각 윈도우가 중첩되었을 때의 특성을 설명하기 위한 도면.
도 7은 보정 파트(CP) 및 앨리어징 파트(AP), 및 비-보상된 신호를 설명하기 위한 도면.
도 8은 대칭성을 갖는 비-직각 윈도우의 특성을 설명하기 위한 도면(TDAC를 위한 윈도우의 조건).
도 9는 보정 파트 및/또는 앨리어징 파트를 보상하기 위한 보상 신호의 실시예들.
도 10은 도 6에 도시된 이종 윈도우(직각 윈도우와 비-직각 윈도우)간의 결합 중, 비-직각 윈도우의 예들을 설명하기 위한 도면.
도 11은 비-직각 윈도우 이후에 직각 윈도우가 중첩된 경우에 대한 도면.
도 12는 본 발명의 제2 실시예에 따른 인코더의 구성도.
도 13은 본 발명의 제2 실시예에 따른 디코더의 구성도.
도 14는 이전 블록이 직각 코딩 방식인지 여부에 따른 전이 윈도우의 형태를 나타내는 도면.
도 15는 본 발명의 제3 실시예에 따른 인코더의 구성도.
도 16은 본 발명의 제3 실시예에 따른 디코더의 구성도.
도 17은 롱-스타트 윈도우가 제1 방식 코딩 윈도우 및 제2 코딩 방식 윈도우(숏 윈도우)와 각각 결합된 경우의 형태를 보여주는 도면.
도 18은 숏 윈도우가 제1 코딩 방식의 윈도우 및 제2 코딩 방식의 윈도우(롱_스탑 윈도우)와 각각 중첩되었을 경우를 나타내는 도면.
도 19는 본 발명의 제4 실시예에 따른 인코더의 구성도.
도 20은 본 발명의 제4 실시예에 따른 디코더의 구성도.
도 21은 윈도우간의 경로 또는 전이.
도 22는 제1 코딩 방식에서 롱-스탑 윈도우로 전이되는 경우.
도 23은 제1 코딩 방식에서 숏 윈도우로 전이될 때의 경우.
도 24는 제1 코딩 방식 및 새로운 형태의 숏 윈도우가 중첩된 경우.
도 25는 본 발명의 제5 실시예에 따른 인코더의 구성도.
도 26은 본 발명의 제6 실시예에 따른 디코더의 구성도.
도 27은 제1 코딩 방식(예: TCX)에 해당하는 윈도우와 숏 윈도우(또는 롱_스탑 윈도우)가 중첩된 경우.
도 28은 형태 1 내지 형태 4로 변화하는 제1 코딩 방식 중 비-직각 방식의 윈도우.
도 29는 본 발명의 제6 실시예에 따른 인코더의 구성도.
도 30은 본 발명의 제6 실시예에 따른 디코더의 구성도.
도 31은 블록(프레임 또는 서브프레임)별 코딩 방식의 예들.
도 32는 롱텀 프리딕션과 관련한 신호 파형의 예.
도 33은 본 발명의 실시예에 따른 인코더가 적용된 오디오 신호 인코딩 장치의 일 예.
도 34는 본 발명의 실시예에 따른 디코더가 적용된 오디오 신호 디코딩 장치의 일 예.
도 35는 본 발명에 따른 오디오 신호 처리 장치가 구현된 제품의 개략적인 구성도.
도 36은 본 발명에 따른 오디오 신호 처리 장치가 구현된 제품들의 관계도.
이하 첨부된 도면을 참조로 본 발명의 바람직한 실시예를 상세히 설명하기로 한다.  이에 앞서, 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서, 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시예에 불과할 뿐이고 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.
본 발명에서 다음 용어는 다음과 같은 기준으로 해석될 수 있고, 기재되지 않은 용어라도 하기 취지에 따라 해석될 수 있다. 코딩은 경우에 따라 인코딩 또는 디코딩으로 해석될 수 있고, 정보(information)는 값(values), 파라미터(parameter), 계수(coefficients), 성분(elements) 등을 모두 아우르는 용어로서, 경우에 따라 의미는 달리 해석될 수 있는 바, 그러나 본 발명은 이에 한정되지 아니한다.
여기서 오디오 신호(audio signal)란, 광의로는, 비디오 신호와 구분되는 개념으로서, 재생 시 청각으로 식별할 수 있는 신호를 지칭하고, 협의로는, 음성(speech) 신호와 구분되는 개념으로서, 음성 특성이 없거나 적은 신호를 의미한다. 본 발명에서의 오디오 신호는 광의로 해석되어야 하며 음성 신호와 구분되어 사용될 때 협의의 오디오 신호로 이해될 수 있다.
또한 코딩이란, 인코딩만을 지칭할 수도 있지만, 인코딩 및 디코딩을 모두 포함하는 개념으로 사용될 수도 있다.
도 1은 본 발명에 따른 오디오 신호 처리 장치의 개략적인 구성을 보여주는 도면이다. 도 1을 참조하면, 본 발명에 따른 오디오 신호 처리 장치 중 인코더(100)는 두 개의 코딩 유닛(직각 코딩 유닛(120R) 및 비-직각 코딩 유닛(120N))(또는 제1 코딩 유닛(120-1) 및 제2 코딩 유닛(120-2)을 포함하고, 신호 분류부(110) 및 멀티플렉서(130)를 더 포함할 수 있다.
한편, 직각 코딩 유닛(120R)은 직각 코딩 방식이 적용되는 코딩 유닛인데, 직각 코딩 방식은, 직각 형태의 윈도우가 적용되는 코딩 방식을 일컫고, 반대로 비-직각 코딩 방식이란, 비-직각 형태의 윈도우가 적용되는 코딩 방식을 말한다.
한편 제1 코딩 유닛(120-1) 및 제2 코딩 유닛(120-2)은 서로 다른 도메인을 기반으로 하는 제1 코딩 방식 및 제2 코딩 방식이 각각 적용되는 유닛들이다. 상기 도메인에는, 선형예측 도메인, 주파수 도메인, 시간 도메인 등이 해당될 수 있다. 예를 들어, 제1 코딩 방식이 선형예측 도메인 기반의 코딩 방식이고, 제2 코딩 방식이 주파수 도메인 기반의 방식에 해당할 수 있는데, 도메인의 유형에 따른 정의 및 특성은 추후에 구체적으로 설명하고자 한다.
만약, 인코더(100)가 세 개의 특정 코딩 유닛(즉, A 코딩 유닛(120A) 내지 C 코딩 유닛(120C))을 포함할 수 있다. A 코딩 유닛(120A)에 적용되는 A 코딩 방식은, 도 1에 일 예로 도시된 바와 같이, 직각 코딩 방식이면서, 제1 코딩 방식에 해당할 수 있다. B 코딩 유닛(120B)에 적용되는 B 코딩 방식은, 비-직각 코딩 방식이자 제1 코딩 방식에 해당할 수 있고, C 코딩 방식은 비-직각 코딩 방식이자 제2 코딩 방식에 해당할 수 있다. 이는, 앞서 언급한 바와 같이, 도1 에 도시된 바는 일 예에 불과할 뿐, 본 발명은 이에 한정되지 않는다. 다만, 이하에서는, 설명의 편의를 위해 도1에 도시된 예를 기준으로 설명하고자 한다.
한편, A 코딩 방식은 ACELP(Algebraic Code Excited Linear Prediction) 방식, B 코딩 방식은 TCX(transform coded excitation), C 코딩 방식은 MDCT(Modified Discrete Fourier Transform)에 해당할 수 있으나, 본 발명은 이에 한정되지 아니한다. A 코딩 방식 내지 C 코딩 방식에 대한 구체적인 설명은, 상기 직각 코딩 방식/비직각 코딩 방식, 및 제1 코딩 방식/제2 코딩 방식에 대한 구체적인 설명과 함께 후술하고자 한다.
신호 분류부(110)는 입력 오디오 신호의 특성을 분석하여, 그 특성을 근거로 현재 프레임(또는 서브프레임)이 상기 언급한 둘 이상의 코딩 방식 중 어느 코딩 방식을 적용할지를 결정한다. 그 결정된 바에 따라, 코딩 방식 정보를 생성한다. 둘 이상의 코딩 방식은 앞서 언급한 바와 같이, 직각 방식/비-직각 방식에 해당할 수 있고, 제1 코딩 방식/제2 코딩 방식에 해당할 수도 있고, A 코딩 방식 내지 C 코딩 방식에 해당할 수 있으나, 본 발명은 이에 한정되지 아니한다.
예를 들어, 도 1에 도시된 예와 같은 경우, 코딩 방식 정보는 코딩 식별 정보 및 서브-코딩 식별 정보를 포함할 수 있다. 여기서, 코딩 식별 정보는 현재 프레임에 대해, 제1 코딩 방식 또는 제2 코딩 방식 중 하나를 나타낸다. 상기 서브-코딩 식별 정보란, 현재 프레임이 제1 코딩 방식에 해당하는 경우, 그 중 A 코딩 방식인지 B 코딩 방식인지를 프레임별로 (또는 서브프레임별로) 나타내는 정보이다.
신호 분류부(110)는 상기 코딩 방식 정보(coding scheme information)을 생성하여 멀티플렉서(130)에 전달한다.
한편, 입력 신호는 신호 분류부(110)의 제어에 따라서, 프레임 또는 서브 프레임별로 나뉘어 직각 코딩 유닛(120R) 또는 비-직각 코딩 유닛(120N)에 입력되거나, 대신에 제1 코딩 유닛(120-1) 및 제2 코딩 유닛(120-2)에 입력된다. 만약, 도 1에 도시된 예와 같은 경우, 입력 신호는, A 코딩 유닛(120A) 내지 C 코딩 유닛(120C) 중 하나에 입력될 수 있다.
도 1에 도시된 예와 같은 경우, A 코딩 유닛(120A) 내지 C 코딩 유닛(120C)은 각각의 코딩 방식에 따라서 입력 신호를 인코딩한 결과인 데이터를 멀티플렉서(130)로 전달한다.
멀티플렉서(130)는 코딩 방식 정보 및, 각 유닛에 의해 코딩된 결과인 데이터를 멀티플렉싱함으로써, 하나 또는 그 이상의 비트스트림을 생성한다.
본 발명에 따른 오디오 신호 처리 장치 중 디코더(200)는 둘 이상의 디코딩 유닛(220R, 220N)(220-1, 220-2)을 포함하고, 디멀티플렉서(210)를 더 포함할 수 있다. 둘 이상의 디코딩 유닛은 앞서 설명한 둘 이상의 코딩 유닛에 대응되는 디코딩 측면의 구성요소로서, 직각 디코딩 유닛(220R) 및 비-직각 디코딩 유닛(220N) 또는, 제1 디코딩 유닛(220-1) 및 제2 디코딩 유닛(220-2)에 해당한다. 앞서 인코더(100)에서 설명한 바와 유사하게, 도 1에 도시된 바와 같이 A 디코딩 유닛(220A) 내지 C 디코딩 유닛(220C)를 포함할 수 있다.
직각 디코딩 유닛(220R)에서 적용되는 직각 코딩 방식 및, 비-직각 디코딩 유닛(220N)에서 적용되는 비-직각 코딩 방식 또한, 앞서 언급한 바와 같다. 제1 디코딩 유닛(220-1)에서 적용되는 제1 코딩 방식, 및 제2 디코딩 유닛(220-2)에서 적용되는 제2 코딩 방식 또한 마찬가지이다. 앞서 언급한 바와 같이, 도1에 도시된 예와 같이 A 디코딩 유닛(220A) 내지 C 디코딩 유닛(220C)을 포함하는 경우, 각 유닛에서 사용되는 A 코딩 방식 내지 C 코딩 방식에 대해서는 추후 구체적으로 설명하고자 한다.
디멀티플렉서(210)는 하나 또는 그 이상의 비트스트림으로부터 코딩 방식 정보 및 각 프레임(또는 서브프레임 별)에 대한 데이터를 추출한다. 각 데이터는, 코딩 방식 정보에 따라서, 해당 디코딩 유닛(예: 220A 내지 220C)에 전달된다. 각 디코딩 유닛은 각 디코딩 방식에 따라 데이터를 디코딩함으로써 출력 오디오 신호를 생성한다.
이제, 도 1에 도시된 본 발명에 따른 오디오 신호 처리 장치의 각 실시예에 대해서 차례대로 설명하고자 한다.
도 2는 본 발명의 제1 실시예에 해당하는 오디오 신호 처리 장치 중 인코더(100A)의 구성을 보여주는 도면이고, 도 3은 디코더의 구성을 보여주는 도면이다. 요컨대 제1 실시예는, 직각 코딩 방식으로 인코딩된 블록과 비-직각 코딩 방식으로 인코딩된 블록이 서로 맞닿아있을 때, 앨리어징 등의 결함을 보상하기 위한 실시예에 해당한다.
도 2를 참조하면, 제1 실시예에 따른 인코더(100A)는 도 1에 도시된 인코더(100)과 마찬가지로 직각 코딩 유닛(120R) 및 비-직각 코딩 유닛(120N)을 포함하고 멀티플렉서(130)를 더 포함할 수 있다. 세부적으로, 직각 코딩 유닛(120R)은 직각 방식 코딩 파트(122) 및 직각 방식 합성 파트(124)을 포함하고, 비-직각 코딩 유닛(120N)은 보상 정보 생성 파트(128)를 포함하고, 비-직각 방식 코딩 파트(126)을 더 포함할 수 있다.
우선 입력 신호를 블록 단위로 나뉘어 지고, 블록별로 직각 코딩 유닛(120R) 또는 비-직각 코딩 유닛(120N)으로 입력된다. 여기서 블록이란 프레임 또는 서브프레임에 해당하는 단위이다.
이하, 도 4 및 도 5와 함께 프레임별 코딩 방식(직각 코딩 방식/비-직각 코딩 방식)에 대해서 살펴보고, 도 6 내지 11과 함께 이종 코딩 방식(직각 코딩 방식/ 비-직각 코딩 방식)으로의 변화에서 발생하는 결함(앨리어징 등)을 보상하는 다양한 방법에 대해서 설명하고자 한다. 도 4 내지 도 11에 대한 구체적인 설명 이후에, 다시 도 2 및 도 3의 각 구성 요소에 대해서 설명하고자 한다.
도 4는 오디오 신호의 구성 단위 및, 구성 단위별 코딩 방식의 예이다. 도 4를 참조하면, 오디오 신호가 i번째 프레임(frame i) 및 i+1번째 프레임(frame i+1)을 포함하는 일련의 프레임으로 구성됨을 알 수 있다. 여기서 하나의 프레임의 복수 개(예: 4개)의 서브프레임으로 이루어짐을 알 수 있다. 도 4는 또한, 프레임별 또는 서브 프레임별로 서로 다른 코딩 방식이 적용될 수 있음을 보여준다. 구체적으로, 세 가지의 코딩 방식, 즉, A 코딩 방식(ACELP), B 코딩 방식(TCX), C 코딩 방식(FD)이 존재할 경우의 예이다. 프레임의 복수 개의 서브 프레임(예: 4개의 서브 프레임)으로 구성될 수 있다. 그리고, A 코딩 방식(예: ACELP)는, 도 4의 (A)의 i번째 프레임에 나타난 바와 같이 서브 프레임별로 적용될 수 있다. B 코딩 방식(예: TCX)는 (B)의 i번째 프레임, 및 (D)의 i번째 프레임 및 i+1번째 프레임에 나타난 바와 같이, 1개의 서브 프레임, 2개의 연속된 서브 프레임, 4개의 연속된 서브 프레임(즉, 하나의 프레임)에 적용될 수 있다. C 코딩 방식(예: FD)는 (A) 및 (C)에 나타난 바와 같이 서브프레임이 아닌 프레임 단위로 적용될 수 있으나, 본 발명은 이에 한정되지 아니한다.
도 5는 이종 코딩 방식(직각 코딩 방식 및 비-직각 코딩 방식)으로의 변화를 설명하기 위한 도면이다. 도 5의(A-1)를 참조하면, N번째 블록은 직각 코딩 방식에서, N+1번째 블록은 비-직각 코딩 방식으로 변화한 예를 보여주고, (A-2)은 그 반대의 경우를 보여주고 있다. 여기서 블록이란 앞서 설명한 프레임이나 또는 서브 프레임에 해당할 수 있다. 즉, N번째 블록 및 N+1번째 블록 각각은 프레임 또는 서브 프레임이 될 수 있다. 즉, 프레임-프레임/ 프레임-서브프레임/ 서브프레임- 프레임/ 서브프레임-서브프레임 총 4가지 조합이 모두 가능하다.
도 5의 (A-1)와 같이 직각 코딩 방식에서 비-직각 코딩 방식으로 변화된 예를 앞서 도 4의 (A) 내지 (D)의 경우에서 찾아볼 수 있다.
도 1에 대한 설명에서 언급한 바와 같이, A 코딩 방식(ACELP)이 직각 코딩 방식(rectangular coding scheme)에 해당하고, B 코딩 방식(TCX) 및 C 코딩 방식(FD)이 비-직각 코딩 방식(non-rectangular coding scheme)에 해당될 수 있는데, 직각 코딩 방식에서 비-직각 코딩 방식으로 변화된 경우(도 5의 (A-1)는 즉 A 코딩 방식(ACELP)에서 B 코딩 방식(TCX)(또는 C 코딩 방식(FD))로 변화한 경우는, 도 5의 (B-1) 내지 (B-4) 중에서 점선으로 표시되어 있는 부분들과 같다.
반대로, 비-직각 코딩 방식에서 직각 코딩 방식으로 변화된 경우, 즉, B 코딩 방식(TCX)(또는 C 코딩 방식(FD))에서 A 코딩 방식(ACELP)으로 변화한 경우(도 5의 (A-2))는 (B-1) 내지 (B-4)에서 그 표시가 생략되어 있으나, 두 세군데정도(예: 도 5의 (B-2)에서 첫번째 및 두번째 블록 등)에서 찾을 수 있다.
이와 같이 직각 윈도우와 비-직각 윈도우가 맞닿는 지점에서는 그 비대칭성으로 인해 앨리어징 등의 결함이 생길 수 있는 데, 이 결함과 보상하기 위한 방법에 대해 도 6 내지 도 9와 함께 설명하고자 한다.
도 6은 직각 윈도우와 비-직각 윈도우가 중첩되었을 때의 특성을 설명하기 위한 도면이다. 도 7은 보정 파트(CP) 및 앨리어징 파트(AP), 및 비-보상된 신호를 설명하기 위한 도면이다. 도 6은 직각 윈도우 다음에 비-직각 윈도우가 나타나는 경우에 해당하고, 반대로, 비-직각 윈도우 이후에 직각 윈도우가 중첩되는 경우에 대해서는 추후에 설명하고자 한다.
도 6을 참조하면, 우선, 직각 윈도우와 비-직각 윈도우가 중첩되어 있음을 알 수 있다. 블록 A 내지 F를 포함하는 오디오 신호에 대해, 직각 윈도우는 블록 B 및 블록 C에 적용되어 있고, 비-직각 윈도우는 블록 C 내지 블록 F에 적용되어 있음을 알 수 있다. 즉, 블록 C 부분에서 직각 윈도우와 비-직각 윈도우가 중첩되어 있는 것이다. 도 6의 (a) 내지 (d)는 블록 A 내지 F 에 대해서 순차적으로 윈도우윙, 폴딩, 언-폴딩, 윈도우윙이 적용된 결과를 나타내고 있다. 윈도우윙, 폴딩, 언-폴딩, 윈도우윙은 비-직각 윈도우와 관련하여 시간 도메인 앨리어징 제거(time domain aliasing cancellation: TDAC) 기술이 적용하기 위해, 각 블록에 순차적으로 적용되는 과정이다.
우선 도 6의 (a)를 참조하면, 블록 B 및 C에 직각 윈도우가 적용된 결과(도트 표시된 블록)와, 그 아래 블록 C 내지 블록 F에 비-직각 윈도우가 적용된 결과가 표시되어 있다. C(L1)는 블록 C에 비-직각 윈도우의 L1부분이 적용된 결과이고, D(L2)는 블록 D에 비-직각 윈도우의 L2 부분이 적용된 결과이다. 그런 다음, 비-직각 윈도우가 적용된 결과에 대해 폴딩을 수행하면, 도 6의 (b)와 같이 된다. Er 및 Dr 등은 블록 경계를 기준으로 폴딩이 수행되어 반전(reverse)된 것을 의미한다. 그런 다음, 언-폴딩이 수행되면, 도 6의 (c)에 나타난 바와 같다. 그런 다음, 다시 언-폴딩된 블록에 비-직각 윈도우를 적용하면 도 6의 (d)에 나타난 바와 동일한 결과가 나온다.
즉, 원본 신호의 블록 D에 대응하는 비-보상된 신호(uncompensated signal), 즉, 전송된 데이터로만 획득된 신호는 도 6에 나타난 바와 같이 다음과 같다.
[수학식 1]
비-보상된 신호 = (-Cr(L1)r+D(L2))(L2)
여기서, C, D는 블록 C 및 블록 D에 해당하는 데이터, r은 반전, L1 및 L2는 비-직각 윈도우의 L1 부분 또는 L2 부분이 적용된 결과.
이제, 도 7 내지 도 9을 참조하면서, 비-보상된 신호를 원본 신호와 동일하게 또는 유사하게 보상하는 방법에 관해서 설명하고자 한다. 우선 도 7을 참조하면, 앞서 수학식 1에 대응하는 비-보상된 신호가 도시되어 있다.
한편, 비-직각 윈도우는 대칭성을 갖는데, 이 비-직각 윈도우가 갖는 특성은 도 8에 도시된 바와 같이 다음과 같다. 도 8은 앞서 설명한 TDAC를 위한 윈도우의 조건이기도 하다.
[수학식 2]
Li 2 + Ri 2 = 1 (i=1,2)
L1r = R2,
L2r = R1
여기서, L1는 좌측 첫 번째 부분, L2 좌측 두 번째 부분, R1은 우측 첫 번째 부분, R2는 우측 두 번째 부분
따라서, 비-직각 윈도우가 갖는 상기 특성을 적용하면 수학식 1은 다음과 같이 정리될 수 있다.
[수학식 3]
비-보상된 신호 = (-Cr(L1)r+D(L2))(L2) = D(L2)2-Cr(R2L2) (왜냐면 L1r = R2)
따라서, 비-보상된 신호가 원본 신호 D와 동일해지기 위해서는, 다시 말해서, 완벽한 보상을 위해서 필요한 신호는 도 7에 나타난 바와 같이 다음과 같다.
[수학식 4-1]
완벽 보상을 위해 필요한 신호= 원본 신호 - 비-보상된 신호
= D -( D(L2)2-Cr(R2L2))
한편, 여기서 상기 수학식 2에 개시된 특성을 이용하면 다음과 같이 정리된다.
[수학식 4-2]
완벽 보상을 위해 필요한 신호 = D(R2)2 + Cr(R2L2) (왜냐면 1 - L2 2=R2 2)
이때, 수학식 4-2의 첫 번째 텀(D(R2)2)은 보정 파트(correction part)에 해당하고, 두 번째 텀(Cr(R2L2))은 앨리어징 파트(aliasing part)로 지칭할 수 있다.
보정 파트(CP) 및 앨리어징 파트(AP)는 동종 윈도우(비-직각 윈도우 및 비-직각 윈도우)들이 중첩되었다면, 시간 도메인 앨리어징 제거(time domain aliasing cancellation: TDAC)가 수행되어 합산(ADDING)됨으로써 삭제될 부분에 해당한다. 다시 말해서, 보정 파트(CP)와 앨리어징 파트(AP)는 이종 윈도우(직각 윈도우와 비-직각 윈도우)가 중첩되었기 때문에, 제거되지 못하고 남아있는 오류이다.
특히, 보정 파트(CP)는 현재 블록(예: 블록 D)(윈도우 교차 지점 이후 블록)에 비-직각 윈도우(그 중 R2)가 적용된 부분에 해당한다. 한편, 앨리어징 파트(AP)는 이전 블록(예: 블록 C)(즉, 윈도우 교차 지점 이전 블록)(직각 윈도우와 비-직각 윈도우가 중첩된 블록)에 비-직각 윈도우(그 중 R2, L2)가 적용된 부분에 해당한다.
한편, 이전 블록(예: 블록 C)은 이전 블록의 데이터를 이용하여 디코더에서 복원할 수 있기 때문에, 복원된 이전 블록을 이용하여 앨리어징 파트의 프리딕션을 생성할 수 있는 데, 이는 다음 수학식과 같이 표현할 수 있다.
[수학식 5]
앨리어징 파트의 프리딕션= qCr(R2L2)
한편, 앨리어징 파트의 프리딕션과 원본 앨리어징 파트의 차이(또는 양자화 에러)인 앨리어징 파트의 에러는 다음과 같이 표현할 수 있다.
[수학식 6]
앨리어징 파트의 에러= er(R2L2) = Cr(R2L2) - qCr(R2L2)
상기 수학식 5 및 수학식 6을 이용하여 수학식 4-2를 정리하면 다음 수학식과 같다.
[수학식 7]
완벽 보상을 위해 필요한 신호 = D(R2)2 + Cr(R2L2)= D(R2)2 + (qCr+er)(R2L2)
여기서, D(R2)2 는 보정 파트(CP), qCr(R2L2)는 앨리어징 파트(AP)의 프리딕션, er(R2L2)는 앨리어징 파트의 에러
즉, 완벽 보상을 위해 필요한 신호는, 수학식 7과 같이, 보정 파트(CP)와 앨리어징 파트(AP)의 합이다.
이와 같이 보정 파트(CP) 및 앨리어징 파트(AP)를 보상하기 위한 세 가지 방법에 대해서 도 9를 참조하면서 설명하고자 한다.
도 9는 보정 파트 및/또는 앨리어징 파트를 보상하기 위한 보상 신호의 실시예들을 설명하기 위한 도면이다. 도 9의 (A)에 도시된 제1 실시예의 보상 신호는 보정 파트(CP) 및 앨리어징 파트의 에러를 포함하고, 도 9의 (B)의 제2 실시예에 따른 보상 신호는 보정 파트(CP)만을 포함한다. 도 9의 (B)의 제3 실시예는 보상 신호가 디코더로 전송되지 않고, 디코더에서 보정 파트(CP) 및 앨리어징 파트(AP)을 추정한다.
[수학식 8-1]
Method A: 보상 신호= D(R2)2 + er(R2L2), 이때 복원 신호는 D
제1 실시예에 따른 보상 신호의 경우, 앞서 수학식 5와 함께 설명된 바와 같이, 앨리어징 파트(AP)의 프리딕션은, 인코더에서 디코더로 전송하지 않더라도, 이전 블록(즉, 직각 윈도우 및 비-직각 윈도우의 중첩 부분에 해당하는 블록)의 데이터를 근거로 디코더에서 획득될 수 있다. 따라서, 보상 신호가 보정 파트(CP) 및 앨리어징 파트의 에러를 포함하더라도, 디코더에서는 앨리어징 파트의 프리딕션을 생성할 수 있으므로, 완벽 보상을 위한 신호(상기 수학식 7)를 획득할 수 있다. 제1 실시예는 앨리어징 파트(AP) 그 자체가 아닌 에러만을 전송함으로써, 비트수를 절약할 수 있고, 앨리어징 파트(AP)의 에러까지 보상함으로써, 완벽하게 보상된 신호를 획득할 수 있는 장점이 있다.
제2 실시예의 경우에는, 보상 신호가 보정 파트(CP)에 해당하는 신호만을 포함한다.
[수학식 8-2]
Method B: 보상 신호= D(R2)2, 이때 복원 신호는 D- er(R2L2)
디코더에서는, 앞서 설명한 바와 같이(또 제1 실시예와 마찬가지로) 앨리어징 파트(AP)의 프리딕션을 생성하고, 이 프리딕션과 함께, 보정 파트(CP)에 해당하는 보상 신호를 이용하여 보상된 신호를 획득한다. 제2 실시예는, 앨리어징 파트(AP)의 에러가 보상된 신호에 남을 수 있기 때문에, 복원율 또는 음질이 다소 낮아질 수는 있지만, 제1 실시예보다는 보상 신호의 압축율을 높일 수 있는 효과가 있다.
제3 실시예는, 보상 신호가 전송되지 않고, 디코더에서 보정 파트(CP) 및 앨리어징 파트(AP)를 추정하는 것이다.
[수학식 8-3]
Method C: 보상 신호= 전송 안됨, 디코더에서 생성된 보상 신호 = qCr(L2R2)+ D(R2)2, 복원 신호는 D- er(R2)/(L2)
앞서 설명한 바와 같이(또는 제1 실시예 및 제2 실시예와 마찬가지로) 앨리어징 파트(AP)의 프리딕션은 디코더에서 생성될 수 있다. 한편, 보정 파트(CP)는 현재 블록(예: 블록 D)에 해당하는 신호에 대해 윈도우 형태(shape)을 보상함으로써 생성할 수 있다. 구체적으로, 이전 블록의 데이터(qC)를 이용하여 qCr(L2R2)를 생성하고 이를 수학식 1과 같은 비-보상된 신호에 더한다. 그러면, D(L2)2 er(L2R2)가 생성되는데, 이 신호에 (L2)2를 나누어 줌으로써(구체적으로, D(R2)2를 생성하여 더해주는 과정일 수 있음) D-er(R2)/(L2)을 획득한다. 단, 수학식 8-3에서 현재 블록(블록 D)에 대한 양자화 에러는 표현되지 않았다.
제3 실시예는 제1 실시예 및 제2 실시예에 비해서, 복원률이 다소 떨어질 수 있지만, 보상 신호를 전송하기 위한 비트가 전혀 필요하지 않기 때문에, 압축율이 매우 높다.
도 10은 도 6에 도시된 이종 윈도우(직각 윈도우와 비-직각 윈도우)간의 결합 중, 비-직각 윈도우의 예들을 설명하기 위한 도면이다. 비-직각 윈도우의 예들은, 도 10의 (A) 내지 (C)에 나타난 바와, 모서리가 직각이 아니며, 경사가 있는 상승 라인을 갖는다. 도 10의 (A) 내지 (C)에 해당하는 각각의 비-직각 윈도우의 형태는 다음 표와 같이 나타낼 수 있다.
총 길이 왼쪽 제로구간 상승 라인 탑 라인 하강 라인 오른쪽 제로 구간
(A) N/4 또는 256 0 N/4 또는 256 0 N/4 또는 256 0
(B) N/2 또는 512 N/8 또는 128 N/4 또는 256 N/4 또는 256 N/4 또는 256 N/8 또는 128
(C) N 또는 1024 N3/8 또는 384 N/4 또는 256 3N/4 또는 768 N/4 또는 256 N/8 또는 128
여기서 N은 프레임 길이, 숫자는 샘플의 개수(예: 256은, 256 샘플)
표 1 및 도 10에 나타난 바와 같이, 위 세 가지 타입의 윈도우 모두 상승 라인 및 하강 라인의 폭이 N/4(N 프레임 길이)일 수 있다.
한편, (A) 내지 (C)에 나타난 비-직각 윈도우들은 B 방식(예: TCX)의 모드 1, 모드 2, 모드 3에 대응하는 윈도우들에 해당할 수 있으나, 본 발명은 이에 한정되지 아니한다. 여기서 모드 1은 도 4에서 언급한 바와 같이 1개의 서브프레임에 B 방식이 적용될 때의 윈도우, 모드 2는, 2개 연속된 서브프레임에 B 방식이 적용될 때의 윈도우, 모드 3는 4개의 연속된 서브프레임(즉, 1개의 프레임)의 경우의 윈도우에 해당할 수 있다.
한편, 도 10에서는 B 방식에 해당하는 비-직각 윈도우의 예들을 살펴본 바, C 방식(예: MDCT)에 해당하는 비-직각 윈도우의 예들은 추후 제2 실시예에 따른 오디오 신호 처리 장치와 함께 설명하고자 한다.
도 11은 비-직각 윈도우 이후에 직각 윈도우가 중첩된 경우에 대한 도면이다. 도 6는 직각 윈도우 이후에 비-직각 윈도우가 나타나는 경우인데 비해, 반대로 도 11는 비-직각 윈도우 이후에 직각 윈도우가 중첩되는 경우이다.
도 11의 (A)를 참조하면, 도 6의 경우와 마찬가지로, 이런 경우도 마찬가지로, 비-직각 윈도우에 대응되는 블록에서 보정 파트(CP) 및 앨리어징 파트(AP)가 발생됨을 알 수 있다. 비-직각 윈도우와 직각 윈도우가 중첩되는 블록이 도 6과 달리 이전 블록(previous block)이 아니라 이후 블록(following block)이기 때문에, 이후 블록의 데이터를 이용하여 앨리어징 파트(AP)의 프리딕션을 생성할 수 있다. 또한, 도 9와 함께 설명된, 다양한 실시예에 해당하는 보상 신호를 전송함으로써, 비-직각 윈도우 및 직각 윈도우간의 중첩으로 인해 발생하는 결함(보정 파트(CP) 및 앨리어징 파트(AP))을 해결할 수 있다.
한편, 도 11의 (B)를 참조하면, 직각 윈도우의 임베딩 파트(EP)는 비-직각 윈도우에 대응하는 코딩 방식(예: B 방식 또는 C 방식)에 따라 코딩된 데이터에 앨리어징 파트(AP)로서 임베딩된다. 따라서, 직각 윈도우에 대응되는 전체 신호를 D라고 하고, 임베딩 파트(EP)가 Crw라 할 때, 이는 다음 수학식과 같다.
[수학식 9]
Crw = Cr(R1)r + D(R2)
참고로 상기 신호는 디코더측에서 윈도우를 적용하기 전의 신호이다.
즉 상기 임베딩 파트(EP)(Crw)는 디코더에서 계산을 해낼 수 있다. 직각 코딩 방식에 따라서 D 전체를 코딩하기 보다는, D-Crw만(도면에서 전송 파트(TP))을 부호화하여 전송할 수 있다. 전송 파트 TP)를 나타내면 다음과 같다.
[수학식 10]
TP = D - Crw = -Cr(R1)r-D(1-R2)
디코더는 비-직각 코딩 방식에 대응하는 언-폴딩된 데이터와, 직각 코딩 방식에 대응하는 데이터를 중첩시켜서 원래 신호를 복원할 수 있다.
앞서 도 4 내지 도 11를 참조하면서, 이종 코딩 방식 및 이종 윈도우(직각 윈도우 및 비-직각 윈도우)가 중첩되었을 경우의 결함을 보상하기 위한 내용에 대해서 구체적으로 설명한 바, 다시 도 2 및 도 3을 참조하면서, 제1 실시예에 따른 오디오 신호 처리 장치 및 방법에 대해서 설명하고자 한다.
다시 도 2를 참조하면서, N 번째 블록이 직각 코딩 방식에 대응되는 블록이고, N+1번째 블록이 비-직각 코딩 방식에 대응되는 블록인 경우에 대해서 설명하되, 그 반대의 경우(즉, N번째 블록이 비-직각 코딩 방식, N+1번째 블록이 직각 코딩 방식)도 도 10의 (A)을 참조하면서 언급한 바와 같이 적용될 수 있음은 물론이다.
직각 방식 코딩 파트(122)는 입력 신호 중 N번째 블록을 직각 코딩 방식에 따라 인코딩하여 그 인코딩된 데이터(편의상, 제1 데이터라고 약칭)를 직각 방식 합성 파트(124) 및 멀티플렉서(130)에 전달한다. 여기서 직각 코딩 방식은 앞서 언급한 바와 같이 직각 윈도우가 적용되는 코딩 방식으로서, ACELP가 여기에 속할 수 있지만 본 발명은 이에 한정되지 아니한다. 직각 방식 코딩 파트(122)는, 예를 들어, 도 6에서의 블록 B 및 블록 C를 A 코딩 방식으로 직각 윈도우를 적용하여 인코딩한 결과일 수 있다.
직각 방식 합성 파트(124)는 인코딩된 데이터(제1 데이터)를 이용하여 앨리어징 파트(AP)의 프리딕션을 생성한다. 구체적으로, 우선, 직각 코딩 방식으로 디코딩함으로써 출력 신호를 생성한다. 예를 들어, A 코딩 방식에 따라 블록 C(및 블록 B)를 원래대로 복원하는 것이다. 이 출력 신호 및 비-직각 윈도우를 이용하여 앨리어징 파트의 프리딕션을 획득한다. 여기서 앨리어징 파트의 프리딕션은 상기 수학식 5와 같다. 수학식 5에서 qC 는 출력 신호이고, R2L2는 비-직각 윈도우에 해당한다. 이 앨리어징 파트의 프리딕션은 보상 정보 생성 파트(128)로 입력된다.
비-직각 방식 코딩 파트(126)은 N+1번째 블록을 비-직각 코딩 방식으로 인코딩함으로써 인코딩된 데이터(편의상, 제2 데이터)를 생성한다. 예를 들어, 제2 데이터는, 도 6에서 블록 C 내지 F 에 대해서 비-직각 윈도우를 적용한 후, 폴딩한 결과에 해당할 수 있다. 비-직각 코딩 방식은 앞서 언급한 바와 같이 B 코딩 방식(예: TCX) 또는 C 코딩 방식(예: MDCT)에 해당할 수 있으나, 본 발명은 이에 한정되지 아니한다. 이 제2 데이터는 멀티플렉서(130)로 전달된다.
보상 정보 생성 파트(124)는 앨리어징 파트의 프리딕션과 원본 입력 신호를 이용하여 보상 신호를 생성한다. 보상 신호는 도 9에 나타난 바와 같이 세 가지 방식에 따라 생성될 수 있다. 방법 A인 경우, 앨리어징 파트의 프리딕션과 원본 입력 신호를 모두 이용하고, 방법 B인 경우, 원본 입력 신호만을 이용할 수 있다. 방법 C의 경우, 보상 신호를 생성하지 않는 경우이다. 위 세 가지 방식은 전체 프레임 또는 서브 프레임에 대해 동일한 방식이 적용될 수도 있지만, 각 프레임의 비트효율을 고려하여, 프레임마다 다른 방식이 적용될 수도 있다. 보상 신호의 정의 및 생성과정에 대해서는, 도 6 내지 도 9와 함께 상세히 설명된 바 있으므로, 구체적인 설명은 생략하고자 한다. 보상 정보 생성 파트(124)에서 생성된 보상 신호는 멀티플렉서(130)로 전달된다.
멀티플렉서(130)는 상기 제1 데이터(예: N번째 블록의 데이터), 제2 데이터(예: N+1 번째 블록의 데이터) 및 보상 신호를 멀티플렉싱함으로써, 하나 이상의 비트스트림을 생성하여 인코더에 전송한다. 물론 도 1의 멀티플렉서(130)와 마찬가지로 코딩 방식 정보 등을 비트스트림에 포함시킬 수 있다.
도 3을 참조하면, 제1 실시예에 따른 디코더(200A)는 제1 의 디코더(200)와 마찬가지로, 직각 디코딩 유닛(220) 및 비-직각 디코딩 유닛(220N)을 포함하고 디멀티플렉서(210)를 더 포함할 수 있는데, 상기 비-직각 디코딩 유닛(228)은 보상 파트(228)를 포함한다. 세부적으로, 직각 디코딩 유닛(220R)은 직각 방식 디코딩 파트(222) 및 앨리어징 예측 파트(224)를 더 포함할 수 있고, 비-직각 디코딩 유닛(220N)은 비-직각 방식 디코딩 파트(226)을 더 포함할 수 있다.
디멀티플렉서(210)는 하나 이상의 비트스트림으로부터 제1 데이터(직각 코딩 방식으로 코딩된 데이터)(예: N번째 블록의 데이터), 제2 데이터(비-직각 코딩 방식으로 코딩된 데이터)(예: N+1번째 블록의 데이터), 및 보상 신호를 추출한다. 보상 신호는 앞서 도 9에 함께 설명된 세 가지 유형 중 하나에 해당할 수 있다.
직각 방식 디코딩 파트(222)는 제1 데이터를 직각 코딩 방식으로 디코딩하여 출력 신호를 생성한다. 도 6의 블록 C (및 블록 B)를 획득하는 것과 마찬가지이다.
앨리어징 예측 파트(224)는 앞서 도 2의 직각 방식 합성 파트(124)와 마찬가지로 출력 신호와 비-직각 윈도우를 이용하여 앨리어징 파트의 프리딕션을 생성한다. 앨리어징 파트의 프리딕션은 상기 수학식 5에 해당할 수 있다.
비-직각 방식 디코딩 파트(226)은 제2 데이터를 비-직각 코딩 방식으로 디코딩하여 신호를 생성한다. 이 신호는 앨리어징 등이 보상되기 전의 신호이므로 앞서 설명한 비-보상된 신호에 해당한다. 앞서 수학식 1에 표현된 신호와 동일할 수 있다.
보상 파트(228)는 디멀티플렉서(210)로부터 전달된 보상 신호, 앨리어징 프리딕션 파트(224)에서 획득된 앨리어징 파트의 프리딕션 및, 비-직각 방식 디코딩 파트(226)에서 생성된 비-보상된 신호를 이용하여 복원된 신호를 생성한다. 여기서, 복원된 신호는 앞서 도 9 및 수학식 8-1 내지 수학식 8-3과 함께 설명된 바와 같다.
이하에서는, 도 12 내지 도 13을 참조하면서, 제2 실시예에 따른 오디오 신호 처리 장치를 설명하고자 한다. 제1 실시예는 N번째 블록이 직각 코딩 방식(예: A 코딩 방식)에 해당하고, N+1번째 블록이 비-직각 코딩 방식(예: B 코딩 방식 또는 C 코딩 방식)에 해당할 때(또는 반대 순서)에 해당한다. 이에 비해, 제2 실시예는, N+1번째 블록이 C 코딩 방식일 때, N번째 블록이 직각 코딩 방식(예: A 코딩 방식)인지 여부에 따라서, C 코딩 방식의 윈도우 타입이 달라지는 예(N번째 블록과 N+1번째 블록의 순서는 바뀔 수 있음)이다.
도 12를 참조하면, 제2 실시예에 따른 인코더(100B)는 제1 실시예와 마찬가지로, 직각 코딩 유닛(120R) 및 비-직각 코딩 유닛(120N)을 포함한다. 다만, 비-직각 코딩 유닛(120N)이 윈도우 타입 결정 파트(127)를 더 포함한다. 그 외의 구성 요소(직각 방식 코딩 파트(122), 직각 방식 합성 파트(124), 비-직각 방식 코딩 파트(126), 및 보상 정보 생성 파트(128)는 제1 실시예의 동일 명칭의 각 구성요소의 기능과 동일할 수 있는 데, 동일한 부분에 대해서는 그 구체적인 설명은 생략하고자 한다.
윈도우 타입 결정 파트(127)는 제2 블록(현재 블록)이 비-직각 코딩 방식으로 인코딩된 경우, 제1 블록(예: 이전 블록 또는 이후 블록)이 직각 코딩 방식으로 인코딩되었는지에 여부에 따라, 제2 블록의 윈도우의 타입을 결정한다. 구체적으로, 제2 블록이 비-직각 코딩 방식 중 C 코딩 방식으로 인코딩되고, 제2 블록에 적용된 윈도우가 전이 윈도우 클래스(transition window class)에 속하는 경우에, 제1 블록이 직각 코딩 방식으로 인코딩되었는지 여부에 따라서, 제2 블록의 윈도우의 타입(및 형태)를 결정한다. 윈도우의 타입의 예는 다음 테이블 1과 같다.
윈도우 타입 분류 형태별 명칭 이전/이후 블록 윈도우 형태
왼쪽 제로 구간 상승라인의 폭 탑 라인 하강 라인의 폭 오른쪽 제로 구간
온리-롱 윈도우 비-전이 윈도우   무관 0 N 0 N 0
롱-스타트 윈도우 전이 윈도우 급격한 롱-스타트 윈도우 C 코딩 방식 0 N 7N/16 N/8 7 N /16
완만한 롱-스타트 윈도우 직각 윈도우 3N/8 N/4 3N/8
숏 윈도우 비-전이 윈도우   무관 0 상승라인의 폭 및 하강라인의 폭이 N/8인 8개의 숏 파트의 중첩
롱-스탑 윈도우 전이 윈도우 급격한 롱-스탑 윈도우 C 코딩 방식 7N/16 N/8 7/16N N 0
완만한 롱-스탑 윈도우 직각 윈도우 3N/8 N/4 3N/8
스탑-스타트 윈도우 전이 윈도우 급격한 스탑-스타트 윈도우 C 코딩 방식 7N/16 N/8 7N/8 N/8 7N/16
완만한 스탑-스타트 윈도우 직각 윈도우 3N/8 N/4 3N/4 N/4 3N/8
테이블 1 비-직각 코딩 방식(특히 C 코딩 방식)의 윈도우 타입의 예
(여기서 N은 프레임 길이, 1024샘플 또는 960샘플 등에 해당)
테이블에 나타난 바와 같이 총 5개의 윈도우 중에서 2, 4, 5번 윈도우(롱-스타트 윈도우, 롱-스탑 윈도우, 및 스탑-스타트 윈도우)가 전이 윈도우 클래스에 속한다. 전이 윈도우 클래스에 속하는 윈도우는 테이블에 나타난 바와 같이, 이전 또는 이후 블록이 직각 윈도우에 해당하는지 여부에 따라서 윈도우의 형태가 달라진다. 직각 코딩 방식에 해당하는 경우 상승 라인(또는 하강 라인)의 폭이 N/4인데 비해, 비-직각 코딩 방식(그 중 C 코딩 방식)에 해당하는 경우의 전이 윈도우의 클래스는 상승 라인(또는 하강 라인)의 폭이 N/8됨을 알 수 있다.
도 14는 이전 블록이 직각 코딩 방식인지 여부에 따른 전이 윈도우의 형태를 나타내는 도면이다. 도 14의 (A) 및 (B)에 도시된 오른쪽 비-직각 윈도우는 테이블 1의 롱-스탑 윈도우에 해당하지만, 롱-스타트 윈도우 및 스탑-스타트 윈도우로 대체되어도 마찬가지이다.
도 14의 (A)는 이전 블록이 직각 윈도우에 해당할 경우에, 현재 블록의 전이 윈도우의 상승 라인이 제1 경사를 갖고, 도 14의 (B)는 이전 블록이 직각 윈도우에 해당하지 않을 때(구체적으로 C 코딩 방식의 윈도우에 해당할 경우), 현재 블록의 전이 윈도우의 상승 라인이 제2 경사를 갖는 것을 도시하고 있다. 이때 제1 경사는 제2 경사보다 완만하다. 제1 경사의 폭은 제2 경사의 폭의 2배에 해당할 수 있다. 제1 경사의 폭이 N/4이고, 제2 경사의 폭이 N/8에 해당할 수 있다.
다시 말해서, 윈도우 타입 결정 파트(127)는 우선, 현재 블록에 해당하는 윈도우의 타입을 결정하고, 복수의 윈도우 중에서 현재 블록(프레임 또는 서브프레임)에 적용된 특정 윈도우를 지정하는 (요컨대, 윈도우 타입을 지시하는) 윈도우 타입 정보를 생성하여 멀티플렉서(130)에 전달한다. 그리고, 현재 블록에 해당하는 윈도우의 타입이 전이 윈도우로 분류될 경우, 이전 블록 또는 이후 블록이 직각 코딩 방식에 해당하는 여부에 따라서, 윈도우의 형태, 구체적으로, 상승라인 또는 하강라인의 폭(및 그에 따른 탑 라인, 및 왼쪽(오른쪽) 제로 구간의 길이)를 결정하고, 그 결정된 윈도우 형태를 현재 블록에 적용한다.
한편, 보상 정보 생성 파트(128)는 제1 실시예의 보상 정보 생성 파트(128)와 마찬가지로, 이종 윈도우(비-직각 윈도우 및 직각 윈도우)들이 중첩되었을 때, (예를 들어, 도 14에서는 (A)에 해당하는 경우), 보상 신호를 생성한다.
앞서 언급한 바와 같이 보상 신호를 이용하면 이종 윈도우들이 중첩된 경우의 결함을 보완할 수 있기 때문에, 이종 윈도우가 100% 중첩될 필요없이50%만 중첩될 수 있다. 따라서, 100% 중첩될 필요가 없으므로, 전이 윈도우로 분류되는 윈도우들의 상승 라인(또는 하강 라인)의 폭을 좁히지 않아도 되기 때문에, 100% 중첩되어야 할 경우보다 상대적으로 완만한 경사를 갖는 윈도우를 가질 수 있다.
도 13을 참조하면, 제2 실시예에 따른 디코더(200B)는 제1 실시예에 비해서 비-직각 디코딩 유닛(220N)이 윈도우 형태 결정 파트(127)를 더 포함한다. 제1 실시예의 구성 요소와 동일 명칭의 구성요소에 대해서는 구체적인 설명은 생략하고자 한다.
윈도우 형태 결정 파트(127)는 현재 블록(또는 제2 블록)이 비-직각 코딩 방식(특히, C 코딩 방식)에 해당할 경우, 디멀티플렉서(210)로부터 전달된 윈도우 타입 정보를 근거로, 복수 개의 윈도우들 중에서 현재 블록에 적용되는 특정 윈도우(요컨대, 윈도우 타입)을 결정한다. 현재 블록의 윈도우가 전이 윈도우 클래스에 속하는 경우, 이전/이후 블록(제1 블록)이 직각 코딩 방식으로 코딩되었는지 여부에 따라서, 결정된 윈도우 타입 중에서 윈도우의 형태를 결정한다. 구체적으로, 이전/이후 블록이 직각 코딩 방식으로 인코딩되었고, 현재 블록의 윈도우가 전이 윈도우 클래스에 속하는 경우, 앞서 살펴본 바와 같이, (제2 경사보다 완만한 제1 경사의 상승 라인(또는 하강 라인)을 갖도록 윈도우 형태를 결정한다. 예를 들어, 롱-스타트 윈도우인 경우, 테이블 1에서의 완만한 롱-스타트 윈도우(제1 경사(예: N/4)의 하강 라인을 갖는)로 결정하고, 롱-스탑 윈도우인 경우, 테이블 1에서의 완만한(gentle) 롱-스탑 윈도우(예: 제1 경사(N/4)의 상승 라인)으로 결정하는 것 등이다. 스탑-스타트 윈도우의 경우도 마찬가지이다. 여기서 제1 경사(예: N/4)는, 앞서 설명한 바와 마찬가지로, 제2 경사보다 완만한 경사인데, 제2 경사는 급격한 전이 윈도우(급격한(steep) 롱-스탑 윈도우 등)의 상승 라인 또는 하강 라인이 갖는 경사이다.
이와 같이 결정된 윈도우 타입 및 윈도우 형태는 비-직각 방식 디코딩 파트(226)에 전달되고, 비-직각 방식 디코딩 파트(226)는 결정된 윈도우 타입 및 윈도우 형태에 따라, 현재 블록을 비-직각 방식으로 디코딩함으로써, 비-보상된 신호를 생성한다.
보상 파트(228)는 제1 실시예에서와 마찬가지로 이종 윈도우들(직각 윈도우/비-직각 윈도우)의 중첩이 발생하였을 경우, 비-보상된 신호 및 보상 신호(및, 앨리어징 파트의 프리딕션)을 이용하여 복원된 신호를 생성한다.
이하, 도 15 및 도 16과 함께 제3 실시예에 따른 오디오 신호 처리 장치에 대해서 설명하고자 한다. 제3 실시예는 도 1에서의 오디오 신호 처리 장치 중 제1 코딩 유닛(120-1) 및 제2 코딩 유닛(120-2)과, 제1 디코딩 유닛(220-1) 및 제2 디코딩 유닛(220-2)을 포함하는 실시예이다. 구체적으로, 현재 블록(예: N번째 블록)이 제2 코딩 방식(C 코딩 방식)으로 인코딩되고, 이후 블록(예: N+1번째 블록)이 제1 코딩 방식(A 코딩 방식 또는 B 코딩 방식)으로 인코딩되었는지 여부에 따라, 현재 블록에 대응하는 현재 윈도우의 형태(shape)가 결정되는 것에 해당하는 실시예이다.
도 15를 참조하면, 제3 실시예에 따른 인코더(100C) 중 제1 코딩 유닛(120-1)은 제1 방식 코딩 파트(122-1)를 포함하고, 제2 코딩 유닛(120-2)은 제2 방식 코딩 파트(126-2) 및 윈도우 타입 결정 파트(127-2)를 포함한다. 상기 인코더(100C)는 멀티플렉서(130)를 더 포함할 수 있다. 입력 신호는 블록(프레임 또는 서브프레임) 단위로 제1 코딩 유닛(120-1) 또는 제2 코딩 유닛(120-2)으로 입력된다.
제1 방식 코딩 파트(122-1)는 제1 코딩 방식에 따라 입력 신호를 인코딩하고, 제2 방식 코딩 파트(126-2)는 제2 코딩 방식에 따라 입력 신호를 인코딩하는데, 제1 코딩 방식 또는 제2 코딩 방식이란, 도 1과 함께 설명한 바와 같다. 즉, 제1 코딩 방식이 선형예측 도메인 기반의 코딩 방식이고, 제2 코딩 방식이 주파수 도메인 기반의 방식에 해당할 수 있다. 한편, 제1 코딩 방식은, 도 1과 함께 설명한 바와 같이, 직각 윈도우 방식에 해당하는 A 코딩 방식(예: ACELP), 및 비-직각 윈도우 방식에 해당하는 B 코딩 방식(예: TCX)을 포함할 수 있고, 제2 코당 방식은 비-직각 윈도우 방식에 해당하는 C 코딩 방식(예: MDCT)을 포함할 수 있다.
윈도우 타입 결정 파트(127-2)는 입력 신호가 제2 코딩 방식에 해당하는 경우, 이전 블록 또는 이후 블록의 신호의 특성(및 윈도우 타입)을 참조하여 현재 블록의 윈도우 타입/및 형태를 결정하고, 현재 블록(프레임/ 서브프레임)에 대응하는 윈도우 타입을 지시하는 윈도우 타입 정보를 생성하여 멀티플렉서(130)에 전달한다.
이하에서는 테이블 1을 참조하면서, 윈도우 타입에 관한 구체적인 설명을 한 후, 도 17 및 도 18을 참조하면서, 이전 블록/이후 블록의 코딩 방식에 따른 현재 블록의 윈도우 타입/ 및 형태에 관해서 설명한 후, 다시 도 15 및 도 16의 각 구성요소에 대해서 설명하고자 한다.
제2 코딩 방식에 해당하는 윈도우 타입의 일 예는, 앞서 테이블 1과 동일할 수 있다. 테이블 1을 참조하면, 총 5개 타입의 윈도우(온리-롱, 롱-스타트, 숏, 롱-스탑, 스탑-스타트)가 존재한다. 여기서, 온리-롱 윈도우는 신호의 특성이 스테이셔너리(stationary)하여 롱 윈도우가 적합한 신호에 적용되는 윈도우이고, 숏 윈도우는 신호의 특성이 트랜지언트(transient)하여 숏 윈도우가 적합한 신호에 적용되는 윈도우이다. 그리고 전이 윈도우로 분류되는 롱-스타트, 롱-스탑, 스탑-스타트는 온리-롱 윈도우에서 숏 윈도우(또는 제1 코딩 방식의 윈도우)로 전이되는 과정을 위해(롱-스타트), 또는 숏 윈도우에서 온리-롱 윈도우(또는 제1 코딩 방식의 윈도우)로 전이되는 과정을 위해(롱-스탑) 필요한 윈도우이다. 스탑-스타트는 현재 블록 또는 프레임은 롱 윈도우가 적합하지만 이전 프레임 및 이후 프레임이 숏 윈도우(또는 제1 코딩 방식의 윈도우)일 때 사용되는 윈도우이다.
테이블 1에 나타난 5개 타입의 윈도우의 형태를 더 살펴보면, 온리-롱 윈도우, 숏 윈도우, 스탑-스타트 윈도우는 좌우 대칭(horizontal-symmetry), 나머지 윈도우들은 좌우 비대칭(horizontal-asymmetry)이다. 롱-스타트 윈도우는 오른쪽 부분(right half)에서만 제로 구간(zero part)를 포함하고, 롱-스탑 윈도우는 왼쪽 부분(left half)에서만 제로 구간(zero part)을 포함한다.
이하, 이전 프레임 또는 이후 프레임에 따라 현재 프레임의 윈도우 형태가 결정되는 과정에 대해서 구체적으로 설명하고자 한다. 이전 프레임이 온리-롱 윈도우이고, 현재 프레임이 롱-스타트 윈도우인 경우, 이후 프레임이 숏 윈도우에 해당하는지 아니면 제1 코딩 방식의 윈도우에 해당하는지에 따라, 현재의 롱-스타트 윈도우의 형태가 결정될 수 있다. 구체적으로, 롱-스타트 윈도우의 하강 라인의 경사가 달라질 수 있는데, 하강 라인의 경사가 완만한 형태의 롱-스타트 윈도우를 완만한 롱-스타트 윈도우(gentle long-start window)라고 지칭하고(표 1에서 형태별 명칭 참조), 하강 라인의 경사가 급격한 형태의 롱-스타트 윈도우를 급격한 롱-스타트 윈도우(steep long-start window)라고 지칭하고자 한다. 이에 대해서 도 17을 참조하면서, 좀 더 구체적으로 설명하고자 한다.
도 17은 롱-스타트 윈도우가 제1 방식 코딩 윈도우 및 숏 윈도우와 각각 결합된 경우의 형태를 보여주는 도면이다. 도 17의 (A-1) 및 (A-2)는 롱-스타트 윈도우 및 제1 코딩 방식의 윈도우와의 결합이고, (B)는 롱-스타트 윈도우 및 숏 윈도우와의 결합에 해당한다.
구체적으로, 도 17의 (A-1)에 나타난 제1 코딩 방식의 윈도우는 A 방식(직각 윈도우 방식)에 해당하는 윈도우이다. 도 17의 (A-2)는 제1 코딩 방식 윈도우 중 B 방식(비-직각 윈도우 방식)에 해당하는 윈도우이다. 도 17의 (A-1) 및 (A-2)에 나타난 바와 같이 이후 프레임이 제1 코딩 방식에 해당하는 경우, 현재 롱-스타트 윈도우는 제1 경사를 갖는 하강 라인을 포함하고, 도 17의 (B)에 나타난 바와 같이 이후 프레임이 제2 코딩 방식(즉, 숏 윈도우)에 해당하는 경우, 현재 롱-스타트 윈도우는 제2 경사를 갖는 하강 라인을 포함한다. 제1 경사의 폭은 제2 하강 라인의 폭의 2배일 수 있고, 제1 경사의 폭은 N/4(N은 프레임의 길이)에 해당할 수 있다. 한편, 제1 경사의 폭이 256 샘플에 해당하고, 롱-스타트 전체 길이의 1/8에 해당할 수 있다.
도 17의 (A-1)의 경우처럼 롱-스타트 윈도우 이후에 직각 윈도우가 중첩된 경우, 앞서 제1 실시예 및 제2 실시예에서 설명한 바와 마찬가지로, 수신된 보상 신호를 이용함으로써, 보정 파트(CP) 및 앨리어징 파트(AP)의 보상이 가능하다. 이와 같이 보상을 하지 않았더라면, 직각 윈도우와 100% 중첩되어야 하기 때문에, 비트가 낭비되지 않게 하기 위해서는, 직각 윈도우와 중첩되는 하강 라인의 경사를 급격하게 할 수 밖에 없었다. 그러나 상기와 같은 보상이 가능해짐으로써, 직각 윈도우와 50%만 중첩되더라도 음질이 왜곡되지 않으므로, 하강 라인의 경사를 도 17의 (A-1)에서와 같이 제1 경사로 유지할 수 있는 것이다. 이와 같이 하강 라인을 제1 경사로 완만하게 유지하게 됨으로써, 두 윈도우들의 교차점이 3N/2인 지점이 된다. 만약, 100% 중첩을 해야 했다면, 두 윈도우들의 교차점은 3N/2-N/16이 될 수 밖에 없다. 즉, 50% 중첩되는 도 17의 (A-1)의 경우보다 교차지점이 N/16 정도 앞설 수 밖에 없다.
다시 말해서, 이후 윈도우(following window)가 제1 코딩 방식에 해당하는 윈도우인 경우, 50% 만 중첩되어도 되기 때문에, 롱-스타트 윈도우의 하강 라인은 제1 경사로 완만하게 유지되고, 이 결과, 교차점의 위치는 이후 블럭이 제1 코딩 방식에 따르거나 제2 코딩 방식에 따르거나 무관하게 동일한 위치(예: 윈도우 시작점에서 3N/2인 지점)가 된다. 이와 같이 교차점이 동일해짐에 따라서, 윈도우간의 전이가 달라지게 되는데 이에 대해서는 추후 제4 실시예와 함께 설명하고자 한다.
도 17의 (B)의 경우 제2 경사는 다음 프레임(제2 코딩 방식)에 대응되는 윈도우의 상승 라인의 경사와 매칭됨으로써 TDAC의 조건이 만족된다. 매칭된다는 의미는 경사의 절대값이 동일한 것일 수 있다. 즉, 하강 라인의 경사와, 다음 프레임의 상승 라인이 경사의 폭이 도면에 나타난 바와 같이 모두 N/4일 수 있다.
한편, 테이블 1을 다시 참조하면, 숏 윈도우는 이전 블록 또는 이후 블록의 코딩 방식과 무관하게, 형태가 하나인 데, 이에 대해서 도 18을 참조하면서 설명하고자 한다. 도 18의 (A) 및 (B)는 숏 윈도우가 제1 코딩 방식의 윈도우 및 제2 코딩 방식의 윈도우와 각각 중첩되었을 경우를 나타내는 도면이다. 도 18의 (A-1)를 참조하면, 숏 윈도우 이후에 제1 코딩 방식 중 특히 직각 코딩 방식(예: A 코딩 방식)이 등장한 경우이고, 도 18의 (A-2)는 제1 코딩 방식 중 특히 비-직각 코딩 방식(예: B 코딩 방식)이 등장한 경우이다.
도 18의 (A-1) 및 (A-2)와 같이 숏 윈도우 다음에 제1 코딩 방식의 윈도우가 중첩되었을 경우나, 도 18의 (B)와 같이 숏 윈도우 다음에 제2 코딩 방식의 윈도우(구체적으로 롱-스탑 윈도우)가 중첩되었을 경우나 상관없이 숏 윈도우의 하강 라인의 경사(도면에서 slope: A 참조)는 동일하다. 이와 같이 동일한 형태의 숏 윈도우가 가능한 이유는 우선, 제1 실시예와 제2 실시예와 함께 설명한 바와 같이, 숏 윈도우 이후에 직각 코딩 방식이 등장하더라도, 보상 신호를 이용하여 보정 파트(CP) 및 앨리어징 파트(AP)를 보상할 수 있기 때문이다(도 18의 (A-1)). 따라서 50%만 중첩되더라도 가능하기 때문에, 숏 윈도우에 포함된 8 개의 숏 파트(세모난 형태) 중 마지막 숏 파트의 하강 라인도 급격한 경사를 이룰 필요가 없다. 따라서, 도 18의 (A-1)에 나타난 바와 같이, (도 17의 (A-1)의 경우와 마찬가지로), 도 18의 (A-1)에서와 같이 상승 라인의 경사와 동일한 수준에서 비교적 완만하게(slope: A)(예: 폭이 N/8, N은 프레임 길이) 유지할 수 있는 것이다. 이에 따라서, 이후 블록이 제1 코딩 방식이든 제2 코딩 방식이든 상관없이 동일한 형태의 숏 윈도우를 이용할 수 있다.
한편, 현재 프레임이 롱-스탑 윈도우이고, 이후 프레임이 온리-롱 윈도우인 경우, 이전 프레임이 제1 코딩 방식의 윈도우에 해당하는지에 따라, 현재의 롱-스탑 윈도우의 형태가 결정될 수도 있는데 이에 대한 구체적인 설명은, 제4 실시예에서 구체적으로 설명하고자 한다.
다시 도 15를 참조하면, 윈도우 타입 결정 파트(127-2)는 앞서 테이블 1과 함께 설명한 바와 같이, 복수 개의 윈도우들 중에서 현재 블록에 적용될 특정 윈도우를 결정하고, 이 특정 윈도우를 지시하는 윈도우 타입 정보를 생성하여 멀티플렉서(130)에 전달한다.
멀티플렉서(130)는 제1 코딩 방식에 따라 인코딩된 데이터(예: N+1번째 블록의 데이터), 제2 코딩 방식에 따라 인코딩된 데이터(예: N번째 블록의 데이터), 및 윈도우 타입 정보를 멀티플렉싱하여 하나 이상의 비트스트림을 생성한다.
도 16을 참조하면, 본 발명의 제3 실시예에 따른 디코더(200C)는 제1 디코딩 유닛(220-1) 및 제2 디코딩 유닛(220-2)을 포함하고, 디멀티플렉서(210)를 더 포함할 수 있다. 제1 디코딩 유닛(220-1)은 제1 방식 디코딩 파트(222-1)를 포함하고, 제2 디코딩 유닛(220-2)은 제2 방식 디코딩 파트(226-2) 및 윈도우 형태 결정 파트(227-2)를 포함한다.
디멀티플렉서(210)는 도 1과 함께 설명한 코딩 방식 정보(예: 코딩 식별 정보 및 서브-코딩 식별 정보)를 수신하여, 이를 근거로 데이터를 블록별로 제1 디코딩 유닛(220-1) 또는 제2 디코딩 유닛(220-2)으로 전달한다. 또한, 앞서 설명한 윈도우 타입 정보를 추출하여 윈도우 형태 결정 파트(227-2)로 전달한다. 여기서 윈도우 타입 정보는 앞서 설명한 테이블 1에 해당하는 5가지 윈도우 타입 중 하나를 지시하는 정보일 수 있다. 그러나, 5 가지 윈도우 타입이 모두 가능한 것이 아니라, 앞서 언급한 바와 같이, 이전 블록 또는 이후 블록의 코딩 방식이나 윈도우 타입 등으로 현재 블록의 윈도우 타입이 제한될 수 있다. 따라서, 윈도우 타입 정보는 총 5가지 중 하나를 지시하는 정보가 아니라 불가능한 윈도우 타입을 제외하고 2가지 또는 3가지 타입 중 하나를 지시하는 정보일 수 있다. 이러한 전이 제한에 대해서는 추후 제4 실시예에 함께 추가적으로 설명하고자 한다.
제1 방식 디코딩 파트(222-1)는 제1 방식 인코딩 파트(122-1)의 역과정을 수행하는 구성요소로서, 제1 코딩 방식(예: ACELP, TCX)에 따라서 데이터를 디코딩함으로써 출력 신호(예: N+1번째 블록의 출력 신호)를 생성하고, 제2 방식 디코딩 파트(226-2)는 제2 코딩 방식(예:MDCT)에 따라서, 데이터를 디코딩 함으로써 출력 신호(예: N번째 블록의 출력 신호)를 생성한다.
윈도우 형태 결정 파트(227-2)는 윈도우 타입 정보를 근거로 현재 블록의 윈도우 타입을 식별하고, 이전 블록 또는 이후 블록의 코딩 방식에 따라서, 상기 윈도우 타입 중 윈도우 형태를 결정한다. 도 17과 함께 자세히 설명한 바와 같이, 현재 윈도우가 롱-스타트 윈도우이고, 이전 윈도우가 온리-롱 윈도우인 경우, 이후 윈도우가 제1 코딩 방식인지 아니면 제2 코딩 방식인지에 따라서, 급격한 롱-스타트 윈도우 또는 완만한 롱-스타트 윈도우 중 하나를 선택함으로써 윈도우 형태를 결정하는 것이다. 도 18과 함께 설명한 예는, 현재 블록이 숏 윈도우인 경우, 이후 블록의 윈도우 타입과 상관없이, 동일한 형태의 숏 윈도우를 결정한다.
제2 방식 디코딩 파트(226-2)는 윈도우 형태 결정 파트(227-2)에 의해 결정된 형태의 윈도우를 현재 블록에 적용한다.
이하 도 19 내지 도 23을 참조하면서, 본 발명의 제 4 실시예에 대해서 설명하고자 한다. 제3 실시예에서는 이후 블럭의 코딩 방식에 따라서 현재 블럭의 윈도우 형태가 결정되는 데 비해, 제4 실시예에서는 이전 블록의 코딩 방식에 따라서, 현재 블록의 윈도우 형태가 결정된다. 이 점에서만 차이가 있고 다른 점에서는 모두 제3 실시예와 동일하므로, 이 동일한 부분에 대해서는 설명을 생략하고자 한다.
도 19 및 도 20을 참조하면, 제4 실시예에 따른 인코더(100D) 및 디코더(200D)는 N번째 블록이 제1 코딩 방식으로 인코딩되고, N+1번째 블록이 제2 코딩 방식으로 인코딩된다는 점에서만 차이가 있을 뿐, 제3 실시예에 따른 인코더(100C) 및 디코더(200C)의 각 구성요소(도 15 및 도 16에 도시된)와 대동소이한 바, 동일한 부분에 대해서는 도 15 및 도 16를 참조하면서 설명한 내용으로 대체하고자 한다.
윈도우 타입 결정 파트(127-2)는 블록간의 윈도우의 전이를 고려하여 현재 블록의 윈도우를 결정한다. 구체적으로, 이전 블록(N번째 블록)이 제1 코딩 방식에 코딩되었는지 여부에 따라서, 현재 블록(N+1번째 블록)의 윈도우 타입/및 형태를 결정한다. 구체적으로, 이전 블록이 제1 코딩 방식으로 코딩된 경우, 테이블 1에 나타난 5가지 타입 중에서도, 온리-롱 윈도우 및 롱-스타트 윈도우를 제외한 3가지 타입(숏 윈도우, 롱-스탑 윈도우, 스탑-스타트 윈도우) 중 하나로 결정한다. 즉, 제1 코딩 방식에서 코딩 방식간의 전이에 필요한 전이 윈도우를 거치지 않고, 제2 코딩 방식 내에서 사용되는 숏 윈도우나, 또는 숏 윈도우 및 롱 윈도우간의 전이를 위해 사용되는 전이 윈도우(롱-스탑 윈도우 및 스탑-스타트 윈도우)로 바로 이동할 수 있는 것이다.
이러한 윈도우간의 경로가 도 21에 나타나 있다. 도 21를 참조하면, 행 방향은 이전 블록에 대응하는 윈도우를, 열 방향은 현재 블록에 대응하는 윈도우를 나타내고 있고, 원 표시 또는 별 표시가 되어있는 부분이 가능한 윈도우 전이 경로이다. 예를 들어, 이전 블록이 온리-롱 윈도우인 경우, 현재 블록은 온리-롱 또는 롱-스타트 윈도우만이 가능하다.
별표를 참조하면, 이전 블록이 제1 코딩 방식(예: ACELP 또는 TCX))에 해당하는 블록인 경우, 현재 블록은 앞서 언급한 바와 같이, 제2 코딩 방식에 해당하는 윈도우 중에서는, 숏 윈도우, 롱-스탑 윈도우, 스탑-스타트 윈도우 중에 하나가 될 수 있다. 즉, 다시 말해서, 제1 코딩 방식에서 제2 코딩 방식으로의 전이를 위해 별도로 마련된 윈도우(예: 1152 샘플에 대응하는 윈도우)를 거칠 필요가 없는데, 이 이유에 관해서는 앞서 제3 실시예와 함께 설명한 바와 같이, 교차지점이 코딩 방식과 상관없이 일치하기 때문이다. 도 22 내지 도 23을 참조하면서 설명하고자 한다.
도 22는 제1 코딩 방식에서 롱-스탑 윈도우로 전이될 때의 경우로서, 앞서 도 21의 별표(1) (★(1))에 대응되고, 도 23은 제1 코딩 방식에서 숏 윈도우로 전이될 때의 경우로서, 도 21의 별표(2) (★(2))에 대응되는 경우이다.
우선, 도 22를 참조하면, 도 22의 (A)는 제1 코딩 방식 중 직각 코딩 방식(예: ACELP)에 해당하는 윈도우와 롱-스탑 윈도우의 교차를 나타내고, 도 22의 (B)는 제1 코딩 방식 중 비-직각 코딩 방식(예: TCX)에 해당하는 윈도우와 롱-스탑 윈도우의 교차를 나타내고 있다. 도 22의 (A) 및 (B)의 경우 모두 제1 코딩 방식에 해당하는 블록에서 바로 롱_스탑 윈도우로의 전이가 가능함을 알 수 있다.
도 22의 (A)의 경우, 직각 윈도우이기 때문에, 앞서 제1 실시예 및 제2 실시예와 함께 설명한 바와 같이, 보상 신호를 이용하여, 직각 윈도우 및 비-직각 윈도우의 중첩으로 인한 에러인 보정 파트(CP) 및 앨리어징 파트(AP)를 보상할 수 있다. 따라서, 50% 중첩만으로 충분하게 되었고, 롱_스탑 윈도우의 상승 라인이, 앞서 도 14의 (A)에서 설명한 바와 같이, 완만한 경사(예: 폭이 N/4)를 가질 수 있게 되었다. 이에 따라서, 윈도우간의 교차지점이 시작점에서 N/2 거리 떨어진 곳에 위치하므로, 100% 중첩이 요구될 때와는 달리, 1024 샘플에 대응하거나 2N(N은 프레임) 길이에 해당하는 롱_스탑 윈도우로 바로 연결될 수 있는 것이다.
한편, 도 23의 경우, 도 22의 경우 이후 블록에 해당하는 윈도우가 롱_스탑 윈도우인데 비해, 이후 블록에 해당하는 윈도우가 숏 윈도우라는 차이만 있을 뿐이다. 도 23의 (A)의 경우, 도 22의 (A)의 경우와 마찬가지로 보상이 가능하기 때문에, 50% 중첩됨으로써, 교차지점이 N/2 거리에 해당한다. 따라서, 1024 샘플에 대응하는 또는 2N 길이에 대응하는 숏 윈도우로 바로 연결될 수 있다.
도 21에서 세 번째 경우(즉, 스탑_스타트 윈도우로의 전이)는 도면으로 도시되지는 않았지만, 롱_스탑 윈도우 및 숏 윈도우의 경우와 마찬가지로, 스탑_스타트 윈도우는 1024 샘플에 대응하거나 2N 길이를 갖는데, 제1 코딩 방식에 해당하는 윈도우에서 바로 스탑_스타트 윈도우로 전이될 수 있다.
한편, 도 22의 (A)의 경우, 롱_스탑 윈도우의 상승 라인이 갖는 경사에 대해서, 제2 실시예에 대해서 부가하여 설명하고자 한다. 현재 프레임이 롱-스탑 윈도우인 경우, 이후 프레임이 온리-롱 윈도우인 경우, 이전 프레임이 제1 코딩 방식의 윈도우에 해당하는지에 따라, 현재의 롱-스탑 윈도우의 형태가 결정될 수 있다. 이는 앞서 도 14와 함께 설명한 바와 같다. 즉, 도 14의 (A)의 경우처럼 이전 프레임이 제1 코딩 방식(도 14의 (A)는 A 코딩 방식(직각 코딩 방식))에 해당하는 경우, 현재 롱-스탑 윈도우의 상승 라인은 제1 경사를 갖고, 도 14의 (B)의 경우처럼, 이전 프레임이 제2 코딩 방식(C 코딩 방식(비-직각 코딩 방식))에 해당하는 경우, 현재 롱-스탑 윈도우의 상승 라인은 제2 경사를 갖는다. 제1 경사는 제2 경사보다 완만하다.
다시 제4 실시예로 돌아와서, 도 21에 관련하여 설명한 바와 같이, 이전 블록이 제1 코딩 방식에 해당할 경우, 현재 블록이 제2 코딩 방식인 경우, 숏 윈도우, 롱_스탑 윈도우, 스탑_스타트 윈도우 중 하나를 결정한다.
도 19의 윈도우 타입 결정 파트(127-2)는 이전 블록 및 이후 블록의 코딩 방식 및 윈도우 타입을 참조하여 현재 블록의 윈도우 타입을 결정하는데, 상기와 같이 설명된 경로의 제한(예: 도 21에 기재된 경로)에 따라서 결정한다. 경우에 따라서는, 이전 블록 및 이후 블록의 코딩 방식에 따라서 현재 블록의 윈도우의 형태까지 결정한다. 그리고 이 결정된 윈도우 타입을 지시하는 윈도우 타입 정보를 멀티플렉서(130)에 전달한다.
제2 방식 코딩 파트(126-2)는 상기와 같이 결정된 윈도우 타입 및 형태를 이용하여 현재 블록을 제2 코딩 방식에 따라 인코딩한다. 멀티플렉서(130)는 이전 블록의 데이터 및 현재 블록의 데이터, 현재 블록의 윈도우 타입 정보를 멀티플렉싱하여, 하나 이상의 비트스트림을 생성한다.
도 20을 참조하면, 윈도우 형태 결정 파트(127-2)를 제외한 다른 구성요소는 도 16에 대응하는 각 구성요소와 그 기능 또는 역할이 유사하므로 구체적인 설명은 생략하고자 한다.
윈도우 형태 결정 파트(227-2)는 우선, 윈도우 타입 정보를 근거로, 복수 개의 윈도우들 중에서 현재 블록에 대한 특정 윈도우를 결정한다. 이때, 도 21에 개시된 전이 제한에 부합되는지 여부를 고려하여, 복수의 윈도우들 중에서 하나를 결정할 수 있다. 이하, 이 과정에 대해서 보다 구체적으로 설명하고자 한다.
도 21을 참조하면, 이전 블럭의 윈도우 타입에 따라서, 현재 블록이 제2 코딩 방식에 해당할 때 가능한 윈도우 타입은 어떤 경우에도 총 3가지를 넘지 않기 때문에(위에서부터 순서대로 2가지, 3가지, 3가지, 2가지, 3가지, 3가지), 윈도우 타입 정보는 2비트로 인코딩될 수 있다. 이러한 윈도우 타입 정보의 일 예는 다음과 같다.
  window type info
only - long window 0
long _ start window 1
short window 2
long _ stop window 3
stop _ start window 1
[테이블 2] 윈도우 타입 정보
만약, 윈도우 타입 정보가 1인 경우, 롱_스타트 윈도우와 스탑_스타트 윈도우 즉 두 개의 경우를 모두 지시한다. 한편, 도 21에 개시된 전이 제한에 따르면, 이전 블록이 제1 코딩 방식인 경우, 현재 블록은 숏 윈도우, 롱_스탑 윈도우, 스탑_스타트 윈도우만 가능하기 때문에, 두 개의 경우는 제한에 위반되는 하나의 경우(즉, 롱_스타트 윈도우)를 제외하고 스탑_스타트 윈도우를 현재 블록의 윈도우로 결정하는 것이다.
윈도우 형태 결정 파트(227-2)는 위와 같이 결정된 윈도우 타입에 따라, 이전 블록 또는 이후 블록의 코딩 방식(/및 윈도우 타입)을 근거로 하여 현재 블록의 상승 라인 또는 하강 라인의 경사 등의 윈도우 형태를 결정한다. 제4 실시예에 대한 설명은 여기까지인 바, 도 24와 함께, 제1 코딩 방식 및 제2 코딩 방식 간의 윈도우 전이 문제를 해결하기 위한, 다른 방법에 대해서 설명하고자 한다.
도 24는 제1 코딩 방식 및 새로운 형태의 숏 윈도우가 중첩된 경우를 보여준다. 앞서 설명한 바와 같이 제1 코딩 방식의 블록 및 제2 코딩 방식의 블록이 인접해있을 경우, 50% 중첩이 가능하지 않고 100% 중첩만을 했어야 했기 때문에, 교차지점이 N/2 지점 보다 앞서 위치했다. 이러한 미스매치를 해결하기 위해, 제1 코딩 방식의 블록 및 제2 코딩 방식의 블록 사이에 1152의 길이를 갖는 전이 블록이 필요했었다. 구체적으로, 제1 코딩 방식의 블록 이후에 제2 코딩 방식 중 숏 윈도우로 넘어갈 필요가 있더라도, 1152의 길이를 갖는 롱 윈도우를 거쳐야 한다. 따라서 이런 경우, 숏 윈도우로 처리되어야 할 현재 블록은 롱 윈도우가 적용되고, 이후 블록에 되어서야 비로소 숏 윈도우가 적용된다. 즉, 숏 윈도우가 처리되어야 할 현재 블록이 전이 문제 때문에 롱 윈도우로 처리되기 때문에 음질에 왜곡이 생기는 문제가 발생했다.
이와 같이 1152 길이를 갖는 롱 윈도우에 더하여, 도 24와 같이 1152 길이를 갖는 숏 윈도우(부가적인 숏 파트 포함해서 총 9개의 숏 파트를 포함)를 사용할 경우, 상기와 같은 음질 왜곡이 생기는 문제점이 줄어든다. 그러나 도 24에 도시된 1152 길이의 숏 윈도우는, 어디까지다 앞서 설명된 바와 같이, 50% 중첩으로 인한 교차지점 변화 및, 이에 따른 직접 전이(제3 실시예 및 제4 실시예)가 불가능한 경우에만 적용될 수 있는 것이다.
이후 도 25 및 도 26을 참조하면서 본 발명의 제5 실시예에 대해서 설명하고자 한다. 제5 실시예는, 현재 블록(N번째 블록)이 제1 코딩 방식 중 비-직각 코딩 방식(예: TCX)에 해당할 경우, 이전 또는 이후 블록(N-1번째 또는 N+1번째 블록)이 제2 코딩방식의 숏 윈도우인지 여부에 따라서, 현재 블록의 윈도우 형태를 결정한다. 도 25을 참조하면, 제5 실시예에 따른 인코더(100E)는 모드 결정 파트(123-1)를 제외하고는 제3 실시예 및 제4 실시예의 인코더(100C, 100D)와 거의 동일하므로 이 부분에 대해서는 설명을 생략하고자 한다.
모드 결정 파트(123-1)는 우선 현재 블록이 제1 코딩 방식에 해당될 때, 현재 블록이 직각 코딩 방식(예: ACELP)인지 또는 비-직각 코딩 방식(예:TCX)인지를 구분하고, 비-직각 코딩 방식인 경우, 모드 1 내지 모드 3 중 하나를 결정한다. 모드 1 내지 모드 3는 비-직각 코딩 방식이 적용될 길이에 해당할 수 있는바, 하나의 서브 프레임, 두 개의 연속된 서브 프레임들, 네 개의 연속된 서브 프레임들(즉, 하나의 프레임) 중 하나를 결정할 수 있다. 도 28에 나타난 바와 같이, 그 길이를 256, 512, 1024 샘플 중 하나로 결정할 수도 있다.
이와 같이 비-직각 코딩 방식인 경우, 모드를 결정한 후, 이전 블록 또는 이후 블록의 윈도우가 숏 윈도우인지 여부에 따라서, 현재 블록의 윈도우의 형태를 결정한다. 이 과정에 대해서 구체적으로 도 27 및 도 28과 함께 설명하고자 한다.
도 27의 (A)는 제1 코딩 방식(예: TCX)에 해당하는 윈도우와 숏 윈도우가 중첩된 경우이고, 도 27의 (B)는 숏 윈도우 대신에 롱_스탑 윈도우가 중첩된 경우를 도시하고 있다. 특히, 도 27의 (A) 및 (B)는 모두 제1 코딩 방식의 윈도우 중 모드 1(도 28의 shape 1, 2참조)에 해당하는 윈도우이다. 자세히 살펴보면 도 27의 (A)는 도 23의 (B)와 동일하고 도 27의 (B)는 도 22의 (B)와 동일하다.
도 27의 (B)와 같이 롱_스탑 윈도우와 중첩된 경우, 제1 코딩 방식에 해당하는 윈도우는, 형태 1(shape 1)에 해당하는데, 롱_스탑 윈도우의 상승라인의 폭(예:N/4)과 동일한 폭의 하강라인을 갖게 된다. 즉, 형태 1의 하강 라인의 제1 경사는 다음 프레임의 넌-숏 윈도우(예: 롱_스탑 윈도우)의 상승 라인의 경사와 매칭된다. 여기서 매칭된다는 의미는 경사의 절대값이 같다는 의미일 수 있다.
반면, 도 27의 (A)와 같이 숏 윈도우와 중첩된 경우, 제1 코딩 방식의 윈도우는 형태 2(shape 2)에 해당하는 데, 숏 윈도우의 상승라인의 폭(예: N/5)와 동일한 폭의 하강라인을 갖는다. 즉, 형태 2의 하강 라인의 제2 경사는 다음 프레임의 숏 윈도우의 상승 라인의 경사와 매칭된다.
이와 같이 이전 또는 이후 블록이 숏 윈도우인지 여부에 따라서 하강라인 또는 상승라인의 폭이 달라질 수 있는데, 이 폭을 동일하게 함으로써 앞서 도 8과 함께 설명한 TDAC 조건을 만족한다. TDAC 조건에 만족함으로써, 음질 왜곡이 현저하게 줄어드는 효과가 있다.
도 28을 참조하면, 이전 블록 및/또는 이후 블록이 숏 윈도우인지 여부에 따라, 제1 코딩 방식 중 비-직각 방식의 윈도우의 형태가 형태1부터 형태 4까지 달라짐을 알 수 있다. 형태 1은 이전 블록 및 이후 블록이 모두 숏 윈도우가 아닌 경우, 상승 라인(L) 및 하강 라인(R)의 폭이 모두 256 샘플(N/4)에 해당하는 경우이다. 형태 2는 이후 블록만이 숏 윈도우인 경우이기 때문에 하강 라인(R)이 폭만 128으로 줄어들고 탑 라인(M)과 오른쪽 제로구간(ZR)이 각각 64씩 증가함을 알 수 있다. 형태 3은 이전 블록만이 숏 윈도우에 해당하는 경우이기 때문에, 상승 라인(L) 폭만 128로 줄어들고 왼쪽 제로구간(ZL) 및 탑 라인(M)의 길이가 형태 1보다 각각 64씩 증가된 형태이다. 형태 4는 이전 블록 및 이후 블록이 모두 숏 윈도우에 해당하는 경우로서, 상승 라인(L) 및 하강 라인(R) 모두가 모드에 상관없이(모드 1,2,3) 128에 해당한다.
참고로, 제1 형태의 모드 1 내지 모드 3에 대응하는 윈도우들은 도 10의 (A), (B), (C)의 각각과 같을 수 있다.
또한 이전 블록은 이전 프레임의 적어도 마지막 서브프레임에 대응하고, 이후 블록은 이후 프레임의 적어도 첫 번째 서브프레임에 대응할 수 있다.
다시 도 25를 참조하면, 모드 결정 파트(123-1), 요컨대, 제1 코딩 방식 (중 비-직각 코딩 방식)이 적용되는 경우, 도 28의 모드 1,2,3과 같은 복수의 모드 중 하나를 결정한다. 이 모드에 해당하는 정보는 앞서 설명한 서브-코딩 식별 정보와 함께 인코딩될 수 있다. 예를 들어, 서브-코딩 식별 정보가 0인 경우 A 코딩 방식(제1 코딩 방식이자 직각 코딩 방식)을, 1 내지 3인 경우, B 코딩 방식(즉, 제1 코딩 방식이자 비-직각 코딩 방식)의 상기 모드 1 내지 모드 3을 나타내는 것일 수 있다.
모드 결정 파트(123-1)는 상기 모드가 결정되면 이전 블록 및/또는 이후 블록이 숏 윈도우인지 여부에 따라서, 형태1 내지 형태4 중에서, 앞서 설명된 바와 같이, 윈도우의 형태를 결정한다.
멀티플렉서(130)는 서브-코딩 식별 정보, 및 현재 블록의 데이터, 이전 또는 이후 블록의 데이터를 멀티플렉싱함으로써 하나 이상의 비트스트림을 생성한다.
도 26을 참조하면, 윈도우 형태 결정 파트(223-2)는 서브-코딩 식별 정보를 이용하여 현재 블록이 제1 코딩 방식 중 A 코딩 방식(직각 코딩 방식)으로 인코딩되었는지 아니면 B 코딩 방식(비-직각 코딩 방식)으로 인코딩되었는지를 식별한다. 나아가 서브-코딩 식별 정보를 이용하여 B 코딩 방식인 경우 상기 모드 1 내지 모드 3 중 하나의 모드를 식별한다.
윈도우 형태 결정 파트(223-2)는 결정된 모드에 대해, 이전 블록 및/또는 이후 블록이 숏 윈도우인지 여부를 판단하여 상기 형태1 내지 형태 4 중 하나를 식별함으로써, 윈도우의 형태를 결정한다.
나머지 구성요소에 대한 구체적인 설명은 생략하고자 한다.
이하 도 29 내지 도 32를 참조하면서, 본 발명의 제6실시예에 따른 인코더(100F) 및 디코더(200F)에 대해서 설명하고자 한다. 제6 실시예는, 이전 블록의 코딩 방식에 따라서, 롱텀 프리딕션(Long-Term Prediction: LTP)를 수행할지 여부를 결정한다.
도 29 및 도 30을 참조하면, 제6 실시예에 따른 인코더(100F) 및 디코더(200F)는 제5 실시예에 인코더(100E) 및 디코더(200E)와 유사하나, 롱 프리딕션 결정 파트(121-1) 및 롱 프리딕션 제어 파트(221-2)가 존재한다는 점에서 차이가 있다. 롱 프리딕션 결정 파트(121-2)는 이전 블록에 제1 코딩 방식(예: ACELP 또는 TCX)이 적용되었는지 제2 코딩 방식(예: MDCT)이 적용되었는지 여부에 따라서, 현재 블록에 롱텀 프리딕션을 수행할 지 여부를 결정한다. 이에 대해서 도 31 및 도 32를 참조하면서 구체적으로 설명하고자 한다.
도 31을 참조하면, 블록(프레임 또는 서브프레임)별 코딩 방식의 예들이 나타나 있다. 도 31의 (A) 내지 (B-3)는 모두 제2 코딩 방식(예: MDCT)이 적용된 블록 이후에 제1 코딩 방식(예: ACELP)이 적용된 블록이 등장하는 예들이다. 이와 같이 코딩 방식의 변화가 생기는 경우(모드 스위칭), 제1 코딩 방식(예: ACELP)에서의 롱텀 프리딕션의 효율이 크게 저하될 수 있다. 도 32는 롱텀 프리딕션과 관련하여 신호 파형의 예를 도시하고 있다. 도 32의 (A)는, 신호의 특성에 따라서, 이전 블록에는 제2 코딩 방식(예: MDCT)를 적용하고 이후 블록에는 제1 코딩 방식 중 직각 코딩 방식(예: ACELP)를 적용하는 예를 도시하고 있다. 도 32의 (B)는, 제1 코딩 방식에 대응하는 블록의 신호 및, 롱텀 프리딕션(LTP)를 수행한 결과인 신호의 파형의 일 예를 도시하고 있다. 제2 코딩 방식 이후의 블록에 대해서, 이전 메모리에는 선형 예측이 수행된 결과인 레지듀얼 신호가 아닌 원본 신호가 존재할 수 밖에 없다. 따라서, 롱텀 프리딕션은 파형의 상관성(correlation)을 기초로 하기 때문에, 상기와 같은 경우에 롱텀 프리딕션을 적용하게 되면 코딩 효율이 매우 떨어질 수 밖에 없다. 도 32의 (B)를 참조하면, 롱텀 프리딕션을 수행한 결과와 원본 신호가 파형상 큰 차이가 없음ㅇㄹ 알 수 있다. 따라서, 이러한 경우, 코딩 효율이 매우 떨어지는 롱텀 프리딕션을 적용하지 않고, 롱텀 프리딕션에 할당된 비트를 절약할 수 있다.
도 31의 (B-1)에 도시된 바와 같이, 제2 코딩 방식(예: MDCT)을 적용한 이후 첫 번째로 등장하는 블록(first subframe)에 대해서는 무조건 롱텀 프리딕션(LTP)을 적용하지 않을 수 있다. 또는 도 31의 (B-2)에 도시된 바와 같이 경우에 따라 적응적으로 롱텀 프리딕션(LTP)을 적용할 수 있다. 예를 들어, 롱텀 프리딕션(LTP)를 적용했을 때 코딩 효율이 좋은 경우에만 롱텀 프리딕션(LTP)을 수행하는 것이다. 이와 같이 조건부로 롱텀 프리딕션을 수행하는 경우, 롱텀 프리딕션(LTP)이 수행되었는지 여부를 지시하는 롱텀 플래그(LTP flag)를 셋팅할 수 있다. 또한 도 31의 (B-3)에 도시된 바와 같이, 첫 번째로 등장하는 블록 이외의 블록(예: 두번째~ 네번째)에도 무조건 롱텀 프리딕션을 수행하지 않거나 조건부로 롱텀 프리딕션을 수행하지 않을 수 있다. 이와 같이 조건부로 롱텀 프리딕션을 사용하지 않는 경우, 제2 코딩 방식에 대응하는 블록과의 경계에서만, 롱텀 프래그를 셋팅하는 것이 아니라 롱텀 프리딕션의 효과가 적은 임의의 블록에 대해서 롱텀 플래그를 셋팅할 수 있다. 예를 들어, 제1 코딩 방식으로 부호화되더라도 피치(pitch)가 존재하지 않는 무성음, 묵음 기타 음악구간에서 롱텀 프리딕션을 수행하지 않을 수 있다.
다시 도 29를 참조하면, 롱 프리딕션 결정 파트(121-1)는 앞서 설명한 바와 같이 이전 블록의 코딩 방식을 근거로, 롱텀 프리딕션을 수행할지 여부를 블록단위로 결정하고, 조건부로 롱텀 프리딕션이 수행되지 않는 경우, 상기 롱텀 플래그(LTP flag)를 멀티플렉서(130)에 전달한다.
제1 방식 코딩 파트(122-1)는 상기와 같이 제1 코딩 방식에 해당하는 블록이면서 롱텀 프리딕션(LTP)을 수행하지 경우, 롱텀 프리딕션이 수행되지 않음으로써 절약되는 비트만큼의 새로운 정보를 생성한다. 새로운 정보의 예는 다음과 같을 수 있다.
1) 여기 코드북(excitation codebook)에 활용할 수 있다. 즉, 기존의 코드북보다 더 많은 코드북을 디자인하거나, 잉여 비트의 크기의 전용 코드북을 사용할 수 있다. 전용 코드북을 사용하는 경우 원래의 코드북에 의한 여기와 추가 코드북에 의한 여기의 조합에 의해 여기 신호를 생성한다. 전용 코드북의 경우, 롱텀 프리딕션이 기능하는 것처럼 피치 성분을 잘 부호화할 수 있는 형태의 코드북을 사용하는 것이 가능하다.
2) 선형 예측 부호화(Linear Prediction Coding: LPC)에 추가 비트를 할당하여 LPC 계수의 양자화 성능을 향상시킬 수 있다.
3) 제1 실시예 및 제2 실시예에서의 보상 신호(즉, 제2 코딩 방식의 비-직각 윈도우와, 제1 코딩 방식의 직각 윈도우가 중첩됨에 따라 발생하는 보정파트 및 앨리어징 파트를 보상하기 위한 신호)를 코딩하기 위해 비트를 할당할 수 있다.
4) 절약된 비트만큼 전송하지 않는다. 다시 말해서 오디오 코딩의 경우 프레임만큼 비트 사용량을 가변할 수 있으므로 절약된 비트를 다른 프레임에서 활용할 수 있도록 한다.
제1 방식 코딩 파트(122-1)는 롱텀 프리딕션이 수행되지 않은 블록에 대해서 상기 새로운 정보를 인코딩함으로써 추가 비트를 멀티플렉서(130)에 전달한다.
멀티플렉서(130)는 롱텀 플래그(LTP flag), 상기 새로운 정보에 해당하는 추가 비트, 각 블록에 해당하는 데이터를 멀티플렉싱함으로써 하나 이상의 비트스트림을 생성한다.
도 30을 참조하면, 멀티 플렉서(210)는 조건적으로 롱텀 프리딕션이 수행되지 않는 경우, 롱텀 플래그(LTP flag)를 추출하여 롱텀 프리딕션 제어 파트(221-2)에 전달한다. 롱텀 프리딕션 제어 파트(221-2)는 이전 블록의 코딩 방식을 고려하여 무조건적으로 롱텀 프리딕션이 수행되지 않는 경우, 이전 블록이 제2 코딩 방식에 해당하는지 여부에 따라서 롱텀 프리딕션을 수행할지 여부를 결정한다. 만약, 이전 블록의 코딩 방식이 제2 코딩 방식에 해당하더라도 조건부로 롱텀 프리딕션이 수행되지 않는 경우, 상기 멀티플렉서(130)로부터 전달받은 롱텀 플래그(LTP)를 근거로 하여 롱텀 프리딕션을 수행할지 여부를 결정한다.
그러면 제1 방식 디코딩 파트(222-1)는 롱 프리딕션 제어 파트(222-1)에서 결정된 바에 따라 롱텀 프리딕션의 대상이 되는 블록에 대해서만 롱텀 프리딕션을 수행한다. 또한 추가 비트가 전송되는 경우, 그 추가 비트에 해당하는 상기 새로운 정보들을 추출하여 이를 근거로 해당 블록의 디코딩을 수행한다.
이하, 도 1 및 도 2에서 설명된 본 발명에 따른 인코더 및 디코더의 응용에 대해서 설명하고자 한다.
도 33 및 도 34는 본 발명에 따른 인코더 및 디코더가 적용된 오디오 신호 인코딩 장치 및 디코딩 장치의 일 예인데, 이는 본 발명에 따른 인코더(100) 또는 디코더(200)를 포함한다.
우선, 도 33을 참조하면, 오디오 신호 인코딩 장치(300)는 본 발명에 따른 인코더(100) 이외에 복수 채널 인코더(310), 밴드 확장 코딩 유닛(320) 및 멀티플렉서(330)를 포함할 수 있다. 여기서 멀티플렉서(330)는 도 1에서 설명된 멀티플렉서(130)를 포함하는 개념일 수 있다.
복수채널 인코더(310)는 복수의 채널 신호(둘 이상의 채널 신호)(이하, 멀티채널 신호)를 입력받아서, 다운믹스를 수행함으로써 모노 또는 스테레오의 다운믹스 신호를 생성하고, 다운믹스 신호를 멀티채널 신호로 업믹스하기 위해 필요한 공간 정보를 생성한다. 여기서 공간 정보(spatial information)는, 채널 레벨 차이 정보, 채널간 상관정보, 채널 예측 계수, 및 다운믹스 게인 정보 등을 포함할 수 있다. 만약, 오디오 신호 인코딩 장치(300)가 모노 신호를 수신할 경우, 복수 채널 인코더(310)는 모노 신호에 대해서 다운믹스하지 않고 바이패스할 수도 있음은 물론이다.
대역 확장 인코더(320)는 복수채널 인코더(310)의 출력인 다운믹스 신호에 대역 확장 방식을 적용하여, 저주파 대역에 대응하는 스펙트럴 데이터 및, 고주파 대역 확장을 위한 대역확장정보를 생성할 수 있다. 즉, 다운믹스 신호의 일부 대역(예: 고주파 대역)의 스펙트럴 데이터가 제외되고, 이 제외된 데이터를 복원하기 위한 대역확장정보가 생성될 수 있다.
대역 확장 코딩 유닛(320)을 통해 생성된 신호는 신호 분류부(미도시)(예: 도 1에서의 신호 분류부(110))에서 생성된 코딩 방식 정보에 따라서, A 코딩 유닛(120A) 내지 C 코딩 유닛(120B)에 입력된다.
A 코딩 유닛(120A) 내지 C 코딩 유닛(120C)은 앞서 도 1과 함께 설명한 바와 같기 때문에 동일한 내용에 대해서는 중복되므로 설명을 생략하고, 추가적인 내용에 대해서만 설명하고자 한다.
A 코딩 유닛(120A)은 다운믹스 신호의 특정 프레임 또는 특정 세그먼트가 큰 음성 특성을 갖는 경우, A 코딩 방식(즉, 제1 코딩 방식 중 직각 코딩 방식)에 따라서, 다운믹스 신호를 인코딩한다. 여기서 A 코딩 방식은 AMR-WB(Adaptive multi-rate Wide-Band) 표준에 따른 것일 수 있으나, 본 발명은 이에 한정되지 아니한다. 한편, A 코딩 유닛(120A)는 선형 예측 부호화(LPC: Linear Prediction Coding) 방식을 더 이용할 수 있다. 하모닉 신호가 시간축 상에서 높은 중복성을 가지는 경우, 과거 신호로부터 현재 신호를 예측하는 선형 예측에 의해 모델링될 수 있는데, 이 경우 선형 예측 부호화 방식을 채택하면 부호화 효율을 높을 수 있다. 한편, A 코딩 유닛(120A)는 타임 도메인 인코더에 해당할 수 있다.
B 코딩 유닛(120B)은 다운믹스 신호의 특정 프레임 또는 특정 세그먼트가 오디오 특성 및 음성 특성이 혼재되어 있는 경우, B 코딩 방식(제1 코딩 방식이면서 비-직각 코딩 방식)에 따라서 다운믹스 신호를 인코딩한다. 여기서 B 코딩 방식은 TCX(transform coded excitation)에 해당할 수 있지만 본 발명은 이에 한정되지 아니한다. TCX는 선형 예측(LPC)을 수행함으로써 획득된 여기 신호에 대해서, 주파수 변환을 수행하는 방식일 수 있다. 여기서 주파수 변환은 MDCT(Modified Discrete Cosine Transform)에 따라 수행될 수 있다.
한편 C 코딩 유닛(120C)은 다운믹스 신호의 특정 프레임 또는 특정 세그먼트가 큰 오디오 특성을 갖는 경우, C 코딩 방식(제2 코딩 방식 중 비-직각 코딩 방식)에 따라 다운믹스 신호를 인코딩한다. 여기서 C 코딩 방식은 AAC (Advanced Audio Coding) 표준 또는 HE-AAC (High Efficiency Advanced Audio Coding) 표준에 따른 것일 수 있으나, 본 발명은 이에 한정되지 아니한다. 한편, C 코딩 유닛(120C)는, MDCT(Modified Discrete Transform) 인코더에 해당할 수 있다.
멀티플렉서(360)는 공간 정보, 대역확장 정보, A 코딩 유닛(120A) 내지 C 코딩 유닛(120C) 각각에 의해 인코딩된 신호 등을 멀티플렉싱함으로써, 하나 이상의 비트스트림을 생성한다.
도 34를 참조하면, 오디오 신호 디코딩 장치(400)는 디멀티플렉서(410), A 디코딩 유닛(220A) 내지 C 디코딩 유닛(220C), 밴드 확장 디코딩 유닛(420) 및 복수 채널 디코더(430)를 포함한다.
디멀티플렉서(410)는 오디오신호 비트스트림으로부터 A 코딩 방식 내지 C 코딩 방식에 따라 인코딩된 데이터, 밴드 확장 정보, 공간 정보 등을 추출한다.
도 33의 A 디코딩 유닛(220A) 내지 C 디코딩 유닛(220C)의 역과정이 수행되는 구성요소에 해당하므로, 구체적인 설명은 생략하고자 한다.
대역 확장 디코딩 유닛(420)는 A 디코딩 유닛(220A) 내지 C 디코딩 유닛(220C)의 출력 신호에 대해서, 대역 확장 디코딩 방식을 수행함으로써, 대역 확장 정보를 기반으로 고주파 대역의 신호를 복원한다.
복수 채널 디코더(430)은 디코딩된 오디오 신호가 다운믹스인 경우, 공간정보를 이용하여 멀티채널 신호(스테레오 신호 포함)의 출력 채널 신호를 생성한다.
본 발명에 따른 오디오 신호 처리 장치는 다양한 제품에 포함되어 이용될 수 있다. 이러한 제품은 크게 스탠드 얼론(stand alone) 군과 포터블(portable) 군으로 나뉠 수 있는데, 스탠드 얼론군은 티비, 모니터, 셋탑 박스 등을 포함할 수 있고, 포터블군은 PMP, 휴대폰, 네비게이션 등을 포함할 수 있다.
도 35는 는 본 발명에 따른 오디오 신호 처리 장치가 구현된 제품의 개략적인 구성을 보여주는 도면이다. 우선 도 35를 참조하면, 유무선 통신부(510)는 유무선 통신 방식을 통해서 비트스트림을 수신한다. 구체적으로 유무선 통신부(510)는 유선통신부(510A), 적외선통신부(510B), 블루투스부(510C), 무선랜통신부(510D) 중 하나 이상을 포함할 수 있다.
사용자 인증부는(520)는 사용자 정보를 입력 받아서 사용자 인증을 수행하는 것으로서 지문인식부(520A), 홍채인식부(520B), 얼굴인식부(520C), 및 음성인식부(520D) 중 하나 이상을 포함할 수 있는데, 각각 지문, 홍채정보, 얼굴 윤곽 정보, 음성 정보를 입력받아서, 사용자 정보로 변환하고, 사용자 정보 및 기존 등록되어 있는 사용자 데이터와의 일치여부를 판단하여 사용자 인증을 수행할 수 있다.
입력부(530)는 사용자가 여러 종류의 명령을 입력하기 위한 입력장치로서, 키패드부(530A), 터치패드부(530B), 리모컨부(530C) 중 하나 이상을 포함할 수 있지만, 본 발명은 이에 한정되지 아니한다.
신호 코딩 유닛(540)는 유무선 통신부(510)를 통해 수신된 오디오 신호 및/또는 비디오 신호에 대해서 인코딩 또는 디코딩을 수행하고, 시간 도메인의 오디오 신호를 출력한다. 오디오 신호 처리 장치(545)를 포함하는데, 이는 앞서 설명한 본 발명에 따른 인코더(100)(제1 실시예 내지 제 6실시예 포함) 또는 디코더(200)(제1 실시예 내지 제6 실시예 포함)에 해당하는 것으로서, 이와 같이 오디오 처리 장치(545) 및 이를 포함한 신호 코딩 유닛은 하나 이상의 프로세서에 의해 구현될 수 있다.
제어부(550)는 입력장치들로부터 입력 신호를 수신하고, 신호 디코딩부(540)와 출력부(560)의 모든 프로세스를 제어한다. 출력부(560)는 신호 디코딩부(540)에 의해 생성된 출력 신호 등이 출력되는 구성요소로서, 스피커부(560A) 및 디스플레이부(560B)를 포함할 수 있다. 출력 신호가 오디오 신호일 때 출력 신호는 스피커로 출력되고, 비디오 신호일 때 출력 신호는 디스플레이를 통해 출력된다.
도 36은 본 발명에 따른 오디오 신호 처리 장치가 구현된 제품들의 관계도이다. 도 36는 도 35에서 도시된 제품에 해당하는 단말 및 서버와의 관계를 도시한 것으로서, 도 36의 (A)를 참조하면, 제1 단말(500.1) 및 제2 단말(500.2)이 각 단말들은 유무선 통신부를 통해서 데이터 내지 비트스트림을 양방향으로 통신할 수 있음을 알 수 있다. 도 36의 (B)를 참조하면, 서버(600) 및 제1 단말(500.1) 또한 서로 유무선 통신을 수행할 수 있음을 알 수 있다.
본 발명에 따른 오디오 신호 처리 방법은 컴퓨터에서 실행되기 위한 프로그램으로 제작되어 컴퓨터가 읽을 수 있는 기록 매체에 저장될 수 있으며, 본 발명에 따른 데이터 구조를 가지는 멀티미디어 데이터도 컴퓨터가 읽을 수 있는 기록 매체에 저장될 수 있다. 상기 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 저장 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 상기 인코딩 방법에 의해 생성된 비트스트림은 컴퓨터가 읽을 수 있는 기록 매체에 저장되거나, 유/무선 통신망을 이용해 전송될 수 있다.
이상과 같이, 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 이것에 의해 한정되지 않으며 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 본 발명의 기술사상과 아래에 기재될 특허청구범위의 균등범위 내에서 다양한 수정 및 변형이 가능함은 물론이다.
본 발명은 오디오 신호를 처리하고 출력하는 데 적용될 수 있다.

Claims (16)

  1. 오디오 처리 장치에 의해, 직각 코딩 방식으로 인코딩된 제1 블록의 제1 데이터, 및 비-직각 코딩 방식으로 인코딩된 제2 블록의 제2 데이터를 포함하는 오디오 신호를 수신하는 단계;
    상기 제2 블록에 해당하는 보상 신호를 수신하는 단계;
    상기 제1 데이터를 이용하여 앨리어징 파트의 프리딕션을 추정하는 단계; 및,
    상기 제2 데이터, 상기 보상 신호, 및 상기 앨리어징 파트의 프리딕션을 근거로 하여, 상기 제2 블록의 복원된 신호를 획득하는 단계를 포함하는 오디오 신호 처리 방법.
  2. 제 1 항에 있어서,
    상기 직각 코딩 방식은, 직각 윈도우를 이용하여 인코딩 또는 디코딩하는 방식이고, 상기 비-직각 코딩 방식은, 비-직각 윈도우를 이용하여 인코딩 또는 디코딩하는 방식임을 특징으로 하는 오디오 신호 처리 방법.
  3. 제 1 항에 있어서,
    상기 보상 신호는, 보정 파트 및 앨리어징 파트의 에러를 근거로 생성된 것이고,
    상기 보정 파트는, 직각 윈도우 및 비-직각 윈도우간의 비대칭성에 관련된 차이에 해당하고,
    상기 앨리어징 파트의 에러는, 상기 엘리어징 파트, 및 상기 앨리어징 파트의 프리딕션간의 차이에 해당하는 것을 특징으로 하는 오디오 신호 처리 방법.
  4. 제 1 항에 있어서,
    상기 앨리어징 파트는,
    상기 비-직각 코딩 스킴에 사용되는 비-직각 윈도우와 상기 제1 블록 간의 중첩 파트(overlapping part)에 해당하는 것을 특징으로 하는 오디오 신호 처리 방법.
  5. 제 1 항에 있어서,
    상기 프리딕션을 추정하는 단계는,
    상기 직각 윈도우 방식을 근거로 제1 블록의 제1 데이터를 이용하여 제1 블록의 출력 신호를 생성하는 단계; 및,
    상기 제1 블록의 상기 출력 신호 및 상기 비-직각 윈도우를 이용하여, 상기 앨리어징 파트의 프리딕션을 획득하는 단계를 포함하는 것을 특징으로 하는 오디오 신호 처리 방법.
  6. 제 1 항에 있어서,
    상기 복원된 신호는, 상기 비-직각 코딩 방식에 사용되는 비-직각 윈도우와는 다른 직각 윈도우를 이용하여 처리된 신호에 근사한 것을 특징으로 오디오 신호 처리 방법.
  7. 제 1 항에 있어서,
    상기 복원된 신호를 획득하는 단계는,
    시간-도메인 제2 신호를 생성하기 위해, 상기 제2 데이터를 역-주파수변환하는 단계;
    시간-도메인 보상 신호를 생성하기 위해, 상기 보상 신호를 역-주파수변환하는 단계; 및,
    상기 시간-도메인 보상 신호를 상기 시간-도메인 제2 신호 및 상기 앨리어징 파트의 프리딕션에 더함으로써, 상기 복원된 신호를 생성하는 단계를 포함하는 것을 특징으로 하는 오디오 신호 처리 방법.
  8. 제 1 항에 있어서,
    상기 제1 블록은 프레임 및 서브프레임 중 하나에 해당하고,
    상기 제2 블록은 프레임 및 서브프레임 중 하나에 해당하는 것을 특징으로 하는 오디오 신호 처리 방법.
  9. 직각 코딩 방식으로 인코딩된 제1 블록의 제1 데이터, 및 비-직각 코딩 방식으로 인코딩된 제2 블록의 제2 데이터를 포함하는 오디오 신호를 수신하고, 상기 제2 블록에 해당하는 보상 신호를 수신하는 디-멀티플렉서;
    상기 제1 데이터를 이용하여 앨리어징 파트의 프리딕션을 추정하는 직각 디코딩 유닛; 및,
    상기 제2 데이터, 상기 보상 신호, 및 상기 앨리어징 파트의 프리딕션을 근거로 하여, 상기 제2 블록의 복원된 신호를 획득하는 비-직각 디코딩 유닛을 포함하는 오디오 신호 처리 장치.
  10. 제 9 항에 있어서,
    상기 직각 코딩 방식은, 직각 윈도우를 이용하여 인코딩 또는 디코딩하는 방식이고, 상기 비-직각 코딩 방식은, 비-직각 윈도우를 이용하여 인코딩 또는 디코딩하는 방식임을 특징으로 하는 오디오 신호 처리 장치.
  11. 제 9 항에 있어서,
    상기 보상 신호는, 보정 파트 및 앨리어징 파트의 에러를 근거로 생성된 것이고,
    상기 보정 파트는, 직각 윈도우 및 비-직각 윈도우간의 비대칭성에 관련된 차이에 해당하고,
    상기 앨리어징 파트의 에러는, 상기 엘리어징 파트, 및 상기 앨리어징 파트의 프리딕션간의 차이에 해당하는 것을 특징으로 하는 오디오 신호 처리 장치.
  12. 제 9 항에 있어서,
    상기 앨리어징 파트는,
    상기 비-직각 코딩 스킴에 사용되는 비-직각 윈도우와 상기 제1 블록 간의 중첩 파트(overlapping part)에 해당하는 것을 특징으로 하는 오디오 신호 처리 장치.
  13. 제 9 항에 있어서,
    상기 직각 디코딩 유닛은,
    상기 직각 윈도우 방식을 근거로 제1 블록의 제1 데이터를 이용하여 제1 블록의 출력 신호를 생성하고, 및,
    상기 제1 블록의 상기 출력 신호 및 상기 비-직각 윈도우를 이용하여, 상기 앨리어징 파트의 프리딕션을 획득하는 것을 특징으로 하는 오디오 신호 처리 장치.
  14. 제 9 항에 있어서,
    상기 복원된 신호는, 상기 비-직각 코딩 방식에 사용되는 비-직각 윈도우와는 다른 직각 윈도우를 이용하여 처리된 신호에 근사한 것을 특징으로 오디오 신호 처리 장치.
  15. 제 9 항에 있어서,
    상기 비-직각 코딩 유닛은,
    시간-도메인 제2 신호를 생성하기 위해, 상기 제2 데이터를 역-주파수변환하고,
    시간-도메인 보상 신호를 생성하기 위해, 상기 보상 신호를 역-주파수변환하고, 및,
    상기 시간-도메인 보상 신호를 상기 시간-도메인 제2 신호 및 상기 앨리어징 파트의 프리딕션에 더함으로써, 상기 복원된 신호를 생성하는 것을 특징으로 하는 오디오 신호 처리 장치.
  16. 제 9 항에 있어서,
    상기 제1 블록은 프레임 및 서브프레임 중 하나에 해당하고,
    상기 제2 블록은 프레임 및 서브프레임 중 하나에 해당하는 것을 특징으로 하는 오디오 신호 처리 장치.
KR1020127004761A 2009-07-27 2010-07-27 오디오 신호 처리 방법 및 장치 KR101410312B1 (ko)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US22895909P 2009-07-27 2009-07-27
US61/228,959 2009-07-27
US22897609P 2009-07-28 2009-07-28
US61/228,976 2009-07-28
US23200809P 2009-08-07 2009-08-07
US23200709P 2009-08-07 2009-08-07
US61/232,007 2009-08-07
US61/232,008 2009-08-07
US24351409P 2009-09-17 2009-09-17
US61/243,514 2009-09-17
PCT/KR2010/004920 WO2011013982A2 (en) 2009-07-27 2010-07-27 A method and an apparatus for processing an audio signal

Publications (2)

Publication Number Publication Date
KR20120061844A true KR20120061844A (ko) 2012-06-13
KR101410312B1 KR101410312B1 (ko) 2014-06-27

Family

ID=43529851

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127004761A KR101410312B1 (ko) 2009-07-27 2010-07-27 오디오 신호 처리 방법 및 장치

Country Status (6)

Country Link
US (7) US8892427B2 (ko)
EP (2) EP3474279A1 (ko)
JP (1) JP5547810B2 (ko)
KR (1) KR101410312B1 (ko)
CN (2) CN102576540B (ko)
WO (4) WO2011013980A2 (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011013980A2 (en) 2009-07-27 2011-02-03 Lg Electronics Inc. A method and an apparatus for processing an audio signal
WO2011034376A2 (en) * 2009-09-17 2011-03-24 Lg Electronics Inc. A method and an apparatus for processing an audio signal
JP5882895B2 (ja) 2010-06-14 2016-03-09 パナソニック株式会社 復号装置
US8924200B2 (en) * 2010-10-15 2014-12-30 Motorola Mobility Llc Audio signal bandwidth extension in CELP-based speech coder
WO2012070866A2 (ko) * 2010-11-24 2012-05-31 엘지전자 주식회사 스피치 시그널 부호화 방법 및 복호화 방법
EP2849180B1 (en) * 2012-05-11 2020-01-01 Panasonic Corporation Hybrid audio signal encoder, hybrid audio signal decoder, method for encoding audio signal, and method for decoding audio signal
WO2013183928A1 (ko) * 2012-06-04 2013-12-12 삼성전자 주식회사 오디오 부호화방법 및 장치, 오디오 복호화방법 및 장치, 및 이를 채용하는 멀티미디어 기기
EP2959481B1 (en) 2013-02-20 2017-04-26 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for generating an encoded audio or image signal or for decoding an encoded audio or image signal in the presence of transients using a multi overlap portion
JP6179122B2 (ja) * 2013-02-20 2017-08-16 富士通株式会社 オーディオ符号化装置、オーディオ符号化方法、オーディオ符号化プログラム
CN103280222B (zh) * 2013-06-03 2014-08-06 腾讯科技(深圳)有限公司 音频编码、解码方法及其系统
EP3011561B1 (en) 2013-06-21 2017-05-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for improved signal fade out in different domains during error concealment
SG11201510463WA (en) 2013-06-21 2016-01-28 Fraunhofer Ges Forschung Apparatus and method for improved concealment of the adaptive codebook in acelp-like concealment employing improved pitch lag estimation
PL3011555T3 (pl) * 2013-06-21 2018-09-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Rekonstrukcja ramki sygnału mowy
WO2015191434A2 (en) 2014-06-09 2015-12-17 Stepan Company Detergents for cold-water cleaning
EP2980794A1 (en) * 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder and decoder using a frequency domain processor and a time domain processor
EP2980795A1 (en) 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoding and decoding using a frequency domain processor, a time domain processor and a cross processor for initialization of the time domain processor
FR3024581A1 (fr) * 2014-07-29 2016-02-05 Orange Determination d'un budget de codage d'une trame de transition lpd/fd
JP6561499B2 (ja) * 2015-03-05 2019-08-21 ヤマハ株式会社 音声合成装置および音声合成方法
US9900636B2 (en) 2015-08-14 2018-02-20 The Nielsen Company (Us), Llc Reducing signature matching uncertainty in media monitoring systems
CN114898761A (zh) 2017-08-10 2022-08-12 华为技术有限公司 立体声信号编解码方法及装置

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5890106A (en) * 1996-03-19 1999-03-30 Dolby Laboratories Licensing Corporation Analysis-/synthesis-filtering system with efficient oddly-stacked singleband filter bank using time-domain aliasing cancellation
US5848391A (en) 1996-07-11 1998-12-08 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Method subband of coding and decoding audio signals using variable length windows
US6134518A (en) * 1997-03-04 2000-10-17 International Business Machines Corporation Digital audio signal coding using a CELP coder and a transform coder
US6233550B1 (en) * 1997-08-29 2001-05-15 The Regents Of The University Of California Method and apparatus for hybrid coding of speech at 4kbps
ATE302991T1 (de) 1998-01-22 2005-09-15 Deutsche Telekom Ag Verfahren zur signalgesteuerten schaltung zwischen verschiedenen audiokodierungssystemen
US7272556B1 (en) * 1998-09-23 2007-09-18 Lucent Technologies Inc. Scalable and embedded codec for speech and audio signals
EP1310099B1 (en) * 2000-08-16 2005-11-02 Dolby Laboratories Licensing Corporation Modulating one or more parameters of an audio or video perceptual coding system in response to supplemental information
US7424434B2 (en) * 2002-09-04 2008-09-09 Microsoft Corporation Unified lossy and lossless audio compression
JP2005083346A (ja) * 2003-09-11 2005-03-31 Hino Motors Ltd 排気浄化装置
US7325023B2 (en) * 2003-09-29 2008-01-29 Sony Corporation Method of making a window type decision based on MDCT data in audio encoding
US6980933B2 (en) * 2004-01-27 2005-12-27 Dolby Laboratories Licensing Corporation Coding techniques using estimated spectral magnitude and phase derived from MDCT coefficients
CA2457988A1 (en) * 2004-02-18 2005-08-18 Voiceage Corporation Methods and devices for audio compression based on acelp/tcx coding and multi-rate lattice vector quantization
US7516064B2 (en) * 2004-02-19 2009-04-07 Dolby Laboratories Licensing Corporation Adaptive hybrid transform for signal analysis and synthesis
ATE371926T1 (de) * 2004-05-17 2007-09-15 Nokia Corp Audiocodierung mit verschiedenen codierungsmodellen
KR20070068424A (ko) 2004-10-26 2007-06-29 마츠시타 덴끼 산교 가부시키가이샤 음성 부호화 장치 및 음성 부호화 방법
ATE521143T1 (de) 2005-02-23 2011-09-15 Ericsson Telefon Ab L M Adaptive bitzuweisung für die mehrkanal- audiokodierung
WO2007040365A1 (en) * 2005-10-05 2007-04-12 Lg Electronics Inc. Method and apparatus for signal processing and encoding and decoding method, and apparatus therefor
KR101016224B1 (ko) 2006-12-12 2011-02-25 프라운호퍼-게젤샤프트 추르 푀르데룽 데어 안제반텐 포르슝 에 파우 인코더, 디코더 및 시간 영역 데이터 스트림을 나타내는 데이터 세그먼트를 인코딩하고 디코딩하는 방법
EP3002750B1 (en) 2008-07-11 2017-11-08 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder and decoder for encoding and decoding audio samples
EP2144230A1 (en) 2008-07-11 2010-01-13 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Low bitrate audio encoding/decoding scheme having cascaded switches
US8352279B2 (en) 2008-09-06 2013-01-08 Huawei Technologies Co., Ltd. Efficient temporal envelope coding approach by prediction between low band signal and high band signal
BRPI0914056B1 (pt) 2008-10-08 2019-07-02 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Esquema de codificação/decodificação de áudio comutado multi-resolução
KR101315617B1 (ko) 2008-11-26 2013-10-08 광운대학교 산학협력단 모드 스위칭에 기초하여 윈도우 시퀀스를 처리하는 통합 음성/오디오 부/복호화기
CA3107567C (en) 2009-01-28 2022-08-02 Dolby International Ab Improved harmonic transposition
US8655294B2 (en) * 2009-05-26 2014-02-18 Qualcomm Incorporated Method and apparatus for position signal assisted window placement
WO2010148516A1 (en) 2009-06-23 2010-12-29 Voiceage Corporation Forward time-domain aliasing cancellation with application in weighted or original signal domain
WO2011013980A2 (en) 2009-07-27 2011-02-03 Lg Electronics Inc. A method and an apparatus for processing an audio signal
WO2011085483A1 (en) * 2010-01-13 2011-07-21 Voiceage Corporation Forward time-domain aliasing cancellation using linear-predictive filtering
US20130287109A1 (en) * 2012-04-29 2013-10-31 Qualcomm Incorporated Inter-layer prediction through texture segmentation for video coding

Also Published As

Publication number Publication date
WO2011013980A3 (en) 2011-04-21
EP2460158A2 (en) 2012-06-06
JP2013500506A (ja) 2013-01-07
WO2011013982A2 (en) 2011-02-03
US8892427B2 (en) 2014-11-18
US20130325486A1 (en) 2013-12-05
WO2011013980A2 (en) 2011-02-03
US20130332149A1 (en) 2013-12-12
CN103761971A (zh) 2014-04-30
WO2011013981A3 (en) 2011-04-28
JP5547810B2 (ja) 2014-07-16
USRE49813E1 (en) 2024-01-23
WO2011013980A4 (en) 2011-06-09
CN102576540A (zh) 2012-07-11
WO2011013982A3 (en) 2011-04-21
USRE47536E1 (en) 2019-07-23
CN103761971B (zh) 2017-01-11
US20130325487A1 (en) 2013-12-05
WO2011013983A2 (en) 2011-02-03
WO2011013981A2 (en) 2011-02-03
US20120185257A1 (en) 2012-07-19
US9214160B2 (en) 2015-12-15
US9064490B2 (en) 2015-06-23
WO2011013983A3 (en) 2011-04-28
US9082399B2 (en) 2015-07-14
EP2460158A4 (en) 2013-09-04
KR101410312B1 (ko) 2014-06-27
EP3474279A1 (en) 2019-04-24
CN102576540B (zh) 2013-12-18
USRE48916E1 (en) 2022-02-01

Similar Documents

Publication Publication Date Title
KR101410312B1 (ko) 오디오 신호 처리 방법 및 장치
KR101379261B1 (ko) 오디오 신호 처리 방법 및 장치
US9613630B2 (en) Apparatus for processing a signal and method thereof for determining an LPC coding degree based on reduction of a value of LPC residual
US8380523B2 (en) Method and an apparatus for processing an audio signal
KR20100035121A (ko) 신호 처리 방법 및 이의 장치
JP6654236B2 (ja) オーディオ変換コーディングにおけるオーバーラップ率の信号適応スイッチングのための符号化器、復号器および方法

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170530

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180919

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190611

Year of fee payment: 6