KR20150142596A - 동기 오디오 재생 방법, 장치 및 시스템 - Google Patents

동기 오디오 재생 방법, 장치 및 시스템 Download PDF

Info

Publication number
KR20150142596A
KR20150142596A KR1020150073742A KR20150073742A KR20150142596A KR 20150142596 A KR20150142596 A KR 20150142596A KR 1020150073742 A KR1020150073742 A KR 1020150073742A KR 20150073742 A KR20150073742 A KR 20150073742A KR 20150142596 A KR20150142596 A KR 20150142596A
Authority
KR
South Korea
Prior art keywords
data
offset
audio file
reproduced
adjusted
Prior art date
Application number
KR1020150073742A
Other languages
English (en)
Other versions
KR101658316B1 (ko
Inventor
젱종 두
시앙준 왕
칭 장
Original Assignee
후아웨이 테크놀러지 컴퍼니 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 후아웨이 테크놀러지 컴퍼니 리미티드 filed Critical 후아웨이 테크놀러지 컴퍼니 리미티드
Publication of KR20150142596A publication Critical patent/KR20150142596A/ko
Application granted granted Critical
Publication of KR101658316B1 publication Critical patent/KR101658316B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10009Improvement or modification of read or write signals
    • G11B20/10222Improvement or modification of read or write signals clock-related aspects, e.g. phase or frequency adjustment or bit synchronisation
    • G11B20/10231Improvement or modification of read or write signals clock-related aspects, e.g. phase or frequency adjustment or bit synchronisation wherein an asynchronous, free-running clock is used; Interpolation of sampled signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10009Improvement or modification of read or write signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M19/00Current supply arrangements for telephone systems
    • H04M19/08Current supply arrangements for telephone systems with current supply sources at the substations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43076Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of the same content streams on multiple devices, e.g. when family members are watching the same movie on different devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R3/00Circuits for transducers, loudspeakers or microphones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8106Monomedia components thereof involving special audio data, e.g. different tracks for different languages
    • H04N21/8113Monomedia components thereof involving special audio data, e.g. different tracks for different languages comprising music, e.g. song in MP3 format

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

본 발명의 실시예는 동기 오디오 재생 방법, 장치 및 시스템을 개시하고 있다. 이 방법은 오디오 파일이 재생될 때 발생되는 제1 재생 지연을 계산하는 단계; 제어 디바이스가 오디오 파일을 재생할 때 발생되는 제2 재생 지연을 획득하는 단계; 지연 오프셋을 계산하는 단계; 지연 오프셋이 0이 아닐 때, 지연 오프셋의 절대값에 대응하는 데이터 조절량을 계산하는 단계; 지연 오프셋의 값에 따라 오디오 파일의 현재 재생될 부분에 조절될 데이터를 부가하거나 그로부터 조절될 데이터를 삭제하여, 현재 재생될 부분에 대응하는 대체 부분을 얻는 단계 - 조절될 데이터의 데이터 양이 데이터 조절량임 -; 및 대체 부분을 재생하는 단계를 포함한다. 본 발명의 기술적 해결책에 의해, 현재 재생될 부분의 재생 지속기간이 데이터를 부가하거나 삭제하는 방식으로 조절될 수 있고, 따라서 제어 디바이스 및 피제어 디바이스가 재생될 클립을 재생할 때 아주 간단한 구현 프로세스로 동시에 사운드를 발생시킨다.

Description

동기 오디오 재생 방법, 장치 및 시스템{SYNCHRONOUS AUDIO PLAYBACK METHOD, APPARATUS AND SYSTEM}
본 발명은 멀티미디어 분야에 관한 것으로서, 상세하게는, 동기 오디오 재생 방법, 장치 및 시스템에 관한 것이다.
멀티미디어 기술의 발전에 따라, 점점 증가하는 수의 응용 시나리오에서, 단일의 디바이스에 의해 구현되기 어려운 기능 및 효과를 구현하기 위해, 다수의 디바이스로부터 재생되는 사운드의 동기화를 구현하는, 동기 오디오 재생을 위한 동기 재생 시스템을 구성하는 데 다수의 디바이스가 사용될 필요가 있다. 예를 들어, 다수의 휴대폰으로 구성되는 동기 재생 시스템에 의해 수행되는 동기 오디오 재생은 다채널 서라운드 사운드 및 휴대폰 스피커 어레이와 같은, 단일의 휴대폰에 의해 구현될 수 없는 효과를 구현할 수 있다.
종래 기술에서, 동기 재생 시스템에 의해 일반적으로 사용되는 오디오 재생 방식은 오디오 파일을 동시에 재생하도록 동기 재생 시스템 내의 디바이스들을 제어하는 것이다. 종래 기술은 다음과 같은 특성이 있다: 오디오 파일이 동기 재생 시스템에서 재생될 때, 오디오 파일이 일반적으로 몇개의 오디오 클립으로 분할된 다음에, 오디오 클립이 하나씩 재생된다. 그렇지만, 각각의 오디오 클립의 재생은 디코딩, 오디오 믹싱, DSP, 및 출력과 같은 처리 절차를 필요로 하고, 따라서, 오디오 클립의 재생의 시작과 사운드의 실제의 발생 사이에 시간차가 있고, 이 시간차가 재생 지연이다. 재생 지연의 값은 디바이스의 하드웨어 구성 및 소프트웨어 환경에 의해 결정되고, 다양한 디바이스의 하드웨어 구성 또는 소프트웨어 환경이 상이할 때, 재생 지연의 값도 상이하다.
다양한 디바이스의 재생 지연이 상이하기 때문에, 다양한 디바이스가 동일한 오디오 클립을 동시에 재생하기 시작할 때, 사운드가 실제로는 다양한 디바이스에 의해 상이한 시점에서 발생된다. 다양한 디바이스 간에 하드웨어 구성 또는 소프트웨어 환경이 크게 다를 때, 사운드의 실제 발생에서의 시간 편차(time deviation)도 크게 된다. 예를 들어, Huawei Mate1 휴대폰과 Huawei Honor 휴대폰이 동일한 오디오 클립을 동시에 디코딩하기 시작하는 경우에, 사운드의 실제 발생에서의 시간차는 130 ms 내지 168 ms일 수 있다. 게다가, 다양한 디바이스 간의 시간 편차는 각각의 오디오 클립이 재생될 때 발생되고, 재생되는 오디오 클립의 수가 증가함에 따라, 다양한 디바이스 간의 사운드의 실제 발생에서의 시간 편차가 점차적으로 누적된다. 그 결과, 사운드의 실제 발생에서의 다양한 디바이스 간의 시간 불일치의 문제가 점점 심각하게 되고, 동기 오디오 재생을 구현하는 것을 어렵게 만든다.
본 발명의 실시예는, 다양한 디바이스의 재생 지연이 상이할 때 동기 오디오 재생이 아주 어렵다는 문제를 해결하기 위해, 동기 오디오 재생 방법, 장치 및 시스템을 제공한다.
제1 양태에 따르면, 본 발명의 일 실시예는 동기 오디오 재생 방법을 제공하고, 이 방법은 동기 재생 시스템 내의 피제어 디바이스(controlled device)에 의해 실행되며, 동기 재생 시스템은 피제어 디바이스 및 제어 디바이스(controlling device)를 포함하고; 이 방법은 오디오 파일이 재생될 때 발생되는 제1 재생 지연 D1을 계산하는 단계; 제어 디바이스가 오디오 파일을 재생할 때 발생되는 제2 재생 지연 D2를 획득하는 단계; 지연 오프셋 Offset(단, Offset=D1-D2)을 계산하는 단계; Offset이 0이 아닐 때, Offset의 절대값에 대응하는 데이터 조절량을 계산하는 단계; Offset의 값에 따라 오디오 파일의 현재 재생될 부분에 조절될 데이터를 부가하거나 그로부터 조절될 데이터를 삭제하여, 현재 재생될 부분에 대응하는 대체 부분을 얻는 단계 - 조절될 데이터의 데이터 양이 데이터 조절량임 -; 및 대체 부분을 재생하는 단계를 포함한다.
제1 양태를 참조하여, 제1 양태의 제1 가능한 구현 방식에서, 오디오 파일이 재생될 때 발생되는 제1 재생 지연 D1을 계산하는 단계는 오디오 파일의 재생 지속기간이 제1 사전 설정된 지속기간에 도달할 때, 오디오 파일이 재생될 때 발생되는 제1 재생 지연 D1을 계산하는 단계; 또는 재생될 부분에 대해 이전의 데이터 부가 또는 데이터 삭제 동작이 수행된 후에 제2 사전 설정된 지속기간이 만료될 때, 오디오 파일이 재생될 때 발생되는 제1 재생 지연 D1을 계산하는 단계를 포함한다.
제1 양태 또는 제1 양태의 제1 가능한 구현 방식을 참조하여, 제1 양태의 제2 가능한 구현 방식에서, 오디오 파일이 사전 설정된 시점에서 재생될 때 발생되는 제1 재생 지연 D1을 계산하는 단계는 오디오 파일이 재생된 시간 길이 T, 오디오 파일의 재생이 시작된 이후 오디오 믹싱 및 DSP 처리 하드웨어에 누적 기입된 데이터에 대응하는 시간 길이 E(t), 오디오 믹싱 및 DSP 처리 하드웨어에서의 버퍼 데이터에 대응하는 시간 길이 F(t), 및 오디오 재생 하드웨어에서의 버퍼 데이터에 대응하는 시간 길이 G(t)를 획득하는 단계; 및 T, E(t), F(t) 및 G(t)에 따라 D1(단, D1=T-E(t)+F(t)+G(t))을 계산하는 단계를 포함한다.
제1 양태, 제1 양태의 제1 가능한 구현 방식 또는 제1 양태의 제2 가능한 구현 방식을 참조하여, 제1 양태의 제3 가능한 구현 방식에서, Offset의 값에 따라 오디오 파일의 현재 재생될 부분에 조절될 데이터를 부가하거나 그로부터 조절될 데이터를 삭제하는 단계 - 조절될 데이터의 데이터 양이 데이터 조절량임 - 는 Offset이 0 미만일 때, 데이터 조절량인 데이터 양을 갖는 조절될 데이터를 오디오 파일의 현재 재생될 부분에 부가하는 단계; 또는 Offset이 0 초과일 때, 데이터 조절량인 데이터 양을 갖는 조절될 데이터를 오디오 파일의 현재 재생될 부분으로부터 삭제하는 단계를 포함한다.
제1 양태, 제1 양태의 제1 가능한 구현 방식 또는 제1 양태의 제2 가능한 구현 방식을 참조하여, 제1 양태의 제4 가능한 구현 방식에서, Offset의 값에 따라 오디오 파일의 현재 재생될 부분에 조절될 데이터를 부가하거나 그로부터 조절될 데이터를 삭제하는 단계 - 조절될 데이터의 데이터 양이 데이터 조절량임 - 는 현재 재생될 부분을 디코딩하여 디코딩된 데이터를 발생시키는 단계; 및 Offset이 0 미만일 때, 데이터 조절량인 데이터 양을 갖는 조절될 데이터를 디코딩된 데이터에 부가하는 단계; 또는 Offset이 0 초과일 때, 데이터 조절량인 데이터 양을 갖는 조절될 데이터를 디코딩된 데이터로부터 삭제하는 단계를 포함한다.
제2 양태에 따르면, 본 발명의 일 실시예는 동기 오디오 재생 장치를 제공하고, 이 장치는 오디오 파일이 재생될 때 발생되는 제1 재생 지연 D1을 계산하도록 구성된 계산 유닛; 제어 디바이스가 오디오 파일을 재생할 때 발생되는 제2 재생 지연 D2를 획득하도록 구성된 획득 유닛; 계산 유닛에 의해 얻어진 D1 및 획득 유닛에 의해 획득된 D2에 따라 지연 오프셋 Offset(단, Offset=D1-D2)을 계산하도록 구성된 발생 유닛; 발생 유닛에 의해 발생된 Offset이 0이 아닐 때, Offset의 절대값에 대응하는 데이터 조절량을 계산하도록 구성된 결정 유닛; Offset의 값에 따라 오디오 파일의 현재 재생될 부분에 조절될 데이터를 부가하거나 그로부터 조절될 데이터를 삭제하여, 현재 재생될 부분에 대응하는 대체 부분을 얻도록 구성된 조절 유닛 - 조절될 데이터의 데이터 양이 결정 유닛에 의해 얻어진 데이터 조절량임 -; 및 조절 유닛에 의해 발생된 대체 부분을 재생하도록 구성된 재생 유닛을 포함한다.
제2 양태를 참조하여, 제2 양태의 제1 가능한 구현 방식에서, 계산 유닛은 오디오 파일이 재생된 시간 길이 T, 오디오 파일의 재생이 시작된 이후 오디오 믹싱 및 DSP 처리 하드웨어에 누적 기입된 데이터에 대응하는 시간 길이 E(t), 오디오 믹싱 및 DSP 처리 하드웨어에서의 버퍼 데이터에 대응하는 시간 길이 F(t), 및 오디오 재생 하드웨어에서의 버퍼 데이터에 대응하는 시간 길이 G(t)를 획득하도록 구성된 획득 서브유닛; 및 획득 서브유닛에 의해 획득된 T, E(t), F(t) 및 G(t)에 따라 D1(단, D1=T-E(t)+F(t)+G(t))을 계산하도록 구성된 계산 서브유닛을 포함한다.
제2 양태 또는 제2 양태의 제1 가능한 구현 방식을 참조하여, 제2 양태의 제2 가능한 구현 방식에서, 조절 유닛은 구체적으로는 Offset이 0 미만일 때, 데이터 조절량인 데이터 양을 갖는 조절될 데이터를 오디오 파일의 현재 재생될 부분에 부가하거나; Offset이 0 초과일 때, 데이터 조절량인 데이터 양을 갖는 조절될 데이터를 오디오 파일의 현재 재생될 부분으로부터 삭제하도록 구성되어 있다.
제2 양태 또는 제2 양태의 제1 가능한 구현 방식을 참조하여, 제2 양태의 제3 가능한 구현 방식에서, 조절 유닛은 현재 재생될 부분을 디코딩하여 디코딩된 데이터를 발생시키도록 구성된 디코딩 서브유닛; 및 Offset이 0 미만일 때, 데이터 조절량인 데이터 양을 갖는 조절될 데이터를 디코딩된 데이터에 부가하거나; Offset이 0 초과일 때, 데이터 조절량인 데이터 양을 갖는 조절될 데이터를 디코딩된 데이터로부터 삭제하도록 구성된 조절 서브유닛을 포함한다.
제3 양태에 따르면, 본 발명의 일 실시예는 동기 오디오 재생 시스템을 제공하고, 이 시스템은 제어 디바이스 및 피제어 디바이스를 포함하며, 제어 디바이스는 제어 디바이스가 오디오 파일을 재생할 때 발생되는 제2 재생 지연 D2를 계산하도록 구성되어 있고; 피제어 디바이스는 오디오 파일이 재생될 때 발생되는 제1 재생 지연 D1을 계산하고; D2를 획득하며; 지연 오프셋 Offset(단, Offset=D1-D2)을 계산하고; Offset이 0이 아닐 때, Offset의 절대값에 대응하는 데이터 조절량을 계산하며; Offset의 값에 따라 오디오 파일의 현재 재생될 부분에 조절될 데이터를 부가하거나 그로부터 조절될 데이터를 삭제하여, 현재 재생될 부분에 대응하는 대체 부분을 얻으며 - 조절될 데이터의 데이터 양이 데이터 조절량임 -; 대체 부분을 재생하도록 구성되어 있다.
본 발명의 실시예에서, 오디오 파일이 재생될 때 발생되는 제1 재생 지연 D1이 계산되고; 제어 디바이스가 오디오 파일을 재생할 때 발생되는 제2 재생 지연 D2가 획득되며; 지연 오프셋 Offset(단, Offset=D1-D2)이 계산되고; Offset이 0이 아닐 때, Offset의 절대값에 대응하는 데이터 조절량이 계산되며; 데이터 조절량인 데이터 양을 갖는 조절될 데이터가 Offset의 값에 따라 오디오 파일의 현재 재생될 부분에 부가되거나 그로부터 삭제되어, 현재 재생될 부분에 대응하는 대체 부분을 얻고; 대체 부분이 재생된다. 본 발명의 기술적 해결책에 의해, 피제어 디바이스가 현재 재생될 부분을 재생할 때, 현재 재생될 부분의 재생 지속기간이, 피제어 디바이스와 제어 디바이스 사이에서 발생된 사운드 발생에서의 시간 편차를 제거하기 위해, 데이터를 부가하거나 삭제하는 방식으로 조절될 수 있고, 따라서 제어 디바이스 및 피제어 디바이스가 재생될 클립을 재생할 때 동시에 사운드를 발생시키고, 제어 디바이스 및 피제어 디바이스에 의한 재생될 파일의 동기 재생이 아주 간단한 구현 프로세스로 구현된다.
본 발명의 실시예에서의 기술적 해결책을 보다 명확하게 기술하기 위해, 이하에서 실시예 또는 종래 기술을 설명하는 데 필요한 첨부 도면을 간략히 소개한다. 통상의 기술자가 창조적 노력 없이 이들 첨부 도면으로부터 다른 도면을 여전히 도출할 수 있다는 것은 분명하다.
도 1은 본 발명에 따른 동기 오디오 재생 방법의 일 실시예의 플로우차트.
도 2는 본 발명에 따른 동기 오디오 재생 장치의 일 실시예의 개략도.
도 3은 본 발명에 따른 동기 오디오 재생 시스템의 일 실시예의 개략도.
도 4는 본 발명에 따른 동기 오디오 재생 장치의 다른 실시예의 개략도.
이하에서, 본 발명의 실시예에서의 기술적 해결책을 본 발명의 실시예에서의 첨부 도면을 참조하여 명확하고 철저하게 기술한다. 기술된 실시예가 본 발명의 실시예의 전부라기보다는 일부에 불과하다는 것은 분명하다. 창조적 노력 없이 본 발명의 실시예들에 기초하여 통상의 기술자에 의해 획득된 다른 실시예들 모두가 본 발명의 보호 범위 내에 속한다.
도 1을 참조하면, 도 1은 본 발명에 따른 동기 오디오 재생 방법의 일 실시예의 플로우차트이다. 동기 재생 시스템이 다수의 재생 디바이스를 포함할 때, 다수의 재생 디바이스 중 하나가 제어 디바이스로서 선택될 수 있고, 나머지 디바이스가 피제어 디바이스로서 사용된다. 피제어 디바이스는, 동기 재생 시스템에서 다양한 디바이스들 간의 동기 재생을 구현하기 위해, 피제어 디바이스와 제어 디바이스 간의 동기 재생을 구현할 수 있는 이 실시예에서의 방법을 사용하여 오디오 파일을 재생한다. 오디오 파일은 독립적 오디오 파일일 수 있거나, 또한 멀티미디어 파일 내의 오디오 부분일 수 있다. 이 방법은 다음과 같은 단계를 포함한다:
단계(101): 오디오 파일이 재생될 때 발생되는 제1 재생 지연 D1을 계산한다.
제1 재생 지연이 계산되기 전에, 먼저, 사전 설정된 조절 조건이 충족되는지가 판정된다. 조절 조건이 충족되는 경우, 제1 재생 지연이 계산되고 후속하는 동기 프로세스가 실행되며; 조절 조건이 충족되지 않는 경우, 디코딩된 데이터가 곧바로 재생될 수 있다. 사전 설정된 조절 조건은 오디오 파일의 재생 지속기간이 제1 사전 설정된 지속기간 T0에 도달하는 것, 또는 재생될 부분에 대해 이전의 데이터 부가 또는 데이터 삭제 동작이 수행된 후에 제2 사전 설정된 지속기간 T1이 만료되는 것 등을 포함할 수 있고, 여기서 2개의 상수의 값은 T0=300ms이고 T1=1s일 수 있다. 예를 들어, 오디오 파일의 재생 지속기간이 제1 사전 설정된 지속기간 T0에 도달할 때, 오디오 파일이 재생될 때 발생되는 제1 재생 지연 D1이 계산된다.
제1 재생 지연 D1에 대한 계산식은 다음과 같다: D1=T-E(t)+F(t)+G(t). D1이 계산될 때, T, E(t), G(t) 및 F(t)가 먼저 획득될 수 있고, 이어서, D1이 계산을 통해 얻어진다.
T는 재생될 오디오 클립이 디코딩될 때 오디오 파일이 현재 재생된 시간 길이이다.
E(t)는 오디오 파일의 재생이 시작된 이후 피제어 디바이스의 오디오 믹싱 및 DSP(Digital Signal Processing) 하드웨어에 누적 기입된 데이터에 대응하는 시간 길이이다. E(t)는 피제어 디바이스의 운영 체제의 API 함수를 사용하여 획득될 수 있다. 예를 들어, 디바이스의 운영 체제가 안드로이드 시스템일 때, E(t)는 API 함수 android.media.AudioTrack.getPlaybackHeadPosition()을 사용하여 획득될 수 있다.
G(t)는 재생될 오디오 클립이 디코딩될 때 피제어 디바이스의 오디오 재생 하드웨어에서의 버퍼 데이터에 대응하는 시간 길이이고, 여기서 G(t)는 오디오 재생 하드웨어에 의해 버퍼링될 수 있는 최대 데이터 양에 대응하는 시간 길이 HB 이하이고, 일반적으로 HB와 같다. HB의 값은 소프트웨어 방법을 사용하여 측정을 통해 얻어질 수 있다.
F(t)는 재생될 오디오 클립이 디코딩될 때 피제어 디바이스의 오디오 믹싱 및 DSP 처리 하드웨어에서의 버퍼 데이터에 대응하는 시간 길이이고, 여기서 F(t)는 오디오 믹싱 및 DSP 처리 하드웨어에 의해 버퍼링될 수 있는 최대 데이터 양에 대응하는 시간 길이 FB 이하이고, 일반적으로 FB와 같다. FB의 값은 오프라인 지연 측정 방법을 사용하여 얻어질 수 있다. 예를 들어, 디바이스가 휴대폰일 때, FB는 이하의 방식으로 측정될 수 있다: 손가락이 상당한 힘으로 휴대폰 화면 상의 재생 버튼을 치고, 손가락으로 치는 소리가 컴퓨터에 연결된 마이크를 사용하여 기록되며, 시점 t1이 기록되고; 휴대폰 프로그램이 재생 버튼 클릭 명령어를 수신하고, 시점 t2를 기록하며; 휴대폰 프로그램이 오디오 디코딩 및 재생을 반복 수행하기 시작하고, 시작 시점 t3를 기록하며; 휴대폰 프로그램이 오디오 신호를 처음으로 출력하고; 스피커가 사운드를 발생시키기 시작하고, 스피커의 사운드 신호가 컴퓨터에 연결된 마이크를 사용하여 기록되며, 시작 시점 t4가 기록되고; 재생 지연은 Delay=(t4-t1)-(t3-t2)-(t2-t1)이며, 여기서 (t4- t1)은 마이크에 의해 기록된 오디오 신호로부터 판독될 수 있고, (t3-t2)는 휴대폰 프로그램에서의 기록으로부터 판독되며, (t2-t1)은 극히 작기 때문에 일반적으로 무시될 수 있고; Delay=T-E(t)+FB+G(t)이기 때문에, FB가 계산을 통해 얻어질 수 있다.
데이터 양에 대응하는 시간 길이는 이하의 식을 사용하여 계산될 수 있고:
Figure pat00001
, 여기서 t는 ms 단위로 측정되는 시간 길이이고; D는 비트 단위로 측정되는 데이터 양이며; N은 사운드 채널의 수(quantity)이고; P는 비트 단위로 측정되는, 데이터의 단위당 비트 수이며; H는 Hz 단위로 측정되는 샘플링 레이트이다.
본 명세서에서 유의할 점은, D1이 또한 본 명세서에 상세히 기술되어 있지 않은 다른 방식으로 계산을 통해 얻어질 수 있다는 것이다.
단계(102): 제어 디바이스가 오디오 파일을 재생하는 프로세스에서 발생되는 제2 재생 지연 D2를 획득한다.
제2 재생 지연 D2는 제어 디바이스에 의해 발생되고, 제2 재생 지연 D2의 발생 방식은 제1 재생 지연 D1과 유사하며, 본 명세서에서 다시 반복하여 기술되지 않는다.
단계(103): 지연 오프셋 Offset(단, Offset=D1-D2)을 계산한다.
피제어 디바이스와 제어 디바이스 사이의 지연 오프셋 Offset(단, Offset=D1-D2)이 계산된다. 지연 오프셋은 피제어 디바이스가 사운드를 실제로 발생시키는 시간과 제어 디바이스가 사운드를 실제로 발생시키는 시간 사이의 시간차이다.
단계(104): Offset이 0이 아닐 때, Offset의 절대값에 대응하는 데이터 조절량을 계산한다.
Offset이 0이 아닌 경우, 이는 피제어 디바이스가 사운드를 실제로 발생시키는 시간과 제어 디바이스가 사운드를 실제로 발생시키는 시간 사이의 시간차가 있다는 것을 나타낸다. 이 경우에, Offset의 절대값에 대응하는 오디오 프레임의 수 K는 현재 재생될 부분의 각각의 오디오 프레임에 대응하는 재생 시간에 따라 계산을 통해 얻어질 수 있는데, 즉, 데이터 조절량이 오디오 프레임의 수일 수 있다. 일반적으로, Offset의 절대값이 사전 설정된 값 미만일 때, 예를 들어, 사전 설정된 값이 20ms일 때, 피제어 디바이스와 제어 디바이스 간의 사운드 발생에서의 시간차는 허용 범위 내에 있다. 따라서, Offset의 절대값이 사전 설정된 값 이상일 때, Offset의 절대값에 대응하는 데이터 조절량이 또한 계산될 수 있다.
실제 사용에서, 오디오 프레임에 대응하는 재생 시간이 비교적 길 수 있고, 예를 들어, AAC(Advanced Audio Coding)에서, AAC 오디오 프레임에 대응하는 재생 시간은 일반적으로 22.32 ms이다. 고도의 동기 재생 요건을 갖는 응용 시나리오에서, 오디오 프레임을 직접 부가하거나 삭제하는 것에 의한 조절 효과는 비교적 좋지 않으며, 동기 재생의 요건을 충족시킬 수 없다. 그 결과, 정확한 조절을 구현하기 위해, Offset의 절대값에 대응하는 데이터 조절량이 계산될 수 있다. Offset의 절대값에 대응하는 데이터 조절량이 상기 식
Figure pat00002
을 사용하여 계산될 수 있고, 여기서 Offset의 절대값은 식에서의 t이고, D는 Offset의 절대값에 대응하는 데이터 조절량이며, 즉, 데이터 조절량이 또한 비트 수일 수 있다. 실제 사용에서, Offset의 절대값이 20ms 미만일 때, 피제어 디바이스와 제어 디바이스 간의 사운드 발생에서의 시간차는 허용 범위 내에 있고; 따라서, 시간차 Offset의 절대값에 대응하는 데이터 조절량이 구간 범위(interval range)일 수 있다.
실제 사용에서, Offset의 절대값이 사전 설정된 값 미만일 때, 예를 들어, 사전 설정된 값이 20ms일 때, 피제어 디바이스와 제어 디바이스 간의 사운드 발생에서의 시간차는 허용 범위 내에 있고; 따라서, Offset의 절대값에 대응하는 데이터 조절량이 명확한 값이 아닐 수 있다. 예를 들어, 데이터 조절량이 사전 설정된 값 구간 내의 값일 수 있고, 여기서 사전 설정된 값 구간은 Offset의 절대값에 의해 결정될 수 있다. 예를 들어, 사전 설정된 값 구간의 상한은 (Offset의 절대값 + 사전 설정된 값에 대응하는 데이터 양)일 수 있고, 사전 설정된 값 구간의 하한은 (Offset의 절대값 - 사전 설정된 값에 대응하는 데이터 양)일 수 있다. Offset의 절대값에 대응하는 데이터 조절량이 계산될 때, 사전 설정된 값 구간은 Offset의 절대값 및 사전 설정된 값에 따라 계산을 통해 얻어질 수 있고, 이어서 Offset의 절대값에 대응하는 데이터 조절량으로서 역할할 값이 사전 설정된 값 구간으로부터 선택된다.
단계(105): Offset의 값에 따라 오디오 파일의 현재 재생될 부분에 조절될 데이터를 부가하거나 그로부터 조절될 데이터를 삭제하여, 현재 재생될 부분에 대응하는 대체 부분을 얻고, 여기서 조절될 데이터의 데이터 양이 데이터 조절량이다.
지연 오프셋 Offset이 0 초과인 경우, 이는 피제어 디바이스에 의한 재생이 제어 디바이스에 의한 재생보다 더 느리다 - 즉, 피제어 디바이스가 사운드를 발생시키는 시간이 제어 디바이스가 사운드를 발생시키는 시간보다 더 늦다 - 는 것을 나타낸다. 이 경우에, 피제어 디바이스는 데이터 조절량인 데이터 양을 갖는 조절될 데이터를 현재 재생될 부분으로부터 삭제할 수 있고(예를 들어, K개의 오디오 프레임을 삭제함); 삭제 동작이 완료된 후, 현재 재생될 부분의 양이 보다 적어지고, 재생 지속기간이 감소되며 - 여기서 감소된 지속기간은 Offset임 -, 따라서 지연 오프셋이 제거될 수 있고, 피제어 디바이스와 제어 디바이스가 사운드를 동시에 발생시킬 수 있다.
지연 오프셋 Offset이 0 미만인 경우, 이는 피제어 디바이스에 의한 재생이 제어 디바이스에 의한 재생보다 더 빠르다 - 즉, 피제어 디바이스가 사운드를 발생시키는 시간이 제어 디바이스가 사운드를 발생시키는 시간보다 더 이르다 - 는 것을 나타낸다. 이 경우에, 피제어 디바이스는 데이터 조절량인 데이터 양을 갖는 조절될 데이터를 현재 재생될 부분에 부가할 수 있고(예를 들어, K개의 오디오 프레임을 부가함); 부가 동작이 완료된 후, 현재 재생될 부분의 양이 보다 많아지고, 재생 지속기간이 증가되며 - 여기서 증가된 지속기간은 Offset임 -, 따라서 지연 오프셋이 제거될 수 있고, 피제어 디바이스와 제어 디바이스가 사운드를 동시에 발생시킬 수 있다.
보다 정확한 조절을 위해, 현재 재생될 부분에 대응하는 디코딩된 데이터가 조절될 수 있다. 구체적으로는, 현재 재생될 부분이 디코딩되어, 디코딩된 데이터를 발생시킨다. Offset이 0 미만일 때, 데이터 조절량인 데이터 양을 갖는 조절될 데이터가 디코딩된 데이터에 부가되거나; Offset이 0 초과일 때, 데이터 조절량인 데이터 양을 갖는 조절될 데이터가 디코딩된 데이터로부터 삭제되어, 정확한 조절을 구현한다.
실제 사용에서, Offset의 절대값이 사전 설정된 값 미만일 때, 예를 들어, 사전 설정된 값이 20ms일 때, 피제어 디바이스와 제어 디바이스 간의 사운드 발생에서의 시간차는 허용 범위 내에 있다. 따라서, Offset의 절대값이 사전 설정된 값 미만이라는 것은 허용가능한 것이고, 현재 재생될 부분이 조절될 필요가 없다. Offset의 절대값이 사전 설정된 값 초과일 때에만, 조절될 데이터가 현재 재생될 부분에 부가되거나 그로부터 삭제되면 된다. 다수의 피제어 디바이스가 있을 때, 다양한 디바이스 중 일부는 제어 디바이스보다 더 일찍 사운드를 발생시킬 수 있고, 일부 디바이스는 제어 디바이스보다 더 늦게 사운드를 발생시킬 수 있다. Offset의 절대값이 사전 설정된 값의 1/2 초과일 때, 예를 들어, 사전 설정된 값의 1/2이 10ms일 때, 피제어 디바이스들 간의 사운드 발생에서의 시간차가 허용 범위 내에 있도록 하기 위해, 조절될 데이터가 현재 재생될 부분에 부가되거나 그로부터 삭제될 수 있다.
단계(106): 대체 부분을 재생한다.
재생하는 단계는 현재 재생될 부분에 대해 수행되는 데이터 디코딩, 오디오 믹싱, DSP 처리, 및 사운드 재생과 같은 재생 단계를 포함한다. 디코딩된 데이터를 조절하는 방식이 현재 재생될 부분을 조절하는 데 사용되는 경우, 재생하는 단계는 오디오 믹싱, DSP 처리 및 사운드 재생과 같은 재생 단계만을 포함할 수 있다. 대체 부분을 재생하는 특정의 프로세스가 본 명세서에서 더 기술되지 않는다.
이상의 실시예로부터, 오디오 파일이 재생될 때 발생되는 제1 재생 지연 D1이 계산되고; 제어 디바이스가 오디오 파일을 재생할 때 발생되는 제2 재생 지연 D2가 획득되며; 지연 오프셋 Offset(단, Offset=D1-D2)이 계산되고; Offset이 0이 아닐 때, Offset의 절대값에 대응하는 데이터 조절량이 계산되며; 데이터 조절량인 데이터 양을 갖는 조절될 데이터가 Offset의 값에 따라 오디오 파일의 현재 재생될 부분에 부가되거나 그로부터 삭제되어, 현재 재생될 부분에 대응하는 대체 부분을 얻고; 대체 부분이 재생된다는 것을 알 수 있다. 이 실시예에 의해, 피제어 디바이스가 현재 재생될 부분을 재생할 때, 현재 재생될 부분의 재생 지속기간이, 피제어 디바이스와 제어 디바이스 사이에서 발생된 사운드 발생에서의 시간 편차를 제거하기 위해, 데이터를 부가하거나 삭제하는 방식으로 조절될 수 있고, 따라서 제어 디바이스 및 피제어 디바이스가 재생될 클립을 재생할 때 동시에 사운드를 발생시키고, 제어 디바이스 및 피제어 디바이스에 의한 재생될 파일의 동기 재생이 아주 간단한 구현 프로세스로 구현된다.
도 2를 참조하면, 도 2는 본 발명에 따른 동기 오디오 재생 장치의 일 실시예의 개략도이다.
도 2에 도시된 바와 같이, 이 장치는 계산 유닛(201), 획득 유닛(202), 발생 유닛(203), 결정 유닛(204), 조절 유닛(205), 및 재생 유닛(206)을 포함한다.
계산 유닛(201)은 오디오 파일이 재생될 때 발생되는 제1 재생 지연 D1을 계산하도록 구성되어 있다.
계산 유닛(201)은 오디오 파일이 재생된 시간 길이 T, 오디오 파일의 재생이 시작된 이후 오디오 믹싱 및 DSP 처리 하드웨어에 누적 기입된 데이터에 대응하는 시간 길이 E(t), 오디오 믹싱 및 DSP 처리 하드웨어에서의 버퍼 데이터에 대응하는 시간 길이 F(t), 및 오디오 재생 하드웨어에서의 버퍼 데이터에 대응하는 시간 길이 G(t)를 획득하도록 구성된 획득 서브유닛; 및 획득 서브유닛에 의해 획득된 T, E(t), F(t) 및 G(t)에 따라 D1(단, D1=T-E(t)+F(t)+G(t))을 계산하도록 구성된 계산 서브유닛을 포함할 수 있다.
획득 유닛(202)은 제어 디바이스가 오디오 파일을 재생할 때 발생되는 제2 재생 지연 D2를 획득하도록 구성되어 있다.
발생 유닛(203)은 계산 유닛(201)에 의해 얻어진 D1 및 획득 유닛(202)에 의해 획득된 D2에 따라 지연 오프셋 Offset(단, Offset=D1-D2)을 계산하도록 구성되어 있다.
결정 유닛(204)은 발생 유닛(203)에 의해 발생된 Offset이 0이 아닐 때, Offset의 절대값에 대응하는 데이터 조절량을 계산하도록 구성되어 있다.
조절 유닛(205)은 Offset의 값에 따라 오디오 파일의 현재 재생될 부분에 조절될 데이터를 부가하거나 그로부터 조절될 데이터를 삭제하여, 현재 재생될 부분에 대응하는 대체 부분을 얻도록 구성되어 있고, 여기서 조절될 데이터의 데이터 양은 결정 유닛(204)에 의해 얻어진 데이터 조절량이다.
구체적으로는, 조절 유닛(205)은, Offset이 0 미만일 때, 데이터 조절량인 데이터 양을 갖는 조절될 데이터를 오디오 파일의 현재 재생될 부분에 부가하거나; Offset이 0 초과일 때, 데이터 조절량인 데이터 양을 갖는 조절될 데이터를 오디오 파일의 현재 재생될 부분으로부터 삭제하도록 구성될 수 있다.
다른 대안으로서, 조절 유닛(205)은 현재 재생될 부분을 디코딩하여 디코딩된 데이터를 발생시키도록 구성된 디코딩 서브유닛; 및 Offset이 0 미만일 때, 데이터 조절량인 데이터 양을 갖는 조절될 데이터를 디코딩된 데이터에 부가하거나; Offset이 0 초과일 때, 데이터 조절량인 데이터 양을 갖는 조절될 데이터를 디코딩된 데이터로부터 삭제하도록 구성된 조절 서브유닛을 포함할 수 있다.
재생 유닛(206)은 조절 유닛(205)에 의해 발생된 대체 부분을 재생하도록 구성되어 있다.
이상의 실시예로부터, 피제어 디바이스가 현재 재생될 부분을 재생할 때, 현재 재생될 부분의 재생 지속기간이, 피제어 디바이스와 제어 디바이스 사이에서 발생된 사운드 발생에서의 시간 편차를 제거하기 위해, 데이터를 부가하거나 삭제하는 방식으로 조절될 수 있고, 따라서 제어 디바이스 및 피제어 디바이스가 재생될 클립을 재생할 때 동시에 사운드를 발생시키고, 제어 디바이스 및 피제어 디바이스에 의한 재생될 파일의 동기 재생이 아주 간단한 구현 프로세스로 구현된다는 것을 알 수 있다.
동기 재생 방법 및 동기 재생 장치에 대응하여, 본 발명의 일 실시예는 동기 재생 시스템을 추가로 제공한다.
도 3을 참조하면, 도 3은 본 발명에 따른 동기 재생 시스템의 일 실시예의 개략도이다.
이 시스템은 제어 디바이스(301) 및 피제어 디바이스(302)를 포함한다.
제어 디바이스(301)는 제어 디바이스가 오디오 파일을 재생할 때 발생되는 제2 재생 지연 D2를 계산하도록 구성되어 있다.
피제어 디바이스(302)는 오디오 파일이 재생될 때 발생되는 제1 재생 지연 D1을 계산하고; D2를 획득하며; 지연 오프셋 Offset(단, Offset=D1-D2)을 계산하고; Offset이 0이 아닐 때, Offset의 절대값에 대응하는 데이터 조절량을 계산하며; Offset의 값에 따라 오디오 파일의 현재 재생될 부분에 조절될 데이터를 부가하거나 그로부터 조절될 데이터를 삭제하여, 현재 재생될 부분에 대응하는 대체 부분을 얻고 - 조절될 데이터의 데이터 양이 데이터 조절량임 -; 대체 부분을 재생하도록 구성되어 있다.
피제어 디바이스(302)는, 오디오 파일의 재생 지속기간이 제1 사전 설정된 지속기간에 도달할 때, 오디오 파일이 재생될 때 발생되는 제1 재생 지연 D1을 계산하거나; 재생될 부분에 대해 이전의 데이터 부가 또는 데이터 삭제 동작이 수행된 후에 제2 사전 설정된 지속기간이 만료될 때, 오디오 파일이 재생될 때 발생되는 제1 재생 지연 D1을 계산하도록 추가로 구성되어 있다.
피제어 디바이스(302)는 오디오 파일이 재생된 시간 길이 T, 오디오 파일의 재생이 시작된 이후 오디오 믹싱 및 DSP 처리 하드웨어에 누적 기입된 데이터에 대응하는 시간 길이 E(t), 오디오 믹싱 및 DSP 처리 하드웨어에서의 버퍼 데이터에 대응하는 시간 길이 F(t), 및 오디오 재생 하드웨어에서의 버퍼 데이터에 대응하는 시간 길이 G(t)를 획득하고; T, E(t), F(t) 및 G(t)에 따라 D1(단, D1=T-E(t)+F(t)+G(t))을 계산하도록 추가로 구성되어 있다.
피제어 디바이스(302)는, Offset이 0 미만일 때, 데이터 조절량인 데이터 양을 갖는 조절될 데이터를 오디오 파일의 현재 재생될 부분에 부가하거나; Offset이 0 초과일 때, 데이터 조절량인 데이터 양을 갖는 조절될 데이터를 오디오 파일의 현재 재생될 부분으로부터 삭제하도록 추가로 구성되어 있다.
피제어 디바이스(302)는 현재 재생될 부분을 디코딩하여 디코딩된 데이터를 발생시키고; Offset이 0 미만일 때, 데이터 조절량인 데이터 양을 갖는 조절될 데이터를 디코딩된 데이터에 부가하거나; Offset이 0 초과일 때, 데이터 조절량인 데이터 양을 갖는 조절될 데이터를 디코딩된 데이터로부터 삭제하도록 추가로 구성되어 있다.
이상의 실시예로부터, 피제어 디바이스가, 피제어 디바이스와 제어 디바이스 간에 발생된 사운드 발생에서의 시간 편차를 제거하기 위해, 디코딩된 데이터를 조절할 수 있고, 따라서 제어 디바이스 및 피제어 디바이스가 재생될 클립을 재생할 때 동시에 사운드를 발생시키고, 제어 디바이스 및 피제어 디바이스에 의한 재생될 파일의 동기 재생이 구현된다는 것을 알 수 있다. 다양한 디바이스의 상이한 재생 지연에 대해, 동기 오디오 재생이 아주 쉬운 방식으로 구현될 수 있다.
도 4를 참조하면, 도 4는 본 발명에 따른 동기 오디오 재생 장치의 다른 실시예의 개략도이다.
도 4에 도시된 바와 같이, 동기 오디오 재생 장치는 프로세서(401), 메모리(402), 및 통신 인터페이스(403)를 포함하고, 여기서 프로세서(401), 메모리(402), 및 통신 인터페이스(403)는 버스(404)를 통해 연결되어 있다. 동기 오디오 재생 장치는 오디오 믹싱 및 DSP 처리 하드웨어와, 오디오 재생 하드웨어를 추가로 포함할 수 있다.
버스(404)는 PCI(Peripheral Component Interconnect) 버스, EISA(Extended Industry Standard Architecture) 버스 등일 수 있다. 버스는 주소 버스, 데이터 버스, 제어 버스 등으로 분류될 수 있다. 표현의 편의를 위해, 도 4에서 버스가 하나의 굵은 선만을 사용하여 표현되어 있지만, 하나의 버스만 또는 한 유형의 버스만이 있다는 것을 의미하지 않는다.
메모리(402)는 프로그램을 저장하도록 구성되어 있다. 구체적으로는, 프로그램은 프로그램 코드를 포함할 수 있고, 여기서 프로그램 코드는 컴퓨터 연산 명령어를 포함한다. 메모리(402)는 RAM(Random Access Memory)을 포함할 수 있고, 또한 비휘발성 메모리(Non-Volatile Memory)(예를 들어, 적어도 하나의 디스크 메모리)를 포함할 수 있다.
프로세서(401)는 메모리(402)에 저장된 프로그램을 실행하고, 오디오 파일이 재생될 때 발생되는 제1 재생 지연 D1을 계산하고; 제어 디바이스가 오디오 파일을 재생할 때 발생되는 제2 재생 지연 D2를, 통신 인터페이스(403)를 사용하여, 획득하며; 지연 오프셋 Offset(단, Offset=D1-D2)을 계산하고; Offset이 0이 아닐 때, Offset의 절대값에 대응하는 데이터 조절량을 계산하며; Offset의 값에 따라 오디오 파일의 현재 재생될 부분에 조절될 데이터를 부가하거나 그로부터 조절될 데이터를 삭제하여, 현재 재생될 부분에 대응하는 대체 부분을 얻고 - 조절될 데이터의 데이터 양이 데이터 조절량임 -; 대체 부분을 재생하도록 구성되어 있다.
프로세서(401)는 오디오 파일의 재생 지속기간이 제1 사전 설정된 지속기간에 도달할 때, 오디오 파일이 재생될 때 발생되는 제1 재생 지연 D1을 계산하거나; 재생될 부분에 대해 이전의 데이터 부가 또는 데이터 삭제 동작이 수행된 후에 제2 사전 설정된 지속기간이 만료될 때, 오디오 파일이 재생될 때 발생되는 제1 재생 지연 D1을 계산하도록 추가로 구성되어 있다.
프로세서(401)는 오디오 파일이 재생된 시간 길이 T, 오디오 파일의 재생이 시작된 이후 오디오 믹싱 및 DSP 처리 하드웨어에 누적 기입된 데이터에 대응하는 시간 길이 E(t), 오디오 믹싱 및 DSP 처리 하드웨어에서의 버퍼 데이터에 대응하는 시간 길이 F(t), 및 오디오 재생 하드웨어에서의 버퍼 데이터에 대응하는 시간 길이 G(t)를 획득하고; T, E(t), F(t) 및 G(t)에 따라 D1(단, D1=T-E(t)+F(t)+G(t))을 계산하도록 추가로 구성되어 있다.
프로세서(401)는 Offset이 0 미만일 때, 데이터 조절량인 데이터 양을 갖는 조절될 데이터를 오디오 파일의 현재 재생될 부분에 부가하거나; Offset이 0 초과일 때, 데이터 조절량인 데이터 양을 갖는 조절될 데이터를 오디오 파일의 현재 재생될 부분으로부터 삭제하도록 추가로 구성되어 있다.
프로세서(401)는 현재 재생될 부분을 디코딩하여 디코딩된 데이터를 발생시키고; Offset이 0 미만일 때, 데이터 조절량인 데이터 양을 갖는 조절될 데이터를 디코딩된 데이터에 부가하거나; Offset이 0 초과일 때, 데이터 조절량인 데이터 양을 갖는 조절될 데이터를 디코딩된 데이터로부터 삭제하도록 추가로 구성되어 있다.
이상의 실시예로부터, 피제어 디바이스가 현재 재생될 부분을 재생할 때, 현재 재생될 부분의 재생 지속기간이, 피제어 디바이스와 제어 디바이스 사이에서 발생된 사운드 발생에서의 시간 편차를 제거하기 위해, 데이터를 부가하거나 삭제하는 방식으로 조절될 수 있고, 따라서 제어 디바이스 및 피제어 디바이스가 재생될 클립을 재생할 때 동시에 사운드를 발생시키고, 제어 디바이스 및 피제어 디바이스에 의한 재생될 파일의 동기 재생이 아주 간단한 구현 프로세스로 구현된다는 것을 알 수 있다.
통상의 기술자는 본 발명의 실시예에서의 기술이, 필요한 일반 하드웨어 플랫폼에 부가하여, 소프트웨어에 의해 구현될 수 있다는 것을 명확하게 이해할 수 있다. 이러한 이해에 기초하여, 본 발명의 기술적 해결책이 본질적으로 또는 종래 기술에 기여하는 부분이 소프트웨어 제품의 형태로 구현될 수 있다. 소프트웨어 제품은 ROM/RAM, 하드 디스크, 또는 광 디스크와 같은 저장 매체에 저장되어 있고, 본 발명의 실시예에 기술된 방법 또는 실시예의 일부 부분을 수행하라고 (개인용 컴퓨터, 서버, 또는 네트워크 디바이스일 수 있는) 컴퓨터 디바이스에 명령하는 몇가지 명령어를 포함한다.
본 명세서에서의 실시예들 모두는 점진적 방식으로 기술되어 있고, 실시예들에서의 동일하거나 유사한 부분에 대해, 이들 실시예가 참조될 수 있으며, 각각의 실시예는 다른 실시예들과의 차이점에 중점을 두고 있다. 특히, 장치 및 시스템 실시예는 방법 실시예와 기본적으로 유사하고, 따라서 간략하게 기술되어 있으며; 관련 부분에 대해, 방법 실시예에서의 부분적 설명이 참조될 수 있다.
이상의 설명들은 본 발명의 구현 방식들이지만, 본 발명의 보호 범위를 제한하기 위한 것이 아니다. 본 발명의 원리를 벗어나지 않고 행해진 임의의 수정, 등가의 대체 및 개선은 본 발명의 보호 범위 내에 속한다.

Claims (10)

  1. 동기 오디오 재생 방법으로서,
    상기 방법은 동기 재생 시스템 내의 피제어 디바이스(controlled device)에 의해 실행되고, 상기 동기 재생 시스템은 상기 피제어 디바이스 및 제어 디바이스(controlling device)를 포함하며; 상기 방법은
    오디오 파일이 재생될 때 발생되는 제1 재생 지연 D1을 계산하는 단계;
    상기 제어 디바이스가 상기 오디오 파일을 재생할 때 발생되는 제2 재생 지연 D2를 획득하는 단계;
    지연 오프셋 Offset(여기서, Offset=D1-D2임)을 계산하는 단계;
    Offset이 0이 아닐 때, Offset의 절대값에 대응하는 데이터 조절량을 계산하는 단계;
    Offset의 값에 따라 상기 오디오 파일의 현재 재생될 부분에 조절될 데이터를 부가하거나 상기 오디오 파일의 현재 재생될 부분으로부터 조절될 데이터를 삭제하여, 상기 현재 재생될 부분에 대응하는 대체 부분을 얻는 단계 - 상기 조절될 데이터의 데이터 양이 상기 데이터 조절량임 -; 및
    상기 대체 부분을 재생하는 단계
    를 포함하는, 방법.
  2. 제1항에 있어서, 오디오 파일이 재생될 때 발생되는 제1 재생 지연 D1을 계산하는 상기 단계는,
    상기 오디오 파일의 재생 지속기간이 제1 사전 설정된 지속기간에 도달할 때, 상기 오디오 파일이 재생될 때 발생되는 상기 제1 재생 지연 D1을 계산하는 단계; 또는
    상기 재생될 부분에 대해 이전의 데이터 부가 또는 데이터 삭제 동작이 수행된 후에 제2 사전 설정된 지속기간이 만료될 때, 상기 오디오 파일이 재생될 때 발생되는 상기 제1 재생 지연 D1을 계산하는 단계를 포함하는, 방법.
  3. 제1항에 있어서, 오디오 파일이 재생될 때 발생되는 제1 재생 지연 D1을 계산하는 상기 단계는,
    상기 오디오 파일이 재생된 시간 길이 T, 상기 오디오 파일의 재생이 시작된 이후 오디오 믹싱 및 DSP 처리 하드웨어에 누적 기입된 데이터에 대응하는 시간 길이 E(t), 상기 오디오 믹싱 및 DSP 처리 하드웨어에서의 버퍼 데이터에 대응하는 시간 길이 F(t), 및 오디오 재생 하드웨어에서의 버퍼 데이터에 대응하는 시간 길이 G(t)를 획득하는 단계; 및
    T, E(t), F(t) 및 G(t)에 따라 D1(여기서, D1=T-E(t)+F(t)+G(t)임)을 계산하는 단계를 포함하는, 방법.
  4. 제1항에 있어서, Offset의 값에 따라 상기 오디오 파일의 현재 재생될 부분에 조절될 데이터를 부가하거나 상기 오디오 파일의 현재 재생될 부분으로부터 조절될 데이터를 삭제하는 상기 단계 - 상기 조절될 데이터의 데이터 양이 상기 데이터 조절량임 - 는,
    Offset이 0 미만일 때, 상기 데이터 조절량인 데이터 양을 갖는 상기 조절될 데이터를 상기 오디오 파일의 상기 현재 재생될 부분에 부가하는 단계; 또는 Offset이 0 초과일 때, 상기 데이터 조절량인 데이터 양을 갖는 상기 조절될 데이터를 상기 오디오 파일의 상기 현재 재생될 부분으로부터 삭제하는 단계를 포함하는, 방법.
  5. 제1항에 있어서, Offset의 값에 따라 상기 오디오 파일의 현재 재생될 부분에 조절될 데이터를 부가하거나 상기 오디오 파일의 현재 재생될 부분으로부터 조절될 데이터를 삭제하는 상기 단계 - 상기 조절될 데이터의 데이터 양이 상기 데이터 조절량임 - 는,
    상기 현재 재생될 부분을 디코딩하여 디코딩된 데이터를 발생시키는 단계; 및
    Offset이 0 미만일 때, 상기 데이터 조절량인 데이터 양을 갖는 상기 조절될 데이터를 상기 디코딩된 데이터에 부가하는 단계; 또는 Offset이 0 초과일 때, 상기 데이터 조절량인 데이터 양을 갖는 상기 조절될 데이터를 상기 디코딩된 데이터로부터 삭제하는 단계를 포함하는, 방법.
  6. 동기 오디오 재생 장치로서,
    오디오 파일이 재생될 때 발생되는 제1 재생 지연 D1을 계산하도록 구성된 계산 유닛;
    제어 디바이스가 상기 오디오 파일을 재생할 때 발생되는 제2 재생 지연 D2를 획득하도록 구성된 획득 유닛;
    상기 계산 유닛에 의해 얻어진 D1 및 상기 획득 유닛에 의해 획득된 D2에 따라 지연 오프셋 Offset(여기서, Offset=D1-D2임)을 계산하도록 구성된 발생 유닛;
    상기 발생 유닛에 의해 발생된 Offset이 0이 아닐 때, Offset의 절대값에 대응하는 데이터 조절량을 계산하도록 구성된 결정 유닛;
    Offset의 값에 따라 상기 오디오 파일의 현재 재생될 부분에 조절될 데이터를 부가하거나 상기 오디오 파일의 현재 재생될 부분으로부터 조절될 데이터를 삭제하여, 상기 현재 재생될 부분에 대응하는 대체 부분을 얻도록 구성된 조절 유닛 - 상기 조절될 데이터의 데이터 양이 상기 결정 유닛에 의해 얻어진 데이터 조절량임 -; 및
    상기 조절 유닛에 의해 발생된 상기 대체 부분을 재생하도록 구성된 재생 유닛
    을 포함하는, 장치.
  7. 제6항에 있어서, 상기 계산 유닛은,
    상기 오디오 파일이 재생된 시간 길이 T, 상기 오디오 파일의 재생이 시작된 이후 오디오 믹싱 및 DSP 처리 하드웨어에 누적 기입된 데이터에 대응하는 시간 길이 E(t), 상기 오디오 믹싱 및 DSP 처리 하드웨어에서의 버퍼 데이터에 대응하는 시간 길이 F(t), 및 오디오 재생 하드웨어에서의 버퍼 데이터에 대응하는 시간 길이 G(t)를 획득하도록 구성된 획득 서브유닛; 및
    상기 획득 서브유닛에 의해 획득된 T, E(t), F(t) 및 G(t)에 따라 D1(여기서, D1=T-E(t)+F(t)+G(t)임)을 계산하도록 구성된 계산 서브유닛을 포함하는, 장치.
  8. 제6항에 있어서, 상기 조절 유닛은 Offset이 0 미만일 때, 상기 데이터 조절량인 데이터 양을 갖는 상기 조절될 데이터를 상기 오디오 파일의 상기 현재 재생될 부분에 부가하거나; Offset이 0 초과일 때, 상기 데이터 조절량인 데이터 양을 갖는 상기 조절될 데이터를 상기 오디오 파일의 상기 현재 재생될 부분으로부터 삭제하도록 구체적으로 구성되어 있는, 장치.
  9. 제6항에 있어서, 상기 조절 유닛은,
    상기 현재 재생될 부분을 디코딩하여 디코딩된 데이터를 발생시키도록 구성된 디코딩 서브유닛; 및
    Offset이 0 미만일 때, 상기 데이터 조절량인 데이터 양을 갖는 상기 조절될 데이터를 상기 디코딩된 데이터에 부가하거나; Offset이 0 초과일 때, 상기 데이터 조절량인 데이터 양을 갖는 상기 조절될 데이터를 상기 디코딩된 데이터로부터 삭제하도록 구성된 조절 서브유닛을 포함하는, 장치.
  10. 동기 오디오 재생 시스템으로서,
    상기 시스템은 제어 디바이스 및 피제어 디바이스를 포함하고,
    상기 제어 디바이스는 상기 제어 디바이스가 오디오 파일을 재생할 때 발생되는 제2 재생 지연 D2를 계산하도록 구성되어 있고;
    상기 피제어 디바이스는 상기 오디오 파일이 재생될 때 발생되는 제1 재생 지연 D1을 계산하고; D2를 획득하며; 지연 오프셋 Offset(여기서, Offset =D1-D2임)을 계산하고; Offset이 0이 아닐 때, Offset의 절대값에 대응하는 데이터 조절량을 계산하며; Offset의 값에 따라 상기 오디오 파일의 현재 재생될 부분에 조절될 데이터를 부가하거나 상기 오디오 파일의 현재 재생될 부분으로부터 조절될 데이터를 삭제하여, 상기 현재 재생될 부분에 대응하는 대체 부분을 얻고 - 상기 조절될 데이터의 데이터 양이 상기 데이터 조절량임 -; 상기 대체 부분을 재생하도록 구성되어 있는, 시스템.
KR1020150073742A 2014-06-12 2015-05-27 동기 오디오 재생 방법 및 장치 KR101658316B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410261954.8 2014-06-12
CN201410261954.8A CN105448312B (zh) 2014-06-12 2014-06-12 音频同步播放方法、装置及***

Publications (2)

Publication Number Publication Date
KR20150142596A true KR20150142596A (ko) 2015-12-22
KR101658316B1 KR101658316B1 (ko) 2016-09-22

Family

ID=53434191

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150073742A KR101658316B1 (ko) 2014-06-12 2015-05-27 동기 오디오 재생 방법 및 장치

Country Status (5)

Country Link
US (1) US10180981B2 (ko)
EP (1) EP2955713A1 (ko)
JP (1) JP6141358B2 (ko)
KR (1) KR101658316B1 (ko)
CN (1) CN105448312B (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106231108B (zh) * 2016-08-10 2019-10-29 Tcl移动通信科技(宁波)有限公司 一种移动终端音量控制方法及***
CN106373600B (zh) * 2016-10-08 2018-03-02 广东欧珀移动通信有限公司 一种音频同步播放方法、装置、***及终端
CN108170398B (zh) * 2016-12-07 2021-05-18 博通集成电路(上海)股份有限公司 用于同步扬声器的装置和方法
KR20180068069A (ko) * 2016-12-13 2018-06-21 삼성전자주식회사 전자 장치 및 이의 제어 방법
CN109521988B (zh) * 2017-09-18 2022-04-15 炬芯科技股份有限公司 一种音频播放同步方法及装置
CN109600650B (zh) * 2018-08-01 2020-06-19 北京微播视界科技有限公司 用于处理数据的方法和装置
CN109688528A (zh) * 2018-12-27 2019-04-26 安克创新科技股份有限公司 音频设备及信号延迟的测试方法、***以及存储介质
CN111556467B (zh) * 2020-03-31 2023-08-08 惠州市德赛西威汽车电子股份有限公司 一种手机互联音频播放处理方法
CN112004132B (zh) * 2020-09-02 2022-10-21 北京猿力未来科技有限公司 一种视频同步播放方法及装置
CN112073890B (zh) * 2020-09-11 2022-08-02 成都极米科技股份有限公司 音频数据处理方法、装置和终端设备
CN112423105B (zh) * 2020-10-27 2024-03-15 深圳Tcl新技术有限公司 数据传输方法、设备及介质
CN113038224B (zh) 2021-03-26 2023-03-24 北京小米移动软件有限公司 音画同步方法及装置
CN113436639B (zh) * 2021-08-26 2021-12-03 北京百瑞互联技术有限公司 一种音频流补偿方法、装置、存储介质及设备
CN115691516B (zh) * 2022-11-02 2023-09-05 广东保伦电子股份有限公司 一种低延迟音频矩阵配置方法及服务器

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2136576A2 (en) * 2008-05-23 2009-12-23 Yamaha Corporation AV System

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7039193B2 (en) * 2000-10-13 2006-05-02 America Online, Inc. Automatic microphone detection
CN1742492B (zh) * 2003-02-14 2011-07-20 汤姆森特许公司 媒体内容的基于音频和视频的媒体服务的自动同步
US20070087686A1 (en) * 2005-10-18 2007-04-19 Nokia Corporation Audio playback device and method of its operation
US8379868B2 (en) * 2006-05-17 2013-02-19 Creative Technology Ltd Spatial audio coding based on universal spatial cues
US8374365B2 (en) * 2006-05-17 2013-02-12 Creative Technology Ltd Spatial audio analysis and synthesis for binaural reproduction and format conversion
US7894511B2 (en) 2006-07-21 2011-02-22 Motorola Mobility, Inc. Multi-device coordinated audio playback
JP4360400B2 (ja) * 2006-12-05 2009-11-11 セイコーエプソン株式会社 コンテンツ再生システムおよびこれに用いられる再生装置、並びにコンテンツ再生方法
EP2429218A4 (en) * 2009-05-07 2012-03-28 Huawei Tech Co Ltd DETECTION SIGNAL DELAY METHOD, SENSOR DEVICE AND ENCODER
WO2011076290A1 (en) * 2009-12-24 2011-06-30 Nokia Corporation An apparatus
US8855101B2 (en) * 2010-03-09 2014-10-07 The Nielsen Company (Us), Llc Methods, systems, and apparatus to synchronize actions of audio source monitors
US9501100B2 (en) * 2010-09-30 2016-11-22 Apple Inc. Communicating sensor data between electronic devices
US20130066451A1 (en) * 2011-09-14 2013-03-14 Aravind Na Ganesan System and method for mitigating frequency mismatch in a receiver system
FR2996094B1 (fr) * 2012-09-27 2014-10-17 Sonic Emotion Labs Procede et systeme de restitution d'un signal audio
EP3806498B1 (en) * 2013-09-17 2023-08-30 Wilus Institute of Standards and Technology Inc. Method and apparatus for processing audio signal
CN104467928B (zh) 2013-09-18 2018-08-14 华为技术有限公司 一种终端设备之间协作的方法和设备

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2136576A2 (en) * 2008-05-23 2009-12-23 Yamaha Corporation AV System

Also Published As

Publication number Publication date
CN105448312A (zh) 2016-03-30
US10180981B2 (en) 2019-01-15
KR101658316B1 (ko) 2016-09-22
CN105448312B (zh) 2019-02-19
EP2955713A1 (en) 2015-12-16
US20150363411A1 (en) 2015-12-17
JP6141358B2 (ja) 2017-06-07
JP2016004600A (ja) 2016-01-12

Similar Documents

Publication Publication Date Title
KR101658316B1 (ko) 동기 오디오 재생 방법 및 장치
JP6883636B2 (ja) ダッキング制御のためのメタデータ
US20110170710A1 (en) Method and apparatus for adjusting volume
CN108111997A (zh) 蓝牙设备音频同步方法和***
JP2010539739A (ja) データ・フローを同期化する方法
WO2017092329A1 (zh) 一种播放流媒体的方法和装置
CN104333802A (zh) 一种视频播放方法及视频播放器
CN104464743B (zh) 一种在语音聊天室中播放背景音乐的方法及移动终端
US10747492B2 (en) Signal processing apparatus, signal processing method, and storage medium
JP7201033B2 (ja) 音データ処理装置、音データ処理方法及びプログラム
JP5093331B2 (ja) コンテンツ再生装置およびそのプログラム
US8369456B2 (en) Data processing apparatus and method and encoding device
US20230031866A1 (en) System and method for remote audio recording
JP2013005423A (ja) 映像再生装置、映像再生方法およびプログラム
CN110099183B (zh) 一种音频数据处理装置、方法以及通话设备
KR102135737B1 (ko) 피어 및 피어의 시작 지점 조정 방법
JP4580297B2 (ja) 音声再生装置、音声録音再生装置、およびそれらの方法、記録媒体、集積回路
WO2005104125A1 (ja) 記録再生装置、同時記録再生制御方法、および同時記録再生制御プログラム
JP2009503757A (ja) 光ディスクプログラムの再生を制御する方法及び装置
US8572273B2 (en) Method and apparatus for reproducing multimedia data by controlling reproducing speed
TW201905903A (zh) 音訊控制裝置及其方法
KR101060490B1 (ko) 가변 비트레이트의 파일의 평균 비트레이트 계산 방법 및 장치, 및 상기 장치를 포함하는 오디오 장치
US7835627B2 (en) Method and device for restoring sound and pictures
JP2006134271A (ja) 再生装置
WO2020066660A1 (ja) 情報処理方法、情報処理装置およびプログラム

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