特許第6586247号(P6586247)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ HOYA株式会社の特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6586247
(24)【登録日】2019年9月13日
(45)【発行日】2019年10月2日
(54)【発明の名称】データ処理装置
(51)【国際特許分類】
   H04L 7/04 20060101AFI20190919BHJP
   A61B 1/045 20060101ALI20190919BHJP
   G02B 23/24 20060101ALI20190919BHJP
   H04N 19/44 20140101ALI20190919BHJP
【FI】
   H04L7/04 200
   A61B1/045 610
   G02B23/24 B
   H04L7/04 400
   H04N19/44
【請求項の数】8
【全頁数】28
(21)【出願番号】特願2018-557752(P2018-557752)
(86)(22)【出願日】2017年12月18日
(86)【国際出願番号】JP2017045253
(87)【国際公開番号】WO2018117005
(87)【国際公開日】20180628
【審査請求日】2019年6月17日
(31)【優先権主張番号】特願2016-245091(P2016-245091)
(32)【優先日】2016年12月19日
(33)【優先権主張国】JP
(31)【優先権主張番号】特願2017-15298(P2017-15298)
(32)【優先日】2017年1月31日
(33)【優先権主張国】JP
【早期審査対象出願】
(73)【特許権者】
【識別番号】000113263
【氏名又は名称】HOYA株式会社
(74)【代理人】
【識別番号】110002572
【氏名又は名称】特許業務法人平木国際特許事務所
(72)【発明者】
【氏名】人形 洋一
(72)【発明者】
【氏名】坂本 洋
【審査官】 阿部 弘
(56)【参考文献】
【文献】 特開2016−111557(JP,A)
【文献】 特開2006−109082(JP,A)
【文献】 特開平4−165832(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 7/04
A61B 1/045
G02B 23/24
H04N 19/44
(57)【特許請求の範囲】
【請求項1】
データビット列が入力するとともに、前記データビット列の各データビットをオーバーサンプリングして出力するオーバーサンプリング部と、
オーバーサンプリング後のデータビット列の各データビットの一部分を選択することにより、オーバーサンプリング後のデータビット列を復調する復調部と、
nサイクル(nは正の整数)の前記復調されたデータビット列を取得し、前記nサイクルの復調されたデータビット列のうち隣接する2サイクルのデータビット列を互いにシフトしながら連結してn−1サイクルのデータビット列とし、前記n−1サイクルのデータビット列を出力するとともに、1サイクルはデータビット列を出力せず又は無効データビット列を出力する、出力データ生成部と、
少なくとも前記データビット列のワードアラインパターンに応じたビット幅を有し、前記出力データ生成部からデータビット列を受信して、当該データビット列を格納するデータ保持部と、
前記データ保持部において前記データビット列をシフトさせながら、前記ワードアラインパターンと同期コードとを比較することにより、前記ワードアラインパターンの中から前記同期コードを検出する同期コード検出部と、
前記同期コードに従ったワードアラインロック状態で、前記データビット列からスタートビットとエンドビットを外すワードアライン処理部と、
を備える、データ処理装置。
【請求項2】
請求項1において、さらに、
前記データビット列のスタートビットとエンドビットとこれに対応するエラー判定用ビットに基づいて、前記ワードアライン処理のエラー検出を実行するエラー検出部を備える、データ処理装置。
【請求項3】
請求項において、
前記エラー検出部は、前記エラー判定用ビットに基づいて前記ワードアライン処理のエラーを検出していないときは、前記同期コード検出部が前記同期コードを検出したワードアラインロック状態を維持し、前記エラー判定用ビットに基づいて前記ワードアライン処理のエラーを検出したときは、前記ワードアラインロック状態を解除する、データ処理装置。
【請求項4】
請求項において、
前記エラー検出部は、
(i)前記ワードアラインロック状態を解除した後に、引き続き前記ワードアライン処理のエラーが検出されたときは、前記ワードアラインパターンの変更を行い、
(ii)前記ワードアラインロック状態を解除した後に、前記ワードアライン処理のエラーが検出されなくなったときは、前記ワードアラインパターンの変更を行うことなく、前記同期コード検出部が前記同期コードを検出したワードアラインロック状態に復帰する、データ処理装置。
【請求項5】
請求項またはにおいて、
前記同期コード検出部は、前記ワードアラインロック状態において、入力されてきた前記同期コードの検出を回避し、前記ワードアラインロック状態での前記ワードアラインパターンを維持する、データ処理装置。
【請求項6】
請求項からのいずれか1項において
前記同期コード検出部は、前記ワードアラインロック解除状態において、前記同期コードの検出を行うことによって、前記ワードアラインパターンを確定させる、データ処理装置。
【請求項7】
請求項1から請求項のいずれか1項において、
前記エラー検出部は、前記スタートビットと前記エンドビットを含む特定データビット列に、前記特定データビット列を挟む隣接データビット列のスタートビットとエンドビットを加えたものを基準として、前記ワードアライン処理のエラー検出を実行する、データ処理装置。
【請求項8】
請求項において、
前記エラー検出部は、前記特定データビット列のスタートビットおよびエンドビットと、前記隣接データビット列のスタートビットおよびエンドビットとを合わせたデータに基づいて、前記ワードアライン処理のエラー検出を実行する、データ処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ処理装置に関する。
【背景技術】
【0002】
電子内視鏡や電子内視鏡システムにあっては、撮像素子が取得した画像データを伝送してこれを処理することが行われる。画像データの処理は、例えば、8b/10b等の符号化アルゴリズムを利用した高速シリアル転送方式の他、クロック埋め込みを利用したチープアルゴリズムであるエンベデット・クロック方式により実行される。
【0003】
エンベデット・クロック方式では、スタートビットとエンドビットを含んでパケット化されたデータビット列が伝送され、受信側では、データビット列に適したワードアラインパターンに従って、スタートビットとエンドビットを外すデータ復号化処理(ワードアライン処理)が実行される。データ復号化処理(ワードアライン処理)を実行するデータ復号化回路(ワードアライン回路)は、例えば、FPGA(Field Programmable Gate Array)のユーザエリアに実装される。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2009−201540号公報
【特許文献2】特開2014−110843号公報
【特許文献3】特開2014−110855号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
このようなデータ復号化処理(ワードアライン処理)では、処理対象のデータから同期コードを正確に検出して信頼性のあるデータ(ワードアラインされたデータ)を出力する必要がある。
【0006】
本開示はこのような状況に鑑みてなされたものであり、データ復号化処理(ワードアライン処理)を精度良く行い、データ品質の向上を図ることができるデータ処理技術を提供するものである。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本実施形態のデータ処理装置は、データビット列が入力するとともに、データビット列の各データビットをオーバーサンプリングして出力するオーバーサンプリング部と、オーバーサンプリング後のデータビット列の各データビットの一部分を選択することにより、オーバーサンプリング後のデータビット列を復調する復調部と、少なくともデータビット列のワードアラインパターンに応じたビット幅を有し、データビット列を格納するデータ保持部と、データ保持部においてデータビット列をシフトさせながら、ワードアラインパターンと同期コードとを比較することにより、ワードアラインパターンの中から同期コードを検出する同期コード検出部と、同期コードに従ったワードアラインロック状態で、データビット列からスタートビットとエンドビットを外すワードアライン処理部と、を備える。
【0008】
本開示に関連する更なる特徴は、本明細書の記述、添付図面から明らかになるものである。また、本開示は、要素及び多様な要素の組み合わせ及び以降の詳細な記述と添付される請求の範囲の様態により達成され実現される。
本明細書の記述は典型的な例示に過ぎず、請求の範囲又は適用例を如何なる意味に於いても限定するものではないことを理解する必要がある。
【発明の効果】
【0009】
本開示によれば、データ復号化処理(ワードアライン処理)を精度良く行い、データ品質の向上を図ることができるようになる。
【図面の簡単な説明】
【0010】
図1】実施形態によるデータ処理装置に入力される画像データのフォーマットの一例を示す概念図である。
図2】第1の実施形態のデータ処理装置1の構成例を示すブロック図である。
図3】オーバーサンプリング部10によるオーバーサンプリングの一例を示す概念図である。
図4】エッジ選択回路20によるオーバーサンプリング後のデータビット列の復調の一例を示す概念図である。
図5】出力データ生成部30によるデータ入出力処理の一例を示す第1の概念図である。
図6】出力データ生成部30によるデータ入出力処理の一例を示す第2の概念図である。
図7】出力データ生成部30によるデータ入出力処理の一例を示す第3の概念図である。
図8】データ保持部40が保持するシフト連結データビット列(復調データビット列)の一例を示す第1の概念図である。
図9】データ保持部40が保持するシフト連結データビット列(復調データビット列)の一例を示す第2の概念図(出力データ生成部から出力される22ビットのデータがデータ保持部に保持されるシフトレジスタの模式図)である。
図10】ビットシフト処理によってデータ選択パターンが遷移する例を示す概念図である。
図11A】エラー検出部80による定常状態の一例をそれぞれ示す概念図である。
図11B】エラー検出部80によるビット過剰状態一例をそれぞれ示す概念図である。
図11C】エラー検出部80によるビット不足状態の一例をそれぞれ示す概念図である。
図11D】エラー検出部80によるビット不定状態の一例をそれぞれ示す概念図である。
図12】第1の実施形態のデータ処理装置1によるデータ処理の一例を示すフローチャートである。
図13】エラー検出部80によるビット過剰処理を示すフローチャートである。
図14】エラー検出部80によるビット不足処理を示すフローチャートである。
図15】第2の実施形態によるデータ処理装置2の構成例を示すブロック図である。
図16】データ保持部40’が保持するシフト連結データビット列の一例を示す概念図である。
図17A】AVコード検出部50によるAVコード検出パターンの一例を示す概念図(1)である。
図17B】AVコード検出部50によるAVコード検出パターンの一例を示す概念図(2)である。
図18A】データ保持部40’が保持するシフト連結データビット列、AVコード検出部50によるAVコード検出パターン、並びに、データ選択部によるワードアラインパターン(AVコード)の選択および抽出の一例を示す概念図である。
図18B】データ保持部40’が保持するシフト連結データビット列、AVコード検出部50によるAVコード検出パターン、並びに、データ選択部によるワードアラインパターン(AVコード)の選択および抽出の一例を示す概念図(図18Aのつづき)である。
【発明を実施するための形態】
【0011】
(1)第1の実施形態
上述したデータ復号化処理(ワードアライン処理)では、データビット列の各データビットをオーバーサンプリングして出力し、オーバーサンプリング後のデータビット列の各データビットの一部分を選択することにより、オーバーサンプリング後のデータビット列を復調することがある。例えば、隣接する2ビットのデータビット列を4倍でオーバーサンプリングして8ビットのデータビット列とし、この8ビットのデータビット列からエッジ部分を除いた比較的信頼性が高い2ビットのデータビット列を選択される。しかしながら、従来のデータ復号化処理(ワードアライン処理)は、データビット列のオーバーサンプリングから復調に亘る一連の処理において、送信デバイスと受信デバイスの間のジッタやノイズの影響により、誤ビット(ビットの誤過剰や誤不足)が発生するおそれがある。この場合、正しいデータ復号化処理(ワードアライン処理)が困難となり、データ品質の劣化が避けられなくなってしまう。
【0012】
第1の実施形態は、例えば、電子内視鏡(図示略)に内蔵されて、撮像素子(図示略)が取得した画像データに処理を施すデータ処理装置1であって、データビット列のオーバーサンプリングから復調に亘る一連の処理において、ジッタやノイズの影響を低減して、正しいデータ復号化処理(ワードアライン処理)を行い、データ品質の向上を図ることができるデータ処理装置を提供する。例えば、データ処理装置1は、例えば、出力データから同期コードを検出してワードアライン処理するとともに、ワードアラインされたデータからエラーを検出し、エラーの影響を排してワードアラインされたデータ(スタートビットおよびエンドビット(SEビット)が除外されたもの)を出力するものである。第1の実施形態のデータ処理装置1によれば、データビット列のオーバーサンプリングから復調に亘る一連の処理において、ジッタやノイズの影響を低減して、正しいデータ復号化処理(ワードアライン処理)を行い、データ品質の向上を図ることができるようになる。
【0013】
<復号すべき画像データの構成例>
図1は、本実施形態のデータ処理装置1に入力される、復調すべき画像データのフォーマットの一例を示している。図1の画像データは、例えば、LVDSフォーマット(シリアルデータ)で伝送される。当該画像データは、20ビットのデータビット列(D0、D1、…、D18、D19)の先頭と末尾に各1ビットのスタートビット(S)とエンドビット(E)を埋め込んでパケット化された22ビットを一単位として、これが複数サイクルに亘って連なったものである。すなわち、各サイクルにおいて、20ビットのデータビット列が、スタートビットとエンドビットによって区分され、これによりワード境界が規定される。このような画像データは、例えば、CMOSやCCDなどの撮像素子あるいはその処理部(送信側)において生成されたデータである。
【0014】
スタートビット(S)とエンドビット(E)は、同期クロックとも呼ばれるものであり、スタートビットのデータ値は“1”、エンドビットのデータ値は“0”で表される。周期が一定となるスタートビットとエンドビットの信号の遷移エッジを検出してこれを外すことによって、受信側で画素データを抽出することが可能になる。
【0015】
スタートビット(S)とエンドビット(E)の埋め込みは、例えば、送信側のカウンタによるビットカウントやセレクタによる出力選択動作で実行することができる。具体的には、伝送されるシリアル画素データを20ビット分カウントする度に、エッジ出力部から同期クロックを出力してビットデータを挿入し、エンベデット・クロックのシリアルデータを生成する。このシリアルデータは、高速の伝送レート(例えば600Mbps)で伝送される。
【0016】
<データ処理装置の構成例>
図2は、本実施形態によるデータ処理装置1の概略構成例を示す図である。 図2に示すように、データ処理装置1は、オーバーサンプリング部10と、エッジ選択回路(復調部)20と、出力データ生成部30と、データ保持部40と、AVコード検出部(同期コード検出部)50と、アライン選択信号出力部60と、データ選択部(ワードアライン処理部)70と、エラー検出部80とを有している。
【0017】
オーバーサンプリング部10には、画像データのデータビット列(図1)が入力される。オーバーサンプリング部10は、入力したデータビット列の各データビットをオーバーサンプリングして出力する。オーバーサンプリング部10は、例えば、レシーバに対して入力シリアルデータレートの整数倍を設定することにより、オーバーサンプリング処理を実行する。
【0018】
エッジ選択回路20は、オーバーサンプリング部10によるオーバーサンプリング後のデータビット列の各データビットの一部分を選択することにより、オーバーサンプリング後のデータビット列を復調する。エッジ選択回路20は、例えば、データビット(D0)とデータビット(D1)をそれぞれ4倍した8ビットのデータの中から2ビットのデータを選択することにより、オーバーサンプリング後のデータビット列を復調する。
【0019】
出力データ生成部30は、「RAM I/F部」及び「データイネーブル生成部」を構成する。図示していないが、図2のエッジ選択回路20と出力データ生成部30との間には、エッジ選択回路20からのデータが書き込まれ、出力データ生成部30によってデータが読み込まれるRAMが設けられている。RAM I/F部は、このRAMにアクセスし、データイネーブル生成部にRAMから取得したデータを引き渡すとともに、データイネーブル生成部からデータイネーブル信号を取得し、シフト連結データビット列(図7参照)とともに、データ保持部40に伝送する機能を備えている。また、データイネーブル生成部は、後述(図7)の後段用データイネーブル信号を生成する機能を備えている。
【0020】
データ保持部40は、例えば、シフトレジスタで構成され、出力データ生成部から取得したデータを当該シフトレジスタで保持する。そして、データ保持部40は、AVコード検出部50とデータ選択部70にその保持したデータを伝送する。
AVコード検出部50は、復調された画像データにおいてワードアラインパターンに応じたAVコード(同期コード)を検出する。
【0021】
アライン選択信号出力部60は、AVコード検出部(同期コード検出部)50によって検出されたAVコード(同期コード)に対応するアライン選択信号を生成し、出力する。
【0022】
データ選択部(ワードアライン処理部)70は、アライン選択信号に基づいて、データ保持部40が保持するデータの中からワードアライン処理に最適な1つのワードアラインパターンを抽出する。
【0023】
エラー検出部80は、データ選択部(ワードアライン処理部)70によるワードアライン処理のエラーを検出し、その結果をアライン選択信号出力部60に出力する。
【0024】
データ保持部40と、AVコード検出部50と、アライン選択信号出力部60と、データ選択部(ワードアライン処理部)70とは、出力データ生成部(RAM I/F部)30から受信したデータからアライメントを行うための「コア回路部」を構成する。
【0025】
<オーバーサンプリング処理>
図3は、オーバーサンプリング部10によるオーバーサンプリング処理の概要を説明するための図である。図3は、一例として、入力シリアル信号のデータレートを1GHzとしたときに、サンプリングクロックを4GHzとすることにより、4Gbpsの出力データを得る場合を示している。すなわち、オーバーサンプリング部10が4倍オーバーサンプリング部として機能しており、データビット(D0)とデータビット(D1)をそれぞれ4倍して8ビットのデータとしている。例えば、D0が1である場合、オーバーサンプリング処理によって1111と変換され、D1が0である場合、オーバーサンプリング処理によって0000と変換される。なお、図3において、出力データが入力シリアル信号と比べて1クロック分ずれているが、これはサンプリング処理による遅延時間が1クロック分あることが示されている。また、ジッタ・ノイズ等の影響で、D0が綺麗な波形でないことがある。この場合、生成される4ビットデータは、全て“1”にはならない。例えば、右端のビットが“0”という場合もある。
【0026】
以上のように、オーバーサンプリング部10は、入力されてきたシリアル信号データをオーバーサンプリングし、ビット長が伸長されたオーバーサンプリングデータをエッジ選択回路20に出力する。
【0027】
<エッジ選択処理>
図4は、エッジ選択回路20によるオーバーサンプリング後のデータビット列の復調処理の概要を説明するための図である。エッジ選択回路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となり、変化点(エッジ位置)が判別できない。そこで、このような場合には、それよりも前の情報から変化点を推測して変化点(エッジ位置)が決定される。つまり、前の情報と同じと仮定して変化点(エッジ位置)が検出(推定)されることになる。
【0028】
ここで、隣接するどのビット間にクロックエッジがあるかによって遷移状態(例えばE0、E1、E2、E3)を規定した場合において、特定の遷移状態の間を遷移するときにポジティブビットスキップまたはネガティブビットスキップが発生する(例えば、E0からE3に遷移するときにポジティブビットスキップが発生し、E3からE0に遷移するときにネガティブビットスキップが発生する)。ポジティブビットスキップが発生するとき、1サイクルで3ビットのデータが選択され、ネガティブビットスキップが発生するとき、1サイクルで1ビットのデータが選択される。ポジティブビットスキップとネガティブビットスキップが発生しないとき、1サイクルで2ビットのデータが選択される。例えば、ジッタやノイズ等の影響により、ポジティブビットスキップまたはネガティブビットスキップとするか否かを判断する際にエラーが生じる場合がある。この判断のエラーによって、データビット列に過剰ビットや不足ビットが生じてしまう。
【0029】
<出力データ生成処理>
出力データ生成部30には、オーバーサンプリング部10でオーバーサンプリングされ且つエッジ選択回路20で復調された画像データのデータビット列が入力される。この画像データは、nサイクル(nは正の整数)のデータビット列を一単位として構成されたデータ列(nサイクルのデータビット列が連なったデータ列)である。
【0030】
出力データ生成部30は、nサイクルのデータビット列のうち隣接する2サイクルのデータビット列を互いにシフトしながら連結してn−1サイクルのシフト連結データビット列とし、当該n−1サイクルのシフト連結データビット列を出力するとともに、1サイクルはデータビット列を出力せず又は無効データビット列を出力する。ここで、2サイクルのデータビット列を連結するのは、S(スタート)ビットとE(エンド)ビットに挟まれた実データを判別するためであり、後段の処理においてSEビットを外すときに図8に示すような状態を生成するためである。つまり、データビット列を連結しないとSEビットがどこに存在するのか判別できないからである。
【0031】
出力データ生成部30は、11サイクルに亘る20ビットのデータビット列の入力を受けて、10サイクルに亘る22ビットのシフト連結データビット列を出力する。出力データ生成部30の出力データは、例えば、前段RAMより入力されるデータ、及び、当該入力データを1サイクル遅延したデータの40ビットの中から22ビットを選択することによって得られる。また、11サイクルで選択するビットアサインが変化するので、11個のパターンが生成されることになる。
【0032】
図5図7は、出力データ生成部30によるデータ入出力処理の一例を示す概念図である。図5図7に示すように、出力データ生成部30には、11サイクル(C0、C1、…、C9、C10)に亘る20ビットのデータビット列が入力される。出力データ生成部30は、入力した11サイクル(C0、C1、…、C9、C10)に亘る20ビットのデータビット列と、これを1サイクルだけシフト(遅延)したものとに基づく演算を実行する。以下、説明の便宜上の理由で、前者を「基本サイクルデータ」と呼び、後者を「遅延サイクルデータ」と呼ぶことがある。
【0033】
出力データ生成部30は、遅延サイクルデータの1サイクル目(C0)の全データビット列(20ビット)と、基本サイクルデータの2サイクル目(C1)の後半2ビットのデータビット列とを連結して、1サイクル目のシフト連結データビット列(C1、C0を連結した22ビット)を生成する。
【0034】
出力データ生成部30は、遅延サイクルデータの2サイクル目(C1)の前半18ビットのデータビット列と、基本サイクルデータの3サイクル目(C2)の後半4ビットのデータビット列とを連結して、2サイクル目のシフト連結データビット列(C2、C1を連結した22ビット)を生成する。
【0035】
出力データ生成部30は、遅延サイクルデータの3サイクル目(C2)の前半16ビットのデータビット列と、基本サイクルデータの4サイクル目(C3)の後半6ビットのデータビット列とを連結して、3サイクル目のシフト連結データビット列(C3、C2を連結した22ビット)を生成する。
【0036】
出力データ生成部30は、遅延サイクルデータの4サイクル目(C3)の前半14ビットのデータビット列と、基本サイクルデータの5サイクル目(C4)の後半8ビットのデータビット列とを連結して、4サイクル目のシフト連結データビット列(C4、C3を連結した22ビット)を生成する。
【0037】
出力データ生成部30は、遅延サイクルデータの5サイクル目(C4)の前半12ビットのデータビット列と、基本サイクルデータの6サイクル目(C5)の後半10ビットのデータビット列とを連結して、5サイクル目のシフト連結データビット列(C5、C4を連結した22ビット)を生成する。
【0038】
出力データ生成部30は、遅延サイクルデータの6サイクル目(C5)の前半10ビットのデータビット列と、基本サイクルデータの7サイクル目(C6)の後半12ビットのデータビット列とを連結して、6サイクル目のシフト連結データビット列(C6、C5を連結した22ビット)を生成する。
【0039】
出力データ生成部30は、遅延サイクルデータの7サイクル目(C6)の前半8ビットのデータビット列と、基本サイクルデータの8サイクル目(C6)の後半14ビットのデータビット列とを連結して、7サイクル目のシフト連結データビット列(C7、C6を連結した22ビット)を生成する。
【0040】
出力データ生成部30は、遅延サイクルデータの8サイクル目(C7)の前半6ビットのデータビット列と、基本サイクルデータの9サイクル目(C8)の後半16ビットのデータビット列とを連結して、8サイクル目のシフト連結データビット列(C8、C7を連結した22ビット)を生成する。
【0041】
出力データ生成部30は、遅延サイクルデータの9サイクル目(C8)の前半4ビットのデータビット列と、基本サイクルデータの10サイクル目(C9)の後半18ビットのデータビット列とを連結して、9サイクル目のシフト連結データビット列(C9、C8を連結した22ビット)を生成する。
【0042】
出力データ生成部30は、遅延サイクルデータの10サイクル目(C9)の前半2ビットのデータビット列と、基本サイクルデータの全データビット列(20ビット)とを連結して、10サイクル目のシフト連結データビット列(C10、C9を連結した22ビット)を生成する。
【0043】
出力データ生成部30は、11サイクル目では、シフト連結データビット列を出力せず又は無効データビット列を出力する。すなわち、シフト連結データビット列が後段でラッチされない。これにより、シフト連結データビット列の後段への出力がワードアライナ出力に追いつき(出力データ生成部30からの出力タイミングとデータ選択部(ワードアライン処理部)70の読み込みタイミングを合わせるために、1サイクル分のデータを出力しない期間が設けられている。読み込み側はSEを除いた20ビットのみが必要だからである)、10サイクルで11ワードを処理することが可能になる。
【0044】
このように、出力データ生成部30は、20ビットで11サイクルのデータ(計220ビット)の入力を受けて、22ビットで10サイクルのデータ(計220ビット)を出力し、11サイクル目ではデータの出力を停止する。なお、後段用データイネーブルは、シフト連結データビット列の出力が開始されるタイミングでオフ状態からオン状態になり、シフト連結データビット列の出力が終了されるタイミングでオン状態からオフ状態になる(図7参照)。
【0045】
データ保持部40は、出力データ生成部30が出力したシフト連結データビット列(その基であるオーバーサンプリング部10でオーバーサンプリングされ且つエッジ選択回路20で復調された画像データのデータビット列)を格納するものである。すなわち、データ保持部40は、データ取得のタイミングによってワードアラインの位置が特定不可能となることを防止して、データ取得のタイミングにかかわらず常時確実にワードアラインパターンを検出できるように、シフトレジスタに順次シフト連結データビット列(復調データビット列)を格納するのである。
【0046】
<コア回路部における動作:データ保持動作、AVコード検出動作、アライン信号出力動作、エラー検出動作、およびデータ選択動作>
(i)データ保持動作
図8および図9は、データ保持部40が保持するシフト連結データビット列(復調データビット列)の一例を示す概念図である。別言すると、図9は、出力データ生成部30から出力される22ビットのデータがデータ保持部40に保持されるシフトレジスタの模式図である。図8に示すように、本実施形態では、データ保持部40が、縦軸に32のデータ選択パターンを有している。図8および図9に示すように、本実施形態では、横軸に54ビットのビット幅を有している。各サイクルにおいて、図8あるは図9に示されるデータ選択パターンが生成され、その中から1つだけがワードアラインパターンとして選択される。そして、ワードアラインパターンを検出することにより、入力されるデータビット列からSEビットを外すことができるようになる。
【0047】
例えば、縦軸の32のデータ選択パターンのうち、21のデータ選択パターンが「定常状態」であり、10のデータ選択パターンが「フル状態」であり、1のデータ選択パターンが「エンプティ状態」であることができる。また、「定常状態」と「エンプティ状態」の合計22のデータ選択パターン(1サイクルが22ビットで構成されているため22パターン存在する)が、22のワードアラインパターンに対応することができる。
【0048】
「定常状態」とは、エラーが発生しておらず、エラー判定用の2ビットのデータ、スタートビットとエンドビットの2ビットのデータおよび画像データの20ビットのデータの合計24ビットのデータが含まれており、且つ、仮に10サイクル連続で「過剰エラー(10右シフト)」が発生してもアライメント可能な状態を意味している。データは連続して入力されてくるため、1つのワードアラインパターンが決まれば、定常状態である限り、ずっとそのワードアラインパターンを用いてデータアライン処理を実行することができる。
【0049】
「フル状態」とは、ワードアラインパターンを連続して10ビット右にシフトできない状態を意味している。この「フル状態」では、1サイクル停止期間時に22ビット左シフトを実施して、連続アライメントが可能な状態に移行する。図10の中段と下段は、1サイクル停止期間時に22ビット左シフトを実施することにより、データ選択パターンが1から23に遷移する例、及び、データ選択パターンが10から32に遷移する例を描いている。
【0050】
「エンプティ状態」とは、ワードアラインパターンを左にシフトできない状態、つまりデータ保持部40にアライメントを行うためのデータが無い状態を意味している。この「エンプティ状態」では、ワードアライナ部から後段部に出力するデータイネーブル信号をディセーブル(この期間をディセーブル期間という)するとともに、データ出力を1サイクル停止する。この期間時に、現在保持しているデータを21ビット右にシフトすると同時に、データ保持部40からの新規の22ビットのデータが保持される。2ワード分のデータ(44ビット)が保持されるため、アライメントが可能な状態となる。図10の上段は、1サイクル停止期間時の処理によって、データ選択パターンが32から11に遷移する例を描いている。
【0051】
例えば、横軸の54ビットのビット幅のうち、43ビットが「定常状態(になり得るエリア)」であり、10ビットが「フル状態」であり、1ビットが「エンプティ状態」であることができる。「定常状態」の43ビットの中に含まれる24ビットが、後述するエラー検出に用いられる「特定データビット列」を構成することができる。
【0052】
例えば、図8において、データ選択パターン1(一番下のパターン)のワードアラインパターンで動作しているときに、何らかのエラーが原因で過剰ビットが生成され、1つ上のパターンに示される位置にSEビットがずれてしまったときにはワードアラインパターンが1つ上のパターンに変換される。このように過剰ビットが生成されるたびにワードアラインパターンが変換される。しかし、エンプティ状態のときには、パターンをシフトすることができないため、処理を1回停止させる(ディセーブル期間とは別に強制的に停止する)ことにより、データビット列をシフトして再度データ選択パターン1(一番下のパターン)に戻し(図10上段)、適切にワードアラインパターンを検出することができるようにしている。また、フル状態の場合には、本来は定常状態であることが望ましいが、データビット列をシフトレジスタの右側にシフトできるので、エンプティ状態とは異なり、強制的に処理を停止させる必要はない。そこで、フル状態の場合、ディセーブル期間が到来したときに、シフト動作が実行される(図10中段および後段を参照)。
【0053】
ここで、データ保持部40のビット幅を54ビットとした理由は、次の通りである。20ビットのデータを22パターンでアラインするので、41ビットが必要となる。そして、データイネーブルが10ビット連続で1となり、その間アラインが同方向に変化する可能性があるので、10ビットが必要となる(連続右10ビットシフトに対応するため、10bビット分のレジスタを追加。パターン11でロックした状態で、過剰エラーが連続10サイクル続いた時に対応する。パターン11〜パターン1まで連続遷移可能))。また、20ビットのデータの他に、スタートビット、エンドビット及びエラー判定のためのビットの3ビットが必要となる。これらを合計すると54ビットになる。また、データイネーブル条件を満足してデータイネーブル入力が1であるときには、MSB(最上位ビット)から22ビットがラッチされる。
【0054】
(ii)AVコード検出動作
AVコード検出部50は、オーバーサンプリング部10でオーバーサンプリングされ且つエッジ選択回路20で復調された画像データのデータビット列のワードアラインパターンに応じたAVコード(同期コード)を検出する。
【0055】
AVコード検出部50は、データ保持部40が所定のビット幅(本実施形態では54ビット)で格納するシフト連結データビット列(復調データビット列)をシフトしながら、ワードアラインパターン(本実施形態では22パターン)と同期コードを比較することにより、ワードアラインパターンの中からAVコード(同期コード)を検出する。AVコードは、例えば、20ビットのデータと、MSB(最上位ビット)とLSB(最下位ビット)にそれぞれ付加されるスタートビットとエンドビットを含めた合計24ビットのデータから構成することができる。AVコード検出部50は、スタートビットとエンドビットで挟まれたAVコードを検出するために、AVコード検出パターン(例えば“24’h800ffe”)を検出して、22のワードアラインパターンのいずれで確定したかを示す検出信号を出力する。
【0056】
(iii)アライン選択信号出力動作
アライン選択信号出力部60は、AVコード検出部(同期コード検出部)50が検出したAVコード(同期コード)に対応するアライン選択信号(どのパターンが正解の(同期が取れた)ワードアラインパターンであるかを示す信号)を出力する。
【0057】
(iv)データ選択動作
データ選択部70は、AVコード検出部(同期コード検出部)50が検出したAVコード(同期コード)及びこれに基づきアライン選択信号出力部60から出力されたアライン選択信号に従って、データ保持部40が保持するデータの中から、ワードアライン処理に最適な1つのワードアラインパターンを選択してこれを抽出する。データ選択部70は、抽出したワードアラインパターン(AVコード)に従って、ワードアラインロック状態を設定し、このワードアラインロック状態で、シフト連結データビット列(復調データビット列)からスタートビットとエンドビットを外すワードアライン処理を実行する。スタートビットとエンドビットを外したワードアライン後のデータは、図示を省略した後段回路部(例:画像処理部)に出力されて、パターン検出、並びに同期コードの検出、選択及び置換等の各種の処理が施される。
【0058】
(v)エラー検出動作
エラー検出部80は、データ選択部(ワードアライン処理部)70によるワードアライン処理のエラー検出を実行する。すなわち、データビット列のオーバーサンプリングから復調に亘る一連の処理においては、送信デバイスと受信デバイスの間のジッタやノイズの影響により、誤ビット(ビットの誤過剰や誤不足)が発生するおそれがある。さらに、この誤ビットに起因して、データ選択部(ワードアライン処理部)70によるワードアライン処理にエラーが発生するおそれがある。エラー検出部80は、このようなジッタやノイズの影響による誤ビットひいてはワードアライン処理のエラーの発生を迅速に検出して、的確なワードアライン復帰処理を実行する役割を担う。
【0059】
エラー検出部80は、シフト連結データビット列(復調データビット列)のスタートビットとエンドビットの2ビットとこれに対応するエラー判定用ビットの2ビットを合わせた4ビットのデータに基づいて、データ選択部(ワードアライン処理部)70によるワードアライン処理のエラー検出を実行する。
【0060】
エラー検出部80は、上記4ビットのデータに基づいてワードアライン処理のエラーを検出していないときは、AVコード検出部(同期コード検出部)50がAVコード(同期コード)を検出したワードアラインロック状態を維持し、上記4ビットのデータに基づいてワードアライン処理のエラーを検出したときは、上記ワードアラインロック状態を解除する。
【0061】
エラー検出部80は、上記ワードアラインロック状態を解除した後に、引き続きワードアライン処理のエラーが検出されたときは、ワードアラインパターンの変更を行い(過剰、不足エラー時は、パターン変更。不定エラーの場合は、現状パターン維持)、上記ワードアラインロック状態を解除した後に、ワードアライン処理のエラーが検出されなくなったときは、ワードアラインパターンの変更を行うことなく、AVコード検出部(同期コード検出部)50がAVコード(同期コード)を検出したワードアラインロック状態に復帰する。具体的に、エラー検出から再ワードアラインロック状態までの動作を記すと、エラー検出→アラインロック解除→AVコード再検出→アラインロック→AVコードを再検出したワードアラインパターンデータを選択、となる。
【0062】
上記ワードアラインロック状態では、AVコード検出部(同期コード検出部)50は、ワードアラインパターンの変更を行うことなく、オーバーサンプリング部10を含んだ前段回路によって誤生成された誤同期コードの検出を防止することができる。つまり、ワードアラインロック状態では、たとえ同期コードがAVコード検出部(同期コード検出部)50に入力されてきたとしても、AVコード検出部(同期コード検出部)50は、これを誤同期コードであると見做して当該同期コードの検出を回避する(同期コード検出を実行しない)。同期コードの検出が行われないため、ワードアラインロック状態におけるワードアラインパターンは変更されずに維持される。
【0063】
上記ワードアラインロック解除状態では、AVコード検出部(同期コード検出部)50がAVコード(同期コード)の検出を行うことによってワードアラインパターンを確定させることができる。
【0064】
エラー検出部80は、シフト連結データビット列(復調データビット列)のうち、スタートビットとエンドビットを含む特定データビット列に、当該特定データビット列を挟む隣接データビット列のスタートビットとエンドビットを加えたものを基準として、データ選択部(ワードアライン処理部)70によるワードアライン処理のエラー検出を実行する。
【0065】
エラー検出部80は、シフト連結データビット列(復調データビット列)のうち、特定データビット列のスタートビットとエンドビットの2ビットと隣接データビット列のスタートビットとエンドビットの2ビットを合わせた4ビットのデータに基づいて、データ選択部(ワードアライン処理部)70によるワードアライン処理のエラー検出を実行する。
【0066】
エラー検出部80は、上述したデータ選択パターンのエラー検出を実行する。エラー検出部80は、エラーが発生していなければ、前サイクルと同ワードアラインパターンのデータを出力し、エラーが発生していれば、エラーに応じて、前サイクルデータからワードアラインパターンを変更して出力する。
【0067】
エラー検出部80は、上述した「定常状態」の検出を実行する。上述したように、「定常状態」は、エラーが発生しておらず、エラー判定用の2ビットのデータ、スタートビットとエンドビットの2ビットのデータおよび画像データの20ビットのデータの合計24ビットのデータが含まれており、且つ、仮に10サイクル連続で「過剰エラー(10右シフト)」が発生してもアライメント可能な状態を意味している。
【0068】
エラー検出部80には、シフト連結データビット列(復調後のデータビット列)が時々刻々と入力しており、各サイクル毎に、データ選択部70に入力される「エラー検出用4ビットデータ(スタートビットとエンドビットの2ビットとこれに対応するエラー判定用ビットの2ビットを合わせた4ビットのデータ)」の状態によって、エラーの有無が判定される。つまり、エラー検出部80は、前サイクルデータと現サイクルデータを比較してエラー判定を実行する。
【0069】
エラー検出部80は、前サイクルデータのビット数が現サイクルデータのビット数に対して過剰、不足、不定であるときは、エラー状態として、ワードアラインロック状態を解除した上で、AVコード検出部(同期コード検出部)50にAVコード(同期コード)を再検出させ、再検出されたAVコード(同期コード)に従ったワードアラインロック状態で、データ選択部(ワードアライン処理部)70にワードアライン処理を実行させる。
【0070】
図11Aは、エラー検出部80による定常状態を示す概念図である。リセット解除後、データのLSB(最下位ビット)とMSB(最上位ビット)の二箇所にあるスタートビット及びエンドビットと、AVコード(同期コード)の1サイクル目の値(例えば24‘h80_0FFE)を検出したパターンでワードアラインを行い、定常状態となる。定常状態では、エラー検出部80は、スタートビットとエンドビットのパターンが崩れていない(SEビットの位置に変動がなく、固定されている)ことを確認し続ける。この際、スタートビット及びエンドビットのパターンが崩れた時、後述するビット過剰かビット不足かビット不定が起こったこととなる(図11Bおよび図11C参照)。定常状態の場合、エラー検出部80は、他パターン(後続するパターン)では、同期コードの検出は行わず、定常状態のワードアラインパターンを維持し続ける。
【0071】
ここで、上述した「ビット過剰」と「ビット不足」の状態は、エッジ選択回路20によるエッジ選択の誤検出に起因して発生する。つまり、必要取得ビット数に対して「ビットの過剰取得」と「ビットの不足取得」が発生する。エッジ選択回路20の動作概要は上述した通りであり、誤検出の主な原因はジッタやノイズであり、前段の復調部で吸収できないレベルのジッタが発生した場合に、「ビット過剰」と「ビット不足」が起こるおそれがある。例えば、本来必要取得ビット数が2ビットであるのに対して、上述のポジティブスキップあるいはネガティブスキップによって3ビットまたは1ビットが取得されることで「ビット過剰」または「ビット不足」が発生する。このため、ワードアラインパターンの遷移においては、現行パターンに対して、1ビット左(過剰時)または1ビット右(不足時)にしかシフトしないことを想定している。
【0072】
図11Bは、エラー検出部80によるビット過剰状態を示す概念図である。ビットの過剰が起こったと確定される条件は、例えば、データ20ビットとスタートビット及びエンドビットの2組からなる4ビットを足した合計24ビットのパターンのMSB+1ビットから4ビットが{1,0,x1,x2}となる{x1,x2}!={1,0}(x1とx2の組み合わせが{1,0}ではないことを意味する)であることである。このx1およびx2の状態を見て、過剰なのか不足なのか判別することができるようになっている。
【0073】
図11Bに示すようなビット過剰状態になった場合、ワードアラインロック状態が解除される。このワードアラインロック解除状態では、各サイクルデータのエラー状態に応じたワードアラインパターンでデータ出力が継続され、同期コードが検出されるとワードアラインパターンが確定する。つまり、エラー検出時には、ワードアラインロック状態が解除されて同期コード検出状態に移行し、同期コードが検出されると、現行ワードアラインパターンから同期コードを検出したワードアラインパターンに変更され、ワードアラインロック状態とともに定常状態となる。なお、SEビットは{0,1}であるので、図11Bの場合、41と41にSEビット(0および1)がそれぞれシフトしたと判断することができる。
【0074】
図11Cは、エラー検出部80によるビット不足状態を示す概念図である。ビットの不足が起こったと確定される条件は、例えば、データ20ビットとスタートビット及びエンドビットの2組からなる4ビットを足した合計24ビットのパターンのMSB+1ビットから4ビットが{x1,x2,1,0}となる{x1,x2}!={1,0}であることである。図11Cに示すようなビット不足状態になった場合、ワードアラインロック状態が解除される。このワードアラインロック解除状態では、各サイクルデータのエラー状態に応じたワードアラインパターンでデータ出力が継続され、同期コードが検出されるとワードアラインパターンが確定する。つまり、エラー検出時には、ワードアラインロック状態が解除されて同期コード検出状態に移行し、同期コードが検出されると、現行ワードアラインパターンから同期コードを検出したワードアラインパターンに変更され、ワードアラインロック状態とともに定常状態となる。なお、図11Cの場合、40と39にSEビット(0および1)がそれぞれシフトしたと判断することができる。
【0075】
図11Dは、エラー検出部80によるビット不定状態を示す概念図である。ビット不定状態とは、定常状態かビット過剰状態かビット不足状態のいずれであるかが判断できない状態(どこにSEビットがあるのか判断できない状態)を意味している。ビット過剰状態かビット不足状態のいずれかが発生した場合、パターンのMSB+1ビットからの4ビットが{1,0,1,0}となる。ビット不定状態の場合は、エラー検出部80は、アライメントの変更は行わず、現行のワードアラインパターンを出力し続け(現行のワードアラインパターンを維持する)、同期コードを検出したワードアラインパターンに変更し、ワードアラインロック状態とともに定常状態にする。
【0076】
<データ処理内容>
図12は、本実施形態のデータ処理装置1によるデータ処理の一例を説明するためのフローチャートである。
ステップST1では、AVコード検出部(同期コード検出部)50が、AVコード(同期コード)を検出する。
【0077】
ステップST2では、データ選択部(ワードアライン処理部)70が、AVコード検出部(同期コード検出部)50が検出したAVコード(同期コード)に従ったワードアラインロック状態を設定する。
【0078】
ステップST3では、データ選択部(ワードアライン処理部)70が、ワードアラインパターンを確定させる。データ選択部(ワードアライン処理部)70は、例えば、図8のデータ選択パターン11〜32(22パターン)の中から1つのワードアラインパターンを確定させる。
【0079】
ステップST4では、定常状態(ワードアラインパターンが確定したため)となり、データ選択部(ワードアライン処理部)70が、シフト連結データビット列(復調データビット列)からスタートビットとエンドビットを外すワードアライン処理を実行する。
【0080】
ステップST5では、エラー検出部80が、データ選択部(ワードアライン処理部)70によるワードアライン処理にエラーが検出されたか否かを判定する。ビット過剰のエラーが検出された場合、処理はステップST6に進む。ビット不足のエラーが検出された場合、処理はステップST8に進む。ビット不定のエラーが検出された場合、処理はステップST10に進む。エラーが検出されなかった場合(定常状態が維持されている場合)はステップST4に戻る。
【0081】
ステップST6では、ビット過剰のエラーが発生しているため、ステップST7において、エラー検出部80は、ビット過剰処理を実行する。エラー検出部80によるビット過剰処理については後述する。
【0082】
ステップST8では、ビット不足のエラーが発生しているため、ステップST9において、エラー検出部80は、ビット不足処理を実行する。エラー検出部80によるビット不足処理については後述する。
【0083】
ステップST10では、ビット不定のエラーが発生しているため、ステップST11において、エラー検出部80は、ワードアラインパターンを維持する。すなわち、ビット不定のエラーが発生している場合、実際には、定常状態、ビット過剰状態、ビット不足状態のいずれであるのかが不明であるため、エラー検出部80は、暫定的に、ステップST3で確定したワードアラインパターンを維持する。
【0084】
ステップST12では、エラー検出部80は、ステップST2で設定したワードアラインロック状態を解除して、ステップST1の処理に戻る。すなわち、エラー検出部80は、ワードアラインロック状態を解除した上で、AVコード検出部(同期コード検出部)50にAVコード(同期コード)を再検出させ、再検出されたAVコード(同期コード)に従ったワードアラインロック状態で、データ選択部(ワードアライン処理部)70にワードアライン処理を実行させる。
【0085】
<ビット過剰処理>
図13は、エラー検出部80によるビット過剰処理を説明するためのフローチャートである。
【0086】
ステップST21では、エラー検出部80は、データエンプティであるか否か(データ保持部40のデータがワードアラインに対してエンプティな状態であるか否か)を判定する。データエンプティである場合、処理はステップST22に進む。データエンプティでない場合、処理はステップST24に進む。
ステップST22では、エラー検出部80は、図12のステップST3で確定したワードアラインパターンを21ビットだけ右にシフトする(図10参照)。
ステップST23では、エラー検出部80は、強制的に後段出力を1サイクル分だけ停止するとともに、データイネーブルを無効(ディセーブル)にする。
ステップST24では、エラー検出部80は、図12のステップST3で確定したワードアラインパターンを1ビットだけ左にシフトする。
【0087】
<ビット不足処理>
図14は、エラー検出部80によるビット不足処理を説明するためのフローチャートである。
【0088】
ステップST31では、エラー検出部80は、データフル状態であるか否か(データ保持部40のデータがワードアラインに対してフルな状態であるか否か)を判定する。データフル状態である場合、処理はステップST32に進む。データフル状態でない場合、処理はステップST34に進む。
【0089】
ステップST32では、エラー検出部80は、データイネーブルの入力が“0”であるか否かを判定する。データイネーブルの入力が“0”である場合、処理はステップST34に進む。データイネーブルの入力が“0”でない場合、処理はステップST33に進む。
【0090】
ステップST33では、エラー検出部80は、ディセーブル期間(図6参照)において、図12のステップST3で確定したワードアラインパターンを22ビットだけ左にシフトする(図10参照)。
【0091】
ステップST34では、エラー検出部80は、ディセーブル期間ではないため、図12のステップST3で確定したワードアラインパターンを1ビットだけ右にシフトする。なお、図5に示すように、基本動作は11サイクルで一連の処理を行うというものである。ここで、11サイクルは、10サイクル連続処理期間と1サイクルの休止期間とで構成される。よって、10サイクル連続フル状態処理(連続10ビット右シフト)可能なワードアラインパターン構成となっている。また、右シフトできなくなる状態(ワードアラインパターンの先頭が保持部40の最右端にある状態)になるまでにはディセーブル期間となるため、動作上の支障はない。
【0092】
<第1の実施形態のまとめ>
以上のように、本実施形態のデータ処理装置1は、データ選択部(ワードアライン処理部)70と、エラー検出部80とを有している。データ選択部(ワードアライン処理部)70は、AVコード(同期コード)に従ったワードアラインロック状態で、復調後のデータビット列からスタートビットとエンドビットを外す。エラー検出部80は、復調後のデータビット列のスタートビットとエンドビットの2ビットとこれに対応するエラー判定用ビットの2ビットを合わせた4ビットのデータに基づいて、ワードアライン処理のエラー検出を実行する。これにより、データビット列のオーバーサンプリングから復調に亘る一連の処理において、ジッタやノイズの影響を低減して、正しいデータ復号化処理(ワードアライン処理)を行い、データ品質の向上を図ることが可能になる。
【0093】
(2)第2の実施形態
従来のデータ復号化回路(ワードアライン回路)は、パケット化ビット分のワードアラインパターン検出回路が必要であるため、回路規模が著しく増大するという問題がある。例えば、スタートビットとエンドビットが各1ビットでこれらの間に挟まれた画像データが20ビットである場合、パケット化されたデータビット列が合計22ビットとなり、22個のワードアラインパターン検出回路が必要となってしまう。データ復号化回路(ワードアライン回路)の回路規模が増大すると、FPGAのユーザエリアを占有するため、小規模なFPGAの使用が困難になってしまう。
【0094】
第2の実施形態は、データ復号化処理(ワードアライン処理)を精度よく行い、データ品質の向上を図ることができるとともに、データ復号化回路(ワードアライン回路)の回路規模を抑制することができるデータ処理装置2を提供する。
【0095】
第2の実施形態によるデータ処理装置2は、第1の実施形態によるデータ処理装置1からエラー検出処理を除いた構成を採っている。例えば、第2の実施形態によるデータ処理装置2は、スタートビットおよびエンドビット(SEビット)を含む出力データから同期コードを検出し、ワードアラインされたデータ(SEビットが取り除かれたもの)を出力するものである。
第2の実施形態によれば、データ復号化回路(ワードアライン回路)の回路規模を抑制することができるようになる。
【0096】
<データ処理装置の構成例>
図15は、第2の実施形態によるデータ処理装置2の概略構成例を示す図である。図15に示すように、第1の実施形態によるデータ処理装置1と比較して、データ処理装置2は、データ処理装置1からエラー検出部80を除外した構成を採っている。したがって、図15において、オーバーサンプリング部10、エッジ選択回路(復調部)20、出力データ生成部30、AVコード検出部(同期コード検出部)50、およびデータ選択部(ワードアライン処理部)70の動作については第1の実施形態のデータ処理装置1と同様であるので、詳細な説明は省略する(第1の実施形態の説明を参照のこと)。
【0097】
データ処理装置2はエラー検出部を備えていない。このため、アライン選択信号出力部60’は、エラー検出の結果を反映させてアライン選択信号を生成するのではなく、同期コードの検出のみに基づいてアライン選択信号を生成し、出力するものである。
【0098】
また、データ処理装置2では、エラー検出を前提としていないため、データ保持部40’におけるデータ保持の構成および動作は第1の実施形態におけるデータ保持部40とは異なっている。つまり、第2の実施形態におけるデータ保持部40は、第1の実施形態と同様に、出力データ生成部30が出力したシフト連結データビット列(その基であるオーバーサンプリング部10でオーバーサンプリングされ且つエッジ選択回路20で復調された画像データのデータビット列)を格納するものであるが、シフト連結データビット列(復調データビット列)のワードアラインパターンに応じたビット幅を有している。第2の実施形態によるデータ保持部40’は、データ取得のタイミングによってワードアラインの位置が特定不可能となることを防止して、データ取得のタイミングにかかわらず常時確実にワードアラインパターンを検出できるように、所定のビット幅以上のシフトレジスタに順次シフト連結データビット列(復調データビット列)を格納するのである。ただし、後述のように、データ保持部40’は、第1の実施形態のデータ保持部40とは異なる長さのビット幅(シフトレジスタとして)を有している。
【0099】
<シフト連結データビット列の例>
図16は、データ保持部40’が保持するシフト連結データビット列の一例を示す概念図である。図8に示すように、本実施形態では、データ保持部40’が、22のワードアラインパターンに応じた45ビットのビット幅を有している。すなわち、1サイクルのデータビット列からスタートビットとエンドビットを外すためには、22のワードアラインパターンの中から最適な1つを選択する必要があり、データ保持部40はそのためのデータを格納しているのである。
【0100】
ここで、データ保持部40’のビット幅である45ビットは、1ワードのデータフォーマットを画像データ(10ビット)+スタート/エンドビット(2ビット)の合計12ビットとしたときに、以下の式で算出される。
[{データ幅+(スタート/エンドビット)}×2]+(パターン数−1)
=[{10+2}×2]+(22−1)=[{12}×2]+(21)=45
【0101】
第1の実施形態では、10サイクル連続でエラー(ビット過剰や不足)が出現しても耐えうるように10ビットの余裕を持たせて54ビットとしている(図8)が、第2の実施形態ではエラー検出を前提としていないため、上述のように、データ保持部40’のビット幅を45ビットとしている。
【0102】
AVコード検出部50は、オーバーサンプリング部10でオーバーサンプリングされ且つエッジ選択回路20で復調された画像データのデータビット列のワードアラインパターンに応じたAVコード(同期コード)を検出する。
【0103】
AVコード検出部50は、データ保持部40’が所定のビット幅(本実施形態では45ビット)で格納するシフト連結データビット列をシフトしながら、ワードアラインパターン(本実施形態では22パターン)と同期コードを比較することにより、ワードアラインパターンの中からAVコード(同期コード)を検出する。
【0104】
より具体的に、AVコード検出部50は、データ保持部40’の45ビットのビット幅の範囲内で、スタートビットとエンドビットを含む22ビットの特定シフト連結データビット列に、この特定シフト連結データビット列を挟む隣接シフト連結データビット列のスタートビットとエンドビットの2ビットを加えた24ビットのデータを一単位として、これを1ビットずつシフトしながら、AVコードを検出する。
【0105】
図9A図9Bは、AVコード検出部50によるAVコード検出パターンの一例を示す概念図である。AVコードは、例えば、20ビットのデータと、MSB(最上位ビット)とLSB(最下位ビット)にそれぞれ付加されるスタートビットとエンドビットを含めた合計24ビットのデータから構成することができる。AVコード検出部50は、スタートビットとエンドビットで挟まれたAVコードを検出するために、AVコード検出パターン(例えば“24’h800ffe”)を検出して、22のワードアラインパターンのいずれで確定したかを示す検出信号を出力する。
アライン選択信号出力部60’は、AVコード検出部(同期コード検出部)50が検出したAVコード(同期コード)に対応するアライン選択信号を出力する。
【0106】
データ選択部70は、AVコード検出部(同期コード検出部)50が検出したAVコード(同期コード)及びこれに基づきアライン選択信号出力部60’から出力されたアライン選択信号に従って、データ保持部40が保持するデータの中から、ワードアライン処理に最適な1つのワードアラインパターンを選択してこれを抽出する。データ選択部70は、抽出したワードアラインパターン(AVコード)に従って、シフト連結データビット列からスタートビットとエンドビットを外すワードアライン処理を実行する。スタートビットとエンドビットを外したワードアライン後のデータは、図示を省略した同期補償回路に出力されて、パターン検出、並びに同期コードの検出、選択及び置換等の各種の処理が施される。
【0107】
図10は、データ保持部40’が保持するシフト連結データビット列、AVコード検出部50によるAVコード検出パターン、並びに、データ選択部70によるワードアラインパターン(AVコード)の選択及び抽出の一例を示す概念図である。図10に示すように、1サイクル目のシフト連結データビット列においてD0〜D10の11画素のアライメントの検出を開始し、10サイクル目のシフト連結データビット列までにD0〜D10の11画素のアライメントの検出が完了する。そして、11サイクル目のシフト連結データビット列では、データイネーブル(前段)がディセーブルであるため、データラッチを行わない(1回休む)。以上の11サイクルが終了すると、D11〜D21の11画素のアライメントの検出が開始される。
【0108】
<第2の実施形態のまとめ>
以上のように、本実施形態のデータ処理装置2は、出力データ生成部30と、データ保持部40’と、AVコード検出部(同期コード検出部)50と、データ選択部(ワードアライン処理部)70とを有している。出力データ生成部30は、nサイクル(nは正の整数)のデータビット列が入力するとともに、nサイクルのデータビット列のうち隣接する2サイクルのデータビット列を互いにシフトしながら連結してn−1サイクルのシフト連結データビット列とし、n−1サイクルのシフト連結データビット列を出力するとともに、1サイクルはデータビット列を出力せず又は無効データビット列を出力する。データ保持部40’は、シフト連結データビット列のワードアラインパターンに応じたビット幅を有するとともに、シフト連結データビット列を格納する。AVコード検出部(同期コード検出部)50は、データ保持部40’がビット幅で格納するシフト連結データビット列をシフトしながら、ワードアラインパターンと同期コードを比較することにより、ワードアラインパターンの中からAVコード(同期コード)を検出する。データ選択部(ワードアライン処理部)70は、同期コードに従って、シフト連結データビット列からスタートビットとエンドビットを外すワードアライン処理を実行する。これにより、ワードアラインパターンを検出するために、パケット化ビット分のワードアラインパターン検出回路が不要となるので、データ復号化回路(ワードアライン回路)の回路規模を抑制(激減)することができる。
【0109】
(3)本開示の特定事項のまとめ
(i)特定事項1
データビット列が入力するとともに、前記データビット列の各データビットをオーバーサンプリングして出力するオーバーサンプリング部と、
オーバーサンプリング後のデータビット列の各データビットの一部分を選択することにより、オーバーサンプリング後のデータビット列を復調する復調部と、
少なくとも前記データビット列のワードアラインパターンに応じたビット幅を有し、前記データビット列を格納するデータ保持部と、
前記データ保持部において前記データビット列をシフトさせながら、前記ワードアラインパターンと同期コードとを比較することにより、前記ワードアラインパターンの中から前記同期コードを検出する同期コード検出部と、
前記同期コードに従ったワードアラインロック状態で、前記データビット列からスタートビットとエンドビットを外すワードアライン処理部と、
を備える、データ処理装置。
【0110】
(ii)特定事項2
特定事項1において、さらに、
nサイクル(nは正の整数)の前記復調されたデータビット列を取得し、前記nサイクルの復調されたデータビット列のうち隣接する2サイクルのデータビット列を互いにシフトしながら連結してn−1サイクルのデータビット列とし、前記n−1サイクルのデータビット列を出力するとともに、1サイクルはデータビット列を出力せず又は無効データビット列を前記データ保持部に出力する、出力データ生成部を備える、データ処理装置。
【0111】
(iii)特定事項3
特定事項1または2において、さらに、
前記データビット列 のスタートビットとエンドビットとこれに対応するエラー判定用ビットに基づいて、前記ワードアライン処理のエラー検出を実行するエラー検出部を備える、データ処理装置。
【0112】
(iv)特定事項4
特定事項3において、
前記エラー検出部は、前記エラー判定用ビットに基づいて前記ワードアライン処理のエラーを検出していないときは、前記同期コード検出部が前記同期コードを検出したワードアラインロック状態を維持し、前記エラー判定用ビットに基づいて前記ワードアライン処理のエラーを検出したときは、前記ワードアラインロック状態を解除する、データ処理装置。
【0113】
(v)特定事項5
特定事項4において、
前記エラー検出部は、
(1)前記ワードアラインロック状態を解除した後に、引き続き前記ワードアライン処理のエラーが検出されたときは、前記ワードアラインパターンの変更を行い、
(2)前記ワードアラインロック状態を解除した後に、前記ワードアライン処理のエラーが検出されなくなったときは、前記ワードアラインパターンの変更を行うことなく、前記同期コード検出部が前記同期コードを検出したワードアラインロック状態に復帰する、データ処理装置。
【0114】
(vi)特定事項6
特定事項4または5において、
前記同期コード検出部は、前記ワードアラインロック状態において、入力されてきた前記同期コードの検出を回避し、前記ワードアラインロック状態での前記ワードアラインパターンを維持する、データ処理装置。
【0115】
(vii)特定事項7
特定事項4から6のいずれか1つにおいて
前記同期コード検出部は、前記ワードアラインロック解除状態において、前記同期コードの検出を行うことによって、前記ワードアラインパターンを確定させる、データ処理装置。
【0116】
(viii)特定事項8
特定事項1から7のいずれか1項において、
前記エラー検出部は、前記スタートビットと前記エンドビットを含む特定データビット列に、前記特定データビット列を挟む隣接データビット列のスタートビットとエンドビットを加えたものを基準として、前記ワードアライン処理のエラー検出を実行する、データ処理装置。
【0117】
(ix)特定事項9
特定事項8において、
前記エラー検出部は、前記特定データビット列のスタートビットおよびエンドビットと、前記隣接データビット列のスタートビットおよびエンドビットとを合わせたデータに基づいて、前記ワードアライン処理のエラー検出を実行する、データ処理装置。
【0118】
(x)特定事項10
nサイクル(nは正の整数)のデータビット列が入力するとともに、前記nサイクルのデータビット列のうち隣接する2サイクルのデータビット列を互いにシフトしながら連結してn−1サイクルのシフト連結データビット列とし、前記n−1サイクルのシフト連結データビット列を出力するとともに、1サイクルはデータビット列を出力せず又は無効データビット列を出力する、出力データ生成部と、
前記シフト連結データビット列のワードアラインパターンに応じたビット幅を有するとともに、前記シフト連結データビット列を格納するデータ保持部と、
前記データ保持部が前記ビット幅で格納する前記シフト連結データビット列をシフトしながら、前記ワードアラインパターンと同期コードを比較することにより、前記ワードアラインパターンの中から前記同期コードを検出する同期コード検出部と、
前記同期コードに従って、前記シフト連結データビット列からスタートビットとエンドビットを外すワードアライン処理部と、
を備える、データ処理装置。
【0119】
(xi)特定事項11
特定事項10において、
前記出力データ生成部は、11サイクルに亘る20ビットのデータビット列の入力を受けて、10サイクルに亘る22ビットのシフト連結データビット列を出力する、データ処理装置。
(xii)特定事項12
特定事項11において、
前記データ保持部は、22のワードアラインパターンに応じた45ビットのビット幅を有する、データ処理装置。
【0120】
(xiii)特定事項13
特定事項12において
前記同期コード検出部は、前記データ保持部の45ビットのビット幅の範囲内で、スタートビットとエンドビットを含む22ビットの特定シフト連結データビット列に、この特定シフト連結データビット列を挟む隣接シフト連結データビット列のスタートビットとエンドビットの2ビットを加えた24ビットのデータを一単位として、これを1ビットずつシフトしながら、前記同期コードを検出する、データ処理装置。
【0121】
(xiv)特定事項14
データビット列が入力するとともに、前記データビット列の各データビットをオーバーサンプリングして出力するオーバーサンプリング部と、
オーバーサンプリング後のデータビット列の各データビットの一部分を選択することにより、オーバーサンプリング後のデータビット列を復調する復調部と、
復調後のデータビット列のワードアラインパターンに応じた同期コードを検出する同期コード検出部と、
前記同期コードに従ったワードアラインロック状態で、復調後のデータビット列からスタートビットとエンドビットを外すワードアライン処理部と、
前記復調後のデータビット列のスタートビットとエンドビットの2ビットとこれに対応するエラー判定用ビットの2ビットを合わせた4ビットのデータに基づいて、前記ワードアライン処理のエラー検出を実行するエラー検出部と、
を有することを特徴とするデータ処理装置。
【0122】
(xv)特定事項15
特定事項14において、
前記エラー検出部は、前記4ビットのデータに基づいて前記ワードアライン処理のエラーを検出していないときは、前記同期コード検出部が前記同期コードを検出したワードアラインロック状態を維持し、前記4ビットのデータに基づいて前記ワードアライン処理のエラーを検出したときは、前記ワードアラインロック状態を解除する、データ処理装置。
【符号の説明】
【0123】
1 データ処理装置
10 オーバーサンプリング部
20 エッジ選択回路(復調部)
30 出力データ生成部(RAM I/F部、データイネーブル生成部)
40、40’ データ保持部(コア回路部)
50 AVコード検出部(同期コード検出部、コア回路部)
60、60’ アライン選択信号出力部(コア回路部)
70 データ選択部(ワードアライン処理部、コア回路部)
80 エラー検出部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11A
図11B
図11C
図11D
図12
図13
図14
図15
図16
図17A
図17B
図18A
図18B