KR100384212B1 - Conditional Access information arrangement - Google Patents
Conditional Access information arrangement Download PDFInfo
- Publication number
- KR100384212B1 KR100384212B1 KR1019960706068A KR19960706068A KR100384212B1 KR 100384212 B1 KR100384212 B1 KR 100384212B1 KR 1019960706068 A KR1019960706068 A KR 1019960706068A KR 19960706068 A KR19960706068 A KR 19960706068A KR 100384212 B1 KR100384212 B1 KR 100384212B1
- Authority
- KR
- South Korea
- Prior art keywords
- conditional access
- byte
- data
- code
- entitlement
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/426—Internal components of the client ; Characteristics thereof
- H04N21/42607—Internal components of the client ; Characteristics thereof for processing the incoming bitstream
- H04N21/42623—Internal components of the client ; Characteristics thereof for processing the incoming bitstream involving specific decryption arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/26606—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel for generating or managing entitlement messages, e.g. Entitlement Control Message [ECM] or Entitlement Management Message [EMM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/418—External card to be used in combination with the client device, e.g. for conditional access
- H04N21/4181—External card to be used in combination with the client device, e.g. for conditional access for conditional access
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/426—Internal components of the client ; Characteristics thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/4405—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video stream decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/462—Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
- H04N21/4623—Processing of entitlement messages, e.g. ECM [Entitlement Control Message] or EMM [Entitlement Management Message]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/162—Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
- H04N7/163—Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing by receiver means only
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/162—Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
- H04N7/165—Centralised control of user terminal ; Registering at central
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/167—Systems rendering the television signal unintelligible and subsequently intelligible
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/167—Systems rendering the television signal unintelligible and subsequently intelligible
- H04N7/1675—Providing digital key or authorisation information for generation or regeneration of the scrambling sequence
Abstract
전송된 인타이틀먼트 제어 정보를 처리하기 위한, 수신기내의 장치는 조건부 액세스 페이로드 헤더를 포함하는 페이로드들 및 인타이틀먼트 데이타의 나머지 페이로드를 갖는 신호 패킷들을 선택하기 위한 패킷 트랜스포트 처리기(13-15, 19)를 포함한다. 각각의 페이로드 헤더들은 각각의 수신기가 인타이틀먼트 데이타를 처리하게 하거나 또는 처리하지 못하게 하도록 하는 방식으로 코딩된 바이트들의 그룹들을 포함한다. 가입자 특정 조건부 액세스 코드워드로 사전 프로그램된 조건부 액세스 필터(30)는 가입자 특정 조건부 액세스 코드워드와의 정합을 위하여 조건부 액세스 헤더의 바이트 그룹들을 검사한다. 정합이 발생한 경우에만, 처리기는 인타이틀먼트 데이타를 프로세스(17, 18, 21-24)하도록 허용된다. 그후에, 인타이틀먼트 데이타는 전송된 신호의 부분들을 디스크램블(16)하기 위한 암호 해독 키들을 생성(31)하는데 이용된다.For processing the transmitted entitlement control information, an apparatus in the receiver may include a packet transport processor 13 for selecting signal packets having payloads including a conditional access payload header and the remaining payload of the entitlement data. -15, 19). Each payload header includes groups of bytes coded in a manner that allows each receiver to process or disallow entitlement data. Conditional access filter 30 preprogrammed with a subscriber specific conditional access codeword checks the byte groups in the conditional access header for matching with the subscriber specific conditional access codeword. Only when a match occurs, the processor is allowed to process the entitlement data (17, 18, 21-24). The entitlement data is then used to generate 31 decryption keys for descramble 16 portions of the transmitted signal.
Description
예를 들어, 미국 특허 제 5,168,356 호 및 미국 특허 제 5,289,276 호에는 압축된 비디오 신호를, 에러 방지/보정의 수단을 보유한 패킷으로 전송하는 것이 바람직하다고 공지되어 있다. 상술한 특허들에서의 시스템들은, 각각의 전송 채널들로부터 다수의 프로그램 성분들을 갖지만, 단일 텔레비젼 프로그램을 전송 및 처리한다. 이들 시스템들은 역 트랜스포트 처리기들(inverse transport processors)을 이용하여 각각의 프로그램들의 비디오 신호 성분을 추출하여 재생을 위해 비디오 성분을 조정하도록 더 처리한다.For example, US Pat. No. 5,168,356 and US Pat. No. 5,289,276 are known to transmit compressed video signals in packets with means of error prevention / correction. The systems in the aforementioned patents have multiple program components from respective transport channels, but transmit and process a single television program. These systems use inverse transport processors to further extract the video signal component of each program and adjust the video component for playback.
예를 들어, 영국, 크릭클레이드, 피트스필드 17에서 스위프트 텔레비젼 출판된 "THE SATELLITE BOOK, A COMPLETE GUIDE 70 SATELLITE TV THEORY AND PRACTICE"에는, 전송된 텔레비젼 신호 수신이, 신호를 스크램블링 함으로써, 특정 가입자들에 제한될 수 있는 점이 공지되어 있다. 이러한 제한들은 서로 다른 인타이틀먼트데이타(entitlement data)를 주기적으로 전송함으로써 방송사의 의지대로 변경될 수 있다. 인타이틀먼트 데이타는 각각의 수신기들에 위치한 스마트 카드들에 의해 처리되어 암호 해독 또는 디스크램블링 키들(decryption or descrambling keys)을 생성하는데, 이 키들은 연관된 프로그램 자료를 재생하도록 인타이틀된 단지 그들의 수신기들내의 암호 해독 또는 디스크램블링 장치들에 의해 사용된다. 상술한 형태의 패킷 비디오 시스템에 있어서, 인타이틀먼트 데이타는 스마트 카드 회로에 의한 용이한 액세스를 위해 그와 같은 데이타를 포함하는 것으로 인식될 수 있는 특정 패킷들에 포함될 수 있다.For example, in "THE SATELLITE BOOK, A COMPLETE GUIDE 70 SATELLITE TV THEORY AND PRACTICE" published by Swift TV in Crickclade, Pittsfield 17, UK, the transmitted television signal reception scrambles the signal, It is known that these may be limited. These restrictions can be changed at will of the broadcaster by periodically transmitting different entitlement data. Entitlement data is processed by smart cards located at the respective receivers to generate decryption or descrambling keys, which are just their receivers entitled to play associated program material. Used by decryption or descrambling devices. In a packet video system of the type described above, entitlement data may be included in certain packets that can be recognized as containing such data for easy access by a smart card circuit.
북미에서 사용되는 직접 방송 위성 시스템과 같은 광역 방송 시스템은 매우 많은 수의 가입자들을 갖고 있다. 이들 가입자의 수가 너무 많아 매우 짧은 시간(very short notice)에 특정 수신기들의 인타이틀먼트 데이타를 변경할 수 없다. 예를 들어, 스포츠 이벤트용 티켓들이 팔리지 않은 경우에, 방송국은 스포츠 스타디움에 국한된 지역에 대해 방송을 중지할 필요가 있다고 간주하자. 이러한 정보는 이벤트 직전까지 이용될 수 없는 경우가 있다. 물론, 방송국은 해당 지역에 방송을 중지한다는 결정을 하기 전에 가능한 최종 몇 분까지 기다리기를 원할 것이다. 본 발명은, 프로그램 자료를 수신하기 위한 인타이틀먼트들을 짧은 시간에 부정하기 위하여 인타이틀먼트 데이타를 계층화하는 방법 및 장치를 제공한다.Wide area broadcast systems, such as direct broadcast satellite systems used in North America, have a very large number of subscribers. The number of these subscribers is too large to change the entitlement data of certain receivers in a very short notice. For example, if tickets for sporting events are not sold, assume that the station needs to stop broadcasting for the area confined to the sports stadium. Such information may not be available until just before the event. Of course, the station will want to wait for the last few minutes possible before making a decision to stop broadcasting in the area. The present invention provides a method and apparatus for stratifying entitlement data to negate entitlements for receiving program material in a short time.
본 발명은 패킷 비디오 신호로부터 프로그램 성분 데이타의 패킷들을 처리하기 위한 장치에 관한 것으로, 특히 가입자가 인타이틀먼트 정보(entitlement information)에 대한 조건부 액세스을 갖는 패킷 페이로드들(packet payloads)을 검출하기 위한 회로에 관한 것이다.FIELD OF THE INVENTION The present invention relates to an apparatus for processing packets of program component data from a packet video signal, in particular circuitry for detecting packet payloads in which a subscriber has conditional access to entitlement information. It is about.
도1은 시분할 다중화된 패킷 텔레비젼 신호를 도시한 도면.1 shows a time division multiplexed packet television signal;
도2는 각각의 신호 패킷들을 도시한 도면.2 shows respective signal packets.
도3은 본 발명을 구체화한 다중화된 성분 신호들의 패킷들을 선택 및 처리하기 위한 수신기를 도시한 블럭도.Figure 3 is a block diagram illustrating a receiver for selecting and processing packets of multiplexed component signals embodying the present invention.
도4는 조건부 액세스 필터/시작 코드 검출기를 도시한 블럭도.4 is a block diagram illustrating a conditional access filter / start code detector.
도5는 조건부 액세스 필터 동작을 도시한 흐름도.5 is a flow diagram illustrating conditional access filter operation.
도6은 대안의 조건부 액세스 필터의 블럭도.6 is a block diagram of an alternative conditional access filter.
도7은 도3의 소자(17)에 대해 구현될 수 있는 전형적인 메모리 관리 회로를 도시한 블럭도.FIG. 7 is a block diagram illustrating an exemplary memory management circuit that may be implemented for the element 17 of FIG.
도8은 서비스 채널 데이타를 위한 메모리 어드레스 정보를 도시한 도면.Fig. 8 shows memory address information for service channel data.
도9는 메모리 어드레스 제어의 동작을 도시한 흐름도.Fig. 9 is a flowchart showing the operation of memory address control.
본 발명은 계층화된 인타이틀먼트 데이타를 전송/수신하기 위한 시스템 및 방법에 관한 것이다. 한 실시예에 있어서, 수신기는, 조건부 액세스 페이로드 헤더를 포함하는 페이로드들 및, 인타이틀먼트 데이타의 나머지 페이로드를 갖는 패킷들을 선택하기 위한 패킷 트랜스포트 처리기를 포함한다. 각각의 페이로드 헤더들은 각각의 수신기가 인타이틀먼트 데이타를 처리하도록 하거나 처리하지 않도록하는 방식으로 코딩된 바이트들의 그룹들을 포함한다. 가입자 특정 조건부 액세스 코드워드로 미리 프로그램된 조건부 액세스 필터는, 가입자 특정 조건부 액세스 코드 워드와 정합을 위한 조건부 액세스 헤더의 각각의 바이트 그룹화들(groupings)을 검사한다. 정합이 발생한 경우에만, 처리기는 인타이틀먼트 데이타를 처리하도록 허용된다.The present invention relates to a system and method for transmitting / receiving layered entitlement data. In one embodiment, the receiver comprises a packet transport processor for selecting packets having payloads comprising a conditional access payload header and a remaining payload of entitlement data. Each payload header includes groups of bytes coded in such a way as to allow or not process each receiver's entitlement data. The conditional access filter, preprogrammed with the subscriber specific conditional access codeword, checks each byte groupings of the conditional access header for matching with the subscriber specific conditional access codeword. Only when a match occurs, the processor is allowed to process the entitlement data.
도 1은 신호 패킷들을 나타내는 일련의 박스들로 이루어진 패킷 신호 스트림을 도시하는데, 상기 신호 패킷들은 다수의 서로 다른 텔레비젼 프로그램 또는 상호 대화식 텔레비젼 프로그램들(interactive television programs)의 성분들을 포함한다. 이들 프로그램 성분들은 압축된 데이타로 형성되어 있다고 가정하고, 각각의 영상들에 대한 비디오 데이타양은 가변될 수 있다. 이 패킷들은 고정된 길이로 이루어져 있다. 동일한 첨자들을 갖은 문자들을 지닌 패킷들은 단일 프로그램 성분들을 나타낸다. 예를 들어, Vi, Ai, Di는 비디오, 오디오 및 데이타 패킷들을 나타내고, V1, A1, D1으로 지정된 패킷들은 프로그램 1에 대한 비디오, 오디오 및 데이타 성분들을 나타내며, V3, A31, A32, D3는 프로그램 3의 비디오, 오디오1, 오디오2 및 데이타 성분들을 나타낸다. 데이타 패킷들 Di은 예를 들어, 수신기내의 어떤 액션을 초기화하기 위한 제어 데이타를 포함할 수 있고, 또한, 예를 들어 수신기내에 위치하거나 이 수신기와 연관된 마이크로프로세서에 의해 실행될 어플리케이션(application)을 형성하는 실행 가능한 코드를 포함할 수 있다.1 shows a packet signal stream consisting of a series of boxes representing signal packets, the signal packets comprising components of a number of different television programs or interactive television programs. It is assumed that these program components are formed of compressed data, and the amount of video data for each image can be varied. These packets are of fixed length. Packets with characters with the same subscripts represent single program components. For example, V i , A i , D i represent video, audio and data packets, and packets designated V 1 , A 1 , D 1 represent video, audio and data components for program 1, and V 3 , A 31 , A 32 , and D 3 represent the video, audio1, audio2 and data components of program 3. The data packets D i may comprise control data for initiating some action in the receiver, for example, and also form an application to be executed by a microprocessor located in or associated with the receiver, for example. May contain executable code.
패킷들의 열의 상부 라인에는, 특정 프로그램의 각각의 성분들이 함께 그룹화되어 도시되어 있다. 그러나, 패킷들의 전체 열로 표시된 바와같이 동일한 프로그램의 패킷들이 반드시 그룹화될 필요는 없다. 또한, 각각의 성분들의 생성에 대한 시퀀스가 어떤 특정한 순서로 될 필요는 없다.In the upper line of the row of packets, the respective components of a particular program are shown grouped together. However, packets of the same program do not necessarily have to be grouped as indicated by the entire row of packets. In addition, the sequence for the generation of the individual components need not be in any particular order.
각각의 패킷들은 도 2에 도시된 바와같이 프리픽스(prefix) 및페이로드(payload)를 포함하도록 배열된다. 본 예의 프리픽스는 5개의 필드를 포함하는 두개의 8-비트 바이트들을 포함하는데, 상기 5개의 필드 중 4개의 필드(P, BB, CF, CS)는 1-비트 필드들이고, 나머지 한 필드(SCID)는 12-비트 필드이다. SCID 필드는 신호 성분 식별자이다. 필드(CF)는 패킷의 페이로드가 스크램블되는지를 나타내기 위한 플래그를 포함하고, 필드(CS)는 두 개의 대안 언스크램블링 키들(two alternative unscrambling keys) 중 어느 키가 스크램블된 패킷들을 언스크램블하도록 이용되어야 하는지를 나타내는 플래그를 포함한다. 모든 패킷의 프리픽스는 패킷 정렬되어 있고, 그로 인해, 각각의 필드들의 위치는 용이하게 식별될 수 있다.Each packet is arranged to include a prefix and a payload as shown in FIG. The prefix of this example includes two 8-bit bytes containing five fields, where four of the five fields (P, BB, CF, CS) are 1-bit fields and the other one (SCID) Is a 12-bit field. The SCID field is a signal component identifier. The field CF includes a flag to indicate whether the payload of the packet is scrambled, and the field CS is used to unscramble packets with which of two alternative unscrambling keys is scrambled. Contains a flag indicating whether it should be. The prefix of all packets is packet aligned, whereby the location of each field can be easily identified.
모든 페이로드내에는 프로그램 성분 특성인 연속 카운트 CC, 모듈로 16 및 TOGGLE 플래그 비트를 포함하는 헤더가 있다. 연속 카운트는 동일한 프로그램 성분의 순차적인 패킷들의 연속적인 넘버링(numbering)이다. TOGGLE 플래그 비트는 MPEG 압축된 비디오 성분에서 화상층 시작 코드(picture layer start code)가 발생하면 논리 레벨을 변경하거나 토글하는 1비트 신호이다.Within every payload is a header that contains the program component properties, continuous count CC, modulo 16, and TOGGLE flag bits. Consecutive count is the successive numbering of sequential packets of the same program component. The TOGGLE flag bit is a 1-bit signal that changes or toggles the logic level when a picture layer start code occurs in the MPEG compressed video component.
도 3은 인버스 트랜스포트 처리기의 소자들을 포함하는 디지탈 텔레비젼 신호 수신기의 일부를 블럭 형태로 도시한 것이다. 안테나(10)에 의해 검출된 신호는 튜너 검출기(11)에 인가되는데, 이 검출기는 수신된 신호들의 특정 주파수 대역을 추출하고, 베이스밴드 압축된 신호를 2진 포맷으로 제공한다. 주파수 대역은 종래의 방법들에 의해 마이크로프로세서(19)를 통해 사용자에 의해 선택된다. 통상적으로, 방송 디지탈 신호들은, 예를 들어 리드 솔로몬 순방향 에러 보정(FEC) 코딩을이용하여 에러 엔코딩되었다. 그로 인해, 대역 신호들은 FEC 디코더(12)에 인가될 것이다. FEC 디코더(12)는 수신된 비디오를 동기화하고, 도 1에 도시된 형태의 신호 패킷들의 에러 보정된 스트림을 제공한다. FEC(12)는, 예를 들어 메모리 제어기(17)에 의해, 규칙적인 간격으로 또는 필요에 따라 패킷들을 제공할 수 있다. 어떤 경우든 간에, 패킷 프레밍(framing) 또는 동기화 신호는 FEC 회로에 의해 제공되고, 이 신호는 각각의 패킷 정보가 FEC(12)로부터 전송되는 회수를 나타낸다.3 shows in block form a portion of a digital television signal receiver including elements of an inverse transport processor. The signal detected by the antenna 10 is applied to the tuner detector 11, which extracts a particular frequency band of the received signals and provides a baseband compressed signal in binary format. The frequency band is selected by the user through the microprocessor 19 by conventional methods. Typically, broadcast digital signals have been error encoded using Reed Solomon Forward Error Correction (FEC) coding, for example. As such, band signals will be applied to the FEC decoder 12. The FEC decoder 12 synchronizes the received video and provides an error corrected stream of signal packets of the type shown in FIG. FEC 12 may provide packets at regular intervals or as needed, for example by memory controller 17. In any case, a packet framing or synchronization signal is provided by the FEC circuit, which indicates the number of times each packet information is transmitted from the FEC 12.
검출된 주파수 대역은 다수의 시분할 다중화된 프로그램들을 패킷 형태로 포함할 수 있다. 유용성을 위하여, 단일 프로그램으로부터의 패킷들만이 다른 회로 소자들로 통과되어야만 된다. 본 예에 있어서, 사용자는 선택할 패킷들을 모른다고 가정한다. 이러한 정보는 프로그램 안내(program guide)에 포함되는데, 이 프로그램 안내 자체는 SCID들을 통해 프로그램 신호 성분들을 상관시키는 데이타를 포함하는 프로그램이고, 예를 들어, 가입자 인타이틀먼트들에 관계하는 정보를 포함할 수 있다. 프로그램 안내는 각각의 프로그램에 대한 SCID들의 리스트(listing)로, 이 SCID들은 오디오, 비디오, 데이타 등의 각각의 프로그램들의 성분들에 대한 것이다. 프로그램 안내(도 1의 패킷들 D4)에는 고정된 SCID가 할당된다. 수신기에 전원이 인가될 때, 마이크로프로세서(19)는 프로그램 안내와 연관된 SCID를, 한 뱅크의 유사한 프로그램 가능한 SCID 레지스터들(13) 중 하나의 레지스터에 로딩하도록 프로그램된다. FEC(12)로부터의 신호의 각각 검출된 패킷들의 프리픽스부의 SCID 필드들은 다른 SCID 레지스터(14)에 연속적으로 로딩된다. 상기 프로그램 가능한레지스터들 및 상기 수신된 SCID 레지스터는 비교기 회로(15)의 각각의 입력 포트들에 결합되고, 수신된 SCID는 프로그램 안내 SCID와 비교된다. 패킷용 SCID가 프로그램 안내 SCID와 정합하는 경우에, 비교기(15)는 메모리 제어기(17)를 조절하여, 마이크로프로세서에 의해 이용을 위한 메모리(18)의 미리 결정된 위치에 상기 패킷을 루팅한다. 수신된 SCID가 프로그램 안내 SCID와 정합하지 않는 경우, 대응하는 패킷이 단지 덤핑(dumping)된다.The detected frequency band may include a plurality of time division multiplexed programs in a packet form. For usability, only packets from a single program must be passed to other circuit elements. In this example, it is assumed that the user does not know the packets to select. This information is included in a program guide, which is itself a program that contains data that correlates program signal components via SCIDs, and may include, for example, information relating to subscriber entitlements. Can be. The program guide is a listing of SCIDs for each program, which are for the components of each program, such as audio, video, data, and so on. The program guide (packets D4 of FIG. 1) is assigned a fixed SCID. When the receiver is powered up, the microprocessor 19 is programmed to load the SCID associated with the program guide into one of the banks of similar programmable SCID registers 13. SCID fields of the prefix portion of each detected packets of the signal from FEC 12 are successively loaded into the other SCID register 14. The programmable registers and the received SCID register are coupled to respective input ports of comparator circuit 15 and the received SCID is compared with the program guide SCID. If the SCID for the packet matches the program guide SCID, the comparator 15 adjusts the memory controller 17 to route the packet to a predetermined location in the memory 18 for use by the microprocessor. If the received SCID does not match the program guide SCID, the corresponding packet is only dumped.
마이크로프로세서는, 컴퓨터 키보드로서 도시되었지만 종래의 원격 제어기 또는 수신기 프론트 패널 스위치들이 될 수 있는 인터페이스(20)를 통해, 사용자로부터의 프로그래밍 명령을 대기한다. 사용자는 채널 4에 제공된 프로그램(아날로그 TV 시스템들의 자국어로)을 시청하기 위하여 요청할 수 있다. 마이크로프로세서(19)는 채널 4 프로그램 성분들의 각각의 SCID들에 대해 메모리(18)에 로딩되었던 프로그램 안내 리스트를 주사하고, 레지스터들(13)의 뱅크의 프로그램 가능한 레지스터들 중 대응하는 성분 신호 처리 경로들과 연관되는 다른 레지스터들 각각에 이들 SCID를 로딩하도록 프로그램된다.The microprocessor waits for programming instructions from the user through the interface 20, which is shown as a computer keyboard but can be a conventional remote controller or receiver front panel switches. The user may request to watch the program provided on channel 4 (in the native language of analog TV systems). The microprocessor 19 scans the program guide list that has been loaded into the memory 18 for each SCID of the channel 4 program components, and the corresponding component signal processing path of the programmable registers of the bank of registers 13. Are programmed to load these SCIDs into each of the other registers associated with them.
결과적으로, 원하는 프로그램에 대한 오디오, 비디오 또는 데이타 프로그램 성분들의 수신된 패킷들은 오디오(23), 비디오(22) 또는 보조 데이터(21, 24), 신호 처리기들 각각에 루팅되어야만 된다. 데이타는 비교적 일정한 속도로 수신되지만, 신호 처리기들은 통상(예를 들어, 압축 해제의 형태에 따라) 버스트들(bursts)로 입력 데이타를 요구한다. 도 3의 전형적인 시스템은 우선 각각의 패킷들을 공통 메모리(18)의 미리 결정된 메모리 위치들에 루팅한다. 그후에, 각각의 처리기들(21내지 24)은 메모리(18)로부터 성분 패킷들을 요구한다. 공통 메모리를 통해 성분들을 루팅하는 것은, 원하는 신호 데이타 속도 버퍼링 또는 드로틀링(throttling)의 수단을 제공한다.As a result, received packets of audio, video or data program components for the desired program must be routed to audio 23, video 22 or auxiliary data 21 and 24, signal processors respectively. Data is received at a relatively constant rate, but signal processors typically require input data in bursts (eg, depending on the type of decompression). The exemplary system of FIG. 3 first routes each packet to predetermined memory locations in common memory 18. Thereafter, each of the processors 21 to 24 requests component packets from the memory 18. Routing components through common memory provides a means of buffering or throttling the desired signal data rate.
오디오, 비디오 및 데이타 패킷들은, 신호 처리기들에 의해 성분 데이타에 대한 용이한 버퍼링된 액세스 할 수 있도록, 각각의 미리 결정된 메모리 위치들로 로딩된다. 각각의 성분 패킷들의 페이로드들이 적절한 메모리 영역들에 로딩되기 위해서, 각각의 SCID 비교기들은 그들 메모리 영역들과 연관된다. 이러한 연관은 메모리 제어기(17)에서 배선에 의해 연결될 수 있거나, 그 연관은 프로그램 가능하게 될 수 있다. 전자의 경우에, 프로그램 가능한 레지스터들(13) 중 특정한 레지스터들에는 항상 오디오, 비디오 및 데이타 SCID들이 각각 할당될 것이다. 후자의 경우에, 오디오, 비디오 및 데이타 SCID들은 프로그램 가능한 레지스터들(13) 중 어느 하나에 로딩될 수 있고, 각각의 SCID들이 프로그램 가능한 레지스터들에 로딩될 때 적절한 연관이 메모리 제어기(17)에 프로그램될 것이다.Audio, video and data packets are loaded into respective predetermined memory locations for easy buffered access to component data by signal processors. In order for the payloads of each component packet to be loaded into the appropriate memory regions, each SCID comparators are associated with those memory regions. This association may be connected by wiring at the memory controller 17 or the association may be programmable. In the former case, certain of the programmable registers 13 will always be assigned audio, video and data SCIDs, respectively. In the latter case, the audio, video and data SCIDs can be loaded into any of the programmable registers 13 and an appropriate association is programmed into the memory controller 17 when each SCID is loaded into the programmable registers. Will be.
정상 상태에 있어서, 프로그램의 SCID들이 프로그램 가능한 레지스터들(13)에 저장된 후에, 수신된 신호 패킷들의 SCID들은 프로그램 가능한 SCID 레지스터들 내의 모든 SCID들과 비교된다. 저장된 오디오, 비디오 또는 데이타 SCID 중 어느 하나와 정합을 이루면, 대응하는 패킷 페이로드는 오디오, 비디오 또는 데이타 메모리 영역 또는 블록에 각각 저장될 것이다.In the normal state, after the SCIDs of the program are stored in the programmable registers 13, the SCIDs of the received signal packets are compared with all SCIDs in the programmable SCID registers. Upon matching with any of the stored audio, video or data SCIDs, the corresponding packet payload will be stored in an audio, video or data memory area or block respectively.
각각의 신호 패킷들은 신호 암호 해독기(16)를 통해 FEC(12)로부터 메모리 제어기(17)로 결합된다. 신호 페이로드들만이 스크램블되고, 패킷 헤더들은 변경없이 암호 해독기를 통과된다. 패킷이 디스크램블될 것인지 여부는 패킷 프리픽스내의 CF 플래그에 의해 결정되고, 패킷이 어떻게 디스크램블(두 개의 대안 디스크램블링 키들 중 하나)되는지는 CS 플래그에 의해 결정된다. 각각의 패킷에 대해 어떠한 SCID 정합이 이루어지지 않은 경우에, 암호 해독기는 모든 데이타를 통과시키 않도록 간단히 디스에이블될 수 있다.Each signal packet is coupled from the FEC 12 to the memory controller 17 via a signal decryptor 16. Only signal payloads are scrambled, and packet headers are passed through the decryptor without modification. Whether the packet is to be descrambled is determined by the CF flag in the packet prefix, and how the packet is descrambled (one of two alternative descrambling keys) by the CS flag. If no SCID matching is done for each packet, the decryptor can simply be disabled to not pass all the data.
암호 해독기는 스마트 카드 장치(31)에 의해 제공된 암호 해독 키들로 프로그램된다. 스마트 카드는 프로그램 안내의 특정 패킷들내에 포함된 인타이틀먼트 정보에 응답하여 적절한 암호 해독 키들을 생성한다. 본 예의 시스템은 2 레벨의 암호화 또는 프로그램 액세스, 즉 인타이틀먼트 제어 메시지들(ECM들) 및 인타이틀먼트 관리 메시지들(EMM들)을 포함한다. 프로그램 인타이틀먼트 제어 및 관리 정보는 프로그램 안내를 포함하는 패킷 스트림 내에 포함된 특정한 SCID들로 식별될 수 있는 패킷들내에 규칙적으로 전송된다. 이들 패킷들내에 포함된 ECM 정보는 스마트 카드에 의해 사용되어, 암호 해독기에 의해 이용되는 암호 해독 키들을 생성한다. 이들 패킷들내에 포함된 EMM 정보는 가입자의 특정 스마트 카드에 의해 사용되어, 가입자가 인타이틀먼트되는 프로그램 자료를 결정한다. 이들 패킷들내의 EMM 인타이틀먼트 정보는 지리적으로 특정될 수 있거나, 또는 그룹에 또는 가입자에 특정될 수 있다. 예를 들면, 본 시스템은 스마트 카드로부터 프로그램 제공자, 예를 들면 위성 방송국으로 요금 정보를 통신시키기 위한 모뎀(도시하지 않음)을 포함할 것이다. 스마트 카드는, 예를 들어 수신기 위치의 지역 코드 및 전화 교환으로 프로그램될 수 있다. EMM은, 스마트 카드에 의해 처리될 때, 특정 영역 코드들로 특정 프로그램들의 수신을 인타이틀 또는 거부하는 데이타를 포함 할 수 있다.The decryptor is programmed with decryption keys provided by the smart card device 31. The smart card generates appropriate decryption keys in response to the entitlement information contained in the particular packets of the program announcement. The system of this example includes two levels of encryption or program access, namely entitlement control messages (ECMs) and entitlement management messages (EMMs). Program entitlement control and management information is transmitted regularly in packets that can be identified with specific SCIDs included in the packet stream containing the program announcement. The ECM information contained in these packets is used by the smart card to generate decryption keys for use by the decryptor. The EMM information contained in these packets is used by the subscriber's specific smart card to determine the program material to which the subscriber is entitled. The EMM entitlement information in these packets may be geographically specific, or may be group specific or subscriber specific. For example, the system may include a modem (not shown) for communicating toll information from a smart card to a program provider, such as a satellite station. Smart cards can be programmed, for example, with area codes and telephone exchanges of receiver locations. The EMM, when processed by a smart card, may contain data that entitles or denies reception of certain programs with specific area codes.
프로그램 제공자는, 예를 들어, 시청당 지불하는 프로그램들(pay-per view program)과 같은 매우 짧은 리드 시간(lead time)에 어떤 가입자들에게 인타이틀할 수 있는 능력을 원할 수 있다. 특정 가입자들의 식별은 특정 프로그램의 방송 직전까지 이용되지 못할 수 있다. 이와 같은 짧은 리드 시간으로, 가입자를 토대로 EMM들을 프로그램하는 것은 불가능할 수 있다. 코딩의 다른 층은, EMM 및 ECM 데이타의 수신을 허가/금지하는 조건부 액세스 코드를 각각의 패킷들내에 포함함으로써 인타이틀먼트 정보상에 순간적으로 제공될 수 있고, 이에 의해, 어떤 프로그램들에대한 실질적으로 순간적인 허가/금지를 가능케 한다.The program provider may want the ability to entitle to some subscribers in a very short lead time, such as, for example, a pay-per view program. Identification of certain subscribers may not be available until immediately before the broadcast of a particular program. With such a short lead time, it may not be possible to program EMMs on a subscriber basis. Another layer of coding can be instantaneously provided on entitlement information by including in each packet a conditional access code that allows / prohibit the receipt of EMM and ECM data, thereby substantially eliminating certain programs. Enables instant permission / prohibition
EMM 및 ECM 인타이틀먼트 데이타를 포함하는 패킷 페이로드들은 특정하게 코딩된 32 비트들의 4개의 그룹들에 배열된 128 비트들의 페이로드 헤더를 포함한다. 그룹들의 각각은 조건부 액세스 코드로 코딩되고, 각각의 조건부 액세스 코드는 다르게 코딩될 수 있다. 각각의 가입자에게는 특정 조건부 액세스 코드가 할당된다. 정합된 필터 또는 E-코드 디코더(30)는 128 비트 헤더내의 가입자 특정 비트 패턴을 검출하도록 배열된다. 정합이 검출되면, 디코더는 메모리 제어기(17) 및 스마트 카드(31)와 통신하여, 인타이틀먼트 페이로드의 나머지를 스마트 카드[메모리(18)를 통해]에 활용되도록 한다. 정합이 검출되지 않으면, 페이로드는 특정한 수신기에 의해 수용되지 않는다. 조건부 액세스 코드들은, 정합된 필터(30)가 프로그램 가능하게 된 경우에, 주기적으로 변경될 수 있다. 이들 코드들은 스마트 카드에 의해 주기적으로 제공될 수 있다. 시청자 인타이틀먼트들에 관계된 스마트 카드 동작에 관한 보다 상세한 설명은 "THE SATELLITE BOOK, A COMPLETE GUIDE TO SATELLITE THEORY AND PRACTICE"의 제 25 절을 참조한다.Packet payloads containing EMM and ECM entitlement data include a 128-bit payload header arranged in four groups of specifically coded 32 bits. Each of the groups is coded with a conditional access code, and each conditional access code can be coded differently. Each subscriber is assigned a specific conditional access code. The matched filter or E-code decoder 30 is arranged to detect the subscriber specific bit pattern in the 128 bit header. If a match is detected, the decoder communicates with the memory controller 17 and the smart card 31 so that the remainder of the entitlement payload is utilized for the smart card (via memory 18). If no match is detected, the payload is not accepted by the particular receiver. Conditional access codes can be changed periodically if the matched filter 30 becomes programmable. These codes may be provided periodically by the smart card. See section 25 of "THE SATELLITE BOOK, A COMPLETE GUIDE TO SATELLITE THEORY AND PRACTICE" for a more detailed description of smart card operation related to viewer entitlements.
정합된 필터 또는 E-코드 디코더는, 특정 MPEG 비디오 헤더들을 검출하는 제 2 기능을 수행하도록 배열된다. 이들 헤더는 32비트의 시작 코드들이다(이것이 인타이틀먼트 페이로드들의 헤더들이 32비트 그룹들로 코딩되는 이유이다). 비디오 데이타가 손실된 경우에, MPEG 비디오 디코더는 특정한 데이타 엔트리 지점들에서 비디오 데이타의 압축 해제를 다시 시작할 수 있을 뿐이다. 이들 엔트리 지점들은 MPEG 시작 코드들과 일치한다. 디코더는, 비디오 패킷이 손실된 이후에 비디오 데이타가 메모리로 흐르지 못하게 하고, 디코더(30)에 의해 다음 MPEG 시작 코드가 검출된 이후에만 메모리에 비디오 페이로드 기입을 다시 시작하기 위해, 메모리 제어기(17)와 통신하도록 배열될 수 있다.The matched filter or E-code decoder is arranged to perform a second function of detecting certain MPEG video headers. These headers are 32 bits of start codes (this is why the headers of entitlement payloads are coded into 32 bit groups). In the case where video data is lost, the MPEG video decoder can only resume decompression of the video data at certain data entry points. These entry points match the MPEG start codes. The decoder controls the memory controller 17 to prevent video data from flowing into the memory after the video packet is lost and to resume writing the video payload into the memory only after the next MPEG start code is detected by the decoder 30. May be arranged to communicate.
도 4는 조건부 액세스 정보 또는 MPEG 시작 코드들을 포함하는 패킷들을 검출하기 위한 전형적인 장치의 예를 도시한 것이다[도 3의 디코더(30)]. 디코더(30)가 인타이틀먼트 페이로드들 또는 MPEG 시작 코드들을 검출하도록 조절되었는지 여부는 현재 수신되는 SCID의 함수이다. 도 4에 있어서, 암호 해독기(16)로부터 제공된 데이타가 8비트 바이트들이고 패킷 정렬된 것이라 가정한다. 즉, 인타이틀먼트 페이로드의 제 1 바이트 또는 MPEG 시작 코드의 제 1 바이트는 특정 바이트 위치, 예를 들면 패킷 페이로드의 시작과 정확하게 정렬되어, 특정 헤더 또는 시작 코드 워드들을 검출하기 위하여, 비트/바이트 스트림내의 이들의 위치를 정확하게 알게된다. 암호 해독기(16)로부터의 데이타는 8 비트 레지스터(250)에 인가되는데, 이레지스터는 비교기(254)의 각각의 제 1 입력 접속부들에 결합된 8 비트 병렬 출력 포트를 가지며, 상기 비교기는, AND 게이트 및 래치에 결합된 각각의 출력 접속부들을 갖는 예를 들어, 8개의 2-입력 배타 NOR(XNOR)의 회로들의 뱅크로 구성될 수 있다. 래치는 각각의 바이트 간격에서 AND 게이트의 결과들을 래치하도록 배열된 데이타 래치일 수 있다.4 shows an example of an exemplary apparatus for detecting packets containing conditional access information or MPEG start codes (decoder 30 of FIG. 3). Whether decoder 30 has been adjusted to detect entitlement payloads or MPEG start codes is a function of the currently received SCID. In FIG. 4, it is assumed that the data provided from the decryptor 16 is 8-bit bytes and is packet aligned. That is, the first byte of the entitlement payload or the first byte of the MPEG start code is aligned precisely with a specific byte position, e.g., the beginning of the packet payload, to detect specific header or start code words. Know exactly where they are in the byte stream. Data from the decryptor 16 is applied to an 8 bit register 250, which has an 8 bit parallel output port coupled to respective first input connections of the comparator 254, the comparator being AND For example, it may consist of a bank of circuits of eight two-input exclusive NOR (XNOR) with respective output connections coupled to the gate and latch. The latch may be a data latch arranged to latch the results of the AND gate at each byte interval.
32비트 MPEG 시작 코드는 8비트 레지스터 뱅크(265)내에 4 바이트들로서 저장된다. 조건부 액세스 코드들은 16개의 8-비트 레지스터들(251)의 뱅크에 8-비트 바이트들로서 저장된다. 레지스터 뱅크들(251 및 265)의 로딩은 마이크로프로세서(19) 및/또는 스마트카드에 의해 제어된다. 시작 코드 레지스터들(265)은 4 대 1 멀티플렉서(266)에 결합되며, 조건부 액세스 코드 레지스터들은 16 대 1 멀티플렉서(257)에 결합된다. 멀티플렉서들(257 및 266)의 출력 포트들은 2 대 1 멀티플렉서(249)에 결합된다. 멀티플렉서(249)의 각각의 출력 접속부들은 비교기(254)의 각각의 대응하는 제 2 입력 단자들에 결합된다. [멀티플렉서들(249, 257 및 266)의 입력 및 출력 접속부들은 8비트 버스들임을 주목한다]. 레지스터(250)의 각각의 출력 접속부들에 나타나는 각각의 값들이 멀티플렉서(249)의 각각의 출력 접속부들에 의해 나타나는 출력값들과 대응하여 동일한 경우에, 대응하는 데이타 바이트에 대하여 비교기(254) 회로에 의해 참 신호(true signal)가 생성된다.The 32 bit MPEG start code is stored as 4 bytes in the 8 bit register bank 265. Conditional access codes are stored as 8-bit bytes in a bank of sixteen 8-bit registers 251. The loading of register banks 251 and 265 is controlled by microprocessor 19 and / or smart card. Start code registers 265 are coupled to a 4 to 1 multiplexer 266, and conditional access code registers are coupled to a 16 to 1 multiplexer 257. Output ports of the multiplexers 257 and 266 are coupled to a two-to-one multiplexer 249. Respective output connections of multiplexer 249 are coupled to respective corresponding second input terminals of comparator 254. [Note that the input and output connections of the multiplexers 249, 257 and 266 are 8 bit buses]. If the respective values appearing at the respective output connections of register 250 are correspondingly identical to the output values represented by the respective output connections of multiplexer 249, then the comparator 254 circuit is then updated for the corresponding data byte. This produces a true signal.
시작 코드 검출을 위하여, 멀티플렉서(266)는 카운터(258)에 의해 주사되어, 암호 해독기(16)로부터 제 1의 4개의 페이로드 데이타 바이트들의 생성과 동시에 4개의 상이한 레지스터들(265)을 비교기에 순차적으로 결합한다. 대안으로, 조건부 액세스 코드 검출을 위하여, 멀티플렉서(257)는 카운터(258)에 의해 주사되어 레지스터들(265) 중 상이한 레지스터들을 비교기 회로(254)에 순차적으로 결합한다.For start code detection, multiplexer 266 is scanned by counter 258 to write four different registers 265 to the comparator concurrently with the generation of the first four payload data bytes from decryptor 16. Combine sequentially. Alternatively, for conditional access code detection, multiplexer 257 is scanned by counter 258 to sequentially combine different ones of registers 265 into comparator circuit 254.
비교기 회로의 출력은 누산 및 테스트 회로(255)에 인가된다. 이 회로(255)는 어떤 미리 결정된 수의 바이트 정합 조건들이 생성되었는지를 결정하고, 그 조건들이 생성된 경우에, 검사하의 특정 페이로드의 나머지 부분에서 인타이틀먼트 데이타에 대해 기입 인에이블 신호를 발생한다. 본 시스템에 있어서, 인타이틀먼트 페이로드 헤더는 4개의 32비트 조건부 액세스 코드들로 배열된 128 비트들을 포함한다. 서로 다른 가입자들의 조건부 액세스 필터들(30)은 128 비트들의 서로 다른 바이트 조합들을 찾도록 배열될 것이다. 예를 들어, 한 가입자 장치는 조건부 액세스 코드들의 제1의 4 바이트들을 정합하도록 배열될 수 있다. 다른 가입자 장치는 조건부 액세스 코드들 등의 제 2의 4 바이트들을 정합하도록 배열될 수 있다. 이들 전형적인 경우들 중 어느 경우에서, 회로(255)는 적절한 4개의 연속된 바이트들에 대해 정합이 발생하였는지의 여부를 결정할 것이다.The output of the comparator circuit is applied to the accumulation and test circuit 255. This circuit 255 determines what predetermined number of byte matching conditions have been generated and, if those conditions are generated, generates a write enable signal for the entitlement data in the remainder of the particular payload under inspection. do. In the present system, the entitlement payload header includes 128 bits arranged in four 32-bit conditional access codes. Conditional access filters 30 of different subscribers will be arranged to find different byte combinations of 128 bits. For example, one subscriber device may be arranged to match the first 4 bytes of conditional access codes. Another subscriber device may be arranged to match a second four bytes, such as conditional access codes. In any of these typical cases, circuit 255 will determine whether a match has occurred for the appropriate four consecutive bytes.
가입자 특정 조건부 액세스 코드들에 대하여 뱅크내 16개의 레지스터들의 사용은 회로 구조를 간단화시킨다. 각각의 가입자가 4 바이트 조건부 액세스 코드를 갖기 때문에, 이 코드는 16개의 레지스터들의 세트에 4번 로딩될 수 있다. 그로인해, 송신기에서, 방송국은 4바이트들의 4개 그룹들에 대하여, 전송되는 조건부 액세스 코드들의 상대 위치에 대해 염려하지 않아도 된다. 대안의 장치는 가입자 특정 조건부 액세스 코드를 보유하는 4개의 레지스터들의 단일 그룹만을 포함할 수있으며, 이들 레지스터들은 인타이틀먼트 페이로드 헤더의 128비트들을 통해, 모듈로 4로, 반복적으로 조사될 수 있다.The use of 16 registers in the bank for subscriber specific conditional access codes simplifies the circuit structure. Since each subscriber has a four byte conditional access code, this code can be loaded four times in a set of sixteen registers. As such, at the transmitter, the broadcaster does not have to worry about the relative location of the conditional access codes transmitted for four groups of 4 bytes. An alternative apparatus may include only a single group of four registers holding a subscriber specific conditional access code, which registers may be repeatedly examined modulo 4, through the 128 bits of the entitlement payload header. .
모든 기능에 대해 232가능한 인타이틀먼트 코드들 각각을 전송하는 것은 비 실용적인데, 이것은 다른 서비스들에 대해 시스템 대역폭을 바람직하지 못하게 한정하고, 또한 너무 많은 시간이 걸리기 때문이다. 이러한 제한은 일부 논리적인 그룹화들에 따라 조건부 액세스 코드를 배열함으로써 다소 경감될 수 있는데, 여기서 그룹화들은 각각의 4 바이트 조건부 액세스 코드들의 3 바이트들로 정의된다. 이러한 방식으로, 그룹내의 모든 가입자들은 4 바이트 조건부 액세스 코드의 1 바이트를 무시하도록 그룹의 각각의 수신기들을 조절함으로써 어드레스될 수 있다 본 예에 있어서, 각각의 4 바이트 액세스 코드는 256 가입자들을 나타낼 것이다. 필터 조절은 예를 들어, 제 1의 4 바이트 위치들에서 모든 제로들을 전송하고, 이 조건을 검출하도록 조건부 액세스 필터를 배열함으로써, 실행된다. 이 조건이 만족되면, 조건부 액세스 필터는 4 바이트들의 각각의 그룹들의 단지 3 바이트들의 정합을 검출하도록 전기적으로 재구성된다.Sending each of the 2 32 possible entitlement codes for all functions is impractical, because it undesirably limits the system bandwidth for other services and also takes too much time. This restriction can be somewhat mitigated by arranging the conditional access code according to some logical groupings, where groupings are defined as 3 bytes of each 4 byte conditional access codes. In this way, all subscribers in the group can be addressed by adjusting the respective receivers of the group to ignore one byte of the four byte conditional access code. In this example, each four byte access code will represent 256 subscribers. Filter adjustment is performed, for example, by sending all zeros at the first four byte positions and arranging the conditional access filter to detect this condition. If this condition is met, the conditional access filter is electrically reconfigured to detect a match of only 3 bytes of each group of 4 bytes.
제 3 변형안이 모든 가입자들의 조건부 액세스를 허용하도록 제공된다. 이는, 인타이틀먼트 페이로드 헤더를 모두 제로들(또는 모든 1)로 코딩함으로써 실행된다. 그러므로, 조건부 액세스 필터는 모두 제로 검출기(all zero detector)[소자들(261 내지 263)]를 포함하도록 또한 배열된다.A third variant is provided to allow conditional access of all subscribers. This is done by coding the entitlement payload header all zeros (or all 1s). Therefore, the conditional access filter is also arranged to include all zero detectors (elements 261 to 263).
데이타의 각각의 도달 바이트들의 비트들은 8 비트 OR 게이트(263)의 각각의단자들에 결합된다. 비트들 중 어느 한 비트가 논리 1이면, OR 게이트(263)는 논리 1의 출력을 발생한다. OR 게이트(263)의 출력은 D-형 래치(261)의 데이타-입력 및 Q-출력 단자들에 각각 결합되는 출력 및 제 2 입력을 갖는 2 입력 OR 게이트(262)의 제 1 입력에 결합된다. D-형 래치는 들어오는 데이타 바이트들의 도달과 동시에 타이밍 회로(259)에 의해 클럭된다. 래치가 리셋된 후에 발생하는 어떤 데이타 바이트들에서 어떤 비트가 논리 1이면, 래치(261)는 다음 리셋 펄스까지 Q-출력에서 논리 1을 나타낼 것이다. 래치(261)의 Q-출력은, 래치가 1 출력 레벨을 나타낼 때마다 제로 출력 레벨을 나타내는 인버터에 결합된다. 따라서, 헤더의 128 비트들(16 바이트들)이 레지스터(250)를 통해 통과한 후에, 인버터의 출력이 하이로 되면, 128 비트들은 제로 값으로 된다. 래치는 각각의 새로운 페이로드의 수신에 앞서 리셋된다. 인타이틀먼트 페이로드 헤더의 통과 후에 인버터로부터 하이 출력 레벨의 검출에 응답하여, 회로(255)는 데이타 기입 인에이블 신호를 발생할 것이다.The bits of each arriving byte of data are coupled to respective terminals of the 8 bit OR gate 263. If any one of the bits is logic one, OR gate 263 generates the output of logic one. An output of the OR gate 263 is coupled to a first input of a two input OR gate 262 having an output and a second input coupled to the data-input and Q-output terminals of the D-type latch 261, respectively. . The D-type latch is clocked by the timing circuit 259 simultaneously with the arrival of incoming data bytes. If any bit in any data bytes that occur after the latch is reset, latch 261 will indicate logic 1 at the Q-output until the next reset pulse. The Q-output of latch 261 is coupled to an inverter representing zero output level whenever the latch represents one output level. Thus, after the 128 bits (16 bytes) of the header pass through the register 250, if the output of the inverter goes high, the 128 bits become zero values. The latch is reset prior to the receipt of each new payload. In response to detection of the high output level from the inverter after passing the entitlement payload header, circuit 255 will generate a data write enable signal.
도 5는 조건부 액세스 필터(30)의 동작에 대한 흐름도이다. 이 프로세스는 연관된 SCID의 검출에 의해 시작된다. 일단 적절한 SCID가 검출되면, 페이로드는 필터(30)에 인가된다{300}. 가입자 특정 조건부 액세스 코드와 헤더의 제1의 4 바이트들의 비교가 행해진다{302}. 정합이 발생하면, 인타이틀먼트 데이타 기입 인에이블이 발생된다{310}. 그렇지 않으면, 제1의 4바이트들이 모두 제로들인지 검사된다{306}. 모두 제로들로 검출되지 않으면, 헤더의 제2의 4 바이트들은 가입자 특정 조건부 액세스 코드와 비교된다{308}. 이들이 정합하면{312}, 기입 인에이블이 발생된다{310}. 그렇지 않으면, 4 바이트들의 제 3 세트는 가입자 특정 조건부 액세스 코드와 비교된다{314}. 이들이 정합하면{316}, 기입 인에이블이 발생된다{310}. 그렇지 않으면, 4 바이트들의 제 4 세트는 가입자 특정 조건부 액세스 코드와 비교 된다{317}. 이들이 정합하면(318), 기입 인에이블이 발생된다{310}. 그렇지 않으면, 헤더의 최종 12 바이트들이 모두 제로인지 검사된다{320}. 최종 12 바이트들이 모두 제로들로 검출되면, 기입 인에이블이 발생되고{310}, 그렇지 않으면, 기입 인에이블이 발생되지 않으며, 프로세스는 다음 패킷을 대기한다{300}. 대안의 장치에 있어서, 단계{320}에서, 시스템은 헤더의 모든 16 바이트들이 모두 제로들인지 검사하도록 프로그램될 수 있다. 또한, 모두 제로들 이외의 어떤 다른 고정된 패턴, 예를 들어 모두 1, 또는 제로와 1이 교대하는 패턴이 이용될 수 있음을 알 수 있다.5 is a flowchart of the operation of conditional access filter 30. This process is started by the detection of the associated SCID. Once the appropriate SCID is detected, the payload is applied to the filter 30 {300}. A comparison of the subscriber specific conditional access code and the first 4 bytes of the header is made {302}. If a match occurs, an entitlement data write enable is generated (310). Otherwise, the first 4 bytes are all checked for zero (306). If all are not detected as zeros, the second 4 bytes of the header are compared with the subscriber specific conditional access code {308}. If they match {312}, write enable is generated {310}. Otherwise, the third set of 4 bytes is compared with the subscriber specific conditional access code {314}. If they match {316}, a write enable occurs {310}. Otherwise, the fourth set of 4 bytes is compared with the subscriber specific conditional access code {317}. If they match 318, a write enable occurs {310}. Otherwise, the last 12 bytes of the header are all checked for zero (320). If the last 12 bytes are all detected as zeros, a write enable is generated (310), otherwise no write enable is generated, and the process waits for the next packet (300). In an alternative apparatus, at step 320, the system may be programmed to check that all 16 bytes of the header are all zeros. It can also be seen that any other fixed pattern other than zeros, for example all 1's, or patterns with alternating zeros and ones, may be used.
단계{306}에서, 제1의 4 바이트들이 모두 제로이면, 헤더의 제2의 4바이트들 중 3개가 가입자 특정 조건부 액세스 코드와 비교된다{354}. 도 4의 장치에 있어서, 4 바이트들의 배타적인 그룹들에 대한 3개의 정합들을 찾도록 소자(255)를 배열함으로써 달성될 수 있다. 4 바이트들 중 3개가 정합하면{326}, 기입 인에이블이 발생되고{322}, 그렇지 않으면, 제 3 세트의 4개의 헤더 바이트들 중 3개가 가입자 특정 조건부 액세스 코드와 비교된다{330}. 4 바이트들 중 3개가 정합하면{332}, 기입 인에이블이 발생되고{322}, 그렇지 않으면, 최종 4바이트들 중 3개가 가입자 특정 조건부 액세스 코드와 비교된다{336}. 이들이 정합하면, 기입 인에이블이 발생되고{322}, 그렇지 않으면, 모두 제로 조건이 검사된다{320}.In step 306, if the first four bytes are all zero, three of the second four bytes of the header are compared with the subscriber specific conditional access code {354}. In the apparatus of FIG. 4, this can be accomplished by arranging element 255 to find three matches for exclusive groups of four bytes. If three of the four bytes match {326}, a write enable is generated {322}, otherwise three of the four sets of four header bytes are compared with a subscriber specific conditional access code {330}. If three of the four bytes match {332}, a write enable is generated {322}, otherwise three of the last four bytes are compared with a subscriber specific conditional access code {336}. If they match, write enable is generated (322), otherwise all zero conditions are checked (320).
4 바이트들의 각각의 그룹들 중 단지 2개의 그룹만이 정합되는 단계들 {324-340}과 유사한 검출의 다른 레벨이 포함될 수 있다는 것을 주목한다. 이는, 예를 들어 제 1의 8바이트들을 모두 제로가 되도록 배열하거나, 제 1의 4바이트들을 모두 1이 되도록 배열함으로써, 조절될 수 있다. 본 예에 있어서, 조건부 액세스 코드들에 의해 인에이블되는 각각의 그룹들은 훨씬 크게 된다.Note that other levels of detection may be included, similar to steps {324-340} where only two of each group of 4 bytes are matched. This can be adjusted, for example, by arranging the first eight bytes to be all zeros or by arranging the first four bytes to be all ones. In this example, the respective groups enabled by the conditional access codes are much larger.
메모리(18)에 인타이틀먼트 페이로드들을 저장하는 것에 관하여, 시스템은 조건부 액세스 코드들에 대해 수신 및 검사될 때, 페이로드 헤더를 메모리에 기입한다. 조건부 액세스 코드가 검출되면, 검출된 기입 인에이블은 메모리 제어로 하여금 페이로드를 계속해서 기입하도록 한다. 역으로, 조건부 액세스 코드가 페이로드의 제 1의 16 바이트들 내에서 검출되지 않은 경우에, 나머지의 페이로드는 메모리에 기입되지 않고, 조건부 액세스 페이로드에 대한 메모리 어드레스는 페이로드 조건부 액세스 헤더의 16 바이트들을 덮어쓰도록 리셋된다.Regarding storing the entitlement payloads in memory 18, the system writes the payload header into the memory when received and checked for conditional access codes. If a conditional access code is detected, the detected write enable causes memory control to continue writing the payload. Conversely, if a conditional access code is not detected within the first 16 bytes of the payload, the remaining payload is not written to the memory and the memory address for the conditional access payload is set to the payload conditional access header. Reset to overwrite 16 bytes.
도 6은 한 번에 32 비트들(4 바이트들)만큼 비교하는 대안의 조건부 액세스 필터이다. 이는 시작 코드의 바이트 위치에 대한 사전 지식 없이 시작 코드들을 검출할 수 있게 한다. 시작 코드는 8-비트 레지스터들(265)에 저장된다. (8비트 레지스터들이 사용되는데, 그 이유는 8비트 μPC 버스가 사용되기 때문이다.) 레지스터들의 출력 포트들은 멀티플렉서(298)의 제 1 세트의 입력들에 결합된다. 가입자 특정 조건부 액세스 코드는, 멀티플렉서(298)의 제 2 세트의 입력들에 결합된 각각의 출력 포트들을 갖는 제 2 레지스터 뱅크(299)에 저장된다. 멀티플렉서(298)는 비교기들(270-273)의 각각의 제 1의 8-비트 입력 포트들에 접속된 한 세트의 출력들을갖는다. 레지스터들(265 또는 299)의 출력 포트들이 비교기들에 결합되었는지 여부는 μPC에 응답하는 누산 및 테스트 회로(297)에 의해 제어된다.6 is an alternative conditional access filter comparing 32 bits (4 bytes) at a time. This makes it possible to detect start codes without prior knowledge of the byte position of the start code. The start code is stored in 8-bit registers 265. (8-bit registers are used because an 8-bit μPC bus is used.) The output ports of the registers are coupled to the inputs of the first set of multiplexer 298. The subscriber specific conditional access code is stored in a second register bank 299 having respective output ports coupled to inputs of the second set of multiplexer 298. Multiplexer 298 has a set of outputs connected to each of the first 8-bit input ports of comparators 270-273. Whether the output ports of registers 265 or 299 are coupled to the comparators is controlled by the accumulation and test circuit 297 responsive to μPC.
암호 해독기(16)로부터의 입력 바이트들은 병렬/직렬 레지스터들(274-277)에 결합된다. 각각의 레지스터들(274-277)은 비교기들(270-273)의 제 2의 8-비트 입력 포트들에 각각 결합되는 병렬 출력 포트들을 갖는다. 본 시스템은, 입력 신호의 4개의 연속적인 바이트들이 레지스터들(274-277)에 현재 로딩되도록, 시간이 맞추어진다. 비교기들의 출력 단자들은 각각의 OR 게이트들(278-281)을 통해 누산 및 테스트 회로(297)에 결합된다. OR 회로들의 제2 입력 단자들은 누산 및 테스트 회로(297)의 각각의 제어 출력 접속부들에 결합된다.Input bytes from decryptor 16 are coupled to parallel / serial registers 274-277. Each register 274-277 has parallel output ports coupled to the second 8-bit input ports of the comparators 270-273, respectively. The system is timed such that four consecutive bytes of the input signal are currently loaded into registers 274-277. Output terminals of the comparators are coupled to the accumulation and test circuit 297 through respective OR gates 278-281. Second input terminals of the OR circuits are coupled to respective control output connections of the accumulation and test circuit 297.
도 4의 장치와 같이, 도 6의 장치는 제 1의 4 바이트들 및 모든 16 바이트들이 모두 제로인 것을 검출하기 위한 모두 제로 검출기(261-263)를 포함한다.Like the apparatus of FIG. 4, the apparatus of FIG. 6 includes an all zero detector 261-263 for detecting that the first 4 bytes and all 16 bytes are all zero.
4바이트 조건부 액세스 코드 검출을 위해, 4바이트들의 연속적인 배타적인 그룹들은 레지스터들(274-277)에 로딩되고, 레지스터들(299)에 포함된 가입자 특정 조건부 액세스 코드에 대해 테스트된다. 모든 4개의 비교기들이 정합을 검출하면, AND 게이트(283)는 정합을 표시하는 논리 1을 발생한다. 비교기들 중 하나의 비교기가 정합을 검출하는데 실패하면, AND 게이트는 논리 제로를 발생한다. 4개의 입력 바이트 조건부 액세스 코드 세트들 중 3개를 검출하기 위하여, 누산 및 테스트 회로(297)는 논리 1값을, OR 게이트들에 결합된 제어 라인들 중 하나의 라인에 인가한다. 이것은 상기 OR 게이트의 출력을 논리 1로 되게 하여, 연관된 비교기로부터 정합을 효율적으로 강제한다. 그로 인해, 조건부 액세스 코드 검출은 4 바이트검출과 같이 연속적인 배타적 4 바이트 그룹들에 대해 수행된다.For four byte conditional access code detection, consecutive exclusive groups of four bytes are loaded into registers 274-277 and tested for subscriber specific conditional access code included in registers 299. If all four comparators detect a match, AND gate 283 generates a logic one indicating the match. If one of the comparators fails to detect a match, the AND gate generates a logic zero. To detect three of the four input byte conditional access code sets, the accumulation and test circuit 297 applies a logic 1 value to one of the control lines coupled to the OR gates. This causes the output of the OR gate to be logic 1, effectively forcing matching from the associated comparator. As such, conditional access code detection is performed on successive exclusive 4-byte groups such as 4-byte detection.
시작 코드 검출을 위하여, 모든 OR 게이트들의 제어 라인들은 논리 제로로 유지된다. 입력 바이트들은 레지스터(274-277)의 캐스케이드 접속부(cascade connection)에 순차적으로 인가되고, 레지스터들(265)에 저장된 시작 코드와 정합하기 위한 테스트는 4 입력 바이트들의 연속적인 포괄적 세트 각각에 대해 행해진다.For start code detection, the control lines of all OR gates remain at logic zero. Input bytes are applied sequentially to the cascade connection of registers 274-277, and a test to match the start code stored in registers 265 is performed for each successive comprehensive set of 4 input bytes. .
도7은 도3에 도시된 메모리 제어기(17)에 대한 전형적인 장치를 도시한 것이다. 각각의 프로그램 성분은 메모리(18)의 서로 다른 인접한 블록에 저장된다. 게다가, 마이크로프로세서(19) 또는 스마트 카드(도시하지 않음)에 의해 발생된 데이타와 같은 다른 데이타가 메모리(18)에 저장될 수 있다.FIG. 7 shows a typical device for the memory controller 17 shown in FIG. Each program component is stored in a different contiguous block of memory 18. In addition, other data such as data generated by the microprocessor 19 or a smart card (not shown) may be stored in the memory 18.
어드레스들은 멀티플렉서(105)에 의해 메모리(18)에 인가되고, 입력 데이타는 멀티플렉서(99)에 의해 메모리(18)에 인가된다. 메모리 관리 회로로부터의 출력 데이타는 다른 멀티플렉서(104)에 의해 신호 처리기들에 제공된다. 멀티플렉서(104)에 의해 제공된 출력 데이타는 마이크로프로세서(19), 메모리(18) 또는 멀티플렉서(99)로부터 직접 유도된다. 프로그램 데이타는 표준 화상 해상도 및 품질이고, 특정 데이타 속도로 발생하는 것으로 가정한다. 한편, 상기 수신기에 의해 제공될 수 있는 고품위 텔레비전 신호, HDTV는 상당히 높은 데이타 속도로 발생한다. 실질적으로, FEC에 의해 제공된 모든 데이타는, 멀티플렉서(99)에서 멀티플렉서(104)로 직접 루팅될 수 있는 보다 높은 속도의 HDTV 신호를 제외하고, 멀티플렉서(99) 및 메모리 I/O 회로(102)를 경유하여 메모리(18)를 통해 루팅될 것이다. 데이타는 암호 해독기(16), 스마트 카드 회로, 마이크로프로세서(19) 및 매체 에러 코드들의 소스(100)로부터 멀티플렉서(99)에 제공된다. 본 명세서에 사용된 용어 "매체 에러 코드들(media error codes)"는, 데이타 스트림 내에 삽입될 특수 코드워드들을 의미하는 것으로, 각각의 신호 처리기(압축 해제기)를 조절하여 시작 코드와 같은 미리 결정된 코드 워드를 검출할 때까지 처리를 중지하고, 그후에, 예를 들어 시작 코드에 따라 처리를 다시 시작하도록 하기 위한 것이다.Addresses are applied to the memory 18 by the multiplexer 105 and input data is applied to the memory 18 by the multiplexer 99. Output data from the memory management circuitry is provided to signal processors by another multiplexer 104. Output data provided by the multiplexer 104 is derived directly from the microprocessor 19, memory 18, or multiplexer 99. Program data is assumed to be at standard image resolution and quality, and occur at a particular data rate. On the other hand, high-definition television signals, HDTVs, which can be provided by the receiver, occur at significantly higher data rates. Substantially, all data provided by the FEC is coupled to the multiplexer 99 and the memory I / O circuit 102, except for higher speed HDTV signals that can be routed directly from the multiplexer 99 to the multiplexer 104. It will be routed through the memory 18 via it. Data is provided to the multiplexer 99 from the decryptor 16, the smart card circuit, the microprocessor 19, and the source 100 of media error codes. As used herein, the term "media error codes" refers to special codewords to be inserted into a data stream, by adjusting each signal processor (decompressor) to determine a predetermined code such as a start code. The processing is stopped until a code word is detected, after which the processing is restarted according to, for example, a start code.
메모리 어드레스들은 프로그램 어드레싱 회로(79-97)로부터, 마이크로프로세서(19)로부터, 스마트 카드 장치(31)로부터, 그리고 보조 패킷 어드레스 카운터(78)로부터 멀티플렉서(105)에 제공된다. 어떤 특정 시간 구간에서 특정 어드레스의 선택은 직접 메모리 액세스(DMA) 회로(98)에 의해 제어된다. 비교기(15)로부터의 SCID 제어 신호들과 각각의 신호 처리기들로부터의 "요구된 데이타(data needed)" 신호들이 DMA(98)에 인가되고, 이에 응답하여, 메모리 액세스 경쟁(memory access contention)이 중재된다. DMA(98)는 서비스 포인터 제어기(93)와 협동하여 각각의 프로그램 신호 성분들에 대해 적절한 판독 또는 기입 어드레스들을 제공한다.Memory addresses are provided to the multiplexer 105 from the program addressing circuit 79-97, from the microprocessor 19, from the smart card device 31, and from the auxiliary packet address counter 78. The selection of a particular address at any particular time interval is controlled by the direct memory access (DMA) circuit 98. SCID control signals from comparator 15 and " data needed " signals from respective signal processors are applied to DMA 98, and in response, memory access contention is established. Mediated. DMA 98 cooperates with service pointer controller 93 to provide appropriate read or write addresses for each program signal component.
여러 신호 성분 메모리 블록들을 위한 각각의 어드레스들은 4 그룹의 프로그램 성분 또는 서비스 포인터 레지스터들(83, 87, 88 및 92)에 의해 발생된다. 각각의 신호 성분들이 저장되는 메모리의 각각의 블록들에 대한 시작 포인터들은 각각의 신호 성분들에 대하여 레지스터들에 포함된다. 시작 포인터들은 고정된 값들이 될 수 있거나, 마이크로프로세서(19)에서 종래의 메모리 관리 방법들에 의해 계산될 수 있다.Respective addresses for the various signal component memory blocks are generated by four groups of program component or service pointer registers 83, 87, 88 and 92. Start pointers for the respective blocks of the memory where the respective signal components are stored are included in registers for the respective signal components. The start pointers may be fixed values or may be calculated by conventional memory management methods in the microprocessor 19.
각각의 블록들의 최종 어드레스에 대한 포인터들은 서비스 레지스터들(88)의 뱅크에 저장되는데, 하나의 포인터는 각각의 포텐셜 프로그램 성분을 위한 것이다. 시작 어드레스들과 유사하게, 종료 또는 최종 어드레스들은 고정된 값들이 될 수 있거나, 마이크로프로세서(19)에 의해 제공된 계산된 값들이 될 수 있다. 시작 및 종료 포인터들에 대해 계산된 값들을 사용하는 것이 바람직한데, 그 이유는 메모리를 덜 차지하면서 보다 다용도의 시스템을 제공하기 때문이다.Pointers to the final address of each block are stored in a bank of service registers 88, one pointer for each potential program component. Similar to the start addresses, the end or final addresses may be fixed values or may be calculated values provided by the microprocessor 19. It is desirable to use calculated values for the start and end pointers, because it provides a more versatile system while using less memory.
메모리 기입 포인터 또는 헤드 포인터들은 가산기(80) 및 서비스 헤드 레지스터들(83)에 의해 발생된다. 각각의 포텐셜 프로그램 성분을 위한 서비스 헤드 레지스터가 존재한다. 기입 또는 헤드 포인터 값은 레지스터(83)내에 저장되며, 메모리 기입 사이클 동안 어드레스 멀티플렉서(105)에 제공된다. 헤드 포인터는 또한 가산기(80)에 결합되는데, 여기서, 헤드 포인트는 1 단위 씩 증분되고, 증분된 포인터는 다음 기입 사이클 동안 적절한 레지스터(83)에 저장된다. 레지스터(83)는 현재 서비스되는 적절한 프로그램 성분을 위하여 서비스 포인터 제어기(93)에 의해 선택된다.Memory write pointers or head pointers are generated by adder 80 and service head registers 83. There is a service head register for each potential program component. The write or head pointer value is stored in register 83 and provided to address multiplexer 105 during a memory write cycle. The head pointer is also coupled to the adder 80, where the head point is incremented by one unit and the incremented pointer is stored in the appropriate register 83 for the next write cycle. Register 83 is selected by service pointer controller 93 for the appropriate program component that is currently being serviced.
본 예에 있어서, 시작 및 종료 포인터들은 16-비트 포인터들로 가정한다. 레지스터들(83)은 16 비트 기입 또는 헤드 포인터들을 제공한다. 16 비트 포인터들은 레지스터들(87 및 88)에 시작 및 종료 포인터들을 로딩하기 위한 16-비트 또는 8-비트 버스들의 사용을 용이하게 하기 위해 선택된다. 다른 한편, 메모리(18)는 18-비트 어드레스들을 갖는다. 18-비트 기입 어드레스들은 시작 포인터들의 2개의 최상위 비트들을 16-비트 헤드 포인터들에 연결함으로써 형성되며, 이 시작 포인터 비트들은 결합된 18-비트 기입 어드레스의 최상위 비트 위치들에 존재한다. 시작 포인터들은 각각의 레지스터들(87)에 의해 서비스 포인터 제어기(93)에 제공된다. 서비스 포인터 제어기는 레지스터들(87)내에 저장된 시작 포인트들로부터 상위의 시작 포인터 비트들을 분석(parse)하고, 이들 비트들을 16-비트 헤드 포인터 버스와 연관시킨다. 이는, 도 8에서 굵은 화살표들로 표시한 것으로, 멀티플렉서(85)로 빠져나가는 헤드 포인터 버스와 조합된 것으로 도시된 버스(96)로 도시되어 있다.In this example, the start and end pointers are assumed to be 16-bit pointers. Registers 83 provide 16 bit write or head pointers. Sixteen bit pointers are selected to facilitate the use of 16-bit or 8-bit buses for loading start and end pointers into registers 87 and 88. On the other hand, memory 18 has 18-bit addresses. The 18-bit write addresses are formed by concatenating the two most significant bits of the start pointers to the 16-bit head pointers, which start pointer bits are at the most significant bit positions of the combined 18-bit write address. Start pointers are provided to the service pointer controller 93 by respective registers 87. The service pointer controller parses the upper start pointer bits from the start points stored in registers 87 and associates these bits with the 16-bit head pointer bus. This is illustrated by the bold arrows in FIG. 8, shown as bus 96 shown in combination with a head pointer bus exiting to multiplexer 85.
도 8에 있어서, 박스들의 위, 중간 및 바닥 행들은 시작 포인터, 어드레스 및 헤드 또는 테일 포인터(tail pointer)의 비트들을 각각 나타낸다. 보다 큰 번호가 매겨진 박스들은 보다 상위인 비트 위치들을 나타낸다. 화살표들은 시작 또는 헤드/테일 포인터들의 비트 위치들로부터 어드레스의 각각의 비트들이 유도되는 것을 나타낸다. 이러한 유도에 있어서, 굵은 화살표들은 정상 상태 동작을 나타낸다.In Figure 8, the top, middle and bottom rows of boxes represent the bits of the start pointer, address and head or tail pointer, respectively. Larger numbered boxes indicate higher bit positions. The arrows indicate that each bit of the address is derived from the bit positions of the start or head / tail pointers. In this derivation, the bold arrows indicate steady state operation.
유사하게, 메모리 판독 포인터들 또는 테일 포인터들은 가산기(79) 및 서비스 테일 레지스터들(92)에 의해 발생된다. 각각의 포텐셜 프로그램 성분을 위한 서비스 테일 레지스터가 존재한다. 판독 또는 테일 포인터 값은 레지스터(92)에 저장되고, 메모리 판독 사이클 동안 어드레스 멀티플렉서(105)에 제공된다. 테일 포인터는 가산기(79)에 또한 결합되고, 1 단위 씩 증분되며, 증분된 포인터는 다음의 판독 사이클 동안 적절한 레지스터(92)에 저장된다. 레지스터들(92)은 현재 서비스되는 적절한 프로그램 성분을 위하여 서비스 포인터 제어기(93)에 의해 선택된다.Similarly, memory read pointers or tail pointers are generated by adder 79 and service tail registers 92. There is a service tail register for each potential program component. The read or tail pointer value is stored in register 92 and provided to address multiplexer 105 during a memory read cycle. The tail pointer is also coupled to the adder 79, incremented by one unit, and the incremented pointer is stored in the appropriate register 92 for the next read cycle. Registers 92 are selected by the service pointer controller 93 for the appropriate program component that is currently being serviced.
레지스터들(92)은 16 비트 테일 포인터들을 제공한다. 18-비트 판독 어드레스들은 시작 포인터들의 2개의 최상위 비트들을 16-비트 테일 포인터들에 연결함으로써 형성되는데, 이 시작 포인터 비트들은 결합된 18-비트 기입 어드레스의 최상위 비트 위치들 내에 존재한다. 서비스 포인터 제어기는 레지스터들(87)내에 저장된 시작 포인터들로부터 상위의 시작 포인터 비트들을 분석하고, 이들 비트들을 16 비트 테일 포인터 버스와 연관시킨다. 이는 멀티플렉서(90)로 빠져나가는 테일 포인터 버스와 조합되어 도시된 버스(94)로 도시되어 있다.Registers 92 provide 16 bit tail pointers. The 18-bit read addresses are formed by concatenating the two most significant bits of the start pointers to the 16-bit tail pointers, which are within the most significant bit positions of the combined 18-bit write address. The service pointer controller analyzes the upper start pointer bits from the start pointers stored in registers 87 and associates these bits with the 16-bit tail pointer bus. This is illustrated by the bus 94 shown in combination with a tail pointer bus that exits to the multiplexer 90.
데이타는 계산된 어드레스에서 메모리(18)에 저장된다. 한 바이트의 데이타를 저장한 후에, 헤드 포인터는 1 씩 증분되고, 이 프로그램 성분에 대한 종료 포인터와 비교되며, 이들이 동일하면, 헤드 포인터의 보다 상위의 비트들은 시작 포인터의 보다 하위의 14 비트로 대체되고, 제로들은 이 어드레스의 헤드 포인터 부분의 보다 하위의 2비트 위치들에 배치된다. 이는 시작 포인터들과 어드레스 사이의 해칭된 화살표와 관련하여 도 8에 도시되어 있다. 이 동작은 서비스 포인터 제어기(93)에서 멀티플렉서(85)로부터의 헤드 포인터 버스로 포인팅하는 화살표(97)로 도시된다. 보다 하위의 14 시작 포인터 비트들의 인가(application)는 헤드 포인터 비트를 무시한다고 가정한다. 1 기입 사이클 동안 어드레스에서 헤드 포인터 비트들을 하위의 시작 포인터 비트로 대체함으로서, 메모리는 상위의 두 개의 시작 포인터 비트들로 지정된 메모리 블록을 통해 스크롤(scroll)하고, 그로 인해, 각각의 패킷의 시작에서 기입 어드레스들을 한 블록 내의 고유의 메모리 위치에 재프로그램하는 것을 방지한다.The data is stored in memory 18 at the calculated address. After storing one byte of data, the head pointer is incremented by 1 and compared to the end pointer for this program element, and if they are the same, the upper bits of the head pointer are replaced by the lower 14 bits of the start pointer. The zeros are placed in the lower two bit positions of the head pointer portion of this address. This is illustrated in FIG. 8 with respect to the hatched arrows between the start pointers and the address. This operation is illustrated by arrow 97 pointing at the service pointer controller 93 to the head pointer bus from the multiplexer 85. It is assumed that the application of the lower 14 start pointer bits ignores the head pointer bit. By replacing the head pointer bits at the address with the lower start pointer bits for one write cycle, the memory scrolls through the memory block designated by the upper two start pointer bits, thereby writing at the beginning of each packet. Prevents reprogramming of addresses into unique memory locations within a block.
헤드 포인터가 테일 포인터[메모리(18)로부터 데이타를 판독하는 위치를 나타내기 위해 이용]와 항상 동일하면, 마이크로프로세서의 인터럽트 섹션으로 한 신호가 전송되어, 헤드-테일 크래쉬(head-tail crash)가 발생되었음을 나타낸다. 이 프로그램 채널로부터 메모리(18)에 더 기입하는 것은 마이크로프로세서가 채널을 다시 인에이블 할때까지 디스에이블된다. 이 경우는 매우 드문 것으로, 정상적인 동작에서는 발생하지 않는다.If the head pointer is always the same as the tail pointer (used to indicate the position to read data from memory 18), a signal is sent to the interrupt section of the microprocessor, so that a head-tail crash Indicates that it occurred. Further writing from this program channel to memory 18 is disabled until the microprocessor enables the channel again. This is very rare and does not occur in normal operation.
데이타는 가산기(79) 및 레지스터들(92)에 의해 계산된 어드레스들에서, 각각의 신호 처리기들의 요청으로 메모리(18)로부터 데이타가 검색된다. 1 바이트의 저장된 데이타를 판독한 후에, 테일 포인터는 1 단위 씩 증분되어 서비스 포인터 제어기(93)에서 논리 채널에 대한 종료 포인터와 비교된다. 테일 및 종료 포인터들이 동일하면, 테일 포인터의 상위 비트들은 시작 포인터의 하위 14 비트들로 대체되고, 제로들은 어드레스의 테일 포인터 부분의 하위의 2개의 비트 위치들에 배치된다. 이는, 제어기(93)로부터 나와서 멀티플렉서(90)로부터의 테일 포인터 버스에 포인팅하는 화살표(95)로 도시된다. 테일 포인터가 현재 헤드 포인터와 동일하다면, 각각의 메모리 블록은 비어있는 것으로 정의되고, 보다 많은 데이타가 이 프로그램 채널에 대한 FEC로부터 수신될 때까지는 더 이상의 바이트가 연관된 신호 처리기로 전송되지 않을 것이다. 기입 또는 판독 어드레스 각각의 헤드 또는 테일 포인터 부분들을 시작 포인터의 하위의 14 비트로 실제적으로 대체하는 것은 적절한 멀티플렉싱에 의해, 또는 3 상태 상호 접속들의 사용에 의해 성취될 수 있다.Data is retrieved from memory 18 at the request of respective signal processors at the addresses computed by adder 79 and registers 92. After reading one byte of stored data, the tail pointer is incremented by one and compared with the end pointer for the logical channel in the service pointer controller 93. If the tail and end pointers are the same, the upper bits of the tail pointer are replaced by the lower 14 bits of the start pointer, and the zeros are placed at the two bit positions below the tail pointer portion of the address. This is illustrated by arrow 95 coming out of controller 93 and pointing to tail pointer bus from multiplexer 90. If the tail pointer is identical to the current head pointer, each memory block is defined as empty and no more bytes will be sent to the associated signal processor until more data is received from the FEC for this program channel. Substantially replacing the head or tail pointer portions of each of the write or read addresses with the lower 14 bits of the start pointer can be accomplished by proper multiplexing or by the use of three state interconnections.
메모리 판독/기입 제어는 서비스 포인터 제어기 및 직접 메모리 액세스, 즉 DMA 소자들(93 및 94)에 의해 수행된다. DMA는 판독 및 기입 사이클들을 스케쥴하도록 프로그램된다. 스케쥴링은 FEC(12)가 메모리에 기입될 데이타를 제공하는지 여부에 의존한다. FEC 데이타 기입 동작들은 어떠한 인입 신호 성분 데이타도 손실하지 않도록 보다 우선하여 실행된다. 도 7에 도시된 전형적인 장치에 있어서, 메모리를 액세스할 수 있는 4가지 형태들이 있다. 이들은 스마트 카드, FEC(12)[보다 정확하게는 암호 해독기(16)], 마이크로프로세서(19) 및 오디오 및 비디오 처리기들과 같은 응용 디바이스들이 있다. 메모리 경쟁은 다음과 같은 방식으로 취급된다. DMA는, 상기 열거한 여러 처리 소자들로부터의 데이타 요청에 응답하여, 각각의 프로그램 성분들을 위한 메모리 블록들을 할당한다. 메모리에 대한 액세스는 95nS 시간 슬롯들내에 제공되는데, 이 동안에는 1 바이트의 데이타가 메모리(18)로부터 판독되거나 그 메모리에 기입된다. "데이타를 제공하는 FEC(FEC Providing Data)", 또는 "데이타를 제공하지 않는 FEC(FEC Not Providing Data)"로 각각 정의된 두 개의 주요한 액세스 할당 모드가 있다. 이들 모드들 각각에 대해서, 시간 슬롯들이 할당되고, 다음과 같은 우선 순위화 되는데, 최대 FEC 데이타 속도를 5M 바이트/초, 또는 각각의 200nS당 1 바이트라고 가정한다. 이들은:Memory read / write control is performed by the service pointer controller and direct memory access, ie DMA elements 93 and 94. The DMA is programmed to schedule read and write cycles. Scheduling depends on whether the FEC 12 provides data to be written to memory. FEC data write operations are prioritized so that no incoming signal component data is lost. In the typical device shown in FIG. 7, there are four forms in which the memory can be accessed. These are application devices such as smart cards, FEC 12 (more precisely decryptor 16), microprocessor 19 and audio and video processors. Memory contention is handled in the following manner. The DMA allocates memory blocks for the respective program components in response to data requests from the various processing elements listed above. Access to the memory is provided in 95 nS time slots, during which one byte of data is read from or written to memory 18. There are two main access assignment modes, each defined as "FEC Providing Data (FEC) that provides data" or "FEC Not Providing Data (FEC) that does not provide data". For each of these modes, time slots are allocated and prioritized as follows, assuming the maximum FEC data rate is 5M bytes / second, or 1 byte for each 200 nS. These are:
데이타를 제공하는 FECFEC provides data
1) FEC 데이타 기입;1) write FEC data;
2) 응용 디바이스 판독/마이크로프로세서 판독/기입;2) application device read / microprocessor read / write;
3) FEC 데이타 기입;3) write FEC data;
4) 마이크로프로세서 판독/기입.4) Read / write microprocessor.
데이타를 제공하지 않는 FECFEC not providing data
1) 스마트 카드 판독/기입;1) smart card read / write;
2) 응용 디바이스 판독/마이크로프로세서 판독/기입;2) application device read / microprocessor read / write;
3) 스마트 카드 판독/기입;3) smart card read / write;
4) 마이크로프로세서 판독/기입.4) Read / write microprocessor.
FEC 데이타 기입은 지연될 수 없기 때문에, FEC(보다 정확하게는 암호 해독기)는, 데이타를 제공할 때 각각의 200 nS 간격 동안 메모리 액세스를 보증해야 된다. 교번 시간 슬롯들은 응용 디바이스들 및 마이크로프로세서에 의해 공유된다. 요청하는 디바이스들에 이용 가능한 데이타가 존재하지 않을 때, 마이크로프로세서는 응용 시간 슬롯들을 사용한다.Since FEC data writes cannot be delayed, the FEC (more precisely the decryptor) must guarantee memory access for each 200 nS interval when providing the data. Alternate time slots are shared by application devices and microprocessors. When there is no data available to the requesting devices, the microprocessor uses application time slots.
제어기(93)는 SCID 검출기와 통신하여 메모리 기입 동작들에 대한 액세스를 위해 각각의 시작, 헤드 및 종료 포인터 레지스터들 중 어느 것을 결정한다. 제어기(93)는 DMA와 통신하여 메모리 판독 동작들에 대한 액세스를 위해 시작, 종료 및 테일 레지스터들 중 어느 것을 결정한다. DMA(98)는 멀티플렉서들(99, 104 및 105)에 의해 대응하는 어드레스들 및 데이타의 선택을 제어한다.Controller 93 communicates with the SCID detector to determine which of the respective start, head and end pointer registers for access to memory write operations. The controller 93 communicates with the DMA to determine which of the start, end and tail registers for access to the memory read operations. DMA 98 controls the selection of corresponding addresses and data by multiplexers 99, 104 and 105.
도 9는 DMA(98)의 메모리 액세스 프로세스의 전형적인 흐름도를 도시한 것이다. DMA는 SCID들의 검출을 통해, 수신된 패킷의 검출 또는 비검출에 응답한다{200}. SCID가 메모리에 기입될 암호 해독기(16)로부터의 데이타의 존재를 나타내는 것으로 검출되면, 암호 해독기로부터의 1 바이트의 프로그램 데이타는 버퍼 메모리(18)에 기입된다{201}. 기입되는 메모리의 블록은 현재의 SCID에 응답하여 처리기(93)에 의해 결정된다. 다음에, DMA는 스마트 카드 및 μPC를 포함하는프로그램 성분 처리기들 중 어떤 처리기가 메모리(18)에 대한 데이타 또는 판독/기입(R/W) 액세스를 요청하는지를 결정한다{202}. 어떤 데이타 요청도 DMA에 대해 실행되지 않으면, 프로세스는 단계{200}로 복귀한다. 데이타 R/W 요청이 실행되면, DMA는 요청 우선 순위를 결정한다{203}. 이는 종래의 인터럽트 루틴에 의해서, 또는 대안적으로, 데이타를 요청하는 프로그램 처리기들의 임의의 순서로 순차적인 한 바이트의 서비스에 의해 달성될 것이다. 예를 들어, 액세스 우선 순위의 임의의 순서가 비디오, 오디오 I, 오디오 II, 스마트 카드 및 μPC라고 가정한다. 또한, 단지 비디오, 오디도 II 및 μPC만이 메모리 액세스를 요청한다고 가정한다. 단계 {203}의 현재 동작 동안, 한 바이트의 비디오가 메모리로부터 판독될 것이다. 단계 {203}의 다음 동작 동안, 한 바이트의 오디오 II는 메모리로부터 판독될 것이며, 다음에 이어서 발생하는 단계{203}의 동작 동안, 한 바이트의 μPC 데이타는 메모리(18) 등에 기입 또는 그 메모리로로부터 판독될 것이다. 스마트 카드 및 μPC 액세스를 위한 어드레스들은 스마트 카드 및 μPC 각각에 의해 제공되지만, 비디오, 오디오 및 프로그램 가이드를 위한 어드레스들은 어드레스 포인터 장치(80-93)으로부터 이용될 수 있음을 주목한다.9 shows an exemplary flow diagram of a memory access process of the DMA 98. The DMA responds to the detection or non-detection of the received packet via detection of SCIDs {200}. If the SCID is detected to indicate the presence of data from the decryptor 16 to be written to the memory, one byte of program data from the decryptor is written to the buffer memory 18 {201}. The block of memory to be written is determined by the processor 93 in response to the current SCID. The DMA then determines which of the program component processors, including the smart card and [mu] PC, requests data or read / write (R / W) access to the memory 18 (202). If no data request is made for the DMA, the process returns to step 200. When the data R / W request is executed, the DMA determines the request priority {203}. This may be accomplished by conventional interrupt routines or, alternatively, by one byte of service sequentially in any order of program processors requesting data. For example, assume that any order of access priority is video, audio I, audio II, smart card and μPC. In addition, assume that only video, Audido II and μPC require memory access. During the current operation of step {203}, one byte of video will be read from the memory. During the next operation of step {203}, one byte of Audio II will be read from the memory, and during the next operation of step {203}, one byte of μPC data is written to or written to memory 18 or the like. Will be read from. Note that addresses for smart card and μPC access are provided by the smart card and μPC respectively, but addresses for video, audio and program guides may be available from the address pointer device 80-93.
일단, 우선 순위 액세스가 설정되면{203}, 필요한 프로그램 처리기에는 메모리(18)에 기입 또는 그 메모리로부터 판독된 한 바이트의 데이타가 서비스된다{204}. 다음에, 암호 해독기(16)로부터의 한 바이트의 데이타가 메모리에 기입된다{205}. μPC가 액세스를 요청하고 있는지 여부를 결정하는 검사가 행해진다{206}. μPC가 액세스를 요청하면, 1 바이트의 데이타가 서비스된다{207}.μPC가 액세스를 요청하지 않으면, 프로세스는 단계{202}로 점프하여 프로그램 처리기들 중 어떤 처리기가 액세스를 요청하고 있는지 여부를 결정한다. 이 방식으로, 인입 데이타는 모든 다른 메모리 액세스 기간에 액세스되도록 항상 보장되며, 중재 메모리 액세스 기간들은 프로그램 처리기들 사이에 확산된다.Once priority access is established {203}, the necessary program processor is serviced with one byte of data written to or read from memory 18 (204). Next, one byte of data from the decryptor 16 is written into the memory {205}. A check is made to determine whether the μPC is requesting access {206}. If the μPC requests access, one byte of data is served {207}. If the μPC does not request access, the process jumps to step {202} to determine which of the program processors is requesting access. do. In this way, incoming data is always guaranteed to be accessed in all other memory access periods, and arbitration memory access periods are spread between program processors.
데이타가 암호 해독기(16)로부터 현재 이용되지 않으면, 즉, SCID가 현재 검출되지 않으면, 프로세스{208-216}가 이어진다. 우선, 스마트 카드가 검사되어 {208}, 메모리 액세스를 요청하고 있는지 여부를 결정한다. 그렇다면, 1 바이트의 메모리 액세스가 제공되며{209}, 그렇지 않다면, 프로그램 처리기들 중 어떤 처리기가 메모리 액세스를 요청하고 있는지를 결정하는 검사가 행해진다{210}. 데이타 R/W 요청이 행해지면, DMA는 요청의 우선 순위를 결정한다{211}. 적절한 처리기에는 1 바이트의 메모리 판독 또는 기입 액세스가 서비스된다. 데이타 R/W 요청이 프로그램 처리기들에 의해 행해지지 않으면, 이 프로세스는 단계{203}로 점프하는데, 여기서는 스마트 카드가 메모리 액세스를 요청하는지를 결정하는 테스트가 수행된다. 그렇다면, 1 바이트의 메모리 액세스가 서비스되고{216}, 그렇지 않다면, 프로세스는 단계{200}로 점프한다.If data is not currently used from decryptor 16, that is, no SCID is currently detected, process {208-216} follows. First, the smart card is checked to determine whether it is requesting memory access {208}. If so, one byte of memory access is provided {209}, otherwise a check is made to determine which of the program processors is requesting the memory access {210}. When a data R / W request is made, the DMA determines the priority of the request {211}. Appropriate processors are serviced with one byte of memory read or write access. If a data R / W request is not made by the program processors, the process jumps to step 203, where a test is performed to determine if the smart card requests memory access. If so, one byte of memory access is served {216}, otherwise the process jumps to step {200}.
본 예에 있어서, "데이타를 제공하지 않는 FEC(FEC Not Providing Data)" 모드일 때, 스마트 카드에는 모든 다른 프로그램 처리기들에 대해 2 대 1의 액세스 우선(two-to-one access precedence)이 제공된다는 것을 인지해야 한다. 이러한 우선 순위는 DMA 장치 내의 프로그램 가능한 상태 머신으로 프로그램되며, μPC에 의해 변경된다. 서두에 언급한 바와같이, 본 시스템은 상호 작용 서비스들을 제공하기 위해 의도되고, μPC(19)는 적어도 부분적으로 상호 작용 동작을 수행하도록 상호 작용 데이타에 응답할 것이다. 이러한 역할에 있어서, μPC(19)는 응용 저장 및 작업 메모리용으로 메모리(18)를 사용할 것이다. 이들의 예들에 있어서, 시스템 운영자는 μPC에 보다 많은 회수의 메모리 액세스를 제공하도록 메모리 액세스 우선 순위를 변경할 수 있다. 메모리 액세스 우선 순위를 재프로그램하는 것은 상호 작용 응용 명령들의 서브세트로서 포함될 수 있다.In this example, when in FEC Not Providing Data (FEC) mode, the smart card is provided with two-to-one access precedence for all other program processors. It should be recognized. This priority is programmed into a programmable state machine in the DMA device and changed by μPC. As mentioned at the outset, the present system is intended to provide interaction services, and the μPC 19 will respond to the interaction data to perform at least partially interactive operations. In this role, μPC 19 will use memory 18 for application storage and working memory. In these examples, the system operator can change the memory access priority to provide more number of memory accesses to μPC. Reprogramming the memory access priority may be included as a subset of interactive application instructions.
패킷들이 손실되었을 때 비디오 성분 신호 스트림에 매체 에러 코드들을 삽입하여, 특정 신호 엔트리 포인트가 데이타 스트림에서 발생할 때까지 압축 해제를 중지시키도록 비디오 신호 압축 해제기를 조절하는 이점이 있다. 비디오 패킷 어디에서 다음의 엔트리 포인트가 발생할지를 예측한다는 것은 비실용적이다. 가능한 고속으로 다음의 엔트리 포인트를 발견하기 위하여, 패킷이 손실되었다는 것을 검출한 후에 제 1 비디오 패킷의 시작에서 매체 에러 코드를 포함하는 것이 필요하다. 도 7의 회로는 모든 비디오 패킷의 시작에서 매체 에러 코드를 배치하고, 선행하는 어떠한 패킷도 손실되지 않은 경우 각각의 패킷들에서 매체 에러 코드를 삭제한다. 매체 에러 코드는, 암호 해독기로부터 도달하는 비디오 페이로드에 앞서 M 기입 사이클들 동안 메모리(18)에 기입함으로써, 현재의 비디오 패킷 페이로드용으로 보유된 제 1의 M 메모리 어드레스 위치들에 삽입된다. 동시에, 멀티플렉서(99)는 DMA(98)에 의해서 조절되어, 소스(100)로부터 메모리(18) I/O에 매체 에러 코드를 인가한다. M은 단지 매체 에러 코드를 저장하는데 필요한 메모리 장소들의 정수이다. 메모리가 8-비트 바이트들을 저장하고, 매체 에러 코드가 32비트라고 가정하면, M은 4와 같게 될 것이다.There is an advantage to inserting media error codes into the video component signal stream when packets are lost, thereby adjusting the video signal decompressor to stop decompression until a particular signal entry point occurs in the data stream. It is impractical to predict where the next entry point will occur in the video packet. In order to find the next entry point as fast as possible, it is necessary to include a media error code at the beginning of the first video packet after detecting that the packet has been lost. The circuit of Figure 7 places a media error code at the beginning of every video packet and deletes the media error code from each packet if no preceding packet is lost. The media error code is inserted in the first M memory address locations held for the current video packet payload by writing to memory 18 during M write cycles prior to the video payload arriving from the decryptor. At the same time, the multiplexer 99 is adjusted by the DMA 98 to apply a media error code from the source 100 to the memory 18 I / O. M is just an integer of the memory locations needed to store the media error code. Assuming the memory stores 8-bit bytes and the media error code is 32 bits, M will be equal to four.
메모리에 매체 에러 코드를 로딩하기 위한 어드레스들은 멀티플렉서(82) 및 멀티플렉서(85)를 통해 각각의 비디오 성분 서비스 레지스터(83)에 의해 제공된다. 메모리 장소들에 매체 에러 코드를 로딩(그렇지 않으면, 비디오 성분 데이타가 로딩)하기 위한 포인터 레지스터(83)로부터 제공된 제 1의 M개의 어드레스들은 통상적으로 비디오 헤드 포인터에 의해 생성되는 다음의 M개의 순차적인 어드레스들이 될 것이라는 것을 알 수 있을 것이다. 이들 동일한 어드레스들은 M-스테이지 지연 소자(84)에 결합되어, 매체 에러 코드의 최종 바이트가 메모리(18)에 저장된 이후에 바로, M개의 어드레스들 중 제1의 어드레스는 지연 소자(84)의 출력에서 이용될 수 있도록 한다.Addresses for loading the media error code into memory are provided by the respective video component service registers 83 through multiplexer 82 and multiplexer 85. The first M addresses provided from the pointer register 83 for loading the media error code into memory locations (otherwise the video component data) are typically the next M sequential generated by the video head pointer. It will be appreciated that the addresses will be. These same addresses are coupled to the M-stage delay element 84 such that immediately after the last byte of the media error code is stored in the memory 18, the first of the M addresses is the output of the delay element 84. To be used in.
메모리에 매체 에러 코드를 로딩하는 타이밍은 손실된 패킷의 결정과 일치한다. 패킷 에러 또는 손실 검출은, 현재의 패킷의 CC 및 HD 데이타에 응답하는 에러 검출기(101)에 의해 수행된다.The timing of loading the medium error code into memory is consistent with the determination of the lost packet. Packet error or loss detection is performed by the error detector 101 responsive to the CC and HD data of the current packet.
패킷 상실이 검출되면, 현재 패킷의 비디오 성분은, 다음 또는 (M+1)번째 어드레스 장소에서 시작하는 메모리(18)에 저장된다. 이는 적절한 레지스터(83)로부터 지연되지 않은 헤드 포인터들을 계속 통과시키도록 멀티플렉서(85)를 조절함으로써 달성된다. 대안으로, 패킷 손실이 검출되지 않으면, 현재 패킷의 비디오 성분의 제 1의 M 바이트들은 매체 에러 코드가 바로 이전에 저장되었던 메모리 장소들에 저장된다.If a packet loss is detected, the video component of the current packet is stored in memory 18 starting at the next or (M + 1) th address location. This is accomplished by adjusting the multiplexer 85 to continue passing non-delayed head pointers from the appropriate register 83. Alternatively, if no packet loss is detected, the first M bytes of the video component of the current packet are stored in memory locations where the media error code was stored just before.
패킷 에러 또는 손실 검출은 현재의 패킷의 CC 및 HD 데이타에 응답하는 에러 검출기(101)에 의해 수행된다. 검출기(101)는 1 단위 씩 이전 패킷의 CC와 다른지를 결정하기 위해 현재의 패킷에서 연속성 카운트 CC를 검사한다. 부가적으로, 현재 패킷의 TOGGLE 비트가 각각의 비디오 프레임에 대한 적절한 상태를 나타내는지를 결정하기 위해 검사된다. CC 값이 정확하지 않다면, 토글 비트의 상태는 검사된다. CC 및 TOGGLE 비트 중 하나 또는 이들 모두가 에러 상태인지에 따라, 제 1 또는 제 2 모드의 에러 정정이 각각 실행된다. CC 및 TOGGLE 비트 모두 에러가 있는 것으로 시작되는 제 2 모드에 있어서, 시스템은 화상층 헤더를 포함하는 패킷으로 리셋하도록 조절된다. 단지 CC만이 에러가 있는 경우의 제 1 모드에 있어서, 시스템은 슬라이스층 헤드를 포함하는 패킷으로 리셋하도록 조절된다. (슬라이스층은 프레임내의 압축된 데이타의 서브셋트이다.) 제 1 및 제 2 모드 모두에 있어서, 메모리에 기입된 매체 에러 코드는 각각의 페이로드에 보유되어 압축 해제기에 정정 동작을 실행할 것을 알려준다.Packet error or loss detection is performed by the error detector 101 responsive to the CC and HD data of the current packet. Detector 101 checks the continuity count CC in the current packet by one unit to determine if it is different from the CC of the previous packet. In addition, it is checked to determine if the TOGGLE bit of the current packet indicates an appropriate state for each video frame. If the CC value is not correct, the state of the toggle bit is checked. Depending on whether one or both of the CC and TOGGLE bits are in error state, error correction in the first or second mode is performed respectively. In a second mode in which both the CC and TOGGLE bits begin with an error, the system is adjusted to reset to a packet containing a picture layer header. In the first mode where only CC has an error, the system is adjusted to reset to the packet containing the slice layer head. (The slice layer is a subset of the compressed data in the frame.) In both the first and second modes, media error codes written to the memory are held in each payload to inform the decompressor to perform a corrective operation.
SCID 검출기, 암호 해독기, 어드레싱 회로, 조건부 액세스 필터 및 스마트 카드 인터페이스가 단일의 집적 회로에 모두 포함되도록 시스템을 분할하는 것이 특히 효율적이라는 것이 발견되었다. 이는 중요한 타이밍 제한을 초래할 수 있는 외부 경로의 수를 제한한다.It has been found that it is particularly efficient to partition the system so that the SCID detector, decryptor, addressing circuitry, conditional access filter and smart card interface are all contained in a single integrated circuit. This limits the number of external paths that can lead to significant timing limitations.
Claims (7)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2002-7016014A KR100400800B1 (en) | 1994-04-22 | 1995-03-15 | A method for processing a packetized transport stream |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/232,794 US5619501A (en) | 1994-04-22 | 1994-04-22 | Conditional access filter as for a packet video signal inverse transport system |
US232,794 | 1994-04-22 |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2000-7002639A Division KR100392025B1 (en) | 1994-04-22 | 1995-03-15 | Conditional Access information arrangement |
KR10-2002-7016014A Division KR100400800B1 (en) | 1994-04-22 | 1995-03-15 | A method for processing a packetized transport stream |
Publications (2)
Publication Number | Publication Date |
---|---|
KR970703083A KR970703083A (en) | 1997-06-10 |
KR100384212B1 true KR100384212B1 (en) | 2003-08-21 |
Family
ID=22874615
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2000-7002639A KR100392025B1 (en) | 1994-04-22 | 1995-03-15 | Conditional Access information arrangement |
KR1019960706068A KR100384212B1 (en) | 1994-04-22 | 1995-03-15 | Conditional Access information arrangement |
KR10-2002-7016014A KR100400800B1 (en) | 1994-04-22 | 1995-03-15 | A method for processing a packetized transport stream |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2000-7002639A KR100392025B1 (en) | 1994-04-22 | 1995-03-15 | Conditional Access information arrangement |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2002-7016014A KR100400800B1 (en) | 1994-04-22 | 1995-03-15 | A method for processing a packetized transport stream |
Country Status (14)
Country | Link |
---|---|
US (4) | US5619501A (en) |
EP (2) | EP0756801B1 (en) |
JP (26) | JP4316008B2 (en) |
KR (3) | KR100392025B1 (en) |
CN (3) | CN1158871C (en) |
CA (1) | CA2188127C (en) |
DE (1) | DE69505369T2 (en) |
ES (2) | ES2162397T3 (en) |
HK (2) | HK1005403A1 (en) |
MX (1) | MX9604992A (en) |
MY (2) | MY118737A (en) |
SG (1) | SG71707A1 (en) |
TW (1) | TW237582B (en) |
WO (1) | WO1995029560A1 (en) |
Families Citing this family (132)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6292568B1 (en) | 1966-12-16 | 2001-09-18 | Scientific-Atlanta, Inc. | Representing entitlements to service in a conditional access system |
US7168084B1 (en) | 1992-12-09 | 2007-01-23 | Sedna Patent Services, Llc | Method and apparatus for targeting virtual objects |
US9286294B2 (en) | 1992-12-09 | 2016-03-15 | Comcast Ip Holdings I, Llc | Video and digital multimedia aggregator content suggestion engine |
US5619501A (en) * | 1994-04-22 | 1997-04-08 | Thomson Consumer Electronics, Inc. | Conditional access filter as for a packet video signal inverse transport system |
US5875303A (en) * | 1994-10-11 | 1999-02-23 | U.S. Philips Corporation | Method and arrangement for transmitting an interactive audiovisual program |
US6246767B1 (en) | 1995-04-03 | 2001-06-12 | Scientific-Atlanta, Inc. | Source authentication of download information in a conditional access system |
US6937729B2 (en) | 1995-04-03 | 2005-08-30 | Scientific-Atlanta, Inc. | Representing entitlements to service in a conditional access system |
US6560340B1 (en) | 1995-04-03 | 2003-05-06 | Scientific-Atlanta, Inc. | Method and apparatus for geographically limiting service in a conditional access system |
US7224798B2 (en) | 1995-04-03 | 2007-05-29 | Scientific-Atlanta, Inc. | Methods and apparatus for providing a partial dual-encrypted stream in a conditional access overlay system |
US6424717B1 (en) | 1995-04-03 | 2002-07-23 | Scientific-Atlanta, Inc. | Encryption devices for use in a conditional access system |
US6252964B1 (en) | 1995-04-03 | 2001-06-26 | Scientific-Atlanta, Inc. | Authorization of services in a conditional access system |
US8548166B2 (en) * | 1995-04-03 | 2013-10-01 | Anthony J. Wasilewski | Method for partially encrypting program data |
US5920572A (en) * | 1995-06-30 | 1999-07-06 | Divicom Inc. | Transport stream decoder/demultiplexer for hierarchically organized audio-video streams |
US7562392B1 (en) * | 1999-05-19 | 2009-07-14 | Digimarc Corporation | Methods of interacting with audio and ambient music |
FR2740636B1 (en) * | 1995-10-31 | 1997-11-28 | Thomson Multimedia Sa | PROCESS ALLOWING THE CASCADE OF DETACHABLE CONDITIONAL ACCESS MODULES, CIRCUIT FOR INSERTING A PREDEFINED SEQUENCE AND DETECTION CIRCUIT OF THE SAID SEQUENCE FOR THE IMPLEMENTATION OF THE PROCEDURE |
US5893132A (en) | 1995-12-14 | 1999-04-06 | Motorola, Inc. | Method and system for encoding a book for reading using an electronic book |
US5835493A (en) * | 1996-01-02 | 1998-11-10 | Divicom, Inc. | MPEG transport stream remultiplexer |
KR100192504B1 (en) * | 1996-01-05 | 1999-06-15 | 구자홍 | The data input-output apparatus of mpeg2 transport decoder |
FR2751154B1 (en) * | 1996-07-15 | 1998-09-11 | Schlumberger Ind Sa | INFORMATION DIVERSIFICATION SYSTEM IN A PRODUCT OR SERVICE DISTRIBUTION NETWORK |
US6366326B1 (en) * | 1996-08-01 | 2002-04-02 | Thomson Consumer Electronics Inc. | System for acquiring, processing, and storing video data and program guides transmitted in different coding formats |
US5946045A (en) * | 1996-08-01 | 1999-08-31 | Thomson Consumer Electronics, Inc. | System for forming program guides and video data for storage and transmission in different coding formats |
US6414726B1 (en) * | 1996-11-01 | 2002-07-02 | Texas Instruments Incorporated | Device for identifying packets of digital data and a receiver for digital television signals equipped with such a device |
DE19710972A1 (en) * | 1997-03-17 | 1998-10-01 | Ulrich Kretzschmar | Method and device for data transmission |
ID23380A (en) * | 1997-03-21 | 2000-04-20 | Canal & Siciete Anonyme | METHODS AND APARATUS FOR PREVENTING CHEAT ACCESS IN REQUIRED ACCESS SYSTEMS |
WO1998044683A1 (en) * | 1997-04-01 | 1998-10-08 | Matsushita Electric Industrial Co., Ltd. | Digital communication system, transmitter, and data selector |
BR9714607B1 (en) * | 1997-04-14 | 2011-12-13 | method for automatically forming a composite program guide for display from comparing data from multiple sources. | |
JP3356203B2 (en) * | 1997-06-09 | 2002-12-16 | 日本電気株式会社 | MPEG2 transport stream separation method and circuit |
US6462791B1 (en) * | 1997-06-30 | 2002-10-08 | Intel Corporation | Constrained motion estimation and compensation for packet loss resiliency in standard based codec |
EP0893921A1 (en) * | 1997-07-25 | 1999-01-27 | Scientific Atlanta, Inc. | Programmable two-level packet filter |
US5948136A (en) * | 1997-07-30 | 1999-09-07 | Sony Corporation | Hardware authentication mechanism for transmission of data between devices on an IEEE 1394-1995 serial bus network |
JP2001513587A (en) * | 1997-07-31 | 2001-09-04 | サイエンティフィック−アトランタ・インコーポレーテッド | Verification of source of information program in conditional access system |
EP1189438A3 (en) * | 1997-08-01 | 2009-04-22 | Scientific-Atlanta, Inc. | Method and apparatus for geographically limiting service in a conditional access system |
AU8823698A (en) * | 1997-08-01 | 1999-02-22 | Scientific-Atlanta, Inc. | Encryption devices for use in a conditional access system |
JP2002506296A (en) * | 1997-08-01 | 2002-02-26 | サイエンティフィック−アトランタ・インコーポレーテッド | Creating Services in the Conditional Access System |
EP1193974A3 (en) * | 1997-08-01 | 2009-04-08 | Scientific-Atlanta, Inc. | Representing entitlements to service in a conditional access system |
JP2003521818A (en) * | 1997-08-01 | 2003-07-15 | サイエンティフィック−アトランタ, インコーポレイテッド | Authentication of services in conditional access systems |
US7515712B2 (en) | 1997-08-01 | 2009-04-07 | Cisco Technology, Inc. | Mechanism and apparatus for encapsulation of entitlement authorization in conditional access system |
AU8679898A (en) * | 1997-08-01 | 1999-02-22 | Scientific-Atlanta, Inc. | Method and apparatus for geographically limiting service in a conditional accesssystem |
US6275507B1 (en) | 1997-09-26 | 2001-08-14 | International Business Machines Corporation | Transport demultiplexor for an MPEG-2 compliant data stream |
US6091772A (en) * | 1997-09-26 | 2000-07-18 | International Business Machines, Corporation | Black based filtering of MPEG-2 compliant table sections |
US6072771A (en) * | 1997-09-26 | 2000-06-06 | International Business Machines Corporation | Detection of errors in table data |
US6115422A (en) * | 1997-09-26 | 2000-09-05 | International Business Machines Corporation | Protocol and procedure for time base change in an MPEG-2 compliant datastream |
US6356567B2 (en) | 1997-09-26 | 2002-03-12 | International Business Machines Corporation | Embedded clock recovery and difference filtering for an MPEG-2 compliant transport stream |
US6229801B1 (en) | 1997-09-26 | 2001-05-08 | International Business Machines Corporation | Delivery of MPEG2 compliant table data |
US6181706B1 (en) | 1997-09-26 | 2001-01-30 | International Business Machines Corporation | Common buffer for multiple streams and control registers in an MPEG-2 compliant transport register |
US6088357A (en) * | 1997-09-26 | 2000-07-11 | International Business Machines Corporation | Auxiliary transport assist processor especially for an MPEG-2 compliant decoder |
US6078594A (en) * | 1997-09-26 | 2000-06-20 | International Business Machines Corporation | Protocol and procedure for automated channel change in an MPEG-2 compliant datastream |
US6195403B1 (en) | 1997-09-26 | 2001-02-27 | International Business Machines Corporation | Pulse generator for a voltage controlled oscillator |
DE19745969C2 (en) * | 1997-10-17 | 2002-03-07 | Deutsche Telekom Ag | Method and device for forwarding certain data, in particular reception rights in a pay TV terminal |
JP3389843B2 (en) * | 1997-10-17 | 2003-03-24 | 日本電気株式会社 | Digital broadcast receiving system in information processing device |
US6721329B1 (en) * | 1997-11-04 | 2004-04-13 | Koninklijke Philips Electronics N.V. | Communication network using different transmission properties |
KR100252972B1 (en) * | 1997-12-31 | 2000-04-15 | 구자홍 | Conditional access system |
US6292490B1 (en) | 1998-01-14 | 2001-09-18 | Skystream Corporation | Receipts and dispatch timing of transport packets in a video program bearing stream remultiplexer |
US6351471B1 (en) | 1998-01-14 | 2002-02-26 | Skystream Networks Inc. | Brandwidth optimization of video program bearing transport streams |
US6195368B1 (en) | 1998-01-14 | 2001-02-27 | Skystream Corporation | Re-timing of video program bearing streams transmitted by an asynchronous communication link |
US6351474B1 (en) * | 1998-01-14 | 2002-02-26 | Skystream Networks Inc. | Network distributed remultiplexer for video program bearing transport streams |
US6246701B1 (en) | 1998-01-14 | 2001-06-12 | Skystream Corporation | Reference time clock locking in a remultiplexer for video program bearing transport streams |
US6263466B1 (en) * | 1998-03-05 | 2001-07-17 | Teledesic Llc | System and method of separately coding the header and payload of a data packet for use in satellite data communication |
EP0964572A1 (en) * | 1998-06-08 | 1999-12-15 | CANAL+ Société Anonyme | Decoder and security module for a digital transmission system |
US6535919B1 (en) | 1998-06-29 | 2003-03-18 | Canon Kabushiki Kaisha | Verification of image data |
FR2781324B1 (en) * | 1998-07-20 | 2000-09-08 | Sagem | METHOD FOR TECHNICAL UPDATING OF A PACKET BROADCAST DATA RECEIVER AND REMOVABLE COMPUTER MEDIA FOR IMPLEMENTING THE METHOD |
US9924234B2 (en) | 1998-07-23 | 2018-03-20 | Comcast Ip Holdings I, Llc | Data structure and methods for providing an interactive program |
US6754905B2 (en) | 1998-07-23 | 2004-06-22 | Diva Systems Corporation | Data structure and methods for providing an interactive program guide |
BR9912385A (en) | 1998-07-23 | 2002-01-15 | Diva Systems Corp | User interface generated on a head end, interactive program guide, and processes for generating and distributing a user interface, and interacting with an interactive program guide |
JP2000092118A (en) * | 1998-09-08 | 2000-03-31 | Hitachi Ltd | Programmable network |
FR2783335B1 (en) * | 1998-09-11 | 2000-10-13 | Thomson Multimedia Sa | METHOD FOR LOADING CONDITIONAL ACCESS SYSTEM FEES AND DEVICE IMPLEMENTING THE METHOD |
CN1295763B (en) * | 1999-01-28 | 2010-06-23 | 爱迪德艾恩德霍芬公司 | Transmission system |
FI106593B (en) * | 1999-02-15 | 2001-02-28 | Valtion Teknillinen | IP multicast service without return connection |
JP4356131B2 (en) * | 1999-02-19 | 2009-11-04 | ソニー株式会社 | Digital broadcast transmission method and digital broadcast transmission apparatus |
JP2000295594A (en) * | 1999-04-09 | 2000-10-20 | Pioneer Electronic Corp | Viewing control system for catv |
US6711620B1 (en) * | 1999-04-14 | 2004-03-23 | Matsushita Electric Industrial Co. | Event control device and digital broadcasting system |
US7096487B1 (en) | 1999-10-27 | 2006-08-22 | Sedna Patent Services, Llc | Apparatus and method for combining realtime and non-realtime encoded content |
US6621870B1 (en) * | 1999-04-15 | 2003-09-16 | Diva Systems Corporation | Method and apparatus for compressing video sequences |
US6904610B1 (en) | 1999-04-15 | 2005-06-07 | Sedna Patent Services, Llc | Server-centric customized interactive program guide in an interactive television environment |
US6754271B1 (en) | 1999-04-15 | 2004-06-22 | Diva Systems Corporation | Temporal slice persistence method and apparatus for delivery of interactive program guide |
WO2000074385A2 (en) * | 1999-05-27 | 2000-12-07 | University Of Maryland, College Park | 3d wavelet based video codec with human perceptual model |
US6804782B1 (en) | 1999-06-11 | 2004-10-12 | General Instrument Corporation | Countermeasure to power attack and timing attack on cryptographic operations |
US6317463B1 (en) * | 1999-06-14 | 2001-11-13 | Mitsubishi Electric Research Laboratories, Inc. | Method and apparatus for filtering data-streams |
US6621817B1 (en) | 1999-07-06 | 2003-09-16 | Texas Instruments Incorporated | Transport packet parser |
UA69439C2 (en) * | 1999-07-09 | 2004-09-15 | Награвізьйон Са | System for performing purchase being influenced by the impulse for pay television |
US6715076B1 (en) * | 1999-10-21 | 2004-03-30 | Koninklijke Philips Electronics N.V. | Video signal authentication system |
CA2388606C (en) | 1999-10-27 | 2009-12-29 | Diva Systems Corporation | Picture-in-picture and multiple video streams using slice-based encoding |
US9668011B2 (en) * | 2001-02-05 | 2017-05-30 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Single chip set-top box system |
US8284845B1 (en) * | 2000-01-24 | 2012-10-09 | Ati Technologies Ulc | Method and system for handling data |
JP2001251568A (en) * | 2000-03-02 | 2001-09-14 | Pioneer Electronic Corp | Device and method for displaying program guide |
US6898285B1 (en) * | 2000-06-02 | 2005-05-24 | General Instrument Corporation | System to deliver encrypted access control information to support interoperability between digital information processing/control equipment |
AU2001292816A1 (en) * | 2000-09-21 | 2002-04-02 | Aaron E. Zydonik | Satellite television distribution system |
FI111423B (en) * | 2000-11-28 | 2003-07-15 | Nokia Corp | A system for securing post-handover communications |
US8103877B2 (en) | 2000-12-21 | 2012-01-24 | Digimarc Corporation | Content identification and electronic tickets, coupons and credits |
JP2002247543A (en) * | 2001-02-21 | 2002-08-30 | Sony Corp | Transmitting device and method, receiving device and method, recording medium and program |
US7908628B2 (en) | 2001-08-03 | 2011-03-15 | Comcast Ip Holdings I, Llc | Video and digital multimedia aggregator content coding and formatting |
US7793326B2 (en) | 2001-08-03 | 2010-09-07 | Comcast Ip Holdings I, Llc | Video and digital multimedia aggregator |
US8880709B2 (en) * | 2001-09-12 | 2014-11-04 | Ericsson Television Inc. | Method and system for scheduled streaming of best effort data |
US7599369B2 (en) * | 2001-09-27 | 2009-10-06 | Broadcom Corporation | Apparatus and methods for hardware payload header suppression, expansion, and verification in a DOCSIS network |
EP1320006A1 (en) * | 2001-12-12 | 2003-06-18 | Canal+ Technologies Société Anonyme | Processing data |
FR2835371B1 (en) * | 2002-01-31 | 2004-04-16 | Viaccess Sa | METHOD AND DEVICE FOR TRANSMITTING ACCESS MESSAGE MANAGEMENT MESSAGE |
US20040199565A1 (en) * | 2003-02-21 | 2004-10-07 | Visharam Mohammed Zubair | Method and apparatus for supporting advanced coding formats in media files |
US20030163477A1 (en) * | 2002-02-25 | 2003-08-28 | Visharam Mohammed Zubair | Method and apparatus for supporting advanced coding formats in media files |
US7613727B2 (en) * | 2002-02-25 | 2009-11-03 | Sont Corporation | Method and apparatus for supporting advanced coding formats in media files |
US7552343B2 (en) * | 2002-03-19 | 2009-06-23 | Nxp B.V. | Conditional access control |
US20040006575A1 (en) * | 2002-04-29 | 2004-01-08 | Visharam Mohammed Zubair | Method and apparatus for supporting advanced coding formats in media files |
US7831990B2 (en) * | 2002-04-29 | 2010-11-09 | Sony Corporation | Generic adaptation layer for JVT video |
US20030208777A1 (en) * | 2002-05-02 | 2003-11-06 | Daniel Danker | Addressed broadcast messaging |
US20050068952A1 (en) * | 2002-05-24 | 2005-03-31 | Deiss Michael S. | Conditional access filter as for a packet video signal inverse transport system |
AU2003251491A1 (en) * | 2002-06-07 | 2003-12-22 | Yahoo. Inc. | Method and system for controling and monitoring a web-cast |
CA2473767C (en) | 2002-11-20 | 2012-10-23 | Matsushita Electric Industrial Co., Ltd. | Moving picture prediction method, moving picture coding method and apparatus, and moving picture decoding method and apparatus |
US7000241B2 (en) * | 2002-11-21 | 2006-02-14 | The Directv Group, Inc. | Method and apparatus for minimizing conditional access information overhead while ensuring conditional access information reception in multi-tuner receivers |
US20040193289A1 (en) * | 2002-12-31 | 2004-09-30 | Shi Chen | Decoding system and method |
US7930711B2 (en) * | 2003-03-06 | 2011-04-19 | Wegener Communications, Inc. | Apparatus and method for addressing control in a network for distributed data |
US7970056B2 (en) * | 2003-06-26 | 2011-06-28 | Lsi Corporation | Method and/or apparatus for decoding an intra-only MPEG-2 stream composed of two separate fields encoded as a special frame picture |
US7693222B2 (en) * | 2003-08-13 | 2010-04-06 | Ericsson Television Inc. | Method and system for re-multiplexing of content-modified MPEG-2 transport streams using PCR interpolation |
US8396216B2 (en) | 2003-11-21 | 2013-03-12 | Howard G. Pinder | Partial dual-encryption using program map tables |
JP4631289B2 (en) * | 2004-02-23 | 2011-02-16 | パナソニック株式会社 | Communications system |
US7447254B1 (en) * | 2004-03-25 | 2008-11-04 | Cypress Semiconductor Corp. | Self-correlating pseudo-noise pairing |
US7543317B2 (en) * | 2004-08-17 | 2009-06-02 | The Directv Group, Inc. | Service activation of set-top box functionality using broadcast conditional access system |
JP4690696B2 (en) * | 2004-10-29 | 2011-06-01 | 株式会社東芝 | Digital broadcast receiving apparatus and method |
US20060098739A1 (en) * | 2004-11-09 | 2006-05-11 | Lsi Logic Corporation | Video frame encoder driven by repeat decisions |
US7420616B2 (en) * | 2004-12-07 | 2008-09-02 | Lsi Corporation | Video encoder with repeat field to repeat frame conversion |
DE102005015402A1 (en) * | 2005-02-02 | 2006-08-03 | Rohde & Schwarz Sit Gmbh | Data container e.g. for telecommunications system, assigns useful data to equipment or system with identification data zone |
US20070079342A1 (en) * | 2005-09-30 | 2007-04-05 | Guideworks, Llc | Systems and methods for managing local storage of on-demand content |
US7756194B1 (en) | 2005-11-04 | 2010-07-13 | Cypress Semiconductor Corporation | Circuit and method for decoding code phase modulated signals |
US7796694B1 (en) | 2005-11-04 | 2010-09-14 | Cypress Semiconductor Corporation | Circuit and method or encoding DSSS signals |
US8832773B2 (en) * | 2006-01-17 | 2014-09-09 | Broadcom Corporation | System and method for transport PID broadcast scheme |
US8775319B2 (en) | 2006-05-15 | 2014-07-08 | The Directv Group, Inc. | Secure content transfer systems and methods to operate the same |
EP2091256A1 (en) * | 2008-02-18 | 2009-08-19 | Nagravision S.A. | Method for the removal of artefacts from a transmitted digital audio/video signal |
US9414031B2 (en) | 2008-11-26 | 2016-08-09 | Echostar Technologies L.L.C. | Account-specific encryption key |
US8140792B2 (en) * | 2009-02-25 | 2012-03-20 | International Business Machines Corporation | Indirectly-accessed, hardware-affine channel storage in transaction-oriented DMA-intensive environments |
US8683095B1 (en) * | 2010-06-02 | 2014-03-25 | Marvell International Ltd | Packet identification tracker |
US9154813B2 (en) | 2011-06-09 | 2015-10-06 | Comcast Cable Communications, Llc | Multiple video content in a composite video stream |
GB2509759A (en) * | 2013-01-14 | 2014-07-16 | Sony Corp | Receiving audio/visual content-related non-viewing information via unused transmission channels |
DE102017208823A1 (en) * | 2017-05-24 | 2018-11-29 | Wago Verwaltungsgesellschaft Mbh | Initialization of a local bus |
CN113518259B (en) * | 2021-05-25 | 2023-06-09 | 龙迅半导体(合肥)股份有限公司 | Data processing method and device |
Family Cites Families (83)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3970989A (en) * | 1974-03-06 | 1976-07-20 | Ontel Corporation | Data transfer error check |
DE3069762D1 (en) * | 1980-08-26 | 1985-01-17 | Ibm | System for the retransmission of incorrectly received numbered frames in a data transmission system |
US4371963A (en) * | 1980-12-24 | 1983-02-01 | Ncr Corporation | Method and apparatus for detecting and correcting errors in a memory |
US4965825A (en) * | 1981-11-03 | 1990-10-23 | The Personalized Mass Media Corporation | Signal processing apparatus and methods |
US4637023A (en) * | 1983-02-14 | 1987-01-13 | Prime Computer, Inc. | Digital data error correction method and apparatus |
US4547804A (en) * | 1983-03-21 | 1985-10-15 | Greenberg Burton L | Method and apparatus for the automatic identification and verification of commercial broadcast programs |
EP0151147B1 (en) * | 1983-07-22 | 1988-04-20 | Independent Broadcasting Authority | Security system for television signal encryption |
AU559311B2 (en) * | 1984-02-15 | 1987-03-05 | Matsushita Electric Industrial Co., Ltd. | Pay tv charge/time data display |
JPH0619913B2 (en) * | 1984-03-30 | 1994-03-16 | パイオニア株式会社 | Error correction method for data carried in video format signal |
JPH0691526B2 (en) * | 1985-03-08 | 1994-11-14 | 株式会社東芝 | Communications system |
US4866770A (en) * | 1986-07-08 | 1989-09-12 | Scientific Atlanta, Inc. | Method and apparatus for communication of video, audio, teletext, and data to groups of decoders in a communication system |
US4937866A (en) * | 1986-08-13 | 1990-06-26 | U.S. Philips Corporation | System for decoding transmitted scrambled signals |
US4829589A (en) * | 1987-06-02 | 1989-05-09 | Kabushiki Kaisha Toshiba | Anti-tapping system |
US5208856A (en) * | 1988-12-23 | 1993-05-04 | Laboratoire Europeen De Recherches Electroniques Avancees | Scrambling and unscrambling method for composite video signals and implementing device |
US5319453A (en) * | 1989-06-22 | 1994-06-07 | Airtrax | Method and apparatus for video signal encoding, decoding and monitoring |
US5335233A (en) * | 1990-12-31 | 1994-08-02 | International Business Machines Corporation | Data packet format |
US5430738A (en) * | 1991-01-31 | 1995-07-04 | Pioneer Electronic Corporation | Information transmission system for transmitting a digital information signal divided into packets with an information signal error diagnosis and correction function |
US5168356A (en) * | 1991-02-27 | 1992-12-01 | General Electric Company | Apparatus for segmenting encoded video signal for transmission |
TW237589B (en) * | 1991-02-27 | 1995-01-01 | Gen Electric | |
US5247363A (en) * | 1992-03-02 | 1993-09-21 | Rca Thomson Licensing Corporation | Error concealment apparatus for hdtv receivers |
US5289276A (en) * | 1992-06-19 | 1994-02-22 | General Electric Company | Method and apparatus for conveying compressed video data over a noisy communication channel |
EP0582122B1 (en) * | 1992-07-21 | 1999-03-24 | Matsushita Electric Industrial Co., Ltd. | Scramble apparatus and descramble apparatus |
ATE183352T1 (en) * | 1992-12-09 | 1999-08-15 | Discovery Communicat Inc | IMPROVED TOP-UP TERMINAL FOR CABLE TELEVISION DISTRIBUTION SYSTEMS |
US5333135A (en) * | 1993-02-01 | 1994-07-26 | North American Philips Corporation | Identification of a data stream transmitted as a sequence of packets |
US5414694A (en) * | 1993-02-19 | 1995-05-09 | Advanced Micro Devices, Inc. | Address tracking over repeater based networks |
US5406626A (en) * | 1993-03-15 | 1995-04-11 | Macrovision Corporation | Radio receiver for information dissemenation using subcarrier |
US5285497A (en) * | 1993-04-01 | 1994-02-08 | Scientific Atlanta | Methods and apparatus for scrambling and unscrambling compressed data streams |
US5381181A (en) * | 1993-05-13 | 1995-01-10 | Thomson Consumer Electronics, Inc. | Clock recovery apparatus as for a compressed video signal |
US5376969A (en) * | 1993-11-15 | 1994-12-27 | Rca Thomson Licensing Corporation | Method and apparatus for conveying compressed video data over a noisy communication channel |
US5583562A (en) * | 1993-12-03 | 1996-12-10 | Scientific-Atlanta, Inc. | System and method for transmitting a plurality of digital services including imaging services |
US5420866A (en) * | 1994-03-29 | 1995-05-30 | Scientific-Atlanta, Inc. | Methods for providing conditional access information to decoders in a packet-based multiplexed communications system |
US5475688A (en) * | 1994-04-22 | 1995-12-12 | Thomson Consumer Electronics, Inc. | Media error code generation as for a video inverse transport processor |
US5619501A (en) * | 1994-04-22 | 1997-04-08 | Thomson Consumer Electronics, Inc. | Conditional access filter as for a packet video signal inverse transport system |
US5521979A (en) * | 1994-04-22 | 1996-05-28 | Thomson Consumer Electronics, Inc. | Packet video signal inverse transport system |
US5473609A (en) * | 1994-05-26 | 1995-12-05 | Thomson Consumer Electronics, Inc. | Method and apparatus for processing a conditional access program guide as for a satellite TV service |
JP3437291B2 (en) * | 1994-11-14 | 2003-08-18 | キヤノン株式会社 | Reproduction device and reproduction method |
US5959659A (en) * | 1995-11-06 | 1999-09-28 | Stellar One Corporation | MPEG-2 transport stream decoder having decoupled hardware architecture |
US5838873A (en) * | 1996-05-31 | 1998-11-17 | Thomson Consumer Electronics, Inc. | Packetized data formats for digital data storage media |
WO1998000952A1 (en) * | 1996-07-02 | 1998-01-08 | Sony Corporation | Information transmitter and information transmitting method |
JP4147592B2 (en) * | 1996-08-06 | 2008-09-10 | ソニー株式会社 | Packet processing method, recording method, and recording system |
JPH10154373A (en) * | 1996-09-27 | 1998-06-09 | Sony Corp | Data decoding system and method thereof, transmission unit and method thereof and receiver device and method thereof |
US5878135A (en) * | 1996-11-27 | 1999-03-02 | Thomson Consumer Electronics, Inc. | Decoding system for processing encrypted broadcast, cable or satellite video data |
US6542518B1 (en) * | 1997-03-25 | 2003-04-01 | Sony Corporation | Transport stream generating device and method, and program transmission device |
JPH10290440A (en) * | 1997-04-14 | 1998-10-27 | Matsushita Electric Ind Co Ltd | Method, device for transmitting digital broadcast and digital broadcast reproducing device |
US6021440A (en) * | 1997-05-08 | 2000-02-01 | International Business Machines Corporation | Method and apparatus for coalescing and packetizing data |
KR100233244B1 (en) * | 1997-07-10 | 1999-12-01 | 정선종 | The transport stream multiplexing apparatus having multiple stream |
US6229801B1 (en) * | 1997-09-26 | 2001-05-08 | International Business Machines Corporation | Delivery of MPEG2 compliant table data |
US6377588B1 (en) * | 1997-11-25 | 2002-04-23 | Nec Corporation | Method and apparatus for reducing jitter of a program clock reference in a transport stream of MPEG over ATM, and MPEG decoder |
GB2332345B (en) * | 1997-12-09 | 2002-12-11 | Sony Uk Ltd | A digital video receiver a conditional access module and a method of transmitting data therebetween |
US6456782B1 (en) * | 1997-12-27 | 2002-09-24 | Sony Corporation | Data processing device and method for the same |
JPH11205696A (en) * | 1998-01-20 | 1999-07-30 | Sony Corp | Video transmitting device and video transmitting method |
JPH11252550A (en) * | 1998-03-02 | 1999-09-17 | Sony Corp | Digital signal coder, digital signal decoder, digital signal transmitter and its method |
JP4277142B2 (en) * | 1998-03-26 | 2009-06-10 | ソニー株式会社 | Receiver |
US6466586B1 (en) * | 1998-03-31 | 2002-10-15 | Nortel Networks Limited | Digital subscriber line framing structure supporting imbedded rate adaptive synchronous and asynchronous traffic |
JP3183399B2 (en) * | 1998-04-23 | 2001-07-09 | 日本電気株式会社 | Image processing apparatus and image processing method |
JP3262338B2 (en) * | 1998-05-07 | 2002-03-04 | 株式会社東芝 | Recorded content display device and recorded content display method |
US7035278B2 (en) * | 1998-07-31 | 2006-04-25 | Sedna Patent Services, Llc | Method and apparatus for forming and utilizing a slotted MPEG transport stream |
US6671290B1 (en) * | 1998-11-10 | 2003-12-30 | Sony Corporation | Receiving apparatus and recording/reproducing system for digital broadcasts |
AU2692300A (en) * | 1999-02-25 | 2000-09-14 | Nippon Hoso Kyokai | Digital broadcasting apparatus |
US7058803B2 (en) * | 2002-05-22 | 2006-06-06 | Broadcom Corporation | System and method for protecting transport stream content |
US6909743B1 (en) * | 1999-04-14 | 2005-06-21 | Sarnoff Corporation | Method for generating and processing transition streams |
US6651252B1 (en) * | 1999-10-27 | 2003-11-18 | Diva Systems Corporation | Method and apparatus for transmitting video and graphics in a compressed form |
JP4269409B2 (en) * | 1999-05-19 | 2009-05-27 | ソニー株式会社 | Receiving apparatus and method |
US7000244B1 (en) * | 1999-09-02 | 2006-02-14 | Broadlogic Network Technologies, Inc. | Multi-threaded direct memory access engine for broadcast data demultiplex operations |
US6865616B1 (en) * | 1999-09-02 | 2005-03-08 | Broadlogic Network Technologies, Inc. | Flexible media access control and section filter hardware engine for satellite data receiver |
JP4129664B2 (en) * | 1999-10-05 | 2008-08-06 | ソニー株式会社 | Data processing apparatus and data processing method |
US7020195B1 (en) * | 1999-12-10 | 2006-03-28 | Microsoft Corporation | Layered coding and decoding of image data |
US7174084B2 (en) * | 2000-03-14 | 2007-02-06 | Sedna Patent Services, Llc | Method and apparatus for performing sub-picture level splicing based on interrupts |
JP4296676B2 (en) * | 2000-03-14 | 2009-07-15 | ソニー株式会社 | Image recording apparatus and method, image reproducing apparatus and method, and recording medium |
US6731657B1 (en) * | 2000-03-14 | 2004-05-04 | International Business Machines Corporation | Multiformat transport stream demultiplexor |
JP4457474B2 (en) * | 2000-04-04 | 2010-04-28 | ソニー株式会社 | Information recording apparatus, information reproducing apparatus, information recording method, information reproducing method, information recording medium, and program providing medium |
US6751713B1 (en) * | 2000-06-05 | 2004-06-15 | Sony Corporation | Method and system for scheduled activation of system information tables in digital transport streams |
JP5021114B2 (en) * | 2000-09-07 | 2012-09-05 | ソニー株式会社 | Wireless relay system and method |
GB0022952D0 (en) * | 2000-09-19 | 2000-11-01 | Sgs Thomson Microelectronics | Monitoring interrupts |
US7039048B1 (en) * | 2000-09-22 | 2006-05-02 | Terayon Communication Systems, Inc. | Headend cherrypicker multiplexer with switched front end |
JP2002204427A (en) * | 2000-12-28 | 2002-07-19 | Pioneer Electronic Corp | Multiplex method for transport stream, transport stream multiplexer and information reproduction system |
US7130316B2 (en) * | 2001-04-11 | 2006-10-31 | Ati Technologies, Inc. | System for frame based audio synchronization and method thereof |
US7035335B1 (en) * | 2001-05-11 | 2006-04-25 | Advanced Micro Devices, Inc. | Transport stream parser |
US6983370B2 (en) * | 2001-11-27 | 2006-01-03 | Motorola, Inc. | System for providing continuity between messaging clients and method therefor |
US7155012B2 (en) * | 2002-01-02 | 2006-12-26 | Sony Corporation | Slice mask and moat pattern partial encryption |
US6728241B2 (en) * | 2002-02-27 | 2004-04-27 | Nokia Corporation | Boolean protocol filtering |
US7149230B2 (en) * | 2002-03-08 | 2006-12-12 | Microsoft Corporation | Transport processor for processing multiple transport streams |
US6788690B2 (en) * | 2002-06-27 | 2004-09-07 | Nokia Corporation | Packet identifier search filtering |
-
1994
- 1994-04-22 US US08/232,794 patent/US5619501A/en not_active Expired - Lifetime
- 1994-04-25 TW TW083103687A patent/TW237582B/en not_active IP Right Cessation
-
1995
- 1995-03-15 ES ES98400623T patent/ES2162397T3/en not_active Expired - Lifetime
- 1995-03-15 CN CNB971105405A patent/CN1158871C/en not_active Expired - Lifetime
- 1995-03-15 DE DE69505369T patent/DE69505369T2/en not_active Expired - Lifetime
- 1995-03-15 WO PCT/US1995/003540 patent/WO1995029560A1/en active IP Right Grant
- 1995-03-15 CA CA002188127A patent/CA2188127C/en not_active Expired - Lifetime
- 1995-03-15 KR KR10-2000-7002639A patent/KR100392025B1/en not_active IP Right Cessation
- 1995-03-15 MX MX9604992A patent/MX9604992A/en unknown
- 1995-03-15 EP EP95914142A patent/EP0756801B1/en not_active Expired - Lifetime
- 1995-03-15 ES ES95914142T patent/ES2123243T3/en not_active Expired - Lifetime
- 1995-03-15 CN CN95193702A patent/CN1110200C/en not_active Expired - Lifetime
- 1995-03-15 EP EP98400623A patent/EP0858222B1/en not_active Expired - Lifetime
- 1995-03-15 KR KR1019960706068A patent/KR100384212B1/en not_active IP Right Cessation
- 1995-03-15 CN CNB021401411A patent/CN100377594C/en not_active Expired - Lifetime
- 1995-03-15 KR KR10-2002-7016014A patent/KR100400800B1/en not_active IP Right Cessation
- 1995-03-15 JP JP52763595A patent/JP4316008B2/en not_active Expired - Lifetime
- 1995-03-15 SG SG1997001398A patent/SG71707A1/en unknown
- 1995-04-20 MY MYPI95001038A patent/MY118737A/en unknown
- 1995-04-20 MY MYPI97001720A patent/MY113950A/en unknown
-
1996
- 1996-10-08 US US08/727,689 patent/US5802063A/en not_active Expired - Lifetime
- 1996-12-04 US US08/759,912 patent/US6671881B1/en not_active Expired - Fee Related
-
1998
- 1998-05-22 HK HK98104418A patent/HK1005403A1/en not_active IP Right Cessation
-
2002
- 2002-05-24 US US10/155,195 patent/US7334248B2/en not_active Expired - Fee Related
-
2004
- 2004-04-02 HK HK04102423A patent/HK1059522A1/en not_active IP Right Cessation
-
2007
- 2007-10-24 JP JP2007276897A patent/JP4122370B2/en not_active Expired - Lifetime
-
2008
- 2008-05-29 JP JP2008140240A patent/JP4535344B2/en not_active Expired - Lifetime
- 2008-05-29 JP JP2008140239A patent/JP4404271B2/en not_active Expired - Lifetime
-
2009
- 2009-06-01 JP JP2009131758A patent/JP2009194935A/en active Granted
- 2009-09-25 JP JP2009220003A patent/JP4458438B2/en not_active Expired - Lifetime
- 2009-09-25 JP JP2009219983A patent/JP4420298B2/en not_active Expired - Lifetime
- 2009-09-28 JP JP2009222719A patent/JP4475475B2/en not_active Expired - Lifetime
- 2009-10-23 JP JP2009244330A patent/JP4475476B2/en not_active Expired - Lifetime
- 2009-11-19 JP JP2009263848A patent/JP4582670B2/en not_active Expired - Lifetime
-
2010
- 2010-01-14 JP JP2010005763A patent/JP5131867B2/en not_active Expired - Lifetime
- 2010-05-07 JP JP2010107049A patent/JP4748623B2/en not_active Expired - Lifetime
-
2011
- 2011-02-23 JP JP2011037093A patent/JP4863328B2/en not_active Expired - Lifetime
- 2011-02-23 JP JP2011037097A patent/JP5331140B2/en not_active Expired - Lifetime
- 2011-03-22 JP JP2011062731A patent/JP5131874B2/en not_active Expired - Lifetime
- 2011-04-15 JP JP2011090739A patent/JP4953262B2/en not_active Expired - Lifetime
- 2011-05-11 JP JP2011106451A patent/JP5182966B2/en not_active Expired - Lifetime
- 2011-06-08 JP JP2011128120A patent/JP5182967B2/en not_active Expired - Lifetime
- 2011-07-06 JP JP2011149984A patent/JP5182969B2/en not_active Expired - Lifetime
-
2012
- 2012-12-04 JP JP2012264843A patent/JP5441134B2/en not_active Expired - Lifetime
-
2013
- 2013-10-23 JP JP2013219825A patent/JP5441139B2/en not_active Expired - Lifetime
- 2013-10-23 JP JP2013219824A patent/JP5574462B2/en not_active Expired - Lifetime
- 2013-10-23 JP JP2013219826A patent/JP5441140B2/en not_active Expired - Lifetime
- 2013-10-23 JP JP2013219828A patent/JP2014045502A/en active Pending
- 2013-10-23 JP JP2013219823A patent/JP5441138B2/en not_active Expired - Lifetime
- 2013-10-23 JP JP2013219827A patent/JP5574463B2/en not_active Expired - Lifetime
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100384212B1 (en) | Conditional Access information arrangement | |
US5521979A (en) | Packet video signal inverse transport system | |
EP0971538B1 (en) | Inverse transport processor with memory address circuitry | |
US20080134234A1 (en) | Conditional access filter as for a packet video signal inverse transport system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
A107 | Divisional application of patent | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130419 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20140421 Year of fee payment: 12 |
|
EXPY | Expiration of term |