(57)【要約】【課題】表示コントローラの線形スケーリング機能を用いて、非線形拡大された画像データを表示装置に表示可能な情報処理装置を実現する。【解決手段】ＣＰＵ１１１は、第１のサイズを有する入力画像データを垂直方向に複数の画像ブロックに分割し、これら複数の画像ブロックの中で、入力画像データの中央エリアに属する１以上の画像ブロックを水平方向に縮小するノンリニアスケーリング処理を実行する。ノンリニアスケーリング処理された入力画像データはグラフィクスコントローラ１１４に送られる。グラフィクスコントローラ１１４は、ノンリニアスケーリング処理された入力画像データをリニアスケーリングによって拡大して、第１のサイズよりも大きい第２のサイズを有する出力画像データを生成し、生成された出力画像データをＬＣＤ１７に表示する。【選択図】図５
2006349757.tif 000002
【特許請求の範囲】
【請求項１】
第１のサイズを有する入力画像データを垂直方向に複数の画像ブロックに分割し、前記複数の画像ブロックの中で前記入力画像データの中央エリアに属する１以上の画像ブロックを水平方向に縮小する非線形スケーリング処理を実行する画像処理手段と、
前記非線形スケーリング処理された入力画像データを線形スケーリングによって拡大して前記第１のサイズよりも大きい第２のサイズを有する出力画像データを生成し、前記生成された出力画像データを表示装置に表示する表示コントローラとを具備することを特徴とする情報処理装置。
【請求項２】
前記非線形スケーリング処理は、前記複数の画像ブロックの中で前記中央エリアに属する１以上の画像ブロックを１よりも小さい拡大率で水平方向にサイズ変更する処理と、他の画像ブロックそれぞれを、前記入力画像データの端に行くほど大きくなる拡大率で水平方向にサイズ変更する処理とを含むことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記非線形スケーリング処理は、前記中央エリアに属する１以上の画像ブロックを、２のべき乗分の１の整数倍であり且つ１よりも小さい拡大率で、水平方向にサイズ変更する処理を含むことを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記非線形スケーリング処理は、各々が２のべき乗分の１の整数倍の値を有する複数の拡大率で、前記複数の画像ブロックそれぞれを水平方向にサイズ変更する処理を含むことを特徴とする請求項１記載の情報処理装置。
【請求項５】
前記非線形スケーリング処理は、各々が２のべき乗分の１の整数倍の値を有する複数の拡大率で前記複数の画像ブロックそれぞれを水平方向にサイズ変更するための画素補間処理を含み、前記画像処理手段は、ビットシフトと整数の乗算とを含む演算処理によって前記画素補間処理を実行することを特徴とする請求項１記載の情報処理装置。
【請求項６】
前記表示コントローラは、前記生成された出力画像データを平滑化するフィルタ処理を実行するフィルタ処理部を含み、前記フィルタ処理された出力画像データが前記表示装置に表示されることを特徴とする請求項１記載の情報処理装置。
【請求項７】
放送番組データを受信する受信装置をさらに具備し、
前記入力画像データは前記受信装置によって受信された放送番組データであることを特徴とする請求項１記載の情報処理装置。
【請求項８】
線形スケーリング機能を有する表示コントローラを用いて画像データを処理する画像処理方法であって、
第１のサイズを有する入力画像データを垂直方向に複数の画像ブロックに分割し、前記複数の画像ブロックの中で前記入力画像データの中央エリアに属する１以上の画像ブロックを水平方向に縮小する非線形スケーリング処理を実行するステップと、
前記非線形スケーリング処理された入力画像データを前記表示コントローラに送出して、前記表示コントローラに、前記非線形スケーリング処理された入力画像データを線形スケーリングによって拡大して前記第１のサイズよりも大きい第２のサイズを有する出力画像データを生成する処理を実行させるステップと、
前記生成された出力画像データを表示装置に表示するステップとを具備することを特徴とする画像処理方法。
【請求項９】
前記非線形スケーリング処理は、前記複数の画像ブロックの中で前記中央エリアに属する１以上の画像ブロックを１よりも小さい拡大率で水平方向にサイズ変更する処理と、他の画像ブロックそれぞれを、前記入力画像データの端に行くほど大きくなる拡大率で水平方向にサイズ変更する処理とを含むことを特徴とする請求項８記載の画像処理方法。
【請求項１０】
前記非線形スケーリング処理は、前記中央エリアに属する１以上の画像ブロックを、２のべき乗分の１の整数倍であり且つ１よりも小さい拡大率で、水平方向にサイズ変更する処理を含むことを特徴とする請求項８記載の画像処理方法。
【請求項１１】
前記非線形スケーリング処理は、各々が２のべき乗分の１の整数倍の値を有する複数の拡大率で、前記複数の画像ブロックそれぞれを水平方向にサイズ変更する処理を含むことを特徴とする請求項８記載の画像処理方法。
【請求項１２】
前記非線形スケーリング処理は、各々が２のべき乗分の１の整数倍の値を有する複数の拡大率で前記複数の画像ブロックそれぞれを水平方向にサイズ変更するための画素補間処理を含み、前記非線形スケーリング処理を実行するステップは、ビットシフトと整数の乗算とを含む演算処理によって前記画素補間処理を実行するステップを含むことを特徴とする請求項８記載の画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はパーソナルコンピュータのような情報処理装置および同装置で用いられる画像処理方法に関する。
【背景技術】
【０００２】
一般に、ＴＶ装置においては、例えばアスペクト比４：３の画像データをアスペクト比１６：９のワイド画面に表示するためにスケーリング技術が用いられている。このスケーリング技術の一つとして、非線形スケーリングが知られている。
【０００３】
特許文献１には、非線形スケーリングによって画像データを拡大する画像拡大処理回路が開示されている。
【０００４】
非線形スケーリングを用いることにより、画像データの中央エリアのイメージが横太りすることなく、当該画像データをワイド画面全体に表示することができる。
【０００５】
一般に、動画像においては、その画面中央部のイメージが重要となる場合が多い。このため、非線形スケーリングは動画像を拡大するための有効な技術である。
【０００６】
最近では、ＤＶＤ（Digital Versatile Disc）プレーヤ、ＴＶ装置のようなオーディオ・ビデオ（ＡＶ）機器と同様のＡＶ再生機能を備えたパーソナルコンピュータが開発されている。このため、非線形スケーリングは、動画像をパーソナルコンピュータの表示装置に表示する場合にも好適である。
【特許文献１】特開２０００−１４８１２８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、一般に、パーソナルコンピュータのような情報処理装置で使用されている表示コントローラには画像データを一定の拡大率で一様に拡大する線形スケーリング機能しか設けられていない。このため、パーソナルコンピュータにおいては、表示コントローラから出力される画像データを非線形拡大するための専用の回路を設けることが必要となる。しかし、このような専用回路は、パーソナルコンピュータのコストアップを引き起こす大きな要因となる。
【０００８】
このため、専用回路を用いずに、非線形拡大された画像データを表示装置に表示するための新たな機能の実現が必要である。
【０００９】
本発明は上述の事情を考慮してなされたものであり、表示コントローラの線形スケーリング機能を用いて、非線形拡大された画像データを表示装置に表示することが可能な情報処理装置および画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述の課題を解決するため、本発明の情報処理装置は、第１のサイズを有する入力画像データを垂直方向に複数の画像ブロックに分割し、前記複数の画像ブロックの中で前記入力画像データの中央エリアに属する１以上の画像ブロックを水平方向に縮小する非線形スケーリング処理を実行する画像処理手段と、前記非線形スケーリング処理された入力画像データを線形スケーリングによって拡大して前記第１のサイズよりも大きい第２のサイズを有する出力画像データを生成し、前記生成された出力画像データを表示装置に表示する表示コントローラとを具備することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、表示コントローラの線形スケーリング機能を用いて、非線形拡大された画像データを表示装置に表示することが可能となる。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照して、本発明の実施形態を説明する。  
まず、図１および図２を参照して、本発明の一実施形態に係る情報処理装置の構成について説明する。この情報処理装置は、例えば、ノートブック型の携帯型パーソナルコンピュータ１０として実現されている。
【００１３】
図１はパーソナルコンピュータ１０のディスプレイユニットを開いた状態における斜視図である。本コンピュータ１０は、コンピュータ本体１１と、ディスプレイユニット１２とから構成されている。ディスプレイユニット１２には、ＴＦＴ−ＬＣＤ（Thin Film Transistor Liquid Crystal Display）１７から構成される表示装置が組み込まれており、そのＬＣＤ１７の表示画面はディスプレイユニット１２のほぼ中央に位置されている。ＬＣＤ１７は横長のワイド表示画面を有しており、その表示画面のサイズ（解像度）は例えば1440×900画素である。
【００１４】
ディスプレイユニット１２は、コンピュータ本体１１に対して開放位置と閉塞位置との間を回動自在に取り付けられている。コンピュータ本体１１は薄い箱形の筐体を有しており、その上面にはキーボード１３、本コンピュータ１を電源オン／オフするためのパワーボタン１４、入力操作パネル１５、およびタッチパッド１６などが配置されている。
【００１５】
入力操作パネル１５は、押されたボタンに対応するイベントを入力する入力装置であり、複数の機能をそれぞれ起動するための複数のボタンを備えている。これらボタン群には、ＴＶ起動ボタン１５Ａ、ＤＶＤ／ＣＤ起動ボタン１５Ｂも含まれている。ＴＶ起動ボタン１５Ａは、ＴＶ放送番組データの再生、視聴及び記録を行うためのＴＶ機能を起動するためのボタンである。ＴＶ起動ボタン１５Ａがユーザによって押下された時、ＴＶ機能を実行するためのＴＶアプリケーションプログラムが自動的に起動される。
【００１６】
本コンピュータにおいては、汎用の主オペレーティングシステムの他に、ＡＶ（オーディオ・ビデオ）データを処理するための専用の副オペレーティングシステムがインストールされている。ＴＶアプリケーションプログラムは、副オペレーティングシステム上で動作するプログラムである。
【００１７】
パワーボタン１４がユーザによって押下された時、主オペレーティングシステムが起動される。一方、ＴＶ起動ボタン１５Ａがユーザによって押下された時は、主オペレーティングシステムではなく、副オペレーティングシステムが起動され、そしてＴＶアプリケーションプログラムが自動的に実行される。副オペレーティングシステムはＡＶ機能を実行するための最小限の機能のみを有している。このため、副オペレーティングシステムのブートアップに要する時間は、主オペレーティングシステムのブートアップに要する時間に比べて遙かに短い。よって、ユーザは、ＴＶ起動ボタン１５Ａを押すだけで、ＴＶ視聴／録画を即座に行うことが出来る。
【００１８】
ＤＶＤ／ＣＤ起動ボタン１５Ｂは、ＤＶＤまたはＣＤに記録されたビデオコンテンツを再生するためのボタンである。ＤＶＤ／ＣＤ起動ボタン１５Ｂがユーザによって押下された時、ビデオコンテンツを再生するためのビデオ再生アプリケーションプログラムが自動的に起動される。このビデオ再生アプリケーションプログラムも、副オペレーティングシステム上で動作するアプリケーションプログラムである。ＤＶＤ／ＣＤ起動ボタン１５Ｂがユーザによって押下された時は、主オペレーティングシステムではなく、副オペレーティングシステムが起動され、そしてビデオ再生アプリケーションプログラムが自動的に実行される。
【００１９】
次に、図２を参照して、本コンピュータ１０のシステム構成について説明する。
【００２０】
本コンピュータ１０は、図２に示されているように、ＣＰＵ１１１、ノースブリッジ１１２、主メモリ１１３、グラフィクスコントローラ１１４、サウスブリッジ１１９、ＢＩＯＳ−ＲＯＭ１２０、ハードディスクドライブ（ＨＤＤ）１２１、光ディスクドライブ（ＯＤＤ）１２２、ＴＶチューナ１２３、エンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）１２４、およびネットワークコントローラ１２５等を備えている。
【００２１】
ＣＰＵ１１１は本コンピュータ１０の動作を制御するために設けられたプロセッサであり、ハードディスクドライブ（ＨＤＤ）１２１から主メモリ１１３にロードされる、主オペレーティングシステム／副オペレーティングシステム、およびＴＶアプリケーションプログラム２０１のような各種アプリケーションプログラムを実行する。このＣＰＵ１１１は複数のパイプラインを用いて、複数の処理を並列に実行することができる。
【００２２】
ＴＶアプリケーションプログラム２０１は、ＴＶチューナ１２３によって受信されたＴＶ放送番組データに含まれる画像データ（動画像データ）を高画質化するための機能を有している。ＴＶ放送番組データに含まれる画像データのサイズ（解像度）は、例えば、７２０×４８０画素である。このＴＶアプリケーションプログラム２０１は、画像データを高画質化するための映像処理機能として、図３に示すように、ノイズリダクションモジュール２１０、ＩＰ(Interlace/Progressive)変換モジュール２１１、黒伸張モジュール２１２、白伸張モジュール２１３、シャープネスモジュール２１４、およびノンリニアスケーリングモジュール２１５を備えている。
【００２３】
ノイズリダクションモジュール２１０は、ＴＶチューナ１２３によって受信される放送番組データに含まれる画像データからノイズを除去するための処理を実行する。ＩＰ変換モジュール２１１は、画像データをインターレース映像からその２倍のデータ量を持つプログレッシブ映像に変換するためのプログレッシブ変換処理を実行する。黒伸張モジュール２１２および白伸張モジュール２１３は、それぞれ黒と白の階調を拡張補正するための処理を実行する。シャープネスモジュール２１４は、輪郭強調などのためのシャープネス処理を実行する。ノンリニアスケーリングモジュール２１５は、中央エリアのイメージが水平方向に縮小された画像データを生成するための非線形スケーリング（ノンリニアスケーリング）処理を実行する。非線形スケーリング処理された画像データ（720×480画素）は、表示ドライバ２０２を介してグラフィクスコントローラ１１４のビデオメモリ１１４Ａに書き込まれる。表示ドライバ２０２はグラフィクスコントローラ１１４を制御するためのソフトウェアである。グラフィクスコントローラ１１４には、線形スケーラ（リニアスケーラ）３０１およびフィルタ３０２が設けられている。線形スケーラ（リニアスケーラ）３０１は、非線形スケーリング処理された画像データをリニアスケーリングによって一定の拡大率で一様に拡大して、ＬＣＤ１７の表示画面サイズに対応するサイズ（1440×900画素）を有する出力画像データを生成する。フィルタ３０２は、リニアスケーリングによって得られた出力画像データを平滑化するためのフィルタリング処理を実行する。フィルタリング処理された出力画像データはＬＣＤ１７に表示される。以上の処理により、グラフィクスコントローラ１１４の後段にノンリニアスケーリング処理を実行するための専用回路を設けることなく、ソフトウェア処理によって、ＴＶ放送番組のような画像データをＬＣＤ１７のワイド画面全体に高画質で表示することが可能となる。
【００２４】
また、ＣＰＵ１１１は、ＢＩＯＳ−ＲＯＭ１２０に格納されたシステムＢＩＯＳ（Basic Input Output System）も実行する。システムＢＩＯＳはハードウェア制御のためのプログラムである。
【００２５】
ノースブリッジ１１２はＣＰＵ１１１のローカルバスとサウスブリッジ１１９との間を接続するブリッジデバイスである。ノースブリッジ１１２には、主メモリ１１３をアクセス制御するメモリコントローラも内蔵されている。また、ノースブリッジ１１２は、ＡＧＰ（Accelerated Graphics Port）バスなどを介してグラフィクスコントローラ１１４との通信を実行する機能も有している。
【００２６】
グラフィクスコントローラ１１４は本コンピュータ１０のディスプレイモニタとして使用されるＬＣＤ１７を制御する表示コントローラである。このグラフィクスコントローラ１１４はビデオメモリ（ＶＲＡＭ）１１４Ａに書き込まれた画像データをＬＣＤ１７に表示する。このグラフィクスコントローラ１１４は、図３で説明したように、線形スケーラ（リニアスケーラ）３０１およびフィルタ３０２を有している。
【００２７】
サウスブリッジ１１９は、ＬＰＣ（Low Pin Count）バス上の各デバイス、およびＰＣＩ（Peripheral Component Interconnect）バス上の各デバイスを制御する。また、サウスブリッジ１１９は、ＨＤＤ１２１、ＯＤＤ１２２を制御するためのＩＤＥ（Integrated Drive Electronics）コントローラを内蔵している。さらに、サウスブリッジ１１９は、ＢＩＯＳ−ＲＯＭ１２０をアクセス制御するための機能も有している。
【００２８】
ＨＤＤ１２１は、各種ソフトウェア及びデータを格納する記憶装置である。光ディスクドライブ（ＯＤＤ）１２３は、ビデオコンテンツが格納されたＤＶＤ、ＣＤなどの記憶メディアを駆動するためのドライブユニットである。ＴＶチューナ１２３は、ＴＶ放送番組のような放送番組データを受信するための受信装置である。ＴＶチューナ１２３には、放送番組データを圧縮符号化するためのエンコーダが設けられている。受信された放送番組データをＨＤＤ１２１に格納する録画処理を行う場合には、受信された放送番組データはエンコーダによって圧縮符号化され、その圧縮符号化された放送番組データがＰＣＩバス、サウスブリッジ１１９、ノースブリッジ１１２を介して、主メモリ１１３に転送される。一方、受信された放送番組データをＬＣＤ１７に表示する場合には、受信された放送番組データは圧縮符号化されずに、ＰＣＩバス、サウスブリッジ１１９、ノースブリッジ１１２を介して、主メモリ１１３に転送される。
【００２９】
エンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）１２４は、電力管理のためのエンベデッドコントローラと、キーボード（ＫＢ）１３およびタッチパッド１６を制御するためのキーボードコントローラとが集積された１チップマイクロコンピュータである。このエンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）１２４は、ユーザによるパワーボタン１４の操作に応じて本コンピュータ１０をパワーオン／パワーオフする機能を有している。本コンピュータ１０の各コンポーネントに供給される動作電源は、本コンピュータ１０に内蔵されたバッテリ１２６、またはＡＣアダプタ１２７を介して外部から供給される外部電源から生成される。
【００３０】
さらに、エンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）１２４は、ユーザによるＴＶ起動ボタン１５Ａ、ＤＶＤ／ＣＤ起動ボタン１５Ｂの操作に応じて、本コンピュータ１０をパワーオンすることもできる。ネットワークコントローラ１２５は、例えばインターネットなどの外部ネットワークとの通信を実行する通信装置である。
【００３１】
次に、図４を参照して、ソフトウェア処理でノンリニアスケーリングを行う場合の画像データの流れを説明する。
【００３２】
ソフトウェアによって画像処理を行う場合においては、もし当該画像処理によってＣＰＵ１１１の負荷が一定量を超えると、ＣＰＵ１１１によって実行される他の機能への影響が生じたり、あるいは画像データをリアルタイムに処理することが出来ないという問題が発生する。このため、ソフトウェアによって画像処理を行う場合においては、ＣＰＵ１１１の負荷を軽くすることが非常に重要である。本実施形態においては、ノンリニアスケーリング処理に必要な画像データのサイズ変更処理（拡大／縮小）を比較的負荷の軽い演算処理によって実現するために、２のべき乗分の１の整数倍の拡大率でサイズ変更処理が実行される。これにより、画像を水平方向にサイズ変更するための画素補間処理を、ビットシフトと整数の乗算とを含む演算処理のみによって実現することが可能となり、サイズ変更処理に必要なＣＰＵ１１１の負荷を大幅に軽減することが出来る。
【００３３】
主メモリ１１３上でＣＰＵ１１１によって行われるノンリニアスケーリング処理により、解像度（画素数）720×480の画像データは、水平方向および垂直方向の総画素数はそのままであるが、その画像データの中央付近は水平方向に縮小される。さらに、画像データは、その画像データの両端に行くに従って大きくなる拡大率によって水平方向にサイズ変更される。このノンリニアスケーリング処理によって得られた画像データ（720×480画素）は、ノースブリッジ１１２を介して主メモリ１１３からグラフィクスコントローラ１１４に転送される。
【００３４】
グラフィックスコントローラ１１４においては、ノースブリッジ１１２からグラフィクスコントローラ１１４に転送される画像データ（720×480画素）は正方画素化（800×600画素のサイズにサイズ変更する処理）された後に、最終的には1440×900画素の画像データにリニアに拡大され、そしてＬＣＤ１７に送られる。ＬＣＤ１７に送られる画像データは、中央付近から両端に行くに従って増加する拡大率によって元画像を水平方向に拡大するという、いわゆるノンリニアスケーリングされた画像になっている。よって、以上の処理により、例えば４：３のアスペクト比を有する画像データを、画面中央部のイメージが横太りするという不具合を招くことなく、例えば１６：９または１６：１０等のアスペクト比を有するＬＣＤ１７のワイド画面全体に表示することができる。
【００３５】
次に、図５を参照して、本実施形態で実行される画像データ拡大処理の第１の例を説明する。
【００３６】
（１）ソフトウェアによるノンリニアスケーリング処理
720×480画素の元画素データ（Ａ）を、水平と垂直の総画素数は変えずに、元画素データ（Ａ）の中央エリアを水平方向に縮小すると共に、両端に行くに従って大きくなる拡大率で水平方向にサイズ変更することによって、画像データ（Ｂ）が得られる。
【００３７】
例えば、720×480画素の元画素データ（Ａ）は垂直方向に例えば１２個の画像ブロックに分割される。そして、中央エリアに属する画像ブロック６，７は水平方向に縮小される。他の画像ブロックそれぞれは、画像データの端に存在するブロックほど大きな拡大率で水平方向にサイズ変更される。
【００３８】
ここで、どの画像ブロックに対応する拡大率も、２のべき乗分の１の整数倍に設定されている。これにより、画像ブロックの拡大／縮小のための演算処理をビットシフトと整数の乗算のみによって実行することが可能となる。
【００３９】
通常、ノンリニアスケーリングされた画像データに対しては平滑化のためのフィルタリング処理を施すことが必要となる。しかし、本実施形態においては、ノンリニアスケーリング処理の後に、グラフィクスコントローラ１１４によってリニアスケーリング処理およびフィルタリング処理が実行されるので、ソフトウェア処理によるフィルタリング処理の実行は省略される。このフィルタリング処理の省略により、ＣＰＵ１１１の負荷をさらに低減することができる。
【００４０】
（２）グラフィクスコントローラによるリニアスケーリング処理
グラフィクスコントローラ１１４においては、例えば、画像データ（Ｂ）はリニアスケーリング処理によって水平方向および垂直方向にそれぞれ１．５倍され、さらにリニアスケーリング処理によって水平方向に１．２倍される。これにより、ＬＣＤ１７の表示画面サイズと同じ1440×900画素の画像データ（Ｃ）が生成される。
【００４１】
次に、図６を参照して、本実施形態で実行される画像データ拡大処理の第２の例を説明する。
【００４２】
ここでは、元画像データを水平方向に２倍拡大する場合を想定する。
【００４３】
（１）ソフトウェアによるノンリニアスケーリング処理
元画素データ（Ａ）の水平総画素数は128画素である。この元画素データ（Ａ）を、水平と垂直の総画素数は変えずに、元画素データ（Ａ）の中央エリアを水平方向に縮小すると共に、両端に行くに従って大きくなる拡大率で水平方向にサイズ変更することによって、画像データ（Ｂ）が得られる。
【００４４】
例えば、元画素データ（Ａ）は垂直方向に例えば８個の画像ブロックに分割される。そして、中央エリアに属する画像ブロック３，４，５，６は水平方向に縮小される。他の画像ブロックそれぞれは、画像データの端に存在するブロックほど大きな拡大率で水平方向にサイズ変更（拡大）される。
【００４５】
（２）グラフィクスコントローラによるリニアスケーリング処理
グラフィクスコントローラ１１４においては、例えば、画像データ（Ｂ）はリニアスケーリング処理によって水平方向に２倍される。
【００４６】
ここで、図７を参照して、図６の各画像ブロックに適用される拡大率について説明する。
【００４７】
図７の“水平画素数”が図６に示した元画像データ（Ａ）のブロック１〜８それぞれの水平画素数にあたり、図７の“ノンリニアスケール後”が図６に示した画像データ（Ｂ）のブロック１〜８それぞれの水平画素数にあたる。図７の“拡大率”は、元画像データ（Ａ）のブロック１〜８それぞれに適用される拡大率の値を示している。図７の“係数”から明らかなように、どの係数についても分母は２のべき乗となっているので、どの画像ブロックの拡大率も２のべき乗分の１の整数倍の値になっている。中央のブロック４，５各々の拡大率は0.8125(=13/16)である。中央のブロック４，５の左側に位置するブロック３，２，１それぞれの拡大率は、中央のブロック４，５各々の拡大率よりも大きく、且つブロック３，２，１の順で大きくなる。また、中央のブロック４，５の右側に位置するブロック６，７，８それぞれの拡大率も、中央のブロック４，５各々の拡大率よりも大きく、且つブロック６，７，８の順で大きくなる。図７の“横２倍”は、リニアスケーリングによって水平方向に２倍された後のブロック１〜８それぞれの水平画素数を示している。
【００４８】
次に、２のべき乗分の１の整数倍の拡大率で画像ブロックを水平方向にサイズ変更（拡大または縮小）するための画素補間処理について説明する。
【００４９】
上述したように、２のべき乗分の１の整数倍の拡大率を用いることにより、画素補間処理を実行するための演算を大幅に簡単化することが可能となる。
【００５０】
図８は、２のべき乗分の１の整数倍の拡大率を用いて、画像ブロックを水平方向に拡大する場合の画素補間処理の例を示している。
【００５１】
ここでは、説明を簡単にするために、画像ブロックの水平画素数を補間処理によって４画素から５画素に拡大する場合を想定する（拡大率＝５／４）。元画像ブロックＰはＰ１〜Ｐ４の４画素から構成され、拡大後の画像ブロックＱはＱ１〜Ｑ５の５画素から構成されているとする。
【００５２】
画素Ｑ１の画素値は画素Ｐ１の画素値と一致する。画素Ｑ２の画素値は、２つの画素Ｐ１，Ｐ２それぞれの画素値から生成される。画素Ｑ３の画素値は、２つの画素Ｐ２，Ｐ３それぞれの画素値から生成される。画素Ｑ４の画素値は、２つの画素Ｐ３，Ｐ４それぞれの画素値から生成される。画素Ｑ５の画素値は画素Ｐ４の画素値と一致する。
【００５３】
拡大の場合の画素補間処理の一般式は、以下の通りである。
【００５４】
Qk=(((k-1)/n)*(Pk-1)+((n-k)/n)*Pk)*(n/m)  （ｋ＝１、K=nを除く）
=((k-1)*(Pk-1)+(n-k)*Pk)1/m              …（１）
ここで、ｍは元画像ブロックＰの水平画素数、ｎは拡大後の画像ブロックＱの水平画素数、Qkは拡大後の画像ブロックＱ内のK番目の画素の画素値である。
【００５５】
（１）式から明らかなように、分母に出現する値はｍだけとすることができる。したがって、拡大率（ｎ／ｍ）を２のべき乗分の１の整数倍とすることにより、“1/m”の割り算をビットシフトのみによって容易に実行することができる。
【００５６】
図９は、２のべき乗分の１の整数倍の拡大率を用いて、画像ブロックを水平方向に縮小する場合の画素補間処理の例を示している。
【００５７】
ここでは、説明を簡単にするために、画像ブロックの水平画素数を補間処理によって４画素から３画素に縮小する場合を想定する（拡大率＝３／４）。元画像ブロックＰはＰ１〜Ｐ４の４画素から構成され、縮小後の画像ブロックＱはＱ１〜Ｑ３の３画素から構成されているとする。
【００５８】
画素Ｑ１の画素値は２つの画素Ｐ１，Ｐ２それぞれの画素値から生成される。画素Ｑ２の画素値は、２つの画素Ｐ２，Ｐ３それぞれの画素値から生成される。画素Ｑ３の画素値は、２つの画素Ｐ３，Ｐ４それぞれの画素値から生成される。
【００５９】
縮小の場合の画素補間処理の一般式は、以下の通りである。
【００６０】
Qk=(((n-(k-1))/n)*Pk+(k/n)*Pk+1)*(n/m)
=((n-(k-1))*Pk+k*Pk+1)/m              …（２）
ここで、ｍは元画像ブロックＰの水平画素数、ｎは縮小後の画像ブロックＱの水平画素数、Qkは縮小後の画像ブロックＱ内のK番目の画素の画素値である。
【００６１】
（２）式から明らかなように、縮小のための画素補間処理演算においても、分母に出現する値はｍだけとすることができる。したがって、拡大率（ｎ／ｍ）を２のべき乗分の１の整数倍とすることにより、“1/m”の割り算をビットシフトのみによって容易に実行することができる。
【００６２】
次に、図１０のフローチャートを参照して、本実施形態で実行される画像処理の手順を説明する。
【００６３】
ＣＰＵ１１１は、まず、処理対象画の画像データを入力する（ステップＳ１０１）。そして、ＣＰＵ１１１は、入力画像データを各々が垂直方向に延びた複数の画像ブロックに分割して（ステップＳ１０２）、その入力画像データに対してノンリニアスケーリング処理を施す（ステップＳ１０３）。ステップＳ１０３では、ＣＰＵ１１１は、入力画像データの中央エリアに属する１以上の画像ブロックを１よりも小さい拡大率で水平方向にサイズ変更することにより、当該１以上の画像ブロックを水平方向に縮小する。さらに、ステップＳ１０３では、ＣＰＵ１１１は、残りの複数の画像ブロックそれぞれを、各々が中央エリアの画像ブロックに対応する拡大率よりも大きな値を有し、且つ入力画像データの端に行くほど増加する複数の拡大率を用いて水平方向にサイズ変更する。入力画像データ内のどの画像ブロックについても、２のべき乗分の１の整数倍の値が拡大率として選ばれる。サイズ変更処理では、ＣＰＵ１１１は、正の整数の乗算とビットシフトとを含む演算処理を実行する。
【００６４】
この後、ＣＰＵ１１１は、ノンリニアスケーリングされた画像データをグラフィクスコントローラ１１４に送出する（ステップＳ１０４）。
【００６５】
グラフィクスコントローラ１１４は、ノンリニアスケーリングされた画像データをリニアスケーリングによって水平方向に一定の水平方向拡大率で拡大（または水平方向および垂直方向それぞれについて一定の水平方向拡大率および一定の垂直方向拡大率で拡大）し、これによってＬＣＤ１７の画面サイズに対応するサイズの出力画像データを生成する（ステップＳ１０５）。次に、グラフィクスコントローラ１１４は、フィルタ回路（ＬＰＦ：ローパスフィルタ）３０２によって出力画像データを平滑化するためのフィルタリング処理を実行する（ステップＳ１０６）。そして、グラフィクスコントローラ１１４は、平滑化された出力画像データをＬＣＤ１７に表示する（ステップＳ１０７）。
【００６６】
以上のように、本実施形態においては、ソフトウェア処理によって画像データの中央部を水平方向に一旦縮小した後に、当該画像データがグラフィックスコントローラ１１４によって一様に拡大され、ＬＣＤ１７のワイド画面に表示される。よって、専用のノンリニアスケーラ回路をグラフィックスコントローラ１１４の後段に設けることなく、既存のグラフィックスコントローラを用いてノンリニアスケーリング機能を実現することができるので、専用のノンリニアスケーラ回路を設ける場合に比し、コストの低減を図ることができる。
【００６７】
また、本実施形態のノンリニアスケーリング処理においては、どのブロックの拡大率も２のべき乗分の１の整数倍となっている。これにより、拡大／縮小のための画素補間処理を整数の乗算とビットシフトで実現することができ、負荷の重い浮動小数点演算を実行する必要が無い。よって、ＣＰＵ１１１の負荷の増大を招くことをなく、ソフトウェアによってノンリニアスケーリング処理を実行することが可能となる。
【００６８】
さらには、グラフィックスコントローラ１１４においては、リニアスケーラ３０１の後段にフィルタ３０２が存在するため、ノンリニアスケーリング後のフィルタリング処理の実行を省略することができるというメリットもある。
【００６９】
なお、ソフトウェアによるノンリニアスケーリング処理においては、画像データの中央エリアを水平方向に縮小する処理だけを実行するようにしてもよい。この場合でも、拡大後の画像において、中央部が横太りすることを防止することができる。
【００７０】
また、本実施形態では、放送番組データに含まれる画像データを拡大表示する場合を例示したが、本実施形態の画像処理方法は、ＤＶＤのような記憶メディアから読み出される画像データ等を拡大表示する場合にも適用することができる。
【００７１】
また、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００７２】
【図１】本発明の一実施形態に係るコンピュータの概観を示す斜視図。
【図２】図１のコンピュータのシステム構成を示すブロック図。
【図３】図１のコンピュータで用いられるＴＶアプリケーションプログラムの機能構成を示すブロック図。
【図４】図１のコンピュータにおける画像データの流れを説明するための図。
【図５】図１のコンピュータで実行される画像データ拡大処理の第１の例を説明するための図。
【図６】図１のコンピュータで実行される画像データ拡大処理の第２の例を説明するための図。
【図７】図６の画像データ拡大処理において各画像ブロックに適用される拡大率の例を説明するための図。
【図８】図１のコンピュータにおいて、２のべき乗分の１の整数倍の拡大率を用いて画像ブロックを水平方向に拡大するための画素補間処理の例を説明するための図。
【図９】図１のコンピュータにおいて、２のべき乗分の１の整数倍の拡大率を用いて画像ブロックを水平方向に縮小するための画素補間処理の例を説明するための図。
【図１０】図１のコンピュータによって実行される画像処理の手順を説明するフローチャート。
【符号の説明】
【００７３】
１０…コンピュータ、１１１…ＣＰＵ、１１４…グラフィクスコントローラ、１２３…ＴＶチューナ、２０１…ＴＶアプリケーションプログラム、２１５…ノンリニアスケーリングモジュール、３０１…リニアスケーラ、３０２…フィルタ。
【図１】
2006349757.tif 000003
【図２】
2006349757.tif 000004
【図３】
2006349757.tif 000005
【図４】
2006349757.tif 000006
【図５】
2006349757.tif 000007
【図６】
2006349757.tif 000008
【図７】
2006349757.tif 000009
【図８】
2006349757.tif 000010
【図９】
2006349757.tif 000011
【図１０】
2006349757.tif 000012