KR20070019670A - VOD(video-on-demand) 스트리밍을 위해향상된 특징을 제공하는 시스템 및 방법 - Google Patents

VOD(video-on-demand) 스트리밍을 위해향상된 특징을 제공하는 시스템 및 방법 Download PDF

Info

Publication number
KR20070019670A
KR20070019670A KR1020067013468A KR20067013468A KR20070019670A KR 20070019670 A KR20070019670 A KR 20070019670A KR 1020067013468 A KR1020067013468 A KR 1020067013468A KR 20067013468 A KR20067013468 A KR 20067013468A KR 20070019670 A KR20070019670 A KR 20070019670A
Authority
KR
South Korea
Prior art keywords
video
user
video signal
client player
media server
Prior art date
Application number
KR1020067013468A
Other languages
English (en)
Inventor
멩 왕
지안 왕
잉 루오
이그나티우스 쳉
피터 코트
Original Assignee
디지털 악셀러레이터 코퍼레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 디지털 악셀러레이터 코퍼레이션 filed Critical 디지털 악셀러레이터 코퍼레이션
Priority to KR1020067013468A priority Critical patent/KR20070019670A/ko
Publication of KR20070019670A publication Critical patent/KR20070019670A/ko

Links

Images

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/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • 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
    • H04N21/6334Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key
    • 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/64322IP

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명은 스트리밍 VOD(video on demand) 시스템을 위해 향상된 특징을 제공하는 시스템 및 방법을 제시한다. 상기 시스템은 미디어 서버와 클라이언트 플레이어를 포함하며, 여기서 사용자는 클라이언트 플레이어를 경유한 사용자를 위한 이후 디스플레이를 위해 미디어 서버에서 클라이언트 플레이어로 전송할 원하는 비디오를 선택할 수 있다. 상기 시스템은 선택한 비디오 신호의 재생을 위한 원하는 새로운 시작점을 사용자가 대화형으로 선택하도록 하는 메커니즘을 포함한다. 상기 메커니즘은 검색가능 인덱스 프레임의 제1, 제2 시리즈에 의해 제공되며, 제1 시리즈는 선택한 비디오 신호의 전송동안 미디어 서버에 의해 생성된다. 제2 시리즈는 선택된 비디오 신호의 수신동안 클라이언트 플레이어에 의해 생성되나. 클라이언트 플레이어가 원하는 새 시작점을 수신하면, 원하는 새 시작점을 가장 잘 나타내는 필요한 검색가능 인덱스 프레임을 식별하기 위해 제1 또는 제2 시리즈에 접근한다. 클라이언트 플레이어에 의한 비디오 디스플레이는 이후 상기 필요한 검색가능 인덱스 프레임에서부터 시작한다.
스트리밍 VOD, 미디어 서버, 클라이언트 플레이어, 비디오, 인덱스 프레임

Description

VOD(video-on-demand) 스트리밍을 위해 향상된 특징을 제공하는 시스템 및 방법{System and method providing enhanced features for streaming video-on-demand}
본 발명은 스트리밍 VOD(video-on-demand)를 최종 사용자에게 제공하는 시스템에 관한 것으로서, 좀 더 상세하게는 인터넷 프로토콜(IP) 기반 네트워크 상에서 VOD 시청자들에게 향상된 특징을 제공함에 관한 것이다.
VOD(video-on-demand) 및 PVR(personal video recorder) 서비스를 포함한 소비자 오락 서비스는 종래의 통신 시스템 아키텍쳐를 통해 전달될 수 있다. 종래의 디지털 케이블 시스템에서, 채널은 비디오 지속기간 동안은 사용자 전용이다. DVD(digital versatile/video disk) 디스플레이를 에뮬레이팅하려는 VOD 서비스는 대용량의 수퍼 컴퓨터형 처리기인 중앙 비디오 서버에서 전송된다. 이 처리기는 보통 케이블 MSO(multiple service operator)의 대도시 통신망에 기반한 메트로 서비스 전송 센터에 위치한다. 소비자가 메뉴에서 비디오를 선택하면 비디오는 비디오 서버에서 스트리밍(streamed out)된다. 비디오 서버는 비디오를 신속히 엔코딩하고 이를 바로 디코딩하는 셋톱 박스(set-top box)로 컨텐츠를 스트리밍한다. 셋톱 박스에서는 캐싱(caching)이나 로컬 저장장치가 필요 없다. 이러한 중앙 비디오 서버 아키텍쳐에서, 동시 사용자 수는 비디오 서버의 용량에 의해 제한된다. 이 해결방안은 다소 고가이며 스케일링하기 어렵다. "주크 박스(Juke box)"형 DVD 서버도 유사한 성능문제와 범위성(scalability)문제를 지니고 있다.
수년 동안 VOD 서비스는 호텔 텔레비젼 시스템에서 알려져 있다. VOD 서비스를 통해 사용자는 시청할 프로그램을 선택하고 선택한 프로그램의 비디오 및 오디오 데이터를 사용자의 텔레비전 세트로 전송시킬 수 있다. 이러한 시스템의 예제는 고속 재생과 일반 재생 모드를 가진 VOD 시스템을 개시하는 US Patent No. 6,057,832; 분산 네트워크 상에서 비디오 컨텐츠 프로그램의 안전한 구매와 전송을 위한 시스템 및 프로그램이 주문되고 지불될 경우 비디오 소스로부터 복호키(decryption key)를 다운로딩하는 DVD를 개시하는 US Patent No. 6,055,314; 대화형(interactive) TV 채널 상에서 LAN이나 TV를 통해 사용자군에 대화형 멀티미디어 서비스를 전달하기 위한 대화형 VOD를 개시하는 US Patent No. 6,049,823; 대용량 저장 매체를 포함하는 재생 신호 단위당 요금지불(pay-per-play; pay/play) 시스템을 개시하는 US Patent No. 6,025,868; 사용자로 하여금 자신들의 속도로 리뷰하기 위해 트레일러(trailer)를 그룹화하고 트레일러로부터 직접 프로그램을 주문할 수 있게 하는 대화형 VOD 네트워크 시스템을 개시하는 US Patent No. 5,945,987; 다수의 프로그램 요청를 임계값과 비교하고, 고요구(high demand)의 어떤 상황에서는 영화를 모든 요청자에게 제공하기 위해 원래 디스크는 대역폭을 가지지 않는 또 다른 디스크에 비디오 영화를 카피하는 대역폭 할당 방식을 이용하는 viewing on demand를 위해 디지털 비디오 영화로의 접근을 제공하는 서버를 개시하 는 US Patent No. 5,935,206; 프로그램을 N 세그먼트의 순서화된 시퀀스로 분할하여 비디오 프로그램으로의 접근을 제공하고, 각 N 세그먼트로의 가입자 동시 접근을 제공하는 VOD 시스템을 개시하는 US Patent No. 5,926,205; 멀티미디어 서버(들)을 인터페이싱하고 가입자 요청을 수신하는 전화국을 경유하여 멀티미디어 정보 서버로부터 각 전화 가입자에게 정보를 제공하며, 라우팅 데이터(routing data)를 전달하는 게이트웨이 및 가입자로의 ADSL 링크의 제 1, 2, 3 신호 채널을 통해 멀티미디어 데이터를 서버에서 요청하는 가입자로 라우팅하는 스위치를 포함하는 일반 전화 교환망(public switched telephone network)을 개시하는 US Patent No. 5,802,283을 포함한다.
US Patent No. 6,055,560은 되감기, 정지, 빨리 감기 등 VCR에서만 볼 수 있는 기능을 정상적으로 지원하는 대화형 VOD 시스템을 개시한다.
또한, US Patent No. 6,020,912는 정상, 빨리 감기, 저속, 되감기 또는 멈춤 모드에서 요청된 비디오 프로그램을 전송할 수 있는 서버국(server station) 및 사용자국(user station)을 가지는 VOD 시스템을 개시한다. 상기 두 특허는 가령 비디오 카세트 리코더가 일반적으로 비디오를 제공함에 따라 가속 감기 속도 또는 되감기 속도로 비디오를 시청할 수 있는 특징을 정의한다.
종래의 SVOD(streamed video-on-demand) 시스템과 구축중인 국제 표준의 발달은 디지털 비디오 컨텐츠를 최종 사용자에게 제공하기 위해 존재한다. 이러한 시스템을 현재 구현하기란 비용이 많이 들며 사유(proprietary)나 접근불능 네트워크 또는 케이블 시스템에 달려 있어, 그 최종 결과는 시스템을 싼 가격, 중요한 기능 성 및 기존 네트워크를 통한 신뢰할 수 있는 전송을 통합적으로 제공하지 않는다.
이러한 배경정보는 출원인으로 하여금 알려진 정보가 본 발명과 연관될 가능성을 믿게 하기 위해 제공된다. 상술한 어떤 정보도 본 발명에 반하는 종래기술을 구성한다는 점을 반드시 의도적으로 인정하지 않으며 이를 추론하지도 않는다.
본 발명의 목적은 스트리밍 VOD를 위해 향상된 특징을 제공하는 시스템 및 방법을 제공하는 것이다.
상기 목적을 달성하기 위한 본 발명에 따른 사용자가 선택한 비디오 신호의 재생 파라미터를 수정하게 해주는 VOD(video-on-demand) 시스템은 상기 선택한 비디오 신호를 전송하고 상기 선택한 비디오 신호의 전송동안 검색가능 인덱스 프레임의 제1 시리즈를 생성하며 상기 제1 시리즈를 저장하는 미디어 서버; 상기 선택한 비디오 신호를 수신하고 디스플레이하며, 검색가능 인덱스 프레임의 제2 시리즈를 생성하고 저장하고, 상기 재생 파라미터를 수정하기 위해 상기 사용자가 요청을 수신하면 제1 시리즈나 제2 시리즈에 접근하고 그로부터 필요한 검색가능 인덱스 프레임을 획득하는 클라이언트 플레이어(client player), 여기서 상기 필요한 검색가능 인덱스 프레임은 상기 선택한 비디오 신호의 재생을 위한 새로운 시작점을 제공하고 상기 미디어 서버와 상기 클라이언트 플레이어는 통신 네트워크에 의해 상호 연결된다.
또 다른 목적을 달성하기 위해 본 발명에 따른 VOD(video-on-demand) 시스템에서 사용자가 선택한 비디오 신호의 재생 파라미터를 수정하게 하는 방법은 상기 클라이언트 플레이어로부터 선택된 비디오 신호에 대한 요청을 상기 미디어 플레이어가 수신하는 단계; 상기 미디어 플레이어가 상기 선택된 비디오 신호를 클라이언트 플레이어로 전송하는 단계; 미디어 플레이어가 전송하는 동안 검색가능 인덱스 프레임의 제1 시리즈를 생성하고 저장하는 단계; 클라이언트 플레이어가 상기 선택된 비디오 신호를 수신하고 디스플레이하는 단계; 수신 및 디스플레이 동안 클라이언트 플레이어가 검색가능 인덱스 프레임의 제2 시리즈를 생성하고 저장하는 단계; 선택된 비디오 신호의 재생 파라미터를 수정하라는 사용자로부터의 요청을 클라이언트 플레이어가 수신하는 단계; 상기 선택된 비디오 신호를 디스플레이할 새로운 시작점을 제공하는 필요한 검색가능 인덱스 프레임에 대해 제1 또는 제2 시리즈를 검색하는 단계; 상기 새로운 시작점으로부터 상기 비디오 신호를 디스플레이하는 단계;를 포함한다.
본 발명은 스트리밍 VOD 시스템을 위해 향상된 특징을 제공하는 시스템 및 방법을 제공한다. 상기 시스템은 미디어 서버와 클라이언트 플레이어를 포함하며, 여기서 클라이언트 플레이어를 통해 사용자로의 후속 디스플레이를 위해 미디어 서버에서 클라이언트 플레이어로 전송할 원하는 비디오를 선택할 수 있다. 상기 시스템은 상기 선택된 비디오 신호의 디스플레이를 위하여 원하는 새로운 시작점을 사용자가 대화식으로 선택할 수 있게 하는 메커니즘을 포함한다. 상기 메커니즘은 검색가능 인덱스 프레임의 제1 및 제2 시리즈에 의해 제공되며, 여기서 상기 제1 시리즈는 상기 선택된 비디오 신호의 전송동안 상기 미디어 서버에 의해 생성되며 제2 시리즈는 상기 선택된 비디오 신호의 수신동안 상기 클라이언트 플레이어에 의해 생성된다. 클라이언트 플레이어가 원하는 새로운 시작점을 수신하면, 원하는 새로운 시작점을 최상으로 표현하는 필요한 검색가능 인덱스 프레임을 식별하기 위해 제1 및 제2 시리즈에 접근한다. 클라이언트 플레이어에 의한 비디오 디스플레이 이후에 상기 원하는 검색가능 인덱스 프레임에서 시작한다.
도 1은 본 발명의 실시예에 따른 상기 시스템의 일반적인 구조를 도시한다. 초기에, 최종 사용자는 RTSP(Real Time Streaming Protocol) 세션을 시작하기 위해 웹서버로 HTTP GET 명령을 송신한다. 상기 웹서버는 상기 연결 요청을 수신하고 처리한 후에 세션 디스크립션(session description)을 최종 사용자에세 다시 전송한다. 웹서버가 연결 설정에 동의하면, 클라이언트 플레이어가 시작하여 SETUP 요청을 미디어 서버에 송신하고 클라이언트 플레이어와 미디어 서버간의 연결을 설정할 수 있다. 그 결과, 데이터 통신이 준비되고 사용자는 이후에 미디어 서버로부터 스트리밍되는 미디어의 재생/멈춤을 설정할 수도 있다. 이와 동시에, 클라이언트 플레이어는 본 발명의 실시예에서 존재할 수 있는 QoS(quality of service) 피드백을 부여하고 다른 미디어 스트림의 동기화(synchronization)를 지원하기 위해 RTCP(Real-time Transport Control Protocol) 패킷 일부를 다시 전송할 수 도 있다. 상기 패킷은 세션 참여자(session participant)와 멀티캐스트-유니캐스트 번역기(mutlicast-to-unicast translator)와 같은 정보를 전달할 수 있다. 세션의 결과 또는 최종 사용자 요청에 대해, 클라이언트 플레이어는 해체(TEARDOWN) 명령을 미디어 서버로 전송하여 연결을 종료할 수 있다. 그런 다음 미디어 서버가 연결을 종료한다.
스트리밍 제어에 대해, 본 발명의 실시예에서는 RTSP을 사용한다. RTSP의 명성과 품질을 고려해 볼때, 미디어 전송을 설정하고 제어하기에 적당한 프로토콜이다. 실제 데이터의 전송을 위해서는 IETF(Internet Engineering Task Force)가 만든 RTP(Real-tiem transport Protocol)을 사용할 수도 있다. RTP는 TCP/IP나 UDP의 상위에 위치하며 실시간 데이터 전송에 효과적이다.
자원 제어에 대해, QoS 서비스를 최종 사용자들에게 제공하기 위해 RSVP(Resource ReserVation Protocol)를 사용할 수도 있다. 클라이언트 플레이어가 어느 정도의 품질 요구사항이 있는 영화를 위해 웹서버로 요청을 전송하면, 웹서버는 요구사항을 위한 자원이 사용가능한 지 결정할 수 있다. 만약 자원이 사용가능하면 미디어 서버와 클라이언트 플레이어로의 미디어 전송을 위해 남겨둘 수 있다. 그렇지 않으면, 웹서버는 요청된 요구사항을 만족하는 자원이 충분이 없음을 클라이언트에게 알릴 수 있다. 본 발명의 실시예에서, 웹서버와 미디어 서버는 단일 서버로 통합될 수 있다.
도 2는 본 발명의 실시예에 따른 스트리밍 VOD 시스템의 전반적인 흐름도를 도시한다. 상기 시스템은 영화 제작(movie production), 지능형 영화 검색(intelligent movie retrieval), 영화 스트리밍 및 데이터 통신(movie streaming and data communication), 영화 재생(movie playback), 및 사용자 계좌 관리(user account management)의 다섯 개의 모듈을 포함한다.
영화 제작(movie production)은 재생을 위한 영화 데이터베이스를 생성하고 영화 검색을 위한 특징 데이터베이스를 생성하기 위해 사용되는 과정이며, 이는 영화 제작모듈에 의해 실행될 수 있다. 새로운 영화가 들어오면 두 과정을 거칠 수 있다. 하나는 엔코딩 과정으로 영화 컨텐츠가 엔코딩되고 스트리밍에 알맞은 비트 스트림(bit-stream)으로 변환된다. 또 다른 과정은 사전처리 단계로, 가령, 키워드, 영화 카테고리, 장면 전환 정보, 스토리 유닛, 중요 대상이나 다른 특징 등 영화의 시멘틱 컨텐츠(semantic contents) 일부를 추출한다.
또 하나의 모듈은 사용자 계좌 관리로, 사용자 등록 제어 및 사용자 계정 정보 데이터베이스를 포함한다. 사용자 등록(user registration)은 새로운 사용자의 경우 등록하고 기존의 사용자는 로그온하도록 인터페이스를 제공한다. 사용자 계좌 정보 데이터베이스는 예를 들어 신용카드 번호, 사용자 계좌 번호, 차액, 기타 사용자 정보를 포함한 모든 사용자 정보를 저장한다. 알려져 있듯이, 이런 종류의 정보는 전송 및 저장동안의 침입(intrusion)에 대해 안전해야 한다.
영화 엔코딩 제작 후, 고객(최종 사용자)은 브라우징(browse)를 위해 영화 데이터베이스로 이용할 수 있으며, 지능형 영화 검색 모듈이 영화 데이터베이스를 제공한다. 하지만, 상기 데이터베이스가 수만 개의 영화를 저장하고 있는 경우, 원하는 영화를 찾기 어렵다. 따라서, 단어 식별자나 이미지 식별자일 수 있는 추출된 특징을 사용하여 시스템의 효율성을 향상시키기 위해 검색 엔진(search engine)이 필요할 수 있다. 예를 들어, 검색은 영화 제목(movie title), 영화 특징(movie feature), 그리고/또는 중요 대상을 기반으로 할 수 있다. 영화 제목 검색은 다소 분명하기 때문에 쉽게 실현가능하다. 영화 특징 검색은 어떤 기본적인 특징으로 영화를 찾기 위해 특징 데이터베이스를 검색하는 것을 의미한다. 그 특징은 가령 쉽게 이해할 수 있는 색상, 텍스처(texture), 동작(motion), 형태(shape)나 기타 특징을 포함할 수도 있다. 세 번째 검색 기준은 주연배우, 감독, 또는 다른 기준과 같은 어떤 중요한 대상으로 영화를 검색하는 것이다.
일단 최종 사용자가 영화를 선택하면, 영화 스트리밍 및 데이터 통신 모듈이 시작된다. 스트리밍 및 데이터 통신은 클라이언트 플레이어와 미디어 서버간의 연결개시와 함께 시작하는 과정으로 이후 재생을 위해 클라이언트 플레이어로 압축된 영화 파일을 전송한다. 상기 파일은 스트리밍에 적합한 포맷으로 되어 있다. 스트리밍을 이용하여, 클라이언트 플레이어는 특정 수의 프레임을 버퍼링한 다음 영화를 재생하기 시작할 수 있다. 버퍼링은 영화 재생시작 전에 파일을 완전히 다운받는 것보다 훨씬 사용자에게 익숙하다.
영화 재생 모듈은 영화 재생과 영화재생 제어를 담당한다. 스트리밍이 지속되는 동안 영화 재생(mvoie playback)을 실행할 수 있다. 동시에, 고객(최종 사용자)으로부터의 제어 정보를 위해 또 다른 스레드(thread)를 유지할 수 있다. 상기 제어 정보는 재생/정지/멈춤, 빨리 감기/되감기, 출구(exit)를 포함할 수 있다.
사용자가 시청할 영화를 선택하면, 웹서버는 대응하는 클라이언트 플레이어를 활성화시킬 수 있다. 대응하는 클라이언트 플레이어는 특정 영화에 대해 미디어 서버와 통신할 수 있다. 웹서버가 적절한 파일 확장자를 인식하고 대응하는 클라이언트 플레이어를 호출하기 하기 위해서는 어떤 구성(configuration)이 요구된다.
미디어 서버는 상기 시스템 내에서 중요하며 그 기능은 클라이언트와의 연결설정, 데이터 전송, 클라이언트 플레이어와의 연결종료를 포함한다.
미디어 서버에 저장된 모든 영화 파일은 스트리밍 포맷일 수 있다. 클라이언트 플레이어와 미디어 서버간의 데이터 통신은 제어를 위한 RTSP와 실제 데이터 전송을 위한 RTP를 이용할 수 있다. 본 발명을 위해 코딩된 파일을 표준 스트리밍 포맷으로 변환하기 위해 리얼 네트워크(Real Network)로부터의 SDKs(Software Development Kits)를 사용할 수 있다. 디코더측에서 동일한 SDKs를 사용하여 스트리밍 데이터를 다중화 비트 스트림으로 변환시킬 수 있다.
영화 제작은 영화 파일을 스트리밍 포맷으로 변환하는 과정이다. 본 발명의 상기 영화 제작 과정은 비디오 코딩 및 변환 과정, 컨텐츠 추출 과정을 포함한다. 첫 번째 과정에서는 원영화(raw movie)를 엔코딩하고 상기 엔코딩된 파일은 스트리밍에 적합한 포맷으로 변환된다. 본 실시예에서 상기 시스템은 비디오 코딩과 디코딩을 위해 H.263+, AVC(H.264)나 기타 코덱을 사용할 수 있고, 오디오 코딩과 디코딩을 위해서는 MP3, AAC+나 기타 코덱을 사용할 수 있다. 마찬가지로, 이용되는 다중화(mutliplexing) 방식은 MPEG 표준 중 하나일 수 있다. 엔코딩과 다중화 후에, 비트 스트림은 스트리밍 포맷으로 변환된다. 본 발명은 비트 스트림을 스트리밍 포맷의 파일로 변환시키기 위해 Real Producer SDKs 일부를 사용할 수도 있으며, 상기 파일은 영화 데이터베이스에 저장될 수 있다.
컨텐츠 추출과정은 비디오 분할(segmentation)과 함께 시작된다. 여기서 장면 전환이 감지되면 긴 영화는 작은 부분으로 편집(cut)된다. 각 장면 전환내에서는 하나 이상의 키 프레임이 추출된다. 스토리보드를 형성하기 위해 키 프레임을 구성할 수 있으며, 또한 영화에서 어떤 스토리에 해당할 수 있는 시맨틱 의미(semantic meaning) 단위로 클러스터링(cluster)될 수 있다. 색상, 텍스처(texture), 및 형태(shape)와 같은 키 프레임의 시각적 특징을 컴퓨팅할 수 있다. 이런 모든 정보를 영화 데이터베이스 인덱싱과 검색을 위해 영화 특징 데이터베이스에 저장할 수 있다.
사용자 계좌 관리 모듈은 도 4에 도시한 바와 같이, 사용자 등록과 사용자 계좌 정보 관리를 담당한다. 새로운 사용자는 어떤 정보를 제공해야 하고 기존 사용자는 자신의 사용자 이름과 비밀번호를 입력하는 가령 자바(Java) 인터페이스를 통해 사용자 등록(user registration)을 실현시킬 수 있다. 새로운 사용자의 경우, 새로운 계좌 정보를 입력하여 확인(confirmation)을 위해 미디어 서버로 보내야 한다. 상기 계좌 정보가 허용가능하면, 계좌 이름과 비밀번호를 생성하여 사용자에게 보낼 수 있다. 그렇지 않으면 사용자에게 계좌 정보를 다시 입력하도록 요구할 수 있다. 사용자가 세번 실패하면, 모듈은 가령 나가게(exit)된다. 기존 사용자의 경우, 로그온(logon) 인터페이스가 사용자 이름과 비밀번호를 위해 나타날 수 있다. 사용자 이름과 비밀번호가 허용가능하면, 사용자는 영화 데이터베이스를 브라우징하고 시청할 하나 이상의 영화를 고를 수 있다. 그렇지 않으면, 사용자는 사용자 이름과/또는 비밀번호가 정확하지 않음을 통보받는다. 사용자는 사용자 이름과 비밀번호를 재입력할 수 있다. 만약 사용자가 세번 실패하면, 모듈은 가령 나가게(exit)하게 된다.
도 5는 온라인 지능형 검색 모듈의 기능을 위한 흐름도를 도시한다. 상기 모듈은 선택된 일련의 영화의 썸네일(thumbnail)을 디스플레이한다. 만일 고객(최종 사용자)가 어떤 영화를 검색하고자 하면, 영화 제목, 키워드, 중요 대상, 특징 기반 검색, 오디오 특징 검색 등 여러 검색 기준이 사용가능하다. 사용자-지정 기준에 따라 특징 데이터베이스를 검색할 수 있으며, 영화에서 최상 매치(best match)의 썸네일을 검색 결과로 리턴(return)시킬 수 있다. 그러면 고객은 좀더 자세한 정보를 얻기 위해 썸네일은 브라우징 하거나 짧은 클립(clip)을 재생하기 위해 썸네일을 클릭할 수 있다. 상기 모듈은 사용자가 단축된 시간에 좋아하는 일련의 영화를 찾을 수 있게 한다.
도 6은 미디어 서버와 클라이언트 플레이어 간의 스트리밍 과정을 도시한다. 비디오 및 오디오 코딩 후, 타이밍 정보가 있는 다중화된 비트 스트림을 생성하기위해 다중화한다. 그런 다음 상기 비트 스트림은 스트리밍 포맷으로 변환되어 클라이언트 플레이어로 보내진다. 클라이언트 플레이어가 비트 스트림을 수신하면, 클라이언트 플레이어는 다중화된 비트 스트림으로 다시 변환시키게 된다. 그런 다음 역다중화되어 재생을 위해 오디오 및 비디오 디코더로 전송된다.
도 7은 미디어 서버와 클라이언트 플레이어 간의 데이터 통신을 도시한다. 미디어 서버가 정지 명령을 수신하지 않으면, 클라이언트 플레이어들로부터 수신되는 연결 요청을 항상 체크한다. 새로운 연결 요청이 들어오면, 미디어 서버는 상기 새로운 요청을 처리할 수 있는 지 알아보기 위해 사용가능한 자원들을 체크할 수 있다. 만약 그렇다면, 새로운 연결을 개시하고 요청된 영화를 클라이언트로 스트리밍할 수 있다. 그렇지 않으면, 미디어 서버가 상기 요청을 처리할 수 없음을 클라이언트 플레이어에게 알릴 수 있다. 영화가 클라이언트에게 스트리밍 된 후, 미디어 서버와 클라이언트 사이의 연결은 종료되어 다른 용도를 위해 네트워크 대역폭을 절약할 수 있다.
영화 재생 및 제어 모듈이 도 8에 도시되어 있으며, 그와 관련된, 예를 들어, 스레드 A와 B를 가질 수 있다. 스레드 A는 압축된 영화를 디코딩하고 재생하며, 스레드 B는 최종 사용자로부터 클라이언트 플레이어를 경유하여 제어 정보를 받는다. 제어 정보는 재생, 정지/멈춤, 빨리 감기/되감기, 출구 명령을 포함할 수 있다. 스레드 A는 현재 재생 모드가 ON으로 설정되어 있는지 판단한다. ON이면, 스레드 A는 현재 영화 파일을 디코딩하고 영화를 재생하게 된다. 그렇지 않으면 아무런 동작도 하지 않는다. 디코딩과 재생이 계속되면, 재구성된 P 프레임 일부는 빨리 되감기 기능을 위해 저장된다. 재생이 끝난 후, 재생 모드는 OFF로 설정된다. 도 8의 오른쪽에 최종 사용자들로부터 제어 정보를 수락하는 스레드 B의 동작이 나와 있다. 재생 명령이 수신되면, 스레드 A의 재생 기능을 호출하여 영화를 재생하게 된다. 정지 명령이 수신되면, 현재 영화는 정지되고 파일 포인터가 영화의 시작으로 이동하게 된다. 멈춤 명령이 수신되면, 현재 영화는 현재 위치에서 멈춘다. 빨리 감기 명령이 수신될 때, 고객이 I 프레임으로 빨리감기 하고 싶은 경우 상기 정보는 로컬 디스크에서 사용가능하다. 하지만 고객이 P나 B 프레임으로 빨리 감기를 하고 싶다면, 클라이언트 플레이어는 미디어 서버로부터 하나 또는 두개의 재구성된 프레임을 가져(fetch)올 필요가 있다. 빨리 되감기 명령이 수신되면, 디코딩 과정을 시작하기 위해 재구성된 P나 I 프레임을 획득한다. 출구(exit) 명령이 수신되면, 스레드 A와 B를 종료하고 클라이언트 플레이어는 나간다.
임의 프레임 검색(random frame search)은 비디오 플레이어를 현재 프레임으로부터 다른 프레임으로 재배치(relocate)하는 기능이다. 비디오 프레임은 전형적으로 1차원적인 시퀀스로 구성되기 때문에, 임의 프레임 검색은 빨리 감기(FF:fast forward)와 빨리 되감기(또는 REW:rewind)로 분류될 수 있다.
비디오 시퀀스의 모든 프레임이 가령 I 프레임을 이용하여 독립적으로 엔코딩되면, 플레이어(디코더)는 임의의(arbitrary) 프레임으로 건너 뛰어 디코딩을 다시 시작하고 거기서부터 플레이할 수 있을 것이다. 모든 프레임이 I 프레임인 비디오 시퀀스에서, 각 프레임은 FF와 REW 기능에서 새로운 비디오 시퀀스의 시작점으로 기능할 수 있다. 하지만, I 프레임과 관련된 낮은 압축률 때문에 이와 같은 방법을 이용하는 시스템은 MJPEG과 같이 아주 희박하다.
MPEG 계열에서, P 프레임(predicted frame)과 B 프레임(bi-directional frame)은 높은 압축을 달성하기 위해 사용된다. P 프레임과 B 프레임은 비디오 시퀀스에서의 일부 다른 프레임으로부터 정보를 가지고 엔코딩되기 때문에, FF와 REW 기능에서 새로운 비디오 시퀀스의 시작점으로는 사용될 수 없다.
MPEG 계열은 비디오 스퀀스에 고정된 간격으로 I 프레임을 삽입하여 FF와 REW 기능을 지원한다. FF나 REW 요청에 대해, 클라이언트 플레이어는 원하는 프레임에 앞선 가장 가까운 I 프레임의 위치를 알아내고 거기서부터 재생을 다시 시작한다. 다음은 전형적인 MPEG 비디오 시퀀스를 나타내는 것으로, 한 쌍의 I 프레임간 간격은 16 프레임이다.
I BBBPBBBPBBBPBBB I BBBPBBBPBBBPBBB I
하지만, I 프레임은 P와 B 프레임보다 보통 낮은 압축률을 가진다. MPEG 계열은 압축성능과 VCR 기능성 간에 상충관계(tradeoff)를 제공한다.
본 발명은 미디어 서버에서 주어진 비디오 아카이브(archive)에 대해 두 시퀀스를 유지한다. 스트리밍 시퀀스라 불리는 한 시퀀스는 일반 전송 목적용 데이터를 제공할 수 있다. 인덱스 시퀀스인 또 다른 시퀀스는 FF와 REW 기능 실현용 데이터를 제공할 수 있다.
스트리밍 시퀀스는 I 프레임으로 시작하고 장면 전환이 발생하는 곳에서만 I 프레임을 포함한다. 이 개념은 도 9에 도시되어 있다.
인덱스 시퀀스는 도 10에 도시된 바와 같이 FF와 REW 기능을 지원하기 위해 검색가능 인덱스 프레임(S 프레임)을 포함한다. 한 쌍의 S 프레임간의 간격은 다양하며 임의 검색의 정확성 요구사항에 따라 결정된다.
엔코딩 과정동안, 스트리밍 시퀀스를 1차 시퀀스로 코딩할 수 있고 스트리밍 시퀀스에서 인덱스 시퀀스를 유도할 수 있다. 인덱스 시퀀스의 S 프레임은 I 프레임이나 스트리밍 시퀀스의 B 프레임이 아닌 P 프레임으로부터 유도가능하다. 이런 특징은 도 11에 나와 있다.
I 프레임에서 S 프레임을 유도하는 과정은 도 12에 나와 있다. 본 발명은 압축된 I 프레임 데이터를 복사해서 S 프레임의 버퍼로 넣는다.
도 13은 P 프레임에서 S 프레임을 유도하는 과정을 보여준다. 먼저, 이 P 프레임의 재구성된(reconstructed) 형태가 필요하며, 이는 일반 P 프레임 엔코딩 절차의 피드백 루프에서 얻을 수 있다. 두 번째로, 이 동일한 프레임을 I 프레임으로 엔코딩하기 위해 I 프레임 엔코딩 절차를 호출하며, 그 압축된 형태와 재구성된 형태 모두 유지해야 한다.
그런 다음, 재구성된 P 프레임과 재구성된 I 프레임 간의 차이를 계산한다. 무손실 과정(lossless process)을 통해 이 차이를 엔코딩할 수 있다. 무손실 엔코딩된 차이는 압축된 I 프레임 데이터와 함께 S 프레임의 데이터의 완전한 세트(complete set)를 구성한다.
엔코딩 과정과 비슷하게, 디코더는 스트리밍 시퀀스를 디코딩하는 동안 인덱스 시퀀스를 유도할 필요가 있다. 엔코딩 과정과 동일하게, I 프레임이나 스트리밍 시퀀스의 B 프레임이 아닌 P 프레임으로부터 인덱스 시퀀스의 S 프레임을 유도할 수 있다. 디코더가 엔코딩 과정에서처럼 시퀀스 내의 동일 위치에 S 프레임을 만들 필요는 없다.
도 14는 디코딩에서 I 프레임으로부터 S 프레임을 유도하는 것을 보여주며 도 15는 P 프레임으로부터의 S 프레임 유도를 도시한다.
I 프레임에서 유도된 S 프레임을 압축형태로 저장할 수 있는 반면, P 프레임에서 유도된 S 프레임은 재구성된 형태로 저장할 수 있다. 재구성된 형태가 압축된 형태보다 더 넒은 저장공간을 요구하기 때문에, 이 시스템은 P 프레임에서 유도된 S 프레임이 요구하는 공간을 보존하기 위해 두 가지 접근방법을 사용한다. 즉, (1) 본 발명은 재구성된 S 프레임을 저장하기 위해 무손실 압축단계를 사용할 수 있으며, 이는 필요한 공간을 평균 50% 줄일 수 있다. (2) 본 발명은 엔코딩 과정동안 생성될 수 있는 스파서(sparser) 인덱스 시퀀스를 만들 수 있다.
본 발명의 실시예에서, 생방송 환경에서는 클라이언트 플레이어가 채널을 바꾸는데 1초의 최소 지연, 가령 새로운 데이터 스트림에 합류하는 데 필요한 시간을 요구할 수 있다. 이런 형태의 특징을 가능하게 하기 위해서 비디오 스트림이 각 초당 적어도 하나의 I 프레임을 가져야 한다. I 프레임은 본래 P 프레임보다 크기 때문에 I 프레임에 대한 고정된 삽입율은 바람직하지 않다. 따라서, 상기한 S 프레임 기술을 사용하여, 생방송 환경은 예를 들어 장면 전환에는 I 프레임을 사용하고 쌍(paried) S 프레임 스트림상에서 매초 S 프레임을 자동으로 생성하여 자연 엔코딩 시스템을 사용할 수 있다. 이런 방식으로 클라이언트 플레이어는 P 프레임 시퀀스 중간에서 일반 채널 스트림에 자동으로 재합류할 수 있고 가령 어떠한 에러도 없이 디코딩을 계속할 수 있다.
스트리밍 과정에서 미디어 서버에 저장된 엔코딩된 스트리밍 시퀀스는 클라이언트 플레이어로 전송된다.
클라이언트 플레이어는 수신한 스트리밍 시퀀스를 디코딩하고, 동시에 인덱스 시퀀스를 만들고 플레이어와 연관된 로컬 저장장치에 저장한다.
도 16은 본 발명에 따라 FF와 REW 기능이 실현되는 방법을 도시한다. 현재 디코딩 과정은 '현재 프레임' 100에서 행해진다고 가정한다. 이는 스트리밍 응용이기 때문에, 현재 프레임은 버퍼링된 데이터 범위 내부 어딘가에 위치한다. 일반적으로, 이런 상황은 임의 프레임 접근을 위한 두 검색 구역(searching zone)을 정의한다. 유효 REW 구역(Valid REW Zone) 110은 첫 번째 프레임에서 시작해서 현재 프레임에서 끝나며, 유효 FF 구역(Valid FF Zone) 120은 현재 프레임에서 버퍼링된 데이터 범위의 전단(front end)까지다. 실제로, 본 발명은 FF 검색 작업이 실행되고 난 후 비디오의 원만한 재생을 위해서 버퍼링된 데이터 범위의 전단에 데드존(Dead Zone) 130을 정의한다.
클라이언트 플레이어가 FF 동작을 위한 사용자 요청을 수신하면, 먼저 원하는 프레임이 유효 FF 구역에 있는지 체크한다. 그렇다면, 원하는 프레임 번호를 미디어 서버로 보낸다. 미디어 서버는 원하는 프레임에 가장 가까운 S 프레임을 찾아 이 S 프레임의 데이터를 압축된 포맷으로 클라이언트로 보낼 수 있다.
이 데이터를 수신하면, 클라이언트 플레이어는 이 S 프레임을 디코딩하고 재생한다. 그런 다음 재생 과정은 데이터가 버퍼에 있는 상태에서 계속될 수 있다.
클라이언트 플레이어가 REW 요청을 수신하면, 먼저 로컬 인덱스 시퀀스를 체크해서 '충분히 가까운(close-enough)' S 프레임을 찾을 수 있는지 알아본다. 그렇다면, 가장 가까운 S 프레임을 사용하여 비디오 시퀀스를 재시작할 수 있다. 그렇지 않다면, 원하는 프레임에 가장 가까운 S 프레임을 다운받기 위한 요청을 미디어 서버로 송신한다.
FF와 REW 동작 모두에서, 다운받은 S 프레임은 새로운 비디오 시퀀스를 재시작하기 위해 사용된 다음 클라이언트 플레이어의 로컬 저장장치에 저장된다.
이런 임의 검색 기술을 '분산(distributed)'상태라 일컬으며 이는 미디어 서버와 클라이어트 플레이어 모두 인덱스 시퀀스를 위해 부분적인 데이터를 제공하기 때문이다. 특정 FF나 REW 요청이 주어지면, 클라이언트 플레이어의 로컬 인덱스 시퀀스나 미디어 서버의 인덱스 시퀀스에서 원하는 S 프레임을 찾을 수 있다. 재생 과정의 마지막에서는, 최종 사용자가 자신의 클라이어트 플레이어에 이후 재시청을 위해 저장된 S 프레임의 완전한 세트를 가질 수 있다. 따라서, 시청자가 동일한 비디오 컨텐츠를 두 번 시청하는 경우, FF와 REW 기능 모두 로컬하게 사용가능하게 된다.
본 실시예에서는 스토리보드가 생성된다. 스토리 보드는 가령 2 내지 3분 가량의 짧은 영화 요약으로 장편 영화의 중요 장면을 보여준다. 사람들은 주문 전에 영화의 일반적인 개념을 얻고자 할 수도 있다. 본 발명에 따른 SVOD 시스템은 시청자로 하여금 주문 여부를 결정하기 위해 영화의 스토리보드를 미리 감상할 수 있게 한다. 스토리보드의 또 다른 장점으로, 시청자가 프레임 단위 대신 스토리보드 단위로 빨리 감기/되감기를 할 수 있다. 게다가, 스토리보드를 기반으로 인덱스 일부를 활용할 수 있으며 영화의 지능형 검색을 실현시킬 수 있다.
본 실시예에서, 스토리보드 생성은 세 단계를 포함한다. 먼저, 긴 영화를 짧은 비디오 클립으로 분할(segment)하기 위해 어떤 장면 전환 기술을 적용시킨다. 그 후, 가령 장면에서의 색상, 텍스처, 중요 대상이나 다른 특징 등 저(low) 또는 중(medium) 레벨 정보를 기반으로 각 비디오 클립에서 키 프레임을 선택한다. 이후에, 원한다면 분할된 클립들을 중요한(meaningful) 스토리 단위로 그룹화하기 위해 상위 시맨틱 분석을 분할된 클립에 적용할 수 있다. 고객이 어떤 영화에 대한 일반적인 개념을 얻고자 하면, 스토리 단위를 재빨리 브라우징 한다. 만약 관심이 있으면 키 프레임과 각 비디오 클립을 자세히 살펴봄으로써 상세내용을 알 수 있다.
범위성(scalability)은 스트리밍 비디오 애플리케이션에서 가장 바람직한 옵션이다. 현재 스트리밍 시스템은 프레임을 드롭핑하여(dropping) 시간적 범위성을 가능하게 하고 공간적 범위성을 달성하기 위해 어떤 지점에서 웨이브렛(wavelet) 비트스트림을 자른다. 본 발명은 또 다른 범위성 모드를 제시하며 이는 SNR 및 공간 범위성(SNR and spatial scalability)이라 불린다. 이런 종류의 범위성은 스트리밍 비디오에 매우 적합한 데, 비디오가 베이스 레이어(base layer)와 인헨스먼트 레이어(enhancement layer)에서 코딩되기 때문이다. 서버는 다른 레이어를 다른 고객에게 보낼 지 결정할 수 있다. 예를 들어, 고객이 고화질 비디오를 요구한다면, 서버는 베이스 레이어 스트림과 인헨스먼트 레이어 스트림을 보낼 수 있다. 이와 달리, 고객이 중화질 비디오만 원한다면, 서버는 베이스 레이어를 고객에게 보낼 수 있다. 또한 비디오 플레이어는 네트워크 트래픽에 따라 스케일러블(scalable) 비트스트림을 디코딩할 수 있다. 보통 비디오 플레이어는 고객이 요구하는 비디오 스트림을 디스플레이할 수 있지만, 가령 네트워크가 번잡하고 전송속도가 아주 느린 경우, 클라이언트 플레이어는 네트워크 부하를 완화시키기위해 베이스 레이어 비트스트림만 전송하도록 업스트림 서버로 통보할 수 있다.
영화 클립 처리 후, 장면 전환 정보와 키 프레임이 사용가능하며 영화 데이터베이스를 실장(populate)하는 데 사용할 수 있다. 키 프레임의 비주얼 컨텐츠 뿐 만 아니라 키워드도 관심 있는 영화를 검색하는 인덱스로 사용될 수 있다. 인간 상호작용(human interaction)으로 컴퓨터 처리하여 키워드를 영화 클립에 할당할 수도 있다. 예를 들어, 영화를 코미디, 공포, 과학, 역사, 영화 음악 등으로 분류할 수 있다. 색상, 텍스쳐, 대상 등 키 프레임의 비주얼 컨텐츠를 자동 컴퓨터 처리에 의해 추출가능하다. 색상와 텍스처는 상대적으로 쉬운 방식으로 다룰 수 있지만, 고유 장면(natural scene)에서 대상을 추출하는 방법이 더 어렵다. 이 실장(population) 과정은 자동이거나 사람인 운용자가 간섭할 수도 있는 반자동일 수 있다.
실장후, 본 발명의 또 다른 실시예에서는 고객이 시청하고픈 영화를 찾도록 해준다. 예를 들어, 코미디, 공포, 또는 과학 영화 등 영화의 종류를 명시할 수 있다. 또한 좋아하는 배우나 기타 바람직한 특징으로 영화를 시청하도록 선택할 수 있다. 지능형 검색 능력으로 인해 클라이언트는 좀 더 짧은 시간내에 좋아하는 영화를 찾을 수 있다. 이런 점은 고객에게 중요할 수 있다.
멀티캐스팅(multicasting) 또한 스트리밍 비디오의 한 특징이다. 이 특징은 여러 사용자가 제한된 네트워크 대역폭을 공유하게 할 수 있다. 본 발명의 실시예와 함께 멀티캐스팅을 사용할 수 있다는 일부 시나리오가 있다. 첫 번째 경우는 브로드캐스팅 프로그램으로, 동일한 컨텐츠가 동시에 여러 고개들에게 전송된다. 두번째 경우는 선선택(pre-chosen) 프로그램으로, 다수의 고객이 동일한 프로그램을 같은 시간대에 시청하기를 선택할 수도 있다. 세 번째 경우, 다수의 고객이 주문형 영화를 주문한 경우, 이 중 일부는 동일한 영화를 같은 시간대에 주문하게 된다. 멀티캐스팅을 통해 미디어 서버는 엔코딩된 영화의 한 카피(copy)를 각 고객에게 전송하는 대신 한 카피를 고객 그룹으로 전송할 수 있다. 이런 형태의 특징은 서버의 능력을 증대시키고 가령 네트워크 대역폭을 최대한 이용할 수 있다.
기술에 능숙한 자라면 상술한 기능성을 제공하기 위해 미디어 서버, 웹서버 및 클라이언트 플레이어 각각에 대해 컴퓨팅 시스템을 설계하는 방법을 능히 알 것이다. 이미 이해하듯이, 미디어 서버와 웹서버의 기능성은 단일 컴퓨팅 시스템에 의해 제공되거나 컴퓨팅 시스템의 집합에 의해 선택적으로 제공될 수도 있다.
아래 표는 본 발명의 실시예에서 달성된 압축성능의 평가를 제시하며, 여기서 2Mbps 채널 대역폭을 가정하고 30frames/sec에서 320x240 프레임 사이즈를 기반으로 평가가 이뤄진다.
[표1]
100-분 영화 (원데이터크기) DVD 화질(20:1) VCD 화질(40:1) DAC 화질(80:1)
데이터 크기 다운로드 시간 데이터 크기 다운로드 시간 데이터 크기 다운로드 시간
19775 M 989 M 3956 초 495 M 1980 초 248 M 992 초
아래 표는 본 발명의 실시예에 따른 시스템 명세(specifications)를 보여준다.
[표2]
대역폭 (클라이언트) 서버 능력 프리젠테이션 지연 서버 네트워크 전송제어 프로토콜 전송 프로토콜
1.5 Mbps 1.5 Gbps 6분 Fiber/ATM RTSP RTP
빨리 감기/되감기 멈춤/정지/재생 스토리보드 범위성 지능형 영화 검색 고화질, 평활 재생 멀티 캐스팅
Yes Yes Yes Yes Yes Yes Yes
본 발명의 실시형태에 관해 설명하였으나, 이는 예시적인 것으로 받아들여져야 하며, 본 발명의 기술적 사상에서 벗어나지 않는 한도내에서 여러 가지 변형이 가능함은 물론이다. 그러므로, 본 발명의 범위는 설명된 실시 형태에 국한되어 정해져서는 안되며 후술하는 특허청구범위에 의해 정해져야 한다.
도 1은 본 발명의 실시예에 따른 스트리밍 VOD 시스템의 일반적인 구조를 도 시한다.
도 2는 본 발명의 실시예에 따른 스트리밍 VOD 시스템의 흐름도이다.
도 3은 본 발명의 실시예에 따른 영화 데이터베이스(movie database)와 특징 데이터베이스(feature database)의 생성을 정의하는 블럭도이다.
도 4는 본 발명의 실시예에 따른 사용자 계좌 모듈(user account module)의 동작을 정의하는 블럭도이다.
도 5는 본 발명의 실시예에 따른 온라인 지능형 검색(on-line intelligent retrieval)을 정의하는 블럭도이다.
도 6은 본 발명의 실시예에 따른 미디어 서버에서 클라이언트 플레이어로 영화 컨텐츠를 스트리밍하는 과정을 정의하는 블럭도이다.
도 7은 본 발명의 실시예에 따른 미디어 서버와 클라이언트 플레이어간의 데이터 통신 과정을 정의하는 블럭도이다.
도 8은 본 발명의 실시예에 따른 영화 재생과 제어 메카니즘을 정의하는 블럭도이다.
도 9는 본 발명의 실시예에 따른 스트리밍 시퀀스를 도시한다.
도 10은 본 발명의 또 다른 실시예에 따른 스트리밍 시퀀스를 도시한다.
도 11은 본 발명의 또 다른 실시예에 따른 스트리밍 시퀀스를 도시한다.
도 12는 본 발명의 실시예에 따른 I-프레임에서 S-프레임을 유도하는 방법을 도시한다.
도 13은 본 발명의 실시예에 따른 P-프레임에서 S-프레임을 유도하는 방법을 도시한다.
도 14는 본 발명의 실시예에 따른 디코딩 시 I-프레임에서 S-프레임을 도출하는 방법을 도시한다.
도 15는 본 발명의 실시예에 따른 디코딩시 P-프레임에서 S-프레임을 유도하는 방법을 도시한다.
도 16은 스트리밍 시퀀스를 코딩 및 디코딩하는 동안 인덱스 시퀀스의 생성을 설명하는 본 발명의 실시예에 따른 스트리밍 시퀀스를 도시한다.

Claims (15)

  1. 사용자가 선택한 비디오 신호의 재생 파라미터를 수정하게 해주는 VOD(video-on-demand) 시스템에 있어서,
    (a) 상기 선택된 비디오 신호를 전송하고 상기 선택된 비디오 신호의 전송동안 검색가능 인덱스 프레임의 제1 시리즈를 생성하며 상기 제1 시리즈를 저장하는 미디어 서버;
    (b) 상기 선택된 비디오 신호를 수신하고 디스플레이하며, 검색가능 인덱스 프레임의 제2 시리즈를 생성하고 저장하고, 상기 재생 파라미터를 수정하기 위해 상기 사용자가 요청을 수신하면 제1 시리즈나 제2 시리즈에 접근하고 그로부터 필요한 검색가능 인덱스 프레임을 획득하는 클라이언트 플레이어, 여기서 상기 필요한 검색가능 인덱스 프레임은 상기 선택된 비디오 신호의 재생을 위한 새로운 시작점을 제공하고 상기 미디어 서버와 상기 클라이언트 플레이어는 통신 네트워크에 의해 상호 연결되는 것을 특징으로 하는 VOD 시스템.
  2. 제 1항에 있어서, 상기 미디어 서버에 상호적으로 연결되고, 상기 사용자에 의해 선택가능한 다수의 비디오를 포함하는 비디오 데이터베이스;를 더 포함하는 것을 특징으로 하는 VOD 시스템.
  3. 제 2항에 있어서, 상기 비디오 데이터베이스 내의 비디오들은 엔코딩된 포맷 인 것을 특징으로 하는 VOD 시스템.
  4. 제 2항에 있어서, 상기 미디어 서버에 상호적으로 연결되고 다수의 추출된 특징을 포함하는 특징 데이터베이스;를 더 포함하며, 상기 다수의 추출된 특징 중 하나 이상은 비디오 데이터베이스 내의 비디오 중 하나와 연관되어 있는 것을 특징으로 하는 VOD 시스템.
  5. 제 4항에 있어서, 상기 다수의 추출된 특징은 상기 사용자가 다수의 추출된 특징 중 하나 이상에 의해 나타나는 바람직한 기준을 기반으로 이후 디스플레이를 위한 비디오를 검색하고 식별하게 하는 수단을 제공하는 것을 특징으로 하는 VOD 시스템.
  6. 제 4항에 있어서, 다수의 추출된 특징 중 하나 이상은 단어 식별자나 이미지 식별자인 것을 특징으로 하는 VOD 시스템.
  7. 제 4항에 있어서, 다수의 추출된 특징 중 하나 이상은 비디오 데이터베이스 내의 비디오 중 하나를 대표하는 비디오 클립인 것을 특징으로 하는 VOD 시스템.
  8. 제 4항에 있어서, 상기 비디오 각각을 엔코딩된 포맷으로 엔코딩하는 비디오 제작 모듈을 더 포함하는 것을 특징으로 하는 VOD 시스템.
  9. 제 8항에 있어서, 상기 비디오 제작 모듈은 상기 추출된 특징을 더 생성하는 것을 특징으로 하는 VOD 시스템.
  10. 제 1항에 있어서, 사용자 접근을 제어하는 수단을 제공하는 사용자 계좌 관리 모듈을 더 포함하는 것을 특징으로 하는 VOD 시스템.
  11. VOD(video on demand) 시스템에서 사용자가 선택한 비디오 신호의 재생 파라미터를 수정하게 하는 방법에 있어서,
    (a) 미디어 서버와 클라이언트 플레이어 간에 연결을 설정하는 단계;
    (b) 상기 클라이언트 플레이어로부터 선택된 비디오 신호에 대한 요청을 상기 미디어 플레이어가 수신하는 단계;
    (c) 상기 미디어 플레이어가 상기 선택된 비디오 신호를 클라이언트 플레이어로 전송하는 단계;
    (d) 미디어 플레이어가 전송하는 동안 검색가능 인덱스 프레임의 제1 시리즈를 생성하고 저장하는 단계;
    (e) 클라이언트 플레이어가 상기 선택된 비디오 신호를 수신하고 디스플레이하는 단계;
    (f) 수신 및 디스플레이 동안 클라이언트 플레이어가 검색가능 인덱스 프레임의 제2 시리즈를 생성하고 저장하는 단계;
    (g) 선택된 비디오 신호의 재생 파라미터를 수정하라는 사용자로부터의 요청을 클라이언트 플레이어가 수신하는 단계;
    (h) 상기 선택된 비디오 신호를 디스플레이할 새로운 시작점을 제공하는 필요한 검색가능 인덱스 프레임에 대해 제1 또는 제2 시리즈를 검색하는 단계;
    (i)상기 새로운 시작점으로부터 상기 비디오 신호를 디스플레이하는 단계;
    (j) 선택된 비디오 신호의 디스플레이가 완료되면 미디어 서버와 클라이언트 플레이어 간의 연결을 종료하는 단계를 포함하는 것을 특징으로 하는 방법.
  12. 제 11항에 있어서, b 단계 이전에,
    (aa) 다수의 추출된 특징을 포함하는 특징 데이터베이스를 사용자가 검색하는 단계, 여기서 다수의 추출된 특징 중 하나 이상이 비디오 데이터베이스 내의 다수의 비디오 중 하나와 연관되어 있는 단계;
    (bb) 복수의 추출된 특징 중 하나 이상을 기반으로 비디오 데이터베이스에서 원하는 비디오를 사용자가 선택하는 단계;
    (cc) 클라이언트 플레이어로부터 선택한 비디오 신호에 대한 요청을 송신하는 단계를 포함하는 것을 특징으로 하는 방법.
  13. 제 12항에 있어서, 단계 a) 이전에 사용자를 인증하는 단계를 실행하는 것을 특징으로 하는 방법.
  14. 제 13항에 있어서, 사용자를 인증하는 단계 이전에,
    (a) 이후 전송을 위해 복수의 비디오를 엔코딩하는 단계;
    (b) 상기 엔코딩된 비디오를 비디오 데이터베이스에 저장하는 단계;
    (c) 복수의 비디오 각각에 대해 하나 이상의 추출된 특징을 식별하는 단계;
    (d) 상기 추출된 특징을 특징 데이터베이스에 검색가능한 구성(configuration)으로 저장하는 단계를 실행하는 것을 특징으로 하는 방법.
  15. 제 11항에 있어서, 미디어 서버는 복수의 클라이언트 플레이어에 연결되어 있음을 특징으로 하는 방법.
KR1020067013468A 2003-12-04 2004-12-06 VOD(video-on-demand) 스트리밍을 위해향상된 특징을 제공하는 시스템 및 방법 KR20070019670A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020067013468A KR20070019670A (ko) 2003-12-04 2004-12-06 VOD(video-on-demand) 스트리밍을 위해향상된 특징을 제공하는 시스템 및 방법

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/727,857 2003-12-04
KR1020067013468A KR20070019670A (ko) 2003-12-04 2004-12-06 VOD(video-on-demand) 스트리밍을 위해향상된 특징을 제공하는 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR20070019670A true KR20070019670A (ko) 2007-02-15

Family

ID=43652615

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067013468A KR20070019670A (ko) 2003-12-04 2004-12-06 VOD(video-on-demand) 스트리밍을 위해향상된 특징을 제공하는 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR20070019670A (ko)

Similar Documents

Publication Publication Date Title
US20090089846A1 (en) System and method providing enhanced features for streaming video-on-demand
US11470405B2 (en) Network video streaming with trick play based on separate trick play files
US11589058B2 (en) On-device multiplexing of streaming media content
US8352988B2 (en) System and method for time shifting the delivery of video information
US8302144B2 (en) Distribution of content in an information distribution system
US7024678B2 (en) Method and apparatus for producing demand real-time television
US9247317B2 (en) Content streaming with client device trick play index
US5521630A (en) Frame sampling scheme for video scanning in a video-on-demand system
US20100272187A1 (en) Efficient video skimmer
US20140359678A1 (en) Device video streaming with trick play based on separate trick play files
US20060090186A1 (en) Programming content capturing and processing system and method
JP2012531816A (ja) アクティブビデオ電子番組ガイドのためのシステムおよび方法
US20180041817A1 (en) Video Assets Having Associated Graphical Descriptor Data
WO2014193996A2 (en) Network video streaming with trick play based on separate trick play files
CN112752115A (zh) 直播数据传输方法、装置、设备及介质
CA2352143C (en) Method and apparatus for producing demand real-time television
Psannis et al. MPEG-2 streaming of full interactive content
WO2015052636A1 (en) Network personal video recorder savings with scalable video coding
KR20070019670A (ko) VOD(video-on-demand) 스트리밍을 위해향상된 특징을 제공하는 시스템 및 방법
KR101684705B1 (ko) 미디어 컨텐츠 재생 장치 및 방법
Venkatramani et al. Frame architecture for video servers
CA2606132A1 (en) Method and apparatus for delivering consumer entertainment services accessed over an ip network

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application