首页 / 专利库 / 信号处理 / 信号处理 / 音频信号处理 / 오디오 프로세싱 시스템

오디오 프로세싱 시스템

阅读:305发布:2021-06-06

专利汇可以提供오디오 프로세싱 시스템专利检索,专利查询,专利分析的服务。并且오디오프로세싱시스템(100)은양자화된스펙트럼콤포넌트들을수신하고, 역양자화를수행하고, 중간시그널의시간영역표현을산출하는프론트-엔드콤포넌트(102, 103)를포함한다. 오디오프로세싱시스템은처리된오디오시그널의시간영역표현을제공하도록구성된주파수영역프로세싱스테이지(104, 105, 106, 107, 108) 및목표샘플링주파수로샘플링된재생오디오시그널을제공하는샘플레이트컨버터(109)를더 포함한다. 중간오디오시그널의시간영역표현및 처리된오디오시그널의시간영역표현각각의내부샘플링레이트는동일하다. 특정실시예에서, 프로세싱스테이지는적어도서로다른두 개의모드들로동작가능하고, 일정한전체딜레이를보장하는딜레이스테이지와관련된파라메트릭업믹스스테이지를포함한다.,下面是오디오 프로세싱 시스템专利的具体信息内容。

  • 오디오 비트스트림(audio bitstream)을 수신하도록 구성된 오디오 프로세싱 시스템(audio processing system)(도1의 100)으로서,
    상기 비트스트림을 수신하고, 양자화된 스펙트럼 계수들(quantized spectral coefficients)을 출력하는 디코더(101);
    상기 양자화된 스펙트럼 계수들을 수신하고, 중간 신호(intermediate signal)의 제1 주파수 영역 표현(first frequency-domain representation)을 출력하는 역양자화 스테이지(dequantize stage; 102)와, 상기 중간 신호의 상기 제1 주파수 영역 표현을 수신하고, 상기 중간 신호의 상기 제1 주파수 영역 표현을 기반으로 상기 중간 신호의 시간 영역 표현(time-domain representation)을 합성(synthesizing)하는 역변환 스테이지(inverse transform stage; 103)를 포함하는 프론트-엔드 콤포넌트(front-end component);
    상기 중간 신호의 시간 영역 표현을 수신하고, 상기 중간 신호의 제2 주파수 영역 표현(second frequency-domain representation)을 출력하는 분석 필터뱅크(analysis filterbank; 104), 상기 중간 신호의 제2 주파수 영역 표현을 수신하고, 처리된 오디오 신호(audio signal)의 주파수 영역 표현을 출력하는 적어도 하나의 프로세싱 콤포넌트(processing component;( 105, 106, 107), 및 상기 처리된 오디오 신호의 주파수 영역 표현을 수신하고, 상기 처리된 오디오 신호의 시간 영역 표현을 출력하는 합성 필터뱅크(synthesis filterbank; 108)를 포함하는 프로세싱 스테이지(processing stage); 및
    상기 처리된 오디오 신호의 상기 시간 영역 표현을 수신하고, 목표 샘플링 주파수(target sampling frequency)로 샘플링된 재생 오디오 신호를 출력하는 샘플 레이트 컨버터(sample rate converter; 109)를 포함하되,
    상기 중간 오디오 신호의 상기 시간 영역 표현 및 상기 처리된 오디오 신호의 상기 시간 영역 표현 각각의 내부 샘플링 레이트(internal sampling rate)들은 서로 동일하고,
    상기 적어도 하나의 프로세싱 컴포넌트는,
    M 채널의 다운믹스 신호(downmix signal)를 수신하고, 이를 기반으로 N 채널의 신호를 출력하되, 적어도 딜레이(delay)에 연관된 1 ≤ M < N 인 모드 및 1 ≤ M = N 인 모드에서 동작 가능한 파라메트릭 업믹스 스테이지(parametric upmix stage; 106); 및
    상기 파라메트릭 업믹스 스테이지가 1 ≤ M = N 인 모드인 경우, 상기 파라메트릭 업믹스 스테이지의 현재 동작 모드와 독립적으로 상기 프로세싱 스테이지가 일정한 전체 딜레이(constant total delay)를 가지도록, 1 ≤ M < N 인 모드에 연관된 상기 딜레이를 보상하기 위해 딜레이를 발생시키는 제1 딜레이 스테이지(first delay stage)를 포함하는 오디오 프로세싱 시스템.
  • 청구항 1에 있어서,
    상기 프론트-엔드 콤포넌트는,
    오디오 모드(audio mode) 및 음성-특정 모드(voice-specific mode)에서 동작 가능하고, 상기 프론트-엔드 콤포넌트의 상기 오디오 모드에서 상기 음성-특정 모드로의 모드 전환은 상기 역변환 스테이지의 최대 프레임 길이(maximal frame length)를 감소시키는 단계를 포함하는 것을 특징으로 하는 오디오 프로세싱 시스템.
  • 청구항 2에 있어서,
    상기 샘플 레이트 컨버터는 상기 처리된 오디오 신호의 상기 시간 영역 표현의 상기 내부 샘플링 레이트로부터 최대 5% 차이의 상기 목표 샘플링 주파수에서 샘플링된 재생된 오디오 신호를 제공하도록 동작 가능한 것을 특징으로 하는 오디오 프로세싱 시스템.
  • 청구항 1 내지 3 중 어느 한 항에 있어서,
    상기 오디오 프로세싱 시스템은,
    상기 프로세싱 스테이지와 병렬(parallel) 배치된 바이패스 라인(bypass line) 및 상기 프로세싱 스테이지의 상기 일정한 전체 딜레이와 동일한 딜레이를 발생시키도록 구성된 제2 딜레이 스테이지를 더 포함하는 것을 특징으로 하는 오디오 프로세싱 시스템.
  • 청구항 1에 있어서,
    상기 파라메트릭 업믹스 스테이지는,
    적어도 M = 3 및 N = 5인 모드에서 추가로 동작 가능한 것을 특징으로 하는 오디오 프로세싱 시스템.
  • 청구항 5에 있어서,
    상기 프론트-엔드 콤포넌트는,
    상기 파라메트릭 업믹스 스테이지의 모드가 M = 3 및 N = 5인 모드인 경우, 상기 오디오 비트스트림 내의 공동으로 코딩된 채널들로부터 상기 프론트-엔드 콤포넌트가 M = 3인 채널들 중 두 개의 채널들을 도출한 다운믹스 신호를 포함하는 중간 신호를 제공하도록 구성되는 것을 특징으로 하는 오디오 프로세싱 시스템.
  • 청구항 1에 있어서,
    상기 적어도 하나의 프로세싱 콤포넌트는,
    상기 파라메트릭 업믹스 스테이지의 업스트립(upstream)으로 배치되고 고주파수 콘텐츠(high-frequency content)를 재생하는 스펙트럼 밴드 복제 모듈(spectral band replication module; 106)을 더 포함하고,
    상기 스펙트럼 밴드 복제 모듈은,
    적어도 M < N 인 상기 파라메트릭 업믹스 스테이지의 모드들에서 활성화되도록 구성되고, 상기 파라메트릭 업믹스 스테이지의 M = N인 어떠한 모드에서든 상기 파라메트릭 업믹스 스테이지의 현재 모드에 독립적으로 동작 가능한 것을 특징으로 하는 오디오 프로세싱 시스템.
  • 청구항 7에 있어서,
    상기 적어도 하나의 프로세싱 콤포넌트는,
    상기 파라메트릭 업믹스 스테이지의 다운스트림(downstream)에 배치되거나, 상기 파라메트릭 업믹스 스테이지와 병렬로 배치되고, 웨이브폼 코딩된 저주파수 콘텐츠(waveform-coded low-frequency content)를 가진 상기 N 채널 각각을 증강하도록 동작 가능한 웨이브폼 코딩 스테이지(waveform coding stage; 도 8의 214)를 더 포함하고,
    상기 웨이브폼 코딩 스테이지는 상기 파라메트릭 업믹스 스테이지 및 상기 스펙트럼 밴드 복제 모듈의 현재 모드에 독립적으로 활성화 및 비활성화될 수 있는 것을 특징으로 하는 오디오 프로세싱 시스템.
  • 청구항 8에 있어서,
    상기 오디오 프로세싱 시스템은,
    적어도 상기 파라메트릭 업믹스 스테이지의 M > 2이고, M = N인 디코딩 모드(decoding mode)에서 동작 가능한 것을 특징으로 하는 오디오 프로세싱 시스템.
  • 청구항 9에 있어서,
    상기 오디오 프로세싱 시스템은, 적어도,
    1) M = N = 1인 모드의 파라메트릭 업믹스 스테이지인 경우;
    2) M = N = 1인 모드의 파라메트릭스 업믹스 스테이지이고, 스펙트럼 밴드 복제 모듈이 활성화 상태인 경우;
    3) M = 1, N = 2인 모드의 파라메트릭스 업믹스 스테이지이고, 스펙트럼 밴드 복제 모듈이 활성화 상태인 경우;
    4) M = 1, N = 2인 모드의 파라메트릭스 업믹스 스테이지이고, 스펙트럼 밴드 복제 모듈이 활성화 상태이고, 웨이브폼 코딩 스테이지가 활성화 상태인 경우;
    5) M = 2, N = 5인 모드의 파라메트릭스 업믹스 스테이지이고, 스펙트럼 밴드 복제 모듈이 활성화 상태인 경우;
    6) M = 2, N = 5인 모드의 파라메트릭스 업믹스 스테이지이고, 스펙트럼 밴드 복제 모듈이 활성화 상태이고, 웨이브폼 코딩 스테이지가 활성화 상태인 경우;
    7) M = 3, N = 5인 모드의 파라메트릭스 업믹스 스테이지이고, 스펙트럼 밴드 복제 모듈이 활성화 상태인 경우;
    8) M = N = 2인 모드의 파라메트릭스 업믹스 스테이지인 경우;
    9) M = N = 2인 모드의 파라메트릭스 업믹스 스테이지이고, 스펙트럼 밴드 복제 모듈이 활성화 상태인 경우;
    10) M = N = 7인 모드의 파라메트릭스 업믹스 스테이지인 경우; 및
    11) M = N = 7인 모드의 파라메트릭스 업믹스 스테이지이고, 스펙트럼 밴드 복제 모듈이 활성화 상태인 경우
    들에서 동작 가능한 것을 특징으로 하는 오디오 프로세싱 시스템.
  • 청구항 1에 있어서,
    상기 프로세싱 스테이지의 다운스트림에 배치된,
    적어도 하나의 채널이 서라운드 채널(surround channel)을 표현하는 상기 처리된 오디오 신호의 상기 시간 영역 표현을 수신하고, 상기 적어도 하나의 서라운드 채널 상에 90도의 페이즈 쉬프트를 수행하도록 구성된 페이즈 쉬프팅 콤포넌트(phase shifting component); 및
    상기 페이즈 쉬프팅 콤포넌트로부터 상기 처리된 오디오 신호를 수신하고, 이를 기반으로 두 개의 채널을 가진 다운믹스 신호를 출력하도록 구성된 다운믹스 콤포넌트를 포함하는 것을 특징으로 하는 오디오 프로세싱 시스템.
  • 청구항 1에 있어서,
    상기 오디오 프로세싱 시스템은,
    상기 오디오 비트스트림을 기반으로 적어도 하나의 추가 채널을 준비하고, 상기 재생된 오디오 신호에 상기 적어도 하나의 추가 채널을 포함시키도록 구성된 Lfe(low frequency effect) 디코더를 더 포함하는 것을 특징으로 하는 오디오 프로세싱 시스템.
  • 오디오 비트스트림 프로세싱(audio bitstream processing) 방법에 있어서,
    상기 비트스트림을 기반으로 양자화된 스펙트럼 계수들(quantized spectral coefficients)을 제공하는 단계;
    상기 양자화된 스펙트럼 계수들을 수신하고, 주파수-시간 변환이 뒤따르는 역양자화(inverse quantization)를 수행하여 중간 오디오 신호의 시간 영역 표현을 획득하는 단계;
    상기 중간 오디오 신호의 상기 시간 영역 표현을 기반으로 상기 중간 오디오 신호의 주파수 영역 표현을 제공하는 단계;
    상기 중간 오디오 신호의 상기 주파수 영역 표현에 대한 적어도 하나의 프로세싱 단계의 수행에 의해 처리된 오디오 신호의 주파수 영역 표현을 제공하는 단계;
    상기 처리된 오디오 신호의 상기 주파수 영역 표현을 기반으로 상기 처리된 오디오 신호의 시간 영역 표현을 제공하는 단계; 및
    상기 처리된 오디오 신호의 상기 시간 영역 표현의 샘플링 레이트(sampling rate)를 목표 샘플링 주파수(target sampling frequency)로 변경하여, 재생된 오디오 신호를 획득하는 단계를 포함하되,
    상기 중간 오디오 신호의 상기 시간 영역 표현과 상기 처리된 오디오 신호의 시간 영역 표현 각각의 내부 샘플링 레이트(internal sampling rate)는 동일하고,
    상기 오디오 비트스트림 프로세싱 방법은,
    적어도 딜레이(delay)에 연관된 1 ≤ M < N 인 모드 및 1 ≤ M = N 인 모드 중에서 현재 모드를 결정하는 단계를 포함하고,
    상기 적어도 하나의 프로세싱 단계는,
    M 채널의 다운믹스 신호(downmix signal)를 수신하고, 이를 기반으로 N 채널의 신호를 출력하는 단계;
    상기 현재 모드가 1 ≤ M = N 인 모드인 것에 대응하여, 상기 현재 모드와 독립적으로 일정한 상기 프로세싱 단계의 전체 딜레이를 위해, 1 ≤ M < N 인 모드에 연관된 상기 딜레이를 보상하도록 딜레이를 발생시키는 단계를 포함하는 오디오 비트스트림 프로세싱 방법.
  • 청구항 13에 있어서,
    상기 역양자화 및/또는 주파수-시간 변환은 적어도 오디오 모드(audio mode) 및 음성-특정 모드(voice-specific mode)에서 동작 가능한 하드웨어 콤포넌트에서 수행되고, 상기 양자화된 스펙트럼 계수들과 관련된 메타데이터(metadata)에 따라서 현재 모드가 선택되고, 상기 오디오 모드로부터 상기 음성-특정 모드로의 모드 전환은 상기 주파수-시간 변환의 최대 프레임 길이(maximal frame length)의 감소를 포함하는 오디오 비트스트림 프로세싱 방법.
  • 청구항 13 또는 14에 있어서,
    상기 오디오 비트스트림 프로세싱 방법을 수행하기 위한 명령들(instructions)을 포함하는 컴퓨터 프로그램을 저장한, 컴퓨터로 판독 가능한 기록 매체.
  • 삭제
  • 说明书全文

    오디오 프로세싱 시스템{AUDIO PROCESSING SYSTEM}

    본 발명은 일반적으로 오디오 인코딩(audio encoding) 및 디코딩(decoding)에 관한 것이다. 다양한 실시예들은 특히 음성(voice) 인코딩 및 디코딩에 적합한 오디오 인코딩 및 디코딩 시스템(오디오 코덱 시스템(audio codec system)을 의미함)을 제공한다.

    오디오 코덱 시스템을 포함하는 콤플렉스 기술 시스템(complex technological system)은 일반적으로 오랜 기간에 동안 독립적인 연구 및 개발팀의 비조직화된 노력에 의해 점차적으로 개발된다. 그 결과, 이와 같은 시스템들은 서로 다른 설계 패러다임(paradigm)들 및/또는 기술 진보(technological progress)의 동일하지 않은 레벨들이 나타내는 콤포넌트들 간의 곤란한 조합을 가질 수 있다. 레거시 장비(legacy equipment)와의 호환성(compatibility)을 유지하기 위한 많은 바람은 설계자들에게 추가적인 제한을 주는 것이며, 더 일관되지 못한 시스템 구조(system architecture)를 만들었다. 파라메트릭(parametric) 멀티채널(multichannel) 오디오 코덱 시스템에서, 하위 호환성(backward compatibility)은 특히 프로세싱 능력(processing capailities)이 없는 모노 또는 스트레오 플레이백 시스템(playback system)에서 다운믹스 신호(downmix signal)가 재생될 때, 다운믹스 신호(downmix signal)를 적절하게 사운딩 아웃풋(sounding output)으로 보내는 코딩 포맷(coded format)을 제공하는 것을 포함할 수 있다.

    해당 분야에서 최첨단 기술로 사용 가능한 오디오 코딩 포맷은 MPEG 서라운드(MPEG Surround), USAC(Universal Speech and Audio Coding) 및 고효율 AAC v2.(High Efficiency AAC v2.)를 포함한다. 이러한 것들은 문헌을 통해 충분히 설명 및 분석되었다.

    특히, 음성 신호들(voice signals)에 대하여, 구조적으로 균일하고 적합한 성능을 가진 오디오 코덱 시스템을 제안하는 것이 바람직하다.

    상기한 바와 같은 문제점을 극복하기 위한 본 발명의 목적은 잡음 환경에서 효율적인 오디오 프로세싱 시스템을 제공하는 것이다.

    상술한 본 발명의 목적을 달성하기 위한 본 발명의 일 실시예에 따른 오디오 프로세싱 시스템은 프론트-엔드 콤포넌트, 적어도 하나의 프로세싱 스테이지, 샘플 레이트 컨버터를 포함한다.

    상술한 바와 같은 오디오 프로세싱 시스템에 따르면, 잡음이 있는 음성 신호의 인코딩 및 디코딩에 적합한 오디오 인코딩 및 디코딩 시스템을 제공할 수 있다.

    본 발명 개념에 대한 실시예들은 도면들을 참조하여 구체적으로 설명될 것이다.
    도 1은 일 실시예에 따른 오디오 프로세싱 시스템의 전체적인 구조를 나타내는 일반적인 블록도이다.
    도 2는 오디오 프로세싱 시스템의 두 개의 서로 다른 모노 디코딩 모드들을 위한 프로세싱 절차를 나타낸다.
    도 3은 웨이브폼 코딩된 저주파수 콘텐츠에 의한 포스트-업믹스 증가를 포함하는 파라메트릭 스테레오 디코딩 모드와 웨이브폼 코딩된 저주파수 콘텐츠에 의한 포스트-업믹스 증가를 포함하지 않는 파라메트릭 스테레오 디코딩 모드를 나타낸다.
    도 4는 이산적 코딩 채널들로 완전히 웨이브폼 코딩된 스테레오 신호를 처리하는 오디오 프로세싱 시스템 디코딩 모드에 대한 프로세싱 절차를 나타낸다.
    도 5는 스펙트럼 밴드 복제 후 파라메트릭 업믹싱 3 채널 다운믹스 신호에 의해 5 채널 신호를 제공하는 디코딩 모드에 대한 프로세싱 절차를 나타낸다.
    도 6은 시스템 콤포넌트의 내부 동작 및 오디오 프로세싱 시스템의 구조의 일 예를 나타낸다.
    도 7은 일 실시예에 따른 디코딩 시스템의 일반적인 블록도이다.
    도 8은 도 7의 디코딩 시스템의 제1 파트를 나타낸다.
    도 9는 도 7의 디코딩 시스템의 제2 파트를 나타낸다.
    도 10은 도 7의 디코딩 시스템의 제3 파트를 나타낸다.
    도 11은 일 실시예에 따른 디코딩 시스템의 일반적인 블록도이다.
    도 12는 도 11의 디코딩 시스템의 제3 파트를 나타낸다.
    도 13은 일 실시예에 따른 디코딩 시스템의 일반적인 블록도이다.
    도 14는 도 13의 디코딩 시스템의 제1 파트를 나타낸다.
    도 15는 도 13의 디코딩 시스템의 제2 파트를 나타낸다.
    도 16은 도 13의 디코딩 시스템의 제3 파트를 나타낸다.
    도 17은 제1 실시예에 따른 인코딩 시스템의 일반적인 블록도이다.
    도 18은 제2 실시예에 따른 인코딩 시스템의 일반적인 블록도이다.
    도 19a는 고정적인 비트레이트로 비트스트림을 제공하는 오디오 인코더의 일 예에 대한 블록도이다.
    도 19b는 가변적인 비트레이트로 비트스트림을 제공하는 오디오 인코더의 일 예에 대한 블록도이다.
    도 20은 복수의 변환 계수 블록들에 기초한 엔벨로프의 일 예에 대한 제네레이터의 블록도이다.
    도 21a는 변환 계수 블록들의 엔벨로프의 일 예를 나타낸다.
    도 21b는 인터포레이트된 엔벨로프의 결정에 대한 일 예를 나타낸다.
    도 22는 양자화기 세트의 예를 나타낸다.
    도 23a는 오디오 디코더의 일 예에 대한 블록도이다.
    도 23b는 도 23a의 오디오 디코더의 엔벨로프 디코더의 일 예에 대한 블록도이다.
    도 23c는 도 23a의 오디오 디코더의 서브밴드 프리딕터의 일 예에 대한 블록도이다.
    도 23d는 도 23a의 오디오 디코더의 스펙트럼 디코더의 일 예에 대한 블록도이다.
    도 24a는 허용 가능한 양자화기 세트의 일 예에 대한 블록도이다.
    도 24b는 디더 양자화기의 일 예에 대한 블록도이다.
    도 24c는 변환 계수 블록의 스펙트럼에 기반한 양자화기 선택의 일 예에 대한 블록도이다.
    도 25는 인코더 및 대응되는 디코더의 양자화기 세트 결정 방법에 대한 일 예를 나타낸다.
    도 26은 디더 처리된 양자화기를 이용하여 결정된 엔트로피 인코딩 양자화기 인덱스들을 디코딩하는 방법의 일 예를 나타내는 블록도이다.
    도 27은 비트 얼로케이션 절차의 일 예를 나타낸다.
    상기 모든 도면들은 본 발명을 설명하기 위해 필요한 파트들만을 개략적이고 일반적으로 나타내고 있으며, 다른 파트들은 생략되거나 단순하게 설명될 수도 있다.

    오디오 프로세싱 시스템(audio processing system)은 오디오 데이터를 운반하는 프레임들로 분할된 오디오 비트스트림을 수신한다. 오디오 데이터는 사운드 웨이브(sound wave)를 샘플링하고, 전자 시간 샘플들(electronic time samples)을 변환하여, 스펙트럼 계수들(spectral coefficients)을 획득한다. 오디오 프로세싱 시스템은 샘플링된 사운드 웨이브를 단일 채널, 스테레오 또는 멀티 채널 포맷에서 재생하도록 조정된다. 여기서, 사용된 오디오 신호는 퓨어 오디오 신호(pure audio signal) 또는 비디오의 오디오 파트, 시청각(audiovisual) 또는 멀티미디어(multimedia) 신호에 관한 것일 수 있다.

    오디오 프로세싱 시스템은 일반적으로 프론트-엔드(front-end) 콤포넌트, 프로세싱 스테이지(processing stage) 및 샘플 레이트 컨버터(sample rate converter)로 구분된다. 프론트-엔드 콤포넌트는, 양자화된 스펙트럼 계수들(quzntized spectral coefficients)을 수신하고, 중간 신호(intermediate signal)의 제1 주파수 영역 표현(first frequency-domain representation)을 출력하도록 조정된 역양자화 스테이지(dequantization stage); 및 중간 신호의 제1 주파수 영역 표현을 수신하고, 이를 기반으로 중간 신호의 시간 영역 표현(time-domain representation)을 부분합성(synthesizing)하는 역 변환 스테이지(inverse transform stage)을 포함한다. 몇몇의 실시예에서, 프로세싱 스테이지는 중간 신호의 시간 영역 표현을 수신하고, 중간 신호의 제2 주파수 영역 표현(second frequency-domain representation)을 출력하기 위한 분석 필터뱅크(anlysis filterbank); 중간 신호의 제2 주파수 영역 표현을 수신하고, 처리된 오디오 신호의 주파수 영역 표현을 출력하는 적어도 하나의 프로세싱 콤포넌트; 및 처리된 오디오 신호의 주파수 영역 표현을 수신하고 처리된 오디오 신호의 시간 영역 표현을 출력하는 합성 필터뱅크(synthesis filterbank)를 의 구성들을 함께 생략할 수 있다. 마지막으로, 샘플 레이트 컨버터는 처리된 오디오 신호의 시간 영역 표현을 수신하고, 목표 샘플링 주파수로 샘플링된 재생 오디오 신호를 출력하도록 구성된다.

    일 실시예에 따르면, 오디오 프로세싱 시스템은 중간 오디오 신호의 시간 영역 표현 및 처리된 오디오 신호의 시간 영역 표현 각각의 내부 샘플링 레이트가 동일한 싱글-레이트 구조(single-rate architecture)이다.

    프론트-엔드 스테이지가 코어 코더(core coder)를 포함하고, 프로세싱 스테이지가 파라메트릭 업믹스 스테이지를 포함하는 특정 실시예에서 코어 코드 및 파라메트릭 업믹스 스테이지는 동일한 샘플링 레이트로 동작한다. 추가적으로 또는 대안적으로, 코어 코더는 트랜스폼 길이의 폭넓은 범위를 다루도록 연장될 수 있고, 샘플링 레이트 컨버터는 비디오-동기 오디오 프레임들(video-synchronous audio frames)의 디코딩을 위해 표준 비디오 프레임 레이트들(standard video frame reates)을 매칭하도록 구성될 수 있다. 이는, 오디오 모드 코딩 섹션에서 보다 자세히 설명될 것 이다.

    또 다른 실시예에 따르면, 프론트-엔드 콤포넌트는 오디오 모드 및 이와 다른 비디오 모드에서 동작 가능하다. 음성 모드는 음성 콘텐츠에 특별히 적응되어 있으므로, 이러한 신호들을 보다 정확하게 재생할 수 있다. 오디오 모드에서, 프론트-엔드 콤포넌트는 도 6 및 본 설명의 관련된 섹션에 나타난 바와 같이 동작할 수 있다. 보이스 모드에서, 프론트-엔드 콤포넌트는 특히 이하의 보이스 모드 코딩 섹션에서 논의되는 바와 같이 동작할 수 있다.

    일 실시예에서, 일반적으로 말하는 보이스 모드는 역 변환 스테이지가 더 짧은 프레임 길이(또는 트랜스폼 사이즈(transform size))에서 동작한다는 점에서 프론트-엔드 콤포넌트의 오디오 모드와 다르다. 감소된 프레임 길이는 음성 콘텐츠(voice content)을 보다 효율적으로 캡쳐하는 것으로 나타났다. 몇몇의 실시예에서, 오디오 모드 및 비디오 모드에서의 프레임 길이는 가변적이고, 이는 신호의 캡쳐 순간들(capture transients) 간헐적으로 감소시킬 수 있다. 이러한 환경에서, 오디오 모드에서 음성 모드로의 모드 전환(그 외의 모든 요인은 동일한 상태)은 역 변환 스테이지의 프레임 길이 감소를 의미한다. 다시 말해, 오디오 모드에서 음성 모드로의 모드 전환은 최대 프레임 길이의 감소(오디오 모드 및 음성 모드 각각의 선택 가능한 프레임 길이 내에서)를 의미한다. 특히, 음성 모드의 프레임 길이는 오디오 모드의 현재 프레임 길이의 일정 부분(fixed fraction)(예를 들어, 1/8)일 수 있다.

    일 실시예에서, 프로세싱 스테이지와 병렬 배치된 바이패스 라인(bypass line)은 주파수 영역 프로세싱이 요구되지 않는 디코딩 모드들에서 프로세싱 스테이지가 바이패스되도록 한다. 이는, 시스템이 직접적으로 스테레오 또는 특히 전체 스펙트럼 범위가 웨이브폼 코딩된 멀티채널 신호를 코딩하는 경우에 적합하다. 바람직하게, 바이패스 라인이 프로세싱 절차로 전환 또는 재전환되는 경우, 간혹 타임 쉬프트(time shift)되는 것을 피하기 위해, 바이패스 라인은 현재 모드인 프로세싱 스테이지의 딜레이(또는 알고리즘 딜레이(algorithmic delay))를 매칭하는 딜레이 스테이지를 포함한다. 프로세싱 스테이지가 자신의 현재 동작하는 모드에서 독립적으로 일정한(알고리즘에 대한) 딜레이(constant delay)를 가지도록 처리되는 일 예에서, 바이패스 라인 상의 딜레이 스테이지는 미리 설정된 일정한 딜레이를 발생시킬 수 있다; 반면, 바이패스 라인 상의 딜레이 스테이지는 바람직하게 프로세싱 스테이지의 현재 동작중인 모드에 따라서 적응적이고 가변적일 수 있다.

    일 실시예에서, 파라메트릭 업믹스 스테이지는 3 채널 다운믹스 신호를 수신하고 5 채널 신호를 반환하는 모드에서 동작 가능하다. 선택적으로, 스팩트럼 밴드 복제 콤포넌트는 파라메트릭 업믹스 스테이지의 업스트림으로 처리될 수 있다. 3개의 프론트 채널들(예를 들어, L, R, C), 2개의 서라운드 채널들(예를 들어, Ls, Rs)을 구비하고, 코딩 신호가 '프론트-헤비(front-heavy)'인 플레이백(playback) 채널 구성에서, 이러한 실시예는 보다 효율적인 코딩을 할 수 있다. 실제로, 오디오 비트스트림의 사용 가능한 대역폭은 우선적으로 3개의 프론트 채널들의 웨이브폼-코딩(waveform-code)을 시도하는데 사용 가능한 만큼 소비된다. 오디오 프로세싱 시스템에 의해 디코딩되는 오디오 비트스트림을 이용하는 인코딩 장치는 인코딩되는 오디오 신호의 특성을 측정함으로써, 이러한 모드에서 디코딩을 적응적으로 선택할 수 있다. 하나의 다운믹스 채널을 두 개의 채널로 업믹싱하는 업믹스 절차의 일 예 및 이와 관련된 다운믹스 절차는 이하의 스테레오 코딩(stereo coding)의 머리말(heading)에서 설명될 것이다.

    이전 실시예들의 발전적인 것으로, 다운믹스 신호의 3개의 채널들 중 2개는 오디오 비트스트림 내에서 공동으로 코딩된 채널들과 대응된다. 이와 같은 공동 코딩(joint coding)은 예를 들어, 한 개의 채널의 크기를 다른 채널과 대비하여 표현하는 것을 수반한다. 이와 유사한 접근으로, ACC 음압 스테레오 코딩(intensity stereo coding)에서 두 개의 채널들이 한 채널 쌍 요소로 인코딩되었다. 이는 다운믹스 신호의 몇몇 채널들이 공동 코딩된 경우, 주어진 비트레이트(bitrate)에서 재생되는 오디오 신호의 질이 향상되는 것을 감지하게 된 리스닝 실험들(listening experiment)을 통해 입증되었다.

    일 실시예에서, 오디오 프로세싱 시스템은 스펙트럼 밴드 복제 모듈을 더 포함한다. 스펙트럼 밴드 복제 모듈(spectral band reconstruction stage)(또는 고 주파수 재생 스테이지(high-frequency reconstruction stage))은 이하의 스테레오 코딩의 머리말에서 보다 구체적으로 설명될 것이다. 스펙트럼 밴드 복제 모듈은 바람직하게 파라메트릭 업믹스 스테이지가 업믹스 동작을 수행할 때, 즉, 수신한 신호 보다 더 많은 채널에 대한 신호를 반환할 때, 활성화될 수 있다. 그러나, 파라메트릭 업믹스 스테이지가 콤포넌트들이 통과하는 것을 따라 동작할 때, 스펙트럼 밴드 복제 모듈은 특히 파라메트릭 업믹스 스테이지의 현재 모드에서 독립적으로 동작될 수 있다; 이것은 비 파라메트릭 디코딩 모드들(non-parametric decoding modes)에서, 스펙트럼 밴드 복제 모듈 기능은 선택적이라고 말할 수 있다.

    일 실시예에서, 적어도 하나의 프로세싱 콤포넌트는 이하의 멀티채널 코딩 섹션에서 보다 구체적으로 웨이브폼 코딩 스테이지를 더 포함할 수 있다.

    일 실시예에서, 오디오 프로세싱 시스템은 레거시 플레이백 장치(legacy playback equipment)에 적합한 다운믹스 신호를 제공하도록 동작될 수 있다. 보다 구체적으로, 스테레오 다운믹스 신호는 다운믹스 신호의 제1 채널과 동일 상의 서라운드 채널 콘텐츠(surround channel content)를 추가하고, 제2 채널로 페이즈 쉬프트(예를 들어, 90도) 처리된 서라운드 채널 콘텐츠를 추가함으로써 획득될 수 있다. 이는, 플레이백 장치가 리버스 페이즈 쉬프트(reverse phase-shift) 및 감산 연산(subtraction operation)의 조합에 의해 서라운드 채널을 획득하도록 한다. 다운믹스 신호는 좌측-종합/우측-종합 다운믹스 신호를 수용하도록 구성된 플레이백 장치를 수용 가능하다. 바람직하게, 페이즈 쉬프트 기능은 오디오 프로세싱 시스템의 디폴트 세팅(default setting)은 아니지만, 오디오 프로세싱 시스템이 이러한 타입의 플레이백 장치를 지원하지 않는 다운믹스 신호를 가지는 경우에는 비활성화될 수 있다. 실제로, 페이즈 쉬프트된 서라운드 신호들의 복제가 미흡한 특별한 콘텐츠(content)가 있다; 특별히, 좌측 앞 서라운드 및 좌측 서라운드 간의 부분적인 패닝(panned)으로 인한 공간적 제한이 있는 소스(source)로부터 기록된 사운드는 좌측 앞 서라운드 및 좌측 서라운드 간에 위치한 스피커(speaker)에서는 기대한 만큼 감지되지 않으나, 공간적 위치가 잘 결정된 많은 리스너들(listeners)들에 대해서는 관계가 없다. 이러한 잡음은 서라운드 채널 페이즈 쉬프트의 비 디폴트 기능을 선택적으로 동작함으로써, 방지될 수 있다.

    일 실시예에서, 프론트-엔드 콤포넌트는 프리딕터, 스펙트럼 디코더, 애딩 유닛 및 역 평탄화 유닛을 포함한다. 이러한 구성들은 시스템이 음성-타입 신호를 처리할 때의 수행 능력을 향상시키고, 이는 음성 모드 코딩(voice mode coding)의 머리말에서 보다 구체적으로 설명될 것이다.

    일 실시예에서, 오디오 프로세싱 시스템은 오디오 비트스트림 내의 정보를 기반으로 적어도 하나의 추가적인 채널에 대한 Lfe 디코더를 더 포함할 수 있다. 바람직하게, Lfe 디코더는 오디오 비트스트림에 의해 전송되는 다른 채널들과는 별도로, 웨이브 폼 코딩된 저주파수 이펙트 채널(low-frequency effects channel)을 제공한다. 추가적인 채널이 재생된 오디오 신호의 다른 채널과 이산적(discretely)으로 코딩되는 경우, 관련된 프로세싱 절차는 오디오 프로세싱 시스템의 나머지 구성들로부터 독립일 수 있다. 각각의 추가적인 채널은 재생된 신호에서 전체 채널의 수를 추가되는 것으로 이해될 수 있고, 예를 들어, N = 5인 모드에서 동작하는 파라메트릭 구성이 제공되는 경우, 1개의 추가적인 채널이 있고, 재생되는 신호의 전체 채널수는 N + 1 = 6 이 될 수 있다.

    또 다른 실시예들은 상기의 오디오 프로세싱 시스템을 사용하는 경우 동작 수행과 관련된 단계를을 포함하는 방법 및 이러한 방법을 수행하도록 컴퓨터 프로그램 작동이 가능한 컴퓨터 프로그램 제품을 제공한다.

    본 발명의 개념은 오디오 신호를 상기에서 설명된 오디오 프로세싱 시스템(디코더 타입)에서의 디코딩에 적합한 포맷을 가지는 오디오 비트스트림으로 인코딩하는 인코더 타입 오디오 프로세싱 시스템과 보다 관련이 있다. 제1 발명 개념은 오디오 비트스트림을 이용한 인코딩 방법 및 컴퓨터 프로그램 제품을 보다 포함한다.

    도 1은 일 실시예에 따른 오디오 프로세싱 시스템(100)을 나타낸다. 코어 디코더(101)는 오디오 비트스트림을 수신하고, 적어도 역양자화 스테이지(dequantization stage)(102) 및 역 변환 스테이지(inverse transform stage)(103)를 포함하는 프론트-엔트 콤포넌트에 제공되는 양자화 스펙트럼 계수들(quantized spectral coefficients)을 출력한다. 몇몇의 실시예에서, 프론트-엔드 콤포넌트는 듀얼 모드 타입(dual-mode type)일 수 있다. 그러한 실시예에서, 프론트-엔드 콤포넌트는 일반 용도의 오디오 모드 및 특정 오디오 모드(예를 들어, 음성 모드 등) 중에서 선택적으로 동작할 수 있다. 프로세싱 스테이지는 분석 필터뱅트(analysis filterbank)(104)에 의해 업스트림의 종단 및 합성 필터뱅크(synthesis filterbank)(108)에 의해 다운스트림의 종단에서 프론트-엔드 콤포넌트의 다운스트림의 범위가 지정된다. 분석 필터뱅크(104) 및 합성 필터뱅크(108) 사이에 위치하는 콤포넌트들은 주파수 영역 프로세싱(frequency-domain processing)을 수행한다. 도 1의 제1 발명 개념에 대한 실시예에서는, 다음과 같은 콤포넌트들을 포함한다;

    ● 컴팬딩 콤포넌트(companding component)(105)

    ● 고주파수 재생(high frequency reconstruction), 파라메트릭 스테레오 및 업믹싱을 위한 결합된 콤포넌트(combined component)(106)

    ● 동적 범위 제어 콤포넌트(dynamic range control component)(107)

    콤포넌트(106)는 본 발명의 이하의 스테레오 코딩 섹션에서 설명되는 바와 같이 업믹싱의 일 예를 수행할 수 있다.

    오디오 프로세싱 시스템(100)의 프로세싱 스테이지의 다운스트림은 목표 샘플링 주파수(target sampling frequency)로 샘플링된 재생 오디오 신호를 제공하도록 구성된 샘플 레이트 컨버터(sample rate converter)(109)를 더 포함한다.

    다운스트림의 종단에서, 시스템(100)은 논-클립 컨디션(non-clip condition) 수행에 적합한 신호 리미팅 콤포넌트(signal-limiting component)(도시되지 않음)를 선택적으로 포함할 수 있다.

    아울러, 선택적으로 시스템(100)은 하나 또는 그 이상의 추가적인 채널들(예를 들어, 저주파수 이펙트 채널(low-frequency effects channel)을 제공하기 위한 병렬 프로세싱 패스(parallel processing path)를 포함할 수 있다. 병렬 프로세싱 절차는 오디오 비트스트림 또는 오디오 비트스트림의 일부를 수신하고, 재생되는 오디오 신호에 추가적인 채널(들)이 삽입되도록 배치되는 Lfe 디코더로 실행될 수 있다.

    도 2는 도 1에 도시된 오디오 프로세싱 시스템의 관련 레이블(labelling)에 대한 2개의 모노 디코딩 모드(mono decoding mode)들을 나타낸다. 보다 구체적으로, 도 2는 디코딩하는 동안 활성화되고 오디오 비트스트림을 기반으로 재생 오디오 신호(모노)에 대해 동작하는 프로세싱 절차를 나타내는 시스템 콤포넌트를 나타낸다. 도 2의 프로세싱 절차들은 논 클립 컨디션을 만족하도록 신호 값들(signal values)을 다운스케일(downscale)하도록 배치된 최종 신호 리미팅 콤포넌트(final signal-limiting component)("Lim")를 더 포함하는 것으로 나타나있다. 도 2의 상위 디코딩 모드는 고주파수 재생을 사용하고, 반면 도 2의 하위 디코딩 모드는 완전히 웨이브 폼 코딩된 채널(waveform-coded channel)을 디코딩한다. 따라서, 하위 디코딩 모드에서 고주파수 재생 콤포넌트("HFR")는 HFR 콤포넌트의 알고리즘 딜레이와 동일한 딜레이를 발생시키는 딜레이 스테이지(delay stage("Delay")에 의해 대체되었다.

    도 2의 하위 파트에 제안한 바와 같이, 프로세싱 스테이지("QMF", "Delay", "DRC", "QMF -1 ")은 모두 생략(bypass) 가능하다; 이는, 신호에 대해 동적 범위 제어(DRC) 프로세싱이 수행되는 것이 아닌 경우, 적용 가능하다. 프로세싱 스테이지의 생략은 QMF 부분합성에 의한 QMF 분석으로 인한 잠재적인 신호 저하를 제거한다. 바이패스(생략되는) 라인은 프로세싱 스테이지의 전체(알고리즘) 딜레이와 동일한 양만큼 딜레이되도록 구성된 제2 딜레이 라인 구성을 포함한다.

    도 3은 두 개의 파라메트릭 스테레오 디코딩 모드들을 나타낸다. 두 개의 모드들에서, 스테레오 채널들은 제1 채널에 고주파수 재생을 적용하고, 여기서 사용된 역상관기(decorrelator)("D")의 역상관 버전(decorrelated version)을 산출하여 획득되고, 스테레오 신호를 획득하기 위해 획득된 두 개의 스테레오 채널을 선형 결합(linear combination)한다. 선형 결합은 DRC 구성의 업스트림의 업믹스 스테이지("Upmix")에 의해 산출된다. 모드들 중 하나(도면의 아래에 도시된)에서, 오디오 비트스트림은 두 채널에 대하여 추가적으로 웨이브폼 코딩된 저주파수 콘텐츠(빗금친 부분 "\\\")를 전송한다. 남은 모드에 대한 구체적인 설명 및 본 발명의 관련된 섹션들은 도 7 내지 10에 의해 설명된다.

    도 4는 별도로 코딩된 채널들에 대해 완전히 웨이브폼 코딩된 스테레오 신호를 처리하는 오디오 프로세싱 시스템의 디코딩 모드를 나타낸다. 이는, 하이 비트레이트 스테레오 모드(high-bitrate stereo mode)이다. DRC 프로세싱이 필요하지 않은 경우, 프로세싱 스테이지는 각각의 딜레이 스테이지들을 가지는 두 개의 바이패스 라인을 사용하여 전체가 생략될 수 있다. 딜레이 스테이지들은 바람직하게 서로 다른 디코딩 모드들일 경우, 해당하는 프로세싱 스테이지에 대하여 동일한 딜레이를 발생시킨다.

    도 5는 스펙트럼 밴드 복제 이후, 매개 변수를 통한 3개의 채널 업믹싱 다운믹스 신호에 의해 5개의 채널을 제공하는 오디오 프로세싱 시스템의 디코딩을 나타낸다. 앞서 말한 바와 같이, 이는 채널들(빗금친 부분 "/ / /") 중 2개의 함께 코딩하는 것에 유리하고, 오디오 프로세싱 시스템은 바람직하게 이러한 특징으로 비트스트림을 처리하도록 설계된다. 이러한 목적을 위해, 오디오 프로세싱 시스템은 2개의 리시빙 섹션(receiving section)들, 채널 쌍 요소를 디코딩하도록 구성된 하위 부분 및 나머지 채널(빗금친 부분 "\\\")을 디코딩하기 위한 상위 부분을 포함한다. QMF 영역의 고주파수 재생 이후, 채널 쌍의 각 채널들은 별도로 역상관(decorrelated) 처리된다. 즉, 제1 업믹스 스테이지는 제1 채널의 제1 선형 결합을 형성하고 이에 대한 버전으로 역상관 처리를 수행하고, 제2 업믹스 스테이지는 제2 채널의 제2 선형 결합을 형성하고 이에 대한 버전으로 역상관 처리를 수행한다. 이러한 절차의 구체적인 내용 및 본 발명의 관련된 섹션은 도 7 내지 10에 의해 구체적으로 설명된다. QMF 부분합성 이전에 5개의 채널 모두는 DRC 처리된다.

    오디오 모드 코딩

    도 6은 인코딩된 오디오 비트스트림 P를 수신하고, 최종 출력으로 도 6에 도시된 바와 같이, 스테레오 베이스밴드 신호 L, R의 쌍으로 오디오 신호를 재생하는 오디오 프로세싱 시스템(100)의 일반적인 블록도이다. 이 실시예에서, 비트스트림 P는 양자화, 트랜스폼 코딩된 두 개의 채널 오디오 데이터를 포함하는 것으로 가정할 수 있다. 오디오 프로세싱 시스템(100)은 통신 네트워크(communication network), 무선 리시버(wireless receiver) 또는 메모리(memory)(도시되지 않음)로부터 오디오 비트스트림 P를 수신할 수 있다. 시스템(100)의 출력은 플레이백을 위한 확성기로 제공될 수 있고, 또는 통신 네트워크 또는 무선 링크를 통해 더 전송하거나 메모리에 저장하기 위해 동일한 포맷 또는 다른 포맷으로 재인코딩 될 수도 있다.

    오디오 프로세싱 시스템(100)은 비트스트림 P를 양자화된 스펙트럼 변수들 및 제어 데이터로 디코딩하기 위한 디코더(108)를 포함한다. 이하에서 보다 구체적으로 논의되는 프론트-엔드 콤포넌트(110)에 대한 구조는 이러한 스펙트럼 변수들을 역양자화(dequantize)되고, 프로세싱 스테이지(120)에 의해 처리되기 위한 중간 오디오 신호의 시간 영역 표현을 제공한다. 중간 오디오 신호는 분석 필터뱅크들(122 L , 122 R )에 의해 제2 주파수 영역으로 변환 처리되고, 이는 앞서 말한 변환 코딩과 다르다; 제2 주파수 영역 표현은 분석 필터뱅크들(122 L , 122 R )이 QMF 필터뱅크들로 제공되는 경우, QMF 부분일 수 있다. 고주파수 재생을 위한 분석 필터뱅크들(122 L , 122 R )의 다운스트림, 스펙트럼 밴드 복제(SBR) 모듈(124) 및 동적 범위 제어(DRC) 모듈(126)은 중간 오디오 신호의 주파수 영역 표현을 처리한다. 이렇게 하여, 분석 필터뱅크들(128 L , 128 R )의 다운스트림은 오디오 신호의 시간 영역 표현을 생성한다. 당업자는 본 문헌을 연구한 이후, 스펙트럼 밴드 복제 모듈(124) 및 동적 범위 제어 모듈(126)은 본 발명의 필수 구성이 아니라는 것을 알 수 있고, 반대로, 또 다른 실시예에 따른 오디오 프로세싱 시스템은 프로세싱 스테이지(120) 내에 추가적이거나 대안적인 모듈들을 포함할 수 있다는 것을 알 수 있다. 프로세싱 스테이지(120)의 다운스트림, 샘플 레이트 컨버터(130)는 처리된 오디오 신호의 샘플링 레이트를 예정된 플레이백 장치에 설계된 44.1kHz 또는 48kHz와 같이 요구되는 오디오 샘플링 레이트로 조정하도록 동작 가능하다. 이는, 출력에서 적은 양의 잡음을 가지는 샘플 레이트 컨버터(130)를 설계하는 방법으로 알려져 있다. 샘플 레이트 컨버터(130)는 샘플링 레이트 컨버젼이 필요없는 경우, 즉, 프로세싱 스테이지(120)는 이미 목표 샘플링 주파수로 처리된 오디오 신호를 처리하는 경우 비활성화 상태가 될 수 있다. 샘플 레이트 컨버터(130)의 다운 스트림에 배치된 선택적 신호 리미팅 모듈(optional signal limiting module)(140)은 필요에 따라, 논-클립 컨디션에 따라, 즉, 특별히 준비된 플레이백 장치를 고려하여 베이스밴드 신호 값을 제한하도록 구성된다.

    도 6의 하위 부분에 나타난 바와 같이, 프론트-엔드 콤포넌트(110)는 서로 다른 블록 사이즈들의 몇몇 모드들 중 하나에서 동작되는 역양자화 스테이지(dequantize stage)(114) 및 서로 다른 블록 사이즈들에서 동작하는 역 변환 스테이지(118 L , 118 R )를 포함한다. 바람직하게, 역양자화 스테이지(114) 및 역 변환 스테이지(118 L , 118 R )의 모드 전환은 동시에 발생(synchronous)하고, 따라서, 블록 사이즈는 제 시간의 모든 시점에 매칭된다. 이러한 콤포넌트들의 업스트림에 대하여, 프론트-엔드 콤포넌트(110)는 제어 데이터로부터 양자화된 스펙트럼 계수들을 분리하기 위한 디멀티플렉서(demultiplexer)(112)를 포함하고; 일반적으로, 이는 제어 데이터를 역 변환 스테이지(118 L , 118 R )로 전달하고, 양자화된 스펙트럼 계수들(및 선택적으로 제어 데이터)을 양자화 스테이지(114)로 전달한다. 퀀타이즈 스테이지(114)는 양자화 인덱스들(일반적으로, 정수로 표현됨) 중 하나의 프레임에서 스펙트럼 계수들(일반적으로, 부동 소수점 수(floating-point number)로 표현됨) 중 하나의 프레임으로의 매핑을 수행한다. 각 양자화 인덱스는 양자화 레벨(quantization level)(또는 재생 포인트)과 관련이 있다. 앞서 논의한 바와 같이, 오디오 비트스트림이 균등하지 않은 양자화(non-uniform quantization)를 사용하는 것으로 가정하면, 양자화 인덱스에 대한 주파수 밴드가 명시되지 않는다면 상기 관계가 유일한 것은 아니다. 다시 말하면, 양자화는 각 주파수 밴드에 따라 다른 코드북을 따를 수 있고, 코드북들의 세트는 프레임 길이 및/또는 비트레이트의 기능에 따라 다양할 수 있다. 도 6에서, 세로축은 주파수, 가로축은 단위 주파수당 할당된 코딩 비트의 양을 나타내도록 개략적으로 도시되었다. 주파수 밴드는 일반적으로 높은 주파수일수록 넓고, 내부 샘플링 주파수 f 1 의 절반이 끝이다. 내부 샘플링 주파수는 샘플 레이트 컨버터(130)에서의 샘플링 결과에 따라, 수치적으로 다른 실제 샘플링 주파수 예를 들어, 4.3%의 업샘플링은 f 1 = 46.0.4kHz은 근접한 실제 주파수 48kHz에 맵핑될 수 있고, 동일한 요인에 의해 더 낮은 주파수 밴드 경계가 증가될 수 있다. 또한, 도 6에 제안한 바와 같이, 오디오 비트스트림을 처리하는 인코더는 일반적으로 코딩 신호의 컴플렉시티(complexity) 및 사람의 청각의 민감도(sensitivity) 변화에 기초하여 서로 다른 주파수 밴드에 서로 다른 코딩 비트의 양을 할당한다.

    오디오 프로세싱 시스템(100), 특히 프론트-엔드 콤포넌트(110)의 동작 모드들에 대한 양자화 데이터 특징은 표 1에 주어진다.

    표 1의 강조된 3개(볼드체)의 부분은 조절 가능한 양들(quantities)의 값이고, 여기서 나머지 양들은 이 값들에 의해 의존되다. 이상적인 리샘플링(SRC) 요소는 (24/25) × (1000/1001)

    0.9560, 24/25 = 0.96 이고, 1000/1001 0.9990 이다. 표 1에 작성된 SRC 요소 값은 프레임 레이트 값에 따라 균등하다. 리샘플링 요소 1.000 은 정확하고, SRC(130)가 비활성화되는 것이나 아예 없는 것과 대응된다. 일 실시예에서, 오디오 프로세싱 시스템(100)은 표 1의 목록과 동일한 하나 또는 그 이상의 서로 다른 프레임 길이를 가지는 적어도 두 개의 모드들에서 동작 가능하다.

    프론트-엔드 콤포넌트의 프레임 길이가 1920 샘플들의 세트인 AD 의 모드들은 프레임(오디오) 레이트 23.976, 24.000, 24.975 및 25.000Hz를 다루기 위해 사용되고, 광범위한 코딩 포맷들의 비디오 프레임 레이트들을 정확하게 매칭하기 위해 선택된다. 서로 다른 프레임 길이들로 인해, AD 의 모드에서 내부 샘플링 주파수(프레임 레이트 × 프레임 길이)는 약 46.034kHz부터 48.000kHz까지 다양하다; 크리티컬 샘플링 및 고르게 분포된 주파수 빈(frequency bins), 이는 11.988Hz부터 12.500Hz(내부 샘플링 주파수의 절반 / 프레임 길이)까지 빈 폭(bin width) 값들과 일치한다. 내부 샘플링 주파수들의 제한(프레임 레이트의 변화 범위가 약 5%이므로, 약 5%임)에 대한 변화로 인해, 들어오는 오디오 비트스트림의 실제 샘플링 주파수가 정확하지 않음에도 불구하고, 오디오 프로세싱 시스템(100)은 적절한 출력의 질을 배출하는 것으로 판단된다.

    프론트-엔드 콤포넌트(110)의 지속적인 다운스트림에 대해, 분석 필터뱅크(QMF)(122)는 AD의 전체 모드에서 64 밴드를 가지고, 또는 QMF 프레임당 30 샘플들을 가진다. 실제적인 측면에서, 이는 각 분석 주파수 밴드의 다양한 폭과 다소 부합되나, 이는 무시될 수 있으므로, 다시 제한될 수 있다; 특히, SBR 및 DRC 프로세싱 모듈들(124, 126)은 출력의 질에 손상없는 현재 모드에 대해 무관하다. 그러나, SRC(130)는 모드 의존적이고, 처리된 오디오 신호의 각 프레임을 보장하기 위한 특정한 리샘플링 요소 - 목표 외부 샘플링 주파수와 내부 샘플링 주파수의 몫을 매칭하기 위해 선택된 - 는 실제적인 단위 48kHz의 목표 외부 샘플링 주파수에 부합되는 많은 샘플들을 포함한다.

    AD의 각 모드에서, 오디오 프로세싱 시스템(100)은 비디오 프레임 레이트 및 외부 샘플링 주파수를 정확하게 매칭한다. 오디오 프로세싱 시스템(100)은 그 후, 멀티미디어 비트스트림들의 오디오 파트들을 다룰 수 있고, 여기서 A11, A12, A13, ...; A22, A23, A24, ...의 오디오 프레임들 및 V11, V12, V13, ...; V22, V23, V24 의 비디오 프레임들은 각 스트림에서의 시간이 일치한다. 이로써, 리딩 스트림(leading stream)에서 비디오 프레임과 관련된 오디오 프레임을 삭제함으로써, T1, T2 스트림들의 동시성을 향상시킬 수 있다. 그 대신에, 오디오 프레임 및 래깅 스트림(lagging stream)에서 관련된 비디오 프레임은 복제되고, 본래 위치의 다음에 삽입하여, 가능한 감지되는 잡음을 감소시키기 위한 보간 조치를 적용한다.

    29.97Hz 및 30.00Hz의 프레임 레이트를 다루기 위한 EF 의 모드들은 제2의 서브 그룹으로 판단될 수 있다. 앞서 설명한 바와 같이, 오디오 데이터의 양자화는 약 48kHz의 내부 샘플링 주파수를 위해 적응(최적화)되어 있다. 따라서, 각 프레임이 짧을수록, 프론트-엔드 콤포넌트(110)의 프레임 길이는 더 작은 1536 샘플들로 설정되므로, 46.04 및 46.080kHz의 내부 샘플링 주파수가 된다. 분석 필터뱅크(122)가 64 주파수 밴드에 대하여 모드 독립적인 경우, 각 QMF 프레임은 24 샘플들을 포함한다.

    유사하게, 50Hz 및 60Hz(표준 텔레비전 포맷의 리프레쉬(refrash) 레이트의 두 배에 부합되는)에서 또는 120Hz의 프레임 레이트들은 각각 GI 의 모드들(960 프레임 길이 샘플들), JK의 모드들(768 프레임 길이 샘플들) 및 L의 모드(384 프레임 길이 샘플들)들에 의해 담당된다. 각 경우에서, 오디오 비트스트림이 생성된 양자화의 어떠한 음향적인 튜닝도 적어도 거의 유효하게 유지하기 위해, 48kHz와 가깝게 내부 샘플링 주파수가 유지된다. 64 밴드 필터뱅크의 각 QMF 프레임 길이들은 15, 12 및 6 샘플들일 수 있다.

    말한 바와 같이, 오디오 프로세싱 시스템(100)은 오디오 프레임들을 더 작은 서브프레임들로 세분화하기 위해 동작할 수 있다; 이렇게 동작하는 이유는 오디오 과도(transients)를 보다 효율적으로 캡쳐하기 위함이다. 48kHz의 샘플링 주파수 및 표 1에 주어진 설정들에 대하여, 하기의 표 2 내지 4는 2, 4, 8 및 16개의 서브프레임들로 세분화함에 따른 빈 폭 및 프레임 길이들을 나타낸다. 표 1에 따른 설정들은 시간 및 주파수 해상도(resolution)의 현저한 균형을 성취할 것으로 믿어진다.

    프레임의 세분화에 대한 결정은 오디오 인코딩 시스템(도시되지 않음)과 같은, 오디오 비트스트림에 처리에 대한 과정의 부분으로 여겨질 수 있다. 표 1의 M 의 모드에 도시된 바와 같이, 오디오 프로세싱 시스템(100)은 96kHz의 증가된 외부 샘플링 주파수 및 QMF 프레임당 30 샘플들에 해당하는 128 QMF 밴드에서 동작할 수 있다. 외부 샘플링 주파수는 내부 샘플링 주파수와 우연히 동시에 발생하는 경우로 인해, SRC 요소는 리샘플링이 필요하지 않는 통합 상태가 된다.

    멀티 채널 코딩(Multi-channel coding)

    이 섹션에서 사용되는 오디오 신호는 퓨어 오디오 신호(pure audio signal)일 수 있고, 시청각적인 신호 또는 멀티미디어 신호의 오디오 파트 또는 메터데이터를 가지는 이러한 것들의 조합일 수도 있다.

    이 섹션에서 사용되는 신호들에 대한 복수의 다운믹싱은 복수의 신호들 조합을 의미하고, 예를 들어, 선형 결합과 같이 더 적은 수의 신호들을 획득하기 위한 것을 의미한다.

    도 7은 인코딩된 채널들 M을 재생하는 멀티-채널 오디오 프로세싱 시스템에서 디코더(100)의 일반적인 블록도이다. 디코더(100)은 3개의 개념적인 파트(200, 300, 400)로 구성되고, 이는 이하에서 도 17 내지 19와 접목되어 보다 구체적으로 설명될 것이다. 제1 개념 파트(200)에서, 인코더는 디코딩될 멀티-채널 오디오 신호를 나타내는 웨이브폼 코딩 다운믹스 신호 N 및 웨이브폼 코딩 신호 M을 수신하고, 여기서 1 < N < M의 관계를 가진다. 도면의 예에서 N은 2로 설정된다. 제2 개념 파트(300)에서, 웨이브폼 코딩된 신호 M은 다운믹스되고 웨이브폼 코딩 다운믹스 신호 N과 결합된다. 그후에, 고주파수 재생(HFR)은 결합된 다운믹스 신호들에 대하여 수행된다. 제3 개념 파트(400)에서, 고주파수 재생 신호들은 업믹스되고, 웨이프폼 코딩 신호 M은 인코딩 채널들 M을 재생하기 위해 업믹스 신호들과 결합된다.

    도 8 내지 10과 접목되어 설명된 실시예에서, 인코딩 5.1 서라운드 사운드의 재생이 설명되었다. 설명된 실시예 또는 도면들에서 저주파수 이펙트 신호(low frequency effect signal)은 언급되지 않았다는 것을 알 수 있다. 이는, 저주파수 이펙트들이 간과된다는 뜻은 아니다. 저주파수 이펙트(Lfe)는 당업자에게 잘 알려진 적절한 방법으로 5채널들의 재생을 위해 추가된다. 또한, 설명된 디코더는 7.1 또는 9.1 서라운드 사운드와 같은 인코딩 서라운드 사운드의 다른 타입에 동일하게 적합하다는 것을 알 수 있다.

    도 8은 도 7에 도시된 디코더(100)의 제1 개념 파트(200)를 나타낸다. 디코더는 두 개의 리시빙 스테이지(212, 214)로 구성된다. 제1 리시빙 스테이지(212)에서, 비트스트림(202)는 디코딩되고, 두 개의 웨이브폼 코딩 다운믹스 신호들(208a, 208b)로 역양자화(dequantized) 된다. 두 개의 웨이브폼 코딩 다운믹스 신호들(208a, 208b) 각각은 제1 크로스-오버 주파수 k y 및 제2 크로스-오버 주파수 k x 사이의 주파수들과 대응되는 스펙트럼 계수들로 구성될 수 있다.

    제2 리시빙 스테이지(214)에서, 비트스트림(202)는 디코딩되고, 5개의 웨이브폼 코딩 신호(210a, 210b, 210c, 210d, 210e)로 역양자화된다. 5 개의 웨이브폼 코딩 다운믹스 신호들(210a, 210b, 210c, 210e) 각각은 제1 크로스-오버 주파수 k x 까지의 주파수들에 대응되는 스펙트럼 계수들로 구성된다.

    일 예로, 신호들(210a, 210b, 210c, 210d, 210e)은 중심 채널에 대해 두 개의 채널 쌍 요소 및 하나의 채널 요소로 구성된다. 채널 쌍 요소는 예를 들어, 좌측 앞 및 좌측 서라운드 신호의 조합 및 우측 앞 및 우측 서라운드 신호의 조합일 수 있다. 추가적인 예로, 좌측 앞 및 우측 앞 신호들의 조합과 좌측 서라운드 신호 및 우측 서라운드 신호의 조합일 수 있다. 이러한 채널 쌍 요소들은 예를 들어, 합-차 포맷으로 디코딩될 수 있다. 5개의 신호들(210a, 210b, 210c, 210d, 210e)는 모두 독립적인 윈도윙을 가지는 오버랩핑 윈도우 트랜스폼을 이용하여 코딩될 수 있고, 이는 물론 디코더에 의해 디코딩 가능할 수 있다. 이는, 코딩 질 및 디코딩 신호의 질을 향상시킬 수 있다.

    일 예로, 제1 크로스-오버 주파수 k y 는 1.1kHz 이다. 일 예로, 제2 크로스-오버 주파수 k x 는 5.6 내지 5.8kHz의 범위에 있다. 제1 크로스-오버 주파수 k y 는 각각의 신호에 대하여 다양할 수 있다, 즉 인코더는 특정 출력 신호의 신호 콤포넌트가 스테레오 다운믹스 신호들(208a, 208b)에 의해 정확하게 재생되지 않은 것을 감지할 수 있고, 특정 타임 인스턴스에 대해 대역폭을 증가시킬 수 있다, 즉 웨이브폼 코딩 신호(210a, 210b, 210c, 210d, 210e)와 관련된 제1 크로스-오버 주파수 k y 가 신호 콤포넌트의 웨이브폼 코딩에 적절하도록 증가시킬 수 있다.

    본 문헌에서 이후에 설명되는 바와 같이, 인코더(100)의 나머지 구성들은 일반적으로 QMF 영역에서 동작할 수 있다. 이러한 이유로, MDCT(modified discrete cosing transform) 형태로 수신하는 제1 및 제2 리시빙 스테이지(212, 214)에 의해 수신된 신호들(208a, 208b, 210a, 210b, 210c, 210d, 210e)은 역 MDCT(216) 처리를 통해 시간 영역으로 트랜스폼된다. 그 후, 각 신호는 QMF 트랜스폼(218)을 통해 다시 주파수 영역으로 트랜스폼 된다.

    도 9에서, 5개의 웨이브폼 코딩된 신호(210)는 다운믹스 스테이지(308)에서, 제1 크로스-오버 주파수 k y 까지의 주파수들에 대응되는 스펙트럼 계수들로 구성된 두 개의 다운믹스 신호들(310, 312)로 다운믹스된다. 이러한 다운믹스 신호들(310, 312)은 도 8에 도시된 인코더에서 두 개의 다운믹스 신호(208a, 208b)를 생성하기 위해 사용된 다운믹싱 방법과 동일한 방법으로 로우패스 멀티 채널 신호들(210a, 210b, 210c, 210d, 210e)에 대해 다운믹스를 수행함으로써, 형성될 수 있다.

    그 후, 두 개의 새로운 다운믹스 신호들(310, 312)은 결합된 다운믹스 신호들(302a, 302b)을 형성하기 위해 제1 결합 스테이지(320, 322)에서 각각 대응되는 다운믹스 신호(208a, 280b)와 결합된다. 이렇게하여, 결합된 다운믹스 신호들(302a, 302b)은 다운믹스 신호들(310, 312)로부터 비롯된 제1 크로스-오버 주파수 k y 까지의 주파수들에 대응되는 스펙트럼 계수들 및 제1 크로스-오버 주파수 k y 및 제1 리시빙 스테이지(212)(도 8에 도시된)에서 수신된 두 개의 웨이브폼 코딩 다운믹스 신호들(208a, 208b)로부터 비롯된 제2 크로스-오버 주파수 k x 까지의 주파수들에 대응되는 스펙트럼 계수들로 구성된다.

    인코더는 고주파수 재생(HFR)(314)을 더 포함한다. HFR 구성은 고주파수 재생의 수행을 통해, 결합 구성부터 제2 크로스-오버 주파수 k x 위의 주파수 범위까지 두 개의 결합된 다운믹스 신호들(302a, 302b) 각각을 확장하도록 구성된다. 고주파수 재생의 수행은 몇 실시예에 따르면, 스펙트럼 밴드 복제(SBR) 수행을 포함한다. 고주파수 재생은 HFR 스테이지(314)를 통해 적절한 방법으로 수신된 고주파수 재생 파라미터들을 이용함으로써, 수행될 수 있다.

    고주파수 재생 스테이지(314)로부터의 출력은 HFR 확장(316, 318)이 적용된 다운믹스 신호들(208a, 208b)을 포함하는 두 개의 신호들(304a, 304b)이다. 앞서 설명한 바와 같이, HFR 스테이지(314)는 제2 리시빙 스테이지(214)(도 8에 도시된)로부터 두 개의 다운믹스 신호들(208a, 208b)이 결합된 입력 신호(210a, 210b, 210c, 210d, 210e)로 나타나는 주파수들을 기반으로 고주파수 재생을 수행한다. 다소 간추리자면, HFR 범위(316, 318)는 다운믹스 신호들(310, 312)부터 복사된 HFR 범위(316, 318)까지의 스펙트럼 계수들의 파트들을 포함한다. 결과적으로, 5개의 웨이브폼 코딩 신호들(210a, 210b, 210c, 210d, 210e)의 파트들은 HFR 스테이지(314) 출력(304)의 HFR 범위(316, 318) 내에 나타날 수 있다.

    고주파수 재생 스테이지(314)에 앞서는, 다운믹싱 스테이지(308)에서의 다운믹싱 및 제1 결합 스테이지(320, 322)에서의 결합은 시간 영역 즉, 각 신호들이 역 MDCT(216)을 통해 시간 영역으로 트랜스폼된 이후에, 시간 영역에서 수행될 수 있다. 그러나, 주어진 웨이브폼 코딩 신호(210a, 210b, 210c, 210d, 210e) 및 웨이브폼 코딩 신호들(208a, 208b)은 독립적인 윈도윙을 가지는 오버랩핑 윈도윙 트랜스폼을 이용하는 웨이브폼 코더에 의해 코딩될 수 있고, 신호들(210a, 210b, 210c, 210d, 210e, 208a, 208b)은 시간 영역에서 균일하게 결합되지 않을 수 있다. 따라서, 적어도 제1 결합 스테이지(320, 322)에서의 결합이 QMF 영역에서 이루어지면 보다 나은 경우가 될 수 있다.

    도 10은 디코더(100)의 제3 및 마지막 개념적 파트(400)를 나타낸다. HFR 스테이지(314)로부터의 출력(304)은 업믹스 스테이지(402)로의 입력으로 여겨진다. 업믹스 스테이지(420)는 확장된 신호들(304a, 304b) 주파수로 파라메트릭 업믹스 수행을 통해 5개의 신호 출력(404a, 404b, 404c, 404d, 404e)을 생성한다. 5개의 업믹스 신호들(404a, 404b, 404c, 404d, 404e) 각각은 제1 크로스-오버 주파수 k y 위의 주파수 들에 대한 5.1 서라운드 사운드로 인코딩된 5개의 인코딩 채널들 중 하나와 대응된다. 바람직한 파라메트릭 업믹스 절차에 따르면, 업믹스 스테이지(402)는 우선 파라메트릭 믹싱 파라미터들을 수신한다. 이후, 업믹스 스테이지(402)는 결합된 다운믹스 신호들(304a, 304b)을 확장하는 두 개의 주파수 역 상관 버전들(decorrelated versions)을 생성한다. 이후, 업믹스 스테이지(402)는 두 개의 주파수 확장된 결합된 다운믹스 신호들(304a, 304b) 및 두 개의 주파수 확장된 결합된 다운믹스 신호들(304a, 304b)을 매트릭스 연산하기 위한 역 상관 버전들을 처리하고, 여기서 매트릭스 연산의 파라미터들은 업믹스 파라미터들로 주어진다. 대안적으로, 해당 기술분야에서 알려진 어떠한 다른 파라메트릭 업믹싱 절차도 적용될 수 있다. 적용 가능한 파라메트릭 업믹싱 절차들은 "MPEG Surround-The ISO/MPEG Standard for Efficient and Compatible Multichannel Audio Coding"(Herre et al., Journal of the Audio Engineering Society, Vol. 56, No. 11, 2008 November)에서 예를 들어 설명되고 있다.

    그러므로, 스테이지(402)로부터의 출력(404a, 404b, 404c, 404d, 404e)은 제1 크로스-오버 주파수 k y 아래의 주파수들은 포함하지 않는다. 제1 크로스-오버 주파수 k y 까지의 주파수들에 대응되는 나머지 스펙트럼 계수들은 업믹스 신호(404)의 시간을 매칭시키기 위한 딜레이 스테이지(412)의 딜레이된 5개의 웨이브폼 코딩 신호들(210a, 210b, 210c, 210d, 210e)에 존재한다.

    인코더(100)는 제2 결합 스테이지(416, 418)를 더 포함한다. 제2 결합 스테이지(416, 418)는 5개의 업믹스 신호들(404a, 404b, 404c, 404d, 404e)을 제2 리시빙 스테이지(214)(도 8에 도시된)로부터 수신된 5개의 웨이브폼 코딩 신호들(210a, 210b, 210c, 210d, 210e)과 결합하도록 구성된다.

    현재의 Lfe 신호들은 별도의 신호로써, 결합된 신호(422)로 추가된다. 이후, 신호들(422) 각각은 역 QMF 트랜스폼(420)을 통해 시간 영역으로 트랜스폼 처리된다. 그 결과, 역 QMF 트랜스폼(414)으로부터의 출력은 5.1 채널 오디오 신호로 완전히 디코딩된다.

    도 11은 도 7의 디코딩 시스템(100)의 변형인 디코딩 시스템(100')을 나타낸다. 디코딩 시스템(100')은 도 7의 개념적 파트(100, 200, 300)와 대응되는 개념적 파트(200', 300', 400')를 가진다. 도 11의 디코딩 시스템(100')과 도 7의 디코딩 시스템의 차이는 개념적 부분(200')에 제3 리시빙 스테이지(616) 및 제3 개념적 파트(400')에 인터리빙 스테이지(714)가 있다는 것이다.

    제3 리시빙 스테이지(616)는 웨이브폼 코딩 신호를 수신하도록 구성된다. 웨이브폼 코딩 신호는 제1 크로스-오버 주파수 위의 주파수들의 서브세트에 대응되는 스펙트럼 계수들을 포함한다. 더욱이, 웨이브폼 코딩 신호는 역 MDCT(216)을 통해, 시간 영역으로 트랜스폼 처리될 수 있다. 이후, 웨이브폼 코딩 신호는 QMF 트랜스폼(218)을 통해, 주파수 영역으로 다시 트랜스폼 처리될 수 있다.

    또한, 웨이브폼 코딩 신호는 별도의 신호로 수신되는 것으로 이해될 수 있다. 그러나, 또한 웨이브폼 코딩 신호는 또한 5개의 웨이브폼 코딩 신호들(210a, 210b, 210c, 210d, 210e)의 하나 또는 그 이상의 일부로 형성될 수 있다. 다시 말해, 웨이브폼 코딩 신호는, 예를 들어, 동일한 MCDT 트랜스폼을 이용하여 5개의 웨이브폼 코딩 신호들(210a, 210b, 210c, 210d, 210e)의 하나 또는 그 이상에 대하여 공동으로 코딩될 수 있다. 만일 그렇다면, 제3 리시빙 스테이지(616)는 즉, 제2 리시빙 스테이지(214)를 통해 5개의 웨이브폼 코딩 신호를 함께 수신하는 제2 리시빙 스테이지와 대응된다.

    도 12는 도 11에 도시된 디코더(100')의 제3 개념적 파트(300')를 보다 구체적으로 나타낸다. 웨이브폼 코딩 신호(710), 고주파수 확장 다운믹스 신호(304a, 304b) 및 5개의 웨이브폼 코딩 신호(210a, 210b, 210c, 210d, 210e)는 제3 개념적 파트(400')의 입력이다. 도시된 예에서, 웨이브폼 코딩 신호(710)는 5개의 채널 중 제3 채널과 대응된다. 더욱이, 웨이브폼 코딩 신호(710)는 제1 크로스-오버 주파수 k y 로부터 인터벌 시작점(interval starting)까지의 주파수에 대응되는 스펙트럼 계수들을 포함한다. 그러나, 웨이브폼 코딩 신호(710)에 의해 해당하는 제1 크로스-오버 주파수 위의 주파수 범위의 서브세트 형태는 다른 실시예에서 물론 다양할 수 있다. 또한, 복수의 웨이브폼 코딩 신호들(710a, 710b, 710c, 710d, 710e)이 수신되는 것을 알 수 있고, 여기서 서로 다른 웨이브폼 코딩 신호들은 서로 다른 출력 채널들에 대응될 수 있다. 복수의 웨이브폼 코딩 신호들(710a, 710b, 710c, 710d, 710e)에 해당하는 주파수 범위의 서브세트는 복수의 웨이브폼 코딩 신호들(710a, 710b, 710c, 710d, 710e)들 중 서로 다른 신호들 간에는 다양할 수 있다.

    더욱이, 웨이브폼 코딩 신호(710)는 스테이지(420)로부터의 출력인 업믹스 신호들(404)의 타이밍과 매칭하기 위한 딜레이 스테이지(712)에 의해 딜레이될 수 있다. 이후, 업믹스 신호들(404) 및 웨이브폼 코딩 신호(710)는 인터리브 스테이지(interleave stage)(714)로 입력된다. 즉, 인터리브 스테이지(714)는 인터리빙 처리된 신호(704) 만들어내기 위해 업믹스 신호들(404)을 웨이브폼 코딩 신호(710)와 결합한다. 현재 예에서, 인터리빙 스테이지(714)는 제3 업믹스 신호(404c)와 웨이브폼 코딩 신호(710)를 인터리빙 처리한다. 인터리빙 처리는 두 개의 신호들을 함께 더함으로써 수행될 수 있다. 그러나, 일반적으로 인터리빙 처리는 신호들이 오버랩되는 주파수 범위 및 시간 범위에서 업믹스 신호들(404)을 웨이브폼 코딩된 신호(710)로 교체함으로써 수행된다.

    이후, 인터리브 처리된 신호(704)는 제2 결합 스테이지(416, 418)로 입력되고, 도 19를 참조하여 설명되는 바와 같은 방법으로, 출력 신호(722)를 발생시키기 위해 웨이브폼 코딩 신호들(210a, 210b, 210c, 210d, 210e)과 결합된다. 인터리브 스테이지(714) 및 제2 결합 스테이지(416, 418)의 순서는 인터리빙 처리되기 전에 수행되도록 바뀔 수 있다.

    또한, 웨이브폼 코딩 신호(710)가 5개의 웨이브폼 코딩 신호들(210a, 210b, 210c, 210d, 210e) 중 하나 또는 그 이상의 파트를 형성하는 경우, 제2 결합 스테이지(416, 418) 및 인터리브 스테이지(714)는 단일 구성으로 결합될 수 있다. 특히, 결합 구성은 제1 크로스-오버 주파수 k y 까지의 주파수들에 대한 5개의 웨이브폼 코딩 신호들(210a, 210b, 210c, 210d, 210e)의 스펙트럼 콘텐츠를 이용한다. 제1 크로스-오버 주파수 위의 주파수들에 대하여, 결합 구성은 웨이브폼 코딩 신호(710)와 인터리브 처리된 업믹스 신호들(404)을 이용한다.

    인터리브 스테이지(714)는 제어 신호의 제어에 의해 동작할 수 있다. 이러한 목적을 위해, 디코더(100')는, 예를 들어, 제3 리시빙 스테이지(616)를 통해 웨이브폼 코딩 신호를 업믹스 신호들 M 중 하나와 인터리브 처리하는 방법을 나타내는 제어 신호를 수신할 수 있다. 예를 들어, 제어 신호는 웨이브폼 코딩 신호(710)가 업믹스 신호들(404) 중 하나와 인터리브 처리되기 위한 주파수 범위 및 시간 범위를 나타낼 수 있다. 예를 들어, 주파수 범위 및 시간 범위는 인터리브 처리가 이루어져야하는 시간의 기간(terms of time)/주파수 타일들(frequency tiles)로 표현될 수 있다. 시간/주파수 타일들은 인터리빙 처리가 발생하는 QMF 영역의 타임/주파수 그리드에 대한 시간/주파수 타일들일 수 있다.

    제어 신호는 인터리브 처리가 이루어지는 시간/주파수 타일들을 나타내기 위해 2진 벡터(binary vector)와 같은 벡터를 이용할 수 있다. 구체적으로, 주파수 방향(frequency direction)과 관련된 제1 벡터는 인터리브 처리가 수행되기 위한 주파수들을 나타낼 수 있다. 상기와 같은 지표(indication)는, 예를 들어, 제1 벡터에서 주파수 인터벌과 관련된 로직 1을 지시함으로써, 나타낼 수 있다. 또한, 시간 방향(time direction)과 관련된 제2 벡터는 인터리브 처리가 수행되는 시간 인터벌을 나타낼 수 있다. 상기와 같은 지표는 예를 들어, 제2 벡터에서 시간 인터벌과 관련된 로직(logic) 1을 지시함으로써, 나타낼 수 있다. 이러한 목적을 위해, 시간 프레임은 일반적으로 서브-프레임을 기준으로 만들어지는 타임 지표와 같은 복수의 타임 슬롯들(time slots)로 분할될 수 있다. 제1 벡터 및 제2 벡터가 교차함으로써, 시간/주파수 매트릭스는 구성될 수 있다. 예를 들어, 시간/주파수 매트릭스는 제1 벡터 및 제2 벡터가 로직 1을 나타내는 각 시간/주파수 타일에 대한 로직 1을 구성하는 이진 매트릭스일 수 있다. 이후, 인터리브 스테이지(714)는 인터리브 처리에 예를 들어 업믹스 신호들(704)의 하나 또는 그 이상은 시간/주파수 매트릭스에서 로직 1과 같은 시간/주파수 타일스를 나타내기 위해 웨이브폼 코딩 신호(710)로 교체되는 시간/주파수 매트릭스를 이용한다.

    벡터들은 인터리브 처리가 수행되는 시간/주파수 타일들을 나타내기 위해 이진 백터 외에 다른 방법을 사용할 수도 있다. 예를 들어, 벡터들은 제로(zero)와 같은 제1 값의 방법으로 인터리브 처리가 이루어지지 않는 것을 나타낼 수 있고, 제2 값의 방법으로 식별된 특정 채널에서 인터리브 처리가 수행되는 것을 나타낼 수 있다.

    스테레오 코딩

    이 섹션에서 사용되는, 좌측-우측 코딩 또는 인코딩은 좌측(L) 및 우측(R) 스테레오 신호들이 신호들 간의 어떠한 트랜스폼의 수행도 없이 코딩되는 것을 의미한다.

    이 섹션에서 사용되는, 합-차 코딩 또는 인코딩은 좌측 및 우측 스테레오 신호의 합 M이 하나의 신호(sum)로 코딩되고, 좌측 및 우측 스테레오 신호 간의 차 S가 하나의 신호(difference)로 코딩되는 것을 의미한다. 합-차 코딩은 또한, 미드-사이드(mid-side) 코딩으로 불릴 수 있다. 따라서, 좌측-우측 형태 및 합-차 형태 간의 관계는 M = L + R 및 S = L - R일 수 있다. 좌측 및 우측 스테레오 신호들을 합-차 형태 및 그 반대의 형태로 트랜스폼 처리하는 경우, 두 개의 디렉션이 매칭되는 트랜스폼 처리이기만 하면, 다른 표준화(normalization) 또는 스케일링(scaling)이 가능할 수 있다. 본 문헌에서는, M = L + R 및 S = L - R이 주로 사용되나, 다른 스케일링인 즉, M = (L+R)/2 및 S = (LR)/2를 사용하는 시스템도 동일하게 잘 동작한다.

    이 섹션에서 사용되는, 다운믹스-컴플리먼트(dmx/comp) 코딩 또는 인코딩은 좌측 및 우측 스테레오 신호를 코딩 전에 가중치 파라미터 a로 매트릭스 곱하는 것을 의미한다. 따라서, 다운믹스-컴플리먼트 코딩은 또한 dmx/comp/a 코딩이라고도 불릴 수 있다. 다운믹스-컴플리먼트 형태, 좌측-우측 형태 및 합-차 형태 간의 관계는 일반적으로 dmx = L + R = M 및 comp = (1-a)L - (1+a)R = -aM + S 이다. 특히, 다운믹스-컴플리먼트 표현의 다운믹스 신호는 합-차 표현의 합 신호 M과 동일하다.

    이 섹션에서 사용되는 오디오 신호는 퓨어 오디오 신호, 시청각 신호 또는 멀티미디어 신호의 오디오 파트 또는 메타데이터를 가지는 이러한 신호들의 조합일 수 있다.

    도 13은 도 14 내지 16과 접목되어 보다 구체적으로 설명될 세 개의 개념적 파트(200, 300, 400)를 포함하는 디코딩 시스템(100)의 일반적인 블록도이다. 제1 개념적 파트(200)에서, 비트스트림은 수신되고 제1 및 제2 신호로 디코딩된다. 제1 신호는 제1 크로스-오버 주파수까지의 주파수들에 대응되는 스펙트럼 데이터를 포함하는 제1 웨이브폼 코딩 신호 및 제1 크로스-오버 주파수 위의 주파수들에 대응되는 스펙트럼 데이터를 포함하는 웨이브폼 코딩 다운믹스 신호를 포함한다. 제2 신호는 단지 제1 크로스 오버 주파수 위의 주파수들에 대응되는 스펙트럼 데이터만을 포함하는 웨이브폼 코딩 신호를 포함한다.

    제2 개념적 파트(300)에서, 제1 및 제2 신호의 웨이브폼 코딩 파트는 M/S 형태와 같은 합-차 형태가 아닌 경우, 합-차 형태가 되도록 트랜스폼 처리될 수 있다. 그 후, 제1 및 제2 신호는 시간 영역으로 트랜스폼 처리된 후, QMF 영역으로 트랜스폼 처리된다. 제3 개념적 파트(400)에서, 제1 신호는 고주파수 재생(HFR) 처리된다. 그 후, 제1 및 제2 신호는 모두 디코딩 시스템(100)에 의해 디코딩된 인코딩 신호의 전체 주파수 밴드에 대응되는 스펙트럼 계수들을 가지는 좌측 및 우측 스테레오 신호 출력을 생성하도록 업믹스된다.

    도 14는 도 13에 도시된 디코딩 시스템(100)의 제1 개념적 파트(200)를 나타낸다. 디코딩 시스템(100)은 리시빙 스테이지(212)를 포함한다. 리시빙 스테이지(212)에서, 비트스트림 프레임(202)은 디코딩되고, 제1 신호(204a) 및 제2 신호(204b)로 역양자화(dequantized)된다. 비트스트림 프레임(202)은 디코딩된 두 개의 오디오 신호들의 시간 프레임과 대응된다. 제1 신호(204a)는 제1 크로스-오버 주파수 k y 까지의 주파수들에 대응되는 스펙트럼 데이터를 포함하는 제1 웨이브폼 코딩 신호(208) 및 제1 크로스-오버 주파수 k y 위의 주파수들에 대응되는 스펙트럼 데이터를 포함하는 웨이브폼 코딩 다운믹스 신호(206)를 포함한다. 일 예로, 제1 크로스-오버 주파수 k y 는 1.1kHz이다.

    몇몇 실시예에 따르면, 웨이브폼 코딩 다운믹스 신호(206)는 제1 크로스-오버 주파수 k y 및 제2 크로스-오버 주파수 k x 사이의 주파수들에 대응되는 스펙트럼데이터를 포함한다. 일 예로, 제2 크로스-오버 주파수 k x 는 5.6kHz 내지 5.8kHz이다.

    수신된 제1 및 제2 웨이브폼 코딩 신호들(208, 210)은 좌측-우측 형태, 합-차 형태 및/또는 다운믹스-컴플리먼트 형태로 웨이브폼 코딩될 수 있고, 여기서 컴플리먼트 신호는 가중치 파라미터 a가 적용될 수 있다. 웨이브폼 코딩 다운믹스 신호(206)는 상기와 같이 파라메트릭 스테레오에 적합한 다운믹스 및 합 형태에 대응된다. 그러나, 신호(204b)는 제1 크로스-오버 주파수 k y 위의 콘텐츠를 가지고 있지 않다. 신호들(206, 208) 각각은 MDCT 영역으로 변조되어 나타날 수 있다.

    도 15는 도 13에 도시된 디코딩 시스템(100)의 제2 개념적 파트(300)를 나타낸다. 디코딩 시스템(100)은 믹싱 스테이지(302)를 포함한다. 디코딩 시스템(100)의 설계는 이하에서 보다 구체적으로 설명되는 합 형태에서 필요한 고주파수 재생 구성의 입력이 요구된다. 그 결과, 믹싱 스테이지는 제1 및 제2 신호 웨이브폼 코딩 신호(208, 210)가 합-차 형태인지를 검사하도록 구성된다. 만약, 제1 및 제2 신호 웨이브폼 코딩 신호(208, 210)가 제1 크로스-오버 주파수 k y 까지의 모든 주파수들에 대해서 합-차 형태가 아닌 경우, 믹싱 스테이지(302)는 웨이브폼 코딩 신호(208, 210) 전체를 합-차 형태로 변환 처리할 수 있다. 믹싱 스테이지(302)로 입력되는 신호(208, 210)의 주파수들의 서브세트가 적어도 다운믹스-컴플리먼트 형태인 경우, 가중치 파라미터 a는 믹싱 스테이지(302)로의 입력을 요구된다. 입력 신호들(208, 210)은 다운믹스-컴플리먼트 형태의 코딩된 몇몇의 주파수 서브세트를 포함할 수 있고, 이 경우, 각 서브세트는 동일한 가중치 파라미터 a로 코딩될 필요는 없다. 이러한 경우, 몇몇 가중치 파라미터들 a는 믹싱 스테이지(302)의 입력으로 요구된다.

    앞서 말한바와 같이, 믹싱 스테이지(302)는 입력 신호(204a, 204b)의 합-차 부분을 항상 출력한다. 나타난 신호들을 MDCT 영역에서 합-차 부분으로 변환 처리할 수 있도록 하기 위해, MDCT 코딩된 신호들의 윈도윙은 동일할 필요가 있다. 이는, 제1 및 제2 신호 웨이브폼 코딩 신호(208, 210)가 L/R 또는 다운믹스-컴플리먼트 형태인 경우, 신호(204a)에 대한 윈도윙 및 신호(204b)에 대한 윈도윙은 독립적이지 않다는 것을 나타낸다.

    결과적으로, 제1 및 제2 신호 웨이브폼 코딩 신호(208, 210)가 합-차 형태인 경우, 신호(204a)에 대한 윈도윙 및 신호(204b)에 대한 윈도윙은 독립적이다.

    믹싱 스테이지(302) 이후, 합-차 신호는 인버스 MDCT(312)를 통해, 시간 영역으로 변환 처리된다.

    이후, 두 개의 신호들(304a, 304b)은 두 개의 QMF 뱅크들(314)로 분석된다. 다운믹스 신호(306)는 저주파수들은 포함하고 있지 않으므로, 주파수 해상도(frequency resolution)를 향상시키기 위해 나이퀴스트 필터뱅크(Nyquist filterbank)를 통한 분석이 필요하지 않다. 이는, 저주파수들을 포함하고 있는 다운믹스 신호 즉, MPEG-4 파라메트릭 스테레오와 같은 일반적인 파라메트릭 스테레오 디코딩 시스템과 비교될 수 있다. 이러한 시스템에서, 다운믹스 신호는 QMF 뱅크에 의해서 이루지더라도, 주파수 해상도를 향상시키기 위해 나이퀴스트 필터뱅크를 통해서 분석되는 것이 필요하고, 이에 따라 예를 들어, 바크 주파수 스케일(Bark frequency scale)에 의해 나타나는 사람의 청각 시스템의 주파수에 대해 더 나은 선택을 할 수 있다.

    QMF 뱅크들(314)로부터의 출력 신호(304)는 제1 크로스-오버 주파수 k y 까지의 주파수들에 대응되는 스펙트럼 데이터를 포함하는 웨이브폼 코딩 합-신호(308) 및 제1 크로스-오버 주파수 k y 부터 제2 크로스-오버 주파수 k x 사이의 주파수들에 대응되는 스펙트럼 데이터를 포함하는 웨이브폼 코딩 다운믹스 신호(306)의 조합인 제1 신호(304a)를 포함한다. 더욱이, 출력 신호(304)는 제1 크로스-오버 주파수 k y 까지의 주파수들에 대응되는 스펙트럼 데이터를 포함하는 제2 신호(304b)를 포함한다. 신호(304b)는 제1 크로스-오버 주파수 k y 위의 콘텐츠를 가지고 있지 않다.

    추후에 설명되는 바와 같이, 고주파수 재생 스테이지(416)(도 16에 접목되어 도시된)는 저주파수들을 즉, 출력 신호(304)로부터의 제1 웨이브폼 코딩 신호(308) 및 웨이브폼 코딩 다운믹스 신호(306)를 제2 크로스-오버 주파수 k x 위의 주파수들을 재생하기 위해 사용한다. 고주파수 재생 스테이지(416)가 더 낮은 주파수들과 유사한 타입의 신호에 동작한다 것은 유리한 것이다. 이러한 관점에서, 출력된 제1 신호(304a)의 제1 웨이브폼 코딩 신호(308) 및 웨이브폼 코딩 다운믹스 신호(306)는 동일한 특징을 가지기 때문에, 제1 및 제2 신호 웨이브폼 코딩 신호(208, 210)의 합-차 부분을 항상 출력하는 믹싱 스테이지(302)를 가진다는 것은 유리한 것이다.

    도 16은 도 13에 도시된 디코딩 시스템(100)의 제3 개념적 파트(400)를 나타낸다. 고주파수 재생(HFR) 스테이지(416)는 고주파수 재생을 수행함으로써, 제2 크로스-오버 주파수 k x 위의 주파수 범위까지 제1 신호 입력 신호(304a)의 다운믹스 신호(306)를 확장시킨다. HFR 스테이지(416)의 배치에 의존하여, HFR 스테이지(416)로의 입력은 신호(304a) 전체이거나 단지 다운믹스 신호(306)만이 될 수 있다. 고주파수 재생은 고주파수 재생 스테이지(416)에 의해 적절한 방법으로 수신된 고주파수 재생 파라미터들을 이용하여 수행될 수 있다. 실시예에 따르면, 수행된 고주파수 재생은 스펙트럼 밴드 복제(SBR) 수행을 포함한다.

    고주파수 재생 스테이지(314)로부터의 출력은 SBR 확장(extension)의 적용을 가지는 다운믹스 신호(406)를 포함한다. 이후, 고주파수 재생 신호(404) 및 신호(304b)는 좌측(L) 및 우측(R) 스테레오 신호(412a, 412b)를 발생시키기 위해 업믹싱 스테이지(420)에 반영된다. 제1 크로스-오버 주파수 k y 아래의 주파수들에 대응되는 스펙트럼 계수들에 대하여, 업믹싱은 제1 및 제2 신호(408, 310)의 인버스 합-차 트랜스폼 처리를 수행한다. 이는, 단순히 앞서 본 바와 같이, 미드-사이드 부분에서 좌측-우측 부분으로 가는 것을 의미한다. 이후, 제1 크로스-오버 주파수 k y 를 넘는 주파수들에 대응되는 스펙트럼 계수들에 대하여, 다운믹스 신호(406) 및 SBR 확장(412)은 역 상관기(418)로 반영된다. 이후, 제1 크로스-오버 주파수 k y 를 넘는 주파수들과 대응되는 스펙트럼 계수들에 대하여, 다운믹스 신호(406) 및 SBR 확장(412)과 다운믹스 신호(406)의 역 상관기 버전 및 SBR 확장(412)은 제1 크로스-오버 주파수 k y 위의 주파수들에 대한 좌측 및 우측 채널들(416, 414)을 재생하기 위한 파라메트릭 믹싱 파라미터들을 이용하여 업믹스된다. 해당 분야에서 알려진 어떠한 파라메트릭 업믹싱 절차도 적용 가능하다.

    도 13 내지 16에 도시된 인코더의 실시예(100)에서, 수신된 제1 신호(204a)는 단지 제2 크로스-오버 주파수까지의 주파수들에 대응되는 스펙트럼 데이터만을 포함하기 때문에, 고주파수 재생이 필요하다. 다른 실시예에서, 수신된 제1 신호는 인코딩 신호의 모든 주파수에 대응되는 스펙트럼 데이터를 포함한다. 이러한 실시예에 따르면, 고주파수 재생은 필요하지 않다. 해당 기술분야에 대한 당업자는 이러한 경우의 인코더(100)의 예를 어떻게 적용할 것인지 알 수 있다.

    도 17은 일 실시예에 따른 인코딩 시스템(500)의 일반적인 블록도의 일 예를 나타낸다.

    인코딩 시스템에서, 인코딩되기 위한 제1 및 제2 신호(540, 542)는 리시빙 스테이지(도시되지 않음)에 의해 수신된다. 이러한 신호들(540, 542)은 좌측(540) 및 우측(542) 스테레오 오디오 채널들의 시간 프레임을 나타낸다. 신호들(540, 542)은 시간 영역에서 나타내어 진다. 인코딩 시스템은 변환 스테이지(510)를 포함한다. 신호들(540, 542)은 트랜스폼 스테이지(510)에서 합-차 형태(544, 546)로 변환 처리된다.

    인코딩 시스템은 트랜스폼 스테이지(510)로부터 트랜스폼 처리된 제1 및 제2 신호(544, 546)를 수신하도록 구성된 웨이브폼 코딩 스테이지(514)를 더 포함한다. 웨이브폼 코딩 스테이지는 일반적으로, MDCT 영역에서 동작한다. 이러한 이유 때문에, 트랜스폼 처리된 신호들(544, 546)은 웨이브폼 코딩 스테이지(514) 이전에 MDCT 트랜스폼(512)에 적용된다. 웨이브폼 코딩 스테이지에서, 트랜스폼 처리된 제1 및 제2 신호(544, 546)는 제1 및 제2 웨이브폼 코딩 신호(518, 520)로 각각 처리된다.

    제1 크로스-오버 주파수 k y 위의 주파수들에 대하여, 웨이브폼 코딩 스테이지(514)는 트랜스폼 처리된 제1 신호(544)를 제1 웨이브폼 코딩 신호(518)의 웨이브폼 코딩 신호(552)로 웨이브폼 코딩 처리하도록 구성된다. 웨이브폼 코딩 스테이지(514)는 제2 웨이브폼 코딩 신호(520)를 제1 크로스-오버 주파수 k y 의 위 제로(zero) 또는 모든 주파수에 대해 인코딩 하지 않도록 설정하도록 구성될 수 있다. 제1 크로스-오버 주파수 k y 위의 주파수들에 대하여, 웨이브폼 코딩 스테이지(514)는 처리된 제1 신호(544)를 제1 웨이브폼 코딩 신호(518)의 웨이브폼 코딩 신호(552)로 웨이브폼 코딩 처리하도록 구성된다.

    제1 크로스-오버 주파수 k y 아래의 주파수들에 대하여, 두 개의 신호들(548, 550)에 대해 어떤 종류의 스테레오 코딩을 사용할지에 대한 결정은 웨이브폼 코딩 스테이지(514)에서 이루어진다. 제1 크로스-오버 주파수 k y 아래의 트랜스폼 처리된 신호들(544, 546)의 특성에 기초하여, 웨이브폼 코딩 신호(544, 550)의 서로 다른 서브세트에 대하여 서로 다른 결정이 이루어질 수 있다. 코딩은 좌측/우측 코딩, 미드/사이드 코딩 즉, 합-차 또는 dmx/com/a 코딩일 수 있다. 웨이브폼 코딩 스테이지(514)에서 합-차 코딩에 의해 신호들(548, 550)이 웨이브폼 코딩되는 경우, 웨이브폼 코딩 신호들(518, 520)은 신호들(518, 520) 각각에 대하여 독립적인 윈도윙을 가지는 오버랩핑 윈도윙 트랜스폼 처리를 이용하여 코딩될 수 있다.

    바람직한 제1 크로스-오버 주파수 k y 는 1.1kHz이나, 이 주파수는 스테레오 오디오 시스템의 비트 전송 레이트 또는 인코딩되는 오디오의 특성에 따라 다양할 수 있다.

    이에 따라, 적어도 두 개의 신호들(518, 520)은 웨이브폼 코딩 스테이지(514)로부터 출력된다. 다운믹스/컴플리먼트 형태로 코딩된 제1 크로스-오버 주파수 k y 아래의 신호들의 하나 또는 몇몇의 서브세트, 또는 전체 주파수 밴드가 가중치 파라미터 a에 의존하여 매트릭스 연산에 의해 코딩되는 경우, 이 파라미터 또한 신호(522)로써 출력된다. 몇몇의 서브세트가 다운믹스/컴플리먼트 형태로 인코딩되는 경우, 각 서브세트는 동일한 가중치 파라미터 a로 코딩될 필요 없다. 이러한 경우, 몇 개의 가중치 파라미터들은 신호(522)로써 출력된다.

    이러한 두 개 또는 세 개의 신호들(518, 520, 522)은 단일 합성 신호(558)로 인코딩 및 양자화(524)된다.

    디코더 측에서, 제1 크로스-오버 주파수 위의 주파수들에 대하여 제1 및 제2 신호(540, 542)의 스펙트럼 데이터를 재생할 수 있도록 하기 위해, 파라메트릭 스테레오 파라미터들(536)은 신호들(540, 542)로부터 추출될 필요가 있다. 이러한 목적을 위해, 인코더(500)는 파라메트릭 스테레오(PS) 인코딩 스테이지(530)를 포함한다. PS 인코딩 스테이지(530)는 일반적으로 QMF 영역에서 동작한다. 따라서, 제1 및 제2 신호들(540, 542)은 PS 인코딩 스테이지(530)에 입력되기 전에 QMF 분석 스테이지(536)에 의해 QMF 영역으로 트랜스폼 처리된다. PC 인코더 스테이지(530)는 단지 제1 크로스-오버 주파수 k y 위의 주파수들에 대하여 파라메트릭 스테레오 파라미터들(536)을 추출하기 위해서만 적용된다.

    파라메트릭 스테레오 파라미터들(536)은 파라메트릭 스테레오 인코딩되는 신호의 특성을 반영한다. 이는, 주파수 선택적이다 즉, 파라미터들(536)의 각 파라미터는 좌측 또는 우측 입력 신호(540, 542)의 주파수들 서브세트에 대하여 선택적이다. PS 인코딩 스테이지(530)는 파라메트릭 스테레오 파라미터들(536)을 산출하고, 균일(uniform) 또는 비균일한(non-uniform) 방식으로 양자화한다. 파라미터들은 위에서 말한 주파수 선택적인 것으로 말할 수 있고, 여기서 입력 신호(540, 542)의 전체 주파수 범위는 예를 들어, 15 파라미터 밴드들로 분할될 수 있다. 이러한 것들은 예를 들어, 바크 스케일링과 같은 사람의 청각 시스템의 주파수 해상도 모델과 같은 간격들을 가질 수 있다.

    도 17에 도시된 인코더(500)의 일 실시예에 있어, 웨이브폼 코딩 스테이지(514)는 제1 크로스-오버 주파수 k y 와 제2 크로스-오버 주파수 k x 사이의 주파수들에 대한 제1 트랜스폼 신호(544)를 웨이브폼 코딩하도록 구성되고, 제1 웨이브폼 코딩 신호(518)를 제2 크로스-오버 주파수 k x 위의 제로(zero)로 설정하도록 구성된다. 이는, 인코더(500) 파트를 가지는 오디오 시스템에서 요구되는 전송 레이트를 감소시키기 위해 수행될 수 있다. 제2 크로스-오버 주파수 k x 위의 신호를 재생 가능하도록 하기 위해, 고주파수 재생 파라미터들(538)이 만들어질 필요가 있다. 바람직한 실시예에 따르면, 이는 QMF 영역에서 나타나는 두 개의 신호들(540, 542)을 다운믹싱 스테이지(534)에서, 다운믹싱함으로써 수행될 수 있다. 이후, 결과적으로 다운믹싱 신호는 예를 들어, 신호들(540, 542)의 합과 동일하고, 고주파수 재생(HFR)에서 고주파수 재생 인코딩하기 위해, 고주파수 재생 파라미터들(538)을 발생시키기 위한 인코딩 스테이지(532)로 보내진다. 파라미터들(538)은 예를 들어, 해당 기술분야의 당업자에게 잘 알려진 제2 크로스-오버 주파수 k x 위의 주파수들의 스펙트럼 엔벨로프(spectral envelope), 추가적인 노이즈 정보 등을 포함할 수 있다.

    바람직하게, 제2 크로스-오버 주파수 k x 는 5.6 내지 5.8kHz이나, 이 주파수는 스테레오 오디오 시스템의 비트 전송 레이트 또는 인코딩되는 오디오의 특성에 따라 다양할 수 있다.

    인코더(500)는 비트스트림 발생 스테이지 즉, 비트스트림 멀티플렉서(524)를 더 포함한다. 인코더(500)의 바람직한 실시예에 따르면, 비트스트림 발생 스테이지는 인코딩되고 양자화된 신호(544) 및 두 개의 파라미터들 신호들(536, 538)을 수신하도록 구성된다. 이러한 것들은 스테레오 오디오 시스템으로 분배되기 위해 비트스트림 발생 스테이지(562)에 의해 비트스트림(560)으로 컨버팅 처리된다.

    또 다른 실시예에 따르면, 웨이브폼 코딩 스테이지(514)는 제1 크로스-오버 주파수 k y 위의 주파수들 전체에 대해 제1 트랜스폼 신호(544)를 웨이브폼 코딩하도록 구성된다. 이러한 경우, HFR 인코딩 스테이지(532)는 필요하지 않게 되며, 결과적으로 비트스트림에는 고주파수 재생 파라미터들(538)이 포함되지 않게 된다.

    도 18은 또 다른 실시예에 따른 인코더 시스템(600)의 일반적인 블록도이다.

    음성 모드 코딩(Voice mode coding)

    도 19a는 트랜스폼 기반 스피치 인코더(speech encoder)(100)에 대한 일 예의 블록도이다. 인코더(100)는 입력으로 변환 계수들의 블록(131)(코딩 단위(coding unit)이라고도 함)을 수신한다. 변환 계수들의 블록(131)은 시간 영역에서 트랜스폼 영역으로의 입력 오디오 신호 샘들들의 시퀀스를 트랜스폼 처리하도록 구성된 트랜스폼 유닛에 의해 획득될 수 있다. 트랜스폼 유닛은 MDCT를 수행하도록 구성될 수 있다. 트랜스폼 유닛은 ACC 또는 HE-ACC와 같은 보편적인 코덱의 일부일 수 있다. 이와 같은 일반적인 오디오 코덱은 예를 들어, 긴 블록 및 짧은 블록과 같이 서로 다른 블록 사이즈들을 이용한다. 예를 들어, 블록 사이즈는 1024 샘플이 긴 블록이고, 256 샘플이 짧은 블록일 수 있다. 샘플링 레이트가 44.1kHz이고, 오버랩이 50%이고, 입력 오디오 신호의 긴 블록이 약 20ms이고, 입력 신호의 짧은 블록이 약 5ms라고 가정한다. 긴 블록은 일반적으로 입력 오디오 신호의 고정된 세그먼트들에 사용되고, 짧은 블록은 일반적으로 입력 오디오 신호의 순간적인(transient) 세그먼트들에 사용된다.

    스피치 신호들은 약 20ms 시간의 세드먼트들에 대해서는 고정된 것으로 여길 수 있다. 특히, 스피치 신호의 스펙트럼 엔벨로프는 약 20ms 시간의 세그먼트들에 대해서 고정적인 것으로 여길 수 있다. 20ms 세그먼트와 같은 트랜스폼 영역에서 의미있는 결과를 추출할 수 있도록 하기 위해, 변환 계수들의 짧은 블록들(131)(예를 들어, 5ms의 길이를 가지는)을 가지는 트랜스폼 기반 스피치 인코더를 제공하는 것이 적절할 수 있다. 이렇게 함으로써, 복수의 짧은 블록들(131)은 예를 들어, 20ms의 시간 세그먼트들(예를 들어, 긴 블록의 시간 세그먼트)에 대한 결과를 추출하는데 사용될 수 있다. 더욱이, 이는 스피치 신호들에 대하여 적절한 시간 적용(resolution)을 제공하는데 유리하다.

    이러한 이유로, 입력 오디오 신호의 현재 세그먼트가 스피치로 분류되는 경우, 트랜스폼 유닛은 변환 계수들의 짧은 블록들(131)을 제공하도록 구성될 수 있다. 인코더(100)는 블록들(131)의 세트(132)와 관련된 변환 계수들의 복수의 블록들(131)을 추출하도록 구성된 프레이밍 유닛(101)을 포함할 수 있다. 또한, 블록들의 세트(132)는 프레임으로써 관련될 수 있다. 일 예로, 블록들(131)의 세트(132)는 256 변환 계수들의 4개의 짧은 블록들을 포함할 수 있고, 이를 통해 입력 오디오 신호의 약 20ms 세그먼트를 다룰 수 있다.

    블록들의 세트(132)는 엔벨로프 판단 유닛(102)로 제공될 수 있다. 엔벨로프 판단 유닛(102)은 블록들의 세트(132)를 기반으로 엔벨로프(133)를 결정하도록 구성될 수 있다. 엔벨로프(133)는 블록들의 세트(132)로 구성된 복수의 블록들(131)의 변환 계수들에 대한 제곱 평균(RMS, root means squared) 값을 기반으로 할 수 있다. 블록(131)은 일반적으로 복수의 주파수 빈(301)(도 21a 참조)과 관련된 복수의 변환 계수들(예를 들어, 256 변환 계수들)을 제공한다. 복수의 주파수 빈들(301)은 복수의 주파수 밴드들(302)로 그룹화될 수 있다. 복수의 주파수 밴드들(302)은 음향 심리적 고려를 기반으로 선택될 수 있다. 일 예로, 주파수 빈(301)은 로그함수 스케일 또는 바크 스테일을 따라 주파수 밴드들(302)을 그룹화할 수 있다. 블록들의 현재 세트(132)를 기반으로 결정된 엔벨로프(134)는 복수의 주파수 밴드들(302) 각각에 대한 복수의 에너지 값들을 포함할 수 있다. 복수의 주파수 밴드(302)에 대한 복수의 에너지 값들은 세트(132)의 블록들(131)의 변환 계수들을 기반으로 결정될 수 있고, 이는 특정 주파수 밴드(302)에 포함되는 주파수 빈(301)과 관련 있을 수 있다. 특정 에너지 값은 변환 계수들의 RMS 값을 기반으로 결정될 수 있다. 예를 들어, 블록들의 현재 세트(132)에 대한 엔벨로프(133)(현재 엔벨로프 133를 의미함)는 블록들의 현재 세트(132)를 포함하는 변환 계수들의 블록들(131)의 평균 엔벨로프를 나타낼 수 있고, 또는 엔벨로프(133)를 결정하기 위해 사용된 변환 계수들의 블록들(132)의 평균 엔벨로프를 나타낼 수 있다.

    현재 엔벨로프(133)는 블록들(132)의 현재 세트(132)와 인접한 변환 계수들의 하나 또는 그 이상의 블록들(131)을 기반으로 결정된다. 이는 도 20에 도시되어 있으며, 즉, 현재 엔벨로프(133)(양자화된 현재 엔벨로프(134)에 의해 나타나는)는 블록들의 현재 세트(132)의 블록들(131) 및 블록들의 현재 세트(132) 이전 블록들의 세트인 블록(201)을 기반으로 결정된다. 도시된 예에서, 현재 엔벨로프(133)는 5개의 블록들(131)에 의해 결정된다. 인접한 블록들을 고려함으로써, 현재 엔벨로프(133)를 결정할 때 블록들의 인접한 세트들(132)의 엔벨로프들 연속성을 보장할 수 있다.

    현재 엔벨로프(133)를 결정할 때, 서로 다른 블록들(131)의 변환 계수들은 가중될 수 있다. 특히, 현재 엔벨로프(133)를 결정하기 위해 고려되는 가장 바깥쪽의 블록들(201, 202)은 나머지 블록들(131)에 비하여 더 낮게 가중될 수 있다. 일 예로, 가장 바깥쪽의 블록들(201, 202)의 변환 계수들은 0.5로 가중될 수 있고, 다른 블록들(131)의 변환 계수들은 1로 가중될 수 있다.

    블록들의 세트(132) 이전의 블록들(201)을 고려하기 위해 이와 유사한 방법으로, 블록들의 세트(132)와 직접적으로 연결된 하나 또는 그 이상의 블록들(따라서, 예정된 블록들이라 함)은 현재 엔벨로프(133)를 결정하기 위한 것으로 고려될 수 있다.

    현재 엔벨로프(133)의 에너지 값들은 로그함수 스케일(예를 들어, dB 스케일과 같은)을 통해 나타낼 수 있다. 현재 엔벨로프(133)는 현재 엔벨로프(133)의 에너지 값을 양자화하도록 구성된 엔벨로프 양자화 유닛(103)으로 제공될 수 있다. 엔벨로프 퀀타이즈 유닛(103)은 예를 들어, 3dB와 같은 미리 설정된 양자화 해상도(resolution)를 제공할 수 있다. 엔벨로프(133)의 양자화 인덱스들은 인코더(100)에 의해 발생된 비트스트림 내의 엔벨로프 데이터(161)를 통해 제공될 수 있다. 더욱이, 양자화된 엔벨로프(134)는 즉, 엔벨로프(133)의 처리된 에너지 값을 포함하는 엔벨로프(134)는 인터포레이트 유닛(104)으로 제공될 수 있다.

    인터포레이트 유닛(104)은 양자화된 현재 엔벨로프(134) 및 이전에 양자화된 엔벨로프(135)(블록들의 현재 세트(132) 바로 이전의 블록들의 세트(132)에 대해 결정된)를 기반으로 블록들의 현재 세트(132)에 대한 각 블록(131)의 엔벨로프를 결정하도록 구성된다. 인터포레이티트 유닛(104)의 동작은 도 20, 도 21a 및 도 21b에 도시된다. 도 20은 변환 계수들의 블록(131) 시퀀스를 나타낸다. 블록들(131)의 시퀀스는 블록들(132)의 후속되는 세트들(succeeding sets)로 그룹화될 수 있고, 여기서 블록들의 각 세트(132)는 양자화된 엔벨로프 즉, 현재 엔벨로프(134) 및 이전에 양자화된 엔벨로프(135)를 결정하기 위해 사용된다. 도 21a는 양자화된 이전 엔벨로프(135) 및 양자화된 현재 엔벨로프(134)를 나타낸다. 앞서 지적한 바와 같이, 엔벨로프들은 스펙트럼 에너지(303)(예를 들어, dB 스케일링과 같은)를 나타낼 수 있다. 동일한 주파수 밴드(302)에 대하여 양자화된 이전 엔벨로프(135) 및 양자화된 현재 엔벨로프(134)의 상응하는 에너지 값들(303)은 인터포레이트 처리된 엔벨로프(136)를 결정하기 위해 인터포레이트 처리(예를 들어, 선형 인터포레이트(linear interpolation))될 수 있다. 다시 말해, 특정한 주파수 밴드(302)의 에너지 값들(303)은 특정 주파수 밴드(302) 내의 인터포레이트 처리된 엔벨로프(136)의 에너지 값(303)을 제공하기 위해 인터포레이트 처리될 수 있다.

    인터포레이트 처리된 엔벨로프들(136)이 결정되고 적용된 블록들의 세트는 어떤 양자화된 현재 엔벨로프(134)가 결정되느냐에 따른 블록들의 현재 세트(132)와 다를 수 있다. 도 20에 쉬프트된 블록들의 세트(332)가 도시되어 있으며 이는, 현재 블록들의 세트(132)와 비교하여 쉬프트 되었고, 이전 블록들의 세트(132)의 제3 블록, 제4 블록(각각 부호 203 및 204로 나타나 있음) 및 현재 블록들의 세트(132)의 제1 블록 및 제2 블록을 포함한다(각각 부호 204 및 205로 나타나 있음). 사실상, 양자화된 현재 엔벨로프(134) 및 양자화된 이전 엔벨로프(135)를 기반으로 결정된 인터포레이트 처리된 엔벨로프들(136)은 현재 블록들의 세트(132)의 블록들의 적절함에 비하여, 쉬프트된 블록들의 세트(332)의 블록들에 대해 더 나은 적절함을 가질 수 있다.

    이런 이유로, 도 21b에 도시된 인터포레이트 처리된 엔벨로프들(136)은 쉬프트된 블록들의 세트(332)의 블록들(131)을 평탄화를 위해 사용될 수 있다. 이는 도 20과 도 21b의 결합에 나타난다. 도 21b의 인터포레이트 처리된 엔벨로프(341)는 도 20의 블록(203)이 적용되고, 도 21b의 인터포레이트 처리된 엔벨로프(342)는 도 20의 블록(201)이 적용되고, 도 21b의 인터포레이트 처리된 엔벨로프(343)는 도 20의 블록(204)이 적용되고, 도 21b의 인터포레이트 처리된 엔벨로프(344)는 도 20의 블록(205)(양자화된 현재 엔벨로프(136)에 대응되는 예에 있어서)이 적용된 것으로 볼 수 있다. 예를 들어, 양자화된 엔벨로프(134)를 결정하기 위한 블록들의 세트(132)는 인터포레이트 처리된 엔벨로프들(136)이 결정되고, 인터포레이트 처리된 엔벨로프들(136)이 적용되는 쉬프트된 블록들의 세트(332)와 다르다(평탄화를 목적으로). 특히, 양자화된 현재 엔벨로프(134)는 양자화된 현재 엔벨로프(134)를 이용하여 평탄화된 블록들의 쉬프트된 세트(332)의 분명하게 예정된 블록들(203, 201, 204, 205) 각각을 이용하여 결정될 수 있다. 이는, 연속성에 대한 관점에서 볼 때 유리하다.

    인터포레이트 처리된 엔벨로프들(136)을 결정하기 위해 에너지 값들(303)의 인터포레이트 처리는 도 21b에 도시된다. 인터포레이트 처리된 엔벨로프(136)의 양자화된 현재 엔벨로프(134) 에너지 값들의 에너지 값과 관련된 양자화된 이전 엔벨로프(135) 간의 인터포레이트 처리에 의해 쉬프트된 블록들의 세트(332)의 블록들(131)에 대해 결정될 수 있다. 특히, 쉬프트된 세트(332)의 각 블록(131)에 대하여, 인터포레이트 처리된 엔벨로프(136)는 결정될 수 있고, 이에 따라 쉬프트된 블록들의 세트(332)의 복수의 블록들(203, 201, 204, 205)에 대하여 인터포레이트 처리된 복수의 엔벨로프들을 제공할 수 있다. 변환 계수(예를 들어, 쉬프트된 블록들의 세트(332)의 블록들(203, 201, 204, 205) 중 어느 블록)의 블록(131)의 인터포레이트 처리된 엔벨로프(136)는 변환 계수들의 블록(131)을 인코딩하는데 사용될 수 있다. 현재 엔벨로프(133)의 양자화 인덱스들(161)은 비트스트림 내의 관련된 디코더로 제공될 수 있다. 결과적으로, 관련된 디코더는 인코더(100)의 인터포레이트 유닛(104)으로 아날로그 방식을 통해 복수의 인터포레이트 처리된 엔벨로프들(136)을 결정하도록 구성될 수 있다.

    프레이밍 유닛(101), 엔벨로프 판단 유닛(103), 엔벨로프 양자화 유닛(103) 및 인터포레이트 유닛(104)은 블록들의 세트 즉, 현재 블록들의 세트(132) 및/또는 쉬프트된 블록들의 세트(332)에서 동작한다. 반면, 변환 계수의 실제 코딩은 블록과 블록에 기초하여 수행될 수 있다. 다음과 같이, 변환 계수들의 현재 블록들(131)의 인코딩을 위해 쉬프트된 블록들의 세트(332)의 복수의 블록(131) 중 하나를 참조할 수 있다(또는 트랜스폼 기반 스피치 인코더(100)에서 다른 실행에 있는 가능한 블록들의 현재 세트(132)).

    현재 블록(131)에 대해 인터포레이트 처리된 현재 엔벨로프(136)는 현재 블록(131)의 변환 계수들의 스펙트럼 엔벨로프의 근사치를 제공할 수 있다. 인코더(100)는 현재 블록(131)에 대해 인터포레이트 처리된 현재 엔벨로프(136) 및 현재 블록(131)을 기반으로 조정된 엔벨로프(139)를 결정하도록 구성된 프리-평탄화 유닛(pre-flattening unit)(105) 및 엔벨로프 게인 결정 유닛(envelope gain determination unit)(106)을 포함할 수 있다. 특히, 현재 블록(131)에 대한 엔벨로프 게인은 조정된 현재 블록(131)의 평탄화된 변환 계수들의 분산으로 결정될 수 있다. X(k), k = 1, ..., K 는 현재 블록(131)의 변환 계수들일 수 있고(예를 들어, K = 256일 수 있음), E(k), k = 1, ..., K는 인터포레이트 처리된 현재 엔벨로프(136)의 스펙트럼 에너지 값들(303)의 평균일 수 있다(동일해지는 동일 주파수 밴드(302)의 에너지 값들 E(k)에 대하여). 엔벨로프 게인 a 는 평탄화된 변환 계수들

    이 조정된 분산으로 결정될 수 있다. 특히, 엔벨로프 게인 a는 분산이 하나인 것으로 결정될 수 있다.

    엔벨로프 게인 a는 변환 계수들의 현재 블록(131)의 완전한 주파수 범위의 서브 범위(sub-range)에 대해 결정될 수 있다. 다시 말해, 엔벨로프 게인 a는 단지 주파수 빈들(301)의 서브 세트 및/또는 주파수 밴드(302)의 서브 세트를 기반으로 결정될 수 있다. 일 예에서, 엔벨로프 게인 a는 시작 주파수 빈(304)(시작 주파수 빈은 0 또는 1보다 큼)보다 더 큰 주파수 빈들(301)을 기반으로 결정될 수 있다. 그 결과, 현재 블록(131)에 대해 조정된 엔벨로프(139)는 엔벨로프 게인 a를 단지 시작 주파수 빈(304) 위에 있는 주파수 빈들(301)과 관련된 인터포레이트 처리된 엔벨로프(136)의 스펙트럼 에너지 값들(303)의 평균에 적용함으로써 결정될 수 있다. 이러한 이유로, 현재 블록(131)에 대해 조정된 엔벨로프(139)는 시작 주파수 빈 아래의 주파수 빈들(301)에 대해 인터포레이트 처리된 현재 엔벨로프(136)와 대응되고, 시작 주파수 빈 위의 주파수 빈들(301)에 대하여 엔벨로프 게인 a로 인터포레이트 처리된 현재 엔벨로프(136) 오프셋과 대응된다. 이는, 도 21a에 조정된 엔벨로프(339)(파선으로 나타난)으로 도시되어 있다.

    인터포레이트 처리된 현재 엔벨로프(136)로의 엔벨로프 게인 a(137) 적용은 인터포레이트 처리된 현제 엔벨로프(136)의 조정 또는 오프셋 처리에 부합되고, 그렇게 함으로써, 도 21a에 도시된 바와 같이 조정된 엔벨로프(139)를 산출할 수 있다. 엔벨로프 게인 a(137)는 게인 데이터(162)를 통해 비트스트림으로 인코딩될 수 있다.

    인코더(100)는 엔벨로프 게인 a(137) 및 인터포레이트 처리된 현재 엔벨로프(136)를 기반으로 조정된 엔벨로프(139)를 결정하도록 구성된 엔벨로프 리파인먼트 유닛(envelope refinement unit)(107)을 더 포함할 수 있다. 조정된 엔벨로프(139)는 변환 계수의 블록(131)의 신호 프로세싱을 위해 사용될 수 있다. 엔벨로프 게인 a(137)는 인터포레이트 처리된 현재 엔벨로프(136)(3dB 스템들로 양자화된)보다 더 높은 해상도(예를 들어, 1dB 스템들)로 양자화될 수 있다. 예를 들어, 조정된 엔벨로프(139)는 엔벨로프 게인 a(137)(예를 들어, 1dB 스텝들)의 더 높은 해상도로 양자화될 수 있다.

    더욱이, 엔벨로프 리파인먼트 유닛(107)은 얼로케이션 엔벨로프(allocation envelope)(138)를 결정하도록 구성될 수 있다. 얼로케이션 엔벨로프(138)는 조정된 엔벨로프(139)(예를 들어, 3dB 퀀타이즈 레벨들로 양자화된)의 퀀타이즈 버전에 대응될 수 있다. 얼로케이션 엔벨로프(138)는 비트 얼로케이션 목적을 위해 사용될 수 있다. 특히, 얼로케이션 엔벨로프(138)는 현재 블록(131)의 특정 변환 계수에 대해 미리 결정된 양자화기 세트들로부터 특정 양자화기를 선택하기 위해 사용될 수 있고, 여기서 특정 양자화기는 특정 변환 계수들을 양자화하는데 사용될 수 있다.

    인코더(100)는 조정된 엔벨로프(139)를 이용하여 현재 블록(131)을 평탄화하도록 구성된 평탄화 유닛(108)을 포함하고, 이로써 평탄화된 변환 계수들

    의 블록(140)을 산출할 수 있다. 변환 계수들 의 블록(140)은 트랜스폼 영역 내의 프리딕션 루프(prediction loop)를 이용하여 인코딩될 수 있다. 예를 들어, 블록(140)은 서브밴드 프리딕터(subband predictor)(117)를 이용하여 인코딩될 수 있다. 프리딕션 루프는 평탄화된 변환 계수들 의 블록(140) 및 측정된 트랜스포밍 계수들 의 블록(150)(예를 들어, )을 기반으로 프리딕션 에러 계수들 의 블록(141)을 결정하도록 구성된 차감 유닛(difference unit)(115)을 포함할 수 있다. 블록(140)이 평탄화된 변환 계수들 즉, 조정된 엔벨로프(139)의 에너지 값들(303)을 이용하여 정규화(normalized) 또는 평탄화된 변환 계수들을 포함하기 때문에, 측정된 변환 계수들의 블록(150) 또한 평탄화된 변환 계수들의 측정을 포함한다. 다시 말해, 차감 유닛(115)은 소위 평탄화 영역에서 동작한다. 결과적으로, 프리딕션 에러 계수들 의 블록(141)은 평탄화 영역에서 나타낼 수 있다.

    프리딕션 에러 계수들

    의 블록(141)은 다른 것과 다른 분산으로 나타날 수 있다. 인코더(100)는 프리딕션 에러 계수들 을 리스케일링하고, 리스케일 처리된 에러 계수들의 블록(142)을 산출하도록 구성된 리스케일링 유닛(111)을 포함할 수 있다. 리스케일링 유닛(111)은 리스케일링 수행을 위해 하나 또는 그 이상의 미리 결정된 경험적 기준을 사용할 수 있다. 그 결과, 리스케일 처리된 에러 계수들의 블록(142)은 다른 것(프리딕션 에러 계수들의 블록(141)과 비교한)과 근접한 분산(평균에서)으로 나타난다. 이는, 다음 양자화 및 인코딩 처리에 유리하다.

    인코더(100)는 프리딕션 에러 계수들의 블록(141) 또는 리스케일 처리된 에러 계수들의 블록(142)을 양자화하도록 구성된 계수 양자화 유닛(112)을 포함한다. 계수 양자화 유닛(112)은 미리 결정된 양자화기들 세트를 포함하거나 사용할 수 있다. 미리 결정된 양자화기들 세트는 정확도가 다르거나 다른 해상도를 가지는 양자화기들을 제공할 수 있다. 이는, 도 22에 서로 다른 양자화기(321, 322, 323)가 도시되어 있다. 서로 다른 양자화기들은 다른 정확도 레벨(다른 dB 값으로 나타나는)들을 제공할 수 있다. 복수의 양자화기들(321, 322, 323) 중 특정 양자화기는 얼로케이션 엔벨로프(138)의 특정 값과 대응될 수 있다. 예를 들어, 얼로케이션 엔벨로프(138)의 에너지 값은 복수의 양자화기들 중 관련된 양자화기를 나타낸다. 예를 들어, 얼로케이션 엔벨로프(138)의 결정은 특정 에러 계수에 대해 사용되는 양자화기의 프로세스 선택을 단순화할 수 있다. 다시 말해, 얼로케이션 엔벨로프(138)는 비트 얼로케이션 프로세스를 단순화 할 수 있다.

    양자화기들 세트는 무작위 양자화기 처리 에러에 대해 디더링하는 하나 또는 그 이상의 양자화기들(322)을 포함한다. 디더링 처리된 양자화기들의 서브세트(324)를 포함하는 미리 결정된 양자화기들의 제1 세트(326) 및 디더링 처리된 양자화기들의 서브세트(325)를 포함하는 미리 결정된 양자화기들의 제2 세트(327)는 나타내는 도 22에 도시되었다. 예를 들어, 계수 양자화 유닛(112)은 미리 결정된 양자화기들의 서로 다른 세트들(326, 327)을 이용할 수 있고, 여기서 계수 양자화 유닛(112)에 의해 사용되는 미리 결정된 양자화기들의 세트는 프리딕터(117)에 의해 제공 및/또는 인코더 및 관련된 디코더에서 다른 가능한 사이드 정보(side information)를 기반으로 결정되는 제어 파라미터(146)에 의존적일 수 있다. 특히, 계수 양자화 유닛(112)은 제어 파라미터(146)를 기반으로 리스케일 처리된 에러 계수의 블록(142)의 양자화를 위해 미리 결정된 양자화기들의 세트(326, 327)를 선택하도록 구성될 수 있고, 여기서, 제어 파라미터(146)는 프리딕터(117)에 의해 제공된 하나 또는 그 이상의 프리딕터 파라미터들에 의존적일 수 있다. 하나 또는 그 이상의 프리딕터 파라미터들은 프리딕터(117)에 의해 제공된 측정된 변환 계수들의 블록(150)의 질을 나타낼 수 있다.

    양자화된 에러 계수들은 예를 들어, 허프만 코드(Huffman code)와 같은 엔트로피 인코딩(entropy encoding)될 수 있고, 이에 따라 인코더(100)에 의해 발생된 비트스트림으로 포함되도록 계수 데이터(coefficient data)(163)를 산출할 수 있다.

    다음과 같이, 보다 구체적으로 양자화기들(321, 322, 323)의 세트(326)의 선택 및 결정에 대해 설명된다. 양자화기들의 세트(326)는 정렬된 양자화기들의 컬렉션(collection)(326)과 부합된다. 정렬된 양자화기들의 컬렉션(326)은 N개의 양자화기들을 포함할 수 있고, 여기서, 각 양자화기는 서로 다른 왜곡 레벨(distortion level)을 가진다. 예를 들어, 양자화기들의 컬렉션(326)은 N개의 가능한 왜곡 레벨들을 제공할 수 있다. 컬렉션(326)의 양자화기들은 감소하는 왜곡을 따라 정렬될 수 있다(또는 동등하게 SRT이 증가하는 것을 따라). 더욱이, 양자화기들은 정수 레이블들(integer labels)에 의해 분류될 수 있다. 일 예로, 양자화기들은 0, 1, 2 등으로 분류될 수 있고, 여기서 증가하는 정수 레이블은 SNR의 증가를 나타낼 수 있다.

    양자화기들의 컬렉션(326)은 두 개의 연속된 양자화기들 간의 SNR 간격(GAP)은 적어도 거의 일정할 수 있다. 예를 들어, 레이블 "1"을 가지는 양자화기의 SNR은 1.5dB이면, 레이블 "2"를 가지는 양자화기 SNR은 3.0dB이다. 이러한 이유로, 정렬된 양자화기들의 컬렉션(326)의 양자화기들은 제1 양자화기들로부터 조정된 제2 양자화기까지, SNR(signal-to-noise ratio)이 대체적으로 일정한 값(예를 들어, 1.5dB)으로 증가하도록 제1 및 제2 양자화기들의 쌍에 대하여 조정될 수 있다.

    양자화기들의 컬렉션(326)은 아래의 양자화기들을 포함할 수 있다.

    ● OdB보다 다소 낮거나 동일한 SNR을 제공할 수 있고, 레이트 얼로케이션 처리가 0dB에 거의 근접한 노이즈-필링(noise-filling) 양자화기(321);

    ● 차감 디더링을 사용하고, 일반적으로 중간 SNR 레벨들(예를 들어, N dith > 0)에 부합되는 N dith 양자화기들(322); 및

    ● 차감 디더링을 사용하지 않고, 일반적으로 비교적 높은 SNR 레벨들(예를 들어, N cq > 0)에 부합되는 N cq 클래식 양자화기들(323). 디더링하지 않는 양자화기들(323)은 스칼라(scalar) 양자화기들에 대응될 수 있다.

    양자화기들의 전체 개수 N은 N = 1 + N dith + N cq 로 주어질 수 있다.

    양자화기 컬렉션(326)의 일 예는 도 24a에 나타난다. 양자화기 컬렉션(326)의 양자화기들 중 노이즈 필링 양자화기(321)는 예를 들어, 미리 정의된 통계적 모델을 따라 확률 변수(random variable)를 만들어 내기 위해 난수 발생기(random number generator)를 사용하는 것으로 나타낼 수 있다.

    게다가, 양자화기들의 컬렉션(326)은 하나 또는 그 이상의 디더링 처리된 양자화기들(322)을 포함할 수 있다. 하나 또는 그 이상의 디더링 처리된 양자화기들은 도 24a에 도시된 바와 같이, 의사-넘버(pseudo-number) 디더링 신호(602)를 이용하여 만들어질 수 있다. 의사-넘버 디더링 신호(602)는 의사-임의적 디더링 값의 블록(602)과 부합될 수 있다. 디더링 수들의 블록(602)은 양자화되는 리스케일링 처리된 에러 계수들의 블록들(142)의 차원수와 동일한 차원수를 가질 수 있다. 디더링 신호(602)(또는 디더링 값의 블록(602))는 디더 제네레이터(발생기)(dither generator)(601)를 이용하여 만들어질 수 있다. 특히, 디더링 신호(602)는 동일하게 분포된 무작위 표본을 포함하는 순람표(look-up table)을 이용하여 만들어질 수 있다.

    도 24b의 맥락에 나타나는 것과 같이, 디더링 값들(632)의 블록(602)의 각각의 디더링 값들은 양자화되는 관련 계수들에 디더링을 적용하기 위해 사용된다(예를 들어, 리스케일링 처리된 에러 계수들의 블록(142)의 리스케일링 처리된 에러 계수들과 관련된). 리스케일링 처리된 에러 계수들의 블록(142)은 리스케일링 처리된 에러 계수들 K의 총합을 포함할 수 있다. 이와 유사한 방법으로, 디더링 값들의 블록(602)은 디더링 값 K(632)를 포함할 수 있다. k = 1, ... K인 디더링 값의 블록(602)의 k th 디더링 신호(632)는 리스케일링 처리된 에러 계수들의 블록(142)의 리스케일링 처리된 에러 계수 k th 에 적용될 수 있다.

    상기에서 나타낸 바와 같이, 디더링 값들의 블록(602)은 양자화되는 리스케일링 처리된 에러 계수들의 블록(142)과 동일한 차수를 가질 수 있다. 이는, 양자화기들의 컬렉션(326)의 디더링 처리된 전체 양자화기들(322)에 대한 디더링 값들의 단일 블록(602)을 사용할 수 있게 한다는 점에서 유익하다. 다시 말해, 주어진 리스케일링 처리된 에러 계수들의 블록(142)을 양자화 및 인코딩하기 위해, 의사-임의적 디더링(602)은 허용되는 전체 양자화기들의 컬렉션(326, 327) 및 왜곡에 대해 가능한 전체 얼로케이션들을 단지 한번만 발생시킬 수 있다. 인코더(100) 및 해당하는 디코더 간의 동시성(synchronicity)을 이룬 것은 신호의 사용에 있어서, 디더링 신호(602)가 해당되는 디코더로 분명하게 시그널링(signaling)될 필요가 없다는 것이다. 특히, 인코더(100) 및 해당하는 디코더는 리스케일링 처리된 에러 계수들의 블록(142)에 대한 동일한 디더링 값들의 블록(602)을 발생하도록 구성되는 동일한 디더 제네레이터(601)를 사용할 수 있다.

    양자화기들의 컬렉션(326)의 구성은 바람직하게 음향 심리적인 고려들에 기초한다. 낮은 레이트 트랜스폼 코딩은 변환 계수들에 적용된 보편적인 양자화 방법으로 이루어진 리버스-워터 필링 프로세서의 네이쳐(reverse-water filling process or nature)로 인해 발생된 스펙트럼 홀들(spectral holes) 및 밴드 제한(band-limitation)을 포함하는 스펙트럼 잡음을 초래할 수 있다. 스펙트럼 홀들의 가청도(audibility)는 짧은 시간 간격 동안 수위(water level) 아래에서 발생된 잡음을 그것들의 주파수 밴드들(302)에 주입됨으로써 감소될 수 있고, 이는 제로 비트-레이트(zero bit-rate)를 가지도록 할당된다.

    일반적으로, 임의적으로(arbitrarily) 낮은 비트-레이트 처리는 디더링 처리된 양자화기(322)로 가능하다. 예를 들어, 스칼라의 경우는 아주 큰 양자화 스텝-사이즈(qunatization step-size)를 사용하기 위해 선택할 수 있다. 그럼에도 불구하고, 제로 비트-레이트(zero bit-rate) 동작은 다양한 길이의 코더를 가지는 양자화기의 동작을 가능하게 하기 위해 수적인 정확성에 대하여 지나치게 과한 요구를 필요로 하기 때문에, 실제로 실현 가능하지 못하다. 이는, 0dB의 SNR 왜곡 레벨에 디더링 처리된 양자화기(322)를 적용하기 보다 포괄적인 잡음이 채워진 양자화기(321)의 적용하는 것에 대한 동기를 제공한다. 제안된 양자화기들의 컬렉션(326)은 디더링 처리된 양자화기들(322)이 비교적 작은 스텝 사이즈들의 왜곡 레벨들에 대하여 사용되고, 가변적인 길이의 코딩은 수적인 정확성을 유지해야 하는 고려 이슈들을 가지지 않고 수행될 수 있도록 설계된다.

    스칼라 양자화의 경우에 대하여, 차감 디더링을 가지는 양자화기들(322)은 거의 최상의 MSE 수행을 제공하는 포스트-게인(post-gain)을 사용하여 구현될 수 있다. 차감 디더링 처리된 양자화기(322)의 일 예는 도 24b에 도시된다. 디더링 처리된 양자화기(322)는 차감 디더링 구조 내에서 사용되는 유니폼 스칼라 양자화기 Q(uniform scalar quantizer)(612)를 포함한다. 차감 디더링 구조는 디더링 관련된 에러 계수들(리스케일링 처리된 에러 계수들의 블록(142))로부터 디더링 값(632)(디더링 값들의 블록(602))을 차감하도록 구성된 차감 유닛(611) 포함한다. 더욱이, 차감 디더링 구조는 디더링 값(632)(디더링 값들의 블록(602)을 관련된 스칼라 양자화된 에러 계수들에 더하도록 구성된 관련 애딩 유닛(adding unit)(613)을 포함한다. 도시된 예에서, 디더링 차감 유닛(611)은 스칼라 양자화기 Q(612)의 업스트림에 적용되고, 디더링 애딩 유닛(613)은 스칼라 양자화기 Q(612)의 다운스트림에 적용된다. 디더링 값들의 블록(602)의 디더링 값들(632)은 스칼라 양자화기(612)의 스텝 사이즈인 인터벌 [-0.5, 0.5) 또는 [0.1) 시간들로부터의 값을 사용할 수 있다. 디더링 처리된 양자화기(322)의 대체 가능한 방법으로, 디더링 차감 유닛(611) 및 디더링 애딩 유닛(613)이 서로 교환될 수 있다.

    차감 디더링 구조는 양자화기 포스트-게인

    에 의해 양자화된 에러 계수들을 리스케일링 하도록 구성된 스칼링 유닛(614)이 뒤따를 수 있다. 양자화된 에러 계수들의 스케일링 이후, 양자화된 에러 계수들의 블록(145)이 획득된다. 디더링 처리된 양자화기(322)로의 입력 X는 일반적으로 디더링 처리된 양자화기(322)를 이용하여 양자화되는 특정 주파수 밴드로 나뉘는 리스케일 처리된 에러 계수들의 블록(142)의 계수들에 대응된다. 이와 유사한 방법으로, 디더링 처리된 양자화기(322)의 출력은 일반적으로 특정 주파수 밴드로 나뉘는 양자화된 에러 계수들의 블록(145)의 계수들에 대응된다.

    디더링 처리된 양자화기(322)의 입력 X가 제로 평균(zero mean)이고, 입력 X의 분산

    을 알고 있다고 가정할 수 있다(예를 들어, 신호의 분산은 신호의 엔벨로프로부터 결정될 수 있다). 더욱이, 디더링 값들(632)을 포함하는 의사-랜덤 디더링 블록 Z(602)는 인코더(100) 및 관련 디코더에 이용될 수 있다고 가정할 수 있다. 더욱이, 디더 값들(632)은 입력 X로부터 독립적이라고 가정할 수 있다. 다양하고 다른 디더들(602)이 사용될 수 있고, 이는 0 과 사이의 균등하게 분포될 수 있으며 로 표시될 수 있다. 실제로, 소위 셔크만(Schuchman) 상태를 충족시키는 모든 디더는 사용될 수 있다(예를 들어, 스칼라 양자화기(612)의 스템 사이즈 인 [-0.5, 0.5) 사이의 시간들이 균등하게 분포된 디더(602)).

    양자화기 Q(612)는 격자(lattice) 모양일 수 있고, 그것의 보로노이(Voronoi) 셀의 크기는

    일 수 있다. 이러한 경우, 디더링 신호는 사용되는 격자의 보로노이 셀의 크기를 따라 균등한 분배를 가질 수 있다.

    양자화기 포스트-게인

    은 디더링 양자화기가 어떠한 스텝 사이즈(즉, 비트-레이트)에 대해서도 분석적으로 다루기 쉽기 때문에, 주어진 신호의 분산 및 양자화 스텝 사이즈를 도출할 수 있다. 특히, 포스트-게인은 차감 디더링을 가지는 양자화기의 MSE 수행을 향상시키기 위해 도출될 수 있다. 포스트-게인은 으로 주어질 수 있다.

    포스트-게인

    의 적용함에도 불구하고, 디더링 처리된 양자화기(322)의 MSE 수행은 향상될 수 있고, 디더링 처리된 양자화기(322)는 일반적으로 디더링 처리가 없는 양자화기보다 더 낮은 MSE 수행 능력을 가질 수 있다(비트-레이트가 증가할수록 이 수행 손실은 사라질 지라도). 결과적으로, 디더링 처리된 양자화기들은 일반적으로 디더링 처리되지 않은 버전들에 비하여 더 많은 잡음이 있다. 그러므로, 디더링 처리된 양자화기들(322)의 사용이 디더링 처리된 양자화기들(322)의 인지 가능한 이로운 노이즈-채움 특징에 의해 당연시되는 경우에만, 디더링 처리된 양자화기들(322)을 사용하는 것이 바람직할 수 있다.

    이러한 이유로, 양자화기들의 3개의 타입을 포함하는 양자화기들(326)의 컬렉션(326)이 제공될 수 있다. 정렬된 양자화기 컬렉션(326)은 하나의 노이즈-채움 양자화기(321), 차감 디더링을 가지는 하나 또는 그 이상의 양자화기들(322) 및 하나 또는 그 이상의 클래식(디더링 처리되지 않는) 양자화기들(323)을 포함할 수 있다. 연속되는 양자화기들(321, 322, 323)은 SNR에 대해 증가적인 향상을 제공할 수 있다. 양자화기들의 정렬된 컬렉션(326)의 인접한 양자화기들 쌍 간의 증가적인 향상은 몇몇 또는 인접한 양자화기들의 쌍들 모두에 대해 대체적으로 일정할 수 있다.

    양자화기들의 특정 컬렉션(326)은 디더링 처리된 양자화기들(322)의 개수 및 특정 컬렉션(326) 내의 디더링 처리되지 않는 양자화기들(323)의 개수에 의해 정의될 수 있다. 더욱이, 양자화기들의 컬렉션(326)은 디더링 신호(602)의 특정한 구현에 의해 정의될 수 있다. 컬렉션(326)은 변환 계수 렌더링(transform coefficient rendering)의 지각 가능한 효율적인 양자화를 제공하기 제로 레이트 노이즈-채움(zero rate noise-fill)(0dB보다 다소 낮거나 동일한 SNR을 생산하는); 중간 왜곡 레벨(중간 SNR)에서의 차감 디더링에 의한 노이즈 채움; 및 낮은 왜곡 레벨들(높은 SNR)에서의 노이즈-채움의 부족(lack of the noise-fill)를 가지도록 설계될 수 있다. 컬렉션(326)은 레이트-얼로케이션 프로세스 동안, 선택될 수 있는 양자화기들의 세트를 제공한다. 양자화기들의 컬렉션(326)부터 특정 주파수 밴드(302)의 계수들까지의 특정 양자화기 적용은 레이트-얼로케이션 프로세스 동안 결정된다. 양자화기가 특정 주파수 밴드(302)의 계수들을 양자화하기 위해 사용될 것은 일반적으로 선험적(priori)인 것으로 알려져 있지 않다. 그러나, 어떤 양자화기들의 컬렉션(326)의 구성인지는 일반적으로 선험적으로 알려져 있다.

    에러 계수들의 블록(142)의 서로 다른 주파수 밴드들(302)에 대해 다른 타입의 양자화기들을 이용하는 측면은 도 24c에 도시되었고, 여기서 레이트 얼로케이션 프로세스의 바람직한 결과가 나타난다. 이 예에서, 레이트 얼로케이션은 소위 리버스 워터-필링 원리(reverse water-filling principle)를 따르는 것으로 가정된다. 도 24c는 입력 신호(또는 계수들의 양자화되는 블록의 엔벨로프)의 스펙트럼(625)를 도시하고 있다. 주파수 밴드(623)는 비교적 높은 스펙트럼 에너지를 가지고, 비교적 낮은 왜곡 레벨들을 제공하는 클래식 양자화기(323)를 이용하여 양자화되는 것을 볼 수 있다. 주파수 밴드들(622)은 수위(624) 위의 스펙트럼 에너지를 나타낸다. 이러한 주파수 밴드들(622)에 있는 계수들은 중간 왜곡 레벨들을 제공하는 디더링 처리된 양자화기들(322)을 이용하여 양자화될 수 있다. 주파수 밴드들(621)은 수위(624) 아래의 스펙트럼 에너지를 나타낸다. 이러한 주파수 밴드들(621)에 있는 계수들은 제로-레이트 노이즈 채움을 이용하여 양자화될 수 있다. 계수들의 특정 블록(스펙트럼(625)에의해 나타나는)을 양자화하기 위해 사용되는 다른 양자화기들은 양자화기들의 특정 컬렉션(326)의 일부가 될 수 있고, 이는 계수들의 특정 블록들에 대해 결정될 수 있다.

    이러한 이유로, 세 개의 서로 다른 타입의 양자화기들(321, 322, 323)은 선택적으로 적용될 수 있다(예를 들어, 주파수를 고려하여 선택적으로). 특정 타입의 양자화기 적용에 대한 결정은 이하에서 설명되는 레이트 얼로케이션 절차에 대한 본문에서 결정될 수 있다. 레이트 얼로케이션 절차는 입력 신호(또는 예를 들어, 신호의 파워 스펙트럼 밀도(power spectral density)로부터)의 RMS 엔벨로프로부터 도출되는 지각적인 기준을 사용할 수 있다. 특정 주파수 밴드(302)에 적용되는 양자화기의 타입은 관련된 디코더에 분명하게 시그널링 될 필요가 없다. 관련 디코더가 근본적으로 지각적인 기준(예를 들어, 얼로케이션 엔벨로프(138))으로부터 입력 신호의 블록을 양자화하기 위해 사용되는 양자화기들의 특정 세트(326)를 양자화기들의 컬렉션의 미리 결정된 구성(예를 들어, 서로 다른 양자화기들의 컬렉션의 미리 결정된 세트) 및 하나의 글로벌 레이트 얼로케이션 파라미터(오프셋 파라미터로 여겨지는)로부터 결정할 수 있기 때문에, 선택된 양자화기의 타입을 시그널링 할 필요는 없어졌다.

    인코더(100)에 의해 사용되는 양자화기들의 컬렉션(326)의 디코더에서의 결정은 양자화기들의 컬렉션(326)을 왜곡(예를 들어, SNR)을 따라 양자화기들이 정렬되도록 설계함으로써 용이하게 되었다. 컬렉션(326)의 각 양자화기는 일정한 값에 의해 이전 양자화기의 왜곡을 감소(SNR을 개선)시킬 수 있다. 더욱이, 특정 양자화기들의 컬렉션(326)은 완전한 레이트 얼로케이션 프로세스 동안, 의사-랜덤 디더링 신호(602)의 단일 실현과 관련될 수 있다. 그 결과, 레이트 얼로케이션 절차의 결과는 디더링 신호(602)의 실현에 영향을 주지 않는다. 이는, 레이트 얼로케이션 절차의 집중성을 보장하는데 유리하다. 더욱이, 이는 디코더가 디더링 신호(602)의 단일 실현을 아는 경우, 디코더가 디코딩을 수행할 수 있게 한다. 디코더는 인코더(100) 및 관련된 디코더에서 동일한 의사-랜덤 디더링 제너레이터(601)를 사용함으로써, 디더링 신호(602)의 실현을 인지하도록 만들 수 있다.

    상기에서 나타낸 바와 같이, 인코더(100)는 비트 얼로케이션 프로세스를 수행하도록 구성될 수 있다. 이러한 목적을 위해, 인코더(100)는 비트 얼로케이션 유닛들(109, 110)을 포함할 수 있다. 비트 얼로케이션 유닛(109)은 리스케일링 처리된 에러 계수들의 현재 블록(142)을 인코딩 가능한 비트들(143)의 전체 개수를 결정하도록 구성될 수 있다. 비트들(143)의 전체 개수는 얼로케이션 엔벨로프(138)를 기반으로 결정될 수 있다. 비트 얼로케이션 유닛(110)은 얼로케이션 엔벨로프(138) 내의 관련 에너지 값을 따라 상대적인 리스케일링 처리된 다른 에러 계수들의 비트들의 얼로케이션을 제공하도록 구성될 수 있다.

    비트 얼로케이션 프로세스는 반복적인 얼로케이션 절차를 이용할 수 있다. 얼로케이션 절차의 과정 가운데, 얼로케이션 엔벨로프(138)는 오프셋 파라미터를 이용하여 오프셋 될 수 있고, 그렇게 함으로써 증가된/감소된 해상도를 가지는 양자화기들을 선택할 수 있다. 예를 들어, 오프셋 파라미터는 전체적인 양자화기 처리를 개선시키거나 거칠게하는데 사용될 수 있다. 오프셋 파라미터는 현재 블록(131)에 할당된 비트들(143)의 전체 개수에 대응(또는 초과하지 않는)되는 비트들의 개수를 포함하는 오프셋 파라미터 및 얼로케이션 엔벨로프(138)에 의해 주어지는 양자화기들을 이용하여 획득되는 계수 데이터(163)로 결정될 수 있다. 현재 블록(131)을 인코딩하기 위한 인코더(100)에 의해 사용되는 오프셋 파라미터는 비트스트림에 계수 데이터(163)로 포함될 수 있다. 그 결과, 관련 디코더는 리스케일링 처리된 에러 계수들의 블록(142)을 양자화하기 위한 계수 양자화 유닛(112)에 의해 사용되는 양자화기들을 결정할 수 있다.

    예를 들어, 레이트 얼로케이션 프로세스는 인코더(100)에서 수행될 수 있고, 인지 모델(perceptual model)에 따라 가능한 비트들(143)을 분배하기 위한 것이다. 인지 모델은 변환 계수들의 블록(131)으로부터 도출된 얼로케이션 엔벨로프(138)에 기반할 수 있다. 레이트 얼로케이션 알고리즘은 서로 다른 타입의 양자화기들 즉, 제로-레이트 노이즈-채움(321), 하나 또는 그 이상의 디더링 처리된 양자화기(322) 및 하나 또는 그 이상의 디더링 처리되지 않은 클래식 양자화기(323)에 가능한 비트들(143)을 분배할 수 있다. 특정한 주파수 밴드(302) 스펙트럼의 계수들을 양자화하기 위해 사용되는 양자화의 타입에 대한 최종 결정은 신호 인지 모델(perceptual signal model), 의사-랜덤 디더링의 실현 및 비트-레이트의 제한에 의존할 수 있다.

    관련 디코더에서, 비트 얼로케이션(얼로케이션 엔벨로프(138) 및 오프셋 파라미터으로 나타난)은 편리한 무손실 디코딩(lossless decoding)을 위해 양자화 인덱스들의 가능성을 결정하는데 사용될 수 있다. 양자화 인덱스들의 가능성을 계산하는데 사용된 방법은 풀-밴드 의사-랜덤 디더링(602)의 실현, 신호 엔벨로프(138)에 의해 파라미터화된 인지 모델 및 레이트 얼로케이션 파라미터(즉, 오프셋 파라미터)를 이용한다. 얼로케이션 엔벨로프(138)를 사용함에 있어, 오프셋 파라미터 및 디더링 값들의 블록(602)에 대한 지식, 디코더 내의 양자화기들의 컬렉션(326) 구성은 인코더(100)에서 사용되는 컬렉션(326)과 동시에 이루어질 수 있다.

    상기에서 살펴본 바와 같이, 비트-레이트 제한은 프레임(143) 당 비트들의 최대 허용된 개수의 범위에서 구체화될 수 있다. 이는, 예를 들어, 허프만 코드(Huffman code)를 이용하여 그 후에 엔트로피 인코딩된 양자화 인덱스들을 적용한다. 특히, 이는 비트스트림 순차적인 방식으로 발생되는 경우, 단일 파라미터가 한번에 양자화되는 경우, 관련된 양자화 인덱스가 이진 코드워드(codeword)로 변환되는 경우, 코딩 시나리오에 적용되고, 비트스트림에 첨부될 수 있다.

    연산 코딩(arithmetic coding)(또는 범위 코딩(range coding))을 사용하는 경우, 원리(principle)는 다르다. 연산 코딩에서는, 일반적으로 단일 코드워드는 양자화 인덱스들의 긴 시퀀스(long sequence)에 할당된다. 일반적으로, 특정한 파라미터를 가지는 비트스트림의 특정 부분(portion)을 정확하게 연관짓는 것은 불가능하다. 특히, 연산 코딩에서, 신호의 무작위 실현을 인코딩하도록 요구하는 비트들의 수는 일반적으로 알려져있지 않다. 이는, 비록 신호의 통계적 모델이 알려져있는 경우이다.

    앞서 언급된 기술적 문제에 대해 다루기 위해, 레이트 얼로케이션 알고리즘의 일부인 연산 인코더가 제안된다. 레이트 얼로케이션 프로세스 동안, 인코더는 하나 또는 그 이상의 주파수 밴드들(302)의 세트를 양자화 및 인코딩하기 위해 시도한다. 모든 시도에 대해, 연산 인코더의 상태 변화를 관찰하고, 비트스트림 내의 포지션의 개수를 올리기 위한 계산(많은 비트들을 계산하는 대신)할 수 있다. 최대 비트-레이트 제한이 설정되면, 이 최대 비트-레이트 제한은 레이트 얼로케이션 절차에서 사용될 수 있다. 연산 코드의 종료 비트들(termination bits) 값은 마지막 코딩된 파라미터의 값에 포함될 수 있고, 일반적으로 종료 비트들 값은 연산 코더의 상태에 따라 다양할 수 있다. 그럼에도 불구하고, 종료 값이 한번 가능하기만 하면, 하나 또는 그 이상의 주파수 밴드들(302)의 계수들 세트에 대응되는 양자화 인덱스들을 인코딩하기 위해 필요한 비트들 개수를 결정할 수 있다.

    연산 인코딩의 맥락에 있어서, 디더(602)의 단일 실현은 적체적인 레이트 얼로케이션 프로세스에 사용될 수 있다(특히, 계수들의 블록(142)에 대해). 상기에서 살펴본 바와 같이, 연산 인코더는 레이트 얼로케이션 절차 내에서 특정 양자화기 선택의 비트-레이트 값을 측정하는데 사용될 수 있다. 연산 인코더의 상태 변화는 관찰될 수 있고, 상태 변화는 양자화를 수행하는데 필요한 비트들의 개수를 계산하기 위해 사용될 수 있다. 더욱이, 연산 코드의 종료 프로세스는 레이트 얼로케이션 절차 내에서 사용될 수 있다.

    상기에서 나타난 바와 같이, 양자화 인덱스들은 연산 코드 또는 엔트로피 코드를 이용하여 인코딩될 수 있다. 양자화 인덱스들이 엔트로피 코딩된 경우, 양자화 인덱스들의 확률 분포는 양자화 인덱스들 각각 또는 그룹들에게 다양한 길이의 코드워드들을 배정하기 위해 고려될 수 있다. 디더링의 사용은 양자화 인덱스들의 확률 분포에 대해 영향을 가질 수 있다. 특히, 특정 디더링 신호(602)의 실현은 양자화 인덱스들의 확률 분포에 대해 영향을 가질 수 있다. 디더링 신호(602) 실현에 대한 가상의 무제한 개수 때문에, 일반적인 경우 코드워드 확률은 선험적으로 알려져 있지 않고, 이는 허프만 코딩을 사용하는 것은 불가능하다.

    발명자들에 의해 비교적 작고 관리 가능한 디더링 신호(602)의 실현 세트에 대해 디더링 실현 가능한 개수를 감소시킬 수 있다는 것을 알게 되었다. 일 예에서, 각 주파수 밴드(302)에 대해 디더링 값들의 제한된 세트는 제공될 수 있다. 이러한 목적을 위해, 인코더(100)(관련된 디코더도 마찬가지로)는 M 개의 미리 결정된 디더링 실현들 중 하나를 선택함으로써 디더링 신호(602)를 발생시키도록 구성된 디스크리트 디더 제네레이터(discrete dither generator)(801)를 포함할 수 있다(도 26을 참조). 일 예에서, M개의 미리 결정된 디더링 실현들은 모든 주파수 밴드(302)에 대해 사용될 수 있다. 미리 결정된 디더링 실현들의 개수 M은 M < 5(예를 들어, M = 4 또는 M = 3)일 수 있다.

    디더링 실현들의 제한된 개수 M 때문에, 각각의 디더링 실현에 대해 허프만 코드북을 학습(가능한 다차원에 대해)할 수 있고, M 개의 코드북들의 컬렉션(803)을 생산할 수 있다. 인코더(100)는 선택된 디더링 실현을 기반으로 M 개의 미리 결정된 코드북들의 컬렉션(803) 중 하나를 선택하도록 구성된 코드북 셀렉션 유닛(802)을 포함할 수 있다. 이렇게 함으로써, 엔트로피 코딩은 디더링 발생과의 동시 발생을 보장한다. 선택된 코드북(811)은 선택된 디더링 실현을 이용하여 양자화되는 양자화 인덱스들 각각 또는 그룹들을 인코딩하는데 사용될 수 있다. 그 결과, 디더링 처리된 양자화기들을 사용할 때, 엔트로피 인코딩의 수행은 향상될 수 있다.

    미리 결정된 코드북들의 컬렉션(803) 및 디스크리트 디더 제네레이터(801) 또한 관련 디코더(도 26에 도시된 바와 같이)에서 사용될 수 있다. 디코딩은 의사-랜던 디더링이 사용되는 경우, 디코더가 인코더와 동시에 이루어지는 경우에 실현 가능하다. 이러한 경우, 디코더에서 디스크리트 디더 제네레이터(801)는 디더링 신호(602)를 발생시키고, 특정 디더링 실현은 유일하게 코드북들의 컬렉션(803)으로부터 특정 허프만 코드북(811)과 관련된다. 주어진 음향인식학적 모델(psychoacoustic model)(예를 들어, 얼로케이션 엔벨로프(138) 및 레이트 얼로케이션 파라미터로 나타낸) 및 선택된 코드북(811), 디코더는 디코딩된 양자화 인덱스들(812)을 산출하기 위해 허프만 디코더(551)를 이용하여 디코딩을 수행할 수 있다.

    예를 들어, 허프만 코드북들 중 비교적 작은 세트(803)는 연산 코딩 대신 사용될 수 있다. 허프만 코드북들의 세트(813)에서 특정 코드북(811)의 사용은 디더링 신호(602)의 미리 결정된 실현에 의존될 수 있다. 동시에, M개의 미리 결정된 디더링 실현들을 형성하는 허용 가능한 디더링 값들의 한정된 세트는 이용될 수 있다. 그 후, 레이트 얼로케이션 프로세스는 디더링 처리되지 않은 양자화기들, 디더링 처리된 양자화기들 및 허프만 코딩의 사용을 포함할 수 있다.

    리스케일링 처리된 에러 계수들의 양자화 결과로서, 양자화된 에러 계수들의 블록(145)이 획득된다. 양자화된 에러 계수들의 블록(145)은 관련 디코더에서 사용 가능한 에러 계수들의 블록과 대응된다. 결과적으로, 양자화된 에러 계수들의 블록(145)은 추정된 변환 계수들의 블록(150)을 결정하기 위해 사용될 수 있다. 인코더(100)는 리스케일링 유닛(113)에 의해 수행되는 리스케일링 동작의 인버스 동작을 수행하도록 구성된 인버스 리스케일링 유닛(113)을 포함할 수 있고, 이에 따라 스케일링 처리된 양자화 에러 계수들의 블록(147)을 산출할 수있다. 추정된 변환 계수들의 블록(150)을 스케일링된 블록(147)에 더함으로써, 애딩 유닛(116)은 재생 평탄화 계수들의 블록(148)을 결정하는데 사용될 수 있다. 더욱이, 역 평탄화 유닛(114)은 조정된 엔벨로프(139)를 재생 평탄화 계수들의 블록(148)에 적용하기 위해 사용될 수 있고, 그렇게 함으로써 재생 계수들의 블록(149)을 산출할 수 있다. 재생 계수들의 블록(149)은 관련 디코더에서 사용 가능한 변환 계수들의 블록(131) 버전과 대응된다. 그 결과, 재생 계수들의 블록(149)은 추정된 계수들의 블록(150)을 결정하기 위해 프리딕터(117)에서 사용될 수 있다.

    재생 계수들의 블록(149)은 비-평탄화 영역(un-flattened domain)에서 나타날 수 있다, 즉 재생 계수들의 블록(149)은 현재 블록(131)의 스펙트럼 엔벨로프의 표현이다. 상기에서 살펴본 바와 같이, 이는 프리딕터(117)의 수행에 도움이 될 수 있다.

    프리딕터(117)는 하나 또는 그 이상의 재생 계수들의 이전 블록들(149)을 기반으로 추정된 변환 계수들의 블록(150)을 추정하도록 구성될 수 있다. 특히, 프리딕터(117)는 미리 결정된 프리딕션 계수 기준이 감소(예를 들어, 최소화)되는 하나 또는 그 이상의 프리딕터 파라미터들을 결정하도록 구성될 수 있다. 일 예로, 하나 또는 그 이상의 프리딕터 파라미터들은 프리딕션 에러 계수들이 감소(예를 들어, 최소화)되는 에너지, 인지 가능한 가중 에너지(perceptually weighted energy)로 결정될 수 있다. 하나 또는 그 이상의 프리딕터 파라미터들은 인코더(100)에 의해 발생된 비트스트림으로 프리딕터 데이터(164)로서 포함될 수 있다.

    프리딕터(117)는 특허 US61750052에 설명된 신호 모델을 사용할 수 있고, 그에 따른 우선권을 주장하고 있는 이 특허에 포함된 구성은 참조되었다. 하나 또는 그 이상의 프리딕터 파라미터들은 신호 모델의 하나 또는 그 이상의 모델 파라미터들과 부합될 수 있다.

    도 19b는 트랜스폼 기반 스피치 인코더(170)에 대한 다른 예의 블록도를 나타낸다. 도 19b의 트랜스폼 기반 스피치 인코더(170)는 도 19a의 인코더(100)의 많은 콤포넌트들을 포함한다. 그러나, 도 19b의 트랜스폼 기반 스피치 인코더(170)는 다양한 비트-레이트를 가지는 비트스트림을 발생하도록 구성된다. 이러한 목적을 위해, 인코더(170)는 이전 블록들(131)에 대한 비트스트림에 의해 사용된 비트-레이트 트랙을 유지하도록 구성된 평균 비트 레이트(ABR, Average Bit Rate) 상태 유닛(172)을 포함한다. 비트 얼로게이션 유닛(171)은 변환 계수들의 현재 블록(131)을 인코딩 가능한 비트들(143)의 전체 개수를 결정하기 위해 이 정보를 사용한다.

    다음과 같이, 관련 트랜스폼 기반 스피치 디코더(500)는 도 23a 내지 도 23d에 대한 부분에서 설명된다. 도 23a는 트랜스폼 기반 스피치 디코더(500)의 일 예에 대한 블록도이다. 블록도는 트랜스폼 영역에서 시간 영역으로 재생 계수들의 블록(149)을 변환하기 위해 사용되는 합성 필터뱅크(synthesis filterbank)(504)(역 변환 유닛으로도 나타낼 수 있는)를 나타내고, 이를 통해 디코딩된 오디오 신호의 샘플들을 산출할 수 있다. 합성 필터뱅크(504)는 미리 결정된 폭(stride)(예를 들어, 5ms 또는 256 샘플들에 가까운 폭)을 가지는 인버스 MDCT를 사용할 수 있다.

    디코더(500)의 메인 루프(main loop)는 이러한 폭의 단위로 동작할 수 있다. 각 단계는 미리 결정된 시스템의 대역폭 설정에 대한 길이 또는 차원수를 가지는 트랜스폼 영역 벡터(블록이라고도 나타내는)를 생성한다. 합성 필터뱅크(504)의 트랜스폼 사이즈를 제로-패딩 업(zero-padding up) 하고, 트랜스폼 영역 벡터는 미리 결정된 길이(예를 들어, 5ms)의 시간 영역 신호 업데이트를 합성 필터뱅크(504)의 오버랩/추가(overlap/add) 프로세스에 합성하는데 사용될 수 있다.

    상기에서 나타난 바와 같이, 포괄적인 트랜스폼 기반 오디오 코덱들은 일반적으로 5ms 범위의 순간들 다루기 위해 짧은 블록들의 시퀀스들을 가지는 프레임들을 이용한다. 예를 들어, 포괄적인 트랜스폼 기반 오디오 코덱들은 짧고 긴 블록들의 끊임없는 공존을 위해 필요한 트랜스폼들 및 윈도우 스위칭 툴(window switching tool)을 제공한다. 따라서, 도 23a의 합성 필터뱅크(504)의 생략에 의해 정의되는 음성 스펙트럼 프론트엔드(voice spectral frontend)는 추가적인 스위칭 툴들의 진행할 필요없이 편리하게 일반적인 용도의 트랜스폼 기반 오디오 코덱으로 통합될 수 있다. 다시 말해, 도 23a의 트랜스폼 기반 스피치 디코더(500)는 편리하게 포괄적인 트랜스폼 기반 오디오 디코더와 결합될 수 있다. 특히, 도 23a의 트랜스폼 기반 스피치 디코더(500)는 포괄적인 트랜스폼 기반 오디오 디코더(예를 들어, AAC 또는 HE-AAC 디코더)에 의해 제공된 합성 필터뱅크(504)를 사용할 수 있다.

    새로운 비트스트림으로부터(특히, 엔벨로프 데이터(161) 및 비트스트림 내에 포함된 게인 데이터(162)), 신호 엔벨로프는 엔벨로프 디코더(503)에 의해 결정될 수 있다. 특히, 엔벨로프 디코더(503)는 엔벨로프 데이터(161) 및 게인 데이터(162)를 기반으로 조정된 엔벨로프(139)를 결정하도록 구성될 수 있다. 예를 들어, 엔벨로프 디코더(503)는 인터포레이트 유닛(104) 및 인코더(100, 170)의 엔벨로프 리파인먼트 유닛(107)과 유사한 동작을 수행할 수 있다. 앞서 살펴본 바와 같이, 조정된 엔벨로프(109)는 미리 정의된 주파수 밴드들(302)의 세트 내에 있는 신호 분산의 모델을 나타낸다.

    더욱이, 디코더(500)는 조정된 엔벨로프(139)를 평탄화 영역 벡터로 적용도록 구성된 역 평탄화 유닛(114)을 포함하고, 이의 엔트리들은 명목상 하나의 분산일 수 있다. 평탄화 영역 벡터는 인코더(100, 170) 부분에서 설명된 재생 평탄화 계수들의 블록(148)과 부합된다. 역 평탄화 유닛(114)의 출력에서, 재생 계수들의 블록(149)은 획득될 수 있다. 재생 계수들의 블록(149)은 합성 필터뱅크(504)(디코딩된 오디오 신호를 발생시기키 위해) 및 서브밴드 프리딕터(subband predictor)(517).

    서브밴드 프리딕터(517)는 인코더(100,170)의 프리딕터(117)와 유사한 방법으로 동작할 수 있다. 특히, 서브밴드 프리딕터(517)는 하나 또는 그 이상의 재생 계수들의 이전 블록들(149)(비트스트림 내의 시그널링된 하나 또는 그 이상의 프리딕터 파라미터들을 이용하여)을 기반으로 추정된 변환 계수(평탄화 영역의)들의 블록(150)을 결정하도록 구성될 수 있다. 다시 말해, 서브밴드 프리딕터(517)는 프리딕터 랙(lag) 및 프리딕터 게인과 같은 프리딕터 파라미터들을 기반으로 이전에 디코딩된 출력 벡터들 및 신호 엔벨로프들의 버퍼로부터 예측된 평탄화 영역 벡터를 출력하도록 구성될 수 있다. 디코더(500)는 하나 또는 그 이상의 프리딕터 파라미터들을 결정하기 위한 프리딕터 데이터(164)를 디코딩하도록 구성된 프리딕터 디코더(501)를 포함한다.

    디코더(500)는 일반적으로 비트스트림의 가장 큰 부분(예를 들어, 계수 데이터(163)를 기반으로)을 기반으로 추측된 평탄화 영역 벡터에 추가적인 정정을 제공하도록 구성된 스펙트럼 디코더(502)를 더 포함한다. 스펙트럼 디코딩 프로세스는 엔벨로프 및 전송된 얼로케이션 제어 파라미터(오프셋 파라미터라고도 여겨지는)로부터 도출된 얼로케이션 벡터에 의해 주로 제어된다. 도 23a에 도시된 바와 같이, 스펙트럼 디코더(502)는 프리딕터 파라미터들(520)에 대해 직접적으로 의존될 수 있다. 예를 들어, 스펙트럼 디코더(502)는 수신된 계수 데이터(163)를 기반으로 스케일링된 양자화 에러 계수들의 블록(147)을 결정하도록 구성될 수 있다. 인코더(100, 170)의 설명에서 나타난 바와 같이, 리스케일링 처리된 에러 계수들의 블록(142)을 양자화하기 위해 사용되는 양자화기들(321, 322, 323)은 일반적으로 얼로케이션 엔벨로프(138)(조정된 엔벨로프(139)로부터 도출될 수 있는) 및 오프셋 파라미터에 의존될 수 있다. 더욱이, 양자화기들(321, 322, 323)은 프리딕터(117)에 의해 제공된 제어 파라미터(146)에 대해 의존적일 수 있다. 제어 파라미터(146)는 프리딕터 파라미터들(520)(인코더(100, 170)의 아날로그 방식으로)을 이용하는 디코더(500)에 의해 도출될 수 있다.

    상기에서 나타난 바와 같이, 수신된 비트스트림은 조정된 엔벨로프(139)를 결정하는데 사용될 수 있는 엔벨로프 데이터(161) 및 게인 데이터(162)를 포함한다. 특히, 엔벨로프 디코더(503)의 유닛(531)은 엔벨로프 데이터(161)로부터 양자화된 현재 엔벨로프(134)를 결정하도록 구성될 수 있다. 일 예로, 양자화된 현재 엔벨로프(134)는 미리 정의된 주파수 밴드들(302)(도 21a에 나타난 바와 같이) 내의 3dB 해상도(resolution)를 가질 수 있다. 양자화된 현재 엔벨로프(134)는 블록의 모든 세트(132, 332) 특히, 블록들의 쉬프트된 모든 세트(332)에 대해 업데이트(예를 들어, 4개의 모든 코딩 유닛들 즉, 블록들 또는 매 2ms) 될 수 있다. 양자화된 현재 엔벨로프(134)의 주파수 밴드들(302)은 사람의 청각 특징에 맞추기 위한 주파수의 함수로써, 증가하는 주파수(301)를 포함할 수 있다.

    양자화된 엔벨로프(134)는 블록들의 쉬프트된 세트(332)의 각 블록(131)(또는 가능한, 블록들의 현재 세트(132))에 대하여, 양자화된 이전 엔벨로프(135)에서 인터포레이트 처리된 엔벨로프(136)로 선형적 인터포레이트 처리될 수 있다. 인터포레이트 처리된 엔벨로프(136)는 양자화된 3dB 영역에서 결정될 수 있다. 이는, 인터포레이트 에너지 값들(303)이 약 3dB 레벨에 가깝다는 것을 의미한다. 인터포레이트 처리된 엔벨로프(136)의 일 예가 도 21a의 점선 그래프으로 나타나있다. 양자화된 현재 엔벨로프(134)에 대하여, 4개의 레벨 정정 게인들 a(correction gains)(137)(엔벨로프 게인들이라고도 여겨지는)는 게인 데이터(162)로써 제공된다. 게인 디코딩 유닛(532)은 게인 데이터(162)로부터 레벨 정정 게인들 a(137)를 결정하도록 구성될 수 있다. 레벨 정정 게인들은 1dB 단계들에서 양자화될 수 있다. 각 레벨 정정 게인은 서로 다른 블록들(131)에 대해, 보정된 엔벨로프들(139)을 제공하기 위해 관련된 인터포레이트 처리된 엔벨로프(136)에 적용된다. 레벨 정정 게인들(137)의 증가된 해상도로 인해, 보정된 엔벨로프(139)는 증가된 해상도를 가질 수 있다(예를 들어, 1dB 해상도).

    도 21b는 양자화된 이전 엔벨로프(135) 및 양자화된 현재 엔벨로프(134) 간의 선형적 또는 기하학적 인터포레이트 처리의 일 예를 나타낸다. 엔벨로프(135, 134)는 로그함수 스펙트럼의 평균 레벨 파트(mean level part) 및 쉐이프 파트(shape part)로 분리될 수 있다. 이러한 파트들은 선형적, 기하학적, 하모닉(harmonic)(병렬 저항들(parallel resistors)) 방법과 같은 독립적인 방법으로 인터포레이트 처리될 수 있다. 예를 들어, 서로 다른 인터포레이트 방식은 인터포레이트 처리된 엔벨로프(136)를 결정하기 위해 사용될 수 있다. 디코더(500)에 의해 사용되는 인터포레이트 방식은 일반적으로 인코더(100, 170)에 의해 사용된 인터포레이트 방식과 부합된다.

    엔벨로프 디코더(503)의 엔벨로프 리파인먼트 유닛(107)은 조정된 엔벨로프(139)를 양자화(예를 들어, 3dB 스텝으로)함으로써 조정된 엔벨로프(139)로부터 얼로케이션 엔벨로프(138)를 결정하도록 구성될 수 있다. 얼로케이션 엔벨로프(138)는 스펙트럼 디코딩 즉, 계수 데이터(163)의 디코딩을 제어하기 위해 사용되는 명목상 정수 얼로케이션 벡터(integer allocation vector)를 생성하기 위해 얼로케이션 제어 파라미터 또는 오프셋 파라미터(계수 데이터(163) 내에 포함된)와 결합되어 사용될 수 있다. 특히, 명목적인 정수 얼로케이션 벡터는 계수 데이터(163) 내에 포함된 양자화 인덱스들을 역 양자화하기 위한 양자화기를 결정하기 위해 사용될 수 있다. 얼로케이션 엔벨로프(138) 및 명목적 정수 얼로케이션 벡터는 인코더(100, 170) 및 디코더(500)에서 아날로그 방식으로 결정될 수 있다.

    도 27은 얼로케이션 엔벨로프(138) 기반 비트 얼로케이션 프로세스의 일 예를 나타낸다. 상기에서 살펴본 바와 같이, 얼로케이션 엔벨로프(138)는 미리 결정된 해상도(예를 들어, 3dB 해상도)를 따라 양자화될 수 있다. 얼로케이션 엔벨로프(138)의 양자화된 각 스펙트럼 에너지 값은 해당하는 정수 값으로 할당될 수 있고, 여기서, 조정된 정수 값들은 미리 결정된 해상도(예를 들어, 3dB 차이)와 관련된 스펙트럼 에너지 차이를 나타낼 수 있다. 정수들의 세트 결과는 정수 얼로케이션 엔벨로프(1004)(iEnv로 나타내는)로 여길 수 있다. 정수 얼로케이션 엔벨로프(1004)는 특정 주파수 밴드(302)(주파수 밴드 인덱스, 밴드 인덱스로 구분되는)의 계수를 양자화하기 위해 사용되는 양자화기의 직접 지시(direct indication)를 제공하는 명목상 정수 얼로케이션 벡터(iAlloc로 나타냄)를 산출하기 위한 오프셋 파라미터에 의해 오프셋 처리될 수 있다.

    도 27은 주파수 밴드들(302)의 함수(function)에 대한 정수 얼로케이션 엔벨로프(1004)의 도표(1003)를 나타낸다. 이는, 주파수 밴드(1002)(bandIdx = 7)에 대하여, 정수 얼로케이션 엔벨로프(1004)는 정수값 -17(iEnv[7]=-17)을 가진다. 정수 얼로케이션 엔벨로프(1004)는 최대값(iMax로 나타내는, 예를 들어, iMax = -15)으로 한정될 수 있다. 비트 얼로케이션 프로세스는 정수 얼로케이션 엔벨로프(1004) 및 오프셋 파라미터(AllocOffset으로 나타낸)의 함수로 양자화기 인덱스(1006)(iAlloc [bandIdx]로 나타낸)를 제공하는 비트 얼로케이션 공식을 사용할 수 있다. 상기에서 살펴본 바와 같이, 오프셋 파라미터(즉, AllocOffset)는 관련 디코더(500)로 전송되고, 그렇게 함으로써 디코더(500)는 비트 얼로케이션 공식을 이용하여 양자화기 인덱스들(1006)을 결정 가능하게 된다. 비트 얼로케이션 공식은 다음과 같이 주어질 수 있다.

    iAlloc[bandIdx]=iEnv[bandIdx]-(iMax-CONSTANT_OFFSET)+AllocOffset

    여기서, CONSTANT_OFFSET은 일정한 오프셋 예를 들어, CONSTANT_OFFSET=20과 같이 일정한 오프셋일 수 있다. 일 예에서, 비트 얼로케이션 프로세스는 비트-레이트 제한이 오프셋 파라미터 AllocOffset=-13으로 이루어 질 수 있는 것으로 결정되면, 7번째 주파수 밴드의 양자화기 인덱스(1007)는 iAlloc[7]=-17-(-15-20)-13=5로 획득될 수 있다. 모든 주파수 밴드들(302)에 대하여 상기 언급된 비트 얼로케이션 공식을 이용함으로써, 모든 주파수 밴드들(302)에 대한 양자화기 인덱스들(1006)(및 양자화기들(321, 322, 323)이 결정될 수 있다. 영(0)보다 작은 양자화기 인덱스는 양자화기 인덱스 0으로 올려질 수 있다. 이와 유사한 방법으로, 최대 가능한 양자화기 인덱스보다 큰 양자화기 인덱스는 최대 가능한 양자화기 인덱스로 내려질 수 있다.

    더욱이, 도 27은 본 문헌에서 설명되는 양자화 방식을 사용하여 만들어지는 노이즈 엔벨로프(noise envelope)(1011)의 일 예를 나타낸다. 노이즈 엔벨로프(1011)는 양자화 동안 발생되는 양자화 노이즈의 엔벨로프를 나타낸다. 신호 엔벨로프(도 27에서, 정수 얼로케이션 엔벨로프(1004)로 나타낸)가 동시에 계획되는 경우, 노이즈 엔벨로프(1011)는 양자화 노이즈의 분포가 지각적으로 각 신호 엔벨로프에 대해 최적화되도록 나타난다.

    디코더(500)가 수신된 비트스트림으로 동기화(synchronize)되도록 하기 위해, 서로 다른 타입의 프레임들이 전송될 수 있다. 프레임은 블록들의 세트(132, 332) 특히, 쉬프트된 블록들의 블록(332)과 대응될 수 있다. 특히, 소위 P-프레임들이 전송될 수 있고, 이는 이전 프레임에 대해 비교적인 방법으로 인코딩된다. 상기에서 설명에서, 디코더(500)는 양자화된 이전 엔벨로프(135)를 인지하는 것으로 가정되었다. 양자화된 이전 엔벨로프(135)는 이전 프레임 내에 현재 세트(132) 또는 대응하는 쉬프트된 세트(332)가 P-프레임과 관련될 수 있다는 것이 제공될 수 있다. 그러나, 처음 시나리오(scenario)에서, 디코더(500)는 일반적으로 양자화된 이전 엔벨로프(135)를 인지하고 있지 않다. 이러한 목적을 위해, I-프레임이 전송될 수 있다(예를 들어, 처음 또는 규칙적으로). I-프레임은 두 개의 엔벨로프들을 포함할 수 있고, 그 중 하나는 양자화된 이전 엔벨로프(135)에 사용되고, 또 다른 하나는 양자화된 현재 엔벨로프(134)에 사용된다. I-프레임은 음성 스펙트럼 프론트엔드(예를 들어, 프랜스폼 기반 스피치 디코더(500) 예를 들어, 서로 다른 오디오 코딩 모드를 사용하는 프레임일 경우 및/또는 오디오 비트스트림의 정확한 접합 포인트(splicing point)를 가능하게 하기 위한 도구를 사용할 경우의 시작에 사용될 수 있다.

    서브밴드 프리딕터(517)의 동작은 도 23d에 도시되었다. 도시된 예에서, 프리딕터 파라미터들(520)은 랙 파라미터(lag parameter) 및 프리딕터 게인 파라미터 g 이다. 프리딕터 파라미터들(520)은 랙 파라미터 및 프리딕터 게인 파라미터에 대해 미리 결정된 테이블의 가능한 값들을 사용하는 프리딕터 데이터(164)로부터 결정될 수 있다. 이것은 프리딕터 파라미터들(520)의 비트-레이트 효율적 전송을 가능하게 한다.

    디코딩된 하나 또는 그 이상의 이전 변환 계수 벡터들(즉, 하나 또는 그 이상의 재생 계수들의 이전 블록들(149)은 서브밴드(또는 MDCT) 신호 버퍼(541)에 저장될 수 있다. 버퍼(541)는 간격(예를 들어, 매 5ms)을 따라 업데이트 될 수 있다. 프리딕터 엑스트랙터(predictor extractor)(543)는 정규화된 랙 파라미터 T에 의존적인 버퍼(541)에서 동작되도록 구성될 수 있다. 정규화된 랙 파라미터 T는 랙 파라미터(520)를 간격 단위(예를 들어, MDCT 간격 단위)로 정규화함으로써, 결정될 수 있다. 랙 파라미터 T가 정수인 경우, 엑스트랙터(543)는 디코딩된 하나 또는 그 이상의 이전 변환 계수 벡터 T 시간 단위를 버퍼(541)로 페치(fetch)할 수 있다. 다시 말해, 랙 파라미터 T는 추정된 변환 계수들의 블록(150)을 결정하기 위해 사용되는 재생 계수들의 하나 또는 그 이상의 이전 블록들( 149) 중 하나를 나타낼 수 있다. 엑스트랙터(543)의 가능한 구현에 대한 구체적인 설명은 특허 US61750052에서 제공되고, 그에 따른 우선권을 주장하고 있는 이 특허에 포함된 구성은 참조되었다.

    엑스트랙터(543)는 풀 신호 엔벨로프들(full signal envelopes)을 운반하는 벡터들(또는 블록들)에서 동작할 수 있다. 반면, 추정된 변환 계수들의 블록(150)(서브밴드 프리딕터(517)에 의해 제공되는)은 평탄화 영역에서 나타난다. 결과적으로, 엑스트랙터(543)의 출력은 평탄화 영역 벡터를 만들 수 있다. 이것은 쉐이퍼(544)의 사용은 재생계수들의 하나 또는 그 이상의 이전 블록들(149)의 조정된 엔벨로프(139)의 사용을 가능하게 할 수 있다. 재생 계수들의 하나 또는 그 이상의 이전 블록들(149)의 조정된 엔벨로프들(139)은 엔벨로프 버퍼(542)에 저장될 수 있다. 쉐이퍼 유닛(544)은 평탄화에서 사용되는 딜레이된 신호 엔벨로프를 T 0 단위를 엔벨로프 버퍼(542)로 페치하도록 구성될 수 있고, T 0 는 T에 가까운 정수이다. 이후, 평탄화 영역 벡터는 게인 파라미터 g에 의해 추정된 변환 계수들의 블록(150)을 산출하기 위해 스케일링 처리될 수 있다(평탄화 영역에서).

    대체적으로, 쉐이퍼(544)에 의해 수행된 딜레이된 평탄화 프로세스는 서브밴드 프리딕터(517) 평탄화 영역에서 동작하는 예를 들어, 재생 평탄화 계수들의 블록(148)에서 동작하는 서브밴드 프리딕터(517)를 사용함으로써, 생략될 수 있다. 그러나, 이는 트랜스폼의 시간 에일리어싱 측면(time aliasing aspects of the transform)(예를 들어, MDCT 트랜스폼) 때문에, 평탄화 영역 벡터들(또는 블록들)의 시퀀스가 시간 신호들과 잘 맵핑되지 않는 것을 알 수 있다. 그 결과, 엑스트랙터(543)의 근원적인 신호 모델과의 적합함은 감소되고, 코딩 노이즈의 더 높은 레벨은 대체적인 구조의 원인이 된다. 다시 말해, 서브밴드 프리딕터(517)에 의해 사용된 신호 모델들(예를 들어, 사인 곡선 또는 주기적인 모델들)은 비-평탄화 영역에서(평탄화 영역과 비교하여) 향상된 수행을 산출하는 것을 알 수 있었다.

    대체적인 예에서, 프리딕터(517)의 출력(즉, 추정된 변환 계수들의 블록(150)은 역 평탄화 유닛(114)(즉, 재생 계수들의 블록(149)으로)의 출력에 추가될 수 있다(도 23a 참조). 이후, 도 23c의 쉐이퍼 유닛(544)은 딜레이된 평탄화 및 역 평탄화 동작의 결합을 수행하도록 구성될 수 있다.

    수신된 비트스트림 내의 요소들은 서브밴트 버퍼(541) 및 엔벨로프 버퍼(542)가 예를 들어, I-프레임의 제1 코딩 유닛(즉, 제1 블록)의 경우 같이, 간헐적으로 동일한 높이가 되는 것을 제어할 수 있다. 이는, 이전 데이터의 인지 없이 I-프레임의 디코딩을 가능하게 한다. 제1 코딩 유닛은 일반적으로 예측 기여(predictive contribution)를 사용할 수 없으나, 비교적 더 작은 수의 비트들을 전달하는 프리딕터 정보(520)인 경우는 사용할 수 있다. 프리딕션 게인의 손실은 제1 코딩 유닛의 프리딕션 에러 코딩에 더 많은 비트들을 할당함으로써, 보상할 수 있다. 일반적으로, 프리딕터 기여는 I-프레임의 제2 코딩 유닛(즉, 제2 블록)에 대해 다시 상당하다. 이러한 측면 때문에, I-프레임들의 아주 많은 사용에도 불구하고, 질(quality)은 비트-레이트의 비교적 적은 향상을 유지할 수 있다.

    다시 말해, 블록들의 세트들(132, 332)(프레임들이라고도 불리는)은 프리딕티브 코딩(predictive coding)을 사용하여 인코딩되는 복수의 블록들(131)을 포함한다. I-프레임을 인코딩할 때, 블록들의 세트(332) 중 제1 블록(203)만 프리딕티브 인코더에 의해 만들어지는 코딩 게인을 이용하여 인코딩될 수 없다. 이미 직접적으로 이어지는 블록(201)은 프리딕티브 인코딩의 편리를 사용할 수 있다. 이는, 효율적인 코딩과 관련된 I-프레임의 결점은 프레임(332)의 변환 계수들의 제1 블록(203)을 인코딩하는 것이 제한되고, 프레임(332)의 다른 블록들(201, 204, 205)에 적용되지 않는다는 것이다. 이러한 이유로, 본 문헌에서 설명된 트랜스폼 기반 스피치 코딩 방식은 코딩 효율에 두드러진 영향 없이 I-프레임의 비교적 빈번한 사용을 가능하게 한다. 예를 들어, 현재 설명되는 트랜스폼 기반 스피치 코딩 방식은 특히 비교적 빠르고 및/또는 비교적 디코더 및 인코더 사이에 빈번한 동기화가 요구되는 분야에 적합하다.

    도 23d는 스펙트럼 디코더(502)의 일 예에 대한 블록도이다. 스펙트럼 디코더(502)는 엔트로피 인코딩된 계수 데이터(163)를 디코딩하도록 구성된 무손실 디코더(551)를 포함한다. 더욱이, 스펙트럼 디코더(502)는 계수 데이터(163) 내에 포함된 양자화 인덱스들에 계수 값들을 할당하도록 구성된 역 양자화기(552)를 포함한다. 인코더(100, 170)의 설명에서 살펴본 바와 같이, 서로 다른 변환 계수들은 미리 결정된 양자화기들의 세트 예를 들어, 스칼라 양자화기들에 기반을 둔 한정된 모델 세트들로부터 선택된 서로 다른 양자화기들을 사용하여 서로 다른 변환 계수들은 양자화될 수 있다. 도 22에 나타난 바와 같이, 양자화기들(321, 322, 323)의 세트는 서로 다른 타입들의 양자화기들을 포함할 수 있다. 양자화기들의 세트는 노이즈 합성(제로 비트-레이트의 경우), 하나 또는 그 이상의 디더링 처리된 양자화기들(322)(비교적 낮은 SNR, SNR들 및 중간 비트-레이트) 및/또는 하나 또는 그 이상의 일반 양자화기들(323)(비교적 높은 SNR들 및 비교적 높은 비트-레이트들)을 포함할 수 있다.

    엔벨로프 리파인먼트 유닛(107)은 얼로케이션 벡터를 산출하기 위해 계수 데이터(163) 내에 포함된 오프셋 파라미터와 결합될 수 있는 얼로케이션 엔벨로프(138)를 제공하도록 구성될 수 있다. 얼로케이션 벡터는 각 주파수 밴드(302)에 대한 정수 값을 포함한다. 특정 주파수 밴드(302)에 대한 정수 값은 특정한 주파수 밴드(302)의 변환 계수들의 역 양자화에 사용되는 레이트-왜곡 포인트를 나타낸다. 다시 말해, 특정한 주파수 밴드(302)에 대한 정수 값은 특정한 밴드(302)의 변환 계수들을 역 양자화하기 위해 사용되는 양자화기를 나타낸다. 정수값 1의 증가는 SNR의 1.5dB 증가와 대응된다. 디더링 처리된 양자화기들(322) 및 일반 양자화기들(323)에 대하여, 라플라시안 확률 분포 모델(Laplacian probability distribution model)은 연산 코딩을 사용할 수 있는 무손실 코딩에 사용될 수 있다. 하나 또는 그 이상의 디더링 처리된 양자화기들(322)은 낮고 높은 비트-레이트 경우들 간의 끊김없는 방법에서 갭을 연결하기 위해 사용될 수 있다. 디더링 처리된 양자화기들(322)은 고정된 노이즈를 가진 신호들에 대하여 상당히 부드러운 오디오 출력의 질을 생성하기에 유리할 수 있다.

    다시 말해, 역 양자화기(552)는 변환 계수들의 현재 블록(131)의 계수 양자화 인덱스들을 수신하도록 구성될 수 있다. 특정 주파수 밴드(302)의 하나 또는 그 이상의 계수 양자화 인덱스들은 미리 결정된 양자화기들의 세트 중 관련 양자화기를 사용하여 결정된다. 특정 주파수 밴드(302)에 대한 얼로케이션 벡터의 값(오프셋 파라미터을 가지는 얼로케이션 엔벨로프(138)를 오프셋 처리함으로써 결정될 수 있는)은 특정한 주파수 밴드(302)의 하나 또는 그 이상의 계수 양자화 인덱스들을 결정하기 위해 사용되는 양자화기를 나타낸다. 양자화기를 결정함으로써, 하나 또는 그 이상의 계수 양자화 인덱스들은 양자화된 에러 계수들의 블록(145)을 산출하기 위해 역 양자화될 수 있다.

    더욱이, 스펙트럼 디코더(502)는 스케일된 양자화 에러 계수들의 블록(147)을 제공하기 위한 인버스-리스케일링 유닛(113)을 포함할 수 있다. 추가적인 도구들 및 도 23d의 무손실 디코더(551) 및 역 양자화기(552) 간의 상호 관계는 도 23a에 나타난 전체적인 디코더(500)에서 그것의 사용을 스펙트럼 디코딩하는 것을 적응하는데 사용될 수 있고, 스펙트럼 디코더(502)(예를 들면, 양자화된 에러계수들의 블록(145))의 출력은 예측된 평탄화 영역 벡터에 추가적인 정정을 제공하기 위해 사용된다(즉, 추정된 변환 계수들의 블록(150)). 특히, 추가적인 툴들은 인코더(100, 170)에 의해 수행되는 프로세싱과 관련된 디코더(500)에 의해 수행되는 프로세싱을 보장할 수 있다.

    특히, 스펙트럼 디코더(502)는 휴리스틱 스케일링 유닛(heuristic scaling unit)(111)을 포함할 수 있다. 인코더(100, 170)과 접목되어 나타난 바와 같이, 휴리스틱 스케일링 유닛(111)은 비트 얼로케이션에 대한 영향을 가질 수 있다. 인코더(100, 170)에서, 프리딕션 에러 계수들의 현재 블록들(141)은 휴리스틱 룰에 의해 단위 분산으로 스케일 업 처리될 수 있다. 그 결과, 디폴트 얼로케이션은 휴리스틱 스케일링 유닛(111)의 최종 다운스케일링 처리된 출력의 지나치게 좋은 양자화를 이끌 수 있다. 이러한 이유로, 얼로케이션은 프리딕션 에러 계수들의 변조를 위해 이와 유사한 방법으로 변조되어야 한다.

    그러나, 상기에서 살펴본 바와 같이, 하나 또는 그 이상의 낮은 주파수 빈들(또는 낮은 주파수 밴드들)에 대하여 코딩 리소스(coding resource)의 감소를 피하는데 유리하다. 특히, 이는 유성의 상황에서 대부분 눈에 띄게 발생하는 LF(low frequency) 소름/노이즈 잡음(즉, 비교적 큰 제어 파라미터(146)을 가지는 신호에 대해, rfu)에 대응하는데 유리하다. 예를 들어, 이하에서 설명되는 제어 파라미터(146)에 의존되는 비트 얼로케이션/양자화기 선택은 "보이싱 어댑티드 LF 퀄리티 부스트(vosing adaptive LF quality boost)"로 고려될 수 있다.

    스펙트럼 디코더는 프리딕터 게인 g, rfu=min(1, max(g,0))의 한정된 버전인 rfu라는 제어 파라미터(146)에 의존적일 수 있다.

    제어 파라미터(146)를 이용하여, 인코더(100, 170)의 계수 양자화 유닛(112) 및 역 양자화기(552)에 사용된 양자화기들 세트는 조정될 수 있다. 특히, 양자화기들의 소음은 제어 파라미터(146)를 기반으로 조정될 수 있다. 예를 들어, 1에 가까운 제어 파라미터(146)의 값, rfu는 디더링 처리된 양자화기들을 이용하여 얼로케이션 레벨들의 범위의 제한 및 노이즈 통합 레벨의 분산 감소를 해결할 수 있다. 일 예에서, rfu=0.75 이고 노이즈 게인이 1 - rfu과 동일한 디더 결정 임계값이 설정될 수 있다. 디더링 조정은 무손실 디코딩 및 역 양자화 모두에 영향을 줄 수 있고, 노이즈 게인 조정은 일반적으로 단지 역 양자화에만 영향을 준다.

    유음성/음색의 상황에 대해 프리딕터 기여는 상당하다는 것을 추정할 수 있다. 예를 들어, 비교적 높은 프리딕터 게인 g(즉, 비교적 높은 제어파라미터(146))는 유음성 또는 음색 스피치 신호라는 것을 타나낼 수 있다. 이와 같은 상황에서, 관련된 디더 또는 정확한(제로 얼로케이션 경우) 노이즈의 추가는 경험상 인코딩된 신호의 이전 질에 역효과를 가진다. 그 결과, 디더링 처리된 양자화기들(322)의 개수 및/또는 노이즈 통합 양자화기(321)에 사용된 노이즈의 타입은 프리딕터 게인 g를 기반으로 적용될 수 있고, 이렇게 함으로써 인코딩된 스피치 신호의 이전 질을 향상시킬 수 있다.

    예를 들어, 제어 파라미터(146)는 디더링 처리된 양자화기들(322)에 사용된 SNR들의 범위(324, 325)를 변조하기 위해 사용될 수 있다. 일 예에서는, 디더링 처리된 양자화기들에 대한 제어 파라미터(146)는 rfu < 0.75인 경우, 범위(324)가 디더링 처리에 사용될 수 있다. 다시 말해, 제어 파라미터(146)가 미리 결정된 임계값 아래일 경우, 양자화기들의 제1 세트(326)가 사용될 수 있다. 반면에, 제어 파라미터(146)가 rfu ≥ 0.75인 경우, 범위(325)가 디더링 처리되는 양자화기들로 사용될 수 있다. 다시 말해, 제어 파라미터(146)가 미리 결정된 임계값보다 크거나 동일한 경우, 양자화기들이 제2 세트(327)가 사용될 수 있다.

    더욱이, 제어 파라미터(146)는 분산 및 비트 얼로케이션의 변조를 위해 사용될 수 있다. 이러한 이유는 일반적으로 성공적인 프리딕션은 더 적은 정정을 요구하고, 특히 0부터 1kHz까지의 더 낮은 주파수에서 더 적은 정정을 요구하기 때문이다. 코딩 리소스들을 더 높은 주파수 밴드들(302)에서 해소하기 위해서 단위 분산으로부터 이 편차를 정확하게 인지하여 양자화기를 만드는 것이 유리하다.

    등가물, 확장물 , 대체물 및 다양한 것들(Equivalents, extensions, alternatives and miscellaneous)

    본 발명의 다른 실시예는 상기 설명을 연구한 당업자에게 자명할 것이다. 현재의 설명 및 도면은 실시예 및 예들을 나타내고 있음에도 불구하고, 본 발명이 특정한 예들로 한정되는 것은 아니다. 많은 수정 및 변화는 본 발명의 범위로부터 벗어남없이 만들어질 수 있고, 이는 동반되는 청구항들에 의해 정의된다. 청구항들에서 나타나는 어떠한 참조 표시는 그 범위의 한정으로 이해되지 않는다.

    상술한 바에서, 나타난 시스템 및 방법들은 소프트웨어, 펌웨어, 하드웨어 또는 그것들의 조합으로 구현될 수 있다. 하드웨어 구현에 있어서는, 상기 설명에서 기능적인 구성들 간의 동작들의 구분은 반드시 물리적인 콤포넌트들로 나누어지는 것과 대응되는 것은 아니다; 반대로, 하나의 물리적 콤포넌트는 복수의 기능들을 가질 수 있고, 하나의 동작은 몇몇의 물리적 콤포넌트의 협력으로 수행될 수 있다. 특정 구성 또는 모든 구성들은 디지털 신호 프로세서 또는 마이크로 프로세서에 의해 실행되는 소프트웨어로서 구현될 수 있다. 이와 같은 소프트웨어는 컴퓨터 해독 가능한 매체(computer readable media)에 분배될 수 있고, 이는 컴퓨터 저장 매체(computer storage media)(또는 비 일시적 미매체(non-transitory media) 및 통신 매체(또는 일시적 매체)를 포함할 수 있다. 당업자에게 자명하듯이, 기간 컴퓨터 저장 매체(term computer storage media)는 컴퓨터 해독 명령, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같은 정보를 저장하는 어떠한 방법 또는 기술을 구현하는 휘발성 및 비휘발성, 제거 가능 및 제거 불가능 매체를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플레쉬 메모리 또는 다른 메모리 기술, CD-ROM, DVD 또는 다른 광학 디스크 저장소, 마그네틱 카세트, 마그네틱 테이프, 마그네틱 디스크 저장소 또는 다른 마그네틱 저장 장치들 또는 원하는 정보를 저장하기 위해 사용되는 어떠한 매체를 � ��함하나 이에 한정되는 것은 아니고, 이들은 컴퓨터에 이해 접근 가능할 수있다. 더욱이, 통신 매체는 일반적으로 컴퓨터 해독 가능한 명령들, 데이터 구조들, 프로그램 모듈들 또는 반송파 또는 다른 전송 기술과 같은 변조된 데이터 신호 내의 다른 데이터를 포함하고, 어떠한 정보 전송 매체를 포함한다는 것은 당업자에게 자명하다.

    100 : 오디오 프로세싱 시스템

    高效检索全球专利

    专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

    我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

    申请试用

    分析报告

    专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

    申请试用

    QQ群二维码
    意见反馈