(57)【要約】【課題】入力シリアルデータが歪んでいても、正しいパラレルデータを出力できるシリアルデータ受信装置。【解決手段】オーバーサンプリング部１でオーバーサンプリングした入力シリアルビット列をパラレル変換し、データ分割部３でオーバーサンプリングの回数のグループに分割し、分割したビット列に対してワード検索部４で基準ワードの検索を行う。基準ワードと一致するビット列が存在する場合はそのビット列を出力し、一致するビット列が存在しない場合は保持しているワード始まり位置情報に基づいて１ワード分のビット列を出力する。【選択図】　　　　図１
2004112214.tif 000002
【特許請求の範囲】
【請求項１】
予め指定されている基準ワードビット列を一部に含む入力シリアルビット列の１ビット分をｎ回（ｎは自然数）サンプリングし、オーバーサンプリングビット列を出力するオーバーサンプリング部と、
上記オーバーサンプリングビット列を一定のビット長のパラレルデータに変換し、パラレルビット列を出力するパラレル変換部と、
上記パラレルビット列をｎ個のグループに分割し、ｎ個のグループ分割ビット列を出力するデータ分割部と、
各グループ分割ビット列に対して上記基準ワードビット列の検索を行い、検索結果に基づいて検索結果ビット列を出力するワード検索部と、
各グループの検索結果ビット列の中から１つのグループの検索結果ビット列を選択し、出力ビット列として出力する出力データ選択部とを備えたシリアルデータ受信装置。
【請求項２】
ワード検索部は、各グループ分割ビット列に対して基準ワードビット列の検索を行い、上記基準ワードビット列を含むグループ分割ビット列については、基準ワードビット列を検索結果ビット列として出力するとともに、上記検索結果ビット列がグループ分割ビット列の何ビット目から始まるかを表すワード始まり位置を記憶し、一方、上記基準ワードビット列を含まないグループ分割ビット列については、記憶しているワード始まり位置から１ワード分のビット列を検索結果ビット列として出力することを特徴とする請求項１記載のシリアルデータ受信装置。
【請求項３】
出力データ選択部は、基準ワードを含むグループが１つ以上ある場合は中央に位置するグループを最終選択グループとし、上記最終選択グループの検索結果ビット列を出力ビット列として出力し、一方、上記基準ワードを含むグループが１つもない場合は、前回までの処理で決定した最終選択グループの検索結果ビット列を出力ビット列として出力することを特徴とする請求項１または請求項２記載のシリアルデータ受信装置。
【請求項４】
ワード検索部は、入力されたグループ分割ビット列と前回までに入力されたグループ分割ビット列を連結して検索用ビット列を生成し、上記検索用ビット列に対して基準ワードの検索を行うことを特徴とする請求項１記載のシリアルデータ受信装置。
【請求項５】
出力データ選択部は、検索結果ビット列が基準ワードと一致するグループが奇数ある場合は、それらのグループを循環的に並べた時中央に位置するグループを最終選択グループとし、グループが偶数ある場合は、それらのグループを循環的に並べた時中央に位置する２つのグループのうち、記憶している最終選択グループに近いグループを最終選択グループとすることを特徴とする請求項３記載のシリアルデータ受信装置。
【請求項６】
出力データ選択部は、各グループの検索結果ビット列の中に基準ワードと一致するビット列がない場合は、グループを循環的に並べた時隣り合うグループの検索結果ビット列を比較し、
検索結果ビット列が互いに一致するグループがない場合は記憶している最終選択グループを最終選択グループとし、
検索結果ビット列が互いに一致するグループが奇数ある場合は、それらのグループを循環的に並べた時中央に位置するグループを最終選択グループとし、
グループが偶数ある場合は、それらのグループを循環的に並べた時中央に位置する２つのグループのうち記憶している最終選択グループに近いグループを最終選択グループとすることを特徴とする請求項５記載のシリアルデータ受信装置。
【請求項７】
出力データ選択部は、検索結果ビット列が基準ワードと一致しないグループについて、
装置への入力順序は上記グループの方が最終選択グループより早く、一方、最終選択グループを中心として各グループを循環的に並べた時には上記グループの方が後にくる場合には、上記グループのワード始まり位置を最終選択グループのワード始まり位置に１足したものとし、
装置への入力順序は最終選択グループの方が上記グループより早く、一方、最終選択グループを中心として各グループを循環的に並べた時には上記グループの方が前にくる場合には、上記グループのワード始まり位置を最終選択グループのワード始まり位置から１引いたものとし、
その他の場合には上記グループのワード始まり位置を最終選択グループのワード始まり位置と同じにすることを特徴とする請求項６記載のシリアルデータ受信装置。
【請求項８】
ワード検索部は、検索結果ビット列が基準ワードと一致しないグループについて、出力データ選択部によって更新されたワード始まり位置から１ワード分のビット列を検索結果ビット列として出力することを特徴とする請求項７記載のシリアルデータ受信装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、シリアルデータを受信するデータ受信装置に関するものである。
【０００２】
【従来の技術】
シリアルデータを受信し、サンプリングするデータ受信装置において、受信装置は入力シリアルビット列の変化点の位置を知ることが出来ないため、変化点付近でデータをサンプリングしてしまうことが起こり得る。その場合には図７に示すようにサンプリングしたデータが正しいデータである可能性は低くなるという問題があった。
【０００３】
この問題を解決するため、従来からオーバーサンプリングという手法が用いられている。これは、入力されるシリアルビット列のレートよりも早い周期でデータをサンプリングする手法である。例えば、入力シリアルビット列の１ビット分を５回サンプリングする場合、オーバーサンプリング後のビット列は入力シリアルビット列の５倍のデータ量となる。５回分のデータのうちデータ変化点近くでサンプリングしたものは正しいデータではない可能性があるが、データ変化点から離れた位置でサンプリングしたデータは正しい値がサンプリングされている可能性が高い。このように、オーバーサンプリング手法はオーバーサンプリングした入力データから正しくサンプリングされた値を選択することにより正しいパラレルビット列に変換して出力するものである。
【０００４】
図６は、従来のシリアルデータ受信装置の構成を示すブロック図である。図において１０１はオーバーサンプリング部、１０２はパラレル変換部、１０３はデータ選択部、１０４はワード検索部である。
【０００５】
次に動作について説明する。
図７は、従来のシリアルデータ受信装置によるシリアルデータ受信処理を説明する図である。ここでは、オーバーサンプリングの回数を５回とする。入力シリアルビット列が入力されると、オーバーサンプリング部１０１において入力シリアルビット列１ビットあたり５回分のサンプリングが行われる。オーバーサンプリングされたデータはパラレル変換部１０２においてパラレルビット列に変換される。通常、入力シリアルビット列複数ビット分に相当するオーバーサンプリングビット列が一組のパラレルビット列に変換される。ここでは、１０ビット分のシリアルビット列を一組のパラレルビット列に変換するとすれば、オーバーサンプリングの回数は５回なので、５×１０＝５０ビットが一組のパラレルビット列になる。こうすることにより、動作周波数を遅くすることが出来るとともに、入力シリアルビット列複数ビット分を一度に評価することが可能となり、後の処理を容易にする効果がある。
【０００６】
次に、データ選択部１０３において、一組のパラレル変換ビット列から、サンプリングされたシリアルビット列のビット数相当分、すなわちここでは１０ビット分のデータが選択される。この時、出来るだけ正しいサンプリングデータを選択する方法として、パラレル変換ビット列中でデータの値が変化しているところを見つける方法がよく利用される。例えば図７のパラレル変換ビット列においては１ビット目と２ビット目の値が異なっている。この場合、入力データの変化点はこの間にあると考えられる。逆に、４ビット目はデータが安定している時期であると考えられるので、４ビット目を正しいサンプリングデータとして選択する。入力となるシリアルデータのビット幅は通常同じなので、データの変化点は５ビットごと、即ち５ｍ＋１と５ｍ＋２ビット目の間にあると考えられ、選択すべきデータは５ｍ＋４ビット目と考えられる。つまり、図７の例では４ビット目、９ビット目、・・・、４９ビット目が選択される。実際のシステムでは入力データにノイズ等がのる影響で、あるところでは５ｍ＋１ビット目と５ｍ＋２ビット目の間に、別の箇所では５ｍ＋２ビット目と５ｍ＋３ビット目の間、というように変化点の箇所が変化する。これに対処する方法として、最も変化する確率が低い位置のサンプリングデータを選択する方法が採られている。
【０００７】
次に、選択されたビット列はワード検索部１０４に入力される。もともと入力シリアルビット列には意味のある決まったビット数の塊が含まれている。例えば画像データの場合、Ｒ，Ｇ，Ｂそれぞれ１ピクセル分を８ビットで表現する場合が多い。ある画像データをシリアルビット列として送信した場合、データ受信装置では受信したシリアルビット列を１ピクセルの情報の単位である８ビットに区切っていく必要がある。このように意味を持った一定長のビット列のことをワードという。ワードの区切りを見つけ、ワード単位でビット列を出力するのがワード選択処理である。
【０００８】
ワードの区切りを見つける方法として、あらかじめ決められたビット列をある期間送信する方法が採られている。このあらかじめ決められたビット列のことを基準ワードという。ワード検索部１０４は基準ワードに基づいて、データ選択部１０３が出力したビット列を検索する。基準ワードと一致するビット列が存在すれば、基準ワードの区切り点を見つけることによってワードの区切り点を見つけることができる。
【０００９】
基準ワードの検索方法について説明する。例えば基準ワードのビット数を１０ビットとする。ワード検索部１０４はデータ選択部１０３の出力ビット列１０ビットを２回分（２０ビット分）貯める回路を備えている。この２０ビットの中から１０ビットの基準ワードを検索する。検索の結果、ビット列の６ビット目から１５ビット目が基準ワードと一致したら、ワードの区切り点は６ビット目にあるということになる。以降、基準ワードではなく真のデータを受信した場合にも６ビット目から１０ビット分を１ワードとして選択し、出力ビット列とする。
【００１０】
【発明が解決しようとする課題】
従来のシリアルデータ受信装置は以上のように構成されており、データ選択処理後にワード検索処理を行っていた。データ選択処理ではデータの変化点を見て選択するビット列を決定するが、データの変化点が定まらない場合には統計処理等で選択する必要がある。そのため、ノイズ等の影響により入力シリアルビット列の歪みが大きい場合には誤った位置のデータを選択してしまう可能性がある。よって、不正なビット列に対してワード検索処理を行っても基準ワードと一致するビット列は発見出来ず、結果として正しい出力ビット列を出力することが出来ないという課題があった。
【００１１】
この発明は上記のような課題を解決するためになされたもので、入力されるシリアルデータがノイズ等の影響を受けて歪んでいても、正しいデータを出力することが可能なシリアルデータ受信装置を得ることを目的とする。
【００１２】
【課題を解決するための手段】
この発明に係るシリアルデータ受信装置は、予め指定されている基準ワードビット列を一部に含む入力シリアルビット列の１ビット分をｎ回（ｎは自然数）サンプリングし、オーバーサンプリングビット列を出力するオーバーサンプリング部と、オーバーサンプリングビット列を一定のビット長のパラレルデータに変換し、パラレルビット列を出力するパラレル変換部と、パラレルビット列をｎ個のグループに分割し、ｎ個のグループ分割ビット列を出力するデータ分割部と、各グループ分割ビット列に対して基準ワードビット列の検索を行い、検索結果に基づいて検索結果ビット列を出力するワード検索部と、各グループの検索結果ビット列の中から１つのグループの検索結果ビット列を選択し、出力ビット列として出力する出力データ選択部とを備えたものである。
【００１３】
この発明に係るシリアルデータ受信装置は、ワード検索部は、各グループ分割ビット列に対して基準ワードビット列の検索を行い、基準ワードビット列を含むグループ分割ビット列については、基準ワードビット列を検索結果ビット列として出力するとともに、検索結果ビット列がグループ分割ビット列の何ビット目から始まるかを表すワード始まり位置を記憶し、一方、基準ワードビット列を含まないグループ分割ビット列については、記憶しているワード始まり位置から１ワード分のビット列を検索結果ビット列として出力するものである。
【００１４】
この発明に係るシリアルデータ受信装置は、出力データ選択部は、基準ワードを含むグループが１つ以上ある場合は中央に位置するグループを最終選択グループとし、最終選択グループの検索結果ビット列を出力ビット列として出力し、一方、基準ワードを含むグループが１つもない場合は、前回までの処理で決定した最終選択グループの検索結果ビット列を出力ビット列として出力するものである。
【００１５】
この発明に係るシリアルデータ受信装置は、ワード検索部は、入力されたグループ分割ビット列と前回までに入力されたグループ分割ビット列を連結して検索用ビット列を生成し、検索用ビット列に対して基準ワードの検索を行うものである。
【００１６】
この発明に係るシリアルデータ受信装置は、出力データ選択部は、検索結果ビット列が基準ワードと一致するグループが奇数ある場合は、それらのグループを循環的に並べた時中央に位置するグループを最終選択グループとし、グループが偶数ある場合は、それらのグループを循環的に並べた時中央に位置する２つのグループのうち、記憶している最終選択グループに近いグループを最終選択グループとするものである。
【００１７】
この発明に係るシリアルデータ受信装置は、出力データ選択部は、各グループの検索結果ビット列の中に基準ワードと一致するビット列がない場合は、グループを循環的に並べた時隣り合うグループの検索結果ビット列を比較し、検索結果ビット列が互いに一致するグループがない場合は記憶している最終選択グループを最終選択グループとし、検索結果ビット列が互いに一致するグループが奇数ある場合は、それらのグループを循環的に並べた時中央に位置するグループを最終選択グループとし、グループが偶数ある場合は、それらのグループを循環的に並べた時中央に位置する２つのグループのうち記憶している最終選択グループに近いグループを最終選択グループとするものである。
【００１８】
この発明に係るシリアルデータ受信装置は、出力データ選択部は、検索結果ビット列が基準ワードと一致しないグループについて、装置への入力順序はグループの方が最終選択グループより早く、一方、最終選択グループを中心として各グループを循環的に並べた時にはグループの方が後にくる場合には、グループのワード始まり位置を最終選択グループのワード始まり位置に１足したものとし、装置への入力順序は最終選択グループの方がグループより早く、一方、最終選択グループを中心として各グループを循環的に並べた時にはグループの方が前にくる場合には、グループのワード始まり位置を最終選択グループのワード始まり位置から１引いたものとし、その他の場合にはグループのワード始まり位置を最終選択グループのワード始まり位置と同じにするものである。
【００１９】
この発明に係るシリアルデータ受信装置は、ワード検索部が、検索結果ビット列が基準ワードと一致しないグループについて、出力データ選択部によって更新されたワード始まり位置から１ワード分のビット列を検索結果ビット列として出力するものである。
【００２０】
【発明の実施の形態】
以下、この発明の実施の一形態を説明する。
実施の形態１．
図１はこの発明の実施の形態１によるシリアルデータ受信装置の構成を示すブロック図である。図において１はオーバーサンプリング部、２はパラレル変換部、３はデータ分割部、４はワード検索部、５は出力データ選択部である。
【００２１】
次に動作について説明する。
ここでは、オーバーサンプリングの回数を５回とする。入力シリアルビット列はまずオーバーサンプリング部１においてオーバーサンプリングされ、オーバーサンプリングビット列が出力される。次に、オーバーサンプリングビット列はパラレル変換部２においてパラレルビット列に変換される。パラレル変換部２では入力シリアルビット列１０ビット分のオーバーサンプリングビット列をパラレル変換するので、出力されるパラレルビット列は５０ビットとなる。
【００２２】
次に、データ分割部３においてパラレルビット列はオーバーサンプリング回数のグループに分割される。その結果、オーバーサンプリング回数分、すなわちここでは５個のグループ分割ビット列が出力される。図２は実施の形態１によるパラレルビット列のグループ分け処理を説明する図である。このビット列を｛ｂ０，ｂ１，ｂ２，．．．，ｂ４９｝と表すとするとこのビット列は、｛ｂ０，ｂ５，ｂ１０，．．．，ｂ４５｝、｛ｂ１，ｂ６，ｂ１１，．．．，ｂ４６｝、｛ｂ２，ｂ７，ｂ１２，．．．，ｂ４７｝、｛ｂ３，ｂ８，ｂ１３，．．．，ｂ４８｝、｛ｂ４，ｂ９，ｂ１４，．．．，ｂ４９｝の５個のグループに分割される。図２ではグループＧ２を示している。なお、以下の説明では各グループをＧ０，Ｇ１，Ｇ２，Ｇ３，Ｇ４で示す。
【００２３】
次に、各グループのグループ分割ビット列はワード検索部４に入力される。ワード検索部４では、各グループ分割ビット列に対してワード検索処理が行われる。図３はワード検索部４における各グループのワード検索処理のフローチャートである。グループＧｎのグループ分割ビット列がワード検索部４に入力されると、ワード検索部４に保持されている前回入力されたグループＧｎのグループ分割ビット列と組み合わされて基準ワード検索用ビット列（検索用ビット列）が生成される。グループＧ２を例に取り、グループ分割ビット列をｇ２＝｛ｂ２，ｂ７，ｂ１２，．．．，ｂ４７｝、前回入力されたグループ分割ビット列をｇ’２＝｛ｂ’２，ｂ’７，ｂ’１２，．．．，ｂ’４７｝、基準ワード検索用ビット列をｇｗ２とすると、
ｇｗ２＝｛ｂ’２，ｂ’７，ｂ’１２，．．．，ｂ’４７，ｂ２，ｂ７，ｂ１２，．．．，ｂ４７｝となる。
このように基準ワード検索用ビット列を生成するのは、検索対象となるビット列のビット数を基準ワードのビット数よりも大きくするためである。他のグループについても同様に基準ワード検索用ビット列を生成する。（ステップＳＴ１）
【００２４】
次に、各グループの基準ワード検索用ビット列に対し基準ワードの検索処理が行われる。例えば基準ワードが１０ビットであるとすると、該当する１０ビットの列が含まれるかどうか検索され結果が判定される。（ステップＳＴ２、ステップＳＴ３）
【００２５】
検索の結果、基準ワードが基準ワード検索用ビット列中に含まれていた場合の処理について説明する。グループＧ２を例に取り、ｇｗ２の３ビット目（ｂ’１２）から１２ビット目（ｂ７）の列が基準ワードと一致したとする。ワード検索部４は、一致したビット列｛ｂ’１２，．．．，ｂ’４７，ｂ２，ｂ７｝を検索結果ビット列として出力するとともに、ワード始まり位置情報として３ビット目を出力する。他のグループについても同様に、一致したビット列とワード始まり位置情報を出力する。（ステップＳＴ４）
【００２６】
検索の結果、基準ワードが基準ワード検索用ビット列中に含まれていなかった場合は、前回までの処理で得られたワード始まり位置情報とその位置から１０ビット分のビット列を検索結果ビット列として出力する。基準ワードは、ワードの切れ目を示すために入力されるものであるため、ある期間以外は存在しない。真に送付したいデータが送信されてくるようになると、基準ワードに一致するビット列は含まれなくなる。（ステップＳＴ５）
【００２７】
グループＧ２の場合を例に取り、次の回にグループ分割ビット列が入力された時の処理を説明する。前回入力されたグループ分割ビット列ｇ２がｇ’２となり、新たに入力されたグループ分割ビット列ｇ２と組み合わされて基準ワード検索用ビット列が生成される。
【００２８】
ワード検索部４で各グループごとに出力された検索結果ビット列は出力データ選択部５に入力される。出力データ選択部５では、各グループの検索結果ビット列の中から最終的に出力するパラレルビット列を選択して出力する。以下、選択されたグループを最終選択グループとする。
【００２９】
まず、グループＧ０〜グループＧ４のうち、一部のグループには基準ワードが存在し、残りのグループには存在しなかった場合について説明する。ここでは例として、Ｇ１，Ｇ２，Ｇ３には基準ワードが存在し、Ｇ０，Ｇ４には存在しなかったとする。この場合、入力シリアルビット列中には基準ワードが含まれていたが、オーバーサンプリングしたビット列のうち０ビット目と４ビット目付近にデータの変化点があったため、Ｇ０，Ｇ４では正確なデータが選択出来ずサンプリングに失敗したと考えられる。よって、Ｇ１，Ｇ２，Ｇ３の検索結果ビット列の中からいずれか１つを出力ビット列として出力すればよい。この場合、Ｇ０とＧ４から最も遠いＧ２を出力するのが良いと考えられる。以下で、最終選択グループの決定方法を一般化して説明する。
【００３０】
まず、基準ワードが含まれるグループが存在する場合の最終選択グループの決定方法について説明する。基準ワードが存在するグループ数が奇数であった場合は、中央のグループを最終選択グループとする。例えば、｛Ｇ０，Ｇ１，Ｇ２｝に基準ワードが存在する場合は、Ｇ１が最終選択グループとなる。｛Ｇ０，Ｇ３，Ｇ４｝に存在する場合は、｛Ｇ３，Ｇ４，Ｇ０｝と並べると３つのグループが連続すると考え、Ｇ４が最終選択グループとなる。同様に｛Ｇ０，Ｇ１，Ｇ４｝に基準ワードが存在する場合には、｛Ｇ４，Ｇ０，Ｇ１｝と並べてＧ０を選択する。
【００３１】
基準ワードが存在するグループ数が偶数であった場合は、中央にくる２つのグループのうち、前回の最終選択グループに近い方を選択する。例えば、基準ワードが存在するグループが｛Ｇ１，Ｇ２，Ｇ３，Ｇ４｝で、前回の最終選択グループがＧ３であった場合は、中央の２つのグループＧ２，Ｇ３のうち前回の最終選択グループに近いＧ３が選択される。また、｛Ｇ０，Ｇ１，Ｇ３，Ｇ４｝に基準ワードが存在する場合は、｛Ｇ３，Ｇ４，Ｇ０，Ｇ１｝と並べかえ、Ｇ４，Ｇ０のうちＧ３に近いＧ４が選択される。
【００３２】
次に、基準ワードが存在するグループが無い場合には、基準ワードが存在するグループが有る時に選択した最終選択グループを最終選択グループとする。
【００３３】
出力データ選択部５は、以上のようにして得られた最終選択グループのビット列を出力ビット列として出力する。
【００３４】
以上のように、この実施の形態１によれば、オーバーサンプリング部１でオーバーサンプリングしたすべてのサンプリングデータに対してワード検索部４で基準ワードの検索を行うようにしたので、入力シリアルビット列がノイズ等の影響を受けて歪んでいても、正しいビット列を出力出来るという効果が得られる。
【００３５】
実施の形態２．
実施の形態１では、基準ワードが送られてくる間に最終選択グループとワード始まり位置を決定し、基準ワードの送信がなくなった後もこの最終選択グループとワード始まり位置に基づいて出力ビット列を選択した。この方法は回路規模が小さくかつ高速処理が可能という利点があり、入力データの歪みが少ない場合には有効である。しかし、入力データに大きな歪みが存在する場合には、データの変化点が時間とともに変化する。すなわち、最終選択グループとすべきグループが時間とともに変化する。よって、基準ワードが存在する時に最終選択グループおよびワード始まり位置を確定したとしても、基準ワードの送信が無くなってしばらくすると、正しいデータが選択出来なくなる可能性がある。
【００３６】
実施の形態２では、基準ワードの送信が無くなってからの最終選択グループおよびワード始まり位置の決定方法において、ワード検索部４と出力データ選択部５の動作が実施の形態１と異なる。なお、ここでもオーバーサンプリングの回数を５回として説明する。
【００３７】
図４は、実施の形態２によるワード検索部４における各グループのワード検索処理のフローチャートである。実施の形態１と同様にデータ分割部３より出力された各グループのグループ分割ビット列に対し検索処理を行う。基準ワードが基準ワード検索用ビット列中に含まれていた場合には、実施の形態１と同様に一致したビット列とワード始まり位置情報を出力する。（ステップＳＴ４）
【００３８】
基準ワードが含まれない場合には、以下で説明する出力データ選択部５が出力するグループごとのワード始まり位置更新情報に基づいて、１ワード分のビット列を出力する。（ステップＳＴ１５）
【００３９】
図５は実施の形態２による出力データ選択部５におけるデータ選択処理のフローチャートである。ワード検索部４より出力されるグループごとのビット列とワード始まり位置情報が出力データ選択部５に入力されると、基準ワードを含むグループが存在するかどうか判定する。（ステップＳＴ２１）
【００４０】
基準ワードを含むグループが存在した場合には、実施の形態１と同様に最終選択グループを決定し、最終選択グループのビット列を出力ビット列とする。（ステップＳＴ２２）
【００４１】
次に、残りの基準ワードを含まないグループについてはそのグループのワード始まり位置を決定し、ワード始まり位置更新情報としてワード検索部４にフィードバックする。（ステップＳＴ２３）
【００４２】
ここで、出力データ選択部５におけるワード始まり位置決定方法について説明する。まず、基準ワードを含むグループが存在した時に決定した最終選択グループをＧｉとする。そのＧｉが中央になるように全グループを並べ替える。例えば、最終選択グループがＧ２の場合は｛Ｇ０，Ｇ１，Ｇ２，Ｇ３，Ｇ４｝となる。また、最終選択グループがＧ０の場合は｛Ｇ３，Ｇ４，Ｇ０，Ｇ１，Ｇ２｝となる。さらに、最終選択グループがＧ４の場合には｛Ｇ２，Ｇ３，Ｇ４，Ｇ０，Ｇ１｝となる。
【００４３】
次に、基準ワードを含まないグループをＧｊとすると、Ｇｊのワード始まり位置は次のように決定される。
ｊ＜ｉで且つ上述した並べ替えを行ったときにＧｊがＧｉよりも右に来る場合は、Ｇｊのワード始まり位置は、Ｇｉのワード始まり位置＋１となる。例えば、Ｇ４が最終選択グループでＧ２のワード始まり位置を求める場合がこれにあたる。この場合、Ｇ４のワード始まり位置を３とするとＧ２のワード始まり位置は４となる。
ｉ＜ｊで且つ上述した並べ替えを行ったときにＧｊがＧｉよりも左に来る場合は、Ｇｊのワード始まり位置は、Ｇｉのワード始まり位置‐１となる。例えば、Ｇ０が最終選択グループでＧ３のワード始まり位置を求める場合がこれにあたる。この場合、Ｇ０のワード始まり位置を３とするとＧ３のワード始まり位置は２となる。
上記の２つの条件に当てはまらない場合には、Ｇｊのワード始まり位置はＧｉのワード始まり位置と同じとする。
【００４４】
以上のようにして得られた基準ワードを含まないグループのワード始まり位置更新情報は、ワード検索部４に返され次回のワード検索処理に使用される。
このように、基準ワードを含まないグループのワード始まり位置を決めておくことにより、最終選択グループが途中で変化しても正しいワード始まり位置を得ることが出来る。
【００４５】
ステップＳＴ２１の判定処理において、基準ワードを含むグループが存在しなかった場合には、以下の方法で最終選択グループを決定する。（ステップＳＴ２４）
【００４６】
基準ワードが存在したときに決めた最終選択グループをＧｉとする。ＳＴ２２で行ったのと同様に、Ｇｉを中心としたグループの並び替えを行う。
次に、隣り合うグループが出力したビット列同士を比較する。例えば、ＧｉがＧ２の場合であればグループは｛Ｇ０，Ｇ１，Ｇ２，Ｇ３，Ｇ４｝と並べ替えられるので、隣り合うグループの組み合わせはＧ３とＧ４、Ｇ４とＧ０、Ｇ０とＧ１、Ｇ１とＧ２、Ｇ２とＧ３である。この比較結果をもとに以下の方法で新たな最終選択グループＧｉ’を決定する。
隣り合うグループ同士でビット列が一致するものがない場合は、Ｇｉ’＝Ｇｉとする。
ビット列が一致するグループが２つあり、その２つのグループのビット列にＧｉが含まれる場合はＧｉ’＝Ｇｉとし、含まれない場合は２つのうちで並べ替えたときＧｉに近い方とする。例えば上記の例でＧ０とＧ１が一致していた場合には、Ｇｉ’＝Ｇ１となる。
ビット列が一致するグループが奇数個ある場合には、その中央に来るグループをＧｉ’とする。例えば、Ｇ０，Ｇ１，Ｇ４が一致している場合は、Ｇｉ’＝Ｇ０とする。
ビット列が一致するグループが偶数個ある場合には、中央に来る２つのグループに対して２つのグループが一致した場合と同様の方法により決定する。
以上のようにして新たに最終選択グループＧｉ’を決定し、このグループのビット列を出力データ選択部の出力とする。
【００４７】
基準ワードの送信がなく、入力データの歪みによってデータの変化点が時間とともに変化する場合、どのグループのデータが正しいかは確率的に判断しなければならない。同じビット列を含むグループが複数存在すれば、このビット列は正しいデータである可能性が高い。この時、同一のビット列を含むグループの中で中央のグループはデータが最も安定したところでサンプリングされたと考えられる。同じビット列を含むグループが存在しない場合には入力データが大きく歪んでいる可能性があるが、前回までの処理で正しいデータを含んでいる確率が最も高いグループを選択しているので、前回の最終選択グループを採用することにより正しいデータを選択出来る確率が高くなる。
【００４８】
この後、各グループのワード始まり位置を決定する。（ステップＳＴ２５）これは、新たに決定した最終選択グループＧｉ’をＧｉとし、その他のグループに対してステップＳＴ２３で行ったのと同様の方法でワード始まり位置を決定することにより行う。このようにして得られたワード始まり位置はワード始まり位置更新情報としてワード検索部４にフィードバックされ、次回のワード検索処理に使用される。
【００４９】
以上のように、この実施の形態２によれば、基準ワードの送信がなくなった後でデータの変化点が変わったとしても、正しい出力ビット列を出力することが出来るという効果が得られる。
【００５０】
【発明の効果】
以上のように、この発明によれば、オーバーサンプリングしたすべてのサンプリングデータに対して基準ワードの検索を行うようにしたので、入力されるシリアルデータがノイズ等の影響を受けて歪んでいても、正しいデータを出力するシリアルデータ受信装置を得られるという効果がある。
【００５１】
この発明によれば、基準ワードの送信がなくなった後でデータの変化点が変わったとしても、正しい出力ビット列を出力するシリアルデータ受信装置を得られるという効果がある。
【図面の簡単な説明】
【図１】この発明の実施の形態１によるシリアルデータ受信装置の構成を示すブロック図である。
【図２】この発明の実施の形態１によるパラレルビット列のグループ分け処理を説明する図である。
【図３】この発明の実施の形態１によるワード検索部における各グループのワード検索処理のフローチャートである。
【図４】この発明の実施の形態２によるワード検索部における各グループのワード検索処理のフローチャートである。
【図５】この発明の実施の形態２による出力データ選択部におけるデータ選択処理のフローチャートである。
【図６】従来のシリアルデータ受信装置の構成を示すブロック図である。
【図７】従来のシリアルデータ受信装置によるシリアルデータ受信処理を説明する図である。
【符号の説明】
１　オーバーサンプリング部、２　パラレル変換部、３　データ分割部、４　ワード検索部、５　出力データ選択部。
【図１】
2004112214.tif 000003
【図２】
2004112214.tif 000004
【図３】
2004112214.tif 000005
【図４】
2004112214.tif 000006
【図５】
2004112214.tif 000007
【図６】
2004112214.tif 000008
【図７】
2004112214.tif 000009