(57)【要約】【課題】処理時間の短縮をはかることができるセクションデータフィルタリング装置および制御方法を提供すること。【解決手段】セクションデータフィルタリング装置は、入力バッファ１０１と、セクションデータを識別する識別情報を記録するコマンドリストテーブル１０７と、識別情報に基づき、入力バッファ１０１から抽出された対象データを格納するセクションバッファ１０３と、該対象データと、パターンメモリ１０４に格納されているパターンデータと、を比較する比較器１０５と、制御回路１０２と、コマンドリスト制御回路１０８を有する。制御回路１０２は、入力バッファ１０１から識別情報をコマンドリストテーブル１０７に記録するよう制御する。コマンドリスト制御回路１０８は、制御回路１０２における処理と並行して、対象データをセクションバッファ１０３に格納する処理及び比較器１０５による比較処理を行うよう制御する。【選択図】図１
2011188259.tif 000002
【特許請求の範囲】
【請求項１】
デジタルデータが格納されている入力バッファと、
前記デジタルデータに内包されるセクションデータを識別する識別情報を記録するコマンドリストテーブルと、
前記コマンドリストテーブルに記録された前記識別情報に基づき、前記入力バッファの前記セクションデータから抽出された対象データを格納するセクションバッファと、
前記セクションバッファに格納された対象データと、パターンメモリに格納されているパターンデータと、を比較する第１の比較器と、
前記入力バッファに格納されたデジタルデータから前記識別情報を前記コマンドリストテーブルに記録するよう制御する制御回路と、
前記制御回路における処理と並行して、前記対象データを前記セクションバッファに格納する処理及び前記第１の比較器による比較処理を行うよう制御するコマンドリスト制御回路と、を備える、
セクションデータフィルタリング装置。
【請求項２】
前記識別情報は、前記第１の比較器による比較が行われたか否かを判定するフラグを有し、
前記フラグに応じて次に前記第１の比較器において比較処理を行う対象データを決定する、
請求項１に記載のセクションデータフィルタリング装置。
【請求項３】
前記コマンドリスト制御回路は、前記第１の比較器による比較結果に基づき、前記識別情報にデジタルデータの出力先の出力先アドレスを対応付ける、
請求項１または請求項２に記載のセクションデータフィルタリング装置。
【請求項４】
前記第１の比較器による比較結果を保持する結果保持回路をさらに備え、
前記コマンドリストテーブルは、前記結果保持回路に保持された比較結果に基づいて前記コマンドリストテーブルの出力先アドレスの更新を行う、
請求項３に記載のセクションデータフィルタリング装置。
【請求項５】
出力バッファをさらに備え、
前記入力バッファに格納されたデータは、前記識別情報に記録された出力先アドレスに基づいて、前記出力バッファにおける出力先を決定する、
請求項１乃至請求項４のいずれか１項に記載のセクションデータフィルタリング装置。
【請求項６】
前記パターンメモリに保持されたパターンデータの一部を保持するテンポラリパターンメモリと、
前記テンポラリパターンメモリに保持されたパターンデータを用いて前記対象データとの比較を行う第２の比較器と、をさらに備える、
請求項１乃至請求項５のいずれか１項に記載のセクションデータフィルタリング装置。
【請求項７】
前記デジタルデータは、ＴＳ（Transfer Stream）パケットを含むデータである、
請求項１乃至請求項６のいずれか１項に記載のセクションデータフィルタリング装置。
【請求項８】
デジタルデータに内包されるセクションデータを識別する識別情報を記録する処理と、
前記記録する処理と並行して、前記識別情報に基づきセクションデータの一部を対象データとして抽出し、前記対象データと、パターンメモリに格納されているパターンデータとを比較する処理を行う、
セクションデータフィルタリング装置の制御方法。
【請求項９】
前記識別情報は、前記比較処理が行われたか否かに基づいてフラグを設定し、
前記フラグに応じて次に比較処理を行う対象データを決定する、
請求項８に記載のセクションデータフィルタリング装置の制御方法。
【請求項１０】
前記比較結果に基づき、前記識別情報にデジタルデータの出力先の出力先アドレスを対応付ける、
請求項８または請求項９に記載のセクションデータフィルタリング装置の制御方法。
【請求項１１】
前記比較結果を一時的に保持し、前記一時的に保持された比較結果に基づいて前記コマンドリストテーブルの出力先アドレスの更新を行う、
請求項１０に記載のセクションデータフィルタリング装置の制御方法。
【請求項１２】
前記識別情報に記録された出力先アドレスに基づいて、出力バッファにおける出力先を決定する、
請求項８乃至請求項１１のいずれか１項に記載のセクションデータフィルタリング装置の制御方法。
【請求項１３】
前記パターンメモリに保持されたパターンデータの一部がテンポラリパターンデータとしてテンポラリパターンメモリに保持され、
前記パターンメモリの前記パターンデータと前記対象データとを比較し、
前記テンポラリパターンメモリの前記テンポラリパターンデータと前記対象データとを比較する、
請求項８乃至請求項１２のいずれか１項に記載のセクションデータフィルタリング装置の制御方法。
【請求項１４】
前記デジタルデータは、ＴＳ（Transfer Stream）パケットを含むデータである、
請求項８乃至請求項１３のいずれか１項に記載のセクションデータフィルタリング装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、セクションデータフィルタリング装置および制御方法に関する。
【背景技術】
【０００２】
デジタル放送の受信装置は、複数の番組や番組情報また視聴制限情報などが多重化されたストリームデータより必要な情報のみを抽出するフィルタリング機能を搭載している。このフィルタリング機能によって、受信装置では特定の番組を視聴や録画を行うことができる。
【０００３】
しかしながら、配信番組の高画質化や録画媒体の多様化、ネットワーク配信などの配信形態の多様化を背景に、デジタル放送の受信装置には、高機能化、高性能化が求められている。一方でデジタル放送の普及に伴い、受信装置の低コスト化の実現が重要となる。そこで、受信装置の回路規模を抑えながら、効率的にフィルター機能を高性能化することが課題となっている。
【０００４】
特許文献１では、セクションフィルタリング装置に関する技術が開示されている。図１０は、セクションフィルタリング装置の構成を示すブロック図である。
【０００５】
セクションフィルタリング装置は、入力バッファ１００１と、制御回路１００２と、セクションバッファ１００３と、パターンメモリ１００４と、比較器１００５と、結果保持回路１００６と、テンポラリパターンメモリ１００７と、出力バッファ１００８と、比較器１００９を備える。
【０００６】
制御回路１００２は、入力バッファ１００１の中からセクションの先頭をサーチして、対象データを抽出する。制御回路１００２は、抽出した対象データをセクションバッファ１００３に格納して、比較器１００５または比較器１００９において、パターンメモリ１００４中のパターンデータとの比較を行う。先頭のセクション１の処理を行う場合には、比較器１００５を使用する。
【０００７】
セクションバッファ１００３に格納された対象データと、パターンメモリ１００４より読み出したパターンデータとの比較を順次行う。このとき、パターンメモリ１００４より読み出したデータのうち、偶数番目のパターンデータを読み出す時は、テンポラリパターンメモリ１００７にデータを書き出しておく。
【０００８】
これを繰り返し行い、セクション１の比較が完了するときには、テンポラリパターンメモリ１００７には全ての偶数番目のパターンデータが格納される。
【０００９】
セクション２以降の比較動作では、比較器１００５と比較器１００９の２つの比較器を使用する。比較器１００５はパターンメモリ１００４より奇数番目のパターンデータを読み出して比較を行う。比較器１００９はテンポラリパターンメモリ１００７に保持されている偶数番目のパターンデータを読み出して比較を行う。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００４−１４０５２０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら特許文献１に開示されている技術では、セクションの先頭アドレスのサーチ処理とセクションバッファ中のデータとパターンデータとの比較処理の２つの処理をシーケンシャルに実施する点において、時間的損失が生じるという課題があった。
すなわち、比較器１００５、比較器１００９は比較動作中のセクションバッファ１００３を参照する為に、制御回路１００２はセクションバッファ１００３の更新が可能になるまで次回の処理をウェイトする必要があり、比較器１００５、比較器１００９は、セクションバッファ１００３が確定するまでは停止状態となる。すなわち、セクションバッファ１００３の更新が完了すると、比較器１００５および比較器１００９において、比較処理が開始される。したがって、比較器１００５および比較器１００９の停止状態の期間が時間的損失分として生じ、比較回数とともに蓄積されるようになっていた。
【課題を解決するための手段】
【００１２】
本発明の第１の態様にかかるセクションデータフィルタリング装置は、デジタルデータが格納されている入力バッファと、前記デジタルデータに内包されるセクションデータを識別する識別情報を記録するコマンドリストテーブルと、前記コマンドリストテーブルに記録された前記識別情報に基づき、前記入力バッファの前記セクションデータから抽出された対象データを格納するセクションバッファと、前記セクションバッファに格納された対象データと、パターンメモリに格納されているパターンデータと、を比較する第１の比較器と、前記入力バッファに格納されたデジタルデータから前記識別情報を前記コマンドリストテーブルに記録するよう制御する制御回路と、前記制御回路における処理と並行して、前記対象データを前記セクションバッファに格納する処理及び前記第１の比較器による比較処理を行うよう制御するコマンドリスト制御回路と、を備える。
【００１３】
本発明の第２の態様にかかるセクションデータフィルタリング装置の制御方法は、デジタルデータに内包されるセクションデータを識別する識別情報を記録する処理と、前記記録する処理と並行して、前記識別情報に基づきセクションデータの一部を対象データとして抽出し、前記対象データと、パターンメモリに格納されているパターンデータとを比較する処理を行う、セクションデータフィルタリング装置の制御方法である。
【００１４】
入力バッファに格納されたデジタルデータから識別情報をコマンドリストテーブルに記録する処理と、セクションバッファ中の対象データとパターンメモリ内のパターンデータとの比較処理を、短時間で実行することが可能になる。その結果、セクションフィルタリング装置の処理効率の向上が実現できる。
【発明の効果】
【００１５】
処理時間の短縮をはかることができるセクションデータフィルタリング装置および制御方法を提供する。
【図面の簡単な説明】
【００１６】
【図１】実施の形態１にかかるセクションデータフィルタリング装置の構成を示すブロック図である。
【図２】実施の形態１にかかるＴＳパケット構造を示す図である。
【図３】実施の形態１にかかるセクションデータフィルタリング装置の詳細な構成を示す図である。
【図４】実施の形態１にかかるコマンドリストテーブルの構成を示す図である。
【図５】実施の形態１にかかるセクションフィルタリング機能を示す概念図である。
【図６】実施の形態１にかかるセクションフィルタリング処理のフロー図である。
【図７】実施の形態１にかかるセクションフィルタリング処理のフロー図である。
【図８】実施の形態１にかかるセクションフィルタリング処理のタイミング図である。
【図９】実施の形態２にかかるセクションデータフィルタリング装置の構成を示すブロック図である。
【図１０】関連するセクションフィルタリング装置の構成を示すブロック図である。
【発明を実施するための形態】
【００１７】
実施の形態１
以下、図面を参照して本実施の形態について説明する。図１は本実施の形態におけるセクションデータフィルタリング装置の構成を示したブロック図である。
【００１８】
セクションデータフィルタリング装置は、入力バッファ１０１と、制御回路１０２と、セクションバッファ１０３と、パターンメモリ１０４と、比較器１０５と、結果保持回路１０６と、コマンドリストテーブル１０７と、コマンドリスト制御回路１０８と、出力バッファ１０９と、を備えている。
【００１９】
入力バッファ１０１には、複数のＴＳ(Transport Stream)パケットが格納されている。図２は、デジタル放送の送受信に用いられるＴＳパケットの構造である。ＴＳパケットは、４バイトのＴＳヘッダと、１８４バイトのペイロードと、を備える。ペイロードは、ポインターフィールドと、テーブルデータと、を備える。テーブルデータは複数のテーブルＩＤと、複数のセクションと、スタッフィングバイトと、を備える。
それぞれのＴＳパケットには複数のセクションが内包されている。複数のセクションにはそれぞれメモリアドレスが割り振られている。
【００２０】
制御回路１０２は、入力バッファ１０１に格納されているＴＳパケット中の各セクションデータの先頭アドレスを抽出し、抽出した先頭アドレスをコマンドリストテーブル１０７に記録するよう制御を行う。コマンドリストテーブル１０７には、後述する通り、出力先を示すＩｎｄｅｘ情報が含まれている。コマンドリストテーブル１０７に関しては、後述する。
【００２１】
セクションバッファ１０３には、入力バッファ１０１に格納されているセクションの、先頭のＮバイトのデータ（対象データ）が一時的に格納される。この対象データは、入力バッファ１０１からコマンドリストテーブル１０７に記録された先頭アドレスに基づいて抽出される。この対象データは、比較器１０５における比較処理に使用される。
【００２２】
パターンメモリ１０４には、セクションバッファ１０３に格納された対象データと比較を行うための、複数のパターンデータが格納されている。パターンメモリ１０４に格納されている各パターンデータは、例えば、セクションバッファ１０３に格納された対象データと同じＮバイトのデータである。このパターンデータは、比較器１０５に読み込まれる。
【００２３】
比較器１０５は、セクションバッファ１０３から読み込まれた対象データと、パターンメモリ１０４から読み込まれたパターンデータとの比較を順番に行う。これにより、対象データと一致したパターンデータの番号と、パターンデータ番号に紐づくＩｎｄｅｘ情報が結果保持回路１０６に出力される。なおＩｎｄｅｘ情報は、パターンデータ番号に対応するデータが格納されている、出力バッファ上のアドレスを示している。
【００２４】
結果保持回路１０６は、比較器１０５による比較結果を保持する。これにより、対象データと一致したパターンデータに対応するＩｎｄｅｘ情報が結果保持回路１０６に保持される。また、結果保持回路１０６は、コマンドリスト制御回路１０８に比較完了の通知を行う。
【００２５】
コマンドリスト制御回路１０８は、コマンドリストテーブル１０７内の対象データの管理と、比較器１０５による比較開始タイミングを制御する。また、コマンドリスト制御回路１０８は、結果保持回路１０６に保持されている比較結果をコマンドリストテーブル１０７に反映する。すなわちコマンドリスト制御回路１０８は、結果保持回路１０６に保持されているＩｎｄｅｘ情報を、コマンドリストテーブル１０７に書き込む。
【００２６】
出力バッファ１０９には、入力バッファ１０１から出力された複数のセクションデータや結果データが格納される。ここで、制御回路１０２は、コマンドリストテーブル１０７に記録されている内容を参照し、入力バッファ１０１から、出力バッファ１０９へセクションデータを転送するよう制御を行う。具体的には、制御回路１０２は、コマンドリストテーブル１０７に記録されている先頭アドレスを参照して入力バッファ１０１からセクションデータを抽出し、Ｉｎｄｅｘ情報を参照して送信先の出力バッファ１０９のアドレスを決定して、セクションデータの転送を行う。
【００２７】
次に、図３を用いて、比較処理において参照されるコマンドリストテーブル１０７について説明する。図３は本実施の形態におけるセクションデータフィルタリング装置の詳細な構成を示した図である。なお、図３では、図１で示した一部の構成（制御回路１０２及び出力バッファ１０９）に付いて省略している。
【００２８】
図３に示すように、コマンドリストテーブル１０７には、各コマンド（ＣＯＭ＃０〜＃ｎ）に対してアドレス情報（アドレス＃０〜アドレス＃ｎ）と制御情報とが対応付けられて格納されている。アドレス情報は、セクションデータの先頭アドレスに対応する。先頭アドレスはＴａｂｌｅＩＤである。セクション＃０からアドレス＃０が抽出され、セクション＃１からアドレス＃１が抽出される。抽出されたアドレス情報は、セクションデータ毎に異なるコマンドに対応づけられて、コマンドリストテーブル１０７に格納される。従って、ＣＯＭ＃０にはアドレス＃０が紐付けられ、ＣＯＭ１にはアドレス＃１が紐付けられる。従って、アドレス情報を参照することで、各コマンドに対応するセクションデータが識別される。このアドレス情報は、例えば、セクションデータを出力バッファに転送する際に参照される。
【００２９】
また、図４に示されるように、各コマンドには、制御情報が付加されている。制御情報には、許可フラグ５０１と、Ｉｎｄｅｘ情報５０２と、が含まれる。許可フラグ５０１は、セクションバッファ１０３への書き出しを制御するために設けられている。許可フラグ５０１がアクティブのときはセクションバッファ１０３への書き出しが許可され、非アクティブのときはセクションバッファ１０３への書き出しが禁止される。
セクションバッファ１０３への書き出しが終了すると、許可フラグ５０１はアクティブ状態から非アクティブ状態となる。したがって、そのコマンドに対応する対象データの書き出しが制限される。
例えば、ＣＯＭ＃１の許可フラグ５０１がアクティブであれば、セクション＃１の対象データが書き出し可能となっていることを示す。
【００３０】
Ｉｎｄｅｘ情報５０２は、出力バッファ１０９における出力先のアドレスを指定するためのものである。Ｉｎｄｅｘ情報５０２は、比較結果に応じて設定される。より具体的には、比較処理終了後、比較処理の対象である対象データと一致したパターンの番号によって、Ｉｎｄｅｘ情報が付加される。
例えば、ＣＯＭ＃１のアドレス情報５０３に基づいて抽出された対象データが、図３に示すように、比較処理においてパターンＣと一致したものとする。このとき、パターンＣはＩｎｄｅｘ＃２と紐づけられている。したがって、ＣＯＭ＃１のＩｎｄｅｘ情報５０２には、Ｉｎｄｅｘ＃２が記録される。
【００３１】
出力バッファ１０９に出力する際は、コマンドに紐付けられたアドレス情報５０３を参照して、入力バッファ１０１から出力するセクションデータを決定し、Ｉｎｄｅｘ情報５０２を参照して、出力バッファ１０９における出力先アドレスを決定する。図３及び図４に示したように、コマンドリストテーブル１０７は、コマンド＃０〜＃ｎ毎に、異なる制御情報とアドレス情報が紐付けられたテーブルとなる。すなわち、コマンドリスト制御回路１０８がコマンドリストテーブル１０７を参照して、入力バッファ１０１から出力バッファ１０９へのセクションデータの転送を制御する。
【００３２】
図５を用いて、入力バッファ１０１のデータを出力バッファ１０９に書き出す処理に付いて説明する。図５は、図２に示したＴＳパケットからセクション＃１のデータを抽出する場合のセクションフィルタリング装置の動作例である。なお、図５では、図１で示した一部の構成（例えば、制御回路１０２、コマンドリスト制御回路１０８、及び結果保持回路１０６）に付いて省略している。
セクションバッファ１０３は、コマンドリストテーブル１０７に記録されたアドレス情報を参照して、入力バッファ１０１中の比較対象のＮバイトのデータを一時的に保持する。比較器１０５は、セクションバッファ１０３に保持されたデータを、パターンメモリ１０４中の複数のパターンデータと順次、比較を行う。なお典型的には、比較対象のＮバイトのデータは、テーブルＩＤを含むセクションデータの一部である。
【００３３】
比較の結果、例えばＩｎｄｅｘ＃２のパターンＣと一致した場合には、入力バッファ１０１中のセクション＃１を出力バッファ１０９内のＩｎｄｅｘ＃２と関連付けたバッファへ出力する。すなわち、Ｉｎｄｅｘ＃２に対応する出力バッファ１０９の出力先に、セクション＃１が書き出される。例えばＩｎｄｅｘ＃２は、出力バッファ１０９のメモリ上のアドレスを示している。
このようにして、受信装置は、特定の種類のセクションを抽出および分類することができる。
【００３４】
次に、本実施の形態にかかるセクションデータフィルタリング装置の動作について説明する。ここでは、図２に示したＴＳパケット構造から、セクション＃１を抽出する場合の例について説明する。
【００３５】
図６は、本実施の形態にかかるセクションデータフィルタリング回路が、入力バッファ中のデータをサーチする際の処理フローである。
【００３６】
制御回路１０２は、入力バッファ１０１中のセクションデータの先頭アドレスのサーチを行う（ステップＳ２０１）。すなわち、ＴＳパケット中のセクション＃０〜＃ｎの先頭位置のアドレスをサーチする。
ここで、サーチ対象となるセクションが見つからない場合には入力バッファ１０１中のセクションデータの先頭アドレスをサーチする処理を終了する（ステップＳ２０２でＮｏ）。
【００３７】
サーチ対象となるセクションデータが見つかった場合には（ステップＳ２０２でＹＥＳ）、コマンドリストテーブル１０７にアドレス情報５０３に抽出する（ステップＳ２０３）。例えば、セクション＃１の先頭アドレスがアドレス情報５０３として、コマンドリストテーブル１０７に格納される。また、登録したアドレス情報５０３に紐づく許可フラグ５０１をアクティブ状態に設定する（ステップＳ２０４）。その後ステップＳ２０１に戻り、処理を繰り返し行う。このようにして、ＴＳパケット＃０〜＃ｎのアドレス情報が、コマンドリストテーブル１０７に順番に格納されていく。なお、制御回路１０２は、ステップＳ２０１〜ステップＳ２０４の処理を、入力バッファ１０１内に未処理のデータがなくなるまで繰り返す。
【００３８】
図７は、本実施の形態にかかるセクションデータフィルタリング装置が、入力バッファ中のデータをサーチ後、データの転送を開始するまでの処理フローである。なお、図７に示した処理フローは、図６に示したステップＳ２０１〜ステップＳ２０４の処理フローと独立して並行に処理を行う。
【００３９】
コマンドリスト制御回路１０８は、コマンドリストテーブル１０７の許可フラグ５０１をサーチし（ステップＳ２０５）、許可フラグ５０１がアクティブ状態となっているもの検出する（ステップＳ２０６）。許可フラグ５０１がアクティブ状態のものが検出されない場合には処理を繰り返し（ステップＳ２０６でＮＯ）、許可フラグ５０１がアクティブ状態のものが出現するまで待ち合わせる。
【００４０】
コマンドリスト制御回路１０８は、許可フラグ５０１を参照して比較処理が完了していないものをサーチする。
許可フラグ５０１がアクティブ状態のものが検出された場合には（ステップＳ２０６でＹＥＳ）、検出された対象データのアドレス情報を読み出す（ステップＳ２０７）。ここで例えば、ＣＯＭ＃０の許可フラグ５０１がアクティブであり、コマンドリスト制御回路１０８によりＣＯＭ＃０が検出されると、アドレス＃０が読みだされる。
【００４１】
すなわちＣＯＭ＃０のアドレス＃０が読み出された場合、コマンドリスト制御回路１０８は読み出されたアドレス＃０に基づいて、入力バッファ１０１中のセクション＃０から、対象データをセクションバッファ１０３に書き出す（ステップＳ２０８）。なお、セクション＃０の先頭のＮバイトが、対象データとしてセクションバッファ１０３に格納される。また、コマンドリストテーブル１０７において、ＣＯＭ＃０及びアドレス＃０と紐づく許可フラグ５０１を、非アクティブ状態に設定する（ステップＳ２０９）。
【００４２】
比較器１０５は、セクションバッファ１０３の更新を検出すると、比較処理を開始する（ステップＳ２１０）。セクションバッファ１０３の対象データと、パターンメモリ１０４のパターンＡ〜パターンＸを順次比較する。これにより比較器１０５が比較処理を行う（ステップＳ２１１）。一致するパターンが無い場合は、全てのパターンと比較する。
【００４３】
比較器１０５は、パターンメモリ１０４のパターンデータとの比較が終了したら、比較結果が一致しているか否かを判定する（ステップＳ２１２）。すなわち、比較処理において、対象データと一致するパターンがあるか否かを判定する。一致するパターンがある場合には、比較結果が一致したパターンメモリ１０４のＩｎｄｅｘ番号を、結果保持回路１０６に保持する（ステップＳ２１２で一致）。コマンドリスト制御回路１０８は、結果保持回路１０６に保持されたＩｎｄｅｘ番号を、コマンドリストテーブル１０７のＩｎｄｅｘ情報５０２に書き出す（ステップＳ２１３）。
なお比較器１０５は、比較処理が終了した場合には、コマンドリスト制御回路１０８に比較処理の完了の通知を行う。
【００４４】
比較器１０５による比較において、比較結果が一致しなかった場合には、ステップＳ２０５に戻り処理を繰り返す（ステップＳ２１２で不一致）。これにより許可フラグ５０１をサーチして、比較が行われていないセクションデータから次の対象データが抽出される。そして、次の対象データに対して上記の比較処理を実行する。すなわち、コマンドリスト制御回路１０８は、コマンドリストテーブル１０７の許可フラグ５０１がアクティブ状態のものをサーチし、比較処理サイクルを繰り返す。
【００４５】
コマンドリストテーブル１０７のアドレス情報５０３とＩｎｄｅｘ情報５０２に基づき、入力バッファ１０１中のセクションデータを出力バッファ１０９へ転送する（ステップＳ２１４）。すなわち制御回路１０２は、コマンドリストテーブル１０７のアドレス情報５０３を参照して入力バッファ１０１中のセクションデータを抽出する。さらに、コマンドリストテーブル１０７のＩｎｄｅｘ情報５０２を参照して出力バッファ１０９の転送先を決定する。例えば、Ｉｎｄｅｘ情報５０２に基づいて、出力バッファ１０９におけるメモリアドレスが指定されている。
【００４６】
転送開始後は、ステップＳ２０５に戻り処理を繰り返す。これにより許可フラグ５０１をサーチして、比較が行われていないセクションデータから次の対象データが抽出される。そして、次の対象データに対して上記の比較処理を実行する。すなわち、コマンドリスト制御回路１０８は、引き続きコマンドリストテーブル１０７の許可フラグ５０１がアクティブ状態のものをサーチし、比較処理サイクルを繰り返す。
したがって、入力バッファ１０１に格納されたデジタルデータから識別情報をコマンドリストテーブル１０７に記録する処理と、対象データをセクションバッファ１０３に格納して比較器１０５により比較を行う処理とを、それぞれ独立して実行することができる。具体的には、ステップＳ２１０、ステップＳ２１１における比較処理の間でも、制御回路１０２がステップＳ２０１〜ステップＳ２０４の入力バッファサーチ処理を行うことができる。
【００４７】
図８は、本実施の形態にかかるセクションフィルタリング処理のタイミングの一例を示している。
ここで図８では上から順に、入力バッファサーチ処理をＳ１、コマンド作成処理をＳ２、許可フラグの有効期間をＳ３、セクションバッファ更新処理をＳ４、比較処理をＳ５、Ｉｎｄｅｘ情報に関する処理をＳ６、先頭アドレスに関する処理をＳ７、出力データに関する処理をＳ８、として、示している。
入力バッファサーチ処理（Ｓ１）と、コマンド作成処理とＳ２は、制御回路１０２により行われる。また、セクションバッファ更新処理（Ｓ４）と、Ｉｎｄｅｘ情報に関する処理（Ｓ６）は、コマンドリスト制御回路１０８により行われる。
【００４８】
まず、制御回路１０２がセクションデータのサーチ（Ｓ１）を行う。ここでセクション＃０が抽出されるものとする。
【００４９】
Ｔ０において制御回路１０２は、抽出されたセクションデータに基づくコマンドを作成する（Ｓ２）。ここで、セクション＃０に基づくＣＯＭ＃０のコマンド作成するものとする。コマンド作成処理では、コマンドリストテーブル１０７にアドレス情報を記録し、かつ、許可フラグ５０１をアクティブ状態にする。例えば制御回路１０２は、コマンドリストテーブル１０７において、ＣＯＭ＃０に対応するアドレス＃０をアドレス情報５０３に格納し、ＣＯＭ＃０に対応する許可フラグ５０１をアクティブ状態とする。
ここで、コマンドリストテーブル１０７における許可フラグ５０１のサーチ処理は常に行われており、Ｔ０〜Ｔ１の間においても行われる。
【００５０】
Ｔ１において、コマンドリスト制御回路１０８は、許可フラグ（Ｓ３）をアクティブ状態にする。
許可フラグ（Ｓ３）がＨｉｇｈ状態の期間は、サーチによって抽出されたアクティブ状態の許可フラグ５０１が有効となっている期間を示している。ここで有効となっている期間とは、セクションバッファを更新する期間である。Ｔ１〜Ｔ２において、許可フラグ（Ｓ３）をＨｉｇｈ状態とする。
これにより、セクション＃０に関する比較処理が以下のように実行される。セクションバッファ１０３の更新処理を行う（Ｓ４）。すなわち、入力バッファ１０１のセクション＃０の先頭のＮバイトが対象データとしてセクションバッファ１０３に書き込まれる。
このとき制御回路１０２では、ＣＯＭ＃０のコマンド作成の終了後、セクション＃１の入力バッファサーチ処理を開始する（Ｓ１）。すなわち、次に比較処理が実行されるセクションをサーチする。
またこのとき、ＣＯＭ＃０に対応するアドレス＃０が記録される（Ｓ７）。すなわち、どのアドレス情報を有するコマンドについての処理が実行されているかを記憶する。典型的には、コマンドリストテーブル１０７において、処理が実行されているコマンドが記憶されている。
【００５１】
Ｔ２において、セクションバッファの更新処理（Ｓ４）を終了する。同時に、許可フラグ（Ｓ３）を非アクティブ状態とする。具体的には、コマンドリストテーブル１０７に格納されているアドレス情報５０３を参照して、入力バッファ１０１から抽出したセクションバッファの一部を、セクションバッファ１０３に対象データとして格納する処理を停止する。また、セクションバッファ１０３の更新に用いたＣＯＭ＃０の許可フラグ５０１を非アクティブ状態にする。
セクションバッファ１０３の更新処理が終了すると、比較器１０５は、セクションバッファ１０３の対象データと、パターンメモリ１０４のパターンデータとの比較処理を開始する（Ｓ５）。このとき、制御回路１０２によるセクション＃１の入力バッファサーチ処理（Ｓ１）は、コマンドリスト制御回路１０８による処理（Ｓ３〜Ｓ７）とは独立して実行されている。
【００５２】
Ｔ２１において、制御回路１０２による入力バッファサーチ処理（Ｓ１）が終了すると、コマンドリストテーブル１０７におけるコマンド作成処理を開始する（Ｓ２）。すなわち、コマンドリストテーブル１０７のＣＯＭ＃１に対して、アドレス情報５０３が付加され、許可フラグ５０１がアクティブ状態となる。
このとき、比較器１０５では比較処理が実行されている（Ｓ５）。
【００５３】
Ｔ３において、比較器１０５での比較処理が終了する。そして、データの一致するものが見つかった場合には、コマンドリストテーブル１０７にＩｎｄｅｘ情報５０２が記録される（Ｓ６）。コマンドリスト制御回路１０８は、コマンドリストテーブル１０７に記録されたＩｎｄｅｘ情報５０２と、アドレス情報５０３と、に基づき、入力バッファ１０１から出力バッファ１０９に、セクション＃０の転送を開始する（Ｓ８）。すなわち、Ｉｎｄｅｘ情報５０２により出力先が決定され、比較先頭アドレス（Ｓ７）がアドレス＃０となっている。したがって、セクション＃０が出力バッファ１０９に書き出されていく。
このとき制御回路１０２は独立して処理を実行しており、Ｔ３１において、制御回路１０２は、ＣＯＭ＃１のコマンド作成処理（Ｓ１）が終了する。そして、セクション＃２の入力バッファサーチ処理を行う（Ｓ２）。
【００５４】
Ｔ４において、入力バッファ１０１から出力バッファ１０９に、セクション＃０の転送（Ｓ８）が完了したものとする。その後、コマンドリスト制御回路１０８を待機状態とする。すなわち、すでにサーチが終了しているＣＯＭ＃１についての処理を開始するタイミングまで待機する。このとき、コマンドリストテーブル１０７における許可フラグ５０１のサーチ処理が行われている。
Ｔ４１において、制御回路１０２では、セクション＃２の入力バッファサーチ処理（Ｓ１）が終了する。そして、ＣＯＭ＃２のコマンド作成処理（Ｓ２）を開始する。
【００５５】
Ｔ５において、コマンドリスト制御回路１０８は、許可フラグ（Ｓ３）をＨｉｇｈ状態にする。これにより、コマンドリストテーブル１０７においてアクティブ状態であるＣＯＭ＃１の許可フラグ５０１の抽出が有効となる。アドレス＃１を参照して入力バッファからセクション＃１を抽出し、セクションバッファ１０３の更新処理を行う（Ｓ４）。すなわち、サーチされたセクション＃１のＮバイトがセクションバッファ１０３に書き込まれる。
このとき制御回路１０２によるＣＯＭ＃２のコマンド作成処理（Ｓ２）は、独立して実行されている。
またこのとき、ＣＯＭ＃１に対応するアドレス＃１が記録される（Ｓ７）。すなわち、どのアドレス情報を有するコマンドについての処理が実行されているかを記憶する。典型的には、コマンドリストテーブル１０７において、処理が実行されているコマンドが記憶されている。
【００５６】
Ｔ６において、許可フラグ（Ｓ３）を非アクティブ状態とするとともに、セクションバッファ１０３の更新処理を終了する（Ｓ４）。このとき、セクションバッファ１０３の更新に用いたＣＯＭ＃１の許可フラグ５０１を非アクティブ状態にする。また比較器１０５は、セクションバッファ１０３の対象データと、パターンメモリ１０４のパターンデータとの比較処理を開始する（Ｓ５）。
このとき、制御回路１０２によるＣＯＭ＃２のコマンド作成処理（Ｓ２）は、コマンドリスト制御回路１０８の処理（Ｓ３〜Ｓ５）とは独立して実行されている。
【００５７】
Ｔ７において、比較器１０５による比較処理が終了する（Ｓ５）。データの一致するものが見つからなかった場合には、比較処理を終了して待機状態とする。すなわち、ＣＯＭ＃２についての処理を開始するタイミングまで待機する。このとき、コマンドリストテーブル１０７における許可フラグ５０１のサーチ処理が行われている。
【００５８】
Ｔ８において、コマンドリスト制御回路１０８は、許可フラグ（Ｓ３）をＨｉｇｈ状態にする。これにより、コマンドリストテーブル１０７においてアクティブ状態であるＣＯＭ＃２の許可フラグ５０１の抽出が有効となる。アドレス＃２を参照して入力バッファからセクション＃２を抽出し、セクションバッファ１０３の更新処理を行う（Ｓ４）。すなわち、サーチされたセクション＃１のＮバイトがセクションバッファ１０３に書き込まれる。
またこのとき、ＣＯＭ＃２に対応するアドレス＃２が記録される（Ｓ７）。すなわち、どのアドレス情報を有するコマンドについての処理が実行されているかを記憶する。典型的には、コマンドリストテーブル１０７において、処理が実行されているコマンドが記憶されている。
【００５９】
Ｔ９において、コマンドリスト制御回路１０８は、許可フラグ（Ｓ３）を非アクティブ状態にするとともに、セクションバッファ１０３の更新処理を終了する（Ｓ４）。このとき、セクションバッファ１０３の更新に用いたＣＯＭ＃１の許可フラグ５０１を非アクティブ状態にする。また比較器１０５は、セクションバッファ１０３の対象データと、パターンメモリ１０４のパターンデータとの比較処理を開始する（Ｓ５）。
【００６０】
Ｔ１０において、比較器１０５での比較処理が終了する。そして、データの一致するものが見つかった場合には、コマンドリストテーブル１０７にＩｎｄｅｘ情報が記録される（Ｓ６）。コマンドリスト制御回路１０８は、コマンドリストテーブル１０７に記録されたＩｎｄｅｘ情報５０２と、アドレス情報５０３と、に基づき、入力バッファ１０１から出力バッファ１０９に、セクション＃２の転送を開始する（Ｓ８）。
【００６１】
Ｔ１１において、入力バッファ１０１から出力バッファ１０９に、セクション＃２の転送が完了すると、コマンドリスト制御回路１０８は次の処理待ちとなる。
【００６２】
制御回路１０２は、セクションデータのアドレス情報をセクションバッファ１０３に登録するのではなく、識別情報としてコマンドリストテーブル１０７に登録している。また、コマンドリストテーブル１０７には、入力バッファ１０１中のセクションデータのアドレス情報を複数登録できる。したがって制御回路１０２は、セクションデータの先頭アドレスのサーチ処理を連続的に繰り返すことができる。
【００６３】
また、コマンドリスト制御回路１０８は、コマンドリストテーブル１０７内の許可フラグ５０１をサーチすることで、次回の対象データを事前に準備しておくことができる。そして、コマンドリスト制御回路１０８は、結果保持回路１０６より比較器１０５の比較処理完了タイミングを検出すると、セクションバッファ１０３の更新を行う。
【００６４】
このようにして、比較器１０５は比較処理完了後、即時にセクションバッファ１０３の更新を行うことができる。すなわち、比較処理の終了後に、次に比較するデータをサーチする必要が無い。したがってセクションバッファ１０３の更新による待ち時間を短縮して、比較器１０５による連続的な比較処理を行うことができる。これにより、サーチ処理と比較処理を並行して行うことができ、セクションフィルタリング回路の処理効率の向上が実現できる。また、ＴＳパケット以外のデジタルデータに対して、フィルタリングを行っても良い。すなわち、セクションに区切られてデジタルデータに対して、セクションデータの抽出を行うことができる。よって、上記の処理方法は、ストリームデータに好適である。
【００６５】
実施の形態２
図９は、セクションデータフィルタリング装置の他の例である。実施の形態１に示したセクションデータフィルタリング装置の構成と同一の構成要素に対しては、同一の符号を付加し、該構成要素に関する説明を省略する。
【００６６】
図９に示したセクションデータフィルタリング装置の構成は、実施の形態１で示した構成と比較して、入力バッファ８０１に格納されているデータがセクションデータである点で異なる。また、パターンメモリ１０４から一時的にデータが格納されるテンポラリパターンメモリ８０２と、比較器８０３が存在している点で異なる。
【００６７】
入力バッファ８０１は、複数のセクションデータを格納している。すなわち実施の形態１では、入力バッファ１０１には複数のＴＳパケットが格納されていたが、入力バッファ８０１のデータが、ＴＳパケットのヘッダ部分を有したデータではない点で、実施の形態１と異なる。
【００６８】
テンポラリパターンメモリ８０２は、図１０に示したテンポラリパターンメモリ１００７と同様の動作を行う。また、比較器８０３は比較器１００９と同様の動作を行う。
すなわち、テンポラリパターンメモリ８０２は、セクション＃０について処理を行う際に、パターンメモリ１０４より読み出したデータのうち、偶数番目のパターンデータを記録しておく。
セクション＃１以降の処理において、比較器１０５は、奇数番目のパターンデータをパターンメモリ１０４から読み出して比較を行う。一方、比較器８０３は、偶数番目のパターンデータをテンポラリパターンメモリ８０２から読み出して比較を行う。
【００６９】
このような構成において、コマンドリストテーブル１０７は、入力バッファ８０１のセクションデータの先頭アドレスをアドレス情報５０３に記録する。
セクションバッファ１０３は、アドレス情報５０３に基づいて抽出された対象データを格納する。比較器１０５では、セクションバッファ１０３に格納された対象データとパターンメモリ１０４に記録されたパターンデータとを比較し、比較器８０３ではセクションバッファ１０３に格納された対象データとテンポラリパターンメモリ８０２に記録されたパターンデータとを比較する。比較結果に基づいて得られたＩｎｄｅｘ情報はコマンドリストテーブル１０７のＩｎｄｅｘ情報５０２に記録される。
制御回路１０２は、コマンドリストテーブル１０７のアドレス情報５０３を参照して抽出された入力バッファ８０１のセクションデータを、Ｉｎｄｅｘ情報５０２を参照して決定した出力バッファ１０９のアドレスに送信する。
【００７０】
したがって、入力バッファ８０１に格納されたセクションデータがＴＳパケットでなくとも、コマンドリストテーブル１０７に識別情報を作成して記録する処理と、セクションバッファ１０３に対象データを格納し、比較器１０５および比較器８０３を用いて、セクションバッファ１０３に格納された対象データと、パターンメモリ１０４に格納されたパターンデータとの比較を行う処理とは、並行して動作させることができる。これにより、余分な時間的損失を排除し、セクションフィルタリング装置の処理効率の向上が実現できる。
【００７１】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、実施の形態１では比較器を１つとし、実施の形態２では比較器を２つとしているが、さらに多数の比較器を備えていてもよい。
【符号の説明】
【００７２】
１０１    入力バッファ
１０２    制御回路
１０３    セクションバッファ
１０４    パターンメモリ
１０５    比較器
１０６    結果保持回路
１０７    コマンドリストテーブル
１０８    コマンドリスト制御回路
１０９    出力バッファ
５０１    許可フラグ
５０２    情報
５０３    アドレス情報
８０１    入力バッファ
８０２    テンポラリパターンメモリ
８０３    比較器
【図１】
2011188259.tif 000003
【図２】
2011188259.tif 000004
【図３】
2011188259.tif 000005
【図４】
2011188259.tif 000006
【図５】
2011188259.tif 000007
【図６】
2011188259.tif 000008
【図７】
2011188259.tif 000009
【図８】
2011188259.tif 000010
【図９】
2011188259.tif 000011
【図１０】
2011188259.tif 000012