KR101809390B1 - 오디오 디코더, 인코딩된 오디오 출력 데이터를 생성하기 위한 장치 및 디코더의 초기화를 가능하게 하는 방법들 - Google Patents

오디오 디코더, 인코딩된 오디오 출력 데이터를 생성하기 위한 장치 및 디코더의 초기화를 가능하게 하는 방법들 Download PDF

Info

Publication number
KR101809390B1
KR101809390B1 KR1020167010248A KR20167010248A KR101809390B1 KR 101809390 B1 KR101809390 B1 KR 101809390B1 KR 1020167010248 A KR1020167010248 A KR 1020167010248A KR 20167010248 A KR20167010248 A KR 20167010248A KR 101809390 B1 KR101809390 B1 KR 101809390B1
Authority
KR
South Korea
Prior art keywords
frame
sample values
special frame
encoded
audio
Prior art date
Application number
KR1020167010248A
Other languages
English (en)
Other versions
KR20160060686A (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=49378190&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR101809390(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. filed Critical 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베.
Publication of KR20160060686A publication Critical patent/KR20160060686A/ko
Application granted granted Critical
Publication of KR101809390B1 publication Critical patent/KR101809390B1/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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/0017Lossless audio signal coding; Perfect reconstruction of coded audio signal by transmission of coding error
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/002Dynamic bit allocation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/008Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/20Vocoders using multiple modes using sound class specific coding, hybrid encoders or object based coding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/22Mode decision, i.e. based on audio signal content versus external parameters
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/24Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction

Landscapes

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

Abstract

오디오 디코더는 인코딩된 오디오 데이터의 비트스트림을 디코딩하며, 인코딩된 오디오 데이터의 비트스트림은 오디오 샘플 값들의 시퀀스를 표현하고 복수의 프레임들을 포함하고, 각각의 프레임은 연관된 인코딩된 오디오 샘플 값들을 포함한다. 오디오 디코더는 인코딩된 오디오 데이터의 프레임이 특수 프레임인지 여부를 결정하도록 구성된 결정기를 포함하는데, 특수 프레임은 특수 프레임과 연관된 인코딩된 오디오 샘플 값들 및 추가 정보를 포함하고, 추가 정보는 특수 프레임에 선행하는 다수의 프레임들의 인코딩된 오디오 샘플 값들을 포함하며, 선행하는 프레임들의 인코딩된 오디오 샘플 값들은 특수 프레임과 동일한 코덱 구성을 사용하여 인코딩되고, 선행하는 프레임들의 수는 디코더의 시동시 특수 프레임이 첫 번째 프레임인 경우에 특수 프레임과 연관된 오디오 샘플 값들을 디코딩할 위치에 있게 디코더를 초기화하기에 충분하다. 디코더는 디코더를 초기화하도록 구성된 초기화기를 포함하며, 디코더를 초기화하는 것은 특수 프레임과 연관된 인코딩된 오디오 샘플 값들을 디코딩하기 전에 추가 정보에 포함된 인코딩된 오디오 샘플 값들을 디코딩하는 것을 포함한다.

Description

오디오 디코더, 인코딩된 오디오 출력 데이터를 생성하기 위한 장치 및 디코더의 초기화를 가능하게 하는 방법들{AUDIO DECODER, APPARATUS FOR GENERATING ENCODED AUDIO OUTPUT DATA AND METHODS PERMITTING INITIALIZING A DECODER}
본 발명은 오디오 인코딩/디코딩에 관한 것으로, 특히 예컨대, 서로 다른 코덱 구성들 간의 스위칭시 요구될 수도 있는 디코더의 초기화를 가능하게 하는 데이터 인코딩 및 디코딩 접근 방식에 관한 것이다.
본 발명의 실시예들은 송신 채널들의 특성들이 DSL, WiFi, 3G, LTE 등과 같은 액세스 기술에 따라 광범위하게 달라질 수 있는 시나리오들에 적용될 수도 있다. 모바일 전화 수신은 실내에서 또는 농촌 지역들에서 페이드할 수도 있다. 무선 인터넷 접속들의 품질은 기지국까지의 거리 및 액세스 기술에 강력하게 좌우되어, 비트레이트의 변동들로 이어진다. 사용자별 이용 가능한 비트레이트는 또한 하나의 기지국에 접속된 클라이언트들의 수에 따라 변경될 수도 있다.
탄력적인 방식으로 오디오 콘텐츠의 전달을 가능하게 하는 개념을 제공하는 것이 본 발명의 과제이다.
본 발명에 따르면, 이 과제는 제 1 항에 따른 오디오 디코더, 제 9 항에 따른 인코딩된 오디오 출력 데이터를 생성하기 위한 장치, 제 18 항에 따른 오디오 입력 데이터를 디코딩하기 위한 방법, 제 22 항에 따른 인코딩된 오디오 데이터를 생성하기 위한 방법, 및 제 25 항에 따른 컴퓨터 프로그램에 의해 달성된다.
본 발명의 실시예들은 인코딩된 오디오 데이터의 비트스트림을 디코딩하기 위한 오디오 디코더를 제공하며, 여기서 인코딩된 오디오 데이터의 비트스트림은 오디오 샘플 값들의 시퀀스를 표현하고 복수의 프레임들을 포함하며, 각각의 프레임은 연관된 인코딩된 오디오 샘플 값들을 포함하고, 오디오 디코더는,
인코딩된 오디오 데이터의 프레임이 특수 프레임인지 여부를 결정하도록 구성된 결정기 ― 특수 프레임은 특수 프레임과 연관된 인코딩된 오디오 샘플 값들 및 추가 정보를 포함하고, 추가 정보는 특수 프레임에 선행하는 다수의 프레임들의 인코딩된 오디오 샘플 값들을 포함하며, 선행하는 프레임들의 인코딩된 오디오 샘플 값들은 특수 프레임과 동일한 코덱 구성을 사용하여 인코딩되고, 선행하는 프레임들의 수는 디코더의 시동시 특수 프레임이 첫 번째 프레임인 경우에 특수 프레임과 연관된 오디오 샘플 값들을 디코딩할 위치에 있게 디코더를 초기화하기에 충분함 ―; 및
결정기가 프레임이 특수 프레임이라고 결정한다면 디코더를 초기화하도록 구성된 초기화기를 포함하며, 디코더를 초기화하는 것은 특수 프레임과 연관된 인코딩된 오디오 샘플 값들을 디코딩하기 전에 추가 정보에 포함된 인코딩된 오디오 샘플 값들을 디코딩하는 것을 포함한다.
본 발명의 실시예들은 오디오 신호의 오디오 샘플 값들의 시퀀스를 표현하는 인코딩된 오디오 데이터의 비트스트림을 생성하기 위한 장치를 제공하며, 여기서 인코딩된 오디오 데이터의 비트스트림은 복수의 프레임들을 포함하고, 각각의 프레임은 연관된 인코딩된 오디오 샘플 값들을 포함하며, 이 장치는,
프레임들 중 적어도 하나를 특수 프레임으로서 제공하도록 구성된 특수 프레임 제공기 ― 특수 프레임은 특수 프레임과 연관된 인코딩된 오디오 샘플 값들 및 추가 정보를 포함하고, 추가 정보는 특수 프레임에 선행하는 다수의 프레임들의 인코딩된 오디오 샘플 값들을 포함하며, 선행하는 프레임들의 인코딩된 오디오 샘플 값들은 특수 프레임과 동일한 코덱 구성을 사용하여 인코딩되고, 선행하는 프레임들의 수는 디코더의 시동시 특수 프레임이 첫 번째 프레임인 경우에 특수 프레임과 연관된 오디오 샘플 값들을 디코딩할 위치에 있게 디코더를 초기화하기에 충분함 ―; 및
인코딩된 오디오 데이터의 비트스트림을 출력하도록 구성된 출력을 포함한다.
본 발명의 실시예들은 인코딩된 오디오 데이터의 비트스트림을 디코딩하기 위한 방법을 제공하며, 여기서 인코딩된 오디오 데이터의 비트스트림은 오디오 샘플 값들의 시퀀스를 표현하고 복수의 프레임들을 포함하며, 각각의 프레임은 연관된 인코딩된 오디오 샘플 값들을 포함하고, 이 방법은,
인코딩된 오디오 데이터의 프레임이 특수 프레임인지 여부를 결정하는 단계 ― 특수 프레임은 특수 프레임과 연관된 인코딩된 오디오 샘플 값들 및 추가 정보를 포함하고, 추가 정보는 특수 프레임에 선행하는 다수의 프레임들의 인코딩된 오디오 샘플 값들을 포함하며, 선행하는 프레임들의 인코딩된 오디오 샘플 값들은 특수 프레임과 동일한 코덱 구성을 사용하여 인코딩되고, 선행하는 프레임들의 수는 디코더의 시동시 특수 프레임이 첫 번째 프레임인 경우에 특수 프레임과 연관된 오디오 샘플 값들을 디코딩할 위치에 있게 디코더를 초기화하기에 충분함 ―; 및
프레임이 특수 프레임이라고 결정된다면 디코더를 초기화하는 단계를 포함하며, 초기화하는 단계는 특수 프레임과 연관된 인코딩된 오디오 샘플 값들을 디코딩하기 전에 추가 정보에 포함된 인코딩된 오디오 샘플 값들을 디코딩하는 단계를 포함한다.
본 발명의 실시예들은 오디오 신호의 오디오 샘플 값들의 시퀀스를 표현하는 인코딩된 오디오 데이터의 비트스트림을 생성하기 위한 방법을 제공하며, 여기서 인코딩된 오디오 데이터의 비트스트림은 복수의 프레임들을 포함하고, 각각의 프레임은 연관된 인코딩된 오디오 샘플 값들을 포함하며, 이 방법은,
프레임들 중 적어도 하나를 특수 프레임으로서 제공하는 단계 ― 특수 프레임은 특수 프레임과 연관된 인코딩된 오디오 샘플 값들 및 추가 정보를 포함하고, 추가 정보는 특수 프레임에 선행하는 다수의 프레임들의 인코딩된 오디오 샘플 값들을 포함하며, 선행하는 프레임들의 인코딩된 오디오 샘플 값들은 특수 프레임과 동일한 코덱 구성을 사용하여 인코딩되고, 선행하는 프레임들의 수는 디코더의 시동시 특수 프레임이 첫 번째 프레임인 경우에 특수 프레임과 연관된 오디오 샘플 값들을 디코딩할 위치에 있게 디코더를 초기화하기에 충분함 ―; 및
상기 특수 프레임과 상기 복수의 프레임들 중 다른 프레임들을 연결함으로써 상기 비트스트림을 생성하는 단계를 포함한다.
본 발명의 실시예들은, 프레임들 중 하나가 특수 프레임과 연관된 오디오 샘플 값들을 디코딩할 위치에 있게 디코더를 초기화하는 데 필요한 선행 프레임들과 연관된 인코딩된 오디오 샘플 값들을 포함하는 특수 프레임으로서 제공된다면, 오디오 신호의 오디오 샘플 값들의 시퀀스를 표현하며 복수의 프레임들을 포함하는 인코딩된 오디오 데이터의 비트스트림의 즉각적인 재생이 달성될 수 있다는 결과를 기반으로 한다. 이에 따라 디코더를 초기화하는 데 필요한 프레임들의 수는 사용되는 코덱 구성에 좌우되며 코덱 구성들에 대해 알려진다. 본 발명의 실시예들은 이러한 특수 프레임이 코딩 구성들 간의 스위칭이 일어날 위치에 배치된다면 유리한 방식으로 서로 다른 코덱 구성들 간의 스위칭이 달성될 수 있다는 결과를 기반으로 한다. 특수 프레임은 특수 프레임과 연관된 인코딩된 오디오 샘플 값들뿐만 아니라, 코덱 구성들 간의 스위칭 및 스위칭시 즉각적인 재생을 가능하게 하는 추가 정보도 포함할 수 있다. 본 발명의 실시예들에서, 인코딩된 오디오 출력 데이터를 생성하기 위한 장치 및 방법 그리고 오디오 인코더는 디코더 측에서 코덱 구성들 간의 스위칭시 즉각적인 재생이 일어날 수 있는 방식으로 인코딩된 오디오 데이터를 준비하도록 구성된다. 본 발명의 실시예들에서, 인코더 측에서 생성되어 출력된 이러한 오디오 데이터는 디코더 측에서 오디오 입력 데이터로서 수신되고 디코더 측에서의 즉각적인 재생을 가능하게 한다. 본 발명의 실시예들에서는, 디코더 측에서 서로 다른 코덱 구성들 간의 스위칭시 디코더 측에서 즉각적인 재생이 가능하게 된다.
본 발명의 실시예들에서, 초기화기는 결정기가 프레임이 특수 프레임이라고 결정한다면 그리고 특수 프레임의 오디오 샘플 값들이 다른 코덱 구성을 사용하여 인코딩되었다면, 오디오 디코더를 현재 코덱 구성에서 다른 코덱 구성으로 스위칭하도록 구성된다.
본 발명의 실시예들에서, 디코더는 현재 코덱 구성을 사용하여 특수 프레임을 디코딩하도록, 그리고 결정기가 프레임이 특수 프레임이라고 결정한다면 그리고 특수 프레임의 오디오 샘플 값들이 현재 코덱 구성을 사용하여 인코딩되었다면 추가 정보를 폐기하도록 구성된다.
본 발명의 실시예들에서, 추가 정보는 특수 프레임과 연관된 오디오 샘플 값들을 인코딩하기 위해 사용되는 코덱 구성에 대한 정보를 포함하고, 결정기는 추가 정보의 코덱 구성이 현재 코덱 구성과 다른지 여부를 결정하도록 구성된다.
본 발명의 실시예들에서, 오디오 디코더는 현재 코덱 구성을 사용하여 얻어진 복수의 출력 샘플 값들과, 특수 프레임과 연관된 인코딩된 오디오 샘플 값들을 디코딩함으로써 얻어진 복수의 출력 샘플 값들 간의 크로스 페이드를 수행하도록 구성된 크로스 페이더를 포함한다. 본 발명의 실시예들에서, 크로스 페이더는 현재 코덱 구성에서 디코더를 플러시(flush)함으로써 얻어진 출력 샘플 값들 그리고 특수 프레임과 연관된 인코딩된 오디오 샘플 값들을 디코딩함으로써 얻어진 출력 샘플 값들의 크로스 페이드를 수행하도록 구성된다.
본 발명의 실시예들에서, 추가 정보에 포함된 다수의 프레임들 중 가장 이른 프레임은 가장 이른 프레임 이전의 어떠한 프레임에 대해서도 시간 차(time-differentially) 인코딩되거나 엔트로피 인코딩되지 않고, 특수 프레임은 특수 프레임에 선행하는 다수의 프레임들 중 가장 이른 프레임 이전의 임의의 프레임에 대해 또는 특수 프레임 이전의 어떠한 프레임에 대해서도 시간 차 인코딩되거나 엔트로피 인코딩되지 않는다.
본 발명의 실시예들에서, 특수 프레임은 확장 페이로드로서 추가 정보를 포함하고, 결정기는 특수 프레임의 확장 페이로드를 평가하도록 구성된다. 본 발명의 실시예들에서, 추가 정보는 특수 프레임과 연관된 오디오 샘플 값들을 인코딩하기 위해 사용되는 코덱 구성에 대한 정보를 포함한다.
본 발명의 실시예들에서, 인코딩된 오디오 데이터는 복수의 세그먼트들을 포함하고, 각각의 세그먼트는 오디오 샘플 값들의 시퀀스의 복수의 부분들 중 하나와 연관되고 복수의 프레임들을 포함하며, 특수 프레임 가산기는 각각의 세그먼트의 시작에 특수 프레임을 부가하도록 구성된다.
본 발명의 실시예에서, 인코딩된 오디오 데이터는 복수의 세그먼트들을 포함하고, 각각의 세그먼트는 오디오 샘플 값들의 시퀀스의 복수의 부분들 중 하나와 연관되고 복수의 프레임들을 포함하며, 인코딩된 오디오 데이터의 비트스트림을 생성하기 위한 장치는, 오디오 샘플 값들의 시퀀스의 서로 다른 부분들과 연관되며 서로 다른 코덱 구성들로 인코딩된 세그먼트들을 제공하도록 구성된 세그먼트 제공기 ― 특수 프레임 제공기는 세그먼트들 중 적어도 하나의 세그먼트의 첫 번째 프레임을 특수 프레임으로서 제공하도록 구성됨 ―; 및 세그먼트들 중 적어도 하나를 세그먼트들 중 다른 하나의 세그먼트 뒤에 정렬함으로써 오디오 출력 데이터를 생성하도록 구성된 생성기를 포함한다. 본 발명의 실시예들에서, 세그먼트 제공기는 제어 신호를 기초로 각각의 세그먼트에 대한 코덱 구성을 선택하도록 구성된다. 본 발명의 실시예들에서, 세그먼트 제공기는 오디오 샘플 값들의 시퀀스의 m개의 인코딩된 버전들을 제공하도록 구성되며, m ≥ 2이고, m개의 인코딩된 버전들은 서로 다른 코덱 구성들을 사용하여 인코딩되며, 각각의 인코딩된 버전은 오디오 샘플 값들의 시퀀스의 복수의 부분들을 표현하는 복수의 세그먼트들을 포함하고, 특수 프레임 제공기는 세그먼트들 각각의 시작에 특수 프레임을 제공하도록 구성된다.
본 발명의 실시예들에서, 세그먼트 제공기는 복수의 서로 다른 코덱 구성들 중 하나에 따라 오디오 신호를 적어도 부분적으로 인코딩하도록 각각 구성된 복수의 인코더들을 포함한다. 본 발명의 실시예들에서, 세그먼트 제공기는 오디오 샘플 값들의 시퀀스의 m개의 인코딩된 버전들을 저장하는 메모리를 포함한다.
본 발명의 실시예들에서, 추가 정보는 특수 프레임의 확장 페이로드 형태이다.
본 발명의 실시예들에서, 디코딩하는 방법은 프레임이 특수 프레임이라고 결정된다면 그리고 특수 프레임의 오디오 샘플 값들이 다른 코덱 구성을 사용하여 인코딩되었다면, 오디오 디코더를 현재 코덱 구성에서 다른 코덱 구성으로 스위칭하는 단계를 포함한다.
본 발명의 실시예들에서, 인코딩된 오디오 데이터의 비트스트림은 제 1 코덱 구성을 사용하여 인코딩된 제 1 개수의 프레임들 및 제 1 개수의 프레임들에 이어지며 제 2 코덱 구성을 사용하여 인코딩된 제 2 개수의 프레임들을 포함하고, 제 2 개수의 프레임들 중 첫 번째 프레임은 특수 프레임이다.
본 발명의 실시예들에서, 추가 정보는 특수 프레임과 연관된 오디오 샘플 값들을 인코딩하기 위해 사용되는 코덱 구성에 대한 정보를 포함하고, 이 방법은 추가 정보의 코덱 구성이 비트스트림에서 특수 프레임에 선행하는 프레임들의 인코딩된 오디오 샘플 값들을 인코딩하는 데 사용되는 현재 코덱 구성과 다른지 여부를 결정하는 단계를 포함한다.
본 발명의 실시예들에서, 인코딩된 오디오 데이터의 비트스트림을 생성하는 방법은 오디오 샘플 값들의 시퀀스의 서로 다른 부분들과 연관되며 서로 다른 코덱 구성들로 인코딩된 세그먼트들을 제공하는 단계를 포함하며, 세그먼트들 중 적어도 하나의 세그먼트의 첫 번째 프레임이 특수 프레임으로서 제공된다.
따라서 본 발명의 실시예들에서는, 서로 다른 코덱 구성들 간의 끊김 없는 스위칭을 가능하게 하기 위해 크로스 페이드가 수행된다. 본 발명의 실시예들에서, 특수 프레임의 추가 정보는 특수 프레임을 디코딩할 위치에 있게 디코더를 초기화하기 위해 필요한 프리롤(pre-roll) 프레임들을 포함한다. 즉, 본 발명의 실시예들에서, 추가 정보는 특수 프레임에 선행하며, 특수 프레임과 연관된 오디오 샘플 값들을 디코딩할 위치에 있게 디코더를 초기화하는 데 필요한 특수 프레임들로 표현되는 인코딩된 오디오 샘플 값들과 동일한 코덱 구성을 사용하여 인코딩된, 인코딩된 오디오 샘플 값들의 해당 프레임의 사본을 포함한다.
본 발명의 실시예들에서, 특수 프레임들은 규칙적인 시간 간격들로, 즉 주기적인 방식으로 인코딩된 오디오 데이터에 삽입된다. 본 발명의 실시예들에서는, 인코딩된 오디오 데이터의 각각의 세그먼트의 첫 번째 프레임이 특수 프레임이다. 실시예들에서, 오디오 디코더는 다른 코덱 구성을 표시하는 추가 특수 프레임과 접하게 될 때까지 특수 프레임에 표시된 코덱 구성을 사용하여 특수 프레임들 및 다음 프레임들을 디코딩하도록 구성된다.
본 발명의 실시예들에서, 디코더 및 디코딩하기 위한 방법은 다수의 압축된 오디오 표현들 간의 끊김 없는 스위칭을 가능하게 하기 위해, 어떤 한 코덱 구성에서 다른 코덱 구성으로 스위칭할 때 크로스 페이드를 수행하도록 구성된다.
본 발명의 실시예들에서, 서로 다른 코덱 구성들은 고급 오디오 코딩(AAC: Advanced Audio Coding) 표준에 따른 서로 다른 코덱 구성들, 즉 AAC 패밀리 코덱들의 서로 다른 코덱 구성들이다. 본 발명의 실시예들은 AAC 패밀리 코덱들의 코덱 구성들과 적응적 다중 레이트(AMR: Adaptive Multiple Rate) 패밀리 코덱들의 코덱 구성들 간의 스위칭에 관련될 수 있다.
따라서 본 발명의 실시예들은 오디오 콘텐츠가 전달되는 방식이 가변 비트레이트를 갖는 송신 채널과 같은 환경 조건들에 적응될 수 있도록 디코더 측에서의 즉각적인 재생 및 서로 다른 코덱 구성들 간의 스위칭을 가능하게 한다. 따라서 본 발명의 실시예들은 주어진 네트워크 상태에 대한 최상의 가능한 오디오 품질을 소비자에게 제공하는 것을 가능하게 한다.
이어서 본 발명의 실시예들이 첨부 도면들을 참조로 논의된다.
도 1은 인코딩된 오디오 출력 데이터를 생성하기 위한 장치의 실시예의 개략도를 보여준다.
도 2는 특수 프레임의 실시예를 설명하기 위한 개략도를 보여준다.
도 3은 오디오 신호의 서로 다른 표현들의 개략도를 보여준다.
도 4a와 도 4b는 인코딩된 오디오 출력 데이터를 생성하기 위한 장치들의 개략도들을 보여준다.
도 5는 오디오 디코더의 개략도를 보여준다.
도 6은 오디오 디코더 및 디코딩하기 위한 방법의 실시예를 설명하기 위한 개략적인 블록도를 보여준다.
도 7은 서로 다른 코덱 구성들 간 오디오 디코더의 스위칭을 설명하기 위한 개략적인 블록도를 보여준다.
도 8은 고급 오디오 코딩(AAC) 디코더 작동을 설명하기 위한 개략도를 보여준다.
도 9는 제 1 스트림 1에서 제 2 스트림 2로의 스위칭을 보여준다.
도 10은 추가 정보를 제공하는 예시적인 신택스 엘리먼트를 보여준다.
일반적으로, 본 발명의 실시예들은 가변 비트레이트를 갖는 송신 채널을 통한, 가능하게는 비디오 전달과 결합된 오디오 콘텐츠의 전달을 목표로 한다. 이 목표는 주어진 네트워크 상태에 대한 최상의 가능한 오디오 품질을 소비자에게 제공하는 것일 수도 있다. 본 발명의 실시예들은 적응적 스트리밍 환경으로의 AAC 패밀리 코덱들의 구현에 초점을 맞추고 있다.
본 발명의 실시예들에서는, 본 명세서에서 사용되는 바와 같이, 인코딩되지 않은 오디오 샘플 값들은 펄스 코드 변조(PCM: pulse code modulate)된 샘플들과 같은 시간 도메인 오디오 샘플 값들을 표현한다. 본 발명의 실시예들에서, 인코딩된 오디오 샘플 값이라는 용어는 시간 도메인 오디오 샘플 값들을 인코딩한 후 얻어진 주파수 도메인 샘플 값들을 의미한다. 본 발명의 실시예들에서, 인코딩된 오디오 샘플 값들 또는 샘플들은 시간 도메인 샘플들을 예컨대, 수정된 이산 코사인 변환(MDCT: modified discrete cosine transformation)에 의해 스펙트럼 표현으로 변환하고, 결과를 예컨대, 양자화 및 허프만 코딩에 의해 인코딩함으로써 얻어진 것들이다. 이에 따라, 본 발명의 실시예에서, 인코딩은 시간 도메인 샘플들로부터 주파수 도메인 샘플들을 얻는 것을 의미하고, 디코딩은 주파수 도메인 샘플들로부터 시간 도메인 샘플들을 얻는 것을 의미한다. 인코딩된 오디오 데이터를 디코딩함으로써 얻어진 샘플 값들(샘플들)은 본 명세서에서 간혹 출력 샘플 값들(샘플들)로 지칭된다.
도 1은 인코딩된 오디오 출력 데이터를 생성하기 위한 장치의 실시예를 보여준다. 도 1은 본 발명의 실시예들이 적용될 수 있는 적응적 오디오 스트리밍의 통상적인 시나리오를 보여준다. 오디오 입력 신호(10)는 다양한 오디오 인코더들(12, 14, 16, 18), 즉 인코더 1 내지 인코더 m에 의해 인코딩된다. 인코더 1 내지 인코더 m은 오디오 입력 신호(10)를 동시에 인코딩하도록 구성될 수도 있다. 통상적으로, 인코더 1 내지 인코더 m은 넓은 비트레이트 범위가 달성될 수 있도록 구성될 수도 있다. 인코더들은 오디오 입력 신호(10)의 서로 다른 표현들, 즉 코딩된 버전들(22, 24, 26, 28), 즉 표현 1 내지 표현 m을 생성한다. 각각의 표현은 복수의 세그먼트 1 내지 세그먼트 k를 포함하며, 여기서 첫 번째 표현의 두 번째 세그먼트는 단지 예시 목적으로 참조번호 30이 주어졌다. 각각의 세그먼트는 AU라는 문자들 및 각각의 표현에서의 프레임 위치를 표시하는 각각의 인덱스 1 내지 인덱스 n으로 표기된 복수의 프레임들(액세스 유닛(access unit)들)을 포함한다. 첫 번째 표현의 8번째 프레임은 단지 예시 목적으로 참조번호 40이 주어진다.
인코더들(12, 14, 16, 18)은 세그먼트들의 크기들을 정의하는 규칙적인 시간 간격들로 스트림 액세스 포인트(SAP: stream access point)들(42)을 삽입하도록 구성된다. 따라서 세그먼트(30)와 같은 세그먼트는 AU5, AU6, AU7 및 AU8과 같은 다수의 프레임들로 구성되는데, 여기서 첫 번째 프레임(AU5)은 SAP(42)를 나타낸다. 도 1에서, SAP들은 해칭으로 표시된다. 각각의 표현 1 내지 표현 m은 오디오 입력 신호(10)에 대한 압축된 오디오 표현(CAR: compressed audio representation)을 나타내며 이러한 k개의 세그먼트들로 구성된다. 세그먼트 경계들에서 서로 다른 CAR들 간의 스위칭이 발생할 수 있다.
디코더 측에서, 클라이언트는 표현들 중에서 주어진 상황에, 예를 들어 주어진 네트워크 상태들에 가장 잘 맞는 표현을 요청할 수도 있다. 어떤 이유로 상태들이 변경된다면, 클라이언트가 다른 CAR을 요청할 수 있어야 하고, 인코딩된 출력 데이터를 생성하기 위한 장치가 세그먼트 경계마다 서로 다른 CAR들 간에 스위칭할 수 있어야 하며, 디코더가 세그먼트 경계마다 다른 CAR을 디코딩하도록 스위칭할 수 있어야 한다. 그러므로 클라이언트는 버퍼 언더 런(buffer under run)들("재-버퍼링")을 최소화하면서 품질을 최대화하기 위해 중간 비트레이트를 이용 가능한 채널 비트레이트로 적응시킬 위치에 있을 것이다. 하이퍼텍스트 전송 프로토콜(HTTP: Hyper Text Transfer Protocol)이 세그먼트들을 다운로드하는 데 사용된다면, 이러한 스트리밍 아키텍처는 HTTP 적응적 스트리밍으로 지칭될 수도 있다.
현재 구현들은 애플사의 HTTP 라이브 스트리밍(HLS: HTTP Live Streaming), 마이크로소프트사의 스무드 스트리밍(Smooth Streaming) 및 어도비사의 동적 스트리밍(Dynamic Streaming)을 포함하며, 이들 모두 기본 원리들을 따른다. 최근, MPEG은 개방형 표준: Dynamic Adaptive Streaming over HTTP(MPEG DASH)를 발표하였는데, "Guidelines for Implementation: DASH- AVC /264 Interoperability Points", http://dashif.org/w/2013/08/DASH-AVC-264-v2.00-hd-mca.pdf를 참조한다. HTTP는 통상적으로 기본 네트워크 프로토콜로서 전송 제어 프로토콜/인터넷 프로토콜(TCP/IP: Transmission Control Protocol/Internet Protocol)을 사용한다. 본 발명의 실시예들은 그러한 현재 전개들 모두에 적용될 수 있다.
표현들(인코딩된 버전들) 간의 스위칭은 가능한 한 끊김이 없어야 한다. 즉, 스위칭 동안 어떠한 가청 결함 또는 클릭도 없어야 한다. 본 발명의 실시예들에 의해 제공되는 추가 조치들 없이, 이러한 요건은 단지 특정 제약들 하에서 그리고 인코딩 프로세스 동안 특별한 관리가 취해지는 경우에만 달성될 수 있다.
도 1에서, 세그먼트가 발생하는 각각의 인코더는 원 안에 놓인 각각의 마크로 표시된다. 도 1은 각각의 세그먼트에 대해 어떤 표현을 다운로드할지를 결정하는 결정 엔진(50)을 추가로 보여준다. 생성기(52)는 선택된 세그먼트들로부터 인코딩된 오디오 출력 데이터(54)를 생성하는데, 이는 선택된 세그먼트들을 연결함으로써 도 1에서 44, 46 및 48의 참조번호들로 주어진다. 인코딩된 오디오 출력 데이터(54)는 인코딩된 오디오 출력 데이터를 오디오 출력 샘플들을 포함하는 오디오 출력 신호(62)로 디코딩하도록 구성된 디코더(60)에 전달될 수도 있다.
도 1에 도시된 실시예에서, 서로 다른 인코더들로부터 발생하는 세그먼트들 및 이에 따른 프레임들이, 예를 들어 도 1의 예에서 인코더 2로부터의 AU4 그리고 인코더 3으로부터의 AU5가 동일한 디코더(60)에 공급된다. 그러한 AU들을 디코딩하는 데 동일한 디코더 인스턴스가 사용되는 경우에는, 두 인코더들 모두 서로 호환 가능할 필요가 있다. 특히, 어떠한 추가 조치들도 없이, 2개의 인코더들이 완전히 서로 다른 코덱 패밀리에서 나온다면, 이를테면 인코더 2의 경우에는 AMR 그리고 인코더 3의 경우에는 G.711이라면, 이러한 접근 방식이 작동할 수 없다. 그러나 모든 표현들에 걸쳐 동일한 코덱이 사용되더라도, 인코딩 프로세스를 제한하도록 특별한 관리가 취해져야 한다. 이는 고급 오디오 코딩(AAC)과 같은 최신 오디오 코덱이 다양한 코딩 툴들 및 모드들을 사용하여 여러 가지 구성들에서 작동할 수 있는 탄력적인 알고리즘들이기 때문이다. AAC에서의 이러한 코딩 툴들에 대한 예들은 스펙트럼 대역 복제(SBR: Spectral Band Replication) 또는 짧은 블록들(SB: Short Blocks)이다. 다른 중요한 구성 파라미터들은 샘플링 주파수(fs, 예를 들어 48 kHz) 또는 채널 구성(모노, 스테레오, 서라운드)이다. 프레임들(AU들)을 정확히 디코딩하기 위해, 디코더는 어떤 툴들이 사용되는지 그리고 그것들이 어떻게 구성되는지(예를 들어, fs 또는 SBR 크로스 오버 주파수)에 관해 알아야 한다. 따라서 일반적으로, 필요한 정보는 짧은 구성 스트링으로 인코딩되고 디코딩 전에 디코더에 이용 가능하게 된다. 이러한 구성 파라미터들은 코덱 구성으로 지칭될 수도 있다. AAC의 경우, 이 구성은 오디오 특정 구성(ASC: Audio Specific Config)으로서 알려진다.
지금까지는, 끊김 없는 스위칭을 달성하기 위해, 표현들(인코딩된 버전들)에 걸쳐 호환 가능하도록 코덱 구성을 제한하는 것이 필요했다. 예를 들어, 샘플링 주파수 또는 코딩 툴들은 통상적으로 모든 표현들에 걸쳐 동일해야 한다. 호환 가능하지 않은 코덱 구성들이 표현들 사이에 사용된다면, 디코더가 재구성되어야 한다. 이는 기본적으로, 이전 디코더가 종료되어야 하고 새로운 디코더가 새로운 구성으로 시작되어야 함을 의미한다. 그러나 이러한 재구성 프로세스는 모든 상황들 하에서 끊김 없는 것은 아니며 결함을 야기할 수도 있다. 이에 대한 한 가지 이유는, 새로운 디코더가 유효 샘플들을 즉시 생성할 수 없지만 전체 신호 세기를 빌드업(build up)하기 위해 여러 가지 프리롤 AU들을 필요로 한다는 점이다. 이러한 시동 행위는 디코더 상태를 갖는 코덱들에 대해, 즉 현재 AU의 디코딩이 이전 AU들의 디코딩과 완전히 독립적이진 않은 경우에 일반적이다.
이러한 작동으로부터의 결과로서, 코덱 구성은 통상적으로 모든 표현들에 걸쳐 일정할 것이 요구되었으며 변하는 유일한 파라미터는 비트레이트였다. 이는 예를 들어, DASH 산업 포럼에 의해 정의된 것과 같은 DASH-AVC/264 프로파일에 대한 경우이다.
이러한 제약은 완전한 비트레이트 범위에 걸쳐 코덱의 탄력성 및 이에 따른 코딩 효율을 제한하였다. 예를 들어, SBR은 매우 낮은 비트레이트들에 매우 유용한 코딩 툴이지만 오디오 품질을 높은 비트레이트들로 제한한다. 그러므로 코덱 구성이 일정할 것이 요구된다면, 즉 SBR에 의해서든 아니면 SBR 없이든, 높은 또는 낮은 비트레이트들로 절충해야 한다. 마찬가지로, 코딩 효율은 표현들에 걸쳐 샘플링 레이트를 변경하는 것으로부터 이익을 얻을 수 있지만, 끊김 없는 스위칭에 대한 앞서 언급한 제약들 때문에 일정하게 유지되어야 했다.
본 발명의 실시예들은 적응적 스트리밍 환경에서 끊김 없는 오디오 스위칭을 가능하게 하는, 그리고 특히 적응적 스트리밍 환경에서 AAC 패밀리 오디오 코덱들에 대한 끊김 없는 오디오 스위칭을 가능하게 하는 신규한 접근 방식에 관련된다. 본 발명의 접근 방식은 앞서 설명한 바와 같이 코덱 구성에 대한 제약들로부터 발생하는 모든 결점들을 해결하도록 설계된다. 전체 목표는 끊김 없는 스위칭이 여전히 가능해지거나 보장되면서, 표현들(인코딩된 버전들)에 걸친 구성, 예컨대 코딩 툴들 또는 샘플링 주파수에 더 큰 탄력성을 갖는 것이다.
본 발명의 실시예들은 압축된 오디오 표현(CAR)과 같은 인코딩된 오디오 데이터의 다른 프레임들 사이의 특수 프레임과 연관된 인코딩된 오디오 샘플 값들뿐만 아니라 추가 정보도 전달하는 특수 프레임을 부가함으로써 앞서 설명한 제약들이 극복될 수 있고 더 높은 탄력성이 달성될 수 있다는 결과를 기반으로 한다. 압축된 오디오 표현은 손실 있는 또는 무손실 오디오 인코더, 예를 들어 일정한 전체 비트레이트를 갖는 AAC 패밀리 오디오 인코더(AAC, HE-AAC, MPEG-D USAC, …)에 의한 압축 이후 한 편의 오디오 자료(음악, 음성, …)로서 고려될 수 있다. 특히, 특수 프레임 내의 추가 정보는 서로 다른 코덱 구성들 간에 스위칭하는 경우라도 디코더 측에서 즉각적인 플레이아웃(play-out)을 가능하게 하도록 설계된다. 따라서 특수 프레임은 즉각적인 플레이아웃 프레임(IPF: instantaneous play-out frame)으로 지칭될 수도 있다. IPF는 디코더 시동 지연을 보상하도록 구성되며, 현재 프레임의 데이터와 함께 이전 프레임들에 대한 오디오 정보를 송신하는 데 사용된다.
이러한 IPF(80)의 일례가 도 2에 도시된다. 도 2는 n-4 내지 n+3으로 넘버링된 다수의 프레임들(액세스 유닛들)(40)을 보여준다. 각각의 프레임은 연관된 인코딩된 오디오 샘플 값들, 즉 오디오 입력 신호(10)와 같은 오디오 신호를 표현하는 시간 도메인 오디오 샘플 값들의 시퀀스의 특정 개수의 시간 도메인 오디오 샘플 값들의 인코딩된 오디오 샘플 값들을 포함한다. 예를 들어, 각각의 프레임은 1024개의 시간 도메인 오디오 샘플 값들, 즉 인코딩되지 않은 오디오 신호의 오디오 샘플 값들을 표현하는 인코딩된 오디오 샘플 값들을 포함할 수도 있다. 도 2에서, 선행 프레임 n-1과 다음 프레임 n+1 사이에 정렬된 프레임 n은 특수 프레임 또는 IPF(80)를 나타낸다. 특수 프레임(80)은 추가 정보(82)를 포함한다. 추가 정보(82)는 코덱 구성에 대한 정보(84), 즉 프레임들(n-4 내지 n+3)을 포함하는 데이터 스트림을 인코딩하는 데 사용되는 코덱 구성에 대한 정보, 및 이에 따라 특수 프레임과 연관된 오디오 샘플 값들을 인코딩하는 데 사용되는 코덱 구성에 대한 정보를 포함한다.
도 2에 도시된 실시예에서, 오디오 디코더에 의해 유도되는 지연은 3개의 프레임들인 것으로 추정되는데, 즉 오디오 디코더의 시동 동안 전체 신호를 빌드업하기 위해 3개의 소위 프리롤 프레임들이 요구된다고 추정된다. 그러므로 스트림 구성(코덱 구성)이 디코더에 알려져 있다고 가정하면, 디코더는 프레임 n에서 유효 샘플들을 생성하기 위해 정상적으로는 프레임 n-3에서 디코딩을 시작해야 할 것이다. 따라서 디코더에 필요한 정보를 이용 가능하게 하기 위해, 추가 정보(82)는 특수 프레임(80)에 선행하며 추가 정보(82)에 표시된 코덱 구성(84)을 사용하여 인코딩되는 인코딩된 오디오 샘플 값들의 다수의 프레임들을 포함한다. 이러한 다수의 프레임들은 도 2에서 참조번호 86으로 표시된다. 이러한 다수의 프레임들(86)은 특수 프레임 n과 연관된 오디오 샘플 값들을 디코딩할 위치에 있게 디코더를 초기화할 필요가 있다. 이에 따라, 프레임(86)의 정보가 복제되어 특수 프레임(80)의 일부로서 전달된다. 따라서 이 정보는 프레임 n에서 도 2에 도시된 데이터 스트림으로의 스위칭시 즉시 디코더에 이용 가능하다. 프레임 n에서 이 추가 정보 없이는, 스위칭 이후에 코덱 구성(84)도 프레임들(n-3 내지 n-1)도 디코더에 이용 가능하지 않을 것이다. 이 정보를 특수 프레임(80)에 부가하는 것은 디코더를 즉시 초기화하는 것, 그리고 이에 따라 특수 프레임을 포함하는 데이터 스트림으로의 스위칭시의 즉각적인 플레이아웃을 가능하게 한다. 디코더는 프레임 n을 디코딩함으로써 얻어진 출력 샘플들이 출력되어야 할 때까지 이용 가능한 시간 윈도우 내에서 프레임 n의 이러한 초기화 및 디코딩이 수행될 수 있게 구성된다.
정상적인 디코딩 동안, 즉 다른 코덱 구성으로의 스위칭 없이는, 프레임 n만이 디코딩되고 추가 정보에 포함된 프레임들(n-3 내지 n-1)은 무시된다. 그러나 다른 코덱 구성으로의 스위칭 이후에는, 특수 프레임(80) 내의 모든 정보가 추출되고, 포함된 코덱 구성을 기초로 그리고 현재 프레임 n을 마지막으로 디코딩하고 재생하기 전에 프리롤 프레임들(n-3 내지 n-1)의 디코딩을 기초로 디코더가 초기화된다. 현재 프레임이 디코딩되고 재생되기 전에 프리롤 프레임들의 디코딩이 일어난다. 프리롤 프레임들은 재생되지 않지만, 디코더는 현재 프레임 n의 재생 전에 이용 가능한 시간 윈도우 내에 프리롤 프레임들을 디코딩하도록 구성된다.
"코덱 구성"이라는 용어는 오디오 데이터 또는 오디오 데이터의 프레임들의 인코딩에 사용되는 코덱 구성을 의미한다. 따라서 코딩 구성은 사용되는 서로 다른 코딩 툴들 및 모드들을 표시할 수 있는데, 여기서 AAC에 사용되는 예시적인 코딩 툴들은 스펙트럼 대역 복제(SBR) 또는 짧은 블록들(SB)이다. 하나의 구성 파라미터는 SBR 크로스 오버 주파수일 수도 있다. 다른 구성 파라미터들은 샘플링 주파수 또는 채널 구성일 수도 있다. 서로 다른 코덱 구성들은 이러한 구성 파라미터들 중 하나 또는 그보다 많은 파라미터가 상이하다. 본 발명의 실시예들에서, 서로 다른 코덱 구성들은 AAC, AMR 또는 G.711과 같은 완전히 서로 다른 코덱들을 또한 포함할 수도 있다.
이에 따라, 도 2에 예시된 예에서는 디코더 시동 지연을 보상하기 위해 3개의 프레임들, 즉 n-3 내지 n-1이 필요하다. 추가 프레임 데이터는 오디오 비트스트림 내의 확장 페이로드 메커니즘에 의해 송신될 수도 있다. 예를 들어, USAC 확장 페이로드 메커니즘(UsacExtElement)이 추가 정보를 전달하는 데 사용될 수 있다. 더욱이, 스트림 구성(84)을 송신하는 데 "config" 필드가 사용될 수도 있다. 이는 비트스트림 스위칭 또는 비트레이트 적응의 경우에 유용할 수도 있다. 둘 다, 첫 번째 프리롤 AU(n-3) 및 IPF 자체(n)는 독립적으로 디코딩 가능한 프레임일 수도 있다. USAC의 컨텍스트에서 인코더들은 그러한 프레임들에 대해 플래그(usacIndependencyFlag)를 "1"로 설정할 수도 있다. 도 2에 도시된 바와 같이 프레임 구조를 구현하면, IPF마다 비트스트림에 랜덤 액세스하고 유효 PCM 샘플들을 즉시 플레이아웃하는 것이 가능하다. IPF의 디코딩 프로세스는 다음 단계들을 포함할 수도 있다. 모든 "프리롤" AU들(n-3 내지 n-1)을 디코딩하고 결과적인 출력 PCM 샘플들을 폐기한다. 이 단계 이후에 내부 디코더 상태들 및 버퍼들이 완벽하게 초기화된다. 프레임 n을 디코딩하고 규칙적인 플레이아웃을 시작한다. 프레임 n+1로 정상적으로 디코딩을 계속한다. IPF가 오디오 스트림 액세스 포인트(SAP)로서 사용될 수도 있다. IPF마다 유효 PCM 샘플들의 즉각적인 플레이아웃이 가능하다.
본 명세서에 정의된 것과 같은 특수 프레임들이 보조 데이터나 확장 데이터 또는 데이터 스트림 엘리먼트들의 다중화 및 송신 또는 오디오 코덱 외부 데이터를 송신하기 위한 비슷한 메커니즘들을 허용하는 임의의 코덱에 구현될 수 있다. 본 발명의 실시예들은 USAC 코덱 프레임워크에 대한 구현을 의미한다. 본 발명의 실시예들은 USAC 오디오 인코더들 및 디코더들과 관련하여 구현될 수도 있다. USAC는 통합 음성 및 오디오 코딩을 의미하며 표준 ISO/IEC 23003-3:2012에 대한 참조가 이루어진다. 본 발명의 실시예들에서, 추가 정보는 도 2의 프레임 n과 같은 대응하는 프레임의 확장 페이로드에 포함된다. 예를 들어, USAC 표준은 인코딩된 오디오 데이터에 대한 임의의 확장 페이로드의 부가를 허용한다. 확장 페이로드의 존재는 프레임 단위로 스위칭 가능하다. 이에 따라, 추가 정보는 이전 프레임들의 추가 오디오 정보를 전달하도록 정의된 새로운 확장 페이로드 타입으로서 구현될 수도 있다.
앞서 설명한 바와 같이, 즉각적인 플레이아웃 프레임(80)은 특정 타임스탬프(프레임 n)와 연관된 유효 출력 샘플들이 즉시, 즉 오디오 코덱 지연에 따라 특정 개수의 프레임들을 기다릴 필요 없이 생성될 수 있게 설계된다. 즉, 오디오 코덱 지연이 보상될 수 있다. 도 2에 도시된 실시예에서, 오디오 코덱 지연은 3개의 프레임이다. 더욱이, IPF는 완전히 그리고 독립적으로, 즉 이전 오디오 스트림에 대한 어떠한 추가 지식도 없이 디코딩 가능하도록 설계된다. 이와 관련하여, 특수 프레임(즉, 도 2의 프레임 n-3)에 부가된 다수의 프레임들 중 가장 이른 프레임은 어떠한 이전 프레임에 대해서도 시간 차 인코딩되거나 엔트로피 인코딩되지 않는다. 추가로, 특수 프레임은 추가 정보에 포함된 다수의 프레임들 중 가장 이른 프레임 이전의 어떠한 프레임에 대해서도 또는 어떠한 이전 프레임에 대해서도 전혀 시간 차 인코딩되거나 엔트로피 인코딩되지 않는다. 즉, 도 2의 프레임들(n-3, n)의 경우, 이전 프레임에 대한 모든 의존성들, 예를 들어 특정 파라미터들의 시간 차 코딩 또는 엔트로피 인코딩의 리셋이 제거될 수 있다. 따라서 그러한 독립적인 프레임들은 모든 심벌들의 정확한 디코딩 및 파싱을 가능하게 하지만, 그 자체는 유효 PCM 샘플들을 즉각적으로 얻기에는 충분하지 않다. 이러한 독립적인 프레임들은 AAC 또는 USAC와 같은 일반적인 오디오 코덱들에서 이미 이용 가능하지만, 이러한 오디오 코덱들은 IPF 프레임(80)과 같은 특수 프레임들을 제공하지 않는다.
본 발명의 실시예들에서, 특수 프레임은 도 1에 도시된 표현들의 각각의 스트림 액세스 포인트에서 제공된다. 도 1에서, 스트림 액세스 포인트들은 각각의 세그먼트에서 첫 번째 프레임이고 해칭된다. 이에 따라, 도 1은 본 발명에 따라 인코딩된 오디오 출력 데이터를 생성하기 위한 장치의 특정 실시예를 보여준다. 더욱이, 도 1에 도시된 인코더 1 내지 인코더 m 각각은 본 발명에 따른 오디오 인코더의 실시예를 나타낸다. 도 1에 따르면, 인코더들(12-18)은 오디오 입력 신호(10)의 서로 다른 부분들과 연관되며 서로 다른 코덱 구성들로 인코딩된 세그먼트들을 제공하도록 구성된 제공기들을 나타낸다. 이와 관련하여, 인코더들(12-18) 각각은 서로 다른 코덱 구성을 사용한다. 결정 유닛(50)은 각각의 세그먼트에 대해 어떤 표현을 다운로드할지를 결정하도록 구성된다. 따라서 결정 유닛(50)은 제어 신호를 기초로 각각의 세그먼트에 대한 (각각의 표현과 연관된) 코덱 구성을 선택하도록 구성된다. 예를 들어, 주어진 상황에 가장 잘 맞는 표현을 요청하는 클라이언트로부터 제어 신호가 수신될 수도 있다.
결정 유닛(50)의 결정을 기초로, 블록(52)은 세그먼트들을 차례로, 예컨대 세그먼트(44)(표현 2의 세그먼트 1) 다음에 세그먼트(46)(표현 3의 세그먼트 2)를 정렬함으로써 오디오 출력 데이터(54)를 생성한다. 따라서 세그먼트 2의 시작의 특수 프레임(AU5)은 표현 3으로의 스위칭 및 디코더 측에서 세그먼트들(44, 46) 간의 경계에서의 즉각적인 재생을 가능하게 한다.
따라서 도 1에 도시된 실시예에서, (인코더 1 내지 인코더 m을 포함하는) 제공기는 오디오 입력(10)의 m개의 인코딩된 버전들을 제공하도록 구성되며, m ≥ 2이고, m개의 인코딩된 버전들(표현들)은 서로 다른 코덱 구성들을 사용하여 인코딩되며, 각각의 인코딩된 버전은 오디오 샘플 값들의 시퀀스의 복수의 부분들을 표현하는 복수의 세그먼트들을 포함하고, 세그먼트들 각각은 그 시작에 특수 프레임을 포함한다.
본 발명의 다른 실시예들에서, 도 1의 표현들(22 내지 28)과 같은 동일한 오디오 입력의 서로 다른 표현들은 메모리에 저장될 수 있고, 사용자가 대응하는 미디어 콘텐츠를 요청하는 경우에 액세스될 수 있다.
도 1에 도시된 인코더 인스턴스들(1 내지 m)은 인코더 구성 및/또는 인코더 인스턴스들에서 툴들의 활성화에 따라 서로 다른 인코더 지연을 생성할 수도 있다. 이러한 경우에, m개의 출력 스트림들, 즉 m개의 표현들의 시간 정렬을 달성하도록 인코더 지연들이 보상됨을 보장하기 위한 조치들이 취해질 수 있다. 이는 예를 들어, 서로 다른 인코더 지연들을 보상하기 위해 인코더 입력에 일정량의 트레일링 제로 샘플들을 부가함으로써 구현될 수 있다. 즉, 세그먼트 경계들에서 표현들 간의 끊김 없는 스위칭을 가능하게 하기 위해 서로 다른 표현들의 세그먼트들이 동일한 듀레이션을 가질 것이다. 이론상의 세그먼트 듀레이션들은 이용되는 샘플링 레이트들 및 프레임 크기들에 좌우된다. 도 3은 어쩌면 서로 다른 샘플링 레이트들 및/또는 프레임 크기들로 인한 서로 다른 프레이밍을 갖는 표현들로의 가능한 IPF 삽입의 일례를 보여준다. 도 3으로부터 확인될 수 있듯이 모든 특수 프레임들이 시간 정렬되도록 적절한 위치에서 더 짧은 세그먼트들에 제로 샘플들이 부가될 수도 있다.
도 4a는 인코딩된 오디오 출력 데이터(102)를 생성하기 위한 장치(90)의 개략도를 보여준다. 장치(90)는 본 명세서에 정의된 것과 같이 특수 프레임으로서 복수의 프레임들(40) 중 적어도 하나의 프레임(80)을 제공하도록 구성된 제공기(92)를 포함한다. 본 발명의 실시예들에서, 제공기(92)는 오디오 샘플 값들을 인코딩하기 위한 인코더의 일부로서 구현될 수도 있는데, 이는 특수 프레임을 생성하기 위해 프레임들(40)을 제공하며 적어도 프레임들 중 하나에 추가 정보를 부가한다. 예를 들어, 제공기(92)는 프레임들(40) 중 하나에 대한 페이로드 확장으로서 추가 정보를 부가하여 특수 프레임(80)을 생성하도록 구성될 수도 있다. 인코딩된 오디오 데이터(102)의 비트스트림을 표현하는 프레임들(40, 80)이 출력(112)을 통해 출력된다.
도 4b는 인코딩된 오디오 출력 데이터(102)를 생성하기 위한 장치(100)의 개략도를 보여준다. 이 장치는 오디오 샘플 값들의 시퀀스의 서로 다른 부분들과 연관된 세그먼트들(106, 108)을 제공하도록 구성된 제공기(104)를 포함한다. 세그먼트들 중 적어도 하나의 세그먼트의 첫 번째 프레임은 앞서 설명한 바와 같이 특수 프레임이다. 생성기(110)는 세그먼트들(106, 108) 중 적어도 하나를 세그먼트들(106, 108) 중 다른 하나의 세그먼트 뒤에 정렬함으로써 오디오 출력 데이터를 생성하도록 구성된다. 생성기(110)는 인코딩된 오디오 데이터(102)를 출력하도록 구성된 출력(112)에 오디오 출력 데이터를 전달한다.
도 5는 오디오 입력 데이터(122)를 디코딩하기 위한 오디오 디코더(60)의 실시예의 개략도를 보여준다. 오디오 입력 데이터는 도 1에 도시된 블록(52)의 출력일 수도 있다. 오디오 디코더(60)는 결정기(130), 초기화기(132) 및 디코더 코어(134)를 포함한다. 결정기(130)는 오디오 입력 데이터(122)의 프레임이 특수 프레임인지 여부를 결정하도록 구성된다. 초기화기(132)는, 프레임이 특수 프레임이고 초기화가 필수적이거나 요구된다면 디코더 코어(134)를 초기화하도록 구성된다. 초기화는 추가 정보에 포함된 선행 프레임들을 디코딩하는 것을 포함한다. 디코더 코어(134)는 프레임이 초기화되는 코덱 구성을 사용하여 인코딩된 오디오 샘플 값들의 프레임들을 디코딩하도록 구성된다.
프레임이 특수 프레임이 아닌 경우, 이는 디코더 코어(134)에 직접 전달된다(화살표 136). 프레임이 특수 프레임이고 디코더(134)의 초기화 코어가 요구되지 않는 경우, 결정기(130)는 추가 정보를 폐기하고 (추가 정보 내의 프레임들 없이) 특수 프레임의 인코딩된 오디오 샘플 값들만을 디코더 코어(134)에 전달할 수도 있다. 결정기(130)는 추가 정보에 포함된 정보를 기초로 또는 외부 정보를 기초로 디코더 코어(134)의 초기화가 필수적인지 여부를 결정하도록 구성될 수도 있다. 추가 정보에 포함된 정보는 특수 프레임을 인코딩하는 데 사용되는 코덱 구성에 대한 정보일 수도 있고, 여기서 결정기는, 이 정보가 선행 프레임들이 특수 프레임으로서 다른 코덱 구성을 사용하여 인코딩됨을 표시한다면 초기화가 필수적이라고 결정할 수도 있다. 외부 정보는 다음 특수 프레임의 수신시 디코더 코어(134)가 초기화되거나 다시 초기화되어야 함을 표시할 수도 있다.
본 발명의 실시예들에서, 디코더(60)는 서로 다른 코덱 구성들 중 하나로 디코더 코어(134)를 초기화하도록 구성된다. 예를 들어, 서로 다른 코덱 구성들, 즉 앞서 설명한 것과 같은 서로 다른 코덱 구성 파라미터들을 사용하여 소프트웨어 디코더 코어의 서로 다른 인스턴스들이 초기화될 수 있다. 본 발명의 실시예들에서, 디코더(코어)의 초기화는 추가 정보에(즉, 수신된 비트스트림 내에) 포함된 또는 외부에서 전달된, 즉 수신된 비트스트림 외부의 코덱 구성 파라미터들을 사용하여 현재 디코더 인스턴스를 닫고 새로운 디코더 인스턴스를 개방하는 것을 포함할 수도 있다. 디코더(60)는 수신된 인코딩된 오디오 데이터의 각각의 세그먼트들을 인코딩하는 데 사용되는 코덱 구성들에 따라 다른 코덱 구성들로 스위칭될 수도 있다.
디코더(60)는 추가 정보가 현재 코덱 구성과 다른 코덱 구성을 표시한다면, 현재 코덱 구성, 즉 특수 프레임과 접하기 전의 오디오 디코더의 코덱 구성에서 다른 코덱 구성으로 스위칭하도록 구성될 수도 있다.
AAC 디코더 작동을 하는 오디오 디코더의 실시예의 추가 세부사항들이 도 6 내지 도 8을 참조로 설명된다. 도 8은 AAC 디코더의 작동을 개략적으로 보여준다. 표준 ISO/IEC DTR 14496-24, "Audio and Systems Interaction"에 대한 참조가 이루어진다.
도 8은 다수의 상태들, 즉 하나 또는 그보다 많은 프리롤 프레임들에 대응하는 첫 번째 상태(200), 프레임들(AU1, AU2, AU3) 각각과 연관된 하나의 상태, 및 "플러시" 상태(202)에 대한 디코더의 작동을 보여준다.
AU1에 대한 유효 출력 샘플들을 생성하기 위해, 하나 또는 그보다 많은 프리롤 프레임들과 프레임(AU1) 모두 디코딩되어야 한다. 프리롤 프레임(들)에 의해 생성된 샘플들은 폐기되는데, 즉 단지 디코더를 초기화하는 데 사용되고 재생되지 않는다. 그러나 프리롤 프레임(들)의 디코딩은 내부 디코더 상태들을 셋업하는 것이 필수이다. 본 발명의 실시예들에서, 특수 프레임의 추가 정보들은 프리롤 프레임(들)을 포함한다. 따라서 디코더는 특수 프레임이 디코딩될 수 있고 특수 프레임의 유효 출력 샘플들의 즉각적인 플레이아웃이 일어날 수 있게 내부 디코더 상태들을 셋업하도록 프리롤 프레임(들)을 디코딩할 위치에 있다. "프리롤" AU들(프레임들)의 실제 개수는 디코더 시동 지연에 좌우되는데, 도 8의 예에서는 하나의 AU이다.
일반적으로, 파일 재생을 위해, 도 8을 참조로 설명되는 것과 같은 즉각적인 플레이아웃이 시스템 레벨 상에서 구현된다. 지금까지, 이는 단지 디코더 시동시 일어난다. 그러나 특수 프레임(IPF)은 항상, 내부 디코더 상태들을 완전히 초기화하고 내부 버퍼들을 채우기에 충분한 정보를 전달한다. 따라서 특수 프레임들의 삽입은 랜덤 스트림 위치들에서의 즉각적인 플레이아웃을 가능하게 한다.
도 8의 플러시 상태(202)는 마지막 프레임(AU3)을 디코딩한 후 플러시가 수행되는 경우의 디코더의 작동을 보여준다. 플러시는 가설의 제로 프레임, 즉 전부 "디지털 제로"인 입력 샘플들로 구성된 가설 프레임을 디코더에 공급하는 것을 의미한다. AAC 패밀리의 중첩 가산으로 인해, 플러시는 새로운 입력 프레임을 소비하지 않고 달성되는 유효 출력을 야기한다. 프레임들이 다수의 시간 도메인 샘플 값들에 걸쳐 중첩되기 때문에 마지막 프레임(AU3)이 프레임(AU3) 뒤의 다음 프레임을 디코딩할 때 얻어질 출력 샘플 값들에 대한 예측 정보를 포함하므로 이것이 가능하다. 일반적으로, 프레임의 처음 1/2은 선행 프레임과 중첩하고, 프레임의 두 번째 1/2은 다음 프레임과 중첩한다. 따라서 첫 번째 프레임을 디코딩할 때 얻어진 출력 샘플 값들의 두 번째 1/2은 첫 번째 프레임 다음으로 두 번째 프레임을 디코딩할 때 얻어진 출력 샘플 값들의 처음 1/2에 대한 정보를 포함한다. 이하 설명되는 바와 같이 크로스 페이드의 구현시 이 특징이 활용될 수 있다.
이제 도 6을 참조로 오디오 디코더 및 오디오 입력 데이터를 디코딩하기 위한 방법의 실시예의 추가 세부사항들이 설명되는데, 여기서 오디오 디코더는 도 6과 도 7을 참조로 설명한 바와 같이 방법을 수행하도록 구성된다. 300에서 프로세스가 시작된다. 디코더가 IPF에 대한 착신 프레임들(AU들)을 스캔하여 착신 프레임이 IPF인지 여부를 결정한다(302). 착신 프레임이 IPF가 아니라면, 프레임이 디코딩되고(304), 프로세스는 다음 프레임으로 점프한다(306). 다음 프레임이 없다면, 프로세스가 종료된다. 출력 버퍼를 나타낼 수도 있는 블록(308)으로 나타낸 바와 같이, 디코딩된 PCM 샘플들이 출력된다. 302에서 프레임이 IPF라고 결정된다면, 코덱 구성이 평가된다(310). 예를 들어, 도 2에 도시된 "config" 필드가 평가된다. 코덱 구성(스트림 구성)이 변경되었는지에 관한 결정이 이루어진다(312). 코덱 구성이 변경되지 않았다면, 즉 추가 정보가 현재 코덱 구성과 동일한 코덱 구성을 표시한다면, 확장 페이로드와 같은 추가 정보가 스킵되고, 프로세스는 304로 점프하여, 여기서 디코딩이 정상적으로 계속된다.
코덱 구성이 변경되었다면, 다음 단계들이 적용된다. 디코더가 플러시된다(314). 디코더의 플러시로부터 발생한 출력 샘플들이 플러시 버퍼에 저장된다(316). 이러한 출력 샘플들(또는 이러한 출력 샘플들의 적어도 일부)은 크로스 페이드 프로세스(318)에 대한 첫 번째 입력이다. 다음에 추가 정보로, 예컨대 도 2의 "config" 필드로 표시된 것과 같은 새로운 코덱 구성을 사용하여, 그리고 특수 프레임에 포함된 선행 프레임들을 사용하여 디코더가 다시 초기화된다. 다시 초기화할 때, 디코더는 특수 프레임, 즉 특수 프레임과 연관된 인코딩된 오디오 샘플 값들을 디코딩할 수 있다. 특수 프레임이 디코딩된다(322). 특수 프레임을 인코딩함으로써 얻어진 출력 샘플들(PCM 샘플들)은 크로스 페이드 프로세스(318)에 대한 두 번째 입력으로서 저장된다. 예를 들어, 대응하는 PCM 출력 샘플들이 버퍼(324)에 저장될 수 있는데, 이는 IPF 버퍼로 지칭될 수도 있다. 크로스 페이드 프로세스(318)에서, 플러시 버퍼 및 IPF 버퍼로부터의 2개의 입력 신호들을 기초로 크로스 페이드가 계산된다. 크로스 페이드의 결과가 PCM 출력 샘플들로서 출력된다(블록(308)). 이후, 프로세스는 다음 프레임으로 점프하고(306), 다음 프레임에 대해 프로세스가 반복된다. 현재 프레임이 마지막 프레임인 경우, 프로세스가 종료된다.
이제 도 7을 참조로, 312에서 검출된 것과 같은 구성 변경 이후에 수행되는 그 단계들의 추가 세부사항들이 설명된다. IPF의 추가 정보로부터 코덱 구성이 리트리브되어(330) 디코더 재초기화(332)를 위해 제공된다. 디코더를 다시 초기화하기 전에, 디코더가 플러시되고(314), 결과적인 출력 샘플들이 플러시 버퍼에 저장된다(316). 디코더를 다시 초기화하는 것은 현재 디코더 인스턴스를 닫고 새로운 구성을 갖는 새로운 디코더 인스턴스를 개방하는 것을 포함할 수도 있다. 새로운 디코더 인스턴스의 재개방시, IPF에 포함된 코덱 구성에 대한 정보가 사용된다. 새로운 디코더 인스턴스를 개방한 후, 이는 IPF에 포함된 프리롤 프레임들을 디코딩함으로써 초기화된다. IPF에 포함된 프리롤 프레임들의 수는 블록(334)으로 나타낸 바와 같이 m으로 추정된다. m > 0, 336인지 여부가 결정된다. m > 0이라면, 프리롤 프레임(n-m)이 디코딩되며(338), 여기서 n은 IPF를 표시한다. 획득된 출력 PCM 샘플들이 폐기된다(340). m은 1씩 감소되고, 프로세스는 블록(336)으로 점프한다. IPF에 포함된 모든 프리롤 프레임들에 대해 단계들(336 내지 342)을 반복함으로써, 디코더를 재개방한 후 디코더의 디코더 상태들을 채우는 프로세스가 수행된다(344). 모든 프리롤 프레임들이 디코딩되었다면, 프로세스는 블록(332)으로 점프하여, 여기서 IPF가 디코딩된다. 결과적인 PCM 샘플들이 PCM 버퍼(342)로 전달된다. PCM 버퍼들(316, 324)로부터의 출력들을 기초로 크로스 페이드(318)가 수행되고, 크로스 페이드 프로세스(318)의 출력이 출력 PCM 버퍼(308)에 전달된다.
앞서 설명한 실시예에서, 디코더 재초기화는 포함한다 현재 디코더 인스턴스를 닫고 새로운 디코더 인스턴스를 개방하는 것을 포함한다. 대안적인 실시예들에서, 디코더는 디코더 재초기화가 서로 다른 디코더 인스턴스들 간의 스위칭을 포함할 수 있도록 복수의 디코더 인스턴스들을 병렬로 포함할 수도 있다. 추가로, 디코더 재초기화는 특수 프레임의 추가 정보에 포함된 프리롤 프레임들을 디코딩함으로써 디코더 상태들을 채우는 것을 포함한다.
앞서 설명한 바와 같이, AAC 디코더 상에서 내부 메모리 상태들 및 버퍼들(중첩 가산, 필터 상태들)을 이용하면, 플러시 프로세스에 의해 새로운 입력을 전달하지 않고 출력 샘플들을 얻는 것이 가능하다. 플러시의 출력 신호는 얻어진 출력 샘플 값들의 적어도 일부, 특히 그 첫 번째 부분에 대한 "원본 신호"와 매우 유사하며, 도 8의 상태(202)를 참조한다. 플러시 프로세서에 의해 얻어진 획득된 출력 샘플 값들은 아래 상세히 설명되는 크로스 페이드 프로세스에 사용된다.
도 8의 상태(202)에서 확인될 수 있는 바와 같이, 결과적인 플러시 버퍼의 에너지는 변환 윈도우 및 현재 코덱 구성의 가능해진 툴들에 따라 시간에 걸쳐 감소할 것이다. 따라서 플러시 버퍼의 첫 번째 부분에서 크로스 페이드가 적용되어야 하며, 여기서 출력 신호는 거의 전체 에너지로 간주될 수 있다. 최신 오디오 코덱들이 플러시되어 연속한 크로스 페이드에 대한 유효 샘플들을 얻을 수 있다는 사실의 활용은 끊김 없는 스위칭 값들의 획득에 상당한 도움이 된다. 이에 따라, 본 발명의 실시예들에서, 크로스 페이더는 현재 코덱 구성의 플러시 프로세서에 의해 얻어진 출력 값들과 추가 정보에 표시된 코덱 구성을 사용하여 특수 프레임을 디코딩함으로써 얻어진 출력 샘플 값들 간에 크로스 페이드를 수행하도록 구성된다.
다음에, 크로스 페이드 프로세스의 특정 실시예가 설명된다. CAR들의 스위칭 동안 가청 아티팩트들을 피하기 위해 앞서 설명한 바와 같이 오디오 신호들에 크로스 페이드가 적용된다. 통상적인 아티팩트는 출력 신호 에너지의 강하이다. 앞서 설명한 바와 같이, 플러시된 신호의 에너지가 구성에 따라 감소할 것이다. 따라서 아티팩트들을 피하기 위해 크로스 페이드의 길이가 구성에 따라 신중히 선택되어야 한다. 크로스 페이드 윈도우가 너무 짧다면, 스위칭 프로세스는 오디오 파형의 차이로 인한 가청 아티팩트들을 유도할 수도 있다. 크로스 페이드 윈도우가 너무 길다면, 플러시된 오디오 샘플들은 이미 에너지를 잃었고 출력 신호 에너지의 강하를 야기할 것이다. 256개의 샘플들로 이루어진 짧은 변환 윈도우들을 사용하는 AAC 코덱 구성의 경우, (채널당) n=128개의 샘플들의 길이를 갖는 선형 크로스 페이드가 적용될 수도 있다. 다른 실시예들에서는, 예를 들어 (채널당) 64개의 샘플들의 길이를 갖는 선형 크로스 페이드가 적용될 수도 있다.
128개의 샘플들을 사용하는 선형 크로스 페이드 프로세스의 일례가 아래 설명된다:
크로스 페이드 프로세스는 플러시 버퍼의 처음 128개의 샘플들을 사용할 수도 있다. 플러시 버퍼의 처음 128개의 샘플들(Sf = Sf0, …, Sf127)을
Figure 112016037553600-pct00001
과 곱함으로써 플러시 버퍼가 윈도우에 표시되는데, 여기서 i는 현재 샘플의 인덱스이다. 결과는 크로스 페이더의 내부 버퍼에 저장될 수 있는데, 즉
Figure 112016037553600-pct00002
이다. 더욱이, IPF 버퍼(Sd)가 윈도우에 표시되며, 여기서 처음 128개의 디코딩된 IPF 출력 샘플들이 인수(
Figure 112016037553600-pct00003
)와 곱해지며, 여기서 i는 현재 샘플의 인덱스이다. 결과는 크로스 페이더의 내부 버퍼에 저장될 수 있는데, 즉
Figure 112016037553600-pct00004
이다.
내부 버퍼들의 처음 128개의 샘플들이 더해지는데: S 0 = S d' 0 + S f' 0, …, S d' 127 + S f ', S d' 128, …, S d'n ' 이며, 결과적인 값들은 PCM 출력 샘플들의 버퍼(308)로 출력된다.
따라서 플러시 버퍼의 처음 128개의 출력 샘플 값들 및 IPF 버퍼의 처음 128개의 샘플 값들에 걸친 선형 크로스 페이드가 달성된다.
일반적으로, 크로스 페이더는 현재 코덱 구성을 사용하여 얻어진 복수의 출력 샘플 값들과 특수 프레임과 연관된 인코딩된 오디오 샘플 값들을 디코딩함으로써 얻어진 복수의 출력 샘플 값들 간의 크로스 페이드를 수행하도록 구성될 수도 있다. 일반적으로, AAC 패밀리 코덱들 및 AMR 패밀리 코덱들과 같은 오디오 코덱들에서, 선행 프레임의 인코딩된 오디오 샘플 값들은 다음 프레임에서 인코딩된 오디오 신호에 대한 정보를 암시적으로 포함한다. 이 특성은 서로 다른 코덱 구성들 간의 스위칭시 크로스 페이드의 구현에 이용될 수 있다. 예를 들어, 현재 코덱 구성이 AMR 코덱 구성이라면, 제로 임펄스 응답을 기초로, 즉 현재 코덱 구성의 마지막 프레임 이후 디코더 코어에 제로 프레임을 적용할 때 얻어진 응답을 기초로 크로스 페이드에 사용된 출력 샘플 값들이 얻어질 수 있다. 본 발명의 실시예들에서, 오디오 코딩 및 디코딩에 사용된 추가 메커니즘들이 크로스 페이드에 이용될 수도 있다. 예를 들어, 스펙트럼 대역 복제(SBR)에 사용된 내부 필터들은 지연들 그리고 이에 따라 크로스 페이드에 이용될 수 있는 너무 긴 안정 시간(settle time)들을 포함한다. 따라서 본 발명의 실시예들은 코덱 구성들 간의 끊김 없는 스위칭을 달성하기 위해 어떠한 특정 크로스 페이드로도 제한되지 않는다. 예를 들어, 크로스 페이더는 특수 프레임의 제 1 개수의 출력 샘플 값들에 증가하는 가중치들을 적용하도록 그리고 현재 코덱 구성을 사용한 디코딩을 기초로 얻어진 다수의 출력 샘플 값들에 감소하는 가중치들을 적용하도록 구성될 수도 있으며, 여기서 가중치들은 선형적으로 증가 및 감소할 수도 있고 또는 비선형 방식으로 증가 및 감소할 수도 있다.
본 발명의 실시예들에서, 디코더의 초기화는 특수 프레임(들)의 추가 정보를 사용하여 내부 디코더 상태들 및 버퍼들을 초기화하는 것을 포함한다. 본 발명의 실시예들에서, 코덱 구성이 변경된다면 디코더의 초기화가 일어난다. 본 발명의 다른 실시예들에서는, 코덱 구성을 변경하지 않고 디코더를 초기화하기 위해 특수 프레임이 사용될 수도 있다. 예를 들어, 본 발명의 실시예들에서, 디코더는 즉각적인 플레이아웃을 위해 구성될 수도 있으며, 여기서 디코더의 내부 상태들 및 버퍼들은 코덱 구성을 변경하지 않고 채워지며, 제로 샘플들에 의한 크로스 페이드가 수행될 수도 있다. 따라서 유효 샘플들의 즉각적인 플레이아웃이 가능하다. 다른 실시예들에서는, 빨리 감기 기능이 구현될 수도 있으며, 여기서 특수 프레임은 원하는 빨리 감기 속도에 따라 미리 결정된 간격들로 디코딩될 수도 있다. 본 발명의 실시예들에서, 특수 프레임을 사용한 초기화가 일어나야 하는지, 즉 필수적이거나 요구되는지 여부의 결정은 오디오 디코더에 공급되는 외부 제어 신호를 기초로 이루어질 수 있다.
앞서 설명한 바와 같이, 특수 프레임(예컨대, 도 2에 도시된 것과 같은 IPF(80))이 비트레이트 적응 및 비트스트림 스위칭에 각각 사용될 수도 있다. 다음의 제약들이 적용될 수 있는데: 모든 표현들(예를 들어, 서로 다른 비트레이트, 코딩 툴들의 서로 다른 사용)이 시간 정렬되고, IPF들이 모든 각각의 표현에 삽입되며, IPF들이 동기화되고, 도 2의 IPF 필드인 "config"는 스트림 구성, 즉 툴들의 활성화 등을 포함한다. 도 9는 적응적 스트리밍 환경에서 비트스트림 스위칭에 의한 비트레이트 채택의 일례를 보여준다. 간혹 프레임워크로 불리는 (도 1에 도시된 시스템과 같은) 제어 로직이 오디오 데이터를 세그먼트들로 분할한다. 세그먼트는 다수의 AU들을 포함한다. 세그먼트 경계마다 오디오 스트림 구성이 변경될 수 있다. 오디오 디코더는 세그먼트화를 인지하지 못하고, 여기에는 단지 제어 로직에 의해 평문 AU들이 제공된다. 세그먼트 경계마다 오디오 비트스트림 스위칭을 가능하게 하기 위해, 모든 각각의 세그먼트의 첫 번째 AU는 앞서 설명한 바와 같이 IPF일 수도 있다. 도 9에서, 세그먼트 경계(400)는 파선으로 표시된다. 도 9에 예시된 시나리오에서, 오디오 디코더에는 "스트림 1"의 AU들(40)(AU1 내지 AU3)이 제공된다. 제어 로직은 다음 세그먼트 경계, 즉 경계(400)에서 "스트림 2"로 스위칭하기로 결정한다. "스트림 1"의 AU3을 디코딩한 후, 제어 로직은 어떠한 추가 공지도 없이 "스트림 2"의 AU4를 오디오 디코더에 전달할 수도 있다. AU4가 특수 프레임(IPF)이고, 따라서 스트림 2로의 스위칭 이후 즉각적인 플레이아웃이 일어날 수도 있다.
도 9에 도시된 시나리오를 참조하면, 스위칭이 다음과 같이 일어날 수 있다: 스트림 1의 AU1 내지 AU3의 경우, 어떠한 IPF도 검출되지 않으며, 디코딩 프로세스가 정상적으로 실행된다. 스트림 2의 AU4에 대해서는 IPF가 검출된다. 더욱이, 스트림 구성의 변경이 검출된다. 오디오 디코더가 플러시 프로세스를 초기화한다(도 9의 402). 결과적인 PCM 출력 샘플들은 차후의 사용을 위해 임시 버퍼(플러시 버퍼)에 저장된다. 오디오 디코더는 IPF에 의해 전달된 스트림 구성으로 다시 초기화된다. IPF 페이로드("프리롤")가 디코딩된다. 결과적인 출력 PCM 샘플들이 폐기된다. 이때, 내부 디코더 상태들 및 버퍼들이 완벽하게 초기화된다. AU4가 디코딩된다. 스위칭 아티팩트들을 피하기 위해 크로스 페이드가 적용된다. 플러시 버퍼에 저장된 PCM 샘플들은 페이드아웃되는 한편, AU4의 디코딩으로부터 발생하여 PCM 출력 버퍼에 저장된 PCM 샘플들은 페이드인 된다. 크로스 페이드의 결과가 플레이아웃된다.
이에 따라, 압축된 오디오 표현들의 스위칭을 가능하게 하기 위해 IPF가 이용될 수 있다. 디코더는 평문 AU들을 입력으로 수신할 수 있어, 어떠한 추가 제어 로직도 요구되지 않는다.
이제 MPEG-D USAC의 컨텍스트에서의 특정 실시예의 세부사항들이 설명되며, 여기서 비트스트림 신택스는 다음과 같을 수도 있다:
AudioPreRoll() 신택스 엘리먼트가 이전 프레임들의 오디오 정보를 현재 프레임의 데이터와 함께 송신하는 데 사용된다. 추가 오디오 데이터가 디코더 시동 지연(프리롤)을 보상하는 데 사용될 수 있어, AudioPreRoll()을 사용하는 스트림 액세스 포인트들에서 랜덤 액세스를 가능하게 할 수 있다. AudioPreRoll()을 송신하기 위해 UsacExtElement()가 사용될 수도 있다. 이러한 목적으로, 새로운 페이로드 식별자가 사용될 것이다:
표 1: AudioPreRoll()에 대한 페이로드 식별자
Figure 112016037553600-pct00005
AudioPreRoll()의 신택스가 도 10에 도시되며 다음으로 설명된다:
ConfigLen 구성 신택스 엘리먼트의 바이트 단위 크기.
Config() 디코더 구성 신택스 엘리먼트. MPEG-D USAC의 컨텍스트에서 이는 ISO/IEC 23003-3:2012에 정의된 것과 같은 UsacConfig()이다. Config() 필드가 송신되어 오디오 구성의 변화들(스트림들의 스위칭)에 응답하는 것이 가능할 수도 있다.
numPreRollFrames 오디오 프리롤 데이터로서 송신되는 프리롤 액세스 유닛(AU)들의 수. 적정한 수의 AU들은 디코더 시동 지연에 좌우된다.
auLen 바이트 단위의 AU 길이.
AccessUnit() 프리롤 AU(들).
확장 엘리먼트에서 전달되는 프리롤 데이터는 "대역 밖"에서 송신될 수도 있는데, 즉 버퍼 요건들이 충족되지 않을 수도 있다.
랜덤 액세스와 비트레이트 적응 모두에 AudioPreRoll()을 사용하기 위해, 다음의 제약들이 적용된다:
- 모든 각각의 프레임의 첫 번째 엘리먼트는 ID_EXT_ELE_AUDIOPREROLL 타입의 확장 엘리먼트(UsacExtElement)이다.
- 대응하는 UsacExtElement()는 표 2에 기술된 바와 같이 셋업될 것이다.
- 그 결과, 프리롤 데이터가 존재한다면, 이 UsacFrame()은 다음의 비트 시퀀스로 시작할 것이다:
"1": usacIndependencyFlag.
"1": (오디오 프리롤 확장 엘리먼트를 참조하는) UsacExtElementPresent.
"0": (오디오 프리롤 확장 엘리먼트를 참조하는) UsacExtElementUseDefaultLength.
- 어떠한 프리롤 데이터도 송신되지 않는다면, 확장 페이로드는 존재하지 않을 것이다(UsacExtElementPresent = 0).
- 인덱스 "0" 및 "numPreRollFrames-1"을 갖는 프리롤 프레임들은 독립적으로 디코딩 가능한데, 즉 usacIndependencyFlag가 "1"로 설정될 것이다.
표 2: AudioPreRoll()에 대한 UsacExtElement()의 셋업
Figure 112016037553600-pct00006
설명한 바와 같이 AudioPreRoll () 구조를 이용하는 프레임마다 랜덤 액세스 및 즉각적인 플레이아웃이 가능하다. 다음의 의사 코드가 디코딩 프로세스를 설명한다:
if(usacIndependencyFlag == 1){
if(usacExtElementPresent == 1{
/* 이 경우 UsacExtElementUseDefaultLength는 0!이어야 한다 */
if(usacExtElementUseDefaultLength != 0) goto error;
/* Config의 존재를 체크하고 필요하다면 다시 초기화한다 */
int configLen = getConfigLen();
if(configLen > 0){
config c =
getConfig(configLen);
ReConfigureDecoder(c);
}
/* 프리롤 AU들을 얻어 디코딩하고, 출력 샘플들을 폐기한다 */
int numPreRollFrames = getNumPreRollFrames();
for(auIdx = 0; auIdx < numPreRollFrames; auIdx++)
int auLen = getAuLen();
AU nextAU =
getPreRollAU(auLen);
DecodeAU(nextAU);
}
}
}
/* 이때 디코더 상태들이 초기화된다. 정상적인 디코딩을 계속한다 */
동일한 오디오 콘텐츠의 서로 다른 인코딩된 표현들 간에 스위칭함으로써 비트레이트 적응이 이용될 수도 있다. 설명한 바와 같은 AudioPreRoll () 구조가 그 목적으로 사용될 수도 있다. 비트레이트 적응의 경우의 디코딩 프로세스가 다음의 의사 코드로 설명된다:
if(usacIndependencyFlag == 1){
if(UsacExtElementPresent == 1{
/* 이 경우 UsacExtElementUseDefaultLength는 0!이어야 한다 */
if(UsacExtElementUseDefaultLength != 0) goto error;
int configLen = getConfigLen();
if(configLen > 0){
config newConfig = getConfig(configLen);
/* 구성은 변경되지 않았고, AudioPreRoll을 스킵하고 정상적으로 디코딩을 계속한다 */
if(newConfig == currentConfig){ SkipAudioPreRoll();
goto finish;
}
/* 구성이 변경되었고, 비트스트림 스위칭을 준비한다*/
config c =
getConfig(configLen);
outSamplesFlush =
FlushDecoder();
ReConfigureDecoder(c);
/* 프리롤 AU들을 얻어 디코딩하고, 출력 샘플들을 폐기한다 */
int numPreRollFrames = getNumPreRollFrames();
for(auIdx = 0; auIdx < numPreRollFrames; auIdx++)
int auLen = getAuLen();
AU nextAU =
getPreRollAU(auLen);
DecodeAU(nextAU);
}
/* "규칙적인" AU를 얻고 디코딩한다 */
AU au = UsacFrame();
outSamplesFrame = Decode(au);
/* 크로스 페이드를 적용한다 */
for(i = 0; i < 128; i++){
outSamples[i] = outSamplesFlush[i] *(1-i/127) +
outSamplesFrame[i] *(i/127)
}
for(i = 128; i < outputFrameLength; i++){
outSamples[i] = outSamplesFrame[i];
}
} else {
goto error;
}
}
}
일부 양상들은 장치와 관련하여 설명되었지만, 이러한 양상들은 또한 대응하는 방법의 설명을 나타내며, 여기서 블록 또는 디바이스는 방법 단계 또는 방법 단계의 특징에 대응한다는 점이 명백하다. 비슷하게, 방법 단계와 관련하여 설명한 양상들은 또한 대응하는 장치의 대응하는 블록 또는 항목 또는 특징의 설명을 나타낸다. 방법 단계들의 일부 또는 전부가 예를 들어, 마이크로프로세서, 프로그래밍 가능한 컴퓨터 또는 전자 회로와 같은 하드웨어 장치에 의해(또는 사용하여) 실행될 수도 있다. 일부 실시예들에서, 가장 중요한 방법 단계들 중 어떤 하나 또는 그보다 많은 단계가 이러한 장치에 의해 실행될 수도 있다. 본 발명의 실시예들에서, 본 명세서에서 설명한 방법들은 프로세서 구현되거나 컴퓨터 구현된다.
특정 구현 요건들에 따라, 본 발명의 실시예들은 하드웨어로 또는 소프트웨어로 구현될 수 있다. 구현은 각각의 방법이 수행되도록 프로그래밍 가능 컴퓨터 시스템과 협력하는(또는 협력할 수 있는) 전자적으로 판독 가능 제어 신호들이 저장된 디지털 저장 매체, 예를 들어 플로피 디스크, DVD, 블루레이, CD, ROM, PROM 및 EPROM, EEPROM 또는 플래시 메모리와 같은 비-일시적 저장 매체를 사용하여 수행될 수 있다. 따라서 디지털 저장 매체는 컴퓨터 판독 가능할 수도 있다.
본 발명에 따른 일부 실시예들은 본 명세서에서 설명한 방법들 중 하나가 수행되도록, 프로그래밍 가능 컴퓨터 시스템과 협력할 수 있는 전자적으로 판독 가능 제어 신호들을 갖는 데이터 반송파를 포함한다.
일반적으로, 본 발명의 실시예들은 컴퓨터 프로그램 물건이 컴퓨터 상에서 실행될 때, 방법들 중 하나를 수행하기 위해 작동하는 프로그램 코드를 갖는 컴퓨터 프로그램 물건으로서 구현될 수 있다.
다른 실시예들은 본 명세서에서 설명한 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램을 포함한다.
즉, 본 발명의 방법의 한 실시예는 이에 따라, 컴퓨터 상에서 컴퓨터 프로그램이 실행될 때 본 명세서에서 설명한 방법들 중 하나를 수행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램이다.
따라서 본 발명의 방법의 추가 실시예는 본 명세서에서 설명한 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램을 포함하여 그 위에 기록된 디지털 저장 매체, 또는 컴퓨터 판독 가능 매체이다. 디지털 저장 매체 또는 레코딩된 매체는 통상적으로 유형적이고 그리고/또는 비-일시적이다.
따라서 본 발명의 방법의 추가 실시예는 본 명세서에서 설명한 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램을 나타내는 신호들의 데이터 스트림 또는 시퀀스이다. 신호들의 데이터 스트림 또는 시퀀스는 예를 들어, 데이터 통신 접속을 통해, 예를 들어 인터넷을 통해 전송되도록 구성될 수 있다.
추가 실시예는 처리 수단, 예를 들어 본 명세서에서 설명한 방법들 중 하나를 수행하도록 프로그래밍, 구성 또는 적응된 컴퓨터 또는 프로그래밍 가능 로직 디바이스를 포함한다.
추가 실시예는 본 명세서에서 설명한 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램이 설치된 컴퓨터를 포함한다.
본 발명에 따른 추가 실시예는 본 명세서에서 설명한 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램을 수신기에 (예를 들어, 전자적으로 또는 광학적으로) 전송하도록 구성된 장치 또는 시스템을 포함한다. 수신기는 예를 들어, 컴퓨터, 모바일 디바이스, 메모리 디바이스 등일 수도 있다. 장치 또는 시스템은 예를 들어, 컴퓨터 프로그램을 수신기에 전송하기 위한 파일 서버를 포함할 수도 있다.
일부 실시예들에서, 프로그래밍 가능 로직 디바이스(예를 들어, 필드 프로그래밍 가능 게이트 어레이)는 본 명세서에서 설명한 방법들의 기능들 중 일부 또는 전부를 수행하는데 사용될 수 있다. 일부 실시예들에서, 필드 프로그래밍 가능 게이트 어레이는 본 명세서에서 설명한 방법들 중 하나를 수행하기 위해 마이크로프로세서와 협력할 수 있다. 일반적으로, 방법들은 바람직하게 임의의 하드웨어 장치에 의해 수행된다.
앞서 설명한 실시예들은 단지 본 발명의 원리들에 대한 예시일 뿐이다. 본 명세서에서 설명한 어레인지먼트들 및 세부사항들의 수정들 및 변형들이 다른 당업자들에게 명백할 것이라고 이해된다. 따라서 이는 본 명세서의 실시예들의 묘사 및 설명에 의해 제시된 특정 세부사항들로가 아닌, 첨부된 특허청구범위로만 한정되는 것을 취지로 한다.

Claims (25)

  1. 인코딩된 오디오 데이터의 비트스트림을 디코딩하기 위한 오디오 디코더(60)로서,
    A) 상기 인코딩된 오디오 데이터의 비트스트림은 오디오 샘플 값들의 시퀀스를 표현하고 복수의 프레임들(40)을 포함하며, 각각의 프레임(40)은 연관된 인코딩된 오디오 샘플 값들을 포함하고, 상기 오디오 디코더(60)는,
    B) 상기 인코딩된 오디오 데이터의 프레임이 특수 프레임(42, 80)인지 여부를 결정하도록 구성된 결정기(130) ― 상기 특수 프레임(42, 80)은 상기 특수 프레임(42, 80)과 연관된 인코딩된 오디오 샘플 값들 및 추가 정보(82)를 포함하고, 상기 추가 정보(82)는 상기 특수 프레임에 선행하는 다수의 프레임들(86)의 인코딩된 오디오 샘플 값들을 포함하고, 상기 특수 프레임에 선행하는 다수의 프레임들의 인코딩된 오디오 샘플 값들은 상기 특수 프레임과 동일한 코덱 구성을 사용하여 인코딩되며, 상기 특수 프레임에 선행하는 다수의 프레임들의 수는, 상기 오디오 디코더(60)의 시동시 상기 특수 프레임이 첫 번째 프레임인 경우에 상기 특수 프레임(42, 80)과 연관된 오디오 샘플 값들을 디코딩할 위치에 있기 위해 상기 오디오 디코더(60)의 시동 중에 전체 신호를 빌드업(build up)하도록 내부 디코더 상태들 및 내부 버퍼들을 초기화하기 위해 상기 오디오 디코더(60)에 의해 요구되는 프리롤 프레임들의 수에 대응함 ―; 및
    C) 상기 결정기가 상기 프레임이 특수 프레임이라고 결정한다면 상기 오디오 디코더(60)를 초기화하도록 구성된 초기화기를 포함하며,
    C1) 상기 오디오 디코더(60)를 초기화하는 것은 상기 특수 프레임(42, 80)과 연관된 인코딩된 오디오 샘플 값들을 디코딩하기 전에 상기 추가 정보에 포함된 인코딩된 오디오 샘플 값들을 디코딩하는 것을 포함하며,
    C2) 상기 초기화기는, 상기 결정기(130)가 상기 프레임이 특수 프레임(42, 80)이라고 결정한다면 그리고 상기 특수 프레임의 오디오 샘플 값들이 다른 코덱 구성(84)을 사용하여 인코딩되었다면, 상기 오디오 디코더(60)를 현재 코덱 구성에서 상기 다른 코덱 구성으로 스위칭하도록 구성되고,
    C3) 상기 오디오 디코더(60)는, 상기 결정기가 상기 프레임이 특수 프레임(42, 80)이라고 결정(130)한다면 그리고 상기 특수 프레임의 오디오 샘플 값들이 상기 현재 코덱 구성을 사용하여 인코딩되었다면, 상기 현재 코덱 구성을 사용하여 상기 특수 프레임(42, 80)을 디코딩하도록 그리고 상기 추가 정보를 폐기하도록 구성되는,
    인코딩된 오디오 데이터의 비트스트림을 디코딩하기 위한 오디오 디코더.
  2. 제 1 항에 있어서,
    상기 추가 정보는 상기 특수 프레임(42, 80)과 연관된 오디오 샘플 값들을 인코딩하기 위해 사용되는 코덱 구성(84)에 대한 정보를 포함하고,
    상기 결정기는 상기 추가 정보의 코덱 구성이 상기 현재 코덱 구성과 다른지 여부를 결정하도록 구성되는,
    인코딩된 오디오 데이터의 비트스트림을 디코딩하기 위한 오디오 디코더.
  3. 제 1 항에 있어서,
    상기 현재 코덱 구성을 사용하여 얻어진 복수의 출력 샘플 값들과 상기 특수 프레임(42, 80)과 연관된 인코딩된 오디오 샘플 값들을 디코딩함으로써 얻어진 복수의 출력 샘플 값들 간의 크로스 페이드를 수행하도록 구성된 크로스 페이더(318)를 포함하는,
    인코딩된 오디오 데이터의 비트스트림을 디코딩하기 위한 오디오 디코더.
  4. 제 3 항에 있어서,
    상기 크로스 페이더(318)는 상기 현재 코덱 구성에서 상기 오디오 디코더(60)에 제로(zero) 샘플 값들을 공급함으로써 얻어진 출력 샘플 값들과 상기 특수 프레임(42, 80)과 연관된 인코딩된 오디오 샘플 값들을 디코딩함으로써 얻어진 출력 샘플 값들의 크로스 페이드를 수행하도록 구성되는,
    인코딩된 오디오 데이터의 비트스트림을 디코딩하기 위한 오디오 디코더.
  5. 제 1 항에 있어서,
    상기 추가 정보(82)에 포함된 다수의 프레임들(86) 중 가장 이른 프레임은 상기 가장 이른 프레임 이전의 어떠한 프레임에 대해서도 시간 차 인코딩되거나 엔트로피 인코딩되지 않고, 상기 특수 프레임(42, 80)은 상기 특수 프레임(42, 80)에 선행하는 다수의 프레임들 중 가장 이른 프레임 이전의 임의의 프레임에 대해 또는 상기 특수 프레임(42, 80) 이전의 어떠한 프레임에 대해서도 시간 차(time-differentially) 인코딩되거나 엔트로피 인코딩되지 않는,
    인코딩된 오디오 데이터의 비트스트림을 디코딩하기 위한 오디오 디코더.
  6. 제 1 항에 있어서,
    상기 특수 프레임(42, 80)은 확장 페이로드로서 상기 추가 정보를 포함하고,
    상기 결정기는 상기 특수 프레임(42, 80)의 확장 페이로드를 평가하도록 구성되는,
    인코딩된 오디오 데이터의 비트스트림을 디코딩하기 위한 오디오 디코더.
  7. 오디오 신호(10)의 오디오 샘플 값들의 시퀀스를 표현하는 인코딩된 오디오 데이터의 비트스트림을 생성하기 위한 장치(100; 12, 14, 16, 18)로서,
    상기 인코딩된 오디오 데이터의 비트스트림은 복수의 프레임들을 포함하고, 각각의 프레임은 연관된 인코딩된 오디오 샘플 값들을 포함하며, 상기 장치(100; 12, 14, 16, 18)는,
    상기 프레임들 중 적어도 하나를 특수 프레임(42, 80)으로서 제공하도록 구성된 특수 프레임 제공기 ― 상기 특수 프레임(42, 80)은 상기 특수 프레임(42, 80)과 연관된 인코딩된 오디오 샘플 값들 및 추가 정보(82)를 포함하고, 상기 추가 정보(82)는 상기 특수 프레임에 선행하는 다수의 프레임들(86)의 인코딩된 오디오 샘플 값들을 포함하고, 상기 특수 프레임에 선행하는 다수의 프레임들의 인코딩된 오디오 샘플 값들은 상기 특수 프레임과 동일한 코덱 구성을 사용하여 인코딩되며, 상기 특수 프레임에 선행하는 다수의 프레임들의 수는, 오디오 디코더(60)의 시동시 상기 특수 프레임이 첫 번째 프레임인 경우에 상기 특수 프레임(42, 80)과 연관된 오디오 샘플 값들을 디코딩할 위치에 있기 위해 상기 오디오 디코더(60)의 시동 중에 전체 신호를 빌드업하도록 내부 디코더 상태들 및 내부 버퍼들을 초기화하기 위해 상기 오디오 디코더(60)에 의해 요구되는 프리롤 프레임들의 수에 대응함 ―; 및
    상기 인코딩된 오디오 데이터(54, 102)의 비트스트림을 출력하도록 구성된 출력(112)을 포함하며,
    상기 인코딩된 오디오 데이터는 복수의 세그먼트들(30)을 포함하고,
    각각의 세그먼트는 상기 오디오 샘플 값들의 시퀀스의 복수의 부분들 중 하나와 연관되고 복수의 프레임들(40)을 포함하며,
    특수 프레임 가산기가, 상기 코덱 구성이 변경되는지 여부와 관계없이 각각의 세그먼트(30)의 시작에 특수 프레임(42, 80)을 부가하도록 구성되는,
    인코딩된 오디오 데이터의 비트스트림을 생성하기 위한 장치.
  8. 제 7 항에 있어서,
    상기 추가 정보는 상기 특수 프레임(42, 80)과 연관된 오디오 샘플 값들을 인코딩하기 위해 사용되는 코덱 구성(84)에 대한 정보를 포함하는,
    인코딩된 오디오 데이터의 비트스트림을 생성하기 위한 장치.
  9. 제 7 항에 있어서,
    상기 장치(100)는,
    상기 오디오 샘플 값들의 시퀀스의 서로 다른 부분들과 연관되며 서로 다른 코덱 구성들로 인코딩된 세그먼트들(44, 46, 48)을 제공하도록 구성된 세그먼트 제공기(104) ― 상기 특수 프레임 제공기는 상기 세그먼트들 중 적어도 하나의 세그먼트의 첫 번째 프레임(42, 80)을 상기 특수 프레임(42, 80)으로서 제공하도록 구성됨 ―; 및
    상기 세그먼트들(44, 46, 48) 중 적어도 하나를 상기 세그먼트들(44, 46, 48) 중 다른 하나의 세그먼트 뒤에 정렬함으로써 오디오 출력 데이터를 생성하도록 구성된 생성기(52, 110)를 포함하는,
    인코딩된 오디오 데이터의 비트스트림을 생성하기 위한 장치.
  10. 제 9 항에 있어서,
    상기 세그먼트 제공기(104)는 제어 신호를 기초로 각각의 세그먼트에 대한 코덱 구성을 선택하도록 구성되는,
    인코딩된 오디오 데이터의 비트스트림을 생성하기 위한 장치.
  11. 제 9 항에 있어서,
    상기 세그먼트 제공기(104)는 상기 오디오 샘플 값들의 시퀀스의 m개의 인코딩된 버전들(22, 24, 26, 28)을 제공하도록 구성되며, m ≥ 2이고,
    상기 m개의 인코딩된 버전들은 서로 다른 코덱 구성들을 사용하여 인코딩되며,
    각각의 인코딩된 버전은 상기 오디오 샘플 값들의 시퀀스의 복수의 부분들을 표현하는 복수의 세그먼트들(30)을 포함하고,
    상기 특수 프레임 제공기는 상기 세그먼트들 각각의 시작에 특수 프레임(42, 80)을 제공하도록 구성되는,
    인코딩된 오디오 데이터의 비트스트림을 생성하기 위한 장치.
  12. 제 11 항에 있어서,
    상기 세그먼트 제공기(104)는 상기 복수의 서로 다른 코덱 구성들 중 하나에 따라 상기 오디오 신호를 적어도 부분적으로 인코딩하도록 각각 구성된 복수의 인코더들(12, 14, 16, 18)을 포함하는,
    인코딩된 오디오 데이터의 비트스트림을 생성하기 위한 장치.
  13. 제 12 항에 있어서,
    상기 세그먼트 제공기는 상기 오디오 샘플 값들의 시퀀스의 m개의 인코딩된 버전들을 저장하는 메모리를 포함하는,
    인코딩된 오디오 데이터의 비트스트림을 생성하기 위한 장치.
  14. 제 9 항에 있어서,
    상기 특수 프레임 제공기는 상기 추가 정보를 상기 특수 프레임(42, 80)의 확장 페이로드로서 제공하도록 구성되는,
    인코딩된 오디오 데이터의 비트스트림을 생성하기 위한 장치.
  15. 인코딩된 오디오 데이터의 비트스트림을 디코딩하기 위한 방법으로서,
    상기 인코딩된 오디오 데이터의 비트스트림은 오디오 샘플 값들의 시퀀스를 표현하고 복수의 프레임들(40)을 포함하며, 각각의 프레임(40)은 연관된 인코딩된 오디오 샘플 값들을 포함하고, 상기 방법은,
    상기 인코딩된 오디오 데이터의 프레임이 특수 프레임(42, 80)인지 여부를 결정하는 단계 ― 상기 특수 프레임(42, 80)은 상기 특수 프레임(42, 80)과 연관된 인코딩된 오디오 샘플 값들 및 추가 정보(82)를 포함하고, 상기 추가 정보(82)는 상기 특수 프레임에 선행하는 다수의 프레임들(86)의 인코딩된 오디오 샘플 값들을 포함하고, 상기 특수 프레임에 선행하는 다수의 프레임들의 인코딩된 오디오 샘플 값들은 상기 특수 프레임과 동일한 코덱 구성을 사용하여 인코딩되며, 상기 특수 프레임에 선행하는 다수의 프레임들의 수는, 오디오 디코더(60)의 시동시 상기 특수 프레임이 첫 번째 프레임인 경우에 상기 특수 프레임(42, 80)과 연관된 오디오 샘플 값들을 디코딩할 위치에 있기 위해 상기 오디오 디코더(60)의 시동 중에 전체 신호를 빌드업하도록 내부 디코더 상태들 및 내부 버퍼들을 초기화하기 위해 상기 오디오 디코더(60)에 의해 요구되는 프리롤 프레임들의 수에 대응함 ―;
    상기 프레임이 특수 프레임이라고 결정된다면 상기 오디오 디코더(60)를 초기화하는 단계 ― 상기 초기화하는 단계는 상기 특수 프레임(42, 80)과 연관된 인코딩된 오디오 샘플 값들을 디코딩하기 전에 상기 추가 정보에 포함된 인코딩된 오디오 샘플 값들을 디코딩하는 단계를 포함함 ―;
    상기 프레임이 특수 프레임(42, 80)이라고 결정된다면 그리고 상기 특수 프레임의 오디오 샘플 값들이 다른 코덱 구성(84)을 사용하여 인코딩되었다면, 상기 오디오 디코더(60)를 현재 코덱 구성에서 상기 다른 코덱 구성으로 스위칭하는 단계; 및
    상기 프레임이 특수 프레임(42, 80)이라고 결정된다면 그리고 상기 특수 프레임의 오디오 샘플 값들이 상기 현재 코덱 구성을 사용하여 인코딩되었다면, 상기 현재 코덱 구성을 사용하여 상기 특수 프레임(42, 80)을 디코딩하고 상기 추가 정보를 폐기하는 단계를 포함하는,
    인코딩된 오디오 데이터의 비트스트림을 디코딩하기 위한 방법.
  16. 제 15 항에 있어서,
    상기 오디오 데이터의 비트스트림은 제 1 코덱 구성을 사용하여 인코딩된 제 1 개수의 프레임들 및 상기 제 1 개수의 프레임들에 이어지며 제 2 코덱 구성을 사용하여 인코딩된 제 2 개수의 프레임들을 포함하며,
    상기 제 2 개수의 프레임들 중 첫 번째 프레임은 상기 특수 프레임인,
    인코딩된 오디오 데이터의 비트스트림을 디코딩하기 위한 방법.
  17. 제 15 항에 있어서,
    상기 추가 정보는 상기 특수 프레임(42, 80)과 연관된 오디오 샘플 값들을 인코딩하기 위해 사용되는 코덱 구성(84)에 대한 정보를 포함하며,
    상기 방법은, 상기 추가 정보의 코덱 구성이 상기 비트스트림에서 상기 특수 프레임에 선행하는 프레임들의 인코딩된 오디오 샘플 값들을 인코딩하는 데 사용되는 현재 코덱 구성과 다른지 여부를 결정하는 단계를 포함하는,
    인코딩된 오디오 데이터의 비트스트림을 디코딩하기 위한 방법.
  18. 오디오 신호(10)의 오디오 샘플 값들의 시퀀스를 표현하는 인코딩된 오디오 데이터의 비트스트림을 생성하기 위한 방법으로서,
    상기 인코딩된 오디오 데이터의 비트스트림은 복수의 프레임들을 포함하고, 각각의 프레임은 연관된 인코딩된 오디오 샘플 값들을 포함하며, 상기 방법은,
    상기 프레임들 중 적어도 하나를 특수 프레임(42, 80)으로서 제공하는 단계 ― 상기 특수 프레임(42, 80)은 상기 특수 프레임(42, 80)과 연관된 인코딩된 오디오 샘플 값들 및 추가 정보(82)를 포함하고, 상기 추가 정보(82)는 상기 특수 프레임에 선행하는 다수의 프레임들(86)의 인코딩된 오디오 샘플 값들을 포함하고, 상기 특수 프레임에 선행하는 다수의 프레임들의 인코딩된 오디오 샘플 값들은 상기 특수 프레임과 동일한 코덱 구성을 사용하여 인코딩되며, 상기 특수 프레임에 선행하는 다수의 프레임들의 수는, 오디오 디코더(60)의 시동시 상기 특수 프레임이 첫 번째 프레임인 경우에 상기 특수 프레임(42, 80)과 연관된 오디오 샘플 값들을 디코딩할 위치에 있기 위해 상기 오디오 디코더(60)의 시동 중에 전체 신호를 빌드업(build up)하도록 내부 디코더 상태들 및 내부 버퍼들을 초기화하기 위해 상기 오디오 디코더(60)에 의해 요구되는 프리롤 프레임들의 수에 대응함 ―; 및
    상기 특수 프레임(42, 80)과 상기 복수의 프레임들 중 다른 프레임들을 연결함으로써 상기 비트스트림을 생성하는 단계를 포함하며,
    상기 인코딩된 오디오 데이터는 복수의 세그먼트들(30)을 포함하고,
    각각의 세그먼트는 상기 오디오 샘플 값들의 시퀀스의 복수의 부분들 중 하나와 연관되고 복수의 프레임들(40)을 포함하며,
    상기 코덱 구성이 변경되는지 여부와 관계없이 각각의 세그먼트(30)의 시작에 특수 프레임(42, 80)이 부가되는,
    인코딩된 오디오 데이터의 비트스트림을 생성하기 위한 방법.
  19. 제 18 항에 있어서,
    상기 추가 정보는 상기 특수 프레임(42, 80)과 연관된 오디오 샘플 값들을 인코딩하기 위해 사용되는 코덱 구성(84)에 대한 정보를 포함하는,
    인코딩된 오디오 데이터의 비트스트림을 생성하기 위한 방법.
  20. 컴퓨터 또는 프로세서 상에서 실행될 때, 제 15 항 내지 제 19 항 중 한 항의 방법을 수행하기 위하여 컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램.
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
KR1020167010248A 2013-10-18 2014-10-14 오디오 디코더, 인코딩된 오디오 출력 데이터를 생성하기 위한 장치 및 디코더의 초기화를 가능하게 하는 방법들 KR101809390B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP13189328.1A EP2863386A1 (en) 2013-10-18 2013-10-18 Audio decoder, apparatus for generating encoded audio output data and methods permitting initializing a decoder
EP13189328.1 2013-10-18
PCT/EP2014/072063 WO2015055683A1 (en) 2013-10-18 2014-10-14 Audio decoder, apparatus for generating encoded audio output data and methods permitting initializing a decoder

Publications (2)

Publication Number Publication Date
KR20160060686A KR20160060686A (ko) 2016-05-30
KR101809390B1 true KR101809390B1 (ko) 2018-01-18

Family

ID=49378190

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167010248A KR101809390B1 (ko) 2013-10-18 2014-10-14 오디오 디코더, 인코딩된 오디오 출력 데이터를 생성하기 위한 장치 및 디코더의 초기화를 가능하게 하는 방법들

Country Status (19)

Country Link
US (6) US9928845B2 (ko)
EP (2) EP2863386A1 (ko)
JP (1) JP6214765B2 (ko)
KR (1) KR101809390B1 (ko)
CN (2) CN105745704B (ko)
AR (1) AR098075A1 (ko)
AU (1) AU2014336243B2 (ko)
BR (4) BR122021004490B1 (ko)
CA (1) CA2925653C (ko)
ES (1) ES2644370T3 (ko)
MX (1) MX355274B (ko)
MY (1) MY177213A (ko)
PL (1) PL3044782T3 (ko)
PT (1) PT3044782T (ko)
RU (1) RU2651190C2 (ko)
SG (1) SG11201602971SA (ko)
TW (1) TWI579832B (ko)
WO (1) WO2015055683A1 (ko)
ZA (1) ZA201603154B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021015484A1 (ko) * 2019-07-19 2021-01-28 인텔렉추얼디스커버리 주식회사 무선 통신 시스템에서 적응적인 오디오 처리 방법, 장치, 컴퓨터 프로그램 및 그 기록 매체

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2863386A1 (en) * 2013-10-18 2015-04-22 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio decoder, apparatus for generating encoded audio output data and methods permitting initializing a decoder
SG10202100336WA (en) * 2017-01-10 2021-02-25 Fraunhofer Ges Forschung Audio decoder, audio encoder, method for providing a decoded audio signal, method for providing an encoded audio signal, audio stream, audio stream provider and computer program using a stream identifier
CN115691518A (zh) 2018-02-22 2023-02-03 杜比国际公司 用于处理嵌入在mpeg-h 3d音频流中的辅媒体流的方法及设备
US10586546B2 (en) 2018-04-26 2020-03-10 Qualcomm Incorporated Inversely enumerated pyramid vector quantizers for efficient rate adaptation in audio coding
US10734006B2 (en) 2018-06-01 2020-08-04 Qualcomm Incorporated Audio coding based on audio pattern recognition
US10580424B2 (en) * 2018-06-01 2020-03-03 Qualcomm Incorporated Perceptual audio coding as sequential decision-making problems
CN112740325B (zh) * 2018-08-21 2024-04-16 杜比国际公司 即时播放帧(ipf)的生成、传输及处理的方法、设备及系统
EP3994689B1 (en) 2019-07-02 2024-01-03 Dolby International AB Methods and apparatus for representation, encoding, and decoding of discrete directivity data
US20240056591A1 (en) * 2021-04-12 2024-02-15 Lg Electronics Inc. Method for image coding based on signaling of information related to decoder initialization
CN118103906A (zh) * 2021-08-19 2024-05-28 弗劳恩霍夫应用研究促进协会 音频编码器、用于提供音频信息的编码表示的方法、计算机程序、以及使用立即播出帧的编码音频表示
US20230090440A1 (en) * 2021-09-21 2023-03-23 Qualcomm Incorporated Lossy Compressed Feedback For Multiple Incremental Redundancy Scheme (MIRS)
DE102021006419A1 (de) 2021-12-30 2023-07-06 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung eingetragener Verein Streaming-Techniken

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010003563A1 (en) * 2008-07-11 2010-01-14 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder and decoder for encoding and decoding audio samples

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100304092B1 (ko) 1998-03-11 2001-09-26 마츠시타 덴끼 산교 가부시키가이샤 오디오 신호 부호화 장치, 오디오 신호 복호화 장치 및 오디오 신호 부호화/복호화 장치
US7315815B1 (en) * 1999-09-22 2008-01-01 Microsoft Corporation LPC-harmonic vocoder with superframe structure
US6604070B1 (en) * 1999-09-22 2003-08-05 Conexant Systems, Inc. System of encoding and decoding speech signals
US7460629B2 (en) * 2001-06-29 2008-12-02 Agere Systems Inc. Method and apparatus for frame-based buffer control in a communication system
JP2003273939A (ja) 2002-03-13 2003-09-26 Nec Corp 多重伝送システムおよび変換装置と警報転送方法
US7536305B2 (en) * 2002-09-04 2009-05-19 Microsoft Corporation Mixed lossless audio compression
US7272567B2 (en) * 2004-03-25 2007-09-18 Zoran Fejzo Scalable lossless audio codec and authoring tool
JP4367657B2 (ja) * 2004-04-09 2009-11-18 日本電気株式会社 音声通信方法及び装置
US7596486B2 (en) * 2004-05-19 2009-09-29 Nokia Corporation Encoding an audio signal using different audio coder modes
DE102004043521A1 (de) 2004-09-08 2006-03-23 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Erzeugen eines Multikanalsignals oder eines Parameterdatensatzes
US7610195B2 (en) 2006-06-01 2009-10-27 Nokia Corporation Decoding of predictively coded data using buffer adaptation
KR20100134623A (ko) * 2008-03-04 2010-12-23 엘지전자 주식회사 오디오 신호 처리 방법 및 장치
EP2131590A1 (en) * 2008-06-02 2009-12-09 Deutsche Thomson OHG Method and apparatus for generating or cutting or changing a frame based bit stream format file including at least one header section, and a corresponding data structure
US8380523B2 (en) * 2008-07-07 2013-02-19 Lg Electronics Inc. Method and an apparatus for processing an audio signal
EP2169670B1 (en) * 2008-09-25 2016-07-20 LG Electronics Inc. An apparatus for processing an audio signal and method thereof
US9237387B2 (en) * 2009-10-06 2016-01-12 Microsoft Technology Licensing, Llc Low latency cacheable media streaming
US8428936B2 (en) 2010-03-05 2013-04-23 Motorola Mobility Llc Decoder for audio signal including generic audio and speech frames
US9275650B2 (en) * 2010-06-14 2016-03-01 Panasonic Corporation Hybrid audio encoder and hybrid audio decoder which perform coding or decoding while switching between different codecs
EP2863386A1 (en) * 2013-10-18 2015-04-22 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio decoder, apparatus for generating encoded audio output data and methods permitting initializing a decoder

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010003563A1 (en) * 2008-07-11 2010-01-14 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder and decoder for encoding and decoding audio samples

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Definition of the Opus Audio Codec. Internet Engineering Task Force (IETF) RFC 6716, 2012.09.*

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021015484A1 (ko) * 2019-07-19 2021-01-28 인텔렉추얼디스커버리 주식회사 무선 통신 시스템에서 적응적인 오디오 처리 방법, 장치, 컴퓨터 프로그램 및 그 기록 매체

Also Published As

Publication number Publication date
JP6214765B2 (ja) 2017-10-18
CA2925653A1 (en) 2015-04-23
BR112016008415B1 (pt) 2022-11-29
CA2925653C (en) 2018-07-24
RU2016118985A (ru) 2017-11-23
BR122021004485B1 (pt) 2023-02-28
CN110444218B (zh) 2023-10-24
AU2014336243B2 (en) 2017-02-02
ZA201603154B (en) 2017-11-29
TWI579832B (zh) 2017-04-21
CN105745704B (zh) 2019-08-23
CN105745704A (zh) 2016-07-06
EP3044782A1 (en) 2016-07-20
AU2014336243A1 (en) 2016-05-26
US20220215850A1 (en) 2022-07-07
RU2651190C2 (ru) 2018-04-18
BR112016008415A2 (ko) 2017-08-22
AR098075A1 (es) 2016-04-27
US20180197556A1 (en) 2018-07-12
MY177213A (en) 2020-09-09
ES2644370T3 (es) 2017-11-28
US11423919B2 (en) 2022-08-23
US20230335146A1 (en) 2023-10-19
MX355274B (es) 2018-04-13
US10614824B2 (en) 2020-04-07
US20200234726A1 (en) 2020-07-23
BR122021004494B1 (pt) 2023-02-23
JP2016539357A (ja) 2016-12-15
BR122021004490B1 (pt) 2023-02-23
EP2863386A1 (en) 2015-04-22
US10229694B2 (en) 2019-03-12
EP3044782B1 (en) 2017-09-06
CN110444218A (zh) 2019-11-12
US11670314B2 (en) 2023-06-06
US20160232910A1 (en) 2016-08-11
PT3044782T (pt) 2017-12-04
KR20160060686A (ko) 2016-05-30
TW201523587A (zh) 2015-06-16
SG11201602971SA (en) 2016-05-30
PL3044782T3 (pl) 2018-02-28
US9928845B2 (en) 2018-03-27
US20190156844A1 (en) 2019-05-23
WO2015055683A1 (en) 2015-04-23
MX2016004845A (es) 2016-07-26

Similar Documents

Publication Publication Date Title
KR101809390B1 (ko) 오디오 디코더, 인코딩된 오디오 출력 데이터를 생성하기 위한 장치 및 디코더의 초기화를 가능하게 하는 방법들
US11882323B2 (en) Audio splicing concept
CA2978835C (en) Fragment-aligned audio coding
KR20210043679A (ko) 즉시 재생 프레임(ipf)의 생성, 전송 및 처리를 위한 방법, 장치 및 시스템

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