KR101364299B1 - 클라이언트 제어 세션리스 적응을 가능하게 하는 방법 및 장치 - Google Patents

클라이언트 제어 세션리스 적응을 가능하게 하는 방법 및 장치 Download PDF

Info

Publication number
KR101364299B1
KR101364299B1 KR1020137008476A KR20137008476A KR101364299B1 KR 101364299 B1 KR101364299 B1 KR 101364299B1 KR 1020137008476 A KR1020137008476 A KR 1020137008476A KR 20137008476 A KR20137008476 A KR 20137008476A KR 101364299 B1 KR101364299 B1 KR 101364299B1
Authority
KR
South Korea
Prior art keywords
media content
media
url
byte offset
metadata
Prior art date
Application number
KR1020137008476A
Other languages
English (en)
Other versions
KR20130045945A (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 KR20130045945A publication Critical patent/KR20130045945A/ko
Application granted granted Critical
Publication of KR101364299B1 publication Critical patent/KR101364299B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/907Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation

Abstract

미디어 콘텐츠를 관리하는 개시된 예시적인 방법은 이용가능한 미디어에 대한 메타데이터 정보를 액세스하는 단계, 및 상기 액세스된 메타데이터로부터 적어도 URL(uniform resource locator) 및 하나 이상의 바이트 범위를 검색하는 단계를 포함하고, 상기 이용가능한 미디어의 하나 이상의 부분은 하나 이상의 바이트 범위 및 URL 조합에 의해 어드레싱가능하다. 예시적인 방법은 또한 상기 검색된 메타데이터에 기초하여 상기 이용가능한 미디어의 제1의 적어도 하나의 부분을 요청하는 제1 요청을 전송하는 단계를 포함한다.

Description

클라이언트 제어 세션리스 적응을 가능하게 하는 방법 및 장치{METHOD AND APPARATUS TO FACILITATE CLIENT CONTROLLED SESSIONLESS ADAPTATION}
관련 출원
본 특허는 2009년 6월 15일에 제출된 미국 가출원 번호 제61/187,090호 및 2010년 6월 14일에 제출된 미국 특허 출원 제12/814,566호의 우선권을 주장하며, 이들 전체 내용은 참고용으로 여기에 포함된다.
기술분야
본 개시물은 일반적으로 무선 미디어 전달에 관한 것으로, 특히, 클라이언트 제어 세션리스 적응(client controlled sessionless adaptation)이 가능한 장치 및 방법에 관한 것이다.
사용자 장비(user equipment; UE)는 요청에 응답하여 미디어 콘텐츠를 수신하여 사용자에게 디스플레이한다. 미디어에 대한 하나 이상의 요청이 UE에 의해 요청되면, 미디어 콘텐츠는 RTSP(real time streaming protocol) 등의 다수의 프로토콜에 의해 UE에게 스트리밍된다.
UE에게 스트리밍 미디어 콘텐츠를 제공하기 위하여, UE는 하나 이상의 명령을 미디어 서버에 전송하고, 미디어 서버는 SDP(session description protocol) 등에 의해 디스크립션(description)으로 응답한다. 미디어 콘텐츠가 UE에 스트리밍됨에 따라, 미디어 서버는 일반적으로 액티브 세션 스루풋(active session throughout)을 유지한다.
본 발명의 목적은 클라이언트 제어 세션리스 적응이 가능한 장치 및 방법을 제공하는 것이다.
미디어 콘텐츠를 관리하는 개시된 예시적인 방법은 이용가능한 미디어에 대한 메타데이터 정보를 액세스하는 단계, 및 상기 액세스된 메타데이터로부터 적어도 URL(uniform resource locator) 및 하나 이상의 바이트 범위를 검색하는 단계를 포함하고, 상기 이용가능한 미디어의 하나 이상의 부분은 하나 이상의 바이트 범위 및 URL 조합에 의해 어드레싱가능하다. 예시적인 방법은 또한 상기 검색된 메타데이터에 기초하여 상기 이용가능한 미디어의 제1의 적어도 하나의 부분을 요청하는 제1 요청을 전송하는 단계를 포함한다.
본 발명에 따르면 클라이언트 제어 세션리스 적응이 가능한 장치 및 방법을 제공하는 것이 가능하다.
도 1, 2a 및 2b는 클라이언트 제어 세션리스 적응을 가능하게 하는 UE 및 서버 간의 예시적인 메시지 흐름을 나타낸다.
도 3 및 4는 클라이언트 제어 세션리스 적응을 가능하게 하기 위하여 구현될 수 있는 예시적인 3GPP 파일 객체 박스를 나타낸다.
도 5 및 6은 본 개시물에 따라 구현될 수 있는 예시적인 서버를 나타낸다.
도 7은 본 개시물에 따라 구현될 수 있는 예시적인 UE를 나타낸다.
도 8 및 9는 클라이언트 제어 세션리스 적응을 가능하게 하는 예시적인 프로세스의 흐름도를 나타낸다.
다음은 다른 컴포넌트들 중에서 하드웨어 상에서 실행되는 소프트웨어를 포함하는 예시적인 방법 및 장치를 설명하지만, 이러한 방법 및 장치는 단지 예시적인 것이며 제한하는 것으로 간주되어서는 안된다. 예를 들어, 이들 하드웨어 및 소프트웨어 컴포넌트 중의 임의의 것 또는 전부가 하드웨어로 배타적으로 구현되거나, 소프트웨어로 배타적으로 구현되거나, 펌웨어로 배타적으로 구현되거나, 하드웨어, 소프트웨어 및/또는 펌웨어의 임의의 조합으로 구현될 수 있다. 따라서, 다음은 예시적인 방법 및 장치를 설명하지만, 당업자는 제공된 예가 이러한 방법 및 장치를 구현하는 유일한 방법이 아님을 인식할 것이다.
여기에 기재된 예시적인 방법 및 장치는 UE에 의하여 사용되어 하나 이상의 채널 상태 및/또는 UE의 현재 상태에 기초하여 UE 상에서 렌더링되는 미디어 파라미터의 타입을 제어하는 사용자 장비(UE)에 의해 사용될 수 있다. UE는, 제한되지는 않지만, 오디오(예를 들어, MP3 오디오) 및/또는 비디오를 포함하는 임의의 타입의 미디어를 렌더링할 수 있고, 미디어 파라미터는, 제한되지는 않지만, 미디어 비트 레이트, 미디어 해상도 등을 포함할 수 있다. 미디어 콘텐츠 제공자가 하나 이상의 상이한 비트 레이트(들), 해상도(들), 사이즈(들) 등을 각각 갖는 하나 이상의 상이한 구성(여기서는 "인코딩 미디어 구성"이라 한다)에서 미디어 콘텐츠를 인코딩하여도, 미디어 콘텐츠가 렌더링된 장치(들)는 현재의 상태에 기초하여 어떤 인코딩 미디어 구성이 가장 적절한지를 선택하는데 참여하지 않는다. 여기에 사용된 바와 같이, 적응이라는 단어는 미디어 콘텐츠가 현재의 채널 상태 및/또는 UE의 능력에 의해 더 적합한 포맷으로 전달되도록 변경 및/또는 선택되는 환경에 관한 것이다. 사용자의 관점에서, 불리한 채널 조건 및/또는 UE 제한(예를 들어, 소정의 비트 레이트에서 미디어를 렌더링하는 UE의 능력, 해상도, UE 프로세서 속도 제한 등)은 고르지 못한 오디오/비디오(A/V), 비교적 긴 정지 및/또는 버퍼링 시간, 및/또는 동기되지 않은 A/V로서 나타날 수 있다. 여기에서 참조된 UE는, 제한되지는 않지만, 모바일 통신 장치, 모바일 컴퓨팅 장치 또는 무선 네트워크와 무선으로 통신할 수 있는 임의의 다른 장치를 포함할 수 있다. 단말 또는 무선 단말이라 불리울 수 있는 이러한 장치는 모바일 스마트 폰(예를 들어, BLACKBERRY 스마트 폰), 무선 개인 휴대 단말(PDA), 무선 어댑터를 갖는 랩탑/노트북/넷북 컴퓨터 등을 포함할 수 있다. 예시적인 방법 및 장치는, 다른 것들 중에서, 외부 네트워크와의 상호 연결을 정의하는 IEEE(Institute for Electrical and Electronics Engineers) 802.11로서 알려진 WLAN(wireless local area network)와 결합하여 여기에 기재된다. 그러나, 예시적인 방법 및 장치는 추가적으로 또는 대안으로 다른 WLAN 표준, PAN(personal area network) 표준, WAN(wide area network) 표준 또는 셀룰러 통신 표준을 포함하는 다른 무선 통신 표준과 결합하여 구현될 수 있다.
예시적인 방법 및 장치는, 다른 것들 중에서, 외부 네트워크와의 상호 연결을 정의하는 IEEE(Institute for Electrical and Electronics Engineers) 802.11로서 알려진 WLAN(wireless local area network)와 결합하여 여기에 기재된다. 그러나, 예시적인 방법 및 장치는 추가적으로 또는 대안으로 다른 WLAN 표준, PAN(personal area network) 표준, WAN(wide area network) 표준 또는 셀룰러 통신 표준을 포함하는 다른 무선 통신 표준과 결합하여 구현될 수 있다.
서버로부터 UE로의 미디어 콘텐츠를 스트리밍 하는 공지된 기술 또는 표준과 관련된 사용자 경험은 몇 개의 한계를 갖는다. 예를 들어, 미디어 콘텐츠의 전통적인 스트리밍은 실시간 및/또는 거의 실시간 스트리밍이 가능한 클라이언트/서버 프로토콜인 RTSP(real time streaming protocol)를 채용한다. 일반적으로 말하면, 서버에게 미디어를 요청하는 동작에서, UE는 DESCRIBE 명령을 미디어 서버로 전송하고, 미디어 서버는 프리젠테이션 디스크립션(예를 들어, SDP(session description protocol)로 응답한다. SDP 정보는 모든 미디어 프리젠테이션의 디스크립션 및/또는 프리젠테이션을 형성하는데 사용되는 각 스트림을 포함한다. 클라이언트는 인터넷 프로토콜(IP), 사용자 데이터그램 프로토콜(UDP) 또는 RTP(real time protocol) 패킷을 통해 원하는 미디어를 수신할 수 있다. 그러나, 이 상황에서, 미디어를 UE로 스트리밍하거나 UE 상에 디스플레이하기 전에 클라이언트 발행 SETUP 명령, PLAY 명령 및 클라이언트가 미디어를 필요로 하지 않을 때의 TEARDOWN 명령 등의 제어가 여전히 필요하다.
전통적인 RTSP 스트리밍 기술은 클라이언트 및 미디어 서버 간의 영구적인 송신 제어 프로토콜(transmission control protocol; TCP)에 대한 필요성을 회피하지만, 미디어 서버는 미디어를 요청하는 모든 클라이언트에 대한 액티브 세션을 유지할 수 있어야 한다. 추가적으로, RTSP 스트리밍은 평균 레이트 또는 미디어가 인코딩된 레이트로 클라이언트에게 패킷을 전송하고, 레이트 패킷 송신이 버퍼 충만 상태에 기초하여 조절되지만, 전통적인 스트리밍 및/또는 패킷 스위치 스트리밍(packet switched streaming; PSS)는 여전히 방화벽, NAT(network address transslation)의 통과와 관련된 문제를 나타내고 비교적 비싼 스트리밍 서버를 필요로 한다. 미디어 스트리밍 서버와 달리, 표준 웹 서버는 일반적으로 미디어 스트리밍 서버 보다 매우 적은 비용이 들고 불확실한 방식의 HTTP(hypertext transfer protocol)를 채용한다. 즉, 산업 표준 웹 서버는 셋업과 관련된 추가의 처리 파워 및/또는 복잡성, 유지 및/또는 상태 기반 통신 프로토콜(예를 들어, RTSP)의 해체 없이 HTTP(예를 들어, HTTP 1.1)을 채용할 수 있다. 이처럼, 미디어 스트리밍 서버는 일반적으로, 요구가 증가함에 따라, 부분적으로, 상당한 처리 요구사항 때문에 스케일링 불능을 겪고 있다. 반면에, 표준 웹 서버는 때때로 클라이언트에 의해 요청된 콘텐츠를 반환하는 "덤(dumb)" 서버라 하고, 이는 복잡성 및 비용을 최소화하고 좀더 비싼 미디어 스트리밍 서버보다 더 나은 스케일링이 가능하다.
도 1은 사전 녹화 미디어 스트림(들)(즉, 라이브가 아님)과 관련된 UE(102)와 서버(104) 간의 예시적인 메시지 교환(100)을 나타낸다. 이하에서 더 상세히 설명하는 바와 같이, 예시적인 서버(104)는 표준 웹 서버 또는 유사 HTTP 서버일 수 있다. 일 예에서, 시스템은 하나 이상의 미디어 스트리밍 서버(미도시)를 채용하여 무선 장치로의 미디어 스트리밍이 가능하고, 여기에 기재된 방법 및 장치는 비교적 비싼 미디어 스트리밍 서버보다는 비용에 있어서 적절한 서버를 이용할 수 있게 한다. 미디어 수신을 개시하기 위하여, 예시적인 UE(102)는 예시적인 서버(104)로의 세션리스 요청을 생성한다(106). 세션리스 요청(106)은 예시적인 UE(102)의 사용자에 의해 이루어진 선택과 관련된 URL(uniform resource locator)에 의해 식별되는 3GPP(third-generation partnership project)를 식별하는 HTTP 요청을 포함할 수 있다. 추가적으로 또는 대안으로, 예시적인 세션리스 요청은 HTTP 1.1에서 지원되는 GET 명령 등에 의해 다운로드될 파일의 바이트 범위를 포함할 수 있다. 세션리스 요청(106)의 수신에 응답하여, 예시적인 서버(104)는 박스로 지칭되는 일련의 객체를 포함하는 해당 식별 3GPP 파일을 제공한다. 3GPP 파일 내의 각각의 박스는 소정의 미디어 특성(예를 들어, 소정의 해상도, 소정의 비트 레이트, 소정의 코덱, 및/또는 그 임의의 조합)으로 구성된 미디어(예를 들어, 오디오, 비디오 등) 등의 미디어 정보 또는 메타데이터를 포함할 수 있다.
예시적인 서버(104)는 3GPP 파일을 UE(102)로 송신(108)하여 그 내에 포함된 미디어가 UE(102)에 의해 렌더링되도록 한다. 추가적으로, 예시적인 UE(102)은 객체 박스에 대한 수신된 3GPP 파일을 파싱하여 미디어 특성의 하나 이상의 교체 퍼뮤테이션(alternate permutation)이 서버(104)에서 이용가능한지를 식별한다. 서버가 적응을 제어하는 전통적인 스트리밍 및/또는 패킷이 UE로 전송되는 레이트(예를 들어, 일반적으로 미디어가 인코딩된 레이트와 동등한 실시간 레이트)와 달리, 여기에 기재된 방법 및 장치는 비교적 비싼 하나 이상의 미디어 스트리밍 서버보다는 오히려 전통적인 웹 서버를 채용하는 방식으로 스트림(들)과 관련된 미디어 특성을 UE가 제어하도록 한다. 결과적으로, UE(102)는 예를 들어 UE(102)의 하나 이상의 현재 상태(예를 들어, 채널 혼잡, 신호 강도 저하, 등) 및/또는 UE(102)의 하나 이상의 능력(예를 들어, 버퍼 충만, UE 프로세서 능력/속도, 등)에 기초하여 미디어 스트림 비트 레이트, 해상도 등과 관련된 하나 이상의 결정을 제어할 수 있다. 추가적으로, 전통적인 스트리밍은 일반적으로 UE 및 서버로부터의 처리 리소스를 요구하여 하나 이상의 세션을 유지하는 RTSP를 채용한다. 이러한 처리 리소스는, UE가 하나 이상의 제어 기능(예를 들어, 플레이, 정지, 포워드, 리버스, 스킵, 등)을 수행하지 않을 때에도, 각 현재의 스트리밍 인스턴스 동안 세션을 유지해야 하는 미디어 서버 상에서 특히 부담스럽다. 반면에, 여기에 기재된 방법 및 장치는 임의의 세션 유지 요구사항을 제거함으로써 서버 복잡성 및 비용을 감소시키는 HTTP 스트리밍을 채용한다.
예시적인 UE(102)가 3GPP 파일을 수신(108)하고 이용가능한 교체 미디어 특성을 나타내는 URL 메타데이터에 대한 수신된 3GPP 파일을 파싱한 후에, UE(102)는 파싱된 URL로 내비게이팅하여 그 내에 포함된 임의의 추가의 메타데이터를 요청한다(110). 예시적인 서버(104)로부터 반환된 추가의 메타데이터(112)는, 제한되지는 않지만, 미디어 콘텐츠에 대한 추가/교체 미디어 특성, 미디어가 리이브인지를 나타내는 정보, 프레그먼트 인덱스 값(들) 및/또는 탐색이 가능한 바이트 오프셋 값을 포함할 수 있다. 이하에서 더 상세한 설명한 바와 같이, 추가의 메타데이터로, 예시적인 UE(102)는 교체 미디어 특성(예를 들어, 더 낮은 비트 레이트, 더 낮은 해상도, 교체 코덱, 등)을 갖는 교체 미디어 스트림 중의 하나를 요청할 수 있다(114). 예를 들어, UE(102)는 저하된 채널 상태, 버퍼 충만 및/또는 비교적 높은 비트 레이트, 해상도 등에서 미디어를 렌더링하는 UE의 제한에 기초하여 교체 미디어 스트림을 요청할 수 있다. 예시적인 서버(104)는 선택된 미디어 콘텐츠를 전송함으로써 요청에 응답한다(116).
도 2a는 사전 녹화보다는 라이브로 서버(104)를 통해 미디어 콘텐츠가 제공되는 상황에 대한 UE(102) 및 서버(104) 간의 예시적인 메시지 교환(200)을 나타낸다. 라이브 3GPP 파일(미디어 콘텐츠 생성자 또는 분배자(예를 들어, 방송자)에 의해 서버(104) 상에 저장된 일련의 관련된 3GPP 파일 프레그먼트))을 수신하려는 UE(102)의 시도시에, UE(102)를 이용한 클라이언트는 보기(viewing)의 이전 기간에서 시작하기보다는 라이브(예를 들어, 가장 최근의) 프레그먼트를 직접 탐색하기를 선호할 수 있다. 예를 들어, 어떤 라이브 스트리밍 요청은 라이브 이벤트가 비교적 긴 기간(예를 들어, 수분, 시간, 등) 동안 발생한 후에 UE(102)로부터 개시할 수 있고, 클라이언트는 UE(102)를 통해 시리즈의 가장 최근 이용가능한 3GPP 파일의 탐색을 시도할 수 있다. 전통적인 스트리밍 기술은 일반적으로 가장 최근의 이용가능한 미디어를 식별하기 위한 노력으로 3GPP 파일이 파싱되도록 하지만, 이러한 기술은 프로세스 집약적이고 시간 소모가 크다. 여기에 기재된 방법 및 장치는 연속적으로, 주기적으로, 비주기적으로 및/또는 스케줄링 방식으로 업데이트된 라이브 스트림 메타파일을 유지 및/또는 수신함으로써 라이브 스트리밍 콘텐츠를 효율적으로 탐색하도록 한다. 이처럼, 3GPP 파일 프레그먼트의 위치의 하나 이상의 특정 탐색 위치는 예시적인 UE(102)가 업데이트된 라이브 스트림 메타파일을 액세스하여 현재의 파일 프레그먼트 인덱스 값 및/또는 바이트 오프셋 값을 위치시킨 후에 식별될 수 있다.
도 2a의 도시된 예에서, UE(102)는 예시적인 서버(104)로 세션리스 HTTP 요청을 생성(202)하고, 메타데이터 및 미디어 정보를 갖는 객체를 수신(204)한다. 이하에서 더 상세히 설명하는 바와 같이, 수신된 객체 박스는, 제한되지는 않지만, 미디어가 라이브인지를 나타내는 정보, 추가의 메타데이터를 참조하는(예를 들어, 3GPP 메타데이터 페이로드 사이즈를 최소화하는) URL, 교체 미디어 특성을 갖는 이용가능한 미디어의 리스트, 교체 미디어 특성(예를 들어, URL)과 관련된 이용가능한 3GPP 파일 위치(들)의 리스트, 및/또는 SDP 정보를 포함할 수 있다. 예시적인 UE(102)는 수신된 URL을 쿼리(206)하고 만약에 있다면 추가의 메타데이터를 수신(208)한다. 서버로부터 수신된 메타데이터(202)가 완전하고 및/또는 추가의 메타데이터 및/또는 URL이 제공되지 않는 경우, 교환(206 및/또는 208)은 제거될 수 있다.
UE(102)가 미디어의 원하는 위치를 직접 탐색하도록 하기 위하여, UE(102)는 서버(104)에 의해 제공된 라이브 스트림 메타파일로부터 프레그먼트 인덱스 값 및/또는 바이트 오프셋 값을 선택한다(210). 라이브 미디어가 계속됨에 따라, 미디어 콘텐츠를 제공하는 당사자(예를 들어, 방송자)는 수신된 URL에 의해 특정된 위치에서 서버(104) 및/또는 임의의 다른 위치(예를 들어, 또 다른 서버, 네트워크 저장 리소스, 인터넷 리소스, 등)에 저장될 수 있는 라이브 스트림 메타데이터를 업데이트(206)한다. UE(102)의 클라이언트가 교체 3GPP 프레그먼트 인덱스 위치를 탐색하고 및/또는 가장 최근의 프레그먼트 인덱스가 위치하는 곳을 다시 확인하는 경우에, UE(102)는 이전의 검색된 메타데이터가 현재인지를 결정할 수 있다. 예를 들어, 이전에 검색된 메타데이터가 업데이트된 프레그먼트 인덱스 값 및/또는 바이트 오프셋 값이 이용가능한 수분 전인 경우, UE(102)는 URL을 다시 쿼리(212)하고 예를 들어 업데이트된 프레그먼트 인덱스 값 및/또는 업데이트된 데이터 오프셋 값을 포함하는 업데이트된 라이브 스트림 메타파일을 포함하는 응답을 서버(104)로부터 기다린다(214). UE(102)는 주기적으로, 비주기적으로, 스케줄링 방식으로, 및/또는 수동으로 URL을 쿼리하여 라이브 미디어 콘텐츠와 관련된 현재의 3GPP 파일 세부사항의 관심을 유지할 수 있다.
도 2b는 사용자 선호도 및/또는 변경 채널 상태에 응답하여 UE(102)가 적응을 제어하도록 하는 UE(102) 및 서버(104) 간의 예시적인 메시지 교환(250)을 나타낸다. 도 2b에 도시된 예에서, 교환(250)은 서버(104)가 교환(204)에 의해 도시된 송신 등의 메타데이터 및/또는 미디어의 제1 인스턴스를 송신한 후에 시작된다. 예시적인 UE(102)에 의한 변경된 채널 상태(252)에 응답하여, UE(102)는 URL(예를 들어, 도 2a의 교환(212)에서 제공된 URL)을 쿼리하여 교체 미디어 특성을 갖는 교체 미디어가 이용가능한지를 식별한다(254). 반면에, 예시적인 UE(102)는 이전의 세션리스 요청(202)에 의해 이용가능한 비트 레이트, 해상도 등을 나타내는 메타데이터를 이미 가지고 있을 수 있다. 예시적인 서버(104)가 3GPP 파일 위치(들) 및 UE(102)에 이용가능한 해당 미디어 특성을 나타내는 메타데이터로 응답한다(256). 이용가능한 미디어 특성에 기초하여, 예시적인 UE(102)는 변경된 채널 상태(252)를 어드레스하는 3GPP 파일을 선택한다. 변경된 채널 상태는, 제한되지는 않지만, 감소된 채널 대역폭(예를 들어, 채널 과밀에 의한), 증가된 드롭아웃 상태, 동일 채널 간섭, 페이딩, 증가된 레이턴시 값 및/또는 증가된 지터를 포함할 수 있다. 추가적으로 또는 대안으로, 저하된 성능은 소정의 비트 레이트 및/또는 해상도에서 미디어를 처리/렌더링하는 UE(102)의 능력 등의 UE(102)의 하나 이상의 제한 때문일 수 있다. 채널 상태 및/또는 UE(102)의 성능에서의 이러한 저하는, 초과할 때(예를 들어, 성능의 하위 임계치를 초과, 성능의 상위 임계치를 초과), UE(102)가 나쁜 채널 상태에 덜 민감한 3GPP 파일을 요청하도록 하는 UE(102) 상의 하나 이상의 임계치로 확인될 수 있다. 즉, 더 낮은 비트 레이트 3GPP 파일, 더 낮은 해상도의 3GPP 파일 및/또는 교체 코덱을 갖는 3GPP 파일은 대역폭이 나쁜 채널 상태 때문에 제한될 때 UE(102)에서 더 나은 클라이언트 경험을 초래할 수 있다. 예시적인 UE(102)는 더 낮은 비트 레이트를 갖는 3GPP 파일 등의 교체 3GPP 파일을 선택하고(258), 예시적인 서버(104)는 HTTP를 통해 선택된 3GPP 파일을 스트리밍함으로써 응답(예를 들어, 클라이언트 HTTP GET 명령에 대한 서버 응답)한다(260).
반면에, 채널 상태가 개선되는 경우, 예시적인 UE(102)는 개선된 채널 상태에 의해 수용될 수 있는 3GPP 파일에 대한 또 다른 요청을 서버(104)로 발행할 수 있다. 즉, UE(102)는 채널 상태가 주어진 기간 동안 충분한 대역폭을 유지하면 비교적 높은 해상도 및/또는 높은 비트 레이트 3GPP 파일을 요청할 수 있다. 상술한 바와 같이, UE(102)는 주기적으로, 비주기적으로, 스케줄링 방식으로 및/또는 수동으로 채널 상태를 모니터링하여 채널 측정치(예를 들어, 채널 지터, 채널 레이턴시, 등)을 수집하고 이러한 측정치를 하나 이상의 임계치와 비교할 수 있다. 이러한 채널 상태가 유리한 방식으로 하나 이상의 임계치를 초과하면(예를 들어, 측정된 비트 레이트 값이 높은 해상도의 무선 비디오에 대한 최소 비트 레이트 임계치를 초과하면), UE(102)는 이러한 변경된 상태 하에서 유리하게 동작하는 하나 이상의 3GPP 파일(예를 들어, 더 높은 해상도, 더 높은 비트 레이트, 등을 포함하는 3GPP 파일)을 요청할 수 있다.
도 3은 본 개시물에 따라 구현되는 3GPP 파일 객체 박스(300)의 예시적인 부분을 나타낸다. 일반적으로 말하면, 3GPP 파일 포맷은 ISO/IEC 14496-12 ISO 베이스 미디어 파일 포맷(MP4 파일 설명서라 함)에 기초한 3GPP TS 26.244에 기재된 요구사항에 일치한다. 3GPP 파일은, 각각이 미디어 또는 메타데이터를 포함하는 박스라 불리우는 일련의 계층적 객체로서 배열된다. 각각의 박스는, 일반적으로 4-문자 이름 및 관련 사이즈(예를 들어, 32 비트 무부호 정수)인 관련된 박스타입을 갖는다. 어떤 박스타입이 필수적이고 각각의 3GPP 파일 내에 존재하지만, MP4 설명서는 많은 선택적 박스타입을 포함한다. 박스타입 계층은 도 3의 최좌측 칼럼(302) 등의 최좌측 칼럼 내의 상부레벨 박스를 식별한다. 박스타입 "ftyp"(파일 타입)(304)은 통상 주어진 3GPP 파일 내에서 먼저 발생한다. "moov" 박스(영화 박스)(306)는 프리젠테이션용 메타데이터를 저장하고 3GPP 파일의 상부 레벨(최좌측)에서 발생한다. "meta" 박스(308)는, 제한되지는 않지만, 이용가능한 코덱(310), 이용가능한 비트 레이트(312), 이용가능한 해상도(314), 다른 파일 위치(316) 및/또는 추가의 메타데이터가 위치할 수 있는 URL(318)을 포함할 수 있는 기술적인(descriptive) 및/또는 주석적인 메타데이터를 포함한다.
도 3의 도시된 예에서, 예시적인 "meta" 박스(308)는 더 높은 레벨의 "moov" 박스(306) 아래에 포함되어 서버(104)에 의해 해당 3GPP 파일이 송신된 후에 예시적인 UE(102)에 의한 조기 다운로딩 및/또는 파싱을 가능하게 한다. 일반적으로 말하면, 서버(104)가 3GPP 파일을 UE(102)로 송신함에 따라, UE(102)는 그 3GPP 파일이 도착함에 따라 3GPP 파일의 파싱을 즉시 시작할 수 있다. UE(102)가 예를 들어 더 낮은 해상도를 갖는 하나 이상의 교체 미디어를 즉시 필요로 하는 경우, UE(102)는 다운로드될 3GPP 파일의 나머지 부분을 기다리지 않고 예시적인 서버(104)로 또 다른 요청을 할 수 있다. 즉, UE(102)는 UE(102)의 능력 및/또는 현재의 채널 상태에 기초하여 더 바람직하게 수행될 것 같은 교체 미디어 콘텐츠를 지지하여 현재의 미디어 콘텐츠의 다운로딩을 중단함으로써 기지의(known) 채널 상태에 응답할 수 있다. 반면에, 스트리밍된 콘텐츠가 가능한 한 빨리 예시적인 UE(102) 상에 나타나도록 하기 위한 노력으로 예시적인 "meta" 박스(308)는 최좌측 칼럼(302)에서 더 낮은 로우(row) 레벨에 위치할 수 있다.
적응은 "meta" 박스가 있거나 없는 "moov" 박스로서 구성되는 하나 이상의 파일을 포함할 수 있다. 추가적으로, 예시적인 3GPP 파일(들)은 각 프레그먼트가 랜덤 액세스 포인트로 시작하는 시간 정렬된 하나 이상의 프레그먼트를 포함할 수 있다. 이처럼, 파일 간의 스위칭이 수행될 수 있다. 파일 식별은 또한 하나 이상의 브랜드 식별자를 통해 가능하여, 다른 파일로의 메타데이터 링크가 가능한 지시를 클라이언트에게 제공할 수 있다.
도 4에 도시된 예에서, 3GPP 파일 객체 박스(400)의 예시적인 부분은 "hnti"(힌트) 박스(402)를 포함한다. "hnti" 박스(402)는 사용자 데이터 박스타입 "udta"(404)의 연장이고 SDP 정보를 포함한다. SDP 정보가 일반적으로 HTTP 통신보다는 세션 기반 통신과 관련되지만, 하나 이상의 SDP 파라미터가 "hnti" 박스(402) 내에 삽입되어 예시적인 UE(102)가 추가의 메타데이터를 포함하는 URL로 안내할 수 있다. 예를 들어, SDP는 URL과 관련된 "u=" 필드(406)를 포함하는 다수의 필드를 포함한다. 예시적인 서버(104)는 "u=" 필드(406)에 URL을 첨부하고, "u=" 필드(406)를 "hnti" 박스(402)에 삽입하여 UE(102)가 수신시 추가의 메타데이터를 위치시키도록 한다.
도 5는 본 개시물에 따라 구현될 수 있는 예시적인 서버(104)를 나타낸다. 도 5의 예시적인 서버(104)는 서버(104)의 모든 동작을 수행하는 프로세서(502), 플래시 메모리(504), 랜덤 액세스 메모리(506) 및 미디어 라이브러리(508)를 포함하고, 플래시 메모리, 랜덤 액세스 메모리 및 미디어 라이브러리는 모두 프로세서(502)에 결합된다. 상술한 바와 같이, 예시적인 서버(104)는 당업자에 공지된 표준 웹 서버일 수 있다. UE(102)와 통신하기 위하여, 예시적인 서버(104)는 통신 서브시스템(510)을 포함하여 네트워크 통신(예를 들어, IEEE (Institute for Electrical and Electronics Engineers) 802.11를 통한 무선 로컬 에어리어 네트워크 통신 및/또는 UTRAN(universal mobile telecommunication system(UMTS) terrestrial radio access networks) 내의 무선 통신)을 가능하게 한다. 예시적인 통신 서브시스템(510)은 도 7과 연결하여 이하에서 설명하는 예시적인 통신 서브시스템(711)과 실질적으로 유사할 수 있다. 도 5의 예시적인 서버(104)는 선택적 미디어 파일 매니저(512)에 통신가능하게 접속되어 서버(104)로부터 도 1, 2a 및 2b의 예시적인 UE(102) 등의 하나 이상의 UE로 전송되는 3GPP 파일의 객체 박스 콘텐츠를 생성 및/또는 관리할 수 있다.
동작에 있어서, 예시적인 통신 서브시스템(500)은 표준 HTTP GET 명령 등의 미디어에 대한 요청으로 UE(102)로부터 HTTP 접속을 수신한다. 미디어 요청은 TCP 송신을 서버(104)로 전달하는 UE(102)의 사용자에 의해 타이핑 및/또는 선택된 URL을 포함할 수 있다. 예시적인 서버(104)는 서버(104)의 내부 및/또는 외부의 하나 이상의 데이터베이스로서 구현될 수 있는, 예를 들어, 하나 이상의 미디어 라이브러리(508)로부터 요청과 관련된 3GPP 미디어 파일을 검색한다. 임의의 예에서, 미디어를 제공하는 당사자는 하나 이상의 박스타입 순서 및/또는 구성에 일치하는 3GPP 파일(들)을 형성한다. 다른 예에서, 예시적인 미디어 파일 매니저(512)는 박스타입 및/또는 박스타입 계층 배치와 일치하도록 검색된 3GPP 파일을 형성 및/또는 변경한다. 예를 들어, 예시적인 미디어 파일 매니저(512)는, 도 3에 도시된 바와 같이, "moov" 박스(306)에 의존하여 "meta" 박스(308)를 포함하여 타겟 UE(102)가 수신 후에 가능한 한 빨리 이용가능한 교체 미디어 콘텐츠를 식별할 수 있게 한다. 반면에, 예시적인 미디어 파일 매니저(512)는 독립형 제1 단 박스(first-tier box)로서 "meta" 박스(308)를 포함할 수 있다. 선택된 3GPP 파일의 형성 및/또는 증가의 완료시, 예시적인 통신 서브시스템(510)은 HTTP를 통해 3GPP 파일을 요청하는 UE(102)로 송신한다. 그러나, 클라이언트 제어 세션리스 적응이 가능한 여기에 기재된 예시적인 방법 및 장치는 산업 표준 HTTP 웹 서버와 함께 채용될 수 있다.
예시적인 미디어 파일 매니저는 SDP 정보를 포함하는 선택된 3GPP 파일을 형성 및/또는 증가할 수 있다. 상술한 바와 같이, "u=" 필드(406)에는 URL이 부착되어 수신 UE(102)가 추가의 메타데이터가 저장된 위치를 식별하도록 한다. 예시적인 "u=" 필드(406)의 사용은, 예를 들어, 선택된 3GPP 파일(들)에 대한 메타데이터 페이로드의 감소를 허용한다. 결과적으로, UE(102)에 의해 수신된 미디어 콘텐츠는, 서버(104)로부터 UE(102)로 전송되는 메타데이터 페이로드 정보가 적기 때문에, 곧 렌더링할 수 있다.
도 6은 도 5의 예시적인 미디어 파일 매니저(512)의 추가적인 세부사항을 나타낸다. 도 6에 도시된 예에서, 미디어 파일 매니저(512)는 객체 박스 매니저(602) 및 라이브 스트리밍 메타데이터 업데이터(604)를 포함한다. 동작에 있어서, 예시적인 객체 박스 매니저(602)는 UE(102)가 서버(104) 상에서 어느 콘텐츠가 이용가능한지를 알게 되는 방식으로 선택된 3GPP 파일에 객체 박스를 형성, 배치 및/또는 첨부한다. 이처럼, UE(102)는 예를 들어, 송신 선호도 및/또는 UE(102)의 기존 채널 상태에 기초하여 미디어 적응에 참여할 수 있다. 예시적인 객체 박스 매니저(602)는 예시적인 플래시 메모리(504) 등의 메모리에 저장된 하나 이상의 박스 순서 프로파일에 기초하여 계층적 순서로 하나 이상의 객체 박스를 배치할 수 있다.
프로파일은, 제한되지는 않지만, 임의의 선택된 3GPP 파일의 메타데이터 페이로드를 최소화함으로써 UE(102)에 의한 수신 후에 가능한 한 빨리 미디어 렌더링을 촉진하는 객체 박스 순서 구성을 포함할 수 있다. 이러한 페이로드 최소화는 하나 이상의 별개의 메타데이터 값 타입보다는 오히려 "meta" 박스(308) 내의 메타데이터 참조 URL을 포함하는 객체 박스 매니저(602)로 달성될 수 있다. 추가적으로 또는 대안으로, 예시적인 객체 박스 매니저(602)는 "u=" 필드(406)를 이용하여 메타데이터 참조 URL을 관련시킴으로써 "hnti" 박스(402)를 채용할 수 있다. 반면에, 예시적인 객체 박스 매니저(602)는, 예를 들어, 3GPP 파일 내에 초기에 메타데이터를 포함함으로써 UE(102)에 대한 미디어 적응 옵션의 초기의 관심을 촉진하는 방식으로 하나 이상의 객체 박스 구성을 지시할 수 있다. 이처럼, UE(102)는 초기 "ftyp" 박스(304) 후에 곧 하나 이상의 박스(예를 들어, "meta" 박스(308))를 파싱하여 현재의 채널 상태에 더 잘 맞는 교체 인코딩 미디어 구성 파일을 알 수 있다. 이처럼, 예시적인 UE(102)는 교체(예를 들어, 더 낮은 대역폭) 미디어 파일을 지지하여 진행중인 3GPP 파일 다운로드에 대한 모든 시도를 즉시 정지할 수 있다.
예시적인 라이브 스트리밍 메타데이터 업데이터(604)는 주기적으로, 비주기적으로, 및/또는 수동적으로 동작하여 라이브 스트림 메타파일을 업데이트한다(도 2a의 교환(214)을 참조). 상술한 바와 같이, 사전 녹화된 미디어는 일반적으로 개별 트랙을 기술하고 및/또는 미디어 내의 포인트를 탐색하는 메타데이터의 비교적 철저한 편집을 포함하여 예를 들어, 탐색 동작, 플레이, 되감기, 빨리감기, 등이 가능하다. 그러나, 라이브 미디어 콘텐츠는 일반적으로 이러한 제어를 허용하는 적은 관련 메타데이터를 포함한다. 이처럼, 미디어 콘텐츠 생성자는 일반적으로 라이브 미디어 콘텐츠를 포함하는 하나 이상의 3GPP 파일을 생성하기 전에 프레그먼트 인덱스 값 및/또는 데이터 오프셋 값을 생성하기에 충분한 시간 및/또는 처리 파워만을 갖는다. 예시적인 라이브 스트리밍 메타데이터 업데이터(604)는 이용가능하면 프레그먼트 인덱스 값 및/또는 데이터 오프셋 값을 검색하고 이러한 값을 라이브 스트림 메타파일에 프리펜딩(prepend)한다. 미디어 이벤트가 계속됨에 따라, 관련된 라이브 스트림 메타파일은 파일의 초기에 저장된 가장 최근의 프레그먼트 인덱스 값 및 가장 최근의 데이터 오프셋 값으로 사이즈가 성장한다.
도 7은 본 개시물에 따라 구현될 수 있는 예시적인 UE를 나타낸다. UE(700)는 바람직하게 적어도 음성 및 데이터 통신 능력을 갖는 양방향 무선 통신 장치이다. UE(700)는 바람직하게 네트워크, 인트라넷 및/또는 인터넷 상에서 다른 컴퓨터 시스템과 통신하는 능력을 갖는다. 제공되는 정확한 기능에 의존하여, 무선 장치는 예로서 데이터 메시징 장치, 양방향 페이저, 무선 이메일 장치, 데이터 메시징 능력을 갖는 셀룰러 전화, 무선 인터넷 장치 또는 데이터 통신 장치라 할 수 있다.
UE(700)가 양방향 통신이 가능하면, 바람직하게, 하나 이상의 삽입되거나 내부의 안테나 소자(716 및 718), 로컬 오실레이터(LO)(713), 디지털 신호 프로세서(DSP)(720) 등의 프로세싱 모듈 등의 관련 컴포넌트 뿐 만 아니라 수신기(712) 및 송신기(714)를 포함하는 통신 서브시스템(711)을 포함한다. 통신 서브시스템(711)의 특정 설계는 장치가 동작하도록 의도된 통신 네트워크에 의존한다. 예를 들어, UE(700)는 일반적인 패킷 라디오 서비스(GPRS) 네트워크 및/또는 UMTS 네트워크 내에서 동작하도록 설계된 통신 서브시스템(711)을 포함할 수 있다.
네트워크 액세스 요구사항은 또한 네트워크(719)의 타입에 의존하여 변경될 수 있다. 예를 들어, UMTS 및 GPRS 네트워크에서, 네트워크 액세스는 UE(700)의 가입자 또는 사용자와 관련된다. 예를 들어, 따라서, GPRS 모바일 장치는 GPRS 네트워크 상에서 동작하기 위하여 가입자 식별 모듈(subscriber identity module; SIM) 카드를 필요로 한다. UMTS에서, 유니버설 가입자 식별 모듈(USIM) 또는 SIM모듈이 요구된다. 그러나, CDMA에서, 제거가능한 사용자 식별 모듈(RUIM) 카드 또는 모듈이 요구된다. 이들은 여기서 UIM 인터페이스라 한다. 유효 UIM 인터페이스 없이, 모바일 장치는 충분히 기능할 수 없다. (만약 있다면) 긴급 호출 등의 합법적으로 요구되는 기능 뿐 만 아니라 로컬 또는 넌-네트워크 통신 기능이 이용가능하지만, 모바일 장치(700)는 네트워크를 통한 통신을 포함하는 임의의 다른 기능을 수행할 수 없다. UIM 인터페이스(744)는 통상 디스켓 또는 PCMCIA 카드와 같이 카드가 삽입 및 배출될 수 있는 카드 슬롯과 유사할 수 있다. UIM 카드는 메모리의 대략 64K를 가지며 많은 키 구성(751) 및 식별 및 가입자 관련 정보 등의 다른 정보(753)를 유지한다.
요구된 네트워크 등록 또는 활성화 절차가 완료되면, UE(700)는 네트워크(719)를 통해 통신 신호를 송신 및 수신할 수 있다. 통신 네트워크(719)를 통해 안테나(716)에 의해 수신되는 신호는 수신기(712)에 입력되어, 아날로그/디지털(A/D) 변환을 포함하여, 신호 증폭, 주파수 하향 변환, 필터링, 채널 선택 등의 공통 수신기 기능을 수행할 수 있다. 수신된 신호의 A/D 변환은 DSP(720)에서 수행될 복조 및 디코딩 등의 좀 더 복잡한 통신 기능을 허용한다. 유사한 방식으로, 송신될 신호는, 예를 들어, DSP(720)에 의한 변조 및 인코딩을 포함하여 처리되고 디지털/아날로그 변환, 주파수 상향 변환, 필터링, 증폭 및 안테나(718)를 통해 통신 네트워크(719)를 통한 송신을 위해 송신기(714)로 입력된다. DSP(720)는 통신 신호를 처리할 뿐만 아니라 수신기 및 송신기 제어를 제공한다. 예를 들어, 수신기(712) 및 송신기(714) 내의 통신 신호에 적용되는 이득은 DSP(720)에서 구현되는 자동 이득 제어 알고리즘을 통해 적응적으로 제어될 수 있다.
네트워크(719)는 예시적인 서버(104) 및 다른 소자(미도시) 등의 서버(760)를 포함하는 다수의 시스템과 통신할 수 있다. 예를 들어, 네트워크(719)는 기업 시스템 및 웹 클라이언트 시스템과 통신하여 하나 이상의 서비스 레벨을 갖는 하나 이상의 클라이언트를 수용할 수 있다.
UE(700)는 장치의 모든 동작을 제어하는 마이크로프로세서(738)를 포함한다. 적어도 데이터 통신을 포함하는 통신 기능이 통신 서브시스템(711)을 통해 수행된다. 마이크로프로세서(738)는 또한 디스플레이(722), 플래시 메모리(724), 랜덤 액세스 메모리(RAM)(726), 보조 입출력(I/O) 서브시스템(728), 시리얼 포트(730), 키보드(732), 스피커(734), 마이크로폰(736), 근거리 통신 서브시스템(740) 및 일반적으로 742로 지정된 임의의 다른 장치 서브시스템 등의 또 다른 장치 서브시스템과 인터페이스한다.
도 7에 도시된 서브시스템의 일부는 통신 관련 기능을 수행하지만, 다른 서브시스템은 "상주(resident)" 또는 온-장치(on-device) 기능을 제공할 수 있다. 키보드(732) 및 디스플레이(722) 등의 일부의 서브시스템은 예를 들어 통신 네크워크를 통한 송신을 위한 문자 메시지 입력 등의 통신 관련 기능 및 계산기 또는 태스크 리스트 등의 장치에 상주된 기능을 위해 사용될 수 있다.
마이크로프로세서(738)에 의해 사용되는 오퍼레이팅 시스템 소프트웨어는 플래시 메모리(724) 등의 지속적인 저장소에 저장될 수 있고, 이 저장소는 대신 리드 온리 메모리(ROM) 또는 유사한 저장 소자(미도시)일 수 있다. 당업자는 오퍼레이팅 시스템, 특정 장치 애플리케이션 또는 그 부품이 일시적으로 RAM(726) 등의 휘발성 메모리에 로딩될 수 있다는 것을 인식할 것이다. 수신된 통신 신호는 또한 RAM(726)에 저장될 수 있다. 또한, 고유 식별자가 또한 바람직하게 리드 온리 메모리에 저장될 수 있다.
도시된 바와 같이, 플래시 메모리(724)는 컴퓨터 프로그램(758) 및 프로그램 데이터 저장장치(750, 752, 754 및 756)에 대한 상이한 영역으로 분리될 수 있다. 이들 상이한 저장 타입은 각각의 프로그램이 자신의 데이터 저장 요구사항에 대하여 플래시 메모리(724)의 일부를 할당할 수 있는 것을 나타낸다. 플래시 메모리(724)는 추가적으로 객체 박스 파서 모듈(770), 무선 상태 모니터 모듈(772), 동작 임계치 모듈(774) 및 미디어 선택 모듈(776)을 포함한다. 객체 박스 파서 모듈(770)은 서버(104)로부터의 수신된 3GPP 파일을 파싱하여 관심있는 하나 이상의 객체 박스를 식별한다. 예를 들어, 객체 박스 파서 모듈(770)은, "meta" 박스(308)의 인스턴스를 식별하고 그 내의 콘텐츠를 추출하여 스트리밍에 이용가능한 인코딩된 미디어 구성 옵션을 식별하도록 구성된다. 하나 이상의 파싱된 객체 박스로부터 추출된 이용가능한 미디어 옵션은 나중의 검색 및/또는 선택을 위해 예시적인 플래시 메모리(724) 등의 메모리에 저장될 수 있다. 상술한 바와 같이, 교체 미디어 콘텐츠를 갖는 교체 미디어 옵션의 후속 검색 및/또는 선택은 예시적인 UE(102)의 채널 상태가 만족스럽지 않을 때 발생할 수 있다.
예시적인 무선 상태 모니터(772)는 UE(900)의 동작 상태를 모니터링하고 측정된 값을 동작 임계치 모듈(774) 내의 하나 이상의 임계치와 비교한다. 서비스 품질 및/또는 UE(700)의 사용자에게 미디어를 만족스럽게 렌더링하는 해당 능력을 나타낼 수 있는 측정값은, 제한되지 않지만, 비트 레이트, 레이턴시 값 및/또는 지터 값을 포함한다. 하나 이상의 측정값이 임계치를 초과하는 경우(예를 들어, 하위 수락가능 제한 미만으로 강하, 상위 레벨 수락가능 제한 보다 크게 증가), 예시적인 무선 상태 모니터 모듈(772)은 미디어 선택 모듈(776)이 통신 서브시스템(711)을 인보크하도록 촉진하여 현재의 동작 상태(예를 들어, 더 낮은 해상도를 갖는 3GPP 파일 선택)에 더 적합한 교체 미디어를 추출할 수 있다.
도 8은 클라이언트 제어 세션리스 적응이 가능하도록 사용될 수 있는 컴퓨터 판독가능 명령을 나타내는 예시적인 흐름도이다. 도 8의 예시적인 동작은 프로세서, 제어기 및/또는 임의의 다른 적절한 프로세싱 장치를 이용하여 수행될 수 있다. 예를 들어, 도 8의 예시적인 동작은 프로세서(예를 들어, 도 7의 프로세서(738) 및/또는 도 5의 프로세서(502))와 관련된 플래시 메모리, 리드 온리 메모리(ROM) 및 랜덤 액세스 메모리(RAM) 등의 유형의 매체 상에 저장된 코딩된 명령을 이용하여 구현될 수 있다. 대안으로, 도 8의 예시적인 동작의 일부 또는 모두는 ASIC(application specific integrated circuit)(들), 프로그래머블 로직 장치(PLD)(들), 필드 프로그래머블 로직 장치(FPLD)(들), 개별 로직, 하드웨어, 펌웨어 등의 임의의 조합(들)을 이용하여 구현될 수 있다. 또한, 도 8의 예시적인 동작의 일부 또는 모두는 상술한 기술 중의 임의의 조합(들), 예를 들어, 펌웨어, 소프트웨어, 개별 로직 및/또는 하드웨어의 임의의 조합으로서 또는 수동으로 구현될 수 있다. 또한, 도 8의 예시적인 동작이 도 8의 흐름도를 참조하여 설명하였지만, 도 8의 동작을 구현하는 다른 방법이 채용될 수 있다. 예를 들어, 블록의 실행 순서는 변경될 수 있고 및/또는 기재된 블록의 일부는 변경, 제거, 세분 또는 결합될 수 있다. 추가적으로, 도 8의 예시적인 동작의 일부 또는 모두는 예를 들어, 별개의 프로세싱 스레드(thread), 프로세서, 장치, 개별 로직, 회로 등에 의해 순차적으로 및/또는 병렬로 수행될 수 있다.
일반적으로, 도 8의 예시적인 흐름도는 도 7의 예시적인 UE(700) 및/또는 도 1, 2a 및 2b의 예의 교환(100, 200 및 250)을 구현하는데 사용된다. 도 8의 예시적인 프로세스(800)는 세션리스 미디어 요청을 송신(블록 802)하여 예시적인 UE(102 및 700) 상에서 렌더링하는 매체의 인스턴스를 개시한다. 세션리스 미디어 요청의 송신에 응답하여(블록 802), UE(102, 700)는 요청과 관련된 디폴트 3GPP 미디어 파일을 수신한다(블록 804). 상술한 바와 같이, 관련된 미디어 파일은 UE(102, 700)의 사용자에 의해 제공되는 URL에 기초하여 및/또는 사용자에 의해 선택된 웹 링크에 응답하여 수신될 수 있다. 디폴트 3GPP 미디어 파일은 예시적인 객체 박스 파서(770)에 의해 파싱되어 관심있는 하나 이상의 객체 박스를 추출한다(블록 806). 특히, 객체 박스 파서(770)는, "meta" 박스(308)의 발생을 식별하고 그 내에 포함된 메타데이터를 추출하도록 구성될 수 있다. 추가적으로 또는 대안으로, 예시적인 객체 박스 파서(770)는 메타데이터로서 삽입된 및/또는 예시적인 "hnti" 박스(402)의 "u=" 필드와 관련된 URL을 식별할 수 있다.
수신된 3GPP 파일과 관련된 메타데이터를 얻을 때, 예시적인 객체 박스 파서(770)는 UE(102, 700)에 이용가능한 하나 이상의 교체 인코딩 미디어 구성 옵션을 식별할 수 있다(블록 808). 예를 들어, 파싱된 메타데이터는 하나 이상의 교체 3GPP 파일이 하나 이상의 교체 정도의 해상도 및/또는 비트 레이트를 갖는 서버 상에서 이용가능하다는 것을 확인할 수 있다. 파싱된 메타데이터는 또한 각각의 이용가능한 교체 미디어와 관련된 하나 이상의 위치(예를 들어, URL)를 식별할 수 있다. 수신된 디폴트 3GPP 파일(블록 804)이 현재의 UE(102, 700)의 채널 상태에 적합한지를 결정하기 위하여, 예시적인 무선 상태 모니터(772)는 하나 이상의 UE 동작 상태를 측정하여 동작 임계치 모듈(774)에 저장된 하나 이상의 동작 임계치와 비교한다(블록 810). 추가적으로 또는 대안으로, 예시적인 무선 상태 모니터(772)는 UE 수행 능력과 관련된 하나 이상의 UE 동작 상태를 측정할 수 있다. UE 수행 능력은, 제한되지는 않지만, UE가 버퍼 오버플로우 전에 비트 스트림을 렌더링할 수 있는 레이트 및/또는 UE가 처리/렌더링할 수 있는 최대 해상도를 포함할 수 있다. 하나 이상의 임계치와의 비교가 (예를 들어, 현재의 동작 상태 및/또는 UE 수행 능력이 하나 이상의 임계치를 위반하지 않기 때문에) 교체 3GPP 파일이 필요하지 않다는 것을 나타내면(블록 812), 예시적인 미디어 선택 모듈(776)은 디폴트 3GPP 파일이 UE(102, 700) 상에서 스트리밍 및/또는 렌더링하도록 한다(블록 814). 반면에, (예를 들어, UE(102, 700)와 관련된 채널 상태가 나쁘기 때문에) 교체 3GPP 파일이 선택되어야 하는 경우(블록 812), 예시적인 미디어 선택 모듈(776)은 예시적인 통신 서브시스템(711)을 인보크하여 교체 3GPP 파일에 대하여 서버(104)에 HTTP 요청을 개시할 수 있다 (블록 816). 상술한 바와 같이, 서버로의 후속 HTTP 요청은 교체 인코딩 미디어 구성 옵션의 이전 식별로부터 얻어진 교체 URL을 포함할 수 있다(블록 808).
도 9의 예시적인 흐름도는 도 5의 예시적인 서버(104) 및/또는 도 5 및 6의 예시적인 미디어 파일 매니저(512) 및/또는 도 1, 2a 및 2b의 예시적인 교환(100, 200 및 250)을 구현하는데 사용될 수 있다. 도 9의 예시적인 프로세스(900)는 하나 이상의 세션리스 HTTP 요청에 대하여 모리터링한다(블록 902). 요청이 수신되지 않으면, 도 9의 예시적인 프로세스(900)는 계속 기다리고, 그렇지 않으면, 도 6의 예시적인 객체 박스 매니저(602)가 요청된 3GPP 파일과 관련된 하나 이상의 객체 박스를 형성 및/또는 첨부한다 (블록 904). 상술한 바와 같이, 하나 이상의 3GPP 파일의 객체 박스는 미디어 콘텐츠를 담당하는 당사자(예를 들어, 방송자)에 의해 배치 및/또는 형성될 수 있다. 예시적인 서버(104)는 통신 서브시스템(510)을 통해 3GPP 파일을 세션리스 HTTP를 통해 (예를 들어, HTTP GET 명령에 응답하여) 요청하는 UE에 송신하고 (블록 906), 미디어가 라이브 이벤트와 관련되지 않으면(블록 908), 예시적인 서버(104)는 종료하고 다른 요청을 계속 기다린다(블록 902). 제한 없이, 미디어 콘텐츠 생성자가 국부 저장을 허용하는지를 나타내는 저장된 콘텐츠 플래그가 채용될 수 있다. 그렇지 않으면, 콘텐츠는 예시적인 UE(102, 700)에 의해 렌더링된 후에 삭제될 수 있다. RTSP를 통한 전통적인 스트리밍과 달리, 여기에 기재된 방법 및 장치는 모든 액티브 접속에 대한 세션을 생성, 유지 및/또는 닫는 부담스러운 처리 책임을 주지 않는다. 이처럼, 여기에 기재된 방법 및 장치에 채용된 서버는 RTSP 스트리밍이 가능한 미디어 서버보다 더 작은 비용이 들 수 있다.
미디어 콘텐츠가 라이브 이벤트와 관련되는 경우(블록 908), 예시적인 라이브 스트리밍 메타데이터 업데이터(604)는 라이브 스트리밍 메타파일을 업데이트하여 현재 파일 프레그먼트 인덱스 값(들) 및 현재 데이터 오프셋 값(들)을 반영한다(블록 910). 상술한 바와 같이, UE(102, 700)는 서버(104)에 쿼리하여 현재의 값을 얻고 라이브 미디어(예를 들어, HTTP GET) 탐색하도록 한다. 예시적인 미디어 파일 매니저(512)는 수동 신호 및 주기적, 비주기적 및/또는 스케줄링된 기간을 기다리고(블록 912) 라이브 미디어 이벤트가 종료했는지를 결정한다(블록 914). 그렇지 않으면, 예시적인 라이브 스트리밍 메타데이터 업데이터(604)는 라이브 스트림 메타파일을 업데이트하여 현재 파일 프레그먼트 인덱스 값(들) 및 현재 데이터 오프셋 값(들)을 반영하고(블록 910), 그렇지 않으면, 예시적인 서버(104)는 또 다른 요청을 기다린다(블록 902). 다른 예에서, 미디어 콘텐츠 제공자(예를 들어, 방송자)는 예시적인 라이브 스트림 메타데이터를 업데이트(예를 들어, 프리펜딩)할 책임이 있다.
오퍼레이팅 시스템 기능에 더하여, 마이크로프로세서(738)는 바람직하게 모바일 장치 상의 소프트웨어 애플리케이션의 실행을 가능하게 한다. 적어도 데이터 및 음성 통신 애플링케이션을 포함하여 기본 동작으로 제어하는 소정의 애플리케이션 세트는 예를 들어 통상 제조시 UE(700) 상에 인스톨된다. 선호하는 소프트웨어 애플리케이션은, 제한되지는 않지만, 이메일, 달력 이벤트, 음성 메일, 약속, 태스크 항목 등의 모바일 장치의 사용자에 관한 데이터 항목을 조직하고 관리하는 능력을 갖는 개인 정보 관리자(PIM) 애플리케이션일 수 있다. 하나 이상의 메모리는 PIM 데이터 항목의 저장이 가능한 모바일 장치 상에서 이용가능하다. 이러한 PIM 애플리케이션은 바람직하게 무선 네트워크(719)를 통해 데이터 항목을 전송 및 수신하는 능력을 갖는다. 바람직한 실시에에서, PIM 데이터 항목은, 무선 네트워크(719)를 통해 호스트 컴퓨터 시스템에 저장되거나 관련된 모바일 장치 사용자의 해당 데이터 항목과 심리스(seamless)하게 통합되고, 동기되고, 업데이트된다. 또 다른 애플리케이션이 네트워크(719), 보조 I/O 서브시스템(728), 시리얼 포트(730), 근거리 통신 서브시스템(740) 또는 임의의 다른 적절한 서브시스템(742)를 통해 모바일 장치(700) 상에 로딩되고 마이크로프로세서(738)에 의한 실행을 위해 RAM(726) 또는 바람직하게 비휘발성 저장소(미도시)에 사용자에 의해 인스톨될 수 있다. 애플리케이션 인스톨에 있어서의 이러한 융통성은 장치의 기능을 증가시키고 향상된 온-장치 기능 및/또는 통신 관련 기능을 제공할 수 있다. 예를 들어, 안전한(secure) 통신 애플리케이션은 전자 상업 기능 및 다른 이러한 금융 거래를 UE(700)를 이용하여 수행하도록 할 수 있다. 그러나, 이들 애플리케이션은 상술한 것처럼 많은 경우 캐리어에 의해 승인될 필요가 있다.
데이터 통신 모드에서, 문자 메시지 또는 웹 페이지 다운로드 등의 수신된 신호는 통신 서브시스템(711)에 의해 처리되고 마이크로프로세서(738)에 입력되고, 마이크로프로세서는 바람직하게, 디스플레이(722) 또는 대안으로 보조 I/O 장치(728)로의 출력을 위해 수신된 신호를 더 처리한다. UE(700)의 사용자는, 또한 디스플레이(722) 및 가능하면 보조 I/O 장치(728)와 결합하여, 예를 들어, 바람직하게 완전한 알파벳 키보드 또는 전화 타입 키패드인 키보드(732)를 이용하여 이메일 메시지 등의 데이터 항목을 구성할 수 있다. 이렇게 구성된 항목은 통신 서브시스템(711)을 통해 통신 네트워크를 통해 송신될 수 있다.
음성 통신에서, UE(700)의 모든 동작은, 수신된 신호가 바람직하게 스피커(734)로 출력되고 송신을 위한 신호가 마이크로폰(736)에 의해 생성된다는 것을 제외하고, 유사하다. 음성 메시지 녹화 서브시스템 등의 교체 음성 또는 오디오 I/O 서브시스템은 또한 UE(700) 상에서 구현될 수 있다. 음성 또는 오디오 신호 출력은 바람직하게 스피커(734)를 통해 기본적으로 달성되지만, 디스플레이(722)는 예를 들어 호출 당사자의 식별의 지시, 음성 호의 기간 또는 다른 음성 호 관련 정보를 제공하는데 사용될 수 있다.
도 7의 시리얼 포트(730)는 사용자의 데스크탑 컴퓨터(미도시)와의 동기가 바람직한 개인 휴대 단말기(PDA) 타입 모바일 장치에서 통상 구현될 수 있다. 이러한 포트(730)는 외부 장치 또는 소프트웨어 애플리케이션을 통해 사용자가 선호도를 설정하도록 하고 무선 통신 네트워크를 통하는 것 이외에 UE(700)으로의 정보 또는 소프트웨어 다운로드를 제공함으로써 모바일 장치(700)의 능력을 확장할 수 있다. 교체 다운로드 경로는 예를 들어 직접적인 및 신뢰성있는 접속을 통해 장치 상에 암호화키를 로딩하는데 사용되어, 안전한(secure) 장치 통신이 가능하게 할 수 있다.
대안으로, 시리얼 포트(730)는 다른 통신을 위해 사용될 수 있고 USB(universal serial bus) 포트를 포함할 수 있다. 인터페이스는 시리얼 포트(730)와 관련된다.
근거리 통신 서브시스템 등의 다른 통신 서브시스템(740)은, 반드시 유사한 장치일 필요는 없는 UE(700) 및 상이한 시스템 또는 장치 간의 통신을 위해 제공될 수 있는 또 다른 선택적 컴포넌트이다. 예를 들어, 서브시스템(740)은 적외선 장치 및 관련 회로 및 컴포넌트 또는 유사하게 가능한 시스템 및 장치와의 통신을 위해 제공되는 블루투스 통신 모듈을 포함할 수 있다.
소정의 방법, 장치 및 제조 물품이 여기에 기재되지만, 본 특허의 커버리지의 범위는 이에 제한되지 않는다. 반대로, 본 특허는 문자 그대로 또는 동등물의 원칙하에서 첨부된 청구항의 범위 내의 모든 방법, 장치 및 제조 물품을 커버한다.
712: 수신기 713: LO
714: 송신기 716, 718: 안테나
719: 네트워크 720: DSP
722: 디스플레이 724: 플래시 메모리
726: RAM 728: 보조 I/O
730: 시리얼 포트 732: 키보드
734: 스피커 736: 마이크로폰
738: 마이크로프로세서 740: 다른 통신
742: 다른 장치 서브시스템 744: UIM 인터페이스
750: 장치 상태 751: 구성
752: 어드레스 북 753: 기타
754: 다른 PIM 758: 프로그램
760: 서버 770: 객체 박스 파서
772: 무선 상태 모니터 774: 동작 임계치
776: 미디어 선택

Claims (38)

  1. 하이퍼텍스트 전송 프로토콜을 통해 미디어 콘텐츠를 스트리밍하는 방법으로서,
    미디어 콘텐츠의 복수의 인코딩에 대한 메타데이터 - 상기 메타데이터는 제1 인코딩을 갖는 상기 미디어 콘텐츠의 제1 부분을 위한 제1 URL(uniform resource locator)과 제1 바이트 오프셋 세트, 및 제2 인코딩을 갖는 상기 미디어 콘텐츠의 제2 부분을 위한 제2 URL과 제2 바이트 오프셋 세트를 포함함 - 를 검색하는 단계; 및
    상기 제1 URL과 상기 제1 바이트 오프셋 세트를 이용하여 상기 미디어 콘텐츠의 상기 제1 부분을 요청하는 단계
    를 포함하고,
    상기 하이퍼텍스트 전송 프로토콜은 하이퍼텍스트 전송 프로토콜 보안(secure)을 포함하는 것인 미디어 콘텐츠 스트리밍 방법.
  2. 제1항에 있어서, 상기 요청은 GET 명령인 것인 미디어 콘텐츠 스트리밍 방법.
  3. 제1항에 있어서, 상기 제1 부분 및 상기 제2 부분 각각은 ISO 베이스 미디어 파일 포맷에 기초하는 영화 프레그먼트(movie fragment)를 포함하는 것인 미디어 콘텐츠 스트리밍 방법.
  4. 제1항에 있어서, 상기 제1 부분 및 상기 제2 부분 각각은 moov 박스, moof 박스, ftyp 박스 또는 미디어 데이터(mdat) 박스 중의 적어도 하나를 포함하는 것인 미디어 콘텐츠 스트리밍 방법.
  5. 제1항에 있어서, 상기 제1 바이트 오프셋 세트 및 상기 제2 바이트 오프셋 세트 각각은 복수의 바이트들을 포함하고, 상기 복수의 바이트들의 각각의 바이트는 서로 인접한 것인 미디어 콘텐츠 스트리밍 방법.
  6. 제1항에 있어서, 채널 상태(condition)에 기초하여 상기 제1 부분을 다운로드하는 단계를 더 포함하는 미디어 콘텐츠 스트리밍 방법.
  7. 제6항에 있어서, 상기 채널 상태의 변경에 기초하여 상기 미디어 콘텐츠의 상기 제2 부분을 다운로드하는 단계를 더 포함하는 미디어 콘텐츠 스트리밍 방법.
  8. 제1항에 있어서, 상기 제2 부분은 상기 제2 URL 및 상기 제2 바이트 오프셋 세트를 이용하여 요청되는 것인 미디어 콘텐츠 스트리밍 방법.
  9. 제1항에 있어서, 상기 미디어 콘텐츠가 렌더링되는 장치의 능력(capability)에 기초하여 상기 미디어 콘텐츠의 상기 제1 부분을 다운로드하는 단계를 더 포함하는 미디어 콘텐츠 스트리밍 방법.
  10. 제1항에 있어서, 상기 제1 URL을 이용하여 상기 미디어 콘텐츠의 제3 부분을 요청하는 단계를 더 포함하는 미디어 콘텐츠 스트리밍 방법.
  11. 하이퍼텍스트 전송 프로토콜을 통해 미디어 콘텐츠를 스트리밍하는 장치로서,
    프로세서를 포함하고, 상기 프로세서는,
    미디어 콘텐츠의 복수의 인코딩에 대한 메타데이터 - 상기 메타데이터는 제1 인코딩을 갖는 상기 미디어 콘텐츠의 제1 부분을 위한 제1 URL과 제1 바이트 오프셋 세트, 및 제2 인코딩을 갖는 상기 미디어 콘텐츠의 제2 부분을 위한 제2 URL과 제2 바이트 오프셋 세트를 포함함 - 를 수신하고,
    상기 제1 URL과 상기 제1 바이트 오프셋 세트를 이용하여 상기 미디어 콘텐츠의 상기 제1 부분을 요청하도록 구성되고,
    상기 하이퍼텍스트 전송 프로토콜은 하이퍼텍스트 전송 프로토콜 보안을 포함하는 것인 미디어 콘텐츠 스트리밍 장치.
  12. 제11항에 있어서, 상기 요청은 GET 명령인 것인 미디어 콘텐츠 스트리밍 장치.
  13. 제11항에 있어서, 상기 제1 부분 및 상기 제2 부분 각각은 ISO 베이스 미디어 파일 포맷에 기초하는 영화 프레그먼트를 포함하는 것인 미디어 콘텐츠 스트리밍 장치.
  14. 제11항에 있어서, 상기 제1 부분 및 상기 제2 부분 각각은 moov 박스, moof 박스, ftyp 박스 또는 미디어 데이터(mdat) 박스 중의 적어도 하나를 포함하는 것인 미디어 콘텐츠 스트리밍 장치.
  15. 제11항에 있어서, 상기 제1 바이트 오프셋 세트 및 상기 제2 바이트 오프셋 세트 각각은 복수의 바이트들을 포함하고, 상기 복수의 바이트들의 각각의 바이트는 서로 인접한 것인 미디어 콘텐츠 스트리밍 장치.
  16. 제11항에 있어서, 상기 프로세서는 또한, 채널 상태에 기초하여 상기 제1 부분을 다운로드하도록 구성되는 것인 미디어 콘텐츠 스트리밍 장치.
  17. 제16항에 있어서, 상기 프로세서는 또한, 상기 채널 상태의 변경에 기초하여 상기 미디어 콘텐츠의 상기 제2 부분을 다운로드하도록 구성되는 것인 미디어 콘텐츠 스트리밍 장치.
  18. 제11항에 있어서, 상기 제2 부분은 상기 제2 URL 및 상기 제2 바이트 오프셋 세트를 이용하여 요청되는 것인 미디어 콘텐츠 스트리밍 장치.
  19. 제11항에 있어서, 상기 프로세서는 또한, 상기 미디어 콘텐츠가 렌더링되는 장치의 능력에 기초하여 상기 미디어 콘텐츠의 상기 제1 부분을 다운로드하도록 구성되는 것인 미디어 콘텐츠 스트리밍 장치.
  20. 제11항에 있어서, 상기 프로세서는 또한, 상기 제1 URL을 이용하여 상기 미디어 콘텐츠의 제3 부분을 요청하도록 구성되는 것인 미디어 콘텐츠 스트리밍 장치.
  21. 하이퍼텍스트 전송 프로토콜을 통해 미디어 콘텐츠를 전달하는 방법으로서,
    미디어 콘텐츠의 복수의 인코딩에 대한 메타데이터 - 상기 메타데이터는 제1 인코딩을 갖는 상기 미디어 콘텐츠의 제1 부분을 위한 제1 URL과 제1 바이트 오프셋 세트, 및 제2 인코딩을 갖는 상기 미디어 콘텐츠의 제2 부분을 위한 제2 URL과 제2 바이트 오프셋 세트를 포함함 - 를 제공하는 단계
    를 포함하고,
    상기 미디어 콘텐츠의 상기 제1 부분은 상기 제1 URL과 상기 제1 바이트 오프셋 세트를 이용하여 제공되고,
    상기 하이퍼텍스트 전송 프로토콜은 하이퍼텍스트 전송 프로토콜 보안을 포함하는 것인 미디어 콘텐츠 전달 방법.
  22. 제21항에 있어서, 상기 제1 부분은 GET 명령에 응답하여 제공되는 것인 미디어 콘텐츠 전달 방법.
  23. 제21항에 있어서, 상기 제1 부분 및 상기 제2 부분 각각은 ISO 베이스 미디어 파일 포맷에 기초하는 영화 프레그먼트를 포함하는 것인 미디어 콘텐츠 전달 방법.
  24. 제21항에 있어서, 상기 제1 바이트 오프셋 세트 및 상기 제2 바이트 오프셋 세트 각각은 복수의 바이트들을 포함하고, 상기 복수의 바이트들의 각각의 바이트는 서로 인접한 것인 미디어 콘텐츠 전달 방법.
  25. 제21항에 있어서, 상기 제1 부분은 채널 상태에 기초하여 제공되는 것인 미디어 콘텐츠 전달 방법.
  26. 제25항에 있어서, 상기 미디어 콘텐츠의 상기 제2 부분은 상기 채널 상태의 변경에 기초하여 제공되는 것인 미디어 콘텐츠 전달 방법.
  27. 제21항에 있어서, 상기 제2 부분은 상기 제2 URL 및 상기 제2 바이트 오프셋 세트를 이용하여 제공되는 것인 미디어 콘텐츠 전달 방법.
  28. 제21항에 있어서, 상기 미디어 콘텐츠의 상기 제1 부분은 상기 미디어 콘텐츠가 렌더링되는 장치의 능력에 기초하여 제공되는 것인 미디어 콘텐츠 전달 방법.
  29. 제21항에 있어서, 상기 제1 URL을 이용하여 상기 미디어 콘텐츠의 제3 부분을 제공하는 단계를 더 포함하는 미디어 콘텐츠 전달 방법.
  30. 하이퍼텍스트 전송 프로토콜을 통해 미디어 콘텐츠를 전달하는 장치로서,
    프로세서를 포함하고, 상기 프로세서는
    미디어 콘텐츠의 복수의 인코딩에 대한 메타데이터 - 상기 메타데이터는 제1 인코딩을 갖는 상기 미디어 콘텐츠의 제1 부분을 위한 제1 URL과 제1 바이트 오프셋 세트, 및 제2 인코딩을 갖는 상기 미디어 콘텐츠의 제2 부분을 위한 제2 URL과 제2 바이트 오프셋 세트를 포함함 - 를 제공하도록 구성되고,
    상기 미디어 콘텐츠의 상기 제1 부분은 상기 제1 URL과 상기 제1 바이트 오프셋 세트를 이용하여 제공되며,
    상기 하이퍼텍스트 전송 프로토콜은 하이퍼텍스트 전송 프로토콜 보안을 포함
    는 것인 미디어 콘텐츠 전달 장치.
  31. 제30항에 있어서, 상기 제1 부분은 GET 명령에 응답하여 제공되는 것인 미디어 콘텐츠 전달 장치.
  32. 제30항에 있어서, 상기 제1 부분 및 상기 제2 부분 각각은 ISO 베이스 미디어 파일 포맷에 기초하는 영화 프레그먼트를 포함하는 것인 미디어 콘텐츠 전달 장치.
  33. 제30항에 있어서, 상기 제1 바이트 오프셋 세트 및 상기 제2 바이트 오프셋 세트 각각은 복수의 바이트들을 포함하고, 상기 복수의 바이트들의 각각의 바이트는 서로 인접한 것인 미디어 콘텐츠 전달 장치.
  34. 제30항에 있어서, 상기 제1 부분은 채널 상태에 기초하여 제공되는 것인 미디어 콘텐츠 전달 장치.
  35. 제34항에 있어서, 상기 미디어 콘텐츠의 상기 제2 부분은 상기 채널 상태의 변경에 기초하여 제공되는 것인 미디어 콘텐츠 전달 장치.
  36. 제30항에 있어서, 상기 제2 부분은 상기 제2 URL 및 상기 제2 바이트 오프셋 세트를 이용하여 제공되는 것인 미디어 콘텐츠 전달 장치.
  37. 제30항에 있어서, 상기 미디어 콘텐츠의 상기 제1 부분은 제2 장치의 능력에 기초하여 제공되는 것인 미디어 콘텐츠 전달 장치.
  38. 제30항에 있어서, 상기 프로세서는 또한, 상기 제1 URL을 이용하여 상기 미디어 콘텐츠의 제3 부분을 제공하도록 구성되는 것인 미디어 콘텐츠 전달 장치.
KR1020137008476A 2009-06-15 2010-06-14 클라이언트 제어 세션리스 적응을 가능하게 하는 방법 및 장치 KR101364299B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US18709009P 2009-06-15 2009-06-15
US61/187,090 2009-06-15
US12/814,566 US8392598B2 (en) 2009-06-15 2010-06-14 Methods and apparatus to facilitate client controlled sessionless adaptation
US12/814,566 2010-06-14
PCT/US2010/038481 WO2010147878A1 (en) 2009-06-15 2010-06-14 Methods and apparatus to facilitate client controlled sessionless adaptation

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020127001095A Division KR20120035187A (ko) 2009-06-15 2010-06-14 클라이언트 제어 세션리스 적응을 가능하게 하는 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20130045945A KR20130045945A (ko) 2013-05-06
KR101364299B1 true KR101364299B1 (ko) 2014-02-18

Family

ID=43307298

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020127001095A KR20120035187A (ko) 2009-06-15 2010-06-14 클라이언트 제어 세션리스 적응을 가능하게 하는 방법 및 장치
KR1020137008476A KR101364299B1 (ko) 2009-06-15 2010-06-14 클라이언트 제어 세션리스 적응을 가능하게 하는 방법 및 장치

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020127001095A KR20120035187A (ko) 2009-06-15 2010-06-14 클라이언트 제어 세션리스 적응을 가능하게 하는 방법 및 장치

Country Status (11)

Country Link
US (2) US8392598B2 (ko)
EP (1) EP2443807B1 (ko)
JP (1) JP5642779B2 (ko)
KR (2) KR20120035187A (ko)
CN (1) CN102461119B (ko)
AU (1) AU2010260303B2 (ko)
BR (1) BRPI1013145B1 (ko)
CA (1) CA2765532C (ko)
MX (1) MX2011013770A (ko)
SG (1) SG176796A1 (ko)
WO (1) WO2010147878A1 (ko)

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1745374A (zh) 2002-12-27 2006-03-08 尼尔逊媒介研究股份有限公司 用于对元数据进行译码的方法和装置
US7515710B2 (en) 2006-03-14 2009-04-07 Divx, Inc. Federated digital rights management scheme including trusted systems
US7751362B2 (en) * 2007-10-19 2010-07-06 Rebelvox Llc Graceful degradation for voice communication services over wired and wireless networks
US7751361B2 (en) * 2007-10-19 2010-07-06 Rebelvox Llc Graceful degradation for voice communication services over wired and wireless networks
US8325662B2 (en) * 2008-09-17 2012-12-04 Voxer Ip Llc Apparatus and method for enabling communication when network connectivity is reduced or lost during a conversation and for resuming the conversation when connectivity improves
CN105072454B (zh) 2009-01-07 2019-04-19 索尼克Ip股份有限公司 针对在线内容的媒体指南的特定化、集中式、自动化创建
CA2765532C (en) * 2009-06-15 2015-06-02 Research In Motion Limited Methods and apparatus to facilitate client controlled sessionless adaptation
US8412841B1 (en) 2009-08-17 2013-04-02 Adobe Systems Incorporated Media content streaming using stream message fragments
US8166191B1 (en) 2009-08-17 2012-04-24 Adobe Systems Incorporated Hint based media content streaming
KR101361021B1 (ko) * 2009-11-09 2014-02-10 후아웨이 테크놀러지 컴퍼니 리미티드 Http 기반의 스트리밍 미디어 서비스를 구현하는 방법, 시스템 및 네트워크장비
EP2507995A4 (en) 2009-12-04 2014-07-09 Sonic Ip Inc SYSTEMS AND METHODS FOR TRANSPORTING ELEMENTARY BIT TRAIN CRYPTOGRAPHIC MATERIAL
JP5497919B2 (ja) * 2010-03-05 2014-05-21 サムスン エレクトロニクス カンパニー リミテッド ファイルフォーマットベースの適応的ストリーム生成、再生方法及び装置とその記録媒体
US20120102184A1 (en) * 2010-10-20 2012-04-26 Sony Corporation Apparatus and method for adaptive streaming of content with user-initiated quality adjustments
US20120117261A1 (en) * 2010-11-05 2012-05-10 Nokia Corporation Method and Apparatus for Rate Adaptation for Adaptive HTTP Streaming
WO2012094199A1 (en) * 2011-01-04 2012-07-12 Thomson Licensing Apparatus and method for transmitting live media content
US8914534B2 (en) 2011-01-05 2014-12-16 Sonic Ip, Inc. Systems and methods for adaptive bitrate streaming of media stored in matroska container files using hypertext transfer protocol
KR20120079880A (ko) * 2011-01-06 2012-07-16 삼성전자주식회사 스트리밍 서비스 시스템에서 북마크 생성 장치 및 방법
US9661104B2 (en) * 2011-02-07 2017-05-23 Blackberry Limited Method and apparatus for receiving presentation metadata
KR20120114016A (ko) * 2011-04-06 2012-10-16 삼성전자주식회사 사용자 컨텐츠를 외부 단말기에서 네트워크 적응적으로 스트리밍하는 방법 및 장치
US8849950B2 (en) 2011-04-07 2014-09-30 Qualcomm Incorporated Network streaming of video data using byte range requests
US9380356B2 (en) 2011-04-12 2016-06-28 The Nielsen Company (Us), Llc Methods and apparatus to generate a tag for media content
US20120278495A1 (en) * 2011-04-26 2012-11-01 Research In Motion Limited Representation grouping for http streaming
CN102217313B (zh) * 2011-05-26 2013-10-02 华为技术有限公司 重排、抽取分片中媒体数据的方法、设备及系统
US9209978B2 (en) 2012-05-15 2015-12-08 The Nielsen Company (Us), Llc Methods and apparatus to measure exposure to streaming media
US9210208B2 (en) 2011-06-21 2015-12-08 The Nielsen Company (Us), Llc Monitoring streaming media content
US9590814B2 (en) * 2011-08-01 2017-03-07 Qualcomm Incorporated Method and apparatus for transport of dynamic adaptive streaming over HTTP (DASH) initialization segment description fragments as user service description fragments
US9467708B2 (en) 2011-08-30 2016-10-11 Sonic Ip, Inc. Selection of resolutions for seamless resolution switching of multimedia content
US8909922B2 (en) 2011-09-01 2014-12-09 Sonic Ip, Inc. Systems and methods for playing back alternative streams of protected content protected using common cryptographic information
US8964977B2 (en) 2011-09-01 2015-02-24 Sonic Ip, Inc. Systems and methods for saving encoded media streamed using adaptive bitrate streaming
KR101678540B1 (ko) 2011-09-30 2016-11-22 후아웨이 테크놀러지 컴퍼니 리미티드 스트리밍 미디어 전송 방법 및 장치
US9712891B2 (en) * 2011-11-01 2017-07-18 Nokia Technologies Oy Method and apparatus for selecting an access method for delivery of media
US9560392B2 (en) * 2012-09-07 2017-01-31 Google Inc. Dynamic bit rate encoding
US9253011B2 (en) * 2012-09-27 2016-02-02 Intuit Inc. Session-server affinity for clients that lack session identifiers
US9191457B2 (en) 2012-12-31 2015-11-17 Sonic Ip, Inc. Systems, methods, and media for controlling delivery of content
US9313510B2 (en) 2012-12-31 2016-04-12 Sonic Ip, Inc. Use of objective quality measures of streamed content to reduce streaming bandwidth
US9313544B2 (en) 2013-02-14 2016-04-12 The Nielsen Company (Us), Llc Methods and apparatus to measure exposure to streaming media
US20140244828A1 (en) * 2013-02-26 2014-08-28 Jan Besehanic Methods and apparatus to measure exposure to streaming media
US9906785B2 (en) 2013-03-15 2018-02-27 Sonic Ip, Inc. Systems, methods, and media for transcoding video data according to encoding parameters indicated by received metadata
US10397292B2 (en) 2013-03-15 2019-08-27 Divx, Llc Systems, methods, and media for delivery of content
US9344517B2 (en) 2013-03-28 2016-05-17 Sonic Ip, Inc. Downloading and adaptive streaming of multimedia content to a device with cache assist
US9973559B2 (en) * 2013-05-29 2018-05-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for presenting content streams to a client device
US9247317B2 (en) 2013-05-30 2016-01-26 Sonic Ip, Inc. Content streaming with client device trick play index
US9094737B2 (en) 2013-05-30 2015-07-28 Sonic Ip, Inc. Network video streaming with trick play based on separate trick play files
US9967305B2 (en) 2013-06-28 2018-05-08 Divx, Llc Systems, methods, and media for streaming media content
US9332035B2 (en) 2013-10-10 2016-05-03 The Nielsen Company (Us), Llc Methods and apparatus to measure exposure to streaming media
US9343112B2 (en) 2013-10-31 2016-05-17 Sonic Ip, Inc. Systems and methods for supplementing content from a server
US9520079B2 (en) * 2014-03-26 2016-12-13 Samsung Electronics Co., Ltd. Storage and carriage of green metadata for display adaptation
US9866878B2 (en) 2014-04-05 2018-01-09 Sonic Ip, Inc. Systems and methods for encoding and playing back video at different frame rates using enhancement layers
US10228751B2 (en) 2014-08-06 2019-03-12 Apple Inc. Low power mode
US9647489B2 (en) 2014-08-26 2017-05-09 Apple Inc. Brownout avoidance
US10708391B1 (en) * 2014-09-30 2020-07-07 Apple Inc. Delivery of apps in a media stream
US10231033B1 (en) 2014-09-30 2019-03-12 Apple Inc. Synchronizing out-of-band content with a media stream
US9762965B2 (en) 2015-05-29 2017-09-12 The Nielsen Company (Us), Llc Methods and apparatus to measure exposure to streaming media
US10313419B1 (en) * 2017-01-31 2019-06-04 Amazon Technologies, Inc. VBR encoding of live content
US10484446B1 (en) * 2017-01-31 2019-11-19 Amazon Technologies, Inc. VBR encoding of live content
US10498795B2 (en) 2017-02-17 2019-12-03 Divx, Llc Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming
US10742699B1 (en) 2017-09-29 2020-08-11 Twitch Interactive, Inc. Requesting transmission of future encoded segments
US10630746B1 (en) 2017-09-29 2020-04-21 Twitch Interactive, Inc. Streaming playlist including future encoded segments
US11363133B1 (en) 2017-12-20 2022-06-14 Apple Inc. Battery health-based power management
US10817307B1 (en) 2017-12-20 2020-10-27 Apple Inc. API behavior modification based on power source health
CN110545479B (zh) * 2018-05-29 2021-07-06 北京字节跳动网络技术有限公司 媒体播放的加载控制方法、装置及存储介质
US20220405270A1 (en) * 2021-06-21 2022-12-22 Anthony Zara Systems and methods for dynamic media asset modification

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1349164A1 (en) * 2002-03-25 2003-10-01 Sony United Kingdom Limited Programming interface for accessing metadata
US20060037057A1 (en) 2004-05-24 2006-02-16 Sharp Laboratories Of America, Inc. Method and system of enabling trick play modes using HTTP GET
US20080250047A1 (en) 2007-04-03 2008-10-09 Nokia Corporation System and method for using multiple meta boxes in the iso base media file format

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7624337B2 (en) 2000-07-24 2009-11-24 Vmark, Inc. System and method for indexing, searching, identifying, and editing portions of electronic multimedia files
WO2004077790A1 (en) 2003-02-26 2004-09-10 Koninklijke Philips Electronics N.V. System for broadcasting multimedia content
US20050102371A1 (en) * 2003-11-07 2005-05-12 Emre Aksu Streaming from a server to a client
CN101077008A (zh) 2004-10-13 2007-11-21 韩国电子通信研究院 扩展多媒体文件结构以及多媒体文件生成方法和多媒体文件执行方法
JP4944484B2 (ja) * 2006-04-20 2012-05-30 キヤノン株式会社 再生装置、再生方法及びプログラム
CN101127989A (zh) * 2007-09-11 2008-02-20 中兴通讯股份有限公司 一种支持手机超文本传输流媒体业务的方法
US8635360B2 (en) * 2007-10-19 2014-01-21 Google Inc. Media playback point seeking using data range requests
CN101287107B (zh) * 2008-05-29 2010-10-13 腾讯科技(深圳)有限公司 媒体文件的点播方法、系统和设备
US8904191B2 (en) 2009-01-21 2014-12-02 Microsoft Corporation Multiple content protection systems in a file
CA2765532C (en) * 2009-06-15 2015-06-02 Research In Motion Limited Methods and apparatus to facilitate client controlled sessionless adaptation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1349164A1 (en) * 2002-03-25 2003-10-01 Sony United Kingdom Limited Programming interface for accessing metadata
US20060037057A1 (en) 2004-05-24 2006-02-16 Sharp Laboratories Of America, Inc. Method and system of enabling trick play modes using HTTP GET
US20080250047A1 (en) 2007-04-03 2008-10-09 Nokia Corporation System and method for using multiple meta boxes in the iso base media file format

Also Published As

Publication number Publication date
MX2011013770A (es) 2012-02-22
CA2765532A1 (en) 2010-12-23
US8244901B2 (en) 2012-08-14
JP5642779B2 (ja) 2014-12-17
KR20130045945A (ko) 2013-05-06
AU2010260303B2 (en) 2014-08-28
JP2012533913A (ja) 2012-12-27
EP2443807A1 (en) 2012-04-25
US8392598B2 (en) 2013-03-05
CA2765532C (en) 2015-06-02
CN102461119B (zh) 2015-02-04
WO2010147878A1 (en) 2010-12-23
CN102461119A (zh) 2012-05-16
KR20120035187A (ko) 2012-04-13
BRPI1013145A2 (pt) 2016-04-05
BRPI1013145A8 (pt) 2017-10-03
US20120017004A1 (en) 2012-01-19
SG176796A1 (en) 2012-01-30
BRPI1013145B1 (pt) 2021-01-12
AU2010260303A1 (en) 2012-01-19
EP2443807B1 (en) 2017-12-27
US20100318600A1 (en) 2010-12-16

Similar Documents

Publication Publication Date Title
KR101364299B1 (ko) 클라이언트 제어 세션리스 적응을 가능하게 하는 방법 및 장치
KR101847585B1 (ko) 네트워크를 통한 미디어 스트리밍을 위한 전송 다이버시티 및 시간-시프트 버퍼들의 지원
US8510375B2 (en) Apparatus and methods for time mapping media segments in streaming media files
US9820009B2 (en) Streaming with optional broadcast delivery of data segments
US8468262B2 (en) Method and apparatus for updating http content descriptions
WO2012093202A1 (en) Method and apparatus for signaling presentation
EP2798818A1 (en) Method and apparatus for flexible caching of delivered media
US20140189141A1 (en) Real-time content transcoding method, apparatus and system, and real-time content receiving method and apparatus
WO2016004039A1 (en) Client behavior control in adaptive streaming
US20130238755A1 (en) Context-aware content delivery

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
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: 20200130

Year of fee payment: 7