KR20060040583A - Method of partially scrambling a data stream - Google Patents

Method of partially scrambling a data stream Download PDF

Info

Publication number
KR20060040583A
KR20060040583A KR1020057020887A KR20057020887A KR20060040583A KR 20060040583 A KR20060040583 A KR 20060040583A KR 1020057020887 A KR1020057020887 A KR 1020057020887A KR 20057020887 A KR20057020887 A KR 20057020887A KR 20060040583 A KR20060040583 A KR 20060040583A
Authority
KR
South Korea
Prior art keywords
data
transport stream
sequence
packets
stream
Prior art date
Application number
KR1020057020887A
Other languages
Korean (ko)
Other versions
KR100858233B1 (en
Inventor
앤드류 오거스틴 워즈
제라드 조한 데커
다비드 네일 시들
로엘로프 반 위크
로날더스 페트루스 조하네스 후젠붐
제임스 스트워트 크로스비 팔머
토마스 프란츠 슈토크함머
Original Assignee
이르데토 액세스 비.브이.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 이르데토 액세스 비.브이. filed Critical 이르데토 액세스 비.브이.
Priority to KR1020057020887A priority Critical patent/KR100858233B1/en
Publication of KR20060040583A publication Critical patent/KR20060040583A/en
Application granted granted Critical
Publication of KR100858233B1 publication Critical patent/KR100858233B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving video stream encryption
    • H04N21/23476Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving video stream encryption by partially encrypting, e.g. encrypting the ending portion of a movie
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

A method of partially scrambling a data stream (6) including transport stream packets (7), each transport stream packet (7) having a header (8) and a payload (9), wherein a sequence of transport stream packets (7) has payloads carrying encoded data elements, arranged in units (15), includes: selecting transport stream packets (7) forming a subsequence of the sequence, and scrambling at least part of the payloads (9) of each transport stream packet (7) in the subsequence. The method further includes monitoring the payloads (9) of at least some of the transport stream packets (7) in the sequence for the presence of data (22) indicating a boundary between two subsequent units (15), and, for selected units (15), including at least one of the transport stream packets (7) carrying data forming part of the selected unit (15) in the sub-sequence.

Description

데이터 스트림을 부분적으로 스크램블하는 방법{Method of partially scrambling a data stream}Method of partially scrambling a data stream

본 발명은, 수송 스트림 패킷들을 포함하는 데이터 스트림을 부분적으로 스크램블하는 방법으로서, 각 수송 스트림 패킷은 헤더 및 페이로드를 가지며, 수송 스트림 패킷들의 시퀀스는 인코딩된 데이터 요소들을 반송하고 유닛들로 배열되는페이로드들을 가지는, 상기 스크램블 방법은, 상기 시퀀스의 서브-시퀀스를 형성하는 수송 스트림 패킷들을 선택하는 단계, 및 상기 서브 시퀀스 내의 각 수송 스트림 패킷의 상기 페이로드들 중 적어도 일부를 스크램블하는 단계를 포함하는, 데이터 스트림을 부분적으로 스크램블하는 방법에 관한 것이다.The present invention provides a method of partially scrambled a data stream comprising transport stream packets, wherein each transport stream packet has a header and a payload, the sequence of transport stream packets carrying encoded data elements and arranged into units. The scrambling method having payloads includes selecting transport stream packets that form a sub-sequence of the sequence, and scrambled at least some of the payloads of each transport stream packet in the subsequence. To partially scramble the data stream.

본 발명은 또한, 수송 스트림 패킷들을 포함하는 데이터 스트림을 부분적으로 스크램블하는 시스템으로서, 각 수송 스트림 패킷은 헤더 및 페이로드를 가지며, 수송 스트림 패킷들의 시퀀스는 인코딩된 데이터 요소들을 반송하고 유닛들로 배열되는 페이로드들을 가지는, 상기 스크램블 시스템은, 상기 데이터 스트림을 수신하기 위한 포트, 및 상기 스트림 내의 상기 데이터를 프로세싱하기 위한 장치를 포함하고, 상기 시스템은, 상기 시퀀스의 서브-시퀀스를 형성하는 수송 스트림 패킷들을 선택하고 상기 서브-시퀀스 내의 각 수송 스트림 패킷의 페이로드들 중 적어도 일부를 스크램블하도록 구성되는, 데이터 스트림을 부분적으로 스크램블하는 시스템에 관한 것이다. The invention also provides a system for partially scrambled a data stream comprising transport stream packets, each transport stream packet having a header and a payload, the sequence of transport stream packets carrying encoded data elements and arranged into units The scramble system, having payloads to be included, includes a port for receiving the data stream, and an apparatus for processing the data in the stream, the system comprising a transport stream forming a sub-sequence of the sequence. A system for partially scrambled a data stream, configured to select packets and scramble at least some of the payloads of each transport stream packet in the sub-sequence.

본 발명은 또한 컴퓨터 프로그램에 관한 것이다.The invention also relates to a computer program.

본 발명은 또한 수송 스트림 패킷들을 포함하는 데이터 스트림을 반송하는 신호에 관한 것으로서, 각 수송 스트림 패킷은 헤더 및 페이로드를 갖는다. The invention also relates to a signal carrying a data stream comprising transport stream packets, each transport stream packet having a header and a payload.

이와 같은 방법, 시스템, 컴퓨터 프로그램 및 신호의 예들은 WO 03/061289-A1호에 공지되어 있다. 공지된 시스템에서, 케이블 시스템 헤드엔드(headend)는 암호화를 위하여 패킷 선택기에서 A/V 콘텐트 패킷들을 선택한다. 암호화를 위하여 선택된 패킷들은, 자신의 비수신이 프로그램의 실시간 디코딩및 기록된 콘텐트의 임의의 가능한 처리에 이후 상당한 영향을 미치도록 선택된다. 즉, 단지 중요한 패킷들만이 암호화된다. 비디오 및 오디오에 대해서, 이는 PES(Packetized Elementary Stream) 헤더들 및 페이로드의 부분으로서 다른 헤더들을 포함하는 "프레임 시작" 수송 스트림 패킷들을 암호화함으로써 성취될 수 있는데, 그 이유는 이 정보 없이도 STB 디코더가 MPEG 압축된 데이터를 압축해제 할 수 없기 때문이며, MPEG-2 스트림들이 수송 헤더에서 "패킷 유닛 시작 표시자"로 "프레임 시작" 패킷들을 식별한다. 일반적으로, 화상 헤더 또는 비디오 시퀀스 헤더를 포함하는 페이로드를 반송하는 패킷들은 현재 스크램블링 기술을 실행하는데 사용될 수 있다. 다른 중요하거나 중대한 패킷들 또는 콘텐트 요소들은 또한, 본 발명을 벗어나지 않고 인증되지 않은 시청을 엄격하게 금지시킬 수 있는 암호화를 위해 식별될 수 있다. 예를 들어, MPEG 인트라-코딩되거나 I 프레임 화상 패킷들은, 프로그램의 비디 오 부분의 시청을 금지시키기 위해 암호화된다.Examples of such methods, systems, computer programs and signals are known from WO 03 / 061289-A1. In known systems, the cable system headend selects A / V content packets in the packet selector for encryption. Packets selected for encryption are selected such that their non-receipt will subsequently have a significant impact on the real-time decoding of the program and any possible processing of the recorded content. That is, only important packets are encrypted. For video and audio, this can be achieved by encrypting "frame start" transport stream packets that contain Packetized Elementary Stream (PES) headers and other headers as part of the payload, because without this information the STB decoder This is because MPEG compressed data cannot be decompressed, and MPEG-2 streams identify "frame start" packets with a "packet unit start indicator" in the transport header. In general, packets carrying a payload that includes a picture header or a video sequence header can be used to implement current scrambling techniques. Other important or critical packets or content elements can also be identified for encryption that can strictly prohibit unauthorized viewing without departing from the present invention. For example, MPEG intra-coded or I frame picture packets are encrypted to prohibit viewing of the video portion of the program.

공지된 방법의 문제는, PES 패킷 헤더들 또는 선택된 중요한 패킷을 포함한 모든 TS 패킷 페이로드들의 암호화는 패킷들의 대부분이 암호화된 페이로드를 갖는 스트림을 야기한다는 것이다. 이는 암호화를 위한 제한된 처리 성능을 갖는 디바이스들에 브로드캐스트하는데 이 방법을 부적합하게 한다. PES 패킷 헤더들 또는 선택된 중요한 패킷을 포함하는 매우 적은 TS 패킷들 페이로드들의 암호화는, 패킷들의 페이로드들이 패킷 손실에 대한 고도의 복원력을 갖는 진보된 압축 기술들을 사용하여 인코딩된 패킷 시청각 데이터를 포함하는 경우에 충분하지 않다. 이 경우에, 인증되지 않은 수신자는, 명백하게 남아있는 데이터를 사용하여 콘텐트를 디코딩할 수 있다. A problem with the known method is that encryption of all TS packet payloads, including PES packet headers or selected sensitive packets, results in a stream where most of the packets have an encrypted payload. This makes this method unsuitable for broadcasting to devices with limited processing capability for encryption. Encryption of very few TS packets payloads, including PES packet headers or selected important packets, includes packet audiovisual data encoded using advanced compression techniques in which the payloads of the packets are highly resilient to packet loss. If that's not enough. In this case, the unauthenticated recipient can decode the content using the data that remains apparent.

본 발명의 목적은, 상실되는 인코딩된 데이터를 처리하기 위한 진보된 디코더 기술들의 존재 시 효과적인 콘텐트 보호를 유지하면서 단지 선택된 몇 개의 수송 스트림 패킷들의 페이로드들을 스크램블할 수 있는 상술된 종류들의 방법, 시스템 및 컴퓨터 프로그램을 제공하는 것이다. SUMMARY OF THE INVENTION An object of the present invention is a method, system of the above-described kind, which can scramble payloads of only a few selected transport stream packets while maintaining effective content protection in the presence of advanced decoder technologies for processing lost encoded data. And a computer program.

이러한 목적은 본 발명에 따른 방법에 의해 성취되며, 상기 방법은, 2개의 후속 유닛들 간의 경계를 표시하는 데이터의 존재에 대해서 상기 시퀀스 내의 수송 스트림 패킷들의 적어도 일부의 페이로드들을 감시하는 단계, 및 상기 선택된 유닛들에 대해서, 상기 선택된 유닛의 데이터 형성 부분을 반송하는 수송 스트림 패킷들 중 적어도 하나를 상기 서브-시퀀스 내에 포함시키는 단계를 특징으로 한다. This object is achieved by a method according to the invention, the method comprising: monitoring at least some payloads of transport stream packets in the sequence for the presence of data indicating a boundary between two subsequent units, and For said selected units, including at least one of transport stream packets carrying a data forming part of said selected unit in said sub-sequence.

수송 스트림 패킷들은 서브 시퀀스, 즉, 시퀀스 내의 전체 수송 스트림 패킷들보다 적게 형성된 시퀀스를 형성하도록 선택되기 때문에, 부분적으로 스크램블된 스트림을 수신하는 디코더 상에서의 디스크램블링(descrambling) 부하는 감소된다. 인코딩된 데이터 요소들이 유닛들로 구성되기 때문에, 이들은 또한 디코딩될 때 유닛마다 프로세싱된다. 수송 스트림 패킷들의 전체 페이로드가 2개의 후속 유닛들 간의 경계를 표시하는 데이터의 존재에 대해서 감시하기 때문에, 단지 선택된 유닛들만이 알 수 없다는 것을 보장할 수 있다. 수(number) 및 특성은 디코딩 프로세싱에 좌우될 수 있다. 이는 또한, 유닛을 형성하는 데이터가 복수의 수송 스트림 패킷들의 페이로드에서 반송될 수 있다는 점을 고려한다. 따라서, 스크램블링은 인코딩 기술에 더욱 밀접하게 맞춰질 수 있다. Since transport stream packets are selected to form a subsequence, that is, a sequence formed less than the entire transport stream packets in the sequence, the descrambling load on the decoder receiving the partially scrambled stream is reduced. Because encoded data elements are composed of units, they are also processed per unit when decoded. Since the entire payload of the transport stream packets monitors for the presence of data indicating a boundary between two subsequent units, it can be ensured that only selected units are unknown. The number and characteristics may depend on the decoding processing. It also takes into account that the data forming the unit can be carried in the payload of a plurality of transport stream packets. Thus, scrambling can be more closely tailored to the encoding technique.

바람직한 실시예에서, 상기 데이터 스트림은 기초 스트림들의 멀티플렉스이며, 상기 방법은 상기 수송 스트림 패킷들의 시퀀스를 포함하는 적어도 하나의 기초 스트림을 식별하고 상기 식별된 기초 스트림(들) 내의 패킷들의 페이로드들만을 감시하는 단계를 포함한다. In a preferred embodiment, the data stream is a multiplex of elementary streams, and the method identifies at least one elementary stream comprising the sequence of transport stream packets and only payloads of packets in the identified elementary stream (s). Monitoring the steps.

따라서, 수송 스트림 패킷 페이로드들을 부분적으로 스크램블하기 위한 상대적으로 효율적인 방법이 제공된다. Thus, a relatively efficient method for partially scrambled transport stream packet payloads is provided.

바람직한 실시예에서, 선택된 유닛들은 화상의 인코딩된 표현 중 적어도 일부분을 포함하는 유닛들을 포함한다. In a preferred embodiment, the selected units comprise units that include at least a portion of the encoded representation of the picture.

이 실시예는 디코더에서 상대적으로 큰 영향을 미친다. 각 유닛들에 포함된 화상들은 디코더의 소망된 출력을 거의 변화시키지 않는데, 이는 이들 선택된 유닛들을 포함하는 수송 스트림 패킷 페이로드들을 디스크램블하지 않고 더 이상 제공될 수 없다. This embodiment has a relatively large impact at the decoder. The pictures contained in each unit hardly change the desired output of the decoder, which can no longer be provided without descrambled transport stream packet payloads containing these selected units.

바람직한 실시예에서, 각 유닛은 다음의 데이터의 유형의 표시 및 상기 데이터를 포함하는 부분을 포함하고, 상기 감시된 페이로드들 내의 각 유닛의 유형은 상기 표시로부터 결정되고, 상기 유닛은 상기 유형이 적어도 하나의 특정 유형에 대응하면 상기 선택된 유닛들 중에 포함된다. In a preferred embodiment, each unit comprises an indication of the following type of data and a portion comprising the data, the type of each unit in the monitored payloads is determined from the indication, and the unit is of the type. Corresponding to at least one particular type is included among the selected units.

따라서, 효과적으로 콘텐트를 보호하면서, 페이로드들이 스크램블되는 수송 스트림 패킷들의 수를 크게 감소시키는 것이 성취된다.Thus, while effectively protecting the content, it is achieved to greatly reduce the number of transport stream packets whose payloads are scrambled.

특정 유형(들)과 다른 유형들의 유닛들은, 선택된 유닛들 간에 랜덤하게 포함되는 것이 바람직하다.Certain type (s) and other types of units are preferably included randomly between the selected units.

따라서, 여분의 콘텐트 보호가 성취된다.Thus, extra content protection is achieved.

이전의 2가지 실시예들의 바람직한 변형에서, 이 유형들은, 인코딩된 데이터 요소들을 형성하는 인코딩 기술에 의해 정의된다.In a preferred variant of the previous two embodiments, these types are defined by an encoding technique that forms encoded data elements.

따라서, 디코딩 프로세스에 가장 중요한 유닛들을 포함하는 이들 패킷 페이로드들은 스크램블링을 위하여 선택될 수 있다. 이는 더욱 효과적으로 콘텐트를 보호하게 하는데, 그 이유는 사용되는 특정 CODEC에 정밀하게 맞춰지기 때문이다. Thus, these packet payloads containing the units most important to the decoding process can be selected for scrambling. This allows for more effective content protection because it is precisely tailored to the specific codec used.

바람직한 실시예에서, 상기 인코딩된 데이터 요소들은 예측 디코딩 기술을 사용하여 디코딩 가능하고, 상기 특정 유형들은 상기 데이터 요소에 속하는 단지 디코딩된 데이터로부터 예측이 유도되도록 데이터 요소의 유형을 포함한다. In a preferred embodiment, the encoded data elements are decodable using predictive decoding techniques, and the specific types include the type of data element such that the prediction is derived from only decoded data belonging to the data element.

이들 데이터 요소들이 인코딩된 데이터의 스트림에 대한 랜덤한 액세스를 허용하기 때문에, 이들을 액세스하지 않으면 디코딩 프로세스에 큰 영향을 미치며, 디코딩 프로세스는 일반적으로 이들 인코딩된 데이터 요소들 없이 시작할 수 없다. Because these data elements allow random access to the stream of encoded data, accessing them has a great impact on the decoding process, and the decoding process generally cannot start without these encoded data elements.

바람직한 실시예에서, 선택된 유닛의 데이터 형성 부분을 반송하는 제1 수송 스트림 패킷 다음의 최대 수송 스트림 패킷들의 최대수까지 서브-시퀀스에 포함된다. In a preferred embodiment, up to the maximum number of transport stream packets following the first transport stream packet carrying the data forming part of the selected unit is included in the sub-sequence.

이는 적절한 보호를 유지하면서, 수신기 상의 부하를 감소시킨다. 에러 보정을 불가능하게 하도록 최대수가 선택된다. 특히, 수송 스트림 패킷들이 모든 표준 길이인 경우, 유닛의 데이터 형성 부분을 반송하는 모든 수송 스트림 패킷들의 최대수까지 포함하면, 데이터 손실에 처리하기 위한 수신기의 기술을 비효과적으로 하는데 필요로 되는 것보다 더 많은 페이로드들을 스크램블하는 것을 피한다. 따라서, 부분적으로 스크램블된 시스템에 대한 액세스를 제공하는 인증된 수신기 상의 부담(burden)을 가능한 낮게 유지하면서, 효과적인 보호가 성취된다.This reduces the load on the receiver while maintaining proper protection. The maximum number is selected to disable error correction. In particular, if transport stream packets are of all standard lengths, including up to the maximum number of all transport stream packets carrying the data-forming part of the unit is more than necessary to ineffectively reduce the receiver's technique to handle data loss. Avoid scrambling many payloads. Thus, effective protection is achieved while keeping the burden on the authenticated receiver providing access to the partially scrambled system as low as possible.

또 다른 특징에 따라, 본 발명에 따른 시스템은 2개의 후속 유닛들 간의 경계를 표시하는 데이터의 존재에 대해서 상기 시퀀스 내의 상기 수송 스트림 패킷들 중 적어도 일부들의 페이로드들을 감시하도록 구성되고, 선택된 유닛들에 대해서, 상기 선택된 유닛의 데이터 형성 부분을 반송하는 상기 수송 스트림 패킷들 중 적어도 하나를 상기 서브-시퀀스 내에 포함시키도록 구성되는 것을 특징으로 한다.According to another feature, the system according to the invention is configured to monitor the payloads of at least some of the transport stream packets in the sequence for the presence of data indicating a boundary between two subsequent units, wherein the selected units And to include in the sub-sequence at least one of the transport stream packets carrying the data forming portion of the selected unit.

상기 시스템은, 데이터 요소들이 인증되지 않은 수신기들에 의한 액세스에 대해서 잘 보호되지만, 인증된 수신기들의 처리 용량을 크게 요구하지 않는 부분적으로 스크램블된 스트림을 생성하는데 적합하다. The system is well suited for generating a partially scrambled stream where the data elements are well protected against access by unauthorized receivers but do not require much processing capacity of the authenticated receivers.

상기 시스템은, 서브-시퀀스에서 선택된 유닛의 데이터 형성 부분을 반송하는 제1 수송 스트림 패킷 다음의 최대 수송 스트림 패킷들의 수까지 포함하도록 구성되며 최대수를 설정하기 위한 배열이 제공되는 것이 바람직하다. The system is configured to include up to the number of maximum transport stream packets following the first transport stream packet carrying the data forming portion of the selected unit in the sub-sequence and preferably an arrangement for setting the maximum number is provided.

이는 적절한 보호를 유지하면서 수신기 상의 부하를 감소시킨다. 최대수는 에러 보정을 불가능하게 하도록 설정될 수 있다. 특히, 수송 스트림 패킷들 모두가 표준 길이인 경우, 유닛의 데이터 형성 부분을 반송하는 모든 수송 스트림 패킷들의 최대수 까지 포함하면 데이터 손실에 대처하기 위한 수신기의 기술을 비효과적으로 하는데 필요로 되는 것보다 더 많은 페이로드들을 스크램블하는 것을 회피한다. 따라서, 부분적으로 스크램블된 시스템에 대한 액세스를 제공하는 인증된 수신기에 대한 부담을 가능한 낮게 유지하면서 효과적인 보호가 성취된다. 최대수가 설정될 수 있기 때문에, 전형적인 수신기들의 프로필과 같은 팩터들, 인코딩 방법 및 선택된 유닛들의 수가 고려될 수 있다. This reduces the load on the receiver while maintaining proper protection. The maximum number can be set to disable error correction. In particular, if all transport stream packets are of standard length, including up to the maximum number of all transport stream packets carrying the data forming part of the unit is more than necessary to ineffectively reduce the receiver's technique to cope with data loss. Avoid scrambling many payloads. Thus, effective protection is achieved while keeping the burden on the authenticated receiver providing access to the partially scrambled system as low as possible. Since the maximum number can be set, factors such as the profile of typical receivers, the encoding method and the number of selected units can be considered.

또 다른 특징에 따라, 본 발명은, 컴퓨터 상에서 실행될 때 본 발명에 따른 방법을 실행하도록 컴퓨터를 구성하도록 적응된 컴퓨터 프로그램을 제공한다. According to another feature, the invention provides a computer program adapted to configure a computer to execute a method according to the invention when executed on a computer.

또 다른 특징에 따라, 본 발명은, 수송 스트림 패킷들을 포함하는 데이터 스트림을 반송하는 신호로서, 각 수송 스트림 패킷은 헤더 및 페이로드를 가지며, 수송 스트림 패킷들의 시퀀스는 인코딩된 데이터 요소들을 반송하고 유닛들로 배열되는 페이로드들을 가지며, 각 유닛은 특정 유형이며, 상기 시퀀스의 서브시퀀스 내의 각 수송 스트림 패킷의 상기 페이로드 중 적어도 일부가 스크램블되며, 선택된 유형에 대응하는 유형의 각 유닛에 대해서, 상기 서브-시퀀스는, 상기 유닛의 데이터 형성 부분을 반송하는 상기 수송 스트림 패킷들 중 적어도 하나를 포함하며, 상기 수송 스트림 패킷들 중 적어도 하나는 2개의 후속 유닛들 간의 경계를 표시하는 데이터를 포함한다. According to yet another aspect, the invention provides a signal for carrying a data stream comprising transport stream packets, each transport stream packet having a header and a payload, the sequence of transport stream packets carrying encoded data elements and unit Each unit is of a particular type, and at least a portion of the payload of each transport stream packet in the subsequence of the sequence is scrambled, and for each unit of a type corresponding to the selected type, The sub-sequence includes at least one of the transport stream packets carrying a data forming portion of the unit, and at least one of the transport stream packets includes data indicating a boundary between two subsequent units.

상기 신호는, 디스크램블하기 위한 제한된 처리 용량을 지니지만 데이터 손실에 대한 높은 허용 한계를 갖는 디코더들이 장착되는 수신기들로 유니캐스트, 멀티캐스트, 또는 브로드캐스트하는데 적합하다. 이들은 특히 무선 디바이스들을 포함한다. The signal is suitable for unicast, multicast, or broadcast to receivers equipped with decoders with limited processing capacity to descramble but with high tolerance for data loss. These include in particular wireless devices.

도 1은 데이터 스트림을 부분적으로 스크램블하기 위한 시스템의 개략도.1 is a schematic diagram of a system for partially scrambled a data stream;

도 2는 MPEG-2 표준에 따른 수송 스트림 패킷들을 포함하는 데이터 스트림의 개략도.2 is a schematic diagram of a data stream including transport stream packets according to the MPEG-2 standard;

도 3은 MPEG-2 수송 스트림 패킷 헤더의 구성의 개략도.3 is a schematic diagram of a configuration of an MPEG-2 transport stream packet header;

도 4는 도 2의 데이터 스트림에서 반송된 프로그램 기초 스트림 패킷의 구성의 개략도.4 is a schematic diagram of a configuration of a program elementary stream packet carried in the data stream of FIG. 2;

도 5는 H.264/AVC 표준에 의해 정의되고 도 2의 데이터 스트림에서 반송되는 네트워크 적응층 유닛의 구성의 개략도.5 is a schematic diagram of the configuration of a network adaptation layer unit as defined by the H.264 / AVC standard and carried in the data stream of FIG.

본 발명이 지금부터 첨부 도면을 참조하여 더욱 상세하게 설명될 것이다.The invention will now be described in more detail with reference to the accompanying drawings.

본 발명은, ISO/IEC 13818-1 또는 MPEG-2 시스템 표준에 따라 수송 스트림 패킷들을 포함하는 데이터 스트림을 부분적으로 스크램블하는 실시예에서 설명될 것이다. 이 특정 실시예에서, MPEG-2는 H.264/AVC 표준에 따라 인코딩된 시청각 데이터를 위한 전달 메커니즘으로서 사용된다. 본 발명은 MPEG-2와 다른 전달 메커니즘에 적용될 수 있다는 것을 이해할 것이다. 일 예는, 헤더 및 페이로드를 갖는 IP 데이터그램들을 정의하는 인터넷 프로토콜(IP)이다. 유사하게, 성취될 수 있는 높은 압축도 및 수용가능한 품질로 인해, 콘텐트 인코딩 기술로서 H.264/AVC를 사용하는 것이 유용한 예가 된다. 그러나, 인코딩된 비디오를 프레임들에 배열하는 MPEG-2 비디오 코딩이 대안이 된다. The present invention will be described in an embodiment which partially scrambles a data stream comprising transport stream packets according to the ISO / IEC 13818-1 or MPEG-2 system standard. In this particular embodiment, MPEG-2 is used as the delivery mechanism for audiovisual data encoded according to the H.264 / AVC standard. It will be appreciated that the present invention can be applied to MPEG-2 and other delivery mechanisms. One example is the Internet Protocol (IP), which defines IP datagrams with a header and payload. Similarly, due to the high degree of compression and acceptable quality that can be achieved, using H.264 / AVC as a content encoding technique is a useful example. However, MPEG-2 video coding, which arranges the encoded video into frames, is an alternative.

상세하게 설명될 예에서, 데이터 스트림은 MPEG-2 수송 스트림 포맷이 된다. 이 예는 프로그램 스트림 포맷에 적응될 수 있다. 따라서, 용어 수송 스트림 패킷은 특정 포맷의 사용으로 정의되는 것을 의미하지 않는다. 프로그램 스트림 포맷이 사용될 때, 데이터는 헤더를 각각 갖는 PES 패킷들로 전송되고, PES 패킷들은 팩 헤더(pack header)를 각각 갖는 팩들로 그룹화된다는 것이 관찰되었다.In the example to be described in detail, the data stream is in MPEG-2 transport stream format. This example may be adapted to the program stream format. Thus, the term transport stream packet does not mean to be defined as the use of a particular format. When the program stream format is used, it has been observed that data is sent in PES packets each having a header, and the PES packets are grouped into packs each having a pack header.

도 1에서, 비디오 파일 서버(1)는 특히 H.264 인코딩된 비디오를 반송하는 MPEG-2 시스템 스트림을 제공한다. 멀티플렉서(2)는 조건부 액세스(Conditional Access; CA) 메시지들을 데이터 스트림으로 스플라이스(splice)한다. CA 메시지들은 EMM 생성기(3)에 의해 생성되는 자격 관리 메시지들(Entitlement Management Message; EMM) 및 ECM 생성기(4)에 의해 생성되는 자격 제어 메시지들(Entitlement Control Message; ECM)을 포함한다. ECM 생성기(4)는 제어 워드들(Control Word; CW)을 생성한다. 이들은 멀티플렉서(2)의 출력 데이터 스트림을 부분적으로 스크램블하도록 배열된 스크램블링 유닛(5)에 제공된다. CW들은 EMM 생성기(3)에 의해 제 공된 서비스 키 하에서 암호화되는데, 이는 서비스 키들을 EEM들로 패킹한다. 따라서, 사용되는 CA 방식은 디지털 비디오 브로드캐스팅(DVB) 공통 스크램블링 알고리즘에 실질적으로 대응하며, 이는, 예를 들어, ETSI 기술 보고서 289 로부터 공지되어 있음으로 본원에서 상세히 설명되지 않는다. 도1의 요소들로의 분리는 기능적인 특성이라는 것이 관찰되었다. 이들의 여러 또는 전부는 단일의 물리적 디바이스에 결합될 수 있는데, 그 이유는 이들 요소들 중 어떤 요소의 기능성이 상이한 장치들에 의해 별도로 제공될 수 있기 때문이다. 또한, 이 기능성은 소프트웨어 또는 하드웨어로 구현될 수 있다.In FIG. 1, video file server 1 provides in particular an MPEG-2 system stream carrying H.264 encoded video. The multiplexer 2 splices Conditional Access (CA) messages into a data stream. CA messages include Entitlement Management Messages (EMM) generated by the EMM generator 3 and Entitlement Control Messages (ECM) generated by the ECM generator 4. The ECM generator 4 generates Control Words (CW). These are provided to the scrambling unit 5 arranged to partially scramble the output data stream of the multiplexer 2. The CWs are encrypted under the service key provided by the EMM generator 3, which packs the service keys into the EEMs. Thus, the CA scheme used substantially corresponds to the Digital Video Broadcasting (DVB) Common Scrambling Algorithm, which is known from ETSI Technical Report 289 and is not described in detail herein. It has been observed that the separation into the elements of Figure 1 is a functional property. Several or all of these may be combined in a single physical device, since the functionality of any of these elements may be provided separately by different devices. In addition, this functionality may be implemented in software or hardware.

도 2는 수송 스트림(TS) 패킷들(7a-7p)을 포함한 데이터 스트림(6)을 도시한다. 각 TS 패킷(7)은 TS 패킷 헤더(8a-8p) 및 TS 패킷 페이로드(9a-9p)를 갖는다. 데이터 스트림(6)은 기초 스트림들의 멀티플렉스이다. 각 기초 스트림은 코딩된 비트 스트림, 예를 들어, 코딩된 오디오, 비디오 또는 데이터 스트림에 대응한다. 예를 들어, ECM들은 분리된 기초 스트림으로 반송되는 반면에, 스크램블링 유닛(5)에 의해 수신되는 적어도 하나의 기초 스트림은 H.264 인코딩된 비디오의 스트림이다. 2 shows a data stream 6 comprising transport stream (TS) packets 7a-7p. Each TS packet 7 has a TS packet header 8a-8p and a TS packet payload 9a-9p. The data stream 6 is a multiplex of elementary streams. Each elementary stream corresponds to a coded bit stream, eg, a coded audio, video or data stream. For example, ECMs are carried in a separate elementary stream, while at least one elementary stream received by the scrambling unit 5 is a stream of H.264 encoded video.

도3은 TS 패킷 헤더(8)로 구성되는 것을 도시한다. 이는 동기 바이트(10), 페이로드_유닛_시작_표시자(11), 패킷 식별자(PID) 필드(12), 전송 스크램블링 제어 필드(13) 및 선택적으로, 적응 필드(14)를 포함한다. 다른 부분들은 ISO/IEC 13818-1에 서술된다. 각 기초 스트림은 고유한 PID에 대응한다. 따라서, 스크램블링 유닛(5)은 H.264 기초 스트림 또는 인코딩된 비디오를 반송하는 스트림들을 식별할 수 있다. 효율성을 위하여, 이와 같은 스트림 또는 스트림들에 속하는 TS 패 킷들(7)만이 프로세싱된다. ISO/IEC 13818-1로부터 공지된 바와 같이, MPEG-2 수송 스트림은, 각종 기초 스트림들 및 이들의 할당된 PID들뿐만 아니라 기초 스트림으로 반송되는 데이터의 유형을 식별하는 프로그램 특정 정보(PSI)를 포함할 것이다. 프로그램 관련 테이블(Programme Association Table; PAT)에서 식별가능한 한 가지 유형은 H.264이다. 스크램블링 유닛(5)은, 부분적으로 스크램블될 기초 스트림(들)의 PID(들)를 식별하기 위해 PSI를 사용한다. 3 shows the configuration of the TS packet header 8. It comprises a sync byte 10, a payload_unit_start_indicator 11, a packet identifier (PID) field 12, a transmission scrambling control field 13 and optionally, an adaptation field 14. Other parts are described in ISO / IEC 13818-1. Each elementary stream corresponds to a unique PID. Thus, the scrambling unit 5 can identify the H.264 elementary stream or the streams carrying the encoded video. For efficiency, only TS packets 7 belonging to such a stream or streams are processed. As is known from ISO / IEC 13818-1, MPEG-2 transport streams contain program specific information (PSI) that identifies the various elementary streams and their assigned PIDs as well as the type of data carried in the elementary stream. Will include. One type that can be identified in the Program Association Table (PAT) is H.264. The scrambling unit 5 uses the PSI to identify the PID (s) of the elementary stream (s) to be partially scrambled.

이하에서, 단지 하나의 기초 스트림이 부분적으로 스크램블될 것이라고 가정될 것이다. 특정 기초 스트림에 대응하는 PID를 지닌 TS 패킷들(8)은 데이터 스트림으로부터 검색되고, 따라서 H.264 인코딩된 데이터 요소들을 반송하는 TS 패킷 페이로드들(9)을 갖는 TS 패킷들(8)의 시퀀스를 형성한다.In the following, it will be assumed that only one elementary stream will be partially scrambled. TS packets 8 with a PID corresponding to a particular elementary stream are retrieved from the data stream and thus of TS packets 8 with TS packet payloads 9 carrying H.264 encoded data elements. Form a sequence.

인코딩된 데이터 요소들은 화상들의 인코딩된 표현들의 중 적어도 부분들을 포함하는 것이 바람직하다. 화상은 비디오 시퀀스에서(즉, 전체 영상 또는 대안적인 라인들)프레임 또는 필드이다. 매크로블록들, 16×16 루마(luma) 및 크로마(chroma) 샘플의 블록들은 각 화상의 데이터로부터 형성된다. 이는 래스터 스캔(raster scan)에 따라서 화상에서 매크로블록들의 직사각형의 2차원 패턴을 1차원 패턴으로의 매핑을 행하는데, 그 결과 1차원 패턴의 제1 엔트리들이 좌에서 우로 각각 스캔되는 다음 행(row)들로부터 매크로블록들보다 앞서 2차원 패턴의 제1 상부 행로부터 좌에서 우로 스캔되는 2차원 패턴의 제1 상부로부터 행해진다. 이 화상은 슬라이스 그룹들, 즉 매크로블록들의 서브세트들로 분할된다. 슬라이스는 슬라이스 그룹 내에서 래스터 스캔에서 연속되는 매크로블록들을 포함하지만 화상 내 에서 반드시 필요로 되지 않는다. 따라서, 예를 들어, 화상의 래스터 스캔에서 하나 걸러 매크로블록을 분리된 슬라이스 그룹에 할당할 수 있다. 슬라이스는 단지 그 자신 내의 샘플들에 기초하여, 즉 다른 슬라이스 내의 샘플들과 무관하게 디코딩된다. 그러나, 한 슬라이스 내의 데이터가 전송시 상실될 때, 디코딩된 화상 내의 "블랭크들에 채우"도록 또 다른 슬라이스에서 데이터를 구성하는데 사용할 수 있다. The encoded data elements preferably include at least portions of the encoded representations of the pictures. A picture is a frame or field in a video sequence (ie, an entire picture or alternative lines). Macroblocks, blocks of 16 × 16 luma and chroma samples are formed from the data of each picture. This maps a rectangular two-dimensional pattern of macroblocks in the image to a one-dimensional pattern in accordance with a raster scan, resulting in the next row in which the first entries of the one-dimensional pattern are scanned from left to right respectively. From the first top of the two-dimensional pattern, scanned from left to right from the first top row of the two-dimensional pattern, before the macroblocks. This picture is divided into slice groups, ie subsets of macroblocks. A slice contains macroblocks that are contiguous in the raster scan within the slice group but is not necessarily required in the picture. Thus, for example, every other macroblock can be assigned to a separate slice group in a raster scan of an image. A slice is only decoded based on the samples in itself, ie independent of the samples in the other slices. However, when data in one slice is lost in transmission, it can be used to organize the data in another slice to “fill in the blanks” in the decoded picture.

샘플링된 화상들의 주파수는 슬라이스들에 의해 제공되는 토포그래픽 구획 이외에도 시간 분할을 제공한다. H.264는 예측 인코딩 방법의 예이다: 픽셀 값은 예측된 값 및 차이 값의 합으로서 인코딩되는데, 후자의 값은 인코딩 동안 가능한 많이 감소된다. 제1 화상으로부터 그리고 랜덤 액세스 포인트들로서 정의된 화상들로부터의 데이터를 포함하는 슬라이스들에 대해서, 예측된 값들은 단지 화상 그 자체 내의 값들에 기초하여 전송 순서로 상이한 지점에서의 화상들의 값들을 토대로 하지 않는다. 이와 같은 슬라이스들을 인트라-코딩된 슬라이스들이라 칭한다. 나머지 슬라이스들은 화상들의 시퀀스의 순서로 다른 화상들의 값들을 사용하여 단지 디코딩될 수 있도록 코딩될 수 있다. 따라서, 인트라-코딩된 화상에서 시작함으로써 그러나 또 다른 유형의 인코딩된 화상에서 시작함으로써 인코딩된 화상들의 시퀀스를 디코딩할 수 있다. The frequency of the sampled pictures provides time division in addition to the topographical partition provided by the slices. H.264 is an example of a predictive encoding method: the pixel value is encoded as the sum of the predicted value and the difference value, the latter value being reduced as much as possible during encoding. For slices containing data from the first picture and from pictures defined as random access points, the predicted values are not based on the values of the pictures at different points in the transmission order only based on the values in the picture itself. Do not. Such slices are referred to as intra-coded slices. The remaining slices may be coded so that they can only be decoded using the values of other pictures in the order of the sequence of pictures. Thus, one can decode a sequence of encoded pictures by starting with an intra-coded picture but starting with another type of encoded picture.

H.264의 관련 부분들의 설명은 단지 소위 비디오 코딩층(Video Coding Layer; VCL)만을 고려한다. 인코딩된 슬라이스들을 전송하기 위하여, 이들은 소위 네트워크 적응층(Network Adaptation Layer; NAL) 유닛들(15a-15x)로 패키징된다( 도1). 각 슬라이스는 단일 NAL 유닛(15)에 포함된다. NAL 유닛들(15)의 세트들은 액세스 유닛들(AU)을 형성한다. 각 AU는 항상 최초 코딩된 화상, 즉 화상의 모든 매크로블록들을 포함한다. NAL 유닛(15)의 데이터 크기는 슬라이스 그룹들의 수, 슬라이스들 등을 생성하는데 사용되는 (엔트로피) 코딩의 유형에 따라 변동한다는 것을 인지할 것이다. 따라서, TS 패킷들(7)의 시퀀스는 가변 길이들의 NAL 유닛들(15)을 포함한다.The description of the relevant parts of H.264 only takes into account the so-called Video Coding Layer (VCL). In order to transmit the encoded slices, they are packaged into so-called Network Adaptation Layer (NAL) units 15a-15x (FIG. 1). Each slice is contained in a single NAL unit 15. The sets of NAL units 15 form access units AU. Each AU always contains the original coded picture, ie all macroblocks of the picture. It will be appreciated that the data size of NAL unit 15 varies with the type of (entropy) coding used to generate the number of slice groups, slices, and the like. Thus, the sequence of TS packets 7 includes NAL units 15 of variable lengths.

AU를 형성하는 NAL 유닛들(15)의 각 세트는 하나의 프로그램 기초 스트림(PES) 패킷(16)으로 반송되며, 그 후, PES 패킷은 TS 패킷들(7)에 의해 반송된다. PES 패킷(16)의 구성이 도3에 도시된다. PES 패킷은 패킷 시작 코드 프리-픽스(17a-d)(도2를 또한 참조)를 포함한다. 패킷 시작 코드 프리-픽스(17)는 24 비트들의 길이의 코드이다. stream_id(18)와 더불어, 이는 PES 패킷(16)의 시작을 식별하는 패킷 시작 코드를 구성한다. 표준 고정 길이로 이루어진 TS 패킷들(7)과 대조적으로, PES 패킷(16)은 가변 길이로 이루어진다. 이 길이는 PES 패킷 길이 필드(19) 내에 표시된다. 상기 필드(19)는 선택적으로 PES 헤더(20)보다 앞서있다. 그 후, PES 패킷 페이로드(21), 즉, NAL 유닛들(15)이 온다. Each set of NAL units 15 forming an AU is carried in one program elementary stream (PES) packet 16, after which the PES packet is carried by TS packets 7. The configuration of the PES packet 16 is shown in FIG. The PES packet includes a packet start code pre-fix 17a-d (see also FIG. 2). The packet start code pre-fix 17 is a 24-bit long code. In addition to stream_id 18, this constitutes a packet start code that identifies the start of the PES packet 16. In contrast to the TS packets 7 of standard fixed length, the PES packet 16 is of variable length. This length is indicated in the PES packet length field 19. The field 19 is optionally preceded by the PES header 20. Then, the PES packet payload 21, i.e., the NAL units 15, comes.

stream_id(18)는 기초 스트림의 유형 및 번호 둘 다를 지정한다는 점에 유의하라. 따라서, 대안으로서 stream_id(18)는, 스크램블링 유닛에 의해 부분적으로 스크램블될 기초 스트림을 식별하는데 사용될 수 있다. 새로운 PES 패킷(16)의 시작은 항상 TS 패킷 헤더(8) 상에서 바로 뒤따르는데, 이 경우에 페이로드_유닛_시작_표시자(11)는 값 'TRUE'를 갖는다. 2개의 PES 패킷들(16)은 동일한 TS 패킷(7) 에서 시작하지 않는다. Note that stream_id (18) specifies both the type and number of the elementary stream. Thus, alternatively, stream_id 18 may be used to identify the elementary stream to be partially scrambled by the scrambling unit. The start of a new PES packet 16 always immediately follows on the TS packet header 8, in which case the payload_unit_start_indicator 11 has the value 'TRUE'. Two PES packets 16 do not start in the same TS packet 7.

도 4는 바이트 스트림으로 전송하기 위한 포맷의 NAL 유닛(15)의 구성을 도시한다. 이는 시작 코드 프리-픽스(22) 보다 앞서 있다. 시작 코드 프리-픽스(22)는, 각 NAL 유닛(15)에 프리-픽스로서 바이트 스트림에 임베드되는 '0×00 0001'과 동일한 3 바이트들의 고유한 시퀀스이다. 따라서, 시작 코드 프리-픽스(22)는 2개의 후속 NAL 유닛들(15) 간의 경계를 표시한다. 시작 코드 프리-픽스(22)는 금지_비트(23), nal_storage_idc(24) 및 nal_unit_type(25)보다 앞서있다.4 shows the configuration of a NAL unit 15 in a format for transmitting in a byte stream. This is ahead of the start code pre-fix 22. The start code pre-fix 22 is a unique sequence of 3 bytes equal to '0x00 0001' that is embedded in the byte stream as a pre-fix in each NAL unit 15. Thus, the start code pre-fix 22 marks the boundary between two subsequent NAL units 15. The start code pre-fix 22 precedes the prohibition_bit 23, nal_storage_idc 24, and nal_unit_type 25.

슬라이스가 형성되는 인코딩 기술에 의해 10개의 상이한 유형들이 정의된다. 이들 중 하나는 액세스 유닛 구분문자(Access Unit Delimiter; AUD) 유형이다. 이 유형의 NAL 유닛(15)의 존재는 후속 AU들 간의 경계를 표시한다. AU의 제1 NAL 유닛(15)은 항상 이 유형이다. 또 다른 가능한 유형은 순시 디코더 리프레시(Instantaneous Decoder Refresh; IDR) 유형이다. 이와 같은 NAL 유닛(15)은 인트라 코딩된 슬라이스를 포함한다. 따라서, nal_unit_type(25)의 대응하는 값은, 이에 앞서있는 바이트-정렬된 데이터(26)가 인트라-코딩된 화상을 표시하는 데이터 요소의 부분이라는 것을 표시한다. Ten different types are defined by the encoding technique in which the slice is formed. One of these is the Access Unit Delimiter (AUD) type. The presence of this type of NAL unit 15 marks the boundary between subsequent AUs. The first NAL unit 15 of the AU is always of this type. Another possible type is the Instantaneous Decoder Refresh (IDR) type. This NAL unit 15 comprises an intra coded slice. Thus, the corresponding value of nal_unit_type 25 indicates that the byte-aligned data 26 preceding it is part of the data element representing the intra-coded picture.

데이터 스트림(6), 즉 부분적으로 스크램블될 기초 스트림으로부터 검색되면, 스크램블링 유닛은 시작 코드 프리-픽스(22)의 존재에 대해서 이 스트림에서 TS 패킷들(7)의 TS 패킷 페이로드들(9)을 감시한다. 스크램블링 유닛(5)은 PES 패킷(16)의 패킷 시작 코드 프리-픽스(17) 및 후속 NAL 유닛들(15) 간의 경계를 표시하는 시작 코드 프리-픽스(22)를 구별할 수 있다. PES 패킷 시작 코드 프리-픽스 (17)는 항상 TS 패킷 헤더(8) 상에서 바로 다음에 온다는 것이 관찰되었다. 스크램블링 유닛(5)은 기초 스트림 패킷, 즉 PES 패킷의 시작을 표시하는 요소들 만큼 TS 패킷 헤더(8)에 의해 분리되는 TS 패킷 페이로드(9)의 부분들을 감시할 수 있다. Once retrieved from the data stream 6, i. To watch. The scrambling unit 5 can distinguish the start code pre-fix 22 that indicates the boundary between the packet start code pre-fix 17 and the subsequent NAL units 15 of the PES packet 16. It has been observed that the PES packet start code pre-fix 17 always follows immediately on the TS packet header 8. The scrambling unit 5 may monitor the portions of the TS packet payload 9 separated by the TS packet header 8 by elementary stream packets, i.e. elements indicating the start of the PES packet.

NAL 유닛(15)의 끝이 식별되면, 시스템은 nal_unit_type(25)에 의해 표시된 바와 같은 NAL 유닛(15)의 유형을 결정한다. 적어도 이 유형이 IDR에 대응하면, NAL 유닛(15)의 데이터 형성 부분을 반송하는 TS 패킷들(7) 중 하나 이상의 패킷들은 서브시퀀스에 포함되도록 선택된다. 서브-시퀀스에서 TS 패킷들(7)의 TS 패킷 페이로드들(9)은 스크램블된다. 용어 '서브-시퀀스'는 관념적인 것(notional one)으로 관찰된다. 본원에선 이를 순서화된 서브세트, 즉 기초 스트림을 형성하는 TS 패킷들(7)의 시퀀스에서 TS 패킷들(7)의 더욱 적은 수라 칭한다. Once the end of NAL unit 15 is identified, the system determines the type of NAL unit 15 as indicated by nal_unit_type 25. If at least this type corresponds to IDR, one or more of the TS packets 7 carrying the data forming part of the NAL unit 15 are selected to be included in the subsequence. The TS packet payloads 9 of the TS packets 7 in the sub-sequence are scrambled. The term 'sub-sequence' is observed as a notional one. This is referred to herein as a smaller number of TS packets 7 in the ordered subset, ie the sequence of TS packets 7 forming the elementary stream.

선택된 NAL 유닛(15)의 데이터 형성 부분을 반송하는 제1 TS 패킷(7) 다음의 다수의 부가적인 TS 패킷들(7)은 또한, 스크램블될 서브-시퀀스에 포함되도록 선택되는 것이 바람직하다. 이들 부가적인 TS 패킷들(7)은 PID 필드(12)로부터 결정된 PID에 기초하여 동일한 기초 스트림으로부터 선택된다. 이 시스템은, 선택되는 부가적인 패킷들의 수를 조정하는 수단을 포함한다. 따라서, 조건부 액세스 시스템의 운영자는 부분적으로 스크램블된 스트림을 디스크램블하는데 필요로 되는 처리 용량의 레벨 및 콘텐트 보호 레벨 간의 절충을 성취할 수 있다. The plurality of additional TS packets 7 following the first TS packet 7 carrying the data forming part of the selected NAL unit 15 are also preferably selected to be included in the sub-sequence to be scrambled. These additional TS packets 7 are selected from the same elementary stream based on the PID determined from the PID field 12. The system includes means for adjusting the number of additional packets selected. Thus, the operator of the conditional access system can achieve a compromise between the level of processing capacity and the level of content protection required to descramble the partially scrambled stream.

기초 스트림을 반송하는 시퀀스에서 스크램블된 TS 패킷들(7)의 프랙션은 선택이 유형 IDR의 NAL 유닛들(15)의 존재에 기초할 때 상대적으로 낮을 수 있다. 이 와 같은 경우들에서, 부가적인 TS 패킷들(7)은 스크램블하기 위하여 선택될 수 있다. 유용한 실시예에서, 시스템은 IDR과 다른 유형들의 유닛들을 랜덤하게 선택하도록 구성되거나 구성될 수 있다. 선택된 유닛을 반송하는 TS 패킷들(7) 중 적어도 한 패킷의 TS 패킷 페이로드(9)는 또한 스크램블된다. 다른 유형들은 IDR과 다른 9개의 정의된 유형들의 서브세트 또는 전부일 수 있다. 일 실시예에서, 부가적인 TS 패킷들(7)이 스크램블하기 위한 서브-시퀀스에 포함되는 레이트는 연속적으로 조정된다. 이는 어떤 레벨, 예를 들어 5%에서 또는 이보다 아래의 기초 스트림을 표시하는 시퀀스에서 모든 TS 패킷들에 대한 서브-시퀀스에서 TS 패킷들(7)의 프랙션을 유지하도록 하는 방식으로 행해진다.The fraction of the scrambled TS packets 7 in the sequence carrying the elementary stream may be relatively low when the selection is based on the presence of NAL units 15 of type IDR. In such cases, additional TS packets 7 may be selected to scramble. In a useful embodiment, the system may be configured or configured to randomly select IDR and other types of units. The TS packet payload 9 of at least one of the TS packets 7 carrying the selected unit is also scrambled. The other types may be a subset or all of the IDR and nine other defined types. In one embodiment, the rate at which additional TS packets 7 are included in the sub-sequence to scramble is continuously adjusted. This is done in such a way as to keep the fraction of the TS packets 7 in a sub-sequence for all the TS packets at a certain level, for example in the sequence representing the elementary stream at or below 5%.

부분적으로 스크램블된 데이터 스트림은 송신기(27)에 의해 변조된다. 바람직한 실시예에서, MPEG-2 수송 스트림 패킷들은 디지털 오디오 방송 표준(ETSI 300401)의 시스템 E 변형에 따라서 CDMA(코드 분할 다중 접속) 캐리어들로 변조된다. 따라서, 송신기는, 부분적으로 스크램블된 데이터 스트림을 반송하는 신호를 전송한다. 무선 전송 기술을 사용함으로써, 부분적으로 스크램블된 데이터 스트림은 이동 수신기/디코더 디바이스들에 이용될 수 있다. 이들 디바이스들에는 바람직하게는 소프트웨어로 구현되는 디스크램블링 및 디코딩 성능이 제공된다. 이 경우에, 신호, 특히 데이터 스트림이 스크램블되는 방법은 낮은 프로세싱 강도를 갖는 디스크램블링 및 디코딩을 허용한다. The partially scrambled data stream is modulated by the transmitter 27. In a preferred embodiment, MPEG-2 transport stream packets are modulated into CDMA (code division multiple access) carriers according to the System E variant of the Digital Audio Broadcasting Standard (ETSI 300401). Thus, the transmitter transmits a signal carrying a partially scrambled data stream. By using a wireless transmission technique, the partially scrambled data stream can be used for mobile receiver / decoder devices. These devices are preferably provided with descrambling and decoding capabilities implemented in software. In this case, the method in which the signal, in particular the data stream, is scrambled allows for descrambling and decoding with low processing strength.

스크램블링은, 즉, 선택된 TS 패킷들(7)의 TS 패킷 페이로드들(9)의 적어도 일부를 스크램블함으로써 수송 스트림 레벨에서 실행된다는 것이 명백할 것이다. TS 패킷 헤더(8), 특히 전송 스크램블링 제어 필드(13)는, 특정 패킷이 스크램블된 페이로드를 갖는지 여부를 수신기로 시그널링하는데 유효한 방식을 제공한다. 따라서, 수신기는 인코딩된 데이터를 선택적으로 디스크램블하기 위해 각 패킷의 페이로드의 전체 콘텐트를 검사할 필요가 없다. 오히려, 이는 실제 페이로드 콘텐트들을 프로세싱하기 전에 디스크램블링을 수행할 수 있다. It will be apparent that scrambling is performed at the transport stream level, ie by scrambled at least some of the TS packet payloads 9 of the selected TS packets 7. The TS packet header 8, in particular the transport scrambling control field 13, provides a valid way to signal to the receiver whether a particular packet has a scrambled payload. Thus, the receiver does not need to examine the entire content of the payload of each packet to selectively descramble the encoded data. Rather, it may perform descrambling before processing the actual payload contents.

본 발명은 본원에 서술된 실시예로 제한되는 것이 아니라 첨부한 청구 범위들의 범위 내에서 변화될 수 있다. 예를 들어, 인코딩된 데이터 요소들은 무선 전송을 위하여 다른 프로토콜들에 의해 정의된 수송 스트림 패킷들의 페이로드들에서 반송될 수 있다. 또한, 스크램블링은 PES 레벨에서 반송될 수 있는데, 이는 특정 유형(예를 들어, IDR)의 NAL 유닛(15)을 실행하도록 결정된 PES 패킷(16)의 페이로드가 스크램블될 패킷 페이로드들 중에 포함된다는 것을 의미한다. The invention is not limited to the embodiments described herein but may vary within the scope of the appended claims. For example, encoded data elements may be carried in payloads of transport stream packets defined by other protocols for wireless transmission. In addition, scrambling may be carried at the PES level, which indicates that the payload of the PES packet 16 determined to execute a particular type of NAL unit 15 (eg, IDR) is included among the packet payloads to be scrambled. Means that.

Claims (12)

수송 스트림 패킷들(7)을 포함하는 데이터 스트림(6)을 부분적으로 스크램블하는 방법으로서, 각 수송 스트림 패킷(7)은 헤더(8) 및 페이로드(9)를 가지며, 수송 스트림 패킷들(7)의 시퀀스는 인코딩된 데이터 요소들을 반송하고 유닛들(15)로 배열되는 페이로드들을 가지는, 상기 스크램블 방법은, A method of partially scrambled a data stream (6) comprising transport stream packets (7), each transport stream packet (7) having a header (8) and a payload (9), and transport stream packets (7). The scramble method has a payload that carries encoded data elements and is arranged in units 15, 상기 시퀀스의 서브-시퀀스를 형성하는 수송 스트림 패킷들(7)을 선택하는 단계, 및Selecting transport stream packets 7 forming a sub-sequence of the sequence, and 상기 서브 시퀀스 내의 각 수송 스트림 패킷(7)의 상기 페이로드들(9) 중 적어도 일부를 스크램블하는 단계를 포함하는, 상기 데이터 스트림을 부분적으로 스크램블하는 방법에 있어서, A method for partially scrambled the data stream, comprising scrambled at least some of the payloads 9 of each transport stream packet 7 in the subsequence. 2개의 후속 유닛들(15) 간의 경계를 표시하는 데이터(22)의 존재에 대해서 상기 시퀀스 내의 수송 스트림 패킷들(7)의 적어도 일부의 페이로드들(9)을 감시하는 단계, 및Monitoring at least some of the payloads 9 of the transport stream packets 7 in the sequence for the presence of data 22 indicating a boundary between two subsequent units 15, and 상기 선택된 유닛들(15)에 대해서, 상기 선택된 유닛의 데이터 형성 부분을 반송하는 수송 스트림 패킷들(7) 중 적어도 하나를 상기 서브-시퀀스 내에 포함시키는 단계를 특징으로 하는, 데이터 스트림을 부분적으로 스크램블하는 방법. Partially scrambled the data stream for the selected units 15, comprising in the sub-sequence at least one of the transport stream packets 7 carrying the data forming part of the selected unit How to. 제1항에 있어서, 상기 데이터 스트림(6)은 기초 스트림들의 멀티플렉스이며, 상기 방법은 상기 수송 스트림 패킷들의 시퀀스를 포함하는 적어도 하나의 기초 스 트림을 식별하고 상기 식별된 기초 스트림(들) 내의 패킷들의 페이로드들만을 감시하는 단계를 포함하는, 데이터 스트림을 부분적으로 스크램블하는 방법.The method of claim 1, wherein the data stream (6) is a multiplex of elementary streams, and the method identifies at least one elementary stream comprising the sequence of transport stream packets and is within the identified elementary stream (s). Monitoring only the payloads of packets. 제1항 또는 제2항에 있어서, 상기 선택된 유닛들(15)은 화상의 인코딩된 표현(representation)의 적어도 일부를 포함하는 유닛들을 포함하는, 데이터 스트림을 부분적으로 스크램블하는 방법.Method according to claim 1 or 2, characterized in that the selected units (15) comprise units comprising at least part of an encoded representation of a picture. 제1항 내지 제3항 중 어느 한 항에 있어서, 각 유닛(15)은 다음의 데이터의 유형의 표시(25) 및 상기 데이터를 포함하는 부분(26)을 포함하고, 상기 감시된 페이로드들 내의 각 유닛의 유형은 상기 표시로부터 결정되고, 상기 유닛은 상기 유형이 적어도 하나의 특정 유형에 대응하면 상기 선택된 유닛들 중에 포함되는, 데이터 스트림을 부분적으로 스크램블하는 방법.4. The unit according to any one of the preceding claims, wherein each unit (15) comprises an indication (25) of the following type of data and a portion (26) containing said data, wherein said monitored payloads The type of each unit within is determined from the indication, and wherein the unit is included among the selected units if the type corresponds to at least one particular type. 제4항에 있어서, 상기 특정 유형(들) 이외의 유형들의 유닛들은 상기 선택된 유닛들 간에 랜덤하게 포함되는, 데이터 스트림을 부분적으로 스크램블하는 방법.5. The method of claim 4, wherein units of types other than the particular type (s) are randomly included between the selected units. 제4항 또는 제5항에 있어서, 상기 유형들은, 인코딩된 데이터 요소들을 형성하는 인코딩 기술에 의해 정의되는, 데이터 스트림을 부분적으로 스크램블하는 방법.6. The method of claim 4 or 5, wherein the types are defined by an encoding technique that forms encoded data elements. 제4항 내지 제6항 중 어느 한 항에 있어서, 상기 인코딩된 데이터 요소들은 예측 디코딩 기술을 사용하여 디코딩 가능하고, 상기 특정 유형들은 상기 데이터 요소에 속하는 단지 디코딩된 데이터로부터 예측이 유도되도록 데이터 요소의 유형을 포함하는, 데이터 스트림을 부분적으로 스크램블하는 방법.The data element of claim 4, wherein the encoded data elements are decodable using predictive decoding techniques, and wherein the specific types are such that the data element is derived such that the prediction is derived from only decoded data belonging to the data element. And partially scrambled the data stream. 제1항 내지 제7항 중 어느 한 항에 있어서, 선택된 유닛의 데이터 형성 부분을 반송하는 제 1 수송 스트림 패킷 다음의 수송 스트림 패킷들의 최대수 까지 상기 서브-시퀀스에 포함되는, 데이터 스트림을 부분적으로 스크램블하는 방법.The data stream of claim 1, wherein the data stream is partially included in the sub-sequence up to a maximum number of transport stream packets following the first transport stream packet carrying the data formation portion of the selected unit. How to scramble. 수송 스트림 패킷들(7)을 포함하는 데이터 스트림(6)을 부분적으로 스크램블하는 시스템으로서, 각 수송 스트림 패킷은 헤더(8) 및 페이로드(9)를 가지며, 수송 스트림 패킷들(7)의 시퀀스는 인코딩된 데이터 요소들을 반송하고 유닛들(15)로 배열되는 페이로드들을 가지는, 상기 스크램블 시스템은, A system for partially scrambled a data stream (6) comprising transport stream packets (7), each transport stream packet having a header (8) and a payload (9), a sequence of transport stream packets (7) The scramble system has payloads carrying encoded data elements and arranged in units 15, 상기 데이터 스트림을 수신하기 위한 포트, 및A port for receiving the data stream, and 상기 스트림 내의 상기 데이터를 프로세싱하기 위한 장치(2-5)를 포함하고, An apparatus (2-5) for processing said data in said stream, 상기 시스템은, 상기 시퀀스의 서브-시퀀스를 형성하는 수송 스트림 패킷들(7)을 선택하고 상기 서브-시퀀스 내의 각 수송 스트림 패킷(7)의 페이로드들 중 적어도 일부를 스크램블하도록 구성되는, 상기 데이터 스트림을 부분적으로 스크램블하는 시스템에 있어서,The system is configured to select transport stream packets 7 forming a sub-sequence of the sequence and scramble at least some of the payloads of each transport stream packet 7 in the sub-sequence. In a system that partially scrambles a stream, 상기 시스템은, 2개의 후속 유닛들(15) 간의 경계를 표시하는 데이터(22)의 존재에 대해서 상기 시퀀스 내의 상기 수송 스트림 패킷들 중 적어도 일부들의 페이로드들을 감시하도록 구성되고, 선택된 유닛들에 대해서, 상기 선택된 유닛의 데이터 형성 부분을 반송하는 상기 수송 스트림 패킷들 중 적어도 하나를 상기 서브-시퀀스 내에 포함시키도록 구성되는 것을 특징으로 하는, 데이터 스트림을 부분적으로 스크램블하는 시스템.The system is configured to monitor payloads of at least some of the transport stream packets in the sequence for the presence of data 22 indicating a boundary between two subsequent units 15 and for selected units. And include in the sub-sequence at least one of the transport stream packets carrying a data forming portion of the selected unit. 제9항에 있어서, 상기 서브-시퀀스 내의 선택된 유닛의 데이터 형성 부분을 반송하는 제1 수송 스트림 패킷 다음의 수송 스트림 패킷들의 최대수까지 포함하도록 구성되고, 상기 최대수를 설정하기 위한 장치가 제공되는, 데이터 스트림을 부분적으로 스크램블하는 시스템.10. The apparatus of claim 9, configured to include up to a maximum number of transport stream packets following a first transport stream packet carrying a data forming portion of a selected unit in the sub-sequence, wherein an apparatus for setting the maximum number is provided. , A system that partially scrambles the data stream. 제1항 내지 제8항 중 어느 한 항에 따른 방법을 실행하기 위해, 컴퓨터 상에서 실행될 때, 상기 컴퓨터를 구성하도록 적응되는, 컴퓨터 프로그램.A computer program adapted to configure the computer, when executed on a computer, for carrying out the method according to any one of claims 1 to 8. 수송 스트림 패킷들(7)을 포함하는 데이터 스트림(6)을 반송하는 신호로서, 각 수송 스트림 패킷(7)은 헤더(8) 및 페이로드(9)를 가지며, 수송 스트림 패킷들(7)의 시퀀스는 인코딩된 데이터 요소들을 반송하고 유닛들(15)로 배열되는 페이로드들(9)을 가지며, 각 유닛(15)은 특정 유형이며, 상기 시퀀스의 서브시퀀스 내의 각 수송 스트림 패킷(7)의 상기 페이로드(9) 중 적어도 일부가 스크램블되며, 선택된 유형에 대응하는 유형의 각 유닛(15)에 대해서, 상기 서브-시퀀스는, 상기 유닛 (15)의 데이터 형성 부분을 반송하는 상기 수송 스트림 패킷들(7) 중 적어도 하나를 포함하며, 상기 수송 스트림 패킷들 중 적어도 하나는 2개의 후속 유닛들(15) 간의 경계를 표시하는 데이터(22)를 포함하는, 데이터 스트림을 반송하는 신호.As a signal carrying a data stream 6 comprising transport stream packets 7, each transport stream packet 7 has a header 8 and a payload 9, and the transport stream packets 7 The sequence has payloads 9 carrying encoded data elements and arranged into units 15, each unit 15 being of a particular type and of each transport stream packet 7 in the subsequence of the sequence. At least a portion of the payload 9 is scrambled, and for each unit 15 of the type corresponding to the selected type, the sub-sequence is the transport stream packet carrying the data forming part of the unit 15. At least one of said transport stream packets, said at least one of said transport stream packets comprising data (22) indicating a boundary between two subsequent units (15).
KR1020057020887A 2005-11-03 2004-07-26 Method of partially scrambling a data stream KR100858233B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020057020887A KR100858233B1 (en) 2005-11-03 2004-07-26 Method of partially scrambling a data stream

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020057020887A KR100858233B1 (en) 2005-11-03 2004-07-26 Method of partially scrambling a data stream

Publications (2)

Publication Number Publication Date
KR20060040583A true KR20060040583A (en) 2006-05-10
KR100858233B1 KR100858233B1 (en) 2008-09-12

Family

ID=37147509

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057020887A KR100858233B1 (en) 2005-11-03 2004-07-26 Method of partially scrambling a data stream

Country Status (1)

Country Link
KR (1) KR100858233B1 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101023490B1 (en) * 2009-04-09 2011-03-21 부경대학교 산학협력단 Real time encryption implementation method for the contents protection on the dmb-terminal
US8068608B2 (en) 2007-12-17 2011-11-29 Broadcom Corporation Video processing system for scrambling video streams with dependent portions and methods for use therewith
US8130823B2 (en) 2007-12-19 2012-03-06 Broadcom Corporation Channel adaptive video transmission system for use with layered video coding and methods for use therewith
US8144781B2 (en) 2008-01-04 2012-03-27 Broadcom Corporation Video processing system for scrambling layered video streams and methods for use therewith
US8416848B2 (en) 2007-12-21 2013-04-09 Broadcom Corporation Device adaptive video transmission system for use with layered video coding and methods for use therewith
US8594191B2 (en) 2008-01-03 2013-11-26 Broadcom Corporation Video processing system and transcoder for use with layered video coding and methods for use therewith
US9078024B2 (en) 2007-12-18 2015-07-07 Broadcom Corporation Video processing system with user customized graphics for use with layered video coding and methods for use therewith
US9143731B2 (en) 2008-01-02 2015-09-22 Broadcom Corporation Mobile video device for use with layered video coding and methods for use therewith
US9210480B2 (en) 2007-12-20 2015-12-08 Broadcom Corporation Video processing system with layered video coding and methods for use therewith

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060165232A1 (en) * 2002-12-16 2006-07-27 Dzevdet Burazerovic Method and apparatus to encrypt video data streams

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8068608B2 (en) 2007-12-17 2011-11-29 Broadcom Corporation Video processing system for scrambling video streams with dependent portions and methods for use therewith
US9078024B2 (en) 2007-12-18 2015-07-07 Broadcom Corporation Video processing system with user customized graphics for use with layered video coding and methods for use therewith
US8130823B2 (en) 2007-12-19 2012-03-06 Broadcom Corporation Channel adaptive video transmission system for use with layered video coding and methods for use therewith
US9210480B2 (en) 2007-12-20 2015-12-08 Broadcom Corporation Video processing system with layered video coding and methods for use therewith
US8416848B2 (en) 2007-12-21 2013-04-09 Broadcom Corporation Device adaptive video transmission system for use with layered video coding and methods for use therewith
US9143731B2 (en) 2008-01-02 2015-09-22 Broadcom Corporation Mobile video device for use with layered video coding and methods for use therewith
US8594191B2 (en) 2008-01-03 2013-11-26 Broadcom Corporation Video processing system and transcoder for use with layered video coding and methods for use therewith
US8144781B2 (en) 2008-01-04 2012-03-27 Broadcom Corporation Video processing system for scrambling layered video streams and methods for use therewith
KR101023490B1 (en) * 2009-04-09 2011-03-21 부경대학교 산학협력단 Real time encryption implementation method for the contents protection on the dmb-terminal

Also Published As

Publication number Publication date
KR100858233B1 (en) 2008-09-12

Similar Documents

Publication Publication Date Title
CA2487319C (en) Seamless switching between multiple pre-encrypted video files
US7792294B2 (en) Selective encryption encoding
US7978852B2 (en) Method of partially scrambling a data stream
US7801306B2 (en) Secure information distribution system utilizing information segment scrambling
CA2413980C (en) Video slice and active region based dual partial encryption
US7751563B2 (en) Slice mask and moat pattern partial encryption
US20080137850A1 (en) Method and system for a generic key packet for mpeg-2 transport scrambling
US20090225983A1 (en) System and method for improved processing and decoding of an encrypted digital video signal
KR100858233B1 (en) Method of partially scrambling a data stream
WO2017216125A1 (en) Methods, devices and system for generating a watermarked stream
US11778251B2 (en) Selective MPEG packet encryption and decryption based upon data and security priorities
RU2325775C2 (en) Method of partial scrambling of data flow
Ogawa et al. Practically secure update of scrambling scheme
Chang et al. Layered access control schemes on watermarked scalable media
Ogawa et al. Practical Update of Scrambling Scheme and its Security Analysis
MXPA06005563A (en) Method of partially scrambling a data stream
AU2004224936A1 (en) Encryption of MPEG Bitstreams
JP2012249073A (en) Decoder, encoder, encoding/decoding system, descrambler, scrambler, and method of them

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
E902 Notification of reason for refusal
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120820

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20130812

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140821

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee