(57)【特許請求の範囲】
【請求項１】
可変長符号の復号を行う可変長復号器と、
前記可変長復号器に供給するべき前記可変長符号をバッファリングするバッファと、
前記可変長復号器により復号されている可変長符号が原信号のリフレッシュ単位の所定位置以降のものであるか否かを検出する符号位置検出手段と、
前記可変長復号器により復号されている可変長符号が前記原信号の前記リフレッシュ単位の所定位置以降のものであることが前記符号位置検出手段により検出された時に、前記バッファ中における前記可変長符号の占有率が第１の所定のしきい値以上であるか否かを検出する第１の占有率検出手段と、
前記可変長復号器により復号されている可変長符号が前記原信号の前記リフレッシュ単位の所定位置以降のものであることが前記符号位置検出手段により検出され、且つ、前記バッファ中における前記可変長符号の占有率が前記第１の所定のしきい値以上であることが前記第１の占有率検出手段により検出された時に、前記可変長復号器に前記復号をスキップさせるスキップ手段と、
を備えることを特徴とする可変長符号の入力が中断されることを防止する方式。
【請求項２】
請求項１に記載の方式において、
前記原信号のリフレッシュ単位とは、スライスであることを特徴とする方式。
【請求項３】
請求項２に記載の方式において、
前記スライスは、ＭＰＥＧ(Motion Picture Experts Group)規格で定義されたものであることを特徴とする方式。
【請求項４】
請求項１に記載の方式において、
前記原信号のリフレッシュ単位は、ＤＣＴ(Discrete Cosine Transform)ブロック、フレーム及びフィールドのうちの何れでもないことを特徴とする方式。
【請求項５】
請求項１に記載の方式において、
前記リフレッシュ単位の所定位置とは、前記原信号のリフレッシュ単位の先頭から７５％の位置であることを特徴とする方式。
【請求項６】
請求項１に記載の方式において、
前記第１の所定のしきい値は、８７．５％以上の値であることを特徴とする方式。
【請求項７】
請求項１に記載の方式において、
前記スキップ手段は、前記可変長復号器に前記スキップを前記可変長復号器が所定の符号を検出するまで行わせることを特徴とする方式。
【請求項８】
請求項７に記載の方式において、
前記所定の符号は、原信号のリフレッシュ位置の符号であることを特徴とする方式。
【請求項９】
請求項８に記載の方式において、
前記原信号のリフレッシュ位置の符号は、バイトアライン符号であることを特徴とする方式。
【請求項１０】
請求項１に記載の方式において、
前記可変長復号器により復号されている可変長符号が前記原信号の前記リフレッシュ単位の所定位置以降のものであることが検出されたか否かにかかわらず、前記バッファ中における前記可変長符号の占有率が第２の所定のしきい値以上であるか否かを検出する第２の占有率検出手段と、
前記可変長符号の入力先と前記バッファとの間に存在し、前記バッファ中における前記可変長符号の占有率が前記第２の所定のしきい値以上であることが前記第２の占有率検出手段により検出された時に、前記バッファに供給するべき前記可変長符号の前記入力先からの入力を継続しつつ、前記バッファに供給するべき前記可変長符号を廃棄する廃棄手段と、
を備えることを特徴とする方式。
【請求項１１】
請求項１０に記載の方式において、
前記第２の所定のしきい値は、前記第１の所定のしきい値よりも大きいことを特徴とする方式。
【請求項１２】
請求項１０に記載の方式において、
当該方式は、ＭＰＥＧ(Motion Picture Experts group)信号を扱い、
前記入力先と前記廃棄手段との間に、ＭＰＥＧ規格で定義されるエレメンタリ・ストリームを抽出するエレメンタリ・ストリーム抽出手段を備えることを特徴とする方式。
【請求項１３】
請求項１に記載の方式において、
当該方式は、ＭＰＥＧ(Motion Picture Experts group)信号を扱い、
前記廃棄手段と前記バッファとの間に、ＭＰＥＧ規格で定義されるエレメンタリ・ストリームを抽出するエレメンタリ・ストリーム抽出手段を備えることを特徴とする方式。
【請求項１４】
前記可変長符号をバッファでバッファリングするバッファリングステップと、
バッファリングされた前記可変長符号の復号を可変長復号器で行う可変長復号ステップと、
前記可変長復号器により復号されている可変長符号が原信号のリフレッシュ単位の所定位置以降のものであるか否かを検出する符号位置検出ステップと、
前記可変長復号器により復号されている可変長符号が前記原信号の前記リフレッシュ単位の所定位置以降のものであることが前記符号位置検出ステップで検出された時に、前記バッファ中における前記可変長符号の占有率が第１の所定のしきい値以上であるか否かを検出する第１の占有率検出ステップと、
前記可変長復号器により復号されている可変長符号が前記原信号の前記リフレッシュ単位の所定位置以降のものであることが前記符号位置検出ステップで検出され、且つ、前記バッファ中における前記可変長符号の占有率が前記第１の所定のしきい値以上であることが前記第１の占有率検出ステップで検出された時に、前記可変長復号器に前記復号をスキップさせるスキップステップと、
を有することを特徴とする可変長符号の入力が中断されることを防止する方法。
【請求項１５】
請求項１４に記載の方法において、
前記原信号のリフレッシュ単位とは、スライスであることを特徴とする方法。
【請求項１６】
請求項１５に記載の方法において、
前記スライスは、ＭＰＥＧ(Motion Picture Experts Group)規格で定義されたものであることを特徴とする方法。
【請求項１７】
請求項１４に記載の方法において、
前記原信号のリフレッシュ単位は、ＤＣＴ(Discrete Cosine Transform)ブロック、フレーム及びフィールドのうちの何れでもないことを特徴とする方法。
【請求項１８】
請求項１４に記載の方法において、
前記リフレッシュ単位の所定位置とは、前記原信号のリフレッシュ単位の先頭から７５％の位置であることを特徴とする方法。
【請求項１９】
請求項１４に記載の方法において、
前記第１の所定のしきい値は、８７．５％以上の値であることを特徴とする方法。
【請求項２０】
請求項１４に記載の方法において、
前記スキップステップは、前記可変長復号器に前記スキップを前記可変長復号器が所定の符号を検出するまで行わせることを特徴とする方法。
【請求項２１】
請求項２０に記載の方法において、
前記所定の符号は、原信号のリフレッシュ位置の符号であることを特徴とする方法。
【請求項２２】
請求項２１に記載の方法において、
前記原信号のリフレッシュ位置の符号は、バイトアライン符号であることを特徴とする方法。
【請求項２３】
請求項１４に記載の方法において、
前記可変長復号器により復号されている可変長符号が前記原信号の前記リフレッシュ単位の所定位置以降のものであることが検出されたか否かにかかわらず、前記バッファ中における前記可変長符号の占有率が第２の所定のしきい値以上であるか否かを検出する第２の占有率検出ステップと、
前記バッファ中における前記可変長符号の占有率が前記第２の所定のしきい値以上であることが前記第２の占有率検出ステップで検出された時に、前記可変長符号の入力先と前記バッファとの間に存在する廃棄手段により、前記バッファに供給するべき前記可変長符号の前記入力先からの入力を継続しつつ、前記バッファに供給するべき前記可変長符号を廃棄する廃棄ステップと、
を有することを特徴とする方法。
【請求項２４】
請求項２３に記載の方法において、
前記第２の所定のしきい値は、前記第１の所定のしきい値よりも大きいことを特徴とする方法。
【請求項２５】
請求項２３に記載の方法において、
当該方法は、ＭＰＥＧ(Motion Picture Experts group)信号を扱い、
前記入力先と前記廃棄手段との間にあるエレメンタリ・ストリーム抽出手段で、ＭＰＥＧ規格で定義されるエレメンタリ・ストリームを抽出するステップを有することを特徴とする方法。
【請求項２６】
請求項１４に記載の方法において、
当該方法は、ＭＰＥＧ(Motion Picture Experts group)信号を扱い、
前記廃棄手段と前記バッファとの間にあるエレメンタリ・ストリーム抽出手段で、ＭＰＥＧ規格で定義されるエレメンタリ・ストリームを抽出するステップを有することを特徴とする方法。
【請求項２７】
前記可変長符号をバッファでバッファリングするバッファリングステップと、
バッファリングされた前記可変長符号の復号を可変長復号器で行う可変長復号ステップと、
前記可変長復号器により復号されている可変長符号が原信号のリフレッシュ単位の所定位置以降のものであるか否かを検出する符号位置検出ステップと、
前記可変長復号器により復号されている可変長符号が前記原信号の前記リフレッシュ単位の所定位置以降のものであることが前記符号位置検出ステップで検出された時に、前記バッファ中における前記可変長符号の占有率が第１の所定のしきい値以上であるか否かを検出する第１の占有率検出ステップと、
前記可変長復号器により復号された可変長符号が前記原信号の前記リフレッシュ単位の所定位置以降のものであることが前記符号位置検出ステップで検出され、且つ、前記バッファ中における前記可変長符号の占有率が前記第１の所定のしきい値以上であることが前記第１の占有率検出ステップで検出された時に、前記可変長復号器に前記復号をスキップさせるスキップステップと、
を有することを特徴とする可変長符号の入力が中断されることを防止する方法をコンピュータに実行させるためのプログラム。
【請求項２８】
請求項２７に記載のプログラムにおいて、
前記原信号のリフレッシュ単位とは、スライスであることを特徴とするプログラム。
【請求項２９】
請求項２８に記載のプログラムにおいて、
前記スライスは、ＭＰＥＧ(Motion Picture Experts Group)規格で定義されたものであることを特徴とするプログラム。
【請求項３０】
請求項２７に記載のプログラムにおいて、
前記原信号のリフレッシュ単位は、ＤＣＴ(Discrete Cosine Transform)ブロック、フレーム及びフィールドのうちの何れでもないことを特徴とするプログラム。
【請求項３１】
請求項２７に記載のプログラムにおいて、
前記リフレッシュ単位の所定位置とは、前記原信号のリフレッシュ単位の先頭から７５％の位置であることを特徴とするプログラム。
【請求項３２】
請求項２７に記載のプログラムにおいて、
前記第１の所定のしきい値は、８７．５％以上の値であることを特徴とするプログラム。
【請求項３３】
請求項２７に記載のプログラムにおいて、
前記スキップステップは、前記可変長復号器に前記スキップを前記可変長復号器が所定の符号を検出するまで行わせることを特徴とするプログラム。
【請求項３４】
請求項３３に記載のプログラムにおいて、
前記所定の符号は、原信号のリフレッシュ位置の符号であることを特徴とするプログラム。
【請求項３５】
請求項３４に記載のプログラムにおいて、
前記原信号のリフレッシュ位置の符号は、バイトアライン符号であることを特徴とするプログラム。
【請求項３６】
請求項２７に記載のプログラムにおいて、
当該方法は、
前記可変長復号器により復号されている可変長符号が前記原信号の前記リフレッシュ単位の所定位置以降のものであることが検出されたか否かにかかわらず、前記バッファ中における前記可変長符号の占有率が第２の所定のしきい値以上であるか否かを検出する第２の占有率検出ステップと、
前記バッファ中における前記可変長符号の占有率が前記第２の所定のしきい値以上であることが前記第２の占有率検出ステップで検出された時に、前記可変長符号の入力先と前記バッファとの間に存在する廃棄手段により、前記バッファに供給するべき前記可変長符号の前記入力先からの入力を継続しつつ、前記バッファに供給するべき前記可変長符号を廃棄する廃棄ステップと、
を有することを特徴とするプログラム。
【請求項３７】
請求項３６に記載のプログラムにおいて、
前記第２の所定のしきい値は、前記第１の所定のしきい値よりも大きいことを特徴とするプログラム。
【請求項３８】
請求項３６に記載のプログラムにおいて、
当該方法は、ＭＰＥＧ(Motion Picture Experts group)信号を扱い、
当該方法は、前記入力先と前記廃棄手段との間にあるエレメンタリ・ストリーム抽出手段で、ＭＰＥＧ規格で定義されるエレメンタリ・ストリームを抽出するステップを有することを特徴とするプログラム。
【請求項３９】
請求項２７に記載のプログラムにおいて、
当該方法は、ＭＰＥＧ(Motion Picture Experts group)信号を扱い、
当該方法は、前記廃棄手段と前記バッファとの間にあるエレメンタリ・ストリーム抽出手段で、ＭＰＥＧ規格で定義されるエレメンタリ・ストリームを抽出するステップを有することを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、可変長符号の入力が中断されることを防止する方式及びその方法に関し、特に、ＭＰＥＧ（Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）信号の可変長符号の入力が中断されることを防止する方式及びその方法に関する。
【０００２】
【従来の技術】
ＭＰＥＧ信号は、離散コサイン変換を利用した動き補償双方向フレーム間予測符号化方式により映像信号を圧縮して得る映像可変長符号と、サブバンド符号化方式により音声信号を圧縮して得る音声可変長符号を有し、音声映像信号を高能率に伝送したり、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）やハードディスク等の記録媒体に記録するために利用されている。
【０００３】
ＭＰＥＧ信号はデジタル信号であるため、コピーされても信号は劣化しないので、ＭＰＥＧ信号の不法なコピーがコンテンツ制作者の著作権を侵害する。
【０００４】
そこで、ＤＶＤ等の記録媒体に記録するＭＰＥＧ信号のうちのＤＣＴ（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）係数の符号に著作権を表す電子透かしを挿入する技術が開発されている。また、ＤＶＤ等の記録媒体に記録するＭＰＥＧ信号のうちのＤＣＴ係数の符号にコピーを制御するための電子透かしを挿入する技術も開発されている。特に、コピーを制御するための電子透かしの一種として、電子透かしを挿入した後の符号量が電子透かしを挿入する前の符号量と変わらない電子透かしが開発され、コンテンツ制作者により利用されている。ＤＶＤの再生機又は記録機に、このような電子透かしを検出するための回路が設けられ、このような電子透かしがコピー禁止を表すものであれば、このような電子透かしが挿入されたＭＰＥＧ信号をあるＤＶＤから他のＤＶＤに不法にコピーしようとしても、コピーができず、コンテンツ制作者の著作権を保護することが可能となる。
【０００５】
ＭＰＥＧ信号のＤＶＤからＤＶＤへのコピーは、音声映像をスピーカ、モニタに出力しながら行う必要が無く、高速で行われるのが能率上望ましい。従って、ＭＰＥＧ信号のＤＶＤからＤＶＤへのコピーは、ＭＰＥＧデコーダを備えない数倍速又はそれ以上の速度の再生機能を有するＤＶＤドライブ（ＤＶＤプレイヤとは異なる。）及び数倍速又はそれ以上の速度の記録機能を有するＤＶＤドライブ（ＤＶＤプレイヤとは異なる。）を利用して行われる。
【０００６】
しかし、ＭＰＥＧデコーダを備えなくても、上記の不法コピーを防止するためには、ＤＶＤドライブは再生されたＭＰＥＧ信号からＤＣＴ係数を復号し、復号されたＤＣＴ係数から電子透かしを検出する機能を備えていなければならない。
【０００７】
図１０に示すのは、従来例によるＭＰＥＧ信号からＤＣＴ係数を復号し、復号されたＤＣＴ係数から電子透かしを検出する回路のブロック図である。
【０００８】
図１０を参照すると、従来例によるこの回路は、入力インターフェース９０１、バッファ９０２、ビデオエレメンタリストリーム抽出回路９０３、バレルシフタ９０４、可変長復号器９０５、制御部９０６、逆量子化器９０７、電子透かし検出器９０８を備える。
【０００９】
入力インターフェース９０１並びにバッファ９０２の入力側は、前段部（不図示）の出力インターフェースをも駆動する外部インターフェースクロックにより駆動され、バッファ９０２の出力側並びにバッファ９０２以降の回路は外部インターフェースクロックとは非同期の内部クロック系のクロックにより駆動される。
【００１０】
なお、電子透かしを検出する回路は、再生用ＤＶＤドライブ等のＭＰＥＧ信号再生装置に組み込まれる場合以外にも、記録用ＤＶＤドライブ等のＭＰＥＧ信号記録装置に組み込まれる場合及びＭＰＥＧ信号再生装置とＭＰＥＧ信号記録装置との間のインターフェース装置に組み込まれる場合がある。従って、電子透かしを検出する回路がＭＰＥＧ信号再生装置に組み込まれる場合には、前段部は、ＭＰＥＧ信号再生装置のメカ、サーボ等の再生機構系、デジタル信号復調、誤り訂正等の再生信号処理系を含む。また、電子透かしを検出する回路がＭＰＥＧ信号記録装置に組み込まれる場合及び電子透かしを検出する回路がインターフェース装置に組み込まれる場合には、前段部はＭＰＥＧ信号再生装置、ネットワークを介して接続されるビデオサーバ等である。
【００１１】
入力インターフェース９０１は、前段部から外部インターフェースクロックに同期した８ビット幅のトランスポートストリーム又はプログラムストリーム（以下、両者を総称して「ストリーム」という。）を入力し、バッファ９０２に出力する。
【００１２】
バッファ９０２は、外部インターフェースに同期しているストリームを内部クロック系のクロックに同期させるためのクロック乗り換え機能を有すると共に、可変長復号器９０５で復号される符号の長さの変動によるバレルシフタ９０４に供給されるストリームの断続性を吸収する機能を有する。従って、例えば、バッファ９０２はＦＩＦＯ（Ｆｉｒｓｔ−Ｉｎ  Ｆｉｒｓｔ−Ｏｕｔ）メモリにより構成され、ＦＩＦＯメモリの書き込みクロックとしては、外部インターフェースクロックが使用され、ＦＩＦＯメモリの読み出しクロックとしては、内部クロック系のクロックが使用される。なお、いうまでもないが、ＦＩＦＯメモリの書き込みクロックとＦＩＦＯメモリの読み出しクロックは、同期していても良いが、一般に同期していない。
【００１３】
ビデオエレメンタリストリーム抽出回路９０３は、ストリームからビデオエレメンタリストリームを抽出する機能を有し、入力したストリームをビデオエレメンタリストリームを検出するのに要したクロック数だけ遅延させてそのまま出力し、出力したストリームの各バイトがビデオエレメンタリストリームに属するか否かを示す有効フラグも出力する。ビデオエレメンタリストリーム抽出回路９０３としては、例えば、特願２０００−１６１３５６号に記載のものを使用することができる。
【００１４】
なお、ビデオエレメンタリストリームとは、ビデオＰＥＳ（Ｐａｃｋｅｔｉｚｅｄ  Ｅｌｅｍｅｎｔａｒｙ  Ｓｔｒｅａｍ）からＰＥＳヘッダを除いた部分であるビデオＰＥＳのペイロードにあるストリームであり、ＩＳＯ１３８１８−１で定義されている。
【００１５】
バレルシフタ９０４は、外部インターフェースクロックの約２倍の周波数の内部クロック（以下、「２逓倍クロック」という。）により駆動され、８ビット幅のストリームを断続的に入力すると共に、１〜３２有効ビット幅のストリームを連続的に出力する。より詳しくバレルシフタ９０４の動作を概念的に説明すると次のようになる。バレルシフタ９０４は、制御部９０６により指定される数のビット（直前に復号された符号のビット）を、２逓倍クロック毎に３２ビット幅の出力シフトレジスタからシフトアウトする。なお、出力シフトレジスタの各レジスタの出力は可変長復号器にも供給されている。また、シフトアウトの際に、出力シフトレジスタに残存しているビット群を、出力したビット数だけ先頭部へ向かいシフトする。そして、そのシフトにより末端部の出力シフトレジスタで不足したビットを、断続的にバイト単位でストリームから入力したビット群からビット単位で補う。このようにして、ある可変長符号を復号した後に、次の最長で３２ビット長の可変長符号の全ビットが出力シフトレジスタに揃う。なお、高速処理のために、出力シフトレジスタの代わりに、通常のレジスタ及びスイッチ群等を用いてバレルシフタ９０４を構成しても良い。
【００１６】
また、バレルシフタ９０４は、通常のバレルシフタと異なり、ビデオエレメンタリストリームに属していないことを示す値の有効フラグに対応したバイトは入力しない。従って、バレルシフタはビデオエレメンタリストリームのみを入力する。なお、バレルシフタ９０４は２逓倍クロックの周波数以外の周波数の内部クロックで駆動されていても良く、例えば、外部インターフェースクロックの１．５倍、１．９倍等の周波数の内部クロックで駆動されていても良い。
【００１７】
可変長復号器９０５は、バレルシフタ９０４の出力に含まれる可変長符号を符号単位に復号する。可変長復号器９０５は、ＤＣＴ係数についての可変長符号のみならず、シーケンスヘッダ層、ピクチャヘッダ層、スライス層、マクロブロック層の符号も含むビデオエレメンタリストリームの全ての符号を復号し、復号して得られたデータのうちのＤＣＴ係数を逆量子化器９０７に出力する。また、可変長復号器９０５は、復号ができたか否かを示すエラーフラグと、復号ができたならば、復号した符号の符号長を制御部９０６に出力する。
【００１８】
制御部９０６は、可変長復号器９０５から入力した符号長等を基にバレルシフタ９０４にシフトアウトするべきビット数等をバレルシフタ９０４に出力する外に、ビデオエレメンタリストリームの復号に必要な制御を行う。例えば、可変長復号器９０５がエラーにより復号が出来なくなった時には、可変長復号器９０５はエラーフラグをアクティブにし、制御部９０５は、可変長復号器９０５にスライスヘッダコード、ピクチャヘッダコード、シーケンスヘッダコード等のリフレッシュ位置（エラー伝播を打ち切る位置）にあるバイトアライン符号（符号の先頭がバイト境界にある符号）を復号させるために、バレルシフタ９０４に、バイトアラインで８ビットずつシフトアウトするように指示を出す。従って、エラーにより可変長復号器９０５がＤＣＴ係数の復号を途中からできなくなっても、スライスヘッダコード、ピクチャヘッダコード、シーケンスヘッダコード等のリフレッシュ位置にあるバイトアライン符号があるリフレッシュ位置から復号を再開することが可能となる。
【００１９】
制御部９０６は、更に、シーケンスヘッダコードから始まりＤＣＴ係数のデコードに至るまでの処理単位（バレルシフタ９０４からの出力単位）を算出する機能、シーケンスヘッダコードから始まりＤＣＴ係数に至るまでのビデオエレメンタリストリームに対するデータ構成解析を、制御部９０６が保持する所定のパラメータに従って継続して行い、構成エラーがあった時にそれを検出する機能を有する。
【００２０】
逆量子化器９０７は、可変長復号器９０５から入力したＤＣＴ係数のゼロランとレベルのペア、Ｑ＿Ｔａｂｌｅ及びＱ＿Ｓｃａｌｅを基に、各ＤＣＴブロックのＤＣＴ係数を算出する。Ｑ＿Ｔａｂｌｅが、シーケンスヘッダ層やピクチャヘッダ層のＱｕａｎｔｕｍ＿Ｍａｔｒｉｘ＿Ｅｘｔｅｎｓｉｏｎで設定されていれば、そのＱ＿ＴａｂｌｅをＤＣＴ係数の算出に使用し、設定されていなければ、ＭＰＥＧの仕様で予め定められているＱ＿Ｔａｂｌｅの初期値をＤＣＴ係数の算出に使用する。Ｑ＿Ｓｃａｌｅは、Ｑ＿Ｓｃａｌｅ＿ＴｙｐｅとＱ＿Ｓｃａｌｅ＿ＣｏｄｅからＭＰＥＧの仕様で定められているテーブルを利用して求められる。制御部９０６がこのテーブルを有する。Ｑ＿Ｓｃａｌｅ＿Ｔｙｐｅは、ピクチャ層のＰｉｃｔｕｒｅ＿Ｃｏｄｉｎｇ＿Ｅｘｔｅｎｓｉｏｎに含まれ、Ｑ＿Ｓｃａｌｅ＿Ｃｏｄｅはスライス層及びマクロブロック層に含まれる。
【００２１】
電子透かし検出器９０８は、逆量子化器９０７から入力したＤＣＴ係数から電子透かしを検出する。電子透かし検出器９０８が行う電子透かし検出の方法としては、例えば、特開２０００−１３８８１８号公報、特許第３１０９５７５号公報（特開平１０−１５５１５１号公報）に記載のものを用いる。
【００２２】
また、入力インターフェース９０１とバッファ９０２は、入力インターフェース９０１がバッファ９０２に出力する出力要求信号とバッファ９０２が入力インターフェース９０１に出力する入力許可信号によりハンドシェイクを行う。同様に、前段部と入力インターフェース９０１の間、バッファ９０２とビデオエレメンタリストリーム抽出回路９０３の間、ビデオエレメンタリストリーム抽出回路９０３とバレルシフタ９０４の間、バレルシフタ９０４と可変長復号器９０５の間、可変長復号器９０５と逆量子化器９０７の間でもハンドシェイクが行われる。ハンドシェイクにより後段にある回路が信号を入力する用意ができていない時には、前段にある回路は出力を一時休止する。
【００２３】
【発明が解決しようとする課題】
ＭＰＥＧ信号中の符号の長さは、２ビットから３１ビットまでの間の値をとる。また、ＭＰＥＧ信号中の符号のうち、ＤＣＴ係数についての符号の長さは、２ビットから２４ビットまでの値をとる。従って、画像内容によっては、４ビット長以下の符号が連続することも統計的にあり得る。入力ストリームは８ビット幅で入力され、バレルシフタは２逓倍クロックで駆動されているので、平均で４ビットの符号長の符号が連続している時に、バッファ９０２に蓄積される符号量は一定値を中心にして僅かに変動する。一方、４ビット未満の符号長の符号が連続した時には、バッファ９０２に蓄積される符号量の増加が続く。つまり、４ビット未満の符号長の符号が連続した時には、バッファ９０２中における可変長符号の占有率が増加する。従って、このような場合にも破綻を起こさないようにするためには、（１）バッファ９０２の容量を増やすこと、（２）入力インターフェース９０１とバッファ９０２の間のハンドシェイク及び前段部と入力インターフェースの間のハンドシェイクにより、前段部から入力インターフェースに供給されるストリームを一時停止すること、（３）バレルシフタの駆動クロックの周波数を上げることが考えられる。
【００２４】
しかし、バッファ９０２の容量を増やすことは回路規模の増大につながり、コストアップを招く。また、前段部から入力インターフェースに供給されるストリームを一時停止させるためには、前段部にこれに対応するための機能を付けなければならず、このための付加回路、付加機構等が必要となり、やはり、コストアップを招く。更に、バレルシフタの駆動クロックの周波数を上げるとバレルシフタ及びその周辺回路のタイミング設計が難しくなると共に回路規模が増大し、やはり、コストアップを招く。
【００２５】
本発明は上記の問題点に鑑みてなされたものであり、短い符号長の可変長符号が連続した時にも、可変長符号の入力が中断されることを防止する方式及びその方法を回路規模の増大なしに提供することを目的とする。
【００２６】
【課題を解決するための手段】
ＭＰＥＧ信号から動画像を再生するときには、ＭＰＥＧ信号からできる限り多くの画像情報及び音声情報を得ることが、高品位化の観点から望ましい。従って、このような再生のときには、エラー訂正並びにエラー検出及びエラーコンシールメントが行われ、更に、エラーが発生しても伝播エラーが速やかに断たれるようにする。従って、ＭＰＥＧ信号中のエラーが発生していない部分を廃棄することは、高品位化の観点からは望ましくない。
【００２７】
一方、ＭＰＥＧ信号から電子透かしを検出する電子透かし検出装置では、高品位の動画像及び音声を再生することが必要とされない。また、ＭＰＥＧ信号から電子透かしを検出するためには、フレーム中の全てのＤＣＴブロックのデータが復元される必要はなく、フレーム中の全てのＤＣＴブロックのうちの数〜数十パーセントのＤＣＴブロックが復元できなくても、残りの復元できたＤＣＴブロックのＤＣＴ係数から電子透かしを検出することができる。極端な例をいえば、最初に電子透かしを検出できると予測していた数のフレームから電子透かしの検出を試みてもそれができなかったときには、それに続くフレームを更に用いれば、電子透かしを検出することができる。
【００２８】
本発明は、ＭＰＥＧ信号から電子透かしを検出する電子透かし検出装置で用いられることを想定し、上記の理由より、可変長符号の入力が中断されることを防止するために、ＭＰＥＧ信号中のエラーが発生していない部分であっても、それを廃棄する。
【００２９】
本発明によれば、可変長符号の復号を行う可変長復号器と、前記可変長復号器に供給するべき前記可変長符号をバッファリングするバッファと、前記可変長復号器により復号されている可変長符号が原信号のリフレッシュ単位の末尾付近のものであるか否かを検出する符号位置検出手段と、前記可変長復号器により復号されている可変長符号が前記原信号の前記リフレッシュ単位の末尾付近のものであることが前記符号位置検出手段により検出された時に、前記バッファ中における前記可変長符号の占有率が第１の所定のしきい値以上であるか否かを検出する第１の占有率検出手段と、前記可変長復号器により復号されている可変長符号が前記原信号の前記リフレッシュ単位の末尾付近のものであることが前記符号位置検出手段により検出され、且つ、前記バッファ中における前記可変長符号の占有率が前記第１の所定のしきい値以上であることが前記第１の占有率検出手段により検出された時に、前記可変長復号器に前記復号をスキップさせるスキップ手段と、を備えることを特徴とする可変長符号の入力が中断されることを防止する方式が提供される。
【００３０】
上記の方式において、前記原信号のリフレッシュ単位とは、スライスであってもよい。
【００３１】
上記の方式において、前記スライスは、ＭＰＥＧ(Motion Picture Experts Group)規格で定義されたものであってもよい。
【００３２】
上記の方式において、前記原信号のリフレッシュ単位は、ＤＣＴ(Discrete Cosine Transform)ブロック、フレーム及びフィールドのうちの何れでもないこととしてもよい。
【００３３】
上記の方式において、前記末尾付近とは、前記原信号のリフレッシュ単位の先頭から７５％以上の位置であってもよい。
【００３５】
上記の方式において、前記第１の所定のしきい値は、８７．５％以上の値であってもよい。
【００３６】
上記の方式において、前記スキップ手段は、前記可変長復号器に前記スキップを前記可変長復号器が所定の符号を検出するまで行わせてもよい。
【００３７】
上記の方式において、前記所定の符号は、原信号のリフレッシュ位置の符号であってもよい。
【００３８】
上記の方式において、前記原信号のリフレッシュ位置の符号は、バイトアライン符号であってもよい。
【００３９】
上記の方式は、前記可変長復号器により復号されている可変長符号が前記原信号の前記リフレッシュ単位の末尾付近のものであることが検出されたか否かにかかわらず、前記バッファ中における前記可変長符号の占有率が第２の所定のしきい値以上であるか否かを検出する第２の占有率検出手段と、前記可変長符号の入力先と前記バッファとの間に存在し、前記バッファ中における前記可変長符号の占有率が前記第２の所定のしきい値以上であることが前記第２の占有率検出手段により検出された時に、前記バッファに供給するべき前記可変長符号の前記入力先からの入力を継続しつつ、前記バッファに供給するべき前記可変長符号を廃棄する廃棄手段と、を備えていてもよい。
【００４０】
上記の方式において、前記第２の所定のしきい値は、前記第１の所定のしきい値よりも大きくてもよい。
【００４１】
上記の方式において、当該方式は、ＭＰＥＧ(Motion Picture Experts group)信号を扱い、前記入力先と前記廃棄手段と間に、ＭＰＥＧ規格で定義されるエレメンタリ・ストリームを抽出するエレメンタリ・ストリーム抽出手段を備えていてもよい。
【００４２】
上記の方式において、当該方式は、ＭＰＥＧ(Motion Picture Experts group)信号を扱い、前記廃棄手段と前記バッファとの間に、ＭＰＥＧ規格で定義されるエレメンタリ・ストリームを抽出するエレメンタリ・ストリーム抽出手段を備えていてもよい。
【００４４】
【発明の実施の形態】
まず、本発明の実施形態を説明する前に、ＭＰＥＧ符号へ局所的な範囲において総符号長を変えないで電子透かしを挿入する方法について考察する。特に、ここでは、実用化されている２つの符号の総符号長を変えないで電子透かしを挿入する方法について考察する。
【００４５】
本発明で問題としているのは、４ビット未満の符号長の符号であるが、このような符号は、図１を参照して説明すると、
（１）非フレーム内係数及びＩｎｔｒａ＿ｖｌｃ＿ｆｏｒｍａｔ＝０の場合のフレーム内係数のための、つまり、Ｍａｃｒｏｂｌｏｃｋ＿ｉｎｔｒａ＝０の場合の係数及びＭａｃｒｏｂｌｏｃｋ＿ｉｎｔｒａ＝１  ａｎｄ  Ｉｎｔｒａ＿ｖｌｃ＿ｆｏｒｍａｔ＝０の場合の係数のための可変長符号テーブルで定義されるＥＯＢ（Ｅｎｄ  Ｏｆ  Ｂｌｏｃｋ）に対する符号”１０”、
（２）非フレーム内係数及びＩｎｔｒａ＿ｖｌｃ＿ｆｏｒｍａｔ＝０の場合のフレーム内係数のための、つまり、Ｍａｃｒｏｂｌｏｃｋ＿ｉｎｔｒａ＝０の場合の係数及びＭａｃｒｏｂｌｏｃｋ＿ｉｎｔｒａ＝１  ａｎｄ  Ｉｎｔｒａ＿ｖｌｃ＿ｆｏｒｍａｔ＝０の場合の係数のための可変長符号テーブルで定義されるレベル１の直流成分に対する符号”１ｓ”（ｓは符号を示す。）、
（３）非フレーム内係数及びＩｎｔｒａ＿ｖｌｃ＿ｆｏｒｍａｔ＝０の場合のフレーム内係数のための、つまり、Ｍａｃｒｏｂｌｏｃｋ＿ｉｎｔｒａ＝０の場合の係数及びＭａｃｒｏｂｌｏｃｋ＿ｉｎｔｒａ＝１  ａｎｄ  Ｉｎｔｒａ＿ｖｌｃ＿ｆｏｒｍａｔ＝０の場合の係数のための可変長符号テーブルで定義されるゼロラン長＝０、レベル＝１に対する符号”１１ｓ”（ｓは符号）、
（４）Ｉｎｔｒａ＿ｖｌｃ＿ｆｏｒｍａｔ＝１の場合のフレーム内係数のための、つまり、Ｍａｃｒｏｂｌｏｃｋ＿ｉｎｔｒａ＝１  ａｎｄ  Ｉｎｔｒａ＿ｖｌｃ＿ｆｏｒｍａｔ＝１の場合の係数のための可変長符号テーブルで定義されるゼロラン長＝０、レベル＝１に対する符号”１０ｓ”（ｓは符号）のみである。
【００４６】
ＥＯＢを変更することは出来ないので、ＥＯＢを他の符号に変換することはできない。”１ｓ”は、直流成分に対するものであるが、直流を変化させると画質劣化が視覚的に目立つので、”１ｓ”を他の符号に変えることは殆どない。従って、４ビット未満の符号のうち、電子透かしを挿入するために変換される符号は、”１１ｓ”と”１０ｓ”のみと考えて良い。
【００４７】
一方、本発明で問題としているのは、連続して４ビット未満の符号が連続する場合であるので、２つの符号の総符号長が８ビット未満の場合のみを問題とすればよい。２つの符号の総符号長が８ビット以上の場合には、バッファ中における可変長符号の占有率が増加しないからである。
【００４８】
符号”１１ｓ”と組み合わせることにより２つの符号の総符号長を８ビット未満にする条件を満たす符号を非フレーム内係数及びＩｎｔｒａ＿ｖｌｃ＿ｆｏｒｍａｔ＝０の場合のフレーム内係数のための可変長符号テーブルから探すと、それはゼロラン長＝１、レベル＝１に対する符号”０１１ｓ”のみである。従って、”１１ｓ０１１ｓ”を”０１１ｓ１１ｓ”に変換すること、及び、”０１１ｓ１１ｓ”を”１１ｓ０１１ｓ”に変換することによってのみ電子透かしを挿入することができる。
【００４９】
符号”１０ｓ”と組み合わせることにより２つの符号の総符号長を８ビット未満にする条件を満たす符号をＩｎｔｒａ＿ｖｌｃ＿ｆｏｒｍａｔ＝１の場合のフレーム内係数のための可変長符号テーブルから探すと、それはゼロラン長＝０、レベル＝２に対する符号”１１０ｓ”及びゼロラン長＝１、レベル＝１に対する符号”０１０ｓ”のみである。従って、”１０ｓ１１０ｓ”を”１１０ｓ１０ｓ”に変換すること、”１１０ｓ１０ｓ”を”１０ｓ１１０ｓ”に変換すること、”１０ｓ０１０ｓ”を”０１０ｓ１０ｓ”に変換すること、及び、”０１０ｓ１０ｓ”を”１０ｓ０１０ｓ”に変換することによってのみ電子透かしを挿入することができる。
【００５０】
上記２段落の内容を図２の図表にまとめる。図２より、２つの符号の符号長を変化させない電子透かしのうち２つの符号の符号長が８ビット未満である条件を満たす電子透かしは、６種類の２符号列”０１１ｓ１１ｓ”、”１１ｓ０１１ｓ”、”１１０ｓ１０ｓ”、”１０ｓ１１０ｓ”、”０１０ｓ１０ｓ”及び”１０ｓ０１０ｓ”にのみ挿入されている可能性があることがわかる。一方、２つの符号の符号長を変化させない電子透かしのうち２つの符号の符号長が８ビット以上である条件を満たす電子透かしは多数あるので、２つの符号の符号長を変化させない電子透かしの殆どは、２つの符号の総符号長が８ビット以上である２符号列に挿入されていることになる。換言すれば、２つの符号の符号長を変化させない電子透かしの殆どは、２つの符号の総符号長が８ビット未満である２符号列には挿入されていないことになる。
【００５１】
ところで、電子透かしの検出は、１又は複数のフレーム中の多数のＤＣＴブロックのＤＣＴ係数を調べることにより統計的に行うので、一部のＤＣＴブロックのＤＣＴ係数が欠落しても、電子透かしの検出をすることが可能である。従って、２つの符号の符号長が８ビット未満である２符号列の連続が局所的に発生した後に、それに続くＤＣＴ係数が再生できなくても、電子透かしの検出にはさほど影響を及ぼさない。特に、２つの符号の符号長が８ビット未満である２符号列の連続が局所的に発生した後には、２つの符号の符号長が８ビット未満である２符号列が更に連続する可能性があるので、２つの符号の符号長が８ビット未満である２符号列の連続が局所的に発生した後に、それに続くＤＣＴ係数が再生できないときの電子透かしの検出への影響度は更に低い。
【００５２】
以下、図面を参照して本発明の実施形態について詳細に説明する。
【００５３】
［実施形態１］
図３は本発明の実施形態１による可変長符号の入力が中断されることを防止する方式の構成を示すブロック図である。
【００５４】
図３を参照すると、実施形態１による可変長符号の入力が中断されることを防止する方式は、入力インターフェース１０１Ａ、破棄部１２１Ａ、バッファ１０２Ａ、ビデオエレメンタリストリーム抽出器１０３Ａ、バレルシフタ１０４Ａ、可変長復号器１０５Ａ、制御部１０６Ａ、逆量子化器１０７Ａ及び電子透かし検出器１０８Ａを備える。
【００５５】
ビデオエレメンタリストリーム抽出器１０３Ａ、バレルシフタ１０４Ａ、可変長復号器１０５Ａ、制御部１０６Ａ、逆量子化器１０７Ａ及び電子透かし検出器１０８Ａは、それぞれ、図１０に示すビデオエレメンタリストリーム抽出器９０３、バレルシフタ９０４、可変長復号器９０５、制御部９０６、逆量子化器９０７及び電子透かし検出器９０８と同様なものであるので、これらの説明は省略する。
【００５６】
バッファ１０２Ａは図１０に示すバッファ９０２と同様の機能を少なくとも有する。また、製造コストを最小限に抑えるために、バッファ１０２Ａの容量は小さく、例えば、数十から数千バイト程度である。バッファ１０２Ａは、更に、バッファ１０２Ａ中の可変長符号の占有率が所定のしきい値（例えば、８７．５％（＝１−１／８）、９３．８％（＝１−１／１６）、９６．９％（＝１−１／３２）又は１００％等）を超えたか否かを検出することにより、バッファ１０２Ａ中における可変長符号の占有率が増加しているか否かを検出する。バッファ１０２Ａは、バッファ１０２Ａ中における可変長符号の占有率が増加している時（即ち、バッファ１０２Ａ中の可変長符号の占有率が所定のしきい値を超えている時）に、破棄部１２１Ａに出力しているバッファ状態信号がバッファフルを示すようにする。
【００５７】
破棄部１２１Ａは、図４に示すように、バッファ占有率検出部１２１Ａ−１と廃棄コア部１２１Ａ−２を備える。バッファ占有率検出部１２１Ａ−１がバッファ１０２Ａから入力するバッファ状態信号がバッファフルを示すようになったことを検出した時から、廃棄コア部１２１Ａ−２がストリーム中の所定数のバイト（この中には可変長符号が入っている。）を破棄する。又は、破棄部１２１Ａは、バッファ占有率検出部１２１Ａ−１と廃棄コア部１２１Ａ−２の動作により、バッファ１０２Ａから入力するバッファ状態信号がバッファフルを示すようになった時からストリーム中のバイトの破棄を開始し、バッファ状態信号がバッファフルを示さないようになった時にその破棄を中止しても良い。又は、バッファ状態信号がバッファフルを示すようにするためのしきい値より低いしきい値（例えば、上記の８７．５％に対応して７５％（＝１−１／４）、上記の９３．８％に対応して８７．５％、上記の９６．９％、１００％に対応して９３．８％等）を占有率が下回っている時に、バッファ状態信号がバッファノーマルを示すようにして、破棄部１２１Ａは、バッファ１０２Ａから入力するバッファ状態信号がバッファフルを示すようになった時からストリーム中のバイトの破棄を開始し、バッファ状態信号がバッファノーマルを示すようになった時にその破棄を中止しても良い。
【００５８】
従って、実施形態１によれば、バッファ１０２Ａの容量が小さくても、前段部からのストリームの入力を中断することなくバッファ１０２Ａがオーバーフローすることを防止することができる。なお、入力インターフェース１０１Ａが前段部に出力する入力許可信号は常に許可を示すようになる。
【００５９】
ストリーム中の破棄した箇所の前後では、可変長符号が不連続になるので、可変長復号器１０５Ａは、不連続部の直前で末部が途切れた可変長符号から復号をすることができなくなるが、制御部９０６と同様の制御部１０６Ａによる制御部９０６の上記の制御と同様の制御により、スライスヘッダコード、ピクチャヘッダコード、シーケンスヘッダコード等のバイトアライン符号があるリフレッシュ位置から復号を再開することが可能となる。従って、電子透かしの検出には破綻が起きることはなく、最終目的である電子透かしの検出は廃棄により殆ど影響されることなく行える。
【００６０】
［実施形態２］
図５は本発明の実施形態２による可変長符号の入力が中断されることを防止する方式の構成を示すブロック図である。
【００６１】
図５を参照すると、実施形態２による可変長符号の入力が中断されることを防止する方式は、入力インターフェース１０１Ｂ、ビデオエレメンタリストリーム抽出器１０３Ｂ、破棄部１２１Ｂ、バッファ１０２Ｂ、バレルシフタ１０４Ｂ、可変長復号器１０５Ｂ、制御部１０６Ｂ、逆量子化器１０７Ｂ及び電子透かし検出器１０８Ｂを備える。
【００６２】
実施形態２は、実施形態１においてバッファ１０２Ａとバレルシフタ１０４Ａとの間にあるビデオエレメンタリストリーム抽出器１０３Ａを削除し、ビデオエレメンタリストリーム抽出器１０３Ａと同様なビデオエレメンタリストリーム抽出器１０３Ｂを入力インターフェース１０１Ｂと破棄部１２１Ｂとの間に挿入したものである。
【００６３】
入力インターフェース１０１Ｂ、バッファ１０２Ｂ、ビデオエレメンタリストリーム抽出器１０３Ｂ、バレルシフタ１０４Ｂ、可変長復号器１０５Ｂ、制御部１０６Ｂ、逆量子化器１０７Ｂ及び電子透かし検出器１０８Ｂは、それぞれ、実施形態１の入力インターフェース１０１Ａ、バッファ１０２Ａ、ビデオエレメンタリストリーム抽出器１０３Ａ、バレルシフタ１０４Ａ、可変長復号器１０５Ａ、制御部１０６Ａ、逆量子化器１０７Ａ及び電子透かし検出器１０８Ａと同様なものであるので、これらの説明は省略する。
【００６４】
破棄部１２１Ｂの構成及び機能は、以下に述べる点を除き、実施形態１の破棄部１２１Ａの構成及び機能と同様であるので、同様な部分についての説明は省略する。
【００６５】
実施形態１では、ビデオエレメンタリストリーム抽出器１０３Ａが、バレルシフタ１０４Ａにストリームと共に有効フラグを出力し、バレルシフタ１０４Ａが有効フラグに基づきストリーム中のビデオエレメンタリストリームのみを入力するのに対し、実施形態２では、ビデオエレメンタリストリーム抽出器１０３Ｂが破棄部１２１Ｂにストリームと共に有効フラグを出力し、破棄部１２１Ｂが有効フラグに基づきストリーム中のビデオエレメンタリストリームのみを入力する。従って、実施形態１では、破棄部１２１Ａの出力及びバッファ１０２Ａの出力がストリームであるのに対し、実施形態２では、破棄部１２１Ｂの出力及びバッファ１０２Ｂの出力はビデオエレメンタリストリームである。また、実施形態１では、バッファ１０２Ａはストリーム中のビデオエレメンタリストリーム以外の部分もビデオエレメンタリストリームと共に一時記憶するのに対し、実施形態２では、バッファ１０２Ｂはストリーム中のビデオエレメンタリストリームのみを一時記憶して、ストリーム中ビデオエレメンタリストリーム以外の部分を一時記憶しない。従って、バッファ１０２Ａに比べてバッファ１０２Ｂは可変長符号の占有率が増加しにくい。
【００６６】
実施形態１では、ビデオエレメンタリストリーム抽出器１０３Ａよりも前段に破棄部１２１Ａがあるので、破棄部１２１Ａが破棄を行うと、ビデオエレメンタリストリーム抽出器１０３Ａに入力されるストリームが不連続となる。従って、ビデオエレメンタリストリーム抽出器１０３Ａは、不連続点から、ビデオエレメンタリストリームの抽出をストリームがトランスポートストリームであるのか又はプログラムストリームであるのかの判断から再開しなければならない。従って、廃棄部１２１Ａで廃棄したバイトより多いバイトがビデオエレメンタリストリーム抽出器１０３Ａで廃棄される可能性がある。これに対し、実施形態２では、ビデオエレメンタリ抽出器１０３Ｂよりも後段に破棄部１２１Ｂがあるので、このような可能性を回避することができる。従って、実施形態１に比べて、実施形態２は、最終目的である電子透かしの検出に対する影響度が少ない。
【００６７】
［実施形態３］
図６は本発明の実施形態３による可変長符号の入力が中断されることを防止する方式の構成を示すブロック図である。
【００６８】
図６を参照すると、実施形態３による可変長符号の入力が中断されることを防止する方式は、入力インターフェース１０１Ｃ、ビデオエレメンタリストリーム抽出器１０３Ｃ、バッファ１０２Ｃ、バレルシフタ１０４Ｃ、可変長復号器１０５Ｃ、制御部１０６Ｃ、逆量子化器１０７Ｃ及び電子透かし検出器１０８Ｃを備える。実施形態３では、破棄部は存在しない。
【００６９】
実施形態３は、破棄部でストリームの一部を破棄する代わりに、可変長復号器１０５Ｃでビデオエレメンタリストリーム中の可変長符号の復号をスキップするものである。
【００７０】
入力インターフェース１０１Ｃ、ビデオエレメンタリストリーム抽出器１０３Ｃ、逆量子化器１０７Ｃ及び電子透かし検出器１０８Ｃは、実施形態２の入力インターフェース１０１Ｂ、ビデオエレメンタリストリーム抽出器１０３Ｂ、逆量子化器１０７Ｂ及び電子透かし検出器１０８Ｂと同様なものであるので、これらの説明は省略する。
【００７１】
バッファ１０２Ｃ、バレルシフタ１０４Ｃ、可変長復号器１０５Ｃ及び制御部１０６Ｃは、それぞれ、少なくともバッファ１０２Ｂ、バレルシフタ１０４Ｂ、可変長復号器１０５Ｂ及び制御部１０６Ｂと同様の構成及び機能を有するが、以下の構成及び機能も有する。
【００７２】
バッファ１０２Ｃは、ビデオエレメンタリストリーム抽出器１０３Ｃの直後の段にあるので、ビデオエレメンタリストリーム抽出器１０３Ｃからストリームと共に有効フラグを入力し、その値を判断することにより、アクティブな有効フラグに対応するバイトのみ、即ち、ビデオエレメンタリストリームのみを入力する。
【００７３】
図７を参照すると、制御部１０６Ｃは、可変長復号制御部１０６Ｃ、バッファ占有率検出部１０６Ｃ−３、復号スキップ指示部１０６Ｃ−４を備える。可変長復号制御部１０６Ｃ−１は、可変長復号器１０５Ｃから復号符号長及びエラー信号を、復号スキップ指示部１０６Ｃ−４から復号スキップ指示信号を入力し、それらの信号に基づき、シフト量制御信号及びバイトアライン指示信号の値を決定し、バレルシフタ１０４Ｃに出力する。バッファ占有率検出部１０６Ｃ−３は、バッファ１０２Ｃが出力するバッファ状態信号を入力する。バッファ占有率検出部１０６Ｃ−３がバッファ状態信号がバッファフルを示したことを検出したならば、復号スキップ指示部１０６Ｃ−４は、バレルシフタ１０４Ｃに対し、可変長復号制御部１０６Ｃ−１を介して、バイトアラインで８ビットシフトを続けるように指示を出し、可変長復号器１０５Ｃに対し、可変長復号をスライスヘッダコード、ピクチャヘッダコード、シーケンスヘッダコード等のリフレッシュ位置にあるバイトアラインの可変長符号を検出するまでスキップするように指示を出す。従って、バレルシフタ１０４Ｃは、スキップが行われている間は、連続してバイト列をバッファ１０２Ｃから読み出すこととなり、バッファ１０２Ｃ中の可変長符号の占有率を積極的に下げることが可能となる。可変長復号器１０５Ｃが、バイトアラインの可変長符号を検出したならば、それからバレルシフタ１０４Ｃ、可変長復号器１０５Ｃ及び制御部１０６Ｃは通常の動作を再開する。
【００７４】
［実施形態４］
実施形態２では、ビデオエレメンタリストリーム中の破棄される部分が、ＭＰＥＧ規格で定義されるスライスのどの部分となるかについて確率的な偏りはなく、スライス中のどの部分も均等な確率で破棄される可能性がある。従って、スライス中の先頭付近の部分が破棄される場合もある。また、あるスライス中のある部分が破棄されると、復号が再開される位置は、ピクチャヘッダコード位置、シーケンスヘッダコード位置であることもあるが、その次のスライスのスライスヘッダコード位置であることが多い。従って、実施形態２では、あるスライス中の先頭付近の部分が破棄され、その部分からそのスライスの末尾までのＤＣＴブロックが全く復号されない場合が生じ、この場合には、あるスライス中の末尾付近の部分が破棄され、その部分からそのスライスの末尾までのＤＣＴブロックが全く復号されない場合と比べると、復号されないＤＣＴブロックの数が多く、最終目的である電子透かし検出への影響度が大きい。
【００７５】
また、実施形態３では、可変長復号のスキップが開始される位置が、スライスのどの部分となるかについて確率的な偏りはなく、スライスのどの部分からも均等な確率でスキップが開始される可能性がある。従って、スライス中の先頭付近の部分から可変長復号のスキップが開始される場合もある。また、上述したとおり、あるスライス中のある部分が破棄されると、復号が再開される位置は、ピクチャヘッダコード位置、シーケンスヘッダコード位置であることもあるが、その次のスライスのスライスヘッダコード位置であることが多い。従って、実施形態３では、あるスライスの先頭付近から可変長復号のスキップが開始され、その部分からそのスライスの末尾までＤＣＴブロックが全く復号されない場合が生じ、この場合には、あるスライスの末尾付近から可変長復号のスキップが開始され、その部分からそのスライスの末尾までＤＣＴブロックが全く復号されない場合と比べると、復号されないＤＣＴブロックの数が多く、最終目的である電子透かし検出への影響度が大きい。
【００７６】
更に、実施形態３では、復号部から入力インターフェースへのストリームの入力の中断が確実に発生しないようにするためには、実施形態１、２に比べて、バッファ状態信号がバッファフルを示すようにするための占有率を低めに設定しなければならないので、バッファ１０２Ｃの一部が使われず、無駄となる。
【００７７】
実施形態４は、上記の問題点を解決するものである。
【００７８】
図８は本発明の実施形態４による可変長符号の入力が中断されることを防止する方式の構成を示すブロック図である。
【００７９】
図８を参照すると、実施形態４による可変長符号の入力が中断されることを防止する方式は、入力インターフェース１０１Ｄ、ビデオエレメンタリストリーム抽出器１０３Ｄ、破棄部１２１Ｄ、バッファ１０２Ｄ、バレルシフタ１０４Ｄ、可変長復号器１０５Ｄ、制御部１０６Ｄ、逆量子化器１０７Ｄ及び電子透かし検出器１０８Ｄを備える。
【００８０】
入力インターフェース１０１Ｄ、ビデオエレメンタリストリーム抽出器１０３Ｄ、バッファ１０２Ｄ、逆量子化器１０７Ｄ及び電子透かし検出器１０８Ｄは、それぞれ、実施形態２の入力インターフェース１０１Ｂ、ビデオエレメンタリストリーム抽出器１０３Ｂ、バッファ１０２Ｂ、逆量子化器１０７Ｂ及び電子透かし検出器１０８Ｂと同様であるので、これらの説明を省略する。
【００８１】
バレルシフタ１０４Ｄ、可変長復号器１０５Ｄ及び制御部１０６Ｄは、それぞれ、少なくとも実施形態２のバレルシフタ１０４Ｂ、可変長復号器１０５Ｂ及び制御部１０６Ｂと同様の構成及び機能を有するが、以下の構成及び機能も有する。
【００８２】
制御部１０６Ｄは、バッファ１０２Ｄからバッファ状態信号を入力すると共に、可変長復号器１０５Ｄから復号結果も入力する。制御部１０６Ｄの構成を図９に示す。制御部１０６Ｄは、可変長復号制御部１０６Ｄ−１、符号位置検出部１０６Ｄ−２、バッファ占有率検出部１０６Ｄ−３、復号スキップ指示部１０６Ｄ−４を備える。可変長復号制御部１０６Ｄ−１は、可変長復号器１０５Ｄから復号符号長及びエラー信号を、復号スキップ指示部１０６Ｄ−４から復号スキップ指示信号を入力し、それらの信号に基づき、シフト量制御信号及びバイトアライン指示信号の値を決定し、バレルシフタ１０４Ｄに出力する。符号位置検出部１０６−Ｄは、復号結果を基にして、現在復号されているマクロブロックがそれが属するスライス中の何番目のマクロブロックであるかを計算する。計算して得たマクロブロック番号が、現在復号されているマクロブロックがスライス中の末尾付近の所定の位置（例えば、先頭から７５％、８７．５％、９３．８％若しくは９６．９％等の位置又はスライスの末尾から所定数のマクロブロックを遡った位置）にあるマクロブロックであることを示したことを符号位置検出部１０６Ｄ−２が検出した時に、バッファ占有率検出部１０６Ｄ−３は、バッファ状態信号がバッファフルを示しているか否かを判断する。復号スキップ指示部１０６Ｄ−４は、判断の結果が肯定的であれば、バレルシフタ１０４Ｄに対し、可変長復号制御部１０６Ｄ−１を介して、バイトアラインで８ビットシフトを続けるように指示を出し、可変長復号器１０５Ｄに対し、可変長復号をスライスヘッダコード、ピクチャヘッダコード、シーケンスヘッダコード等のリフレッシュ位置にあるバイトアラインの可変長符号を検出するまでスキップするように指示を出す。従って、バレルシフタ１０４Ｄは、スキップが行われている間は、連続してバイト列をバッファ１０２Ｄから読み出すこととなり、バッファ１０２Ｄ中の可変長符号の占有率を積極的に下げることが可能となる。可変長復号器１０５Ｄが、バイトアラインの可変長符号を検出したならば、それからバレルシフタ１０４Ｄ、可変長復号器１０５Ｄ及び制御部１０６Ｄは通常の動作を再開する。
【００８３】
実施形態４では、可変長復号がスキップされる部分がスライスの末尾付近の所定の位置から末尾の部分のみとなるので、復号されないＤＣＴブロックの数を所定数以下に抑えることが可能となる。従って、実施形態２、３に比べて、最終目的である電子透かしへの影響度を少なくすることができる。
【００８４】
また、実施形態４では、可変長復号のスキップが開始される位置が限定されているので、限定された位置以外の位置でバッファ１０２Ｄ中の可変長符号の占有率が上昇した場合には、最悪で、ハンドシェークにより前段部から入力インターフェースへのストリームの入力を中断しなければならなくなる。これを避けるために、実施形態２と同様な構成を実施形態４は備える。すなわち、実施形態４は、実施形態２の破棄部１２１Ｂと同様な破棄部１２１Ｄを備える。破棄部１２１は、制御部１０６Ｄとは異なり、常に、バッファ状態信号を監視し、バッファ状態信号がバッファフルを示したならば、ビデオエレメンタリストリーム中のバイト（この中には可変長符号が入っている。）を実施形態１及び２と同様な方法により破棄する。
【００８５】
図８では、バッファ１０２Ｄから制御部１０６に供給するバッファ状態信号とバッファ１０２Ｄから破棄部１２１Ｄに供給するバッファ状態信号を共通のものとしているが、これらを別々のものとし、それぞれについてバッファフルを示すための異なったしきい値を設定しても良い。特に、緊急時のみに破棄部１２１Ｄが働き、バッファ１０２Ｄ内の可変長符号の占有率が増加した時には、原則的に、バレルシフタ１０４Ｄ、可変長復号器１０５Ｄ、制御部１０６Ｄの動作によりその占有率を下げることができるようにするためには、バッファ１０２Ｄから制御部１０６に供給するバッファ状態信号がバッファフルを示すようにするためのしきい値を、バッファ１０２Ｄから破棄部１２１Ｄに供給するバッファ状態信号がバッファフルに示すようにするためのしきい値よりも小さくするのがよい。
【００８６】
なお、実施形態１乃至４においては、ハードウェアにより可変長符号の入力が中断されることを防止する方式が実現されるとしたが、この方式により行われる可変長符号の入力が中断されることを防止する方法は、コンピュータがこの方法を実行するためのプログラムを記録した記録媒体から、コンピュータがこのプログラムを読み込み、実行することによっても実現することができる。また、この方式により行われる可変長符号の入力が中断されることを防止する方法は、コンピュータがこの方法を実行するためのプログラムを伝送するネットワークから、コンピュータがこのプログラムを受信し、読み込み、実行することによっても実現することができる。
【００８７】
【発明の効果】
以上説明したように、本発明によれば、以下の効果が奏される。
【００８８】
第１の効果は、入力ストリームが中断されることがなくなるので、入力ストリームを本発明の方式に供給する前段部は、入力ストリームを中断させるための複雑な回路、機構を備えていなくてもよく、前段部の製造コストを下げることができることである。
【００８９】
第２の効果は、バッファの容量が少なくて済むので、製造コストが上昇しないことである。
【００９０】
第３の効果は、可変長復号器の動作速度を極端に高くする必要が無いので、タイミング設計が困難にならないことである。
【００９１】
第１乃至第３の効果の理由は、バッファ中の可変長符号の占有率が増加した時に、バッファに供給するべきストリーム（ストリームには、可変長符号が含まれる。）を廃棄回路が廃棄することにより、バッファ中の可変長符号の占有率を下げられるからである。また、その理由は、バッファ中の可変長符号の占有率が増加した時に、可変長復号器が復号をスキップすることにより、バッファ内の可変長符号が積極的に高速に読み出され、バッファ中の可変長符号の占有率を下げられるからである。
【００９２】
第４の効果は、ビデオエレメンタリストリーム抽出器を廃棄回路よりも前段に置いた場合には、ビデオエレメンタリストリーム抽出器を廃棄回路よりも後段に置いた場合に比べ、電子透かしの検出への影響度が少ないことである。その理由は、廃棄回路がストリームを廃棄しても、ビデオエレメンタリストリーム抽出器が入力ストリームがトランスポートストリームであるのか又はプログラムストリームであるのかの判断を再度行う必要がなくなり、廃棄回路が廃棄した部分よりも大きい部分がビデオエレメンタリストリームから廃棄されることがなくなるからである。
【００９３】
第５の効果は、可変長復号器により復号された可変長符号が原信号のリフレッシュ位置より所定間隔離れた位置のものであることが検出され、且つ、バッファ中における可変長符号の占有率が増加していることが検出された時に、可変長復号器に復号をスキップさせる場合には、可変長復号器により復号された可変長符号が原信号のリフレッシュ位置より所定間隔離れた位置のものであるか否かにかかわらず、バッファ中における可変長符号の占有率が増加していることが検出された時に、可変長復号器に復号をスキップさせる場合と比べると、電子透かしの検出への影響度が少ないことである。その理由は、復号がスキップされるマクロブロックの数が制限されるからである。
【図面の簡単な説明】
【図１】ＭＰＥＧ規格による符号長が４ビット未満の符号を示す図表である。
【図２】総符号長が８ビット未満の電子透かしであって２つの符号に挿入されるものを示す図表である。
【図３】本発明の実施形態１による可変長符号の入力が中断されることを防止する方式の構成を示すブロック図である。
【図４】本発明の実施形態１による破棄部の構成を示すブロック図である。
【図５】本発明の実施形態２による可変長符号の入力が中断されることを防止する方式の構成を示すブロック図である。
【図６】本発明の実施形態３による可変長符号の入力が中断されることを防止する方式の構成を示すブロック図である。
【図７】本発明の実施形態３による制御部の構成を示すブロック図である。
【図８】本発明の実施形態４による可変長符号の入力が中断されることを防止する方式の構成を示すブロック図である。
【図９】本発明の実施形態４による制御部の構成を示すブロック図である。
【図１０】従来例によるＭＰＥＧ信号からＤＣＴ係数を復号し、復号されたＤＣＴ係数から電子透かしを検出する回路の構成を示すブロック図である。
【符号の説明】
１０１Ａ、１０１Ｂ、１０１Ｃ、１０１Ｄ  入力インターフェース
１０２Ａ、１０２Ｂ、１０２Ｃ、１０２Ｄ  バッファ
１０３Ａ、１０３Ｂ、１０３Ｃ、１０３Ｄ  ビデオエレメンタリストリーム抽出部
１０４Ａ、１０４Ｂ、１０４Ｃ、１０４Ｄ  バレルシフタ
１０５Ａ、１０５Ｂ、１０５Ｃ、１０５Ｄ  可変長復号器
１０６Ａ、１０６Ｂ、１０６Ｃ、１０６Ｄ  制御部
１０７Ａ、１０７Ｂ、１０７Ｃ、１０７Ｄ  逆量子化器
１０８Ａ、１０８Ｂ、１０８Ｃ、１０８Ｄ  電子透かし検出器
１２１Ａ、１２１Ｂ、１２１Ｄ  破棄部
【図１】
0003565182.tif 000002
【図２】
0003565182.tif 000003
【図３】
0003565182.tif 000004
【図４】
0003565182.tif 000005
【図５】
0003565182.tif 000006
【図６】
0003565182.tif 000007
【図７】
0003565182.tif 000008
【図８】
0003565182.tif 000009
【図９】
0003565182.tif 000010
【図１０】
0003565182.tif 000011