KR20060108659A - Mpeg 다중 프로그램 전송 스트림으로부터 특정프로그램을 추출/저장하는 방법 및 시스템 - Google Patents

Mpeg 다중 프로그램 전송 스트림으로부터 특정프로그램을 추출/저장하는 방법 및 시스템 Download PDF

Info

Publication number
KR20060108659A
KR20060108659A KR1020067008787A KR20067008787A KR20060108659A KR 20060108659 A KR20060108659 A KR 20060108659A KR 1020067008787 A KR1020067008787 A KR 1020067008787A KR 20067008787 A KR20067008787 A KR 20067008787A KR 20060108659 A KR20060108659 A KR 20060108659A
Authority
KR
South Korea
Prior art keywords
program
packet
transport
null
transport stream
Prior art date
Application number
KR1020067008787A
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 코닌클리케 필립스 일렉트로닉스 엔.브이.
Publication of KR20060108659A publication Critical patent/KR20060108659A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/08Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
    • 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4334Recording operations
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4345Extraction or processing of SI, e.g. extracting service information from an MPEG 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4346Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream involving stuffing data, e.g. packets or bytes
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4347Demultiplexing of several video streams
    • 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/4385Multiplex stream processing, e.g. multiplex stream decrypting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4405Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/781Television signal recording using magnetic recording on disks or drums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/84Television signal recording using optical recording
    • H04N5/85Television signal recording using optical recording on discs or drums

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Television Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Circuits Of Receivers In General (AREA)

Abstract

본 발명은 MPEG-2 다중 프로그램 전송 스트림으로부터 특정 프로그램을 저장/재생하는 개선된 방법을 제공한다. 저장할 때, 상기 방법은 비-사용자-선택 프로그램의 관련된 전송 패킷을 폐기하고 대응하는 폐기 위치에서 널 패킷을 삽입하고, 상기 널 패킷의 실효 부하는 이 위치에서 연속해서 폐기된 패킷들의 개수를 가리키는 번호를 포함하며, 재생할 때, 널 패킷의 실효 부하가 특정 수치 값을 포함하면, 상기 방법은 상기 널 패킷 이외에 일부 널 패킷들을 부가하며, 상기 부가된 널 패킷들의 개수는 상기 특정 수치 값 - 1과 동일하다.
널 패킷, 패킷 정보, MPEG, 프로그램 전송 스트림, 비-사용자-선택 프로그램

Description

MPEG 다중 프로그램 전송 스트림으로부터 특정 프로그램을 추출/저장하는 방법 및 시스템{A method and system for extracting/storing specific program from MPEG multiple program transport stream}
본 발명은 MPEG 전송 스트림에 관한 것으로, 특히, MPEG-2 다중 프로그램 전송 스트림으로부터 특정 프로그램을 추출/저장하는 방법 및 시스템에 관한 것이다.
MPEG-2 표준(ISO/IEC 13818-1)은 셋톱 박스(STB), 디지털 TV(DTV), 대화식 장치들 등과 같이, 디지털 장치들에 디지털 데이터 스트림을 제공하기 위한 표준이다.
도 1은 다중 프로그램 MPEG-2 전송 스트림을 발생시키는 종래의 과정이다. 각 프로그램의 비디오 신호 및 오디오 신호는 비디오 엔코더(112) 및 오디오 엔코더(114)에 의해 수신된 후, 미리 설정된 알고리즘에 따라 비디오 기본 스트림(ES) 및 오디오 기본 스트림(ES)으로 각각 압축되며, 이들 기본 스트림들 및 문자 다중 방송, 클로즈 캡션 등과 같은 데이터는 클럭 수단(130)에 의해 전송된 프로그램 클럭 참조(PCR)의 제어 하에 패킷화기(118)에 의해 비디오 PES(패킷화된 기본 스트림), 오디오 PES 및 데이터 PES로 각각 변환되며, 이들 PES 및 개인 섹션들은 상기 프로그램의 모든 내용들을 구성한다. 복수의 프로그램들과 상기 프로그램 특정 정 보 섹션들(PSI)의 내용 그룹들은 다중화되도록 멀티플렉서(140)로 입력된 다음, 복수의 전송 패킷들로 구성된 표준 다중 프로그램 MPEG-2 전송 스트림(TS)은 출력된다. 상기 PSI 섹션은 프로그램 관련 테이블(PAT) 및 프로그램 맵핑 테이블(PMT) 등을 포함할 수 있다.
도 2는 기본 스트림을 TS 패킷들로 변환하는 흐름의 개략도이다. 상기 기본 스트림(210)은 패킷화기에 의해 PES 페이로드(224)의 그룹으로 분해되고, PES 헤더(222)는 PES 패킷들(220)의 그룹을 형성하기 위해 각 페이로드 전에 추가된다. 상기 PES 패킷들의 그룹의 페이로드들의 조합은 기본 스트림에 대응한다.
멀티플렉서에 의해 처리된 후, 각 PES 패킷(220)은 188바이트의 TS 패킷(230)이 되며, MPEG 표준에 상응하고, 각 TS 패킷은 4바이트의 TS 헤더(232)(TS 헤더) 및 184바이트의 TS 페이로드(234)를 포함한다. 상기 전송 패킷들의 그룹의 조합은 PES 패킷(220)에 대응한다. TS 헤더가 프로그램 전송 스트림을 포함하면, 우선 단계1에서, 패킷 식별(PID)이 0x0000과 동일한 TS 패킷의 페이로드를 찾고(단계 S310), 두 번째로, (단계 S320) 프로그램 맵핑 테이블을 포함하는 전송 패킷의 패킷 식별 PMT PID는 사용자에 의해 전송된 프로그램 선택 정보(즉, 프로그램 식별)에 따라 프로그램 관련 테이블 PAT로부터 획득되며, 그 다음에, 단계 2에서, 상기 프로그램 맵핑 테이블 PMT를 얻기 위해, 상기 PMT PID에 따라 프로그램 맵핑 테이블을 포함한 전송 패킷들을 찾고, 그 다음에, 상기 선택된 프로그램과 관련된 전송 패킷의 패킷 식별은 상기 프로그램 맵핑 테이블 PMT 및 표준에 의해 규정된 특정 패킷 식별로부터 얻어지며(단계 S340), 기본 스트림 내용을 포함한 전송 패킷의 PID, 특정 프로그램의 프로그램 특정 정보/서비스 정보(PSI/SI)를 포함하는 전송 패킷의 PID, 및 프로그램 클럭 참조(PCR)를 포함하는 전송 패킷의 PID를 포함하며, 마지막으로, 단계 3에서, 상기 전송 패킷의 수신된 PID 값을 상술된 PID 값들과 비교하며, 상기 PID 값들 중 하나이면, 처리될 다음 단계로 전송될 것이며, 다른 경우에, 상기 전송 패킷은 폐기될 것이다(단계 S350).
현재, MPEG-2 다중 프로그램 전송 스트림으로부터 특정 프로그램을 추출/저장하는 다음의 2종류의 방법들이 주로 있다.
제1 방법으로, 도 3에 도시된 흐름에 의해 처리된 전송 패킷의 비트율은 부호 간 변환기에 의해 조정된 다음, 전송 또는 저장과 같이, 다른 처리를 위한 MPEG-2 표준에 상응하는 특정 프로그램을 포함한 새로운 전송 스트림을 얻도록 다시 다중화된다. 상기 방법의 결점은 부호 간 변환/재-다중화가 비용을 증가시킬 것이라는 점이다.
제2 방법으로는, 도달 시간 클럭(ATC) 태그는 부분 전송 스트림을 발생시키기 위해, 도 3의 흐름으로부터 얻어진 전송 패킷들에 추가된 다음, 전송 또는 저장과 같은 다른 과정이 참조로서 도달 시간 클럭을 사용하여 재생하는 동안 수행되며, 모든 전송 패킷들은 다른 과정을 위한 그들의 도달 시간에 따라 제공된다. 상기 방법의 결점은 재생 과정이 복잡하다는 것이며, 아울러, 도달 시간 클럭 ATC 태그가 MPEG-2 표준의 일부이지 않으므로, 상기 스트림 파일들에 대한 편집과 같은 다른 처리가 복잡해진다.
한편, 상기 방법에 의해 발생된 부분 전송 스트림은 선택 정보 테이블(SIT) 및 불연속 정보 테이블(DIT) 만을 포함하는 반면에, 이러한 문법에 따라, 대화식 TV에 필요한 다른 서비스 테이블들(SI 테이블)이 더 이상 제공되지 않을 것이다.
MHP(멀티미디어 홈 플랫홈) 표준과 호환하는 전송 스트림은 전송 스트림이며, MPEG-2 표준에 기초하지만 더 강력한 기능들을 갖는다. MHP 표준과 호환하는 전송이 상기 2개의 방법들에 따라 처리되면, 발생된 새로운 프로그램 전송 스트림은 MHP 표준에 상응하지 않을 것이다.
따라서, MPEG-2 다중 프로그램 전송 스트림으로부터 특정 프로그램을 추출/저장하는 방법을 제공할 필요성이 있으며, 이 방법은, 새롭게 생성된 프로그램 전송 스트림이 전송하는 동안에 비트율을 유지할 수 있고 재생하는 동안에, MPEG-2 표준과 여전히 호환할 수 있다는 것을 보장할 수 있다.
본 발명은 MPEG-2 다중 프로그램 스트림으로부터 특정 프로그램을 추출하는 개선된 방법을 제공하고, 상기 프로그램 전송 스트림에서 전송 패킷의 패킷 식별 값(PID)이 본 발명에 대해서는 중요하다. 다중 프로그램 전송 스트림과 특정 프로그램을 위한 사용자 선택 정보를 수신한 후에, 선택된 프로그램과 관련된 상기 전송 패킷들의 모든 패킷 식별들(PID)은 사용자에 의해 선택된 특정 프로그램의 프로그램 관련 테이블(PAT)로부터 얻어진 다음, 수신된 각 전송 패킷의 패킷 식별들은 상기 패킷 식별들과 비교되며, 그들이 일치하면, 상기 전송 패킷은 처리되지 않을 것이고 새롭게 발생된 전송 스트림에 직접 전송될 것이며, 그들이 불일치하면, 상기 전송 패킷의 패킷 식별(PID)은 0x1FFF로서 설정될 것이고, 그 다음에, 새롭게 발생된 프로그램 전송 스트림에 전송된다.
상기 방법에 의해 발생된 프로그램 전송 스트림은 MPEG-2 표준에 상응하고 전송 동안에 비트율을 변경되지 않게 할 수 있다. 원래 전송 스트림이 상기 MHP 표준에 상응하면, 새로운 전송 스트림은 상기 MHP 표준에 여전히 상응한다. 게다가, 상기 방법은 추가의 부호 간 변환기 및 리멀티플렉서를 필요로 하지 않으며, 즉, 부호간 변환 및 재-다중화의 추가 처리들을 필요로 하지 않는다.
본 발명은 또한 MPEG-2 다중 프로그램 전송 스트림으로부터 특정 프로그램을 저장/재생하는 개선된 방법을 제공한다. 저장하는 동안에, 다중 프로그램 전송 스트림과 상기 특정 프로그램을 위한 사용자 선택 정보가 수신된 후에, 상기 선택된 프로그램과 관련된 전송 패킷들의 모든 패킷 식별들(PID)은 사용자에 의해 선택된 특정 프로그램의 프로그램 관련 테이블(PAT)로부터 얻어진 다음, 수신된 각 전송 패킷의 패킷 식별이 상기 패킷 식별들과 비교된다. 그들이 일치하면, 상기 전송 패킷은 처리되지 않을 것이고 특정 매체로 저장될 것이며, 그들이 불일치하면, 상기 전송 패킷은 폐기될 것이고 널 패킷은 상기 폐기 위치에서 저장되며, 상기 널 패킷의 페이로드는 수치 값 1을 포함하며, 복수의 패킷들이 연속해서 폐기되면, 단 하나의 널 패킷이 저장되며, 이의 페이로드는 상기 위치에서 연속해서 폐기되는 전송 패킷들의 개수를 포함하며, 마지막으로, 폐기 패킷의 마크는 상기 저장 매체 상의 프로그램 정보 파일에 저장되며, 상기 마크는, 패킷 폐기가 상기 프로그램에 대해 실행되었음을 가리키는데 사용된다.
재생하는 동안에, 우선, 상기 저장 매체에 저장된 프로그램 정보 파일은 판독되고, 상기 프로그램 정보 파일이 패킷 폐기 마크를 갖는지가 결정되며, 그렇다면, 상기 저장 매체로부터 상기 프로그램의 모든 전송 패킷들을 판독하고 각 전송 패킷의 패킷 식별(PID)을 판단하며, 상기 PID가 0x1FFF과 동일하지 않으면, 상기 전송 패킷을 다음의 처리 단계로 전송하며, 상기 PID가 0x1FFF와 동일하면, 상기 전송 패킷은 널 패킷이고, 그 다음, 값은 상기 널 패킷의 페이로드로부터 얻어지고 상기 수치 값 - 1의 개수의 널 패킷들은 상기 널 패킷 이외에 추가되며, 그 다음에, 상기 널 패킷들은 다음의 처리 단계로 전송된다.
특정 프로그램을 저장/재생하는 상기 방법은 저장하는 동안에, 다량의 저장 공간을 절약할 수 있고, 재생하는 동안에, 상기 프로그램은 판독되고 처리되지만, 상기 MPEG-2 표준에 여전히 상응하며, 게다가, 원래 전송 스트림이 MHP 표준을 만족하면, 판독된 새로운 전송 스트림은 MHP 표준에 여전히 상응한다. 게다가, 상기 방법은 어떠한 추가의 부호간 변환기 및 리-멀티플렉서를 필요로 하지 않으며, 즉, 부호간 변환과 재-다중화의 추가 처리를 필요로 하지 않는다.
본 발명의 다른 이해와 함께 다른 목적들과 장점들이 다음의 설명과 첨부한 도면들을 참조하여 취해진 청구항들을 참조하여 분명해지고 이해될 것이다.
본 발명은 실시예들에 의한 도면들을 참조하여 상세히 설명된다.
도 1은 다중 프로그램 MPEG-2 전송 스트림을 발생시키는 종래의 과정을 도시한 도면.
도 2는 기본 스트림(ES)을 전송 패킷(TS 패킷)으로 변환하는 흐름의 개략도.
도 3은 프로그램 전송 스트림으로부터 특정 프로그램을 식별하는 흐름의 개략도.
도 4는 본 발명의 실시예에 따라 MPEG-2 다중 프로그램 전송 스트림으로부터 특정 프로그램을 추출하는 시스템의 개략도.
도 5는 본 발명의 실시예에 따라 MPEG-2 다중 프로그램 전송 스트림으로부터 특정 프로그램을 추출하는 흐름의 개략도.
도 6은 본 발명의 실시예에 따라 MPEG-2 다중 프로그램 전송 스트림으로부터 특정 프로그램을 저장/재생하는 시스템의 개략도.
도 7은 본 발명의 다른 실시예에 따라 MPEG-2 다중 프로그램 전송 스트림으로부터 특정 프로그램을 저장하는 흐름의 개략도.
도 8은 본 발명의 다른 실시예에 따라 저장된 특정 프로그램을 재생하는 흐름의 개략도.
모든 도면들에서, 동일한 참조번호들은 동일하거나 유사한 특징들과 기능들을 가리킨다.
도 4는 본 발명의 실시예에 따라 MPEG-2 다중 프로그램 전송 스트림으로부터 특정 프로그램을 추출하는 흐름의 개략도이다. 상기 시스템은 셋톱 박스와 같이 사용자의 프로그램 수신 수단의 일부로서 사용될 수 있다. 도면에 도시된 바와 같이, 고주파수 헤더 및 복조기와 같은 수신 수단(410)은 입력신호를 수신하고 다중 프로그램 전송 스트림인 디지털 프로그램 전송 스트림을 출력하는데 사용된다. 다 중 프로그램 전송 스트림이 거기에 직접 제공되면, 상기 고주파수 헤더 및 복조기(410)는 더 이상 요구되지 않을 것이다.
사용자가 상기 사용자 제어기(470)를 통해 스트림 스터퍼(420)에 대해 특정 프로그램을 선택하기 위한 신호를 전송하며, 상기 비-사용자-선택 프로그램에 관련된 전송 패킷의 패킷 식별은 스트림 스터퍼(420)에 의해 0x1FFF로서 전송된 다음, 상기 스터퍼된 전송 스트림으로서 사용자에 의해 선택된 프로그램과 관련된 전송 패킷들과 함께 출력된다. 사용자에 의해 선택된 하나의 특정 프로그램이 있다면, 대응한 스터퍼된 전송 스트림은 다중 프로그램 전송 스트림이다. 상기 스트림 스터퍼의 특정 스터핑 과정은 이후에 기재될 것이다.
상기 스트림 스터퍼(420)는 고주파수 헤더와 상기 복조기(410)로부터 전송 패킷들을 포함한 다중 프로그램 전송 스트림을 수신하기 위한 프로그램 스트림 수신 수단(421), 사용자 제어기(470)에 의해 상기 다중 프로그램 전송 스트림에 포함된 특정 프로그램을 위한 사용자 선택 정보를 수신하기 위한 사용자 정보 수신 수단(423), 상기 특정 프로그램을 위한 사용자 선택 정보에 따라, 상기 다중 프로그램 전송 스트림으로부터 사용자에 의해 선택되지 않은 프로그램들의 전송 패킷을 찾기 위한 전송 패킷 식별 수단(422), 및 0x1FFF와 같이 특정 수치 값이도록 상기 비-사용자-선택 프로그램의 전송 패킷의 패킷 식별(PID)을 설정하기 위한 널 패킷 설정 수단(425)을 포함하며, 상기 특정 수치 값은 널 패킷 식별인 반면에, 사용자에 의해 선택된 프로그램의 전송 패킷과 함께 상기 설정된 전송 패킷은 원래 전송 스트림의 순서로 다음의 처리 단계에 전송된다.
상기 전송 패킷 식별 수단(422)은 상기 특정 프로그램을 위한 상기 사용자 선택 정보에 따라, 상기 프로그램 관련 테이블(PAT)로부터 관련된 전송 패킷의 패킷 식별(PID)을 찾기 위한 프로그램 찾기 수단(424) -상기 전송 패킷의 페이로드는 상기 선택된 프로그램의 프로그램 맵핑 테이블(PMT)을 포함함-, 상기 프로그램 관련 테이블(PAT)로부터 상기 선택된 프로그램과 관련된 전송 패킷의 패킷 식별(PID)을 찾고 사용자에 의해 선택된 프로그램의 패킷 식별 리스트를 생성하기 위한 패킷 식별 찾기 수단(426), 및 상기 비-사용자-선택 프로그램의 전송 패킷을 찾고 사용자에 의해 선택된 프로그램의 전송 패킷을 다음의 처리 단계로 전송하기 위해, 사용자에 의해 선택된 프로그램의 패킷 식별 리스트에서의 패킷 식별(PID)과 상기 수신된 전송 패킷의 상기 패킷 식별(PID)을 비교하기 위한 패킷 식별 비교 수단(428)을 더 포함한다. 상기 함께 연결된 3개의 수단은 도 3에 도시된 바와 같은 처리 흐름을 구현할 수 있다.
상기 스트림 스터퍼(420)는 특정 프로그램을 위한 사용자 선택 정보에 따라 상기 다중 프로그램 전송 스트림의 프로그램 관련 리스트를 보정하기 위한 정보 보정 수단(429)을 더 포함할 수 있다.
상기 스터퍼된 전송 스트림은 상기 MPEG-2 표준에 상응하고 전송, 저장, 재생과 같이 다른 처리에 사용될 수 있고, 전송하는 동안에 비트율을 변화시키지 않을 수 있으며, 원래 전송 스트림이 상기 MHP 표준에 상응하면, 새로운 전송 스트림은 상기 MHP 표준에 여전히 상응한다. 상기 스터핑 기능은 사용자가 상기 다중 프로그램 스트림으로부터 편안하게 좋아하는 프로그램을 추출하여, 리-멀티플렉서 없 이, 이를 다른 사람들과 공유하도록 전송할 수 있게 한다. 다른 사람들이 상기 스터퍼된 스트림을 수신할 때, 그들은 이를 현재의 미디어 플레이어로 재생할 수 있다.
상기 스터퍼된 전송 스트림이 재생하는데 사용되면, 다음의 재생 처리는 종래기술의 것과 동일할 것이다. 상기 스터퍼된 전송 스트림은 디-멀티플렉서 및 암호 해독기(450)에 전송되고, 상기 디-멀티플렉서 및 암호 해독기(450)의 기능들 중 하나는 전송 스트림을 상기 프로그램 기본 스트림으로 복호화하는 것이다. 전송 스트림이 다중 프로그램 전송 스트림이면, 프로그램 전송 스트림은 상기 사용자 제어기(470)를 통해 사용자로부터 전송된 프로그램 선택 제어 신호에 따라 선택되고 프로그램 기본 스트림으로 디-다중화될 것이다. 상기 프로그램 기본 스트림은 재생을 위한 오디오/비디오 신호가 되도록 상기 오디오/비디오 디코더(460)에 의해 디코드된다. 상기 디-멀티플렉서 및 암호 해독기(450)의 다른 기능은 상기 오디오/비디오 디코더(460)에 의해 처리되도록 상기 조건 접속 제어기(480)로부터 전송된 저장 제어 신호에 따라 프로그램을 암호 해독하는 것이다.
도 5는 본 발명의 실시예에 따라 MPEG-2 다중 프로그램 전송 스트림으로부터 특정 프로그램을 추출하는 흐름의 개략도이다. 상기 흐름은 도 4에 도시된 바와 같이 상기 스트림 스터퍼(420)의 특정 스터핑 흐름이다. 우선, 다중 프로그램 전송 스트림을 수신하기 시작하며(단계 S510), 상기 프로그램 관련 테이블(PAT)은 분석되며(단계 S512), 특정 프로그램의 사용자 선택의 정보는 수신되고 발견되고(단계(S514), 상기 선택 정보에 따라, 상기 특정 프로그램과 관련된 모든 전송 패킷들 의 패킷 식별들은 사용자에 의해 선택된 프로그램의 패킷 식별 리스트, 즉, 유용한 패킷 식별 리스트를 생성하기 위해, 상기 프로그램 맵핑 테이블(PAT) 및 표준 규정 특정 PID 수치 값으로부터 얻어진다(단계 S518). 한편, 프로그램 관련 테이블이 사용자의 선택에 따라 수정되어야 하면 결정될 수 있으며(단계 S526), 보정되면(단계 S527), 매개변수 PR=1를 설정하며, 보정되지 않으면(단계 S528), 매개변수 PR=0으로 설정한다. 그러나, 상기 단계는 실행될 수 없으며, 이에 따라, 다음의 단계 S524가 또한 존재하지 않을 것이다.
상기 유용한 패킷 식별 리스트는 사용자에 의해 선택된 상기 특정 프로그램과 함께 프로그램 특정 정보/서비스 정보 테이블(PSI/SI) 모두를 포함한 전송 패킷, 사용자에 의해 선택된 특정 프로그램의 오디오/비디오 기본 스트림 데이터를 포함한 모든 전송 패킷, 사용자에 의해 선택된 특정 프로그램을 포함한 프로그램 클럭 기준의 모든 전송 패킷에 대응한다. MPEG-2 표준에서, PSI/SI 테이블은 상기 프로그램 관련 테이블(PAT), 프로그램 맵핑 테이블(PMT), 네트워크 정보 테이블(NIT), 조건 접속 테이블(CAT), 서비스 설명 테이블(SDT), 불연속 정보 테이블(DIT) 및 이벤트 정보 테이블(EIT)을 포함한다.
상기 리스트는 상기 MHP 표준에 상응하는 정보 테이블들을 포함한 전송 패킷에 또한 대응할 수 있고, 이들 특정 정보 테이블들은 동작 상태 테이블(RST), 시간 오프셋 테이블(TOT), 스터핑 테이블(ST) 및 부케 정보 테이블(BAT) 등을 포함한다.
그 다음, 상기 전송 패킷을 수신하기 시작한다(단계 S532). 상기 프로그램 전송 스트림이 전송 동안에 4개의 프로그램 전송 스트림으로부터 3개의 프로그램 전송 스트림으로 변경되는 것과 같이, 조정되었다면, 상기 유용한 패킷 식별 리스트는 갱신되어야 할 것이며(단계 S534), 상기 프로그램 전송 스트림이 전송하는 동안에 조정되지 않았다면, 상기 단계는 생략될 수 있다.
상기 수신된 전송 패킷의 패킷 식별이 0x1111과 동일하면, 상기 전송 패킷은 프로그램 관련 테이블(PAT)을 포함하며(단계 S540), 다음에, 매개변수 PR이 1과 동일하면 다시 판단되며(단계 S542), 매개변수 PR이 1과 동일하면, 정보 보정 수단은특정 프로그램을 위한 사용자 선택 정보에 따라 상기 전송 패킷의 페이로드에서 상기 프로그램 관련 테이블을 보정할 것이며(단계 S544), 이에 따라, 상기 발생된 새로운 전송 스트림의 전송 스트림은 상기 선택된 특정 프로그램만을 반영할 수 있고, 상기 보정 과정은 다음에서 기재되며, 상기 보정된 전송 패킷을 출력 버퍼에 전송하여 (단계 S5460), 처리될 다른 전송 패킷이 있는지를 검출한다(단계 S590). 매개변수 PR=1과 동일하지 않으면, 상기 전송 패킷을 상기 출력 버퍼에 직접 전송한 후(단계 S546) 처리될 다른 전송 패킷이 있는지가 판단되고(단계 S590), 이러한 환경 하에서, 상기 프로그램 전송 스트림을 표시할 때, 비-선택가능한 프로그램의 제목의 색상은 원래 프로그램 전송 스트림이 상기 비-선택가능한 프로그램을 포함한다는 것을 사용자가 알 수 있도록 하기 위해 적용 레벨에서 어두운 색상으로 전송될 수 있다.
상기 수신된 전송 패킷의 패킷 식별이 0x0000과 동일하지 않으면, 상기 전송 패킷의 패킷 식별이 유용한 패킷 식별 리스트에 있는지가 판단되며(단계 S550), 그렇다면, 상기 전송 패킷을 상기 출력 버퍼에 전송한 후에(단계 S552), 처리될 다른 전송 패킷이 있는지가 판단되고(단계 S590), 그렇지 않으면, 상기 전송 패킷의 패킷 식별은 0x1FFF 이도록 전송되며, 이에 따라, 널 패킷으로 고려되며(단계 S554), 상기 널 패킷을 상기 출력 버퍼로 전송한 후에(단계 S556), 처리될 다른 전송 패킷이 있는지가 판단된다(S590). 단계 S554는 또한 사용자에 의해 선택되지 않은 프로그램의 관련 전송 패킷을 표준 널 패킷으로 대체할 수 있고, 그 다음, 상기 표준 널 패킷을 상기 출력 버퍼에 전송한다.
마지막으로, 상기 단계 S590의 판단 결과가 처리될 다른 전송 패킷이 있는 것으로 되면, 처리될 새로운 전송 패킷이 없을 때까지 단계 S532로 되돌아가서 상기 루프를 반복한 다음, 이 흐름은 종료한다.
단계 S544에서 상기 프로그램 관련 테이블 보정은 일반적으로 다음을 포함한다.
PAT의 길이가 변하면, "섹션_길이" 필드는 갱신되어야 하며,
상기 PAT 테이블이 변하면, "CRC" 필드가 갱신되어야 하며,
사용자에 의해 선택되지 않은 프로그램의 입력은 삭제되어야 한다.
특정 예가 상기 프로그램 관련 테이블이 보정되는 방법을 설명하기 위해 다음에 제공되어 있다.
원래 프로그램 관련 테이블이 표 1에 도시되어 있다. 상기 프로그램 관련 테이블의 길이는 24바이트이고 상기 테이블은 3개의 프로그램들의 프로그램 특정 정보를 포함하며, "program_number" 필드는 0x0001, 즉, 프로그램 1의 PMT PID는 0xA1이며, "program_number" 필드는 0x0002, 즉, 프로그램 2의 PMT PID는 0x00A2이 며, "program_number" 필드는 0x0003, 즉, 프로그램 2의 PMT PID는 0x00A3이다. "section_length" 필드의 내용은 21이다. 순환 잉여 계산(CRC) 필드는 MPEG-2 표준의 ISO/IEC 13818-1의 첨부 B에 따라 계산된다.
사용자가 프로그램 1을 선택하면, 상기 프로그램 관련 테이블은 수정될 것이며, 이에 따라, 상기 수정된 PAT는 표 2에 도시된 바와 같다.
프로그램 2 및 프로그램 3의 "program_number", "reserved", "program_map_Pld"의 필드들은 삭제되어야 하며,
"section_length" 필드의 내용은 13이도록 수정되어야 하며,
순환 잉여 검사(CRC) 필드는 수정된 PAT 내용들을 기초로 하여 다시 계산된다.
보정 전의 PAT
Syntax No. of bits Mnem onic
program_association_section (){ Table_id(0x00) 8 uimsbf section_syntax_indicat 1 bslbf or '0' 1 bslbf reserved 2 bslbf section_length(0x15 21 uimsbf hex) tramsport_stream_id( 16 uimsbf 0x1F reserved 2 bslbf version_number(0x00) 5 uimsbf current_next_indicator 1 bslbf Section_number 8 uimsbf last_section_number 8 uimsbf 16 uimsbf Program_number(0x0001) Reserved 3 bslbf program_map_PID(0xA1) 13 uimsbf 16 uimsbf program_number(0x0002) reserved 3 bslbf program_map_PID(0xA2) uimsbf 16 uimsbf program_number(0x0003) reserved 3 bslbf program_map_PID(0xA3) uimsbf } CRC_32 32 rpchof }
보정 이후의 PAT
Syntax No of Mnemo bits nic
program_association_section (){ table_id(0x00) 8 uimsbf section_syntax_indicat 1 bslbf '0' 1 bslbf reserved 2 bslbf section_length(0x0D hex) 13 uimsbf tramsport_stream_id(0x1F) 16 uimsbf reserved 2 bslbf version_number(0x00) 5 uimsbf current_next_indicator 1 bslbf section_number 8 uimsbf last_section_number 8 uimsbf program_number(0x0001) 16 uimsbf Reserved 3 bslbf program_map_PID(0xA1) 13 uimsbf } CRC_32 32 rpchof }
도 6은 본 발명의 다른 실시예에 따라 MPEG-2 다중 프로그램 전송 스트림으로부터 특정 프로그램을 저장/재생하기 위한 시스템의 개략도이다. 특정 프로그램을 저장/추출하기 위한 상기 시스템은 스트림 변경자(430), 기록 수단(439) 및 상기 스트림 스터퍼(420)를 대체하는 스트림 디-변경자를 사용하여 도 4의 특정 프로그램을 추출하는 시스템과 상이하다.
상기 스트림 변경자(430)는 전송 패킷들을 포함하는 다중 프로그램 전송 스트림을 수신하기 위한 프로그램 스트림 수신 수단(431), 상기 다중 프로그램 전송 스트림에 포함된 특정 프로그램을 위한 사용자 선택 정보를 수신하기 위한 사용자 정보 수신 수단(432), 상기 특정 프로그램을 위한 사용자 선택 정보에 따라 상기 비-사용자-선택 프로그램의 전송 패킷을 폐기하고 상기 폐기 위치에서 널 패킷을 저장하기 위한 패킷 폐기 수단(433) -상기 널 패킷의 페이로드는 상기 폐기 위치에서 연속해서 폐기된 전송 패킷들의 개수를 반영할 수 있는 수치 값을 포함함-, 및 패킷 폐기 마크를 포함하는 프로그램 정보 파일을 발생시키기 위한 정보 파일 발생 수단(434)을 포함하며, 상기 패킷 폐기 마크는 상기 프로그램이 패킷 폐기에 의해 처리되었음을 가리키는데 사용된다.
상기 스트림 변경자는 또한 특정 프로그램을 위한 사용자 선택 정보에 따라 상기 프로그램 전송 스트림의 프로그램 관련 테이블을 보정하고 동시에 프로그램 정보 파일에 마크를 저장하기 위한 정보 보정 수단(435)을 포함할 수 있고, 상기 마크는 상기 프로그램의 프로그램 관련 테이블이 보정되었다는 것을 가리키는데 사용된다.
상기 기록 수단(439)은 폐기되지 않은 전송 패킷들 모두 및 상기 널 패킷들을 저장하고 상기 프로그램 정보 파일을 저장하기 위한 프로그램 저장 수단을 포함한다.
상기 스트림 디-변경자(440)는 각 전송 패킷을 판독하기 위한 프로그램 스트림 수신 수단(442), 상기 저장 매체에 저장된 프로그램 정보 파일을 판독하고 상기 프로그램 정보 파일이 패킷 폐기 마크를 갖는가를 판단하기 위한 프로그램 정보 판단 수단(444) -그렇다면, 각 널 패킷의 페이로드에서 수치 값을 얻음-, 및 상기 널 패킷 이외에 상기 수치 값 - 1의 개수를 갖는 널 패킷들을 추가하기 위한 널 패킷 추가 수단(446)을 포함할 수 있다. 상기 스트림 디-변경자(440)는 또한 각 널 패킷의 페이로드에서 수치 값이 있는가를 판단하기 위한 널 패킷 판단 수단을 포함할 수 있으며, 있다면, 상기 수치 값을 얻는다. 상기 널 패킷 판단 수단은 상기 프로그램 정보 판단 수단(444)과 함께 상기 스트림 디-변경자(440)에 포함될 수 있거나, 상기 프로그램 정보 판단 수단(444)의 대체로서 사용될 수 있고 상기 스트림 디-변경자(440)에 독립적으로 포함될 수 있다. 이 경우에, 상기 스트림 디-변경자(440)는 더 이상 상기 프로그램 정보 파일로부터 패킷 폐기 마크를 판독하지 못할 것이지만, 그 페이로드들이 수치 값을 포함하는가를 결정하기 위해 각 널 패킷을 직접 판단할 것이다.
다중 프로그램 전송 스트림이 상기 스트림 변경자(430)에 전송될 때, 상기 프로그램 수신 수단(431)은 상기 전송 스트림의 상기 전송 패킷을 수신하고, 상기 사용자 정보 수신 수단(432)은 사용자에 의해 상기 사용자 제어기(470)로부터 전송되는 특정 프로그램을 선택하기 위한 제어 정보를 수신하고, 상기 제어 정보에 기초하여, 상기 패킷 폐기 수단(433)은 사용자에 의해 선택된 프로그램의 관련 전송 패킷을 직접 전송하고, 상기 비-사용자-선택 프로그램의 관련 전송 패킷을 폐기하고 각 폐기 위치에서 널 패킷을 추가한다. 상기 널 패킷의 페이로드는, 복수의 전송 패킷들이 연속해서 폐기되면 수치 값 1을 포함하며, 단 하나의 널 패킷이 상기 위치에서 필요하게 되며, 상기 널 패킷의 페이로드는 연속해서 폐기된 전송 패킷들의 개수를 반영할 수 있는 수치 값을 포함한다. 원래 전송 스트림에서 폐기되지 않은 전송 패킷들 뿐만 아니라, 이들 널 패킷들은 수정된 스트림으로서 출력된다. 게다가, 상기 정보 파일 발생 수단(434)은 또한 재생 시 사용자를 위한 패킷 폐기 마크를 포함하는 프로그램 정보를 발생시킬 수 있고, 상기 패킷 폐기 마크는, 패킷 폐기가 상기 프로그램에서 실행되었음을 가리키는데 사용된다.
사용자에 의해 선택된 하나의 특정 프로그램이 있다면, 대응한 수정된 전송 스트림은 단일 프로그램 전송 스트림이며, 사용자에 의해 선택된 복수의 프로그램들이 있다면, 대응한 수정된 전송 스트림은 다중 프로그램 전송 스트림이다. 상기 스트림 변경자(430)의 특정 동작은 다음에서 설명된다.
상기 수정된 전송 스트림과 프로그램 정보 파일은 상기 기록 수단(439)에 의해 특정 저장 매체에 기록된다. 상기 기록 수단은 하드디스크 드라이브(HDD), 광 디스크 드라이브(CD 또는 DVD), 자기 테이프 드라이브 또는 다른 형태들의 자석/광학 저장매체일 수 있다.
상기 기록된 프로그램을 재생할 때, 사용자는 상기 사용자 제어기(470)를 통해 제어 정보를 전송하고, 상기 수정된 전송 스트림은 상기 스트림 디-변경자의 프로그램 수신 수단에 의해 상기 기록 수단(439)으로부터 판독된다. 상기 스트림 디-변경자(440)의 널 패킷 판단 수단은 각 널 패킷을 검출하고 상기 널 패킷의 페이로드가 수치 값을 포함하는가를 판단하며, 상기 수치 값은 얻어지고 상기 수치 값 - 1의 개수의 널 패킷들은 상기 널 패킷 추가 수단(446)에 의해 상기 널 패킷 이외에 추가되고, 판독된 널이 아닌 패킷들과 함께 이들 널 패킷들은 판독 및 삽입의 순서로 전송 스트림으로서 전송 또는 재생과 같이 다음의 처리 단계로 전송된다. 상기 전송 스트림은 MPEG-2 표준에 상응하는 프로그램 전송 스트림이다. 상기 처리는 이하 상세히 기재될 것이다.
상기 전송 스트림은 디-멀티플렉서 및 암호 해독기(450)에 전송되고, 암호 해독되고 상기 사용자 제어기(470) 및 조건 접속 제어부(480)의 제어 하에서 오디오 기본 스트림과 비디오 기본 스트림과 같이 프로그램 기본 스트림으로 디-다중화되고, 상기 프로그램 기본 스트림은 재생을 위한 오디오/비디오 신호로 상기 오디오/비디오 디코더(460)에 의해 더 디코드된다.
사용자는 또한 상기 스트림 디-변경자(440)에서 상기 프로그램 정보 판독 수단(444)을 통해 상기 기록 수단(439)으로부터 프로그램 정보 파일을 판독할 수 있고, 상기 판단 수단은, 상기 프로그램 정보 파일이 패킷 폐기 마크를 갖는가를 판단한다. 갖는다면, 상기 널 패킷의 페이로드에서의 수치 값은 상기 널 패킷 추가 수단(446)에 의해 처리되도록 얻어진다.
도 7은 본 발명의 다른 실시예에 따라 MPEG-2 다중 프로그램 전송 스트림으로부터 특정 프로그램을 저장하는 흐름의 개략도이다. 상기 흐름은 도 6의 스트림 변경자(430)의 특정 동작 과정이다. 단계 S534 이전의 단계들은 도 5의 흐름과 실질적으로 동일하여, 그들은 간결함을 위해 반복되지 않을 것이다. 차이는 매개변수 TSSP을 1로 설정하고(단계 S520), 매개변수 NCUP를 0으로 설정하고(단계 S524), 프로그램 정보 파일을 저장하는 단계(단계 S529)의 추가이다. 상기 매개변수 NCUP는 연속해서 폐기된 전송 패킷들의 개수를 마크하는데 사용된다.
단계 S529에서 저장된 프로그램 정보 파일은 적어도 하나의 패킷 폐기 마크 TSSP를 포함하며, 예를 들면, TSSP가 1일때 상기 저장된 프로그램 스트림은 패킷 폐기 과정을 수행하였다. 상기 프로그램 정보 파일은 프로그램 이름 및 저장 매체의 시작과 끝 위치들 등에 기록된 수정된 스트림을 더 포함할 수 있다. 상기 프로그램 정보 파일은 저장 매체의 소정의 위치에서 저장될 수 있다. 마찬가지로, 상기 프로그램 관련 테이블을 보정하는 마크의 PR 수치 값은 또한 상기 프로그램 정보 파일에 저장될 수 있다.
단계 S532에서 수신된 전송 패킷의 패킷 식별이 0x0000과 동일하면(단계 S540), 상기 전송 패킷은 상기 프로그램 관련 테이블(PAT)을 포함한다. 상기 프로그램 관련 테이블이 PR이 1과 동일하는가에 따라(단계 S542) 수정되어야 하는지가 판단되며, 이에 따라, 발생된 새로운 프로그램 전송 스트림은 상기 선택된 특정 프로그램만을 반영할 수 있다.
PR이 1이면, 상기 전송 테이블에 포함된 상기 프로그램 관련 테이블(단계 S544)이 상술된 바와 같이 보정되고, 수정된 전송 패킷이 특정 저장 매체에 저장된 후(단계 S548) 처리될 다른 전송 패킷이 있는가가 판단된다(단계 S590). PR이 1과 동일하지 않으면, 상기 전송 패킷이 상기 특정 저장 매체에 직접 저장된 후(단계 S548) 처리될 다른 전송 패킷이 있는가가 판단된다(단계 S590). 이 경우에, 상기 프로그램 전송 스트림을 표시할 때, 비-선택가능한 프로그램의 제목의 색상은 원래 프로그램 전송 스트림이 상기 비-선택가능한 프로그램을 포함함을 사용자가 알게 하도록 응용 레벨에서 어두운 색상으로 설정된다.
단계 S532에서 수신된 전송 패킷의 패킷 식별이 0x0000과 동일하지 않으면(단계 S540), 상기 전송 패킷의 패킷 식별이 상기 유용한 패킷 식별 리스트에 있는가가 판단된다(단계 S550). 있다면, NCUP가 0과 동일한지가 판단되며(단계 S561), 동일하다면, 상기 전송 패킷은 상기 특정 저장 매체에 저장되며(단계 S563), 없다면, 널 패킷이 상기 특정 저장 매체에 저장되고(단계 S565) NCUP는 동시에 0으로 설정된다(단계 S567). 상기 널 패킷의 페이로드는 연속해서 폐기된 널 패킷들의 개수를 반영할 수 있는 수치 값을 포함한 다음, 상기 전송 패킷은 상기 특정 저장 매체로 저장된다(단계 563). 단계 S550에서, 상기 전송 패킷의 패킷 식별이 유용한 패킷 식별 리스트에 없다면, 상기 전송 패킷을 폐기하고(단계 S572) 및 1을 NCUP에 추가한다(단계 S574).
저장 또는 폐기의 상기 과정을 완료한 후에, 처리될 다른 전송 패킷이 있는지가 판단된다(단계 S590). 처리될 다른 전송 패킷이 있다면, 단계 S532로 되돌아가 처리될 새로운 전송 패킷이 없을 때까지 루프를 반복한 다음, 과정은 종료한다.
상기 단계 S565에서, 널 패킷은 페이로드가 수치 값 1을 포함하는 불연속 패킷 폐기 위치의 각각에서 추가된다. 복수의 전송 패킷들이 연속해서 폐기되면, 단 하나의 널 패킷은 페이로드가 연속해서 폐기된 전송 패킷들의 개수를 반영할 수 있는 수치 값을 포함하는 상기 위치에서 추가되어야 한다.
도 5의 흐름에서 발생된 스터프된 스트림을 저장할 때, 모든 널 패킷을 폐기하고 폐기의 대응하는 위치에서 널 패킷을 저장하는데 또한 용이하다. 단 하나의 널 패킷이 폐기되면, 상기 저장된 널 패킷의 페이로드는 수치 값 1을 포함하며, 복수의 전송 패킷들이 연속해서 폐기되면, 단 하나의 널 패킷은 저장되며, 그의 페이로드는 상기 위치에서 연속해서 폐기된 전송 패킷들의 개수를 포함한다. 마지막으로, 패킷 폐기 마크는 상기 저장 매체 상의 프로그램 정보 파일에 저장되며, 마크는 패킷 폐기는 상기 프로그램에서 실행되었음을 가리킨다.
도 8은 본 발명의 다른 실시예에 따라 본 발명에서 저장된 특정 프로그램을 재생하는 흐름의 개략도이다. 이 흐름은 상기 수신된 프로그램 스트림을 MPEG-2 표준과 호환하는 프로그램 전송 스트림으로 변환하는 도 6의 스트림 디-변경자(440)의 상세한 과정의 실시예이다. 우선, 상기 사용자 제어기(470)를 통해 사용자에 의해 전송된 특정 프로그램을 선택하고 재생하기 위한 제어 정보는 수신되며(단계 S810), 상기 프로그램 정보 파일은 상기 저장 매체로부터 판독되며(단계 S820), 다음 단계는 상기 프로그램 정보 파일의 패킷 폐기 마크 TSSP가 1과 동일하면(단계 S822) 상기 저장 매체 상의 상기 프로그램 전송 스트림은 직접 판독되며, TSSP가 1과 동일하지 않으면, 이를 다음 처리 단계로 전송함을 기초로 하여 결정되며, TSSP가 1과 동일하면, 패킷 폐기는 상기 전송 스트림에서 실행되었음을 가리키므로, 상기 저장 매체 상의 프로그램 스트림의 각 전송 패킷은 이하에 기재되는 단계들에 의해 처리되도록 판독된다(단계 S830).
판독된 상기 전송 패킷의 패킷 식별 PID가 0x1FFF과 동일하면(단계 S840), 상기 NCUP 수치 값은 상기 전송 패킷의 페이로드로부터 판독되고(단계 S842), NCUP -1 표준 널 패킷들은 상기 전송 패킷 이외에 추가되고(단계 S844), 단어 "이외에"는 상기 전송 패킷에 인접한 이전 또는 다음 위치의 위치를 참조하며, 그래서, 이들 널 패킷들은 재생 또는 전송과 같은 다음의 처리 단계로 전송된다(단계 S850). 판독된 상기 전송 패킷의 패킷 식별 PID가 0x1FFF과 동일하지 않으면(단계 S840), 상기 전송 패킷은 재생 또는 전송과 같이 다음의 처리 단계로 직접 전송된다(단계 S850). 상기 전송 단계를 완료한 후, 처리될 다른 전송 패킷이 있는지가 판단되고(단계 S860), 있다면, 단계 S830로 되돌아가 처리될 새로운 전송 패킷이 없을 때까지 상기 루프를 반복한 다음, 이 흐름을 종료한다.
상기 흐름에서, 단계들 S820, S822, 및 S824는 또한 생략될 수 있고, 검출과 판단 단계는 널 패킷의 페이로드가 수치 값을 갖는지를 검출하고 판단하는 단계 S840과 단계 S842 사이에 추가될 수 있으며, 있다면, 단계 S842 및 단계 S844는 실행될 것이고 그 다음에, 단계 S850로 진행하며, 없다면, 단계 S850로 직접 점프한다.
게다가, 상기 스트림 디-변경자(440)는 상기 프로그램 전송 스트림에서 실제로 선택될 수 있는 프로그램 내용을 반영하기 위해 상기 전송된 전송 스트림의 상기 프로그램 관련 테이블(PAT)을 보정할 수 있다.
본 발명이 특정 실시예들을 참조하여 기재되었지만, 다양한 대안들, 보정들 및 변경들이 상기 설명에 비추어 기술분야의 당업자에게 분명해질 것이라는 것은 자명하다. 따라서, 첨부된 청구항들의 사상과 범위 내에 속하는 모든 이러한 대안들, 보정들 및 변경들을 내포하도록 의도된다.
본 발명이 특정 실시예와 조합하여 기재되었지만, 이전의 설명에 따르면, 다양한 대안들, 수정들, 및 변경들이 기술분야의 당업자에게 분명할 것이다. 따라서, 본 발명은 첨부된 청구항들의 사상과 범위에 속하는 모든 대안들, 수정들 및 변경들을 포함할 것이다.

Claims (18)

  1. MPEG 다중 프로그램 전송 스트림으로부터 특정 프로그램을 선택하는 방법에 있어서,
    a. 전송 패킷을 포함하는 다중 프로그램 전송 스트림을 수신하는 단계;
    b. 상기 다중 프로그램 전송 스트림에 포함된 상기 특정 프로그램을 위한 사용자 선택 정보를 수신하는 단계;
    c. 상기 특정 프로그램을 위한 상기 사용자 선택 정보에 따라 상기 다중 프로그램 전송 스트림으로부터 비-사용자-선택 프로그램의 상기 전송 패킷을 찾는 단계; 및
    d. 상기 비-사용자-선택 프로그램의 상기 전송 패킷의 패킷 식별(PID)을 널 패킷 식별인 특정 값으로 설정하는 단계를 포함하는, 특정 프로그램 선택 방법.
  2. 제1항에 있어서,
    상기 널 패킷 식별로서 상기 특정 값은 0x1FFF(16진수)인, 특정 프로그램 선택 방법.
  3. 제1항에 있어서,
    상기 단계 c는:
    상기 특정 프로그램을 위한 상기 사용자 선택 정보에 따라 상기 프로그램 관 련 테이블로부터 상기 관련 전송 패킷의 패킷 식별을 찾는 단계로서, 상기 전송 패킷은 상기 선택된 프로그램을 위한 프로그램 맵핑 리스트를 포함하는, 상기 패킷 식별을 찾는 단계;
    상기 프로그램 맵핑 리스트로부터 상기 선택된 프로그램에 관련된 상기 전송 패킷의 패킷 식별을 찾고, 상기 사용자 선택 프로그램의 패킷 식별 리스트를 생성하는 단계; 및
    상기 비-사용자-선택 프로그램의 전송 패킷을 찾기 위해, 상기 사용자 선택 프로그램의 상기 패킷 식별 리스트의 패킷 식별과 상기 전송 패킷의 수신된 패킷 식별을 비교하는 단계를 포함하는, 특정 프로그램 선택 방법.
  4. 제1항에 있어서,
    e. 상기 특정 프로그램을 위한 상기 사용자 선택 정보에 따라 상기 다중 프로그램 전송 스트림의 프로그램 관련 테이블을 보정하는 단계를 더 포함하는, 특정 프로그램 선택 방법.
  5. MPEG 다중 프로그램 전송 스트림으로부터 특정 프로그램을 선택하기 위한 시스템에 있어서,
    전송 패킷을 포함하는 다중 프로그램 전송 스트림을 수신하기 위한 프로그램 스트림 수신 수단;
    상기 다중 프로그램 전송 스트림에 포함된 상기 특정 프로그램을 위한 상기 사용자 선택 정보를 수신하기 위한 사용자 정보 수신 수단;
    상기 특정 프로그램을 위한 상기 사용자 선택 정보에 따라 상기 다중 프로그램 전송 스트림으로부터 비-사용자-선택 프로그램의 전송 패킷을 찾기 위한 전송 패킷 식별 수단; 및
    상기-비-사용자-선택 프로그램의 전송 패킷의 패킷 식별(PID)을 널 패킷 식별인 특정 값으로 설정하기 위한 널 패킷 설정 수단을 포함하는, 특정 프로그램 선택 시스템.
  6. 제5항에 있어서,
    상기 널 패킷 식별로서 상기 특정 값은 0x1FFF(16진수)인, 특정 프로그램 선택 시스템.
  7. 제5항에 있어서,
    상기 전송 패킷 식별 수단은:
    상기 특정 프로그램을 위한 상기 사용자 선택 정보에 따라 상기 프로그램 관련 테이블로부터 관련된 상기 전송 패킷의 패킷 식별을 찾기 위한 프로그램 찾기 수단으로서, 상기 전송 패킷은 상기 선택된 프로그램의 프로그램 맵핑 리스트를 포함하는, 상기 프로그램 찾기 수단;
    상기 프로그램 맵핑 리스트로부터 상기 선택된 프로그램에 관련된 상기 전송 패킷의 패킷 식별을 찾기 위한 패킷 식별 찾고, 상기 사용자 선택 프로그램의 패킷 식별 리스트를 생성하기 위한 패킷 식별 찾기 수단; 및
    상기 비-사용자-선택 프로그램의 전송 패킷을 찾기 위해, 상기 사용자 선택 프로그램의 상기 패킷 식별 리스트의 패킷 식별과 상기 전송 패킷의 수신된 패킷 식별을 비교하기 위한 패킷 식별 비교 수단을 포함하는, 특정 프로그램 선택 시스템.
  8. 제5항에 있어서,
    상기 특정 프로그램에 대한 상기 사용자 선택 정보에 따라 상기 다중 프로그램 전송 스트림의 프로그램 관련 테이블을 보정하기 위한 정보 보정 수단을 더 포함하는, 특정 프로그램 선택 시스템.
  9. MPEG 다중 프로그램 전송 스트림으로부터의 특정 프로그램을 저장 매체에 저장하는 방법에 있어서,
    a. 상기 전송 패킷을 포함하는 다중 프로그램 전송 스트림을 수신하는 단계;
    b. 상기 다중 프로그램 전송 시스템에 포함된 상기 특정 프로그램을 위한 상기 사용자 선택 정보를 수신하는 단계;
    c. 상기 특정 프로그램을 위한 상기 사용자 선택 정보에 따라 상기 비-사용자-선택 프로그램의 전송 패킷을 폐기하는 단계;
    d. 비-폐기 전송 패킷 모두를 저장하고 상기 대응하는 폐기 위치에서 널 패킷을 저장하는 단계로서, 상기 널 패킷의 실효 부하는 상기 폐기 위치에서 연속해 서 폐기된 상기 전송 패킷들의 개수를 가리키는 수치 값을 포함하는, 상기 패킷 저장 단계를 포함하는, 특정 프로그램을 저장 매체에 저장하는 방법.
  10. 제9항에 있어서,
    e. 프로그램 정보 파일에 마크를 저장하는 단계를 더 포함하며, 상기 마크는, 상기 패킷 폐기가 상기 프로그램 전송 스트림에서 실행되었음을 가리키는, 특정 프로그램을 저장 매체에 저장하는 방법.
  11. 제9항에 있어서,
    f. 상기 특정 프로그램을 위한 상기 사용자 선택 정보에 따라 상기 다중 프로그램 전송 스트림의 프로그램 관련 테이블을 보정하는 단계를 더 포함하는, 특정 프로그램을 저장 매체에 저장하는 방법.
  12. MPEG 다중 프로그램 전송 스트림으로부터의 특정 프로그램을 저장 매체에 저장하기 위한 시스템에 있어서,
    상기 전송 패킷을 포함하는 다중 프로그램 전송 스트림을 수신하기 위한 프로그램 수신 수단;
    상기 다중 프로그램 전송 스트림에 포함된 상기 특정 프로그램을 위한 사용자 선택 정보를 수신하기 위한 사용자 정보 수신 수단;
    상기 특정 프로그램을 위한 상기 사용자 선택 정보에 따라 비-사용자-선택 프로그램의 상기 전송 패킷을 폐기하고, 대응하는 폐기 위치에서 널 패킷을 삽입하기 위한 패킷 폐기 수단으로서, 상기 널 패킷의 실효 부하는 상기 폐기 위치에서 연속해서 폐기된 상기 전송 패킷들의 개수를 가리키는 수치 값을 포함하는 수단; 및
    상기 비-폐기된 전송 패킷과 상기 삽입된 널 패킷들을 저장하기 위한 프로그램 저장 수단을 포함하는, 특정 프로그램을 저장 매체에 저장하는 시스템.
  13. 제12항에 있어서,
    프로그램 정보 파일을 생성하는 정보 파일 생성 수단을 더 포함하고, 상기 파일은 패킷 폐기 마크를 포함하며, 상기 마크는, 상기 패킷 폐기가 상기 프로그램 전송 스트림에서 실행되었던 것을 기리키는, 특정 프로그램을 저장 매체에 저장하는 시스템.
  14. 제12항에 있어서,
    상기 특정 프로그램을 위한 상기 사용자 선택 정보에 따라 상기 다중 프로그램 전송 스트림의 프로그램 관련 테이블을 보정하고 프로그램 정보 파일에 마크를 저장하기 위한 정보 보정 수단을 더 포함하고, 상기 마크는 상기 프로그램의 프로그램 관련 테이블이 보정되었음을 가리키는, 특정 프로그램을 저장 매체에 저장하는 시스템.
  15. 저장 매체로부터 특정 MPEG 전송 스트림을 재생하는 방법에 있어서,
    각 전송 패킷을 판독하는 단계;
    각 널 패킷의 실효 부하가 수치 값을 포함하는지를 판단하고, 그렇다면 상기 수치 값을 획득하는 단계; 및
    상기 널 패킷 이외에 일부 널 패킷들을 부가하는 단계로서, 상기 부가된 널 패킷들의 개수가 상기 수치 값 - 1과 동일한, 상기 패킷 부가 단계를 포함하는, 특정 MPEG 전송 스트림 재생 방법.
  16. 저장 매체로부터 특정 MPEG 전송 스트림을 재생하는 방법에 있어서,
    각 전송 패킷을 판독하는 단계;
    상기 전송 스트림의 상기 프로그램 정보 파일이 패킷 폐기 마크를 포함하는지를 판단하고, 그렇다면 각 널 패킷의 실효 부하에서 수치 값을 획득하는 단계; 및
    상기 널 패킷 이외에 일부 널 패킷들을 부가하는 단계로서, 상기 부가된 널 패킷들의 개수가 상기 수치 값 - 1과 동일한, 상기 패킷 부가 단계를 포함하는, 특정 MPEG 전송 스트림 재생 방법.
  17. 저장 매체로부터 특정 MPEG 전송 스트림을 재생하기 위한 시스템에 있어서,
    각 전송 패킷을 판독하기 위한 프로그램 스트림 수신 수단;
    각 널 패킷의 실효 부하가 수치 값을 포함하는지를 판단하고, 그렇다면 상기 수치 값을 획득하기 위한 널 패킷 판단 수단; 및
    상기 널 패킷 이외에 일부 널 패킷들을 부가하기 위한 널 패킷 부가 수단으로서, 상기 부가된 널 패킷들의 개수는 상기 수치 값 - 1과 동일한, 상기 널 패킷 부가 수단을 포함하는, 특정 MPEG 전송 스트림 재생 시스템.
  18. 저장 매체로부터 특정 MPEG 전송 스트림을 재생하기 위한 시스템에 있어서,
    각 전송 패킷을 판독하기 위한 프로그램 스트림 수신 수단;
    상기 프로그램 정보 파일이 패킷 폐기 마크를 포함하는지를 판단하고, 그렇다면 각 널 패킷의 실효 부하에서 수치 값을 획득하기 위한 프로그램 정보 판단 수단;
    상기 널 패킷 이외에 일부 널 패킷들을 부가하기 위한 널 패킷 부가 수단으로서, 상기 부가된 널 패킷들의 개수는 상기 수치 값 - 1과 동일한, 상기 널 패킷 부가 수단;
    상기 검색 명령에 따라 다운로드되지 않는 정보에 대응하는 URL을 검색하기 위한 검색 모듈; 및
    플레이어가 비정상 상태이면서 다운로드되지 않는 정보에 대응하는 상기 검색된 URL을 이용하여 정상 상태에서 얻어진 정보를 다운로드하기 위한 네트워크 관리 장치를 포함하는, 특정 MPEG 전송 스트림 재생 시스템.
KR1020067008787A 2003-11-06 2004-11-03 Mpeg 다중 프로그램 전송 스트림으로부터 특정프로그램을 추출/저장하는 방법 및 시스템 KR20060108659A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CNA2003101142459A CN1615018A (zh) 2003-11-06 2003-11-06 一种从mpeg多节目传送流中提取/存储特定节目的方法和系统
CN200310114245.9 2003-11-06

Publications (1)

Publication Number Publication Date
KR20060108659A true KR20060108659A (ko) 2006-10-18

Family

ID=34558468

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067008787A KR20060108659A (ko) 2003-11-06 2004-11-03 Mpeg 다중 프로그램 전송 스트림으로부터 특정프로그램을 추출/저장하는 방법 및 시스템

Country Status (6)

Country Link
US (1) US20070133693A1 (ko)
EP (1) EP1683359A1 (ko)
JP (1) JP2007515858A (ko)
KR (1) KR20060108659A (ko)
CN (2) CN1615018A (ko)
WO (1) WO2005046242A1 (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101204089B (zh) * 2005-06-20 2010-05-19 夏普株式会社 视频数据再生装置、视频数据生成装置
JP4322851B2 (ja) * 2005-08-19 2009-09-02 Necディスプレイソリューションズ株式会社 動画配信システムおよび動画配信サーバー
US20070189246A1 (en) * 2006-02-13 2007-08-16 Lajos Molnar Buffering multimedia mobile devices and methods to operate the same
US7796598B2 (en) * 2006-04-03 2010-09-14 Cisco Technology, Inc. Synchronizing redundant video streams encapsulated in IP/UDP packets
JP5247700B2 (ja) * 2006-08-25 2013-07-24 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ サマリーを生成する方法および装置
US8171166B1 (en) * 2007-06-24 2012-05-01 Arris Group, Inc. Method and a computer program product for modifying or generating a multiple program transport stream
TWI357263B (en) * 2008-02-22 2012-01-21 Novatek Microelectronics Corp Method and related device for converting transport
WO2009147776A1 (ja) * 2008-06-04 2009-12-10 パナソニック株式会社 トランスポートストリーム記録・送信方法及びその装置
US20110096775A1 (en) * 2009-10-22 2011-04-28 Electronic And Telecommunications Research Institute System and method for multiplexing and streaming contents
CN103297843B (zh) * 2012-03-02 2016-07-20 三星电子(中国)研发中心 一种用于mpeg ts文件回放的节目选择方法
CN102905174B (zh) * 2012-09-10 2016-06-08 深圳创维数字技术股份有限公司 一种传输流的共享方法
EP2978226A1 (en) * 2014-07-21 2016-01-27 Thomson Licensing Method of acquiring of electronic program guide information and corresponding apparatus
CN104536910B (zh) * 2014-12-12 2017-12-12 成都德芯数字科技股份有限公司 一种mpeg ts流pid重映射实现系统及方法
CN105763940A (zh) * 2016-02-26 2016-07-13 青岛海信电器股份有限公司 一种进行节目播放的方法和设备
US10587883B2 (en) * 2017-07-14 2020-03-10 Qualcomm Incorporated Region-wise packing, content coverage, and signaling frame packing for media content
CN107979776A (zh) * 2017-12-12 2018-05-01 青岛海信电器股份有限公司 音视频数据的录制方法及装置
CN108235108A (zh) * 2018-03-20 2018-06-29 青岛海信电器股份有限公司 一种pvr录制方法、系统及电视机

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100261706B1 (ko) * 1996-12-17 2000-07-15 가나이 쓰도무 디지탈방송신호의 수신장치와 수신 및 기록재생장치
JP2001359049A (ja) * 2000-06-14 2001-12-26 Mitsubishi Electric Corp プログラム記録再生方法および装置
DE10035707A1 (de) * 2000-07-21 2002-01-31 Scm Microsystems Gmbh Digitales Aufnahme-und Weidergabeverfahren

Also Published As

Publication number Publication date
CN1875632A (zh) 2006-12-06
WO2005046242A1 (en) 2005-05-19
JP2007515858A (ja) 2007-06-14
WO2005046242B1 (en) 2005-07-07
EP1683359A1 (en) 2006-07-26
US20070133693A1 (en) 2007-06-14
CN1615018A (zh) 2005-05-11

Similar Documents

Publication Publication Date Title
KR20060108659A (ko) Mpeg 다중 프로그램 전송 스트림으로부터 특정프로그램을 추출/저장하는 방법 및 시스템
US5838873A (en) Packetized data formats for digital data storage media
AU716349B2 (en) Processing of digital data and program guide information
US5844478A (en) Program specific information formation for digital data processing
US5844595A (en) Decoding of digital data including program specific information
US7142777B1 (en) Recording and reproducing apparatus and method generating recording location table for plurality of programs received in multiplexed data train
EP2323378A1 (en) Digital signal processing
US20070140651A1 (en) Recording apparatus
JP4372031B2 (ja) 信号処理装置及び信号処理方法
US6879768B1 (en) Information processing apparatus, method therefor and memory medium storing information processing program
US20070147429A1 (en) Stream file format for digital video recording
KR100331825B1 (ko) 디지털 인터페이스의 전송 스트림 전달장치 및 방법
EP1175086A1 (en) Network storage device including a demultiplexer
JP4296895B2 (ja) データ処理装置及び方法
JP4277843B2 (ja) デジタル信号記録再生装置及びデジタル信号再生方法
JP4538488B2 (ja) ストリーム受信装置、ストリーム受信方法、及びストリーム送受信方法
JP4538489B2 (ja) ストリーム受信装置、ストリーム受信方法、及びストリーム送受信方法
JP4300190B2 (ja) 受信装置及び受信方法
JP2010193470A (ja) 出力装置及び出力方法

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid