본 발명은 디지털 신호 처리 분야에 관한 것으로서, 더욱 상세하게는 예를 들자면 프로그램 내용(contents)을 복구하는데 사용되는 프로그램 특정 정보(Program Specific Information)의 형성, 및 저장용 디지털 비디오 데이터에 상기 프로그램 특정 정보를 삽입하는 것에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to the field of digital signal processing and, more particularly, to the formation of program specific information used for recovering program contents, and to the program specific information in digital video data for storage. It is about inserting.
비디오 처리 장치(video processing application) 및 비디오 저장 장치(video storage application)에서, 전형적으로 디지털 비디오 데이터는 공지된 표준 규정의 요구조건에 순응하여 인코딩된다. 널리 사용되고 있는 한 표준 규정은 MPEG2(Moving Pictures Expert Group) 영상 인코딩 표준 규정인데, 이하에서부터는 "MPEG 표준 규정"이라고 언급하기로 한다. MPEG 표준 규정은 시스템 인코딩 부분(ISO/IEC 13818-1, 1994년 6월 10일)과 비디오 인코딩 부분(ISO/IEC 13818-2 1995년 1월 20일)으로 이루어지는데, 이하에서부터는 "MPEG 시스템 표준 규정" "MPEG 비디오 표준 규정"이라고 각각 부르기로 한다. MPEG 표준 규정에 따라 인코딩된 비디오 데이터는, 다수의 프로그램 채널(예컨대 채널 1-125)의 데이터 내용을 일반적으로 포함하는, 패킷화된 데이터스트림의 형태를 갖는다. 디코더가 예를 들어 패킷화된 데이터스트림을 디코딩하고 디스플레이하기 위하여 선택된 프로그램 채널의 비디오 데이터 내용을 복구하게 하기 위하여, 선택된 프로그램 채널을 이루는 각각의 패킷들은 식별되어야 하고 조합되어야(assemble) 한다.In video processing applications and video storage applications, digital video data is typically encoded in compliance with the requirements of known standard regulations. One widely used standard specification is the Moving Pictures Expert Group (MPEG2) video encoding standard specification, hereinafter referred to as the "MPEG standard specification". The MPEG standard specification consists of the system encoding part (ISO / IEC 13818-1, June 10, 1994) and the video encoding part (ISO / IEC 13818-2 January 20, 1995). The standard regulations are referred to as "MPEG video standard regulations" respectively. Video data encoded according to the MPEG standard specification takes the form of a packetized data stream, which generally includes the data content of multiple program channels (e.g., channels 1-125). In order for the decoder to recover the video data contents of the selected program channel, for example to decode and display the packetized data stream, each of the packets that make up the selected program channel must be identified and assembled.
MPEG 표준 규정은 선택된 프로그램 채널들의 내용을 복구하기 위하여 각각의 데이터 패킷을 식별하고 조합시키는데 사용되는 프로그램 특정 정보(Program Specific Information : PSI)에 대하여 규정한다. PSI는 사용자가 규정할 수 있는 정보 요소와 필수 정보 요소 둘 다를 포함하고, 패킷화된 데이터스트림으로 이루어지는 모든 프로그램 채널들의 데이터 내용을 복구하기 위하여 충분한 정보를 포함하도록 규정된다. 더 나아가서, PSI는 패킷화된 데이터스트림에 병합되어 있다. 이러한 사실은 데이터스트림을 저장하는데 필요한 저장 용량을 증가시킬 뿐만 아니라 프로그램 내용의 통신을 위하여 사용 가능한 통신 대역폭을 감소시킨다. 이와 같이, PSI는 부가적인 인코딩 오버헤드를 나타낸다.The MPEG standard specification defines Program Specific Information (PSI) used to identify and combine each data packet to recover the contents of selected program channels. The PSI is defined to contain both user-definable and mandatory information elements, and to contain sufficient information to recover the data content of all program channels of the packetized data stream. Further, the PSI is incorporated into the packetized data stream. This not only increases the storage capacity needed to store the data stream, but also reduces the available communication bandwidth for communicating program content. As such, PSI represents additional encoding overhead.
PSI가 부과하는 오버헤드의 정도는 PSI에 포함되는 데이터의 양(PSI의 크기)과 패킷화된 데이터스트림내에 있는 PSI 반복 횟수에 의존한다. PSI는 패킷화된 데이터스트림으로 이루어지는 모든 프로그램 채널의 데이터 내용을 복구하기 위하여 충분한 정보를 함유하고 있을 필요가 최소한 있다. 패킷화된 데이터스트림에서의 PSI 최소 반복 횟수는 바람직한 시스템 동작 딜레이 특성에 의하여 제한을 받는다. 예를 들자면, 디코더는 텔레비전 시청자에 의하여 명령되는 프로그램 채널 변경을 실행하기 위하여 갱신된 PSI를 필요로 한다. 결과적으로, 최소 PSI 반복 횟수는 채널 명령 명령에 응답하여 딜레이(대기시간)를 허용하기 위하여 텔레비전 시청자의 의지에 따라 제한을 받는다. 이러한 문제들이 본 발명에 따른 시스템에 의하여 처리된다.The amount of overhead that the PSI imposes depends on the amount of data included in the PSI (size of the PSI) and the number of PSI iterations in the packetized data stream. The PSI needs to contain at least enough information to recover the data contents of all program channels consisting of packetized data streams. The minimum number of PSI iterations in a packetized data stream is limited by the desired system operation delay characteristics. For example, the decoder needs an updated PSI to implement program channel changes commanded by the television viewer. As a result, the minimum number of PSI repetitions is limited at the will of the television viewer to allow a delay (latency) in response to the channel command command. These problems are addressed by the system according to the invention.
도 1은 본 발명에 따라, 압축된 PSI를 적응적으로 생성하고 또한 다양한 형태의 매체에 저장하기 위해 패킷화된 데이터스트림에 상기 압축된 PSI를 적응적으로 삽입하는 비디오 수신기 시스템을 도시한 도면.1 illustrates a video receiver system for adaptively generating a compressed PSI and adaptively inserting the compressed PSI into a packetized datastream for storage in various types of media, in accordance with the present invention.
도 2는 PSI로부터 압축된 프로그램 특정 정보(CPSI)를 생성하고 또한 선택할 수 있는 저장 매체 상에 저장하기 적합한 패킷화된 데이터스트림에 상기 압축된 프로그램 특정 정보를 병합하는 방법에 관한 순서도.FIG. 2 is a flow chart of a method of merging compressed program specific information into a packetized data stream suitable for generating compressed program specific information (CPSI) from a PSI and storing on a selectable storage medium.
도 3은 선택된 저장 매체 상에서 선택된 프로그램을 저장하기 위하여 압축된 프로그램 특정 정보를 형성하는 방법에 관한 순서도.3 is a flow chart of a method of forming compressed program specific information for storing a selected program on a selected storage medium.
도 4는 프로그램을 디코딩하는 동안에 정확한 압축 프로그램 특정 정보가 공급되는 것을 보장할 수 있는, 압축된 프로그램 특정 정보의 포맷팅 방법에 관한 순서도.4 is a flowchart of a method of formatting compressed program specific information, which can ensure that correct compressed program specific information is supplied during decoding of a program.
도 5는 선택된 저장 장치로부터 선택된 프로그램을 복구하는 방법에 관한 순서도.5 is a flowchart of a method of recovering a selected program from a selected storage device.
발명자는 이로써 PSI에 의하여 부과되는 오버헤드를 감소하는 것이 몇 몇 응용에서 바람직하다는 것을 인식하게 되었다. 예를 들어 용량이 제한된 디지털 저장 장치에서, 저장 매체에 저장된 PSI의 크기와 PSI가 저장 매체 상에서 반복되는 횟수를 감소시키는 것은 유리하다. 다른 비디오 처리 장치에 있어서, PSI를 더욱 빈번하게 하고 결과적으로 프로그램 내용의 복구 대기시간을 감소시킬 수 있게 허용하기 위하여 PSI의 크기를 감소시키는 것이 바람직하다. 부가적으로, 생성된 PSI는 선택된 저장 매체의 동작 특성 및 사용자 요구조건에 호환성을 가져야 한다.The inventors have now recognized that reducing the overhead imposed by PSI is desirable in some applications. For example, in a capacity limited digital storage device, it is advantageous to reduce the size of the PSI stored on the storage medium and the number of times the PSI is repeated on the storage medium. In other video processing devices, it is desirable to reduce the size of the PSI in order to allow the PSI to be more frequent and consequently to reduce the recovery latency of program content. In addition, the generated PSI must be compatible with the operating characteristics and user requirements of the selected storage medium.
발명자는 더 나아가서 다른 복구 파라미터들을 요구하는 제 2 프로그램의 내용 복구를 위하여 한 프로그램의 PSI를 잘목 사용하는 것을 최소화할 수 있는 포맷으로 저장 매체 상에 PSI를 저장하는 것이 바람직하다는 것을 인식하였다. 예를 들어 저장 매체가 부분적으로 다른 데이터스트림으로부터 유도된 프로그램으로 겹침 기록되었을 때같이, 다른 패킷화된 데이터스트림으로부터 유도된 프로그램을 저장하는데 저장 매체가 사용될 때에 상기와 같은 상황이 발생된다. 이상적으로, PSI 저장 포맷은 또한 프로그램 복구 대기 시간을 감소시켜서, 랜덤 액세스 데이터 복구 시간을 최소화할 수 있다. 고속 랜덤 액세스는 VCR에서와 같은 고속 재생과 내용 건너뜀(content skipping)(트릭 플레이 : trick play)을 포함하는 이들 저장 장치의 동작에서 특히 중요하다.The inventor further recognized that it is desirable to store the PSI on a storage medium in a format that can minimize the use of the PSI of one program to recover the contents of a second program that requires different recovery parameters. Such a situation arises when the storage medium is used to store a program derived from another packetized data stream, such as when the storage medium is overwritten with a program derived partially from another data stream. Ideally, the PSI storage format also reduces program recovery latency, thereby minimizing random access data recovery time. Fast random access is particularly important in the operation of these storage devices, including fast playback and content skipping (trick play) as in VCRs.
본 발명의 기본 원리에 따라, 비디오 처리 시스템은 프로그램 내용 복구에 사용되는 프로그램 특정 정보(PSI)에 의하여 부과된, 처리 오버헤드와 저장 오버헤드를 감소시킨다. 개시된 시스템은 감소된 처리 오버헤드와 저장 오버헤드를 제공하기 위하여 압축된 PSI를 제공하고, 패킷화된 데이터스트림에 상기 압축된 PSI를 적응되게 삽입한다. 시스템은 예컨대 비디오 테이프나 디지털 비디오 디스크(DVD)나 CDROM같은 다양한 매체 형태에 대한 PSI를 적응된 방식으로 생성한다. 부가적으로, 저장 매체 포맷과 패킷화된 데이터스트림 포맷은 압축된 PSI를 사용하여 향상된 데이터 처리 효율을 제공하는 것으로 개시되어 있다. 개시된 데이터 포맷 디코딩 방법은 감소된 프로그램 복구 대기시간을 제공하여, 프로그램 경계를 지나 정확하지 않은 PSI 파라미터들이 사용되는 것을 최소화한다. 상기 디코딩 방법은 또한 디폴트 상태와 에러 상태의 잘못된 비디오 및 오디오 출력 신호를 최소화하기 위하여 디폴트 비디오 및 오디오 데이터를 재생 장치 측으로 공급한다.According to the basic principles of the present invention, the video processing system reduces processing overhead and storage overhead imposed by program specific information (PSI) used for program content recovery. The disclosed system provides a compressed PSI to provide reduced processing overhead and storage overhead, and adaptively inserts the compressed PSI into a packetized datastream. The system generates PSI in an adaptive manner for various media types such as, for example, videotape or digital video disc (DVD) or CDROM. Additionally, storage media formats and packetized datastream formats are disclosed to provide improved data processing efficiency using compressed PSI. The disclosed data format decoding method provides reduced program recovery latency, minimizing the use of incorrect PSI parameters across program boundaries. The decoding method also supplies default video and audio data to the playback device in order to minimize the wrong video and audio output signals in the default and error states.
프로그램의 데이터 내용을 복구하기 위하여 사용되는 데 적합한 프로그램 특정 정보를 병합하고 있는 프로그램을 나타내는 패킷화된 데이터스트림을 디코딩하는 방법은 데이터스트림에서 PSI 데이터 패킷을 식별하는 단계를 포함한다. 식별된 PSI 데이터 내의 파라미터는 식별된 PSI 데이터가 이전의 PSI 내용에 상관없이 프로그램 내용을 디코딩하는데 사용될 지의 여부를 결정하는 데 사용된다. 상기 파라미터에 대한 응답으로서, 현재의 PSI는 식별된 PSI 데이터로 갱신된다. 프로그램 내용 패킷은 현재의 PSI를 사용하여 식별된다. 프로그램 내용 패킷들은 현재의 PSI를 사용하여 한 개의 디코딩된 데이터스트림으로 조합된다.A method of decoding a packetized datastream representing a program incorporating program specific information suitable for use to recover the data content of a program includes identifying a PSI data packet in the datastream. The parameter in the identified PSI data is used to determine whether the identified PSI data will be used to decode the program content regardless of the previous PSI content. In response to the parameter, the current PSI is updated with the identified PSI data. Program content packets are identified using the current PSI. Program content packets are combined into one decoded datastream using the current PSI.
본 발명의 특징으로서, PSI 내용 관련 에러에 대한 표시가 없다고 가정했을 때에, 현재의 PSI는 식별된 PSI 데이터의 내용에 상관없이 식별된 PSI 데이터로 갱신된다.As a feature of the invention, assuming that there is no indication of PSI content related errors, the current PSI is updated with the identified PSI data regardless of the content of the identified PSI data.
본 발명의 다른 특징으로서, 패킷화된 데이터스트림에서의 제어 파라미터가 제공하는 PSI 유효성 표시에 대한 응답으로서, 디폴트 프로그램 내용을 나타내는 패킷들은 출력 데이터스트림으로 조합된다.In another aspect of the invention, in response to a PSI validity indication provided by a control parameter in a packetized data stream, packets representing default program content are combined into an output data stream.
도 1은 예를 들어 적응된 방법으로 압축된 PSI를 생성하고 상기 압축된 PSI를 저장될 패킷화된 데이터스트림에 삽입하는, 본 발명에 따른 비디오 수신기 시스템을 도시한다. 상기 수신기 시스템은 비디오 테이프나 디지털 비디오 디스크(DVD)나 CDROM같은 다양한 매체 형태에 대한 PSI를 적응되게끔 생성한다. 부가적으로, 비디오 수신기 시스템은 프로그램 내용 복구를 위하여 사용되는 프로그램 특정 정보(PSI)가 부과하는 처리 및 저장 오버헤드를 감소시킨다.1 shows a video receiver system according to the invention, for example, for generating a compressed PSI in an adapted method and inserting the compressed PSI into a packetized datastream to be stored. The receiver system creates PSI for various media types such as video tapes, digital video discs (DVD) or CDROMs. In addition, the video receiver system reduces the processing and storage overhead imposed by the program specific information (PSI) used for program content recovery.
비록 개시된 시스템이 방송 프로그램을 의미하는, MPEG 방식으로 인코딩된 트랜스포트 스트림(transport stream)을 수신하는 MPEG 호환 시스템에 관계하여 설명되고 있지만, 이것은 단지 예일 뿐이다. 본 발명의 기본 원리는 또한 MPEG 비호환 시스템을 포함하는, 즉 다른 형태의 인코딩된 데이터스트림을 수반하는, 다른 형태의 시스템에도 적용될 수 있다. 예를 들자면, 본 발명의 기본 원리는 디지털 비디오 디스크(DVD) 시스템 및 MPEG 프로그램 스트림에 적용될 수 있다. 더 나아가서, 비록 개시된 시스템이 방송 프로그램을 처리하는 것으로서 설명되고 있지만, 이것은 단지 예일 뿐이다. "프로그램"이라는 용어는 예컨대 전화 메시지나 컴퓨터 프로그램이나 인터넷 데이터나 또는 다른 통신 데이터같이 모든 형태의 패킷화된 데이터를 나타내는 데 사용된다.Although the disclosed system has been described in relation to an MPEG compatible system that receives a transport stream encoded in an MPEG manner, meaning a broadcast program, this is merely an example. The basic principles of the present invention can also be applied to other types of systems, including MPEG incompatible systems, that is, involving other types of encoded datastreams. For example, the basic principles of the present invention can be applied to digital video disc (DVD) systems and MPEG program streams. Furthermore, although the disclosed system has been described as processing broadcast programs, this is merely an example. The term "program" is used to refer to all forms of packetized data, such as, for example, telephone messages or computer programs or Internet data or other communication data.
개략적으로, 도 1에서의 비디오 수신기 시스템에서, 비디오 데이터로 변조된 캐리어는 안테나(10)에 의하여 수신되고 유닛(15)에 의하여 처리된다. 그 결과로서 발생되는 디지털 출력 신호는 복조기(20)에 의하여 복조되고, 디코더(30)에 의하여 디코딩된다. 디코더(30)의 출력은 트랜스포트 시스템(25)에 의하여 처리되는데, 이것은 원격 제어 유닛(125)으로부터의 명령에 응답한다. 시스템(25)은 저장을 하기 위하여 더 나아가서는 디코딩 또는 다른 장치 측으로의 통신을 위하여 압축된 데이터 출력을 제공한다. 비디오 수신기 사용자는 시청하고 싶은 프로그램과, 저장하고 싶은 프로그램과, 저장 매체의 형태 및 저장 방식을 원격 제어 유닛(125)을 사용하여 온-스크린 메뉴 선택부로 선택한다. 비디오 디코더(85)와 오디오 디코더(80)는 각각 디스플레이를 하기 위한 출력을 제공하기 위하여 시스템(25)으로부터의 압축된 데이터를 디코딩한다. 데이터 포트(75)는 시스템(25)으로부터의 압축된 데이터가 예를 들자면 컴퓨터나 HDTV 수신기와 같은 다른 장치 측으로의 통신을 하기 위한 인터페이스를 제공한다. 저장 장치(90)는 시스템(25)으로부터의 압축된 데이터를 저장 매체(105)에 저장한다. 플레이백 모드(playback mode)에서, 저장장치(90)는 또한 디코딩하고, 다른 장치 측으로 통신하거나 다른 저장 매체(도면의 단순성을 위하여 미도시됨)상으로 저장되게 하기 위하여 시스템(25)에 의하여 처리되게 하기 위해 저장 매체(105)로부터 압축된 데이터를 검색(retrieval)하는 것을 지원한다.In general, in the video receiver system in FIG. 1, a carrier modulated with video data is received by the antenna 10 and processed by the unit 15. The resulting digital output signal is demodulated by demodulator 20 and decoded by decoder 30. The output of the decoder 30 is processed by the transport system 25, which responds to commands from the remote control unit 125. The system 25 further provides compressed data output for storage and further for decoding or communication to the other device side. The video receiver user selects a program to be watched, a program to be stored, and a type and a storage method of a storage medium by using the remote control unit 125 as an on-screen menu selection unit. Video decoder 85 and audio decoder 80 respectively decode the compressed data from system 25 to provide an output for displaying. Data port 75 provides an interface for communication of compressed data from system 25 to another device side, such as a computer or HDTV receiver. Storage device 90 stores the compressed data from system 25 in storage medium 105. In the playback mode, the storage device 90 is also processed by the system 25 to decode and communicate to another device side or to be stored on another storage medium (not shown for simplicity of drawing). Retrieval of the compressed data from the storage medium 105 to ensure that the data is stored.
도 1에 대하여 상세하게 고찰하여 본다면, 안테나(10)에 의하여 수신된 비디오 데이터로 변조된 캐리어는 디지털 형태로 변환되고 입력 프로세서(15)에 의하여 처리된다. 프로세서(15)는 무선 주파수(RF) 튜너와, 중간 주파수(IF) 믹서 및 입력 비디오 신호를 더욱 처리하는데 적합한 더 낮은 주파수 대역으로 다운-변환하는 증폭 스테이지를 포함한다. 그 결과로 발생된 디지털 출력 신호는 복조기(20)에 의하여 복조되고, 디코더(30)에 의하여 디코딩된다. 디코더(30)의 출력은 트랜스포트 시스템(25)에 의하여 더욱 처리된다.In detail with reference to FIG. 1, a carrier modulated with video data received by the antenna 10 is converted into digital form and processed by the input processor 15. The processor 15 includes a radio frequency (RF) tuner, an intermediate frequency (IF) mixer and an amplification stage down-converting to a lower frequency band suitable for further processing the input video signal. The resulting digital output signal is demodulated by demodulator 20 and decoded by decoder 30. The output of the decoder 30 is further processed by the transport system 25.
서비스 검출기(33)의 멀티플렉서(mux)(37)에는 선택기(35)를 경유하여 디코더(30)의 출력이 공급되거나, 또는 NRSS(National Renewable Standards Committee) 디스크램블링 유닛(40)에 의하여 더욱 처리된 디코더(30) 출력이 선택기를 경유하여 공급된다. 선택기(35)는 삽입할 수 있으며 NRSS 방식과 호환되는 디스크램블링 카드가 존재하는 지를 검출하고, 카드가 비디오 수신기 유닛에 현재 삽입되어 있는 경우에 한해서 유닛(40)의 출력을 멀티플렉서(37) 측으로 공급한다(NRSS 제거 가능 조건부 액세스 시스템은 EIA 초안 서류인 IS-679에 규정되어 있는데, 이것은 프로젝트 PN-3639임). 그렇지 않은 경우에, 선택기(35)는 디코더(30)의 출력을 멀티플렉서(37) 측으로 공급한다. 삽입될 수 있는 카드가 있으면 유닛(40)이 예를 들자면 부가적인 프리미엄 프로그램 채널과 같은 것을 디스크램블링하여, 시청자에게 부가적인 프로그램 서비스를 제공할 수 있는 것이 허용된다. 바람직한 실시예에서, NRSS 유닛(40)와 스마트 카드 유닛(130){스마트 카드 유닛(130)에 대해서는 이하에서 설명됨}은 동일한 시스템(25) 인터페이스를 공유하여 결과적으로 NRSS 카드나 또는 스마트 카드중 어느 하나가 임의의 시간에 삽입될 수 있게 된다. 그러나, 병렬 동작을 허용하기 위하여, 인터페이스는 또한 별개로 되어 있을 수 있다.The mux 37 of the service detector 33 is supplied with the output of the decoder 30 via a selector 35 or further processed by the National Renewable Standards Committee (NRSS) descrambling unit 40. Decoder 30 output is supplied via a selector. The selector 35 detects whether there is a descrambling card that can be inserted and compatible with the NRSS scheme, and supplies the output of the unit 40 to the multiplexer 37 only if the card is currently inserted in the video receiver unit. (NRSS removable conditional access systems are specified in the draft EIA document IS-679, which is Project PN-3639). Otherwise, selector 35 supplies the output of decoder 30 to multiplexer 37 side. If there is a card that can be inserted, the unit 40 is allowed to descramble, for example, an additional premium program channel, to provide additional program services to the viewer. In a preferred embodiment, NRSS unit 40 and smart card unit 130 (described below for smart card unit 130) share the same system 25 interface and consequently either NRSS card or smart card. Either one can be inserted at any time. However, to allow parallel operation, the interface may also be separate.
선택기(35)로부터 멀티플렉서(37) 측으로 공급된 데이터는 MPEG 시스템 표준 규정 조항 2.4에서 규정하는 바와 같은, MPEG에 순응하는 패킷화된 트랜스포트 데이터스트림의 형태이며, 한 개 이상의 프로그램 채널의 데이터 내용을 포함한다. 특정 프로그램 채널을 이루는 각각의 패킷들은 패킷 식별자(PID)에 의하여 식별된다. 트랜스포트 스트림은 PID를 식별하고, 패킷화된 데이터스트림을 포함하는 모든 프로그램 채널의 내용을 복구하기 위하여 각각의 데이터 패킷을 조합하는데 사용되는 프로그램 특정 정보(PSI)를 포함한다. 비디오 수신기 사용자는 원격 제어 유닛(125)을 사용한 온-스크린 메뉴 선택부로 시청하고 싶은 프로그램과, 저장하고 싶은 프로그램 및 저장을 하는데 사용되는 매체를 선택한다. 시스템 제어기(115)는 인터페이스(120)를 경유하여 제공되는 선택 정보를 사용하여, 시스템(25)이 저장 및 디스플레이용 프로그램을 선택하고 또한 선택된 저장 장치 및 매체에 적합하게 PSI를 생성하도록 만든다. 제어기(115)는 데이터 버스를 경유하여 시스템(25) 구성 요소들(45, 47, 50, 55, 65 및 95)내의 제어 레지스터 값을 셋팅하고 또한 제어 신호(C)를 이용하여 멀티플렉서(37, 110)를 경유하여 신호 경로들을 선택하여 상기 시스템(25) 구성 요소들을 구성한다.The data supplied from the selector 35 to the multiplexer 37 side is in the form of an MPEG compliant packetized transport data stream, as defined in MPEG system standard provisions clause 2.4, and the data content of one or more program channels. Include. Each packet constituting a particular program channel is identified by a packet identifier (PID). The transport stream contains program specific information (PSI) that is used to identify the PID and combine each data packet to recover the contents of all program channels including the packetized data stream. The video receiver user selects the program he wants to watch, the program he wants to save, and the medium used for storing, with the on-screen menu selection unit using the remote control unit 125. The system controller 115 uses the selection information provided via the interface 120 to cause the system 25 to select a program for storage and display and to generate a PSI for the selected storage device and media. The controller 115 sets the control register value in the system 25 components 45, 47, 50, 55, 65 and 95 via the data bus and also uses the control signal C to multiplexer 37. Signal paths are selected via 110 to configure the system 25 components.
제어 신호(C)에 대한 응답으로, 멀티플렉서(37)는 유닛(35)으로부터의 트랜스포트 스트림을 선택하거나, 또는 플레이백 모드에서 저장 인터페이스(95)를 경유하여 저장 장치(90)로부터 검색된 데이터스트림을 선택하게 된다. 전형적인 비-플레이백 동작에서, 사용자가 시청하기 위하여 선택한 프로그램을 이루는 데이터 패킷은 선택 유닛(45)에 의하여 자신들의 PID에 의하여 식별된다. 만약에 선택된 프로그램 패킷의 헤더 데이터에 있는 암호화 표시기가 패킷이 암호화되었음을 나타낸다면, 유닛(45)은 패킷을 해독 유닛(50) 측으로 공급한다. 그렇지 않은 경우에, 유닛(45)은 암호화되지 않은 패킷을 트랜스포트 디코더(55) 측으로 공급한다. 유사하게, 사용자가 저장을 하기 위하여 선택한 프로그램을 이루는 데이터 패킷은 선택 유닛(47)에 의하여 자신의 PID로 식별된다. 유닛(47)은 패킷 헤더 암호화 표시기 정보에 기초하여, 암호화된 패킷들은 해독 유닛(50) 측으로 공급하고 암호화되지 않은 패킷들은 멀티플렉서(110) 측으로 공급한다.In response to the control signal C, the multiplexer 37 selects the transport stream from the unit 35 or retrieves the data stream retrieved from the storage device 90 via the storage interface 95 in the playback mode. Will be selected. In a typical non-playback operation, data packets that make up a program selected by the user for viewing are identified by their PIDs by the selection unit 45. If the encryption indicator in the header data of the selected program packet indicates that the packet is encrypted, unit 45 supplies the packet to decryption unit 50 side. Otherwise, the unit 45 supplies an unencrypted packet to the transport decoder 55 side. Similarly, the data packets making up the program selected by the user for storage are identified by the selection unit 47 with its PID. The unit 47 supplies the encrypted packets to the decryption unit 50 side and the unencrypted packets to the multiplexer 110 side based on the packet header encryption indicator information.
유닛(45, 47)은 멀티플렉서(37)에 의하여 공급된 입력 패킷들의 PID를 제어기(115)에 의하여 유닛(45, 47)내에 있는 제어 레지스터 내에 미리 로딩된 PID값과 매칭시키는 PID 검출 필터를 사용한다. 미리 로딩된 PID는 저장되려고 하는 데이터 패킷과, 비디오 이미지를 공급하는데 사용되기 위하여 디코딩되려는 데이터 패킷을 식별하기 위하여 유닛(47, 45)에서 사용된다. 미리 저장된 PID는 유닛(45, 47)내에 있는 룩 업 테이블에 저장되어 있다. PID 룩 업 테이블은 암호화 키들을 각각 미리 저장된 PID로서 연관시키는, 유닛(45, 47)에 있는 암호 키 테이블로 메모리 맵핑된다. 메모리 맵핑된 PID 및 암호 키 룩 업 테이블은 유닛(45, 47)으로 하여금 미리 로딩된 PID를 포함하는 암호화된 패킷들에 대하여 그것들이 해독되게 허용하는 관련 암호 키와의 매칭 작업을 할 수 있게 해준다. 암호화되지 않은 패킷들은 관련된 암호 키들을 갖지 않는다. 유닛(45, 47)은 식별된 패킷뿐만 아니라 그것들과 관련된 암호 키들을 해독기(50) 측으로 공급한다. 유닛(45)에 있는 PID 룩 업 테이블은 또한 미리 저장된 PID를 포함하는 패킷들을 패킷 버퍼(60)에 있는 해당 목적지 버퍼 위치와 매칭해주는 목적지 테이블에 메모리 맵핑된다. 시청하거나 저장하기 위하여 사용자가 선택한 프로그램과 관련된 암호 키 및 목적지 버퍼 위치 주소는 제어기(115)에 의하여 할당된 PID와 함께 유닛(45, 47)안에 미리 로딩된다. 암호 키들은 ISO 7816-3 순응 스마트 카드 시스템(130)에 의하여 입력 데이터스트림으로부터 추출된 암호 코드들로부터 생성된다. 암호 키를 생성하는 것은 삽입할 수 있는 스마트 카드 자체상에 있는 미리 저장된 부호화된 정보로부터 확정되는 사용자 자격에 달려 있다(1989년도의 국제 표준화 기구 문서 ISO 7816-3은 스마트 카드 시스템의 인터페이스와 신호 구조를 규정하고 있다).Units 45 and 47 use a PID detection filter that matches the PID of the input packets supplied by the multiplexer 37 to the PID values preloaded in the control registers in the units 45 and 47 by the controller 115. do. The preloaded PID is used in units 47 and 45 to identify the data packet to be stored and the data packet to be decoded for use in supplying the video image. The pre-stored PID is stored in a look up table in units 45 and 47. The PID lookup table is memory mapped to an encryption key table in units 45 and 47, which associate the encryption keys as pre-stored PIDs, respectively. Memory-mapped PID and cryptographic key lookup tables allow units 45, 47 to match encrypted packets containing preloaded PIDs with associated cryptographic keys that allow them to be decrypted. . Unencrypted packets do not have associated cryptographic keys. Units 45 and 47 supply the identified packets as well as the cipher keys associated with them to the decryptor 50 side. The PID lookup table in unit 45 is also memory mapped to a destination table that matches packets containing pre-stored PIDs with corresponding destination buffer locations in packet buffer 60. The cryptographic key and destination buffer location address associated with the program selected by the user for viewing or storing are preloaded into units 45 and 47 together with the PID assigned by controller 115. Cryptographic keys are generated from cryptographic codes extracted from the input datastream by the ISO 7816-3 compliant smart card system 130. Generating a cryptographic key depends on the user's entitlement ascertained from pre-stored encoded information on the insertable smart card itself (International Organization for Standardization document ISO 7816-3, 1989, describes the interface and signal structure of Is regulated).
유닛(45, 47)에 의하여 유닛(50) 측으로 공급된 패킷은 미국 상무성의 미국 기술 정보국(National Technical Information Service)에 의하여 제공된 미국 연방 정보 표준(Fededral Information Standards) 간행물 46과 74 및 81에서 규정하고 있는 데이터 암호 표준 규정(Data Encryption Standard)에 따라 암호화되어 있다. 유닛(50)은 알려진 기술을 적용하여 유닛(45, 47)에 의하여 공급된 해당 암호 키를 사용함으로서 암호화된 패킷을 해독한다. 디스플레이하기 위한 프로그램을 이루는, 유닛(50)으로부터의 해독된 패킷과 유닛(45)으로부터의 암호화되지 않은 패킷은 디코더(55) 측으로 공급된다. 저장하기 위한 프로그램을 이루는, 유닛(50)으로부터의 해독된 패킷과 유닛(47)으로부터의 암호화되지 않은 패킷은 멀티플렉서(110) 측으로 공급된다.Packets supplied to units 50 by units 45 and 47 are defined in U.S. Federal Information Standards publications 46, 74, and 81 provided by the U.S. Department of Commerce's U.S. Technical Information Service. Encrypted according to the Data Encryption Standard. Unit 50 applies known techniques to decrypt the encrypted packet by using the corresponding encryption key supplied by units 45 and 47. Decrypted packets from unit 50 and unencrypted packets from unit 45, which make up the program for display, are fed to decoder 55 side. Decrypted packets from unit 50 and unencrypted packets from unit 47, which constitute a program for storage, are fed to multiplexer 110 side.
유닛(60)은 제어기(115)에 의하여 액세스될 수 있는 네 개의 패킷 버퍼를 포함한다. 이들 버퍼중의 한 개는 제어기(115)가 사용하게끔 만들어진 데이터를 보관하도록 할당되고, 다른 세 개의 버퍼는 응용 장치(75, 80, 85)에 의하여 사용되도록 만들어진 패킷들을 보관하도록 할당된다. 제어기(115)와 응용 인터페이스(70) 둘 다에 의하여 유닛(60)내에 있는 네 개의 버퍼들에 저장되어 있는 패킷들에 대한 액세스는 버퍼 제어 유닛(65)에 의하여 제어된다. 유닛(45)은 디코딩을 하기 위하여 자신이 식별한 각 패킷에 대한 목적지 플래그(destination flag)를 유닛(65) 측에 공급한다. 상기 플래그들은 식별된 패킷 각각의 유닛(60) 목적지 위치를 나타내고, 또한 제어 유닛(65)에 의하여 내부 메모리 테이블에 저장된다. 제어 유닛(65)는 선입 선출(FIFO) 원리에 기초하여 버퍼(60)상에 저장된 패킷과 관련된, 일련의 판독 포인터 및 기록 포인터를 결정한다. 목적지 플래그와 관련하여 기록 포인터는 유닛(45, 50)으로부터의 식별된 패킷들이 유닛(60)에 있는 적합한 목적지 버퍼내의 그 다음 빈 위치에 연속적으로 저장되게 한다. 판독 포인터는 제어기(115)와 응용 인터페이스(70)에 의하여 적합한 유닛(60) 목적지 버퍼로부터 패킷을 연속적으로 판독하는 것을 허용한다.Unit 60 includes four packet buffers that can be accessed by controller 115. One of these buffers is allocated to hold the data made for use by the controller 115, and the other three buffers are allocated to hold the packets made for use by the application devices 75, 80, 85. Access to packets stored in four buffers in unit 60 by both controller 115 and application interface 70 is controlled by buffer control unit 65. Unit 45 supplies a destination flag for each packet it identifies to unit 65 for decoding. The flags indicate the unit 60 destination location of each identified packet and are also stored in the internal memory table by the control unit 65. The control unit 65 determines a series of read and write pointers associated with the packets stored on the buffer 60 based on the first in, first out (FIFO) principle. Regarding the destination flag, the write pointer causes the identified packets from units 45 and 50 to be subsequently stored in the next free location in the appropriate destination buffer in unit 60. The read pointer allows the controller 115 and the application interface 70 to continuously read packets from the appropriate unit 60 destination buffer.
유닛(45, 50)에 의하여 디코더(55) 측으로 공급된 암호화되지 않은 패킷과 해독된 패킷은 MPEG 시스템 표준 규정의 조항 2.4.3.2에서 규정하는 트랜스포트 헤더를 포함한다. 디코더(55)는 암호화되지 않은 패킷과 해독된 패킷이 어뎁테이션 필드(adaptation field)(MPEG 시스템 표준 규정에 따름)를 포함하는 지를 트랜스포트 헤더로부터 결정한다. 어뎁테이션 필드는, 내용 패킷을 동기화하고 디코딩하는 것을 허용해 주는, 예를 들자면 프로그램 클록 기준(PCR: Program Clock References)을 포함한 타이밍 정보를 포함한다. 타이밍 정보 패킷 즉 어뎁테이션 필드를 포함하는 패킷을 검출하면, 디코더(55)는 패킷이 수신되었다는 것을 시스템 인터럽트를 셋팅하는 인터럽트 메커니즘을 이용하여 제어기(115)에게 신호한다. 부가적으로 디코더(55)는 유닛(65)에 있는 타이밍 패킷 목적지 플래그를 변경하고, 패킷을 유닛(60) 측으로 공급한다. 유닛(65) 목적지 플래그를 변경시킴으로써, 유닛(65)은 응용 버퍼 위치 대신에, 제어기(115)에 의하여 사용되는 데이터를 보관하도록 할당된 유닛(60) 버퍼 위치 측으로, 디코더(55)에 의하여 제공된 타이밍 정보 패킷을 보낸다.The unencrypted and decrypted packets supplied by the unit 45, 50 to the decoder 55 side include a transport header as specified in clause 2.4.3.2 of the MPEG System Standard Specification. The decoder 55 determines from the transport header whether the unencrypted packet and the decrypted packet include an adaptation field (according to the MPEG system standard specification). The adaptation field contains timing information including, for example, Program Clock References (PCRs) that allow for synchronizing and decoding content packets. Upon detecting the timing information packet, i.e., the packet including the adaptation field, the decoder 55 signals the controller 115 using an interrupt mechanism that sets a system interrupt that the packet has been received. In addition, the decoder 55 changes the timing packet destination flag in the unit 65 and supplies the packet to the unit 60 side. By changing the unit 65 destination flag, the unit 65 is provided by the decoder 55 to the unit 60 buffer location side allocated to hold the data used by the controller 115 instead of the application buffer location. Send a timing information packet.
디코더(55)에 의하여 셋팅된 시스템 인터럽트를 수신하면, 제어기(115)는 타이밍 정보와 PCR 값을 판독하게 되어 그 정보와 PCR값을 내부 메모리에 저장한다. 연속적인 타이밍 정보 패킷들의 PCR 값들은 시스템(25)의 마스터 클록(27 MHz)을 조절하기 위하여 제어기(115)에 의하여 사용된다. 연속적인 타이밍 패킷들의 수신 간의 시간 간격에 있어서, PCR을 기초로 한 시간 간격 측정값과 마스터 클록을 기초로 한 시간 간격 측정값 간의 차분치는 제어기(115)에 의하여 생성되며, 시스템(25) 마스터 클록을 조절하는 데 사용된다. 제어기(115)는 마스터 클록을 생성하는데 사용되는 전압 제어 발진기의 입력 제어 전압을 조절하기 위하여, 상기의 유도된 시간 차분 측정치를 공급함으로써 이러한 것을 달성한다. 제어기(115)는 시간 정보를 내부 메모리에 저장한 이후에 시스템 인터럽트를 리셋트한다.Upon receiving the system interrupt set by the decoder 55, the controller 115 reads the timing information and the PCR value and stores the information and the PCR value in the internal memory. PCR values of successive timing information packets are used by the controller 115 to adjust the master clock (27 MHz) of the system 25. In the time interval between receipt of successive timing packets, the difference between the time interval measurement based on the PCR and the time interval measurement based on the master clock is generated by the controller 115 and the system 25 master clock It is used to regulate. The controller 115 accomplishes this by supplying the derived time difference measurement to adjust the input control voltage of the voltage controlled oscillator used to generate the master clock. The controller 115 resets the system interrupt after storing the time information in the internal memory.
디코더(55)에 의하여 유닛(45, 50)으로부터 수신된 패킷들은 오디오 정보와 비디오 정보와 캡션 및 다른 정보와 같은 프로그램 내용을 포함하며, 유닛(65)에 의하여 디코더(55)로부터 패킷 버퍼(60)에 있는 지정된 응용 장치 버퍼로 전달된다. 응용 제어 유닛(70)는 계속해서 버퍼(60)에서의 지정된 버퍼들로부터 오디오, 비디오, 캡션 및 다른 데이터를 탐색하여, 그 데이터를 해당 응용 장치(75, 80 및 85)측으로 공급한다. 응용 장치는 오디오 및 비디오 디코더(80, 85)와 고속 데이터 포트(75)를 포함한다. 데이터 포트(75)는 컴퓨터 프로그램과 같은 고속 데이터를 예를 들어 컴퓨터 측으로 공급하는데 사용될 수 있다. 다른 방식으로, 포트(75)는 예를 들어 HDTV 디코더 측으로 데이터를 출력하는데 사용될 수 있다.The packets received from the units 45 and 50 by the decoder 55 contain program content such as audio information and video information and captions and other information, and the packet buffer 60 from the decoder 55 by the unit 65. Is passed to the specified application device buffer). The application control unit 70 then retrieves audio, video, captions and other data from the designated buffers in the buffer 60 and supplies the data to the corresponding application devices 75, 80 and 85. The application device includes audio and video decoders 80 and 85 and a high speed data port 75. Data port 75 may be used to supply high speed data, such as a computer program, for example to the computer side. Alternatively, the port 75 can be used to output data to the HDTV decoder side, for example.
유닛(60)에서의 제어기(115) 버퍼를 향하는, PSI 정보를 포함하는 패킷들은 유닛(45)에 의하여 식별된다. PSI 패킷들은 프로그램 내용을 포함하는 패킷경우에 대하여 설명한 바와 같은 방식으로 유닛(65)에 의하여 유닛(45, 50 및 55)을 이용하여 상기 버퍼 측으로 전달된다. 제어기(115)는 유닛(60)으로부터 PSI를 판독하고 그것을 내부 메모리에 저장한다.Packets containing PSI information, directed to the controller 115 buffer in unit 60, are identified by unit 45. PSI packets are delivered by the unit 65 to the buffer side using units 45, 50 and 55 in the same manner as described for the packet case containing program content. Controller 115 reads the PSI from unit 60 and stores it in internal memory.
저장된 PSI로부터 압축된 PSI(CPSI)를 생성하고 또한 선택할 수 있는 저장 매체 상에 저장하는데 적합한 패킷화된 데이터스트림에 상기 CPSI를 병합시키기 위하여 제어기(115)는 도 2에서 제시하고 있는 방법을 채택한다. 도 2에서의 패킷 식별 및 전달에 관한 처리는 유닛(45, 47), PID와 목적지 및 암호 키 룩 업 테이블과 연관하여 제어기(115)에 의하여 결정되며, 제어 유닛(65)은 위에서 설명한 방식으로 동작한다.The controller 115 employs the method shown in FIG. 2 to generate a compressed PSI (CPSI) from the stored PSI and to merge the CPSI into a packetized datastream suitable for storage on a selectable storage medium. . Processing relating to packet identification and delivery in FIG. 2 is determined by the controller 115 in association with the units 45, 47, PID and destination and cryptographic key lookup tables, and the control unit 65 is in the manner described above. It works.
CPSI는 저장되려는 특정 프로그램에 관련된 정보를 포함하는 반면에, PSI는 시스템(25)에 입력되는 데이터스트림 내의 모든 프로그램에 관련되는 정보를 포함한다. 결과적으로, CPSI는 더 적은 저장 용량을 차지하게 되고, 그래서 PSI보다 더 적은 오버헤드를 부과한다. 부가적으로, 오버헤드가 고정되는 제한이 있다면, CPSI가 PSI보다 더욱 빈번하게 데이터스트림에서 반복될 수 있고 그래서 프로그램 내용의 복구 대기시간을 감소할 수 있도록 유도될 수 있고 또한 그렇게 하기 위하여 적용될 수 있다.The CPSI contains information related to the particular program to be stored, while the PSI contains information related to all the programs in the data stream input to the system 25. As a result, CPSI takes up less storage capacity, and therefore imposes less overhead than PSI. In addition, if there is a constraint that the overhead is fixed, the CPSI can be repeated in the datastream more frequently than the PSI so that it can be induced to reduce the recovery latency of program content and can be applied to do so as well. .
MPEG 시스템 표준 규정 조항 2.4.4에서 규정하고 있는 PSI는 정보의 네 개의 암호화되지 않은 요소(element) 또는 테이블들을 포함한다. 정보 테이블들은 프로그램 관련 테이블(PAT)과, 프로그램 맵 테이블(PMT)과, 네트워크 정보 테이블(NIT) 및 조건부 액세스 테이블(CAT)이다. 각각의 테이블은 특정 PID에 의하여 식별되는 데이터 패킷으로부터 형성된다. PMT는 프로그램을 구성하는 각각의 패킷화된 데이터스트림을 식별하는 PID 라벨을 한정한다. 이러한 각각의 스트림들은 MPEG 표준 규정에서 기본 스트림(elementary stream)이라고 명명된다. 기본 스트림은 다양한 언어에 대한 비디오나 오디오와 같은 데이터스트림과 캡션(caption) 데이터스트림을 포함한다. PAT는 PMT를 이루는 패킷들을 식별하고 조합하는 것을 허용하는 PID로 프로그램 번호를 연관시킨다. NIT는 옵션이며, 예를 들어 위성 전송 채널 주파수와 트랜스폰더 채널과 같은 물리 네트워크(physical network) 파라미터를 한정하도록 구성되고 또한 사용된다. CAT는 사용자 자격에 따른 프로그램으로의 액세스를 제어하는 암호 코드와 같은 조건부 액세스 정보를 포함한다.The PSI, as defined in MPEG system standard provisions clause 2.4.4, contains four unencrypted elements or tables of information. The information tables are a program related table (PAT), a program map table (PMT), a network information table (NIT) and a conditional access table (CAT). Each table is formed from data packets identified by a particular PID. The PMT defines a PID label that identifies each packetized data stream that makes up the program. Each of these streams is called an elementary stream in the MPEG standard specification. Elementary streams include data streams such as video or audio and caption data streams for various languages. The PAT associates a program number with a PID that allows identifying and combining packets that make up a PMT. NIT is optional and configured and used to define physical network parameters such as, for example, satellite transmission channel frequency and transponder channel. The CAT contains conditional access information, such as a cryptographic code that controls access to the program according to the user's credentials.
도 2의 단계(205)에서, 제어기(115)(도 1)는 단계(200)의 시작 처리 이후에 시스템 파워-업이 되면 초기화 절차를 실행한다. 단계(205)에서, 제어기(115)는 유닛(45)(도 1) PID 검출 필터에 PAT 테이블과 CAT 테이블에 대한 MPEG 규정 PID 값들(각각 PID 16진수인 0000, PID 16진수인 0001)로 로딩한다. 추가적으로, 제어기(115)는 유닛(45) 목적지 테이블을 갱신함으로써 유닛(60)에서의 제어기 버퍼 측으로 PAT 패킷과 CAT 패킷을 미리 할당한다. 유닛(45)에 의하여 검출된 PAT 패킷과 CAT 패킷은 디코더(55)를 경유하여 유닛(65)의 제어 하에 유닛(60)에 있는 제어기 버퍼 측으로 나아간다. 단계(205)에서, 제어 유닛(65)는 PSI 패킷들이 유닛(60)에 있다는 것을 PSI 인터럽트를 이용하여 제어기(115) 측으로 신호한다. 제어기(115)는 PSI 인터럽트를 수신하고 나서 자신의 지정된 유닛(60) 버퍼에 저장된 패킷을 반복적으로 액세스하여, 내부 메모리에 완전한 CAT 데이터와 PAT 데이터를 저장한다. 제어기(115)는 PAT로부터 PMT 패킷과 NIT 패킷을 식별하는 PID를 결정한 이후에, 내부 메모리에 완전한 PMT 데이터와 NIT 데이터를 저장하기 위하여 상기 처리를 반복한다. 제어기(115)는 계속적으로 버퍼(60)를 액세스하고, 수신기의 전원이 온되어 있는 동안에 PSI 인터럽트를 수신하게 되면 내부 메모리에 있는 PSI 패킷을 포착한다. 그 결과로서, 제어기(115)는 시스템(25) 측으로 입력된 트랜스포트 데이터스트림에 있는 완전한 PSI를 이루는 PAT 데이터와 PMT 데이터와 NIT 데이터 및 CAT 데이터를 자신의 내부 메모리에서 포착한다.In step 205 of FIG. 2, the controller 115 (FIG. 1) executes an initialization procedure if the system is powered up after the start process of step 200. In step 205, the controller 115 loads the MPEG specification PID values (0000 in PID hexadecimal number and 000 in PID hexadecimal number) for the PAT table and CAT table into unit 45 (FIG. 1) PID detection filter. do. In addition, the controller 115 pre-allocates the PAT packet and the CAT packet to the controller buffer side in the unit 60 by updating the unit 45 destination table. The PAT packet and CAT packet detected by the unit 45 go through the decoder 55 to the controller buffer side in the unit 60 under the control of the unit 65. At step 205, control unit 65 signals to controller 115 using a PSI interrupt that the PSI packets are in unit 60. The controller 115 repeatedly accesses the packet stored in its designated unit 60 buffer after receiving the PSI interrupt, and stores the complete CAT data and PAT data in the internal memory. After determining the PID identifying the PMT packet and the NIT packet from the PAT, the controller 115 repeats the above process to store complete PMT data and NIT data in the internal memory. The controller 115 continuously accesses the buffer 60 and catches PSI packets in internal memory if it receives a PSI interrupt while the receiver is powered on. As a result, the controller 115 captures, in its internal memory, PAT data, PMT data, NIT data, and CAT data that make up the complete PSI in the transport data stream input to the system 25 side.
도 2에서의 단계(210)에서, 사용자가 저장하려고 하는 프로그램뿐만 아니라, 암호 형태로 저장되는 프로그램 및 저장하기 위하여 사용되는 매체 및 장치를 식별하는 사용자 생성 데이터(SP, SM, SE)는 제어기(115)(도 1)측으로 입력된다. 사용자 선택 데이터는 원격 제어 유닛(125)을 이용하여 온-스크린 메뉴 선택에 이어서 인터페이스(120)를 통하여 제어기(115) 측으로 입력된다. 단계(215)에서, 입력 선택 데이터(SP)에 대한 응답으로, 제어기(115)는 저장된 PSI로부터 저장하기 위하여 선택된 프로그램을 위한 PID를 유도한다. 유닛(47) 검출 필터들에는 제어기(115)에 의하여 저장되는 프로그램의 PID가 로딩된다. 이것은 유닛(47)이 저장하기 위하여 선택된 프로그램을 이루는 패킷들을 식별하게 해준다.In step 210 in FIG. 2, user-generated data SP, SM, SE, which identify not only the program that the user intends to store, but also the program stored in the form of a password and the medium and the device used for storing, are stored in the controller ( 115) (FIG. 1). The user selection data is input to the controller 115 via the interface 120 following the on-screen menu selection using the remote control unit 125. In step 215, in response to the input selection data SP, the controller 115 derives the PID for the program selected for storage from the stored PSI. The unit 47 detection filters are loaded with the PID of the program stored by the controller 115. This allows unit 47 to identify the packets that make up the program selected for storage.
도 2의 단계(215)에서, 유닛(47)(도 1)은 멀티플렉서(110) 측으로 암호화되지 않은 패킷들을 공급하고 암호화된 패킷들을(패킷 헤더 데이터에 있는 암호 표시기에 의하여 식별 가능함) 그와 관련된 암호 키들과 함께 해독 유닛(50) 측으로 공급한다. 위에서 설명한 방식으로 선택된 프로그램(SP)을 위한 CAT로부터 획득된 암호 코드로부터 스마트 카드(130)(도 1)에 의하여 암호 키들이 생성되고 나서, 그 암호 키들은 도 2의 단계(215)에서 제어기(115)에 의하여 유닛(47) 측으로 공급된다. 그러나, 만약에 선택 데이터(SE)가 암호화 저장을 요구한다면, 유닛(47)은 저장되려는 암호화 패킷들을 멀티플렉서(110) 측으로 통과시킨다. 결과적으로, 도 2의 단계(215)에서, 저장되려는 프로그램(SP)을 이루는 패킷들은 선택 데이터(SE)에 대한 응답으로 암호화된 형태로나 암호화되지 않은 형태로서 멀티플렉서(110) 측으로 공급된다. 단계(225)에서, 제어기(115)는 시스템(25) 측으로의 트랜스포트 데이터스트림 입력으로부터 포착된 전체의 프로그램 특정 정보(PSI)로부터, 저장하기 위하여 선택된 프로그램(SP)을 위한 압축 프로그램 특정 정보(CPSI)를 형성한다. 제어기(115)는 도 3에서 제시하고 있는 방법을 이용하여 도 2의 단계(225)에서 저장되는 각 프로그램을 위한 CPSI를 형성한다.In step 215 of FIG. 2, unit 47 (FIG. 1) supplies unencrypted packets to multiplexer 110 side and associated encrypted packets (identifiable by a cryptographic indicator in packet header data) associated therewith. It is supplied to the decryption unit 50 side together with the encryption keys. After encryption keys are generated by the smart card 130 (FIG. 1) from an encryption code obtained from the CAT for the selected program SP in the manner described above, the encryption keys are generated in step 215 of FIG. 115 is supplied to the unit 47 side. However, if the selection data SE requires encrypted storage, unit 47 passes the encrypted packets to be stored to the multiplexer 110 side. As a result, in step 215 of FIG. 2, the packets constituting the program SP to be stored are supplied to the multiplexer 110 in encrypted or unencrypted form in response to the selection data SE. In step 225, the controller 115 stores the compressed program specific information for the program SP selected for storage, from the entire program specific information PSI captured from the transport datastream input to the system 25 side. CPSI). The controller 115 forms the CPSI for each program stored in step 225 of FIG. 2 using the method shown in FIG.
단계(300)에서의 시작 단계에 이어서, 도 3의 단계(305)에서, 제어기(115)는 저장되려는 프로그램을 이루는 기본 스트림의 PID 값뿐만 아니라 PMT와 NIT를 식별하는 PID 값의 번호를 다시 매긴다. 우연히 일치하는 경우를 제외하고, 다시 매겨진 PID 값들은 시스템(25)으로 입력된 트랜스포트 데이터스트림의 PSI에서 복구된 해당 PID 값과 다르다. 다시 번호가 매겨지는 PID값들은 PMT를 식별하기 위하여 고정된 (베이스 : base) PID를 할당하고, 또한 비디오와 오디오와 캡션과 PCR 및 NIT를 위한 PID 값을 결정하기 위하여 상기 베이스 PID에 사전에 결정된 오프셋 값을 더함으로써 결정된다. 저장되려는 두 개의 프로그램(프로그램 1, 프로그램 2)에 대한 예시적인 PID 할당 계획은 표 I에 도시되어 있다.Following the start step in step 300, in step 305 of FIG. 3, the controller 115 renumbers the PID values that identify the PMT and NIT as well as the PID values of the elementary stream making up the program to be stored. . Except for a coincidence, the renumbered PID values differ from the corresponding PID values recovered from the PSI of the transport datastream input to the system 25. The renumbered PID values assign a fixed (base) PID to identify the PMT, and also predetermine the base PID to determine PID values for video, audio, captions, PCR, and NIT. Is determined by adding an offset value. An example PID allocation plan for the two programs (Program 1, Program 2) to be stored is shown in Table I.
표 I에서 도시되어 있는 바와 같이, 두 개의 프로그램에 대한 해당 기본 스트림들에는 동일한 PID가 주어지는데, 예를 들자면 프로그램 1 및 2의 비디오 스트림들은 둘 다 PID값(PID=0401)에 의하여 식별된다. 해당 기본 스트림에 동일한 PID 값을 할당하는 것은 디코더나 플레이백 장치에 의하여 실행되는 데이터 검색 및 복구 처리를 간단하게 한다. 디코더는 PID 디-맵핑(de-mapping) 데이터를 우선 포착하고 조합할 필요 없이 스트림들을 직접 식별할 수 있다. 그러나 이러한 방식으로 PID를 다시 번호 매기는 것은, 잠재적으로 PID의 다의성(ambiguity)을 초래할 수 있어서, 개별의 프로그램에 속하는 다시 번호가 매겨진 기본 스트림들이 서로 섞이지 않는 것이 요구된다. 그렇지 않으면, 동일한 PID를 사용하지만 서로 다른 프로그램에 속하는 기본 스트림들이 함께 섞이게 되면 잘못된 프로그램 조합의 결과를 낳는다. 결과적으로, 다시 PID에 대하여 번호를 매기는 단계(305)는 별개의 프로그램에 속하는 기본 스트림 그룹들이 따로 따로 식별되는 응용에서 사용된다. 이러한 응용들은 데이터스트림 생성과 테이프 저장을 포함하는데, 여기서 별개의 프로그램에 속하는 기본 스트림들은 함께 섞이지 않는다. 또한 이러한 응용은, 디스크 저장 정보가 별개의 프로그램들에 속하는 기본 스트림 그룹을 분리하기 위하여 사용되는 디스크 저장 장치도 포함한다.As shown in Table I, corresponding elementary streams for two programs are given the same PID, e.g. the video streams of programs 1 and 2 are both identified by a PID value (PID = 0401). Assigning the same PID value to the elementary stream simplifies the data retrieval and recovery process performed by the decoder or playback device. The decoder can directly identify the streams without having to first capture and combine PID de-mapping data. However, renumbering the PIDs in this way can potentially lead to the ambiguity of the PIDs, requiring that the renumbered elementary streams belonging to the individual programs not be mixed with each other. Otherwise, elementary streams that use the same PID but belong to different programs will be mixed together, resulting in an incorrect program combination. As a result, numbering 305 again is used in an application where elementary stream groups belonging to separate programs are separately identified. These applications include data stream creation and tape storage, where elementary streams belonging to separate programs are not mixed together. Such an application also includes a disk storage device in which disk storage information is used to separate an elementary stream group belonging to separate programs.
다른 방식으로, PID가 잠재적으로 다의성을 갖게 될 수 있는 것을 회피하는, 다른 PID 할당 계획(scheme)이 사용될 수 있다. 예를 들자면, 베이스 PID 값은 미국 ATSC(Advanced Television Systems Committee)에 의하여 작성된 1995년 4월 12일의 "HDTV 전송을 위한 디지털 텔레비전 표준 규정"의 조항 8.4.7.1에서 HDTV 신호 디코딩을 위하여 제안된 것처럼, 특정 프로그램들을 따로 따로 식별하기 위하여 할당될 수 있다. 다른 방식으로, 프로그램들을 이루는 기본 스트림들의 PID값들은 다시 번호를 매기지 않고 전송되었을 때와 같이 저장될 수 있다. 이러한 계획은 실현시키기가 간단하지만, 데이터 탐색 처리를 단순화시키지는 않는다. PAT 및 CAT를 식별하는 PID 값들은 MPEG 표준 규정에서 규정하는 바와 같이 각각 16진수인 0000과 0001이다.Alternatively, other PID allocation schemes can be used, which avoids the possibility that the PID can be potentially multiplicity. For example, the base PID value is the same as that proposed for decoding HDTV signals in clause 8.4.7.1 of the "Digital Television Standards Standards for HDTV Transmissions" of April 12, 1995, prepared by the US Advanced Television Systems Committee (ATSC). For example, it may be assigned to identify specific programs separately. Alternatively, the PID values of the elementary streams making up the programs can be stored as they were transmitted without being renumbered. This scheme is simple to realize, but does not simplify the data search process. PID values identifying PAT and CAT are 0000 and 0001, respectively, in hexadecimal, as specified by the MPEG standard specification.
[표 I]TABLE I
도 3의 단계(310)에서, 제어기(115)는 0000(16진수)인 PID 값으로 프로그램 연관 테이블(PAT)을 생성한다. PAT는 현재 저장되는 각각의 프로그램만을 위하여 유리하게 생성되게 되고, 그리하여 새로운 PAT는 저장된 각 프로그램을 위하여 생성된 것이다. 따라서, PAT는 단일 프로그램 맵 테이블(PMT)의 식별을 위하여 필요한 입력값(entries)만을 포함한다. 표 I에서 제시하는 예시적인 프로그램에서, 프로그램 1 및 2 둘 다의 CPSI는 단일의 PMT를 식별하는 PID 입력값(0400)을 갖는 PAT를 포함한다. 다른 방식으로, PAT는, 사용자가 저장하려고 선택한 모든 프로그램에 대한 것이나, 또는 사용자가 저장하려고 선택한 모든 프로그램과 저장 매체 상에 이전에 저장된 프로그램을 더한 것에 대한 PMT 식별을 위한 입력값을 포함하도록 형성될 수 있다. 후자 형태의 PAT를 생성하기 위하여, 제어기(115)는 PAT를 생성하기 전에 인터페이스(95)와 장치(90)를 이용하여 저장 매체(105)로부터 미리 기록된 PMT의 PID를 복구한다. 만약에 NIT가 생성되었다면, 이하에서 설명하는 바와 같이, NIT 패킷의 식별을 허용하는 PID가 또한 PAT에 포함된다.In step 310 of FIG. 3, the controller 115 generates a program association table PAT with a PID value of 0000 (hexadecimal). The PAT is advantageously created for each program currently stored, so that a new PAT is created for each program stored. Thus, the PAT contains only the entries necessary for the identification of a single program map table (PMT). In the example program presented in Table I, the CPSI of both programs 1 and 2 includes a PAT with a PID input value 0400 that identifies a single PMT. Alternatively, the PAT may be configured to include input for PMT identification for all programs the user has selected to save or for all programs selected for storage by the user plus a previously stored program on the storage medium. Can be. To generate the latter type of PAT, the controller 115 recovers the PID of the PMT previously recorded from the storage medium 105 using the interface 95 and the device 90 before generating the PAT. If the NIT has been created, a PID that allows identification of the NIT packet is also included in the PAT, as described below.
단계(315)에서, 제어기(115)는 컴포넌트 기본 스트림(component elementary stream)을 식별하기 위하여 사전에 결정된 다시 번호가 매겨진 PID값을 사용함으로써 저장되려는 각 프로그램의 PMT를 생성한다. 저장되려는 각각의 프로그램을 이루는 기본 스트림들은 사전에 저장된 PSI 데이터로부터 제어기(115)에 의하여 결정된다. 단계(320)에서, 제어기(115)는 각각의 프로그램이 암호화 형태로 저장될 것인지에 대하여 인터페이스 유닛(120)(도 1)을 통하여 제공된 사용자 입력 데이터(SE)로부터 결정한다. 만약에 프로그램이 암호화되지 않은 형태로 저장되려고 한다면, 제어기(115)는 도 3의 단계(330)로부터 실행을 계속하고, 조건부 액세스 테이블(CAT)을 생성하지 않는다. 만약에 SE 데이터가 프로그램을 암호화 방식으로 저장하는 것을 요구한다면, 제어기(115)는 단계(325)에서 암호 코드를 병합하는 프로그램을 위한 CAT를 생성한다. 저장된 암호 코드는 그 다음의 프로그램 탐색 작업에서 복구되고, 예를 들어 디스플레이하기 위한 암호화된 프로그램의 해독을 허용하는 암호 키를 생성하는데 사용된다. 만약에 위에서 설명한 방식으로 삽입할 수 있는 스마트 카드 상에 미리 저장되어 있는 자격 데이터(entitlement data)에 의하여 허용된다면, 암호 키는 복구된 코드로부터 단지 생성될 수 있다.In step 315, the controller 115 generates a PMT of each program to be stored by using a predetermined renumbered PID value to identify the component elementary stream. The elementary streams that make up each program to be stored are determined by the controller 115 from previously stored PSI data. In step 320, the controller 115 determines from the user input data SE provided via the interface unit 120 (FIG. 1) as to whether each program will be stored in encrypted form. If the program is to be stored in unencrypted form, the controller 115 continues execution from step 330 of FIG. 3 and does not generate a conditional access table CAT. If the SE data requires storing the program in an encrypted manner, the controller 115 generates a CAT for the program that merges the encryption code in step 325. The stored encryption code is then recovered in the next program search operation and used to generate an encryption key that allows for decryption of the encrypted program for display, for example. If allowed by entitlement data previously stored on a smart card that can be inserted in the manner described above, the encryption key can only be generated from the recovered code.
설명된 암호 시스템은 단지 예이다. 다른 방식의 암호 메커니즘은 해독을 하기 위하여 다른 암호 코드나 키들의 저장을 포함하도록 채택될 수 있다. 코드를 저장하지 않는 다른 자격 메커니즘은 절대적으로 CAT를 필요로 하지 않는다. 부가적으로, 암호 코드는 CAT가 아니라 CPSI의 정보 테이블로 병합될 수 있어서, CAT의 필요성을 불필요하게 한다. 예를 들자면, 암호 코드는 PMT의 CA_기술자 전용 데이터 섹션(CA_descriptor private data section)으로 병합될 수 있다(MPEG 시스템 표준 규정 섹션 2.6.16에 따라). 이러한 접근 방식은 기본 스트림들을 코드로 링크시키기 위한 별개의 디렉토리에 대한 필요성을 회피하면서, 프로그램을 이루는 기본 스트림에 코드들을 직접 연관시킬 수 있는 장점이 있다.The cryptographic system described is merely an example. Other cryptographic mechanisms may be employed to include storage of other cryptographic codes or keys for decryption. Other qualification mechanisms that do not store code absolutely do not require CAT. In addition, the encryption code can be merged into the information table of the CPSI rather than the CAT, thus eliminating the need for CAT. For example, the cipher code may be merged into the CA_descriptor private data section of the PMT (according to MPEG System Standards Specification Section 2.6.16). This approach has the advantage of directly associating the codes with the elementary stream making up the program, while avoiding the need for a separate directory to link the elementary streams to the code.
단계(325 또는 320) 이후에, 제어기(115)는 단계(330)에서 저장되려는 각 프로그램을 위한 네트워크 정보 테이블(NIT)을 생성한다. 제어기(115)에 의하여 생성된 NIT는 편집된 버전이 사용자에 의하여 선택될 수 있는 지와 같은 부가적인 옵션 정보에 덧붙여 기록되는 시간과 날짜 및 폭력/섹스 내용 등급뿐만 아니라 예를 들어 프로그램의 제목과 지속기간과 설명을 포함하는, 전용 데이터를 포함한다. 저장된 전용 데이터는 제어기(115)에 의하여 이전에 저장된 PSI 정보와, 또는 부가적으로 원격 제어 유닛(125)와 인터페이스(120)를 경유하여 사용자에 의하여 입력된 데이터와 비교(collate)된다. NIT는 선택적이며, 그래서 사용자는 메뉴 선택을 이용하여 저장될 임의의 즉 모든 프로그램들에 대한 NIT를 생략하는 것을 선택할 수 있게 되는데 이때 도3의 단계(330)가 실행되지 않고 통과된다.After step 325 or 320, the controller 115 generates a network information table (NIT) for each program to be stored in step 330. The NIT generated by the controller 115 may be recorded in addition to the time and date recorded in addition to additional optional information such as whether the edited version can be selected by the user and the violence / sex content rating as well as the title of the program and the like. Includes dedicated data, including duration and description. The stored dedicated data is compared with PSI information previously stored by the controller 115, or with data input by the user via the interface 120 with the remote control unit 125 additionally. NIT is optional, so the user can choose to omit NIT for any, ie, all programs to be stored using menu selection, where step 330 of FIG. 3 is passed without execution.
부가적으로, 전용 데이터는 NIT가 아니라 CPSI의 정보 테이블에 병합될 수 있다. 예를 들자면, 전용 데이터는 PMT의 사용자 전용 기술자 파트로 병합될 수 있다(User Private descriptor parts)(MPEG 시스템 표준 규정 조항 2.6에 따름). 이러한 접근 방식은 전용 데이터에 기본 스트림들을 링크시키기 위한 별개의 디렉토리의 필요를 회피하면서, 프로그램을 이루는 기본 스트림에 직접 전용 데이터를 연관시킬 수 있는 장점을 가지고 있다.In addition, the dedicated data may be merged into the information table of the CPSI rather than the NIT. For example, private data can be merged into the PMT's User Private Descriptor parts (according to MPEG System Standards provisions 2.6). This approach has the advantage of associating dedicated data directly with the elementary stream making up the program, while avoiding the need for a separate directory to link the elementary streams to the dedicated data.
단계(335)에서, 제어기(115)는 각각의 프로그램에 대하여 압축된 프로그램 특정 정보(CPSI)를 형성하기 위하여 각각의 프로그램을 위하여 생성된 PAT와 PMT를 조합한다. 부가적으로 제어기(115)는 각 프로그램을 위하여 생성된 옵션인 CAT와 NIT 데이터를 조합하여 그것을 CPSI에 병합시킨다. 따라서, CPSI는 PAT와 PMT를 포함하게 되며, CAT나 NIT중에 하나를 포함할 수 있거나 또는 그 둘을 모두 포함할 수도 있다. 생성된 바와 같이, CPSI는 시스템(25) 측으로의 데이터스트림 입력으로부터 저장하기 위하여 선택된 특정 프로그램에 관계되는 정보를 포함하며, 또한 저장하려고 선택하지 않은 프로그램들에 관계되는 프로그램 특정 정보를 배제하고 있다.In step 335, controller 115 combines the PAT and PMT generated for each program to form compressed program specific information (CPSI) for each program. Additionally, the controller 115 combines the optional CAT and NIT data generated for each program and merges it into CPSI. Accordingly, the CPSI may include a PAT and a PMT, and may include either CAT or NIT, or both. As generated, the CPSI includes information related to a particular program selected for storage from a datastream input to the system 25 side, and also excludes program specific information related to programs not selected for storage.
다른 방식으로, CPSI는 입력 트랜스포트 데이터스트림으로부터 저장하기 위하여 선택된 한 개 이상의 프로그램을 위하여 생성될 수 있다. 위와 같은 경우에서, CPSI는 한 개의 PAT와 한 개의 PMT를 포함할 수 있고, 또한 한개의 CAT와 한 개의 NIT를 포함할 수 있다. 상기의 경우에 있어서, 이러한 테이블들은 MPEG 표준 규정에서 정의한 바와 같이, 저장하기 위하여 선택된 다수개의 프로그램을 식별하고 복구하는 것을 지원해주는 데이터를 포함한다. 예를 들어, 프로그램이 시스템(25) 측으로의 별개인 트랜스포트 데이터스트림 입력 두 개로부터 저장하기 위하여 선택된 경우에 있어서, CPSI는 한 개의 PAT와 두 개의 PMT를 포함할 것이다. 각 프로그램을 위하여 한 개의 PMT가 저장되는 것이다. CPSI는 또한 한 개의 CAT와 두 개의 NIT를 포함한다. 저장될 각 프로그램을 위하여 한 개의 NIT가 저장되는 것이다.Alternatively, CPSI may be generated for one or more programs selected for storage from the input transport datastream. In the above case, the CPSI may include one PAT and one PMT, and may also include one CAT and one NIT. In this case, these tables contain data that assists in identifying and recovering a plurality of programs selected for storage, as defined in the MPEG standard specification. For example, if the program was selected to store from two separate transport datastream inputs to the system 25 side, the CPSI would include one PAT and two PMTs. One PMT is stored for each program. CPSI also includes one CAT and two NITs. One NIT is stored for each program to be stored.
저장 매체로부터 프로그램을 복구하는 데 있어서, 만약에 플레이백 장치가 다른 프로그램의 CPSI를 부정확하게 공급한다면 문제가 발생한다. PMT와 같은 CPSI 데이터가 부정확하게 사용되면 이것은 프로그램 내용을 복구할 때 데이터 패킷을 잘못 식별하고 조립하는 결과를 초래하여, 예를 들자면 디스플레이용 무효 데이터나 처리용 무효 데이터를 생성한다. 이러한 문제는 예를 들어 만약 플레이백 장치가 복구된 프로그램의 CPSI를 공급하지 않거나 또는 CPSI가 바뀐 것을 인식하지 못하고 다른 프로그램을 위하여 이전에 끌어낸 CPSI를 계속 공급할 때에 발생한다. 만약에 저장 매체가 한 개 이상의 프로그램을 포함하고 있다면 이러한 것이 일어날 가능성은 증가한다. 그러한 경우에, 예를 들자면, 플레이백 장치는 트릭 재생이나 탐색 동작을 하고 있는 동안에 프로그램의 경계를 넘어갈 수 있으며, 또한 이전 프로그램의 CPSI를 공급하는 것을 계속할 수 있다. 프로그램 경계를 지나 부정확한 CPSI 파라미터를 공급하는 문제를 제거하기 위하여, 제어기(115)는 단계(340)에서 도 4의 방법을 이용함으로써 CPSI를 포맷팅한다.In recovering a program from a storage medium, a problem occurs if the playback device incorrectly supplies CPSI of another program. Incorrect use of CPSI data, such as PMT, results in incorrect identification and assembly of data packets when restoring program content, for example generating invalid data for display or invalid data for processing. This problem occurs, for example, if the playback device does not supply the CPSI of the recovered program or if it does not recognize that the CPSI has changed and continues to supply the previously drawn CPSI for another program. If the storage medium contains more than one program, the likelihood of this happening is increased. In such a case, for example, the playback device may cross the program boundary while performing a trick play or seek operation, and may continue to supply the CPSI of the previous program. To eliminate the problem of supplying incorrect CPSI parameters across a program boundary, the controller 115 formats the CPSI by using the method of FIG. 4 at step 340.
도 4의 단계(405)에서, 즉 개시 단계(400) 다음에, 제어기(115)는 인터페이스(120)를 경유하여 제공된 입력 데이터(SM)로부터 사용자가 선택한 저장 장치와 매체의 형태를 결정한다. 만약에 선택된 매체가 선형(linear) 형태라면, 다시 말해서 예를 들어 디지털 VHS(DVHS) 기록을 위하여 사용되는 비디오 테이프와 같은 연속적으로 액세스되는 매체이면, 제어기(115)는 단계(410) 이후에 나오는 단계(425)를 수행하도록 된다. 단계(425)에서, 제어기(115)는 MPEG 신택스(MPEG 시스템 표준 규정 조항 2.4.4부터 2.4.4.11까지)에 따른, PAT 패킷 포맷과 PMT 패킷 포맷과 CAT 패킷 포맷 및 NIT 패킷 포맷들과 연관되는 버전 번호(version number)를 변경한다. 버전 번호는 저장되는 프로그램에서의 CPSI가 연속적으로 반복되는 중에서 버전 번호를 계속적으로 증가시킴으로써 변경된다. 버전 번호 카운터들은 모든 오버플로우 상태 내내 계속적으로 증가한다. 저장 매체(105)로부터 프로그램을 탐색할 때, 디코더나 플레이백 장치는 연속적인 버전 번호들에서의 변화를 검출하고, 검색된 프로그램에서 그러한 검출이 일어날 때마다 PAT와 PMT와 CAT 및 NIT 정보를 공급한다.In step 405 of FIG. 4, i.e., after the start step 400, the controller 115 determines the type of storage device and media selected by the user from the input data SM provided via the interface 120. If the selected medium is a linear form, that is to say a continuously accessed medium such as a video tape used for digital VHS (DVHS) recording, for example, the controller 115 may exit after step 410. Step 425 is performed. In step 425, the controller 115 is associated with the PAT packet format, PMT packet format, CAT packet format, and NIT packet formats, according to MPEG syntax (MPEG system standard provisions clauses 2.4.4 through 2.4.4.11). Change the version number. The version number is changed by continuously increasing the version number while the CPSI in the stored program is repeated continuously. Version number counters are incremented continuously throughout all overflow conditions. When searching for a program from the storage medium 105, the decoder or playback device detects a change in consecutive version numbers and supplies PAT, PMT, CAT and NIT information whenever such detection occurs in the retrieved program. .
디코더로 하여금 CPSI를 다시 취득하게 하도록 개시하기 위하여 버전 번호를 변경하는 다른 방법이 또한 채택될 수 있다. 예를 들자면 버전 번호는 프로그램 기록이 시작될 때에 처음 두 개의 연속적인 CPSI가 발견되는 중간에, 또는 프로그램 내의 선택된 CPSI가 발견되는 중간에나, 또는 저장 매체(105)상의 서로 다른 프로그램들 중간에서 증가될 수 있다. 부가적으로 서로 다른 프로그램 사이의 프로그램 경계에서 출현하는 버전 번호들은 특정 수만큼 다를 필요가 없다. 그러나 프로그램 내에서, 생성된 연속적인 버전 번호들은 MPEG 표준 규정에 순응하기 위하여 1만큼씩 달라야 한다. MPEG 비순응 장치에서, CPSI 테이블 버전 번호들은 한 프로그램 내에서 임의의 값만큼 다를 수 있다. 단계(425)에서 채택될 수 있는 다른 방법은 CPSI가 발견될 때마다 또는 선택된 CPSI가 발견될 때에, CPSI를 공급하라고 플레이백 장치에게 명령하는 데에 사용되도록 별개의 표시자를 지정하는 것이다. 할당된 표시자는 MPEG 신택스와 호환되며 또한 예를 들자면 PAT나 CAT의 어뎁테이션 필드(adaptation field)내와 같은 전용 데이터 섹션에 위치하게 된다(MPEG 시스템 표준 규정의 조항 2.4.3.4). 표시자는 임의적으로 한정될 수 있으며, 또한 패킷 헤더 어뎁테이션 필드에 있는 '불연속 표시자'와 같이 이미 존재하는 표시자일 수 있다(MPEG 시스템 표준 규정의 조항 2.4.3.5에서 규정함). 불연속 표시자는 CPSI에서 잠재적인 불연속이 있고 그래서 그 다음의 PAT와 PMT와 CAT 및 NIT 발생 정보가 공급되어야 한다는 것을 디코더나 플레이백 장치 측으로 표시하기 위하여 '1'로 셋팅된다. 불연속 표시자에 대한 이와 같은 사용은 MPEG 표준 규정에서 심사 숙고하지 않는다.Other methods of changing the version number may also be adopted to initiate the decoder to reacquire CPSI. For example, the version number can be increased in the middle of the first two consecutive CPSIs found at the beginning of the program recording, in the middle of the discovery of the selected CPSI in a program, or in the middle of different programs on the storage medium 105. have. In addition, the version numbers that appear at program boundaries between different programs do not need to differ by a certain number. However, within the program, the consecutive version numbers generated must differ by one to comply with the MPEG standard specification. In an MPEG non-compliant device, the CPSI table version numbers may differ by any value within a program. Another method that may be employed in step 425 is to specify a separate indicator to be used to instruct the playback device to supply CPSI whenever CPSI is found or when the selected CPSI is found. Assigned indicators are compatible with MPEG syntax and are also located in dedicated data sections, for example in the adaptation field of a PAT or CAT (Article 2.4.3.4 of the MPEG System Standards Specification). The indicator may be arbitrarily defined and may also be an existing indicator, such as a 'discontinuous indicator' in the packet header adaptation field (as defined in clause 2.4.3.5 of the MPEG System Standard Specification). The discontinuity indicator is set to '1' to indicate to the decoder or playback device that there is a potential discontinuity in the CPSI so that the next PAT, PMT, CAT and NIT occurrence information should be supplied. Such use of discrete markers is not considered in the MPEG standard specification.
MPEG 비호환 데이터스트림 정황에서, 예를 들어 MPEG 비호환 표시자를 지정하거나 프로그램 기록된 것의 시작이나 종료를 표시하는 신호를 사용하는 것과 같은 것이 포함되는 추가의 방법들이 또한 있다. 다른 기술은 플레이백 장치가 버전 번호에 관계없이 검색된 데이터스트림에서의 모든 CPSI 출현을 식별하고 적용할 수 있게끔 구성하는 것이다. 이러한 경우에, 단계(425)는 무시된다.There are also additional methods in the context of MPEG incompatible datastreams, such as, for example, specifying an MPEG incompatible indicator or using a signal to indicate the beginning or end of a program recording. Another technique is to configure the playback device to identify and apply all CPSI occurrences in the retrieved datastream, regardless of the version number. In this case, step 425 is ignored.
만약에 선택된 저장 매체(105)가 비선형 형태라면, 다시 말해서 예를 들어 CDROM이나 DVD를 포함하는 디스크 매체처럼 비순차 액세스를 수용하는 매체라면, 제어기(115)는 단계(415) 이후의 단계(430)를 실행하도록 된다. 비선형 형태 매체에서, CPSI 데이터는 매체 상에서의 한 개 이상의 특정 디렉토리 위치나 또는 선형 형태의 매체에서와 같이 프로그램 내용 내에 저장될 수 있다. 단계(430)에서, CPSI가 디렉토리 위치에 저장되는 경우에 있어서, 제어기(115)는 디렉토리 위치에 있는 PAT와 PMT와 CAT 및 NIT 패킷과 연관되는 버전 번호를 변경한다. 버전 번호는 저장 매체(105)(도 1)상에 있는 서로 다른 프로그램들간에 서로 다르게 되는 것을 보장하기 위하여 MPEG 신택스에 일관되게 증가한다. 단계(430)에서, CPSI가 프로그램 내용 내에 저장되는 경우에 있어서, 제어기(115)는 선형 형태의 매체를 위한 단계(425)에서 설명한 바와 같이 버전 번호를 변경한다. CPSI 요소 버전 번호가 다른 프로그램들 사이에서 서로 다르게 되는 것을 보장하기 위하여, 제어기(115)는 증가된 버전 번호를 생성하여 CPSI 데이터에 그 증가된 버전 번호를 삽입하기 전에, 저장 매체(105)로부터 사전에 기록된 프로그램이나 파일의 버전 번호를 인터페이스(95) 및 장치(90)를 이용하여 복구한다.If the selected storage medium 105 is non-linear, that is to say a medium that accommodates non-sequential access, such as, for example, a disk medium including a CDROM or DVD, the controller 115 may proceed to step 430 after step 415. ) Will be executed. In non-linear media, CPSI data may be stored in one or more specific directory locations on the media or in program content, such as in a linear media. In step 430, if the CPSI is stored in a directory location, the controller 115 changes the version number associated with the PAT and PMT and CAT and NIT packets at the directory location. The version number increases consistently in the MPEG syntax to ensure that the different programs on the storage medium 105 (FIG. 1) are different. In step 430, if CPSI is stored in the program content, the controller 115 changes the version number as described in step 425 for the media in linear form. In order to ensure that the CPSI element version numbers are different among different programs, the controller 115 may advance from the storage medium 105 before generating the increased version number and inserting the increased version number into the CPSI data. The version number of the program or file recorded in the program is recovered using the interface 95 and the device 90.
단계(430)에서 버전 번호를 변경하는 다른 방법들이 또한 사용될 수 있다. 그러나, CPSI 버전 번호들은 매체(105)상에 저장된 다른 프로그램들 사이에서 서로 다르게 되어야 한다. 다른 방식으로, 단계(430)에서 프로그램이 시작할 때에 또는 프로그램 경계를 통과할 때에 디코더에게 CPSI를 공급하라고 명령하기 위한, 별개의 표시자가 지정될 수 있다. 할당된 표시자는 MPEG 신택스에 호환되며, 또한 예를 들자면 PAT나 CAT의 어뎁테이션 필드와 같은 전용 데이터 섹션에 위치하게 된다(MPEG 시스템 표준 규정의 조항 2.4.3.4). 표시자는 임의로 규정될 수 있거나 또는 단계(425)와 연관하여 설명한 바와 같이 패킷 헤더 어뎁테이션 필드에서의 '불연속 표시자'와 같은 기존의 표시자일 수 있다. MPEG 비호환 데이터스트림의 정황에서, 표시자는 디코더나 플레이백 장치에게 CPSI를 공급하라고 명령할 수 있도록 지정될 수 있다. 이러한 표시자는 예를 들어 프로그램 기록의 시작이나 종료를 나타낼 수 있다.Other methods of changing the version number at step 430 may also be used. However, the CPSI version numbers must be different between different programs stored on the medium 105. Alternatively, a separate indicator may be designated at step 430 to instruct the decoder to supply CPSI when the program starts or when crossing the program boundary. Assigned indicators are compatible with MPEG syntax and are also located in dedicated data sections, for example the adaptation fields of PAT or CAT (Article 2.4.3.4 of the MPEG System Standards Regulations). The indicator may be arbitrarily defined or may be an existing indicator such as a 'discontinuous indicator' in the packet header adaptation field as described in connection with step 425. In the context of an MPEG incompatible datastream, the indicator may be designated to instruct the decoder or playback device to supply CPSI. Such an indicator may, for example, indicate the start or end of a program record.
만약에 선택된 저장 매체(105)가 고체(solid state)라면, 다시 말해서 RAM같은 반도체 메모리라면, 제어기(115)는 단계(420) 다음에 단계(430)를 실행하도록 된다. 비선형 매체에서와 같이 고체 형태의 매체에서, CPSI 데이터는 전형적으로 매체 상에서의 한 개 이상의 특정 디렉토리 위치에 저장되며, 다른 저장 위치로부터 쉽게 액세스될 수 있다. 결과적으로, 제어기(115)는 비선형 매체의 경우와 마찬가지로 고체 매체에 있어서의 CPSI를 포맷팅함으로써, 프로그램 경계를 지나 부정확한 CPSI 파라미터를 적용하게 되는 문제를 경감한다. 즉, 제어기(115)는 단계(430)의 처리를 하는 것이다.If the selected storage medium 105 is a solid state, that is, a semiconductor memory such as a RAM, then the controller 115 will execute step 430 after step 420. In solid form media, such as in non-linear media, CPSI data is typically stored in one or more specific directory locations on the media and can be easily accessed from other storage locations. As a result, the controller 115 alleviates the problem of applying incorrect CPSI parameters across program boundaries by formatting CPSI in solid media as in the case of nonlinear media. In other words, the controller 115 performs the processing of step 430.
도 4의 방법은 단계(425)나 단계(430)를 거쳐서 단계(435)에서 종료되는데, 단계(425, 430)는 교대로 도 3에서의 단계(340)인 CPSI 포맷팅을 완료한다. 도 3의 방법은 단계(340)를 후속하는 단계(345)에서 종료되는데, 단계(340)는 도 2의 단계(225)를 완수하는 저장하기 위하여 선택된 프로그램의 CPSI의 형성을 완수한다. 제어기(115)는 단계(230)를 실행함으로서 도 2의 방법을 계속한다.The method of FIG. 4 ends at step 435 via step 425 or step 430, where steps 425 and 430 alternately complete CPSI formatting, step 340 in FIG. The method of FIG. 3 ends at step 345, following step 340, where step 340 completes the formation of CPSI of the program selected for storage to complete step 225 of FIG. Controller 115 continues the method of FIG. 2 by executing step 230.
단계(230)에서, 제어기(115)는 MPEG 신택스에 따른 섹션으로 CPSI 데이터를 형성한다(MPEG 시스템 표준 규정의 패러그래프 2.4.4.3에서 2.4.4.11까지). 섹션들은 PAT 데이터와 PMT 데이터를 위하여 형성된다. 만약에 CAT 및 NIT 테이블들이 이전에 설명된 도 3의 방법으로 CPSI에 병합되어 있다면, 섹션들은 또한 옵션인 CAT 및 NIT(전용 데이터)를 위하여 생성된다. 그 결과로서의 패킷화된 데이터는 테이블 식별자와 섹션 길이 식별자 및 도 4의 방법에서 미리 결정된 버전 번호를 포함한다. PAT 섹션은 또한 PAT를 특정 트랜스포트 스트림과 연관시키는 트랜스포트 스트림 식별자를 포함한다. 제어기(115)는 오리지널 PSI 데이터로부터 이러한 식별자를 획득하고, 그것을 CPSI의 PAT 섹션의 트랜스포트 스트림 식별자 필드에 삽입한다. 그러나, 상기 필드는 선택적으로 변경되지 않은 상태거나 또는 공란으로 남아 있을 수 있다.In step 230, the controller 115 forms CPSI data into sections according to the MPEG syntax (paragraphs 2.4.4.3 to 2.4.4.11 of the MPEG System Standard Specification). Sections are formed for PAT data and PMT data. If CAT and NIT tables are merged into CPSI in the manner of FIG. 3 described previously, sections are also created for optional CAT and NIT (dedicated data). The resulting packetized data includes a table identifier and a section length identifier and a version number predetermined in the method of FIG. The PAT section also includes a transport stream identifier that associates the PAT with a particular transport stream. The controller 115 obtains this identifier from the original PSI data and inserts it into the transport stream identifier field of the PAT section of the CPSI. However, the field may optionally be left unchanged or left blank.
단계(230)에서, 제어기(115)는 저장하려는 데이터스트림내로 삽입할 목적으로 CPSI 데이터를 포맷팅하고 패킷화하기 위하여, 헤더 데이터를 CPSI 데이터 섹션에 첨가한다. 제어기(115)는 제어기(115) 내부 메모리 내에 저장되어 있는 PSI 헤더 데이터로부터 MPEG 시스템 표준 규정의 조항 2.4.3.2 및 2.4.3.3에 따라 헤더를 생성한다. 그러나, CPSI 섹션 데이터는 해당 PSI 섹션 데이터의 길이와 다르다. 따라서, '연속 카운트' 표시자와 '페이로드 유닛 개시(payload unit start) 표시자'를 포함하는, 새로운 헤더 파라미터들은 제어기(115)에 의하여 생성되고, 헤더 데이터내의 각 표시자 필드에 삽입된다. 제어기(115)에 의하여 생성된 새로운 연속 카운트 표시자는 해당 PSI 요소에 대하여 PID당 패킷의 다른 개수 대신에, CPSI 요소에 대한 PID당 패킷의 개수를 예를 들어 반영한다. 제어기(115)에 의하여 생성된 새로운 페이로드 유닛 개시 표시자는 예를 들어 해당 PSI 섹션의 제 1 바이트 대신에, CPSI 섹션의 제 1 바이트를 식별한다.In step 230, the controller 115 adds the header data to the CPSI data section to format and packetize the CPSI data for insertion into the data stream to be stored. The controller 115 generates a header from the PSI header data stored in the controller 115 internal memory in accordance with clauses 2.4.3.2 and 2.4.3.3 of the MPEG System Standard Specification. However, the CPSI section data is different from the length of the corresponding PSI section data. Thus, new header parameters, including a 'continuous count' indicator and a 'payload unit start indicator', are generated by the controller 115 and inserted into each indicator field in the header data. The new continuous count indicator generated by the controller 115 reflects, for example, the number of packets per PID for the CPSI element instead of the other number of packets per PID for that PSI element. The new payload unit initiation indicator generated by the controller 115 identifies the first byte of the CPSI section, for example, instead of the first byte of the corresponding PSI section.
도 2에 대하여 계속하자면, 단계(235)에서, 단계(230)에서 생성된 패킷화된 MPEG 호환 섹션 데이터의 형태로 되어 있는 CPSI는 제어기(115)에 의하여 멀티플렉서(110)(도 1) 측으로 공급된다. 단계(215)와 연관하여 앞에서 설명한, 유닛(47) 또는 유닛(50)으로부터의 프로그램 내용 패킷 데이터스트림도 또한 멀티플렉서(110) 측으로 공급된다. 단계(235)에서, 제어기(115)는 저장 인터페이스(95)측으로 입력되는 멀티플렉서(110) 출력인 복합 데이터스트림을 생성하기 위하여 경로 선택 신호(C)를 이용하여, 멀티플렉서(110) 측으로 입력되는 프로그램 내용과 CPSI 데이터스트림을 다중화(multiplexing)한다. 복합 데이터스트림은 프로그램 내용 패킷과 CPSI 패킷을 포함한다. 제어기(115)는 제어 유닛(65)(도 1)으로부터의 PSI 인터럽트 신호에 대한 응답으로, 저장되려는 프로그램 데이터스트림안으로 CPSI 패킷을 삽입하는 것을 동기화시킨다. PSI 인터럽트 신호는 단계(205)에 연관하여 설명한 바와 같이 버퍼(60)에 PSI 패킷이 있는 지를 표시한다. 이같은 방식으로, CPSI의 패킷화된 PAT와 PMT와 CAT 및 NIT 섹션들이 PSI 위치로 삽입되어, PSI의 해당 섹션부분을 대치하게 된다. 암호화되지 않은 CPSI 데이터는 저장을 하기 위한 암호화되었거나 암호화되지 않은 프로그램을 생성하기 위하여, 멀티플렉서(110) 측으로 입력되는, 암호화되었거나 암호화되지 않은 프로그램 내용 데이터스트림에 삽입될 수 있다.Continuing with respect to FIG. 2, at step 235, the CPSI in the form of packetized MPEG compatible section data generated at step 230 is supplied by the controller 115 to the multiplexer 110 (FIG. 1) side. do. The program content packet datastream from unit 47 or unit 50, described above in connection with step 215, is also supplied to multiplexer 110 side. In step 235, the controller 115 uses the path selection signal C to generate a complex data stream that is the output of the multiplexer 110 input to the storage interface 95 side, the program input to the multiplexer 110 side. Multiplex content and CPSI data stream. The composite data stream includes a program content packet and a CPSI packet. The controller 115 synchronizes inserting the CPSI packet into the program data stream to be stored in response to the PSI interrupt signal from the control unit 65 (FIG. 1). The PSI interrupt signal indicates whether there is a PSI packet in the buffer 60 as described in connection with step 205. In this way, the packetized PAT, PMT, CAT and NIT sections of the CPSI are inserted into the PSI location, replacing the corresponding section portions of the PSI. Unencrypted CPSI data may be inserted into an encrypted or unencrypted program content data stream, which is input to the multiplexer 110 side, to create an encrypted or unencrypted program for storage.
단계(235)에서, 제어기(115)는 저장되려는 데이터스트림에 있는 PSI 데이터 각각을 사용자가 저장하기 위하여 선택한 매체의 형태에 상관없이 해당 CPSI 데이터로 대치한다. 그러나 코딩 오버헤드에 대한 추가적인 감소는 CPSI를 선택된 PSI 위치에 삽입하거나 또는 저장되려는 프로그램 내에 단 한번 CPSI를 삽입함으로써 달성될 수 있다. 저장되려는 프로그램 내에서 CPSI의 반복 횟수는 예를 들어 최소 PSI 요소 반복 횟수 제한, 사용자 기호, 데이터 저장 용량 제한 또는 선택된 저장 매체 형태를 포함하는 인자에 기초하여 제어기(115)에 의하여 결정될 수 있다. ATSC에 의하여 HDTV를 위하여 제안된 시스템은 예를 들어 반복하는 PAT들 사이의 최소 시간 간격인 100 ms를 포함하는, 특정 PSI 요소들의 최소 반복 횟수를 규정한다(1995년 4월 12일자의 부록 C 조항 5.4, HDTV 전송을 위한 디지털 텔레비전 표준 규정). 더 나아가서, 비선형이나 고체 형태의 저장 매체에서, 예를 들어, CPSI 반복 횟수를 감소시키거나 또는 저장되려는 프로그램에 한번만 CPSI를 삽입시키는 것은 프로그램 복구 대기시간에 불리하게 영향을 미치지 않는다. 이러한 것은 상기 형태의 매체들이 신속한 비연속(무작위) 데이터 액세스를 허용하기 때문이다.In step 235, the controller 115 replaces each of the PSI data in the data stream to be stored with the corresponding CPSI data, regardless of the type of medium the user has selected for storage. However, further reductions in coding overhead can be achieved by inserting the CPSI at the selected PSI location or by inserting the CPSI only once in the program to be stored. The number of repetitions of the CPSI in the program to be stored may be determined by the controller 115 based on factors including, for example, a minimum PSI element repetition limit, a user preference, a data storage capacity limit, or a selected storage medium type. The system proposed for HDTV by ATSC defines the minimum number of iterations of certain PSI elements, including, for example, 100 ms, the minimum time interval between repeating PATs (Annex C clause of April 12, 1995). 5.4, Digital Television Standard Specification for HDTV Transmission. Furthermore, in non-linear or solid form of storage media, for example, reducing the number of CPSI repetitions or inserting CPSI only once in a program to be stored does not adversely affect the program recovery latency. This is because the above types of media allow for rapid discontinuous (random) data access.
단계(240)에서, 저장 인터페이스(95)는 멀티플렉서(110)로부터의 CPSI를 병합하는 패킷화된 데이터스트림(이하로부터 CPSI 스트림이라고 명칭됨)의 형태로서 저장되는 프로그램을 수신한다. 제어기(115)가 CPSI 스트림을 생성하는데 사용되는 도 2의 방법은 단계(245)에서 종료된다. 다른 방식으로는 단계(240)에서 CPSI 스트림이 인터페이스(95)를 경유하여 저장 장치로 공급되는 대신에 인터페이스(70)를 경유하여 디스플레이나 통신 장치와 같은 다른 응용 측으로 제공될 수 있다는 것을 기억하기로 한다.In step 240, storage interface 95 receives a program that is stored in the form of a packetized data stream (hereinafter referred to as CPSI stream) that merges CPSI from multiplexer 110. The method of FIG. 2 in which the controller 115 is used to generate the CPSI stream ends at step 245. Alternatively, it is noted that in step 240 the CPSI stream may be provided to another application, such as a display or communication device, via interface 70 instead of being supplied to storage via interface 95. do.
멀티플렉서(110)로부터의 CPSI 스트림은 데이터에서의 간격과 비트율 변동을 감소시키기 위하여 인터페이스(95)에 의하여 버퍼링된다. 그 결과인 버퍼링된 데이터는 매체(105)상의 저장을 위하여 적합하게 되도록 저장 장치(90)에 의하여 처리된다. 제어기(115)는 표준화된 CEBus 제어 프로토콜(홈 자동 표준 규정(Home Automation Standard (CEBus), EIA/IS-60, 1989년 12월)을 사용하여 I/O 포트(100)를 통한 커맨드에 의하여 저장 장치(90)(도 1)의 동작을 시작하고 제어한다. 저장 장치(90)는 저장에 적합한 인코딩된 데이터스트림을 생성하기 위하여 채널 코딩과, 인터리빙 및 리드 솔로몬 인코딩과 같은 알려진 에러 인코딩 기술을 사용하여 인터페이스(95)로부터의 버퍼링된 데이터스트림을 인코딩하는 선형 저장 매체 DVHS 형태 장치이다. 유닛(90)은 그 결과로서 생긴 인코딩된 데이터스트림을 CPSI를 병합시켜 테이프 매체(105)상에 저장한다.The CPSI stream from the multiplexer 110 is buffered by the interface 95 to reduce gaps and bit rate variations in the data. The resulting buffered data is processed by storage device 90 to be suitable for storage on medium 105. Controller 115 is stored by command over I / O port 100 using a standardized CEBus control protocol (Home Automation Standard (CEBus), EIA / IS-60, December 1989). Initiate and control the operation of device 90 (FIG. 1) Storage device 90 uses known error encoding techniques such as channel coding, interleaving and Reed Solomon encoding to generate an encoded datastream suitable for storage. And a linear storage medium DVHS type device that encodes the buffered datastream from interface 95. Unit 90 merges CPSI and stores the resulting encoded datastream on tape medium 105.
다른 테이프 저장 시스템들은 두 개의 데이터스트림을 병행하여 기록하는 것을 허용한다. 일반적으로 프로그램 내용의 대부분을 포함하는 제 1 데이터스트림은 종래에는 테이프 상에 나선형으로 저장되어 있다. 전형적으로 데이터 밀도나 비트율이 훨씬 낮은 제 2 데이터스트림은 병행하여 테이프 끝쪽에 위치하고 있는 보조 트랙 상에 선형(나선형이 아님) 형태로 저장된다. 이러한 형태의 저장 시스템에서, 장치(90)는 CPSI 데이터를 CPSI 스트림과 구별하며, 유리하게 보조 트랙 상에 CPSI 데이터를 저장한다. 유닛(90)은 테이프 상에 기록된 각 프로그램이 프로그램 내용과 병행하여 보조 트랙에 자신과 관련된 CPSI 데이터를 포함하는 방식으로 CPSI 데이터를 저장한다. 보조 트랙에 있는 CPSI 데이터의 반복 횟수는 보조 트랙 데이터 속도 제한에 따라 조절될 수 있다. 다른 방식으로, CPSI는 트랙 정보 영역(TIA)과 삽입&트랙 정보 섹터(ITI 섹터)를 포함하는 데이터 관리 영역이나 나선형 보조 트랙에 저장될 수 있다. 데이터 관리 영역은 프로그램 내용에 병행하여 나선형의 또는 비나선형의 트랙에 저장된다.Other tape storage systems allow writing two data streams in parallel. In general, a first data stream containing most of the program content is conventionally stored helically on tape. Typically, a second data stream with a much lower data density or bit rate is stored in a linear (not spiral) form on an auxiliary track located at the end of the tape in parallel. In this type of storage system, the device 90 distinguishes CPSI data from CPSI streams and advantageously stores CPSI data on auxiliary tracks. The unit 90 stores the CPSI data in such a manner that each program recorded on the tape includes CPSI data related to itself in the auxiliary track in parallel with the program contents. The number of repetitions of CPSI data in the auxiliary track may be adjusted according to the auxiliary track data rate limit. Alternatively, the CPSI may be stored in a data management area or a spiral auxiliary track including a track information area (TIA) and an insert & track information sector (ITI sector). The data management area is stored in spiral or non-helical tracks in parallel with the program contents.
비록 도 1에서 제시하는 예시적 실시예에서 나오는 선형 형태의 저장 매체 상에 데이터를 저장하는 DVHS 장치로 설명되었지만, 저장 유닛(90)은 임의 형태의 저장 유닛이 될 수 있다. 예를 들자면, 유닛(90)은 RAM이나 DVD나 또는 CDROM에 데이터를 저장하기 위한 고체나 비선형 형태의 장치일 수 있다. 만약에 유닛(90)과 매체(105)가 비선형 즉 고체 형태의 저장 시스템이라면, 유닛(90)은 CPSI 데이터를 CPSI 스트림으로부터 분리하여 CPSI 데이터를 매체의 지정된 디렉토리 섹션에 저장한다. 이것은 유리하게 CPSI의 반복된 저장을 피하게 되어, 필요한 저장 용량을 감소시킨다. 다른 방식으로, 유닛(90)은 형성되어 유닛(90)으로 입력되는 대로 CPSI 스트림을 한 개 이상의 CPSI 데이터의 반복을 병합하여 저장할 수 있다.Although described as a DVHS device for storing data on a linear form of storage medium in the exemplary embodiment presented in FIG. 1, the storage unit 90 can be any type of storage unit. For example, unit 90 may be a solid or non-linear device for storing data in RAM, DVD or CDROM. If unit 90 and medium 105 are non-linear, solid form storage systems, unit 90 separates CPSI data from the CPSI stream and stores the CPSI data in a designated directory section of the medium. This advantageously avoids repeated storage of the CPSI, reducing the required storage capacity. Alternatively, unit 90 may form and store a repetition of one or more CPSI data in a CPSI stream as it is input to unit 90.
더 나아가서, 도 1의 시스템(25)은 선형과 비선형 및 고체 형태를 포함하여 다양한 형태의 다수개 저장 장치의 동작을 지원하는 다수개의 저장/검색 경로를 병합할 수 있다. 도 1에서 도시한 유일한 저장/탐색 경로는 설명한 바와 같이 유닛들(47, 90, 95, 105 및 110)을 포함한다. 병행 저장 기능을 생성하기 위하여 이러한 요소들을 복제함으로써, 시스템(25)은 쉽게 확장되어 다수개의 저장 경로를 병합하게 된다. 특정 저장 장치에서의 저장 경로 및 프로그램은 이전에 설명한 바와 같이, 원격 제어 유닛(125)을 이용하여 온-스크린 메뉴 선택 이후에 인터페이스(120)를 이용하여 제어기(115) 측으로 입력되는 사용자 생성 데이터(SP, SM)에 의하여 선택된다.Furthermore, the system 25 of FIG. 1 can merge multiple storage / search paths that support the operation of multiple storage devices of various types, including linear, non-linear, and solid forms. The only storage / browsing path shown in FIG. 1 includes units 47, 90, 95, 105 and 110 as described. By replicating these elements to create a parallel storage function, the system 25 is easily extended to merge multiple storage paths. The storage paths and programs in the particular storage device are user-generated data input to the controller 115 using the interface 120 after the on-screen menu selection using the remote control unit 125 as previously described. SP, SM).
도 1의 시스템(25)은 도 5의 방법을 사용하여 플레이백 모드에서 저장 장치(90)와 매체(105)로부터 프로그램을 복구한다. 복구된 데이터스트림은 시스템(25)에 의하여 처리되고, 예를 들어 디스플레이 즉 출력을 하기 위하여 응용 장치(75, 80 및 85) 측으로 공급된다. 다른 방식으로, 프로그램 데이터스트림은 다른 병행 저장 장치 상에 저장될 수 있다(도면을 단순하게 하기 위하여 도 1에 미도시됨).The system 25 of FIG. 1 recovers a program from the storage device 90 and the medium 105 in the playback mode using the method of FIG. The recovered datastream is processed by the system 25 and fed to the application devices 75, 80 and 85 for example for display or output. Alternatively, the program datastream can be stored on another parallel storage device (not shown in FIG. 1 to simplify the drawing).
단계(500)의 개시단계를 후속하여 도 5의 단계(505)에서, 사용자 생성 데이터(SR, SM)는 시스템(25)(도 1)의 제어기(115)로 입력되며, 상기 제어기는 프로그램이 복구되는 저장 장치와 복구되는 프로그램을 식별한다. 사용자 선택 데이터는 원격 제어 유닛(125)을 이용한 온-스크린 메뉴 선택에 따라 인터페이스(120)를 경유하여 제어기(115)로 입력된다. 사용자가 저장 장치(90)(도 1)로부터 복구되려는 프로그램을 선택하는 것은 예시적 목적을 위하여 가정한 것이다. 제어기(115)는, 단계(510)에서, 이전에 설명한 표준화된 CEBus 제어 프로토콜을 사용하여 I/O 포트(100)를 통한 명령에 의하여 매체(105)로부터 장치(90)에 의한 선택된 프로그램 데이터스트림 복구를 개시한다. 장치(90)는 저장을 위하여 장치(90)에 원래 공급된 해당 데이터를 복구하기 위하여 매체(105)로부터 탐색된 에러 인코딩된 데이터를 디코딩한다. 장치(90)는 DVHS 선형 형태 저장 유닛이거나, 고체 RAM이나 비선형 형태의 DVD나 CDROM 형태의 장치일 수 있는 다른 형태의 저장 유닛이다. 복구된 디코딩된 데이터스트림은 단계(510)에서 장치(90)에 의하여 인터페이스(95) 측으로 전달된다. 이러한 데이터 전달은 제어기(115)에 의하여 표준 CEBus를 이용하여 제어되고 동기화된다. 인터페이스(95)는 데이터 패킷간의 시간 간격을 조절하여 MPEG에 호환되어 MPEG 비트율 제한에 순응하는 버퍼링된 데이터 출력을 공급하기 위하여 유닛(90)으로부터 수신된 데이터를 버퍼링한다.In step 505 of FIG. 5 following the initiation of step 500, the user-generated data SR, SM are input to the controller 115 of the system 25 (FIG. 1), the controller being programmed. Identify the storage device being recovered and the program being recovered. The user selection data is input to the controller 115 via the interface 120 according to the on-screen menu selection using the remote control unit 125. It is assumed for illustrative purposes that a user selects a program to be recovered from storage 90 (FIG. 1). The controller 115, at step 510, selects the selected program datastream by the device 90 from the medium 105 by a command through the I / O port 100 using the standardized CEBus control protocol described previously. Initiate recovery. The device 90 decodes the error encoded data retrieved from the medium 105 to recover the corresponding data originally supplied to the device 90 for storage. The device 90 is a DVHS linear storage unit or another type of storage unit that may be a solid RAM or non-linear DVD or CDROM type device. The recovered decoded datastream is passed by the device 90 to the interface 95 at step 510. This data transfer is controlled and synchronized by the controller 115 using the standard CEBus. Interface 95 buffers the data received from unit 90 to adjust the time interval between data packets to supply buffered data output that is compatible with MPEG and conforms to the MPEG bit rate limit.
단계(515)에서, 제어기(115)는 경로 선택 신호(C)를 이용하여 인터페이스(95)로부터의 버퍼링된 출력(플레이백 데이터스트림)을 멀티플렉서(37)를 경유하여 PID 선택 유닛(45, 47) 측으로 전달하도록 한다. 단계(520)에서, 유닛(45, 47) 및 시스템(25)의 나머지 유닛들은 멀티플렉서(110)를 경유하여 저장을 하거나 또는 인터페이스(70)를 경유하여 공급하기 위하여 플레이백 데이터스트림을 처리한다. 유닛(95)으로부터의 플레이백 데이터스트림과 선택기(35)로부터 전송된 데이터스트림은 둘 다, 멀티플렉서(37)를 경유한 선택 이후에, 유사한 방식으로 시스템(25)에 의하여 처리된다. 이러한 데이터스트림 모두 전송된 데이터스트림에 대하여 이전에 설명한 방식으로 처리된다. 그러나, 멀티플렉서(37)를 이용하여 선택된 플레이백 데이터스트림은 이미 CPSI를 병합하고 있다. 따라서, 플레이백 모드에서, 제어기(115)는 단계(520)에서 도 2 내지 도 4와 연관하여 설명된 CPSI 형성과 관계되는 단계들을 수행하지 않는다.In step 515, the controller 115 uses the path selection signal C to pass the buffered output (playback datastream) from the interface 95 via the multiplexer 37 to the PID selection units 45, 47. ) To the side. In step 520, the units 45, 47 and the remaining units of system 25 process the playback datastream for storage via multiplexer 110 or for supply via interface 70. Both the playback datastream from unit 95 and the datastream transmitted from selector 35 are processed by system 25 in a similar manner after selection via multiplexer 37. Both of these datastreams are processed in the manner previously described for the transmitted datastream. However, the playback datastream selected using the multiplexer 37 is already merging CPSI. Thus, in playback mode, the controller 115 does not perform the steps related to CPSI formation described in connection with FIGS. 2-4 at step 520.
도 5에서 도시한 예시적인 플레이백 모드에 있어서, 단계(520)에서 시스템(25)은 디스플레이를 하기 위하여, 디코딩된 데이터를 적용하는 디코더(80, 85) 측으로 공급하기 위하여 플레이백 데이터스트림을 트랜스포트-디코딩(transport decode)한다. 이러한 모드에서, 시스템(25)은 선택된 프로그램(SR)을 나타내는 트랜스포트-디코딩된 데이터스트림을 공급하기 위하여, MPEG 표준 방식에 따라 플레이백 데이터스트림에 포함되어 있는 CPSI 데이터를 공급한다.In the exemplary playback mode shown in FIG. 5, in step 520 the system 25 transmits the playback datastream to the side of the decoder 80, 85 that applies the decoded data for display. Port-decode In this mode, the system 25 supplies CPSI data included in the playback datastream according to the MPEG standard scheme, in order to supply a transport-decoded datastream representing the selected program SR.
단계(520)에서, 제어기(115)는 버퍼(60)를 이용하여 플레이백 데이터스트림 CPSI 데이터를 액세스하여, 연속적인 CPSI 요소들간에서 출현하는 버전 번호의 변경을 알기 위하여 데이터를 검사한다. 제어기(115)는 또한 패킷 헤더 어뎁테이션 필드(MPEG 시스템 표준 규정의 조항 2.4.3.5에서 규정함)에서의 '불연속 표시자'에 의하여 표시되는 불연속에 대하여 알기 위하여 플레이백 데이터스트림을 검사한다. 버전 번호의 변경이나 불연속에 대한 검출이 있으면, 제어기(115)는 플레이백 데이터스트림을 트랜스포트 디코딩하기 위하여 가장 나중의 CPSI 데이터 전체를 공급한다. 또한 특정 PID의 연속적인 패킷들간의 연속 카운트 불일치에 대한 검출 및 트랜스포트 에러 표시의 검출과 같은 것을 포함하는 다른 다양한 상태가 되었을 때에도, 제어기(115)는 가장 나중의 CPSI 데이터 전체를 공급하게 되도록 프로그램될 수 있다는 것을 기억하기로 한다. 이들 파라미터 둘 다 플레이백 데이터스트림 패킷 헤더에 존재한다(MPEG 시스템 표준 규정의 조항 2.4.3.2.에 규정됨). 제어기(115)는 또한 MPEG 표준 규정에서 규정하고 있는 프리젠테이션 시간 스탬프(presentation time stamp : PTS)나 디코딩 시간 스탬프들간의 불연속이 검출되거나 또는 사용자가 규정한 시간 스탬프에서의 불연속이 검출될 때에 CPSI를 공급하도록 프로그램될 수 있다. 그러나, MPEG 호환 신택스는 불연속 표시자가 연속 카운트 불일치의 발견을 표시하도록 설정되는 것을 요구한다는 것을 기억하기로 한다.In step 520, the controller 115 accesses the playback datastream CPSI data using the buffer 60 and checks the data to see the change in version number appearing between successive CPSI elements. The controller 115 also examines the playback datastream to know about the discontinuity indicated by the 'discontinuity indicator' in the packet header adaptation field (as defined in clause 2.4.3.5 of the MPEG System Standard Specification). If there is a detection of a version number change or discontinuity, the controller 115 supplies the entire last CPSI data to transport decode the playback datastream. The controller 115 may also program to supply the entire last CPSI data, even in other various states, including detection of consecutive count mismatches between consecutive packets of a particular PID and detection of transport error indications. Remember that it can be. Both of these parameters are present in the playback datastream packet header (as specified in clause 2.4.3.2. Of the MPEG System Standard Specification). The controller 115 also detects the CPSI when a discontinuity between the presentation time stamp (PTS) or decoding time stamps defined in the MPEG standard specification is detected or a discontinuity in the user-defined time stamp is detected. Can be programmed to supply. However, it will be remembered that the MPEG compatible syntax requires that the discrete indicator be set to indicate the discovery of a continuous count mismatch.
CPSI는 도 1에 연관하여 이상에서 설명한 바와 유사한 방식으로 PID 필터(45, 47)와, 해독기(50)와, 디코더(55)와, 버퍼(60) 및 제어 유닛(65)을 사용하여 플레이백 데이터스트림을 트랜스포트 디코딩을 하는데 공급된다. CPSI를 제외한 트랜스포트 디코딩된 데이터스트림은 MPEG 방식의 디코딩 및 영상 재생을 위하여 장치 디코더(80, 85) 측으로 인터페이스(70)를 경유하여 제공된다. 다른 모드들에서, 시스템(25)은 CPSI를 병합하는 플레이백 데이터스트림을 예를 들자면 고속 데이터 포트(75)같은 다른 응용 장치 측으로 공급한다. 그 다음에 CPSI는 필요하다면 상기의 응용 장치들이나 후속 장치들에 의하여, 플레이백 데이터스트림을 트랜스포트 디코딩하는데 공급하기 위하여 사용될 수 있다. 만약에 플레이백 데이터스트림이 예를 들어 장치(90)말고 제 2의 저장 장치에 저장되려고 한다면, 멀티플렉서(110)는 CPSI가 병합된 데이터스트림을 제 2의 저장 인터페이스를 이용하여 제 2 저장 장치 측으로 공급한다. 더 나아가서, 제 2 저장 장치 및 제 2 저장 인터페이스는(도 1에 둘 다 미도시됨) 유닛(90, 95)의 기능과 동작을 각각 모방한다.CPSI plays back using PID filters 45 and 47, decoder 50, decoder 55, buffer 60 and control unit 65 in a manner similar to that described above in connection with FIG. It is supplied to transport decoding the data stream. The transport decoded data streams other than CPSI are provided via the interface 70 to the device decoders 80 and 85 for MPEG decoding and video reproduction. In other modes, system 25 supplies a playback datastream that incorporates CPSI to another application, such as high speed data port 75, for example. CPSI can then be used by the application or subsequent devices, if necessary, to supply for transport decoding the playback datastream. If the playback datastream is to be stored in a second storage device other than the device 90, for example, the multiplexer 110 sends the CPSI merged datastream to the second storage device side using the second storage interface. Supply. Furthermore, the second storage device and the second storage interface (both not shown in FIG. 1) mimic the functions and operations of units 90 and 95, respectively.
CPSI를 공급하기 전의, 디폴트 주기에서, 시스템(25)은 예를 들어 '블루 스크린(blue screen)' 또는 '고정 프레임(freeze frame)'과 같이, 디스플레이를 하기 위하여 사전에 결정된 비디오 영상을 나타내는 디코딩된 데이터를 비디오 디코더(85) 측으로 제공한다. 유사하게, 디폴트 주기에서 버전 번호의 변경에 대한 검출 및 CPSI의 공급이 이루어지기 전에, 시스템(25)은 오디오 출력을 지우기 위하여 오디오 디코더(80) 측으로 데이터를 공급한다. 상기와 같은 조처는 정확한 CPSI 데이터가 공급되어 결과적으로 시청 또는 청취용의 유효한 자료가 제공되기까지 바람직하지 않은 비디오나 오디오 출력이 재생 장치들에 공급되는 것을 방지한다. 디폴트 주기는 예를 들어 이하에 나오는 상황들 중 어느 한쪽으로부터 CPSI 요소 버전 번호의 변경에 대한 검출까지의 시간 간격중의 하나를 포함한다:In the default period, prior to supplying the CPSI, the system 25 decodes the video image that is predetermined for display, for example, such as a 'blue screen' or a 'freeze frame'. The generated data to the video decoder 85 side. Similarly, before detection of a change in version number and supply of CPSI are made in the default period, the system 25 supplies data to the audio decoder 80 side to clear the audio output. Such measures prevent undesired video or audio output from being supplied to playback devices until the correct CPSI data is supplied, resulting in valid material for viewing or listening. The default period includes, for example, one of the time intervals from detection of a change in CPSI element version number from either of the following situations:
a) 프로그램 끝 표시자나 시스템 전력-온에 대한 검출;a) detection of end of program indicator or system power-on;
b) 고속 플레이나 내용 뛰어넘기(트릭 플레이)같은 것을 포함하는 사용자 명령어에 대한 검출; 또는b) detection of user commands, such as fast play or content jump (trick play); or
c) 유효한 비디오 패킷이 검출되지 않았음을 표시하는 에러 상태에 대한 검출.c) detection of an error condition indicating that no valid video packet was detected.
인터페이스(70)로부터의 데이터는 장치 디코더(80, 85)에 의하여 MPEG 방식으로 디코딩되어 각각 유닛(80, 85)에 있는 오디오 및 영상 재생 장치를 이용하여 표시된다. 상기 처리는 단계(530)에서 종료되는 플레이백 처리를 완료시킨다. 제어기(115)가 부정확한 CPSI 데이터가 공급되는 것을 방지하기 위하여 위에서 언급한 바와 같은 다른 방법들 중 임의의 것을 대안적으로 사용할 수 있음을 기억하기로 한다.Data from the interface 70 is decoded in an MPEG manner by the device decoders 80 and 85 and displayed using the audio and video reproducing apparatus in the units 80 and 85, respectively. The process completes the playback process ending at step 530. It will be remembered that the controller 115 may alternatively use any of the other methods as mentioned above to prevent incorrect CPSI data from being supplied.
도 1의 구조는 배타적이지 않다. 다른 구조가 동일한 목적을 달성하기 위하여 본 발명의 원리들에 따라 유도될 수 있다. 더 나아가서, 도 1 구조의 구성 요소들의 기능들과 도 2 내지 도 5에서의 방법 단계들은 마이크로프로세서의 프로그램된 명령어들 내에서 전부 또는 부분적으로 실현될 수 있다. 부가적으로, 본 발명의 원리들은 모든 MPEG 비호환 전자 프로그램 가이드 형태에 적용되며, MPEG 호환 PSI 테이블에서 전달되는 전자 프로그램 가이드에만 사용되도록 제한되지 않는다.The structure of FIG. 1 is not exclusive. Other structures may be derived in accordance with the principles of the present invention to achieve the same purpose. Furthermore, the functions of the components of the FIG. 1 structure and the method steps in FIGS. 2 to 5 may be realized in whole or in part within the programmed instructions of the microprocessor. In addition, the principles of the present invention apply to all MPEG incompatible electronic program guide forms and are not limited to being used only for electronic program guides carried in MPEG compatible PSI tables.
상술한 바와 같이, 본 발명은, 프로그램의 데이터 내용을 복구하기 위하여 사용되는 데 적합한 프로그램 특정 정보를 병합하고 있는 프로그램을 나타내는 패킷화된 데이터스트림을 디코딩하는 방법에 이용된다.As described above, the present invention is used in a method for decoding a packetized data stream representing a program incorporating program specific information suitable for use for recovering data contents of a program.
| Application Number | Priority Date | Filing Date | Title | 
|---|---|---|---|
| KR10-1998-0709659AKR100478383B1 (en) | 1996-05-31 | 1997-05-22 | Decoding method for digital data including program specific information | 
| Application Number | Priority Date | Filing Date | Title | 
|---|---|---|---|
| US60/018,722 | 1996-05-31 | ||
| US08/696,292 | 1996-08-13 | ||
| US8/696,292 | 1996-08-13 | ||
| KR10-1998-0709659AKR100478383B1 (en) | 1996-05-31 | 1997-05-22 | Decoding method for digital data including program specific information | 
| Publication Number | Publication Date | 
|---|---|
| KR20000016092A KR20000016092A (en) | 2000-03-25 | 
| KR100478383B1true KR100478383B1 (en) | 2005-07-25 | 
| Application Number | Title | Priority Date | Filing Date | 
|---|---|---|---|
| KR10-1998-0709659AExpired - LifetimeKR100478383B1 (en) | 1996-05-31 | 1997-05-22 | Decoding method for digital data including program specific information | 
| Country | Link | 
|---|---|
| KR (1) | KR100478383B1 (en) | 
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| KR100680746B1 (en)* | 2004-09-14 | 2007-02-08 | 삼성전자주식회사 | Digital broadcasting receiver and broadcasting signal receiving method using same | 
| Publication number | Publication date | 
|---|---|
| KR20000016092A (en) | 2000-03-25 | 
| Publication | Publication Date | Title | 
|---|---|---|
| EP0903036B1 (en) | Processing of digital data and program guide information | |
| US5844478A (en) | Program specific information formation for digital data processing | |
| EP2007137B1 (en) | Packetized data formats for digital data storage media | |
| EP0903034B1 (en) | Decoding of digital data including program specific information | |
| KR100478383B1 (en) | Decoding method for digital data including program specific information | |
| KR100518496B1 (en) | Storage medium storing packetized data program and method for forming program specific information | |
| KR100474033B1 (en) | Method for processing digital data and program guide information | |
| KR100515707B1 (en) | Program specific information formation for digital data processing | 
| Date | Code | Title | Description | 
|---|---|---|---|
| PA0105 | International application | Patent event date:19981128 Patent event code:PA01051R01D Comment text:International Patent Application | |
| PG1501 | Laying open of application | ||
| A201 | Request for examination | ||
| PA0201 | Request for examination | Patent event code:PA02012R01D Patent event date:20020521 Comment text:Request for Examination of Application | |
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection | Comment text:Notification of reason for refusal Patent event date:20040329 Patent event code:PE09021S01D | |
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration | Patent event code:PE07011S01D Comment text:Decision to Grant Registration Patent event date:20050128 | |
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment | Comment text:Registration of Establishment Patent event date:20050314 Patent event code:PR07011E01D | |
| PR1002 | Payment of registration fee | Payment date:20050315 End annual number:3 Start annual number:1 | |
| PG1601 | Publication of registration | ||
| PR1001 | Payment of annual fee | Payment date:20080310 Start annual number:4 End annual number:4 | |
| PR1001 | Payment of annual fee | Payment date:20090311 Start annual number:5 End annual number:5 | |
| PR1001 | Payment of annual fee | Payment date:20100310 Start annual number:6 End annual number:6 | |
| PR1001 | Payment of annual fee | Payment date:20110225 Start annual number:7 End annual number:7 | |
| PR1001 | Payment of annual fee | Payment date:20120221 Start annual number:8 End annual number:8 | |
| FPAY | Annual fee payment | Payment date:20130219 Year of fee payment:9 | |
| PR1001 | Payment of annual fee | Payment date:20130219 Start annual number:9 End annual number:9 | |
| FPAY | Annual fee payment | Payment date:20140220 Year of fee payment:10 | |
| PR1001 | Payment of annual fee | Payment date:20140220 Start annual number:10 End annual number:10 | |
| FPAY | Annual fee payment | Payment date:20150226 Year of fee payment:11 | |
| PR1001 | Payment of annual fee | Payment date:20150226 Start annual number:11 End annual number:11 | |
| FPAY | Annual fee payment | Payment date:20160218 Year of fee payment:12 | |
| PR1001 | Payment of annual fee | Payment date:20160218 Start annual number:12 End annual number:12 | |
| EXPY | Expiration of term | ||
| PC1801 | Expiration of term | Termination date:20171122 Termination category:Expiration of duration |