フィルタ装置及びデジタル放送受信装置
【課題】少ないメモリ容量で効率的なセクションフィルタリングを可能にする。
【解決手段】 Nビットの単位格納領域を複数有し、特定のデータ列に応じMビットのデータ長を有するフィルタ条件を単位格納領域に記憶しているものであって、フィルタ条件の長さMビットが単位格納領域の長さNビットよりも大きい場合には、フィルタ条件がNビット毎に分割された部分フィルタ条件を複数の単位格納領域に記憶している条件格納部と、単位格納領域に記憶されているデータが部分フィルタ条件に分割された一部であるか否かを示す分割の有無を連結情報として保持する連結情報レジスタと、単位格納領域に記憶されているデータが部分フィルタ条件の場合には、対応する連結情報に基づいて復元できるMビットのデータ長を有するフィルタ条件との等価な比較を対象データ列と行うことで、対象データ列に特定のデータ列が含まれるか否かを検出する比較部と、を具備する。
【解決手段】 Nビットの単位格納領域を複数有し、特定のデータ列に応じMビットのデータ長を有するフィルタ条件を単位格納領域に記憶しているものであって、フィルタ条件の長さMビットが単位格納領域の長さNビットよりも大きい場合には、フィルタ条件がNビット毎に分割された部分フィルタ条件を複数の単位格納領域に記憶している条件格納部と、単位格納領域に記憶されているデータが部分フィルタ条件に分割された一部であるか否かを示す分割の有無を連結情報として保持する連結情報レジスタと、単位格納領域に記憶されているデータが部分フィルタ条件の場合には、対応する連結情報に基づいて復元できるMビットのデータ長を有するフィルタ条件との等価な比較を対象データ列と行うことで、対象データ列に特定のデータ列が含まれるか否かを検出する比較部と、を具備する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えばデジタルテレビやデジタルレコーダ等に好適なフィルタ装置及びデジタル放送受信装置に関する。
【背景技術】
【0002】
近年、MPEG2規格の符号化を採用したデジタル放送が開始されている。MPEG2規格において規定されたトランスポートストリーム(TS)は、188バイト固定長のパケット(TSパケット)によって構成されており、映像データ、音声データ及びその他のデータを伝送することができる。1つのTSパケットには同一種類のデータに関連する情報が多重され、そのデータの種類を示す識別子(PID)が付加される。
【0003】
また、TSパケットによってサービスインフォメーション(SI)と呼ばれる情報も伝送される。このサービスインフォメーションは、セクションと呼ばれる構造で伝送される。1つのセクション構造のデータ(以下、セクションデータ)は、テーブル番号、セクションの長さ、更新の有無(バージョン番号)等の様々な情報を含んでいる。デジタル放送受信装置では、順次入力されるTSパケットからPIDを参照して、同一PIDのTSパケットを選別し、更にセクションデータについても、予め定められた条件に従って選別する。
【0004】
セクションデータを選別するために用いるセクションフィルタは、セクションデータにて特定すべき情報(テーブル番号等)を条件(フィルタ条件)とし、入力データとフィルタ条件との一致比較によって、特定の情報を持つセクションデータを検出できる。セクションフィルタに複数のセクションデータを検出できるように、複数のフィルタ条件を設定できるようにしておくことで、セクションフィルタを用いて、様々なセクションデータを選別することができる。
【0005】
フィルタ条件には、通常、セクションデータに含まれるデータが持つ値(以下、データパターン)のうち、そのセクションデータだけが持つ特定のデータパターンを持つデータを設定する。例えば、特定のデータパターンを持つデータの長さが8バイト(64ビット)であれば、フィルタ条件も少なくとも8バイトの長さが必要となる。
【0006】
また、設定できるフィルタ条件の数(以下、フィルタ数という)を、例えば、8つとすることで、長さ8バイトまでの特定のデータパターンを持つ8種類のセクションデータを選別できる。
【0007】
このように特定のデータパターンを指定するために用いるフィルタ条件は、AND条件(リファレンスデータ)などと呼ばれる。
【0008】
しかし、特定するために必要となるデータの長さは、セクションデータの種類によって異なるため、従来は、概ね全てのセクションデータが特定できるだろう長さを予め想定し、全フィルタ条件で共通の長さまでを特定できるようにしてある。
【0009】
よって、予め想定したフィルタ条件の長さをmビット、フィルタ数をn個とすると、セクションフィルタとして、mxnビットの容量を持つメモリやレジスタなどの記憶素子が、フィルタ条件を記憶しておくために少なくとも必要となる(以下、メモリを代表にして説明する)。
【0010】
このように各フィルタ条件の長さを全フィルタで統一することで、各フィルタ条件の長さを記憶する必要がない。また、以降に述べるMASK条件を使用する方法で、mビットまでならフィルタ条件の長さに関係なく、メモリ領域を全フィルタ条件にて汎用的に使いまわすことができる。言い換えれば、あるフィルタ条件をある特定のデータパターン検出専用としていない。よって、全フィルタにてフィルタ条件の長さを統一することでフィルタ構造を簡素化できる。
【0011】
さて、AND条件の一部のデータを使用せずともあるデータパターンを特定することができる場合、そのAND条件のデータの一部、又は、全てを使用しないように指定するためのフィルタ条件として、MASK条件(マスクデータ)を併用する。
【0012】
例えば、AND条件の値を4'b1111、MASK条件の値を4'b0001とするとき、この条件にて特定できるデータパターンは4'b1111と4'b1110となる("4'b"はこれに続く数値が4ビットの2進数で表記していることを示す接頭記号)。つまり、MASK条件が"1"となっている位置のAND条件のデータがデータパターンを特定するために使われないことを示している。言い換えれば、その位置のデータの値がとりえる全パターン(本例では、"0"と"1"の2通り)のデータを検出させることを指定していることになる。
【0013】
なお、この例の通り、1つのフィルタ条件当たりのMASK条件の長さはAND条件の長さと同一であることが一般的であるが、使用しないように指定できるデータ範囲の長さの単位に応じて変えることもできる。例えば、その単位を1ビットとするなら、AND条件と同じ長さが必要となり、1バイト(8ビット)とするなら、AND条件の8分の1相当の長さが必要となる。以下、理解を容易とするため、AND条件とMASK条件の各データの長さを同じものとして説明する。
【0014】
また、MASK条件の有効極性を上記例では"1"とし、この時AND条件を使わないとして説明したが、これを"0"とし、MASK条件として4'b1110を与える例とすることもできる。以下、理解を容易とするため、MASK条件の有効極性は"1"として説明する。
【0015】
さらに、この例では、フィルタ条件としてAND条件とMASK条件の2種類が含まれることになるが、対象データ列との比較の仕方を増やして検出の柔軟性を上げるため、3種類以上の条件を用いることも可能であり、例えば、特許文献1には、AND条件、MASK条件、NOT条件(ノット条件)、NGRP条件(グループ条件)の4種類を用いるセクションフィルタが提案されている。例えば、NOT条件により、AND条件との不一致比較が可能となり、一致比較よりもより多くのデータパターンが検出できるようになる。以下、理解を容易とするため、フィルタ条件の種類をAND条件とMASK条件の2種類として説明する。
【0016】
以上のように、従来のセクションフィルタにおいて、各フィルタ条件を夫々記憶するメモリの領域は、論理的に同一の長さで構成されている。
【0017】
しかし、メモリに記憶されたフィルタ条件を用いてセクションデータを選別する際に、必要となる特定のデータの長さは、セクションデータの種類によって異なることは、前述した通りである。
【0018】
このような場合、MASK条件によってAND条件の一部のデータを無効化することで長さの違うデータパターンを特定できるが、もし、特定すべきデータと同じ長さのフィルタ条件のみがメモリに記憶されていたのなら、MASK条件にて無効化しているAND条件のデータは不要だったことになる。
【0019】
いま1つのフィルタ条件の長さが8バイトのセクションフィルタを考える。この場合、AND条件、及び、MASK条件の長さが夫々8バイトとあり、これら条件を使って特定するデータパターンの具体例として0x00010203_XXXXXXXX("X"は任意の4ビットの値を表す記号、"0x"はこれに続く数値を16進数で表記していることを示す接頭記号、"_"は数値を視認し易くするために挿入している記号)とする。つまり、前半の4バイトが特定のデータとなる例である。この例では、AND条件を0x00010203_00000000、MASK条件を0x00000000_FFFFFFFFとすることによって、特定すべきデータパターンを持つセクションデータを検出することができる。即ち、フィルタ条件として指定可能な8バイトのうち4バイトはどのようなデータパターンに対しても満足するデータパターンを指定しておくことになる。
【0020】
この時、メモリに記憶可能なフィルタ条件の最大の長さよりも、特定すべきデータの長さが短い場合には、どのデータに対しても満足させるフィルタ条件を指定しておかなければならない部分が存在していることになる。
【0021】
もし特定すべきデータと同じ長さのフィルタ条件のみがメモリに記憶されていたのなら、この部分は、他のフィルタ条件を記憶するために使用できたかもしれない領域であり、これを余剰部分と呼ぶ。
【0022】
よって、予め想定するフィルタ条件の長さを、特定すべきデータの最大の長さにした場合、特定すべきデータの長さがその長さよりも小さいセクションデータを検出することが多い場合に、余剰部分が多く存在することになり、無駄に回路を大きくすることになる。
【0023】
逆に、余剰部分を抑制しようとして、予め想定するフィルタ条件の長さを、特定すべきデータの最小の長さにした場合、その最小の長さよりも大きい長さのデータパターンを特定できないことになる。
【0024】
これを解決するひとつの方法として、例えば、特許文献2では、条件の何バイト目と比較するかを指定する比較位置情報を持つことで、条件を保持する回路規模の増加を抑制する方法が提案されている。しかし、この提案では、フィルタ数と特定すべきデータの長さに応じて比較位置情報を保持する回路の規模が大きくなり、また、全てのフィルタにおいて比較位置を逐次指定しなければならず制御が煩雑になるという問題がある。
【特許文献1】特開2005−190312号公報
【特許文献2】特開2002−185960号公報
【発明の開示】
【発明が解決しようとする課題】
【0025】
本発明は、フィルタ条件をメモリなどの記憶素子に記憶する場合に、予め想定した長さの単位格納領域に、あるデータパターンを特定するために必要となる1つのフィルタ条件の全て、又は、分割された一部を格納し、1つの単位格納領域に記憶されたデータを1つのフィルタ条件として比較するか、2つ以上の単位格納領域に分割記憶された部分データを連結して復元できる1つのフィルタ条件として比較するかを識別することにより、メモリの余剰部分を予め想定した長さよりも大きい長さの特定のデータを持つセクションデータの検出に有効利用し、セクションフィルタの回路規模の増加を抑制できるフィルタ装置及びデジタル放送受信装置を提供することを目的とする。
【課題を解決するための手段】
【0026】
本発明の一態様のフィルタ装置は、対象データ列に含まれる特定のデータ列を検出するフィルタ装置において、Nビット(N:1以上の整数)の単位格納領域を複数有し、前記特定のデータ列に応じM(M:1以上の整数)ビットのデータ長を有するフィルタ条件を前記単位格納領域に記憶しているものであって、前記フィルタ条件の長さMビットが前記単位格納領域の長さがNビットよりも大きい場合には、前記フィルタ条件がNビット毎に分割された部分フィルタ条件を複数の前記単位格納領域に記憶している条件格納部と、前記単位格納領域に記憶されているデータが前記部分フィルタ条件に分割された一部であるか否かを示す分割の有無を連結情報として連結情報レジスタと、記単位格納領域に記憶されているデータが前記部分フィルタ条件の場合には、対応する前記連結情報に基づいて復元できる前記Mビットのデータ長を有するフィルタ条件との等価な比較を前記対象データ列と行うことで、前記対象データ列に前記特定のデータ列が含まれるか否かを検出する比較部と、を具備したことを特徴とするものであり、
本発明の一態様のデジタル放送受信装置は、デジタル放送ストリームが入力する入力部と、入力されたデジタル放送ストリームを構成するパケットから所定の識別子を有するパケットを選別するために用いる第1フィルタと、 第2フィルタとして、前記第1フィルタを用いて選別されたパケットの一部又は全てが対象データ列として入力され、特定のデータ列を有するパケットを選別するために用いる請求項1乃至4のいずれか1つに記載のフィルタ装置と、前記第1フィルタ又は前記第2フィルタを用いて選別されたパケットの一部又は全てを出力する出力部と、前記出力部にて出力される映像データを復号化する映像デコーダと、前記出力部にて出力される音声データを復号化する音声デコーダと、前記出力部にて出力されるセクションデータに基づいてデジタル放送信号の受信処理を行うホストプロセッサと、を具備したことを特徴とする。
【発明の効果】
【0027】
本発明は、フィルタ条件をメモリなどの記憶素子に記憶する場合に、予め想定した長さの単位格納領域に、あるデータパターンを特定するために必要となる1つのフィルタ条件の全て、又は、分割された一部を格納し、1つの単位格納領域に記憶されたデータを1つのフィルタ条件として比較するか、2つ以上の単位格納領域に分割記憶された部分データを連結して復元できる1つのフィルタ条件として比較するかを識別することにより、メモリの余剰部分を予め想定した長さよりも大きい長さの特定のデータを持つセクションデータの検出に有効利用し、セクションフィルタの回路規模の増加を抑制できるフィルタ装置及びデジタル放送受信装置を提供することを目的とする。
【発明を実施するための最良の形態】
【0028】
以下、図面を参照して本発明の実施の形態について詳細に説明する。
【0029】
(第1の実施の形態)
図1は本発明の第1の実施の形態に係るフィルタ装置を示すブロック図である。
【0030】
フィルタ装置11は、条件格納部12、比較部13、制御部14及び連結情報レジスタ15によって構成されている。比較部13には対象データが入力される。本フィルタ装置を用いて選別すべきデータがARIB(Association of Radio Industries and Business)規格の放送ストリームで伝送されてくる場合には、比較部13にはPIDフィルタを用いて選別されたTSパケットの一部又は全てが対象データとして入力される。
【0031】
条件格納部12には、フィルタ条件がメモリ内の論理的な領域である単位格納領域に記憶される。本実施の形態においては、単位格納領域の長さ(容量)の具体例を8バイトとし、この領域が32個ある場合を例に説明する。各領域は番号0から31にて区別する。
【0032】
本実施の形態において、フィルタ条件の長さが単位格納領域の長さよりも長い場合には、このフィルタ条件を単位格納領域の長さ毎に分割し、分割されたフィルタ条件の各部分(以下、部分フィルタ条件という)を2つ以上の単位格納領域に分割して記憶する。
【0033】
フィルタ条件の長さが単位格納領域の長さ以下の場合には、1つの単位格納領域に記憶する。
【0034】
本実施の形態においては、フィルタ条件が9バイト以上のときに、分割して記憶することになり、分割は2つまでとなる。つまり、特定すべきデータとして最大16バイトまで比較が行える例である。
【0035】
なお、単位格納領域の長さに満たない部分フィルタ条件、又は、フィルタ条件においては、どんなデータパターンに対しても満足するデータパターンのデータを補間し、単位格納領域の長さに合わせる。
【0036】
さらに条件格納部12には、AND条件格納部21及びMASK条件格納部24が設けられている。AND条件格納部21は、フィルタ条件のうちAND条件を記憶しておくためのものであり、MASK条件格納部24は、フィルタ条件のうちのMASK条件を記憶しておくためのものである。
【0037】
単位格納領域22には、k番(k=0〜31)の領域に記憶されるフィルタ条件、或いは、部分フィルタ条件のAND条件A(k)とMASK条件M(k)が含まれる。それぞれの領域には、AND条件:A(k)0〜A(k)7の8バイトと、各バイト位置に対応したMASK条件:M(k)0〜M(k)7の8バイトが含まれる。
【0038】
連結情報レジスタ15には、分割の有無が記憶される。
【0039】
本実施の形態においては、2t番(t=0〜15、つまり、0、2、4、・・・、30の偶数番)の単位格納領域22のそれぞれに分割の有無を記憶する領域J(2t)が割り当てられている。
【0040】
2t番と2t+1番の単位格納領域に1つのフィルタ条件が分割されている場合(分割有の場合)はJ(2t)の値を"1"にして、分割されていない場合(分割無の場合)は"0"にして、分割の有無を記憶している。よってJ(2t)領域の長さ(容量)は少なくとも1ビットあれば良い。
【0041】
この分割の有無は、連結情報として比較部13にて使用される。
【0042】
比較部13では、条件格納部12から順次フィルタ条件が与えられ、対象データと順次入力されるフィルタ条件とを比較し、その結果を出力する。
【0043】
この時、2つ以上の部分フィルタ条件は、連結情報をもとに1つのフィルタ条件であるものとして比較される。
【0044】
比較結果として、特定のデータパターンの検出の可否、又は、特定のデータパターンに一致したフィルタ条件の番号を出力する。
【0045】
なお、比較部13から出力される比較結果を特定のデータパターンと一致したフィルタ条件の番号に限定しているわけではない。例えば、不一致となった番号をあえて出力することも可能である。いずれにせよ、特定のデータパターンを対象データが含んでいたかどうかを判断できれば良く、そのために必要となる情報を出力する。
【0046】
また、出力形式も様々考えられるが、本実施の形態では特に限定されない。
【0047】
例えば、一致するフィルタ条件(特定のデータパターンが満足するフィルタ条件)の番号として0〜31(6'b000000〜6'b011111)番を通知するのであれば、検出できなかったことはフィルタ条件番号の範囲外の番号、例えば32(6'b100000)、とすることで6ビットの2進数として出力できる("6'b"はこれに続く数値を6ビットの2進数で表記していることを示す接頭記号)。
【0048】
或いは、一致するフィルタ条件の番号と同番号の位置にあるビットの値を"1"とする32ビットの値として出力することもできる。例えば、LSBのビットから0番と数える場合、一致するフィルタ番号が0番なら出力値は32'h0000_0001、15番なら32'h0000_8000、16番なら32'h8000_0000、0番と15番の両方なら32'h0000_8001となる("32'h"はこれに続く数値を32ビットの16進数で表記していることを示す接頭記号)。フィルタ番号そのものを2進数で通知するよりも、ビット数(回路規模)が増えるが、同時に一致する全てのフィルタ条件の番号(或いは、フィルタ番号)を通知できる利点がある。
【0049】
制御部14は、条件格納部12におけるフィルタ条件の読み出し、又は、書き込み、比較部13におけるフィルタ条件、連結情報、及び、対象データの供給、連結情報レジスタ15における連結情報の読み出し、又は、書き込み、その他フィルタ装置11が動作するために必要となる制御を行なう。なお、制御に必要な信号の図示は省略してある。
【0050】
ここで、連結情報レジスタの効果について、従来技術と比較することで説明する。
【0051】
図4は従来技術における条件格納部12に記憶されているフィルタ条件の様子を示す。
【0052】
図4では、従来技術における条件格納部12の単位格納領域22に相当する領域の長さが16バイトであり、この領域が32個含まれる場合のAND条件格納部21の様子を示している。つまり、各単位格納領域にAND条件としてA(k)0〜A(k)15(kは0〜31の整数)の16バイトの長さを有する例を示している。なお、図示は省略するが、MASK条件も同様に16バイトの長さを有するものとする。
【0053】
従来技術においては、1つの単位格納領域に1つのフィルタ条件が記憶されるようになっていることから、0乃至31番のフィルタ条件に対応する32個の単位格納領域が設けられている。理解を容易とするため、k番のフィルタ条件がk番の単位格納領域に記憶されるものとして説明する。
【0054】
仮にいま、8バイトの長さのデータを16個、16バイトの長さのデータを8個特定しなければならない場合を考える。
【0055】
単位格納領域の0番から15番の領域に8バイト長のデータを特定するためのフィルタ条件を、16番から23番の領域に16バイト長のデータを特定するためのフィルタ条件を、それぞれ記憶したとすると、図4の太枠で囲んだフィルタ条件のデータが特定するために少なくとも必要となる。
【0056】
つまり、k=0〜15番のAND条件においては、A(k)0〜A(k)7の8バイトが、k=16〜23番のAND条件においては、A(k)0〜A(k)15の16バイトが、それぞれ必要となる。
【0057】
また、k=0〜15番のAND条件において、A(k)8〜A(k)15の8バイトは、どんなデータパターンに対しても満足するデータパターンのデータを記憶させておく余剰部分となる。
【0058】
なお、24番〜31番の単位格納領域は、今回の例では使用されない未使用部分となる。言い換えれば、有効なフィルタ条件は記憶されていない領域となる。
【0059】
図2及び図3に本実施の形態における条件格納部12に記憶されているフィルタ条件の様子を示す。
【0060】
図2及び図3では、条件格納部12の単位格納領域22に相当する領域の長さが8バイトであり、この領域が32個含まれる場合のAND条件格納部21の様子を示している。つまり、各単位格納領域にAND条件としてA(k)0〜A(k)7(kは0〜31の整数)の8バイトの長さを有する例を示している。なお、図示は省略するが、MASK条件も同様に8バイトの長さを有するものとする。
【0061】
本実施の形態においては、1つ以上の単位格納領域に1つのフィルタ条件が記憶されるようになっていることから、従来技術と異なり、記憶できるフィルタ条件の数と単位格納領域の数は必ずしも一致しない。
【0062】
例えば、従来技術のように、1つの単位格納領域に1つのフィルタ条件を記憶した場合には、図2に示すように連結情報レジスタ15の全領域J(0)〜J(30)が"0" (連結情報OFF)となり、8バイトのフィルタ条件を32個記憶できる。
【0063】
理解を容易とするため、k番の単位格納領域に記憶されるフィルタ条件、又は、k番の単位格納領域に1番目の部分フィルタ条件が記憶されるフィルタ条件を、k番のフィルタ条件として説明する。
【0064】
本実施の形態では、2t番と2t+1番(t=0〜15)の単位格納領域を使って1つのフィルタ条件を最大2つに分割して記憶することができる。
【0065】
分割されている場合、連結情報レジスタの2t番の単位格納領域に対応する領域J(2t)が"1"(連結情報ON)となっており、分割されていなければ、J(2t)は"0"となっている。
【0066】
従来技術同様に、仮にいま、8バイトの長さのデータを16個、16バイトの長さのデータを8個特定しなければならない場合を考える。
【0067】
単位格納領域の0番から15番の領域に8バイト長のデータを特定するためのフィルタ条件を、16番から31番の領域に16バイト長のデータを特定するためのフィルタ条件を分割して、それぞれ記憶したとする。
【0068】
この場合、図3に示すとおり、単位格納領域0番から15番に対応する連結情報レジスタの値が連結情報OFFとなり、16番から31番に対応する連結情報レジスタの値が連結情報ONとなる。
【0069】
つまり、連結情報ONとなる2q番(q=8〜15、つまり、16、18、・・・、30の偶数番)の単位格納領域には、2q番のフィルタ条件の1番目の部分フィルタ条件が、2q+1番の単位格納領域には、2q番のフィルタ条件の2番目の部分フィルタ条件が、それぞれ記憶される。
【0070】
また、連結情報OFFとなる2p番(p=0〜7、つまり、0、2、・・・、14の偶数番)の単位格納領域には2p番のフィルタ条件が、これらと論理的に連続している2p+1番(1、3、・・・、15の奇数番)の単位格納領域には2p+1番のフィルタ条件が、それぞれ記憶される。
【0071】
連結情報ONとなる単位格納領域について、AND条件を例により詳しく説明する。
【0072】
2q番の単位格納領域のAND条件:A(2q)0〜A(2q)7に、2q番のフィルタの0番バイトから7番バイトのAND条件:A(2q)0〜A(2q)7が、
2q+1番の単位格納領域のAND条件:A(2q+1)0〜A(2q+1)7に、同フィルタの8番バイトから15番バイトのAND条件:A(2q)8〜A(2q)15が、それぞれ記憶される。
【0073】
よって、図2における2q+1番フィルタ条件が、図3では2q番フィルタ条件の部分フィルタ条件として使われることで、16バイト長のフィルタ条件を記憶していると表現することもできる。
【0074】
具体的には、16番のAND条件:A(16)0〜A(16)15は、16番の単位格納領域のAND条件部と、17番の単位格納領域のAND条件部に分割して記憶される。
【0075】
同様にして、18、20、22、・・・、30番のAND条件を、18,20,22…30番の単位格納領域と、19,21,23…31番の単位格納領域に分割して記憶する。
【0076】
MASK条件も同様に記憶することで、16個の単位格納領域22に8個の16バイト長のフィルタ条件を記憶することができる。
【0077】
上記の特定のデータ例は、8バイトのフィルタ条件にて特定できる16種類と、16バイトのフィルタ条件にて特定できる8種類との計24種類のセクションデータを選別する例に等しい。
【0078】
この時、本実施の形態(図3)においては、条件格納部12に含まれるメモリに少なくとも必要となる容量は、8バイト(単位格納領域の長さ)×32(フィルタ数)×2(フィルタ条件の種類数)=512バイト(4096ビット)となる。
【0079】
また、本実施の形態においては、連結情報としては、上述の通り少なくとも1ビットあれば良く、連結情報レジスタ15の総容量としては2バイト(16ビット)にできる。
【0080】
これに対し、従来技術(図4)においては、条件格納部12に含まれるメモリに少なくとも必要となる容量は、未使用部を除いた16(単位格納領域の長さ)x24(フィルタ数)x2(フィルタ条件の種類数)=768バイト(6144ビット)となる。
【0081】
当然ながら、従来技術においては、連結情報レジスタ15は存在しない。
【0082】
従って、本実施の形態によれば、従来技術に比べ、メモリやレジスタの総容量を768−512+2=254バイト(2032ビット)軽減させることができる。
【0083】
つまり、連結情報レジスタ15による回路規模の増加量にくらべ、余剰部を抑制することによる条件格納部12に含まれるメモリ容量(規模)の軽減量の方が大きく、その効果が容易に理解できよう。
【0084】
以上、第1の実施の形態について説明したが、本実施の形態はこの構成にのみ限定されるものではなく、請求項の範囲内において様々な変形が可能であり、本実施の形態はこれら全て含む。
【0085】
例えば、制御部14が比較部13にフィルタ条件を供給する場合、フィルタ条件の番号順に順次0番から31番までのフィルタ条件を供給する方法や、いくつかの番号のみのフィルタ条件を限定して供給する方法が考えられるが、本実施の形態はいずれの場合も含む。
【0086】
また、フィルタ条件がAND条件及びMASK条件の2種類の構成としているが、フィルタ条件が1種類、又は、3種類以上の条件によって構成される場合でも、同様に適用可能であることは明らかであり、本実施の形態はこれらを含む。
【0087】
(第2の実施の形態)
図5は本発明の第2の実施の形態を示すブロック図である。図5において図1と同一の構成要素には同一符号を付して説明を省略する。
【0088】
さらに理解を容易とするため、特に断りのない限り、第1の実施の形態と前提を同じとして説明する。
【0089】
図1においては、2つの単位格納領域毎に1ビットを割り当てた連結情報レジスタ15を採用し、最大2つの単位格納領域に部分フィルタ条件を分割できる2連結の例について説明した。分割できる部分フィルタ条件の数は本実施の形態が適応されるフィルタ装置又は受信装置が検出すべき特定のデータパターンの長さやその分布などから定めれば良い。本実施の形態では最大4つの部分フィルタ条件に分割できるようにした4連結の例を示す。
【0090】
本実施の形態におけるフィルタ装置31は、連結情報レジスタ15に代えて連結情報レジスタ32を採用した点が第1の実施の形態と異なる。
【0091】
つまり、連結情報レジスタ32に分割の有無が記憶され、本実施の形態においては、4t番(t=0〜7、つまり、0、4、8、・・・、28の偶数番)の単位格納領域22のそれぞれに分割の有無を記憶する領域J(4t)が割り当てられている。
【0092】
J(4t)の値は、4t番の単位格納領域から記憶されたフィルタ条件が、何個の連続する単位格納領域に分割されたかを示しており、本実施の形態では、最大4個までの部分フィルタ条件に分割してフィルタ条件を条件格納部12に記憶できる例となる。つまり、連結情報レジスタ32におけるJ(4t)の領域の長さ(容量)は少なくとも2ビットあれば良い。
【0093】
理解を容易とするために、J(4t)の値として0〜3の4通りとし、4t番の具体例として0番を用いて、フィルタ条件の分割の仕方を補足する。
【0094】
例えば、J(0)=3の場合は、フィルタ条件が連続する単位格納領域に4分割されて記憶されていることを示しており、
0番の単位格納領域に0番のフィルタ条件の1番目の部分フィルタ条件が
1番の単位格納領域に0番のフィルタ条件の2番目の部分フィルタ条件が、
2番の単位格納領域に0番のフィルタ条件の3番目の部分フィルタ条件が、
3番の単位格納領域に0番のフィルタ条件の4番目の部分フィルタ条件が、
それぞれ記憶されている。
【0095】
すなわち、この場合には、0番のフィルタ条件のデータ長(フィルタ条件の長さ)として最大32バイトのフィルタ条件が記憶できることになる。
【0096】
また、J(0)=2の場合は、フィルタ条件が連続する単位格納領域に3分割されて記憶されていることを示しており、
0番の単位格納領域に0番のフィルタ条件の1番目の部分フィルタ条件が、
1番の単位格納領域に0番のフィルタ条件の2番目の部分フィルタ条件が、
2番の単位格納領域に0番のフィルタ条件の3番目の部分フィルタ条件が、
3番の単位格納領域に3番のフィルタ条件が、
それぞれ記憶されている。
【0097】
すなわち、この場合には、0番のフィルタ条件の長さとして最大24バイト、3番のフィルタ条件の長さとして最大8バイトのフィルタ条件が記憶できることになる。
【0098】
また、J(0)=1場合は、フィルタ条件が連続する単位格納領域に2分割されて記憶されることを示しており、
0番の単位格納領域に0番のフィルタ条件の1番目の部分フィルタ条件が、
1番の単位格納領域に0番のフィルタ条件の2番目の部分フィルタ条件が、
2番の単位格納領域に2番のフィルタ条件が、
3番の単位格納領域に3番のフィルタ条件が、
それぞれ記憶されている。
【0099】
すなわち、この場合には、0番のフィルタ条件の長さとして最大16バイト、2番及び3番のフィルタ条件の長さとして最大8バイトのフィルタ条件が記憶できることになる。
【0100】
また、J(0)=0の場合は、フィルタ条件が分割されずに格納されることを示しており、
0番の単位格納領域に0番のフィルタ条件が、
1番の単位格納領域に1番のフィルタ条件が、
2番の単位格納領域に2番のフィルタ条件が、
3番の単位格納領域に3番のフィルタ条件が、
それぞれ記憶されている。
【0101】
すなわち、この場合には、0番、1番、2番及び3番のフィルタ条件の長さとして最大8バイトのフィルタ条件が記憶できることになる。
【0102】
図6は本実施の形態における4連結のパターンを示す説明図であり、4t、4t+1、4t+2、4t+3の各番号の単位格納領域22の連結情報J(k)(k=0〜31の整数)に応じて、分割記憶できるフィルタ条件のデータ長(バイト数)を示している。
【0103】
つまり、連結パターン数は、上記の通りJ(4t)の値が取りえる0〜3の4種類となり、
"0"なら4t番、4t+1番、4t+2番、4t+3番それぞれの単位格納領域に8バイトのフィルタ条件が記憶できることを、
"1"なら4t番と4t+1番の単位格納領域を連結して16バイトのフィルタ条件と、4t+2番と4t+3番それぞれの単位格納領域には8バイトのフィルタ条件が記憶できることを、
"2"なら4t〜4t+2番の単位格納領域を連結して24バイトのフィルタ条件と、4t+3番それぞれの単位格納領域には8バイトのフィルタ条件が記憶できることを、
"3"なら4t〜4t+3の単位格納領域を連結して32バイトのフィルタ条件が記憶できることを、それぞれ示している。
【0104】
このように、本実施の形態においては、連結段数を第1の実施の形態(2連結)よりも増やすことで、フィルタ条件のデータ長が単位格納領域の長さよりも十分に長い場合にも余剰部を抑制することができる。
【0105】
(第3の実施の形態)
図7は本発明の第3の実施の形態を示すブロック図である。図7において図1と同一の構成要素には同一符号を付して説明を省略する。
【0106】
さらに理解を容易とするため、特に断りのない限り、第1の実施の形態と前提を同じとして説明する。
【0107】
本実施の形態は、余剰部をフィルタ条件のデータ長が16バイト及び24バイトのセクションフィルタとして利用できる数を第2の実施の形態よりも増加させた例である。
【0108】
本実施の形態におけるフィルタ装置41は、連結情報レジスタ32に代えて連結情報レジスタ42を採用した点が第2の実施の形態と異なる。
【0109】
つまり、連結情報レジスタ42に分割の有無が記憶され、本実施の形態においては、p=4t、4t+1、4t+2の各番号(t=0〜7、つまり、p=0、1、2、4、5、6、・・・、28、29、30の番号)の単位格納領域22のそれぞれに分割の有無を記憶する領域J(p)が割り当てられている。
【0110】
言い換えると、q=4t+3番の単位格納領域22には分割の有無を記憶する領域としてJ(q)(q=3、7、11、・・・、31の番号)が割り当てられていない。
【0111】
また、第1の実施の形態同様に、4t番と4t+1番の単位格納領域に1つのフィルタ条件の全て又は一部が分割されている場合、J(4t)の値が"1"となり、
4t+1番と4t+2番の単位格納領域に1つのフィルタ条件の全て又は一部が分割されている場合、J(4t+1)の値が"1"となり、
4t+2番と4t+3番の単位格納領域に1つのフィルタ条件の全て又は一部が分割されている場合、J(4t+2)の値が"1"となり、
分割されていなければ、それぞれ"0"として、分割の有無を記憶している。よってJ(p)領域の長さ(容量)は少なくとも1ビットあれば良い。
【0112】
第2の実施の形態同様、理解を容易とするために、4t番の具体例として0番を用いて、フィルタ条件の分割の仕方を補足する。
【0113】
例えば、J(0)=1、J(1)=0、J(2)=0の場合は、
0番の単位格納領域に0番のフィルタ条件の1番目の部分フィルタ条件が、
1番の単位格納領域に0番のフィルタ条件の2番目の部分フィルタ条件が、
2番の単位格納領域に2番のフィルタ条件が、
3番の単位格納領域に3番のフィルタ条件が、
それぞれ記憶されている。
【0114】
すなわち、この場合には、0番のフィルタ条件の長さとして最大16バイト、2番及び3番のフィルタ条件の長さとして最大8バイトのフィルタ条件が記憶できることになる。
【0115】
また、J(0)=1、J(1)=1、J(2)=0の場合は、
0番の単位格納領域に0番のフィルタ条件の1番目の部分フィルタ条件が、
1番の単位格納領域に0番のフィルタ条件の2番目の部分フィルタ条件が、
2番の単位格納領域に0番のフィルタ条件の3番目の部分フィルタ条件が、
3番の単位格納領域に3番のフィルタ条件が、
それぞれ記憶されている。
【0116】
すなわち、この場合には、0番のフィルタ条件の長さとして最大24バイト、3番のフィルタ条件の長さとして最大8バイトのフィルタ条件が記憶できることになる。
【0117】
また、J(0)=1、J(1)=1、J(2)=1の場合は、
0番の単位格納領域に0番のフィルタ条件の1番目の部分フィルタ条件が、
1番の単位格納領域に0番のフィルタ条件の2番目の部分フィルタ条件が、
2番の単位格納領域に0番のフィルタ条件の3番目の部分フィルタ条件が、
3番の単位格納領域に0番のフィルタ条件の4番目の部分フィルタ条件が、
それぞれ記憶される。
【0118】
すなわち、この場合には、0番のフィルタ条件の長さとして最大32バイトのフィルタ条件が記憶できることになる。
【0119】
また、J(0)=0、J(1)=1、J(2)=0の場合は、
0番の単位格納領域に0番のフィルタ条件が、
1番の単位格納領域に1番のフィルタ条件の1番目の部分フィルタ条件が、
2番の単位格納領域に1番のフィルタ条件の2番目の部分フィルタ条件が、
3番の単位格納領域に3番のフィルタ条件が、
それぞれ記憶されている。
【0120】
すなわち、この場合には、0番及び3番のフィルタ条件の長さとして最大8バイト、1番のフィルタ条件の長さとして最大16バイトのフィルタ条件が記憶できることになる。
【0121】
また、J(0)=1、J(1)=0、J(2)=1の場合は、
0番の単位格納領域に0番のフィルタ条件の1番目の部分フィルタ条件が、
1番の単位格納領域に0番のフィルタ条件の2番目の部分フィルタ条件が、
2番の単位格納領域に2番のフィルタ条件の1番目の部分フィルタ条件が、
3番の単位格納領域に2番のフィルタ条件の2番目の部分フィルタ条件が、
それぞれ記憶される。
【0122】
すなわち、この場合には、0番及び2番のフィルタ条件の長さとして最大16バイトのフィルタ条件が記憶できることになる。
【0123】
また、J(0)=0、J(1)=1、J(2)=1の場合は、
0番の単位格納領域に0番のフィルタ条件が、
1番の単位格納領域に1番のフィルタ条件の1番目の部分フィルタ条件が、
2番の単位格納領域に1番のフィルタ条件の2番目の部分フィルタ条件が、
3番の単位格納領域に1番のフィルタ条件の3番目の部分フィルタ条件が、
それぞれ記憶される。
【0124】
すなわち、この場合には、0番のフィルタ条件の長さとして最大8バイト、1番のフィルタ条件の長さとして最大24バイトのフィルタ条件が記憶できることになる。
【0125】
また、J(0)=0、J(1)=0、J(2)=1の場合は、
0番の単位格納領域に0番のフィルタ条件が、
1番の単位格納領域に1番のフィルタ条件が、
2番の単位格納領域に2番のフィルタ条件の1番目の部分フィルタ条件が、
3番の単位格納領域に2番のフィルタ条件の2番目の部分フィルタ条件が、
それぞれ記憶される。
【0126】
すなわち、この場合には、0番及び1番のフィルタ条件の長さとして最大8バイト、2番のフィルタ条件の長さとして最大24バイトのフィルタ条件が記憶できることになる。
【0127】
また、J(0)=0、J(1)=0、J(2)=0の場合は、
0番の単位格納領域に0番のフィルタ条件が、
1番の単位格納領域に1番のフィルタ条件が、
2番の単位格納領域に2番のフィルタ条件が、
3番の単位格納領域に3番のフィルタ条件が、
それぞれ記憶されている。
【0128】
すなわち、この場合には、0番、1番、2番及び3番のフィルタ条件の長さとして最大8バイトのフィルタ条件が記憶できることになる。
【0129】
図8は本実施の形態における4連結のパターンを示す説明図であり、図6同様、4t、4t+1、4t+2、4t+3の各番号の単位格納領域22の連結情報J(k)(k=0〜31の整数)に応じて、分割記憶できるフィルタ条件のデータ長(バイト数)を示している。全連結パターンが8つとなり、第2の実施の形態(図6)と比べ、最大16バイトのフィルタ条件が記憶できる連結パターンが1、2、4、5と、4通りに増加しており、かつ、最大24バイトのフィルタ条件が記憶できる連結パターンも3、6と、2通りに増加していることがわかる。
【0130】
第2の実施の形態(図5)の連結情報レジスタ32の総容量は少なくとも2(4連結単位に必要となる連結情報のビット数)x8(最大4連結まで行える単位格納領域の数)=16ビットが必要となり、本実施の形態(図7)の連結情報レジスタ42の総容量は少なくとも3x8=24ビットとなる。つまり、第3の実施の形態は、第2の実施の形態より連結情報レジスタの総容量として8ビット増加するが、第1の実施の形態(図1)で説明した条件格納部12に含まれるメモリの軽減量(256バイト=2048ビット)に比べ、十分小さい回路規模増加で、同じ4連結である第2の実施の形態よりもより多くの連結パターンにて16バイト及び24バイトのフィルタ条件の分割記憶に対応している。
【0131】
このように、本実施の形態においては、連結情報レジスタに記憶する情報を論理的に連続する単位格納領域に1つのフィルタ条件の全て又は一部が分割記憶されているかを、4t番、4t+1番、4t+2番の領域に連続的に記憶しておくことで、フィルタ条件のデータ長が単位格納領域の長さよりも十分に長い場合にも、利用頻度が比較的高い、例えば8バイト及び16バイトの、フィルタ条件の記憶領域として余剰部を使いまわせる数(連結パターン)を同じ4連結の第2の実施の形態より増やすことができる。
【0132】
(第4の実施の形態)
図9は本発明の第4の実施の形態を示すブロック図である。図9において図1と同一の構成要素には同一符号を付して説明を省略する。
【0133】
さらに理解を容易とするため、特に断りのない限り、第1の実施の形態と前提を同じとして説明する。
【0134】
本実施の形態は、32バイトよりもさらに大きい長さのフィルタ条件を分割記憶可能とする例である。
【0135】
本実施の形態におけるフィルタ装置51は、連結情報レジスタ15に代えて連結情報レジスタ52を採用した点が第1の実施の形態と異なる。
【0136】
つまり、連結情報レジスタ52に分割の有無が記憶され、本実施の形態においては、p=0〜30の各番号の単位格納領域22のそれぞれに分割の有無を記憶する領域J(p)が割り当てられている。
【0137】
言い換えると、31番の単位格納領域22には分割の有無を記憶する領域としてJ(31)が割り当てられていない。
【0138】
また、第1の実施の形態同様に、t番とt+1番(t=0〜30)の単位格納領域に1つのフィルタ条件の全て又は一部が分割されている場合、J(t)の値が"1"となり、分割されていなければ"0"として、分割の有無を記憶している。よってJ(p)領域の長さ(容量)は少なくとも1ビットあれば良い。
【0139】
第2の実施の形態同様、理解を容易とするために、t番の具体例として0番を用いて、フィルタ条件の分割の仕方を補足する。なお、本実施の形態では、J(0)〜J(30)の値が全て"1"となる場合、8バイトx32=256バイトのフィルタ条件を分割記憶していることになるが、これ以外にも多くの連結パターンを有しており、これら全てを補足することは難しい。しかし、連結の仕方は第3の実施の形態と同様であるため、ここでは一例を補足するのみとする。
【0140】
例えば、J(0)=J(1)=J(2)=J(3)=J(4)=1、J(5)=0の場合は、
0番の単位格納領域に0番のフィルタ条件の1番目の部分フィルタ条件が、
1番の単位格納領域に0番のフィルタ条件の2番目の部分フィルタ条件が、
2番の単位格納領域に0番のフィルタ条件の3番目の部分フィルタ条件が、
3番の単位格納領域に0番のフィルタ条件の4番目の部分フィルタ条件が、
4番の単位格納領域に0番のフィルタ条件の5番目の部分フィルタ条件が、
5番の単位格納領域に0番のフィルタ条件の6番目の部分フィルタ条件が、
それぞれ記憶されている。
【0141】
この場合には、0番のフィルタ条件の長さとして最大48バイトのフィルタ条件が記憶できることになる。
【0142】
つまり、その値が"1"となるJ(p)が連続する数に応じて分割記憶できるフィルタ条件の最大の長さを大きくすることができる。
【0143】
上記例では、その値が"0"となるJ(5)より前の番号の連結情報J(0)〜J(4)の5つが連続して"1"となっていることから、8(1単位格納領域当たりの長さ)+8(1単位格納領域当たりの長さ)x5(連続数)=48バイトが分割記憶できる0番のフィルタ条件の最大の長さとなる。
【0144】
仮にJ(t)〜J(t+6)が連続して"1"であり、J(t+7)が"0"なら、t番のフィルタ条件の長さとして最大64バイトのフィルタ条件が記憶できることになる。
【0145】
このように本実施の形態においては、第1の実施の形態と同様の効果が得られると共に、24バイト及び32バイトよりもさらに大きい長さのフィルタ条件を分割記憶することを可能としている。
【0146】
(第5の実施の形態)
図10は本発明の第5の実施の形態を示すブロック図である。図10において図1と同一の構成要素には同一符号を付して説明を省略する。
【0147】
さらに理解を容易とするため、特に断りのない限り、第1の実施の形態と前提を同じとして説明する。
【0148】
本実施の形態は、32バイトよりもさらに大きい長さのフィルタ条件を、任意番号の単格納領域を使って分割記憶可能とする例であり、部分フィルタ条件の記憶先として選べる単位格納領域に第4の実施の形態よりも自由度を向上させた例である。
【0149】
本実施の形態におけるフィルタ装置61は、連結情報レジスタ15に代えて連結情報レジスタ62を採用した点が第1の実施の形態と異なる。
【0150】
つまり、連結情報レジスタ62に分割の有無が記憶され、本実施の形態においては、p=0〜31の全番号の単位格納領域22のそれぞれに分割の有無を記憶する領域J(p)が割り当てられている。
【0151】
なお、これまでの実施の形態と異なり、x番とy番の単位格納領域に1つのフィルタ条件の全て又は一部が分割されている場合、J(x)の値が"y"となり、分割されていなければ"x"として、分割の有無を記憶している。よってJ(p)領域の長さ(容量)は少なくとも5ビットあれば良い。
【0152】
第2の実施の形態同様、理解を容易とするために、x番とy番の具体例を用いて、フィルタ条件の分割の仕方を補足する。なお、本実施の形態では、J(0)〜J(31)の値が全て対応する単位格納領域と同じ番号となる場合、8バイトx32=256バイトのフィルタ条件を分割記憶していることになるが、これ以外にも多くの連結パターンを有しており、これら全てを補足することは難しい。しかし、連結の仕方は簡単であるため、ここでは一例を補足するのみとする。
【0153】
例えば、連結情報J(0)=10、J(10)=20、J(20)=30、J(30)=40、J(40)=50、J(50)=50とした場合は、
0番、10番、20番、30番、40番及び50番の単位格納領域に1つのフィルタ条件が部分フィルタ条件に分割して記憶されており、詳しくは、
0番の単位格納領域に0番のフィルタ条件の1番目の部分フィルタ条件が、
10番の単位格納領域に0番のフィルタ条件の2番目の部分フィルタ条件が、
20番の単位格納領域に0番のフィルタ条件の3番目の部分フィルタ条件が、
30番の単位格納領域に0番のフィルタ条件の4番目の部分フィルタ条件が、
40番の単位格納領域に0番のフィルタ条件の5番目の部分フィルタ条件が、
50番の単位格納領域に0番のフィルタ条件の6番目の部分フィルタ条件が、
それぞれ記憶されている。
【0154】
すなわち、この場合には、0番のフィルタ条件の長さとして最大48バイトのフィルタ条件が記憶できることになる。
【0155】
つまり、その値が対応する単位格納領域の番号と違うJ(p)が連続する数に応じて分割記憶できるフィルタ条件の最大の長さを大きくすることができる。
【0156】
上記例では、その値が対応する単位格納領域の番号(50番)と同じとなるJ(50)より以前の連結情報J(0)、J(10)、J(20)、J(30)、J(40)の5つが連鎖していることから、8(1単位格納領域当たりの長さ)+8(1単位格納領域当たりの長さ)x5(連鎖数)=48バイトが分割記憶できる0番フィルタ条件の最大の長さとなる。
【0157】
このように本実施の形態においては、第1の実施の形態と同様の効果が得られると共に、24バイト及び32バイトよりもさらに大きい長さのフィルタ条件を任意番号の単位格納領域を用いて分割記憶することを可能としている。2つ以上の部分フィルタ条件に分割して記憶する場合に、任意番号の単位格納領域とすることで、第2、第3の実施の形態のように、4t〜4t+2番に24バイトの長さの4t番フィルタ条件を記憶した場合に、4t+3番は自動的に8バイトの長さのフィルタ条件の記憶場所としてしか使えなくなるといったことがなくなり、分割時の単位格納領域の組み合わせの自由度を向上させることができる。
【0158】
(第6の実施の形態)
図11は本発明の第6の実施の形態を示し、これまで説明してきた上記各実施の形態に係るフィルタ装置が組み込まれたデジタル放送受信装置を示すブロック図である。
【0159】
図11において、少なくともPIDフィルタ部74、セクションフィルタ部80、ホストプロセッサ75、ビデオデコーダ77、オーディオデコーダ78及びデータバス76は同一のチップ85上に形成されている。
【0160】
図11に示すように、無線周波数によるストリームデータがアンテナ71を介してチューナ72に入力される。チューナ72は、入力された無線周波数の信号をベースバンド信号に変換して復調器73に出力する。復調器73は、入力されたベースバンド信号を復調処理してTSパケットから成るTSをデータ入出力部81に出力する。復調処理には、例えば、アナログ信号からデジタル信号への変換、受信信号が多重変調されている場合は多重復調、その他誤り訂正処理等が含まれる。なお、2つのチューナ、或いは、それ以上のチューナを搭載する受信装置においては、それらのチューナにも同様にアンテナ71、或いは、図示を省略する別のアンテナが接続されているものとする。
【0161】
データ入出力部81は、復調器73からTSを受け取るための入力ポートを少なくとも1つ持ち、少なくとも次の機能が備わっている。
【0162】
1.入力ポートから入力するTSを受け取り、TSパケットを識別する。
【0163】
2.識別されたTSパケットから所望のデータ(デジタル放送される番組を再生するのに必要となるデータ)が多重されているTSパケットを特定する情報(PID、入力ポート番号など、少なくともいずれか1つ)を抽出し、これを比較対象データpf−dtとしてPIDフィルタ部74に出力する。
【0164】
3.PIDフィルタ部74から出力される比較結果pf−reを受け取り、この値に応じて、所望のデータが含まれているTSパケットを選別する。
【0165】
4.選別されたパケットに含まれる所望のデータがビデオデータ、或いは、オーディオデータであれば、これらを少なくとも含む部分をデータバス76に出力する。
【0166】
5.選別されたパケットに含まれる所望のデータがセクションデータであれば、さらに特定する情報(テーブル番号、バージョン番号など、少なくとも何れか1つ)を抽出し、これを比較対象データsf−dtとしてセクションフィルタ部80に出力する。
【0167】
6.セクションフィルタ部80から出力される比較結果sf−reを受け取り、この値に応じて、セクションデータを少なくとも含む部分を、データバス76に出力する。
【0168】
データバス76には、データ入出力部81の他に、ビデオデコーダ77、オーディオデコーダ78、ホストプロセッサ75、メモリ79が接続されている。
【0169】
データ入出力部81から出力データバス76に出力されるビデオデータ、オーディオデータ、セクションデータは、メモリ79に設けられた専用のバッファ領域を介してビデオデコーダ77、オーディオデコーダ78、ホストプロセッサ75に供給される。なお、図示は省略するが、メモリ79を介さずに、データ入出力部81からの出力データを、ビデオデコーダ77、オーディオデコーダ78、ホストプロセッサ75、それぞれに直接取り込ませることも可能である。
【0170】
ビデオデコーダ77は取り込んだビデオデータをデコードし、その結果得られる映像情報をバックエンドプロセッサ(BEP)82に出力する。バックエンドプロセッサ82は、この映像情報に色補正などの各種画像処理を施して表示部83にて表示させる。オーディオデコーダ78は取り込んだオーディオデータをデコードし、その結果得られる音声情報をスピーカ84にて響かせる。
【0171】
PIDフィルタ部74は、少なくとも1つ以上のフィルタ条件(以下、PIDフィルタ条件)を有し、それぞれのフィルタ条件には選別対象のTSパケットが持つPIDの値が少なくとも設定されている。予め設定されているPIDフィルタ条件と、データ入出力部81から出力される比較対象データpf−dtとを比較し、その比較結果pf−reをデータ入出力部81に出力する。
【0172】
セクションフィルタ部80は、少なくとも1つ以上のフィルタ条件(以下、セクションフィルタ条件)を有し、それぞれのフィルタ条件には選別対象のセクションデータが持つ特定のデータパターンと同じ値がAND条件に少なくとも設定されている。予め設定されているセクションフィルタ条件と、データ入出力部81から出力される比較対象データsf−dtとを比較し、その比較結果sf−reをデータ入出力部81に出力する。
【0173】
つまり、上記各実施の形態に係るフィルタ装置にて、このセクションフィルタ部80は構成されている。
【0174】
具体的には、上記で説明した各実施の形態のブロック図(図1、図5、図7、図9、図10)の各図に示す「対象データ」が図11の比較対象データsf−dtに、各図の「比較結果」が図11の比較結果sf−reに、それぞれ相当する。
【0175】
また、連結情報レジスタを有し、フィルタ条件の分割の有無をこのレジスタに記憶し、単位格納領域の番号に応じた連結情報レジスタの連結情報に基づき、分割される前のフィルタ条件との等価な比較が行われる。
【0176】
以上のように、上記各実施の形態に係るフィルタ装置は、デジタル放送受信装置に適応することが可能であることを説明した。
【0177】
最後に、連結情報をもとに2つ以上の部分フィルタ条件を1つのフィルタ条件であるものとして等価に比較する方法、つまり、比較部13の構成について補足しておく。
【0178】
等価な比較方法には大きく2通りある。例えば、第1の実施の形態の2連結を用いて説明すると、
1つは、2つの部分フィルタ条件を連結して(組み合わせて)16バイトのフィルタ条件を復元後、この復元された条件と16バイトの対象データとを比較する方法である。
【0179】
もう一つは、1番目の部分フィルタ条件と16バイトの前半8バイトの対象データとを比較しておき、2番目の部分フィルタ条件と16バイトの後半8バイトの対象データとを比較する際に、前半8バイトの比較結果と統合する方法である。
【0180】
つまり、前者はフィルタ条件そのものを復元してから比較を行う方法(以下、復元比較)であり、後者は単位格納領域毎に行った比較結果を統合していく方法(以下、統合比較)である。
【0181】
なお、統合に必要となる比較結果(統合向け結果)は最終出力の比較結果(最終向け結果)とは異なる形式を取り得る。
【0182】
これは、最終向け結果としてフィルタ番号を返す構成の場合、統合向け結果としては部分フィルタ条件をその種類毎に満足したか否かの状態としておく方が望ましい場合があるからである。
【0183】
例えば、特許文献1にあるNOT条件を考える。NOT条件の定義は「指定したビットと同じ位置にあるビットのうち、AND条件と不一致なビットが対象データ内に少なくとも1つ存在する場合、NOT条件を満足している」となる。
【0184】
よって、もしNOT条件が指定されたビットが上記の前半8バイトと後半8バイトの両方に存在している場合、
NOT条件が指定されたビットにおいて、前半8バイトではAND条件と不一致になるビットが存在しなくとも、後半8バイトに1ビットでもAND条件と不一致となるビットが存在すれば、16バイトの対象データとしては条件を満足することになる。
【0185】
この時、もし前半8バイトにて最終比較結果をもとめてから統合しようとしてしまうと、満足しなかった理由がNOT条件に依るものなのか、AND条件そのもの(NOT条件が指定されていないビット)に依るのかが判断できず、正しく後半8バイトの比較結果と統合することができない。
【0186】
すなわち、統合比較においては、使う条件の種類に応じて、統合向け結果をそれぞれ求めておき、これらを統合して最終比較結果をもとめるべき場合がある。
【0187】
本実施の形態は復元比較、統合比較のいずれの比較部の構成においても適応可能であり、本実施の形態はいずれも含む。
【図面の簡単な説明】
【0188】
【図1】本発明の第1の実施の形態に係るフィルタ装置を示すブロック図。
【図2】図1中のAND条件格納部21の具体的な構成を示す説明図。
【図3】図1中のAND条件格納部21の具体的な構成を示す説明図。
【図4】従来技術におけるAND条件格納部の具体的な構成を示す説明図。
【図5】本発明の第2の実施の形態を示すブロック図。
【図6】第2の実施の形態における4連結のパターンを示す説明図。
【図7】本発明の第3の実施の形態を示すブロック図。
【図8】第3の実施の形態における4連結のパターンを示す説明図。
【図9】本発明の第4の実施の形態を示すブロック図。
【図10】本発明の第5の実施の形態を示すブロック図。
【図11】本発明の第6の実施の形態を示すブロック図。
【符号の説明】
【0189】
11…フィルタ装置、12…条件格納部、13…比較部、14…制御部、15…連結情報レジスタ。
【技術分野】
【0001】
本発明は、例えばデジタルテレビやデジタルレコーダ等に好適なフィルタ装置及びデジタル放送受信装置に関する。
【背景技術】
【0002】
近年、MPEG2規格の符号化を採用したデジタル放送が開始されている。MPEG2規格において規定されたトランスポートストリーム(TS)は、188バイト固定長のパケット(TSパケット)によって構成されており、映像データ、音声データ及びその他のデータを伝送することができる。1つのTSパケットには同一種類のデータに関連する情報が多重され、そのデータの種類を示す識別子(PID)が付加される。
【0003】
また、TSパケットによってサービスインフォメーション(SI)と呼ばれる情報も伝送される。このサービスインフォメーションは、セクションと呼ばれる構造で伝送される。1つのセクション構造のデータ(以下、セクションデータ)は、テーブル番号、セクションの長さ、更新の有無(バージョン番号)等の様々な情報を含んでいる。デジタル放送受信装置では、順次入力されるTSパケットからPIDを参照して、同一PIDのTSパケットを選別し、更にセクションデータについても、予め定められた条件に従って選別する。
【0004】
セクションデータを選別するために用いるセクションフィルタは、セクションデータにて特定すべき情報(テーブル番号等)を条件(フィルタ条件)とし、入力データとフィルタ条件との一致比較によって、特定の情報を持つセクションデータを検出できる。セクションフィルタに複数のセクションデータを検出できるように、複数のフィルタ条件を設定できるようにしておくことで、セクションフィルタを用いて、様々なセクションデータを選別することができる。
【0005】
フィルタ条件には、通常、セクションデータに含まれるデータが持つ値(以下、データパターン)のうち、そのセクションデータだけが持つ特定のデータパターンを持つデータを設定する。例えば、特定のデータパターンを持つデータの長さが8バイト(64ビット)であれば、フィルタ条件も少なくとも8バイトの長さが必要となる。
【0006】
また、設定できるフィルタ条件の数(以下、フィルタ数という)を、例えば、8つとすることで、長さ8バイトまでの特定のデータパターンを持つ8種類のセクションデータを選別できる。
【0007】
このように特定のデータパターンを指定するために用いるフィルタ条件は、AND条件(リファレンスデータ)などと呼ばれる。
【0008】
しかし、特定するために必要となるデータの長さは、セクションデータの種類によって異なるため、従来は、概ね全てのセクションデータが特定できるだろう長さを予め想定し、全フィルタ条件で共通の長さまでを特定できるようにしてある。
【0009】
よって、予め想定したフィルタ条件の長さをmビット、フィルタ数をn個とすると、セクションフィルタとして、mxnビットの容量を持つメモリやレジスタなどの記憶素子が、フィルタ条件を記憶しておくために少なくとも必要となる(以下、メモリを代表にして説明する)。
【0010】
このように各フィルタ条件の長さを全フィルタで統一することで、各フィルタ条件の長さを記憶する必要がない。また、以降に述べるMASK条件を使用する方法で、mビットまでならフィルタ条件の長さに関係なく、メモリ領域を全フィルタ条件にて汎用的に使いまわすことができる。言い換えれば、あるフィルタ条件をある特定のデータパターン検出専用としていない。よって、全フィルタにてフィルタ条件の長さを統一することでフィルタ構造を簡素化できる。
【0011】
さて、AND条件の一部のデータを使用せずともあるデータパターンを特定することができる場合、そのAND条件のデータの一部、又は、全てを使用しないように指定するためのフィルタ条件として、MASK条件(マスクデータ)を併用する。
【0012】
例えば、AND条件の値を4'b1111、MASK条件の値を4'b0001とするとき、この条件にて特定できるデータパターンは4'b1111と4'b1110となる("4'b"はこれに続く数値が4ビットの2進数で表記していることを示す接頭記号)。つまり、MASK条件が"1"となっている位置のAND条件のデータがデータパターンを特定するために使われないことを示している。言い換えれば、その位置のデータの値がとりえる全パターン(本例では、"0"と"1"の2通り)のデータを検出させることを指定していることになる。
【0013】
なお、この例の通り、1つのフィルタ条件当たりのMASK条件の長さはAND条件の長さと同一であることが一般的であるが、使用しないように指定できるデータ範囲の長さの単位に応じて変えることもできる。例えば、その単位を1ビットとするなら、AND条件と同じ長さが必要となり、1バイト(8ビット)とするなら、AND条件の8分の1相当の長さが必要となる。以下、理解を容易とするため、AND条件とMASK条件の各データの長さを同じものとして説明する。
【0014】
また、MASK条件の有効極性を上記例では"1"とし、この時AND条件を使わないとして説明したが、これを"0"とし、MASK条件として4'b1110を与える例とすることもできる。以下、理解を容易とするため、MASK条件の有効極性は"1"として説明する。
【0015】
さらに、この例では、フィルタ条件としてAND条件とMASK条件の2種類が含まれることになるが、対象データ列との比較の仕方を増やして検出の柔軟性を上げるため、3種類以上の条件を用いることも可能であり、例えば、特許文献1には、AND条件、MASK条件、NOT条件(ノット条件)、NGRP条件(グループ条件)の4種類を用いるセクションフィルタが提案されている。例えば、NOT条件により、AND条件との不一致比較が可能となり、一致比較よりもより多くのデータパターンが検出できるようになる。以下、理解を容易とするため、フィルタ条件の種類をAND条件とMASK条件の2種類として説明する。
【0016】
以上のように、従来のセクションフィルタにおいて、各フィルタ条件を夫々記憶するメモリの領域は、論理的に同一の長さで構成されている。
【0017】
しかし、メモリに記憶されたフィルタ条件を用いてセクションデータを選別する際に、必要となる特定のデータの長さは、セクションデータの種類によって異なることは、前述した通りである。
【0018】
このような場合、MASK条件によってAND条件の一部のデータを無効化することで長さの違うデータパターンを特定できるが、もし、特定すべきデータと同じ長さのフィルタ条件のみがメモリに記憶されていたのなら、MASK条件にて無効化しているAND条件のデータは不要だったことになる。
【0019】
いま1つのフィルタ条件の長さが8バイトのセクションフィルタを考える。この場合、AND条件、及び、MASK条件の長さが夫々8バイトとあり、これら条件を使って特定するデータパターンの具体例として0x00010203_XXXXXXXX("X"は任意の4ビットの値を表す記号、"0x"はこれに続く数値を16進数で表記していることを示す接頭記号、"_"は数値を視認し易くするために挿入している記号)とする。つまり、前半の4バイトが特定のデータとなる例である。この例では、AND条件を0x00010203_00000000、MASK条件を0x00000000_FFFFFFFFとすることによって、特定すべきデータパターンを持つセクションデータを検出することができる。即ち、フィルタ条件として指定可能な8バイトのうち4バイトはどのようなデータパターンに対しても満足するデータパターンを指定しておくことになる。
【0020】
この時、メモリに記憶可能なフィルタ条件の最大の長さよりも、特定すべきデータの長さが短い場合には、どのデータに対しても満足させるフィルタ条件を指定しておかなければならない部分が存在していることになる。
【0021】
もし特定すべきデータと同じ長さのフィルタ条件のみがメモリに記憶されていたのなら、この部分は、他のフィルタ条件を記憶するために使用できたかもしれない領域であり、これを余剰部分と呼ぶ。
【0022】
よって、予め想定するフィルタ条件の長さを、特定すべきデータの最大の長さにした場合、特定すべきデータの長さがその長さよりも小さいセクションデータを検出することが多い場合に、余剰部分が多く存在することになり、無駄に回路を大きくすることになる。
【0023】
逆に、余剰部分を抑制しようとして、予め想定するフィルタ条件の長さを、特定すべきデータの最小の長さにした場合、その最小の長さよりも大きい長さのデータパターンを特定できないことになる。
【0024】
これを解決するひとつの方法として、例えば、特許文献2では、条件の何バイト目と比較するかを指定する比較位置情報を持つことで、条件を保持する回路規模の増加を抑制する方法が提案されている。しかし、この提案では、フィルタ数と特定すべきデータの長さに応じて比較位置情報を保持する回路の規模が大きくなり、また、全てのフィルタにおいて比較位置を逐次指定しなければならず制御が煩雑になるという問題がある。
【特許文献1】特開2005−190312号公報
【特許文献2】特開2002−185960号公報
【発明の開示】
【発明が解決しようとする課題】
【0025】
本発明は、フィルタ条件をメモリなどの記憶素子に記憶する場合に、予め想定した長さの単位格納領域に、あるデータパターンを特定するために必要となる1つのフィルタ条件の全て、又は、分割された一部を格納し、1つの単位格納領域に記憶されたデータを1つのフィルタ条件として比較するか、2つ以上の単位格納領域に分割記憶された部分データを連結して復元できる1つのフィルタ条件として比較するかを識別することにより、メモリの余剰部分を予め想定した長さよりも大きい長さの特定のデータを持つセクションデータの検出に有効利用し、セクションフィルタの回路規模の増加を抑制できるフィルタ装置及びデジタル放送受信装置を提供することを目的とする。
【課題を解決するための手段】
【0026】
本発明の一態様のフィルタ装置は、対象データ列に含まれる特定のデータ列を検出するフィルタ装置において、Nビット(N:1以上の整数)の単位格納領域を複数有し、前記特定のデータ列に応じM(M:1以上の整数)ビットのデータ長を有するフィルタ条件を前記単位格納領域に記憶しているものであって、前記フィルタ条件の長さMビットが前記単位格納領域の長さがNビットよりも大きい場合には、前記フィルタ条件がNビット毎に分割された部分フィルタ条件を複数の前記単位格納領域に記憶している条件格納部と、前記単位格納領域に記憶されているデータが前記部分フィルタ条件に分割された一部であるか否かを示す分割の有無を連結情報として連結情報レジスタと、記単位格納領域に記憶されているデータが前記部分フィルタ条件の場合には、対応する前記連結情報に基づいて復元できる前記Mビットのデータ長を有するフィルタ条件との等価な比較を前記対象データ列と行うことで、前記対象データ列に前記特定のデータ列が含まれるか否かを検出する比較部と、を具備したことを特徴とするものであり、
本発明の一態様のデジタル放送受信装置は、デジタル放送ストリームが入力する入力部と、入力されたデジタル放送ストリームを構成するパケットから所定の識別子を有するパケットを選別するために用いる第1フィルタと、 第2フィルタとして、前記第1フィルタを用いて選別されたパケットの一部又は全てが対象データ列として入力され、特定のデータ列を有するパケットを選別するために用いる請求項1乃至4のいずれか1つに記載のフィルタ装置と、前記第1フィルタ又は前記第2フィルタを用いて選別されたパケットの一部又は全てを出力する出力部と、前記出力部にて出力される映像データを復号化する映像デコーダと、前記出力部にて出力される音声データを復号化する音声デコーダと、前記出力部にて出力されるセクションデータに基づいてデジタル放送信号の受信処理を行うホストプロセッサと、を具備したことを特徴とする。
【発明の効果】
【0027】
本発明は、フィルタ条件をメモリなどの記憶素子に記憶する場合に、予め想定した長さの単位格納領域に、あるデータパターンを特定するために必要となる1つのフィルタ条件の全て、又は、分割された一部を格納し、1つの単位格納領域に記憶されたデータを1つのフィルタ条件として比較するか、2つ以上の単位格納領域に分割記憶された部分データを連結して復元できる1つのフィルタ条件として比較するかを識別することにより、メモリの余剰部分を予め想定した長さよりも大きい長さの特定のデータを持つセクションデータの検出に有効利用し、セクションフィルタの回路規模の増加を抑制できるフィルタ装置及びデジタル放送受信装置を提供することを目的とする。
【発明を実施するための最良の形態】
【0028】
以下、図面を参照して本発明の実施の形態について詳細に説明する。
【0029】
(第1の実施の形態)
図1は本発明の第1の実施の形態に係るフィルタ装置を示すブロック図である。
【0030】
フィルタ装置11は、条件格納部12、比較部13、制御部14及び連結情報レジスタ15によって構成されている。比較部13には対象データが入力される。本フィルタ装置を用いて選別すべきデータがARIB(Association of Radio Industries and Business)規格の放送ストリームで伝送されてくる場合には、比較部13にはPIDフィルタを用いて選別されたTSパケットの一部又は全てが対象データとして入力される。
【0031】
条件格納部12には、フィルタ条件がメモリ内の論理的な領域である単位格納領域に記憶される。本実施の形態においては、単位格納領域の長さ(容量)の具体例を8バイトとし、この領域が32個ある場合を例に説明する。各領域は番号0から31にて区別する。
【0032】
本実施の形態において、フィルタ条件の長さが単位格納領域の長さよりも長い場合には、このフィルタ条件を単位格納領域の長さ毎に分割し、分割されたフィルタ条件の各部分(以下、部分フィルタ条件という)を2つ以上の単位格納領域に分割して記憶する。
【0033】
フィルタ条件の長さが単位格納領域の長さ以下の場合には、1つの単位格納領域に記憶する。
【0034】
本実施の形態においては、フィルタ条件が9バイト以上のときに、分割して記憶することになり、分割は2つまでとなる。つまり、特定すべきデータとして最大16バイトまで比較が行える例である。
【0035】
なお、単位格納領域の長さに満たない部分フィルタ条件、又は、フィルタ条件においては、どんなデータパターンに対しても満足するデータパターンのデータを補間し、単位格納領域の長さに合わせる。
【0036】
さらに条件格納部12には、AND条件格納部21及びMASK条件格納部24が設けられている。AND条件格納部21は、フィルタ条件のうちAND条件を記憶しておくためのものであり、MASK条件格納部24は、フィルタ条件のうちのMASK条件を記憶しておくためのものである。
【0037】
単位格納領域22には、k番(k=0〜31)の領域に記憶されるフィルタ条件、或いは、部分フィルタ条件のAND条件A(k)とMASK条件M(k)が含まれる。それぞれの領域には、AND条件:A(k)0〜A(k)7の8バイトと、各バイト位置に対応したMASK条件:M(k)0〜M(k)7の8バイトが含まれる。
【0038】
連結情報レジスタ15には、分割の有無が記憶される。
【0039】
本実施の形態においては、2t番(t=0〜15、つまり、0、2、4、・・・、30の偶数番)の単位格納領域22のそれぞれに分割の有無を記憶する領域J(2t)が割り当てられている。
【0040】
2t番と2t+1番の単位格納領域に1つのフィルタ条件が分割されている場合(分割有の場合)はJ(2t)の値を"1"にして、分割されていない場合(分割無の場合)は"0"にして、分割の有無を記憶している。よってJ(2t)領域の長さ(容量)は少なくとも1ビットあれば良い。
【0041】
この分割の有無は、連結情報として比較部13にて使用される。
【0042】
比較部13では、条件格納部12から順次フィルタ条件が与えられ、対象データと順次入力されるフィルタ条件とを比較し、その結果を出力する。
【0043】
この時、2つ以上の部分フィルタ条件は、連結情報をもとに1つのフィルタ条件であるものとして比較される。
【0044】
比較結果として、特定のデータパターンの検出の可否、又は、特定のデータパターンに一致したフィルタ条件の番号を出力する。
【0045】
なお、比較部13から出力される比較結果を特定のデータパターンと一致したフィルタ条件の番号に限定しているわけではない。例えば、不一致となった番号をあえて出力することも可能である。いずれにせよ、特定のデータパターンを対象データが含んでいたかどうかを判断できれば良く、そのために必要となる情報を出力する。
【0046】
また、出力形式も様々考えられるが、本実施の形態では特に限定されない。
【0047】
例えば、一致するフィルタ条件(特定のデータパターンが満足するフィルタ条件)の番号として0〜31(6'b000000〜6'b011111)番を通知するのであれば、検出できなかったことはフィルタ条件番号の範囲外の番号、例えば32(6'b100000)、とすることで6ビットの2進数として出力できる("6'b"はこれに続く数値を6ビットの2進数で表記していることを示す接頭記号)。
【0048】
或いは、一致するフィルタ条件の番号と同番号の位置にあるビットの値を"1"とする32ビットの値として出力することもできる。例えば、LSBのビットから0番と数える場合、一致するフィルタ番号が0番なら出力値は32'h0000_0001、15番なら32'h0000_8000、16番なら32'h8000_0000、0番と15番の両方なら32'h0000_8001となる("32'h"はこれに続く数値を32ビットの16進数で表記していることを示す接頭記号)。フィルタ番号そのものを2進数で通知するよりも、ビット数(回路規模)が増えるが、同時に一致する全てのフィルタ条件の番号(或いは、フィルタ番号)を通知できる利点がある。
【0049】
制御部14は、条件格納部12におけるフィルタ条件の読み出し、又は、書き込み、比較部13におけるフィルタ条件、連結情報、及び、対象データの供給、連結情報レジスタ15における連結情報の読み出し、又は、書き込み、その他フィルタ装置11が動作するために必要となる制御を行なう。なお、制御に必要な信号の図示は省略してある。
【0050】
ここで、連結情報レジスタの効果について、従来技術と比較することで説明する。
【0051】
図4は従来技術における条件格納部12に記憶されているフィルタ条件の様子を示す。
【0052】
図4では、従来技術における条件格納部12の単位格納領域22に相当する領域の長さが16バイトであり、この領域が32個含まれる場合のAND条件格納部21の様子を示している。つまり、各単位格納領域にAND条件としてA(k)0〜A(k)15(kは0〜31の整数)の16バイトの長さを有する例を示している。なお、図示は省略するが、MASK条件も同様に16バイトの長さを有するものとする。
【0053】
従来技術においては、1つの単位格納領域に1つのフィルタ条件が記憶されるようになっていることから、0乃至31番のフィルタ条件に対応する32個の単位格納領域が設けられている。理解を容易とするため、k番のフィルタ条件がk番の単位格納領域に記憶されるものとして説明する。
【0054】
仮にいま、8バイトの長さのデータを16個、16バイトの長さのデータを8個特定しなければならない場合を考える。
【0055】
単位格納領域の0番から15番の領域に8バイト長のデータを特定するためのフィルタ条件を、16番から23番の領域に16バイト長のデータを特定するためのフィルタ条件を、それぞれ記憶したとすると、図4の太枠で囲んだフィルタ条件のデータが特定するために少なくとも必要となる。
【0056】
つまり、k=0〜15番のAND条件においては、A(k)0〜A(k)7の8バイトが、k=16〜23番のAND条件においては、A(k)0〜A(k)15の16バイトが、それぞれ必要となる。
【0057】
また、k=0〜15番のAND条件において、A(k)8〜A(k)15の8バイトは、どんなデータパターンに対しても満足するデータパターンのデータを記憶させておく余剰部分となる。
【0058】
なお、24番〜31番の単位格納領域は、今回の例では使用されない未使用部分となる。言い換えれば、有効なフィルタ条件は記憶されていない領域となる。
【0059】
図2及び図3に本実施の形態における条件格納部12に記憶されているフィルタ条件の様子を示す。
【0060】
図2及び図3では、条件格納部12の単位格納領域22に相当する領域の長さが8バイトであり、この領域が32個含まれる場合のAND条件格納部21の様子を示している。つまり、各単位格納領域にAND条件としてA(k)0〜A(k)7(kは0〜31の整数)の8バイトの長さを有する例を示している。なお、図示は省略するが、MASK条件も同様に8バイトの長さを有するものとする。
【0061】
本実施の形態においては、1つ以上の単位格納領域に1つのフィルタ条件が記憶されるようになっていることから、従来技術と異なり、記憶できるフィルタ条件の数と単位格納領域の数は必ずしも一致しない。
【0062】
例えば、従来技術のように、1つの単位格納領域に1つのフィルタ条件を記憶した場合には、図2に示すように連結情報レジスタ15の全領域J(0)〜J(30)が"0" (連結情報OFF)となり、8バイトのフィルタ条件を32個記憶できる。
【0063】
理解を容易とするため、k番の単位格納領域に記憶されるフィルタ条件、又は、k番の単位格納領域に1番目の部分フィルタ条件が記憶されるフィルタ条件を、k番のフィルタ条件として説明する。
【0064】
本実施の形態では、2t番と2t+1番(t=0〜15)の単位格納領域を使って1つのフィルタ条件を最大2つに分割して記憶することができる。
【0065】
分割されている場合、連結情報レジスタの2t番の単位格納領域に対応する領域J(2t)が"1"(連結情報ON)となっており、分割されていなければ、J(2t)は"0"となっている。
【0066】
従来技術同様に、仮にいま、8バイトの長さのデータを16個、16バイトの長さのデータを8個特定しなければならない場合を考える。
【0067】
単位格納領域の0番から15番の領域に8バイト長のデータを特定するためのフィルタ条件を、16番から31番の領域に16バイト長のデータを特定するためのフィルタ条件を分割して、それぞれ記憶したとする。
【0068】
この場合、図3に示すとおり、単位格納領域0番から15番に対応する連結情報レジスタの値が連結情報OFFとなり、16番から31番に対応する連結情報レジスタの値が連結情報ONとなる。
【0069】
つまり、連結情報ONとなる2q番(q=8〜15、つまり、16、18、・・・、30の偶数番)の単位格納領域には、2q番のフィルタ条件の1番目の部分フィルタ条件が、2q+1番の単位格納領域には、2q番のフィルタ条件の2番目の部分フィルタ条件が、それぞれ記憶される。
【0070】
また、連結情報OFFとなる2p番(p=0〜7、つまり、0、2、・・・、14の偶数番)の単位格納領域には2p番のフィルタ条件が、これらと論理的に連続している2p+1番(1、3、・・・、15の奇数番)の単位格納領域には2p+1番のフィルタ条件が、それぞれ記憶される。
【0071】
連結情報ONとなる単位格納領域について、AND条件を例により詳しく説明する。
【0072】
2q番の単位格納領域のAND条件:A(2q)0〜A(2q)7に、2q番のフィルタの0番バイトから7番バイトのAND条件:A(2q)0〜A(2q)7が、
2q+1番の単位格納領域のAND条件:A(2q+1)0〜A(2q+1)7に、同フィルタの8番バイトから15番バイトのAND条件:A(2q)8〜A(2q)15が、それぞれ記憶される。
【0073】
よって、図2における2q+1番フィルタ条件が、図3では2q番フィルタ条件の部分フィルタ条件として使われることで、16バイト長のフィルタ条件を記憶していると表現することもできる。
【0074】
具体的には、16番のAND条件:A(16)0〜A(16)15は、16番の単位格納領域のAND条件部と、17番の単位格納領域のAND条件部に分割して記憶される。
【0075】
同様にして、18、20、22、・・・、30番のAND条件を、18,20,22…30番の単位格納領域と、19,21,23…31番の単位格納領域に分割して記憶する。
【0076】
MASK条件も同様に記憶することで、16個の単位格納領域22に8個の16バイト長のフィルタ条件を記憶することができる。
【0077】
上記の特定のデータ例は、8バイトのフィルタ条件にて特定できる16種類と、16バイトのフィルタ条件にて特定できる8種類との計24種類のセクションデータを選別する例に等しい。
【0078】
この時、本実施の形態(図3)においては、条件格納部12に含まれるメモリに少なくとも必要となる容量は、8バイト(単位格納領域の長さ)×32(フィルタ数)×2(フィルタ条件の種類数)=512バイト(4096ビット)となる。
【0079】
また、本実施の形態においては、連結情報としては、上述の通り少なくとも1ビットあれば良く、連結情報レジスタ15の総容量としては2バイト(16ビット)にできる。
【0080】
これに対し、従来技術(図4)においては、条件格納部12に含まれるメモリに少なくとも必要となる容量は、未使用部を除いた16(単位格納領域の長さ)x24(フィルタ数)x2(フィルタ条件の種類数)=768バイト(6144ビット)となる。
【0081】
当然ながら、従来技術においては、連結情報レジスタ15は存在しない。
【0082】
従って、本実施の形態によれば、従来技術に比べ、メモリやレジスタの総容量を768−512+2=254バイト(2032ビット)軽減させることができる。
【0083】
つまり、連結情報レジスタ15による回路規模の増加量にくらべ、余剰部を抑制することによる条件格納部12に含まれるメモリ容量(規模)の軽減量の方が大きく、その効果が容易に理解できよう。
【0084】
以上、第1の実施の形態について説明したが、本実施の形態はこの構成にのみ限定されるものではなく、請求項の範囲内において様々な変形が可能であり、本実施の形態はこれら全て含む。
【0085】
例えば、制御部14が比較部13にフィルタ条件を供給する場合、フィルタ条件の番号順に順次0番から31番までのフィルタ条件を供給する方法や、いくつかの番号のみのフィルタ条件を限定して供給する方法が考えられるが、本実施の形態はいずれの場合も含む。
【0086】
また、フィルタ条件がAND条件及びMASK条件の2種類の構成としているが、フィルタ条件が1種類、又は、3種類以上の条件によって構成される場合でも、同様に適用可能であることは明らかであり、本実施の形態はこれらを含む。
【0087】
(第2の実施の形態)
図5は本発明の第2の実施の形態を示すブロック図である。図5において図1と同一の構成要素には同一符号を付して説明を省略する。
【0088】
さらに理解を容易とするため、特に断りのない限り、第1の実施の形態と前提を同じとして説明する。
【0089】
図1においては、2つの単位格納領域毎に1ビットを割り当てた連結情報レジスタ15を採用し、最大2つの単位格納領域に部分フィルタ条件を分割できる2連結の例について説明した。分割できる部分フィルタ条件の数は本実施の形態が適応されるフィルタ装置又は受信装置が検出すべき特定のデータパターンの長さやその分布などから定めれば良い。本実施の形態では最大4つの部分フィルタ条件に分割できるようにした4連結の例を示す。
【0090】
本実施の形態におけるフィルタ装置31は、連結情報レジスタ15に代えて連結情報レジスタ32を採用した点が第1の実施の形態と異なる。
【0091】
つまり、連結情報レジスタ32に分割の有無が記憶され、本実施の形態においては、4t番(t=0〜7、つまり、0、4、8、・・・、28の偶数番)の単位格納領域22のそれぞれに分割の有無を記憶する領域J(4t)が割り当てられている。
【0092】
J(4t)の値は、4t番の単位格納領域から記憶されたフィルタ条件が、何個の連続する単位格納領域に分割されたかを示しており、本実施の形態では、最大4個までの部分フィルタ条件に分割してフィルタ条件を条件格納部12に記憶できる例となる。つまり、連結情報レジスタ32におけるJ(4t)の領域の長さ(容量)は少なくとも2ビットあれば良い。
【0093】
理解を容易とするために、J(4t)の値として0〜3の4通りとし、4t番の具体例として0番を用いて、フィルタ条件の分割の仕方を補足する。
【0094】
例えば、J(0)=3の場合は、フィルタ条件が連続する単位格納領域に4分割されて記憶されていることを示しており、
0番の単位格納領域に0番のフィルタ条件の1番目の部分フィルタ条件が
1番の単位格納領域に0番のフィルタ条件の2番目の部分フィルタ条件が、
2番の単位格納領域に0番のフィルタ条件の3番目の部分フィルタ条件が、
3番の単位格納領域に0番のフィルタ条件の4番目の部分フィルタ条件が、
それぞれ記憶されている。
【0095】
すなわち、この場合には、0番のフィルタ条件のデータ長(フィルタ条件の長さ)として最大32バイトのフィルタ条件が記憶できることになる。
【0096】
また、J(0)=2の場合は、フィルタ条件が連続する単位格納領域に3分割されて記憶されていることを示しており、
0番の単位格納領域に0番のフィルタ条件の1番目の部分フィルタ条件が、
1番の単位格納領域に0番のフィルタ条件の2番目の部分フィルタ条件が、
2番の単位格納領域に0番のフィルタ条件の3番目の部分フィルタ条件が、
3番の単位格納領域に3番のフィルタ条件が、
それぞれ記憶されている。
【0097】
すなわち、この場合には、0番のフィルタ条件の長さとして最大24バイト、3番のフィルタ条件の長さとして最大8バイトのフィルタ条件が記憶できることになる。
【0098】
また、J(0)=1場合は、フィルタ条件が連続する単位格納領域に2分割されて記憶されることを示しており、
0番の単位格納領域に0番のフィルタ条件の1番目の部分フィルタ条件が、
1番の単位格納領域に0番のフィルタ条件の2番目の部分フィルタ条件が、
2番の単位格納領域に2番のフィルタ条件が、
3番の単位格納領域に3番のフィルタ条件が、
それぞれ記憶されている。
【0099】
すなわち、この場合には、0番のフィルタ条件の長さとして最大16バイト、2番及び3番のフィルタ条件の長さとして最大8バイトのフィルタ条件が記憶できることになる。
【0100】
また、J(0)=0の場合は、フィルタ条件が分割されずに格納されることを示しており、
0番の単位格納領域に0番のフィルタ条件が、
1番の単位格納領域に1番のフィルタ条件が、
2番の単位格納領域に2番のフィルタ条件が、
3番の単位格納領域に3番のフィルタ条件が、
それぞれ記憶されている。
【0101】
すなわち、この場合には、0番、1番、2番及び3番のフィルタ条件の長さとして最大8バイトのフィルタ条件が記憶できることになる。
【0102】
図6は本実施の形態における4連結のパターンを示す説明図であり、4t、4t+1、4t+2、4t+3の各番号の単位格納領域22の連結情報J(k)(k=0〜31の整数)に応じて、分割記憶できるフィルタ条件のデータ長(バイト数)を示している。
【0103】
つまり、連結パターン数は、上記の通りJ(4t)の値が取りえる0〜3の4種類となり、
"0"なら4t番、4t+1番、4t+2番、4t+3番それぞれの単位格納領域に8バイトのフィルタ条件が記憶できることを、
"1"なら4t番と4t+1番の単位格納領域を連結して16バイトのフィルタ条件と、4t+2番と4t+3番それぞれの単位格納領域には8バイトのフィルタ条件が記憶できることを、
"2"なら4t〜4t+2番の単位格納領域を連結して24バイトのフィルタ条件と、4t+3番それぞれの単位格納領域には8バイトのフィルタ条件が記憶できることを、
"3"なら4t〜4t+3の単位格納領域を連結して32バイトのフィルタ条件が記憶できることを、それぞれ示している。
【0104】
このように、本実施の形態においては、連結段数を第1の実施の形態(2連結)よりも増やすことで、フィルタ条件のデータ長が単位格納領域の長さよりも十分に長い場合にも余剰部を抑制することができる。
【0105】
(第3の実施の形態)
図7は本発明の第3の実施の形態を示すブロック図である。図7において図1と同一の構成要素には同一符号を付して説明を省略する。
【0106】
さらに理解を容易とするため、特に断りのない限り、第1の実施の形態と前提を同じとして説明する。
【0107】
本実施の形態は、余剰部をフィルタ条件のデータ長が16バイト及び24バイトのセクションフィルタとして利用できる数を第2の実施の形態よりも増加させた例である。
【0108】
本実施の形態におけるフィルタ装置41は、連結情報レジスタ32に代えて連結情報レジスタ42を採用した点が第2の実施の形態と異なる。
【0109】
つまり、連結情報レジスタ42に分割の有無が記憶され、本実施の形態においては、p=4t、4t+1、4t+2の各番号(t=0〜7、つまり、p=0、1、2、4、5、6、・・・、28、29、30の番号)の単位格納領域22のそれぞれに分割の有無を記憶する領域J(p)が割り当てられている。
【0110】
言い換えると、q=4t+3番の単位格納領域22には分割の有無を記憶する領域としてJ(q)(q=3、7、11、・・・、31の番号)が割り当てられていない。
【0111】
また、第1の実施の形態同様に、4t番と4t+1番の単位格納領域に1つのフィルタ条件の全て又は一部が分割されている場合、J(4t)の値が"1"となり、
4t+1番と4t+2番の単位格納領域に1つのフィルタ条件の全て又は一部が分割されている場合、J(4t+1)の値が"1"となり、
4t+2番と4t+3番の単位格納領域に1つのフィルタ条件の全て又は一部が分割されている場合、J(4t+2)の値が"1"となり、
分割されていなければ、それぞれ"0"として、分割の有無を記憶している。よってJ(p)領域の長さ(容量)は少なくとも1ビットあれば良い。
【0112】
第2の実施の形態同様、理解を容易とするために、4t番の具体例として0番を用いて、フィルタ条件の分割の仕方を補足する。
【0113】
例えば、J(0)=1、J(1)=0、J(2)=0の場合は、
0番の単位格納領域に0番のフィルタ条件の1番目の部分フィルタ条件が、
1番の単位格納領域に0番のフィルタ条件の2番目の部分フィルタ条件が、
2番の単位格納領域に2番のフィルタ条件が、
3番の単位格納領域に3番のフィルタ条件が、
それぞれ記憶されている。
【0114】
すなわち、この場合には、0番のフィルタ条件の長さとして最大16バイト、2番及び3番のフィルタ条件の長さとして最大8バイトのフィルタ条件が記憶できることになる。
【0115】
また、J(0)=1、J(1)=1、J(2)=0の場合は、
0番の単位格納領域に0番のフィルタ条件の1番目の部分フィルタ条件が、
1番の単位格納領域に0番のフィルタ条件の2番目の部分フィルタ条件が、
2番の単位格納領域に0番のフィルタ条件の3番目の部分フィルタ条件が、
3番の単位格納領域に3番のフィルタ条件が、
それぞれ記憶されている。
【0116】
すなわち、この場合には、0番のフィルタ条件の長さとして最大24バイト、3番のフィルタ条件の長さとして最大8バイトのフィルタ条件が記憶できることになる。
【0117】
また、J(0)=1、J(1)=1、J(2)=1の場合は、
0番の単位格納領域に0番のフィルタ条件の1番目の部分フィルタ条件が、
1番の単位格納領域に0番のフィルタ条件の2番目の部分フィルタ条件が、
2番の単位格納領域に0番のフィルタ条件の3番目の部分フィルタ条件が、
3番の単位格納領域に0番のフィルタ条件の4番目の部分フィルタ条件が、
それぞれ記憶される。
【0118】
すなわち、この場合には、0番のフィルタ条件の長さとして最大32バイトのフィルタ条件が記憶できることになる。
【0119】
また、J(0)=0、J(1)=1、J(2)=0の場合は、
0番の単位格納領域に0番のフィルタ条件が、
1番の単位格納領域に1番のフィルタ条件の1番目の部分フィルタ条件が、
2番の単位格納領域に1番のフィルタ条件の2番目の部分フィルタ条件が、
3番の単位格納領域に3番のフィルタ条件が、
それぞれ記憶されている。
【0120】
すなわち、この場合には、0番及び3番のフィルタ条件の長さとして最大8バイト、1番のフィルタ条件の長さとして最大16バイトのフィルタ条件が記憶できることになる。
【0121】
また、J(0)=1、J(1)=0、J(2)=1の場合は、
0番の単位格納領域に0番のフィルタ条件の1番目の部分フィルタ条件が、
1番の単位格納領域に0番のフィルタ条件の2番目の部分フィルタ条件が、
2番の単位格納領域に2番のフィルタ条件の1番目の部分フィルタ条件が、
3番の単位格納領域に2番のフィルタ条件の2番目の部分フィルタ条件が、
それぞれ記憶される。
【0122】
すなわち、この場合には、0番及び2番のフィルタ条件の長さとして最大16バイトのフィルタ条件が記憶できることになる。
【0123】
また、J(0)=0、J(1)=1、J(2)=1の場合は、
0番の単位格納領域に0番のフィルタ条件が、
1番の単位格納領域に1番のフィルタ条件の1番目の部分フィルタ条件が、
2番の単位格納領域に1番のフィルタ条件の2番目の部分フィルタ条件が、
3番の単位格納領域に1番のフィルタ条件の3番目の部分フィルタ条件が、
それぞれ記憶される。
【0124】
すなわち、この場合には、0番のフィルタ条件の長さとして最大8バイト、1番のフィルタ条件の長さとして最大24バイトのフィルタ条件が記憶できることになる。
【0125】
また、J(0)=0、J(1)=0、J(2)=1の場合は、
0番の単位格納領域に0番のフィルタ条件が、
1番の単位格納領域に1番のフィルタ条件が、
2番の単位格納領域に2番のフィルタ条件の1番目の部分フィルタ条件が、
3番の単位格納領域に2番のフィルタ条件の2番目の部分フィルタ条件が、
それぞれ記憶される。
【0126】
すなわち、この場合には、0番及び1番のフィルタ条件の長さとして最大8バイト、2番のフィルタ条件の長さとして最大24バイトのフィルタ条件が記憶できることになる。
【0127】
また、J(0)=0、J(1)=0、J(2)=0の場合は、
0番の単位格納領域に0番のフィルタ条件が、
1番の単位格納領域に1番のフィルタ条件が、
2番の単位格納領域に2番のフィルタ条件が、
3番の単位格納領域に3番のフィルタ条件が、
それぞれ記憶されている。
【0128】
すなわち、この場合には、0番、1番、2番及び3番のフィルタ条件の長さとして最大8バイトのフィルタ条件が記憶できることになる。
【0129】
図8は本実施の形態における4連結のパターンを示す説明図であり、図6同様、4t、4t+1、4t+2、4t+3の各番号の単位格納領域22の連結情報J(k)(k=0〜31の整数)に応じて、分割記憶できるフィルタ条件のデータ長(バイト数)を示している。全連結パターンが8つとなり、第2の実施の形態(図6)と比べ、最大16バイトのフィルタ条件が記憶できる連結パターンが1、2、4、5と、4通りに増加しており、かつ、最大24バイトのフィルタ条件が記憶できる連結パターンも3、6と、2通りに増加していることがわかる。
【0130】
第2の実施の形態(図5)の連結情報レジスタ32の総容量は少なくとも2(4連結単位に必要となる連結情報のビット数)x8(最大4連結まで行える単位格納領域の数)=16ビットが必要となり、本実施の形態(図7)の連結情報レジスタ42の総容量は少なくとも3x8=24ビットとなる。つまり、第3の実施の形態は、第2の実施の形態より連結情報レジスタの総容量として8ビット増加するが、第1の実施の形態(図1)で説明した条件格納部12に含まれるメモリの軽減量(256バイト=2048ビット)に比べ、十分小さい回路規模増加で、同じ4連結である第2の実施の形態よりもより多くの連結パターンにて16バイト及び24バイトのフィルタ条件の分割記憶に対応している。
【0131】
このように、本実施の形態においては、連結情報レジスタに記憶する情報を論理的に連続する単位格納領域に1つのフィルタ条件の全て又は一部が分割記憶されているかを、4t番、4t+1番、4t+2番の領域に連続的に記憶しておくことで、フィルタ条件のデータ長が単位格納領域の長さよりも十分に長い場合にも、利用頻度が比較的高い、例えば8バイト及び16バイトの、フィルタ条件の記憶領域として余剰部を使いまわせる数(連結パターン)を同じ4連結の第2の実施の形態より増やすことができる。
【0132】
(第4の実施の形態)
図9は本発明の第4の実施の形態を示すブロック図である。図9において図1と同一の構成要素には同一符号を付して説明を省略する。
【0133】
さらに理解を容易とするため、特に断りのない限り、第1の実施の形態と前提を同じとして説明する。
【0134】
本実施の形態は、32バイトよりもさらに大きい長さのフィルタ条件を分割記憶可能とする例である。
【0135】
本実施の形態におけるフィルタ装置51は、連結情報レジスタ15に代えて連結情報レジスタ52を採用した点が第1の実施の形態と異なる。
【0136】
つまり、連結情報レジスタ52に分割の有無が記憶され、本実施の形態においては、p=0〜30の各番号の単位格納領域22のそれぞれに分割の有無を記憶する領域J(p)が割り当てられている。
【0137】
言い換えると、31番の単位格納領域22には分割の有無を記憶する領域としてJ(31)が割り当てられていない。
【0138】
また、第1の実施の形態同様に、t番とt+1番(t=0〜30)の単位格納領域に1つのフィルタ条件の全て又は一部が分割されている場合、J(t)の値が"1"となり、分割されていなければ"0"として、分割の有無を記憶している。よってJ(p)領域の長さ(容量)は少なくとも1ビットあれば良い。
【0139】
第2の実施の形態同様、理解を容易とするために、t番の具体例として0番を用いて、フィルタ条件の分割の仕方を補足する。なお、本実施の形態では、J(0)〜J(30)の値が全て"1"となる場合、8バイトx32=256バイトのフィルタ条件を分割記憶していることになるが、これ以外にも多くの連結パターンを有しており、これら全てを補足することは難しい。しかし、連結の仕方は第3の実施の形態と同様であるため、ここでは一例を補足するのみとする。
【0140】
例えば、J(0)=J(1)=J(2)=J(3)=J(4)=1、J(5)=0の場合は、
0番の単位格納領域に0番のフィルタ条件の1番目の部分フィルタ条件が、
1番の単位格納領域に0番のフィルタ条件の2番目の部分フィルタ条件が、
2番の単位格納領域に0番のフィルタ条件の3番目の部分フィルタ条件が、
3番の単位格納領域に0番のフィルタ条件の4番目の部分フィルタ条件が、
4番の単位格納領域に0番のフィルタ条件の5番目の部分フィルタ条件が、
5番の単位格納領域に0番のフィルタ条件の6番目の部分フィルタ条件が、
それぞれ記憶されている。
【0141】
この場合には、0番のフィルタ条件の長さとして最大48バイトのフィルタ条件が記憶できることになる。
【0142】
つまり、その値が"1"となるJ(p)が連続する数に応じて分割記憶できるフィルタ条件の最大の長さを大きくすることができる。
【0143】
上記例では、その値が"0"となるJ(5)より前の番号の連結情報J(0)〜J(4)の5つが連続して"1"となっていることから、8(1単位格納領域当たりの長さ)+8(1単位格納領域当たりの長さ)x5(連続数)=48バイトが分割記憶できる0番のフィルタ条件の最大の長さとなる。
【0144】
仮にJ(t)〜J(t+6)が連続して"1"であり、J(t+7)が"0"なら、t番のフィルタ条件の長さとして最大64バイトのフィルタ条件が記憶できることになる。
【0145】
このように本実施の形態においては、第1の実施の形態と同様の効果が得られると共に、24バイト及び32バイトよりもさらに大きい長さのフィルタ条件を分割記憶することを可能としている。
【0146】
(第5の実施の形態)
図10は本発明の第5の実施の形態を示すブロック図である。図10において図1と同一の構成要素には同一符号を付して説明を省略する。
【0147】
さらに理解を容易とするため、特に断りのない限り、第1の実施の形態と前提を同じとして説明する。
【0148】
本実施の形態は、32バイトよりもさらに大きい長さのフィルタ条件を、任意番号の単格納領域を使って分割記憶可能とする例であり、部分フィルタ条件の記憶先として選べる単位格納領域に第4の実施の形態よりも自由度を向上させた例である。
【0149】
本実施の形態におけるフィルタ装置61は、連結情報レジスタ15に代えて連結情報レジスタ62を採用した点が第1の実施の形態と異なる。
【0150】
つまり、連結情報レジスタ62に分割の有無が記憶され、本実施の形態においては、p=0〜31の全番号の単位格納領域22のそれぞれに分割の有無を記憶する領域J(p)が割り当てられている。
【0151】
なお、これまでの実施の形態と異なり、x番とy番の単位格納領域に1つのフィルタ条件の全て又は一部が分割されている場合、J(x)の値が"y"となり、分割されていなければ"x"として、分割の有無を記憶している。よってJ(p)領域の長さ(容量)は少なくとも5ビットあれば良い。
【0152】
第2の実施の形態同様、理解を容易とするために、x番とy番の具体例を用いて、フィルタ条件の分割の仕方を補足する。なお、本実施の形態では、J(0)〜J(31)の値が全て対応する単位格納領域と同じ番号となる場合、8バイトx32=256バイトのフィルタ条件を分割記憶していることになるが、これ以外にも多くの連結パターンを有しており、これら全てを補足することは難しい。しかし、連結の仕方は簡単であるため、ここでは一例を補足するのみとする。
【0153】
例えば、連結情報J(0)=10、J(10)=20、J(20)=30、J(30)=40、J(40)=50、J(50)=50とした場合は、
0番、10番、20番、30番、40番及び50番の単位格納領域に1つのフィルタ条件が部分フィルタ条件に分割して記憶されており、詳しくは、
0番の単位格納領域に0番のフィルタ条件の1番目の部分フィルタ条件が、
10番の単位格納領域に0番のフィルタ条件の2番目の部分フィルタ条件が、
20番の単位格納領域に0番のフィルタ条件の3番目の部分フィルタ条件が、
30番の単位格納領域に0番のフィルタ条件の4番目の部分フィルタ条件が、
40番の単位格納領域に0番のフィルタ条件の5番目の部分フィルタ条件が、
50番の単位格納領域に0番のフィルタ条件の6番目の部分フィルタ条件が、
それぞれ記憶されている。
【0154】
すなわち、この場合には、0番のフィルタ条件の長さとして最大48バイトのフィルタ条件が記憶できることになる。
【0155】
つまり、その値が対応する単位格納領域の番号と違うJ(p)が連続する数に応じて分割記憶できるフィルタ条件の最大の長さを大きくすることができる。
【0156】
上記例では、その値が対応する単位格納領域の番号(50番)と同じとなるJ(50)より以前の連結情報J(0)、J(10)、J(20)、J(30)、J(40)の5つが連鎖していることから、8(1単位格納領域当たりの長さ)+8(1単位格納領域当たりの長さ)x5(連鎖数)=48バイトが分割記憶できる0番フィルタ条件の最大の長さとなる。
【0157】
このように本実施の形態においては、第1の実施の形態と同様の効果が得られると共に、24バイト及び32バイトよりもさらに大きい長さのフィルタ条件を任意番号の単位格納領域を用いて分割記憶することを可能としている。2つ以上の部分フィルタ条件に分割して記憶する場合に、任意番号の単位格納領域とすることで、第2、第3の実施の形態のように、4t〜4t+2番に24バイトの長さの4t番フィルタ条件を記憶した場合に、4t+3番は自動的に8バイトの長さのフィルタ条件の記憶場所としてしか使えなくなるといったことがなくなり、分割時の単位格納領域の組み合わせの自由度を向上させることができる。
【0158】
(第6の実施の形態)
図11は本発明の第6の実施の形態を示し、これまで説明してきた上記各実施の形態に係るフィルタ装置が組み込まれたデジタル放送受信装置を示すブロック図である。
【0159】
図11において、少なくともPIDフィルタ部74、セクションフィルタ部80、ホストプロセッサ75、ビデオデコーダ77、オーディオデコーダ78及びデータバス76は同一のチップ85上に形成されている。
【0160】
図11に示すように、無線周波数によるストリームデータがアンテナ71を介してチューナ72に入力される。チューナ72は、入力された無線周波数の信号をベースバンド信号に変換して復調器73に出力する。復調器73は、入力されたベースバンド信号を復調処理してTSパケットから成るTSをデータ入出力部81に出力する。復調処理には、例えば、アナログ信号からデジタル信号への変換、受信信号が多重変調されている場合は多重復調、その他誤り訂正処理等が含まれる。なお、2つのチューナ、或いは、それ以上のチューナを搭載する受信装置においては、それらのチューナにも同様にアンテナ71、或いは、図示を省略する別のアンテナが接続されているものとする。
【0161】
データ入出力部81は、復調器73からTSを受け取るための入力ポートを少なくとも1つ持ち、少なくとも次の機能が備わっている。
【0162】
1.入力ポートから入力するTSを受け取り、TSパケットを識別する。
【0163】
2.識別されたTSパケットから所望のデータ(デジタル放送される番組を再生するのに必要となるデータ)が多重されているTSパケットを特定する情報(PID、入力ポート番号など、少なくともいずれか1つ)を抽出し、これを比較対象データpf−dtとしてPIDフィルタ部74に出力する。
【0164】
3.PIDフィルタ部74から出力される比較結果pf−reを受け取り、この値に応じて、所望のデータが含まれているTSパケットを選別する。
【0165】
4.選別されたパケットに含まれる所望のデータがビデオデータ、或いは、オーディオデータであれば、これらを少なくとも含む部分をデータバス76に出力する。
【0166】
5.選別されたパケットに含まれる所望のデータがセクションデータであれば、さらに特定する情報(テーブル番号、バージョン番号など、少なくとも何れか1つ)を抽出し、これを比較対象データsf−dtとしてセクションフィルタ部80に出力する。
【0167】
6.セクションフィルタ部80から出力される比較結果sf−reを受け取り、この値に応じて、セクションデータを少なくとも含む部分を、データバス76に出力する。
【0168】
データバス76には、データ入出力部81の他に、ビデオデコーダ77、オーディオデコーダ78、ホストプロセッサ75、メモリ79が接続されている。
【0169】
データ入出力部81から出力データバス76に出力されるビデオデータ、オーディオデータ、セクションデータは、メモリ79に設けられた専用のバッファ領域を介してビデオデコーダ77、オーディオデコーダ78、ホストプロセッサ75に供給される。なお、図示は省略するが、メモリ79を介さずに、データ入出力部81からの出力データを、ビデオデコーダ77、オーディオデコーダ78、ホストプロセッサ75、それぞれに直接取り込ませることも可能である。
【0170】
ビデオデコーダ77は取り込んだビデオデータをデコードし、その結果得られる映像情報をバックエンドプロセッサ(BEP)82に出力する。バックエンドプロセッサ82は、この映像情報に色補正などの各種画像処理を施して表示部83にて表示させる。オーディオデコーダ78は取り込んだオーディオデータをデコードし、その結果得られる音声情報をスピーカ84にて響かせる。
【0171】
PIDフィルタ部74は、少なくとも1つ以上のフィルタ条件(以下、PIDフィルタ条件)を有し、それぞれのフィルタ条件には選別対象のTSパケットが持つPIDの値が少なくとも設定されている。予め設定されているPIDフィルタ条件と、データ入出力部81から出力される比較対象データpf−dtとを比較し、その比較結果pf−reをデータ入出力部81に出力する。
【0172】
セクションフィルタ部80は、少なくとも1つ以上のフィルタ条件(以下、セクションフィルタ条件)を有し、それぞれのフィルタ条件には選別対象のセクションデータが持つ特定のデータパターンと同じ値がAND条件に少なくとも設定されている。予め設定されているセクションフィルタ条件と、データ入出力部81から出力される比較対象データsf−dtとを比較し、その比較結果sf−reをデータ入出力部81に出力する。
【0173】
つまり、上記各実施の形態に係るフィルタ装置にて、このセクションフィルタ部80は構成されている。
【0174】
具体的には、上記で説明した各実施の形態のブロック図(図1、図5、図7、図9、図10)の各図に示す「対象データ」が図11の比較対象データsf−dtに、各図の「比較結果」が図11の比較結果sf−reに、それぞれ相当する。
【0175】
また、連結情報レジスタを有し、フィルタ条件の分割の有無をこのレジスタに記憶し、単位格納領域の番号に応じた連結情報レジスタの連結情報に基づき、分割される前のフィルタ条件との等価な比較が行われる。
【0176】
以上のように、上記各実施の形態に係るフィルタ装置は、デジタル放送受信装置に適応することが可能であることを説明した。
【0177】
最後に、連結情報をもとに2つ以上の部分フィルタ条件を1つのフィルタ条件であるものとして等価に比較する方法、つまり、比較部13の構成について補足しておく。
【0178】
等価な比較方法には大きく2通りある。例えば、第1の実施の形態の2連結を用いて説明すると、
1つは、2つの部分フィルタ条件を連結して(組み合わせて)16バイトのフィルタ条件を復元後、この復元された条件と16バイトの対象データとを比較する方法である。
【0179】
もう一つは、1番目の部分フィルタ条件と16バイトの前半8バイトの対象データとを比較しておき、2番目の部分フィルタ条件と16バイトの後半8バイトの対象データとを比較する際に、前半8バイトの比較結果と統合する方法である。
【0180】
つまり、前者はフィルタ条件そのものを復元してから比較を行う方法(以下、復元比較)であり、後者は単位格納領域毎に行った比較結果を統合していく方法(以下、統合比較)である。
【0181】
なお、統合に必要となる比較結果(統合向け結果)は最終出力の比較結果(最終向け結果)とは異なる形式を取り得る。
【0182】
これは、最終向け結果としてフィルタ番号を返す構成の場合、統合向け結果としては部分フィルタ条件をその種類毎に満足したか否かの状態としておく方が望ましい場合があるからである。
【0183】
例えば、特許文献1にあるNOT条件を考える。NOT条件の定義は「指定したビットと同じ位置にあるビットのうち、AND条件と不一致なビットが対象データ内に少なくとも1つ存在する場合、NOT条件を満足している」となる。
【0184】
よって、もしNOT条件が指定されたビットが上記の前半8バイトと後半8バイトの両方に存在している場合、
NOT条件が指定されたビットにおいて、前半8バイトではAND条件と不一致になるビットが存在しなくとも、後半8バイトに1ビットでもAND条件と不一致となるビットが存在すれば、16バイトの対象データとしては条件を満足することになる。
【0185】
この時、もし前半8バイトにて最終比較結果をもとめてから統合しようとしてしまうと、満足しなかった理由がNOT条件に依るものなのか、AND条件そのもの(NOT条件が指定されていないビット)に依るのかが判断できず、正しく後半8バイトの比較結果と統合することができない。
【0186】
すなわち、統合比較においては、使う条件の種類に応じて、統合向け結果をそれぞれ求めておき、これらを統合して最終比較結果をもとめるべき場合がある。
【0187】
本実施の形態は復元比較、統合比較のいずれの比較部の構成においても適応可能であり、本実施の形態はいずれも含む。
【図面の簡単な説明】
【0188】
【図1】本発明の第1の実施の形態に係るフィルタ装置を示すブロック図。
【図2】図1中のAND条件格納部21の具体的な構成を示す説明図。
【図3】図1中のAND条件格納部21の具体的な構成を示す説明図。
【図4】従来技術におけるAND条件格納部の具体的な構成を示す説明図。
【図5】本発明の第2の実施の形態を示すブロック図。
【図6】第2の実施の形態における4連結のパターンを示す説明図。
【図7】本発明の第3の実施の形態を示すブロック図。
【図8】第3の実施の形態における4連結のパターンを示す説明図。
【図9】本発明の第4の実施の形態を示すブロック図。
【図10】本発明の第5の実施の形態を示すブロック図。
【図11】本発明の第6の実施の形態を示すブロック図。
【符号の説明】
【0189】
11…フィルタ装置、12…条件格納部、13…比較部、14…制御部、15…連結情報レジスタ。
【特許請求の範囲】
【請求項1】
対象データ列に含まれる特定のデータ列を検出するフィルタ装置において、
Nビット(N:1以上の整数)の単位格納領域を複数有し、前記特定のデータ列に応じM(M:1以上の整数)ビットのデータ長を有するフィルタ条件を前記単位格納領域に記憶しているものであって、前記フィルタ条件の長さMビットが前記単位格納領域の長さNビットよりも大きい場合には、前記フィルタ条件がNビット毎に分割された部分フィルタ条件を複数の前記単位格納領域に記憶している条件格納部と、
前記単位格納領域に記憶されているデータが前記部分フィルタ条件に分割された一部であるか否かを示す分割の有無を連結情報として保持する連結情報レジスタと、
前記単位格納領域に記憶されているデータが前記部分フィルタ条件の場合には、対応する前記連結情報に基づいて復元できる前記Mビットのデータ長を有するフィルタ条件との等価な比較を前記対象データ列と行うことで、前記対象データ列に前記特定のデータ列が含まれるか否かを検出する比較部と、
を具備したことを特徴とするフィルタ装置。
【請求項2】
前記連結情報レジスタは、前記単位格納領域に対応した1つ以上の領域に分割の有無を示す1ビットの前記連結情報を夫々保持し、
前記比較部は、1つ以上の前記単位格納領域のうちフィルタ条件の分割記憶ができる組み合わせが予め定められた1つ以上の単位格納領域に記憶された前記フィルタ条件又は前記部分フィルタ条件を、前記連結情報に基づいて復元できる前記Mビットのデータ長を有するフィルタ条件との等価な比較を前記対象データ列と行うことを特徴とする請求項1に記載のフィルタ装置。
【請求項3】
前記Mビットのデータ長を有するフィルタ条件には、前記対象データ列との比較の仕方を増やして検出の柔軟性を上げるために複数種類の条件を含むことを特徴とする請求項1又は2に記載のフィルタ装置。
【請求項4】
前記対象データ列は、デジタル放送ストリームを構成するパケットに多重されるセクションデータの一部又は全てであることを特徴とする請求項1乃至3のいずれか1つに記載のフィルタ装置。
【請求項5】
デジタル放送ストリームが入力する入力部と、
入力されたデジタル放送ストリームを構成するパケットから所定の識別子を有するパケットを選別するために用いる第1フィルタと、
第2フィルタとして、前記第1フィルタを用いて選別されたパケットの一部又は全てが対象データ列として入力され、特定のデータ列を有するパケットを選別するために用いる請求項1乃至4のいずれか1つに記載のフィルタ装置と、
前記第1フィルタ又は前記第2フィルタを用いて選別されたパケットの一部又は全てを出力する出力部と、
前記出力部にて出力される映像データを復号化する映像デコーダと、
前記出力部にて出力される音声データを復号化する音声デコーダと、
前記出力部にて出力されるセクションデータに基づいてデジタル放送信号の受信処理を行うホストプロセッサと、
を具備したことを特徴とするデジタル放送受信装置。
【請求項1】
対象データ列に含まれる特定のデータ列を検出するフィルタ装置において、
Nビット(N:1以上の整数)の単位格納領域を複数有し、前記特定のデータ列に応じM(M:1以上の整数)ビットのデータ長を有するフィルタ条件を前記単位格納領域に記憶しているものであって、前記フィルタ条件の長さMビットが前記単位格納領域の長さNビットよりも大きい場合には、前記フィルタ条件がNビット毎に分割された部分フィルタ条件を複数の前記単位格納領域に記憶している条件格納部と、
前記単位格納領域に記憶されているデータが前記部分フィルタ条件に分割された一部であるか否かを示す分割の有無を連結情報として保持する連結情報レジスタと、
前記単位格納領域に記憶されているデータが前記部分フィルタ条件の場合には、対応する前記連結情報に基づいて復元できる前記Mビットのデータ長を有するフィルタ条件との等価な比較を前記対象データ列と行うことで、前記対象データ列に前記特定のデータ列が含まれるか否かを検出する比較部と、
を具備したことを特徴とするフィルタ装置。
【請求項2】
前記連結情報レジスタは、前記単位格納領域に対応した1つ以上の領域に分割の有無を示す1ビットの前記連結情報を夫々保持し、
前記比較部は、1つ以上の前記単位格納領域のうちフィルタ条件の分割記憶ができる組み合わせが予め定められた1つ以上の単位格納領域に記憶された前記フィルタ条件又は前記部分フィルタ条件を、前記連結情報に基づいて復元できる前記Mビットのデータ長を有するフィルタ条件との等価な比較を前記対象データ列と行うことを特徴とする請求項1に記載のフィルタ装置。
【請求項3】
前記Mビットのデータ長を有するフィルタ条件には、前記対象データ列との比較の仕方を増やして検出の柔軟性を上げるために複数種類の条件を含むことを特徴とする請求項1又は2に記載のフィルタ装置。
【請求項4】
前記対象データ列は、デジタル放送ストリームを構成するパケットに多重されるセクションデータの一部又は全てであることを特徴とする請求項1乃至3のいずれか1つに記載のフィルタ装置。
【請求項5】
デジタル放送ストリームが入力する入力部と、
入力されたデジタル放送ストリームを構成するパケットから所定の識別子を有するパケットを選別するために用いる第1フィルタと、
第2フィルタとして、前記第1フィルタを用いて選別されたパケットの一部又は全てが対象データ列として入力され、特定のデータ列を有するパケットを選別するために用いる請求項1乃至4のいずれか1つに記載のフィルタ装置と、
前記第1フィルタ又は前記第2フィルタを用いて選別されたパケットの一部又は全てを出力する出力部と、
前記出力部にて出力される映像データを復号化する映像デコーダと、
前記出力部にて出力される音声データを復号化する音声デコーダと、
前記出力部にて出力されるセクションデータに基づいてデジタル放送信号の受信処理を行うホストプロセッサと、
を具備したことを特徴とするデジタル放送受信装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2009−219046(P2009−219046A)
【公開日】平成21年9月24日(2009.9.24)
【国際特許分類】
【出願番号】特願2008−63127(P2008−63127)
【出願日】平成20年3月12日(2008.3.12)
【出願人】(000003078)株式会社東芝 (54,554)
【出願人】(390010308)東芝デジタルメディアエンジニアリング株式会社 (192)
【Fターム(参考)】
【公開日】平成21年9月24日(2009.9.24)
【国際特許分類】
【出願日】平成20年3月12日(2008.3.12)
【出願人】(000003078)株式会社東芝 (54,554)
【出願人】(390010308)東芝デジタルメディアエンジニアリング株式会社 (192)
【Fターム(参考)】
[ Back to top ]