(57)【特許請求の範囲】
【請求項１】
テレビジョン信号を分類するのための方法であって、
各々が前記テレビジョン信号の少なくとも一つの特徴に特有である、一組の検出可能な特徴を定義するステップと、
所定の引数定義域を有する変数を検出可能な各特徴に割り当てるステップと、
検出可能な各特徴のための所定の関数定義域を前記引数定義域上で定義するステップと、
一組の規則の評価の結果が前記テレビジョン信号の分類をもたらすように前記変数を使用する一組の規則を定義するステップと、
所定の時間の間、前記テレビジョン信号における前記変数を測定するステップと、
前記変数の測定値を使用して前記規則を評価し、テレビジョン信号の内容を分類するステップと
を含むことを特徴とする方法。
【請求項２】
分類の結果がＴＶ信号中のコマーシャルの検出に使用されることを特徴とする請求項１に記載の方法。
【請求項３】
分類がフレームごとに実施されることを特徴とする請求項１又は２に記載の方法。
【請求項４】
前記検出可能な特徴がテレビジョン信号のオーディオ部分及びビデオ部分から導き出されることを特徴とする請求項１から３のいずれか１項に記載の方法。
【請求項５】
変数の定義に、ステレオ音及び２チャネル・オーディオというオーディオ特徴が使用されることを特徴とする請求項４に記載の方法。
【請求項６】
ステレオ音の特徴が、
パイロット信号を介するステレオ音表示、
ＶＰＳ信号を介するステレオ音表示、及び
レベル差を介するステレオ音表示
に細分されることを特徴とする請求項５に記載の方法。
【請求項７】
２チャネル・オーディオが、
パイロット信号を介する２チャネル表示、
ＶＰＳ信号を介する２チャネル表示、及び
レベル差を介する２チャネル表示
に細分されることを特徴とする請求項５に記載の方法。
【請求項８】
ビデオ信号の下記の特徴、
一フレームにおける輝度の分布、
一フレームにおける色分散、
二つの連続するフレームの差の測定、
ＶＰＳ情報の使用、
ＶＰＳ中断信号の使用、及び
ＶＰＳコードの使用
が画像処理によって分析できることを特徴とする請求項４に記載の方法。
【請求項９】
分類に使用される前記変数が言語変数であることを特徴とする請求項１から８のいずれか１項に記載の方法。
【請求項１０】
一組の変数がファジー・セットであり、ファジー論理が一組の規則の評価で使用されることを特徴とする請求項１から９のいずれか１項に記載の方法。
【請求項１１】
関数領域定義は間隔［０，１］で形成されることを特徴とする請求項１０に記載の方法。
【請求項１２】
前記一組の規則の迅速な評価を達成するために引数定義域で定義された関数が、三角形と矩形を含む台形関数であることを特徴とする請求項１１に記載の方法。
【請求項１３】
前記台形関数が４つの値ｘ１、・・・、ｘ４によって特徴づけられ、ｘ１は引数定義域の要素であり、ｚは［０，１］の要素であり、ｚ＝Ｔ（ｘ）は、
ｚ＝０：ｘμｘ１ or ｘ・ｘ４
ｚ＝１：ｘ・ｘ２ and ｘμｘ３
として計算されることを特徴とする請求項１２に記載の方法。
【請求項１４】
一組の規則の各規則が
If (condition then variable_x: feature_yの形で書くことができ、
条件が
[not] variable_a is feature_b [{and°or} condition]
の形であることを特徴とする請求項１から１３のいずれか１項に記載の方法。
【請求項１５】
規則において使用される演算子が、
a and b: = minimum (a, b)
a or b: = maximum (a, b)
not a: = 1 - a
として定義されることを特徴とする請求項１４に記載の方法。
【請求項１６】
上記の関数の面積と運動量が条件のファジー値によって乗算され、ｘ１、・・・、ｘ４によって定義される関数の面積と運動量が、
area: ＝(ｘ２−ｘ１)/2＋(ｘ３−ｘ２)＋(ｘ４−ｘ３)/2
momentum:      ＝    (ｘ２−ｘ１)/2＊(ｘ１＋(ｘ２−ｘ１)＊2/3)
＋(ｘ３２−ｘ２２/2＋(ｘ４−ｘ３)/2＊(ｘ３＋(ｘ４−ｘ３)/3)
として計算されることを特徴とする請求項１２から１５のいずれか１項に記載の方法。
【請求項１７】
付録Ｂによる一組の規則及び付録Ａによる言語変数が使用されることを特徴とする請求項１から１６のいずれか１項に記載の方法。
【請求項１８】
分類が現在及び過去のテレビジョン信号のみの知識に基づくこと、すなわち分類がリアルタイムで実施されることを特徴とする請求項１から１７のいずれか１項に記載の方法。
【請求項１９】
将来のテレビジョン信号の知識も一組の規則の評価のために使用されること、すなわち分類が記録されたテレビジョン信号を使用して行われることを特徴とする請求項１８に記載の方法。
【請求項２０】
分類結果が今後の使用のためにメモリに記憶されることを特徴とする請求項１４又は１５に記載の方法。
【請求項２１】
コマーシャル出現の確率がｓより小さい場合には最後の６０ｓのデータが記憶され、またコマーシャル出現の確率がしきい値より大きいかまたは等しい場合には、コマーシャルの出現が９０ｓの間しきい値より小さくなるまでデータが連続的に記憶されるようなしきい値ｓが定義されることを特徴とする請求項１９に記載の方法。
【請求項２２】
色分散、輝度分散、オーディオ・レベル及びロゴ類似性の値が、データ・ブロックの開始と終了で比較されることを特徴とする請求項２１に記載の方法。
【請求項２３】
コマーシャルの始めと終りの評価のために、ブラック画像間の時間間隔が、テレビジョン信号のデータ・ブロック中で検出されることを特徴とする請求項２１に記載の方法。
【請求項２４】
請求項１から２３のいずれか１項に記載の方法を使用する、テレビジョン信号分類のための装置。
【請求項２５】
３つのマイクロコントローラ（３０１、３０２、３０３）、データ・バス（３１１）、及びメモリ（３０４、３０５）を含み、中央コントローラ（３０１）はオペレーティング・システムを実行し、第２コントローラ（３０２）は画像処理ソフトウェアを実行し、第３コントローラ（３０３）はファジー規則を処理することを特徴とする請求項２４に記載の装置。
【請求項２６】
ビデオ・ユニット（３０６）をさらに含むことを特徴とする請求項２５に記載の装置。
【請求項２７】
高速画像データ・バス（３１３）によってビデオ・ユニット（３０６）と第２コントローラ（３０２）に接続されている画像メモリ（３１２）をさらに含むことを特徴とする請求項２５又は２６に記載の装置。
【請求項２８】
ＶＰＳデコーダ（３０７）をさらに含むことを特徴とする請求項２４から２７のいずれか１項に記載の装置。
【請求項２９】
サウンド・デコーダ（３０８）をさらに含むことを特徴とする請求項２８に記載の装置。
【請求項３０】
サウンド・デコーダ（３０８）に接続された、オーディオ信号の分析のためのディジタル信号プロセッサ（３１４）をさらに含むことを特徴とする請求項２９に記載の装置。
【請求項３１】
記録操作中にコマーシャルを検出することができ、したがってコマーシャルを抑制することができる、すなわちリアルタイム記録であることを特徴とする請求項２４から３０のいずれか１項に記載の装置。
【請求項３２】
再生モード中にコマーシャルを検出して、ＴＶ画面上へのコマーシャルの表示を抑制することができることを特徴とする請求項２４から３０のいずれか１項に記載の装置。
【請求項３３】
複写操作中にコマーシャルを検出して、複写モードでコマーシャルを抑制することができることを特徴とする請求項２４から３０のいずれか１項に記載の装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、テレビジョン信号の分類、特に、録画または再生処理手順中に除去できるようにテレビジョン信号のコマーシャルである部分を分類するための、方法及び装置に関する。
【０００２】
【従来の技術及び発明が解決しようとする課題】
ＴＶ信号のための記録システム、例えばビデオ・レコーダによって、ＴＶプログラムを自動的に記録することが可能である。このようなＴＶプログラムがコマーシャルを含んでいる場合には、何らの対策もとらなければ、これらのコマーシャルも番組と共に記録されることになる。しかし通常はこれらのコマーシャルは、記録されたものを連続的に見るときにはユーザにとっては興味がないものである。ユーザが通常の記録システムを使用する場合には、早送り走査を使用して短時間でコマーシャルの終端に達することができる。しかしながら、この望ましくないコマーシャルの手動スキップは、ユーザにとって極めて満足できるものとは言えない。
【０００３】
この欠点を克服するために、記録過程中にこのようなコマーシャルを除去するか、または再生過程中に自動的にこれらの部分をスキップすることが可能である。そこで、ＴＶプログラムの番組部分とコマーシャル部分との間を確実に区別することのできる方法を準備する必要がある。このような判断を一技術システムで行うことができるならば、記録されたプログラムの記録または再生を制御することが可能となる。
【０００４】
ＴＶ信号の中の異なる内容（例えばコマーシャルと実番組）の自動区別のために、いくつかの方法がすでに知られている。しかし周知の方法はすべて、ＴＶ信号がコマーシャル部分であるか否かを判断するために一つまたは二つの特徴（事象と呼ぶこともある）しか観察しない、という欠点がある。
【０００５】
米国からは、ブラック画像の出現に基づいて判断を行う方法が知られており、この方法では、ブラック画像は同じ色と輝度の値のピクセルのみを含む。通常、「ブラック」が色値として使用されるが、「青」のような別の値を観察することもできる。ある画像がブラック画像の上記の基準を満たす場合には、この画像のすべての色と輝度の値についての簡単な統計的計算に基づいて、「ブラック」と判断することが可能である。さらに、コマーシャルの前後にいくつかのブラック画像が放送され、コマーシャルは通常特定の持続時間（通常３０秒）を超過しないことが、観察できる。これらの観察が、Johnson とKoobesのＰＣＴ出願第ＷＯ０８１／００９４５号、ＴＶ信号の記録を制御するためのPoppy とSamelsonの米国特許第４７５００２５号、及び記録されたテレビジョン信号の再生を制御するためのIgguldenとMcFarland の米国特許第５３３３０９１号に記載された方法の基礎となっている。米国特許第５３３３０９１号の方法ではさらに、コマーシャルは通常は一定の最小長さ以下だけ表示され、後続のコマーシャルは最小持続時間を有するという観察結果を使用している。
【０００６】
米国特許第５１５１７８８号に記載のBlumの方法は、コマーシャルにおける画像は高い活動性を有するという観察結果を使用する。このような活動性がブラック画像の後にすぐ検出できる場合には、続くＴＶ信号はコマーシャルであると判定され、記録は次のブラック画像まで停止される。
【０００７】
米国特許第５３３３０９１号に記載の方法を除き、上記の方法はすべて、リアルタイムで分類に取り組もうと試みている。これらの方法によってコマーシャルが検出されると、記録は停止される。したがって、誤った分類が関連情報の損失を招く可能性がある。しかしながら、米国特許第５３３３０９１号に記載の方法では、記録中のブラック画像の発生が登録されるだけである。次いで、収集された情報が分析され、ブラック画像間の時間間隔から、コマーシャルが出現したかどうかについての分類が実施される。そしてこの情報は記録された資料の再生を制御するために使用される。
【０００８】
ドイツでは、画像の中に標語文字（ロゴ）が挿入されていない場合にＴＶ信号がコマーシャル部分であることを示す、もう一つの方法が開発された。さらにドイツでは個々の放送会社は、ビデオ並びにオーディオ情報によって番組内容とコマーシャルをはっきり区別するよう義務づけられている。これは通常、画面において番組内容中に特有のロゴを挿入し、コマーシャル中ではこのロゴをフェードアウトすることによって達成される。しかしながら実際には、この規則は遵守されていない。国営テレビのプログラムでは、番組内容の放送中にロゴは挿入されていなかったことが観察できた。短いコマーシャルを伴うスポーツ番組中は、ロゴがコマーシャル中にフェードアウトされないときもあったり、コマーシャル後にフェードインされないときもあった。
【０００９】
要約すれば、上記の方法はすべて、観察された特徴が予期された形状および状況で実際に現われる限りにおいてのみ作動する。それから逸脱した場合には、コマーシャルは検出されないか、または番組内容がコマーシャルとして誤分類される可能性がある。例えば、いくつかのビデオ・クリップまたは実験的な映画がコマーシャルのように編集されると、その結果コマーシャルにおけるようにブラック画像が出現する可能性がある。
【００１０】
ドイツにおける受信可能な放送会社で、上記の方法が機能しない複数のこのような状況を観察することができた。少数の特徴を考慮に入れ、固定した体系に従っていることが、周知の方法のすべてに共通している。しかし事実は、すべての状況に適用できる固定した体系は存在しない。
【００１１】
従って本発明の目的は、テレビジョン信号の分類、特に、コマーシャルの分類の信頼できる結果を提供するコマーシャルの分類のための方法及び装置を提供することである。
【００１２】
【課題を解決するための手段】
上記の目的は、特許請求の範囲の請求項１と請求項２４の主題によって解決される。好ましい実施例が従属請求項に記載されている。
【００１３】
本発明によれば、テレビジョン信号分類のための方法は、
各々が前記のテレビジョン信号に特有である、一組の検出可能な特徴を定義するステップと、
所定の引数定義域を有する変数を検出可能な各特徴に割り当てるステップと、検出可能な各特徴のための所定の関数定義域を前記引数定義域上で定義するステップと、
一組の規則の評価の結果が前記テレビジョン信号の分類となるように前記変数を使用する一組の規則を定義するステップと、
所定の時間中に前記テレビジョン信号における前記変数を測定するステップと、
前記変数の測定値を使用して前記規則を評価し、テレビジョン信号の内容を分類するステップと
を含む。
【００１４】
前記分類の結果がＴＶ信号中のコマーシャルの検出に使用され、またこの分類がフレームごとに実施されることが好ましい。ただしフィールドごとの分類も可能である。
【００１５】
前記検出可能な特徴は、テレビジョン信号のオーディオ部分及びビデオ部分から導き出され、次のオーディオ特徴が変数の定義に使用される。すなわちステレオ音と２チャネル・オーディオである。ステレオ音の特徴は、パイロット信号を介するステレオ音表示、ＶＰＳ信号を介するステレオ音表示、及びレベル差を介するステレオ音表示に細分される。さらに２チャネル・オーディオは、パイロット信号を介する２チャネル表示、ＶＰＳ信号を介する２チャネル表示、及びレベル差を介する２チャネル表示に細分される。
【００１６】
ビデオ信号の下記の特徴を、画像処理によって分析することができる。すなわち一フレームにおける輝度の分布、一フレームにおける色分散、ロゴ検出のために使用される二つの連続するフレームの差の測定、ＶＰＳ情報の使用、ＶＰＳ中断信号の使用、及びＶＰＳコードの使用である。
【００１７】
分類に使用される変数は言語変数である。一組の変数はファジー・セットであることが好ましく、ファジー論理が一組の規則の評価に使用される。前記の変数について関数が定義され、一般に関数定義域は間隔［０，１］で形成されるが、他の間隔または組も適切であれば使用することができる。間隔［０，１］は、確率の概念に対応しているので、よく使用される。
【００１８】
前記一組の規則の迅速な評価を達成するために、引数定義域で定義される関数は三角形と矩形を含む台形関数であることが好ましい。
【００１９】
一組の規則の評価のために、上記の関数の面積と運動量に条件のファジー値を乗算し、関数の面積と運動量は前記台形関数に基づいて計算する。
【００２０】
付録Ｂによる一組の規則及び付録Ａによる言語変数を使用することが好ましい。
【００２１】
分類が現在及び過去のテレビジョン信号のみの知識に基づくこと、すなわち分類をリアルタイムで実施することが可能である。
【００２２】
他の可能性は、将来のテレビジョン信号の知識も一組の規則の評価のために使用すること、すなわち記録されたテレビジョン信号を使用して分類を行うことである。
【００２３】
さらに、分類結果を今後の使用のためにメモリに記憶することができる。
【００２４】
さらに、コマーシャル出現の確率がｓより小さい場合に最後の６０ｓのデータが記憶されまた、コマーシャル出現の確率がしきい値より大きいかまたは等しい場合には、コマーシャルの出現が９０ｓの間しきい値より小さくなるまでデータが連続的に記憶されるようにしきい値ｓを定義することができる。
【００２５】
色分散、輝度分散、オーディオ・レベル、及びロゴ類似性の値を、データ・ブロックの開始と終了で比較する。さらにブラック画像間の時間間隔を、コマーシャルの始めと終りの評価のために、テレビジョン信号のデータ・ブロック中で検出する。
【００２６】
本発明による方法の上記の特徴は、テレビジョン信号分類のための装置で使用される。
【００２７】
このような装置は、３つのマイクロコントローラ、データ・バス、及びメモリを含むことが好ましく、中央コントローラはオペレーティング・システムを実行し、第２コントローラは画像処理ソフトウェアを実行し、第３コントローラはファジー規則を実行する。装置はさらに、ビデオ・ユニットと画像メモリを含み、画像メモリは高速画像データ・バスによってビデオ・ユニットと第２コントローラに接続されている。ＶＰＳ信号が分類のために使用される場合には、装置はさらにＶＰＳデコーダを含む。さらにこれは音響デコーダと、この音響デコーダに接続されたオーディオ信号の分析のためのディジタル信号プロセッサを含む。
【００２８】
二つの主要操作モードが可能である。すなわち第１に、装置は記録操作中にコマーシャルを検出することができ、したがってコマーシャルを抑制することができ、すなわちリアルタイム記録であり、また第２に、装置は再生モード中にコマーシャルを検出し、ＴＶ画面上へのコマーシャルの表示を抑制することができる。
【００２９】
さらに装置は複写操作中にコマーシャルを検出し、複写モードでコマーシャルを抑制することができる。
【００３０】
要約すれば、本発明は、ＴＶ信号の分類がＴＶ信号から収集された複数の情報と規則システムを使用する複数の規則に基づいて行われる方法に基づく。このような規則システムは不確実性のモデル化が可能であり、規則を定義するために厳格な値または厳格な限界を与える必要はない。
【００３１】
本発明による方法によって、以下でコマーシャル検出システム（ＣＤＳ）と呼ぶ、ＴＶプログラム中のコマーシャルの開始と終了を自動的に検出するシステムを実現することができる。これによってＴＶ信号の記録、再生、または複写の自動制御が可能となり、コマーシャルは記録されないか、再生中にスキップされるか、または複写されない。
【００３２】
ＣＤＳのこのような分類結果が、例えばＴＶ信号記録の制御中に直ちに必要である場合には、これをリアルタイム分析と呼ぶ。リアルタイム分析中は、現在と過去の情報のみを考慮することができる。分類決定を後で行うことができる場合には、判断のために将来の情報を考慮することができる。この場合にはさらに多くの情報を使用することができるので、このような処理手順はリアルタイム分析よりも正確である。この場合には、まずＴＶ信号の情報を確実な分類が可能になるまで収集することができる。それから分析の結果を記憶し、分析した内容の次の再生を制御するために使用する。
【００３３】
【発明の実施の形態】
本発明による方法及び装置の好ましい実施形態を、添付の図面を参照して以下に説明する。
【００３４】
始めに、ファジー規則を紹介するが、これによって特にドイツでＴＶプログラムの分類がこの拘束で可能である。ファジー規則とファジー・セットによって、例えば「コマーシャルは通常３０ｓの長さである」というあいまいな表現をモデル化することが可能である。ファジー規則でのあいまいな表現の変換とファジー・セットの定義のために、厳格に定義された規則は存在しない。したがって、本方法が修正された規則とセットによって作動することは可能である。特に規則は、ＴＶ信号の放送のための別の規定を有する国では変更する必要がある。しかしこの規則の使用によって、コマーシャル放送の様々な案を考慮に入れることが可能である。あいまいな表現の規則の使用によるこのようなモデル化によって、標準案の偏差が生じた場合にコマーシャルを検出することが可能である。
【００３５】
図１は、ＴＶシステム用のＴＶ信号のためのビデオ・レコーダの不可欠部分として、ＣＤＳの組込みを示す。ＣＤＳ１０１は二つの外部端末２０１、２０４を有し、ここで端末２０３はＴＶ信号をＣＤＳ１０１に入力するために使用される。この場合、信号の形式は重要ではない。特に、信号はアナログでもディジタルでもよく、オーディオ及びビデオ情報を別々にすることができ、またビデオ情報（画像）を輝度と色情報（ＹＵＶまたはＹＣ）において分離することができる。これらの形式はすべて、周知の技術システムを通じて互いに転換可能である。以下の説明を簡単にするために、ビデオ情報はＦＢＡＳ信号であり、オーディオ情報は非コード化ＮＦ信号であると想定する。第２端末２０４は記録装置に接続されたディジタル端末である。この端末の正確な形式は意図される用途の関数である。例えばバスを接続することができる。従って、端末２０４をＶＣＲの内部制御バスまたは編集インタフェースに接続することができる。さらに、ＩＲ送信器／受信器を接続することができる。この端末２０４によって、ＣＤＳは指令を記録システムに送信するか、または記録システムから情報を受信することができる。さらに詳しくは、入力信号１０５、チューナ１０４の信号、または再生電子装置１０６の信号のいずれかを二つのビデオ・スイッチ１０２、１０３を介してＣＤＳ１０１の入力端末２０３に接続することができる。制御バス１０９によって、ＣＤＳ１０１は端末２０４を介してシステムの中央制御機構１０８に接続されている。他の構成部分、すなわちチューナ１０４、再生システム１０６、及び記録システム１０７も中央制御バス１０９に接続されている。
【００３６】
図２は、ＣＤＳ２０１を外部装置として示す。端末２０３によって、分類されるべきビデオ及びオーディオ情報は記録ユニット２０１から外部ＣＤＳ２０２に伝送される。記録ユニット２０１が制御インタフェースを有する場合には、記録ユニット２０１を制御端末２０４を介してＣＤＳ２０２に接続することができ、こうして情報と指令を交換することができる。記録ユニット２０１がこのような制御インタフェースを備えていない場合には、ＣＤＳ２０２がＩＲ発信器２０５を介して記録ユニット２０１に指令を送ることが可能でなければならない。ＣＤＳ２０２を記録ユニット２０１から活動化できない場合には、ＣＤＳ２０２は操作エレメント２０６を備えなければならない。さらに、モード（リアルタイム分析、正規の分析、再生）を設定するための第２操作エレメント２０７は、ユーザによって識別されることが可能である。さらに、バーコード・リーダ２０８がＣＤＳ２０２に接続されている。
【００３７】
一方、ＣＤＳ１０１、２０２は直ちに、言い換えればリアルタイムでテレビジョン信号を分類することができる。この場合にはＣＤＳは、
１．コマーシャルが記録されないような方法でＴＶ信号の記録を制御し、
２．ＴＶ信号の記録中にコマーシャルが検出されたデータ媒体上の位置をマークし、
３．実際の放送または記録されたコマーシャルの再生中に音と画像をフェードアウトする
ことができる。
【００３８】
一方、ＴＶプログラムのどの部分がコマーシャルであり、どの部分がＴＶ番組内容であるかに関する情報が後で必要になる場合には、この情報が記録された資料に関して記憶されることが可能である。この場合には、ＣＤＳ１０１、１０２は、ＴＶ信号から十分な情報を引き出してしまうまで分類の決定を遅らせることができる。この追加情報を使用することができるユニットによる記録資料再生中は、コマーシャルとして検出された部分をスキップすることが可能である。さらに、コマーシャルが入っている記録資料をコマーシャルなしで複写することを、自動的に行うことができる。
【００３９】
従って、ＣＤＳの技術的実現の次の前提条件を満たさなければならない。
１．ＣＤＳは、記録段階の開始と終了に関する知識を取得できなければならない。さらにＣＤＳは、記録装置の記録機能を制御できなければならない。
２．記録ユニットは、記録資料に追加情報を記録できなければならない。さらに、ＣＤＳに記録段階の開始と終了に関する通知がなされることが可能であり、またＣＤＳがこの追加情報のために記録ユニットの機能を制御できなければならない。
３．ＣＤＳは、ビデオ及びオーディオ情報をスキップするために情報再生システムの機能を制御できなければならない。
４．データ媒体に記録されたプログラムの位置についてのデータ媒体に関する位置情報の記憶は、再生システムがこれらの位置をデータ媒体上で自動的に検索できるような方法で、可能でなければならない。記憶された位置とそれぞれのプログラムが記録されたそれぞれのデータ媒体との関係は、満たされなければならない。これは、媒体の絶対位置が媒体システム自体に記憶される場合には最も容易である。これは、指標域がデータ媒体上に存在する場合、またはデータ媒体システムが位置情報を記憶するための個別のメモリ・ユニットを含む場合には可能である。
【００４０】
このような可能性が存在しない場合には、データ媒体自体にも、自動再生の制御に必要なこの追加情報を後で供給することができる。
【００４１】
直接位置情報を媒体システムに記憶することができないか、または媒体上に位置をマークすることができない場合には、位置情報を記録システムまたはＣＤＳ自体に永続的に記憶しなければならない。この場合には、単一データ媒体間を見分けることが必要である。このような区別は、米国特許第５３３３０９１号に開示されている。他の可能性は、データ媒体のバーコードを供給することである。このようなバーコードは、データ媒体システムが記録ユニットに導入されている場合には、それぞれのユニットによって自動的に読み取ることができ、そうでなければ、バーコードを個別のバーコード・リーダーで読み取らなければならない。
【００４２】
ＣＤＳには下記の情報を供給しなければならない。
１．ＣＤＳには、関連情報すなわちテレビジョン信号を含む信号を供給しなければならない。
２．ＣＤＳは、供給された信号の分類の開始時と終了時を知らなければならない。
３．ＣＤＳは、制御信号の中で分類結果を変換しなければならない。
【００４３】
上記の制約は、例えば図１と図２による配置で満たされる。
【００４４】
図３は、本発明によるコマーシャル検出システムの可能な一実施形態を示す。ＣＤＳは、三つのマイクロコントローラ３０１、３０２、及び３０３を含む。中央コントローラ３０１はオペレーティング・システムを処理する。第２コントローラ３０２は特殊画像処理目的のために使用される。第３コントローラ３０３はファジー規則を処理するための最適化された構成を有する。三つのコントローラはデータ・バス３１１を介して通信する。データ・メモリ３０４は一時的データの記憶に役立つ。これに対して、メモリ３０５は永久メモリであり、電源故障の場合でも情報を保管する。メモリ３０５は、例えば位置情報を記憶するために必要である。コントローラ３０１と３０２は内部プログラム・メモリを有する。さらにファジー・コントローラ３０３はファジー・セットとファジー規則のための内部メモリを含む。メモリ３１２は画像データのための高速メモリとして役立つ。画像データ・バス３１３を介して、画像プロセッサ３０２は画像メモリ３１２及びビデオ・ユニット３０６と通信する。外部端末２０３を介して、ビデオ信号とオーディオ信号がシステムに供給される。ビデオ信号はＦＢＡＳ信号の形式またはＹ／Ｃ信号の形式にすることができる。接続線３１５を介して、ＦＢＡＳ信号またはＹ部分はビデオ・ユニット３０６とＶＰＳデコーダ３０７に供給される。Ｃ部分は、接続線３１７を介してビデオ・ユニット３０６に供給される。
【００４５】
オーディオ信号は、コネクタ３１６を介してオーディオ・デコーダ３０８に送られる。オーディオ・デコーダ３０８はオーディオ信号を二つのチャネルに分離する。二つのＲ／Ｄコンバータ３１９を通じてディジタル化した後、オーディオ信号はディジタル信号処理ユニット３１４に供給される。
【００４６】
ビデオ・ユニット３０６はビデオ信号をディジタル化し、色情報を復号し、同期信号３１０と３１８を分離する。ディジタル化された画像情報はバス３１３を介して画像プロセッサ３０２に供給される。垂直同期信号３１０はコントローラ３０１とコントローラ３０２に供給されるが、水平同期信号はコントローラ３０２によってのみ必要とされる。
【００４７】
ＶＰＳデコーダ３０７は、画像信号からＶＰＳ情報を抽出する。さらに第２デコーダ３０８は、オーディオ信号が「モノ」タイプか、「ステレオ」タイプか、または「２チャネル・オーデイオ」であるかを評価する。二つのデコーダ３０７、３０８のそれぞれの情報は、コントロール・バス３０９を介して中央コントローラ３０１に供給される。
【００４８】
制御インタフェース用の外部端末２０４、２０５、２０８、ＩＲ受信器／発信器、及びバーコード・リーダーは、中央コントローラ３０１の入出力ポートに直接接続されている。
【００４９】
図４は、ＣＤＳの制御ルーチンの流れ図を示す。この制御ルーチンでは、すべての可能な操作への分岐を示す。
【００５０】
制御ルーチンはステップ４０１で開始する。ここでは、データ媒体が記録システムに入れられ、ＣＤＳが活動化され、ユーザは手動で記録ユニットを再生モードまたは記録モードに、もしくは記録ユニットまたはＣＤＳが記録モードに置かれている場合には、ルーチンを介して設定する。
【００５１】
ＣＤＳにおいて直接または記録ユニットを通じて間接のユーザの活動によって、ステップ４０２において、ＣＤＳが分類モードに分岐されているか再生モードに分岐されているかが設定される。ステップ４０３では、ルーチンはリアルタイム分類に分岐すべきか、または分析モードに分岐すべきかが決定される。分析タイプの設定はユーザの対話を通じて行われる。
【００５２】
ステップ４０４と４０５は、データ媒体システムが位置情報を記憶することができるか、または位置情報がシステム自体の中に記憶されるべきであるかの特徴に応じて、サブルーチンに分岐する。位置情報が内部的に記憶されている場合には、ステップ４０５はステップ４０７に、そうでなければステップ４０６に分岐する。
【００５３】
ステップ４０６では、位置情報がデータ媒体から読み取られる。
【００５４】
ステップ４０７では、データ媒体のマークが読み取られ、ステップ４０８では、それぞれの位置情報が永久メモリ３０５から読み出される。ステップ４０６またはステップ４０８では、プログラムはそれぞれのサブルーチンに分岐する。
【００５５】
それぞれのサブルーチンの処理の後に、制御プログラムはステップ４０９で終了する。
【００５６】
図５は、図４に示すサブルーチン「リアルタイム分析」の流れ図を示す。初期化するために、ステップ５０１でクラスを「プログラム」に設定し、ステップ５０２ですべての特徴のカウンタを０に設定し、すべての特徴の状態を初期値に設定する。ステップ５０３とステップ５０４で、画像プロセッサとオーディオ分析のためのディジタル単一プロセッサを開始させる。
【００５７】
ステップ５０５で、ルーチンは次の垂直同期パルスの重ね合わせを待ち、ステップ５０６で、評価ユニット３０２、３０７、３０８、３１４のすべての実際値を受け取り、必要ならば正規化を行う。
【００５８】
ステップ５０７で、正規化された値はファジー・プロセッサ３０３に書き込まれる。ステップ５０８で、ファジー・プロセッサ３０３は第１セットの規則によって開始される（付録Ｂを参照のこと）。
【００５９】
ファジー・プロセッサ３０３における評価が終了すると、ステップ５０９で結果が取り出される。これらの結果の各々は特徴の状態を示す。特徴の状態が、ステップ５１０で問われる新しい結果が理由で変わると、ステップ５１１で、それぞれのカウンタは０に設定され、この特徴の新しい状態は記憶される。そうでなければ、ステップ５１２でカウンタは１だけ増分される。
【００６０】
ステップ５１３で、ルーチンは、すべての結果が読み取られたかを照会する。ステップ５１４で、すべての特徴の新しい状態とカウンタ値がファジー・プロセッサに書き込まれる。
【００６１】
ステップ５１５で、ファジー・プロセッサ３０３は第２セットの規則によって開始され（付録Ｂを参照のこと）、そしてステップ５１６で、結果は主プロセッサに移送され、クラスが「プログラム」に設定されている場合にはルーチンはステップ５１８に続き、そうでなければステップ５２１に続く。この照会はステップ５１７で実施される。
【００６２】
ステップ５１８で、ファジー・プロセッサ３０３の実際の結果が「コマーシャル」である場合には、ステップ５１９でクラスは「コマーシャル」に設定される。それからステップ５２０で、コマーシャルの開始のための指令操作が制御インタフェース２０４、２０５を介して記録ユニットに送られる。ステップ５１８におけるファジー・プロセッサの結果が「非コマーシャル」である場合には、ルーチンは直接ステップ５２４に続く。ステップ５２１で、「コマーシャル」から「番組」へのクラスの変化が起こった場合には、クラスはステップ５２２で「番組」に設定され、ステップ５２３で、コマーシャル終了に関する操作のための指令が記録ユニットに送られる。ステップ５２４で、分析を終了すべきかどうかが照会され、これは記録ユニットのそれぞれの指令が存在する場合である。この場合には、プログラムはステップ５２５で主ルーチンに戻り、そうでなければステップ５０５に戻る。
【００６３】
図６ａ、図６ｂはルーチン「精密分析」の流れ図を示す。
【００６４】
図６ａ、図６ｂによるルーチン「リアルタイム分析」では、テレビジョン信号の内容は、ファジー・プロセッサがクラス「コマーシャル」を１００％の確率で出力する場合にのみ、コマーシャルとして決定される。この理由は、コマーシャルではないプログラムの部分が除去されることを防止しなければならないことである。しかし一方では、このために、コマーシャルが番組内容として分類される確率は高くなる。特に、これはコマーシャル中断の開始時と終了時に発生する。非リアルタイム分類が必要な場合によりよい結果を得るために、ファジー・プロセッサの出力を記憶し、続いて分析する。さらに分析結果を確認するために、テレビジョン信号の情報の一部を記録する。この方法のために、しきい値ｓを定義する。変数commercials.reliable＜ｓである限り、最後の６０ｓのデータが記憶される。commercials.reliable・ｓであれば、データは連続的に記憶される。後で９０ｓの間commercials.reliable＜ｓであることが登録される場合には、データの記憶は停止され、記憶されたデータは分析される。この情報は、最初と最後に特徴commercial.reliable ・ｓが生ずる時間間隔が９０ｓ以下である場合に、再度スキップされる。各データ・ブロックについて、commercials.reliableの値、時間情報、輝度値、輝度分散、色分散、ロゴ相似性の値、及び平均オーディオ・レベルが記憶される。
【００６５】
それぞれの値の色分散、輝度分散、及びロゴ相似性は、この順序で各データ・ブロックの最初と最後に比較される。相似性が存在する場合には、有為な偏差が発生するまで、両側から始まるデータ・ブロックの中央に向かう方向に探索される。これらの位置は各形式の情報について記録される。この方法で見つけられた位置の５０％が最大３０ｓの間隔の中でデータ・ブロックの中央の前後に位置する場合には、コマーシャルの開始と終了はここにあると推定される。一つの画像カットまたは一つのブラック画像を正確に間隔の中または近くに見つけることができる場合には、この位置は、コマーシャル中断の開始と終了として選択される（図６ｂでは「方法１」と呼ぶ）。
【００６６】
方法１が成功しない場合には、データ・ブロックにおけるブラック画像の時間間隔が評価される。二つの隣接ブラック画像の時間間隔の８０％が５で割ることができ、最小３０、最大６０ｓの長さである場合には、この順序における最初と最後のブラック画像の位置はコマーシャルの開始と終了として取られる（図６ｂでは「方法２」と呼ぶ）。
【００６７】
方法２が成功しない場合には、リアルタイム・アルゴリズムを使用する（図６ｂではステップ６２６で「方法３」と呼ぶ）。ＴＶ番組の前にコマーシャル・ブロックが放送されるときに記録がすでに開始しており、一方、ＴＶ番組の実際の終りの後に記録が停止するということが起こりうる。これは、記録開始または変数記録終了の約３０〜６０ｓにcommercial.reliable ＞ｓの場合に確認できる。分析のための第１の方法は、このような場合には、かたわらで使用できるのみである。
【００６８】
ルーチンは位置の順序を記憶する。各位置は「コマーシャル」から「番組」への変化またはその逆が想定される記録位置を示す。再生中にどのクラスが最初に設定されるかに注目するため、この情報も記憶しなければならない。通常、これはクラス「番組」である。最初の３０〜６０ｓ以内にcommercial.reliable ＞ｓが少なくとも９０ｓ間ある場合のみ、クラス「コマーシャル」が記憶される。上記のルーチンは図６ａと６ｂの流れ図においてステップ６０１〜６２６の順序で示されている。
【００６９】
図７は、サブルーチン「記憶された位置情報による再生モード」の流れ図を示す。ステップ７０１で、記録開始のためのクラスの値をメモリから読み取る。再生をステップ７０２で開始する。ステップ７０３で、メモリ内の位置リストが空であるか否かを照会する。否であれば、最初の位置値をメモリから読み取る。リストが空であれば、照会７０７及び７１１の場合のようにステップ７１３に分岐して、サブプログラムを終了する。ステップ７０５の照会は、記録の開始時にクラスがコマーシャルであるかどうかを問う。そうであれば、テープをステップ７０６の最初の位置まで前進早送りする。さもなければプログラムはステップ７０９に分岐する。ステップ７０８で次の位置値をメモリから読み取り、ステップ７０７でリストが空であるか否かが先ず問われる。
【００７０】
ステップ７０９で実際の位置値が記録ユニットから読み取られ、このステップは、実際の位置値がメモリからの位置値に等しいか大きくなるまで照会７１０において繰り返される。再度、位置リストが空であるか否かを照会する（ステップ７１１）。リストが空でなければ、ステップ７１２で次の位置値を読み取り、ルーチンはステップ７０６に戻る。位置値が空であれば、ルーチンはステップ７１３に分岐し、主ルーチンに戻る。
【００７１】
図８は、サブルーチン「マーク位置による記録の再生」の流れ図を示す。
【００７２】
ステップ８０１と８０４で、再生がユーザ対話によって終了したかどうかが問われる。終了の場合には、ルーチンはステップ８０７に分岐してこのサブルーチンを終了し、さもなければルーチンは次のステップに続く。ステップ８０２で、ルーチンはマークが認識されるまで待ち、こうしてステップ８０３で記録ユニットは前進早送りに切り替えられる。ステップ８０５で、ルーチンはマークがもう認識されなくなるまで待ち、こうしてステップ８０６で記録媒体は切り替えられて再生に戻る。それからルーチンはステップ８０２に続く。
【００７３】
図９、図１０ａ、図１０ｂについては、ＴＶ信号のどの情報がコマーシャルの自動検出に重要であるか、情報をどのように測定できるか、この情報をファジー・セットとファジー規則に関する特徴にどのように関連させるか、そしてどの規則とセットを分類に使用することができるかを、簡単に説明する必要がある。
【００７４】
この情報はドイツでは放送機構に関係することを、銘記しなければならない。他の地域または国では他の放送機構が使用されているので、抽出可能情報セットの変更が適応されるべきである。
【００７５】
ＴＶ信号は通常、ビデオ情報とオーディオ情報を含み、これらを画像信号とオーディオ信号に分離することができる。放送会社によって異なるが、２進情報が画面では見えない位置で画像信号に変調される。このディジタル情報はビデオ・テキスト情報またはＶＰＳ情報もしくはその両方の伝送に使用される。周知の回路によって、この情報を追加信号として抽出することができる。さらに、オーディオ信号を、二つのオーディオ・チャネルを伝送できるような方法で変調することができる。この方法で、ステレオ音または二つの異なる言語（２チャネル・オーディオ）の右チャネルも左チャネルも伝送することができる。しかし、僅かの放送会社のみがこの可能性を使用している。テレビジョン信号が衛星から受信される場合には、異なる言語のチャネルが通常は異なるオーディオ搬送波周波数で伝送され、単一の搬送波周波数ではコード化されない。さらに、オーディオ信号中のパイロット信号は、音がタイプ「モノ」、「ステレオ」、「２チャネル」のいずれであるかを決定する。サウンド・デコーダによって、オーディオ信号は二つのチャネルに分離される。このようなデコーダは通常は端末またはメモリ位置を含み、メモリ位置でオーディオ形式の情報を抽出することができる。
【００７６】
例えばドイツでは、コマーシャルの自動検出のために次の情報を使用することができる。
【００７７】
１．ステレオ音
ドイツではコマーシャル・スポットはしばしばステレオ音で放送される。放送会社がステレオ音を放送する可能性を有し、実番組内容がステレオ音で放送されない場合は、ステレオ音の出現がコマーシャルのための確実な指示となる。  ステレオ音が存在するか、非ステレオ音が存在するかを自動的に判定するには、二つの可能性がある。
【００７８】
１．１  パイロット信号を介するステレオ音指示
サウンド・デコーダ３０８は、パイロット信号がオーディオ形式「ステレオ」を示しているかどうかを判定することができる。サウンド・デコーダの問合せのための関数は、
Stereotone_pilot, value: 0,1
であり、サウンド・デコーダがステレオ音を指示する場合には０、さもなければ１である。
【００７９】
１．２  ＶＰＳ信号を介するステレオ音指示
ＶＰＳ信号の指定は、実形式の同時放送オーディオ信号の情報の伝送を可能にする。この情報を得るためにＶＰＳデコーダ３０７をテストする。この関数、stereotone_VPS, output value: 0,1 は、ＶＰＳデコーダがステレオ音を指示すると０、さもなければ１である。
【００８０】
１．３  レベル差を介するステレオ音指示
ＶＰＳ信号によるように、パイロット音によっても、実オーディオ形式が「モノ」であっても、音形式「ステレオ」が指示されている事態が発生する。したがって、追加的に二つのオーディオ・チャネルの比較を行う。両チャネルが互いにはっきり異なる場合にのみ、ステレオ情報が存在する。比較は、ＤＳＰ３１４において実施される両オーディオ・チャネルの信号の減算によって行われる。結果が明らかに０でない場合には、両チャネルは異なる。減算の結果は下記の関数によってＤＳＰ３１４から抽出される。
Channel_difference, output value: [0,1],
°Ｌ−Ｒ°は間隔[0,1] に正規化されているものとする。
ただし、Ｌ＝左オーディオ・チャネル、Ｒ＝右オーディオ・チャネル。
【００８１】
サウンド・デコーダの中には、Ｌ−Ｒを直接提供するものもある。この場合には、追加の信号プロセッサ３１４を必要としない。
【００８２】
２．２チャネル・オーディオ
ドイツでは、コマーシャルは通常は２チャネル・オーディオでは放送されない。実番組内容が２チャネル・オーディオで放送され、この放送中に２チャネル・オーディオで放送されない位置がある場合には、この部分は確実にコマーシャルである。
【００８３】
オーディオ信号が「２チャネル」形式のものであるかどうかを自動的に検出するには、二つの可能性がある。
【００８４】
２．１  パイロット信号を介する２チャネル・オーディオ指示
サウンド・デコーダ３０８は、パイロット信号が情報「２チャネル」を示すかどうかを決定することができる。サウンド・デコーダの照会の関数、すなわちtwo_channel_pilot, output value 0,1 は結果として、サウンド・デコーダが２チャネル・オーディオを指示する場合は０、さもなければ１となる。
【００８５】
２．２  ＶＰＳ信号を介する２チャネル・オーディオ指示
ＶＰＳ信号の指定は、放送オーディオ信号による実際に同時形式の情報の伝送を可能にする。この情報を得るために、ＶＰＳデコーダ３０７は問い合わされる。したがって関数、
Two_channel_VPS, output value: 0,1は結果として、ＶＰＳデコーダが２チャネル・オーディオを指示する場合は０、さもなければ１となる。
【００８６】
２．３  レベル差を介する２チャネル・オーディオ指示
項目１．３におけるように、パイロット音、またはＶＰＳ信号によって、オーディオ形式が実際に「モノ」であっても、オーディオ形式「２チャネル」は誤って指示される。したがって、追加的に二つのオーディオ・チャネルの比較を行う。比較は、プロセッサ３１４において両オーディオ・チャネルの信号の減算によって行われる。結果が明らかに０でない場合には、両チャネルは異なる。このための関数は、
Channel_difference, output value: [0,1]
であり、これは間隔[0,1] に正規化された°Ｌ−Ｒ°を提供する。ただしＬ＝左オーディオ・チャネル、Ｒ＝右オーディオ・チャネルである。
【００８７】
３．サウンド・レベル
ドイツでは法によって、コマーシャルと番組内容は異なったオーディオ信号を持たなければならない。これは通常、コマーシャル中にオーディオ・レベル（サウンド・レベル）を増加することによって行われる。したがって、コマーシャルの前後及びコマーシャル中に、通常認識すべきサウンド中断がある。サウンド中断は、オーディオ・レベルが最小レベル値に近い場合には、自動的に検出が可能である。一定のレベル増加またはレベル低下を、低域フィルタリング後のオーディオ・レベルの最初の区別によって検出することができる。オーディオ・レベルとその一次微分をＤＳＰ３１４で計算することができる。次の関数が使用される。
Sound_level, output level: [0,1],
これは間隔[0,1] に正規化された両オーディオ・チャネルの平均ｄＢ値を提供する。
Sound_level_deriv, output value: [-1,1],
これは間隔[-1,1]に正規化された両チャネルの低域フィルタリングされたサウンド・レベルの平均一次導関数を提供する。
【００８８】
４．画像分析
４．１  画像における輝度分布
画像またはフレームの輝度分布は、画像の内容または「活動」を指示する。輝度分布の計算方法はシノニム「ヒストグラム」の下でよく知られている。ピクセルのほとんどの輝度がある一定の輝度の周りに集中している場合には、画像のみが少量の光学的に異なる情報を示す、ということを含めることができる。この方法で、画像のフェードアウトを認識することができる。画像情報はコマーシャル割込みの前にフェードアウトされ、コマーシャル割込みの後に再び挿入され、単一のコマーシャル・スポットはブラック画像と直接分離される、ということを観察することができる。
【００８９】
４．２  一画像における色分散
コマーシャルの前に、人間に知覚できる画像の分離順序がなければならない。これらの分離画像は通常コンピュータで人間が作り、数色を使用するのみである。４．１による方法によって、色分散を測定することができる。
【００９０】
４．３  二つの連続する画像の差の測定
４．２における画像分離順序によって、これらの順序が初期動作の後に静的であるか、静的状態の終りであるかを観察することができる。静的状態は二つの連続する画像の差によって検出することができる。ある量のピクセルにおいて二つの画像が異なっており、このようなピクセルの量が少ない場合には、画像内容に大きな変化はない。
【００９１】
４．４  ロゴの検出
既に述べたように、コマーシャルと番組内容は、ドイツでは光学的に互いに異なっていなければならない。この理由のために、ほとんどの放送会社は、テレビジョン画面の一隅に会社のロゴまたは番組特有のロゴを挿入する。通常は、このロゴはコマーシャル中には挿入されない。ロゴは静的画像要素であるから、ロゴを次の画像との比較によって決定することができる。このようなロゴの位置は僅かに変化したり、または透明なロゴもあるので、例えば傾斜法によるエッジ処理を実施することが有用である。周知の画像処理技法で、いくつかの画像の中でロゴを検出することが可能である。ロゴは画像の隅にのみ存在するので、画像の隅領域にのみロゴ検出方法を適用すれば十分で、こうして計算時間は大幅に短縮される。さらに、システムがコマーシャル中の製品ロゴによって誤りを犯さないように、システムが基準ロゴを学習することが必要である。従って、プログラム開始時に、長い時間スパン（約１．５分間）に観察できる静的構造を上記の方法で画面の隅に見つけることが試みられる。ルーチンがさらにランする間に、参照された構造が画面の中にまだ存在するかどうかが、相違の形成を介してチェックされる。数画面内での相似性の変化は、ロゴのフェードインまたはフェードアウトとして解釈される。
【００９２】
図９は、画像プロセッサにおいて実行されるルーチン「画像分析」の流れ図を示す。
【００９３】
ビデオ・ユニット３０６は画像情報をディジタル化し、そして復号する。各ピクセルについて、画像プロセッサはディジタル色と輝度値を得る。
【００９４】
ステップ９０１で、画像分析は制御プロセッサ３０１によって開始される。開始の後に、すべてのメモリ領域、クラス、状態、及び変数は初期値に設定される（ステップ９０２）。それからステップ９０３で、最初の同期パルスが存在するかどうかがチェックされる。ステップ９０４で、ピクセル・カウンタは０に設定される。
【００９５】
ステップ９０４で、ルーチンは最初の可視ピクセル点が存在するまで待つ。情報は画像の可視点からのみ抽出できるからである。それからステップ９０６で、各ピクセル点がディジタル化ユニットから順次に取り出される。
【００９６】
読み取られたばかりの画像は画像メモリに位置決めされる。輝度と色の瞬間値と該当する前の値との間の差が、ステップ９０７で計算される。ステップ９０８とステップ９０９で、色と輝度の値に関する前記の差がそれぞれ０よりある値だけ大きい場合には、カウンタが１だけ増加される。
【００９７】
ステップ９１０とステップ９１１は、一つの画像について色と輝度をそれぞれ合計し、分散を計算する。
【００９８】
各８フレーム毎に、ステップ９１２とステップ９１６からステップ９１８までで、瞬間ピクセル点が隅領域に位置し、ルーチンが基準ロゴを探している場合には、この瞬間ピクセル点が個別のメモリ領域に記憶される。
【００９９】
基準ロゴが既知である段階では、基準ロゴの領域内にあるピクセル点は個別のメモリ位置に書き込まれる。これはステップ９１２とステップ９１３からステップ９１５までで、各２０画面毎に発生する。
【０１００】
画像の最初の域を読み取った後、この画像がロゴ・メモリを重ね書きしない場合には、ロゴ情報はステップ９２１でサブルーチンに分岐することによって評価される。
【０１０１】
最初の域が読み込まれる場合には、ルーチンはステップ９０３に直接分岐して、ステップ９２３で第２域を読む。さもなければ、所定の値の画像差、輝度分散、及び輝度、並びに色分散が記憶され、変数は再び初期化される。
【０１０２】
基準ロゴを検出しなければならない段階では、ルーチンは時間的な理由で各８番目の画像のみを考慮する。ロゴの検出は、ビデオ・ユニットによって関連画像情報が供給されないような時間に発生する。画像から導き出された情報は傾斜フィルタで処理され、続いて拡大される。このような方法で得られた値は次の式で処理される。
old_value:=(old_value+new_value)/2
【０１０３】
この方法を１０回実行した後に、隅領域における隅に存在する暗黒値の周りの最小周辺矩形が決定される。十分なサイズを有するこのような矩形が確かに一隅に存在する場合には、これはロゴであると想定される。このような矩形または全く矩形でない対が存在する場合には、確実に一つの矩形が整合されるまで前のステップが繰り返される。決定された矩形の一つが見つかったばかりの部分の境界に近い場合には、この部分は拡大されて処理が繰り返される。
【０１０４】
少なくとも一つの矩形が見つかった場合には、構造の一つが探索されたロゴを表すと想定することができるので、変数logogram  similarityは８０％に設定される。
【０１０５】
この矩形が探索されたロゴを含むことをさらに確証するために、比較過程を実施する。この理由で、主張されるロゴと同一であると見ることのできる次の画像における構造を観察しなければならない。そうでない場合には、ロゴを見つける過程が繰り返される。
【０１０６】
ロゴ比較過程では、基準ロゴの最小周辺矩形内に存在する情報のみが分析される。読取りの後に、この情報は傾斜フィルタで処理され、拡大される。それから基準ロゴとの比較が行われ、類似の画像ピクセルが計数される。類似画像ピクセルの部分がパーセントで記憶される。
【０１０７】
画像プロセッサから制御プロセッサへの関連情報の伝送のために、次の関数が使用される。
Image_difference, output value: [0,1]
【０１０８】
これは、二つの連続するフレームの異なる画像ピクセルのパーセントをもたらす。
Brightness, output value: [0,1]
【０１０９】
これは、間隔[0,1] に正規化されたフレームの平均輝度をもたらす。
Brightness_variance, output value: [0,1]
【０１１０】
これは、完全フレームの輝度分布の分散をパーセントでもたらす。
Color_variance, output value: [0,1]
【０１１１】
これは、完全フレームの色分散の分散をパーセントでもたらす。
Logogram_difference, output value: [0,1]
【０１１２】
これは、瞬間的完全フレームの対応画像部分に対するエッジフィルタリングされた基準ロゴの異なる画像ピクセルのパーセントをもたらす。
【０１１３】
５．ＶＰＳ情報の使用
放送会社がＶＰＳ信号を発信する場合には、この情報を追加的にコマーシャルの自動検出に使用することができる。
【０１１４】
５．１  ＶＰＳ中断マーク
ＶＰＳ信号の指定では、実際のプログラムに属さないプログラム部分はＶＰＳ情報でマークされることが、考慮されている。したがって記録ユニットは、この部分の時に記録を中断することができる。ドイツのいくつかの放送会社は、コマーシャルによる中断をマークするためにこの可能性を使用している。ＶＰＳデコーダ３０７からこの情報を決定するために次の関数を使用することができる。
VPS_break, output value: 0,1
【０１１５】
これは、ＶＰＳデコーダ３０７が中断コードを表示する場合には０、さもなければ０をもたらす。
【０１１６】
５．２  ＶＰＳコード
プログラムの自動記録を可能にするために、これらのプログラムに伝送中に明白なコードを供給する。このコードが変化した場合には、これはプログラムの開始と終りに関する指示である。次の関数はデコーダ３０７から瞬間的ＶＰＳコードを取り出す。
VPS_code: output value: VPS_code
【０１１７】
これは、実際のＶＰＳコードをもたらす。
【０１１８】
次に、図１による分析方法のステップ５０６から５１６までをより詳細に説明するが、評価ユニットの情報は先に詳述したように正規化される。特にこれらは下記の通りである。
stereotone_pilot -> {0,1}
stereotone_vps -> {0,1}
two_channel_pilot -> {0,1}
two_channel_vps -> {0,1}
sound_level -> [0,1]
sound_level_deriv -> [-1,1]
channel_difference -> [0,1]
image_difference -> [0,1]
brightness -> [0,1]
brightness_var -> [0,1]
color_var -> [0,1]
logogram_difference -> [0,1]
vps_interrupt -> {0,1}
vps_code -> vps_code
【０１１９】
これらの関数の実際値から、時間による単一値の変化に関心が寄せられる。離散出力値を供給する関数について、最後の値変化が発生した時を決定する。時間単位は、完全フレームの伝送の継続時間として定義される。この理由で、データ形式「フレーム」が導入される。カウンタとメモリ位置が各関数について準備され、前のフレームにおける関数の値が記憶される。関数の新しい値がわかると、この値が古い値と比較される。両方が等しい場合には、それぞれのカウンタは１だけ増加される。さもなければ０に設定され、新しい値は記憶される。最後の値変化が発生した時を決定するために、次の関数が使用される。
stereotone_pilot_duration -> frames
stereotone_vps_duration -> frames
two_channel_pilot_duration -> frames
two_channel_vps_duration -> frames
vps_break_duration -> frames
vps_code_duration -> frames
【０１２０】
離散的ではない値については、値の単一の変化はそれほど重要ではなく、代わりに値の変化の方向、すなわち一次導関数が重要である。オーディオ信号については、この導関数は既に評価ユニットで生成されている。画像情報に関する値については、導関数は各画像の後に下記によって計算される。
dw = (new_value-old_value)
【０１２１】
時間間隔は確実に一種の画像（フレーム）であるから、分割は必要ではない。しかしさらなる処理のために、導関数の方向のみに、すなわち導関数が正か負か０かに興味が寄せられる。下記の三つの状態値が定義される。
deriv_pos: = dw > 0 + eps
deriv_null: = °dw° < = 0 + eps
deriv_neg: = dw < 0 - eps
【０１２２】
導関数の状態値を決定するために次の関数が定義される。
Audio_level_deriv_z -> {deriv_pos, deriv_0, deriv_neg}
brightness_deriv_z -> {deriv_pos, deriv_0, deriv_neg}
logogram_diff_deriv_z -> {deriv_pos, deriv_0, deriv_neg}
【０１２３】
さらに、いつ最後の変化が発生したかが、最後の導関数の値にとっては興味がある。次の関数が使用され、この進行処置は上記に似ている。
Audio_level_deriv_z_duration -> frames
brightness_deriv_z_duration -> frames
logogram_diff_deriv_z_duration -> frames
【０１２４】
これらの値すべてが存在する場合には、例えば、画像カットまたは画像フェージングが起こったかどうかを判定することが可能である。
【０１２５】
ほとんどの事象について、これらの最後の発生は評価に重要である。変数の第１セットの規則"logo_fade_in, logo_fade_out, sound_cut, black_image, image_break, image_fade_in, 及びimage_fade_out" の評価が結果として値"safe"になる場合には、それぞれのカウンタは" ０" に設定される。この値は、該当する変数が値"safe"または"possible"を有するかぎり、各画像（すなわちフレーム）の後に増分される。第２セット規則の評価については、次の変数が、これらの変数のカウンタ値に基づいて定義される。
logo_on
logo_off
sound_break_z
image_break_z
image_fade_in_z
image_fade_out_z
【０１２６】
変数に該当するそれぞれのカウンタの実際値は、ファジー化のために使用される。
【０１２７】
オーディオ形式の観察のためには、ステレオからモノへの変化及びその逆が興味がある。したがって、それぞれのカウンタは" ０" に設定され、さもなければ、変数"stereotone"の「確実」から「不確実」への変化またはその逆の変化の度に増分される。この変数の値は変数"mono_stereo" によってファジー化される。
【０１２８】
上記の関数は、テレビジョン信号における特徴の検出のための基礎を形成する。テレビジョン信号における特定の特徴はコマーシャル割込みと相関し、検出に使用可能である。しかしこれらの特徴のほとんどは言語で記載できるが、確実に定義されることはできない。
【０１２９】
しかし言語文脈をモデル化することが、ファジー・セットとファジー論理の助けによって可能である。定義されたファジー・セットと規定された量のファジー規則の前に入力値に基づいて出力が計算される、という方法が存在する。このような方法は「ファジー妨害の計算」と呼ばれることが多い。ここでは、このような方法は、それぞれの特徴が存在する確率のための尺度を準備するために使用され、これにより、第２の実行においてコマーシャルがあるか否かの確率のための尺度を得ることができる。ファジー妨害を効率的に計算することのできる特別な構成を有するマイクロコントローラが既に存在する。
【０１３０】
図１０ａ及び図１０ｂは、ファジー妨害を計算するための上記のような方法の流れ図を示す。任意の入力値をファジー値に変換するために、言語変数を定義する。各変数について異なった特徴すなわち特性を定義する。変数が特定の特性を有するか有しない周知のシステムとは反対に、異なった重みを有する特性を持つことは、言語変数には可能である。変数の特性すなわち特徴の重みは、間隔［０，１］の数によって与えられる。値０は変数がこの特徴を持っていないことを意味し、値１は変数がこの特徴を完全に持っていることを意味し、すなわち確率は１である。さらに言語変数は同時にいくつかの特性を持つことができる。値の特性への変換は、入力値の定義域を間隔［０，１］にマップするメンバーシップ関数を介して実施される。入力値へのメンバーシップ関数の使用はファジー化と呼ばれる。簡単にするために、台形を有するメンバーシップ関数を使用することが多く、ここで三角形と矩形も台形として認識される。少なくとも一つの値を１にマップする間隔［０，１］上の台形関数を、引数定義域で４つの値によって定義することができる。
【０１３１】
メンバーシップ関数のための４つの値ｘ1 、・・・ｘ4 が与えられた場合、所定の値ｘのためのメンバーシップ値を次のように計算することができる。
z = 0: x  μ x1  or x ・x4,
z = 1: x・x2 and x  μ x3
z = ( x - x1 )＊( x2 -x1 ) : x > x1 or x < x2
z = ( x - x3 )＊( x4 -x3 ) : x > x3 or x < x4
【０１３２】
メンバーシップ値の計算は、関数"fuzzy" によってステップ１０１３で実施される。言語変数は、その名称、メンバーシップ関数の引数定義域、１セットの特徴、及び各特徴に４つの値によって与えられるメンバーシップ関数によって定義される。ファジー・システムの内部変数及び出力変数もこの方法で特定される。この方法で使用される変数を付録に挙げる。
【０１３３】
言語変数の助けによって、規則を定式化することができ、規則は次の形を有する。
If [condition] then variable_x = feature_y
condition は（ＢＮＦ表示法）の形をとる。
[not]variable_a はfeature_b[{and°or}condition] である。
【０１３４】
ファジー妨害を計算するために、同じ変数の一つの部分に関する規則をステップ１００３ですべて集める。ステップ１００６〜１０２１で、ある規則の条件のための値を計算する。したがって、この条件で存在する変数すべてのための入力値は、上記の特徴に従ってメンバーシップ関数の助けによってファジー化される（ステップ１００３）。ファジー化の後に、演算子" ａｎｄ" 、" ｏｒ" 、または" ｎｏｔ" は単一変数のファジー値に適用される（ステップ１０１６〜１０２１）。ここで演算子は下記のように定義される。
a and b: <=> minimum (a,b)
a or b: <=> maximum (a,b)
not a: <=> 1 - a
【０１３５】
結果は条件のファジー値である。ステップ１００６〜１０２６は、それぞれ同じ右側変数を有する規則のすべてに適用される。特徴は一つの規則の右側変数に割り当てられる。メンバーシップ関数の面積と運動量は、ステップ１０２２〜１０２４において条件のファジー値によって乗算される。ｘ1 、・・・ｘ4 によって定義されるメンバーシップ関数の面積及び運動量は次のように計算される。
0003738483.tif 000002
【０１３６】
ステップ１０２７〜１０２９で、右側に同じ変数を有するすべての規則の値が合計される。運動量の和と面積の和の割り算は、結果的に変数の全体値となる（ステップ１０３０）。この方法は、規則の右側に現れる変数のすべてについて繰り返される（ステップ１０３２）。
【０１３７】
付録Ａ：言語変数
それぞれの特徴と測定された関数を有する言語変数を列挙する。使用される数値は浮動形式かフレーム形式である。フレーム形式の数は次の書式で書かれる。
mmm:ss:ff （分：秒：フレーム）
先行するゼロは明記しない。例えば０００：００：３０の代わりに：：３０
言語変数の定義のための書式はＢＮＦ表示法である。
0003738483.tif 000003
【０１３８】
入力変数
stereotone_pilot [0,1]: float
on: 0/0/0/0
off: 1/1/1/1
stereotone_vps [0,1]: float
on: 0/0/0/0
off: 1/1/1/1
two_channel_pilot [0,1]: float
on: 0/0/0/0
off: 1/1/1/1
two_channel_vps [0,1]: float
on: 0/0/0/0
off: 1/1/1/1
vps_break [0,1]: float
on: 0/0/0/0
off: 1/1/1/1
vps_present [0,1]: float
on: 0/0/0/0
off: 1/1/1/1
channel_differenz [0,1]: float
clear: 0/0/0,1/0,12
small: 0,1/0,12/0,2/0,25
medium: 0,2/0,25/1/1
sound_level [0,1]: float
very_soft: 0/0/0,1/0,12
soft: 0/0,2/0,3/0,4
medium: 0,25/0,4/0,6/0,75
loud: 0,6/0,7/0,8/1
very_loud: 0,88/0,9/1/1
sound_decrease [0,_]: frames
very_short: 0/0::25/::49
short: ::25/:1:00/:5:00/:10:00
medium: :4:00/:8:00/1:0:00/3:0:00
long: 1:0:00/3:0:00/_/_
sound_increase [0,_]: frames
very_short: 0/0/::25/::49
short: ::25/:1:00/:5:00/:10:00
medium: :4:00/:8:00/1:0:00/3:0:00
long: 1:0:00/3:0:00/_/_
sound_constant [0,_]: frames
very_short: 0/0/::25/::49
short: ::25/:1:00/:5:00/:10:00
medium: :4:00/:8:00/1:0:00/3:0:00
long: 1:0:00/3:0:00/_/_
image_difference [0,1]:float
clear: 0/0/0/0
medium: 0.1/0.25/0.7/0.75
small: 0.7/0.75/1/1
brightness [0,1]:float
very_bright: 0/0/0.05/0.1
bright: 0.05/0.15/0.3/0.5
medium: 0.25/0.35/0.65/0.75
dark:0.5/0.7/0.85/0.95
very_dark: 0.9/0.95/1/1
brightness_decrease [0,_]: frames
very_short: 0/0/::05/::10
short: ::05/::10/:20:/:1:00
medium: :0:20/:1:00/:2:00/:3:00
long: 0:2:00/0:4:00/_/_
brightness_increase [0,_]: frames
very_short: 0/0/::05/::10
short: ::05/::10/:20:/:1:00
medium: :0:20/:1:00/:2:00/:3:00
long: 0:2:00/0:4:00/_/_
brightness_constant [,_]: frames
very_short: 0/0/::05/::10
short: ::05/::10/:20:/:1:00
medium: :0:20/:1:00/:2:00/:3:00
long: 0:2:00/0:4:00/_/_
brightness_variance [0,1]: float
very_bright: 0/0/0.05/0.1
bright: 0.05/0.15/0.3/0.5
medium: 0.25//0.35/0.65/0.75
dark: 0.5/0.7/0.85/0.95
very_dark: 0.9/0.95/1/1
color_variance [0,1]: float
very_bright: 0/0/0.05/0.1
bright: 0.05/0.15/0.3/0.5
medium: 0.25/0.35/0.65/0.75
dark:0.5/0.7/0.85/0.95
very_dark: 0.9/0.95/1/1
logo_differenz [0,1]: float
small: 0/0/0.25/0.5
medium: 0.2/0.3/0.7/0.8
big: 0.5/0.75/1/1
logo_fade_out [0,_]: frames
very_short: 0/0/::05/::10
short: ::05/::10/:20:/:1:00
medium: :0:20/:1:00/:2:00/:3:00
long: 0:2:00/0:4:00/_/_
logo_fade_in [0,_]: frames
very_short: 0/0/::05/::10
short: ::05/::10/:20:/:1:00
medium: :2:20/:1:00/:2:00/:3:00
long: 0:2:00/0:4:00/_/_
logo_constant [0,_]: frames
very_short: 0/0/::05/::10
short: ::05/::10/:20:/:1:00
medium: :2:20/:1:00/:2:00/:3:00
long: 0:2:00/0:4:00/_/_
【０１３９】
中間結果のための変数
stereotone [0,1]: float
safe: 0/0/0.1/0.25
possible: 0.1/0.25/0.75/0.9
unsafe: 0.75/0.9/1/1
two_channel [0,1]: float
safe: 0/0/0.1/0.25
possible: 0.1/0.25/0.75/0.9
unsafe: 0.75/0.9/1/1
black_image [0,1]: float
safe: 0/0/0.1/0.25
possible: 0.1/0.25/0.75/0.9
unsafe: 0.75/0.9/1/1
sound_cut [0,1]: float
safe: 0/0/0.1/0.25
possible: 0.1/0.25/0.75/0.9
unsafe: 0.75/0.9/1/1
sound_fade_in [0,1]: float
safe: 0/0/0.1/0.25
possible: 0.1/0.25/0.75/0.9
unsafe: 0.75/0.9/1/1
sound_fade_out [0,1]: float
safe: 0/0/0.1/0.25
possible: 0.1/0.25/0.75/0.9
unsafe: 0.75/0.9/1/1
sound_break [0,1]: float
safe: 0/0/0.1/0.25
possible: 0.1/0.25/0.75/0.9
unsafe: 0.75/0.9/1/1
image_cut [0,1]: float
safe: 0/0/0.1/0.25
possible: 0.1/0.25/0.75/0.9
unsafe: 0.75/0.9/1/1
image_fade-out [0,1]: float
safe: 0/0/0.1/0.25
possible: 0.1/0.25/0.75/0.9
unsafe: 0.75/0.9/1/1
image_fade_in [0,1]: float
safe: 0/0/0.1/0.25
possible: 0.1/0.25/0.75/0.9
unsafe: 0.75/0.9/1/1
logo_fade_in [0,1]: float
safe: 0/0/0.1/0.25
possible: 0.1/0.25/0.75/0.9
unsafe: 0.75/0.9/1/1
logo_fade_out [0,1]: float
safe: 0/0/0.1/0.25
possible: 0.1/0.25/0.75/0.9
unsafe: 0.75/0.9/1/1
logo_off [0,_]: frames
now: ::0/::0/..3/::10
short: ::5/:1:05/:3:15/:5:0
medium: :4:0/:5:5/:40:0/2:4:0
long: 1:20:0/2:0:0/_/_
logo_on [0,_]: frames
now: ::0/::0/..3/::20
short: ::10/:54:0/:39:3/2:0:0
medium: 1:40:0/8:0:0/12:0:0/15:0:0
long: 10:0:0/16:31:5/_/_
mono_stereo: [0,1]: float
now: 1/1/1/1
image_break_z[0,_]: frames
now: ::0/::0/::3/::10
short: ::8/::20/:1:7/:4:0
long: :1:15/:20:0/:27:17/:34:0
very_long: :30:0/:40:0/:59:24/1:0:0
sound_break_z [0,_]: frames
now: ::0/::0/::3/::10
short: ::8/::20/:1:7/:1:17
long: :1:12/:2:1/:10:0/:10:0
image_fade_in_z [0,_]: frames
now: ::0/::0/::3/::12
short: ::6/::20/:1:7/:2:0
long: :1:12/:2:1/:10:0/:10:0
image_fade_out_z [0,_]: frames
now: ::0/::0/::3/::12
short: ::6/::20/:1:7/:2:0
long: :1:12/:2:1/:10:0/:10:0
【０１４０】
出力変数
commercials [0,1]: float
none 0/0/0.03/0.1
unlikely: 0.08/0.2/0.3/0.4
possible: 0.3/0.4/0.5/0.6
probable: 0.5/0.6/0.7/0.8
safe: 0.7/0.8/1/1
【０１４１】
付録Ｂ：ファジー規則
付録Ａの言語変数を用いて、次のファジー規則を定義することができる。
【０１４２】
第１組のファジー規則
if ((stereotone_pilot is on) and (not channel_difference is small)) then
stereotone := safe;
if ((stereotone_pilot is on) and (channel_difference is small)) then
stereotone := possible;
if ((stereotone_pilot is off) and (channel_difference is small)) then
stereotone := unsafe;
if ((stereotone_pilot is off) and (channel_difference is clear)) then
stereotone := safe;
if ((stereotone_pilot is off) and (channel_difference is medium)) then
stereotone := possible;
if ((stereotone_vps is on) and (not channel_difference is small)) then
stereotone := safe;
if ((stereotone_vps is on) and (channel_difference is small)) then
stereotone := possible;
if ((stereotone_vps is off) and (channel_difference is small)) then
stereotone := unsafe;
if ((stereotone_vps is off) and (channel_difference is clear)) then
stereotone := safe;
if ((stereotone_vps is off) and (channel_difference is medium)) then
stereotone := possible;
if ((two_channel_pilot is on) and (not channel_difference is small))
then two_channel := safe;
if ((two_channel_pilot is on) and (channel_difference is small)) then
two_channel := possible;
if ((two_channel_pilot is off) and (channel_doifference is small)) then
two_channel := unsafe;
if ((two_channel_pilot is off) and (channel_difference is clear)) then
two_channel := safe;
if ((two_channel_pilot is off) and (channel_difference is medium)) then
two_channel := possible;
if ((two_channel_vps is on) and (not channel_difference is small)) then
two_channel := safe;
if ((two_channel_vps is on) and (channel_difference is small)) then two_channel := possible;
if ((two_channel_vps is off) and (channel_difference is small)) then two_channel := unsafe;
if ((two_channel_vps is off) and (channel_difference is clear)) then two_channel := safe;
if ((two_channel_vps is off) and (channel_difference is medium)) then
two_channel := possible;
if ((brightness is very_dark) and (brightness_variance is very_large))
then black_image := safe;
if (((brightness is very_dark) or (brightness is dark)) and (brightness_variance is very_large))) then black_image := safe; if ((brightness is very_dark) and (brightness_variance is large)) then
black_image := possible;
if (((brightness is very_dark) or (brightness is dark)) and
(brightness_variance is large))) then black_image := possible;
if ((brightness is medium) and (brightness_variance is very_large)) then
black_image := possible;
if (((brightness is very_dark) or (brightness is dark)) and (brightness_variance is large))) then black_image := possible;if ((brightness_variance is medium) or (brightness_variance is small)
or(brightness_variance is very_small) then black_image := unsafe;
if (sound_increase is very_short) then sound_fade_in := unsafe;
if (sound_increase is short) then sound_fade_in := possible;
if (sound_increase is medium) then sound_fade_in := safe;
if (sound_increase is long) then sound_fade_in := possible;
if (sound_decrease is very_short) then sound_fade_in := unsafe;
if (sound_decrease is short) then sound_fade_in := possible;
if (sound_decrease is medium) then sound_fade_in := safe;
if (sound_decrease is long) then sound_fade_in := possible;
if (not sound_level is very_soft) then sound_break:= unsafe;
if ((sound_level is very_soft) and (not sound_constant is very_short))
then sound_break:= safe;
if ((sound_level is soft) and (not sound_constant is very_short)) then
sound_break:= possible;
if ((sound_level is very_soft) and ((sound_constant is medium) or
(sound_constant is long) then sound_break:= safe;
if (image_difference is clear) then image_cut := safe;
if ((image_difference is clear) or (image-difference is medium) then
image_cut := possible;
if (image_difference is small) then image_cut := unsafe;
if (brightness_increase is very_short) then image_fade_in := unsafe;
if (brightness_increase is short) then image_fade_in := possible;
if (brightness_increase is medium) then image_fade_in := safe;
if (brightness_increase is long) then image_fade_in := possible;
if (brightness_decrease is very_short) then image_fade_in := unsafe;
if (brightness_decrease is short) then image_fade_in := possible;
if (brightness_decrease is medium) then image_fade_in := safe;
if (brightness_decrease is long) then image_fade_in := possible;
if (logo_increase is very_short) then logo_fade_in := possible;
if ((logo_increase is short) or (logo_increase is medium) then logo_fade_in := safe;
if (logo_increase is long) then logo_fade_in := possible;
if (logo_decrease is very_short) then logo_fade_out := possible;
if ((logo_decrease is short) or (logo_decrease is medium) then logo_fade_out := safe;
if (logo_decrease is long) then logo_fade_out := possible;
【０１４３】
第２組のファジー規則
if (logo_off is now) and (sound_break_z is now) and (image_break_z is now) and (image_fade_in is possible) and (image_fade_in_z is now) then commercials := safe;
if (logo_off is short) and (sound_break_z is now) and (image_break_z is now) and (image_fade_in is possible) and (image_fade_in_z is now) then commercials := safe;
if (logo_off is medium) and (sound_break_z is now) and (image_break_z is now) and (image_fade_in is possible) and (image_fade_in_z is now) then commercials := safe;
if (logo_off is now) and (mono_stereo is now) then commercials := possible;
if (logo_off is short) and (mono_stereo is now) then commercials := possible;
if (logo_off is medium) and (mono_stereo is now) then commercials := possible;
if (logo_off is now) and (image_fade_out is safe) and (image_fade_out_z is short) and (image_fade_in is possible) and (image_fade_in_z is now) then commercials := probable;
if (logo_off is short) and (image_fade_out is safe) and (image_fade_out_z is short) and (image_fade_in is possible) and (image_fade_in_z is now) then commercials := probable;
if (logo_off is now) and (sound_break_z is short) and (image_break_z is short) then commercials := possible;
if (logo_off is short) and (sound_cut is long) and (sound_break_z is now) then commercials := possible;
if (logo_off is medium) and (sound_cut is long) and (sound_break_z is now) then commercials := possible;
if (logo_off is short) and (sound_cut is medium) and (sound_break_z is now) then commercials := possible;
if (logo_off is medium) and (sound_cut is medium) and (sound_break_z is now) then commercials := possible;
if (logo_off is medium) and (sound_cut is long) and (sound_break_z is now) and (image_break_z is now) then commercials := safe;
if vps_present is on then commercials := safe;
if (logo_off is short) and (image_cut is safe) and (image_fade_in is possible) and (sound_cut is safe) then commercials := safe;
if (logo_off is short) and (image_cut is possible) and (image_fade_in is possible) and (sound_cut is safe) then commercials := safe;
if (logo_off is medium) and (image_cut is safe) and (image_fade_in is possible) and (sound_cut is safe) then commercials := safe;
if (logo_off is medium) and (image_cut is possible) and (image_fade_in is possible) and (sound_cut is possible) then commercials := safe;
if (logo_off is long) and (image_cut is safe) and (image_fade_inis possible) and (sound_cut is safe) then commercials := safe;
if (logo_off is long) and (image_cut is possible) and (image_fade_in is possible) and (sound_cut is possible) then commercials := safe;
if (logo_on is now) then commercials := none;
if (logo_on is short) then commercials := none;
if (logo_on is medium) and (logo_off is large) then commercials := none;
if (logo_on is long) the commercials := none;
if (logo_off is long) and ((image_fade_in is safe) and (image_fade_in_z is now) then commercials := unlikely;
if (logo_off is long) and ((image_fade_in is safe) and ((image_cut is unsafe) and (sound_cut is unsafe))) then commercials := unlikely;
if (logo_off is long) and ((image_fade_in is possible) and ((image_cut is unsafe) and (sound_cut is unsafe))) then commercials := unlikely;
if (image_break is very_long) and (logo_off is long) then
commercials := unlikely;
if (two_channel is safe) then commercials := none;
【図面の簡単な説明】
【図１】テレビジョン及びビデオ記録システム内のＣＤＳの組込みを示す図である。
【図２】独立型としてのＣＤＳを示す図である。
【図３】ＣＤＳ回路の概略図である。
【図４】上記のＣＤＳの制御ルーチンを示す図である。
【図５ａ】ルーチン「リアルタイム分析」の流れ図である。
【図５ｂ】ルーチン「リアルタイム分析」の流れ図である。
【図６ａ】ルーチン「精密分析」の流れ図である。
【図６ｂ】ルーチン「精密分析」の流れ図である。
【図７】ルーチン「位置による再生」の流れ図である。
【図８】プログラム「マークによる再生」の流れ図である。
【図９ａ】ビデオ分析の流れ図である。
【図９ｂ】ビデオ分析の流れ図である。
【図１０ａ】ファジー・アルゴリズムの流れ図である。
【図１０ｂ】ファジー・アルゴリズムの流れ図である。
【符号の説明】
１０１  ＣＤＳ（コマーシャル検出システム）
１０２  ビデオ・スイッチ
１０３  ビデオ・スイッチ
１０４  チューナ
１０５  入力信号
１０６  再生電子装置
１０７  記録システム
１０８  中央制御機構
１０９  中央制御バス
２０１  記録ユニット
２０２  ＣＤＳ
２０３  端末
２０４  第２端末
２０６  操作エレメント
２０７  第２操作エレメント
２０８  バーコード・リーダ
３０１  マイクロコントローラ
３０２  マイクロコントローラ
３０３  マイクロコントローラ、ファジー・コントローラ
３０４  データ・メモリ
３０５  メモリ
３０６  ビデオ・ユニット
３０７  ＶＰＳデコーダ
３０８  オーディオ・デコーダ
３０９  コントロール・バス
３１０  垂直同期信号
３１１  データ・バス
３１２  画像メモリ
３１３  画像データ・バス
３１４  ディジタル信号処理ユニット
３１５  接続線
３１６  コネクタ
３１７  接続線
３１８  同期信号
３１９  Ｒ／Ｄコンバータ
【図１】
0003738483.tif 000004
【図２】
0003738483.tif 000005
【図３】
0003738483.tif 000006
【図４】
0003738483.tif 000007
【図５ａ】
0003738483.tif 000008
【図５ｂ】
0003738483.tif 000009
【図６ａ】
0003738483.tif 000010
【図６ｂ】
0003738483.tif 000011
【図７】
0003738483.tif 000012
【図８】
0003738483.tif 000013
【図９ａ】
0003738483.tif 000014
【図９ｂ】
0003738483.tif 000015
【図１０ａ】
0003738483.tif 000016
【図１０ｂ】
0003738483.tif 000017