KR101612969B1 - 임의 접근 위치(rap) 및 다중 예측 파라미터 세트(mpps) 능력을 구비한 적응형 세그먼트화를 이용하는 무손실 다채널 오디오 코덱 - Google Patents

임의 접근 위치(rap) 및 다중 예측 파라미터 세트(mpps) 능력을 구비한 적응형 세그먼트화를 이용하는 무손실 다채널 오디오 코덱 Download PDF

Info

Publication number
KR101612969B1
KR101612969B1 KR1020107017781A KR20107017781A KR101612969B1 KR 101612969 B1 KR101612969 B1 KR 101612969B1 KR 1020107017781 A KR1020107017781 A KR 1020107017781A KR 20107017781 A KR20107017781 A KR 20107017781A KR 101612969 B1 KR101612969 B1 KR 101612969B1
Authority
KR
South Korea
Prior art keywords
channel
segment
rap
frame
audio
Prior art date
Application number
KR1020107017781A
Other languages
English (en)
Other versions
KR20100106579A (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 KR20100106579A publication Critical patent/KR20100106579A/ko
Application granted granted Critical
Publication of KR101612969B1 publication Critical patent/KR101612969B1/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/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/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/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/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
    • G10L19/025Detection of transients or attacks for time/frequency resolution switching
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 프레임 내의 특정 세그먼트에서 무손실 디코딩을 개시하기 위한 임의 접근 위치(RAP) 능력 및/또는 과도 효과(transient effect)를 완화하기 위해 분할된 다중 예측 파라미터 세트(MPPS) 능력을 이용하여 무손실 가변 비트 레이트(VBR; variable bit rate) 비트스트림을 인코딩/디코딩하는 무손실 오디오 코덱을 제공한다. 이는 프레임 내 검출된 과도 신호 및/또는 소망의 RAP의 존재에 의해 부여되는 제약에 기초하여 세그먼트 시작점을 고정하고, 인코딩된 세그먼트 페이로드 제약에 종속하여 인코딩된 프레임 페이로드를 줄이기 위해 각 프레임에서 최적의 세그먼트 구간을 선택하는 적응형 세그먼트화 기술을 이용하여 달성된다 RAP 및 MPPS는 특히 보다 긴 프레임 구간에 대해 전체적인 성능을 개선하도록 적용 가능하다.

Description

임의 접근 위치(RAP) 및 다중 예측 파라미터 세트(MPPS) 능력을 구비한 적응형 세그먼트화를 이용하는 무손실 다채널 오디오 코덱{LOSSLESS MULTI-CHANNEL AUDIO CODEC USING ADAPTIVE SEGMENTATION WITH RANDOM ACCESS POINT (RAP) AND MULTIPLE PREDICTION PARAMETER SET (MPPS) CAPABILITY}
관련 출원들의 상호 참조
이 출원은, 그 전체 내용이 여기에 참고 문헌으로서 포함되어 있는, 2004년 8월 4일 "Lossless Multi-Channel Audio Codec"이라는 명칭으로 출원된 미국 특허 출원 제10/911,067호의 부분계속출원(CIP)으로써 35 U.S.C. 120에 따른 우선권의 이익을 주장한다.
기술분야
본 발명은 무손실 오디오 코덱에 관한 것이며, 더욱 구체적으로는 임의 접근 위치(random access point; RAP) 기능 및 다중 예측 파라미터 세트(multiple prediction parameter set; MPPS) 능력을 구비한 적응형 세그먼트화(adaptive segmentation)를 이용하는 무손실 다채널 오디오 코덱에 관한 것이다.
현재, 복수의 비트 레이트가 낮은 유손실 오디오 코딩 시스템들이 광범위한 소비자 및 전문적 오디오 재생 제품들과 서비스들에서 사용되고 있다. 예를 들어, 돌비 AC3(돌비 디지털) 오디오 코딩 시스템은, 최대 640 kbits/s의 비트 레이트들을 사용해, 레이저 디스크, NTSC 코딩형 DVD 비디오, 및 ATV에 대한 스테레오 및 5.1 채널 오디오 사운드 트랙들을 인코딩하기 위한 전세계적 표준이다. MPEG I 및 MPEG II 오디오 코딩 표준들은, 최대 768 kbit/s의 비트 레이트에서, PAL 인코딩형 DVD 비디오, 유럽의 지상파 디지털 라디오 방송 및 미국의 위성 방송을 위한 스테레오 및 다채널 사운드 트랙 인코딩에 널리 사용된다. DTS(Digital Theater Systems) 코히어런트 어쿠스틱스(Coherent Acoustics) 오디오 코딩 시스템은 CD(Compact Disc), DVD 비디오, 유럽의 위성 방송 및 레이저 디스크를 위한 스튜디오 품질의 5.1 채널 오디오 사운드 트랙에 대해 그리고 최대 1536 kbit/s의 비트 레이트에서 흔히 사용된다.
최근에, 많은 소비자들은 이들 소위 "무손실" 코덱에 관심을 보여왔다. "무손실" 코덱은 정보 파기가 전혀 없는 상태에서 데이터를 압축하고 (디지털화된) 소스 신호와 동일한 디코딩 신호를 생성하는 알고리즘에 의존한다. 이러한 성능은 비용을 요하는데: 그러한 코덱은 통상적으로 유손실 코덱보다 넓은 대역폭을 요구하며, 데이터의 압축도는 떨어진다.
도 1은 단일 오디오 채널을 손실 없이 압축하는 것에 관련된 연산들의 블록도이다. 다채널 오디오의 채널들은 일반적으로 독립적이지 않지만, 의존성은 대체로 약하고 고려하기가 쉽지 않다. 따라서, 채널들은 통상 개별적으로 압축된다. 그러나, 일부 코더들은, 간단한 잔여 신호(simple residual signal)를 형성하고 (Ch1, Ch1-CH2)를 코딩하는 것에 의해, 상관 관계(correlation)를 제거하려 할 것이다. 좀더 복잡한 접근 방법들은, 예를 들어, 채널 차원(channel dimension)에 걸쳐 수 개의 연속적인 직교 투영 단계들을 취한다. 모든 기술들은, 먼저 신호로부터 중복성을 제거한 다음 그 결과로 생긴 신호를 효율적인 디지털 코딩 방식으로 코딩한다는 원리에 기초한다. 무손실 코덱은 MPL(DVD 오디오), 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" (Hewlett Packard, 1999년)에 의해 제공된다.
편집가능성(editability)을 제공하기 위해 프레이밍(framing; 10)이 도입되고, 데이터의 양 자체가 편집될 영역을 선행하는 전체 신호의 반복적인 압축 해제를 금지한다. 오디오 신호는 균등한 시구간의 독립 프레임들로 분할된다. 각 프레임의 앞에 붙여진 헤더로부터 상당한 오버헤드가 초래될 수도 있으므로, 이 구간이 지나치게 짧지 않아야 한다. 반대로, 프레임 구간이 지나치게 길지도 않아야 하는데, 이로 인해, 시간 적응성이 제한될 것이고 편집이 좀더 어려워질 것이기 때문이다. 많은 애플리케이션에서, 프레임 크기는, 그를 통해 오디오가 전달되는 매체의 최고 비트 레이트, 디코더의 버퍼링 용량 및 각 프레임이 독립적으로 디코딩 가능한 것이 바람직스럽다는 사실에 의해 제한된다.
채널 내 상관 해제 회로(intra-channel decorrelation; 12)는 프레임 내의 각 채널에서 오디오 샘플들을 상관 해제하는 것에 의해 중복성을 제거한다. 대다수 알고리즘은 일부 유형의 신호에 대한 선형 예측 모델링(linear predictive modeling)에 의해 중복성을 제거한다. 이러한 접근 방법에서는, 선형 예측기가 각 프레임의 오디오 샘플에 적용되어 일련의 예측 오차 샘플을 초래한다. 두 번째로, 덜 일반적인, 접근 방법은 신호에 대한 낮은 비트 레이트의 양자화 또는 유손실 표현을 획득한 다음, 유손실 버전과 원본 버전 간의 차이를 무손실로 압축하는 것이다. 엔트로피 코딩(14)은 정보의 손실이 전혀 없는 상태에서 잔여 신호로부터의 오차에서 중복성을 제거한다. 통상적인 방법은 허프만 코딩(Huffman coding), 연속 길이 코딩(run length coding) 및 라이스 코딩(Rice coding)을 포함한다. 출력은 무손실로 재구성될 수 있는 압축된 신호이다.
기존의 DVD 사양 및 예비 HD DVD 사양은 한 개의 데이터 액세스 유닛의 크기에 대한 엄격한 한계값(hard limit)을 설정하는데, 이는, 일단 추출되고 나면, 완전하게 디코딩되고 재구성된 오디오 샘플이 출력 버퍼로 송신될 수 있는 오디오 스트림의 일 부분을 표현한다. 무손실 스트림에 대해 이것이 의미하는 것은, 최고 비트 레이트인 최악인 경우에도, 인코딩 페이로드가 엄격한 한계값을 초과하지 않을 정도로, 각각의 액세스 유닛이 표현할 수 있는 시간량이 충분히 작아야 한다는 것이다. 시구간은 증가된 샘플링 레이트들과 증가된 채널 수에 대해서도 감소되어야 하며, 이로 인해, 최고 비트 레이트는 증가한다.
호환성을 보장하기 위해, 이들 기존의 코더들은, 최악인 경우의 채널/샘플링 주파수/비트 폭 구성에서도 엄격한 한계값을 초과하지 않도록, 전체 프레임 구간을 충분히 짧게 설정해야 할 것이다. 대다수 구성들에서, 이것은 오버킬(overkill)일 것이고, 이로 인해, 압축 성능이 상당히 저하될 수도 있다. 더 나아가, 이러한 최악인 경우의 접근 방법은 추가 채널에 대해 잘 조정되지 않는다.
본 발명은 무손실 가변 비트 레이트(VBR) 비트스트림을 생성하는 오디오 코덱 및, 이를 이용한 인코더 및 디코더를 제공하기 위한 것이다.
본 발명은 프레임 내의 특정 세그먼트에서 무손실 디코딩을 개시하기 위한 임의 접근 위치(RAP) 및/또는 과도 효과(transient effect)를 완화하기 위해 분할된 다중 예측 파라미터 세트(MPPS) 능력을 이용하여 무손실 가변 비트 레이트(VBR; variable bit rate) 비트스트림을 생성하는 오디오 코덱을 제공한다.
이는 프레임 내 하나 이상의 과도 신호(transients) 및/또는 소망의 RAP의 존재에 의해 부여되는 세그먼트 상의 경계 제약을 보장하기 위해 세그먼트 시작점을 결정하고, 인코딩된 프레임 페이로드 제약에 종속하여 인코딩된 프레임 페이로드를 줄이기 위해 각 프레임 내 최적 세그먼트 구간을 선택하는 적응형 세그먼트화 기술을 이용하여 달성된다. 일반적으로, 경계 제약은 소망의 RAP 또는 과도 신호가 세그먼트의 시작의 특정 수의 분석 블록 내에 존재해야 함을 특정한다. 프레임 내 세그먼트가 균등한 구간이고 2의 거듭제곱의 분석 블록 구간인 예시적인 실시형태에서, 최대 세그먼트 구간은 소망의 조건이 부합하는 것을 보증한다. RAP 및 MPPS는 특히 보다 긴 프레임 구간 동안 전체적인 성능을 개선하도록 적용 가능하다.
예시적인 일 실시형태에서, 무손실 VBR 오디오 비트스트림은 인코더의 타이밍 코드에서 제공되는 소망의 RAP의 특정 공차 내로 정렬되는 RAP(RAP 세그먼트)로 인코딩된다. 각 프레임은 하나 이상의 분석 블록의 경우와 동일한 구간을 갖는 각 세그먼트를 구비한 일련의 분석 블록으로 블록화된다. 각 연속 프레임에서, 최대 하나의 RAP 분석 블록은 타이밍 코드로부터 결정된다. RAP 분석 블록 및 RAP 분석 블록이 RAP 세그먼트의 시작의 M개 분석 블록 내에 위치해야 한다는 제약은 RAP 세그먼트의 시작을 고정한다. 만일 MPPS가 활성화되고 과도 신호가 채널 내에서 검출된다면, 예측 파라미터는 프레임에 대해, (채널 별) 2개 세트의 파라미터가 결정된다. 오디오 프레임 내 샘플은 제1 샘플에서 RAP 세그먼트의 시작을 뒤따르는 예측 순서에 이르기까지 비활성화 중인 예측을 이용하여 압축된다. 적응형 세그먼트화는 세그먼트 구간 및 각 세그먼트에 대한 엔트로피 코딩 파라미터를 결정하기 위해 잔여 샘플에 대해 채용되고 RAP 세그먼트의 고정된 시작 및 인코딩된 세그먼트 페이로드 제약에 종속하여 인코딩된 프레임 페이로드를 최소화한다. RAP 세그먼트의 위치 및 존재를 가리키는 RAP 파라미터 및 네비게이션 데이터는 헤더 내에 패킹된다. 장면(scene) 및 서핑(surfing)의 사용자 선택과 같이 재생을 개시하기 위한 네비게이션 명령어에 응답하여, 디코더는 비트스트림 내 다음 프레임의 헤더를 언패킹하고 RAP 세그먼트를 포함하는 프레임이 검출될 때까지 RAP 파라미터를 판독한다. 디코더는 세그먼트 구간 및 네비게이션 데이터를 추출하여 RAP 세그먼트의 시작으로 네비게이션한다. 디코더는 예측 이력이 재구성되어 세그먼트의 잔여부 및 순서상 후속 프레임을 디코딩할 때까지 제 1 샘플에 대한 예측을 비활성화하고, RAP 세그먼트가 마주치는 각 시간에 예측자를 무력화한다. 이러한 구성은 디코더가 서브 프레임 해상도를 구비한 인코더 특정 RAP에서 또는 바로 근처에서 디코딩을 개시하도록 허용한다. 이는 예를 들어, 챕터의 시작에서 RAP를 특정하는 비디오 타이밍 코드에 오디오 재생을 싱크하기 위한 시도를 할 때 보다 긴 프레임 구간에서 특히 유용하다.
다른 예시적인 실시형태에서, 무손실 VBR 오디오 비트스트림은 분할된 MPPS를 이용하여 인코딩되고 따라서 검출된 과도 신호는 개개의 채널의 세그먼트의 첫 번째 L개의 분석 블록 내에 위치한다. 연속적인 프레임 각각에서, 매 채널 세트의 채널 당 최대 하나의 과도 신호 및 프레임 내 그 위치가 검출된다. 예측 파라미터는 과도 신호(들)에 의해 부여된 세그먼트 시작점(들)을 고려하여 각 파티션에 대해 결정된다. 각 파티션 내 샘플은 개개의 파라미터 세트를 이용하여 압축된다. 적응형 세그먼트화는 세그먼트 구간 및 각 세그먼트에 대한 엔트로피 코딩 파라미터를 결정하기 위해 잔여부 샘플에 대해 채용되고, 과도 신호(들)(및 RAP)에 부여된 세그먼트 시작 제약 및 인코딩된 세그먼트 페이로드 제약에 종속하여 인코딩된 프레임 페이로드를 최소화한다. (채널 당) 제 1 과도 신호 세그먼트의 위치 및 존재를 가리키는 과도 신호 파라미터 및 네비게이션 데이터는 헤더 내에 패킹된다. 디코더는 프레임 헤드를 언패킹하여 과도 신호 파라미터 및 추가 세트의 예측 파라미터를 추출한다. 채널 세트의 각 채널에 대해, 과도 신호 세그먼트와 마주치고 세그먼트의 잔여부에 대해 제 2 세트의 예측 파라미터로 전환할 때까지 디코더는 제 1 세트의 예측 파라미터를 사용한다. 비록 프레임의 세그먼트화가 채널 및 다채널 세트에 걸쳐 동일하다 하더라도, (만일 존재한다면) 과도 신호의 위치는 세트간에 그리고 세트 내에서 변경될 수 있다. 이러한 구성은 디코더가 서브 프레임 해상도를 구비한 검출된 과도 신호의 착수시에 또는 바로 근처에서 예측 파라미터 세트를 전환하도록 허용한다. 이는 전체적인 코딩 효율을 개선하기 위해 보다 긴 프레임 구간에서 특히 유용하다.
압축 성능은, M채널 오디오에 대해 M/2 상관 해제 채널들을 형성하는 것에 의해, 또한 향상될 수도 있다. 채널들의 트리플릿(triplet) (베이시스, 상관, 상관 해제)은, 압축 성능을 부가적으로 향상시키기 위해 세그먼트화 및 엔트로피 코딩 최적화 동안에 고려될 수 있는 2가지 가능한 쌍 조합들 (베이시스, 상관) 및 (베이시스, 상관 해제)을 제공한다. 채널 쌍들은 매 세그먼트마다 또는 매 프레임마다 특정될 수도 있다. 예시적 일 실시형태에서, 인코더는 오디오 데이터를 프레이밍한 다음 베이시스 채널 및 상관 채널을 포함하는 순차적 채널 쌍들을 추출하고 상관 해제 채널을 발생시켜 적어도 하나의 트리플릿 (베이시스, 상관, 상관 해제)을 형성한다. 채널들의 수가 홀수라면, 여분의 베이시스 채널이 프로세싱된다. 적응 또는 고정 다항식 예측(adaptive and fixed polynomial prediction)이 각각의 채널에 적용되어 잔여 신호들을 형성한다. 각각의 트리플릿에 대해, 최소의 인코딩 페이로드를 가진 채널 쌍[(베이시스, 상관) 또는 (베이시스, 상관 해제)]이 선택된다. 선택된 채널 쌍을 사용해, 코딩 파라미터들의 전역 세트가 모든 채널들에 걸쳐 세그먼트 각각에 대해 결정될 수 있다. 인코더는, 어떤 것이 최소의 총 인코딩 페이로드(헤더 및 오디오 데이터)를 갖는지에 기초해 코딩 파라미터들의 전역 세트 또는 별도 세트를 선택한다.
어느 한 접근 방법에서, 일단 현재의 파티션(세그먼트 구간)에 대한 코딩 파라미터들의 최적 세트와 채널 쌍들이 결정되고 나면, 인코더는 모든 채널들에 걸쳐 세그먼트 각각에서 인코딩 페이로드를 계산한다. 소망의 RAP 또는 검출된 과도 신호에 대한 세그먼트 시작 및 최대 세그먼트 페이로드 크기에 대한 제약이 충족된다고 가정하면, 인코더는 현재의 파티션에 대한 전체 프레임의 총 인코딩 페이로드가 선행 파티션에 대한 현재의 최적치 미만인지 여부를 결정한다. 만일 참이라면, 현재 세트의 코딩 파라미터들과 인코딩 페이로드는 저장되고 세그먼트 구간은 증가한다. 세그먼트화 알고리즘은 프레임을 분석 블록 크기에 동일한 최소 세그먼트 크기로 분할하고 각 단계에서 2의 거듭제곱만큼 세그먼트 구간을 증가시킴으로써 적절하게 시작한다. 이러한 프로세스는, 세그먼트 크기가 최대 크기 제약을 위반하거나 세그먼트 구간이 최대 세그먼트 구간으로 증가할 때까지 반복된다. RAP 또는 MPPS 특징의 활성화 및 프레임 내 소망의 RAP 또는 검출된 과도 신호의 존재는 적응형 세그먼트화 루틴이 달리 그렇게 되는 보다 적은 세그먼트 구간을 선택하도록 할 수 있다.
관련 기술에 숙련된 자라면, 첨부 도면들과 함께 고려되는, 바람직한 실시형태들에 대한 다음의 상세한 설명으로부터 본 발명의 이들 및 다른 특징들과 이점들이 명백해질 것이다.
본 발명에 따르면, 무손실 가변 비트 레이트(VBR) 비트스트림을 생성하는 오디오 코덱 및, 이를 이용한 인코더 및 디코더를 제공할 수 있다.
도 1은, 상술된 바와 같이, 표준의 무손실 오디오 인코더에 대한 블록도이다.
도 2a 및 도 2b는 각각, 본 발명에 따른 무손실 오디오 인코더 및 무손실 오디오 디코더의 블록도들이다.
도 3은 세그먼트화 및 엔트로피 코드 선택에 관련된 헤더 정보의 도면이다.
도 4a 및 도 4b는 분석 윈도우 프로세싱(analysis window processing) 및 역 분석 윈도우 프로세싱(inverse analysis window processing)의 블록도들이다.
도 5는 교차 채널 상관 해제의 순서도이다.
도 6a 및 도 6b는 적응 예측 분석 및 프로세싱과 역 적응 예측 프로세싱의 블록도들이다.
도 7a 및 도 7b는 최적의 세그먼트화 및 엔트로피 코드 선택의 순서도들이다.
도 8a 및 도 8b는 채널 세트에 대한 엔트로피 코드 선택의 순서도들이다.
도 9는 코어 + 무손실 확장 코덱(core plus lossless extension codec)의 블록도이다.
도 10은 각 프레임이 헤더 및 복수의 세그먼트를 포함하는 비트스트림의 프레임의 도면이다.
도 11a 및 도 11b는 RAP 및 MPPS의 규격에 관한 추가의 헤더 정보의 도면이다.
도 12는 소망의 RAP 또는 검출된 과도 신호에 대한 최대 세그먼트 구간 또는 세그먼트 경계를 결정하기 위한 순서도이다.
도 13은 MPPS를 결정하기 위한 순서도이다.
도 14는 세그먼트 시작점 또는 최대 세그먼트 구간의 선택을 설명하는 프레임의 도면이다.
도 15a 및 도 15b는 비트스트림 및 RAP 세그먼트 및 과도 신호에서 이 비트스트림의 디코딩을 도시하는 도면이다.
도 16은 최대 세그먼트 페이로드 및 최대 세그먼트 구간 제약에 기초하는 적응형 세그먼트화를 설명하는 도면이다.
본 발명은 프레임 내의 특정 세그먼트에서 무손실 디코딩을 개시하기 위한 임의 접근 위치(RAP) 능력 및/또는 과도 효과(transient effect)를 완화하기 위해 분할된 다중 예측 파라미터 세트(MPPS) 능력을 이용하여 무손실 가변 비트 레이트(VBR; variable bit rate) 비트스트림을 생성하는 적응형 세그먼트화 알고리즘을 제공한다. 적응형 세그먼트화 기술은, 인코딩된 세그먼트 페이로드 제약 및 고정된 세그먼트 시작점에 종속하여 인코딩된 프레임 페이로드를 줄이기 위해 소망의 RAP 및/또는 검출된 과도 신호에 의해 부여되는 경계 조건이 각 프레임에서 최적의 세그먼트 구간과 부합하고 선택함을 보증하기 위해 세그먼트 시작점을 결정하고 고정한다. 일반적으로, 경계 제약은 소망의 RAP 또는 과도 신호가 세그먼트의 시작의 특정 수의 분석 블록 내에 존재해야 함을 특정한다. 소망의 RAP는 세그먼트 시작으로부터 분석 블록의 수의 플러스 또는 마이너스가 될 수 있다. 과도 신호는 세그먼트의 처음 수의 분석 블록 내에 위치한다. 프레임 내 세그먼트가 동일 구간이고 2의 거듭제곱의 분석 블록인 예시적인 실시형태에서, 최대 세그먼트 구간은 소망의 조건을 보증하도록 결정된다. RAP 및 MPPS는 특히 보다 긴 프레임 구간 동안 전체적인 성능을 개선하도록 적용 가능하다.
무손실 오디오 코덱
도 2a 및 도 2b에 도시되어 있는 바와 같이, RAP 및/또는 과도 신호에 대한 세그먼트 시작 조건을 설정하기 위한 분석 윈도우 프로세싱에 대한 수정 및 세그먼트화 및 엔트로피 코드 선택을 제외하면, 기본적인 연산 블록들은 기존의 무손실 인코더들 및 무손실 디코더들과 유사하다. 분석 윈도우 프로세서는 다채널 PCM 오디오(20)를 분석 윈도우 프로세싱(22)으로 제공하며, 분석 윈도우 프로세싱(22)은 데이터를 일정한 구간의 프레임들로 블록화하고, 소망의 RAP 및/또는 검출된 과도 신호에 기초하여 세그먼트 시작점을 고정하고 그리고 프레임 내의 각 채널에서의 오디오 샘플들을 상관 해제하는 것에 의해 중복성을 제거한다. 상관 해제는 예측을 이용하여 수행되며, 이는 낡은 재구성된 오디오 샘플(예측 이력)을 사용하여 현재의 원본 샘플에 대한 값을 추정하고 잔여부를 결정하는 임의의 프로세스로 폭넓게 정의된다. 예측 기술은 그 중에서도 특히 고정되거나 적응인 그리고 선형이거나 비선형인 것을 포함한다. 잔여 신호들을 직접적으로 엔트로피 코딩하는 대신에, 적응형 세그먼트화는 데이터를 복수개 세그먼트들로 분할하고, 각각의 세그먼트가 완전하게 그리고 무손실로 디코딩 가능해야 하며 프레임 크기보다 작은 바이트의 최대 수보다 작아야 하고, 프레임 구간보다 작아야 하고, 그리고 소망의 RAP 및/또는 검출된 과도 신호가 세그먼트의 시작으로부터 특정 수의 분석 블록(서브 프레임 해상도) 내에 존재해야 한다는 제약에 종속하여 전체 프레임에 대한 인코딩 페이로드를 최소화하는, 세그먼트 각각에 대한 세그먼트 구간 및 코딩 파라미터들을 결정하는, 예를 들어, 특정 엔트로피 코더 및 그 파라미터들을 선택하는 최적의 세그먼트화 및 엔트로피 코드 선택 프로세스(24)를 수행한다. 코딩 파라미터 세트들은 각각의 별도 채널에 대해 최적화되고, 전역 세트의 코딩 파라미터에 대해 최적화될 수도 있다. 엔트로피 코더는 특정 세트의 코딩 파라미터에 따라 각 세그먼트를 엔트로피 코딩(26)한다. 패커(packer)는 인코딩된 데이터 및 헤더 정보를 비트스트림(30) 내에 패킹(28)한다.
도 2b에 도시된 바와 같이, 디코딩 작업을 수행하기 위해, 예를 들어, 비디오 장면 또는 챕터의 사용자 선택 또는 사용자 서핑에 응답하여 디코더는 비트스트림(30) 내의 소정 지점으로 네비게이션하고, 그리고 언패커(unpacker)는 비트스트림(40)을 언패킹하여 헤더 정보 및 인코딩된 데이터를 추출한다. 디코더는 헤더 정보를 언패킹하여 디코딩을 시작할 수 있는 다음 RAP 세그먼트를 결정한다. 그 이후에 디코더는 RAP 세그먼트로 진행하고 디코딩을 개시한다. 디코더는 각 RAP 세그먼트와 마주질 때 특정 수의 샘플에 대한 예측을 비활성화 한다. 만일 디코더가 프레임 내 과도 신호의 존재를 검출한다면, 디코더는 제 1 세트의 예측 파라미터를 사용하여 제 1 파티션을 디코딩하고, 그 이후에 제 2 세트의 예측 파라미터를 사용하여 프레임 내부에서 과도 신호로부터 앞으로 디코딩한다. 엔트로피 디코더는 지정된 코딩 파라미터들에 따라 각 채널의 세그먼트 각각에 대해 엔트로피 디코딩(42)을 수행하여 잔여 신호들을 손실 없이 재구성한다. 역 분석 윈도우 프로세서는 이들 신호를 역 분석 윈도우 프로세싱(44)으로 제공하고, 이는 역 예측을 수행하여 원본 PCM 오디오(20)를 손실 없이 재구성한다.
비트스트림 네비게이션 및 헤더 포맷
도 10에 도시된 바와 같이, 비트스트림(30) 내 프레임(500)은 헤더(502) 및 복수의 세그먼트(504)를 포함한다. 헤더(502)는 싱크(506), 공통 헤더(508), 하나 이상의 채널 세트에 대한 서브 헤더(510), 및 네비게이션 데이터(512)를 포함한다. 이 실시형태에서, 네비게이션 데이터(512)는 NAVI 청크(NAVI Chunk; 514) 및 에러 정정 코드(error correction code; CRC16)(516)를 포함한다. NAVI 청크는 바람직하게는 네비게이션 데이터를 비트스트림의 최소의 부분으로 쪼개어 완전한 네비게이션을 가능하게 한다. 청크는 각 세그먼트에 대한 NAVI 세그먼트(518)를 포함하고 각 NAVI 세그먼트는 각 채널 세트에 대한 NAVI 채널 세트 페이로드 크기(520)를 포함한다. 그 중에서도 특히, 이는 디코더가 임의의 특정 채널 세트에 대한 RAP 세그먼트의 시작으로 네비게이션하도록 허용한다. 각 세그먼트(504)는 각 채널 세트 내 각 채널에 대하여 엔트로피 코딩된 잔여부(522) (및 RAP에 대한 예측이 비활성화된 원본 샘플)를 포함한다.
비트스트림은 헤더 정보 및 적어도 하나의 바람직하게는 복수의 상이한 채널 세트에 대한 인코딩된 데이터를 포함한다. 예를 들면, 제 1 채널 세트는 2.0 구성일 수 있고, 제 2 채널 세트는 5.1 채널 프리젠테이션을 구성하는 추가의 4개 채널일 수 있고, 제 3 채널 세트는 전체 7.1 채널 프리젠테이션을 구성하는 추가의 2개 서라운드 채널이 될 수 있다. 8채널 디코더는 3개 채널 세트 모두를 추출하고 디코딩하여 그 출력으로 7.1 채널 프리젠테이션을 형성한다. 6채널 디코더는 채널 세트 3을 완전히 무시하면서, 채널 세트 1 및 채널 세트 2를 추출하고 디코딩하여 5.1 채널 프리젠테이션을 형성할 것이다. 2채널 디코더는 채널 세트 2 및 채널 세트3을 완전히 무시하면서, 단지 채널 세트 1만을 추출하고 디코딩하여 2 채널 프리젠테이션을 형성할 것이다. 이러한 방식으로 구성된 스트림을 갖는 것은 디코더 복잡성의 확장성을 허용한다.
인코딩 중에, 타임 인코더는 소위 "내장형 다운 믹싱"을 수행하고 따라서 채널 세트 1 및 채널 세트 2에서 인코딩된 5.1 채널에서 7.1 -> 5.1 다운 믹스가 쉽게 활용 가능하다. 유사하게, 채널 세트 1로서 인코딩된 2.0 채널에서 5.1 -> 2.0 다운 믹스가 쉽게 활용 가능하다. 채널 세트 1 및 채널 세트 2를 디코딩함으로써 6채널 디코더는 인코더 측에서 수행된 5.1 -> 2.0 다운 믹스 내장의 작업을 취소한 이후에, 5.1 다운 믹스를 얻게 된다. 유사하게, 채널 세트 1, 채널 세트 2 및 채널 세트 3을 디코딩함으로써 완전한 8채널 디코더는 인코더 측에서 수행된 7.1 -> 5.1 다운 믹스 및 5.1 -> 2.0 다운 믹스 내장의 작업을 취소한 이후에, 원본 7.1 프레젠테이션을 얻게 된다.
도 3에 도시되어 있는 바와 같이, 헤더(32)는, 세그먼트화 및 엔트로피 코드 선택을 구현하기 위해, 무손실 코덱에 대해 통상적으로 제공되는 정보 이외에 추가 정보를 포함한다. 좀더 구체적으로, 헤더는 세그먼트들의 수(NumSegments) 및 각 세그먼트에서의 샘플들의 수(NumSamplesInSegm)와 같은 공통의 헤더 정보(34), 양자화된 상관 해제 계수(QuantChDecorrCoeff[][])와 같은 채널 세트 헤더 정보(36) 및, 채널 세트에 대한 현재 세그먼트에서의 바이트들의 수(ChSetByteCOns), 전역 최적화 플래그(AllChSameParamFlag), 라이스 코딩 또는 2진 코딩이 사용되는지를 지시하는 엔트로피 코더 플래그들(RiceCodeFlag[], CodeParam[]) 및 코딩 파라미터와 같은, 세그먼트 헤더 정보(38)를 포함한다. 이러한 특정 헤더 구성은 프레임 내 동일 구간의 세그먼트와 2의 거듭제곱의 분석 블록 구간인 세그먼트를 가정한다. 프레임의 세그먼트화는 소정 채널 세트의 채널들에 걸쳐 그리고 채널 세트들에 걸쳐 균일하다.
도 11a에 도시된 바와 같이, 헤더는 주어진 프레임 내에서 RAP의 존재 및 위치를 특정하는 공통 헤더 내의 RAP 파라미터(530)를 더 포함한다. 이 실시형태에서, 헤더는 "RAP flag = TRUE if RAP is present"라는 구문을 포함한다. RAP ID는 RAP의 세그먼트 수를 특정하고 소망의 RAP에서 비트스트림에 접근할 때 디코딩을 개시한다. 대안적으로 RAP_MASK는 RAP가 아닌 세그먼트를 지시하기 위해 사용될 수 있다. RAP는 모든 채널 세트에 걸쳐 일관될 것이다.
도 11b에 도시된 바와 같이, 헤더는 전체 프레임에서 또는 과도 신호의 경우 과도 신호 이전의 프레임의 제 1 파티션에서, "AdPredOrder[0][ch] = order of the Adaptive Predictor" 구문 또는 "FixedPredOrder[0][ch] = order of the Fixed Predictor for channel ch" 구문을 포함한다. 적응 예측이 선택될 때(AdPredOrder[0][ch] > 0), 적응 예측 계수가 인코딩되어 AdPredCodes[0][ch][AdPredOrder[0][ch]] 내에 패킹된다.
MPPS의 경우에, 헤더는 채널 세트 헤더 정보에 과도 신호 파라미터(532)를 더 포함한다. 이 실시형태에서, 각 채널 세트 헤더는 과도 신호를 포함하고 과도 신호 이후의 프레임 내 제 2 파티션으로 적용 가능한, "ExtraPredSetsPrsent[ch] flag = TRUE if transient is detected in channel ch", "StartSegment[ch] = index indicating the transient start segment for channel ch", 및 "AdPredOrder[1][ch] = order of the Adaptive Predictor 또는 FixedPredOrder[1][ch] = order of the Fixed Predictor for channel ch" 구문을 포함한다. 적응 예측이 선택될 때(AdPredOrder[1][ch] > 0), 제2 세트의 적응 예측 계수가 인코딩되어 AdPredCodes[1][ch][AdPredOrder[1][ch]] 내에 패킹된다. 과도 신호의 존재 및 위치는 소정 채널 세트 내 채널들에 걸쳐 그리고 채널 세트들에 걸쳐 변경될 수도 있다.
분석 윈도우 프로세싱
도 4a 및 도 4b에 도시되어 있는 바와 같이, 분석 윈도우 프로세싱(22)의 예시적 실시형태는, 상당히 보편적인 접근 방법으로서, 적응 예측(46) 또는 고정 다항식 예측(48)으로부터 선택하여 각각의 채널을 상관 해제한다. 도 6a를 참조하여 상세하게 기술되는 바와 같이, 각각의 채널에 대한 최적의 예측자 순서(optimal predictor order)가 추정된다. 만일 그 순서가 0보다 크면, 적응 예측이 적용된다. 그렇지 않다면, 좀 더 간단한 고정 다항식 예측이 사용된다. 유사하게, 디코더에서, 역 분석 윈도우 프로세싱(44)은 역 적응 예측(50) 또는 역 고정 다항식 예측(52)으로부터 선택하여 잔여 신호들로부터 PCM 오디오를 재구성한다. 적응 예측자 순서들 및 적응 예측 계수 인덱스들과 고정 예측자 순서들은 채널 세트 헤더 정보에 패킹된다(53).
교차 채널 상관 해제
본 발명에 따르면, 압축 성능은 M개의 입력 채널들을 채널들간의 상관 측정치에 따라 채널 쌍들로 순서화하는(소망의 RAP 지점의 M개 분석 블록들 제약과 상이한 "M"개) 교차 채널 상관 해제(54)를 실시함으로써 더 향상될 수도 있다. 채널들 중 하나는 "베이시스" 채널("basis" channel)로써 지시되고 다른 하나는 "상관" 채널("correlated" channel)로써 지시된다. 상관 해제 채널이 채널 쌍 각각에 대해 발생되어 "트리플릿" (베이시스, 상관, 상관 해제)을 형성한다. 트리플릿의 형성은 압축 성능을 더욱 향상시키기 위해 세그먼트화 및 엔트로피 코딩 최적화 동안에 고려될 수 있는 2가지 가능한 쌍의 조합들[(베이시스, 상관) 및 (베이시스, 상관 해제)]을 제공한다(도 8a 참조).
(베이시스, 상관) 및 (베이시스, 상관 해제) 사이의 판단은 적응형 세그먼트화와 함께 통합되어 또는 (일부 에너지 측정값에 기초하여) 적응형 세그먼트화 이전에 수행될 수 있다. 전자의 방법은 복잡성을 줄이는 반면, 후자는 효율을 증가시킨다. 상관 채널보다 (문턱값에 기초하여) 상당히 적은 변동을 갖는 상관 해제 채널 갖는 트리플릿에 있어서 적응형 세그먼트화 이전의 상관 해제 채널에 의한 상관 채널의 단순한 교체가 사용되는 한편 모든 다른 트리플릿에 있어서 상관 채널 또는 상관 해제 채널의 인코딩에 관한 판단이 적응형 세그먼트화 프로세스로 남겨지는 '복합' 방법이 사용될 수도 있다. 이는 코딩 효율을 희생함 없이 적응형 세그먼트화 프로세스의 복잡성을 다소간 단순화한다.
최초의 M개 채널 PCM(20) 및 M/2개 채널 상관 해제 PCM(56) 모두가, 채널들 각각에 대한 잔여 신호들을 발생시키는 적응 예측 및 고정 다항식 예측 연산들로 전달된다. 도 3에 도시되어 있는 바와 같이, 쌍 방식(pair-wise)의 상관 해제 프로세스 동안에 수행되는 정렬 이전의 채널들의 원래 순서를 지시하는 인덱스들(OrigChOrder[]) 및 양자화된 상관 해제 계수들에 대한 코드의 존재를 지시하는 채널 쌍 각각에 대한 플래그(PWChDecorrFlag[])가 도 3의 채널 세트 헤더(36)에 저장된다.
도 4b에 도시되어 있는 바와 같이, 역 분석 윈도우 프로세싱(44)의 디코딩 연산을 수행하기 위해, 헤더 정보는 언패킹(58)되고 잔여부(RAP 세그먼트의 시작에서의 원본 샘플)는 헤더 정보, 즉, 각 채널에 대한 적응 및 고정 예측자 순서들에 따라 역 고정 다항식 예측(52) 또는 역 적응 예측(50)을 통해 전달된다. 채널 내 과도 신호의 존재에서, 채널 세트는 해당 채널에 대해 상이한 2개 세트의 예측 파라미터를 가질 것이다. M개 채널 상관 해제 PCM 오디오(M/2개 채널들은 세그먼트화 동안에 파기된다)는, 채널 세트 헤더로부터 인덱스(OrigChOrder[]) 및 플래그(PWChDecorrFlagg[])를 판독하고 손실 없이 M개 채널 PCM 오디오(20)를 재구성하는 역 교차 채널 상관 해제(60)를 통해 전달된다.
교차 채널 상관 해제(54)를 수행하기 위한 예시적 프로세스가 도 5에 도시되어 있다. 일 실시예로써, PCM 오디오는 M=6의 별도 채널들(L, R, C, Ls, Rs 및 LFE)로써 제공되는데, 이들은 또한 프레임에 저장되어 있는 하나의 채널 세트 구성에 직접적으로 대응된다. 다른 채널 세트들이, 예를 들어, 센터 백 서라운드(center back surround)의 왼쪽 및 센터 백 서라운드의 오른쪽이 되어 7.1 서라운드 오디오를 발생시킬 수도 있다. 프로세스는 프레임 루프를 시작하고 채널 세트 루프를 시작하는 것에 의해 시작한다(단계 70). 각 채널에 대한 무지연 자동 상관 추정치(zero-lag auto-correlation estimate; 단계 72) 및 채널 세트에서의 채널 쌍들의 모든 가능한 조합들에 대한 무지연 교차 상관 추정치(zero-lag cross-correlation estimate; 단계 74)가 계산된다. 다음으로, 채널 쌍 방식의 상관 계수들(CORCOEF)이, 쌍의 관련 채널들에 대한 무지연 자동 상관 추정치들의 곱으로 나누어지는 무지연 교차 상관 추정치로써 추정된다(단계 76). CORCOEF들은 최대 절대값으로부터 최소 절대값으로 정렬되어 테이블에 저장된다(단계 78). 테이블의 상단으로부터 시작하여, 모든 쌍들이 구성될 때까지, 대응하는 채널 쌍 인덱스들이 추출된다(단계 80). 예를 들어, 6개 채널은 그들의 CORCOEF에 기초하여 (L, R), (Ls, Rs) 및 (C, LFE)로써 짝이 지워질 수도 있다.
프로세스는 채널 쌍 루프를 시작하고(단계 82), 좀 더 낮은 에너지를 지시하는 좀더 작은 무지연 자동 상관 추정치를 가진 채널로서 "베이시스" 채널을 선택한다(단계 84). 이 실시예에서는, L, Ls 및 C 채널들이 베이시스 채널을 형성한다. 채널 쌍 상관 해제 계수(ChPairDecorrCoeff)는 베이시스 채널의 무지연 자동 상관 추정치로 나누어지는 무지연 교차 상관 추정치로써 계산된다(단계 86). 상관 해제 채널은 베이시스 채널 샘플들을 "CHPairDecorrCoeff"와 곱하고 그 결과를 상관 채널의 대응하는 샘플들로부터 감산하는 것에 의해 발생된다(단계 88). 채널 쌍들 및 그들의 연관된 상관 해제 채널은 "트리플릿들" (L, R, R-ChPairDecorrCoeff[1]*L), (Ls, Rs, Rs-ChPairDecorrCoeff[2]*Ls), (C, LFE, LFE-ChPairDecorrCoeff[3]*C)을 정의한다(단계 89). 각각의 채널 쌍(및 각각의 채널 세트)에 대한 ChPairDecorrCoeff[] 및 채널 구성을 정의하는 채널 인덱스들이 채널 세트 헤더 정보에 저장된다(단계 90). 이 프로세스는 프레임의 각 채널 세트에 대해 다음으로는 윈도우 모드의 PCM 오디오에서의 프레임 각각에 대해 반복된다(단계 92).
RAP 및 과도 신호에 대한 세그먼트 시작점 결정
소망의 RAP 및/또는 검출된 과도 신호를 수용하기 위하여 세그먼트 시작 및 구간 제약을 결정하기 위한 예시적인 접근 방법이 도 12 내지 도 14에 도시되어 있다. 처리되는 오디오 데이터의 최소 블록이 "분석 블록"으로서 칭해진다. 분석 블록은 단지 인코더에서만 가시적이며, 디코더는 단지 세그먼트를 처리한다. 예를 들면, 분석 블록은 64개 분석 블록을 포함하는 32 ms 프레임 내에서 0.5 ms의 오디오 데이터를 나타낼 수 있다. 세그먼트는 하나 이상의 분석 블록으로 이루어진다. 이상적으로, 프레임은 소망의 RAP 또는 검출된 과도 신호가 RAP 세그먼트 또는 과도 신호 세그먼트의 첫 번째 분석 블록 내에 위치하도록 분할된다. 그러나, 소망의 RAP 또는 검출된 과도 신호의 위치에 따라, 이 조건은 인코딩된 프레임 페이로드를 너무 많이 증가시키는 준 최적의 세그먼트화(몹시 짧은 세그먼트 구간)를 강제할 수도 있다. 그러므로, 상충관계는 소망의 RAP가 RAP 세그먼트의 시작의 M개 분석 블록들(채널 상관 해제 루틴에서의 M개 채널과 상이한 "M") 내에 위치하고 임의의 과도 신호는 대응하는 채널 내의 과도 신호 세그먼트의 시작을 뒤따르는 첫 번째 L개 분석 블록들 내에 위치해야 한다는 점을 특정한다. M 및 L은 프레임 내 분석 블록들의 전체 개수보다 적으며 각 조건에 대한 소망의 정렬 오차를 보증하도록 선택된다. 예를 들면, 만일 프레임이 64개의 분석 블록을 포함한다면, M 및/또는 L은 1, 2, 4, 8 또는 16이 될 수 있다. 통상적으로, 2의 거듭제곱의 일부는 총 수보다 작고, 통상적으로 그의 적은 분율(25% 이하)이 서브 프레임 해상도를 제공한다. 덧붙여, 비록 세그먼트 구간이 프레임 내에서 변화하도록 허용될 수 있더라도, 그렇게 하는 것은 적응형 세그먼트화 알고리즘을 크게 복잡하게 하고 헤더의 오버헤드 비트를 코딩 효율 면에서 상대적으로 적은 개선으로 증가시킨다. 결과적으로, 통상의 실시형태는 프레임 내에서 동일 구간이 되고 2의 거듭제곱 개수의 분석 블록 구간에 동일한 구간, 예컨대, 세그먼트 구간= 2P * 분석 블록 구간(이때, P는 0, 1, 2, 4, 8등이다)이 되도록 세그먼트를 제한한다. 보다 일반적인 경우에, 알고리즘은 RAP 세그먼트 또는 과도 신호 세그먼트의 시작을 특정한다. 제한된 경우에, 알고리즘은 조건이 부합하는 것을 보장하는 각 프레임에 대한 최대 세그먼트 구간을 특정한다.
도 12에 도시된 바와 같이, 챕터 또는 장면 시작을 특정하는 비디오 타이밍 코드와 같은 소망의 RAP를 포함하는 인코드 타이밍 코드는 애플리케이션 층에 의해 제공된다(단계 600). 전술한 M 및 L의 최대 값을 지시하는 정렬 오차가 제공된다(단계 602). 프레임은 복수의 분석 블록으로 블록화되고 소망의 RAP를 분석 블록에 대해 정렬하기 위하여 타이밍 코드에 동기화된다(단계 603). 만일 소망의 RAP가 프레임 내에 위치한다면, 인코더는 RAP 세그먼트의 시작을 고정하고 RAP 분석 블록은 RAP 세그먼트의 시작 이전의 또는 이후의 M개 분석 블록들 내에 위치하여야 한다(단계 604). 소망의 RAP가 RAP 세그먼트의 시작의 M개 분석 블록들 내에서 RAP 세그먼트를 선행하는 세그먼트 내에 실제로 위치할 수도 있다는 것을 주의한다. 접근 방법은 적응/고정 예측 분석을 시작하고(단계 605), 채널 세트 루프를 시작하고(단계 606), 그리고 도 13에 도시된 루틴을 호출함으로써 채널 세트 내의 적응/고정 예측 분석을 시작한다(단계 608). 채널 세트 루프는 종료하고(단계 610), 루틴은 "ExtraPredSetsPresent[] = FALSE"인 경우에 대해 예측 파라미터 중 한 세트(AdPredOrder[0][], FixedPredOrder[0][] 및 AdPredCodes[0][][]) 또는 "ExtraPredSetsPresent[] = TRUE"인 경우에 대해 예측 파라미터 중 2개의 세트(AdPredOrder[0][], FixedPredOrder[0][], AdPredCodes[0][][], AdPredOrder[1][], FixedPredOrder[1][] 및 AdPredCodes[1][][]), 잔여부 및 채널 당 임의의 검출된 과도 신호의 위치(StartSegment[])를 반환한다(단계 612). 단계 608은 비트스트림 내에 인코딩된 각 채널 세트에 대해 반복된다. 각 프레임에 대한 세그먼트 시작점은 RAP 세그먼트 시작점 및/또는 검출된 과도 신호 세그먼트 시작점으로부터 결정되고 도 16 및 도 7a-7b의 적응형 세그먼트화 알고리즘으로 통과한다(단계 614). 만일 세그먼트 구간이 균일하고 2의 거듭제곱의 분석 블록 길이로 제한된다면, 최대 세그먼트 구간은 고정 시작점에 기초하여 선택되고 적응형 세그먼트화 알고리즘으로 통과한다(단계 616). 최대 세그먼트 구간 제약은 고정 시작점 + 구간에 관한 제약을 추가하는 것으로 유지된다.
채널 세트 루틴에서 적응/고정 예측 분석을 시작하는(단계 608) 예시적인 실시형태가 도 13에 제공된다. 루틴은 ch에 의해 인덱스된 채널 루프를 시작하고(단계 700), 프레임 기반 예측 계수 및 (만일 과도 신호가 검출된다면) 파티션 기반 예측 계수를 계산하고 채널 당 최적의 코딩 효율을 구비한 접근 방법을 선택한다. 심지어 과도 신호가 검출 되더라도, 가장 효율적인 코딩이 과도 신호를 무시하는 것이 가능하다. 루틴은 예측 파라미터 세트, 잔여부 및 임의의 인코딩된 과도 신호의 위치를 반환한다.
보다 구체적으로, 루틴은 도 6a에 표시된 적응 예측 루틴을 호출함으로써 프레임 기반 예측 분석을 수행하고(단계 702) 소정 세트의 프레임 기반 예측 파라미터를 선택한다(단계 704). 이러한 단일 세트의 파라미터는 그 후에 프레임 내 임의의 RAP 세그먼트의 시작을 고려하여 오디오 샘플의 프레임에 관한 예측을 수행하기 위해 사용된다(단계 706). 보다 구체적으로, 예측은 예측의 순서에 이르기까지 제 1 샘플에 대한 RAP 세그먼트의 시작에서 비활성화된다. 프레임 기반 잔여부 기준(norm)의 측정값, 예컨대 잔여 에너지는 잔여 값 및 원본 샘플로부터 추정되고, 예측은 비활성화된다.
병행하여, 루틴은 임의의 과도 신호가 현재 프레임 내 각 채널에 대한 원본 신호에 존재하는 지 여부를 검출한다(단계 708). 문턱값이 오류 검출(fasle detection) 및 미스 검출(missed detection) 사이에 균형을 이루기 위해 사용된다. 과도 신호를 포함하는 분석 블록의 인덱스는 기록된다. 만일 과도 신호가 검출된다면, 루틴은 과도 신호가 첫 번째 L개 분석 블록들 내에 위치한다는 점을 보증하도록 위치하는 과도 신호 세그먼트의 시작점을 고정하고(단계 709), 프레임을 제 1 및 제 2 파티션으로 분할하여 제 2 파티션이 과도 신호 세그먼트의 시작과 일치하게 된다(단계 710). 그 후에 루틴은 도 6a에 도시된 적응 예측 루틴을 호출하고(단계 712), 제 1 및 제 2 파티션에 대해 제 1 및 제 2 세트의 파티션 기반 예측 파라미터를 2회 선택한다(단계 714). 2개 세트의 파라미터는 그 후에 프레임 내 임의의 RAP 세그먼트의 시작을 고려하여 오디오 샘플의 제 1 및 제 2 파티션 각각에 관한 예측을 수행하기 위해 사용된다(단계 716). 파티션 기반 잔여부 기준(norm)의 측정값(예컨대, 잔여 에너지)은 잔여 값 및 원본 샘플로부터 추정되고, 예측은 비활성화된다.
루틴은 프레임 기반 잔여부 기준을 문턱값만큼 곱해진 파티션 기반 잔여부 기준과 비교하여 각 채널에 대한 다수 파티션을 위해 요구되는 증가한 헤더 정보를 설명한다(단계 716). 만일 프레임 기반 잔여 에너지가 보다 작다면, 프레임 기반 잔여부 및 예측 파라미터가 반환되고(단계 718), 그렇지 않다면 파티션 기반 잔여부, 2개 세트의 예측 파라미터 및 기록된 과도 신호의 인덱스가 그 채널에 대해 반환된다(단계 720). 채널에 의해 인덱스된 채널 루프(단계 722) 및 채널 세트 내 적응/고정 예측 분석(단계 724)는 종료 이전에 세트의 채널과 모든 채널 세트에 걸쳐 반복된다.
단일 프레임(800)에 대한 최대 세그먼트 구간 또는 세그먼트 시작점의 결정은 도 14에 도시되어 있다. 프레임(800)이 32 ms이고 각 0.5 ms 구간인 64개 분석 블록(802)을 함유하는 것으로 가정한다. 비디오 타이밍 코드(804)는 9번째 분석 블록 내에 속하는 소망의 RAP(806)를 특정한다. 과도 신호(808 및 810)는 채널 1 및 채널 2에서 검출되고, 이는 각각 5번째 및 18번째 분석 블록 내에 속한다. 비제한된 경우에서, 루틴은 분석 블록 5, 9 및 18에서 세그먼트 시작점을 특정할 수 있고 RAP 및 과도 신호가 개개의 세그먼트의 첫 번째 분석 블록 내에 위치함을 보증한다. 적응형 세그먼트화 알고리즘은 이들 시작점이 유지되는 한 프레임 페이로드를 최소화하고 다른 제약과 부합하도록 하기 위해 프레임을 추가로 분할할 수 있다. 적응형 세그먼트화 알고리즘은 세그먼트 경계를 변경할 수 있고 여전히 소망의 RAP 또는 과도 신호가 특정 수의 분석 블록 내에 속한다는 조건을 달성하여 다른 제약을 달성하거나 페이로드를 더욱 최적화할 수 있다.
제한된 경우에, 루틴은 이 실시예에서 소망의 RAP 및 2개의 과도 신호 각각에 관한 조건을 만족시키는 최대 세그먼트 구간을 결정한다. 소망의 RAP(806)가 9번째 분석 블록 내에 속하기 때문에, RAP가 RAP 세그먼트의 첫 번째 분석 블록 내에 위치함을 보증하는 최대 세그먼트 구간은 8x이다(분석 블록의 구간에 의해 비례한다). 그러므로, 허용 가능한 세그먼트 크기(2의 배수의 분석 블록과 같다)는 1, 2, 4 및 8이다. 유사하게, 채널 1의 과도 신호(808)는 5번째 분석 블록 내에 속하기 때문에, 최대 세그먼트 구간은 4이다. 채널 2의 과도 신호(810)는 첫 번째 분석 블록에서 발생한다는 점을 보증하는 것이 분석 블록(1X)에 동등한 세그먼트 구간을 요구한다는 점에서 더욱 문제가 있다. 그러나, 만일 과도 신호가 두 번째 분석 블록 내에 위치할 수 있다면 최대 세그먼트 구간은 16x이다. 이들 제약 하에서, 루틴은 4의 최대 세그먼트 구간을 선택할 수 있고 그에 따라 적응형 세그먼트화 알고리즘이 1x, 2x 및 4x로부터 선택하도록 허용하고 프레임 페이로드를 최소화하고 다른 제약을 만족시킨다.
대안적인 실시형태에서, 매 n번째 프레임의 첫 번째 세그먼트는 타이밍 코드가 그 프레임에서 상이한 RAP 세그먼트를 특정하지 않는 한 디폴트 값으로서 RAP 세그먼트가 될 수 있다. 예를 들어 사용자가 비디오 타이밍 코드에 의해 특정된 RAP들만으로 제한되는 것이 아니라 오디오 비트스트림 내에서 건너뛰거나 "서핑"하는 것을 허용하는 것에 대해 디폴트 RAP는 유용할 수 있다.
적응 예측
적응 예측 분석 및 잔여부 생성
선형 예측은 오디오 신호의 샘플들 간의 상관 관계를 제거하고자 한다. 선형 예측의 기본 원리는 선행 샘플들 s(n-1), s(n-2), …을 사용해 샘플 s(n) 값을 예측하고 예측 값
Figure 112010051457333-pct00001
을 원래 샘플(s(n))로부터 감산하는 것이다. 결과적인 잔여 신호
Figure 112010051457333-pct00002
는 이상적으로는 상관 해제 상태일 것이므로 평탄한 주파수 스펙트럼(flat frequency spectrum)을 가질 것이다. 또한, 잔여 신호는, 그 디지털 표현에 대해 좀더 적은 비트들이 필요하다는 것을 함축하는, 원본 신호보다 좀더 작은 편차를 가질 것이다.
오디오 코덱의 예시적인 실시형태에서, FIR 예측자 모델은 다음의 수학식 1에 의해 설명되는데,
Figure 112010051457333-pct00003
여기에서, Q는 양자화 연산을 지시하고, M은 예측자 순서를 지시하며, ak는 양자화된 예측 계수들이다. 원래의 신호는, 여러가지 유한 정밀도 프로세서 아키텍처들을 사용해, 디코드 측에서 재구성되므로, 특정 양자화 Q가 무손실 압축을 위해 필요하다. Q의 정의는 코더 및 디코더 모두에 대해 이용 가능하고, 원본 신호의 재구성은 간단하게 다음의 수학식 2에 의해 획득되는데,
Figure 112010051457333-pct00004
여기에서는, 동일한 ak의 양자화된 예측 계수들이 인코더 및 디코더 모두에 대해 이용 가능한 것으로 가정한다. 예측자 파라미터들의 새로운 세트는, 예측자가 시변 오디오 신호 구조에 적응하는 것을 허용하면서, 각각의 매 분석 창(프레임)마다 전송된다. 과도 신호 검출의 경우에, 2개의 새로운 세트의 예측 파라미터는 과도 신호가 검출되는 각 채널에 대해 프레임에 관해 전송되고; 하나는 과도 신호 이전의 잔여부를 디코딩하고 하나는 과도 신호에 후속하여 포함하는 잔여부를 디코딩하기 위한 것이다.
예측 계수들은 평균 제곱 예측(mean-squared prediction) 잔여부를 최소화하도록 설계된다. 양자화 Q로 인해, 예측자는 비선형 예측자가 된다. 그러나, 예시적인 실시형태에서, 양자화는 24비트 정밀도로 수행되므로, 결과적인 비선형 효과들은 예측자 계수 최적화 동안 무시될 수 있다고 가정하는 것이 바람직스럽다. 양자화 Q를 무시할 경우, 근본적인 최적화 문제는 신호 자동 상관 시퀀스의 지연 및 미지의 예측자 계수들에 관한 선형 방정식들의 세트로서 표현될 수 있다. 선형 방정식들의 이 세트는 LD(Levinson-Durbin) 알고리즘을 사용해 효율적으로 해가 구해질 수 있다.
결과적인 선형 예측 계수(linear prediction coefficients; LPC)는, 이들이 인코딩된 스트림으로 효율적으로 전송될 수 있도록, 양자화되어야 한다. 유감스럽게도, LPC의 직접적인 양자화는 가장 효율적인 접근 방법일 수 없는데, 작은 양자화 오차들이 큰 스펙트럼 오차들을 초래할 수도 있기 때문이다. LPC의 대안적인 표현은 반사 계수(reflection coefficient; RC) 표현인데, 이는, 양자화 오차들에 덜 민감함을 나타낸다. 이 표현은 또한 LD 알고리즘으로부터 획득될 수 있다. LD 알고리즘의 정의에 의해, RC는 [수치 오차(numerical error)를 무시한다면] 1보다 작은 크기를 갖는다는 것이 보장된다. RC의 절대값이 1에 근접할 경우, 양자화된 RC에 존재하는 양자화 오차들에 대한 선형 예측의 민감도는 커진다. 해결책은 1 주위의 좀더 미세한 양자화 단계들(finer quantization steps)로써 RC들의 불균일한 양자화(non-uniform quantization)를 수행하는 것이다. 이는 2개의 단계들로 실현될 수 있다:
1) 매핑 함수를 통해 RC를 로그 영역 비(log-area ratio; LAR) 표현으로 변환하기.
Figure 112010051457333-pct00005
여기서 로그는 자연 로그(natural base logarithm)를 의미한다.
2) LAR를 균일하게 양자화하기.
RC -> LAR 변환은, 단계들(1 및 2)의 결과가 1 주위에서 좀더 미세한 양자화 단계들을 갖는 불균일 양자화와 등가이도록, 파라미터들의 진폭 스케일을 왜곡한다.
도 6a에 도시되어 있는 바와 같이, 적응 예측 분석의 예시적인 실시형태에서, 양자화된 LAR 파라미터들은 적응 예측자 파라미터들을 표현하는데 사용되고 인코딩된 비트스트림으로 전송된다. 입력 채널 각각에서의 샘플들은 서로 독립적으로 프로세싱되므로, 따라서 본 설명에서는 단일 채널에서의 프로세싱만을 고려할 것이다.
제 1 단계는 분석 창(검출된 과도 신호 이전의 그리고 이후의 파티션 또는 전체 프레임) 구간에 걸쳐 자동 상관 시퀀스를 계산하는 것이다(단계 100). 프레임 경계들에서의 불연속들에 의해 초래되는 블록화 효과들을 최소화하기 위해, 데이터는 먼저 윈도우 모드화된다. (최대 LP 순서 + 1과 동일한) 특정 개수의 지연에 대한 자동 상관 시퀀스가 데이터의 윈도우 모드화된 블록으로부터 추정된다.
LD(Levinson-Durbin) 알고리즘이 추정된 자동 상관 지연의 세트에 적용되고, 최대 LP 순서에 이르는, RC(reflection coefficients)의 세트가 계산된다(단계 102). LD 알고리즘의 중간 결과는 최대 LP 순서에 이르는 선형 예측 순서 각각에 대한 예측 잔여부들의 추정 편차들의 세트이다. 다음 블록에서는, 이 세트의 잔여부 편차를 사용해, 선형 예측자 순서(AdPredOrder)가 선택된다(단계 104).
선택된 예측자 순서에 대해, RC의 세트는 상술된 매핑 함수를 사용해 LAR 파라미터(log-aria ratio parameters)의 세트로 변환된다(단계 106). 0으로 나누는 것을 방지하기 위해, 다음의 수학식 4와 같이, 변환에 앞서 RC 제약이 도입되는데:
Figure 112010051457333-pct00006
여기에서, Tresh는 1에 가깝지만 1보다는 작은 수를 지시한다.
LAR 파라미터들은 다음의 수학식 5와 같은 규칙에 따라 양자화되는데(단계 108):
Figure 112010051457333-pct00007
여기에서, QLARInd는 양자화된 LAR 인덱스들을 지시하고,
Figure 112010051457333-pct00008
는 x 이하의 최대 정수값을 찾아내는 연산을 지시하며, q는 양자화의 스텝 크기(step size)를 지시한다. 예시적인 실시형태에서, 영역 [-8 내지 8]이 8비트를 사용하여 코딩되고, 즉 q = (2*8)/28이고, 따라서 QLARInd는 다음의 수학식 6에 따라 제한된다.
Figure 112010051457333-pct00009
pQLARInd는 다음의 수학식 7의 매핑을 사용하여 부호 있는 값에서 부호 없는 값으로 변환된다.
Figure 112010051457333-pct00010
"RC LUT" 블록에서는, 룩업 테이블을 사용해 LAR 파라미터들의 역 양자화 및 RC 파라미터들로의 변환이 하나의 단계에서 수행된다(단계 112). 룩업 테이블은 역 RC -> LAR 매핑, 즉, 다음의 수학식 8로써 주어지는 LAR -> RC 매핑의 양자화된 값들로 이루어진다:
Figure 112010051457333-pct00011
룩업 테이블은 0, 1.5*q, 2.5*q, …, 127.5*q와 같은 LAR들의 양자화된 값들에서 계산된다. 대응하는 RC 값들은, 216만큼 스케일링된 후에, 16 비트의 부호 없는 정수들로 어림되고 128 엔트리 테이블에 Q16의 부호 없는 고정 소수점 수(unsigned fixed point numbers)로써 저장된다.
양자화된 RC 파라미터들이 테이블 및 양자화 LAR 인덱스들(QLARInd)로부터 다음의 수학식 9로서 계산된다.
Figure 112010051457333-pct00012
양자화된 RC 파라미터(QRCord for ord = 1,…, AdPredOrder)는 다음의 알고리즘에 따라 양자화된 선형 예측 파라미터(LPord for ord = 1, …, AdPredOrder)로 변환된다(단계 114):
Figure 112010051457333-pct00013
양자화된 RC 계수들이 Q16의 부호 있는 고정 소수점 포맷으로 표현되었으므로, 상기 알고리즘 또한 Q16의 부호 있는 고정 소수점 포맷의 LP 계수를 발생시킬 것이다. 무손실 디코더 계산 경로는 24비트까지의 중간 결과들을 지원하도록 설계된다. 따라서, 각각의 Cord+1,m이 계산된 후 포화 점검을 수행하는 것이 필요하다. 만일 알고리즘의 어떤 단계에서든 포화가 발생하면, 포화 플래그가 설정되고, 특정 채널에 대한 적응 예측자 순서(AdPredOrder)는 0으로 재설정된다(단계 116). AdPredOrder=0의 이러한 특정 채널에 대해서는, 적응 예측 대신에 고정 계수 예측이 수행될 것이다(Fixed Coefficient Prediction 참조). 부호 없는 LAR 양자화 인덱스(PackLARInd[n] for n=1, …, AdPredOrder[Ch])가 AdPredOrder[Ch] > 0의 채널에 대해서만 인코딩된 스트림으로 패킹된다는 점에 유의한다.
마지막으로, AdPredOrder>0의 채널 각각에 대해, 적응 선형 예측이 수행되고 예측 잔여부 e(n)이 다음의 수학식 10에 따라 계산된다(단계 118):
Figure 112010051457333-pct00014
예시적인 실시형태의 설계 목표는 모든 프레임의 특정 RAP 세그먼트가 "임의 접근 위치"라는 것이므로, 샘플 이력(sample history)이 선행 세그먼트로부터 RAP 세그먼트로 전달되지 않는다. 대신에, 예측은 RAP 세그먼트의 AdPredOrder+1 샘플에서만 사용된다.
적응 예측 잔여부들 e(n)은 추가로 엔트로피 코딩되고 인코딩된 비트스트림으로 패킹된다.
디코드 측에서의 역 적응 예측
디코드 측에서, 역 적응 예측을 수행하는 첫 번째 단계는 헤더 정보를 언패킹하는 것이다(단계 120). 만일 디코더가 재생 타이밍 코드(예컨대, 챕터 또는 서핑의 사용자 선택)에 따라 디코딩을 개시하려 시도한다면, 디코더는 그 지점에 근접하지만 그 지점 이전의 오디오 비트스트림에 접근하여, 프레임 내 RAP 세그먼트의 존재를 가리키는 "RAP_Flag = TRUE" 구문을 찾을 때까지 다음 프레임의 헤더를 탐색한다. 그 이후에, 디코더는 RAP 세그먼트 수(RAP ID) 및 네비게이션 데이터(NAVI)를 추출하여 RAP 세그먼트의 시작으로 네비게이션하며, index > pred_order가 될 때까지 예측을 비활성화하고 무손실 디코딩을 개시한다. 디코더는 프레임 내 잔여 세그먼트 및 후속 프레임을 디코딩하고, RAP 세그먼트와 마주치는 때마다 예측을 비활성화한다. 만일 채널에 대한 프레임 내에서 ExtraPredSetsPrsnt = TRUE가 마주친다면, 디코더는 제 1 및 제 2 세트의 예측 파라미터를 추출하여 제 2 세트에 대한 세그먼트를 시작한다.
각 채널(Ch=1, …, NumCh)에 대한 적응 예측 순서(AdPredOrder[Ch])가 추출된다. 다음으로는, AdPredOrder[Ch] >0인 채널들에 대해, LAR 양자화 인덱스들의 무부호 버전(AdPredCodes[n] for n=1, …, AdPredOrder[Ch])이 추출된다. 예측 순서(AdPredOrder[Ch])가 0보다 큰 채널(Ch) 각각에 대해, 부호 없는 AdPredCodes[n]는 다음의 수학식 11과 같은 매핑을 사용하여 부호 있는 값들(QLARInd[n])로 매핑되는데:
Figure 112010051457333-pct00015
여기에서, >>는 정수의 오른쪽 시프트 연산을 지시한다.
LAR 파라미터들의 역 양자화 및 RC 파라미터들로의 변환은 Quant RC LUT를 사용하여 하나의 단계에서 수행된다(단계 122). 이것은 인코드 측에서 정의된 것과 동일한 룩업 테이블(TABLE)이다. 각 채널에 대한 양자화된 반사 계수(QRC[n] for n= 1, …, AdPredOrder[Ch])는 TABLE 및 양자화 LAR 인덱스(QLARInd[n])로부터 다음의 수학식 12와 같이 계산된다.
Figure 112010051457333-pct00016
각 채널에 대해 양자화된 RC 파라미터(QRCord for ord = 1, …, AdPredOrder[Ch])는 다음의 알고리즘에 따라 양자화된 선형 예측 파라미터(LPord for ord = 1, …, AdPredOrder[Ch])로 변환된다(단계 124):
Figure 112010051457333-pct00017
중간 결과들의 임의의 포화 가능성은 인코드 측에서 제거된다. 따라서, 디코드 측에서는, 각각의 Cord+1,m 계산 이후에 포화 점검을 수행할 필요가 없다.
마지막으로, AdPredOrder[Ch] >0 의 채널 각각에 대해, 역 적응 선형 예측이 수행된다(단계 126). 예측 잔여부들 e(n)이 미리 추출되고 엔트로피 디코딩되었다고 가정하면, 재구성된 원본 신호들 s(n)은 다음의 수학식 13에 따라 계산된다:
Figure 112010051457333-pct00018
RAP 세그먼트에서 샘플 이력이 보유되지 않으므로, 역 적응 예측은 RAP 세그먼트의 (AdPredOrder[Ch]+1) 샘플로부터 시작할 것이다.
고정 계수 예측
선형 예측자의 아주 간단한 고정 계수 형태가 유용하다는 것이 밝혀졌다. 고정 예측 계수들은 Shorten에 의해 처음으로 제안된 아주 간단한 다항식 근사 방법에 따라 유도된다(T. Robinson. SHORTEN: Simple lossless and near lossless waveform compression. 영국 CB2 1PZ 캠브리지 트럼핑톤 스트리트, 캠브리지 대학교 공학부, 기술 보고서 156, 1994년 12월). 이러한 경우에, 예측 계수들은 p차 다항식을 마지막 p 데이터 포인트들로 피팅하는 것에 의해 특정되는 예측 계수들이다. 4개 근사치들로 확장하기.
Figure 112010051457333-pct00019
이러한 다항식 근사치들의 흥미로운 특성은, 결과적인 잔여 신호
Figure 112010051457333-pct00020
가 다음의 수학식 15와 같은 회귀적 방식으로 효율적으로 구현될 수 있다는 것이다.
Figure 112010051457333-pct00021
고정 계수 예측 분석은 매 프레임 기반으로 적용되고 선행 프레임(ek[-1] = 0)에서 계산된 샘플들에 의존하지 않는다. 전체 프레임에 걸쳐 합산 크기가 최소인 잔여부 세트가 최상의 근사치로서 정의된다. 최적의 잔여부 순서가 각각의 채널에 대해 별도로 계산되고 고정 예측 순서(Fixed Prediction Order; FPO[Ch])로서 스트림 내에 패킹된다. 덧붙여, 현재 프레임의 잔여부(
Figure 112010051457333-pct00022
)는 엔트로피 코딩되고 스트림 내에 패킹된다.
디코드 측에서의 역 고정 계수 예측 프로세스는, 다음의 수학식 16와 같은, 샘플링 예시 n에서의 k번째 순서의 잔여부 계산에 대한 순서 회귀 공식에 의해 정의되는데:
Figure 112010051457333-pct00023
여기에서, 소망의 원본 신호 s[n]은 다음의 수학식 17에 의해 주어지고,
Figure 112010051457333-pct00024
여기서 k번째 순서의 잔여부 각각에 대해, ek[-1] = 0이다.
일례로서, 3번째 순서의 고정 계수 예측에 대한 회귀들이 다음의 수학식 18과 같이 제시되는데, 여기에서, 잔여부들 e3[n]은 코딩되어, 스트림으로 전송되며 디코드 측에서 언패킹된다:
Figure 112010051457333-pct00025
단계 126에서 수행되는 적응 또는 고정, 역 선형 예측이 도시되고, m+1 세그먼트가 RAP 세그먼트(900)인 경우가 도 15a에, m+1 세그먼트가 과도 신호 세그먼트(902)인 경우가 도 15b에 도시되어 있다. 5개 탭 예측자(904)가 무손실 오디오 샘플을 재구성하기 위해 사용된다. 일반적으로, 예측자는 5개의 이전 무손실 재구성된 샘플을 재결합하여 현재 샘플(910)을 무손실로 재구성하기 위하여 현재 잔여 값(908)에 추가되는 예측 값(906)을 생성한다. RAP 예시에서, 압축된 오디오 비트스트림(912)의 첫 번째 5개 샘플은 압축되지 않은 오디오 샘플이다. 그 결과로서, 예측자는 이전의 샘플로부터 임의의 이력 없이 세그먼트 m+1에서 무손실 디코딩을 개시할 수 있다. 달리 말하면, 세그먼트 m+1은 이 비트스트림의 RAP이다. 만일 세그먼트 m+1에서 과도 신호가 또한 검출되었다면, 세그먼트 m+1에 대한 예측 파라미터 및 이 프레임의 잔여부는 세그먼트 1 내지 m에서 사용된 바와 상이할 것임에 유의한다. 과도 신호 예시에서, 세그먼트 m 및 m+1의 모든 샘플은 잔여부고, RAP가 아니다. 디코딩이 개시되었고 예측자에 대한 예측 이력이 이용 가능하다. 도시된 것처럼, 세그먼트 m 및 m+1에서 무손실로 오디오 샘플을 재구성하기 위해 상이한 세트의 예측 파라미터가 사용된다. 세그먼트 m+1에서 첫 번째 무손실 샘플 1을 생성하기 위해, 예측자는 세그먼트 m에서 무손실로 재구성된 마지막 5개의 샘플을 이용하는 세그먼트 m+1에 대한 파라미터를 사용한다. 만일 세그먼트 m+1이 또한 RAP 세그먼트라면, 세그먼트 m+1의 첫 번째 5개의 샘플은 원래의 샘플이며, 잔여부가 아닐 것임에 유의한다. 일반적으로, 주어진 프레임은 RAP 또는 과도 신호 어느 것도 포함하지 않을 수 있으며, 실제로 그것이 더욱 통상적인 결과이다. 대안적으로, 프레임은 RAP 세그먼트 또는 과도 신호 세그먼트 또는 둘 다 포함할 수도 있다. 하나의 세그먼트가 RAP 세그먼트 및 과도 신호 세그먼트 모두가 될 수도 있다.
세그먼트 시작 조건 및 최대 세그먼트 구간이 소정의 세그먼트 내의 소망의 RAP 또는 검출된 과도 신호의 허용 가능한 위치에 기초하여 설정되기 때문에, 최적 세그먼트 구간의 선택은 소망의 RAP 또는 검출된 과도 신호가 이 RAP 또는 과도 신호 세그먼트를 뒤따르는 세그먼트 내에 실제로 위치하는 비트스트림을 생성할 수 있다. 이는 만일 경계 M 및 L이 상대적으로 크고 최적 세그먼트 구간이 M 및 L보다 작다면 발생할 수 있다. 소망의 RAP는 RAP 세그먼트에 선행하는 세그먼트 내에 실제로 위치하지만 특정 허용오차 내에 있을 수 있다. 인코드 측에서 정렬 오차에 관한 조건은 여전히 유지되고 디코더는 그 차이를 알지 못한다. 디코더는 단순히 RAP 세그먼트 및 과도 신호 세그먼트로 접근한다.
세그먼트화 및 엔트로피 코드 선택
적응형 세그먼트화 알고리즘에 의해 제기된 제한된 최적화 문제는 도 16에 도시되어 있다. 문제는 VBR 비트스트림 내 다채널 오디오의 하나 이상의 채널 세트를, 각 오디오 세그먼트가 최대 수의 바이트보다 적은 인코딩된 세그먼트 페이로드를 이용하여 완전히 무손실로 디코딩 가능하다는 제약에 종속하여 인코딩된 프레임 페이로드를 최소화하는 방식으로 인코딩하는 것이다. 최대 수의 바이트는 프레임 크기보다 작고 통상적으로 비트스트림을 판독하기 위한 최대 접근 유닛 크기에 의해 설정된다. 문제는 또한 소망의 RAP가 RAP 세그먼트의 시작의 플러스 또는 마이너스 M개의 분석 블록에 존재하고 과도 신호가 세그먼트의 첫 번째 L개의 분석 블록 내에 위치하도록 세그먼트가 선택됨을 필요로 함에 의해 임의 접근 및 과도 신호를 수용하기 위해 제한된다. 최대 세그먼트 구간은 디코더 출력 버퍼의 크기에 의해 또한 제한될 수도 있다. 이러한 실시예에서, 프레임 내 세그먼트는 동일 길이이고 2의 거듭제곱의 분석 블록 구간으로 제한된다.
도 16에 도시된 바와 같이, 인코딩된 프레임 페이로드(930)를 최소화하기 위한 최적 세그먼트 구간은 추가의 오버헤드 비트의 비용에 대해 복수의 보다 짧은 구간 세그먼트에 대한 예측 이득의 개선에 균형을 잡는다. 이러한 실시예에서, 프레임 당 4개 세그먼트가 2개 또는 8개 세그먼트보다 적은 프레임 페이로드를 제공한다. 2개 세그먼트 해법은 2개 세그먼트에 대한 세그먼트 페이로드가 최대 세그먼트 페이로드 제약(932)을 초과하기 때문에 결격이다. 2개 및 4개 세그먼트 파티션에 대한 세그먼트 구간은 최대 세그먼트 구간(934)을 초과하며, 이는 예를 들어, 디코더 출력 버퍼 크기, RAP 세그먼트 시작점의 위치 및/또는 과도 신호 세그먼트 시작점의 위치의 일부 조합에 의해 설정된다. 결과적으로, 적응형 세그먼트화 알고리즘은 동일한 구간의 8개 세그먼트(936) 및 그 파티션에 대해 최적화된 예측 및 엔트로피 코딩 파라미터를 선택한다.
제한된 경우(균일 세그먼트, 2의 거듭제곱의 분석 블록 구간)에 대한 세그먼트화 및 엔트로피 코드 선택(24)의 예시적인 실시형태가 도 7a-7b 및 도 8a-8b에 도시되어 있다. 최적의 세그먼트 구간, 코딩 파라미터(엔트로피 코드 선택 & 파라미터들) 및 채널 쌍들을 확립하기 위해, 코딩 파라미터들 및 채널 쌍들이 최대 세그먼트 구간에 이르기까지 복수개의 상이한 세그먼트 구간들에 대해 결정되고, 그러한 후보들 중에서, 각각의 세그먼트가 완전히 그리고 무손실로 독립적으로 디코딩 가능해야 하며 최대 크기(바이트의 수)를 초과하지 않아야 한다는 제약들을 충족시키는, 매 프레임마다 최소의 인코딩 페이로드를 가진 후보가 선택된다. "최적의" 세그먼트화, 코딩 파라미터 및 채널 쌍들은 인코딩 프로세스의 제약 뿐만 아니라 세그먼트 크기에 대한 제약에도 당연히 종속된다. 예를 들어, 예시적 프로세스에서, 프레임의 모든 세그먼트들에 대한 시구간은 동일하고, 최적 구간에 대한 검색은 분석 블록 구간에 동일한 세그먼트 구간에서 시작하고 2의 거듭제곱으로 증가하는 쌍격자(dyadic grid)에 대해 수행되며, 채널 쌍 선택은 전체 프레임에 걸쳐 유효하다. 추가적인 인코더 복잡도 및 오버헤드 비트들의 비용을 지불한다면, 시구간은 프레임 내에서 변경될 수 있고, 최적 구간에 대한 검색은 좀더 미세하게 결정될 수 있으며, 채널 쌍 선택은 매 세그먼트 기반에서 수행될 수 있다. 이러한 '제한된' 경우에서, 소망의 RAP 또는 검출된 과도 신호가 특정 해상도 내의 세그먼트의 시작에 정렬됨을 보증하는 제약이 최대 세그먼트 구간에 내장된다.
예시적 프로세스는 세그먼트 내 샘플의 최소 개수, 세그먼트의 최대 허용 인코딩 페이로드 크기 및 최대 파티션 수와 최대 세그먼트 구간과 같은 세그먼트 파라미터들을 초기화하는 것(단계 150)에 의해 시작한다. 그 후, 프로세싱은 0으로부터 (최대 파티션 수 - 1)까지 인덱싱되는 파티션 루프를 시작하고(단계 152), 세그먼트 수, 세그먼트의 샘플 수 및 파티션에서 소모되는 바이트 수를 포함하는 파티션 파라미터들을 초기화한다(단계 154). 이러한 특정 실시예에서, 세그먼트들은 동일한 시구간을 가지며 세그먼트 수는 각각의 파티션 반복시에 2의 거듭제곱으로서 비례한다. 세그먼트 수는 최대값으로, 따라서, 하나의 분석 블록과 동일한 최소 시구간으로 초기화되는 것이 바람직하다. 그러나, 프로세스는, RAP 및 과도 신호 조건을 만족하기 위해 추가적 오버헤드 및 추가의 복잡성의 대가를 치르지만 오디오 데이터의 좀더 양호한 압축을 제공할 수 있는, 가변 시구간의 세그먼트들을 사용할 수 있다. 더 나아가, 세그먼트 수가 2의 거듭제곱들로 제한되거나 최소에서 최대 구간으로 검색될 필요는 없다. 이러한 경우에, 소망의 RAP 및 검출된 과도 신호에 의해 결정되는 세그먼트 시작점은 적응형 세그먼트화 알고리즘에 관한 추가의 제약이다.
일단 초기화되고 나면, 프로세스들은 채널 세트 루프를 시작하고(단계 156), 세그먼트 각각에 대한 최적의 엔트로피 코딩 파라미터들 및 채널 쌍 선택과 대응하는 바이트 소모를 결정한다(단계 158). 코딩 파라미터들(PWChDecorrFlag[][], AllChSameParamFlag[][], RiceCodeFlag[][][], CodeParam[][][] 및 ChSetByteCons[][])이 저장된다(단계 160). 이는, 채널 세트 루프가 끝날 때까지, 채널 세트 각각에 대해 반복된다(단계 162).
프로세스는 세그먼트 루프를 시작하고(단계 164), 모든 채널 세트들에 걸쳐 세그먼트 각각에서의 바이트 소모(SegmByteCons)를 계산하며(단계 166), 바이트 소모(ByteConsInPart)를 업데이트한다(단계 168). 이 시점에서, 세그먼트 크기(바이트 단위의 인코딩된 세그먼트 페이로드)가 최대 크기 제약과 비교된다(단계 170). 제약이 위반되면, 현재 파티션은 파기된다. 더 나아가, 프로세스가 최소 시구간으로 시작하기 때문에, 세그먼트 크기가 지나치게 커져 버리면, 파티션 루프는 종료하고(단계 172), 그 시점에서의 최상 해법(시구간, 채널 쌍들, 코딩 파라미터들)이 헤더 내에 패킹되며(단계 174), 프로세스는 다음 프레임으로 이동한다. 제약이 최소 세그먼트 크기에 대해 위반되면(단계 176), 최대 크기 제약이 충족될 수 없기 때문에, 프로세스는 종료하고 오류를 보고한다(단계 178). 제약이 충족된다고 가정하면, 이 프로세스는, 세그먼트 루프가 끝날 때까지, 현재 파티션의 세그먼트 각각에 대해 반복된다(단계 180).
일단 세그먼트 루프가 완결되고, ByteConsinPart로써 표현되는, 전체 프레임에 대한 바이트 소모가 계산되고 나면, 이 페이로드는 선행 파티션 반복으로부터의 현재의 최소 페이로드(MinByteInPart)와 비교된다(단계 182). 현재 파티션이 향상을 표현하면, 현재 파티션(PartInd)이 최적 파티션(OptPartind)으로서 저장되고 최소 페이로드는 업데이트된다(단계 184). 그 다음, 이 파라미터들 및 저장된 코딩 파라미터들은 현재의 최적 해법으로서 저장된다(단계 186). 이는, 파티션 루프가 최대 세그먼트 구간에서 종결되어(단계 172) 도 3및 도 11a-11b에 도시되어 있는 바와 같이, 세그먼트 정보 및 코딩 파라미터들이 헤더 내에 패킹(단계 150)될 때까지, 반복된다.
현재 파티션의 채널 세트에 대한 최적의 코딩 파라미터들 및 연관된 비트 소모를 결정(단계 158)하기 위한 예시적 실시형태가 도 8a 및 도 8b에 도시되어 있다. 프로세스는, 현재의 일 예시에 대한 채널들이 다음과 같은, 세그먼트 루프(단계 190) 및 채널 루프(단계 192)를 시작한다:
Ch1: L
Ch2: R
Ch3: R - ChPairDecorrCoeff[l]*L
Ch4: Ls
Ch5: Rs
Ch6: Rs - ChPairDecorrCoeff[2]*Ls
Ch7: C
Ch8: LFE
Ch9: LFE - ChPairDecorrCoeff[3]*C
프로세스는 베이시스 및 상관 채널들에 대한 엔트로피 코드의 유형, 대응되는 코딩 파라미터 및 대응되는 비트 소모를 결정한다(단계 194). 이 실시예에서, 프로세스는 2진 코드 및 라이스 코드에 대한 최적의 코딩 파라미터들을 계산한 다음, 채널 및 각각의 세그먼트에 대해 최저 비트 소모를 가진 하나를 선택한다(단계 196). 일반적으로, 최적화는 하나, 둘 또는 그 이상의 가능한 엔트로피 코드들에 대해 수행될 수 있다. 2진 코드들의 경우, 비트들의 수는 현재 채널의 세그먼트에서의 샘플들 모두에 대한 최대 절대값으로부터 계산된다. 라이스 코딩 파라미터는 현재 채널의 세그먼트에서의 샘플들 모두에 대한 평균 절대값으로부터 계산된다. 선택에 기초하여, RiceCodeFlag가 설정되고, BitCons가 설정되고, 그리고 CodeParam은 NumBitsBinary 또는 RiceKParam중 어느 하나로 설정된다(단계 198).
만일 프로세싱되고 있는 현재 채널이 상관 채널이라면(단계 200), 동일한 최적화가 대응하는 상관 해제 채널에 대해 반복되고(단계 202), 최상의 엔트로피 코드가 선택되며(단계 204), 코딩 파라미터들이 설정된다(단계 206). 프로세스는, 채널 루프가 종료하고(단계 208) 세그먼트 루프가 종료(단계 210)할 때까지, 반복된다.
이 시점에서, 각각의 세그먼트에 대한 그리고 각각의 채널에 대한 최적의 코딩 파라미터들이 결정되어 있다. 이러한 코딩 파라미터들 및 페이로드들은 원본 PCM 오디오로부터 채널 쌍들 (베이시스, 상관)에 대해 반환되었을 수도 있다. 그러나, 압축 성능은, 트리플릿들의 (베이시스, 상관) 채널과 (베이시스, 상관 해제) 채널 사이에서 선택하는 것에 의해, 향상될 수 있다.
어떤 채널 쌍들((베이시스, 상관) 또는 (베이시스, 상관 해제))이 3개의 트리플릿들에 대한 것인지를 결정하기 위해, 채널 쌍 루프가 시작되고(단계 211), 전반적인 프레임 비트 소모에 대한 상관 채널(Ch2, Ch5 및 Ch8) 각각 및 상관 해제 채널(Ch3, Ch6 및 Ch9) 각각의 기여가 계산된다(단계 212). 상관 채널 각각에 대한 프레임 소모 기여들은 대응되는 상관 해제 채널들, 즉, Ch2는 Ch3, Ch5는 Ch6, 그리고 Ch8은 Ch9에 대한 프레임 소모 기여들과 비교된다(단계 214). 만일 상관 해제 채널의 기여가 상관 채널의 기여보다 크다면, PWChDecorrrFlag는 거짓(false)으로 설정된다(단계 216). 그렇지 않다면, 상관 채널은 상관 해제 채널로 대체되고(단계 218), PWChDecorrrFlag는 참(true)으로 설정되며, 채널 쌍들은 (베이시스, 상관 해제)으로서 구성된다(단계 220).
이러한 비교들에 기초하여, 알고리즘은:
1. 대응하는 베이시스 채널 Ch1과 짝을 이룰 채널로서 Ch2 또는 Ch3를 선택할 것이고;
2. 대응하는 베이시스 채널 Ch4와 짝을 이룰 채널로서 Ch5 또는 Ch6을 선택할 것이며;
3. 대응하는 베이시스 채널 Ch7과 짝을 이룰 채널로서 Ch8 또는 Ch9를 선택할 것이다.
이들 단계는, 루프가 끝날 때까지, 모든 채널 쌍들에 대해 반복된다(단계 222).
이 시점에서는, 각각의 세그먼트 및 각각의 별도 채널에 대한 최적의 코딩 파라미터들과 최적의 채널 쌍들이 결정되어 있다. 각각의 개별 채널 쌍들 및 페이로드들에 대한 이들 코딩 파라미터들은 파티션 루프로 반환되었을 수도 있다. 그러나, 추가적인 압축 성능은 모든 채널들에 걸쳐 세그먼트 각각에 대해 한 세트의 전역 코딩 파라미터들을 계산하는 것에 의해 이용 가능할 수도 있다. 기껏해야, 페이로드의 인코딩 데이터 부분은 각각의 채널에 대해 최적화된 코딩 파라미터들과 동일한 크기일 것이고 아마도 약간 더 클 것이다. 그러나, 오버헤드 비트들의 감소는 데이터의 코딩 효율을 보완하는 그 이상일 수도 있다.
동일한 채널 쌍들을 사용해, 프로세스는 세그먼트 루프를 시작하고(단계 230), 코딩 파라미터들의 개개 세트들을 사용하여 모든 채널들에 대한 매 세그먼트마다의 비트 소모들(ChSetByteCons[seg])을 계산하며(단계 232), ChSetByteCons[seg]를 저장한다(단계 234). 다음으로는, 모든 채널들에 대한 것이 아니라는 점을 제외하면 이전과 동일한 2진 코드 및 라이스 코드 계산들을 사용해, 모든 채널들에 걸친 세그먼트에 대해 코딩 파라미터들(엔트로피 코드 선택 및 파라미터들)의 전역 세트가 결정된다(단계 236). 최상의 파라미터들이 선택되고 바이트 소모(SegmByteCons)가 계산된다(단계 238). SegmByteCons는 CHSetByteCons[seg]와 비교된다(단계 240). 만일 전역 파라미터들을 사용하는 것이 비트 소모를 감소시키지 않는다면, AllChSamParamFlag[seg]는 거짓으로 설정된다(단계 242). 그렇지 않다면, AllChSameParamFlag[seg]는 참으로 설정되고(단계 244), 전역 코딩 파라미터들 및 대응하는 매 세그먼트마다의 비트 소모가 저장된다(단계 246). 이 프로세스는, 세그먼트 루프의 끝에 도달될 때까지, 반복된다(단계 248). 전체 프로세스는, 채널 세트 루프가 종결될 때까지, 반복된다(단계 250).
인코딩 프로세스는, 상이한 기능성이 수개 플래그들의 제어에 의해 비활성화될 수 있는 방식으로 구성된다. 예를 들어, 하나의 단일 플래그가, 쌍 방식의 채널 상관 해제 분석이 수행되는지의 여부를 제어한다. 다른 플래그가, 적응 예측(고정 예측에 대해서는 또 다른 플래그가)이 수행되는지의 여부를 제어한다. 또한, 하나의 단일 플래그가, 모든 채널들에 대한 전역 파라미터들의 검색이 수행되는지의 여부도 제어한다. 세그먼트화는 또한, (소정 세그먼트 구간의 단일 파티션일 수도 있는 가장 단순한 형태로) 파티션들의 수 및 최소 세그먼트 구간을 설정하는 것에 의해, 제어 가능하다. 한 플래그는 RAP 세그먼트의 존재를 지시하고 다른 플래그는 과도 신호 세그먼트의 존재를 지시한다. 본질적으로, 인코더의 다소의 플래그들을 설정하는 것에 의해, 인코더는 간단한 프레이밍 및 엔트로피 코딩으로 단순화될 수 있다.
역방향 호환 가능 무손실 오디오 코덱
무손실 코덱은 유손실 코어 코더와 조합하여 "확장 코더(extension coder)"로서 사용될 수 있다. "유손실" 코어 코드 스트림은 코어 비트스트림으로서 패킹되고 무손실의 인코딩 차이 신호는 별도의 확장 비트스트림으로서 패킹된다. 확장된 무손실 특징부를 갖춘 디코더에서의 디코딩시에, 유손실 및 무손실 스트림들은 조합되어 무손실로 재구성된 신호를 구성한다. 이전 세대의 디코더에서, 무손실 스트림은 무시되고, 코어 "유손실" 스트림은 디코딩되어 코어 스트림의 대역폭 및 SNR(signal-to-noise ratio) 특징을 갖춘 고품질의 다채널 오디오 신호를 제공한다.
도 9는 다채널 신호 중 한 채널에 대한 역방향 호환 가능 무손실 인코더(400)의 시스템 레벨 도면을 나타낸다. M비트의 PCM 오디오 샘플들인 것이 바람직한 디지털화된 오디오 신호가 입력(402)에서 제공된다. 바람직하게는, 디지털화된 오디오 신호는, 변경된 유손실 코어 인코더(404)의 그것을 초과하는 샘플링 레이트 및 대역폭을 가진다. 일 실시형태에서, 디지털화된 오디오 신호의 샘플링 레이트는 (샘플링된 오디오에 대한 48 kHz의 대역폭에 대응되는) 96 kHz이다. 입력 오디오는, 각각의 채널이 96 kHz에서 샘플링되는 다채널 신호일 수 있으며 다채널 신호인 것이 바람직스럽다는 것도 이해될 수 있을 것이다. 다음의 논의는 단일 채널의 프로세싱에 집중하겠지만, 다채널들로의 확장도 간단하다. 입력 신호는 노드(406)에서 복사되고 병렬 분기들에서 핸들링된다. 신호 경로의 제 1 분기에서는, 변경된 유손실의 광대역 인코더(404)가 신호를 인코딩한다. 아래에서 상세하게 설명되는 변경된 코어 인코더(404)는 패커(packer) 또는 멀티플렉서(410)로 전달되는 인코딩된 코어 비트스트림(408)을 발생시킨다. 코어 비트스트림(408)은, 변경되고 재구성된 코어 신호(414)를 출력으로서 발생시키는 변경된 코어 디코더(412)로도 전달된다.
한편, 병렬 경로의 디지털화된 오디오 입력 신호(402)는, 사실상 재구성된 오디오 스트림으로 (변경된 인코더 및 변경된 디코더들에 의해) 도입되는 지연과 동일한, 보상 지연(416)을 겪어, 디지털화된 지연 오디오 신호를 발생시킨다. 오디오 스트림(400)은, 합산 노드(420)에서, 디지털화된 지연 오디오 스트림(414)으로부터 감산된다.
합산 노드(420)는, 원본 신호 및 재구성된 코어 신호를 표현하는 차이 신호(422)를 발생시킨다. 완전한 "무손실" 인코딩을 실현하기 위해는, 무손실 인코딩 기술들을 이용하여 차이 신호를 인코딩하고 전송해야 한다. 따라서, 차이 신호(422)는 무손실 인코더(424)를 이용하여 인코딩되고, 확장 비트스트림(426)은 패커(410)에서 코어 비트스트림(408)과 패킹되어 출력 비트스트림(428)을 발생시킨다.
무손실 코딩은, 무손실 코더의 필요들을 수용하기 위해, 가변 비트 레이트에서 확장 비트스트림(426)을 발생시킨다는 것에 주의한다. 그 다음, 패킹된 스트림은 선택적으로, 채널 코딩을 포함하는 코딩의 추가 계층들에 노출된 다음, 전송되거나 기록된다. 이 명세서의 목적들에 대해, 기록은 채널을 통한 전송인 것으로 간주될 수도 있다.
확장된 대역폭을 핸들링할 수 있는 일 실시형태에서, 코어 인코더는 변경을 요할 것이므로, 코어 인코더(404)는 "변경된 것"으로 설명된다. 인코더 내의 64 대역 분석 필터 뱅크(430)는 그 출력 데이터(432) 중 절반을 파기하고 코어 서브 대역 인코더(434)는 32개의 저주파수 대역들만을 인코딩한다. 이렇게 파기되는 정보는, 어떤 경우에서도, 신호 스펙트럼의 위쪽 절반을 재구성할 수 없게 되는 레거시 디코더들과는 관련이 없다. 잔여부 정보는 미변경 인코더에 따라 인코딩되어 역방향 호환 가능 코어 출력 스트림을 형성한다. 그러나, 48 kHz 이하의 샘플링 레이트에서 연산하는 다른 실시형태에서, 코어 인코더는 사실상 종래 코어 인코더의 미변경 버전일 수도 있다. 유사하게, 레거시 디코더들의 샘플링 레이트에서의 상기 연산에 대해, 변경된 코어 디코더(412)는, 32개의 낮은 서브 대역들에서의 샘플들을 디코딩하는 코어 서브 대역 디코더(436)를 포함한다. 변경된 코어 디코더는 32개의 낮은 서브 대역들로부터 서브 대역 샘플들을 취하고 32개 상부 대역들(438)에 대한 미전송 서브 대역 샘플들은 제로화하며, 64 대역 QMF 합성 필터(440)를 사용해 64개 대역들 모두를 재구성한다. 기존 샘플링 레이트(예를 들어, 48 kHz 이하)에서의 연산에 대해, 코어 디코더는 사실상 종래의 코어 디코더 또는 등가물의 미변경 버전일 수도 있다. 일부 실시형태에서, 샘플링 레이트의 선택이 인코딩시에 수행될 수 있고, 그 시점에서 인코딩 및 디코딩 모듈들은 필요에 따라 소프트웨어에 의해 재구성될 수 있다.
무손실 인코더는 차이 신호를 코딩하는데 사용되고 있으므로, 간단한 엔트로피 코드로 충분해 보일 수도 있다. 그러나, 기존의 유손실 코어 코덱들에 대한 비트 레이트 제약들 때문에, 무손실 비트스트림을 제공하는데 필요한 총 비트들의 상당량이 여전히 유지된다. 더 나아가, 코어 코덱의 대역폭 제약들 때문에, 차이 신호에서 24 kHz를 초과하는 정보 내용은 여전히 상관 상태를 유지한다. 예를 들어, 트럼펫, 기타, 트라이앵글 등을 포함하는 하모닉 성분들 중 대다수가 30 kHz를 훨씬 초과한다. 따라서, 압축 성능을 향상시키는 좀 더 복잡한 무손실 코덱들이 가치를 더한다. 또한, 일부 애플리케이션들에서, 코어 및 확장 비트스트림들은 여전히, 디코딩 가능한 단위들이 최대 크기를 초과해서는 안된다는 제약도 충족시켜야 한다. 본 발명의 무손실 코덱은 향상된 압축 성능 및 향상된 호환성 모두를 제공하여 이 제약들을 충족시킨다.
일례로써, 24비트 96 kHz PCM 오디오의 8개 채널들은 18.5 Mbps를 요한다. 무손실 압축은 이를 약 9 Mbps로 감소시킬 수 있다. DTS 코히어런트 어쿠스틱스는, 7.5 Mbps의 차이 신호를 남기면서, 코어를 1.5 Mbps에서 인코딩할 것이다. 2 kB(kByte)의 최대 세그먼트 크기에 대해, 평균 세그먼트 구간은 2048*8/7500000 = 2.18 msec 또는 대략 96 kHz에서의 209개 샘플들이다. 유손실 코어가 최대 크기를 충족시키기 위한 통상적인 프레임 크기는 10 내지 20 msec이다.
시스템 레벨에서, 무손실 코덱 및 역방향 호환 가능 무손실 코덱은, 기존의 유손실 코덱들과의 역방향 호환성을 유지하면서, 확장된 대역폭에서 여분의 오디오 채널들을 손실 없이 인코딩하도록 조합될 수도 있다. 예를 들어, 18.5 Mbps에서의 96 kHz 오디오의 8개 채널들은 1.5 Mbps에서의 48 kHz 오디오의 5.1 채널들을 포함하도록 손실 없이 인코딩될 수 있다. 코어 + 무손실 인코더는 5.1 채널들을 인코딩하는데 사용될 것이다. 무손실 인코더는 5.1 채널들의 차이 신호들을 인코딩하는 데 사용될 것이다. 잔여 2개 채널들은 무손실 인코더를 사용해 별도의 채널 세트로 코딩된다. 세그먼트 구간을 최적화하고자 할 때에는 모든 채널 세트들이 고려되어야 하므로, 코딩 도구들 모두가 이래저래 사용될 것이다. 호환 가능 디코더는 8개 채널들 모두를 디코딩하여 손실 없이 96kHz 18.5 Mbps 오디오 신호를 재구성할 것이다. 좀 더 오래된 디코더는 5.1 채널들만을 디코딩하여 48 kHz 1.5Mbps를 재구성할 것이다.
일반적으로, 디코더의 복잡도를 스케일링할 목적으로, 하나 이상의 완전한 무손실 채널 세트가 제공될 수도 있다. 예를 들어, 10.2의 원본 믹스(original mix)에 대해, 채널 세트들은 다음과 같이 편성될 수 있다:
- CHSET1은 (10.2 에서 5.1로의 내장 다운 믹스를 이용하여) 5.1을 전달하고 코어 + 무손실을 사용해 코딩되고,
- CHSET1 및 CHSET2는 (10.2에서7.1로의 내장 다운 믹스를 사용하여) 7.1을 전달하는데, 여기에서, CHSET2는 무손실을 사용해 2개 채널들을 인코딩하며,
- CHSET1+CHSET2+CHSET3는 완전 개별식(full discrete) 10.2 믹스를 전달하는데, 여기에서, CHSET3는 무손실만을 사용해 잔여 3.1 채널들을 인코딩한다.
단지 5.1만을 디코딩할 수 있는 디코더는 CHSET1만을 디코딩할 것이고 다른 채널 세트들은 모두 무시할 것이다. 단지 7.1만을 디코딩할 수 있는 디코더는 CHSET1 및 CHSET2를 디코딩할 것이고 다른 채널 세트들은 모두 무시할 것이다.
더 나아가, 유손실 + 무손실 코어는 5.1로 제한되지 않는다. 현재 구현들은 유손실 (코어 + XCh) 및 무손실을 사용해 최대 6.1까지 지원하고 임의 개수의 채널 세트들로 편성된 일반적 m.n 채널들을 지원할 수도 있다. 유손실 인코딩은 5.1의 역방향 호환 가능 코어를 가질 것이고, 유손실 코덱으로써 코딩되는 모든 여타 채널들은 XXCh 확장 상태가 될 것이다. 이것은 상당한 설계 호환성으로써 코딩된 전반적 무손실을 제공하여, 추가 채널들을 지원하면서 기존 디코더들과 호환 가능한 역방향 호환 가능 상태를 유지한다.
본 발명의 몇 가지 예시적 실시형태들이 도시되고 설명되었지만, 관련 기술에 숙련된 자에게, 수많은 변경들 및 대안적인 실시형태들이 떠오를 것이다. 그러한 변경들 및 대안적인 실시형태들은, 첨부된 청구항들에서 정의되는 본 발명의 사상 및 범위를 벗어나지 않는 것으로 간주되며, 첨부된 청구항들에서 정의되는 본 발명의 사상 및 범위를 벗어남 없이 실시될 수 있다.
10: 프레이밍 12: 채널 내 상관 해제
14: 엔트로피 코딩 20: PCM 오디오
22: 분석 윈도우 프로세싱
24: 세그먼트화 및 엔트로피 코드 선택
26: 엔트로피 코딩 28: 데이터 패킹
30: 비트스트림 32: 헤더
34: 공통 헤더 정보 36: 채널 세트 헤더 정보
38: 세그먼트 헤더 정보 40: 데이터 언패킹
42: 엔트로피 디코딩 44: 역 분석 윈도우 프로세싱
46: 적응 예측 48: 고정 다항식 예측
50: 역 적응 예측 52: 역 고정 다항식 예측
53: 헤더 정보 패킹 54: 교차 채널 상관 해제
56: 헤더 정보 언패킹 60: 역 교차 채널 상관 해제
400: PCM 오디오 404: 변경 코어 인코더
412: 변경 코어 디코더 500: 프레임
502: 헤더 504: 세그먼트
506: 싱크 508: 공통 헤더
510: 서브 헤더 512: 네비게이션 데이터(NAVI)
514: NAVI 청크 516: CRC16
530: 공통 헤더 정보 532: 채널 세트 헤더 정보

Claims (50)

  1. 임의 접근 위치(RAP)를 이용하여 다채널 오디오를 무손실 가변 비트 레이트(VBR) 오디오 비트스트림으로 인코딩하는 방법으로서,
    오디오 비트스트림 내 소망의 임의 접근 위치(RAP)를 특정하는 인코드 타이밍 코드를 수신하는 단계;
    적어도 하나의 채널 세트를 포함하는 다채널 오디오를 동일한 시구간(time duration)의 프레임들 - 각 프레임은 헤더와 복수의 세그먼트를 포함함 - 로 블록화하는 단계;
    각 프레임을 동일 구간(duration)의 복수의 분석 블록으로 블록화하는 단계로서, 각각의 상기 세그먼트는 하나 이상의 분석 블록의 구간을 갖는 것인 블록화 단계;
    소망의 RAP를 분석 블록에 대해 정렬하기 위해 인코드 타이밍 코드를 프레임의 시퀀스에 동기화시키는 단계;
    연속 프레임 각각에 대해서,
    인코드 타이밍 코드 내 소망의 RAP와 정렬되는 최대 하나의 RAP 분석 블록을 결정하는 단계;
    RAP 세그먼트의 시작을 고정하는 단계로서, 이에 의해 RAP 분석 블록이 시작의 M개의 분석 블록들 내에 위치하는 것인 고정 단계;
    채널 세트 내 각 채널에 관한 프레임에 대해 적어도 한 세트의 예측 파라미터를 결정하는 단계;
    예측 파라미터에 따라 채널 세트 내 각 채널에 대한 오디오 프레임을 압축하는 단계로서, 상기 예측은 RAP 세그먼트의 시작을 뒤따르는 예측 순서에 이르기까지 제 1 샘플에 대해 비활성되어 잔여 오디오 샘플이 선행하거나 뒤따르는 것 중 적어도 하나인 원본 오디오 샘플을 생성하는 것인 압축 단계;
    각 세그먼트가 완전히 무손실 디코딩 가능해야 하고, 프레임 구간보다 적은 구간을 가지며 프레임 크기보다 적은 바이트의 최대 수보다 적은 인코딩된 세그먼트 페이로드를 갖는다는 제약에 종속하여 프레임의 가변 크기 인코딩 페이로드를 줄이도록 원본 및 잔여 오디오 샘플로부터 각 세그먼트에 대한 세그먼트 구간 및 엔트로피 코딩 파라미터를 결정하는 단계;
    세그먼트 구간, RAP의 존재 및 위치를 지시하는 RAP 파라미터, 예측 및 엔트로피 코딩 파라미터, 및 비트스트림 네비게이션 데이터를 포함하는 헤더 정보를 비트스트림 내 프레임 헤더 내에 패킹하는 단계; 및
    각 세그먼트에 대한 압축되고 엔트로피 코딩된 오디오 데이터를 비트스트림 내 프레임 세그먼트 내에 패킹하는 단계를 포함하는 것인 방법.
  2. 제 1 항에 있어서, 인코드 타이밍 코드는 비디오 신호의 특정 부분의 시작에 대응하는 소망의 RAP를 지정하는 비디오 타이밍 코드인 것인 방법.
  3. 제 1 항에 있어서, 오디오 비트스트림 내 RAP 세그먼트의 시작의 M개 분석 블록들 내에 RAP 분석 블록을 위치시키는 것은 소망의 RAP의 지정된 정렬 오차 내에서 디코드 능력을 보장하는 것인 방법.
  4. 제 1 항에 있어서, 소망의 RAP가 프레임 내에 존재하지 않는다면, 매 N개 프레임의 첫 번째 세그먼트가 디폴트 RAP 세그먼트인 것인 방법.
  5. 제 1 항에 있어서,
    채널 세트 중 하나 이상의 채널에 대한 프레임에서 분석 블록 내 과도 신호의 존재를 검출하는 단계;
    임의의 검출된 과도 신호가 그 개개 채널의 세그먼트의 첫 번째 L개 분석 블록들 내에 위치하도록 프레임을 분할하는 단계;
    검출된 과도 신호를 포함하지 않고 그 이전의 세그먼트에 대한 제 1 세트의 예측 파라미터를 결정하고, 채널 세트 내 각 채널에 대한 과도 신호를 포함하고 과도 신호에 후속하는 세그먼트에 대한 제 2 세트의 예측 파라미터를 결정하는 단계; 및
    세그먼트 구간을 결정하는 단계를 더 포함하고,
    RAP 분석 블록은 RAP 세그먼트의 시작의 M개 분석 블록들 내에 위치해야 하고 과도 신호는 대응하는 채널 내 세그먼트의 첫 번째 L개 분석 블록들 내에 위치해야 하는 것인 방법.
  6. 제 5 항에 있어서,
    RAP 분석 블록이 RAP 세그먼트의 시작의 M개 분석 블록들 내에 위치하고 과도 신호가 세그먼트의 첫 번째 L개 분석 블록들 내에 위치하도록, 상기 RAP 분석 블록의 위치 및 과도 신호의 위치 중 적어도 하나를 사용하여 최대 세그먼트 구간을 2의 거듭제곱의 분석 블록 구간으로서 결정하는 단계를 더 포함하고,
    2의 거듭제곱인 분석 블록 구간이고 최대 세그먼트 구간을 초과하지 않는 균일한 세그먼트 구간은 상기 제약에 종속하여 인코딩 프레임 페이로드를 줄이도록 결정되는 것인 방법.
  7. 제 1 항에 있어서,
    RAP 분석 블록이 RAP 세그먼트의 시작의 M개 분석 블록들 내에 위치하도록, 상기 RAP 분석 블록의 위치를 사용하여 최대 세그먼트 구간을 2의 거듭제곱의 분석 블록 구간으로써 결정하는 단계를 더 포함하고,
    2의 거듭제곱의 분석 블록 구간이고 최대 세그먼트 구간을 초과하지 않는 균일한 세그먼트 구간이 상기 제약에 종속하여 인코딩 프레임 페이로드를 줄이도록 결정되는 것인 방법.
  8. 제 7 항에 있어서, 최대 세그먼트 구간은 디코더에서 활용 가능한 출력 버퍼 크기에 의해 또한 제한되는 것인 방법.
  9. 제 1 항에 있어서, 인코딩된 세그먼트 페이로드에 대한 바이트의 최대 수는 오디오 비트스트림의 접근 유닛 크기 제약에 의해 부여되는 것인 방법.
  10. 제 1 항에 있어서, RAP 파라미터는 RAP의 존재를 지시하는 RAP 플래그 및 RAP의 위치를 지시하는 RAP ID를 포함하는 것인 방법.
  11. 제 1 항에 있어서, 제 1 채널 세트는 5.1 다채널 오디오를 포함하고, 제 2 채널 세트는 적어도 하나의 추가 오디오 채널을 포함하는 것인 방법.
  12. 제 1 항에 있어서, 채널들의 쌍들이 베이시스 채널, 상관 채널, 및 상관 해제 채널을 포함하는 트리플릿을 형성하도록 상관 해제 채널을 생성하는 단계, 베이시스 채널 및 상관 채널을 포함하는 제 1 채널 쌍 또는 베이시스 채널 및 상관 해제 채널을 포함하는 제 2 채널 쌍 중 어느 하나를 선택하는 단계, 및 선택된 채널 쌍들의 채널을 엔트로피 코딩하는 단계를 더 포함하는 방법.
  13. 제 12 항에 있어서, 상기 채널 쌍은,
    상관 해제 채널의 변동이 문턱값만큼 상관 채널의 변동보다 적다면, 세그먼트 구간을 결정하기 이전에 제 2 채널 쌍을 선택하고; 및
    그렇지 않다면, 채널 쌍이 인코딩 페이로드에 대해 최소 비트를 제공(contribute)하는 것에 기초하여 세그먼트 구간의 결정시까지 제 1 또는 제 2 채널 쌍의 선택을 연기함으로써 선택되는 것인 방법.
  14. 실행될 때 제 1 항에 따른 방법을 수행하는 컴퓨터 실행 가능한 명령어를 포함하는 하나 이상의 컴퓨터 판독 가능한 기록 매체.
  15. 제 1 항에 따른 방법을 수행하도록 구성된 디지털 회로를 포함하는 하나 이상의 반도체 장치.
  16. 임의 접근 위치(RAP)에서 무손실 가변 비트 레이트(VBR) 다채널 오디오 비트스트림의 디코딩을 개시하는 방법으로서,
    가변 길이 프레임 페이로드를 갖고 적어도 하나의 독립적으로 디코딩 가능하며 손실 없이 재구성 가능한 채널 세트 - 상기 채널 세트는 다채널 오디오 신호에 대한 복수의 오디오 채널을 포함함 - 를 포함하는 복수의 세그먼트로 분할된 프레임의 시퀀스로서 무손실 VBR 다채널 오디오 비트스트림을 수신하는 단계로서, 각 프레임은 세그먼트 구간, 최대 하나의 RAP 세그먼트의 존재 및 위치를 지시하는 RAP 파라미터, 네비게이션 데이터, 상기 채널 세트 각각에서 상기 채널 각각에 대한 예측 계수를 포함하는 채널 세트 헤더 정보, 그리고 적어도 하나의 엔트로피 코드 플래그 및 적어도 하나의 엔트로피 코딩 파라미터를 포함하는 상기 채널 각각에 대한 세그먼트 헤더 정보를 포함하는 헤더 정보, 그리고 복수의 세그먼트들에 저장된 엔트로피 코딩된 압축 다채널 오디오 신호를 포함하는 것인, 수신 단계;
    RAP 세그먼트를 갖는 프레임이 검출될 때까지 RAP 파라미터를 추출하기 위해 비트스트림 내 다음 프레임의 헤더를 언패킹하는 단계;
    RAP 세그먼트의 시작으로 네비게이션하기 위해 세그먼트 구간 및 네비게이션 데이터를 추출하도록 선택된 프레임의 헤더를 언패킹하는 단계;
    엔트로피 코드 플래그 및 코딩 파라미터와, 엔트로피 코딩된 압축 다채널 오디오 신호를 추출하고 선택된 엔트로피 코드 및 코딩 파라미터를 이용하여 RAP 세그먼트에 관한 엔트로피 디코딩을 수행하여 RAP 세그먼트에 대한 압축 오디오 신호를 생성하기 위해, 적어도 하나의 상기 채널 세트에 대한 헤더를 언패킹하는 단계로서, 예측 순서에 이르기까지 RAP 세그먼트의 제1 오디오 샘플이 압축 해제되는 것인 언패킹 단계;
    예측 계수를 추출하여 압축 오디오 신호를 재구성하도록 적어도 하나의 상기 채널 세트에 대한 헤더를 언패킹하는 단계로서, 상기 예측은 RAP 세그먼트에 대한 상기 채널 세트 내의 각각의 오디오 채널에 대한 PCM 오디오를 손실 없이 재구성하기 위해 예측 순서에 이르기까지 상기 제1 오디오 샘플에 대해 비활성화되는 것인 언패킹 단계; 및
    프레임 내 세그먼트의 잔여부와 후속 프레임을 순서에 따라 디코딩하는 단계를 포함하는 것인 방법.
  17. 제 16 항에 있어서, 인코드 타이밍 코드 내에 특정된 소망의 RAP는 비트스트림 내 RAP 세그먼트의 시작의 정렬 오차 내에 위치하는 것인 방법.
  18. 제 17 항에 있어서, 프레임 내 RAP 세그먼트의 위치는 인코더 타이밍 코드 내 소망의 RAP의 위치에 기초하여 비트스트림의 전반에 걸쳐 변화하는 것인 방법.
  19. 삭제
  20. 제 16 항에 있어서, 디코딩이 시작된 이후에 후속 프레임에서 다른 RAP 세그먼트와 마주칠 때, 예측은 PCM 오디오를 계속하여 손실 없이 재구성하기 위해 예측 순서에 이르기까지 제 1 오디오 샘플에 대해 비활성화되는 것인 방법.
  21. 제 16 항에 있어서, 세그먼트 구간은, 소망의 RAP가 RAP 세그먼트의 시작의 특정 오차 내에서 정렬되고 각 인코딩된 세그먼트 페이로드가 프레임 크기보다 작은 최대 페이로드 크기보다 작고 그리고 일단 세그먼트가 언패킹되면 완전히 디코딩 가능하고 손실 없이 재구성 가능하다는 제약에 종속하여 프레임 페이로드를 줄이는 것인 방법.
  22. 제 16 항에 있어서, 인코딩된 세그먼트 페이로드가 바이트의 최대 수보다 작고, 손실 없이 재구성 가능하며 그리고 인코드 타이밍 코드에 특정된 소망의 RAP가 RAP 세그먼트의 시작의 정렬 오차 내에 위치한다는 제약에 종속하여, 각 프레임의 가변 길이 페이로드를 최소화하기 위해 세그먼트의 수 및 구간이 프레임별로 변경되는 것인 방법.
  23. 제 16 항에 있어서, 각 채널 내 과도 신호 세그먼트의 존재 및 위치를 지시하는 과도 신호 파라미터, 상기 각 채널 내에서 과도 신호가 존재하지 않는다면 단일 세트의 프레임 기반 예측 계수를, 그리고 과도 신호가 존재한다면 제 1 및 제 2세트의 파티션 기반 예측 계수를 포함하는 상기 각 채널에 대한 예측 계수를 포함하는 헤더 정보를 포함하는 각각의 프레임을 수신하는 단계;
    과도 신호 파라미터를 추출하여 채널 세트 내 각 채널의 과도 신호 세그먼트의 존재 및 위치를 결정하기 위해 적어도 하나의 상기 채널 세트에 대한 헤더를 언패킹하는 단계;
    과도 신호의 존재에 기초하여 각 채널에 대해 단일 세트의 프레임 기반 예측 계수 또는 제 1 및 제 2 세트의 파티션 기반 예측 계수를 추출하기 위해 적어도 하나의 상기 채널 세트에 대한 헤더를 언패킹하는 단계; 및
    채널 세트 내 각 채널에 대해서, PCM 오디오를 손실 없이 재구성하기 위해 프레임 내 모든 세그먼트에 대한 압축된 오디오 신호에 단일 세트의 예측 계수를 적용하거나, 또는 제 1 세그먼트에서 시작하는 압축된 오디오 신호에 제 1 세트의 예측 계수를 적용하고 과도 신호 세그먼트에서 시작하는 압축된 오디오 신호에 제 2 세트의 예측 계수를 적용하는 단계를 더 포함하는 방법.
  24. 제 16 항에 있어서, 비트스트림은 쌍 방식 채널 상관 해제 플래그, 원래의 채널 순서, 및 양자화된 채널 상관 해제 계수들을 포함하는 채널 세트 헤더 정보를 더 포함하고, 상기 재구성은 상관 해제된 PCM 오디오를 생성하며, 상기 방법은,
    원래의 채널 순서, 쌍 방식 채널 상관 해제 플래그 및 양자화된 채널 상관 해제 계수를 추출하고 역 교차 채널 상관 해제를 수행하여 상기 채널 세트 내 각 오디오 채널에 대해 PCM 오디오를 재구성하기 위해 헤더를 언패킹하는 단계를 더 포함하는 방법.
  25. 제 24 항에 있어서, 쌍 방식 채널 상관 해제 플래그는, 베이시스 채널, 상관 채널 및 상관 해제 채널을 포함하는 트리플릿에 대해서 베이시스 채널 및 상관 채널을 포함하는 제 1 채널 쌍 또는 베이시스 채널 및 상관 해제 채널을 포함하는 제 2 채널 쌍이 인코딩되었는지 여부를 지시하고, 상기 방법은,
    플래그가 제 2 채널 쌍을 나타낸다면, 베이시스 채널을 양자화된 채널 상관 해제 계수만큼 곱하고 곱값을 상기 상관 해제 채널에 가산하여 상관 채널의 PCM 오디오를 생성하는 단계를 더 포함하는 방법.
  26. 실행될 때 제 16 항에 따른 방법을 수행하는 컴퓨터 실행 가능한 명령어를 포함하는 하나 이상의 컴퓨터 판독 가능한 기록 매체.
  27. 제 16 항에 따른 방법을 수행하도록 구성된 디지털 회로를 포함하는 하나 이상의 반도체 장치.
  28. 다채널 오디오를 무손실 가변 비트 레이트(VBR) 오디오 비트스트림으로 인코딩하는 방법으로서,
    적어도 하나의 채널 세트를 포함하는 다채널 오디오를 동일한 시구간의 프레임들 - 각 프레임은 헤더와 복수의 세그먼트를 포함함 - 로 블록화하는 단계로서, 각각의 상기 세그먼트는 하나 이상의 분석 블록의 구간을 갖는 것인 단계;
    연속 프레임 각각에 대해서,
    채널 세트 중 각 채널에 대한 프레임에서 과도 신호 분석 블록 내 과도 신호의 존재를 검출하는 단계;
    임의의 과도 신호 분석 블록이 그 대응하는 채널의 세그먼트의 첫 번째 L개 분석 블록들 내에 위치하도록 프레임을 분할하는 단계;
    과도 신호 분석 블록을 포함하지 않고 그 이전의 세그먼트에 대한 제 1 세트의 예측 파라미터를 결정하고 및 채널 세트 내 각 채널에 대한 과도 신호 분석 블록을 포함하고 과도 신호 분석 블록에 후속하는 세그먼트에 대한 제 2 세트의 예측 파라미터를 결정하는 단계;
    제 1 및 제 2 파티션에 관한 제 1 및 제 2 세트의 예측 파라미터를 사용하여 오디오 데이터를 압축하고, 잔여 오디오 신호를 생성하는 단계;
    각 세그먼트는 완전히 무손실 디코딩 가능해야 하고, 프레임 구간보다 적은 구간을 가지며 프레임 크기보다 적은 바이트의 최대 수보다 적은 인코딩된 세그먼트 페이로드를 갖는다는 제약에 종속하여 프레임의 가변 크기 인코딩 페이로드를 줄이도록 잔여 오디오 샘플로부터 각 세그먼트에 대한 세그먼트 구간 및 엔트로피 코딩 파라미터를 결정하는 단계;
    세그먼트 구간, 과도 신호의 존재 및 위치를 지시하는 과도 신호 파라미터, 예측 파라미터, 엔트로피 코딩 파라미터 및 비트스트림 네비게이션 데이터를 포함하는 헤더 정보를 비트스트림 내 프레임 헤더 내에 패킹하는 단계; 및
    각 세그먼트에 대한 압축되고 엔트로피 코딩된 오디오 데이터를 비트스트림 내 프레임 세그먼트 내에 패킹하는 단계를 포함하는 방법.
  29. 제 28 항에 있어서, 채널 세트의 각 채널에 대해서,
    전체 프레임에 대한 제 3 세트의 예측 파라미터를 결정하는 단계;
    전체 프레임에 관한 제 3 세트의 예측 파라미터를 사용하여 오디오 데이터를 압축하고, 잔여 오디오 신호를 생성하는 단계; 및
    개개의 잔여 오디오 신호로부터의 코딩 효율의 측정치에 기초하여 제 3 세트의 예측 파라미터 또는 제 1 및 제 2 세트의 예측 파라미터 중 어느 한 파라미터를 선택하는 단계를 더 포함하고,
    상기 제 3 세트가 선택된다면, 세그먼트의 시작의 L개 분석 블록들 내 과도 신호의 위치에 관해서 세그먼트 구간에 대한 제약을 비활성화시키는 것인 방법.
  30. 제 28 항에 있어서,
    오디오 비트스트림 내 소망의 임의 접근 위치(RAP)를 특정하는 타이밍 코드를 수신하는 단계;
    타이밍 코드로부터 프레임 내 최대 하나의 RAP 분석 블록을 결정하는 단계;
    RAP 분석 블록이 시작의 M개 분석 블록들 내에 위치하도록 RAP 세그먼트의 시작을 고정시키는 단계;
    프레임을 분할할 때 RAP 세그먼트에 의해 부여되는 세그먼트 경계를 고려하여 제 1 및 제 2 세트의 예측 파라미터를 결정하는 단계;
    RAP 세그먼트의 시작을 뒤따르는 예측 순서에 이르기까지 제 1 샘플에 대한 상기 예측을 비활성화하여 상기 제 1 및 제 2, 및 제 3 세트의 예측 파라미터에 대한 잔여 오디오 샘플이 선행하거나 뒤따르는 것 중 적어도 하나인 원본 오디오 샘플을 생성하는 단계;
    RAP 분석 블록이 RAP 세그먼트의 시작의 M개 분석 블록들 내에 위치한다는 제약 및 과도 신호 분석 블록이 세그먼트의 첫 번째 L개 분석 블록들 내에 위치한다는 제약 중 적어도 하나를 만족시키면서 인코딩된 프레임 페이로드를 줄이는 세그먼트 구간을 결정하는 단계; 및
    RAP 세그먼트의 위치 및 존재를 가리키는 RAP 파라미터와 비트스트림 네비게이션 데이터를 프레임 헤더 내에 패킹하는 단계를 더 포함하는 방법.
  31. 제 28 항에 있어서,
    과도 신호 분석 블록의 검출된 위치를 사용하여, 상기 과도 신호가 세그먼트의 첫 번째 L개 분석 블록들 내에 위치하도록 최대 세그먼트 구간을 2의 거듭제곱의 분석 블록 구간으로써 결정하는 단계를 더 포함하고,
    2의 거듭제곱의 분석 블록 구간이고 최대 세그먼트 구간을 초과하지 않는 균일한 세그먼트 구간이 제약에 종속하여 인코딩 프레임 페이로드를 줄이도록 결정되는 것인 방법.
  32. 제 31 항에 있어서, 최대 세그먼트 구간은 디코더에서 활용 가능한 출력 버퍼 크기에 의해 또한 제한되는 것인 방법.
  33. 제 28 항에 있어서, 인코딩된 세그먼트 페이로드에 대한 바이트의 최대 수는 오디오 비트스트림의 접근 유닛 크기 제약에 의해 부여되는 것인 방법.
  34. 제 28 항에 있어서, 상기 비트스트림은 제 1 및 제 2 채널 세트를 포함하고, 상기 방법은 개개의 채널 세트에서 적어도 하나의 채널에 대해 상이한 위치에서 과도 신호의 검출에 기초하여 각 채널 세트의 각 채널에 대한 제 1 및 제 2 세트의 예측 파라미터를 선택하는 단계를 포함하고, 상기 세그먼트 구간은 상기 과도 신호 각각이 과도 신호가 발생하는 세그먼트의 첫 번째 L개 분석 블록들 내에 위치하도록 결정되는 것인 방법.
  35. 제 34 항에 있어서, 제 1 채널 세트는 5.1 다채널 오디오를 포함하고, 제 2 채널 세트는 적어도 하나의 추가 오디오 채널을 포함하는 것인 방법.
  36. 제 28 항에 있어서, 과도 신호 파라미터는 과도 신호의 존재를 지시하는 과도 신호 플래그 및 과도 신호가 발생하는 세그먼트 수를 지시하는 과도 신호 ID를 포함하는 것인 방법.
  37. 제 28 항에 있어서, 채널들의 쌍들이 베이시스 채널, 상관 채널, 및 상관 해제 채널을 포함하는 트리플릿을 형성하도록 상관 해제 채널을 생성하는 단계, 베이시스 채널 및 상관 채널을 포함하는 제 1 채널 쌍 또는 베이시스 채널 및 상관 해제 채널을 포함하는 제 2 채널 쌍 중 어느 하나를 선택하는 단계, 및 선택된 채널 쌍들의 채널을 엔트로피 코딩하는 단계를 더 포함하는 방법.
  38. 제 37 항에 있어서, 상기 채널 쌍은,
    상관 해제 채널의 변동이 문턱값만큼 상관 채널의 변동보다 적다면, 세그먼트 구간을 결정하기 이전에 제 2 채널 쌍을 선택하는 단계; 및
    그렇지 않다면, 채널 쌍이 인코딩 페이로드에 가장 적은 비트를 제공하는 것에 기초하여 세그먼트 구간의 결정시까지 제 1 또는 제 2 채널 쌍의 선택을 연기함으로써 선택되는 것인 방법.
  39. 실행될 때 제 28 항에 따른 방법을 수행하는 컴퓨터 실행 가능한 명령어를 포함하는 하나 이상의 컴퓨터 판독 가능한 기록 매체.
  40. 제 28 항에 따른 방법을 수행하도록 구성된 디지털 회로를 포함하는 하나 이상의 반도체 장치.
  41. 무손실 가변 비트 레이트(VBR) 다채널 오디오 비트스트림을 디코딩하는 방법으로서,
    가변 길이 프레임 페이로드를 갖고 적어도 하나의 독립적으로 디코딩 가능하며 손실 없이 재구성 가능한 채널 세트 - 상기 채널 세트는 다채널 오디오 신호에 대한 복수의 오디오 채널을 포함함 - 를 포함하는 복수의 세그먼트로 분할된 프레임의 시퀀스로서 무손실 VBR 다채널 오디오 비트스트림을 수신하는 단계로서, 각 프레임은 세그먼트 구간, 각 채널 내 과도 신호 세그먼트의 존재 및 위치를 지시하는 과도 신호 파라미터, 상기 각 채널 세트 내에 과도 신호가 존재하지 않을 때 단일 세트의 프레임 기반 예측 계수를, 그리고 과도 신호가 존재할 때 제 1 및 제 2 파티션 기반 예측 계수를 포함하는 상기 각 채널에 대한 예측 계수를 포함하는 채널 세트 헤더 정보, 및 적어도 하나의 엔트로피 코드 플래그 및 적어도 하나의 엔트로피 코딩 파라미터를 포함하는 상기 채널 세트 각각에 대한 세그먼트 헤더 정보를 포함하는 헤더 정보, 및 상기 복수의 세그먼트에 저장된 엔트로피 코딩된 압축 다채널 오디오 신호를 포함하는 것인, 수신 단계;
    세그먼트 구간을 추출하기 위해 헤더를 언패킹하는 단계;
    각 세그먼트에 대한 엔트로피 코드 플래그 및 코딩 파라미터 및 엔트로피 코딩된 압축 다채널 오디오 신호를 추출하고, 선택된 엔트로피 코드 및 코딩 파라미터를 이용하여 각 세그먼트에 관한 엔트로피 디코딩을 수행하여 각 세그먼트에 대한 압축된 오디오 신호를 생성하기 위해, 적어도 하나의 상기 채널 세트에 대한 헤더를 언패킹하는 단계;
    과도 신호 파라미터를 추출하여 채널 세트 내 각 채널의 과도 신호 세그먼트의 존재 및 위치를 결정하기 위해 적어도 하나의 상기 채널 세트에 대한 헤더를 언패킹하는 단계;
    과도 신호의 존재에 기초하여 각 채널에 대해 단일 세트의 프레임 기반 예측 계수 또는 제 1 및 제 2 세트의 파티션 기반 예측 계수를 추출하기 위해 적어도 하나의 상기 채널 세트에 대한 헤더를 언패킹하는 단계; 및
    채널 세트 내 각 채널에 대해서, PCM 오디오를 손실 없이 재구성하기 위해 프레임 내 모든 세그먼트에 대한 압축된 오디오 신호에 단일 세트의 예측 계수를 적용하거나, 또는 제 1 세그먼트에서 시작하는 압축된 오디오 신호에 제 1 세트의 예측 계수를 적용하고 과도 신호 세그먼트에서 시작하는 압축된 오디오 신호에 제 2 세트의 예측 계수를 적용하는 단계를 더 포함하는 방법.
  42. 제 41 항에 있어서, 비트스트림은 쌍 방식 채널 상관 해제 플래그, 원래의 채널 순서, 및 양자화된 채널 상관 해제 계수들을 포함하는 채널 세트 헤더 정보를 더 포함하고, 상기 재구성은 상관 해제된 PCM 오디오를 생성하며, 상기 방법은,
    원래의 채널 순서, 쌍 방식 채널 상관 해제 플래그 및 양자화된 채널 상관 해제 계수를 추출하고 역 교차 채널 상관 해제를 수행하여 상기 채널 세트 내 각 오디오 채널에 대해 PCM 오디오를 재구성하기 위해 헤더를 언패킹하는 단계를 더 포함하는 방법.
  43. 제 42 항에 있어서, 쌍 방식 채널 상관 해제 플래그는, 베이시스 채널, 상관 채널 및 상관 해제 채널을 포함하는 트리플릿에 대해서 베이시스 채널 및 상관 채널을 포함하는 제 1 채널 쌍 또는 베이시스 채널 및 상관 해제 채널을 포함하는 제 2 채널 쌍이 인코딩되었는지 여부를 지시하고, 상기 방법은,
    플래그가 제 2 채널 쌍을 나타낸다면, 베이시스 채널을 양자화된 채널 상관 해제 계수만큼 곱하고 곱값을 상기 상관 해제 채널에 가산하여 상관 채널의 PCM 오디오를 생성하는 단계를 더 포함하는 방법.
  44. 제 41 항에 있어서,
    최대 하나의 RAP 세그먼트의 존재 및 위치를 지시하는 RAP 파라미터 및 네비게이션 데이터를 포함하는 헤더 정보를 갖는 프레임을 수신하는 단계;
    RAP 파라미터를 추출하여, RAP에서 디코딩을 시작하기를 시도한다면, RAP 세그먼트를 갖는 프레임이 검출될 때까지 다음 프레임으로 건너뛰고 네비게이션 데이터를 사용하여 RAP 세그먼트의 시작으로 네비게이션하기 위해, 비트스트림 내 다음 프레임의 헤더를 언패킹하는 단계; 및
    RAP 세그먼트와 마주칠 때, 예측 순서에 이르기까지 제 1 오디오 샘플에 대한 예측을 비활성화하여 PCM 오디오를 손실 없이 재구성하는 단계를 더 포함하는 방법.
  45. 제 41 항에 있어서, 인코딩된 세그먼트 페이로드가 프레임 크기보다 작은 바이트의 최대 수보다 작고 손실 없이 재구성 가능하다는 제약에 종속하여 각 프레임의 가변 길이 페이로드를 최소화하기 위해 세그먼트의 수 및 구간이 프레임 별로 변경되는 것인 방법.
  46. 실행될 때 제 41 항에 따른 방법을 수행하는 컴퓨터 실행 가능한 명령어를 포함하는 하나 이상의 컴퓨터 판독 가능한 기록 매체.
  47. 제 41 항에 따른 방법을 수행하도록 구성된 디지털 회로를 포함하는 하나 이상의 반도체 장치.
  48. 임의 접근 위치(RAP)에서 무손실 가변 비트 레이트(VBR) 다채널 오디오 비트스트림의 디코딩을 시작하기 위한 다채널 오디오 디코더로서,
    가변 길이 프레임 페이로드를 갖고 적어도 하나의 독립적으로 디코딩 가능하며 손실 없이 재구성 가능한 채널 세트 - 상기 채널 세트는 다채널 오디오 신호에 대한 복수의 오디오 채널을 포함함 - 를 포함하는 복수의 세그먼트로 분할된 프레임의 시퀀스로서 무손실 VBR 다채널 오디오 비트스트림을 수신하고 - 각 프레임은 세그먼트 구간, 최대 하나의 RAP 세그먼트의 존재 및 위치를 지시하는 RAP 파라미터, 네비게이션 데이터, 상기 채널 세트 각각에서 상기 채널 각각에 대한 예측 계수를 포함하는 채널 세트 헤더 정보, 및 적어도 하나의 엔트로피 코드 플래그 및 적어도 하나의 엔트로피 코딩 파라미터를 포함하는 상기 채널 세트 각각에 대한 세그먼트 헤더 정보를 포함하는 헤더 정보, 및 상기 복수의 세그먼트에 저장된 엔트로피 코딩된 압축 다채널 오디오 신호를 포함함 - ;
    RAP 세그먼트를 갖는 프레임이 검출될 때까지 RAP 파라미터를 추출하기 위해 비트스트림 내 다음 프레임의 헤더를 언패킹하고;
    세그먼트 구간 및 RAP 세그먼트의 시작으로 네비게이션하기 위한 네비게이션 데이터를 추출하기 위해 선택된 프레임의 헤더를 언패킹하고;
    엔트로피 코드 플래그 및 코딩 파라미터 및 엔트로피 코딩된 압축 다채널 오디오 신호를 추출하고, 선택된 엔트로피 코드 및 코딩 파라미터를 이용하여 RAP 세그먼트에 관한 엔트로피 디코딩을 수행하여 RAP 세그먼트에 대한 압축 오디오 신호를 생성하기 위해, 적어도 하나의 상기 채널 세트에 대한 헤더를 언패킹하고 - 예측 순서에 이르기까지 RAP 세그먼트의 제1 오디오 샘플이 압축 해제됨 - ;
    예측 계수를 추출하여 압축 오디오 신호를 재구성하도록 적어도 하나의 상기 채널 세트에 대한 헤더를 언패킹하고 - 상기 예측은 RAP 세그먼트에 대한 상기 채널 세트 내의 각각의 오디오 채널에 대한 PCM 오디오를 손실 없이 재구성하기 위해 예측 순서에 이르기까지 상기 제1 오디오 샘플에 대해 비활성화됨 - ;
    프레임 내 세그먼트의 잔여부와 후속 프레임을 순서에 따라 디코딩하도록 구성되는 것인 다채널 오디오 디코더.
  49. 삭제
  50. 무손실 가변 비트 레이트(VBR) 다채널 오디오 비트스트림을 디코딩하기 위한 다채널 오디오 디코더로서,
    가변 길이 프레임 페이로드를 갖고 적어도 하나의 독립적으로 디코딩 가능하며 손실 없이 재구성 가능한 채널 세트 - 상기 채널 세트는 다채널 오디오 신호에 대한 복수의 오디오 채널을 포함함 - 를 포함하는 복수의 세그먼트로 분할된 프레임의 시퀀스로서 무손실 VBR 다채널 오디오 비트스트림을 수신하고 - 각 프레임은 세그먼트 구간, 각 채널 내 과도 신호 세그먼트의 존재 및 위치를 지시하는 과도 신호 파라미터, 상기 각 채널 세트 내에 과도 신호가 존재하지 않을 때 단일 세트의 프레임 기반 예측 계수를, 그리고 과도 신호가 존재할 때 제 1 및 제 2 파티션 기반 예측 계수를 포함하는 상기 각 채널에 대한 예측 계수를 포함하는 채널 세트 헤더 정보, 및 적어도 하나의 엔트로피 코드 플래그 및 적어도 하나의 엔트로피 코딩 파라미터를 포함하는 상기 채널 세트 각각에 대한 세그먼트 헤더 정보를 포함하는 헤더 정보, 및 상기 복수의 세그먼트에 저장된 엔트로피 코딩된 압축 다채널 오디오 신호를 포함함 -;
    세그먼트 구간을 추출하기 위해 헤더를 언패킹하고;
    각 세그먼트에 대한 엔트로피 코드 플래그 및 코딩 파라미터 및 엔트로피 코딩된 압축 다채널 오디오 신호를 추출하고, 선택된 엔트로피 코드 및 코딩 파라미터를 이용하여 각 세그먼트에 관한 엔트로피 디코딩을 수행하여 각 세그먼트에 대한 압축된 오디오 신호를 생성하기 위해, 적어도 하나의 상기 채널 세트에 대한 헤더를 언패킹하고;
    과도 신호 파라미터를 추출하여 채널 세트 내 각 채널의 과도 신호 세그먼트의 존재 및 위치를 결정하기 위해 적어도 하나의 상기 채널 세트에 대한 헤더를 언패킹하고;
    과도 신호의 존재에 기초하여 각 채널에 대해 단일 세트의 프레임 기반 예측 계수 또는 제 1 및 제 2 세트의 파티션 기반 예측 계수를 추출하기 위해 적어도 하나의 상기 채널 세트에 대한 헤더를 언패킹하고;
    채널 세트 내 각 채널에 대해서, PCM 오디오를 손실 없이 재구성하기 위해 프레임 내 모든 세그먼트에 대한 압축된 오디오 신호에 단일 세트의 예측 계수를 적용하거나, 또는 제 1 세그먼트에서 시작하는 압축된 오디오 신호에 제 1 세트의 예측 계수를 적용하고 과도 신호 세그먼트에서 시작하는 압축된 오디오 신호에 제 2 세트의 예측 계수를 적용하도록 구성되는 것인 다채널 오디오 디코더.
KR1020107017781A 2008-01-30 2009-01-09 임의 접근 위치(rap) 및 다중 예측 파라미터 세트(mpps) 능력을 구비한 적응형 세그먼트화를 이용하는 무손실 다채널 오디오 코덱 KR101612969B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/011,899 2008-01-30
US12/011,899 US7930184B2 (en) 2004-08-04 2008-01-30 Multi-channel audio coding/decoding of random access points and transients

Publications (2)

Publication Number Publication Date
KR20100106579A KR20100106579A (ko) 2010-10-01
KR101612969B1 true KR101612969B1 (ko) 2016-04-15

Family

ID=40913133

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107017781A KR101612969B1 (ko) 2008-01-30 2009-01-09 임의 접근 위치(rap) 및 다중 예측 파라미터 세트(mpps) 능력을 구비한 적응형 세그먼트화를 이용하는 무손실 다채널 오디오 코덱

Country Status (17)

Country Link
US (1) US7930184B2 (ko)
EP (2) EP3435375B1 (ko)
JP (1) JP5356413B2 (ko)
KR (1) KR101612969B1 (ko)
CN (1) CN101933009B (ko)
AU (1) AU2009209444B2 (ko)
BR (1) BRPI0906619B1 (ko)
CA (1) CA2711632C (ko)
ES (2) ES2792116T3 (ko)
HK (1) HK1147132A1 (ko)
IL (1) IL206785A (ko)
MX (1) MX2010007624A (ko)
NZ (2) NZ586566A (ko)
PL (2) PL3435375T3 (ko)
RU (1) RU2495502C2 (ko)
TW (1) TWI474316B (ko)
WO (1) WO2009097076A1 (ko)

Families Citing this family (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6307487B1 (en) 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US7068729B2 (en) 2001-12-21 2006-06-27 Digital Fountain, Inc. Multi-stage code generator and decoder for communication systems
US9240810B2 (en) 2002-06-11 2016-01-19 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation
EP2355360B1 (en) 2002-10-05 2020-08-05 QUALCOMM Incorporated Systematic encoding and decoding of chain reaction codes
JP4431537B2 (ja) * 2003-06-16 2010-03-17 パナソニック株式会社 パケット処理装置及び方法
CN101834610B (zh) * 2003-10-06 2013-01-30 数字方敦股份有限公司 通过通信信道接收从源发射的数据的方法和装置
JP4971144B2 (ja) 2004-05-07 2012-07-11 デジタル ファウンテン, インコーポレイテッド ファイルダウンロードおよびストリーミングのシステム
TW200705386A (en) * 2005-01-11 2007-02-01 Agency Science Tech & Res Encoder, decoder, method for encoding/decoding, computer readable media and computer program elements
EP1876585B1 (en) * 2005-04-28 2010-06-16 Panasonic Corporation Audio encoding device and audio encoding method
EP1876586B1 (en) * 2005-04-28 2010-01-06 Panasonic Corporation Audio encoding device and audio encoding method
CN101686107B (zh) * 2006-02-13 2014-08-13 数字方敦股份有限公司 使用可变fec开销和保护周期的流送和缓冲
US9270414B2 (en) 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
US7971129B2 (en) 2006-05-10 2011-06-28 Digital Fountain, Inc. Code generator and decoder for communications systems operating using hybrid codes to allow for multiple efficient users of the communications systems
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9432433B2 (en) * 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US9419749B2 (en) 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US9380096B2 (en) * 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
JP2010516077A (ja) * 2007-01-05 2010-05-13 エルジー エレクトロニクス インコーポレイティド オーディオ信号処理方法及び装置
AU2008298602A1 (en) 2007-09-12 2009-03-19 Digital Fountain, Inc. Generating and communicating source identification information to enable reliable communications
EP2223230B1 (en) 2007-11-16 2019-02-20 Sonic IP, Inc. Chunk header incorporating binary flags and correlated variable-length fields
CN101836250B (zh) * 2007-11-21 2012-11-28 Lg电子株式会社 用于处理信号的方法及装置
US8972247B2 (en) * 2007-12-26 2015-03-03 Marvell World Trade Ltd. Selection of speech encoding scheme in wireless communication terminals
KR101441897B1 (ko) * 2008-01-31 2014-09-23 삼성전자주식회사 잔차 신호 부호화 방법 및 장치와 잔차 신호 복호화 방법및 장치
US8380498B2 (en) * 2008-09-06 2013-02-19 GH Innovation, Inc. Temporal envelope coding of energy attack signal by using attack point location
US8311111B2 (en) * 2008-09-11 2012-11-13 Google Inc. System and method for decoding using parallel processing
WO2010051545A1 (en) * 2008-10-31 2010-05-06 Divx, Inc. System and method for playing content on certified devices
CN101609678B (zh) 2008-12-30 2011-07-27 华为技术有限公司 信号压缩方法及其压缩装置
CN101615394B (zh) * 2008-12-31 2011-02-16 华为技术有限公司 分配子帧的方法和装置
US9281847B2 (en) 2009-02-27 2016-03-08 Qualcomm Incorporated Mobile reception of digital video broadcasting—terrestrial services
KR20100115215A (ko) * 2009-04-17 2010-10-27 삼성전자주식회사 가변 비트율 오디오 부호화 및 복호화 장치 및 방법
US9245529B2 (en) * 2009-06-18 2016-01-26 Texas Instruments Incorporated Adaptive encoding of a digital signal with one or more missing values
CN101931414B (zh) 2009-06-19 2013-04-24 华为技术有限公司 脉冲编码方法及装置、脉冲解码方法及装置
US9288010B2 (en) 2009-08-19 2016-03-15 Qualcomm Incorporated Universal file delivery methods for providing unequal error protection and bundled file delivery services
EP2476113B1 (en) * 2009-09-11 2014-08-13 Nokia Corporation Method, apparatus and computer program product for audio coding
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
KR101777347B1 (ko) * 2009-11-13 2017-09-11 삼성전자주식회사 부분화에 기초한 적응적인 스트리밍 방법 및 장치
US8374858B2 (en) * 2010-03-09 2013-02-12 Dts, Inc. Scalable lossless audio codec and authoring tool
US9485546B2 (en) 2010-06-29 2016-11-01 Qualcomm Incorporated Signaling video samples for trick mode video representations
US8918533B2 (en) 2010-07-13 2014-12-23 Qualcomm Incorporated Video switching for streaming video data
US9185439B2 (en) 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
US8489391B2 (en) * 2010-08-05 2013-07-16 Stmicroelectronics Asia Pacific Pte., Ltd. Scalable hybrid auto coder for transient detection in advanced audio coding with spectral band replication
US9319448B2 (en) 2010-08-10 2016-04-19 Qualcomm Incorporated Trick modes for network streaming of coded multimedia data
US9270299B2 (en) 2011-02-11 2016-02-23 Qualcomm Incorporated Encoding and decoding using elastic codes with flexible source block mapping
US8958375B2 (en) 2011-02-11 2015-02-17 Qualcomm Incorporated Framing for an improved radio link protocol including FEC
WO2012126891A1 (en) * 2011-03-18 2012-09-27 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Frame element positioning in frames of a bitstream representing audio content
US9253233B2 (en) 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
CN104106079A (zh) 2011-09-09 2014-10-15 帕那莫夫公司 图像处理系统和方法
US9843844B2 (en) 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
US9294226B2 (en) 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery
CN104380222B (zh) * 2012-03-28 2018-03-27 泰瑞·克劳福德 提供区段型浏览已记录对话的方法及系统
US9591303B2 (en) * 2012-06-28 2017-03-07 Qualcomm Incorporated Random access and signaling of long-term reference pictures in video coding
US10199043B2 (en) * 2012-09-07 2019-02-05 Dts, Inc. Scalable code excited linear prediction bitstream repacked from a higher to a lower bitrate by discarding insignificant frame data
KR20140075466A (ko) * 2012-12-11 2014-06-19 삼성전자주식회사 오디오 신호의 인코딩 및 디코딩 방법, 및 오디오 신호의 인코딩 및 디코딩 장치
EP4322159A3 (en) 2013-02-05 2024-04-17 Telefonaktiebolaget LM Ericsson (publ) Method and appartus for controlling audio frame loss concealment
KR101444655B1 (ko) * 2013-04-05 2014-11-03 국방과학연구소 파티션 컴퓨팅을 위한 tmo 확장 모델이 저장된 기록매체, 그리고 tmo 확장 모델의 2단계 스케줄링 구현 방법 및 그 방법을 기록한 컴퓨터로 읽을 수 있는 기록매체
TWI557727B (zh) 2013-04-05 2016-11-11 杜比國際公司 音訊處理系統、多媒體處理系統、處理音訊位元流的方法以及電腦程式產品
US10614816B2 (en) 2013-10-11 2020-04-07 Qualcomm Incorporated Systems and methods of communicating redundant frame information
MY176776A (en) * 2013-10-18 2020-08-21 Ericsson Telefon Ab L M Coding and decoding of spectral peak positions
US11350015B2 (en) 2014-01-06 2022-05-31 Panamorph, Inc. Image processing system and method
US9564136B2 (en) 2014-03-06 2017-02-07 Dts, Inc. Post-encoding bitrate reduction of multiple object audio
US9392272B1 (en) * 2014-06-02 2016-07-12 Google Inc. Video coding using adaptive source variance based partitioning
EP2980796A1 (en) * 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Method and apparatus for processing an audio signal, audio decoder, and audio encoder
CN104217726A (zh) * 2014-09-01 2014-12-17 东莞中山大学研究院 一种无损音频压缩编码方法及其解码方法
EP3627337A1 (en) 2015-02-27 2020-03-25 DivX, LLC Systems and methods for frame duplication and frame extension in live video encoding and streaming
CN106033671B (zh) 2015-03-09 2020-11-06 华为技术有限公司 确定声道间时间差参数的方法和装置
US10530388B2 (en) * 2016-01-03 2020-01-07 Auro Technologies Nv Signal encoder, decoder and methods using predictor models
EP3785465B1 (en) * 2018-04-23 2023-08-09 Endeavour Technology Limited An iot qos monitoring system and method
CN110020935B (zh) * 2018-12-18 2024-01-19 创新先进技术有限公司 一种数据处理、计算方法、装置、设备及介质

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6400996B1 (en) * 1999-02-01 2002-06-04 Steven M. Hoffberg Adaptive pattern recognition based control system and method
US5603012A (en) * 1992-06-30 1997-02-11 Discovision Associates Start code detector
US8505108B2 (en) * 1993-11-18 2013-08-06 Digimarc Corporation Authentication using a digital watermark
GB9509831D0 (en) 1995-05-15 1995-07-05 Gerzon Michael A Lossless coding method for waveform data
US5956674A (en) * 1995-12-01 1999-09-21 Digital Theater Systems, Inc. Multi-channel predictive subband audio coder using psychoacoustic adaptive bit allocation in frequency, time and over the multiple channels
JP4098364B2 (ja) * 1996-09-26 2008-06-11 メドトロニック ミニメッド,インコーポレイティド 珪素含有生体適合性膜
US6023233A (en) 1998-03-20 2000-02-08 Craven; Peter G. Data rate control for variable rate compression systems
KR100354531B1 (ko) * 1998-05-06 2005-12-21 삼성전자 주식회사 실시간 복호화를 위한 무손실 부호화 및 복호화 시스템
US6499060B1 (en) * 1999-03-12 2002-12-24 Microsoft Corporation Media coding for loss recovery with remotely predicted data units
EP2391146A3 (en) * 1999-04-07 2011-12-14 Dolby Laboratories Licensing Corporation Lossless encoding and decoding methods and apparatus for multichannel signals
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
US6373411B1 (en) * 2000-08-31 2002-04-16 Agere Systems Guardian Corp. Method and apparatus for performing variable-size vector entropy coding
US6675148B2 (en) * 2001-01-05 2004-01-06 Digital Voice Systems, Inc. Lossless audio coder
AU2001276588A1 (en) * 2001-01-11 2002-07-24 K. P. P. Kalyan Chakravarthy Adaptive-block-length audio coder
US7460993B2 (en) * 2001-12-14 2008-12-02 Microsoft Corporation Adaptive window-size selection in transform coding
KR100711989B1 (ko) 2002-03-12 2007-05-02 노키아 코포레이션 효율적으로 개선된 스케일러블 오디오 부호화
US7328150B2 (en) * 2002-09-04 2008-02-05 Microsoft Corporation Innovations in pure lossless audio compression
US7536305B2 (en) * 2002-09-04 2009-05-19 Microsoft Corporation Mixed lossless audio compression
US7392195B2 (en) * 2004-03-25 2008-06-24 Dts, Inc. Lossless multi-channel audio codec
TR200606136T1 (tr) * 2004-03-25 2007-04-24 Digital Theater Systems, Inc Kayıpsız çok-kanallı işitsel veri kodlayıcı-kodçözücüsü.
US8744862B2 (en) * 2006-08-18 2014-06-03 Digital Rise Technology Co., Ltd. Window selection based on transient detection and location to provide variable time resolution in processing frame-based data
US8180631B2 (en) * 2005-07-11 2012-05-15 Lg Electronics Inc. Apparatus and method of processing an audio signal, utilizing a unique offset associated with each coded-coefficient
US20070094035A1 (en) * 2005-10-21 2007-04-26 Nokia Corporation Audio coding
US20090164223A1 (en) * 2007-12-19 2009-06-25 Dts, Inc. Lossless multi-channel audio codec
US8239210B2 (en) * 2007-12-19 2012-08-07 Dts, Inc. Lossless multi-channel audio codec

Also Published As

Publication number Publication date
NZ597101A (en) 2012-09-28
HK1147132A1 (en) 2011-07-29
CN101933009B (zh) 2014-07-02
EP2250572A4 (en) 2014-01-08
AU2009209444A1 (en) 2009-08-06
EP2250572A1 (en) 2010-11-17
US20080215317A1 (en) 2008-09-04
IL206785A (en) 2014-04-30
IL206785A0 (en) 2010-12-30
NZ586566A (en) 2012-08-31
MX2010007624A (es) 2010-09-10
TW200935401A (en) 2009-08-16
JP2011516902A (ja) 2011-05-26
CA2711632C (en) 2018-08-07
RU2495502C2 (ru) 2013-10-10
WO2009097076A1 (en) 2009-08-06
PL3435375T3 (pl) 2020-11-02
ES2700139T3 (es) 2019-02-14
TWI474316B (zh) 2015-02-21
BRPI0906619A2 (pt) 2019-10-01
BRPI0906619B1 (pt) 2022-05-10
EP3435375A1 (en) 2019-01-30
JP5356413B2 (ja) 2013-12-04
ES2792116T3 (es) 2020-11-10
PL2250572T3 (pl) 2019-02-28
RU2010135724A (ru) 2012-03-10
US7930184B2 (en) 2011-04-19
KR20100106579A (ko) 2010-10-01
EP2250572B1 (en) 2018-09-19
CN101933009A (zh) 2010-12-29
AU2009209444B2 (en) 2014-03-27
EP3435375B1 (en) 2020-03-11
CA2711632A1 (en) 2009-08-06

Similar Documents

Publication Publication Date Title
KR101612969B1 (ko) 임의 접근 위치(rap) 및 다중 예측 파라미터 세트(mpps) 능력을 구비한 적응형 세그먼트화를 이용하는 무손실 다채널 오디오 코덱
KR101307693B1 (ko) 무손실의 다채널 오디오 코덱
KR101243412B1 (ko) 무손실의 다채널 오디오 코덱
US20090164223A1 (en) Lossless multi-channel audio codec
US8239210B2 (en) Lossless multi-channel audio codec
KR20100089772A (ko) 오디오 신호의 부호화 및 복호화 방법 및 그 장치
WO2007011080A1 (en) Apparatus and method of encoding and decoding audio signal
WO2007011085A1 (en) Apparatus and method of encoding and decoding audio signal
WO2007011078A1 (en) Apparatus and method of encoding and decoding audio signal

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
FPAY Annual fee payment

Payment date: 20190327

Year of fee payment: 4