KR20150047459A - 멀티-미디어 파일 에뮬레이션 디바이스 - Google Patents

멀티-미디어 파일 에뮬레이션 디바이스 Download PDF

Info

Publication number
KR20150047459A
KR20150047459A KR1020147036396A KR20147036396A KR20150047459A KR 20150047459 A KR20150047459 A KR 20150047459A KR 1020147036396 A KR1020147036396 A KR 1020147036396A KR 20147036396 A KR20147036396 A KR 20147036396A KR 20150047459 A KR20150047459 A KR 20150047459A
Authority
KR
South Korea
Prior art keywords
media
emulation device
data
file
stream
Prior art date
Application number
KR1020147036396A
Other languages
English (en)
Inventor
엔. 바디베루
라마라지 사디쉬쿠마르
하리 보잔
Original Assignee
에스엠에스씨 홀딩스 에스에이알엘
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스엠에스씨 홀딩스 에스에이알엘 filed Critical 에스엠에스씨 홀딩스 에스에이알엘
Publication of KR20150047459A publication Critical patent/KR20150047459A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/418External card to be used in combination with the client device, e.g. for conditional access
    • H04N21/4183External card to be used in combination with the client device, e.g. for conditional access providing its own processing capabilities, e.g. external module for video decoding
    • 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/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/418External card to be used in combination with the client device, e.g. for conditional access
    • H04N21/4184External card to be used in combination with the client device, e.g. for conditional access providing storage capabilities, e.g. memory stick

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

에뮬레이션 디바이스는 미디어 콘텐츠를 디지털 미디어 서버로부터 디지털 미디어 렌더러로 스트리밍하는데 사용된다. 에뮬레이션 시스템은 네트워크 인터페이스를 통해 상기 디지털 미디어 서버로부터 펄스 코드 변조 데이터 스트림을 수신하고, 상기 데이터를 버퍼에 저장한다. 상기 에뮬레이션 시스템은 상기 디지털 미디어 렌더러에 부착될 수 있고, 그리고 에뮬레이팅된 미디어 파일을 포함하는 스토리지 디바이스로 인식된다. 상기 디지털 미디어 렌더러가 상기 에뮬레이팅된 미디어 파일을 재생할 때, 상기 에뮬레이션 디바이스는 상기 PCM 데이터를 상기 버퍼로부터 판독하여, 상기 에뮬레이팅된 미디어 파일의 사운드 데이터 또는 비디오 데이터로 사용한다.

Description

멀티-미디어 파일 에뮬레이션 디바이스{MULTI-MEDIA FILE EMULATION DEVICE}
본 발명은 미디어 콘텐츠 스트리밍에 관한 것으로, 특히 원격 미디어 소스로부터 미디어 렌더러(renderer)로의 미디어 콘텐츠 스트리밍을 위한 장치 및 방법에 관한 것이다.
거의 모든 멀티미디어 콘텐츠는 다양한 온라인 서비스들을 통해 디지털 형식으로 배포된다. 예를 들어, 소비자들은 아이튠즈(iTunes)® 온라인 상점과 같은 서비스들로부터, 그들의 호환 가능한 전자 디바이스들에 저장하거나 재생하기에 적합한 형태로, 음악 및 영화를 구매하거나 심지어 빌린다. 그렇게 함에 있어서, 소비자들은 멀티미디어 콘텐츠를 획득하고, 저장하고, 그리고 액세스하기 위한 주요 수단으로서 종종 그들의 개인용 컴퓨터를 사용한다. 모바일 전자 디바이스들은 그 기능성 및 스토리지 용량을 광대하게 향상시켜왔고, 또한 몇몇 개인들을 위한 개인용 모바일 미디어 라이브러리로서의 역할을 한다. 예를 들어, 애플 컴퓨터 회사(Apple Computer, Inc.)에 의해 생산된 현 세대의 아이팟(iPod) 터치®, 아이폰® 및 아이패드®와 같은 모바일 디바이스들 - 이하 집합적으로 "iOS" 디바이스들이라 칭함 - 은 그들의 내부 스토리지에 14,000개보다 많은 음악 파일들을 보관할 수 있다.
단일 디바이스에 디지털화된 멀티미디어 콘텐츠의 중앙 저장소를 구비함으로써 한 사람의 멀티미디어 콜렉션을 조직화된 방식으로 편리하게 관리할 수 있다. 그러나, 재생의 품질에 있어서 홈 씨어터 시스템과 같은 풀-스케일 전용 오디오-비디오(AV) 디바이스가 전형적인 컴퓨터들 또는 휴대용 미디어 플레이어들의 재생 품질보다 종종 성능이 뛰어나다. 모뎀 멀티미디어 콘텐츠를 더 선명하고 충실하게 체험하기 위해서는 미디어 소스와 미디어 플레이어를 연결하는 방법이 필요했다.
대부분의 경우, 모든 미디어 콘텐츠가 디지털 형식으로 되어있는 것은 아니더라도, 가전 제품들이 하나의 디바이스에서 다른 디바이스로 미디어 콘텐츠를 전송하기 위한 인터페이스를 제공하는 것은 일반적이 되었다. 범용 직렬 버스(USB)는 인터페이스의 한 예이며, 오늘날에는 일반적으로 많은 가전 제품 디바이스들에서 찾아볼 수 있다. 사용자는 단순히 USB MSD(Mass Storage Device; 대용량 스토리지 디바이스)를 텔레비전, 블루-레이 플레이어 또는 AV 수신기와 같은 미디어 엔터테인먼트 디바이스들의 USB 포트에 단지 플러그 인(plug in)함으로써 상기 USB MSD에 저장된 영화나 음악 파일을 재생할 수 있다. USB 포트나 플래시 메모리 카드 슬롯과 같은 물리적 인터페이스들을 갖는 디바이스들은, 종종 진성 소프트웨어 인터페이스 드라이버에 의해 사전 로딩되는데(preloaded), 상기 드라이버에 의해 디바이스가 USB MSD 또는 메모리 카드로부터 콘텐츠를 검색할 수 있게 된다.
이동식 스토리지 디바이스를 사용하여 미디어 콘텐츠를 전달하는 것이 제대로 동작했더라도, 상기 방법은 다수의 결점들을 갖는다. 사용자는 본질적으로 미디어 콘텐츠(예컨대, 음악/영화 파일)를 복사하기 때문에, 상기 방법은 중앙 미디어 저장소를 갖는 본래의 목적을 좌절시킬 뿐만 아니라, 또한 각종 저작권 및 디지털 저작권 관리(digital rights management; DRM) 허들(huddle)들을 생성한다. 게다가, 미디어 파일들의 크기들은 고품질의 미디어 콘텐츠로 인하여 최근 몇 년 동안 크게 증대되었다. 이동식 스토리지 디바이스를 사용하여 미디어 파일들을 전송하기 위해서는 종종 상당한 시간을 필요로 한다. 이 결점들로 인하여, 미디어 콘텐츠를 저장하고 직접 스트리밍하기 위해, TV들을 "허브"로서 통합 - "허브"로부터 데이터 및 엔터테인먼트에 액세스하게 됨 - 하기 위해, 미디어에 액세스하거나 미디어를 전송하는데 모바일 디바이스들을 사용하기 위해, 그리고 더 많은 것들을 위해, 소비자들의 홈 네트워크들을 활용하고자 하는 강한 욕구가 소비자들 사이에 일어났다.
이러한 네트워크 환경에서, 사용자의 미디어 라이브러리를 저장하는 디바이스는 멀티미디어 콘텐츠를, 네트워킹 프로토콜들의 세트를 이용하여 미디어 콘텐츠를 재생하거나 렌더링하기 위한 디바이스들로 스트리밍할 수 있다. 이러한 미디어 스트리밍 지향적 네트워킹 프로토콜의 한 예는 실시간 스트리밍 프로토콜(Real Time Streaming Protocol; RTSP)이며, 이 프로토콜은 스트리밍 미디어 서버들을 제어하기 위해 엔터테인먼트 및 통신 시스템들에 사용되기 위해 설계된다. 상기 디바이스들은 서버-클라이언트 방식으로 동작하고, 상기 프로토콜은 엔드 포인트들 사이에 미디어 세션들을 설정하고 제어하는데 사용된다. 미디어 콘텐츠를 제공하는 디바이스는 미디어 서버로서 동작하며, 미디어 콘텐츠를 수신하는 디바이스는 미디어 클라이언트로서 동작하고, 그리고 다수의 미디어 서버들 및 다수의 미디어 클라이언트들이 있을 수 있다. 상기 프로토콜은 또한 디바이스들 사이의 통신 제어 명령들을 처리한다. 예를 들어, 미디어 서버의 클라이언트는 재생 및 일시 중지와 같은 미디어 재생 명령들을 발하여, 서버로부터의 미디어 파일들의 재생의 실시간 제어를 용이하게 할 수 있다.
시장에서의 다양한 가전 제품 디바이스들 사이에 보다 큰 상호 운용성을 제공하기 위해, 디지털 리빙 네트워크 연합(Digital Living Network Alliance; DLNA)이라 불리는 조직 그룹은 산업 표준들 및 디바이스 분류들의 세트를 생성했다. 명확한 설명을 위해, DLNA에 의해 정의된 동일한 디바이스 분류들 및 용어들이 본 개시의 전반에 걸쳐 사용된다. 미디어 콘텐츠를 저장하고 이 미디어 콘텐츠가 다른 네트워킹된 디바이스들에 이용 가능하게 하는 디바이스들은 디지털 미디어 서버(DMS)로 분류된다. DMS의 예들은 아이팟®과 같은 네트워킹된 휴대용 미디어 플레이어들뿐만 아니라 개인용 컴퓨터(PC), 네트워크 결합 스토리지(network attached storage; NAS) 디바이스도 포함한다. 멀티미디어 콘텐츠를 DMS로부터 "푸싱(pushing)되게" 하는 디바이스들은 미디어 렌더러(Media Renderer; DMR)로 분류된다. DMR의 예들은 TV들, 홈 씨어터 시스템들, 및 원격 스피커들을 포함한다. 디지털 미디어 플레이어들(DMP)은 DMS로부터 "풀링(pulling)된" 미디어 콘텐츠를 재생할 수 있는 디바이스들이다. DMR과 DMP의 주요 차이점은 미디어 콘텐츠가 디바이스에 전달되는 방식이다. DMS 상의 미디어 콘텐츠를 발견하여 미디어 콘텐츠를 DMR에 "푸싱"할 수 있는 디지털 미디어 컨트롤러(DMC)에 의해 DMR 디바이스들이 외부에서 제어될 수 있기 때문에, 미디어 콘텐츠를 DMR 디바이스들에 스트리밍하는 것이 일반적으로 보다 용이하다. 몇몇 디바이스들은 여러 분류들에 속할 수 있음을 유의해야 한다. 예를 들어, 아이팟®은 DMC의 기능(다른 디바이스들로부터 및 다른 디바이스들로의 스트리밍을 제어함)뿐만 아니라, DMS의 기능(예컨대, 미디어 콘텐츠를 저장하고 다른 디바이스들에 스트리밍함), DMP의 기능(예컨대, 파일을 검색하고 재생함)도 가질 수 있다.
일부 업체들은 자신들의 독자적인 미디어 스트리밍 프로토콜들을 내놓았다. 예를 들어, 애플 컴퓨터가 개발한 "AirPlay(에어플레이)"는, 임의의 iOS 디바이스들(예를 들어, iOS 운영 시스템을 갖는 디바이스들) 또는 아이튠즈® 소프트웨어를 실행하는 컴퓨터들로부터 네트워크상의 호환 가능 엔터테인먼트 디바이스들로 다양한 유형들의 미디어 콘텐츠를 스트리밍하는데 적합한 독자적 네트워킹 프로토콜들의 집합을 사용한다. 특히 음악에 의해, 애플 컴퓨터가 생산한 아이팟®이나 아이폰®과 같은 휴대용 미디어 플레이어들의 엄청난 인기는 AirPlay-인에이블된 스피커들 및 다른 액세서리들의 새로운 시장을 만들었다.
무선 미디어 스트리밍은 그것이 작동할 때 사용하는 기쁨을 준다. 완벽한 세계에서 사용자는 자신의 모든 디바이스들을 자신의 와이-파이(Wi-Fi) 네트워크에 단순히 연결하여 그들 사이에 미디어 콘텐츠를 공유할 수 있다. 그러나, 실제로는 극복해야 할 여러 장애들이 종종 있다. 예를 들어, DLNA-인증된 디바이스들 및 AirPlay-인에이블된 디바이스들 둘 다는 디바이스들에 내장된 특징들을 가지며, 이용 가능한 범용 DLNA 또는 AirPlay 어댑터들은 하나도 없다. 이는 사용자의 모바일 폰이나 MP3 플레이어가 DLNA-인증되지 않거나 AirPlay-인에이블되지 않으면, 그것은 단순히 미디어를 네트워크상의 다른 디바이스들에 스트리밍하는데 사용될 수 없음을 의미한다. 유사하게, 사용자의 스테레오 시스템이 네트워크에 연결되더라도, 디바이스가 호환 가능한 소프트웨어로 설치되지 않아 다른 디바이스들과 통신할 수 없다면, 상기 사용자의 스테레오 시스템은 장차 다른 디바이스들로부터 미디어 콘텐츠를 수신할 수 없을 것이다. 다시 말해서, 소비자가 미디어 스트리밍 솔루션들 중 어느 하나를 최대한 활용하기를 원한다면, 소비자들은 종종 그의 비(non)-DLNA 인증된 디바이스 또는 비-AirPlay 호환 가능 디바이스를 교체하도록 강요받는다.
따라서, 소비자의 기존 네트워크를 통해 미디어 콘텐츠를 공유하기 위해 디바이스들 간의 상호 운용성을 향상시키기 위한 장치 및 방법이 필요하다.
간단히 말해서, 일 실시예에 따르면, 본 개시는 로컬 액세스 가능한 정적 미디어 파일을 미디어 렌더러에 제공함으로써, 원격 미디어 서버로부터 상기 미디어 렌더러로 미디어 콘텐츠를 스트리밍하기 위한 방법 및 디바이스를 개시한다.
본 개시의 일 실시예는 에뮬레이션 디바이스를 통해 미디어 콘텐츠를 원격 미디어 서버로부터 미디어 렌더러로 스트리밍하기 위한 방법이다. 주변 인터페이스를 이용하여 상기 에뮬레이션 디바이스를 상기 미디어 렌더러에 연결할 때, 상기 에뮬레이션 디바이스는 상기 미디어 렌더러에 의해, 정적(static) 미디어 파일을 포함하는 스토리지로 인식된다. 상기 미디어 렌더러가 상기 미디어 파일을 상기 스토리지에 이미 저장된 그의 전체 콘텐츠를 갖는 파일로 인식하기 때문에, 상기 미디어 파일은 "정적"이라고 설명된다. 상기 미디어 파일은 오디오 파일 또는 비디오 파일일 수 있다. 상기 미디어 파일은 미디어 데이터 부분들을 위한 특정 부분들을 포함하는 일련의 모듈 부분들(예를 들어, 청크(chunk)들, 원자들(atoms), 또는 세그먼트들)로 이루어지는 콘테이너 또는 래퍼(wrapper) 포맷 파일인 것만으로 충분하다. 상기 에뮬레이션 디바이스는 또한, 적합한 무선 네트워크 인터페이스를 통해 상기 원격 미디어 서버에 연결된다. 상기 원격 미디어 서버가 미디어 데이터의 스트림을 전송할 때, 상기 에뮬레이션 디바이스는 들어오는 상기 미디어 데이터의 스트림을 그의 버퍼에 저장한다. 상기 버퍼에 저장된 상기 미디어 데이터의 스트림은 상기 미디어 렌더러에 의해 렌더링되는 상기 미디어 파일의 상기 미디어 데이터 부분으로 사용된다.
본 개시의 하나의 특징은 미디어 콘텐츠를 원격 미디어 서버로부터 미디어 렌더러로 스트리밍하기 위한 에뮬레이션 디바이스이다. 상기 에뮬레이션 디바이스는 상기 에뮬레이션 디바이스를 상기 미디어 렌더러에 연결하는 주변 인터페이스를 포함한다. 또한, 하나 이상의 무선 네트워크 인터페이스들은 상기 에뮬레이션 디바이스를 미디어 데이터의 스트림을 전송하는데 이용 가능한 상기 미디어 서버에 연결하기 위해 상기 에뮬레이션 디바이스에 포함된다. 상기 에뮬레이션 디바이스에는 메모리가 제공된다. 상기 메모리는 상기 미디어 서버로부터 수신된 상기 미디어 데이터의 스트림을 저장하기 위한 버퍼를 구현하는데 사용될 수 있다. 또한, 상기 메모리는 상기 원격 미디어 서버와의 연결을 확립하기 위한 명령어들뿐만 아니라 상기 미디어 렌더러에 의해 렌더링될 수 있는 미디어 파일을 에뮬레이팅하기 위한 실행 가능한 명령어들의 세트도 저장할 수 있다. 이러한 실행 가능한 명령어들은 상기 에뮬레이션 디바이스의 프로세싱 유닛에 의해 실행된다.
또 하나의 실시예에 따르면, 미디어 서버와 미디어 렌더러 사이에 개재되는 상기 에뮬레이션 디바이스는 상기 미디어 서버로부터 송신된 펄스 코드 변조(PCM) 데이터의 스트림을 버퍼링하도록 구성된다. 그리고 나서, 상기 에뮬레이션 디바이스는 상기 버퍼링된 PCM 데이터를, 상기 미디어 렌더러에 의해 렌더링되는 정적 오디오 파일의 일련의 데이터 청크들로서 제공한다.
본 발명에 따라, 소비자의 기존 네트워크를 통해 미디어 콘텐츠를 공유하기 위해 디바이스들 간의 상호 운용성을 향상시키기 위한 장치 및 방법이 제공된다.
도 1은 본 발명의 실시예들에 따른 예시적인 에뮬레이션 디바이스를 설명하는 개략적인 블록도를 도시한다.
도 2a는 디지털 미디어 서버와 디지털 미디어 렌더러 사이에 에뮬레이션 디바이스를 개재시킴으로써 수행될 수 있는 예시적인 일대일 연결을 설명하는 개략적인 블록도를 도시한다.
도 2b는 네트워크 환경에서 에뮬레이션 디바이스를 이용하여 수행될 수 있는 다양한 연결들을 설명하는 개략적인 화보도를 도시한다.
도 3은 본 발명의 일 실시예에 따라, 에뮬레이션 디바이스를 이용하여 디지털 미디어 서버로부터 디지털 미디어 렌더러로 미디어 콘텐츠를 스트리밍하기 위한 예시적인 단계들을 설명하는 흐름도를 도시한다.
본 발명은 다양한 변형들 및 대안의 형태들을 허용하지만, 그의 특정 예시의 실시예들이 도면들에 도시되었고 본 명세서에서 상세히 설명된다. 하지만, 그 특정 예시의 실시예들에 대한 도면들 및 상세한 설명은 본 발명을 여기에서 개시된 특정 형태로 한정하고자 하는 것이 아니고, 오히려, 본 발명은 부속 특허청구범위에 정의된 바와 같은 본 발명의 사상 및 범위 내의 모든 변형들, 균등물들 및 대체물들을 포괄해야 하는 것으로 이해해야 할 것이다.
개요
다음의 설명에서는, 다수의 특정 세부 사항들이 본 발명의 완전한 이해를 제공하기 위해 제시된다. 그러나, 이 특정 세부 사항들의 일부 혹은 전체가 없더라도 본 발명이 실시될 수 있음은 본 기술의 당업자에게 명백할 것이다. 다른 경우들에서, 잘 알려진 프로세스 단계들은 본 발명을 불필요하게 모호하게 하는 것을 피하기 위해서 상세히 설명되지는 않았다.
본 발명은 일반적으로 멀티미디어 콘텐츠를 디바이스에 스트리밍할 수 있게 하며, 그리고 본 발명은 디바이스에 처음에 적절한 하드웨어 및/또는 소프트웨어가 제공되지 않아서 무선 네트워크를 통해 다른 디바이스들로부터 미디어 스트림을 수신할 수 없었더라도, 디바이스가 DMR의 기능을 할 수 있게 한다. 이는 DMS와 DMR 사이에 개재된 에뮬레이션 디바이스를 이용하여 달성된다. 에뮬레이션 디바이스는 부착 가능하거나, 아니면 사용자가 DMR로서 사용하기를 소망하는 디바이스에 연결될 수도 있다. 앞서 말한 바와 같이, 많은 모뎀 AV 미디어 엔터테인먼트 디바이스들은 직접 부착된 스토리지 디바이스에 액세스하여 그 내부에 저장된 미디어 파일들을 재생할 수 있는 기능을 갖는다. 따라서, 에뮬레이션 디바이스는 부착되거나 아니면 연결될 때, 미디어 렌더링 디바이스에 의해 스토리지 디바이스로서 인식되도록 구성된다.
에뮬레이션 디바이스는, 무선 네트워크 연결을 통해 미디어 콘텐츠를 스트리밍할 수 있는 다양한 디바이스들로의 연결을 확립한다. 에뮬레이션 디바이스가 DMR 디바이스 및 DMS 디바이스 둘 다에 동시에 연결될 때, 에뮬레이션 디바이스는 미디어 스트림 데이터를 수신하여 대용량 스토리지 디바이스에 저장된 미디어 파일로 에뮬레이팅하는데, 여기서 상기 대용량 스토리지 디바이스는 미디어 렌더링 디바이스에 액세스 가능하게 된다. 미디어 파일 에뮬레이팅은 일반적으로, 소정 양의 미디어 스트림 데이터를 버퍼링하고 상기 버퍼링된 데이터를 DMR에 제공되는 미디어 파일의 데이터 부분으로 사용함으로써 달성된다. 상기 버퍼링된 데이터를 사용하여, 에뮬레이션 디바이스는 바람직하게, 적어도 파형 파일 포맷(Waveform file format; WAV)이나 오디오 교환 파일 포맷(Audio Interchange file format; AIFF)과 같은 에뮬레이팅된 미디어 파일 포맷의 데이터-레이트와 동일한 레이트로, 미디어 스트림 데이터를 DMR에 제공한다. 에뮬레이션 디바이스의 DMR로의 평균 처리량은 에뮬레이팅된 미디어 파일의 비트-레이트보다 작지 않은 것이 바람직하기 때문에, 스트리밍된 미디어 콘텐츠의 연속 재생이 달성될 수 있다.
예시적인 에뮬레이션 디바이스
도 1은 본 개시의 실시예에 따른 예시적인 에뮬레이션 디바이스(100)를 예시하는 단순화된 블록도이다. 에뮬레이션 디바이스(100)는 네트워크 인터페이스(105), 주변 인터페이스(110), 메모리(115), 및 프로세서 유닛(120)을 포함한다. 네트워크 인터페이스(105)는 IEEE 801.22 a/b/g/n 및 블루투스(Bluetooth)와 같은 하나 이상의 호환 가능 무선 네트워크 표준들을 이용하여 DMS에 무선 연결을 제공한다. 도 1에 도시되지 않았지만, 외부 안테나가 네트워크 인터페이스(105)에 결합하여 에뮬레이션 디바이스(100)의 동작 범위를 증가시킬 수 있다. 그러나, 에뮬레이션 디바이스(100)의 전체 크기를 감소시키기 위해, 네트워크 인터페이스는 온(on)-보드 인쇄 회로 기판(PCB) 안테나를 활용할 수 있다.
주변 인터페이스(110)는 사용자가 DMR로서 이용하기를 소망하는 디바이스들에 에뮬레이션 디바이스(100)를 부착시키는데 적합한 하나 이상의 커넥터들을 포함할 수 있다. 기존의 많은 멀티미디어 디바이스들은 대용량 스토리지 디바이스를 연결하여 그로부터 미디어 파일들을 재생하기 위한 USB 인터페이스를 포함하기 때문에, USB 인터페이스는 종종 주변 인터페이스(110)를 도시하기 위해 이 애플리케이션에 사용된다. 그러나, SATA, 파이어 와이어(Fire Wire), 썬더볼트(Thunderbolt), 또는 이후에 개발될 수 있는 인터페이스들과 같은 다른 인터페이스들이 주변 인터페이스(100)에 사용될 수 있음은 이 기술 분야의 당업자에게 명백해야 한다.
메모리(115)는 디바이스 기능들을 수행하는데 사용될 수 있는 서로 다른 하나 이상의 유형들의 메모리를 포함할 수 있다. 예를 들어, 메모리(115)는 캐시, 플래시, 읽기-전용 메모리(ROM), 및/또는 랜덤-액세스 메모리(RAM)를 포함할 수 있다. 어떤 유형의 메모리나 메모리의 일부분들은 특히 특정 태스크 전용, 또는 펌웨어 저장이나 실행 가능한 명령어들의 세트 저장 전용일 수 있다. 위에 설명한 바와 같이, 에뮬레이션 디바이스(100)는: (1) DMS로부터 미디어 스트림 데이터를 수신하고, (2) 상기 수신된 미디어 스트림 데이터를 버퍼에 저장하고, 그리고 (3) 상기 미디어 스트림 데이터를 대용량 스토리지 디바이스에 국부적으로 저장된 미디어 파일로서 제공한다. 전술한 기능들을 수행하기 위한 에뮬레이션 디바이스(100)용 펌웨어 및 다른 실행 가능 코드들은 일반적으로 비(non)-일시적 스토리지 매체에 저장된다. 예를 들면, 플래시 메모리나 ROM과 같은 비휘발성 메모리가 펌웨어나 다른 실행 가능한 명령어들을 저장하는데 사용될 수 있다. 미디어 스트림 데이터를 버퍼링하기 위해서는 캐시, RAM, 또는 심지어 플래시 메모리가 사용될 수 있다.
에뮬레이션 디바이스(100)의 기능들을 수행하기 위해 실행 가능한 코드들의 세트를 실행하기 위한 프로세서 유닛(120)은 단일 혹은 멀티-코어 프로세서(예컨대, 시중에서 판매하는 CISC 또는 RISC 프로세서), 복수의 상호 연결된 프로세서들, 또는 주문형 집적 회로(ASIC)나 필드 프로그래머블 게이트 어레이(FPGA)로서 구현된 주문 설계된 상태 머신들로써 구현될 수 있다. 바람직하게는, 에뮬레이션 디바이스(100)는 주변 인터페이스를 통해 DMR로부터 전력을 얻도록 구성되어 추가 공급 전력 없이도 동작한다. 그러나, 에뮬레이션 디바이스(100)는 독립 전원을 포함할 수 있어서, DMR에 부착되기 전이나 주변 인터페이스가 전력을 공급하지 않을 때조차도 동작할 수 있다.
보다 명확한 설명을 위해, 도 1은 각각의 구성요소를 별개의 기능 블록으로 도시했다. 그러나, 다양한 실시예들에서는 구성요소들 전체 혹은 일부가 함께 결합될 수 있다. 예를 들어, 프로세서 유닛(120)은 집적된 네트워크 인터페이스 모듈을 구비하여 다른 디바이스들과 무선으로 통신할 수 있고, 또한 DMS로부터 수신된 미디어 스트림 데이터를 버퍼링하기 위해 캐시 메모리를 구비할 수 있다.
예시적인 애드 -혹( Ad - hoc ) 연결
도 2a는 에뮬레이션 디바이스(100)의 실시예가 DMS(205)로부터 DMR(210)로 미디어 콘텐츠를 스트리밍하는데 사용되는 예시적인 환경(200)을 설명하는 블록도이다. 이 예에서, DMS(205)는 사용자의 미디어 라이브러리를 저장하는 아이팟®과 같은 모바일 미디어 플레이어이다. DMS(205)는 에뮬레이션 디바이스(100)를 포함하여, 다른 디바이스들과 통신하기 위한 자신의 네트워크 인터페이스를 포함한다. 에뮬레이션 디바이스(100)에 포함된 네트워크 인터페이스와 유사하게, DMS(205)용 네트워크 인터페이스도 또한 IEEE 802.11 표준들 중 하나 또는 블루투스 표준을 사용하는 무선 네트워크 인터페이스이다. 네트워크 표준이 DMS(205)와 에뮬레이션 디바이스(100) 사이의 데이터 통신을 가능하게 하는 한, 현재 알려져 있거나 이후에 개발될 임의의 다른 네트워크 표준들이 사용될 수 있다.
그러나, 몇몇 다른 예시적인 실시예들에서, CD/DVD 플레이어 또는 퍼스널 컴퓨터(PC)와 같은 풀-스케일된(full-scaled) 미디어 플레이어도 또한 DMS(205)의 기능을 수행할 수 있다. DMS(205)로서 동작하는 디바이스가 미디어 콘텐츠를 포함하고 에뮬레이션 디바이스(100)에 연결되어 미디어 콘텐츠를 스트리밍할 수 있는 것만으로 충분하다.
도 2a에서, DMR(210)은 오디오 플레이어로서 도시되어 있다. TV, 카(car) 스테레오, 또는 심지어 휴대용 미디어 플레이어와 같은 다른 멀티미디어 디바이스들도 또한 DMR(210)의 기능을 수행할 수 있다. 위에 언급한 바와 같이, 엔터테인먼트 디바이스들의 최근의 발전은 직접 부착된 스토리지 디바이스들에 저장된 멀티미디어 파일들을 재생할 수 있는 기능을 이 엔터테인먼트 디바이스들에 제공했다. 예를 들어, 도 2a에 도시된 오디오 플레이어는 그 내부에 저장된 멀티미디어 파일들을 판독하고 재생하기 위한 USB 포트 또는 메모리 카드 슬롯을 포함할 수 있다. 기본적으로 DMR은 연결된 대용량 스토리지 디바이스로부터 멀티미디어 파일들을 재생하는 것을 지원하는 것만으로 충분하다.
DMR 디바이스들에 내장된 이러한 재생 기능을 활용하기 위해, 에뮬레이션 디바이스(100)에게는 DMR(210)과 호환성 있는 주변 인터페이스가 제공되어 디바이스들 사이에 필요한 연결을 달성한다. 몇몇 다른 실시예들에서, 에뮬레이션 디바이스는 보안 디지털 카드(Secure Digital card; SD)나 컴팩트 플래시(CF) 카드와 같은 플래시 메모리 카드 형태로 구현될 수 있다. 이러한 경우들에서, DMR(210)에 사용 가능한 메모리 카드 슬롯들을 통해, 필요한 연결을 수행할 수 있다.
아래에 보다 상세히 논의되는 바와 같이, 에뮬레이션 디바이스(100)는 주변 인터페이스를 통해 직접 부착된 스토리지 디바이스를 에뮬레이팅한다. 전형적으로, DMR(210)은 종래의 스토리지 액세스 프로토콜들 - 예를 들어, 직렬 주변 인터페이스(Serial Peripheral Interface; SPI), 소형 컴퓨터 시스템 인터페이스(Small Computer System Interface; SCSI), 또는 임의의 다른 적합한 인터페이스 프로토콜이 있지만, 이에 한정되지 않음 - 을 이용하여, 스토리지 디바이스의 파일 시스템을 파악하고 미디어 파일의 콘텐츠를 판독하도록 구성된다.
도 2a에 도시된 예에서, 에뮬레이션 디바이스(100)는 어떠한 네트워크 연결 디바이스들(예컨대, 라우터들 또는 스위치들)도 사용하지 않고도 무선 네트워크를 통해 DMS(205)에 직접 연결된다. 이러한 애드-혹 연결을 달성하기 위해, 에뮬레이션 디바이스(100)는 자신을 DMS(205)와 한 쌍의 짝이 되게 하도록 실행 가능한 명령어들을 포함할 수 있다. DMS(205)와 에뮬레이션 디바이스(100) 사이의 연결이 확립될 때, DMS(205)는 에뮬레이션 디바이스(100)를, 미디어 데이터를 스트리밍하기 위한 DMR(210) 사용 가능 대상으로 인식한다. 따라서, DMS(205)의 사용자 인터페이스는 미디어 콘텐츠를 DMR(210)에 스트리밍하기 위한 옵션을 제공할 수 있다. 사용자는 DMS(205)에 제공된 사용자 인터페이스와 상호 작용하여 곡을 재생할 수 있다. 사용자가 음악을 DMR(210)에 스트리밍하는 옵션을 선택할 때, DMS(205)는 소정 포맷의 미디어 스트림 데이터를 전송하기 시작한다. DMS(205)의 미디어 콘텐츠는 MP3, AAC, WMA 등과 같은 다양한 파일 포맷들로 존재할 수 있지만, DMS(205) 또는 DMC(도시되지 않음)는 이 다양한 오디오 포맷들을 디코딩 및/또는 트랜스코딩하고, 그리고 펄스 코드 변조(PCM) 데이터를 에뮬레이션 디바이스(100)에 스트리밍하는 것이 바람직하다. 이는 에뮬레이션 디바이스(100)가 여러 파일 포맷들을 처리하기 위해 디코더를 포함해야 하는 필요성을 제거하고, 또한 에뮬레이션 디바이스(100)의 하드웨어 성능 요구 사항들을 감소시킨다.
인프라 구조 네트워크에서의 예시적인 연결들
DMS(205)와 에뮬레이션 디바이스(100) 사이의 연결은 도 2a에서 애드-혹 연결로 도시되어 있지만, 상기 연결은 라우터 및/또는 스위치와 같은 또 하나의 네트워크 디바이스를 통해 간접적으로 달성될 수 있다. 도 2b는 에뮬레이션 디바이스(100)의 실시예가 인프라 구조의 네트워크에 사용되는 예시적인 환경을 도시하는 블록도이다. 네트워크(215)는 DMS(220)를, 다양한 유형들의 DMR들(225)에 결합되는 다수의 에뮬레이션 디바이스들(100)에 연결한다. 네트워크(215)는 일반적으로 로컬 영역 네트워크(LAN)와 같은 데이터 네트워크일 수 있지만, 또한 광역 네트워크(WAN) 혹은 인터넷일 수도 있다. 이 예에서, DMS(220)는 사용자의 멀티미디어 라이브러리를 저장하는 범용 퍼스널 컴퓨터(PC)이고, 그리고 서버로서 동작한다. 위에 언급한 바와 같이, 네트워크-연결된 스토리지들(network attached storages; NAS)이나 휴대용 미디어 플레이어들을 포함하는 다른 디바이스들도 또한 DMS(220)의 기능을 수행할 수 있다. DMS(220)는 네트워크(215)에서 미디어 콘텐츠를 다른 디바이스들에 제공할 수 있는 임의의 디바이스일 수 있다. 또한, 도 2a에 도시된 이전 예시와는 다르게, 도 2b의 DMS(220)와 네트워크(215) 사이의 연결은 유선 연결일 수 있지만; 네트워크(215)와 각각의 에뮬레이션 디바이스(100)는 무선으로 연결된다.
네트워크(215)에 연결된 DMR들(225)은 랩톱 및/또는 태블릿들과 같은 다른 컴퓨터들뿐만 아니라 텔레비전들, 블루-레이 플레이어들 또는 AV 구성요소들과 같은 전형적인 엔터테인먼트 디바이스들을 포함할 수 있다. 전술한 바와 같이, DMR은 기본적으로, 그들의 주변 인터페이스를 통해 연결된 스토리지 디바이스에 저장된 미디어 파일들을 재생하는 것을 지원하는 것만으로 충분하다. 도 2b에 도시된 DMR들(225)은 그들의 대응 에뮬레이션 디바이스들(100)에 부착되고, 각각의 DMR(225)은 서로 다른 미디어 렌더링 기능들을 갖고 처리 전력 레벨들을 변경하는 클라이언트로서 동작한다.
각각의 DMR(225)은 서로 다른 특징 세트를 가질 수 있고 그리고 네트워크 내의 다른 디바이스들과 통신하기 위한 서로 다른 메커니즘을 가질 수 있기 때문에, 에뮬레이션 디바이스는 단순히 디바이스들을 연결하는 자동 발견 및 구성 루틴들을 포함하는 것이 바람직하다. 일 실시예에서, 인프라 구조 모드에 사용되도록, 에뮬레이션 디바이스는 애플 컴퓨터에 의해 개발된 봉쥬르(Bonjour) 프로토콜을 사용하여, 그것이 네트워크(215)에서 제공하는 서비스들을 광고할 수 있다. 이는 봉쥬르 프로토콜 컴플라이언트(compliant) 소프트웨어(예컨대, 아이튠즈)를 실행하는 컴퓨터(예컨대, DMS(220))와 같은 네트워킹된 DMS 디바이스들이, 네트워크(215)에서 (에뮬레이션 디바이스들에 연결된) DMR들(225)을 발견할 수 있게 한다. UPnP 및 그 확장들과 같은 유사한 기능들을 제공하는 다른 네트워킹 프로토콜들도 또한 에뮬레이션 디바이스에 의해 사용되어, 네트워킹된 디바이스들 사이에 훨씬 더 큰 상호 운용성을 제공할 수 있다. 게다가, 전술한 자동 디바이스 발견/구성 메커니즘은 DMR들이 네트워크(215) 내의 이용 가능한 DMS들을 발견할 수 있도록 변경될 수 있다.
네트워크를 통해 송신된 미디어 스트림 데이터(예컨대, PCM 데이터의 패킷들)는 실시간 스트리밍 프로토콜(real-time streaming protocol; RTSP)에 의해 특정되는 송신 제어 프로토콜(Transmission Control Protocol; TCP) 세그먼트들을 포함하는 것이 바람직하다. RTSP는 DMS를 제어하기 위해 엔터테인먼트 통신 시스템들에 사용되도록 설계된 표준 통신 프로토콜이며, 본 기술 분야의 당업자들에게 잘 알려져 있다. TCP는 그 견고성(robustness)으로 인해 전송 프로토콜로 사용되는 것이 바람직하지만, 특히 TCP와 연관된 오버헤드가 바람직하지 않을 애플리케이션들에서는 사용자 데이터그램 프로토콜(User Datagram Protocol; UDP)과 같은 데이터그램 프로토콜들이 또한 사용될 수도 있다.
RTSP 외에도, 실시간 전송 프로토콜(Real-time Transport Protocol; RTP) 및 RTP 제어 프로토콜(RTPC)도 또한 스트리밍 미디어 콘텐츠를 더욱 최적화하는데 사용될 수 있다. TCP는 보장된 패킷 전달 및 올바른 시퀀싱(sequencing)을 자동으로 제공하지만, TCP는 데이터의 적시성(timeliness) 전달을 통한 신뢰도를 선호한다. 또한, RTP에 의해 제공된 타이밍 및 시퀀스 정보는 제어 명령이 에뮬레이션 디바이스로부터 DMS로 발행될 때 특히 유용할 수 있다.
예를 들어, 에뮬레이션 디바이스는 에뮬레이션 디바이스가 미디어 스트림의 재생 중 어디에 있는지에 관한 정보를 주기적으로 제공할 수 있다. 이는 현재 재생되고 있는 패킷의 표시를 송신하는 에뮬레이션 디바이스에 의해 달성될 수 있다. 대안적으로 에뮬레이션 디바이스는 디바이스의 버퍼 상태뿐만 아니라, 바로 수신된 데이터 패킷도 표시할 수 있다. 이 정보는 여러 목적들을 위해 DMS에 유용하다. 예를 들어, DMS가 에뮬레이션 디바이스 상의 버퍼가 로우(low)라고 측정하면, 부가적인 데이터는 실시간보다 빨리 에뮬레이션 디바이스에 송신되어, 에뮬레이션 디바이스의 버퍼가 완전히 비어있게 되지는 않음을 보장할 수 있다.
미디어 콘텐츠를 스트리밍하기 위한 예시적인 단계들
도 3은 본 개시의 에뮬레이션 디바이스의 실시예를 이용하여 DMS로부터 DMR로 미디어 콘텐츠를 스트리밍하기 위한 예시적인 단계들(300)을 도시한다.
첫째로, S301에서, 적절한 주변 인터페이스를 이용함으로써 에뮬레이션 디바이스와 DMR 사이의 연결이 수행된다. 디바이스들이 연결될 때, DMR은 디바이스들을 연결하는 주변 인터페이스에 적합한 종래의 프로토콜을 이용함으로써, 자동으로 에뮬레이션 디바이스와의 통신을 개시할 수 있다. 예를 들어, 디바이스들이 USB 인터페이스를 통해 연결되면, DMR은 에뮬레이션 디바이스가 USB 프로토콜에 따라 자신을 확인하도록 요청하는 메시지를 송신할 수 있다. 에뮬레이션 디바이스는 자신을 스토리지 디바이스로서 확인하는 메시지와, 디렉토리 구조뿐만 아니라, 스토리지 볼륨 정보, 마스터 부트 레코드(Master Boot Record; MBR), 파티션 부트 레코드(Partition Boot Record; PBR)와 같은 다른 확인 세부사항들로써 응답할 수 있다.
언급한 바와 같이, 에뮬레이션 디바이스는 플래시 메모리와 같은 스토리지 구성요소들을 포함할 수 있고, 이러한 구성요소의 실제 세부 사항들은 DMR에 제공될 수 있다. 그러나, 바람직한 실시예에서, 에뮬레이션 디바이스는 소정 정보의 세트를 DMR에 제공함으로써 가상 스토리지 디바이스를 에뮬레이팅한다. 스토리지 디바이스는, 예를 들어 FAT32 파일-시스템으로 포맷된 단일 주 파티션을 갖는 것으로 에뮬레이팅될 수 있다. 그러나, 본 기술 분야의 당업자들은 미디어 뷰어가 이해할 수 있는 임의의 파일-시스템이 사용될 수 있음을 이해할 수 있다. 호환되는 파일 시스템을 갖는 스토리지 디바이스로 에뮬레이션 디바이스를 인식할 때, DMR은 루트 디렉토리의 콘텐츠를 요청할 수 있다. 그 회답으로, 에뮬레이션 디바이스는 사용자가 DMR의 사용자 인터페이스를 통해 선택할 수 있는 단일 미디어 파일, 예를 들어 "AirPlay.wav"을 제공할 수 있다.
바람직하게는, DMR에 제공된 미디어 파일은 일련의 모듈 부분들로 이루어진 콘테이너 포맷 또는 래퍼(wrapper) 포맷이다. 리소스 교환 파일 포맷(Resource Interchange File Format; RIFF)에서, 모듈 부분들은 "청크(chunk)들"이라 불린다. 퀵타임(QuickTime)/MP4 파일 포맷들에서, 모듈 부분들은 "원자들(atoms)"이라 불린다. 미디어 파일의 파일 헤더는 미디어 파일의 모듈 부분들의 시퀀스뿐만 아니라 메타데이터도 특정한다. 몇몇 진보된 콘테이너 포맷들은 다양한 스트림들을 함께 재생하는데 필요한 동기화 정보와 더불어 다수의 오디오 및 비디오 스트림들, 서브타이틀들, 챕터-정보, 및 다양한 다른 메타데이터를 지원할 수 있다.
미디어 렌더러에 제공된 미디어 파일의 파일 헤더는 필요에 따라 또는 소정 방식으로 에뮬레이션 디바이스에 의해 설정될 수 있어, 미디어 렌더러가 에뮬레이팅된 미디어 파일을 재생할 수 있게 한다. 예를 들어, 에뮬레이션 디바이스는 주어진 미디어 파일의 채널들의 수 외에도 사이즈, 샘플 레이트, 비트 레이트를 설정할 수 있다. 몇몇 실시예들에서, 에뮬레이션 디바이스는 미디어 서버로부터 스트리밍된 미디어 콘텐츠에 관한 메타데이터나 다른 정보를 얻고, 이러한 정보를 에뮬레이팅된 미디어 파일의 파일 헤더를 포뮬레이팅(formulating)하는데 사용하도록 구성될 수 있다.
S302에서, 에뮬레이션 디바이스는 미디어 콘텐츠를 스트리밍하는데 이용 가능한 DMS에 연결된다. 앞서 말한 바와 같이, 에뮬레이션 디바이스는 디바이스들을 자동으로 연결하기 위한 하나 이상의 자동 발견 및 구성 루틴들을 포함할 수 있다. 이러한 발견 프로세스의 일례는 봉쥬르 프로토콜을 사용하며, 상기 봉쥬르 프로토콜은 네트워크상의 컴퓨터들, 디바이스들, 및 서비스들의 자동 발견을 인에이블(enable)하는 기술이다. 상기 프로토콜은 제로(Zero) 구성 네트워킹을 지원하고, 그리고 사용자가 IP 주소들을 입력하거나 DNS 서버들을 구성할 필요없이 디바이스들이 서로를 자동으로 발견할 수 있게 한다. 봉쥬르 프로토콜의 다양한 특징들은 애플 컴퓨터 회사가 공개한 "Bonjour(봉쥬르)"라는 명칭의 백서(white paper)에 개시되어 있으며, 이 백서는 그 전체가 본 출원에 참조로 통합된다. 봉쥬르 프로토콜은 상호 연결성을 한정된 유형들의 디바이스들(예컨대, 애플사(社)가 승인한 제품들)에 제공하기 때문에, 일 실시예에서, 상기 에뮬레이션 디바이스는 유사한 자동 발견 및 구성 기능성을 제공하는 UPnP와 같은 부가적인 네트워킹 프로토콜들을 지원한다.
미디어 공유 기능성을 제공하는 것처럼 DMS와 DMR 사이의 통신들을 용이하게 하기 위해, 에뮬레이션 디바이스는 자신이 미디어 스트림 데이터를 수신하는데 사용될 수 있음을 네트워크를 통해 광고할 것이다. 그렇게 함으로써, 에뮬레이션 디바이스는 서비스의 가용성, 서비스를 제공하는 디바이스의 명칭, 디바이스의 네트워크 어드레스, 및 서비스에 관련되는 하나 이상의 구성 파라미터들과 같은 다양한 정보를 공개할 것이다. 음악을 스트리밍하는 것에 대한 이 예에서, 이용 가능한 서비스의 등록은 시스템의 특정 오디오 기능들(예를 들어, 44.1 kHz 샘플 레이트, 16-비트 샘플 사이즈, 및 2-채널/스테레오 샘플들)을 확인할 수 있다. 서비스의 등록은 또한, 디바이스와 통신하는데 필요한 보안, 암호화, 압축, 및 다른 기능들 및/또는 파라미터들도 포함할 수 있다.
에뮬레이션 디바이스가 발견되면, DMS(예컨대, 아이튠즈®를 실행하는 퍼스널 컴퓨터)는 에뮬레이션 디바이스를 그가 오디오 데이터를 스트리밍할 수 있는 목적지로 인식할 것이다. 따라서, DMR은 DMS의 사용자 인터페이스 내에서 선택할 수 있는 목적지로 제공될 수 있다. 사용자가 DMR을 자신의 음악을 위한 목적지로 선택할 때, DMS로부터 DMR로 미디어 데이터를 스트리밍하기 위한 연결이 확립된다.
그러나, 몇몇 실시예들에서는, 연결을 확립하기 전에 또는 미디어 데이터를 에뮬레이션 디바이스에 스트리밍하기 전에 다양한 통신들이 발생할 수 있다. 예를 들어, 에뮬레이션 디바이스는 보안 기능을 포함할 수 있으며, 사용자가 DMS 및 에뮬레이션 디바이스를 연결하기 위한 비밀 번호를 입력할 수 있도록 유도할 수 있다. 부가적으로, 에뮬레이션 디바이스는 메시지를 DMS에 송신하여 그가 미디어 스트림 데이터를 수용할 준비가 되어있지 않음을 표시할 수 있다.
S303에서, 에뮬레이션 디바이스는 소정 양의 스트리밍된 미디어 데이터를 수신하고 버퍼링하여 미디어 파일을 에뮬레이팅한다. 위에 설명한 바와 같이, DMS에 저장될 수 있는 원본 미디어 파일들은 예를 들어 MP3(동영상 전문가 그룹 레이어 3), AAC(고급 오디오 코딩 a/k/a MPEG-4 오디오), WMA(윈도우즈 미디어 오디오) 등을 포함한다. DMS는 적절한 소프트웨어 및 코덱들을 이용하여 이 다양한 오디오 포맷들을 디코딩하고, 그리고 사용자-선택 음악에 대한 아날로그 신호의 디지털 표현이 될 PCM 데이터의 스트림을 제공하는 것이 바람직하다. 또한, 에뮬레이션 디바이스 내에 구현된 버퍼는 데이터 스트림들을 버퍼링하는데 적합한 소정 사이즈의 링(ring) 버퍼일 수 있다.
이 버퍼를 이용하여, 에뮬레이션 디바이스는 파형 파일 포맷(WAV)이나 오디오 교환 파일 포맷(AIFF)과 같은 에뮬레이팅된 미디어 파일 포맷의 데이터-레이트와 적어도 동일한 레이트로 PCM 데이터를 DMR에 제공할 수 있다. 즉, 에뮬레이션 디바이스의 DMR로의 평균 처리량(예컨대, 에뮬레이션 디바이스로부터 DMR로의 데이터 전송 레이트)은, 스트리밍된 미디어 콘텐츠의 연속 재생을 위해 DMR에 의해 판독되어야 하는 데이터의 양(예컨대, 에뮬레이팅된 미디어 파일의 비트-레이트)보다 적지 않은 것이 바람직하다.
일 실시예에서, 에뮬레이션 디바이스는 스트리밍된 PCM 데이터로부터 리소스 교환 파일 포맷(RIFF) 미디어 파일을 에뮬레이팅한다. 동작에 있어서, 에뮬레이션 디바이스는 DMR이 "AirPlay.wav"와 같은 에뮬레이팅된 미디어 파일을 선택할 때 RIFF 헤더를 제공한다.
RIFF 파일들은 전적으로, 태깅된(tagged) "청크(chunk)들"로 이루어진다. 두 청크 식별자들, 즉 "RIFF" 및 "LIST"는 서브(sub)-청크들을 포함할 수 있는 청크를 도입한다. 식별자 및 길이 이후, 그들의 청크 데이터는 이 특정 청크의 포맷(예컨대, "WAVE")을 표시하는 ASCII 식별자를 포함하는 4 바이트 필드를 갖는다. "Wave" 포맷은 두 개의 서브-청크들, 즉 "fmt" 및 "data"로 이루어진다. "fmt" 서브-청크는 샘플당 비트들의 수(예컨대, 샘플당 16비트)뿐만 아니라 오디오 포맷(예컨대, PCM), 채널들의 수(예컨대, 스테레오), 샘플 레이트(예컨대, 44.1 kHz)와 같은 사운드 데이터의 다양한 세부 사항들을 설명한다. "data" 서브-청크는 데이터의 사이즈 및 실제 사운드 데이터를 포함한다. 에뮬레이션 디바이스는 가상 스토리지 디바이스 블록 어드레스로부터, PCM 데이터 스트림을 포함하는 버퍼의 어드레스로의 맵핑을 제어하기 때문에, 실제 사운드 데이터는 스트리밍된 PCM 데이터를 저장하는 링 버퍼로부터 판독된다. AIFF는, 파일을 다수의 청크들로 분할하고 그의 사운드 데이터 청크들에 대해 압축되지 않은 PCM 데이터를 받아들이는 또 하나의 파일 포맷이다.
DMS는 미디어 스트림 데이터를 에뮬레이션 디바이스에 "푸싱(pushing)"할 수 있지만, 미디어 콘텐츠는 DMR이 에뮬레이팅된 미디어 파일(예컨대, AirPlay.wav)을 재생할 때까지 DMR에 렌더링되지 않음을 유의해야 한다. 에뮬레이팅된 파일의 재생은 DMR의 설계에 의존하여, 사용자의 명령에 따라 자동으로 혹은 수동으로 발생할 수 있다. 예를 들어, DMR은 에뮬레이팅된 스토리지 디바이스의 디렉토리 구조를 제시하기 위한 디스플레이를 구비하여, 사용자가 에뮬레이팅된 파일을 선택하게 할 수 있다. 따라서, DMR이 에뮬레이팅된 미디어 파일을 재생할 때, S314에서, 에뮬레이션 디바이스는 버퍼링된 미디어 스트림 데이터를 에뮬레이팅된 미디어 파일의 일련의 미디어 데이터 부분들(예컨대, 미디어 데이터 청크들)로서 제공한다. 이를 달성하기 위해, 에뮬레이션 디바이스는 미디어 파일의 미디어 데이터 부분들의 메모리 어드레스를 버퍼의 메모리 위치에 맵핑할 수 있거나, 또는 DMR에 제공된 파일 헤더는 필요한 로직 링크를 버퍼의 메모리 위치에 제공할 수 있다.
DMR이 에뮬레이팅된 미디어 파일을 실제로 렌더링하는 시기와는 무관하게, 에뮬레이션 디바이스는 DMS와의 연결이 확립되자마자 자동으로 버퍼를 채우기 시작할 수 있다. 디바이스들이 연결될 때 DMS가 어떠한 미디어 데이터도 스트리밍하지 않으면, 에뮬레이션 디바이스는 유효 PCM 데이터가 DMS로부터 수신될 때까지, 무음(silent sound)을 나타내는 PCM 데이터로 버퍼를 채울 수 있다. 이후, 버퍼가 소정 용량에 도달하면, DMR은 스트리밍된 미디어 콘텐츠를 재생하기 시작한다. 예를 들어, 에뮬레이션 디바이스의 링 버퍼는 총 10초의 버퍼링을 가능하게 하는 사이즈를 가질 수 있지만, 에뮬레이션 디바이스는 버퍼가 적어도 3초의 스트리밍된 PCM 데이터를 포함할 때, 버퍼링된 데이터를 공급하기 시작할 수 있다. 일반적으로, 에뮬레이션 디바이스는 초기 미디어 데이터 스트림을 수신하는 4초 이내에, 버퍼링된 데이터를 에뮬레이팅된 미디어 파일의 데이터 부분으로서 DMR에 공급하기를 시작하는 것이 바람직하다. 부가적으로, 예를 들어 네트워크 트래픽이나 신뢰성 조건들에 따라, 에뮬레이션 디바이스가 버퍼 사이즈를 동적으로 조정하는 것이 가능하다.
본 명세서는, 에뮬레이션 디바이스를 이용하여 미디어 서버로부터 미디어 렌더러로 미디어 콘텐츠를 스트리밍하는데 적합한 방법들뿐만 아니라 에뮬레이션 디바이스의 실시예들도 설명했다. 그러나, 본 발명은 이 예시들로 한정되지 않는다. 실시예들은 특정 기능들 및 그 관계들의 구현을 도시하는 기능적인 구성 블록들을 이용하여 위에서 설명되었다. 또한, 도시된 단계들은 도시된 실시예를 설명하기 위해 제시되었으며, 그리고 지속적인 기술 개발은 특정 기능들이 수행되는 방식을 변경할 수 있음이 예기되어야 한다. 기능적인 구성 블록들 및 흐름도의 단계들의 경계들(boundaries)은 설명의 편의를 위해 여기서 임의로 정의되었다. 특정 기능들 및 그 관계들이 적절히 수행되는 한, 대안의 경계들이 정의될 수 있다. 이 예들은 예시의 목적으로 여기에 제시되었으며, 이 예들로 국한되지 않는다. (여기에 설명된 예들의 균등물들, 확장들, 변경들, 변이들 등을 포함하는) 대체물들은 여기에 내포된 교시들에 기초하여 관련 기술 분야(들)의 당업자들에게는 명백할 것이다. 이러한 대체물들은 본 발명의 범위와 사상 내에 속한다.

Claims (25)

  1. 에뮬레이션 디바이스를 통해 미디어 데이터를 원격 미디어 서버로부터 미디어 렌더러로 스트리밍하기 위한 방법으로서,
    주변 인터페이스를 통해 에뮬레이션 디바이스를 미디어 렌더러에 연결하는 단계, - 상기 에뮬레이션 디바이스는 상기 미디어 렌더러에 의해, 적어도 하나의 미디어 파일을 포함하는 스토리지로 인식됨 -;
    네트워크 인터페이스를 통해 상기 에뮬레이션 디바이스를 원격 미디어 서버에 연결하는 단계;
    미디어 데이터의 스트림을 상기 원격 미디어 서버로부터 상기 에뮬레이션 디바이스로 전송하는 단계, - 상기 에뮬레이션 디바이스는 상기 미디어 데이터의 스트림을 버퍼에 저장함 -; 및
    상기 미디어 렌더러에 의해 상기 미디어 파일을 렌더링하는 단계 - 상기 미디어 파일의 미디어 데이터 부분은 상기 미디어 데이터의 스트림을 저장하는 상기 버퍼로부터 판독됨 - 를 포함하는, 미디어 데이터 스트리밍 방법.
  2. 제 1 항에 있어서,
    상기 에뮬레이션 디바이스는 적어도 하나의 미디어 파일을 포함하는 상기 스토리지로 인식되도록, 에뮬레이팅된 메타데이터의 세트를 상기 미디어 렌더러에 제공하는, 미디어 데이터 스트리밍 방법.
  3. 제 2 항에 있어서,
    상기 스토리지에 포함된 상기 미디어 파일은 하나 이상의 미디어 데이터 청크(chunk)들을 갖는 콘테이너 파일인, 미디어 데이터 스트리밍 방법.
  4. 제 3 항에 있어서,
    상기 원격 미디어 서버로부터 수신된 상기 미디어 데이터의 스트림은 트랜스코딩 프로세스 없이 상기 미디어 데이터 청크들로 직접 사용할 수 있는, 미디어 데이터 스트리밍 방법.
  5. 제 4 항에 있어서,
    상기 메타데이터의 세트는 상기 미디어 파일의 파일 헤더를 포함하는, 미디어 데이터 스트리밍 방법.
  6. 제 5 항에 있어서,
    상기 파일 헤더는 상기 미디어 파일의 포맷을 특정하기 위한 하나 이상의 태깅된(tagged) 청크들을 포함하는, 미디어 데이터 스트리밍 방법.
  7. 제 6 항에 있어서,
    상기 에뮬레이팅된 메타데이터의 세트는 상기 미디어 데이터 청크들의 로직 블록 어드레스를 상기 버퍼의 메모리 어드레스들의 세트에 맵핑하는, 미디어 데이터 스트리밍 방법.
  8. 제 7 항에 있어서,
    상기 에뮬레이션 디바이스는 상기 미디어 데이터의 스트림이 상기 미디어 서버로부터 수신되지 않을 때 디폴트 미디어 콘텐츠를 나타내는 템플릿(template) 미디어 데이터로 상기 버퍼를 채우는, 미디어 데이터 스트리밍 방법.
  9. 제 7 항에 있어서,
    상기 미디어 서버로부터의 상기 미디어 데이터의 스트림은 펄스 코드 변조(PCM) 데이터의 스트림인, 미디어 데이터 스트리밍 방법.
  10. 제 9 항에 있어서,
    상기 미디어 파일은 파형 오디오 파일 포맷(Waveform Audio File Format; WAVE) 또는 오디오 교환 파일 포맷(Audio Interchange File Format; AIFF)인, 미디어 데이터 스트리밍 방법.
  11. 제 10 항에 있어서,
    상기 버퍼 내의 상기 PCM 데이터의 스트림은 상기 미디어 파일의 일련의 미디어 데이터 청크들로서 상기 미디어 렌더러에 제공되는, 미디어 데이터 스트리밍 방법.
  12. 제 1 항에 있어서,
    상기 에뮬레이션 디바이스를 상기 원격 미디어 서버에 연결하는 단계는:
    상기 미디어 렌더러에 의해 제공된 하나 이상의 서버스들을 확인하는 단계; 및
    하나 이상의 디바이스 발견 프로토콜들을 사용하여 상기 확인된 서버스들을 네트워크에 브로드캐스트하는 단계 - 상기 네트워크 상의 적어도 하나의 미디어 서버는 상기 에뮬레이션 디바이스를, 상기 미디어 데이터의 스트림을 전송하는데 이용 가능한 목적지로 확인함 - 를 더 포함하는, 미디어 데이터 스트리밍 방법.
  13. 제 12 항에 있어서,
    상기 에뮬레이션 디바이스는 상기 미디어 데이터의 스트림을 수신할 준비가 되어있지 않으면 홀드(hold) 신호를 상기 미디어 서버에 제공하는, 미디어 데이터 스트리밍 방법.
  14. 미디어 콘텐츠를 원격 미디어 서버로부터 미디어 렌더러로 스트리밍하기 위한 에뮬레이션 디바이스로서,
    상기 에뮬레이션 디바이스를 상기 미디어 렌더러에 연결하기 위한 주변 인터페이스;
    상기 원격 미디어 서버로부터 미디어 데이터의 스트림을 수신하기 위한 하나 이상의 무선 네트워크 인터페이스들;
    (i) 상기 미디어 데이터의 스트림, 및 (ii) 상기 미디어 렌더러에 의해 인식될 수 있는 미디어 파일을 에뮬레이팅하고 상기 원격 미디어 서버와의 연결을 확립하기 위한 실행 가능한 명령어들의 세트, 중 적어도 하나를 저장하기 위한 메모리; 및
    상기 실행 가능한 명령어를 실행하기 위한 프로세싱 유닛을 포함하는, 에뮬레이션 디바이스.
  15. 제 14 항에 있어서,
    상기 버퍼는 소정 사이즈의 링(ring) 버퍼 구조로 구현되는, 에뮬레이션 디바이스.
  16. 제 15 항에 있어서,
    상기 메모리는 상기 버퍼를 구현하기 위한 적어도 하나의 휘발성 메모리를 포함하는, 에뮬레이션 디바이스.
  17. 제 16 항에 있어서,
    상기 메모리는 상기 실행 가능한 명령어들의 세트를 저장하기 위한 적어도 하나의 비(non)-일시적 스토리지 매체를 포함하는, 에뮬레이션 디바이스.
  18. 제 14 항에 있어서,
    상기 하나 이상의 무선 네트워크 인터페이스들은 온(on)-보드 인쇄 회로 기판(PCB) 안테나를 사용하는, 에뮬레이션 디바이스.
  19. 제 14 항에 있어서,
    상기 에뮬레이션 디바이스는 상기 주변 인터페이스를 통해 상기 미디어 렌더러로부터 전력을 얻도록 구성되는, 에뮬레이션 디바이스.
  20. 제 14 항에 있어서,
    상기 실행 가능한 명령어들의 세트는 상기 미디어 렌더러로부터 이용 가능한 서비스들을 확인하기 위한 명령어들을 더 포함하는, 에뮬레이션 디바이스.
  21. 제 14 항에 있어서,
    상기 미디어 데이터의 스트림이 상기 미디어 서버로부터 수신되지 않을 때, 상기 에뮬레이션 디바이스는 상기 버퍼를, 비어있는 미디어 콘텐츠를 나타내는 템플릿 데이터로 채우도록 구성되는, 에뮬레이션 디바이스.
  22. 제 14 항에 있어서,
    상기 에뮬레이션 디바이스는 상기 미디어 서버로부터 수신된 상기 미디어 데이터의 스트림을 트랜스코딩하지 않는, 에뮬레이션 디바이스.
  23. 미디어 서버와 미디어 렌더러 사이에 개재된 에뮬레이션 디바이스로서,
    상기 미디어 서버로부터 송신된 펄스 코드 변조(PCM) 데이터의 스트림을 버퍼링하고 그리고 상기 버퍼링된 PCM 데이터를, 상기 미디어 렌더러에 의해 렌더링될 정적(static) 오디오 파일의 일련의 미디어 데이터 청크들로서 제공하도록 구성되는 에뮬레이션 디바이스.
  24. 제 23 항에 있어서,
    상기 PCM 데이터는 16비트 분해능의 두 채널들 및 44.1 kHz의 샘플링 레이트를 갖는 오디오 데이터인, 에뮬레이션 디바이스.
  25. 제 23 항에 있어서,
    상기 미디어 서버는 iOS® 운영 시스템을 갖는 디바이스인, 에뮬레이션 디바이스.
KR1020147036396A 2012-05-25 2013-05-24 멀티-미디어 파일 에뮬레이션 디바이스 KR20150047459A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/480,500 2012-05-25
US13/480,500 US8935362B2 (en) 2012-05-25 2012-05-25 Multi-media file emulation device
PCT/US2013/042721 WO2013177551A1 (en) 2012-05-25 2013-05-24 Multi-media file emulation device

Publications (1)

Publication Number Publication Date
KR20150047459A true KR20150047459A (ko) 2015-05-04

Family

ID=48628924

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147036396A KR20150047459A (ko) 2012-05-25 2013-05-24 멀티-미디어 파일 에뮬레이션 디바이스

Country Status (5)

Country Link
US (1) US8935362B2 (ko)
EP (1) EP2856763A1 (ko)
KR (1) KR20150047459A (ko)
CN (1) CN104904226A (ko)
WO (1) WO2013177551A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001031861A1 (en) 1999-10-22 2001-05-03 Nomadix, Inc. Systems and methods for dynamic bandwidth management on a per subscriber basis in a communications network
CN103595803A (zh) 2006-09-29 2014-02-19 诺玛迪克斯公司 内容注入***和方法
US20110030037A1 (en) 2009-07-07 2011-02-03 Vadim Olshansky Zone migration in network access
US20170005993A9 (en) * 2012-02-08 2017-01-05 Vixs Systems, Inc. Content access device with programmable interface and methods for use therewith
US9319153B2 (en) * 2012-12-04 2016-04-19 Sonos, Inc. Mobile source media content access
WO2016049164A1 (en) * 2014-09-25 2016-03-31 Osix Corporation Computer-implemented methods, computer readable media, and systems for distributed processing
US9806959B2 (en) * 2015-08-05 2017-10-31 American Megatrends, Inc. Baseboard management controller (BMC) to host communication through device independent universal serial bus (USB) interface

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100360285B1 (ko) * 1999-05-20 2002-11-04 엘지전자 주식회사 디지털 인터페이스를 이용한 오디오 스트림 송수신 장치 및 방법
GB2377574A (en) 2001-07-12 2003-01-15 Graeme Roy Smith Modular software/firmware definable video server
US20080117966A1 (en) 2006-08-10 2008-05-22 Topiwala Pankaj N Method and compact apparatus for video capture and transmission with a common interface
TW200910202A (en) * 2007-08-30 2009-03-01 Behavior Tech Computer Corp Multimedia access device, multimedia display system comprising the multimedia access device, and multimedia data display method
CN101261864B (zh) * 2008-04-21 2010-08-18 中兴通讯股份有限公司 一种在移动终端上实现录音合成的方法和***
US20090268754A1 (en) 2008-04-28 2009-10-29 Sony Ericsson Mobile Communication Ab Methods, devices, and computer program products for remotely controlling operations of digital media devices using a mobile terminal
US20100011404A1 (en) * 2008-07-14 2010-01-14 Sony Corporation Tv software upgrade using tv internet adapter
US20110016494A1 (en) * 2009-07-16 2011-01-20 Linhardt Michael Method and Apparatus to Facilitate Viewing Television on a Mobile Device
EP2569941A2 (en) 2010-05-12 2013-03-20 SMSC Holdings S.à.r.l. Systems and methods for operating media devices
GB201101161D0 (en) * 2011-01-24 2011-03-09 Veebeam Ltd Video transmission systems

Also Published As

Publication number Publication date
US20130318205A1 (en) 2013-11-28
CN104904226A (zh) 2015-09-09
US8935362B2 (en) 2015-01-13
WO2013177551A1 (en) 2013-11-28
EP2856763A1 (en) 2015-04-08

Similar Documents

Publication Publication Date Title
US10349261B2 (en) Networked media station
US8935362B2 (en) Multi-media file emulation device
US9092383B2 (en) Portable media player as a remote control
JP5288710B2 (ja) マルチメディアデータを記録した情報保存媒体、その再生方法及び再生装置
KR20120114016A (ko) 사용자 컨텐츠를 외부 단말기에서 네트워크 적응적으로 스트리밍하는 방법 및 장치
WO2012109821A1 (zh) 流媒体资源共享的方法、***及具有dlna功能的设备
WO2015035742A1 (zh) 一种数字电视的音视频共享方法、终端及***
WO2013185514A1 (zh) 一种播放流媒体的***和方法
WO2014207899A1 (ja) 通信装置および通信方法
EP2566177B1 (en) Electronic apparatus and method for transferring contents on cloud system to device connected to DLNA
KR102079339B1 (ko) 클라우드 시스템상의 컨텐츠를 디엘엔에이로 연결된 디바이스로 전달하는 전자 장치 및 방법

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid