JP2004138933A - デジタル映像スクランブル装置、デスクランブル装置および該装置を実現するプログラム - Google Patents
デジタル映像スクランブル装置、デスクランブル装置および該装置を実現するプログラム Download PDFInfo
- Publication number
- JP2004138933A JP2004138933A JP2002305288A JP2002305288A JP2004138933A JP 2004138933 A JP2004138933 A JP 2004138933A JP 2002305288 A JP2002305288 A JP 2002305288A JP 2002305288 A JP2002305288 A JP 2002305288A JP 2004138933 A JP2004138933 A JP 2004138933A
- Authority
- JP
- Japan
- Prior art keywords
- substitution
- video
- signal
- scrambling
- scramble
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
- 238000006467 substitution reaction Methods 0.000 claims abstract description 59
- 238000012545 processing Methods 0.000 claims abstract description 18
- 238000000034 method Methods 0.000 claims description 36
- 230000002441 reversible effect Effects 0.000 claims description 6
- 238000004458 analytical method Methods 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 description 12
- 230000006866 deterioration Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000012937 correction Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- VBMOHECZZWVLFJ-GXTUVTBFSA-N (2s)-2-[[(2s)-6-amino-2-[[(2s)-6-amino-2-[[(2s,3r)-2-[[(2s,3r)-2-[[(2s)-6-amino-2-[[(2s)-2-[[(2s)-6-amino-2-[[(2s)-2-[[(2s)-2-[[(2s)-2,6-diaminohexanoyl]amino]-5-(diaminomethylideneamino)pentanoyl]amino]propanoyl]amino]hexanoyl]amino]propanoyl]amino]hexan Chemical compound NC(N)=NCCC[C@@H](C(O)=O)NC(=O)[C@H](CCCCN)NC(=O)[C@H](CCCCN)NC(=O)[C@H]([C@@H](C)O)NC(=O)[C@H]([C@H](O)C)NC(=O)[C@H](CCCCN)NC(=O)[C@H](C)NC(=O)[C@H](CCCCN)NC(=O)[C@H](C)NC(=O)[C@H](CCCN=C(N)N)NC(=O)[C@@H](N)CCCCN VBMOHECZZWVLFJ-GXTUVTBFSA-N 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 108010068904 lysyl-arginyl-alanyl-lysyl-alanyl-lysyl-threonyl-threonyl-lysyl-lysyl-arginine Proteins 0.000 description 2
- 230000001737 promoting effect Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04H—BROADCAST COMMUNICATION
- H04H60/00—Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
- H04H60/09—Arrangements for device control with a direct linkage to broadcast information or to broadcast space-time; Arrangements for control of broadcast-related services
- H04H60/14—Arrangements for conditional access to broadcast information or to broadcast-related services
- H04H60/23—Arrangements for conditional access to broadcast information or to broadcast-related services using cryptography, e.g. encryption, authentication, key distribution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04H—BROADCAST COMMUNICATION
- H04H60/00—Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
- H04H60/09—Arrangements for device control with a direct linkage to broadcast information or to broadcast space-time; Arrangements for control of broadcast-related services
- H04H60/14—Arrangements for conditional access to broadcast information or to broadcast-related services
- H04H60/16—Arrangements for conditional access to broadcast information or to broadcast-related services on playing information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2347—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
- H04N21/23476—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption by partially encrypting, e.g. encrypting the ending portion of a movie
-
- 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 or rendering scenes according to encoded video stream scene graphs
- H04N21/4405—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption
- H04N21/44055—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption by partially decrypting, e.g. decrypting a video stream that has been partially encrypted
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
【課題】従来は、映像コンテンツに対し、部分的な視聴を可能とするスクランブルをかける時、配信中継者がスクランブルをかけたり、符号化時と異なる強度のスクランブルをかけることができなかった。
【解決手段】上記目的を達成するために、符号化された映像コンテンツの画像データ部分の一部分を暗号化することにより実現する。
【効果】上記手段により、コンテンツをスクランブルする機能が提供され、暗号鍵を有する端末には正しい映像再生を行い、暗号鍵を持たない端末においては、映像コンテンツの一部分あるいは画質の劣化したコンテンツが視聴(部分視聴)される。この時、スクランブルをかけるのは映像符号化の後に実施することができ、エンコードする者とスクランブルする者が別の者であることも可能となる。スクランブルのパラメータを選択してスクランブルの強度を選択することができる。
【選択図】 図1
【解決手段】上記目的を達成するために、符号化された映像コンテンツの画像データ部分の一部分を暗号化することにより実現する。
【効果】上記手段により、コンテンツをスクランブルする機能が提供され、暗号鍵を有する端末には正しい映像再生を行い、暗号鍵を持たない端末においては、映像コンテンツの一部分あるいは画質の劣化したコンテンツが視聴(部分視聴)される。この時、スクランブルをかけるのは映像符号化の後に実施することができ、エンコードする者とスクランブルする者が別の者であることも可能となる。スクランブルのパラメータを選択してスクランブルの強度を選択することができる。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は映像配信システムに係わり、ディジタル符号化した映像の一部が視聴可能なスクランブル方法に関する。
【0002】
【従来の技術】
映像をディジタル的に符号化(圧縮)する方法は、非特許文献1にて定められている。これらの符号をサーバから端末に配信する場合、限られた端末にのみ限定的に映像を配信する第1の方法として、データの暗号化がある(例えば、非特許文献2参照)。しかし、データの暗号化を用いると、暗号鍵を持っている端末は視聴可能だが、暗号鍵を持っていない端末では、データの内容は完全に攪拌されてしまうため、映像の一部を試しに視聴することは全くできない。
第2の方法としては、スクランブル機能のある映像符号化(スクランブル機能付き映像符号化)が知られている(例えば、特許文献1参照)。スクランブル機能付き映像符号化では、符号化時に符号化するデータの内容を僅かに変動させるため、鍵を持っていない端末においても部分的に視聴することが可能となる(一部意図的に劣化した画像の視聴も含む。以下部分視聴と表現する)。部分視聴ができると、暗号鍵を持っていない端末でも、映像コンテンツの様子・概要等を視聴することができるため、暗号鍵の購入等を促進する効果が高く、優良な映像配信、特に映像の同報配信においては有効な手段である。
なお、以下、スクランブルと暗号化は同義とする。
【特許文献1】
特開平10−145772号公報
【非特許文献1】
アイ エス オー/アイ イー シー ISO/IEC 14496−2(MPEG−4)、アイ エス オー/アイ イー シー ISO/IEC 13818−2(MPEG−2)
【非特許文献2】
PKCS #1: RSA Cryptography Specifications Version 2.1、An RSA Laboratories Technical Note
【0003】
【発明が解決しようとする課題】
上記の従来技術において、暗号化においては、映像コンテンツの部分視聴ができない。また、スクランブル機能付き映像符号化では、映像コンテンツを符号化する時に、スクランブルの有無あるいは強度等を設定する必要があるため、配信中継者がスクランブルをかけたり、符号化時と異なる強度のスクランブルをかけることができず、利便性を著しく欠いている。
本発明は、ディジタル符号化されたコンテンツに対し、利便性を有する部分視聴可能なスクランブル方法を提供することを目的とする。
【0004】
【課題を解決するための手段】
上記目的を達成するために、符号化された映像コンテンツの画像データ部分の一部分を暗号化することにより実現する。本願の開示する発明の代表的なものを示せば以下の通りである。デジタル符号化された入力映像ストリームの内容を解析しヘッダ部分を検出し、発生した乱数を用いて上記検出されたヘッダ部分以外の入力映像ストリームの換字位置を決定し、決定された位置の換字処理を行うスクランブル手段を有するデジタル映像スクランブル装置。
【0005】
【発明の実施の形態】
以下本発明による第1の実施例を図1に示す。図1は、映像配信側101および、映像受信側102から構成され、配信側の中のスクランブラ100、デスクランブラ103の部分が本発明において特徴ある個所である。
【0006】
以下、動作の概要を説明する。映像配信開始に先立ち、暗号鍵生成部130にて暗号鍵131が、パラメータ生成部120にてスクランブルパラメータ121が生成される。暗号鍵131は、配信するコンテンツを正しく符号化し視聴するための鍵である。また、スクランブルパラメータはスクランブルを実行する上で、送信・受信双方にて共有するパラメータであり、後述する。
映像配信の指示があると、まず、送信暗号鍵交換部132と受信鍵交換部134の間にて、暗号下記の送信が行われる。一般に、暗号鍵交換はPKCS #3: Diffie−Hellman Key−Agreement Standard、An RSA Laboratories Technical Noteに開示されている方法等の秘匿性の高い方法により行われるが、鍵交換の方法選択は本発明とは独立の問題であり、本発明ではいかなる鍵交換法あるいは、秘匿性を持たない鍵交換(暗号化しない鍵配送)とも組み合わせが可能である。
【0007】
鍵交換が完了し、受信側にて受信暗号鍵135(暗号鍵131に対応)を取得すると、次にスクランブルパラメータの伝送が行われる。スクランブルパラメータ121は、暗号部122において、暗号鍵131を用いて暗号化され、秘匿スクランブルデータ123として配信される。受信側では、受信した秘匿スクランブルデータ123を先の受信暗号鍵135を用いて、暗号解読部124において解読され、スクランブルパラメータ121に対応する受信スクランブルパラメータ125が得られる。
【0008】
スクランブルパラメータを送信・受信にて共有した後、映像の配信が行われる。すなわち、映像ストリーム111はスクランブル部112にて、スクランブルパラメータ121を用いて、そのデータの一部が変換されスクランブルストリーム113として出力される。一方受信側では、スクランブルストリーム113を受信し、デスクランブル部114において、受信スクランブルパラメータ125を用いてスクランブルの解除を行い、解除したストリーム115(映像ストリーム111と同一)を再生部116に送り、再生画像117を得る。
【0009】
図2から図5を用いて、スクランブル部112の詳細な構成を示す。
入力される映像ストリーム111は、例えば、MPEG−2やMPEG−4においては、ヘッダ部とデータ部に分けられる。ヘッダ部はヘッダに引き続くデータを復号する上で必要なパラメータ(例えば、画像サイズや、画像の時間的位置等)を格納しており、ヘッダを識別するために、ヘッダ部の先頭はヘッダ以外では出現しないスタートコード(例えばビット”0”が23個連続し、次にビット”1”が出現する、これを8ビット毎に上位ビットから並べ16進数表示すると0x00、0x00、0x01となる。”0x”は以降が16進数であることを示す)が使用される。
【0010】
データ部では、映像データ自体のデータが格納されており、一般に可変長符号により符号化されている。可変長符号は、例えばデータAの符号は”1”、Bは”01”、Cは”00100”、Dは”00101”、Eは”00110”、Fは”00111”のように、シンボルと2進のビット列が1対1に対応する。上記の例では、入力データが”1001010101001101101”の時は先頭からデータを調べて行き、”1[A]00101[D]01[B]01[B]00110[E]1[A]1[A]01[B]”のように区切り、出力シンボルADBBEAABを得る。得られたシンボルの意味およびこれらから映像の再生方法は、全てMPEG−2あるいはMPEG−4の規格にて規定されている。データ部では先のヘッダ部のスタートコードが絶対に出現しないように設計されている。例えば、上記シンボルA〜Fの例では、どのようなシンボルの組み合わせを行っても”0”は5つ以上連続しない。また、データ部では、可変長符号の特性上、1ビットでもデータが欠落・反転するとそれ以降のデータが正しく再生できない。上記入力データ例において、3ビット目が反転して”1”になると、”1[A]01[B]1[A]01[B]01[B]01[B]00110[E]1[A]1[A]01[B]”となり、出力シンボルABABBBEAABが得られ、正しい場合のシンボルADBBEAABとデータが異なる上、シンボル数自体が8個から10個に変わってしまう。さらに、MPEG−2あるいはMPEG−4では、1つのシンボルの内容により、次のデータのタイプ、符号テーブルが異なることが多く、データ欠落・反転後の再生を困難にしている。
【0011】
スクランブル部112では、入力された映像ストリームのヘッダ部分を保護し、非ヘッダ部分、すなわちデータ部分(の一部)のみに対して換字処理201によりスクランブルをかけることにより、鍵を持たない端末における部分視聴の画質の適切な制御を行う。入力データを8ビット毎にまとめて16進数表示するとすると、ヘッダ部のスタートコードは0x00、0x00、0x01となるため、図2のデータ解析部202にて、8ビットのデータが入力される毎に、スタートコードを認識し、最後の0x01が入力された時点でスタートコード信号203を「検出」を示す状態にする。また、同時に、スタートコード直後のデータにより、そのヘッダの種類をヘッダタイプ206として出力する。さらに、ヘッダタイプが、フレーム(画面)のヘッダ(pictureヘッダあるいはVOPヘッダ)の場合は、該当フレームの符号化タイプ(単独で復号可能なイントラ−VOPあるいはI(イントラ)ピクチャ、前フレームからの差分信号により構成されるP−VOPあるいはPピクチャ、他のフレームの予測には使用しないB−VOPあるはBピクチャ)を符号化タイプ207としてその種別を出力する。
【0012】
制御部204では、入力信号111の8ビット毎のタイミングにおいて、スタートコード信号203、ヘッダタイプ206、符号化タイプ207を解析し、該当する入力信号の8ビットデータに対してスクランブルをかけるか否かを決定する。スクランブルをかける場合には、入力された8ビットを後述する換字表に従い、所定の8ビットデータに変換し出力する。このデータの変換により、鍵を持たない受信側では、データの解読が正しく行われず、再生画像が劣化する。
【0013】
図3に制御部204におけるスクランブル可否を決定するための状態遷移図を示す。スタートコードが検出されるといずれの状態においても、状態304に遷移する。これ以降しばらくの間はスクランブルは行わず、ヘッダ情報をそのまま出力する。具体的には、状態304において、次データが入力されると、状態305に遷移し、所定バイト数(Mバイト)の間、換字指示信号205をOFFにしてスクランブルを抑制する。ここでMの値は、ヘッダタイプ206あるいは、フレームタイプ207により決定される。例えば、Mの値は各ヘッダの標準的な長さよりも大きくし、かつ、フレームタイプがI−VOPあるいはIピクチャの時は一般的に1フレームのデータ量が多いためMは大きめに、P−VOPあるいはPピクチャの時はMの値はやや小さく、B−VOPあるいはB−pictureの場合にはさらに短くする。
【0014】
Mバイトのデータの処理が終了すると、状態305から状態301に遷移し、その時点でのスタートコードの状態により状態302あるいは状態304に遷移する。状態301においては、データ部を処理する状態302、303におけるパラメータNを定める。Nは状態302において、換字を実行するまでのバイト数を表す。Nバイトのデータを入力、すなわち換字を行わずに伝送することを終了すると、状態303に遷移し、換字指示信号205がONになり、次の1バイトが換字される。Nの値が小さいと、先に説明した画像の劣化が頻繁に起こり、Nの値が大きいと、画像の劣化は少なくなる。例えば、Nの値は次の式により生成する。
N=A+B*RND(C)
ここで、A、B、Cはスクランブルパラメータとして、予め、フレームタイプ毎に設定され、RND(C)は0以上C未満の乱数であり、Nの値を計算する毎に、予め定められた計算方法により生成される。この乱数の初期値はスクランブルパラメータとして受信側に伝送されるため、送信・受信双方にて乱数値は一致しており、受信側では、送信側において換字を行ったデータ位置を知ることができる。乱数の生成方法は、電子情報通信学会技術研究報告, ISEC2001−8, 2001等任意の方法を使用することができる。尚、本願で用いる乱数の語には疑似乱数も含むものとする。
【0015】
A,Bのパラメータの大きさは部分視聴の画質に影響するため外部より直接的あるいは間接的に指定するが、このとき、ストリームの内容を反映させると、より部分視聴時の画質を所望の画質(劣化)に近づけることができる。具体的には、I/P/BのピクチャのタイプごとにA,Bのセットを切り替える。特に、軽い(劣化の少ない)部分視聴を実現するためには、PピクチャのA,Bの値を大きくすることにより、予測画像が劣化することによる、劣化の蓄積を抑えることができ安定した画質になる。
【0016】
さらに、A,Bのパラメータを決定する時に、入力ストリームの全部あるいは先頭部分等の一部を事前に検査したり、スクランブルをかけながらストリームの特性を測定することにより、パラメータの修正を行い、より所望の部分視聴画質に近づけることが可能となる。具体的にはイントラピクチャ(VOP)の挿入頻度、イントラマクロブロックの挿入頻度、ビデオパケットのデータ長、スライスあるいはGOBのデータ長等の1つあるいはこれらの組み合わせを測定する。これらの値は、データエラーに対する耐性に影響する。例えば、イントラピクチャが頻繁に挿入されているときは、エラーから回復しやすくなる。これらの測定値をビットレート、フレームレート、画像サイズから導き出される、あるいは予め定められた所定の範囲と比較し、範囲外の時はエラー耐性の強弱に応じてスクランブルパラメータを変更する。
【0017】
また、たとえば、3段階のレベル(1〜3)の部分視聴の画質を想定し、レベルが3のときはIピクチャは部分視聴、P,BピクチャはA,Bを極端に小さくして部分視聴をほとんど不可にし(完全スクランブル)、レベルが2の時はIピクチャはスクランブルなし、P,Bピクチャは完全スクランブル、レベルが1の時はI,Pピクチャはスクランブルなし、Bピクチャは完全スクランブルとすることにより、他段階レベルの部分視聴映像を実現できる。
図4は、以上の処理を、ソフトウェアにて実装した場合のフローチャートである。送信側の初期化405、受信側の初期化455までは、前述の処理と同じである。ここで、換字テーブル(表)生成400および、逆換字テーブル生成450については、図5、6を用いて後述する。
【0018】
初期化が終了すると、送信側においては入力ストリームを1バイト入力し、構文解析410、図3の状態遷移に従った方法にてスタートコードの解析を行う。換字判定415では図3の状態に応じた換字指示信号205に該当する値により次のデータに対して換字処理を施すか否かを決定し、換字処理を実行する場合には420において換字を行い、換字を行ったあるいは行っていないデータを出力する。受信側においては、入力されたデータ、すなわち送信側が処理して出力したデータを入力し、上記の送信側とまったく同じ動作を行う。ただし、換字逆変換処理470においては、送信側の換字を元にもどす、逆変換処理を行う。
【0019】
図5は換字表の例である。列500は8ビットの入力データ(256種類)であり、列501は列500の各データに対する出力値である。ここで、入力データ”00000000”(列502)と入力データ”00000001”(列503)は、入力と出力が常に同一である。この2つのデータの入出力を同一にすることにより、スタートコードを完全に保存することができる。残りの行(行504)は入力値0x02から0xFFの範囲の値がランダムに並べられており、それぞれの出力は重複しない。すなわち、出力値がaとなる入力値bは一意に定まる。
【0020】
図5の換字表はスクランブルパラメータとして送信・受信双方にて共有される。受信側では、図5の出力列501を入力、入力列502を出力とした表を用いることにより、送信側において換字を行ったデータを正しいデータに復元できる。
図5の換字表は、固定の表を用いてもよいし、複数コンテンツ毎、コンテンツ毎あるいは、コンテンツの部分毎(例えば、所定フレーム数毎等)に、新規生成されてもかまわない。スクランブルされたデータの不正解読(正規に鍵を得ない者がスクランブルデータを解読すること)を防止するために、なるべく頻繁に換字表を交換し、かつ、換字表はその都度新規生成することが望ましい。
【0021】
図6に換字表生成アルゴリズムの例を示す。換字表はtblとの名の256の配列に格納され、i番目(i=0〜255)の出力データはtbl[i]として表現される。例えば、図5の表を表す場合 tbl[0]=0, tbl[1]=1, tbl[2]=0xB4, tbl[3]=0x2A,...である。
処理601、602において初期化を行う。すなわち、データ0、1に固定値をセットした後、残りのデータ(2〜255)に−1をセットする。これ以降、配列の値が0以上(255以下)の場合は、既にその配列にはデータがセットされていることを示し、−1である場合はデータがセットされていないことを示す。
【0022】
初期化終了後処理603以降のループを254回処理を行う。ループ処理は2を初期値とする変数iによって行う。ループ内では、まず、処理603にて0〜255までの範囲の乱数を発生させ(jに代入)、処理604にてtbl[j]にデータがセットされているか否かを確認する。セットされていない場合は、処理605に移り、tbl[j]にiを代入する(セットする)。既にtbl[j]がセットされている場合は処理606に移り、jを歩進(255を超えた場合は2にリセット)させて行き、セットされていないtbl[j]を検索する。その後、検索した時のjの値を用いて、処理605にてiをセットし、1回のループ処理を完了する。この処理により、tbl[]の配列には0〜255の値が重複せず入力される。
【0023】
また、別の生成例では、tbl[i]=iと初期化した後、2から255の間の乱数を2つ(p,q)発生させtbl[p]とtbl[q]の値をそれぞれ交換する。この交換処理を十分な回数行うと、出力がランダムになる配列が生成できる。
上記いずれのアルゴリズムの場合でも、1つの系列の乱数があれば、
送信、受信双方にて同一の換字表を生成することができる。従って、スクランブルパラメータとしては256要素の換字表を設定・送信しても構わないし、乱数生成法を送受で規定した上で、乱数系列を指定するデータ(乱数初期値)を設定・送信しても構わない。
図7は図1のスクランブラ100の変形例である。スクランブラ700ではスクランブラ100のスクランブル処理を3回直列に施しており、それぞれのスクランブル部701,702,703において必ず異なる位置のデータを換字処理する。異なる位置を指定する場合には、例えば、直近のスタートコード位置から換字位置までのバイト数を4で割った時、スクランブル部701では余りが0に、702では余りは1に、703では余りは2になるように換字位置を指定するよことにより実現できる。このようにして生成したスクランブルストリーム710は、正しく再生するためには、鍵715,725,735にそれぞれ対応する3つの鍵が必要となる。しかし、取得した鍵の個数が0個、1個、2個の場合にも部分視聴が可能で、しかも取得した鍵の数が多いほど劣化の少ない画像を視聴することができる。
【0024】
また、鍵毎にスクランブルの強度を変えておくと、例えば3個の鍵の有無にて、正常な視聴も含め8通りのスクランブルを実現できる。複数の鍵は、例えばあるグループには第1の鍵を、別のグループには、スクランブル強度の異なる第2の鍵を渡しておけば、グループ毎に異なるスクランブル強度を提供することができる。
上記の説明ではいずれも、ヘッダ部分としては、映像ストリームすなわちエレメンタリストリームのヘッダ部分を前提にしていたが、映像ストリーム以外のデータを多重したストリームにおいて、以下の変形例も本願に含まれることは明白である。
映像ストリームと音声ストリームをシステムレイヤを用いて多重化したストリームの場合、映像ストリームのみを抽出し、スクランブルを適用し、スクランブル後のストリームを元の多重化データに書き戻す方法である。このとき、ストリームの総データ数は変わらないため、書き戻し処理は単純にもとのデータを上書きするだけでよい。すなわち、元の多重化されたストリームの置換位置のデータを変更すればよい。もし、システムレイヤにおいて、データ誤り防止のためストリームのパリティ・誤り訂正符号等を併記している場合は、パリティ・誤り訂正符号等を再計算修正して書き換えれば、データとしての整合性を保つことができる。なお、送信、受信双方において事前に取り決めることにより、上記パリティ・誤り訂正符号等を修正しない、すなわち、受信側にてパリティ・誤り訂正符号等を参照しないことも可能である。
【0025】
映像ストリームと音声ストリームをシステムレイヤを用いて多重化したストリームの場合、保護する(上記の説明において「ヘッダ」に該当する)部分を、システムレイヤデータと映像ストリームのヘッダと音声ストリーム として扱うことにより、映像ストリームに対する処理を多重化されたシステムストリームに直接適用することが可能である。この場合、データ解析部202においては、システムレイヤのシンタックスを解析し、処理しているデータがシステムレイヤ、映像ストリーム、音声ストリームのいずれに属するかを判定する。処理しているデータがシステムレイヤあるいは音声ストリームの場合は置換処理を禁止(データを保護)し、映像ストリームの場合は映像ストリームのヘッダ部を識別し、先に説明した方法により保護/置換を判定する。
【0026】
このような多重されたデータの場合は、本発明のスクランブラを複数使用することができる。すなわち、多重されているエレメンタリストリーム(映像あるいは音声・オーディオがそれぞれ0以上、合計2ストリーム以上が多重)のうち、2つ以上に独立した置換処理を適用する。具体的には、本発明を適用する処理しているデータの種類により独立したスクランブルパラメータA、B、Cを切り替える方法である。この場合、同一のパラメータを用いて独立の処理を行うことも可能であり、スクランブルパラメータを送付するデータ量を削減することができる。
【0027】
なお、音声あるいはオーディオに対するスクランブルは、本発明と同様な置換処理にて実施することが可能である。この場合、ヘッダを保護する必要はない。
図8は図1のスクランブラ100を用いた映像配信システムの応用例である。ここで映像ストリームは同報配信を想定している。すなわち、同一のストリームを希望する受信機全員に配信し、受信者のうち、鍵を入手した端末のみが正しく映像を視聴することができる。また、スクランブルパラメータ123は定期的に送出され、映像ストリーム113に多重して伝送される。ここで、スクランブルパラメータ123が多重された直後の映像ストリーム113はランダムアクセスポイント(ストリームの途中から視聴を開始できるポイント)である。
【0028】
図8にて、端末811のユーザは送受信機810経由でWEBサーバ830にアクセスし、視聴可能な映像の情報を得る。この時の情報としては、映像のスナップショット、テキストによる説明、視聴方法、視聴料金等が含まれる。ユーザが映像ストリーム111の視聴希望した場合は、同報送信中の映像ストリーム113の視聴を開始し、これと並行しWEBサーバ830経由で、鍵取得希望を送出する。この時、料金を支払うためのID番号、パスワードや、クレジットカード番号等を送出してもかまわない。WEBサーバ830はユーザの鍵取得要求の妥当性を確認するために、認証サーバ840へ問い合わせる。この問い合わせの内容は、例えばユーザIDとパスワードの妥当性であったり、クレジットカードの有効性の確認であったりする。記憶手段に予め記憶されるユーザ情報を用いて判定を行い、該ユーザの妥当性が確認できると、WEBサーバは鍵管理サーバ820に対し、映像ストリーム111をスクランブルする時に用いた鍵131に対応する解読鍵取得を要求する。この時に、認証サーバ840が発行するディジタル証明書等を添付しても構わない。鍵管理サーバ820より解読鍵を得たWEBサーバは鍵情報を端末811に送信する。端末811では、解読鍵を用いてスクランブルストリーム113を解読し、正しい映像を視聴することができる。
【0029】
図8の変形例としては、ユーザの妥当性を確認するために、ユーザが店舗等で購入した証明(例えば、レシート等に記載されたIDコード等)を用いても構わない。この場合、図8の認証サーバ840は、店舗のPOSシステム等と接続し、ユーザの購入データ、購入額等を確認した上で、認証を行う。
【0030】
図8の別の変形例としては、コンテンツ毎に異なるスクランブルパラメータを与える例がある。すなわち、スクランブル装置に、入力するコンテンツと、入力するコンテンツに対応したスクランブル指示情報を入力し、スクランブル指示情報から所定の手段によりスクランブルパラメータを決定し、このスクランブルパラメータを用いてコンテンツ毎に異なるスクランブルをかける方法である。
具体的には、スクランブル指示情報として、スクランブルレベル0〜4の整数値を用意し、スクランブルレベル0が指定された時は、スクランブルなし、1〜3の時は部分視聴の度合いの異なるスクランブル(1がより、3がより画質劣化が大きい)、そして4が完全スクランブル(部分視聴なし)とする。ここで、完全スクランブルの時は、一般の暗号を用いて、コンテンツの保護の強度を上げても構わないし、本発明手法のパラメータA、Bを極端に小さくして、部分視聴できない程度に画質を劣化させてもかまわない。
スクランブル指示情報として1〜3が指示されたときには、スクランブル装置は予め用意されていたスクランブルパラメータ(主にA,Bの値)を選択する。なお、このとき、先に示した入力ストリームの検査を実施し、その検査結果によりスクランブルパラメータを修正すればより適切な部分視聴映像が期待できる。本構成によれば、例えば店舗の販売等の景品として、映像視聴の鍵を与えることにより、コンテンツの視聴が可能となり、店舗の販売の促進効果が期待できる。また、鍵を持っていない顧客でも映像を部分視聴できるため、顧客が映像を正しく見たいために、店舗において物品を購入することを促す効果が期待できる。
【0031】
【発明の効果】
本発明のコンテンツをスクランブルする機能によれば、暗号鍵を有する端末には正しい映像再生を行い、暗号鍵を持たない端末においては、映像コンテンツの一部分あるいは画質の劣化したコンテンツが視聴(部分視聴)される。この時、スクランブルをかけるのは映像符号化の後に実施することができ、エンコードする者とスクランブルする者が別の者であることも可能となる。スクランブルのパラメータを選択してスクランブルの強度を選択することができる。
さらに、多段でのスクランブルを行う構成によれば、複数の鍵を用いるため、受信者が取得する鍵の個数・組み合わせにより、部分視聴できる映像の画質を変えることができる。
【図面の簡単な説明】
【図1】本発明による第1の実施例を説明する図である。
【図2】スクランブル部の詳細説明図である。
【図3】スクランブル可否を決定するための状態遷移図を説明する図である。
【図4】ソフトウェアにて実装した場合のフローチャートである
【図5】換字表の例である。
【図6】換字表生成アルゴリズムの例である。
【図7】図1のスクランブラの変形例である。
【図8】図1のスクランブラ100を用いた映像配信システムの応用例である。
【符号の説明】
100、スクランブラ
103、デスクランブラ
112、スクランブル部
113、スクランブルストリーム
114、デスクランブル部
131、暗号鍵
123、秘匿スクランブルデータ
201、換字処理。
【発明の属する技術分野】
本発明は映像配信システムに係わり、ディジタル符号化した映像の一部が視聴可能なスクランブル方法に関する。
【0002】
【従来の技術】
映像をディジタル的に符号化(圧縮)する方法は、非特許文献1にて定められている。これらの符号をサーバから端末に配信する場合、限られた端末にのみ限定的に映像を配信する第1の方法として、データの暗号化がある(例えば、非特許文献2参照)。しかし、データの暗号化を用いると、暗号鍵を持っている端末は視聴可能だが、暗号鍵を持っていない端末では、データの内容は完全に攪拌されてしまうため、映像の一部を試しに視聴することは全くできない。
第2の方法としては、スクランブル機能のある映像符号化(スクランブル機能付き映像符号化)が知られている(例えば、特許文献1参照)。スクランブル機能付き映像符号化では、符号化時に符号化するデータの内容を僅かに変動させるため、鍵を持っていない端末においても部分的に視聴することが可能となる(一部意図的に劣化した画像の視聴も含む。以下部分視聴と表現する)。部分視聴ができると、暗号鍵を持っていない端末でも、映像コンテンツの様子・概要等を視聴することができるため、暗号鍵の購入等を促進する効果が高く、優良な映像配信、特に映像の同報配信においては有効な手段である。
なお、以下、スクランブルと暗号化は同義とする。
【特許文献1】
特開平10−145772号公報
【非特許文献1】
アイ エス オー/アイ イー シー ISO/IEC 14496−2(MPEG−4)、アイ エス オー/アイ イー シー ISO/IEC 13818−2(MPEG−2)
【非特許文献2】
PKCS #1: RSA Cryptography Specifications Version 2.1、An RSA Laboratories Technical Note
【0003】
【発明が解決しようとする課題】
上記の従来技術において、暗号化においては、映像コンテンツの部分視聴ができない。また、スクランブル機能付き映像符号化では、映像コンテンツを符号化する時に、スクランブルの有無あるいは強度等を設定する必要があるため、配信中継者がスクランブルをかけたり、符号化時と異なる強度のスクランブルをかけることができず、利便性を著しく欠いている。
本発明は、ディジタル符号化されたコンテンツに対し、利便性を有する部分視聴可能なスクランブル方法を提供することを目的とする。
【0004】
【課題を解決するための手段】
上記目的を達成するために、符号化された映像コンテンツの画像データ部分の一部分を暗号化することにより実現する。本願の開示する発明の代表的なものを示せば以下の通りである。デジタル符号化された入力映像ストリームの内容を解析しヘッダ部分を検出し、発生した乱数を用いて上記検出されたヘッダ部分以外の入力映像ストリームの換字位置を決定し、決定された位置の換字処理を行うスクランブル手段を有するデジタル映像スクランブル装置。
【0005】
【発明の実施の形態】
以下本発明による第1の実施例を図1に示す。図1は、映像配信側101および、映像受信側102から構成され、配信側の中のスクランブラ100、デスクランブラ103の部分が本発明において特徴ある個所である。
【0006】
以下、動作の概要を説明する。映像配信開始に先立ち、暗号鍵生成部130にて暗号鍵131が、パラメータ生成部120にてスクランブルパラメータ121が生成される。暗号鍵131は、配信するコンテンツを正しく符号化し視聴するための鍵である。また、スクランブルパラメータはスクランブルを実行する上で、送信・受信双方にて共有するパラメータであり、後述する。
映像配信の指示があると、まず、送信暗号鍵交換部132と受信鍵交換部134の間にて、暗号下記の送信が行われる。一般に、暗号鍵交換はPKCS #3: Diffie−Hellman Key−Agreement Standard、An RSA Laboratories Technical Noteに開示されている方法等の秘匿性の高い方法により行われるが、鍵交換の方法選択は本発明とは独立の問題であり、本発明ではいかなる鍵交換法あるいは、秘匿性を持たない鍵交換(暗号化しない鍵配送)とも組み合わせが可能である。
【0007】
鍵交換が完了し、受信側にて受信暗号鍵135(暗号鍵131に対応)を取得すると、次にスクランブルパラメータの伝送が行われる。スクランブルパラメータ121は、暗号部122において、暗号鍵131を用いて暗号化され、秘匿スクランブルデータ123として配信される。受信側では、受信した秘匿スクランブルデータ123を先の受信暗号鍵135を用いて、暗号解読部124において解読され、スクランブルパラメータ121に対応する受信スクランブルパラメータ125が得られる。
【0008】
スクランブルパラメータを送信・受信にて共有した後、映像の配信が行われる。すなわち、映像ストリーム111はスクランブル部112にて、スクランブルパラメータ121を用いて、そのデータの一部が変換されスクランブルストリーム113として出力される。一方受信側では、スクランブルストリーム113を受信し、デスクランブル部114において、受信スクランブルパラメータ125を用いてスクランブルの解除を行い、解除したストリーム115(映像ストリーム111と同一)を再生部116に送り、再生画像117を得る。
【0009】
図2から図5を用いて、スクランブル部112の詳細な構成を示す。
入力される映像ストリーム111は、例えば、MPEG−2やMPEG−4においては、ヘッダ部とデータ部に分けられる。ヘッダ部はヘッダに引き続くデータを復号する上で必要なパラメータ(例えば、画像サイズや、画像の時間的位置等)を格納しており、ヘッダを識別するために、ヘッダ部の先頭はヘッダ以外では出現しないスタートコード(例えばビット”0”が23個連続し、次にビット”1”が出現する、これを8ビット毎に上位ビットから並べ16進数表示すると0x00、0x00、0x01となる。”0x”は以降が16進数であることを示す)が使用される。
【0010】
データ部では、映像データ自体のデータが格納されており、一般に可変長符号により符号化されている。可変長符号は、例えばデータAの符号は”1”、Bは”01”、Cは”00100”、Dは”00101”、Eは”00110”、Fは”00111”のように、シンボルと2進のビット列が1対1に対応する。上記の例では、入力データが”1001010101001101101”の時は先頭からデータを調べて行き、”1[A]00101[D]01[B]01[B]00110[E]1[A]1[A]01[B]”のように区切り、出力シンボルADBBEAABを得る。得られたシンボルの意味およびこれらから映像の再生方法は、全てMPEG−2あるいはMPEG−4の規格にて規定されている。データ部では先のヘッダ部のスタートコードが絶対に出現しないように設計されている。例えば、上記シンボルA〜Fの例では、どのようなシンボルの組み合わせを行っても”0”は5つ以上連続しない。また、データ部では、可変長符号の特性上、1ビットでもデータが欠落・反転するとそれ以降のデータが正しく再生できない。上記入力データ例において、3ビット目が反転して”1”になると、”1[A]01[B]1[A]01[B]01[B]01[B]00110[E]1[A]1[A]01[B]”となり、出力シンボルABABBBEAABが得られ、正しい場合のシンボルADBBEAABとデータが異なる上、シンボル数自体が8個から10個に変わってしまう。さらに、MPEG−2あるいはMPEG−4では、1つのシンボルの内容により、次のデータのタイプ、符号テーブルが異なることが多く、データ欠落・反転後の再生を困難にしている。
【0011】
スクランブル部112では、入力された映像ストリームのヘッダ部分を保護し、非ヘッダ部分、すなわちデータ部分(の一部)のみに対して換字処理201によりスクランブルをかけることにより、鍵を持たない端末における部分視聴の画質の適切な制御を行う。入力データを8ビット毎にまとめて16進数表示するとすると、ヘッダ部のスタートコードは0x00、0x00、0x01となるため、図2のデータ解析部202にて、8ビットのデータが入力される毎に、スタートコードを認識し、最後の0x01が入力された時点でスタートコード信号203を「検出」を示す状態にする。また、同時に、スタートコード直後のデータにより、そのヘッダの種類をヘッダタイプ206として出力する。さらに、ヘッダタイプが、フレーム(画面)のヘッダ(pictureヘッダあるいはVOPヘッダ)の場合は、該当フレームの符号化タイプ(単独で復号可能なイントラ−VOPあるいはI(イントラ)ピクチャ、前フレームからの差分信号により構成されるP−VOPあるいはPピクチャ、他のフレームの予測には使用しないB−VOPあるはBピクチャ)を符号化タイプ207としてその種別を出力する。
【0012】
制御部204では、入力信号111の8ビット毎のタイミングにおいて、スタートコード信号203、ヘッダタイプ206、符号化タイプ207を解析し、該当する入力信号の8ビットデータに対してスクランブルをかけるか否かを決定する。スクランブルをかける場合には、入力された8ビットを後述する換字表に従い、所定の8ビットデータに変換し出力する。このデータの変換により、鍵を持たない受信側では、データの解読が正しく行われず、再生画像が劣化する。
【0013】
図3に制御部204におけるスクランブル可否を決定するための状態遷移図を示す。スタートコードが検出されるといずれの状態においても、状態304に遷移する。これ以降しばらくの間はスクランブルは行わず、ヘッダ情報をそのまま出力する。具体的には、状態304において、次データが入力されると、状態305に遷移し、所定バイト数(Mバイト)の間、換字指示信号205をOFFにしてスクランブルを抑制する。ここでMの値は、ヘッダタイプ206あるいは、フレームタイプ207により決定される。例えば、Mの値は各ヘッダの標準的な長さよりも大きくし、かつ、フレームタイプがI−VOPあるいはIピクチャの時は一般的に1フレームのデータ量が多いためMは大きめに、P−VOPあるいはPピクチャの時はMの値はやや小さく、B−VOPあるいはB−pictureの場合にはさらに短くする。
【0014】
Mバイトのデータの処理が終了すると、状態305から状態301に遷移し、その時点でのスタートコードの状態により状態302あるいは状態304に遷移する。状態301においては、データ部を処理する状態302、303におけるパラメータNを定める。Nは状態302において、換字を実行するまでのバイト数を表す。Nバイトのデータを入力、すなわち換字を行わずに伝送することを終了すると、状態303に遷移し、換字指示信号205がONになり、次の1バイトが換字される。Nの値が小さいと、先に説明した画像の劣化が頻繁に起こり、Nの値が大きいと、画像の劣化は少なくなる。例えば、Nの値は次の式により生成する。
N=A+B*RND(C)
ここで、A、B、Cはスクランブルパラメータとして、予め、フレームタイプ毎に設定され、RND(C)は0以上C未満の乱数であり、Nの値を計算する毎に、予め定められた計算方法により生成される。この乱数の初期値はスクランブルパラメータとして受信側に伝送されるため、送信・受信双方にて乱数値は一致しており、受信側では、送信側において換字を行ったデータ位置を知ることができる。乱数の生成方法は、電子情報通信学会技術研究報告, ISEC2001−8, 2001等任意の方法を使用することができる。尚、本願で用いる乱数の語には疑似乱数も含むものとする。
【0015】
A,Bのパラメータの大きさは部分視聴の画質に影響するため外部より直接的あるいは間接的に指定するが、このとき、ストリームの内容を反映させると、より部分視聴時の画質を所望の画質(劣化)に近づけることができる。具体的には、I/P/BのピクチャのタイプごとにA,Bのセットを切り替える。特に、軽い(劣化の少ない)部分視聴を実現するためには、PピクチャのA,Bの値を大きくすることにより、予測画像が劣化することによる、劣化の蓄積を抑えることができ安定した画質になる。
【0016】
さらに、A,Bのパラメータを決定する時に、入力ストリームの全部あるいは先頭部分等の一部を事前に検査したり、スクランブルをかけながらストリームの特性を測定することにより、パラメータの修正を行い、より所望の部分視聴画質に近づけることが可能となる。具体的にはイントラピクチャ(VOP)の挿入頻度、イントラマクロブロックの挿入頻度、ビデオパケットのデータ長、スライスあるいはGOBのデータ長等の1つあるいはこれらの組み合わせを測定する。これらの値は、データエラーに対する耐性に影響する。例えば、イントラピクチャが頻繁に挿入されているときは、エラーから回復しやすくなる。これらの測定値をビットレート、フレームレート、画像サイズから導き出される、あるいは予め定められた所定の範囲と比較し、範囲外の時はエラー耐性の強弱に応じてスクランブルパラメータを変更する。
【0017】
また、たとえば、3段階のレベル(1〜3)の部分視聴の画質を想定し、レベルが3のときはIピクチャは部分視聴、P,BピクチャはA,Bを極端に小さくして部分視聴をほとんど不可にし(完全スクランブル)、レベルが2の時はIピクチャはスクランブルなし、P,Bピクチャは完全スクランブル、レベルが1の時はI,Pピクチャはスクランブルなし、Bピクチャは完全スクランブルとすることにより、他段階レベルの部分視聴映像を実現できる。
図4は、以上の処理を、ソフトウェアにて実装した場合のフローチャートである。送信側の初期化405、受信側の初期化455までは、前述の処理と同じである。ここで、換字テーブル(表)生成400および、逆換字テーブル生成450については、図5、6を用いて後述する。
【0018】
初期化が終了すると、送信側においては入力ストリームを1バイト入力し、構文解析410、図3の状態遷移に従った方法にてスタートコードの解析を行う。換字判定415では図3の状態に応じた換字指示信号205に該当する値により次のデータに対して換字処理を施すか否かを決定し、換字処理を実行する場合には420において換字を行い、換字を行ったあるいは行っていないデータを出力する。受信側においては、入力されたデータ、すなわち送信側が処理して出力したデータを入力し、上記の送信側とまったく同じ動作を行う。ただし、換字逆変換処理470においては、送信側の換字を元にもどす、逆変換処理を行う。
【0019】
図5は換字表の例である。列500は8ビットの入力データ(256種類)であり、列501は列500の各データに対する出力値である。ここで、入力データ”00000000”(列502)と入力データ”00000001”(列503)は、入力と出力が常に同一である。この2つのデータの入出力を同一にすることにより、スタートコードを完全に保存することができる。残りの行(行504)は入力値0x02から0xFFの範囲の値がランダムに並べられており、それぞれの出力は重複しない。すなわち、出力値がaとなる入力値bは一意に定まる。
【0020】
図5の換字表はスクランブルパラメータとして送信・受信双方にて共有される。受信側では、図5の出力列501を入力、入力列502を出力とした表を用いることにより、送信側において換字を行ったデータを正しいデータに復元できる。
図5の換字表は、固定の表を用いてもよいし、複数コンテンツ毎、コンテンツ毎あるいは、コンテンツの部分毎(例えば、所定フレーム数毎等)に、新規生成されてもかまわない。スクランブルされたデータの不正解読(正規に鍵を得ない者がスクランブルデータを解読すること)を防止するために、なるべく頻繁に換字表を交換し、かつ、換字表はその都度新規生成することが望ましい。
【0021】
図6に換字表生成アルゴリズムの例を示す。換字表はtblとの名の256の配列に格納され、i番目(i=0〜255)の出力データはtbl[i]として表現される。例えば、図5の表を表す場合 tbl[0]=0, tbl[1]=1, tbl[2]=0xB4, tbl[3]=0x2A,...である。
処理601、602において初期化を行う。すなわち、データ0、1に固定値をセットした後、残りのデータ(2〜255)に−1をセットする。これ以降、配列の値が0以上(255以下)の場合は、既にその配列にはデータがセットされていることを示し、−1である場合はデータがセットされていないことを示す。
【0022】
初期化終了後処理603以降のループを254回処理を行う。ループ処理は2を初期値とする変数iによって行う。ループ内では、まず、処理603にて0〜255までの範囲の乱数を発生させ(jに代入)、処理604にてtbl[j]にデータがセットされているか否かを確認する。セットされていない場合は、処理605に移り、tbl[j]にiを代入する(セットする)。既にtbl[j]がセットされている場合は処理606に移り、jを歩進(255を超えた場合は2にリセット)させて行き、セットされていないtbl[j]を検索する。その後、検索した時のjの値を用いて、処理605にてiをセットし、1回のループ処理を完了する。この処理により、tbl[]の配列には0〜255の値が重複せず入力される。
【0023】
また、別の生成例では、tbl[i]=iと初期化した後、2から255の間の乱数を2つ(p,q)発生させtbl[p]とtbl[q]の値をそれぞれ交換する。この交換処理を十分な回数行うと、出力がランダムになる配列が生成できる。
上記いずれのアルゴリズムの場合でも、1つの系列の乱数があれば、
送信、受信双方にて同一の換字表を生成することができる。従って、スクランブルパラメータとしては256要素の換字表を設定・送信しても構わないし、乱数生成法を送受で規定した上で、乱数系列を指定するデータ(乱数初期値)を設定・送信しても構わない。
図7は図1のスクランブラ100の変形例である。スクランブラ700ではスクランブラ100のスクランブル処理を3回直列に施しており、それぞれのスクランブル部701,702,703において必ず異なる位置のデータを換字処理する。異なる位置を指定する場合には、例えば、直近のスタートコード位置から換字位置までのバイト数を4で割った時、スクランブル部701では余りが0に、702では余りは1に、703では余りは2になるように換字位置を指定するよことにより実現できる。このようにして生成したスクランブルストリーム710は、正しく再生するためには、鍵715,725,735にそれぞれ対応する3つの鍵が必要となる。しかし、取得した鍵の個数が0個、1個、2個の場合にも部分視聴が可能で、しかも取得した鍵の数が多いほど劣化の少ない画像を視聴することができる。
【0024】
また、鍵毎にスクランブルの強度を変えておくと、例えば3個の鍵の有無にて、正常な視聴も含め8通りのスクランブルを実現できる。複数の鍵は、例えばあるグループには第1の鍵を、別のグループには、スクランブル強度の異なる第2の鍵を渡しておけば、グループ毎に異なるスクランブル強度を提供することができる。
上記の説明ではいずれも、ヘッダ部分としては、映像ストリームすなわちエレメンタリストリームのヘッダ部分を前提にしていたが、映像ストリーム以外のデータを多重したストリームにおいて、以下の変形例も本願に含まれることは明白である。
映像ストリームと音声ストリームをシステムレイヤを用いて多重化したストリームの場合、映像ストリームのみを抽出し、スクランブルを適用し、スクランブル後のストリームを元の多重化データに書き戻す方法である。このとき、ストリームの総データ数は変わらないため、書き戻し処理は単純にもとのデータを上書きするだけでよい。すなわち、元の多重化されたストリームの置換位置のデータを変更すればよい。もし、システムレイヤにおいて、データ誤り防止のためストリームのパリティ・誤り訂正符号等を併記している場合は、パリティ・誤り訂正符号等を再計算修正して書き換えれば、データとしての整合性を保つことができる。なお、送信、受信双方において事前に取り決めることにより、上記パリティ・誤り訂正符号等を修正しない、すなわち、受信側にてパリティ・誤り訂正符号等を参照しないことも可能である。
【0025】
映像ストリームと音声ストリームをシステムレイヤを用いて多重化したストリームの場合、保護する(上記の説明において「ヘッダ」に該当する)部分を、システムレイヤデータと映像ストリームのヘッダと音声ストリーム として扱うことにより、映像ストリームに対する処理を多重化されたシステムストリームに直接適用することが可能である。この場合、データ解析部202においては、システムレイヤのシンタックスを解析し、処理しているデータがシステムレイヤ、映像ストリーム、音声ストリームのいずれに属するかを判定する。処理しているデータがシステムレイヤあるいは音声ストリームの場合は置換処理を禁止(データを保護)し、映像ストリームの場合は映像ストリームのヘッダ部を識別し、先に説明した方法により保護/置換を判定する。
【0026】
このような多重されたデータの場合は、本発明のスクランブラを複数使用することができる。すなわち、多重されているエレメンタリストリーム(映像あるいは音声・オーディオがそれぞれ0以上、合計2ストリーム以上が多重)のうち、2つ以上に独立した置換処理を適用する。具体的には、本発明を適用する処理しているデータの種類により独立したスクランブルパラメータA、B、Cを切り替える方法である。この場合、同一のパラメータを用いて独立の処理を行うことも可能であり、スクランブルパラメータを送付するデータ量を削減することができる。
【0027】
なお、音声あるいはオーディオに対するスクランブルは、本発明と同様な置換処理にて実施することが可能である。この場合、ヘッダを保護する必要はない。
図8は図1のスクランブラ100を用いた映像配信システムの応用例である。ここで映像ストリームは同報配信を想定している。すなわち、同一のストリームを希望する受信機全員に配信し、受信者のうち、鍵を入手した端末のみが正しく映像を視聴することができる。また、スクランブルパラメータ123は定期的に送出され、映像ストリーム113に多重して伝送される。ここで、スクランブルパラメータ123が多重された直後の映像ストリーム113はランダムアクセスポイント(ストリームの途中から視聴を開始できるポイント)である。
【0028】
図8にて、端末811のユーザは送受信機810経由でWEBサーバ830にアクセスし、視聴可能な映像の情報を得る。この時の情報としては、映像のスナップショット、テキストによる説明、視聴方法、視聴料金等が含まれる。ユーザが映像ストリーム111の視聴希望した場合は、同報送信中の映像ストリーム113の視聴を開始し、これと並行しWEBサーバ830経由で、鍵取得希望を送出する。この時、料金を支払うためのID番号、パスワードや、クレジットカード番号等を送出してもかまわない。WEBサーバ830はユーザの鍵取得要求の妥当性を確認するために、認証サーバ840へ問い合わせる。この問い合わせの内容は、例えばユーザIDとパスワードの妥当性であったり、クレジットカードの有効性の確認であったりする。記憶手段に予め記憶されるユーザ情報を用いて判定を行い、該ユーザの妥当性が確認できると、WEBサーバは鍵管理サーバ820に対し、映像ストリーム111をスクランブルする時に用いた鍵131に対応する解読鍵取得を要求する。この時に、認証サーバ840が発行するディジタル証明書等を添付しても構わない。鍵管理サーバ820より解読鍵を得たWEBサーバは鍵情報を端末811に送信する。端末811では、解読鍵を用いてスクランブルストリーム113を解読し、正しい映像を視聴することができる。
【0029】
図8の変形例としては、ユーザの妥当性を確認するために、ユーザが店舗等で購入した証明(例えば、レシート等に記載されたIDコード等)を用いても構わない。この場合、図8の認証サーバ840は、店舗のPOSシステム等と接続し、ユーザの購入データ、購入額等を確認した上で、認証を行う。
【0030】
図8の別の変形例としては、コンテンツ毎に異なるスクランブルパラメータを与える例がある。すなわち、スクランブル装置に、入力するコンテンツと、入力するコンテンツに対応したスクランブル指示情報を入力し、スクランブル指示情報から所定の手段によりスクランブルパラメータを決定し、このスクランブルパラメータを用いてコンテンツ毎に異なるスクランブルをかける方法である。
具体的には、スクランブル指示情報として、スクランブルレベル0〜4の整数値を用意し、スクランブルレベル0が指定された時は、スクランブルなし、1〜3の時は部分視聴の度合いの異なるスクランブル(1がより、3がより画質劣化が大きい)、そして4が完全スクランブル(部分視聴なし)とする。ここで、完全スクランブルの時は、一般の暗号を用いて、コンテンツの保護の強度を上げても構わないし、本発明手法のパラメータA、Bを極端に小さくして、部分視聴できない程度に画質を劣化させてもかまわない。
スクランブル指示情報として1〜3が指示されたときには、スクランブル装置は予め用意されていたスクランブルパラメータ(主にA,Bの値)を選択する。なお、このとき、先に示した入力ストリームの検査を実施し、その検査結果によりスクランブルパラメータを修正すればより適切な部分視聴映像が期待できる。本構成によれば、例えば店舗の販売等の景品として、映像視聴の鍵を与えることにより、コンテンツの視聴が可能となり、店舗の販売の促進効果が期待できる。また、鍵を持っていない顧客でも映像を部分視聴できるため、顧客が映像を正しく見たいために、店舗において物品を購入することを促す効果が期待できる。
【0031】
【発明の効果】
本発明のコンテンツをスクランブルする機能によれば、暗号鍵を有する端末には正しい映像再生を行い、暗号鍵を持たない端末においては、映像コンテンツの一部分あるいは画質の劣化したコンテンツが視聴(部分視聴)される。この時、スクランブルをかけるのは映像符号化の後に実施することができ、エンコードする者とスクランブルする者が別の者であることも可能となる。スクランブルのパラメータを選択してスクランブルの強度を選択することができる。
さらに、多段でのスクランブルを行う構成によれば、複数の鍵を用いるため、受信者が取得する鍵の個数・組み合わせにより、部分視聴できる映像の画質を変えることができる。
【図面の簡単な説明】
【図1】本発明による第1の実施例を説明する図である。
【図2】スクランブル部の詳細説明図である。
【図3】スクランブル可否を決定するための状態遷移図を説明する図である。
【図4】ソフトウェアにて実装した場合のフローチャートである
【図5】換字表の例である。
【図6】換字表生成アルゴリズムの例である。
【図7】図1のスクランブラの変形例である。
【図8】図1のスクランブラ100を用いた映像配信システムの応用例である。
【符号の説明】
100、スクランブラ
103、デスクランブラ
112、スクランブル部
113、スクランブルストリーム
114、デスクランブル部
131、暗号鍵
123、秘匿スクランブルデータ
201、換字処理。
Claims (9)
- デジタル符号化された入力映像ストリームの内容を解析しヘッダ部分を検出する手段と、
乱数を発生させる手段と、
上記乱数を用いて上記検出されたヘッダ部分以外の入力映像ストリームの換字位置を決定する手段と、
上記決定された位置の換字処理を行うスクランブル手段と、
上記スクランブル処理された映像ストリームを出力する手段と、を有することを特徴とするデジタル映像スクランブル装置。 - 上記入力映像ストリームに対応するスクランブルレベルを指定する情報を入力する手段と、
秘密鍵を生成する手段と、
上記入力された情報を上記秘密鍵を用いて暗号化して出力する手段とを更に有し、
上記換字位置決定手段は、上記乱数に加えて上記情報を用いることを特徴とする請求項1記載の映像スクランブル装置。 - 乱数を発生させて、上記換字表を作成する手段をさらに有し、
上記スクランブル手段は、上記換字表を用いて上記換字処理を行うことを特徴とする請求項1又は2に記載のスクランブル装置。 - 上記スクランブル手段を複数有し、
上記複数のスクランブル手段それぞれに対応する換字位置を決定する手段と、
上記換字位置を上記複数のスクランブル手段に割り当てる手段とを有することを特徴とする請求項1乃至3の何れかに記載のスクランブル装置。 - 請求項1記載のスクランブル装置にネットワークを介して接続されるデスクランブル装置であって、上記換字処理された入力映像ストリームを取得する手段と、上記入力映像ストリームの内容を解析しヘッダ部分を検出する手段と、
秘密鍵をもとに乱数を発生させる手段と、
上記乱数を用いて上記ヘッダ部分以外の換字復元位置を決定する手段と、
上記決定された位置の換字復元処理を行う手段と、を有することを特徴とするデジタル映像デスクランブル装置。 - 上記ネットワークを介して識別情報を出力する手段と、
上記識別情報に基づいた認証の結果送出された上記秘密鍵を、上記ネットワークを介して受信する手段と、を有することを特徴とする請求項5記載のデジタル映像デスクランブル装置。 - 乱数を発生させて換字テーブルを作成し、記録手段に記録するステップと、
上記換字テーブルをネットワークを介して出力するステップと、
入力手段を介して映像信号を取得するステップと、
上記映像信号の信号を読み込み、該信号の符号化の構文を解析するステップと、該信号についての換字を行うか決定するステップと、
上記換字を行うと判定された場合には、該信号を上記換字テーブルに従って変換するステップとを有し、
上記信号に続く信号を読み込み上記ステップを上記映像信号がなくなるまで繰り返し、上記換字を行うかの決定基準は上記解析結果に応じて変更することを特徴とする符号化プログラム。 - 上記換字テーブルは暗号化して出力され、
該暗号化解除に必要な鍵情報を上記符号化された信号の出力先のコンピュータと交換するステップをさらに有することを特徴とする請求項7記載の符号化プログラム。 - 符号化された信号と暗号解読の情報と該符号化に用いた換字テーブルの情報をネットワークを介して取得するステップと、
該換字テーブルの情報から対応する逆換字テーブルを作成し、記憶手段に記憶するステップと、
該信号を読み込み該信号の符号化の構文を解析するステップと、
上記解析結果を用いて上記信号を逆換字するか判断するステップと、
上記逆換字すると判断された信号を上記逆換字テーブルを用いて逆換字するステップと、
上記読み込んだ信号の次の信号を読み込んで上記ステップを繰り返すことを特徴とする復号化プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002305288A JP2004138933A (ja) | 2002-10-21 | 2002-10-21 | デジタル映像スクランブル装置、デスクランブル装置および該装置を実現するプログラム |
US10/602,615 US20040075773A1 (en) | 2002-10-21 | 2003-06-25 | Scrambler, descrambler and the program for scrambling or descrambling |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002305288A JP2004138933A (ja) | 2002-10-21 | 2002-10-21 | デジタル映像スクランブル装置、デスクランブル装置および該装置を実現するプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004138933A true JP2004138933A (ja) | 2004-05-13 |
Family
ID=32089414
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002305288A Pending JP2004138933A (ja) | 2002-10-21 | 2002-10-21 | デジタル映像スクランブル装置、デスクランブル装置および該装置を実現するプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20040075773A1 (ja) |
JP (1) | JP2004138933A (ja) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008124971A (ja) * | 2006-11-15 | 2008-05-29 | Research Organization Of Information & Systems | デジタルコンテンツ登録配信装置、システム及び方法 |
JP2010152907A (ja) * | 2010-02-01 | 2010-07-08 | Sony Corp | 情報処理装置、情報記録媒体製造装置、情報記録媒体、および方法、並びにコンピュータ・プログラム |
JP2011060312A (ja) * | 2010-11-05 | 2011-03-24 | Sony Corp | 情報記録媒体、およびデータ |
JP2011076615A (ja) * | 2010-11-05 | 2011-04-14 | Sony Corp | 情報処理装置、情報記録媒体製造装置、情報記録媒体、および方法、並びにコンピュータ・プログラム |
JP2011076616A (ja) * | 2010-11-05 | 2011-04-14 | Sony Corp | 情報処理装置、情報記録媒体製造装置、情報記録媒体、および方法、並びにコンピュータ・プログラム |
JP2011083037A (ja) * | 2011-01-24 | 2011-04-21 | Hitachi Ltd | 映像処理装置 |
JP2013141253A (ja) * | 2011-12-29 | 2013-07-18 | Thomson Licensing | ビットストリームを選択的にスクランブルする方法 |
US8510852B2 (en) | 2005-07-15 | 2013-08-13 | Sony Corporation | Information processing apparatus, information recording medium manufacturing apparatus, information recording medium, method, and computer program |
US9392321B2 (en) | 2005-06-27 | 2016-07-12 | Hitachi Maxell, Ltd. | Video processing system for demultiplexing received compressed and non-compressed video signals and transmitting demultiplexed signals |
JP2019115059A (ja) * | 2019-03-04 | 2019-07-11 | マクセル株式会社 | 表示装置 |
JP2022103437A (ja) * | 2021-12-14 | 2022-07-07 | マクセル株式会社 | 表示装置 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1703731A1 (fr) * | 2005-03-15 | 2006-09-20 | Nagravision S.A. | Méthode d'encryption d'un contenu à accès conditionnel |
US20070189578A1 (en) * | 2005-05-25 | 2007-08-16 | Macrovision Corporation | Computer-implemented method and system for perceptual cryptography in file-sharing environments |
US7647557B2 (en) * | 2005-06-29 | 2010-01-12 | Intel Corporation | Techniques for shuffling video information |
JP4654806B2 (ja) * | 2005-07-15 | 2011-03-23 | ソニー株式会社 | 情報処理装置、情報記録媒体製造装置、情報記録媒体、および方法、並びにコンピュータ・プログラム |
JP2009016965A (ja) * | 2007-06-29 | 2009-01-22 | Toshiba Corp | 情報処理装置および映像音声情報保護方法 |
US8971532B1 (en) * | 2011-01-17 | 2015-03-03 | Exaimage Corporation | System and methods for protecting video content |
US9143306B2 (en) * | 2011-10-12 | 2015-09-22 | Nxp B.V. | Device and method for encoding bits to symbols for a communication system |
CN107615700B (zh) * | 2015-05-20 | 2020-08-11 | 堺显示器制品株式会社 | 电路和显示装置 |
CN110188532B (zh) * | 2019-05-05 | 2020-12-15 | 珠海格力电器股份有限公司 | 一种密码保护方法及装置 |
-
2002
- 2002-10-21 JP JP2002305288A patent/JP2004138933A/ja active Pending
-
2003
- 2003-06-25 US US10/602,615 patent/US20040075773A1/en not_active Abandoned
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9906828B2 (en) | 2005-06-27 | 2018-02-27 | Hitachi Maxell, Ltd. | Video processing system for demultiplexing received compressed and non-compressed video signals and transmitting demultiplexed signals |
US11863812B2 (en) | 2005-06-27 | 2024-01-02 | Maxell, Ltd. | Video processing system for demultiplexing received compressed and non-compressed video signals and transmitting demultiplexed signals |
US11297375B2 (en) | 2005-06-27 | 2022-04-05 | Maxell, Ltd. | Video processing system for demultiplexing received compressed and non-compressed video signals and transmitting demultiplexed signals |
US10750227B2 (en) | 2005-06-27 | 2020-08-18 | Maxell, Ltd. | Video processing system for demultiplexing received compressed and non-compressed video signals and transmitting demultiplexed signals |
US9942596B2 (en) | 2005-06-27 | 2018-04-10 | Hitachi Maxell, Ltd. | Video processing system for demultiplexing received compressed and non- compressed video signals and transmitting demultiplexed signals |
US9392321B2 (en) | 2005-06-27 | 2016-07-12 | Hitachi Maxell, Ltd. | Video processing system for demultiplexing received compressed and non-compressed video signals and transmitting demultiplexed signals |
US9686578B2 (en) | 2005-06-27 | 2017-06-20 | Hitachi Maxell, Ltd. | Video processing system for demultiplexing received compressed and non-compressed video signals and transmitting demultiplexed signals |
US8510852B2 (en) | 2005-07-15 | 2013-08-13 | Sony Corporation | Information processing apparatus, information recording medium manufacturing apparatus, information recording medium, method, and computer program |
JP2008124971A (ja) * | 2006-11-15 | 2008-05-29 | Research Organization Of Information & Systems | デジタルコンテンツ登録配信装置、システム及び方法 |
JP2010152907A (ja) * | 2010-02-01 | 2010-07-08 | Sony Corp | 情報処理装置、情報記録媒体製造装置、情報記録媒体、および方法、並びにコンピュータ・プログラム |
JP2011076616A (ja) * | 2010-11-05 | 2011-04-14 | Sony Corp | 情報処理装置、情報記録媒体製造装置、情報記録媒体、および方法、並びにコンピュータ・プログラム |
JP2011076615A (ja) * | 2010-11-05 | 2011-04-14 | Sony Corp | 情報処理装置、情報記録媒体製造装置、情報記録媒体、および方法、並びにコンピュータ・プログラム |
JP2011060312A (ja) * | 2010-11-05 | 2011-03-24 | Sony Corp | 情報記録媒体、およびデータ |
JP2011083037A (ja) * | 2011-01-24 | 2011-04-21 | Hitachi Ltd | 映像処理装置 |
JP2013141253A (ja) * | 2011-12-29 | 2013-07-18 | Thomson Licensing | ビットストリームを選択的にスクランブルする方法 |
JP2019115059A (ja) * | 2019-03-04 | 2019-07-11 | マクセル株式会社 | 表示装置 |
JP2022103437A (ja) * | 2021-12-14 | 2022-07-07 | マクセル株式会社 | 表示装置 |
JP7307513B2 (ja) | 2021-12-14 | 2023-07-12 | マクセル株式会社 | 表示装置 |
Also Published As
Publication number | Publication date |
---|---|
US20040075773A1 (en) | 2004-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7590240B2 (en) | Conditional access system and method prevention of replay attacks | |
US8818896B2 (en) | Selective encryption with coverage encryption | |
US7466826B2 (en) | Method of secure transmission of digital data from a source to a receiver | |
JP2004138933A (ja) | デジタル映像スクランブル装置、デスクランブル装置および該装置を実現するプログラム | |
US6668246B1 (en) | Multimedia data delivery and playback system with multi-level content and privacy protection | |
US8024580B2 (en) | Transmitting apparatus, receiving apparatus, and data transmitting system | |
KR101035893B1 (ko) | 컨텐트 보호를 위한 조건적 접속 방법 및 시스템 | |
US8229117B2 (en) | Process and system for the secure broadcasting of protected audiovisual streams to a dynamic group of receivers | |
KR20100089228A (ko) | 멀티미디어 컨텐트의 전송 스트림 암호화 방법 및 그 장치,복호화 방법 및 그 장치 | |
CN1205479A (zh) | 保护计算机***内版权数据的装置、方法和计算机程序产品 | |
JP3998178B2 (ja) | コンテンツ著作権保護装置及びそのプログラム | |
JP2001211442A (ja) | コンテンツ情報伝送方法、コンテンツ情報記録方法、コンテンツ情報伝送装置、コンテンツ情報記録装置、伝送媒体、及び記録媒体 | |
US20060018465A1 (en) | Information-processing system, information-processing apparatus, information-processing method, and program | |
TWI523534B (zh) | 發送與接收多媒體內容之方法 | |
KR20050009227A (ko) | 개별 비디오 암호화 시스템 및 방법 | |
US10411900B2 (en) | Control word protection method for conditional access system | |
KR100977969B1 (ko) | 네트워크에서의 데이터 전송 및 수신 방법 | |
JP6018880B2 (ja) | 暗号化装置、復号装置、暗号化プログラム、および復号プログラム | |
TWI510045B (zh) | 一種保護方法及用於執行這種保護方法的解密方法、記錄媒體與終端 | |
KR20100040366A (ko) | 메모리 카드 기반의 ts 패킷 처리를 위한 수신 제한 시스템 | |
JP4127778B2 (ja) | 放送送受信方法、放送受信方法 | |
JP2001211159A (ja) | コンテンツ情報復号化方法、コンテンツ情報復号化装置 | |
RU2513907C2 (ru) | Способы передачи и приема потоков изображений, носитель информации, передающее устройство, модуль преобразования для этих способов | |
KR100953159B1 (ko) | 암호화된 데이터 전송방법 및 재생방법 | |
KR102190886B1 (ko) | 조건부 액세스 시스템의 컨트롤 워드 보호 |