KR20120046308A - 버퍼링된 오디오 데이터와 라이브 방송의 동기화 - Google Patents

버퍼링된 오디오 데이터와 라이브 방송의 동기화 Download PDF

Info

Publication number
KR20120046308A
KR20120046308A KR1020127006593A KR20127006593A KR20120046308A KR 20120046308 A KR20120046308 A KR 20120046308A KR 1020127006593 A KR1020127006593 A KR 1020127006593A KR 20127006593 A KR20127006593 A KR 20127006593A KR 20120046308 A KR20120046308 A KR 20120046308A
Authority
KR
South Korea
Prior art keywords
audio broadcast
live audio
buffered
playback
data
Prior art date
Application number
KR1020127006593A
Other languages
English (en)
Other versions
KR101248287B1 (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 KR20120046308A publication Critical patent/KR20120046308A/ko
Application granted granted Critical
Publication of KR101248287B1 publication Critical patent/KR101248287B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/56Arrangements characterised by components specially adapted for monitoring, identification or recognition covered by groups H04H60/29-H04H60/54
    • H04H60/58Arrangements characterised by components specially adapted for monitoring, identification or recognition covered by groups H04H60/29-H04H60/54 of audio
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/40Arrangements for broadcast specially adapted for accumulation-type receivers
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/27Arrangements for recording or accumulating broadcast information or broadcast-related information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/35Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users
    • H04H60/37Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users for identifying segments of broadcast information, e.g. scenes or extracting programme ID
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Circuits Of Receivers In General (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

전자 장치(10) 상에 라이브 오디오 방송을 버퍼링하고 그 후에 버퍼링된 데이터를 재생하는 것에 관한 다양한 기법이 제공된다. 일 실시예에서, 버퍼링된 데이터의 재생 속도는 데이터가 원래 방송되었던 실제 속도에 대해 증가될 수 있다(126). 버퍼링된 재생이 (증가된 재생 속도를 사용하여) 라이브 방송과 동기화되거나 그를 따라 잡는 경우, 전자 장치는 버퍼링을 비활성화시키고 그 대신에 라이브 스트림을 출력할 수 있다(128). 이것은 버퍼링(인코딩 등) 및 버퍼링된 데이터의 재생(디코딩 등)에 필요한 처리 사이클을 낮추고 그로써 전력 소모를 감소시킴으로써 처리 수요를 감소시킨다.

Description

버퍼링된 오디오 데이터와 라이브 방송의 동기화{SYNCHRONIZATION OF BUFFERED AUDIO DATA WITH LIVE BROADCAST}
본 개시 내용은 일반적으로 버퍼링된 라디오 방송의 재생에 관한 것으로서, 보다 상세하게는, 재생 속도의 조정을 통해 버퍼링된 재생과 라이브 방송을 동기화시키는 기법에 관한 것이다.
이 섹션은 이하에 기재되고 및/또는 청구되는 본 기법의 다양한 측면에 관련되어 있을 수 있는 기술 분야의 다양한 측면을 읽는 사람에게 소개하기 위한 것이다. 이 설명은 본 개시 내용의 다양한 측면에 대한 더 나은 이해를 용이하게 해주기 위해 읽는 사람에게 배경 정보를 제공하는 데 도움이 될 것으로 생각된다. 따라서, 이러한 말을 이러한 관점에서 봐야 하고 종래 기술의 인정이 아니라는 것을 잘 알 것이다.
지상 방송(예컨대, AM, FM) 및 위성 방송(예컨대, XM 위성 라디오 및 Sirius 위성 라디오, 둘다 현재 미국 뉴욕주 뉴욕시 소재의 Sirius XM, Inc.에 의해 운영됨) 둘다를 포함할 수 있는 라디오 프로그램은 통상적으로, 단지 몇가지 예를 들자면, 음악, 토크쇼, 스포츠 이벤트, 뉴스 프로그램, 코메디 프로그램, 및 드라마 프로그램과 같은 아주 다양한 콘텐츠를 방송한다. 게다가, 일부 가입-기반 위성 라디오 서비스를 제외하고는, 대부분의 라디오 방송은 일반적으로 무료이고, 안테나와 같은 적절한 수신기 및 특정의 무선 주파수 또는 주파수 대역을 선택하는 동조 구성요소를 포함하는 대부분의 전자 장치를 통해 즉각 액세스가능하다. 예를 들어, 라디오 프로그램의 재생을 제공하는 전자 장치는 가정 또는 자동차에 있는 스테레오 시스템과 같은 비휴대용 전자 장치는 물론, 통합된 무선 안테나(들) 및 튜너를 가지는 휴대용 디지털 미디어 플레이어와 같은 휴대용 전자 장치를 포함할 수 있다. 그에 따라, 이용가능한 프로그램 콘텐츠의 다양성 및 라디오 방송에의 액세스가 비교적 쉬운 것으로 인해, 많은 개인이 일종의 엔터테인먼트(예컨대, 스포츠 이벤트, 토크쇼) 또는 여가(예컨대, 음악 방송)로서 또는 정보(예컨대, 뉴스 보도)를 얻기 위해 하루 종일 라디오를 듣고 있다.
통상적으로, 라디오 프로그램은 소정의 방송 스케줄을 따르며, 따라서 각각의 프로그램이 특정의 스케줄링된 또는 지정된 시간에 방송된다. 따라서, 특정의 라디오 프로그램의 라이브 방송을 (예컨대, 실시간으로) 듣기 위해서는, 개인이 일반적으로 라디오 프로그램의 스케줄링된 시간에 특정의 방송국에 동조되어 있을 필요가 있을 것이다. 그렇지만, 개인이 지정된 방송 시간의 시작에서 특정의 라디오 프로그램에 동조할 수 없고 따라서 프로그램의 전부 또는 일부분을 놓치는 때가 있을 수 있다. 그에 따라, 라디오 방송이 나중에 재생하기 위해 전자 장치에 버퍼링(예컨대, 저장)될 수 있는 기법을 제공하면 편리할지도 모른다. 게다가, 일부 전자 장치, 특히 제한된 양의 배터리 전원에 의존하는 휴대용 디지털 미디어 플레이어의 전력 제한으로 인해, 오디오 방송 데이터의 재생 동안 전체 전력 소모를 감소시키는 기법도 제공하면 유익할지도 모른다.
본 명세서에 개시된 특정의 실시예의 요약이 이하에 기재되어 있다. 이러한 측면이 단지 읽는 사람에게 이들 특정의 실시예의 간략한 요약을 제공하기 위하여 제시되어 있다는 것과 이러한 측면이 본 개시 내용의 범위를 제한하기 위한 것이 아니라는 것을 잘 알 것이다. 실제로, 본 개시 내용이 이하에 기술되어 있지 않을 수도 있는 다양한 측면을 포괄할 수 있다.
본 개시 내용은 일반적으로 라이브 오디오 방송을 전자 장치에 저장하고 버퍼링된 데이터를 재생하는 기법에 관한 것이다. 일 실시예에서, 버퍼링된 데이터의 재생 속도는 데이터가 원래 방송되었던 정상(예컨대, 실제) 속도에 대해 증가될 수 있다. 버퍼링된 재생이 (증가된 속도를 사용하여) 라이브 방송과 동기화되거나 그를 따라 잡는 경우, 전자 장치는 버퍼링을 비활성화시키고 그 대신에 라이브 스트림을 출력할 수 있다. 이것은 버퍼링(인코딩 등) 및 버퍼링된 데이터의 재생(디코딩 등)에 필요한 처리 사이클을 낮추고 그로써 전력 소모를 감소시킴으로써 처리 수요를 감소시킨다. 잘 알 것인 바와 같이, 본 명세서에 기술된 버퍼링된 재생 기법의 하나 이상의 측면이 전자 장치 상에서의 사용자 선호 설정을 통해 구성될 수 있다.
본 개시 내용의 다양한 측면과 관련하여 앞서 살펴본 특징의 다양한 미세 조정이 존재할 수 있다. 추가적인 특징도 역시 다양한 측면에 포함될 수 있다. 이들 미세 조정 및 부가적인 특징이 개별적으로 또는 임의의 조합으로 존재할 수 있다. 예를 들어, 예시된 실시예들 중 하나 이상의 실시예와 관련하여 이하에서 논의되는 다양한 특징이 본 개시 내용의 상기한 측면들 중 임의의 측면에 단독으로 또는 임의의 조합으로 포함될 수 있다. 다시 말하지만, 이상에서 제시된 간략한 요약은 본 개시 내용의 실시예의 특정의 측면 및 상황을 청구된 발명 대상으로 제한하려는 것이 아니라 읽는 사람에게 알려주기 위한 것에 불과하다.
이하의 상세한 설명을 읽어보고 도면을 참조하면 본 개시 내용의 다양한 측면이 더 잘 이해될 수 있다.
도 1은 본 개시 내용의 측면에 따른, 오디오 방송 데이터의 버퍼링 및 재생을 제공하도록 구성된 처리 논리를 포함하는 전자 장치의 블록도.
도 2는 본 개시 내용의 측면에 따른, 핸드헬드 전자 장치의 정면도.
도 3은 본 개시 내용의 측면에 따른, 도 1의 전자 장치에서 구현될 수 있는 처리 논리를 나타낸 더 상세한 블록도.
도 4는 오디오 프로그램의 라이브 방송 및 재생 속도 조정을 사용하지 않는 오디오 프로그램의 버퍼링된 재생을 나타낸 그래픽 타임라인.
도 5는 본 개시 내용의 측면에 따른, 오디오 프로그램의 라이브 방송 및, 버퍼링된 재생이 라이브 방송과 궁극적으로 동기화되도록, 증가된 재생 속도에서의 오디오 프로그램의 버퍼링된 재생을 나타낸 그래픽 타임라인.
도 6은 도 5에 도시된 실시예에 따른, 버퍼링된 오디오 프로그램의 재생을 대응하는 라이브 방송과 동기화시키는 프로세스를 나타낸 플로우차트.
도 7은 본 개시 내용의 측면에 따른, 오디오 프로그램의 라이브 방송 및 적어도 하나의 증가된 재생 속도를 사용하는 오디오 프로그램의 버퍼링된 재생을 나타낸 그래픽 타임라인으로서, 오디오 프로그램의 버퍼링된 재생은, 버퍼링된 재생이 궁극적으로 라이브 방송과 동기화되도록, 제1 증가된 재생 속도로 오디오 프로그램의 필수적인 부분을 재생하고 제2 증가된 재생 속도를 사용하여 오디오 프로그램의 비필수적인 부분을 재생하는 것, 또는 제1 증가된 재생 속도를 사용하여 오디오 프로그램의 필수적인 부분을 재생하는 반면 오디오 프로그램의 비필수적인 부분의 재생을 완전히 생략하는 것을 포함할 수 있음.
도 8은 도 7에 도시된 실시예에 따른, 버퍼링된 오디오 프로그램의 재생을 대응하는 라이브 방송과 동기화시키는 프로세스를 나타낸 플로우차트.
도 9는 본 개시 내용의 측면에 따른, 버퍼링된 오디오 프로그램의 재생과 관련하여 사용자에 의해 구성될 수 있는 다양한 옵션을 나타낸 도 2의 장치 상에 디스플레이될 수 있는 복수의 화면을 나타낸 도면.
본 개시 내용의 하나 이상의 구체적인 실시예에 대해 이하에서 기술할 것이다. 이러한 기술된 실시예는 여기 개시된 기법의 예시에 불과하다. 그에 부가하여, 이러한 실시예에 대한 간략한 설명을 제공하기 위해, 실제의 구현의 모든 특징이 본 명세서에 기술되어 있지는 않을 수 있다. 임의의 이러한 실제 구현의 개발에서, 임의의 엔지니어링 또는 설계 프로젝트에서와 같이, 구현마다 다를 수 있는 시스템-관련 및 사업-관련 제약요건에 부합하는 것과 같은 개발자의 특정의 목적을 달성하기 위해 많은 구현-관련 결정이 행해져야만 한다는 것을 잘 알 것이다. 게다가, 이러한 개발 노력이 복잡하고 시간이 많이 걸릴 수 있지만, 그럼에도 불구하고 본 발명의 이점을 갖는 당업자에게는 설계, 제조 및 제작의 일상적인 일이라는 것을 잘 알 것이다.
본 개시 내용의 다양한 실시예의 구성요소를 소개할 때, "한", "어떤", 및 "그"와 같은 표현은 그 구성 요소가 하나 이상 있다는 것을 의미하기 위한 것이다. "포함하는", "구비하는" 및 "갖는"과 같은 용어는 포함적이고 또 열거된 구성요소 이외의 부가의 구성요소가 있을 수 있다는 것을 의미하기 위한 것이다. 그에 부가하여, 본 개시 내용의 "일 실시예" 또는 "한 실시예"라고 하는 것이 열거된 특징을 역시 포함하는 부가적인 실시예의 존재를 배제하는 것으로 해석되기 위한 것이 아님을 잘 알 것이다.
이하에서 논의될 것인 바와 같이, 본 개시 내용은 일반적으로, 버퍼링된 재생이 특정의 양의 시간(증가된 재생 속도에 의존할 수 있음) 후에 라디오 프로그램의 라이브 방송과 동기화되도록, 증가된 재생 속도를 사용하여 전자 장치 상에서 버퍼링된 오디오 프로그램을 재생하는 기법에 관한 것이다. 예를 들어, 특정의 실시예에서, 전자 장치는 그의 스케줄링된 또는 지정된 방송 시간의 시작에서 라디오 프로그램을 버퍼링하기 시작할 수 있다. 이것은 라디오 프로그램의 디지털 표현을 인코딩하여 전자 장치 상에 저장하는 것을 포함할 수 있다. 따라서, 라디오 프로그램이 실시간으로 방송되고 있을 때 라디오 프로그램에 동조하여 청취할 수 없는 청취자가 나중에 버퍼링된 라디오 프로그램을 전자 장치 상에서 재생함으로써 전체 프로그램을 여전히 들을 수 있다. 이 시간 동안, 전자 장치는 라디오 프로그램의 이전 부분을 디코딩하여 재생하면서 라이브 방송을 계속하여 버퍼링할 수 있다.
게다가, 여기 개시된 기법에 따르면, 버퍼링된 라디오 프로그램의 재생이 궁극적으로 라이브 방송과 동기화되거나 그를 "따라 잡도록" 버퍼링된 라디오 프로그램이 재생되는 속도가 조정(예컨대, 증가)될 수 있다. 이 시점에서, 하나 이상의 사용자 기본 설정에 기초하여, 전자 장치는 라디오 프로그램을 버퍼링하는 것을 중단하고 단순히 라이브 스트림을 재생하도록 구성될 수 있다. 잘 알 것인 바와 같이, 이것은 전자 장치 상에서 버퍼링, 인코딩 및/또는 저장할 필요성을 감소시킴으로써 처리 수요를 저하시키며, 그로써 전체적인 전력 소모를 감소시키고, 휴대용 전자 장치의 경우에, 배터리 수명을 연장시킨다.
계속하기 전에, 개시된 발명 대상의 더 나은 이해를 용이하게 해주기 위해 본 개시 내용에 전체에 걸쳐 사용되는 용어들 중 몇몇이 먼저 정의될 것이다. 예를 들어, 본 명세서에서 사용되는 바와 같이, "오디오 방송", "오디오 프로그램", "라디오 방송", "라디오 프로그램" 등과 같은 용어는 지상 방송[예컨대, 주파수 변조(FM) 또는 진폭 변조(AM)를 통함] 및 위성 방송(예컨대, XM® 또는 Sirius®, 둘다 현재 Sirius XM, Inc.에 의해 운영됨) 둘다를 포함하는 것으로 이해되어야 한다. 그에 부가하여, FM 및 AM 방송이 종래의 아날로그 방송은 물론, 예를 들어, HD Radio®[예컨대, IBOC(in-band on-channel) 기술을 사용함) 또는 FMeXtra®와 같은 새로운 디지털 지상 방송 표준 둘다를 포함할 수 있다는 것을 잘 알 것이다.
또한, 본 명세서에서 사용되는 바와 같이, "버퍼링" 등과 같은 용어는 라이브 오디오 방송의 디지털 표현을 전자 장치에 저장하는 것을 말하는 것으로 이해되어야 하고, "재생" 또는 "버퍼링된 재생" 등과 같은 용어는 저장된 디지털 표현을 전자 장치 상에서 재생하는 것을 말하는 것으로 이해되어야 한다. 잘 알 것인 바와 같이, 버퍼링은 오디오 데이터를 수신하는 것, 인코딩하는 것, 압축하는 것, 암호화하는 것 및 저장 장치에 기록하는 것 중 하나 이상을 포함할 수 있고, 재생은 오디오 데이터를 저장 장치로부터 검색하는 것과, 오디오 데이터를 복호화하는 것, 디코딩하는 것, 압축 해제하는 것, 및 오디오 출력 장치로 출력하는 것 중 하나 이상을 포함할 수 있다.
게다가, "라이브"라는 용어는, 라디오 방송에 적용될 때, 지상 무선 탑, 위성을 사용하여 또는 네트워크(예컨대, 인터넷)를 통해 달성될 수 있는, 특정의 라디오 프로그램을 나타내는 무선파를 전송하는 동작을 의미하는 것으로 이해되어야 한다. 라이브 방송은 실질적으로 실시간 이벤트(예컨대, 뉴스 보도, 스포츠 이벤트 또는 콘서트로부터의 라이브 해설)에 또는 이전에 녹음된 데이터(예컨대, 이전에 녹음된 라이브 라디오 프로그램의 재생)에 대응할 수 있다. 따라서, 명확하게 하기 위해, 라디오 방송의 실제 콘텐츠가 꼭 (예컨대, 실질적으로 실시간으로 일어나는) 라이브 이벤트에 대응할 필요가 없을 수 있지만, 전송이 실질적으로 실시간으로 일어나고 있다는 의미에서 방송된 오디오 데이터의 전송이 "라이브"이다. 그에 부가하여, "보통" 또는 "기본값"이라는 용어는, 버퍼링된 오디오 프로그램이 재생되는 속도를 기술하는 데 사용될 때 라디오 프로그램이 원래 방송되었던 실제 속도를 의미하는 것으로 이해되어야 한다. 환언하면, 보통 또는 기본값 속도로 재생되는 버퍼링된 오디오 프로그램은 실질적으로 원래의 라이브 방송과 동일하게 들릴 것이다.
상기한 점들을 염두에 두면, 도 1은 본 개시 내용의 측면에 따른, 방송된 오디오 프로그램의 버퍼링 및 재생을 제공할 수 있는 전자 장치(10)의 일례를 나타낸 블록도이다. 전자 장치(10)는 오디오 방송 데이터를 수신하도록 구성된 수신기(예컨대, 30)를 포함하는 휴대용 미디어 플레이어, 랩톱, 휴대폰 등과 같은 임의의 유형의 전자 장치일 수 있다. 단지 일례로서, 전자 장치(10)는 iPod® 또는 iPhone®의 한 모델과 같은 휴대용 전자 장치, 또는 MacBook®, MacBook® Pro, MacBook Air®, iMac®, Mac® Mini, 또는 Mac Pro®의 한 모델과 같은 데스크톱 또는 랩톱 컴퓨터(미국 캘리포니아주 쿠퍼티노 소재의 Apple Inc.로부터 입수가능함)일 수 있다. 다른 실시예에서, 전자 장치(10)는 또한 오디오 방송 데이터를 수신 및 처리할 수 있는 다른 제조업체로부터의 전자 장치의 한 모델일 수 있다. 이하에서 더 논의되는 바와 같이, 전자 장치(10)는, 버퍼링된 재생이 궁극적으로 라이브 방송과 동기화되거나 그를 "따라 잡도록"(이 시점에서 버퍼링이 중단될 수 있음), 증가된 재생 속도를 사용하여 버퍼링된 오디오 프로그램을 재생하도록 구성될 수 있으며, 따라서 전체적인 전력 소모를 감소시킨다.
도 1에 도시된 바와 같이, 전자 장치(10)는 장치(10)의 기능에 기여하는 다양한 내부 및/또는 외부 구성요소를 포함할 수 있다. 당업자라면 도 1에 도시된 다양한 기능 블록이 하드웨어 요소(회로를 포함함), 소프트웨어 요소(컴퓨터 판독가능 매체 상에 저장된 컴퓨터 코드를 포함함), 또는 하드웨어와 소프트웨어 요소 둘다의 조합을 포함할 수 있다는 것을 잘 알 것이다. 예를 들어, 여기 예시된 실시예에서, 전자 장치(10)는 입/출력(I/O) 포트(12), 입력 구조(14), 하나 이상의 프로세서(16), 메모리 장치(18), 비휘발성 저장 장치(20), 확장 카드(들)(22), 네트워킹 장치(24), 전원(26), 디스플레이(28), 오디오 방송 수신기(30), 오디오 방송 처리 논리(32), 및 오디오 출력 장치(34)를 포함할 수 있다.
I/O 포트(12)는 오디오 출력 장치(34)를 비롯한 각종의 외부 장치에 연결되도록 구성된 포트를 포함할 수 있다. 일 실시예에서, 출력 장치(34)는 외부 헤드폰 또는 스피커를 포함할 수 있고, I/O 포트(12)는 오디오 출력 장치(34)를 전자 장치(10)에 연결하도록 구성된 오디오 입력 포트를 포함할 수 있다. 예를 들어, I/O 포트(12)는 2.5mm 포트, 3.5mm 포트, 또는 6.35mm(1/4 인치) 오디오 연결 포트, 또는 이러한 오디오 포트의 조합을 포함할 수 있다. 다른 실시예에서, 오디오 출력 장치(34)는 또한 장치(10)에 통합된 스피커를 포함할 수 있다. 그에 부가하여, I/O 포트(12)는 장치(10)의 전원(26)(하나 이상의 충전 배터리를 포함할 수 있음)을 충전시키거나 장치(10)와 외부 소스 사이에서 데이터를 전송하는 기능을 할 수 있는 Apple Inc.의 독점 포트를 포함할 수 있다.
입력 구조(14)는 프로세서(들)(16)에 사용자 입력 또는 피드백을 제공할 수 있다. 예를 들어, 입력 구조(14)는 전자 장치(10) 상에서 실행되는 응용 프로그램과 같은 전자 장치(10)의 하나 이상의 기능을 제어하도록 구성될 수 있다. 단지 일례로서, 입력 구조(14)는 버튼, 슬라이더, 스위치, 제어 패드, 키, 노브, 스크롤 휠, 키보드, 마우스, 터치패드 등, 또는 이들의 어떤 조합을 포함할 수 있다. 일 실시예에서, 입력 구조(14)는 사용자가 장치(10) 상에 디스플레이되는 그래픽 사용자 인터페이스(GUI)를 탐색할 수 있게 해줄 수 있다. 그에 부가하여, 입력 구조(14)는 디스플레이(28)와 관련하여 제공되는 터치 감응 메커니즘을 포함할 수 있다. 이러한 실시예에서, 사용자는 터치 감응 메커니즘을 통해 디스플레이된 인터페이스 요소를 선택하거나 그와 상호작용할 수 있다.
프로세서(들)(16)는 하나 이상의 "범용" 마이크로프로세서, ASIC(application-specific processor), 또는 이러한 처리 구성요소의 조합과 같은 하나 이상의 마이크로프로세서를 포함할 수 있다. 예를 들어, 프로세서(들)(16)는 명령어 집합 프로세서(예컨대, RISC), 그래픽/비디오 프로세서, 오디오 프로세서, 및/또는 기타 관련 칩셋을 포함할 수 있다. 프로세서(들)(16)는 장치(10) 상의 응용 프로그램(미디어 플레이어 응용 프로그램 등)을 실행하고 장치(10) 상에[예컨대, 저장 장치(20)에] 저장된 디지털 오디오 데이터를 재생하는 처리 능력을 제공할 수 있다. 일 실시예에서, 프로세서(들)(16)는 또한 수신기(30)를 통해 수신된 오디오 방송 데이터를 인코딩, 압축, 및/또는 암호화하는 하나 이상의 디지털 신호 처리기(DSP)를 포함할 수 있다.
프로세서(들)(16)에 의해 처리될 명령어 또는 데이터가, 랜덤 액세스 메모리(RAM)와 같은 휘발성 메모리이거나 판독 전용 메모리(ROM)와 같은 비휘발성 메모리이거나, RAM 및 ROM 장치의 조합일 수 있는 메모리(18)에 저장될 수 있다. 예를 들어, 메모리(18)는 전자 장치(10) 상에서 실행될 수 있는 운영 체제, 응용 프로그램, 그래픽 사용자 인터페이스 함수, 또는 임의의 다른 루틴과 같은 전자 장치(10)에 대한 펌웨어를 저장할 수 있다. 그에 부가하여, 메모리(18)는 전자 장치(10)의 동작 동안에 데이터를 버퍼링 또는 캐싱하는 데[오디오 방송 처리 논리(32)에 의한 인코딩 및 압축 이전에 오디오 방송 데이터를 캐싱하는 등에] 사용될 수 있다.
도 1에 도시된 구성요소는 데이터 및/또는 명령어의 영구 저장을 위한 플래시 메모리, 하드 드라이브, 또는 임의의 다른 광, 자기, 및/또는 고상 저장 매체와 같은 비휘발성 저장 장치(20)를 추가로 포함할 수 있다. 일례로서, 비휘발성 저장 장치(20)는 오디오 데이터, 비디오 데이터, 사진은 물론, 임의의 다른 적당한 데이터를 비롯한 데이터 파일을 저장하는 데 사용될 수 있다. 이하에서 더 논의되는 바와 같이, 비휘발성 저장 장치(20)는 오디오 방송 데이터의 저장을 위해 오디오 방송 수신기(30) 및 오디오 방송 처리 논리(32)와 관련하여 장치(10)에 의해 이용될 수 있다.
전자 장치(10)는 또한 무선 802.11 표준 또는 임의의 다른 적당한 네트워킹 표준[LAN(local area network), WAN(wide area network), EDGE(Enhanced Data Rates for GSM Evolution) 네트워크, 3G 데이터 네트워크, 또는 인터넷 등]을 통해 네트워크 연결을 제공할 수 있는 네트워크 제어기 또는 네트워크 인터페이스 카드(NIC)일 수 있는 네트워크 장치(24)를 포함한다. 특정의 실시예에서, 네트워크 장치(24)는 Apple Inc.로부터 이용가능한 iTunes® 음악 서비스와 같은 온라인 디지털 미디어 콘텐츠 공급자에의 연결을 제공할 수 있거나, 인터넷 기반 라디오 방송(예컨대, 팟캐스트)에 액세스하거나, 그를 스트리밍 또는 다운로드하는 데 사용될 수 있다.
디스플레이(28)는 운영 체제 또는 앞서 언급한 미디어 플레이어 응용 프로그램에 대한 GUI와 같은 장치(10)에 의해 발생된 다양한 영상을 디스플레이하는 데 사용될 수 있다. 디스플레이(28)는, 예를 들어, LCD(liquid crystal display), 플라즈마 디스플레이, 또는 OLED(organic light emitting diode) 디스플레이와 같은 임의의 적당한 디스플레이일 수 있다. 그에 부가하여, 디스플레이(28)는 장치(10)에 대한 제어 인터페이스의 일부로서 기능할 수 있는 앞서 논의한 터치-감응 메커니즘(예컨대, 터치 스크린)과 관련하여 제공될 수 있다.
앞서 언급한 바와 같이, 전자 장치(10)는 라이브 오디오 방송 데이터를 수신하도록 구성되어 있을 수 있는 수신기(30)를 포함할 수 있다. 예를 들어, 일 실시예에서, 수신기(30)는 아날로그(예컨대, AM 및 FM 방송) 및 디지털(예컨대, 위성 라디오 또는 HD Radio®) 방송 신호를 수신하도록 구성된 하나 이상의 안테나를 포함할 수 있다. 다른 실시예에서, 수신기(30)는, 네트워크 장치(24)와 관련하여, 또한 인터넷과 같은 네트워크를 통해 전송되는 디지털 오디오 방송을 수신하도록 구성될 수 있지만, 이러한 방송이 주문형일 수 있고, 이상에서 정의된 바와 같은 라이브 방송을 항상 구성하는 것은 아닐 수 있다는 것을 잘 알 것이다. 그에 부가하여, 수신기(30)가 장치(10)가 (예컨대, 특정의 라디오 방송국에 대응하는) 특정의 무선 주파수로부터 원하는 신호를 선택할 수 있게 해주는 동조 구성요소를 포함할 수 있다는 것을 잘 알 것이다.
수신기(30)에 의해 수신된 오디오 방송 데이터는, 앞서 논의된 바와 같이, 통합된 스피커 또는 [I/O 포트(12)를 통해 장치에 연결되는] 외부 헤드폰 또는 스피커를 포함할 수 있는 오디오 출력 장치(34)를 통한 라이브 재생을 위해 오디오 방송 처리 논리(32)에 의해 추가적으로 처리될 수 있다. 처리 논리(32)는 또한 나중에 있을 차후의 재생을 위해 장치(10) 상에서의 수신된 오디오 방송 데이터를 버퍼링하는 것(예컨대, 인코딩, 압축, 암호화, 및/또는 저장하는 것)을 제공할 수 있다. 따라서, 장치(10)가 특정의 오디오 방송을 버퍼링하도록 구성되어 있을 때, 라이브 방송의 시작 부분을 놓친 사용자는 여전히 버퍼링된 데이터를 재생함으로써 방송 전체를 들을 수 있다. 일례를 제공하기 위해, 오디오 프로그램이 오후 6시에 시작하여 오후 7시 15분까지 75분 길이이고, 사용자가 라이브 방송이 20분 지난 후(예컨대, 오후 6시 20분)까지 동조할 수 없는 경우, 사용자는 여전히 버퍼링된 데이터를 재생함으로써 시작 부분부터 라이브 방송 전체를 들을 수 있다. 이 경우에, 라이브 방송 전체가 방송의 이전의 버퍼링된 부분의 재생과 동시에 버퍼링되도록, 처리 논리(32)는 이전의 버퍼링된 샘플을 디코딩하면서 현재의 라이브 방송 스트림을 계속하여 인코딩할 수 있다. 따라서, 이 시나리오에서, 버퍼링된 재생 및 라이브 방송이 20분만큼 시간 천이되어 있다.
게다가, 앞서 논의된 바와 같이, 오디오 방송 처리 논리(32)는 또한 (앞서 정의된 바와 같이) 증가된 재생 속도로(즉, 보통 속도보다 빠르게) 버퍼링된 오디오 프로그램을 재생하도록 구성될 수 있다. 따라서, 라이브 방송의 길이 및 버퍼링된 재생 속도가 증가된 인자(factor)에 따라, 버퍼링된 재생이 궁극적으로 라이브 방송과 동기화되거나 그를 "따라 잡을" 수 있다. 버퍼링된 데이터와 라이브 방송이 동기화되면, 처리 논리(32)는 라이브 스트림을 버퍼링하는 것을 중단하도록 구성될 수 있고, 그로써 프로세서 부하(예컨대, 인코딩, 압축, 암호화 등)를 감소시키고 전력 소모를 저하시킨다. 버퍼링된 데이터와 라이브 방송의 동기화에 관한 다양한 기법에 대해 이하에서 더 논의한다.
이제 도 2를 참조하면, 전자 장치(10)는 Apple Inc.로부터 입수가능한 iPod® 또는 iPhone®의 한 모델일 수 있는 휴대용 핸드헬드 전자 장치(38)의 형태로 예시되어 있다. 도시된 실시예에서, 핸드헬드 장치(38)는 내부 구성요소를 물리적 손상으로부터 보호하고 이들을 전자기 간섭으로부터 차폐하는 기능을 할 수 있는 인클로저(40)를 포함한다. 인클로저(40)는 플라스틱, 금속 또는 복합 물질과 같은 임의의 적당한 물질 또는 물질의 조합으로 형성될 수 있고, 무선 반송파 신호 또는 무선 네트워킹 신호와 같은 전자기 방사의 특정의 주파수가 통과하여 오디오 방송 수신기(30)로 또는 무선 통신 회로[예컨대, 네트워크 장치(24)][둘다는, 도 2에 도시된 바와 같이, 인클로저(40) 내에 배치되어 있을 수 있음]로 갈 수 있게 해줄 수 있다.
도시된 바와 같이, 인클로저(40)는 사용자 입력 구조(14)를 포함하고, 사용자는 이를 통해 핸드헬드 장치(38)와 인터페이스할 수 있다. 예를 들어, 각각의 입력 구조(14)는 눌러지거나 활성화될 때 하나 이상의 각자의 장치 기능을 제어하도록 구성될 수 있다. 일례로서, 입력 구조(14) 중 하나 이상이 디스플레이될 "홈" 화면(42) 또는 메뉴를 호출하고, 절전, 절전 해제, 또는 전원 켬/끔 모드 사이에서 토글하며, 휴대폰 응용 프로그램에 대한 벨소리를 끄고, 볼륨 출력을 증가 또는 감소시키며, 기타 등등을 하도록 구성될 수 있다. 예시된 입력 구조(14)가 단지 예시적인 것이며, 핸드헬드 장치(38)가 버튼, 스위치, 키, 노브, 스크롤 휠 등을 비롯한 다양한 형태로 존재하는 임의의 수의 적당한 사용자 입력 구조를 포함할 수 있다는 것을 잘 알 것이다.
예시된 실시예에서, 핸드헬드 장치(38)는 LCD(liquid crystal display) 형태의 디스플레이(28)를 포함한다. LCD(28)는 핸드헬드 장치(38)에 의해 발생된 다양한 영상을 디스플레이할 수 있다. 예를 들어, LCD(28)는 전원 상태, 신호 세기, 외부 장치 연결 등과 같은 핸드헬드 장치(38)의 하나 이상의 상태에 관한 피드백을 사용자에게 제공하는 다양한 시스템 표시자(44)를 디스플레이할 수 있다. LCD(28)는 또한 사용자가 핸드헬드 장치(38)와 상호작용할 수 있게 해주는 그래픽 사용자 인터페이스(GUI)(45)를 디스플레이할 수 있다. GUI(45)는 LCD(28)의 전부 또는 일부분에 디스플레이될 수 있는 다양한 레이어, 윈도우, 화면, 템플릿, 또는 기타 그래픽 요소를 포함할 수 있다. 예를 들어, 홈 화면(42)에 도시된 바와 같이, GUI(45)는 장치(38)의 응용 프로그램 및 기능을 나타내는 그래픽 요소를 포함할 수 있다. 그래픽 요소는 [예컨대, 디스플레이(28)에 포함된 터치 스크린을 통해 또는 입력 구조(14)를 통해] 각자의 아이콘(46)의 사용자 선택을 검출할 시에 열리거나 실행될 수 있는 다양한 응용 프로그램에 대응하는 아이콘(46)을 포함할 수 있다. 일례로서, 아이콘들(46) 중 하나의 아이콘은 장치(38) 상에 저장된 디지털 오디오 및 비디오 데이터의 재생은 물론, 라이브 및/또는 버퍼링된 오디오 방송 프로그램의 재생을 제공할 수 있는 미디어 플레이어 응용 프로그램(48)을 나타낼 수 있다. 일부 실시예에서, 아이콘(46)의 선택에 의해 계층적 탐색 프로세스로 갈 수 있고, 따라서 아이콘(46)의 선택에 의해 하나 이상의 부가적인 아이콘 또는 기타 GUI 요소를 포함하는 화면으로 간다.
도 3을 참조하면, 일 실시예에 따른, 오디오 방송 처리 논리(32)의 일례의 보다 상세한 도면이 예시되어 있다. 앞서 언급한 바와 같이, 오디오 방송 처리 논리(32)는 라이브 오디오 프로그램을 버퍼링하는 것, 및 그 후에 보통의 또는 증가된 재생 속도로 버퍼링된 오디오 프로그램을 재생하는 것을 제공할 수 있다. 도 3에 도시된 바와 같이, 오디오 방송 처리 논리(32)는 지상 무선 탑 또는 위성일 수 있는 방송국(54)으로부터 오디오 방송 신호(56)를 수신하는 수신기(30)와 통신할 수 있다. 일부 실시예에서, 오디오 방송 수신기(30)는 또한 오디오 방송(56)과 연관된 부반송파 메타데이터 신호(58)를 수신할 수 있다. 예를 들어, 방송 메타데이터(58)는 FM 신호와 연관된 RDS(Radio Data System) 데이터 신호, AM 신호와 연관된 AMSS(Amplitude Modulation Signaling System) 데이터 신호, 또는 디지털 라디오 신호(예컨대, 위성 또는 IBOC 방송)와 연관된 PAD(Program Associated Data) 및 PSD(Program Service Data) 데이터 신호일 수 있다. 그에 부가하여, 처리 논리(32)는 또한 방송 신호를 출력 장치(34)로 보냄으로써 오디오 방송의 라이브 재생을 제공할 수 있다. 처리 논리(32)에 의한 오디오 방송의 버퍼링(예컨대, 인코딩, 압축 및 저장)이 출력 장치(34)를 통한 라이브 재생과 독립적으로 일어날 수 있다는 것을 잘 알 것이다. 예를 들어, 처리 논리(32)는 라이브 재생을 사용하거나 사용하지 않고 오디오 방송을 인코딩 및 저장할 수 있고, 사용자는 이어서 나중에 재생을 위해 저장된 오디오 방송에 액세스할 수 있다.
도 3에 도시된 바와 같이, 오디오 방송 신호(56)가 수신기(30)를 사용하여 전자 장치(10)에 의해 수신된다. 신호(56)가 종래의 FM 또는 AM 방송 신호와 같은 아날로그 신호인 경우, 신호(56)를 디지털 등가 신호(62)로 변환하는 아날로그-디지털 변환기(60)가 제공될 수 있다. 다른 대안으로서, 오디오 방송(56) 및 메타데이터(58) 신호가, 예컨대, 위성 방송을 통해 또는 디지털 FM 또는 AM 방송 기술(예컨대, IBOC, HD Radio®)을 사용하여, 소스(54)로부터 디지털적으로 전송되는 경우, 디지털 신호가 [예컨대, 아날로그-디지털 변환기(60)를 사용하지 않고] 처리 논리(32)에 의해 직접 처리될 수 있다. 도 3에 도시된 인코딩 프로세스의 일부로서, 디지털 오디오 방송 데이터(62)는 먼저 메모리 캐시(64)에 버퍼링된다. 메모리 캐시(64)는 처리 논리(32) 내의 전용 메모리일 수 있거나, 전자 장치(10)의 메모리 장치(18)의 일부일 수 있다. 버퍼링된 방송 데이터(62)는 이어서 인코딩/디코딩 논리(66), 피치 조정 논리(68), 및 재생 속도 관리 논리(70)를 포함할 수 있는 오디오 처리 논리(32)로 전송된다.
인코딩/디코딩 논리(66)는 오디오 방송 데이터(62)를 저장 장치(20)에 저장될 수 있는 형식으로 인코딩 및 압축하기 위해 오디오 코덱을 적용하도록 구성될 수 있다. 예를 들어, 인코딩/디코딩 논리(66)는 AAC(Advanced Audio Coding) 또는 HE-ACC, ALAC(Apple Lossless Audio Codec), Ogg Vorbis, MP3, MP3Pro, MP4, Windows Media Audio, 또는 임의의 다른 음악 인코딩 형식을 이용할 수 있다. 일부 실시예에서, 인코딩되고 있는 오디오 프로그램의 유형에 따라 AMR(Adaptive Multi-Rate) 및 VMR(Variable Multi-Rate)과 같은 음성 코덱도 역시 인코딩/디코딩 논리(66)에 의해 이용될 수 있다. 잘 알 것인 바와 같이, 인코딩/디코딩 논리(66)에 의해 이용되는 코덱 또는 코덱들은 장치(10)에 저장된 사용자 설정(72)을 통해 지정될 수 있거나, 메타데이터 정보(58)를 분석함으로써 결정될 수 있다. 일부 실시예에서, 사용자 설정(72)은 또한 인코딩된 데이터를 압축할 시에 인코딩/디코딩 논리(66)에 의해 사용될 수 있는 특정의 압축 비트 레이트를 지정할 수 있다. 앞서 논의된 바와 같이, 인코딩/압축 기능을 수행하기 위해 프로세서(들)(16)의 일부일 수 있는 디지털 신호 처리기(DSP)가 제공될 수 있다.
방송 데이터(62)가 인코딩 및/또는 압축되면, 인코딩된 방송 데이터(참조 번호 74로 참조됨)는 전자 장치(10)에 저장되기 전에 암호화/복호화 논리(76)를 사용하여 암호화될 수 있다. 잘 알 수 있는 바와 같이, 저작권의 침해 및 기타 관련된 법적 문제를 방지하기 위해 인코딩된 방송 데이터(74)의 암호화가 적용될 수 있다. 특정의 실시예에서, 암호화/복호화 논리(74)는 AES(Advanced Encryption Standard), DES( Data Encryption Standard), 또는 임의의 다른 적당한 암호화 기법에 기초하여 암호화/복호화를 수행할 수 있다. 암호화/복호화 논리(74)는, 도 3에 도시된 바와 같이, 처리 논리(32)와 분리되어 있을 수 있거나, 또한 다른 실시예에서 처리 논리(32)와 통합되어 있을 수 있다. 암호화된 방송 데이터(78)는 이어서 비휘발성 저장 장치(20)에 저장될 수 있다. 앞서 논의된 바와 같이, 저장 장치(20)는, 일부 실시예에서, NAND 플래시 메모리와 같은 플래시 메모리 장치를 포함할 수 있다. 이러한 실시예에서, 소거 및 기입이 플래시 메모리 어레이에 걸쳐 균등하게 분포되고, 그로써 기입이 한 특정 영역에 고도로 집중되는 것으로 인해 조기 블록 고장을 방지하도록, 하나 이상의 마모 균등화(wear-leveling) 기법이 플래시 메모리 장치에 의해 이용될 수 있다.
오디오 방송 데이터(62)를 저장 장치(20)에 버퍼링하는 것에 부가하여, 오디오 방송 처리 논리(32)는 또한 암호화, 압축 해제 및 디코딩을 통해 버퍼링된 오디오 데이터의 재생(여기서 참조 번호 82에 의해 참조됨)을 제공할 수 있다. 예를 들어, 재생을 위한 버퍼링된 오디오 방송 데이터(82)의 선택 시에, 데이터(82)가 먼저 암호화/복호화 논리(76)에 의해 복호화된다. 복호화된 데이터(84)는 이어서 인코더/디코더 논리(66)에 의해 디코딩 및/또는 압축 해제될 수 있다. 앞서 언급한 바와 같이, 오디오 방송 처리 논리(32)는 또한 보통의 또는 증가된 재생 속도로 버퍼링된 오디오 데이터를 재생하는 것을 제공할 수 있다. 여기 예시된 실시예에서, 처리 논리(32)는, 예를 들어, 사용자 설정(72), 오디오 데이터가 음성 데이터인지 음악 데이터인지, 또는 오디오 데이터가 오디오 프로그램의 "필수적인" 부분인지 "비필수적인" 부분인지에 기초하여, 버퍼링된 재생 속도를 결정하도록 구성될 수 있는 재생 속도 관리 논리(70)를 포함한다. 게다가, 이후에서 논의되는 일례의 목적상, 보통 재생 속도는 "1X 재생"이라고 하고, 증가된 재생 속도는 보통 재생 속도의 배수 또는 인자로서 표현될 수 있다. 예를 들어, 보통 속도의 2배인 증가된 재생 속도는 "2X 재생" 등이라고 할 수 있다.
일 실시예에서, 오디오 데이터가 음성 데이터인지 음악 데이터인지에 따라 재생 속도 관리 논리(70)에 의해 상이한 증가된 재생 속도가 버퍼링된 재생에 적용될 수 있다. 잘 알 것인 바와 같이, 음악의 심미적 성질로 인해, 음악이 재생되는 속도를 눈에 띄게 변경하는 것은 음악 데이터의 심미적 품질을 감소시킬 수 있다. 그에 따라, 버퍼링된 음악 재생에서 적어도 타당한 정도의 이해도 및 심미적 품질을 유지하기 위해, 재생 속도 관리 논리(70)는, 일부 실시예에서, 증가된 재생 속도를 보통 속도로부터의 5 내지 10 퍼센트 증가(예컨대, 1.05X 내지 1.10X)로 제한할 수 있다. 그렇지만, 더 큰 재생 속도가 또한 음악의 보다 빠른 재생이 심미적으로 타당한지에 대한 사용자 자신의 주관적 인식에 기초하여 선택될 수 있다는 것을 잘 알 것이다. 그렇지만, 음성 데이터는 일반적으로 음악의 동일한 심미적 품질을 갖지 않으며, 따라서 최대 2X 또는 3X와 같은 훨씬 더 높은 재생 속도를 견딜 수 있으면서 여전히 사용자가 들을 때 타당한 정도의 이해도를 유지할 수 있다. 그에 부가하여, 처리 논리는 또한, 오디오 데이터의 원래의 피치(예컨대, 보통 속도로 재생된 경우)와 일치시키기 위해, 속도가 높아진 오디오 데이터의 피치를 조정할 수 있는 피치 조정 논리(68)를 포함할 수 있다. 잘 알 것인 바와 같이, 피치 조정 논리(68)는 피치 조정을 수행하는 데 하나 이상의 시간 연장(time-stretching) 기법 및/또는 알고리즘을 구현할 수 있다.
상기한 점들을 염두에 두면, 버퍼링된 오디오 재생이 음성 데이터를 구성하는지 음악 데이터를 구성하는지가 사용자 설정(72)에 의해 지정될 수 있다는 것을 잘 알 것이다. 예를 들어, 오디오 데이터(82)의 버퍼링된 재생을 시작할 때, 오디오 데이터(82)가 음성-기반인지 음악-기반인지를 알고 있는 사용자는 사용자 설정(72)에서 적절한 증가된 재생 속도를 지정할 수 있다. 그에 부가하여, 재생 속도 관리 논리(70)는 대응하는 방송 메타데이터 정보(58)를 분석함으로써 또는 방송 신호(62)가 음성같은 특성을 나타내는지 음악같은 특성을 나타내는지를 판정하기 위해 방송 신호(62)에 대해 주파수 분석을 수행함으로써 버퍼링된 오디오 재생의 장르를 판정할 수 있다.
재생 속도 관리 논리(70)는 또한 버퍼링된 오디오 프로그램의 필수적인 부분과 비필수적인 부분을 구별함으로써 다양한 재생 속도를 사용하도록 구성될 수 있다. 잘 알 것인 바와 같이, 오디오 프로그램의 "비필수적인" 부분은 오디오 프로그램에 직접 관련되어 있지 않고 전체 프로그램을 이해하기 위해 꼭 들을 필요는 없는 부분을 말할 수 있고, 오디오 프로그램의 "필수적인" 부분은 일반적으로 "비필수적인" 부분이 아닌 모든 것을 말한다. 일례로서, 오디오 프로그램의 비필수적인 부분은 프로그램의 필수적인 부분들 사이의 휴식 동안의(예컨대, 노래들 사이의, 광고 시간 동안의, 기타) 상업 광고 또는 DJ 한담 또는 잡담을 포함할 수 있다.
일 실시예에서, 버퍼링된 데이터(82)의 필수적인 부분 및 비필수적인 부분의 판정은 광고 방송과 같은 비필수적인 세그먼트를 식별해주는 데이터를 포함할 수 있는 연관된 메타데이터 정보(58)에 기초할 수 있다. 게다가, 방송의 비필수적인 부분이 일반적으로 청취자의 오디오 프로그램(56)의 감상 또는 즐김에 기여하지 않기 때문에, 이러한 비필수적인 부분의 버퍼링된 재생은 이해도를 감소시키는 속도(예컨대, 2.5X, 3X, 4X 또는 그 이상)로 재생될 수 있다. 게다가, 다른 실시예에서, 재생 속도 관리 논리(70)는 오디오 프로그램(56)의 비필수적인 부분을 버퍼링된 재생으로부터 생략하도록 구성될 수 있다. 그 후에, 디코딩되고 압축 해제된 데이터(86)는 이어서 메모리 캐시(68)에 버퍼링될 수 있다. 도 3에 도시되어 있지 않지만, 당업자라면 일부 실시예가 또한, 오디오 출력 장치(34)로 출력되기 전에, 디코딩된 데이터(86)를 다시 아날로그 신호로 변환하는 디지털-아날로그 변환 회로를 포함할 수 있다는 것을 잘 알 것이다.
앞서 논의된 바와 같이, 버퍼링된 재생 동안 증가된 속도가 사용되는 실시예에서, 버퍼링된 오디오 데이터는 궁극적으로 라이브 방송과 동기화될 수 있다(예컨대, 그를 따라 잡을 수 있음). 예를 들어, 버퍼링된 재생 동안, 오디오 방송 처리 논리(32)는 계속하여 라이브 방송 스트림을 분석할 수 있고, 버퍼링된 재생이 라이브 스트림을 따라 잡은 것이 검출될 때, 라이브 스트림[예컨대, 방송 데이터(62)]의 버퍼링이 중단될 수 있다. 잘 알 것인 바와 같이, 이것은 버퍼링된 데이터를 인코딩, 압축, 암호화 및/또는 저장하는 데 필요한 처리 사이클을 감소시킬 수 있고, 그로써 전체적인 전력 소모를 줄이고 배터리 수명을 연장시킬 수 있다. 버퍼링된 데이터와 라이브 데이터 사이의 동기화는 물론, 이러한 기법의 전력 문제를 추가적으로 설명하는 다양한 일례에 대해 이하의 도 4 내지 도 8을 참조하여 이제부터 기술할 것이다.
도 4를 참조하면, 라이브 방송(100)의 버퍼링된 재생(102)을 나타낸 그래픽 타임라인이 예시되어 있다. 도시된 바와 같이, 라이브 방송(100)은 시간 t0부터 시간 t75까지 방송되는 75분 오디오 프로그램일 수 있고, 장치(10)는 시간 t0에서 시작하여 라이브 방송(100)을 버퍼링하기 시작하도록 구성될 수 있다. 사용자가 시간 t20까지(예컨대, 라이브 방송이 시작된지 20분 후까지) 방송(100)에 동조할 수 없다고 가정할 때, 사용자는 시간 t20에서 버퍼링된 재생(102)을 시작함으로써 라이브 방송(100) 전체를 여전히 청취할 수 있다. 이 일례에 도시된 바와 같이, 버퍼링된 재생(102)은 보통 속도(1X)로 행해질 수 있다. 버퍼링된 재생(102)이 행해짐에 따라, 처리 논리(32)는 버퍼링된 데이터(102)의 이전의 샘플을 디코딩하면서 현재의 라이브 방송 스트림(100)을 계속하여 인코딩할 수 있다. 예를 들어, 시간 t20과 시간 t40 사이에서, 시간 t20부터 시간 t40까지 방송된 라이브 방송(100)의 부분이 버퍼링(예컨대, 인코딩)되는 반면 시간 t0부터 시간 t20까지의 라이브 방송(100)의 이전에 버퍼링된 부분이 재생(예컨대, 디코딩)된다. 따라서, 이 시나리오에서, 버퍼링된 재생(102)과 라이브 방송(100)이 20분만큼 시간 천이되어 있고, 따라서 전체 방송(100)의 버퍼링된 재생(102)은 시간 t20부터 시간 t95까지(75분간) 행해진다.
도 4의 예시된 그래픽 시간은 또한 라이브 방송(100)의 버퍼링 및 보통 속도(1X)에서의 버퍼링된 데이터(102)의 재생 동안 장치(10)에 의한 전력 사용량을 예시하는 전력 타임라인(104)도 나타내고 있다. 이하의 표 1을 참조하면, 다양한 장치 동작 이벤트에 대응하는 전력 소모가 변수 X, Y 및 Z(각각은 전력 소모를 단위/분으로 나타내고 있음)로 표현되어 있다.
장치 동작 전력 소모(단위/분)
오디오 데이터의 출력 X
오디오 데이터의 버퍼링 Y
버퍼링된 오디오 데이터의 재생 Z
<전력 소모 값(단위/분)>
표 1에 나타낸 바와 같이, [예컨대, 오디오 출력 장치(34)로의] 오디오 데이터의 출력은, 라이브 오디오든지 버퍼링된 오디오든지 간에, X 유닛/분을 소비할 수 있다. 그에 부가하여, 오디오 데이터의 버퍼링(예컨대, 인코딩, 압축, 암호화, 및/또는 메모리에 저장)은 Y 단위/분을 소비할 수 있고, 오디오 데이터의 재생(예컨대, 디코딩, 압축 해제, 복호화, 및/또는 메모리로부터 판독)은 Z 단위/분을 소비할 수 있다.
정확한 값이 구현마다 다를 수 있지만, 버퍼링(Y)은 일반적으로 재생(Z) 및 출력(X) 둘다보다 많은 전력을 소비하는 반면, 재생(Z)은 일반적으로 출력(X)보다 많은 전력을 소비한다. 따라서, 이 실시예에서, 이들 값은 다음과 같은 관계식으로 표현될 수 있다: Y > Z > X. 게다가, 이하의 일례가 "총 전력 소모"를 말할 수 있지만, "총"이라는 용어가 상기 표 1에 관한 장치 동작 이벤트에 적용되는 것을 의미하고 다른 유형의 비오디오 재생 관련 장치 동작 이벤트(디스플레이 장치, 네트워크 장치에 전원을 공급하는 데, 전화를 거는 데, 기타에 사용되는 전력 등)를 반드시 고려할 필요는 없다는 것을 잘 알 것이다.
이들 점을 염두에 두고서 도 4의 전력 타임라인(104)을 여전히 참조하면, 시간 t0부터 시간 t20까지, 장치(10)는 라이브 방송(100)을 버퍼링하고 있을 뿐이고, 따라서 이 구간 동안 Y 단위/분을 소비한다(이는 20Y 단위로 표현될 수 있음). 시간 t20과 시간 t75 사이에서, 장치(10)는 라이브 방송(100)을 버퍼링하고, 버퍼링된 데이터(102)를 재생하며, 버퍼링된 데이터(102)를 출력하고 있다. 그에 따라, 장치(10)는 시간 t20부터 시간 t75까지의 55분 구간 동안 X + Y + Z 단위/분을 소비한다(이는 다음과 같이 표현될 수 있음: 55X + 55Y + 55Z 단위). 마지막으로, 시간 t75부터 시간 t95까지, 장치(10)는 시간 t75에서 종료된 라이브 방송(100)을 더 이상 버퍼링하지 않고, 버퍼링된 데이터(102)를 계속하여 재생 및 출력한다. 그에 따라, 이 20분 구간에서, 장치(10)는 X + Z 단위/분을 소비한다(이는 다음과 같이 표현됨: 20X + 20Z 단위). 따라서, 이들 전력 사용량 값에 기초하여, 보통 속도로 전체 방송(100)을 버퍼링 및 재생할 때 소비되는 총 전력은 다음과 같이 표현될 수 있다: 75X + 75Y + 75Z. 이하에서 추가로 설명될 것인 바와 같이, 이 전력 소모 값은 앞서 논의한 동기화 기법에 따라 버퍼링된 재생 속도를 증가시킴으로써 감소될 수 있다.
이제 도 5를 참조하면, 도 4로부터의 동일한 라이브 방송(100)을 나타내고 있지만 1.5X(참조 번호 108)의 증가된 재생 속도를 사용하여 라이브 방송(100)의 버퍼링된 재생을 나타내고 있는 그래픽 타임라인이 예시되어 있다. 사용자가 시간 t20에서 버퍼링된 재생을 시작하는 것으로 다시 가정하면, 장치(10)는 시간 t20에서 보통 속도에 비해 1.5X의 재생 속도로 라이브 방송의 시작 부분(시간 t0에 대응함)의 버퍼링된 재생을 시작할 수 있다. 환언하면, 실시간에서 1분이 경과할 때마다, 1.5분의 버퍼링된 오디오가 재생된다. 도 5에 도시된 바와 같이, 1.5X 재생 속도에 기초하여, 버퍼링된 재생(108)은 시간 t60에서 라이브 방송(100)과 동기화되거나 그를 따라 잡을 것이다. 버퍼링된 재생(108)과 라이브 방송이 동기화되면, 장치(10)는 버퍼링을 비활성화시키고 단순히 수신된 라이브 스트림(100)을 출력하기만 할 수 있다.
전력 타임라인(110)은 증가된 1.5X 재생 속도를 사용할 때 전력 소모의 감소를 나타낸다. 예를 들어, 시간 t0부터 시간 t20까지, 장치(10)는 라이브 방송(100)을 버퍼링하기만 하고, 따라서 이 구간 동안 Y 단위/분을 소비한다(이는 20Y 단위로 표현됨). 시간 t20과 시간 t60 사이에서, 장치(10)는 라이브 방송(100)을 버퍼링하고 버퍼링된 데이터(102)를 증가된 1.5X 재생 속도로 재생 및 출력한다. 그에 따라, 장치(10)는 시간 t20부터 시간 t60까지의 40분 구간 동안 X + Y + Z 단위/분을 소비한다(이는 다음과 같이 표현됨: 40X + 40Y + 40Z 단위). 마지막으로, 시간 t60부터 시간 t75까지, 장치(10)는 라이브 방송(100)을 더 이상 버퍼링하지 않고 출력하기만 한다. 따라서, 이 15분 구간에서의 전력 소모는 15X 단위로 표현될 수 있다. 따라서, 1.5X 버퍼링된 재생 속도를 사용할 때 소비된 총 전력은 55X + 60Y + 40Z 단위로서 표현될 수 있고, 이는 보통 속도(도 4)에서의 라이브 방송(100)의 버퍼링된 재생과 비교할 때, 전력 소모를 20X + 15Y + 35Z 단위만큼 감소시킨다. 잘 알 것인 바와 같이, 전력 소모의 절감은 총 버퍼링 시간(예컨대, 인코딩, 압축, 암호화 등) 및/또는 총 버퍼링된 재생 시간(예컨대, 디코딩, 압축 해제, 복호화 등)을 감소시킨 결과이다. 예를 들어, 도 4에 도시된 보통 버퍼링된 재생과 비교할 때, 도 5에서의 총 버퍼링 시간은 75분에서 60분으로 감소되고, 총 버퍼링된 재생 시간은 75분에서 40분으로 감소된다.
그에 부가하여, 일부 실시예에서, 사용자는 또한 동기화가 일어난 후에도 라이브 방송(100)을 계속하여 버퍼링하는 옵션을 가질 수 있다. 예를 들어, 이것은 사용자가 나중에 재생하기 위해 라이브 방송(100)의 전체 사본을 장치(10) 상에 유지하고자 할 때 바람직할 수 있다. 이 후자의 시나리오에서, 시간 t60부터 시간 t75까지 소비된 전력은 (계속된 버퍼링을 반영하기 위해) X + Y 단위/분일 수 있고(이는 15X + 15Y 단위로 표현됨), 버퍼링된 데이터(108) 및 라이브 데이터(100)를 재생하는 데 소비된 전력은 55X + 75 Y + 40Z 단위로서 계산될 수 있고, 이는 보통 속도(도 4)에서의 라이브 방송(100)의 버퍼링된 재생과 비교할 때 20X + 35ZX 단위의 절감이다. 따라서, 동기화 이후에 버퍼링이 계속될 때 절감된 총 전력이 동기화 이후에 버퍼링이 비활성화되는 버퍼링된 재생 시나리오(108)에서만큼 크지는 않더라도, 총 전력 사용량이 도 4에 도시된 보통(1X) 버퍼링된 재생과 비교할 때 여전히 더 작다.
계속하기 전에, 이 도면에서의 1.5X 버퍼링된 재생 속도의 사용이 장치(10)에 의해 이용될 수 있는 증가된 버퍼링된 재생 속도의 한 일례를 보여주기 위한 것에 불과하다는 것을 잘 알 것이다. 실제로, 앞서 언급한 바와 같이, 오디오 데이터의 장르(예컨대, 음성 대 음악) 또는 사용자-구성 설정(72)과 같은 각종의 다른 인자 또는 설정에 따라, 상이한 증가된 재생 속도(예컨대, 2X, 2.5X, 3X, 3.5X, 4X, 5X 등)가 또한 적용될 수 있다. 잘 알 것인 바와 같이, 보다 빠른 버퍼링된 재생 속도는 장치(10)가 보다 짧은 시간 내에 라이브 방송(100)과 동기화될 수 있게 해줄 수 있고, 따라서, 전력 소모를 더욱 감소시킨다. 그렇지만, 오디오 데이터의 심미적 성질에 따라라, 사용자는 재생 속도를 증가시키는 것과 버퍼링된 오디오 데이터에 타당한 정도의 이해도를 유지하는 것을 주관적으로 균형을 이루게 하고 싶을 수 있고, 따라서 이용가능한 최대 재생 속도를 항상 선택하고자 하지는 않을 수 있다. 예를 들어, 앞서 논의한 바와 같이, 음악 재생 속도에서는 대략 5 내지 10 퍼센트 증가가 일반적으로 허용가능할 수 있는 반면, 음성 재생의 경우는 100 퍼센트 증가(2X)가 일반적으로 허용가능하다. 그에 부가하여, 증가된 재생 속도를 사용한 버퍼링된 재생이 라이브 방송 동안 라이브 스트림을 따라 잡을 수 없을지라도, 총 버퍼링된 재생 시간의 감소(예컨대, 디코딩, 압축 해제, 복호화 등의 감소)로 인해 적어도 어떤 양의 전력이 여전히 절감된다는 것을 잘 알 것이다.
도 5에 도시된 바와 같은 버퍼링된 재생(108)을 라이브 방송(100)과 동기화시키는 프로세스가, 본 개시 내용의 측면에 따른 방법(118)을 나타낸 플로우차트를 도시하고 있는 도 6을 참조하여 추가로 설명될 수 있다. 예를 들어, 방법(118)은 도 3에서 앞서 논의된 바와 같은 오디오 방송 처리 논리(32)에 의해 구현될 수 있다. 방법(118)은 먼저 전자 장치(10)가 제1 시간에서 라이브 오디오 방송을 버퍼링하기 시작하는 단계(120)에서 시작된다. 예를 들어, 도 5에 도시된 바와 같이, 수신기(30)를 통해 라이브 방송(100)을 수신할 수 있는 전자 장치(10)는 그의 스케줄링된 방송 시간 t0의 시작에서 라이브 오디오 방송(100)을 버퍼링하기 시작한다.
그 다음에, 방법(100)은 증가된 재생 속도를 사용한 버퍼링된 오디오 데이터의 재생이 시작되는 (제1 시간 이후의) 제2 시간을 나타낼 수 있는 단계(122)로 계속된다. 예를 들어, 단계(122)는, 도 5에 도시된 바와 같이, 1.5X 재생 속도를 사용한 시간 t20에서의 버퍼링된 재생(108)의 시작에 대응할 수 있다. 여기에 구체적으로 기술되어 있지는 않지만, 버퍼링된 재생을 (예컨대, 보통 속도 1X에서의) 오디오 데이터의 원래의 피치와 일치시키기 위해, 피치 조정이 또한 [예컨대, 피치 조정 논리(68)를 통해] 버퍼링된 재생에 적용될 수 있다는 것을 잘 알 것이다. 방법(100)은 이어서 버퍼링된 재생이 라이브 방송과 동기화되거나 그를 따라 잡았는지에 대한 판정이 행해지는 결정 블록(124)으로 계속된다. 다시 도 5를 참조하면, 1.5X 재생 속도를 사용할 때, 버퍼링된 재생(108)과 라이브 방송(100)의 동기화는 시간 t60에서 일어난다. 따라서, (예컨대, 시간 t60 이전에) 버퍼링된 재생과 라이브 스트림이 동기화되지 않은 것으로 판정되는 경우, 결정 블록(124)은 버퍼링된 재생이 증가된 재생 속도로 계속되는 단계(126)로 분기한다. 단계(126)로부터, 방법(118)은 결정 블록(124)으로 되돌아간다.
결정 블록(124)에서, 버퍼링된 재생과 라이브 스트림이 (예컨대, 시간 t60에서) 동기화된 것으로 판정되는 경우, 방법(118)은 장치(10)가 버퍼링된 데이터를 재생하는 것으로부터 라이브 방송을 [예컨대, 오디오 출력 장치(34)를 통해] 출력하는 것으로 전환하면서 또한 데이터의 버퍼링을 중단하는 단계(128)로 계속된다. 앞서 논의된 바와 같이, 이것은 장치(10)의 전체적인 전력 소모를 감소시킬 수 있다. 다른 대안으로서, 사용자는 동기화가 일어난 후에도 라이브 방송을 계속하여 버퍼링하기로 할 수 있다. 예를 들어, 대안적 단계(130)로 나타내어져 있는 이 옵션은 사용자가 나중에 재생하기 위해 라이브 방송의 전체 버퍼링된 사본을 유지하고자 하는 경우에 선택될 수 있다.
앞서 언급한 바와 같이, 본 명세서에 개시된 증가된 버퍼링된 재생 기법을 사용한 전력 소모는 버퍼링된 오디오 데이터 내에서 비필수적인 부분을 식별하고 비필수적인 부분을 (예컨대, 버퍼링된 오디오 데이터의 필수적인 부분에 대한 증가된 재생 속도에 비해) 훨씬 더 큰 증가된 재생 속도로 재생하거나 버퍼링된 재생으로부터 비필수적인 부분을 생략함으로써 훨씬 더 감소될 수 있다. 예를 들어, 이제 도 7을 참조하면, 여기 기술된 기법의 실시예에 따른, (1) 필수적인 부분에 대해 1.5X의 제1 증가된 재생 속도를 사용하고 비필수적인 부분에 대해 2.5X의 제2 증가된 재생 속도를 사용하는 라이브 방송(100)의 버퍼링된 재생(136), 및 (2) 비필수적인 부분을 생략하는 라이브 방송(100)의 버퍼링된 재생(142)을 나타내는 그래픽 타임라인이 예시되어 있다.
시간 t0에서 시작하여, 장치(10)는 시간 t15부터 시간 t20까지(참조 번호 132로 나타냄) 및 시간 t35부터 시간 t40까지(참조 번호 134로 나타냄) 비필수적인 부분을 포함할 수 있는 라이브 방송(100)을 버퍼링하기 시작한다. 사용자가 시간 t20에서 버퍼링된 재생을 시작하는 것으로 다시 가정하면, 장치(10)는 시간 t20에서 1.5X의 증가된 재생 속도를 사용하여 라이브 방송의 시작 부분(시간 t0에 대응함)의 버퍼링된 재생(136)을 시작할 수 있다. 앞서 논의된 바와 같이, 현재의 재생 속도에서, 각각의 1분의 버퍼링된 재생은 1.5분의 버퍼링된 데이터에 대응할 수 있다. 따라서, 버퍼링된 재생(136)으로 나타내어져 있는 바와 같이, 처음 15분의 라이브 방송(시간 t0부터 시간 t15까지)이 10분 동안(시간 t20부터 시간 t30까지) 재생될 수 있다.
그 다음에, 비필수적인 부분(132)(시간 t15부터 시간 t20까지)에 대응하는 버퍼링된 데이터가 2.5X의 증가된 속도로 재생되기 때문에, 이 시간 동안 각각의 1분의 버퍼링된 재생은 2.5분의 비필수적인 데이터에 대응할 수 있다. 예를 들어, 버퍼링된 재생(136)으로 나타낸 바와 같이, 비필수적인 부분(132)은 2.5X 재생 속도를 사용하여 2분 동안(시간 t30부터 시간 t32까지) 재생된다. 버퍼링된 재생(136)은 이어서 1.5X 재생 속도로 되돌아가고, 이는 라이브 방송(100)의 그 다음 15분의 필수적인 부분(시간 t20에서 t35까지)을 이후의 10분 동안(시간 t32부터 시간 t42까지) 재생하는 데 사용된다. 그 후에, 비필수적인 부분(134)[라이브 방송(100)의 시간 t35부터 시간 t40까지]이 또한 2.5X의 더 큰 증가된 속도로 재생되며, 따라서 비필수적인 부분(134)의 버퍼링된 재생이 2분 동안(시간 t42부터 시간 t44까지) 재생된다. 버퍼링된 재생(136)은 이어서 1.5X 속도로 되돌아가고, 시간 t52에서 라이브 방송(100)을 따라 잡고 그와 동기화된다(이 시점에서 버퍼링이 비활성화될 수 있음).
잘 알 수 있는 바와 같이, 1.5X의 일정한 버퍼링된 재생 속도를 사용하는 도 5의 버퍼링된 재생과 비교할 때, 비필수적인 부분(132, 134)에 대해 더 빠른 2.5X 속도의 사용은 버퍼링된 재생(136)을 라이브 방송(100)과 8분 더 빨리 동기화시키며, 이는 부가적인 전력 절감을 제공할 수 있다. 예를 들어, 전력 타임라인(140)을 참조하면, 시간 t0부터 시간 t20까지, 20Y 단위의 전력이 라이브 방송(100)을 버퍼링하는 데 소비된다. 시간 t20부터 시간 t52까지, 32X + 32Y + 32Z 단위의 전력이 라이브 방송(100)을 버퍼링하고 버퍼링된 데이터(136)를 재생 및 출력하는 데 소비된다. 이어서, 동기화가 시간 t52에서 중단되기 때문에, 사용자는 라이브 방송을 버퍼링하는 것을 중단하고 단순히 라이브 스트림을 청취하기만 할 수 있다. 그에 따라, 시간 t52부터 시간 t75(방송의 종료)까지, 23X 단위의 전력이 라이브 스트림을 출력하는 데 소비된다. 그에 따라, 1.5X 및 2.5X 재생 속도 둘다를 결합하여 이용할 때의 총 전력 소모는 55X + 52Y + 32Z 단위로 표현될 수 있다. 따라서, 도 4의 보통 버퍼링된 재생과 비교하여, 도 7의 버퍼링된 재생(136)은 20X + 23Y + 43Z 단위의 전력 사용량 감소를 제공하며, 이는 또한 도 5의 일정한 1.5X 버퍼링된 재생(108)과 비교하여 8Y + 8Z 단위만큼 더 적은 전력 사용량이다.
도 7은 또한 참조 번호 142로 참조되는 버퍼링된 재생이 비필수적인 부분(132, 134)의 버퍼링된 재생을 생략하고 있는 실시예를 나타내고 있다. 예를 들어, 버퍼링된 재생 데이터가 (예컨대, 메타데이터 정보 또는 신호 분석을 통해) 비필수적인 것으로 식별될 때, 버퍼링된 재생(142)은 시간상 앞쪽으로 필수적인 재생 데이터의 다음 세그먼트로 건너뛸 수 있다. 따라서, 여기서 기술하는 바와 같이, 비필수적인 부분(132, 134) 각각에 대해 2분의 버퍼링된 재생을 생략함으로써, 동기화가 4분 더 빠른 시간 t48에서 일어난다. 대응하는 전력 타임라인(144)에 나타낸 바와 같이, 시간 t0부터 시간 t20까지, 20Y 단위의 전력이 라이브 방송(100)을 버퍼링하는 데 소비된다. 시간 t20부터 시간 t48까지, 28X + 28Y + 28Z 단위의 전력이 라이브 방송(100)을 버퍼링하고 버퍼링된 데이터(142)를 재생 및 출력하는 데 소비된다. 동기화 시간 t48부터 시간 t75에서의 라이브 방송(100)의 종료까지, 27X 단위의 전력이 라이브 스트림을 출력하는 데 소비된다. 따라서, 비필수적인 부분(132, 134)의 버퍼링된 재생을 생략할 때의 총 전력 소모는 55X + 48Y + 28Z 단위로 표현될 수 있고, 이는 버퍼링된 재생(136)과 비교할 때 4Y + 4Z 단위만큼 전력 소모의 부가적인 감소이다.
계속하여 도 8에서, 본 개시 내용의 측면에 따른, 도 7에 도시된 버퍼링된 재생 기법을 더 설명하는 방법(150)을 나타낸 플로우차트가 제공된다. 방법(150)은 먼저 전자 장치(10)가 라이브 방송(100)의 시작에 대응할 수 있는 제1 시간(예컨대, 시간 t0)에서 라이브 오디오 방송을 버퍼링하기 시작하는 단계(152)에서 시작한다. 그 다음에, 제1 시간 이후의 제2 시간(예컨대, 시간 t20)에서 일어나는 단계(154)에서, 버퍼링된 오디오 데이터가 장치(10) 상에서 재생하기 위해 저장 장치(20)로부터 검색된다. 검색된 버퍼링된 오디오 데이터가 라이브 방송(100)의 필수적인 부분인지 비필수적인 부분인지를 판정하기 위해, 검색된 버퍼링된 오디오 데이터가 결정 블록(156)에서 분석된다. 검색된 버퍼링된 오디오 데이터가 방송의 필수적인 부분인 것으로 판정되는 경우, 방법(150)은 버퍼링된 오디오 데이터가 제1 증가된 속도(예컨대, 1.5X)로 재생되는 단계(158)로 계속된다. 다시 말하지만, 주목할 점은 단계(158)가 또한 버퍼링된 재생을 (예컨대, 보통 속도 1X에서의) 오디오 데이터의 원래의 피치와 일치시키는 [피치 조정 논리(68)를 통한] 피치 조정을 포함할 수 있다는 것이다. 결정 블록(156)에서 검색된 버퍼링된 오디오 데이터가 비필수적인 것으로 판정되는 경우, 방법(150)은 버퍼링된 오디오 데이터가 제1 속도보다 큰 제2 증가된 속도(예컨대, 2.5X)로 재생되는 단계(160)로 또는 비필수적인 데이터가 버퍼링된 재생으로부터 생략되는 대안의 단계(162)로 계속될 수 있다.
그 다음에, 결정 블록(164)에서, 버퍼링된 재생이 라이브 방송과 동기화되거나 그를 따라 잡았는지에 대한 판정이 행해진다. 동기화가 일어나지 않은 경우, 단계(166)로 나타낸 바와 같이, 버퍼링된 재생이 계속된다. 단계(166) 이후에, 방법(150)은 버퍼링된 오디오 데이터를 추가적으로 평가하는 결정 논리(156)로 되돌아간다. 결정 블록(164)에서, 버퍼링된 재생과 라이브 스트림이 동기화된 것으로 판정되는 경우, 방법(150)은 버퍼링이 중단되고 장치(10)가 라이브 스트림을 재생하는 단계(168)로 계속될 수 있다. 다른 대안으로서, 앞서 논의된 바와 같이, 사용자는 동기화가 일어난 후에도 라이브 방송을 계속하여 버퍼링하고자 할 수 있다. 이 옵션은 대안적 단계(170)로 나타내어져 있고, 사용자가 나중에 재생하기 위해 라이브 방송의 전체 버퍼링된 사본을 유지하고자 하는 경우에 선택될 수 있다.
앞서 논의된 바와 같이, 오디오 데이터의 버퍼링된 재생에 적어도 부분적으로 영향을 줄 수 있는 다양한 사용자 설정(72)(도 3)이 전자 장치(10) 상에서 사용자에 의해 구성될 수 있다. 예를 들어, 이제부터 도 9를 참조하면, 본 개시 내용의 측면에 따른, 오디오 방송 데이터의 버퍼링된 재생에 관한 사용자 설정(72)을 구성하는 예시적인 사용자 인터페이스 기법이 예시되어 있다. 잘 알 것인 바와 같이, 도시된 화면 영상은 GUI(45)에 의해 발생되고 장치(38)의 디스플레이(28) 상에 디스플레이될 수 있다. 예를 들어, 사용자가, 예컨대, 입력 구조(14)를 통해 또는 터치 스크린 인터페이스에 의해, 장치(38)와 상호작용할 때 이들 화면 영상이 발생될 수 있다.
그에 부가하여, GUI(45)가, 사용자에 의해 행해진 입력 및 선택에 따라, 아이콘(예컨대, 46) 및 그래픽 요소를 포함하는 다양한 화면을 디스플레이할 수 있다는 것을 잘 알 것이다. 이들 요소는 디스플레이(28)로부터 사용자에 의해 선택될 수 있는 그래픽 및 가상 요소 또는 "버튼"을 나타낼 수 있다. 그에 따라, 이하에서 화면 영상의 이하의 설명에서 사용되는 바와 같이, "버튼", "가상 버튼", "그래픽 버튼", "그래픽 요소" 등과 같은 용어가 디스플레이(28) 상에 제공되는 그래픽 요소가 나타내는 버튼 또는 아이콘의 그래픽 표현을 말하기 위한 것임을 잘 알 것이다. 게다가, 또한 후속 도면에서 언급되고 기술되는 기능이 아주 다양한 그래픽 요소 및 시각적 방식을 사용하여 달성될 수 있다는 것을 잘 알 것이다. 따라서, 예시된 실시예가 본 명세서에 나타낸 정확한 사용자 인터페이스 관례로 제한하기 위한 것은 아니다. 오히려, 부가의 실시예가 아주 다양한 사용자 인터페이스 스타일을 포함할 수 있다.
먼저 도 9에 도시된 바와 같이, GUI(45)의 홈 화면(42)으로부터 시작하여, 사용자는 그래픽 버튼(48)을 선택함으로써 미디어 플레이어 응용 프로그램을 시작할 수 있다. 일례로서, 미디어 플레이어 응용 프로그램은 Apple Inc.로부터 입수가능한 iPod Touch® 또는 iPhone®의 한 모델 상에서 실행되는 iTunes® 또는 iPod® 응용 프로그램일 수 있다. 그래픽 버튼(48)의 선택 시에, 사용자는 미디어 플레이어 응용 프로그램의 홈 화면(180) - 처음에 장치(10) 상에 저장된 다양한 재생 목록(184)을 보여주는 목록(182)을 디스플레이할 수 있음 - 으로 탐색해 갈 수 있다. 화면(180)은 또한 그래픽 버튼(186, 188, 190, 192, 194) - 각각이 특정의 기능에 대응할 수 있음 - 을 포함한다. 예를 들어, 사용자가 화면(180)으로부터 멀어지는 쪽으로 탐색하는 경우, 그래픽 버튼(186)의 선택은 사용자를 화면(180)으로 되돌려 보낼 수 있다. 그래픽 버튼(188)은 장치(38) 상에 저장된 미디어 파일을 음악가 이름별로 구성하고 디스플레이할 수 있는 반면, 그래픽 버튼(190)은 장치(38) 상에 저장된 미디어 파일을 알파벳순으로 정렬하여 디스플레이할 수 있다. 그에 부가하여, 그래픽 버튼(192)은 라디오 방송 신호를 수신하여 버퍼링하는 것을 제공하도록 구성된 라디오 튜너 응용 프로그램을 나타낼 수 있다. 마지막으로, 그래픽 버튼(194)은 장치(38) 및/또는 미디어 플레이어 응용 프로그램(48)의 기능을 추가적으로 커스터마이즈하도록 구성될 수 있는 부가적인 옵션의 목록을 사용자에게 제공할 수 있다.
도시된 바와 같이, 그래픽 버튼(192)의 선택은 사용자를 라디오 응용 프로그램을 디스플레이하는 화면(196)으로 전진시킬 수 있다. 화면(196)은 사용자가 특정의 방송 소스(AM, FM 또는 심지어 위성-기반 방송 등)를 선택할 수 있게 해줄 수 있는 그래픽 요소(198)를 포함할 수 있다. 화면(196)은 현재의 라디오 방송국(204) 및 동조 요소(206)를 디스플레이할 수 있는 가상 디스플레이 요소(200)를 추가로 포함한다. 동조 요소(208)를 조작함으로써, 사용자는 장치(38)가 오디오 방송을 수신하고 있는 현재의 방송국(204)을 변경할 수 있다.
화면(196)은 또한 다양한 사용자 설정(72)의 구성을 제공할 수 있다. 예를 들어, 오디오 방송 데이터의 버퍼링이 그래픽 스위치(208)를 통해 구성될 수 있다. 이 도면에 도시된 바와 같이, 그래픽 스위치(208)는 현재 "ON" 위치에 있고, 따라서 버퍼링이 현재 활성화되어 있음을 나타내고 있다. 화면(196)은 또한 사용자를 버퍼링 옵션의 추가적인 구성을 위한 다른 화면[화면(220)]으로 이동시킬 수 있는 메뉴 옵션(210)을 포함할 수 있다. 그에 부가하여, 화면(196)은 버퍼링된 프로그램의 목록을 디스플레이할 수 있다. 예를 들어, 현재 디스플레이된 화면(196)은, 상태 표시기(214)로 나타낸 바와 같이, 오디오 방송 프로그램 "토크쇼"(참조 번호 212로 참조됨)가 현재 버퍼링되고 있다는 것을 보여주고 있다. 버퍼링된 "토크쇼" 프로그램의 재생을 시작하기 위해, 사용자는 그래픽 버튼(216)을 선택할 수 있다.
메뉴 옵션(210)을 선택함으로써, 사용자는 다양한 구성가능한 버퍼링된 재생 옵션을 디스플레이할 수 있는 화면(220)으로 전진될 수 있다. 예를 들어, 화면(220)은 음악 데이터, 음성 데이터 및 비필수적인 데이터의 버퍼링된 재생 속도를, 각각, 구성하기 위해 조작될 수 있는 그래픽 스케일(222, 224, 226)을 포함한다. 예를 들어, 버퍼링된 음악에 대한 재생 속도를 구성하기 위해, 사용자는 스케일(222)을 따라 적절한 위치로 그래픽 요소(228)를 위치시킬 수 있다. 본 실시예에서, 버퍼링된 재생 속도는 그래픽 요소(228)를 스케일(222)의 우측으로 슬라이딩시킴으로써 증가될 수 있고, 그래픽 요소(228)를 스케일(222)의 좌측으로 슬라이딩시킴으로써 감소될 수 있다. 이 화면(220)에 나타낸 바와 같이, 사용자는 음악에 대한 버퍼링된 재생 속도를 보통 속도(1X)보다 대략 6 퍼센트 더 크도록(1.06X) 구성하였다. 사용자는 또한 이와 유사한 방식으로, 각각, 그래픽 요소(230)를 스케일(224)을 따라 위치시키고 그래픽 요소(232)를 스케일(226)을 따라 위치시킴으로써 음성 오디오 데이터 및 비필수적인 오디오 데이터에 대한 버퍼링된 재생 속도를 구성할 수 있다. 예를 들어, 여기 예시된 구성에서, 음성 데이터에 대한 버퍼링된 재생 속도는 대략 1.5X로 설정되고, 비필수적인 데이터에 대한 버퍼링된 재생 속도는 대략 2.5X로 설정된다.
그에 부가하여, 화면(220)은 또한 버퍼링된 재생이 라이브 방송과 동기화되면 사용자가 버퍼링을 비활성화시킬지 여부를 구성할 수 있는 그래픽 스위치(234), 및 사용자가 비필수적인 오디오 데이터를 버퍼링된 재생으로부터 생략할지 여부를 구성할 수 있는 그래픽 스위치(236)를 제공한다. 도시된 바와 같이, 그래픽 스위치(234)는 "ON" 위치에 있고, 그래픽 스위치(236)는 "OFF" 위치에 있다. 따라서, 이 구성에 기초하면, 동기화가 일어나면 버퍼링이 종료될 것이고, 비필수적인 데이터가 버퍼링된 재생으로부터 생략되지 않을 것이지만, 그래픽 요소(226, 232)로 지정된 바와 같이 보다 큰 속도(2.5X)로 재생될 것이다. 게다가, 이 실시예에 도시되어 있지 않지만, 화면(220)은 또한 [피치 조정 논리(68)에 의해] 피치 조정을 구성하는 그래픽 요소를 포함할 수 있다. 원하는 설정이 선택되면, 사용자는 화면(196)으로 되돌아가기 위해 그래픽 버튼(238)을 선택할 수 있다. 사용자는 이어서 선택된 설정을 사용하여 오디오 프로그램(212)의 버퍼링된 재생을 시작하기 위해 그래픽 버튼(216)을 선택할 수 있다.
잘 알 것인 바와 같이, 오디오 방송 데이터의 버퍼링된 재생과 관련하여 앞서 기술된 다양한 기법은 단지 일례로서 본 명세서에 제공되어 있다. 그에 따라, 본 개시 내용이 앞서 제공된 일례로만 제한되는 것으로 해석되어서는 안된다는 것을 잘 알 것이다. 실제로, 앞서 기술한 버퍼링된 오디오 재생 기법의 다수의 변형이 존재할 수 있다. 게다가, 앞서 논의한 기법이 임의의 적당한 방식으로 구현될 수 있다는 것을 잘 알 것이다. 예를 들어, 이 기법의 다양한 측면을 구현하도록 구성되어 있는 도 3의 오디오 방송 처리 논리(32)는 하드웨어(예컨대, 적당히 구성된 회로), 소프트웨어[예컨대, 하나 이상의 유형의(tangible) 컴퓨터 판독가능 매체 상에 저장된 실행가능 코드를 포함하는 컴퓨터 프로그램을 통함]를 사용하여, 또는 하드웨어 및 소프트웨어 요소 둘다의 조합을 사용하여 구현될 수 있다.
전술한 특정의 실시예가 일례로서 기술되어 있고, 이들 실시예가 다양한 수정 및 대안적 형태로 되어 있을 수 있다는 것을 잘 알 것이다. 또한, 특허청구범위가 개시된 특정의 형태로 제한되는 것이 아니라 오히려 본 개시 내용의 사상 및 범위 내에 속하는 모든 수정, 등가물 및 대안을 포함하기 위한 것임을 잘 알 것이다.

Claims (30)

  1. 제1 시간에서 전자 장치에 의해 수신되는 라이브 오디오 방송의 버퍼링을 시작하는 단계,
    상기 라이브 오디오 방송 동안 상기 제1 시간 이후에 있는 제2 시간에서 증가된 재생 속도를 사용하여 상기 전자 장치 상에서 상기 라이브 오디오 방송의 버퍼링된 재생을 시작하는 단계 - 상기 증가된 재생 속도는 상기 라이브 오디오 방송의 보통 재생 속도에 비해 더 빠름 -,
    상기 버퍼링된 재생이 상기 라이브 오디오 방송과 동기화되어 있는지를 판정하는 단계, 및
    상기 버퍼링된 재생이 상기 라이브 오디오 방송과 동기화되어 있는 경우, 상기 제2 시간 이후에 있는 제3 시간에서 상기 라이브 오디오 방송의 버퍼링을 종료하고 상기 제3 시간에서 시작하는 상기 라이브 오디오 방송의 나머지를 출력하는 단계를 포함하는 방법.
  2. 제1항에 있어서, 상기 라이브 오디오 방송을 버퍼링하는 단계가
    코덱을 사용하여 상기 라이브 오디오 방송 데이터를 인코딩하는 단계, 및
    상기 인코딩된 라이브 오디오 방송 데이터를 저장 장치에 저장하는 단계를 포함하는 것인 방법.
  3. 제2항에 있어서, 상기 라이브 오디오 방송 데이터를 인코딩하는 단계가 압축 비트 레이트를 사용하여 상기 라이브 오디오 방송 데이터를 압축하는 단계를 포함하는 것인 방법.
  4. 제2항에 있어서, 상기 라이브 오디오 방송을 버퍼링하는 단계가 상기 인코딩된 라이브 오디오 방송 데이터를 상기 저장 장치에 저장하기 전에 상기 인코딩된 라이브 오디오 방송 데이터를 암호화하는 단계를 포함하는 것인 방법.
  5. 제2항에 있어서, 상기 라이브 오디오 방송 데이터를 인코딩하는 단계가
    상기 라이브 오디오 방송 데이터가 음성 데이터를 포함하는지 음악 데이터를 포함하는지를 판정하는 단계,
    상기 라이브 오디오 방송 데이터가 주로 음성 데이터를 포함하는 경우 음성 코덱을 사용하여 상기 라이브 오디오 방송 데이터를 인코딩하는 단계, 및
    상기 라이브 오디오 방송 데이터가 주로 음악 데이터를 포함하는 경우 음악 코덱을 사용하여 상기 라이브 오디오 방송 데이터를 인코딩하는 단계를 포함하는 것인 방법.
  6. 제5항에 있어서, 상기 증가된 재생 속도를 사용하는 단계가
    상기 라이브 오디오 방송 데이터가 주로 음악 데이터를 포함하는 경우 상기 라이브 오디오 방송의 보통의 재생 속도의 대략 1.05 내지 1.10배의 재생 속도를 사용하는 단계, 및
    상기 라이브 오디오 방송이 주로 음성 데이터를 포함하는 경우 상기 라이브 오디오 방송의 보통의 재생 속도의 대략 1.25 내지 2.0배의 재생 속도를 사용하는 단계를 포함하는 것인 방법.
  7. 제5항에 있어서, 상기 라이브 오디오 방송 데이터가 음성 데이터를 포함하는지 음악 데이터를 포함하는지를 판정하는 단계가 상기 라이브 오디오 방송과 연관된 메타데이터 정보를 분석하는 단계, 또는 상기 라이브 오디오 방송 데이터의 주파수 분석을 수행하는 단계, 또는 이들의 어떤 조합을 포함하는 것인 방법.
  8. 제5항에 있어서, 음악 코덱이 ACC(Advanced Audio Coding) 코덱, ALAC(Apple Lossless Audio Codec), MP3 코덱, 또는 이들의 임의의 조합을 포함하고, 상기 음성 코덱이 AMR(Adaptive Multi-Rate) 코덱, VMR(Variable Multi-Rate) 코덱, 또는 이들의 임의의 조합을 포함하는 것인 방법.
  9. 제1항에 있어서, 상기 버퍼링된 재생이 상기 라이브 오디오 방송과 동기화되어 있더라도 상기 라이브 오디오 방송을 계속하여 버퍼링하는 옵션을 상기 전자 장치의 사용자에게 제공하는 단계, 및
    상기 옵션이 선택되는 경우 상기 제3 시간 이후에 상기 라이브 오디오 방송을 계속하여 버퍼링하는 단계를 포함하는 방법.
  10. 전자 장치에 의해 수신되는 라이브 오디오 방송의 버퍼링을 시작하는 단계,
    상기 버퍼링의 시작 이후에 상기 전자 장치 상에서 상기 라이브 오디오 방송의 버퍼링된 재생을 시작하는 단계 - 상기 버퍼링된 재생을 시작하는 단계는
    재생할 상기 라이브 오디오 방송의 부분을 선택하는 단계,
    상기 라이브 오디오 방송의 상기 선택된 부분이 상기 라이브 오디오 방송의 필수적인 부분인지 비필수적인 부분인지를 판정하는 단계,
    상기 라이브 오디오 방송의 상기 선택된 부분이 필수적인 부분인 경우, 상기 라이브 오디오 방송의 보통 재생 속도에 비해 더 빠른 제1 증가된 재생 속도를 사용하여 상기 선택된 부분을 재생하는 단계, 및
    상기 라이브 오디오 방송의 상기 선택된 부분이 비필수적인 부분인 경우, 상기 제1 증가된 재생 속도에 비해 더 빠른 제2 증가된 재생 속도를 사용하여 상기 선택된 부분을 재생하는 단계를 포함함 -, 및
    상기 라이브 오디오 방송의 종료 이전에 상기 버퍼링된 재생이 상기 라이브 오디오 방송과 동기화되는 경우 상기 라이브 오디오 방송의 버퍼링을 중단하고 상기 라이브 오디오 방송의 나머지를 출력하는 단계를 포함하는 방법.
  11. 제10항에 있어서, 상기 제1 증가된 재생 속도가 상기 보통 재생 속도의 대략 1.05 내지 2배인 방법.
  12. 제10항에 있어서, 상기 제2 증가된 재생 속도를 사용하는 상기 비필수적인 부분의 버퍼링된 재생이 상기 전자 장치의 사용자가 실질적으로 이해할 수 없는(unintelligible) 것으로 인식되는 것인 방법.
  13. 제10항에 있어서, 상기 제2 증가된 재생 속도가 적어도 상기 보통 재생 속도의 2배보다 더 큰 것인 방법.
  14. 제10항에 있어서, 상기 비필수적인 부분이 상업 광고 또는 DJ 음성, 또는 이들의 어떤 조합을 포함하는 것인 방법.
  15. 제10항에 있어서, 상기 필수적인 부분이 상기 보통 재생 속도로 재생되는 경우의 상기 필수적인 부분의 피치와 대략 일치하도록 상기 제1 증가된 재생 속도에서의 상기 필수적인 부분의 버퍼링된 재생의 피치를 조정하는 단계를 포함하는 방법.
  16. 제10항에 있어서, 상기 라이브 오디오 방송의 상기 선택된 부분이 필수적인 부분인지 비필수적인 부분인지를 판정하는 단계가 상기 라이브 오디오 방송과 연관된 메타데이터 정보를 분석하는 단계를 포함하고, 상기 메타데이터 정보가 RDS(Radio Data System) 신호, AMSS(Amplitude Modulation Signaling System) 신호, PAD(Program Associated Data) 신호, 또는 PSD(Program Service Data) 신호, 또는 이들의 어떤 조합에 의해 제공되는 것인 방법.
  17. 라이브 오디오 방송을 수신하도록 구성된 오디오 방송 수신기,
    오디오 데이터를 출력하도록 구성된 오디오 출력 장치,
    데이터를 저장하도록 구성된 저장 장치, 및
    제1 시간에서 상기 라이브 오디오 방송을 버퍼링하고 상기 제1 시간 이후의 제2 시간에서 상기 버퍼링된 라이브 오디오 방송 데이터를 재생하도록 구성된 처리 논리를 포함하고, 상기 처리 논리는
    버퍼링 동안 코덱을 사용하여 상기 라이브 오디오 방송 데이터를 인코딩하고 재생 동안 상기 코덱을 사용하여 상기 라이브 오디오 방송 데이터를 디코딩하도록 구성된 인코딩/디코딩 논리, 및
    상기 오디오 출력 장치를 사용하여 상기 버퍼링된 라이브 오디오 방송 데이터를 출력함으로써 제1 증가된 재생 속도로 상기 버퍼링된 라이브 오디오 방송 데이터를 재생하도록 구성된 재생 속도 관리 논리 - 상기 제1 증가된 재생 속도는 상기 라이브 오디오 방송의 보통 재생 속도에 비해 더 빠름 - 를 포함하며,
    상기 처리 논리는 상기 버퍼링된 재생이 상기 제2 시간 이후의 제3 시간에서 상기 라이브 오디오 방송과 동기화되는 것을 검출할 시에 상기 라이브 오디오 방송의 버퍼링을 중단하고 상기 제3 시간에서 시작하여 상기 오디오 출력 장치를 사용해 상기 라이브 오디오 방송을 출력하도록 구성되어 있는 것인 전자 장치.
  18. 제17항에 있어서, 상기 처리 논리는, 상기 버퍼링된 라이브 오디오 방송의 조정된 피치가 상기 보통 재생 속도로 재생될 때의 상기 라이브 오디오 방송의 피치와 대략 일치하도록, 상기 제1 증가된 재생 속도를 사용하는 버퍼링된 재생 동안 상기 버퍼링된 라이브 오디오 방송의 피치를 조정하도록 구성된 피치 조정 논리를 포함하는 것인 전자 장치.
  19. 제18항에 있어서, 상기 피치 조정 논리가 시간 연장 알고리즘을 사용하여 상기 버퍼링된 라이브 오디오 방송의 피치를 조정하도록 구성되어 있는 것인 전자 장치.
  20. 제17항에 있어서, 상기 처리 논리는 상기 라이브 오디오 방송의 선택된 부분이 상기 라이브 오디오 방송의 필수적인 부분인지 비필수적인 부분인지를 판정하도록 구성되어 있고, 상기 재생 속도 관리 논리는 상기 제1 증가된 재생 속도를 사용하여 상기 라이브 오디오 방송의 필수적인 부분을 재생하고 제2 증가된 재생 속도를 사용하여 상기 라이브 오디오 방송의 비필수적인 부분을 재생하도록 구성되어 있으며, 상기 제2 증가된 재생 속도가 상기 제1 증가된 재생 속도보다 더 빠른 것인 전자 장치.
  21. 제20항에 있어서, 상기 제1 증가된 재생 속도가 상기 보통 재생 속도의 대략 1.05 내지 2배이고, 상기 제2 증가된 재생 속도가 상기 보통 재생 속도의 2배보다 더 큰 것인 전자 장치.
  22. 제21항에 있어서, 디스플레이 장치를 포함하고, 상기 제1 증가된 재생 속도 및 상기 제2 증가된 재생 속도는 상기 디스플레이 장치를 사용하여 상기 전자 장치 상에 디스플레이될 수 있는 그래픽 사용자 인터페이스를 통해 액세스가능한 구성 화면을 사용하여 상기 전자 장치의 사용자에 의해 선택가능한 것인 전자 장치.
  23. 제22항에 있어서, 상기 구성 화면이 상기 전자 장치 상에서 실행되도록 구성된 미디어 플레이어 응용 프로그램의 일부인 전자 장치.
  24. 제21항에 있어서, 상기 구성 화면이 상기 제3 시간에서의 동기화의 검출 이후에 상기 라이브 오디오 방송을 계속하여 버퍼링하는 옵션을 디스플레이하는 것인 전자 장치.
  25. 제17항에 있어서, 상기 저장 장치에 저장되기 전에 상기 버퍼링된 라이브 오디오 방송 데이터를 암호화하고 버퍼링된 재생 동안 상기 버퍼링된 라이브 오디오 방송 데이터를 복호화도록 구성된 암호화 논리를 포함하는 전자 장치.
  26. 제25항에 있어서, 상기 암호화 논리가 AES(Advanced Encryption Standard) 형식 또는 DES(Data Encryption Standard) 형식, 또는 이들의 어떤 조합을 사용하여 상기 버퍼링된 라이브 오디오 방송 데이터를 암호화하도록 구성되어 있는 것인 전자 장치.
  27. 제17항에 있어서, 상기 오디오 출력 장치가 상기 전자 장치와 통합된 내부 스피커, 오디오 연결 포트를 사용하여 상기 전자 장치에 연결된 외부 스피커, 또는 상기 오디오 연결 포트를 사용하여 상기 전자 장치에 연결된 헤드셋, 또는 이들의 어떤 조합을 포함하는 것인 전자 장치.
  28. 프로세서에 의해 실행되는 명령어가 인코딩되어 있는 하나 이상의 유형의(tangible) 컴퓨터 판독가능 저장 매체로서, 상기 명령어가
    전자 장치에 의해 수신된 라이브 오디오 방송이 제1 시간에서 버퍼링되기 시작하게 하는 코드, 및
    상기 전자 장치 상의 상기 버퍼링된 라이브 오디오 방송 데이터가 상기 라이브 오디오 방송 동안에 있는 상기 제1 시간 이후의 제2 시간에서 시작하여 재생되게 하는 코드 - 상기 버퍼링된 라이브 오디오 방송 데이터가 재생되게 하는 코드는
    상기 라이브 오디오 방송의 선택된 부분이 상기 라이브 오디오 방송의 필수적인 부분인지 비필수적인 부분인지를 판정하는 코드,
    상기 선택된 부분이 상기 라이브 오디오 방송의 필수적인 부분인 것으로 판정되는 경우 상기 라이브 오디오 방송의 상기 선택된 부분이 증가된 재생 속도를 사용하여 재생되게 하는 코드, 및
    상기 선택된 부분이 상기 라이브 오디오 방송의 비필수적인 부분인 것으로 판정되는 경우 상기 라이브 오디오 방송의 상기 선택된 부분이 상기 버퍼링된 재생으로부터 생략되게 하는 코드를 포함함 - 를 포함하는 하나 이상의 유형의 컴퓨터 판독가능 저장 매체.
  29. 제28항에 있어서, 상기 라이브 오디오 방송의 선택된 부분이 상기 라이브 오디오 방송의 필수적인 부분인지 비필수적인 부분인지를 판정하는 코드가 상기 라이브 오디오 방송과 연관된 메타데이터 정보를 분석하는 코드를 포함하는 것인 하나 이상의 유형의 컴퓨터 판독가능 저장 매체.
  30. 제28항에 있어서, 상기 명령어가 상기 버퍼링된 재생이 상기 라이브 오디오 방송과 동기화되는 것을 검출할 시에 상기 라이브 오디오 방송의 버퍼링을 중단하는 코드, 및
    상기 동기화의 검출 시에 상기 라이브 오디오 방송이 출력되게 하는 코드를 포함하는 하나 이상의 유형의 컴퓨터 판독가능 저장 매체.
KR1020127006593A 2009-08-14 2010-08-12 버퍼링된 오디오 데이터와 라이브 방송의 동기화 KR101248287B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/541,803 US20110040981A1 (en) 2009-08-14 2009-08-14 Synchronization of Buffered Audio Data With Live Broadcast
US12/541,803 2009-08-14
PCT/US2010/045363 WO2011019946A1 (en) 2009-08-14 2010-08-12 Synchronization of buffered audio data with live broadcast

Publications (2)

Publication Number Publication Date
KR20120046308A true KR20120046308A (ko) 2012-05-09
KR101248287B1 KR101248287B1 (ko) 2013-03-27

Family

ID=43016894

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127006593A KR101248287B1 (ko) 2009-08-14 2010-08-12 버퍼링된 오디오 데이터와 라이브 방송의 동기화

Country Status (9)

Country Link
US (2) US20110040981A1 (ko)
EP (1) EP2465223A1 (ko)
JP (1) JP5535317B2 (ko)
KR (1) KR101248287B1 (ko)
CN (1) CN102577192B (ko)
AU (1) AU2010282429B2 (ko)
BR (1) BR112012003381B1 (ko)
HK (1) HK1173279A1 (ko)
WO (1) WO2011019946A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USD786847S1 (en) 2014-08-25 2017-05-16 Samsung Electronics Co., Ltd. Electronic device
USD787487S1 (en) 2014-08-25 2017-05-23 Samsung Electronics Co., Ltd. Electronic device
USD794592S1 (en) 2014-08-25 2017-08-15 Samsung Electronics Co., Ltd. Electronic device

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10061742B2 (en) 2009-01-30 2018-08-28 Sonos, Inc. Advertising in a digital media playback system
US8265464B2 (en) * 2009-02-26 2012-09-11 International Business Machines Corporation Administering a time-shifting cache in a media playback device
US9357568B2 (en) 2009-06-16 2016-05-31 Futurewei Technologies, Inc. System and method for adapting an application source rate to a load condition
US9727266B2 (en) 2009-12-29 2017-08-08 International Business Machines Corporation Selecting storage units in a dispersed storage network
US10031669B2 (en) 2009-12-29 2018-07-24 International Business Machines Corporation Scheduling migration related traffic to be non-disruptive and performant
US9462316B2 (en) * 2009-12-29 2016-10-04 International Business Machines Corporation Digital content retrieval utilizing dispersed storage
US9798467B2 (en) 2009-12-29 2017-10-24 International Business Machines Corporation Security checks for proxied requests
US10133632B2 (en) 2009-12-29 2018-11-20 International Business Machines Corporation Determining completion of migration in a dispersed storage network
US10001923B2 (en) 2009-12-29 2018-06-19 International Business Machines Corporation Generation collapse
JP5766783B2 (ja) * 2010-03-31 2015-08-19 ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツングRobert Bosch Gmbh 認証された音声暗号化のための装置
EP2567368A4 (en) * 2010-05-06 2016-01-27 Advance Alert Pty Ltd EMERGENCY DIFFUSION RECEIVER SENSITIVE TO THE POSITION
US9998890B2 (en) * 2010-07-29 2018-06-12 Paul Marko Method and apparatus for content navigation in digital broadcast radio
US20120096497A1 (en) * 2010-10-14 2012-04-19 Sony Corporation Recording television content
GB2492177B (en) * 2011-06-22 2014-08-06 Nds Ltd Fast service change
US20130053058A1 (en) * 2011-08-31 2013-02-28 Qualcomm Incorporated Methods and apparatuses for transitioning between internet and broadcast radio signals
US9665339B2 (en) 2011-12-28 2017-05-30 Sonos, Inc. Methods and systems to select an audio track
US8646023B2 (en) 2012-01-05 2014-02-04 Dijit Media, Inc. Authentication and synchronous interaction between a secondary device and a multi-perspective audiovisual data stream broadcast on a primary device geospatially proximate to the secondary device
US8997169B2 (en) 2012-03-23 2015-03-31 Sony Corporation System, method, and infrastructure for synchronized streaming of content
US9178631B2 (en) * 2013-04-19 2015-11-03 Spacebar, Inc. Asynchronously streaming high quality audio of a live event from a handheld device
US20140355665A1 (en) * 2013-05-31 2014-12-04 Altera Corporation Adaptive Video Reference Frame Compression with Control Elements
WO2015125902A1 (ja) * 2014-02-21 2015-08-27 京セラ株式会社 Mbms制御方法、ユーザ端末、及び基地局
US9478247B2 (en) 2014-04-28 2016-10-25 Sonos, Inc. Management of media content playback
US9524338B2 (en) 2014-04-28 2016-12-20 Sonos, Inc. Playback of media content according to media preferences
US9672213B2 (en) 2014-06-10 2017-06-06 Sonos, Inc. Providing media items from playback history
CN105338437B (zh) * 2014-07-30 2019-03-29 联想(北京)有限公司 一种防漏听的控制方法、装置和入耳输出设备
US9704477B2 (en) * 2014-09-05 2017-07-11 General Motors Llc Text-to-speech processing based on network quality
US10778739B2 (en) 2014-09-19 2020-09-15 Sonos, Inc. Limited-access media
US20160156992A1 (en) 2014-12-01 2016-06-02 Sonos, Inc. Providing Information Associated with a Media Item
AU2015396643A1 (en) * 2015-05-22 2017-11-30 Playsight Interactive Ltd. Event based video generation
JP6556642B2 (ja) * 2016-02-17 2019-08-07 アルパイン株式会社 ラジオ受信装置
CN105812902B (zh) * 2016-03-17 2018-09-04 联发科技(新加坡)私人有限公司 数据播放的方法、设备及系统
DE102016209279B3 (de) * 2016-05-30 2017-07-06 Continental Automotive Gmbh Verfahren und Vorrichtung zur Fortsetzung einer laufenden Wiedergabe von Audio- und/oder Videoinhalten einer ersten Quelle nach einer vorübergehenden Unterbrechung oder Überlagerung der der laufenden Wiedergabe durch eine Wiedergabe von Audio- und/oder Videoinhalten einer zweiten Quelle
US20180069909A1 (en) * 2016-09-08 2018-03-08 Sonic Ip, Inc. Systems and Methods for Adaptive Buffering for Digital Video Streaming
US10699746B2 (en) * 2017-05-02 2020-06-30 Microsoft Technology Licensing, Llc Control video playback speed based on user interaction
DE102017214237A1 (de) * 2017-08-16 2019-02-21 Volkswagen Aktiengesellschaft Medienwiedergabevorrichtung zum Wiedergeben von inhaltsgleichen Mediensignalen
US10805651B2 (en) * 2018-10-26 2020-10-13 International Business Machines Corporation Adaptive synchronization with live media stream
US11636855B2 (en) 2019-11-11 2023-04-25 Sonos, Inc. Media content based on operational data
CN111200789B (zh) * 2020-01-07 2022-04-26 中国联合网络通信集团有限公司 一种业务数据的传输方法及装置

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0364130A (ja) * 1989-08-01 1991-03-19 Mitsubishi Electric Corp プレイバック機能付きカーラジオ
US5083310A (en) * 1989-11-14 1992-01-21 Apple Computer, Inc. Compression and expansion technique for digital audio data
US5386493A (en) * 1992-09-25 1995-01-31 Apple Computer, Inc. Apparatus and method for playing back audio at faster or slower rates without pitch distortion
US5524051A (en) * 1994-04-06 1996-06-04 Command Audio Corporation Method and system for audio information dissemination using various modes of transmission
JPH0965225A (ja) * 1995-08-24 1997-03-07 Hitachi Ltd テレビジョン装置及びその表示方法
US5742599A (en) * 1996-02-26 1998-04-21 Apple Computer, Inc. Method and system for supporting constant bit rate encoded MPEG-2 transport over local ATM networks
US6931451B1 (en) * 1996-10-03 2005-08-16 Gotuit Media Corp. Systems and methods for modifying broadcast programming
JP3846095B2 (ja) * 1999-03-16 2006-11-15 株式会社デンソー 車載用マルチメディアシステム
JP3637237B2 (ja) * 1999-04-28 2005-04-13 株式会社東芝 情報記録再生装置及び情報記録再生方法
US7293280B1 (en) * 1999-07-08 2007-11-06 Microsoft Corporation Skimming continuous multimedia content
US6606388B1 (en) * 2000-02-17 2003-08-12 Arboretum Systems, Inc. Method and system for enhancing audio signals
US7237254B1 (en) * 2000-03-29 2007-06-26 Microsoft Corporation Seamless switching between different playback speeds of time-scale modified data streams
JP2002084241A (ja) * 2000-09-06 2002-03-22 Matsushita Electric Ind Co Ltd ディジタル放送受信装置
CA2742644C (en) * 2001-02-20 2016-04-12 Caron S. Ellis Multiple radio signal processing and storing method and apparatus
JP2002374489A (ja) * 2001-06-18 2002-12-26 Mitsubishi Electric Corp ディジタル放送記録再生装置
US7260311B2 (en) * 2001-09-21 2007-08-21 Matsushita Electric Industrial Co., Ltd. Apparatus, method, program and recording medium for program recording and reproducing
JP4182257B2 (ja) * 2001-09-27 2008-11-19 京セラ株式会社 携帯型視聴装置
JP3933909B2 (ja) * 2001-10-29 2007-06-20 日本放送協会 音声/音楽混合比推定装置およびそれを用いたオーディオ装置
US6573846B1 (en) * 2001-12-31 2003-06-03 Apple Computer, Inc. Method and apparatus for variable length decoding and encoding of video streams
JP4282950B2 (ja) * 2002-05-14 2009-06-24 株式会社博報堂 録画再生装置
CN100426861C (zh) * 2002-07-01 2008-10-15 微软公司 对嵌于媒介流中的重复对象提供用户控制的系统和方法
JP4348970B2 (ja) * 2003-03-06 2009-10-21 ソニー株式会社 情報検出装置及び方法、並びにプログラム
US7426417B1 (en) * 2003-04-05 2008-09-16 Apple Inc. Method and apparatus for efficiently accounting for the temporal nature of audio processing
WO2004097803A2 (en) * 2003-04-25 2004-11-11 Xm Satellite Radio Inc. System and method for providing recording and playback of digital media content
US7453938B2 (en) * 2004-02-06 2008-11-18 Apple Inc. Target bitrate estimator, picture activity and buffer management in rate control for video coder
JP2005236870A (ja) 2004-02-23 2005-09-02 Nippon Telegr & Teleph Corp <Ntt> タイムシフト再生方法、装置及びプログラム
JP4295644B2 (ja) * 2004-03-08 2009-07-15 京セラ株式会社 携帯端末及び携帯端末の放送記録再生方法並びに放送記録再生プログラム
US8472791B2 (en) * 2004-03-17 2013-06-25 Hewlett-Packard Development Company, L.P. Variable speed video playback
JP4466148B2 (ja) * 2004-03-25 2010-05-26 株式会社日立製作所 ネットワーク転送対応コンテンツ利用管理方法、及びプログラム、コンテンツ転送システム
GB0408856D0 (en) * 2004-04-21 2004-05-26 Nokia Corp Signal encoding
CN100382594C (zh) * 2004-05-27 2008-04-16 扬智科技股份有限公司 影音信号快进播放方法
US7455681B2 (en) * 2004-09-13 2008-11-25 Wound Care Technologies, Llc Wound closure product
US7664558B2 (en) * 2005-04-01 2010-02-16 Apple Inc. Efficient techniques for modifying audio playback rates
JP2006311128A (ja) * 2005-04-27 2006-11-09 Denso Corp 音声出力装置
EP1772981A3 (en) * 2005-09-29 2010-07-28 Lg Electronics Inc. mobile telecommunication terminal for receiving and recording a broadcast programme
KR100751412B1 (ko) * 2005-09-29 2007-08-23 엘지전자 주식회사 방송 프로그램 재생 기능을 갖는 이동통신단말기 및 이를이용한 방법
US20070083467A1 (en) * 2005-10-10 2007-04-12 Apple Computer, Inc. Partial encryption techniques for media data
JP4386877B2 (ja) 2005-10-11 2009-12-16 シャープ株式会社 記録再生装置
JP2007116524A (ja) * 2005-10-21 2007-05-10 Ricoh Co Ltd 通信装置及び該通信装置における放送内容記憶方法
US7580325B2 (en) * 2005-11-28 2009-08-25 Delphi Technologies, Inc. Utilizing metadata to improve the access of entertainment content
JP4618163B2 (ja) * 2006-03-02 2011-01-26 株式会社デンソー 車載オーディオ装置
KR100782261B1 (ko) * 2006-05-18 2007-12-04 엘지전자 주식회사 오디오 배속 조절 기반 비디오 동기화방법
WO2008080022A2 (en) * 2006-12-22 2008-07-03 Apple Inc. Communicating and storing information associated with media broadcasts
US7765315B2 (en) * 2007-01-08 2010-07-27 Apple Inc. Time synchronization of multiple time-based data streams with independent clocks
US8321593B2 (en) * 2007-01-08 2012-11-27 Apple Inc. Time synchronization of media playback in multiple processes
US7430675B2 (en) * 2007-02-16 2008-09-30 Apple Inc. Anticipatory power management for battery-powered electronic device
JP2008309666A (ja) * 2007-06-15 2008-12-25 Sanyo Electric Co Ltd ナビゲーション装置および経路案内制御方法
JP2009004842A (ja) * 2007-06-19 2009-01-08 Casio Hitachi Mobile Communications Co Ltd 電子機器および電子機器の処理プログラム
KR101448631B1 (ko) * 2008-01-17 2014-10-08 엘지전자 주식회사 녹화/재생 장치 및 방송 신호 처리 방법
US8865991B1 (en) * 2008-12-15 2014-10-21 Cambridge Silicon Radio Limited Portable music player

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USD786847S1 (en) 2014-08-25 2017-05-16 Samsung Electronics Co., Ltd. Electronic device
USD787487S1 (en) 2014-08-25 2017-05-23 Samsung Electronics Co., Ltd. Electronic device
USD794592S1 (en) 2014-08-25 2017-08-15 Samsung Electronics Co., Ltd. Electronic device
USD877109S1 (en) 2014-08-25 2020-03-03 Samsung Electronics Co., Ltd. Electronic device

Also Published As

Publication number Publication date
US20140129015A1 (en) 2014-05-08
BR112012003381B1 (pt) 2021-11-16
US20110040981A1 (en) 2011-02-17
JP2013502170A (ja) 2013-01-17
CN102577192A (zh) 2012-07-11
EP2465223A1 (en) 2012-06-20
JP5535317B2 (ja) 2014-07-02
HK1173279A1 (en) 2013-05-10
CN102577192B (zh) 2015-06-17
BR112012003381A2 (pt) 2016-02-16
WO2011019946A1 (en) 2011-02-17
AU2010282429B2 (en) 2014-12-18
KR101248287B1 (ko) 2013-03-27
AU2010282429A1 (en) 2012-03-15

Similar Documents

Publication Publication Date Title
KR101248287B1 (ko) 버퍼링된 오디오 데이터와 라이브 방송의 동기화
US8768243B2 (en) Power management techniques for buffering and playback of audio broadcast data
US8706272B2 (en) Adaptive encoding and compression of audio broadcast data
US10750284B2 (en) Techniques for presenting sound effects on a portable media player
US8165321B2 (en) Intelligent clip mixing
US20120230509A1 (en) Arrangements in a device for use with a service involving play out of media and related methods
KR100600790B1 (ko) 듀얼 방송 출력 기능을 갖는 디지털 멀티미디어 방송수신장치
US8046094B2 (en) Audio reproducing apparatus
CN102822890A (zh) 音响装置
KR100678917B1 (ko) 수신한 방송의 음원 데이터를 휴대폰의 기능음으로설정하는 방법 및 장치
JP2012147648A (ja) 電源制御装置および電源制御方法
KR100999702B1 (ko) 오디오 프리셋 생성 및 소비 방법과 그 장치 및 컴퓨터로 읽을 수 있는 기록매체와 파일 구조
JP2008141722A (ja) モード切替方法、モード切替プログラム及び放送受信端末
JP4219881B2 (ja) 再生装置
JP4584063B2 (ja) 記録再生装置及びプログラム
CN101098201A (zh) 广播接收用移动装置的音频输出装置及其控制方法
KR20070098247A (ko) 방송용 단말기 및 방송용 단말기의 방송 프로그램 저장방법
CN1996805A (zh) 存储数字多媒体广播音频数据的广播接收装置和方法
IT201800002523A1 (it) TECNOLOGIA APPLICATA AD UNA UNITA&#39; ELETTRONICA (uDAB) PER LA GESTIONE DELL&#39;AUDIO DIGITALE DAB E DAB+ SU AUTORADIO DOTATE DI INGRESSO USB.
JP2003092798A (ja) 音声再生機能を備えた情報機器及びその音声再生制御方法
KR20060029485A (ko) 피디에이의 무선 카팩
JP2008304826A (ja) 音声情報処理装置、音声情報処理方法及びそのプログラム
JP2006270773A (ja) コンテンツ提示装置、プログラム及びコンテンツ提示方法
KR20080072369A (ko) 구동장치를 이용한 음악 및 모션 동시 재생 장치 및 그방법
JP2013090077A (ja) 放送受信装置および放送受信制御方法

Legal Events

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

Payment date: 20160218

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170220

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180219

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee