KR100647206B1 - 시간-시프트된 채널 생성장치 및 생성방법 - Google Patents
시간-시프트된 채널 생성장치 및 생성방법 Download PDFInfo
- Publication number
- KR100647206B1 KR100647206B1 KR1020040103588A KR20040103588A KR100647206B1 KR 100647206 B1 KR100647206 B1 KR 100647206B1 KR 1020040103588 A KR1020040103588 A KR 1020040103588A KR 20040103588 A KR20040103588 A KR 20040103588A KR 100647206 B1 KR100647206 B1 KR 100647206B1
- Authority
- KR
- South Korea
- Prior art keywords
- packet
- stream
- server
- pes
- information
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 239000000872 buffer Substances 0.000 claims abstract description 75
- 239000000284 extract Substances 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 17
- 230000006870 function Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 210000003462 vein Anatomy 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23406—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23418—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/23605—Creation or processing of packetized elementary streams [PES]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
시간-시프트된 채널 생성장치가 개시된다. 스트림 서버로부터 스트리밍 데이터 정보를 수신하는 스트림 수신부; 스트림 수신부로부터 전송되는 스트리밍 데이터 정보를 저장하는 링 버퍼; 사용자로부터 셋탑박스를 통하여 전송된 명령을 수신하여 서버 관리자와 RTP 서버로 전달하는 RTSP 서버; RTSP 서버로부터 전달된 명령에 따라 링 버퍼에 저장된 스트리밍 데이터 정보 중에서 요청된 시간에 대응하는 스트리밍 데이터 정보를 추출하여 새로운 스트리밍 데이터를 생성하고 패킷화하여 셋탑박스로 전송하는 RTP 서버; 및 시스템 구성정보를 판독한 후, 스트림 수신부에서 스트리밍 데이터 정보를 수신하기 위한 스레드를 생성하고, RTSP 서버로부터 연결 요청을 수신하면 이를 처리할 RTSP/RTP 서버 스레드를 생성하는 서버 관리자를 포함한다.
온디맨드, SETTOPBOX, 타임시프트, 멀티캐스트, 유니캐스트
Description
도 1은 본 발명의 일 실시예에 따른 시간-시프트된 채널 생성장치의 구성을 보여주는 블록도이다.
도 2는 본 발명에 적용되는 링 버퍼의 구조를 나타내는 개념도이다.
도 3은 수신 프로세스를 설명하기 위한 플로우챠트이다.
도 4는 송신 프로세스를 설명하기 위한 플로우챠트이다.
본 발명은 시간-시프트된 채널 생성장치 및 생성방법에 관한 것이다.
FTTH(Fiber To The Home) 망의 도입으로 고품질의 방송 및 통신융합 서비스의 제공이 가능해지게 되면서 방송사업자가 할 수 없었던 채널의 개인화에 대한 요구가 증가되고 있는 실정이다.
이와 같이 원하는 시간에 원하는 프로그램을 시청하고자 하는 채널의 개인화를 위해서 대안으로 DVR(Digital Video Recorder) 기능을 탑재한 셋탑박스 (SetTopBox)가 제시되었다.
그러나, 셋탑박스는 여러 가지의 측면에서 문제점을 가지고 있다.
우선, 셋탑박스 자체가 고가이므로 제한된 사람만이 구매하기 때문에 활성화에 걸림돌이 된다. 같은 맥락으로 셋탑박스의 저장장치의 고장에 대비한 유지보수비용이 많이 들게 된다.
또한, 셋탑박스의 경우에는 튜너가 1-2개이고, 임시저장시간이 10-30분이므로 시청하고 있는 채널이나 설정된 채널에 대해서만 시간-시프트(time-shift) 기능을 이용할 수 있다. 더욱이, 튜너 개수의 한계로 채널 사이에 녹화할 프로그램이 중첩될 경우에는 이를 해결할 방법이 없다.
또한, 셋탑박스 자체의 저장장치에 프로그램을 저장하기 때문에 디지털 저작권이 불법적으로 이용될 가능성이 높다.
따라서, 본 발명은 상기한 문제점들을 해결하기 위하여 제시되는 것으로, 본 발명의 목적은 시간-시프트된 채널을 생성하여 각 개인이 원하는 시간에 원하는 프로그램을 시청할 수 있도록 하는 시간-시프트된 채널 생성장치를 제공하는 것이다.
본 발명의 다른 목적은 상기의 시간-시프트된 채널 생성장치에 적용되는 채널 생성방법을 제공하는 것이다.
본 발명의 다른 목적과 특징들은 이하에 서술되는 바람직한 실시예를 통하여 명확하게 이해될 것이다.
본 발명에 따른 시간-시프트된 채널 생성장치는 스트림 서버로부터 스트리밍 데이터 정보를 수신하는 스트림 수신부; 스트림 수신부로부터 전송되는 스트리밍 데이터 정보를 저장하는 링 버퍼; 사용자로부터 셋탑박스를 통하여 전송된 명령을 수신하여 후기의 서버 관리자와 RTP 서버로 전달하는 RTSP 서버; RTSP 서버로부터 전달된 명령에 따라 링 버퍼에 저장된 스트리밍 데이터 정보 중에서 요청된 시간에 대응하는 스트리밍 데이터 정보를 추출하여 새로운 스트리밍 데이터를 생성하고 패킷화하여 셋탑박스로 전송하는 RTP 서버; 및 시스템 구성정보를 판독한 후, 스트림 수신부에서 상기 스트리밍 데이터 정보를 수신하기 위한 스레드를 생성하고, RTSP 서버로부터 연결 요청을 수신하면 이를 처리할 RTSP/RTP 서버 스레드를 생성하는 서버 관리자를 포함한다.
바람직하게, 서버 관리자는 스트림 수신부의 수신상태와 RTSP 서버가 수신한 명령을 참고하여 사용자의 이용패턴을 분석한다.
본 발명에 적용되는 링 버퍼는 TS 패킷파일과 PES 패킷파일을 각각 저장하는 TS 링 파일버퍼와 PES 링 파일버퍼, TS 패킷파일/PES 패킷파일 포인터 정보를 저장하는 PES 인덱스 링 버퍼, PES 인덱스 정보와 시퀀스 인덱스 정보를 저장하는 GOP 인덱스 링 버퍼 및 GOP 인덱스 정보를 저장하는 시퀀스 인덱스 링 버퍼를 포함한다.
본 발명의 일 측면에 따른 시간-시프트된 채널 생성방법은 스트림 수신부와 스트림 송신부에 의해 공유되는 링 버퍼를 구비하는 시간-시프트된 채널 생성장치에 적용되며, 스트림 서버로부터 전송되는 TS 패킷을 수신받는 단계; 수신되는 TS 패킷에 근거하여 생성되는 TS 패킷파일/PES 패킷파일 및 인덱스 정보를 링 버퍼에 저장하는 단계; 사용자로부터 셋탑박스를 통하여 재생명령을 수신하여 링 버퍼로부터 인덱스 정보를 추출하고 추출된 인덱스 정보에 근거하여 TS 패킷파일로부터 TS 패킷을 추출하는 단계; 및 추출된 TS 패킷을 셋탑박스로 전송하는 단계를 포함한다.
본 발명의 다른 측면에 따른 시간-시프트된 채널 생성방법은 스트림 수신부와 스트림 송신부에 의해 공유되는 링 버퍼를 구비한 시간-시프트된 채널 생성장치에 적용되며, 스트림 서버로부터 전송되는 TS 패킷을 수신받는 단계; 수신되는 TS 패킷에 근거하여 생성되는 TS 패킷파일/PES 패킷파일 및 인덱스 정보를 링 버퍼에 저장하는 단계; 사용자로부터 셋탑박스를 통하여 이동명령을 수신하여 링 버퍼로부터 인덱스 정보를 추출하고 상기 추출된 인덱스 정보에 근거하여 PES 패킷파일로부터 PES 패킷을 추출하는 단계; 추출한 PES 패킷을 TS 패킷으로 인코딩하는 단계; 인코딩된 TS 패킷을 셋탑박스로 전송하는 단계를 포함한다.
바람직하게, 추출된 PES 정보로부터 I-픽쳐만으로 이동배속에 따라 프레임을 재구성한다.
바람직하게, 전송되는 TS 패킷이 하나의 PES에 대한 최종 TS 패킷인지를 체크하고, 최종 TS 패킷인 경우 링 버퍼에서 다음 PES 정보를 추출하는 단계; 전송되는 TS 패킷에 대한 PES 패킷이 하나의 GOP에 대한 최종 PES 패킷인지를 체크하고, 최종 PES 패킷인 경우 링 버퍼에서 다음 GOP 정보를 추출한다.
이하, 첨부된 도면을 참조하여 본 발명의 일 실시예를 설명한다.
도 1은 본 발명의 일 실시예에 따른 시간-시프트된 채널 생성장치의 구성을 보여주는 블록도이다.
전체적인 구성을 보면, 스트리밍 데이터를 전송하는 스트리밍 서버(100)와 스트리밍 서버(100)로부터 스트리밍 데이터를 수신하고 시간-시프트된 채널을 생성하여 멀티캐스팅하는 시간-시프트된 채널 생성장치(200) 및 고객이 소유한 셋탑박스(300, 310, 320, 330)로 구성된다.
이 실시예에서는 설명의 편의상 스트리밍 서버(100)로부터 21개의 채널을 통하여 스트리밍 데이터가 시간-시프트된 채널 생성장치(200)로 전송된다고 가정한다.
본 발명에 따르면, 시간-시프트된 채널 생성장치(200)는 스트림 리시버(210), 링버퍼(220, 220a), RTSP/RTP 서버(230, 240) 및 서버 관리자(250)로 이루어진다. 서버 관리자(250)에는 정보 데이터베이스(260)가 연결되며, 정보 데이터베이스(260)에는 회원정보, 보유 셋탑박스 정보 또는 프로그램 이용패턴 정보 등의 다양한 정보가 저장된다.
스트림 리시버(210)는 스트리밍 서버(100)로부터 전송되는 스트리밍 데이터를 수신하기 위한 네트워크 인터페이스의 상태를 관리하고, 서버관리자(250)에 의해 스트리밍 데이터를 수신하기 위한 복수개의 스레드들(211, 212)을 생성하며, 수신된 스트리밍 데이터로부터 트랜스포트 스트림(이하 'TS'라 함) 패킷을 추출하여 관련정보를 획득한다.
각각의 스트림 리시버들(210. 210a)에 대응하는 링 버퍼(220, 220a)는 스트 림 리시버(210, 210a)에서 수신하여 전송하는 TS 패킷 관련정보를 저장한다.
여기서, TS 패킷 관련정보는 TS 패킷 파일, PES(Packetized Elementary Stream) 패킷 파일, TS 패킷파일/PES 패킷파일 포인터 정보 및 시퀀스 인덱스, GOP(Group Of Picture) 인덱스 그리고 PES 인덱스로 구성되는 인덱스 정보를 포함한다.
도 2를 참조하면, 링 버퍼(220, 220a)의 구조가 도시되어 있는 바, 메모리에 로드되는 인덱스 링 버퍼와 파일 시스템에 저장되는 링 파일 버퍼로 이루어진다.
인덱스 링 버퍼는 TS 패킷파일/PES 패킷파일 포인터 정보를 저장하는 PES 인덱스 링 버퍼(223), PES 인덱스 정보와 시퀀스 인덱스 정보를 저장하는 GOP 인덱스 링 버퍼(222) 및 GOP 인덱스 정보를 저장하는 시퀀스 인덱스 링 버퍼(221)를 포함한다.
또한, 링 파일 버퍼는 TS 패킷파일과 PES 패킷파일을 각각 저장하는 TS 링 파일버퍼(224)와 PES 링 파일버퍼(225)를 포함한다.
도 2에서 각 인덱스 링 버퍼와 링 파일 버퍼에 도시된 도트 사이에 연결된 세로 바는 대응하는 인덱스 정보 또는 포인터 정보에 따른 위치를 나타낸다.
각 인덱스 링 버퍼의 사이즈는 시간-시프트된 시간에 따라 가변적이고, 입력되는 스트림의 PES, GOP 및 시퀀스의 개수에 따라 설정된다.
도 1을 참조하면, RTSP 서버(230)는 사용자의 셋탑박스로부터 재생관련명령, 예를 들어, 재생, 정지, 뒤로감기, 빨리감기 또는 점프명령을 수신하여 RTP 서버(240)에 전달한다.
RTP 서버(240)는 RTSP 서버(230)로부터 전달된 재생관련명령에 따라 링 버퍼(220, 220a)에 저장된 스트리밍 데이터 중에서 요청된 시간에 대응하는 스트리밍 데이터를 추출하여 새로운 스트리밍 데이터를 생성하고 패킷화하여 셋탑박스(300, 310, 320, 330)로 전송한다.
서버 관리자(250)는 시스템 구성정보를 판독한 후, 스트림 리시버(210)가 스트리밍 데이터를 수신하기 위한 스레드를 생성하고, RTSP 서버(230)로부터 연결 요청을 수신하면 이를 처리할 RTSP/RTP 서버 스레드(231, 232, 233, 234)를 생성한다.
또한, 서버 관리자(250)는 스트림 리시버의 수신상태와 RTSP 서버(230)가 수신한 재생관련명령을 참고하여 사용자의 이용패턴을 부석하여 정보 데이터베이스(260)에 저장할 수 있다.
이와 같은 구성을 갖는 시간-시프트된 채널 생성장치에 의한 채널 생성방법에 대해 설명한다.
도 3은 수신 프로세스를 설명하기 위한 플로우챠트이다.
서버 관리자(250)는 스트리밍 서버(100)로부터 각 채널을 통하여 전송되는 TS 패킷을 수신할 수 있도록 스트림 리시버(210)에 수신을 위한 스레드를 생성한다.
이에 따라 스트림 리시버(210)는 스트림 서버(100)로부터 대응하는 채널을 통하여 TS 패킷을 수신한다(단계 S31).
TS 패킷이 하나의 PES 패킷을 완성하였는지를 판단하여(단계 S32) PES 패킷 을 아직 완성하지 않은 경우에는 TS 패킷을 임시 버퍼에 저장한다(단계 S33).
하나의 PES 패킷을 완성한 경우에는 TS 패킷을 TS 링 파일 버퍼(224)에 저장하고(단계 S34), 완성된 PES 패킷을 PES 링 파일 버퍼(225)에 저장한다(단계 S35).
이어, PES 패킷의 start_code_prefix를 체크하여 시퀀스, GOP 또는 픽쳐인 경우에 각각 대응하여 시퀀스 인덱스 링 버퍼(221)에 시작 GOP 정보를 저장하고(단계 S37), GOP 인덱스 링 버퍼(222)에 PES 인덱스 정보와 시퀀스 인덱스 정보를 저장하며(단계 S38), 또한 PES 인덱스 링 버퍼(223)에 PES 링 파일 버퍼 정보와 TS 링 파일 버퍼 정보를 저장한다(단계 S39).
도 4는 송신 프로세스를 설명하기 위한 플로우챠트이다.
사용자의 셋탑박스(300, 310, 320, 330)로부터의 접속을 대기하고 있는 상태에서 셋탑박스로부터 명령이 수신되었는지를 판단한다(단계 S41).
예를 들어, 실시간으로 스트리밍 서버(100)로부터 프로그램을 시청하는 도중에 해당 프로그램의 이전내용을 다시 시청하고자 하는 경우, 사용자는 셋탑박스(300)에서, 예를 들어, 뒤로감기(rewind) 기능을 선택한다. 셋탑박스(300)는 사용자의 기능 선택에 따라 뒤로감기 명령과 현재의 시간정보를 채널 생성장치(200)로 전송한다. 채널 생성장치(200)의 서버 관리자(250)는 명령을 수신함과 동시에 전송 스레드를 생성한다.
이때, 전송되는 시간정보는 뒤로감기 프로세스를 수행하는 과정에서 기준시간으로 이용될 수 있다.
뒤로감기 명령을 수신한 것으로 판단된 경우, 채널 생성장치(200)에서의 명 령상태를 변경한다(단계 S42).
이어, 생성된 전송 스레드를 통하여 채널 생성장치(200)의 RTSP 서버(230)는 수신된 명령과 현재 시간정보를 RTP 서버(240)에 전달하고, RTP 서버(240)는, 도 2에 도시된 GOP 인덱스 링 버퍼(222)에서 현재 시간정보에 대응하는 시작 GOP 정보를 추출한다(단계 S43).
또한, 추출된 시작 GOP 정보로부터 GOP 인덱스 링 버퍼(222)에서 시작 PES 정보를 추출한다(단계 S44).
이후에 수신된 명령의 종류를 판단하며(단계 S45), 수신된 명령이 뒤로감기 이기 때문에 단계 S49 내지 S56의 프로세스를 진행한다.
즉, 뒤로감기 배속에 따라 PES 정보로부터 I-픽쳐만으로 프레임을 재구성하여(단계 S49) 단계 S44에서 추출된 시작 PES 정보를 이용하여 PES 인덱스 링 버퍼(223)에서 PES 링 파일 버퍼 정보를 추출한다(단계 S50).
이어 추출된 PES 링 파일 버퍼 정보를 이용하여 PES 링 파일 버퍼(224)에서 PES 패킷을 추출하고(단계 S51), 추출된 PES 패킷을 인코딩하여 TS 패킷을 생성한다(단계 S52).
RTP 서버(240)는 생성된 TS 패킷을 셋탑박스(300)로 스트림 전송한다(단계 S48).
이어 현재 전송되는 TS 패킷이 하나의 PES에 대한 최종 TS 패킷인지를 체크하여(단계 S53) 최종 TS 패킷이 아닌 경우는 단계 S41로 진행하고, 최종 TS 패킷인 경우에는 GOP 인덱스 링 버퍼(222)에서 다음 PES 정보를 추출한다(단계 S54).
또한, 현재 전송되는 TS 패킷에 대한 PES 패킷이 하나의 GOP에 대한 최종 PES 패킷인지를 체크하여(단계 S55) 최종 PES 패킷이 아닌 경우는 단계 S41로 진행하고, 최종 PES 패킷인 경우에는 시퀀스 인덱스 링 버퍼(221)에서 다음 GOP 정보를 추출한다(단계 S56).
여기서는 뒤로감기 명령에 대한 프로세스를 설명하고 있지만, 빨리감기(fast forward) 명령에 대해서도 동일하게 적용된다. 다만, 단계 S54와 S56에 있어서"다음"이란 용어의 의미가 뒤로감기 명령에 대해서는 현재 시간정보를 기준으로 그 이전을 의미하는 것이고, 빨리감기 명령에 대해서는 현재 시간정보를 기준으로 그 이후를 의미한다는 것에 유의할 필요가 있다.
사용자는 셋탑박스(300)를 통하여 디스플레이에 표시되는 검색 화상을 보면서 자신이 보고자 하는 화상이 표시될 때, 셋탑박스(300)에서 정지 기능을 선택할 수 있다.
이에 따라, 상기한 단계 S41 내지 S44의 과정을 수행하고, 단계 S45에서 명령의 종류가 정지이기 때문에 별 다른 진행없이 단계 S41로 복귀한다.
이어 사용자가 셋탑박스(300)에서 재생 기능을 선택하면, 마찬가지로 상기한 단계 S41 내지 S44의 과정을 수행하고, 단계 S45에서 명령의 종류가 재생이므로 단계 S46 내지 S56의 과정을 수행한다.
보다 구체적으로, 단계 S44에서 추출된 시작 PES 정보를 이용하여 PES 인덱스 링 버퍼(223)로부터 TS 링 파일 버퍼 정보를 추출하고(단계 S46), 추출된 TS 링 파일 버퍼 정보를 참조하여 TS 링 파일 버퍼(225)로부터 TS 패킷을 추출하여(단계 S47) 사용자의 셋탑박스(300)로 TS 패킷 스트림을 전송한다(단계 S48).
현재 전송되는 TS 패킷이 하나의 PES에 대한 최종 TS 패킷인지를 체크하여(단계 S53) 최종 TS 패킷이 아닌 경우는 단계 S41로 진행하고, 최종 TS 패킷인 경우에는 GOP 인덱스 링 버퍼(222)에서 다음 PES 정보를 추출한다(단계 S54).
또한, 현재 전송되는 TS 패킷에 대한 PES 패킷이 하나의 GOP에 대한 최종 PES 패킷인지를 체크하여(단계 S55) 최종 PES 패킷이 아닌 경우는 단계 S41로 진행하고, 최종 PES 패킷인 경우에는 시퀀스 인덱스 링 버퍼(221)에서 다음 GOP 정보를 추출한다(단계 S56).
셋탑박스(300)로부터 다른 명령이 전송되지 않는 한, 단계 S41, S45, S46 내지 S56으로 이루어진 재생 프로세스가 반복적으로 수행되면서 사용자는 현재 시간을 기준으로 이전의 프로그램을 계속적으로 시청할 수 있게 된다.
이상에서는 본 발명의 바람직한 실시예를 중심으로 설명하였지만, 본 발명의 정신을 벗어나지 않는 범위 내에서 다양한 변경이나 변형을 가할 수 있다.
예를 들어, 셋탑박스로부터 명령이 전송되는 되는 경우, 채널 생성장치는 셋탑박스에 현재의 시간정보를 요청하지 않고, 빨리감기나 뒤로감기 시에 점프될 최종 시간을 입력받아 이를 기준으로 GOP 정보와 PES 정보를 추출할 수 있다.
따라서, 본 발명의 범위는 상기한 실시예에 국한되어서는 안되며, 이하에 서술되는 특허청구범위에 의해 결정되어야 한다.
본 발명에 따르면, 개인이 보유한 셋탑박스 자체에 PVR 기능을 구현할 필요가 없기 때문에 저가로 구입할 수 있으며, 유지보수비용도 들지 않는다는 이점이 있다.
또한, 셋탑박스의 경우에 비해 수신 가능한 모든 채널에 대해 기설정된 시간 범위 내에서 특별한 설정없이 항상 이용 가능하다.
특히, 튜너의 개수와 저장공간에 대한 제약이 없으므로 녹화할 프로그램이 중첩되더라도 각 채널별로 링 버퍼에 데이터가 저장되기 때문에 아무런 문제가 없다.
또한, 셋탑박스에서는 자체의 저장장치에 프로그램을 저장하기 때문에 디지털 저작권이 불법적으로 이용될 가능성이 높지만, 본 발명의 경우에는 채널 생성자치가 저장공간을 가지므로 그러한 위험성이 전혀 없다.
Claims (7)
- 스트림 서버로부터 스트리밍 데이터 정보를 수신하는 스트림 수신부;상기 스트림 수신부로부터 전송되는 스트리밍 데이터 정보를 저장하는 링 버퍼;사용자로부터 셋탑박스를 통하여 전송된 명령을 수신하여 후기의 서버 관리자와 RTP 서버로 전달하는 RTSP 서버;상기 RTSP 서버로부터 전달된 명령에 따라 상기 링 버퍼에 저장된 스트리밍 데이터 정보 중에서 요청된 시간에 대응하는 스트리밍 데이터 정보를 추출하여 새로운 스트리밍 데이터를 생성하고 패킷화하여 상기 셋탑박스로 전송하는 RTP 서버; 및시스템 구성정보를 판독한 후, 상기 스트림 수신부에서 상기 스트리밍 데이터 정보를 수신하기 위한 스레드를 생성하고, 상기 RTSP 서버로부터 연결 요청을 수신하면 이를 처리할 RTSP/RTP 서버 스레드를 생성하는 서버 관리자를 포함하는 것을 특징으로 하는 시간-시프트된 채널 생성장치.
- 제 1 항에 있어서, 상기 서버 관리자는 상기 스트림 수신부의 수신상태와 상기 RTSP 서버가 수신한 명령을 참고하여 사용자의 이용패턴을 분석하는 것을 특징으로 하는 시간-시프트된 채널 생성장치.
- 제 1 항에 있어서, 상기 링 버퍼는 TS 패킷파일과 PES 패킷파일을 각각 저장하는 TS 링 파일버퍼와 PES 링 파일버퍼, TS 패킷파일/PES 패킷파일 포인터 정보를 저장하는 PES 인덱스 링 버퍼, PES 인덱스 정보와 시퀀스 인덱스 정보를 저장하는 GOP 인덱스 링 버퍼 및 GOP 인덱스 정보를 저장하는 시퀀스 인덱스 링 버퍼를 포함하는 것을 특징으로 하는 시간-시프트된 채널 생성장치.
- 스트림 수신부, 스트림 송신부, 및 상기 스트림 수신부와 스트림 송신부에 의해 공유되는 링 버퍼를 구비한 시간-시프트된 채널 생성장치를 적용하며,상기 스트림 수신부가 스트림 서버로부터 전송되는 TS 패킷을 수신받는 단계;상기 스트림 수신부가 상기 수신되는 TS 패킷에 근거하여 생성되는 TS 패킷파일/PES 패킷파일 및 스트림 시간정보를 포함한 인덱스 정보를 상기 링 버퍼에 저장하는 단계;상기 스트림 송신부가 사용자로부터 셋탑박스를 통하여 재생명령을 수신하면, 상기 링 버퍼로부터 상기 사용자가 요청한 시간에 대응하는 인덱스 정보를 추출하고 상기 추출된 인덱스 정보에 근거하여 상기 TS 패킷파일로부터 TS 패킷을 추출하는 단계; 및상기 스트림 송신부가 상기 추출된 TS 패킷을 상기 셋탑박스로 전송하는 단계를 포함하는 것을 특징으로 하는 시간-시프트된 채널 생성방법.
- 스트림 수신부, 스트림 송신부, 및 상기 스트림 수신부와 스트림 송신부에 의해 공유되는 링 버퍼를 구비한 시간-시프트된 채널 생성장치를 적용하며,상기 스트림 수신부가 스트림 서버로부터 전송되는 TS 패킷을 수신받는 단계;상기 스트림 수신부가 상기 수신되는 TS 패킷에 근거하여 생성되는 TS 패킷파일/PES 패킷파일 및 스트림 시간정보를 포함한 인덱스 정보를 상기 링 버퍼에 저장하는 단계;상기 스트림 송신부가 사용자로부터 셋탑박스를 통하여 이동명령을 수신하면, 상기 링 버퍼로부터 상기 사용자가 요청한 시간에 대응하는 인덱스 정보를 추출하고 상기 추출된 인덱스 정보에 근거하여 상기 PES 패킷파일로부터 PES 패킷을 추출하는 단계;상기 스트림 송신부는 상기 추출한 PES 패킷을 TS 패킷으로 인코딩하고, 상기 인코딩된 TS 패킷을 상기 셋탑박스로 전송하는 단계를 포함하는 것을 특징으로 하는 시간-시프트된 채널 생성방법.
- 제 5 항에 있어서, 상기 추출된 PES 정보로부터 I-픽쳐만으로 이동배속에 따라 프레임을 재구성하는 단계를 더 포함하는 것을 특징으로 하는 시간-시프트된 채널 생성방법.
- 제 4 항 또는 제 5 항에 있어서, 상기 전송되는 TS 패킷이 하나의 PES에 대한 최종 TS 패킷인지를 체크하고, 최종 TS 패킷인 경우 상기 링 버퍼에서 다음 PES 정보를 추출하는 단계;상기 전송되는 TS 패킷에 대한 PES 패킷이 하나의 GOP에 대한 최종 PES 패킷인지를 체크하고, 최종 PES 패킷인 경우 상기 링 버퍼에서 다음 GOP 정보를 추출하는 것을 특징으로 하는 시간-시프트된 채널 생성방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040103588A KR100647206B1 (ko) | 2004-12-09 | 2004-12-09 | 시간-시프트된 채널 생성장치 및 생성방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040103588A KR100647206B1 (ko) | 2004-12-09 | 2004-12-09 | 시간-시프트된 채널 생성장치 및 생성방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060064907A KR20060064907A (ko) | 2006-06-14 |
KR100647206B1 true KR100647206B1 (ko) | 2006-11-23 |
Family
ID=37160276
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040103588A KR100647206B1 (ko) | 2004-12-09 | 2004-12-09 | 시간-시프트된 채널 생성장치 및 생성방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100647206B1 (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100759807B1 (ko) * | 2005-12-09 | 2007-09-20 | 한국전자통신연구원 | Iptv 방송에서 시청시간 이동 서비스 방법 |
KR100857893B1 (ko) * | 2006-05-25 | 2008-09-10 | 파이로웍스(주) | 시간지연 방송콘텐츠 방송시스템 및 방송방법 |
KR100964377B1 (ko) * | 2008-11-04 | 2010-06-17 | 한국전자통신연구원 | 방송 수신 방법 및 장치 |
-
2004
- 2004-12-09 KR KR1020040103588A patent/KR100647206B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR20060064907A (ko) | 2006-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11937010B2 (en) | Data segment service | |
US8352988B2 (en) | System and method for time shifting the delivery of video information | |
US8116612B2 (en) | Centralized digital video recording and playback system accessible to multiple reproduction and control units via a home area network | |
US8015584B2 (en) | Delivering interactive content to a remote subscriber | |
US8861935B2 (en) | Systems and methods for enhancing utilization of recorded media content programs | |
US7801303B2 (en) | Video on demand in a broadcast network | |
CN102415095B (zh) | 记录并且呈现由拼接的段形成的节目的数字视频录像机 | |
US20230308728A1 (en) | Video Assets Having Associated Graphical Descriptor Data | |
US20090119723A1 (en) | Systems and methods to play out advertisements | |
US20080112690A1 (en) | Personalized local recorded content | |
US20050166258A1 (en) | Centralized digital video recording system with bookmarking and playback from multiple locations | |
US20050155079A1 (en) | System and method for managing program assets | |
US20120106932A1 (en) | Reconciling digital content at a digital media device | |
US8768137B2 (en) | Program segments display bar | |
JP4268496B2 (ja) | コンテンツの記録に要する記録メディアの記録容量を節約する放送記録システム、記録装置、放送装置および記録プログラム | |
US9055351B2 (en) | Method for processing information in content receiver | |
JP3756748B2 (ja) | 画像送信装置および画像伝送方法 | |
KR100647206B1 (ko) | 시간-시프트된 채널 생성장치 및 생성방법 | |
US8549568B2 (en) | Digital content processing apparatus and method of digital video receiver | |
US20150020124A1 (en) | Method and apparatus for providing broadcast contents | |
KR102049119B1 (ko) | 클라우드 환경에서 녹화 서비스 제공 방법 및 장치 | |
KR0182463B1 (ko) | 대화형 영상서비스시스템에서의 영상탐색방법 | |
KR20100047734A (ko) | 방송 수신 장치 및 이를 이용한 영상 재생 방법 | |
KR20100054232A (ko) | 아이피 방송 수신기와 유료 아이피 방송 프로그램 수신 방법 | |
KR20070031971A (ko) | 디엠비 단말기에서의 비디오 채널의 객체별 저장 및 재생방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20111111 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |