KR20110021803A - 2개의 블록 변환으로의 중첩 변환의 분해 - Google Patents
2개의 블록 변환으로의 중첩 변환의 분해 Download PDFInfo
- Publication number
- KR20110021803A KR20110021803A KR1020107026245A KR20107026245A KR20110021803A KR 20110021803 A KR20110021803 A KR 20110021803A KR 1020107026245 A KR1020107026245 A KR 1020107026245A KR 20107026245 A KR20107026245 A KR 20107026245A KR 20110021803 A KR20110021803 A KR 20110021803A
- Authority
- KR
- South Korea
- Prior art keywords
- transform
- subframe
- overlapping
- block
- transforms
- Prior art date
Links
- 230000002441 reversible effect Effects 0.000 claims abstract description 34
- 230000005236 sound signal Effects 0.000 claims abstract description 22
- 239000011159 matrix material Substances 0.000 claims description 39
- 238000000034 method Methods 0.000 claims description 34
- 230000009466 transformation Effects 0.000 claims description 34
- 238000012545 processing Methods 0.000 claims description 12
- 238000000354 decomposition reaction Methods 0.000 claims description 3
- 238000013139 quantization Methods 0.000 description 38
- 230000006835 compression Effects 0.000 description 17
- 238000007906 compression Methods 0.000 description 17
- 230000003595 spectral effect Effects 0.000 description 13
- 238000006243 chemical reaction Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000013707 sensory perception of sound Effects 0.000 description 6
- 230000003044 adaptive effect Effects 0.000 description 5
- 238000000844 transformation Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000000903 blocking effect Effects 0.000 description 3
- 239000000872 buffer Substances 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000000873 masking effect Effects 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000000926 neurological effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/0017—Lossless audio signal coding; Perfect reconstruction of coded audio signal by transmission of coding error
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/02—Speech 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/0212—Speech 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 using orthogonal transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/147—Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/02—Speech 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/022—Blocking, i.e. grouping of samples in time; Choice of analysis windows; Overlap factoring
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Discrete Mathematics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
오디오 인코더/디코더는 겹침 변환의 가역적인 정수-정수 형태를 제공하기 위해 가역적인 구현을 갖는 중첩 윈도우 변환과 블록 변환의 조합을 사용한다. 가역적 겹침 변환은 가변 서브프레임 크기를 갖는 오디오 신호의 손실 및 무손실 변환 영역 코딩을 허용한다.
Description
휴대용 디지털 미디어 플레이어, 음악 저장을 위한 콤팩트 디스크, 및 인터넷을 통한 오디오 배달의 도입으로, 이제 디지털 오디오 포맷의 음악 및 그외 다른 오디오 콘텐츠를 저장하고, 구입하며, 배포하는 것이 일반적이다. 디지털 오디오 포맷은 사람들이 그들의 개인용 컴퓨터(PC) 또는 휴대용 미디어 플레이어에서 사용 가능한 수백 또는 수천 곡의 노래를 갖고 즐길 수 있게 한다.
지각 변환 코딩(
Perceptual
Transform
Coding
)
오디오의 코딩은 인간 청각의 다양한 지각 모델을 이용하는 코딩 기술을 사용한다. 예를 들어, 강한 음 근처의 많은 약한 음은 마스킹되므로, 코딩될 필요가 없다. 종래의 지각 오디오 코딩에서, 이것은 상이한 주파수 데이터의 적응 양자화로서 이용된다. 지각에 중요한 주파수 데이터는 더 많은 비트, 따라서 더 정교한 양자화가 할당되고, 이와 반대로도 된다.
예를 들어, 변환 코딩은 종래에 오디오 신호의 압축을 위한 효율적인 방식으로 알려져 있다. 입력 오디오는 디지털 방식으로 시간 샘플링된다. 변환 코딩에서, 입력 오디오 샘플의 블록은 (예를 들어, 가장 널리 사용되는 MDCT(Modified Discrete Cosine Transform)를 통해) 변환되고, 처리되며, 양자화된다. 변환된 계수의 양자화는 지각 중요도(예를 들어, 인간 청각의 마스킹 효과 및 주파수 감도)에 기초하여, 이를테면 스칼라 양자화기를 통해 실행된다.
스칼라 양자화기가 사용될 때, 중요도는 상대 가중치에 매핑되고, 각 계수에 대한 양자화기 해상도(스텝 크기)는 그 가중치 및 전체 해상도로부터 구해진다. 전체 해상도는 타깃 품질, 비트 속도 등으로부터 결정될 수 있다. 제공된 스텝 크기에 대해, 각 계수는 0 또는 0이 아닌 정수 값인 수준으로 양자화된다.
낮은 비트 속도에서는, 0이 아닌 수준의 계수보다 매우 많은 0 수준의 계수가 있다. 이들은 허프만(Huffman) 코딩과 같은 엔트로피 코딩 방식과 결합될 수 있는 실행 길이(run-length) 코딩을 사용하여 큰 효율로 코딩될 수 있다.
중첩 변환 및 가변 윈도 프레임 크기
많은 오디오 압축 시스템은 오디오 변환 코딩으로 시간-주파수 분석을 실행하기 위해 MLT(Modulated Lapped Transform)(MDCT라고도 알려져 있음)를 이용한다. MLT는 양자화에 의해 재구성된 오디오 신호에 유입된 블록화 아티팩트를 감소시킨다. 더욱 구체적으로, 비중첩 블록이 독립적으로 변환 코딩될 때, 양자화 오류는 디코더에서의 오디오 신호의 재구성시에 블록 경계에서 신호의 불연속성을 생성할 것이다. 오디오의 경우에, 주기적인 클릭 효과가 들린다.
MLT는 블록을 중첩함으로써 블록화 효과를 감소시킨다. MLT에서, 2개의 연속되는 블록으로부터의 2M 샘플의 "윈도"는 변조된 코사인 변환이 수행된다. M 변환 계수가 반환된다. 그 다음, 윈도는 M 샘플만큼 이동되고, 다음의 M 변환 계수 집합이 계산된다. 그러므로, 각각의 윈도는 이전 윈도의 마지막 M 샘플과 중첩된다. 중첩은 양자화로 인한 변환 계수의 변경에도 불구하고 재구성된 샘플의 연속성을 향상시킨다.
몇몇 오디오 압축 시스템은 오디오의 변화하는 특성에 맞게 조정하기 위해 시간에 따라 윈도의 크기를 변화시킨다. 오디오 코더는 통상적으로 입력 오디오 신호를 고정 크기의 "프레임들"로 분할하는데, 각 프레임은 코딩의 단위이다(예를 들어, 코딩 테이블 및/또는 파라미터가 각 프레임의 헤더 구역 내에서 보내질 수 있다). 시변 MLT를 사용하는 오디오 압축 시스템에서, 각 프레임은 가변 크기의 하나 이상의 "윈도"를 포함할 수 있는데, 각 윈도는 MLT의 단위이다. 일반적으로, 더 큰 윈도는 코딩 효율에 유리한 반면, 더 작은 크기의 윈도는 더 양호한 시간 해상도를 제공한다. 따라서, 어디에서 어떤 윈도 크기를 이용할 것인지의 결정은 인코딩된 신호의 압축 성능 및 청각 품질에 중요하다.
오디오 코딩에서의 한 가지 문제는 일반적으로 "프리 에코(pre-echo)"라 칭해진다. 프리 에코는 오디오가 ("과도 현상"이라고 하는) 갑작스런 변화를 겪을 때 발생한다. 변환 코딩에서, 특정 주파수 계수는 일반적으로 양자화된다(즉, 해상도가 감소된다). 변환 계수가 오디오 신호를 재생하기 위해 나중에 역변환될 때, 이 양자화는 시간 영역에서 전체 블록에 걸쳐 퍼지는 양자화 잡음을 끌어들인다. 본질적으로, 이것은 오히려 코딩 프레임 내의 잡음의 균일한 퍼짐 현상을 야기한다. 일반적으로 프레임의 어떤 부분에 허용되는 잡음은 들릴 수 있어서, 마스킹 수준이 낮은 프레임 부분 동안에 청각적 품질을 손상시킬 수 있다. 실제로, 이 효과는 신호가 낮은 에너지 영역의 바로 다음에 날카로운 공격을 받을 때, 따라서 "프리 에코"일 때 가장 두드러지게 나타난다. 신호가 높은 에너지에서 낮은 에너지로 변화할 때 발생하는 "포스트(post) 에코"는 인간 청각 시스템의 속성으로 인해 지각할 수 있는 청각 품질에 덜 문제된다.
중첩된 변환 및 무손실 코딩
중첩 변환은 또한 무손실 코딩에 사용될 수 있다. 다수의 무손실 코딩 기술은 시간 영역에서 오디오 신호 데이터에 실행된다. 그러나, 무손실 코딩은 또한 양자화 없이 겹침 변환의 적용 후에 초래된 변환 계수의 엔트로피 코딩 또는 기타 무손실 코딩을 단순히 실행함으로써, 주파수 영역에서 실행될 수 있다. 이러한 주파수 영역 무손실 코딩은 오디오 신호의 손실 및 무손실 압축 버전이 함께 더욱 용이하게 얻어질 수 있게 한다. 그러나, 주파수 영역 무손실 압축은 변환이 가역적이어야 한다. 더욱이, 변환을 가역적이게 하는데 필요한 일관성 있는 계산을 위해, 변환은 정수 구현을 해야 한다.
가역적 정수-정수 변환은, 구현이 변환 행렬 내의 직사각형 서브 블록을 사용하는 중첩 변환 설계에 적합하지 않은 1의 결정자를 갖는 정사각형 변환 행렬을 사용하는 구현을 필요로 한다는 점에서 어려움이 있다. 이전에 알려져 있는 가역적 중첩 변환은 또한, 이를테면 위에서 설명된 프리 에코를 감소시키기 위해 가변 서브프레임 크기를 이용하는 오디오 코덱과 호환되지 않는 오디오 신호의 모든 서브프레임에 대해 동일한 서브프레임 구성을 통상적으로 필요로 했다.
이전의 가역적 변환 구현에서, MDCT 및 MLT와 같은 변환은 2N x N 변환으로 처리되는데, 2N x N 변환은 가역적으로 된다. 이 절차는 모든 서브프레임이 동일한 크기로 될 때는 알맞지만, 서브프레임 크기가 변할 때는 특별히 잘 맞지는 않는다. 게다가, 중첩된 직교 변환은 이해하고 수정하기 어려운 구현을 갖는다.
<발명의 요약>
다음의 상세한 설명은 가변 서브프레임 크기를 갖는 중첩 변환을 사용하여 변환 영역에서의 무손실 오디오 압축을 위한 다양한 오디오 인코딩/디코딩 기술 및 도구에 관한 것이다. 이 기술은 MLT(modulated lapped transform)와 같은 변환을 2개의 이동된 블록 변환(하나는 중첩 변환이고, 다른 하나는 (임의의 유형의 표준 DCT와 같은) 블록 변환임)의 조합으로 분해함으로써 형성되는, 가변 프레임 크기에 대한 가역적 정수-정수 중첩 변환의 구현을 사용한다.
이 요약은 아래의 상세한 설명에서 더욱 설명되는 개념들의 선택된 개념을 단순화된 형태로 소개하기 위해 제공된다. 이 요약은 청구된 주제의 핵심적인 특징이나 중요한 특징을 확인하고자 하는 것도 아니고, 청구된 주제의 범위를 판정하는데 보조적으로 사용되고자 하는 것도 아니다. 본 발명의 추가 특징 및 장점은 첨부 도면을 참조하여 진행되는 실시예의 다음의 상세한 설명으로부터 명백해질 것이다.
도 1은 다양한 설명된 실시예가 구현될 수 있는 일반화된 운영 환경의 블록도.
도 2, 3, 4 및 5는 다양한 설명된 실시예가 구현될 수 있는 일반화된 인코더 및/또는 디코더의 블록도.
도 6은 오디오 비트 스트림을 위한 예시적인 서브프레임 구성을 도시한 도면.
도 7은 겹침 변환의 중첩 연산자 부분이 적용되는 도 6의 예시적인 서브프레임 구성의 중첩 영역을 도시한 도면.
도 8은 도 6의 예시적인 서브프레임 구성에서 겹침 변환의 블록 변환 부분이 적용되는 블록을 도시한 도면.
도 2, 3, 4 및 5는 다양한 설명된 실시예가 구현될 수 있는 일반화된 인코더 및/또는 디코더의 블록도.
도 6은 오디오 비트 스트림을 위한 예시적인 서브프레임 구성을 도시한 도면.
도 7은 겹침 변환의 중첩 연산자 부분이 적용되는 도 6의 예시적인 서브프레임 구성의 중첩 영역을 도시한 도면.
도 8은 도 6의 예시적인 서브프레임 구성에서 겹침 변환의 블록 변환 부분이 적용되는 블록을 도시한 도면.
오디오 정보를 표시하고, 코딩하며, 디코딩하는 다양한 기술 및 도구가 설명된다. 이들 기술 및 도구는 매우 낮은 비트 속도에서도 고품질 오디오 콘텐츠의 생성, 배포 및 재생을 용이하게 한다.
여기에서 설명된 다양한 기술 및 도구는 독립적으로 사용될 수 있다. 일부 기술 및 도구는 (예를 들어, 결합된 인코딩 및/또는 디코딩 프로세스의 서로 다른 단계에서) 조합하여 사용될 수 있다.
다양한 기술은 처리 동작의 순서도를 참조하여 아래에 설명된다. 순서도에 도시된 다양한 처리 동작은 더 적은 수의 동작으로 통합되거나, 더 많은 수의 동작으로 분리될 수 있다. 단순하게 하기 위해, 특정 순서도에 도시된 동작과 그외 다른 곳에서 설명된 동작의 관계는 종종 표시되지 않는다. 많은 경우에, 순서도의 동작은 순서가 변경될 수 있다.
상세한 설명의 대부분은 오디오 정보의 표시, 코딩 및 디코딩에 관해 설명한다. 오디오 정보의 표시, 코딩 및 디코딩을 위해 여기에 설명된 다수의 기술 및 도구는 또한 비디오 정보, 정지 이미지 정보, 또는 단일 또는 다중 채널에서 보내진 기타 미디어 정보에 적용될 수 있다.
I.
컴퓨팅 환경
도 1은 설명된 실시예가 구현될 수 있는 적합한 컴퓨팅 환경(100)의 일반화된 예를 도시한 것이다. 컴퓨팅 환경(100)은 설명된 실시예가 다양한 범용 또는 특수 목적 컴퓨팅 환경에서 구현될 수 있기 때문에, 용도 또는 기능의 범위에 관해 어떤 제한을 암시하고자 하는 것이 아니다.
도 1과 관련하여, 컴퓨팅 환경(100)은 적어도 하나의 처리 장치(110) 및 메모리(120)를 포함한다. 도 1에서, 이 가장 기본적인 구성(130)은 점선 내에 포함된다. 처리 장치(110)는 컴퓨터 실행가능 명령어를 실행하고, 실제 또는 가상 프로세서일 수 있다. 다중 처리 시스템에서, 다중 처리 장치는 처리 능력을 증가시키기 위한 컴퓨터 실행가능 명령어를 실행한다. 처리 장치는 또한 중앙 처리 장치 및 보조 프로세서, 및/또는 전용 또는 특수 목적 처리 장치(예를 들어, 오디오 프로세서)를 포함할 수 있다. 메모리(120)는 휘발성 메모리(예를 들어, 레지스터, 캐시, RAM), 비휘발성 메모리(예를 들어, ROM, EEPROM, 플래시 메모리), 또는 이 두 개의 어떤 조합일 수 있다. 메모리(120)는 하나 이상의 설명된 실시예에 따른 하나 이상의 오디오 처리 기술 및/또는 시스템을 구현하는 소프트웨어(180)를 저장한다.
컴퓨팅 환경은 추가적인 특징을 가질 수 있다. 예를 들어, 컴퓨팅 환경(100)은 저장소(140), 하나 이상의 입력 장치(150), 하나 이상의 출력 장치(160) 및 하나 이상의 통신 연결(170)을 포함한다. 버스, 컨트롤러 또는 네트워크와 같은 상호접속 메커니즘(도시 생략)은 컴퓨팅 환경(100)의 구성요소들을 상호접속시킨다. 통상적으로, 운영 체제 소프트웨어(도시 생략)는 컴퓨팅 환경(100)에서 실행되는 소프트웨어를 위한 운영 환경을 제공하고, 컴퓨팅 환경(100)의 구성요소의 활동을 조정한다.
저장소(140)는 이동식 또는 비이동식일 수 있고, 자기 디스크, 자기 테이프 또는 카세트, CD, DVD, 또는 정보를 저장하기 위해 사용될 수 있고 컴퓨팅 환경(100) 내에서 액세스될 수 있는 임의의 다른 매체를 포함한다. 저장소(140)는 소프트웨어(180)를 위한 명령어를 저장한다.
입력 장치(들)(150)는 터치 입력 장치, 이를테면 키보드, 마우스, 펜, 터치스크린 또는 트랙볼, 음성 입력 장치, 스캐닝 장치, 또는 컴퓨팅 환경(100)에 입력을 제공하는 다른 장치일 수 있다. 오디오 또는 비디오의 경우에, 입력 장치(들)(150)는 마이크, 사운드 카드, 비디오 카드, TV 튜너 카드, 또는 아날로그 또는 디지털 형태의 오디오 또는 비디오 입력을 받아들이는 유사한 장치, 또는 오디오 또는 비디오 샘플을 컴퓨팅 환경 내로 읽어들이는 CD 또는 DVD일 수 있다. 출력 장치(들)(160)는 디스플레이, 프린터, 스피커, CD/DVD 라이터(writer), 네트워크 어댑터, 또는 컴퓨팅 환경(100)으로부터 출력을 제공하는 다른 장치일 수 있다.
통신 연결(들)(170)은 통신 매체를 통해 하나 이상의 다른 컴퓨팅 엔티티에 통신할 수 있게 한다. 통신 매체는 컴퓨터 실행가능 명령어, 오디오 또는 비디오 정보, 또는 디지털 신호의 기타 데이터와 같은 정보를 전달한다. 피변조 데이터 신호는 신호 내에 정보를 인코딩하는 방식으로 신호의 하나 이상의 특성이 설정되거나 변경된 신호이다. 예시적이고 비제한적으로, 통신 매체는 전기, 광, RF, 적외선, 음향 또는 기타 반송파로 구현된 유선 또는 무선 기술을 포함한다.
실시예는 일반적으로 컴퓨터 판독가능 매체와 관련하여 설명될 수 있다. 컴퓨터 판독가능 매체는 컴퓨팅 환경 내에서 액세스될 수 있는 임의의 사용 가능한 매체이다. 예시적이고 비제한적으로, 컴퓨팅 환경(100)에서, 컴퓨터 판독가능 매체는 메모리(120), 저장소(140) 및 위의 임의의 조합을 포함한다.
실시예는 일반적으로 컴퓨터 실행가능 명령어, 이를테면 실제 또는 가상의 대상 프로세서 상의 컴퓨팅 환경에서 실행되는 프로그램 모듈에 포함된 것들과 관련하여 설명될 수 있다. 일반적으로, 프로그램 모듈은 특정 작업을 수행하거나 특정 데이터 유형을 구현하는 루틴, 프로그램, 라이브러리, 개체, 클래스, 구성요소, 데이터 구조 등을 포함한다. 프로그램 모듈의 기능은 다양한 실시예에서 원하는 대로 프로그램 모듈 사이에서 결합되거나 분할될 수 있다. 프로그램 모듈을 위한 컴퓨터 실행가능 명령어는 로컬 또는 분산 컴퓨팅 환경에서 실행될 수 있다.
설명을 위해, 상세한 설명에서는 컴퓨팅 환경에서의 컴퓨터 작업을 설명하기 위해 "결정하다", "수신하다" 및 "수행하다"와 같은 용어를 사용한다. 이들 용어는 컴퓨터에 의해 수행된 작업에 대한 고급 추상 개념이고, 인간에 의해 수행된 동작과 혼동되어서는 안 된다. 이들 용어에 대응하는 실제 컴퓨터 작업은 구현에 따라 다르다.
II
.
예시적인 인코더 및 디코더
도 2는 하나 이상의 설명된 실시예가 구현될 수 있는 제1 오디오 인코더(200)를 도시한 것이다. 인코더(200)는 변환 기반의 지각 오디오 인코더(200)이다. 도 3은 대응하는 오디오 디코더(300)를 도시한 것이다.
도 4는 하나 이상의 설명된 실시예가 구현될 수 있는 제2 오디오 인코더(400)를 도시한 것이다. 인코더(400)는 또한 변환 기반의 지각 오디오 인코더이지만, 인코더(400)는 다중 채널 오디오를 처리하는 모듈과 같은 추가 모듈을 포함한다. 도 5는 대응하는 오디오 디코더(500)를 도시한 것이다.
도 2 내지 5에 도시된 시스템이 일반화된 것이긴 하지만, 각각은 현실 세계 시스템에서 찾아볼 수 있는 특성이 있다. 여하튼, 인코더 및 디코더 내의 모듈들 사이에 도시된 관계는 인코더 및 디코더 내의 정보의 흐름을 나타내고; 그외 다른 관계는 단순화를 위해 나타내지 않는다. 원하는 압축의 구현 및 유형에 의존하여, 인코더 또는 디코더의 모듈은 추가되고, 생략되며, 다수의 모듈로 분할되고, 그외 다른 모듈과 결합되거나, 및/또는 유사한 모듈로 교체될 수 있다. 대안적인 실시예에서, 상이한 모듈 및/또는 기타 구성을 갖는 인코더 또는 디코더는 오디오 데이터, 또는 하나 이상의 설명된 실시예에 따른 어떤 다른 유형의 데이터를 처리한다.
A.
제1 오디오 인코더
인코더(200)는 소정의 샘플링 깊이 및 속도에서 시계열의 입력 오디오 샘플(205)을 수신한다. 입력 오디오 샘플(205)은 다중 채널 오디오(예를 들어, 스테레오) 또는 모노 오디오를 위한 것이다. 인코더(200)는 오디오 샘플(205)을 압축하고, 인코더(200)의 다양한 모듈에 의해 생성된 정보를 멀티플렉싱하여, WMA 포맷과 같은 압축 포맷, ASF(Advanced Streaming Format)와 같은 컨테이너 포맷, 또는 그외 다른 압축 또는 컨테이너 포맷으로 비트 스트림(295)을 출력한다.
주파수 변환기(210)는 오디오 샘플(205)을 수신하여, 주파수(또는 스펙트럼) 영역의 데이터로 변환한다. 예를 들어, 주파수 변환기(210)는 프레임의 오디오 샘플(205)을 서브프레임 블록으로 분할하는데, 이들 서브프레임 블록은 가변 시간 해상도를 허용하도록 가변 크기를 갖는다. 블록은 나중의 양자화에 의해 그 밖에 도입될 수 있는 블록들 사이의 지각 불연속성을 감소시키기 위해 중첩될 수 있다. 주파수 변환기(210)는 시변 MLT, 변조된 DCT(MDCT), 소정의 다른 종류의 MLT 또는 DCT, 또는 소정의 다른 유형의 변조 또는 비변조, 중첩 또는 비중첩 주파수 변환을 블록에 적용하거나, 또는 부대역(sub-band) 또는 웨이브릿(wavelet) 코딩을 사용한다. 주파수 변환기(210)는 스펙트럼 계수 데이터의 블록을 출력하고, 블록 크기와 같은 사이드 정보를 멀티플렉서(MUX)(280)에 출력한다.
다중 채널 오디오 데이터의 경우에, 다중 채널 변환기(220)는 다수의 원래의 독립적으로 코딩된 채널을 함께 코딩된 채널로 변환할 수 있다. 또는, 다중 채널 변환기(220)는 좌우 채널을 독립적으로 코딩된 채널로서 통과시킬 수 있다. 다중 채널 변환기(220)는 사용된 채널 모드를 나타내는 사이드 정보를 생성하여 MUX(280)에 보낸다. 인코더(200)는 다중 채널 변환 후 오디오 데이터의 블록에 다중 채널 재행렬화(rematrixing)를 적용할 수 있다.
지각 모델러(230)는 제공된 비트 속도에 대한 재구성된 오디오 신호의 인식 품질을 개선하기 위해 인간 청각 시스템의 속성을 모델링한다. 지각 모델러(230)는 다양한 청각 모델 중의 임의의 것을 사용하고, 여기(excitation) 패턴 정보 또는 그외 다른 정보를 가중화기(weighter)(240)에 전달한다. 예를 들어, 청각 모델은 통상적으로 인간 청력의 범위 및 임계 대역(예를 들어, 바크(Bark) 대역)을 고려한다. 범위 및 임계 대역 외에, 오디오 신호들 사이의 상호작용이 극적으로 지각에 영향을 미칠 수 있다. 게다가, 청각 모델은 소리의 인간 지각의 신체적 또는 신경적 측면에 관한 다양한 기타 요인을 고려할 수 있다.
지각 모델러(230)는 잡음의 가청도를 감소시키도록 오디오 데이터 내의 잡음을 성형하기 위해 가중화기(240)가 사용하는 정보를 출력한다. 예를 들어, 다양한 기술 중의 임의의 기술을 사용하여, 가중화기(240)는 수신된 정보에 기초하여 (때때로 마스크라 불리는) 양자화 행렬에 대한 가중 계수를 생성한다. 양자화 행렬에 대한 가중 계수는 행렬 내의 다수의 양자화 대역의 각각에 대한 가중치를 포함하는데, 양자화 대역은 주파수 계수의 주파수 범위이다. 그러므로, 가중 계수는 잡음/양자화 오류가 양자화 대역을 가로질러 퍼지는 비율을 나타냄으로써, 덜 들리는 대역에 잡음을 더 많이 삽입하고, 이와 반대로 하여, 잡음의 가청도를 최소화할 목적으로, 잡음/양자화 오류의 스펙트럼/시간 분포를 제어한다.
그 다음, 가중화기(240)는 다중 채널 변환기(220)로부터 수신된 데이터에 가중 계수를 적용한다.
양자화기(250)는 가중화기(240)의 출력을 양자화하고, 양자화된 계수 데이터를 생성하여 엔트로피 인코더(260)에 보내고, 양자화 스텝 크기를 포함하는 사이드 정보를 MUX(280)에 보낸다. 도 2에서, 양자화기(250)는 적응적인 균일한 스칼라 양자화기이다. 양자화기(250)는 동일한 양자화 스텝 크기를 각 스펙트럼 계수에 적용하지만, 양자화 스텝 크기 자체는 엔트로피 인코더(260) 출력의 비트 속도에 영향을 미치기 위해 하나의 반복하는 양자화 루프에서 다음 루프로 변경될 수 있다. 그외 다른 종류의 양자화는 불균일 벡터 양자화, 및/또는 비적응 양자화이다.
엔트로피 인코더(260)는 예를 들어, 실행 수준 코딩 및 벡터 가변 길이 코딩을 실행하여, 양자화기(250)로부터 수신된 양자화된 계수 데이터를 무손실로 압축한다. 엔트로피 인코더(260)는 오디오 정보의 인코딩에 소비된 비트의 수를 계산하여, 이 정보를 속도/품질 컨트롤러(270)에 전달할 수 있다.
컨트롤러(270)는 인코더(200) 출력의 비트 속도 및/또는 품질을 조정하기 위해 양자화기(250)와 함께 작업한다. 컨트롤러(270)는 비트 속도 및 물질 제약조건을 충족시킬 목적으로 양자화 스텝 크기를 양자화기(250)에 출력한다.
게다가, 인코더(200)는 잡음 대체 및/또는 대역 잘라내기를 오디오 데이터의 블록에 적용할 수 있다.
MUX(280)는 엔트로피 인코더(260)로부터 수신된 엔트로피 인코딩 데이터와 함께 오디오 인코더(200)의 그외 다른 모듈로부터 수신된 사이드 정보를 멀티플렉싱한다. MUX(280)는 인코더(200)에 의해 출력될 비트 스트림(295)을 저장하는 가상 버퍼를 포함할 수 있다.
B.
제1 오디오 디코더
디코더(300)는 사이드 정보뿐만 아니라 엔트로피 인코딩 데이터를 포함하는 압축된 오디오 정보의 비트 스트림(305)을 수신하는데, 디코더(300)는 사이드 정보로부터 오디오 샘플(395)을 재구성한다.
디멀티플렉서(DEMUX)(310)는 비트 스트림(305) 내의 정보를 구문 분석하여, 이 정보를 디코더(300)의 모듈에 보낸다. DEMUX(310)는 오디오 복잡도의 변동, 네트워크 지터 및/또는 기타 요인으로 인한 비트 속도의 단기간 변화를 보상하기 위해 하나 이상의 버퍼를 포함한다.
엔트로피 디코더(320)는 DEMUX(310)로부터 수신된 엔트로피 코드를 무손실로 압축 해제하여, 양자화된 스펙트럼 계수 데이터를 생성한다. 엔트로피 디코더(320)는 통상적으로 인코더에서 사용된 엔트로피 인코딩 기술과 반대로 적용한다.
역 양자화기(330)는 DEMUX(310)로부터 양자화 스텝 크기를 수신하고, 엔트로피 디코더(320)로부터 양자화된 스펙트럼 계수 데이터를 수신한다. 역 양자화기(330)는 주파수 계수 데이터를 부분적으로 재구성하거나 그 밖에 역 양자화를 실행하기 위해 양자화 스텝 크기를 양자화된 주파수 계수 데이터에 적용한다.
DEMUX(310)로부터, 잡음 생성기(340)는 잡음의 형태에 대한 임의의 파라미터뿐만 아니라 데이터 블록 내의 어느 대역이 잡음 대체 대역인지 나타내는 정보를 수신한다. 잡음 생성기(340)는 표시된 대역에 대한 패턴을 생성하고, 이 정보를 역 가중화기(350)에 전달한다.
역 가중화기(350)는 DEMUX(310)로부터 가중 계수를 수신하고, 잡음 생성기(340)로부터 임의의 잡음 대체 대역에 대한 패턴을 수신하며, 역 양자화기(330)로부터 부분적으로 재구성된 주파수 계수 데이터를 수신한다. 필요에 따라, 역 가중화기(350)는 가중 계수를 압축 해제한다. 역 가중화기(350)는 잡음이 대체되지 않은 대역에 대한 부분적으로 재구성된 주파수 계수 데이터에 가중 계수를 적용한다. 그 다음, 역 가중화기(350)는 잡음 생성기(340)로부터 수신된 잡음 대체 대역에 대한 잡음 패턴을 추가해 넣는다.
역 다중 채널 변환기(360)는 재구성된 스펙트럼 계수 데이터를 역 가중화기(350)로부터 수신하고, 채널 모드 정보를 DEMUX(310)로부터 수신한다. 다중 채널 오디오가 독립적으로 코딩된 채널 내에 있으면, 역 다중 채널 변환기(360)는 채널을 통과시킨다. 다중 채널 데이터가 함께 코딩된 채널 내에 있으면, 역 다중 채널 변환기(360)는 데이터를 독립적으로 코딩된 채널로 변환한다.
역 주파수 변환기(370)는 DEMUX(310)로부터의 블록 크기와 같은 사이드 정보뿐만 아니라 다중 채널 변환기(360)에 의해 출력된 스펙트럼 계수 데이터를 수신한다. 역 주파수 변환기(370)는 인코더에서 사용된 주파수의 변환과 반대로 적용하고, 재구성된 오디오 샘플(395)의 블록을 출력한다.
C.
제2 오디오 인코더
도 4와 관련하여, 인코더(400)는 소정의 샘플링 깊이 및 속도에서 시계열의 입력 오디오 샘플(405)을 수신한다. 입력 오디오 샘플(405)은 다중 채널 오디오(예를 들어, 스테레오, 서라운드) 또는 모노 오디오를 위한 것이다. 인코더(400)는 오디오 샘플(405)을 압축하고, 인코더(400)의 다양한 모듈에 의해 생성된 정보를 멀티플렉싱하여, WMA Pro 포맷과 같은 압축 포맷, ASF와 같은 컨테이너 포맷, 또는 그외 다른 압축 또는 컨테이너 포맷으로 비트 스트림(495)을 출력한다.
인코더(400)는 오디오 샘플(405)을 위한 다수의 인코딩 모드들 사이에서 선택한다. 도 4에서, 인코더(400)는 혼합/순수 무손실 코딩 모드와 손실 코딩 모드 사이에서 전환한다. 무손실 코딩 모드는 혼합/순수 무손실 코더(472)를 포함하고, 통상적으로 고품질(및 높은 비트 속도) 압축을 위해 사용된다. 손실 코딩 모드는 가중화기(442) 및 양자화기(460)와 같은 구성요소를 포함하고, 통상적으로 조정 가능한 품질(및 제어된 비트 속도) 압축을 위해 사용된다. 선택 결정은 사용자 입력 또는 그외 다른 기준에 따라 좌우된다.
다중 채널 오디오 데이터의 손실 코딩의 경우에, 다중 채널 전처리기(pre-processor)(410)는 시간 영역 오디오 샘플(405)을 선택적으로 다시 행렬화한다. 예를 들어, 다중 채널 전처리기(410)는 오디오 샘플(405)을 선택적으로 다시 행렬화하여, 하나 이상의 코딩된 채널을 선택하지 않거나, 인코더(400)에서 채널간 상관관계를 증가시키거나 하지만, 디코더(500)에서 (소정 형태로) 재구성을 할 수 있게 한다. 다중 채널 전처리기(410)는 다중 채널 전처리기를 위한 명령어와 같은 사이드 정보를 MUX(490)에 보낼 수 있다.
윈도 모듈(420)은 오디오 입력 샘플(405)의 프레임을 서브프레임 블록(윈도)으로 분할한다. 윈도는 시변 크기 및 윈도 형성 기능을 가질 수 있다. 인코더(400)가 손실 코딩을 사용할 때, 가변 크기 윈도는 가변 시간 해상도를 허용한다. 윈도 모듈(420)은 분할된 데이터의 블록을 출력하고, 블록 크기와 같은 사이드 정보를 MUX(490)에 출력한다.
도 4에서, 타일 구성기(tile configurer)(422)는 다중 채널 오디오의 프레임을 채널마다 분할한다. 타일 구성기(422)는 품질/비트 속도가 허용하는 경우에, 프레임 내의 각 채널을 독립적으로 분할한다. 이것은 예를 들어, 타일 구성기(422)가, 더 작은 윈도를 갖는 특정 채널에서 나타나는 과도현상을 분리시킬 수 있게 하지만, 그외 다른 채널에서 주파수 해상도 또는 압축 효율을 위해 더 큰 윈도를 사용할 수 있게 한다. 이것은 채널마다 과도현상을 분리시킴으로써 압축 효율을 개선할 수 있지만, 개별 채널에서의 분할을 지정하는 추가 정보가 많은 경우에 요구된다. 시간에 맞춰 같은 곳에 배치되는 동일한 크기의 윈도는 다중 채널 변환을 통해 추가 중복을 감소시킬 자격이 주어질 수 있다. 그러므로, 타일 구성기(422)는 시간에 맞춰 같은 곳에 배치되는 동일한 크기의 윈도를 타일로서 그룹화한다.
주파수 변환기(430)는 오디오 샘플을 수신하고, 도 2의 주파수 변환기(210)에 대해 위에서 설명된 것과 같은 변환을 적용하여, 오디오 샘플을 주파수 영역의 데이터로 변환한다. 주파수 변환기(430)는 스펙트럼 계수 데이터의 블록을 가중화기(442)에 출력하고, 블록 크기와 같은 사이드 정보를 MUX(490)에 출력한다. 주파수 변환기(430)는 주파수 계수와 사이드 정보 둘 다를 지각 모델러(440)에 출력한다.
지각 모델러(440)는 일반적으로 도 2의 지각 모델러(230)와 관련하여 위에서 설명된 바와 같이, 청각 모델에 따라 오디오 데이터를 처리하여, 인간 청각 시스템의 속성을 모델링한다.
가중화기(442)는 일반적으로 도 2의 가중화기(240)와 관련하여 위에서 설명된 바와 같이, 지각 모델러(440)로부터 수신된 정보에 기초하여 양자화 행렬을 위한 가중 계수를 생성한다. 가중화기(442)는 가중 계수를 주파수 변환기(430)로부터 수신된 데이터에 적용한다. 가중화기(442)는 양자화 행렬 및 채널 가중 계수와 같은 사이드 정보를 MUX(490)에 출력한다. 양자화 행렬은 압축될 수 있다.
다중 채널 오디오 데이터의 경우에, 다중 채널 변환기(450)는 채널간 상관 관계를 이용하기 위해 다중 채널 변환을 적용할 수 있다. 예를 들어, 다중 채널 변환기(450)는 타일 내의 채널 및/또는 양자화 대역의 전부가 아니라 일부에 다중 채널 변환을 선택적으로 유연성 있게 적용한다. 다중 채널 변환기(450)는 미리 정의된 행렬 또는 사용자 지정 행렬을 선택적으로 사용하고, 효율적인 압축을 사용자 지정 행렬에 적용한다. 다중 채널 변환기(450)는 예를 들어, 다중 채널 변환이 사용되었고 타일의 일부를 다중 채널 변환시켰다는 것을 나타내는 사이드 정보를 생성하여 MUX(490)에 보낸다.
양자화기(460)는 다중 채널 변환기(450)의 출력을 양자화하고, 양자화된 계수 데이터를 생성하여 엔트로피 인코더(470)에 보내고, 양자화 스텝 크기를 포함하는 사이드 정보를 생성하여 MUX(490)에 보낸다. 도 4에서, 양자화기(460)는 타일 당 양자화 계수를 계산하는 적응적인 균일한 스칼라 양자화기이지만, 양자화기(460)는 대신에 소정의 다른 종류의 양자화를 실행할 수 있다.
엔트로피 인코더(470)는 일반적으로 도 2의 엔트로피 인코더(260)와 관련하여 위에서 설명된 바와 같이, 양자화기(460)로부터 수신된 양자화된 계수 데이터를 무손실 압축한다.
컨트롤러(480)는 인코더(400) 출력의 비트 속도 및/또는 품질을 조정하기 위해 양자화기(460)와 함께 작업한다. 컨트롤러(480)는 품질 및/또는 비트 속도 제약조건을 충족시킬 목적으로 양자화 계수를 양자화기(460)에 출력한다.
혼합/순수 무손실 인코더(472) 및 관련된 엔트로피 인코더(474)는 혼합/순수 무손실 코딩 모드 동안 오디오 데이터를 압축한다. 인코더(400)는 전체 시퀀스에 대해 혼합/순수 무손실 코딩 모드를 사용하거나, 또는 프레임마다, 블록마다, 타일마다 또는 그외 다른 방식으로 코딩 모드들 사이에서 전환한다.
MUX(490)는 엔트로피 인코더(470, 474)로부터 수신된 엔트로피 인코딩 데이터와 함께 오디오 인코더(400)의 그외 다른 모듈로부터 수신된 사이드 정보를 멀티플렉싱한다. MUX(490)는 속도 제어 또는 그외 다른 목적을 위해 하나 이상의 버퍼를 포함한다.
D.
제2 오디오 디코더
도 5를 참조하면, 제2 오디오 디코더(500)는 압축된 오디오 정보의 비트 스트림(505)을 수신한다. 비트 스트림(505)은 사이드 정보뿐만 아니라 엔트로피 인코딩 데이터를 포함하는데, 이 정보로부터 디코더(500)는 오디오 샘플(595)을 재구성한다.
DEMUX(510)는 비트 스트림(505) 내의 정보를 구문 분석하여, 이 정보를 디코더(500)의 모듈에 보낸다. DEMUX(510)는 오디오 복잡도의 변동, 네트워크 지터 및/또는 기타 요인으로 인한 비트 속도의 단기간 변화를 보상하기 위해 하나 이상의 버퍼를 포함한다.
엔트로피 디코더(520)는 통상적으로 인코더(400)에서 사용된 엔트로피 인코딩 기술과 반대로 적용하여, DEMUX(510)로부터 수신된 엔트로피 코드를 무손실로 압축 해제한다. 디코딩 데이터가 손실 코딩 모드로 압축되었을 때, 엔트로피 디코더(520)는 양자화된 스펙트럼 계수 데이터를 생성한다.
혼합/순수 무손실 디코더(522) 및 관련된 엔트로피 디코더(들)(520)는 혼합/순수 무손실 코딩 모드 동안 무손실 인코딩된 오디오 데이터를 압축 해제한다.
타일 구성 디코더(530)는 DEMUX(590)로부터 프레임에 대한 타일의 패턴을 나타내는 정보를 수신하고, 필요한 경우에 이 정보를 디코딩한다. 타일 패턴 정보는 엔트로피 인코딩되거나, 그 밖에 다른 파라미터로 표시될 수 있다. 그 다음, 타일 구성 디코더(530)는 타일 패턴 정보를 디코더(500)의 다양한 다른 모듈에 보낸다.
역 다중 채널 변환기(540)는 타일 패턴 정보를 타일 구성 디코더(530)로부터 수신하고, 예를 들어, 다중 채널 변환이 사용되었고 타일의 일부를 변환시켰다는 것을 나타내는 사이드 정보를 DEMUX(510)로부터 수신할 뿐만 아니라, 양자화된 스펙트럼 계수 데이터를 엔트로피 디코더(520)로부터 수신한다. 이 정보를 사용하여, 역 다중 채널 변환기(540)는 필요에 따라 변환 행렬을 압축 해제하고, 하나 이상의 역 다중 채널 변환을 오디오 데이터에 선택적으로 유연성 있게 적용한다.
역 양자화기/가중화기(550)는 DEMUX(510)로부터 양자화 행렬뿐만 아니라 타일 및 채널 양자화 계수와 같은 정보를 수신하고, 역 다중 채널 변환기(540)로부터 양자화된 스펙트럼 계수 데이터를 수신한다. 역 양자화기/가중화기(550)는 수신된 가중 계수 정보를 필요에 따라 압축 해제한다. 그 다음, 양자화기/가중화기(550)는 역 양자화 및 가중화를 실행한다.
역 주파수 변환기(560)는 DEMUX(510)로부터 사이드 정보를 수신하고, 타일 구성 디코더(530)로부터 타일 패턴 정보를 수신할 뿐만 아니라, 역 양자화기/가중화기(550)에 의해 출력된 스펙트럼 계수 데이터를 수신한다. 역 주파수 변환기(570)는 인코더에서 사용된 주파수 변환과 반대로 적용하고, 중첩기/가산기(overlapper/adder)(570)에 블록을 출력한다.
타일 구성 디코더(530)로부터 타일 패턴 정보를 수신하는 것 이외에, 중첩기/가산기(570)는 디코딩된 정보를 역 주파수 변환기(560) 및/또는 혼합/순수 무손실 디코더(522)로부터 수신한다. 중첩기/가산기(570)는 오디오 데이터를 필요에 따라 중첩하고 가산하며, 서로 다른 모드로 인코딩된 오디오 데이터의 프레임 또는 그외 다른 시퀀스를 인터리빙한다.
다중 채널 후처리기(580)는 중첩기/가산기(570)에 의해 출력된 시간 영역 오디오 샘플을 선택적으로 다시 행렬화한다. 비트 스트림-제어 후처리를 위해, 후처리 변환 행렬은 시간에 따라 변하고, 신호로 보내지거나 비트 스트림(505)에 포함된다.
III
.
가변 서브프레임 크기에 관한 가역적 MLT(
Modulated
Lapped
Transform
)
위에서 설명된 바와 같이, 대표적인 인코더(예를 들어, 타일 구성기(422))는 이를테면 프리 에코 효과를 방지하기 위한 오디오 내의 과도현상을 위한 더 작은 서브프레임 크기와 코딩 효율을 위한 더 큰 서브프레임 크기의 사용 사이에서 균형을 맞추기 위해, 가변 서브프레임 크기를 사용하여 오디오 신호를 인코딩한다. 인코더는 서브프레임 크기를 적응 가능하게 선택하기 위해 다양한 기술을 이용할 수 있는데, 이를 테면 Chen 등 저의 "ADAPTIVE WINDOW-SIZE SELECTION IN TRANSFORM CODING"이라는 U.S. 특허 출원 공개 No. US-2003-0115052-A1에 설명된 것들을 이용할 수 있다.
도 6은 대표적인 인코더에 의해 생성된 예시적인 서브프레임 구성을 도시한 것으로, 오디오 샘플의 한 구역은 256, 512, 512, 1024 및 512 샘플 크기를 갖는 서브프레임(611-615)으로 분할된다. 도 6에 도시된 서브프레임 크기는 단지 예시적인 인코더 구현에서 사용 가능한 서브프레임 크기 선택사항을 나타낸 것일 뿐이고, 예시를 위해 선택된 것이다. 다양한 대안적인 인코더 구현에서, 인코더는 그외 다른 서브프레임 크기, 및/또는 서브프레임 크기의 더 많거나 적은 선택사항을 사용할 수 있다.
또한 위에서 설명된 바와 같이, 대표적인 인코더는 (예를 들어, 주파수 변환기(430)에 의해) 오디오 샘플에 주파수 변환을 적용한다. 대표적인 인코더에서 사용된 주파수 변환은 MDCT(Modified Discrete Cosine Transform)와 같은 일종의 MLT(Modulated Lapped Transform)이다. 이 MLT는 각 서브프레임에 대해 이전 및 이후 서브프레임 내의 샘플과 중첩된다. 달리 말하면, 변환은 현재의 서브프레임 내의 샘플 이외에, 이전 및 이후 서브프레임 내의 샘플의 중첩 부분으로부터 입력을 얻는다. 이 예에서, 더 작은 서브프레임 크기(즉, 인접한 것과 현재의 서브프레임 크기 중의 더 작은 쪽)의 절반 크기와 같은 중첩이 사용된다. 예를 들어, (512 샘플 크기를 갖는) 서브프레임(612)의 중첩은 (256 샘플의 더 작은 크기를 갖는) 이전의 서브프레임(611)의 128 샘플이다. 다른 한편, 서브 프레임(615)(512 샘플 크기)은 이전의 서브프레임(614)(1024 샘플 크기)보다 작으므로, 이전의 서브프레임(614)의 256 샘플의 중첩을 사용한다. 대안적인 구현에서, 인코더는 이전 및 이후의 서브프레임과 상이한 중첩량(예를 들어, 더 작은 서브프레임 크기의 4분의 1 등등)으로 MLT를 사용할 수 있다. 이 예에서 알 수 있는 바와 같이, 3개의 서브프레임 크기의 선택은 더 큰 수의 이전, 현재 및 이후의 서브프레임 크기 조합이 생기게 함으로써, 서브프레임에 대한 겹침 변환 크기의 더 큰 순열을 생성한다.
인코더에 의한 무손실 압축의 경우에, MLT는 바람직하게 가역 정수-정수 변환 구현을 갖는다. 다음 설명은 서브프레임 크기의 다양한 조합을 위해 이러한 가역 정수-정수 변환 구현이 얻어지는 방식에 관해 다룬다. 각 서브프레임 크기 조합에 대한 MLT는 서브프레임에 적용된 블록 변환(811-815)(도 8에 도시됨)과 함께, 서브프레임들에 걸쳐 있는 중첩 윈도우 변환(711-714)(도 7에 도시됨)의 조합으로 분해함으로써 생성된다.
IV
.
MLT
(
Modulated
Lapped
Transform
)의 분해
다음 섹션은 MLT와 같은 특정 겹침 직교 변환을 이해하고 구현하기 위한 단순한 방법을 제공한다. MLT(MCLT의 실수부)는 오디오 코덱에서 일반적으로 사용되는 다음의 직교 변환(음의 부호는 임의로 붙인 것이지만, 이것이 (배율 외에는) 변환의 정의에 일치하기 때문에 추가됨)으로서 쓰여질 수 있다:
상기 식에서, 입력 오디오 샘플은 항에 의해 표시된다. sin 항은 윈도 함수인 반면에, cos 항은 변환의 기저 함수이다. 변수 k는 스펙트럼 지수이고, M은 서브프레임 크기이며, l은 서브프레임의 지수이다.
cos(-θ+π) = -cosθ이기 때문에, 이것은 다음과 같이 된다:
이와 유사하게, cos(-θ+2π) = cosθ이기 때문에, 우리는 또한 다음과 같이 된다는 것을 알고 있다:
MLT 식에서 이러한 위의 두 관계를 적용하면, 우리는 다음과 같은 식을 얻는다:
z[n] 항이 다음과 같이 정의된다고 가정하자:
그러면, MLT 식을 다음과 같이 쓸 수 있는데:
이것은 대칭이동된 z[n+ Ml ]의 IV형 DCT이다.
이러한 다시 쓰여진 식이 보여주는 바와 같이, MLT는 두 개의 블록 기반의 변환으로 생각될 수 있다. 제1 블록 변환은 x에서 z까지의 중첩하는 1단 버터플라이고, 제2 블록 변환은 단순히 대칭이동된 z항의 블록 기반 DCT-IV이다.
MLT에 대한 2개의 인접한 블록들 사이의 중첩 영역은 블록 l의 제1 절반과 블록(l-1)의 제2 절반으로 이루어진다. sin(-θ+π/2) = cosθ이기 때문에, 우리는 이 중첩 영역에 대한 z[n+ Ml ] 항을 다음과 같이 쓸 수 있다:
n'=M-1-n을 대입한 후에, sin(θ+π/2) = cosθ이고 sin(-θ+π) = sinθ이기 때문에, 우리는 다음 식을 얻는다:
이것은 다음과 같은 단순 2x2 변환 블록과 동일한데:
여기에서, n=0,...,M/2-1 및 이고, sin(-θ+π/2) = cosθ이고 cos(-θ+π/2) = sinθ라는 사실을 사용한다. 이 2x2 변환은 오디오 코덱의 중첩된 윈도 블록 변환(711-714)(도 7)으로서 사용될 수 있다. 변환은 각각의 중첩 영역을 1단 버터플라이로서 처리함으로써 가변 서브프레임 크기에 적용될 수 있다. 이 변환에서의 2x2 회전이 가역적으로 될 수 있기 때문에, 이 중첩 윈도우 변환은 용이하게 가역 변환으로 구현된다.
서브프레임 크기가 (도 6에 도시된 예에서와 같이) 변할 때, MLT의 윈도 모양만이 변한다. 그러나, 윈도는 여전히 원래 윈도의 모든 대칭 속성에 따른다. 그러므로, 가변 크기 서브프레임에 적응할 때의 유일한 변경은 중첩하는 윈도 크기 M이다.
더욱이, 이 방법은 도 6-8에 도시된 바와 같이, 임의의 직교 변환을 데이터 내의 제공된 블록에 단순히 적용한 다음에, 블록화 그리드를 이동시키고, 다른 직교 변환을 적용함으로써, 중첩된 직교 변환의 생성에 더욱 일반적으로 적용 가능하다.
III
.
일반 중첩 변환의 분해
특정 조건 하에서, 인접한 블록들 사이의 50% 이하 중첩을 갖는 임의의 변환은 2개의 블록 변환으로 분해될 수 있다. 정확한 필요 조건은 다음 유도에서 설명될 것이다. 50% 이하의 중첩을 갖는 블록에서 행해지는 겹침 변환을 고려해보자. 이러한 선형 변환은 행렬 내의 각 블록이 N/2 x N/2 행렬인 행렬로서 쓰여질 수 있는데, N은 (가변 블록 크기가 허용되는 경우에) 변환 내의 최소 블록 크기이다. 예를 들어, 겹침 변환이 512, 1024 및 2048 크기 블록을 사용할 수 있게 허용된다고 가정하자. 그러면, 블록 크기가 512, 1024, 512 및 512인 경우에, 겹침 변환에 대한 변환 행렬은 다음과 같이 쓰여질 수 있다:
여기에서, 각각의 부 행렬(sub-matrix)은 256x256 행렬이다.
이 연산을 2단계로 나누는 것을 고려하면, 제1 단계는 중첩 연산자(C), 및 실제 블록 크기에서 블록 변환을 적용하는 다른 연산자(B)를 적용하는 것이다. 그러면, 우리는 이들 2개의 행렬을 다음과 같이 쓸 수 있다:
및
목적은 A=BC가 되게 하는 B와 C를 찾는 것이다. A의 n번째 행이 B의 n번째 행에만 의존하기 때문에, 개별적으로 변환의 단일 블록을 고찰하는 것으로 충분하다. 예를 들어, 변환의 제3 블록은 다음과 같이 쓰여질 수 있다:
변환의 제3 블록의 제1 절반에 대한 해를 찾는 것은 다음 등식의 해를 찾는 것으로 단순화된다:
이것은 단지, 행렬이 다음과 같은 속성
을 갖는 경우에, 또는 제공된 j에 대한 모든 i에 대해 Aij=0인 경우에 해를 구할 수 있다. 이것에 대한 다수의 해가 있다. B66을 어떤 임의의 전체 계수 N/2 x N/2 행렬이라고 하자. 그러면, 우리는 다음을 얻는다:
이 변환 블록 및 행렬 A 내의 그외 다른 변환 블록의 제2 절반은 이와 유사한 방식으로 풀이될 수 있다.
이것은 특정 조건(즉, 속성 A65A75 -1 = A66A76 -1) 하에서, 겹침 변환이 2개의 블록 변환의 곱으로 쓰여질 수 있는데, 그 하나는 중첩을 처리하고, 다른 하나는 단순 블록 변환이라는 것을 보여준다.
따라서, 가변 크기 서브프레임을 갖는 오디오 신호의 서브프레임에 대한 겹침 변환의 가역적 정수-정수 구현은 크기 N의 서브프레임에 대해 직사각형 선형 변환 행렬 A 로서 겹침 변환의 표현을 형성함으로써 구해진다. 이 직사각형 선형 변환 행렬은 N/2 x N/2 행렬블록 요소로 구성되는데, i,j는 행렬 블록의 지수이다. 더욱이, 행렬은 주어진 n에 대한 모든 m에 대해 또는 Amn=0이라는 속성을 갖는다. 직사각형 선형 변환 행렬 A는 형태의 중첩 윈도우 변환 행렬 C와 형태의 블록 변환 행렬 B로 분해되는데, 그 구성요소는 다음과 같은 관계식을 풀어서 얻어진다:
본 발명의 원리가 적용될 수 있는 다수의 가능한 실시예를 고려하여, 우리는 다음 청구범위 및 그 등가물의 범위 및 정신에 속할 수 있는 모든 이러한 실시예를 우리의 발명으로서 청구한다.
Claims (11)
- 오디오 신호를 인코딩하는 방법으로서,
시간 영역 오디오 샘플들의 시퀀스를 포함하는 오디오 신호(405)의 입력을 수신하는 단계;
상기 오디오 신호를 적어도 2개의 상이한 서브 프레임 크기를 갖는 서브 프레임들(611-615)로 분할하는 단계;
상기 상이한 크기 서브프레임들의 가역적 정수 입력-정수 출력으로 겹침 변환(lapped transform)(430)을 수행하는 단계 - 상기 겹침 변환들은 각각의 서브 프레임 크기들인 상기 서브 프레임들에 적용된 가역적 블록 변환들과, 각각의 인접한 서브 프레임들과 중첩되는 가역적 블록 회전 변환들의 조합으로서 실현되고, 각각의 가역적 블록 회전 변환은 상기 중첩된 인접한 서브 프레임들의 더 작은 쪽의 절반까지 겹치며, 서브 프레임의 가역적 블록 변환 및 인접한 서브 프레임들과 중첩되는 가역적 블록 회전 변환들은 상기 겹침 변환을 분해(factorization)한 것임 - ; 및
결과적으로 얻은 변환 계수들을 압축된 비트 스트림(495)으로서 인코딩하는 단계
를 포함하는 인코딩 방법. - 제1항에 있어서,
상기 겹침 변환은 MLT(modulated lapped transform)인 인코딩 방법. - 제2항에 있어서,
상기 겹침 변환은 MDCT(modified discrete cosine transform)인 인코딩 방법. - 제3항에 있어서,
상기 블록 변환은 블록 기반 DCT-IV형 변환이고, 상기 가역적 블록 회전 변환은 1단 버터플라이형(single stage butterfly type) 변환인 인코딩 방법. - 제1항에 있어서,
서브프레임에 대한 상기 겹침 변환은 이전의 인접한 서브프레임과 이후의 인접한 서브프레임이 상이한 크기인 경우에 상기 이전 및 이후의 인접한 서브프레임들과 중첩되는 상이한 크기의 가역적 블록 회전 변환들로 분해되는 인코딩 방법. - 오디오 신호를 디코딩하는 방법으로서,
상이한 크기의 서브 프레임들(611-615)로 분할된 오디오 신호(505)의 변환 계수들을 디코딩하는 단계;
상기 상이한 크기 서브프레임들의 가역적 정수 입력-정수 출력으로 겹침 변환(560)을 실행하는 단계 - 상기 겹침 변환들은 각각의 서브 프레임 크기들인 상기 서브 프레임들에 적용된 가역적 블록 변환들과, 각각의 인접한 서브 프레임들과 중첩되는 가역적 블록 회전 변환들의 조합으로서 실현되고, 각각의 가역적 블록 회전 변환은 상기 중첩된 인접한 서브프레임들의 더 작은 쪽의 절반까지 겹치며, 서브프레임의 가역적 블록 변환 및 인접한 서브 프레임들과 중첩되는 가역적 블록 회전 변환들은 상기 겹침 변환을 분해한 것임 - ;
역 변환된 변환 계수들로부터 시간 영역 오디오 신호에 대한 오디오 샘플들을 생성하는 단계; 및
상기 오디오 신호(595)를 출력하는 단계
를 포함하는 디코딩 방법. - 제6항에 있어서,
상기 겹침 변환은 MLT(modulated lapped transform)인 디코딩 방법. - 제7항에 있어서,
상기 겹침 변환은 MDCT(modified discrete cosine transform)인 디코딩 방법. - 제8항에 있어서,
상기 블록 변환은 블록 기반 DCT-IV형 변환이고, 상기 가역적 블록 회전 변환은 1단 버터플라이형(single stage butterfly type) 변환인 디코딩 방법. - 제9항에 있어서,
서브프레임에 대한 상기 겹침 변환은 이전의 인접한 서브프레임과 이후의 인접한 서브프레임이 상이한 크기인 경우에 상기 이전 및 이후의 인접한 서브프레임들과 중첩되는 상이한 크기의 가역적 블록 회전 변환들로 분해되는 디코딩 방법. - 다수의 상이한 크기의 서브프레임들로 분할된 입력 오디오 신호를 처리하기 위한 겹침 변환의 가역적 정수 입력-정수 출력 구현들을 도출하는 방법으로서,
겹침 변환(430)을, 인접한 서브프레임들(611-615)과 중첩되는 중첩 영역에 대한 중첩 윈도우 변환들(711-174)과 상기 서브프레임들에 대한 블록 변환들(811-815)의 조합들로 분해하는 단계 - 상기 분해 단계는
주어진 서브프레임에 대한 상기 겹침 변환의 표현을
형태를 갖는 직사각형 선형 변환
행렬 A로서 형성하는 단계(여기에서, 상기 행렬 내의 각 서브블록은
서브프레임의 크기가 N인 경우에 N/2 x N/2 행렬이고, i,j는 상기 행렬
서브블록들의 지수들이며, 또한 상기 행렬은
라는 속성을 가짐); 및
상기 직사각형 선형 변환 행렬 A를 형태의
중첩 윈도우 변환 행렬 C와 형태의 블록 변환 행렬 B로
분해하는 단계(여기에서, 상기 분해 단계는 다음과 같은 관계식
을 푸는 단계를 포함함)
를 포함함-;
상기 서브 프레임을 갖는 오디오 신호(405)의 입력을 수신하는 단계;
상기 중첩 윈도우 변환 행렬 C를 상기 서브 프레임 및 그 바로 전의 인접한 서브 프레임에 적용하는 단계; 및
상기 블록 변환 행렬 B를 상기 서브 프레임에 적용하는 단계
를 포함하는 방법.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/130,862 | 2008-05-30 | ||
US12/130,862 US8447591B2 (en) | 2008-05-30 | 2008-05-30 | Factorization of overlapping tranforms into two block transforms |
PCT/US2009/044983 WO2009148858A2 (en) | 2008-05-30 | 2009-05-22 | Factorization of overlapping transforms into two block transforms |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110021803A true KR20110021803A (ko) | 2011-03-04 |
KR101679083B1 KR101679083B1 (ko) | 2016-11-23 |
Family
ID=41380875
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020107026245A KR101679083B1 (ko) | 2008-05-30 | 2009-05-22 | 2개의 블록 변환으로의 중첩 변환의 분해 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8447591B2 (ko) |
EP (1) | EP2279562B1 (ko) |
JP (1) | JP5400143B2 (ko) |
KR (1) | KR101679083B1 (ko) |
CN (1) | CN102047564B (ko) |
WO (1) | WO2009148858A2 (ko) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8036274B2 (en) * | 2005-08-12 | 2011-10-11 | Microsoft Corporation | SIMD lapped transform-based digital media encoding/decoding |
US8369638B2 (en) * | 2008-05-27 | 2013-02-05 | Microsoft Corporation | Reducing DC leakage in HD photo transform |
BRPI0910796B1 (pt) | 2008-07-11 | 2021-07-13 | Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E. V. | Codificador de áudio e decodificador de áudio |
US8275209B2 (en) * | 2008-10-10 | 2012-09-25 | Microsoft Corporation | Reduced DC gain mismatch and DC leakage in overlap transform processing |
WO2010075377A1 (en) * | 2008-12-24 | 2010-07-01 | Dolby Laboratories Licensing Corporation | Audio signal loudness determination and modification in the frequency domain |
US8386266B2 (en) * | 2010-07-01 | 2013-02-26 | Polycom, Inc. | Full-band scalable audio codec |
CN102611883B (zh) * | 2011-01-19 | 2014-07-30 | 华为技术有限公司 | 编码方法、解码方法及装置 |
US20140046670A1 (en) * | 2012-06-04 | 2014-02-13 | Samsung Electronics Co., Ltd. | Audio encoding method and apparatus, audio decoding method and apparatus, and multimedia device employing the same |
SG11201506542QA (en) | 2013-02-20 | 2015-09-29 | Fraunhofer Ges Forschung | Apparatus and method for encoding or decoding an audio signal using a transient-location dependent overlap |
BR112016007518A2 (pt) | 2013-10-17 | 2017-08-01 | Dow Agrosciences Llc | processos para a preparação de compostos pesticidas |
CN107895580B (zh) * | 2016-09-30 | 2021-06-01 | 华为技术有限公司 | 一种音频信号的重建方法和装置 |
KR102615903B1 (ko) | 2017-04-28 | 2023-12-19 | 디티에스, 인코포레이티드 | 오디오 코더 윈도우 및 변환 구현들 |
CN110233626B (zh) * | 2019-07-05 | 2022-10-25 | 重庆邮电大学 | 基于二维自适应量化的机械振动信号边缘数据无损压缩方法 |
Family Cites Families (94)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4754492A (en) * | 1985-06-03 | 1988-06-28 | Picturetel Corporation | Method and system for adapting a digitized signal processing system for block processing with minimal blocking artifacts |
US4698672A (en) * | 1986-10-27 | 1987-10-06 | Compression Labs, Inc. | Coding system for reducing redundancy |
US5297236A (en) * | 1989-01-27 | 1994-03-22 | Dolby Laboratories Licensing Corporation | Low computational-complexity digital filter bank for encoder, decoder, and encoder/decoder |
JP2549479B2 (ja) * | 1991-12-06 | 1996-10-30 | 日本電信電話株式会社 | 動き補償フレーム間帯域分割符号化処理方法 |
KR0148130B1 (ko) * | 1992-05-18 | 1998-09-15 | 강진구 | 블럭킹아티팩트를 억제시키는 부호화/복호화 방법 및 그 장치 |
JP3401823B2 (ja) | 1993-03-31 | 2003-04-28 | ソニー株式会社 | 画像コーデック用プロセッサ |
US5982459A (en) * | 1995-05-31 | 1999-11-09 | 8×8, Inc. | Integrated multimedia communications processor and codec |
FR2737931B1 (fr) * | 1995-08-17 | 1998-10-02 | Siemens Ag | Procede destine au traitement de blocs d'images decodes d'un procede de codage d'images a base de blocs |
US5825929A (en) * | 1995-10-05 | 1998-10-20 | Microsoft Corporation | Transformation block optimization method |
US6064776A (en) * | 1995-10-27 | 2000-05-16 | Kabushiki Kaisha Toshiba | Image processing apparatus |
US5850294A (en) * | 1995-12-18 | 1998-12-15 | Lucent Technologies Inc. | Method and apparatus for post-processing images |
KR100196838B1 (ko) * | 1995-12-23 | 1999-06-15 | 전주범 | 블럭벌 상관 관계에 의한 부호화 장치 |
US5805739A (en) * | 1996-04-02 | 1998-09-08 | Picturetel Corporation | Lapped orthogonal vector quantization |
JPH1070717A (ja) * | 1996-06-19 | 1998-03-10 | Matsushita Electric Ind Co Ltd | 画像符号化装置及び画像復号化装置 |
JP2907146B2 (ja) * | 1996-09-11 | 1999-06-21 | 日本電気株式会社 | メモリlsiの特定箇所探索方法および探索装置 |
US6233017B1 (en) * | 1996-09-16 | 2001-05-15 | Microsoft Corporation | Multimedia compression system with adaptive block sizes |
US5999656A (en) * | 1997-01-17 | 1999-12-07 | Ricoh Co., Ltd. | Overlapped reversible transforms for unified lossless/lossy compression |
KR100261253B1 (ko) | 1997-04-02 | 2000-07-01 | 윤종용 | 비트율 조절이 가능한 오디오 부호화/복호화 방법및 장치 |
US5973755A (en) * | 1997-04-04 | 1999-10-26 | Microsoft Corporation | Video encoder and decoder using bilinear motion compensation and lapped orthogonal transforms |
AU8055798A (en) * | 1997-06-05 | 1998-12-21 | Wisconsin Alumni Research Foundation | Image compression system using block transforms and tree-type coefficient truncation |
JP3375539B2 (ja) | 1997-07-14 | 2003-02-10 | ペンタックス株式会社 | 画像圧縮装置および画像伸張装置 |
US5859788A (en) * | 1997-08-15 | 1999-01-12 | The Aerospace Corporation | Modulated lapped transform method |
TW364269B (en) | 1998-01-02 | 1999-07-11 | Winbond Electronic Corp | Discreet cosine transform/inverse discreet cosine transform circuit |
US6393156B1 (en) * | 1998-01-07 | 2002-05-21 | Truong Q. Nguyen | Enhanced transform compatibility for standardized data compression |
US6393061B1 (en) * | 1998-05-15 | 2002-05-21 | Hughes Electronics Corporation | Method for reducing blocking artifacts in digital images |
US6029126A (en) * | 1998-06-30 | 2000-02-22 | Microsoft Corporation | Scalable audio coder and decoder |
US6115689A (en) * | 1998-05-27 | 2000-09-05 | Microsoft Corporation | Scalable audio coder and decoder |
US6154762A (en) * | 1998-06-03 | 2000-11-28 | Microsoft Corporation | Fast system and method for computing modulated lapped transforms |
US6073153A (en) * | 1998-06-03 | 2000-06-06 | Microsoft Corporation | Fast system and method for computing modulated lapped transforms |
US6253165B1 (en) * | 1998-06-30 | 2001-06-26 | Microsoft Corporation | System and method for modeling probability distribution functions of transform coefficients of encoded signal |
US6011625A (en) * | 1998-07-08 | 2000-01-04 | Lockheed Martin Corporation | Method for phase unwrapping in imaging systems |
US6421464B1 (en) * | 1998-12-16 | 2002-07-16 | Fastvdo Llc | Fast lapped image transforms using lifting steps |
US6496795B1 (en) * | 1999-05-05 | 2002-12-17 | Microsoft Corporation | Modulated complex lapped transform for integrated signal enhancement and coding |
US6487574B1 (en) * | 1999-02-26 | 2002-11-26 | Microsoft Corp. | System and method for producing modulated complex lapped transforms |
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 |
US6771829B1 (en) * | 1999-10-23 | 2004-08-03 | Fastvdo Llc | Method for local zerotree image coding |
US6377916B1 (en) * | 1999-11-29 | 2002-04-23 | Digital Voice Systems, Inc. | Multiband harmonic transform coder |
US6865229B1 (en) * | 1999-12-14 | 2005-03-08 | Koninklijke Philips Electronics N.V. | Method and apparatus for reducing the “blocky picture” effect in MPEG decoded images |
US6771828B1 (en) * | 2000-03-03 | 2004-08-03 | Microsoft Corporation | System and method for progessively transform coding digital data |
US7177358B2 (en) * | 2000-06-27 | 2007-02-13 | Mitsubishi Denki Kabushiki Kaisha | Picture coding apparatus, and picture coding method |
US6832232B1 (en) * | 2000-07-10 | 2004-12-14 | Advanced Micro Devices, Inc. | Dual-block inverse discrete cosine transform method |
WO2002007438A1 (en) | 2000-07-17 | 2002-01-24 | Trustees Of Boston University | Generalized lapped biorthogonal transform embedded inverse discrete cosine transform and low bit rate video sequence coding artifact removal |
JP2004509531A (ja) * | 2000-09-12 | 2004-03-25 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | ビデオ符号化方法 |
EP1202219A1 (en) | 2000-10-30 | 2002-05-02 | Fast Video, LLC | Fast lapped image transforms |
JP2002182693A (ja) | 2000-12-13 | 2002-06-26 | Nec Corp | オーディオ符号化、復号装置及びその方法並びにその制御プログラム記録媒体 |
TW589870B (en) * | 2000-12-19 | 2004-06-01 | Pts Corp | Adaptive transforms |
JP2002304624A (ja) | 2001-04-05 | 2002-10-18 | Canon Inc | フィルタ処理装置及び撮像装置 |
US7027654B1 (en) * | 2001-08-16 | 2006-04-11 | On2 Technologies | Video compression system |
US6882685B2 (en) * | 2001-09-18 | 2005-04-19 | Microsoft Corporation | Block transform and quantization for image and video coding |
JP2003141562A (ja) | 2001-10-29 | 2003-05-16 | Sony Corp | 非平面画像の画像処理装置及び画像処理方法、記憶媒体、並びにコンピュータ・プログラム |
US7460993B2 (en) * | 2001-12-14 | 2008-12-02 | Microsoft Corporation | Adaptive window-size selection in transform coding |
EP2262269B1 (en) | 2001-12-17 | 2018-01-24 | Microsoft Technology Licensing, LLC | Skip macroblock coding |
CN101448162B (zh) * | 2001-12-17 | 2013-01-02 | 微软公司 | 处理视频图像的方法 |
US6763068B2 (en) * | 2001-12-28 | 2004-07-13 | Nokia Corporation | Method and apparatus for selecting macroblock quantization parameters in a video encoder |
JP2003283840A (ja) | 2002-03-25 | 2003-10-03 | Canon Inc | フィルタ処理装置およびフィルタ処理方法 |
US7155065B1 (en) * | 2002-03-27 | 2006-12-26 | Microsoft Corporation | System and method for progressively transforming and coding digital data |
US7006699B2 (en) * | 2002-03-27 | 2006-02-28 | Microsoft Corporation | System and method for progressively transforming and coding digital data |
US7110941B2 (en) * | 2002-03-28 | 2006-09-19 | Microsoft Corporation | System and method for embedded audio coding with implicit auditory masking |
JP3855827B2 (ja) | 2002-04-05 | 2006-12-13 | ソニー株式会社 | 2次元サブバンド符号化装置 |
US7275036B2 (en) * | 2002-04-18 | 2007-09-25 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Apparatus and method for coding a time-discrete audio signal to obtain coded audio data and for decoding coded audio data |
US7120297B2 (en) * | 2002-04-25 | 2006-10-10 | Microsoft Corporation | Segmented layered image system |
US7242713B2 (en) * | 2002-05-02 | 2007-07-10 | Microsoft Corporation | 2-D transforms for image and video coding |
GB2388502A (en) * | 2002-05-10 | 2003-11-12 | Chris Dunn | Compression of frequency domain audio signals |
US7376280B2 (en) * | 2002-07-14 | 2008-05-20 | Apple Inc | Video encoding and decoding |
US6728315B2 (en) * | 2002-07-24 | 2004-04-27 | Apple Computer, Inc. | Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding with reduced requirements for division operations |
US7502743B2 (en) * | 2002-09-04 | 2009-03-10 | Microsoft Corporation | Multi-channel audio encoding and decoding with multi-channel transform selection |
US7031392B2 (en) * | 2002-09-20 | 2006-04-18 | Seiko Epson Corporation | Method and apparatus for video deblocking |
US7227901B2 (en) * | 2002-11-21 | 2007-06-05 | Ub Video Inc. | Low-complexity deblocking filter |
JP2004201047A (ja) | 2002-12-19 | 2004-07-15 | Ricoh Co Ltd | 画像処理装置、プログラム及び記憶媒体 |
US7542036B2 (en) * | 2003-02-19 | 2009-06-02 | California Institute Of Technology | Level set surface editing operators |
US7239990B2 (en) * | 2003-02-20 | 2007-07-03 | Robert Struijs | Method for the numerical simulation of a physical phenomenon with a preferential direction |
US7167522B2 (en) * | 2003-02-27 | 2007-01-23 | Texas Instruments Incorporated | Video deblocking filter |
US7471726B2 (en) * | 2003-07-15 | 2008-12-30 | Microsoft Corporation | Spatial-domain lapped transform in digital media compression |
US20080075377A1 (en) * | 2003-07-29 | 2008-03-27 | Topiwala Pankaj N | Fast lapped image transforms using lifting steps |
US7724827B2 (en) * | 2003-09-07 | 2010-05-25 | Microsoft Corporation | Multi-layer run level encoding and decoding |
DE10345996A1 (de) | 2003-10-02 | 2005-04-28 | Fraunhofer Ges Forschung | Vorrichtung und Verfahren zum Verarbeiten von wenigstens zwei Eingangswerten |
US7315822B2 (en) * | 2003-10-20 | 2008-01-01 | Microsoft Corp. | System and method for a media codec employing a reversible transform obtained via matrix lifting |
US7460990B2 (en) * | 2004-01-23 | 2008-12-02 | Microsoft Corporation | Efficient coding of digital media spectral data using wide-sense perceptual similarity |
KR101044940B1 (ko) * | 2004-06-23 | 2011-06-28 | 삼성전자주식회사 | 에지 플로우 방향성 필터와 커블릿 변환을 이용한 블록현상 제거 방법 및 장치 |
US8374238B2 (en) | 2004-07-13 | 2013-02-12 | Microsoft Corporation | Spatial scalability in 3D sub-band decoding of SDMCTF-encoded video |
KR20070074546A (ko) * | 2004-08-31 | 2007-07-12 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 트랜스코딩을 위한 방법 및 디바이스 |
US7471850B2 (en) * | 2004-12-17 | 2008-12-30 | Microsoft Corporation | Reversible transform for lossy and lossless 2-D data compression |
US7305139B2 (en) * | 2004-12-17 | 2007-12-04 | Microsoft Corporation | Reversible 2-dimensional pre-/post-filtering for lapped biorthogonal transform |
US7428342B2 (en) | 2004-12-17 | 2008-09-23 | Microsoft Corporation | Reversible overlap operator for efficient lossless data compression |
AU2005239628B2 (en) | 2005-01-14 | 2010-08-05 | Microsoft Technology Licensing, Llc | Reversible 2-dimensional pre-/post-filtering for lapped biorthogonal transform |
US7613761B2 (en) * | 2005-06-27 | 2009-11-03 | The Aerospace Corporation | Haar wavelet transform embedded lossless type II discrete cosine transform |
US7634525B2 (en) * | 2005-06-27 | 2009-12-15 | The Aerospace Corporation | Haar wavelet transform embedded lossless type IV discrete cosine transform |
US7640283B2 (en) * | 2005-06-27 | 2009-12-29 | The Aerospace Corporation | Shared Haar wavelet transform |
US7805476B2 (en) * | 2005-06-27 | 2010-09-28 | The Aerospace Corporation | Extended Haar transform |
US7933337B2 (en) * | 2005-08-12 | 2011-04-26 | Microsoft Corporation | Prediction of transform coefficients for image compression |
US8036274B2 (en) | 2005-08-12 | 2011-10-11 | Microsoft Corporation | SIMD lapped transform-based digital media encoding/decoding |
US20080137982A1 (en) * | 2006-12-06 | 2008-06-12 | Ayahiro Nakajima | Blurring determination device, blurring determination method and printing apparatus |
US8054886B2 (en) * | 2007-02-21 | 2011-11-08 | Microsoft Corporation | Signaling and use of chroma sample positioning information |
US8521540B2 (en) * | 2007-08-17 | 2013-08-27 | Qualcomm Incorporated | Encoding and/or decoding digital signals using a permutation value |
-
2008
- 2008-05-30 US US12/130,862 patent/US8447591B2/en active Active
-
2009
- 2009-05-22 EP EP09759019.4A patent/EP2279562B1/en active Active
- 2009-05-22 WO PCT/US2009/044983 patent/WO2009148858A2/en active Application Filing
- 2009-05-22 CN CN2009801209539A patent/CN102047564B/zh active Active
- 2009-05-22 JP JP2011511737A patent/JP5400143B2/ja active Active
- 2009-05-22 KR KR1020107026245A patent/KR101679083B1/ko active IP Right Grant
Non-Patent Citations (1)
Title |
---|
R. Geiger et al. IntMDCT-A link between perceptual and lossless audio coding, ICASSP, orlando, 13 May 2002, pp.1813-1816* * |
Also Published As
Publication number | Publication date |
---|---|
JP5400143B2 (ja) | 2014-01-29 |
EP2279562A4 (en) | 2012-07-11 |
EP2279562A2 (en) | 2011-02-02 |
US8447591B2 (en) | 2013-05-21 |
CN102047564B (zh) | 2013-08-21 |
EP2279562B1 (en) | 2015-12-16 |
US20090299754A1 (en) | 2009-12-03 |
KR101679083B1 (ko) | 2016-11-23 |
JP2011522291A (ja) | 2011-07-28 |
WO2009148858A2 (en) | 2009-12-10 |
WO2009148858A3 (en) | 2010-02-25 |
CN102047564A (zh) | 2011-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101679083B1 (ko) | 2개의 블록 변환으로의 중첩 변환의 분해 | |
EP2028648B1 (en) | Multi-channel audio encoding and decoding | |
US8255234B2 (en) | Quantization and inverse quantization for audio | |
US7801735B2 (en) | Compressing and decompressing weight factors using temporal prediction for audio data | |
RU2555221C2 (ru) | Канальное кодирование на основе комплексного преобразования с частотным кодированием с расширенной полосой |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
N231 | Notification of change of applicant | ||
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: 20191016 Year of fee payment: 4 |