(57)【要約】      （修正有）【課題】  入力データと多くの一致検出候補データの一致を検出する際の、メモリアクセス回数や比較演算回数の削減。【解決手段】  パターンメモリ４３には、セクションヘッダの各フィールドがとりうる値の各々に対応づけられたアドレスに、当該とりうる値が一致検出条件に一致すること（「一致」）を示す参照データまたは当該とりうる値が一致検出条件に一致しないこと（「不一致」）を示す参照データがあらかじめ記憶されている。セクションデータ切り出し回路４１は、入力データから部分データを順次切り出し、切り出した部分データの値に対応するアドレスをパターンメモリ４３に与える。パターンメモリ４３は、セクションデータ切り出し回路４１から与えられるアドレスに記憶されている参照データを出力する。判定部４４〜４６は、入力データが一致検出条件に一致するか否かをパターンメモリ４３からの参照データに基づいて判定する。【選択図】  図５
2005045775.tif 000002
【特許請求の範囲】
【請求項１】
複数の部分データを含む入力データが所定の検出条件に一致するか否かを判定する装置であって、
前記複数の部分データの各々がとりうる値の各々に対応づけられたアドレスに、当該とりうる値が前記検出条件に一致すること（「一致」）を示す参照データまたは当該とりうる値が前記検出条件に一致しないこと（「不一致」）を示す参照データが前記検出条件に基づいてあらかじめ記憶されている第１のメモリと、
前記入力データから部分データを順次切り出し、切り出した部分データの値に対応するアドレスを前記第１のメモリに与えるデータ切り出し部とを備え、
前記第１のメモリは、
前記データ切り出し部から与えられるアドレスに記憶されている参照データを出力し、
前記装置はさらに、
前記入力データが前記検出条件に一致するか否かを前記第１のメモリからの参照データに基づいて判定する判定部を備える、
ことを特徴とするデータ一致検出装置。
【請求項２】
請求項１において、
前記検出条件は、第１の検出条件を含み、
前記第１のメモリにあらかじめ記憶されている参照データは、
前記第１の検出条件に基づいて第１の値または第２の値が設定された第１のデータを含む、
ことを特徴とするデータ一致検出装置。
【請求項３】
請求項２において、
前記検出条件は、第２の検出条件をさらに含み、
前記第１のメモリにあらかじめ記憶されている参照データは、
前記第２の検出条件に基づいて前記第１の値または前記第２の値が設定された第２のデータをさらに含む、
ことを特徴とするデータ一致検出装置。
【請求項４】
請求項１において、
前記判定部は、
前記入力データに含まれている複数の部分データのすべてにおいて前記第１のメモリから出力される参照データが「一致」を示しているとき、前記入力データが前記検出条件に一致すると判定する、
ことを特徴とするデータ一致検出装置。
【請求項５】
請求項１において、
前記第１のメモリには、
前記複数の部分データの各々の前記入力データ内における位置と当該部分データがとりうる値の各々とに基づいて生成されたアドレスに前記参照データがあらかじめ記憶されており、
前記データ切り出し部は、
前記切り出した部分データの前記入力データ内における位置と前記切り出した部分データの値とに基づいて生成したアドレスを前記第１のメモリに与える、
ことを特徴とするデータ一致検出装置。
【請求項６】
請求項５において、
前記複数の部分データの各々は１つのバイトデータを構成する、
ことを特徴とするデータ一致検出装置。
【請求項７】
請求項５において、
前記複数の部分データの各々は１つのフィールドデータを構成する、
ことを特徴とするデータ一致検出装置。
【請求項８】
請求項４において、
前記判定部は、
論理演算部と、
前記論理演算部の出力データを記憶する第２のメモリとを含み、
前記論理演算部は、
前記第１のメモリから出力される参照データと前記第２のメモリに記憶されている出力データとがともに「一致」を示すときは、当該「一致」を示すデータを出力し、前記第１のメモリから出力される参照データと前記第２のメモリに記憶されている出力データとのうち少なくとも一方が「不一致」を示すときは、当該「不一致」を示すデータを出力し、
前記第２のメモリは、
前記「一致」を示すデータが初期値として記憶されており、
前記入力データに含まれる複数の部分データのうち前記データ切り出し部によって最後に切り出された部分データに対する前記論理演算部の出力データを一致判断情報として出力する、
ことを特徴とするデータ一致検出装置。
【請求項９】
請求項１において、
前記複数の部分データの各々には所定の演算が対応づけられており、
前記判定部は、
論理演算部と、
前記論理演算部の出力データを記憶する第２のメモリとを含み、
前記論理演算部は、
前記第１のメモリから出力される参照データに対応する部分データに対応づけられている演算を、当該参照データと前記第２のメモリに記憶されている出力データとのうち少なくとも一方に対して実行し、その演算結果を出力し、
前記第２のメモリは、
前記「一致」を示すデータが初期値として記憶されており、
前記入力データに含まれる複数の部分データのうち前記データ切り出し部によって最後に切り出された部分データに対する前記論理演算部の出力データを一致判断情報として出力する、
ことを特徴とするデータ一致検出装置。
【請求項１０】
請求項９において、
前記第２のメモリは、
前記論理演算部の出力データを複数記憶することができ、
前記論理演算部は、
前記第１のメモリから出力される参照データに対応する部分データに対応づけられている演算を、当該参照データと前記第２のメモリに記憶されている複数の出力データとのうち少なくとも１つに対して実行し、その演算結果を出力する、
ことを特徴とするデータ一致検出装置。
【請求項１１】
請求項１に記載のデータ一致検出装置と、
前記データ一致検出装置において行われる前記入力データが前記検出条件に一致するか否かの判定が完了するまで前記入力データを保持するデータ遅延部とを備え、
前記データ遅延部は、
前記入力データが前記検出条件に一致すると前記データ一致検出装置において判定されると、保持している前記入力データを出力する一方、前記入力データが前記検出条件に一致しないと前記データ一致検出装置において判定されると、保持している前記入力データを出力しない、
ことを特徴とするデータ選別装置。
【請求項１２】
複数の部分データを含む入力データが所定の検出条件に一致するか否かを判定する方法であって、
前記複数の部分データの各々がとりうる値の各々に対応づけられたアドレスに、当該とりうる値が前記検出条件に一致すること（「一致」）を示す参照データまたは当該とりうる値が前記検出条件に一致しないこと（「不一致」）を示す参照データを前記検出条件に基づいて第１のメモリにあらかじめ記憶するステップ（ａ）と、
前記入力データから部分データを順次切り出し、切り出した部分データの値に対応するアドレスを生成するステップ（ｂ）と、
前記ステップ（ｂ）によって生成されたアドレスに記憶されている参照データを前記第１のメモリから読み出すステップ（ｃ）と、
前記入力データが前記検出条件に一致するか否かを前記ステップ（ｃ）によって前記第１のメモリから読み出された参照データに基づいて判定するステップ（ｄ）とを備える、
ことを特徴とするデータ一致検出方法。
【請求項１３】
請求項１２において、
前記ステップ（ｄ）では、
前記入力データに含まれている複数の部分データのすべてにおいて前記第１のメモリから読みだされる参照データが「一致」を示しているとき、前記入力データが前記検出条件に一致すると判定する、
ことを特徴とするデータ一致検出方法。
【請求項１４】
請求項１２において、
前記ステップ（ａ）では、
前記複数の部分データの各々の前記入力データ内における位置と当該部分データがとりうる値の各々とに基づいて生成されたアドレスに前記参照データをあらかじめ記憶し、
前記ステップ（ｂ）では、
前記切り出した部分データの前記入力データ内における位置と前記切り出した部分データの値とに基づいてアドレスを生成する、
ことを特徴とするデータ一致検出方法。
【請求項１５】
請求項１３において、
前記ステップ（ｄ）は、
前記「一致」を示すデータを初期値として第２のメモリに記憶するステップ（ｅ）と、
前記ステップ（ｃ）によって前記第１のメモリから読み出される参照データと前記第２のメモリに記憶されているデータとがともに「一致」を示すときは、当該「一致」を示すデータを前記第２のメモリに記憶し、前記ステップ（ｃ）によって前記第１のメモリから読み出される参照データと前記第２のメモリに記憶されているデータとのうち少なくとも一方が「不一致」を示すときは、当該「不一致」を示すデータを前記第２のメモリに記憶するステップ（ｆ）と、
前記入力データに含まれる複数の部分データのうち前記ステップ（ｂ）によって最後に切り出された部分データに対して前記ステップ（ｆ）によって前記第２のメモリに記憶されたデータを一致判断情報として出力するステップ（ｇ）とを含む、
ことを特徴とするデータ一致検出方法。
【請求項１６】
請求項１２において、
前記複数の部分データの各々に所定の演算を対応づけるステップ（ｅ）をさらに備え、
前記ステップ（ｄ）は、
前記「一致」を示すデータを初期値として第２のメモリに記憶するステップ（ｆ）と、
前記ステップ（ｃ）によって前記第１のメモリから読み出される参照データに対応する部分データに対応づけられている演算を、当該参照データと前記第２のメモリに記憶されている出力データとのうち少なくとも一方に対して実行し、その演算結果を前記第２のメモリに記憶するステップ（ｇ）と、
前記入力データに含まれる複数の部分データのうち前記ステップ（ｂ）によって最後に切り出された部分データに対して前記ステップ（ｇ）によって前記第２のメモリに記憶されたデータを一致判断情報として出力する、
ことを特徴とするデータ一致検出方法。
【請求項１７】
請求項１６において、
前記第２のメモリは、
前記演算結果を複数記憶することが可能であり、
前記ステップ（ｇ）では、
前記ステップ（ｃ）によって前記第１のメモリから読み出される参照データに対応する部分データに対応づけられている演算を、当該参照データと前記第２のメモリに記憶されている複数の演算結果とのうち少なくとも１つに対して実行し、その演算結果を前記第２のメモリに記憶する、
ことを特徴とするデータ一致検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はデータ一致検出装置、データ一致検出方法、データ選別装置に関し、特に、放送より受信されたデータや記録デバイスから出力されたディジタルデータの中から受け取るべきデータが所定の検出条件と一致するか否かを検出する装置および方法、ならびに上記所定の検出条件と一致したデータを選別する装置に関するものである。
【背景技術】
【０００２】
近年、映像や音声その他のデータをディジタルデータにより伝送・蓄積することが多く行われるようになってきている。このような場合、データは分割され、いくつかのフィールドより構成されるデータ構造をもつパケットなどのデータに構成され、伝送・蓄積されることが一般的である。さらに複数のデータパケットに構成された後、一つの伝送・蓄積メディアに多重され、伝送・蓄積される場合がある。このような場合のデータ構造、多重化の標準規格としてＭＰＥＧシステム規格があり、多くの場合、この規格のパケットデータ構造に準拠した方法でデータの伝送・蓄積が行われている。
【０００３】
このようなパケットデータが多重化されたシステムでは、データを受信する機器において、多重化されたパケットデータから受信すべきデータを選別する必要がある。特にＰＳＩ（番組特定情報）やＳＩ（サービス情報）など番組に付随する様々な情報は、セクションというデータ形式により繰り返し伝送されているが、受信機の状態、すなわちどの番組を選択し受信しているかなどの状況により必要な情報が異なり、このため多くの情報の中から必要なものを的確に選び出さなければならない。
【０００４】
従来技術の例として、ＭＰＥＧシステム規格に準拠したデータ多重化方式を用いているディジタル放送などの受信機に用いられ、セクションデータの選別を行うデマルチプレクサについて説明する。
【０００５】
従来のデマルチプレクサでは、１つのセクションデータが入力される度に、このセクションデータを構成する各フィールドとこのフィールドに対応する全ての候補データとを比較する。入力された比較対象のフィールド全てに対して候補データとの一致を順次検査し、全てのフィールドが候補データと一致することを検出した場合に、このセクションデータを受信すべきものであると判断し、選別出力する。また、候補データと入力フィールドの比較をマスクし、一致検出を行わないようにする回路や、候補データと不一致であることを検出する回路を備えることで柔軟なデータ選別を実現している（例えば、特開平１１−１６４２７１号公報参照）。
【特許文献１】特開平１１−１６４２７１号公報
【特許文献２】特開平９−２７５３８１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、従来のデマルチプレクサのセクションデータの一致検出装置、選別装置には、次のような問題がある。
【０００７】
一般のディジタル放送受信機のデマルチプレクサでは、次のようなセクションデータ選別性能が要求される。
・比較対象フィールド...セクションデータ先頭１６バイト
・候補データ種類...３２種類（比較マスク付）
・選別対象のセクションデータの入力速度...１２.５Ｍバイト／秒
・セクションデータ選別装置の動作クロック周波数...１００ＭＨｚ
上記のような性能のセクションデータ一致検出装置を構成した場合、１２.５Ｍバイト／秒×３２種類＝４００Ｍ回／秒の入力フィールドと候補データの比較を行わなければならない。この際、候補データと比較マスクデータを格納している候補データメモリからの読み出し速度は４００Ｍ回／秒×２バイト＝８００Ｍバイト／秒となる。また、４００Ｍ回の比較を１００ＭＨｚの動作クロックの回路で実現するためには、１クロックあたり４回の比較を行う必要がある。４回の比較のためには、４バイトの候補データと４バイトの比較マスクデータの計８バイトを１クロックで読み出す必要があり、すなわち候補データメモリからの読み出しデータ幅は８バイト必要となる。以上より、従来のセクションデータ一致検出装置では、８バイト幅の候補データメモリから毎秒１００Ｍ回（８００Ｍバイト／秒）の読み出しを実行しながら、１秒間に４００Ｍバイトのデータ比較を実行しなければならない。
【０００８】
以上のような高いバンド幅の候補データメモリを実現するには、ＬＳＩ内蔵メモリでなければ現実的でなく、また上記のような高速なデータ一致検出を実行するためには、専用のデータ比較回路を設ける必要がある。このため、高性能なセクションデータ一致検出装置はハードウェアで実現されていた。さらに高性能なセクションデータ一致検出装置を実現するには、メモリバンド幅の向上のため１クロックで読み出せるデータ幅を拡張するとともに、データ比較回路が１クロックで比較する候補データ数を増やすことが必要となる。
【課題を解決するための手段】
【０００９】
本発明によるデータ一致検出装置は、複数の部分データを含む入力データが所定の検出条件に一致するか否かを判定する装置であって、前記複数の部分データの各々がとりうる値の各々に対応づけられたアドレスに、当該とりうる値が前記検出条件に一致すること（「一致」）を示す参照データまたは当該とりうる値が前記検出条件に一致しないこと（「不一致」）を示す参照データが前記検出条件に基づいてあらかじめ記憶されている第１のメモリと、前記入力データから部分データを順次切り出し、切り出した部分データの値に対応するアドレスを前記第１のメモリに与えるデータ切り出し部とを備え、前記第１のメモリは、前記データ切り出し部から与えられるアドレスに記憶されている参照データを出力し、前記装置はさらに、前記入力データが前記検出条件に一致するか否かを前記第１のメモリからの参照データに基づいて判定する判定部を備える、ことを特徴とする。
【００１０】
上記データ一致検出装置では、部分データ１つあたり１度だけ第１のメモリを読み出すことにより入力データと検出条件との一致検出を実現できるため、従来のように１つの部分データに対して一致検出候補データ全てを読み出して部分データと比較することは不要となり、メモリアクセス回数や比較演算回数を大幅に削減できる。
【００１１】
上記データ一致検出装置において、前記検出条件は、第１の検出条件を含み、前記第１のメモリにあらかじめ記憶されている参照データは、前記第１の検出条件に基づいて第１の値または第２の値が設定された第１のデータを含む、ことが好ましい。
【００１２】
上記データ一致検出装置において、前記検出条件は、第２の検出条件をさらに含み、前記第１のメモリにあらかじめ記憶されている参照データは、前記第２の検出条件に基づいて前記第１の値または前記第２の値が設定された第２のデータをさらに含む、ことが好ましい。
【００１３】
上記データ一致検出装置において、前記判定部は、前記入力データに含まれている複数の部分データのすべてにおいて前記第１のメモリから出力される参照データが「一致」を示しているとき、前記入力データが前記検出条件に一致すると判定する、ことが好ましい。
【００１４】
上記データ一致検出装置において、前記第１のメモリには、前記複数の部分データの各々の前記入力データ内における位置と当該部分データがとりうる値の各々とに基づいて生成されたアドレスに前記参照データがあらかじめ記憶されており、前記データ切り出し部は、前記切り出した部分データの前記入力データ内における位置と前記切り出した部分データの値とに基づいて生成したアドレスを前記第１のメモリに与える、ことが好ましい。
【００１５】
上記データ一致検出装置において、前記複数の部分データの各々は１つのバイトデータを構成する、ことが好ましい。
【００１６】
上記データ一致検出装置において、前記複数の部分データの各々は１つのフィールドデータを構成する、ことが好ましい。
【００１７】
上記データ一致検出装置において、前記判定部は、論理演算部と、前記論理演算部の出力データを記憶する第２のメモリとを含み、前記論理演算部は、前記第１のメモリから出力される参照データと前記第２のメモリに記憶されている出力データとがともに「一致」を示すときは、当該「一致」を示すデータを出力し、前記第１のメモリから出力される参照データと前記第２のメモリに記憶されている出力データとのうち少なくとも一方が「不一致」を示すときは、当該「不一致」を示すデータを出力し、前記第２のメモリは、前記「一致」を示すデータが初期値として記憶されており、前記入力データに含まれる複数の部分データのうち前記データ切り出し部によって最後に切り出された部分データに対する前記論理演算部の出力データを一致判断情報として出力する、ことが好ましい。
【００１８】
上記データ一致検出装置において、前記複数の部分データの各々には所定の演算が対応づけられており、前記判定部は、論理演算部と、前記論理演算部の出力データを記憶する第２のメモリとを含み、前記論理演算部は、前記第１のメモリから出力される参照データに対応する部分データに対応づけられている演算を、当該参照データと前記第２のメモリに記憶されている出力データとのうち少なくとも一方に対して実行し、その演算結果を出力し、前記第２のメモリは、前記「一致」を示すデータが初期値として記憶されており、前記入力データに含まれる複数の部分データのうち前記データ切り出し部によって最後に切り出された部分データに対する前記論理演算部の出力データを一致判断情報として出力する、ことが好ましい。
【００１９】
上記データ一致検出装置において、前記第２のメモリは、前記論理演算部の出力データを複数記憶することができ、前記論理演算部は、前記第１のメモリから出力される参照データに対応する部分データに対応づけられている演算を、当該参照データと前記第２のメモリに記憶されている複数の出力データとのうち少なくとも１つに対して実行し、その演算結果を出力する、ことが好ましい。
【００２０】
本発明によるデータ選別装置は、上記データ一致検出装置と、前記データ一致検出装置において行われる前記入力データが前記検出条件に一致するか否かの判定が完了するまで前記入力データを保持するデータ遅延部とを備え、前記データ遅延部は、前記入力データが前記検出条件に一致すると前記データ一致検出装置において判定されると、保持している前記入力データを出力する一方、前記入力データが前記検出条件に一致しないと前記データ一致検出装置において判定されると、保持している前記入力データを出力しない、ことを特徴とする。
【００２１】
本発明によるデータ一致検出方法は、複数の部分データを含む入力データが所定の検出条件に一致するか否かを判定する方法であって、前記複数の部分データの各々がとりうる値の各々に対応づけられたアドレスに、当該とりうる値が前記検出条件に一致すること（「一致」）を示す参照データまたは当該とりうる値が前記検出条件に一致しないこと（「不一致」）を示す参照データを前記検出条件に基づいて第１のメモリにあらかじめ記憶するステップ（ａ）と、前記入力データから部分データを順次切り出し、切り出した部分データの値に対応するアドレスを生成するステップ（ｂ）と、前記ステップ（ｂ）によって生成されたアドレスに記憶されている参照データを前記第１のメモリから読み出すステップ（ｃ）と、前記入力データが前記検出条件に一致するか否かを前記ステップ（ｃ）によって前記第１のメモリから読み出された参照データに基づいて判定するステップ（ｄ）とを備える、ことを特徴とする。
【００２２】
上記データ一致検出方法において、前記ステップ（ｄ）では、前記入力データに含まれている複数の部分データのすべてにおいて前記第１のメモリから読みだされる参照データが「一致」を示しているとき、前記入力データが前記検出条件に一致すると判定する、ことが好ましい。
【００２３】
上記データ一致検出方法において、前記ステップ（ａ）では、前記複数の部分データの各々の前記入力データ内における位置と当該部分データがとりうる値の各々とに基づいて生成されたアドレスに前記参照データをあらかじめ記憶し、前記ステップ（ｂ）では、前記切り出した部分データの前記入力データ内における位置と前記切り出した部分データの値とに基づいてアドレスを生成する、ことが好ましい。
【００２４】
上記データ一致検出方法において、前記ステップ（ｄ）は、前記「一致」を示すデータを初期値として第２のメモリに記憶するステップ（ｅ）と、前記ステップ（ｃ）によって前記第１のメモリから読み出される参照データと前記第２のメモリに記憶されているデータとがともに「一致」を示すときは、当該「一致」を示すデータを前記第２のメモリに記憶し、前記ステップ（ｃ）によって前記第１のメモリから読み出される参照データと前記第２のメモリに記憶されているデータとのうち少なくとも一方が「不一致」を示すときは、当該「不一致」を示すデータを前記第２のメモリに記憶するステップ（ｆ）と、前記入力データに含まれる複数の部分データのうち前記ステップ（ｂ）によって最後に切り出された部分データに対して前記ステップ（ｆ）によって前記第２のメモリに記憶されたデータを一致判断情報として出力するステップ（ｇ）とを含む、ことが好ましい。
【００２５】
上記データ一致検出方法において、前記複数の部分データの各々に所定の演算を対応づけるステップ（ｅ）をさらに備え、前記ステップ（ｄ）は、前記「一致」を示すデータを初期値として第２のメモリに記憶するステップ（ｆ）と、前記ステップ（ｃ）によって前記第１のメモリから読み出される参照データに対応する部分データに対応づけられている演算を、当該参照データと前記第２のメモリに記憶されている出力データとのうち少なくとも一方に対して実行し、その演算結果を前記第２のメモリに記憶するステップ（ｇ）と、前記入力データに含まれる複数の部分データのうち前記ステップ（ｂ）によって最後に切り出された部分データに対して前記ステップ（ｇ）によって前記第２のメモリに記憶されたデータを一致判断情報として出力する、ことが好ましい。
【００２６】
上記データ一致検出方法において、前記第２のメモリは、前記演算結果を複数記憶することが可能であり、前記ステップ（ｇ）では、前記ステップ（ｃ）によって前記第１のメモリから読み出される参照データに対応する部分データに対応づけられている演算を、当該参照データと前記第２のメモリに記憶されている複数の演算結果とのうち少なくとも１つに対して実行し、その演算結果を前記第２のメモリに記憶する、ことが好ましい。
【発明の効果】
【００２７】
本発明によるデータ一致検出装置および方法では、部分データ１つあたり１度だけ第１のメモリを読み出すことにより入力データと検出条件との一致検出を実現できるため、従来のように一つの部分データに対して一致検出候補データ全てを読み出して当該部分データと比較することは不要となり、メモリアクセス回数や比較演算回数を大幅に削減できる。
【発明を実施するための最良の形態】
【００２８】
本発明の実施の形態として、ＭＰＥＧシステム規格に準拠したディジタル放送において、セクションデータ形式のデータを用いて送られる様々な情報を必要に応じて取捨選択するためのセクションデータ選別回路（データ選別装置）と、これを構成するヘッダ一致検出回路（データ一致検出装置）について説明する。
【００２９】
ディジタル放送では、映像や音声、その他各種の情報はトランスポートストリームにて伝送される。トランスポートストリームでは固定長のトランスポートストリームパケットが順次伝送される。図１はトランスポートストリームパケット、及びトランスポートストリームパケット内に各種データのテーブルを格納するためのセクションデータのフォーマットを示している。
【００３０】
トランスポートストリームパケット１００は、パケット識別番号などからなるトランスポートパケットヘッダ１１０と、パケットで伝送されるデータ本体であるトランスポートパケットペイロード１２０とからなる。映像や音声の情報は、ＰＥＳパケットという形式でトランスポートパケットペイロード１２０部分に格納される。一方、放送や番組に付随する各種情報（番組表や暗号化の鍵情報など）は、セクションという形式でトランスポートパケットペイロード１２０部分に格納される。図１では、セクション形式で各種情報を格納しているトランスポートストリームパケット１００を示している。１つのトランスポートストリームパケット１００には複数のセクション＃１，＃２，...が格納されうる。図１には、さらにセクションのデータ形式を示している。セクションは、テーブル識別子、テーブル長、テーブル識別子拡張、バージョン番号、セクション番号、最終セクション番号というようなデータの種別を表す情報と、データ本体とからなる。テーブル識別子などより、そのセクションのデータが受信すべきものであるかどうかを判断することが可能である。
【００３１】
図２は、ディジタル放送の受信機の構成要素であるトランスポートパケット処理装置２１の概略構成を示している。入力されたトランスポートストリームは、まずパケット処理回路２２で処理される。トランスポートストリームパケット１００は、まずパケット選択回路２３にて、トランスポートストリームパケット単位の選別が行われ、次にデータ取り出し回路２４でトランスポートパケットペイロード１２０からデータが取り出される。ここで映像や音声の情報はＰＥＳパケットとして取り出され、メモリアクセス回路２６にてメモリ２７に書き込まれる。この情報はＡＶデコーダ２８にてメモリ２７から取り出され、映像や音声が再現され、表示・出力される。一方、番組や放送の各種情報は、トランスポートパケットペイロード１２０からセクションとして取り出される。セクションは、セクションデータ選別回路２５に入力され、ここで必要なものかどうかが選別される。選別されたセクションは、メモリアクセス回路２６にてメモリ２７に書き込まれる。この後ＣＰＵ２９がメモリ２７からセクションを読み出しセクションに格納されている各種情報を取り出し受信機の動作の制御などに使用する。
【００３２】
セクションで伝送される各種情報は受信機にとって重要な情報であり、必ず受信できるように同じ情報が繰り返し放送される。しかし、一度受信してしまえば同じ情報を何度も受け取る必要はない。このようにセクションは受信機の状態でその要否が決まり、不要な情報を捨て去ることができればＣＰＵの処理量も減少することになり、受信機の処理能力向上に役立つことになる。
【００３３】
（実施の形態１）
本実施の形態１によるセクションデータ選別回路において、セクションのテーブル識別子、テーブル識別子拡張、バージョン番号、セクション番号の４つのフィールドでセクションデータの選別をする場合について説明する。ここでは、図３に示すセクションを選別することを考える。
【００３４】
図４には、セクションデータ選別回路２５（データ選別装置）の構成図を示す。入力されたセクションデータは、データ遅延回路３２およびヘッダ一致検出回路３１、動作制御回路３４に入力される。ヘッダ一致検出回路３１では、入力されたセクションのヘッダと図３に示す一致検出候補データとの条件一致を調べ、図３の２種類の一致検出条件のうち少なくとも１つと一致する場合には、「一致」を示す一致判断信号を出力制御回路３３に出力する。データ遅延回路３２は、セクションヘッダが条件に一致するか否かがヘッダ一致検出回路３１により判断されるまで、入力されたセクションデータを遅延させる回路である。データ遅延回路３２から出力されたセクションデータは、出力制御回路３３に入力される。出力制御回路３３は、データ遅延回路３２から与えられるセクションデータのうちヘッダ一致検出回路３１からの一致判断信号が「一致」を示しているセクションデータだけを出力する。このようにセクションデータ選別回路２５は、複数の一致検出候補データ（一致検出条件）のうち少なくとも１つに一致するセクションデータを選別し、出力することができる。動作制御回路３４は、順次入力されるセクションデータに応じて、セクションデータ選別回路２５の各部の動作タイミングを上記のように制御する回路である。
【００３５】
上述したヘッダ一致検出回路（データ一致検出装置）３１の構成を図５に示す。ヘッダ一致検出回路３１は、セクションヘッダ切り出し回路４１、加算回路４２、パターンメモリ４３、論理積回路４４、一致検出状態記憶回路４５、一致判断記憶回路４６を備えている。
【００３６】
セクションヘッダ切り出し回路４１は、入力されたセクションからセクションヘッダを構成する各フィールドデータを切り出し、順次出力する。セクションヘッダ切り出し回路４１は、切り出したフィールドデータを出力すると同時に、このフィールドデータのセクションヘッダ内での位置を示すフィールド位置信号も出力する。
【００３７】
加算回路４２は、セクションヘッダ切り出し回路４１から出力されたフィールドデータとフィールド位置信号とを加算し、加算結果をパターンメモリ４３へ出力する。
【００３８】
パターンメモリ４３には、セクションヘッダの各フィールドがとりうる値の各々に対応づけられたアドレスに、当該とりうる値が一致検出条件（図３）に一致すること（「一致」）を示す参照データまたは当該とりうる値が一致検出条件（図３）に一致しないこと（「不一致」）を示す参照データが一致検出条件（図３）に基づいてあらかじめＣＰＵ２９により記憶されている。なお、パターンメモリ４３への参照データの格納例については後に説明する。パターンメモリ４３の各アドレスに記憶される複数ビット（この実施の形態では３２ビット）の参照データの各ビットには、それぞれ独立の一致検出条件に基づいて値が設定されている。加算回路４２から入力されたフィールドデータとフィールド位置信号の加算結果をアドレスとしてパターンメモリ４３を読み出すと、このフィールドデータが一致検出条件（図３）に一致するか否かを示す参照データが出力される。
【００３９】
一致検出状態記憶回路４５は３２ビットの記憶回路であり、各ビットに一致検出処理中の状態を記憶している。一致検出状態記憶回路４５は、セクションの開始ごとに全ビットの記憶内容を「一致」を表す「１」に初期化し、その後、各フィールドデータの比較が実行されるたびに論理積回路４４からの出力を記憶し、記憶内容を出力する。
【００４０】
論理積回路４４は、パターンメモリ４３からの出力と一致検出状態記憶回路４５からの出力信号がともに「一致」を示しているビットに関しては「一致」を出力し、それ以外のビットは「不一致」を出力し、これを一致検出状態記憶回路４５に記憶する。
【００４１】
あるセクションのセクションヘッダの全フィールドに関してパターンメモリ４３の参照が終わると、一致判断記憶回路４６は一致検出状態記憶回路４５の出力の少なくとも１ビットが「一致」を示している場合は「一致」を、そうでない場合は「不一致」を記憶しこれを出力する。このようにしてセクションヘッダと一致検出条件との一致判断結果が一致判断記憶回路４６により記憶され出力される。
【００４２】
さらに具体的に機能・動作を説明する。
【００４３】
セクションヘッダ切り出し回路４１は、セクションヘッダを構成する各フィールド（テーブル識別子，テーブル識別子拡張，バージョン番号，カレントネクスト指示，セクション番号、最終セクション番号）を切り出し出力する。ただし本実施の形態では、テーブル識別子拡張は上位８ビットと下位８ビットに分けて出力するものとする。図６には、各フィールドが出力される際のフィールド位置信号を示す。
【００４４】
図７に、パターンメモリ４３のアドレスマップを示す。パターンメモリ４３は１３１４ワードのメモリであり、図７に示すように、０００〜０ＦＦｈ番地はテーブル識別子のとりうる値００〜ＦＦｈに対応し、１００〜１ＦＦｈ番地はテーブル識別子拡張の上位８ビットのとりうる値００〜ＦＦｈに対応し、２００〜２ＦＦｈ番地はテーブル識別子拡張の下位８ビットのとりうる値００〜ＦＦｈに対応し、３００〜３１Ｆｈ番地はバージョン番号のとりうる値００〜１Ｆｈに対応し、３２０〜３２１ｈ番地はカレントネクスト指示のとりうる値０〜１ｈに対応し、３２２〜４２１ｈ番地はセクション番号のとりうる値００〜ＦＦｈに対応し、４２２〜５２１ｈ番地は最終セクション番号のとりうる値００〜ＦＦｈに対応している。各番地には３２ビットの参照データを記憶でき、参照データの各ビットはそれぞれ独立の一致検出条件に対応する。すなわち本実施の形態では３２種の一致検出条件との一致検出が可能である。本実施の形態では図３に示すように２種の一致検出条件（第１の一致検出条件、第２の一致検出条件）が設定されている場合について説明する。
【００４５】
図３に示した第１および第２の一致検出条件に基づいて参照データがパターンメモリ４３に以下のように格納される。
【００４６】
まずパターンメモリ４３のアドレス０００ｈ〜５２１ｈの参照データは、「不一致」を表す０にすべて初期化されているとする。第１の一致検出条件はパターンメモリ４３の３２ビットの参照データのビット位置０に対応させられている。
【００４７】
テーブル識別子に関しては０１ｈとの一致を検出する必要があるため、図８に示すように、０１ｈとテーブル識別子に対応するフィールド位置信号０００ｈとを加算して得られる００１ｈ番地のビット位置０に、「一致」を示す「１」を記憶させておく。
【００４８】
テーブル識別子拡張の上位８ビットに関しては２３ｈとの一致を検出する必要があるため、図８に示すように、２３ｈと１００ｈ（テーブル識別子拡張上位８ビットを表すフィールド位置信号値）とを加算して得られる１２３ｈ番地のビット位置０に「１」を記憶させておく。
【００４９】
同様にテーブル識別子拡張下位８ビットに関しては、図８に示すように、２００ｈ＋４５ｈ＝２４５ｈ番地のビット位置０に「１」を記憶させておく。
【００５０】
次にバージョン番号に関しては、０６ｈとの不一致を検出する必要があるので、図８に示すように、３００ｈ（バージョン番号に対応するフィールド位置信号値）＋０６ｈ（＝３０６ｈ）のビット位置０は「０」のままとし、バージョン番号のとりうる値のうちの０６ｈ以外の値に対応するアドレス３００ｈ〜３０５ｈ，３０７ｈ〜３１Ｆｈ番地のビット位置０に「１」を記憶させておく。０６ｈとの不一致を検出することは０６ｈ以外のデータとの一致を検出することと等価だからである。
【００５１】
セクション番号に関しては、図８に示すように、３２２ｈ＋０７ｈ＝３２９ｈ番地のビット位置０に「１」を記憶させる。
【００５２】
今回の例（第１の一致検出条件）では比較対象にならないカレントネクスト指示、最終セクション番号に関しては、図８に示すように、パターンメモリ４３の３２０〜３２１ｈ番地、４２２〜５２１ｈ番地のビット位置０を「１」に設定することで、どのようなフィールドデータが入力されても「一致」との結果を出力できる。
【００５３】
次に、第２の一致検出条件はパターンメモリ４３の参照データのビット位置１に対応させるとする。
【００５４】
テーブル識別子に関しては０１ｈとの一致を検出する必要があるため、図９に示すように、０１ｈ＋０００ｈ＝００１ｈ番地のビット位置１を「１」にする。
【００５５】
テーブル識別子拡張の上位８ビットに関しては８Ｘｈ（Ｘは任意の値）との一致を検出する必要があるため、図９に示すように、８Ｘｈ＋１００ｈ＝１８Ｘｈ番地（Ｘは任意の値）すなわち１８０ｈ〜１８Ｆｈ番地のビット位置１に「１」を設定する。
【００５６】
同様にテーブル識別子拡張下位８ビットに関しては、図９に示すように、２００ｈ＋Ｘ５ｈ＝２Ｘ５ｈ番地（Ｘは任意の値）すなわち２０５ｈ，２１５ｈ，２２５ｈ，・・・，２Ｆ５ｈのビット位置１に「１」を記憶させておく。
【００５７】
バージョン番号に関しては、１６ｈとの一致を検出する必要があるので、図９に示すように、３００ｈ＋１６ｈ＝３１６ｈ番地のビット位置１に「１」を設定する。
【００５８】
セクション番号に関しては、１７ｈ以上の値と一致する必要があるため、図９に示すように、３２２ｈ〜４２１ｈ番地のうち、３２２ｈ＋１７ｈ＝３３９ｈ番地以上のビット位置１に「１」を記憶させる。
【００５９】
今回の例（第２の一致検出条件）では比較対象にならないカレントネクスト指示、最終セクション番号に関しては、図９に示すように、パターンメモリ４３の３２０〜３２１ｈ番地、４２２〜５２１ｈ番地のビット位置０を「１」に設定することで、どのようなフィールドデータが入力されても「一致」との結果を出力できる。
【００６０】
以上のようにして、図３に示した第１および第２の一致検出条件に基づいて参照データがパターンメモリ４３に格納される。
【００６１】
ここで図１０に示すヘッダを持つセクションが入力されたとする。このセクションは、図３に示す第１の一致検出条件に一致するセクションである。
【００６２】
セクションヘッダ切り出し回路４１で入力セクションからまず１つ目のフィールドであるテーブル識別子＝０１ｈが切り出される。同時にセクションヘッダ切り出し回路４１からはフィールド位置信号として０００ｈが出力される。これら２つの出力が加算回路４２で加算され、００１ｈがパターンメモリ４３へアドレスとして入力される。パターンメモリ４３からは、００１ｈ番地に記録されている３２ビットの参照データ「０００００００３ｈ」（ビット位置０およびビット位置１の値のみ「１」（「１」は「一致」を表す））が読み出され、論理積回路４４へ入力される。一方、一致検出状態記憶回路４５には、セクション開始直後であるので全てのビットが「１」（「１」は「一致」を表す）に初期化、すなわちＦＦＦＦＦＦＦＦｈが記憶されており、この値が論理積回路４４に入力されている。論理積回路４４では上記の２つの入力データをビット毎に論理積演算を行い、演算結果０００００００３ｈを出力する。演算結果０００００００３ｈは一致検出状態記憶回路４５に記憶されるとともに一致検出状態記憶回路４５から出力される。一致検出状態記憶回路４５に記憶された０００００００３ｈは、入力セクションデータのうち1つ目のフィールドであるテーブル識別子はパターンメモリ４３のビット位置０とビット位置１に設定された２つの一致検出条件（第１および第２の一致検出条件）と一致していることを表している。
【００６３】
つぎに、セクションヘッダ切り出し回路４１から２つ目のフィールドであるテーブル識別子拡張の上位８ビット＝２３ｈが切り出される。同時にセクションヘッダ切り出し回路４１からはフィールド位置信号として１００ｈが出力され、加算結果１２３ｈがパターンメモリ４３へアドレスとして入力される。パターンメモリ４３からは、１２３ｈ番地に記録されている３２ビットの参照データ「０００００００１ｈ」（ビット位置０のみ「１」）が読み出され、論理積回路４４へ入力される。論理積回路４４は、パターンメモリ４３からの出力０００００００１ｈと一致検出状態記憶回路４５の出力０００００００３ｈとの論理積演算を実行し、その演算結果０００００００１ｈを出力し、一致検出状態記憶回路４５はこの値を記憶する。この値は、入力セクションデータのうち２つ目のフィールド（テーブル識別子拡張上位８ビット）までの部分は、パターンメモリ４３のビット位置０に設定された第１の一致検出条件とだけ一致していることを表している。
【００６４】
つぎに、セクションヘッダ切り出し回路４１から３つ目のフィールドであるテーブル識別子拡張の下位８ビット＝４５ｈが切り出される。同時にセクションヘッダ切り出し回路４１からはフィールド位置信号として２００ｈが出力され、加算結果２４５ｈがパターンメモリ４３へアドレスとして入力される。パターンメモリ４３からは、２４５ｈ番地に記録されている３２ビットの参照データ「０００００００３ｈ」（ビット位置０、ビット位置１が「１」）が読み出され、論理積回路４４へ入力される。パターンメモリ４３の２Ｘ５ｈ番地（Ｘは任意の値）のビット位置１には、Ｘ５ｈ（Ｘは任意の値）との一致判断結果が「一致」となるよう「１」が設定されている。すなわち２４５ｈ番地も「１」が記憶されている。論理積回路４４は、パターンメモリ４３からの出力０００００００３ｈと一致検出状態記憶回路４５の出力０００００００１ｈとの論理積演算を実行し、その演算結果０００００００１ｈを出力し、一致検出状態記憶回路４５はこの値を記憶する。この値は、入力セクションデータのうち３つ目のフィールド（テーブル識別子拡張下位８ビット）までの部分は、パターンメモリ４３のビット位置０に設定された第１の一致検出条件とだけ一致していることを表している。パターンメモリ４３の出力は０００００００３ｈであり、ビット位置０、ビット位置１の２つの条件（第１および第２の一致検出条件）との一致を表していたが、一致検出状態記憶回路４５には、２つ目のフィールドまでの一致検出状態としてすでにビット位置０の条件（第１の一致検出条件）以外では一致していないことが記憶されていたために、３つ目のフィールドでは一致したビット位置１の条件（第２の一致検出条件）も、一致検出状態記憶回路４５には「不一致」と記憶される。
【００６５】
つぎに、セクションヘッダ切り出し回路４１から４つ目のフィールドであるバージョン番号１Ｆｈが切り出される。バージョン番号は５ビットの値である。同時にセクションヘッダ切り出し回路４１からはフィールド位置信号として３００ｈが出力され、加算結果３１Ｆｈがパターンメモリ４３へアドレスとして入力される。パターンメモリ４３の３００ｈから３１Ｆｈ番地（３０６ｈ番地以外）のビット位置０には、０６ｈとの不一致を検出、言い換えれば０６ｈ以外の全ての値との一致を検出できるように、「１」が設定されている。このため、３１Ｆｈ番地からは０００００００１ｈ（ビット位置０が「１」）が読み出され、論理積回路４４へ入力される。論理積回路４４は、パターンメモリ４３からの出力０００００００１ｈと一致検出状態記憶回路４５の出力０００００００１ｈとの論理積演算を実行し、その演算結果０００００００１ｈを出力し、一致検出状態記憶回路４５はこの値を記憶する。この値は、入力セクションデータのうち４つ目のフィールド（バージョン番号）までの部分は、パターンメモリ４３のビット位置０に設定された第１の一致検出条件とだけ一致していることを表している。
【００６６】
つぎに、セクションヘッダ切り出し回路４１から５つ目のフィールドであるカレントネクスト指示が切り出される。カレントネクスト指示は１ビットの数値である。同時にセクションヘッダ切り出し回路４１からはフィールド位置信号として３２０ｈが出力される。パターンメモリ４３の３２０ｈ、３２１ｈ番地のビット位置０には「１」が記憶されており、このため、入力されたカレントネクスト指示の値に関わらず、０００００００１ｈが出力され、論理積回路４４へ入力される。論理積回路４４は、パターンメモリ４３からの出力０００００００１ｈと一致検出状態記憶回路４５の出力０００００００１ｈとの論理積演算を実行し、その演算結果０００００００１ｈを出力し、一致検出状態記憶回路４５はこの値を記憶する。この値は、入力セクションデータのうち５つ目のフィールド（カレントネクスト指示）までの部分は、パターンメモリ４３のビット位置０に設定された第１の一致検出条件とだけ一致していることを表している。
【００６７】
つぎに、セクションヘッダ切り出し回路４１から６つ目のフィールドであるセクション番号＝０７ｈが切り出される。同時にセクションヘッダ切り出し回路４１からはフィールド位置信号として３２２ｈが出力される。これらの加算結果３２９ｈがアドレスとしてパターンメモリ４３に入力される。３２９ｈ番地のビット位置０には「１」が記憶されているため、０００００００１ｈがパターンメモリ４３から出力され、論理積回路４４へ入力される。論理積回路４４は、パターンメモリ４３からの出力０００００００１ｈと一致検出状態記憶回路４５の出力０００００００１ｈとの論理積演算を実行し、その演算結果０００００００１ｈを出力し、一致検出状態記憶回路４５はこの値を記憶する。この値は、入力セクションデータのうち６つ目のフィールド（セクション番号）までの部分は、パターンメモリ４３のビット位置０に設定された第１の一致検出条件とだけ一致していることを表している。
【００６８】
つぎに、セクションヘッダ切り出し回路４１から７つ目のフィールドである最終セクション番号＝８０ｈが切り出される。同時にセクションヘッダ切り出し回路４１からはフィールド位置信号として４２２ｈが出力される。パターンメモリ４３の４２２ｈ〜５２１ｈ番地のビット位置０には「１」が記憶されており、このため、入力された最終セクション番号の値に関わらず、０００００００１ｈが出力され、論理積回路４４へ入力される。論理積回路４４は、パターンメモリ４３からの出力０００００００１ｈと一致検出状態記憶回路４５の出力０００００００１ｈとの論理積演算を実行し、その演算結果０００００００１ｈを出力し、一致検出状態記憶回路４５はこの値を記憶する。この値は、入力セクションデータのうち７つ目のフィールド（最終セクション番号）までの部分すなわち入力セクションデータの一致検出対象の全フィールドの一致検出が完了した時点で、入力セクションデータはパターンメモリ４３のビット位置０に設定された第１の一致検出条件と一致していることを表している。
【００６９】
入力セクションデータと一致検出条件との一致検出が完了したため、一致検出記憶回路４５に記憶されている０００００００１ｈが一致判断記憶回路４６に入力される。一致判断記憶回路４６では入力が０でないため、入力セクションデータが第１の一致検出条件と一致したと判断し、一致判断結果として「一致」を出力する。
【００７０】
このように、入力されたセクションは一致検出条件に一致したものと判断され、一致判断記憶回路４６から「一致」が出力され、ヘッダ一致検出回路３１から「一致」が出力される。
【００７１】
一方、入力セクションデータの各フィールドが一致検出条件と一致しない場合、パターンメモリ４３の出力は「不一致」を示す「０」が出力され、論理積回路４４の出力が「０」となり、これが一致検出状態記憶回路４５に記憶されるため、これ以降の条件が一致しても論理積回路４４の出力が「０」となり、一致検出条件と一致しないことが判断できる。このように、一致検出途中のフィールドで「不一致」が検出されると、これ以降の一致検出状態記憶回路４５の状態は「不一致」となり、一致判断記憶回路４６には「不一致」が記憶され出力される。
【００７２】
次に図１１に示すヘッダを持つセクションが入力されたとする。
【００７３】
上述の図１０の例と同様に処理されることにより、図１１で示す入力セクションヘッダをもつ入力セクションデータは、テーブル識別子、テーブル識別子拡張、バージョン番号、カレントネクスト指示、最終セクション番号に関して、パターンメモリ４３のビット位置１に設定された第２の一致検出条件（図３参照）と一致する。ここでは、図１１のセクション番号に関して詳しく説明する。
【００７４】
セクションヘッダ切り出し回路４１からセクション番号２０ｈが切り出され、加算回路４２に入力される。同時にセクションヘッダ切り出し回路４１からはフィールド位置信号として３２２ｈが出力され、加算結果３４２ｈがパターンメモリ４３へアドレスとして入力される。パターンメモリ４３のアドレス３２２ｈ〜４２１ｈ番地のうち３３９ｈ番地以上のアドレスのビット位置１には、入力データ１７ｈ以上との一致を検出できるように「１」が記憶されている。このため、３４２ｈ番地からは０００００００２ｈ（ビット位置１が「１」）が読み出され、論理積回路４４へ入力される。一方、入力セクションヘッダのセクション番号以前の各フィールドはビット位置１の条件（第２の一致検出条件）と一致しているため、一致検出状態記憶回路４５は０００００００２ｈを記憶、出力している。論理積回路４４は、パターンメモリ４３からの出力０００００００２ｈと一致検出状態記憶回路４５の出力０００００００２ｈとの論理積演算を実行し、その演算結果０００００００２ｈを出力し、一致検出状態記憶回路４５はこの値を記憶する。
【００７５】
次に入力される最終セクション番号に関しても、一致していることが検出される。
【００７６】
このように、入力されたセクションは第２の一致検出条件に一致したものと判断され、一致判断記憶回路４６から一致判断結果として「一致」が出力され、ヘッダ一致検出回路３１から「一致」が出力される。
【００７７】
ヘッダ一致検出回路３１から「一致」が検出されると、セクションデータ選別回路２５の出力制御回路３３は、入力されデータ遅延回路３２で遅延された入力セクションデータを出力する。
【００７８】
以上のように、実施の形態１のセクションデータ選別回路２５によれば、セクションヘッダとの一致検出条件を３２種まで設定でき、そのうちのある条件に一致するセクションヘッダを持つセクションを選別出力することができる。
【００７９】
セクションヘッダを構成するそれぞれのフィールドに対して１回のパターンメモリ４３への読み出しだけで一致検出条件との比較を完了させることができるため、ヘッダ一致検出回路３１に必要とされるメモリのアクセスバンド幅を小さく抑えることが可能となる。
【００８０】
例えば、１２.５Ｍバイト／秒で入力されるセクションの選別を３２種の条件に対して実行する場合にも、１２．５Ｍ回×３２ビット＝５０Ｍバイト／秒のメモリアクセスバンド幅が要求されるだけであり、従来技術を用いた場合に必要となる８００Ｍバイト／秒と比較して大幅に要求性能を抑えることが可能となる。
【００８１】
また、全てのデータ値について一致検出条件との一致／不一致を示す参照データをあらかじめパターンメモリ４３に格納するため、条件データとの一致の検出だけでなく、不一致の検出、大小比較、フィールドデータの一部分の比較抑止などを実現でき、非常に柔軟な検出条件を設定することが可能となる。
【００８２】
なお、実施の形態１では、パターンメモリ４３に３２種の一致検出条件を設定できるものとしたがこれに限るものでなく、パターンメモリ４３、論理積回路４４、一致検出状態記憶回路４５、一致判断記憶回路４６で扱うビット数を一致検出条件数に応じて変更することにより、任意の条件数を扱うことができる。
【００８３】
また、実施の形態１のヘッダ一致検出回路３１は、セクションヘッダの全フィールド、すなわちセクションデータの先頭の８バイト目までのフィールドについて、一致検出するものとして説明したが、一致検出対象のフィールドはこれに限られるものでなく、任意のサイズのデータについて一致検出することができる。
【００８４】
また、実施の形態１の一致判断記憶回路４６からは、一致したか否かの結果だけを一致判断結果として出力するものとしたが、これに加えて、一致を検出した条件を示している一致検出状態記憶回路４５からの入力そのものも記憶し、この情報を出力することもできる。これによりセクションデータ選別回路２５では、一致検出条件との一致を判断しセクションデータの出力可否を判断するだけでなく、一致を検出した条件を示す情報も出力することが可能となる。
【００８５】
さらに、実施の形態１では、パターンメモリ４３をヘッダ一致検出回路３１に内蔵されるメモリとして説明したが、これに限定されるものでなく、ＣＰＵ２９の主記憶メモリと共用するなど、ヘッダ一致検出回路３１の外部に置くこともできる。上述のように、１２．５Mバイト／秒で入力されるセクションの選別を３２種の条件に対して実行する場合に５０Mバイト／秒のメモリアクセスバンド幅を使用するに留まる。ＣＰＵ２９の主記憶メモリは数百Ｍバイト／秒のアクセスバンド幅を持つことが一般的であり、このアクセスバンド幅の内５０Ｍバイト／秒をヘッダ一致検出回路が使用することは現実的な実現形態である。パターンメモリ４３の実現方法として外付けの大容量メモリを利用することにより、一致検出対象のフィールド数や一致検出条件数を増加させる場合に必要となるパターンメモリ４３の容量増加に容易に対応することができる。
【００８６】
さらには、実施の形態１ではセクションヘッダ切り出しやフィールドデータとフィールド位置信号とを加算してパターンメモリ４３へのアドレスを作ることを回路として実現する方法を説明したが、これに限られるものでなく、セクションデータからのセクションヘッダの切り出しやフィールド位置のカウント、フィールド位置信号として表されるフィールド位置情報とフィールドデータの加算を、処理の全てまたは一部をソフトウェアで実現することも可能である。フィールドデータの切り出しは、実現の形態１では１２．５Ｍバイト／秒のデータの処理であり、ソフトウェアでも実現できる処理量である。
【００８７】
また、実施の形態１では、論理積回路４４、一致検出状態記憶回路４５、一致判断記憶回路４６を回路として実現する例を示したが、これに限られるものでなく、これらをソフトウェア処理で実現することもできる。
【００８８】
上述のようにパターンメモリ４３をＣＰＵ２９の主記憶メモリとして実現し、その他のヘッダ一致検出回路３１の処理をソフトウェアで実現することもできる。すなわち、実施の形態１で説明したヘッダ一致検出回路３１の一部または全てをソフトウェアで実現することも可能である。
【００８９】
（実施の形態２）
図１２に、本発明の実施の形態２におけるヘッダ一致検出回路の構成図を示す。ヘッダ一致検出回路３１は、セクションヘッダ切り出し回路６１、加算回路４２、パターンメモリ６３、演算回路６４、一致検出状態記憶回路６５、一致判断記憶回路４６、演算順序記憶回路６７を備えている。
【００９０】
セクションヘッダ切り出し回路６１は、入力されたセクションからセクションヘッダを構成するデータを先頭から４ビット毎の部分データとして切り出し、順次出力する。セクションヘッダ切り出し回路６１は、部分データを出力すると同時にこの部分データのセクションヘッダ内での位置を示す部分データ位置信号も出力する。
【００９１】
加算回路４２は、セクションヘッダ切り出し回路６１から出力された部分データと部分データ位置信号を加算し、加算結果をパターンメモリ６３へ出力する。
【００９２】
パターンメモリ６３には、セクションヘッダの各部分データがとりうる値の各々に対応づけられたアドレスに、当該とりうる値が一致検出条件に一致すること（「一致」）を示す参照データまたは当該とりうる値が一致検出条件に一致しないこと（「不一致」）を示す参照データが実施の形態１と同様にあらかじめＣＰＵ２９により記憶されている。加算回路４２から入力された部分データと部分データ位置信号との加算結果をアドレスとしてパターンメモリ６３を読み出すと、この部分データが一致検出条件に一致するか否かを示す参照データが出力される。
【００９３】
一致検出状態記憶回路６５は、３２ビットの情報を複数ワード記憶できる記憶回路であり、各ワードの各ビットに一致検出処理中の状態を記憶している。セクションの開始ごとに一致検出状態記憶回路６５は、何も記憶されていない状態に初期化される。その後、各フィールドデータの比較が実行される度に演算回路６４の演算結果を記憶する。
【００９４】
演算回路６４は、パターンメモリ６３からの参照データを入力するとともに、一致検出状態記憶回路６５の記憶内容を読み出し、これらのデータに対して演算順序記憶回路６７からの指示に従い演算を行い、結果を一致検出状態記憶回路６５に出力する。
【００９５】
演算順序記憶回路６７には、セクションヘッダ切り出し回路６１で切り出された部分データに対応して、演算回路６４で演算すべき演算種類（プログラム）が記憶されている。各部分データに対して１つ以上の演算種類と演算順序を指示することができる。
【００９６】
あるセクションのセクションヘッダの全フィールドに関してパターンメモリ６３の参照が終わると、一致判断記憶回路４６は一致検出状態記憶回路６５の記憶データを読み出し、少なくとも１ビットが「一致」を示している場合は「一致」を、そうでない場合は「不一致」を記憶し出力する。
【００９７】
このようにして一致判断記憶回路４６からセクションヘッダと一致検出条件との一致判断結果が記憶され出力される。
【００９８】
さらに具体的に機能・動作を説明する。
【００９９】
セクションヘッダ切り出し回路６１は、セクションヘッダを構成するデータ列の先頭から4ビット毎を部分データとして切り出す。例えば、セクションの先頭からの４ビット部分データ２つはテーブル識別子に対応する。図１３には、各部分データが出力される際の部分データ位置信号を示す。
【０１００】
図１４に、パターンメモリ６３のアドレスマップを示す。パターンメモリ６３は４４８ワードのメモリであり、図１４に示すように、０００〜００Ｆｈ番地はセクション先頭０〜３ビット目の部分データのとりうる値０〜Ｆｈに対応し、０１０〜０１Ｆ番地はセクション先頭４〜７ビット目の部分データのとりうる値０〜Ｆｈに対応している。以下同様に、セクションのテーブル長のフィールドを除く各部分データのとりうる値が１ＢＦ番地まで対応している。各番地には３２ビットの参照データを記憶でき、参照データの各ビットはそれぞれ独立の一致検出条件に対応する。すなわち実施の形態２では３２種の一致検出条件との一致検出が可能である。
【０１０１】
実施の形態２では、下記の条件に一致するセクションを選別する場合について考える。
・テーブル識別子が２７ｈと一致
・バージョン番号が１５ｈと不一致
・セクション番号がＡ５ｈ以上
このためには、図１５に示すように２種の一致検出条件を設定する。
【０１０２】
バージョン番号は５ビットのフィールドで、４０〜４３ビット目の部分データの下位２ビットと４４〜４７ビット目の部分データの上位３ビットに対応する。このため、バージョン番号＝１５ｈとの不一致は、「（４０〜４３ビット目がＸＸ１０ｂ（ｂは２進数を、Ｘは任意の値を表す）と一致しない）または（４４〜４７ビット目が１０１Ｘｂと一致しない）」と表される。さらに、「セクション番号がＡ５ｈ以上」という条件を、「セクション番号がＢ０ｈ以上、または、Ａ５ｈ〜ＡＦｈ」という２つの条件に分割している。
【０１０３】
図１５に示した第１および第２の一致検出条件に基づいて参照データがパターンメモリ６３に以下のように格納される。
【０１０４】
まずパターンメモリ６３のアドレス０００ｈ〜１ＢＦｈの参照データは、「不一致」を表す０にすべて初期化されているとする。第１の一致検出条件はパターンメモリ６３の３２ビットの参照データのビット位置０に対応させられており、第２の一致検出条件はパターンメモリ６３の３２ビットの参照データのビット位置１に対応させられているものとする。
【０１０５】
部分データ０〜３ビット目に関しては第１、第２の一致検出条件とも２ｈとの一致を検出する必要があるため、２ｈと部分データ０〜３ビット目に対応する部分データ位置信号０００ｈとを加算して得られる００２ｈ番地のビット位置０とビット位置１に、「一致」を示す「１」を記憶させておく。
【０１０６】
部分データ４〜７ビット目に関しては７ｈとの一致を検出する必要があるため、７ｈと部分データ４〜７ビット目に対応する部分データ位置信号０１０ｈとを加算して得られる０１７ｈ番地のビット位置０とビット位置１に、「一致」を示す「１」を記憶させておく。
【０１０７】
部分データ４０〜４３ビット目に関しては、第１、第２の一致検出条件とも、ＸＸ１０ｂとの不一致を検出するため、この値と部分データ４０〜４３ビット目に対応する部分データ位置信号０６０ｈとを加算して得られる０００００１１０ＸＸ１０ｂ番地のビット位置０とビット位置１に、「一致」を示す「１」を記憶させる。
【０１０８】
同様に、部分データ４４〜４７ビット目に関しては、部分データ位置信号が０７０ｈなので、０００００１１１１０１Ｘｂ番地のビット位置０およびビット位置１に、「一致」を示す「１」を記憶させる。
【０１０９】
部分データ４８〜５１ビット目に関しては、第１の一致検出条件では、Ｂｈ以上を検出する必要がある。Ｂｈ以上との一致とは、Ｂｈ〜Ｆｈの全てのデータと一致することである。そこで、これらの値と４８〜５１ビット目に対応する部分データ位置信号の値０８０ｈを加算して得られる０８Ｂｈ〜０８Ｆｈ番地のビット位置０に、「一致」を示す「１」を記憶させる。第２の一致検出条件に関しては、Ａｈとの一致を検出するために、０８０ｈ＋Ａｈ＝０８Ａｈ番地のビット位置１に「１」を記憶させる。
【０１１０】
部分データ５２〜５５ビット目に関しては、第１の一致検出条件では任意の値で一致となればよいため、（部分データ位置信号０９０ｈ）＋（任意の４ビットの数値）＝０９Ｘｈ番地のビット位置０に「１」を記憶させる。第２の一致検出条件については、５ｈ以上、すなわち、５ｈ〜Ｆｈとの一致を検出するため、（部分データ位置信号０９０ｈ）＋（５ｈ〜Ｆｈ）＝０９５ｈ〜０９Ｆｈのビット位置１に「１」を記憶させておく。
【０１１１】
一方、演算順序記憶回路６７には、図１６に示す演算種類と演算順序を、各部分データに対して設定する。
【０１１２】
ここで図１７に示すヘッダを持つセクションが入力されたとする。このセクションは、図１５に示す第１の一致検出条件に一致するセクションである。
【０１１３】
セクションヘッダ切り出し回路６１で入力セクションから０〜３ビット目の部分データ＝２ｈが切り出される。同時にセクションヘッダ切り出し回路６１からは部分データ位置信号として０００ｈが出力される。これら２つの出力が加算回路４２で加算され、００２ｈがパターンメモリ６３へアドレスとして入力される。
【０１１４】
パターンメモリ６３からは００２ｈ番地に記録されている０００００００３ｈ（ビット位置０およびビット位置１の値のみ一致を表す「１」）が読み出され、演算回路６４へ入力される。
【０１１５】
一方、演算順序記憶回路６７には部分データ位置信号０００ｈが入力されているため、演算回路６４に対して「パターンメモリ６３の出力を一致検出状態記憶回路６５の記憶位置０に書き込む」という演算指示が入力されている。演算回路６４はパターンメモリ６３からの出力である０００００００３ｈを一致検出状態記憶回路６５の記憶位置０に書き込む。
【０１１６】
次に、セクションヘッダ切り出し回路６１で入力セクションから４〜７ビット目の部分データ＝７ｈが切り出される。同時にセクションヘッダ切り出し回路６１からは部分データ位置信号として０１０ｈが出力される。これら２つの出力が加算回路４２で加算され、０１７ｈがパターンメモリ６３へアドレスとして入力される。
【０１１７】
パターンメモリ６３からは０１７ｈ番地に記録されている０００００００３ｈ（ビット位置０およびビット位置１の値のみ一致を表す「１」）が読み出され、演算回路６４へ入力される。
【０１１８】
一方、演算順序記憶回路６７には部分データ位置信号０１０ｈが入力されているため、演算回路６４に対して「パターンメモリ６３の出力と、一致検出状態記憶回路６５の記憶位置０の内容をビット毎に論理積演算を行い、一致検出状態記憶回路６５の記憶位置０に書き込む」という演算指示が入力されている。演算回路６４はパターンメモリ６３からの出力である０００００００３ｈと、一致検出状態記憶回路６５の記憶位置０に記憶されている０００００００３ｈのビット毎の論理積演算を行い、演算結果０００００００３ｈを一致検出状態記憶回路６５の記憶位置０に書き込む。
【０１１９】
このように、セクション先頭０から７ビット目であるテーブル識別子が入力された時点で、一致検出状態記憶回路６５には、第１と第２の一致検出条件との一致を示す０００００００３ｈが記憶されている。
【０１２０】
次に、セクションヘッダ切り出し回路６１で入力セクションから２４〜２７ビット目の部分データ＝２ｈが切り出される。同時にセクションヘッダ切り出し回路６１からは部分データ位置信号として０２０ｈが出力される。これら２つの出力が加算回路４２で加算され、０２２ｈがパターンメモリ６３へアドレスとして入力される。
【０１２１】
一方、演算順序記憶回路６７には部分データ位置信号０２０ｈが入力されているため、演算回路６４に対して「演算なし」という演算指示が入力されている。このため、パターンメモリ６３からの出力データに関わらず、一致検出状態記憶回路６５の記憶データは変化せず、一致検出状態記憶回路６５には、第１および第２の一致検出条件との一致を示す０００００００３ｈが記憶されている。これはテーブル識別子拡張の先頭４ビットである部分データ位置２４〜２７ビット目の部分データに対しては一致検出条件が設定されていない、すなわちどのような入力データに対しても「一致」と判断するためである。
【０１２２】
入力セクションの２８〜３１ビット目、３２〜３５ビット目、３６〜３９ビット目の部分データに対しても、演算回路６４では演算が行われない。
【０１２３】
次に、セクションヘッダ切り出し回路６１で入力セクションから４０〜４３ビット目の部分データ＝３ｈが切り出される。バージョン番号のうち上位２ビット（１１ｂ）が４０〜４３ビット目の下位２ビットに対応するためである。同時にセクションヘッダ切り出し回路６１からは部分データ位置信号として０６０ｈが出力される。これら２つの出力が加算回路４２で加算され、０６３ｈ＝０００００１１０００１１ｂがパターンメモリ６３へアドレスとして入力される。
【０１２４】
パターンメモリ６３からは０６３ｈ番地に記録されている００００００００ｈが読み出され、演算回路６４へ入力される。
【０１２５】
一方、演算順序記憶回路６７には部分データ位置信号０６０ｈが入力されているため、演算回路６４に対して「パターンメモリ６３の出力をビット毎に論理反転演算を行い、一致検出状態記憶回路６５の記憶位置１に書き込む」という演算指示が入力されている。演算回路６４はパターンメモリ６３からの出力である００００００００ｈをビット毎に論理反転演算を行い、その演算結果であるＦＦＦＦＦＦＦＦｈを一致検出状態記憶回路６５の記憶位置１に書き込む。
【０１２６】
次に、セクションヘッダ切り出し回路６１で入力セクションから４４〜４７ビット目の部分データ＝１１１Ｘｂが切り出される。バージョン番号のうち下位３ビット（１１１ｂ）が４４〜４７ビット目の上位３ビットに対応するためである。同時にセクションヘッダ切り出し回路６１からは部分データ位置信号として０７０ｈが出力される。これら２つの出力が加算回路４２で加算され、０００００１１１１１１Ｘｂがパターンメモリ６３へアドレスとして入力される。
【０１２７】
パターンメモリ６３からは０００００１１１１１１Ｘｂ番地に記録されている００００００００ｈが読み出され、演算回路６４へ入力される。
【０１２８】
一方、演算順序記憶回路６７には部分データ位置信号０７０ｈが入力されているため、演算回路６４に対する１番目の演算指示として「パターンメモリ６３の出力をビット毎に論理反転演算を行い、一致検出状態記憶回路６５の記憶位置２に書き込む」が入力されている。演算回路６４はパターンメモリ６３からの出力である００００００００ｈをビット毎に論理反転演算を行い、その演算結果であるＦＦＦＦＦＦＦＦｈを一致検出状態記憶回路６５の記憶位置２に書き込む。
【０１２９】
演算回路６４に対する２番目の演算指示は「一致検出状態記憶回路６５の記憶位置１の値と記憶位置２の値とをビット毎に論理和演算を行い、一致検出記憶回路６５の記憶位置１に書き込む」であり、一致検出状態記憶回路６５の記憶位置１の値ＦＦＦＦＦＦＦＦｈと記憶位置２の値ＦＦＦＦＦＦＦＦｈとをビット毎に論理和演算を行い、その演算結果であるＦＦＦＦＦＦＦＦｈを記憶位置１に書き込む。
【０１３０】
さらに、３番目の演算指示は「一致検出状態記憶回路６５の記憶位置０の値と記憶位置１の値とをビット毎に論理積演算を行い、一致検出状態記憶回路６５の記憶位置０に書き込む」であり、一致検出状態記憶回路６５の記憶位置０の値０００００００３ｈと記憶位置１の値ＦＦＦＦＦＦＦＦｈとをビット毎に論理積演算を行い、その演算結果である０００００００３ｈを記憶位置０に書き込む。
【０１３１】
このように演算することにより、一致検出状態記憶回路６５の記憶位置０には、第１の一致検出条件と第２の一致検出条件との双方に一致しているという状態を表す０００００００３ｈが記憶されている。
【０１３２】
上記の演算手順を採ることにより、４ビット単位の一致検出と検出結果の論理演算により「バージョン番号は１５ｈと不一致」という５ビット単位の検出条件に対して「バージョン番号入力が１Ｆｈ」の場合に一致を検出することができる。
【０１３３】
次に、セクションヘッダ切り出し回路６１で入力セクションから４８〜５１ビット目（セクション番号の上位４ビット）の部分データ＝Ｄｈが切り出される。同時にセクションヘッダ切り出し回路６１からは部分データ位置信号として０８０ｈが出力される。これら２つの出力が加算回路４２で加算され、０８Ｄｈがパターンメモリ６３へアドレスとして入力される。
【０１３４】
パターンメモリ６３からは０８Ｄｈ番地に記録されている０００００００１ｈ（ビット位置０の値のみ一致を表す「１」）が読み出され、演算回路６４へ入力される。
【０１３５】
一方、演算順序記憶回路６７には部分データ位置信号０８０ｈが入力されているため、演算回路６４に対して「パターンメモリ６３の出力と、一致検出状態記憶回路６５の記憶位置０の内容とをビット毎に論理積演算を行い、一致検出状態記憶回路６５の記憶位置０に書き込む」という演算指示が入力されている。演算回路６４はパターンメモリ６３からの出力である０００００００１ｈと、一致検出状態記憶回路６５の記憶位置０に記憶されている０００００００３ｈとのビット毎の論理積演算を行い、その演算結果０００００００１ｈを一致検出状態記憶回路６５の記憶位置０に書き込む。
【０１３６】
一致検出状態記憶回路６５には、第１の一致検出条件との一致を示す０００００００１ｈが記憶されている。
【０１３７】
次に、セクションヘッダ切り出し回路６１で入力セクションから５２〜５５ビット目（セクション番号の下位４ビット）の部分データ＝０ｈが切り出される。同時にセクションヘッダ切り出し回路６１からは部分データ位置信号として０９０ｈが出力される。これら２つの出力が加算回路４２で加算され、０９０ｈがパターンメモリ６３へアドレスとして入力される。
【０１３８】
パターンメモリ６３からは０９０ｈ番地に記録されている０００００００１ｈ（ビット位置０の値のみ一致を表す「１」）が読み出され、演算回路６４へ入力される。
【０１３９】
一方、演算順序記憶回路６７には部分データ位置信号０９０ｈが入力されているため、演算回路６４に対して「パターンメモリ６３の出力と、一致検出状態記憶回路６５の記憶位置０の内容とをビット毎に論理積演算を行い、一致検出状態記憶回路６５の記憶位置０に書き込む」という演算指示が入力されている。演算回路６４はパターンメモリ６３からの出力である０００００００１ｈと、一致検出状態記憶回路６５の記憶位置０に記憶されている０００００００１ｈとのビット毎の論理積演算を行い、その演算結果０００００００１ｈを一致検出状態記憶回路６５の記憶位置０に書き込む。
【０１４０】
一致検出状態記憶回路６５には、第１の一致検出条件との一致を示す０００００００１ｈが記憶されている。
【０１４１】
この後、セクションヘッダ切り出し回路６１で入力セクションから５６〜５９ビット目の部分データ（最終セクション番号の上位４ビット）＝８ｈ、６０〜６３ビット目の部分データ（最終セクション番号の下位４ビット）＝０ｈが順次切り出される。これらの部分データに対する部分データ位置信号として０Ａ０ｈ、０Ｂ０ｈが演算順序記憶回路６７に入力されるが、演算順序記憶回路６７には０Ａ０ｈ以降の演算指示は全て「演算なし」であり、このためこの時点の一致検出記憶回路６５の状態はセクションヘッダの最後のデータが入力されるまで変化しない。
【０１４２】
セクションヘッダ切り出し回路６１から入力セクションの１２４〜１２７ビット目が切り出され、部分データ位置信号として１Ｂ０ｈが一致判断記憶回路４６に入力されると、この入力セクションと一致検出条件の一致検出が完了し、一致検出記憶回路６５の記憶位置０に記憶されている０００００００１ｈが一致判断記憶回路４６に入力される。
【０１４３】
一致判断記憶回路４６では入力が０でないため、入力セクションデータが第１の一致検出条件と一致したと判断し、一致判断結果として「一致」を出力する。
【０１４４】
このように、入力されたセクションは一致検出条件に一致したものと判断され、一致判断記憶回路４６から「一致」が出力され、ヘッダ一致検出回路３１から「一致」が出力される。
【０１４５】
次に図１８に示すヘッダを持つセクションが入力されたとする。このセクションは、図１５に示す第２の一致検出条件に一致するセクションである。
【０１４６】
テーブル識別子、テーブル識別子拡張、バージョン番号、最終セクション番号は、図１７の入力セクションと同一であり、説明を省略する。
【０１４７】
セクションヘッダ切り出し回路６１で入力セクションから４８〜５１ビット目（セクション番号の上位４ビット）の部分データ＝Ａｈが切り出される。同時にセクションヘッダ切り出し回路６１からは部分データ位置信号として０８０ｈが出力される。これら２つの出力が加算回路４２で加算され、０８Ａｈがパターンメモリ６３へアドレスとして入力される。
【０１４８】
パターンメモリ６３からは０８Ａｈ番地に記録されている０００００００２ｈ（ビット位置１の値のみ一致を表す「１」）が読み出され、演算回路６４へ入力される。
【０１４９】
一方、演算順序記憶回路６７には部分データ位置信号０８０ｈが入力されているため、演算回路６４に対して「パターンメモリ６３の出力と、一致検出状態記憶回路６５の記憶位置０の内容とをビット毎に論理積演算を行い、一致検出状態記憶回路６５の記憶位置０に書き込む」という演算指示が入力されている。演算回路６４はパターンメモリ６３からの出力である０００００００２ｈと、一致検出状態記憶回路６５の記憶位置０に記憶されている０００００００３ｈとのビット毎の論理積演算を行い、その演算結果０００００００２ｈを一致検出状態記憶回路６５の記憶位置０に書き込む。
【０１５０】
一致検出状態記憶回路６５には、第２の一致検出条件との一致を示す０００００００２ｈが記憶されている。
【０１５１】
次に、セクションヘッダ切り出し回路６１で入力セクションから５２〜５５ビット目（セクション番号の下位４ビット）の部分データ＝６ｈが切り出される。同時にセクションヘッダ切り出し回路６１からは部分データ位置信号として０９０ｈが出力される。これら２つの出力が加算回路４２で加算され、０９６ｈがパターンメモリ６３へアドレスとして入力される。
【０１５２】
パターンメモリ６３からは０９６ｈ番地に記録されている０００００００２ｈ（ビット位置１の値のみ一致を表す「１」）が読み出され、演算回路６４へ入力される。
【０１５３】
一方、演算順序記憶回路６７には部分データ位置信号０９０ｈが入力されているため、演算回路６４に対して「パターンメモリ６３の出力と、一致検出状態記憶回路６５の記憶位置０の内容とをビット毎に論理積演算を行い、一致検出状態記憶回路６５の記憶位置０に書き込む」という演算指示が入力されている。演算回路６４はパターンメモリ６３からの出力である０００００００２ｈと、一致検出状態記憶回路６５の記憶位置０に記憶されている０００００００２ｈとのビット毎の論理積演算を行い、その演算結果０００００００２ｈを一致検出状態記憶回路６５の記憶位置０に書き込む。
【０１５４】
一致検出状態記憶回路６５には、第２の一致検出条件との一致を示す０００００００２ｈが記憶される。
【０１５５】
５２〜５５ビット目（セクション番号の下位４ビット）の部分データが５ｈ以上であれば、パターンメモリ６３からは０００００００２ｈが読み出されるため、セクション番号の上位４ビットがＡでかつセクション番号の下位４ビットが５ｈ以上、すなわちセクション番号がＡ５ｈ以上、ＡＦｈ以下で条件と一致することが検出できる。
【０１５６】
このようにして、図１８に示す入力セクションは第２の一致検出条件と一致することが検出できる。
【０１５７】
第２の一致検出条件では、セクション番号がＡ５ｈ〜ＡＦｈで条件と一致し、第１の一致検出条件では、セクション番号がＢ０ｈ以上で条件と一致することが検出できるため、入力セクションのセクション番号がＡ５ｈ以上であれば第１または第２の一致検出条件のどちらかと一致することを検出できる。
【０１５８】
以上のように、実施の形態２のセクションデータ選別回路２５によれば、セクションヘッダとの一致検出条件を３２種まで設定でき、そのうちのある条件に一致するセクションヘッダを持つセクションを選別出力することができる。
【０１５９】
セクションヘッダを４ビット単位の部分データに分割し、それぞれの部分データに対して１回のパターンメモリ６３への読み出しだけで一致検出条件との比較を完了させることができるため、ヘッダ一致検出回路３１に必要とされるメモリのアクセスバンド幅を小さく抑えることが可能となる。
【０１６０】
例えば、１２.５Ｍバイト／秒で入力されるセクションの選別を３２種の条件に対して実行する場合にも、最大で１２．５Ｍ回×２×３２ビット＝１００Ｍバイト／秒のメモリアクセスバンド幅が要求されるだけであり、従来技術を用いた場合に必要となる８００Ｍバイト／秒と比較して大幅に要求性能を抑えることが可能となる。
【０１６１】
また、全てのデータ値について一致検出条件との一致／不一致を示す参照データをあらかじめパターンメモリ６３に格納するとともに、参照データと一致検出状態との演算指示を各部分データ位置毎に指定できるため、条件データとの一致の検出だけでなく、不一致の検出、大小比較、フィールドデータの一部分の比較抑止などを実現でき、非常に柔軟な検出条件を設定することが可能となる。
【０１６２】
さらに、比較対象となる入力セクションを４ビット単位に部分データに分割することにより、実施の形態１と比較して検出条件をセクション先頭１６バイト目までの２倍に拡張したにも関わらずパターンメモリの容量は１３１４ワードから４４８ワードに削減できる。
【０１６３】
なお、実施の形態２では、パターンメモリ６３に３２種の一致検出条件を設定できるものとしたがこれに限るものでなく、一致検出条件数に応じてパターンメモリ６３、演算回路６４、一致検出状態記憶回路６５、一致判断記憶回路４６で扱うビット数を変更することにより、任意の条件数を扱うことができる。
【０１６４】
また、実施の形態２のヘッダ一致検出回路３１は、セクションデータの先頭の１６バイト目までのフィールドについて、一致検出するものとして説明したが、一致検出対象のフィールドはこれに限られるものでなく、任意のサイズのデータについて一致検出することができる。
【０１６５】
また、実施の形態２の一致判断記憶回路４６からは、一致したか否かの結果だけを一致判断結果と出力するとしたが、これに加えて、一致を検出した条件を示している一致検出状態記憶回路６５からの入力そのものも記憶し、この情報を出力することもできる。これによりセクションデータ選別回路２５では、一致検出条件との一致を判断しセクションデータの出力可否を判断するだけでなく、一致を検出した条件を示す情報も出力することが可能となる。
【０１６６】
また、実施の形態２の演算順序記憶回路６７の説明に記載した演算内容はこれに限られるものでない。
【０１６７】
さらに、実施の形態２では、パターンメモリ６３をヘッダ一致検出回路３１に内蔵されるメモリとして説明したが、これに限定されるものでなく、ＣＰＵ２９の主記憶メモリと共用するなど、ヘッダ一致検出回路３１の外部に置くこともできる。上述のように、１２．５Mバイト／秒で入力されるセクションの選別を３２種の条件に対して実行する場合に１００Mバイト／秒のメモリアクセスバンド幅を使用するに留まる。ＣＰＵ２９の主記憶メモリは数百Ｍバイト／秒のアクセスバンド幅を持つことが一般的であり、このアクセスバンド幅のうち１００Ｍバイト／秒をヘッダ一致検出回路３１が使用することは現実的な実現形態である。パターンメモリ６３の実現方法として外付けの大容量メモリを利用することにより、一致検出対象のフィールド数や一致検出条件数を増加させる場合に必要となるパターンメモリ６３の容量増加に容易に対応することができる。
【０１６８】
さらには、実施の形態２ではセクションヘッダ切り出しや部分データと部分データ位置信号とを加算しパターンメモリへのアドレスを作ることを回路として実現する方法を説明したが、これに限られるものでなく、セクションデータからの部分データの切り出しや部分データ位置のカウント、部分データ位置信号として表される部分データ位置情報と部分データとの加算を、処理の全てまたは一部をソフトウェアで実現することも可能である。セクションヘッダからの部分データの切り出しは、実現の形態２では１２．５Ｍバイト／秒のデータの処理であり、ソフトウェアでも実現できる処理量である。
【０１６９】
また、実施の形態２では、演算順序記憶回路６７、演算回路６４、一致検出状態記憶回路６５、一致判断記憶回路４６を回路として実現することを説明したが、これに限られるものでなく、ソフトウェア処理で実現することもできる。
【０１７０】
上述のようにパターンメモリ６３をＣＰＵ２９の主記憶メモリとして実現し、その他のヘッダ一致検出回路３１の処理をソフトウェアで実現することもできる。すなわち、実施の形態２で説明したヘッダ一致検出回路３１の一部または全てをソフトウェアで実現することも可能である。
【０１７１】
（実施の形態３）
図１９に、本発明の実施の形態３におけるヘッダ一致検出回路の構成図を示す。ヘッダ一致検出回路３１は、セクションヘッダ切り出し回路６１、加算回路４２、パターンメモリ６３、演算回路６４、一致検出状態記憶回路６５、一致判断記憶回路４６、マスク条件メモリ６８、反転条件メモリ６９を備えている。
【０１７２】
セクションヘッダ切り出し回路６１は、セクションヘッダを構成するテーブル識別子，テーブル識別子拡張，バージョン番号，カレントネクスト指示，セクション番号，最終セクション番号などの各フィールドを切り出し出力する。この際、各フィールドのデータ長が特定のデータサイズ（本実施例では4ビット）を上回る場合は、各フィールドを更に４ビット毎の部分データとして分割し、順次出力する。セクションヘッダ切り出し回路６１は、部分データを出力すると同時にこの部分データのセクションヘッダ内での位置を示す部分データ位置信号も出力する。なお、本実施例では各フィールドを4ビット毎の部分データに分割するとしたが、分割するデータサイズは4ビットに限るものではない。
【０１７３】
加算回路４２は、セクションヘッダ切り出し回路６１から出力された部分データと部分データ位置信号とを加算し、加算結果をパターンメモリ６３へ出力する。
【０１７４】
パターンメモリ６３には、セクションヘッダの各部分データがとりうる値の各々に対応づけられたアドレスに、当該とりうる値が一致検出条件に一致すること（「一致」）を示す参照データまたは当該とりうる値が一致検出条件に一致しないこと（「不一致」）を示す参照データが実施の形態１と同様にあらかじめＣＰＵ２９により記憶されている。加算回路４２から入力された部分データと部分データ位置信号の加算結果をアドレスとしてパターンメモリ６３を読み出すと、この部分データが一致検出条件に一致するか否かを示す参照データが出力される。
【０１７５】
一致検出状態記憶回路６５は、３２ビットの情報を複数ワード記憶できる記憶回路であり、各ワードの各ビットに一致検出処理中の状態を記憶している。セクションの開始ごとに一致検出状態記憶回路６５は、何も記憶されていない状態に初期化される。その後、各フィールドデータの比較が実行される度に演算回路６４の演算結果を記憶する。
【０１７６】
演算回路６４は、パターンメモリ６３からの参照データを入力するとともに、一致検出状態記憶回路６５の記憶内容を読み出し、これらのデータに対してマスク条件メモリ６８及び反転条件メモリ６９からの出力データとのビット演算を行い、その演算結果を一致検出状態記憶回路６５に出力する。
【０１７７】
マスク条件メモリ６８には、セクションヘッダ切り出し回路６１で切り出された部分データに対応づけて、一致検出をマスクする条件を記憶することができ、各ビットはそれぞれ独立の一致検出条件に対応する。
【０１７８】
反転条件メモリ６９には、セクションヘッダ切り出し回路６１で切り出された部分データに対応づけて、一致検出結果を反転する条件を記憶することができ、各ビットはそれぞれ独立の一致検出条件に対応する。
【０１７９】
あるセクションのセクションヘッダの全フィールドに関してパターンメモリ６３の参照が終わると、一致判断記憶回路４６は一致検出状態記憶回路６５の記憶データを読み出し、少なくとも１ビットが「一致」を示している場合は「一致」を、そうでない場合は「不一致」を記憶し出力する。このようにして一致判断記憶回路４６からセクションヘッダと一致検出候補データとの一致判断結果が記憶され出力される。
【０１８０】
さらに具体的に機能・動作を説明する。
【０１８１】
セクションヘッダ切り出し回路６１は、セクションヘッダを構成するデータ列の先頭からテーブル識別子などの各フィールドを部分データとして切り出し、更に各フィールドデータ長が４ビットを上回る場合は、各フィールドを更に４ビット毎の部分データとして分割し、順次出力する。例えば、セクションの先頭からの４ビット部分データ２つはテーブル識別子に対応する。
【０１８２】
図２０に、パターンメモリ６３のアドレスマップを示す。パターンメモリ６３は４４８ワードのメモリであり、図２０に示すように、０００〜００Ｆｈ番地はセクション先頭０〜３ビット目の部分データのとりうる値０〜Ｆｈに対応し、０１０〜０１Ｆ番地はセクション先頭４〜７ビット目の部分データのとりうる値０〜Ｆｈに対応している。以下同様に、セクションのテーブル長のフィールドを除く各部分データのとりうる値が１ＢＦ番地まで対応している。各番地には３２ビットの参照データを記憶でき、参照データの各ビットはそれぞれ独立の一致検出条件に対応する。すなわち実施の形態３では３２種の一致検出条件との一致検出が可能である。
【０１８３】
図２１は、マスク条件メモリ６８のアドレスマップを示す。図２１に示すように、００ｈ番地にはセクション先頭０〜３ビット目の部分データに対応するマスク条件が、０１h番地にはセクション先頭４〜７ビット目の部分データに対応するマスク条件が格納されている。以下同様に、セクションのテーブル長のフィールドを除く各部分データのマスク条件が１Ｄｈ番地までに格納されている。各番地には３２ビットのマスク条件を記憶でき、各ビットはそれぞれ独立の一致検出条件に対応する。すなわち実施の形態３では３２種の一致検出条件の各々に対して独立にマスク条件を設定可能である。
【０１８４】
図２２には、反転条件メモリ６９のアドレスマップを示す。図２２に示すように、００ｈ番地にはセクション先頭０〜３ビット目の部分データに対応する反転条件が、０１ｈ番地にはセクション先頭４〜７ビット目の部分データに対応する反転条件が格納されている。以下同様に、セクションのテーブル長のフィールドを除く各部分データの反転条件が１Ｄｈ番地までに格納されている。各番地には３２ビットの反転条件を記憶でき、各ビットはそれぞれ独立の一致検出条件に対応する。すなわち実施の形態３では３２種の一致検出条件の各々に対して独立にマスク条件を設定可能である。
【０１８５】
実施の形態３では、下記の条件に一致するセクションを第１の一致検出条件に設定し、選別する場合について考える。
・テーブル識別子が２７ｈと一致
・バージョン番号上位4ビットが２ｈと不一致（一致の結果反転）
・セクション番号上位４ビットはマスク(一致検出しない)
上記各条件に基づいて参照データがパターンメモリ６３に次のように格納される。
【０１８６】
まずパターンメモリ６３はすべて「不一致」を表す０に初期化されているとする。また、マスク条件メモリ６８はすべて「マスクしない」を表す０に初期化されているとする。さらに反転条件メモリ６９はすべて「結果反転しない」をあらわす０に初期化されているとする。
【０１８７】
第１の一致検出条件はパターンメモリ６３の参照データのビット位置０に対応させられているとする。テーブル識別子は０〜３ビット目の部分データに対応する。これに関して第１の一致検出条件では２ｈとの一致を検出する必要があるため、２ｈと部分データ０〜３ビット目に対応する部分データ位置信号０００ｈとを加算して得られる００２ｈ番地のビット位置０に、「一致」を示す「１」を記憶させておく。
【０１８８】
部分データ４〜７ビット目に関しては７ｈとの一致を検出する必要があるため、７ｈと部分データ４〜７ビット目に対応する部分データ位置信号０１０ｈとを加算して得られる０１７ｈ番地のビット位置０に、「一致」を示す「１」を記憶させておく。
【０１８９】
バージョン番号上位４ビットは、４０〜４３ビット目の部分データに対応する。このため、バージョン番号上位4ビット＝２ｈとの不一致は、パターンメモリ６３の４１ｈ番地における第１の一致検出条件に対応するビット位置０に、「一致」を示す「１」を記憶させておき、反転条件メモリ６９の０６ｈ番地における第１の一致検出条件に対応するビット位置０に、「反転」を示す「１」を記憶させておく。
【０１９０】
セクション番号上位４ビットは、４８〜５１ビット目の部分データに対応する。このため、セクション番号上位4ビットをマスクする場合は、マスク条件メモリ６８の０９ｈ番地における第１の一致検出条件に対応するビット位置０に、「反転」を示す「１」を記憶させておく。この場合、パターンメモリ６３の４８〜５１ビット目の部分データに対応するアドレス番地における第１の一致検出条件に対応するビット位置０のデータは一致検出に無関係となる。
【０１９１】
次に下記のフィールドデータを有するセクションデータが入力されたとする。
・テーブル識別子が２７ｈ
・バージョン番号上位4ビットが３ｈ
・セクション番号上位４ビットが１ｈ
セクションヘッダ切り出し回路６１で入力セクションから０〜３ビット目の部分データ＝２ｈが切り出される。同時にセクションヘッダ切り出し回路６１からは部分データ位置信号として００ｈが出力される。これら２つの出力が加算回路４２で加算され、００２ｈがパターンメモリ６３へアドレスとして入力される。パターンメモリ６３からは００２ｈ番地に記録されている０００００００１ｈ（ビット位置０の一致を表す「１」）が読み出され、演算回路６４へ入力される。
【０１９２】
一方、マスク条件メモリ６８には部分データ位置信号００ｈが入力されているため、演算回路６４に対して「パターンメモリ６３の出力をマスクしない」という演算指示が入力されている。また、反転条件メモリ６９には部分データ位置信号００ｈが入力されているため、演算回路６４に対して「パターンメモリ６３の出力を反転しない」という演算指示が入力されている。
【０１９３】
演算回路６４はパターンメモリ６３からの出力である０００００００１ｈとマスク条件メモリ６８からの出力である００００００００ｈと反転条件メモリ６９からの出力である００００００００ｈとをビット演算し、その演算結果０００００００１ｈを一致検出状態記憶回路６５は記憶する。
【０１９４】
次に、セクションヘッダ切り出し回路６１で入力セクションから４〜７ビット目の部分データ＝７ｈが切り出される。同時にセクションヘッダ切り出し回路６１からは部分データ位置信号として０１ｈが出力される。これら２つの出力が加算回路４２で加算され、０１７ｈがパターンメモリ６３へアドレスとして入力される。パターンメモリ６３からは０１７ｈ番地に記録されている０００００００１ｈ（ビット位置０の値のみ一致を表す「１」）が読み出され、演算回路６４へ入力される。
【０１９５】
一方、マスク条件メモリ６８には部分データ位置信号０１ｈが入力されているため、演算回路６４に対して「パターンメモリ６３の出力をマスクしない」という演算指示が入力されている。また、反転条件メモリ６９には部分データ位置信号０１ｈが入力されているため、演算回路６４に対して「パターンメモリ６３の出力を反転しない」という演算指示が入力されている。
【０１９６】
演算回路６４はパターンメモリ６３からの出力である０００００００１ｈとマスク条件メモリ６８からの出力である００００００００ｈと反転条件メモリ６９からの出力である００００００００ｈとをビット演算し、その演算結果０００００００１ｈと一致検出状態記憶回路６５の出力とをビット積演算した結果を一致検出状態記憶回路６５は新たに記憶する。
【０１９７】
このように、セクション先頭０から７ビット目であるテーブル識別子が入力された時点で、一致検出状態記憶回路６５には、第１の一致検出条件との一致を示す０００００００１ｈが記憶されている。
【０１９８】
次に、セクションヘッダ切り出し回路６１で入力セクションから４０〜４３ビット目の分データ＝３ｈが切り出される。同時にセクションヘッダ切り出し回路６１からは部分データ位置信号として０６ｈが出力される。これら２つの出力が加算回路４２で加算され、０６３ｈがパターンメモリ６３へアドレスとして入力される。
【０１９９】
一方、マスク条件メモリ６８には部分データ位置信号０６ｈが入力されているため、演算回路６４に対して「パターンメモリ６３の出力をマスクしない」という演算指示が入力されている。また、反転条件メモリ６９には部分データ位置信号０６ｈが入力されているため、演算回路６４に対して「パターンメモリ６３の出力を反転する」という演算指示が入力されている。
【０２００】
演算回路６４はパターンメモリ６３からの出力である００００００００ｈとマスク条件メモリ６８からの出力である００００００００ｈと反転条件メモリ６９からの出力である０００００００１ｈとをビット演算し、その演算結果０００００００１ｈと一致検出状態記憶回路６５の出力とをビット積演算した結果を一致検出状態記憶回路６５は新たに記憶する。
【０２０１】
次に、セクションヘッダ切り出し回路６１で入力セクションから４８〜５１ビット目の部分データ＝１ｈが切り出される。同時にセクションヘッダ切り出し回路６１からは部分データ位置信号として０８ｈが出力される。これら２つの出力が加算回路４２で加算され、０８１ｈがパターンメモリ６３へアドレスとして入力される。
【０２０２】
一方、マスク条件メモリ６８には部分データ位置信号０８ｈが入力されているため、演算回路６４に対して「パターンメモリ６３の出力をマスクする」という演算指示が入力されている。また、反転条件メモリ６９には部分データ位置信号０８ｈが入力されているため、演算回路６４に対して「パターンメモリ６３の出力を反転しない」という演算指示が入力されている。
【０２０３】
演算回路６４はパターンメモリ６３からの出力である００００００００ｈとマスク条件メモリ６８からの出力である０００００００１ｈと反転条件メモリ６９からの出力である００００００００ｈとをビット演算し、その演算結果０００００００１ｈと一致検出状態記憶回路６５の出力とをビット積演算した結果を一致検出状態記憶回路６５は新たに記憶する。
【０２０４】
このように、入力セクションデータと一致検出条件との一致検出を順次行ない、入力された部分データ全ての一致検出が完了した時点で、一致検出記憶回路６５に記憶されている０００００００１ｈが一致判断記憶回路４６に入力される。一致判断記憶回路４６では入力が０でないため、入力セクションデータが第１の一致検出条件と一致したと判断し、一致判断結果として「一致」を出力する。
【０２０５】
以上のように、実施の形態３のセクションデータ選別回路２５によれば、セクションヘッダとの一致検出条件を３２種まで設定でき、そのうちのある条件に一致するセクションヘッダを持つセクションを選別出力することができる。
【０２０６】
セクションヘッダをテーブル識別子、テーブル識別子拡張、バージョン番号、カレントネクスト指示、セクション番号、最終セクション番号などの各フィールドに分割して切り出し、更に各フィールドのデータ長が４ビットを上回る場合は、各フィールドを更に４ビット毎の部分データとして分割し、それぞれの部分データに対する反転条件およびマスク条件を設定することで、実施形態２と比較して、より小さな面積でセクションデータ選別に必要な柔軟な比較条件を実現することが可能となる。
【０２０７】
更に、それぞれの部分データに対して１回のパターンメモリ６３への読み出しだけで一致検出条件との比較を完了させることができるため、ヘッダ一致検出回路３１に必要とされるメモリのアクセスバンド幅を従来技術に比べて大幅に抑えることが可能となる。
【０２０８】
なお、実施の形態３では、パターンメモリに３２種の一致検出条件を設定できるものとしたがこれに限るものでなく、一致検出条件数に応じてパターンメモリ６３、演算回路６４、マスク条件メモリ６８、反転条件メモリ６８、一致検出状態記憶回路６５、一致判断記憶回路４６で扱うビット数を変更することにより、任意の条件数を扱うことができる。
【０２０９】
また、実施の形態３のヘッダ一致検出回路３１は、セクションデータの先頭の１６バイト目までのフィールドについて、一致検出するものとして説明したが、一致検出対象のフィールドはこれに限られるものでなく、任意のサイズのデータについて一致検出することができる。
【０２１０】
また、実施の形態３では、パターンメモリ６３、マスク条件メモリ６８、反転条件メモリ６９を別々のメモリ構成としたが、これらは同一メモリの別領域を用いることもでき、いずれもヘッダ一致検出回路３１に内蔵されるメモリとして説明したが、これに限定されるものでなく、ＣＰＵ２９の主記憶メモリと共用するなど、ヘッダ一致検出回路３１の外部に置くこともできる。
【０２１１】
また、実施の形態３では、演算回路６４、一致検出状態記憶回路６５、一致判断記憶回路４６を回路として実現することを説明したが、これに限られるものでなく、ソフトウェア処理で実現することもできる。
【０２１２】
上述のようにパターンメモリ６３、マスク条件メモリ６８、反転条件メモリ６９をＣＰＵ２９の主記憶メモリとして実現し、その他のヘッダ一致検出回路３１の処理をソフトウェアで実現することもできる。すなわち、実施の形態３で説明したヘッダ一致検出回路３１の一部または全てをソフトウェアで実現することも可能である。
【図面の簡単な説明】
【０２１３】
【図１】ＭＰＥＧシステム規格によるトランスポートストリームパケットとセクションのデータ構造を示す図である。
【図２】ディジタル放送受信機におけるトランスポートパケット処理回路の構成を示すブロック図である。
【図３】セクションデータを選別するための一致検出条件の一例を示す表である。
【図４】セクションデータ選別回路の構成を示すブロック図である。
【図５】実施の形態１におけるヘッダ一致検出回路の構成を示すブロック図である。
【図６】各フィールドが出力される際のフィールド位置信号を示す表である。
【図７】パターンメモリのアドレスマップを示す図である。
【図８】図３に示した第１および第２の一致検出条件に基づいて参照データがパターンメモリに格納される例を示す図である。
【図９】図３に示した第１および第２の一致検出条件に基づいて参照データがパターンメモリに格納される例を示す図である。
【図１０】入力セクションデータの一例を示す図である。
【図１１】入力セクションデータの一例を示す図である。
【図１２】実施の形態２におけるヘッダ一致検出回路の構成を示すブロック図である。
【図１３】各部分データが出力される際の部分データ位置信号を示す表である。
【図１４】パターンメモリのアドレスマップを示す図である。
【図１５】一致検出条件の一例を示す表である。
【図１６】各部分データに対して設定された演算種類および演算順序の一例を示す表である。
【図１７】入力セクションの一例を示す図である。
【図１８】入力セクションの一例を示す図である。
【図１９】実施の形態３におけるヘッダ一致検出回路の構成を示すブロック図である。
【図２０】パターンメモリのアドレスマップを示す図である。
【図２１】マスク条件メモリのアドレスマップを示す図である。
【図２２】反転条件メモリのアドレスマップを示す図である。
【符号の説明】
【０２１４】
２１  トランスポートパケット処理装置
２５  セクションデータ選別回路
３１  ヘッダ一致検出回路
４１，６１  セクションヘッダ切り出し回路
４２，６２  加算回路
４３，６３  パターンメモリ
４４  論理積回路
４５，６５  一致検出状態記憶回路
４６  一致判断記憶回路
６４  演算回路
６７  演算順序記憶回路
６８  マスク条件メモリ
６９  反転条件メモリ
【図１】
2005045775.tif 000003
【図２】
2005045775.tif 000004
【図３】
2005045775.tif 000005
【図４】
2005045775.tif 000006
【図５】
2005045775.tif 000007
【図６】
2005045775.tif 000008
【図７】
2005045775.tif 000009
【図８】
2005045775.tif 000010
【図９】
2005045775.tif 000011
【図１０】
2005045775.tif 000012
【図１１】
2005045775.tif 000013
【図１２】
2005045775.tif 000014
【図１３】
2005045775.tif 000015
【図１４】
2005045775.tif 000016
【図１５】
2005045775.tif 000017
【図１６】
2005045775.tif 000018
【図１７】
2005045775.tif 000019
【図１８】
2005045775.tif 000020
【図１９】
2005045775.tif 000021
【図２０】
2005045775.tif 000022
【図２１】
2005045775.tif 000023
【図２２】
2005045775.tif 000024