상술된 몇 개의 고찰에 대하여, 본 발명의 목적은 비디오 정보 프레임과 정렬된 프레임들 안에 전달되고, 시간축-엘리어싱 소거 트랜스포옴을 포함하는 블럭 코딩 프로세스가 신호 특성에 따라 세그먼트 및 블럭 길이를 적합하게 하는 것을 허용하는 오디오 정보의 인코딩 및 디코딩을 제공하는 것이다.
부가적인 이점들은, 스플라이스와 같은 편집 연산과, 비디오/오디오 동기를 더 쉽게 유지시키는 컨트롤링 프로세싱 지체로부터 초래하는 청취가능한 인공물을 회피하거나 또는 적어도 최소화시키는 방법을 포함하는 본 발명의 다양한 태양으로부터 실현될 것이다.
본 발명의 일 태양의 교시에 따르면, 오디오 정보를 인코딩하는 방법은, 비디오 정보 프레임들의 시퀀스 안에 비디오 정보 프레임의 배열을 전달하는 기준 신호를 수신하는 단계; 오디오 정보를 전달하는 오디오 신호를 수신하는 단계; 오디오 정보의 특성을 인식하는 오디오 신호를 분석하는 단계; 오디오 정보의 특성에 응답하여 제어 신호를 발생시키는 단계; 인코딩된 정보의 다수 블럭을 발생시키도록 제어 신호에 응답하여 세그먼트 길이를 적합하게 하는 적응형 블럭 인코딩 프로세스를 오디오 신호의 오버랩핑 세그먼트에 적용하는 단계; 및 기준 신호와 정렬된인코딩된 정보 프레임을 형성하도록 세그먼트 길이를 전달하는 제어 정보 및 인코딩된 정보의 다수 블럭들을 조립하는 단계를 포함한다.
본 발명의 다른 태양의 교시에 따르면, 오디오 정보를 디코딩하는 방법은, 비디오 정보 프레임들의 시퀀스 안에 비디오 정보 프레임들의 배열을 전달하는 기준 신호를 수신하는 단계; 기준 신호와 정렬되며 제어 정보 및 인코딩된 오디오 정보의 블럭들을 포함하는 인코딩된 정보 프레임들을 수신하는 단계; 제어 정보에 응답하여 제어 신호를 발생시키는 단계; 제어 신호에 응답하여 오디오 정보의 오버랩핑 세그먼트의 시퀀스를 발생시키는 적응형 블럭 디코딩 프로세스를 각 인코딩된 정보 프레임안의 인코딩된 오디오 정보의 다수 블럭들에 적용하는 단계를 포함한다.
본 발명의 다른 태양의 교시에 따르면, 광학 디스크, 자기 디스크 및 테이프와 같은 정보 저장 매체(medium)는 비디오 프레임들 안에 배열된 비디오 정보와 인코딩된 정보 프레임들 안에 배열된 인코딩된 오디오 정보를 전달하는데, 각 인코딩된 정보 프레임은 각 비디오 프레임에 상응하며 오버랩핑 세그먼트의 시퀀스 안에 오디오 정보의 세그먼트 길이를 전달하는 제어 정보를 포함하며, 각 세그먼트는 인접 세그먼트와 각각 오버랩 간격을 가지며 시퀀스는 프레임 간격과 프레임 오버랩 간격을 합한 것과 동일한 길이, 및 인코딩된 오디오 정보의 블럭들을 가지며, 각 블럭은, 적응형 블럭-디코딩 프로세스에 의해 프로세스될 때, 오버랩핑 세그먼트의 시퀀스 안에 오디오 정보의 각 세그먼트를 초래하는 각 길이와 각 내용을 갖는다.
이 논의를 통하여, "코딩(coding)" 및 "코더(coder)"와 같은 용어는 신호 프로세스를 위한 다양한 방법 및 장치를 일컬으며, "인코딩된(encoded)" 및 "디코딩된(decoded)"은 그러한 프로세스의 결과를 일컫는다. 이러한 용어들은 오디오 정보가 감소된 정보 수용 조건으로 전달 또는 저장되도록 허용하는 지각-기반 코딩 프로세스와 같은 프로세스를 일컫거나 의미하는 것으로 종종 이해된다. 그러나, 본문에 사용된 것처럼, 이러한 용어들이 그러한 프로세스를 의미하는 것이 아니다. 예를 들면, 용어 "코딩"은 신호를 나타내도록 펄스 부호 변조(PCM) 샘플을 발생시키며 일부 설명에 따라 정보를 포맷으로 배열 또는 조립하는 것과 같은 더 포괄적인 프로세스를 포함한다.
"세그먼트(segment)", "블럭(block)" 및 "프레임(frame)"과 같은 용어들은 상세한 설명에 사용된 것처럼, 때때로 AES-3/EBU 디지털 오디오 표준으로서 알려진 ANSI S4.40-1992 표준과 같은 다른 기준에서 일컫는 것과는 달리 정보의 그룹 또는 간격을 일컫는다.
"필터(filter)" 및 "필터뱅크(filterbank)"와 같은 용어들은 본문에 사용된 것처럼 직각 미러 필터(QMF)와 같은 순환 및 비-순환 필터링의 임의의 형태를 포함한다. 만일 논의의 문맥이 다른 것을 가리킨다면, 이러한 용어들은 트랜스포옴을 일컫도록 본문에 또한 사용된다. 용어 "필터링된(filtered)" 정보는 분석 "필터"를 적용한 결과를 일컫는다.
본 발명의 다양한 특징 및 바람직한 실시예들은 유사한 참조 번호가 몇 개의 도면에서 유사한 요소를 인용하는 첨부된 도면과 하기 설명을 인용함으로서 더 잘 이해될 것이다.
다양한 장치들을 도시하는 도면들은 본 발명을 이해하는데 도움이 되는 주요 구성요소들을 나타내고 있다. 명확성을 위해서, 이 도면들은 실제 실시예들에 중요한 많은 다른 특징으로 생략하고 있지만 본 발명의 개념을 이해하는데 에는 중요하지 않다.
본 발명을 실행하는데 필요한 신호 프로세싱은 마이크로프로세서, 디지털 신호 프로세서, 로직 어레이 및 다른 형태의 컴퓨팅 회로에 의해 수행되는 프로그램을 포함하여 폭넓게 다양한 방식으로 달성된다. 본 발명의 다양한 태양을 실행하는 명령어들의 기계 실행가능 프로그램들은 광학 디스크, 자기 디스크 및 테이프와 같은 자기 및 광학 매체, 및 프로그램 가능한 읽기 전용 기억장치와 같은 고체-상태 장치를 포함하는 사실상 어떤 기계-판독가능한 매체에도 구현될 것이다. 신호 필터들은 순환, 비-순환 및 격자 디지털 필터들을 포함하는 사실상 어떤 방식으로도 실행될 것이다. 디지털 및 아날로그 기술은 어플리케이션의 필요와 특성에 따라 다양한 결합체에 사용될 것이다.
더 상세한 설명은 오디오 및 비디오 정보 스트림을 프로세스하는 것에 관련된 조건으로 이루어진다; 그러나, 본 발명의 태양들은 비디오 정보의 프로세스를 포함하지 않는 어플리케이션에서도 실행될 것이다.
하기 설명의 내용들과 도면들은 단지 예로서 진술되어 있으며 본 발명의 범위에 대한 제한을 나타내는 것으로 이해되지 말아야 한다.
A. 신호 및 프로세스
1.세그먼트, 블럭 및 프레임
본 발명은 비디오 정보의 프레임안에 전달되는 영상에 관련된 오디오 정보를 인코딩 및 디코딩하는 것에 관련된 것이다. 도 1을 참조하면, 1개 채널의 오디오 정보에 대한 오디오 신호(10)의 부분이 오버랩핑 세그먼트(11 내지 18)에 분할되는 것으로 도시되어 있다. 본 발명에 따르면, 1개 이상 채널들의 오디오 정보의 세그먼트들은 블럭-인코딩 프로세스에 의해 프로세스되어 인코딩된 정보의 블럭(21 내지 28)을 포함하는 인코딩된 정보 스트림(20)을 발생시킨다. 예를 들면, 인코딩된 블럭(22 내지 25)의 시퀀스는 블럭-인코딩 프로세스를 1개 채널의 오디오 정보에 대한 오디오 세그먼트(12 내지 15)의 시퀀스에 적용함에 따라 발생된다. 도면에 도시된 것처럼, 각 인코딩된 블럭은 상응하는 오디오 세그먼트를 지체시키는데, 왜냐하면 블럭-인코딩 프로세스는 완전한 오디오 세그먼트를 수신 및 버퍼링하는데 필요한 시간만큼 적어도 긴 지연을 초래하기 때문이다. 도면에 도시된 지체의 양은 중요한 것으로 의도된 것은 아니다.
오디오 신호(10)에서 각 세그먼트는 트랜스포옴 코딩과 같은 블럭-인코딩 프로세스에 사용되는 분석 윈도우 함수의 시간축 "이득 프로파일(gain profile)"을 암시하는 형상으로 도 1에 표시되어 있다. 분석 윈도우 함수의 이득 프로파일은 시간의 함수로서 윈도우 함수의 이득이다. 1개 세그먼트에 대한 윈도우 함수의 이득 프로파일은 세그먼트 오버랩 간격으로서 본문에 인용된 양만큼 다음 세그먼트에 대한 윈도우 함수의 이득 프로파일을 오버랩한다. 트랜스포옴 코딩이 바람직한 실시예에 사용될 것으로 기대되지만, 본 발명은 오디오 정보의 세그먼트에 응답하여 인코딩된 정보의 블럭을 발생시키는 블럭-인코딩 프로세스의 어떤 유형과도 사용될 수 있다.
기준 신호(30)는 비디오 정보의 스트림 안에 비디오 프레임들의 배열을 전달한다. 도시된 예에서, 프레임 기준(31 및 32)은 2개의 인접 비디오 프레임들의 배열을 전달한다. 상기 기준은 비디오 프레임의 시작 또는 다른 바람직한 포인트를 나타낸다. NTSC 비디오에 대해 1가지 일반적으로 사용되는 배열 포인트는 각 비디오 프레인의 첫번째 필드에서 10번째 라인이다.
본 발명은 오디오 정보가 비디오 정보의 프레임들과 같이 전달되는 비디오/오디오 시스템에서 사용된다. 비디오/오디오 정보 스트림들은 다양한 편집 및 신호 프로세스 연산에 빈번히 적용된다. 이러한 연산은 비디오/오디오 정보의 1개 이상의 스트림을 비디오 프레임들과 정렬된 포인트에서 섹션으로 빈번히 절단하므로, 이러한 연산이 인코딩된 블럭 내에서 절단을 못하도록 비디오 프레임들과 정렬된 형태로 인코딩된 오디오 정보를 조립하는 것이 바람직하다.
도 2를 참조하면, 오디오 정보의 1개 채널에 대한 세그먼트들의 시퀀스 또는프레임(19)은 프레임(29)으로 조립된 다수의 인코딩된 블럭들을 발생시키도록 프로세스되어, 기준(31)과 정렬된다. 이 도면에서, 점선은 각 세그먼트들의 경계를 나타내며 블럭과 고상선(solid line)은 세그먼트 프레임들과 인코딩된-블럭 프레임들의 경계를 나타낸다. 특히, 세그먼트 프레임(19)에 대한 고상선의 형상은 프레임 내에서 오버랩핑된 세그먼트들의 시퀀스에 대한 분석 윈도우 함수들의 결과적인 시간축 이득 프로파일을 암시한다. 프레임(19)과 같은 1개의 세그먼트 프레임에 대한 이득 프로파일이 다음 세그먼트 프레임의 이득 프로파일을 오버랩하는 양은 프레임 오버랩 간격으로서 본문에서 일컬어진다.
분석 윈도우 함수와 트랜스포옴을 사용하는 실시예에서, 분석 윈도우 함수의 형상은 시스템의 시간축 이득 이외에 트랜스포옴의 주파수-응답 특성에 영향을 끼친다. 윈도우 함수의 선택은 코딩 시스템의 성능에 상당한 영향을 가질 수 있지만, 특정 윈도우 형상이 본 발명의 실행에 원칙적으로 중대한 것은 아니다. 윈도우 함수의 영향을 기술하는 정보는 미국 특허 제 5,109,417 호, 미국 특허 제 5,394,473 호, 미국 특허 5,913,191 호 및 미국 특허 제 5,903,872 호로부터 획득될 수 있다.
실제 실시예에서, 갭(gap) 또는 "보호 대역(guard band)"은 인코딩된 정보의 프레임들간에 형성되어 편집 및 절단하는 것에 대해 약간의 허용오차를 제공한다. 이러한 보호 대역의 정보에 대한 부가적인 정보는 1999년 3월 11일 제출된 국제 특허 출원 제 PCT/US99/05249 호로부터 획득될 수 있다. 유용한 정보가 이러한 보호 대역안에서 전달되는 방식은 1999년 11월 11일 제출된 국제 특허 출원 제 PCT/US99/26324 호에 기술되어 있다.
2. 신호 프로세싱의 개요
오디오 신호의 일부 통과는 사실상 고정될 수 있지만, 오디오 신호들은 일반적으로 고정되어 있지 않다. 이러한 통과는 더 긴 세그먼트 길이를 더 효율적으로 사용하여 블럭-인코딩된다. 예를 들면, 블럭-압신 PCM과 같은 인코딩 프로세스들은 더 적은 비트로 샘플들의 더 긴 세그먼트들을 인코딩하여 일정한 레벨의 확도(accuracy)로 오디오 신호의 고정 통과를 인코딩할 수 있다. 사이코어쿠스틱-계열 트랜스포옴 코딩 시스템에서, 더 긴 세그먼트들의 사용은 각 스펙트럼 성분의 더 정확한 분리 및 더 정확한 사이코어쿠스틱 코딩 결정을 위해 트랜스포옴의 주파수 해상도를 증가시킨다.
불행히도, 이러한 이점들은 매우 비-고정된 오디오 신호의 통과에 대해서는 제공되지 않는다. 커다란 진폭 과도현상을 포함하는 통과에 있어서, 예를 들면, 긴 세그먼트의 블럭-압신 PCM 코딩은 매우 비효율적이다. 사이코어쿠스틱-계열 트랜스포옴 코딩 시스템에서, 과도현상 스펙트럼 성분의 양자화에 의해 야기된 인공물들은 합성 트랜스포옴에 의해 복원된 세그먼트 전역에 확산되어 있다; 만일 세그먼트가 충분히 길다면, 이러한 인공물들은 사람의 청각 시스템의 사전-시간 마스킹 간격을 초과하는 간격에 걸쳐 확산되어 있다. 결국, 더 짧은 세그먼트 길이는 매우 비-고정된 오디오 신호의 통과를 위해 일반적으로 바람직하다.
코딩 시스템 성능은 다양한 길이의 세그먼트들을 인코딩 및 디코딩시키기 위해 코딩 프로세스들을 적합하게 함으로서 개선될 수 있다. 그러나, 일부 코딩 프로세스들에 대해, 세그먼트 길이의 변경은 1가지 이상의 제약에 일치해야 한다. 예를들면, 만일 엘리어싱 소거가 이루어지려면, 시간축 엘리어싱 소거(TDAC) 트랜스포옴을 사용하는 코딩 프로세스의 적용은 몇 개의 제약에 일치해야 한다. TDAC 제약을 충족시키는 본 발명의 실시예들이 본문에 기술되어 있다.
a.인코딩
도 3은 인코딩된 정보의 프레임들로 조립된 인코딩된 오디오 정보의 블럭들을 발생시키기 위해서 적응형 블럭-인코딩 프로세스를 1개 이상의 오디오 채널용 오디오 정보의 세그먼트들의 시퀀스 또는 프레임에 적용하는 오디오 인코더(40)의 일실시예를 도시한다. 이러한 인코딩된-블럭 프레임들은 비디오 정보의 프레임들과 결합되거나 또는 프레임들 속으로 개재될 수 있다.
이 실시예에서, 분석부(45)는 경로(44)를 따라 패스되는 오디오 정보에 의해 전달된 1개 이상의 오디오 신호들의 특성들을 식별한다. 이러한 특성들의 예들은 각 오디오 신호의 대역폭의 전부 또는 일부에 대한 진폭 또는 에너지의 빠른 변동, 주파수의 빠른 변동을 겪는 신호 에너지의 성분들, 및 그러한 결과가 발생하는 곳의 신호의 섹션내의 시간 또는 상대적 위치를 포함한다. 이러한 검출된 특성에 응답하여, 제어부(46)는 각 오디오 채널에 대하여 프로세스된 세그먼트들의 프레임안에 세그먼들의 길이를 전달하는 제어 신호를 경로(47)를 따라 발생시킨다. 인코딩부(50)는 경로(47)로부터 수신된 제어 신호에 응답하여 블럭-인코딩 프로세스를 적합하게 하고 적합하게된 블럭-인코딩 프로세스를 경로(44)로부터 수신된 오디오 정보에 적용하여 인코딩된 오디오 정보의 블럭들을 발생시킨다. 포맷부(48)는 인코딩된 정보의 블럭들과 제어 신호의 표시를 비디오 정보의 프레임들의 배열을 전달하는 경로(42)로부터 수신된 기준 신호와 정렬된 인코딩된 정보의 프레임으로 조립한다. 변환부(43)는 아래에 더 상세히 기술되는 선택 요소이다.
1개 채널 이상의 오디오 정보를 프로세스하는 인코더(40)의 실시예에서, 인코딩부(50)는 신호 인코딩 프로세스를 오디오 채널의 일부 또는 전부에 적합하게 하여 적용한다. 그러나, 바람직한 실시예에서, 분석부(45), 제어부(46) 및 인코딩부(50)는 각 오디오 채널에 대한 독립적인 인코딩 프로세스를 적합 및 적용하도록 연산하다. 바람직한 실시예에서, 예를 들면, 인코더(40)는 인코딩부(50)에 의해 적용된 인코딩 프로세스의 블럭 길이를 오디오 채널 안에서의 과도현상의 발생 검출에 응답하여 1개의 오디오 채널에만 적합하게 한다. 이러한 바람직한 실시예들에서, 오디오 채널 안에서의 과도현상의 검출은 다른 채널의 인코딩 프로세스를 적합하게 하는데 사용되지 않는다.
b. 디코딩
도 4는 적응형 블럭-디코딩 프로세스를 비디오 정보의 프레임들을 전달하는 신호들로부터 획득될 수 있는 인코딩된 정보의 프레임들에 적용함으로서 1개 이상의 오디오 채널들에 대한 오디오 정보의 세그먼트들을 발생시키는 오디오 디코더(60)의 일실시예를 도시한다.
이 실시예에서, 디포맷부(63)는 경로(62)로부터 수신되는 비디오 기준 신호와 정렬된 인코딩된 정보의 프레임들을 수신한다. 인코딩된 정보의 프레임들은 제어 정보와 인코딩된 오디오 정보의 블럭들을 전달한다. 제어부(65)는 인코딩된 오디오 정보의 블럭들로부터 복원되는 세그먼트들의 프레임안에 오디오 정보의 세그먼트들의 길이들을 전달하는 제어신호를 경로(67)를 따라 발생시킨다. 선택적으로, 제어부(65)는 또한 인코딩된 정보의 프레임들에서 불연속성을 검출하고 디코딩부(70)의 연산에 적합하도록 사용될 수 있는 "스플라이스-검출(splice-detect)" 신호를 경로(66)를 통하여 발생시킨다. 디코딩부(70)는 경로(67)로부터 수신된 제어 신호 및 경로(66)로부터 수신된 스플라이스-검출 신호에 선택적으로 응답하여 블럭-디코딩 프로세스를 적합하게 하고, 적합하게된 블럭-디코딩 프로세스를 경로(64)로부터 수신된 인코딩된 오디오 정보의 블럭들에 적용하여 제어 신호 안에 전달되는 길이들에 일치하는 길이들을 갖는 오디오 정보의 세그먼트들을 발생시킨다. 변환부(68)는 아래에 상세히 기술되는 선택 요소이다.
B. 트랜스포옴 코딩 수행
1.블럭 인코더
상술한 것처럼, 인코딩부(50)는 블럭-압신 PCM, 델타 변조, 직각 미러 필터(QMF) 및 다양한 순환, 비-순환 및 격자 필터에 의해 제공되는 것과 같은 필터링, TDAC 트랜스포옴, 이산 푸리에 트랜스포옴(DFT)과 이산 코사인 트랜스포옴(DCT), 및 웨이브렛 트랜스포옴에 의해 제공되는 것과 같은 블럭 변환, 그리고 적합한 비트 할당에 따른 블럭 양자화를 포함하는 폭넓게 다양한 블럭-인코딩 프로세스를 수행할 수 있다. 상세한 블럭-인코딩 프로세스는 본 발명의 기본 개념에 근본적인 것은 아니지만, 더 상세한 설명은 엘리어싱 소거를 이루는데 필요한 부가적인 고찰 때문에 TDAC 트랜스포옴을 적용하는 프로세스로 본문에 이루어져 있다.
도 5는 TDAC 트랜스포옴에 의해 수행되는 다수의 필터뱅크중 1개를 1개의 오디오 채널에 대한 오디오 정보의 세그먼트에 적용하는 인코더(50)의 일 실시예를 도시하고 있다. 이 실시예에서, 버퍼부(51)는 경로(44)로부터 오디오 정보를 수신하고 상기 오디오 정보를 경로(47)로부터 수신된 제어 신호에 따라 적합하게 된 길이를 갖는 오버랩핑 세그먼트들의 프레임으로 조립한다. 세그먼트에 의해 인접 세그먼트를 오버랩핑하는 양은 세그먼트 오버랩 간격으로서 일컬어진다. 스위치부(52)는 다수의 필터뱅크들중 1개를 선택하여 경로(47)로부터 수신된 제어 신호에 응답하여 프레임 안의 세그먼트에 적용한다. 도면에 도시된 실시예는 3개의 필터뱅크를 나타내지만, 사실상 수많은 필터뱅크가 사용될 수 있다.
일 실시예에서, 스위치부(52)는 프레임안의 제 1 세그먼트에 적용하기 위해 필터뱅크(54)를 선택하며, 프레임안의 마지막 세그먼트에 적용하기 위해 필터뱅크(56)를 선택하고, 프레임안의 모든 다른 세그먼트에 적용하기 위해 필터뱅크(55)를 선택한다. 추가 필터뱅크들은 상기 실시예에 포함될 수 있으며 프레임안의 제 1 및 마지막 세그먼트에 가까운 세그먼트에 적용하기 위해 선택된다. 이러한 방식으로 필터뱅크를 적합하게 선택하여 이루어지는 다소의 이점은 아래에 논의된다. 필터뱅크들로부터 획득되는 정보는 버퍼부(58)에서 조립되어 인코딩된 정보의 블럭들을 형성하며, 경로(59)를 따라 포맷부(48)로 패스된다. 블럭들의 사이즈는 경로(47)로부터 수신된 제어 신호에 따라 변동한다.
사이코어쿠스틱 지각 모델, 적합한 비트 할당 및 양자화를 위한 다양한 구성요소들은 실제 시스템에서 필요할 수 있지만 명확한 설명을 위해 도면에는 포함되어 있지 않다. 이러한 구성요소들은 사용될 수 있지만 본 발명을 실행하는데 에는 필요하지 않다.
인코딩부(50)의 다른 실시예에서, 단일 필터뱅크는 버퍼부(51)에 형성된 오디오 정보의 세그먼트에 적합하게 되어 적용된다. 블럭-인코딩된 PCM 또는 일부 필터들과 같은 비-오버랩핑 블럭-인코딩 프로세스들을 사용하는 인코딩부(50)의 다른 실시예에서, 인접 세그먼트들은 오버랩핑을 필요로하지 않는다.
도 5에 도시된 구성요소들 또는 다양한 다른 실시예들을 포함하는 구성요소들은 다중 오디오 채널에 대해 병렬 프로세싱을 제공하도록 되풀이되거나, 또는 이들 구성요소들은 직렬 또는 다중 방식으로 다중 오디오 채널을 프로세스하도록 사용된다.
2.블럭 디코더
상술한 바와 같이, 디코딩부(70)는 폭넓게 다양한 블럭-디코딩 프로세스들을 수행한다. 실제 시스템에서, 디코딩 프로세스는 디코딩될 정보를 준비하는데 사용된 블럭-인코딩 프로세스에 상보형이어야 한다. 상술한 설명에서 처럼, 더 상세한 설명은 엘리어싱 소거를 이루는데 필요한 부가적인 고찰 때문에 TDAC 트랜스포옴을 적용하는 프로세스로 본문에 이루어져 있다.
도 6은 TDAC 트랜스포옴에 의해 실행되는 다수의 역 또는 합성 필터뱅크들중 1개를 1개의 오디오 채널에 대한 인코딩된 오디오 정보의 블럭들에 적용하는 디코더(70)의 일 실시예를 도시하고 있다. 이 실시예에서, 버퍼부(71)는 인코딩된 오디오 정보의 블럭들을 경로(64)로부터 수신하며 경로(67)로부터 수신된 제어 신호에따라 변동 길이들을 갖는다. 스위치부(72)는 다수의 합성 필터뱅크들중 1개를 선택하여 경로(67)로부터 수신된 제어 신호에 응답하여 그리고 경로(67)로부터 수신된 스플라이스-검출 신호에 선택적으로 응답하여 인코딩된 정보의 블럭들에 적용한다. 도면에 도시된 실시예는 3개의 합성 필터뱅크를 나타내고 있지만, 사실상 수많은 필터뱅크가 사용될 수 있다.
일 실시예에서, 스위치부(71)는 세그먼트들의 프레임에서 제 1 오디오 세그먼트를 나타내는 블럭에 적용하기 위해 합성 필터뱅크(74)를 선택하며, 상기 프레임에서 마지막 세그먼트를 나타내는 블럭에 적용하기 위해 합성 필터뱅크(56)를 선택하고, 상기 프레임에서 모든 다른 세그먼트들을 나타내는 블럭들에 적용하기 위해 필터뱅크(55)를 선택한다. 부가적인 필터뱅크는 상기 실시예에 포함될 수 있으며 상기 프레임에서 제 1 및 마지막 세그먼트들에 가까운 세그먼트를 나타내는 블럭들에 적용하기 위해 선택될 수 있다. 이러한 방식으로 합성 필터뱅크를 적합하게 선택하여 이루어지는 다소의 이점은 아래에 논의된다. 합성 필터뱅크로부터 획득되는 정보는 버퍼부(78)에서 조립되어 세그먼트들의 프레임에서 오디오 정보의 오버랩핑 세그먼트들을 형성한다. 세그먼트들의 길이는 경로(67)로부터 수신된 제어 신호에 따라 변동된다. 인접 세그먼트들은 세그먼트 오버랩 간격에 함께 합쳐져서 오디오 정보의 스트림을 경로(79)를 따라 발생시킨다. 예를 들면, 오디오 정보는 경로(79)를 따라 변환부(68)를 포함하는 실시예 안의 변환부(68)로 패스된다.
적응형 비트 할당 및 양자화를 위한 다양한 구성요소들은 실제 시스템에서는 필요할 수 있지만 명확한 설명을 위해 도면에는 포함되어 있지 않다. 이러한 특징들이 사용될 수 있지만 본 발명을 실행하는데 필요한 것은 아니다.
디코딩부(70)의 다른 실시예에서, 단일 역 필터뱅크는 버퍼부(71)에 형성된 인코딩된 정보의 블럭에 적합하게 되어 적용된다. 디코딩부(70)의 다른 실시예에서, 디코딩 프로세스에 의해 발생된 인접 세그먼트들은 오버랩핑을 필요로하지 않는다.
도 6에 도시된 구성요소들 또는 다양한 다른 실시예들을 포함하는 구성요소들은 다중 오디오 채널에 대한 병렬 프로세싱을 제공하도록 되풀이되거나, 또는 이들 구성요소들은 직렬 또는 다중 방식으로 다중 오디오 채널들을 프로세스하도록 사용될 수 있다.
C.주요 구성요소 및 특징
도 3 및 4에 각각 도시된 인코더(40) 및 디코더(60)에서 주요 구성요소들의 특정 실시예들은 아래에 더 상세히 기술되어 있다. 이러한 상세한 실시예들은 1개의 오디오 채널에 관하여 기술되어 있지만, 실시예들은, 예를 들면, 직렬 또는 다중 방식으로 구성요소들의 적용 또는 구성요소들의 반복을 포함하는 수많은 방식으로 다중 오디오 채널을 프로세스하는 것으로 확장될 수 있다.
다음 예에서, 오디오 정보의 세그먼트들의 프레임 또는 시퀀스는 2048 샘플에 동일한 길이 및 256 샘플에 동일한 후속 프레임을 지닌 프레임 오버랩 간격을 갖는 것으로 추정된다. 이러한 프레임 길이 및 프레임 오버랩 간격은 약 30Hz 이하의 프레임 레이트를 갖는 비디오 프레임에 대한 정보를 프로세스하는 시스템에 바람직하다.
1.오디오 신호 분석
분석부(45)는 폭넓게 다양한 방식으로 실행되어 본질상 바람직한 신호 특성을 식별할 수 있다. 도 7에 도시된 일 실시예에서, 분석부(45)는 신호 진폭에서 "과도현상(transient)" 또는 빠른 변동의 발생 및 위치를 식별하는 4개의 주요 섹션을 지닌 과도현상 검출기이다. 이 실시예에서, 오디오 정보의 2048 샘플들의 프레임들을 32개의 비-오버랩핑 64-샘플 블럭들로 분할되며, 각 블럭은 과도현상이 그 블럭에서 발생되었는지를 결정하도록 분석된다.
과도현상 검출기의 제 1 섹션은 신호 분석 프로세스로부터 저주파 신호 성분을 배제시키는 고역 필터(HPF)(101)이다. 바람직한 실시예에서, HPF(101)는 약 7kHz의 명목상 3dB 차단 주파수를 지닌 2차 무한 임펄스 응답(IIR) 필터에 의해 실행된다. 최적 차단 주파수는 개인적 취향에 따라 명목상 값에서 벗어날 수 있다. 바람직하다면, 명목상 차단 주파수는 청취 테스트로 경험적으로 다듬어질 수 있다.
과도현상 검출기의 제 2 섹션은 서브블럭(102)이며, HPF(101)로부터 수신된 필터링된 오디오 정보의 프레임들을 블럭들과 서브블럭들의 계층 구조로 배열시킨다. 서브블럭(102)은 계층의 레벨 1에 64-샘플 블럭들을 형성하고 64-샘플 블럭들을 계층의 레벨 2에 32-샘플 서브블럭으로 분할한다.
이 계층 구조는 도 8에 도시되어 있다. 블럭 B111은 레벨 1에서 64-샘플 블럭이다. 서브블럭 B121 및 B122는 레벨 2에서 블럭 B111의 32-샘플 파티션이다. 블럭 B110은 블럭 B111에 바로 접하여 서행하는 필터링된 오디오 정보의 64-샘플 블럭을 나타낸다. 이 같은 상황에서, 블럭 B111은 "현행" 블럭이며 블럭 B110은 "이전" 블럭이다. 유사하게, 블럭 B120은 서브블럭 B121에 바로 접하여 선행하는 블럭 B110의 32-샘플 서브블럭이다. 현행 블럭이 프레임에서 첫번째 블럭인 경우에는, 이전 블럭은 이전 프레임에서 마지막 블럭이다. 아래에 설명되는 것처럼, 과도현상은 현행 블럭의 신호 레벨과 이전 블럭의 신호 레벨을 비교하여 검출된다.
과도현상 검출기의 제 3 섹션은 피크 검출부(103)이다. 레벨 2에서 시작할 때, 피크 검출부(103)는 서브블럭 B121에서 가장 큰 진폭 샘플을 피크값(P121)으로서 식별하며, 서브블럭 B122에서 가장 큰 진폭 샘플을 피크값(P122)으로서 식별한다. 레벨 1에서 계속하면, 피크 검출기는 피크값(P121 및 P122)중 더 큰 것을 블럭 B111의 피크값(P111)으로서 식별한다. 블럭 B110이 현행 블럭일 때, 블럭 B111 및 B120 각각에 대한 피크값(P110 및 P120)은 미리 피크 검출부(103)에 의해 결정된다.
과도현상 검출기의 제 4 섹션은 비교기(104)이며, 피크값을 검사하여 과도현상이 특정 블럭에서 발생하는지를 결정한다. 비교기(104)가 실행되는 1가지 방식이 도 9에 도시되어 있다. 단계 S451은 레벨 2의 서브블럭 B120 및 B121에 대한 피크값을 검사한다. 단계 S452는 서브블럭 B121 및 B122에 대한 피크값을 검사한다. 단계 S453은 레벨 1의 블럭들에 대한 피크값을 검사한다. 이 검사들은 계층 레벨에 대하여 적절한 한계값으로 2개의 피크값의 비를 비교함으로서 이루어진다. 예를 들면, 레벨 2의 서브블럭 B120 및 B121에 대하여, 상기 비교는 단계 S451에서 다음과 같이 표현될 수 있다.
(1a)
여기서, TH2=레벨 2에 대한 한계값. 필요하다면, 유사한 비교는 단계 S452에서 서브블럭 B121 및 B122의 피크값에 대하여 이루어진다.
레벨 2에서 인접 서브블럭들에 대하여 단계 S451 및 S452에서의 비교가 둘다 참이 아니라면, 비교는 레벨 1에서 블럭 B110 및 B111의 피크값에 대하여 단계 S453에서 이루어진다. 이것은 다음과 같이 표현될 수 있다.
(1b)
여기서, TH1=레벨 1에 대한 한계값.
일 실시예에서, TH2가 0.15이고 TH1이 0.25이다; 그러나, 이들 한계값들은 개인적 취향에 따라 변동될 수 있다. 바람직하다면, 이들 값들은 청취 테스트로 경험적으로 다듬어질 수 있다.
바람직한 실시예에서, 분모의 피크값이 제로(0)라면, 이들 비교는 나눗셈 없이 실행되는데, 왜냐하면 2개의 피크값중 몫이 확정되어 있지 않았기 때문이다. 서브블럭 B120 및 B121에 대해 상기에 주어진 예에 대하여, 비교는 단계 S451에서 다음과 같이 표현될 수 있다.
(2)
만일 단계 S451 내지 S453에서 이루어진 비교의 어떤 것도 참이 아니라면, 단계 S457은 과도현상이 현형 64-샘플 블럭에서 발생되지 않았음을 가리키는 신호를 발생시키는데, 이 예에서는 블럭 B111이다. 현행 64-샘플 블럭에 대한 신호 분석이 완료된다.
만일 단계 S451 내지 S453에서 이루어진 비교중 어떤 것이 참이라면, 단계 S454 및 S455는 현행 64-샘플 블럭의 신호가 세그먼트 길이를 변경시키기 위해서 블럭-인코딩 프로세스를 적합하게 하는 것을 정당화시키기에 충분히 큰지를 결정한다. 단계 S454는 현행 블럭 B111에 대한 피크값을 최소 피크-값 한계와 비교한다. 일 실시예에서, 이 한계는 최대 가능 피크값에 대하 -70dB로 설정되어 있다.
만일 단계 S454에서 테스트되는 조건이 참이라면, 단계 S455는 블럭 B110 및 B111에 대한 신호 에너지의 2개 크기를 비교한다. 일 실시예에서, 블럭에 대한 신호 에너지의 크기는 블럭의 64 샘플들의 제곱을 의미한다. 현행 블럭 B111에 대한 신호 에너지의 크기는 이전 블럭 B110에 대한 신호 에너지의 같은 크기의 두배에 동일한 값과 비교된다. 만일 피크값과 현행 블럭에 대한 신호 에너지의 크기가 단계 S454 및 455에서 이루어진 2개의 테스트를 통과한다면 단계 S457은 과도현상이 현행 블럭 B111에서 발생됨을 가리키는 신호를 발생시킨다. 만일 그중 하나가 거짓이라면, 단계 S457은 과도현상이 현행 블럭 B111에서 발생되지 않음을 가리키는 신호를 발생시킨다.
이러한 과도현상-검출 프로세스는 각 프레임의 중요한 모든 블럭들에 대하여 반복된다.
2.세그먼트 길이 제어
제어부(46) 및 제어부(65)의 실시예들이 기술될 것이다. 이 실시예들은 TDAC필터뱅크를 아래에 기술된 2개 포맷중 두번째에 따라 인코딩된 오디오 정보의 프로세스 프레임들에 적용하는 시스템에 사용하기에 적합하다. 아래에 설명되는 것처럼, 제 2 포맷에 따른 프로세싱은 약 30Hz 이하의 비디오 프레임 레이트로 전송하도록 의도된 비디오 프레임과 조립되거나 또는 비디오 프레임으로 개재된 오디오 정보를 프로세스하는 시스템에 바람직하다. 제 2 포맷에 따르면, 비디오 프레임에 상응하는 오디오 세그먼트의 각 시퀀스의 프로세싱은 세퍼릿(separate)으로 분할되지만 2개의 서브시퀀스들 또는 서브프레임들에 적용되는 프로세스에 관련되어 있다.
제 1 포맷에 따라 오디오 정보의 프레임들을 프로세스하는 시스템에 대한 제어 방식은 아래에 논의되는 제 2 포맷에 따라 오디오 정보의 프레임들을 프로세스하는 시스템에 대한 제어 방식과 매우 유사하다. 이들 시스템에서 제 1 포맷에 대하여, 비디오 프레임에 상응하는 오디오 세그먼트들의 프로세싱은 제 2 포맷의 각 서브시퀀스 또는 서브프레임에 적용된 프로세스들중 1개와 사실상 동일하다.
a.인코더
상술되고 도 3에 도시된 인코더(40)의 실시예에서, 제어부(46)는 오디오 정보의 프레임에서 검출된 과도현상의 존재 및 위치를 전달하는 분석부(45)의 신호를 수신한다. 이 신호에 응답하여, 제어부(46)는 상기 프레임을 블럭-인코딩 프로세스에 의해 프로세스된 오버랩핑 세그먼트들의 2개 서브프레임으로 분할하여 세그먼트들의 길이들을 전달하는 제어 신호를 발생시킨다.
블럭 인코딩 프로세스를 적합하게 하는 2가지 방식이 아래에 기술되어 있다.각 방식에서, 2048 샘플들의 프레임들은 256 샘플들의 최소 길이와 1152 샘플들의 유효 최대 길이 사이에서 변동 길이들을 갖는 오버랩핑 세그먼트들로 분할된다.
도 10에 도시된 것과 같은 한가지 기본 제어 방법은 둘중 한가지 방식을 제어하는데 사용될 수 있다. 2가지 방식을 제어하는 방법에 있어서의 유일한 차이점은 과도현상의 발생이 테스트되는 블럭들 또는 프레임 간격들이다. 2가지 방식에 대한 간격들이 표 5에 나열되어 있다. 첫번째 방식에서, 예를 들면, 간격-2는 샘플 128에서 샘플 831까지 연장하는데, 블럭 번호 2에서 블럭 번호 12까지 64-샘플 블럭들의 시퀀스에 상응한다. 두번째 방식에서, 간격-2는 샘플 128에서 샘플 895까지 연장하는데 블럭 번호 2에서 13에 상응한다.
코딩 제어용 프레임 간격
프레임 간격 |
제 1 방식 |
제 2 방식 |
샘플에서 까지 |
블럭에서 까지 |
샘플에서 까지 |
블럭에서 까지 |
간격-1 |
0 127 |
0 1 |
0 127 |
0 1 |
간격-2 |
128 831 |
2 12 |
128 895 |
2 13 |
간격-3 |
832 1343 |
13 20 |
896 1279 |
14 19 |
간격-4 |
1344 2047 |
21 31 |
1280 2047 |
20 31 |
도 10을 참조하면, 단계 S461은 분석부(45)로부터 수신된 신호를 평가하여 과도현상 또는 일부 다른 트리거링 경우가 간격-3내의 임의의 블럭에서 발생하였는지를 결정한다. 이 조건이 참이라면, 단계 S462는 제 1 서브프레임을 세그먼트들의 "쇼트-1(short-1)" 패턴에 따라 세그먼트들로 분할함을 가리키는 제어 신호를 발생시키고, 단계 S463은 제 2 서브프레임을 세그먼트들의 "쇼트-2" 패턴에 따라 세그먼트들로 분할함을 가리키는 신호를 발생시킨다.
단계 S461에서 테스트된 조건이 참이 아니라면, 단계 S464는 분석부(45)로부터 수신된 신호를 평가하여 과도현상 또는 다른 트리거링 경우가 간격-2내의 임의의 블럭에서 발생하였는지를 결정한다. 만일 이 조건이 참이라면, 단계 S465는 제 1 서브프레임을 세그먼트들의 "브리지-1(bridge-1)" 패턴에 따라 세그먼트들로 분할함을 가리키는 제어 신호를 발생시킨다. 만일 단계 S463에서 테스트된 조건이 참이 아니라면, 단계 S466은 제 1 서브프레임을 세그먼트들의 "롱-1(long-1)" 패턴에 따라 세그먼트들로 분할함을 가리키는 제어 신호를 발생시킨다.
단계 S467은 분석부(45)로부터 수신된 신호를 평가하여 과도현상 또는 다른 트리거링 경우가 간격-4내의 임의의 블럭에서 발생하였는지를 결정한다. 만일 이 조건이 참이라면, 단계 S468은 제 2 서브프레임을 세그먼트의 "브리지-2" 패턴에 따라 세그먼트들로 분할함을 가리키는 제어 신호를 발생시킨다.
상술된 세그먼트들의 패턴들은 아래에 더 상세히 논의되어 있다.
b.디코더
상기에 기술되고 도 4에 도시된 디코더(60)의 실시예에서, 제어부(65)는 경로(61)로부터 수신된 인코딩된 정보의 프레임들로부터 획득된 제어 정보를 수신하고, 응답으로, 인코딩된 오디오 정보의 블럭들로부터 블럭-디코딩 프로세스에 의해 복원된 오디오 정보의 세그먼트들의 길이들을 전달하는 제어 신호를 경로(67)를 따라 발생시킨다. 다른 실시예에서, 제어부(65)는 인코딩된 정보의 프레임들에서 불연속성들을 또한 검출하고 블럭-디코딩 프로세스를 적합하게 하도록 사용될 수 있는 "스플라이스-검출" 신호를 경로(66)를 따라 발생시킨다. 이러한 임의의 특징은아래에 논의되어 있다.
일반적으로, 제어부(65)는 세그먼트들중 몇 개의 패턴들이 인코딩된 블럭들의 2개 서브프레임들로부터 복원되었는지를 지시하는 제어 신호를 발생시킨다. 세그먼트들의 이들 패턴들은 인코더와 관련하여 상기에 논의된 패턴들과 상응하며 아래에 더 상세히 논의되어 있다.
3.적응형 필터뱅크
TDAC 필터뱅크들을 오디오 정보의 분석 및 합성 오버랩핑 세그먼트들에 적용하는 인코더(50) 및 디코더(70)의 실시예들이 기술될 것이다. 아래에 기술된 실시예들은 이상-적층된 시간축 엘리어싱 소거(Oddly-Stacked Time-Domain Aliasing Cancellation;O-TDAC)로서 알려진 TDAC 트랜스포옴 시스템을 사용한다. 이들 실시예에서, 윈도우 함수와 트랜스포옴 커널 함수는 세그먼트들의 프로세스 시퀀스들 또는 서브프레임들에 적합하게 되어, 세그먼트 길이들이 상술된 몇 개의 패턴들중 어떤 것에 따라 변동될 것이다. 다양한 패턴들에서 각 세그먼트에 대해 사용된 세그먼트 길이, 윈도우 함수 및 트랜스포옴 커널 함수는 일반 사항 다음의 TDAC 트랜스포옴에 기술되어 있다.
a.TDAC 개요
(1)트랜스포옴
프린센(Princen) 등에 의해 교시되고 도 11에 도시된 것처럼, TDAC 트랜스포옴 분석-합성 시스템은 신호 샘플들의 오버랩핑된 세그먼트들에 적용된 분석 윈도우 함수(131), 윈도우로된 세그먼트들에 적용된 분석 트랜스포옴(132), 분석 트랜스포옴으로부터 획득된 샘플들의 세그먼트에 적용된 합성 윈도우 함수(134), 및 시간축 엘리어싱을 소거하고 오리지날 신호를 복원시키기 위해 오버랩핑된 윈도우로된 세그먼트들의 상응 샘플들을 부가하는 오버랩-부가 프로세스(135)를 포함한다.
포워드 또는 분석 O-TDAC 트랜스포옴은 다음과 같이 표현될 수 있다:
, 0≤k<N (3a)
그리고 그 역 또는 합성 O-TDAC 트랜스포옴은 다음과 같이 표현될 수 있다:
, 0≤n<N (3b)
여기서, k=주파수 지수,
n=신호 샘플 넘버,
G=비례 상수,
N=세그먼트 길이,
n0=엘리어싱 소거용 항,
x(n)=윈도우로된 입력 신호 샘플 n, 및
X(k)=트랜스포옴 계수 k.
이들 트랜스포옴들은 G, N 및 n0변수들에 의해 특징지워진다. G 변수는 분석-합성 시스템에 대한 바람직한 종단간 이득을 이루는데 사용된 이득 변수이다. N 변수는 각 세그먼트에서 샘플들의 수, 또는 세그먼트 길이에 관한 것이며, 일반적으로 트랜스포옴 길이로 일컬어진다. 상술한 바와 같이, 이 길이는 트랜스포옴의주파수 및 시간 해상도를 상쇄시키도록 변동될 수 있다. n0변수는 트랜스포옴의 엘리어싱-발생 및 엘리어싱-소거 특성을 제어한다.
분석-합성 시스템에 의해 발생된 시간축 엘리어싱 인공물들은 본래 오리지날 신호의 시간-역전된 복제물들이다. 분석 및 합성 트랜스포옴에서 n0항은 상기 인공물들이 역전되거나 또는 반사되는 각 세그먼트에서 "반사(reflection)" 포인트를 제어한다. 엘리어싱 인공물들의 반사 포인트 및 신호를 제어함으로서, 이들 인공물들은 인접 세그먼트들을 오버랩핑 및 부가함으로서 소거될 수 있다. 엘리어싱 소거에 대한 부가적인 정보는 미국 특허 제 5,394,473 호로부터 획득될 수 있다.
(2)윈도우 함수
바람직한 실시예에서, 분석 및 윈도우 함수들은 기본 윈도우 함수로부터 유도된 1개 이상의 기본 함수(elementary function)로 구성되어 있다. 일부 기본 함수들은 직각-윈도우 기본 함수로부터 유도된다:
Ø(n,p,N)=p , 0≤n<N 4)
다른 기본 함수들은 다음 문단에 기술된 기술을 사용하여 또 다른 기본 윈도우 함수로부터 유도된다. TDAC에 대한 적절한 오버랩-부가 특성을 지닌 어떤 함수는 이러한 기본 윈도우 함수로 사용될 수 있다; 그러나, 바람직한 실시예에 사용된 기본 윈도우 함수는 카이저-베셀(Kaiser-Bessel) 윈도우 함수이다. 이 윈도우 함수의 첫번째 부분은 다음과 같이 표현될 수 있다:
, 0≤n≤ν (5)
여기서, α=카이저-베셀 윈도우 함수 알파(alpha) 요소,
n=윈도우 샘플 넘버,
ν= 유도 윈도우 함수에 대한 세그먼트 오버랩 간격, 및
.
상기 윈도우 함수의 마지막 부분은 식 5의 첫번째 ν샘플들의 시간-역전된 복제물이다.
카이저-베셀-유도(KBD) 윈도우 함수 WKBD(n,α,N)은 중요 카이저-베셀 윈도우 함수 WKB(n,α,ν)로부터 유도된다. KBD 윈도우 함수의 첫번째 부분은 하기식으로부터 유도된다:
, 0≤n<N/2 (6)
KBD 윈도우 함수의 마지막 부분은 식 6의 시간-역전된 복제물이다.
(a)분석 윈도우 함수
이 특성 실시예에서 사용된 각 분석 윈도우 함수는 표 6-A에 도시된 2개 이상의 기본 함수를 연결함으로서 획득된다.
기본 윈도우 함수
기본 함수 |
함수 길이 설명 |
E064(n) |
64 ø(n, ν=0, N=64) |
E0128(n) |
128 ø(n, ν=0, N=128) |
E0896(n) |
896 ø(n, ν=0, N=896) |
E164(n) |
64 ø(n, ν=1.0, N=64) |
E1640(n) |
640 ø(n, ν=1.0, N=640) |
EA0(n) |
64 WKBD(n, ν=3.2, N=128) ,0≤n<64 |
EA1(n) |
128 WKBD(n, ν=3.0, N=256) ,0≤n<128 |
EA2(n) |
256 WKBD(n, ν=3.0, N=512) ,0≤n<256 |
EA0(-n) |
64 EA0(n)의 시간-역전된 복제물 |
EA1(-n) |
128 EA1(n)의 시간-역전된 복제물 |
EA2(-n) |
256 EA2(n)의 시간-역전된 복제물 |
2가지 상이한 제어 방식에 사용된 몇 개의 세그먼트 패턴들에 대한 분석 윈도우 함수들은 아래에 기술된 방식으로 이들 기본 함수를 구성한다.
(b)합성 윈도우 함수
통상적인 TDAC 시스템에서, 동일한 분석 및 합성 윈도우 함수들이 각 세그먼트에 적용된다. 본문에 기술된 실시예에서, 동일한 분석 및 합성 윈도우 함수들은 일반적으로 각 세그먼트에 대해 사용되지만 다른 또는 "수정된(modified)" 윈도우 함수는 일부 세그먼트에 대해 사용되어 분석-합성 시스템의 종단간 성능을 개선시킨다. 일반적으로, 다른 또는 수정된 합성 윈도우 함수들은 "쇼트" 및 "브리지" 세그먼트 패턴들의 엔드(end) 세그먼트들에 사용되어 256 샘플들에 동일한 프레임 오버랩 간격에 대한 종단간 프레임 이득 프로파일을 획득한다.
다른 합성 윈도우 함수들의 어플리케이션은 상이한 합성 필터뱅크들을 경로(67)로부터 수신된 그리고 경로(66)로부터 선택적으로 수신된 제어 신호에 응답하여 프레임내의 다양한 세그먼트들에 적용하는 도 6에 도시된 것과 같은 블럭 디코더(70)의 실시예로 제공될 수 있다. 예를 들면, 다른 합성 윈도우 함수들을 사용하는 필터뱅크(74 및 76)는 프레임들의 엔드 세그먼트들에 적용될 수 있으며, 통상적인 합성 윈도우 함수들을 지닌 필터뱅크(75)는 프레임들의 내부에 있는 세그먼트들에 적용될 수 있다.
(ⅰ)주파수 응답 특성 변경
프레임 오버랩 간격 안의 "엔드(end)" 세그먼트들에 대해 다른 합성 윈도우 함수들을 사용함으로서, 블럭-디코딩 프로세스는 프레임들의 엔드 세그먼트들에 대해 바람직한 종단간 분석-합성 시스템 주파수축 응답 또는 시간축 응답(이득 프로파일)을 획득할 수 있다. 각 세그먼트에 대한 종단간 응답은 그 세그먼트에 적용된 분석 윈도우 함수와 합성 윈도우 함수의 곱으로부터 형성된 윈도우 함수의 응답에 사실상 동일하다. 이것은 다음과 같이 대수적으로 표현될 수 있다:
WP(n)=WA(n)WS(n) (7)
여기서, WA(n)=분석 윈도우 함수,
WS(n)=합성 윈도우 함수, 및
WP(n)=곱 윈도우 함수.
만일 합성 윈도우 함수가 종단간 주파수 응답을 일부 다른 바람직한 응답으로 변화시키도록 수정된다면, 그 자체와 분석 윈도우 함수의 곱은 바람직한 응답을 갖는 곱 윈도우 함수에 동일하도록 수정된다. WPD에 상응하는 주파수 응답이 바람직하며 분석 윈도우 함수(WA)가 신호 분석을 위해 사용된다면, 이 관계는 다음과 같이 표현될 수 있다:
WPD(n)=WA(n)WSX(n) (8)
여기서, WSX(n)=은 주파수 응답을 변화시키는데 필요한 합성 윈도우 함수.
이것은 다음과 같이 재작성될 수 있다:
(9)
만일 프레임-오버랩 간격이 엔드 세그먼트를 오버랩하는 이웃하는 세그먼트로 확장된다면, 프레임안의 엔드 세그먼트에 대한 윈도우 함수(WSX)의 실제 형상은 다소 더 복잡하다. 여하튼, 식 9는 프레임안의 어떤 다른 세그먼트를 오버랩하지 않는 엔드 세그먼트의 그 부분에서 윈도우 함수(WSX)에 필요한 것을 정확히 표현하고 있다. 시스템은 O-TDAC를 사용하기 때문에, 그 부분은 세그먼트 길이의 반, 또는 0≤n<½N에 동일하다.
KBD 곱 윈도우 함수(WPD)에 대한 알파 요소가 KDB 분석 윈도우 함수(WA)의 알파 요소보다 상당히 더 높다면, 종단간 주파수 응답을 수정하는데 사용된 합성 윈도우 함수(WSX)는 프레임 경계에 가까운 매우 큰 값을 가져야 한다. 불행히도, 그러한 형상을 지닌 합성 윈도우 함수는 매우 불충분한 주파수 응답 특성을 가지며복원된 신호의 신호 품질을 저하시킨다.
이 문제점은 분석 윈도우 함수가 가장 작은 값을 갖는 곳의 프레임 경계에서 몇몇 샘플들을 버림으로서 최소화되거나 또는 회피될 수 있다. 버려진 샘플들은 제로로 설정되거나 또는 프로세싱으로부터 제외될 것이다.
정규 코딩에 대해 더 낮은 알파 값을 지닌 KDB 윈도우 함수를 사용하는 시스템들은 일반적으로 분석 윈도우 함수에 더 적은 수정 및 보다 소수의 샘플들이 프레임의 엔드에서 버려지는 것을 필요로할 것이다.
분석-합성 시스템의 종단간 주파수 응답 및 시간축 이득 프로파일 특성을 변경시키기 위해 합성 윈도우 함수를 수정하는 것에 대한 부가적인 정보는 미국 특허 제 5,903,872 호로부터 획득될 수 있다.
바람직한 곱 윈도우 함수(WPD(n))는 또한 바람직한 시간-축 응답 또는 이득 프로파일을 제공해야 한다. 곱 윈도우에 대한 바람직한 이득 프로파일의 예는 식 10에 도시되어 있으며 하기 문단에서 논의된다.
(ⅱ)프레임 이득 프로파일 변경
다른 합성 윈도우 함수들의 사용은 블럭-디코딩 프로세스가 각 프레임에 대해 바람직한 시간축 이득 프로파일을 획득하는 것을 또한 허용한다. 다른 또는 수정된 합성 윈도우 함수는, 프레임에 대한 바람직한 이득 프로파일이 통상적인 비수정된 합성 윈도우 함수를 사용하여서 초래되는 이득 프로파일과 다를 때, 프레임 오버랩 간격 안의 세그먼트들에 대해 사용된다.
프레임에 대한 "초기(initial)" 이득 프로파일 함수는, 합성 윈도우 함수를 수정하기 이전에, 다음과 같이 표현될 수 있다:
(10)
여기서, x=프레임 경계에서 버려진 샘플 넘버
ν=프레임 오버랩 간격.
(ⅲ)기본 함수
이러한 특정 실시예에서 사용된 각 합성 윈도우 함수는 표 6-A 및 6-B에 도시된 2개 이상의 기본함수를 연결함으로서 획득된다.
기본 윈도우 함수
기본 함수 |
함수 길이 설명 |
ES0(n) |
129 |
ES1(n) |
256 |
ES2(n) |
128 |
ES3(n) |
256 |
ES4(n) |
128 |
ES0(-n) |
192 ES0(n)의 시간-역전된 복제물 |
ES1(-n) |
256 ES1(n)의 시간-역전된 복제물 |
ES2(-n) |
128 ES2(n)의 시간-역전된 복제물 |
ES3(-n) |
256 ES3(n)의 시간-역전된 복제물 |
ES4(-n) |
128 ES4(n)의 시간-역전된 복제물 |
표 6-B에 도시된 함수 WA0(n)은 3개 기본 함수 EA0(n)+EA1(-n)+E064(n)의 연결로부터 형성된 256-샘플 윈도우 함수이다. 함수 WA1(n)은 기본 함수 EA1(n)+EA1(-n)의 연결로부터 형성된 256-샘플 윈도우 함수이다.
2개의 서로다른 제어 방식에 사용된 몇개의 세그먼트 패턴용 합성 윈도우 함수들은 아래에 기술된 방식으로 이들 기본 함수들로부터 구성된다.
b.블럭-인코딩용 제어 방식
블럭-인코딩 프로세스에 적합한 2가지 방식들이 기술될 것이다. 각 방식에서, 2048 샘플들의 프레임들은 256 샘플들의 최소 길이와 1152 샘플들의 유효 최대 길이 사이에서 변동 길이들을 갖는 오버랩핑 세그먼트들로 분할된다. 약 30Hz 이하의 프레임 레이트를 갖는 프레임들 안의 정보를 프로세스하는 시스템들의 바람직한실시예들에서, 각 프레임내의 2개 서브프레임은 변동 길이의 오버랩핑 세그먼트들로 분할된다.
각 서브프레임은 세그먼트들의 몇개 패턴들중 하나에 따라 세그먼트들로 분할된다. 각 패턴은 각 세그먼트가 특정 분석 윈도우 함수에 의해 윈도우로되고 특정 분석 트랜스포옴에 의해 트랜스포옴된 세그먼트들의 시퀀스를 상술(詳述)한다. 각 세그먼트 패턴의 다양한 세그먼트들에 적용된 특정 분석 윈도우 함수와 분석 트랜스포옴들은 표 7에 나열되어 있다.
분석 세그먼트 유형
세그먼트 식별자 |
분석 윈도우 함수 |
분석 트랜스포옴 |
G |
N |
n0 |
A256-A |
EA0(n)+EA1(-n)+E064(n) |
1.15 |
256 |
257/2 |
A256-B |
EA1(n)+EA1(-n) |
1.00 |
256 |
129/2 |
A256-C |
E064(n)+EA1(n)+EA0(-n) |
1.15 |
256 |
1/2 |
A384-A |
EA1(n)+EA1(-n)+E0128(n) |
1.50 |
384 |
385/2 |
A384-B |
EA2(n)+EA1(-n) |
1.22 |
384 |
129/2 |
A384-C |
EA1(n)+EA2(-n) |
1.22 |
384 |
257/2 |
A384-D |
E0128(n)+EA1(n)+EA1(-n) |
1.50 |
384 |
1/2 |
A512-A |
EA2(n)+E164(n)+EA1(-n)+E064(n) |
1.41 |
512 |
257/2 |
A512-B |
E064(n)+EA1(n)+E164(n)+EA2(-n) |
1.41 |
512 |
257/2 |
A2048-A |
EA2(n)+E1640(n)+EA2(-n)+E0896(n) |
3.02 |
2048 |
2049/2 |
A2048-B |
E0896(n)+EA2(n)+E1640(n)+EA2(-n) |
3.02 |
2048 |
1/2 |
각 표 엔트리는 샘플들의 세그먼트에 적용되는 분석 윈도우 함수, 및 샘플들의 윈도우로된 세그먼트에 적용되는 분석 트랜스포옴을 상술하여 각 세그먼트 유형을 기술한다.
상기 표에 도시된 분석 윈도우 함수들은 상기된 기본 윈도우 함수들의 연결에 의해 기술되어 있다. 분석 트랜스포옴들은 상기된 변수 G, N 및 n0에 의해 기술되어 있다.
(1)제 1 방식
제 1 방식에서, 각 패턴의 세그먼트들은 2의 정수 제곱에 달하는 길이를 갖도록 제약된다. 이 제약은 분석 및 합성 트랜스포옴을 실행하는데 요구되는 프로세싱 자원을 감소시킨다.
쇼트-1 패턴은 8개 세그먼트들로 이루어지는데, 첫번째 세그먼트가 A256-A형 세그먼트이며 다음 7개 세그먼트들이 A256-B형 세그먼트들이다. 쇼트-2 패턴은 8개 세그먼트들로 이루어지는데, 처음 7개 세그먼트들이 A256-B형 세그먼트들이고 나머지 세그먼트가 A256-C형 세그먼트이다.
브리지-1 패턴은 7개 세그먼트들로 이루어지는데, 첫번째 세그먼트가 A256-A형 세그먼트이고, 중간의 5개 세그먼트들이 A256-B형 세그먼트들이고, 마지막 세그먼트가 A512-A형 세그먼트이다. 브리지-2 패턴은 7개 세그먼트들로 이루어지는데, 첫번째 세그먼트가 A512-B형 세그먼트이며, 중간의 5개 세그먼트들이 A256-B형 세그먼트들이고, 마지막 세그먼트가 A256-C형 세그먼트이다.
롱-1 패턴은 단일 A2048-A형 세그먼트로 이루어진다. 비록 이 세그먼트는 가상 2048 샘플 롱이지만, 시간 해상도에 관한 그 유효 길이는 단지 1152 샘플들인데, 왜냐하면 분석 윈도우 함수의 1152 포인트만이 비-제로이기 때문이다. 롱-2 패턴은 단일 A2048-B형 세그먼트로 이루어진다. 이 세그먼트의 유효 길이는 1152이다.
이 세그먼트 패턴들의 각각은 표 8-A로 요약된다.
제 1 제어 방식용 분석 세그먼트 패턴
세그먼트 패턴 |
세그먼트의 시퀀스 유형 |
쇼트-1 |
A256-A |
A256-B |
A256-B |
A256-B |
A256-B |
A256-B |
A256-B |
A256-B |
쇼트-2 |
A256-B |
A256-B |
A256-B |
A256-B |
A256-B |
A256-B |
A256-B |
A256-C |
브리지-1 |
A256-A |
A256-B |
A256-B |
A256-B |
A256-B |
A256-B |
A512-A |
|
브리지-2 |
A512-B |
A256-B |
A256-B |
A256-B |
A256-B |
A256-B |
A256-C |
|
롱-1 |
A2048-A |
|
|
|
|
|
|
|
롱-2 |
A2048-B |
|
|
|
|
|
|
|
제 1 제어 방식에 따라 제어부(46)에 의해 상술되는 세그먼트 패턴들의 다양한 조합들이 도 12에 도시되어 있다. 레이블 "쇼트-쇼트"의 열(row)은 세그먼트 패턴들의 쇼트-1 대 쇼트 2에 대한 분석 윈도우 함수들의 이득 프로파일을 도시한다. 레이블 "롱-브리지"의 열은 세그먼트 패턴들의 롱-1 대 브리지-2에 대한 분석 윈도우 함수들의 이득 프로파일을 도시한다. 도면의 나머지 열들은 브리지 및 롱 세그먼트 패턴들의 다른 조합들에 대한 분석 윈도우 함수들의 이득 프로파일을 도시한다.
(2)제 2 방식
제 2 방식에서, 패턴들의 일부에서 다수 세그먼트들은 2의 정수 제곱이 아닌 384에 달하는 길이를 갖는다. 이 세그먼트 길이의 사용은 추가 비용을 초래하지만 제 1 제어 방식에 비교할만한 이점을 제공한다. 추가 비용은 384-샘플 세그먼트에 대한 트랜스포옴을 실행하는데 필요한 부가적인 프로세싱 자원들로부터 야기된다. 추가 비용은 각 384-샘플 세그먼트를 3개의 128-샘플 서브세그먼트들로 분할하며,32 콤플렉스 밸루(complex value)를 발생시키기 위해 각 세그먼트의 샘플 쌍을 결합하며, 콤플렉스 고속 푸리에 변환(FFT)을 복소 샘플의 각 세그먼트에 적용하고, 바람직한 트랜스포옴 계수를 획득하기 위해 결과들을 결합함으로서 감소될 수 있다. 이 프로세싱 기술에 대한 추가적인 정보는 미국 특허 제 5,394,473 호, 미국 특허 제 5,297,236 호, 미국 특허 제 5,890,106 호, 및 오펜하임(Oppenheim)과 샤페르(Schafer)의 "Digital Signal Processing", (뉴저지, 이글우드 클리프스: 프렌티스-홀, 인코포레이티드, 1975년), 페이지 307-314로부터 획득될 수 있다. 384-샘플 블럭을 사용하여 실현되는 이점들은 더 양호한 주파수 응답 특성을 갖는 윈도우 함수들의 사용을 허용하며, 프로세싱 지연을 감소시킴으로서 야기된다.
쇼트-1 패턴은 8개 세그먼트들로 이루어지는데, 첫번째 세그먼트는 A384-A형 세그먼트이며 다음 7개 세그먼트들은 A258-B형 세그먼트들이다. A384-A형 세그먼트의 유효 길이는 256이다. 쇼트-2 패턴은 7게 세그먼트들로 이루어지는데, 첫번째 6개 세그먼트들은 A256-B형 세그먼트들이며 마지막 세그먼트는 A384-D형 세그먼트이다. A384-D형 세그먼트의 유효 길이는 256이다. 세그먼트 패턴들의 다른 조합들과는 달리, 패턴들의 상기 조합에 대한 2개 서브프레임의 길이들은 같지 않다.
브리지-1 패턴은 7개 세그먼트들로 이루어지는데, 첫번째 세그먼트는 A384-A형 세그먼트이며, 중간의 5개 세그먼트들은 A256-B형 세그먼트들이고, 마지막 세그먼트는 A384-C형 세그먼트이다. 브리지-2 패턴은 7개 세그먼트들로 이루어지는데, 첫번째 세그먼트는 A384-B형 세그먼트이며, 중간의 5개 세그먼트들은 A256-B형 세그먼트들이고, 마지막 세그먼트는 A384-D형 세그먼트이다.
롱-1 패턴은 단일 A2048-A형 세그먼트로 이루어진다. 이 세그먼트의 유효 길이는 1152이다. 롱-2 패턴은 단일 A2048-B형 세그먼트로 이루어진다. 이 세그먼트의 유효 길이는 1152이다.
이들 세그먼트 패턴들의 각각은 표 8-B에 요약되어 있다.
제 2 제어 방식용 분석 세그먼트 패턴
세그먼트 패턴 |
세그먼트의 시퀀스 유형 |
쇼트-1 |
A384-A |
A256-B |
A256-B |
A256-B |
A256-B |
A256-B |
A256-B |
A256-B |
쇼트-2 |
A256-B |
A256-B |
A256-B |
A256-B |
A256-B |
A256-B |
A384-D |
|
브리지-1 |
A384-A |
A256-B |
A256-B |
A256-B |
A256-B |
A256-B |
A384-C |
|
브리지-2 |
A384-B |
A256-B |
A256-B |
A256-B |
A256-B |
A256-B |
A384-D |
|
롱-1 |
A2048-A |
|
|
|
|
|
|
|
롱-2 |
A2048-B |
|
|
|
|
|
|
|
제 2 제어 방식에 따라 제어부(46)에 의해 상술된 세그먼트 패턴들의 다양한 조합들은 도 13에 도시되어 있다. 레이블 "쇼트-쇼트"의 열은 세그먼트 패턴들의 쇼트-1 대 쇼트-2 조합에 대한 분석 윈도우 함수들의 이득 프로파일을 도시한다. 레이블 "롱-브리지"의 열은 세그먼트 패턴들의 롱-1 대 브리지-2 조합에 대한 분석 윈도우 함수들의 이득 프로파일을 도시한다. 도면의 다른 열들은 브리지 및 롱 세그먼트 패턴들의 다른 조합들에 대한 분석 윈도우 함수들의 이득 프로파일을 나타낸다. 브리지-1 대 브리지-2 조합은 도시되어 있지 않지만 이 제어 방식에 대해 유효한 조합이다.
c.블럭-디코딩용 제어 방식
블럭-디코딩 프로세스에 적합한 2가지 방식이 기술될 것이다. 각 방식에서, 인코딩된 정보의 프레임들은 디코딩되어 256 샘플들의 최소 길이와 1152 샘플들의유효 최대 길이 사이에서 변동 길이들을 갖는 오버랩핑 세그먼트들로 분할된 2048 샘플들을 발생시킨다. 약 30Hz 이하의 프레임 레이트를 갖는 프레임들 안의 정보를 프로세스하는 시스템들의 바람직한 실시예에서, 각 프레임내의 2개 서브프레임들은 변동 길이의 오버랩핑 세그먼트들로 분할된다.
각 서브프레임은 세그먼트들의 몇개 패턴들중 하나에 따라 세그먼트들로 분할된다. 각 패턴은 각 세그먼트가 특정 합성 트랜스포옴에 의해 발생되고 변환의 결과가 특정 합성 윈도우 함수에 의해 윈도우로 되는 세그먼트들의 시퀀스를 상술한다. 특정 합성 윈도우 트랜스포옴과 합성 윈도우 함수들은 표 9에 나열되어 있다.
합성 세그먼트 유형
세그먼트 식별자 |
합성 윈도우 함수 |
합성 트랜스포옴 |
N |
n0 |
S256-A |
ES0(n)+E064(n) |
256 |
257/2 |
S256-B |
EA1(n)+EA1(-n) |
256 |
129/2 |
S256-C |
E064(n)+ES0(-n) |
256 |
1/2 |
S256-D1 |
ES1(n) |
256 |
129/2 |
S256-D2 |
ES1(-n) |
256 |
129/2 |
S256-D3 |
ES2(n)+EA1(-n) |
256 |
129/2 |
S256-D4 |
EA1(n)+ES2(-n) |
256 |
129/2 |
S256-E1 |
ES4(n) |
256 |
129/2 |
S256-E2 |
ES4(-n) |
256 |
129/2 |
S384-A |
ES3(n)+E0128(n) |
384 |
384/2 |
S384-B |
EA2(n)+EA1(-n) |
384 |
129/2 |
S384-C |
EA1(n)+EA2(-n) |
384 |
257/2 |
S384-D |
E0128(n)+ES3(-n) |
384 |
1/2 |
S512-A |
EA2(n)+E164(n)+EA1(-n)+E064(n) |
512 |
257/2 |
S512-B |
E064(n)+EA1(n)+E164(n)+EA2(-n) |
512 |
257/2 |
S2048-A |
EA2(n)+E1640(n)+EA2(-n)+E0896(n) |
2048 |
2049/2 |
S2048-B |
E0896(n)+EA2(n)+E1640(n)+EA2(-n) |
2048 |
1/2 |
각 표 엔트리는 샘플들의 세그먼트를 발생시키기 위해 인코딩된 정보의 블럭에 적용되는 합성 트랜스포옴, 및 샘플들의 윈도우로된 세그먼트를 발생시키기 위해 결과적인 세그먼트에 적용되는 합성 윈도우 함수를 상술함으로서 각 세그먼트 유형을 기술한다. 합성 트랜스포옴들은 상술된 변수 N 및 n0에 의해 기술된다. 표에 도시된 합성 윈도우 함수들은 상술된 기본 윈도우 함수들의 연결에 의해 기술된다. 디코딩 프로세스중 사용된 합성 윈도우 함수들의 일부는 상기 표에 나열된 함수들의 수정된 형태들이다. 이들 수정된 또는 다른 윈도우 함수들은 종단간 시스템 성능을 개선시키기 위해 사용된다.
(1)제 1 방식
제 1 방식에서, 각 패턴에서 세그먼트 길이들은 2의 정수 승(inter power of two)으로 제약되어 있다. 이 제약은 분석 및 합성 트랜스포옴들을 실행하는데 필요한 프로세싱 자원을 감소시킨다.
쇼트-1 패턴은 8개 세그먼트들로 이루어지는데, 첫번째 세그먼트는 S256-A형 세그먼트이며, 두번째 세그먼트는 S256-D1형 세그먼트이며, 세번째 세그먼트는 S256-D3형 세그먼트이고, 다음 5개 세그먼트들은 S256-B형 세그먼트들이다. 쇼트-2 패턴을 8개 세그먼트들로 이루어지는데, 첫번째 5개 세그먼트들은 S256-B형 세그먼트들이며, 6번째 세그먼트는 S256-D4형 세그먼트이며, 7번째 세그먼트는 S256-D2형 세그먼트이고, 마지막 세그먼트는 S256-C형 세그먼트이다.
쇼트-1 패턴에서 첫번째 세그먼트에 대해 분석 및 합성 트랜스포옴을 하기위한 분석 및 합성 윈도우 함수들과 변수들 N및 n0의 형태는 상기 첫번째 세그먼트의 오디오 정보가 세그먼트의 첫번째 64 샘플들 안에 엘리어싱 인공물없이 다른 세그먼트들과 별개로 복원될 수 있도록 설계되어 있다. 이것은 쇼트-1 패턴에 따라 세그먼트들로 분할된 정보의 프레임이 엘리어싱 소거와 관계없이 임의의 정보 스트림에 추가되는 것을 허용한다.
분석 및 합성 윈도우 함수들과 쇼트-2 패턴에서 마지막 세그먼트에 대한 분석 및 합성 트랜스포옴들은 마지막 세그먼트에 대한 오디오 정보가 세그먼트의 마지막 64 샘플들안에 엘리어싱 인공물들 없이 다른 세그먼트들과 별개로 복원될 수 있도록 설계되어 있다. 이것은 쇼트-2 패턴에 따라 세그먼트들로 분할된 정보의 프레임이 엘리어싱 소거에 대한 걱정 없이 임의의 정보 스트림의 다음에 위치되도록 허용한다.
윈도우 함수와 트랜스포옴의 설계에 대한 다양한 고찰은 미국 특허 제 5,913,191 호에 더 상세히 논의되어 있다.
브리지-1 패턴은 7개 세그먼트들로 이루어지는데, 첫번째 세그먼트는 S256-A형 세그먼트이며, 두번째 세그먼트는 S256-D1형 세그먼트이며, 세번째 세그먼트는 S256-D3형 세그먼트이며, 다음 3개 세그먼트들은 S256-B형 세그먼트이고, 마지막 세그먼트는 S512-A형 세그먼트이다. 브리지-2 패턴은 7개 세그먼트들로 이루어지는데, 첫번째 세그먼트는 S512-B형 세그먼트이며, 다음 3개 세그먼트들은 S256-B형 세그먼트들이며, 5번째 세그먼트는 S256-D4형 세그먼트이며, 6번째 세그먼트는S256-D2형 세그먼트이고, 마지막 세그먼트는 S256-C형 세그먼트이다.
브리지-1 패턴에서 첫번째 세그먼트와 브리지-2 패턴에서 마지막 세그먼트는 첫번째와 마지막 64 샘플들에서 각각 엘리어싱 인공물들없이 다른 세그먼트들과 별개로 복원될 수 있다. 이것은 브리지-1 패턴의 세그먼트들이 엘리어싱 소거에 대한 걱정 없이 임의의 정보 스트림의 다음에 위치하도록 허용하며, 브리지-2 패턴의 세그먼트들이 엘리어싱 소거에 대한 걱정 없이 임의의 정보 스트림에 의해 다음에 위치하도록 허용한다.
롱-1 패턴은 단일 S2048-A형 세그먼트를 포함한다. 비록 이 세그먼트는 가상 2048 샘플 롱이지만, 시간 해상도에 관한 그 유효 길이는 단지 1152 샘플들인데, 왜냐하면 합성 윈도우 함수의 1152 포인트만이 비-제로이기 때문이다. 롱-2 패턴을 단일 S2048-B형 세그먼트를 포함한다. 이 세그먼트의 유효 길이는 1152이다.
롱-1 및 롱-2 패턴들에서 세그먼트들은 첫번째 및 마지막 256 샘플들 각각에서 엘리어싱 인공물들없이 다른 세그먼트들과 별개로 복원될 수 있다. 이것은 롱-1 패턴의 세그먼트들이 엘리어싱 소거에 대한 걱정없이 임의의 정보 스트림의 다음에 위치하도록 허용하며 롱-2 패턴의 세그먼트들이 엘리어싱 소거에 대한 걱정없이 임의의 정보 스트림에 의해 다음에 위치하도록 허용한다.
이들 세그먼트 패턴들의 각각은 표 10-A에 요약되어 있다.
제 1 제어 방식용 합성 세그먼트 패턴
세그먼트 패턴 |
세그먼트의 시퀀스 유형 |
쇼트-1 |
A256-A |
A256-D1 |
A256-D3 |
A256-B |
A256-B |
A256-B |
A256-B |
A256-B |
쇼트-2 |
A256-B |
A256-B |
A256-B |
A256-B |
A256-B |
A256-D4 |
A256-D2 |
A256-C |
브리지-1 |
A256-A |
A256-D1 |
A256-D3 |
A256-B |
A256-B |
A256-B |
A512-A |
|
브리지-2 |
A512-B |
A256-B |
A256-B |
A256-B |
A256-D4 |
A256-D2 |
A256-C |
|
롱-1 |
A2048-A |
|
|
|
|
|
|
|
롱-2 |
A2048-B |
|
|
|
|
|
|
|
제 1 방식에 따라 제어부(65)에 의해 상술되는 세그먼트 패턴들의 다양한 조합들은 도 14에 도시되어 있다. 레이블 "쇼트-쇼트"의 열은 세그먼트 패턴들의 쇼트-1 대 쇼트-2 조합에 대한 합성 윈도우 함수들의 이득 프로파일을 도시하고 있다. 레이블 "롱-브리지"의 열은 세그먼트 패턴들의 롱-1 대 브리지-2 조합에 대한 합성 윈도우 함수들의 이득 프로파일을 도시하고 있다. 도면에서 다른 열들은 브리지와 롱 세그먼트 패턴들의 다른 조합들에 대한 합성 윈도우 함수들의 이득 프로파일을 도시하고 있다.
(2)제 2 방식
제 2 방식에서, 세그먼트들의 일부는 2의 정수 제곱이 아닌 384에 달하는 길이를 갖는다. 이 방식의 이점 및 단점은 위에 논의되어 있다.
쇼트-1 패턴은 8개 세그먼트들을 포함하는데, 첫번째 세그먼트는 S384-A형 세그먼트이며, 두번째 세그먼트는 S256-E1형 세그먼트이고, 다음 6개 세그먼트들은 S256-B형 세그먼트들이다. 쇼트-2 패턴은 7개 세그먼트들을 포함하는데, 처음 5개 세그먼트들은 S256-B형 세그먼트들이며, 6번째 세그먼트는 S256-E2형 세그먼트이고, 마지막 세그먼트는 S384-D형 세그먼트이다. 세그먼트 패턴들의 다른 조합들과는 달리, 패턴들의 상기 조합에 대한 2개 서브프레임들의 길이들은 동일하지 않다.
쇼트-1 패턴에서 첫번째 세그먼트 및 쇼트-2 패턴에서 마지막 세그먼트는 첫번째 및 마지막 128 샘플들에서 각각 엘리어싱 인공물들없이 다른 세그먼트들과 별개로 복원될 수 있다. 이것은 쇼트-1 및 쇼트-2 패턴에 따라 세그먼트들로 분할된 프레임이 엘리어싱 소거에 대한 걱정없이 임의의 정보 스트림 다음에 위치하거나 위치되는 것을 허용한다.
브리지-1 패턴은 7개 세그먼트들을 포함하는데, 첫번째 세그먼트는 S384-A형 세그먼트이며, 중간의 5개 세그먼트들은 S256-B형 세그먼트들이고 마지막 세그먼트는 S384-C형 세그먼트이다. 브리지-2 패턴은 7개 세그먼트들을 포함하는데, 첫번째 세그먼트는 S384-B형 세그먼트이며, 중간의 5개 세그먼트들은 S256-B형 세그먼트들이고, 마지막 세그먼트는 S384-D형 세그먼트이다. S384-A, S384-B, S384-C 및 S384-D형 세그먼트들의 유효 길이들은 256이다.
브리지-1 패턴에서 첫번째 세그먼트 및 브리지-2 패턴에서 마지막 세그먼트는 첫번째 및 마지막 128 샘플들 각각에서 엘리어싱 인공물들없이 다른 세그먼트들과 별개로 복원될 수 있다. 이것은 브리지-1 패턴의 세그먼트들이 엘리어싱 소거에 대한 걱정없이 임의의 정보 스트림 다음에 위치되는 것을 허용하며 브리지-2 패턴의 세그먼트들이 엘리어싱 소거에 대한 걱정없이 임의의 정보 스트림에 의해 다음에 위치되는 것을 허용한다.
롱-1 패턴은 단일 S2048-A형 세그먼트를 포함한다. 이 세그먼트의 유효 길이는 1152이다. 롱-2 패턴은 단일 S2048-B형 세그먼트를 포함한다. 이 세그먼트의 유효 길이는 1152이다. 제 2 제어 방식용 롱-1과 롱-2 패턴들은 제 1 제어 방식용 롱-1과 롱-2 패턴들과 동일하다.
이들 세그먼트 패턴들의 각각은 표 10-B에 요약되어 있다.
제 2 제어 방식용 합성 세그먼트 패턴
세그먼트 패턴 |
세그먼트의 시퀀스 유형 |
쇼트-1 |
S384-A |
A256-E1 |
A256-B |
A256-B |
A256-B |
A256-B |
A256-B |
A256-B |
쇼트-2 |
A256-B |
A256-B |
A256-B |
A256-B |
A256-B |
A256-E2 |
A384-D |
|
브리지-1 |
A384-A |
A256-B |
A256-B |
A256-B |
A256-B |
A256-B |
A384-C |
|
브리지-2 |
A384-B |
A256-B |
A256-B |
A256-B |
A256-B |
A256-B |
A384-D |
|
롱-1 |
A2048-A |
|
|
|
|
|
|
|
롱-2 |
A2048-B |
|
|
|
|
|
|
|
제 2 제어 방식에 따라 제어부(65)에 의해 상술되는 세그먼트 패턴들의 다양한 조합들은 도 15에 도시되어 있다. 레이블 "쇼트-쇼트"의 열은 세그먼트 패턴들의 쇼트-1 대 쇼트-2 조합에 대한 합성 윈도우 함수들의 이득 프로파일을 도시한다. 레이블 "롱-브리지"의 열은 세그먼트 패턴들의 롱-1 대 브리지-2 조합에 대한 합성 윈도우 함수들의 이득 프로파일을 도시한다. 도면에서 다른 열들은 브리지와 롱 세그먼트 패턴들의 다른 조합들에 대한 합성 윈도우 함수들의 이득 프로파일을 도시한다. 브리지-1 대 브리지-2 조합은 도시되어 있지 않지만 이 제어 방식에 대해 유효한 조합이다.
4.프레임 포맷팅
프레임(48)은 인코딩된 정보를 폭넓게 다양한 포맷들에 따라 프레임들로 조립한다. 2가지 다른 포맷들이 여기에 기술되어 있다. 이들 2가지 포맷들에 따르면, 각 프레임은 다른 프레임들과 별개로 디코딩될 수 있는 1개 이상의 오디오 채널들의 동반 세그먼트들에 대하여 인코딩된 정보를 전달한다. 바람직하게, 각 프레임의 정보는 섹션에 배열된 1개 이상의 고정된 비트-길이 디지털 "워드"에 의해 전달된다. 바람직하게, 특정 프레임에 대해 사용된 워드 길이는 디코더가 그 프로세싱을 상기 길이에 적합할 수 있도록 프레임의 내용들로부터 결정된다. 만일 인코딩된 정보 스트림이 전송 또는 저장 에러에 적용된다면, 순환 중복 검사(CRC) 코드와 같은 에러 검출 코드 또는 플렛쳐의 체크섬(Fletcher's checksum)은 각 프레임 섹션에 포함 및/또는 전체 프레임에 제공될 수 있다.
(a)제 1 포맷
제 1 프레임 포맷은 도 16A에 도시되어 있다. 도면에 도시된 것처럼, 인코딩된 정보 스트림(80)은 제 1 포맷에 따라 조립된 정보를 지닌 프레임들을 포함한다. 인접 프레임들은 편집 또는 절단이 정보의 손실을 초래하지 않고 이루어질 수 있는 간격을 제공하는 갭 또는 보호 대역에 의해 분리된다. 예를 들면, 도면에 도시된 것처럼, 특정 프레임은 보호 대역(81 및 88)에 의해 인접 프레임들로부터 분리된다.
제 1 포맷에 따르면, 프레임 섹션(82)은 신호 프로세싱 기기가 정보 스트림의 내용들과의 작동을 동조시키는데 사용할 수 있는 독특한 데이터 패턴을 갖는 동기 워드를 전달한다. 프레인 섹션(83)은 프레임 섹션(84)안에 전달되는 인코딩된 오디오 정보에 관한 제어 정보를 전달하지만, 인코딩된 오디오 정보 자체의 부분이 아니다. 프레임 섹션(84)은 1개 이상의 오디오 채널들에 대한 인코딩된 오디오 정보를 전달한다. 프레임 섹션(87)은 프레임을 바람직한 총 길이에 패드(pad)하는데 사용될 수 있다. 이와 달리, 프레임 섹션(87)은 프레임 패딩대신에 또는 프레임 패딩에 덧붙여 정보를 전달하는데 사용될 수 있다. 이 정보는, 예를 들면, 인코딩된디지털 오디오 정보로부터 도출하기 어려운 아날로그 미터 수치와 같은 인코딩된 오디오 정보에 의해 표시되는 오디오 신호의 특성을 전달한다.
도 16B를 참조하면, 프레임 섹션(83)은 몇개의 서브섹션에 배열된 제어 정보를 전달한다. 서브섹션(83-1)은 프레임 포맷의 프레임과 표시에 대한 식별자를 전달한다. 프레임 식별자는 각 연속 프레임에 대하여 1씩 증가하는 값을 갖는 8-비트 넘버이며, 값 256에서 값 0까지 걸쳐있다. 프레임 포맷의 표시는 프레임안에서 전달되는 정보의 위치 및 내용을 식별한다. 서브섹션(83-2)은 프레임 섹션(84)안의 인코딩된 오디오 정보를 적절하게 디코딩하는데 필요한 1개 이상의 변수를 전달한다. 서브섹션(83-3)은 프레임 섹션(84)안의 인코딩된 오디오 정보에 의해 나타내어지는 오디오 채널들의 수와 이들 채널들의 프로그램 구성을 전달한다. 이러한 프로그램 구성은, 예를 들면, 1개 이상의 모너럴(monoral) 프로그램, 1개 이상의 2-채널 프로그램, 또는 3-채널 레프트-센터-라이트 및 2-채널 서라운드를지닌 프로그램을 가리킨다. 서브섹션(84-4)은 프레임 섹션(83)에 대하여 CRC 코드 또는 다른 에러-검출 코드를 전달한다.
도 16C를 참조하면, 프레임 섹션(84)은 최대 8개 채널에 이르기까지 각 오디오 채널들의 현재 세그먼트들을 나타내는 인코딩된 정보를 각각 전달하는 1개 이상의 서브섹션에 배열된 인코딩된 오디오 정보를 전달한다. 서브섹션(84-1,84-2 내지 84-4)에서, 예를 들면, 프레임 섹션(84)은 채널 넘버(1, 2 내지 8) 각각에 대한 오디오의 현재 세그먼트들을 나타내는 인코딩된 오디오 정보를 전달한다. 서브섹션(84-9)은 프레임 섹션(84)에 대한 CRC 코드 또는 다른 에러 검출 코드를전달한다.
b.제 2 포맷
제 2 프레임 포맷은 도 17A에 도시되어 있다. 이러한 제 2 포맷은 제 1 포맷과 유사하지만 약 30Hz 이하의 비디오 프레임 레이트를 갖는 비디오/오디오 어플리케이션에서 제 1 포맷 이상으로 바람직하다. 인접 프레임들은 편집 또는 절단이 정보의 손실을 초래하지 않고 이루어질 수 있는 간격을 제공하는 보호 대역(91 및 98)과 같은 갭 또는 보호 대역에 의해 분리된다.
제 2 포맷에 따르면, 프레임 섹션(92)은 동기 워드를 전달한다. 프레임 섹션(93 및 94)들은 제 1 포맷에서의 프레임 섹션(83 및 84) 각각에 대하여 상술된 것과 유사한 제어 정보 및 인코딩된 오디오 정보를 전달한다. 프레임 섹션(87)은 프레임을 바람직한 총 길이로 패드하고 그리고/또는, 예를 들면, 아날로그 미터 수치와 같은 정보를 전달하는데 사용될 수 있다.
제 2 포맷은 오디오 정보가 2개 서브프레임으로 분할된다는 점에서 제 1 포맷과 다르다. 프레임 섹션(94)은 1개 이상의 오디오 채널들에 대하여 현재 세그먼트들에서 프레임의 첫번째 부분을 나타내는 인코딩된 오디오 정보의 제 1 서브프레임을 전달한다. 프레임 섹션(96)은 현재 세그먼트들에서 프레임의 두번째 부분을 나타내는 인코딩된 오디오 정보의 제 2 서브프레임을 전달한다. 오디오 정보를 2개 서브프레임으로 분할함으로서, 블럭-디코딩 프로세스에서 야기되는 지연이 아래에 설명된 것처럼 감소된다.
도 17B를 참조하면, 프레임 섹션(95)은 프레임 섹션(96)안에서 전달되는 인코딩된 정보에 관한 부가적인 제어 정보를 전달한다. 서브섹션(95-1)은 프레임 포맷의 표시를 전달한다. 서브섹션(94-4)은 프레임 섹션(5)에 대한 CRC 코드 또는 다른 에러-검출 코드를 전달한다.
도 17C를 참조하면, 프레임 섹션(96)은 각 오디오 채널에 대하여 인코딩된 정보를 각각 전달하는 1개 이상의 서브섹션에 배열된 인코딩된 오디오 정보의 제 2 서브프레임을 전달한다. 서브섹션(96-1, 96-2 내지 96-8)에서, 예를 들면, 프레임 섹션(96)은 오디오 채널 넘버(1, 2 내지 8) 각각에 대한 제 2 서브프레임을 나타내는 인코딩된 오디오 정보를 전달한다. 서브섹션(96-9)은 프레임 섹션(96)에 대한 CRC 코드 또는 다른 에러 검출 코드를 전달한다.
c.부가적인 특징
프레임에 의해 전달된 인코딩된 정보에서 일정한 데이터 패턴들이 발생되는 것을 방지하는 것이 일부 인코딩/디코딩 시스템에서는 바람직하다. 예를 들면, 상술된 동기 워드는 프레임 이외의 곳에서 발생하지 않는 특정 데이터 패턴을 갖는다. 만일 이러한 특정 데이터 패턴이 그 밖의 곳에서 발생한다면, 그러한 발생은 거짓으로 유효한 동기 워드로서 인식되어, 기기가 정보 스트림을 지닌 동기를 잃어버리도록 초래한다. 다른 예에서 처럼, 16-비트 PCM 데이터 워드를 프로세스하는 일부 오디오 장치는 제어 또는 신호 정보를 전달하는 데이터 값 -32768(0x8000으로서 16진수 표기로 표시됨)을 예정한다; 따라서, 일부 시스템에서 이러한 값의 발생을 회피하는 것이 또한 바람직하다. "예정된" 또는 "금지된" 데이터 패턴들을 회피하는 몇가지 기술들은 1999년 9월 27일 제출된 국제 특허 출원번호 제PCT/US99/22410에 공개되어 있다. 이들 기술은 임의의 특정 데이터 패턴들을 회피하기 위해 정보를 수정 또는 인코딩하고, 수정 또는 인코딩을 역으로 함으로서 오리지날 정보를 복원하는데 사용될 수 있는 키 또는 다른 제어 정보를 인코딩된 정보와 함께 패스한다. 바람직한 실시예에서, 특정 프레임 섹션에서 정보와 관련된 키 또는 제어 정보는 각 프레임 섹션안에 전달되거나, 또는, 이와 달리, 전체 프레임과 관련된 하나의 키 또는 제어 정보는 각 프레임 어딘가에 전달된다.
5.스플라이스 검출
상술된 2가지 제어 방식은 신호 분석 및 신호 합성 프로세스를 적합하게 하여 본질상 때때로 정지되어 있으며 평소에는 매우 비-정지되어 있는 오디오 신호들을 인코딩 및 디코딩하는 전체 시스템 성능을 개선시킨다. 그러나, 바람직한 실시예에서, 부가적인 특징들은 다른 개선사항을 스플라이싱과 같은 편집 연산에 적용되는 오디오 정보를 코딩하는 것에 제공한다.
상술한 것처럼, 스플라이스는 인지될 수 있거나 인지될 수 없는 불연속성을 오디오 정보의 스트림 안에 일반적으로 생성시킨다. 만일 통상적인 TDAC 분석-합성 프로세스들이 사용된다면, 스플라이스의 어느 일측상의 엘리어싱 인공물들은 거의 확실하게 소거되지 않을 것이다. 상술된 제어 방식들은 모두 엘리어싱 인공물들 없이 오디오 정보의 각 프레임들을 복원시킴으로서 이러한 문제점을 회피한다. 결국, 어느 하나의 제어 방식에 따라 인코딩 및 디코딩되는 오디오 정보의 프레임들은 엘리어싱 소거에 대한 걱정없이 서로 스플라이스 및 접합될 수 있다.
게다가, 상술된 "쇼트" 및 "브리지" 세그먼트 패턴들 내의 엔드 세그먼트들에 대하여 다른 또는 수정된 합성 윈도우 함수들을 사용함으로서, 어느 쪽의 제어 방식든 256-샘플 프레임 오버랩 간격들 내에 오버랩 및 부가하는 이득 프로파일을 갖는 세그먼트 프레임들의 시퀀스를 복원할 수 있어서 사실상 일정한 시간축 이득을 획득할 수 있다. 결국, 상기 프레임 오버랩 간격에서의 안의 프레임 이득 프로파일들은 스플라이스 양단의 임의의 프레임 쌍들에 대하여 정확해진다.
지금까지 논의된 특징들은 더 넓은 필터 통과대역(passband) 대신에 필터 정지대역(stopband)안에서의 증가된 감쇄로 인한 주파수 응답 특성을 갖는 필터뱅크들을 실행시킴으로서 지각 코딩 프로세스들에 대해 활용되었다. 불행히도, 스플라이스 편집들은 보통 필터 정지대역으로서 간주되는 것내가 아닌 주파수 범위내에 중요한 스펙트럴 인공물 또는 "스펙트럴 스플래터"를 발생시키는 경향이 있다. 그러므로, 상술된 특징들에 의해 실행되는 필터뱅크들은 일반적인 지각 코딩 성능을 활용하도록 설계되지만 스플라이스 편집시 생성되는 들리지 않는 이러한 스펙트럴 인공물들을 만들기에 충분한 감쇄를 제공하지는 못한다.
시스템 성능은 스플라이스의 발생을 검출하고, 응답으로, 합성 필터뱅크의 주파수 응답을 적합하게 함으로서 개선될 수 있어서 이러한 스펙트럴 스플래터를 감쇄시킬 수 있다. 이러한 것이 실행될 수 있는 한가지 방식이 아래에 기술되어 있다. 부가적인 정보는 미국 특허 제 5,903,872 호로부터 획득될 수 있다.
도 4를 참조하면, 제어부(65)는 경로(61)로부터 수신된 각 프레임으로부터 획득되는 일부 제어 정보 또는 "프레임 식별자"를 검사함으로서 검출될 수 있다. 예를 들면, 인코더(40)는 넘버를 증분시킴으로서 또는 각 연속 프레임에 대한 시간및 날짜의 표시를 발생시키고 이 식별자를 각 프레임에 조립시킴으로서 프레임 식별자를 제공한다. 제어부(65)가 프레임들의 스트림으로부터 획득된 프레임 식별자들의 시퀀스에서 불연속성을 검출할 때, 스플라이스-검출 신호는 경로(66)를 따라 발생된다. 경로(66)로부터 수신된 스플라이스-검출 신호에 응답하여, 디코딩부(70)는 합성 필터뱅크의 주파수 응답을 적합하게 하거나 또는 스플라이스가 발생될 것으로 여겨지는 곳의 프레임들 간의 경계의 어느 일측상의 하나 이상의 세그먼트들을 프로세스하기 위해 바람직한 주파수 응답을 갖는 다른 필터뱅크를 선택하게 된다.
바람직한 실시예에서, 검출된 스플라이스들의 어느 일측상의 프레임들에 대한 바람직한 주파수 응답은 스플라이스-윈도우 프로세스를 적용함으로서 획득된다. 이것은 프레임 스플라이스-윈도우 함수를 상술된 제어 방식으로부터 획득된 것과 같은 세그먼트들의 전체 프레임에 적용함으로서 달성될 수 있거나, 또는 세그먼트 스플라이스-윈도우 함수들을 합성 트랜스포옴으로부터 획득된 각 세그먼트에 적용함으로서 제어 방식들 내에서 달성될 수 있다. 원칙적으로, 이들 2가지 프로세스들은 동일하다.
각 세그먼트에 대한 세그먼트 스플라이스-윈도우 함수는 표 9에 도시된 각 세그먼트에 대한 정규 합성 윈도우 함수와 각 세그먼트와 정렬된 프레임 스플라이스-윈도우 함수의 부분을 곱함으로서 획득된다. 프레임 스플라이스-윈도우 함수들은 표 6-C에 도시된 2개 이상의 기본 함수들을 연결함으로서 획득된다.
기본 윈도우 함수
기본 함수 |
함수 길이 설명 |
E11536(n) |
1536 Ø(n, ν=1.0, N=1536) |
E11792(n) |
1792 Ø(n, ν=1.0, N=1792) |
ES5(n) |
256,0≤n<256 |
Es5(-n) |
256 ES5(n)의 시간-반전된 복제물 |
프레임들의 3가지 유형에 대한 프레임 스플라이스-윈도우 함수들은 표 11에 나열되어 있다.
프레임 스플라이스-윈도우 함수
합성 윈도우 함수 |
프레임 유형 |
ES5(n)+E11792(n) |
프레임의 시작에서 스플라이스 |
E11792(n)+ES5(-n) |
프레임의 끝에서 스플라이스 |
ES5(n)+E11536(n)+ES5(-n) |
프레임 양쪽 경계에서 스플라이스 |
위에 나열된 프레임 스플라이스-윈도우 함수들을 사용함으로서, 스플라이스-윈도우 프로세스는 기본적으로 프레임 오버랩 간격 안의 세그먼트들에 대해 종단간 분석-합성 윈도우 함수들을 알파 값이 3인 KBD 윈도우 함수들에서 알파 값이 1인 KBD 윈도우 함수들로 변경시킨다. 이 변경은 정지대역안의 감쇄 레벨을 감소시키는 대신에 필터 통과대역의 폭을 감소시키므로, 가청 스펙트럴 스플래터를 더 효율적으로 억제시키는 주파수 응답을 획득하게 된다.
6.신호 변환
상술된 오디오 인코더 및 디코더들의 실시예들은 기본적으로 임의의 포맷 및 샘플 레이트를 갖는 오디오 정보를 프로세스하는 어플리케이션에 포함될 수 있다. 예를 들면, 48kHz의 오디오 샘플 레이트는 일반적으로 전문 기기에 사용되며44.1kHz의 샘플 레이트는 일반적으로 소비자 기기에 사용된다. 게다가, 상술된 실시예들은 폭넓은 표준 범위에 적합한 프레임 포맷 및 프레임 레이트의 비디오 정보를 프로세스하는 어플리케이션에 포함될 수 있다. 바람직하게는, 비디오 프레임 레이트가 약 30Hz 이하인 어플리케이션에 대해서, 오디오 정보는 상술된 제 2 포맷에 따라 프로세스된다.
실제 장치들의 실행은 오디오 정보가 외부 오디오 샘플 레이트 또는 비디오 샘플 레이트와 관계없는 일반 구조로 인코딩될 수 있도록 오디오 정보를 내부 오디오 샘플 레이트로 변환함으로서 단순화될 수 있다.
도 3 및 4를 참조하면, 변환부(43)는 오디오 정보를 적절한 내부 샘플 레이트로 변환하는데 사용되며 변환부(68)는 오디오 정보를 내부 샘플 레이트에서 바람직한 외부 오디오 샘플 레이트로 변환하는데 사용된다. 내부 오디오 샘플 레이트가 비디오 프레임 레이트의 정수 배수이도록 변환이 실행된다. 몇가지 비디오 프레임 레이트에 대한 적절한 내부 샘플 레이트의 예들은 표 12에 도시되어 있다. 상기 변환은 오디오 샘플들의 동일한 넘버가 비디오 프레임과 인코딩 및 전달되는 것을 허용한다.
내부 샘플 레이트
비디오 표준 |
비디오 프레이 레이트(Hz) |
프레임 당 오디오 샘플 |
내부 샘플 레이트(kHz) |
DTV |
30 |
2048 |
53.76 |
NTSC |
29.97 |
2048 |
53.706 |
PAL |
25 |
2048 |
44.8 |
필름 |
24 |
2048 |
43.008 |
DTV |
23.976+ |
2048 |
42.96 |
NTSC(29.97Hz)와 DTV(23.976Hz)에 대하여 표에 도시된 내부 샘플 레이트들은 단지 대략적인 것이다. 이들 2가지 비디오 표준에 대한 레이트들은 각각 53,760,000/1001 과 43,008,000/1001에 동일하다.
샘플 레이트 변환에 대하여 임의의 기술이 사용될 수 있다. 샘플 레이트 변환에 대한 다양한 고찰 및 실행들은 아담스(Adams) 및 관(Kwan)의 "Theory and VLSI Architectures for Asynchronous Samples Rate Converters" 표제로, 1993년 7월 오디오 공학 협회 저널 제41권 7/8호 페이지 539-555에 공개되어 있다.
만일 샘플 레이트 변환이 사용된다면, 분석부(45)에 대하여 상술된 과도현상 검출기안의 HPF(101)에 대한 필터 계수들은 일정한 컷오프(cutoff) 주파수를 유지하기 위해 수정될 필요가 있다. 이러한 특징의 이점은 경험적으로 결정될 수 있다.
D.프로세싱 지연
블럭 인코더(50)와 블럭 디코더(70)에 의해 수행되는 프로세스들은 정보의 세그먼트들과 블럭들을 수신 및 버퍼하는데 발생되는 지연을 갖게된다. 게다가, 상술된 블럭-인코딩 프로세스를 제어하기 위한 2가지 방식들은 세그먼트 길이 제어에 대하여 분석부(45)에 의해 분석된 오디오 샘플들의 블럭들을 수신 및 버퍼하는데 필요한 부가적인 지연을 초래한다.
제 2 포맷이 사용될 때, 제 1 제어 방식은 도 10에 도시된 세그먼트-길이 제어 방법의 첫번째 단계(S461)가 시작되기 전에 오디오 정보의 1344 오디오 샘플들 또는 21개의 64-샘플 블럭들을 수신 및 버퍼해야 한다. 제 2 제어 방식은 단지 오디오 정보의 1280 오디오 샘플들 또는 20개의 64-샘플 블럭들을 수신 및 버퍼하는데 필요한 약간 느린 지연을 초래한다.
만일 인코더(40)가 실시간으로 그 프로세싱을 실행한다면, 그 프레임의 첫번째 부분이 세그먼트 길이 제어에 대하여 수신, 버퍼 및 분석된 이후 각 프레임에 대하여 남은 시간 안에 블럭-인코딩 프로세스를 완결해야 한다. 제 1 제어 방식은 블럭들 분석을 시작하는데 더 긴 지연을 초래하기 때문에, 제 2 제어 방식에 의해 필요한 것보다 적은 시간 안에 그 프로세싱을 완결하기 위한 인코딩부(50)를 필요로한다.
바람직한 실시예에서, 인코더(40)에 의해 초래된 총 프로세싱 지연은 인접 비디오 프레임들 간의 간격과 동일하도록 조절된다. 필요하다면, 부가적인 지연을 제공하는 구성요소가 인코더(40)안에 포함될 수 있다. 만일 1개 프레임 간격의 총 지연이 있을 수 없는 것이라면, 총 지연은 비디오-프레임 간격의 정수배에 동일하도록 조절될 수 있다.
제어 방식들은 모두 디코딩부(60)상에 사실상 동일한 계산 조건을 부과한다. 디코딩부(60)에서 초래되는 최대 지연은 일반적인 말로 말하기에는 어려운데, 왜냐하면 최대 지연은 인코딩된 오디오 정보 및 제어 정보를 전달하는데 사용되는 비트의 넘버와 정확히 인코딩된 프레임 포맷과 같은 인자에 좌우되기 때문이다.
첫번째 포맷이 사용될 때, 전체 프레임은 세그먼트-제어 방법이 시작되기 전에 수신 및 버퍼되어야 한다. 왜냐하면 인코딩 및 신호 샘플-레이트 변환 프로세스들은 즉시 실행될 수 없기 때문에, 인코더(40)에 대한 1개-프레임 지연은 있을 수 없다. 이 경우에, 2개 프레임 레이트의 총 지연이 바람직하다. 유사한 제한사항이디코더(60)에 적용된다.