KR101037263B1 - 세션 기술 메시지 확장 - Google Patents

세션 기술 메시지 확장 Download PDF

Info

Publication number
KR101037263B1
KR101037263B1 KR1020057012340A KR20057012340A KR101037263B1 KR 101037263 B1 KR101037263 B1 KR 101037263B1 KR 1020057012340 A KR1020057012340 A KR 1020057012340A KR 20057012340 A KR20057012340 A KR 20057012340A KR 101037263 B1 KR101037263 B1 KR 101037263B1
Authority
KR
South Korea
Prior art keywords
delete delete
session description
extension
multimedia presentation
description message
Prior art date
Application number
KR1020057012340A
Other languages
English (en)
Other versions
KR20070019925A (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 KR20070019925A publication Critical patent/KR20070019925A/ko
Application granted granted Critical
Publication of KR101037263B1 publication Critical patent/KR101037263B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17336Handling of requests in head-ends
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • 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/1066Session management
    • H04L65/1101Session protocols
    • 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
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]

Abstract

세션 기술 메시지 확장부는 멀티미디어 프리젠테이션 또는 단일 미디어 프리젠테이션을 기술하는 정보를 포함한다. 세션 기술 메시지는 통상 하나의 장치로부터 멀티미디어 또는 단일 미디어 프리젠테이션이 스트리밍될 수 있는 다른 장치로 전송된다. 세션 기술 메시지에 포함될 수 있는 정보를 확장하는 여러 확장이 기술된다.
세션 기술 메시지, 멀티미디어 프리젠테이션, 스트리밍 미디어, 메시지 확장, 파일 헤더

Description

세션 기술 메시지 확장{SESSION DESCRIPTION MESSAGE EXTENSIONS}
본 발명은 스트리밍 미디어와 데이터 전송에 관한 것으로서, 특히, 세션 기술 메시지 확장에 관한 것이다.
오디오, 비디오 및/또는 텍스트의 스트리밍과 같은 컨텐츠 스트리밍은 점차 널리 사용되고 있다. "스트리밍"이라는 용어는 통상 미디어를 나타내는 데이터가 재생 전에 전체가 미리 전달되는 대신 필요시에 네트워크를 통해 클라이언트 컴퓨터에 제공됨을 나타내는데 사용된다. 따라서, 클라이언트 컴퓨터는 전체 "파일"이 전달되기를 대기하지 않고, 네트워크 서버로부터 스트리밍 컨텐츠가 수신됨에 따라 이를 실행한다.
스트리밍 멀티미디어 컨텐츠의 광범위한 이용가능성은 인터넷 또는 다른 컴퓨터 네트워크 상에서 이전에 이용가능하지 않은 다양한 정보 컨텐츠를 가능하게 한다. 라이브 컨텐츠는 이러한 컨텐츠 중 하나의 중요한 예이다. 스트리밍 멀티미디어를 사용함으로써, 주목할만 한 이벤트의 오디오, 비디오 또는 오디오/비주얼 커버리지는 이벤트가 전개됨에 따라 인터넷 상으로 브로드캐스팅될 수 있다. 유사하게, 텔레비전과 라디오 방송국은 인터넷을 통해 이들의 라이브 컨텐츠를 전송할 수 있다.
세션 기술 프로토콜(SDP), 네트워크 작업 그룹 사양서(RFC) 2327 (1998년 4월)은, "세션"으로 불리는, 멀티미디어 프리젠테이션의 속성과 이 프리젠테이션 내에 포함된 하나 이상의 미디어 스트림의 속성을 기술하는데 사용되는 텍스트 기반 포맷이다. SDP는 세션 안내, 세션 초대 및 다른 형태의 멀티미디어 세션 개시의 목적으로 멀티미디어 세션을 기술하려는 의도의 애플리케이션 레벨로서 개발되었다. SDP는 실시간 스트리밍 프로토콜(RTSP) 또는 하이퍼텍스트 전송 프로토콜(HTTP)과 같은 다른 프로토콜에 따라 사용되어 스트리밍 데이터의 전달을 위해 사용되는 멀티미디어 세션의 속성을 기술 및/또는 포함한다.
그러나, SDP는 기술될 수 있는 멀티미디어 프리젠테이션의 속성에 한정된다. 이러한 제한에 대한 해결책 중 하나는 SDP 메시지 내에서 ASF(Advansed Streaming Format 또는 Advansed Systems Format) 파일 헤더와 같은 상이한 파일 헤더를 임베드하는 것이다. 이러한 해결책은 예를 들면, 발명의 명칭이 "Systems and Method for Embedding a Streaming Media Format Header Within a Session Description Message"인 미국특허출원번호 제2003/0236912호에서 설명한다. 그러나, 이러한 파일 헤더의 임베딩은 이러한 SDP 메시지의 수신처가 상이한 파일 헤더를 파싱 및 이해할 수 있도록 요구하고, 상이한 파일 헤더를 포함하는 SDP 메시지의 크기를 증가하는 등의 문제를 발생시킬 수 있다. 따라서, 수신처가 임베드된 상이한 파일 헤더(ASF 등)를 파싱하여 이해하도록 요구하지 않고 SDP의 이들 제한을 극복하는 방법을 갖는 이점이 있다.
본 명세서에서는 세션 기술 메시지 확장을 설명한다. 이들 확장은 미디어를 스트리밍하는 세션 기술 메시지에 포함될 수 있는 정보를 확장한다.
특정 양태에 따라, 세션 기술 메시지 확장은 다음 중 하나 이상을 포함한다: 멀티미디어(또는 단일 미디어) 프리젠테이션의 다수의 미디어 스트림이 상호 배타적임을 규정하는 상호 배타성 확장, 인덱스를 멀티미디어 프리젠테이션으로 규정하는 마커 확장(marker extension), 멀티미디어 프리젠테이션의 재생 동안 제공되어야 하는 데이터를 규정하는 스크립트 명령 확장, 특정 비트 레이트에서 멀티미디어 프리젠테이션을 실행하는 경우에 멀티미디어 프리젠테이션의 얼마나 많은 데이터를 버퍼링할 지를 규정하는 누설 버킷 확장(leaky bucket extension), 멀티미디어 프리젠테이션의 캐싱에 대한 정보를 규정하는 캐싱 정보 확장, 복수의 상이한 코덱 중 하나 이상에 대한 코덱 매개변수를 규정하는 캡슐화 확장, 대역폭을 고유하는 멀티미디어 프리젠테이션의 미디어 스트림을 규정하는 대역폭 공유 확장, 또는 멀티미디어 프리젠테이션의 어떤 미디어 스트림이 멀티미디어 프리젠테이션의 다른 미디어 스트림보다 우선권을 갖는지를 규정하는 스트림 우선순위 지정 확장(stream prioritization extension).
본 문서에 걸쳐 동일 번호는 동일한 컴포넌트 및/또는 특성을 나타내는데 사용된다.
도 1은 본 명세서에서 설명하는 세션 기술 메시지 확장을 사용하여 미디어를 스트리밍하는데 사용될 수 있는 네트워크 환경의 일 예를 나타내는 도면.
도 2는 본 명세서에서 설명하는 세션 기술 메시지 확장을 사용하여 미디어 컨텐츠를 스트리밍할 수 있는 클라이언트 및 서버 장치의 일 예를 나타내는 도면.
도 3은 세션 기술 메시지 포맷의 일 예를 나타내는 도면.
도 4는 멀티미디어 프리젠테이션에 대한 세션 기술 메시지를 확장하는 프로세스의 일 예를 나타내는 흐름도.
도 5는 본 명세서에서 설명하는 기술을 구현하는데 사용될 수 있는 일반 컴퓨터 환경을 나타내는 도면.
본 명세서에서는 세션 기술 메시지 확장을 설명한다. 세션 기술 메시지는 멀티미디어 프리젠테이션 또는 단일 미디어 프리젠테이션을 기술하는 정보를 포함한다. 이 세션 기술 메시지는 통상 서버 장치로부터 멀티미디어 프리젠테이션이 스트리밍될 수 있는 클라이언트 장치에 전송된다. 세션 기술 메시지에 포함될 수 있는 정보를 확장하는 여러 확장을 여기서 설명한다.
도 1은 여기서 설명하는 세션 기술 메시지 확장을 사용하여 미디어를 스트리밍하는데 사용될 수 있는 네트워크 환경(100)의 일 예를 나타낸다. 환경(100)에서, 다수의 (a) 클라이언트 컴퓨팅 장치 102(1), 102(2), ..., 102(a)가 다수의 (b) 서버 컴퓨팅 장치 104(1), 104(2), ..., (104(b)에 네트워크(106)를 통해 결합된다. 네트워크(106)는 다양한 종래의 네트워크 토폴로지 및 유형(유선 및/또는 무선 네트워크 포함) 중 임의의 것을 나타내려는 것으로서, 다양한 종래 네트워크 프로토콜(공용 및/또는 전용 프로토콜 포함) 중 임의의 것을 사용한다. 네트워크 (106)는 예를 들면 인터넷뿐만 아니라 가능하게는 하나 이상의 근거리 네트워크(LAN) 중 적어도 일부분을 포함할 수 있다.
컴퓨팅 장치(102 및 104)는 각각, 데스크탑 PC, 워크스테이션, 메인프레임 컴퓨터, 인터넷 가전, 게임 콘솔, 헨드헬드 PC, 셀룰러 폰, 개인용 휴대정보 단말기(PDA) 등을 포함하는 다양한 종래 컴퓨팅 장치 중 임의의 것일 수 있다. 장치(102 및 104) 중 하나는 동일한 유형의 장치, 또는 다르게는, 상이한 유형의 장치일 수 있다.
서버 장치(104)는 클라이언트(102)에 스트리밍하는데 이용가능한 다양한 데이터를 제작할 수 있다. "스트리밍"이라는 용어는 미디어를 나타내는 데이터가 네트워크를 통해 클라이언트에 제공되고 컨텐츠의 재생이 그 전체로서 전달(재생 전에 그 전체로서 데이터를 미리 전달하지 않고 필요시 데이터를 제공)되는 컨텐츠 이전에 개시할 수 있음을 나타내는데 사용된다. 데이터는 공개적으로 이용가능하거나 또는 다르게는 제한될 수 있다(예를 들면, 특정 사용자에게만 제한되고, 적절한 비용이 제공된 경우에만 이용가능하는 등). 이 데이터는 오디오, 비디오, 텍스트, 동영상 등과 같은 다양한 하나 이상의 컨텐츠 유형 중 임의의 것일 수 있다. 또한, 데이터는 미리 기록되거나 다르게는 "라이브"(예를 들면, 콘서트가 수행됨에 따라 캡처되고 캡처 직후에 스트림에 이용가능하게 되는, 콘서트의 디지털 표현)일 수 있다.
클라이언트 장치(102)는 스트리밍 미디어 컨텐츠를 파일로서 저장하는 서버(104)로부터, 또는 다르게는 몇몇 다른 소스로부터 스트리밍 미디어를 수신하는 서 버(104)로부터 스트리밍 미디어를 수신할 수 있다. 예를 들면, 서버(104)는 스트리밍 미디어 컨텐츠를 파일로서 저장하는 다른 서버로부터 스트리밍 미디어를 수신할 수 있거나, 몇몇 다른 소스(예를 들면, "라이브" 이벤트를 인코딩하는 인코더)로부터 스트리밍 미디어를 수신할 수 있다.
여기서 사용되는 바와 같이, 스트리밍 미디어는 한 장치에서 다른 장치로(예를 들면, 서버 장치(104)로부터 클라이언트 장치(102)로) 하나 이상의 미디어 스트림을 스트리밍하는 것을 의미한다. 이 미디어 스트림은 오디오, 비디오, 텍스트 등에서 하나 이상의 다양한 유형의 컨텐츠 중 임의의 것을 포함할 수 있다.
도 2는 여기서 설명하는 세션 기술 메시지 확장을 사용하여 미디어 컨텐츠를 스트리밍할 수 있는 클라이언트 및 서버 장치의 일 예를 나타낸다. 클라이언트 장치(102)는 서버 장치(104)의 스트리밍 모듈(144)을 액세스하도록 구성된 스트리밍 미디어 플레이어(142)를 포함한다. 세션 기술 메시지(들)(144)를 포함하는 미디어 컨텐츠는 스트리밍 모듈(144)에서 스트리밍 미디어 플레이어(142)로 스트리밍되며, 여기서 스트리밍 미디어는 클라이언트 장치(102)의 사용자에게 제공될 수 있다. 스트리밍 미디어(146)는 실시간 스트리밍 프로토콜(RTSP) 또는 하이퍼텍스트 전송 프로토콜(HTTP)과 같은 상이한 프로토콜에 따라 스트리밍될 수 있다. 도 2에는 도시되지 않았지만, 하나 이상의 추가 장치(예를 들면, 방화벽, 라우터, 게이트웨이, 브릿지 등)가 클라이언트 장치(102)와 서버 장치(104) 사이에 위치할 수 있다.
하나 이상의 세션 기술 메시지는 스트리밍 미디어(146)로서 스트리밍되는 멀티미디어 프리젠테이션의 속성을 기술하는데 사용된다. 상이한 미디어 포맷 또는 프로토콜이 이러한 세션 기술 메시지에 대하여 사용될 수 있다. 이러한 미디어 포맷의 일 예는 세션 기술 프로토콜(SDP), 네트워크 작업 그룹 사양서(RFC) 2372 (1998년 4월)이다. 특정 실시예에서, 여기서 설명하는 세션 기술 메시지는 RFC 2327에서 기술한 SDP 포맷에 따른 메시지이다.
상이한 포맷이 멀티미디어 프리젠테이션의 속성을 기술하는데 사용될 수 있지만, 하나 이상의 세션 기술 메시지는 스트리밍 모듈(144)로부터 이 속성의 식별자(들)를 포함하는 스트리밍 미디어 플레이어(142)에 전송된다. 단일 세션 기술 메시지는 특정 멀티미디어 프리젠테이션에 대한 스트리밍 모듈(144)에 의해 전송될 수 있거나, 또는 다르게는, 다수의 세션 기술 메시지가 전송될 수 있다. 다수의 세션 기술 메시지가 전송되는 경우, 다수의 메시지는 동일한 정보, 상이한 정보, 또는 중첩 정보를 포함할 수 있다.
세션 기술 메시지는, 예를 들면, 다음 중 하나 이상을 포함한다: (예를 들면, 스트림 유형(예를 들면, 비디오 또는 오디오), 각 미디어 스트림의 비트 레이트, 스트림에서 사용되는 언어 등을 나타내는) 멀티미디어 프리젠테이션 내에서 이용가능한 각 미디어 스트림의 설명; 에러 정정 정보; 보안/인증 정보; 암호화 정보; 또는 디지털 권한 관리(DRM) 정보 등.
도 3은 세션 기술 메시지 포맷의 일 예를 나타낸다. 도 3에서 특정 예로서 도시하였지만, 세션 기술 메시지는 상이한 순서의 필드 또는 부분을 구비하여, 또는 다르게는 상이한 메시지에 걸쳐 확산되는 포맷을 가질 수 있다.
세션 기술 메시지(180)는 세션 레벨 기술 부분(182)과 0 이상의 미디어 레벨 기술 부분(184)을 포함한다. 세션 레벨 기술 부분(182)은 전체 세션에 적용하는 데이터와 세션의 일부인 모든 미디어 스트림을 갖는 하나 이상의 필드를 포함한다. 각 미디어 레벨 기술 부분(182)은 반면에 단일 미디어 스트림에만 적용되는 데이터를 갖는 하나 이상의 필드를 포함한다.
미디어 레벨 기술 부분(182)에서의 데이터 필드는 특정 미디어 스트림에 대한 속성을 나타낸다. 이들 속성은 세션 레벨 기술 부분(182)에서 기술한 속성에 더하여, 또는 세션 레벨 기술 부분(182)에서 기술된 속성에 대신하는 것일 수 있다. 예를 들면, 특정 미디어 레벨 기술 부분(182)에서의 하나 이상의 속성은, 특정 미디어 레벨 기술 부분(182), 세션 레벨 기술 부분(182)에서 식별된 속성에 관련된 특정 미디어 스트림에 있어서 무효로 할 수 있다.
세션 기술 메시지(180)와 이 메시지(180)의 구조는 SDP에 대하여 구체적으로 이하 보다 상세히 설명한다. 이들 특정 구조는 단지 예시로서 세션 기술 메시지는 다른 형태를 취할 수 있음이 이해되어야 한다.
세션 레벨 기술 부분(182)은 프로토콜 버전 필드로서 불리는 특정 필드에서 개시한다. 유사하게, 미디어 레벨 기술 부분(184)은 각각 미디어 명칭 및 전송 어드레스 필드로서 불리는 특정 필드에서 개시한다. 특정 실시예에서, 동일 유형의 다수의 필드가 세션 기술 메시지에서 포함될 수 있다(예를 들면, 단일 세션 기술 메시지는 둘 이상의 속성 필드를 가질 수 있다).
표 I는 세션 레벨 기술 부분(182)에서 포함될 수 있는 필드의 예를 나타낸다. 표 I는 각 필드 예의 명칭, 각 필드 예에 대한 축약 또는 유형, 및 각 필드 예의 간략한 설명을 포함한다. 특정 실시예에서, 프로토콜 버전 필드, 소유자/생성자 및 세션 식별자 필드, 세션명 필드 및 시간 기술 필드가 필요하지만 표 I에서의 다른 모든 필드는 선택적이다.
명칭 유형 설명
프로토콜 버전 v= SDP의 버전
원형 o= 세션의 발신지(예를 들면, 사용자명, 사용자 호스트의 주소), 및 세션 id 및 세션 버전 번호
세션명 s= 세션의 명칭
세션 정보 i= 세션에 대한 정보
설명의 URI u= 세션에 대한 추가 정보에 대한 포인터
이메일 주소 e= 세션 담당자의 이메일 주소
전화 번호 p= 세션 담당자의 전화 번호
접속 정보 c= 네트워크 유형, 사용 중인 어드레싱 유형, 접속 주소 등과 같은 세션에 대한 접속을 기술하는 접속 데이터
대역폭 정보 b= 세션에 의해 사용될 제안된 대역폭
시간 기술 아래 표 II 참조
시간 영역 조정 z= 일광 절약 시간제에서 허용되는 조정 시간 및 오프셋 규정
암호화 키 k= 외부 수단에 의해 또는 포함된 인코딩 암호화 키로부터 세션에 대한 암호화 키를 획득하는데 사용되는 메커니즘 표시
속성 a= SDP를 확장하는 세션의 속성
아래 표 II는 추가 세부사항에서 시간 기술 필드를 나타낸다. 표 II는 시간 기술 필드에서 각 필드에 대한 명칭, 시간 기술 필드에서 각 필드에 대한 축약 또는 유형, 및 시간 기술 필드에서의 각 필드의 간략한 설명을 포함한다. 세션이 액티브 필드인 시간이 필요하지만 제로 이상의 반복 시점 필드는 선택적이다.
명칭 유형 설명
세션이 액티브인 시간 t= 세션에 대한 개시 및 정지 시간
제로 이상의 반복 시점 r= 세션에 대한 반복 시점을 규정
아래 표 III은 미디어 레벨 기술 부분(184)에 포함될 수 있는 필드 예를 나타낸다. 표 III은 각 필드 예의 명칭, 각 필드 예에 대한 축약 또는 유형, 및 각 필드 예의 간략한 설명을 포함한다. 특정 실시예에서, 미디어 안내 필드가 필요하지만 표 III에서의 다른 모든 필드는 선택적이다.
명칭 유형 설명
미디어 안내 m= 미디어 스트림의 미디어 유형, 미디어 스트림이 전송될 전송 포트, 미디어 스트림에 대한 전송 프로토콜, 및 미디어 스트림에 대한 미디어 포맷(들)
미디어 제목 i= 미디어 스트림에 대한 정보(예를 들면, 미디어 스트림에 대한 라벨)
접속 정보 c= 네트워크 유형, 사용중인 어드레싱 유형, 및 접속 주소와 같은 미디어 스트림에 대한 접속을 기술하는 접속 데이터
대역폭 정보 b= 미디어 스트림에 의해 사용될 제안된 대역폭
암호화 키 k= 외부 수단에 의해 또는 포함된 인코딩 암호화 키로부터 미디어 스트림에 대한 암호화 키를 획득하는데 사용되는 메커니즘 표시
속성 a= SDP를 확장하는 미디어 스트림의 속성
특정 실시예에 있어서, 본 명세서에서 설명하는 세션 기술 메시지 확장은 세션 레벨 기술(182) 및/또는 하나 이상의 미디어 레벨 기술(184)에서 속성 필드로서 포함된다.
도 4는 멀티미디어 프리젠테이션에 대한 세션 기술 메시지를 확장하는 프로세스(200)의 일 예를 나타내는 흐름도이다. 프로세스(200)는 소프트웨어, 펌웨어, 하드웨어, 또는 이의 조합으로 수행될 수 있다. 프로세스(200)는 통상 멀티미디어 프리젠테이션(예를 들면, 멀티미디어 프리젠테이션을 생성하는 인코더 장치)의 소스에 의해 수행된다. 저장된 멀티미디어 프리젠테이션에 있어서, 세션 기술 메시지 확장에 포함되는 정보는 통상 멀티미디어 프리젠테이션 또는 다른 곳에서 함께 저장된다. 멀티미디어 프리젠테이션이 검색되어 클라이언트 장치에 스트리밍되어야 하는 경우에는, 저장된 정보는 검색되어 세션 기술 메시지가 확장되어 생성될 수 있다. 라이브 멀티미디어 프리젠테이션에 있어서, 세션 기술 메시지에 포함된 정보는 멀티미디어 프리젠테이션의 개시에서 및/또는 멀티미디어 프리젠테이션 동안(예를 들면, 라이브 멀티미디어 프리젠테이션이 변경됨에 따라 정보는 세션 기술 메시지에서 추가 또는 변경될 수 있음) 세션 기술 메시지(예를 들면, 인간 사용자에 의해 또는 컴퓨팅 장치에 의해 자동적으로) 추가된다.
초기에는, 세션 기술 메시지에 추가되어야 하는 정보가 식별된다(동작 202). 이 정보는 하나 이상의 상이한 방식으로 식별될 수 있다. 이러한 정보가 식별될 수 있는 방식 중 하나는 파일 또는 레코드로부터의 검색이다. 특정 실시예에서, 정보의 적어도 일부는 세션 기술 메시지가 기술하고자 하는 멀티미디어 프리젠테이션에 관련된 파일 또는 레코드에 저장된다. 이러한 파일 또는 레코드는 동작 202에서 액세스되어 이에 저장된 정보를 검색한다.
이 정보가 식별될 수 있는 다른 방식이 인간 사용자로부터 수신된다. 특정 실시예에서, 정보의 적어도 일부가 인간 사용자로부터 검색된다. 이들 사용자 입력은 세션 기술 메시지에 포함되어야 하는 정보의 적어도 일부로서 동작 202에서 사용된다.
이러한 정보가 식별될 수 있는 다른 방식은 자동 검출이다. 특정 실시예에서, 정보의 적어도 일부는 멀티미디어 프리젠테이션의 소스 또는 멀티미디어 프리젠테이션 자체를 분석함으로써 컴퓨팅 장치에 의해 자동적으로 식별될 수 있다. 이는 세션 기술 메시지 내에 포함되어야 하는 정보의 적어도 일부로서 동작 202에서 사용될 수 있다.
모든 식별 정보를 포함하기 위해서 세션 기술 메시지에 추가되어야 하는 확장이 그 후 식별된다(동작 204). 이들 확장은 상이한 방식으로 식별될 수 있다. 이들 확장이 식별될 수 있는 방식 중 하나는 식별된 정보에 자동적으로 기초한다. 이러한 방식으로, 식별된 정보가 주어지면, 세션 기술 메시지에서 이 정보를 포함시키는데 사용되어야 하는 특정 확장이 자동 식별된다. 예를 들면, 확장에 대한 표 또는 레코드 매핑 정보가 액세스될 수 있으며, 자동 구성을 수행하는 장치는 특정 정보 등에 대한 적절한 확장으로 구성 또는 프로그래밍될 수 있다.
이들 확장이 식별될 수 있는 다른 방식은 정보 자체를 사용한 확장 정보의 식별이다. 예를 들면, 정보가 동작 202에서 식별되는 경우, 이 정보는 또한 세션 기술 메시지에서 정보를 포함시키는데 어느 확장 식별을 사용할 지를 포함할 수 있다.
세션 기술 메시지는 그 후 동작 204에서 식별되는 확장과 동작 202에서 식별된 정보를 포함하여 생성된다(동작 206). 일단 생성되면, 세션 기술 메시지는 클라이언트 장치에 전송되어, 클라이언트 장치에 세션 기술 메시지에 관련된 멀티미디어 프리젠테이션을 기술하는 정보를 통지한다.
광범위한 정보가 세션 기술 메시지 확장에 포함될 수 있다. 특정 실시예에서, 이들 확장은 멀티미디어 프리젠테이션에 관련된 ASF 파일 헤더에도 포함될 수 있는 정보를 포함한다. 세션 기술 메시지 확장을 사용하여 이러한 정보를 포함시킴으로써, ASF 파일 헤더는 클라이언트 장치에 통신될 필요는 없을 수 있다. 이는 클라이언트 장치가 ASF 파일 헤더를 이해할 수 있어야 하는 필요성을 경감하고, 세션 메시지 기술에서 ASF 파일 헤더 전체를 임베딩하지 않음으로써 세션 기술 메시지의 크기를 감소시킬 수 있고, ASF 파일 헤더가 이미 생성되지 않은 경우에는 ASF 파일 헤더를 생성할 필요성을 제거할 수 있다.
여기서 설명하는 세션 기술 메시지 확장은 ASF 파일 헤더로부터 분리되어 있음을 주목해야 한다. 이들 세션 기술 메시지 확장은 임의의 ASF 파일 헤더로부터 분리되는 것으로서 한정된다(즉, 이들 세션 기술 메시지 확장은 세션 기술 메시지에 임베드된 ASF 파일 헤더의 단지 일부가 아니다). 이들 세션 기술 메시지 확장은 또한 멀티미디어 프리젠테이션에 관련된 ASF 파일 헤더가 없는 경우에 사용될 수 있다.
아래 표 IV는 세션 기술 메시지에서 포함될 수 있는 여러 확장의 요약이다. 특정 실시예에서, 이들 확장 각각은 세션 기술의 속성 필드를 사용하여 추가된다. 표 IV 이후에 이들 확장에 대한 설명은, 이들 확장이 통상 세션 레벨 기술(182) 또는 미디어 레벨 기술(184)에서 통상 발견되지만 이들 확장은 다르게는 세션 레벨 기술(182) 또는 미디어 레벨 기술(184)에서 위치할 수도 있다.
명칭 설명
상호 배타성 미디어 스트림이 상호 배타적인지를 규정
마커 미디어 스트림(들)에 대한 사용자 친화 인덱스
스크립트 명령 디스플레이되어야 하는 텍스트 또는 미디어 스트림(들)의 재생 동안 특정 시간에 디스플레이되어야 하는 웹 페이지의 식별자를 규정
누설 버킷 일정한 비트 레이트에서 가변 비트 레이트 컨텐츠를 재생하는 경우, 얼마나 많은 미디어 스트림을 클라이언트가 버퍼하여야 하는지를 규정
캐싱 정보 스트림이 캐시될 수 있는지, 스트림이 신규의 것으로 간주되는 기간 등과 같은 미디어 스트림(들)의 캐싱에 대한 정보를 규정
RTP 캡슐화 RTP 상으로 전송된 데이터에 대한 광범위한 코덱에 걸쳐 통상 코덱 초기화 매개변수를 규정
대역폭 공유 대역폭을 고유하는 스트림을 규정하여 특정 스트림 세트의 최대 밴드폭이 개별 스트림의 최대 대역폭의 합보다 작게 함
스트림 우선순위 지정 어느 스트림이 다른 스트림보다 우선한지를 규정(예를 들면, 어느 스트림이 네트워크 정체현상의 경우에 드롭되어야 또는 드롭되지 않아야 하는지.)
표 IV의 요약에 포함되는 각각의 확장은 이하에서 더욱 상세히 설명한다. 다양한 확장에 대하여 다양한 예시 구문을 이하에서 설명한다. 이들은 단지 예시로서, 다른 구분이 또한 사용될 수 있음을 이해해야 한다. 예를 들면, 매개변수 또는 매개변수의 순서는 변경될 수 있다. 다른 예로서, 특정 속성의 명칭이 변경될 수 있다(예를 들면, 후술하는 상호 배타성 속성에 대한 명칭은 "a=group" 이외의 것으로 변경될 수 있다.
본 명세서에서는 특정 미디어 스트림의 식별에 대한 참조가 행해짐이 인식되어야 한다. 이들 식별은 상이한 시점에서 행해질 수 있다. 특정 실시예에서, 미디어 스트림의 식별자는 미디어 스트림이 인코딩된 경우에(예를 들면, 라이브 브로드캐스트) 또는 미디어 스트림이 저장된 경우(예를 들면, ASF 파일로서) 작성자 또는 설계자에 의해(또는 다르게는 자동적으로) 생성된다. 다른 실시예에서, 미디어 스트림의 식별자는 서버 장치로부터의 멀티미디어 프리젠테이션(또는 단일 미디어 프리젠테이션)의 스트리밍이 개시한 경우에 생성된다.
식별자 자신은 임의의 다양한 방식으로 생성될 수 있다. 특정 실시예에서, 식별자들은 RTP 세션의 식별자이다. 이들 실시예에서, 개별 미디어 스트림은 네트워크 작업 그룹 사양서(RFC) 3550 (2003년 7월)에서 설명된 바와 같은 실시간 전송 프로토콜(RTP)를 사용하여 서버 장치로부터 클라이언트 장치에 스트리밍된다. RTP는, 오디오, 비디오 또는 시뮬레이션 데이터와 같은 실시간 데이터를 멀티캐스트 또는 유니캐스트 네트워크 서비스를 통해 말단간 네트워크 전송 기능을 제공한다. 각 미디어 스트림은 상이한 RTP 세션을 통해 스트리밍된다. 이들 RTP 세션은 세션 기술 프로토콜(SDP) 네트워크 작업 그룹 사양서(RFC) 3388 (2002년 12월)에서 미디어 라인의 그룹에 설명된 바와 같이 "a=mid:"를 사용하는 등 상이한 방식으로 할당된 번호일 수 있다. 다른 실시예에서, RTP 세션은 "a=stream:" 속성 또는 일부 다른 속성을 사용함으로써 상이한 방식으로 할당된 번호일 수 있다. 다르게는, 식별자는 ASF 파일 헤더에서 할당된 바와 같이, ASF 스트림 ID와 동일한 식별자를 단순 사용함으로써 생성될 수 있다.
상호 배타성
상호 배타성 확장은 미디어 스트림이 상호 배타적인지를 규정한다. 특정 구현예에서, 스트림은 비트 레이트 및 언어에 따라 상호 배타적이다. 예를 들면, 멀티미디어 프리젠테이션은 상이한 비트 레이트에서 인코딩되는 동일한 컨텐츠(예를 들면, 오디오 또는 비디오)의 여러 스트림을 가질 수 있다. 이들 스트림 중 원하는 비트 레이트를 갖는 단지 하나만이 한 번에 클라이언트 장치로의 스트리밍을 위해 선택되어야 한다. 다른 예로서, 멀티미디어 프리젠테이션은 상이한 언어로 된 동일 컨텐츠(예를 들면, 오디오)의 여러 스트림을 가질 수 있다. 이들 스트림 중 원하는 언어로 된 단지 하나 만이 한번에 클라이언트 장치로의 스트리밍을 위해 선택되어야 한다.
특정 실시예에서, 상호 배타성 확장에 대한 매개변수는 멀티미디어 프리젠테이션에 관련된 ASF 파일 헤더에 비트레이트 상보 배타 객체 또는 개선된 상호 배타 객체를 액세스함으로써 획득된다. ASF 파일 헤더에서 식별된 매개변수는 검색되어 상호 배타성 확장의 매개변수로서 사용된다. ASF 파일 헤더에서 다수의 비트레이트 상호 배타 객체 및/또는 개선된 상호 배타 객체가 있는 경우, 개별 상호 배타 확장이 이들 다수의 비트레이트 상호 배타 객체 및/또는 개선된 상호 배타 객체 각각에 대한 세션 기술 메시지에 포함된다.
상호 배타성 확장은 "a=group" 속성을 사용하여 세션 레벨 기술에 포함된다. "a=group" 속성에 대한 구문은 다음과 같이 정의한다:
a=group:ExclusionType StreamNumbers
ExclusionType 매개변수는 상호 배타성의 유형을 나타내도록 상이한 값으로 설정될 수 있다. 예를 들면, ExclusionType 매개변수는 "MBR"로 설정되어 스트림이 비트 레이트에 따라 상호 배타적임을 나타낼 수 있지만, "LANG"으로 설정되어 스트림이 언어에 따라 상호 배타적임을 나타낼 수도 있다. 특정 실시예에서, ASF 파일 헤더 내의 정보에 대한 상호 배타성 확장에 기초하는 경우, ASF 파일 헤더의 비트레이트 상호 배타 객체 또는 개선된 상호 배타 객체에서 "배타 유형" GUID의 값이 ASF_Mutex_Language인 경우, ExclusionType 매개변수는 "LANG"으로 설정되고, ASF 파일 헤더의 비트레이트 상호 배타 객체 또는 개선된 상호 배타 객체에서 "배타 유형" GUID의 값이 ASF_Mutex_Bitrate인 경우, ExclusionType 매개변수는 "MBR"로 설정된다.
StreamNumbers 매개변수는 상호 배타가 적용되는 스트림 리스트를 포함한다. 이들 스트림은 예를 들면 RTP 세션에 의해 식별된다. 특정 실시예에서, ASF 파일 헤더 내의 정보에 대한 상호 배타성 확장에 기초하는 경우, ASF 파일의 비트레이트 상호 배타 객체 또는 개선된 상호 배타 객체의 "스트림 번호"에서의 각 스트림에 있어서, 대응하는 RTP 세션에 할당된 번호는 StreamNumbers 매개변수 내의 스트림 리스트에 추가된다.
마커(Marker)
마커 확장은 멀티미디어 스트림(들)으로의 사용자 친화 인덱스를 규정한다. 이들 사용자 친화 인덱스는 인가 판독자에 의해 용이하게 이해되도록 하기 위한 것이다. 마커 확장은 "a=marker" 속성을 사용하여 세션 레벨 기술에서 포함된다.
몇몇 실시예에서, 마커 확장에 대한 매개변수는 멀티미디어 프리젠테이션에 관련된 ASF 파일 헤더에서 마커 객체를 액세스함으로써 획득된다. ASF 파일 헤더 내에 식별된 매개변수는 마커 확장의 매개변수로서 검색 및 사용된다. ASF 파일 헤더 내에 다수의 마커가 있는 경우, 단일 마커 확장은 다수의 마커 모두를 식별하는데 사용될 수 있다. 다르게는, 개별 마커 확장이 이들 다수의 마커 각각에 대한 세션 기술 메시지에 포함될 수 있다.
"a=marker" 속성에 대한 구문은 다음과 같이 정의한다:
a=marker:name time;desc
name 매개변수는 마커 확장에 의해 규정된 마커의 명칭을 규정한다. 특정 실시예에서, ASF 파일 헤더 내의 정보에 대한 마커 확장에 기초하는 경우, ASF 파일 헤더의 마커 객체에서 "Name"의 값은 UTF-8 인코딩되고 마커 확장에서 name 매개변수의 값으로서 사용된다.
time 매개변수는 마커의 프리젠테이션 시간을 규정한다. 특정 실시예에서, ASF 파일 헤더 내의 정봉에 대한 마커 확장에 기초하는 경우, ASF 파일 헤더의 마커 객체에서 "프리젠테이션 시간"의 값은 마커 확장에서 time 매개변수의 값으로서 사용된다. 특정 구현예에서, ASF 파일 헤더는 멀티미디어 프리젠테이션을 실행 개시하기 전에 데이터를 버퍼링할 시간량을 규정하는 경우(예를 들면, 파일 속성 객체의 "프리롤(Preroll)" 필드에서), 이러한 규정된 시간량은 ASF 파일 헤더의 마커 객체에서 "프리젠테이션 시간"의 값에서 감산되고, 결과적인 차이점은 마커 확장에서 time 매개변수의 값으로서 사용된다.
desc 매개변수는 사용자에게 마커로서 제시되어야 하는 사용자 친화 인덱스를 규정한다. 특정 실시예에서, ASF 파일 헤더 내의 정보에 대한 마커 확장에 기초하는 경우, ASF 파일 헤더의 마커 객체에서 "마커 기술(Marker Description)"의 값은 UTF-8 인코딩되고 마커 확장 내의 desc 매개변수의 값으로서 사용된다.
"a=marker" 속성은 선택적으로 여러 마커에 대하여 time 및 desc 매개변수를 포함할 수 있다. 각 매개변수 쌍은 스페이스 문자(또는 다르게는 콤마, 콜론, 마침표 등의 일부 다른 문자 등)에 의해 이전 매개변수 쌍과 분리된다.
스크립트 명령
스크립트 명령 확장은 미디어 스트림(들)의 재생 동안 특정 시점에서 디스플레이되어야 하는 텍스트(또는 다른 데이터)를 규정하고, 또는 미디어 스트림(들)의 재생 동안 특정 시점에서 디스플레이되어야 하는 웹 페이지의 식별자(예를 들면, 웹 브라우저 내에서)를 규정한다. 이 스크립트 명령 확장은 "a=script" 속성을 사용하여 세션 레벨 기술에 포함된다.
특정 실시예에서, 스크립트 명령 확장에 대한 매개변수는 멀티미디어 프리젠테이션에 관련된 ASF 파일 헤더에서 스크립트 명령 객체를 액세스함으로써 획득된다. ASF 파일 헤더에서 식별된 매개변수는 검색되어 스크립트 명령 확장의 매개변수로서 사용된다. ASF 파일 헤더 내에 다수의 명령이 있는 경우, 단일 스크립트 명령 확장은 다수의 명령 모두를 식별하는데 사용될 수 있다. 다르게는, 개별 스크립트 명령 확장은 이들 다수의 명령 각각에 대한 세션 기술 메시지에 포함될 수 있다.
"a=script" 속성에 대한 구문은 다음과 같은 정의한다:
a=script:type time; command
type 유형은 스크립트 명령 확장에 의해 규정되는 명령 유형의 명칭을 규정한다. 특정 실시예에서, ASF 파일 헤더 내의 정보에 대한 스크립트 명령 확장에 기초한 경우, ASF 파일 헤더의 스크립트 명령 객체의 "명령 유형 명칭"의 값은 UTF-8 인코딩되고 스크립트 명령 확장에서 type 매개변수의 값으로서 사용된다. ASF 파일 헤더 내의 스크립트 명령 객체가 다수의 "명령 유형 필드"를 포함할 수 있는 경우, 개별 스크립트 명령 확장이 이러한 각 필드에 대하여 사용된다.
time 매개변수는 명령의 프리젠테이션 시간을 규정한다. 특정 실시예에서, ASF 파일 헤더 내의 정보에 대한 스크립트 명령 확장에 기초한 경우, ASF 파일 헤더의 스크립트 명령 객체에서 "프리젠테이션 시간"의 값은 스크립트 명령 확장에서 time 매개변수의 값으로서 사용된다. 특정 구현예에서, ASF 파일 헤더가 멀티미디어 프리젠테이션을 실행 개시하기 전에 데이터를 버퍼링할 시간량을 규정하는 경우(예를 들면, 파일 속성 객체의 "프리롤" 필드에서), 규정된 시간량은 ASF 파일 헤더의 스크립트 명령 객체에서 "프리젠테이션 시간"의 값에서 감산되며, 결과적인 차이는 스크립트 명령 확장의 time 매개변수의 값으로서 사용된다.
command 매개변수는 디스플레이되어야 하는 텍스트(또는 다른 데이터) 또는 디스플레이해야 하는 웹 페이지(들)의 식별자(예를 들면, 웹 브라우저 내에서)를 규정한다. 특정 실시예에서, ASF 파일 헤더 내의 정보에 대한 스크립트 명령 확장에 기초하는 경우, ASF 파일 헤더의 스크립트 명령 객체에서 "명령 명칭"의 값은 UTF-8 인코딩되고 스크립트 명령 확장에서 command 매개변수의 값으로서 사용된다.
"a=script" 속성은 다수의 스크립트 명령에 대한 time 및 command 매개변수를 선택적으로 포함할 수 있다. 각 매개변수 쌍은 스페이스 문자(또는 다르게는 콤마, 콜론, 마침표 등의 일부 다른 문자 등)에 의해 이전 매개변수 쌍과 분리된다.
누설 버킷(Leaky Bucket)
누설 버킷 확장은, 가변 비트레이트 컨텐츠를 일정 비트 레이트에서 재생하는 경우에, 얼마나 많은 미디어 스트림(들)의 데이터를 클라이언트가 버퍼링하여야 하는지를 규정한다. 누설 버킷은 일정한 양의 누설 속도로 비우게 되는 버퍼를 나타내며, 이 속도로 비트는 불규칙한 시점과 양으로 덤프될 수 있다. 누설 버킷은 이의 누설 속도(예를 들면, 초당 비트)와 이의 크기 또는 용량(예를 들면, 비트로)에 의해 규정된다. 누설 버킷 확장은 "a=bucketinfo" 속성을 사용하여 세션 레벨 기술에 포함된다.
특정 실시예에서, 누설 버킷 확장에 대한 매개변수는 멀티미디어 프리젠테이션에 관련된 ASF 파일 헤더에서 확장 컨텐츠 기술 객체를 액세스함으로써 획득된다. 확장 컨텐츠 기술 객체는 "ASFLeakyBucketPairs"로 명명된 명칭-값 쌍을 포함한다. "ASFLeakyBucketPairs" 명칭-값 쌍의 값은 누설 버킷 정보로서, 이는 누설 버킷 확장에 대한 매개변수로서 사용된다. 다르게는, 누설 버킷 확장에 대한 매개변수는 확장 스트림 기술 객체와 같은 ASF 파일 헤더 내의 다른 곳으로부터의 것일 수 있다. "ASFLeakyBucketPairs" 명칭-값 쌍을 갖는 다수의 이러한 컨텐츠 기술 객체(및/또는 확장 컨텐츠 기술 객체 내에서 다수의 이러한 "ASFLeakyBucketPairs" 명칭-값 쌍)가 있는 경우, 단일 누설 버킷 확장은 다수의 "ASFLeakyBucketPairs" 명칭-값 쌍 모두를 식별하는데 사용될 수 있다. 다르게는, 개별 누설 버킷 확장은 다수의 확장 컨텐츠 기술 객체 또는 다수의 "ASFLeakyBucketPairs" 명칭-값 쌍 각각에 대한 세션 기술 메시지에 포함될 수 있다.
"a=bucketinfo" 속성에 대한 구문은 다음과 같이 정의한다:
a=bucketinfo:R1;B1 R2;B2
R1 매개변수는 제1 누설 버킷에 대한 비트 레이트(누설 속도)를 규정하고, B1 매개변수는 제1 누설 버킷의 크기(예를 들면, 밀리초로)를 규정한다. R2 매개변수는 제2 누설 버킷에 대한 비트 레이트(누설 속도)를 규정하고, B2 매개변수는 제2 누설 버킷의 크기를 규정한다. 단지 두 개의 누설 버킷이 구문 정의에서 나타나지만, "a=bucketinfo" 속성은 누설 버킷의 무한 개수(x)에 대하여 Rx;Bx 매개변수 쌍을 제공할 수 있다. 각 매개변수 쌍은 스페이스 문자(또는 다르게는 콤마, 콜론, 마침표 등의 일부 다른 문자 등)에 의해 이전 매개변수 쌍과 분리된다.
특정 실시예에서, ASF 파일 헤더 내의 정보에 대한 누설 버킷 확장에 기초하는 경우, ASF 헤더 파일의 확장 컨텐츠 기술 객체 내에서 "ASFLeakyBucketPairs" 명칭-값 쌍의 값은 누설 버킷 확장에서 R 및 B 매개변수의 값으로서 사용된다. "기술자 값(Descriptor Value)"의 제1 부분(예를 들면, 처음 4 바이트)은 버킷에 대한 비트 레이트(R 매개변수)를 규정하지만, 기술자 값(Descriptor Value)"의 제2 부분(예를 들면, 두번째 4 바이트)은 버킷에 대한 크기(B 매개변수)를 규정한다.
캐싱 정보
캐싱 정보 확장은 스트림(들)이 캐시될 수 있는지, 얼마나 오랫동안 스트림(들)이 신규의 것으로 고려되는지 등과 같은 미디어 스트림(들)의 캐싱에 대한 정보를 규정한다. 특정 실시예에서, 캐싱 정보는 서버 장치(예를 들면, 서버 장치(104)에 의해 구현되는 캐싱 정책에 기초하여 결정된다. 캐싱 정보는 "a=cachectrl" 속성을 사용하여 세션 레벨 기술에 포함된다.
"a=cachectrl" 속성의 구문은 다음과 같다:
a=cachectrl:Rigths
Rights 매개변수는 하나 이상의 지시어로서, 스페이스 문자(또는 다르게는 콤마, 마침표, 세미콜론, 콜론 등과 같은 일부 다른 문자)에 의해 분리된다. 지시어는 명칭-값 쌍일 수 있으며, 여기서 명칭과 값은 "=" 문자(또는 다르게는 일부 다른 문자)로 분리되거나, "값"이 없는 단일 "명칭"이다.
상이한 지시어가 Rights 매개변수에 포함될 수 있다. 특정 실시예에서, 이들 지시어는 캐시없음(no-cache) 지시어, 분할없음(no-splitting) 지시어 및 만료 지시어를 포함한다.
캐시없음 지시어는 "캐시없음"으로 정의되며 클라이언트 장치뿐만 아니라 서버와 클라이언트 장치 간의 중간 장치에 이 장치가 추후 재생을 위해 미디어 스트림(들)을 캐시할 수 없음을 나타낸다.
분할없음 지시어는 "분할없음"으로 정의되며, 클라이언트 장치뿐만 아니라 서버와 클라이언트 장치 간의 중간 장치에, 이 장치가 컨텐츠를 재방송하거나 재분배할 수 없음을 나타낸다. 스트리밍 미디어 컨텐츠의 분할은 동일한 컨텐츠가 다수의 클라이언트에 통신하고 있음을 의미한다. 분할없음 지시어는 이러한 분할이 허용되지 않음을 나타낸다.
"a=cachectrl" 속성은 또한 만료 지시어를 포함할 수 있으며, 이는 다음과 같이 정의되는 명칭-값 쌍이다:
expiration=Timeout
Timeout 매개변수는 미디어 스트림(들)의 캐시 복사본이 구식(stale; 더 이상 신규한 것이 아님)으로 간주되는 때를 규정한다. Timeout 매개변수는 캐시된 복사본이 구식으로 간주될 때까지 시구간(예를 들면, 수초, 수분, 수일 등)을 규정할 수 있으며, 또는 다르게는, 캐시 복사본이 구식이 될 때까지 특정 날짜 및/또는 시간(예를 들면, 2004년 4월 15일 오후 3시)을 규정할 수 있다. 특정 실시예에서, 캐시 복사본을 갖는 장치는 구식 미디어 스트림(들)을 사용할 수 없게 된다. 다른 실시예에서, 장치는 미디어 스트림(들)의 구식 캐시 복사본을 사용할 수 있지만, 이 장치는 새로운 버전의 미디어 스트림(들)이 이용가능한 지를 판정하여, 가능한 경우 새로운 버전을 그 대신 사용하여야 한다.
만료 지시어가 포함되지 않은 경우, 미디어 스트림(들)은 구식이 되지 않는다. "a=cachectrl" 속성이 포함되지 않은 경우, 미디어 스트림(들)의 캐싱 및 분할이 허용되며, 캐싱된 컨텐츠는 구식이 되지 않는다.
RTP 캡슐화
RTP 캡슐화 확장은 RTP 상으로 전송된 데이터에 대한 광범위한 코덱을 통상 걸쳐 코덱 초기화 매개변수를 규정한다. 다양하고 상이한 코덱은 RTP를 구비하여 사용될 수 있으며, 이들 상이한 코덱은 종종 그들 자신의 캡슐화 방식과 그들 자신의 초기화 매개변수를 갖는다. RTP 캡슐화 확장은 동일 구문(RTP 캡슐화 확장)이 다양하고 상이한 코덱의 속성을 기술할 수 있게 함으로써, 많은 상이한 구문이 많은 상이한 코덱을 기술할 필요성을 경감한다. RTP 캡슐화 확장은 "a=fmtp" 속성을 사용하여 미디어 레벨 기술에서 포함된다.
a=fmtp:pt MIME config=config-info
pt 매개변수는, RTP 페이로드 포맷 또는 유형을 식별하는 RTP 페이로드 유형 번호이다. 특정 구현예에서, 0 내지 127 사이의 임의의 번호가 유효하다.
MIME 매개변수는 미디어 스트림에서 사용되는 코덱의 식별자이다. 특정 실시예에서, MIME 매개변수는 "WAVE and AVI Codec Registries" 네트워크 작업 그룹 사양서(RFC) 2361 (1998년 6월)에서의 규칙에 따라 형성된 MIME(다목적 인터넷 메일 확장)이다. 다른 실시예에서, MIME 매개변수는 다음 형태를 취할 수 있다:
application/vnd.asf;codec=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
여기서 매개변수 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx는 코덱의 식별자에 의해 대체된다. 특정 구현예에서, 이 식별자는 ASF 파일로부터의 코덱 GUID이다. 식별자는, 예를 들면, ASF 파일 내의 스트림 속성 객체로부터 미디어 유형 GUID, 또는 ASF 파일 내의 스트림 속성 객체의 유형 고유(Type-Specific) 데이터 선택으로서 ASF 파일에 저장될 수 있다.
config=config-info 매개변수는 코덱 초기화 데이터를 식별하며, 여기서, config-info는 일련의 서브 매개변수로 대체된다. 특정 구현예에서, 서브 매개변수는 Base64 인코딩된다. 이들 서브 매개변수는 "/" 문자, 또는 다르게는 다른 문자(예를 들면, 마침표, 콤마, 콜론, 세미콜론 등)으로 구분된다. config-info의 구문은 다음과 같다:
MajorType/FixedSizeSamples/TemporalCompression/SampleSize/FormatType/FormatData
MajorType 서브 매개변수는 미디어 스트림의 유형을 식별하는 식별자(예를 들면, GUID(전역 고유 ID)). 특정 구현예에서, 유효값은 오디오 스트림에 대하여 "73647561-0000-0010-8000-00AA00389B71"을 비디오 스트림에 대하여 "73646976-0000-0010-8000-00AA00389B71"을 포함한다.
FixedSizeSamples 서브 매개변수는 코덱이 고정 크기 샘플(패킷)을 사용할 지를 나타낸다. 특정 구현예에서, FixedSizeSamples 서브 매개변수는 코덱이 고정 크기 미디어 샘플(패킷)을 사용하는 경우에는 "1"이고, 다른 경우에는 "0"이다. 예를 들면, 통상 이 필드는 오디오 및 비압축 비디오에 대해서는 "1"일 수 있지만, 압축 비디오에서는 "0"이다.
TemporalCompression 서브 매개변수는 스트림이 시간 압축을 사용하는지를 나타낸다. 특정 구현예에서, TemporalCompression 서브 매개변수는 스트림이 시간 압축을 사용하는 경우에는 "1"이며, 이는 모든 미디어 샘플이 "키 프레임"인 것이 아님을 의미한다. 다른 경우에는, 이는 "0"으로 설정된다. 이 필드는, 이러한 스트림이 키 프레임이 아닌 미디어 샘플을 가질 수 있기 때문에, 압축 비디오의 많은 유형에 대하여 "1"로 설정될 수 있다.
SampleSize 서브 매개변수는 코덱이 고정 크기 샘플(패킷)을 사용하는 경우에 미디어 샘플의 크기를 나타낸다. 특정 구현예에서, SampleSize 서브 매개변수는 FixedSizeSamples가 "1"인 경우에 미디어 샘플의 크기를 제공하는 십진수이다. SampleSize 서브 매개변수는 "0"으로 설정될 수 있으며, FixedSizeSamples이 "0"으로 설정되는 경우에는 무시되어야 한다.
FormatType 서브 매개변수는 FormatData 서브 매개변수의 포맷을 식별하는 식별자(예를 들면, GUID)이다. FormatData 서브 매개변수는 FormatType 서브 매개변수에 의해 식별된 코덱 초기화 데이터이다. 코덱의 속성을 기술하는 다양하고 상이한 구조 중 임의의 것이 FormatData 서브 매개변수에 대하여 사용될 수 있다. 예를 들면, 오디오 스트림에 대한 코덱의 속성을 기술하는 데이터 구조는 오디오 샘플 레이트와 비트당 샘플의 개수에 대한 정보를 포함할 수 있다. 다른 예로서, 비디오 스트림에 대한 코덱의 속성을 기술하는 데이터 구조는 비디오 정보의 폭 및 높이(예를 들면, 화소)에 대한 정보뿐만 아니라 화소 종횡비에 대한 정보를 포함할 수 있다. 특정 구현예에서, 코덱 초기화 데이터에서의 각 바이트는 SDP에서 두 개의 16진수로서 표현된다. 다르게는, Base64 인코딩과 같은 다른 표현이 사용될 수 있다.
대역폭 공유
대역폭 공유 확장은 일련의 규정된 스트림의 최대 대역폭이 개별 규정 스트림의 최대 대역폭의 합보다 적도록 대역폭을 공유하는 스트림을 규정한다. 대역폭 공유는 "a=bwshare" 속성을 사용하여 세션 레벨 기술에서 포함된다.
특정 실시예에서, 대역폭 공유 확장에 대한 매개변수는 멀티미디어 프리젠테이션에 관련된 ASF 파일 헤더 내의 대역폭 공유 객체를 액세스함으로써 획득된다. ASF 파일 헤더에서 식별된 매개변수는 검색되어 대역폭 공유 확장의 매개변수로서 사용된다. ASF 파일 헤더에서 다수의 대역폭 공유 객체가 있는 경우, 개별 대역폭 공유 확장은 이들 다수의 대역폭 공유 객체 각각에 대하여 세션 기술 메시지에 포함된다.
"a=bwshare" 속성에 대한 구문은 다음과 같이 정의한다:
a=bwshare:SharingType R B SessionList
SharingType 매개변수는 공유 유형을 나타내도록 상이한 값으로 설정될 수 있다. 예를 들면, SharingType 매개변수는 "PART"로 설정되어 임의의 주어진 시저에서 규정된 스트림의 임의의 개수가 스트리밍 데이터임을 나타낼 수 있지만, 규정된 스트림 중 단지 하나만이 임의의 주어진 시점에서 스트리밍 데이터인 경우에는 "EXCL"로 설정될 수 있다. 특정 실시예에서, ASF 파일 헤더 내의 정보에 대한 대역폭 공유 확장에 기초하는 경우에는, ASF 파일 헤더의 대역폭 공유 객체에서 "Sharing Type"의 값이 ASF_Bandwidth_Sharing_Partial이면, SharingType 매개변수는 "PART"로 설정되고, ASF 파일 헤더의 대역폭 공유 객체에서 "공유 유형" GUID의 값이 ASF_Bandwidth_Sharing_Exclusive인 경우에는, SharingType 매개변수는 "EXCL"로 설정된다.
R 매개변수는 오버플로우 없이 모든 스트림의 데이터 부분을 포함하는 누설 버킷의 누설 속도(예를 들면, 초당 비트 단위)를 규정한다. 누설 버킷의 크기는 B 매개변수로 규정된다. 특정 실시예에서, ASF 파일 헤더 내의 정보에 대한 대역폭 공유 확장에 기초하는 경우, R 매개변수는 십진수로 표현되는, ASF 파일 헤더 내의 "데이터 비트레이트"의 값이다.
B 매개변수는 누설 버킷의 크기(예를 들면, 밀리초)를 규정한다. 특정 실시예에서, ASF 파일 헤더 내의 정보에 대한 대역폭 공유 확장에 기초하는 경우, B 매개변수는, 십진수로 표현되는, ASF 파일 헤더 내의 "버퍼 크기" 필드의 값이다.
SessionList 매개변수는 스페이스 문자로 분리되는 하나 이상의 십진수로 이루어진다. 각 숫자는 "a=bwshare" 속성으로 표현되는 대역폭 공유 관계에 의해 커버되는 규정된 스트림 중 하나를 식별한다. 스트림은 이들의 RTP 세션 번호에 의해 식별된다.
스트림 우선순위 지정(Stream Prioritization)
스트림 우선순위 지정 확장은 멀티미디어 프리젠테이션에서의 어느 스트림이 다른 스트림보다 우선권을 갖는지를 규정한다. 이러한 우선순위 지정은, 예를 들면, 어느 스트림이 네트워크 정체현상의 경우에 드롭되어야 하는지 또는 드롭되지 않아야 하는지를 식별하는데 사용될 수 있다.
스트림 우선순위 지정 확장은 "a=prio" 속성을 사용하여 세션 레벨 기술에서 포함된다. "a=prio" 속성은 가장 높은 우선권의 RTP 세션이 맨 처음에 열거되도록 우선순위대로 각 RTP 세션을 열거한다. "a=prio" 속성은 RTP 세션의 식별자인 매개변수 리스트를 포함한다.
특정 RTP 세션은 필수적인 것으로서 식별될 수 있으며, 이는 이들 특정 세션이 네트워크 정체 현상에 응답하여 드롭되는 것으로 예측되지 않음을 나타낸다. 필수 RTP 세션은 RTP 세션 번호 후의 문자 'm'를 첨부함으로써 "a=prio" 속성에 나타낸다.
다음 예는 "a=prio" 속성의 구문을 나타낸다.
a=prio:1m 2m 3
이 예에서, RTP 세션 1과 2는 필수적이다. RTP 세션 3은 다른 세션보다 낮은 우선권을 가지며, 네트워크 정체현상의 경우에 드롭될 수 있다.
특정 실시예에서, 스트림 우선순위는 멀티미디어 프리젠테이션에 관련된 ASF 파일 헤더에서 스트림 우선순위 지정 객체를 액세스함으로써 획득된다. ASF 파일 헤더 내에서 식별된 스트림은 RTP 세션에 대응하고, ASF 파일 헤더 내에서 식별된 스트림 우선순위는 대응하는 RTP 세션에 대한 우선순위로서 사용된다. "필수 플래그"가 특정 ASF 스트림에 대하여 설정된 경우, 대응하는 RTP 세션이 또한 필수적인 것으로 간주된다.
이하 도 5를 참조하면, 도 5는 여기서 설명하는 기술을 구현하는데 사용될 수 있는 통상의 컴퓨터 환경(300)을 나타낸다. 컴퓨터 환경(300)은 컴퓨팅 환경의 단지 일 예로서 컴퓨터 및 네트워크 아키텍처의 사용 또는 기능의 범위에 대한 임의의 제한을 암시하려는 것이 아니다. 또한, 컴퓨터 환경(300)은 예시적인 컴퓨터 환경(300)에서 나타낸 컴포넌트 중 임의의 하나 또는 조합에 관한 임의의 의존성 또는 요건을 갖는 것으로서 해석되어서는 안된다.
컴퓨터 환경(300)은 컴퓨터(302)의 형태인 범용 컴퓨팅 장치를 포함한다. 컴퓨터(302)는 예를 들면 도 1 및 도 2의 클라이언트 장치(102) 또는 서버 장치(104)일 수 있다. 컴퓨터(302)는 또한 멀티미디어 프리젠테이션의 소스인 인코더 장치일 수 있다. 컴퓨터(302)의 컴포넌트는 하나 이상의 프로세서 또는 처리부(304), 시스템 메모리(306), 및 프로세서(304) 등의 다양한 시스템 컴포넌트를 시스템 메모리(306)에 결합하는 시스템 버스(308)를 포함하지만 이에 한정되는 것은 아니다.
시스템 버스(308)는 메모리 버스 또는 메모리 컨트롤러, 주변 버스, 가속 그래픽 포트, 및 다양한 버스 아키텍처 중 임의의 것을 사용하는 프로세서 또는 로컬 버스를 포함하는, 임의의 여러 유형의 버스 구조 중 하나 이상을 나타낸다. 예를 들면, 이러한 아키텍처는 산업 표준 아키텍처(ISA) 버스, 마이크로 채널 아키텍처(MCA) 버스, 개선된 ISA(EISA) 버스, 비디오 전자 표준 협회(VESA) 로컬 버스, 및 메자닌 버스(Mezzanine bus)로도 알려진 주변 컴포넌트 직접접속(PCI)을 포함할 수 있다.
컴퓨터(302)는 통상 다양한 컴퓨터 판독가능 매체를 포함한다. 이러한 매체는 컴퓨터(302)에 의해 액세스가능한 임의의 입수가능 매체일 수 있으며, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 포함한다.
시스템 메모리(306)는 랜덤 액세스 메모리(RAM; 310)와 같은 휘발성 메모리, 및/또는 판독 전용 메모리(ROM; 312)와 같은 비휘발성 메모리 형태의 컴퓨터 판독가능 매체를 포함한다. 시동 동안과 같이 컴퓨터(302) 내의 요소들 간의 정보 전송을 지원하는 기본 루틴을 포함하는 기본 입출력 시스템(BIOS; 314)이 ROM(312)에 저장된다. RAM(310)은 통상 처리부(304)에 의해 즉시 액세스가능하고 및/또는 현재 동작되는 데이터 및/또는 프로그램 모듈을 포함한다.
컴퓨터(302)는 다른 분리형/비분리형, 휘발성/비휘발성 컴퓨터 저장 매체를 포함할 수 있다. 예를 들면, 도 5는 비분리형, 비휘발성 자기 매체(미도시)로부터 판독하고 이에 기입하기 위한 하드 디스크 드라이브(316), 분리형, 비휘발성 자기 디스크(320; 예를 들면, "플로피 디스크")로부터 판독하고 이에 기입하기 위한 자기 디스크 드라이브(318), 및 CD-ROM, DVD-ROM, 또는 다른 광 매체와 같은 분리형, 비휘발성 광 디스크(324)로부터 판독하고 및/또는 이에 기입하기 위한 광 디스크 드라이브(322)를 나타낸다. 하드 디스크 드라이브(316), 자기 디스크 드라이브(318), 및 광 디스크 드라이브(322)는 각각 하나 이상의 데이터 미디어 인터페이스(326)에 의해 시스템 버스(308)에 접속된다. 다르게는, 하드 디스크 드라이브(316), 자기 디스크 드라이브(318), 및 광 디스크 드라이브(322)는 하나 이상의 인터페이스(미도시)에 의해 시스템 버스(308)에 접속될 수 있다.
디스크 드라이브와 이들의 관련 컴퓨터 판독가능 매체는 컴퓨터 판독가능 명령, 데이터 구조, 프로그램 모듈 및 컴퓨터(302)에 대한 다른 데이터의 비휘발성 스토리지를 제공한다. 이 예는 하드 디스크(316), 분리형 자기 디스크(320), 및 분리형 광 디스크(324)를 나타내지만, 자기 카세트, 또는 다른 자기 저장 장치, 플래시 메모리 카드, CD-ROM, 디지털 다기능 디스크(DVD) 또는 다른 광 스토리지, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 전기적 소거가능 프로그래머블 판독 전용 메모리(EEPROM) 등과 같이 컴퓨터에 의해 액세스가능한 데이터를 저장할 수 있는 다른 유형의 컴퓨터 판독가능 매체가 예시적인 컴퓨터 시스템 및 환경을 구현하는데 사용될 수 있음이 이해되어야 한다.
예를 들면, 운영 체계(326), 하나 이상의 애플리케이션 프로그램(328), 다른 프로그램 모듈(330) 및 프로그램 데이터(332)를 포함하는 임의 개수의 프로그램 모듈이 하드 디스크(316), 자기 디스크(320), 광 디스크(324), ROM(312), 및/또는 RAM(310)에 저장될 수 있다. 이러한 운영 체계(326), 하나 이상의 애플리케이션 프로그램(328), 다른 프로그램 모듈(330), 및 프로그램 데이터(332; 또는 이의 일부 조합) 각각은 분산 파일 시스템을 지원하는 상주 컴포넌트의 전부 또는 일부를 구현할 수 있다.
사용자는 키보드(334)와 포인팅 장치(336; 예를 들면, "마우스")와 같은 입력 장치를 통해 컴퓨터(302)에 명령과 정보를 입력할 수 있다. 다른 입력 장치(338; 구체적으로는 도시하지 않음)는 마이크로폰, 조이스틱, 게임 패드, 위성 접시, 직렬 포트, 스캐너 등을 포함할 수 있다. 이들 및 다른 입력 장치는 시스템 버스(308)에 결합된 입출력 인터페이스(340)를 통해 처리부(304)에 접속되지만, 병렬 포트, 게임 포트, 또는 범용 직렬 버스(USB)와 같은 다른 인터페이스 및 버스 구조에 의해 접속될 수도 있다.
모니터(342) 또는 다른 유형의 디스플레이 장치는 또한 비디오 어댑터(344)와 같은 인터페이스를 통해 시스템 버스(308)에 접속될 수 있다. 모니터(342)에 더하여, 다른 출력 주변 장치는 입출력 인터페이스(340)를 통해 컴퓨터(302)에 접속될 수 있는 스피커(미도시) 및 프린터(346)와 같은 컴포넌트를 포함할 수 있다.
컴퓨터(302)는 원격 컴퓨팅 장치(348)와 같은 하나 이상의 원격 컴퓨터에 대한 논리적 접속을 사용하여 네트워크 환경에서 동작할 수 있다. 예를 들면, 원격 컴퓨팅 장치(348)는 개인용 컴퓨터, 휴대용 컴퓨터, 서버, 라우터, 네트워크 컴퓨터, 피어 장치 또는 다른 공통 네트워크 노드 등일 수 있다. 원격 컴퓨팅 장치(348)는 컴퓨터(302)에 대하여 여기서 설명하는 다수의 또는 모든 요소 및 특징을 포함할 수 있는 휴대용 컴퓨터로서 나타낸다.
컴퓨터(302)와 원격 컴퓨터(348) 간의 논리적 접속은 근거리 네트워크(LAN; 350)와 일반 광역 네트워크(WAN; 352)로서 도시되어 있다. 이러한 네트워킹 환경은 사무실, 범사내망, 인트라넷, 및 인터넷에 흔한 것이다.
LAN 네트워킹 환경으로 구현되는 경우, 컴퓨터(302)는 네트워크 인터페이스 또는 어댑터(354)를 통해 로컬 네트워크(350)에 접속된다. WAN 네트워킹 환경으로 구현되는 경우, 컴퓨터(302)는 통상 모뎀(356) 또는 광역 네트워크(352) 상에서 통신을 설정하는 다른 수단을 포함한다. 모뎀(356)은 컴퓨터(302)에 대하여 내장형 또는 외장형일 수 있으며, 입출력 인터페이스(340) 또는 다른 적절한 메커니즘을 통해 시스템 버스(308)에 접속될 수 있다. 도시한 네트워크 접속은 예시적이며 컴퓨터(302 및 348) 사이에서 통신 링크(들)를 설정하는 다른 수단이 사용될 수 있음이 이해되어야 한다.
컴퓨팅 환경(300)으로 도시된 것과 같은 네트워크 환경에서, 컴퓨터(302) 또는 그 일부에 대하여 나타낸 프로그램 모듈은 원격 메모리 저장 장치에 저장될 수 있다. 예를 들면, 원격 애플리케이션 프로그램(358)은 원격 컴퓨터(348)의 메모리 장치에 상주한다. 예를 들면, 애플리케이션 프로그램과 운영 체계와 같은 다른 실행가능 프로그램은 여기서 개별 블록으로 나타내지만, 이러한 프로그램과 컴포넌트는 컴퓨팅 장치(302)의 상이한 스토리지 컴포넌트에 다양한 시점에서 상주하고 컴퓨터의 데이터 프로세서(들)에 의해 실행된다.
다양한 모듈 및 기술은, 하나 이상의 컴퓨터 또는 다른 장치에 의해 실행되는, 프로그램 모듈과 같은 컴퓨터 실행가능 명령의 경우에 대하여 설명될 수 있다. 통상, 프로그램 모듈은 특정 작업을 수행하거나 특정 추상 데이터형을 구현하는 루틴, 프로그램, 객체, 컴포넌트, 데이터 구조 등을 포함한다. 통상, 프로그램 모듈의 기능은 다양한 실시예에서 원하는 바대로 결합 또는 분산될 수 있다.
이들 모듈 및 기술의 구현은 컴퓨터 판독가능 매체의 일부 형태에 저장되거나 이에 걸쳐 전송될 수 있다. 컴퓨터 판독가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 입수가능 매체일 수 있다. 예를 들면, - 한정이 아님 -, 컴퓨터 판독가능 매체는 "컴퓨터 저장 매체" 및 "통신 매체"를 포함할 수 있다.
"컴퓨터 저장 매체"는 컴퓨터 판독가능 명령, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같은 정보의 스토리지에 대한 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 포함한다. 컴퓨터 저장 매체는, RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, 디지털 다기능 디스크(DVD) 또는 다른 광 스토리지, 자기 카세트, 자기 테이프, 자기 디스크 스토리지 또는 다른 자기 스토리지 장치, 또는 원하는 정보를 저장하는데 사용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 미체를 포함하지만 이에 한정되는 것은 아니다.
"통신 매체"는 통상 반송파 또는 다른 전송 메커니즘과 같은 변조된 데이터 신호로 컴퓨터 판독가능 명령, 데이터 구조, 프로그램 모듈 또는 다른 데이터를 구체화한다. 통신 매체는 또한 임의의 정보 전달 매체를 포함한다. "변조된 데이터 신호(modulated data signal)"라는 용어는 신호 내의 정보를 인코딩하는 방식으로 하나 이상의 특성이 설정 또는 변경되는 신호를 의미한다. 예를 들면, - 한정이 아님 -, 통신 매체는 유선 네트워크, 다이렉트 와이어드 접속과 같은 유선 매체, 및 어쿠스틱, RF, 적외선 및 다른 무선 매체와 같은 무선 매체를 포함한다. 또한, 상기의 것 중 임의의 조합은 컴퓨터 판독가능 매체의 범위 내에 포함된다.
상기 설명은 구조적 특징 및/또는 방법론적 동작에 고유한 언어를 사용하지만, 첨부한 청구항에서 한정된 본 발명은 설명된 특정한 특징 또는 동작에 한정되지 않음이 이해되어야 한다. 그 대신, 특정한 특징은 본 발명을 구현하는 예시적인 형태로서 개시된다.

Claims (54)

  1. 멀티미디어 프리젠테이션을 생성하는 인코더 장치에 의해, 클라이언트 장치에 스트리밍될 복수의 미디어 스트림을 갖는 멀티미디어 프리젠테이션의 속성을 기술하는 세션 기술 메시지(session description message)를 생성하고,
    상기 클라이언트 장치에 스트리밍되는 데이터의 일부로서 상기 세션 기술 메시지를 포함시키는 단계를 포함하고,
    상기 세션 기술 메시지는,
    ASF 파일 헤더로부터 분리되고 복수의 미디어 스트림 중 어느 것이 상호 배타적인지를 규정하는 상호 배타성 확장부(mutual exclusivity extension);
    상기 ASF 파일 헤더로부터 분리되고 상기 멀티미디어 프리젠테이션으로의 인덱스를 규정하는 마커 확장부(marker extension);
    상기 ASF 파일 헤더로부터 분리되고 상기 멀티미디어 프리젠테이션의 재생 동안 제시될 데이터를 규정하는 스크립트 명령 확장부;
    상기 ASF 파일 헤더로부터 분리되고 상기 멀티미디어 프리젠테이션을 특정 비트 레이트로 재생하는 경우 상기 멀티미디어 프리젠테이션 중 얼마나 많은 데이터를 버퍼링할 것인지를 규정하는 누설 버킷 확장부(leaky bucket extension);
    상기 ASF 파일 헤더로부터 분리되고 상기 멀티미디어 프리젠테이션의 캐싱에 대한 정보를 규정하는 캐싱 정보 확장부;
    상기 ASF 파일 헤더로부터 분리되고 복수의 상이한 코덱 중 하나 이상에 대한 코덱 매개변수를 규정하는 캡슐화 확장부;
    상기 ASF 파일 헤더로부터 분리되고 대역폭을 공유하는 상기 복수의 미디어 스트림 중 미디어 스트림들을 규정하는 대역폭 공유 확장부; 및
    상기 ASF 파일 헤더로부터 분리되고 상기 복수의 미디어 스트림 중 어느 것이 상기 복수의 미디어 스트림 중 다른 것보다 우선권을 가져야 하는 지를 규정하는 스트림 우선순위 지정 확장부(stream prioritization extension)를 포함하는
    세션 기술 메시지 생성 방법.
  2. 클라이언트 장치에 스트리밍될 멀티미디어 프리젠테이션의 속성을 기술하는 세션 기술 메시지를 생성하는 복수의 명령어가 저장된 하나 이상의 컴퓨터 판독가능 기록 매체에 있어서, 상기 복수의 명령어는, 하나 이상의 프로세서에 의해 실행되는 경우, 상기 하나 이상의 프로세서가:
    상기 멀티미디어 프리젠테이션의 ASF 파일 헤더에 액세스하고,
    상기 ASF 파일 헤더의 복수의 객체의 부분집합을 식별하며,
    상기 복수의 객체의 부분집합 내의 각 객체에 대하여, 상기 세션 기술 메시지에 대한 복수의 확장부 중 다른 하나를 생성하고,
    상기 복수의 객체의 부분집합 내의 각 객체에 대하여, 상기 객체로부터 하나 이상의 매개변수를 검색하고, 상기 복수의 확장부 중 하나에 대한 매개변수로서 상기 검색된 매개변수를 사용하도록 하며,
    상기 복수의 확장부 중 하나는 상기 멀티미디어 프리젠테이션을 특정 비트 레이트로 재생하는 경우 상기 멀티미디어 프리젠테이션 중 얼마나 많은 데이터를 버퍼링할 것인지를 규정하는 누설 버킷 확장부를 포함하는
    하나 이상의 컴퓨터 판독가능 기록 매체.
  3. 제2항에 있어서,
    상기 복수의 확장부 중 하나는 상기 멀티미디어 프리젠테이션의 복수의 미디어 스트림 중 어느 것이 상호 배타적인지를 규정하는 상호 배타성 확장부를 포함하는 하나 이상의 컴퓨터 판독가능 기록 매체.
  4. 제2항에 있어서,
    상기 복수의 확장부 중 하나는 상기 멀티미디어 프리젠테이션으로의 인덱스를 규정하는 마커 확장부를 포함하는 하나 이상의 컴퓨터 판독가능 기록 매체.
  5. 복수의 명령어가 저장된 하나 이상의 컴퓨터 판독가능 기록 매체에 있어서, 상기 복수의 명령어는, 하나 이상의 프로세서에 의해 실행되는 경우, 상기 하나 이상의 프로세서가:
    클라이언트 장치에 스트리밍될 멀티미디어 프리젠테이션의 속성을 기술하는 세션 기술 메시지를 생성하고,
    상기 클라이언트 장치에 스트리밍되는 데이터의 일부로서, 상기 세션 기술 메시지를 포함하도록 하고,
    상기 멀티미디어 프리젠테이션은 복수의 미디어 스트림을 갖고, 상기 세션 기술 메시지는 ASF 파일 헤더로부터 분리되고 상기 복수의 미디어 스트림 중 어느 것이 상호 배타적인지를 규정하는 상호 배타성 확장부를 가지며,
    ExclusionType 값은 상호 배타성 유형을 나타내고, StreamNumbers 값은 상호 배타적인 미디어 스트림들을 나타내며, 상기 상호 배타성 확장부는:
    a=group:ExclusionType StreamNumbers를 포함하는
    하나 이상의 컴퓨터 판독가능 기록 매체.
  6. 제5항에 있어서,
    상기 하나 이상의 프로세서가 상기 세션 기술 메시지를 생성하도록 하는 명령어는 또한, 상기 하나 이상의 프로세서가:
    상기 멀티미디어 프리젠테이션의 ASF 파일 헤더의 객체를 식별하고,
    상기 객체로부터 하나 이상의 매개변수를 검색하며,
    검색된 상기 하나 이상의 매개변수를 분석하여 상기 상호 배타성 확장부에 대한 매개변수를 결정하도록 하는 하나 이상의 컴퓨터 판독가능 기록 매체.
  7. 복수의 명령어가 저장된 하나 이상의 컴퓨터 판독가능 기록 매체에 있어서, 상기 복수의 명령어는, 하나 이상의 프로세서에 의해 실행되는 경우, 상기 하나 이상의 프로세서가:
    클라이언트 장치에 스트리밍될 멀티미디어 프리젠테이션의 속성을 기술하는 세션 기술 메시지를 생성하고,
    상기 클라이언트 장치에 스트리밍되는 데이터의 일부로서, 상기 세션 기술 메시지를 포함하도록 하고,
    상기 멀티미디어 프리젠테이션은 복수의 미디어 스트림을 갖고, 상기 세션 기술 메시지는 ASF 파일 헤더로부터 분리되고 상기 멀티미디어 프리젠테이션으로의 인덱스를 규정하는 마커 확장부를 가지며,
    name 값은 마커의 명칭을 나타내고, time 값은 상기 마커의 프리젠테이션 시간을 나타내며, desc 값은 상기 인덱스를 나타내고, 상기 마커 확장부는:
    a=marker:name time; desc를 포함하는
    하나 이상의 컴퓨터 판독가능 기록 매체.
  8. 제7항에 있어서,
    상기 하나 이상의 프로세서가 상기 세션 기술 메시지를 생성하도록 하는 명령어는 또한, 상기 하나 이상의 프로세서가:
    상기 멀티미디어 프리젠테이션의 ASF 파일 헤더의 객체를 식별하고,
    상기 객체로부터 하나 이상의 매개변수를 검색하며,
    검색된 상기 하나 이상의 매개변수를 분석하여 상기 마커 확장부에 대한 매개변수를 결정하도록 하는 하나 이상의 컴퓨터 판독가능 기록 매체.
  9. 복수의 명령어가 저장된 하나 이상의 컴퓨터 판독가능 기록 매체에 있어서, 상기 복수의 명령어는, 하나 이상의 프로세서에 의해 실행되는 경우, 상기 하나 이상의 프로세서가:
    클라이언트 장치에 스트리밍될 멀티미디어 프리젠테이션의 속성을 기술하는 세션 기술 메시지를 생성하고,
    상기 클라이언트 장치에 스트리밍되는 스트리밍 데이터의 일부로서, 상기 세션 기술 메시지를 포함하도록 하고,
    상기 멀티미디어 프리젠테이션은 복수의 미디어 스트림을 갖고, 상기 세션 기술 메시지는 ASF 파일 헤더로부터 분리되고 상기 멀티미디어 프리젠테이션의 재생 동안 제시될 데이터를 규정하는 스크립트 명령 확장부를 가지며,
    type 값은 명령의 유형을 나타내고, time 값은 상기 데이터가 제시되어야 하는 경우 상기 멀티미디어 프리젠테이션의 프리젠테이션 시간을 나타내며, command 값은 상기 프리젠테이션 시간에서 디스플레이될 데이터를 나타내고, 상기 스크립트 명령 확장부는:
    a=script:type time; command를 포함하는
    하나 이상의 컴퓨터 판독가능 기록 매체.
  10. 복수의 명령어가 저장된 하나 이상의 컴퓨터 판독가능 기록 매체에 있어서, 상기 복수의 명령어는, 하나 이상의 프로세서에 의해 실행되는 경우, 상기 하나 이상의 프로세서가:
    클라이언트 장치에 스트리밍될 멀티미디어 프리젠테이션의 속성을 기술하는 세션 기술 메시지를 생성하고,
    상기 클라이언트 장치에 스트리밍되는 데이터의 일부로서, 상기 세션 기술 메시지를 포함하도록 하고,
    상기 멀티미디어 프리젠테이션은 복수의 미디어 스트림을 갖고, 상기 세션 기술 메시지는 ASF 파일 헤더로부터 분리되고 상기 멀티미디어 프레젠테이션의 캐싱에 대한 정보를 규정하는 캐싱 정보 확장부를 가지며,
    Rights 값은 상기 멀티미디어 프리젠테이션의 캐싱에 대한 정보를 나타내며, 상기 캐싱 정보 확장부는:
    a=cachectrl:Rights를 포함하는
    하나 이상의 컴퓨터 판독가능 기록 매체.
  11. 제10항에 있어서,
    상기 하나 이상의 프로세서가 상기 세션 기술 메시지를 생성하도록 하는 명령어는 또한, 상기 하나 이상의 프로세서가:
    상기 멀티미디어 프리젠테이션의 ASF 파일 헤더의 객체를 식별하고,
    상기 객체로부터 하나 이상의 매개변수를 검색하며,
    검색된 상기 하나 이상의 매개변수를 분석하여 상기 캐싱 정보 확장부에 대한 매개변수를 결정하도록 하는 하나 이상의 컴퓨터 판독가능 기록 매체.
  12. 복수의 명령어가 저장된 하나 이상의 컴퓨터 판독가능 기록 매체에 있어서, 상기 복수의 명령어는, 하나 이상의 프로세서에 의해 실행되는 경우, 상기 하나 이상의 프로세서가:
    클라이언트 장치에 스트리밍될 멀티미디어 프리젠테이션의 속성을 기술하는 세션 기술 메시지를 생성하고,
    상기 클라이언트 장치에 스트리밍되는 데이터의 일부로서, 상기 세션 기술 메시지를 포함하도록 하고,
    상기 멀티미디어 프리젠테이션은 복수의 미디어 스트림을 갖고, 상기 세션 기술 메시지는 ASF 파일 헤더로부터 분리되고 복수의 상이한 코덱 중 하나 이상에 대한 코덱 매개변수를 규정하는 캡슐화 확장부를 가지며,
    pt 값은 페이로드 유형 번호(payload type number)를 나타내고, MIME 값은 상기 복수의 상이한 코덱 중 하나의 식별자를 나타내며, config-info 값은 상기 복수의 상이한 코덱 중 상기 하나에 대한 초기화 데이터를 나타내고, 상기 캡슐화 확장부는:
    a=fmtp:pt MIME config=config-info를 포함하는
    하나 이상의 컴퓨터 판독가능 기록 매체.
  13. 제12항에 있어서,
    상기 세션 기술 메시지는 복수의 캡슐화 확장부를 포함하고, 상기 복수의 캡슐화 확장부 각각은 동일한 구문을 갖지만 상기 복수의 상이한 코덱 중 다른 하나에 대한 것인 하나 이상의 컴퓨터 판독가능 기록 매체.
  14. 복수의 명령어가 저장된 하나 이상의 컴퓨터 판독가능 기록 매체에 있어서, 상기 복수의 명령어는, 하나 이상의 프로세서에 의해 실행되는 경우, 상기 하나 이상의 프로세서가:
    클라이언트 장치에 스트리밍될 멀티미디어 프리젠테이션의 속성을 기술하는 세션 기술 메시지를 생성하고,
    상기 클라이언트 장치에 스트리밍되는 데이터의 일부로서, 상기 세션 기술 메시지를 포함하도록 하고,
    상기 멀티미디어 프리젠테이션은 복수의 미디어 스트림을 갖고, 상기 세션 기술 메시지는 ASF 파일 헤더로부터 분리되고 상기 복수의 미디어 스트림 중 어느 것이 상기 복수의 미디어 스트림 중 다른 것보다 우선권을 가져야 하는 지를 규정하는 스트림 우선순위 지정 확장부를 가지며,
    상기 스트림 우선순위 지정 확장부는 a=prio를 포함하는데, 이 a=prio 다음에 미디어 스트림의 리스트가 우선 순위 순서데로 이어지는
    하나 이상의 컴퓨터 판독가능 기록 매체.
  15. 제5항, 제7항, 제9항, 제10항, 제12항 및 제14항 중 어느 한 항에 있어서,
    상기 세션 기술 메시지는 세션 기술 프로토콜(SDP) 메시지인 하나 이상의 컴퓨터 판독가능 기록 매체.
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
  50. 삭제
  51. 삭제
  52. 삭제
  53. 삭제
  54. 삭제
KR1020057012340A 2004-04-30 2004-07-22 세션 기술 메시지 확장 KR101037263B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/836,141 2004-04-30
US10/836,141 US7162533B2 (en) 2004-04-30 2004-04-30 Session description message extensions

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020117003436A Division KR101120796B1 (ko) 2004-04-30 2004-07-22 세션 기술 메시지 확장

Publications (2)

Publication Number Publication Date
KR20070019925A KR20070019925A (ko) 2007-02-16
KR101037263B1 true KR101037263B1 (ko) 2011-05-26

Family

ID=35376504

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020057012340A KR101037263B1 (ko) 2004-04-30 2004-07-22 세션 기술 메시지 확장
KR1020117003436A KR101120796B1 (ko) 2004-04-30 2004-07-22 세션 기술 메시지 확장

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020117003436A KR101120796B1 (ko) 2004-04-30 2004-07-22 세션 기술 메시지 확장

Country Status (11)

Country Link
US (3) US7162533B2 (ko)
EP (1) EP1741035B1 (ko)
JP (1) JP4592749B2 (ko)
KR (2) KR101037263B1 (ko)
CN (1) CN101120331B (ko)
AU (1) AU2004288595B2 (ko)
BR (1) BRPI0406531B1 (ko)
CA (1) CA2508888C (ko)
MX (1) MXPA05007088A (ko)
RU (1) RU2364922C2 (ko)
WO (1) WO2005111836A2 (ko)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100640862B1 (ko) * 2004-08-03 2006-11-02 엘지전자 주식회사 순방향 메시지 전송 중 타임아웃의 동적 제어방법
US20120165668A1 (en) 2010-08-02 2012-06-28 Guided Therapy Systems, Llc Systems and methods for treating acute and/or chronic injuries in soft tissue
WO2006114020A1 (en) * 2005-04-27 2006-11-02 Intel Corporation Method and system for a process monitor using a hardware communication format
US7761773B2 (en) * 2005-06-30 2010-07-20 Sigmatel, Inc. Semiconductor device including a unique identifier and error correction code
US8583815B2 (en) * 2006-03-28 2013-11-12 France Telecom Method of generating a file describing a bitstream, corresponding device and computer program product
EP2036350B1 (en) * 2006-06-19 2015-07-22 Telefonaktiebolaget LM Ericsson (publ) Media channel management
WO2008023335A2 (en) * 2006-08-21 2008-02-28 Nokia Corporation Caching directives for a file delivery protocol
CN101166179A (zh) * 2006-10-16 2008-04-23 华为技术有限公司 会话描述协议能力信息获取方法、系统和网络实体
US8856267B2 (en) * 2006-11-16 2014-10-07 Rangecast Technologies, Llc Network audio directory server and method
US8385234B2 (en) * 2007-03-29 2013-02-26 Telefonaktiebolaget Lm Ericsson (Publ) Media stream setup in a group communication system
US7831867B2 (en) * 2007-04-17 2010-11-09 International Business Machines Corporation Apparatus and method to integrate hardware adapter tracing with a host OS tracing through signaling
US7729879B2 (en) * 2007-04-17 2010-06-01 International Business Machines Corporation Apparatus and method to integrate hardware adapter diagnostics with a host OS diagnostics through signaling
KR101486372B1 (ko) * 2007-07-25 2015-01-26 엘지전자 주식회사 디지털 방송 시스템 및 데이터 처리 방법
US8325800B2 (en) 2008-05-07 2012-12-04 Microsoft Corporation Encoding streaming media as a high bit rate layer, a low bit rate layer, and one or more intermediate bit rate layers
US8379851B2 (en) 2008-05-12 2013-02-19 Microsoft Corporation Optimized client side rate control and indexed file layout for streaming media
US7925774B2 (en) 2008-05-30 2011-04-12 Microsoft Corporation Media streaming using an index file
US8352996B2 (en) * 2008-06-27 2013-01-08 Microsoft Corporation Adaptive video switching for variable network conditions
US8265140B2 (en) * 2008-09-30 2012-09-11 Microsoft Corporation Fine-grained client-side control of scalable media delivery
BR112012011581A2 (pt) * 2009-11-04 2017-09-19 Huawei Tech Co Ltd sistema e método para streaming de conteúdo de mídia
CN102088674B (zh) * 2009-12-08 2013-07-03 深圳市彩讯科技有限公司 基于虚拟合成技术的彩信报表生成方法
US9118593B2 (en) * 2010-10-07 2015-08-25 Enghouse Networks Limited System and method for best value routing
WO2012093202A1 (en) * 2011-01-07 2012-07-12 Nokia Corporation Method and apparatus for signaling presentation
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
US9183090B2 (en) 2011-10-10 2015-11-10 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing a streaming platform IO pump and regulator
US9276856B2 (en) 2011-10-10 2016-03-01 Salesforce.Com, Inc. Slipstream bandwidth management algorithm
US9367501B2 (en) 2011-11-10 2016-06-14 International Business Machines Corporation Dynamic streaming data dispatcher
US8977704B2 (en) * 2011-12-29 2015-03-10 Nokia Corporation Method and apparatus for flexible caching of delivered media
US9401968B2 (en) 2012-01-20 2016-07-26 Nokia Techologies Oy Method and apparatus for enabling pre-fetching of media
US9055129B2 (en) 2012-04-23 2015-06-09 Hulu, LLC Automation framework to remotely control devices and process asynchronous events
US9185149B2 (en) * 2012-06-25 2015-11-10 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing frame aggregation with screen sharing
US20140199044A1 (en) * 2013-01-15 2014-07-17 Qualcomm Incorporated Supporting transport diversity and time-shifted buffers for media streaming over a network
US9020469B2 (en) 2013-06-04 2015-04-28 Rangecast Technologies, Llc Network audio distribution system and method
US10904312B2 (en) * 2014-12-10 2021-01-26 Akamai Technologies, Inc. Server-side prediction of media client steady state
US10581925B2 (en) * 2015-07-06 2020-03-03 Avaya Inc. Session description protocol template modifiers for flexible control of media server resources
JP6787391B2 (ja) 2016-02-26 2020-11-18 日本電気株式会社 顔照合システム、顔照合方法、及びプログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040244010A1 (en) 2003-05-29 2004-12-02 Microsoft Corporation Controlled relay of media streams across network perimeters

Family Cites Families (123)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH021671A (ja) 1988-03-17 1990-01-05 Toshiba Corp パケット交換機の負荷制御方式
US5083263A (en) * 1988-07-28 1992-01-21 Sun Microsystems, Inc. BISC with interconnected register ring and selectively operating portion of the ring as a conventional computer
US4963995A (en) 1988-12-27 1990-10-16 Explore Technology, Inc. Audio/video transceiver apparatus including compression means
US5057932A (en) 1988-12-27 1991-10-15 Explore Technology, Inc. Audio/video transceiver apparatus including compression means, random access storage means, and microwave transceiver means
US5164839A (en) 1988-12-27 1992-11-17 Explore Technology, Inc. Method for handling audio/video source information
US5262875A (en) 1992-04-30 1993-11-16 Instant Video Technologies, Inc. Audio/video file server including decompression/playback means
US5412782A (en) 1992-07-02 1995-05-02 3Com Corporation Programmed I/O ethernet adapter with early interrupts for accelerating data transfer
US5440334A (en) 1993-02-01 1995-08-08 Explore Technology, Inc. Broadcast video burst transmission cyclic distribution apparatus and method
US20020048448A1 (en) 1993-03-29 2002-04-25 Microsoft Corporation Pausing the display of a television program as a signal including the television program is received
CA2130395C (en) 1993-12-09 1999-01-19 David G. Greenwood Multimedia distribution over wide area networks
JPH07219774A (ja) 1994-02-07 1995-08-18 Fujitsu Ltd データ処理装置および例外処理方法
CA2140850C (en) 1994-02-24 1999-09-21 Howard Paul Katseff Networked system for display of multimedia presentations
US5978567A (en) 1994-07-27 1999-11-02 Instant Video Technologies Inc. System for distribution of interactive multimedia and linear programs by enabling program webs which include control scripts to define presentation by client transceiver
JPH11513150A (ja) 1995-06-15 1999-11-09 インテル・コーポレーション Pci間ブリッジを統合する入出力プロセッサ用アーキテクチャ
US5758076A (en) 1995-07-19 1998-05-26 International Business Machines Corporation Multimedia server system having rate adjustable data retrieval based on buffer capacity
US5822524A (en) 1995-07-21 1998-10-13 Infovalue Computing, Inc. System for just-in-time retrieval of multimedia files over computer networks by transmitting data packets at transmission rate determined by frame size
US5787472A (en) 1995-07-31 1998-07-28 Ibm Corporation Disk caching system for selectively providing interval caching or segment caching of vided data
US5835495A (en) 1995-10-11 1998-11-10 Microsoft Corporation System and method for scaleable streamed audio transmission over a network
US5680461A (en) 1995-10-26 1997-10-21 Sun Microsystems, Inc. Secure network protocol system and method
US6041345A (en) 1996-03-08 2000-03-21 Microsoft Corporation Active stream format for holding multiple media streams
US5931961A (en) 1996-05-08 1999-08-03 Apple Computer, Inc. Discovery of acceptable packet size using ICMP echo
WO1998005144A1 (en) 1996-07-25 1998-02-05 Hybrid Networks, Inc. High-speed internet access system
US5913038A (en) 1996-12-13 1999-06-15 Microsoft Corporation System and method for processing multimedia data streams using filter graphs
US6005621A (en) 1996-12-23 1999-12-21 C-Cube Microsystems, Inc. Multiple resolution video compression
US6014706A (en) 1997-01-30 2000-01-11 Microsoft Corporation Methods and apparatus for implementing control functions in a streamed video display system
US6292834B1 (en) 1997-03-14 2001-09-18 Microsoft Corporation Dynamic bandwidth selection for efficient transmission of multimedia streams in a computer network
US6118817A (en) 1997-03-14 2000-09-12 Microsoft Corporation Digital video signal encoder and encoding method having adjustable quantization
WO1998043415A1 (en) 1997-03-21 1998-10-01 Canal+ Societe Anonyme Extracting data sections from a transmitted data stream
US6111567A (en) 1997-04-03 2000-08-29 Microsoft Corporation Seamless multimedia branching
US6209041B1 (en) 1997-04-04 2001-03-27 Microsoft Corporation Method and computer program product for reducing inter-buffer data transfers between separate processing components
US6216163B1 (en) 1997-04-14 2001-04-10 Lucent Technologies Inc. Method and apparatus providing for automatically restarting a client-server connection in a distributed network
US5963202A (en) 1997-04-14 1999-10-05 Instant Video Technologies, Inc. System and method for distributing and managing digital video information in a video distribution network
US6892354B1 (en) 1997-04-16 2005-05-10 Sony Corporation Method of advertising on line during a communication link idle time
US6195692B1 (en) 1997-06-02 2001-02-27 Sony Corporation Television/internet system having multiple data stream connections
US6014694A (en) 1997-06-26 2000-01-11 Citrix Systems, Inc. System for adaptive video/audio transport over a network
US6385647B1 (en) 1997-08-18 2002-05-07 Mci Communications Corporations System for selectively routing data via either a network that supports Internet protocol or via satellite transmission network based on size of the data
JPH11163947A (ja) 1997-09-22 1999-06-18 Toshiba Corp ゲートウェイ装置、無線端末装置、ルータ装置および通信ネットワークのゲートウェイ制御方法
US5996015A (en) 1997-10-31 1999-11-30 International Business Machines Corporation Method of delivering seamless and continuous presentation of multimedia data files to a target device by assembling and concatenating multimedia segments in memory
JP3655071B2 (ja) 1997-10-31 2005-06-02 株式会社ニデック 眼屈折力測定装置
JP3235655B2 (ja) 1997-12-01 2001-12-04 日本電気株式会社 バースト性をもつ低速汎用データの固定長パケット多重装置
US5983263A (en) 1998-01-02 1999-11-09 Intel Corporation Method and apparatus for transmitting images during a multimedia teleconference
US6161201A (en) 1998-02-26 2000-12-12 3Com Corporation Method and apparatus for concurrent interaction with a modem having an open connection
JP3844588B2 (ja) 1998-03-05 2006-11-15 富士通株式会社 情報管理システム、ローカルコンピュータ、及び情報取得プログラムを記録したコンピュータ読み取り可能な記録媒体
US6327421B1 (en) 1998-03-10 2001-12-04 International Business Machines Corporation Multiple speed fast forward/rewind compressed video delivery system
US6054943A (en) 1998-03-25 2000-04-25 Lawrence; John Clifton Multilevel digital information compression based on lawrence algorithm
US6292880B1 (en) 1998-04-15 2001-09-18 Inktomi Corporation Alias-free content-indexed object cache
US6314492B1 (en) 1998-05-27 2001-11-06 International Business Machines Corporation System and method for server control of client cache
US6480498B1 (en) 1998-07-01 2002-11-12 National Semiconductor Corporation High speed network switch bus clock
US6421348B1 (en) 1998-07-01 2002-07-16 National Semiconductor Corporation High-speed network switch bus
JP3602972B2 (ja) 1998-07-28 2004-12-15 富士通株式会社 通信性能測定装置及びその測定方法
US6502135B1 (en) 1998-10-30 2002-12-31 Science Applications International Corporation Agile network protocol for secure communications with assured system availability
US6249844B1 (en) 1998-11-13 2001-06-19 International Business Machines Corporation Identifying, processing and caching object fragments in a web environment
US6553376B1 (en) 1998-11-18 2003-04-22 Infolibria, Inc. Efficient content server using request redirection
US6449269B1 (en) 1998-12-31 2002-09-10 Nortel Networks Limited Packet voice telephony system and method
US6351767B1 (en) 1999-01-25 2002-02-26 International Business Machines Corporation Method and system for automatically caching dynamic content based on a cacheability determination
JP3587352B2 (ja) 1999-02-04 2004-11-10 富士通株式会社 ネットワーク通信性能測定方法及び装置並びにネットワーク通信性能測定プログラムを格納したコンピュータ読取り可能な記録媒体
US6691312B1 (en) 1999-03-19 2004-02-10 University Of Massachusetts Multicasting video
US6405256B1 (en) 1999-03-31 2002-06-11 Lucent Technologies Inc. Data streaming using caching servers with expandable buffers and adjustable rate of data transmission to absorb network congestion
US6725333B1 (en) 1999-04-22 2004-04-20 International Business Machines Corporation System and method for managing cachable entities
US6369835B1 (en) 1999-05-18 2002-04-09 Microsoft Corporation Method and system for generating a movie file from a slide show presentation
US6611868B1 (en) 1999-05-21 2003-08-26 3Com Corporation Method and system for automatic link hang up
US6735634B1 (en) 1999-06-10 2004-05-11 Blue Coat Systems Method for real time protocol media recording
JP3463803B2 (ja) 1999-11-09 2003-11-05 松下電器産業株式会社 クラスタサーバ装置
US6643259B1 (en) 1999-11-12 2003-11-04 3Com Corporation Method for optimizing data transfer in a data network
US6779043B1 (en) 1999-11-16 2004-08-17 National Semiconductor Corporation Network address manager
US6990070B1 (en) 1999-12-17 2006-01-24 Nortel Networks Limited Method and apparatus for adjusting packet transmission volume from a source
US7051110B2 (en) 1999-12-20 2006-05-23 Matsushita Electric Industrial Co., Ltd. Data reception/playback method and apparatus and data transmission method and apparatus for providing playback control functions
US6329165B1 (en) 1999-12-30 2001-12-11 Nalco Chemical Company Measurement and control of sessile and planktonic microbiological activity in industrial water systems
US7096481B1 (en) 2000-01-04 2006-08-22 Emc Corporation Preparation of metadata for splicing of encoded MPEG video and audio
US6519648B1 (en) 2000-01-24 2003-02-11 Friskit, Inc. Streaming media search and continuous playback of multiple media resources located on a network
US6389467B1 (en) 2000-01-24 2002-05-14 Friskit, Inc. Streaming media search and continuous playback system of media resources located by multiple network addresses
US7159233B2 (en) 2000-01-28 2007-01-02 Sedna Patent Services, Llc Method and apparatus for preprocessing and postprocessing content in an interactive information distribution system
SE0000908L (sv) 2000-03-20 2001-09-21 Ericsson Telefon Ab L M Load regulation
US6765878B1 (en) 2000-03-28 2004-07-20 Intel Corporation Selective use of transmit complete interrupt delay on small sized packets in an ethernet controller
US7007090B1 (en) 2000-03-31 2006-02-28 Intel Corporation Techniques of utilizing actually unused bandwidth
US6952424B1 (en) 2000-04-13 2005-10-04 International Business Machines Corporation Method and system for network processor scheduling outputs using queueing
US6760749B1 (en) 2000-05-10 2004-07-06 Polycom, Inc. Interactive conference content distribution device and methods of use thereof
US6801947B1 (en) 2000-08-01 2004-10-05 Nortel Networks Ltd Method and apparatus for broadcasting media objects with guaranteed quality of service
US7185082B1 (en) 2000-08-09 2007-02-27 Microsoft Corporation Fast dynamic measurement of connection bandwidth using at least a pair of non-compressible packets having measurable characteristics
US6985934B1 (en) 2000-10-23 2006-01-10 Binham Communications Corporation Method and system for providing rich media content over a computer network
US6741648B2 (en) 2000-11-10 2004-05-25 Nokia Corporation Apparatus, and associated method, for selecting an encoding rate by which to encode video frames of a video sequence
AU2002230533A1 (en) 2000-11-29 2002-06-11 Pulsent Corporation Method and apparatus for a hybrid communication network
US20020077900A1 (en) 2000-12-14 2002-06-20 Thompson Tiffany A. Internet protocol-based interstitial advertising
US6611898B1 (en) 2000-12-22 2003-08-26 Convergys Customer Management Group, Inc. Object-oriented cache management system and method
US6407680B1 (en) 2000-12-22 2002-06-18 Generic Media, Inc. Distributed on-demand media transcoding system and method
US6772375B1 (en) 2000-12-22 2004-08-03 Network Appliance, Inc. Auto-detection of limiting factors in a TCP connection
KR100392384B1 (ko) * 2001-01-13 2003-07-22 한국전자통신연구원 엠펙-2 데이터에 엠펙-4 데이터를 동기화시켜 전송하는장치 및 그 방법
US7054949B2 (en) 2001-01-19 2006-05-30 World Streaming Network, Inc. System and method for streaming media
KR20020069272A (ko) 2001-02-24 2002-08-30 (주)엔아이씨티 동영상 파일의 압축 및 디스플레이 방법
US6990512B1 (en) 2001-03-19 2006-01-24 Novell, Inc. Method and system for using live time shift technology to control a multimedia file
EP1386492A2 (en) 2001-03-23 2004-02-04 Popwire.com Method and apparatus for streaming video
US20020138641A1 (en) 2001-03-26 2002-09-26 Taylor Christopher Stephen Targeted multimedia proxy server (tmps)
US20020184510A1 (en) 2001-04-17 2002-12-05 At&T Wireless Services, Inc. Binding information for IP media flows
US20020194608A1 (en) 2001-04-26 2002-12-19 Goldhor Richard S. Method and apparatus for a playback enhancement system implementing a "Say Again" feature
US7076560B1 (en) 2001-06-12 2006-07-11 Network Appliance, Inc. Methods and apparatus for storing and serving streaming media data
US6742082B1 (en) 2001-06-12 2004-05-25 Network Appliance Pre-computing streaming media payload method and apparatus
US7054911B1 (en) 2001-06-12 2006-05-30 Network Appliance, Inc. Streaming media bitrate switching methods and apparatus
US6986018B2 (en) 2001-06-26 2006-01-10 Microsoft Corporation Method and apparatus for selecting cache and proxy policy
US6792449B2 (en) 2001-06-28 2004-09-14 Microsoft Corporation Startup methods and apparatuses for use in streaming content
US20020049817A1 (en) 2001-07-12 2002-04-25 Eatamar Drory Storageless system and method for unified messaging on existing mail accounts via standard internet mail protocols
US20030055809A1 (en) 2001-09-18 2003-03-20 Sun Microsystems, Inc. Methods, systems, and articles of manufacture for efficient log record access
US7028089B2 (en) * 2001-09-21 2006-04-11 International Business Machines Corporation Method and apparatus for caching subscribed and non-subscribed content in a network data processing system
US20030099364A1 (en) 2001-11-28 2003-05-29 Thompson Mark R. Playback manipulation of HTTP streamed content objects
GB0130041D0 (en) * 2001-12-14 2002-02-06 Ibm Preparing multimedia content in a distributed data processing system
US7412535B2 (en) 2001-12-19 2008-08-12 International Business Machines Corporation Method and system for caching fragments while avoiding parsing of pages that do not contain fragments
EP1470497A1 (en) * 2002-01-12 2004-10-27 Coretrust, Inc. Method and system for the information protection of digital content
JP2003229843A (ja) * 2002-01-31 2003-08-15 Sony Corp ストリーミングシステム及びストリーミング方法、クライアント端末及びコンテンツデータ復号方法、ストリームサーバ及びストリーム配信方法、オーサリング装置及びオーサリング方法、並びにプログラム及び記録媒体
DE60332828D1 (de) 2002-02-22 2010-07-15 Nds Ltd Verarbeitung von verschlüsseltem datenpaketstrom
EP1501309A4 (en) 2002-04-26 2010-11-03 Sony Corp CODING DEVICE AND METHOD, DECODING DEVICE AND METHOD, EDITING DEVICE AND METHOD, RECORDING MEDIUM AND PROGRAM
US7133881B2 (en) 2002-04-29 2006-11-07 Intel Corporation Encoding and transferring media content onto removable storage
US7457312B2 (en) 2002-06-19 2008-11-25 Microsoft Corporation Bandwidth sharing in advanced streaming format
US7451229B2 (en) 2002-06-24 2008-11-11 Microsoft Corporation System and method for embedding a streaming media format header within a session description message
US20040003101A1 (en) 2002-06-26 2004-01-01 Roth David J. Caching control for streaming media
US7246318B2 (en) * 2002-06-28 2007-07-17 Microsoft Corporation Application programming interface for utilizing multimedia data
US7401221B2 (en) * 2002-09-04 2008-07-15 Microsoft Corporation Advanced stream format (ASF) data stream header object protection
WO2004030358A1 (ja) * 2002-09-30 2004-04-08 Matsushita Electric Industrial Co., Ltd. データ処理装置
US7366780B2 (en) 2002-12-31 2008-04-29 Motorola, Inc. System and method for controlling and managing sessions between endpoints in a communications system
US7020087B2 (en) 2003-01-13 2006-03-28 Motorola, Inc. Segmented and distributed path optimization in a communication network
JP2006518948A (ja) 2003-02-13 2006-08-17 ノキア コーポレイション マルチメディア・ストリーミングにおけるストリーミング品質適合と制御機構のシグナリング方法
US7266147B2 (en) * 2003-03-31 2007-09-04 Sharp Laboratories Of America, Inc. Hypothetical reference decoder
US7054774B2 (en) 2003-06-27 2006-05-30 Microsoft Corporation Midstream determination of varying bandwidth availability
US7359373B2 (en) 2003-10-17 2008-04-15 Nokia Corporation System, apparatus, and method for establishing circuit-switched communications via packet-switched network signaling
EP1714457A1 (en) * 2004-02-12 2006-10-25 Nokia Corporation Transmission of asset information in streaming services

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040244010A1 (en) 2003-05-29 2004-12-02 Microsoft Corporation Controlled relay of media streams across network perimeters

Also Published As

Publication number Publication date
RU2005120686A (ru) 2006-03-20
AU2004288595B2 (en) 2010-02-18
MXPA05007088A (es) 2006-01-23
US20070011345A1 (en) 2007-01-11
KR20070019925A (ko) 2007-02-16
CN101120331B (zh) 2012-02-01
BRPI0406531A (pt) 2006-05-09
US7809851B2 (en) 2010-10-05
KR101120796B1 (ko) 2012-03-22
EP1741035A4 (en) 2014-12-10
US20060092822A1 (en) 2006-05-04
EP1741035A2 (en) 2007-01-10
US7783772B2 (en) 2010-08-24
BRPI0406531B1 (pt) 2017-02-21
JP2007535860A (ja) 2007-12-06
US7162533B2 (en) 2007-01-09
WO2005111836A2 (en) 2005-11-24
CA2508888A1 (en) 2005-10-30
JP4592749B2 (ja) 2010-12-08
KR20110027845A (ko) 2011-03-16
CA2508888C (en) 2013-01-15
EP1741035B1 (en) 2018-07-04
AU2004288595A1 (en) 2005-11-17
WO2005111836A3 (en) 2006-09-21
CN101120331A (zh) 2008-02-06
US20050262187A1 (en) 2005-11-24
RU2364922C2 (ru) 2009-08-20

Similar Documents

Publication Publication Date Title
KR101037263B1 (ko) 세션 기술 메시지 확장
US7586938B2 (en) Methods and systems for self-describing multicasting of multimedia presentations
KR101596530B1 (ko) 원격 세션에서의 멀티미디어 동작을 관리하는 시스템 및 방법
US8775566B2 (en) File format for media distribution and presentation
US9276978B2 (en) Program based caching in live media distribution
US8683065B2 (en) Multicast content provider
US20070143807A1 (en) Data distribution apparatus, data provision apparatus and data distribution system comprised thereof
KR20060082135A (ko) 스트리밍 미디어용 스파스 캐싱 방법 및 시스템
US20110246660A1 (en) Systems, Methods, and Apparatuses for Media File Streaming
KR20050094424A (ko) 다수의 장치들 상에 컨텐트를 랜더링하는 시스템 및 방법
KR20070007698A (ko) 스트리밍 미디어의 고속 시동
CN110996160B (zh) 视频处理方法、装置、电子设备及计算机可读取存储介质
KR101117874B1 (ko) 실시간 제어 프로토콜(rtcp) 메시지 내로의 세션 설명메시지의 임베딩
US9049465B2 (en) Media sharing apparatus and method
US10015559B2 (en) Transcoding detection and adjustment of content for optimal display

Legal Events

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

Payment date: 20140417

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160419

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170420

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180417

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190417

Year of fee payment: 9