KR100431110B1 - 미디어 데이터 전송을 위한 방법 및 장치 - Google Patents

미디어 데이터 전송을 위한 방법 및 장치 Download PDF

Info

Publication number
KR100431110B1
KR100431110B1 KR10-2000-7007888A KR20007007888A KR100431110B1 KR 100431110 B1 KR100431110 B1 KR 100431110B1 KR 20007007888 A KR20007007888 A KR 20007007888A KR 100431110 B1 KR100431110 B1 KR 100431110B1
Authority
KR
South Korea
Prior art keywords
data
media
time
data sequence
hint
Prior art date
Application number
KR10-2000-7007888A
Other languages
English (en)
Other versions
KR20010034224A (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 KR20010034224A publication Critical patent/KR20010034224A/ko
Application granted granted Critical
Publication of KR100431110B1 publication Critical patent/KR100431110B1/ko

Links

Classifications

    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2381Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/4143Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a Personal Computer [PC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • H04N21/4381Recovering the multiplex stream from a specific network, e.g. recovering MPEG packets from ATM cells
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • H04N7/52Systems for transmission of a pulse code modulated video signal with one or more other pulse code modulated signals, e.g. an audio signal or a synchronizing signal
    • 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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Systems (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Television Signal Processing For Recording (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 데이터 통신 매체에서 전송을 위한 미디어 데이터 처리를 위한 방법 및 장치에 관한 것이다. 데이터 세트는 전송 프로토콜에 따라 시간관련 미디어 데이터 시퀀스를 어떻게 전송하는 지를 나타낸다. 데이터 세트는 시간 관련 미디어 데이터 시퀀스와 연관된 시간관련 데이터 시퀀스를 포함한다. 데이터 세트는 시간관련 미디어 데이터 시퀀스를 전송하기 위하여 디지털 처리 시스템에 이용될 수 있다(예를 들어, 전송 프로토콜 및 데이터 세트에 따라 생성된 패킷에 의하여).

Description

미디어 데이터 전송을 위한 방법 및 장치 {METHOD AND APPARATUS FOR MEDIA DATA TRANSMISSION}
본 발명은 전송을 위한 미디어 데이터의 시간 관련 시퀀스를 제공하는 방법 및 장치에 관한 것이며, 특히 상기와 같은 미디어 데이터의 패킷화된 전송에 관한 것이다.
오늘날 시간 베이스 미디어(time-based media)를 저장하기 위하여 여러 가지 상이한 파일 구조가 이용되는데, 이는 예를 들면 AIFF와 같은 오디오 포맷, AVI와 같은 비디오 포맷 및 RealMedia와 같은 스트리밍 포맷 등이다. 상기와 같은 파일 구조가 상이한 이유중 하나는 목적 및 응용분야가 상이하기 때문이다. 이들 포맷중 일부는 상당히 광범위하게 허용되고 그 응용분야가 넓으며 이용하기가 어느 정도 간단하기 때문에, 내용전달 뿐만 아니라 교환 포맷으로서 이용될 수 있다. 이들 범용 포맷중 최고는 퀵타임(QuickTime) 파일 포맷이다. 이는 오늘날 시간 베이스 데이터를 서비스하는 대부분의 웹 사이트; 전문적인 것을 포함한 대부분의 저술환경; 및 대부분의 멀티미디어 CDROM 타이틀에 이용된다.
퀵타임 미디어층은 시간 베이스 머티리얼(비디오, 오디오 등)을 강조하면서 일반적인 멀티미디어 데이터의 효율적인 디스플레이 및 관리를 지원한다. 미디어 층은 미디어 정보의 저장 및 교환 포맷으로서 퀵타임 파일 포맷을 이용한다. 층의 아키텍쳐 능력은 일반적으로 현재 구현할 수 있는 것보다 넓으며, 파일 포맷은 현재의 퀵타임 구현에 의하여 요구되는 것보다 많은 정보를 나타낼 수 있다.
동기화된 미디어의 국부적인 무작위 액세스를 지원하기 위하여 설계된 AVI와 같은 포맷과 대조적으로, 퀵타임은 시스템이 범용 멀티미디어 표현의 데이터, 관계 및 타이밍을 관리하도록 한다. 특히, 퀵타임 파일 포맷은 일반적인 시간 베이스 스트림의 임시 동작, 네트워크 패킷의 시간 베이스 방출을 커버하는 개념 및 멀티미디어 데이터의 시간 베이스 국부 표현을 나타내는 구조를 갖는다.
현재의 퀵타임 파일 포맷은 1996년 5월 파일 포맷 규정으로서 애플 컴퓨터에 의하여 공개적으로 개시되었으며, 이는 퀵타임 사이트<http://.www.apple.com/quicktime>에서 찾을 수 있다.
퀵타임 파일 포맷의 특징중 하나는 미디어 데이터의 물리적 구조(디스크 레코드에서의 배치)가 파일에 대한 논리적 구조와 독립적이고 논리적 구조에 의하여 표현되는 개념을 가진다는 것이다. 파일은 "무비(movie)" 매타-데이터 세트에 의하여 완전하게 표현된다. 이 메타-데이터는 실제 미디어 데이터에 대한 선언적이고, 구조적이고 임시적인 정보를 제공한다.
미디어 데이터는 표현 데이터("무비" 메타-데이터)와 동일한 파일 또는 다른 파일에 있을 수 있다. 하나의 파일로 구성된 무비는 일반적으로 "플랫(flat)"이라고 하며 독립적이다. 넌플랫 무비는 다른 파일에서 미디어 데이터의 일부 또는 모두로 참조하여 구성될 수 있다.
따라서, 포맷은 일반적으로 상이한 애플리케이션에 있어서 최적화에 적합하다. 예를 들어, 에디팅(작성)할 때, 에디트(edit)가 적용되고 미디어가 재배열되기 때문에 데이터는 다시 쓸 필요가 없으며; 메타-데이터 파일은 연장되고 임시 맵핑 정보는 조정될 수 있다. 에디트가 완료되면, 관련 미디어 데이터 및 메타-데이터는 국부 또는 네트워크 액세스를 위하여 하나의 삽입되고 최적화된 파일에 다시 쓰여질 수 있다. 구조화된 파일 및 최적화된 파일은 유효한 퀵타임 파일이며, 이 둘은 검사되고, 재생되고 재가공될 수 있다. 구성된("넌플랫") 파일의 이용은 일부 기본 미디어 데이터가 몇 개의 표현에서 이용 및 재이용되게 한다. 이러한 동일한 장점은 서비스할 때 적용될 수 있으며, 이는 이하에 설명된다.
에디팅 및 서비스시에, 이는 다수의 다른 파일이 미디어 데이터를 복사하지 않고 무비의 일부로서 처리될 수 있게 한다. 따라서 에디팅 및 서비스는 선마이크로시스템의 "au" 오디오 포맷 또는 AVI 비디오 포맷과 같은 파일로부터 직접 수행되어 이들 포맷의 이용도를 확장시킨다.
퀵타임 파일은 원자(atom)라고 하는 오브젝트 세트로 분할된다. 각각의 오브젝트는 원자 헤더에서 시작되며, 원자 헤더는 그의 사이즈와 타입을 선언한다
사이즈는 사이즈 헤더 필드와 타입 헤더 필드를 포함하는 바이트 단위이다. 타입 필드는 4개의 문자(일반적으로 인쇄가능함)이며, 이는 문서화 및 식별을 용이하게 한다. 타입 필드다음의 오브젝트의 데이터는 필드이거나, 포함된 오브젝트의 시퀀스이거나, 그 둘 모두일 수 있다.
따라서 파일은 단순히 오브젝트의 시퀀스이다.
두 개의 중요한 탑 레벨 오브젝트(들)는 미디어 데이터(mdat) 및 메타-데이터(moov)이다.
미디어 데이터 오브젝트는 실제 미디어(예를 들어, 사운드 샘플 시퀀스)를 포함한다. 이들의 포맷은 파일 포맷에 의하여 제한되지 않으며; 이들은 일반적인 오브젝트가 아니다. 이들의 포맷은 메타-데이터로 표현되며 이들과 물리적으로 인접하는 선언문에 의하여 표현되지 않는다. 따라서, 예를 들어 모션-JPEG 단독으로 구성된 무비에서, JPEG 프레임은 여분 헤더를 방해하지 않고 메타-데이터에서 연속하여 저장된다. 미디어 데이터 오브젝트내의 미디어 데이터는 논리적으로 청크(chunk)로 분할되지만; 미디어 데이터내에는 명시적인 청크 마커는 존재하지 않는다.
퀵타임 파일이 다른 파일의 미디어 데이터를 기초할 때, 이들 "이차"파일이 퀵타임 규정에 따라 포맷될 필요는 없는데, 상기 미디어 데이터 파일이 마치 이들이 미디어 오브젝트의 내용인 것처럼 포맷될 수 있기 때문이다. 퀵타임 포맷은 미디어 데이터와 물리적으로 접하는 어떠한 헤더 또는 다른 정보를 요구하지 않기 때문에, 미디어 데이터가 "이질(foreign)" 헤더(예를 들어, UNIX".au"파일, 또는 AVI파일)를 포함하는 파일이 되는 것이 가능하거나 또는 퀵타임 메타-데이터가 적당한 선언적 정보를 포함하고 "이질"파일내의 미디어 데이터를 참조하는 것이 가능하다. 이 방식에서, 퀵타임 파일 포맷은 이종 포맷의 매터리얼의 현재 바디를 복사하지 않고도 업데이트하기 위하여 이용될 수 있다. 퀵타임 파일 포맷은 기존 파일이며 다른 기존 포맷과 함께 사용할 수 있으며 다른 기존 포맷을 포함하며 이에 의하여 기존 포맷을 이끈다.
자유 공간(예를 들어, 에디팅 동작에 의하여 삭제된 곳)은 오브젝트에 의하여 설명될 수 있다. 자유 공간 오브젝트를 포함하는 파일을 판독하는 소프트웨어는 상기와 같은 자유 공간 오브젝트 및 이해할 수 없는 레벨에 있는 오브젝트를 무시한다. 이는 새로운 오브젝트를 유도함으로써 가상적으로 소정 레벨로 파일을 확장시키도록 한다.
주요 메타-데이터는 무비 오브젝트이다. 퀵타임 파일은 파일의 시작부분 또는 끝부분에 있는 정확하게 하나의 무비 오브젝트를 가져서, 위치파악이 용이하도록 한다.
무비 헤더는 전체 프리젠테이션(presentation)에 대한 기본 정보(생성 데이터, 전체 타임스케일 등)를 제공한다. 포함된 오브젝트의 시퀀스에는 일반적으로 적어도 하나의 트랙이 존재하는데, 이는 임시 제공된 데이터를 표시한다.
트랙 헤더는 트랙에 대한 비교적 기본적인 정보(ID, 타임스케일 등)를 제공한다. 트랙에 포함된 오브젝트는 다른 트랙(예를 들어, 복합 구성을 위한), 또는 에디트 리스트에 대한 기준이 될 수 있다. 포함된 오브젝트의 시퀀스내에 미디어 오브젝트가 존재하며, 이 미디어 오브젝트는 트랙이 재생될 때 제공되는 미디어를 나타낸다.
미디어 오브젝트는 트랙에 의해 요구되는 프리젠테이션(예를 들어 샘플링된 오디오, 또는 MIDI, 또는 3D장면에 대한 방향 정보)에 관한 선언(declaration)을 포함한다. 트랙 타입은 핸들러에 의하여 선언된다.
미디어 정보내에는 데이터 핸들러(미디어 데이터를 패츠함)에 대한 핸들러 선언 및 데이터 정보 선언이 존재하는데, 상기 데이터 정보 선언은 어느 파일이 관련 트랙에 대한 미디어 데이터를 포함하는 지를 정의한다. 이러한 선언을 이용하여, 몇 개의 파일에 걸쳐있는 무비가 형성될 수 있다.
가장 낮은 레벨에서, 파일에 저장된 데이터와 트랙의 시간적인 특성을 관련시키는 샘플 테이블이 이용된다.
샘플 표현은 미디어에 대한 정보(예를 들어, 비디오에 이용된 압축 포맷)를 포함한다. 시간 대 샘플 테이블은 트랙의 시간과 상기 시간에 디스플레이되야 하는 샘플(인덱스에 의한)을 상관시킨다. 동기 샘플 테이블은 어느 것이 동기(키이) 샘플인지를 선언하는데, 다른 샘플에 의존하지 않는다.
샘플 대 청크 오브젝트는 주어진 샘플에 대한 미디어 데이터 및 주어진 인덱스에 대한 표시를 어떻게 발견할지를 선언한다.
샘플 사이즈 테이블은 각각의 샘플 사이즈를 표시한다. 청크오프셋 테이블은 각 청크의 처음에 포함 파일에 대한 오프셋을 표시한다.
소정 시간동안 디스플레이하기 위한 적당한 데이터를 발견하기 위하여 상기 구조를 작동시키는 것은 상당히 간단하며, 일반적으로 인덱싱과 가산을 포함한다. 동기 테이블을 이용하여, 이전 동기 샘플로 다시 이동하거나 '조용하게' 축적되는 델타를 원하는 시작 포인트로 전달하는 것이 가능하다.
도 1은 하나의 트랙을 가진 단순 무비 구조를 도시한다. 유사한 도면이 여러 오브젝트의 필드의 상세 설명과 함께 퀵타임 파일 포맷 문서에서 발견될 수 있다. 퀵타임 원자(오브젝트)는 그레이 박스에서 타입 및 표시 명칭과 함께 여기에 도시된다. 이러한 무비는 단일 비디오 트랙을 포함한다. 비디오의 프레임은 단일 데이터 청크에서 동일 파일에 있다. '청크'는 논리적 구조일 뿐이고 오브젝트가 아니라는 것을 알아야 한다. 청크내에는 비디오 프레임이 원래의 형태로 저장되어 있다. 비디오 프레임 자체내에는 필요한 헤더 또는 필드가 존재하지 않는다.
도 2는 오디오와 비디오 트랙을 가진 독립적인 파일에 대한 도면이다. 간단하게 하기 위하여 몇 개의 원자만이 여기에 도시되며; 물론, 트랙에서 미디어 데이터로의 포인터는 일반적인 샘플 테이블 선언이며, 이는 타이밍 정보를 포함한다.
퀵타임 파일 포맷은 여러 가지 장점을 가지는데, 이는 다음과 같다.
1) 사이즈와 비트 레이트에 대한 스케일성(scalability). 메타-데이터는 유동적이지만 컴팩트하다. 이는 작은 무비를 (예를 들어, 인터넷을 통해) 다운로드받기에 적합하게 하고 다수의 최종 에디팅 시스템에 대한 기초를 제공한다.
2) 물리적 구조는 논리적이고 임시적인 구조와 무관하다. 이는 파일이 가지는 사용에 따라 상이하게 의존하는 물리적 구조를 최적화한다. 특히, 단일 파일 포맷이 저술 및 에디팅; 다운로딩 또는 CDROM상의 기입; 및 스트리밍에 적합함을 의미한다.
3) 파일 포맷은 포맷이 설계될 때에 알려지지 않은 것을 포함해서 매우 광범위한 코드 타입 및 트랙 타입을 처리할 수 있다는 것으로 증명되었다. 상향 호환 가능 형태를 유도하는 이러한 증명된 능력은 저장 포맷의 성공에 기초한다.
스케일가능하거나 또는 층화된 코덱은 퀵타임 파일 포맷에서 여러 방식으로 처리될 수 있다. 스케일성을 지원하는 스트리밍 프로토콜에 있어서, 샘플은 층 또는 대역폭 임계치로 태그되어 샘플 전송에 만족되도록 한다.
대안 세트(예를 들어, 상이한 자연 언어 사운드 트랙)를 형성하는 트랙은 태그되어 하나만이 재생을 위해 선택될 수 있다. 동일한 구조가 스트리밍에 대한 대안(예를 들어, 언어 선택에 대한)을 선택하기 위하여 이용될 수 있다. 이러한 능력은 퀵타임 파일 포맷에 상세히 설명된다.
퀵타임이 무비 또는 트랙을 디스플레이할 때, 적당한 미디어 핸들러는 특정시간 동안 미디어 데이터를 액세스한다. 미디어 핸들러는 요구되는 데이터를 검색하기 위하여 데이터 스트림을 정확하게 해석해야한다. 예를 들어, 비디오 미디어에 대하여, 미디어 핸들러는 몇 개의 원자를 횡단하여 소정 미디어 시간 동안 샘플의 위치 및 사이즈를 파악한다. 미디어 핸들러는 다음과 같이 동작한다.
1. 미디어 시간 조정 시스템에서 시간을 결정한다.
2. 특정 시간 동안에 데이터를 포함하는 샘플 수를 결정하기 위하여 시간 대 샘플 원자를 검사한다.
3. 어느 청크가 해당 샘플을 포함하고 있는지를 발견하기 위하여 샘플 대 청크 원자를 스케일링한다.
4. 청크 오프셋 원자로부터 청크에 대한 오프셋을 추출한다.
5. 샘플 사이즈 원자를 이용함으로써 청크 및 샘플 사이즈내의 오프셋을 발견한다.
퀵타임 파일 또는 다른 타입의 시간관련 미디어 데이터 시퀀스를 데이터 통신 미디어를 통하여 전송할 것이 때때로 요구되는데, 이는 컴퓨터 네트워크(예를 들어, 인터넷)와 관련될 수 있다. 많은 컴퓨터 네트워크에서, 네트워크로 전송되는 데이터는 패킷 형태이다. 일반적으로, 시간관련 미디어 데이터 시퀀스는 네트워크를 통하여 전송하기에 적합한 패킷화된 포맷내에 있지 않다. 예를 들어, 퀵타임 파일 포맷의 미디어 데이터 파일은 패킷화된 포맷내에 있지 않다. 따라서, 스트리밍 데이터라고 하는 데이터를 네트워크를 통하여 전송하기 위한 패킷으로 수집할 필요가 있다.
네트워크를 통한 시간관련 미디어 데이터 시퀀스 전송시 문제를 처리하기 위한 종래 방법은 HTTP(Hypertext Transfer Protocol)과 같은 네트워크 또는 전송 프로토콜을 이용하여 네트워크를 통해 미디어 데이터를 전송하는 것이다. 따라서, 미디어 데이터 자체는 네트워크를 통하여 한 컴퓨터 시스템으로부터 다른 컴퓨터 시스템으로 전달된다. 그러나, 수신 컴퓨팅 시스템에서 미디어 파일을 유지할 필요는 없다. 즉, 미디어 파일이 수신 컴퓨터 시스템에 수신되고 가시화되거나 청취될 때, 예를 들어 수신 컴퓨팅 시스템이 네트워크 컴퓨터 또는 낮은 저장 용량을 가진 컴퓨터일 경우 수신 컴퓨터 시스템의 사용자에 의하여 파일 복사본을 저장할 필요가 없다.
네트워크를 통하여 패킷 단위로 전송하기 위하여 데이터를 수집하는 문제를 해결하기 위한 선택적인 방법은 특정 전송 프로토콜을 위한 파일에 네트워크 프로토콜 데이터 유니트를 포함하는 파일을 준비하는 것이다. 어떤 점에서, 상기와 같은 파일은 특정 전송 프로토콜에 따라 전송됨에 따라 동일 포맷에 저장되는 패킷화된 파일로 고려될 수 있다. 이러한 동작의 수행은 특정 데이터 전송율 및 특정 미디어 파일 포맷에서 특정 네트워크 프로토콜에 대한 패킷화된 형태로 파일을 저장하는 것을 포함한다. 따라서, 특정 데이터 전송율로의 각각의 상이한 전송 프로토콜에 대하여, 파일은 패킷화된 폼으로 복제된다. 상기와 같은 파일의 고정된 폼은 응용성/호환성을 제한하고 상기 파일을 국부적으로 가시화하는 것을 곤란하게 한다. 따라서, 상기 방법은 여러 상이한 데이터 전송율로 여러 전송 프로토콜의 파일을 제공하고자 할 때 큰 저장용량을 요구할 것이다. 또한, 선택적인 종래 방법에 따라 생성된 각각의 패킷화된 파일은 특정 미디어 파일 포맷으로 한정되고 따라서, 동일 미디어 오브젝트(예를 들어 디지털 무비)에 대한 다른 미디어 파일 포맷은 송신 컴퓨터 시스템상에서 패킷화되고 저장된다.
시간 관련 미디어 데이터 시퀀스를 스트리밍하는 문제를 해결하기 위한 다른 방법은 요구되는 특정 전송 프로토콜에 따라 전송 시스템상에 요구될 때 미디어 데이터를 패킷화하는 것이다. 이러한 처리는 많은 경우에 상대적으로 많은 시간을 요구하며 따라서 전송 시스템의 성능을 느리게 한다.
따라서, 시간관련 미디어 데이터 시퀀스를 전송하기 위한 개선된 방법 및 장치가 요구된다.
도 1은 종래 기술에서 하나의 트랙을 가진 단순 무비 구조의 예를 도시한다.
도 2는 종래 기술의 독립적인 무비 파일의 예를 도시한다.
도 3은 본 발명에 따른 방법의 일 실시예를 도시하는 흐름도이다.
도 4는 본 발명의 힌트 트랙의 예를 도시한다.
도 5는 본 발명의 힌트 트랙의 다른 예를 도시한다.
도 6은 본 발명의 일 실시예에 따라 미디어 데이터가 교환되고 그리고/또는 처리되는 컴퓨터 네트워크 시스템을 도시한다.
도 7은 본 발명의 일 실시예에 따라 이용될 수 있는 디지털 처리 시스템의 블록도이다.
도 8은 본 발명의 일 실시예에 따라 미디어 데이터를 전송하기 위하여 힌트를 이용하는 시스템의 블록도이다.
도 9는 본 발명의 일 실시예에 따라 미디어 데이터를 전송하기 위하여 힌트를 이용하는 시스템의 블록도이다.
도 10은 본 발명의 일 실시예에 따라 미디어 데이터를 전송하기 위해 힌트를 발생시키는 방법을 나타내는 흐름도이다.
도 11은 본 발명의 일 실시예에 따라, 힌트에 의해 수신 시스템에 의하여 수신된 미디어 데이터를 처리하는 방법을 나타내는 흐름도이다.
도 12는 본 발명의 일 실시예에 따라 발생기와 같은 디지털 처리 시스템에 의하여 액세스될 수 있는 머신 판독가능 저장 미디어의 예를 도시한다.
도 13은 본 발명의 일 실시예에 따라 서버와 같은 디지털 처리 시스템에 의하여 액세스될 수 있는 머신 판독가능 저장 미디어의 예를 도시한다.
도 14는 본 발명의 일 실시예에 따라 수신 시스템 또는 다른 디지털 처리 시스템과 같은 디지털 처리 시스템에 의하여 액세스될 수 있는 머신 판독가능 저장 미디어의 예를 도시한다.
도 15는 본 발명의 일 실시예에 따라 미디어 및 힌트 정보를 저장 및/전송하는 데이터 저장 및/또는 통신 미디어를 도시한다.
본 발명은 데이터 통신 미디어의 전송을 위해 미디어 데이터를 처리하는 방법 및 장치를 제공한다. 일 실시예에서, 데이터 세트는 전송 프로토콜을 따라 시간관련 미디어 데이터 시퀀스를 어떻게 전송하는 지를 표시한다. 일 실시예에 따르면, 상기 데이터 세트는 시간관련 미디어 데이터 시퀀스와 관련된 시간관련 데이터 시퀀스를 포함한다. 본 발명에 따르면, 데이터 세트는 시간관련 미디어 데이터 시퀀스를 전송하기 위하여 디지털 처리 시스템에 이용될 수 있다(예를 들어, 전송 프로토콜 및 데이터 세트에 따라 생성된 패킷에 의하여).
본 발명은 컴퓨터 네트워크와 같은 통신 미디어를 통하여 전송하기 위한, 특히 예를 들어 비디오, 오디오, 비디오 및 오디오 등을 포함할 수 있는 시간관련 미디어 데이터 시퀀스의 패킷화된 전송을 위한 방법 및 장치를 제공하는 것이다.
본 발명의 일 실시예에서, 디지털 처리 시스템은 전송 프로토콜에 따라 시간관련 미디어 데이터 시퀀스를 전송하는 방식을 나타내는 데이터 세트를 생성한다. 일반적으로, 이러한 데이터 세트는 디지털 처리 시스템에 연결된 저장 디바이스 상에 저장된다. 또한, 이러한 데이터 세트는 시간관련 미디어 데이터 시퀀스와 관련된 시간관련 데이터 시퀀스이다.
본 발명은 컴퓨터 판독가능 미디어 상에 저장된 실행가능한 컴퓨터 프로그램 명령에 의하여 전적으로 수행되거나 또는 소프트웨어와 하드웨어의 결합체에서 수행될 수 있으며, 또는 일부 실시예에서는 하드웨어에서 전적으로 수행될 수 있다. 일반적으로 네트워크에 연결된 서버 컴퓨터 시스템은 힌트 트랙이라고 하는 상기 데이터 세트를 생성하며, 이 데이터 세트는 서버 컴퓨터 시스템에 연결된 저장 디바이스의 힌트 트랙을 저장된다. 클라이언트 컴퓨터 시스템이 미디어 데이터 파일의 프리젠테이션(예를 들어 뷰잉 또는 청취 또는 뷰잉과 청취)을 요구할 경우, 서버 시스템은 클라이언트 컴퓨터 시스템에 전송하기 위한 미디어 데이터를 패킷화하는 방법을 결정하기 위하여 힌트 트랙을 이용한다. 본 발명은 일반적으로 시간관련 미디어 데이터 시퀀스에 이용가능하며 퀵타임은 여기서 일반적인 이용의 예를 나타낸다는 것을 알 것이다. 따라서 본 발명은 퀵타임에 제한되지 않는다.
도 3은 본 발명에 따른 방법의 일 실시예를 도시한다. 도 3에 도시된 방법(300)은 단계(301)에서 시작하며, 단계(301)에서 전송하고자 하는 특정 미디어 데이터를 위한 미디어 파일 포맷이 결정된다. 단계(303)에서, 이용될 특정 전송프로토콜 또는 프로토콜들 역시 결정된다. 그러나, 단계(301, 303)는 예를 들어 동일 전송 프로토콜을 이용하여 동일 미디어 파일 포맷이 항상 전송되는 경우에는 선택적이다.
단계(305)에서, 서버 컴퓨터 시스템과 같은 디지털 처리 시스템은 시간관련 미디어 데이터 시퀀스를 패킷화하기 위한 힌트를 생성하고 미디어 파일에 저장한다. 선택적으로, 하나의 컴퓨터 시스템은 힌트를 생성하여 이를 서버 컴퓨터 시스템과 같은 다른 시스템에 제공할 수 있으며, 상기 다른 시스템은 이들을 나중에 전송 프로세스에서 이용하기 위하여 저장한다. 패킷화는 단계(303)에서 결정한 원하는 전송 프로토콜을 따라 네트워크 또는 통신 미디어를 통하여 전송되도록 한다. 본 발명의 일 실시예에서, 힌트는 참고되는 시간관련 힌트 시퀀스 트랙으로서 저장되지만, 일 실시예에서는 미디어 데이터의 다른 트랙으로부터 분리된다. 힌트 트랙은 본 발명의 일 실시예에서, 참고되는 미디어 데이터로부터 분리되어 저장될 수 있다. 따라서, 힌트 트랙은 힌트 트랙에 의하여 참조되는 미디어 데이터를 포함하는 다른 파일과 구별된 파일에 저장되거나 또는 힌트 트랙은 실제 미디어 데이터를 포함하는 데이터 영역과 분리되고 구분되는 미디어 데이터를 포함하는 파일의 힌트 영역에 저장될 수 있다. 본 발명의 일 실시예에서, 힌트 트랙 또는 그 일부는 서버에 의해 실행가능한 명령으로서 해석될 수 있으며, 상기 실행가능한 명령은 서버가 시간관련 데이터 시퀀스를 패킷화하도록 하는데, 상기 시간관련 데이터 시퀀스는 일반적으로 시간 베이스 미디어 데이터(time-based media data)이지만 꼭 그렇지는 않다. 본 발명의 일 실시예에서, 힌트는 전송 중인 디지털 처리 시스템에 연결된 저장 디바이스 상에 저장된다.
단계(307)에서, 힌트에 따라 패킷화된 데이터는 서버 컴퓨터 시스템과 같은 전송 시스템으로부터 수신 시스템으로 전송된다. 이러한 미디어 데이터는 힌트에 따라 미디어 데이터를 패킷화함으로써 전송된다. 본 발명의 선택적인 실시예에서, 서버 컴퓨터 시스템은 선택적인 패킷화 프로세스에 의하여 힌트를 이용하지 않고 미디어 데이터를 전송하지 않을 것을 결정할 수 있다.
단계(309)에서, 수신 시스템은 미디어 데이터에 의하여 표현되는 미디어 오브젝트를 제공한다. 일반적으로, 이러한 프리젠테이션(미디어 오브젝트의 뷰잉과 청취 및 미디어 오브젝트의 단순한 뷰잉 또는 단순한 청취일 수 있다)은 수신 시스템에 패킷화된 데이터가 수신됨으로써 수행된다. 패킷화된 데이터는 본 발명의 일 실시예에서, 수신 시스템에 저장될 수 있지만, 꼭 그런 것은 아니다. 따라서 데이터의 프리젠테이션은 프리젠테이션이 종료할 경우 수신 시스템에 국부적 카피가 없다는 의미에서 오래가지 않는다. 다른 실시예에서, 미디어 오브젝트의 프리젠테이션은 미디어 오브젝트를 나타내는 미디어 데이터에 대한 힌트를 생성한 후에 서버 컴퓨터 시스템에 발생될 수 있다. 본 발명의 일 실시예에서, 미디어 데이터는 힌트에 따라 패킷화하기 위하여 (재)포맷화, 복사, 등등이 요구되지 않는다.
단계(311)에서, 수신 시스템은 수신된 미디어 파일이 수신 시스템상에 저장되어 있다면 미디어 파일을 선택적으로 다시 어셈블링할 수 있다. 도 3에 도시된 방법의 여러 가지 단계는 위에서 도시되고 설명된 것과 다른 순서로 수행될 수 있으며 그리고/또는 일부 단계는 동시에 수행될 수 있다. 예를 들어, 일 실시예에서, 단계(309)와 (311)는 동시에 수행될 수 있다.
본 발명의 일 실시예에 따른 퀵타임의 특정 수행이 이하에 설명된다. 본 발명의 일 실시예에서, (예를 들어, 서버, 발생기 등에서) 파일에 뷰잉되고 퀵타임 무비내의 네트워크를 통하여 스트리밍될 수 있는 프리젠테이션이 제공된다. 일반적으로, 스트리밍 서버(또는 다른 시스템)는 컴포지션과 타이밍을 스트리밍하기 위하여 데이터 유니트에 대한 정보를 가진다. 상기와 같은 정보는 일반적으로 임시적이기 때문에 트랙에 표시될 수 있다. 서버는 예를 들어 프리젠테이션을 뷰잉하기 위하여 이용될 때 동일 인덱싱 동작을 이용함으로써 패킷화를 수행하고 프로토콜 정보를 결정할 수 있다.
서버에 대한 명령을 포함하는 트랙을 '힌트'트랙이라고도 하는데, 이는 상기 트랙이 패킷 형성 및 전송 프로세스에서 서버로 전달하기 위한 데이터 세트를 나타내기 때문이다. 퀵타임 파일 포맷은 국부적 재생 및 네트워크를 통하여 미디어 데이터를 스트리밍하는 것을 지원한다. 프로토콜 데이터 유니트를 전달하는 프로세스는 시간 베이스 데이터의 디스플레이와 마찬가지로 시간 베이스이며 시간 베이스 포맷에 의하여 표시된다. 스트리밍을 지원하는 퀵타임 파일 또는 '무비'는 스트리밍하기 위한 데이터 유니트에 대한 정보를 포함한다. 이러한 정보는 "힌트" 트랙이라고 하는 파일의 추가 트랙에 포함된다.
힌트 트랙은 패킷 형성을 지원하는 스트리밍 서버(또는 다른 디지털 처리 시스템)에 대한 명령을 포함한다. 이들 명령은 서버가 미디어 데이터의 세그먼트를 전송 또는 참조하기 위한 즉시 데이터(예를 들어 헤더 정보)를 포함할 수 있다. 본 발명의 일 실시예에서, 명령은 에디팅 정보 또는 프리젠테이션 정보가 국부 재생을 위하여 퀵타임 파일에서 인코딩되는 것과 동일한 방식으로 퀵타임 파일에서 인코딩된다. 에디팅 또는 프리젠테이션 정보 대신에, 특정 네트워크 전송을 이용하여 스트리밍하기에 적당한 방식으로 미디어 데이터를 서버가 패킷화하도록 할 수 있게 하는 정보가 제공될 수 있다.
본 발명의 일 실시예에서, 국부 재생을 위한 것이든 또는 다수의 상이한 전송 타입을 통한 스트림을 위한 것이든 동일 미디어 데이터가 힌트를 포함하는 퀵타임 파일에 이용된다. 상이한 전송 타입을 위한 별도의 '힌트'트랙은 동일 파일 내에 포함될 수 있으며 미디어는 미디어 자체를 추가로 복사하지 않고도 모든 상기 전송 타입을 통하여 재생할 수 있다. 또한, 현재 미디어는 특정 전송에 대한 추가의 적당한 힌트 트랙에 의하여 스트리밍될 수 있다. 본 발명에 따르면, 미디어 데이터 자체는 재계산되거나 재포맷될 필요가 없다.
따라서 힌트 트랙내의 샘플은 일반적으로 패킷을 형성하기 위한 명령을 포함한다. 이들 명령은 다른 트랙의 미디어 데이터의 세그먼트를 서버가 전달 또는 참조하기 위한 즉시 데이터(예를 들어 헤더 정보)를 포함할 수 있다.
본 발명의 일 실시예에서, 다음을 위해 3레벨 설계가 이용된다.
1) 미디어 데이터는 일반적으로 재생, 에디팅 등이 될 수 있는 네트워크 독립 트랙 세트로서 표시된다.
2) 서버 힌트 트랙에 대한 공통 선언 및 베이스 구조가 존재한다; 이 공통 포맷은 프로토콜에 독립적이지만 프로토콜(들)이 서버 트랙(들)에 표시되는 선언을포함한다.
3) 전송될 수 있는 각각의 프로토콜에 대한 서버 힌트 트랙의 특정 설계가 제공된다; 모든 이들 설계는 동일한 기본적인 구조를 사용한다. 예를들어, RTP(인터넷) 및 MPEG-2 트랜스포트(방송), 또는 새로운 표준 또는 밴더 특정 프로토콜에 대한 설계가 있을수 있다.
본 발명의 일실시예에서, 힌트 트랙의 지시하에서 서보에 의해 보내진 결과적인 스트림은 일반적인 스트림이고, 퀵타임(QuickTime) 정보의 트레이스를 필수적으로 포함하지는 않는다. 본 발명의 이런 실시예는 퀵타임, 또는 그 구조 또는 선언 스타일이 전송 미디어(예를들어, 네트워크 케이블) 또는 디코딩 스테이션상 데이터에 필수적으로 있는 것을 요구하지 않는다. 예를들어, RTP 하에서 스트리밍된 H.261 비디오 및 DVI 오디오를 사용하는 파일은 본 발명의 일실시예에서 코딩을 RTP로 패킹하기 위한 IETF 규격을 완전히 따르는 패킷 스트림을 유발한다.
본 발명의 일시예에서, 힌트 트랙은 프린젠테이션이 국부적으로 뷰잉될 때, 힌트 트랙이 필수적으로 수신 시스템에 의해 무시되도록 만들어지고 플래그된다.
일실시예에서, 예를들어, 비디오, 오디오 등을 포함할 수 있는 시간관련 미디어 데이터 시퀀스는 디지털 처리 시스템에 의해 패킷화되고, 그 다음에 동일한 디지털 처리 시스템상에 제공된다. 게다가, 패킷화는 빠르게 이루어질 수 있으므로, 제공, 저장, 판독 등이 이루어지는 시간 관련 시퀀스는 " 진행 중"에 패킷화된다. 일실시예에서, 힌트는 복사, 포맷 등이 되지 않은 미디어 데이터라 불리고; 예를들어, 힌트가 참조하는 미디어 데이터는 판독 전용 메모리등에 오리지날 포맷으로 저장될 수 있다.
일실시예에서, 패킷화를 제공하는 동일한 힌팅 루틴은 패킷화가 수행될 때 미디어를 제공한다. 본 발명의 다른 실시예에서, 시간 관련 미디어 데이터의 패킷화 파일은 힌트 트랙에 따라 생성되고 예를들어 추후 전송을 위하여 저장될 수 있다.
도 4는 본 발명의 일실시예에 따른 미디어 데이터를 전송하기 위한 힌트 트랙의 사용을 도시한다. 도 4에서, 힌트 트랙(401)은 미디어 트랙(403)에 대해 도시된다. RTP 패킷을 형성하는 방법을 기술하는 힌트 트랙 샘플(405) 같은 각각의 힌트 트랙 샘플은 헤더를 포함하고, 관련된 미디어 트랙(이 경우, 비디오 트랙(403))으로부터 몇몇 데이터를 참조할 수 있다. 도 4에 도시된 실시예에서, 미디어 데이터(비디오 프레임) 및 RTP 힌트는 관련 미디어 파일이 비교적 쉽게 판독될수있도록 삽입된다. 이 실시예에서, 각각의 프레임은 단일 RTP 패킷으로 피팅(fitting)함으로써 도시된다. 물론, 필요할 때 프레임을 몇 개의 패킷으로 분할하는 것이 가능하다. 역으로, 다수의 프레임들은 만약 원한다면 일반적으로 오디오 데이터로 수행된 단일 패킷에 배치될 수 있다.
상기된 바와같이, 상기된 논리 구조는 물리적 구조를 필요로 하지 않는다. 메타(meta) 데이터는 메모리에 캐쉬될 수 있고, 힌트 트랙 샘플은 그것들이 참조하는(도 4에 도시된 바와같이) 미디어 샘플에 물리적으로 삽입된다.
선택적으로, 종래 프레젠테이션에서 메타 데이터 및 미디어 데이터를 참조하고 증가시키는 힌트 트랙을 포함하는 메타 데이터 및 미디어 데이터의 새로운 세트를 기록하는 것이 가능하다. 도 5는 본 발명의 일실시예에 따라, 각각의 파일에서 미디어 데이터를 참조하기 위한 힌트 트랙의 사용을 도시한다. 도 5에서, 두 개의 영화 파일(502 및 504)이 도시되고, 상기 파일 각각은 자체 메타 데이터를 가진다. 제 1 영화 파일(502)은 비디오 트랙을 포함한다. 제 2 영화 파일(504)은 비디오 트랙 및 힌트 트랙 양쪽을 포함하지만, 메타 데이터는 비디오 트랙에 대한 미디어 데이터가 제 1 영화(502)에 속하는 것을 선언한다. 따라서 영화 파일(504)과 연관된 힌트는 제 1 영화(502)의 미디어 데이터를 가리킨다.
본 발명의 일실시예에서, 미디어 파일은 다중 프로토콜에 대한 패킷화 힌트 트랙을 포함할 수 있다. 상기와 같이, 각각의 트랙은 힌트 트랙이 적당한 프로토콜( 및 만약 적당하면 프로토콜 파라미터)의 선언을 포함한다. 이들 트랙은 모두 물론 파일의 기본적인 미디어 트랙으로부터의 미디어 데이터를 참조할 수 있다. 프로토콜 독립성 및 확장성에 대한 요구는 상기된 방식으로 부합될 수 있다.
본 발명의 일실시예에서, 힌트 트랙은 미디어 트랙의 모든 데이터를 사용할 필요가 없다. 힌트 트랙은 대역폭 임계값에 도달하기 위하여, 또는 다른 이유 때문에 (예를들어, 몇몇 비디오 프레임을 생략함으로써) 데이터의 서브세트를 사용할 수 있다. 다중 힌트 트랙이 동일 프로토콜에 제공될 수 있기 때문에, 다른 비율로 동일한 기본적인 미디어 정보 서브세트를 구분하는 것이 제공될 수 있다. 상기와 같이, 본 발명은 종래 방법 및 장치에 비해 개선된 스켈러빌러티를 제공할 수 있다.
힌트 트랙 그 자체, 및 퀵타임 메타 데이터가 일실시예에서 퀵타임 파일에 있어야 할 지라도, 베이스 미디어는 퀵타임이 중요하고 적소에서 참조될 수 있는 임의의 형태로 남겨질 수 있다는 것이 강조되어야 한다. 본 발명의 일실시예에서, 영화 파일의 메타 데이터는 미디어 데이터가 다른 파일에 있는 것을 선언하는 데이터 참조부를 포함할 수 있다. 샘플 테이블은 오프셋되고 따라서 포인터는 이런 '외래(foreign)' 파일의 데이터를 참조할 수 있다. 따라서, 본 발명의 일실시예에 따라, "au" 오디오 파일, "AVI" 오디오/비디오 파일, 및 MIDI 파일 같은 종래 포맷은 베이스 미디어 데이터의 복사 또는 리포맷팅을 요구하지 않고 스트림된다. 베이스 미디어 데이터가 별도 파일에 기록되는 것이 아니라, 별도 파일의 퀵타임 선언 및 힌트 정보에 의해 단순히 증가되기 때문에, 베이스 미디어 데이터는 CDROM 같은 판독 전용 장치 판독가능 미디어 상에 제공될 수 있다.
본 발명의 일실시예에서, 힌트 트랙은 오프 라인 계산 결과를 포함하고 패킷화, 및 만약 필요하다면 멀티플렉싱을 지원하기 위해 정보를 서버에 제공하기 위해 최적화된다.
예를들어, RTP(IETF 표준 실시간 프로토콜) 및 MPEG-2 이송을 위한 예시적인 힌트는 부록 A-C에 도시된다.
본 발명의 일실시예에서, 단일 파일은 부적당한 공간 비용없이 다중 프로토콜, 또는 동일 프로토콜의 다른 다중 파라미터화를 위한 힌트 트랙을 지원할 수 있다. 새로운 프로토콜, 및 그것들의 관련 힌트 트랙은 종래 프로토콜상에 따른 시스템 혼란없이 설계될 수 있다. 따라서, 본 발명은 적어도 하나의 일실시예에서 프로토콜 뉴트럴이다.
퀵타임 파일 포맷에서, 트랙은 메타 데이터를 갱신 또는 복사 및 증가시킴으로써 영화에 부가될 수 있다. 만약 미디어 데이터가 메타 데이터로부터 분리된 파일에 있거나, 최적화된 인터리브가 요구되지 않으면, 이것은 비교적 간단하고 효과적인 동작이다.
본 발명의 일실시예에서, 트랙은 하나의 트랙만을 포함하면서, 만약 원한다면 오리지날의 미디어 데이터를 참조할 수 있는 새로운 영화 메타 데이터 세트를 형성함으로써 추출될 수 있다.
예를들어, 본 발명의 일실시예에서, 다른 오디오 트랙 세트에 대한 대안으로서 마크된 새로운 오디오 트랙이 부가될 수 있다. 만약 언어 코드(예를들어, 프랑스, 또는 타칼로그)로 마크되면, 적당한 트랙이 프리젠테이션 시간에 선택될 수 있다.
SMPTE 시간 코드 트랙은 본 발명의 일실시예에 따라 요구될 때 제공되거나, 부가되거나, 제거될 수 있는 예시적인 스트림의 예이다.
본 발명의 일측면에 따라, 힌트 트랙은 종래 서버 또는 로컬 재생에 대한 호환성 문제를 유발하지 않고 새로운 프로토콜에 대한 새로운 포맷의 전개를 허용한다. 게다가, 새로운 미디어 트랙은 역호환성을 유지하면서 파일 포맷의 수명 동안에 부가될 수 있다.
본 발명의 일실시예에서, 확장 영역은:
a) 현재 퀵타임 파일 포맷(예를들어, 실험 장치 판독)에 의해 커버되지 않는 미디어 형태에 대하여 한정될 수 있는 새로운 트랙 형태.
b) 한정될 수 있는 종래 트랙에 대한 새로운 코딩 형태(예를들어, 비디오 또는 오디오 코덱). 코덱 특정 초기화 정보가 명백히 제공된다.
c) 새로운 프로토콜에 대하여 한정될 수 있는 새로운 힌트 트랙 형태, 및 미디어 데이터 그 자체에 대한 공간 비용을 초래하지 않고 하나 이상의 프로토콜에 대한 힌트 정보를 포함할 수 있는 파일.
판독 전용 미디어상의 종래 내용은 본 발명에 사용될수있다(예를들어, CD ROM, DVD 등상의 미리 패킷화된 영화).
게다가, 본 발명의 일측면에 따라, 다양한 "외래" 파일 포맷이 사용될 수 있다. 본 발명의 일실시예에서, 예를들어, 만약 종래 내용이 퀵타임 포맷에 있거나 내포될 수 있다면, 복사 또는 재 포맷을 요구하지 않고 에디팅 및 스트림될 수 있다.
본 발명의 일실시예에서, 만약 코덱이 대역폭의 스캘러빌러티를 달성하기 위하여 미디어 데이터의 스트립핑을 지원하면, 이들 스트립된 대역폭은 다중 스트림 트랙을 사용하여 표현될 수 있다. 각각의 트랙은 다른 대역폭을 나타낼 수 있다. 트랙은 기본 미디어의 선택된 서브세트로 그룹 지어진다.
본 발명의 일실시예에서, 만약 프로토콜이 대역폭 스캘러빌러티를 지원하면, 힌트 트랙 그 자체는 각 프로토콜 데이터 유니트(힌트 트랙의 샘플)에 대한 정보를 포함할 수 있다. 정보는 프로토콜 데이터 유니트가 네트워크에 유도되어야 하는 대역폭 임계값을 포함할 수 있다. 따라서, 힌트 트랙은 높고, 낮은 유용한 대역폭, 및/또는 데이터 전송을 위한 대역폭에 관련된 다른 정보를 가리킬 수 있다.
본 발명의 일실시예에서, 만약 프로토콜이 멀티플렉싱 프로토콜(예를들어, MPEG-2 트랜스포트)이면, 다른 힌트 트랙은 다른 데이터 속도를 달성하기 위하여엘리멘트 스트림 트랙의 다른 서브세트를 사용하여 만들어질 수 있다. 따라서, 몇몇 트랙은 낮은 비트 속도 전송을 위하여 완전히 생략될 수 있다.
본 발명의 일실시예에서, 만약 다른 코덱을 사용하여 베이스 데이터를 기록하는 것을 원한다면, 상기 트랙은 하나의 대안 그룹, 및 프리젠테이션을 위하여 선택된 그룹으로 형성될 수 있다. 프리젠테이션을 위하여 사용하기 위한 트랙의 선택은 통상적으로 프로토콜에 의존하고 여기에 기술된 힌트 트랙 방법을 사용함으로써 달성될 수 있다.
본 발명의 일실시예에서, 인크립션은 미디어 파일에 미리 적용될 수 있다. 이 경우, 인크크립트된 데이터는 (a) 오리지날 미디어 데이터(또는 오리지날 미디어 데이터가 만약 더 이상 필요하지 않으면 제거될수있다)에 링크된 새로운 엘리멘트 스트림(새로운 트랙) 또는 (b) 힌트 트랙 그 자체에 저장될 수 있다. (b)의 경우, 힌트 트랙이 진행 중에 기본적인 인크립트되지 않은 스트림으로부터 임의의 데이터를 추출하지 못하는 것이 가능하다. 따라서, 모든 미디어 데이터는 미디어 데이터가 인크립션에 의해 변환될수있기 때문에 스트림 패킷 프로토콜 데이터 유니트 정보뿐 아니라 힌트 트랙에 있을 수 있다.
내장된 목적 내용 정보의 예로서, 전체 영화 및 개별 트랙에 대한 IETF 세션 기술 정보는 사용자 원자(atoms) 같은 RTP 힌트 트랙에 대한 메타 데이터에 저장될 수 있다.
본 발명의 일실시예에서, 파일 포맷은 플레이할 수 있는 포맷의 미디어 데이터, 및 스트림 정보 양쪽을 포함한다. 일실시예에서, 미디어 독립성, 프로토콜 독립성, 및 미디어를 국부적으로 제공하기 위한 능력을 유지하는 동안, 비교적 낮은 오버헤드를 가지는 포맷으로부터 직접적으로 스트림하는 것이 가능하다.
본 발명의 일측면에 따라, 힌트 트랙은 코덱의 상세한 지식, 타이밍 및 패킷화를 오프 라인 제공 처리에서 유추할 수 있다. 따라서, 데이터 스트림을 생성하기 위한 힌트 트랙을 따르는 것은 비교적 간단하고 스트리밍되는 미디어의 특정화되지 않은 지식을 요구하지 않는다. 따라서, 데이터 내용의 항목으로부터 서버의 분리가 본 발명의 일측면에 따라 제공될 수 있다.
본 발명의 일실시예에서, 한세트의 힌트 트랙은 그들이 보내져야 하는 시간 시퀀스에서 논리 디스크 바운더리에 있는 디스크상에 네트워크 PDU를 설계함으로써 스트림하기 위하여 직접적으로 최적화될 수 있는 파일을 구성하기 위해 사용될 수 있다. 상기 파일은 더 이상 일반적인 프리젠테이션이 아니고 스트림될 수 있다. 일실시예에서, 힌트 트랙으로 생성된 패킷화된 파일은 저장되고 추후 스트림을 위하여 최적화된다.
본 발명의 일실시예에서, 외래 파일 포맷을 요약함으로써, 미디어 데이터는 다른 포맷으로 유지되고 퀵타임에서 발표된다. 예를들어, 종래 포맷은 적당한 랩퍼(wrapper)를 제공함으로써 새로운 미디어 데이터 파일로 직접적으로 요약화될 수 있거나, 그대로 남겨지고 세그먼트에서 또는 전체적으로 힌트 트랙에 의해 참조되어, 리거시(legacy) 포맷이 복사없이 스트림되게 한다. 단일 영화는 다중 리거시 포맷으로부터 선택된 부분을 포함할 수 있다. 본 발명은 베이스 미디어 포맷을 포함하지 않는다.
일반적으로, 캡쳐, 인증 및 에디팅, 다운로드 및 스트리밍을 스팬하는 일반적인 포맷은 가요성을 제공할 것이다. 자료는 사용후 재가공되거나, 복사 또는 재포맷없이 다중 방식으로 사용된다. 본 발명의 일실시예에서, 표준 에디터를 사용하여 힌트 트랙을 스트립핑하고, 에디팅이 완료된후 다시 힌팅함으로써 힌트될 수 있는 재료를 재가공 및 재사용하는 것이 가능하다.
만약 미디어 파일이 로컬 뷰잉을 위하여 다운로드되는 것을 원한다면, 최적화된 인터리브된 파일이 상기 목적을 위하여 이루어지고, 개개의 선언 파일의 스트리밍 메타 데이터는 동일한 베이스 미디어 데이터를 참조한다. 다운로드는 스트림 정보를 포함할수없고, 미디어 데이터는 스트리밍 서버에 일단 존재할 수 있다.
물리적 구조로부터 논리적 구조를 분리함으로써, 파일의 물리적 구조는 애플리케이션(예를들어, 에디팅, 로컬 뷰잉, 스트리밍)을 바탕으로 다르게 최적화될 수 있다.
각각의 미디어 트랙에 대한 다중 힌트 트랙의 존재를 허용함으로써, 본 발명의 일실시예에서는, 미디어의 다중 카피없이도 다중 프로토콜을 통해서 스트리밍함으로써 공표될 수 있다. 도 6은 본 발명의 일실시예에 따라, 미디어 데이터가 처리되는 컴퓨터 시스템의 네트워크 다이어그램이다. 도 6에 도시된 바와같이, 하나 이상이 도 3을 참조하여 기술된 수신 시스템의 한 구현을 나타낼 수 있는 다수의 클라이언트 컴퓨터 시스템은 인터넷(622)을 통하여 함께 결합된다. 용어 "인터넷"은 네트워크들 중 한 네트워크를 나타낸다는 것을 알아야 한다. 상기 네트워크는 TCP/IP, ATM, SNA, SDI 등 같은 정보의 교환을 위하여 다양한 프로토콜을 사용할 수 있다. 인터넷의 물리적 접속 및 인터넷의 프로토콜 및 통신 절차는 종래 기술에 잘 공지된다. 인터넷(103)에 대한 액세스는 ISP(624) 및 ISP(626) 같은 인터넷 서비스 제공자(ISP)에 의해 제공된다. 클라이언트 컴퓨터 시스템(602, 604, 618 및 620) 같은 클라이언트 시스템상의 사용자는 일반적으로 ISP(624 및 626) 같은 인터넷 서비스 제공자를 통하여 인터넷에 액세스할 수 있다. 인터넷에 대한 액세스는 클라이언트 컴퓨터 시스템(602, 604, 618 및 620) 및/또는 웹 서버 시스템(628) 같은 두 개 이상의 디지털 처리 시스템 사이에 정보(예를들어, 이메일, 텍스트 파일, 미디어 파일 등)의 전달을 용이하게 한다. 예를들어, 하나 이상의 클라이언트 컴퓨터 시스템(602, 604, 618, 및 620) 및/또는 웹 서버(628)는 다른 하나 이상의 클라이언트 컴퓨터 시스템(602, 604, 618 및 620) 및/또는 웹 서버(628)에 미디어 데이터(예를들어, 비디오 및 오디오, 또는 비디오, 또는 오디오)를 제공할 수 있다. 상기는 요구에 응답하여 제공될 수 있다. 여기에 기술된 바와같이, 상기 미디어 데이터는 힌트에 따라 시스템(600)에 전달될 수 있다. 본 발명의 일실시예에서 상기 힌트는 미디어 데이터의 특정 포맷 및/또는 특정 데이터 통신(예를들어, 네트워크) 프로토콜(들)에 따라 생성될 수 있다.
웹 서버(628)는 월드 와이드 웹의 프로토콜 같은 하나 이상의 데이터 통신 프로토콜로 동작시키기 위한 적어도 하나의 컴퓨터 시스템으로 구성되고 그로 인해 통상적으로 인터넷(622)에 결합된다. 선택적으로, 웹 서버(628)는 클라이언트 컴퓨터 시스템에 대한 다른 네트워크 및/또는 인터넷으로의 액세스를 제공할 수 있는 ISP 부분일 수 있다. 클라이언트 컴퓨터 시스템(602, 604, 618 및 620)은 각각 적절한 웹 브라우징 소프트웨어, 웹 서버(628)에 의해 제공될 수 있는 HTML 도큐먼트(예를들어, 웹 페이지) 같은 적당한 액세스 데이터를 가질 수 있다. 상기 데이터는 클라이언트 컴퓨터 시스템(602, 604, 618 및 620)에 의해 제공될 수 있는 퀵타임 영화같은 미디어를 제공할 수 있다.
ISP(624)는 클라이언트 컴퓨터 시스템(602)의 부분으로서 고려될 수 있는 모뎀 인터페이스(606)를 통하여 클라이언트 컴퓨터 시스템(602)에 대한 인터넷 접속을 제공한다. 클라이언트 컴퓨터 시스템은 맥키토시 컴퓨터, "네트워크" 컴퓨터, 핸드헬드/포터블 컴퓨터, 웹 TV 시스템, 또는 다른 형태의 디지털 처리 시스템(예를들어, 디지털 처리 능력을 가진 셀룰러 전화) 같은 종래의 컴퓨터 시스템일 수 있다. 유사하게, ISP(626)는 비록 도 6에 도시된 바와같이, 상기 접속성이 클라이언트 컴퓨터 시스템(602, 604, 618 및 620) 같은 여러 클라이언트 컴퓨터 시스템 사이에서 변화할 수 있을지라도, 클라이언트 컴퓨터 시스템(604, 618 및 620)에 대한 인터넷 접속을 제공한다. 예를들어, 도 6에 도시된 바와같이, 클라이언트 컴퓨터 시스템(604)은 모뎀 인터페이스(608)를 통하여 ISP(626)에 결합되고, 클라이언트 시스템(618 및 620)은 로컬 영역 네트워크(LAN)의 부분이다. 각각 도 6에서 모뎀(606 및 608)으로서 도시된 인터페이스(606 및 608)는 아날로그 모뎀, ISDN 모뎀, 케이블 모뎀, 위성 전송 인터페이스(예를들어, "다이렉트 PC"), 무선 인터페이스, 또는 클라이언트 컴퓨터 시스템 같은 디지털 처리 시스템을 다른 디지털 처리 시스템에 결합하기 위한 다른 인터페이스일 수 있다. 클라이언트 컴퓨터 시스템(618 및 620)은 네트워크 인터페이스(614 및 616)을 통하여 LAN 버스(612)에 각각 결합된다. 네트워크 인터페이스(614 및 616)는 에더넷 형, 비동기 전송 모드(ATM), 또는 다른 형태의 네트워크 인터페이스일 수 있다. LAN 버스는 LAN에 대한 방화벽 및 다른 인터넷 관련 서비스를 제공할 수 있는 게이트웨이 디지털 처리 시스템(610)에 결합된다. 게이트웨이 디지털 처리 시스템(610)은 차례로 클라이언트 컴퓨터 시스템(618 및 620)에 대한 인터넷 접속을 제공하기 위하여 ISP(626)에 결합된다. 게이트웨이 디지털 처리 시스템(610)은 예를들어 통상적인 서버 컴퓨터 시스템을 포함한다. 유사하게, 웹 서버(628)는 예를들어 통상적인 서버 컴퓨터 시스템을 포함한다.
시스템(600)은 하나 이상의 클라이언트 컴퓨터 시스템(602, 604, 618 및 620) 및/또는 웹 서버(628)가 미디어 데이터(예를들어, 비디오 및 오디오, 또는 비디오, 또는 오디오)를 하나 이상의 다른 클라이언트 컴퓨터 시스템(602, 604, 618 및 620) 및/또는 웹 서버(628)에 제공하게 한다. 상기 데이터는 예를들어, 하나 이상의 클라이언트 컴퓨터 시스템(602, 604, 618 및 620)일 수 있는 수신 시스템에 의한 요구에 응답하여 제공될 수 있다. 여기에 기술된 바와같이, 상기 미디어 데이터는 힌트 또는 힌트 트랙에 따라 시스템(600)에 전달될 수 있다. 본 발명의 일실시예에서, 상기 힌트는 본 발명의 일측면에 따라 미디어 데이터의 패킷화를 허용하도록 미디어 데이터의 특정 포맷 및/또는 특정 데이터 통신(예를들어, 네트워크) 프로토콜에 따라 생성될 수 있다.
도 7은 본 발명의 일실시예에 따라 사용될 수 있는 디지털 처리 시스템의 블록도이다. 예를들어, 도 7에 도시된 디지털 처리 시스템(650)은 클라이언트 컴퓨터 시스템, 웹 서버 시스템, 통상적인 서버 시스템 등으로서 사용될 수 있다. 게다가, 디지털 처리 시스템(650)은 ISP(624 또는 626) 같은 인터넷 서비스 제공자의 하나 이상의 기능을 수행하기 위하여 사용될 수 있다. 디지털 처리 시스템(650)은 모뎀 또는 네트워크 인터페이스(668)를 통하여 외부 시스템에 인터페이스될 수 있다. 모뎀 또는 네트워크 인터페이스(668)는 디지털 처리 시스템(650)의 일부로서 고려될 수 있다. 모뎀 또는 네트워크 인터페이스(668)는 두 개 이상의 디지털 처리 시스템 사이에 데이터 통신 링크를 제공하기 위한 아날로그 모뎀, ISDN 모뎀, 케이블 모뎀, 토큰 링 인터페이스, 위성 전송 인터페이스, 무선 인터페이스, 또는 다른 인터페이스일 수 있다.
디지털 처리 시스템(650)은 모터롤러 파워PC 프로세서, 인텔 펜티엄(또는 X86) 프로세서 등의 하나 이상의 종래 형태의 프로세서를 포함하고 하나 이상의 프로세서를 나타낼 수 있는 프로세서(652)를 포함한다. 메모리(155)는 버스(656)에 의해 프로세서(652)에 결합된다. 메모리(155)는 다이나믹 랜덤 액세스 메모리(DRAM)일 수 있고 및/또는 스태틱 RAM(SRAM)을 포함할 수 있다. 상기 프로세서는 메모리(155)의 일부로서 또는 메모리(155)와 별개로서 고려될 수 있는 다른 형태의 저장 영역/메모리(예를들어, 캐쉬, 플래쉬 메모리, 디스크 등)에 결합될 수 있다.
버스(656)는 프로세서(652)를 디스플레이 제어기(658), 매스 메모리(662), 모뎀 또는 네트워크 인터페이스(668), 및 입력/출력(I/0) 제어기(664)에 추가로 결합한다. 매스 메모리(662)는 자기, 광학, 자기 광학, 테이프, 및/또는 정보를 저장하기 위한 다른 형태의 기계 판독가능 미디어/장치를 나타낼 수 있다. 예를들어, 매스 메모리(662)는 하드 디스크, 판독 전용 또는 기입 가능 광학 CD 등을 나타낼 수 있다. 디스플레이 제어기(658)는 음극선관(CRT) 디스플레이, 액정 디스플레이(LCD), 플라즈마 디스플레이, 또는 다른 형태의 디스플레이 장치를 나타내는 디스플레이(660)를 통상적인 방식으로 제어한다. I/O 제어기(664)는 하나 이상의 키보드, 마우스/트랙볼 또는 다른 포인팅 장치, 자기 및/또는 광학 디스크 드라이브, 프린터, 스캐너, 디지털 카메라, 마이크로폰 등을 포함할 수 있는 I/O 장치(666)를 제어한다.
디지털 처리 시스템(650)은 많은 다른 구조 및 아키텍쳐를 가지며, 본 발명에 사용될 수 있는 시스템의 일실시예만을 나타낸다는 것을 알 것이다. 예를들어, 맥킨토시 및 인텔 시스템은 주변 버스, 전용 캐쉬 버스 등 같은 다중 버스를 가진다. 다른 한편, 본 발명의 디지털 처리 장치로서 사용될 수 있는 네트워크 컴퓨터는 예를들어 하드 디스크 또는 다른 매스 저장 장치를 포함하는 것이 아니라 프로세서(652)에 의해 처리될 모뎀 또는 인터페이스(668) 같은 네트워크 접속부로부터 루틴 및/또는 데이터를 수신할 수 있다. 유사하게, 종래 기술에 공지된 웹 TV 시스템은 본 발명의 디지털 처리 시스템으로 고려될수있지만, 상기 시스템은 I/O 장치(666)을 참조하여 상기된 바와같은 하나 이상의 I/0 장치를 포함하지 않을 수 있다. 부가적으로, 셀룰러 전화 및/또는 페이징 성능을 이용할 수 있는 포터블 통신 및 데이터 처리 시스템은 본 발명에 사용될 수 있는 디지털 처리 시스템으로 고려될 수 있다.
도 7에 도시된 시스템(650)에서, 매스 메모리(662)(및/또는 메모리 654)는 본 발명에 따라(예를들어, 힌트 방식으로) 처리될 수 있는 미디어(예를들어, 비디오, 오디오, 영화 등)를 저장할 수 있다. 선택적으로, 미디어 데이터는 모뎀 또는 네트워크 인터페이스(668)를 통하여 디지털 처리 시스템(650)에 의해 수신되고, 디스플레이(660) 및/또는 I/0 장치(666)에 의해 저장되고 및/또는 제공될 수 있다. 일실시예에서, 패킷 미디어 데이터는 힌트 트랙에 따라 LAN 및/또는 인터넷 같은 데이터 통신 네트워크를 통해 전송된다. 다른 한편, 프로세서(652)는 힌트 트랙에 따른 프리젠테이션 또는 패킷화를 위하여 미디어(예를들어, 미리 패킷화된 영화, 오디오 파일, 비디오 파일 등)을 처리할 목적으로 하나 이상의 힌트 트랙을 가지는 파일을 사용하거나, 선택적으로 하나 이상의 힌트 트랙을 하나 이상의 루틴을 실행할 수 있다. 상기 루틴은 디지털 처리 시스템(650)에 의해 액세스할 수 있는 매스 메모리(662), 메모리(664), 및/또는 다른 기계 판독가능 미디어에 저장될 수 있다. 일실시예에서, 디지털 처리 시스템(650)은 그 안에 내장된 힌트 트랙을 가지는 미디어 데이터를 처리할 수 있다. 유사하게, 상기 내장된 미디어 데이터는 디지털 처리 시스템(650)에 의해 액세스할 수 있는 매스 메모리(662), 메모리(664), 및/또는 다른 기계 판독가능 미디어에 저장될 수 있다.
도 8은 본 발명의 일실시예에 따라 미디어 데이터를 전달하기 위하여 힌트를 사용하는 시스템의 블록 다이어그램이다. 도 8에 도시된 시스템(680)은 데이터 통신 링크(686)를 통하여 서버(694)에 결합된 클라이언트 데이터 처리 시스템(682)으로서 묘사된 수신 시스템을 포함한다. 서버(694) 및/또는 클라이언트 데이터 처리 시스템은 도 6 및 도 7을 참조하여 기술된 하나 또는 장치/시스템의 결합을 표현한다.
서버(694)는 힌트 생성 및 처리 유니트(688), 미디어 처리 유니트(690), 및 데이터 통신 유니트(692)를 포함하고, 그 각각은 하드 와이어 회로 또는 기계 실행가능 명령 또는 그것의 결합을 포함한다. 게다가, 상기 하드 와이어 회로 및/또는 장치 실행 명령의 적어도 일부는 힌트 생성 및 처리 유니트(688), 미디어 처리 유니트(690), 및 데이터 통신 유니트(692)의 결합부 사이에 공유될 수 있다. 일실시예에서, 적당한 루틴 및/또는 적어도 하나의 프로세서에 결합된 그 내부에 저장된 데이터를 가지는 적어도 하나의 저장 영역/메모리(예를들어, 기계 판독가능 미디어)는 힌트 생성 및 처리 유니트(688), 미디어 처리 유니트(690), 및 데이터 통신 유니트(692)중 하나 또는 결합부를 실행하기 위하여 적어도 부분적으로 사용된다.
일실시예에서, 힌트 생성 및 처리 유니트(688)는 미디어 처리 유니트(690)에 의해 처리된 미디어 데이터의 패킷화를 위하여 힌트를 생성 및 저장한다. 상기된 바와같이, 힌트는 미디어 파일에 관련하여 각각의 파일로서 생성 및 저장되거나 미디어 데이터에 삽입된다. 만약 하나 이상의 미디어 포맷이 처리되면, 적당한 포맷은 힌트를 생성하기 위하여 힌트 생성 및 처리 유니트(688)에 의해 고려될 수 있다. 미디어 포맷에 관한 정보는 미디어 데이터(예를들어, 비디오, 오디오, 또는 비디오 및 오디오 등의 미디어 파일)을 제공할 수 있는 미디어 처리 유니트(690)에 의해 제공될 수 있다. 유사하게, 데이터 통신 유니트(692)는 데이터 통신 링크(686)를 통하여 힌트에 따라 패킷화된 상기 미디어 데이터의 교환을 위한 하나 이상의 데이터 통신(예를들어, 네트워크)를 제공할 수 있다. 이로써, 힌트 생성 및 처리 유니트는 미디어 처리 유니트(690)에 의해 제공된 미디어 포맷 정보 및 데이터 통신 유니트(692)에 의해 제공된 데이터 통신 프로토콜 정보를 바탕으로, 클라이언트 데이터 처리 시스템(682) 같은 수신 디지털 처리 시스템에 전달하기 위한 미디어 및/또는 힌트의 적당한 힌트 및 패킷화를 결정할 수 있다. 일실시예에서, 미디어 및 힌트의 스트리밍은 퀵시간 포맷에 따라 행해진다.
데이터 통신 링크(686)를 통해 수신된 미디어 데이터 및 힌트 패킷에 응답하여, 클라이언트 데이터 처리 시스템(682)은 미디어 데이터에 의해 표현된 미디어 오브젝트를 제공할 수 있다. 상기 프리젠테이션은 상기된 바와같이 순간적으로 수행된다. 본 발명의 일실시예에서, 미디어 데이터는 클라이언트 데이터 처리 시스템(682)에 의해 선택적으로 저장되고 예를들어 추후 클라이언트 데이터 처리 시스템(682)에 의해 프리젠테이션 및/또는 전송을 위하여 재결합된다.
도 9은 본 발명의 일실시예에 따라 미디어 데이터를 전송하기 위하여 힌트를 사용하는 시스템의 블록 다이어그램이다. 특히, 도 9는 본 발명의 일실시예를 기술하고 여기서 제너레이터라 불리는 개별 디지털 처리 시스템은 클라이언트 시스템 같은 다른 시스템에 전달하기 위한 미디어 데이터를 패킷화하기 위하여 힌트를 사용하는 서버 같은 다른 시스템에 제공하기 위한 힌트(또는 힌트 트랙)을 생성할 수 있다. 시스템(696)은 데이터 통신 링크(686)를 통하여 클라이언트 데이터 처리 시스템(682)과 데이터를 교환할 수 있는 서버(700)를 포함하고, 도 9에 도시된다. 그러나, 도 9에 도시된 실시예에서, 서버(700)는 힌트를 생성하지 않는다. 오히려, 데이터 통신 링크(708)에 의해 서버(700)에 결합된 제너레이터(700)는 미디어 데이터를 패킷화하기 위하여 사용된 힌트를 생성하기 위해 힌트 생성 유니트(712)를 포함한다.
일실시예에서, 시스템(696)의 동작은 다음과 같다: 서버(700)는 미디어 데이터를 포함하는 하나 이상의 미디어 파일에 대한 힌트를 생성하라고 제너레이터(710)에게 요구한다. 예를들어, 미디어 파일은 기계 판독가능 미디어상 의 서버(700)에 저장될 수 있다. 상기 요구는 미디어 데이터 및/또는 다른 데이터의 전송을 위하여 미디어 파일 및/또는 데이터 통신 프로토콜의 포맷을 나타내기 위한 정보를 포함한다. 데이터 통신 프로토콜은 본 발명의 일실시예에서 서버(700) 및 클라이언트 데이터 처리 시스템(682) 사이에서 미디어 및/또는 데이터의 교환을 용이하게 하기 위하여 특정 물리적 및 논리적 특성을 가지는 네트워크 접속과 관련된다. 상기 요구에 응답하여, 힌트 생성 유니트(712)는 시간 관련 힌트 트랙과 관련될 수 있는 적당한 힌트를 생성하고 상기 힌트를 서버(700)에 제공한다. 데이터 통신 링크(708)를 통해 제너레이터(710)로부터 수신된 힌트에 응답하여, 서버(700), 및 특히 힌트 처리 유니트(702)는 클라이언트 데이터 처리 시스템(682)에 전송하기 위한 미디어 데이터를 패킷화하기 위하여 힌트를 사용한다.
데이터 통신 링크(686)을 통하여 수신된 미디어 데이터 및 힌트 패킷에 응답하여, 클라이언트 데이터 처리 시스템(682)은 미디어 데이터에 의해 표현된 미디어 오브젝트를 제공할 수 있다. 상기 프리젠테이션은 상기된 바와같이 순식간에 수행될 수 있다. 본 발명의 일실시예에서, 미디어 데이터는 클라이언트 데이터 처리 시스템(682)에 의해 선택적으로 저장되고 예를들어 클라이언트 처리 시스템(682)에 의한 추후의 프리젠테이션 및/또는 전송을 위하여 재결합된다.
도 10은 본 발명의 일실시예에 따라, 미디어 데이터 전송을 제공하기 위하여 힌트를 생성하기 위한 방법을 도시하는 흐름도이다. 단계(720)에서, 하나 이상의 포맷이 사용되면 전송될 미디어 데이터에 대한 미디어 포맷이 결정된다. 만약 하나의 포맷만이 사용되면, 720은 수행되지 않을 수 있다. 단계(722)에서, 적당한 데이터 통신 프로토콜은, 하나 이상의 (프로토콜)이 사용된다면 결정된다. 단계(724)에서, 미디어 포맷 및 데이터 통신 프로토콜을 바탕으로 (그 중 하나 또는 양쪽 모두가 선택/구성될 수 있다), 미디어 데이터 전송에 관련된 힌트(예를들어, 힌트 트랙)는 생성 및 저장된다.
선택적인 단계(726)에서, 힌트는 다른 디지털 처리 시스템에 전송될 수 있다. 본 발명의 일실시예에서, 예를들어, 도 10의 방법은 적어도 부분적으로 하나의 디지털 처리 시스템(예를들어, 서버)에 의해서만 수행될 수 있다. 다른 실시예에서, 도 10의 방법은 적어도 부분적으로 두 개 이상의 디지털 처리 시스템에 의해 수행될 수 있다. 예를들어, 미디어 데이터의 속성은 서버 또는 다른 시스템에 의해 제너레이터 같은 다른 디지털 처리 시스템에 제공될 수 있다. 응답하여, 제너레이터는 상기 속성을 바탕으로 결정하고, 적당한 미디어 포맷, 데이터 통신 프로토콜, 및 미디어 데이터의 패킷화를 위한 힌트를 결정하는데, 이들은 서버에 저장될 수 있다. 선택적으로, 서버는 힌트를 생성할 수 있는 제너레이터에 적당한 미디어 포맷 및 프로토콜을 제공한다. 제너레이터는 힌트에 따른 미디어 데이터를 패킷화할 수 있는 서버 또는 다른 디지털 처리 시스템에 힌트를 전송할 수 있다.
도 11은 본 발명의 일실시예에 따라, 힌트에 따라서 수신 시스템에 의해 수신된 미디어 데이터 처리 방법을 도시하는 흐름도이다. 단계(730)에서, 힌트 또는 힌트 트랙에 따라서 수신 시스템에 따라 전송된 미디어 데이터는 수신 시스템에 의해 수신된다. 일실시예에서, 수신 시스템은 패킷화된 힌트 트랙뿐 아니라 패킷화된 미디어 데이터를 수신할 수 있다. 본 발명의 일실시예에서, 힌트 트랙은 미디어 데이터의 적어도 일부와 관련될 수 있다. 상기 데이터는 수신 시스템에 의해 이루어질 수 있는 요구에 응답하여 수신 시스템에 의해 수신될 수 있다. 예를들어, 일실시예에서, 수신 시스템은 클라이언트 컴퓨터 시스템일 수 있고 상기 요구는 미디어 데이터를 위하여 서버 또는 다른 디지털 처리 시스템에 이루어질 수 있다. 응답하여, 상기 서버는 미디어 데이터를 패킷화하기 위한 힌트를 생성(또는 개별 디지털 처리 시스템에 의해 생성됨)할 수 있고, 힌트를 포함할 수 있는 패킷화된 미디어 데이터를 수신 시스템에 전송할 수 있다.
단계(732)에서, 수신 시스템에 의해 수신된 미디어 데이터에 의해 표현된 미디어 오브젝트는 수신 시스템에 의해 표현된다. 예를들어, 미디어 데이터는 예를들어 디스플레이 및 스피커상에서 수신 시스템에 의해 제공되는 비디오, 오디오, 또는 두 개의 결합물을 포함할 수 있다. 상기된 바와같이, 미디어 데이터는 퀵타임 영화와 관련될 수 있다.
선택적으로, 단계(734)에서, 힌트를 포함할 수 있는 미디어 데이터는 미디어 파일로서 수신 시스템에 의해 저장될 수 있다. 따라서, 본 발명의 다른 실시예에서, 단계(732)는 미디어 데이터가 수신될 때는 수행되지 않거나, 단계(734) 전후, 또는 동시에 수행될 수 있다.
단계(734)에서, 저장된 미디어 파일은 선택적으로 재결합되고 및/또는 제공될 수 있다. 이로써, 단계(732)는 단계(734) 다음에 수행될 수 있다.
도 12는 본 발명의 일실시예에 따라 제너레이터같은 디지털 처리 시스템에 의해 액세스될 수 있는 기계 판독가능 저장 미디어의 예이다. 도 12를 참조하여 도시되고 기술된 엘리멘트를 저장하는 실제 메모리는 하나 이상의 디스크(예를들어, 자기, 광학, 자기 광학 등) 같은 하나 이상의 엘리멘트일 수 있고, 도 7을 참조하여 기술된 메모리(654) 및/또는 매스 메모리(662)일 수 있다. 게다가, 도 12에 도시된 기계 판독가능 저장 미디어가 관련된 제너레이터가 네트워크 컴퓨터인 일실시예에서, 기계 판독가능 저장 미디어의 하나 이상의 엘리멘트는 다른 디지털 처리 시스템에 저장되고 제너레이터에 다운로드된다. 게다가, 기계 판독가능 저장 미디어를 참조하여 기술된 엘리멘트는 몇몇 시점에서 비휘발성 매스 메모리(예를들어, 하드 디스크)에 저장될 수 있다. 역으로, 다른 시간에서, 기계 저장 미디어의 엘리멘트는 DRAM, SRAM, 디스크 등 같은 다른 저장 영역 사이에 산재될 수 있다.
도 12는 기계 판독가능 저장 미디어(740)를 도시한다. 일실시예에서, 기계 판독가능 저장 미디어는 본 발명의 하나 이상의 방법에 따라 힌트 또는 힌트 트랙을 생성하는 디지털 처리 시스템, 즉 제너레이터에 의해 적어도 부분적으로 사용된다. 도 8을 참조하여 기술된 바와같은 제너레이터는 힌트 트랙에 따른 미디어 데이터를 전송하는 디지털 처리 시스템으로 집적될수있거나, 도 9를 참조하여 기술된 바와같이 힌트를 생성하여 미디어 데이터를 패킷화하고 전송하기 위하여 힌트를 사용하는 서버 같은 다른 디지털 처리 시스템에 제공하는 디지털 처리 시스템일 수 있다.
도 12에 도시된 바와같이, 기계 판독가능 저장 미디어(740)는 통상적으로 다수의 엘리멘트를 포함한다. 예를들어, 기계 판독가능 저장 미디어(740)는 제너레이터 연산 시스템(OS)(742)으로 도시된 바와같은 제너레이터에 연산 시스템 기능을 제공하기 위한 소프트웨어를 포함한다. 네트워크 전송 루틴(748)은 제너레이터가 데이터 통신 링크를 통하여 데이터를 전송 및 수신하도록 하는 루틴, 프로토콜 등 같은 데이터 통신 기능성을 제공한다.
게다가, 기계 판독가능 저장 미디어(740)는 미디어 전송에 관련된 힌트를 생성하기 위한 루틴 및 데이터를 포함한다. 이로써, 기계 판독가능 저장 미디어(740)는 하나 이상의 데이터 통신 프로토콜에 관련된 정보를 제공할 수 있는 정보(750) 및 힌트 생성 루틴(744)에 의한 힌트의 생성에 필요한 미디어 포맷을 선택적으로 포함한다. 예를들어, 정보(750)는 퀵타임 영화, RTP, MPEG 등에 관련된 정보를 포함할 수 있다. 그러나, 상기 정보는 힌트 루틴(744)에 적어도 부분적으로 집적될 수 있고 및/또는 원격 디지털 처리 시스템에 의해 제너레이터에 제공될 수 있다.
힌트 루틴(744)에 의해 생성된 힌트는 생성된 힌트(746)로서 저장되고 및/또는 다른 장소(예를들어, 서버일 수 있는 원격 디지털 처리 장치)에 저장/전송될 수 있다. 힌트는 시간 관련될 수 있는 미디어 데이터(예를들어, 비디오, 오디오, 비디오 및 오디오 등)의 패킷화 및 전송을 위하여 시간 관련되는 힌트 트랙이다.
비록 기계 판독가능 저장 미디어(740)가 제너레이터를 참조하여 기술될 지라도, 적어도 부분적으로 여러 타입의 디지털 처리 시스템, 데이터 저장 미디어 등의 일부일 수 있다. 예를들어, 기계 판독가능 저장 미디어(740)는 적어도 부분적으로 서버 또는 다른 디지털 처리 시스템의 일부로서 포함될 수 있다. 게다가, 기계 판독가능 저장 미디어(740)는 적어도 부분적으로 하나 이상의 디스크 또는 다른 기계 판독가능 미디어상에 소프트웨어 유틸리티의 일부로 포함될 수 있다.
도 13은 본 발명의 실시예에 따라 서버 같은 디지털 처리 시스템에 의해 액세스될 수 있는 기계 판독가능 저장 미디어의 예이다. 도 13을 참조하여 도시되고 하기된 엘리멘트를 저장하는 실제 메모리는 하나 이상의 디스크(예를들어 자기, 광학, 자기 광학 등) 같은 하나 또는 몇몇의 엘리멘트일 수 있고, 도 7을 참조하여 상술된 메모리(654) 및/또는 매스 메모리(662)일 수 있다. 게다가, 도 13에 도시된 기계 판독가능 저장 미디어가 관련된 서버가 네트워크 컴퓨터인 일실시예에서, 하나 이상의 기계 판독가능 저장 미디어의 엘리멘트는 다른 디지털 처리 시스템에 저장되고 서버에 다운로드될 수 있다. 게다가, 기계 판독가능 저장 미디어를 참조하여 기술된 엘리멘트는 몇몇 시점에서 비휘발성 매스 메모리(예를들어, 하드 디스크)에 저장될 수 있다. 역으로, 다른 시점에서, 기계 저장 미디어의 엘리멘트는 DRAM, SRAM, 디스크 등 같은 다른 저장 영역 사이에 산재될 수 있다.
도 13은 기계 판독가능 저장 미디어(760)를 도시한다. 일실시예에서, 기계 판독가능 저장 미디어는 적어도 부분적으로 본 발명의 하나 이상의 방법에 따라 데이터 통신 링크를 통해 전송하기 위한 미디어 데이터를 패킷화하기 위하여 사용된다. 기계 판독가능 저장 미디어(760)는 힌트 트랙을 생성하고 상기 힌트 트랙에 따라 미디어 데이터를 전송하기 위하여 루틴을 포함하도록 도 8을 참조하여 기술된 서버(694) 같은 서버와 관련될 수 있다. 다른 실시예에서, 기계 판독가능 저장 미디어(760)는 도 9를 참조하여 기술된 서버(700) 같은 디지털 처리 시스템과 연관되고, 여기서 제너레이터 같은 디지털 처리 시스템은 힌트를 생성하기 위한 루틴을 포함하고, 기계 판독가능 저장 미디어(760)에 의해 제공된 루틴에 의해 처리된 바와같은 힌트를 사용하는 서버는 미디어 데이터를 패킷화 및 전송할 수 있다.
기계 판독가능 저장 미디어(760)는 다수의 엘리멘트를 포함한다. 예를들어, 기계 판독가능 저장 미디어(760)는 서버 동작 시스템(OS)(762)에 의해 도시된 바와같은 서버에 연산 시스템 기능을 제공하기 위한 소프트웨어를 포함한다. 네트워크 전송 루틴(768)은 서버가 데이터 통신 링크를 통하여 데이터를 전송 및 수신하게 하도록 루틴, 프로토콜 등 같은 데이터 통신 기능성을 제공한다.
게다가, 기계 판독가능 저장 미디어(760)는 힌트를 바탕으로 시간적으로 관련되고 패킷화될 수 있는 미디어 데이터를 패킷화하기 위한 미디어 패킷화 루틴(770)을 포함한다. 따라서, 기계 판독가능 저장 미디어(760)는 미디어 데이터(예를들어, 퀵타임 영화 또는 다른 미디어 트랙) 및 힌트(예를들어, 힌트 트랙)를 각각 저장하기 위하여 미디어 데이터 저장 영역(764) 및 힌트 저장 영역(766)을 포함한다. 힌트는 통상적으로 시간이 관련된 미디어 데이터(예를들어, 비디오, 오디오, 비디오 및 오디오)의 패킷화 및 전송을 위하여 시간 관련된 힌트 트랙을 포함할 수 있다. 일실시예에서, 힌트 트랙은 미디어 데이터 패킷으로부터 개별적으로 패킷화될 수 있다. 일실시예에서, 힌트는 개별 미디어 파일안에 있을 수 있는 미디어 데이터(예를들어, 특정 패킷)를 식별하는 포인터 정보를 포함한다.
도 14는 본 발명의 일실시예에 따라 수신 시스템 또는 다른 디지털 처리 시스템 같은 디지털 처리 시스템에 의해 액세스될 수 있는 기계 판독가능 저장 미디어의 예이다. 도 14를 참조하여 도시되고 기술된 엘리멘트를 저장하는 실제 메모리는 하나 이상의 디스크(예를들어, 자기, 광학, 자기 광학 등) 같은 하나 이상의 엘리멘트일 수 있고, 도 7을 참조하여 설명된 메모리(654) 및/또는 매스 메모리(662)일 수 있다. 게다가, 도 14에 도시된 기계 판독가능 저장 미디어가 관련된 수신 시스템이 네트워크 컴퓨터인 일실시예에서, 기계 판독가능 저장 미디어의 하나 이상의 엘리멘트는 다른 디지털 처리 시스템에 저장되고 수신 시스템에 다운로드될 수 있다. 게다가, 기계 판독가능 저장 미디어를 참조하여 기술된 엘리멘트는 몇몇 시점에서 비휘발성 매스 메모리(예를들어, 하드 디스크)에 저장된다. 역으로, 다른 시점에서, 기계식 저장 미디어의 엘리멘트는 DRAM, SRAM, 디스크 등과 같은 서로 다른 저장 영역들 사이에서 산재될 수 있다.
도 14에는 기계 판독가능 저장 미디어(780)가 도시되어 있다. 일 실시예에서 기계 판독가능 저장 미디어는 적어도 부분적으로는 본 발명의 하나 이상의 방법에 따라 패킷화된 미디어 데이터를 처리하기 위해 이용된다. 기계 판독가능 저장 미디어(780)는 힌트에 따라서 송신/수신된 미디어 데이터를 제공하는 루틴을 포함하기 위해 도 8과 9를 참조로 기술된 클라이언트 데이터 처리 시스템(682)과 같은 수신 시스템과 관련될 수 있다. 선택적으로 기계 판독가능 저장 미디어(78)는 내장된 이에 내장된 힌트(예를 들면 힌트 트랙)를 가진 미디어 데이터를 포함할 수 있다. 상기 내장된 미디어 데이터는 기계 판독가능 저장 미디어(78)와 같은 기계 판독가능 저장 미디어에 저장된 루틴에 의해 생성되거나 미리 패킷화될 수 있다.
기계 판독가능 저장 미디어(78)는 다수의 엘리멘트를 포함할 수 있다. 예를 들면, 기계 판독가능 저장 미디어(780)는 서버 운영 시스템(OS;772)에 의해 기술된 바와 같이 수신 시스템에 운영 시스템의 기능성을 제공하는 소프트웨어를 포함한다. 네트워크 전송 루틴(782)은 서버가 데이터 통신 링크를 통해 데이터를 송신 및 수신하도록 루틴, 프로토콜 등과 같은 데이터 통신의 기능성을 제공한다.
또한, 기계 판독가능 저장 미디어(780)는 힌트에 의해 패킷화된 미디어 데이터를 제공하는 미디어 표현 루틴(778)을 포함한다. 그러므로, 기계 판독가능 저장 미디어(780)와 특히 미디어 표현 루틴(778)은 오디오 및/또는 비디오 데이터의 압축, 비디오 디스플레이 및/또는 오디오 재생등을 포함한다. 게다가, 미디어 표현 루틴(778)은 전형적으로 미디어 데이터와 연관된 힌트의 핸들링을 제공한다. 일 실시예에서는 미디어가 표현되었을 때 힌트가 단순하게 무시된다.
선택적으로 기계 판독가능 저장 미디어(780)는 미디어 데이터(774)로서 힌트에 따라 패킷화된 미디어 데이터를 저장할 수 있으며 저장된 미디어 데이터를 (예를 들면, 제공되거나 전송되도록) 재조립하는 미디어 데이터 재조립 루틴(776)을 포함한다.
도 15는 본 발명의 일 실시예에 따른 미디어 및 힌트 정보가 저장 및 전송된 통신 매체 및/또는 데이터 저장 미디어의 도면이다. 데이터 저장 및/또는 통신 미디어(800)는 본 발명에 따라 패킷화된 힌트 패킷(806) 및 미디어 데이터 패킷(804)이 저장되거나 전송될 수 있는 여러 타입의 전송 및/또는 저장 미디어를 나타낸다. 예를 들면 미디어(800)는 도 7을 참조로 기술한 바와 같이 대용량 메모리(662) 및/또는 메모리(654)를 나타낼 수 있다. 미디어(800)는 도 6의 LAN 버스(612) 또는 미디어 및/또는 다른 정보를 나타내는 데이터/신호를 전송하기 위한 데이터 통신 링크(686)와 같은 통신 미디어를 나타낼 수 있다.
힌트 패킷(806)과 미디어 패킷(804)는 도 15에 도시된 바와 같이 일 패킷으로 통합될 수 있거나 또는 개별적으로 전송 및/또는 저장될 수 있다. 게다가 힌트 패킷(806)과 미디어 패킷(804)은 다른 미디어 포맷과 관련되거나 또는 여기에서 기술된 포맷과 같은 여러 타입의 포맷, 네트워크 프로토콜 및/또는 디지털 처리 장치 구조를 구현할 수 있다.
이하에서 여러 힌트 포맷의 예가 설명된다. 그러나 본 발명은 시간 기반의 데이터를 전송하기 위해 여러 타입의 네트워크 프로토콜, 디지털 처리 시스템 구조, 미디어 포맷등을 이용할 수 있다는 것을 알 것이다.
선택적인 실시예
본 발명은 여러 실시예와 도면을 참조로 기술되지만 본 발명이 설명된 실시예로 제한되지는 않는다는 것을 알 것이다. 특히 본 발명은 시간 관련 미디어 데이터의 패킷화를 제공하는 수 가지의 선택적인 실시예에서 실시될 수 있다. 그러므로 본 발명의 장치 및 방법은 첨부된 청구항의 사상 및 범위 내에서 변경 및 변형할 수 있고, 이 설명은 본 발명을 제한하는 것이 아니라 단지 일 예로서 이해되어야 한다.
부록 A - 패킷화 힌트 샘플 기술
본 발명의 일 실시예에서 각 힌트 트랙은 샘플 설명 테이블을 가진다. 힌트 트랙은 전형적으로 일 샘플 설명을 가진다. 본 발명의 일 실시예에 따른 힌트 트랙에 대한 각 샘플 설명 엔트리에 대한 포맷이 표 1에 표현되어 있다.
패킷화 힌트 헤더 원자는 다음의 데이터 엘리멘트를 포함한다:
필드 기술:
샘플 크기 샘플 설명에 있어 바이트수를 나타내는 32-비트 정수
데이터 포맷 샘플 데이터에 저장된 힌트의 포맷을 나타내는 32-비
트 정수. 서로 다른 포맷은 서로 다른 힌트 타입을
한정할 수 있다. 아래의 표는 한정된 포맷을 나타낸
다.
예약 0 으로 세팅된 6 비트
데이터 참조 상기 샘플 설명을 사용하는 샘플과 관련된 데이터 인
덱스의 인덱스를 포함하는 16-비트 정수. 데이터 참
조는 데이터 참조 원자에 저장된다.
최대 패킷 크기 상기 트랙에서 계산된 패킷의 최대 크기를 나타내는
32-비트 정수
추가 데이터표 트랙당 요구되는 추가 정보를 포함하는 표.
이 값은 태그된 엔트리이다. 필요한 엔트리가 없다.
만일 엔트리가 표에 없다면 합리적인 디폴트가 사용될
수 있다.
추가 데이터표 엔트리의 구조는 표 2에 도시되어 있다.
표 2. 추가 데이터 테이블 포맷
추가 데이터표 엔트리는 다음 데이터 엘리멘트를 포함한다:
필드 기술:
엔트리 길이 바이트로 표현된 전체 엔트리의 길이(길이 및 타입 필
드에 대해 8 바이트 포함)를 나타내는 32-비트 정수.
데이터 타입 엔트리의 데이터 의미를 나타내는 32-비트 정수.
데이터 상기 엔트리에 대한 데이터. 데이터 길이는 표의 데
이터 길이 필드로 표현된다.
다음의 데이터 테그는 여러 타입의 데이터 포맷 타입에 한정될 수 있다. 다른 테그가 필요에 의해 생성될 수 있다.
길이 타입 데이터 기술(description)
9 'rely' 이 트랙이 신뢰할 만한 전송을
통해 전송되어야 하는지 여부를
나타내는 1바이트 정수. 만일
태크가 제공되지 않는다면, 제
제로값을 가지며, 이는 UDP와
같은 신뢰할 수 없는 전송을 통
해 전송가능하다는 것을 나타낸다.
다음 데이터 포맷 타입은 한정된다. 새로운 타입이 필요에 따라 한정될 수 있다.
데이터 포맷 기술(description)
'rtp' 특정 미디어 타입에 대해 RTP로 미디어를 전송하며
오디오-비디오 전송(AVT) 작업 그룹의 여러 IETF
드래프트에 의해 기술된 인코딩을 위한 패킷화 힌트
다음 데이터 테그는 'rtp' 데이터에 대해 일 실시예에서 실시된다.
길이 타입 데이터 기술
12 'tims' RTP 시간스케일을 나타내는
32-비트수. 상기 테그는 RTP
데이터의 일 실시예에 제공.
다음 데이터 테그는 'rtp' 데이터에 대해 선택적이다.
길이 타입 데이터 기술
12 'tsro' RTP 패킷을 전송할 때 저장된
시간 스탬프를 추가하기 위한
랜덤 오프셋을 나타내는 32 비
트수. 만일 상기 필드가 제공
되지 않는다면 진랜덤 번호가
RTP 명세서에 따라 사용된다.
이 필드값은 어떤 랜덤 오프셋
도 추가되지 않는 제로값일 수
있다.
10 'snro' RTP 패킷을 전송할 때 시퀀스
넘버를 추가하는 랜덤 오프셋
을 나타내는 16-비트수.
만일 상기 필드가 제공되지
않는다면 진랜덤 번호가
RTP 명세서에 따라 사용된다.
이 필드값은 어떤 랜덤 오프셋
도 추가되지 않는 제로값일 수
있다.
부록 B - RTP에 대한 일예의 힌트 트랙
상기 섹션은 퀵 타임 무비의 RTP를 스트리밍하기 위한 힌트 트랙 포맷의 일 예를 나타낸다.
표준 RTP에서 각 미디어 스트림은 전형적으로 개별 RTP 스트림으로서 전송된다. 멀티플렉싱은 일반적으로 IP의 포트-레벨 멀티플렉싱을 사용하여 달성되지만 멀티 스트림의 데이터를 단일 RTP 세션으로 인터리빙하여 달성되는 것은 아니다. 본 발명의 일 실시예에서 각 힌트 트랙은 스트리밍하는 미디어 트랙으로 돌아가는 트랙 참조를 포함한다.
그러므로, 무비의 각 미디어 트랙은 관련된 RTP 힌트 트랙을 가져야 한다. 이 경우, 패킷 크기는 힌트 트랙이 생성될 때 결정된다. 그러므로 힌트 트랙에 대한 샘플 기술에서('코딩'에 관계되는 필드를 포함할 수 있는 데이터 구조-이 경우는 프로토콜) 선택된 패킷 크기가 나타난다. 본 발명의 일 실시예에서, 여러 RTP 힌트 트랙은 다른 패킷 크기 선택을 제공하기 위해 각 미디어 트랙으로 공급된다. 다른 프로토콜이 또한 파라미터가 될 수 있다. 유사하게 RTP 클록에 대한 적당한 시간-스케일이 동일 기술(description)에 제공된다.
힌트 트랙은 단일 트랙 참조 선언에 의해 베이스 미디어 트랙과 관련된다(RTP는 단일 RTP 스트림내의 미디어의 멀티플렉싱을 허용하지 않는다). RTP에 대한 동일 기술은 상기 힌트 트랙이 생성될 최대 패킷 크기를 선언한다. 세션 선언(SAP/SDP) 정보는 트랙의 사용자-데이터 원자에 저장된다.
RTP 힌트 트랙의 각 샘플은 주어진 시간에 방출되어야 하는 패킷 세트를 전송하기 위한 인스트럭션을 포함한다. 힌트 트랙의 시간은 방출 시간이며 관련 미디어의 미디어 시간을 필요로 하지 않는다.
다음 설명에서 샘플의 내부 구조는 미디어 데이터이며 메타 데이터가 아니고 상기 샘플의 용어에서 설명된 오프젝트와 같은 구조를 필요로 하지 않는다.
이 경우, 각 샘플은 두 영역을 포함한다: 패킷을 구성하는 인스트럭션 및 상기 패킷을 전송할 때 필요한 임의의 추가 데이터(예를 들면 미디어 데이터의 암호버전).
각 RTP 힌트 패킷은 단일 패킷을 전성하기 위한 정보를 포함한다. 일 실시예에서, 미디어 시간과 방출 시간을 분리하기 위해 RTP 시간 스탬프는 RTP 헤더를 형성하는데 필요한 데이터와 함께 특별히 포함된다. 선택적인 실시예에서는 다를 수 있다. 다른 헤더 정보가 전형적으로 공급된다. 구조 엔트리의 표는 다음과 같이 구성된다:
여러 형태의 구조자(constructor)가 존재한다. 각 구조자는 16바이트이며 상대적으로 단순하게 반복될 수 있다. 제 1 바이트는 결합 식별자이다.
중간 모드는 페이로드-특정 헤더(예를 들면 RTP H.261 헤더)의 삽입을 허용한다. 미디어가 "클리어"로 전송되는 힌트 트랙의 경우, 미디어 샘플 엔트리는 샘플 개수, 데이터 오프셋 및 카피 길이를 제공함으로써 미디어 트랙으로부터의 카피를 위한 바이트를 지정할 것이다. 상대적으로 복잡한 경우(예를 들면, 암호화 또는 포워드 에러 보정), 변환된 데이터는 힌트 샘플에 위치한 후 힌트 샘플 모드가 사용되며, 이는 RTP 샘플 자체의 엑스트라 데이터 필드로부터 제공될 것이다.
본 발명의 일 실시예에서 연속적인 패킷은 미디어 스트림으로부터 연속적인 바이트를 전송할 필요가 없다. 예를 들면 본 발명의 일 실시예에서 H.261의 RTP 표준 패킹에 따르면, 1 바이트가 1 패킷의 끝에서 또는 다음(매크로블록 경계가 1 바이트내로 떨어질 때)의 시작에서 전송될 수 있다.
부록 C - 데이터 포맷 'rtp'에 대한 패킷화 힌트 샘플 데이터
이 부록은 본 발명의 일 실시예에 따라 'rtp'형태의 샘플 데이터의 기술(description)을 제공한다. 'rtp' 포맷은 서버가 실시간 전송 프로토콜(RTP)을 사용하여 데이터를 전송하는 것으로 가정한다. 상기 포맷은 서버가 RTP 헤더를 알지만 여러 IETF 드래프트에서 한정된 미디어 헤더를 포함하는 특정 미디어 헤더를 알 필요가 없다는 것으로 가정한다.
본 발명의 일 실시예에서 힌트 트랙의 각 샘플은 하나 이상의 RTP 패킷을 생성할 것이다. 힌트 트랙 샘플의 샘플 데이터 테이블의 각 엔트리는 단일 RTP 패킷에 해당한다. 힌트 트랙의 샘플들은 미디어 트랙의 샘플과 정확히 일치하거나 그렇지 않을 수 있다. 본 발명의 일 실시예에서 힌트 트랙 샘플의 데이터는 바이트 정렬되지만 32비트로 정렬되지는 않는다.
필드 기술
엔트리 카운트 표의 패킷 엔트리의 수를 나타내는 16-비트 부호없는
정수. 테이블의 각 엔트리는 패킷에 해당한다. 단일
샘플의 여러 엔트리는 미디어 샘플이 여러 패킷으로
쪼개지는 것을 나타낸다. 제로 엔트리 카운트를 가진
샘플이 예약되며 만일 만나게 된다면 스킵될 것이다.
패킷 엔트리 표 패킷 엔트리를 포함하는 가변 길이 테이블
패킷 엔트리는 이하에서 설명된다.
추가 데이터 표 3의 아래에 나타난 데이터 테이블의 엔트리에
의해 포인트된 데이터를 포함하는 가변 길이 필드.
표 3 - 추가 데이터
일 실시예에서, 패킷 엔트리는 다음의 데이터 엘리멘트를 포함한다.
필드 기술
상대적인 패킷 힌트 샘플의 실제 시간과 관련하여 패킷을 전송하기
전송 시간 위해 힌트 트랙의 시간 스케일의 시간을 나타낸 32-
비트 부호 정수. 네커티브 값은 패킷이 실시간보다 먼
저 전송될 것을 의미하며, 데이터율을 평탄하게 하는 데
유용하다. 포지티브 값은 다음 시간에서 패킷을 반복
하는데 유용하다. 각 힌트 샘플 트랙내에서 각 패킷
시간 스탬프는 감소하지 않는다.
플래그 상기 패킷에 대한 특정 속성을 나타내는 32비트 필드.
RTP 헤더 정보 필드는 다음 엘리멘트를 포함한다.
필드 비트# 기술(description)
R 31 반복 패킷을 나타낸 1비트 수 - 데이터는 이전 패킷에
서 한정된다. 서버는 패킷의 전송 이후일 때 이를
따르도록 도와주는 반복 패킷을 스킵하도록 선택될
수 있다. 주어진 패킷에 대한 모든 반복 패킷은
동일 힌트 샘플에서 보관된다.
모든 부정의된 비트(0-30)가 예약되고 제로값으로
세팅된다.
RTP 헤더 정보 RTP 헤더에서 세팅될 여러값을 지정하는 16비트 정수.
RTP 헤더 정보 필드는 다음 엘리멘트를 포함한다.
필드 비트# 기술(description)
P 2 RTP 헤더의 패딩(P)에 상응하는 1-비트수. 상기 비트
는 서로 다른 패킷 패딩을 필요로하는 서버가 패킷
자체를 언-패드와 리-패드할 필요가 있기 때문에 세팅
되지 않을수도 있다.
X 3 RTP 헤더의 확장(X)비트에 해당하는 1-비트수. 상기
비트는 세팅되지 않을 수도 있으며 이는 자신의 RTP
확장을 전송할 필요가 있는 서버가 힌트 트랙의 임의
확장을 교체해야 하거나 교체할 수 없기 때문이다.
M 8 RTP 헤더의 마커(M)에 해당하는 1-비트수.
페이로드 타입 9-15 RTP 헤더의 페이로드 타입(PT)필드에 해당하는
7-비트수.
모든 부정의된 비트(0-1과 4-7)는 예약되고 제로값으로 세팅된다. 부정 비트의 위치는 RTP 헤더에서와 마찬가지로 동일 비트 위치에 존재한다.
RTP 시퀀스 번호 패킷에 대한 RTP 시퀀스 번호를 지정하는 16-비트
정수. RTP 서버는 패킷을 전송하기 전에 상기 시퀀스
번호에 랜덤 오프셋을 추가한다. 상기 필드는 패킷의
재전송을 가능하게 한다. 예를 들면 동일 패킷은
동일 시퀀스 번호와 서로 다른(나중의) 패킷 전송
시간과 조합될 수 있다. 예를 들어 5분의 시간을
가지는 텍스트 샘플은 오리지널 샘플 전송을 놓치는
클라이언트(아마도 중간에서 무비를 시작했을 경우)가
최고 10초 후에 "리프레시"되도록 매 10초마다 재전송
될 수 있다.
엔트리카운트 데이터 테이블의 엔트리 수를 나타내는 16-비트
부호없는 정수.
데이터표 RTP 패킷의 페이로드 부에 입력될 데이터를 한정하는
표. 이 표는 데이터가 복구될 수 있는 여러 위치를
한정하며, 표 4에 도시되어 있다.
표 4 - 데이터 표
엔트리 테이블의 데이터 소스 필드는 다른 15비트의 엔트리가 해석되는 방법을 나타낸다. 0 내지 4의 값이 정해진다. 여러 데이터 테이블 포맷이 이하에서 한정된다. 여러 방식들이 있지만, 여러 방식들의 엔트리는 전형적으로 16바이트이다.
No-Op 데이터 모드
데이터 표 엔트리는 no-op 모드에 대해 다음 포맷을 가진다.
필드 기술
데이터 소스 = 0 데이터 표 엔트리가 무시되는 것을 나타내는 제로값
직접 데이터 모드
데이터 표 엔트리는 직접 모드에 대해 다음 포맷을 가진다.
필드 기술
데이터 소스 = 1 1의 값을 갖는 데이터가 다음의 데이터 바이트로부터
직접적으로 얻어질 것이라는 것을 나타냄.
직접 길이 다음의 데이터로부터 얻어진 바이트수를 나타내는
8-비트 정수. 합리적인 값은 0내지 14의 범위이다.
직접 데이터 패킷의 페이로드 부분으로 위치한 14 바이트 데이터.
직접 길이 필드로서 나타낸 바이트의 제 1 번호만이
사용된다.
샘플 모드
데이터 표 엔트리는 샘플 모드에 대해 다음 포맷을 가진다.
필드 기술
데이터 소스 = 2 그 값은 데이터가 트랙의 샘플 데이터로부터 얻어질
것이라는 것을 나타냄.
트랙 ref 인덱스 샘플 데이터이 어떤 트랙으로부터 올 지를 나타내는
값. 참조로서 사용될 정확히 1 미디어 트랙이 있다는
것을 의미하는 제로값. 1에서 27의 값은 샘플이 어떤
오리지널 미디어 트랙으로부터 판독될지를 나타내는
힌트 트랙 참조 원자 엔트리를 인텍스한다. -1 값은 힌
트 트랙 자체를 나타내내며, 즉 지금 분석될 힌트 샘플
로서 동일 트랙의 샘플이 사용된다는 것을 나타낸다.
압축블록당 바이트 압축 블록 필드 마다 샘플의 샘플 수를 압축하여
결과된 바이트 수를 나타내는 16-비트 부호없는
정수. 제로값은 1과 동일한 값이다.
압축블록당 샘플 압축 블록당 비압축 샘플을 나타내는 16-비트
부호없는 정수. 제로값은 1과 동일한 값이다.
길이 카피하기 위한 샘플의 바이트 수를 나타내는 16
비트 정수.
샘플 번호 트랙의 샘플 수를 지정하는 32-비트 정수.
오프셋 카피를 시작할 곳으로부터 샘플의 시작의
오프셋을 나타내는 32-비트 정수.
만일 힌트 트랙에서 샘플이 참조된다면, 이는
일반적으로 추가 데이터 영역에 표시될 것이다.
만일 압축 블록당 바이트 및/또는 압축 블록당 샘플은 1보다 크면, 이 비율은 샘플 번호를 실제 바이트 오프셋으로 전환하는데 사용된다. 상기 비율의 모드는 전형적으로 다음과 같은 퀵타임 무비의 압축된 오디오 트랙을 위해 사용된다.
CB = NS * BPCP/SPCB
여기에서,
CB = 압축된 바이트
NS = 샘플 수
BPCB = 압축 블록 당 바이트
SPCB = 압축 블록 당 샘플
예를 들면 GSM 압축 블록은 전형적으로 33바이트로 패킷된 160샘플이다. 그러므로, BPCB = 33이며 SPCB = 160이다. 힌트 샘플은 161번째 미디어 샘플에서 시작하는 33바이트의 데이터를 요청한다. 제 1 퀵타임 청크가 적어도 320 샘플을 보유한다고 가정하면, 이 데이터가 청크 1로부터 오고 청크 1이 어디서 시작되는지를 결정한 후에, 이 비율은 요청된 샘플이 발견되는 파일의 오프셋을 조절하기 위해 이용된다.
샘플 기술 모드
데이터 테이블 엔트리는 샘플 기술 모드에 대한 다음의 포맷을 가진다:
필드 기술
데이터 소스 = 3 데이터가 미디어 트랙의 샘플 기술 테이블로부터 얻어
지는 것을 나타내는 3 값.
트랙 ref 인덱스 샘플 데이터가 어떤 트랙에서 온지를 나타낸 지시값.
제로값은 사용될 정확히 하나의 힌트 트랙 참조가 존
재하는 것을 나타냄. 1에서 127의 값은 샘플이 어떤
오리지널 미디어 트랙으로부터 판독되는 지를 나타내
는 힌트 트랙 참조 원자 엔트리에 인텍싱된다. 1값은
힌트 트랙을 의미하며, 즉, 현재 분석되는 힌트 샘플
로서 동일 트랙의 샘플 기술이 사용된다는 것을 의미
예약 제로값으로 세팅된 4 바이트
길이 카피되는 샘플의 바이트 ㅅ를 나타내는 16비트 정수
샘플 기술 인덱스 미디어의 샘플 기술표에서 인덱스를 나타내는
32-비트 정수.
오프셋 카피를 시작하는 샘플의 처음부터 오프셋을 지정하는
32-비트 정수.
추가 데이터 데이터 표의 힌트 트랙 샘플 모드 엔트리에 의해 지
징된 데이터를 포함하는 가변 길이 필드.
부록 D - MPEG-2 전송을 위한 힌트 트랙 포멧의 예
이 부분은 기본 스트림들을 보유하는 퀵타임 무비로부터 MPEG-2 전송을 스트리밍하기 위한 간단한 트랙 포멧의 일 예를 나타낸다.
MPEG-2 전송 스트림은 하나 또는 그 이상의 기본 스트림들의 다중화와 관련이 있다. 이런 이유로, MPEG-2 전송 힌트 트랙은 하나 또는 그 이상의 미디어 트랙들로부터의 이러한 다중화를 구성하는 방법을 기술한다. 미디어 트랙들과 MPEG-2 전송 힌트 트랙들 사이의 1 대 1 관계가 필수적이지는 않다. 각 힌트 트랙은 이 트랙이 표현하는 기본 스트림들의 참조들을 포함한다. 본 발명의 일 예에서, 퀵타임 파일은 여러 다중화들을 설명하는 다중의 힌트 트랙들을 포함한다.
모든 MPEG-2 전송 패킷들은 188 바이트 크기이기 때문에, 패킷 크기는 일반적으로 중요하지 않다. 본 발명의 일 예에서, 각 전송 패킷(MPEG-2 전송 프로토콜에서)은 일 미디어 트랙으로부터의 페이로드(payload) 데이터를 포함한다. 이것은 각 전송 패킷을 위한 비교적 단순한 힌트 기술을 허용한다. 본 발명의 일 예에서, 각 힌트는 어떤 헤더 데이터가 각 전송 패킷상에 나타나는지를 설명하고, 그 다음에 각 전송 패킷을 위한 적절한 미디어 트랙에서의 페이로드를 지적한다. PSI 패킷과 같은 미디어 트랙과 불일치하는 패킷들에 있어서, 힌트는 188 바이트의 헤더 데이터를 기술하고, 어떠한 미디어 트랙 참조도 상관없이 고려될 수 있다. 미디어 트랙과 일치하는 패킷들에 있어서, 헤더 데이터는 전송 헤더들, 가능한 적용 헤더들, 그리고 PES 패킷들에서 시작하는 전송 패킷들을 위한 PES 헤더들과 같은 정보를 설명할 수 있다.
참조는 ('stsd'의) 샘플 기술 원자의 MPEG-2 전송 힌트 트랙에서 이루어진다. 이 원자는 샘플 기술 테이블을 포함하고, 이 테이블의 엔트리들은 미디어 타입을 기초로 하여 상이하다. 본 발명의 일 예에서, 힌트 트랙들은 테이블 1에서 나타나는 구조로 시작된다. 부가적인 데이터 테이블은 테이블 2에서 나타나는 구조를 가지는 엔트리들을 수용할 수 있다.
본 발명의 일 예에서, 만일 힌트 트랙이 MPEG-2 전송 힌트 트랙이면, 힌트 트랙 샘플 기술 엔트리의 데이터 포맷은 'm2t'일 것이고 최대 패킷 크기는 항상 188일 것이다. 이러한 기술 엔트리에서, 테이블 5 내지 7에 나타난 타입들은 부가적인 데이터 테이블에서 발견될 수 있다.
표 5 - 추가 데이터 테이블 엔트리
엔트리 길이 데이터 타입 데이터 기술
8 0x00000000 표에는 더 이상의 엔트리가 없다는 것을 나타냄.
9 'otyp' 힌트에서 오프셋이 기술되는 방법을 설명. 1 바이트 데이터는 도 B.4에서 설명. 이 엔트리는 추가 데이터표에서 강제됨
9 'msns' 미디어 샘플 번호의 크기를 기술. 1 바이트의 데이터는 바이트가 미디어 샘플 번호를 지정하기 위해서 사용되는 양을 나타낸다. 만일 이것이 제공되지 않고, 미디어 샘플 번호가 샘플 데이터에 제공된다면, 디폴트값은 4 바이트이다.
9 'msos' 미디어 샘플 오프셋의 크기를 기술. 1 바이트 데이터는 미디어 샘플 오프셋을 나타내는 바이트 양을 나타낸다. 만일 이것이 제공되지 않고, 미디어 샘플 오프셋이 샘플 데이터에 존재한다면, 디폴트값은 4 바이트가 된다.
9 'fosz' 파일 오프셋의 크기를 기술. 1 바이트 데이터는 샘플내의 파일 오프셋을 지정하기 위해 사용되는 바이트 양을 나타낸다. 만일 이것이 제공되지 않으며, 파일 오프셋이 샘플 데이터에 제공되지 않는다면, 디폴트값은 4 바이트가 된다.
가변 'tmap' 미디어 트랙의 단축 맵핑을 기술. 각 5 바이트 엔트리는 1 바이트 트랙 참조 번호에 4 바이트 트랙 ID를 맵핑. 이는 단지 256 미디어 트랙을 유지하기 위해 주어진 전송 mux를 제한하지만, 제한 요소는 아니며 상기 압축은 힌트 트랙의 크기를 제한하는데 유용하다. 5 바이트 엔트리의 포맷은 표 B.5에서 지정된다. 상기 엔트리는 추가 데이터표에서 강제된다.
표 6 - 추가 데이터 테이블의 'otyp' 값
기술
0 미디어 샘플을 통해 샘플이 기술됨
1 파일 오프셋을 통해 샘플이 기술됨
표 7 - 'tmap' 추가 데이터 엔트리의 엔트리 포맷
길이 기술
4 오리지널 트랙 ID
1 샘플에 사용된 단축 트랙 참조 번호
본 발명의 일 예에서, 각 힌트 샘플은 일 전송 패킷을 기술한다. 각 전송 패킷은 헤더 데이터의 일부 양으로 기술될 수 있고, 그 다음에 일 미디어 트랙으로부터의 페이로드의 일부 양이 기술될 수 있다. MPEG-2 전송 패킷들은 상대적으로 작기 때문에, 많은 수의 힌트 샘플들이 생성될 수 있고, 따라서, 이 샘플들은 바람직하게는 가능한 한 작아야 한다. 부가적인 데이터 테이블의 여러 엔트리들은 샘플들의 크기를 최소화하는데 이용될 수 있지만, 이 요소들은 샘플 엔트리들의 일부 필드들의 크기를 변화시킬 수 있다.
만일 데이터 테이블에서의 'otyp' 엔트리가 페이로드 데이터가 미디어 샘플을 통해 기술되는 것을 나타내는 값 0을 가지면, 힌트 샘플들은 테이블 8에서 나타나는 다음의 포멧으로 될 수 있다.
표 8 - 미디어 샘플 참조를 사용하는 힌트 샘플 포맷
길이 기술
1 상기 패킷의 페이로드 데이터를 홀딩하는 미디어 트랙의 트랙 참조 번호. 이는 추가 데이터 표의 'tmap' 엔트리를 사용하여 트랙 ID에 맵핑될 수 있다. 만일 힌트가 188바이트의 직접 데이터를 지정한다면, 이 필드는 무관하다.
1 패킷에 대한 직접 데이터의 길이. 이는 전송 패킷이 188 바이트 이하이기 때문에 188 이하라는 것을 알아야 한다.
가변 전송 패킷에 대한 헤더로 사용된 직접 데이터의 바이트. 바이트의 번호는 이전 필드로 기술된다.
가변 페이로드 데이터에 사용되는 미디어 샘플 번호. 상기 필드의 디폴트 크기는 4 바이트이지만, 추가 데이터 표의 'msns' 엔트리의 존재에 의해 수정될 수 있다.
가변 페이로드 데이터에 사용되는 미디어 샘플 오프셋. 상기 필드의 디폴트 크기는 4 바이트이지만 추가 데이터 표의 'msos' 엔트리의 존재에 의해 수정될 수 있다.
본 발명의 일 예에서, MPEG-2에서, 페이로드 데이터의 길이는 패킷에 대해 188 이하의 헤더 데이터의 크기와 같기 때문에, 패킷에 대한 페이로드 데이터의 길이를 나타내는 것은 불필요하다.
만일 데이터 테이블의 'otyp' 엔트리가 페이로드 데이터가 파일 오프셋들을 통해 기술되는 것을 나타내는 값 1을 가지면, 힌트 샘플들은 테이블 9에서 나타나는 다음의 포멧으로 될 수 있다.
표 9
길이 기술
1 상기 패킷에 대한 페이로드 데이터를 홀딩하는 미디어 트랙의 트랙 참조 번호. 이는 추가 데이터표의 'tmap' 엔트리를 사용하여 트랙 ID에 맵핑될 수 있다. 만일 힌트가 188 바이트의 직접 데이터를 지정한다면, 이 필드는 무관하다.
1 패킷에 대한 직접 데이터의 길이. 이는 전송 패킷이 188 바이트 이하이기 때문에 188 이하이어야 한다는 것을 알아야 한다.
가변 전송 패킷에 대한 헤더로서 사용된 직접 데이터의 바이트. 바이트 수는 이전 필드로서 기술된다.
가변 페이로드 데이터가 위치하는 파일 오프셋. 이 오프셋은 미디어 트랙의 데이터가 위치하는 파일에 존재한다. 상기 필드의 디폴트 크기는 4 바이트이지만, 추가 데이터표의 'fosz' 엔트리의 존재에 의해 수정될 수 있다.
본 발명의 일 예에서, 힌트 샘플들은 미디어 샘플들 또는 파일 오프셋들을 통해 샘플들의 오프셋을 기술할 수 있다. 이들은 각각 장점과 단점들을 가진다. 만일 힌트 샘플들이 미디어 샘플들을 통해 페이로드를 명시하면, 샘플들은 미디어 트랙을 포함하는 파일의 부가적인 에디팅에 원상 회복되기 더욱 쉽지만, 전달을 위한 부가적인 프로세싱을 필요로 할 수도 있다. 만일 힌트 샘플들이 파일 오프셋들을 통해 페이로드를 명시하면, 페이로드 데이터는 상대적으로 빠르게 액세스될 수 있지만, 미디어 트랙을 포함하는 파일의 어떠한 에디팅이라도 힌트들을 무효화시킬 수 있다.
부록 D- 예제 파일
본 발명의 일 실시예에 따라, 제외된 상대적으로 덜 중요한 일부 필드들와 대상물들 및 RTP를 통해 스트리밍할 준비가 된 파일의 전체 구조를 설명하는 일부 허위 번호들을 가지는 상대적으로 짧은(6 프레임) 샘플 파일이 아래에 제공된다. 미디어 데이터는 제외되고; 메타-데이터만이 도시된다.
본 발명의 장치와 방법에 의해 시간관련 미디어 데이터 시퀀스의 전송을 개선하는 효과를 가진다.

Claims (28)

  1. 디지털 처리 시스템에 의하여 수행되는 미디어 데이터를 처리하는 방법으로서,
    전송 프로토콜에 따라 시간관련 미디어 데이터 시퀀스를 전송하는 방식을 표시하기 위한 데이터 세트를 디지털 저장 시스템으로부터 검색하는 단계를 포함하며,
    상기 데이터 세트는 상기 시간관련 미디어 데이터 시퀀스와 관련되고 이로부터 분리된 시간관련 데이터 시퀀스인 것을 특징으로 하는 미디어 데이터 처리 방법.
  2. 제1항에 있어서, 상기 전송 프로토콜에 따라 상기 시간관련 미디어 데이터 시퀀스를 표시하는 데이터 패킷을 전송하는 단계를 더 포함하는 것을 특징으로 하는 미디어 데이터 처리 방법.
  3. 제 1항에 있어서, 상기 각각의 패킷에 대하여, 상기 데이터 세트는 상기 시간관련 미디어 데이터 시퀀스와 관련된 오디오 데이터 시퀀스 또는 이미지 데이터 시퀀스 중 적어도 하나에 있는 데이터를 나타내는 것을 특징으로 하는 미디어 데이터 처리 방법.
  4. 제 1항에 있어서, 상기 방법은 상기 데이터 세트에 따라 상기 시간관련 미디어 데이터 시퀀스를 패킷화하는 단계를 더 포함하는 것을 특징으로 하는 미디어 데이터 처리 방법.
  5. 실행가능 프로그램 명령을 포함하는 기계 판독가능 미디어로서,
    상기 실행가능 프로그램 명령은, 디지털 처리 시스템 상에서 수행될 경우, 디지털 처리 시스템으로 하여금,
    전송 프로토콜에 따라 시간관련 미디어 데이터 시퀀스를 전송하는 방식을 표현하는 데이터 세트를 검색하는 단계 -상기 데이터 세트는 상기 시간관련 미디어 데이터 시퀀스와 관련되지만 그와는 다른 시간관련 데이터 시퀀스임-를 포함하는 방법을 수행하도록 하는 것을 특징으로 하는 기계 판독가능 미디어.
  6. 제 5항에 있어서, 상기 방법은 상기 데이터 세트에 따라 상기 시간관련 미디어 데이터 시퀀스를 표시하는 데이터를 전송하는 단계를 더 포함하는 것을 특징으로 하는 기계 판독가능 미디어.
  7. 제 5항에 있어서, 상기 데이터 세트는 표시 데이터 트랙(track of indicating data)으로서 저장되는 것을 특징으로 하는 기계 판독가능 미디어.
  8. 제 5항에 있어서, 상기 전송 프로토콜은 패킷 데이터 프로토콜을 포함하는 것을 특징으로 하는 기계 판독가능 미디어.
  9. 제 5항에 있어서, 상기 방법은:
    상기 시간관련 미디어 데이터 시퀀스의 포맷을 결정하는 단계; 및
    상기 데이터 세트에 따라 상기 시간관련 미디어 데이터 시퀀스를 패킷화하는 단계를 더 포함하며,
    상기 전송 프로토콜은 상기 포맷을 가진 상기 시간관련 미디어 데이터 시퀀스를 전송하기 위하여 이용되며, 상기 패킷화 단계는 상기 시간관련 미디어 데이터 시퀀스를 패킷화하기 위하여 상기 포맷과 상기 프로토콜을 이용하는 것을 특징으로 하는 기계 판독가능 미디어.
  10. 제 9항에 있어서, 상기 방법은 상기 전송 프로토콜에 따라 상기 시간관련 미디어 데이터 시퀀스를 표시하는 데이터 패킷을 전송하는 단계를 더 포함하는 것을 특징으로 하는 기계 판독가능 미디어.
  11. 제 10항에 있어서, 상기 각각의 패킷에 대하여, 상기 데이터 세트는 상기 시간관련 미디어 데이터 시퀀스와 관련된 오디오 데이터 시퀀스 또는 이미지 데이터 시퀀스 중 적어도 하나에 있는 데이터를 나타내는 것을 특징으로 하는 기계 판독가능 미디어.
  12. 전송 프로토콜에 따른 시간관련 미디어 데이터 시퀀스의 전송과 관련되는 데이터 세트를 수신하도록 구성된 포트-상기 데이터 세트는 상기 시간관련 미디어 데이터 시퀀스와 관련되지만 그와는 다른 시간관련 데이터 시퀀스임-; 및
    상기 데이터 세트를 수신하기 위해 상기 포트에 연결되고, 상기 데이터 세트에 따라 상기 시간관련 미디어 데이터 시퀀스를 패킷화하는 처리 유니트를 포함하는 것을 특징으로 하는 장치.
  13. 제 12항에 있어서, 상기 처리 유니트에 연결되며, 상기 전송 프로토콜에 따라 상기 시간관련 미디어 데이터 시퀀스를 표현하는 데이터 패킷을 전송하는 전송기를 더 포함하는 것을 특징으로 하는 장치.
  14. 제 13항에 있어서, 상기 각각의 패킷에 대하여, 상기 데이터 세트는 상기 시간관련 미디어 데이터 시퀀스와 관련된 오디오 데이터 시퀀스 또는 이미지 데이터 시퀀스 중 적어도 하나에 있는 데이터를 나타내는 것을 특징으로 하는 장치.
  15. 미디어 데이터를 처리하는 장치로서,
    전송 프로토콜에 따라 시간관련 미디어 데이터 시퀀스를 전송하는 방식을 표시하는 데이터 세트를 검색하는 수단-상기 데이터 세트는 상기 시간관련 미디어 데이터 시퀀스와 관련되지만 그와는 다른 시간관련 데이터 시퀀스임-; 및
    상기 데이터 세트에 따라 상기 시간관련 미디어 데이터 시퀀스를 패킷화하는 수단을 포함하는 것을 특징으로 하는 미디어 데이터 처리 장치.
  16. 제 15항에 있어서, 상기 시간관련 미디어 데이터 시퀀스를 표현하는 데이터 패킷을 전송하는 수단을 더 포함하는 것을 특징으로 하는 미디어 데이터 처리 장치.
  17. 제 16항에 있어서, 상기 각각의 패킷에 대하여, 상기 데이터 세트는 상기 시간관련 미디어 데이터 시퀀스와 관련된 오디오 데이터 시퀀스 또는 이미지 데이터 시퀀스 중 적어도 하나에 있는 데이터를 나타내는 것을 특징으로 하는 미디어 데이터 처리 장치.
  18. 디지털 처리 시스템에 의하여 수행되는 미디어 데이터를 처리하는 방법으로서,
    전송 프로토콜에 따라 제 2시간관련 데이터 시퀀스를 전송하는 방식을 나타내는 제 1시간관련 데이터 시퀀스를 검색하는 단계-상기 제 2시간관련 데이터 시퀀스는 시간 베이스 미디어(time-based media)와 관련되며, 상기 제 1시간관련 데이터 시퀀스는 상기 제 2시간관련 데이터 시퀀스와 관련됨-; 및
    상기 제 1시간관련 데이터 시퀀스에 따라 상기 제 2시간관련 데이터 시퀀스를 패킷화하는 단계를 포함하는 것을 특징으로 하는 미디어 데이터 처리 방법.
  19. 제 18항에 있어서, 상기 전송 프로토콜에 따라 상기 제 2시간관련 데이터 시퀀스를 표시하는 데이터 패킷을 전송하는 단계를 더 포함하는 것을 특징으로 하는 미디어 데이터 처리 방법.
  20. 제 19항에 있어서, 상기 각각의 패킷에 대하여, 상기 제 1시간관련 데이터 시퀀스는 상기 제 2시간관련 데이터 시퀀스와 관련된 오디오 데이터 시퀀스 또는 이미지 데이터 시퀀스 중 적어도 하나를 나타내는 것을 특징으로 하는 미디어 데이터 처리 방법.
  21. 제 20항에 있어서, 상기 제 2시간관련 데이터 시퀀스는 판독 전용 메모리(ROM)에 저장되는 것을 특징으로 하는 미디어 데이터 처리 방법.
  22. 실해가능한 프로그램 명령을 포함하는 기계 판독가능 미디어로서,
    상기 실행가능 프로그램 명령은, 디지털 처리 시스템 상에서 수행될 경우, 디지털 처리 시스템으로 하여금,
    전송 프로토콜에 따라 시간관련 미디어 데이터 시퀀스를 전송하는 방식을 표현하는 데이터 세트를 검색하는 단계-상기 데이터 세트는 상기 시간관련 미디어 데이터 시퀀스와 관련되는 시간관련 데이터 시퀀스임-를 포함하는 방법을 수행하도록 하는 것을 특징으로 하는 기계 판독가능 미디어.
  23. 제 22항에 있어서, 상기 방법은 상기 데이터 세트에 따라 상기 시간관련 미디어 데이터 시퀀스를 표현하는 데이터를 전송하는 단계를 더 포함하는 것을 특징으로 하는 기계 판독가능 미디어.
  24. 제 22항에 있어서, 상기 데이터 세트는 표시 데이터 트랙으로서 저장되는 것을 특징으로 하는 기계 판독가능 미디어.
  25. 제 22항에 있어서, 상기 전송 프로토콜은 패킷 데이터 프로토콜을 포함하는 것을 특징으로 하는 기계 판독가능 미디어.
  26. 제 22항에 있어서, 상기 방법은:
    상기 시간관련 미디어 데이터 시퀀스의 포맷을 결정하는 단계; 및
    상기 데이터 세트에 따라 상기 시간관련 미디어 데이터 시퀀스를 패킷화하는 단계를 더 포함하며,
    상기 전송 프로토콜은 상기 포맷을 가진 상기 시간관련 미디어 데이터 시퀀스를 전송하기 위하여 이용되며, 상기 패킷화 단계는 상기 시간관련 미디어 데이터 시퀀스를 패킷화하기 위하여 상기 포맷과 상기 프로토콜을 이용하는 것을 특징으로 하는 기계 판독가능 미디어.
  27. 제 26항에 있어서, 상기 방법은 상기 전송 프로토콜에 따라 상기 시간관련 미디어 데이터 시퀀스를 표시하는 데이터 패킷을 전송하는 단계를 더 포함하는 것을 특징으로 하는 기계 판독가능 미디어.
  28. 제 27항에 있어서, 상기 각각의 패킷에 대하여, 상기 데이터 세트는 상기 시간관련 미디어 데이터 시퀀스와 관련된 오디오 데이터 시퀀스 또는 이미지 데이터 시퀀스 중 적어도 하나에 있는 데이터를 나타내는 것을 특징으로 하는 기계 판독가능 미디어.
KR10-2000-7007888A 1998-01-15 1999-01-13 미디어 데이터 전송을 위한 방법 및 장치 KR100431110B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US7156698P 1998-01-15 1998-01-15
US60/071,566 1998-01-15
US09/140,173 1998-08-25
US09/140,173 US6134243A (en) 1998-01-15 1998-08-25 Method and apparatus for media data transmission

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020007007836A Division KR100339629B1 (ko) 1998-01-15 1999-01-13 미디어 데이터 변환을 위한 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20010034224A KR20010034224A (ko) 2001-04-25
KR100431110B1 true KR100431110B1 (ko) 2004-05-12

Family

ID=26752380

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020007007836A KR100339629B1 (ko) 1998-01-15 1999-01-13 미디어 데이터 변환을 위한 방법 및 장치
KR10-2000-7007888A KR100431110B1 (ko) 1998-01-15 1999-01-13 미디어 데이터 전송을 위한 방법 및 장치

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020007007836A KR100339629B1 (ko) 1998-01-15 1999-01-13 미디어 데이터 변환을 위한 방법 및 장치

Country Status (10)

Country Link
US (4) US6134243A (ko)
EP (1) EP1062782B1 (ko)
JP (3) JP2002510165A (ko)
KR (2) KR100339629B1 (ko)
CN (2) CN1166142C (ko)
AU (1) AU758220B2 (ko)
CA (1) CA2318963C (ko)
DE (2) DE69933281T2 (ko)
HK (1) HK1035277A1 (ko)
WO (1) WO1999037057A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101353620B1 (ko) * 2006-01-05 2014-01-20 텔레폰악티에볼라겟엘엠에릭슨(펍) 미디어 컨테이너 파일 관리

Families Citing this family (161)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6360234B2 (en) 1997-08-14 2002-03-19 Virage, Inc. Video cataloger system with synchronized encoders
US6567980B1 (en) * 1997-08-14 2003-05-20 Virage, Inc. Video cataloger system with hyperlinked output
US6134243A (en) * 1998-01-15 2000-10-17 Apple Computer, Inc. Method and apparatus for media data transmission
US6744763B1 (en) 1998-01-15 2004-06-01 Apple Computer, Inc. Method and apparatus for media data transmission
US6453355B1 (en) * 1998-01-15 2002-09-17 Apple Computer, Inc. Method and apparatus for media data transmission
CN1118772C (zh) * 1998-05-06 2003-08-20 松下电器产业株式会社 数字数据发送接收系统及其方法
US6728263B2 (en) * 1998-08-18 2004-04-27 Microsoft Corporation Dynamic sizing of data packets
US6833865B1 (en) * 1998-09-01 2004-12-21 Virage, Inc. Embedded metadata engines in digital capture devices
US6934837B1 (en) 1998-10-19 2005-08-23 Realnetworks, Inc. System and method for regulating the transmission of media data
US6487663B1 (en) 1998-10-19 2002-11-26 Realnetworks, Inc. System and method for regulating the transmission of media data
US7468934B1 (en) 1999-07-12 2008-12-23 Ez4Media, Inc. Clock with link to the internet
US20020013852A1 (en) 2000-03-03 2002-01-31 Craig Janik System for providing content, management, and interactivity for thin client devices
US6378010B1 (en) * 1999-08-10 2002-04-23 Hewlett-Packard Company System and method for processing compressed audio data
JP4211153B2 (ja) 1999-09-17 2009-01-21 ソニー株式会社 記録装置および方法
US9092535B1 (en) 1999-09-21 2015-07-28 Google Inc. E-mail embedded textual hyperlink object
US7840639B1 (en) 1999-09-21 2010-11-23 G&H Nevada-Tek Method and article of manufacture for an automatically executed application program associated with an electronic message
US6360221B1 (en) 1999-09-21 2002-03-19 Neostar, Inc. Method and apparatus for the production, delivery, and receipt of enhanced e-mail
US7327761B2 (en) * 2000-02-03 2008-02-05 Bandwiz Inc. Data streaming
US7304990B2 (en) * 2000-02-03 2007-12-04 Bandwiz Inc. Method of encoding and transmitting data over a communication medium through division and segmentation
EP1126716A1 (en) * 2000-02-18 2001-08-22 Telefonaktiebolaget L M Ericsson (Publ) Method and system for controlling a processing of video data
US7240099B2 (en) * 2000-03-06 2007-07-03 Sony Corporation System and method for efficiently performing data transfer operations
EP1279249B1 (en) * 2000-03-29 2007-08-01 Vadium Technology Inc. One-time-pad encryption with central key service and keyable characters
US7222163B1 (en) 2000-04-07 2007-05-22 Virage, Inc. System and method for hosting of video content over a network
US8171509B1 (en) 2000-04-07 2012-05-01 Virage, Inc. System and method for applying a database to video multimedia
US7962948B1 (en) 2000-04-07 2011-06-14 Virage, Inc. Video-enabled community building
US7260564B1 (en) 2000-04-07 2007-08-21 Virage, Inc. Network video guide and spidering
US7082166B2 (en) * 2000-04-17 2006-07-25 Pts Corporation Decoder for decoding segment-based encoding of video data using segmentation performed at a decoder
US7191242B1 (en) 2000-06-22 2007-03-13 Apple, Inc. Methods and apparatuses for transferring data
WO2002003645A2 (en) * 2000-06-30 2002-01-10 Nokia Inc. Method and apparatus to synchronize audio and visual application data presentation
DE10033110B4 (de) * 2000-07-07 2005-06-16 Siemens Ag Verfahren, und System zur Übertragung digitalisierter Bewegtbilder von einem Sender zu einem Empfänger und zugehöriger Decoder
US7421729B2 (en) 2000-08-25 2008-09-02 Intellocity Usa Inc. Generation and insertion of indicators using an address signal applied to a database
US20020065678A1 (en) * 2000-08-25 2002-05-30 Steven Peliotis iSelect video
US7142934B2 (en) * 2000-09-01 2006-11-28 Universal Electronics Inc. Audio converter device and method for using the same
US20060031550A1 (en) * 2000-09-05 2006-02-09 Universal Electronics Inc. Webpad adapted to communicate using wide area and local area communication channels
US20020065927A1 (en) 2000-09-05 2002-05-30 Janik Craig M. Webpad and method for using the same
US20020065902A1 (en) * 2000-09-05 2002-05-30 Janik Craig M. Webpad and method for using the same
FR2814027B1 (fr) * 2000-09-14 2003-01-31 Cit Alcatel Procede de synchronisation d'un fichier multimedia
US7200357B2 (en) 2000-10-20 2007-04-03 Universal Electronics Inc. Automotive storage and playback device and method for using the same
US20020126990A1 (en) * 2000-10-24 2002-09-12 Gary Rasmussen Creating on content enhancements
KR20020032803A (ko) * 2000-10-27 2002-05-04 구자홍 스트리밍 서비스를 위한 파일 구조
JP2002152259A (ja) * 2000-11-13 2002-05-24 Yozan Inc 通信端末装置および課金処理装置
FR2818066B1 (fr) * 2000-12-12 2003-10-10 Eads Airbus Sa Procede et dispositif de transmission deterministe de donnees asynchrones mises en paquet
NL1017388C2 (nl) 2001-02-16 2002-08-19 Marc Van Oldenborgh Organisch datanetwerk met een dynamische topologie.
CA2438620A1 (en) * 2001-02-20 2002-08-29 Intellocity Usa, Inc. Content based video selection
JP3946965B2 (ja) 2001-04-09 2007-07-18 ソニー株式会社 無体財産権を保護する情報を記録する記録装置、記録方法、記録媒体、およびプログラム
AU2002302974A1 (en) * 2001-05-31 2002-12-09 Canon Kabushiki Kaisha Information storing apparatus and method therefor
US7945688B1 (en) 2001-06-12 2011-05-17 Netapp, Inc. Methods and apparatus for reducing streaming media data traffic bursts
CN101430912B (zh) * 2001-06-15 2014-08-06 夏普株式会社 数据编辑方法
EP2597811B1 (en) * 2001-08-15 2019-10-09 Bentley Systems, Incorporated Method and system for storing large data files
US7162479B2 (en) * 2001-08-15 2007-01-09 Bentley Systens, Incorporated Method and system for storing large data files
US7428548B2 (en) 2001-08-15 2008-09-23 Bentley Systems, Inc. Computer readable medium for storing large data files
US20030056010A1 (en) * 2001-09-20 2003-03-20 Koninklijke Philips Electronics N.V. Downstream metadata altering
EP2053609A3 (en) * 2001-11-29 2009-05-06 Sharp Kabushiki Kaisha Data recording method, data deletion method, data display method, recording apparatus, recording medium, and program
US7281052B2 (en) * 2001-12-14 2007-10-09 International Business Machines Corporation Data tracing identifiers
US7681013B1 (en) 2001-12-31 2010-03-16 Apple Inc. Method for variable length decoding using multiple configurable look-up tables
US7034849B1 (en) * 2001-12-31 2006-04-25 Apple Computer, Inc. Method and apparatus for image blending
AU2003210505A1 (en) * 2002-01-16 2003-09-02 Aviom, Inc. System and method for transmitting audio or video data using multiple levels of protection
JP2005516278A (ja) * 2002-01-23 2005-06-02 クルーズ、スカイ 情報を秘密保護して送信および分配し、中間情報記憶媒体において送信された情報の物理的な例示を行う方法およびシステム
US20030142113A1 (en) * 2002-01-30 2003-07-31 Xerox Corporation Hint data editor and method of editing hint data
US7613727B2 (en) * 2002-02-25 2009-11-03 Sont Corporation Method and apparatus for supporting advanced coding formats in media files
US20040199565A1 (en) * 2003-02-21 2004-10-07 Visharam Mohammed Zubair Method and apparatus for supporting advanced coding formats in media files
US20030163477A1 (en) * 2002-02-25 2003-08-28 Visharam Mohammed Zubair Method and apparatus for supporting advanced coding formats in media files
WO2003075524A1 (en) * 2002-03-04 2003-09-12 Fujitsu Limited Hierarchical encoded data distributor and distributing method
US8214655B2 (en) 2002-03-29 2012-07-03 Kabushiki Kaisha Toshiba Data structure of multimedia file format, encrypting method and device thereof, and decrypting method and device thereof
US7249264B2 (en) * 2002-04-02 2007-07-24 International Business Machines Corporation Secure IP based streaming in a format independent manner
US7831990B2 (en) * 2002-04-29 2010-11-09 Sony Corporation Generic adaptation layer for JVT video
US20040006575A1 (en) * 2002-04-29 2004-01-08 Visharam Mohammed Zubair Method and apparatus for supporting advanced coding formats in media files
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
US8117328B2 (en) * 2002-06-25 2012-02-14 Microsoft Corporation System and method for automatically recovering from failed network connections in streaming media scenarios
US20040002993A1 (en) * 2002-06-26 2004-01-01 Microsoft Corporation User feedback processing of metadata associated with digital media files
US7401221B2 (en) * 2002-09-04 2008-07-15 Microsoft Corporation Advanced stream format (ASF) data stream header object protection
NO318686B1 (no) * 2002-09-27 2005-04-25 Gridmedia Technologies As Multimedia-filformat
AU2003263485A1 (en) * 2002-10-15 2004-05-04 Koninklijke Philips Electronics N.V. System and method for providing error recovery for streaming fgs encoded video over an ip network
US7305043B2 (en) * 2002-10-17 2007-12-04 Ibiquity Digital Corporation Method and apparatus for formatting signals for digital audio broadcasting transmission and reception
CN100337227C (zh) * 2002-10-31 2007-09-12 艾瑞赞公司 为移动通信装置的文档内容做摘要的方法和装置
WO2004046845A2 (en) * 2002-11-20 2004-06-03 Nokia Corporation System and method for data transmission and reception
JP3937223B2 (ja) * 2003-01-21 2007-06-27 ソニー株式会社 記録装置、再生装置、記録方法及び再生方法
FR2850817B1 (fr) * 2003-01-31 2005-06-03 Cit Alcatel Dispositif de traitement de donnees audio et video pour une communication multimedia via un reseau local etabli au sein d'un reseau asynchrone
US20040158582A1 (en) * 2003-02-11 2004-08-12 Shuichi Takagi Method and apparatus for synchronously transferring data from a local storage medium to a remote storage medium, and method and system for managing transfer of data from a source storage medium to a repository storage medium
US7991905B1 (en) 2003-02-12 2011-08-02 Netapp, Inc. Adaptively selecting timeouts for streaming media
WO2004077790A1 (en) * 2003-02-26 2004-09-10 Koninklijke Philips Electronics N.V. System for broadcasting multimedia content
US7768234B2 (en) * 2004-02-28 2010-08-03 Janik Craig M System and method for automatically synchronizing and acquiring content for battery powered devices
US9274576B2 (en) * 2003-03-17 2016-03-01 Callahan Cellular L.L.C. System and method for activation of portable and mobile media player devices for wireless LAN services
US20060059245A1 (en) * 2003-03-25 2006-03-16 Matsushita Electric Industrial Co., Ltd. Data transmission device
JP2004310330A (ja) * 2003-04-04 2004-11-04 Sony Corp プログラム、その方法およびその装置
US20040199669A1 (en) * 2003-04-04 2004-10-07 Riggs Nicholas Dale Apparatus and method for efficiently and securely transferring files over a communications network
US7623482B2 (en) * 2003-05-10 2009-11-24 Hewlett-Packard Development Company, L.P. System and method for effectuating the transfer of data blocks including a header block across a clock boundary
JP2005012262A (ja) 2003-06-16 2005-01-13 Canon Inc 記録装置、記録方法、記録再生装置及び記録再生方法
US20040260827A1 (en) * 2003-06-19 2004-12-23 Nokia Corporation Stream switching based on gradual decoder refresh
US7483532B2 (en) * 2003-07-03 2009-01-27 Microsoft Corporation RTP payload format
KR100523357B1 (ko) * 2003-07-09 2005-10-25 한국전자통신연구원 이더넷 기반 수동형 광네트워크의 보안서비스 제공을 위한키관리 장치 및 방법
CN1617254A (zh) 2003-11-10 2005-05-18 皇家飞利浦电子股份有限公司 光盘播放系统及其播放方法
JP4439880B2 (ja) * 2003-11-13 2010-03-24 パナソニック株式会社 コンテンツ配信システム、コンテンツサーバ、コンテンツ受信装置、コンテンツ配信方法、記録媒体、及びプログラム
US7555009B2 (en) * 2003-11-14 2009-06-30 Canon Kabushiki Kaisha Data processing method and apparatus, and data distribution method and information processing apparatus
US20050132293A1 (en) * 2003-12-10 2005-06-16 Magix Ag System and method of multimedia content editing
US8732221B2 (en) * 2003-12-10 2014-05-20 Magix Software Gmbh System and method of multimedia content editing
US7652844B2 (en) * 2003-12-24 2010-01-26 Bruce Edwards System and method for protecting removeable media playback devices
US7394011B2 (en) * 2004-01-20 2008-07-01 Eric Christopher Huffman Machine and process for generating music from user-specified criteria
KR101022078B1 (ko) * 2004-02-10 2011-03-17 톰슨 라이센싱 비디오 정보의 스트리밍을 용이하게 하는 방법 및 장치, 컴퓨터 판독가능 매체 및 비디오 정보를 포함하는 파일을 처리하는 방법 및 장치
US20070258595A1 (en) * 2004-03-11 2007-11-08 Universal Electronics Inc. Syncronizing Device-Specific Encrypted Data to and from Mobile Devices Using Detachable Storage Media
US7818444B2 (en) 2004-04-30 2010-10-19 Move Networks, Inc. Apparatus, system, and method for multi-bitrate content streaming
CA2569994A1 (en) * 2004-06-10 2005-12-29 Xweb, Inc. System and method for the transmission of data
US20060004926A1 (en) * 2004-06-30 2006-01-05 David Thomas S Smart buffer caching using look aside buffer for ethernet
US7624157B2 (en) * 2004-06-30 2009-11-24 Silicon Laboratories Inc. Ethernet controller with excess on-board flash for microcontroller interface
US7624021B2 (en) * 2004-07-02 2009-11-24 Apple Inc. Universal container for audio data
US7899492B2 (en) 2004-07-16 2011-03-01 Sellerbid, Inc. Methods, systems and apparatus for displaying the multimedia information from wireless communication networks
US7957733B2 (en) 2004-07-16 2011-06-07 Sellerbid, Inc. Method and apparatus for multimedia communications with different user terminals
US20140071818A1 (en) 2004-07-16 2014-03-13 Virginia Innovation Sciences, Inc. Method and system for efficient communication
TWI300186B (en) * 2004-07-30 2008-08-21 Mediatek Inc Method and apparatus for data recording with pseudo-merge
JP4182932B2 (ja) * 2004-08-04 2008-11-19 ソニー株式会社 記録装置および方法、再生装置および方法、記録再生装置および方法、並びにプログラム
US7752325B1 (en) 2004-10-26 2010-07-06 Netapp, Inc. Method and apparatus to efficiently transmit streaming media
US20060100924A1 (en) * 2004-11-05 2006-05-11 Apple Computer, Inc. Digital media file with embedded sales/marketing information
CA2489256A1 (en) * 2004-12-06 2006-06-06 Christoph Both System and method for video assisted music instrument collaboration over distance
FI20041689A0 (fi) * 2004-12-30 2004-12-30 Nokia Corp Mediavirran merkintä ja/tai jakaminen solukkoverkon päätteessä
US20060158677A1 (en) * 2005-01-18 2006-07-20 Atousa Soroushi Enhanced image data processing method and apparatus
US7852353B1 (en) * 2005-03-31 2010-12-14 Apple Inc. Encoding a transparency (alpha) channel in a video bitstream
US7496678B2 (en) * 2005-05-11 2009-02-24 Netapp, Inc. Method and system for unified caching of media content
US8244179B2 (en) 2005-05-12 2012-08-14 Robin Dua Wireless inter-device data processing configured through inter-device transmitted data
US7684566B2 (en) 2005-05-27 2010-03-23 Microsoft Corporation Encryption scheme for streamed multimedia content protected by rights management system
US8098657B2 (en) * 2005-05-31 2012-01-17 Broadcom Corporation System and method for providing data commonality in a programmable transport demultiplexer engine
US8571053B2 (en) * 2005-05-31 2013-10-29 Broadcom Corporation Method and system for architecture of a fast programmable transport demultiplexer using double buffered approach
US8264960B2 (en) * 2005-05-31 2012-09-11 Broadcom Corporation Method and system for sharing AV/record resources in a programmable transport demultiplexer and PVR engine
US20070002852A1 (en) * 2005-06-30 2007-01-04 Nokia Corporation Fixed interleaving length for MPE-FEC
US20070011169A1 (en) * 2005-07-05 2007-01-11 Xerox Corporation Method and system for collecting data from diverse sources and transforming the collected data into a user-friendly format
JP2007018198A (ja) * 2005-07-06 2007-01-25 Sony Corp リンク情報付きインデックス情報生成装置、タグ情報付き画像データ生成装置、リンク情報付きインデックス情報生成方法、タグ情報付き画像データ生成方法及びプログラム
US7769880B2 (en) * 2005-07-07 2010-08-03 Microsoft Corporation Carrying protected content using a control protocol for streaming and a transport protocol
US20070022215A1 (en) * 2005-07-19 2007-01-25 Singer David W Method and apparatus for media data transmission
US8321690B2 (en) 2005-08-11 2012-11-27 Microsoft Corporation Protecting digital media of various content types
US7634816B2 (en) * 2005-08-11 2009-12-15 Microsoft Corporation Revocation information management
US7720096B2 (en) * 2005-10-13 2010-05-18 Microsoft Corporation RTP payload format for VC-1
US8788933B2 (en) * 2005-12-01 2014-07-22 Nokia Corporation Time-shifted presentation of media streams
CA2633778C (en) * 2006-01-05 2016-03-15 Anisse Taleb Media content management
US7624417B2 (en) * 2006-01-27 2009-11-24 Robin Dua Method and system for accessing media content via the internet
US7697537B2 (en) * 2006-03-21 2010-04-13 Broadcom Corporation System and method for using generic comparators with firmware interface to assist video/audio decoders in achieving frame sync
TWI322949B (en) * 2006-03-24 2010-04-01 Quanta Comp Inc Apparatus and method for determining rendering duration of video frame
WO2008118183A1 (en) * 2007-03-28 2008-10-02 Motionbox, Inc. System and method for autogeneration of long term media data from networked time-based media
US20070248318A1 (en) * 2006-03-31 2007-10-25 Rodgers Stephane W System and method for flexible mapping of AV vs record channels in a programmable transport demultiplexer/PVR engine
US7996495B2 (en) 2006-04-06 2011-08-09 General Electric Company Adaptive selection of image streaming mode
US20080010117A1 (en) * 2006-06-14 2008-01-10 Microsoft Corporation Dynamic advertisement insertion in a download service
US20080010119A1 (en) * 2006-06-14 2008-01-10 Microsoft Corporation Locating downloaded and viewed content and advertisements
US20080010118A1 (en) * 2006-06-14 2008-01-10 Microsoft Corporation Managing content downloads to retain user attention
US20080256271A1 (en) * 2006-12-12 2008-10-16 Breed Paul T Methods and apparatus for reducing storage usage in devices
US10382514B2 (en) 2007-03-20 2019-08-13 Apple Inc. Presentation of media in an application
AP2923A (en) * 2007-05-04 2014-05-31 Nokia Corp Media stream recording into a reception hint trackof a multimedia container file
KR20090017170A (ko) * 2007-08-14 2009-02-18 삼성전자주식회사 미디어 파일 관리 방법 및 장치
US8261312B2 (en) * 2008-06-27 2012-09-04 Cisco Technology, Inc. Linear hint video streaming
US8468426B2 (en) * 2008-07-02 2013-06-18 Apple Inc. Multimedia-aware quality-of-service and error correction provisioning
US9244927B1 (en) * 2008-09-30 2016-01-26 Emc Corporation System and method for record level multiplexing of backup data to storage media
KR101566250B1 (ko) * 2009-01-13 2015-11-05 삼성전자주식회사 휴대용 단말기에서 멀티미디어 파일 스트리밍을 위한 장치 및 방법
US20100279418A1 (en) * 2009-05-04 2010-11-04 Loren Robert Larson Glucose meter adaptable for use with handheld devices, and associated communication network
US8327268B2 (en) * 2009-11-10 2012-12-04 Magix Ag System and method for dynamic visual presentation of digital audio content
US9026913B2 (en) * 2010-06-11 2015-05-05 Linkedin Corporation Replacing an image with a media player
US9275685B2 (en) 2010-06-11 2016-03-01 Linkedin Corporation Smooth playing of video
US9699503B2 (en) 2010-09-07 2017-07-04 Opentv, Inc. Smart playlist
US10210160B2 (en) 2010-09-07 2019-02-19 Opentv, Inc. Collecting data from different sources
US8949871B2 (en) 2010-09-08 2015-02-03 Opentv, Inc. Smart media selection based on viewer user presence
US10496250B2 (en) 2011-12-19 2019-12-03 Bellevue Investments Gmbh & Co, Kgaa System and method for implementing an intelligent automatic music jam session
US9438883B2 (en) * 2012-04-09 2016-09-06 Intel Corporation Quality of experience reporting for combined unicast-multicast/broadcast streaming of media content
KR20140002447A (ko) * 2012-06-29 2014-01-08 삼성전자주식회사 멀티미디어 시스템에서 적응적 미디어 구조 송수신 방법 및 장치
US9601097B2 (en) * 2014-03-06 2017-03-21 Zivix, Llc Reliable real-time transmission of musical sound control data over wireless networks
CN108206807A (zh) * 2016-12-16 2018-06-26 展讯通信(上海)有限公司 通话中共享信息的方法、装置及移动终端

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3873777A (en) * 1972-05-23 1975-03-25 Japan Broadcasting Corp Signal transmission system for transmitting a plurality of series of signals
JPS5141287B2 (ko) * 1972-09-04 1976-11-09
US4688214A (en) 1986-03-12 1987-08-18 American Telephone And Telegraph Company, At&T Laboratories Switching system control arrangements
DE4102408A1 (de) 1991-01-28 1992-08-06 Grundig Emv Verfahren zur sender- bzw. regionalkennung in gleichwellennetzen
JPH04245818A (ja) * 1991-01-31 1992-09-02 Pioneer Electron Corp 情報伝送システム
US5319707A (en) * 1992-11-02 1994-06-07 Scientific Atlanta System and method for multiplexing a plurality of digital program services for transmission to remote locations
JP2939956B2 (ja) * 1993-05-24 1999-08-25 日本ビクター株式会社 動画像情報再生装置
DE69432524T2 (de) 1993-06-09 2004-04-01 Btg International Inc. Verfahren und vorrichtung für ein digitales multimediakommunikationssystem
ES2118976T3 (es) * 1993-09-10 1998-10-01 Rca Thomson Licensing Corp Codificador audio de paquetes en tiempo real que funcionan en modo de capas.
US5689641A (en) * 1993-10-01 1997-11-18 Vicor, Inc. Multimedia collaboration system arrangement for routing compressed AV signal through a participant site without decompressing the AV signal
DE69525556T2 (de) 1994-03-21 2002-09-12 Avid Technology Inc Gerät und Verfahren ausgeführt auf einem Rechner für Echtzeit Multimedia Datenübertragung in einer verteilten Rechneranordnung
US5497373A (en) 1994-03-22 1996-03-05 Ericsson Messaging Systems Inc. Multi-media interface
US5448568A (en) * 1994-04-28 1995-09-05 Thomson Consumer Electronics, Inc. System of transmitting an interactive TV signal
EP0702309A1 (en) * 1994-06-24 1996-03-20 Aarhuus Stiftsbogtrykkerie S.M.B.A. A computerized image displaying system, a data carrying medium for use in a computerized displaying system, and a method of displaying images
JP3462267B2 (ja) * 1994-06-30 2003-11-05 株式会社東芝 情報通信端末装置
CA2199360C (en) 1994-09-08 2001-06-26 Laurence Fish Method and apparatus for electronic distribution of digital multi-media information
US5625818A (en) * 1994-09-30 1997-04-29 Apple Computer, Inc. System for managing local database updates published to different online information services in different formats from a central platform
WO1996017313A1 (en) 1994-11-18 1996-06-06 Oracle Corporation Method and apparatus for indexing multimedia information streams
EP0716370A3 (en) 1994-12-06 2005-02-16 International Business Machines Corporation A disk access method for delivering multimedia and video information on demand over wide area networks
GB2298951B (en) 1995-03-17 1999-10-27 Olivetti Res Ltd Addition of time information
JP3609488B2 (ja) * 1995-05-17 2005-01-12 株式会社日立製作所 情報処理システム
US5818441A (en) * 1995-06-15 1998-10-06 Intel Corporation System and method for simulating two-way connectivity for one way data streams
WO1997001928A1 (fr) * 1995-06-29 1997-01-16 Sony Corporation Dispositif de transmission de signal video
US5659539A (en) 1995-07-14 1997-08-19 Oracle Corporation Method and apparatus for frame accurate access of digital audio-visual information
US6138147A (en) 1995-07-14 2000-10-24 Oracle Corporation Method and apparatus for implementing seamless playback of continuous media feeds
US6112226A (en) 1995-07-14 2000-08-29 Oracle Corporation Method and apparatus for concurrently encoding and tagging digital information for allowing non-sequential access during playback
US6119154A (en) 1995-07-14 2000-09-12 Oracle Corporation Method and apparatus for non-sequential access to an in-progress video feed
JPH0944976A (ja) * 1995-07-27 1997-02-14 Sony Corp ディスク駆動装置およびディスク駆動方法
US5966120A (en) 1995-11-21 1999-10-12 Imedia Corporation Method and apparatus for combining and distributing data with pre-formatted real-time video
KR19990072122A (ko) * 1995-12-12 1999-09-27 바자니 크레이그 에스 실시간 영상 전송 방법 및 장치
US6085221A (en) * 1996-01-08 2000-07-04 International Business Machines Corporation File server for multimedia file distribution
JPH09200158A (ja) * 1996-01-19 1997-07-31 Toshiba Corp デジタル放送システムとその送信装置及び受信装置
US5859660A (en) 1996-02-29 1999-01-12 Perkins; Michael G. Non-seamless splicing of audio-video transport streams
JPH09247645A (ja) * 1996-03-12 1997-09-19 Toshiba Corp ビデオサーバのビデオデータ管理装置
US6157674A (en) 1996-03-21 2000-12-05 Sony Corporation Audio and video data transmitting apparatus, system, and method thereof
US5778187A (en) * 1996-05-09 1998-07-07 Netcast Communications Corp. Multicasting method and apparatus
US5838678A (en) * 1996-07-24 1998-11-17 Davis; Joseph W. Method and device for preprocessing streams of encoded data to facilitate decoding streams back-to back
US5928330A (en) 1996-09-06 1999-07-27 Motorola, Inc. System, device, and method for streaming a multimedia file
US5956729A (en) 1996-09-06 1999-09-21 Motorola, Inc. Multimedia file, supporting multiple instances of media types, and method for forming same
US5774666A (en) 1996-10-18 1998-06-30 Silicon Graphics, Inc. System and method for displaying uniform network resource locators embedded in time-based medium
US6064771A (en) 1997-06-23 2000-05-16 Real-Time Geometry Corp. System and method for asynchronous, adaptive moving picture compression, and decompression
US6157871A (en) 1997-09-26 2000-12-05 Marconi Commerce Systems Inc. Fuel dispensing system preventing customer drive-off
US6175871B1 (en) 1997-10-01 2001-01-16 3Com Corporation Method and apparatus for real time communication over packet networks
US6327418B1 (en) 1997-10-10 2001-12-04 Tivo Inc. Method and apparatus implementing random access and time-based functions on a continuous stream of formatted digital data
US6175872B1 (en) 1997-12-12 2001-01-16 Gte Internetworking Incorporated Collaborative environment for syncronizing audio from remote devices
US6134243A (en) * 1998-01-15 2000-10-17 Apple Computer, Inc. Method and apparatus for media data transmission
US6453355B1 (en) * 1998-01-15 2002-09-17 Apple Computer, Inc. Method and apparatus for media data transmission

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101353620B1 (ko) * 2006-01-05 2014-01-20 텔레폰악티에볼라겟엘엠에릭슨(펍) 미디어 컨테이너 파일 관리

Also Published As

Publication number Publication date
US6829648B1 (en) 2004-12-07
US6134243A (en) 2000-10-17
US20030204555A1 (en) 2003-10-30
CA2318963C (en) 2012-03-20
DE69933281T2 (de) 2007-05-10
JP5081868B2 (ja) 2012-11-28
JP2009225458A (ja) 2009-10-01
AU2322499A (en) 1999-08-02
CA2318963A1 (en) 1999-07-22
KR100339629B1 (ko) 2002-06-21
JP4891364B2 (ja) 2012-03-07
HK1035277A1 (en) 2001-11-16
JP2009246991A (ja) 2009-10-22
CN1308437A (zh) 2001-08-15
WO1999037057A2 (en) 1999-07-22
US6717952B2 (en) 2004-04-06
DE69925254D1 (de) 2005-06-16
US6512778B1 (en) 2003-01-28
AU758220B2 (en) 2003-03-20
CN1290444A (zh) 2001-04-04
EP1062782A2 (en) 2000-12-27
WO1999037057A3 (en) 1999-09-16
DE69933281D1 (de) 2006-11-02
CN1166142C (zh) 2004-09-08
KR20010052144A (ko) 2001-06-25
KR20010034224A (ko) 2001-04-25
DE69925254T2 (de) 2006-03-16
JP2002510165A (ja) 2002-04-02
EP1062782B1 (en) 2005-05-11

Similar Documents

Publication Publication Date Title
KR100431110B1 (ko) 미디어 데이터 전송을 위한 방법 및 장치
KR100607784B1 (ko) 미디어 데이터 전송을 위한 방법 및 장치
US6714984B2 (en) Method and apparatus for media data transmission
EP1051008B1 (en) Method and apparatus for media data transmission
EP1819127B1 (en) Method and apparatus for media data transmission
AU755830B2 (en) Method and apparatus for media data transmission
AU2003204872B2 (en) Method and apparatus for media data transmission

Legal Events

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

Payment date: 20170330

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20180328

Year of fee payment: 15

EXPY Expiration of term