(57)【要約】【課題】画像符号化データの記述規則に反することなく、画像コンテンツにスクランブル処理を施す。【解決手段】スクランブル処理装置１は、画像領域を分割したブロックごとに画像データに対して離散コサイン変換が施され、得られた周波数成分ごとの係数がそれぞれ可変長の符号列に変換されることで生成された符号化データの入力を受ける。符号列選択部１１は、符号化データに含まれる符号列のうち交流成分の符号列を、複数のブロックからそれぞれ選択する。符号列入れ替え部１２は、符号列選択部１１によって選択された符号列を、対応するブロックの間で入れ替える。【選択図】図１
2009296327.tif 000002
【特許請求の範囲】
【請求項１】
入力画像に対してスクランブル処理を施すスクランブル処理装置において、
画像領域を分割したブロックごとに画像データに対して離散コサイン変換が施され、得られた周波数成分ごとの係数がそれぞれ可変長の符号列に変換されることで生成された符号化データの入力を受けて、前記符号化データに含まれる前記符号列のうち交流成分の前記符号列を、複数の前記ブロックからそれぞれ選択する符号列選択部と、
前記符号列選択部によって選択された前記符号列を、対応する前記ブロックの間で入れ替える符号列入れ替え部と、
を有することを特徴とするスクランブル処理装置。
【請求項２】
前記符号列選択部は、複数の前記ブロックのそれぞれからすべての交流成分の前記符号列を選択し、
前記符号列入れ替え部は、１つの前記ブロックから選択された前記符号列全体を、対応する前記ブロックの間で入れ替える、
ことを特徴とする請求項１記載のスクランブル処理装置。
【請求項３】
前記符号列選択部は、複数の前記ブロックのそれぞれから交流成分のうちの一部の前記符号列を選択することを特徴とする請求項１記載のスクランブル処理装置。
【請求項４】
前記係数が、非ゼロ係数の値とそれに先行するゼロ係数の個数とを基に前記符号列に変換された場合に、前記符号列入れ替え部は、前記符号列選択部により選択された、先行するゼロ係数の個数が一致する前記符号列同士を、対応する前記ブロックの間で入れ替えることを特徴とする請求項３記載のスクランブル処理装置。
【請求項５】
前記符号列選択部は、入力画像の１フレーム内の一部の前記ブロックのみから前記符号列を選択し、
前記符号列入れ替え部は、前記符号列選択部の選択処理に応じて、当該フレーム内の一部の領域のみ、前記符号列の入れ替えを行うことを特徴とする請求項１〜４のいずれか１項に記載のスクランブル処理装置。
【請求項６】
入力画像が動画像である場合に、
前記符号列選択部は、当該動画像の再生時間を分割した分割期間ごとに、前記符号列を互いに入れ替える対象とする複数の前記ブロックの選択方法を変化させることを特徴とする請求項１〜５のいずれか１項に記載のスクランブル処理装置。
【請求項７】
前記符号列を互いに入れ替える対象として前記符号列選択部により選択される複数の前記ブロックの選択方法を示すブロック選択情報を、デスクランブル処理のためのキー情報に含めて出力するキー生成部をさらに有することを特徴とする請求項１〜６のいずれか１項に記載のスクランブル処理装置。
【請求項８】
入力画像に施されたスクランブル処理を解除するデスクランブル処理装置において、
画像領域を分割したブロックごとに原画像データに対して離散コサイン変換が施され、得られた周波数成分ごとの係数がそれぞれ可変長の符号列に変換されることで生成された符号化データの入力を受けて、前記符号化データに含まれる前記符号列のうち交流成分の前記符号列を、複数の前記ブロックからそれぞれ選択する符号列選択部と、
前記符号列選択部によって選択された前記符号列を、前記スクランブル処理の前の状態に戻すように、対応する前記ブロックの間で入れ替える符号列入れ替え部と、
を有することを特徴とするデスクランブル処理装置。
【請求項９】
前記符号列選択部は、複数の前記ブロックのそれぞれからすべての交流成分の前記符号列を選択し、
前記符号列入れ替え部は、１つの前記ブロックから選択された前記符号列全体を、対応する前記ブロックの間で入れ替える、
ことを特徴とする請求項８記載のデスクランブル処理装置。
【請求項１０】
前記符号列選択部は、複数の前記ブロックのそれぞれから交流成分のうちの一部の前記符号列を選択することを特徴とする請求項８記載のデスクランブル処理装置。
【請求項１１】
前記係数が、非ゼロ係数の値とそれに先行するゼロ係数の個数とを基に前記符号列に変換された場合に、前記符号列入れ替え部は、前記符号列選択部により選択された、先行するゼロ係数の個数が一致する前記符号列同士を、対応する前記ブロックの間で入れ替えることを特徴とする請求項１０記載のデスクランブル処理装置。
【請求項１２】
前記符号列選択部は、入力画像の１フレーム内の一部の前記ブロックのみから前記符号列を選択し、
前記符号列入れ替え部は、前記符号列選択部の選択処理に応じて、当該フレーム内の一部の領域のみ、前記符号列の入れ替えを行うことを特徴とする請求項８〜１１のいずれか１項に記載のデスクランブル処理装置。
【請求項１３】
前記原画像データが動画像データである場合に、
前記符号列選択部は、前記動画像データの再生時間を分割した分割期間ごとに、前記符号列を互いに入れ替える対象とする複数の前記ブロックの選択方法を変化させることを特徴とする請求項８〜１２のいずれか１項に記載のデスクランブル処理装置。
【請求項１４】
前記符号列を互いに入れ替える対象とする複数の前記ブロックの選択方法を示すブロック選択情報を含むキー情報の入力を受けるキー入力部をさらに有し、
前記符号列選択部は、前記ブロック選択情報に基づいて、複数の前記ブロックを選択することを特徴とする請求項８〜１３のいずれか１項に記載のデスクランブル処理装置。
【請求項１５】
入力画像データを符号化する画像符号化装置において、
画像領域を分割したブロックごとに画像データに対して離散コサイン変換を施す離散コサイン変換部と、
前記離散コサイン変換により得られた周波数成分ごとの係数を量子化する量子化部と、
量子化された周波数成分ごとの係数をそれぞれ可変長の符号列に変換する符号化部と、
前記符号化部からの符号化データに含まれる前記符号列のうち交流成分の前記符号列を、複数の前記ブロックからそれぞれ選択する符号列選択部と、
前記符号列選択部によって選択された前記符号列を、対応する前記ブロックの間で入れ替える符号列入れ替え部と、
を有することを特徴とする画像符号化装置。
【請求項１６】
符号化された画像データを復号するとともに、その画像に施されたスクランブル処理を解除する画像復号装置において、
画像領域を分割したブロックごとに原画像データに対して離散コサイン変換が施され、得られた周波数成分ごとの係数がそれぞれ可変長の符号列に変換されることで生成された符号化データの入力を受けて、前記符号化データに含まれる前記符号列のうち交流成分の前記符号列を、複数の前記ブロックからそれぞれ選択する符号列選択部と、
前記符号列選択部によって選択された前記符号列を、前記スクランブル処理の前の状態に戻すように、対応する前記ブロックの間で入れ替える符号列入れ替え部と、
前記符号列入れ替え部による入れ替え処理が施された前記符号化データを可変長復号する復号部と、
復号された係数の量子化データに対して逆量子化を行う逆量子化部と、
逆量子化によって得られた係数に対して逆離散コサイン変換を施す逆離散コサイン変換部と、
を有することを特徴とする画像復号装置。
【請求項１７】
入力画像に対してスクランブル処理を施すためのスクランブル処理方法において、
符号列選択部が、画像領域を分割したブロックごとに画像データに対して離散コサイン変換が施され、得られた周波数成分ごとの係数がそれぞれ可変長の符号列に変換されることで生成された符号化データの入力を受けて、前記符号化データに含まれる前記符号列のうち交流成分の前記符号列を、複数の前記ブロックからそれぞれ選択し、
符号列入れ替え部が、選択された前記符号列を、対応する前記ブロックの間で入れ替える、
ことを特徴とするスクランブル処理方法。
【請求項１８】
入力画像に施されたスクランブル処理を解除するためのデスクランブル処理方法において、
符号列選択部が、画像領域を分割したブロックごとに原画像データに対して離散コサイン変換が施され、得られた周波数成分ごとの係数がそれぞれ可変長の符号列に変換されることで生成された符号化データの入力を受けて、前記符号化データに含まれる前記符号列のうち交流成分の前記符号列を、複数の前記ブロックからそれぞれ選択し、
符号列入れ替え部が、選択された前記符号列を、前記スクランブル処理の前の状態に戻すように、対応する前記ブロックの間で入れ替える、
ことを特徴とするデスクランブル処理方法。
【請求項１９】
入力画像に対してスクランブル処理を施すためのスクランブル処理プログラムにおいて、
コンピュータを、
画像領域を分割したブロックごとに画像データに対して離散コサイン変換が施され、得られた周波数成分ごとの係数がそれぞれ可変長の符号列に変換されることで生成された符号化データの入力を受けて、前記符号化データに含まれる前記符号列のうち交流成分の前記符号列を、複数の前記ブロックからそれぞれ選択する符号列選択部、
前記符号列選択部によって選択された前記符号列を、対応する前記ブロックの間で入れ替える符号列入れ替え部、
として機能させることを特徴とするスクランブル処理プログラム。
【請求項２０】
入力画像に施されたスクランブル処理を解除するためのデスクランブル処理プログラムにおいて、
コンピュータを、
画像領域を分割したブロックごとに原画像データに対して離散コサイン変換が施され、得られた周波数成分ごとの係数がそれぞれ可変長の符号列に変換されることで生成された符号化データの入力を受けて、前記符号化データに含まれる前記符号列のうち交流成分の前記符号列を、複数の前記ブロックからそれぞれ選択する符号列選択部、
前記符号列選択部によって選択された前記符号列を、前記スクランブル処理の前の状態に戻すように、対応する前記ブロックの間で入れ替える符号列入れ替え部、
として機能させることを特徴とするデスクランブル処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力画像に対してスクランブル処理を施すスクランブル処理装置、そのスクランブル処理を解除するデスクランブル処理装置、これらの機能を備えた画像符号化装置、画像復号装置、スクランブル処理およびデスクランブル処理の方法、およびそれらの処理プログラムに関する。
【背景技術】
【０００２】
近年、動画像データの圧縮技術や伝送技術の発展に伴い、放送電波やネットワークを通じて、デジタルデータ化された動画像を伝送することが一般化している。このような動画像データの圧縮や伝送のための代表的な規格として、ＭＰＥＧ（Moving Picture Experts Group）規格などが挙げられる。
【０００３】
また、著作権が保護された動画像コンテンツの視聴を制限したり、あるいは不正なコピーを防止するために、画像にスクランブルを施す技術も種々開発されている。その１つとして、動画像データに対する圧縮符号化（エンコード）の処理時に、暗号キーなどを基にスクランブルを施す処理を実行する技術がある。
【０００４】
例えば、動画像データのエンコード時において、ＤＣＴ（Discrete Cosine Transform）処理により得られた係数データに対して、ＤＣＴ処理の対象としたブロック単位でスクランブルを施すようにした技術がある（例えば、特許文献１参照）。また、上記のブロックの符号列に含まれる特定の符号化パラメータを所定の値に置換するようにした技術もある（例えば、特許文献２参照）。さらに、上記のブロック内の係数データを別の係数と置換するようにした技術もある（例えば、特許文献３参照）。また、符号化後のビットストリームから特定の階層のデータ同士を入れ替えることで、暗号化を施すようにした技術もある（例えば、特許文献４参照）。
【特許文献１】特開平７−７９４２６号公報
【特許文献２】特開平９−１７２６３３号公報
【特許文献３】特開平１１―２２５３２３号公報
【特許文献４】特開平９−２１４９３０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、著作権が保護された動画像コンテンツをユーザに販売する際には、そのコンテンツをユーザに事前に試しに視聴してもらうことで、販売を促進することができる。この方法の一例としては、コンテンツ全体のうちの一部を抽出した動画像ストリーム、あるいは品質を劣化させた動画像ストリームをサンプルとして別途用意しておいて、それらをユーザに提供する方法がある。しかし、この方法では、サンプルの視聴後にそのコンテンツを購入するユーザは、正規の動画像ストリームをあらためて入手する（例えばダウンロードする）必要があり、手間がかかってしまう。
【０００６】
これに対して、正規の動画像ストリームのみを用意しておき、購入前のユーザがこれを入手すると、スクランブルにより例えば品質の劣化した状態でしか再生できないようにするという方法が考えられている。この場合、ユーザは、同一の動画像ストリームを用いて、購入前においては、品質の劣化した状態ではあるもののそのコンテンツの内容を大まかに把握することができる。そして、購入手続後にはスクランブルが解除されて、通常品質の動画像を視聴できるようになる。
【０００７】
この後者の方法では、スクランブルが解除されていない状態でも、その動画像ストリームをデコーダにより正常にデコードできる必要がある。しかしながら、上記のように動画像データのエンコード時にスクランブルが施された動画像ストリームでは、スクランブルを解除しておかないとデコーダで正しくデコードできず、デコードエラーが発生して何の画像も再生されない場合が多い。このため、ストリームの記述規則に違反しないようにスクランブルを施す技術が必要とされていた。
【０００８】
また、同一の動画像ストリームを用いて再生時の品質などを制御できるようにするためには、例えば、デコーダ側に異なるスケーラビリティをサポートさせ、なおかつそれらを制御する機能を搭載しておく必要がある。しかし、このような機能は煩雑な処理を伴うものが多いため、この処理手順を簡単にし、処理負荷を軽減することが求められていた。
【０００９】
本発明はこのような点に鑑みてなされたものであり、画像符号化データの記述規則に反することなく、画像コンテンツにスクランブル処理を施すことが可能なスクランブル処理装置、その画像コンテンツに施されたスクランブル処理を解除するデスクランブル処理装置、それらの機能を備えた画像符号化装置、画像復号装置、スクランブル処理、デスクランブル処理の方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、入力画像に対してスクランブル処理を施すスクランブル処理装置が提供される。このスクランブル処理装置は、画像領域を分割したブロックごとに画像データに対して離散コサイン変換が施され、得られた周波数成分ごとの係数がそれぞれ可変長の符号列に変換されることで生成された符号化データの入力を受けて、前記符号化データに含まれる前記符号列のうち交流成分の前記符号列を、複数の前記ブロックからそれぞれ選択する符号列選択部と、前記符号列選択部によって選択された前記符号列を、対応する前記ブロックの間で入れ替える符号列入れ替え部と、を有する。
【００１１】
ここで、符号列選択部には、画像領域を分割したブロックごとに画像データに対して離散コサイン変換が施され、得られた周波数成分ごとの係数がそれぞれ可変長の符号列に変換されることで生成された符号化データが、入力される。符号列選択部は、この符号化データに含まれる符号列のうち交流成分の符号列を、複数のブロックからそれぞれ選択する。符号列入れ替え部は、符号列選択部によって選択された符号列を、対応するブロックの間で入れ替えることで、画像にスクランブルをかける。
【００１２】
また、上記目的を達成するために、入力画像に施されたスクランブル処理を解除するデスクランブル処理装置が提供される。このデスクランブル処理装置は、画像領域を分割したブロックごとに原画像データに対して離散コサイン変換が施され、得られた周波数成分ごとの係数がそれぞれ可変長の符号列に変換されることで生成された符号化データの入力を受けて、前記符号化データに含まれる前記符号列のうち交流成分の前記符号列を、複数の前記ブロックからそれぞれ選択する符号列選択部と、前記符号列選択部によって選択された前記符号列を、前記スクランブル処理の前の状態に戻すように、対応する前記ブロックの間で入れ替える符号列入れ替え部と、を有する。
【００１３】
ここで、符号列選択部には、画像領域を分割したブロックごとに原画像データに対して離散コサイン変換が施され、得られた周波数成分ごとの係数がそれぞれ可変長の符号列に変換されることで生成された符号化データが、入力される。符号列選択部は、この符号化データに含まれる符号列のうち交流成分の符号列を、複数のブロックからそれぞれ選択する。符号列入れ替え部は、符号列選択部によって選択された符号列を、スクランブル処理の前の状態に戻すように、対応するブロックの間で入れ替える。
【００１４】
さらに、上記目的を達成するために、上記のスクランブル処理装置およびデスクランブル処理装置と同様の処理機能をそれぞれ備えた画像符号化装置および画像復号装置が提供される。また、上記のスクランブル処理装置と同様の処理を行うスクランブル処理方法およびプログラム、上記のデスクランブル処理装置と同様の処理を行うデスクランブル処理方法およびプログラムが提供される。
【発明の効果】
【００１５】
上記のスクランブル処理装置によれば、画像符号化データの記述規則に反することなく、画像にスクランブル処理を施すことが可能になる。
また、上記のデスクランブル処理装置によれば、上記手順でスクランブル処理が施された画像から、スクランブル処理を解除して、元の画像を再生できるようになる。
【発明を実施するための最良の形態】
【００１６】
以下、実施の態様について、図面を参照して詳細に説明する。
図１は、実施の形態に係るスクランブル装置およびデスクランブル装置の構成を概略的に示す図である。
【００１７】
図１に示すスクランブル処理装置１は、入力画像に対してスクランブル処理を施す装置であり、符号列選択部１１、符号列入れ替え部１２およびキー生成部１３を備える。また、スクランブル処理装置１には、例えば、バッファメモリ１ａが接続されている。
【００１８】
また、デスクランブル処理装置２は、入力画像に対して施されたスクランブル処理を解除するための装置であり、符号列選択部２１、符号列入れ替え部２２およびキー入力部２３を備える。また、デスクランブル処理装置２には、例えば、バッファメモリ２ａが接続されている。
【００１９】
スクランブル処理装置１には、ＤＣＴ処理を用いた所定の圧縮符号化方式により符号化された画像データ（符号化データ）が、バッファメモリ１ａを介して入力される。この符号化データは、より具体的には、入力画像データに対して、画像領域を分割したブロックごとにＤＣＴ処理を施し、それによって得られた係数を量子化した後、周波数成分ごとに可変長符号化することによって生成されたものである。
【００２０】
バッファメモリ１ａには、量子化された所定数の係数を可変長符号化するたびに得られる符号列が蓄積され、スクランブル処理装置１は、符号化データをこれらの符号列単位で取得する。
【００２１】
符号列選択部１１は、符号化データに含まれる符号列のうち交流（ＡＣ：Alternating Current）成分の符号列を、複数のブロックからそれぞれ選択する。例えば、符号列選択部１１は、複数のブロックのそれぞれからすべてのＡＣ成分の符号列を選択する。
【００２２】
符号列入れ替え部１２は、符号列選択部１１によって選択された符号列を、対応するブロックの間で入れ替える。例えば、符号列選択部１１により、複数のブロックのそれぞれからすべてのＡＣ成分の符号列が選択された場合には、符号列入れ替え部１２は、１つのブロックから選択された符号列全体を、対応するブロックの間で入れ替える。このような入れ替え処理により、スクランブル処理が施された画像データが、符号列入れ替え部１２から出力される。
【００２３】
キー生成部１３は、出力された画像データをデスクランブル処理するために必要なキー情報を生成する。キー生成部１３は、例えば、符号列選択部１１で実行されたブロックや符号列の選択処理に応じて、その選択方法を示す情報を生成して、キー情報に埋め込む。また、同様に、符号列入れ替え部１２での入れ替えの方法を示す情報を生成して、キー情報に埋め込んでもよい。あるいは、キー生成部１３自身が、符号列選択部１１で実行される選択の方法を示す情報や、符号列入れ替え部１２で実行される入れ替えの方法を示す情報を生成し、各部に出力してそれらの動作を制御してもよい。
【００２４】
一方、デスクランブル処理装置２には、上記の方法によってスクランブル処理が施された画像データ（符号化データ）が、バッファメモリ２ａを介して入力される。バッファメモリ２ａには、可変長符号化の単位となる符号列が蓄積され、デスクランブル処理装置２は、符号化データをこれらの符号列単位で取得する。
【００２５】
符号列選択部２１は、符号化データに含まれる符号列のうちＡＣ成分の符号列を、複数のブロックからそれぞれ選択する。例えば、符号列選択部２１は、複数のブロックのそれぞれからすべてのＡＣ成分の符号列を選択する。
【００２６】
符号列入れ替え部２２は、符号列選択部２１によって選択された符号列を、対応するブロックの間で入れ替えて、符号列の順序をスクランブル処理の前の状態に戻す。例えば、符号列選択部２１により、複数のブロックのそれぞれからすべてのＡＣ成分の符号列が選択された場合には、符号列入れ替え部２２は、１つのブロックから選択された符号列全体を、対応するブロックの間で入れ替える。このような入れ替え処理により、原画像に基づく符号化データが再現される。
【００２７】
キー入力部２３は、デスクランブル処理に必要なキー情報を、例えばユーザの操作入力に応じて受け取る。そして、キー情報から、符号列選択部２１で実行させるブロックや符号列の選択の方法を示す情報を抽出し、符号列選択部２１に供給する。符号列選択部２１は、この情報に基づいて、符号列およびブロックの選択処理を実行する。また、キー情報に、符号列入れ替え部２２で実行させる符号列の入れ替えの方法を示す情報が含まれていた場合には、キー入力部２３は、この情報を抽出して符号列入れ替え部２２に供給する。符号列入れ替え部２２は、この情報に基づいて、ブロック間での符号列の入れ替え処理を実行する。
【００２８】
以上の構成において、スクランブル処理装置１によってスクランブル処理が施された符号化データは、符号列の入れ替え前の圧縮符号化方式に対応するほとんどの復号器（デコーダ）によって、特にエラーを起こすことなくデコードされる。例えば、複数のブロックのそれぞれからすべてのＡＣ成分の符号列を選択して入れ替えた場合には、生成された符号化データは、エラーが生じることなく確実にデコードされる。
【００２９】
ここで、この符号化データにおいては、ＤＣＴ係数の直流（ＤＣ：Direct Current）成分については入れ替えられていない。しかし、符号列の入れ替えが行われた各ブロックでは、ＡＣ成分については、符号化対象となった元の画像成分とは異なる成分が含まれている。このため、デコードされて再生された画像は、元の画像が大まかに認識できるものの、品質が劣化したものとなる。
【００３０】
さらに、入れ替えを行う符号列の選択方法やそれらの入れ替え方法に応じて、スクランブル処理による画質劣化の度合いを制御することが可能になる。例えば、後述するように、１フレームにおいて、より離れた位置のブロック間で符号列を入れ替えることで、画質劣化の度合いを大きくすることができる。
【００３１】
また、この符号化データに対して、デコードの前段（具体的には、可変長復号処理の前段）において、デスクランブル処理装置２によるデスクランブル処理を施すことにより、処理後の符号化データをデコードして元の画像を完全に復元することができる。ここで、符号列の入れ替えのためには、スクランブル処理装置１において符号列を入れ替えた際の入れ替え方法などを示す情報がわかる必要がある。従って、このような情報がデスクランブル処理のためのキー情報として用いられればよい。
【００３２】
以上のスクランブル／デスクランブル処理を用いることにより、１つの符号化データにより、元の画像の再生と、その画像よりも低品質な画像の再生の両方を実現できるようになる。また、これらのうち低品質な画像の再生は、利用した圧縮符号化方式に準拠した既存のデコーダを用いることで実行できる。
【００３３】
また、スクランブル処理が解除されていない符号化データでは、ＤＣ成分については各ブロックに正しく含まれていることから、デコードして得られた画像を視認したユーザは、元の画像を大まかに認識できるようになる。このため、例えば、動画像のコンテンツを販売する販売者は、上記の方法でスクランブル処理を施した動画像ストリームを、サンプルとして購入前のユーザに提供することができる。このとき、提供を受けたユーザは、その動画像ストリームを再生してコンテンツの内容を大まかに確認し、購入するか否かを判断できる。さらに、購入した場合には、デスクランブル処理のためのキー情報を受け取ることで、正規の動画像ストリームをあらためて入手することなく、元の画質のコンテンツを視認できるようになる。
【００３４】
次に、動画像の圧縮符号化方式としてＭＰＥＧ２方式を用いた場合を例に挙げて、上記のスクランブル処理機能、およびそのデスクランブル処理機能を適用した実施の態様について、さらに詳しく説明する。
【００３５】
まず、以下の第１，第２の実施の形態では、スクランブル処理機能およびデスクランブル処理機能を、ＭＰＥＧ２規格に準拠したエンコーダおよびデコーダの内部にそれぞれ組み込んだ場合を例示する。
【００３６】
〔第１の実施の形態〕
図２は、第１の実施の形態に係るエンコーダの内部構成を示す図である。
図２に示すエンコーダ１００は、ＭＰＥＧ２方式の動画像ストリームを生成するものであって、動画像のスクランブル機能を一体に搭載している。このエンコーダ１００は、減算器１０１、ＤＣＴ器１０２、量子化器１０３、逆量子化器１０４、逆ＤＣＴ器１０５、加算器１０６、フレームメモリ１０７、動き補償処理部１０８、インター／イントラ切り替え回路１０９、可変長符号化器１１０、スクランブル処理部１１１、キー出力部１１２および出力バッファ１１３を備えている。
【００３７】
このエンコーダ１００には、エンコード対象の動画像データがマクロブロック単位で入力される。マクロブロックは、例えば水平／垂直方向にそれぞれ１６個の画素を有する。マクロブロック単位の動画像データは減算器１０１に入力される。減算器１０１は、入力された動画像データから、インター／イントラ切り替え回路１０９から出力される前フレームの動画像データを減算する。ただし、フレーム内符号化が行われる場合には、インター／イントラ切り替え回路１０９からは動画像データは出力されず、減算器１０１での減算も行われない。
【００３８】
ＤＣＴ器１０２は、減算器１０１からの出力信号に対して、マクロブロックをさらに分割したブロック単位でＤＣＴ処理を施し、周波数領域の信号に変換する。ここで、ブロックは、水平／垂直方向にそれぞれ８個の画素を有する。
【００３９】
量子化器１０３は、ＤＣＴ器１０２からの出力信号を、周波数成分ごとに量子化する。
逆量子化器１０４は、量子化器１０３からの出力信号を逆量子化する。逆ＤＣＴ器１０５は、逆量子化器１０４からの出力信号に対して逆ＤＣＴ処理を施す。これにより、元の時間軸領域の画像データに戻される。
【００４０】
加算器１０６は、逆ＤＣＴ器１０５から出力される画像データと、動き補償処理部１０８から出力される予測画像のデータとを加算し、参照画像を生成する。参照画像のデータはフレームメモリ１０７に格納される。
【００４１】
動き補償処理部１０８は、エンコーダ１００への入力画像データと、フレームメモリ１０７から読み出した前フレーム画像（参照画像）のデータとを比較して、動きベクトルを検出する。そして、この動きベクトルに基づく予測画像を生成する。
【００４２】
インター／イントラ切り替え回路１０９は、フレーム内符号化あるいはフレーム間符号化のどちらを行うかを選択し、フレーム間符号化が行われる場合には、動き補償処理部１０８からの前フレーム画像のデータを、減算器１０１に出力する。
【００４３】
可変長符号化器１１０は、量子化器１０３によって量子化された係数に対して、ハフマン符号化を施す。
スクランブル処理部１１１は、可変長符号化器１１０からの符号化データに対して、スクランブル処理を施す。この処理では、可変長符号化器１１０によって符号化された係数のうちＡＣ成分の係数が、ブロック間で入れ替わる。
【００４４】
キー出力部１１２は、スクランブル処理で利用されるキー情報を生成して、スクランブル処理部１１１に出力する。なお、この機能は、例えば、エンコーダ１００の動作を制御する外部の制御部によって実現されてもよい。
【００４５】
なお、基本的に、スクランブル処理部１１１の機能は、図１に示したスクランブル処理装置１の符号列選択部１１および符号列入れ替え部１２の機能に対応し、キー出力部１１２の機能は、キー生成部１３の機能に対応する。
【００４６】
出力バッファ１１３は、スクランブル処理部１１１によりスクランブル処理が施された符号化データを一時的に蓄積し、ＭＰＥＧ２方式の動画像ストリームとして出力する。
図３は、第１の実施の形態に係るデコーダの内部構成を示す図である。
【００４７】
図３に示すデコーダ２００は、ＭＰＥＧ２方式の動画像ストリームをデコードするものであって、上記のエンコーダ１００によって動画像に施されたスクランブルを解除する機能を一体に搭載している。このデコーダ２００は、入力バッファ２０１、デスクランブル処理部２０２、キー入力部２０３、可変長復号器２０４、逆量子化器２０５、逆ＤＣＴ器２０６および予測処理部２０７を備えている。
【００４８】
入力バッファ２０１は、動画像ストリームの入力を受けてこれを一時的に蓄積する。入力バッファ２０１からは、ストリームから必要な情報が分離されて後段に出力される。特に、ここでは、各ブロックに含まれるＤＣＴ係数の符号化データから、係数テーブルに基づき、復号単位の符号列がデスクランブル処理部２０２に供給される。
【００４９】
デスクランブル処理部２０２は、入力された動画像ストリームに、上記のエンコーダ１００のスクランブル処理部１１１によってスクランブル処理が施されていた場合に、この動画像ストリームに対してデスクランブル処理を施す。この処理では、ＡＣ成分の符号列がブロック間で入れ替えられる。なお、デスクランブル処理部２０２は、例えば、キー入力部２０３からキー情報の入力を受けたときにのみデスクランブル処理を実行し、それ以外のときには入力データをそのまま出力する。
【００５０】
キー入力部２０３は、デスクランブル処理のためのキー情報の入力を受け、このキー情報をデスクランブル処理部２０２に供給する。なお、この機能は、例えば、デコーダ２００の動作を制御する外部の制御部によって実現されてもよい。また、このキー情報に含まれる入れ替えパターン情報やその適用期間情報をデスクランブル処理部２０２に供給することにより、正規の画像を再生可能とするためのデスクランブル処理の方法を指定できるようになる。
【００５１】
なお、基本的に、デスクランブル処理部２０２の機能は、図１に示したデスクランブル処理装置２の符号列選択部２１および符号列入れ替え部２２の機能に対応し、キー入力部２０３の機能は、キー入力部２３の機能に対応する。
【００５２】
可変長復号器２０４は、係数テーブルに基づき、デスクランブル処理部２０２から出力された符号化データに対して可変長復号処理を施し、ＤＣＴ係数の量子化データを復元する。
【００５３】
逆量子化器２０５は、可変長復号器２０４からの量子化データを逆量子化し、ＤＣＴ係数を復元する。
逆ＤＣＴ器２０６は、逆量子化器２０５からのＤＣＴ係数に対して逆ＤＣＴ処理を施し、時間領域の画像データを復元する。
【００５４】
予測処理部２０７は、逆ＤＣＴ器２０６からの画像データに対して、例えば別のフレームの画像データを加算することなどにより、元の画像を復元する。
次に、ＭＰＥＧ２方式の動画像ストリームの仕様について説明する。まず、図４は、ＭＰＥＧ２方式の動画像ストリームの構成を示す図である。
【００５５】
ＭＰＥＧ２方式の動画像ストリームは、図４に示すような階層構造を有する。最上位階層はシーケンス層と呼ばれ、この層では、シーケンスヘッダからシーケンスエンドまでの間に１つ以上のＧＯＰ（Group Of Pictures）が含まれる。これらの一連のデータによって、１つのプログラムが構成される。
【００５６】
各ＧＯＰは、ＧＯＰヘッダを先頭に、１つ以上のピクチャが含まれる。ＭＰＥＧ２方式では、予測方式が異なるＩ，Ｐ，Ｂの３種類のピクチャを利用できる。また、１つのＧＯＰには少なくとも１つのＩピクチャが含まれ、これによってＧＯＰ単位でのランダムアクセスが容易になる。
【００５７】
各ピクチャは、ピクチャヘッダを先頭に、１つ以上のスライスを含む。また、スライスは、スライス情報を先頭に、１つ以上のマクロブロックを含む。さらに、各マクロブロックは、マクロブロック情報を先頭に、１つ以上のブロックを含む。
【００５８】
マクロブロックは、１つの画面（ピクチャ）を分割した所定数の画素からなる分割領域である。スライスは、１つ以上のマクロブロックの帯として構成される。すなわち、スライスは、１画面上でのマクロブロックより大きな分割領域である。また、ブロックは、基本的に、マクロブロックをさらに分割した領域である。このブロックを単位としてＤＣＴ処理が実行され、ブロック層には、各ブロックの画像情報をＤＣＴ処理することで得られた係数を可変長符号化した符号化データが格納される。
【００５９】
なお、ＭＰＥＧ２方式では、輝度信号については、マクロブロックは１６×１６画素から構成され、その領域内に８×８画素のブロックが４つ含まれる。また、色差信号については、マクロブロックの画素数は、輝度信号と色差信号とのサンプリング比に応じたフォーマットごとに異なるが、１つのブロックは８×８画素から構成される。
【００６０】
図５は、ブロックのデータ構造を示す図である。
ブロックには、８×８画素分の画像データから得られたＤＣＴ係数が、周波数成分ごとに格納される。図５に示すように、ブロックには、その先頭にＤＣ成分（図中の“ＤＣ”）が格納され、その後の領域にＡＣ成分（図中の“ａ０１”〜“ａ６３”）が順次格納される。
【００６１】
図６は、ＤＣＴ係数のＡＣ成分に対する可変長符号化の手順を説明するための図である。
ここでは、図５におけるＤＣＴ係数のＡＣ成分“ａ０１”〜“ａ６３”をそれぞれ量子化した値を、可変長符号化するための方法について説明する。図６において、量子化されたＡＣ成分“ａ０１”〜“ａ１５”のうち、“ａ０１”，“ａ０４”，“ａ０６”，“ａ０７”，“ａ１１”，“ａ１５”はそれぞれ非ゼロ係数であり、それ以外はゼロ係数であったものとする。
【００６２】
ＡＣ成分の量子化データは、非ゼロ係数とこれに先行するゼロ係数とからなる符号列を単位として、可変長符号化される。この符号化単位は、非ゼロ係数に先行するゼロ係数の個数を示す“ＲＵＮ”と、その非ゼロ係数の値を示す“ＬＥＶＥＬ”との組み合わせによって表され、その組み合わせと、次の図７に示す係数テーブルとに基づいて、符号が決定される。なお、ＡＣ成分については、非ゼロ係数の個数だけ可変長の符号が得られ、その最大数はブロック当たり６３となる。
【００６３】
図７は、可変長符号化のための係数テーブルの例を示す図である。
図７に示すように、係数テーブルには、“ＲＵＮ”と“ＬＥＶＥＬ”の組み合わせごとに、可変長の符号が対応付けられている。この係数テーブルを用いた場合、図６に示したＡＣ成分のうち、“ａ０１”は“０１０００”に、“ａ０２”〜“ａ０４”は“０１０１０”に、“ａ０５”〜“ａ０６”は“０００１１００”に、それぞれ符号化される。なお、図７において“ｓ”はサインビットを示しており、ここでは例としてサインビットの値を“０”としている。
【００６４】
図２に示したスクランブル処理部１１１は、以上のような動画像ストリームに対して、ブロック内の符号化されたＤＣＴ係数のＡＣ成分を他のブロック内のＡＣ成分と入れ替えることで、スクランブル処理を施す。
【００６５】
＜処理例１＞
次に、スクランブル処理の処理例１として、第ｍ番目のブロックに含まれる符号化データのうちのすべてのＡＣ成分と、第ｎ番目（ただし、ｍ＞ｎ）のブロックに含まれる符号化データのうちのすべてのＡＣ成分とを入れ替える場合について説明する。
【００６６】
図８は、スクランブル処理の処理例１−１を説明するための図である。
図８に示す処理例１−１では、ｎ＝ｍ＋１とし、連続する２つのブロック間ですべてのＡＣ成分を入れ替えている。なお、図８では例として、２つのブロック間でのＡＣ成分の入れ替えのみ示しているが、例えば、画像全体に亘って、連続する２つのブロック間でのＡＣ成分の入れ替えが行われればよい。
【００６７】
図９は、スクランブル処理の処理例１−２を説明するための図である。
ＡＣ成分の符号列は、図８のように連続するブロック間ではなく、離間したブロック間で入れ替えてもよい。図９に示す処理例１−２では、その例として、２つ分離れたブロック間でＡＣ成分を入れ替えている。なお、この図９の処理を実現する場合、スクランブル処理部１１１は、例えば、連続する４つのブロック単位でＡＣ成分の符号列を選択し、第１番目と第３番目のブロック間で、また第２番目と第４番目のブロック間で、それらの符号列を入れ替える。
【００６８】
なお、これらの処理例１−１，１−２では、ＡＣ成分をブロック間で入れ替えているが、ブロックの代わりにマクロブロック間で入れ替えてもよい。例えば、複数ブロックを含むマクロブロック内の符号化データに対してスクランブル処理を施す場合、１つのマクロブロック内のブロックに含まれるすべてのＡＣ成分を、別のマクロブロック内の対応するブロックに含まれるすべてのＡＣ成分と入れ替えればよい。
【００６９】
図１０は、スクランブル処理の処理例１−３を説明するための図である。
ＡＣ成分の入れ替えは、画像内の水平方向に並ぶブロック同士で行ってもよいし、垂直方向に並ぶブロック同士で行ってもよい。また、斜め方向に並ぶブロック同士で行ってもよい。さらに、前述のように、ブロック単位ではなく、マクロブロック単位でＡＣ成分を入れ替えてもよい。
【００７０】
図１０に示す処理例１−３は、１フレームの画像において、垂直方向に並ぶマクロブロック間でＡＣ成分を入れ替える場合を示している。なお、図１０では、水平方向に並列する１列分のマクロブロックを“ブロックライン”と称している。この図１０では、例として、垂直方向に１マクロブロック分だけ離間したマクロブロック同士で、ＡＣ成分を入れ替えている。なお、このような入れ替え処理は、例えば、スクランブル処理部１１１の前段に、４マクロブロック分の符号化データを蓄積するラインメモリを設けておくことで、容易に実現できる。
【００７１】
以上のような処理によって生成された動画像ストリームを、ＭＰＥＧ２方式に準拠した既存のデコーダに入力すると、入れ替えが行われた符号化データは所定の係数テーブルに基づいて正常に復号できる。このため、デコード処理自体でエラーが発生することはない。しかし、入れ替えが行われた画像領域では、元の画像情報とは異なる情報が含まれるため、画質が低下した状態（すなわち、スクランブルがかかった状態）で再生されることになる。
【００７２】
ところで、上記のスクランブル処理では、入れ替え対象とするブロックの選択の方法や、選択したブロック間でのＡＣ成分の入れ替えの方法を変化させることで、再生時の画質を制御することができる。画像信号は空間的な相関が強いことから、画面上で離れた位置のブロック間でＡＣ成分を入れ替えることで、画質をより低下させて、原画像とはより大きく異なる画像を再生させることができる。
【００７３】
例えば、隣接するブロック同士でＡＣ成分を入れ替える図８に示したスクランブル処理より、離間したブロック同士でＡＣ成分を入れ替える図９に示したスクランブル処理の方が、再生時の画質を低下させることができる。また、図１０のようにブロックライン間でＡＣ成分を入れ替える場合には、隣接するブロックライン間でＡＣ成分を入れ替えるより、離間したブロックライン間でＡＣ成分を入れ替える方が、再生時の画質を低下させることができる。
【００７４】
さらに、図１１は、スクランブル処理の処理例１−４を説明するための図である。
スクランブル処理部１１１では、画像上の一部の領域でのみＡＣ成分の入れ替えを行うことで、画像の一部のみで画質が低下された画像を再生させることもできる。図１１に示す処理例１−４では、１フレームの画像において、第１，第２，第７，第８のブロックラインの領域でのみＡＣ成分の入れ替えを行っている。この方法で生成した動画像ストリームを既存のデコーダでデコードすると、第３〜第６のブロックラインの領域では、原画像が元の画質で再生される。
【００７５】
ところで、エンコーダ１００に設けられたキー出力部１１２は、スクランブル処理部１１１において入れ替えの対象とするブロックの選択の方法や、選択したブロック間でのＡＣ成分の入れ替えの方法を指定するための入れ替えパターン情報を生成して、スクランブル処理部１１１に出力する。スクランブル処理部１１１は、この入れ替えパターン情報に基づいて、ＡＣ成分の入れ替え処理を実行する。
【００７６】
また、キー出力部１１２は、出力した入れ替えパターン情報を、デスクランブル処理のためのキー情報に埋め込んだキー情報を出力する。キー情報は、例えば、スクランブル処理を施した動画像ストリームの正規の購入者に対して受け渡され、デスクランブル処理に利用される。
【００７７】
入れ替えパターン情報には、例えば、入れ替え対象とするブロックの選択方法や、選択したブロック間での入れ替え方法を示す情報を含めることができる。前者の情報としては、例えば、互いにＡＣ成分を入れ替える２つのブロックの間隔を示す情報が考えられる。この場合、間隔を大きくするほど、再生時の画質を低下させることができるため、この情報を画質を制御する情報として用いることもできる。また、後者の情報としては、例えば、３つ以上のブロックの間でどのような組み合わせでＡＣ成分を入れ替えるかを示す情報が考えられる。
【００７８】
さらに、入れ替えパターン情報には、入れ替えを行う領域を指定する情報を含めることもできる。この情報としては、例えば、マクロブロックの番号やその中のブロックの番号、１フレーム内の行番号や列番号、２次元の座標情報などを適用できる。なお、領域を指定する情報ごとに、ブロックの選択方法やブロック間での入れ替え方法を示す情報を対応付けておくこともできる。この場合、画像上の領域ごとに、ブロックの選択方法やブロック間での入れ替え方法を変えて、再生時の画質を制御することができる。
【００７９】
また、図１２は、スクランブル処理の処理例１−５を説明するための図である。
スクランブル処理部１１１では、ブロックの選択方法やブロック間での入れ替え方法を、フレームごとに変えることもできる。また、それらの方法を適用する領域を、フレームごとに変えてもよい。図１２に示す処理例１−５では、生成した動画像ストリームの再生時間を、時刻０から時刻Ｔ１、時刻Ｔ１から時刻Ｔ２、時刻Ｔ２から時刻Ｔ３（ただし、０＜Ｔ１＜Ｔ２＜Ｔ３）の３つの期間に分け、それぞれの期間において、ＡＣ成分の入れ替えを行う領域（図中の斜線部）と行わない領域とを変化させている。
【００８０】
このようなスクランブル処理を行う場合には、上記の入れ替えパターン情報が、その情報を適用する期間を示す情報に対応付けてそれぞれ設定されればよい。なお、入れ替えパターン情報の適用期間を示す情報は、時刻の情報の他、フレーム番号を示す情報であってもよい。
【００８１】
次に、デコーダ２００のデスクランブル処理部２０２によるデスクランブル処理について説明する。ここでは、例として、キー入力部２０３に入力されたキー情報に、前述の入れ替えパターン情報が、その情報を適用する適用期間情報とともに含まれているものとする。
【００８２】
図１３は、キー情報に基づくデスクランブル処理部の処理手順を示すフローチャートである。
［ステップＳ１１］デスクランブル処理部２０２は、キー入力部２０３から、現在の再生時刻に対応する適用期間情報を読み込み、その適用期間に対応する入れ替えパターン情報をさらに読み込む。
【００８３】
［ステップＳ１２］デスクランブル処理部２０２は、読み込んだ入れ替えパターン情報に基づき、入れ替え対象とするブロックを選択して、各ブロックの間でＡＣ成分を入れ替える。
【００８４】
例えば、前述の処理例１−１〜１−３のように、スクランブル処理時において２つのブロック間で入れ替えが行われていた場合には、ステップＳ１２では、スクランブル処理時と同様の入れ替え処理が行われる。また、例えば、スクランブル処理時に３つ以上のブロック間で入れ替えが行われた場合には、ステップＳ１２では、それらのブロック間でスクランブル処理時とは逆の手順で入れ替えが行われる。このような処理により、ＡＣ成分の符号列が元の位置に戻される。
【００８５】
なお、入れ替えパターン情報に、入れ替えを行う領域を指定する領域情報が含まれていた場合には、その領域情報により指定される領域において、対応する入れ替えパターン情報に基づいて上記の処理が実行されればよい。
【００８６】
［ステップＳ１３］デスクランブル処理部２０２は、現在の再生時刻に基づき、ステップＳ１１で認識した適用期間が終了したか否かを判定する。終了していない場合にはステップＳ１４の処理が実行される。一方、終了した場合には、ステップＳ１１に戻り、次の適用期間情報に対応する入れ替えパターン情報が読み込まれ、その情報に基づく処理がさらに実行される。
【００８７】
［ステップＳ１４］デスクランブル処理部２０２は、デコードを終了するように指示されたか否かを判定する。終了の指示がない場合にはステップＳ１２の処理が続行され、終了を指示された場合にはデスクランブル処理も終了される。
【００８８】
＜処理例２＞
図１４は、スクランブル処理の処理例２を説明するための図である。
上記の処理例１では、ブロック内の符号化データのうちのすべてのＡＣ成分を、ブロック間で入れ替えることで、スクランブル／デスクランブルの処理を行っていた。これに対して、処理例２では、ブロック内のＡＣ成分の符号列のうち一部の符号列を、ブロック間で入れ替える。図１４に示した例では、第ｍ番目のブロックに含まれる２つの符号列と、第ｎ番目のブロックに含まれる２つの符号列とを入れ替えている。ここで、各ブロックからは、係数テーブルに規定された符号化単位の符号列が選択されて、他のブロック内の同様の符号列と入れ替えられる。
【００８９】
このような入れ替え処理においては、対応する“ＲＵＮ”の値が同じ符号列同士を入れ替えることで、デコード時の復号処理において、復元される係数の量子化データの個数に変化が生じなくなる。これにより、スクランブル処理後の動画像ストリームを、既存のデコーダでエラーを起こすことなく確実にデコードできるようになる。
【００９０】
従って、処理例２を適用したスクランブル処理部１１１は、入力されるＡＣ成分の符号列から“ＲＵＮ”の値が同じ符号列を選別するために、可変長符号化器１１０が参照するものと同じ係数テーブルを参照できる必要がある。このようなスクランブル処理部１１１における処理手順の例を、次の図１５に示す。
【００９１】
図１５は、スクランブル処理の処理例２の手順を示すフローチャートである。
［ステップＳ２１］スクランブル処理部１１１は、入れ替え対象とするブロックを選択する。図１４の例では、連続する２つのブロックを選択するが、前述の処理例１−２，１−３などのように、離間したブロックが選択されてもよい。また、この処理では、３つ以上のブロックを入れ替え対象としてもよい。
【００９２】
［ステップＳ２２］スクランブル処理部１１１は、係数テーブルに基づき、選択した各ブロックから、“ＲＵＮ”の値が同じ符号列をそれぞれ同一の個数だけ選択する。
［ステップＳ２３］スクランブル処理部１１１は、選択した符号列をブロック間で入れ替える。これにより、各ブロック間で同一数の符号列が入れ替えられる。
【００９３】
なお、このような処理例２の場合でも、処理例１−４のように、画面上の領域ごとに入れ替えの方法を変化させてもよい。また、処理例１−５のように、再生時間を分割した期間ごとに入れ替えの方法を変化させてもよい。また、変化させるパラメータとしては、例えば、入れ替えを行う符号列の“ＲＵＮ”の値や、入れ替えを行う符号列の個数などを適用できる。
【００９４】
以上のようなスクランブル処理においては、キー情報に含められる入れ替えパターン情報として、例えば、入れ替えを行う符号列の“ＲＵＮ”の値や入れ替えを行う符号列の個数が設定される。そして、このような入れ替えパターン情報をキー情報から取得したデスクランブル処理部２０２は、可変長復号器２０４が参照するものと同じ係数テーブルを参照しながら、デスクランブル処理を行う。
【００９５】
デスクランブル処理部２０２は、入れ替えパターン情報に基づき、上記のステップＳ２１と同様にブロックを選択した後、ステップＳ２２と同様に、各ブロックから“ＲＵＮ”の値が同じ符号列を同一個数だけ選択する。そして、選択した符号列を各ブロック間で入れ替える。入れ替え対象のブロックが２つであれば、スクランブル処理時と同じ入れ替え処理が実行され、入れ替え対象のブロックが３つ以上であれば、スクランブル処理時とは逆の手順で入れ替え処理が実行される。
【００９６】
以上説明した第１の実施の形態のスクランブル／デスクランブル処理によれば、１つの動画像ストリームにより、元の画像の再生と、その画像よりも低品質な画像の再生の両方を実現できるようになる。また、これらのうち低品質な画像の再生は、既存のＭＰＥＧデコーダを用いることで実行できる。
【００９７】
また、スクランブル／デスクランブルの各処理は、ともに、単なる符号列の入れ替えによって行われるので、処理負荷が低く、消費電力も低くなる。また、簡単な処理で実現されるために、これらの処理機能を、既存のエンコーダ／デコーダの内部に比較的低コストで組み込むことができる。さらに、このような簡単な処理でありながらも、スクランブルをかける画面上の位置や再生中の期間、そのスクランブルによる画質の変化の加減などを制御できる。
【００９８】
また、スクランブル処理が施された動画像ストリームのビットレートや全体のデータ量は、元の動画像ストリームと変化がないので、スクランブル処理を施した動画像ストリームを伝送する際に、伝送路に余分な負荷をかけることがない。また、その動画像ストリームを記録媒体に保存する場合でも、その容量を大きくする必要もない。
【００９９】
〔第２の実施の形態〕
上記の第１の実施の形態では、スクランブル／デスクランブルの処理機能をエンコーダ／デコーダに搭載した場合の例について示した。これに対して、以下の第２の実施の形態では、同様のスクランブル／デスクランブルの処理機能を、それぞれ単体の機能として実現する。
【０１００】
図１６は、第２の実施の形態に係るスクランブラの構成を示す図である。
図１６に示すスクランブラ３１０は、ＭＰＥＧ２規格に準拠した既存のエンコーダ３２０により生成された動画像ストリームの供給を受け、これに対してスクランブル処理を施すものである。このスクランブラ３１０は、ビット分解部３１１、スクランブル処理部３１２、キー出力部３１３およびビット結合部３１４を備える。
【０１０１】
ビット分解部３１１は、入力された動画像ストリームからブロック内の符号化データを抽出する。そして、エンコーダ３２０の可変長符号化において参照されたものと同じ係数テーブル３１５を参照して、符号化データを符号化単位の符号列に分解して、スクランブル処理部３１２に出力する。
【０１０２】
スクランブル処理部３１２およびキー出力部３１３は、それぞれ図２のスクランブル処理部１１１およびキー出力部１１２と同じ機能を備えている。スクランブル処理部３１２により、ブロック間でＡＣ成分を入れ替えられて、スクランブル処理が実行される。なお、スクランブル処理としては、第１の実施の形態で説明した種々の処理例を適用可能である。
【０１０３】
ビット結合部３１４は、ＡＣ成分の入れ替えが行われた符号化データを結合し、動画像ストリームを再構成して出力する。
図１７は、第２の実施の形態に係るデスクランブラの構成を示す図である。
【０１０４】
図１７に示すデスクランブラ４１０は、上記の方法でスクランブル処理が施された、ＭＰＥＧ２の動画像ストリームの入力を受けて、スクランブル処理を解除するものである。このデスクランブラ４１０は、ビット分解部４１１、デスクランブル処理部４１２、キー出力部４１３およびビット結合部４１４を備える。なお、デスクランブラ４１０は、例えば、ＭＰＥＧ２規格に準拠した既存のデコーダ４２０の入力段に接続される。
【０１０５】
ビット分解部４１１は、入力された動画像ストリームからブロック内の符号化データを抽出する。そして、可変長復号時に参照されるものと同じ係数テーブル４１５を参照して、符号化データを符号化単位の符号列に分解して、デスクランブル処理部４１２に出力する。
【０１０６】
デスクランブル処理部４１２およびキー出力部４１３は、それぞれ図３のデスクランブル処理部２０２およびキー入力部２０３と同じ機能を備えている。デスクランブル処理部４１２により、ブロック間でＡＣ成分が入れ替えられ、これらの符号列の順序が元に戻されることにより、スクランブル処理が解除される。
【０１０７】
ビット結合部４１４は、ＡＣ成分の入れ替えが行われた符号化データを結合し、動画像ストリームを再構成して出力する。
以上のスクランブラ３１０およびデスクランブラ４１０によれば、第１の実施の形態で説明したスクランブル／デスクランブルの処理機能をそれぞれ単体で実現できる。そして、これらの処理機能を既存のエンコーダ／デコーダと組み合わせて使用することで、既存のエンコーダ／デコーダ回路などの資源を有効に活用できる。
【０１０８】
特に、このようにスクランブル／デスクランブルの処理機能をそれぞれ単体で実現した場合には、各機能を簡単な構成で実現できるというメリットがある。例えば、スクランブル処理時に、符号化後のデータを入れ替える代わりに、符号化前の量子化データまたは量子化前のＤＣＴ係数をブロック間で入れ替えることで、スクランブル処理を行う場合を考える。この場合、エンコーダ３２０の後段でスクランブル処理を実行しようとすると、符号化データに対して少なくとも復号処理を施した後、データの入れ替えを行い、その後に少なくとも符号化処理を行って、符号化データを再生成する必要がある。また、デコーダ４２０の前段でデスクランブル処理を実行しようとすると、同様に、符号化データに対して復号処理を施した後、データの入れ替えを行い、その後に少なくとも符号化処理を行って、符号化データを再生成する必要がある。
【０１０９】
これに対して、本実施の形態によれば、エンコーダ３２０の後段でスクランブル処理を実行する場合でも、あるいは、デコーダ４２０の前段でデスクランブル処理を実行する場合でも、ともに入力画像データから符号列を抽出して入れ替えるだけであり、復号処理や逆量子化処理などを行う必要はない。従って、スクランブラ３１０やデスクランブラ４１０の処理手順を簡略化できる。
【０１１０】
また、例えば、上記手順でスクランブル処理が施された動画像ストリームを販売する場合には、その動画像ストリームの購入者に対して、デスクランブル処理のためのキー情報とともに、図１７のデスクランブラ４１０の処理を実現するデスクランブルプログラムを提供することができる。この場合、デスクランブルプログラムを受け取ったユーザは、例えば、ＰＣ（パーソナルコンピュータ）に対してそのプログラムをインストールする。そして、購入した動画像ストリームをそのＰＣで再生すると、デコード用プログラムとともにデスクランブルプログラムが起動する。これにより、動画像ストリームのスクランブル処理が解除され、ユーザは、正常な画質の画像を視聴できるようになる。
【０１１１】
なお、以上の各実施の形態では、ＭＰＥＧ２方式の動画像ストリームに対するスクランブル／デスクランブルの処理について説明したが、このスクランブル／デスクランブルの処理方法は、他の符号化方式で生成される動画像ストリームにも適用可能である。すなわち、このスクランブル／デスクランブルの処理方法は、画像データを領域ごとに周波数領域に変換し、得られた係数を周波数成分ごとに可変長符号化する符号化方法を用いて生成される動画像ストリームに、適用可能である。
【０１１２】
また、同様な符号化方法を用いて生成される静止画像の符号化データにも、上記のスクランブル／デスクランブルの処理方法を適用可能である。例えば、ＪＰＥＧ（Joint Photographic Experts Group）方式の画像データに適用可能である。
【０１１３】
さらに、上記のスクランブル／デスクランブルの処理方法は、入力信号を周波数成分ごとに分解して符号化することで得られる音声データにも適用可能である。例えば、ＭＰＥＧ方式の音声ストリームであれば、所定の周波数成分の符号列を複数のオーディオフレーム間で入れ替えることで、同様のスクランブル／デスクランブルの処理を行うことができる。
【０１１４】
また、上記のエンコーダ１００、デコーダ２００、スクランブラ３１０およびデスクランブラ４１０の備える処理機能は、コンピュータによって実現することができる。その場合には、上記各装置が有すべき処理機能の処理内容を記述したプログラムが提供される。そして、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。
【０１１５】
プログラムを流通させる場合には、例えば、そのプログラムが記録された光ディスクなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、そのプログラムを、サーバコンピュータからネットワークを介して他のコンピュータに転送することもできる。
【０１１６】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、そのプログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【図面の簡単な説明】
【０１１７】
【図１】実施の形態に係るスクランブル装置およびデスクランブル装置の構成を概略的に示す図である。
【図２】第１の実施の形態に係るエンコーダの内部構成を示す図である。
【図３】第１の実施の形態に係るデコーダの内部構成を示す図である。
【図４】ＭＰＥＧ２方式の動画像ストリームの構成を示す図である。
【図５】ブロックのデータ構造を示す図である。
【図６】ＤＣＴ係数のＡＣ成分に対する可変長符号化の手順を説明するための図である。
【図７】可変長符号化のための係数テーブルの例を示す図である。
【図８】スクランブル処理の処理例１−１を説明するための図である。
【図９】スクランブル処理の処理例１−２を説明するための図である。
【図１０】スクランブル処理の処理例１−３を説明するための図である。
【図１１】スクランブル処理の処理例１−４を説明するための図である。
【図１２】スクランブル処理の処理例１−５を説明するための図である。
【図１３】キー情報に基づくデスクランブル処理部の処理手順を示すフローチャートである。
【図１４】スクランブル処理の処理例２を説明するための図である。
【図１５】スクランブル処理の処理例２の手順を示すフローチャートである。
【図１６】第２の実施の形態に係るスクランブラの構成を示す図である。
【図１７】第２の実施の形態に係るデスクランブラの構成を示す図である。
【符号の説明】
【０１１８】
１  スクランブル処理装置
２  デスクランブル処理装置
１ａ，２ａ  バッファメモリ
１１，２１  符号列選択部
１２，２２  符号列入れ替え部
１３  キー生成部
２３  キー入力部
【図１】
2009296327.tif 000003
【図２】
2009296327.tif 000004
【図３】
2009296327.tif 000005
【図４】
2009296327.tif 000006
【図５】
2009296327.tif 000007
【図６】
2009296327.tif 000008
【図７】
2009296327.tif 000009
【図８】
2009296327.tif 000010
【図９】
2009296327.tif 000011
【図１０】
2009296327.tif 000012
【図１１】
2009296327.tif 000013
【図１２】
2009296327.tif 000014
【図１３】
2009296327.tif 000015
【図１４】
2009296327.tif 000016
【図１５】
2009296327.tif 000017
【図１６】
2009296327.tif 000018
【図１７】
2009296327.tif 000019