KR20120003944A - 스케일러블 무손실 음성 코덱 및 오서링 툴 - Google Patents

스케일러블 무손실 음성 코덱 및 오서링 툴 Download PDF

Info

Publication number
KR20120003944A
KR20120003944A KR1020117027616A KR20117027616A KR20120003944A KR 20120003944 A KR20120003944 A KR 20120003944A KR 1020117027616 A KR1020117027616 A KR 1020117027616A KR 20117027616 A KR20117027616 A KR 20117027616A KR 20120003944 A KR20120003944 A KR 20120003944A
Authority
KR
South Korea
Prior art keywords
lsb
lossless
bitstream
bit
core
Prior art date
Application number
KR1020117027616A
Other languages
English (en)
Other versions
KR101237559B1 (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
Priority claimed from US10/911,062 external-priority patent/US7272567B2/en
Application filed by 디티에스, 인코포레이티드 filed Critical 디티에스, 인코포레이티드
Publication of KR20120003944A publication Critical patent/KR20120003944A/ko
Application granted granted Critical
Publication of KR101237559B1 publication Critical patent/KR101237559B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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 TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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/0017Lossless audio signal coding; Perfect reconstruction of coded audio signal by transmission of coding error
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/24Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/167Audio streaming, i.e. formatting and decoding of an encoded audio signal representation into a data stream for transmission or storage purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R2400/00Loudspeakers
    • H04R2400/11Aspects regarding the frame of loudspeaker transducers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R2499/00Aspects covered by H04R or H04S not otherwise provided for in their subgroups
    • H04R2499/10General applications
    • H04R2499/15Transducers incorporated in visual displaying devices, e.g. televisions, computer displays, laptops

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)
  • Stereophonic System (AREA)
  • Toys (AREA)

Abstract

음성 코덱은 음성 데이터를 스케일러블 비트스트림에서의 분석 윈도우의 시퀀스로 무손실 인코딩한다. 이것은 음성 데이터를 MSB 및 LSB 부들로 분리하고, 각각을 상이한 무손실 알고리즘으로 인코딩함으로써 적절하게 행해진다. 오서링 툴은 버퍼링된 페이로드를 각 윈도우에 대하여 허용된 페이로드에 비교하고, 넌-컨포밍 윈도우에서 무손실 인코딩된 음성 데이터, 적합하게는 LSB 부를 선택적으로 스케일링하여, 인코딩된 페이로드, 따라서 버퍼링된 페이로드를 감소시킨다. 이 접근법은 원래의 음성 데이터를 필터링해야 하고 무손실 비트스트림을 재인코딩하거나 그렇지 않으면 파괴해야 하는 일 없이 매체 비트 레이트와 버퍼 용량 제약을 만족한다.

Description

스케일러블 무손실 음성 코덱 및 오서링 툴{SCALABLE LOSSLESS AUDIO CODEC AND AUTHORING TOOL}
관련 출원의 교차 참조
본 출원은 2004년 3월 25일 출원된 미국 가출원 번호 제60/566,183호이며, 발명의 명칭이 "Backward Compatible Lossless Audio Codec"에 대하여 35 U.S.C. 119(e) 하에 우선권의 이익을 주장하며, 그 전체 내용이 참조용으로 사용되었다.
본 발명은 무손실 음성 코덱에 관한 것이며, 보다 자세하게는 스케일러블(scalable) 무손실 음성 코덱 및 오서링 툴에 관한 것이다.
다수의 저 비트-레이트 손실 음성 코딩 시스템이 다양한 소비자와 전문 음성 플레이백 제품 및 서비스에서 현재 사용되고 있다. 예컨대, 돌비 AC3(돌비 디지털) 음성 코딩 시스템은 640 kbit/s까지의 비트 레이트를 사용하여, 레이저 디스크, NTSC 코딩된 DVD 비디오 및 ATV에 대한 스테레오 및 5.1 채널 음성 사운드 트랙을 인코딩하기 위한 세계적(world-wide) 표준이다. MPEG Ⅰ 및 MPEG Ⅱ 오디오 코딩 표준은 768 kbit/s 까지의 비트 레이트로 PAL 인코딩된 DVD 비디오, 유럽의 지상 디지털 무선 브로드캐스팅, 및 미국의 위성 브로드캐스팅을 위한 스테레오 및 다중-채널 사운드 트랙 인코딩용으로 널리 사용된다. DTS(Digital Theater Systems) 코히어런트 어코스틱 음성 코딩 시스템은 컴팩트 디스크, DVD 비디오, 유럽의 위성 브로드캐스트 및 레이저 디스크용으로 그리고 1536 kbit/s 까지의 비트 레이트를 위한 스튜디오 품질 5.1 채널 음성 사운드 트랙용으로 자주 사용된다.
96 kHz 대역폭과 24 비트 해상도를 제공하는 향상된 코덱은 미국 특허 번호 제6,226,616호(또한, 디지털 시어러 시스템즈, 인크에 양도된)에 개시되어 있다. 이 특허는, 통상적인 음성 코딩 알고리즘이 '코어(core)' 음성 코더를 구성하고, 변경되지 않게 존재하는 것인 코어 및 확장 방법론을 사용한다. 보다 높은 음성 주파수(보다 높은 샘플링 레이트의 경우에서) 또는 보다 높은 샘플 해상도(보다 큰 워드 길이의 경우에서), 또는 모두를 나타내는데 필수적인 음성 데이터는 '확장(extension)' 스트림으로서 송신된다. 이것은 음성 콘텐트 프로바이더가, 소비자 장치 베이스에 존재하는 상이한 형태들의 디코더들과 호환 가능한 단일 음성 비트 스트림을 포함하도록 허용한다. 코어 스트림은 확장 데이터를 무시할 것인 보다 구형의 디코더들에 의하여 디코딩될 것인 반면, 보다 새로운 디코더들은 코어 및 확장 데이터 스트림 모두를 사용하여 보다 높은 품질의 사운드 재생을 제공할 것이다. 그러나, 이 이전의 접근법은 진정한 무손실 인코딩 또는 디코딩을 제공하지 않는다. US 특허 제6,226,216호의 시스템이 우수한 품질 음성 플레이백을 제공하지만, "무손실(lossless)" 성능을 제공하지는 않는다.
최근, 많은 소비자들이 이들 소위 "무손실" 코덱에 관심을 보였다. "무손실" 코덱은 어떠한 정보도 폐기하지 않고 데이터를 압축하는 알고리즘에 의존한다. 이로써, 이들은 "마스킹(masking)"과 같은 음향 심리(psychoacoustic) 효과를 채용하지 않는다. 무손실 코덱은 (디지털화된) 소스 신호와 동일한 디코딩된 신호를 생성한다. 이 성능은 다음을 요구한다: 이러한 코덱은 통상적으로 손실 코덱보다 많은 대역폭을 요구하고, 데이터를 보다 낮은 정도로 압축한다.
압축의 부족은, 특히 높게 비-상관된 소스 재료 또는 상당히 큰 소스 대역폭 요건의 경우, 콘텐트가 디스크, CD, DVD, 등으로 오서링되고(authored) 있을 때 문제점을 유발할 수 있다. 매체의 광학 특성은 초과될 수 없는 모든 콘텐트에 대한 피크 비트 레이트를 형성한다. 도 1에 도시된 바와 같이, DVD 음성에 대한 예컨대 9.6 Mbps의 하드 임계값(10)이 통상적으로 음성에 대하여 형성되어, 전체 비트 레이트가 매체 한계를 초과하지 않는다.
음성 및 다른 데이터가 디스크에 레이 아웃되어, 다양한 매체 제약들을 만족시키며, 주어진 프레임을 디코딩하도록 요구되는 모든 데이터가 음성 디코더 버퍼에 존재할 것을 보증한다. 버퍼는, 프레임-투-프레임(frame-to-frame)으로부터 격렬하게(wildly) 변동할 수 있는 프레임-투-프레임 인코딩된 페이로드(비트 레이트)(12)의 평활화 효과를 가져, 버퍼링된 페이로드(14), 즉 프레임-투-프레임 인코딩된 페이로드의 버퍼링된 평균을 생성한다. 주어진 채널에 대한 무손실 비트스트림의 버퍼링된 페이로드(14)가 임의 지점에서 임계값을 초과하면, 음성 입력 파일이 변경되어 이들의 정보 콘텐트를 감소시킨다. 이 음성 파일은 24-비트에서 22-비트로와 같이 하나 이상의 채널의 비트-깊이를 감소시켜 채널의 주파수 대역폭을 로우-패스 만으로 필터링함으로써, 또는 정보를 96 kHz에서 샘플링하는 경우 40 kHz 보다 높게 필터링함으로써와 같이 음성 대역폭을 감소시킴으로써 변경될 수도 있다. 이 프로세스의 예는 SurCode MLP - Owner's Manual pp. 20-23에 설명되어 있다.
이것은 상당히 계산을 요구하며 시간 비효율적인 프로세스이다. 또한, 음성 인코더가 여전히 무손실이어도, 사용자에게 전달되는 음성 콘텐트량은 전체 비트스크림에 걸쳐 감소된다. 또한, 변경 프로세스는 부정확하며, 너무 작은 정보가 제거되면 문제점은 여전히 존재할 수도 있고, 너무 많은 정보가 제거되면 음성 데이터가 필요없이 폐기된다. 또한, 오서링 프로세스는 매체의 특정 광학 특성과 디코더의 버퍼 사이즈에 맞춰져야 할 것이다.
본 발명은 무손실 비트스트림을 생성하는 음성 코덱과, 비트들을 선택적으로 폐기하는 오서링 툴을 제공하여, 음성 입력 파일을 필터링하거나 재인코딩하거나 그렇지 않으면 무손실 비트스트림을 붕괴켜야 하는 일 없이 매체, 채널, 디코더 버퍼 또는 플레이백 장치 비트 레이트 제약들을 만족시킨다.
이것은, 분석 윈도우의 시퀀스에서의 음성 데이터를 스케일러블 비트스트림으로 무손실 인코딩하고, 버퍼링된 페이로드를 각 윈도우에 대하여 허용된 페이로드와 비교하고, 그리고 인코딩된 페이로드를 감소하기 위하여 넌-컨포밍(non-conforming) 윈도우에서 무손실 인코딩된 음성 데이터를 선택적으로 스케일링하여, 버퍼링된 페이로드가 손실을 도입하는 것으로 달성된다.
예시적인 실시예에서, 음성 인코더는 음성 데이터를 MSB(most significant bit)와 LSB(least significant bit) 부들로 분리시키고, 각각을 상이한 무손실 알고리즘으로 인코딩한다. 오서링 툴은 MSB 부들을 비트스트림으로 기록하고, 컨포밍 윈도우(conforming window)에서의 LSB 부를 비트스트림으로 기록하고, 임의의 넌-컨포밍 프레임의 무손실 LSB 부들을 스케일링하여, 이들을 컨포밍하게 하고, 현재의 손실 LSB 부들을 비트스트림에 기록하게 한다. 음성 디코더는 MSS와 LSB 부들을 디코딩하고 PCM 음성 데이터를 재어셈블링한다.
음성 인코더는 각 음성 샘플을 MSB와 LSB 부들로 분리시키고(split), MSB 부를 제1 무손실 알고리즘으로 인코딩하고, LSB 부를 제2 무손실 알고리즘으로 인코딩하고, 인코딩된 음성 데이터를 스케일러블 무손실 비트스트림으로 패킹한다. MSB와 LSB 부들 간의 경계점은 분석 윈도우에서 샘플들의 에너지 및/또는 최대 진폭에 의하여 적절하게 형성된다. LSB 비트 폭들은 비트스트림으로 패킹된다. LSB 부는 바람직하게는 인코딩되어, LSB 모두 또는 일부가 선택적으로 폐기될 수도 있다. 주파수 확장은 MSB/LSB 로 유사하게 인코딩될 수도 있거나 LSB로서 전체적으로 인코딩될 수도 있다.
오서링 툴은 디스크(매체) 상에 인코딩된 데이터를 레이아웃하는 데 사용된다. 초기 레이아웃은 버퍼링된 페이로드에 대응한다. 툴은 버퍼링된 페이로드를 각 분석 윈도우에 대하여 허용된 페이로드와 비교하여, 레이아웃이 임의의 수정을 요구하는 지를 판단한다. 그렇지 않으면, 무손실 비트스트림의 무손실 MSB 및 LSB 부들 모두는 비트스트림에 기입되고, 디스크에 기록된다. yes이면, 오서링 툴은 제약들을 만족하기 위하여 무손실 비트스트림을 스케일링한다. 보다 자세하게는, 툴은 컨포밍 윈도우 모두에 대한 무손실 MSB와 LSB 부와 넌-컨포밍에 대한 무손실 MSB 부들과 헤더들을 수정된 비트스트림에 기입한다. 우선화 룰에 기초하여, 각 넌-컨포밍 윈도우에 대하여, 오서링 툴은, 하나 이상의 음성 채널들에 대하여 분석 윈도우에서 각 음성 샘플로부터 얼마나 많은 LSB를 폐기할 것인지를 판정하고, LSB 부들을 이들의 수정된 비트 폭들을 갖는 수정된 비트스트림으로 재패킹한다. 이것은, 버퍼링된 페이로드가 허용된 페이로드를 초과하는 것인 분석 윈도우만에 대하여 반복된다.
디코더는 매체 또는 송신 채널을 통하여 오서링된 비트스트림을 수신한다. 음성 데이터는 버퍼로 보내지고, 이 버퍼는 오서링의 계정에서 오버플로하지 않고, 그 후 충분한 데이터를 DSP 칩에 제공하여 현재 분석 윈도우에 대하여 음성 데이터를 디코딩한다. DSP 칩은 헤더 정보를 추출하고, 음성 데이터의 MSB 부들을 추출하고 디코딩하고 어셈블링한다. LSB 모두가 오서링동안 폐기되었으면, DSP 칩은 MSB 샘플을 원래의 비트 폭 워드로 트렌즈레이트(translate)하여, PCM 데이터를 출력한다. 그렇지 않으면, DSP 칩은 LSB 부들을 디코딩하고, MSB & LSB 샘플들을 어샘블링하고, 어셈블링된 샘플들을 원래의 비트 폭 워드로 변환하여, PCM 데이터를 출력한다.
본 발명에 따르면, 스케일러블 무손실 음성 코덱 및 오서링 툴을 제공할 수 있다.
본 발명의 이들 및 다른 특징들 및 이점들은 첨부된 도면을 함께 참조하여, 바람직한 실시예들의 다음의 상세한 설명으로부터 당업자에게 명백할 것이다.
도 1은 상술된 바와 같이, 무손실 음성 채널 대 시간에 대한 비트 레이트와 페이로드의 플롯이다.
도 2는 본 발명에 따른 무손실 음성 코덱 및 오서링 툴의 블록도이다.
도 3은 음성 코더의 단순화된 흐름도이다.
도 4는 무손실 비트스트림에서 샘플에 대한 MSB/LSB 스플릿의 도면이다.
도 5는 오서링 툴의 단순화된 흐름도이다.
도 6은 오서링된 비트스트림에서 샘플에 대한 MSB/LSB 스플릿의 도면이다.
도 7은 MSB 및 LSB 부들과 헤더 정보를 포함하는 비트스트림의 도면이다.
도 8은 무손실 오서링된 비트스트림에 대한 페이로드의 플롯이다.
도 9는 음성 디코더의 단순 블록도이다.
도 10은 디코딩 프로세스의 흐름도이다.
도 11은 어셈블링된 비트스트림의 도면이다.
도 12 내지 도 15는 특정 실시예에 대하여 비트스트림 포맷, 인코딩, 오서링, 및 디코딩을 도시한다.
도 16a 및 도 165b는 손실 코어 인코더와 역방향 호환 가능한 스케일러블 무손실 코덱을 위한 인코더 및 디코더의 블록도이다.
본 발명은, 음성 입력 파일들을 필터링해야 하는 일이 없고, 무손실 비트스트림을 재인코딩하거나 그렇지 않으면 붕괴시켜야 하는 일이 없이, 매체, 채널, 디코더 버퍼 또는 플레이백 장치 비트 레이트 제약들을 만족시키기 위하여 비트들을 선택적으로 폐기하기 위한 무손실 음성 코덱 및 오서링 툴을 제공한다.
도 2에 도시된 바와 같이, 음성 인코더(20)는 분석 윈도우의 시퀀스에서 음성 데이터를 무손실 인코딩하고, 인코딩된 데이터와 헤더 정보를 스케일러블 무손실 비트스트림(22)으로 패킹하여, 적절하게 아카이브(24)에 기억된다. 분석 윈도우는 통상적으로 인코딩된 데이터의 프레임들이나, 여기서 사용된 바와 같이 윈도우는 복수의 프레임들에 걸칠 수 있다. 또한, 분석 윈도우는, 프레임 내의 데이터의 하나 이상의 세그먼트들로, 세그먼트 내에 하나 이상의 채널 세트들로, 각 채널 세트에서의 하나 이상의 채널들로, 마지막으로 채널 내의 하나 이상의 주파수 확장으로 구별될 수도 있다. 비트스트림에 대한 스케일링 판정은 상당히 대략적일 수 있거나(다중 프레임들) 또는 더욱 세밀할(프레임마다의 채널 세트당 주파수 확장마다) 수 있다.
오서링 툴(30)은 디코더의 버퍼 용량에 따라 디스크(매체)에 인코딩된 데이터를 레이아웃하는 데 사용된다. 초기 레이아웃은 버퍼링된 페이로드에 대응한다. 툴은 버퍼링된 페이로드를 각 분석 윈도우에 대하여 허용된 페이로드와 비교하여, 레이아웃이 임의의 수정을 요하는 지를 판정한다. 허용된 페이로드는 통상적으로 매체(DVD 디스크) 또는 송신 채널에 의하여 지원되는 피크 비트 레이트의 함수이다. 허용된 페이로드는 고정될 수도 있거나, 글로벌 최적화의 일부인 경우 가변하도록 허용될 수도 있다. 오서링 툴은 넌-컨포밍 윈도우에서 무손실 인코딩된 음성 데이터를 선택적으로 스케일링하여, 인코딩된 페이로드, 따라서 버퍼링된 페이로드를 감소시킨다. 스케일링 프로세스는 인코딩된 데이터로 일부 손실을 도입하나, 넌-컨포밍 윈도우에만 한정되며, 각 윈도우를 컨포먼스(conformance)로 보내는 정도로만 적절하게 충분하다. 오서링 툴은 무손실 및 손실 데이터와 임의의 수정된 헤더 정보를 비트스트림(32)으로 패킹한다. 비트스트림(32)은 음성 디코더(38)를 통하여 후속 플레이백을 위하여 통상적으로 매체(34)에 기억되거나 송신 채널(36)을 통하여 송신되고, 이 음성 디코더는 단일 또는 다중-채널 PCM(pulse code modulated) 음성 스트림(40)을 생성한다.
도 3 및 도 4에 도시된 예시적인 실시예에서, 음성 인코더(20)는 각 음성 샘플을 MSB 부(42)와 LSB 부(44)로 분리한다(단계 46). 음성 데이터를 분리하는 경계점(48)은 각 음성 샘플에 대하여 최소 코딩 레벨을 형성하는 최소 MSB 비트 폭(Min MSB)(50)의 제1 할당에 의하여 연산된다. 예컨대, 음성 데이터의 비트 폭(52)이 20-비트이면, Min MSB는 16-비트일 것이다. 이것은, 최대 LSB 비트 폭(Max LSB)(54)은 비트 폭(52)에서 Min MSB (50)를 뺀 값이라는 것을 따른다. 인코더는 분석 윈도우에서 음성 데이터를 위하여 코스트(cost) 함수, 예컨대 L2 또는 L 놈(norm)을 연산한다. 코스트 함수가 임계값을 초과하면, 인코더는 적어도 하나의 비트의 LSB 비트 폭(56)을 계산하며, Max LSB 이하이다. 코스트 함수가 임계값을 초과하지 않으면, LSB 비트 폭(56)은 제로 비트에 설정된다. 일반적으로, MSB/LSB 스플릿은 각 분석 윈도우에 대하여 행해진다. 상술된 바와 같이, 이것은 통상적으로 하나 이상의 프레임들이다. 스플릿은 예컨대 각 데이터 세그먼트, 채널 세트, 채널 또는 주파수 확장에 대하여 더욱 세밀화될 수 있다. 보다 많은 세밀화는 비트스트림에서 부가적인 계산과 보다 많은 오버헤드를 희생하여 코딩 성능을 향상시킨다.
인코더는 상이한 무손실 알고리즘으로 MSB 부들(단계 58)과 LSB 부들(단계 60)을 무손실 인코딩한다. MSB 부에서의 음성 데이터는 통상적으로 임의의 하나의 채널 내에서 그리고 채널들 간 모두 시간적으로(temporally) 고도로 상관된다. 따라서, 무손실 알고리즘은 엔트로피 코딩, 고정 예측(fixed prediction), 적응성 예측 및 조인트 채널 상관 해제 기술을 채용하여 MSB 부들을 효율적으로 코딩한다. 적합한 무손실 인코더는 2004년 8월 8일 출원된 일련번호 10/911067의 공동 계류중인 출원 "Lossless Multi-Channel Audio Codec"에 설명되어 있으며, 여기서 참조로 사용되었다. 다른 적합한 무손실 인코더들은 MLP (DVD Audio), Monkey's audio(컴퓨터 애플리케이션), Apple lossless, Windows Media Pro lossless, AudioPak, DVD, LTAC, MUSICcompress, OggSquish, Philips, Shorten, Sonarc 및 WA를 포함한다. 이들 많은 코덱들의 리뷰는 Mat Hans, Ronald Schafer에 의한 "Lossless Compression of Digital Audio" 휴렛 페커드, 1999에 의하여 제공된다.
역으로, LSB 부에서의 음성 데이터는 고도로 비상관되고, 노이즈에 더 가깝다. 따라서, 정교한 압축 기술이 대부분 비효율적이고, 처리 자원들을 소비한다. 또한, 비트스트림을 효율적으로 오서링하기 위하여, 단순한 엔트로피 코더가 후속하는 상당한 저차원의 단순화된 예측을 이용하는 상당히 단순한 무손실 코드가 아주 바람직하다. 사실상, 현재 바람직한 알고리즘은 LSB 비트를 단순히 그대로 복사함으로써 LSB 부를 인코딩한다. 이것은 개별 LSB가 LSB 부를 디코딩해야 하는 일없이 폐기되도록 할 것이다.
인코더는 인코딩된 MSB 및 LSB 부들을 스케일러블 무손실 비트스트림(62)으로 분리하여 패킹하여, 이들이 용이하게 언패킹되고 디코딩될 수 있다(단계 64). 정규의 헤더 정보 외에, 인코더는 LSB 비트 폭(56)을 헤더로 패킹한다(단계 66). 헤더는 또한, 인코딩 동안 사용되지 않는 LSB 비트 폭 감소(68)에 대한 스페이스를 포함한다. 이 프로세스는 각 분석 윈도우(프레임들, 프레임, 세그먼트, 채널 세트 또는 주파수 확장)에 대하여 반복되며, 이에 대하여 스플릿이 재계산된다.
도 5, 도 6 및 도 7에 도시된 바와 같이, 오서링 툴(30)은 사용자가, 디코더의 버퍼 용량에 따라 매체에 음성 및 영상 비트스트림을 레이아웃할 때의 제1 패스를 행하도록 하여(단계 70), 매체의 피크 비트 레이트 제약을 만족한다. 오서링 툴은 분석 윈도우 루프를 개시하고(단계 71), 버퍼링된 페이로드를 계산하고(단계 72), 버퍼링된 페이로드를 분석 윈도우(73)에 대하여 허용된 페이로드와 비교하여 무손실 비트스트림이 임의의 스케일링이 제약들을 만족시키도록 요구하는 지의 여부를 판정한다(단계 74). 허용된 페이로드는 음성 디코더의 버퍼 용량과, 매체 또는 채널의 피크 비트 레이트에 의하여 결정된다. 인코딩된 페이로드는 모든 데이터 세그먼트(75)의 샘플들 수 플러스(+) 헤더(76)와 음성 데이터의 비트 폭에 의하여 결정된다. 허용된 페이로드가 초과되지 않으면, 무손실 인코딩된 MSB와 LSB 부들은 수정된 비트스트림(79)에서 데이터 세그먼트(75)의 각 MSB 및 LSB 영역들(77, 78)로 패킹된다(단계 80). 허용된 페이로드가 절대로 초과되지 않으면, 무손실 비트스트림은 매체 또는 채널에 직접적으로 전달된다.
버퍼링된 페이로드가 허용된 페이로드를 초과하면, 오서링 툴은 헤더와 무손실 인코딩된 MSB 부들(42)을 수정된 비트스트림(79)으로 패킹한다(단계 81). 우선순위화 룰에 기초하여, 오서링 툴은, 인코딩된 페이로드, 따라서 버퍼링된 페이로드를 많아야 허용된 페이로드로 감소시킬 것인 LSB 비트 폭 감소(68)를 계산한다(단계 82). LSB 부들이 무손실 인코딩 동안 단순하게 복제된다는 것을 가정하여, 오서링 툴은, 바람직하게는 디더(dither)를 각 LSB 부에 부가함으로써 LSB 부들을 스케일링하여(단계 84), LSB 비트 폭 감소를 지난 다음 LSB 비트를 디더링한 후, 비트들을 폐기하기 위하여 LSB 비트 폭 감소에 의하여 LSB 부를 우측으로 시프팅한다. LSB 부들이 인코딩되면, 디코딩되고, 디더링되고, 시프팅되고, 재인코딩되어야 할 것이다. 툴은 현재의 컨포밍 윈도우를 위한 현재의 손실 인코딩된 LSB 부들을 수정된 LSB 비트 폭(56)과 LSB 비트 폭 감소(68)와 디더 파라미터를 갖는 비트스트림으로 패킹된다(단계 86).
도 6에 도시된 바와 같이, LSB 부(44)는 3 비트 폭으로부터 1 비트의 수정된 LSB 비트 폭(56)으로 스케일링되었다. 2개의 폐기된 LSB 들(88)은 2 비트의 LSB 비트 폭 감소(68)에 일치시킨다. 예시적인 실시예에서, 수정된 LSB 비트 폭(56)과 LSB 비트 폭 감소(68)는 헤더에서 디코더로 전송된다. 또는, 이들 중 하나가 생략될 수 있고, 원래의 LSB 비트 폭이 송신될 수 있다. 파라미터들 중 임의의 하나는 다른 2개에 의하여 고유하게 결정된다.
스케일러블 무손실 인코더와 오서링 툴의 이점은 도 8에서 행해진 바와 같이 도 1의 오서링된 비트스트림에 대하여 버퍼링된 페이로드(90)를 오버레이(overlay)함으로써 잘 도시되어 있다. 컨텐트를 제거한 후, 무손실 코더로 단순하게 재인코딩하기 위하여 음성 파일들을 변경하는 공지된 접근법을 사용하여, 버퍼링된 페이로드(14)는 허용된 페이로드(10)보다 작은 버퍼링된 페이로드(16)로 효율적으로 하향 시프팅된다. 피크 페이로드가 허용된 페이로드보다 작다는 것을 보증하기 위하여, 상당량의 컨텐트가 전체 비트스트림에 걸쳐 희생된다. 비교에 의하여, 버퍼링된 페이로드(90)는, 버퍼링된 페이로드가 허용된 페이로드를 초과하는 몇몇 윈도우(프레임들)에서를 제외하고 원래의 무손실적으로 버퍼링된 페이로드(14)를 복제한다. 이들 영역에서, 인코딩된 페이로드, 따라서 버퍼링된 페이로드는 제약들을 만족시키는 데만 충분하도록 감소되며, 바람직하게는 그 이상은 아니다. 그 결과, 페이로드 용량은 보다 효율적으로 사용되며, 보다 많은 컨텐트가 원래의 음성 파일들을 변경하거나 재인코딩해야 하는 일 없이 최종 사용자에게 전달된다.
도 9, 도 10 및 도 11에 도시된 바와 같이, 음성 디코더(38)는 디스크(100)를 통하여 오서링된 비트스트림을 받는다. 비트스트림은 분석 윈도우들의 시퀀스로 분리되며, 각 분석 윈도우는 헤더 정보와 인코딩된 음성 데이터를 포함한다. 윈도우들 대부분은 무손실 인코딩된 MSB 및 LSB 부들, 원래의 LSB 비트 폭들 및 제로의 LSB 비트 폭 감소를 포함한다. 디스크(100)의 피크 비트 레이트와 버퍼(102)의 용량에 의하여 설정된 페이로드 제약들을 만족하기 위하여, 일부 윈도우들은 무손실 인코딩된 MSB 부들과 손실 LSB 부들, 손실 LSB 부들의 수정된 비트 폭들, 및 LSB 비트 폭 감소를 포함한다.
제어기(104)는 디스크(100) 상의 비트스트림으로부터 인코딩된 음성 데이터를 판독한다. 파서(parser)(106)는 음성 데이터를 영상으로부터 분리시키고, 음 성 데이터를 오서링의 계정에서 오버플로하지 않는 음성 버퍼(102)로 스트리밍한다. 다음, 버퍼는 충분한 데이터를 DSP 칩(108)에 제공하여, 현재의 분석 윈도우에 대하여 음성 데이터를 디코딩한다. DSP 칩은 원래의 워드 폭으로부터, 수정된 LSB 비트 폭(56), LSB 비트 폭 감소(68), 다수의 빈 LSB(112)를 포함하는 헤더 정보를 추출하고(단계 110), 음성 데이터의 MSB 부들을 추출하고, 디코딩하고 어셈블링한다(단계 114). 모든 LSB 들이 오서링 동안 폐기되거나 원래의 LSB 비트 폭이 0 이면(단계 115), DSP 칩은 MSB 샘플들을 원래의 비트 폭 워드로 변환하고, PCM 데이터를 출력한다(단계 116). 그렇지 않으면, DSP 칩은 무손실 및 손실 LSB 부들을 디코딩하고(단계 118), MSB & LSB 샘플들을 어셈블링하고(단계 120), 헤더 정보를 사용하여, 어셈블링된 샘플들을 원래의 비트 폭 워드로 변환한다(단계 122).
다중-채널 음성 코덱 및 오서링
프레임들의 시퀀스로서 나타낸 인코딩된 음성 비트스트림에 대한 음성 코덱과 오서링 툴의 예시적인 실시예가 도 12 내지 도 15에 도시되어 있다. 도 12에 도시된 바와 같이, 각 프레임(200)은 공통 정보(204)를 기억하기 위한 헤더(202)와, LSB 비트 폭들과 LSB 비트 폭 감소를 기억하는 각 채널 세트를 위한 서브-헤더들(206)과, 하나 이상의 데이터 세그먼트(208)를 포함한다. 각 데이터 세그먼트는 하나 이상의 채널 세트들(210)을 포함하고, 각 채널 세트는 하나 이상의 음성 채널들(212)을 포함한다. 각 채널은 인코딩된 MSB와 LSB 부들(216, 218)을 포함하는 적어도 최저 주파수 확장을 갖는 하나 이상의 주파수 확장들(214)을 포함한다. 비트스트림은 각 프레임에서의 각 채널 세트에서 각 채널에 대하여 스플릿된 구별된 MSB 와 LSB을 갖는다. 보다 높은 주파수 확장은 LSB 부들로서 유사하게 스플릿되거나 전체적으로 인코딩될 수도 있다.
이 비트스트림이 오서링되는 스케일러블 무손실 비트스트림은 도 13a 및 도 13b에 도시된 바와 같이 인코딩된다. 인코더는 원래의 워드(24-비트)의 비트 폭, Min MSB(16-비트), L2 놈의 제곱값에 대한 임계값(Th) 및 그 놈에 대한 스케일 인자(SF)를 설정한다(단계 220). 인코더는 프레임 루프(단계 222)와 채널 설정 루프(단계 224)를 시작한다. 음성 데이터(20-비트)의 실제 폭이 원래의 워드 폭보다 작을 수도 있으므로, 인코더는 빈 LSB들의 수를 계산하고(24 - 20 = 4)(현 프레임에서 임의의 PCM 샘플에서의 "0" LSB들의 최소 수), 모든 샘플을 그 양만큼 우측으로 시프팅한다(단계 226). 데이터의 비트 폭은 원래의 비트 폭(24)에서 빈 LSB들을 뺀 수(4)이다(단계 228). 다음, 인코더는 LSB 부의 일부로서 인코딩되도록 허용할 것인 최대 수의 비트들(Max LSB 들)을 Max(비트 폭 - Min MSB, 0)로서 결정한다(단계 230). 현재 예에서, Max LSBS = 20 - 16 = 4 비트이다.
음성 데이터를 MSB 및 LSB 부들로 분리하기 위한 경계점을 결정하기 위하여, 인코더는 채널 루프 인덱스를 시작하고(단계 232), L 놈을 채널에서의 음성 데이터의 최대 절대 진폭으로서 계산하고 L2 놈 제곱값을 분석 윈도우에서의 음성 데이터의 진폭의 제곱값들의 합으로서 계산한다(단계 234). 인코더는 파라미터 Max Amp를 log2(L ) 이상의 최소 정수로서 설정하고(단계 236), LSB 비트 폭을 제로로 초기화한다(단계 237). Max Amp가 Min MSB 보다 크면(단계 238), LBS 비트 폭은 Max Amp 와 Min MSB의 차와 동일하게 설정된다(단계 240). 그렇지 않으면, L2 놈이 임계값을 초과하면(작은 진폭이나 상당한 변동)(단계 242), LSB 비트 폭은 통상적으로 > 1인 스케일 인자에 의하여 나누어진 Max Amp 와 동일하게 설정된다(단계 244). 양쪽 테스트가 실패하면, LSB 비트 폭이 제로로 남는다. 다시 말하면, 최소 인코드 품질, 예컨대 Min MSB 를 유지하기 위하여, 어떠한 LSB 도 사용 가능하지 않는다. 인코더는 LSB 비트 폭을 Max LSB 값에서 클립하고(clip)(단계 246), 이 값을 서브-헤더 채널 세트로 패킹한다(단계 248).
경계점, 즉 LSB 비트 폭이 결정되었으면, 인코더는 음성 데이터를 MSB 및 LSB 부들로 분리한다(단계 250). MSB 부는 적합한 알고리즘을 사용하여 무손실 인코딩되고(단계 252), 현재 프레임의 채널 세트에서 특정 채널의 최저 주파수 확장으로 패킹된다(단계 254). LSB 부는 적합한 알고리즘, 예컨대 단순한 비트 복제를 사용하여 무손실 인코딩되어(단계 256), 패킹된다(단계 258).
이 프로세스는 비트스트림에서의 각 프레임에 대하여(단계 264) 각 채널 세트에 대하여(단계 262) 각 채널에 대하여(단계 260) 반복된다. 또한, 동일한 절차가 보다 높은 주파수 확장에 대하여 반복될 수도 있다. 그러나, 이들 확장은 훨씬 적은 정보를 포함하므로, Min MSB는 제로로 설정될 수도 있어서 LSB 들로서 모두 인코딩된다.
스케일러블 무손실 비트스트림이 특정 음성 컨텐트에 대하여 인코딩되면, 오서링 툴은 전달 매체의 피크 비트 레이트 제약과 음성 디코더에서의 버퍼 용량을 만족시키는 가능한 가장 좋은 비트스트림을 생성한다. 도 14에 도시된 바와 같이, 사용자는 비트 레이트와 버퍼 용량 제약에 순응하기 위하여 매체에 무손실 비트스트림(268)을 레이아웃하는 것을 시도한다(단계 270). 성공시, 무손실 비트스트림(268)은 오서링된 비트스트림(272)으로서 기입되고 매체에 기억된다. 그렇지 않으면, 오서링 툴은 프레임 루프를 시작하고(단계 274), 버퍼링된 페이로드(버퍼링된 평균 프레임-투-프레임 페이로드)를 허용된 페이로드(피크 비트 레이트)와 비교한다(단계 276). 현재 프레임을 허용된 페이로드에 순응시키면, 무손실 인코딩된 MSB 및 LSB 부들은 무손실 비트스트림(268)으로부터 추출되고, 오서링된 비트스트림(272)에 기입되고, 프레임이 증분된다.
오서링 툴이, 버퍼링된 페이로드가 허용된 페이로드를 초과하는 넌-컨포밍 프레임을 만나면, 툴은 채널 세트에서 LSB 부들 모두를 폐기함으로써 달성될 수 있는 최대 감소를 계산하고, 이것을 버퍼링된 페이로드로부터 감산한다(단계 278). 최소 페이로드가 여전히 너무 크면, 툴은 초과 데이터량과 프레임 번호를 포함하는 에러 메시지를 디스플레이한다(단계 280). 이 경우, Min MSB가 감소될 것이거나, 원래의 음향 파일이 변경되고 재인코딩될 것이다.
그렇지 않으면, 오서링 툴은 특정 채널 우선 순위화 룰에 기초하여 현재 프레임에서의 각 채널에 대한 LSB 비트 폭 감소를 계산하여(단계 282),
nCh = 0,...ALLChannels -1 에 대하여 비트 폭 감소[nCh] < LSB 비트 폭[nCh] 이고,
버퍼링된 페이로드[nFr] - Σ (비트 폭 감소[nCh} * NumSamplesin Frame) < 허용된 페이로드[nFr]
이다. 이들 값들에 의한 LSB 비트 폭들의 감소는, 프레임이 허용된 페이로드에 순응(conform)한다는 것을 보증할 것이다. 이것은 최소 손실량이 넌-컨포밍 프레임들로 도입되며, 그렇지 않으면 무손실 컨포밍 프레임들에 영향을 미치지 않게 행해진다.
오서링 툴은, 다음 비트를 디더링하기 위하여 프레임에서의 각 LSB 부에 디더를 부가한 후, LSB 비트 폭 감소에 의하여 우측 시프팅함으로써 각 채널에 대하여 인코딩된 LSB 부들(비트 복제 인코딩을 가정하여) 인코딩된 LSB 부들을 조정한다(단계 284). 디더의 부가는 필수적인 것은 아니나, 양자화 에러들을 상관 해제시키고 또한 이들을 원래의 음성 신호로부터 상관 해제시키도록 하기 위하여 상당히 바람직하다. 툴은 현재 손실 스케일링된 LSB 부들(단계 286), 각 채널에 대한 수정된 LSB 비트 폭들 및 LSB 비트 폭 감소(단계 288), 및 수정된 스트림 네비게이션 지점들(단계 290)을 오서링된 비트스트림으로 패킹한다. 디더가 부가되면, 디더 파라미터는 비트스트림으로 패킹된다. 다음, 이 프로세스는 종료하기(단계 294) 전에 각 프레임에 대하여 반복된다(단계 292).
도 15a 및 도 15b 에 도시된 바와 같이, 적합한 디코더는 비트스트림에 동기화하고(단계 300), 프레임 루프를 시작한다(단계 302). 디코더는 세그먼트 수, 세그먼트에서의 샘플들 수, 채널 세트의 수 등을 포함하는 프레임 헤더 정보를 추출하고(단계 304), 세트에서의 채널수, 빈 LSB들 수, LSB 비트 폭, 각 채널 세트에 대한 LSB 비트 폭 감소를 포함하는 채널 세트 헤더 정보를 추출하고(단계 306), 이것을 각 채널 세트에 대하여 기억한다(단계 307).
헤더 정보가 사용 가능하면, 디코더는 현재 프레임에 대하여 세그먼트 루프(단계 308)와 채널 설정 루프(단계 310)를 시작한다. 디코더는 MSB 부들을 언패킹하고 디코딩하고(단계 312), PCM 샘플들을 기억한다(단계 314). 다음, 디코더는 현재 채널 세트에 채널 루프를 시작하고(단계 316), 인코딩된 LSB 데이터로 진행한다.
수정된 LSB 비트 폭이 제로를 초과하지 않으면(단계 318), 디코더는 현재 세크먼트에서 샘플 루프를 시작하고(단계 320), MSB 부에 대한 PCM 샘플들을 원래의 워드 폭으로 변환하고(단계 322), 샘플 루프가 종료할 때 까지 반복한다(단계 324).
그렇지 않으면, 디코더는 현재 세그먼트에서 샘플 루프를 시작하고(단계 326), LSB 부들을 언패킹하고 디코딩하고(단계 328), LSB 부를 MSB 부에 부가함으로써 PCM 샘플들을 어셈블링한다(단계 330). 다음, 디코더는 헤더로부터 빈 LSB, 수정된 LSB 비트 폭 및 LSB 비트 폭 감소 정보를 이용하여 PCM 샘플을 원래의 워드 폭으로 변환하고(단계 332), 샘플 루프가 종료할 때 까지 단계들을 반복한다(단계 334). 전체 음성 시퀀스를 재구성하기 위하여, 디코더는 각 프레임(단계 340)에서 각 채널 세트(단계 338)에서 각 채널(단계 336)에 대하여 이들 단계들을 반복한다.
역방향 호환 가능한 스케일러블 음성 코덱
스케일가능 특징은 역방향 호환 가능한 무손실 인코더, 비트스트림 포맷 및 디코더로 사용될 수 있다. "손실(lossy)" 코어 코드 스트림은 송신(또는 기록)을 위하여 음성 데이터의 무손실 인코딩된 MSB 및 LSB 부들과 제휴하여 패킹된다. 확장된 무손실 특징을 갖는 디코더에서의 디코딩시, 손실 및 무손실 MSB 스트림이 조합되고, LSB 스트림은 무손실 재구성된 신호를 구성하기 위하여 부가된다. 이전-세대 디코더에서, 무손실 MSB 및 LSB 확장 스트림이 무시되고, 코어 "손실" 스트림이 디코딩되어 고품질의, 대역폭을 갖는 다중 채널 음성 신호와, 코어 스트림의 신호-대-잡음 비 특성을 제공한다.
도 16a는 스케일러블 역방향 호환 가능한 인코더(400)의 시스템 레벨 도면을 도시한다. 디지털화된 음성 신호, 적합하게는 M-비트 PCM 음성 샘플들이 입력(402)에 제공된다. 바람직하게는, 디지털화된 음성 신호는 수정된 손실 코어 인코더(404)의 것을 초과하는 샘플링 레이트와 대역폭을 갖는다. 일 실시예에서, 디지털화된 음성 신호의 샘플링 레이트는 96 kHz(샘플링된 음성에 대한 48 kHz의 대역폭에 대응하는)이다. 입력 음성은, 바람직하게는 각 채널이 96 kHz에서 샘플링되는 다중채널 신호일 수도 있다. 다음의 논의는 신호 채널의 처리에 초점을 맞출 것이나, 다중 채널로의 확장은 명백하다. 입력 신호는 노드(406)에서 중복(duplicate)되고, 평행 브랜치에서 다뤄진다. 신호 경로의 제1 브랜치에서, 수정된 손실, 광대역 인코더(404)는 신호를 인코딩한다. 이하에 상세히 설명된 수정된 코어 인코더(404)는 인코딩된 데이터 스트림(코어스트림(408))을 생성하고, 이 스트림은 패커 또는 멀티플렉서(410)에 전달된다. 코어스트림(408)은 또한 수정된 코어스트림 디코더(412)와 통신하여, 출력으로서 수정된 재구성된 코어 신호(414)를 생성하고, N 비트(>> N 415) 만큼 우측 시프팅되어 그 N lsb 들을 폐기한다.
반면, 평행 경로에서의 입력 디지털화된 음성 신호(402)는 재구성된 음성 스트림(수정된 인코드 및 수정된 디코더에 의한)으로 도입된 지연과 실질적으로 동일한 보상 지연(416)을 경험하여, 지연된 디지털화된 음성 스트림을 생성한다. 음성 스트림은 상술된 바와 같이 MSB와 LSB 부들(417)로 분리된다. N-비트 LSB 부(418)는 패커(410)로 전달된다. MSB 부와 정렬하도록 시프팅된 M-N 비트 재구성된 코어 신호(414)는 감산 노드(420)에서 지연된 디지털화된 음성 스트림(419)의 MSB 부로부터 감산된다(입력들 중 하나의 극성을 변경시킴으로써 합산 노드가 감산 노드에 대하여 대체될 수도 있다는 것에 주목바란다. 따라서, 합산 및 감산은 본 목적을 위하여 실질적으로 동일할 수도 있다).
감산 노드(420)는 원래 신호와 재구성된 코어 신호의 M-N MSB 들 간의 차이를 나타내는 차이 신호(422)를 생성한다. 순수한 "무손실" 인코딩을 달성하기 위하여, 무손실 인코딩 기술로 차이 신호를 인코딩하고 송신하는 것이 필수적이다. 따라서, M-N 비트 차이 신호(422)는 무손실 인코더(424)로 인코딩되고, 인코딩된 M-N 비트 신호(426)가 패킹되거나 패커(410)에서 코어 스트림(408)으로 멀티플렉싱되어 멀티플렉스된 출력 비트스트림(428)을 생성한다. 무손실 코딩은 가변 비트 레이트에 있는 코딩된 무손실 스트림(418, 426)을 생성하여 무손실 코더의 필요성을 만족한다. 다음, 패킹된 스트림은 채널 코딩을 포함하는 코딩의 또다른 계층들에 선택적으로 종속된 후, 송신되거나 기록된다. 본 개시의 목적을 위하여, 기록은 채널을 통하여 송신으로서 간주될 수도 있다는 것에 주목바란다.
코어 인코더(404)는, 확장된 대역폭을 취급할 수 있는 실시예에서 코어 인코더가 수정을 요할 것이므로, "수정된(modified)" 으로 기술된다. 인코더 내의 64-대역 분석 필터 뱅크는 그 출력 데이터의 절반을 폐기하고, 보다 낮은 32 주파수 대역 만을 인코딩한다. 이 폐기된 정보는 어떠한 경우에서도 신호 스펙트럼의 상위 절반을 재구성할 수 없을 것인 디코더들을 레거시하는(legacy) 것에 관계없다. 남아있는 정보는 수정되지 않은 인코더에 따라서 인코딩되어 역방향-호환 가능한 코어 출력 스트림을 형성한다. 그러나, 48 kHz 샘플링 레이트에서 또는 그 밑에서 동작하는 다른 실시예에서, 코어 인코더는 이전의 코어 인코더의 실질적으로 수정되지 않은 버전일 수 있다. 마찬가지로, 레거시 디코더의 샘플링 레이트를 상회하는 동작에 대하여, 코어 인코더(412)는 후술되는 바와 같이 수정될 필요가 있을 것이다. 종래의 샘플링 레이트(예컨대, 48 kHz 및 그 밑)에서의 동작에 대하여, 코어 디코더는 이전의 코어 디코더 또는 등가물의 실질적으로 수정되지 않은 버전일 것이다. 일부 실시예에서, 샘플링 레이트의 선택은 인코딩시 행해질 수 있고, 인코드 및 디코드 모듈들이 요구시 소프트웨어에 의하여 그 때에 재구성될 수 있다.
도 16b에 도시된 바와 같이, 디코딩 방법은 인코딩 방법에 상보적이다. 이전 세대 디코더는 코어스트림(408)을 단순히 디코딩하고 무손실 MSB 및 LSB 부들을 폐기함으로써 손실 코어 음성 신호를 디코딩할 수 있다. 이러한 이전 세대 디코더에서 생성된 음성 품질은 상당히 양호하며, 이전 세대 음성과 동등하며 단지 무손실이 아니다.
도 16b를 참조하여, 인커밍 비트스트림(송신 채널 또는 기록 매체로부터 복구된)은 언패커(unpacker)(430)에서 우선 언패킹되고, 무손실 확장 데이터 스트림(418(LSB) 및 426(MSB))으로부터 코어스트림(408)을 분리한다. 코어 스트림은 수정된 코어 디코더(432)에 의하여 디코딩되고, 재구성 동안 64-대역 합성에서 상부 32 대역들에 대하여 비송신된 서브-대역 샘플들을 소거함으로써(zero out) 코어 스트림을 재구성한다(표준 코어 인코드가 수행되면, 소거는 불필요하다는 것을 주목바란다). MSB 확장 필드는 무손실 MSB 디코더(434)에 의하여 디코딩된다. LSB 데이터가 비트 복제를 사용하여 무손실 인코딩되므로, 디코딩은 불필요하다.
코어 및 무손실 MSB 확장을 병렬로 디코딩한 후, 보간된 코어로 재구성된 데이터가 N 비트(436) 만큼 우측 시프팅되어, 가산기(438)에서 가산함으로써 데이터의 무손실부와 조합된다. 가산된 출력은 무손실 MSB 부(442)를 형성하기 위하여 N 비트(440) 만큼 좌측 시프팅되고 N-비트 LSB 부(444)와 어셈블링되어, 원래의 음성 신호(402)의 무손실의 재구성된 표현인 PCM 데이터 워드(446)를 생성한다.
신호가 정확한 입력 신호로부터 디코딩된 손실 재구성을 감산함으로써 인코딩되므로, 재구성된 신호는 원래의 음성 데이터의 정확한 재구성을 나타낸다. 따라서, 역설적으로, 손실 코덱 및 무손실 코딩된 신호의 조합은 실제로 순수한 무손실 코덱을 수행하나, 인코딩된 데이터는 이전 세대의 무손실 디코더들과 호환 가능하게 된다는 부가적인 이점을 갖는다. 또한, 비트스트림은 LSB 들을 선택적으로 폐기함으로써 스케일링될 수 있어, 매체 비트 레이트 제약과 버퍼 용량에 순응할 수 있도록 한다.
본 발명의 몇몇 예시적인 실시예들을 도시하고 설명하였으나, 다양한 변형 및 대안적인 실시예들이 당업자에게 행해질 것이다. 이러한 변형 및 대안적인 실시예들이 고려되며, 첨부된 청구항에 정의된 바와 같이 본 발명의 사상 및 범위를 벗어나지 않고 행해질 수 있다.

Claims (2)

  1. 손실 코어 디코더와의 역방향 호환 가능한 M-비트 음성 데이터에 대하여 스케일러블 무손실 비트스트림을 인코딩하는 방법으로서,
    상기 M-비트 음성 데이터를 손실 M-비트 코어스트림으로 인코딩하는 단계;
    상기 손실 M-비트 코어스트림을 비트스트림으로 패킹하는 단계;
    상기 M-비트 코어스트림을 재구성된 코어 신호로 디코딩하는 단계;
    상기 M-비트 음성 데이터를 M-N 비트 MSB 및 N-비트 LSB 부들로 분리하는 단계;
    상기 N-비트 LSB 부를 상기 비트스트림으로 패킹하는 단계;
    상기 재구성된 코어 신호를 상기 MSB 부와 정렬하기 위하여 N 비트들만큼 우측 시프팅하는 단계;
    M-N 비트 잔여 신호를 형성하기 위하여 상기 MSB 부로부터 상기 재구성된 코어 신호를 감산하는 단계;
    상기 잔여 신호를 무손실 인코딩하는 단계;
    상기 인코딩된 잔여 신호를 상기 비트스트림으로 패킹하는 단계; 및
    상기 LSB 부들의 비트 폭들을 상기 무손실 비트스트림으로 패킹하는 단계
    를 포함하는 스케일러블 무손실 비트스트림을 인코딩하는 방법.
  2. 제 1 항에 있어서, 우측 시프팅 전에 상기 재구성된 코어 신호에 디더를 부가하는 단계와, 디더 파라미터를 상기 비트스트림 내에 패킹하는 단계를 더 포함하는 스케일러블 무손실 비트스트림을 인코딩하는 방법.
KR1020117027616A 2004-03-25 2005-03-21 스케일러블 무손실 비트스트림의 인코딩 방법 KR101237559B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US55618304P 2004-03-25 2004-03-25
US60/556,183 2004-03-25
US10/911,062 US7272567B2 (en) 2004-03-25 2004-08-04 Scalable lossless audio codec and authoring tool
US10/911,067 2004-08-04
US10/911,062 2004-08-04
US10/911,067 US7392195B2 (en) 2004-03-25 2004-08-04 Lossless multi-channel audio codec
PCT/US2005/009240 WO2005098822A2 (en) 2004-03-25 2005-03-21 Scalable lossless audio codec and authoring tool

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020067021953A Division KR101149956B1 (ko) 2004-03-25 2005-03-21 스케일러블 무손실 음성 코덱 및 오서링 툴

Publications (2)

Publication Number Publication Date
KR20120003944A true KR20120003944A (ko) 2012-01-11
KR101237559B1 KR101237559B1 (ko) 2013-02-26

Family

ID=35125763

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020117027616A KR101237559B1 (ko) 2004-03-25 2005-03-21 스케일러블 무손실 비트스트림의 인코딩 방법
KR1020117027614A KR101207110B1 (ko) 2004-03-25 2005-03-21 스케일러블 무손실 비트스트림의 인코딩 방법
KR1020067021953A KR101149956B1 (ko) 2004-03-25 2005-03-21 스케일러블 무손실 음성 코덱 및 오서링 툴
KR1020067021735A KR101243412B1 (ko) 2004-03-25 2005-03-21 무손실의 다채널 오디오 코덱

Family Applications After (3)

Application Number Title Priority Date Filing Date
KR1020117027614A KR101207110B1 (ko) 2004-03-25 2005-03-21 스케일러블 무손실 비트스트림의 인코딩 방법
KR1020067021953A KR101149956B1 (ko) 2004-03-25 2005-03-21 스케일러블 무손실 음성 코덱 및 오서링 툴
KR1020067021735A KR101243412B1 (ko) 2004-03-25 2005-03-21 무손실의 다채널 오디오 코덱

Country Status (9)

Country Link
EP (6) EP2270774B1 (ko)
JP (1) JP4997098B2 (ko)
KR (4) KR101237559B1 (ko)
AT (2) ATE511178T1 (ko)
DK (2) DK1743326T3 (ko)
IL (3) IL178243A0 (ko)
PL (1) PL2228791T3 (ko)
TR (2) TR200606136T1 (ko)
WO (2) WO2005098823A2 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7930184B2 (en) * 2004-08-04 2011-04-19 Dts, Inc. Multi-channel audio coding/decoding of random access points and transients
EP1852849A1 (en) * 2006-05-05 2007-11-07 Deutsche Thomson-Brandt Gmbh Method and apparatus for lossless encoding of a source signal, using a lossy encoded data stream and a lossless extension data stream
WO2009096898A1 (en) * 2008-01-31 2009-08-06 Agency For Science, Technology And Research Method and device of bitrate distribution/truncation for scalable audio coding
US8873671B2 (en) * 2008-03-26 2014-10-28 Qualcomm Incorporated Method and system for LLR buffer reduction in a wireless communication modem
KR101641685B1 (ko) 2010-03-29 2016-07-22 삼성전자주식회사 멀티채널 오디오의 다운믹스 방법 및 장치
KR101676477B1 (ko) 2010-07-21 2016-11-15 삼성전자주식회사 컨텍스트 기반의 무손실 부호화 장치 및 방법, 그리고 복호화 장치 및 방법
RU2562384C2 (ru) 2010-10-06 2015-09-10 Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. Способ и устройство для обработки аудио сигнала и для обеспечения большей детализации во времени для комбинированного унифицированного кодека речи и аудио (usac)
JP5466618B2 (ja) * 2010-10-19 2014-04-09 日本電信電話株式会社 符号化装置、復号装置、符号化方法、復号方法及びそのプログラム
KR101153819B1 (ko) * 2010-12-14 2012-06-18 전자부품연구원 오디오 처리 장치 및 방법
GB201210373D0 (en) * 2012-06-12 2012-07-25 Meridian Audio Ltd Doubly compatible lossless audio sandwidth extension
CN106463125B (zh) 2014-04-25 2020-09-15 杜比实验室特许公司 基于空间元数据的音频分割

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3498375B2 (ja) * 1994-07-20 2004-02-16 ソニー株式会社 ディジタル・オーディオ信号記録装置
EP0798866A2 (en) * 1996-03-27 1997-10-01 Kabushiki Kaisha Toshiba Digital data processing system
IL122714A (en) 1997-04-02 2011-06-30 Samsung Electronics Co Ltd Digital data coding/decoding method and apparatus
KR100261253B1 (ko) * 1997-04-02 2000-07-01 윤종용 비트율 조절이 가능한 오디오 부호화/복호화 방법및 장치
KR100338801B1 (ko) * 1997-07-31 2002-08-21 삼성전자 주식회사 디지털데이터의부호화/복호화방법및장치
KR100261254B1 (ko) * 1997-04-02 2000-07-01 윤종용 비트율 조절이 가능한 오디오 데이터 부호화/복호화방법 및 장치
KR100251453B1 (ko) * 1997-08-26 2000-04-15 윤종용 고음질 오디오 부호화/복호화장치들 및 디지털다기능디스크
KR100335611B1 (ko) * 1997-11-20 2002-10-09 삼성전자 주식회사 비트율 조절이 가능한 스테레오 오디오 부호화/복호화 방법 및 장치
US6226608B1 (en) * 1999-01-28 2001-05-01 Dolby Laboratories Licensing Corporation Data framing for adaptive-block-length coding system
DE69937189T2 (de) * 1999-05-21 2008-06-26 Scientifi-Atlanta Europe Verfahren und Vorrichtung zur Komprimierung und/oder Übertragung und/oder Dekomprimierung eines digitalen Signals
US6370502B1 (en) 1999-05-27 2002-04-09 America Online, Inc. Method and system for reduction of quantization-induced block-discontinuities and general purpose audio codec
US6226616B1 (en) * 1999-06-21 2001-05-01 Digital Theater Systems, Inc. Sound quality of established low bit-rate audio coding systems without loss of decoder compatibility
US6226216B1 (en) 2000-01-21 2001-05-01 Intel Corporation Sectional column activated memory
GB2364843A (en) * 2000-07-14 2002-02-06 Sony Uk Ltd Data encoding based on data quantity and data quality
US6675148B2 (en) * 2001-01-05 2004-01-06 Digital Voice Systems, Inc. Lossless audio coder
EP1368898A2 (en) * 2001-03-05 2003-12-10 Koninklijke Philips Electronics N.V. Device and method for compressing a signal
WO2003077425A1 (fr) * 2002-03-08 2003-09-18 Nippon Telegraph And Telephone Corporation Procedes de codage et de decodage signaux numeriques, dispositifs de codage et de decodage, programme de codage et de decodage de signaux numeriques
US20030231799A1 (en) * 2002-06-14 2003-12-18 Craig Schmidt Lossless data compression using constraint propagation
KR101015497B1 (ko) * 2003-03-22 2011-02-16 삼성전자주식회사 디지털 데이터의 부호화/복호화 방법 및 장치

Also Published As

Publication number Publication date
WO2005098822A2 (en) 2005-10-20
JP4997098B2 (ja) 2012-08-08
EP2228792A2 (en) 2010-09-15
IL200376A0 (en) 2011-07-31
KR101237559B1 (ko) 2013-02-26
EP2270775B1 (en) 2016-01-06
JP2007531010A (ja) 2007-11-01
KR101243412B1 (ko) 2013-03-13
ATE511178T1 (de) 2011-06-15
EP2228791B1 (en) 2015-05-06
DK1741093T3 (da) 2011-09-12
KR20070002065A (ko) 2007-01-04
ATE510279T1 (de) 2011-06-15
EP1741093B1 (en) 2011-05-25
TR200606137T1 (tr) 2007-01-22
PL2228791T3 (pl) 2015-10-30
EP2228792A3 (en) 2010-11-17
EP2270774B1 (en) 2016-07-27
KR101149956B1 (ko) 2012-06-01
TR200606136T1 (tr) 2007-04-24
WO2005098822A3 (en) 2006-11-23
EP2270775A2 (en) 2011-01-05
EP1743326A2 (en) 2007-01-17
EP2270775A3 (en) 2011-10-19
EP1743326B1 (en) 2011-05-18
EP2228791A3 (en) 2010-11-17
WO2005098823A2 (en) 2005-10-20
IL178243A0 (en) 2006-12-31
EP2270774A3 (en) 2011-10-19
EP2270774A2 (en) 2011-01-05
KR101207110B1 (ko) 2012-12-03
KR20120003943A (ko) 2012-01-11
KR20070020012A (ko) 2007-02-16
EP1741093A2 (en) 2007-01-10
EP1741093A4 (en) 2009-06-17
EP2228791A2 (en) 2010-09-15
IL178244A0 (en) 2006-12-31
DK1743326T3 (da) 2011-08-22
EP1743326A4 (en) 2009-06-17
WO2005098823A3 (en) 2007-04-12

Similar Documents

Publication Publication Date Title
US7668723B2 (en) Scalable lossless audio codec and authoring tool
KR101237559B1 (ko) 스케일러블 무손실 비트스트림의 인코딩 방법
US8374858B2 (en) Scalable lossless audio codec and authoring tool
KR100917464B1 (ko) 대역 확장 기법을 이용한 디지털 데이터의 부호화 방법,그 장치, 복호화 방법 및 그 장치
US7974840B2 (en) Method and apparatus for encoding/decoding MPEG-4 BSAC audio bitstream having ancillary information
KR101612969B1 (ko) 임의 접근 위치(rap) 및 다중 예측 파라미터 세트(mpps) 능력을 구비한 적응형 세그먼트화를 이용하는 무손실 다채널 오디오 코덱
KR100908117B1 (ko) 비트율 조절가능한 오디오 부호화 방법, 복호화 방법,부호화 장치 및 복호화 장치
JP3964860B2 (ja) ステレオオーディオの符号化方法、ステレオオーディオ符号化装置、ステレオオーディオの復号化方法、ステレオオーディオ復号化装置及びコンピュータで読み取り可能な記録媒体
KR101015497B1 (ko) 디지털 데이터의 부호화/복호화 방법 및 장치
KR100923301B1 (ko) 대역 확장 기법을 이용한 오디오 데이터의 부호화 방법,그 장치, 복호화 방법 및 그 장치
KR100923300B1 (ko) 대역 확장 기법을 이용한 오디오 데이터의 부호화 방법,그 장치, 복호화 방법 및 그 장치
KR100975522B1 (ko) 스케일러블 오디오 복/부호화 방법 및 장치
JPH1083198A (ja) ディジタル信号処理方法及び装置

Legal Events

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

Payment date: 20160204

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180207

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190208

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20200211

Year of fee payment: 8