KR102041140B1 - 프래그먼트- 정렬된 오디오 코딩 - Google Patents

프래그먼트- 정렬된 오디오 코딩 Download PDF

Info

Publication number
KR102041140B1
KR102041140B1 KR1020177028550A KR20177028550A KR102041140B1 KR 102041140 B1 KR102041140 B1 KR 102041140B1 KR 1020177028550 A KR1020177028550 A KR 1020177028550A KR 20177028550 A KR20177028550 A KR 20177028550A KR 102041140 B1 KR102041140 B1 KR 102041140B1
Authority
KR
South Korea
Prior art keywords
temporal
fragment
audio
frame
fragments
Prior art date
Application number
KR1020177028550A
Other languages
English (en)
Other versions
KR20170134474A (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 KR20170134474A publication Critical patent/KR20170134474A/ko
Application granted granted Critical
Publication of KR102041140B1 publication Critical patent/KR102041140B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/242Synchronization processes, e.g. processing of PCR [Program Clock References]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/233Processing of audio elementary streams
    • H04N21/2335Processing of audio elementary streams involving reformatting operations of audio signals, e.g. by converting from one coding standard to another
    • 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
    • G10L25/57Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination for processing of video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/04Time compression or expansion
    • G10L21/055Time compression or expansion for synchronising with other signals, e.g. video signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Marketing (AREA)
  • Business, Economics & Management (AREA)
  • Quality & Reliability (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)

Abstract

프래그먼트 그리드 및 프레임 그리드를 독립적인 값들로 취급함으로써, 오디오 비디오 동기화 및 정렬, 또는 오디오의 일부 다른 외부 클럭에 대한 정렬은 더 효과적으로 또는 더 용이하게 되지만, 그럼에도 불구하고 각각의 프래그먼트에 대해 프레임 그리드는 각각의 프래그먼트의 시작에 대해 정렬된다. 프래그먼트 크기를 적절하게 선택하는 경우, 손실되는 압축 효과는 낮게 유지될 수 있다. 다른 한편으로, 프래그먼트의 시작들에 대한 프레임 그리드의 정렬은, 예를 들어, 병렬 오디오 비디오 스트리밍, 비트레이트 적응형 스트리밍 등과 관련하여 프래그먼트들을 핸들링하는 용이하고 프래그먼트-동기화된 방식을 허용한다.

Description

프래그먼트-정렬된 오디오 코딩{1}
본 출원은, 예를 들어, 코딩된 비디오와 병렬로 사용하기에 적합한 오디오 코덱에 관한 것이다.
고정된 또는 가변 비트 레이트로 송신 채널을 통해 오디오 및 비디오 컨텐츠를 전달하는 경우, 하나의 목표는 오디오 비디오 동기화 및 스플라이싱(splicing)과 같은 진보된 사용예들을 가능하게 하는 것을 보장하는 것이다.
오디오 및 비디오 동기화 및 정렬은 오디오 비디오 시스템들을 구축하는 경우 항상 결정적인 부분이었다. 일반적으로, 오디오 및 비디오 코덱들은 동일한 프레임 지속기간을 사용하지 않는다. 이러한 이유로 인해, 오늘날의 오디오 코덱들은 프레임 정렬되지 않는다. 일례로, 널리 사용되는 AAC-패밀리에 대해서도 마찬가지이다. 이 예는 1024 프레임 크기 및 48 kHz의 샘플링 주파수가 사용되는 DVB 표준에 기반한다. 이는,
Figure 112017502083303-pct00001
의 지속기간을 갖는 오디오 프레임들을 도출한다. 대조적으로, 비디오에 대한 통상적인 DVB 리프레시 레이트는 25 Hz 또는 50 Hz 중 어느 하나이고, 이는 각각 0.02 초 또는 0.04 초의 비디오 프레임 지속기간을 도출한다.
특히 오디오 스트림의 구성을 변경하거나 프로그램을 변경하는 경우, 비디오 및 오디오가 다시 정렬될 필요가 있다. 오늘날의 시스템들은, 인간들이 오디오 및 비디오 동기화에서의 작은 차이들을 인식할 수 없기 때문에 대응하는 비디오의 전후에 오디오 구성을 약간 변경할 것이다.
불행하게도, 이는 전국 광고가 지역 광고로 대체된 경우 스플라이싱의 복잡도를 증가시키는데, 이는 대체된 비디오 스트림이 또한 이러한 작은 오프셋으로 시작해야 하기 때문이다. 또한, 새로운 표준들은, 전반적인 사용자 경험을 개선하기 위해, 보다 정확한 비디오 및 오디오 동기화를 요구하고 있다.
따라서, 최근의 오디오 코덱들은 비디오 프레임 크기와 매칭하도록 다양한 범위의 가능한 프레임 크기들을 처리할 수 있다. 여기서 문제는, 정렬 문제를 해결하는 것 외에도, 이것이 코딩 효율 및 성능에 큰 영향을 미친다는 것이다.
브로드캐스트 환경들에서의 스트리밍은 특수한 문제들을 부과한다.
최근의 개발들은, "적응형" 스트리밍이 선형 브로드캐스트의 경우에도 전송 계층으로 간주됨을 나타내었다. 오버 더 탑(over the top) 애플리케이션 및 오버 디 에어(over the air) 애플리케이션에 대해 약간 상이한 모든 요건들을 충족하기 위해, 적응형 스트리밍은 최적화되었다. 여기서, 하나의 구체적인 적응형 스트리밍 기술에 중점을 둘 것이지만, 모든 주어진 예들은 또한 MMT와 같은 다른 파일 기반 기술들에 적용될 것이다.
도 7은 현재 개발중인 ATSC 3.0 표준에 대한 제안을 도시한다. 이러한 제안에서, MPEG-DASH의 최적화된 버전은 고정 레이트 브로드캐스트 채널을 통해 사용되는 것으로 간주된다. DASH는 LTE, 3G 또는 광대역 인터넷과 같은 가변 레이트, 유니캐스트 채널을 위해 설계되었기 때문에, 제안에서 커버되는 일부 조절들이 필요하였다. 정규의 DASH 사용예에 대한 주요 차이점은 브로드캐스트 채널의 수신기가 어떠한 백 채널(backchannel)도 없고, 유니캐스트를 수신한다는 점이다. 일반적으로 클라이언트는 MPD를 수신하고 파싱한 후 초기화 세그먼트의 위치를 추출할 수 있다. 그 후, 클라이언트는 세그먼트를 차례대로 디코딩할 수 있거나 주어진 타임스탬프를 찾을 수 있다. 상기 도면에 도시된 바와 같이, 브로드캐스트 환경에서 이러한 접근법은 전혀 불가능하다. 그 대신 MPD와 초기화 세그먼트(들)이 규칙적으로 반복된다. 그 다음, 수신기는 MPD 및 모든 필요한 초기화 세그먼트들을 수신하자마자 튠-인(tune-in)할 수 있다.
이는 짧은 튠-인 시간과 작은 오버헤드 사이의 절충을 수반한다. 통상적인 브로드캐스터의 경우 대략 1초의 세그먼트 길이가 타당한 것으로 간주된다. 이는, 2개의 MPD들 사이에, 하나의 오디오 및 하나의 비디오 세그먼트가 존재하고(프로그램이 오직 오디오 및 비디오만을 포함한 경우), 둘 모두 대략 1초의 길이를 가짐을 의미한다.
오디오 및 비디오 정렬의 경우, DASH를 사용할 때 앞에서 언급한 양상도 또한 마찬가지이다. 또한 오디오 및 비디오 정렬을 유지하기 위해, 오디오 세그먼트들은 약간 더 길거나 짧아야 한다. 이는 도 8에 도시되어 있다.
오디오 또는 비디오 구성 변경이 트리거링된 경우. 이러한 변경은 세그먼트 경계에서 발생해야 하는데, 이는, 업데이트된 초기화 세그먼트를 송신할 어떠한 다른 방법도 없기 때문이다. 이를 위해, 전체 세그먼트를 채우기 위해 비디오 및 오디오는 (블랙 프레임들 또는 침묵 중 어느 하나로) 패딩된다. 그러나, 이는 비디오 및 오디오의 오정렬 문제를 해결하지 않는다. 스플라이싱 및 프로그램 변경들의 경우, 현재 세그먼트 지속기간 드리프트에 따라 작은 오디오 및 비디오 미스매치가 존재할 수 있다.
본 발명의 목적은, 예를 들어, 오디오 비디오 동기화 및 정렬의 작업을 더 효과적으로, 예를 들어, 기존의 오디오 압축 기술들에 기반하여 구현하기에 더 용이하게 하는 오디오 코덱을 제공하는 것이다.
이러한 목적은 계류중인 독립항들의 요지에 의해 달성된다.
본 출원에 내재하는 기본적인 아이디어는, 프래그먼트 그리드 및 프레임 그리드가 독립적인 값들로 취급되는 경우, 그러나, 그럼에도 불구하고 각각의 프래그먼트에 대해 프레임 그리드가 각각의 프래그먼트의 시작에 대해 정렬되는 경우, 오디오 비디오 동기화 및 정렬, 또는 오디오의 일부 다른 외부 클럭에 대한 정렬은 더 효과적으로 또는 더 용이하게 될 수 있다는 것이다. 프래그먼트 크기를 적절하게 선택하는 경우, 손실되는 압축 효과는 낮게 유지될 수 있다. 다른 한편으로, 프래그먼트의 시작들에 대한 프레임 그리드의 정렬은, 예를 들어, 병렬 오디오 비디오 스트리밍, 비트레이트 적응형 스트리밍 등과 관련하여 프래그먼트들을 핸들링하는 용이하고 프래그먼트-동기화된 방식을 허용한다.
유리한 구현들은 종속항들의 요지이다. 본 출원의 바람직한 실시예들은 도면들을 참조하여 아래에서 설명된다.
도 1은 본 출원의 실시예에 따라 비디오 및 오디오 프래그먼트들이 시간-정렬되는, 비디오 및 오디오를 포함하는 시간적 프래그먼트의 개략도를 도시한다.
도 2는 실시예에 따라 인코더, 그에 의해 인코딩되는 오디오 컨텐츠 및 그에 의해 생성되는 인코딩된 데이터 스트림의 준-개략적 블록도를 도시한다.
도 3은 실시예에 따른 도 2의 인코더에 적합한 디코더의 준-개략적 블록도를 도시한다.
도 4는 프레임들을 코딩/디코딩하기 위해 변환-기반 코딩/디코딩이 사용되는 실시예에 따라, 즉, 랩핑된 변환을 적용함으로써, 인코딩/디코딩 프로세스에 수반되는 윈도우들, 시간-도메인 부분들의 개략도를 도시한다.
도 5는 실시예에 따른 즉각적인 재생 정보의 생성을 예시하는 개략도를 도시한다.
도 6은, 각각의 시간적 프래그먼트의 시작에서 구성 변경의 경우 또는 이러한 시간적 프래그먼트의 즉각적인 재생 정보가 제로 샘플들을 대신 인코딩하는 경우, 예를 들어, 즉각적인 재생 정보가 손실될 수 있음을 도시하는 실시예에 따른 오디오 컨텐츠에서의 구성 변경의 경우를 예시하는 개략도를 도시한다.
도 7은 비교 목적들로 [1]에 따라 루트를 통해 전달되는 패킷화된 DASH 세그먼트를 도시한다.
도 8은, 오디오 프래그먼트화가 상이하게 프래그먼트화된 지속기간들을 수반하는 현재의 프래그먼트화 개념에 따라 오디오 및 비디오를 운반하는 2개의 연속적인 프래그먼트들을 도시한다.
본 출원의 다양한 실시예들을 설명하기 전에, 이러한 실시예들에 의해 제공되는 이점들 및 내재하는 개념들이 먼저 설명된다. 특히, 비디오 프레임들의 시퀀스로 구성된 비디오 프레임을 수반하기 위해 오디오 컨텐츠가 코딩되어야 한다고 가정한다. 문제점은, 본 출원의 도입 부분에서 앞서 개략된 바와 같이: 오늘날의 오디오 코덱들이, 비디오 프레임 레이트의 정수 프랙션 또는 정수배가 아닌 샘플 및 프레임 기반으로 동작한다는 점이다. 따라서, 이하 설명되는 실시예들은 최적화되는 "통상적인" 프레임들 단위들로 동작하는 인코딩/디코딩 스테이지들을 사용한다. 한편, 오디오 컨텐츠는 하나 이상의, 바람직하게는 1 내지 5개의, 또는 더 바람직하게는 1 또는 2개의 비디오 프레임들 길이일 수 있는 시간적 프래그먼트들 단위들로 이러한 인코딩/디코딩 스테이지들에 내재하는 오디오 코덱에 종속된다. 각각의 이러한 시간적 프래그먼트의 경우, 프레임 그리드는 각각의 시간적 프래그먼트의 시작에 대해 정렬되도록 선택된다. 즉, 후술하는 실시예들에 내재하는 아이디어는 대응하는 비디오 프레임의 길이와 정확히 동일한 오디오 프래그먼트들을 생성하는 것이며, 이러한 접근법은 2개의 이점들을 갖는다:
1) 오디오 인코더는 여전히 최적화된/네이티브 프레임 지속기간에서 작동할 수 있고, 프레임 경계들 상에 자신의 프레임 그리드를 남겨 둘 필요가 없다.
2) 임의의 오디오 지연은 시간적 프래그먼트들의 인코딩된 표현에 대한 즉각적인 재생 정보의 사용에 의해 보상될 수 있다. 스플라이싱은 각각의 프래그먼트 경계에서 발생할 수 있다. 이는 브로드캐스트 장비의 전반적인 복잡도를 상당히 감소시킨다.
도 1은 아래에 제시된 예에 따른 방식으로 생성된 오디오 프래그먼트에 대한 예를 도시하며, 이러한 오디오 프래그먼트는 대응하는 비디오 프래그먼트를 수반한다. 오디오 프래그먼트 및 비디오 프래그먼트 둘 모두는 도 B에 대응하는 방식으로 예시된다. 즉, 2에서, 즉, 도 1의 최상위 행에서, 도 1은 N개의 프레임들(4), 즉 비디오 프레임들로 구성되는 비디오 프래그먼트를 예시하고, 여기서 프레임들은 시간 축 t에 의해 예시된 바와 같이 이들의 시간적 재생 순서에 따라 좌측으로부터 우측으로 행 단위로 순차적으로 배열된 사각형들로 도시된다. 프레임 0의 좌측 에지 및 프레임 59의 우측 에지는 프래그먼트의 시작 및 종료에 등록된 것으로 도시되어 있는데, 이는, 프래그먼트의 시간적 길이 Tfragment가 비디오 프레임 길이의 정수배이고, 정수배 N은 여기서 예시적으로 60이다. 비디오 프래그먼트(2)에 대해 시간적으로 정렬된 도 2는 프레임들 또는 액세스 유닛들(12)의 단위들로 비디오 프래그먼트(2)에 수반되는 오디오 컨텐츠를 인코딩한 오디오 프래그먼트(10)를 예시하고, 이는 여기서 수평으로, 즉 시간적으로 연장된 직사각형들로 예시되고, 시간적 피치에서 이들의 시간적 프레임 길이를 예시할 것이고, 이러한 오디오 프레임 길이는 불행하게도, 오디오 프래그먼트(10)의 시간적 길이 Tfragment가 더 이상 이러한 프레임 길이 Tframe의 정수배가 아니게 된다. 예를 들어, 프레임 길이 Tframe과 비디오 프레임들의 대응하는 프레임 길이 Tvideoframe 사이의 관계는, 이들 사이의 비가 비합리적이거나 이들 사이의 비가 완전히 감소된 적절한 프랙션에 의해 표현될 수 있고, 여기서 분자 곱하기 분모는 예를 들어, 1000보다 커서, 비디오 프레임 길이 Tvideoframe과 오디오 프레임 길이 Tframe의 배수가 될 프래그먼트 길이는 유리하지 않게 커질 것이다.
따라서, 도 1은 마지막 또는 트레일링 프레임, 즉 액세스 유닛(46)이, 오디오 프래그먼트(10)의 트레일링 단부(14)를 초과하는 오디오 컨텐츠의 시간적 부분을 시간적으로 커버하는 것을 예시한다. 나중에, 트레일링 단부(14)를 초과하거나 그에 후속하는 부분(16)은 재생 시에 디코더 측에서 절단되거나 무시될 수 있거나, 또는 전체 트레일링 프레임 실제로 이의 내부 상태들을 단지 플러싱하는 디코더에 의해 인코딩되지 않아서, 시간적 프래그먼트(10)와 중첩할 때까지 트레일링 프레임의 부분의 "시간적 홀"을 채우는 것이 도시될 것이다.
예시의 목적으로, 도 1은 그 하부 절반에, 즉 16에, 비디오 및 오디오로 구성된 시간적 프래그먼트에 대해 이용가능한 비트 버짓, 즉, Tfragment·R(여기서 R은 비트레이트)이 프래그먼트(2)의 비디오 프레임들(4)이 코딩되는 비디오 데이터(18), 오디오 프래그먼트(10)의 오디오 컨텐츠가 코딩되는 오디오 데이터(20), 각각 둘 모두의 헤더 데이터(22 및 24), 예를 들어, 비디오 프레임들(4)이 데이터(18)로 코딩되는 공간적 분해능, 시간적 분해능 등을 표시하는 구성 데이터(26) 및 프래그먼트(2)의 오디오 프레임들(12)이 데이터(20)로 코딩되는 채널들의 수와 같은 구성 뿐만 아니라 예를 들어, 비디오 및 오디오가 이용가능한 버전(버전들은 비트레이트에서 상이함)을 표시하기 위해 공동-정렬된 프래그먼트들(2 및 10)에 대한 데이터에 여기서는 예시적으로 포함되는 표시 또는 미디어 표현 설명을 운반하기 위해 사용될 수 있는 것을 예시한다. 도 1의 예는 단지 예시적이고, 이하 설명되는 실시예들은 비트레이트 적응형 스트리밍과 관련하여 사용되는 것, 클라이언트에 표시를 전송하는 것 등으로 제한되지 않음을 이해해야 한다. 도 1은 단지, 프래그먼트들(10)의 시작(30)에 오디오 프레임들(12)을 정렬시키고, 그 다음, 시작(30)은 예를 들어 비디오 프레임들(4)에 완전히 정렬되도록 선택됨으로써, 오디오 프래그먼트가 비디오 프래그먼트에 완전히 정렬되는, 아래에서 설명되는 실시예들의 공통 개념을 예시할 것이다.
따라서, 도 1은 오디오 및 비디오 프래그먼트를 도시하며, 둘 모두는 설명된 방식으로 정렬된다. 도 1의 예에서, 비디오 및 오디오 프래그먼트는 59.94 Hz의 NTSC 프레임 레이트에서 60개의 비디오 프레임들과 동등한
Figure 112017502083303-pct00002
초 = 1.001 초의 일정한 시간적 길이 Tfragment를 갖도록 선택되었다.
각각의 오디오 프래그먼트의 마지막 오디오 프레임, 즉, 여기서는 AU(46)는 예를 들어, 프래그먼트 지속기간과 매칭하도록 절단된다. 주어진 예에서, 마지막 오디오 프레임은 샘플 47104로부터 48127까지 도달되며, 여기서 제로-기반 넘버링이 선택되는데, 즉, 프래그먼트의 제 1 오디오 샘플이 0으로 넘버링된다. 이는, 필요한 것보다 약간 긴 샘플들 수의 프래그먼트 크기, 즉 48048 대신 48128을 도출한다. 따라서 마지막 프레임은 944번째 샘플 직후에 절단된다. 이는, 예를 들어, 헤더 데이터(24)에 또는 구성 데이터(26)에 포함된 편집 리스트를 사용함으로써 달성될 수 있다. 절단된 부분(16)은 예를 들어, 낮은 품질로 인코딩될 수 있다. 대안적으로, 디코더가 통상적으로 오디오 구성에 따라 플러싱될 수 있기 때문에, 모든 오디오 프레임들(12)을 송신하지 않고, 예를 들어 마지막 프레임, 즉, 여기서는 예시적으로 AU(46)의 코딩을 생략할 가능성이 존재할 것이다.
아래에서 추가로 설명되는 실시예들에서, 예를 들어, 중첩 윈도우 함수에 대해 동작하는 디코더가 자신의 이력을 상실할 것이고 후속 프래그먼트의 제 1 프레임에 대한 전체 신호를 생성할 수 없게 되는 문제에 대응하기 위한 조치들이 취해질 수 있음이 도시될 것이다. 그러한 이유 때문에, 도 1의 제 1 프레임, 즉, 예시적으로 AU0은 즉각적인 재생을 허용하는 IPF 프레임으로서 코딩된다(IPF = Immediate Playout Frame). 이는, 각각의 프래그먼트 및 임의의 오디오 프래그먼트의 시작에 각각 배치된다. 마찬가지로, 제 1 비디오 프레임(4)은 IDR 프레임일 수 있다(IDR = Instantaneous Decoding Refresh).
Figure 112017502083303-pct00003
표 1 비트레이트 오버헤드
상기 표는 어떠한 최적화도 적용되지 않으면 예상되는 비트레이트 오버헤드의 예를 제공한다. 오버헤드는 사용된 프래그먼트 지속기간 Tfragment에 크게 의존한다는 것을 알 수 있다. 브로드캐스터의 요건에 따라, 오직 매 두번째 또는 세번째 프래그먼트만을 정렬하는 것, 즉, 오디오 프래그먼트들을 더 길게 선택하는 것이 타당하다.
도 2는 프래그먼트 그리드(32)의 시간적 프래그먼트들(10)의 단위들로 오디오 컨텐츠를 인코딩된 데이터 스트림(34)으로 인코딩하기 위한 인코더를 도시한다. 인코더는 개괄적으로 참조 부호 20을 사용하여 표시되고, 인코딩 스테이지(36) 및 프래그먼트 제공기(38)를 포함한다. 인코딩 스테이지(36)는 프레임 그리드의 프레임들(12)의 단위들로 오디오 컨텐츠를 인코딩하도록 구성되고, 프래그먼트 제공기(38)는 각각의 시간적 프래그먼트가 인코딩 스테이지(36)에 의해 각각의 시간적 프래그먼트(10)의 인코딩된 표현(38)으로 인코딩되도록, 시간적 프래그먼트들(10)의 단위들로 인코딩 스테이지(36)에 오디오 컨텐츠(31)를 제공하도록 구성되고, 프래그먼트 제공기(38)는, 프레임들(12)의 각각의 프레임 그리드의 각각의 시간적 프래그먼트가 각각의 시간적 프래그먼트(10)의 시작(30)에 시간적으로 정렬되어, 시작(30)이 프레임들(12)의 각각의 프레임 그리드의 프레임 경계(42)와 일치하도록, 시간적 프래그먼트들(10)의 단위들로 인코딩 스테이지(36)에 오디오 컨텐츠(31)를 제공하도록 구성된다. 즉, 이후 추가로 설명되는 바와 같이, 프래그먼트 제공기(38)는, 현재 제공되는 시간적 프래그먼트(10) 및 선택적으로는, 현재의 시간적 프래그먼트(10)에 시간적으로 선행하는 오디오 컨텐츠(31)의 부분(46) 및 현재 시간적 프래그먼트(10)에 시간적으로 후속하는 부분(48)을 포함하는 오디오 컨텐츠(31)의 부분(44)을 시간적 프래그먼트(10) 단위로 인코딩 스테이지(36)에 제공할 수 있다. 현재의 부분(44)을 인코딩 스테이지(36)에 제공할 때, 현재의 시간적 프래그먼트(10)는 프래그먼트 제공기(38)에 의해 시간적으로 정렬되어(50), 프레임 경계들(42)은 현재의 시간적 프래그먼트(10)의 시작(30)과 일치하는 하나의 프레임 경계를 포함한다. 도 1을 참조하여 앞서 설명된 바와 같이, 시간적 프래그먼트(10)의 시간적 길이가 프레임들(12)의 시간적 길이의 정수배가 아니라는 사실로 인해, 트레일링 프레임(12a)은, 오디오 컨텐츠의 후속 부분(48)으로 커버하는 부분(16)을 갖는 시간적 프래그먼트(10)를 단지 부분적으로 커버하거나 시간적으로 중첩한다.
도 2의 인코더의 기능을 상세히 설명하기 전에, 실시예에 따른 대응하는 디코더를 도시하는 도 3을 참조한다. 도 3의 디코더는 개괄적으로 참조 부호 60을 사용하여 표시되고, 인코딩된 데이터 스트림(34)으로부터 시간적 프래그먼트들(10)의 단위들로 오디오 컨텐츠(31)를 디코딩하도록 구성된다. 디코더(60)는 시간적 프래그먼트들의 인코딩된 표현들을 수신하는 입력 인터페이스(62)를 포함한다. 도 3에 예시된 바와 같이, 빗금을 사용하여 그리고 도 2에 대해 이미 설명된 바와 같이, 각각의 시간적 프래그먼트(10)에 대해, 이의 인코딩된 표현(40)은 데이터 스트림(34)에 존재한다. 각각의 인코딩된 표현(40)은 각각의 시간적 프래그먼트(10)의 시작(30)에 시간적으로 정렬된 전술한 프레임들(12)의 단위들로 이의 연관된 시간적 프래그먼트(10)를 인코딩하여, 시작(30)은 프레임 그리드의 프레임 경계(42)와 일치한다.
디코더(60)는 인코딩된 표현들(40)로부터 시간적 프래그먼트들(10)의 재구성된 버전들(66)을 디코딩하도록 구성되는 디코딩 스테이지(64)를 더 포함한다. 즉, 디코딩 스테이지(64)는 각각의 시간적 프래그먼트(40)에 대해, 각각의 인코딩된 표현(40)이 속하는 시간적 프래그먼트(10)에 의해 커버되는 오디오 컨텐츠의 재구성된 버전(66)을 출력한다.
디코더(60)는, 시간적 프래그먼트들(10)의 재구성된 버전들(66)을, 재생을 위해, 고유하게, 시간적 프래그먼트들의 재구성된 버전들(66)의 시작들을 정렬시키는 것과 함께 연결시켜, 프래그먼트들(10)의 개별적인 프레임 그리드들이 그에 등록될 때 프래그먼트 그리드의 프래그먼트 경계들, 즉 프래그먼트 그리드의 시작(30)에서 일치시키도록 구성되는 연결기(68)를 더 포함한다.
따라서, 도 2 및 도 3의 인코더(20) 및 디코더(60)는 다음과 같이 동작한다. 인코더(20)는 각각의 시간적 프래그먼트(10)를 대응하는 인코딩된 표현(40)으로 인코딩하여, 프레임들(12)의 프레임 그리드는 대응하는 시간적 프래그먼트(10)의 시작(30)에 정렬되고, 따라서, 제 1 또는 리딩 프레임(12b)은 시작(30)에서 즉각적으로 시작하는데, 즉, 시간적 프래그먼트(10) 및 제 1 프레임(12b)의 시작들은 일치한다. 시간적 프래그먼트(10)와 단지 부분적으로 중첩하는 트레일링 프레임(12a)을 인코딩 스테이지(36)가 어떻게 처리하는지에 대한 문제는 아래에 설명되는 바와 같이 상이하게 해결될 수 있다. 추가적으로, 인코딩 스테이지(36)가 각각의 시간적 프래그먼트(10)에 대해 자신의 프레임 그리드를 재정렬함에 따라, 인코딩 스테이지(36)는 완전히 독립적인 방식으로, 즉 다른 시간적 프래그먼트들과 독립적으로 시간적 프래그먼트들(10)을 이들의 대응하는 인코딩된 표현(40)으로 인코딩한다. 그럼에도 불구하고, 인코딩 스테이지(36)는 시간적 프래그먼트들(10)을 이들의 대응하는 인코딩된 표현들(40)로 인코딩하여, 각각의 시간적 프래그먼트에 대한 디코딩 측에서 즉각적인 재생이 허용된다. 가능한 구현 세부사항들이 아래에 설명된다. 그 다음, 디코더(60)는 각각의 인코딩된 표현(40)으로부터, 대응하는 시간적 프래그먼트(10)의 재구성된 버전(66)을 재구성한다. 재구성된 버전(66)은 대응하는 시간적 프래그먼트(10)만큼 길 수 있다. 이를 위해, 아래에서 추가로 설명되는 바와 같이, 디코딩 스테이지(64)는 재구성된 버전(66)의 시간적 길이를 시간적 프래그먼트들(10)의 시간적 길이까지 연장시키기 위해 플러싱을 수행할 수 있거나, 또는 디코딩 스테이지(64) 및 연결기(66)는, 아래에서 논의되는 바와 같이, 재구성된 버전(66)의 시간적 부분들을 절단 또는 무시하기 위해 협력할 수 있는데, 그렇지 않으면, 이러한 부분들은 시간적 프래그먼트들의 시간적 길이를 초과할 것이다. 인코딩된 표현들(40)의 디코딩을 수행할 때, 디코딩 스테이지(64)는 또한 프레임 그리드를 사용하는데, 즉, 프레임들(12) 단위들로 디코딩을 수행하고 실질적으로 인코딩 프로세스의 역을 수행한다.
다음으로, 인코딩 스테이지(36)가 또한 트레일링 프레임(12a)을 대응하는 인코딩된 표현(40)으로 인코딩하는 것에 관여하고, 디코더가 재구성된 버전(66)의 대응하는 오버행 부분들의 절단에 관여하는 가능성이 논의된다. 특히, 이 예에 따르면, 인코딩 스테이지(36) 및 프래그먼트 제공기(38)는, 현재의 시간적 프래그먼트(10)에 대해, 인코딩된 표현(40)으로의 이러한 시간적 프래그먼트(10)의 인코딩이 트레일링 프레임(12a)이 관련되는 한 현재의 시간적 프래그먼트(10)의 트레일링 단부(70)를 넘어 계속되도록 협력할 수 있다. 즉, 인코딩 스테이지(36)는 또한 오디오 컨텐츠의 오버행 부분(16)을 인코딩된 표현(40)으로 인코딩한다. 그러나, 이렇게 함으로써, 인코딩 스테이지(36)는 이러한 트레일링 프레임(12a)을, 오버행 부분(16)으로부터 트레일링 프레임(12a)의 나머지 부분, 즉, 현재의 시간적 프래그먼트(10)와 시간적으로 중첩하는 부분까지 인코딩된 표현(40)으로 인코딩하기 위해 소비되는 비트레이트를 시프트할 수 있다. 예를 들어, 인코딩 스테이지(36)는, 오버행 부분(16)이 인코딩된 표현(40)으로 코딩되는 곳의 품질을, 트레일링 프레임(12a)의 다른 부분이 인코딩된 표현(40)으로 코딩되는 곳, 즉, 즉, 현재의 시간적 프래그먼트(10)에 속하는 곳의 품질에 비해 낮출 수 있다. 그 경우, 디코딩 스테이지(64)는 그에 따라, 시간적 프래그먼트(10)의 시간적 길이를 시간적으로 초과하는, 즉, 트레일링 프레임(12a)의 오버행 부분(16)이 관련되는 대응하는 시간적 프래그먼트(10)의 재구성된 버전(66)을 이러한 인코딩된 표현(40)으로부터 디코딩할 것이다. 연결기(68)는, 재구성된 버전(66)을 프래그먼트 그리드와, 즉, 프래그먼트들의 시작들(30)과 정렬할 때, 오버행 부분(16)에서 재구성된 버전(66)을 절단할 것이다. 즉, 연결기(68)는 재구성된 버전(66)의 이러한 부분(16)을 재생 시에 무시할 것이다. 따라서, 이러한 부분(16)이 위에서 설명된 바와 같이 더 낮은 품질로 코딩되었을 수 있다는 사실은, 재구성된 오디오 컨텐츠(31')의 청취자에게 투명한데, 이는, 재생 시에 이러한 부분이 다음 시간적 프래그먼트(10)의 재구성된 버전의 시작으로 대체되었기 때문에, 출력 연결기(68)에서 재구성된 버전들(66)의 연결의 결과이다.
대안적으로, 인코더(20)는 현재의 시간적 프래그먼트(10)를 인코딩할 때 트레일링 프레임(12a)을 생략하도록 동작할 수 있다. 그 대신, 디코더는 아래에서 예시적으로 추가로 설명되는 바와 같이 그 내부 상태를 플러싱함으로써, 시간적 프래그먼트(10)의 인코딩되지 않은 부분, 즉 트레일링 프레임(12a)이 부분적으로 중첩하는 부분을 채우도록 관여할 수 있다. 즉, 인코딩 스테이지(36) 및 프래그먼트 제공기(38)는, 현재의 시간적 프래그먼트(10)에 대해, 이러한 시간적 프래그먼트의, 이의 인코딩된 표현(40)으로의 인코딩이 트레일링 프레임(12a) 직전의 프레임(12)에서 중단되도록 협력할 수 있다. 인코딩 스테이지는, 트레일링 프레임(12a) 직전의 프레임(12)까지 나타나도록 인코더의 내부 상태들을 플러싱하여, 나머지, 및 그에 따라 시간적 프래그먼트(10)의 인코딩되지 않은 부분, 즉 트레일링 프레임(12a)과 중첩하는 부분을 채우도록 디코더에 명령하는 플러시 신호를 인코딩된 표현(40) 내에서 시그널링할 수 있다. 디코더 측에서, 코딩 스테이지(64)는, 대응하는 인코딩된 표현(40)을 디코딩하는 경우, 트레일링 프레임(12a)의 직전의 프레임(12)까지 나타나도록 디코딩 스테이지(64)의 내부 상태들을 플러싱함으로써, 시간적 프래그먼트(10)와 트레일링 프레임(12a)이 중첩하는 부분 내에서 이러한 인코딩된 표현(40)에 대응하는 시간적 프래그먼트(10)의 재구성된 버전(66)을 생성하도록, 이러한 플러시 신호에 응답할 수 있다.
플러시 절차를 더 상세히 예시하기 위해, 인코딩 및 디코딩 스테이지들이 변환 코덱에 기반하여 동작하는 예시적인 경우에 대해 재구성된 버전(66)의 인코딩되지 않은 나머지 부분을 생성하는 경우를 예시하는 도 4를 참조한다. 예를 들어, 프레임들을 인코딩하기 위해 랩핑된 변환이 사용될 수 있다. 즉, 인코딩 스테이지(36)는 MDCT 등과 같은 주파수 분해 변환의 사용에 의해 결과적인 윈도우잉된 부분을 스펙트럼 분해하여 오디오의 대응하는 인터벌(들)(74)을 가중하기 위해 몇몇 윈도우들 중 하나의 윈도우(72)를 사용한다. 윈도우잉된 부분(74)은 현재 프레임(12')의 경계들을 커버하고 이를 넘어 시간적으로 연장된다. 도 4는 예를 들어, 윈도우(72) 또는 윈도우잉된 부분(74)이 현재의 프레임(12')에 후속하는 2개의 프레임들에서 현재의 프레임(12')에 선행하는 2개의 프레임들(12)과 시간적으로 중첩하는 것을 예시한다. 따라서, 현재의 시간적 프래그먼트(10)에 대해 인코딩된 표현(40)은, 이러한 코딩(76)이 프레임(12')의 코딩된 표현이기 때문에 윈도우잉된 부분(74)의 변환의 코딩을 포함한다. 디코딩 스테이지(64)는, 시간적 프래그먼트들(10)의 프레임들(12)을 재구성하기 위해 역을 수행하고; 이는, 예를 들어 엔트로피 디코딩을 이용하여 변환(76)을 디코딩하고, 변환(76)이 속하는 현재의 프레임(12')을 커버하는 윈도우잉된 부분(74)을 도출하기 위해 역변환을 수행하지만, 디코딩 스테이지(64)는 추가적으로, 오디오 컨텐츠(31')의 최종적인 재구성을 획득하기 위해 연속적으로 원도우잉된 부분들(74) 사이에서 중첩-가산 프로세스를 수행한다. 중첩-가산 프로세스는 연결기(68)에 의해 수행될 수 있다. 이는 다음을 의미한다: 도 4는 예를 들어, 현재의 프레임(12')이 현재의 시간적 프래그먼트(10)의 트레일링 프레임(12a) 직전의 끝에서 두번째 프레임인 것으로 가정한다. 디코딩 스테이지(64)는, 윈도우잉된 부분(74) 내에서 시간-도메인 부분(76)을 획득하기 위해, 방금 개략된 바와 같이, 변환(76) 상에 역변환을 수행함으로써, 이러한 끝에서 두번째 프레임(12')에 의해 커버되는 오디오 컨텐츠를 재구성한다. 앞서 설명된 바와 같이, 이러한 시간-도메인 부분(76)은 현재의 프레임(12')과 시간적으로 중첩한다. 그러나, 현재의 프레임(12')의 시간적으로 이웃하는 프레임들의 코딩된 변환들을 역변환함으로써 획득된 다른 시간-도메인 부분들이 또한 현재의 프레임(12')과 시간적으로 중첩한다.
도 4에서, 이는 현재의 프레임(12')의 2개의 선행 프레임들에 속하는 윈도우잉된 부분들에 대해 예시되고 참조 부호 78 및 80으로 표시된다. 그러나, 프레임(12')의 완전한 재구성은, 프레임(12')의 코딩된 변환(76) 및 이의 이웃 프레임들에 적용되는 역변환들로부터 얻어지는 모든 시간-도메인 부분들(76, 78 및 80)의 부분들을 합산하는 중첩-가산 프로세스에 의해 현재의 프레임(12')을 시간적으로 중첩하는 것으로서 획득된다. 마지막 또는 트레일링 프레임(12a)에 대해, 이는 다음을 의미한다. 인코딩 스테이지(36)가 이러한 트레일링 프레임(12a)에 대한 윈도우잉된 부분의 인코딩된 표현(40)으로의 변환(들)을 코딩하지 않는 경우에도, 디코더는, 하나 이상의 이전 프레임들, 즉, 프레임(12')의 코딩된 변환들(76) 및 선택적으로 끝에서 두번째 프레임(12')에 선행하는 하나 이상의 프레임들(12)(이는 도 4에 비해 변경될 수 있음)을 역변환함으로써 획득되는 트레일링 프레임(12a)을 시간적으로 중첩하는 모든 시간 도메인 부분들을 합산함으로써, 이러한 트레일링 프레임(12a) 내에서 오디오 컨텐츠의 추정을 획득할 수 있다. 예를 들어, 윈도우 크기는, 시간적으로 선행하는 프레임들과의 시간적 중첩이 후속 프레임들과의 시간적 중첩보다 크도록 될 수 있다. 또한, 시간적 중첩은 단지, 현재 코딩된 프레임의 직전 및/또는 직후의 프레임을 수반할 수 있다.
디코더(60)가 오버행 부분(16)의 크기를 통지받는 방식에 대해 상이한 가능성들이 존재한다. 예를 들어, 디코더(60)는 프레임 길이 값 및 프래그먼트 길이 값을 포함하는 절단 정보를 통해 데이터 스트림(34) 내에서 이러한 크기와 관련된 절단 정보를 전달하도록 구성될 수 있다. 프레임 길이 값은 Tframe 및 프래그먼트 길이 값 Tfragment를 표시할 수 있다. 다른 가능성은, 절단 길이 값이 오버행 부분(16) 자체의 시간적 길이, 또는 일시적 프래그먼트(10) 및 트레일링 프레임(12a)이 시간적으로 중첩하는 부분의 시간적 길이를 표시하는 것일 것이다. 각각의 시간적 프래그먼트(10)의 재구성된 버전(66)의 즉각적인 재생을 허용하기 위해, 인코딩 스테이지(36) 및 프래그먼트 제공자(38)가 협력하여, 각각의 시간적 프래그먼트(10)에 대해, 각각의 시간적 프래그먼트(10)에 시간적으로 선행하는 부분(46)과 관련된 즉각적인 재생 정보가 또한 인코딩된 표현(40)에 제공된다. 예를 들어, 도 4에서 참조된 랩핑된 변환이 MDCT와 같은 에일리어싱을 도입하는 랩핑된 변환이라고 가정한다. 그 경우, 선행 부분(46)의 변환 코딩된 버전이 없으면, 디코더는 에일리어싱 없이 그 시작에서, 예를 들어, 이의 처음 하나 이상의 프레임들(12) 내에서 현재의 시간적 프래그먼트(10)를 재구성할 수 없을 것이다. 따라서, 중첩-가산 프로세스를 이용하여 시간 도메인 에일리어싱 제거를 수행하기 위해, 인코딩된 표현(40) 내에서 전달되는 즉각적인 재생 정보는 선행 부분(46)의 변환 코딩된 버전과 관련될 수 있고, 인코딩 및 디코딩 스테이지들은 도 4에 대해 이미 예시된 바와 같이 랩핑된 변환 코딩 프로세스를 사용한다.
앞서 더 상세히 논의되지는 않았지만, 인코딩 스테이지(36) 및/또는 디코딩 스테이지(64)는 2개 또는 그 이상의 코어들로 구성될 수 있음을 주목한다. 예를 들어, 도 2는, 인코딩 스테이지가 제 1 인코딩 코어(90) 및 제 2 인코딩 코어(92)를 포함할 수 있는 것을 예시하고, 마찬가지로, 추가적으로 또는 대안적으로 도 3은, 디코딩 스테이지(64)가 제 1 디코딩 코어(94) 및 제 2 디코딩 코어(96)를 포함할 수 있는 것을 도시한다. 각각의 시간적 프래그먼트들(10) 및 대응하는 인코딩된 표현들(40)을 순차적으로 인코딩/디코딩하는 대신에, 시간적 프래그먼트들(10) 및 인코딩된 표현들(40)의 이러한 쌍들 각각에 대해 수행되는 인코딩/디코딩 절차는, 각각 시간적 프래그먼트들(10) 및 인코딩된 표현들(40)의 시퀀스의 디코딩/인코딩과 코어들(94 및 96)(및 90 및 92)을 교번하게 관련시키는 파이프라이닝된 방식으로 수행될 수 있다.
따라서, 도 2의 실시예에 다르면, 오디오 인코더는 제 1 오디오 프레임(12b)을 각각의 시간적 프래그먼트(10)의 시작(30)과 정렬시킨다. 디코딩 측에서 어떠한 가청 아티팩트들도 없이 그 시간적 프래그먼트(10)의 각각의 구성된 버전(66)의 갭 없는 또는 즉각적인 재생을 가능하게 하기 위해, 앞서 설명된 인코더는 프래그먼트 경계들에서 2개의 상이한 프레임 그리드들 상에서 동작 또는 워딩한다. 또한, 인코딩/디코딩 스테이지들에 내재하는 오디오 코덱에 따라 프래그먼트의 시작(30)에서 개별적인 재구성된 버전들(66)의 즉각적인 재생을 허용하기 위해, 즉각적인 재생 정보는 인코딩된 표현들 내에서 전달될 수 있음이 언급되었다. 예를 들어, 각각의 시간적 프래그먼트의 제 1 프레임(12b)은 즉각적인 재생 프레임(IPF)으로서 코딩될 수 있다. 각각의 새로운 시간적 프래그먼트의 시작에 배치된 이러한 IPF는 예를 들어 전체 디코더 지연을 커버할 수 있다. 이를 다시 예시하기 위해, 2개의 시간적 프래그먼트들(10a 및 10b) 사이의 프래그먼트 경계 주위의 오디오 컨텐츠로부터의 부분을 도시하는 도 5를 참조한다. 시간적 프래그먼트들(10a 및 10b)이 코딩/디코딩되는 단위들인 프레임들(12)은 도 5에 또한 도시되어 있다. 특히, 도 5는, 시간적 프래그먼트(10a)의 트레일링 프레임(12a)이, 시간적 프래그먼트(10b)가 코딩/디코딩되는 프레임 그리드의 프레임들 중 제 1 프레임(12b)과 시간적으로 중첩하는 것을 나타낸다. 특히, 이는, 시간적 프래그먼트(10b)의 제 1 프레임(12b)과 시간적으로 중첩하는, 트레일링 프레임(12a)의 시간적 프래그먼트(10b)의 시작(30) 및 시간적 프래그먼트(10a)의 트레일링 단부를 넘어 연장되는 부분(16)이다. 제 1 프레임(12b)을 인코딩할 때, 인코딩 상태는 즉각적 재생 정보(98), 즉 여기서는 예시적으로, 제1 프레임(12b)에 선행하는 시간적 프래그먼트(10b)를 코딩/디코딩하기 위한 프레임 그리드의 5개의 프리-롤 프레임들(12)의 코딩(100)을 시간적 프래그먼트(10b)에 대한 인코딩된 표현(40)에 추가적으로 인코딩하고, 프리-롤 프레임들은 도 1에서 "AU-5" 내지 "AU-1"로 표시된다. 따라서, 이러한 프리-롤 프레임들은 전술된 선행 부분(46)에 걸쳐 있다. 인코딩(100)은, 도 4와 관련하여 앞서 개략된 바와 같이, 프리-롤 프레임들 내의 오디오 컨텐츠의 변환 코딩 버전과 관련되어, 중첩-가산 프로세스에서 시간-도메인 에일리어싱 제거를 수행하기 위해, 디코더 측이 역변환을 사용하여 이러한 롤 프레임들을 둘러싸는 시간-도메인 부분들을 사용하여 그리고 시간적 프래그먼트(10b)로 연장되는 이들의 부분들을 사용하여 시간 도메인 에일리어싱 제거를 수행하도록 허용할 수 있다.
인코더는 정확한 프래그먼트 지속기간을 인식한다. 앞서 설명된 바와 같이, 실시예에 따르면, 중첩하는 오디오 부분(16)은 상이한 프레임 그리드들에 의해 두번 인코딩될 수 있다.
개별적인 시간적 프래그먼트들(10)이 인코딩된 표현(40)으로 코딩되는 "독립적인 방식"에 관해 간략한 설명이 수행된다. 이러한 독립적인 방식은 또한 인코딩된 오디오 채널들의 수 등과 같은 더 드물게 변하는 데이터에 관한 코딩 파라미터들과 같은 구성 데이터와 관련될 수 있어서 각각의 인코딩된 표현(40)이 이러한 구성 데이터를 포함할 수 있지만, 대안적으로 이러한 드물게 변하는 데이터, 즉 구성 데이터는 각각의 인코딩된 표현(40)에 포함되는 것 대신에 각각의 인코딩된 표현(40) 내에서가 아니라 대역 외의 디코딩 측으로 전달되는 것이 가능할 것이다. 인코딩된 표현에 포함되는 경우, 구성 데이터는 다른 전송 계층에서 송신될 수 있다. 예를 들어, 구성은 초기화 세그먼트에서 송신될 수 있고, 각각의 시간적 프래그먼트의 IPF 프레임(12b)은 구성 데이터 정보를 운반할 수 없게 될 수 있다.
디코딩 측이 관련되는 한, 도 3의 상기 설명은, 디코더가 프리-롤 프레임들, 즉, 각각의 시간적 프래그먼트에 대한 제 1 프레임(12b)에 선행하는 프레임들을 디코딩하도록 구성되는 것을 나타냈다. 디코더는, 구성이 선행하는 시간적 프래그먼트로부터 현재의 시간적 프래그먼트로 변경되는지 여부와 무관하게 이러한 디코딩에 관여할 수 있다. 이것은 물론 디코더의 전반적인 성능에 영향을 미치지만, 유리하게는 디코더는, 예를 들어, 최악의 경우의 적응형 스트리밍 사용예에 따르는 것과 같이 각각의 프래그먼트 경계 상에서 IPF를 디코딩할 수 있어서 이러한 경우들의 예에서 어떠한 추가적인 요건도 부과되지 않는 요건을 이미 충족해야 할 수 있다. 전술한 절단 정보와 관련되는 한, 이의 시그널링은 비트스트림 레벨 상에서 또는 시스템 레벨 툴들과 같은 일부 다른 전송 계층에서 행해질 수 있음을 주목해야 한다.
마지막으로, 도 6은, 인코딩될 오디오 컨텐츠(31)가 어떤 시점(110)에서, 즉 2개의 시간적 프래그먼트들(10) 사이의 프래그먼트 경계에서, 오디오 채널들의 수에서의 변경과 같은 구성 변경을 나타내는 경우를 도시한다. 예를 들어, 시간 인스턴트(110) 직전에, 스테레오와 같은 제 1 구성이 적용되는 한편, 시간 인스턴트(110) 이후에, 오디오 컨텐츠(31)는 예를 들어 5 채널 오디오 장면이다. 오디오 데이터 스트림(34)은 구성 데이터 정보를 포함한다. 따라서, 데이터 스트림(34)으로부터, 시간 인스턴트(110)에 선행하는 시간적 프래그먼트들(10)의 데이터 스트림의 인코딩된 표현들은 제 1 구성에 따라 코딩되고, 제 2 구성은 시간 인스턴트(110)에 후속하는 시간적 프래그먼트들(10)을 인코딩하기 위해 사용되는 것이 자명하다. 도 6은 또한 인코딩된 표현들(40)의 즉각적인 재생 정보(98)를 도시한다. 시간 인스턴트(110)에 선행하는 시간적 프래그먼트(10)의 경우, 즉각적인 재생 정보(98)는 예를 들어, 도 5에 대해 앞서 설명된 바와 같이 유도될 수 있다. 그러나, 시간 인스턴트(110)에서 즉각적으로 시작하는 시간적 프래그먼트(10)에 대한 상황은 상이하다. 여기서, 제 2 구성의 오디오 컨텐츠(39)는 시간 인스턴트(110) 이전의 시간에 상승가능하지 않기 때문에, 오디오 컨텐츠(39)는 시간 인스턴트(110)에 즉각적으로 시작하는 시간적 프래그먼트의 인코딩된 표현(40)에 대해 즉각적인 재생 정보(98)를 형성하는 것이 허용되지 않는다. 대신에, 시간 인스턴트(110)에서 시작하는 이러한 시간적 프래그먼트(10)에 대한 즉각적인 재생 정보(98)로서 제로-신호가 코딩될 수 있다. 즉, 구성 변경의 경우에, 예를 들어 모노로부터 5.1로 스위칭하는 경우 등과 같이, 과거에 이용가능한 어떠한 실제 오디오 신호가 없기 때문에 인코더는 제로 샘플들을 인코딩할 수 있다. 가능한 최적화는 디코더 측에서 이러한 제로 프레임, 즉 제로 프리-롤 프레임을 생성하고 제 1 시간적 프래그먼트의 제 1 프레임(12b)의 인코딩만을 송신하는 것일 것이다. 즉, 이러한 경우에 즉각적인 재생 정보(98)는 완전히 버려질 수 있다.
따라서, 상기 실시예들은 고정된 또는 가변 비트레이트로 송신 채널을 통한 오디오 및 비디오 컨텐츠의 전달을 허용하고, 특히 오디오 비디오 동기화를 허용하고 스플라이싱과 같은 진보된 사용예를 가능하게 한다. 앞서 언급된 바와 같이, 앞서 인코딩된 것과 같은 인코딩된 데이터 스트림은 또한 다른 미디어 신호들에 의해 규정된 클럭들과 같은 다른 클럭들과의 동기화를 더 용이하게 할 수 있다. 앞서 설명된 인코더들은 기존의 오디오 프레임 길이의 적응을 허용한다. 시간적 프래그먼트들의 길이는 애플리케이션의 요구들에 따라 설정될 수 있다. 인코더 실시예들은, 배타적이 아니라 예를 들어, 미디어 표현의 프래그먼트들로서 이러한 프래그먼트들을 사용함으로써 적응형 스트리밍의 대상이 될 수 있는 시간적 프래그먼트 들의 인코딩된 표현의 트랜치들에서 인코딩된 데이터 스트림을 형성한다. 즉, 결과적인 프래그먼트들로 구성된 코딩된 데이터 스트림은 서버에 의해 적응형 스트리밍 프로토콜을 통해 클라이언트에 제공될 수 있고, 클라이언트는 아마도 프로토콜을 통해 그에 삽입된 추가로 데이터 스트림 프래그먼트를 검색할 수 있고, 이를 디코딩을 위해 디코더에 포워딩할 수 있다. 그러나 이는 강제적이 아니다. 오히려, 스플라이싱은 심지어 다른 애플리케이션 시나리오들에서 본 발명의 인코딩된 데이터 스트림의 형성에 의해 유리하게 영향을 받을 수 있다. 전술한 실시예들은, 오디오 프레임들이 MPEG-H 오디오 프레임들인 MPEG-H 오디오 코덱과 관련하여 구현되거나 사용될 수 있지만, 상기 실시예들은 이러한 코덱의 사용에 제한되지 않고 모든 (현대식) 오디오 코덱들에 적응될 수 있다.
일부 양상들은 장치의 상황에서 설명되었지만, 이러한 양상들은 또한 대응하는 방법의 설명을 표현하는 것이 명백하며, 여기서 블록 또는 디바이스는 방법 단계 또는 방법 단계의 특징에 대응한다. 유사하게, 방법의 상황에서 설명되는 양상들은 또한 대응하는 장치의 블록 또는 아이템 또는 특징의 설명을 표현한다. 방법 단계들의 일부 또는 전부는, 예를 들어, 마이크로프로세서, 프로그래밍가능 컴퓨터 또는 전자 회로와 같은 하드웨어 장치에 의해(또는 이를 사용하여) 실행될 수 있다. 일부 실시예들에서, 가장 중요한 방법 단계들 중 일부의 하나 또는 몇몇은 이러한 장치에 의해 실행될 수 있다.
본 발명의 스플라이싱 또는 스플라이싱 가능한 오디오 데이터 스트림들은 디지털 저장 매체에 저장될 수 있거나 또는 무선 송신 매체 또는 유선 송신 매체, 예를 들어 인터넷과 같은 송신 매체를 통해 송신될 수 있다.
특정한 구현 요건들에 따라, 본 발명의 실시예들은 하드웨어 또는 소프트웨어로 구현될 수 있다. 구현은, 각각의 방법이 수행되도록 프로그래밍가능 컴퓨터 시스템과 협력하는(또는 협력할 수 있는), 전자적으로 판독가능한 제어 신호들을 저장하는 디지털 저장 매체, 예를 들어, 플로피 디스크, DVD, 블루레이, CD, ROM, PROM, EPROM, EEPROM 또는 FLASH 메모리를 사용하여 수행될 수 있다. 따라서, 디지털 저장 매체는 컴퓨터 판독가능일 수 있다.
본 발명에 따른 일부 실시예들은, 본원에서 설명되는 방법들 중 하나가 수행되도록 프로그래밍가능 컴퓨터 시스템과 협력할 수 있는, 전자적으로 판독가능한 제어 신호들을 갖는 데이터 캐리어를 포함한다.
일반적으로, 본 발명의 실시예들은 프로그램 코드를 갖는 컴퓨터 프로그램 물건으로서 구현될 수 있고, 프로그램 코드는, 컴퓨터 프로그램 물건이 컴퓨터 상에서 실행되는 경우 본 방법들 중 하나를 수행하도록 동작한다. 프로그램 코드는 예를 들어, 머신-판독가능 캐리어 상에 저장될 수 있다.
다른 실시예들은, 본원에서 설명되는 방법들 중 하나를 수행하기 위한, 머신 판독가능 캐리어 상에 저장되는 컴퓨터 프로그램을 포함한다.
따라서, 달리 말하면, 창작적 방법의 일 실시예는, 컴퓨터 프로그램이 컴퓨터 상에서 실행되는 경우, 본원에서 설명되는 방법들 중 하나를 수행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램이다.
따라서, 창작적 방법들의 추가적인 실시예는, 본원에서 설명되는 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램이 포함되고 기록되는 데이터 캐리어(예를 들어, 디지털 저장 매체 또는 컴퓨터 판독가능 매체)이다. 데이터 캐리어, 디지털 저장 매체 또는 기록된 매체는 통상적으로 유형(tangible)이고 그리고/또는 비일시적이다.
따라서, 창작적 방법의 추가적인 실시예는, 본원에서 설명되는 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램을 표현하는 신호들의 시퀀스 또는 데이터 스트림이다. 예를 들어, 신호들의 시퀀스 또는 데이터 스트림은, 예를 들어, 인터넷을 통해, 데이터 통신 접속을 통해 전송되도록 구성될 수 있다.
추가적인 실시예는, 본원에서 설명되는 방법들 중 하나를 수행하도록 구성 또는 적응되는 프로세싱 수단, 예를 들어, 컴퓨터 또는 프로그래밍가능 로직 디바이스를 포함한다.
추가적인 실시예는, 본원에서 설명되는 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램이 설치된 컴퓨터를 포함한다.
본 발명에 따른 추가적인 실시예는, 본원에서 설명되는 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램을 수신기에 (예를 들어, 전자적으로 또는 광학적으로) 전송하도록 구성되는 장치 또는 시스템을 포함한다. 수신기는, 예를 들어, 컴퓨터, 모바일 디바이스, 메모리 디바이스 등일 수 있다. 장치 또는 시스템은, 예를 들어, 컴퓨터 프로그램을 수신기에 전송하기 위한 파일 서버를 포함할 수 있다.
일부 실시예들에서, 프로그래밍가능 로직 디바이스(예를 들어, 필드 프로그래밍가능 게이트 어레이)는 본원에서 설명되는 방법들의 기능들 중 일부 또는 전부를 수행하기 위해 사용될 수 있다. 일부 실시예들에서, 필드 프로그래밍가능 게이트 어레이는, 본원에서 정의되는 방법들 중 하나를 수행하기 위해 마이크로프로세서와 협력할 수 있다. 일반적으로, 방법들은 임의의 하드웨어 장치에 의해 바람직하게 수행된다.
본원에 설명된 장치는 하드웨어 장치를 사용하여 또는 컴퓨터를 사용하여, 또는 하드웨어 장치와 컴퓨터의 조합을 사용하여 구현될 수 있다.
본원에 설명된 방법들은 하드웨어 장치를 사용하여 또는 컴퓨터를 사용하여, 또는 하드웨어 장치와 컴퓨터의 조합을 사용하여 수행될 수 있다.
앞서 설명된 실시예들은, 본 발명의 원리들에 대해 단지 예시적이다. 본원에서 설명되는 배열들 및 세부사항들의 변형들 및 변화들이 당업자들에게 자명할 것이 이해된다. 따라서, 본 발명은 후속 특허 청구항들의 범주에 의해서만 제한되며, 본원의 실시예들의 서술 및 설명의 방식으로 제시되는 특정 세부사항들에 의해서는 제한되지 않도록 의도된다.
정의들 및 약어들
AAC Advanced Audio Coding
ATSC Advanced Television Systems Committee
AU Audio Access Unit
DASH Dynamic Adaptive Streaming over HTTP
DVB Digital Video Broadcasting
IPF Instantaneous Playout Frame
MPD Media Presentation Description
MPEG Moving Picture Experts Group
MMT MPEG media transport
NTSC National Television Systems Committee
PAL Phase-Alternating-Line-Verfahren
참조문헌들
[1] "Delivery/Sync/FEC-Evaluation Criteria Report", ROUTE/DASH
[2] ISO/IEC 23008-3, "Information technology - High efficiency coding and media delivery in heterogeneous environments - Part 3: 3D audio"
[3] ISO/IEC 23009-1, "Information technology - Dynamic adaptive streaming over HTTP (DASH) - Part 1: Media presentation description and segment formats"
[4] ISO/IEC 23008-1, "Information technology - High efficiency coding and media delivery in heterogeneous environments - Part 1: MPEG media transport (MMT)"

Claims (21)

  1. 오디오 컨텐츠를 인코딩된 데이터 스트림(34)으로 인코딩하기 위한 인코더(20)로서,
    오디오 컨텐츠를 오디오 프레임들(12)의 단위들로 인코딩하도록 구성되는 인코딩 스테이지(36); 및
    상기 오디오 컨텐츠(31)를 프래그먼트 그리드(32)의 시간적 프래그먼트들(10)의 단위들로 상기 인코딩 스테이지(36)에 제공하도록 구성되는 프래그먼트 제공기(38)를 포함하고 ― 상기 제공은, 현재 제공된 시간적 프래그먼트(10)에 대해, 상기 오디오 컨텐츠(31)의 일부를, 상기 현재 제공된 시간적 프래그먼트(10)를 포함하는 상기 인코딩 스테이지(36)에게 제공하는 것임 ―,
    상기 인코더는 각각의 시간적 프래그먼트(10)를 오디오 프레임들(12)의 단위에서 각각의 시간적 프래그먼트의 인코딩된 표현(40)으로 인코딩하도록 구성되고, 상기 프래그먼트 제공기는 상기 오디오 컨텐츠(31)를 상기 인코딩 스테이지(36)로 제공하도록 구성되어 상기 오디오 프레임들(12)은 상기 각각의 시간적 프래그먼트(10)에 대해 정렬되어 각각의 시간적 프래그먼트(10)에 대해 제 1 오디오 프레임의 시작 및 상기 각각의 시간적 프래그먼트의 시작(30)이 일치되고,
    상기 시간적 프래그먼트들(10)의 인코딩된 표현들은 상기 인코딩된 데이터 스트림에 의해 포함되고, 상기 시간적 프래그먼트들(10)의 시간적 길이는 상기 오디오 프레임들의 시간적 길이의 정수배가 아니고,
    상기 인코더는, 상기 시간적 프래그먼트들의 트레일링 단부를 초과하고, 상기 프래그먼트 그리드의 직후의 시간적 프래그먼트와 시간적으로 중첩하는, 상기 시간적 프래그먼트들이 인코딩되는 단위들인 상기 오디오 프레임들의 트레일링 오디오 프레임의 부분을 식별하기 위한 절단 정보를 상기 인코딩된 데이터 스트림 내에서 시그널링하도록 구성되고,
    상기 절단 정보는,
    상기 오디오 프레임들의 시간적 길이를 표시하는 프레임 길이 값 및 상기 시간적 프래그먼트들의 시간적 길이를 표시하는 프래그먼트 길이 값 및/또는
    상기 시간적 프래그먼트들의 트레일링 단부를 초과하고, 직후의 시간적 프래그먼트와 시간적으로 중첩하는, 상기 시간적 프래그먼트들이 인코딩되는 단위들인 상기 오디오 프레임들의 트레일링 오디오 프레임의 부분의 시간적 길이를 표시하는 절단 길이 값 또는 상기 트레일링 오디오 프레임의 부분의 시간적 길이와 상기 트레일링 오디오 프레임의 시간적 길이 사이의 차이를 포함하는,
    인코더(20).
  2. 제 1 항에 있어서,
    상기 인코딩 스테이지(36) 및 프래그먼트 제공기(38)는 협력하여, 미리 결정된 시간적 프래그먼트(10)에 대해, 상기 미리 결정된 시간적 프래그먼트(10)를 상기 각각의 시간적 프래그먼트의 인코딩된 표현(40)으로 인코딩하는 것은, 상기 미리 결정된 시간적 프래그먼트의 트레일링 단부를 초과하고, 상기 프래그먼트 그리드의 직후의 시간적 프래그먼트와 시간적으로 중첩하는, 상기 미리 결정된 시간적 프래그먼트가 인코딩되는 단위들인 상기 오디오 프레임들의 트레일링 오디오 프레임의 직전의 오디오 프레임에서 중단되는,
    인코더(20).
  3. 제 2 항에 있어서,
    상기 인코딩 스테이지(36)는, 상기 트레일링 오디오 프레임 직전의 오디오 프레임까지 나타나도록 디코더의 내부 상태들을 플러싱하는 것에 기반하여, 상기 트레일링 오디오 프레임에 의해 커버되는 상기 미리 결정된 시간적 프래그먼트의 부분을 채우도록 상기 디코더에 명령하는 플러시 신호를 상기 미리 결정된 시간적 프래그먼트의 인코딩된 표현(40) 내에서 시그널링하도록 구성되는,
    인코더(20).
  4. 제 1 항에 있어서,
    상기 인코딩 스테이지(36) 및 프래그먼트 제공기(38)는 협력하여, 미리 결정된 시간적 프래그먼트(10)에 대해, 상기 미리 결정된 시간적 프래그먼트를 상기 각각의 시간적 프래그먼트의 인코딩된 표현으로 인코딩하는 것은, 상기 미리 결정된 시간적 프래그먼트의 트레일링 단부를 초과하고, 상기 프래그먼트 그리드의 직후의 시간적 프래그먼트와 시간적으로 중첩하는, 상기 미리 결정된 시간적 프래그먼트가 인코딩되는 단위들인 상기 오디오 프레임들(12)의 트레일링 오디오 프레임 내의 상기 미리 결정된 시간적 프래그먼트의 트레일링 단부를 넘어 계속되는,
    인코더(20).
  5. 제 4 항에 있어서,
    상기 인코딩 스테이지(36)는 상기 미리 결정된 시간적 프래그먼트 내에서보다 낮은 품질로, 상기 미리 결정된 시간적 프래그먼트의 트레일링 단부를 초과하고 상기 직후의 시간적 프래그먼트와 시간적으로 중첩하는 상기 트레일링 오디오 프레임의 부분 내에서 상기 오디오 컨텐츠(31)를 인코딩하도록 구성되는,
    인코더(20).
  6. 제 1 항에 있어서,
    상기 인코딩 스테이지(36) 및 프래그먼트 제공기(38)는 협력하여, 미리 결정된 시간적 프래그먼트(10)에 대해, 상기 미리 결정된 시간적 프래그먼트를 상기 각각의 시간적 프래그먼트의 인코딩된 표현으로 인코딩하는 것은, 상기 미리 결정된 시간적 프래그먼트(10)가 상기 각각의 시간적 프래그먼트의 인코딩된 표현(40)으로 인코딩되고 즉각적인 재생 정보를 상기 미리 결정된 시간적 프래그먼트의 인코딩된 표현으로 코딩하는 단위들인 상기 오디오 프레임들의 제 1 오디오 프레임의 직전의 오디오 컨텐츠의 하나 이상의 프리-롤(pre-roll) 오디오 프레임들로부터 즉각적인 재생 정보(98)를 유도하는 것을 수반하는,
    인코더(20).
  7. 제 6 항에 있어서,
    상기 인코딩 스테이지(36)는 에일리어싱(aliasing) 도입 랩핑된 변환에 기반한 변환 코딩을 사용하여 상기 인코딩을 수행하고, 상기 에일리어싱 도입 랩핑된 변환에 기반한 변환 코딩을 상기 하나 이상의 프리-롤 오디오 프레임들에서의 오디오 컨텐츠에 적용함으로써 상기 즉각적인 재생 정보를 유도하도록 구성되는,
    인코더(20).
  8. 제 1 항에 있어서,
    상기 인코딩 스테이지(36)는,
    제 1 인코딩 코어(90) 및 제 2 인코딩 코어(92)를 포함하고,
    상기 프래그먼트 제공기(38)는 상기 오디오 컨텐츠의 제 1 시간적 프래그먼트를 인코딩하는 것과 상기 제 1 인코딩 코어(90)를 결합하도록 구성되고, 상기 제 1 인코딩 코어(90)는, 상기 오디오 프레임들을 상기 제 1 시간적 프래그먼트의 시작에 시간적으로 정렬시키는 오디오 프레임들의 단위들로, 상기 오디오 컨텐츠의 상기 제 1 시간적 프래그먼트를 인코딩하여, 상기 오디오 컨텐츠의 상기 제 1 시간적 프래그먼트가 인코딩되는 단위들인 상기 오디오 프레임들의 제 1 오디오 프레임은, 상기 제 1 시간적 프래그먼트의 인코딩된 표현을 출력하기 위해 상기 제 1 시간적 프래그먼트의 시작에서 즉시 시작하도록 구성되고, 상기 프래그먼트 제공기(38)는 상기 제 1 시간적 프래그먼트의 직후인 상기 오디오 컨텐츠의 제 2 시간적 프래그먼트를 인코딩하는 것과 상기 제 2 인코딩 코어를 결합하도록 구성되고, 상기 제 2 인코딩 코어(90)는, 상기 오디오 프레임들을 상기 제 2 시간적 프래그먼트의 시작에 시간적으로 정렬시키는 오디오 프레임들의 단위들로, 상기 오디오 컨텐츠의 상기 제 2 시간적 프래그먼트를 인코딩하여, 상기 오디오 컨텐츠의 상기 제 2 시간적 프래그먼트가 인코딩되는 단위들인 상기 오디오 프레임들의 제 1 오디오 프레임은, 상기 제 2 시간적 프래그먼트의 인코딩된 표현을 출력하기 위해 상기 제 2 시간적 프래그먼트의 시작에서 즉시 시작하도록 구성되고,
    상기 제공기는 또한 상기 오디오 컨텐츠의 제 3 시간적 프래그먼트를 인코딩하는 것과 상기 제 1 인코딩 코어(90)를 결합하도록 구성되는,
    인코더(20).
  9. 제 8 항에 있어서,
    상기 프래그먼트 제공기(38)는 상기 오디오 컨텐츠의 시간적 프래그먼트를 인코딩하는 것과 교번하여 상기 제 1 및 제 2 인코딩 코어들(90, 92)을 결합하도록 구성되는,
    인코더(20).
  10. 인코딩된 데이터 스트림으로부터 오디오 컨텐츠를 디코딩하기 위한 디코더(60)로서,
    오디오 컨텐츠의 시간적 프래그먼트들의 인코딩된 표현들을 수신하도록 구성되는 입력 인터페이스(62) - 상기 인코딩된 표현들 각각은, 각각의 시간적 프래그먼트의 시작이 오디오 컨텐츠들의 제 1 오디오 프레임의 시작과 일치하도록, 상기 각각의 시간적 프래그먼트의 시작에 시간적으로 정렬된 오디오 프레임들의 단위들로 인코딩함 -;
    상기 시간적 프래그먼트들의 인코딩된 표현들로부터 상기 오디오 컨텐츠의 시간적 프래그먼트들의 재구성된 버전들(66)을 디코딩하도록 구성되는 디코딩 스테이지(64); 및
    상기 오디오 컨텐츠의 시간적 프래그먼트들의 재구성된 버전들을 재생을 위해 함께 연결하도록 구성되는 연결기(68)를 포함하고,
    프래그먼트 그리드의 프래그먼트 경계들 사이의 시간적 길이는 상기 오디오 프레임들의 시간적 길이의 정수배가 아니고,
    상기 연결기(68)는, 미리 결정된 시간적 프래그먼트의 트레일링 단부를 시간적으로 초과하고, 직후의 시간적 프래그먼트의 재구성된 버전과 시간적으로 중첩하는, 상기 미리 결정된 시간적 프래그먼트의 인코딩된 표현으로 상기 미리 결정된 시간적 프래그먼트가 코딩되는 단위들인 상기 오디오 프레임들의 트레일링 오디오 프레임의 부분에서 미리 결정된 시간적 프래그먼트의 재구성된 버전(66)을 절단하도록 구성되고,
    상기 디코더는 인코딩된 데이터 스트림의 절단 정보에 기반하여 상기 트레일링 오디오 프레임의 부분을 결정하도록 구성되고, 상기 절단 정보는,
    상기 미리 결정된 시간적 프래그먼트가 상기 미리 결정된 시간적 프래그먼트의 인코딩된 표현으로 코딩되는 단위들인 상기 오디오 프레임들의 시간적 길이를 표시하는 프레임 길이 값, 및 상기 미리 결정된 프래그먼트의 재구성된 버전의 시작부터, 후속하는 시간적 프래그먼트의 재구성된 버전의 시작과 일치하는 상기 프래그먼트 경계까지 상기 미리 결정된 시간적 프래그먼트의 시간적 길이를 표시하는 프래그먼트 길이 값, 및/또는
    상기 트레일링 오디오 프레임의 부분의 시간적 길이 또는 상기 트레일링 오디오 프레임의 부분의 시간적 길이와 상기 트레일링 오디오 프레임의 시간적 길이 사이의 차이를 표시하는 절단 길이 값을 포함하는,
    디코더(60).
  11. 제 10 항에 있어서,
    상기 디코딩 스테이지(64)는, 상기 미리 결정된 시간적 프래그먼트의 인코딩된 표현으로부터 미리 결정된 시간적 프래그먼트를 디코딩할 때, 상기 트레일링 오디오 프레임 직전의 오디오 프레임까지 나타나도록 디코딩 스테이지의 내부 상태들을 플러싱함으로써 상기 트레일링 오디오 프레임의 리딩 단부로부터 후속적인 시간적 프래그먼트의 재구성된 버전의 프래그먼트 경계까지 연장되는, 상기 미리 결정된 시간적 프래그먼트의 인코딩된 표현으로 상기 미리 결정된 시간적 프래그먼트가 코딩되는 단위들인 오디오 프레임들의 트레일링 오디오 프레임의 부분 내에서 상기 미리 결정된 시간적 프래그먼트의 재구성된 버전을 생성하도록 구성되는,
    디코더(60).
  12. 제 10 항에 있어서,
    상기 디코딩 스테이지(64)는 미리 결정된 시간적 프래그먼트의 인코딩된 표현들로부터 즉각적인 재생 정보를 유도하도록 구성되고, 상기 즉각적인 재생 정보는, 상기 미리 결정된 시간적 프래그먼트의 시작에 시간적으로 선행하고 상기 즉각적인 재생 정보를 사용하여, 상기 시간적 프래그먼트의 시작 직후의 미리 결정된 시간적 프래그먼트의 하나 이상의 오디오 프레임들에서 오디오 컨텐츠를 재구성하는, 상기 오디오 컨텐츠의 하나 이상의 프리-롤 오디오 프레임들에서의 오디오 컨텐츠와 관련되는,
    디코더(60).
  13. 제 12 항에 있어서,
    상기 디코딩 스테이지(64)는, 상기 즉각적인 재생 정보가 상기 하나 이상의 프리-롤 오디오 프레임들에서 오디오 컨텐츠의 재구성이 되도록 구성되는,
    디코더(60).
  14. 제 12 항에 있어서,
    상기 디코딩 스테이지(64)는 시간 도메인 에일리어싱 제거를 위해 상기 시간적 프래그먼트의 시작 직후의 미리 결정된 시간적 프래그먼트의 하나 이상의 오디오 프레임들에서 상기 오디오 컨텐츠를 재구성할 때 상기 즉각적인 재생 정보를 사용하도록 구성되는,
    디코더(60).
  15. 제 10 항에 있어서,
    상기 디코딩 스테이지(64)는 에일리어싱을 초래하고 프레임들의 경계들을 넘어 연장되는 변환 윈도우들을 초래하는 랩핑된 변환의 반전을 사용하여 상기 오디오 프레임들을 개별적으로 디코딩하도록 구성되는,
    디코더(60).
  16. 제 10 항에 있어서,
    상기 디코딩 스테이지(64)는,
    상기 제 1 시간적 프래그먼트의 재구성된 버전이 상기 제 1 시간적 프래그먼트의 오디오 프레임들의 제 1 오디오 프레임의 리딩 단부에서 시작하도록, 상기 제 1 시간적 프래그먼트의 인코딩된 표현으로부터 오디오 프레임들의 단위들로 상기 오디오 컨텐츠의 제 1 시간적 프래그먼트의 재구성된 버전을 디코딩하도록 구성되는 제 1 디코딩 코어(94);
    제 2 시간적 프래그먼트의 재구성된 버전이 상기 제 2 시간적 프래그먼트의 오디오 프레임들의 제 1 오디오 프레임의 리딩 단부에서 등록을 시작하도록, 상기 제 2 시간적 프래그먼트의 인코딩된 표현으로부터 오디오 프레임들의 단위들로 상기 제 1 시간적 프래그먼트 직후의 상기 오디오 컨텐츠의 제 2 시간적 프래그먼트의 재구성된 버전을 디코딩하도록 구성되는 제 2 디코딩 코어(96)를 포함하고,
    상기 연결기(68)는 상기 제 1 시간적 프래그먼트의 재구성된 버전(66)과 상기 제 2 시간적 프래그먼트의 재구성된 버전을 함께 연결하도록 구성되는,
    디코더(60).
  17. 제 16 항에 있어서,
    상기 제 1 디코딩 코어는 또한 상기 인코딩된 데이터 스트림으로부터 상기 오디오 컨텐츠의 제 3 시간적 프래그먼트의 재구성된 버전을 디코딩하도록 구성되는,
    디코더(60).
  18. 제 16 항에 있어서,
    상기 제 1 및 제 2 디코딩 코어들은 상기 시간적 프래그먼트들의 인코딩된 표현들로부터 상기 오디오 컨텐츠의 시간적 프래그먼트들의 재구성된 버전들을 디코딩하기 위해 교번하여 수반되도록 구성되는,
    디코더(60).
  19. 프레임들(12)의 단위들로 오디오 컨텐츠를 인코딩하도록 구성되는 인코딩 스테이지(36)를 사용하여, 오디오 컨텐츠를 인코딩된 데이터 스트림(34)으로 인코딩하기 위한 방법으로서,
    상기 오디오 컨텐츠(31)를 프래그먼트 그리드(32)의 시간적 프래그먼트들(10)의 단위들로 상기 인코딩 스테이지(36)에 제공하는 단계 ― 상기 제공은, 현재 제공된 시간적 프래그먼트(10)에 대해, 상기 오디오 컨텐츠(31)의 일부를, 상기 현재 제공된 시간적 프래그먼트(10)를 포함하는 상기 인코딩 스테이지(36)에게 제공하는 것임 ―,
    상기 인코딩 스테이지에 의해, 오디오 프레임들(12)의 단위에서 각각의 시간적 프래그먼트(10)를 각각의 시간적 프래그먼트의 인코딩된 표현(40)으로 인코딩하는 단계를 포함하고, ― 상기 오디오 컨텐츠(31)는 상기 인코딩 스테이지(36)로 제공되어 상기 오디오 프레임들(12)은 상기 각각의 시간적 프래그먼트(10)에 대해 정렬되어 각각의 시간적 프래그먼트(10)에 대해 각각의 시간적 프래그먼트(10)가 각각의 시간적 프래그먼트의 인코딩된 표현(40)으로 인코딩되는 단위들인 상기 오디오 프레임들의 제 1 오디오 프레임의 시작과 상기 각각의 시간적 프래그먼트의 시작(30)이 일치됨 ―
    상기 시간적 프래그먼트들(10)의 인코딩된 표현들은 상기 인코딩된 데이터 스트림에 의해 포함되고, 상기 시간적 프래그먼트들(10)의 시간적 길이는 상기 프레임들의 시간적 길이의 정수배가 아니고,
    상기 방법은, 상기 시간적 프래그먼트들의 트레일링 단부를 초과하고, 상기 프래그먼트 그리드의 직후의 시간적 프래그먼트와 시간적으로 중첩하는, 상기 시간적 프래그먼트들이 인코딩되는 단위들인 상기 오디오 프레임들의 트레일링 오디오 프레임의 부분을 식별하기 위한 절단 정보를 상기 인코딩된 데이터 스트림 내에서 시그널링하는 단계를 포함하고,
    상기 절단 정보는,
    상기 오디오 프레임들의 시간적 길이를 표시하는 프레임 길이 값 및 상기 시간적 프래그먼트들의 시간적 길이를 표시하는 프래그먼트 길이 값 및/또는
    상기 시간적 프래그먼트들의 트레일링 단부를 초과하고, 프래그먼트 그리드의 직후의 시간적 프래그먼트와 시간적으로 중첩하는, 상기 시간적 프래그먼트들이 인코딩되는 단위들인 상기 오디오 프레임들의 트레일링 오디오 프레임의 부분의 시간적 길이를 표시하는 절단 길이 값 또는 상기 트레일링 오디오 프레임의 부분의 시간적 길이와 상기 트레일링 오디오 프레임의 시간적 길이 사이의 차이를 포함하는,
    방법.
  20. 인코딩된 데이터 스트림으로부터 프래그먼트 그리드의 시간적 프래그먼트들의 단위들로 오디오 컨텐츠를 디코딩하기 위한 방법으로서,
    오디오 컨텐츠의 시간적 프래그먼트들의 인코딩된 표현들을 수신하는 단계 - 상기 인코딩된 표현들 각각은, 각각의 시간적 프래그먼트의 시작이 오디오 컨텐츠들의 제 1 오디오 프레임의 시작과 일치하도록, 상기 각각의 시간적 프래그먼트의 시작에 시간적으로 정렬된 오디오 프레임들의 단위들로 인코딩함 -;
    상기 시간적 프래그먼트들의 인코딩된 표현들로부터 상기 오디오 컨텐츠의 시간적 프래그먼트들의 재구성된 버전들(66)을 디코딩하는 단계; 및
    상기 오디오 컨텐츠의 시간적 프래그먼트들의 재구성된 버전들을 재생을 위해 함께 연결하는 단계를 포함하고,
    프래그먼트 그리드의 프래그먼트 경계들 사이의 시간적 길이는 상기 오디오 프레임들의 시간적 길이의 정수배가 아니고,
    상기 연결하는 단계(68)는, 미리 결정된 시간적 프래그먼트의 트레일링 단부를 시간적으로 초과하고, 직후의 시간적 프래그먼트의 재구성된 버전과 시간적으로 중첩하는, 상기 미리 결정된 시간적 프래그먼트의 인코딩된 표현으로 상기 미리 결정된 시간적 프래그먼트가 코딩되는 단위들인 상기 오디오 프레임들의 트레일링 오디오 프레임의 부분에서 미리 결정된 시간적 프래그먼트의 재구성된 버전(66)을 절단하는 단계를 포함하고,
    상기 방법은 인코딩된 데이터 스트림의 절단 정보에 기반하여 상기 트레일링 오디오 프레임의 부분을 결정하는 단계를 더 포함하고,
    상기 절단 정보는,
    상기 미리 결정된 시간적 프래그먼트가 상기 미리 결정된 시간적 프래그먼트의 인코딩된 표현으로 코딩되는 단위들인 상기 오디오 프레임들의 시간적 길이를 표시하는 프레임 길이 값, 및 상기 미리 결정된 프래그먼트의 재구성된 버전의 시작부터, 후속하는 시간적 프래그먼트의 재구성된 버전의 시작과 일치하는 상기 프래그먼트 경계까지 상기 미리 결정된 시간적 프래그먼트의 시간적 길이를 표시하는 프래그먼트 길이 값, 및/또는
    상기 트레일링 오디오 프레임의 부분의 시간적 길이 또는 상기 트레일링 오디오 프레임의 부분의 시간적 길이와 상기 트레일링 오디오 프레임의 시간적 길이 사이의 차이를 표시하는 절단 길이 값을 포함하는,
    방법.
  21. 컴퓨터 상에서 실행되는 경우 제 19 항 또는 제 20 항에 따른 방법을 수행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램을 저장하는 컴퓨터-판독가능한 저장 매체.
KR1020177028550A 2015-03-09 2016-03-08 프래그먼트- 정렬된 오디오 코딩 KR102041140B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP15158317.6 2015-03-09
EP15158317 2015-03-09
PCT/EP2016/054916 WO2016142380A1 (en) 2015-03-09 2016-03-08 Fragment-aligned audio coding

Publications (2)

Publication Number Publication Date
KR20170134474A KR20170134474A (ko) 2017-12-06
KR102041140B1 true KR102041140B1 (ko) 2019-12-05

Family

ID=52692426

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177028550A KR102041140B1 (ko) 2015-03-09 2016-03-08 프래그먼트- 정렬된 오디오 코딩

Country Status (11)

Country Link
US (4) US10595066B2 (ko)
EP (1) EP3269147B1 (ko)
JP (1) JP6707556B2 (ko)
KR (1) KR102041140B1 (ko)
CN (1) CN107667400B (ko)
CA (1) CA2978835C (ko)
ES (1) ES2733858T3 (ko)
MX (1) MX363719B (ko)
RU (1) RU2681958C1 (ko)
TR (1) TR201909403T4 (ko)
WO (1) WO2016142380A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11606528B2 (en) * 2018-01-03 2023-03-14 Saturn Licensing Llc Advanced television systems committee (ATSC) 3.0 latency-free display of content attribute
WO2019189988A1 (ko) * 2018-03-30 2019-10-03 (주)디디오넷 Html5 실시간 재생기 및 그것을 이용한 실시간 재생 방법
CN108682436B (zh) * 2018-05-11 2020-06-23 北京海天瑞声科技股份有限公司 语音对齐方法及装置
BR112021003104A2 (pt) * 2018-08-21 2021-05-11 Dolby International Ab métodos, aparelho e sistemas para geração, transporte e processamento de quadros de reprodução imediata (ipfs)
US11416208B2 (en) * 2019-09-23 2022-08-16 Netflix, Inc. Audio metadata smoothing
US11317172B1 (en) * 2020-06-29 2022-04-26 Amazon Technologies, Inc. Video fragment aware audio packaging service
CN111968664B (zh) * 2020-08-21 2024-04-05 武汉大晟极科技有限公司 一种语音降噪方法及均衡滤波器
CN112000308B (zh) * 2020-09-10 2023-04-18 成都拟合未来科技有限公司 一种双音轨音频播放控制方法、系统、终端及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130041672A1 (en) 2010-04-13 2013-02-14 Stefan DOEHLA Method and encoder and decoder for sample-accurate representation of an audio signal
JP2013515401A (ja) 2009-12-21 2013-05-02 エコスター アドバンスト テクノロジーズ エル.エル.シー. コーデック適用フレーム・サイズでの音声スプリッティング
US20150237091A1 (en) 2012-09-18 2015-08-20 Zte Corporation Real-Time Transcode Transfer Method and System Based on HTTP under DLNA

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6124895A (en) * 1997-10-17 2000-09-26 Dolby Laboratories Licensing Corporation Frame-based audio coding with video/audio data synchronization by dynamic audio frame alignment
PT3002750T (pt) * 2008-07-11 2018-02-15 Fraunhofer Ges Forschung Codificador e descodificador de áudio para codificar e descodificar amostras de áudio
CN103177725B (zh) * 2008-10-06 2017-01-18 爱立信电话股份有限公司 用于输送对齐的多通道音频的方法和设备
US8457975B2 (en) * 2009-01-28 2013-06-04 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio decoder, audio encoder, methods for decoding and encoding an audio signal and computer program
TWI480860B (zh) * 2011-03-18 2015-04-11 Fraunhofer Ges Forschung 音訊編碼中之訊框元件長度傳輸技術
US8880395B2 (en) * 2012-05-04 2014-11-04 Sony Computer Entertainment Inc. Source separation by independent component analysis in conjunction with source direction information
KR101838083B1 (ko) * 2014-04-18 2018-03-13 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013515401A (ja) 2009-12-21 2013-05-02 エコスター アドバンスト テクノロジーズ エル.エル.シー. コーデック適用フレーム・サイズでの音声スプリッティング
US20130041672A1 (en) 2010-04-13 2013-02-14 Stefan DOEHLA Method and encoder and decoder for sample-accurate representation of an audio signal
JP2013528825A (ja) 2010-04-13 2013-07-11 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン サンプルごとに正確なオーディオ信号表記のための方法、エンコーダ及びデコーダ
US20150237091A1 (en) 2012-09-18 2015-08-20 Zte Corporation Real-Time Transcode Transfer Method and System Based on HTTP under DLNA

Also Published As

Publication number Publication date
KR20170134474A (ko) 2017-12-06
US20170366830A1 (en) 2017-12-21
US11765415B2 (en) 2023-09-19
MX2017011492A (es) 2018-01-25
US20220167031A1 (en) 2022-05-26
US20230388565A1 (en) 2023-11-30
CA2978835C (en) 2021-01-19
EP3269147A1 (en) 2018-01-17
CA2978835A1 (en) 2016-09-15
BR112017019053A2 (pt) 2018-04-17
WO2016142380A1 (en) 2016-09-15
US10595066B2 (en) 2020-03-17
CN107667400A (zh) 2018-02-06
CN107667400B (zh) 2020-12-18
ES2733858T3 (es) 2019-12-03
US20200177936A1 (en) 2020-06-04
RU2681958C1 (ru) 2019-03-14
JP6707556B2 (ja) 2020-06-10
JP2018514976A (ja) 2018-06-07
TR201909403T4 (tr) 2019-07-22
US11218754B2 (en) 2022-01-04
EP3269147B1 (en) 2019-04-24
MX363719B (es) 2019-03-29

Similar Documents

Publication Publication Date Title
KR102041140B1 (ko) 프래그먼트- 정렬된 오디오 코딩
US11670314B2 (en) Audio decoder, apparatus for generating encoded audio output data and methods permitting initializing a decoder
US8345743B2 (en) Systems and methods for channel switching
BR112017019053B1 (pt) Conversão em código de áudio alinhado por fragmento
Warrier Multiplexing and demultiplexing HEVC video and AAC audio and achieving lip synchronization during playback
Murugan Multiplexing H. 264 video with AAC audio bit streams, demultiplexing and achieving lip synchronization during playback

Legal Events

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