KR20170021777A - 복호 장치 및 방법, 및 프로그램 - Google Patents

복호 장치 및 방법, 및 프로그램 Download PDF

Info

Publication number
KR20170021777A
KR20170021777A KR1020167034152A KR20167034152A KR20170021777A KR 20170021777 A KR20170021777 A KR 20170021777A KR 1020167034152 A KR1020167034152 A KR 1020167034152A KR 20167034152 A KR20167034152 A KR 20167034152A KR 20170021777 A KR20170021777 A KR 20170021777A
Authority
KR
South Korea
Prior art keywords
audio
audio elements
buffer
elements
decoding
Prior art date
Application number
KR1020167034152A
Other languages
English (en)
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 KR20170021777A publication Critical patent/KR20170021777A/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/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/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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Mathematical Physics (AREA)
  • Communication Control (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Stereophonic System (AREA)
  • Telephonic Communication Services (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

적어도 하나의 버퍼 및 적어도 하나의 프로세서를 포함하는 복호 장치가 제공된다. 상기 적어도 하나의 프로세서는, 상기 적어도 하나의 버퍼의 사이즈에 적어도 부분적으로 기초하여, 입력 비트 스트림 내의 다수의 오디오 요소들 중에서 적어도 하나의 오디오 요소를 선택하고; 상기 적어도 하나의 오디오 요소를 복호하여 오디오 신호를 생성하도록 구성된다.

Description

복호 장치 및 방법, 및 프로그램{DECODING DEVICE, DECODING METHOD, AND PROGRAM}
본 기술은 복호 장치, 복호 방법, 및 프로그램에 관한 것이다. 특히, 하드 규모가 상이한 기기들에서 비트 스트림들을 복호할 수 있는 복호 장치, 복호 방법, 및 프로그램에 관한 것이다.
<관련 출원에 대한 상호 참조>
본 출원은 2014년 6월 26일자로 출원된 일본 우선권 특허 출원 JP 2014-130898호의 이익을 주장하며, 그 전체 내용은 본원에 참고로 인용된다.
관련 기술의 5.1 채널 서라운드 재생을 초월하는, 보다 더 높은 현장감을 재생하거나 복수의 오디오 요소들(오브젝트들)을 전송하기 위한 부호화 기술로서, 3D 오디오 표준이 일반적으로 이용되었다(예를 들어, 비특허 문헌 1 내지 3 참조).
3D 오디오 표준에서는, 디코더에 제공되는 입력 비트 스트림을 저장하기 위한 버퍼 사이즈의 최소값이 최소 디코더 입력 버퍼 사이즈로서 정의되어 있다. 예를 들어, 비특허 문헌 3의 4.5.3.1절에서는, 최소 디코더 입력 버퍼 사이즈는 6144×NCC(bits)와 같게 되도록 정의되어 있다.
여기서, NCC는 Number of Considered Channel의 약자이며, 입력 비트 스트림에 포함된 모든 오디오 요소들 중에서, SCE(single channel element)들의 수와, CPE(channel pair element)들의 수의 2배와의 합을 나타내고 있다.
또한, SCE는 하나의 채널의 오디오 신호가 저장되는 오디오 요소이며, CPE는 페어로서 설정된 2개의 채널들의 오디오 신호가 저장되는 오디오 요소이다. 따라서, 예를 들어, 입력 비트 스트림에 포함되는 SCE들의 수는 5이고, CPE들의 수는 3이다. 이 경우, NCC=5+2×3=11이 된다.
이와 같이, 3D 오디오 표준에서는, 디코더가 입력 비트 스트림을 복호하려고 할 때, 정의된 사이즈의 최소 버퍼를 확보할 필요가 있다.
ISO/IEC JTC1/SC29/WG11 N14459, April 2014, Valencia, Spain, "Text of ISO/IEC 23008-3/CD, 3D audio" INTERNATIONAL STANDARD ISO/IEC 23003-3 First edition 2012-04-01 Information technology-coding of audio-visual objects-part3: Unified speech and audio coding INTERNATIONAL STANDARD ISO/IEC 14496-3 Fourth edition 2009-09-01 Information technology-coding of audio-visual objects-part3: Audio
그러나, 비특허문헌 1의 3D 오디오 표준에서는, SCE들의 수 및 CPE들의 수는 거의 임의로 설정된다. 따라서, 3D 오디오 표준에 의해 정의된 모든 비트 스트림들을 복호하기 위해서, 디코더에 제공되는 최소 디코더 입력 버퍼 사이즈는 비특허문헌 3의 표준에서보다 많이 크다.
구체적으로는, 비특허문헌 1의 3D 오디오 표준에서는, SCE들의 수와 CPE들의 수의 합계는 최대 65805로 설정될 수 있다. 따라서, 최소 디코더 입력 버퍼 사이즈의 최대값은 다음 식에 의해 표현된다: 최소 디코더 입력 버퍼 사이즈의 최대값=6144×(0+65805×2)=808611840(bits)이며, 약 100MByte와 같게 된다.
이와 같이, 최소로 필요로 하는 버퍼 사이즈인 최소 디코더 입력 버퍼 사이즈가 크면, 메모리 사이즈가 작은 플랫폼에서는 정의된 사이즈의 버퍼를 확보하기가 어려울 수 있다. 즉, 기기의 하드 규모에 따라서는, 디코더를 실장하기가 어려울 수 있다.
상이한 하드웨어 규모들을 갖는 기기들에서 비트 스트림들을 복호하는 것이 바람직하다.
일부 실시예들은 복호 장치에 관한 것이다. 복호 장치는, 적어도 하나의 버퍼; 및 상기 적어도 하나의 버퍼의 사이즈에 적어도 부분적으로 기초하여, 입력 비트 스트림 내의 다수의 오디오 요소들 중에서 적어도 하나의 오디오 요소를 선택하고; 상기 적어도 하나의 오디오 요소를 복호하여 오디오 신호를 생성하도록 구성된 적어도 하나의 프로세서를 포함한다.
일부 실시예들은 복호 방법에 관한 것이다. 상기 방법은, 복호 장치의 적어도 하나의 버퍼의 사이즈에 적어도 부분적으로 기초하여, 입력 비트 스트림 내의 다수의 오디오 요소들 중에서 적어도 하나의 오디오 요소를 선택하는 단계; 및 상기 적어도 하나의 오디오 요소를 복호하여 오디오 신호를 생성하는 단계를 포함한다.
일부 실시예들은, 적어도 하나의 프로세서에 의해 실행될 때, 적어도 하나의 프로세서로 하여금 복호 방법을 수행하게 하는 프로세서-실행가능 명령어들을 저장하는 적어도 하나의 비-일시적 컴퓨터-판독가능 저장 매체에 관한 것이다. 상기 복호 방법은, 복호 장치의 적어도 하나의 버퍼의 사이즈에 적어도 부분적으로 기초하여, 입력 비트 스트림 내의 다수의 오디오 요소들 중에서 적어도 하나의 오디오 요소를 선택하는 단계; 및 상기 적어도 하나의 오디오 요소를 복호하여 오디오 신호를 생성하는 단계를 포함한다.
본 기술의 실시예들에 의하면, 하드 규모가 상이한 기기들에서 비트 스트림을 복호할 수 있다.
여기에 기재된 효과는 반드시 한정되는 것은 아니고, 본 개시내용에 기재된 어느 하나의 효과일 수 있다는 점에 유의해야 한다.
도 1은 입력 비트 스트림의 구성에 대하여 설명하는 도면이다.
도 2는 입력 비트 스트림의 배치 예에 대하여 설명하는 도면이다.
도 3은 우선도 정보에 대하여 설명하는 도면이다.
도 4는 전송 비트 레이트의 조정에 대하여 설명하는 도면이다.
도 5는 전송 비트 레이트의 조정에 대하여 설명하는 도면이다.
도 6은 전송 비트 레이트의 조정에 대하여 설명하는 도면이다.
도 7은 사이즈 정보에 대하여 설명하는 도면이다.
도 8은 콘텐츠 전송 시스템의 구성예를 설명하는 도면이다.
도 9는 디코더의 구성예를 설명하는 도면이다.
도 10은 복호 처리를 설명하는 흐름도이다.
도 11은 디코더의 구성예를 설명하는 도면이다.
도 12는 복호 처리를 설명하는 흐름도이다.
도 13은 디코더의 구성예를 설명하는 도면이다.
도 14는 복호 처리를 설명하는 흐름도이다.
도 15는 디코더의 구성예를 설명하는 도면이다.
도 16은 복호 처리를 설명하는 흐름도이다.
도 17은 컴퓨터의 구성예를 설명하는 도면이다.
이하, 도면을 참조하여, 본 기술을 적용한 실시예에 대하여 설명한다.
<제1 실시예>
본 기술의 실시예에 있어서, 다양한 허용 메모리 사이즈들의 디코더들, 즉 하드 규모가 상이한 다양한 기기들은, 부호화된 멀티-채널 오디오 신호가 저장되어 있는 입력 비트 스트림을 복호할 수 있다.
본 기술의 실시예에서는, 입력 비트 스트림 내의 오디오 요소들의 복수의 조합들은, 입력 비트 스트림 내에서 정의되고, 오디오 요소들의 각각의 조합마다, 디코더에 제공되는 입력 비트 스트림을 저장하기 위한 버퍼의 사이즈의 최소값을 변경함으로써, 상이한 하드 규모에서 복호를 수행할 수 있다.
먼저, 본 기술의 실시예의 간략한 개요에 대하여 설명한다.
<오디오 요소들의 조합에 관한 추가적 정의>
본 기술의 실시예에서는, 3D 오디오 표준에서, 오디오 요소들의 복수 개의 조합들이 정의될 수 있다. 여기에서는, 다양한 허용 메모리 사이즈들의 디코더들에 의해 입력 비트 스트림들이 복호될 수 있도록, 복수 개의 조합들이 정의된다.
예를 들어, 하나의 콘텐츠를 재생하기 위한 입력 비트 스트림이, 도 1에 도시된 오디오 요소들로 구성된다. 도면에서, 하나의 직사각형은 입력 비트 스트림을 구성하는 하나의 오디오 요소를 나타내고 있다는 점에 유의해야 한다. 또한, SCE(i)(여기서, i는 정수)로 표시된 오디오 요소는 i번째의 SCE를 나타내며, CPE(i)(여기서, i는 정수)로 표시된 오디오 요소는 i번째의 CPE를 나타내고 있다.
상술한 바와 같이, SCE는, 1채널 분의 오디오 신호를 복호하기 위하여 필요한 데이터, 즉 1채널 분의 오디오 신호를 부호화하여 얻어진 부호화 데이터가 저장되어 있는 오디오 요소이다. 또한, CPE는, 페어로서 설정된 2채널 분의 오디오 신호를 복호하기 위하여 필요한 데이터이다.
도 1에서는, CPE(1)는 2-채널 재생을 위한 서라운드 사운드가 저장되어 있는 오디오 요소이다. 이하에서는, CPE(1)로 형성된 요소의 그룹은 또한 채널 음원 그룹 1이라고도 지칭된다.
또한, SCE(1), CPE(2), 및 CPE(3)는 5-채널 재생을 위한 서라운드 사운드들이 저장되어 있는 오디오 요소들이다. 이하에서는, SCE(1), CPE(2), 및 CPE(3)로 형성된 요소들의 그룹은 채널 음원 그룹 2이라고도 지칭된다.
SCE(2) 내지 SCE(23)는 22-채널 재생을 위한 서라운드 사운드들이 저장되어 있는 오디오 요소들이다. 이하에서는, SCE(2) 내지 SCE(23)로 형성된 요소들의 그룹은 채널 음원 그룹 3이라고도 지칭된다.
SCE(24)는 오브젝트(음 소재)로서 일본어와 같은 미리 결정된 언어의 대화음이 저장되어 있는 오디오 요소이다. 이하에서는, SCE(24)로 형성된 요소 그룹은 오브젝트 음원 그룹 1이라고도 지칭된다. 마찬가지로, SCE(25)는 오브젝트로서 한국어의 대화음이 저장되어 있는 오디오 요소이다. 이하에서는, SCE(25)로 형성된 요소의 그룹은 오브젝트 음원 그룹 2이라고도 지칭된다.
또한, SCE(26) 내지 SCE(30)는 오브젝트로서 자동차 소리 등의 사운드들이 저장되어 있는 오디오 요소들이다. 이하에서는, SCE(26) 내지 SCE(30)로 형성된 요소들의 그룹은 오브젝트 음원 그룹 3이라고도 지칭된다.
입력 비트 스트림을 복호하여 콘텐츠를 재생하려 할 때에는, 채널 음원 그룹들(1 내지 3) 및 오브젝트 음원 그룹들(1 내지 3)은 임의로 조합될 수 있고, 콘텐츠가 재생될 수 있다.
그러한 경우, 도 1의 예에서는, 채널 음원 그룹들과 오브젝트 음원 그룹들의 오디오 요소들의 조합들은 이하의 6개의 조합들 CM(1) 내지 CM(6)이 된다.
조합 CM(1)
채널 음원 그룹 1, 오브젝트 음원 그룹 1, 오브젝트 음원 그룹 3
조합 CM(2)
채널 음원 그룹 1, 오브젝트 음원 그룹 2, 오브젝트 음원 그룹 3
조합 CM(3)
채널 음원 그룹 2, 오브젝트 음원 그룹 1, 오브젝트 음원 그룹 3
조합 CM(4)
채널 음원 그룹 2, 오브젝트 음원 그룹 2, 오브젝트 음원 그룹 3
조합 CM(5)
채널 음원 그룹 3, 오브젝트 음원 그룹 1, 오브젝트 음원 그룹 3
조합 CM(6)
채널 음원 그룹 3, 오브젝트 음원 그룹 2, 오브젝트 음원 그룹 3
이들 조합들CM(1) 내지 CM(6)은, 각각, 2-채널 일본어, 2-채널 한국어, 5-채널 일본어, 5-채널 한국어, 22-채널 일본어, 및 22-채널 한국어에 의해 콘텐츠들을 재생하기 위한 오디오 요소들의 조합들로서 설정된다.
이 경우, 각각의 조합에서 필요한 디코더의 메모리 사이즈들의 사이즈들의 관계는 이하와 같다.
조합 CM(1), CM(2)<조합 CM(3), CM(4)<조합 CM(5), CM(6)
이러한 오디오 요소들의 조합들은 비트 스트림 신택스로서 조합들을 정의함으로써 실현될 수 있다.
<최소 디코더 입력 버퍼의 정의의 수정>
그러나, 3D 오디오 표준에서, 상술한 조합마다, 최소 디코더 입력 버퍼 사이즈를 변경하도록 이하에 설명된 현재의 규칙을 수정함으로써, 다양한 허용 메모리 사이즈들의 디코더들에 의해 입력 비트 스트림이 복호될 수 있다.
<현재의 규칙>
최소 디코더 입력 버퍼 사이즈=6144×NCC(bits)
상술한 바와 같이, NCC는 입력 비트 스트림에 포함되는 모든 오디오 요소들 중 SCE들의 수와, CPE들의 수의 2배와의 합을 나타내고 있다. 현 상황에서는, 기기가 자체 허용 메모리 사이즈, 즉 최소 디코더 입력 버퍼 사이즈(이하, 필요 버퍼 사이즈라고도 칭함) 미만인 최대 할당 버퍼 사이즈를 갖는다고 가정한다. 기기에서는, 미리 결정된 조합에 한해 충분한 버퍼 사이즈를 확보할 수 있는 경우라도, 입력 비트 스트림을 복호하는 것은 어렵다.
따라서, 본 기술의 실시예에서는, 이하와 같은 수정 AM1 또는 수정 AM2를 행함으로써, 자신의 하드 규모, 즉 허용 메모리 사이즈에 따라, 기기들은 자신들에 적합한 오디오 요소들의 조합들을 이용하여 콘텐츠(입력 비트 스트림)의 복호 및 재생을 행할 수 있다.
<수정 AM1>
3D 오디오 표준으로 정해져 있는 규칙에서, NCC는 입력 비트 스트림에 포함되는 모든 오디오 요소들 중 SCE들의 수와, CPE들의 수의 2배와의 합이다. 그 대신, NCC는 입력 비트 스트림에 포함되는 복호 대상으로서의 오디오 요소들의 조합들에 포함되는 모든 오디오 요소들 중 SCE들의 수와, CPE들의 수의 2배와의 합이다.
<수정 AM2>
오디오 요소들의 각각의 조합마다 최소 디코더 입력 버퍼 사이즈(필요 버퍼 사이즈)가 비트 스트림 신택스로서 정의된다.
이러한 수정 AM1 또는 수정 AM2를 행함으로써, 디코더측에서, 허용되는 메모리 사이즈가 더 작은 기기에서도 입력 비트 스트림을 복호할 수 있다. 따라서, 디코더측과 인코더측에는 이하의 수정들이 필요하다.
<디코더의 신호 처리의 수정>
자체 허용 메모리 사이즈와, 입력 비트 스트림의 오디오 요소들의 각각의 조합마다의 사이즈(필요 버퍼 사이즈)를 비교하여, 디코더는 "자체 허용 메모리 사이즈가 각각의 조합마다의 사이즈 이상"이라는 조건을 만족하는 오디오 요소들의 조합들을 특정하고, 그 조건을 만족하는 임의의 조합들의 오디오 요소들을 복호한다.
여기서, 오디오 요소들의 각각의 조합마다의 필요 버퍼 사이즈를 특정하는 방법은, 수정 AM1 또는 수정 AM2 중 어느 하나를 적용할 수 있다.
즉, 수정 AM1을 적용하는 경우에는, 예를 들어, 디코더는 취득한 입력 비트 스트림에 저장되어 있는 정보로부터 오디오 요소들의 조합들을 특정할 수 있고, 오디오 요소들의 각각의 조합의 필요 버퍼 사이즈를 산출할 수 있다. 또한, 수정 AM2를 적용하는 경우에는, 디코더는 입력 비트 스트림으로부터 오디오 요소들의 각각의 조합의 필요 버퍼 사이즈를 판독할 수 있다.
또한, 복호 대상으로서의 오디오 요소들의 조합은, 필요 버퍼 사이즈가 허용 메모리 사이즈 이하가 되는 조합들 중, 유저에 의해 지정된 조합일 수 있다. 또한, 복호 대상으로서의 오디오 요소들의 조합은, 필요 버퍼 사이즈가 허용 메모리 사이즈 이하가 되는 조합들 중, 미리 결정된 설정에 의해 선택된 조합일 수 있다.
이하, 오디오 요소들의 조합에 관한 필요 버퍼 사이즈가 허용 메모리 사이즈 이하가 되는 조건은, 버퍼 사이즈 조건이라고도 칭하기로 한다.
복호 대상으로서의 오디오 요소들의 조합은, 입력 비트 스트림의 취득 전에 선택될 수 있고, 입력 비트 스트림의 취득 후에 선택될 수 있다. 즉, 본 기술의 실시예는, 예를 들어 텔레비전 방송 등의 푸시형 콘텐츠 전송 시스템에 적용할 수도 있고, MPEG(moving picture experts group)-DASH(dynamic adaptive streaming over HTTP)로 대표되는 풀형 콘텐츠 전송 시스템에도 적용할 수 있다.
<인코더 운용 규칙의 수정>
인코더는, 오디오 요소들의 모든 조합 각각에 대하여, 수정된 최소 디코더 입력 버퍼 사이즈를 복호하도록, 시간 프레임마다 오디오 요소들(부호화 데이터)의 비트량의 조정을 행하여 부호화를 행한다.
즉, 디코더가 오디오 요소들의 특정 조합을 선택했다고 해도, 인코더는, 디코더측의 버퍼 사이즈가 필요 버퍼 사이즈일 때에 오디오 요소들을 복호하도록, 시간 프레임마다 각각의 채널의 부호화 데이터에 할당 비트량을 조정하면서 부화화한다. 여기서, 오디오 요소들을 복호할 수 있다는 것은, 복호 대상으로서 설정된 조합의 오디오 요소들이 저장되어 있는 버퍼에서, 오버플로우 및 언더플로우 양쪽을 발생시키지 않고 복호할 수 있는 것을 의미한다.
이상과 같이, 디코더측에서, 오디오 요소들의 각각의 조합의 필요 버퍼 사이즈에 따라, 오디오 요소들의 조합들을 적절하게 선택함으로써, 다양한 허용 메모리 사이즈의 디코더들에 의해 입력 비트 스트림이 복호될 수 있다. 즉, 하드 규모가 상이한 다양한 기기에서 입력 비트 스트림을 복호할 수 있게 된다.
<오브젝트 우선도 정보를 이용한 전송 비트 레이트의 삭감>
본 기술의 실시예를 풀형 콘텐츠 전송 시스템에 적용하는 경우, 메타 데이터 등에 기초하여, 필요한 오디오 요소들만을 선택하여 취득함으로써, 입력 비트 스트림의 전송 비트 레이트를 삭감할 수 있다. 바꾸어 말하면, 디코더가 불필요한 오디오 요소들을 취득하지 않음으로써, 입력 비트 스트림의 전송 비트 레이트를 삭감할 수 있다.
여기에서는, MPEG-DASH로 대표되는 풀형 콘텐츠 전송 서비스가 고려된다. 그러한 방식으로, 3D 오디오의 입력 비트 스트림이, 서버에, 예를 들어, 이하의 배치 패턴(1) 또는 배치 패턴(2)의 2가지 방법들 중 어느 하나에 배치된다.
<배치 패턴(1)>
3D 오디오의 입력 비트 스트림 전체는 단일 스트림으로 배치된다.
<배치 패턴(2)>
3D 오디오의 입력 비트 스트림은 오디오 요소들의 각각의 조합마다 분할하여 배치된다.
구체적으로, 배치 패턴(1)에서는, 예를 들어 도 1에 나타낸 바와 같이, 모든 조합들의 오디오 요소들, 즉 단일 입력 비트 스트림이 서버에 배치된다. 입력 비트 스트림은 모든 채널 음원 그룹들 및 오브젝트 음원 그룹들을 구성하는 오디오 요소들을 포함한다.
이 경우, 예를 들어, 미리 서버 등으로부터 취득된 정보 및 입력 비트 스트림의 헤더에 저장된 정보(메타 데이터) 내에서, 디코더는 복호 대상으로서의 오디오 요소들의 조합을 선택하고, 선택된 조합의 오디오 요소들만을 서버로부터 취득하여 복호할 수 있다. 또한, 디코더가 일단, 입력 비트 스트림을 취득하면, 디코더는 입력 비트 스트림으로부터 필요한 오디오 요소들을 선택하여 복호할 수 있다.
배치 패턴(1)의 예에서, 입력 비트 스트림의 각각의 전송 시의 속도, 즉 전송 비트 레이트마다, 입력 비트 스트림이 준비되어, 서버에 배치될 수 있다.
배치 패턴(2)에서는, 도 1에 도시한 입력 비트 스트림이, 오디오 요소들의 각각의 조합마다 분할되고, 예를 들어, 도 2에 나타낸 바와 같이, 분할에 의해 얻어질 수 있는 각각의 조합의 비트 스트림이 서버에 배치된다.
도 2에서는, 도 1에서의 경우와 유사한 방식으로, 하나의 직사각형은 하나의 오디오 요소, 즉 SCE 또는 CPE를 나타내고 있다.
이 예에서, 서버 내에는, 화살표(A11)로 표시된 조합 CM(1)의 구성 요소들로 형성된 비트 스트림, 화살표(A12)로 표시된 조합 CM(2)의 구성 요소들로 형성된 비트 스트림, 및 화살표(A13)로 표시된 조합 CM(3)의 구성 요소들로 형성된 비트 스트림이 배치되어 있다.
또한, 서버 내에는, 화살표(A14)로 표시된 조합 CM(4)의 구성 요소들로 형성된 비트 스트림, 화살표(A15)로 표시된 조합 CM(5)의 구성 요소들로 형성된 비트 스트림, 및 화살표(A16)로 표시된 조합 CM(6)의 구성 요소들로 형성된 비트 스트림이 배치되어 있다.
이 경우, 디코더는 서버 등으로부터 취득된 정보로부터 복호 대상으로서의 오디오 요소들의 조합을 선택하고, 선택한 조합의 오디오 요소들을 서버로부터 취득하여 복호한다. 배치 패턴(2)의 예에서도, 분할된 입력 비트 스트림들이 전송 비트 레이트마다 준비될 수 있어, 서버에 배치될 수 있다는 점에 유의해야 한다.
또한, 배치 패턴(1)에 나타난 단일 입력 비트 스트림은 서버로부터 디코더측에 송신될 때에 분할될 수 있고, 요구된 조합의 오디오 요소들만으로 형성된 비트 스트림이 송신될 수 있다.
이러한 방식으로 복호 대상으로서의 오디오 요소들의 조합만이 취득되면, 전송 비트 레이트를 삭감할 수 있다.
예를 들어, 복호 대상으로서의 오디오 요소들의 조합만이 디코더측으로부터 취득되는 경우, 입력 비트 스트림이 저장되어 있는 메타 데이터 등에 기초하여, 오디오 요소들의 조합이 선택될 수 있다. 여기서, 오디오 요소들의 조합은, 예를 들어, 입력 비트 스트림에 메타 데이터로서 저장되어 있고 입력 비트 스트림으로부터 취득될 수 있는 오디오 요소들의 조합들을 나타내는 정보에 기초하여 선택된다.
또한, 디코더가 복호 대상으로서의 조합의 오디오 요소들 중 불필요한 오디오 요소들을 취득하지 않으면, 전송 비트 레이트를 더 삭감할 수 있다. 예를 들어, 이들 불필요한 오디오 요소들은, 유저에 의해 지정될 수 있고, 입력 비트 스트림에 저장되어 있는 메타 데이터 등에 기초하여 선택될 수 있다.
특히, 메타 데이터에 기초하여 불필요한 오디오 요소들을 선택하는 경우에는, 그 선택은 우선도 정보에 기초하여 행해질 수 있다. 우선도 정보는 오브젝트들의 우선도들(중요도), 즉 오디오 요소들의 우선도들을 나타낸다. 여기서, 우선도 정보는, 그 우선도 정보의 값이 클수록, 오디오 요소의 우선도가 높고, 그 요소가 더 중요하다는 것을 나타내고 있다.
예를 들어, 3D 오디오 표준에서는, 각각의 오브젝트 음원마다, 각각의 시간 프레임마다, 오브젝트 우선도 정보(object_priority)가 입력 비트 스트림 내에 정의되고, 보다 상세하게는 EXT 요소의 내부에 정의되어 있다. 특히, 3D 오디오 표준에서는, EXT 요소는 SCE나 CPE와 동일한 신택스 레이어 내에 정의되어 있다.
따라서, 콘텐츠를 재생하는 클라이언트, 즉 디코더는, 오브젝트 우선도 정보를 판독하고, 그 값이 클라이언트측에서 미리 결정된 임계값 이하인 오브젝트들의 오디오 요소들을 전송하지 않도록 서버에 명령을 발행한다. 이에 의해, 서버로부터 전송된 입력 비트 스트림(데이터)는, 명령에 의해 지정된 오브젝트 음원의 오디오 요소(SCE)들이 포함되지 않도록 할 수 있고, 따라서 전송 데이터의 비트 레이트를 삭감하는 것이 가능해진다.
이러한 우선도 정보를 이용한 전송 비트 레이트의 삭감을 실현하기 위해서는, 오브젝트 우선도 정보의 프리페칭; 및 수정된 최소 디코더 입력 버퍼 사이즈로 복호를 수행하기 위한 전송 비트 레이트 조정 처리의 2가지 처리들이 필요하다.
<우선도 정보의 프리페칭>
클라이언트(디코더)가 서버에 특정한 오브젝트의 오디오 요소의 비전송을 요구하기 위해서는, 클라이언트는 오브젝트 음원의 오디오 요소들이 전송되기 전에, 오브젝트 우선도 정보를 판독해야 한다.
상술한 바와 같이, 3D 오디오 표준에서는, 각각의 오브젝트 우선도 정보는 EXT 요소에 포함되어 있다. 따라서, 오브젝트 우선도 정보를 프리페칭하기 위하여, 예를 들어, EXT 요소들이 이하의 배치된 위치들 A(1) 및 A(2)에 배치될 수 있다. 또한, 이러한 예에 한정하는 것은 아니지만, 우선도 정보가 프리페칭될 수 있는 경우, EXT 요소, 즉 우선도 정보의 배치 위치는 임의의 위치일 수 있고, 임의의 방법으로 취득될 수 있다는 점에 유의해야 한다.
<배치 위치 A(1)>
EXT 요소는 단일 파일로서 제공되고, 따라서 클라이언트는 복호의 개시 시에 모든 프레임들 또는 몇몇 프리페칭된 프레임들에 대응하는 오브젝트 우선도 정보를 판독한다.
<배치 위치 A(2)>
EXT 요소는 비트 스트림 내의 프레임들의 선두에 배치되고, 클라이언트는 시간 프레임마다 오브젝트 우선도 정보를 판독한다.
예를 들어, 배치 위치 A(1)에서는, 예를 들어, 도 3의 화살표(A21)로 나타내는 바와 같이, 단일 파일(EXT 요소)이 서버에 기록되어 있다. 파일 내에는, 콘텐츠를 구성하는 모든 오브젝트들, 즉 모든 오브젝트들의 오디오 요소들의 시간 프레임마다 우선도 정보가 저장된다.
도 3에서는, 문자 "EXT(1)"이 기재된 단일 직사각형은, 단일 EXT 요소를 나타내고 있다. 이 예에서는, 클라이언트(디코더)는 복호의 개시 전의 임의의 타이밍에 서버로부터 EXT 요소들을 취득하고, 비전송될 오디오 요소를 선택한다.
예를 들어, 배치 위치 A(2)에서는, 화살표(A22)로 나타낸 바와 같이, 입력 비트 스트림의 프레임들의 선두에 EXT 요소가 배치되어, 서버에 기록되어 있다. 여기서, EXT 요소 이하의 각각의 직사각형, 즉 도면에서, 하측에 배치되어 있는 각각의 직사각형은 도 1에서의 경우와 유사한 방식으로 단일 오디오 요소(SCE 또는 CPE)를 나타내고 있다.
이 예에서, 서버에 기록되어 있는 입력 비트 스트림 내에서는, 도 1에 나타낸 구성의 선두에 EXT 요소가 더 배치된다.
따라서, 이 경우에는, 클라이언트(디코더)는 첫번째 대상으로서의 시간 프레임 내에서, 입력 비트 스트림 내의 EXT 요소들을 수신하여 우선도 정보를 판독한다. 그 다음, 우선도 정보에 기초하여, 클라이언트는 비전송되는 오디오 요소를 선택하고, 그 오디오 요소의 비전송을 서버에 요구(명령)한다.
<전송 비트 레이트의 조정 처리>
계속해서, 수정된 최소 디코더 입력 버퍼 사이즈로 복호를 행하기 위한 전송 비트 레이트 조정 처리에 대하여 설명한다.
예를 들어, 상술한 서버에서와 같이, 인코더는, 서버에 배치되는 입력 비트 스트림의 각각의 오디오 요소를, 수정된 최소 디코더 입력 버퍼 사이즈로 복호하도록, 오디오 요소(부호화 데이터)의 비트량을 조정한다.
따라서, 디코더측에서, 특정 조합의 오디오 요소들이 선택되었을 때, 예를 들어 도 4에 나타낸 바와 같이, 입력 비트 스트림들이 필요 버퍼 사이즈의 버퍼 내에 저장되면서 순차적으로 복호될 때에도, 언더 플로우 및 오버 플로우는 발생하지 않는다.
도 4에서, 종축은 각각의 시각에서 디코더측의 버퍼 내에 저장되어 있는 입력 비트 스트림의 데이터량을 나타내며, 횡축은 기간을 나타내고 있다. 또한, 도면에서, 대각선의 기울기는, 입력 비트 스트림의 전송 비트 레이트를 나타내며, 전송 비트 레이트가, 예를 들어 입력 비트 스트림의 전송 채널의 평균 비트 레이트 등인 것으로 가정된다.
이 예에서는, data[1] 내지 data[4]는, 각각의 시간 프레임에 해당하는 오디오 요소들이 서버로부터 수신되어 버퍼에 저장되는 기간들을 나타낸다. a1, b1, b2, c1, c2, d1, 및 d2는 각각 미리 결정된 기간 내에 버퍼에 저장되는 데이터량을 나타내고 있다. 또한, 종축에 있어서의 BFZ는 최소 디코더 입력 버퍼 사이즈를 나타내고 있다.
도 4에서는, 수신된 오디오 요소들이 BFZ의 양만큼 디코더의 버퍼 내에 저장되면, 첫번째 시간 프레임의 오디오 요소들의 복호가 개시된 후, 각각의 시간 프레임의 오디오 요소들의 복호가 일정 시간 간격으로 행해진다.
예를 들어, 시각 t1에서는, a1의 데이터량을 갖는 첫번째 시간 프레임의 데이터, 즉 첫번째 시간 프레임의 오디오 요소들이 버퍼로부터 판독되어 복호된다. 마찬가지로, 시각 t2 내지 시각 t4의 각각에서, 2번째 내지 4번째의 시간 프레임들의 오디오 요소들이 버퍼로부터 판독되어 복호된다.
이때, 버퍼 내에 저장되어 있는 오디오 요소들의 데이터량은 임의의 시각에 있어서도 0 이상이고, BFZ 이하로 되어 있다. 따라서, 언더 플로우도 오버 플로우도 발생하지 않는다. 따라서, 콘텐츠가 시간적으로 연속해서 도중에 끊어지지 않고 재생되게 된다.
그러나, 오디오 요소들의 임의의 조합이 선택된 경우에도, 부호화 데이터의 비트량을 조정하면서 수행되는 복호는, 선택된 조합을 구성하는 모든 오디오 요소들이 복호된다는 전제에서 행하여진다. 즉, 우선도 정보 등에 기초하여 선택된 조합을 구성하는 모든 오디오 요소들 중 일부가 복호되지 않는 경우에 대해서는 고려되어 있지 않다.
따라서, 복호 대상으로서의 조합들의 오디오 요소들 중, 일부의 오브젝트들의 오디오 요소들이 복호되지 않는 경우에는, 인코더측에서의 각각의 시간 프레임마다 비트량이 조정되지 않고, 디코더측에서의 각각의 시간 프레임에서의 복호에 의해 소모된 비트량과 정합되지 않는다. 그 다음, 일부 경우들에 있어서는, 디코더측에서 오버 플로우 또는 언더 플로우가 발생하고, 상술한 수정된 최소 디코더 입력 버퍼 사이즈에서의 복호를 행하기가 어렵다.
따라서, 본 기술의 실시예에서는, 인코더측에서의 비트량이 조정되고, 디코더측에서 소모된 비트량과 정합된다. 상술한 수정된 최소 디코더 입력 버퍼 사이즈에서의 복호를 하기 위하여, 이하의 전송 비트 레이트 조정 처리 RMT(1) 또는 RMT(2)가 행해진다.
<전송 비트 레이트 조정 처리 RMT(1)>
각각의 시간 프레임마다 전송 데이터에 포함되지 않는 오브젝트의 오디오 요소의 사이즈가 판독되고, 그 사이즈로부터 전송이 정지된 기간이 산출되고, 그 기간 동안에만 전송이 정지된다.
<전송 비트 레이트 조정 처리 RMT(2)>
각각의 시간 프레임마다 전송 데이터에 포함되지 않는 오브젝트의 오디오 요소의 사이즈가 판독되고, 그 사이즈에 기초하여 전송 대상으로서의 시간 프레임의 전송 레이트가 조정된다.
전송 비트 레이트 조정 처리 RMT(1)에서는, 예를 들어 도 5에 나타낸 바와 같이, 미리 결정된 기간에만 입력 비트 스트림의 전송이 정지되어, 실질적으로 전송 비트 레이트를 변경한다.
도 5에서, 종축은 각각의 시각에서 디코더측의 버퍼 내에 저장되어 있는 입력 비트 스트림의 데이터량을 나타내며, 횡축은 기간을 나타내고 있다. 또한, 도 5에서, 도 4에서의 경우와 대응하는 부분들은 동일한 참조 부호들로 표시되고, 그 설명은 적절히 생략한다.
이 예에서는, 도 4에서의 a1, b1, b2, c1, d1, 및 d2로 표현된 데이터량은, 각각 a1', b1', b2', c1', d1', 및 d2'로 표현되어 있다.
예를 들어, 도 4에서는 첫번째 시간 프레임의 복호 대상의 오디오 요소들의 총 데이터량은 a1이지만, 도 5에서는 미리 결정된 오브젝트들의 오디오 요소들의 복호가 행해지지 않기 때문에 총 데이터량은 a1'이다.
따라서, 기간 T11에서만, 입력 비트 스트림의 전송이 정지되어 있다. 기간 T11는, 첫번째 프레임에서 복호되지 않는, 즉 우선도 정보 등에 기초하여 선택되는 오브젝트의 오디오 요소의 사이즈(데이터량); 및 입력 비트 스트림의 전송 비트 레이트, 즉 도면에서 대각선의 기울기에 따라 좌우된다.
마찬가지로, 첫번째 시간 프레임 이후의 시간 프레임들에서도, 각각의 기간들 T12 내지 T14에서, 입력 비트 스트림의 전송은 정지되어 있다.
이러한 전송 비트 레이트 제어는, 서버측에서 수행될 수 있고, 디코더측에서 버퍼 제어를 행함으로써 수행될 수 있다.
서버측에서 비트 레이트 제어를 행할 때에, 예를 들어, 디코더는 서버에, 입력 비트 스트림의 일시적인 전송 정지를 지시할 수 있고, 서버는 전송 정지 기간을 산출하여, 입력 비트 스트림의 전송을 일시적으로 정지하게 한다.
디코더측에서의 버퍼 제어를 통해 전송 비트 레이트 제어를 행하는 경우, 예를 들어, 디코더는 수신된 입력 비트 스트림이 저장되어 있는 시스템 버퍼로부터, 복호를 위한 오디오 버퍼에의 오디오 요소들의 전송 시에 오디오 요소들의 전송(저장)을 일시 중단한다.
여기서, 시스템 버퍼는 예를 들어, 콘텐츠를 구성하는 음성의 입력 비트 스트림뿐만 아니라, 콘텐츠를 구성하는 영상의 입력 비트 스트림 등도 저장되는 버퍼로서 간주된다. 또한, 오디오 버퍼는, 최소 디코더 입력 버퍼 사이즈 이상의 버퍼 사이즈를 확보하는데 필요한 복호용 버퍼이다.
한편, 전송 비트 레이트 조정 처리 RMT(2)에서는, 예를 들어 도 6에 나타내는 바와 같이, 입력 비트 스트림의 전송 비트 레이트가 가변되도록 설정된다.
도 6에서, 종축은 각각의 시각에서 디코더측의 오디오 버퍼 내에 저장되어 있는 입력 비트 스트림의 데이터량을 나타내며, 횡축은 기간을 나타내고 있다. 또한, 도 6에서, 도 4 또는 도 5에서의 경우와 대응되는 부분들은 동일한 참조 부호들 및 번호들에 의해 표시되며, 그 설명은 적절히 생략한다.
예를 들어, 도 4에서는 첫번째 시간 프레임의 복호 대상의 오디오 요소들의 총 데이터량은 a1이고, 도 6에서는 미리 결정된 오브젝트들의 오디오 요소들의 복호가 행해지지 않기 때문에 총 데이터량은 a1'이다.
그로 인해, 첫번째 프레임에 대응하는 오디오 요소들의 취득 후, 시각 t1까지의 기간에 있어서, 오디오 요소들의 전송은 새로운 전송 비트 레이트에서 행하여진다. 새로운 전송 비트 레이트는, 첫번째 프레임에서 복호되지 않는, 즉 우선도 정보 등에 기초하여 선택되는 오브젝트의 오디오 요소들의 사이즈; 및 입력 비트 스트림의 전송 비트 레이트, 즉 도면에서 대각선의 기울기에 좌우된다.
마찬가지로, 이후의 기간에서도, 입력 비트 스트림의 전송이, 새롭게 산출된 전송 비트 레이트로 행하여지고 있다. 예를 들어, 시각 t2에서 시각 t3까지의 기간에서는, 시각 t3에서 오디오 버퍼 내에 저장되어 있는 오디오 요소들의 총 데이터량이, 도 5의 예에서의 시각 t3에서의 경우와 동일해지도록, 새로운 전송 비트 레이트를 정할 수 있다.
이러한 전송 비트 레이트 제어는, 서버측에서 실현될 수 있고, 디코더측에서 버퍼 제어를 행함으로써 실현될 수 있다.
서버측에서 비트 레이트 제어를 행할 때에는, 예를 들어, 디코더가 서버에, 입력 비트 스트림의 새로운 전송 비트 레이트의 지시를 발행할 수 있고, 서버는 새로운 전송 비트 레이트를 산출할 수 있다.
디코더측에서의 버퍼 제어를 통해 전송 비트 레이트 제어를 행하는 경우, 예를 들어, 디코더는, 새로운 전송 비트 레이트를 산출하고, 그 새로운 전송 비트 레이트로, 시스템 버퍼로부터 오디오 버퍼에 오디오 요소들을 전송한다.
여기서, 전송 비트 레이트 조정 처리 RMT(1) 또는 RMT(2)를 행하는 경우, 복호 대상이 아닌 오브젝트의 오디오 요소의 사이즈를 프리페칭할 필요가 있다. 따라서, 본 기술의 실시예에서는, 오디오 요소들의 사이즈들을 나타내는 사이즈 정보가, 예를 들어, 이하의 사이즈 정보 레이아웃들 SIL(1) 내지 SIL(3) 중 어느 하나 내에 배치된다. 사이즈 정보의 레이아웃은, 프리페칭될 수 있는 레이아웃이라면, 임의의 레이아웃일 수 있음에 유의해야 한다.
<사이즈 정보 레이아웃 SIL(1)>
사이즈 정보는 단일 파일로서 제공되고, 따라서 클라이언트는 복호의 개시 시에 모든 프레임들 또는 몇몇 프리페칭된 프레임들에 대응하는 오디오 요소들의 사이즈들을 판독한다.
<사이즈 정보 레이아웃 SIL(2)>
사이즈 정보는 입력 비트 스트림 내의 프레임들의 선두에 배치되고, 클라이언트는 시간 프레임마다 사이즈 정보를 판독한다.
<사이즈 정보 레이아웃 SIL(3)>
사이즈 정보는 오디오 요소들의 선두에 정의되고, 클라이언트는 오디오 요소마다 사이즈 정보를 판독한다.
사이즈 정보 레이아웃 SIL(1)에서는, 예를 들어 도 7의 화살표(A31)로 나타내는 바와 같이, 단일 파일은 서버에 기록되어 있다. 파일 내에서, 콘텐츠를 구성하는 모든 오디오 요소들의 시간 프레임마다 사이즈 정보가 저장된다. 또한, 도 7에서, 문자 "Size"가 기재된 타원은 사이즈 정보를 나타내고 있다.
이 예에서는, 예를 들어, 클라이언트(디코더)는 복호 개시 전의 임의의 타이밍에서 서버로부터 사이즈 정보를 취득하고, 전송 비트 레이트 조정 처리 RMT(1) 또는 RMT(2)를 행한다.
예를 들어, 사이즈 정보 레이아웃 SIL(2)에서는, 화살표(A32)로 나타낸 바와 같이, 입력 비트 스트림의 프레임들의 선두에 사이즈 정보가 배치되어, 서버에 기록되어 있다. 여기서, 사이즈 정보 이하에 배치되어 있는 각각의 직사각형은, 도 3에 있어서의 경우와 유사한 방식으로 단일 오디오 요소(SCE 또는 CPE) 또는 EXT 요소를 나타내고 있다.
이 예에서는, 서버에 기록되어 있는 입력 비트 스트림에서, 도 3의 화살표(A22)로 나타낸 구성의 선두에 사이즈 정보가 더 배치되어 있다.
따라서, 이 경우에는, 예를 들어, 클라이언트(디코더)는, 우선 입력 비트 스트림의 사이즈 정보 또는 EXT 요소를 수신하고, 비전송될 오디오 요소를 선택하고, 그 선택에 따라 전송 비트 레이트 조정 처리 RMT(1) 또는 RMT(2)를 행한다.
예를 들어, 사이즈 정보 레이아웃 SIL(3)에서는, 화살표(A33)로 나타낸 바와 같이, 오디오 요소들의 선두 부분에 사이즈 정보가 배치되어 있다. 따라서, 이 경우에는, 예를 들어, 클라이언트(디코더)는 오디오 요소들로부터 사이즈 정보를 판독하고, 전송 비트 레이트 조정 처리 RMT(1) 또는 RMT(2)를 행한다.
상기 설명의 예에서는, 오브젝트의 오디오 요소는 비전송되지만, 본 기술은 오브젝트에 한정하지 않는다. 조합들을 구성하는 임의의 오디오 요소가 비전송되는 경우에도, 상술한 오브젝트의 예와 유사한 방식으로 최소 디코더 입력 버퍼 사이즈에서의 복호가 행해질 수 있다.
이상과 같이, 입력 비트 스트림 내의 복호 대상들이 아닌 불필요한 오디오 요소들이 메타 데이터 등에 의해 선택되어, 전송되지 않도록 함으로써, 전송 비트 레이트를 삭감할 수 있다.
입력 비트 스트림을 구성하는 임의의 오디오 요소가 복호 대상으로서 설정되지 않는 경우에, 적절하게 전송 비트 레이트를 조정함으로써, 최소 디코더 입력 버퍼 사이즈에서의 복호가 행해질 수 있다.
<콘텐츠 전송 시스템의 구성예>
이어서, 이상에서 설명한 본 기술을 적용한 구체적인 실시예에 대하여 설명한다.
이하에서는, 본 기술의 실시예가 MPEG-DASH에 준하는 콘텐츠 전송 시스템에 적용한 예시적 경우에 대해서 설명한다. 그러한 경우, 본 기술의 실시예를 적용한 콘텐츠 전송 시스템은, 예를 들어 도 8에 도시하는 바와 같이, 구성된다.
도 8에 나타내는 콘텐츠 전송 시스템은, 서버(11) 및 클라이언트(12)를 포함하고, 이 서버(11) 및 클라이언트(12)는, 인터넷 등의 유선 및 무선 통신 네트워크를 통해 서로 접속되어 있다.
서버(11)에는, 예를 들어, 복수의 전송 비트 레이트마다, 비트 스트림들이 기록되어 있다. 비트 스트림은 도 1에 도시한 입력 비트 스트림 또는 도 2에 도시한 입력 비트 스트림을 오디오 요소들의 각각의 조합마다 분할하여 얻어질 수 있다.
또한, 서버(11)에는, 도 3을 참조하여 설명한 EXT 요소가 기록되어 있다. EXT 요소는 단일 파일로서 입력 비트 스트림들 또는 분할된 입력 비트 스트림들의 프레임들의 선두 부분에 배치된다. 또한, 서버(11)에는, 도 7을 참조하여 설명한 사이즈 정보가 기록되어 있다. 사이즈 정보는 단일 파일로서 입력 비트 스트림들 또는 분할된 입력 비트 스트림들의 프레임들의 선두 부분 또는 오디오 요소들의 선두 부분에 배치된다.
서버(11)는 클라이언트(12)로부터 발행된 요구에 따라, 입력 비트 스트림, EXT 요소, 사이즈 정보 등을 클라이언트(12)에 송신한다.
또한, 클라이언트(12)는, 서버(11)로부터 입력 비트 스트림을 수신하여, 입력 비트 스트림을 복호 및 재생함으로써, 콘텐츠를 스트리밍 재생한다.
입력 비트 스트림의 수신과 관련하여, 입력 비트 스트림의 전부를 수신할 수 있고, 입력 비트 스트림의 분할된 부분만을 수신할 수 있음을 주지해야 한다. 이하에서는, 입력 비트 스트림의 전부와 일부분을 특히 구별할 필요가 없는 경우에는, 이들을 간단히 입력 비트 스트림이라고도 칭한다.
클라이언트(12)는, 스트리밍 제어부(21), 액세스 처리부(22), 및 디코더(23)를 갖고 있다.
스트리밍 제어부(21)는, 클라이언트(12) 전체의 동작을 제어한다. 예를 들어, 스트리밍 제어부(21)는 서버(11)로부터 EXT 요소, 사이즈 정보, 그 밖의 제어 정보를 수신하고, 필요에 따라 액세스 처리부(22) 또는 디코더(23)에 공급하거나 이로부터 수신한 정보에 기초하여 스트리밍 재생을 제어한다.
디코더(23) 등의 요구에 따라, 액세스 처리부(22)는 서버(11)에 대하여 미리 결정된 전송 비트 레이트에서의 미리 결정된 조합의 오디오 요소들의 입력 비트 스트림의 송신을 요구하고, 서버(11)로부터 송신된 입력 비트 스트림을 수신하여, 이 입력 비트 스트림을 디코더(23)에 공급한다. 디코더(23)는, 필요에 따라 스트리밍 제어부(21) 또는 액세스 처리부(22)와 정보를 교환하면서, 액세스 처리부(22)로부터 공급되는 입력 비트 스트림을 복호하고, 도면에 도시하지 않은 스피커 등으로 출력을 제공한다.
<디코더(1)의 구성예>
계속해서, 도 8에 나타낸 디코더(23)의 것보다 더 상세한 구성에 대하여 설명한다. 예를 들어, 디코더(23)는 보다 상세하게는 도 9에 도시하는 바와 같이 구성된다.
도 9에 나타내는 디코더(23)는 취득부(71), 버퍼 사이즈 산출부(72), 선택부(73), 추출부(74), 오디오 버퍼(75), 복호부(76), 및 출력부(77)를 갖고 있다.
이 예에서는, 예를 들어, 도 1에 도시한 구성의 미리 결정된 전송 비트 레이트의 입력 비트 스트림이 액세스 처리부(22)로부터 취득부(71)에 공급된다. 또한, 액세스 처리부(22)가 서버(11)로부터, 어느 전송 비트 레이트로 입력 비트 스트림을 수신할지를, 예를 들어 액세스 처리부(22) 등의 통신 네트워크의 상황 등에 기초하여, 시간 프레임마다 선택할 수 있다. 즉, 시간 프레임마다 전송 비트 레이트를 변경할 수 있다.
취득부(71)는, 액세스 처리부(22)로부터 입력 비트 스트림을 취득하여, 이 입력 비트 스트림을 버퍼 사이즈 산출부(72) 및 추출부(74)에 공급한다. 버퍼 사이즈 산출부(72)는 취득부(71)로부터 공급된 입력 비트 스트림에 기초하여, 오디오 요소들의 각각의 조합마다 필요 버퍼 사이즈를 산출하고, 이 필요 버퍼 사이즈를 선택부(73)에 공급한다.
선택부(73)는, 버퍼 사이즈 산출부(72)로부터 공급된 오디오 요소들의 조합들 각각의 필요 버퍼 사이즈와, 디코더(23), 즉 오디오 버퍼(75)의 허용 메모리 사이즈를 비교하여, 복호 대상으로서의 오디오 요소들의 조합을 선택하고, 그 선택 결과를 추출부(74)에 공급한다.
추출부(74)는, 선택부(73)로부터 공급된 선택 결과에 기초하여, 취득부(71)로부터 공급된 입력 비트 스트림으로부터, 선택된 조합의 오디오 요소들을 추출하고, 오디오 요소들을 오디오 버퍼(75)에 공급한다.
오디오 버퍼(75)는, 사전에 결정되는 미리 결정된 허용 메모리 사이즈의 버퍼이다. 오디오 버퍼(75)는, 추출부(74)로부터 공급된 복호 대상으로서의 오디오 요소들을 일시적으로 보유하고, 이 오디오 요소들을 복호부(76)에 공급한다. 복호부(76)는, 오디오 버퍼(75)로부터 시간 프레임마다 오디오 요소들을 판독하여, 복호를 행한다. 또한, 복호부(76)는, 복호에 의해 얻어진 오디오 신호에 기초하여 미리 결정된 채널 구성의 오디오 신호를 생성하고, 이 오디오 신호를 출력부(77)에 공급한다. 출력부(77)는, 복호부(76)로부터 공급되는 오디오 신호를 후단의 스피커 등으로 출력한다.
<복호 처리(1)의 설명>
계속해서, 도 9에 나타낸 디코더(23)에 의해 행해진 복호 처리에 대하여 설명한다. 예를 들어, 복호 처리는 시간 프레임마다 행해진다.
단계 S11에서, 취득부(71)는 액세스 처리부(22)로부터 입력 비트 스트림을 취득하여, 이 입력 비트 스트림을 버퍼 사이즈 산출부(72) 및 추출부(74)에 공급한다.
단계 S12에서, 버퍼 사이즈 산출부(72)는 취득부(71)로부터 공급된 입력 비트 스트림에 기초하여, 오디오 요소들의 각각의 조합마다, 필요 버퍼 사이즈를 산출하고, 이 필요 버퍼 사이즈를 선택부(73)에 공급한다.
구체적으로는, 버퍼 사이즈 산출부(72)는 산출 대상으로서의 오디오 요소들의 조합을 구성하는 SCE들의 수와, CPE들의 수의 2배와의 합을 NCC로서 설정하고, NCC와 6144과의 곱을, 필요 버퍼 사이즈(최소 디코더 입력 버퍼 사이즈)로서 산출한다.
입력 비트 스트림에 저장되어 있는 오디오 요소들의 선택 가능한 조합은, 메타 데이터 등을 참조함으로써 특정될 수 있다. 또한, 조합들에 대한 필요 버퍼 사이즈들을 나타내는 정보가 입력 비트 스트림에 저장되어 있는 경우에는, 버퍼 사이즈 산출부(72)는 입력 비트 스트림으로부터, 필요 버퍼 사이즈를 나타내는 정보를 판독하여, 이 정보를 선택부(73)에 공급한다.
단계 S13에서, 선택부(73)는 버퍼 사이즈 산출부(72)로부터 공급된 필요 버퍼 사이즈들에 기초하여, 오디오 요소들의 조합을 선택하고, 그 선택 결과를 추출부(74)에 공급한다.
즉, 선택부(73)는 오디오 요소들의 조합들 각각의 필요 버퍼 사이즈와, 디코더(23), 즉 오디오 버퍼(75)의 허용 메모리 사이즈를 비교하여, 버퍼 사이즈 조건을 만족하는 하나의 조합을 복호 대상으로서 선택한다. 그 다음, 선택부(73)는 그 선택 결과를 추출부(74)에 공급한다.
단계 S14에서, 추출부(74)는 취득부(71)로부터 공급된 입력 비트 스트림으로부터, 선택부(73)로부터 공급된 선택 결과에 의해 나타나는 조합의 오디오 요소들을 추출하고, 이 오디오 요소들을 오디오 버퍼(75)에 공급한다.
단계 S15에서, 복호부(76)는 오디오 버퍼(75)로부터 1시간 프레임에 대응하는 오디오 요소들을 판독하고, 그 오디오 요소들, 즉 오디오 요소들이 저장되어 있는 부호화 데이터를 복호한다.
복호부(76)는 복호에 의해 얻어진 오디오 신호에 기초하여, 미리 결정된 채널 구성의 오디오 신호를 생성하고, 이 오디오 신호를 출력부(77)에 공급한다. 예를 들어, 복호부(76)는 오브젝트들의 오디오 신호를 스피커에 대응하는 각각의 채널에 할당하고, 원하는 채널 구성의 각각의 채널에 대한 오디오 신호를 생성한다.
단계 S16에서, 출력부(77)는 복호부(76)로부터 공급된 오디오 신호를 후단의 스피커 등에 출력하고, 복호 처리는 종료한다.
이상과 같이 하여, 디코더(23)는, 자체 허용 메모리 사이즈들과 필요 버퍼 사이즈들에 기초하여, 오디오 요소들의 조합을 선택하고, 복호를 행한다. 이에 의해, 하드 규모가 상이한 다양한 기기들에서 입력 비트 스트림을 복호할 수 있다.
<제2 실시예>
<디코더(2)의 구성예>
도 9에 도시한 디코더(23)의 예의 설명에서, 오디오 요소들의 조합이 선택된다. 그러나, 디코더(23)에 있어서, 우선도 정보 등의 메타 데이터에 기초하여, 복호 대상이 아닌 불필요한 오디오 요소들이 선택될 수 있다. 그러한 경우, 디코더(23)는, 예를 들어, 도 11에 도시된 바와 같이, 구성된다. 또한, 도 11에서, 도 9에 있어서의 경우와 대응되는 부분들에는 동일한 부호를 부여하고 있고, 그 설명은 적절히 생략한다.
도 11에 도시하는 디코더(23)는 취득부(71), 버퍼 사이즈 산출부(72), 선택부(73), 추출부(74), 시스템 버퍼(111), 오디오 버퍼(75), 복호부(76), 및 출력부(77)를 갖고 있다. 도 11에 도시하는 디코더(23)의 구성은 새롭게 시스템 버퍼(111)가 제공되어 있다는 점에서 도 9의 디코더(23)와는 상이하다. 그 밖의 점에서는, 도 11에 도시하는 디코더(23)의 구성은 도 9의 디코더(23)와 동일 구성이 된다.
도 11에 도시하는 디코더(23)에는, 예를 들어, 도 1에 도시한 구성의 미리 결정된 전송 비트 레이트의 입력 비트 스트림이 공급된다.
취득부(71)는 서버(11)로부터 EXT 요소 및 사이즈 정보를 취득하고, EXT 요소를 버퍼 사이즈 산출부(72)를 통해 선택부(73)에 공급하고, 사이즈 정보를 추출부(74)를 통해 시스템 버퍼(111)에 공급한다.
예를 들어, 도 3의 화살표(A21)로 나타낸 바와 같이, EXT 요소가 단독으로 서버(11)에 기록되어 있는 경우, 취득부(71)는 복호 개시 전의 임의의 타이밍에 스트리밍 제어부(21)를 통해 서버(11)로부터 EXT 요소를 취득한다.
또한, 예를 들어, 도 3의 화살표(A22)로 나타낸 바와 같이, EXT 요소가 입력 비트 스트림의 프레임 선두에 배치되어 있는 경우에, 취득부(71)는 그 입력 비트 스트림을 버퍼 사이즈 산출부(72)에 공급한다. 그 다음, 버퍼 사이즈 산출부(72)는, 입력 비트 스트림으로부터 EXT 요소를 판독하여, 이 EXT 요소를 선택부(73)에 공급한다.
이하에서는, 다음의 가정하에서 설명을 계속한다: 도 3의 화살표(A21)로 나타낸 바와 같이, EXT 요소는 단독으로 서버(11)에 기록되어 있고, EXT 요소는 선택부(73)에 사전에 공급되어 있다.
예를 들어, 도 7의 화살표(A31)로 나타낸 바와 같이, 사이즈 정보가 단독으로 서버(11)에 기록되어 있는 경우, 취득부(71)는 복호 개시 전의 임의의 타이밍에 스트리밍 제어부(21)를 통해 서버(11)로부터 사이즈 정보를 취득한다.
또한, 예를 들어, 도 7의 화살표(A32) 또는 화살표(A33)로 나타낸 바와 같이, 사이즈 정보가 프레임들의 선두에 배치되거나, 오디오 요소들의 선두에 배치되어 있는 경우, 취득부(71)는 그 입력 비트 스트림을 추출부(74)에 공급한다. 그 다음, 추출부(74)는 입력 비트 스트림으로부터 사이즈 정보를 판독하여, 그 정보를 시스템 버퍼(111)에 공급한다.
이하에서는, 다음의 가정하에서 설명을 계속한다: 도 7의 화살표(A31)로 나타낸 바와 같이, 사이즈 정보는 단독으로 서버(11)에 기록되어 있고, 사이즈 정보가 시스템 버퍼(111)에 사전에 공급되어 있다.
선택부(73)는, 버퍼 사이즈 산출부(72)로부터 공급된 필요 버퍼 사이즈에 기초하여, 오디오 요소들의 조합을 선택한다. 또한, 선택부(73)는, 우선도 정보에 기초하여, 선택된 조합을 구성하는 오디오 요소들로부터, 복호 대상이 아닌 불필요한 오디오 요소, 즉 비전송되는 오디오 요소를 선택한다. 우선도 정보는 버퍼 사이즈 산출부(72)로부터 공급된 EXT 요소에 포함된다.
불필요한 오디오 요소들은 오브젝트의 오디오 요소일 수 있고, 그 이외의 오디오 요소일 수 있다는 점에 유의해야 한다.
선택부(73)는, 조합의 선택 결과와, 불필요한 오디오 요소의 선택 결과를 추출부(74)에 공급한다.
추출부(74)는, 선택부(73)로부터 공급된 선택 결과에 기초하여, 취득부(71)로부터 공급된 입력 비트 스트림으로부터, 선택된 조합을 형성하고, 불필요한 오디오 요소와는 다른 오디오 요소들을 추출하여, 이 오디오 요소들을 시스템 버퍼(111)에 공급한다.
시스템 버퍼(111)는, 사전에 추출부(74)로부터 공급되는 사이즈 정보에 기초하여, 상술한 전송 비트 레이트 조정 처리 RMT(1) 또는 RMT(2)를 통해 버퍼 제어를 행하고, 추출부(74)로부터 공급되는 오디오 요소들을 오디오 버퍼(75)에 공급한다. 이하에서는 전송 비트 레이트 조정 처리 RMT(1)가 행해지는 것으로 가정하고 그 설명을 계속한다는 점에 유의해야 한다.
<복호 처리(2)의 설명>
다음에, 도 12의 흐름도를 참조하여, 도 11에 도시한 디코더(23)에 의해 행해진 복호 처리에 대하여 설명한다. 단계들 S41 및 S42의 처리들은, 도 10의 단계들 S11 및 S12의 처리들과 동일하므로, 그 설명은 생략한다.
단계 S43에서, 선택부(73)는 버퍼 사이즈 산출부(72)로부터 공급된 필요 버퍼 사이즈들 및 EXT 요소에 포함된 우선도 정보에 기초하여, 오디오 요소들의 조합과, 불필요한 오디오 요소를 선택한다.
예를 들어, 선택부(73)는 도 10의 단계 S13과 동일한 처리를 행하고, 오디오 요소들의 조합을 선택한다. 또한, 선택부(73)는, 선택된 조합의 오디오 요소들 중, 우선도 정보의 값이 미리 결정된 임계값 이하인 오디오 요소를 복호 대상이 아닌 불필요한 오디오 요소로서 선택한다.
선택부(73)는, 조합의 선택 결과와, 불필요한 오디오 요소의 선택 결과를 추출부(74)에 공급한다.
단계 S44에서, 추출부(74)는, 선택부(73)로부터 공급된 선택 결과에 기초하여, 취득부(71)로부터 공급된 입력 비트 스트림으로부터, 선택된 조합을 형성하고, 불필요한 오디오 요소와는 다른 오디오 요소들을 추출하고, 이 오디오 요소들을 시스템 버퍼(111)에 공급한다. 또한, 추출부(74)는 선택부(73)에 의해 선택되고, 복호 대상이 아닌 불필요한 오디오 요소를 나타내는 정보를 시스템 버퍼(111)에 공급한다.
단계 S45에서, 시스템 버퍼(111)는, 사전에 추출부(74)로부터 공급되는 사이즈 정보, 및 추출부(74)로부터 공급되는 불필요한 오디오 요소를 나타내는 정보에 기초하여, 버퍼 제어를 행한다.
구체적으로는, 시스템 버퍼(111)는 추출부(74)로부터 공급된 정보에 의해 나타나는 오디오 요소들의 사이즈 정보에 기초하여, 전송을 정지시켜야 할 기간을 산출한다. 그 다음, 시스템 버퍼(111)는 적절한 타이밍으로, 산출된 기간에만 오디오 요소들의 오디오 버퍼(75)에의 전송(저장)을 정지시키면서, 추출부(74)로부터 공급된 오디오 요소들을 오디오 버퍼(75)에 전송한다.
버퍼 제어가 행하여지면, 그 후, 단계들 S46 및 S47의 처리들 및 복호 처리는 종료한다. 이들 처리는 도 10의 단계들 S15 및 S16의 처리들과 동일하므로, 그 설명은 생략한다.
이상과 같이 하여, 디코더(23)는 오디오 요소들의 조합을 선택하고, 우선도 정보에 기초하여, 복호 대상이 아닌 오디오 요소를 선택한다. 이에 의해, 하드 규모가 상이한 다양한 기기들에서 입력 비트 스트림을 복호할 수 있다. 또한, 버퍼 제어를 통해 실질적인 전송 비트 레이트 제어를 행함으로써, 최소 디코더 입력 버퍼 사이즈에서의 복호가 행해질 수 있다.
<제3 실시예>
<디코더(3)의 구성예>
상기 예의 설명에서, 취득된 입력 비트 스트림으로부터 복호 대상으로서의 조합의 오디오 요소들이 추출된다. 그러나, 선택된 조합의 오디오 요소들이 서버(11)로부터 취득될 수 있다. 그러한 경우, 디코더(23)는 예를 들어, 도 13에 도시된 바와 같이, 구성된다. 도 13에서, 도 9에서의 경우와 대응하는 부분들에는 동일한 참조 부호들 및 번호들이 부여되고, 그 설명은 생략한다.
도 13에 도시하는 디코더(23)는, 통신부(141), 버퍼 사이즈 산출부(72), 선택부(73), 요구부(142), 오디오 버퍼(75), 복호부(76), 및 출력부(77)를 갖고 있다.
도 13에 도시하는 디코더(23)의 구성은, 취득부(71) 및 추출부(74)가 제공되어 있지 않고, 새롭게 통신부(141) 및 요구부(142)가 제공되어 있다는 점에서, 도 9의 디코더(23)의 구성과는 상이하다.
통신부(141)는 스트리밍 제어부(21) 및 액세스 처리부(22)를 통해 서버(11)와 통신을 행한다. 예를 들어, 통신부(141)는 서버(11)로부터 취득 가능한 오디오 요소들의 조합들을 나타내는 정보를 수신하여, 이 정보를 버퍼 사이즈 산출부(72)에 공급하거나, 송신 요구를 서버(11)에 송신한다. 송신 요구는 요구부(142)로부터 공급되는 각각의 분할된 입력 비트 스트림의 일부분의 송신 요구이다. 또한, 통신부(141)는 송신 요구에 따라 서버(11)로부터 송신되는 각각의 분할된 입력 비트 스트림의 일부분을 수신하여, 이 각각의 분할된 입력 비트 스트림의 일부분을 오디오 버퍼(75)에 공급한다.
여기서, 서버(11)로부터 취득 가능한 오디오 요소들의 조합들을 나타내는 정보는, 예를 들어, 입력 비트 스트림의 메타 데이터로서, 입력 비트 스트림 내에 저장된다. 이 상태에서, 그 정보는 단일 파일로서 서버(11)에 기록되어 있다. 또한, 여기에서는, 서버(11)로부터 취득 가능한 오디오 요소들의 조합들을 나타내는 정보는 단일 파일로서 서버(11)에 기록되어 있다.
요구부(142)는 선택부(73)로부터 공급된 복호 대상으로서의 오디오 요소들의 조합의 선택 결과에 기초하여, 송신 요구를 통신부(141)에 공급한다. 송신 요구는, 선택된 조합의 오디오 요소들로 형성된 비트 스트림의 일부분, 즉 각각의 분할된 입력 비트 스트림의 일부분의 송신 요구이다.
<복호 처리(3)의 설명>
이어서, 도 14의 흐름도를 참조하여, 도 13에 도시하는 디코더(23)에 의해 행해지는 복호 처리에 대하여 설명한다.
단계 S71에서, 통신부(141)는 서버(11)로부터 취득 가능한 오디오 요소들의 조합들을 나타내는 정보를 수신하여, 이 정보를 버퍼 사이즈 산출부(72)에 공급한다.
즉, 통신부(141)는 취득 가능한 오디오 요소들의 조합들을 나타내는 정보의 송신 요구를, 스트리밍 제어부(21)를 통해 서버(11)에 송신한다. 또한, 통신부(141)는 그 송신 요구에 따라, 서버(11)로부터 송신된 오디오 요소들의 조합들을 나타내는 정보를, 스트리밍 제어부(21)를 통해 수신하고, 이 정보를 버퍼 사이즈 산출부(72)에 공급한다.
단계 S72에서, 버퍼 사이즈 산출부(72)는 통신부(141)로부터 공급되고 서버(11)로부터 취득 가능한 오디오 요소들의 조합들을 나타내는 정보에 기초하여, 그 정보에 의해 나타나는 오디오 요소들의 각각의 조합마다, 필요 버퍼 사이즈를 산출하고, 이 필요 버퍼 사이즈를 선택부(73)에 공급한다. 단계 S72에서는, 도 10의 단계 S12와 동일한 처리가 행해진다.
단계 S73에서, 선택부(73)는 버퍼 사이즈 산출부(72)로부터 공급된 필요 버퍼 사이즈에 기초하여, 오디오 요소들의 조합을 선택하고, 그 선택 결과를 요구부(142)에 공급한다. 단계 S73에서는, 도 10의 단계 S13과 동일한 처리가 행해진다. 이때, 선택부(73)는, 전송 비트 레이트를 선택할 수 있다.
오디오 요소들의 조합이 선택되면, 요구부(142)는 송신 요구를 통신부(141)에 공급한다. 송신 요구는 선택부(73)로부터 공급된 선택 결과에 의해 나타나는 조합의 오디오 요소들로 형성된 비트 스트림의 송신 요구이다. 예를 들어, 이 송신 요구는 도 2의 화살표(A11) 내지 (A16) 중 어느 하나에 의해 나타나는 비트 스트림의 송신 요구이다.
단계 S74에서, 통신부(141)는 비트 스트림을 송신하도록 요구부(142)로부터 공급되는 송신 요구를, 액세스 처리부(22)를 통해 서버(11)에 송신한다.
그 다음, 요구된 조합의 오디오 요소들로 형성된 비트 스트림은 송신 요구에 따라, 서버(11)로부터 송신된다.
단계 S75에서, 통신부(141)는 액세스 처리부(22)를 통해 서버(11)로부터 비트 스트림을 수신하여, 이 비트 스트림을 오디오 버퍼(75)에 공급한다.
비트 스트림이 수신되면, 그 후, 단계들 S76 및 S77의 처리들 및 복호 처리가 종료한다. 이들 처리는 도 10의 단계들 S15 및 S16의 처리들과 동일하므로, 그 설명은 생략한다.
이상과 같이 하여, 디코더(23)는 오디오 요소들의 조합을 선택하고, 선택된 조합의 비트 스트림을 서버(11)로부터 수신하여, 복호를 행한다. 이에 의해, 하드 규모가 상이한 다양한 기기들에서 입력 비트 스트림을 복호할 수 있고, 입력 비트 스트림의 전송 비트 레이트를 삭감할 수 있다.
<제4 실시예>
<디코더(4)의 구성예>
선택된 조합의 오디오 요소들이 서버(11)부터 취득되는 경우에, 그 조합의 불필요한 오디오 요소들이 전송되지 않게 된다.
그러한 경우, 디코더(23)는 예를 들어, 도 15에 도시된 바와 같이, 구성된다. 또한, 도 15에서, 도 11 또는 도 13에서의 경우와 대응하는 부분들은 동일한 참조 부호들 및 번호들로 표시되고, 그 설명은 적절히 생략한다.
도 15에 도시하는 디코더(23)는 통신부(141), 버퍼 사이즈 산출부(72), 선택부(73), 요구부(142), 시스템 버퍼(111), 오디오 버퍼(75), 복호부(76), 및 출력부(77)를 갖고 있다. 도 15에 도시하는 디코더(23)의 구성에 있어서, 시스템 버퍼(111)는 도 13에 나타낸 디코더(23)의 구성 이외에 추가로 제공된다.
도 15에 도시하는 디코더(23)에서는, 선택부(73)는 오디오 요소들의 조합과, 그 조합을 구성하는 오디오 요소들 중에서 비전송될 불필요한 오디오 요소를 선택하고, 그 선택 결과를 요구부(142)에 공급한다.
여기서, 불필요한 오디오 요소의 선택은, 예를 들어, EXT 요소에 포함되는 우선도 정보에 기초하여 행해지지만, EXT 요소는 임의의 방법으로 취득될 수 있다.
예를 들어, 도 3의 화살표(A21)로 나타낸 바와 같이, EXT 요소가 단독으로 서버(11)에 기록되어 있는 경우, 통신부(141)는 복호 개시 전의 임의의 타이밍에 스트리밍 제어부(21)를 통해 서버(11)로부터 EXT 요소를 취득한다. 그 다음, 통신부(141)는 버퍼 사이즈 산출부(72)를 통해 선택부(73)에 EXT 요소를 공급한다.
또한, 예를 들어, 도 3의 화살표(A22)로 나타낸 바와 같이, EXT 요소가 입력 비트 스트림의 프레임 선두에 배치되어 있는 경우에는, 통신부(141)는 우선은 입력 비트 스트림의 선두 부분에 있는 EXT 요소를 서버(11)로부터 수신하여, 이 EXT 요소를 버퍼 사이즈 산출부(72)에 공급한다. 그 다음, 버퍼 사이즈 산출부(72)는 통신부(141)로부터 수신된 EXT 요소를 선택부(73)에 공급한다.
이하에서는, 다음의 가정하에서 설명을 계속한다: 도 3의 화살표(A21)로 나타낸 바와 같이, EXT 요소가 단독으로 서버(11)에 기록되어 있다.
요구부(142)는, 선택부(73)로부터 공급된 선택 결과에 기초하여, 송신 요구를 통신부(141)에 공급한다. 송신 요구는, 선택된 조합을 구성하고 비전송되는 오디오 요소들로 형성된 비트 스트림의 송신 요구이다.
사이즈 정보는 통신부(141)로부터 시스템 버퍼(111)에 공급된다.
예를 들어, 도 7의 화살표(A31)로 나타낸 바와 같이, 사이즈 정보가 단독으로 서버(11)에 기록되어 있는 경우, 통신부(141)는 복호 개시 전의 임의의 타이밍에 스트리밍 제어부(21)를 통해 서버(11)로부터 사이즈 정보를 취득하고, 이 정보를 시스템 버퍼(111)에 공급한다.
또한, 예를 들어, 도 7의 화살표(A32) 또는 화살표(A33)로 나타낸 바와 같이, 사이즈 정보가 프레임들의 선두에 배치되거나 오디오 요소들의 선두에 배치되어 있는 경우, 통신부(141)는 서버(11)로부터 수신한 입력 비트 스트림, 보다 상세하게는, 각각의 분할된 입력 비트 스트림의 일부분을 시스템 버퍼(111)에 공급한다.
또한, 도 7의 화살표(A33)로 나타낸 바와 같이, 사이즈 정보가 오디오 요소들의 선두에 배치되어 있는 경우에는, 선택부(73)에 의해 선택된 조합의, 비전송되도록 설정된 오디오 요소들의 비트 스트림은 사이즈 정보만을 포함한다.
시스템 버퍼(111)는 사이즈 정보에 기초하여, 상술한 전송 비트 레이트 조정 처리 RMT(1) 또는 RMT(2)를 통해 버퍼 제어를 행하고, 통신부(141)로부터 공급된 오디오 요소들을 오디오 버퍼(75)에 공급한다. 이하에서는, 전송 비트 레이트 조정 처리 RMT(1)가 행해지는 것으로 가정하고, 그 설명을 계속한다는 점에 유의해야 한다.
<복호 처리(4)의 설명>
다음에, 도 16의 흐름도를 참조하여, 도 15에 도시한 디코더(23)에 의해 행해지는 복호 처리에 대하여 설명한다.
단계 S101에서, 통신부(141)는 서버(11)로부터 취득 가능한 오디오 요소들의 조합들을 나타내는 정보 및 EXT 요소를 수신하여, 이 EXT 요소 및 정보를 버퍼 사이즈 산출부(72)에 공급한다.
즉, 통신부(141)는 취득 가능한 오디오 요소들의 조합들을 나타내는 정보 및 EXT 요소의 송신 요구를, 스트리밍 제어부(21)를 통해 서버(11)에 송신한다. 또한, 통신부(141)는 그 송신 요구에 따라, 서버(11)로부터 송신된 오디오 요소들의 조합들을 나타내는 정보 및 EXT 요소를, 스트리밍 제어부(21)를 통해 수신하고, 이 EXT 요소 및 정보를 버퍼 사이즈 산출부(72)에 공급한다. 또한, 버퍼 사이즈 산출부(72)는 통신부(141)로부터 수신되는 EXT 요소를 선택부(73)에 공급한다.
오디오 요소들의 조합들을 나타내는 정보가 취득되면, 단계들 S102 및 S103의 처리들을 통해 전송될 필요가 있는 오디오 요소들이 선택된다. 그러나, 이 처리들은 도 12의 단계들 S42 및 S43의 처리들과 동일하므로, 그 설명은 생략한다.
여기서, 단계 S102에서는, 오디오 요소들의 조합들을 나타내는 정보에 기초하여 필요 버퍼 사이즈들이 산출된다. 단계 S103에서는, 선택부(73)에 의해 얻어진 선택 결과는 요구부(142)에 공급된다.
또한, 요구부(142)는 선택부(73)로부터 공급된 선택 결과에 기초하여, 송신 요구를 통신부(141)에 공급한다. 송신 요구는, 선택된 조합을 구성하고 비전송되는 오디오 요소들로 형성된 비트 스트림의 송신 요구이다. 바꾸어 말하면, 선택된 조합의 오디오 요소들이 송신되게 요구되고, 그 조합 내의 복호 대상이 되지 않도록 선택된 불필요한 오디오 요소가 비전송되게 요구된다.
단계 S104에서, 통신부(141)는 송신 요구를 액세스 처리부(22)를 통해 서버(11)에 송신한다. 송신 요구는 요구부(142)로부터 공급되고, 선택된 조합을 구성하고 비전송되는 오디오 요소들로 형성된 비트 스트림의 송신 요구이다.
그 다음, 비트 스트림을 송신하라는 송신 요구에 따라, 비트 스트림은 서버(11)로부터 전송된다. 비트 스트림은 요구된 조합을 구성하고 비전송되게 설정되는 오디오 요소들로 형성된다.
단계 S105에서, 통신부(141)는 액세스 처리부(22)를 통해, 서버(11)로부터 비트 스트림을 수신하여, 비트 스트림을 시스템 버퍼(111)에 공급한다.
비트 스트림이 수신되면, 그 후, 단계들 S106 내지 S108의 처리들 및 복호 처리는 종료한다. 이들 처리는 도 12의 단계들 S45 내지 S47의 처리들과 동일하므로, 그 설명은 생략한다.
이상과 같이 하여, 디코더(23)는 오디오 요소들의 조합을 선택하고, 우선도 정보에 기초하여, 복호 대상이 아닌 불필요한 오디오 요소를 선택한다. 이에 의해, 하드 규모가 상이한 다양한 기기들에서 입력 비트 스트림을 복호할 수 있고, 입력 비트 스트림의 전송 비트 레이트를 삭감할 수 있다. 또한, 버퍼 제어를 행함으로써, 최소 디코더 입력 버퍼 사이즈에서의 복호가 행해질 수 있다.
그러나, 상술한 일련의 처리는 하드웨어에 의해 실행될 수도 있고, 소프트웨어에 의해 실행될 수도 있다. 일련의 처리를 소프트웨어에 의해 실행하는 경우에는, 그 소프트웨어를 구성하는 프로그램들은, 컴퓨터에 인스톨된다. 여기서, 컴퓨터는, 전용 하드웨어가 내장되어 있는 컴퓨터, 및 예를 들어 각종 프로그램을 인스톨함으로써 각종 기능들을 실행할 수 있는 범용의 퍼스널 컴퓨터 등을 포함한다.
도 17은 상술한 일련의 처리를 프로그램을 통해 실행하는 컴퓨터의 하드웨어의 예시적인 구성을 도시하는 블록도이다.
컴퓨터에 있어서, CPU(central process unit)(501), ROM(read only memory)(502), 및 RAM(random a㏄ess memory)(503)은, 버스(504)를 통해 서로 접속되어 있다.
버스(504)는 또한, 입/출력 인터페이스(505)에 접속되어 있다. 입/출력 인터페이스(505)는 입력부(506), 출력부(507), 저장부(508), 통신부(509), 및 드라이브(510)에 접속되어 있다.
입력부(506)는 키보드, 마우스, 마이크로폰, 촬상 소자 등으로 형성된다. 출력부(507)는 디스플레이, 스피커 등으로 형성된다. 저장부(508)는 하드 디스크, 불휘발성 메모리 등으로 형성된다. 통신부(509)는 네트워크 인터페이스 등으로 형성된다. 드라이브(510)는 자기 디스크, 광 디스크, 광자기 디스크, 또는 반도체 메모리 등의 리무버블 미디어(511)를 구동한다.
이상과 같이 구성되는 컴퓨터에서는, 예를 들어, CPU(501)는, 저장부(508)에 저장되어 있는 프로그램을, 입/출력 인터페이스(505) 및 버스(504)를 통해, RAM(503)에 로드하여 실행함으로써, 상술한 일련의 처리를 행한다.
컴퓨터(CPU(501))가 실행하는 프로그램은, 패키지 미디어 등의 리무버블 미디어(511)에 프로그램이 저장되는 상태에서 제공될 수 있다. 또한, 프로그램은, 근거리 네트워크, 인터넷, 또는 디지털 위성 방송과 같은, 유선 또는 무선의 전송 매체를 통해 제공될 수 있다.
컴퓨터에서는, 프로그램은 리무버블 미디어(511)를 드라이브(510)에 장착함으로써, 입/출력 인터페이스(505)를 통해, 기록부(508)에 인스톨될 수 있다. 또한, 프로그램은, 유선 또는 무선의 전송 매체를 통해, 통신부(509)가 프로그램을 수신하게 함으로써, 저장부(508)에 인스톨될 수 있다. 그 외, 프로그램은, ROM(502) 또는 저장부(508)에, 사전에 인스톨될 수 있다.
또한, 컴퓨터가 실행하는 프로그램은, 본 명세서의 설명 순서를 따라 시간순으로 처리를 행하는 프로그램일 수 있고, 병렬로, 또는 호출 타이밍 등의 필요한 타이밍에서 처리를 행하는 프로그램일 수 있다.
본 기술의 실시예들은 상술한 실시예로 한정되는 것은 아니며, 본 기술의 기술적 범위를 일탈하지 않는 범위에서 다양한 형태들로 변경될 수 있다.
예를 들어, 본 기술에서는, 단일 기능을 네트워크를 통해 복수의 장치들에 의해 분담되어 공동으로 처리되는 클라우드 컴퓨팅 구성을 채택할 수 있다.
또한, 상술한 흐름도에서 설명한 단계들은, 단일 장치에 의해 실행되는 것 외에, 복수의 장치들에 의해 분담되어 실행될 수 있다.
또한, 단일 단계에 복수의 처리들이 포함되는 경우에는, 그 단일 단계에 포함되는 복수의 처리들이 단일 장치에서 실행되는 것 외에, 복수의 장치들에 의해 분담되어 실행될 수도 있다.
일부 실시예들은, 하나 이상의 컴퓨터들 또는 다른 프로세서들 상에 실행될 때, 위에서 논의된 다양한 실시예들을 구현하는 방법들을 수행하는, 하나 이상의 프로그램들(예를 들어, 복수의 프로세서-실행 가능 명령들)로 부호화된 비-일시적 컴퓨터 판독 가능 저장 매체(또는 다수의 비-일시적 컴퓨터 판독 가능 매체)(예를 들어, 컴퓨터 메모리, 하나 이상의 플로피 디스크들, 콤팩트 디스크들(CD), 광 디스크들, 디지털 비디오 디스크들(DVD), 자기 테이프들, 플래시 메모리들, 필드 프로그래머블 게이트 어레이들에서의 회로 구성들 또는 다른 반도체 장치들, 또는 다른 유형의 컴퓨터 저장 매체)를 포함할 수 있다. 전술한 예들로부터 명백한 바와 같이, 비-일시적 컴퓨터 판독 가능 저장 매체는 컴퓨터 실행 가능 명령들을 비 일시적 형태로 제공하기에 충분한 시간 동안 정보를 보유할 수 있다.
본 기술은 이하의 구성들을 가질 수 있다.
<1>
각각이 오디오 요소들의 각각의 조합마다 결정되고 각각이 상기 조합의 상기 오디오 요소들의 복호에 필요한 버퍼 사이즈들에 기초하여, 상기 오디오 요소들의 하나의 상기 조합을 선택하는 선택부; 및
상기 선택된 조합의 상기 오디오 요소들을 복호하여 오디오 신호를 생성하는 생성부를 포함하는 복호 장치.
<2>
상기 선택부가 동일한 콘텐츠에 대하여 사전에 준비되는 복수의 상기 조합들로부터 하나의 조합을 선택하는, <1>에 따른 복호 장치.
<3>
상기 복수의 조합마다 준비되고 각각의 조합의 상기 오디오 요소들로 구성되는 비트 스트림들 중, 상기 선택부에 의해 선택된 상기 조합의 비트 스트림을 수신하는 통신부를 추가로 포함하는, <2> 또는 임의의 다른 선행 구성에 따른 복호 장치.
<4>
상기 선택부가 비트 스트림을 구성하는 복수의 상기 오디오 요소들 중 일부의 오디오 요소들을, 하나의 조합으로서 선택하는, <1> 또는 <2> 또는 임의의 다른 선행 구성에 따른 복호 장치.
<5>
상기 선택부가 상기 비트 스트림의 메타 데이터에 기초하여 하나의 조합을 선택하는, <4> 또는 임의의 다른 선행 구성에 따른 복호 장치.
<6>
상기 선택부가 상기 메타 데이터로서 사전에 결정된 복수의 상기 조합들을 나타내는 정보, 및 상기 오디오 요소들의 우선도 정보 중 적어도 어느 하나에 기초하여, 하나의 조합을 선택하는, <5> 또는 임의의 다른 선행 구성에 따른 복호 장치.
<7>
상기 비트 스트림으로부터, 상기 선택부에 의해 선택되는 상기 조합의 상기 오디오 요소들을 추출하는 추출부를 추가로 포함하는, <4> 내지 <6> 중 어느 하나 또는 임의의 다른 선행 구성에 따른 복호 장치.
<8>
상기 선택부에 의해 선택된 상기 조합의 상기 오디오 요소들을 수신하는 통신부를 추가로 포함하는, <4> 내지 <6> 중 어느 하나 또는 임의의 다른 선행 구성에 따른 복호 장치.
<9>
복호 대상들로서 선택되지 않은 상기 오디오 요소들의 사이즈들에 기초하여, 상기 생성부에 의해 복호되는 상기 오디오 요소들의 버퍼에의 저장을 제어하는 버퍼 제어부를 추가로 포함하는, <5> 또는 임의의 다른 선행 구성에 따른 복호 장치.
<10>
상기 선택부가, 상기 선택된 상기 조합을 구성하는 상기 오디오 요소들로부터, 복호 대상들로서 선택되지 않은 상기 오디오 요소를 추가로 선택하고,
상기 버퍼 제어부가, 상기 선택부에 의해 선택되고 상기 복호 대상들이 아닌 상기 오디오 요소들의 사이즈들에 기초하여, 상기 선택부에 의해 선택된 상기 조합을 구성하고 복호 대상들이 아닌 상기 오디오 요소들 이외의 상기 오디오 요소들의 상기 버퍼에의 저장을 제어하는, <9> 또는 임의의 다른 선행 구성에 따른 복호 장치.
<11>
상기 선택부가 상기 오디오 요소들의 상기 우선도 정보에 기초하여, 복호 대상들이 아닌 상기 오디오 요소들을 선택하는, <10> 또는 임의의 다른 선행 구성에 따른 복호 장치.
<12>
각각이 오디오 요소들의 각각의 조합마다 결정되고 각각이 상기 조합의 상기 오디오 요소들의 복호에 필요한 버퍼 사이즈들에 기초하여, 상기 오디오 요소들의 하나의 상기 조합을 선택하는 단계;
상기 선택된 조합의 상기 오디오 요소들을 복호하여 오디오 신호를 생성하는 단계를 포함하는, 복호 방법.
<13>
각각이 오디오 요소들의 각각의 조합마다 결정되고 각각이 상기 조합의 상기 오디오 요소들의 복호에 필요한 버퍼 사이즈들에 기초하여, 상기 오디오 요소들의 하나의 조합을 선택하는 단계; 및
상기 선택된 조합의 상기 오디오 요소들을 복호하여 오디오 신호를 생성하는 단계를 포함하는 처리들을 컴퓨터에 실행시키는, 프로그램.
<14>
적어도 하나의 버퍼; 및
상기 적어도 하나의 버퍼의 사이즈에 적어도 부분적으로 기초하여, 입력 비트 스트림 내의 다수의 오디오 요소들 중에서 적어도 하나의 오디오 요소를 선택하고; 상기 적어도 하나의 오디오 요소를 복호하여 오디오 신호를 생성하도록 구성된 적어도 하나의 프로세서를 포함하는, 복호 장치.
<15>
상기 적어도 하나의 오디오 요소는 오디오 요소들의 세트를 포함하고,
상기 적어도 하나의 프로세서는 복수의 미리 결정된 오디오 요소들의 세트들로부터 상기 오디오 요소들의 세트를 선택하도록 구성되는, <14>에 따른 복호 장치.
<16>
상기 오디오 요소들의 세트 내의 오디오 요소들에 대응하는 상기 입력 비트 스트림 내의 데이터를 수신하도록 구성된 통신부를 추가로 포함하는, <15> 또는 임의의 다른 선행 구성에 따른 복호 장치.
<17>
상기 적어도 하나의 프로세서는 상기 입력 비트 스트림 내의 상기 다수의 오디오 요소들 중에서 복수의 오디오 요소들을 선택하도록 구성되는, <14> 또는 임의의 다른 선행 구성에 따른 복호 장치.
<18>
상기 적어도 하나의 프로세서는 상기 입력 비트 스트림의 메타 데이터에 추가로 기초하여 상기 복수의 오디오 요소들을 선택하도록 구성되는, <17> 또는 임의의 다른 선행 구성에 따른 복호 장치.
<19>
상기 적어도 하나의 프로세서는 복수의 미리 결정된 오디오 요소들의 세트들을 식별하는 정보 및 상기 오디오 요소들의 우선도 정보 중 적어도 하나에 기초하여, 상기 복수의 오디오 요소들을 선택하도록 구성되는, <18> 또는 임의의 다른 선행 구성에 따른 복호 장치.
<20>
상기 적어도 하나의 프로세서는 상기 입력 비트 스트림으로부터 상기 복수의 오디오 요소들을 추출하도록 추가로 구성되는, <17> 또는 임의의 다른 선행 구성에 따른 복호 장치.
<21>
상기 복수의 오디오 요소들 내의 오디오 요소들에 대응하는 상기 입력 비트 스트림 내의 데이터를 수신하도록 구성된 통신부를 추가로 포함하는, <17> 또는 임의의 다른 선행 구성에 따른 복호 장치.
<22>
상기 복수의 오디오 요소들 중 복호되지 않은 오디오 요소들의 사이즈들에 기초하여, 상기 복수의 오디오 요소들 중 적어도 하나를 복호하여 획득한 적어도 하나의 복호된 오디오 요소의 상기 적어도 하나의 버퍼에의 저장을 제어하도록 구성된 버퍼 제어기를 추가로 포함하는, <18> 또는 임의의 다른 선행 구성에 따른 복호 장치.
<23>
상기 적어도 하나의 프로세서는 상기 복수의 오디오 요소들 중 상기 복호되지 않은 오디오 요소들을 선택하도록 구성되는, <22> 또는 임의의 다른 선행 구성에 따른 복호 장치.
<24>
상기 적어도 하나의 프로세서는 상기 오디오 요소들의 우선도 정보에 기초하여 상기 복수의 오디오 요소들 중 상기 복호되지 않은 오디오 요소들을 선택하도록 구성된 상기 <23> 또는 임의의 다른 선행 구성에 따른 복호 장치.
<25>
상기 적어도 하나의 프로세서는 상기 적어도 하나의 오디오 요소를 복호하기에 충분한 버퍼 사이즈를 결정하고 상기 버퍼 사이즈를 상기 적어도 하나의 버퍼의 사이즈와 비교하여 상기 적어도 하나의 오디오 요소를 선택하도록 구성되는, <14> 또는 임의의 다른 선행 구성에 따른 복호 장치.
<26>
복호 장치의 적어도 하나의 버퍼의 사이즈에 적어도 부분적으로 기초하여, 입력 비트 스트림 내의 다수의 오디오 요소들 중에서 적어도 하나의 오디오 요소를 선택하는 단계; 및 상기 적어도 하나의 오디오 요소를 복호하여 오디오 신호를 생성하는 단계를 포함하는, 복호 방법.
<27>
적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서로 하여금 복호 방법을 수행하게 하는 프로세서-실행 가능 명령어들을 저장하는 적어도 하나의 비-일시적 컴퓨터-판독 가능 저장 매체로서, 상기 복호 방법이,
복호 장치의 적어도 하나의 버퍼의 사이즈에 적어도 부분적으로 기초하여, 입력 비트 스트림 내의 다수의 오디오 요소들 중에서 적어도 하나의 오디오 요소를 선택하는 단계; 및
상기 적어도 하나의 오디오 요소를 복호하여 오디오 신호를 생성하는 단계를 포함하는, 비-일시적 컴퓨터-판독 가능 저장 매체.
본 분야의 숙련자는 첨부된 청구 범위 또는 그 균등물의 범위 내에 있는 한, 설계 요건 및 다른 요인에 따라 다양한 변형, 조합, 서브-조합 및 변경이 발생할 수 있음을 이해해야 한다.
23 디코더
71 취득부
72 버퍼 사이즈 산출부
73 선택부
74 추출부
75 오디오 버퍼
76 복호부
111 시스템 버퍼
141 통신부
142 요구부

Claims (14)

  1. 복호 장치로서,
    적어도 하나의 버퍼; 및
    상기 적어도 하나의 버퍼의 사이즈에 적어도 부분적으로 기초하여, 입력 비트 스트림 내의 다수의 오디오 요소들 중에서 적어도 하나의 오디오 요소를 선택하고; 상기 적어도 하나의 오디오 요소를 복호하여 오디오 신호를 생성하도록 구성된 적어도 하나의 프로세서를 포함하는, 복호 장치.
  2. 제1항에 있어서,
    상기 적어도 하나의 오디오 요소는 오디오 요소들의 세트를 포함하고,
    상기 적어도 하나의 프로세서는 복수의 미리 결정된 오디오 요소들의 세트들로부터 상기 오디오 요소들의 세트를 선택하도록 구성되는, 복호 장치.
  3. 제2항에 있어서, 상기 오디오 요소들의 세트 내의 오디오 요소들에 대응하는 상기 입력 비트 스트림 내의 데이터를 수신하도록 구성된 통신부를 추가로 포함하는, 복호 장치.
  4. 제1항에 있어서, 상기 적어도 하나의 프로세서는 상기 입력 비트 스트림 내의 상기 다수의 오디오 요소들 중에서 복수의 오디오 요소들을 선택하도록 구성되는, 복호 장치.
  5. 제4항에 있어서, 상기 적어도 하나의 프로세서는 상기 입력 비트 스트림의 메타 데이터에 추가로 기초하여 상기 복수의 오디오 요소들을 선택하도록 구성되는, 복호 장치.
  6. 제5항에 있어서, 상기 적어도 하나의 프로세서는 복수의 미리 결정된 오디오 요소들의 세트들을 식별하는 정보 및 상기 오디오 요소들의 우선도 정보 중 적어도 하나에 기초하여, 상기 복수의 오디오 요소들을 선택하도록 구성되는, 복호 장치.
  7. 제4항에 있어서, 상기 적어도 하나의 프로세서는 상기 입력 비트 스트림으로부터 상기 복수의 오디오 요소들을 추출하도록 추가로 구성되는, 복호 장치.
  8. 제4항에 있어서, 상기 복수의 오디오 요소들 내의 오디오 요소들에 대응하는 상기 입력 비트 스트림 내의 데이터를 수신하도록 구성된 통신부를 추가로 포함하는, 복호 장치.
  9. 제5항에 있어서, 상기 복수의 오디오 요소들 중 복호되지 않은 오디오 요소들의 사이즈들에 기초하여, 상기 복수의 오디오 요소들 중 적어도 하나를 복호하여 획득한 적어도 하나의 복호된 오디오 요소의 상기 적어도 하나의 버퍼에의 저장을 제어하도록 구성된 버퍼 제어기를 추가로 포함하는, 복호 장치.
  10. 제9항에 있어서, 상기 적어도 하나의 프로세서는 상기 복수의 오디오 요소들 중 상기 복호되지 않은 오디오 요소들을 선택하도록 구성되는, 복호 장치.
  11. 제10항에 있어서, 상기 적어도 하나의 프로세서는 상기 오디오 요소들의 우선도 정보에 기초하여, 상기 복수의 오디오 요소들 중 상기 복호되지 않은 오디오 요소들을 선택하도록 구성되는, 복호 장치.
  12. 제1항에 있어서, 상기 적어도 하나의 프로세서는 상기 적어도 하나의 오디오 요소를 복호하기에 충분한 버퍼 사이즈를 결정하고 상기 버퍼 사이즈를 상기 적어도 하나의 버퍼의 사이즈와 비교하여 상기 적어도 하나의 오디오 요소를 선택하도록 구성되는, 복호 장치.
  13. 복호 방법으로서,
    복호 장치의 적어도 하나의 버퍼의 사이즈에 적어도 부분적으로 기초하여, 입력 비트 스트림 내의 다수의 오디오 요소들 중에서 적어도 하나의 오디오 요소를 선택하는 단계; 및
    상기 적어도 하나의 오디오 요소를 복호하여 오디오 신호를 생성하는 단계를 포함하는, 복호 방법.
  14. 적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서로 하여금 복호 방법을 수행하게 하는 프로세서-실행 가능 명령어들을 저장하는 적어도 하나의 비-일시적 컴퓨터-판독 가능 저장 매체로서, 상기 복호 방법이,
    복호 장치의 적어도 하나의 버퍼의 사이즈에 적어도 부분적으로 기초하여, 입력 비트 스트림 내의 다수의 오디오 요소들 중에서 적어도 하나의 오디오 요소를 선택하는 단계; 및
    상기 적어도 하나의 오디오 요소를 복호하여 오디오 신호를 생성하는 단계를 포함하는, 적어도 하나의 비-일시적 컴퓨터-판독 가능 저장 매체.
KR1020167034152A 2014-06-26 2015-06-16 복호 장치 및 방법, 및 프로그램 KR20170021777A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2014-130898 2014-06-26
JP2014130898A JP6432180B2 (ja) 2014-06-26 2014-06-26 復号装置および方法、並びにプログラム
PCT/JP2015/002992 WO2015198556A1 (en) 2014-06-26 2015-06-16 Decoding device, decoding method, and program

Publications (1)

Publication Number Publication Date
KR20170021777A true KR20170021777A (ko) 2017-02-28

Family

ID=53510958

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167034152A KR20170021777A (ko) 2014-06-26 2015-06-16 복호 장치 및 방법, 및 프로그램

Country Status (7)

Country Link
US (1) US10573325B2 (ko)
EP (1) EP3161824A1 (ko)
JP (1) JP6432180B2 (ko)
KR (1) KR20170021777A (ko)
CN (1) CN106463139B (ko)
TW (1) TWI652670B (ko)
WO (1) WO2015198556A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2019132898A (ru) * 2017-04-26 2021-04-19 Сони Корпорейшн Способ и устройство для обработки сигнала и программа
US20200321015A1 (en) * 2017-12-28 2020-10-08 Sony Corporation Information processing device, information processing method, and program
CN111081226B (zh) * 2018-10-18 2024-02-13 北京搜狗科技发展有限公司 语音识别解码优化方法及装置
CN109814406B (zh) * 2019-01-24 2021-12-24 成都戴瑞斯智控科技有限公司 一种轨道模型电控仿真系统的数据处理方法及解码器架构
CN112118481B (zh) * 2020-09-18 2021-11-23 珠海格力电器股份有限公司 一种音频片段生成方法、装置、播放器及存储介质

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5956674A (en) * 1995-12-01 1999-09-21 Digital Theater Systems, Inc. Multi-channel predictive subband audio coder using psychoacoustic adaptive bit allocation in frequency, time and over the multiple channels
US6904404B1 (en) * 1996-07-01 2005-06-07 Matsushita Electric Industrial Co., Ltd. Multistage inverse quantization having the plurality of frequency bands
JP2001134294A (ja) * 1999-11-10 2001-05-18 Toshiba Corp オーディオ信号のビットストリームの処理方法及び処理装置
JP2002156998A (ja) * 2000-11-16 2002-05-31 Toshiba Corp オーディオ信号のビットストリーム処理方法、この処理方法を記録した記録媒体、及び処理装置
US6885992B2 (en) * 2001-01-26 2005-04-26 Cirrus Logic, Inc. Efficient PCM buffer
KR100390841B1 (ko) * 2001-03-27 2003-07-10 주식회사 하이닉스반도체 피아이디 검출을 고속화하기 위한 피아이디 저장 및 비교장치 및 방법
JP3926730B2 (ja) * 2002-11-11 2007-06-06 日本電信電話株式会社 符号送受信システム
JP2005031289A (ja) * 2003-07-10 2005-02-03 Canon Inc 音声情報処理装置、プロセッサ負荷軽減方法、プログラム、及び記憶媒体
US7596488B2 (en) * 2003-09-15 2009-09-29 Microsoft Corporation System and method for real-time jitter control and packet-loss concealment in an audio signal
US20050096918A1 (en) * 2003-10-31 2005-05-05 Arun Rao Reduction of memory requirements by overlaying buffers
EP1713276B1 (en) * 2004-02-06 2012-10-24 Sony Corporation Information processing device, information processing method, program, and data structure
US7929600B2 (en) * 2004-07-02 2011-04-19 Nippon Telegraph And Telephone Corporation Multi-channel signal encoding method, decoding method, device thereof, program, and recording medium thereof
US8264960B2 (en) * 2005-05-31 2012-09-11 Broadcom Corporation Method and system for sharing AV/record resources in a programmable transport demultiplexer and PVR engine
US7810017B2 (en) * 2006-03-20 2010-10-05 Micron Technology, Inc. Variable sector-count ECC
CN101059958B (zh) * 2007-03-15 2010-12-15 上海交通大学 利用缓存来加快量化数据取得的编码和解码方法
EP2186089B1 (en) * 2007-08-27 2018-10-03 Telefonaktiebolaget LM Ericsson (publ) Method and device for perceptual spectral decoding of an audio signal including filling of spectral holes
JP4477056B2 (ja) * 2007-12-05 2010-06-09 株式会社東芝 受信装置および受信方法
WO2009095839A1 (en) * 2008-01-28 2009-08-06 Nxp B.V. Device and method for decoding digital tv broadcast
CN101442586B (zh) * 2008-12-31 2012-06-27 中兴通讯股份有限公司 一种多媒体播放方法及播放终端
JP5358270B2 (ja) * 2009-04-28 2013-12-04 パナソニック株式会社 デジタル信号再生装置及びデジタル信号圧縮装置
KR20120062758A (ko) * 2009-08-14 2012-06-14 에스알에스 랩스, 인크. 오디오 객체들을 적응적으로 스트리밍하기 위한 시스템
CN102184739B (zh) * 2011-03-08 2012-11-07 深圳英飞拓科技股份有限公司 一种录像播放装置及方法
WO2012122397A1 (en) * 2011-03-09 2012-09-13 Srs Labs, Inc. System for dynamically creating and rendering audio objects
TWI517142B (zh) * 2012-07-02 2016-01-11 Sony Corp Audio decoding apparatus and method, audio coding apparatus and method, and program

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
INTERNATIONAL STANDARD ISO/IEC 14496-3 Fourth edition 2009-09-01 Information technology-coding of audio-visual objects-part3: Audio
INTERNATIONAL STANDARD ISO/IEC 23003-3 First edition 2012-04-01 Information technology-coding of audio-visual objects-part3: Unified speech and audio coding
ISO/IEC JTC1/SC29/WG11 N14459, April 2014, Valencia, Spain, "Text of ISO/IEC 23008-3/CD, 3D audio"

Also Published As

Publication number Publication date
JP2016010090A (ja) 2016-01-18
CN106463139A (zh) 2017-02-22
US20170140763A1 (en) 2017-05-18
TWI652670B (zh) 2019-03-01
TW201610987A (zh) 2016-03-16
US10573325B2 (en) 2020-02-25
JP6432180B2 (ja) 2018-12-05
CN106463139B (zh) 2021-03-12
EP3161824A1 (en) 2017-05-03
WO2015198556A1 (en) 2015-12-30

Similar Documents

Publication Publication Date Title
US20210326378A1 (en) Information processing apparatus and information processing method
EP3111677B1 (en) Object-based audio loudness management
KR20170021777A (ko) 복호 장치 및 방법, 및 프로그램
US9826257B2 (en) Caption and speech alignment for a video delivery system
US9930402B2 (en) Automated audio adjustment
US20170127152A1 (en) Information processing device and information processing method
US11743535B2 (en) Video fragment file processing
US11595056B2 (en) Encoding device and method, decoding device and method, and program
EP4136753B1 (en) Automated mixing of audio description
EP4158623B1 (en) Improved main-associated audio experience with efficient ducking gain application
WO2017022461A1 (ja) 受信装置、送信装置、及び、データ処理方法
Lee et al. Adaptive Streaming Scheme for Improving Quality of Virtualization Service

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application