KR101364685B1 - 오디오 신호의 샘플 정밀 표현을 위한 방법 및 인코더와 디코더 - Google Patents

오디오 신호의 샘플 정밀 표현을 위한 방법 및 인코더와 디코더 Download PDF

Info

Publication number
KR101364685B1
KR101364685B1 KR1020127029696A KR20127029696A KR101364685B1 KR 101364685 B1 KR101364685 B1 KR 101364685B1 KR 1020127029696 A KR1020127029696 A KR 1020127029696A KR 20127029696 A KR20127029696 A KR 20127029696A KR 101364685 B1 KR101364685 B1 KR 101364685B1
Authority
KR
South Korea
Prior art keywords
data
information
audio
validity
decoder
Prior art date
Application number
KR1020127029696A
Other languages
English (en)
Other versions
KR20130006691A (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 KR20130006691A publication Critical patent/KR20130006691A/ko
Application granted granted Critical
Publication of KR101364685B1 publication Critical patent/KR101364685B1/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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/167Audio streaming, i.e. formatting and decoding of an encoded audio signal representation into a data stream for transmission or storage purposes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

인코딩된 오디오 데이터의 유효성에 관한 정보를 제공하기 위한 방법이 개시되며, 상기 인코딩된 오디오 데이터는 일련의 코딩된 오디오 데이터 유닛들이다. 각각의 코딩된 오디도 데이터 유닛에는 유효한 오디오 데이터에 관한 정보가 들어 있다. 상기 방법은: 무효한 오디오 데이터 유닛의 시작에서의 데이터의 양을 기술하는 코딩된 오디오 데이터 레벨에 관한 정보를 제공하는 단계, 또는 무효한 오디오 데이터 유닛의 끝에서의 데이터의 양을 기술하는 코딩된 오디오 데이터 레벨에 관한 정보를 제공하는 단계, 또는 무효한 오디오 데이터 유닛의 시작 및 끝에서의 데이터의 양 모두를 기술하는 코딩된 오디오 데이터 레벨에 관한 정보를 제공하는 단계;를 포함한다. 데이터의 유효성에 관한 정보를 포함하는 인코딩된 데이터를 수신하여 디코딩된 출력 데이터를 제공하기 위한 방법이 또한 개시된다. 또한, 상응하는 인코더 및 상응하는 디코더가 개시된다.

Description

오디오 신호의 샘플 정밀 표현을 위한 방법 및 인코더와 디코더{METHOD AND ENCODER AND DECODER FOR SAMPLE-ACCURATE REPRESENTATION OF AN AUDIO SIGNAL}
본 발명의 실시예들은 오디오 신호의 소스 코딩 분야에 관한 것이다. 좀더 구체적으로, 본 발명의 실시예들은 그 원래의 지속시간을 갖는 오디오 데이터의 복구를 제공한다.
오디오 인코더들은 일반적으로 전송 또는 저장을 하기 위해 오디오 신호를 압축하는데 사용된다. 사용된 코더에 따라, 신호는 (완벽한 복원을 가능하게 하는) 무손실 또는 (불완벽하지만 충분한 복원을 위한) 손실 인코딩이 될 수 있다. 연관된 디코더는 인코딩 연산을 역으로 하고 완벽하거나 완벽하지 않은 오디오 신호를 생성한다. 문헌이 인공부산물들(artifacts)을 언급할 때, 그 경우에는 일반적으로, 손실 코딩에서 전형적인, 정보의 손실을 의미한다. 이는 제한된 대역폭, 반향과 울리는 인공부산물들, 및 인간의 청력 속성들로 인해 잘 들리거나 마스킹될(mask) 수 있는 다른 정보를 포함한다.

압축된 미디어 파일들의 재생 중의 가청 왜곡에 대한 다른 소스가 "양자화 공백들이 없는 압축된 미디어 파일들의 재생(Playback of compressed media files without quantization gaps)"이라는 제목의 미국 특허 출원 공개 번호 US 2008/0065393 A1에서 언급된다. 특히, US 2008/0065393 A1은 이른바 "버트 스플라이스(butt splice)"를 수행할 때 왜곡의 발생을 언급한다. "버트 스플라이스"는 하나의 계속되는 오디오 파일이 되도록 하나의 오디오 파일을 다른 오디오 파일에 갑자기(abrupt) 연결하는 것이다. US 2008/0065393 A1에 따르면, 디지털 미디어 파일은 상응하는 개수의 오디오 프레임들로 그룹 지어진 다수의 오디오 샘플들로 형성된다. 어떤 방법으로 구현될 때, 사용된 인코더의 식별이 수행된다. 식별된 인코더에 대한 인코더 지연 값 및 디코더에 대한 디코더 지연 값을 얻게 된다. 마지막 유효한 오디오 샘플에 상응하는 오디오 샘플 카운트(count)가 결정되고 마지막 유효한 오디오 샘플들로부터 선택 표시자 N 오디오 샘플들 찾은 후에 재동기화가 설정된다. 인코더 지연 값, 디코더 지연 값, 및 마지막 유효한 오디오 샘플들에 상응하는 샘플 카운트를 이용하여 오직 유효한 오디오 샘플만이 디코딩된다.

Mp3 파일들에 있어서, 주소 gabriel.mp3-tech.org/mp3infotag.html에 따른 인터넷 페이지는 이른바 Mp3 Info Tag를 기술한다. 이 태그에는 다음의 구조: [xxxxxxxx][xxxxyyyy][yyyyyyyy]를 갖는 "인코더 지연들"이라 불리는 3바이트 섹션이 들어 있다. 두 개의 12비트 값들 X 및 Y는 마지막 프레임을 완성하기 위해 X에서는 얼마나 많은 샘플들이 시작에서 추가되었고(인코더 지연) Y에서는 얼마나 많은 0 샘플들이 끝에 패딩되었는지를 표시한다.
본 발명에서 씨름하는 문제는, 일반적으로 오디오 코딩 문헌에서 다뤄지지 않는, 다른 인공부산물들의 셋트에 관한 것으로: 인코딩의 시작과 끝에서의 무음(silence) 기간들이다. 이 인공부산물들에 대한 해결책들이 존재하는데, 이는 종종 공백 없는 재생(gap-less playback) 방법들이라고 불린다. 이 인공부산물들에 대한 소스들은 우선 예를 들어 코딩된 오디오 데이터의 하나의 유닛에 1024개의 원래의 코딩되지 않은 오디오 샘플들이 항상 들어 있는 코딩된 오디오 데이터의 거친 입도(coarse granulartiy(粒度))이다. 둘째로, 디지털 신호 프로세싱은 종종 오직 관련된 디지털 필터들 및 필터 뱅크들로 인한 알고리즘 지연들로만 가능하다.
많은 애플리케이션들은 원래의 유효한 샘플들의 복구를 요구하지 않는다. 라디오 방송들은, 예를 들어, 보통 문제가 없는데, 코딩된 오디오 스트림이 계속되고 별도의 인코딩들의 연결이 일어나지 않기 때문이다. TV 방송들도 종종 정적으로 구성되고, 전송 전에 단일의 인코더가 사용된다. 그러나, 여러 미리 인코딩된 스트림들이 (광고 삽입을 위해 사용된 바와 같이) 함께 스플라이싱될(splice) 때, 오디오-비디오 동기화가 문제이 될 때, 압축된 데이터의 저장을 위해, 디코딩이 (특히 원래의 압축되지 않은 오디오 데이터의 정확한 비트 복원을 요구하는 무손실 인코딩에 있어서) 시작과 끝에 추가 오디오 샘플들을 보이지 않는 경우, 및 압축된 도메인에서의 편집에 있어서 추가 무음 기간들은 문제가 된다.
많은 사용자들이 이미 이 추가 무음 기간들에 적응되었으나, 다른 사용자들은 추가 무음에 대해 불평을 하는데, 이는 특히 여러 인코딩들이 연결되고, 인코딩되고 디코딩될 때 이전에 압축되지 않은 공백 없는 오디오 데이터가 중단될 때 문제가 있다. 인코딩들의 시작과 끝에 원치않는 무음의 제거를 가능하게 하는 개선된 접근법을 제공하는 것이 본 발명의 목적이다.
I 프레임들, P 프레임들, 및 B 프레임들을 이용하는 차등 코딩 메커니즘들을 이용한 비디오 코딩은 시작과 끝에 어떠한 추가 프레임들도 삽입하지 않는다. 그에 반해, 오디오 인코더는 일반적으로 추가의 프리펜딩(pre-pending) 샘플들을 갖는다. 그 수에 따라, 오디오-비디오 동기화의 인지할 수 있는 손실을 가져올 수 있다. 이는 종종 립싱크(lip-sync) 문제, 느끼는 화자의 입의 움직임과 들리는 사운드 사이의 부정합으로 언급된다. 많은 애플리케이션들은 사용하는 코덱(codec) 및 그 설정들에 따라 매우 가변적이기 때문에 사용자에 의해 행해져야 하는 립싱크에 대한 조절로 이 문제에 몰두한다. 오디오 및 비디오의 동기화된 재생을 가능하게 하는 개선된 접근법을 제공하는 것이 본 발명의 목적이다.
디지털 방송들은 과거에 지역적 차이들 및 맞춤형 프로그램들 및 광고들에 따라 과거에는 훨씬 여러 종류들로 이뤄졌었다. 주 방송 스트림은 따라서 지방 또는 사용자 특정 컨텐츠로 대체되어 스플라이싱는데, 이는 라이브 스트림 또는 미리 인코딩된 데이터일 수 있다. 이 스트림들의 스플라이싱은 주로 전송 시스템에 따라 결정된다; 그러나, 오디오는 종종 알려지지 않은 무음 기간들로 인해, 원하는 만큼, 완벽히 스플라이싱되지 않을 수 있다. 오디오 신호에서 이 공백들(gaps)이 인지될 수 있을지라도, 현재의 방법은 종종 신호에서 무음 기간들을 남겨둔다. 두 개의 압축된 오디오 스트림들의 스플라이싱을 가능하게 하는 개선된 접근법을 제공하는 것이 본 발명의 목적이다.
편집은 보통 압축되지 않은 도메인에서 행해지는데, 여기서 상기 편집 연산들은 잘 알려져 있다. 만약 소스 자료가 그러나 이미 손실 코딩된 오디오 신호라면, 그러면 심지어 간단한 삭제(cut) 연산들도 완전 새로운 인코딩을 요구하여, 탠덤(tandem) 코딩 인공부산물들을 야기한다. 따라서, 탠덤 디코딩 및 인코딩 연산들이 방지되어야 한다. 압축된 오디오 스트림의 삭제를 가능하게 하는 개선된 접근법을 제공하는 것이 본 발명의 목적이다.
다른 양상은 보호된 데이터 경로를 요구하는 시스템에서의 무효한 오디오 샘플들의 소거이다. 보호된 미디어 경로는 시스템의 구성요소들 사이에 암호화된 통신을 이용함으로써 디지털 저작권 관리를 시행하고 데이터 무결성을 보장하는데 사용된다. 이러한 시스템에서 이 요구조건은 오직 데이터 유닛의 변하는 지속시간들이 가능해져야만 충족될 수 있는데, 오직 보호된 미디어 경로 내의 신뢰성 있는(trusted) 요소들에서만 오디오 편집 연산들이 적용될 수 있기 때문이다. 이 신뢰성 있는 요소들은 일반적으로 오직 디코더들 및 렌더링(rendering) 요소들이다.
본 발명의 실시예들은 인코딩된 오디오 데이터의 유효성에 관한 정보를 제공하기 위한 방법을 제공하는데, 상기 인코딩된 오디오 데이터는 일련의 코딩된 오디오 데이터 유닛들의 연속이며, 여기서 각각의 코딩된 오디오 데이터 유닛에는 유효한 오디오 데이터에 관한 정보가 들어 있을 수 있으며, 상기 방법은:
무효한 오디오 데이터 유닛의 시작에서의 데이터의 양을 기술하는 코딩된 오디오 데이터 레벨에 관한 정보를 제공하는 단계,
또는 무효한 오디오 데이터 유닛의 끝에서의 데이터 양을 기술하는 코딩된 오디오 데이터 레벨에 관한 정보를 제공하는 단계,
또는 무효한 오디오 데이터의 시작 및 끝에서의 데이터의 양 모두를 기술하는 코딩된 오디오 데이터 레벨에 관한 정보를 제공하는 단계;를 포함한다.
본 발명의 다른 실시예들은 데이터의 유효성에 관한 정보를 제공하기 위한 인코더를 제공하는데:
여기서 상기 인코더는 데이터의 유효성에 관한 정보를 제공하기 위한 상기 방법을 제공하도록 구성된다.
본 발명의 다른 실시예들은 데이터의 유효성에 관한 정보를 포함하는 인코딩된 데이터를 수신하여 디코딩된 출력 데이터를 제공하기 위한 방법을 제공하는데, 상기 방법은:
무효한 오디오 데이터 유닛의 시작에서의 데이터의 양을 기술하는 코딩된 오디오 데이터 레벨에 관한 정보,
또는 무효한 오디오 데이터 유닛의 끝에서의 데이터의 양을 기술하는 코딩된 오디오 데이터 레벨에 관한 정보,
또는 무효한 오디오 데이터 유닛의 시작 및 끝에서의 데이터의 양 모두를 기술하는 코딩된 오디오 데이터 레벨에 관한 정보를 갖는 인코딩된 데이터를 수신하는 단계; 및
오직 무효로 표시되지 않은 샘플들만 들어 있거나,
코딩된 오디오 데이터 유닛의 모든 오디오 샘플들이 들어 있는 디코딩된 출력 데이터를 제공하고 데이터의 어느 부분이 유효한지 애플리케이션(application)에게 정보를 제공하는 단계;를 포함한다.
본 발명의 다른 실시예들은 인코딩된 데이터를 수신하여 디코딩된 출력 데이터를 제공하기 위한 디코더를 제공하는데, 상기 디코더는:
데이터의 유효성에 관한 정보를 포함하는 인코딩된 오디오 데이터를 수신하기 위한 방법에서 기술된 바와 같이 포맷된, 데이터의 유효성에 관한 정보가 몇몇 오디오 데이터 유닛들에 들어 있는 복수의 인코딩된 오디오 샘플들을 갖는 일련의 인코딩된 오디오 데이터 유닛들을 수신하기 위한 입력부,
입력부에 연결되고 데이터의 유효성에 관한 정보를 적용하도록 구성된 디코딩부,
오직 유효한 오디오 샘플들만이 제공되거나,
디코딩된 오디오 샘플들의 유효성에 관한 정보가 제공되는, 디코딩된 오디오 샘플들을 제공하기 위한 출력부;를 포함한다.
본 발명의 실시예들은 본 발명의 실시예들에 따라 상기 방법들 중 적어도 하나를 실행하기 위한 명령들을 저장하기 위한 컴퓨터 판독 가능한 매체를 제공한다.
본 발명은, 오디오 서브시스템 외부에 있는 기존의 접근법들 및/또는 오직 지연 값과 원래의 데이터의 지속시간만을 제공하는 접근법들과 다른, 데이터 유효성에 관한 정보를 제공하기 위한 새로운 접근법을 제공한다.
본 발명의 실시예들은 이미 압축되고 압축되지 않은 오디오 데이터를 처리하는 오디오 인코더 및 디코더 내에 적용가능하기 때문에 유리하다. 이는, 상기에서 언급한 바와 같이, 시스템이 오직 유효한 데이터만을 압축하고 압축을 해제하는 것을 가능하게 하는데, 이는 오디오 인코더 및 디코더 외부에서의 추가적인 오디오 신호 프로세싱을 필요로 하지 않는다.
본 발명의 실시예들은 파일 기반 애플리케이션들뿐만 아니라 스트림 기반 및 라이브 애플리케이션들에 있어서 유효한 데이터를 시그널링 하는 것을 가능하게 하는데, 여기서 유효한 오디오 데이터의 지속시간은 인코딩의 시작에서는 모른다.
본 발명의 실시예들에 따라 인코딩된 데이터 스트림에는 MPEG-4 AAC 오디오 액세스 유닛(MPEG-4 AAC Access Unit)일 수 있는, 오디오 데이터 유닛 레벨에 관한 유효성 정보가 들어 있다. 기존의 디코더들과의 호환성을 유지하기 위해 상기 정보는 액세스 유닛의 한 부분에 배치될 수 있는데 이는 선택적이고 유효성 정보를 지원하지 않는 디코더들에 의해 무시될 수 있다. 그러한 부분은 MPEG-4 AAC 오디오 액세스 유닛의 확장 페이로드(extension payload)이다. 본 발명은 MPEG-1 계층 3 오디오(MP3)를 포함하여 대부분의 기존 오디오 코딩 기법들, 및 블록 기반으로 작동하고 알고리즘 지연을 겪는 미래의 오디오 코딩 기법들에 적용 가능하다.
본 발명의 실시예들에 따라, 무효한 데이터를 제거하기 위한 새로운 접근법이 제공된다. 상기 새로운 접근법은 인코더, 디코더, 및 인코더나 디코더를 임베딩한(embedded) 시스템 계층들이 이용 가능한 이미 존재하는 정보에 기초한다.
첨부된 도면들을 참조하여 본 발명에 따른 실시예들이 이어서 기술될 것인데:
도 1은 HE AAC 디코더의 작동상태:듀얼 레이트 모드(dual-rate mode)를 도시하는 도면;
도 2는 시스템 계층 엔티티(Systems Layer entity)와 오디오 디코더 사이의 정보 교환을 도시하는 도면;
도 3은 첫번째 가능한 실시예에 따른 인코딩된 오디오 데이터의 유효성에 관한 정보를 제공하기 위한 방법의 도식적 흐름도;
도 4는 여기에 개시된 사상들의 두번째 가능한 실시예에 따른 인코딩된 오디오 데이터의 유효성에 관한 정보를 제공하기 위한 방법의 도식적 흐름도;
도 5는 여기에 개시된 사상들의 제 가능한 실시예에 따른 인코딩된 오디오 데이터의 유효성에 관한 정보를 제공하기 위한 방법의 도식적 흐름도;
도 6은 여기에 개시된 사상들의 일 실시예에 따른 데이터 유효성에 관한 정보를 포함하는 인코딩된 데이터를 수신하기 위한 방법의 도식적 흐름도;
도 7은 여기에 개시된 사상들의 다른 실시예에 따른 인코딩된 데이터를 수신하기 위한 방법의 도식적 흐름도;
도 8은 여기에 개시된 사상들의 일 실시예에 따른 인코더의 입력/출력 도면;
도 9는 여기에 기술된 사상들의 다른 실시예에 따른 인코더의 도식적 입력/출력 도면;
도 10은 여기에 기술된 사상들의 일 실시예에 따른 디코더의 도식적 블록도; 및
도 11은 여기에 기술된 사상들의 다른 실시예에 따른 디코더의 도식적 블록도;이다.
도 1은 액세스 유닛들(AU) 및 연관된 합성(composition) 유닛들(CU)에 대한 디코더의 작동상태를 도시한다. 디코더는 디코더에 의해 발생된 출력을 수신하는 "시스템"이라고 이름 붙여진 엔티티에 연결된다. 예로서, 디코더는 HE-AAC(고효율 고급 오디오 코딩(High Efficiency - Advanced Audio Coding)에 따라 기능한 것으로 가정될 수 있다. HE-AAC 디코더는 근본적으로 AAC 디코더에 뒤이어 SBR(스펙트럼 대역 감소(Spectral Band Reduction)) "사후 프로세싱" 스테이지가 이어진다. SBR 수단에 의해 부과된 추가의 지연은 SBR 수단 내의 QMF 뱅크 및 데이터 버퍼들 때문이다. 이는 다음의 공식에 의해 도출될 수 있는데:
DelaySBR - TOOL = LAnalysisFilter - NAnalysisChannels + 1 + Delaybuffer
여기서
NAnalysisChannels = 32, LAnalysisFilter = 320, 및 delaybuffer = 6 ×32이다.
이는 (입력 샘플링 레이트, 즉, AAC의 출력 샘플링 레이트로) SBR 수단에 의해 부과된 지연이
DelaySBR - TOOL = 320 - 32 + 1 + 6 × 32 = 481
샘플들임을 의미한다.
일반적으로, AAC 샘플링 레이트에서 481개의 샘플 지연이 SBR 출력 레이트에서 962개의 샘플 지연으로 바뀌는 경우인, "업샘플링" (또는 "듀얼 레이트") 모드에서 SBR 도구는 작동한다. 추가의 지연이 SBR 출력 레이트에서 오직 481개의 샘플들인 경우인, ("다운샘플링된 SBR 모드"로 나타내어진) AAC 출력과 동일한 샘플링 레이트에서도 연산할 수 있다. SBR 수단이 무시되고 AAC 출력이 디코더 출력인 "구버전과 호환이 가능한(backwards compatible)" 모드가 있다. 이 경우에 추가 지연이 없다.
도 1은 SBR 수단이 업샘플링 모드에서 구동하고 추가 지연이 962개의 출력 샘플들인 가장 흔한 경우에 대한 디코더 작동상태를 도시한다. 이 지연은 (SBR 프로세싱 이후의) 업샘플링된 AAC 프레임 길이의 약 47%에 상응한다. T1은 962개 샘플들의 지연 이후의 CU1과 연관된 타임 스탬프(time stamp), 즉, HE AAC 출력의 첫번째 유효한 샘플들에 대한 타임 스탬프임에 주의해야 한다. 만약 HE AAC가 "다운샘플링된 SBR 모드" 또는 "단일 레이트" 모드에서 구동한다면, 지연은 481 샘플들일 것이나, 지연이 여전히 CU 지속시간의 47%이도록 단일 레이트 모드에서 CU의 수가 샘플들의 수의 절반이기 때문에 타임 스탬프는 동일할 것임에 또한 주의해야 한다.
이용 가능한 시그널링 매커니즘들(signaling mechanisms) 모두(즉, 묵시적 신호, 구버전과 호환이 가능한 명시적 시그널링, 또는 계층적 명시적 시그널링)에 있어서 만약 디코더가 HE-AAC이면 그러면 SBR 프로세싱에 의해 초래된 임의의 추가 지연을 시스템에 전달해야 하고, 그렇지 않으면 디코더로부터의 표시의 부재는 디코더가 AAC임을 표시한다. 여기서, 추가 SBR 지연에 대해 보상하도록 시스템은 타임 스탬프를 조절할 수 있다.
다음의 섹션은 어떻게 변환 기반 오디오 코덱용 인코더 및 디코더가 MPEG와 관련되는지를 기술하고, "코딩 인공부산물들" - 특히 코덱 확장이 있을 때에 -을 제외하고 인코더-디코더 왕복 이후에 신호의 식별을 보장하기 위한 추가 메커니즘을 제공한다. 기술된 기술들을 이용하여 시스템 관점에서 예측 가능한 연산을 보장하고, 또한 보통 인코더의 작동상태를 기술하기 위해 필요한, 추가적인 사기업의(proprietary)의 "공백 없는" 시그널링의 필요를 제거한다.
이 섹션에서, 다음의 표준들이 참조된다:
[1] ISO/IEC TR 14496-24:2007: 정보 기술 - 오디오-시각적 객체들의 코딩 - 두번째4장: 오디오 및 시스템 상호작용(Information Technology - Coding of audio-visual objects - Part 24: Audio and systems interaction)
[2] ISO/IEC 14496-3:2009 정보 기술 - 오디오-시각적 객체들의 코딩 - 세번째장: 오디오(Information Technology - Coding of audio-visual objects - Part 3: Audio)
[3] ISO/IEC 14496-12:2008 정보 기술 - 오디오-시각적 객체들의 코딩 - 첫번째2장: ISO 기반 미디어 파일 포맷(Information Technology - Coding of audio-visual objects - Part 12: ISO base media file format)
간략히 이 섹션에서 [1]이 기술된다. 기본적으로, AAC(고급 오디오 코딩) 및 그 후속들인 HE AAC, HE AAC v2는 압축된 데이터와 압축이 해제된 데이터 사이에 1:1 상응이 없는 코덱들이다. 인코더는 압축이 해제된 데이터의 시작과 끝에 추가 오디오 샘플들을 추가하고, 또한, 압축되지 않은 원래의 데이터를 처리하는 액세스 유닛들에 더해, 이를 위한 압축된 데이터를 갖는 액세스 유닛들을 만들어낸다. 표준에 따르는 디코더는 그러면, 인코더에 의해 추가된, 추가 샘플들이 들어 있는 압축되지 않은 데이터 스트림을 발생시킬 것이다.
[1]은 (코덱 인공부산물들 외에) 원래의 압축되지 않은 스트림이 복구되도록 압축이 해제된 데이터의 유효 범위를 표시하기 위해 ISO 기반 미디어 파일 포맷 [3]의 기존 수단들이 어떻게 재사용될 수 있는지를 기술한다. 디코딩 연산 이후에 유효한 범위가 들어 있는, 엔트리를 갖는 편집 리스트를 이용하여 표시가 이루어진다.
이 해결책이 일찍 완성되지 않았기 때문에, 유효한 기간을 표시하기 위한 사기업의의 솔루션들이 지금 널리 퍼져 사용되고 있다(두 개만 말하면: 애플 아이튠즈(Apple iTunes) 및 어헤드 네로(Ahead Nero)). [1]에서 제안된 방법은 매우 실용적이지 않고, 편집 리스트들이 원래는 오직 몇몇 구현들만이 이용 가능한 다른 - 아마도 복잡한 - 목적을 의도로 한다는 문제를 겪는다고 논의될 수 있다.
또한, [1]은 ISO FF(ISO 파일 포맷(ISO File Format)) 샘플 그룹들 [3]을 이용하여 데이터의 사전 롤(pre-roll)이 어떻게 처리될 수 있는지를 보여준다. 사전 롤은 어떤 데이터가 유효한지를 표시하지는 않으나, 얼마나 많은 엑세스 유닛들(또는 ISO FF 명명법에서의 샘플들)이 임의의 시점에서 디코더 출력 이전에 디코딩될 것인지를 표시한다. AAC에 있어서 MDCT 도메인에서의 중첩 윈도우들로 인해 이는 항상 하나의 샘플(즉, 하나의 액세스 유닛) 앞서는데, 따라서 사전 롤에 대한 값은 모든 액세스 유닛들에 대해 -1이다.
다른 양상은 많은 인코더들의 추가 룩 어헤드(look-ahead)와 관련된다. 추가 룩 어헤드는 예를 들어 실시간 출력을 생성하려고 하는 인코더 내의 내부 신호 프로세싱에 따라 결정된다. 추가 룩 어헤드를 고려하기 위한 한 가지 선택권은 인코더 룩 어헤드 지연에 대해서도 편집 리스트를 사용하는 것일 수 있다.
앞서 언급된 바와 같이 편집 리스트 수단의 원래의 목적이 미디어 내의 원래 유효한 범위들을 표시하는 것인지 여부에 의문의 여지가 있다. [1]은 편집 리스트들을 이용하여 파일을 추가로 편집하는 것의 영향에 대한 언급이 없으므로, [1]의 목적으로 편집 리스트를 이용하는 것은 약간의 취약성(fragility)을 추가하는 것으로 가정될 수 있다.
여담으로, 사기업의 솔루션들과 MP3 오디오를 위한 솔루션들은 모두 추가 종단 간(end-to-end) 지연을 규정했고, 압축되지 않은 오디오 데이터의 길이는 이전에 언급된 네로와 아이튠즈 솔루션들 및 [1]에서 편집 리스트가 사용된 것과 매우 유사하다.
일반적으로, MP4 파일 포맷을 사용하지는 않으나, 정확한 오디오 비디오 동기화를 위해 시간스탬프들을 요구하고 종종 매우 무언(dumb)의 모드에서 연산하는, 실시간 스트리밍 애플리케이션들에서의 정확한 작동상태에 관한 언급이 없다. 이 타임스탬프는 종종 부정확하게 설정되고 따라서 모든 것을 다시 동기화시키기 위해 디코딩 장치에서 노브(knob)가 요구된다.
MPEG-4 오디오와 MPEG-4 시스템 사이의 인터페이스가 다음 단락들에서 좀더 상세히 기술된다.
시스템 인터페이스로부터 오디오 디코더로 전달된 모든 액세스 유닛은 오디오 디코더로부터 시스템 인터페이스로 전달된 상응하는 합성 유닛, 즉, 합성기를 야기할 것이다. 이는 시동(start-up) 및 정지(shut-down) 조건들, 즉, 유한한 액세스 유닛들의 시퀀스에서 액세스 유닛이 처음이거나 마지막일 때를 포함한다.
오디오 합성 유닛에 있어서, ISO/IEC 14496-1 하위 조항 7.1.3.5 합성 시간 스탬프(COmposition Time Stamp, CTS)는 합성 시간이 합성 유닛 내의 n번째 오디오 샘플에 적용되는 것을 명시한다.
다른 디코더 구성들에 의해 디코딩될 수 있는, HE-AAC 코딩된 오디오 같은 압축된 데이터에 대해 특별한 주의를 필요로 한다. 이 경우에, 강화된 방식(AAC+SBR)뿐만 아니라 구버전과 호환이 가능한 방식으로 디코딩이 행해질 수 있다. (오디오다 다른 미디어와 동기화된 채로 있도록) 합성 신호 스탬프들이 정확히 처리되는 것을 보장하기 위해, 다음이 적용된다:
● 만약 압축된 데이터가 구버전과 호환이 가능한 디코딩과 강화된 디코딩 둘 다를 허용하고, 만약 디코더가 구버전과 호환이 가능한 방식으로 연산한다면, 그러면 디코더는 어떠한 특별한 액션도 취할 필요가 없다. 이 경우에, n의 값은 1이다.
● 만약 압축된 데이터가 구버전과 호환이 가능한 디코딩과 강화된 디코딩 둘 다를 허용하고, 만약 약간의 추가 지연을 삽입하는 사후 프로세서(예를 들어, HE-AAC에서 SBR 사후 프로세서)를 사용하는 강화된 방식으로 인코더가 연산한다면, 상응하는 n의 값으로 기술된 바와 같은, 구버전과 호환이 가능한 모드와 관련하여 초래된 이 추가 시간 지연이 합성 유닛을 보여줄 때 고려되는 것을 보장해야 한다. n의 값은 다음의 표에서 명시된다.
n의 값 추가 지연
(주 1)
디코더 연산 모드
1 0 A) 이 표의 다른 곳에서 열거되지 않은 모든 연산 모드들
963 962 B1) 듀얼 레이트 모드에서 연산된 SBR를 갖는 HE-AAC 또는 HE-AAC v2 디코더; HE-AAC 또는 HE-AAC v2 압축된 오디오를 디코딩.
482 481 B2) B1)과 같으나, 다운샘플링된 모드에서 연산된 SBR를 가짐.
주 1: 사후 프로세싱에 의해 초래된 지연은 주어진 디코더 연산 모드에 대한 출력 샘플 레이트로 (오디오 채널 당) 다수의 샘플들에 주어진다.
오디오와 시스템 사이의 인터페이스에 대한 설명은. 오늘날 사용되는 경우들의 대부분을 처리하며, 신뢰할 수 있게 작동함이 증명되었다. 만약 자세히 살펴본다면 그러나, 두 가지 문제들이 언급되지 않는데:
● 많은 시스템에서 시간스탬프 처음은 값 0이다. 예를 들어 AAC가 시간스탬프 0에서 액세스 유닛 앞에 하나의 액세스 유닛을 요구하는 하나의 액세스 유닛의 고유의 최소 인코더 지연을 갖는다고 할지라도, 사전 롤 AU들이 존재하는 것으로 가정되지는 않는다. MP4 파일 포맷에 있어서 이 문제에 대한 해결책이 [1]에서 기술된다.
● 정수가 아닌 프레임 크기의 지속시간들은 처리되지 않는다. AudioSpecificConfig() 구조는 AAC에 있어서 필터 뱅크 길이들, 예를 들어 960 및 1024를 기술하는 작은 프레임크기들의 셋트의 시그널링을 가능하게 한다. 실세계의 데이터는, 그러나, 일반적으로 고정된 프레임크기들의 그리드에 맞지 않고 따라서 인코더는 마지막 프레임을 패딩(pad)해야 한다.
두 개의 AAC 스트림들의 스플라이싱 또는 인코더-디코더 왕복 이후에 - 특히 MP4 파일 포맷 및 [1]에 기술된 방법들이 없을 때에 - 유효한 샘플들의 범위 복구를 요구하는 고급 멀티미디어 애플리케이션들의 도래와 함께, 이 두 가지 남겨진 문제들은 최근에 문제가 되었다.
이전에 언급된 문제들을 극복하기 위해, 사전 롤, 사후 롤(post-roll), 및 모든 다른 소스들이 적절히 기술되어야 한다. 또한 샘플 정밀(sampple-accurate) 오디오 표현들을 갖기 위해 정수가 아닌 프레임크기의 배수들에 대한 매커니즘을 필요하다.
데이터를 완전히 디코딩할 수 있도록 처음에 디코더에 사전 롤이 요구된다. 예로서, [1]에 설명된 바와 같이, AAC는 중첩 가산 연산의 출력 샘플들이 원하는 원래의 신호를 표현하도록 액세스 유닛의 디코딩 이전에 1024 샘플들(하나의 액세스 유닛)의 사전 롤을 요구한다. 다른 오디오 코덱들은 각각 다른 사전 롤 요구사항들을 가질 수 있다.
사후 롤은 액세스 유닛의 디코딩 이후에 더 많은 데이터가 디코더로 공급된다는 차이점을 가지며 사전 롤과 대등하다. 사후 롤의 원인은 상기 표에서 열거된 바와 같은 알고리즘 지연 대신 코덱의 효율성을 높이는 코덱 교환이다. 듀얼 모드 연산이 종종 요구되기 때문에, 확장이 구현되지 않은 디코더가 코딩된 데이터를 완전히 이용할 수 있도록 사전 롤은 변함없이 있다. 따라서, 사전 롤 및 시간스탬프들은 레거시(legacy) 디코더 기능들과 관련된다. 그 다음에 이 확장을 지원하는 디코더에 또한 사후 롤이 요구되는데, 원래의 신호의 전체 표현을 회복하기 위해 내부에 존재하는 지연 라인이 플러싱되어야(flush) 하기 때문이다. 불행히도, 사후 롤은 디코더 의존적이다. 그러나, 만약 사전 롤 및 사후 롤 값들이 시스템 계층에 알려지고 디코더의 사전 롤 및 사후 롤 출력이 그 값으로 낮춰질 수 있다면 디코더와는 관계없이 사전 롤 및 사후 롤을 처리하는 것이 가능하다.
가변 오디오 프레임 크기에 관해서, 오디오 코덱들은 항상 고정된 샘플들의 수로 데이터 블록들을 인코딩하기 때문에, 샘플 정밀 표현은 시스템 계층으로의 추가 시그널링에 의해서만 가능해진다. 디코더가 샘플 정밀 트리밍(trimming)을 처리하는 것이 가장 쉽기 때문에, 디코더가 신호를 자르는 것이 바람직해 보인다. 따라서, 디코더에 의한 출력 샘플들의 트리밍을 가능하게 하는 선택적인 확장 매커니즘이 제안된다.
벤더 특정(vendor-specific) 인코더 지연에 관하여, MPEG은 단지 디코더 연산만을 명시하며, 반면 인코더들은 단지 약식으로만 제공된다. 이는 MPEG 기술들의 이점들 중 하나인데, 여기서 인코더들은 코덱의 기능을 완전히 이용하도록 시간이 지남에 따라 개선될 수 있다. 인코더 설계 시의 유연성은 그러나 지연 상호 운용성 문제들을 가져온다. 인코더들은 일반적으로 더 현명한 인코딩 결정들을 하기 위해 오디오 신호의 프리뷰(preview)를 필요로 하는데, 이는 매우 벤더 특정적이다. 이 인코더 지연의 이유는 예를 들어, 주로 실시간 인코더들과 관련 있는, 있을 수 있는 윈도우 중첩들 및 다른 최적화들의 지연을 요구하는, 블록 스위칭 결정들이다.
오프라인에서 이용 가능한 컨텐츠의 파일 기반 인코딩은 오직 실시간 데이터가 인코딩될 때에만 관련 있는 이 지연을 요구하지 않는데, 그럼에도 불구하고, 대부분의 인코더들은 오프라인 인코딩들의 시작에도 무음을 프리펜딩한다.
이 문제에 대한 해결책의 한 부분은 이 지연들이 상관없고 예를 들어 음의(negative) 타임스탬프 값들을 가지도록 하는 시스템 계층 상의 정확한 타임스탬프들의 설정이다. 이는 또한, [1]에서 제안된 바와 같이, 편집 리스트를 이용하여 이루어질 수 있다.
해결책의 다른 부분은 예를 들어 음의 타임스탬프들을 갖는 정수의 액세스 유닛들이 처음에 건너뛰게 되도록(사전 롤 액세스 유닛들 제외) 하는, 프레임 경계들에 인코더 지연의 정렬이다.
여기에 개시된 사상들은 또한 산업 표준 ISO/IEC 14496-3:2009 서브파트 4, 섹션 4.1.1.2와 관련된다. 여기에 기술된 사상들에 따라, 다음이 제안된다: 두 개의 스트림들이 코딩된 도메인에서 함께 스플라이싱될 수 있고 샘플 정밀 복원이 오디오 계층 내에서 가능해지도록, 보여줄 때, 사후 디코더( Post - Decoder ) 트리밍 수단은 복원된 오디오 신호의 일 부분을 선택한다.
사후 디코더 트리밍 수단에 대한 입력은:
● 시간 도메인에서 복원된 오디오 신호
● 포스트 트림 제어 정보
이다.
사후 디코더 트리밍 수단의 출력은:
● 시간 도메인에서 복원된 오디오 신호
이다.
만약 사후 디코더 트리밍 수단이 활성화 중이지 않다면, 시간 도메인에서 복원된 오디오 신호는 디코더의 출력으로 바로 이동한다. 이 수단은 임의의 이전의 오디오 코딩 수단 이후에 적용된다.
다음의 표는 여기에 개시된 사상들을 구현하는데 사용될 수 있는 제안된 데이터 구조 extension_payload()의 구문을 도시한다.
구문 비트 수 연상 기호
extension_payload(cnt)
{
extension _ type; 4 uimsbf
align = 4;
switch( extension_type ) {
case EXT_TRIM:
return trim_info();
case EXT_DYNAMIC_RANGE:
return dynamic_range_info();
case EXT_SAC_DATA:
return sac_extension_data(cnt);
case EXT_SBR_DATA:
return sbr_extension_data(id_aac, 0); 주 1
case EXT_SBR_DATA_CRC:
return sbr_extension_data(id_aac, 1); 주 1
case EXT_FILL_DATA:
fill _ nibble; /* must be '0000'*/ 4 uimsbf
for (i=0; i<cnt-1; i++) {
fill _ byte [i]; /* must be '0100101'*/ 8 uimsbf
}
return cnt;
case EXT_DATA_ELEMENT:
data _ element _ version; 4 uimsbf
switch( data_element_version ) {
case ANC_DATA:
loopCounter = 0;
dataElementLength = 0;
do {
dataElementLengthPart; 8 uimsbf
dataElementLength += dataElementLengthPart;
loopCounter++;
} while (dataElementLengthPart == 255);
for (i=0; i<dataElementLength; i++) {
data _ element _ byte [i]; 8 uimsbf
}
return (dataElementLength+loopCounter+1);
default:
align = 0;
}
case EXT_FIL:
default:
for (i=0; i<8*(cnt-1)+align; i++) {
other _ bits [i]; 1 uimsbf
}
return cnt;
}
}
주 1: id_aac은 상응하는 AAC 요소(ID_SCE or ID_CPE) 또는 CCE의 경우 ID_SCE의 id_syn_ele이다.
다음의 표는 여기에 개시된 사상들을 구현하는데 사용될 수 있는 제안된 데이터 구조 trim_info()의 구문을 도시한다.
구문 비트 수 연상 기호
trim_info()
{
custom _ resolution _ present; 1 uimsbf
trim_resolution = samplingFrequency;
if (custom_resolution_present == 1 ) {
custom _ resolution ; 19 uimsbf
trim_resolution = custom_resolution;
}
trim_from_beginning; 12 uimsbf
trim_from_end; 12 uimsbf
}
다음은 사후 디코더 트리밍과 관련된 정의들이다:
custom _ resolution _ present custom_resolution가 있는지 여부를 표시하는 플래그(flag).
custom _ resolution 트리밍 연산을 위해 사용되는 Hz의 맞춤 해상도. 오디오 신호의 다중 레이트 프로세싱이 가능하고 가장 적절한 해상도로 트리밍 연산이 수행될 필요가 있을 때 맞춤 해상도를 설정할 것이 권장된다.
trim _ resolution 디폴트 값은 samplingFrequency 또는 samplingFrequencyIdx로 ISO/IEC 14496-3:2009의 표 1.16에서 표시된 바와 같이 명목 샘플링 주파수이다. 만약 custom_resolution_present 플래그가 설정되면 그러면 사후 디코더 트리밍 수단에 대한 해상도는 custom_resolution 값이다.
trim _ from _ beginning (NB) 합성 유닛의 시작에서 제거될 PCM 샘플들의 수. 상기 값은 오직 trim_resolution 레이트를 갖는 오디오 신호에 대해서만 유효하다. 만약 trim_resolution이 시간 도메인 입력 신호의 샘플링 주파수와 같지 않다면, 상기 값은 다음의 방정식:
NB = floor(NB·sampling_frequency / trim_resolution)
에 따라 적절히 조정되어야(scale) 한다.
trim _ from _ end (NE) 합성 유닛의 끝에서 제거될 PCM 샘플들의 수. 만약 trim_resolution이 시간 도메인 입력 신호의 샘플링 주파수와 같지 않다면, 상기 값은 다음의 방정식:
NE = floor(NE·sampling_frequency / trim_resolution)
에 따라 적절히 조정되어야 한다.
다른 가능한 스트리밍 믹싱 알고리즘은 (신호 단절의 가능성이 없는) 끊긴 데가 없는(seamless) 스플라이싱을 고려할 수 있다. 이 문제은 압축되지 않은 PCM 데이터에 대해서도 유효하고 여기에 개시된 사상들과 구별된다(orthogonal).
맞춤 해상도 대신에 백분율이 적절할 수도 있다. 대안으로, 가장 높은 샘플링 레이트가 사용될 수도 있으나 이는 듀얼 레이트 프로세싱 및 트리밍은 지원하나 듀얼 레이트 프로세싱은 지원하지 않는 디코더들과 충돌할 수 있으므로, 디코더 구현에 상관없는 해결책이 바람직하고 맞춤 트림 해상도가 알맞아 보인다.
디코딩 프로세스에 관하여, 액세스 유닛의 모든 데이터가 프로세싱된 이후에 사후 디코더 트리밍이 적용된다(즉, DRC, SBR, PS, 등과 같은 확장 이후에 적용된다). 트리밍은 MPEG-4 시스템 계층 상에서 행해지지 않는다; 그러나, 액세스 유닛의 시간스탬프들 및 지속시간 값들은 트리밍이 적용된다는 가정에 매칭할 것이다.
선택적 확장들(예를 들어 SBR)로 인한 추가 연장이 초래되지 않았을 경우에만 정보를 나르는 액세스 유닛에 대해 트리밍이 적용된다. 만약 이 확장들이 준비가 되어 있고(in place) 디코더 내에서 사용된다면, 그러면 트리밍 연산 애플리케이션은 선택적 확장들의 지연에 의해 지연된다. 따라서, 트리밍 연산은 디코더 내에 저장될 필요가 있고 시스템 계층들에 의해 추가의 액세스 유닛들이 제공되어야 한다.
만약 디코더가 1 이상의 레이트로 연산할 있다면, 가장 높은 레이트를 갖는 트리밍 연산에 대해 맞춤 해상도를 사용할 것이 권장된다. 트리밍은 신호 왜곡을 야기할 수 있는 신호 단절을 가져올 수 있다. 따라서, 트리밍 정보는 오직 전체 인코딩의 시작 또는 끝에서 비트스트림 내로 삽입되어야 한다. 만약 두 개의 스트림들이 함께 스플라이싱되면, 두 개의 출력 시간 도메인 신호들이 단절 없이 함께 맞도록 trim_from_end 및 trim_from_beginning의 값을 신중히 설정하는 인코더에 의한 것을 제외하고는 이 단절들이 방지될 수 없다.
트리밍된 액세스 유닛들은 예기치 않은 계산상의 요구사항들을 가져올 수 있다. 많은 구현들은 변함없는 지속시간을 갖는 액세스 유닛들에 대한 변함없는 프로세스 시간을 가정하는데, 이는 트리밍으로 인해 지속시간을 변하는데 액세스 유닛에 대한 계산상의 요구사항들은 그대로 있다면 더 이상 유효하지 않다. 따라서, 제한된 계산상의 자원들을 갖는 디코더들로 가정되어야 하고 따라서 트리밍은 거의 사용되지 않아야 하는데, [ISO/IEC 14496-24:2007 부록 B.2]에 기술된 바와 같이, 액세스 유닛 경계들에 정렬되는 방식으로 데이터를 인코딩하여 오직 인코딩의 끝에서 트리밍하는 것이 이용된다.
여기에 기술된 사상들은 또한 산업 표준 ISO/IEC 14496-24:2007와 관련된다. 여기에 기술된 사상들에 따르면, 샘플 정밀 액세스에 대한 오디오 디코더 인터페이스에 관하여 다음이 제안된다: 오디오 디코더는 항상 하나의 액세스 유닛(AU)으로부터 하나의 합성 유닛(CU)을 생성할 것이다. 요구된 사전 롤 및 사후 롤 AU들의 양은 하나의 인코더당 일련의 AU들의 셋트에 대해 변함없다.
디코딩 연산을 시작할 때, 디코더는 AudioSpecificConfig(ASC)로 초기화된다. 디코더가 이 구성을 프로세싱한 이후에, 디코더로부터 가장 관련 있는 파라밑들이 요청될 수 있다. 또한, 시스템 계층은 일반적으로, 오디오 또는 비디오 또는 다른 데이터인 스트림의 타입과 관계없는 파라미터들을 전달한다. 이는 트리밍 정보, 사전 롤, 및 사후 롤 데이터를 포함한다. 일반적으로, 디코더는 요청된 샘플이 들어 있는 AU 이전에 rpre개의 사전 롤 AU들을 필요로 한다. 또한, rpost개의 사후 롤이 필요한데, 그러나 디코딩 모드에 따라 결정된다(확장을 디코딩하는 것은 사후 롤 AU들을 요구할 수 있고 반면 기본 디코딩 연산은 사후 롤 AU를 요구하지 않는 것으로 정의된다).
디코더가 각각 뒤이은 디코딩을 위해 요구된 내부 상태 정보를 생성하거나 디코더 내의 남은 데이터를 플러싱하는 것을 가능하게 하도록, 디코더를 위해 각각의 AU는 그것이 사전 롤 또는 사후 롤 AU인지 여부가 표시되어야 한다.
시스템 계층과 오디오 디코더 사이의 통신이 도 2에서 도시된다.
오디오 디코더는 AudioSpecificConfig() 구조로 시스템 계층에 의해 초기화 되는데, 이는 샘플 주파수, 채널 구성(예를 들어, 스트레오용으로 2개), 프레임크기 n(예를 들어 AAC LC의 경우에 1024), 및 명시적으로 시그널링된 코덱 확장들에 대한 추가 지연 d에 관한 정보가 들어 있는 디코더의 출력 구성을 시스템 계층에 야기한다. 특히, 도 2는 다음의 액션들을 도시한다:
1. 처음 rpre개의 액세스 유닛들이 디코더로 제공되고 디코딩된 이후에 시스템 계층에 의해 조용히 버려진다.
2. 디코더가 오직 a PCM 샘플들만을 출력하도록, 첫번째 사전 롤이 아닌 액세스 유닛에는 타입 EXT_TRIM의 확장 페이로드(payload)에서의 trim_from_beginning 정보가 들어 있을 수 있다. 또한, 선택적 코덱 확장에 의해 발생된 추가 d PCM 샘플들은 지워 없어져야 한다.
구현에 따라 이는 d개 만큼 모든 다른 병렬 스트림들을 지연시키거나, 처음 d 샘플들을 무효로 표시하고 렌더링 시에 또는 바람직하게는 디코더 내에서 무효한 샘플들을 지워 없애는 것과 같은 적절한 액션을 취하여 일어날 수 있다.
권고된 바와 같이, 디코더 내에서 d 샘플들이 지워 없어지는 것이 일어난다면, 그러면 시스템 계층은, 제6 단계에서 약술된 바와 같이, rpost개의 액세스 유닛들의 소비 이후에 디코더에 의해 a 샘플들이 들어 있는 첫번째 합성 유닛만이 제공됨을 알 필요가 있다.
3. 그 다음에 변함없는 지속시간 n을 갖는 모든 액세스 유닛들이 디코딩되고 합성 유닛들이 시스템 계층으로 제공된다.
4. 디코더가 오직 b PCM 샘플들만을 발생시키도록 사후 롤 액세스 유닛들 이전의 액세스 유닛에는 선택적 trim_from_end 정보가 들어 있을 수 있다.
5. 누락된 d PCM 샘플들이 발생될 수 있도록 오디오 디코더에 마지막 rpost개의 사후 롤 액세스 유닛들이 제공된다. (0일 수 있는) d의 값에 따라 이는 어떠한 샘플들도 없는 합성 유닛들을 야기할 수 있다. 추가 지연 d의 값에 관계 없이, 완전히 해제할(de-initialize) 수 있도록 디코더에 모든 사후 롤 액세스 유닛들을 제공할 것이 권장된다.
인코더는 일치하는 시간 작동상태를 가져야 한다. rpre개의 사전 롤 AU들을 디코딩한 이후에, 초기 손실 및 헤딩(heading) 샘플들 없이, 원래의 입력 신호가 생기도록 인코더는 입력 신호를 정렬해야 한다. 특히 파일 기반 인코더 연산들에 있어서 이는 인코더의 추가 룩 어헤드 샘플들 및 추가적으로 삽입된 무음 샘플들이 정수 오디오 프레임 크기의 곱이고 그러므로 인코더의 출력에서 버려질 수 있을 것을 요구할 것이다.
그러한 정렬이 가능하지 않은 시나리오들, 예를 들어 실시간 오디오 인코딩에서, 디코더가 사후 디코더 트리밍 수단으로 뜻하지 않게 삽입된 룩 어헤드 샘플들을 지워 없앨 수 있도록 인코더는 트리밍 정보를 삽입해야 한다. 인코더들은 트레일링(trailing) 샘플들에 대한 사후 디코더 트리밍 정보를 삽입해야 한다. 이는 마지막 rpost개 사후 롤 AU들에 선행하는 액세스 유닛에서 시그널링될 것이다.
인코더에 설정된 트리밍 정보는 사후 디코더 트리밍 수단이 이용 가능하다고 가정하여 설정될 수 있다.
도 3은 첫번째 가능한 실시예에 따른 인코딩된 오디오 데이터의 유효성에 관한 정보를 제공하기 위한 방법의 도식적 흐름도를 도시한다. 상기 방법은 무효한 오디오 데이터의 시작에서의 데이터의 양을 기술하는 정보가 제공되는 액션 302를 포함한다. 제공된 정보는 그러면 관련된 코딩된 오디오 데이터 유닛에 삽입되거나, 관련된 코딩된 오디오 데이터 유닛과 결합될 수 있다. 데이터의 양은 다수의 샘플들(예를 들어, PCM 샘플들), 마이크로세컨드, 밀리세컨드, 또는 코딩된 오디오 데이터 유닛에 의해 제공된 오디오 신호 섹션의 길이의 백분율로 표현될 수 있다.
도 4는 여기에 기술된 사상들의 두번째 가능한 실시예에 따른 인코딩된 오디오 데이터의 유효성에 관한 정보를 제공하기 위한 방법의 도식적 흐름도를 도시한다. 상기 방법은 무효한 오디오 데이터 유닛의 끝에서의 데이터의 양을 기술하는 정보가 제공되는 액션 402를 포함한다.
도 5는 여기에 기술된 사상들의 세번째 가능한 실시예에 따른 인코딩된 오디오 데이터의 유효성에 관한 정보를 제공하기 위한 방법의 도식적 흐름도를 도시한다. 상기 방법은 무효한 오디오 데이터 유닛의 시작 및 끝에서의 데이터의 양 모두를 기술하는 정보가 제공되는 액션 502를 포함한다.
도 3 내지 5에 도시된 실시예들에서, 무효한 오디오 데이터 유닛 내의 데이터의 양을 기술하는 정보는 인코딩된 오디오 데이터를 발생시키는 인코딩 프로세스로부터 얻게 될 수 있다. 오디오 데이터의 인코딩 중에, 인코딩 알고리즘은 인코딩될 오디오 신호의 경계(시작 또는 끝)를 넘어 확장하는 오디오 샘플들의 입력 범위를 고려할 수 있다. 실제 오디오 샘플들로 완전히 채워지지 않은 블록 또는 프레임이 일반적으로 0의 진폭을 갖는 "더미(dummn)" 오디오 샘플들로 채워질 수 있도록 전형적인 인코딩 프로세스들은 "블록들" 또는 "프레임들"로 복수의 오디오 샘플들을 모은다. 인코딩 알고리즘에 있어서 이는 알고리즘 내의 데이터 프로세싱이 경계(시작 또는 끝)가 들어 있는 프로세싱된 오디오 데이터에 따라 수정될 필요가 없도록 입력 데이터가 항상 동일한 방식으로 구조화되는 이점을 제공한다. 다시 말해, 입력된 데이터는 데이터 구조화 및 크기에 관해 인코딩 알고리즘의 요구사항들에 따라 조절된다. 일반적으로, 입력 데이터의 조절은 본질적으로 상응하는 출력 데이터의 구조를 야기하는데, 즉, 출력 데이터는 입력 데이터의 조절을 반영한다. 출력된 데이터는 (조절되기 전의) 원래의 입력 데이터와 다르다. 오직 0을 0의 진폭을 갖는 샘플들만이 원래의 오디오 데이터에 추가되었기 때문에 이 차이는 일반적으로 들을 수 없다. 그렇지만, 상기 조절은 원래의 오디오 데이터의 지속시간을 수정할 수 있는데, 일반적으로 무음 세그먼트들로 원래의 오디오 데이터를 늘린다.
도 6은 여기에 기술된 사상들의 일 실시예에 따른 데이터의 유효성에 관한 정보를 포함하는 인코딩된 데이터를 수신하기 위한 방법의 도식적 흐름도를 도시한다. 상기 방법은 인코딩된 데이터를 수신하는 액션 602를 포함한다. 인코딩된 데이터에는 무효한 데이터의 양을 기술하는 정보가 들어 있다. 적어도 세 가지의 경우들로 구별될 수 있는데: 상기 정보는 무효한 오디오 데이터 유닛의 시작에서의 데이터의 양, 무효한 오디오 데이터 유닛의 끝에서의 데이터의 양, 및 무효한 오디오 데이터의 시작과 끝에서의 데이터의 양을 기술할 수 있다.
인코딩된 데이터를 수신하기 위한 방법의 액션 604에서, 오직 무효로 표시되지 않은 샘플들만 들어 있는 디코딩된 출력 데이터가 제공된다. 인코딩된 데이터를 수신하기 위한 방법을 실행하는 요소의 디코딩된 출력 데이터 다운스트림의 소비자는 단일 샘플들과 같은 출력 데이터 부분들의 유효성 문제에 대처할 필요 없이 제공된 디코딩된 출력 데이터를 사용할 수 있다.
도 7은 여기에 기술된 사상들의 다른 실시예에 따른 인코딩된 데이터를 수신하기 위한 방법의 도식적 흐름도를 도시한다. 액션 702에서 인코딩된 데이터가 수신된다. 액션 704에서, 예를 들어 디코딩된 출력 데이터를 쓰는 다운스트림 애플리케이션에 코딩된 오디오 데이터 유닛의 모든 오디오 샘플들이 디코딩된 출력 데이터가 제공된다. 또한, 액션 706을 통해, 디코딩된 출력 데이터의 어느 부분이 유효한지의 정보가 제공된다. 디코딩된 출력 데이터를 쓰는 애플리케이션은 그러면, 예를 들어, 무효한 데이터를 없애고 연속적인 유효한 데이터의 세그먼트들을 연결시킬 수 있다. 이 방식으로, 인위적인(artificial) 무음들이 들어있지 않게 애플리케이션에 의해 디코딩된 출력 데이터가 프로세싱될 수 있다.
도 8은 여기에 기술된 사상들의 일 실시예에 따른 인코더(800)의 입력/출력 도면을 도시한다. 인코더(800)는 오디오 데이터, 예를 들어 PCM 샘플들의 스트림을 수신하다. 오디오 데이터는 그 다음에 무손실 인코딩 알고리즘 또는 손실 인코딩 알고리즘을 이용하여 인코딩된다. 실행 중에, 인코딩 알고리즘은 인코더(800)의 입력에서 제공된 오디오 데이터를 수정해야 할 수 있다. 그러한 수정의 이유는 원래의 오디오 데이터가 인코딩 알고리즘의 요구사항들에 맞도록 하게 하는 것일 수 있다. 상기에서 언급된 바와 같이, 전형적인 원래의 오디오 데이터의 수정은 원래의 오디오 데이터가 정수 프레임들이나 블록들에 맞도록, 및/또는 첫번째 실제 오디오 샘플이 프로세싱되기 전에 인코딩 알고리즘이 적절히 초기화되도록 하는 추가 오디오 샘플들의 삽입이다. 입력된 오디오 데이터의 조절을 수행하는 인코딩 알고리즘 또는 인코더(800)의 엔티티로부터 수행된 수정에 관한 정보를 얻게 될 수 있다. 이 수정 정보로부터, 무효한 오디오 데이터 유닛의 시작 및/또는 끝에서의 정보의 양을 기술하는 정보가 도출될 수 있다. 인코더(800)는 예를 들어 인코딩 알고리즘 또는 입력된 오디오 데이터 조절 엔티티에 의해 무효로 표시된 샘플들의 수를 세기 위한 카운터(counter)를 포함할 수 있다. 무효한 오디오 데이터 유닛의 시작 및/또는 끝에서의 정보의 양을 기술하는 정보는 인코딩된 오디오 데이터와 함께 인코더(800)의 출력으로 제공된다.
도 9는 여기에 기술된 사상들의 다른 실시예에 따른 인코더(900)의 도식적 입력/출력 도면을 도시한다. 도 8에 도시된 인코더(800)와 비교하여, 도 9에 도시된 인코더(900)의 출력은 다른 포맷을 따른다. 인코더(900)에 의해 출력된 인코딩된 오디오 데이터는 스트림 또는 일련의 코딩된 오디오 데이터 유닛들(922)로 포맷된다. 각각의 코딩된 오디오 데이터 유닛(922)과 함께, 상기 스트림에는 유효성 정보(924)가 들어 있다. 코딩된 오디오 데이터 유닛(922) 및 그의 상응하는 유효성 정보(924)는 강화된 코딩된 오디오 데이터 유닛(920)으로 여겨질 수 있다. 유효성 정보(924)를 이용하여, 강화된 오디오 데이터 유닛들(920)의 스트림의 수신기는 코딩된 오디오 데이터 유닛들(922)을 디코딩하여 유효한 데이터라고 표시된 그런 부분들만 사용할 수 있다. 용어 "강화된 인코딘된 오디오 데이터 유닛"은 반드시 그 포맷이 강화되지 않은 인코딩된 오디오 데이터 유닛들과 다르다는 것을 뜻하는 것은 아니라는 것에 주의해야 한다. 예를 들어, 유효성 정보는 코디오딘 오디오 데이터 유닛의 현재 사용되지 않는 데이터 필들에 저장될 수 있다.
도 10은 여기에 기술된 사상들의 일 실시예에 따른 디코더(1000)의 도식적 블록도를 도시한다. 디코더(1000)는 디코딩부(1004)로 인코딩된 오디오 데이터 유닛들을 전달하는 입력부(1002)에서 인코딩된 데이터를 수신한다. 인코딩된 데이터는, 인코딩된 오디오 데이터의 유효성에 관한 정보를 제공하기 위한 방법 또는 상응하는 인코더의 기술과 관련하여 상기에서 기술된 바와 같은, 데이터의 유효성에 관한 정보를 포함한다. 디코더(1000)의 입력부는 데이터의 유효성에 관한 정보를 수신하도록 구성될 수 있다. 이 특징은 입력부(1002)로 이어지는 대시 기호로 된 화살표로 표시된 바와 같은 선택사항이다. 또한, 입력부(1002)는 디코딩부(1004)로 데이터의 유효성에 관한 정보를 제공하도록 구성될 수 있다. 다시, 이 특징은 선택사항이다. 입력부(1002)는 단순히 디코딩부(1004)로 데이터의 유효성에 관한 정보를 전달할 수 있거나, 입력부(1002)는 데이터의 유효성에 관한 정보가 들어 있는 인코딩된 데이터로부터 데이터의 유효성에 관한 정보를 추출할 수 있다. 입력부(1002)가 데이터의 유효성에 관한 정보를 처리하는 것에 대한 대안으로, 디코딩부(1004)가 이 정보를 추출하여 그것을 무효한 정보를 필터링하는데 사용할 수 있다. 디코딩부(1004)는 디코더(1000)의 출력부(1006)에 연결된다. 오디오 렌더링기와 같은 유효한 오디오 샘플들의 다운스트림 소비 엔티티에 유효한 오디오 샘플들을 제공하는 출력부(1006)로 디코딩부(1004)에 의해 유효한 디코딩된 오디오 샘플들이 전송되거나 보내진다. 데이터의 유효성에 관한 정보의 프로세싱은 다운스트림 소비 엔티티가 알기 쉽다. 디코딩부(1004) 및 출력부(1006) 중에서 적어도 하나는, 다운스트림 소비 엔티티에게 제공될 오디오 샘플들의 스트림으로부터 무효한 오디오 샘플들이 제거되었을지라도, 어떠한 공백도 생기지 않도록 유효한 디코딩된 오디오 샘플들을 배열하기 위해 구성될 수 있다.
도 11은 여기에 기술된 사상들의 다른 실시예에 따른 디코더(1100)의 도식적 블록도를 도시한다. 디코더(1100)는 입력부(1102), 디코딩부(1104), 및 출력부(1106)를 포함한다. 입력부(1102)는 인코딩된 데이터를 수신하여 인코딩된 오디오 데이터 유닛을 디코딩부(1104)에 제공한다. 도 10에 도시된 디코더(1000)와 관련하여 상기에서 설명된 바와 같이, 입력부(1102)는, 선택사항으로서, 그 다음에 디코딩부(1104)로 전달될 수 있는 별도의 유효성 정보를 수신할 수 있다. 디코딩부(1104)는 인코딩된 오디오 데이터 유닛들을 디코딩된 오디오 샘플들로 전환시켜 그것들을 출력부(1106)로 전달한다. 또한, 디코딩부는 데이터의 유효성에 관한 정보를 출력부(1106)로 또한 전달한다. 데이터의 유효성에 관한 정보가 입력부(1102)에 의해 디코딩부(1104)로 제공되지 않은 경우에, 디코딩부(1104)는 데이터의 유효성에 관한 정보 그 자체를 결정할 수 있다. 출력부(1106)는 다운스트림 소비 엔티티에 디코딩된 오디오 샘플들 및 데이터의 유효성에 관한 정보를 제공한다.
다운스트림 소비 엔티티는 그러면 데이터의 유효성에 관한 정보 그 자체를 이용한다. 디코딩부(1104)에 의해 발생되어 출력부(1106)에 의해 제공된 디코딩된 오디오 샘플들에는, 일반적으로, 모든 디코딩된 오디오 샘플들, 즉, 유효한 오디오 샘플들 및 무효한 오디오 샘플들이 들어 있다.
인코딩된 오디오 데이터의 유효성에 관한 정보를 제공하기 위한 방법은 무효한 오디오 데이터 유닛의 데이터의 양을 결정하기 위해 다양한 정보를 사용할 수 있다. 또한 인코더도 이 정보를 이용할 수 있다. 다음 섹션들에서는 이를 위해 사용될 수 있는 다수의 정보: 사전 롤 데이터의 양, 인코더에 의해 추가된 추가 인위적인 데이터의 양, 원래의 압축되지 않은 입력 데이터의 길이, 및 사후 롤의 양이 기술된다.
한 가지 중요한 정보는 원래의 압축되지 않은 데이터의 시작에 상응하는 압축된 데이터 유닛 이전에 코딩되어야 하는 압축된 데이터 양인 사전 롤 데이터의 양이다. 예시적으로, 압축되지 않은 데이터 유닛들의 셋트의 인코딩 및 디코딩이 설명된다. 1024개 샘플들의 프레임 크기 및 사전 롤의 양 또한 1024개 샘플들을 고려해 볼 때, 2000개의 샘플들로 구성되는 원래의 압축되지 않은 PCM 오디오 데이터 셋트는 3개의 인코딩된 데이터 유닛들로 인코딩될 것이다. 첫번째 인코딩된 데이터 유닛은 1024개 샘플들의 지속시간을 갖는 사전 롤 데이터 유닛일 것이다. 두번째 인코딩된 데이터 유닛은 (다른 인코딩 인공부산물들이 주어지지 않은) 소스 신호의 원래의 1024개의 샘플들을 야기할 것이다. 세번째 인코딩된 데이터 유닛은 소스 신호의 남은 976개의 샘플들 및 프레임 입도에 의해 초래된 48개의 트레일링 샘플들로 구성되는 1024개의 샘플들을 야기할 것이다. 관련된 MDCT(modified discrete cosine transform, 수정 이산 코사인 변환) 또는 QMF(quadrature mirror filter, 격자구조 대칭 필터)와 같은 코딩 방법들의 속성들로 인해, 전체 원래의 신호를 복원하기 위해 디코더는 사전 롤을 피할 수 없고 필수적이다. 따라서, 상기의 예시에 있어서 비전문가가 예상했던 것보다 항상 하나의 압축된 데이터 유닛이 더 요구된다. 사전 롤 데이터의 양은 코딩 의존적이고 코딩 모드에 고정되어 있으며 시간이 지나도 변함없다. 그러므로 무작위로 압축된 데이터 유닛들에 액세스할 것이 또한 요구된다. 사전 롤은 압축되지 않은 입력 데이터에 상응하는 디코딩된 압축되지 않은 출력 데이터를 얻기 위해 또한 요구된다.
다른 정보는 인코더에 의해 추가된 추가 인위적인 데이터의 양이다. 이 추가 데이터는 일반적으로, 짧은 필터 뱅크들에서 긴 필터 뱅크들로의 스위칭과 같은, 인코딩에서의 더 현명한 결정들이 이루어질 수 있도록 하는 인코더 내의 미래의 샘플들의 프리뷰에서 기인한다. 오직 인코더만이 이 룩 어헤드 값을 알고, 비록 시간이 지나도 변함없다 할지라도, 동일한 코딩 모드에 대한 특정 벤터의 인코더 구현들 사이에서는 어렵다. 이 추가 데이터의 길이는 디코더로 검출하기 어렵고 종종 발견법(heuristics)이 적용되는데, 예를 들어 만약 특정 인코더가 어떤 다른 발견법들에 의해 검출되면 시작에서의 무음의 양은 추가 인코더 지연 또는 매직(magic) 값인 것으로 가정된다.
오직 인코더에만 이용 가능한 다음 정보는 원래의 압축되지 않은 입력 데이터의 길이이다. 상기의 예시에서 원래의 입력된 압축되지 않은 데이터에서 제공되지 않은 48개의 트레일링 샘플들은 디코더에 의해 생성된다. 그 이유는 코덱 의존적인 값으로 고정되는 프레임 입도 때문이다. MPEG-4 AAC에 있어서 전형적인 값은 1024 또는 960이고, 따라서 인코더는 항상 프레임 크기 그리드에 맞도록 원래의 데이터를 패딩한다. 기존의 해결책들은 일반적으로 사전 롤에서 기인하는 모든 헤딩 추가 샘플들, 추가 인위적인 데이터, 및 소스 오디오 데이터의 길이의 합이 들어 있는 시스템 계층 상에 메타데이터(metadata)를 추가한다. 이 방법은 그러나 오직 파일 기반 연산들에서만 작동하는데, 여기서 인코딩 전에 지속시간이 알려진다. 이는 또한 생성되는 파일을 편집할 때 약간 취약성을 가지는데; 그 다음에 또한 메타 데이터가 업데이트되어야 한다. 대안적인 접근법은 시스템 계층에서의 타임스탬프들 또는 지속시간들의 사용이다. 이를 이용하는 것은 불행히도 데이터의 어느 쪽 절반이 유효한지를 명확히 규정하지 않는다. 또한 트리밍은 일반적으로 시스템 계층에서 행해질 수 없다.
마지막으로, 다른 정보가 점점 중요해지는데, 이는 사후 롤의 양 정보이다. 사후 롤은 디코더가 압축되지 않은 원래의 데이터에 상응하는 압축되지 않은 데이터를 제공할 수 있도록 코딩된 데이터 유닛 이후에 디코더로 얼마나 많은 데이터가 주어져야 할지를 규정한다. 일반적으로, 사후 롤은 사전 롤과 맞바뀔 있고 반대의 경우도 마찬가지이다. 그러나, 사후 롤과 사전 롤의 합은 모든 디코더 모드들에 대해 변한다. [ISO/IEC 14496-24:2007]와 같은 현재의 사양들은 모든 디코더 모드들에 대해 고정된 사전 롤로 가정하고 사후 롤과 대등한 값을 갖는 추가 지연을 규정하기 위해 사후 롤을 언급하는 것을 무시한다. 비록 [ISO/IEC 14496-24:2007]의 도 4에 도시되어 있으나 마지막 코딩된 데이터 유닛(MPEG 전문용어에서 액세스 유닛, AU)은 선택적이고 사실 오직 낮은 레이트를 갖는 디코더의 듀얼 레이트 프로세싱 및 두 배의 레이트로의 확장에만 필요한 사후 롤 AU임을 언급하지는 않는다. 사후 롤이 있을 때에 무효한 데이터의 제거를 위한 방법을 규정하는 것도 본 발명의 일 실시예이다.
상기 정보는 MP4 파일 포맷 [ISO/IEC 14496-14]에서의 MPEG-4 AAC에 대해 [ISO/IEC 14496-24:2007]에서 부분적으로 사용된다. 이른바 편집에서 코딩된 데이터에 대한 오프셋(offset) 및 유효성 기간을 규정하여 코딩된 데이터의 유효한 부분을 표시하기 위해 이른바 편집 리스트가 사용된다. 또한 프레임 입도에 관한 사전 롤의 양이 규정될 수 있다. 이 해결책의 단점은 오디오 코딩 특정 문제들을 극복하기 위한 편집 리스트의 사용이다. 이는 데이터의 수정 없이 일반적인 비선형 편집을 규정하기 위한 이전의 편집 리스트들의 사용과 충돌한다. 따라서 오디오 특정 편집들과 일반적인 편집들 사이를 구별하는 것이 어려워지거나 심지어 불가능해진다.
다른 잠재적인 해결책은 mp3 및 mp3프로(mp3Pro)에서의 원래의 파일 길이의 복구에 대한 방법이다. 코덱 지연 및 파일의 전체 지속시간이 첫번째 코딩된 오디오 데이터 유닛에 제공된다. 이는 불행히도 오직 파일 기반 연산들 또는, 정보가 그 안에 들어 있기 때문에, 인코더가 첫번째 코딩된 오디오 데이터 유닛을 생성할 때 이미 알려진 전체 길이를 갖는 스트림들에 대해서만 작동한다는 문제를 갖는다.
기존의 해결책들의 단점들을 극복하기 위해, 본 발명의 실시예들은 코딩된 오디오 데이터 내에 인코더의 출력에서의 데이터의 유효성에 관한 정보를 제공한다. 정보는 발생된 코딩된 오디오 데이터 유닛들에 첨부된다. 따라서, 시작에서 인위적인 추가 데이터는 무효한 데이터로 표시되고 프레임을 채우기 위해 사용된 트레일링 데이터도 트리밍되어야할 무효한 데이터로 표시된다. 본 발명의 실시예에 따른 표시는 디코더가 출력부에 데이터를 제공하기 전에 무효한 데이터를 지워 없애도록, 코딩된 데이터 유닛 내의 유효한 데이터 대 유효한 데이터의 구별을 가능하게 하거나 대안으로, 다른 프로세싱 요소들에서 적절한 액션들이 일어날 수 있도록, 예를 들어 코딩된 데이터 유닛 내의 표현과 유사한 방식으로 데이터를 표시할 수 있다. 주어진 디코더 모드에 대해 값들이 알려지도록, 사전 롤 및 사후 롤인 다른 관련 데이터들이 시스템 내에 규정되고 인코더 및 디코더 둘 다에 의해 이해된다.
따라서 상기 개시된 사상들의 일 양상은 시변 데이터와 시불변 데이터의 구분을 제공한다. 시변 데이터는 오직 시작에서만 있는 인위적인 추가 데이터에 관한 정보 및 프레임을 채우기 위한 트레일링 데이터로 구성된다. 시불변 데이터는 사전 롤 및 사후 롤 데이터로 구성되고, 그러므로 코딩된 오디오 데이터 유닛들로 전송될 필요는 없지만 대역외(out-of-band)로 전송되어야 하거나 주어진 오디오 코딩 기법에 대한 디코더 구성 기록으로부터 도출될 수 있는 디코딩 모드에 의해 사전에 알려진다.
코딩된 오디오 데이터 유닛을 표현하는 정보에 따라 코딩된 오디오 데이터의 타임스탬프들을 설정할 것이 추가로 권장된다. 따라서, 시간스탬프 t를 갖는 원래의 압축되지 않은 오디오 샘플은 타임스탬프 t를 갖는 코딩된 오디오 데이터 유닛의 디코딩 연산에 의해 복구될 것으로 가정된다. 이는 추가로 필요한 사전 롤 또는 사후 롤 데이터 유닛들을 포함하지 않는다. 예를 들어, 1500개의 샘플들 및 초기 타임스탬프 값 1을 갖는 주어진 원래의 오디오 신호는 프레임 크기 1024, 사전 롤 1024, 및 추가 인위적인 지연 200 샘플들의 세 개의 코딩된 오디오 데이터 유닛들로 인코딩될 것이다. 첫번째 코딩된 오디오 데이터 유닛은 타임스탬프 1-1024 = -1023을 가지고 오로지 사진 롤을 위해서만 사용된다. 두번째 코딩된 오디오 데이터 유닛은 타임스탬프 1을 가지고 처음 200개의 샘플들을 트리밍하기 위한 코딩된 오디오 데이터 유닛 내의 정보를 포함한다. 비록 디코딩 결과는 보통 1024개의 샘플들로 구성될 것이나 처음 200개의 샘플들은 출력에서 제거되고 오직 824개의 샘플들만이 남는다. 세번째 코딩된 오디오 데이터 유닛은 타임스탬프 825를 가지고 또한 남아 잇는 676개의 샘플들에 대한 길이 1024의 결과로서 초래된 오디오 출력 샘플들을 트리밍하기 위한 코딩된 오디오 데이터 유닛 내의 정보가 들어 있다. 따라서, 마지막 1024-676=348 샘플들은 무효하다는 정보가 코딩된 오디오 데이터 유닛들 내에 저장된다.
예를 들어 각각 다른 디코더 모드로 인한 1000개 샘플들의 사후 롤이 있을 때에 인코더 출력은 네 개의 코딩된 오디오 데이터 유닛들로 변할 것이다. 세 개의 처음 코딩된 오디오 데이터 유닛들은 변함없이 있고 다른 코딩된 오디오 데이터 유닛이 부가된다. 디코딩할 때, 첫번째 사전 롤 액세스 유닛은 상기 예시와 같이 남아 있는다. 두번째 액세스 유닛에 대한 디코딩에서는 그러나 대안적인 디코더 모드에 대한 추가 지연을 고려해야 한다. 추가 디코더 지연을 정확히 처리하기 위해 이 문서 내에서 세 가지의 기본적인 해결책들이 제공된다.
1. 디코더에서 시스템으로 디코더 지연이 전송되는데, 그 다음에 오디오-비디오 동기화를 유지하기 위해 모든 다른 병렬 스트림들을 지연시킨다.
2. 디코더에서 시스템으로 디코더 지연이 전송되는데, 그 다음에 오디오 프로세싱 요소, 예를 들어 렌더링 요소에서 무효한 샘플들이 제거될 수 있다.
3. 디코더 지연이 디코더에서 제거된다. 이는 시그널링된 수의 사후 롤 코딩된 데이터 유닛들이 디코더로 제공될 때까지 추가 지연의 제거로 인해 처음에 더 작은 크기를 갖거나 데이터 출력의 지연을 갖는 압축이 해제된 데이터 유닛을 야기한다. 후자의 방법이 권장되고 본 문서의 남은 부분으로 가정된다.
디코더 또는 임베딩 시스템 계층은 임의의 사전 롤 및/또는 사후 롤 코딩된 데이터 유닛들에 대해 디코더에 의해 제공된 전체 출력을 버릴 것이다. 추가 트리밍 정보가 포함된 코딩된 오디오 데이터 유닛들에 대해, 추가 정보를 갖는 오디오 디코더에 의해 유도되는 디코더 또는 임베딩 계층은 샘플들을 제거할 수 있다. 트리밍을 정확히 처리하기 위한 세 가지의 기본적인 해결책들이 존재한다:
1. 오디오-비디오 동기화를 유지하기 위해 모든 다른 병렬 스트림들을 지연시키는 처음의 트리밍에 대한 트리밍 정보가 디코더에서 시스템으로 전송된다. 끝에서 트리밍은 적용되지 않는다.
2. 트리밍 정보가 압축이 해제된 데이터 유닛들과 함께 디코더에서 시스템으로 전송되는데, 이는 그 다음에 오디오 프로세싱 요소, 예를 들어 렌더링 요소에서 무효한 샘플들을 제거하는데 적용될 수 있다.
3. 트리밍 정보가 디코더 내에 적용되어 시스템으로 제공되기 전에 압축이 해제된 데이터 유닛의 시작 또는 끝에서 무효한 샘플들이 제거된다. 이는 일반적인 프레임 지속시간보다 짧은 지속시간을 갖는 압축이 해제된 데이터 유닛들을 야기한다. 시스템은 디코더가 트리밍을 적용하는 것으로 가정하고 시스템 내의 타임스탬프들 및 지속시각은 그러므로 적용될 트리밍을 반영해야 할 것이 권장된다.
다중 레이트 디코더 연산들을 위해 트리밍 연산의 해상도는, 일반적으로 더 높은 레이트 구성요소로 인코딩되는, 원래의 샘플링 주파수와 관련되어야 한다.
트리밍 연산에 대한 몇 가지 해상도를 생각할 수 있는데, 예를 들어 마이크로세컨드인 고정 해상도, 가장 낮은 레이트 샘플링 주파수, 또는 가장 높은 레이트 샘플링 주파수. 원래의 샘플링 주파수에 매칭시키기(match) 위해, 맞춤 해상도로서 트리밍 값들과 함께 트리밍 연산의 해상도를 제공하는 것이 본 발명의 일 실시예이다. 따라서, 트리밍 정보의 포맷은 다음과 같은 구문으로 표현될 수 있다:
typedef struct trim {
unsigned int resolution;
unsigned short remove_from_begin;
unsigned short remove_from_end;
} ;
제시된 구문은 코딩된 오디오 데이터 유닛 내에 어떻게 트리밍 정보가 들어 있을 수 있는지에 대한 예시일 뿐임에 주의해야 한다. 유효한 샘플들 및 무효한 샘플들 사이의 구별을 가능하게 한다고 가정하여, 다른 수정된 변형들이 본 발명에 의해 다뤄진다.
비록 본 발명의 몇몇 양상들이 장치의 맥락에서 기술되었으나, 이 양상들은 또한 상응하는 방법의 설명을 나타내는데, 즉, 블록이나 소자는 방법 단계 또는 방법 단계의 특징에 상응한다는 것에 주의해야 한다. 비슷하게, 방법 단계의 매락에서 기술된 양상들은 또한 상응하는 블록이나 아이템 또는 상응하는 장치의 특징에 대한 설명을 나타낸다.
본 발명에 따른 인코딩된 데이터는 디지털 저장 매체에 저장될 수 있거나 인터넷(Internet)과 같은 무선 전송 매체 또는 유선 전송 매체와 같은 전송 매체로 전송될 수 있다.
특정 구현 요구사항들에 따라, 본 발명의 실시예들은 하드웨어 또는 소프트웨어로 구현될 수 있다. 상기 구현은 각각의 방법이 수행되도록 프로그램 가능한 컴퓨터 시스템과 협조하는(또는 협조할 수 있는), 그 위에 저장된 전자적으로 판독 가능한 제어 신호들을 갖는 디지털 저장 매체, 예를 들어 플로피 디스크, DVD, CD, ROM, PROM, EPROM, EEPROM, 또는 플래시 메모리를 이용하여 수행될 수 있다. 본 발명의 다른 실시예들은, 여기에 기술된 방법들 중 하나가 수행되도록, 프로그램 가능한 컴퓨터 시스템과 협조할 수 있는, 전자적으로 판독 가능한 제어 신호들을 갖는 데이터 캐리어를 포함한다.
또한, 본 발명의 실시예들은 프로그램 코드를 갖는 컴퓨터 프로그램 제품으로 구현될 수 있는데, 상기 프로그램 코드는 컴퓨터 프로그램 제품이 컴퓨터 상에서 구동할 때 상기 방법들 중 하나를 수행하기 위해 작동된다. 프로그램 코드는 예를 들어 기계 판독 가능한 캐리어 상에 저장될 수 있다. 다른 실시예들은 기계 판독 가능한 캐리어 상에 저장된, 여기서 기술된 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램을 포함한다.
본 발명의 다른 실시예는 여기서 기술된 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램을 표현하는 데이터 스트림 또는 신호들의 시퀀스이다. 데이터 스트림 또는 신호들의 시퀀스는 예를 들어 데이터 통신 연결, 예를 들어 인터넷을 통해 전송되도록 구성될 수 있다.
그러나 다른 실시예는 여기서 기술된 방법들 중 하나를 수행하기 위해 구성되거나 적합화된 프로세싱 수단, 예를 들어 컴퓨터, 또는 프로그램 가능한 논리 소자를 포함한다.

Claims (18)

  1. 무효한 프레임의 시작에서의 데이터의 양을 기술하는 프레임 레벨에 관한 정보를 제공하는 단계,
    또는 무효한 상기 프레임의 끝에서의 데이터의 양을 기술하는 상기 프레임 레벨에 관한 정보를 제공하는 단계,
    또는 무효한 상기 프레임의 시작 및 끝에서의 데이터의 양 모두를 기술하는 상기 프레임 레벨에 관한 정보를 제공하는 단계;
    를 포함하되,
    인코딩된 오디오 데이터는 일련의 프레임들이며,
    각각의 프레임에는 유효한 오디오 데이터에 관한 정보가 들어 있을 수 있는 것을 특징으로 하는 무효한 데이터가 트리밍될(trim) 수 있도록 인코딩된 오디오 데이터의 유효성에 관한 정보를 제공하기 위한 방법.
  2. 청구항 1에 있어서,
    인코딩된 오디오 데이터의 유효성에 관한 정보는 선택적이고 무시될 수 있는 상기 프레임의 한 부분에 배치되는 것을 특징으로 하는 인코딩된 오디오 데이터의 유효성에 관한 정보를 제공하기 위한 방법.
  3. 청구항 1에 있어서,
    인코딩된 오디오 데이터의 유효성에 관한 정보는 발생되는 상기 프레임들에 첨부되는 것을 특징으로 하는 인코딩된 오디오 데이터의 유효성에 관한 정보를 제공하기 위한 방법.
  4. 청구항 1에 있어서,
    상기 유효한 오디오 데이터는 스트림 기반 애플리케이션 또는 라이브 애플리케이션(live application)으로부터 생기는 것을 특징으로 하는 인코딩된 오디오 데이터의 유효성에 관한 정보를 제공하기 위한 방법.
  5. 청구항 1에 있어서,
    사전 롤(pre-roll) 데이터의 양과 사후 롤(post-roll) 데이터의 양 중에서 적어도 하나를 결정하는 단계;
    를 더 포함하는 것을 특징으로 하는 인코딩된 오디오 데이터의 유효성에 관한 정보를 제공하기 위한 방법.
  6. 청구항 1에 있어서,
    인코딩된 오디오 데이터의 유효성에 관한 정보(924)는 시변 데이터 및 시불변 데이터를 포함하는 것을 특징으로 하는 인코딩된 오디오 데이터의 유효성에 관한 정보를 제공하기 위한 방법.
  7. 청구항 1에 따른 데이터의 유효성에 관한 정보를 제공하기 위한 방법을 적용하도록 구성된, 데이터의 유효성에 관한 정보를 제공하기 위한 인코더(800; 900).
  8. 무효한 프레임의 시작에서의 데이터의 양을 기술하는 프레임 레벨에 관한 정보,
    또는 무효한 상기 프레임의 끝에서의 데이터의 양을 기술하는 상기 프레임 레벨에 관한 정보,
    또는 무효한 상기 프레임의 시작 및 끝에서의 데이터의 양 모두를 기술하는 상기 프레임 레벨에 관한 정보,
    를 갖는 인코딩된 데이터를 수신하는 단계; 및
    오직 무효로 표시되지 않은 샘플들만 들어 있거나,
    상기 프레임의 모든 오디오 샘플들이 들어 있고 데이터의 어느 부분이 유효한지 애플리케이션에게 정보를 제공하는,
    디코딩된 출력 데이터를 제공하는 단계;
    를 포함하는 것을 특징으로 하는 무효한 데이터가 트리밍될 수 있도록, 데이터의 유효성에 관한 정보를 포함하는 인코딩된 데이터를 수신하여 디코딩된 출력 데이터를 제공하기 위한 방법.
  9. 청구항 8에 있어서,
    사전 롤의 양과 사후 롤의 양 중에서 적어도 하나를 결정하는 단계; 및
    원래의 신호를 복원하기 위해 상기 사전 롤에 속하는 프레임들과 상기 사후 롤에 속하는 프레임들 중에서 적어도 하나를 이용하는 단계;
    를 포함하는 것을 특징으로 하는 데이터의 유효성에 관한 정보를 포함하는 인코딩된 데이터를 수신하여 디코딩된 출력 데이터를 제공하기 위한 방법.
  10. 청구항 8에 있어서,
    상기 디코딩된 출력 데이터를 이용하여 디코더(1000; 1100)에서 시스템으로 디코더 지연을 전송하는 단계; 및
    상기 시스템에 의하여, 오디오-비디오 동기화를 유지하기 위해 다른 병렬 스트림들을 지연시키는 단계;
    를 포함하는 것을 특징으로 하는 데이터의 유효성에 관한 정보를 포함하는 인코딩된 데이터를 수신하여 디코딩된 출력 데이터를 제공하기 위한 방법.
  11. 청구항 8에 있어서,
    상기 디코딩된 출력 데이터를 이용하여 디코더(1000; 1100)에서 시스템으로 디코더 지연을 전송하는 단계; 및
    상기 시스템에 의하여, 오디오 프로세싱 요소에서 무효한 오디오 샘플들을 제거하는 단계;
    를 더 포함하는 것을 특징으로 하는 데이터의 유효성에 관한 정보를 포함하는 인코딩된 데이터를 수신하여 디코딩된 출력 데이터를 제공하기 위한 방법.
  12. 청구항 8에 있어서,
    디코더 내에서 디코더 지연을 제거하는 단계;
    를 더 포함하는 것을 특징으로 하는 데이터의 유효성에 관한 정보를 포함하는 인코딩된 데이터를 수신하여 디코딩된 출력 데이터를 제공하기 위한 방법.
  13. 청구항 8에 있어서,
    상기 프레임들은 추가 트리밍(trim) 정보를 포함하고,
    상기 방법은:
    상기 디코딩된 출력 데이터를 이용하여 디코더에서 시스템으로 상기 트리밍 정보를 전송하는 단계; 및
    상기 시스템에 의하여, 다른 병렬 스트림들을 지연시키는 단계;
    를 더 포함하는 것을 특징으로 하는 데이터의 유효성에 관한 정보를 포함하는 인코딩된 데이터를 수신하여 디코딩된 출력 데이터를 제공하기 위한 방법.
  14. 청구항 8에 있어서,
    상기 프레임들은 추가 트리밍 정보를 포함하고,
    상기 방법은:
    디코딩된 오디오 출력 데이터를 이용하여 디코더에서 시스템으로 디코딩된 상기 프레임들과 함께 상기 트리밍 정보를 전송하는 단계; 및
    오디오 프로세싱 요소에서 무효한 샘플들을 제거하기 위해 상기 트리밍 정보를 적용하는 단계;
    를 더 포함하는 것을 특징으로 하는 데이터의 유효성에 관한 정보를 포함하는 인코딩된 데이터를 수신하여 디코딩된 출력 데이터를 제공하기 위한 방법.
  15. 청구항 8에 있어서,
    상기 프레임들은 추가 트리밍 정보를 포함하고,
    상기 방법은:
    디코더 내에서 상기 트리밍 정보를 적용하여 트리밍된 디코딩된 프레임을 얻기 위해 디코딩된 프레임의 시작 또는 끝에서 무효한 샘플들을 제거하는 단계; 및
    디코딩된 오디오 출력 데이터를 이용하여 시스템에 상기 트리밍된 디코딩된 프레임을 제공하는 단계;
    를 더 포함하는 것을 특징으로 하는 데이터의 유효성에 관한 정보를 포함하는 인코딩된 데이터를 수신하여 디코딩된 출력 데이터를 제공하기 위한 방법.
  16. 그 안에 복수의 인코딩된 오디오 샘플들을 갖는 일련의 인코딩된 프레임들을 수신하기 위한 입력부;
    상기 입력부에 연결되고 데이터의 유효성에 관한 정보를 적용하도록 구성된 디코딩부; 및
    오직 유효한 오디오 샘플들만이 제공되거나,
    디코딩된 오디오 샘플들의 유효성에 관한 정보가 제공되는,
    디코딩된 오디오 샘플들을 제공하기 위한 출력부;
    를 포함하되,
    몇몇 프레임들에는 무효한 데이터가 트리밍될 수 있도록 데이터의 유효성에 관한 정보가 들어 있으며,
    상기 정보는 청구항 8에 따른 데이터의 유효성에 관한 정보를 포함하는 인코딩된 오디오 데이터를 수신하기 위한 방법에서 기술된 바와 같이 포맷되는(format) 것을 특징으로 하는 인코딩된 데이터를 수신하여 디코딩된 출력 데이터를 제공하기 위한 디코더.
  17. 컴퓨터 상에서 구동할 때,
    무효한 프레임의 시작에서의 데이터의 양을 기술하는 프레임 레벨에 관한 정보를 제공하는 단계,
    또는 무효한 상기 프레임의 끝에서의 데이터의 양을 기술하는 코딩된 상기 프레임 레벨에 관한 정보를 제공하는 단계,
    또는 무효한 상기 프레임의 시작 및 끝에서의 데이터의 양 모두를 기술하는 상기 프레임 레벨에 관한 정보를 제공하는 단계;
    를 포함하되, 인코딩된 오디오 데이터는 일련의 코딩된 프레임들이며, 각각의 코딩된 프레임에는 유효한 오디오 데이터에 관한 정보가 들어 있을 수 있는, 무효한 데이터가 트리밍될 수 있도록 인코딩된 오디오 데이터의 유효성에 관한 정보를 제공하기 위한 방법을 수행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램이 저장된 기록 매체.
  18. 컴퓨터 상에서 구동할 때,
    무효한 프레임의 시작에서의 데이터의 양을 기술하는 프레임 레벨에 관한 정보,
    또는 무효한 상기 프레임의 끝에서의 데이터의 양을 기술하는 상기 프레임 레벨에 관한 정보,
    또는 무효한 상기 프레임의 시작 또는 끝에서의 데이터의 양 모두를 기술하는 상기 프레임 레벨에 관한 정보,
    를 갖는 인코딩된 데이터를 수신하는 단계; 및
    오직 무효로 표시되지 않은 샘플들만 들어 있거나,
    상기 프레임의 모든 오디오 샘플들이 들어 있고 데이터의 어느 부분이 유효한지 애플리케이션에게 정보를 제공하는,
    디코딩된 출력 데이터를 제공하는 단계;
    인, 무효한 데이터가 트리밍될 수 있도록, 데이터의 유효성에 관한 정보를 포함하는 인코딩된 데이터를 수신하여 디코딩된 출력 데이터를 제공하기 위한 방법을 수행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램이 저장된 기록 매체.
KR1020127029696A 2010-04-13 2011-04-12 오디오 신호의 샘플 정밀 표현을 위한 방법 및 인코더와 디코더 KR101364685B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US32344010P 2010-04-13 2010-04-13
US61/323,440 2010-04-13
PCT/EP2011/055728 WO2011128342A1 (en) 2010-04-13 2011-04-12 Method and encoder and decoder for gap - less playback of an audio signal

Publications (2)

Publication Number Publication Date
KR20130006691A KR20130006691A (ko) 2013-01-17
KR101364685B1 true KR101364685B1 (ko) 2014-02-19

Family

ID=44146452

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127029696A KR101364685B1 (ko) 2010-04-13 2011-04-12 오디오 신호의 샘플 정밀 표현을 위한 방법 및 인코더와 디코더

Country Status (15)

Country Link
US (1) US9324332B2 (ko)
EP (3) EP2559029B1 (ko)
JP (1) JP5719922B2 (ko)
KR (1) KR101364685B1 (ko)
CN (1) CN102971788B (ko)
AU (1) AU2011240024B2 (ko)
BR (1) BR112012026326B1 (ko)
CA (1) CA2796147C (ko)
ES (1) ES2722224T3 (ko)
MX (1) MX2012011802A (ko)
PL (1) PL2559029T3 (ko)
PT (1) PT2559029T (ko)
RU (1) RU2546602C2 (ko)
TR (1) TR201904735T4 (ko)
WO (1) WO2011128342A1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2777042B1 (en) 2011-11-11 2019-08-14 Dolby International AB Upsampling using oversampled sbr
CN104065963B (zh) * 2014-06-27 2018-03-06 广东威创视讯科技股份有限公司 编解码系统及其快速切换分辨率的方法、装置
EP2996269A1 (en) 2014-09-09 2016-03-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio splicing concept
TR201909403T4 (tr) * 2015-03-09 2019-07-22 Fraunhofer Ges Forschung Parça hizalı ses kodlaması.
US10225814B2 (en) * 2015-04-05 2019-03-05 Qualcomm Incorporated Conference audio management
KR20210005164A (ko) 2018-04-25 2021-01-13 돌비 인터네셔널 에이비 고주파 오디오 재구성 기술의 통합
EP3841571B1 (en) 2018-08-21 2023-03-22 Dolby International AB Methods, apparatuses and systems for generation and processing of immediate playout frames (ipfs)
CN109495776B (zh) * 2018-12-20 2021-02-05 海信视像科技股份有限公司 一种音频发送、播放的方法及智能终端
US11190836B2 (en) 2018-12-20 2021-11-30 Hisense Visual Technology Co., Ltd. Audio playing and transmitting methods and apparatuses
CN111179970B (zh) * 2019-08-02 2023-10-20 腾讯科技(深圳)有限公司 音视频处理方法、合成方法、装置、电子设备及存储介质
CN116796685B (zh) * 2023-08-07 2024-02-09 深圳云豹智能有限公司 数据拼接模块及数据传递方法、介质、电子设备、芯片

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080065393A1 (en) 2006-09-11 2008-03-13 Apple Computer, Inc. Playback of compressed media files without quantization gaps

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5784532A (en) 1994-02-16 1998-07-21 Qualcomm Incorporated Application specific integrated circuit (ASIC) for performing rapid speech compression in a mobile telephone system
FR2739995B1 (fr) * 1995-10-13 1997-12-12 Massaloux Dominique Procede et dispositif de creation d'un bruit de confort dans un systeme de transmission numerique de parole
JP3707116B2 (ja) 1995-10-26 2005-10-19 ソニー株式会社 音声復号化方法及び装置
JPH09261070A (ja) * 1996-03-22 1997-10-03 Sony Corp ディジタルオーディオ信号処理装置
EP1021044A1 (en) * 1999-01-12 2000-07-19 Deutsche Thomson-Brandt Gmbh Method and apparatus for encoding or decoding audio or video frame data
US6954893B2 (en) * 2000-08-15 2005-10-11 Lockheed Martin Corporation Method and apparatus for reliable unidirectional communication in a data network
JP2002101395A (ja) * 2000-09-21 2002-04-05 Sony Corp 多重化装置及び方法、並びに、復号装置及び方法
JP3734696B2 (ja) * 2000-09-25 2006-01-11 松下電器産業株式会社 無音圧縮音声符号化復号化装置
DE10102159C2 (de) * 2001-01-18 2002-12-12 Fraunhofer Ges Forschung Verfahren und Vorrichtung zum Erzeugen bzw. Decodieren eines skalierbaren Datenstroms unter Berücksichtigung einer Bitsparkasse, Codierer und skalierbarer Codierer
KR100941384B1 (ko) * 2001-05-02 2010-02-10 코닌클리케 필립스 일렉트로닉스 엔.브이. 역 필터링 방법, 합성 필터링 방법, 역 필터링 장치, 합성 필터 장치, 및 이러한 필터 장치들을 포함하는 장치들
US7043677B1 (en) * 2001-07-19 2006-05-09 Webex Communications, Inc. Apparatus and method for separating corrupted data from non-corrupted data within a packet
KR100546398B1 (ko) * 2003-11-25 2006-01-26 삼성전자주식회사 압축된 오디오 비트스트림에서 싱크 워드를 찾는 방법 및상기 방법을 기록한 기록 매체
NZ562182A (en) * 2005-04-01 2010-03-26 Qualcomm Inc Method and apparatus for anti-sparseness filtering of a bandwidth extended speech prediction excitation signal
US8102847B2 (en) * 2005-12-09 2012-01-24 Nec Corporation Frame processing method and frame processing apparatus
WO2007091927A1 (en) * 2006-02-06 2007-08-16 Telefonaktiebolaget Lm Ericsson (Publ) Variable frame offset coding
JP4371127B2 (ja) * 2006-07-14 2009-11-25 ソニー株式会社 再生装置、再生方法、プログラム
US8532984B2 (en) 2006-07-31 2013-09-10 Qualcomm Incorporated Systems, methods, and apparatus for wideband encoding and decoding of active frames
US8260609B2 (en) * 2006-07-31 2012-09-04 Qualcomm Incorporated Systems, methods, and apparatus for wideband encoding and decoding of inactive frames
US8126721B2 (en) * 2006-10-18 2012-02-28 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Encoding an information signal
US8417532B2 (en) * 2006-10-18 2013-04-09 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Encoding an information signal
US8041578B2 (en) * 2006-10-18 2011-10-18 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Encoding an information signal
KR101056253B1 (ko) * 2006-10-25 2011-08-11 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 오디오 서브밴드 값을 생성하는 장치 및 방법과 시간 영역 오디오 샘플을 생성하는 장치 및 방법
JP4379471B2 (ja) * 2006-12-29 2009-12-09 ソニー株式会社 再生装置および再生制御方法
US8180283B2 (en) * 2007-02-14 2012-05-15 Alcatel Lucent Method of providing feedback to a media server in a wireless communication system
WO2008117524A1 (ja) * 2007-03-26 2008-10-02 Panasonic Corporation デジタル放送送信装置、デジタル放送受信装置およびデジタル放送送受信システム
US7778839B2 (en) * 2007-04-27 2010-08-17 Sony Ericsson Mobile Communications Ab Method and apparatus for processing encoded audio data
PT2186090T (pt) * 2007-08-27 2017-03-07 ERICSSON TELEFON AB L M (publ) Detetor de transitórios e método para suportar codificação de um sinal de áudio
US8538565B2 (en) 2008-02-22 2013-09-17 Panasonic Corporation Music playing apparatus, music playing method, recording medium storing music playing program, and integrated circuit that implement gapless play
JP4977777B2 (ja) * 2008-03-18 2012-07-18 パイオニア株式会社 符号化装置及び符号化方法並びに符号化用プログラム
BRPI0910792B1 (pt) * 2008-07-11 2020-03-24 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. "sintetizador de sinal de áudio e codificador de sinal de áudio"
MX2011000367A (es) * 2008-07-11 2011-03-02 Fraunhofer Ges Forschung Un aparato y un metodo para calcular una cantidad de envolventes espectrales.
JP2010123225A (ja) * 2008-11-21 2010-06-03 Toshiba Corp 記録再生装置及び記録再生方法
EP2288056A3 (en) * 2009-07-22 2012-07-11 Yamaha Corporation Audio signal processing system comprising a plurality of devices connected by an audio network
JP2011209412A (ja) * 2010-03-29 2011-10-20 Renesas Electronics Corp 圧縮装置、圧縮方法、再生装置および再生方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080065393A1 (en) 2006-09-11 2008-03-13 Apple Computer, Inc. Playback of compressed media files without quantization gaps

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Gabriel Bouvigne, " MP3 info rev1 specification-draft" 3 june 2009 *

Also Published As

Publication number Publication date
BR112012026326A8 (pt) 2018-07-03
RU2012148132A (ru) 2014-05-20
JP5719922B2 (ja) 2015-05-20
CA2796147C (en) 2016-06-07
MX2012011802A (es) 2013-02-26
KR20130006691A (ko) 2013-01-17
JP2013528825A (ja) 2013-07-11
CN102971788B (zh) 2017-05-31
EP3499503A1 (en) 2019-06-19
US20130041672A1 (en) 2013-02-14
EP4398249A3 (en) 2024-07-24
CA2796147A1 (en) 2011-10-20
EP2559029B1 (en) 2019-01-30
EP3499503B1 (en) 2024-07-03
TR201904735T4 (tr) 2019-04-22
AU2011240024B2 (en) 2014-09-25
PT2559029T (pt) 2019-05-23
ES2722224T3 (es) 2019-08-08
WO2011128342A1 (en) 2011-10-20
EP4398249A2 (en) 2024-07-10
US9324332B2 (en) 2016-04-26
RU2546602C2 (ru) 2015-04-10
EP2559029A1 (en) 2013-02-20
BR112012026326A2 (pt) 2017-12-12
PL2559029T3 (pl) 2019-08-30
BR112012026326B1 (pt) 2021-05-04
AU2011240024A1 (en) 2012-11-08
CN102971788A (zh) 2013-03-13

Similar Documents

Publication Publication Date Title
KR101364685B1 (ko) 오디오 신호의 샘플 정밀 표현을 위한 방법 및 인코더와 디코더
KR100942860B1 (ko) 특정된 엔트리 포인트를 가진 세그먼트로 데이터 스트림을 생성하고 해석하는 장치, 방법 및 이들을 기록한 컴퓨터로 읽을 수 있는 매체
AU2006237491B2 (en) Audio metadata verification
CN110444218B (zh) 用于编码和解码音频数据的装置以及方法
CN112369042B (zh) 用于自适应流传输对齐的帧转换
CN105981397B (zh) 将编码音频嵌入到传输流中以供用于完美拼接
JP6728154B2 (ja) オーディオ信号のエンコードおよびデコード
KR20210134434A (ko) 적어도 하나의 필 요소 내의 향상된 스펙트럼 대역 복제 메타데이터를 사용한 오디오 비트스트림들의 디코딩
AU2015314286C1 (en) Audio splicing concept
US20080288263A1 (en) Method and Apparatus for Encoding/Decoding
US9111524B2 (en) Seamless playback of successive multimedia files
JP4862136B2 (ja) 音声信号処理装置
JP2003233396A (ja) 復号装置

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180207

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190207

Year of fee payment: 6