KR102613282B1 - 디지털 오디오 신호들에서의 가변 알파벳 크기 - Google Patents

디지털 오디오 신호들에서의 가변 알파벳 크기 Download PDF

Info

Publication number
KR102613282B1
KR102613282B1 KR1020197034810A KR20197034810A KR102613282B1 KR 102613282 B1 KR102613282 B1 KR 102613282B1 KR 1020197034810 A KR1020197034810 A KR 1020197034810A KR 20197034810 A KR20197034810 A KR 20197034810A KR 102613282 B1 KR102613282 B1 KR 102613282B1
Authority
KR
South Korea
Prior art keywords
band
frame
reconstruction parameters
bit stream
sequence
Prior art date
Application number
KR1020197034810A
Other languages
English (en)
Other versions
KR20200012862A (ko
Inventor
앨버트 차우
안토니우스 칼커
가디엘 세루시
Original Assignee
디티에스, 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 디티에스, 인코포레이티드 filed Critical 디티에스, 인코포레이티드
Publication of KR20200012862A publication Critical patent/KR20200012862A/ko
Application granted granted Critical
Publication of KR102613282B1 publication Critical patent/KR102613282B1/ko

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/008Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/022Blocking, i.e. grouping of samples in time; Choice of analysis windows; Overlap factoring
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
    • G10L25/18Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being spectral information of each sub-band

Abstract

오디오 인코더는 디지털 오디오 신호를 복수의 프레임 각각의 프레임은 ― 지정된 수의 오디오 샘플들을 포함함 ―으로 파싱하고, 각각의 프레임에 대한 복수의 주파수 도메인 계수들을 생성하기 위해 각각의 프레임의 오디오 샘플의 변환을 수행하고, 각각의 프레임에 대한 복수의 주파수 도메인 계수를 각각의 프레임에 대한 복수의 대역 ― 각각의 대역은 시간 해상도 및 주파수 해상도를 나타내는 재구성 파라미터를 가짐 ―으로 분할하고, 디지털 오디오 신호를 재구성 파라미터들을 포함하는 비트 스트림으로 인코딩한다. 제 1 대역에 있어서, 재구성 파라미터는 제 1 알파벳 크기를 사용하여 인코딩될 수 있다. 제 2 대역에 있어서, 재구성 파라미터는 제 1 알파벳 크기와는 상이한 제 2 알파벳 크기를 사용하여 인코딩될 수 있다. 상이한 알파벳 크기들을 사용하면 비트 스트림에서의 보다 컴팩트한 압축이 가능해진다.

Description

디지털 오디오 신호들에서의 가변 알파벳 크기
관련 출원에 대한 상호 참조
본 출원은 미국 가출원 제 62/489,867 호(2017년 4월 25일자 출원)의 이익을 주장하는 미국 특허 출원 제 15/926,089 호(2018년 3월 20일자 출원)를 우선권으로 주장하며, 그들의 전체 내용은 본 명세서에서 참고로 인용된다.
본 발명은 오디오 신호의 인코딩 또는 디코딩에 관한 것이다.
오디오 코덱은 시간 도메인 오디오 신호를 디지털 파일 또는 디지털 스트림으로 인코딩하고, 디지털 파일 또는 디지털 스트림을 시간 도메인 오디오 신호로 디코딩할 수 있다. 인코딩된 파일 또는 스트림의 크기를 축소하는 등의 오디오 코덱을 개선하기 위한 노력이 계속되고 있다.
인코딩 시스템의 예는 프로세서, 및 프로세서에 의해 실행 가능한 명령어들 ― 명령어들은 오디오 신호를 인코딩하기 위한 방법을 수행하기 위해 프로세서에 의해 실행 가능함 ― 을 저장하는 메모리 디바이스를 포함할 수 있고, 본 방법은 디지털 오디오 신호를 수신하는 단계; 디지털 오디오 신호를 복수의 프레임들 ― 각각의 프레임은 지정된 수의 오디오 샘플들을 포함함 ― 로 파싱(parsing)하는 단계; 각각의 프레임에 대한 복수의 주파수 도메인 계수들을 생성하기 위해 각각의 프레임의 오디오 샘플들의 변환을 수행하는 단계; 각각의 프레임에 대한 복수의 주파수 도메인 계수들을 각각의 프레임에 대한 복수의 대역들 ― 각각의 대역은 시간 분해능 및 주파수 분해능을 나타내는 재구성(reshaping) 파라미터를 가짐 ― 로 분할하는 단계; 디지털 오디오 신호를 재구성 파라미터 ― 제 1 대역에 있어서의 재구성 파라미터는 제 1 알파벳 크기를 사용하여 인코딩되고, 제 1 대역과는 상이한 제 2 대역에 있어서의 재구성 파라미터는 제 1 알파벳 크기와는 상이한 제 2 알파벳 크기를 사용하여 인코딩됨 ― 를 포함하는 비트 스트림으로 인코딩하는 단계; 및 비트 스트림을 출력하는 단계를 포함한다.
디코딩 시스템의 예는 프로세서; 및 프로세서에 의해 실행 가능한 명령어들 ― 명령어들은 인코딩된 오디오 신호를 디코딩하기 위한 방법을 수행하기 위해 프로세서에 의해 실행 가능함 ― 을 저장하는 메모리 디바이스를 포함할 수 있고, 본 방법은 비트 스트림 ― 비트 스트림은 복수의 프레임들을 포함하고, 각각의 프레임은 복수의 대역들로 분할됨 ― 을 수신하는 단계; 각각의 프레임의 각각의 대역에 있어서, 비트 스트림으로부터 재구성 파라미터 ― 재구성 파라미터는 대역에 대한 시간 분해능 및 주파수 분해능을 나타내고, 제 1 대역에 있어서의 재구성 파라미터는 제 1 알파벳 크기를 사용하여 비트 스트림에 임베딩되고, 제 1 대역과는 상이한 제 2 대역에 있어서의 재구성 파라미터는 제 1 알파벳 크기와는 상이한 제 2 알파벳 크기를 사용하여 비트 스트림에 임베딩됨 ― 를 추출하는 단계; 및 디코딩된 디지털 오디오 신호를 생성하기 위해 재구성 파라미터들을 사용하여 비트 스트림을 디코딩하는 단계를 포함한다.
인코딩 시스템의 다른 예는 디지털 오디오 신호를 수신하는 수신기 회로; 디지털 오디오 신호를 복수의 프레임들 ― 각각의 프레임은 지정된 수의 오디오 샘플들을 포함함 ― 로 파싱하는 프레이머(framer) 회로; 각각의 프레임에 대한 복수의 주파수 도메인 계수들을 생성하기 위해 각각의 프레임의 오디오 샘플들의 변환을 수행하는 변환기 회로; 각각의 프레임에 대한 복수의 주파수 도메인 계수들을 각각의 프레임에 대한 복수의 대역들 ― 각각의 대역은 시간 분해능 및 주파수 분해능을 나타내는 재구성 파라미터를 가짐 ― 로 분할하는 분할기(partitioner) 회로; 디지털 오디오 신호를 각각의 대역의 재구성 파라미터 ― 제 1 대역에 있어서의 재구성 파라미터는 제 1 알파벳 크기를 사용하여 인코딩되고, 제 1 대역과는 상이한 제 2 대역에 있어서의 재구성 파라미터는 제 1 알파벳 크기와는 상이한 제 2 알파벳 크기를 사용하여 인코딩됨 ― 를 포함하는 비트 스트림으로 인코딩하는 인코더 회로; 및 비트 스트림을 출력하는 출력 회로를 포함할 수 있다.
도 1은 일부 예들에 따른, 인코딩 시스템의 예의 블록도를 도시한다.
도 2는 일부 예들에 따른, 인코딩 시스템의 다른 예의 블록도를 도시한다.
도 3은 일부 예들에 따른, 디코딩 시스템의 예의 블록도를 도시한다.
도 4는 일부 예들에 따른, 디코딩 시스템의 다른 예의 블록도를 도시한다.
도 5는 일부 예들에 따른, 디지털 오디오 신호를 인코딩하는 단계와 관련된 몇몇 수량들을 도시한다.
도 6은 일부 예들에 따른, 오디오 신호를 인코딩하기 위한 방법의 예의 흐름도를 도시한다.
도 7은 일부 예들에 따른, 인코딩된 오디오 신호를 디코딩하기 위한 방법의 예의 흐름도를 도시한다.
도 8 내지 도 11은 일부 예들에 따른, 오디오 신호를 인코딩 및 디코딩하기 위한 의사 코드의 예를 도시한다.
도 12는 일부 예들에 따른, 인코딩 시스템의 예의 블록도를 도시한다.
해당 참조 문자들은 여러 도면들 전체에 걸쳐 해당 부분들을 나타낸다. 도면들 내의 요소들은 반드시 축척대로 그려지는 것은 아니다. 도면들 내에 도시된 구성들은 단지 예일 뿐이며, 본 발명의 범위를 제한하는 것으로 해석되어서는 안된다.
코덱과 같은 오디오 인코딩 및/또는 디코딩 시스템에서, 상이한 대역들에서의 재구성 파라미터는 상이한 크기들을 갖는 알파벳을 사용하여 인코딩될 수 있다. 아래에 보다 상세히 설명되는 바와 같이, 상이한 알파벳 크기들을 사용하면 비트 스트림(예를 들어, 인코딩된 디지털 오디오 신호)에서의 보다 컴팩트한 압축이 가능해진다.
도 1은 일부 예들에 따른, 인코딩 시스템(100)의 예의 블록도를 도시한다. 도 1의 구성은 인코딩 시스템의 일례일 뿐이며; 다른 적합한 구성들이 또한 사용될 수 있다.
인코딩 시스템(100)은 입력으로서 디지털 오디오 신호(102)를 수신할 수 있고, 비트 스트림(104)을 출력할 수 있다. 입력 및 출력 신호들(102, 104)은 각각 로컬 또는 액세스 가능한 서버에 저장된 하나 이상의 개별 파일들 및/또는 로컬 또는 액세스 가능한 서버에서 생성된 하나 이상의 오디오 스트림들을 포함할 수 있다.
인코딩 시스템(100)은 프로세서(106)를 포함할 수 있다. 인코딩 시스템(100)은 프로세서(106)에 의해 실행 가능한 명령어들(110)을 저장하는 메모리 디바이스(108)를 더 포함할 수 있다. 명령어들(110)은 오디오 신호를 인코딩하기 위한 방법을 수행하기 위해 프로세서(106)에 의해 실행될 수 있다. 오디오 신호를 인코딩하기 위한 이러한 방법의 예는 아래에서 상세히 설명된다.
도 1의 구성에서, 인코딩은 소프트웨어에서, 전형적으로 컴퓨팅 디바이스에서 추가 작업들을 또한 수행할 수 있는 프로세서에 의해 실행된다. 대안으로서, 인코딩은 인코딩을 수행하기 위해 배선된 전용 칩 또는 전용 프로세서와 같은 하드웨어에서 또한 수행될 수 있다. 이러한 하드웨어 기반 인코더의 예가 도 2에 도시되어 있다.
도 2는 일부 예들에 따른, 인코딩 시스템(200)의 다른 예의 블록도를 도시한다. 도 2의 구성은 인코딩 시스템의 일례일 뿐이며; 다른 적합한 구성들이 또한 사용될 수 있다.
인코딩 시스템(200)은 입력으로서 디지털 오디오 신호(202)를 수신할 수 있고, 비트 스트림(204)을 출력할 수 있다. 인코딩 시스템(200)은 특정 인코딩 방법을 수행하기 위해 배선된 칩을 포함할 수 있는 전용 인코딩 프로세서(206)를 포함할 수 있다. 오디오 신호를 인코딩하기 위한 이러한 방법의 예는 아래에서 상세히 설명된다.
도 1 및 도 2의 예들은 각각 소프트웨어 및 하드웨어에서 동작할 수 있는 인코딩 시스템을 도시한다. 아래의 도 3 및 도 4는 각각 소프트웨어와 하드웨어에서 동작할 수 있는 비교 가능한 디코딩 시스템들을 도시한다.
도 3은 일부 예들에 따른, 디코딩 시스템의 예의 블록도를 도시한다. 도 3의 구성은 디코딩 시스템의 일례일 뿐이며; 다른 적합한 구성들이 또한 사용될 수 있다.
디코딩 시스템(300)은 입력으로서 비트 스트림(302)을 수신할 수 있고, 디코딩된 디지털 오디오 신호(304)를 출력할 수 있다. 입력 및 출력 신호들(302, 304)은 각각 로컬 또는 액세스 가능한 서버에 저장된 하나 이상의 개별 파일들 및/또는 로컬 또는 액세스 가능한 서버에서 생성된 하나 이상의 오디오 스트림들을 포함할 수 있다.
디코딩 시스템(300)은 프로세서(306)를 포함할 수 있다. 디코딩 시스템(300)은 프로세서(306)에 의해 실행 가능한 명령어들(310)을 저장하는 메모리 디바이스(308)를 더 포함할 수 있다. 명령어들(310)은 오디오 신호를 디코딩하기 위한 방법을 수행하기 위해 프로세서(306)에 의해 실행될 수 있다. 오디오 신호를 디코딩하기 위한 이러한 방법의 예는 아래에서 상세하게 설명된다.
도 3의 구성에서, 디코딩은 소프트웨어에서, 전형적으로 컴퓨팅 디바이스에서 추가 작업들을 수행할 수 있는 프로세서에 의해 실행된다. 대안으로서, 디코딩은 인코딩을 수행하기 위해 배선된 전용 칩 또는 전용 프로세서와 같은 하드웨어에서 또한 수행될 수 있다. 이러한 하드웨어 기반 디코더의 예가 도 4에 도시되어 있다.
도 4는 일부 예들에 따른, 디코딩 시스템(400)의 다른 예의 블록도를 도시한다. 도 4의 구성은 디코딩 시스템의 일례일 뿐이며; 다른 적합한 구성들이 또한 사용될 수 있다.
디코딩 시스템(400)은 입력으로서 비트 스트림(402)을 수신할 수 있고, 디코딩된 디지털 오디오 신호(404)를 출력할 수 있다. 디코딩 시스템(400)은 특정 디코딩 방법을 수행하기 위해 배선된 칩을 포함할 수 있는 전용 디코딩 프로세서(406)를 포함할 수 있다. 오디오 신호를 디코딩하기 위한 이러한 방법의 예는 아래에서 상세히 설명된다.
도 5는 일부 예들에 따른, 디지털 오디오 신호를 인코딩하는 단계와 관련된 몇몇 수량들을 도시한다. 비트 스트림을 디코딩하는 단계는 일반적으로 비트 스트림을 인코딩하는 단계와 동일한 수량들을 수반하지만 반대로 수행되는 수학 연산들과 관련되어 있다. 도 5에 도시된 수량들은 이러한 수량들의 예들일 뿐이며; 다른 적절한 수량들도 사용될 수 있다. 도 5에 도시된 각각의 수량들은 도 1 내지 도 4에 도시된 임의의 인코더 또는 디코더와 함께 사용될 수 있다.
인코더는 디지털 오디오 신호(502)를 수신할 수 있다. 디지털 오디오 신호(502)는 시간 도메인에 있고, 시간에 따른 오디오 신호의 진화하는 진폭을 나타내는 일련의 정수들 또는 부동 소수점 수들을 포함할 수 있다. 디지털 오디오 신호(502)는 스튜디오로부터의 라이브 피드(live feed)와 같은 스트림(예를 들어, 지정된 시작 및/또는 종료가 없음)의 형태일 수 있다. 대안으로, 디지털 오디오 신호(502)는 개별 파일(예를 들어, 시작 및 종료 및 특정 기간을 가짐), 예를 들어 서버 상의 오디오 파일, 콤팩트 디스크로부터 리핑(ripping)된 비 압축 오디오 파일, 또는 압축되지 않은 형식의 노래의 믹스다운 파일일 수 있다.
인코더는 디지털 오디오 신호(502)를 복수의 프레임(504)으로 파싱할 수 있으며, 각각의 프레임(504)은 지정된 수의 오디오 샘플들(506)을 포함한다. 예를 들어, 프레임(504)은 1024 개의 샘플들(506) 또는 다른 적절한 값을 포함할 수 있다. 일반적으로, 디지털 오디오 신호(502)를 프레임들(504)로 그룹화하면 인코더는 잘 정의된 수의 샘플(506)에 자신의 프로세싱을 효율적으로 적용할 수 있다. 일부 예들에서, 이러한 프로세싱은 프레임마다 변할 수 있어서, 각 프레임은 다른 프레임들과 독립적으로 프로세싱될 수 있다.
인코더는 각각의 프레임(504)의 오디오 샘플들(506)의 변환(508)을 수행할 수 있다. 일부 예들에서, 변환은 수정된 이산 코사인 변환일 수 있다. 푸리에 변환, 라플라스 변환 등과 같은 다른 적절한 변환들이 사용될 수 있다. 변환(508)은 프레임(504) 내의 샘플들(506)과 같은 시간 도메인 수량들을 프레임(504)에 대한 주파수 도메인 계수들(510)과 같은 주파수 도메인 수량들로 변환한다. 변환(508)은 각각의 프레임(504)에 대해 복수의 주파수 도메인 계수들(510)을 생성할 수 있다. 일부 예들에서, 변환(508)에 의해 생성된 주파수 도메인 계수들(510)의 수는 1024와 같이 프레임 내의 샘플들(506)의 수와 동일할 수 있다. 주파수 도메인 계수들(510)은 특정 주파수의 신호가 얼마나 많이 프레임 내에 존재하는지를 기술한다.
일부 예들에서, 시간 도메인 프레임은 인접한 샘플들의 서브 블록들로 세분될 수 있고, 변환이 각각의 서브 블록에 적용될 수 있다. 예를 들어, 1024 개의 샘플들의 프레임은 각각 128 개의 샘플들의 8 개의 서브 블록으로 분할될 수 있고, 이러한 각각의 서브 블록은 128 개의 주파수 계수들의 블록으로 변환될 수 있다. 프레임이 서브 블록으로 분할되는 예들에서는, 변환을 쇼트(short) 변환으로 지칭할 수 있다. 프레임이 서브 블록으로 분할되지 않은 예들에서는, 변환을 롱(long) 변환으로 지칭할 수 있다.
인코더는 각각의 프레임(504)에 대한 복수의 주파수 도메인 계수들(510)을 각각의 프레임(504)에 대한 복수의 대역들(512)로 분할할 수 있다. 일부 예들에서, 다른 값들이 또한 사용될 수 있지만, 프레임 당 22 개의 대역들(512)이 존재할 수 있다. 각각의 대역(512)은 프레임(504) 내에 주파수들(510)의 범위를 나타낼 수 있어서, 모든 주파수 범위들의 연결은 프레임(504) 내에 표현된 모든 주파수들을 포함한다. 쇼트 변환을 사용하는 예에서, 주파수 계수들의 각각의 결과 블록은 동일한 수의 대역들로 분할될 수 있으며, 이는 롱 변환을 위해 사용된 대역들에 일대일 대응 관계에 있을 수 있다. 쇼트 변환을 사용하는 예들에 있어서, 블록 내의 임의의 주어진 대역에 대한 계수들의 수는 롱 변환의 경우에서의 그 임의의 주어진 대역에 대한 계수들의 수에 비하여 비례적으로 적어진다. 예를 들어, 프레임은 8 개의 서브 블록들로 분할될 수 있고, 쇼트 변환 블록 내의 대역은 롱 변환에서의 대응하는 대역에서의 계수들의 수의 1/8을 갖는다. 롱 변환에서의 대역은 32 개의 계수들을 가질 수 있고; 쇼트 변환에서는, 동일한 대역이 8 개의 주파수 블록들 각각에서 4 개의 계수들을 가질 수 있다. 쇼트 변환에서의 대역은 주파수 도메인에서는 8의 분해능을 시간 도메인에서는 4의 분해능을 갖는 8 × 4 행렬과 연관될 수 있다. 롱 변환에서의 대역은 시간 도메인에서는 1의 분해능을 주파수 도메인에서는 32의 분해능을 갖는 1 × 32 행렬과 연관될 수 있다. 따라서, 각각의 대역(512)은 시간 분해능(514) 및 주파수 분해능(516)을 나타내는 재구성 파라미터(518)를 포함할 수 있다. 일부 예들에서, 재구성 파라미터(518)는 시간 분해능(514) 및 주파수 분해능(516)의 디폴트 값들로부터의 변화의 값을 제공함으로써 시간 분해능(514) 및 주파수 분해능(516)을 나타낼 수 있다.
일반적으로, 코덱의 목표는 인코딩된 파일의 특정 데이터 속도 또는 비트 속도에 의해 관리되는 제한된 양의 데이터를 사용하여, 특정 프레임의 주파수 도메인 표현이 가능한 한 정확하게 프레임의 시간 도메인 표현을 나타내도록 하는 것이다. 예를 들어, 데이터 속도는 1411kbps(초당 킬로비트), 320kbps, 256kbps, 192kbps, 160kbps, 128kbps 또는 다른 값들을 포함할 수 있다. 일반적으로, 데이터 속도가 높을수록 프레임의 표현이 더 정확해진다.
제한된 데이터 속도만 사용하여 정확도를 높이려는 목표를 달성하기 위해, 코덱은 각각의 대역의 시간 분해능과 주파수 분해능 사이에서 균형을 맞출 수 있다. 예를 들어, 코덱은 특정 대역의 시간 분해능을 2 배로 하는 반면에, 해당 대역의 주파수 분해능을 1/2로 할 수 있다. 이러한 동작들을 수행하는 것(예를 들어, 주파수 분해능에 대해 시간 분해능을 교환하는 것 또는 그 반대로 교환하는 것)을 대역의 시간-주파수 구조를 재구성하는 것으로 지칭할 수 있다. 초기 변환에서 모든 대역들의 시간 분해능은 동일할 수 있지만, 일반적으로 재구성 후에, 프레임 내의 하나의 대역의 시간-주파수 구조는 그 프레임 내의 다른 대역들의 시간-주파수 구조와는 독립적일 수 있어서, 각각의 대역은 다른 대역들과는 독립적으로 재구성될 수 있다.
일부 예들에서, 각각의 대역은 대역의 시간 분해능(514)과 대역의 주파수 분해능(516)의 곱과 동일한 크기를 가질 수 있다. 일부 예들에서, 하나의 대역의 시간 분해능(514)은 8 개의 오디오 샘플들과 동일할 수 있고, 다른 대역의 시간 분해능(514)은 하나의 오디오 샘플과 동일할 수 있다. 다른 적절한 시간 분해능들(514)이 또한 사용될 수 있다.
일부 예들에서, 인코더는 대역의 크기를 변경하지 않고(예를 들어, 시간 분해능(514)과 주파수 분해능(516)의 곱을 변경하지 않고) 상보적인 방식으로 각각의 프레임의 각각의 대역의 시간 분해능(514)과 주파수 분해능(516)을 조정할 수 있다. 인코더는 재구성 파라미터를 사용하여 이러한 조정을 수량화할 수 있다.
재구성 파라미터는 선택된 정수일 수 있다. 예를 들어, 재구성 파라미터가 3이면, 시간 분해능에는 수량 23을 곱할 수 있고, 주파수 분해능에는 수량 2-3을 곱할 수 있다. 양의 정수들(시간 분해능(514)이 증가하고 주파수 분해능(516)이 감소됨을 의미함), 음의 정수들(시간 분해능(514)이 감소하고 주파수 분해능(516)이 증가됨을 의미함), 및 0(시간 분해능(514)과 주파수 분해능(516)은 예를 들어, 수량 20을 곱한 값으로 변경되지 않음을 의미함)을 포함하는 다른 적합한 정수들이 사용될 수 있다.
일부 예들에서, 허용 가능한 재구성 파라미터의 수는 유한 수의 정수들로 제한될 수 있다. 특정 예로서, 허용 가능한 재구성 파라미터 값은 총 4 개의 정수들에 대해 0, 1, 2 및 3을 포함할 수 있다. 다른 특정 예로서, 허용 가능한 재구성 파라미터 값은 총 5 개의 정수들에 대해 0, 1, 2, 3 및 4를 포함할 수 있다. 다른 특정 예로서, 허용 가능한 재구성 파라미터 값은 총 5 개의 정수들에 대해 0, -1, -2, -3 및 -4를 포함할 수 있다. 다른 특정 예로서, 허용 가능한 재구성 파라미터 값은 총 4 개의 정수들에 대해 0, -1, -2 및 -3을 포함할 수 있다. 이러한 예들에서, 이러한 지정된 정수들 범위를 설명하는 용어는 알파벳 크기이다. 특히, 정수들 범위에 대한 알파벳 크기는 해당 범위에서의 허용되는 값들의 수이다. 상술한 4 개의 예들에서, 알파벳 크기는 4 또는 5이다.
일부 예들에서, 단일 프레임은 제 1 알파벳 크기를 사용하여 인코딩될 수 있는 재구성 파라미터들을 갖는 하나 이상의 대역들을 포함할 수 있고, 제 1 알파벳 크기와는 상이한 제 2 알파벳 크기를 사용하여 인코딩될 수 있는 재구성 파라미터들을 갖는 하나 이상의 대역들을 더 포함할 수 있다. 이러한 방식으로 상이한 알파벳 크기들을 사용하면 비트 스트림에서의 보다 컴팩트한 압축이 가능해진다.
인코더는 각각의 대역에 대한 재구성 파라미터를 나타내는 데이터를 비트 스트림으로 인코딩할 수 있다. 재구성 파라미터를 비트 스트림으로 인코딩하면 역변환을 적용하기 전에 디코더가 시간/주파수 재구성을 반전시킬 수 있다. 하나의 간단한 접근법은 각각의 프레임에 대한 재구성 시퀀스를 형성하는 것이 될 수 있으며, 재구성 시퀀스의 각각의 요소는 프레임 내의 대역에 대한 재구성 파라미터가 된다. 22 개의 대역들이 있는 프레임에 있어서, 22 개의 재구성 파라미터들로 구성된 재구성 시퀀스를 생성할 수 있다. 각각의 프레임에 있어서, 재구성 시퀀스는 각각의 대역에 대한 재구성 파라미터를 기술할 수 있다. 일부 예들에서, 인코더는 각각의 재구성 시퀀스 내의 각각의 엔트리를 엔트리에 대한 가능한 값들의 범위로 정규화할 수 있고, 여기서, 가능한 값들의 각각의 범위는 대역에 대한 지정된 범위의 재구성 파라미터들에 대응한다.
이 간단한 접근법에 비해 개선된 접근법으로서, 인코더는 이들 22 개의 정수들을 완전히 기술하는 데 필요한 데이터 크기를 감소시킬 수 있다. 이 개선된 접근법에서, 인코더는 4 개의 시퀀스들의 길이들(예를 들어, 4 개의 시퀀스들 각각에서의 비트들 또는 정수들의 수)를 산출하고, 4 개의 시퀀스들 중 최단 시퀀스를 선택하고, 최단 시퀀스를 나타내는 데이터를 비트 스트림에 임베딩할 수 있다. 최단 시퀀스는 가장 적은 수의 비트들을 포함하는 시퀀스 또는 22 개의 정수들을 가장 간결하게 기술하는 시퀀스이다. 4 개의 시퀀스들이 아래에 설명된다.
인코더는 각각의 프레임에 대해 제 1 시퀀스를 형성할 수 있고, 여기서, 제 1 시퀀스는 단항 코드를 사용하여, 프레임에 대한 재구성 파라미터들을 각각의 대역에 대한 재구성 파라미터를 나타내는 시퀀스로서 기술한다. 인코더는 각각의 프레임에 대해 제 2 시퀀스를 형성할 수 있고, 여기서, 제 2 시퀀스는 준 균일 코드를 사용하여, 프레임에 대한 재구성 파라미터를 각각의 대역에 대한 재구성 파라미터를 나타내는 시퀀스로서 기술한다. 인코더는 각각의 프레임에 대해 제 3 시퀀스를 형성할 수 있고, 여기서, 제 3 시퀀스는 단항 코드를 사용하여, 프레임에 대한 재구성 파라미터를 인접 대역들 사이의 재구성 파라미터에서의 차이들을 나타내는 시퀀스로서 기술한다. 인코더는 각각의 프레임에 대해 제 4 시퀀스를 형성할 수 있고, 여기서, 제 4 시퀀스는 준 균일 코드를 사용하여, 프레임에 대한 재구성 파라미터를 인접 대역들 간의 재구성 파라미터에서의 차이들을 나타내는 시퀀스로서 기술한다.
이어서, 인코더는 제 1 시퀀스, 제 2 시퀀스, 제 3 시퀀스, 및 제 4 시퀀스 중 최단 시퀀스를 선택할 수 있다. 인코더는 각각의 프레임에 대해 그 선택된 최단 시퀀스를 비트 스트림에 임베딩할 수 있다. 인코더는 각각의 프레임에 대해 표시자(indicator)를 나타내는 데이터를 비트 스트림에 추가로 임베딩할 수 있으며, 여기서, 표시자는 4 개의 시퀀스 중 어느 것이 비트 스트림에 포함되는지를 표시한다.
아래 부록은 위에서 논의한 수량들에 대한 엄격한 수학적 정의들을 제공한다.
도 6은 일부 예들에 따른, 오디오 신호를 인코딩하기 위한 방법(600)의 예의 흐름도를 도시한다. 방법(600)은 도 1 또는 도 2의 인코딩 시스템들(100 또는 200)에 의해 또는 임의의 다른 적절한 인코딩 시스템에 의해 실행될 수 있다. 방법(600)은 오디오 신호를 인코딩하기 위한 하나의 방법일 뿐이며; 다른 적절한 인코딩 방법들이 또한 사용될 수 있다.
동작 602에서, 인코딩 시스템은 디지털 오디오 신호를 수신할 수 있다.
동작 604에서, 인코딩 시스템은 디지털 오디오 신호를 복수의 프레임들로 파싱할 수 있으며, 여기서, 각각의 프레임은 지정된 수의 오디오 샘플들을 포함한다.
동작 606에서, 인코딩 시스템은 각각의 프레임에 대해 복수의 주파수 도메인 계수들을 생성하기 위해 각각의 프레임의 오디오 샘플들의 변환을 수행할 수 있다.
동작 608에서, 인코딩 시스템은 각각의 프레임에 대한 복수의 주파수 도메인 계수들을 각각의 프레임에 대한 복수의 대역들로 분할할 수 있고, 여기서, 각각의 대역은 시간 분해능 및 주파수 분해능을 나타내는 재구성 파라미터를 갖는다.
동작 610에서, 인코딩 시스템은 재구성 파라미터를 포함하는 비트 스트림으로 디지털 오디오 신호를 인코딩할 수 있다. 제 1 대역에 있어서, 재구성 파라미터는 제 1 알파벳 크기를 사용하여 인코딩될 수 있다. 제 1 대역과는 상이한 제 2 대역에 있어서, 재구성 파라미터는 제 1 알파벳 크기와는 상이한 제 2 알파벳 크기를 사용하여 인코딩될 수 있다.
동작 612에서, 인코딩 시스템은 비트 스트림을 출력할 수 있다.
도 7은 일부 예들에 따른, 인코딩된 오디오 신호를 디코딩하기 위한 방법(700)의 예의 흐름도를 도시한다. 방법(700)은 도 3 또는 도 4의 디코딩 시스템들(300 또는 400) 또는 임의의 다른 적절한 인코딩 시스템에 의해 실행될 수 있다. 방법(700)은 인코딩된 오디오 신호를 디코딩하는 하나의 방법일 뿐이며; 다른 적절한 인코딩 방법들이 또한 사용될 수 있다.
동작 702에서, 디코딩 시스템은 비트 스트림을 수신할 수 있고, 여기서, 비트 스트림은 복수의 프레임들을 포함하고, 각각의 프레임은 복수의 대역들로 분할된다.
동작 704에서, 디코딩 시스템은 각각의 프레임의 각각의 대역에 있어서 비트 스트림으로부터 재구성 파라미터를 추출할 수 있으며, 여기서, 재구성 파라미터는 대역에 대한 시간 분해능 및 주파수 분해능을 나타낸다. 제 1 대역에 있어서, 재구성 파라미터는 제 1 알파벳 크기를 사용하여 비트 스트림에 임베딩될 수 있다. 제 1 대역과는 상이한 제 2 대역에 있어서, 재구성 파라미터는 제 1 알파벳 크기와는 상이한 제 2 알파벳 크기를 사용하여 비트 스트림에 임베딩될 수 있다.
동작 706에서, 디코딩 시스템은 디코딩된 디지털 오디오 신호를 생성하기 위해 재구성 파라미터를 사용하여 비트 스트림을 디코딩할 수 있다.
도 12는 일부 예들에 따른, 인코딩 시스템(1200)의 예의 블록도를 도시한다.
수신기 회로(1202)는 디지털 오디오 신호를 수신할 수 있다.
프레이머 회로(1204)는 디지털 오디오 신호를 복수의 프레임들로 파싱할 수 있고, 여기서, 각각의 프레임은 지정된 수의 오디오 샘플들을 포함한다.
변환기 회로(1206)는 각각의 프레임에 대한 복수의 주파수 도메인 계수들을 생성하기 위해 각각의 프레임의 오디오 샘플들의 변환을 수행할 수 있다.
주파수 대역 분할기 회로(1208)는 각각의 프레임에 대한 복수의 주파수 도메인 계수들을 각각의 프레임에 대한 복수의 대역들로 분할할 수 있으며, 여기서, 각각의 대역은 시간 분해능 및 주파수 분해능을 나타내는 재구성 파라미터를 갖는다.
인코더 회로(1210)는 디지털 오디오 신호를 각각의 대역의 재구성 파라미터를 포함하는 비트 스트림으로 인코딩할 수 있다. 제 1 대역에 있어서, 재구성 파라미터는 제 1 알파벳 크기를 사용하여 인코딩될 수 있다. 제 1 대역과는 상이한 제 2 대역에 있어서, 재구성 파라미터는 제 1 알파벳 크기와는 상이한 제 2 알파벳 크기를 사용하여 인코딩될 수 있다.
출력 회로(1212)는 비트 스트림을 출력할 수 있다.
본 명세서에 설명된 것 이외의 많은 다른 변형들이 본 명세서로부터 명백해질 것이다. 예를 들어, 실시예에 따라, 본 명세서에 설명된 임의의 방법들 및 알고리즘들의 특정 동작들, 이벤트들, 또는 기능들이 상이한 순서로 수행될 수 있고, 추가, 병합, 또는 생략될 수 있다(방법들 및 알고리즘들의 실행에 있어서 모든 기술된 동작들 또는 이벤트들이 필요한 것은 아니다). 더욱이, 특정 실시예들에서, 동작들 또는 이벤트들이 예컨대 멀티 스레드 프로세싱, 인터럽트 프로세싱, 또는 다중 프로세서들 또는 프로세서 코어들을 통해 또는 다른 병렬 아키텍처들을 통해 순차적으로 수행하는 대신에 동시에 수행될 수 있다. 또한, 함께 수행할 수 있는 상이한 머신들 및 컴퓨팅 시스템에 의해 상이한 작업들 또는 프로세스들이 수행될 수 있다.
본 명세서에 개시된 실시예들과 관련시켜 설명된 다양한 예시적인 논리 블록들, 모듈들, 방법들, 및 알고리즘 프로세스들 및 시퀀스들은 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이들의 조합으로 구현될 수 있다. 하드웨어 및 소프트웨어의 이러한 상호 교환성을 명확하게 설명하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 및 프로세스 동작들이 일반적으로 그들의 기능적 관점에서 상술되었다. 이러한 기능이 하드웨어로 구현되는지 소프트웨어로 구현되는지 여부는 전체 시스템에 부과된 특정 애플리케이션 및 설계 제약 조건들에 따라 다르다. 개시된 기능은 각각의 특정 애플리케이션에 대해 다양한 방식들로 구현될 수 있지만, 이러한 구현 결정은 본 명세서의 범위를 벗어나는 것으로 해석되어서는 안된다.
본 명세서에 개시된 실시예들과 관련시켜 설명된 다양한 예시적인 논리 블록들 및 모듈들은 범용 프로세서, 프로세싱 디바이스, 하나 이상의 프로세싱 디바이스들을 갖는 컴퓨팅 디바이스, 디지털 신호 프로세서(DSP), 주문형 집적 회로(ASIC), 필드 프로그램 가능 게이트 어레이(FPGA), 또는 본 명세서에 개시된 기능들을 수행하도록 설계된 다른 프로그램 가능 논리 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 이들의 임의의 조합과 같은 머신에 의해 구현되거나 수행될 수 있다. 범용 프로세서 및 프로세싱 디바이스는 마이크로 프로세서일 수 있지만, 대안으로, 프로세서는 컨트롤러, 마이크로 컨트롤러, 또는 상태 머신, 동일한 것의 조합 등일 수 있다. 프로세서는 DSP 및 마이크로 프로세서의 조합, 복수의 마이크로 프로세서, DSP 코어와 결합한 하나 이상의 마이크로 프로세서, 또는 임의의 다른 이러한 구성과 같은 컴퓨팅 디바이스들의 조합으로서 구현될 수 있다.
본 명세서에 개시된 시스템 및 방법의 실시예들은 다양한 유형의 범용 또는 특수 목적 컴퓨팅 시스템 환경들 또는 구성들 내에서 동작할 수 있다. 일반적으로, 컴퓨팅 환경은 몇몇을 예를 들면, 하나 이상의 마이크로 프로세서들에 기초한 컴퓨터 시스템, 메인 프레임 컴퓨터, 디지털 신호 프로세서, 휴대용 컴퓨팅 디바이스, 전자 수첩, 디바이스 컨트롤러, 기기 내 컴퓨팅 엔진, 휴대 전화, 데스크탑 컴퓨터, 모바일 컴퓨터, 태블릿 컴퓨터, 스마트 폰, 및 내장형 컴퓨터를 구비한 기기 등을 포함하지만 이들로 제한되지 않는 임의 유형의 컴퓨터 시스템을 포함할 수 있다.
이러한 컴퓨팅 디바이스들은 전형적으로 개인용 컴퓨터들, 서버 컴퓨터들, 휴대용 컴퓨팅 디바이스들, 랩탑 또는 모바일 컴퓨터들, 휴대폰 및 PDA와 같은 통신 디바이스들, 멀티 프로세서 시스템들, 마이크로 프로세서 기반 시스템들, 셋톱 박스들, 프로그램 가능 가전, 네트워크 PC들, 미니 컴퓨터들, 메인 프레임 컴퓨터들, 오디오 또는 비디오 미디어 플레이어들 등을 포함하지만 이들에 한정되지 않는 적어도 일부 최소 계산 능력을 갖는 디바이스들에서 발견될 수 있다. 일부 실시예에서, 컴퓨팅 디바이스들은 하나 이상의 프로세서들을 포함할 것이다. 각각의 프로세서는 디지털 신호 프로세서(DSP), 매우 긴 명령어(very long instruction word; VLIW), 또는 다른 마이크로 컨트롤러와 같은 특수화된 마이크로 프로세서일 수 있거나, 또는 멀티 코어 CPU 내의 특수 그래픽 프로세싱 유닛(GPU) 기반 코어들을 포함한 하나 이상의 처리 코어들을 포함하는 종래의 중앙 처리 장치(CPU)일 수 있다.
본 명세서에 개시된 실시예들과 관련시켜 설명된 방법, 프로세스, 또는 알고리즘의 프로세스 동작들은 하드웨어, 프로세서에 의해 실행되는 소프트웨어 모듈, 또는 이 둘의 임의의 조합으로 직접 구현될 수 있다. 소프트웨어 모듈은 컴퓨팅 디바이스에 의해 액세스될 수 있는 컴퓨터 판독 가능 매체에 내장될 수 있다. 컴퓨터 판독 가능 매체는 제거 가능하거나, 제거 불가능하거나, 또는 이들의 일부 조합인 휘발성 및 비 휘발성 매체를 모두 포함한다. 컴퓨터 판독 가능 매체는 컴퓨터 판독 가능 또는 컴퓨터 실행 가능 명령어들, 데이터 구조들, 프로그램 모듈들, 또는 다른 데이터와 같은 정보를 저장하는데 사용된다. 예로서 제한없이, 컴퓨터 판독 가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있다.
컴퓨터 저장 매체는 블루레이 디스크들(BD), 디지털 다목적 디스크들(DVD), 콤팩트 디스크들(CD), 플로피 디스크들, 테이프 드라이브들, 하드 드라이브들, 광학 드라이브들, 솔리드 스테이트 메모리 디바이스들, RAM 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 플래시 메모리 또는 기타 메모리 기술, 자기 카세트들, 자기 테이프들, 자기 디스크 저장 장치, 또는 기타 자기 저장 장치들과 같은 컴퓨터 또는 머신 판독 가능 매체 또는 저장 디바이스들, 또는 원하는 정보를 저장하는데 사용되고 하나 이상의 컴퓨팅 디바이스들에 의해 액세스될 수 있는 임의의 다른 디바이스를 포함하지만, 이들로 한정되지 않는다.
소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 하드 디스크, 이동식 디스크, CDROM, 또는 기타 비 일시적 컴퓨터 판독 가능 저장 매체, 미디어, 또는 당업계에 공지된 물리적 컴퓨터 저장 장치 내에 내장될 수 있다. 예시적인 저장 매체는 프로세서가 저장 매체에 정보를 기록 및 판독할 수 있도록 프로세서에 결합될 수 있다. 대안으로, 저장 매체는 프로세서와 일체형일 수 있다. 프로세서 및 저장 매체는 ASIC에 내장될 수 있다. ASIC은 사용자 단말에 내장될 수 있다. 대안으로, 프로세서 및 저장 매체는 사용자 단말 내의 개별 컴포넌트들로서 내장될 수 있다.
본 명세서에서 사용된 "비 일시적"이라는 문구는 "지속적이거나 오래 지속됨"을 의미한다. "비 일시적 컴퓨터 판독 가능 매체"라는 문구는 일시적인 전파 신호를 제외하고는 임의의 및 모든 컴퓨터 판독 가능 매체를 포함한다. 이것은 비 제한적인 예로서, 레지스터 메모리, 프로세서 캐시, 및 랜덤 액세스 메모리(RAM)와 같은 비 일시적 컴퓨터 판독 가능 매체를 포함한다.
"오디오 신호"라는 문구는 실제 소리를 나타내는 신호이다.
컴퓨터 판독 가능 또는 컴퓨터 실행 가능 명령어들, 데이터 구조들, 프로그램 모듈들 등과 같은 정보의 보유는 하나 이상의 변조된 데이터 신호들, 전자기파들(예를 들어, 반송파들), 또는 기타 전송 메커니즘들 또는 통신 프로토콜들을 인코딩하고 모든 유무선 정보 전달 메커니즘을 포함하는 다양한 통신 매체를 사용함으로써 또한 달성될 수 있다. 일반적으로, 이들 통신 매체는 신호 내의 정보 또는 명령어를 인코딩하는 방식으로 설정되거나 변경된 하나 이상의 특성들을 갖는 신호를 지칭한다. 예를 들어, 통신 매체는 하나 이상의 변조된 데이터 신호를 획득하는 유선 네트워크 또는 직접 유선 접속과 같은 유선 매체와, 음향, 무선 주파수(RF), 적외선, 레이저, 및 하나 이상의 변조된 데이터 신호 또는 전자기파를 송신하거나, 수신하거나, 송수신하기 위한 다른 무선 매체와 같은 무선 매체를 포함한다. 상술한 것 중 임의의 조합들이 통신 매체의 범위 내에 또한 포함되어야 한다.
또한, 본 명세서에 개시된 인코딩 및 디코딩 시스템 및 방법의 다양한 실시 예들의 일부 또는 전부를 구현하는 소프트웨어, 프로그램, 컴퓨터 프로그램 제품들 중 하나 또는 임의의 조합은 컴퓨터 실행 가능 명령어 또는 다른 데이터 구조 형태의 컴퓨터 또는 기계 판독 가능 매체 또는 저장 디바이스들 및 통신 매체의 원하는 조합으로부터 저장, 수신, 송신, 또는 판독될 수 있다.
본 명세서에 개시된 시스템 및 방법의 실시예들은 컴퓨팅 디바이스에 의해 실행되는 프로그램 모듈과 같은 컴퓨터 실행 가능 명령어들의 일반적인 맥락에서 추가로 설명될 수 있다. 일반적으로, 프로그램 모듈들은 특정 작업들을 수행하거나 특정의 추상 데이터 유형들을 구현하는 루틴들, 프로그램들, 객체들, 컴포넌트들, 데이터 구조들 등을 포함한다. 본 명세서에 개시된 실시예들은 하나 이상의 원격 프로세싱 디바이스들에 의해 또는 하나 이상의 통신 네트워크들을 통해 연결된 하나 이상의 디바이스들의 클라우드 내에서 작업들이 수행되는 분산 컴퓨팅 환경들에서 실행될 수도 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈들은 매체 저장 디바이스들을 포함하는 로컬 및 원격 컴퓨터 저장 매체 모두에 위치될 수 있다. 또한, 상술한 명령어들은 프로세서를 포함하거나 포함하지 않을 수 있는 하드웨어 논리 회로들로서 부분적으로 또는 전체적으로 구현될 수 있다.
달리 구체적으로 언급되지 않거나 사용된 문맥 내에서 달리 이해되지 않는 한, "할 수 있는", "예를 들어" 등과 같은 본 명세서에서 사용되는 조건부 언어는 특정 실시예는 특정 특징들, 요소들 및/또는 상태들을 포함하는 반면에, 다른 실시예는 특정 특징들, 요소들 및/또는 상태들을 포함하지 않는다는 것을 일반적으로 전달하도록 의도된다. 따라서, 이러한 조건부 언어는 일반적으로 특징들, 요소들 및/또는 상태들이 어떤 방식으로든 하나 이상의 실시예들에 필요하다는 것 또는 하나 이상의 실시예들이 필자의 입력 또는 프롬프트와 무관하게 이들 특징들, 요소들 및/또는 상태들이 임의의 특정 실시예에서 포함되거나 임의의 특정 실시예에서 수행되어야 하는지 여부를 결정하기 위한 논리를 반드시 포함한다는 것을 암시하도록 의도되지 않는다. "구성하는", "포함하는", "갖는" 등의 용어는 동의어이며 개방형 방식으로 포괄적으로 사용되며, 추가 요소들, 특징들, 행위들, 동작들 등을 배제하지 않는다. 또한, "또는"이라는 용어는 포괄적인 의미(그리고 배타적인 의미가 아님)로 사용되므로, 예를 들어, 요소들의 리스트를 연결하기 위해 사용될 때 "또는"이라는 용어는 리스트 내의 하나, 일부 또는 전부를 의미한다.
상술의 상세한 설명은 다양한 실시예들에 적용되는 신규한 특징들을 도시하고 설명하고 지적하였지만, 예시된 디바이스들 또는 알고리즘들의 형태 및 세부 사항들에 대한 다양한 생략들, 대체들, 및 변경들이 본 개시 내용의 범위를 벗어나지 않고 이루어질 수 있음을 이해할 것이다. 알 수 있는 바와 같이, 본 명세서에 기술된 본 발명의 특정 실시예들은 일부 특징들이 다른 특징들과는 별개로 사용되거나 실행될 수 있어서, 본 명세서에 기술된 모든 특징들 및 이점들을 제공하지 않는 형태로 구현될 수 있다.
더욱이, 본 발명은 구조적 특징들 및 방법론적 동작들에 특정된 언어로 설명되었지만, 첨부된 청구 범위에서의 본 발명은 반드시 상술한 특정 특징들 또는 동작들로 제한되지 않는다는 것을 이해해야 한다. 오히려, 상술한 특정 특징들 및 동작들은 청구항들을 구현하는 예시적인 형태들로서 개시된다.
부록
본 명세서에 기술된 시간-주파수 변경 시퀀스들 코덱 및 방법의 실시예들은 시간-주파수 재구성 시퀀스들을 기술하는 시퀀스들을 효율적으로 인코딩 및 디코딩하기 위한 기술들을 포함한다. 코덱 및 방법의 실시예들은 이종 알파벳들에 대한 시퀀스들의 효율적인 인코딩 및 디코딩을 해결한다.
일부 코덱들은 기존 코덱들에서 일반적으로 사용되는 시퀀스들보다 훨씬 복잡한 시퀀스들을 생성한다. 이들 시퀀스가 더 많은 가능한 시간-주파수 재구성 변형 세트를 기술한다는 사실로부터 이러한 복잡성이 발생한다. 일부 실시예들에서, 복잡성의 원인은 시퀀스의 요소들이 (좌표에 따라) 상이한 크기들 또는 범위들을 갖고 그리고 처리되는 오디오 프레임과 관련되어 있는 4 개의 상이한 알파벳들로부터 잠재적으로 도출된다. 이들 시퀀스의 간단한 인코딩은 비용이 많이 들고 더 많은 세트에 있어서의 장점들을 부정한다.
코덱 및 방법의 실시예들은 다양한 알파벳 변환들을 통해 이종 알파벳의 균일한 처리를 가능하게 하고 코딩 파라미터를 최적화하여 최단의 가능한 기술을 얻는 매우 효율적인 방법을 설명한다. 코덱 및 방법의 실시예들의 일부 특징들은 이종 알파벳들의 균일한 처리, 복수의 코딩 양식들의 정의, 및 인코딩의 길이를 최소화하는 양식의 선택을 포함한다. 이들 특징들은 더 많은 시간-주파수 변환 세트의 사용을 가능하게 하는 것을 포함하여, 코덱 및 방법의 실시예들의 장점들 중 일부를 제공하는 것의 일부이다.
섹션 1: 시퀀스들의 정의
수정된 이산 코사인 변환식(MDCT) 변환 엔진은 롱 변환(기본적으로 대부분의 프레임에서 사용됨)과 쇼트 변환(과도 현상들을 포함하는 것으로 간주되는 프레임에서 사용됨)의 2 개의 모드에서 현재 동작한다. 임의의 주어진 대역에서의 MDCT 계수들의 수가 수량 N이면, 롱 변환 모드에서, 이들 계수들은 N 개의 주파수 슬롯들을 포함하는 하나의 타임 슬롯(1 × N)으로서 구성된다. 쇼트 변환 모드에서, 계수들은 각각이 N/8 주파수 슬롯을 포함하는 8 개의 시간 슬롯(8 × N/8)으로서 구성된다.
시간-주파수 변경 시퀀스 또는 벡터는 프레임에 유효한 최대 유효 대역들의 대역 당 하나의 일련의 정수들이다. 각각의 정수는 변환에 의해 정의된 오리지널 시간/주파수 구조가 해당 대역에 대해 어떻게 수정되는지를 나타낸다. 대역에 대한 오리지널 구조가 T × F(T 개의 타임 슬롯들, F 개의 주파수 슬롯들)이고 변경 값이 c이면, 적절한 로컬 변환들을 적용하여 구조가 2cT × 2-cF로 변경된다. c의 허용 가능한 값의 범위는 오리지널 모드가 긴지 짧은 지 여부와 대역의 크기에 따르는 정수 제한 조건들과, 지원되는 시간-주파수 구성들의 수에 대한 제한들에 의해 결정된다.
대역의 크기가 16 개의 MDCT 빈(bin)들보다 작으면, 대역은 협대역이라 한다. 그렇지 않으면, 대역은 광대역이라 한다. 모든 대역 크기들은 8의 배수일 수 있으며, 현재 구현에서, 48 kHz 샘플링 레이트에서, 0-7로 번호가 매겨진 대역들은 협대역일 수 있고, 8-21로 번호가 매겨진 대역들은 광대역일 수 있고; 44 kHz 샘플링 레이트에서, 0-5로 번호가 매겨진 대역들은 협대역일 수 있고 6-21로 번호가 매겨진 대역들은 광대역일 수 있다.
이하의 단락들은 롱 변환 대 쇼트 변환과 협대역 대 광대역의 모든 조합들에 대해 가능한 변경 값들 c의 세트를 나타낸다.
협대역 및 롱 변환의 경우: {0, 1, 2, 3}
광대역 및 롱 변환의 경우: {0, 1, 2, 3, 4}
협대역 및 쇼트 변환의 경우: {-3, -2, -1, 0}
광대역 및 쇼트 변환의 경우: {-3, -2, -1, 0, 1}
섹션 2: 시퀀스 인코딩
섹션 2.1: 기본 요소들
인코딩 프로세스의 입력은 시퀀스 또는 벡터, c = [c0, c1, ... , cM-1]이며, 여기서 수량 M은 유효 대역의 수이며, 값들 ci는 상술한 단락으로부터 적절한 범위들 내에 있다.
시퀀스 c로부터, 제 1 차분 시퀀스 또는 벡터, d = [d0, d1, ..., dM-1]을 도출할 수 있으며, 여기서 d0 = c0 및 di = ci-ci-1, 0 <i <M이다. 비트 스트림에서 인코딩되는 시퀀스를 시그널링하는 인코딩의 파라미터 d를 정의하고: 파라미터 d = 0인 경우 시퀀스 d, 또는 파라미터 d = 1 인 경우 시퀀스 d이다. 파라미터 d가 어떻게 결정되는지에 대한 설명은 다음과 같습니다.
시퀀스 c 또는 시퀀스 d일 수 있는 시퀀스 또는 벡터 s = [s0, s1, ..., sM-1]가 인코딩을 위해 주어지면, 다음과 같이 정의한다.
Figure 112019133675199-pct00001
수량 head(s)는 제 1 좌표로부터 0이 아닌 최종 좌표까지 확장되는 시퀀스의 서브 시퀀스의 길이이다. 이 서브 시퀀스를 s의 헤드라고 한다. 시퀀스 s가 모두 0 시퀀스인 경우에만 head(s) = 0이다.
수량 head(s)는 다음과 같이 인코딩된다. 수량 head(s)가 0이면, 인코더는 0 비트를 기입하고 정지한다. 이 경우에, 0 비트는 모두가 0인 전체 재구성 벡터를 나타내므로, 추가적인 인코딩이 필요하지 않다. 수량 head(s)가 0보다 큰 경우에, 인코더는 M 크기의 알파벳에 대해 준 균일 코드를 사용하여 수량 head(s)-1를 인코딩한다.
알파 크기의 알파벳에 대한 준 균일 코드는 다음과 같이 L1 = [log2 alpha] 비트들 또는 L2 = [log2 alpha] 비트들을 사용하여 {0, 1,..., alpha-1}의 정수들을 인코딩한다.
N = 2L2, n1 = N ― alpha, n2 = alpha ― n1으로 한다.
심볼들 x, 0 <= x <n1은 L1 비트들의 그들의 이진 표현에 의해 인코딩된다.
심볼들 x, n1 <= x <n1 + n2는 L2 비트들 내의 x + n1의 그들의 이진 표현에 의해 인코딩된다.
s의 헤드 내 심볼들은 심볼마다 인코딩된다. 인코딩하기 전에, 각각의 심볼은 파라미터 d, 롱 변환 대 쇼트 변환, 및 협대역 대 광대역의 선택에 의존하는 매핑을 사용하여 매핑된다. 매핑은 도 8에 도시된 의사 코드 함수 MapTFSymbol에 정의되어 있다. 입력 심볼 시퀀스 s, 변수 d 및 부울식 수량들 is_long 및 is_narrow는 파라미터들로서 주어지는 것으로 가정한다.
도 8은 모든 경우에 [0, alpha) 범위의 음이 아닌 정수(즉, {0, 1, alpha-1})가 되는 매핑을 도시하며, 여기서 수량 alpha는 협대역의 경우에는 4이고, 광대역의 경우에는 5이다. 이진 플래그 k로 파라미터화된 매핑된 심볼들에 대해 2 개의 코드 선택이 있다.
k = 0 : 알파 크기의 알파벳에 대한 단항 코드. 단항 코드는 인코딩의 종료를 표시하는 '1'가 후속되는 i 개의 일련의 '0'들에 의해 {0, 1, alpha-2}의 정수 i를 인코딩한다. 정수 alpha-1은 종료 '1' 없이 alpha-1 개의 일련의 '0'들에 의해 인코딩된다.
k = 1 : 알파 크기의 알파벳에 대한 준 균일 코드.
이진 플래그 k가 어떻게 결정되는지는 아래에서 논의된다.
섹션 2.2: 인코딩
파라미터들 d와 k는 기지 값인 것으로 가정한다. 쌍 (d, k)은 도 9에 도시된 바와 같이 획득된 하나의 심볼로서 인코딩된다. 최종 심볼은 Golomb 코드로 인코딩되고; 순열 배열 map_dk_pair는 (d = l, k = 0)이 가장 많고 최단 코드 워드를 수신하는 쌍 (d, k)의 발생 확률의 내림차순으로 인덱스들을 할당한다.
인코딩 절차는 도 10의 의사 코드에 요약되어 있다. 변수 seq는 입력 시퀀스 c를 나타낸다. 대역들의 수는 전역 변수 num_bands에서 사용할 수 있다.
섹션 2.3: 파라미터 최적화
파라미터들 d와 k를 결정하기 위해, 인코더는 이진 값들의 4 개의 조합 모두를 시도하고 최단 코드 길이가 주어지는 조합을 선택한다. 이는 실제 인코딩이 필요없는 코드 길이 함수를 사용하여 수행된다.
섹션 3: 시퀀스 디코딩
디코더는 비트 스트림으로부터 파라미터들 d 및 k를 판독하고 이들을 최적화할 필요가 없다는 점을 제외하고는 인코더의 단계들의 정 반대로 실행된다. 디코딩 절차는 도 11의 의사 코드에 요약되며, 여기서 수량 num_bands는 기지 수의 대역들이다.

Claims (20)

  1. 인코딩 시스템에 있어서,
    프로세서; 및
    상기 프로세서에 의해 실행 가능한 명령어들 ― 상기 명령어들은 오디오 신호를 인코딩하기 위한 방법을 수행하기 위해 상기 프로세서에 의해 실행 가능함 ― 을 저장하는 메모리 디바이스를 포함하고, 상기 방법은,
    디지털 오디오 신호를 수신하는 단계;
    상기 디지털 오디오 신호를 복수의 프레임들 ― 각각의 프레임은 지정된 수의 오디오 샘플들을 포함함 ― 로 파싱(parsing)하는 단계;
    각각의 프레임에 대한 복수의 주파수 도메인 계수들을 생성하기 위해 각각의 프레임의 오디오 샘플들의 변환을 수행하는 단계;
    각각의 프레임에 대한 복수의 주파수 도메인 계수들을 각각의 프레임에 대한 복수의 대역들 ― 각각의 대역은 시간 분해능 및 주파수 분해능을 나타내는 재구성(reshaping) 파라미터를 가짐 ― 로 분할하는 단계;
    상기 디지털 오디오 신호를 각각의 대역의 재구성 파라미터 ― 제 1 대역에 있어서의 상기 재구성 파라미터는 제 1 알파벳 크기를 사용하여 인코딩되고, 상기 제 1 대역과는 상이한 제 2 대역에 있어서의 상기 재구성 파라미터는 상기 제 1 알파벳 크기와는 상이한 제 2 알파벳 크기를 사용하여 인코딩됨 ― 를 포함하는 비트 스트림으로 인코딩하는 단계; 및
    상기 비트 스트림을 출력하는 단계
    를 포함하고,
    상기 재구성 파라미터는 복수의 지정된 범위들의 정수들 중 하나의 지정된 범위의 정수들로부터 선택된 정수인 값을 가지며,
    상기 제 1 알파벳 크기는 상기 복수의 지정된 범위들의 정수들 중 제 1 지정된 범위의 정수들 내의 정수들의 수와 동일하고,
    상기 제 2 알파벳 크기는 상기 복수의 지정된 범위들의 정수들 중 제 2 지정된 범위의 정수들 내의 정수들의 수와 동일한 것인, 인코딩 시스템.
  2. 제 1 항에 있어서,
    상기 방법은 각각의 프레임의 각각의 대역의 시간 분해능 및 주파수 분해능을 조정하는 단계를 더 포함하고, 각각의 프레임의 각각의 대역의 상기 시간 분해능 및 상기 주파수 분해능은 상기 재구성 파라미터에 의해 기술된 크기에 의해 상보적인 방식으로 조정되는 것인, 인코딩 시스템.
  3. 제 2 항에 있어서,
    상기 제 1 알파벳 크기는 4이고, 상기 제 2 알파벳 크기는 5인 것인, 인코딩 시스템.
  4. 제 2 항에 있어서,
    상기 조정하는 단계 이전에, 상기 제 1 대역의 시간 분해능은 8 개의 오디오 샘플들과 동일하고, 상기 제 2 대역의 시간 분해능은 1 개의 오디오 샘플과 동일한 것인, 인코딩 시스템.
  5. 제 2 항에 있어서,
    각각의 대역은 상기 대역의 시간 분해능과 상기 대역의 주파수 분해능의 곱과 동일한 크기를 가지며;
    상기 대역의 시간 분해능 및 상기 대역의 주파수 분해능은 상기 대역의 크기를 변화시키지 않으면서 상보적인 방식으로 조정되는 것인, 인코딩 시스템.
  6. 제 5 항에 있어서,
    상기 시간 분해능은 2c의 인수만큼 조정되고, 상기 주파수 분해능은 2-c의 인수만큼 변화되며, 수량 c는 재구성 파라미터인 것인, 인코딩 시스템.
  7. 제 2 항 내지 제 6 항 중 어느 한 항에 있어서,
    상기 방법은,
    각각의 프레임에 대한 재구성 시퀀스 ― 상기 재구성 시퀀스는 각각의 대역에 대한 재구성 파라미터를 기술함 ― 를 형성하는 단계; 및
    각각의 재구성 시퀀스 내의 각각의 엔트리를 상기 엔트리에 대한 가능한 값들의 범위 ― 가능한 값들의 각각의 범위는 상기 대역에 대한 정수들의 지정된 범위에 대응함 ― 로 정규화하는 단계
    를 더 포함하는 것인, 인코딩 시스템.
  8. 인코딩 시스템에 있어서,
    프로세서; 및
    상기 프로세서에 의해 실행 가능한 명령어들 ― 상기 명령어들은 오디오 신호를 인코딩하기 위한 방법을 수행하기 위해 상기 프로세서에 의해 실행 가능함 ― 을 저장하는 메모리 디바이스를 포함하고, 상기 방법은,
    디지털 오디오 신호를 수신하는 단계;
    상기 디지털 오디오 신호를 복수의 프레임들 ― 각각의 프레임은 지정된 수의 오디오 샘플들을 포함함 ― 로 파싱(parsing)하는 단계;
    각각의 프레임에 대한 복수의 주파수 도메인 계수들을 생성하기 위해 각각의 프레임의 오디오 샘플들의 변환을 수행하는 단계;
    각각의 프레임에 대한 복수의 주파수 도메인 계수들을 각각의 프레임에 대한 복수의 대역들 ― 각각의 대역은 시간 분해능 및 주파수 분해능을 나타내는 재구성(reshaping) 파라미터를 가짐 ― 로 분할하는 단계;
    상기 디지털 오디오 신호를 각각의 대역의 재구성 파라미터 ― 제 1 대역에 있어서의 상기 재구성 파라미터는 제 1 알파벳 크기를 사용하여 인코딩되고, 상기 제 1 대역과는 상이한 제 2 대역에 있어서의 상기 재구성 파라미터는 상기 제 1 알파벳 크기와는 상이한 제 2 알파벳 크기를 사용하여 인코딩됨 ― 를 포함하는 비트 스트림으로 인코딩하는 단계; 및
    상기 비트 스트림을 출력하는 단계
    를 포함하고,
    상기 방법은,
    단항 코드(unary code)를 사용하여, 각각의 프레임에 대한 제 1 시퀀스 ― 상기 제 1 시퀀스는 상기 프레임에 대한 재구성 파라미터를 각각의 대역에 대한 재구성 파라미터를 나타내는 시퀀스로서 기술함 ― 를 형성하는 단계;
    준 균일 코드(quasi-uniform code)를 사용하여, 각각의 프레임에 대한 제 2 시퀀스 ― 상기 제 2 시퀀스는 상기 프레임에 대한 재구성 파라미터를 각각의 대역에 대한 재구성 파라미터를 나타내는 시퀀스로서 기술함 ― 를 형성하는 단계;
    단항 코드를 사용하여, 각각의 프레임에 대한 제 3 시퀀스 ― 상기 제 3 시퀀스는 상기 프레임에 대한 재구성 파라미터를 인접한 대역들 간의 재구성 파라미터들의 차이들을 나타내는 시퀀스로서 기술함 ― 를 형성하는 단계;
    준 균일 코드를 사용하여, 각각의 프레임에 대한 제 4 시퀀스 ― 상기 제 4 시퀀스는 상기 프레임에 대한 재구성 파라미터를 인접한 대역들 간의 재구성 파라미터들의 차이들을 나타내는 시퀀스로서 기술함 ― 를 형성하는 단계;
    상기 제 1 시퀀스, 상기 제 2 시퀀스, 상기 제 3 시퀀스, 및 상기 제 4 시퀀스 중 최단 시퀀스 ― 상기 최단 시퀀스는 가장 적은 수의 요소들을 포함하는 시퀀스임 ― 를 선택하는 단계;
    선택된 상기 최단 시퀀스를 나타내는 데이터를 각각의 프레임에 대해 상기 비트 스트림에 임베딩하는 단계; 및
    표시자 ― 상기 표시자는 상기 4 개의 시퀀스들 중 어느 것이 상기 비트 스트림에 포함되는지를 표시함 ― 를 나타내는 데이터를 각각의 프레임에 대해 상기 비트 스트림에 임베딩하는 단계
    를 더 포함하는 것인, 인코딩 시스템.
  9. 제 1 항에 있어서,
    상기 변환은 수정된 이산 코사인 변환인 것인, 인코딩 시스템.
  10. 제 1 항에 있어서,
    각각의 프레임은 정확히 1024 개의 샘플들을 포함하는 것인, 인코딩 시스템.
  11. 제 1 항에 있어서,
    각각의 복수의 주파수 도메인 계수들에서의 주파수 도메인 계수들의 수는 각각의 프레임 내의 오디오 샘플들의 지정된 수와 동일한 것인, 인코딩 시스템.
  12. 제 1 항에 있어서,
    각각의 프레임에 대한 상기 복수의 주파수 도메인 계수들은 정확히 1024 개의 주파수 도메인 계수들을 포함하는 것인, 인코딩 시스템.
  13. 제 1 항에 있어서,
    각각의 프레임에 대한 상기 복수의 대역들은 정확히 22 개의 대역들을 포함하는 것인, 인코딩 시스템.
  14. 제 1 항에 있어서,
    상기 인코딩 시스템은 코덱에 포함되는 것인, 인코딩 시스템.
  15. 디코딩 시스템에 있어서,
    프로세서; 및
    상기 프로세서에 의해 실행 가능한 명령어들 ― 상기 명령어들은 인코딩된 오디오 신호를 디코딩하기 위한 방법을 수행하기 위해 상기 프로세서에 의해 실행 가능함 ― 을 저장하는 메모리 디바이스를 포함하고, 상기 방법은,
    비트 스트림 ― 상기 비트 스트림은 복수의 프레임들을 포함하고, 각각의 프레임은 복수의 대역들로 분할됨 ― 을 수신하는 단계;
    각각의 프레임의 각각의 대역에 대해서, 상기 비트 스트림으로부터 재구성 파라미터 ― 상기 재구성 파라미터는 상기 대역에 대한 시간 분해능 및 주파수 분해능을 나타내고, 제 1 대역에 있어서의 상기 재구성 파라미터는 제 1 알파벳 크기를 사용하여 상기 비트 스트림에 임베딩되고, 상기 제 1 대역과는 상이한 제 2 대역에 있어서의 상기 재구성 파라미터는 상기 제 1 알파벳 크기와는 상이한 제 2 알파벳 크기를 사용하여 상기 비트 스트림에 임베딩됨 ― 를 추출하는 단계; 및
    디코딩된 디지털 오디오 신호를 생성하기 위해 상기 재구성 파라미터들을 사용하여 상기 비트 스트림을 디코딩하는 단계
    를 포함하고,
    상기 재구성 파라미터는 복수의 지정된 범위들의 정수들 중 하나의 지정된 범위의 정수들로부터 선택된 정수인 값을 가지며,
    상기 제 1 알파벳 크기는 상기 복수의 지정된 범위들의 정수들 중 제 1 지정된 범위의 정수들 내의 정수들의 수와 동일하고,
    상기 제 2 알파벳 크기는 상기 복수의 지정된 범위들의 정수들 중 제 2 지정된 범위의 정수들 내의 정수들의 수와 동일한 것인, 디코딩 시스템.
  16. 디코딩 시스템에 있어서,
    프로세서; 및
    상기 프로세서에 의해 실행 가능한 명령어들 ― 상기 명령어들은 인코딩된 오디오 신호를 디코딩하기 위한 방법을 수행하기 위해 상기 프로세서에 의해 실행 가능함 ― 을 저장하는 메모리 디바이스를 포함하고, 상기 방법은,
    비트 스트림 ― 상기 비트 스트림은 복수의 프레임들을 포함하고, 각각의 프레임은 복수의 대역들로 분할됨 ― 을 수신하는 단계;
    각각의 프레임의 각각의 대역에 대해서, 상기 비트 스트림으로부터 재구성 파라미터 ― 상기 재구성 파라미터는 상기 대역에 대한 시간 분해능 및 주파수 분해능을 나타내고, 제 1 대역에 있어서의 상기 재구성 파라미터는 제 1 알파벳 크기를 사용하여 상기 비트 스트림에 임베딩되고, 상기 제 1 대역과는 상이한 제 2 대역에 있어서의 상기 재구성 파라미터는 상기 제 1 알파벳 크기와는 상이한 제 2 알파벳 크기를 사용하여 상기 비트 스트림에 임베딩됨 ― 를 추출하는 단계; 및
    디코딩된 디지털 오디오 신호를 생성하기 위해 상기 재구성 파라미터들을 사용하여 상기 비트 스트림을 디코딩하는 단계
    를 포함하고,
    상기 방법은,
    각각의 프레임의 각각의 대역에 대해, 데이터를 추출하는 단계
    를 더 포함하고,
    상기 데이터는, 상기 비트 스트림 내의 상기 재구성 파라미터가 단항 코드로 표현되는지 또는 준 균일 코드로 표현되는지 여부를 표시하고,
    상기 데이터는, 상기 비트 스트림 내의 상기 재구성 파라미터가 각각의 대역에 대한 재구성 파라미터를 나타내는 시퀀스로서 표현되는지 또는 인접한 대역들 간의 재구성 파라미터들의 차이들을 나타내는 시퀀스로서 표현되는지 여부를 표시하는 것인, 디코딩 시스템.
  17. 제 15 항 또는 제 16 항에 있어서,
    상기 디코딩 시스템은 코덱에 포함되는 것인, 디코딩 시스템.
  18. 인코딩 시스템으로서,
    디지털 오디오 신호를 수신하는 수신기 회로;
    상기 디지털 오디오 신호를 복수의 프레임들 ― 각각의 프레임은 지정된 수의 오디오 샘플들을 포함함 ― 로 파싱하는 프레이머(framer) 회로;
    각각의 프레임에 대한 복수의 주파수 도메인 계수들을 생성하기 위해 각각의 프레임의 오디오 샘플들의 변환을 수행하는 변환기 회로;
    각각의 프레임에 대한 상기 복수의 주파수 도메인 계수들을 각각의 프레임에 대한 복수의 대역들 ― 각각의 대역은 시간 분해능 및 주파수 분해능을 나타내는 재구성 파라미터를 가짐 ― 로 분할하는 주파수 대역 분할기(partitioner) 회로;
    상기 디지털 오디오 신호를 각각의 대역의 재구성 파라미터 ― 제 1 대역에 있어서의 상기 재구성 파라미터는 제 1 알파벳 크기를 사용하여 인코딩되고, 상기 제 1 대역과는 상이한 제 2 대역에 있어서의 상기 재구성 파라미터는 상기 제 1 알파벳 크기와는 상이한 제 2 알파벳 크기를 사용하여 인코딩됨 ― 를 포함하는 비트 스트림으로 인코딩하는 인코더 회로; 및
    상기 비트 스트림을 출력하는 출력 회로
    를 포함하고,
    상기 재구성 파라미터는 복수의 지정된 범위들의 정수들 중 하나의 지정된 범위의 정수들로부터 선택된 정수인 값을 가지며,
    상기 제 1 알파벳 크기는 상기 복수의 지정된 범위들의 정수들 중 제 1 지정된 범위의 정수들 내의 정수들의 수와 동일하고,
    상기 제 2 알파벳 크기는 상기 복수의 지정된 범위들의 정수들 중 제 2 지정된 범위의 정수들 내의 정수들의 수와 동일한 것인, 인코딩 시스템.
  19. 제 18 항에 있어서,
    각각의 프레임의 각각의 대역의 시간 분해능 및 주파수 분해능을 조정하는 분해능 조정 회로를 더 포함하고, 각각의 프레임의 각각의 대역의 상기 시간 분해능 및 상기 주파수 분해능은 상기 재구성 파라미터에 의해 기술된 크기에 의해 상보적인 방식으로 조정되는 것인, 인코딩 시스템.
  20. 제 19 항에 있어서,
    상기 시간 분해능은 2c의 인수만큼 조정되고, 상기 주파수 분해능은 2-c의 인수만큼 변화되며, 수량 c는 재구성 파라미터인 것인, 인코딩 시스템.
KR1020197034810A 2017-04-25 2018-04-24 디지털 오디오 신호들에서의 가변 알파벳 크기 KR102613282B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762489867P 2017-04-25 2017-04-25
US62/489,867 2017-04-25
US15/926,089 2018-03-20
US15/926,089 US10699723B2 (en) 2017-04-25 2018-03-20 Encoding and decoding of digital audio signals using variable alphabet size
PCT/US2018/028987 WO2018200426A1 (en) 2017-04-25 2018-04-24 Variable alphabet size in digital audio signals

Publications (2)

Publication Number Publication Date
KR20200012862A KR20200012862A (ko) 2020-02-05
KR102613282B1 true KR102613282B1 (ko) 2023-12-12

Family

ID=63852424

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197034810A KR102613282B1 (ko) 2017-04-25 2018-04-24 디지털 오디오 신호들에서의 가변 알파벳 크기

Country Status (6)

Country Link
US (1) US10699723B2 (ko)
EP (1) EP3616199A4 (ko)
JP (1) JP7389651B2 (ko)
KR (1) KR102613282B1 (ko)
CN (1) CN110800049B (ko)
WO (1) WO2018200426A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10699723B2 (en) 2017-04-25 2020-06-30 Dts, Inc. Encoding and decoding of digital audio signals using variable alphabet size
CN113518227B (zh) * 2020-04-09 2023-02-10 于江鸿 数据处理的方法和系统
US11496289B2 (en) 2020-08-05 2022-11-08 Microsoft Technology Licensing, Llc Cryptography using varying sized symbol sets
CN112954356A (zh) * 2021-01-27 2021-06-11 西安万像电子科技有限公司 图像传输处理方法和装置、存储介质、电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090180531A1 (en) 2008-01-07 2009-07-16 Radlive Ltd. codec with plc capabilities
US20120069898A1 (en) * 2010-09-17 2012-03-22 Jean-Marc Valin Methods and systems for adaptive time-frequency resolution in digital data coding

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7711123B2 (en) * 2001-04-13 2010-05-04 Dolby Laboratories Licensing Corporation Segmenting audio signals into auditory events
WO2002093559A1 (en) * 2001-05-11 2002-11-21 Matsushita Electric Industrial Co., Ltd. Device to encode, decode and broadcast audio signal with reduced size spectral information
CN101241701B (zh) * 2004-09-17 2012-06-27 广州广晟数码技术有限公司 用于对音频信号进行解码的方法和设备
US7630882B2 (en) 2005-07-15 2009-12-08 Microsoft Corporation Frequency segmentation to obtain bands for efficient coding of digital media
ES2658942T3 (es) * 2007-08-27 2018-03-13 Telefonaktiebolaget Lm Ericsson (Publ) Análisis espectral/síntesis de baja complejidad utilizando resolución temporal seleccionable
US8515767B2 (en) 2007-11-04 2013-08-20 Qualcomm Incorporated Technique for encoding/decoding of codebook indices for quantized MDCT spectrum in scalable speech and audio codecs
US8290782B2 (en) * 2008-07-24 2012-10-16 Dts, Inc. Compression of audio scale-factors by two-dimensional transformation
TWI488176B (zh) * 2011-02-14 2015-06-11 Fraunhofer Ges Forschung 音訊信號音軌脈衝位置之編碼與解碼技術
WO2012122299A1 (en) 2011-03-07 2012-09-13 Xiph. Org. Bit allocation and partitioning in gain-shape vector quantization for audio coding
CN105074818B (zh) 2013-02-21 2019-08-13 杜比国际公司 音频编码系统、用于产生比特流的方法以及音频解码器
US10699723B2 (en) 2017-04-25 2020-06-30 Dts, Inc. Encoding and decoding of digital audio signals using variable alphabet size

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090180531A1 (en) 2008-01-07 2009-07-16 Radlive Ltd. codec with plc capabilities
US20120069898A1 (en) * 2010-09-17 2012-03-22 Jean-Marc Valin Methods and systems for adaptive time-frequency resolution in digital data coding

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
EVS Codec Detailed algorithmic description (3GPP TS 26.445 version 13.4.1 Release 13). ETSI TS 126 445 V13.4.1. 2017.04.
Marina Bosi, et al. ISO/IEC MPEG-2 advanced audio coding. Journal of the Audio engineering society, 1997.*
Text of ISO/IEC13818-7:2004 (MPEG-2 AAC 3rd edition). ISO/IEC JTC1/SC29/WG11 N6428. 2004.03.

Also Published As

Publication number Publication date
EP3616199A1 (en) 2020-03-04
CN110800049A (zh) 2020-02-14
US20180308497A1 (en) 2018-10-25
KR20200012862A (ko) 2020-02-05
JP7389651B2 (ja) 2023-11-30
WO2018200426A1 (en) 2018-11-01
US10699723B2 (en) 2020-06-30
EP3616199A4 (en) 2021-01-06
JP2020518031A (ja) 2020-06-18
CN110800049B (zh) 2023-09-19

Similar Documents

Publication Publication Date Title
KR102613282B1 (ko) 디지털 오디오 신호들에서의 가변 알파벳 크기
US7433824B2 (en) Entropy coding by adapting coding between level and run-length/level modes
ES2388942T3 (es) Codificación entrópica adaptando la codifidación entre modos de nivel y de longitud de serie/nivel
ES2934591T3 (es) Procedimiento de codificación sin pérdidas
RU2711055C2 (ru) Устройство и способ для кодирования или декодирования многоканального сигнала
KR102615901B1 (ko) 디지털 오디오 신호에서의 차분 데이터
JP6486420B2 (ja) 符号化装置における方法、符号化装置、ユーザ装置、ネットワークノード、およびコンピュータプログラム
TW201545485A (zh) 用於音訊/視訊樣本向量之錐型向量量化檢索/解檢索之方法及裝置
KR102401002B1 (ko) 에너지 무손실 부호화방법 및 장치, 신호 부호화방법 및 장치, 에너지 무손실 복호화방법 및 장치, 및 신호 복호화방법 및 장치
US10229688B2 (en) Data compression apparatus, computer-readable storage medium having stored therein data compression program, data compression system, data compression method, data decompression apparatus, data compression/decompression apparatus, and data structure of compressed data
US10789964B2 (en) Dynamic bit allocation methods and devices for audio signal
JP2019529979A (ja) インデックスコーディング及びビットスケジューリングを備えた量子化器
CN109983535B (zh) 具有子带能量平滑的基于变换的音频编解码器和方法
US9413388B1 (en) Modified huffman decoding
WO2019243670A1 (en) Determination of spatial audio parameter encoding and associated decoding
CN116566962A (zh) 音频数据的传输方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant