(57)【要約】【課題】キャラクタを画面上に表示する際、キャラクタの外側部分に背景を付加して表示することを可能にする。【解決手段】キャラクタ出力装置は、水平方向および垂直方向に配列された複数のドットのドットデータで構成される、キャラクタのパターンを示すキャラクタデータを記憶するキャラクタメモリ３０と、キャラクタメモリ３０からキャラクタデータのドットデータを１水平ライン分ずつ読み出すキャラクタメモリコントローラ６０と、読み出された１水平ライン分のドットデータを含むドットデータ列が格納され、格納されたドットデータを１ドット分ずつ順に出力するシフトレジスタ８１とを有する。キャラクタメモリコントローラ６０は、シフトレジスタ８１の先頭から所定ドット数分の領域に背景ドットデータを格納し、シフトレジスタ８１の先頭から所定ドット数分だけずらした領域に上記読み出された１水平ライン分のドットデータを格納する。【選択図】図１
2009151492.tif 000002
【特許請求の範囲】
【請求項１】
映像に重畳されるキャラクタを出力するキャラクタ出力装置であって、
水平方向および垂直方向に配列された複数のドットのドットデータで構成される、キャラクタのパターンを示すキャラクタデータを記憶するキャラクタメモリと、
前記キャラクタメモリから前記キャラクタデータのドットデータを１水平ライン分ずつ読み出すキャラクタメモリコントローラと、
前記読み出された１水平ライン分のドットデータを含むドットデータ列が格納され、当該格納されたドットデータを１ドット分ずつ順に出力するシフトレジスタと、
を有し、
前記キャラクタメモリコントローラは、前記シフトレジスタの先頭から所定ドット数分の領域に背景ドットを示すドットデータ（以下、「背景ドットデータ」と称す）を格納し、前記シフトレジスタの先頭から前記所定ドット数分だけずらした領域に前記読み出された１水平ライン分のドットデータを格納する、
ことを特徴とするキャラクタ出力装置。
【請求項２】
請求項１に記載のキャラクタ出力装置であって、
前記キャラクタメモリコントローラは、
前記キャラクタの水平方向の表示間隔を示す水平表示間隔データと、前記キャラクタの水平方向のサイズを示すキャラクタサイズデータとを受け付け、
前記水平表示間隔データにより示される表示間隔から前記キャラクタサイズデータにより示されるサイズを引いて２で割った値を前記所定ドット数として求め、
前記シフトレジスタの先頭から前記所定ドット数分の領域に背景ドットデータを格納し、前記シフトレジスタの先頭から前記所定ドット数分だけずらした領域に前記１水平ライン分のドットデータを格納し、前記１水平ライン分のドットデータの格納領域に続く前記所定ドット数分の領域に背景ドットデータを格納する、
ことを特徴とするキャラクタ出力装置。
【請求項３】
請求項１または２に記載のキャラクタ出力装置であって、
前記キャラクタメモリコントローラは、
開始値がカウント値の初期値として設定され、前記映像の水平同期信号が入力されるたびにカウント値を１インクリメントするカウンタと、
終了値が格納されるレジスタと、
を含み、
前記カウンタのカウント値が前記開始値から前記レジスタに格納された終了値まで計数される間、
前記カウント値が前記キャラクタデータの最上端ラインに対応する値から前記キャラクタデータの最下端ラインに対応する値までの範囲内にある場合、前記キャラクタメモリから前記キャラクタデータのうち前記カウント値に対応する１水平ライン分のドットデータを読み出し、当該ドットデータを含むドットデータ列を前記シフトレジスタに格納し、
前記カウント値が前記最上端ラインに対応する値に満たない場合および前記カウント値が前記最下端ラインに対応する値を超えている場合には、背景ドットデータのドットデータ列を前記シフトレジスタに格納する、
ことを特徴とするキャラクタ出力装置。
【請求項４】
映像に重畳されるキャラクタを出力するキャラクタ出力装置であって、
水平方向および垂直方向に配列された複数のドットのドットデータで構成される、キャラクタのパターンを示すキャラクタデータを記憶するキャラクタメモリと、
前記キャラクタメモリから前記キャラクタデータのドットデータを１水平ライン分ずつ読み出して出力するキャラクタメモリコントローラと、
を有し、
前記キャラクタメモリコントローラは、
開始値がカウント値の初期値として設定され、前記映像の水平同期信号が入力されるたびにカウント値を１インクリメントするカウンタと、
終了値が格納されるレジスタと、
を含み、
前記カウンタのカウント値が前記開始値から前記レジスタに格納された終了値まで計数される間、
前記カウント値が前記キャラクタデータの最上端ラインに対応する値から前記キャラクタデータの最下端ラインに対応する値までの範囲内にある場合、前記キャラクタメモリから前記キャラクタデータのうち前記カウント値に対応する１水平ライン分のドットデータを読み出して出力し、
前記カウント値が前記最上端ラインに対応する値に満たない場合および前記カウント値が前記最下端ラインに対応する値を超えている場合には、背景ドットを示すドットデータのドットデータ列を出力する、
ことを特徴とするキャラクタ出力装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像に重畳されるキャラクタを出力するキャラクタ出力装置に関する。
【背景技術】
【０００２】
テレビジョン放送等の映像信号に文字情報を重畳させておき、映像信号に基づいて表示される映像にその文字情報に基づく文字を重畳させて表示するキャプション表示が知られている。例えば、北米地域等におけるクローズドキャプションのように、文字多重放送の字幕をテレビジョン放送の映像に重ね合わせて表示することが知られている。
【０００３】
また、テレビジョン放送等の映像に重ね合わせてチャンネル表示、音量表示、各種設定のメニューなどのグラフィックを表示するオンスクリーンディスプレイ（ＯＳＤ）表示が知られている。
【０００４】
上記キャプション表示やＯＳＤ表示では、キャラクタメモリから、文字やグラフィックなどのキャラクタのパターンを示すビットマップ形式のキャラクタデータが読み出されて、映像に重畳されて表示される（例えば特許文献１を参照）。
【０００５】
特許文献１には、キャラクタメモリに格納されているキャラクタデータを画面上に表示する際、キャラクタデータのうち垂直方向の特定範囲だけ部分的に切り出して表示する技術が開示されている。
【０００６】
【特許文献１】特開平９−２１２３３２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、キャラクタの画面上での表示位置を左右または上下に微調整する観点や、キャラクタメモリを効率的に使用する観点より、キャラクタを画面上に表示する際、キャラクタの外側部分に背景を付加して表示したいという要望がある。
【０００８】
そこで、本発明は、キャラクタを画面上に表示する際、キャラクタの外側部分に背景を付加して表示することを可能にするキャラクタ出力装置を提供する。
【課題を解決するための手段】
【０００９】
本発明に係るキャラクタ出力装置は、映像に重畳されるキャラクタを出力するキャラクタ出力装置であって、水平方向および垂直方向に配列された複数のドットのドットデータで構成される、キャラクタのパターンを示すキャラクタデータを記憶するキャラクタメモリと、前記キャラクタメモリから前記キャラクタデータのドットデータを１水平ライン分ずつ読み出すキャラクタメモリコントローラと、前記読み出された１水平ライン分のドットデータを含むドットデータ列が格納され、当該格納されたドットデータを１ドット分ずつ順に出力するシフトレジスタと、を有し、前記キャラクタメモリコントローラは、前記シフトレジスタの先頭から所定ドット数分の領域に背景ドットを示すドットデータ（以下、「背景ドットデータ」と称す）を格納し、前記シフトレジスタの先頭から前記所定ドット数分だけずらした領域に前記読み出された１水平ライン分のドットデータを格納する、ことを特徴とする。
【００１０】
本発明の一態様では、前記キャラクタメモリコントローラは、前記キャラクタの水平方向の表示間隔を示す水平表示間隔データと、前記キャラクタの水平方向のサイズを示すキャラクタサイズデータとを受け付け、前記水平表示間隔データにより示される表示間隔から前記キャラクタサイズデータにより示されるサイズを引いて２で割った値を前記所定ドット数として求め、前記シフトレジスタの先頭から前記所定ドット数分の領域に背景ドットデータを格納し、前記シフトレジスタの先頭から前記所定ドット数分だけずらした領域に前記１水平ライン分のドットデータを格納し、前記１水平ライン分のドットデータの格納領域に続く前記所定ドット数分の領域に背景ドットデータを格納する。
【発明の効果】
【００１１】
本発明によれば、キャラクタを画面上に表示する際、キャラクタの外側部分に背景を付加して表示することが可能となる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施の形態を図面に従って説明する。
【００１３】
図１は、本実施の形態に係るキャラクタ出力装置を含む映像信号処理装置１の構成を示すブロック図である。
【００１４】
図１において、映像信号処理装置１は、主処理部１０、ビデオメモリ２０、キャラクタメモリ３０、色テーブルメモリ４０、ビデオメモリコントローラ５０、キャラクタメモリコントローラ６０、色テーブルメモリコントローラ７０、および映像データ生成部８０を有する。
【００１５】
主処理部１０は、テレビジョン放送等の映像信号を処理する処理部等の映像信号処理装置１の各部を統合的に制御するものであり、例えばＣＰＵである。
【００１６】
具体的には、主処理部１０は、映像信号から抽出されたキャプション情報やオンスクリーンディスプレイ（ＯＳＤ）のためのグラフィック情報を受信すると、それらの情報を解析し、後述するキャラクタ表示のための情報をビデオメモリ２０に書き込む。
【００１７】
また、主処理部１０は、外部からのデータの入力に応じて、キャラクタメモリ３０や色テーブルメモリ４０に格納されているデータを更新する。
【００１８】
ビデオメモリ（以下、「ＶＲＡＭ」と称す）２０は、文字やグラフィックなどのキャラクタを画面上に表示するための情報を記憶するメモリである。具体的には、ＶＲＡＭ２０は、主処理部１０からの情報の入力に基づき、下記（ａ）〜（ｈ）の情報を互いに関連付けて保持する。
【００１９】
（ａ）キャラクタの表示が開始されるべき垂直位置（例えば水平ライン番号）を示す垂直表示開始位置データ
（ｂ）キャラクタの表示が開始されるべき水平位置を示す水平表示開始位置データ
（ｃ）キャラクタの水平方向の表示間隔を示す水平表示間隔データ
（ｄ）キャラクタの水平方向および垂直方向のサイズを示すキャラクタサイズデータ
（ｅ）使用されるべき色テーブルを示す色テーブル番号
（ｆ）キャラクタの垂直方向の読み出し開始位置を示す開始値
（ｇ）キャラクタの垂直方向の読み出し終了位置を示す終了値
（ｈ）表示されるべきキャラクタを示す１以上のキャラクタコード
【００２０】
キャラクタメモリ３０は、水平方向および垂直方向に配列された複数のドットのドットデータで構成される、キャラクタのパターンを示すキャラクタデータ（フォントデータとも呼ばれる）を記憶するメモリである。ここでは、キャラクタメモリ３０はＲＡＭであり、以下、キャラクタメモリ３０を「ＣＧＲＡＭ３０」と称す。
【００２１】
具体的には、ＣＧＲＡＭ３０は、複数のキャラクタのキャラクタデータを、当該キャラクタデータに対応するキャラクタコードと関連付けて保持する。
【００２２】
キャラクタデータは、例えば、キャプション情報の場合、縦２０ドット×横１６ドットの画像データであり、グラフィック情報の場合、縦３２ドット×横３２ドットの画像データである。
【００２３】
キャラクタデータを構成するドットデータは、ドットの色に対応する色コードを示すデータであり、例えば、２値画像の場合には１ビットのデータであり、多値画像の場合には２ビットや４ビットのデータである。
【００２４】
色テーブルメモリ４０は、複数種類の色テーブルを、当該色テーブルの色テーブル番号と関連付けて記憶するメモリである。ここでは、色テーブルメモリ４０はＲＡＭであり、以下、色テーブルメモリ４０を「ＣＬＵＴＲＡＭ４０」と称す。
【００２５】
上記色テーブルは、キャラクタデータの各ドットデータにより示される色コードを色データ（例えばＲＧＢ各色の輝度値）に変換するためのルックアップテーブルであり、色コードと色データとの対応関係を示す。例えば、色テーブルは、４ビットの色コード（例えば「０００１」）と、ＲＧＢ各色４ビットで合計１２ビットの色データ（例えば、Ｒ「００００」，Ｇ「００１０」，Ｂ「１１００」）との対応関係を示す。
【００２６】
ビデオメモリコントローラ（以下、「ＶＲＡＭコントローラ」と称す）５０は、外部の同期信号検出部（不図示）から映像信号の垂直同期信号Ｖｓｙｎｃおよび水平同期信号Ｈｓｙｎｃを受け取り、これらの同期信号に同期してＶＲＡＭ２０に格納されている情報を読み出して映像信号処理装置１の各部へ出力する。
【００２７】
具体的には、ＶＲＡＭコントローラ５０は、垂直同期信号Ｖｓｙｎｃを受けると内蔵カウンタをリセットし、その後、その内蔵カウンタを用いて水平同期信号Ｈｓｙｎｃを受けた回数をカウントする。
【００２８】
また、ＶＲＡＭコントローラ５０は、水平同期信号Ｈｓｙｎｃを受けると、ＶＲＡＭ２０を参照し、内蔵カウンタのカウント値により示される現在表示対象となっている水平ラインと同じ水平ラインを示す垂直表示開始位置データが存在するか否かを判断する。
【００２９】
そして、そのような垂直表示開始位置データが存在する場合、ＶＲＡＭコントローラ５０は、ＶＲＡＭ２０から、当該垂直表示開始位置データに関連付けられている上記（ｂ）〜（ｈ）のデータを読み出す。
【００３０】
そして、ＶＲＡＭコントローラ５０は、上記読み出されたデータのうち、水平表示開始位置データ、水平表示間隔データ、キャラクタサイズデータ、開始値、終了値、および１以上のキャラクタコードをキャラクタメモリコントローラ６０に渡す。
【００３１】
また、ＶＲＡＭコントローラ５０は、上記読み出されたデータのうち、色テーブル番号を色テーブルメモリコントローラ７０に渡す。
【００３２】
また、ＶＲＡＭコントローラ７０は、上記読み出されたデータのうち、水平表示間隔データを映像データ生成部８０に渡す。
【００３３】
キャラクタメモリコントローラ（以下、「ＣＧＲＡＭコントローラ」と称す）６０は、ＶＲＡＭコントローラ５０からのデータに基づき、ＣＧＲＡＭ３０からキャラクタデータのドットデータを１水平ライン分ずつ読み出して、映像データ生成部８０に出力する。例えば、表示対象のキャラクタデータが縦２０ドット×横１６ドットの画像データである場合、ＣＧＲＡＭコントローラ６０は、キャラクタデータのドットデータを１６ドット分ずつ読み出す。
【００３４】
具体的には、ＣＧＲＡＭコントローラ６０は、ＶＲＡＭコントローラ５０から受け取ったキャラクタコードに対応するＣＧＲＡＭ３０のメモリ空間にアクセスし、当該キャラクタコードに対応するキャラクタデータを読み出して映像データ生成部８０に出力する。
【００３５】
このとき、ＣＧＲＡＭコントローラ６０は、水平表示開始データにより示される水平位置から先頭のキャラクタの表示が開始されるように、また、水平表示間隔データにより示される間隔でキャラクタが水平方向に配列されて表示されるように、タイミングを合わせて、キャラクタデータのドットデータを１水平ライン分ずつ映像データ生成部８０に出力する。
【００３６】
また、ＣＧＲＡＭコントローラ６０は、ＶＲＡＭコントローラ５０からのデータに基づき、キャラクタデータの左右や上下に背景を示すドットデータ（以下、「背景ドットデータ」と称す）を付加する処理も行う。したがって、ＣＧＲＡＭコントローラ６０は、キャラクタデータのドットデータと、背景ドットデータとを含むドットデータ列を、映像データ生成部８０に出力する。
【００３７】
色テーブルメモリコントローラ（以下、「ＣＬＵＴＲＡＭコントローラ」と称す）７０は、ＶＲＡＭコントローラ５０から色テーブル番号を受けると、当該色テーブル番号に対応する色テーブルをＣＬＵＴＲＡＭ４０から読み出して映像データ生成部８０に出力する。
【００３８】
映像データ生成部８０は、ＣＧＲＡＭコントローラ７０からドットデータ列を受け取り、当該ドットデータ列に含まれるドットデータを１ドット分ずつ順に出力する。
【００３９】
具体的には、映像データ生成部８０は、上記ドットデータ列のうち、ＶＲＡＭコントローラ５０から受け取った水平表示間隔データで示される水平表示間隔に対応するドット数のドットデータを、ドットクロックに従って１ドット分ずつ順に取り出す。そして、映像データ生成部８０は、ＣＬＵＴＲＡＭコントローラ７０から受け取った色テーブルに基づき、上記取り出したドットデータを色データ（例えばＲＧＢ各色の輝度値）に変換し、当該色データを出力する。当該色データは、映像に重畳されて画面上に表示される。
【００４０】
映像データ生成部８０は、元の映像に上記色データを重畳して画面上に実際に表示するための映像信号を生成する処理を行ってもよい。
【００４１】
図２は、ＣＧＲＡＭコントローラ６０および映像データ生成部８０の構成を示すブロック図である。以下、図２を参照して、ＣＧＲＡＭコントローラ６０および映像データ生成部８０について詳しく説明する。
【００４２】
図２において、ＣＧＲＡＭコントローラ６０は、開始値レジスタ６１、垂直カウンタ６２、終了値レジスタ６３、ＣＧＲＡＭアドレス生成部６４、水平データバッファ６５、およびデータ格納制御部６６を含む。映像データ生成部８０は、シフトレジスタ８１およびデータ変換部８２を含む。
【００４３】
開始値レジスタ６１は、ＶＲＡＭコントローラ５０からの開始値が格納されるレジスタである。
【００４４】
垂直カウンタ６２は、開始値レジスタ６１に格納された開始値がカウント値の初期値として設定され、映像の水平同期信号Ｈｓｙｎｃが入力されるたびにカウント値を１インクリメントするカウンタである。
【００４５】
終了値レジスタ６３は、ＶＲＡＭコントローラ５０からの終了値が格納されるレジスタである。
【００４６】
垂直方向についてキャラクタの外側部分に背景を付加する観点より、ＣＧＲＡＭコントローラ６０は、垂直カウンタ６２のカウント値が上記開始値から終了値レジスタ６３に格納された終了値まで計数される間、次の処理を実行する。
【００４７】
ＣＧＲＡＭコントローラ６０は、カウント値が読み出し対象のキャラクタデータの最上端ラインに対応する値から当該キャラクタデータの最下端ラインに対応する値までの範囲内にある場合には、ＣＧＲＡＭ３０から当該キャラクタデータのうちカウント値に対応する１水平ライン分のドットデータを読み出し、当該ドットデータを含むドットデータ列をシフトレジスタ８１に格納する。
【００４８】
一方、カウント値が上記最上端ラインに対応する値に満たない場合およびカウント値が上記最下端ラインに対応する値を超えている場合には、背景ドットデータのドットデータ列をシフトレジスタ８１に格納する。
【００４９】
また、水平方向についてキャラクタの外側部分に背景を付加する観点より、ＣＧＲＡＭコントローラ６０は、次の処理を実行する。
【００５０】
ＣＧＲＡＭコントローラ６０は、シフトレジスタ８１の先頭（すなわち出力端）から所定ドット数分の領域に背景ドットデータを格納し、シフトレジスタ８１の先頭から上記所定ドット数分だけずらした領域にＣＧＲＡＭ３０から読み出されたキャラクタデータの１水平ライン分のドットデータを格納する。これにより、キャラクタデータの左側に背景ドットが付加される。
【００５１】
ＣＧＲＡＭコントローラ６０は、シフトレジスタ８１のキャラクタデータの１水平ライン分のドットデータが格納される領域に続く領域に、さらに背景ドットデータを格納してもよい。すなわち、キャラクタデータの右側に背景ドットを付加してもよい。キャラクタデータの右側に付加される背景ドットの個数は、左側に付加される背景ドットの個数（すなわち上記所定ドット数）と同じであってもよいし、異なっていてもよい。
【００５２】
一つの態様では、ＣＧＲＡＭコントローラ６０は、上記所定ドット数を決定するためのデータを受け付け、当該データに基づいて上記所定ドット数を決定する。
【００５３】
当該一つの態様における具体的な一態様では、ＣＧＲＡＭコントローラ６０は、ＶＲＡＭコントローラ５０から水平表示間隔データとキャラクタサイズデータとを受け付け、上記水平表示間隔データにより示される表示間隔から上記キャラクタサイズデータにより示されるキャラクタの水平方向のサイズを引いて２で割った値を上記所定ドット数として求める。そして、ＣＧＲＡＭコントローラ６０は、シフトレジスタ８１の先頭から上記所定ドット数分の領域に背景ドットデータを格納し、シフトレジスタ８１の先頭から上記所定ドット数分だけずらした領域に１水平ライン分のドットデータを格納し、当該１水平ライン分のドットデータの格納領域に続く上記所定ドット数分の領域に背景ドットデータを格納する。すなわち、当該態様では、水平表示間隔がキャラクタの水平サイズを超える場合において、ＣＧＲＡＭコントローラ６０は、水平表示間隔からキャラクタの水平サイズを引いた超過量を求め、キャラクタの左右に均等に背景ドットが付くように、当該超過量の１／２に相当するドット数の背景ドットデータを、キャラクタデータの左右それぞれに付加する。
【００５４】
なお、上記各ドットデータをシフトレジスタ８１に格納する順序は特に限定されず、例えば、上記所定ドット数分の背景ドットデータとキャラクタデータの１水平ライン分のドットデータとを含むドットデータ列が、一度にシフトレジスタ８１に格納される。
【００５５】
また、背景ドットデータは、所定の固定値（例えば４ビットデータ「００００」）であってもよいし、外部から指定される可変値であってもよい。
【００５６】
上記キャラクタデータを読み出してシフトレジスタ８１に格納する処理は、具体的な一例では、ＣＧＲＡＭアドレス生成部６４、水平データバッファ６５、およびデータ格納制御部６６により、以下のように実現される。
【００５７】
ＣＧＲＡＭアドレス生成部６４は、ＶＲＡＭコントローラ５０からのキャラクタコードと、カウンタ６２のカウント値とに基づき、キャラクタデータを読み出すための垂直読み出しアドレスを生成し、当該垂直読み出しアドレスをＣＧＲＡＭ３０に出力する。
【００５８】
具体的には、ＣＧＲＡＭアドレス生成部６４は、カウント値と終了値レジスタ６３に格納されている終了値とを比較し、両者が一致するまで、キャラクタコードに対応するキャラクタデータの最上端ラインの垂直アドレスにカウント値を加算して垂直読み出しアドレスを算出し、当該垂直読み出しアドレスをＣＧＲＡＭ３０に出力する。ＣＧＲＡＭ３０は、ＣＧＲＡＭアドレス生成部６４から垂直読み出しアドレスを受けると、当該垂直読み出しアドレスに格納されている１水平ライン分のドットデータを、水平データバッファ６５に出力する。
【００５９】
例えば、図３に示されるように、数字の「０」、アルファベットの「Ａ」、「Ｂ」を示す３２ドット×３２ドットのキャラクタデータが、それぞれ垂直アドレス９６８〜９９９、１０００〜１０３１、１０３２〜１０６３に格納されている場合、キャラクタデータは次のように読み出される。なお、ここでは、ＣＧＲＡＭコントローラ６０は、ＶＲＡＭコントローラ５０からキャラクタ「Ａ」のキャラクタコードを受け取ったものとする。
【００６０】
開始値が「０」、終了値が「３１」である場合、垂直アドレス１０００〜１０３１の範囲のドットデータが、１水平ライン分（すなわち３２ドット分）ずつ、垂直アドレス１０００から順に読み出される。すなわち、キャラクタ「Ａ」のキャラクタデータの全部が読み出される。
【００６１】
開始値が「５」、終了値が「２７」である場合、垂直アドレス１００５〜１０２７の範囲のドットデータが、１水平ライン分ずつ順に読み出される。すなわち、キャラクタ「Ａ」のキャラクタデータの一部が読み出される。
【００６２】
開始値が「−２」、終了値が「３５」である場合、垂直アドレス９９８〜１０３５の範囲のドットデータが、１水平ライン分ずつ順に読み出される。すなわち、キャラクタ「０」(キャラクタ「Ａ」の一部分の場合もある)の２ライン分のドットデータ、キャラクタ「Ａ」の３２ライン分のドットデータ、キャラクタ「Ｂ」(キャラクタ「Ａ」の一部分の場合もある)の４ライン分のドットデータが、この順で読み出される。
【００６３】
水平データバッファ６５は、ＣＧＲＡＭ３０から出力される垂直読み出しアドレスに対応する１水平ライン分のドットデータを受け、当該１水平ライン分のドットデータを保持する。水平データバッファ６５は、例えば３２ドット分のドットデータを格納可能な記憶容量を有する。一つの態様では、複数のキャラクタを水平方向に連続的に表示する場合等を考慮して、水平データバッファ６５は複数段設けられ、キャラクタデータの先読みが行われる。
【００６４】
データ格納制御部６６は、水平表示開始位置データにより示される水平位置から先頭のキャラクタの表示が開始されるように、また、水平表示間隔データにより示される間隔でキャラクタが水平方向に配列されて表示されるように、タイミングを合わせて、ドットデータ列をシフトレジスタ８１に格納する。例えば、データ格納制御部６６は、水平同期信号Ｈｓｙｎｃによりリセットされドットクロックをカウントするカウンタにより、水平表示開始位置データに基づく先頭のキャラクタ用のリロードタイミングと、水平表示間隔データに基づく後続のキャラクタ用のリロードタイミングとを発生させ、当該リロードタイミングにてドットデータ列のシフトレジスタ８１への格納を実行する。
【００６５】
具体的には、マイナスのカウント値に基づいて読み出されたドットデータが水平データバッファ６５に保持されている場合、およびキャラクタの垂直サイズを超えるカウント値（例えば「３１」を超えるカウント値）に基づいて読み出されたドットデータが水平データバッファ６５に保持されている場合、データ格納制御部６６は、水平表示間隔のドット数分の背景ドットデータが配列されたドットデータ列をシフトレジスタ８１に格納する。すなわち、マイナスのカウント値に対応するラインとキャラクタ垂直サイズを超えるカウント値に対応するラインに関しては、キャラクタサイズ外の垂直領域に当たるので、ＣＧＲＡＭ３０から読み出されたドットデータを無視して、強制的に背景ドットデータに差し替える。
【００６６】
一方、読み出し対象のキャラクタデータの垂直アドレス範囲内のカウント値に基づいて読み出されたドットデータが水平データバッファ６５に保持されている場合、データ格納制御部６６は、以下のように、水平データバッファ６５に保持されているドットデータを含むドットデータ列をシフトレジスタ８１に格納する。
【００６７】
水平表示間隔がキャラクタの水平サイズを超えていない場合、データ格納制御部６６は、図４に示されるように、水平データバッファ６５に保持されているキャラクタデータの１水平ライン分のドットデータ４０１をそのまま、シフトレジスタ８１の先頭から詰めて、シフトレジスタ８１に格納する。
【００６８】
一方、水平表示間隔がキャラクタの水平サイズを超えている場合、データ格納制御部６６は、水平表示間隔からキャラクタの水平サイズを引いて２で割った値を背景ドット数として求める。そして、データ格納制御部６６は、図５に示されるように、水平データバッファ６５に保持されているキャラクタデータの１水平ライン分のドットデータ５０１と、ドットデータ５０１の左側に付加される背景ドット数分の背景ドットデータ５０２と、ドットデータ５０１の右側に付加される背景ドット数分の背景ドットデータ５０３とを含むドットデータ列を、シフトレジスタ８１に格納する。
【００６９】
シフトレジスタ８１は、キャラクタサイズの水平方向のドット数よりも多いドット数分のドットデータを格納可能に構成されている。例えば、シフトレジスタ８１は、４０ドット分のドットデータを格納可能である。
【００７０】
シフトレジスタ８１は、データ格納制御部６６から出力されるドットデータ列を保持し、当該ドットデータ列に含まれるドットデータを１ドット分ずつ先頭から順に出力する。
【００７１】
具体的には、シフトレジスタ８１は、ドットクロックにしたがって、ＶＲＡＭコントローラ５０からの水平表示間隔データにより示される表示間隔のドット数分だけ、ドットデータをデータ変換部８２にシフト出力する。
【００７２】
データ変換部８２は、ＣＬＵＴＲＡＭコントローラ７０からの色テーブルに基づき、シフトレジスタ８１から出力されたドットデータを色データに変換して出力する。
【００７３】
図６は、映像データ生成部８０から出力されるデータの一例を示す概念図である。図６の例では、キャラクタデータのサイズは縦３２ドット×横３２ドット、水平表示間隔は３８ドット、開始値は「−２」、終了値は「３５」である。図６において、キャラクタデータの左右にはそれぞれ３ドット分の背景ドットが付加されており、キャラクタデータの上側には２ライン分の背景ドットが付加されており、キャラクタデータの下側には４ライン分の背景ドットが付加されている。
【００７４】
以上説明した本実施の形態によれば、下記（１）〜（４）の効果が得られ得る。
【００７５】
（１）キャラクタメモリコントローラは、シフトレジスタの先頭から所定ドット数分の領域に背景ドットデータを格納し、シフトレジスタの先頭から上記所定ドット数分だけずらした領域にキャラクタメモリから読み出された１水平ライン分のドットデータを格納する。このため、キャラクタデータの左側に背景ドットを付加することが可能となる。これにより、キャラクタデータを画面表示する際、キャラクタデータの画面上での表示位置を左右に微調整することが可能となる。また、キャラクタメモリから読み出されたキャラクタデータに後から背景ドットを付加できるので、予め背景ドットをキャラクタデータに含めてキャラクタメモリに格納する必要がなく、キャラクタメモリを効率的に使用することが可能となる。
【００７６】
（２）キャラクタメモリコントローラは、キャラクタの水平方向の表示間隔を示す水平表示間隔データと、キャラクタの水平方向のサイズを示すキャラクタサイズデータとを受け付け、上記水平表示間隔データにより示される表示間隔から上記キャラクタサイズデータにより示されるサイズを引いて２で割った値を上記所定ドット数として求め、シフトレジスタの先頭から上記所定ドット数分の領域に背景ドットデータを格納し、シフトレジスタの先頭から上記所定ドット数分だけずらした領域に上記１水平ライン分のドットデータを格納し、上記１水平ライン分のドットデータの格納領域に続く上記所定ドット数分の領域に背景ドットデータを格納する。これにより、水平方向について、水平表示間隔に対応する領域の中央にキャラクタデータを配置することが可能となる。
【００７７】
（３）キャラクタメモリコントローラは、開始値がカウント値の初期値として設定され、映像の水平同期信号が入力されるたびにカウント値を１インクリメントするカウンタと、終了値が格納されるレジスタとを含む。そして、キャラクタメモリコントローラは、カウンタのカウント値が開始値からレジスタに格納された終了値まで計数される間、カウント値がキャラクタデータの最上端ラインに対応する値からキャラクタデータの最下端ラインに対応する値までの範囲内にある場合、キャラクタメモリからキャラクタデータのうちカウント値に対応する１水平ライン分のドットデータを読み出して出力し、カウント値が最上端ラインに対応する値に満たない場合およびカウント値が最下端ラインに対応する値を超えている場合には、背景ドットデータのドットデータ列を出力する。このため、キャラクタデータの上側または下側に背景ドットを付加することが可能となる。これにより、キャラクタデータを画面表示する際、キャラクタデータの画面上での表示位置を上下に微調整することが可能となる。また、キャラクタメモリから読み出されたキャラクタデータに後から背景ドットを付加できるので、予め背景ドットをキャラクタデータに含めてキャラクタメモリに格納する必要がなく、キャラクタメモリを効率的に使用することが可能となる。
【００７８】
なお、本発明は、上記実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々変更することができる。
【図面の簡単な説明】
【００７９】
【図１】実施の形態に係るキャラクタ出力装置を含む映像信号処理装置の構成を示すブロック図である。
【図２】ＣＧＲＡＭコントローラおよび映像データ生成部の構成を示すブロック図である。
【図３】ＣＧＲＡＭの記憶内容の一例を示す図である。
【図４】シフトレジスタへのドットデータ列の格納の一例を示す図である。
【図５】シフトレジスタへのドットデータ列の格納の別の一例を示す図である。
【図６】映像データ生成部から出力されるデータの一例を示す概念図である。
【符号の説明】
【００８０】
１  映像信号処理装置、１０  主処理部、２０  ビデオメモリ（ＶＲＡＭ）、３０  キャラクタメモリ（ＣＧＲＡＭ）、４０  色テーブルメモリ（ＣＬＵＴＲＡＭ）、５０  ビデオメモリコントローラ（ＶＲＡＭコントローラ）、６０  キャラクタメモリコントローラ（ＣＧＲＡＭコントローラ）、６１  開始値レジスタ、６２  垂直カウンタ、６３  終了値レジスタ、６４  ＣＧＲＡＭアドレス生成部、６５  水平データバッファ、６６  データ格納制御部、７０  色テーブルメモリコントローラ（ＣＬＵＴＲＡＭコントローラ）、８０  映像データ生成部、８１  シフトレジスタ、８２  データ変換部。
【図１】
2009151492.tif 000003
【図２】
2009151492.tif 000004
【図３】
2009151492.tif 000005
【図４】
2009151492.tif 000006
【図５】
2009151492.tif 000007
【図６】
2009151492.tif 000008