(57)【要約】【課題】画素データをメモリから取出す方法及び装置【解決手段】インタレース走査によって表示装置に表示するデータを用意するグラフィックスコントローラが提供される。グラフィックスコントローラはメモリ及びビデオデータの受信に適合させたラインバッファを備え、ラインバッファと通信するデータ配列回路を有する。データ配列回路は受信したビデオデータを偶数セグメントと対応する奇数セグメントとしてメモリに格納するために受信データを処理し、偶数セグメントは偶数フィールドの線からのデータに関連付けられ、奇数セグメントは奇数フィールドの線からのデータに関連付けられ、一対の偶数セグメント及び奇数セグメントが１画素のデータを定義する。メモリへの１回のメモリアクセスで偶数セグメント及び対応する奇数セグメントを検索する１つのパイプバッファを有する。【選択図】　　　図２
2004029783.tif 000002
【特許請求の範囲】
【請求項１】
インタレース走査で表示装置に表示するデータを用意するグラフィックスコントローラで、
メモリと、
ビデオデータを受信するラインバッファと、
前記ラインバッファと通信すると共に、受信されたビデオデータを偶数セグメントは偶数フィールドの線のデータに関連付け、奇数セグメントは奇数フィールドの線のデータに関連付け、偶数セグメントと対応する奇数セグメントが少なくとも１画素分のデータを定義する偶数セグメントと対応する奇数セグメントとして受信データをメモリに格納可能に処理する配列回路と、
前記偶数セグメントと対応する奇数セグメントを前記メモリへの１回のメモリアクセスで検索する１つのパイプバッファと、
からなることを特徴とするグラフィックスコントローラ。
【請求項２】
前記データ配列回路はラインバッファカウンタ及びラインカウンタを備え、前記ラインバッファカウンタは前記ラインバッファが線１つ全体のデータを受信することをモニタし、前記ラインカウンタはフレームの線数を数えることを特徴とする請求項１に記載のグラッフィクスコントローラ。
【請求項３】
メモリへの書込みが許可されるかを判断するために、前記ラインカウンタがラインカウンタコンパレータに信号を出力することを特徴とする請求項２に記載のグラフィックスコントローラ。
【請求項４】
前記ラインバッファカウンタがラインバッファカウンタコンパレータに信号を出力し、前記ラインバッファカウンタコンパレータは１本の線全体を受信すると前記ラインバッファカウンタをリセットする共に、前記ラインカウンタを増分させる信号を出力することを特徴とする請求項２に記載のグラフィックスコントローラ。
【請求項５】
前記ラインバッファがフレームの最初の線で埋められている間、前記データ配列回路がメモリへの書込みを防止することを特徴とする請求項１に記載のグラフィックスコントローラ。
【請求項６】
前記ラインバッファが複数の記憶回路を有するシフトレジスタであることを特徴とする請求項１に記載のグラフィックスコントローラ。
【請求項７】
前記複数の記憶回路がクロックドラッチであることを特徴とする請求項６に記載のグラフィックスコントローラ。
【請求項８】
前記ラインバッファに含まれるクロックドラッチの数は、インタレースビデオデータの線１本分を格納するのに充分な数であることを特徴とする請求項７に記載のグラフィックスコントローラ。
【請求項９】
１本のパイプバッファからの出力を受信するように構成されたフリッカーフィルタをさらに備えることを特徴とする請求項１に記載のグラフィックスコントローラ。
【請求項１０】
表示画面にインタレース画像の表示を可能にする装置で、中央演算装置（ＣＰＵ）と、
バスと、
前記バスを介して前記ＣＰＵと通信し、画像データを受信するグラフィックスコントローラとを有し、当該コントローラは、
メモリと、
画像データの偶数セグメント及びそれに対応する奇数セグメントが、少なくともデータの１画素を定義する偶数セグメント及びそれに対応する奇数セグメントとしてメモリに格納可能に画像データを処理するデータ配列回路と、
メモリへの１回のメモリアクセスで前記偶数セグメント及びそれに対応する奇数セグメントを検索する１本のパイプバッファとからなることを特徴とする装置。
【請求項１１】
ラインバッファがフレームの最初の線で埋められている間は、前記データ配列回路が前記メモリへの書込みを防止することを特徴とする請求項１０に記載の装置。
【請求項１２】
前記データ配列回路がさらに、第１コンパレータと通信するラインバッファカウンタと、第２コンパレータと通信するラインカウンタとを備えることを特徴とする請求項１０に記載の装置。
【請求項１３】
前記第１コンパレータが、前記ラインバッファカウンタへのリセット信号と共に前記ラインカウンタへの増分信号を送信することを特徴とする請求項１２に記載の装置。
【請求項１４】
前記第２コンパレータがＡＮＤゲートに信号を送ると共に当該ＡＮＤゲートへの信号がメモリへの書込みを許可するかどうかを決めることを特徴とする請求項１２に記載の装置。
【請求項１５】
前記グラフィックスコントローラがさらにラインバッファを備えることを特徴とする請求項１０に記載の装置。
【請求項１６】
前記ラインバッファがシフトレジスタであることを特徴とする請求項１５に記載の装置。
【請求項１７】
前記ラインバッファが複数のフリップフロップ回路を備え、この複数のフリップフロップ回路がインタレースビデオのデータの線１本を格納するのに充分であることを特徴とする請求項１５に記載の装置。
【請求項１８】
前記グラフィックスコントローラがさらにフリッカーフィルタを備え、このフリッカーフィルタが偶数セグメント及びそれに対応する奇数セグメントを平均してフリッカーを軽減することを特徴とする請求項９に記載の装置。
【請求項１９】
インタレース走査に対応する表示画面に画像データを表示する方法で、
交互する偶数セグメント及び奇数セグメントの各対が１画素を定義する交互する偶数セグメント及び奇数セグメントの画像データとしてメモリに格納されるステップと、
前記偶数セグメントと奇数セグメントの対のデータが、１回のメモリアクセスで検索されるステップと、
前記偶数セグメント及び奇数セグメントで定義された画素をインタレース走査に対応する表示画面に表示するために送信するステップと、
からなることを特徴とする方法。
【請求項２０】
前記表示画面がテレビ画面であることを特徴とする請求項１９に記載の方法。
【請求項２１】
前記画像データを交互の偶数セグメント及び奇数セグメントとして格納する方法操作がさらに、
ラインバッファが受信する画像データの線数を追跡するステップと
データを受信している前記ラインバッファが線１本分のデータを受信するまでメモリへの書込みを遅らせるステップとからなることを特徴とする請求項１９に記載の方法。
【請求項２２】
偶数セグメント及び奇数セグメントで定義される画素のフリッカーを軽減するステップをさらに有することを特徴とする請求項１９に記載の方法。
【請求項２３】
前記偶数セグメント及び奇数セグメントで定義される画素のフリッカーを軽減する方法操作がさらに、画像データの隣接する偶数セグメント及び奇数セグメントを平均するステップを含むことを特徴とする請求項２２に記載の方法。
【請求項２４】
前記表示画面がテレビである請求項１９に記載の方法。
【請求項２５】
フレームが偶数フィールド及び奇数フィールドからなるインタレース画像を格納する方法で、
ビデオソースから画像データを受信するステップと、
前記画像データを、互いに隣接する偶数線及び奇数線とそれぞれ対応する偶数セグメント及び奇数セグメントの一対としてメモリに格納するステップとを有し、
前記関連付けられた偶数セグメント及び奇数セグメントは１つの画素を定義することを特徴とする方法。
【請求項２６】
さらに、前記受信された画像データのフレームの線を数えるステップと、
前記フレームの最初の線をいつ受信したかを判断するステップと、
１回のメモリアクセスで少なくとも１画素分のデータを取出すステップと、
その少なくとも１画素分のデータをフリッカーフィルタに提供するステップとを有することを特徴とする請求項２５に記載の方法。
【請求項２７】
偶数及び奇数セグメントの対として前記画像データを格納する処理が、フレームの線の１本が完全にラインバッファに受信されたことに反応して開始されることを特徴とする請求項２６に記載の方法。
【請求項２８】
前記フリッカーフィルタが、画像データの隣接する偶数セグメント及び奇数セグメントを平均することを特徴とする請求項２６に記載の方法。
【請求項２９】
前記フレームの最初の線がいつ受信されたかを判断する処理が、さらにフレームの最初の線が受信されている間はフレームの２番目の線が受信されるまでメモリへの書込みを遅らせることを特徴とする請求項２６に記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は一般的に画像表示システムに関し、より具体的にはインタレース走査によって表示画面に表示する画像データを格納し取出す方法及び装置に関する。
【０００２】
【従来の技術】
テレビは家庭における娯楽の中心になっている。またテレビの機能も常に増え続けている。最近、コンピュータとテレビとの境界がはっきりしなくなるにつれ、テレビはコンピュータの特性をより備えるようになり、逆にコンピュータもテレビの特性をより備えるようになってきている。加えてテレビはアナログ処理からデジタル処理に移行しつつある。両デバイスが互いに近似するにつれ、そのシステムに対する要求は増加してきている。このようにより多くのデータがシステムによって処理され、システムメモリへの要求も増加してくると、画像が損なわれるのを防ぐためにより高い帯域が必要となる。さらにテレビ装置における表示品質及び解像度は常に向上しており、これがさらなる処理要求をシステムに課している。
【０００３】
テレビの表示画面上に提示される画像は、明るい帯域と暗い帯域に分離されることなく、全体に均一な明るさを確保するためにインタレース走査が用いられる。すなわち、各静止画は、交互に配置された２つの走査によって構成される。例えば偶数番目の線が走査され、その後に奇数番目の線が走査されることで１フレーム分のデータを定義する偶数番・奇数番のすべての線が完全に走査される。
【０００４】
隣接する走査線で色が急変すると、テレビ画面で表示した際にフリッカーが発生する。すなわち全国テレビジョン方式委員会（ＮＴＳＣ）のモニタ画面の場合、より輝度の高い画素又は水平方向の画素群が、その上下でより輝度の低い画素と隣接するとフリッカーを発生する。フリッカーは人の目に良くないと同時に表示品質を悪くする。テレビの場合は、帯域幅の問題から、フレーム繰返し率を２分の１に減らして、一垂直走査毎に半分の線を走査するインタレース走査が採用されている。従って、各フレームは、２回の垂直走査により、偶数番目と奇数番目の線が交互のフィールドに分けて走査される。
【０００５】
図１は画像データをテレビのメモリに格納するシステムの概略図である。画像データは、データと相互に作用するソフトウェアが使い易いように偶数線と奇数線が交互にメモリ１００に格納される。奇数線のデータと偶数線のデータには、それぞれ別々のメモリアクセスが必要となる。つまり偶数線のデータを取出して偶数バッファ１０２に入れるために１回のメモリアクセスを行ない、奇数線のデータを取出して奇数バッファ１０４に入れるためにもう一回メモリアクセスが行なわれる。その後、偶数線及び奇数線はフリッカーフィルタ１０６により平均化され、最終的に１つの線として表示装置１０８に出力される。このように、表示データの１画素を出力するためには、偶数線と奇数線のデータを２つのバッファ各々から取得し平均するという、２回のメモリアクセスが必要となる。
【０００６】
他のデバイスもメモリを使用する場合、バッファからの複数回の取出しは、メモリの負担を大きくする。そうなるとデータ要求についていくためには、メモリは高帯域幅が必要となる。メモリがデータの要求に対応できなくなると、その結果、表示装置上に損なわれた画面である不可解な表示、つまり破損画像が生成される。さらにテレビ装置において視聴者が利用できる機能がさらに強化され、同時にテレビメーカーが高品位テレビを採用するようになるとメモリへの要求はさらに大きなものになる。従って、このような要求に対応するためには、画像破損を避けるためのメモリ容量の増加や電力消費の増加というように対応コストが発生することになる。
【０００７】
【特許文献１】
米国特許第６，０６７，１２０号明細書
【特許文献２】
米国特許第６，０８１，３０３号明細書
【０００８】
【発明が解決しようとする課題】
従って画像の品質を維持しながらメモリの負担を軽減し、インタレース走査によって表示を出力するシステム用の装置及び方法を提供するためには、従来技術の問題を解決する必要がある。
【０００９】
【課題を解決するための手段】
概して本発明は、メモリにデータを格納しそこから取出す方法及びその方法を実行するグラフィックスコントローラを提供することによって上記の用件を満たすものである。本発明はプロセスとして、システムとして、あるいはデバイスとして、といったように様々な方法で実施することができる。以下に本発明の創意に富んだ実施例をいくつか説明する。
【００１０】
１つの実施例では、インタレース走査により表示装置に提示されるデータを用意するグラフィックスコントローラが提供される。グラフィックスコントローラは、メモリ及びビデオデータの受信に適合するラインバッファを有する。ラインバッファと通信するデータ配列回路も有する。データ配列回路は、受信データを偶数セグメント及び対応する奇数セグメントとしてメモリに格納するために受信ビデオデータを処理するように構成される。偶数セグメントは偶数フィールドの線のデータに関連付けされ、奇数セグメントは奇数フィールドの線のデータに関連付けされる。偶数セグメント及び対応する奇数セグメントは１画素分のデータを定義する。メモリに１回アクセスすることで、偶数セグメント及び対応する奇数セグメントを検索するように構成されたパイプバッファを１つ有する。
【００１１】
別の実施例では、表示装置上でインタレース画像の表示を可能にする装置が提供される。同装置は、中央演算装置（ＣＰＵ）及びバスを有する。画像データを受信するように構成されたグラフィックスコントローラも有する。グラフィックスコントローラはバス経由でＣＰＵと通信する。グラフィックスコントローラはメモリ及び画像データを処理するデータ配列回路を備えており、これにより画像データは偶数セグメント及び対応する奇数セグメントとしてメモリに格納される。ここで偶数セグメント及び対応する奇数セグメントで１画素分のデータが定義される。メモリに１回アクセスすることで偶数セグメント及び対応する奇数セグメントを検索するように構成されたパイプバッファを１つ有する。
【００１２】
また別の実施例では、インタレース走査に対応するよう構成された表示画面に画像データを表示する方法が提供される。この方法は画像データを交互に偶数セグメント及び奇数セグメントとしてメモリに格納することから開始される。交互する偶数・奇数セグメントの各ペアで、少なくとも１つの画素が定義される。次に偶数セグメント及び奇数セグメントがともにメモリへの１回のアクセスで検索される。その後その偶数セグメント及び奇数セグメントで定義された画素はインタレース走査に対応するよう構成された表示画面に送信され表示される。
【００１３】
さらに別の実施例では、フレームの偶数フィールド及び奇数フィールドからのインタレース画像データを格納する方法が提供される。この方法はビデオソースから画像データを受信することから始まる。次に画像データは偶数セグメント及び奇数セグメントのペアとしてメモリに格納される。偶数セグメントは偶数線に対応し、奇数セグメントは奇数線に対応する。偶数線と奇数線は互いに隣接しており、その関連付けされた偶数及び奇数セグメントで少なくとも１つの画素が定義される。
【００１４】
本発明の他の特徴及び利点は以下の詳細な説明及びそれに伴い本発明の原理を例示する添付図面で明らかにされる。
【００１５】
【発明の実施の形態】
インタレース走査で提示される画像データにおいて、画像データを効率的に格納し、メモリの負担を増やすことなく画像データを迅速に取出すことを可能にする装置及び方法に関する発明が説明される。以下の説明から本発明は以下の具体的な内容の一部あるいはすべてがなくても実施することができることは当業者であれば明らかであろう。また本発明を不必要に不明確にしないよう、公知の処理操作は詳しく説明していない。
【００１６】
本発明の実施例はインタレース走査によって画像を表示するように構成されたシステムに、画素データをメモリから取出す装置及び方法を提供するものである。受信されたビデオデータは、インタレース走査用１フレーム分のデータとして交互する偶数線及び奇数線のセグメントとして格納される。１実施例においては、ある偶数線の１６ビットのセグメントと対応する奇数線の１６ビットのセグメントがペアとしてメモリに格納される。この偶数線及び奇数線は、１フレームのデータにおいて隣接する線である。受信されたビデオデータを交互に偶数セグメント及び奇数セグメントとして格納することによって、表示パイプによる１回のメモリアクセスで１画素分のデータを取出すことができる。すなわち本発明の１実施例においては、３２ビットのバスを経由して１回のメモリアクセスをすることにより、１６ビットの偶数セグメント及び１６ビットの奇数セグメントを取得する。その結果表示パイプのメモリに対する負担は相当軽減される。
【００１７】
図２はインタレース走査により表示装置に提示されるデータを用意するように構成された本発明の１実施例におけるグラフィックスコントローラの概略図である。中央演算装置（ＣＰＵ）１１２は、バス１１４経由でグラフィックスコントローラ１１６と通信する。ビデオソース１３０は、グラフィックスコントローラ１１６が処理し表示装置１２８に表示されるビデオ画像データを供給する。１実施例では、ＣＰＵ１１２の指示に従い、ビデオ画像が外部ソースからグラフィックスコントローラ１１６に供給される。別の実施例では、ビデオ画像が有線テレビあるいは衛星のソースなどからライブで直接グラフィックスコントローラ１１６に供給される。グラフィックスコントローラ１１６は、３２ビットバス経由でランダムアクセスメモリ（ＲＡＭ）１２２と通信する１つのラインバッファ１１８を備えている。ＲＡＭ１２２をバッファ１１８に接続するバスは、３２ビットのバスサイズに限定されるものではなく、適切であればどのようなバスサイズでも良い。データ配列回路１２０はバッファ１１８と通信する。データ配列回路は以下により詳しく説明される通りビデオデータを処理し、データを交互に偶数セグメントそして奇数セグメントとしてＲＡＭ１２２に格納できるよう構成されている。１実施例では、偶数セグメント及び奇数セグメントが各々１６ビットのセグメントで、組み合わせたセグメントサイズが３２ビットとなる。偶数セグメントは偶数線に対応し、奇数セグメントは奇数線に対応する。ここで偶数セグメントと奇数セグメントの各ペアは、各々隣接する偶数線及び奇数線に対応する。従って偶数セグメント及び奇数セグメントの各ペアは１画素分のデータを定義する。ビデオ画像データを１６ビットの偶数と奇数の交互するデータ量として格納することによって、１つのパイプバッファ１２４が１回のメモリアクセスで１画素分のデータを取出すことが可能になる。つまり３２ビットの取出し１回で偶数及び奇数の画素データが取得される。１つのパイプバッファ１２４が取出した偶数及び奇数の画素データはフリッカーフィルタ１２６に転送される。公知のように、フリッカーフィルタ１２６は、表示線間のコントラストを滑らかにするために、隣接する線のデータを平均することによってインタレース走査によるフリッカーを軽減する。引き続いてフリッカーフィルタのデータはテレビ（ＴＶ）の表示画面などのインタレース走査により画像を表示する表示画面に表示されるために表示装置１２８に出力される。
【００１８】
図２において、ＣＰＵ１１２は、ビデオソース１３０からビデオデータをバス１１４経由でグラッフィクスコントローラ１１６に送信する命令するコードを備えたデジタルシグナルプロセッサ（ＤＳＰ）であっても良いことは当業者であれば理解しよう。さらにＣＰＵ１１２は、内蔵システムの１つの要素であっても良い。１実施例では、バッファ１１８は、線１本分の偶数データ又は奇数データを保持するサイズになっている。バッファ１１８は、受信するビデオ画像データを格納し、そのデータをＲＡＭ１２２に転送するためにラッチ、フリップフロップなどの適当な記憶回路を備えている。データ配列回路は、受信したビデオデータをバッファ１１８に移し、適切な偶数セグメント及び奇数セグメントをＲＡＭ１２２に転送するために論理ゲート、カウンタ、コンパレータ、レジスタなどの回路を備えている。１実施例では、バッファ１１８は、ビデオソース１３０から受信するビデオデータの線を１つ格納するのに適した複数のクロックドラッチあるいはフリップフロップからなるシフトレジスタである。ビデオソース１３０から受信されるビデオデータはインタレースの形で入る。すなわち受信ビデオデータは、隣接する偶数線及び奇数線で送信される。
【００１９】
図３は図２におけるグラフィックスコントローラで、ビデオ画像データが、格納されたテレビ（ＴＶ）コンテンツから供給される場合の概略図である。格納されたＴＶコンテンツ１３２は、デジタルテレビあるいは高品位テレビに関連した適当なＴＶコンテンツであれば何でも良い。例えば格納されたＴＶコンテンツは、デジタルビデオレコーダに関連するようなハードドライブに格納されたデータでも良い。図２と同様に、ＣＰＵ１１２は、格納されたＴＶコンテンツ１３２をグラフィックスコントローラ１１６に送り込む。グラフィックスコントローラ１１６は、格納されたＴＶデータを図２で説明したように処理する。すなわち、ＴＶデータを交互する偶数セグメント及び奇数セグメントのペアとしてＲＡＭ１２２に格納することによって、１つのパイプバッファ１２４が１回の取出しで１画素分のデータを取得することができる。従来は３２ビット画素のデータを出力するためには２回の取出しが必要であったのに対し、このように３２ビットの画素データを出力するためにＲＡＭ１２２へのメモリアクセスは１回しか必要としないので、１つのパイプバッファ１２４のＲＡＭ１２２への負担は約５０％軽減される。
【００２０】
図４Ａは、受信したビデオ画像を本発明の１実施例におけるグラッフィックスコントローラのメモリに交互に偶数セグメント及び奇数セグメントとして格納した場合の概略図である。ＣＰＵ１１２は、３２ビットのバス経由でビデオ画像データをグラフィックスコントローラ１１６に送り込む。インタレースのビデオ画像データはラインバッファ１１８に入力される。図中示されるように、ラインバッファ１１８は、フリップフロップ１１９などの１列の記憶回路を備えるシフトレジスタで、デジタルデータが順に右へシフトすることを可能にする。１実施例では、ラインバッファ１１８におけるフリップフロップ１１９の数は、表示装置１２８用の線１本分のデータを保持するに適した数である。ラインバッファ１１８の適切なサイズは色々である。例えば表示装置１２８が表示する各水平走査線１本に４８０の画素を有するテレビ画面の場合は、ラインバッファ１１８は４８０の画素（線１本分）を保持できるだけのフリップフロップ１１９を備えることになる。上述の通り、データ配列回路１２０は、バッファ１１８で受信するビデオデータを、交互に偶数セグメント及び奇数セグメントとしてＲＡＭ１２２に格納するためのハード的にコード化された命令を備えている。データ配列回路１２０については図４Ｂでさらに詳しく説明する。１実施例では、一旦受信ビデオデータの線１本分が完全にラインバッファ１１８に入ると、最初の偶数セグメントは最初の奇数セグメントとともにラインバッファ１１８からＲＡＭ１２２にシフトされる。この偶数セグメント及び奇数セグメントは、インタレースデータの隣接する線に対応している。この作業は受信ビデオデータの各線に対し繰り返される。
【００２１】
さらに図４Ａにおいて、ＲＡＭ１２２は交互する偶数セグメント及び奇数セグメントの１６ビットデータとしてそのデータを格納していることを示している。１実施例として、交互する１６ビットの偶数セグメントと奇数セグメントの各ペアが１画素を定義している。すなわち偶数の１６ビットデータ１２２Ａとこれに対応する奇数の１６ビットデータ１２２Ｂで１つの画素を定義している。図中ＲＡＭ１２２に格納されるデータは、偶数データの後に奇数データが続くように示されているが、各画素を定義するパターンが知られている限りＲＡＭ１２２におけるデータの順は重要でないことは当業者であれば理解できよう。図４Ａでは偶数データが偶数線を表し、対応する奇数データは隣接する奇数線を表しているが、１画素のデータを定義するものであれば別のパターンで格納してもよい。例えば、２本の線ではなく３本の隣接する線のセグメントの平均が使用される場合は、交互する偶数及び奇数のセグメントは１０ビットのセグメントとなる。すなわちＲＡＭ１２２には、交互する偶数セグメント及び奇数セグメントからなる３つのデータが格納される。この場合、３２ビットの取出しを１回行なうと、１画素のデータ取出しに２ビットの無効データが含まれることになる。偶数データ及び奇数データの交互するセグメントを格納するパターンは、バッファ１１８が少なくともある一定のサイズであることを必要とすることは当業者には明らかであろう。例示的な目的から、図４Ａは交互の偶数及び奇数セグメントを論理的な配列で表示している。ＲＡＭ１２２におけるデータの物理的配列は論理的配列と異なり得ることは当業者に明らかであろう。
【００２２】
図４Ｂは、交互の偶数セグメント及び奇数セグメントをメモリに格納するように構成された本発明の１実施例におけるグラッフィックスコントローラのデータ配列回路の要素を示す概略図である。ＣＰＵデータ１１７は、ラインバッファ１１８で受信される。データ配列回路１２０は、ＣＰＵデータが偶数セグメント及び奇数セグメントとしてメモリに格納できるようにＣＰＵデータ１１７を処理する。ＣＰＵデータ１１７がグラフィックスコントローラに受信されながらデータはラインバッファ１１８に配列される。１実施例では、ラインバッファ１１８はシフトレジスタである。シフトレジスタにシフトイネーブル信号が通信されると、さらにデータが入るとデータをシフトするようにシフトレジスタが指示を受ける。１実施例では、シフトイネーブル信号がラインバッファ１１８の各ラッチあるいはフリップフロップに送信される。従って、シフトイネーブル信号がハイでアクティブの場合、シフトイネーブルがクロックサイクルにおいてハイの場合は、すべてのラッチあるいはフリップフロップがシフトされる。しかしシフトイネーブル信号がローの場合はクロックサイクル中には何も起こらない。
【００２３】
ＣＰＵの制御信号はデコード論理で翻訳される。デコード論理は当然ＣＰＵの種類に依存する。デコード論理とは、例えばＲＡＭ１２２のようなメモリにデータを書き込んだり読み出したしたりするためのアドレスを提供するものである。例えばワード線及びビット線のアドレスをデコード論理により提供することができる。１実施例では、制御信号に書込み信号、バイトイネーブル信号、チップセレクト（ＣＳ）信号及びバッファイネーブル信号が含まれる。１実施例において、デコード論理はグラッフィクスコントローラのＲＡＭ１２２インタフェースに所在していることは当業者には明らかであろう。
【００２４】
図４Ｂにおけるラインバッファカウンタ１５０は、ラインバッファ１１８の受信したデータを数える。すなわち新しいデータがラインバッファ１１８にシフトする毎にラインバッファカウンタ１５０が増分する。上述の通り、インタレース走査の場合、１フレームのデータは複数の偶数線及び奇数線からなる。線長は例えばラインバッファ長レジスタ（ＲｅｇＬｉｎｅＢｕｆｆｅｒＬｅｎｇｔｈ）１５８などのレジスタに記憶される。ラインバッファカウンタ１５０は、データをコンパレータ１５４に出力する。コンパレータ１５４は、ラインバッファカウンタ１５０からのデータをＲｅｇＬｉｎｅＢｕｆｆｅｒＬｅｎｇｔｈ　１５８からの線長と比較して、ラインバッファ１１８が１本の線で一杯になったかどうかを判断する。一旦ラインバッファ１１８が１本分の線データで一杯になると、コンパレータ１５４はラインバッファカウンタ１５０にリセット信号を出力し、ラインバッファカウンタは、ラインバッファから次のデータを受信すると、次の線データとしてそのデータのカウントを始める。
【００２５】
さらに図４Ｂにおいて、ラインバッファカウンタ１５０に加えコンパレータ１５４からラインカウンタ１５２にも信号が出力される。ラインカウンタ１５２はフレームの線数を数え、ラインバッファ１１８がフレームの最初の線で埋められている最中にメモリ１２２への書込みを防ぐ。コンパレータ１５６は、ラインカウンタ１５２からの出力を比較してラインカウンタがゼロであるか、すなわちラインバッファ１１８が最初の線を受信しているかを判断する。このようにラインカウンタ１５２がゼロの場合、ラインバッファ１１８にフレームの最初の線が埋められている最中はメモリへの書込みは許可されない。１実施例では、ＡＮＤゲート１６２がチップセレクト（ＣＳ）信号をローで出力しメモリへの書込みを防止している。ラインカウンタ１５２が増分すると、つまりラインバッファ１１８に１線分のデータが埋まり終わると、メモリへの書込みが許可される。すなわち一旦ラインカウンタ１５２がゼロから増分するとコンパレータ１５６からの出力はハイになり、ＡＮＤゲート１６２への入力がハイとなることでＡＮＤゲート１６２の出力もハイとなる。その後ＣＰＵの各書込みでは、ＣＰＵからのデータ及びラインバッファ１１８からのデータがメモリに書き込まれる。言うまでもなく、交互の偶数セグメント及び奇数セグメントといったＣＰＵからのデータ及びラインバッファ１１８からの書込みデータの機構は、データのフリッカーをフィルタリングする方法に依存する。データのフリッカーをフィルタリングする代表的な方法については図８Ａ−８Ｃで検討する。上記説明では信号がハイでアクティブであるが、信号がローでアクティブとなるように回路を設計することもできることは当業者には明らかであろう。ここで１実施例において、データの奇数セグメント及び偶数セグメントがメモリ１２２に書き込まれ交互するペアとして格納されているのは、図８Ａ及び８Ｂに示すフリッカーをフィルタする機構に対応するためである。
【００２６】
図５は、本発明の１実施例において、データを交互の偶数セグメント及び奇数セグメントとしてメモリに書き込む処理を示す概略図である。ＣＰＵデータ１３４はラインバッファ１１８に書き込まれる。上述のように、ラインバッファ１１８はシフトレジスタの役割を果たす。すなわちＥ０ないしＥｎで表される最初の線データの各偶数セグメントがラインバッファ１１８に受信されると、ラインバッファ内の各セグメントは位置を１つ分だけ右にシフトする。１実施例では、ラインバッファ１１８が画像データのインタレース走査線の１本分に対応するセグメント数を保持できるサイズになっている。１実施例では、Ｅ０１３４ａの中身がメモリ１２２に書き込まれるようになっている。対応する奇数セグメントのデータＯ０は、メモリ１２２内でＥ０１３４ａとペアになる。Ｅ０１３４ａがラインバッファ１１８の外にシフトされると、Ｅ１１３６ａが位置を１つ分右にシフトするということを当業者は理解するであろう。次にＥ１１３６ａがメモリ１２２に書き込まれる。同様に偶数セグメントＥ１１３６ａに対応する奇数セグメントＯ１１３６ｂがメモリ１２２に書き込まれる。この処理はインタレース画像の偶数線及び奇数線で表される各画素が、偶数データ及び奇数データの交互するセグメントとしてメモリ１２２に配列されるまで続けられる。ここでデータ配列回路は偶数セグメント及び奇数セグメントを交互にペアとしてメモリに配列することを可能にしており、各ペアはインタレース走査の隣接する線からのデータを表している。図６Ｂでさらに詳しく説明するが、２本以上の隣接する線のデータを交互のセグメントとして、各セグメントの組み合わせが画像画面に表示される１画素分のデータとなるようにメモリに配列することができる。
【００２７】
図６Ａは本発明の１実施例により、データを偶数及び奇数データの交互するセグメントとしてメモリに書き込む処理を示した図である。例示的に、Ａ１〜Ａ４は偶数線のセグメントを表し、Ｂ１〜Ｂ４は奇数線のセグメントを表すとする。放映データや格納されたテレビコンテンツなどのビデオソースから、偶数線の各セグメントがバッファ１１８ａに配列される。セグメントＡ１がメモリ１２２に書き込まれ、奇数セグメントＢ１がラインバッファ１１８ｂのように配列されるように、残りのセグメント（Ａ２−Ａ４）は右にシフトする。そして奇数セグメントＢ１もメモリに書き込まれる。ここでセグメントＡ１及びセグメントＢ１は１回の３２ビットの書込み、すなわち１回のメモリアクセスでメモリ１２２に書き込まれる。さらに奇数セグメントＢ１は対応する偶数セグメントＡ１と対になる。ここでセグメントＡ１及びＢ１はインタレース走査の隣接する線からのセグメントである。次に偶数セグメントＡ２がメモリ１２２に書き込まれ、奇数セグメントＢ２がラインバッファ１１８ｃのように配列されるように、残りのセグメント（Ａ３、Ａ４、Ｂ１）は右にシフトする。そして奇数セグメントＢ２もメモリに書き込まれる。この処理は、偶数線の各セグメントＡ１〜Ａ４と対応する奇数線のセグメントＢ１〜Ｂ４がメモリ１２２内で関連付けられるまで上述の如く継続される。この処理はインタレース走査のフレームを構成する偶数線及び奇数線に対し繰り返される。ここでラインバッファ１１８ａ、１１８ｂ及び１１８ｃは、図５のラインバッファ１１８がそれぞれ異なる時間帯で異なるセグメントをラインバッファ１１８に格納している状態を示している。
【００２８】
図６Ｂは、本発明の１実施例である、３本の連続する線からのセグメントがメモリに格納された状態を示した図である。この場合、セグメントＡ１〜Ａ４及びＢ１〜Ｂ４がラインバッファ１１８ａに受信される。セグメントＡ１はメモリ１２２内でセグメントＢ１及びＣ１と組合わされ、セグメントＡ１，Ｂ１及びＣ１で定義される３つが１画素分のデータを定義する。より具体的には、ラインバッファ１１８ａ　は、セグメントＣ１を受信すると、ラインバッファ１１８ｂに示すようにシフトする。そしてセグメントＡ２及びＢ２がメモリ１２２に書込まれる。次にセグメントＣ２を受信すると、ラインバッファ１１８ｃに示すように、セグメントＣ２は、Ａ２及びＢ２といっしょに配置される。ここでセグメントＡ１、セグメントＢ１及びセグメントＣ１は１回の３２ビットの書込み、すなわち１回のメモリアクセスでメモリ１２２に書き込まれる。３本の連続走査線から対応するデータセグメントの交互の３つのデータセットを作成する処理は、インタレース走査のフレームを構成する線に対し繰り返される。１実施例では、セグメントＡ１，Ｂ１及びＣ１が各々１０ビットのサイズで、合計３０ビットのビットサイズとなっている。従ってメモリ１２２から３２ビットの取出しを１回行なうと、その内２ビットは有効なデータではないので、この無効データは無視される。上述の通りラインバッファ１１８ａ、１１８ｂ及び１１８ｃは図５のラインバッファ１１８がそれぞれ異なる時間帯において異なるセグメントをラインバッファ１１８に格納した状態を示している。すなわちラインバッファ１１８ａ、１１８ｂ及び１１８ｃは、ラインバッファ１１８がデータを受信する間の異なった構成のスナップショットである。さらに、図６Ａ及び図６Ｂで説明した実施例は、２本あるいは３本より多い連続する線からセグメントを処理するために適応できる。ラインバッファ１１８のサイズはセグメントがメモリに格納されるパターン、すなわち２つか、３つか、等々によって異なるということを当業者は理解するであろう。
【００２９】
図７Ａは本発明の１実施例により、１画素分のデータを取得するための１回のメモリアクセスの実行を示した概略図である。ここで偶数セグメント及び対応する奇数セグメントは図４、図５、図６Ａで説明した通り、メモリ１２２に格納され、それにより表示パイプ１２４が１回のメモリアクセスで１画素分のデータを取出すことが可能になる。つまり表示パイプ１２４とメモリ１２２との間の３２ビットバスを介して、１回のメモリアクセスで１画素分のデータを取出す。すなわち、偶数セグメント及び奇数セグメントのデータを交互にメモリに格納することによって、複数回のメモリアクセスではなく１回のメモリアクセスで１画素分のデータの取出しが可能になる。表示パイプ１２４は、フリッカーフィルタ１２６と通信している。フリッカーフィルタ１２６は、インタレース走査画像に係わるフリッカーを最小限にするために、対応する偶数セグメント及び奇数セグメントを平均するものであることは当業者であれば理解するであろう。フィルタを通過した画素データはその後表示画面１２８に表示される。１実施例では、表示画面１２８は、例えばテレビ画面など、インタレース走査を表示するよう構成されている。
【００３０】
図７Ｂは、図７Ａの１本の表示パイプに対し、フリッカーフィルタに２本の表示パイプが供給された場合の構成である。ここでも１回のメモリアクセスで１画素分のデータを取出している。しかし、１回のメモリアクセスによって偶数セグメントは表示パイプ１２４ａに誘導され、奇数セグメントは表示パイプ１２４ｂに誘導される。対応する偶数セグメント及び奇数セグメントは、１６ビットのバスを経由してフリッカーフィルタ１２６に入力される。フリッカーフィルタ１２６は、図７Ａで説明した通り、データを平均化する。平均化されたデータは続いて表示画面１２８で表示される。ここで１回の取出しで１画素分のデータが取得できるので、メモリ１２２に対する表示パイプ１２４の負担が軽減される。
【００３１】
図８Ａは、本発明の１実施例において、インタレース走査によって表示される画像データに対してフリッカーをフィルタリングする方法を示した概略図である。フリッカーをフィルタリングするとは、インタレース走査の隣接線間のコントラストが原因となるフリッカーを軽減するものであることは当業者であれば理解するであろう。偶数フィールドの線（フィールド０）は線０から始まり、線の各ペアを平均化する。例えば、線０と線１が平均されて偶数フィールドの最初の線が生成され、次に線２と線３が平均されて偶数フィールドの２番目の線が生成され、・・・以下同様である。奇数フィールドの線（フィールド１）は線１から始まり、線の各対を平均化する。例えば、線１と線２が平均され奇数フィールドの最初の線が生成され、次に線３と４が平均され奇数フィールドの２番目の線が生成され、・・・以下同様である。このようにフィールド０における最初の表示線は線０の情報を含んでいるが、フィールド１における最初の表示線は線０の情報を含んでいない。本発明の１実施例では、図４Ｂにおけるデータ配列回路が上記説明のフリッカーをフィルタする方法に対応するよう構成されている。
【００３２】
図８Ｂは、本発明の１実施例における、インタレース走査によって表示される画像に対するフリッカーをフィルタリングする別のアルゴリズムを示した概略図である。この場合、フリッカーをフィルタリングする方法は同量の情報を含む偶数フィールドと奇数フィールドから線を生成する。具体的には偶数フィールドは奇数フィールドとともにフレームの線０から始まり、各ペアとなる線を平均化する。例えば線ゼロと線１が平均され偶数フィールド及び奇数フィールドの最初の線を定義する。同様に線２と線３が平均され偶数フィールド及び奇数フィールドの２番目の線を定義する。以下同様である。従って偶数フィールド及び奇数フィールド双方における最初の表示線は同量の情報を含むことになる。フィルタリングされた偶数線とフィルタリングされた奇数線を同一にすることにより、インタレース方式で表示されるフリッカーの無い画像が表示画面向けに生成される。
【００３３】
図８Ｃは、本発明の１実施例において、インタレース方式で表示するコンピュータ生成画像の偶数フィールド線及び奇数フィールド線のフリッカーをフィルタリングするさらに別の方法を示す概略図である。この場合、偶数線及び奇数線を生成するために複数線の重み付け平均が使用される。例えば、最初の偶数フィールド線は線０と線１の重み付き平均である。すなわち線ゼロのデータを２倍にして線１のデータに加え、合計を３で割って最初の偶数フィールド線を得る。図で示される通り２番目の偶数フィールド線は線２を２回数えて線１、２及び３の重み付き平均を計算している。奇数フィールド線も同様に計算されるが、最初の奇数フィールド線は最初の線３本の重み付き平均を取る。以下同様である。結果として得られるフィルタされた偶数フィールド線及び奇数フィールド線の組み合わせで表示されたインタレース画像は、複数線の重み付き平均により際立った変化及びコントラストが和らげられる。フリッカーフィルタリングのアルゴリズムは多種あり、本発明は図８Ａ−８Ｃについて説明したフリッカーフィルタリングのアルゴリズムに限定されるものではない。各々異なるフリッカーフィルタリングのアルゴリズムは異なる方法で画素データを平均化するが、偶数セグメントと奇数セグメントを交互にメモリに格納することによって、フリッカーフィルタへのデータの供給が１回のメモリアクセスで可能になる。
【００３４】
図９は、本発明の１実施例において、インタレース走査に対応する表示画面に画像データを表示するための操作方法を示すフローチャートである。この方法は操作１４０から始まり、メモリ内の画像データが、交互する偶数セグメント及び奇数セグメントとして格納される。ここでは各偶数セグメントと奇数セグメントのペアが画素を定義している。例えば、偶数セグメントと奇数セグメントがともに１６ビットセグメントであれば、図４及び図５で説明した通り、偶数セグメントと奇数セグメントのペアは３２ビットの画素を定義することになる。１実施例では、データ配列回路によって交互する偶数セグメント及び奇数セグメントのペアをグラフィックスコントローラのメモリに格納することが可能になっている。図９における方法の操作を実行するのに適したグラッフィックスコントローラは図２及び図３で説明した。次に操作１４２に進み、データの偶数セグメント及び奇数セグメントがともに１回のメモリアクセスで検索される。すなわち図７Ａ及び図７Ｂについて言えば、１つあるいは複数の表示パイプから、１回の取出しで偶数セグメント及び奇数セグメントのデータが取得される。ここで偶数セグメントのデータ及び奇数セグメントのデータは各々互いに隣接する偶数線及び奇数線に対応するものである。より具体的には、データをフィルタリングしてフリッカーを最小限にする又は実質的に除去するために、偶数セグメント及び奇数セグメントは同様に互いに隣接する画像データに対応している。
【００３５】
図９の方法は次に操作１４４に進み、１回のメモリアクセスで検索した偶数セグメント及び奇数セグメントのペアで定義される画素が送信されインタレース走査に対応する表示画面で表示される。１実施例では、偶数セグメント及び奇数セグメントのペアが、表示のために送信される前にフリッカーのフィルタリングがされる。加えて、フリッカーフィルタリングの機構は、図８Ａ−８Ｃで説明した通り、フレームの複数線の対応セグメントの平均を含むこともできる。同様に画素は２本より多い隣接線からのデータで定義することもできる。例えば前述のように、３本の連続する線からのセグメントを使用して画素を定義することもできる。図２−図４Ａ及び図５は、メモリに格納された画像データの交互する一対あるいは３つを論理的に表したものである。
【００３６】
【発明の効果】
要約すると、上記の実施例は１画素のデータを定義する偶数セグメント及び奇数セグメントを１回のメモリアクセスで取出し、インタレース走査として表示することを可能にする。セグメントを交互に格納することにより偶数セグメント及び奇数セグメントがともにフリッカーフィルタに供給され平均化されるようにデータを取り込むことができる。
【００３７】
上述の発明は表示画面に画像を表示するためにインタレース走査を使用する表示システムであればどのようなものにおいても実施できる。上記実施例に留意しつつ、本発明はコンピュータシステムに格納されたデータにかかわる各種のコンピュータに実行される操作を使用することができることを理解することが必要である。これらの操作は物理的な量を物理的に処理する必要のあるものである。必須ではないが通常これらの量は格納、転送、組み合わせ、比較、及びその他処理可能な電気あるいは磁気信号の形を取る。さらに実施される処理はしばしば作成、識別、判断、あるいは比較といった用語で引き合いにされる。
【００３８】
本発明はコンピュータの読み取り可能な媒体上におけるコンピュータの読み取り可能なコードとして実施することもできる。コンピュータの読み取り可能媒体とは後でコンピュータシステムが読み取りできるデータを記憶することのできるデータ記憶媒体であれば何でも良い。コンピュータが読み取りできる媒体の例としてはハードドライブ、ネットワーク上の記憶装置（ＮＡＳ＝ｎｅｔｗｏｒｋ　ａｔｔａｃｈｅｄｓｔｏｒａｇｅ）、読み出し専用メモリ、ランダムアクセスメモリ、ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷ，磁気テープ、及びその他光学的、非光学的データ記憶装置が含まれる。コンピュータが読み取りできる媒体はネットワークで連結されたコンピュータシステムに分散されることも可能で、この場合はコンピュータが読み取りできるコードは分散された形で格納され実施される。
【００３９】
上述の発明は明快に理解できるようかなり詳細に説明されているが、添付クレームの範囲内でいくらかの変更及び修正を実施できることは上述の説明からも明らかであろう。従って本実施例は例示的とみなされ、限定するものではない。本発明は本明細書内に述べられた内容に限定されるものではなく、添付クレームの範囲内及び同等のものにおいて修正することができる。
【図面の簡単な説明】
【図１】画像データをメモリに格納する従来のシステム。
【図２】本発明の１つの実施例によるグラフィックスコントローラの概略図。
【図３】図２のグラフィックスコントローラに、ビデオ画像データが供給された場合の概略図。
【図４】Ａ　受信したビデオ画像をグラッフィックスコントローラのメモリに交互に偶数セグメント、奇数セグメントとして格納した場合の概略図。
Ｂ　グラッフィックスコントローラのデータ配列回路の要素を示す概略図。
【図５】データを偶数セグメント、奇数セグメントとしてメモリに書き込む処理を示す概略図。
【図６】Ａ　データを偶数・奇数データの交互するセグメントとしてメモリに書き込む処理を示す図。
Ｂ　３本の連続する線のセグメントがメモリに格納された状態を示す図。
【図７】Ａ　１画素分のデータ１回のメモリアクセスで実行する場合の概略図。
Ｂ　フリッカーフィルタに２本の表示パイプが供給された場合の概略図。
【図８】Ａ　画像データがインタレース走査によって提示されるようにフリッカーをフィルタする方法を示す概略図。
Ｂ　別のフリッカーフィルタ用アルゴリズムを示す概略図。
Ｃ　インタレースの形で提示するコンピュータ生成画像の偶数、奇数フィールド線のフリッカーをフィルタする別の方法を示す概略図。
【図９】インタレース走査に対応する構成の表示画面に画像データを提示するための操作方法を示すフローチャート。
【符号の説明】
１００　メモリ
１０２　偶数バッファ
１０４　奇数バッファ
１０６、１２６　フリッカーフィルタ
１０８、１２８　表示装置
１１２　ＣＰＵ
１１４　バス
１１６　グラフィックスコントローラ
１１７　ＣＰＵデータ
１１８　ラインバッファ
１１９　フリップフロップ
１２０　データ配列回路
１２２　ＲＡＭ
１２４　パイプバッファ
１３０　ビデオソース
１３２　ＴＶコンテンツ
１５０　ラインバッファカウンタ
１５２　ラインカウンタ
１５４、１５６　コンパレータ
１５８　ラインバッファ長レジスタ
１６２　ＡＮＤゲート
【図１】
2004029783.tif 000003
【図２】
2004029783.tif 000004
【図３】
2004029783.tif 000005
【図４】
2004029783.tif 000006
【図５】
2004029783.tif 000007
【図６】
2004029783.tif 000008
【図７】
2004029783.tif 000009
【図８】
2004029783.tif 000010
【図９】
2004029783.tif 000011