(57)【要約】  プログラム可能な信号処理回路は、データストリームを（デ）インターリーブするために用いられる。信号ストリームからのデータは、データメモリー（２８）に格納され、及び異なるシーケンスで読み出される。プログラム可能な信号処理回路は、当該格納及び／又は読み出しで用いられるアドレスを計算するために用いられる。プログラム可能な信号処理回路は、当該格納及び／又は読み出しで用いられた先行するアドレスからアドレスを計算する命令を有する命令セットを有する。命令に応じ、プログラム可能な信号処理回路は、古いアドレスオペランドからの複数のビットの位置を置換し、そして古いアドレスオペランドからのビットの組み合わせの論理関数として新しいアドレス結果のビットを形成する。次に続くアドレスは、アドレスを計算するためのアドレス更新命令を有するプログラムループの繰り返し実行を用い形成される。
2008523761.tif 000002
【特許請求の範囲】
【請求項１】
方法であって、信号をデインターリーブし、前記方法は、
−前記信号からデータを抽出する段階；
−前記抽出したデータをデータメモリーに格納し、及び前記格納の後に前記格納した抽出したデータを前記データメモリーから読み出す段階；
−前記格納及び／又は読み出しで使用するため、プログラムループの繰り返し実行を用い、前記格納及び／又は読み出しで使用された先行するアドレスからアドレスを計算する段階、を有し、前記プログラムループは前記アドレスを計算するアドレス更新命令を有し、前記アドレス更新命令は古いアドレスオペランド及び新しいアドレス結果の位置を定め、前記新しいアドレス結果は、アドレス更新命令の実行の少なくとも一部に応じて、前記古いアドレスオペランドからの複数のビットの位置を置換し及び前記古いアドレスオペランドからのビットの組み合わせの論理関数として前記新しいアドレス結果のビットを形成することにより、形成される、方法。
【請求項２】
−前記アドレス更新命令の各実行に応じて、前記新しいアドレス結果オペランドにより表される数が閾値を超えるか否かを決定する段階；
−前記新しいアドレス結果オペランドにより表される数が閾値を超えるか否かを示すフラグ結果を、前記アドレス更新命令によりアドレス指定されるフラグ位置に書き込む段階；
−前記新しいアドレス結果をオペランドとして用いる前記ループ内の更なる命令の実行に条件を付けるため、前記フラグ位置からのフラグ結果を用いる段階、を有する、請求項１記載の方法。
【請求項３】
−繰り返しサイクルを開始する段階を有し、前記格納及び／又は読み出しに用いられる同一のアドレスシリーズのそれぞれは、前記プログラムループの実行中、アドレス更新命令の実行に応じて自動的に、ビットの前記置換及び形成から外れることにより、古いアドレスオペランドが所定値を有する場合に新しい前記アドレス結果を形成する、請求項１記載の方法。
【請求項４】
ＤＶＢ信号及び前記ＤＶＢ信号からのデインターリーブデータを受信する段階、を有する請求項１記載の方法。
【請求項５】
プログラム可能な信号処理回路であって、
−オペランド格納回路；
−前記オペランド格納回路内のオペランド及び結果の位置をアドレス指定する命令を実行する命令処理回路、を有し、前記命令処理回路の命令セットはアドレス更新命令を有し、前記命令処理回路は、前記オペランド格納回路からの前記アドレス更新命令の古いアドレスオペランドを受信するオペランド入力と、前記アドレス更新命令の新しいアドレス結果を前記オペランド格納回路に書き込む結果出力とを有し、前記命令処理回路は、
−前記オペランド入力と前記結果出力との間に結合され、及び出力ビット位置の置換である対応する入力位置からの対応するビットに依存した前記新しいアドレス結果内の対応する出力ビット位置における複数ビットの値を制御するよう配置された置換回路、及び
−前記オペランド入力と前記結果出力との間に結合され、前記古いアドレスオペランド内の対応する入力ビット位置からビットを受信するために結合された入力と、前記新しいアドレス結果内のビット位置へビットを出力するために結合された出力とを有する組み合わせ論理回路、を有する、プログラム可能な信号処理回路。
【請求項６】
前記命令処理回路は、
−前記オペランド入力と結合された入力と、出力とを備えた比較回路；
−前記置換回路と直列に結合され、前記比較回路の出力と結合された制御入力を備え、及び前記比較回路が前記古いアドレスオペランドはビット値の所定の組み合わせを有すると示す場合、所定のビット値を前記複数の出力位置の１つに代入するよう配置されたビット代入回路、を有する、請求項５記載のプログラム可能な信号処理回路。
【請求項７】
前記命令処理回路は、
−前記オペランド入力と結合された入力と、出力とを備えた更なる比較回路；
−前記置換回路と直列に結合され、前記更なる比較回路の出力と結合された制御入力を備え、及び前記更なる比較回路が前記古いアドレスオペランドはビット値の更なる所定の組み合わせを有すると示す場合、所定のビット値を前記複数の出力位置に代入するよう配置された更なるビット代入回路、を有する、請求項６記載のプログラム可能な信号処理回路。
【請求項８】
前記命令処理回路は、
−前記アドレス更新命令のフラグ結果を前記オペランド格納回路に書き込む更なる結果出力；
−前記オペランド入力から引き出された情報を受信するために結合された入力と、前記更なる結果出力と結合された出力とを備え、前記情報が前記新しいアドレス結果により表される値は所定値を超えると示すか否かに依存するフラグを設定するよう配置された比較回路、を有する、請求項６記載のプログラム可能な信号処理回路。
【請求項９】
前記命令処理回路は、前記アドレス更新命令により指定される更新種類情報を受信する入力を有し、及び前記命令処理回路は、前記更新情報に依存する更新の種類を選択するよう配置される、請求項６記載のプログラム可能な信号処理回路。
【請求項１０】
アドレス可能なメモリーを有し、プログラム可能な信号処理回路は、受信データをデインターリーブするプログラムでプログラムされ、前記プログラムは、プログラムループ内に前記アドレス更新命令の呼び出しを有し、前記プログラムループは、前記呼び出しからの前記新しいアドレス結果をメモリーアクセスオペランドとしてアドレス指定し前記アドレス可能なメモリー内のメモリー位置のアドレスを決定するロード及び／又はストア命令を有する、請求項６記載のプログラム可能な信号処理回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信号情報の（デ）インターリーブ方法及び当該方法を実施するプログラム可能な信号処理回路に関する。
【背景技術】
【０００２】
ＤＶＢ（デジタルビデオ放送）規格は、符号化テレビジョン信号の伝送を規定する。当該信号を復号化するため、送信された信号のデインターリーブを有する多数の段階が実行されなければならない。デインターリーブは、データユニットの再編成を有する。従って出力シーケンス内のデータユニットの相対位置は、データユニットが伝送中に生じる入力シーケンス内のデータユニットの相対位置と異なる。デインターリーブは、標準的に受信信号のデータユニットをメモリーに書き込み、そして当該データユニットを当該メモリーから当該データが書き込まれたシーケンス以外のシーケンスに読み出すことにより実施される。データユニットがアドレス可能なメモリーに格納される場合、デインターリーブはこの目的で用いられるアドレスの選択により制御される。
【０００３】
ＤＶＢ規格は、この目的のために用いられ得るアドレスシーケンスを規定する。規定は、３個の数のシーケンスを有する。１番目のシーケンスの数は、Ｒ’ｉにより示される。ここでｉはシーケンス内の異なる位置を識別する添え字である。２番目のシーケンスの数は、Ｒｉにより示される。また３番目のシーケンスの数はＨｉにより示される。ＤＶＢ規格は、再帰アルゴリズムを規定する。再帰アルゴリズムにより、１番目のシーケンスの連続する値のそれぞれＲ’ｉは先行する値Ｒ’ｉ−１から計算され得る。当該アルゴリズムは、Ｒ’ｉ−１の２進表現のシフト、及びＲ’ｉ−１の２進表現の選択されたビットの論理関数として計算されるビット値の加算を有する。次に、ＤＶＢ規格は、１番目のシーケンスの値Ｒ’ｉを２番目のシーケンス内の値Ｒｉに割り付けるマッピングを規定する。最後に、ＤＶＢ規格は、３番目のシーケンスＨｉを２番目のシーケンスの複製として規定する。２番目のシーケンスから、閾値を超える全ての数が除外される。ＤＶＢ規格は、３個の異なるブロックサイズと共に用いる、この種類の３個の定義を与える。
【０００４】
この種類のインターリーブの知られている実施は、標準的に、２番目のシーケンスのアドレスＲｉを計算する専用アドレス計算回路を用いる。このような回路は、１番目のシーケンスのＲ’ｉの現在値を格納するレジスタ、前記レジスタ内の値から次の値Ｒ’ｉ＋１を生成する第１の回路、及び前記レジスタ内の次に続く値Ｒ’ｉから次に続く値Ｒｉを形成する第２の回路、を有する。複数のシーケンスＲｉが並行して生成されなければならない場合、複数のこのような回路は並列である必要があり、各回路は対応するシーケンスのＲ’ｉ値を保持するレジスタを備える。
【０００５】
代案の実施は、アドレスＲｉを計算するプログラム可能な信号処理回路の使用を有する。この場合、値Ｒ’ｉ、Ｒｉ及びＨｉは、標準的に、回路の命令によりアドレス指定される信号処理回路のオペランドレジスタに格納される。Ｒ’ｉ、Ｒｉ及びＨｉの組の定義のビット処理特性により、これら値の計算は、標準的に有意な数の命令の実行を有する。代案として、予め計算されたＨｉ値が格納されたルックアップテーブルが用いられて良い。しかしながら、これは有意な大きさのルックアップテーブルのオーバーヘッドを必要とする。
【０００６】
別の代案は、次に続くＲ’ｉ値の計算及びＲ’ｉ値からのＲｉ値の計算を実行する特別命令を備えたプログラム可能なプロセッサーの命令セットを拡張し得る。この場合、１つ以上の機能ユニットが、これら命令を実行するプログラム可能な信号処理回路内に設けられる。基本的にこのような機能ユニットは、Ｒ’ｉ＋１からＲｉを計算し及びＲ’ｉからＲｉを計算する専用回路から前述の回路を有して良い。つまり、１つの機能ユニットは、新しいビットを計算（Ｒ’ｉ−１からＲ’ｉを計算）するために論理回路と組み合わせてシフト回路を有するべきである。同一又は別の機能ユニットは、Ｒ’のＲへのマッピング（ビット置換を有する）を提供して良い。そして最後に比較回路は、有効Ｈ値を検出するために必要である。命令内でアドレス指定される汎用目的レジスタは、Ｒ’ｉを供給するために用いられ得る。従ってＲ’ｉを保持する専用レジスタは、機能ユニットから除去され得る。命令が機能ユニット内の状態情報と独立なので、これはプロセッサーにプログラムのコンパイルを容易にする。しかしながら、インターリーブを実行するために必要な命令数を更に減少可能なことが依然として望ましい。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
特に、本発明の目的は、プログラム可能な信号処理回路で（デ）インターリーブを実行するために必要な命令実行サイクル数を減少することである。
【０００８】
特に、本発明の目的は、ＤＶＢ伝送システム内のプログラム可能な信号処理回路で（デ）インターリーブを実行するために必要な命令実行サイクル数を減少することである。
【０００９】
特に、本発明の目的は、（デ）インターリーブを実行するために必要な命令実行サイクル数を減少可能にするプログラム可能な信号処理回路を提供することである。
【００１０】
特に、本発明の目的は、プログラム可能な信号処理回路を用いる（デ）インターリーブの効率的な方法を提供することである。
【課題を解決するための手段】
【００１１】
本発明による方法は、請求項１に記載される。この方法では、前記格納及び／又は読み出しで使用されるアドレスは、前記格納及び／又は読み出しで使用された先行するアドレスから計算される。この目的のため、アドレスを計算するためのアドレス更新命令を有するプログラムループの繰り返し実行が用いられる。このように、アドレス自体が用いられ新しいアドレスを計算する。つまり、アドレスＲｉを中間値Ｒ’から計算するために追加処理時間が使用されることが回避される。
【００１２】
方法を支援するプロセッサーは、アドレス更新命令を有する命令セットを備えた命令処理回路を有する。命令処理回路は、置換回路のオペランド入力と置換回路の結果出力との間に結合され、出力ビット位置の置換である対応する入力位置からの対応するビットに依存した新しいアドレス結果内の対応する出力ビット位置における複数ビットの値を制御するよう配置された置換回路、及び前記オペランド入力と前記結果出力との間に結合され、古いアドレスオペランド内の対応する入力ビット位置からビットを受信するために結合された入力と、新しいアドレス結果内のビット位置へビットを出力するために結合された出力とを備えた組み合わせ論理回路を有する。
【００１３】
更なる実施例では、新しいアドレス結果オペランドにより表された数が閾値を超えるか否かは、アドレス更新命令の実行の一部として決定される。閾値を超える場合、プログラムループで用いられるフラグ結果は書き込まれ、更なる命令の実行に条件を付ける。
【００１４】
別の実施例では、繰り返しアドレスサイクルは、プログラムループの実行中に用いられる。同一のアドレスシリーズのそれぞれは、前記格納及び／又は読み出しに用いられる。サイクルは、ビットの前記置換及び形成から外れることにより、アドレス更新命令の実行に応じて自動的に開始され、古いアドレスオペランドが所定値を有する場合に新しいアドレス結果を形成する。
【００１５】
命令処理回路の実施例では、比較回路は、オペランド入力と結合された入力を設けられる。また比較器はビット代入回路を制御し、所定のアドレスが生じた場合、１つ以上のビットを所定のビット値で上書きする。
【００１６】
望ましくは、命令処理回路は、アドレス更新命令により指定された更新情報に依存した異なる種類の更新の間で選択する。従って、例えば異なるＤＶＢブロックサイズの場合のような異なる種類のデインターリーブは、命令処理回路により支援され得る。
【００１７】
本発明のこれら及び他の目的及び有利な態様は、本発明の非限定的な例を示す以下の図の記載から説明される。
【発明を実施するための最良の形態】
【００１８】
図１は、ＤＶＢ（デジタルビデオ放送）受信機装置のような信号受信機装置を示す。装置は、縦列接続されたフロントエンド１０、デジタル信号処理回路１２及びバックエンド１４を有する。フロントエンド１０は、ビデオ放送信号を受信する入力を有する。動作中、フロントエンド１０は、ビデオ放送信号を受信し、及びデジタル情報を当該信号から読み出す。デジタル信号処理回路１２は、デジタル情報を受信し、及びデジタル情報を処理しビデオデータ信号を形成する。デジタル信号処理回路は、ビデオデータ信号をバックエンド１４へ供給する。バックエンド１４は、例えば、接続されたビデオディスプレイ画面（示されない）のための表示データ又は接続されたビデオ記録装置（示されない）のための格納データを生成して良い。バックエンド１４は、これらの目的のためにビデオディスプレイ画面及び／又は記録装置自体を有して良い。
【００１９】
デジタル信号処理回路１２は、復調（デジタル信号サンプルを用い、当該サンプル信号を変調するために用いられたデータアイテムを再構成する）及び復調データアイテムを誤り訂正符号（ＥＣＣ）に従い復号化するような演算を実行するプログラムでプログラムされたプログラム可能な信号処理回路を有する。
【００２０】
復号化の前に、デジタル信号処理回路１２はデータをデインターリーブする。インターリーブは、バースト誤り及び復調データアイテムの組み合わせに誤りを生じる干渉信号による誤りに対する脆弱性を減少するために用いられる。このような一般的な誤りに対し脆弱なデータアイテムは、それらがＥＣＣの誤り訂正能力に連帯して影響しないよう、例えばそれらをＥＣＣの異なる符号ワードに分配することにより、分配される。デインターリーブを実施するため、デジタル信号処理回路１２は、復調データアイテムをメモリーに書き込み、及びデータアイテムを異なるシーケンスでメモリーから読み戻す。
【００２１】
図２は、デジタル信号処理回路からのプログラム可能な信号処理回路を示す。プログラム可能な信号処理回路は、命令発行ユニット２０、レジスタファイル２２、複数の機能ユニット２３、２４、２６及びデータメモリー２８を有する。命令発行ユニット２０は、デジタル信号処理回路のためのプログラムを格納し、及びプログラムの実行中にプログラムフローにより決定された命令を読み出すよう配置される。命令発行ユニット２０は、機能ユニット２４、２６と結合された演算制御出力を有する。演算制御出力は、機能ユニット２３、２４、２６により実行されなければならない演算を識別する命令の演算コードにより決定される制御信号を供給する。命令発行ユニット２０は、レジスタファイル２２のポートと結合されたレジスタ選択出力を有する。レジスタ選択出力は、命令のオペランドを有するレジスタ及び命令の結果が格納されなければならないレジスタを示す選択信号を供給する。命令は、選択信号を制御するフィールドを有する。レジスタファイル２２の出力ポートは、機能ユニット２３、２４、２６と結合され、選択されたレジスタからオペランドを供給する。またレジスタファイル２２の入力ポートは、機能ユニット２３、２４、２６と結合され、命令の実行の結果を受信する。
【００２２】
単一の線が制御符号、レジスタ選択コード、オペランド及び結果を供給する通信接続を示すために示されるが、実際にはこのような接続を実施する際に多くの導体が並列に用いられることが理解されるだろう。単一の線は、複数のレジスタ選択コードを供給するため、又は複数のオペランドを供給するため若しくは複数の結果を返すための接続を表して良い。更に、３個の機能ユニット２３、２４、２６が示され、各機能ユニットは命令発行ユニット２０及びレジスタファイル２２とそれぞれの接続を有するが、実際にはより多くの、又は異なる機能ユニットの機能がレジスタファイル２２への共通の接続を共有する機能ユニットにグループ化された場合にはより少ない機能ユニットが存在して良いことが理解されるだろう。
【００２３】
機能ユニットは、プロセッサーにより実行され得る全種類の命令を有する「命令セット」を定める。本願明細書で用いられるように、「命令」は個々の機能ユニットにより実行される演算を選択するプログラムの基本単位である。命令は、命令として機能し得る単位に更に分離し得ないプログラムの「最小単位」である。標準的に、各命令は、命令を識別する単一のオペコード（演算コード）を有する。良く知られているように、プログラム可能なプロセッサーの設計は、標準的に命令セットの特定から開始する。命令セットの特定は、少なくともプロセッサーの基本的実施を選択するための十分な情報を当業者に供給する。
【００２４】
第１の機能ユニット２３は、データメモリー２８と結合されたメモリーアクセス機能ユニットである。このメモリーアクセス機能ユニット２３は、「ＬＯＡＤ」及び「ＳＴＯＲＥ」命令を実行するよう設計され、データメモリー２８内の位置のアドレスを指定するオペランドを備える。データメモリー２８はまた、信号データを受信し及びビデオデータを伝送する、フロントエンド１０（示されない）及び／又はバックエンド１４（示されない）と結合されて良い。第２の機能ユニット２４（実際には機能ユニットのグループを有して良い）は、ＡＤＤ、ＳＨＩＦＴ等のようなＡＬＵ命令のような従来の命令を実行するよう設計される。示されないが、更なる機能ユニットが存在して良く、従って例えば複数の命令が並行して実行され得るか、又は異なる命令が実行され得る（例えばフロントエンド１０（示されない）からの信号データの入力及び／又はバックエンド１４（示されない）へのビデオデータの出力）。
【００２５】
プログラム可能な命令プロセッサーのプログラムは、信号データのデインターリーブを提供する。これは、メモリーアクセス機能ユニット２３へ供給されるＬＯＡＤ及びＳＴＯＲＥ命令を用いて実施される。この目的のためにＬＯＡＤ及び／又はＳＴＯＲＥ命令により使用されるデータメモリー２８内のアドレスは、指定された命令に応じて指定されたアドレス更新機能ユニット２６により計算されるオペランドを用いて決定される。アドレス更新機能ユニット２６は、デインターリーブ中にＬＯＡＤ及び／又はＳＴＯＲＥ命令による使用のための次に続くアドレスの計算を提供する。
【００２６】
ある実施例では、アドレス更新機能ユニット２６により実行される種類の命令は、次のように示される。
ＮＥＸＴ＿ＡＤＤＲＥＳＳ  Ｒ１，Ｒ２，Ｒ３
この表示では、Ｒ１、Ｒ２、Ｒ３は、オペランドを提供するため及び命令の結果を書き込むために用いられるレジスタファイル２２内のレジスタを識別するレジスタ選択コードを示す。しかしながら、命令は、本願明細書ではＲ１等はレジスタ「である」と言うことにより口語表現を用いて記載される。これは、Ｒ１等がレジスタファイル２２内のレジスタを識別する選択コードを示すことを意味すると理解されるべきである。更に口語的には、Ｒ１等は「オペランドである」、と言われる。これはまた、Ｒ１等がオペランドを有するレジスタファイル２２内のレジスタを識別する選択コードを示すことを意味すると理解されるべきである。
【００２７】
この表示では、ＮＥＸＴ＿ＡＤＤＲＥＳＳは、命令を識別するオペコードを示す。Ｒ１は古いアドレスオペランド値を有するオペランドレジスタである。Ｒ２は、新しいアドレス結果値が書き込まれる第１の結果レジスタである。そしてＲ３は、フラグ結果が書き込まれ新しいアドレス結果値が有効か否かを示す第２の結果レジスタである。
【００２８】
新しい命令は、データをデータメモリーから読み出すプログラム部分で以下のように用いられ得る：
ＲＥＰＥＡＴ：
ＩＦ  Ｒ３  ＬＯＡＤ  Ｒ１，  Ｒ４，  Ｒ５
ＩＦ  Ｒ３  Ｒ５の内容を処理する命令
ＮＥＸＴ＿ＡＤＤＲＥＳＳ  Ｒｌ，  Ｒｌ，  Ｒ３
このプログラムの命令は連続して示されるが、実際にはＶＬＩＷプロセッサーのような複数発行スロットプロセッサーが用いられる場合、１つ以上の命令が並行して実行されて良いことが理解されるべきである。このプログラム部分では、最初の命令の前の「ＩＦ  Ｒ３」は、この最初の命令が保護命令（条件付きで実行される命令）であることを示す。保護により意味されることは、オペランドＲ３がＲ１内のアドレス値が有効であると示すフラグ値を有する場合のみ、命令（ＬＯＡＤ演算）により示された演算が、メモリーアクセス機能ユニット２３により完全に実行されることである。ＬＯＡＤ命令の通常のオペランドは、Ｒ１及びＲ４である。Ｒ４はベースアドレス値を有し、Ｒ１は、ＮＥＸＴ＿ＡＤＤＲＥＳＳ命令で更新される当該ベースアドレスからのアドレスオフセットを有する。ＬＯＡＤ命令が完全に実行されると、データは、Ｒ１及びＲ４内のオペランドの和であるアドレスからロードされ、当該ロードされたデータはＲ５に格納される。
【００２９】
Ｒ５からロードされたデータを用いる命令の完全な実行はまた、Ｒ３内のフラグ値により保護される。これら全ての命令の実行が保護される必要はない。保護されなければ有用なデータを上書きし得る命令の実行を保護すれば十分である。
【００３０】
ＮＥＸＴ＿ＡＤＤＲＥＳＳ命令は、ＬＯＡＤ命令の連続する実行の間に（又は毎回当該実行と同時に）実行される。ＮＥＸＴ＿ＡＤＤＲＥＳＳ命令の実行は、結果としてＲ１内のオフセットアドレス及びＲ３内のフラグを更新する。
【００３１】
図３は、ＮＥＸＴ＿ＡＤＤＲＥＳＳ命令を実行するアドレス更新機能ユニットの例を示す。アドレス更新機能ユニットは、レジスタファイル２２（示されない）のポートと結合された、オペランド入力３０ａ及び２つの結果出力３０ｂ、ｃを有する。アドレス更新機能ユニットは、排他的ＯＲ回路３３、インバーター３２、置換回路３４、代入回路３５、比較器３６ａ、ｂ、ディスエーブル回路３７及び結果比較器３９を有する。オペランド入力３０ａ及び出力３０ｂ、ｃは、標準的にＮビット幅の入力及び出力に対応する。ここでＮはデジタル信号プロセッサーのワードサイズである（例えばＮ＝１６ビット）。標準的にＮ本の導体がこの目的のために並列に設けられるが、簡単のため単一の線のみが示される。ユニット３１、３８は、図式的に示され、個々のビット線を入力３０ａ及び出力３０ｂから分離する。しかし当該ユニットの入力及び出力により表される導体は当該ユニットを通じて続いていることが理解されるべきである。代案として、当該ユニットの何れか１つ又は両方は、レジスタを有し、例えばパイプラインを目的としてデータをラッチして良い。入力ユニット３１からの多数のビット線は、置換回路３４と結合される。置換回路３４は、以下の表に従い置換回路の入力と出力との間の相互接続を提供する。
【００３２】
【表１】
2008523761.tif 000003
これらの接続は、ＤＶＢ規格のアドレスのデインターリーブの定義の観点から、Ｒ’のＲからの反転計算、Ｒ’の更新、及び新しいＲの更新されたＲ’からの計算の組み合わせが実行されるよう、選択されている。
【００３３】
置換回路３４の出力は、ディスエーブル回路３７の入力と結合される。ディスエーブル回路３７はまた、出力ユニット３８と結合される出力を有する。置換回路３４の出力の１つは、ディスエーブル回路３７の入力と代入回路３５を介し結合される。入力ユニット３１からのビット線番号１２は、ディスエーブル回路３７のビット入力番号１２とインバーター３２を介し結合される。排他的ＯＲ回路３３は、入力ビット線番号１、７、８、及び９から入力信号を受信し、及び結果をディスエーブル回路３７の出力ビット入力番号５へ供給する。
【００３４】
第１の比較器３６ａは、入力３０ａと結合された入力、及び代入回路３５の制御入力と結合された出力を有する。第１の比較器３６ａは、入力３０ａにおける信号により表されるデータ値が数４０９６を表す場合、検出信号を生成するよう配置される。代入回路３５は、第１の比較器３６ａが入力３０ａにおけるデータ値が数４０９６を表すと伝える限り、代入回路３５からの入力信号を通過するよう配置される。後者の場合、代入回路は代わりに論理１を供給する。如何なる適切な論理回路又はマルチプレクス回路も、この機能を実現するために用いられて良い。
【００３５】
第２の比較器３６ｂは、入力３０ａと結合された入力、及びディスエーブル回路３７の制御入力と結合された出力を有する。第２の比較器３６ｂは、入力３０ａにおける信号により表されるデータ値が数４２２６を表す場合、検出信号を生成するよう配置される。ディスエーブル回路３７は、第２の比較器３６ｂが入力３０ａにおけるデータ値が数４２２６を表すと伝える限り、置換回路３４及び代入回路３５からの入力信号を通過するよう配置される。後者の場合、代入回路は代入回路の全出力において論理０を供給する。如何なる適切な論理回路又はマルチプレクス回路も、この機能を実現するために用いられて良い。
【００３６】
結果比較器３９は、出力ユニット３８から出力された結果により表される数を数６０４８と比較する。結果比較器３９は、結果により表される下図が６０４８を超えているか否かを示す更なる結果を生成する。出力ユニット３８からの結果は、前述の例のＲ１に書き込まれる結果と対応する。また結果比較器３９からの更なる結果は、前述の例のＲ３に書き込まれる結果と対応する。
【００３７】
留意すべき点は、結果比較器３９の入力は結果出力３０ｂと接続されると示されるが、結果比較器３９の入力は、代案としてディスエーブル回路３７の入力と接続されて良く、及び代入回路３５を介して通過するビットに関しては代入回路の入力でも同等である。この場合、結果比較器３９により生じた遅延は、代入回路３５及び／又はディスエーブル回路３７により生じた遅延を増加せず、命令サイクルの最小可能持続時間を減少する。結果比較器３９は、排他的ＯＲ回路３３の出力を受信する結果比較器３９の入力からの遅延が、１つ以上の残りのビットからの遅延より短くなるよう設計されても良い。これは、最小命令サイクル持続時間を更に減少する。
【００３８】
動作中、一連のＮＥＸＴ＿ＡＤＤＲＥＳＳ命令が実行される場合、各命令はシリーズ内の先行する命令の新しいアドレス結果である古いアドレスオペランドを有し、機能ユニットによる命令実行は、データのデインターリーブのためのアドレスを計算するために用いられ得る数を有する一連の数を生成する。同一の命令に応じて、機能ユニットは結果が用いられ得るか否かを示す更なる結果を生成する。これは、この目的のために別個の命令を実行する必要を回避する。
【００３９】
アドレスのサイクルの初期化及び再開は、機能ユニットにより、機能ユニットの古いアドレスオペランドの値に基づき、つまりサイクルが終わったか否かを示す追加情報なしに実行される。これを実現するため、値４２２６が現れた場合、第２の比較器３６ｂはゼロにリセットされるべき数を生じ、数の新しいサイクルを開始する。ＮＥＸＴ＿ＡＤＤＲＥＳＳ命令がこのゼロ値を古いアドレスオペランドとして用いる場合、当該命令の結果は４０９６である。ＮＥＸＴ＿ＡＤＤＲＥＳＳ命令がこの結果を古いアドレスオペランドとして用いる場合、第１の比較器３６ａはこの値を検出し、及び最初の非ゼロの最下位ビットをサイクルに導入する。留意すべき点は、古いアドレスオペランドのみがこの目的のために用いられることである。つまり機能ユニットからの如何なる保持状態情報も、この目的のために用いられない。結果として、機能ユニットは、互いにインターリーブされる異なるアドレスシリーズを生成する命令を実行するために用いられて良い。従って、例えばデインターリーブ機能を備えた異なるプログラムスレッドは、同時に実行し、例えば２つのＤＶＢ信号を並行して復号し得る。
【００４０】
図示された実施例では、結果及び更なる結果は、命令の制御下で互いに独立に選択され得る別個のレジスタに書き込まれ得る別個の結果として生成される。これは、結果としてデインターリーブのプログラミングに最大の柔軟性を与える。これらレジスタは、同一レジスタファイル内の又は（例えば互いに異なるビット幅を有する）別個のレジスタファイル内のレジスタであって良い。別の実施例（示されない）では、更なる結果は、例えば最上位ビット位置において（例えばビット番号１５又は３１において）結果内に挿入されて良い。この場合、単純な命令は、結果として次のように記号で表され得る。
ＮＥＸＴ＿ＡＤＤＲＥＳＳ  Ｒ１，Ｒ２
この命令では、ただ１つの結果レジスタアドレスＲ２が、結果及び更なる結果を有するデータを書き込むためのレジスタを示すために必要である。このレジスタがＬＯＡＤ又はＳＴＯＲＥ命令に用いられる場合、メモリーアクセスユニットは、アドレス決定中、追加ビットを無視するよう配置されて良い。ビットがこの計算に用いられる場合でさえ、結果をアドレス決定に用いる命令が更なる結果の制御下で条件付きで実行される場合、如何なる問題も生じ得ない。
【００４１】
代案として、更なる結果及び結果比較器３９は、共に除去されて良い。この場合、別個の比較命令の実行は、デインターリーブを実行するために必要である。
【００４２】
ＲＥＰＥＡＴ：
ＩＦ  Ｒ３  ＬＯＡＤ  Ｒ１，  Ｒ４，  Ｒ５
ＩＦ  Ｒ３  Ｒ５の内容を処理する命令
ＮＥＸＴ＿ＡＤＤＲＥＳＳ  Ｒ１，Ｒ１
ＣＯＭＰＡＲＥ  Ｒ１，＃ＭＡＸ，Ｒ３
ここで＃ＭＡＸは、６０４８に等しい定数であり、Ｒ１の内容と比較される。図３の実施例と比較して、これは、命令サイクルの間、比較器機能ユニットの追加の占有を必要とする。他方で、これは、次に続くアドレスの計算のための機能ユニットの設計を簡略化する。
【００４３】
理解されるべき点は、図３に示された構造は、この目的のために用いられ得る機能ユニットの単なる１つの例であることである。異なるアドレスシリーズが必要な場合、従って異なる回路が図３の回路の代わりに機能ユニット内に設けられて良いことが理解されるだろう。例えば、異なるＤＶＢデータを復号化するため、３個の異なるブロックサイズが定義され、それぞれデインターリーブ中に用いられる固有のアドレスシリーズを有する。復号化の各種類に対し、異なる構造が機能ユニット内で用いられて良い。
【００４４】
代案の異なる回路は、同一のデインターリーブ演算を実施するために用いられても良い。例えば、生成された数に影響することなく、種々のユニット間の接続が変化されて良い。置換回路３５は単にビット対ビット接続機能を実行するだけなので、置換回路３５は排他的ＯＲ回路３３、代入回路３５、又はディスエーブル回路３７に対し何処に配置されても良い。同様に、比較器３６ａ、ｂは異なるアドレスをトリガーするので、代入回路３５及びディスエーブル回路３７のシーケンスは交換されても良い。
【００４５】
更に、理解されるべき点は、デインターリーブは、異なるアドレスシリーズが用いられて良い、機能ユニットの異なる実施が用いられて良い、多くの異なる方法で実現され得ることである。例えば、デインターリーブは、固定段階で増加されるアドレス値を有するアドレスに格納する段階、及び機能ユニットにより生成されたシリーズを用い決定されたアドレスを用いてロードする段階により、第１の実施で実現され得る。同一のデインターリーブ演算は、機能ユニットにより生成されたシリーズを用い決定されたアドレスを用いて格納する段階、及び固定段階で増加されるアドレス値でロードする段階を有する、第２の実施で実現され得る。第１及び第２の実施は、同一のデインターリーブ演算を実施するために用いられ得る。同様に、アドレス値を増加する代わりに、固定段階で減少するアドレス値が用いられて良い。従って異なる機能ユニットが設けられて良い。更なる代案として、別に生成されたアドレスシリーズが、読み出し及び書き込みの両方に用いられて良い。実施例では、機能ユニットは複数の異なるアドレスシーケンスを生成する能力を組み込むよう設計され、特定のアドレスシーケンスは命令により選択されている。例として、ＤＶＢ復号化中に異なるブロックサイズのアドレスを生成するために用いられ得る１つの機能ユニットが設けられて良い。ある実施例では、シーケンスの種類は、命令の演算コードにより選択される。この場合、３個の異なる演算コードが、３個の異なる種類の命令のために設けられる。これらの命令の呼び出しは、次のように表される。
ＮＥＸＴ＿ＡＤＤＲＥＳＳ＿１  Ｒｌ，  Ｒ２，  Ｒ３
ＮＥＸＴ＿ＡＤＤＲＥＳＳ＿２  Ｒｌ，  Ｒ２，  Ｒ３
ＮＥＸＴ＿ＡＤＤＲＥＳＳ＿３  Ｒｌ，  Ｒ２，  Ｒ３
各命令は、結果としてレジスタＲ２へ渡される結果の異なる計算、及び当該結果の異なる数との比較を生じ、Ｒ３へ渡される更なる結果を生成する。代案として、単一種類の比較は、各種類のアドレス計算に用いられて良い。ここで更なるオペランドは、異なる計算の間を選択するために用いられる。
【００４６】
図４は、このような機能ユニットの実施例を示す。この実施例では、図３と同一の数を有するユニットは、図３と同一の機能を有する。この実施例では、演算制御入力４０及び一連のマルチプレクサ４２ａ−ｍ（２個のみ明示的にラベル付けされる）が設けられる。マルチプレクサ４２ａ−ｍは、３個の異なるアドレスの間の選択に用いられる。マルチプレクサ４２ａ−ｍは、制御信号を制御入力４０から受信し、それら３個の入力信号のどれが渡されるかを制御する。３個の置換回路４４ａ−ｃが設けられ、入力ユニット３１とマルチプレクサ４２ａ−ｍの対応する入力との間を接続する。ＤＶＢ復号化では、これら置換回路の接続は、以下の表のように指定されて良い。
【００４７】
【表２】
2008523761.tif 000004
置換回路４４ａ−ｃの出力は、マルチプレクサ４２ａ−ｍの入力と接続される。制御入力４０からの制御信号は、どの置換回路４４ａ−ｃから出力信号が結果へ渡されるかを決定する。
【００４８】
ビット番号５に対しマルチプレクサ４２ａ−ｍの第１の入力と、ビット番号７に対しマルチプレクサ４２ａ−ｍの第２の入力と、ビット番号０に対し第３の入力とそれぞれ結合された出力を備えた３個の排他的ＯＲ回路４３ａ−ｃが設けられる。  ビット番号７に対しマルチプレクサ４２ａ−ｍの第１の入力と、ビット番号６に対しマルチプレクサ４２ａ−ｍの第２の入力と、ビット番号４に対し第３の入力とそれぞれ結合された３個の代入回路３５ａ−ｃが設けられる。３個の代入回路３５ａ−ｃは、入力オペランドにより表される数を制御入力からの制御信号に依存する値と比較する第１の比較回路４６ａにより制御される。代入回路３５ａ−ｃは、数が４０９６、２０４８及び１０２４である場合にそれぞれアクティブにされる。ディスエーブル回路３７は、マルチプレクサ４２ａ−ｍと結果出力３０ｂとの間に結合される。ディスエーブル回路３７は、第２の比較器４６ｂにより制御され、入力オペランドが数４２２６、２０５６又は１０２３をそれぞれ表す場合、制御入力４０からの制御信号がそれぞれ第１、第２又は第３の置換回路４４ａ−ｃの出力を選択するかどうかに依存して、ディスエーブル回路の出力を全てゼロにする。
【００４９】
結果比較器３９は、制御入力４０からの制御信号がそれぞれ第１、第２又は第３の置換回路４４ａ−ｃからの出力を選択するか否かに依存して、結果を６０４８、３０２４又は１５１２とそれぞれ比較する。図３の単一シリーズの実施例におけるように、比較回路は、マルチプレクサ４２ａ−ｍの入力と、及び代入回路３５ａ−ｃの入力と結合された、ビットの入力を設けられて良い。ここで代入回路３５ａ−ｃはマルチプレクサ４２ａ−ｍの前に置かれる。
【００５０】
入力ユニット３１からの対応する線をマルチプレクサ４２ａ−ｍの対応する線と結合するインバーター３２ａ−ｃが設けられる。従って、制御入力４０からの制御信号に依存し、以下の信号の組み合わせの何れか１つが、最上位ビットのマルチプレクサにより渡される。
（ａ）２つの最上位ビット出力に対しマルチプレクサ４２ａ−ｍにおいて論理ゼロ、及び桁の降順で３番目のビット出力に対しマルチプレクサ４２ａ−ｍにおいて入力ユニット３１からのビット番号９の反転
（ｂ）最上位ビット出力に対しマルチプレクサ４２ａにおいて論理ゼロ、桁の降順で２番目のビット出力に対しマルチプレクサにおいて入力ユニット３１からのビット番号１０の反転、及び桁の降順で３番目のビットに対しマルチプレクサにおいて置換回路４４ｂからの出力、又は
（ｃ）桁の降順で１番目のビット出力に対しマルチプレクサにおいて入力ユニット３１からのビット番号１１の反転、及び桁の降順で２番目及び３番目のビットに対しマルチプレクサにおいて置換回路４２ａからの出力。
【００５１】
理解されるように、図４の機能ユニットは、互いに反転されたアドレスシリーズの如何なる数を生成するために用いられ得る。ここで如何なるシリーズも３個の異なる種類の如何なる１つであって良い。
【００５２】
本発明は特定の実施例を参照して記載されたが、本発明はこれら実施例により限定されないことが理解されるだろう。例えば、デインターリーブの用途が記載されたが（受信時に元のシーケンスを回復する）、本発明は同様にインターリーブ（送信前にシーケンスを再配置する）に適用されて良いことが理解されるべきである。なぜならこれらの演算は、同一種類の処理を有するからである。実際に、同一種類の機能ユニットは、同一種類のコードのインターリーブとデインターリーブ、生成されたシリーズに従うアドレスにおける１つのインターリーブ書き込み、及び固定距離にあるアドレスにおける読み出し、他の伴って生じる固定距離にあるアドレスへの書き込み、及び当該生成されたシリーズに従うアドレスからの読み出しの両方に用いられて良い。
【図面の簡単な説明】
【００５３】
【図１】信号受信機装置を示す。
【図２】プログラム可能な信号処理回路を示す。
【図３】機能ユニットを示す。
【図４】更なる機能ユニットを示す。
【図１】
2008523761.tif 000005
【図２】
2008523761.tif 000006
【図３】
2008523761.tif 000007
【図４】
2008523761.tif 000008
【国際調査報告】
2008523761.tif 000009
2008523761.tif 000010
2008523761.tif 000011