説明

セクションデータフィルタリング装置および制御方法

【課題】処理時間の短縮をはかることができるセクションデータフィルタリング装置および制御方法を提供すること。
【解決手段】セクションデータフィルタリング装置は、入力バッファ101と、セクションデータを識別する識別情報を記録するコマンドリストテーブル107と、識別情報に基づき、入力バッファ101から抽出された対象データを格納するセクションバッファ103と、該対象データと、パターンメモリ104に格納されているパターンデータと、を比較する比較器105と、制御回路102と、コマンドリスト制御回路108を有する。制御回路102は、入力バッファ101から識別情報をコマンドリストテーブル107に記録するよう制御する。コマンドリスト制御回路108は、制御回路102における処理と並行して、対象データをセクションバッファ103に格納する処理及び比較器105による比較処理を行うよう制御する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、セクションデータフィルタリング装置および制御方法に関する。
【背景技術】
【0002】
デジタル放送の受信装置は、複数の番組や番組情報また視聴制限情報などが多重化されたストリームデータより必要な情報のみを抽出するフィルタリング機能を搭載している。このフィルタリング機能によって、受信装置では特定の番組を視聴や録画を行うことができる。
【0003】
しかしながら、配信番組の高画質化や録画媒体の多様化、ネットワーク配信などの配信形態の多様化を背景に、デジタル放送の受信装置には、高機能化、高性能化が求められている。一方でデジタル放送の普及に伴い、受信装置の低コスト化の実現が重要となる。そこで、受信装置の回路規模を抑えながら、効率的にフィルター機能を高性能化することが課題となっている。
【0004】
特許文献1では、セクションフィルタリング装置に関する技術が開示されている。図10は、セクションフィルタリング装置の構成を示すブロック図である。
【0005】
セクションフィルタリング装置は、入力バッファ1001と、制御回路1002と、セクションバッファ1003と、パターンメモリ1004と、比較器1005と、結果保持回路1006と、テンポラリパターンメモリ1007と、出力バッファ1008と、比較器1009を備える。
【0006】
制御回路1002は、入力バッファ1001の中からセクションの先頭をサーチして、対象データを抽出する。制御回路1002は、抽出した対象データをセクションバッファ1003に格納して、比較器1005または比較器1009において、パターンメモリ1004中のパターンデータとの比較を行う。先頭のセクション1の処理を行う場合には、比較器1005を使用する。
【0007】
セクションバッファ1003に格納された対象データと、パターンメモリ1004より読み出したパターンデータとの比較を順次行う。このとき、パターンメモリ1004より読み出したデータのうち、偶数番目のパターンデータを読み出す時は、テンポラリパターンメモリ1007にデータを書き出しておく。
【0008】
これを繰り返し行い、セクション1の比較が完了するときには、テンポラリパターンメモリ1007には全ての偶数番目のパターンデータが格納される。
【0009】
セクション2以降の比較動作では、比較器1005と比較器1009の2つの比較器を使用する。比較器1005はパターンメモリ1004より奇数番目のパターンデータを読み出して比較を行う。比較器1009はテンポラリパターンメモリ1007に保持されている偶数番目のパターンデータを読み出して比較を行う。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】特開2004−140520号公報
【発明の概要】
【発明が解決しようとする課題】
【0011】
しかしながら特許文献1に開示されている技術では、セクションの先頭アドレスのサーチ処理とセクションバッファ中のデータとパターンデータとの比較処理の2つの処理をシーケンシャルに実施する点において、時間的損失が生じるという課題があった。
すなわち、比較器1005、比較器1009は比較動作中のセクションバッファ1003を参照する為に、制御回路1002はセクションバッファ1003の更新が可能になるまで次回の処理をウェイトする必要があり、比較器1005、比較器1009は、セクションバッファ1003が確定するまでは停止状態となる。すなわち、セクションバッファ1003の更新が完了すると、比較器1005および比較器1009において、比較処理が開始される。したがって、比較器1005および比較器1009の停止状態の期間が時間的損失分として生じ、比較回数とともに蓄積されるようになっていた。
【課題を解決するための手段】
【0012】
本発明の第1の態様にかかるセクションデータフィルタリング装置は、デジタルデータが格納されている入力バッファと、前記デジタルデータに内包されるセクションデータを識別する識別情報を記録するコマンドリストテーブルと、前記コマンドリストテーブルに記録された前記識別情報に基づき、前記入力バッファの前記セクションデータから抽出された対象データを格納するセクションバッファと、前記セクションバッファに格納された対象データと、パターンメモリに格納されているパターンデータと、を比較する第1の比較器と、前記入力バッファに格納されたデジタルデータから前記識別情報を前記コマンドリストテーブルに記録するよう制御する制御回路と、前記制御回路における処理と並行して、前記対象データを前記セクションバッファに格納する処理及び前記第1の比較器による比較処理を行うよう制御するコマンドリスト制御回路と、を備える。
【0013】
本発明の第2の態様にかかるセクションデータフィルタリング装置の制御方法は、デジタルデータに内包されるセクションデータを識別する識別情報を記録する処理と、前記記録する処理と並行して、前記識別情報に基づきセクションデータの一部を対象データとして抽出し、前記対象データと、パターンメモリに格納されているパターンデータとを比較する処理を行う、セクションデータフィルタリング装置の制御方法である。
【0014】
入力バッファに格納されたデジタルデータから識別情報をコマンドリストテーブルに記録する処理と、セクションバッファ中の対象データとパターンメモリ内のパターンデータとの比較処理を、短時間で実行することが可能になる。その結果、セクションフィルタリング装置の処理効率の向上が実現できる。
【発明の効果】
【0015】
処理時間の短縮をはかることができるセクションデータフィルタリング装置および制御方法を提供する。
【図面の簡単な説明】
【0016】
【図1】実施の形態1にかかるセクションデータフィルタリング装置の構成を示すブロック図である。
【図2】実施の形態1にかかるTSパケット構造を示す図である。
【図3】実施の形態1にかかるセクションデータフィルタリング装置の詳細な構成を示す図である。
【図4】実施の形態1にかかるコマンドリストテーブルの構成を示す図である。
【図5】実施の形態1にかかるセクションフィルタリング機能を示す概念図である。
【図6】実施の形態1にかかるセクションフィルタリング処理のフロー図である。
【図7】実施の形態1にかかるセクションフィルタリング処理のフロー図である。
【図8】実施の形態1にかかるセクションフィルタリング処理のタイミング図である。
【図9】実施の形態2にかかるセクションデータフィルタリング装置の構成を示すブロック図である。
【図10】関連するセクションフィルタリング装置の構成を示すブロック図である。
【発明を実施するための形態】
【0017】
実施の形態1
以下、図面を参照して本実施の形態について説明する。図1は本実施の形態におけるセクションデータフィルタリング装置の構成を示したブロック図である。
【0018】
セクションデータフィルタリング装置は、入力バッファ101と、制御回路102と、セクションバッファ103と、パターンメモリ104と、比較器105と、結果保持回路106と、コマンドリストテーブル107と、コマンドリスト制御回路108と、出力バッファ109と、を備えている。
【0019】
入力バッファ101には、複数のTS(Transport Stream)パケットが格納されている。図2は、デジタル放送の送受信に用いられるTSパケットの構造である。TSパケットは、4バイトのTSヘッダと、184バイトのペイロードと、を備える。ペイロードは、ポインターフィールドと、テーブルデータと、を備える。テーブルデータは複数のテーブルIDと、複数のセクションと、スタッフィングバイトと、を備える。
それぞれのTSパケットには複数のセクションが内包されている。複数のセクションにはそれぞれメモリアドレスが割り振られている。
【0020】
制御回路102は、入力バッファ101に格納されているTSパケット中の各セクションデータの先頭アドレスを抽出し、抽出した先頭アドレスをコマンドリストテーブル107に記録するよう制御を行う。コマンドリストテーブル107には、後述する通り、出力先を示すIndex情報が含まれている。コマンドリストテーブル107に関しては、後述する。
【0021】
セクションバッファ103には、入力バッファ101に格納されているセクションの、先頭のNバイトのデータ(対象データ)が一時的に格納される。この対象データは、入力バッファ101からコマンドリストテーブル107に記録された先頭アドレスに基づいて抽出される。この対象データは、比較器105における比較処理に使用される。
【0022】
パターンメモリ104には、セクションバッファ103に格納された対象データと比較を行うための、複数のパターンデータが格納されている。パターンメモリ104に格納されている各パターンデータは、例えば、セクションバッファ103に格納された対象データと同じNバイトのデータである。このパターンデータは、比較器105に読み込まれる。
【0023】
比較器105は、セクションバッファ103から読み込まれた対象データと、パターンメモリ104から読み込まれたパターンデータとの比較を順番に行う。これにより、対象データと一致したパターンデータの番号と、パターンデータ番号に紐づくIndex情報が結果保持回路106に出力される。なおIndex情報は、パターンデータ番号に対応するデータが格納されている、出力バッファ上のアドレスを示している。
【0024】
結果保持回路106は、比較器105による比較結果を保持する。これにより、対象データと一致したパターンデータに対応するIndex情報が結果保持回路106に保持される。また、結果保持回路106は、コマンドリスト制御回路108に比較完了の通知を行う。
【0025】
コマンドリスト制御回路108は、コマンドリストテーブル107内の対象データの管理と、比較器105による比較開始タイミングを制御する。また、コマンドリスト制御回路108は、結果保持回路106に保持されている比較結果をコマンドリストテーブル107に反映する。すなわちコマンドリスト制御回路108は、結果保持回路106に保持されているIndex情報を、コマンドリストテーブル107に書き込む。
【0026】
出力バッファ109には、入力バッファ101から出力された複数のセクションデータや結果データが格納される。ここで、制御回路102は、コマンドリストテーブル107に記録されている内容を参照し、入力バッファ101から、出力バッファ109へセクションデータを転送するよう制御を行う。具体的には、制御回路102は、コマンドリストテーブル107に記録されている先頭アドレスを参照して入力バッファ101からセクションデータを抽出し、Index情報を参照して送信先の出力バッファ109のアドレスを決定して、セクションデータの転送を行う。
【0027】
次に、図3を用いて、比較処理において参照されるコマンドリストテーブル107について説明する。図3は本実施の形態におけるセクションデータフィルタリング装置の詳細な構成を示した図である。なお、図3では、図1で示した一部の構成(制御回路102及び出力バッファ109)に付いて省略している。
【0028】
図3に示すように、コマンドリストテーブル107には、各コマンド(COM#0〜#n)に対してアドレス情報(アドレス#0〜アドレス#n)と制御情報とが対応付けられて格納されている。アドレス情報は、セクションデータの先頭アドレスに対応する。先頭アドレスはTableIDである。セクション#0からアドレス#0が抽出され、セクション#1からアドレス#1が抽出される。抽出されたアドレス情報は、セクションデータ毎に異なるコマンドに対応づけられて、コマンドリストテーブル107に格納される。従って、COM#0にはアドレス#0が紐付けられ、COM1にはアドレス#1が紐付けられる。従って、アドレス情報を参照することで、各コマンドに対応するセクションデータが識別される。このアドレス情報は、例えば、セクションデータを出力バッファに転送する際に参照される。
【0029】
また、図4に示されるように、各コマンドには、制御情報が付加されている。制御情報には、許可フラグ501と、Index情報502と、が含まれる。許可フラグ501は、セクションバッファ103への書き出しを制御するために設けられている。許可フラグ501がアクティブのときはセクションバッファ103への書き出しが許可され、非アクティブのときはセクションバッファ103への書き出しが禁止される。
セクションバッファ103への書き出しが終了すると、許可フラグ501はアクティブ状態から非アクティブ状態となる。したがって、そのコマンドに対応する対象データの書き出しが制限される。
例えば、COM#1の許可フラグ501がアクティブであれば、セクション#1の対象データが書き出し可能となっていることを示す。
【0030】
Index情報502は、出力バッファ109における出力先のアドレスを指定するためのものである。Index情報502は、比較結果に応じて設定される。より具体的には、比較処理終了後、比較処理の対象である対象データと一致したパターンの番号によって、Index情報が付加される。
例えば、COM#1のアドレス情報503に基づいて抽出された対象データが、図3に示すように、比較処理においてパターンCと一致したものとする。このとき、パターンCはIndex#2と紐づけられている。したがって、COM#1のIndex情報502には、Index#2が記録される。
【0031】
出力バッファ109に出力する際は、コマンドに紐付けられたアドレス情報503を参照して、入力バッファ101から出力するセクションデータを決定し、Index情報502を参照して、出力バッファ109における出力先アドレスを決定する。図3及び図4に示したように、コマンドリストテーブル107は、コマンド#0〜#n毎に、異なる制御情報とアドレス情報が紐付けられたテーブルとなる。すなわち、コマンドリスト制御回路108がコマンドリストテーブル107を参照して、入力バッファ101から出力バッファ109へのセクションデータの転送を制御する。
【0032】
図5を用いて、入力バッファ101のデータを出力バッファ109に書き出す処理に付いて説明する。図5は、図2に示したTSパケットからセクション#1のデータを抽出する場合のセクションフィルタリング装置の動作例である。なお、図5では、図1で示した一部の構成(例えば、制御回路102、コマンドリスト制御回路108、及び結果保持回路106)に付いて省略している。
セクションバッファ103は、コマンドリストテーブル107に記録されたアドレス情報を参照して、入力バッファ101中の比較対象のNバイトのデータを一時的に保持する。比較器105は、セクションバッファ103に保持されたデータを、パターンメモリ104中の複数のパターンデータと順次、比較を行う。なお典型的には、比較対象のNバイトのデータは、テーブルIDを含むセクションデータの一部である。
【0033】
比較の結果、例えばIndex#2のパターンCと一致した場合には、入力バッファ101中のセクション#1を出力バッファ109内のIndex#2と関連付けたバッファへ出力する。すなわち、Index#2に対応する出力バッファ109の出力先に、セクション#1が書き出される。例えばIndex#2は、出力バッファ109のメモリ上のアドレスを示している。
このようにして、受信装置は、特定の種類のセクションを抽出および分類することができる。
【0034】
次に、本実施の形態にかかるセクションデータフィルタリング装置の動作について説明する。ここでは、図2に示したTSパケット構造から、セクション#1を抽出する場合の例について説明する。
【0035】
図6は、本実施の形態にかかるセクションデータフィルタリング回路が、入力バッファ中のデータをサーチする際の処理フローである。
【0036】
制御回路102は、入力バッファ101中のセクションデータの先頭アドレスのサーチを行う(ステップS201)。すなわち、TSパケット中のセクション#0〜#nの先頭位置のアドレスをサーチする。
ここで、サーチ対象となるセクションが見つからない場合には入力バッファ101中のセクションデータの先頭アドレスをサーチする処理を終了する(ステップS202でNo)。
【0037】
サーチ対象となるセクションデータが見つかった場合には(ステップS202でYES)、コマンドリストテーブル107にアドレス情報503に抽出する(ステップS203)。例えば、セクション#1の先頭アドレスがアドレス情報503として、コマンドリストテーブル107に格納される。また、登録したアドレス情報503に紐づく許可フラグ501をアクティブ状態に設定する(ステップS204)。その後ステップS201に戻り、処理を繰り返し行う。このようにして、TSパケット#0〜#nのアドレス情報が、コマンドリストテーブル107に順番に格納されていく。なお、制御回路102は、ステップS201〜ステップS204の処理を、入力バッファ101内に未処理のデータがなくなるまで繰り返す。
【0038】
図7は、本実施の形態にかかるセクションデータフィルタリング装置が、入力バッファ中のデータをサーチ後、データの転送を開始するまでの処理フローである。なお、図7に示した処理フローは、図6に示したステップS201〜ステップS204の処理フローと独立して並行に処理を行う。
【0039】
コマンドリスト制御回路108は、コマンドリストテーブル107の許可フラグ501をサーチし(ステップS205)、許可フラグ501がアクティブ状態となっているもの検出する(ステップS206)。許可フラグ501がアクティブ状態のものが検出されない場合には処理を繰り返し(ステップS206でNO)、許可フラグ501がアクティブ状態のものが出現するまで待ち合わせる。
【0040】
コマンドリスト制御回路108は、許可フラグ501を参照して比較処理が完了していないものをサーチする。
許可フラグ501がアクティブ状態のものが検出された場合には(ステップS206でYES)、検出された対象データのアドレス情報を読み出す(ステップS207)。ここで例えば、COM#0の許可フラグ501がアクティブであり、コマンドリスト制御回路108によりCOM#0が検出されると、アドレス#0が読みだされる。
【0041】
すなわちCOM#0のアドレス#0が読み出された場合、コマンドリスト制御回路108は読み出されたアドレス#0に基づいて、入力バッファ101中のセクション#0から、対象データをセクションバッファ103に書き出す(ステップS208)。なお、セクション#0の先頭のNバイトが、対象データとしてセクションバッファ103に格納される。また、コマンドリストテーブル107において、COM#0及びアドレス#0と紐づく許可フラグ501を、非アクティブ状態に設定する(ステップS209)。
【0042】
比較器105は、セクションバッファ103の更新を検出すると、比較処理を開始する(ステップS210)。セクションバッファ103の対象データと、パターンメモリ104のパターンA〜パターンXを順次比較する。これにより比較器105が比較処理を行う(ステップS211)。一致するパターンが無い場合は、全てのパターンと比較する。
【0043】
比較器105は、パターンメモリ104のパターンデータとの比較が終了したら、比較結果が一致しているか否かを判定する(ステップS212)。すなわち、比較処理において、対象データと一致するパターンがあるか否かを判定する。一致するパターンがある場合には、比較結果が一致したパターンメモリ104のIndex番号を、結果保持回路106に保持する(ステップS212で一致)。コマンドリスト制御回路108は、結果保持回路106に保持されたIndex番号を、コマンドリストテーブル107のIndex情報502に書き出す(ステップS213)。
なお比較器105は、比較処理が終了した場合には、コマンドリスト制御回路108に比較処理の完了の通知を行う。
【0044】
比較器105による比較において、比較結果が一致しなかった場合には、ステップS205に戻り処理を繰り返す(ステップS212で不一致)。これにより許可フラグ501をサーチして、比較が行われていないセクションデータから次の対象データが抽出される。そして、次の対象データに対して上記の比較処理を実行する。すなわち、コマンドリスト制御回路108は、コマンドリストテーブル107の許可フラグ501がアクティブ状態のものをサーチし、比較処理サイクルを繰り返す。
【0045】
コマンドリストテーブル107のアドレス情報503とIndex情報502に基づき、入力バッファ101中のセクションデータを出力バッファ109へ転送する(ステップS214)。すなわち制御回路102は、コマンドリストテーブル107のアドレス情報503を参照して入力バッファ101中のセクションデータを抽出する。さらに、コマンドリストテーブル107のIndex情報502を参照して出力バッファ109の転送先を決定する。例えば、Index情報502に基づいて、出力バッファ109におけるメモリアドレスが指定されている。
【0046】
転送開始後は、ステップS205に戻り処理を繰り返す。これにより許可フラグ501をサーチして、比較が行われていないセクションデータから次の対象データが抽出される。そして、次の対象データに対して上記の比較処理を実行する。すなわち、コマンドリスト制御回路108は、引き続きコマンドリストテーブル107の許可フラグ501がアクティブ状態のものをサーチし、比較処理サイクルを繰り返す。
したがって、入力バッファ101に格納されたデジタルデータから識別情報をコマンドリストテーブル107に記録する処理と、対象データをセクションバッファ103に格納して比較器105により比較を行う処理とを、それぞれ独立して実行することができる。具体的には、ステップS210、ステップS211における比較処理の間でも、制御回路102がステップS201〜ステップS204の入力バッファサーチ処理を行うことができる。
【0047】
図8は、本実施の形態にかかるセクションフィルタリング処理のタイミングの一例を示している。
ここで図8では上から順に、入力バッファサーチ処理をS1、コマンド作成処理をS2、許可フラグの有効期間をS3、セクションバッファ更新処理をS4、比較処理をS5、Index情報に関する処理をS6、先頭アドレスに関する処理をS7、出力データに関する処理をS8、として、示している。
入力バッファサーチ処理(S1)と、コマンド作成処理とS2は、制御回路102により行われる。また、セクションバッファ更新処理(S4)と、Index情報に関する処理(S6)は、コマンドリスト制御回路108により行われる。
【0048】
まず、制御回路102がセクションデータのサーチ(S1)を行う。ここでセクション#0が抽出されるものとする。
【0049】
T0において制御回路102は、抽出されたセクションデータに基づくコマンドを作成する(S2)。ここで、セクション#0に基づくCOM#0のコマンド作成するものとする。コマンド作成処理では、コマンドリストテーブル107にアドレス情報を記録し、かつ、許可フラグ501をアクティブ状態にする。例えば制御回路102は、コマンドリストテーブル107において、COM#0に対応するアドレス#0をアドレス情報503に格納し、COM#0に対応する許可フラグ501をアクティブ状態とする。
ここで、コマンドリストテーブル107における許可フラグ501のサーチ処理は常に行われており、T0〜T1の間においても行われる。
【0050】
T1において、コマンドリスト制御回路108は、許可フラグ(S3)をアクティブ状態にする。
許可フラグ(S3)がHigh状態の期間は、サーチによって抽出されたアクティブ状態の許可フラグ501が有効となっている期間を示している。ここで有効となっている期間とは、セクションバッファを更新する期間である。T1〜T2において、許可フラグ(S3)をHigh状態とする。
これにより、セクション#0に関する比較処理が以下のように実行される。セクションバッファ103の更新処理を行う(S4)。すなわち、入力バッファ101のセクション#0の先頭のNバイトが対象データとしてセクションバッファ103に書き込まれる。
このとき制御回路102では、COM#0のコマンド作成の終了後、セクション#1の入力バッファサーチ処理を開始する(S1)。すなわち、次に比較処理が実行されるセクションをサーチする。
またこのとき、COM#0に対応するアドレス#0が記録される(S7)。すなわち、どのアドレス情報を有するコマンドについての処理が実行されているかを記憶する。典型的には、コマンドリストテーブル107において、処理が実行されているコマンドが記憶されている。
【0051】
T2において、セクションバッファの更新処理(S4)を終了する。同時に、許可フラグ(S3)を非アクティブ状態とする。具体的には、コマンドリストテーブル107に格納されているアドレス情報503を参照して、入力バッファ101から抽出したセクションバッファの一部を、セクションバッファ103に対象データとして格納する処理を停止する。また、セクションバッファ103の更新に用いたCOM#0の許可フラグ501を非アクティブ状態にする。
セクションバッファ103の更新処理が終了すると、比較器105は、セクションバッファ103の対象データと、パターンメモリ104のパターンデータとの比較処理を開始する(S5)。このとき、制御回路102によるセクション#1の入力バッファサーチ処理(S1)は、コマンドリスト制御回路108による処理(S3〜S7)とは独立して実行されている。
【0052】
T21において、制御回路102による入力バッファサーチ処理(S1)が終了すると、コマンドリストテーブル107におけるコマンド作成処理を開始する(S2)。すなわち、コマンドリストテーブル107のCOM#1に対して、アドレス情報503が付加され、許可フラグ501がアクティブ状態となる。
このとき、比較器105では比較処理が実行されている(S5)。
【0053】
T3において、比較器105での比較処理が終了する。そして、データの一致するものが見つかった場合には、コマンドリストテーブル107にIndex情報502が記録される(S6)。コマンドリスト制御回路108は、コマンドリストテーブル107に記録されたIndex情報502と、アドレス情報503と、に基づき、入力バッファ101から出力バッファ109に、セクション#0の転送を開始する(S8)。すなわち、Index情報502により出力先が決定され、比較先頭アドレス(S7)がアドレス#0となっている。したがって、セクション#0が出力バッファ109に書き出されていく。
このとき制御回路102は独立して処理を実行しており、T31において、制御回路102は、COM#1のコマンド作成処理(S1)が終了する。そして、セクション#2の入力バッファサーチ処理を行う(S2)。
【0054】
T4において、入力バッファ101から出力バッファ109に、セクション#0の転送(S8)が完了したものとする。その後、コマンドリスト制御回路108を待機状態とする。すなわち、すでにサーチが終了しているCOM#1についての処理を開始するタイミングまで待機する。このとき、コマンドリストテーブル107における許可フラグ501のサーチ処理が行われている。
T41において、制御回路102では、セクション#2の入力バッファサーチ処理(S1)が終了する。そして、COM#2のコマンド作成処理(S2)を開始する。
【0055】
T5において、コマンドリスト制御回路108は、許可フラグ(S3)をHigh状態にする。これにより、コマンドリストテーブル107においてアクティブ状態であるCOM#1の許可フラグ501の抽出が有効となる。アドレス#1を参照して入力バッファからセクション#1を抽出し、セクションバッファ103の更新処理を行う(S4)。すなわち、サーチされたセクション#1のNバイトがセクションバッファ103に書き込まれる。

このとき制御回路102によるCOM#2のコマンド作成処理(S2)は、独立して実行されている。
またこのとき、COM#1に対応するアドレス#1が記録される(S7)。すなわち、どのアドレス情報を有するコマンドについての処理が実行されているかを記憶する。典型的には、コマンドリストテーブル107において、処理が実行されているコマンドが記憶されている。
【0056】
T6において、許可フラグ(S3)を非アクティブ状態とするとともに、セクションバッファ103の更新処理を終了する(S4)。このとき、セクションバッファ103の更新に用いたCOM#1の許可フラグ501を非アクティブ状態にする。また比較器105は、セクションバッファ103の対象データと、パターンメモリ104のパターンデータとの比較処理を開始する(S5)。
このとき、制御回路102によるCOM#2のコマンド作成処理(S2)は、コマンドリスト制御回路108の処理(S3〜S5)とは独立して実行されている。
【0057】
T7において、比較器105による比較処理が終了する(S5)。データの一致するものが見つからなかった場合には、比較処理を終了して待機状態とする。すなわち、COM#2についての処理を開始するタイミングまで待機する。このとき、コマンドリストテーブル107における許可フラグ501のサーチ処理が行われている。
【0058】
T8において、コマンドリスト制御回路108は、許可フラグ(S3)をHigh状態にする。これにより、コマンドリストテーブル107においてアクティブ状態であるCOM#2の許可フラグ501の抽出が有効となる。アドレス#2を参照して入力バッファからセクション#2を抽出し、セクションバッファ103の更新処理を行う(S4)。すなわち、サーチされたセクション#1のNバイトがセクションバッファ103に書き込まれる。
またこのとき、COM#2に対応するアドレス#2が記録される(S7)。すなわち、どのアドレス情報を有するコマンドについての処理が実行されているかを記憶する。典型的には、コマンドリストテーブル107において、処理が実行されているコマンドが記憶されている。
【0059】
T9において、コマンドリスト制御回路108は、許可フラグ(S3)を非アクティブ状態にするとともに、セクションバッファ103の更新処理を終了する(S4)。このとき、セクションバッファ103の更新に用いたCOM#1の許可フラグ501を非アクティブ状態にする。また比較器105は、セクションバッファ103の対象データと、パターンメモリ104のパターンデータとの比較処理を開始する(S5)。
【0060】
T10において、比較器105での比較処理が終了する。そして、データの一致するものが見つかった場合には、コマンドリストテーブル107にIndex情報が記録される(S6)。コマンドリスト制御回路108は、コマンドリストテーブル107に記録されたIndex情報502と、アドレス情報503と、に基づき、入力バッファ101から出力バッファ109に、セクション#2の転送を開始する(S8)。
【0061】
T11において、入力バッファ101から出力バッファ109に、セクション#2の転送が完了すると、コマンドリスト制御回路108は次の処理待ちとなる。
【0062】
制御回路102は、セクションデータのアドレス情報をセクションバッファ103に登録するのではなく、識別情報としてコマンドリストテーブル107に登録している。また、コマンドリストテーブル107には、入力バッファ101中のセクションデータのアドレス情報を複数登録できる。したがって制御回路102は、セクションデータの先頭アドレスのサーチ処理を連続的に繰り返すことができる。
【0063】
また、コマンドリスト制御回路108は、コマンドリストテーブル107内の許可フラグ501をサーチすることで、次回の対象データを事前に準備しておくことができる。そして、コマンドリスト制御回路108は、結果保持回路106より比較器105の比較処理完了タイミングを検出すると、セクションバッファ103の更新を行う。
【0064】
このようにして、比較器105は比較処理完了後、即時にセクションバッファ103の更新を行うことができる。すなわち、比較処理の終了後に、次に比較するデータをサーチする必要が無い。したがってセクションバッファ103の更新による待ち時間を短縮して、比較器105による連続的な比較処理を行うことができる。これにより、サーチ処理と比較処理を並行して行うことができ、セクションフィルタリング回路の処理効率の向上が実現できる。また、TSパケット以外のデジタルデータに対して、フィルタリングを行っても良い。すなわち、セクションに区切られてデジタルデータに対して、セクションデータの抽出を行うことができる。よって、上記の処理方法は、ストリームデータに好適である。
【0065】
実施の形態2
図9は、セクションデータフィルタリング装置の他の例である。実施の形態1に示したセクションデータフィルタリング装置の構成と同一の構成要素に対しては、同一の符号を付加し、該構成要素に関する説明を省略する。
【0066】
図9に示したセクションデータフィルタリング装置の構成は、実施の形態1で示した構成と比較して、入力バッファ801に格納されているデータがセクションデータである点で異なる。また、パターンメモリ104から一時的にデータが格納されるテンポラリパターンメモリ802と、比較器803が存在している点で異なる。
【0067】
入力バッファ801は、複数のセクションデータを格納している。すなわち実施の形態1では、入力バッファ101には複数のTSパケットが格納されていたが、入力バッファ801のデータが、TSパケットのヘッダ部分を有したデータではない点で、実施の形態1と異なる。
【0068】
テンポラリパターンメモリ802は、図10に示したテンポラリパターンメモリ1007と同様の動作を行う。また、比較器803は比較器1009と同様の動作を行う。
すなわち、テンポラリパターンメモリ802は、セクション#0について処理を行う際に、パターンメモリ104より読み出したデータのうち、偶数番目のパターンデータを記録しておく。
セクション#1以降の処理において、比較器105は、奇数番目のパターンデータをパターンメモリ104から読み出して比較を行う。一方、比較器803は、偶数番目のパターンデータをテンポラリパターンメモリ802から読み出して比較を行う。
【0069】
このような構成において、コマンドリストテーブル107は、入力バッファ801のセクションデータの先頭アドレスをアドレス情報503に記録する。
セクションバッファ103は、アドレス情報503に基づいて抽出された対象データを格納する。比較器105では、セクションバッファ103に格納された対象データとパターンメモリ104に記録されたパターンデータとを比較し、比較器803ではセクションバッファ103に格納された対象データとテンポラリパターンメモリ802に記録されたパターンデータとを比較する。比較結果に基づいて得られたIndex情報はコマンドリストテーブル107のIndex情報502に記録される。
制御回路102は、コマンドリストテーブル107のアドレス情報503を参照して抽出された入力バッファ801のセクションデータを、Index情報502を参照して決定した出力バッファ109のアドレスに送信する。
【0070】
したがって、入力バッファ801に格納されたセクションデータがTSパケットでなくとも、コマンドリストテーブル107に識別情報を作成して記録する処理と、セクションバッファ103に対象データを格納し、比較器105および比較器803を用いて、セクションバッファ103に格納された対象データと、パターンメモリ104に格納されたパターンデータとの比較を行う処理とは、並行して動作させることができる。これにより、余分な時間的損失を排除し、セクションフィルタリング装置の処理効率の向上が実現できる。
【0071】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、実施の形態1では比較器を1つとし、実施の形態2では比較器を2つとしているが、さらに多数の比較器を備えていてもよい。
【符号の説明】
【0072】
101 入力バッファ
102 制御回路
103 セクションバッファ
104 パターンメモリ
105 比較器
106 結果保持回路
107 コマンドリストテーブル
108 コマンドリスト制御回路
109 出力バッファ
501 許可フラグ
502 情報
503 アドレス情報
801 入力バッファ
802 テンポラリパターンメモリ
803 比較器

【特許請求の範囲】
【請求項1】
デジタルデータが格納されている入力バッファと、
前記デジタルデータに内包されるセクションデータを識別する識別情報を記録するコマンドリストテーブルと、
前記コマンドリストテーブルに記録された前記識別情報に基づき、前記入力バッファの前記セクションデータから抽出された対象データを格納するセクションバッファと、
前記セクションバッファに格納された対象データと、パターンメモリに格納されているパターンデータと、を比較する第1の比較器と、
前記入力バッファに格納されたデジタルデータから前記識別情報を前記コマンドリストテーブルに記録するよう制御する制御回路と、
前記制御回路における処理と並行して、前記対象データを前記セクションバッファに格納する処理及び前記第1の比較器による比較処理を行うよう制御するコマンドリスト制御回路と、を備える、
セクションデータフィルタリング装置。
【請求項2】
前記識別情報は、前記第1の比較器による比較が行われたか否かを判定するフラグを有し、
前記フラグに応じて次に前記第1の比較器において比較処理を行う対象データを決定する、
請求項1に記載のセクションデータフィルタリング装置。
【請求項3】
前記コマンドリスト制御回路は、前記第1の比較器による比較結果に基づき、前記識別情報にデジタルデータの出力先の出力先アドレスを対応付ける、
請求項1または請求項2に記載のセクションデータフィルタリング装置。
【請求項4】
前記第1の比較器による比較結果を保持する結果保持回路をさらに備え、
前記コマンドリストテーブルは、前記結果保持回路に保持された比較結果に基づいて前記コマンドリストテーブルの出力先アドレスの更新を行う、
請求項3に記載のセクションデータフィルタリング装置。
【請求項5】
出力バッファをさらに備え、
前記入力バッファに格納されたデータは、前記識別情報に記録された出力先アドレスに基づいて、前記出力バッファにおける出力先を決定する、
請求項1乃至請求項4のいずれか1項に記載のセクションデータフィルタリング装置。
【請求項6】
前記パターンメモリに保持されたパターンデータの一部を保持するテンポラリパターンメモリと、
前記テンポラリパターンメモリに保持されたパターンデータを用いて前記対象データとの比較を行う第2の比較器と、をさらに備える、
請求項1乃至請求項5のいずれか1項に記載のセクションデータフィルタリング装置。
【請求項7】
前記デジタルデータは、TS(Transfer Stream)パケットを含むデータである、
請求項1乃至請求項6のいずれか1項に記載のセクションデータフィルタリング装置。
【請求項8】
デジタルデータに内包されるセクションデータを識別する識別情報を記録する処理と、
前記記録する処理と並行して、前記識別情報に基づきセクションデータの一部を対象データとして抽出し、前記対象データと、パターンメモリに格納されているパターンデータとを比較する処理を行う、
セクションデータフィルタリング装置の制御方法。
【請求項9】
前記識別情報は、前記比較処理が行われたか否かに基づいてフラグを設定し、
前記フラグに応じて次に比較処理を行う対象データを決定する、
請求項8に記載のセクションデータフィルタリング装置の制御方法。
【請求項10】
前記比較結果に基づき、前記識別情報にデジタルデータの出力先の出力先アドレスを対応付ける、
請求項8または請求項9に記載のセクションデータフィルタリング装置の制御方法。
【請求項11】
前記比較結果を一時的に保持し、前記一時的に保持された比較結果に基づいて前記コマンドリストテーブルの出力先アドレスの更新を行う、
請求項10に記載のセクションデータフィルタリング装置の制御方法。
【請求項12】
前記識別情報に記録された出力先アドレスに基づいて、出力バッファにおける出力先を決定する、
請求項8乃至請求項11のいずれか1項に記載のセクションデータフィルタリング装置の制御方法。
【請求項13】
前記パターンメモリに保持されたパターンデータの一部がテンポラリパターンデータとしてテンポラリパターンメモリに保持され、
前記パターンメモリの前記パターンデータと前記対象データとを比較し、
前記テンポラリパターンメモリの前記テンポラリパターンデータと前記対象データとを比較する、
請求項8乃至請求項12のいずれか1項に記載のセクションデータフィルタリング装置の制御方法。
【請求項14】
前記デジタルデータは、TS(Transfer Stream)パケットを含むデータである、
請求項8乃至請求項13のいずれか1項に記載のセクションデータフィルタリング装置の制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2011−188259(P2011−188259A)
【公開日】平成23年9月22日(2011.9.22)
【国際特許分類】
【出願番号】特願2010−51726(P2010−51726)
【出願日】平成22年3月9日(2010.3.9)
【出願人】(302062931)ルネサスエレクトロニクス株式会社 (8,021)
【Fターム(参考)】