(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023028523
(43)【公開日】2023-03-03
(54)【発明の名称】データ処理装置
(51)【国際特許分類】
H04L 7/04 20060101AFI20230224BHJP
A61B 1/045 20060101ALI20230224BHJP
【FI】
H04L7/04 100
A61B1/045 610
H04L7/04 400
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2021134274
(22)【出願日】2021-08-19
(71)【出願人】
【識別番号】000113263
【氏名又は名称】HOYA株式会社
(74)【代理人】
【識別番号】110002572
【氏名又は名称】弁理士法人平木国際特許事務所
(72)【発明者】
【氏名】人形 洋一
(72)【発明者】
【氏名】坂本 洋
【テーマコード(参考)】
4C161
5K047
【Fターム(参考)】
4C161AA00
4C161BB00
4C161CC06
4C161LL02
5K047AA02
5K047GG24
5K047HH12
5K047HH42
5K047JJ03
5K047JJ04
(57)【要約】 (修正有)
【課題】フレームレートの変更処理を簡単に実行し、かつ、より明るい画像を取得するデータ処理装置を提供する。
【解決手段】データ処理装置1は、入力データビット列の各データビットをオーバーサンプリングして出力するオーバーサンプリング部と、オーバーサンプリング後の各データビットの一部分を選択することにより、データビット列を復調する復調部と、データビット列のワードアラインパターンに応じたビット幅のデータ保持部と、ワードアラインパターンの中から同期コードを検出する同期コード検出部と、アライン選択信号に基づいて、データ保持部が保持するデータの中からワードアライン処理に最適なワードアラインパターンを抽出するワードアライン処理部と、入力されるフレームレートの変更指示に応じて、復調部、データ保持部及びワードアライン処理部に供給される動作クロックがそれぞれ異なるようにクロック生成部を制御する制御部と、を備える。
【選択図】
図2
【特許請求の範囲】
【請求項1】
データビット列が入力するとともに、前記データビット列の各データビットをオーバーサンプリングして出力するオーバーサンプリング部と、
オーバーサンプリング後のデータビット列の各データビットの一部分を選択することにより、オーバーサンプリング後のデータビット列を復調する復調部と、
少なくとも前記データビット列のワードアラインパターンに応じたビット幅を有し、前記データビット列を格納するデータ保持部と、
前記ワードアラインパターンの中から同期コードを検出する同期コード検出部と、
アライン選択信号に基づいて、前記データ保持部が保持するデータの中からワードアライン処理に最適な1つのワードアラインパターンを抽出するワードアライン処理部と、
前記オーバーサンプリング部、前記復調部、前記データ保持部、および前記ワードアライン処理部の動作クロックを生成するクロック生成部と、
入力されるフレームレートの変更指示に応じて、前記復調部、前記データ保持部、および前記ワードアライン処理部に供給される前記動作クロックがそれぞれ異なるように前記クロック生成部を制御する制御部と、
を備える、データ処理装置。
【請求項2】
請求項1において、
前記制御部は、前記フレームレートの変更指示があった場合でも、前記オーバーサンプリング部へ与える動作クロックが一定となるようにクロック生成部を制御する、データ処理装置。
【請求項3】
請求項1または2において、
前記復調部は、ワード結合部と、パイプライン処理部と、データエッジ位置検出部と、エッジ選択ステートマシンと、有効データ選択部と、復調データ多重化部と、を含み、
前記制御部は、前記ワード結合部および前記復調データ多重化部に供給される動作クロックと、前記パイプライン処理部、前記データエッジ位置検出部、前記エッジ選択ステートマシン、および前記有効データ選択部に供給される動作クロックとが異なるように、前記クロック生成部を制御する、データ処理装置。
【請求項4】
請求項1から3の何れか1項において、
前記制御部は、前記フレームレートの変更指示によってフレームレートが小さくなる場合、前記復調部およびワードアライン処理部の動作クロックを小さくなるように前記クロック生成部を制御し、
前記復調部は、変更された前記動作クロックに基づいて、前記オーバーサンプリング後のデータビット列を間引いて出力する、データ処理装置。
【請求項5】
請求項4において、
前記復調部は、前記データビット列を間引いた後、2ワード分のデータビット列を結合して出力する、データ処理装置。
【請求項6】
請求項1から5の何れか1項において、
前記フレームレートが60fpsのとき、前記オーバーサンプリング部の動作クロックは3024MHz、前記復調部に含まれるワード結合部および復調データ多重化部の動作クロックは151.2MHz、前記データ保持部および前記ワードアライン処理部の動作クロックは75.6MHzであり、
前記フレームレートが30fpsのとき、前記オーバーサンプリング部の動作クロックは3024MHz、前記復調部に含まれるワード結合部および復調データ多重化部の動作クロックは151.2MHz、前記データ保持部および前記ワードアライン処理部の動作クロックは75.6MHzであり、
前記フレームレートが15fpsのとき、前記オーバーサンプリング部の動作クロックは3024MHz、前記復調部に含まれるワード結合部および復調データ多重化部の動作クロックは151.2MHz、前記データ保持部および前記ワードアライン処理部の動作クロックは18.9MHzである、データ処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ処理装置に関する。
【背景技術】
【0002】
電子内視鏡装置や電子内視鏡システムにあっては、撮像素子が取得した画像データを伝送してこれを処理することが行われる。取得した画像(映像)データは、例えば、LVDSフォーマット(シリアルデータ)で伝送される。撮像素子からの映像データは、所定のフレームレート(例えば、60fps)で伝送され、プロセッサに含まれる前段信号処理部(FPGA)に含まれるLVDSレシーバ(トランシーバと称することも可能)で受信される。一般的に、クロック・データ・リカバリ(CDR:Clock Data Recovery)によって、伝送データからクロックを再生し、前段信号処理部に映像データが取り込まれる。
【0003】
撮像素子からの映像データのフレームレートは、使用するアプリケーションによって変更しなければならない場合がある。このときには、システム電源を一旦OFFにして該当(変更)するフレームレート(例えば、60fps→30fps)用のFPGA用プログラムを入れ替えることになる(方法1)。あるいは、FPGA用プログラムの変更は行わず、Vsyncのみを変更し(例えば、60fps→30fps)、撮像素子のADC(AD Converter)を元のフレームレート(例えば、60fps)で動作させ、例えば、前半の60fpsの期間だけデータを転送し、後半の60fpsの期間はデータ転送を休止するという方法を採用する場合もある(方法2)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2009-201540号公報
【特許文献2】特開2014-110843号公報
【特許文献3】特開2014-110855号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上述の方法1の場合、内視鏡システムの電源を一旦OFFにしてFPGAをリコンフィギュレーションしなければならず、フレームレート変更のプロセスが煩雑であり、時間が掛かってしまう。また、上述の方法2の場合、フレームレート変更のプロセスの煩雑さや時間が掛かるという不都合は回避できるものの、取得できる映像が暗くなってしまうという課題が生じてしまう。
本開示は、このような状況に鑑みて、フレームレートの変更処理を簡単に実行し、かつより明るい画像を取得するデータ処理技術を提案する。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本実施形態は、データビット列が入力するとともに、データビット列の各データビットをオーバーサンプリングして出力するオーバーサンプリング部と、オーバーサンプリング後のデータビット列の各データビットの一部分を選択することにより、オーバーサンプリング後のデータビット列を復調する復調部と、少なくともデータビット列のワードアラインパターンに応じたビット幅を有し、データビット列を格納するデータ保持部と、ワードアラインパターンの中から同期コードを検出する同期コード検出部と、アライン選択信号に基づいて、データ保持部が保持するデータの中からワードアライン処理に最適な1つのワードアラインパターンを抽出するワードアライン処理部と、オーバーサンプリング部、復調部、データ保持部、およびワードアライン処理部の動作クロックを生成するクロック生成部と、入力されるフレームレートの変更指示に応じて、復調部、データ保持部、およびワードアライン処理部に供給される動作クロックがそれぞれ異なるようにクロック生成部を制御する制御部と、を備える、データ処理装置について提案する。
【0007】
本開示に関連する更なる特徴は、本明細書の記述、添付図面から明らかになるものである。また、本開示は、要素及び多様な要素の組み合わせ及び以降の詳細な記述と添付される特許請求の範囲の様態により達成され実現される。本明細書の記述は典型的な例示に過ぎず、特許請求の範囲又は適用例を如何なる意味においても限定するものではない。
【発明の効果】
【0008】
本開示によれば、フレームレートの変更処理を簡単に実行し、かつより明るい画像を取得することが可能となる。
【図面の簡単な説明】
【0009】
【
図1】本実施形態のデータ処理装置1に入力される、復調すべき画像(映像)データのフォーマットの一例を示している。
【
図2】本実施形態によるデータ処理装置1およびその周辺機能ブロックの概略構成例を示す図である。
【
図3】オーバーサンプリング部10によるオーバーサンプリング処理の概要を説明するための図である。
【
図4】エッジ選択回路20によるオーバーサンプリング後のデータビット列の復調処理の概要を説明するための図である。
【
図5】クロックエッジと遷移状態の関係を示す図である。
【
図6】メモリ130が格納する、各フレームレートに対応する、該当ブロックのクロック値(クロックレート)を格納する動作クロック組格納テーブルの構成例を示す図である。
【
図7】本実施形態によるデータ処理装置1を構成するエッジ選択回路20の内部構成例を示す図である。
【
図8】本実施形態のデータ処理装置1が適用される内視鏡システム400の全体外観例を示す図である。
【
図9】本実施形態のデータ処理装置1が適用される内視鏡システム400の概略内部構成例を示す図である。
【発明を実施するための形態】
【0010】
撮像素子(例えば、CMOSセンサ)から出力される高速映像信号(LVDS信号)の受信回路には、FPGAのLVDSレシーバ(Rxレシーバ(トランシーバ))が用いられる。CMOSセンサは、用途に応じてフレームレートを適宜変更(例えば、60fps、30fps、15fps)して用いる場合がある。通常、CMOSセンサのADC動作は一定(例えば、60pfsに固定)とし、転送フレームレートのみを可変にすることが行われる。このとき、LVDSレシーバが対応できるデータレートは、デバイス毎に規定されている。例えば、それが614Mbpsから6144Mbpsの場合であって、60fps時のデータレートが756Mbpsであるとき、30fpsにフレームレートを落としたときのデータレートは、378Mbpsとなる。このデータレートは、LVDSレシーバの動作データレートの下限(614Mbps)を下回ってしまう。
【0011】
そこで、本実施形態は、このような不都合を是正するために、フレームレートの変更(例えば、スコープボタンや操作パネルからのフレームレート変更指示)に応じて、LVDSレシーバに含まれるオーバーサンプリング部、LDVSレシーバの後段のエッジ選択回路およびエッジ選択コア回路の動作クロックを変更する。また、エッジ選択回路において、フレームレートが60fpsの場合には連続したデータ列(例えば、連続40ビットデータ列)を、30fpsの場合には1ビットおきに取得したデータ列(例えば、1ビットごとに取得した40ビットデータ列)を、15fpsの場合には2ビットおきに取得したデータ列(例えば、2ビットおきに取得した40ビットデータ列)を出力する。このようにすることにより、フレームレートが変更されても、レシーバのスペックを変えずに撮像素子(例えば、CMOSセンサ)からの映像データを受信することが可能となる。
【0012】
<復号すべき画像(映像)データの構成例>
図1は、本実施形態のデータ処理装置1に入力される、復調すべき画像(映像)データのフォーマットの一例を示している。
図1の画像データは、例えば、LVDSフォーマット(シリアルデータ)で伝送される。当該画像データは、20ビットのデータビット列(D0、D1、…、D18、D19)の先頭と末尾に各1ビットのスタートビット(S)とエンドビット(E)を埋め込んでパケット化された22ビットを一単位として、これが複数サイクルに亘って連なったものである。すなわち、各サイクルにおいて、20ビットのデータビット列が、スタートビットとエンドビットによって区分され、これによりワード境界が規定される。このような画像データは、例えば、CMOSやCCDなどの撮像素子あるいはその処理部(送信側)において生成されたデータである。
【0013】
スタートビット(S)とエンドビット(E)は、同期クロックとも呼ばれるものであり、スタートビットのデータ値は“1”、エンドビットのデータ値は“0”で表される。周期が一定となるスタートビットとエンドビットの信号の遷移エッジを検出してこれを外すことによって、受信側で画素データを抽出することが可能になる。
【0014】
スタートビット(S)とエンドビット(E)の埋め込みは、例えば、送信側のカウンタによるビットカウントやセレクタによる出力選択動作で実行することができる。具体的には、伝送されるシリアル画素データを20ビット分カウントする度に、エッジ出力部から同期クロックを出力してビットデータを挿入し、エンベデット・クロックのシリアルデータを生成する。このシリアルデータは、高速の伝送レート(例えば614Mbpsから6144Mbps)で伝送される。
【0015】
<データ処理装置の構成例>
図2は、本実施形態によるデータ処理装置1およびその周辺機能ブロックの概略構成例を示す図である。
【0016】
図2に示すように、データ処理装置1は、オーバーサンプリング部10と、エッジ選択回路(復調部)20と、出力データ生成部30と、データ保持部40と、AVコード検出部(同期コード検出部)50と、アライン選択信号出力部60と、データ選択部(ワードアライン処理部)70と、エラー検出部80とを有している。
【0017】
周辺機能ブロックは、例えば、CMOS(Complementary Metal Oxide Semiconductor)イメージセンサなどの撮像素子2、スコープボタンや操作パネルなどで構成される操作部110、クロック生成部120、オーバーサンプリング部10およびエッジ選択回路20の動作クロック組を格納するメモリ130、操作部110からの指示に従ってメモリ130から該当するクロック組データを読み込んで当該クロック組データをオーバーサンプリング部10およびエッジ選択回路20に出力するようにクロック生成部120を制御する制御部140が含まれる。
【0018】
オーバーサンプリング部10には、撮像素子2から画像データのデータビット列(
図1)が入力される。オーバーサンプリング部10は、クロック生成部120から供給されるクロックに基づいて、入力したデータビット列の各データビットをオーバーサンプリングして出力する。オーバーサンプリング部10は、例えば、レシーバに対して入力シリアルデータレートの整数倍を設定することにより、オーバーサンプリング処理を実行する。
【0019】
撮像素子2から提供されるLVDSデータレートが756Mbpsで、LVDSレシーバレートが3024Mbpsの場合、フレームレートが異なると、オーバーサンプリングデータは次のように出力される。例えば、フレームレートが60fpsの場合、オーバーサンプリング部10は、1ビット入力に対して4ビットのオーバーサンプリングデータを出力する。また、フレームレートが30fpsの場合、オーバーサンプリング部10は、1ビット入力に対して8ビットのオーバーサンプリングデータを出力する。さらに、フレームレートが15fpsの場合、オーバーサンプリング部10は、1ビット入力に対して16ビットのオーバーサンプリングデータを出力する。
【0020】
エッジ選択回路20は、オーバーサンプリング部10によるオーバーサンプリング後のデータビット列の各データビットの一部分を選択することにより、オーバーサンプリング後のデータビット列を復調する。エッジ選択回路20は、例えば、フレームレートが60pfsのとき(LVDSデータレートが756Mbpsで、LVDSレシーバレートが3024Mbpsの場合)には、データビット(D0)とデータビット(D1)をそれぞれ4倍した8ビットのデータの中から2ビットのデータを選択することにより、オーバーサンプリング後のデータビット列を復調する。
【0021】
また、エッジ選択回路20は、例えば、30pfsのとき(LVDSデータレートが756Mbpsで、LVDSレシーバレートが3024Mbpsの場合)には、データビット(D0)とデータビット(D1)をそれぞれ8倍した16ビットのデータの中から2ビットのデータを選択することにより、オーバーサンプリング後のデータビット列を復調する。
さらに、エッジ選択回路20は、例えば、15pfsのとき(LVDSデータレートが756Mbpsで、LVDSレシーバレートが3024Mbpsの場合)には、データビット(D0)とデータビット(D1)をそれぞれ16倍した32ビットのデータの中から2ビットのデータを選択することにより、オーバーサンプリング後のデータビット列を復調する。
【0022】
出力データ生成部30は、「RAM I/F部」及び「データイネーブル生成部」を構成する。図示していないが、
図2のエッジ選択回路20と出力データ生成部30との間には、エッジ選択回路20からのデータが書き込まれ、出力データ生成部30によってデータが読み込まれるRAMが設けられている。RAM I/F部は、このRAMにアクセスし、データイネーブル生成部にRAMから取得したデータを引き渡すとともに、データイネーブル生成部からデータイネーブル信号を取得し、シフト連結データビット列とともに、データ保持部40に伝送する機能を備えている。また、データイネーブル生成部は、後段用データイネーブル信号を生成する機能を備えている。なお、「RAM I/F部」及び「データイネーブル生成部」は本開示の技術的特徴と直接関係ないため、その詳細な説明は省略する。
【0023】
データ保持部40は、例えば、シフトレジスタで構成され、出力データ生成部30から取得したデータを当該シフトレジスタで保持する。そして、データ保持部40は、AVコード検出部50とデータ選択部70にその保持したデータを伝送する。
【0024】
AVコード検出部50は、復調された画像データにおいてワードアラインパターンに応じたAVコード(同期コード)を検出する。
【0025】
アライン選択信号出力部60は、AVコード検出部(同期コード検出部)50によって検出されたAVコード(同期コード)に対応するアライン選択信号を生成し、出力する。
【0026】
データ選択部(ワードアライン処理部)70は、アライン選択信号に基づいて、データ保持部40が保持するデータの中からワードアライン処理に最適な1つのワードアラインパターンを抽出する。
【0027】
エラー検出部80は、データ選択部(ワードアライン処理部)70によるワードアライン処理のエラーを検出し、その結果をアライン選択信号出力部60に出力する。
【0028】
データ保持部40と、AVコード検出部50と、アライン選択信号出力部60と、データ選択部(ワードアライン処理部)70とは、出力データ生成部(RAM I/F部)30から受信したデータからアライメントを行うための「コア回路部」を構成する。
【0029】
<オーバーサンプリング処理>
図3は、オーバーサンプリング部10によるオーバーサンプリング処理の概要を説明するための図である。オーバーサンプリング部10は、常時同一のクロックレート(例えば、3024MHz:60fpsのときのデータ転送レート756Mbpsの4倍)で動作し、各フレームレートに対応して所定ビット数のデータ列を出力する。
図3には、一例として、フレームレートが60fps(
図3A)、30fps(
図3B)、および15fps(
図3C)のときのデータ列が示されている。
【0030】
(i)フレームレートが60fpsのとき(
図3A)
入力シリアル信号のデータ転送レートを756Mbpsとしたとき、サンプリングクロックを3024MHzとすることにより、3024Mbpsの出力データを得ることができる。すなわち、オーバーサンプリング部10が4倍オーバーサンプリング部として機能しており、データビット(D0)とデータビット(D1)をそれぞれ4倍して8ビットのデータとする。例えば、D0が1である場合、オーバーサンプリング処理によって1111と変換され、D1が0である場合、オーバーサンプリング処理によって0000と変換される。
【0031】
(ii)フレームレートが30fpsのとき(
図3B)
フレームレートを60fpsの半分の30fpsにすると、データ転送レートが60fpsのときの1/2(=378Mbps)になる。しかし、オーバーサンプリング部10は、3024Mbpsでデータが供給されてくる設定になっているため、4ビットデータ列ではなく、8ビットデータ列を出力することになる。すなわち、オーバーサンプリング部10は、8倍オーバーサンプリング部として機能しており、データビット(D0)とデータビット(D1)をそれぞれ8倍して16ビットのデータとする。例えば、D0が1である場合、オーバーサンプリング処理によって11111111と変換され、D1が0である場合、オーバーサンプリング処理によって00000000と変換される。
【0032】
(iii)フレームレートが15fpsのとき(
図3C)
フレームレートを60fpsの1/4の15fpsにすると、データ転送レートが60fpsのときの1/4(=189Mbps)になる。しかし、この場合も、オーバーサンプリング部10は、3024Mbpsでデータが供給されてくる設定になっているため、4ビットデータ列ではなく、16ビットデータ列を出力することになる。すなわち、オーバーサンプリング部10は、16倍オーバーサンプリング部として機能しており、データビット(D0)とデータビット(D1)をそれぞれ16倍して32ビットのデータとする。例えば、D0が1である場合、オーバーサンプリング処理によって1111111111111111と変換され、D1が0である場合、オーバーサンプリング処理によって0000000000000000と変換される。
【0033】
以上のように、オーバーサンプリング部10は、入力されてきたシリアル信号データをオーバーサンプリングし、ビット長が伸長されたオーバーサンプリングデータをエッジ選択回路20に出力する。
【0034】
<エッジ選択処理>
上述のようにフレームレートを小さくすると、オーバーサンプリング処理において、多くのビット列(上述のように、30fpsのときは1ビット入力に対して8ビット列、15fpsのときは1ビット入力に対して16ビット列)が生成され、エッジ選択回路20に転送される。このため、フレームレートが通常(60fps)より小さい値(例えば、60fps→30fps)に指定された場合(例えば、オペレータが操作部110からフレームレートの変更を指示)、エッジ選択回路20は、オーバーサンプリング部10から入力される、通常よりも長いビット列を間引いて出力する。
【0035】
例えば、フレームレートが30fpsに変更された場合、エッジ選択回路20は、8ビット+8ビット=16ビットの先頭ビットから(先頭2ビット目からでもよい)1ビット飛ばしでデータを選択し、4ビット+4ビット=8ビットを生成し、40ビットごとにデータ列を出力する。また、フレームレートが15fpsに変更された場合、エッジ選択回路20は、16ビット+16ビット=32ビットの先頭ビットから2ビット飛ばしでデータを選択し、4ビット+4ビット=8ビットを生成し、40ビットごとにデータ列を出力する。
【0036】
図4は、エッジ選択回路20によるオーバーサンプリング後のデータビット列の復調処理の概要を説明するための図である。ここでは、フレームレートが60fpsのときの動作について説明するが、他のフレームレート(例えば、30fps、15fpsなど)のときも動作は同様である。
【0037】
エッジ選択回路20は、データビット(D0)とデータビット(D1)をそれぞれ4倍した8ビットのデータの中から変化点(エッジ位置:データビット列において、0から1に、あるいは1から0に変化する位置)を検出し、この変化点から離れたデータビットを信頼性の高いデータビットと推定してこれを取得することにより、データ復調を実行する。エッジ選択回路20は、変化点を検出するために、データビット(D0)とデータビット(D1)をそれぞれ4倍した8ビットのデータのうち、隣り合ったビットに対して排他的論理和演算(比較演算)を行う。この排他的論理和演算により、2シリアルデータレートで8つの変化点(各2つで同位相の変化点0、変化点1、変化点2、変化点3)が取得される。この8つの変化点に基づいて、8ビット(2シリアルデータレート)から2ビットが選択される。なお、D0とD1とが共に1あるいは0である場合、例えば、11111111あるいは00000000となり、変化点(エッジ位置)が判別できない。そこで、このような場合には、それよりも前の情報から変化点を推測して変化点(エッジ位置)が決定される。つまり、前の情報と同じと仮定して変化点(エッジ位置)が検出(推定)されることになる。
【0038】
ここで、隣接するどのビット間にクロックエッジがあるかによって遷移状態(例えばE0、E1、E2、E3:
図5参照)を規定した場合において、特定の遷移状態の間を遷移するときにポジティブビットスキップまたはネガティブビットスキップが発生する(例えば、E0からE3に遷移するときにポジティブビットスキップが発生し、E3からE0に遷移するときにネガティブビットスキップが発生する)。ポジティブビットスキップが発生するとき、1サイクルで3ビットのデータが選択され、ネガティブビットスキップが発生するとき、1サイクルで1ビットのデータが選択される。ポジティブビットスキップとネガティブビットスキップが発生しないとき、1サイクルで2ビットのデータが選択される。例えば、ジッタやノイズ等の影響により、ポジティブビットスキップまたはネガティブビットスキップとするか否かを判断する際にエラーが生じる場合がある。この判断のエラーによって、データビット列に過剰ビットや不足ビットが生じてしまう。
なお、エッジ選択回路20の内部構成例については後述する(
図7参照)。
【0039】
<データ処理装置1におけるクロック生成処理>
上述したように、クロック生成部120は、エッジ選択回路20の2ワード結合部201および復調データ多重化部211(以下、第1構成要素)、エッジ選択回路20のその他のブロック(以下、第2構成要素:パイプライン処理部202、データエッジ位置検出部203、エッジ選択ステートマシン204、有効データ選択部208、データ選択部1および2_209および210)、ワードアライナ部(出力データ生成部30、データ保持部40、AVコード検出部50、エラー検出部80、アライン選択信号出力部60、データ選択部(ワードアライン処理部)70、コア多重化部90、結果出力部100)後段ブロック(同期補償回路)300(以下、第3構成要素)にそれぞれ動作クロック値を指示する。なお、上述のように、LVDSデータ(受信データ)は、フレームレートが60fps(通常時)のときには転送レートが756Mbps(通常時)、フレームレートが30fps(通常時の半分)のときには転送レートが378Mbps(通常時の半分)、フレームレートが15fps(通常時の1/4)のときには転送レートが189Mbps(通常時の1/4)のようになっている。そして、オーバーサンプリング部10は、常時3024MHzで動作する。このため、オーバーサンプリング部10の出力は、LVDSデータ1ビット入力に対して、60fps(通常時)で4ビット、30fps(通常時の半分)で8ビット、15fps(通常時の1/4)で16ビットとなる。
【0040】
図6は、メモリ130が格納する、各フレームレートに対応する、該当ブロックのクロック値(クロックレート)を格納する動作クロック組格納テーブルの構成例を示す図である。
図6に示されるように、第1構成要素から第3構成要素には、各フレームレートに対応して、同一のクロック値(クロックレート)が割り当てられる。つまり、フレームレートが60fpsの場合には、クロック値として、第1構成要素には151.2MHz、第2構成要素には378MHz、第3構成要素には75.6MHzが割り当てられる。フレームレートが30MHzの場合、クロック値として、第1構成要素には151.2MHz、第2構成要素には189MHz、第3構成要素には37.8MHzが割り当てられる。フレームレートが15MHzの場合、クロック値として、第1構成要素には151.2MHz、第2構成要素には94.5MHz、第3構成要素には18.9MHzが割り当てられる。
【0041】
例えば、オペレータがスコープボタンや操作パネルなどの操作部110を用いて、フレームレート変更(例えば、60fps→30fps)を指示すると、制御部140は、その指示に応答して、メモリ130から変更後のフレームレート(30fps)に対応するクロック値の組み合わせ(151.2MHz、189MHz、37.8MHzの組)を取得し、クロック生成部120に、当該取得したクロック値を、第1構成要素から第3構成要素に供給するように制御する。すると、第1構成要素から第3構成要素はそれぞれ、クロック値を格納するレジスタ(図示せず)の値を書き換え、それ以降の動作を書き換えたクロックで実行する。
【0042】
<エッジ選択回路の内部構成例>
図7は、本実施形態によるデータ処理装置1を構成するエッジ選択回路20の内部構成例を示す図である。
【0043】
エッジ選択回路20は、2ワード結合部201と、パイプライン処理部202と、データエッジ位置検出部203と、エッジ選択ステートマシン204と、カウンタ205と、レジスタ206と、比較部207と、有効データ選択部208と、データ選択部1_209と、データ選択部2_210と、復調データ多重化部211と、を備えている。
【0044】
(i)2ワード結合部201
2ワード結合部201は、オーバーサンプリング部10によってオーバーサンプリング処理された2ワード分(例えば、1ワードが20ビットで構成されるデータ列)のデータを結合し、結合されたデータ列(例えば、40ビットのデータ列)をパイプライン処理部202に出力する。
【0045】
(ii)パイプライン処理部202
パイプライン処理部202は、2ワード結合されたデータ列(例えば、40ビットデータ列)を所定ビット単位(例えば、8ビット:オーバーサンプリング処理前の2ビット分のデータに相当)のデータ列にパイプライン化してデータエッジ位置検出部203および有効データ選択部208に出力する。
【0046】
(iii)データエッジ位置検出部203
図4を用いて説明したように、データエッジ位置検出部203は、データビット(D0)とデータビット(D1)をそれぞれ4倍した8ビットのデータの中から変化点(エッジ位置:データビット列において、0から1に、あるいは1から0に変化する位置)を検出し、この変化点から離れたデータビットを信頼性の高いデータビットと推定してこれを取得することにより、データ復調を実行する。
【0047】
(iv)エッジ選択ステートマシン204
エッジ選択ステートマシン204は、データエッジ位置検出部203が検出しエッジ位置に基づいて、データ列の状態およびビットスキップの有無を判断し、データ列の状態を示すステート情報をデータ選択部2_210に出力するとともに、ビットスキップがあると判断した場合にはビットスキップの種別(ポジティブビットスキップあるいはネガティブビットスキップ)を示すビットスキップ情報をカウンタ205およびデータ選択部1_209に出力する。
【0048】
エッジ選択ステートマシン204は、隣接するどのビット間にクロックエッジがあるかによって状態(例えばE0、E1、E2、E3)を規定する。ポジティブビットスキップまたはネガティブビットスキップは、特定の状態の間を遷移するときに発生する。例えば、E0からE3に遷移するときにポジティブビットスキップが発生し、E3からE0に遷移するときにネガティブビットスキップが発生する。なお、データ列の各状態と状態間の遷移の様子は上述した通りである(
図5参照)。
【0049】
<内視鏡システムへの適用>
図8は、本実施形態のデータ処理装置1が適用される内視鏡システム400の全体外観例を示す図である。
図9は、本実施形態のデータ処理装置1が適用される内視鏡システム400の概略内部構成例を示す図である。内視鏡システム400は、内視鏡装置(電子スコープ)410と、プロセッサ420と、モニタ430とを備えている。
【0050】
内視鏡装置410は、被検体の内部に挿入される細長い管状の挿入部421を備えている。内視鏡装置410は、後述する光源装置4201からの照射光を導くためのLCB(Light Carrying Bundle)4101と、LCB4101の出射端に設けられた配光レンズ4102と、対物レンズ4103と、対物レンズ4103を介して被照射部分(観察部位)からの戻り光を受光する撮像素子4104と、撮像素子4104を駆動するドライバ信号処理回路4105と、第1メモリ4106とを備えている。
【0051】
光源装置4201からの照射光は、LCB4101内に入射し、LCB4101内で全反射を繰り返すことによって伝播する。LCB4101内を伝播した照射光は、挿入部421の先端部422内に配置されたLCB4101の出射端から出射され、配光レンズ4102を介して観察部位を照射する。被照射部分からの戻り光は、対物レンズ4103を介して撮像素子4104の受光面上の各画素で光学像を結ぶ。
【0052】
撮像素子4104(
図2の撮像素子2に対応)は、挿入部421の先端部422内に配置されており、例えば、CCD(Charge Coupled Device)イメージセンサである。撮像素子4104は、受光面上の各画素で結像した光学像(生体組織からの戻り光)を光量に応じた電荷として蓄積して、R、G、Bの画像信号を生成して出力する。なお、撮像素子4104は、CCDイメージセンサに限らず、CMOS(Complementary Metal Oxide Semiconductor)イメージセンサやその他の種類の撮像装置に置き換えられてもよい。撮像素子4104は、ドライバ信号処理回路4105によって駆動され、1フィールドもしくは1フレーム分の画素信号が撮像素子4104から所定の時間間隔(例えば1/60秒、1/30秒、あるいは15秒間隔)で読み出される。
【0053】
プロセッサ420は、内視鏡装置410からの信号を処理する信号処理装置と、自然光の届かない体腔内を内視鏡装置410を介して照射する光源装置とを一体に備えた装置である。別の実施形態では、信号処理装置と光源装置とを別体で構成してもよい。プロセッサ420は、光源装置4201と、システムコントローラ4202と、光学フィルタ4203と、光学フィルタドライバ4204と、前段信号処理回路4205と、色変換回路4206と、後段信号処理回路4207と、第2メモリ4208とを備えている。上述のデータ処理装置1は、前段信号処理回路4205に含まれている。
【0054】
プロセッサ420は、図示しない操作パネルを備えてもよい。操作パネルの構成には種々の形態がある。操作パネルの具体的構成としては、例えば、プロセッサ420のフロント面に実装された機能毎のハードウェアキーやタッチパネル式GUI(Graphical User Interface)、ハードウェアキーとGUIとの組合せ等が考えられる。施術者は、操作パネルによって後述するモード切替操作が可能となる。
【0055】
システムコントローラ4202は、図示省略のメモリに格納された各種プログラムを実行し、内視鏡システム400全体を統合的に制御する。システムコントローラ4202は、制御信号を用いて、プロセッサ420に接続されている内視鏡装置410に適した処理がなされるようにプロセッサ420内の各種回路の動作やタイミングを制御する。また、システムコントローラ4202は、上述の操作パネルに接続されてもよい。システムコントローラ4202は、操作パネルより入力される施術者からの指示に応じて、内視鏡システム400の各動作及び各動作のためのパラメータを変更する。
【0056】
光源装置4201としては、例えば、キセノンランプ、ハロゲンランプ、水銀ランプ、メタルハライドランプ等の高輝度ランプやLED(Light Emitting Diode)を用いることができる。光源装置4201からの照射光は、主に可視光領域から不可視である赤外光領域に広がるスペクトルを持つ光(又は少なくとも可視光領域を含む光)である。光源装置4201からの照射光は、光学フィルタ4203に入射する。
【0057】
内視鏡装置410とプロセッサ420との間のデータ通信は、有線の電気通信方式を用いてもよいし、光無線通信方式を用いてもよい。
【0058】
<本開示の特定事項のまとめ>
(i)特定事項1
データビット列が入力するとともに、前記データビット列の各データビットをオーバーサンプリングして出力するオーバーサンプリング部と、
オーバーサンプリング後のデータビット列の各データビットの一部分を選択することにより、オーバーサンプリング後のデータビット列を復調する復調部と、
少なくとも前記データビット列のワードアラインパターンに応じたビット幅を有し、前記データビット列を格納するデータ保持部と、
前記ワードアラインパターンの中から同期コードを検出する同期コード検出部と、
アライン選択信号に基づいて、前記データ保持部が保持するデータの中からワードアライン処理に最適な1つのワードアラインパターンを抽出するワードアライン処理部と、
前記オーバーサンプリング部、前記復調部、前記データ保持部、および前記ワードアライン処理部の動作クロックを生成するクロック生成部と、
入力されるフレームレートの変更指示に応じて、前記復調部、前記データ保持部、および前記ワードアライン処理部に供給される前記動作クロックがそれぞれ異なるように前記クロック生成部を制御する制御部と、
を備える、データ処理装置。
【0059】
(ii)特定事項2
特定事項1において、
前記制御部は、前記フレームレートの変更指示があった場合でも、前記オーバーサンプリング部へ与える動作クロックが一定となるようにクロック生成部を制御する、データ処理装置。
【0060】
(iii)特定事項3
特定事項1または2において、
前記復調部は、ワード結合部と、パイプライン処理部と、データエッジ位置検出部と、エッジ選択ステートマシンと、有効データ選択部と、復調データ多重化部と、を含み、
前記制御部は、前記ワード結合部および前記復調データ多重化部に供給される動作クロックと、前記パイプライン処理部、前記データエッジ位置検出部、前記エッジ選択ステートマシン、および前記有効データ選択部に供給される動作クロックとが異なるように、前記クロック生成部を制御する、データ処理装置。
【0061】
(iv)特定事項4
特定事項1から3の何れか1項において、
前記制御部は、前記フレームレートの変更指示によってフレームレートが小さくなる場合、前記復調部およびワードアライン処理部の動作クロックを小さくなるように前記クロック生成部を制御し、
前記復調部は、変更された前記動作クロックに基づいて、前記オーバーサンプリング後のデータビット列を間引いて出力する、データ処理装置。
【0062】
(v)特定事項5
特定事項4において、
前記復調部は、前記データビット列を間引いた後、2ワード分のデータビット列を結合して出力する、データ処理装置。
【0063】
(vi)特定事項6
特定事項1から5の何れか1項において、
前記フレームレートが60fpsのとき、前記オーバーサンプリング部の動作クロックは3024MHz、前記復調部に含まれるワード結合部および復調データ多重化部の動作クロックは151.2MHz、前記データ保持部および前記ワードアライン処理部の動作クロックは75.6MHzであり、
前記フレームレートが30fpsのとき、前記オーバーサンプリング部の動作クロックは3024MHz、前記復調部に含まれるワード結合部および復調データ多重化部の動作クロックは151.2MHz、前記データ保持部および前記ワードアライン処理部の動作クロックは75.6MHzであり、
前記フレームレートが15fpsのとき、前記オーバーサンプリング部の動作クロックは3024MHz、前記復調部に含まれるワード結合部および復調データ多重化部の動作クロックは151.2MHz、前記データ保持部および前記ワードアライン処理部の動作クロックは18.9MHzである、データ処理装置。
【符号の説明】
【0064】
1 データ処理装置
2 撮像素子
10 オーバーサンプリング部
20 エッジ選択回路(復調部)
30 出力データ生成部(RAM I/F部、データイネーブル生成部)
40 データ保持部
50 AVコード検出部(同期コード検出部)
60 アライン選択信号出力部
70 データ選択部(ワードアライン処理部)
80 エラー検出部
90 コア多重化部
100 結果出力部
110 操作部
120 クロック生成部
130 メモリ
140 制御部
300 後段ブロック
400 内視鏡システム