(57)【特許請求の範囲】
【請求項１】
入力されてくる画像データを複数のブロックに分割して出力するブロック分割手段と、
出力される前記ブロックごとに、少なくともそのブロック内のデータを利用して、色差信号の補間処理またはライン間のフィルタリング処理を行うブロック内処理手段と、
異なる前記ブロックの前記画像データを利用して、前記補間処理または前記フィルタリング処理を行うブロック間処理手段と、
前記ブロック内処理手段が前記補間処理または前記フィルタリング処理を行った前記ブロックの前記画像データを、複数の前記ブロック分について一時的に保持するバッファ手段とを備え、
前記ブロック間処理手段は、（１）一方の前記ブロックの前記画像データとして、前記バッファ手段が保持している前記画像データを利用し、他方の前記ブロックの前記画像データとして、前記ブロック内処理手段が前記補間処理または前記フィルタリング処理を行った前記画像データを利用することにより、前記補間処理または前記フィルタリング処理を行い、（２）前記バッファ手段が保持している前記画像データに、自身が前記補間処理または前記フィルタリング処理を行った前記画像データを書き戻すデータ処理装置。
【請求項２】
入力されてくる前記画像データは、ＭＰＥＧストリームまたはＤＶストリームである請求項１記載のデータ処理装置。
【請求項３】
一方の前記ブロックは、同一フレーム内において他方の前記ブロックと隣接する請求項１記載のデータ処理装置。
【請求項４】
入力されてくる画像データを複数のブロックに分割して出力するブロック分割ステップと、
出力される前記ブロックごとに、少なくともそのブロック内のデータを利用して、色差信号の補間処理またはライン間のフィルタリング処理を行うブロック内処理ステップと、
異なる前記ブロックの前記画像データを利用して、前記補間処理または前記フィルタリング処理を行うブロック間処理ステップと、
前記ブロック内処理ステップで前記補間処理または前記フィルタリング処理を行った前記ブロックの前記画像データを、複数の前記ブロック分についてバッファに一時的に保持するバッファ保持ステップとを備え、
前記ブロック間処理ステップにおいては、（１）一方の前記ブロックの前記画像データとして、前記バッファに保持している前記画像データを利用し、他方の前記ブロックの前記画像データとして、前記ブロック内処理ステップで前記補間処理または前記フィルタリング処理を行った前記画像データを利用することにより、前記補間処理または前記フィルタリング処理を行い、（２）前記バッファに保持している前記画像データに、前記補間処理または前記フィルタリング処理を行った前記画像データを書き戻すデータ処理方法。
【請求項５】
請求項４記載のデータ処理方法の、入力されてくる画像データを複数のブロックに分割して出力するブロック分割ステップと、出力される前記ブロックごとに、少なくともそのブロック内のデータを利用して、色差信号の補間処理またはライン間のフィルタリング処理を行うブロック内処理ステップと、異なる前記ブロックの前記画像データを利用して、前記補間処理または前記フィルタリング処理を行うブロック間処理ステップと、前記ブロック内処理ステップで前記補間処理または前記フィルタリング処理を行った前記ブロックの前記画像データを、複数の前記ブロック分についてバッファに一時的に保持するバッファ保持ステップとをコンピュータに実行させるためのプログラムを記録した記録媒体であって、コンピュータにより処理可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ処理装置、データ処理方法、および記録媒体に関する。
【０００２】
【従来の技術】
これまでは、パーソナルコンピュータ（ＰＣ）上で扱うことができる画像データは、Ｒ（赤）信号、Ｇ（緑）信号、Ｂ（青）信号からなるＲＧＢ形式であったが、昨今は、図１５に示すように、Ｙ（輝度）信号４に対し、Ｖ（第１色差）信号２、Ｕ（第２色差）信号２から成る４：２：２形式も扱うことが可能になってきている。
【０００３】
膨大な情報量を持つ画像データの記録、伝送などを行う場合、画像データの符号化により情報量の削減を行うことが一般的である。画像データの符号化方法の例として、ＭＰＥＧ符号化、ＤＶ（Ｄｉｇｉｔａｌ  Ｖｉｄｅｏ）符号化がある。
【０００４】
はじめに、図１５に示すような、ＮＴＳＣ（Ｎａｔｉｏｎａｌ  Ｔｅｌｅｖｉｓｉｏｎ  Ｓｙｓｔｅｍ  Ｃｏｍｍｉｔｅｅ、アメリカで定められた現行テレビ方式であって、日本国内の方式もこれに準拠；５２５本の走査線を使用）に相当する、Ｙ信号の水平画素数が７２０、垂直ライン数が４８０である４：２：２形式の画像データを、ＭＰＥＧ符号化する方法について説明する。このとき、符号化されるＵ、Ｖ信号はそれぞれ水平画素数３６０、垂直ライン数４８０である。
【０００５】
色差信号は、輝度信号に比べて人間の視覚に敏感ではないため、符号化前に色差信号を間引き、符号化すべき情報量を削減しても、復号後の画質が大きく劣化することはない。ＭＰＥＧ符号化においては、Ｕ、Ｖ信号をおのおの１ラインごとに間引いて垂直ライン数を２４０とした４：２：０形式（図１６）に変換することが一般的である。この場合、Ｙ、Ｕ、Ｖはそれぞれ７２０画素×４８０ライン、３６０画素×２４０ライン、３６０画素×２４０ラインとなる。
【０００６】
Ｕ、Ｖ信号を間引く場合、図１７のように、Ｖ信号は第０、第２、第４、．．．、第４７８ラインに相当するラインを抽出し、一方、Ｕ信号は第１、第３、第５、．．．、第４７９ラインに相当するラインを抽出する。この場合、折り返し歪みを回避するために、適当なフィルタリングを行うことが一般的である。
【０００７】
続いて、Ｙ、Ｕ、Ｖそれぞれを、図１８のように、水平８画素、垂直８ラインからなるブロックに分割する。このとき、Ｙ信号は水平９０ブロック、垂直６０ブロック、Ｕ、Ｖ信号はそれぞれ水平４５ブロック、垂直３０ブロックに分割される。
【０００８】
さらに、画面上の同一場所に位置するブロックから、マクロブロックを構成する。４：２：０形式の場合、マクロブロックは、図１９に示すように、４個のＹブロック、１個のＶブロック、１個のＵブロックから形成される。
【０００９】
ＭＰＥＧ符号化の特長は、マクロブロックの画像データを直接符号化するイントラ符号化ブロックのほか、近隣のフレーム（以下では参照フレームともいう）のデータとの差分値を符号化するインター符号化ブロックが存在することである。
【００１０】
インター符号化は、参照フレームのＹ、Ｕ、Ｖ信号おのおのに対して、水平１／２画素、垂直１／２ライン単位で仮想的に補間した図２０のような画素データを考え、インター符号化するマクロブロックの画像に最も近いマクロブロックを探索することによって行われる。すなわち、インター符号化は、符号化するフレームと参照フレームとの相対位置（動きベクトル）、および両フレームの画素の差分値に対して行われるのである。ここに、動きベクトルは、水平ベクトルおよび垂直ベクトルがあり、水平ベクトルは１／２画素、垂直ベクトルは１／２ラインの整数倍で与えられる。このインター符号化により、大幅な情報量削減が実現する。
【００１１】
図２１に示すように、画面上の左上から右下に向かって、各マクロブロックの離散コサイン変換、可変長符号化などが施され、ＭＰＥＧ符号語列（以下ではＭＰＥＧストリームともいう）が出力される。ここで、図２１において、水平方向に４５マクロブロックを連結したものをマクロブロック列と定義し、画面上方から順に第０マクロブロック列、第１マクロブロック列、．．．、第２９マクロブロック列と呼ぶことにする。
【００１２】
つぎに、やはり図１５に示すような画像データを、ＤＶ符号化する方法について説明する。
【００１３】
ＤＶ符号化では、図１５のようなＮＴＳＣ相当の画像データは、ＤＶ符号化前に、Ｕ、Ｖ信号は水平方向に１／２倍に間引かれ、図２２のような４：１：１形式に変換される。また、４：１：１形式への変換は、図２３のように水平方向の画素位置が０、２、４画素目に相当する画素を抽出し、折り返し歪みを回避するために、適当なフィルタを作用させる。
【００１４】
４：１：１形式に変換後、ＭＰＥＧ符号化の場合と同様に、図２４に示すようにして水平８画素、垂直８ラインのブロックに分割され、図２５に示すようなマクロブロックが構成される。なお、Ｕ、Ｖ信号の最も右端に位置するマクロブロックは、水平４画素、垂直１６ラインの画素を水平８画素、垂直８ラインに再構成される。
【００１５】
ＤＶ符号化では、図２６に示すように、画面上なるべく遠く離れた５マクロブロックを、所定の規則に基づいて１個の符号化単位として固定符号長で符号化し、出力する。この操作（シャフリングという）により、各符号化単位の符号長が均一となり、かつ復号時にエラーが生じても、エラーを含むデータを画面上で分散させることで、視覚的にエラーを目立たなくするという効果がある。
【００１６】
各マクロブロックデータは、離散コサイン変換、可変長符号化などを施され、ＤＶ符号化された符号語列（以下ではＤＶストリームともいう）として出力される。なお、ＤＶ符号化における離散コサイン変換、可変長符号化の詳細は、ＭＰＥＧ符号化とは異なるものである。
【００１７】
つぎに、ＭＰＥＧストリームまたはＤＶストリームを、画像データに復号する従来の方法について説明する。
【００１８】
まず、従来のＭＰＥＧストリームの復号装置の構成および動作を説明しながら、ＭＰＥＧストリームを画像データに復号する従来の方法について述べる。なお、図２７は、従来のＭＰＥＧストリームの復号装置の構成および動作を説明するためのブロック図である。
【００１９】
図２７において、２７０１はＭＰＥＧストリームの入力部、２７０２はＭＰＥＧ復号部、２７０３は第１バッファ、２７０４は色差信号補間部、２７０５は第２バッファ、２７０６は復号された４：２：２形式の画像データを出力する出力部である。
【００２０】
入力部２７０１に入力されたＭＰＥＧストリームは、ＭＰＥＧ復号部２７０２で復号され、４：２：０形式の画像データとして第１バッファ２７０３に格納される。なお、インター符号化ブロックの復号には、すでに復号済で第１バッファ２７０３に保持されているデータを利用する。
【００２１】
１フレーム分の復号が終了した後、色差信号補間部２７０４で、第１バッファ２７０３の４：２：０形式の画像データを４：２：２形式に変換し、第２バッファに保持する。１フレーム分の色差信号補間の終了後、画像信号を出力部２７０６より出力する。
【００２２】
図２８に示すように、補間するべき画素値は、隣り合うラインで同一の水平位置にある２画素の画素値の算術平均値とするが、平均値をとるべきラインが存在しない場合には、直前のラインをそのままコピーする（たとえばＶ信号の４７９ラインを生成する場合には、４７８ラインをそのままコピーする）。なお、図２８は、色差信号補間部２７０４における、４：２：０形式から４：２：２形式への補間方法の一例を説明するための図である。
【００２３】
つぎに、従来のＤＶストリームの復号装置の構成および動作を説明しながら、ＤＶストリームを画像データに復号する従来の方法について述べる。なお、図２９は、従来のＤＶストリームの復号装置の構成および動作を説明するためのブロック図である。
【００２４】
図２９において、２９０１はＤＶストリームが入力される入力部、２９０２はＤＶ復号部、２９０３は書き込みアドレス生成部、２９０４は第１バッファ、２９０５は色差信号補間部、２９０６は第２バッファ、２９０７は出力部である。
【００２５】
入力部２９０１に入力されたＤＶストリームは、ＤＶ復号部２９０２により復号される。また書き込みアドレス生成部２９０３では、フレーム内のマクロブロックの入力順およびシャフリングの規則に基づき、各マクロブロックの第１バッファ２９０４上での書き込みアドレスを生成する。ＤＶ復号部２９０２により４：１：１形式に復号された各マクロブロックは、書き込みアドレス生成部２９０３により生成された書き込みアドレスにしたがって、第１バッファ２９０４に書き込まれる。
【００２６】
１フレームの画像データの復号が終了した後、色差信号補間部２９０５は、第１バッファ２９０４上の４：１：１形式の画像データを、４：２：２形式に変換し、第２バッファ２９０６に出力する。１フレーム分の色差信号補間の終了後、画像信号を出力部２９０７より出力する。
【００２７】
図３０に示すように、ＤＶの場合における色差信号の補間方法は、補間を行う方向が垂直方向と水平方向とで異なることを除けば、ＭＰＥＧの場合における色差信号の補間方法と同様である。なお、図３０は、色差信号補間部２９０５における、４：１：１形式から４：２：２形式への補間の一例を説明した図である。
【００２８】
つぎに、ライン（フィールド）間のフィルタリングについて説明する。
【００２９】
図３１に示すように、ＭＰＥＧ、ＤＶ復号された画像信号は、フレームを構成するフィールドが、ライン単位でインターリーブされている。このような画像信号をフレーム単位で出力した場合、特に水平方向に動きが大きなフレームでは、大きな画質劣化を引き起こすことがある。
【００３０】
このような事態を回避するために、復号された画像信号を、図３２に示すように、隣り合うライン（フィールド）同士でフィルタリングを行って出力することがあるのである。すなわち、フィルタリング後の第ｎラインを、フィルタリング前の第ｎラインおよび第ｎ−１ラインの算術平均値をとって生成するものである。ただし、ｎ＝０のときは、フィルタリング前の第０ラインをそのままフィルタリング後の第０ラインとする。
【００３１】
図３３において、３３０１はＭＰＥＧストリームの入力部、３３０２はＭＰＥＧ復号部、３３０３は第１バッファ、３３０４はフィルタリング部、３３０５は第２バッファ、３３０６は出力部である。なお、図３３は、従来のラインフィルタリングを行うことのできる復号装置の構成と動作について説明するためのブロック図である。
【００３２】
入力部３３０１に入力されたＭＰＥＧストリームは、復号済みの第１バッファ３３０３上のデータも利用してＭＰＥＧ復号部３３０２で復号される。
第１バッファ３３０３上のデータは、ラインフィルタ部３３０４で、図３２に示されているフィルタリングを施され、第２バッファ３３０５に保持される。１フレーム分のラインフィルタリングの終了後、画像信号が出力部３３０６より出力される。
【００３３】
【発明が解決しようとする課題】
ところで、これまでに説明した画像データ処理は、コンピュータをはじめとする演算処理装置を用いても行うことができる。すなわち、前述されたステップの動作をコンピュータにより実行させるためのソフトウェアを作成し、ＣＰＵ、メモリおよびハードディスクなどが互いにバスで接続されたコンピュータに、これを実行させることができる。このようなソフトウェアを利用することにより、ＭＰＥＧストリーム、もしくはＤＶストリームを、直接コンピュータに取り込んで復号処理し、コンピュータに接続されたモニタに表示させることが可能である。
【００３４】
しかしながら、たとえば、図２７に示すような構成を有する従来の演算処理装置でＭＰＥＧ復号を行うときには、第１バッファ２７０３上のＵ、Ｖ信号を読み出して色差信号補間を行い、第２バッファ２７０５に色差信号補間されたデータを書き込むが、Ｕ、Ｖ信号の補間は並列に行うことが多く、１フレームのＵ、Ｖ信号を保持するために必要な第１バッファ２７０３の容量は、約１６８Ｋ（キロ）バイトにもおよぶ。この結果、補間に必要となるＵ、Ｖ信号の画素値を、主記憶に比べてより高速な読み出しが可能なキャッシュから読み出せる確率は、相当小さくなる。
【００３５】
このような現象は、前述されたＤＶ復号時の色差信号変換、およびライン（フィールド）間フィルタリングにおいても同様に生じる。すなわち、たとえばソフトウェアを利用してコンピュータなどで画像処理を行うとき、リアルタイム性の要求される画像データの復号処理などで、画素値を読み出すときに致命的なタイムロスが生じるという課題があった。
【００３６】
本発明は、上記従来のこのような課題を考慮し、画像データの復号処理などにおいて画素値を読み出す際のタイムロスが小さいデータ処理装置、データ処理方法、および記録媒体を提供することを目的とするものである。
【００３７】
【課題を解決するための手段】
第一の本発明（請求項１に対応）は、入力されてくる画像データを複数のブロックに分割して出力するブロック分割手段と、
出力される前記ブロックごとに、少なくともそのブロック内のデータを利用して、色差信号の補間処理またはライン間のフィルタリング処理を行うブロック内処理手段と、
異なる前記ブロックの前記画像データを利用して、前記補間処理または前記フィルタリング処理を行うブロック間処理手段と、
前記ブロック内処理手段が前記補間処理または前記フィルタリング処理を行った前記ブロックの前記画像データを、複数の前記ブロック分について一時的に保持するバッファ手段とを備え、
前記ブロック間処理手段は、（１）一方の前記ブロックの前記画像データとして、前記バッファ手段が保持している前記画像データを利用し、他方の前記ブロックの前記画像データとして、前記ブロック内処理手段が前記補間処理または前記フィルタリング処理を行った前記画像データを利用することにより、前記補間処理または前記フィルタリング処理を行い、（２）前記バッファ手段が保持している前記画像データに、自身が前記補間処理または前記フィルタリング処理を行った前記画像データを書き戻すデータ処理装置である。
【００３８】
第二の本発明（請求項２に対応）は、入力されてくる前記画像データは、ＭＰＥＧストリームまたはＤＶストリームである第１の本発明のデータ処理装置である。
【００３９】
第三の本発明（請求項３に対応）は、一方の前記ブロックは、同一フレーム内において他方の前記ブロックと隣接する第１の本発明のデータ処理装置である。
【００４０】
第四の本発明（請求項４に対応）は、入力されてくる画像データを複数のブロックに分割して出力するブロック分割ステップと、
出力される前記ブロックごとに、少なくともそのブロック内のデータを利用して、色差信号の補間処理またはライン間のフィルタリング処理を行うブロック内処理ステップと、
異なる前記ブロックの前記画像データを利用して、前記補間処理または前記フィルタリング処理を行うブロック間処理ステップと、
前記ブロック内処理ステップで前記補間処理または前記フィルタリング処理を行った前記ブロックの前記画像データを、複数の前記ブロック分についてバッファに一時的に保持するバッファ保持ステップとを備え、
前記ブロック間処理ステップにおいては、（１）一方の前記ブロックの前記画像データとして、前記バッファに保持している前記画像データを利用し、他方の前記ブロックの前記画像データとして、前記ブロック内処理ステップで前記補間処理または前記フィルタリング処理を行った前記画像データを利用することにより、前記補間処理または前記フィルタリング処理を行い、（２）前記バッファに保持している前記画像データに、前記補間処理または前記フィルタリング処理を行った前記画像データを書き戻すデータ処理方法である。
【００４１】
第五の本発明（請求項５に対応）は、第４の本発明のデータ処理方法の、入力されてくる画像データを複数のブロックに分割して出力するブロック分割ステップと、出力される前記ブロックごとに、少なくともそのブロック内のデータを利用して、色差信号の補間処理またはライン間のフィルタリング処理を行うブロック内処理ステップと、異なる前記ブロックの前記画像データを利用して、前記補間処理または前記フィルタリング処理を行うブロック間処理ステップと、前記ブロック内処理ステップで前記補間処理または前記フィルタリング処理を行った前記ブロックの前記画像データを、複数の前記ブロック分についてバッファに一時的に保持するバッファ保持ステップとをコンピュータに実行させるためのプログラムを記録した記録媒体であって、コンピュータにより処理可能な記録媒体である。
【００５８】
【発明の実施の形態】
以下では、本発明にかかる実施の形態について、図面を参照しつつ説明を行う。
【００５９】
（実施の形態１）
はじめに、本実施の形態１におけるデータ処理装置の構成および動作について、主として、本実施の形態１におけるデータ処理装置のブロック図である図１を参照しながら説明する。なお、本実施の形態のデータ処理装置の構成および動作を説明すると同時に、本発明のデータ処理方法の一実施の形態についても述べる。
【００６０】
まず、図１を参照しながら、本実施の形態１におけるデータ処理装置の構成について説明する。
【００６１】
図１において、１０１は入力部、１０２は復号部、１０３はライン情報生成部、１０４はブロック内処理部、１０５はバッファ、１０６はブロック間処理部、１０７は出力部である。
【００６２】
なお、入力部１０１、復号部１０２を含む手段は本発明のブロック分割手段に対応し、ブロック内処理部１０４を含む手段は本発明のブロック内処理手段に対応し、ブロック間処理部１０６を含む手段は本発明のブロック間処理手段に対応し、バッファ１０５を含む手段は本発明のバッファ手段に対応する。
【００６３】
つぎに、主として図１を参照しながら、本実施の形態１におけるデータ処理装置の動作について説明する。なお、第１の実施の形態においては、入力データはＭＰＥＧストリームとし、復号部１０２で４：２：０形式の画像データに復号され、これを４：２：２形式の画像データに変換して出力するものとする。また、本実施の形態の入力画像データのＵ、Ｖ信号の画素サイズは、３６０画素×２４０ラインである。したがって、出力されるＵ、Ｖ信号の画素サイズは、３６０画素×４８０ラインである。本実施の形態では、Ｖ信号の補間の場合について説明するが、Ｕ信号の補間の場合でも同様に実施できる。
【００６４】
入力部１０１からは、ＭＰＥＧストリームが入力され、復号部１０２でＭＰＥＧ復号され、４：２：０形式の画像データがマクロブロック単位で復号部１０２より出力される。マクロブロックの出力順序は、図２１に示されている。
【００６５】
ライン情報生成部１０３は、復号部１０２より出力されるマクロブロックのマクロブロック行番号、およびブロック内処理部１０４の処理状況に応じ、バッファ１０５に出力すべきライン番号を生成する。
【００６６】
ブロック内処理部１０４は、図２に示すように、入力された８画素×８ラインから構成されるＶ信号のブロック（以下では入力ブロックともいう）を、８画素×１６ラインの出力ブロックに変換する。本実施の形態１では、出力ブロックの第２ｎライン（ｎ＝０、１、．．．、７）は、入力ブロックの第ｎラインをそのまま複写し、出力ブロックの第２ｎ＋１ライン（ｎ＝０、１、．．．、６）は、入力ブロックの第ｎラインおよび第ｎ＋１ラインの算術平均値とする。
【００６７】
また、入力ブロックの第７ラインの各画素値を１／２としたものを、出力ブロックの第１５ラインの画素値とする。ただし、マクロブロック行番号が２９、すなわち画面で最も下部に位置するマクロブロックに限って、出力ブロックの第１５ラインは、入力ブロックの第７ラインを複写する。
【００６８】
出力ブロックのデータは、ライン情報生成部１０３で生成されるライン番号、および当該マクロブロックのマクロブロック列内の水平位置に応じて、バッファ１０５の所定の位置に書き込まれる。また、ライン番号が１６、３２、４８、．．．、４６４のとき、すなわち、フレーム上では自身より上のラインが存在するが、出力ブロック上では最も上部に位置するラインで、かつフレーム上で自身より上のラインが存在するとき、当該ラインデータはブロック間処理部１０６にも供給される。
【００６９】
ブロック間処理部１０６は、当該ラインのおのおの１ライン上のデータをバッファ１０５から読み出し、当該ラインの各画素値を１／２とした画素値をバッファ１０５から読み出したデータに加算し、再度バッファ１０５に書き戻す。
【００７０】
以上の操作を繰り返し、バッファ１０５に１フレーム分の４：２：２形式のデータが書き込まれたとき、出力部１０７から出力される。
【００７１】
従来は、Ｖ信号をライン補間するとき、補間に使用される二本のライン上のデータを、３６０画素×２４０ラインからなる大きな第１バッファ２７０３（図２７参照）から直接読み出していたので、ほとんどの場合、読み出しは主記憶にアクセスすることによって行う必要があった。
【００７２】
しかし、本実施の形態では、ブロック内処理部１０２でライン補間操作に使用されるデータは、Ｖ信号６４バイト、Ｕ信号６４バイトであるため、ブロック内処理部１０４による処理直後であれば、キャッシュからデータを読み出すことが可能である。また場合によっては、レジスタに存在するデータをも利用することが可能であり、処理時間の大きな削減を行うことができるという利点を有する。
【００７３】
また、本実施の形態では、各マクロブロックの最上ラインのデータは、ブロック内処理部１０４による処理直後であれば、キャッシュ内に存在するため、当該ラインの１ライン上にある１ライン分のデータのみをバッファ１０５から読み出せばよく、さらに処理の高速化を図ることができる。
【００７４】
以上説明したように、本発明の第１の実施の形態では、補間操作のために必要なデータのうちの大部分を、主記憶と比較してより読み出し時間が短いキャッシュ、もしくはレジスタから読み出すことが可能となるため、色差信号補間をコンピュータ上のソフトウェアで実行したとき大幅な処理時間の短縮を行うことが可能である。
【００７５】
（実施の形態２）
つぎに、本実施の形態２におけるデータ処理装置の構成および動作について、主として、本実施の形態２におけるデータ処理装置のブロック図である図３を参照しながら説明する。なお、本実施の形態のデータ処理装置の構成および動作を説明すると同時に、本発明のデータ処理方法の一実施の形態についても述べる。
【００７６】
まず、図３を参照しながら、本実施の形態２におけるデータ処理装置の構成について説明する。
【００７７】
図３において、３０１は入力部、３０２は復号部、３０３は書き込みアドレス生成部、３０４はブロック内処理部、３０５はブロック情報保持部、３０６は第１スイッチ、３０７は第１ブロック間処理部、３０８は第２スイッチ、３０９は第２ブロック間処理部、３１０はバッファ、３１１は出力部である。
【００７８】
なお、入力部３０１、復号部３０２を含む手段は本発明のブロック分割手段に対応し、ブロック内処理部３０４を含む手段は本発明のブロック内処理手段に対応し、第１ブロック間処理部３０７、第２ブロック間処理部３０９を含む手段は本発明のブロック間処理手段に対応する。
【００７９】
つぎに、主として図３を参照しながら、本実施の形態２におけるデータ処理装置の動作について説明する。なお、本実施の形態においては、ＤＶストリームを入力し、復号部３０２で４：１：１形式のマクロブロック単位の画像データに復号し、４：２：２形式の画像データに変換して、バッファ３１０に蓄積してフレーム単位で出力するものとする。また、本実施の形態の入力画像データのＵ、Ｖ信号のフレームあたりの画素サイズは１８０画素×７２０ラインである。したがって、出力されるＵ、Ｖ信号のフレームあたりの画素サイズは、３６０画素×４８０ラインである。本実施の形態においても、Ｖ信号の補間について説明するが、Ｕ信号の場合も同様である。
【００８０】
入力部３０１から、ＤＶストリームが入力され、復号部３０２でＤＶ復号が行われて、４：１：１形式のマクロブロックデータが、復号部３０２から出力される。図２６に示されているように、ＤＶ符号化では、シャフリングが行われるため、復号部３０２からのマクロブロックの出力順は、第１の実施の形態で説明したＭＰＥＧ復号のように、画面上の左上から右下に向けた順序とはならない。
【００８１】
そこで、書き込みアドレス生成部３０３は、復号部３０２の処理順、およびシャフリングパターンに応じて、当該マクロブロックのバッファ３１０に書き込むべきアドレスを生成する。また、復号部３０２の出力は、ブロック内処理部３０４に供給される。
【００８２】
ブロック情報保持部３０５は、各マクロブロックに対して、上位ビットＸ、下位ビットＹからなる、図４に示すような２ビットのブロック情報を保持する。上位ビットは、当該マクロブロックの左側のマクロブロックが有効であれば（すなわち、バッファ３１０上に既に書き込まれていれば）「１」、有効でなければ（すなわち、バッファ３１０上にまだ書き込まれていなければ）「０」とする。また、下位ビットは、当該マクロブロックの右側のマクロブロックが有効であれば「１」、有効でなければ「０」とする。なお、フレーム単位での処理開始前は、すべてのブロック情報は「００」である。
【００８３】
ブロック内処理部３０４は、図５に示すように、８画素×８ラインから構成されるＶ信号の入力ブロックを、１６画素×８ラインの出力ブロックに変換する。本実施の形態２では、出力ブロックの第２ｎ画素（ｎ＝０、１、．．．、７）は、入力ブロックの第ｎ画素をそのまま複写し、出力ブロックの第２ｎ＋１画素（ｎ＝０、１、．．．、６）は、入力ブロックの第ｎ画素および第ｎ＋１画素の算術平均値をとる。また、入力ブロックの第７画素の画素値を１／２としたものを、出力ブロックの第１５画素の画素値とする。
【００８４】
なお、フレームの最も右端の入力ブロックは、フレーム上では８画素×８ラインではないので、別途処理を行う。
【００８５】
出力ブロックの水平１６画素のデータが生成された後、ブロック情報保持部３０３は、現在処理を行っているマクロブロックの左隣に位置するマクロブロックのブロック情報の下位ビットを「１」とする。これは、左隣のマクロブロックからみて右隣のマクロブロック（すなわち現在処理を行っているマクロブロック）が有効になったことを意味する。同様に、現在処理を行っているマクロブロックの右隣に位置するマクロブロックのブロック情報の上位ビットを「１」とする。
【００８６】
第１スイッチ３０６は、現在処理を行っているマクロブロックのブロック情報の上位ビットが「１」である（すなわち、左隣のマクロブロックが有効である）とき、そのマクロブロックを、第１ブロック間処理部３０７に供給する。第１ブロック間処理部３０７は、出力ブロックの第０画素の左隣に位置する画素値をバッファ３１０から読み出し、それに第０画素の画素値の１／２倍を加算し、バッファ３１０の元の位置に書き戻す。そして、このような処理を実行されたマクロブロックの１６個の画素データは、第２スイッチ３０８に供給される。
【００８７】
なお、処理を行っているマクロブロックのブロック情報の上位ビットが「０」である（すなわち、左隣のマクロブロックが有効でない）とき、その１６個の画素データは、そのまま第２スイッチ３０８に供給される。
【００８８】
第２スイッチ３０８は、現在処理を行っているマクロブロックのブロック情報の下位ビットが「１」である（すなわち、右隣のマクロブロックが有効である）とき、そのマクロブロックを、第２ブロック間処理部３０９に供給する。第２ブロック間処理部３０９は、出力ブロックの第１５画素の右隣に位置する画素値をバッファ３１０から読み出し、それを１／２倍したものを第１５画素の画素値に加算した後、書き込みアドレス生成部３０３で生成されたアドレスにしたがって、その加算によって得られた画素値を、バッファ３１０の所定の場所に書き込む。
【００８９】
なお、処理を行っているマクロブロックのブロック情報の下位ビットが「０」である（すなわち、右隣のマクロブロックが有効でない）とき、その１６個の画素データは、書き込みアドレス生成部３０３で生成されたアドレスにしたがって、バッファ３１０の所定の場所に書き込まれる。
【００９０】
このようにして、バッファ３１０に蓄積された１フレーム分のデータは、出力部３１１より出力される。
【００９１】
以上説明したように、本実施の形態では、ＤＶストリームのようにマクロブロックが画面上で順に並んでいないような場合でも、データ補間を行うためのデータの大部分を、キャッシュもしくはレジスタから供給することが可能となり、従来のように大部分を主記憶から読み出す場合と比較して、補間操作を高速に実行することが可能である。
【００９２】
なお、ＰＡＬ（Ｐｈａｓｅ  Ａｌｔｅｒｎａｔｉｏｎ  ｂｙ  Ｌｉｎｅ、フランスを除く西ヨーロッパにおける現行テレビ方式；６２５本の走査線を使用）に相当する画像データをＤＶ符号化する場合には、ＮＴＳＣとは異なり、４：２：２形式から４：２：０形式に変換し、かつシャフリングを行う。よって、ＰＡＬのＤＶストリームを復号する際には、４：２：０形式から４：２：２形式への変換（すなわち、第１の実施の形態で説明されたような垂直方向のライン補間）を行うことになる。この場合、ブロック情報の上位ビットは、当該マクロブロックの上側のマクロブロックが有効であれば「１」、下位ビットは下側のマクロブロックが有効であれば「１」とすることで、同様に実施できる。
【００９３】
（実施の形態３）
つぎに、本実施の形態３におけるデータ処理装置の構成および動作について、主として、本実施の形態３におけるデータ処理装置のブロック図である図６を参照しながら説明する。なお、本実施の形態のデータ処理装置の構成および動作を説明すると同時に、本発明のデータ処理方法の一実施の形態についても述べる。
【００９４】
まず、図６を参照しながら、本実施の形態３におけるデータ処理装置の構成について説明する。
【００９５】
図６において、６０１は入力部、６０２は復号部、６０３はライン情報生成部、６０４はスイッチ、６０５は部分データ保持部、６０６はブロック内処理部、６０７はバッファ、６０８は部分データ処理部、６０９は出力部である。
【００９６】
なお、入力部６０１、復号部６０２を含む手段は本発明のブロック分割手段に対応し、ブロック内処理部６０６を含む手段は本発明のブロック内処理手段に対応し、部分データ処理部６０８を含む手段は本発明のブロック間処理手段に対応する。
【００９７】
つぎに、主として図６を参照しながら、本実施の形態３におけるデータ処理装置の動作について説明する。なお、本実施の形態においては、入力はＭＰＥＧストリームとし、復号部６０２でＭＰＥＧ復号された信号に、図３２に示されているようなライン間フィルタを作用させて、出力を行うものとする。また本実施の形態では、Ｙ信号について説明するが、Ｕ信号、Ｖ信号についても同様である。また、Ｙ信号、Ｕ信号、Ｖ信号すべてに対してライン間フィルタを作用させる必要はなく、たとえばＹ信号にのみ作用させる構成も可能である。
【００９８】
入力部６０１から入力されたＭＰＥＧストリームは、復号部６０２で復号され、マクロブロック単位で復号部６０２より出力される。復号部６０２よりＹ信号のマクロブロック（１６画素×１６ライン）が出力されると、ライン情報生成部６０３は、バッファ６０７に出力すべきライン番号を生成する。また、入力ブロックの第１５ライン、すなわち各マクロブロックの最下部に位置するラインは、部分データ保持部６０５に供給される。
【００９９】
ライン番号が１６の倍数でないとき、スイッチ６０４は、入力ブロックをブロック内処理部６０６に供給する。ブロック内処理部６０６は、出力ブロックの第ｎライン（ｎ＝１、２、．．．、１５）を、入力ブロックの第ｎ−１ラインと第ｎラインの平均値算出によるフィルタリングを利用して生成し、バッファ６０７の所定位置に書き込む。
【０１００】
なお、ライン番号が１６の倍数のとき、スイッチ６０４は、入力ブロックの第０ラインを、部分データ処理部６０８に供給する。部分データ処理部６０８は、入力ブロックの第０ラインを、部分データ保持部６０５に保持されている当該ラインの１ライン上に位置するラインデータとの算術平均値算出によるフィルタリングを利用して生成し、バッファ６０７上の所定の位置に書き込む。
【０１０１】
このような操作の繰り返しによってフィルタリングを行われたデータは、バッファ６０７上に１フレーム分生成されるごとに、出力部６０９より出力される。
【０１０２】
以上説明したように、本実施の形態においては、Ｙ信号のフィールド間の平均値を出力するとき、フィルタリングに必要なデータを、従来のように第１バッファ３３０３（図３３参照）から読み出す必要はなく、キャッシュ、もしくはレジスタから読み出すことができる。したがって、処理時間を大幅に短縮することが可能である。
【０１０３】
（実施の形態４）
つぎに、本実施の形態４におけるデータ処理装置の構成および動作について、主として、本実施の形態４におけるデータ処理装置の構成を説明するためのブロック図である図７を参照しながら説明する。なお、本実施の形態のデータ処理装置の構成および動作を説明すると同時に、本発明のデータ処理方法の一実施の形態についても述べる。
【０１０４】
まず、図７を参照しながら、本実施の形態４におけるデータ処理装置の構成について説明する。
【０１０５】
図７において、７０１は入力部、７０２は復号部、７０３はブロック内処理部、７０４は部分データ保持部、７０５は書き込みアドレス生成部、７０６はバッファ、７０７は部分データ処理部、７０８はバッファ、７０９は出力部である。
【０１０６】
なお、入力部７０１、復号部７０２を含む手段は本発明のブロック分割手段に対応し、ブロック内処理部７０３を含む手段は本発明のブロック内処理手段に対応し、部分データ処理部７０７を含む手段は本発明のブロック間処理手段に対応する。
つぎに、主として図７を参照しながら、本実施の形態４におけるデータ処理装置の動作について説明する。本実施の形態における信号の入出力に関しては、前述された第２の実施の形態と同様であって、入力信号はＤＶストリーム、出力信号はＵ、Ｖ信号を水平方向に２倍に補間した４：２：２形式の信号である。なお、以下の説明は、Ｖ信号に着目して行う。
【０１０７】
入力部７０１から入力されたＤＶストリームは、復号部７０２で４：１：１形式のマクロブロックに復号される。復号部７０２より出力された８画素×８ラインのＶ信号の入力ブロックは、ブロック内処理部７０３に供給される。さらに、各入力ブロックの第０画素、および第７画素は、部分データ保持部７０４にも供給され、図９に示されているように仮想的な画素の対をなして保持される。
【０１０８】
ブロック内処理部７０３に供給されたＶ信号の入力ブロックは、ブロック内処理部３０４（図３参照）における処理と同様な処理によって色差信号補間を行われる。ただし、本実施の形態では、出力ブロックの第１５画素に対する演算を、この時点では行わない。ブロック内処理を施されたデータは、復号部７０２における復号処理の進行状況に応じて、書き込みアドレス生成部７０５で生成される書き込みアドレスにしたがって、バッファ７０８に書き込まれていく。
【０１０９】
１フレーム分の復号処理が終わったとき、部分データ処理部７０７は、部分データ保持部７０４に保持されている各入力ブロックの第７画素のデータと、右隣の入力ブロックの第０画素のデータとの算術平均を算出し、出力ブロックの第１５画素として、バッファ７０６の対応するアドレスに書き込む。
【０１１０】
このような操作の繰り返しによって生成された水平１６画素からなるデータは、バッファ７０６上に１フレーム分生成されるごとに、出力部７０８より出力される。
【０１１１】
以上説明したように、本実施の形態で説明されたデータ処理方法によれば、ＤＶストリームの色差信号補間において、データの大部分をキャッシュもしくはレジスタから供給することが可能となる。ただし、本実施の形態では、第２の実施の形態とは異なり、マクロブロック間処理を行うときに使用するデータを、バッファ３１０（図３参照）よりもサイズの小さい部分データ保持部７０４から取得したのである。本実施の形態で説明されたデータ処理方法は、バッファをＶＲＡＭなど読み出しに非常に時間を要するメモリに割り当てる場合に、大変有効である。
【０１１２】
（実施の形態５）
つぎに、本実施の形態５におけるデータ処理装置の構成および動作について、主として、本実施の形態５におけるデータ処理装置のブロック図である図１０を参照しながら説明する。なお、本実施の形態のデータ処理装置の構成および動作を説明すると同時に、本発明のデータ処理方法の一実施の形態についても述べる。
【０１１３】
まず、図１０を参照しながら、本実施の形態５におけるデータ処理装置の構成について説明する。
【０１１４】
図１０において、１００１は入力部、１００２は初期化部、１００３は復号部、１００４は書き込みアドレス生成部、１００５はブロック内処理部、１００６はブロック外処理部、１００７はバッファ、１００８は出力部である。
【０１１５】
なお、入力部１００１、復号部１００３を含む手段は本発明のブロック分割手段に対応し、ブロック内処理部１００５を含む手段は本発明のブロック内処理手段に対応し、ブロック外処理部１００６を含む手段は本発明のブロック間処理手段に対応し、バッファ１００７を含む手段は本発明のバッファ手段に対応する。
【０１１６】
つぎに、主として図１０を参照しながら、本実施の形態５におけるデータ処理装置の動作について説明する。本実施の形態における信号の入出力に関しては、前述された第２の実施の形態と同様であって、入力信号はＤＶストリーム、出力信号はＵ、Ｖ信号を水平方向に２倍に補間した４：２：２形式の信号である。なお、以下の説明は、Ｖ信号に着目して行う。
【０１１７】
入力部１００１で、ＤＶストリームのフレーム先頭を検出したとき、初期化部１００２により、バッファ１００７内でＶ信号を保持する領域のうち、少なくとも水平画素位置が１５、３１、４７、．．．、３５１に相当する部分に、初期値として０をセットする。
【０１１８】
入力されたＤＶストリームは、復号部１００３で復号され、書き込みアドレス生成部１００４で、当該マクロブロックのバッファ１００７上の書き込みアドレスを生成する。
【０１１９】
復号されたＶ信号の入力ブロックは、ブロック内処理部１００５で、ブロック内処理部３０４（図３参照）における処理と同様な処理によって色差信号補間を行われるが、ここでは、各ラインの第０から第１４画素に対しては補間を行い、第１５画素に対しては入力ブロックの第７画素の画素値の１／２をそのまま保持する。
【０１２０】
そして、上記出力ブロックは、ブロック外処理部１００６において以下の処理を行われた上でバッファ１００７上に書き込まれていく。
【０１２１】
まず、バッファ１００７上で当該マクロブロックの第１５画素の右隣に相当する画素の画素値をバッファ１００７より読み出し、その値を１／２倍したものを、保持している当該マクロブロックの第１５画素の値（これは、入力ブロックの第７画素の画素値の１／２である）に加算する。なお、当該マクロブロックの右隣のマクロブロックがバッファ１００７上にまだ書き込まれていない場合には、保持している当該マクロブロックの第１５画素の値を、そのままバッファ１００７上に書き込む。
【０１２２】
つぎに、バッファ１００７上で当該マクロブロックの第０画素の左隣に相当する画素の画素値をバッファ１００７より読み出し、これに当該マクロブロックの第０画素の値を１／２倍したものを加算して、バッファ１００７の元の位置に書き戻す。なお、当該マクロブロックの左隣のマクロブロックがバッファ１００７上にまだ書き込まれていない場合には、当該マクロブロックの第０画素の左隣に相当する画素の画素値は０にセットされているので、バッファ１００７には、とりあえず当該マクロブロックの第０画素の値を１／２倍したものが書き込まれる。
【０１２３】
このようにして生成された出力ブロックは、書き込みアドレス生成部１００４で生成された書き込みアドレスにしたがって、バッファ１００７上に書き込まれていく（第０から第１４画素に対しては、補間を行った値を書き込む）。
【０１２４】
本実施の形態では、入力がＤＶストリームを復号したデータであるため、マクロブロックの入力は、画面上の順序どおりに現れない。しかし、本実施の形態のブロック間処理部においては、マクロブロックのデータがどのような順序で現れても、マクロブロックの右端の画素についても正しく補間される。
【０１２５】
このような操作の繰り返しによって生成されたデータは、バッファ１００７上に１フレーム分生成されるごとに、出力部１００８より出力される。
【０１２６】
以上説明したように本実施の形態では、入力されるマクロブロックの位置がフレーム上でランダムであっても、正しく補間処理を高速に行うことが可能である。また、第２の実施の形態で導入したブロック情報、もしくは第４の実施の形態で導入した部分データ保持部を利用する必要はないため、より小さなワーキングエリア上で処理を行うことが可能である。
【０１２７】
（実施の形態６）
つぎに、本実施の形態６におけるデータ処理装置の構成および動作について、主として、本実施の形態６におけるデータ処理装置のブロック図である図１２を参照しながら説明する。なお、本実施の形態のデータ処理装置の構成および動作を説明すると同時に、本発明のデータ処理方法の一実施の形態についても述べる。
【０１２８】
まず、図１２を参照しながら、本実施の形態６におけるデータ処理装置の構成について説明する。
【０１２９】
図１２において、１２０１は入力部、１２０２は復号部、１２０３はライン情報生成部、１２０４はブロック内処理部、１２０５は第１スイッチ、１２０６は第１バッファ、１２０７は第２バッファ、１２０８は第２スイッチ、１２０９は第３スイッチ、１２１０はブロック間処理部、１２１１は出力部である。
【０１３０】
なお、入力部１２０１、復号部１２０２を含む手段は本発明のブロック分割手段に対応し、ブロック内処理部１２０４を含む手段は本発明のブロック内処理手段に対応し、ブロック間処理部１２１０を含む手段は本発明のブロック間処理手段に対応する。
【０１３１】
つぎに、主として図１２を参照しながら、本実施の形態５におけるデータ処理装置の動作について説明する。なお、本実施の形態では、入力はＭＰＥＧストリームであり、復号部１２０２からは、各ブロックが逆ＤＣＴを施された状態で出力される。また、動き補償はブロック内処理部１２０４で、色差信号補間はブロック内処理部１２０４、およびブロック間処理部１２１０で行う。また、入力されているＭＰＥＧストリームのフレームに対する参照フレームのデータが、第１バッファ１２０６にすでに保持され、復号および色差信号補間後のデータは、第２バッファ１２０７に書き込まれる。このとき、第１スイッチ１２０５の出力先は、第２バッファ１２０７である。なお、以下の説明は、Ｖ信号に着目して行う。
【０１３２】
入力部１２０１から入力されたＭＰＥＧストリームは、復号部１２０２で逆ＤＣＴまで施され、マクロブロック単位で出力される。
【０１３３】
ライン情報生成部１２０３は、復号部１２０２より出力されるマクロブロックのマクロブロック行番号、およびブロック内処理部１２０４の処理状況に応じ、第１バッファ１２０６、もしくは第２バッファ１２０７に出力すべきライン番号を生成し、第１スイッチ１２０５に供給する。
【０１３４】
第２スイッチ１２０８、第３スイッチ１２０９は、それぞれ第１バッファ１２０６、第２バッファ１２０７の出力を、ブロック内処理部１２０４、もしくはブロック間処理部１２１０のいずれか一方に供給するための切り替えスイッチであるが、いまは、参照フレームが第１バッファ１２０６に保持されているので、第２スイッチ１２０８の出力先はブロック内処理部１２０４であり、第３スイッチ１２０９の出力先はブロック間処理部１２１０である。なお、前述されたように、第１バッファ１２０６から、第２スイッチ１２０８を介してブロック内処理部１２０４に供給される参照フレームのデータは、動き補償を行うために使用される。
【０１３５】
第１の実施の形態では、ブロック内処理部１０４（図１参照）が、入力された８画素×８ラインから構成されるＶ信号のブロックを、８画素×１６ラインの出力ブロックに変換した。これと同様にして、ブロック内処理部１２０４は、８画素×８ラインの入力ブロックを、８画素×１６ラインの出力ブロックに変換する。ただし、
（１）当該ブロックがイントラブロックであるとき、各ラインは、第１スイッチ１２０５経由で、ライン情報生成部１２０３で生成されたバッファ上のライン番号にしたがって、第２バッファ１２０７に出力される。
【０１３６】
（２）当該ブロックがインターブロックであるとき、８画素×１６ラインの出力ブロックに変換されたデータは、動きベクトルに応じた参照データを参照フレームデータが格納されている第１バッファ１２０６から読み出すことによって、さらに動き補償を行われる。なお、第１バッファ１２０６から読み出される参照データは、垂直方向に２倍色差信号補間されたデータであり、参照データの１ラインは、入力ブロックから見ると１／２ラインに相当するので、水平方向の動きベクトルが１／２画素の偶数倍であれば、垂直方向の動きベクトルが１／２の偶数倍であるか奇数倍であるかに関わらず、参照データを補間する必要がなくなる。このようにして、ブロック間処理部１２１０で動き補償された出力ブロックも、第１スイッチ１２０５経由で、ライン情報生成部１２０３で生成されたバッファ上のライン番号にしたがって、第２バッファ１２０７に出力される。
【０１３７】
なお、当該ブロックがイントラブロック、インターブロックの何れであっても、ブロック内処理部１２０４は、ライン番号が１６、３２、４８、．．．、４６４である（すなわち、出力ブロックの最も上部に位置するラインで、かつフレーム上で自身より上のラインが存在する）ようなラインを、ブロック間処理部１２１０にも供給する。そして、ブロック間処理部１２１０では、当該ラインの１ライン上のデータをすでに記録されている第２バッファ１２０７から読み出し、当該ラインの各画素値の１／２を加算し、再度第２バッファ１２０７に書き戻す（第１の実施の形態で説明されたブロック内処理部１０４（図１参照）の動作と同様である）。
【０１３８】
このようにして、第２バッファ１２０７に１フレーム分の４：２：２形式のデータが書き込まれたとき、参照フレームである第１バッファ１２０６のデータが出力される。
【０１３９】
これにともない、復号の完了したデータが書き込まれた第２バッファ１２０７が参照フレームを格納したバッファとなり、データ処理装置は、前述の説明における第１バッファ１２０６と第２バッファ１２０７との役割をちょうど入れ替えた上で、上記と同様の動作を行う（第１スイッチ１２０５は第１バッファに、第２スイッチ１２０８はブロック間処理部１２１０に、第３スイッチ１２０９はブロック内処理部１２０４に、それぞれ出力先が切り替えられる）。データ処理装置は、このような第１バッファ１２０６と第２バッファ１２０７との役割の入れ替えを繰り返しながら、データ処理を続行するのである。
【０１４０】
従来は、垂直の動きベクトルが１／２の奇数倍のとき、参照フレームのバッファから参照するデータの補間を行ってから動き補償を行い、その後フレーム単位で色差信号補間を行っていた。しかし、本実施の形態では、動き補償および色差信号補間を連続して行うことにより、主記憶へのアクセス回数を削減でき、かつ垂直方向の補間演算回数も削減することができる。
【０１４１】
以上説明したように、本発明の各実施の形態では、ＭＰＥＧ、もしくはＤＶストリームを復号し、色差信号を補間する場合、フィールドの異なるライン間でフィルタリングするとき、あるいはＭＰＥＧの動き補償をコンピュータのソフトウェアで実現するとき、各処理に使用するデータの大部分を、主記憶からの読み出し時間が短いキャッシュ、もしくはレジスタから読み出すことが可能となり、各処理の処理時間を大幅に短縮することができる。
【０１４２】
また、ここで説明した実施の形態のみならず、各実施の形態の構成要素を適宜組み合わせて別の実施の形態を構成することも可能である。さらに、各実施の形態において、画像データを補間する方法として、２つの画像データの算術平均をとっていたが、他の方法でもかまわない。
【０１４３】
また、前述された各実施の形態では、簡単のために、Ｙ、Ｕ、Ｖ信号をおのおの独立に出力するとして説明を行った。しかし、とくにコンピュータが扱う４：２：２形式のビデオ信号は、Ｙ、Ｕ、Ｖ信号が画素単位でインターリーブされているＹＵＹＶ形式（図１３参照）、もしくはＵＹＶＹ形式（図１４参照）である場合が多く、Ｙ、Ｕ、Ｖ信号の処理を並行して行い、バッファでＹＵＹＶ形式、もしくはＵＹＶＹ形式を形成する必要が生じる。
【０１４４】
バッファのサイズは、Ｙ、Ｕ、Ｖ信号のフレームあたりの画素数に応じて決定されるので、このような場合、前述された各実施の形態におけるバッファよりもはるかに大きなサイズを有するバッファを用意しなければならない。したがって、従来の方法では、画素データの読み込みのヒット率がさらに低下して処理時間が増大してしまうため、本発明のデータ処理方法を実施する意義はさらに大きくなるのである。
【０１４５】
なお、本発明のブロック間処理手段によるデータ処理は、上述された実施の形態では、本発明のブロック分割手段から出力されるデータと、（１）本発明のバッファ手段に記憶されているデータとを利用するか、（２）本発明のブロック分割手段から出力されるデータとを利用するかの何れかであり、本発明のブロック分割手段から出力されるデータをいつも利用した。しかし、これに限らず、たとえば、本発明のバッファ手段に記憶されているデータのみを利用してもよく、要するに、出力される複数のブロックの内、異なるブロックのデータを利用して行われればよい。
【０１４６】
なお、本発明に関連する発明のデータ処理装置は、ブロック間処理手段を備えていなくてもよい。すなわち、本発明に関連する発明のデータ処理装置は、たとえば、入力されてくる、色差信号を含むＭＰＥＧストリームまたはＤＶストリームから構成されるデータを、複数のブロックに分割して出力するブロック分割手段と、前記出力されるブロックごとに、そのブロック内の前記色差信号を利用してデータ処理を行うブロック内処理手段と、前記ブロック内処理手段によるデータ処理が行われたブロックのデータを、複数のブロック分について一時的に保持するバッファ手段とを備えたことを特徴とするデータ処理装置であってもよい。このようなデータ処理装置は、簡便な構造を有し安価に制作することができ、しかも、ブロックごとのデータ処理を行うため、画像データの復号処理などにおいて画素値を読み出す際のタイムロスが小さいという利点を有する。
【０１４７】
なお、所定の構成単位は、上述された実施の形態では、フレームであったが、これに限らず、たとえばフィールドであってもよい。
【０１４８】
また、上記実施の形態の全部または一部の手段の全部または一部の機能をコンピュータにより実行させるためのプログラムおよび／またはデータを担持した媒体を作成し、これを利用することにより、読み取られたそのプログラムおよび／またはデータがコンピュータと協動して上記と同様の動作を実行してもよい。
【０１４９】
また、上記実施の形態の全部または一部のステップの全部または一部の動作をコンピュータにより実行させるためのプログラムおよび／またはデータを担持した媒体を作成し、これを利用することにより、読み取られたそのプログラムおよび／またはデータがコンピュータと協動して上記と同様の動作を実行してもよい。
【０１５０】
また、上記実施の形態の全部または一部の手段の全部または一部の機能をコンピュータにより実行させるためのプログラムおよび／またはデータであることを特徴とする情報集合体を作成し、これを利用することにより、読み取られたそのプログラムおよび／またはデータ構造がコンピュータと協動して上記と同様の動作を実行してもよい。
【０１５１】
また、上記実施の形態の全部または一部のステップの全部または一部の動作をコンピュータにより実行させるためのプログラムおよび／またはデータであることを特徴とする情報集合体を作成し、これを利用することにより、読み取られたそのプログラムおよび／またはデータ構造がコンピュータと協動して上記と同様の動作を実行してもよい。
【０１５２】
ここに、データとは、データ構造、データフォーマット、データの種類などを含む。また、媒体とは、ＲＯＭなどの記録媒体、インターネットなどの伝送媒体、光・電波・音波などの伝送媒体を含む。また、担持した媒体とは、例えば、プログラムおよび／またはデータを記録した記録媒体、やプログラムおよび／またはデータを伝送する伝送媒体などを含む。また、コンピュータにより処理可能とは、例えば、ＲＯＭなどの記録媒体の場合であれば、コンピュータにより読みとり可能であることであり、伝送媒体の場合であれば、伝送対象となるプログラムおよび／またはデータが伝送の結果として、コンピュータにより取り扱えることであることを含む。また、情報集合体とは、例えば、プログラムおよび／またはデータなどのソフトウエアを含むものである。
【０１５３】
以上で述べられたことから明らかなように、本発明のデータ処理装置は、たとえば、画像データがブロックに分割されて入力されるとき、前記ブロック内のデータのみを用いてデータ処理を行うブロック内処理手段と、前記ブロック内処理手段を施されたブロックのデータ、および他のブロックのデータを用いてデータ処理を行うブロック間処理手段とを有することを特徴とする。
【０１５４】
また、本発明のデータ処理装置は、たとえば、画像データがブロックに分割されて入力されるとき、前記ブロック内のデータのみを用いてデータ処理を行うブロック内処理手段と、前記ブロック内処理に関する情報を保持するブロック情報保持手段と、前記ブロック情報にしたがって、前記ブロック内処理手段を施されたブロックのデータ、および他のブロックのデータを用いてデータ処理を行うブロック間処理手段とを有することを特徴とする。
【０１５５】
また、本発明のデータ処理装置は、たとえば、画像データがブロックに分割されて入力されるとき、前記ブロック内のデータの一部を保持する部分データ保持手段と、前記ブロック内のデータのみを用いてデータ処理を行うブロック内処理手段と、少なくとも前記部分データ保持手段に保持されているデータを用いてデータ処理を行う部分データ処理手段とを有することを特徴とする。
【０１５６】
また、本発明のデータ処理装置は、たとえば、画像データがブロックに分割されて入力され、データ処理後、所定の出力メモリ空間に書き込まれるとき、前記出力メモリ空間の所定の部分に所定の初期値を格納する初期値設定手段と、前記ブロック内のみのデータを用いてデータ処理を行うブロック内処理手段と、前記ブロック内処理手段を施されたブロックのデータと、前記出力メモリ空間のデータを用いてデータ処理を行うブロック外処理手段とを有することを特徴とする。
【０１５７】
また、本発明のデータ処理装置は、たとえば、フレーム単位の画像データがブロックに分割されて入力されるとき、前記ブロック内のデータ、および他のフレームのデータを用いてデータ処理を行うブロック内処理手段と、前記ブロック内処理されたデータ、および同一構成単位の他のブロックのデータを用いてデータ処理を行うブロック間処理手段とを有することを特徴とする。
【０１５８】
以上説明したように、本発明において、信号補間、動き補償など、画像データの変換処理をコンピュータで実現したとき、従来の技術と比較して処理時間の短縮を実現する方法について述べた。上記方法をコンピュータプログラム化し、フロッピー（登録商標）ディスクなどの記録媒体に記録したソフトウェア、もしくはインターネットなどの通信回線を介して配信されるソフトウェアは本発明に関連する発明である。
【０１５９】
【発明の効果】
本発明は、たとえば、画像データの復号処理などにおいて画素値を読み出す際のタイムロスが小さいデータ処理装置、データ処理方法、および記録媒体を提供することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態１のデータ処理装置の動作について説明したブロック図
【図２】本発明の実施の形態１のデータ処理装置のブロック内処理部の動作について説明した図
【図３】本発明の実施の形態２のデータ処理装置の動作について説明したブロック図
【図４】本発明の実施の形態２のデータ処理装置のブロック情報について説明した図
【図５】本発明の実施の形態２のデータ処理装置のブロック内処理部の動作について説明した図
【図６】本発明の実施の形態３のデータ処理装置の動作について説明したブロック図
【図７】本発明の実施の形態４のデータ処理装置の動作について説明したブロック図
【図８】本発明の実施の形態４のデータ処理装置のブロック内処理部の動作について説明した図
【図９】本発明の実施の形態４のデータ処理装置の部分データ保持部でのデータ保持方法について説明した図
【図１０】本発明の実施の形態のデータ処理装置の動作について説明したブロック図
【図１１】本発明の実施の形態５のデータ処理装置の初期化部の動作について説明した図
【図１２】本発明の実施の形態６のデータ処理装置の動作について説明したブロック図
【図１３】ＹＵＹＶ形式について説明した図
【図１４】ＵＹＶＹ形式について説明した図
【図１５】ＮＴＳＣ方式に相当する、４：２：２形式のデジタル画像データの構成について説明した図
【図１６】４：２：０形式のデジタル画像データの構成について説明した図
【図１７】４：２：２形式から４：２：０形式に変換する際の、Ｕ信号およびＶ信号の間引き方法について説明した図
【図１８】４：２：０形式のデジタル画像データをＭＰＥＧ符号化する際の、ブロックの構成方法について説明した図
【図１９】４：２：０形式のデジタル画像データをＭＰＥＧ符号化する際の、マクロブロックの構成方法について説明した図
【図２０】インター符号化を行うために、仮想的に補間された参照フレームの画素の構成について説明した図
【図２１】ＭＰＥＧ符号化におけるマクロブロックの走査順序、およびマクロブロック列について説明した図
【図２２】４：１：１形式のデジタル画像データの構成について説明した図
【図２３】４：２：２形式から４：１：１形式に変換する際の、Ｕ信号およびＶ信号の間引き方法について説明した図
【図２４】４：１：１形式のデジタル画像データをＤＶ符号化する際の、ブロックの構成方法について説明した図
【図２５】４：１：１形式のデジタル画像データをＤＶ符号化する際の、マクロブロックの構成方法について説明した図
【図２６】ＤＶ符号化のシャフリングについて説明した図
【図２７】従来のＭＰＥＧストリームの復号方法について説明したブロック図
【図２８】ＭＰＥＧ復号における、色差信号のライン補間の一方法について説明した図
【図２９】従来のＤＶストリームの復号方法について説明したブロック図
【図３０】ＭＰＥＧ復号における、色差信号の画素補間の一方法について説明した図
【図３１】ライン単位でフィールドがインターリーブされている画像データについて説明した図
【図３２】ライン間フィルタの一実現方法について説明した図
【図３３】従来のライン間フィルタを作用させるための方法について説明したブロック図
【符号の説明】
１０１  入力部
１０２  復号部
１０３  ライン情報生成部
１０４  ブロック内処理部
１０５  バッファ
１０６  ブロック間処理部
１０７  出力部
３０１  入力部
３０２  復号部
３０３  書き込みアドレス生成部
３０４  ブロック内処理部
３０５  ブロック情報保持部
３０６  第１スイッチ
３０７  第１ブロック間処理部
３０８  第２スイッチ
３０９  第２ブロック間処理部
３１０  バッファ
３１１  出力部
６０１  入力部
６０２  復号部
６０３  ライン情報生成部
６０４  スイッチ
６０５  部分データ保持部
６０６  ブロック内処理部
６０７  バッファ
６０８  ブロック間処理部
６０９  出力部
７０１  入力部
７０２  復号部
７０３  ブロック内処理部
７０４  部分データ保持部
７０５  書き込みアドレス生成部
７０６  バッファ
７０７  部分データ処理部
７０８  出力部
１００１  入力部
１００２  初期化部
１００３  復号部
１００４  書き込みアドレス生成部
１００５  ブロック内処理部
１００６  ブロック外処理部
１００７  バッファ
１００８  出力部
１２０１  入力部
１２０２  復号部
１２０３  ライン情報生成部
１２０４  ブロック内処理部
１２０５  第１スイッチ
１２０６  第１バッファ
１２０７  第２バッファ
１２０８  第２スイッチ
１２０９  第３スイッチ
１２１０  ブロック間処理部
１２１１  出力部
２７０１  入力部
２７０２  ＭＰＥＧ復号部
２７０３  第１バッファ
２７０４  色差信号補間部
２７０５  第２バッファ
２７０６  出力部
２９０１  入力部
２９０２  ＤＶ復号部
２９０３  第１バッファ
２９０４  色差信号補間部
２９０５  第２バッファ
２９０６  出力部
３３０１  入力部
３３０２  ＭＰＥＧ復号部
３３０３  第１バッファ
３３０４  ラインフィルタ部
３３０５  第２バッファ
３３０６  出力部
【図１】
0003884606.tif 000002
【図２】
0003884606.tif 000003
【図３】
0003884606.tif 000004
【図４】
0003884606.tif 000005
【図５】
0003884606.tif 000006
【図６】
0003884606.tif 000007
【図７】
0003884606.tif 000008
【図８】
0003884606.tif 000009
【図９】
0003884606.tif 000010
【図１０】
0003884606.tif 000011
【図１１】
0003884606.tif 000012
【図１２】
0003884606.tif 000013
【図１３】
0003884606.tif 000014
【図１４】
0003884606.tif 000015
【図１５】
0003884606.tif 000016
【図１６】
0003884606.tif 000017
【図１７】
0003884606.tif 000018
【図１８】
0003884606.tif 000019
【図１９】
0003884606.tif 000020
【図２０】
0003884606.tif 000021
【図２１】
0003884606.tif 000022
【図２２】
0003884606.tif 000023
【図２３】
0003884606.tif 000024
【図２４】
0003884606.tif 000025
【図２５】
0003884606.tif 000026
【図２６】
0003884606.tif 000027
【図２７】
0003884606.tif 000028
【図２８】
0003884606.tif 000029
【図２９】
0003884606.tif 000030
【図３０】
0003884606.tif 000031
【図３１】
0003884606.tif 000032
【図３２】
0003884606.tif 000033
【図３３】
0003884606.tif 000034