(57)【要約】【課題】リアルタイム性を維持しつつ画質を大幅に改善した、好適な画像処理装置を提供することを目的とする。【解決手段】画像データを入力する手段と、該入力画像データを記憶する手段と、該記憶手段に記憶された画像データを読み出して出力する手段と、を備えた画像処理装置であって、該記憶手段中の画像データを読み出して欠陥部分の補間を行う第一の補間手段と、該記憶手段中の画像データを該出力手段に転送する際に欠陥部分の補間を行う第二の補間手段とを備えたことを特徴とする画像処理装置等、を提供する。【選択図】図１
2007134792.tif 000002
【特許請求の範囲】
【請求項１】
画像データを入力する入力手段と、
該入力画像データを記憶する記憶手段と、
該記憶手段に記憶された画像データを読み出して出力する出力手段と、
を備えた画像処理装置であって、
該記憶手段中の画像データを読み出して欠陥部分の補間を行う第一の補間手段と、
該記憶手段中の画像データを該出力手段に転送する際に欠陥部分の補間を行う第二の補間手段と、
を備えたことを特徴とする画像処理装置。
【請求項２】
前記第一の補間手段は、画像内の複数の欠陥部分に優先度を付与し、優先度に従って補間処理を行うことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第二の補間手段は、前記第一の補間手段が補間しなかった欠陥部分を補間することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記入力手段はネットワークを介して画像データの入力を行うことを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記画像データは動画像データであることを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
前記出力手段は表示出力であることを特徴とする請求項１乃至５のいずれか１項に記載の画像処理装置。
【請求項７】
圧縮された画像データを復号する手段を更に備え、
前記入力手段で入力される画像データは圧縮形式のデータであり、
該復号手段は該入力手段で入力された圧縮画像を復号を行って復号結果を前記記憶手段に記憶することを特徴とする請求項１乃至６のいずれか１項に記載の画像処理装置。
【請求項８】
前記圧縮手段は、画像データの欠損部分を検出し、該欠損部分の補間処理に必要な情報を復号結果内に挿入して出力することを特徴とする請求項７に記載の画像処理装置。
【請求項９】
画像データを入力する入力ステップと、
該入力画像データを記憶手段に記憶する記憶ステップと、
該記憶手段に記憶された画像データを読み出して出力手段から出力するステップと、
を備えた画像処理方法であって、
該記憶手段中の画像データを読み出して欠陥部分の補間を行う第一の補間ステップと、
該記憶手段中の画像データを該出力手段に転送する際に欠陥部分の補間を行う第二の補間ステップと、
を備えたことを特徴とする画像処理方法。
【請求項１０】
前記第一の補間ステップは、画像内の複数の欠陥部分に優先度を付与し、優先度に従って補間処理を行うことを特徴とする請求項９に記載の画像処理方法。
【請求項１１】
前記第二の補間ステップは、前記第一の補間ステップが補間しなかった欠陥部分を補間することを特徴とする請求項９又は１０に記載の画像処理方法。
【請求項１２】
前記入力ステップはネットワークを介して画像データの入力を行うことを特徴とする請求項９乃至１１のいずれか１項に記載の画像処理方法。
【請求項１３】
前記画像データは動画像データであることを特徴とする請求項９乃至１２のいずれか１項に記載の画像処理方法。
【請求項１４】
前記出力ステップは表示出力であることを特徴とする請求項９乃至１３のいずれか１項に記載の画像処理方法。
【請求項１５】
圧縮された画像データを復号するステップを更に備え、
前記入力ステップで入力される画像データは圧縮形式のデータであり、
該復号ステップは該入力ステップで入力された圧縮画像を復号を行って復号結果を前記記憶ステップに記憶することを特徴とする請求項９乃至１４のいずれか１項に記載の画像処理方法。
【請求項１６】
前記圧縮ステップは、画像データの欠損部分を検出し、該欠損部分の補間処理に必要な情報を復号結果に挿入して出力することを特徴とする請求項１５に記載の画像処理方法。
【請求項１７】
コンピュータに、
画像データを入力する手順と、
該入力画像データを記憶手段に記憶する手順と、
該記憶手段に記憶された画像データを読み出して出力手段から出力する手順と、
を実行させる画像処理のプログラムであって、
前記コンピュータに、
該記憶手段中の画像データを読み出して欠陥部分の補間を行う第一の補間手順と、
該記憶手段中の画像データを該出力手段に転送する際に欠陥部分の補間を行う第二の補間手順と、
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、圧縮された画像を復号して、表示または出力を行う画像処理装置及び画像処理方法に関する。
【背景技術】
【０００２】
近年のパーソナルコンピュータの普及と高性能化や通信媒体の高速化に伴い、コンピュータ間でのデータの授受の多様性が広がり、これにより動画の送受信をコンピュータネットワーク上で行うことが常態化してきた。また、これに伴って、リアルネットワークス社のＨｅｌｉｘ  Ｓｅｒｖｅｒのような動画ストリームをリアルタイムに配信するサーバも実用化されている。
【０００３】
しかしながら、通信路が混雑していたり何か別の理由により通信状態が悪い場合には、本来届くべき画像情報の全てが揃わず、これにより、リアルタイムな画像伝送を行おうとした場合に、受信画像が大きく劣化する。
【０００４】
劣化した受信画像を補間する方法として、例えば下記の技術が存在する。
【０００５】
（１）  直前のフレームを用いて欠陥部分の補間を行う例が開示されている（例えば、特許文献１参照）。受信装置内に画像補間部を設け、過去の画像フレームを参照しながら補間処理を行う。
【０００６】
（２）  通信パケットを補間が容易なパケット群と困難な群に分類し、補間が容易なパケット群による画像劣化は補間を行い、補間が困難なパケット群による画像劣化に対しては、再送を行う例が開示されている（例えば、特許文献２参照）。
【０００７】
送信装置が困難さによる分類を行い、受信装置は分類に従って再送要求或いは補間を行う処理部を備えている。
【０００８】
また、画像補間部の構成方法の例として、下記の技術が存在する。
【０００９】
（３）  デコーダと密結合ないしは一体化させた例がある。デコーダと補間回路とが、専用の制御線とデータ線で接続された構成が開示されている（例えば、特許文献３参照）。デコード後は直ちに補間処理が行われて、補間処理後の画像データが出力される。
【００１０】
（４）  補間処理の方法として、デコーダと重複する処理を行う例がある。画像補間部で、複数の周囲ブロックの画素情報からＤＣＴ係数を計算し、平均を取った後に逆ＤＣＴを行うことにより補間する方法が開示されている（例えば、特許文献４参照）。
【００１１】
【特許文献１】特開昭６２−６１４８５号公報
【特許文献２】特開平３−０２２７３５号公報
【特許文献３】特開平５−１５３５７３号公報
【特許文献４】特開平９−２００７５４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、上記従来例では、画像品質とリアルタイム性が両立できないという問題があった。従来例では、欠陥箇所の数に比例して補間処理の負荷が増加する。
【００１３】
そのため、画像中の欠陥が多数になると、全く補間されない領域が残ってしまい、著しく画質が低下してしまうという欠点があった。
【００１４】
従来例（２）は、再送要求したパケットが到着するまでは画像表示ができなくなるので、リアルタイム性が劣るという問題があった。
【００１５】
従来例（３）は構成を密結合させることでデータ転送負荷を下げることができるものの、補間数に上限はあった。
【００１６】
本発明は、主たる補間処理を行えなかった画像欠陥部分に補助補間処理を施すことで、リアルタイム性を維持しつつ画質を大幅に改善した、好適な画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１７】
上記目的を達成するために本発明は、画像データを入力する手段と、該入力画像データを記憶する手段と、該記憶手段に記憶された画像データを読み出して出力する手段と、を備えた画像処理装置であって、該記憶手段中の画像データを読み出して欠陥部分の補間を行う第一の補間手段と、該記憶手段中の画像データを該出力手段に転送する際に欠陥部分の補間を行う第二の補間手段とを備えたことを特徴とする画像処理装置等、を提供する。
【発明の効果】
【００１８】
本発明によれば、主たる補間処理を行えなかった画像欠陥部分に補助補間処理を施すことで、リアルタイム性を維持しつつ画質を向上できるという効果がある。
【００１９】
特に、動画像の主たる補間処理をソフトウェアで実現する場合には、フレーム期間内で処理できる欠陥数に制限があるから、本発明によって画質を向上させることができる。
【発明を実施するための最良の形態】
【００２０】
以下、添付図面を参照して本発明の好適な実施の形態を詳細に説明する。
【００２１】
（第１の実施例）
先ず、本発明の第１の実施例について説明する。本実施例の画像処理装置は、ネットワークから受信した圧縮画像を展開し、欠損部分を補間した後に表示を行う。
【００２２】
主な補間処理はＣＰＵ上のソフトウェアで行い、補間処理し切れなかった部分を表示制御ハードウェアで補助補間する。
【００２３】
補助補間処理は、上に隣接する領域の画素平均値であるＤＣ成分を記録しておき、欠損部分をＤＣ成分の色で塗り潰す、という動作を行う。
【００２４】
以下、図１〜図８に基づき、本発明による画像処理装置の好適な実施形態を説明する。
【００２５】
＜画像処理装置の全体構成の説明（図１）＞
本実施例の画像処理装置の概略構成を図１のブロック図を用いて説明する。
【００２６】
図中、１００はネットワーク画像受信端末であり、ネットワークから入力した画像データを展開して表示を行う。
【００２７】
端末１００には、システム全体の動作の制御や演算を行うためのＣＰＵ１０１、演算のワーク領域やバッファとして用いるためのランダムアクセスメモリＲＡＭ１０２、及び、プログラムを格納した読込専用メモリＲＯＭ１０３、が設けられている。更に、端末１００には、外部との通信を行うための通信部１０４、通信により受信した動画データが圧縮形式であった場合にデータを伸長するためのデコーダ１０５、及び、これらを接続するためのバス１０７が設けられている。
【００２８】
プログラムは、外部又はＲＯＭ１０３からＲＡＭ１０２にロードして、ＲＡＭ１０２上で実行するようにしてもよい。
【００２９】
通信により受信した動画データは、通信の低位層の処理は通信部１０４によって処理される。通信部１０４内部のバッファから不図示のＤＭＡによりＲＡＭ１０２に転送され、通信上位層の処理はＣＰＵ１０１によってソフトウェア処理される。
【００３０】
デコーダはソフトウェアで実装しても良いが、本実施例では、高速化のためにハードウェアで構成されている。
【００３１】
また、デコーダは、動画ストリームを順に入力するとストリームを解釈して区切りの良いところで伸長した画像データを出力する。
【００３２】
本実施例では、一行分のマクロブロックをスライスとして扱い、スライス単位でデコードとデータ出力を行う。
【００３３】
１０８は画像バッファであり、デコーダ１０５から出力されたビットマップ形式の画像データを格納する。
【００３４】
１０９は主補間プログラムであり、ＲＯＭ１０３内に格納されており、ＣＰＵ１０１で実行される。
【００３５】
これは、画像バッファ１０８の画像データを読み出して欠損部分が存在するか検出し、必要に応じて欠損部分の補間処理を行って画像バッファ１０８を更新する。
【００３６】
主補間プログラム１０９の構成と動作は後述する。１１１はＶＲＡＭであり、表示パネル１１２に表示するデータの格納を行う。
【００３７】
１１２は表示パネルであり、表示コントローラ１１０の制御によって、画像データの表示を行う。
【００３８】
例えば、ＣＲＴやＬＣＤ、プラズマ方式など任意の方式の表示パネルが使用できる。
【００３９】
１１０は表示コントローラであり、ＶＲＡＭ１１１の読書き制御と表示パネル１１２の駆動を行う。
【００４０】
フレーム画像イメージが完成したタイミングで画像バッファ１０８から画像データを読み出し、ＶＲＡＭ１１１へ書込む。
【００４１】
所定の表示タイミングに従ってＶＲＡＭ１１１の内容を読み出して表示パネル１１２へ出力を行う。
【００４２】
表示コントローラ１１０において、１２０は表示制御部である。画像バッファ１０８からの読出し、表示パネル１１２への書込みタイミングを生成し、それに従って各部を駆動する。不図示のタイマで時間を管理し、例えば1／３０秒、1／６０秒のフレーム表示タイミングに合わせて処理を行う。
【００４３】
表示パネル１１２に対しては、パネルを駆動するための制御信号を作成・出力し、該制御信号に合わせて画像データ信号を出力する。
【００４４】
１２１は補助補間処理部であり、ＶＲＡＭ１１１へ画像データが転送される際に、欠損部分の検出を行って補助的な補間処理を行う。
【００４５】
詳細は後述する。１２２はＶＲＡＭ制御部であり、ＶＲＡＭ１１１に対するアクセスの調停を行う。
【００４６】
以下では、図１のブロック図における画像データのデータフローを説明する。ネットワークから受信した画像データは、通信下位層の処理が行われて通信部１０４内のバッファに格納される。
【００４７】
不図示のＤＭＡコントローラによりＲＡＭ１０２に転送され、ＣＰＵ１０１で通信上位層の処理が行われた後にＲＡＭ１０２に書き戻される。
【００４８】
次に、不図示のＤＭＡコントローラによりデコーダ１０５に転送され、圧縮形式からのデコードが行われる。
【００４９】
デコード終了したデータは画像バッファ１０８に格納される。画像バッファ１０８のデータをＣＰＵ１０１が読み出して、必要に応じて主補間処理を行った後に、画像バッファ１０８に書き戻される。
【００５０】
続いて、所定のタイミングで表示制御部１２０が読み出して、補助補間処理部１２１に出力する。補助補間処理部１２１は必要に応じて補助補間処理を行って、ＶＲＡＭ制御部１２２へ出力する。
【００５１】
ＶＲＡＭ制御部１２２は調停を行ってＶＲＡＭ１１１へ書き込む。
【００５２】
所定のタイミングでＶＲＡＭ１１１のデータは読み出され、表示パネル１１２へ出力されることで表示が行われる。
【００５３】
以上の構成により、ネットワークから受信した画像データをデコードした後に、欠損部分に対して主補間処理と補助補間処理を行って、画像表示することができる。
【００５４】
＜主補間処理の流れの説明（図２〜７）＞
次に、ＣＰＵ１０１が行う処理の流れを、図２のフローチャートを用いて説明する。
【００５５】
通信受信処理を行った後、デコーダ１０５を用いて画像伸張を行い、主補間処理を行って欠損部分を修復する。
【００５６】
本実施例の主補間処理は、欠損部分を検出し、欠損部分の重要度と修復難易度から補間順位を付け、順位に従って補間処理を行う。
【００５７】
また、複数の補間アルゴリズムを実装しており、欠損部分の状態に応じたアルゴリズムを適用する。
【００５８】
補間アルゴリズムは、フレーム内補間方法やフレーム間補間方法、更にはフレーム内補間でも、上下左右のマクロブロックから比較的簡単に補間する方法やより複雑な補間方法が存在する。
【００５９】
本実施例では、装置の扱う画像種類や用途に合わせた補間アルゴリズムが実装される。
【００６０】
また、補間アルゴリズムが複雑になればなるほど、処理回路規模が大きくなってしまう。
【００６１】
そのために、本実施例での主補間処理はCPU１０１上で動作するソフトウェアプログラムとして構成する。
【００６２】
図中、通信部１０４で通信の下位層の処理を成されたデータはまずステップｓ２０１において、ＩＰパケットやＴＣＰパケットの処理のような通信の上位層の処理を行う。
【００６３】
次にステップｓ２０２においてＣＲＣなどで通信エラーがあったかどうかを判定し、通信エラーがなければステップｓ２０３においてパケット単位で画像伸長を行い、結果をＲＡＭ１０２に保存する。
【００６４】
ステップｓ２０２において通信エラーが検出されたら、そのパケットは破棄し、ステップｓ２０３の画像伸長は行わず、次の通信による入力を待つ。
【００６５】
画像伸長（ステップｓ２０３）の処理は一般的に負荷が高いため、リアルタイムな動画の再生を行うためにはハードウェアデコーダ１０５を用いるのが良い。
【００６６】
動画の１フレーム分のデータは一般的に通信の１パケットにおさまることは少ないため、１フレームを構成するデータが全て到着する迄ステップ２０１からステップ２０３の処理を繰り返す（ステップｓ２０４）。
【００６７】
以下、ステップｓ２０５〜２１４が、主補間処理を行う処理ステップである。
【００６８】
無線を使った通信のようにあまり信頼性の高くない通信路において動画の伝送を行う場合、パケットロスなどのような通信エラーは避けられず，リアルタイムな動画の伝送が必要な場合には画像の補間により画質を維持する方法が現実的である。
【００６９】
特に閲覧者に違和感なく感じる画像に補間するためには、状況に応じて複数の補間方法を使い分けることが必要となり、一方では処理に要する時間が限られているため、特にソフトウェアで実装を行う場合には全てを処理できるとは限らない。
【００７０】
従って，重要なものを判別して処理を行い、重要ではない部分の処理を後回しにすることで、動画の重要な部分を確実に処理し、よりよくみせる実装が可能となる。
【００７１】
ステップｓ２０５において、画像の欠陥と位置を検出する。
【００７２】
画像の欠陥は、主に、
1)通信エラー（通信パケットが到着しない場合も含む）
2)デコードエラー
であり、通信パケット到着時にそのパケットが画像のどの位置のデータを含むか明確であれば、逆に画像欠陥の位置の検出がしやすい。
【００７３】
例えば、通信のトランスポート層にＲＴＰ（Realtime Transport Protocol）を用い、画像の圧縮フォーマットがモーションＪＰＥＧである場合について考える。
【００７４】
画像フォーマットがモーションＪＰＥＧである場合のパケットは図３に示すような構成である。
【００７５】
先頭からＲＴＰヘッダ部（３０１）、ＪＰＥＧヘッダ部（３０２）、リスタートマーカ部（３０３）、Ｑテーブル部（３０４）、ＪＰＥＧのデータ（３０５）の順に格納される。
【００７６】
通信の１パケットに収まる程度の頻度で、ＪＰＥＧデータの区切りをあらわすリスタートマーカを挿入しておくと、通信パケットのＲＴＰヘッダを除いたペイロードの先頭はリスタートマーカである。そして、このリスタートマーカ後のマクロブロックがフレーム内の何番目のマクロブロックであるかがＲＴＰのヘッダ部に記述されているため、現在対象としているパケットのマクロブロックの先頭が画像のどの位置に相当するかが分かる。
【００７７】
図４にリスタートマーカ部（３０３）のデータの構成を示す。
【００７８】
リスタートマーカ部（３０３）には、リスタートマーカが何マクロブロック単位に挿入されているかを示すリスタートインターバル４０１と、何番目のリスタートマーカであるかを示すリスタートカウント５０２が格納されている。
【００７９】
すなわち、このリスタートマーカ部の情報を用いて、このパケットの先頭のマクロブロックは「（リスタートインターバル）＊（リスタートカウント）番目」である。
【００８０】
ステップｓ２０２において通信の欠陥があったかどうかを判定しているが、通信の欠陥を検出しても、ＲＴＰのヘッダを読むことができれば、この情報を利用して、破棄されたパケットの画像に対するマクロブロックの位置がわかる。
【００８１】
複数のパケットについて同様に処理していくことで、ある動画フレームにおいて処理されていない座標が、通信エラーにより生じた画像の欠陥であると考えられる。
【００８２】
例えば図５において、５０１〜５０６が画像の欠陥である。
【００８３】
次にステップ２０６においてそれぞれの画像の欠陥を修復するための補間方法を決定する。
【００８４】
補間方法は、現在の画像がシーンチェンジであれば、フレーム内補間を行うしかなく、フレーム内補間においても、欠陥の状況により、複数用意されたフレーム内補間の方法から１つを選択する。
【００８５】
また、シーンチェンジでなければフレーム間の補間を使うこともでき、補間方法の選択肢は広がる。
【００８６】
次にステップ２０７において欠陥５０１から欠陥５０６それぞれについて重要度を算出する。
【００８７】
本実施形態においては、重要度を画像中心からの距離により割り当てる。
【００８８】
画像中心からの距離は、図６に示すように、縦横それぞれ５等分し、図６のように領域に応じて係数を割り当てる（以後、領域係数）。
【００８９】
図７は図５で示した欠陥と図６で割り当てた領域を重ね合わせたものである。
【００９０】
各欠陥５０１〜５０６において、それぞれの欠陥の存在する領域のうち、領域係数の最も大きな値となるものをその欠陥の領域係数とする。
【００９１】
例えば、欠陥５０３では、領域係数８，６，２の部分に存在するが、このうち最大の領域係数は８であるため、欠陥５０３の領域係数は８となる。
【００９２】
次にステップｓ２０８において、補間難易度を算出する。
【００９３】
本実施例においては、欠陥領域の広さを修復難易度とする。
【００９４】
この欠陥フレームがシーンチェンジ直後であれば、補間方法としてはフレーム内補間を行うことになるが、フレーム内補間であれば特に細長い領域に対しては修復難易度は高くないが、領域の短辺が長い程、補間が難しい。一方で、視覚に与える影響は大きいため精度の高い補間が求められ、複雑な処理が必要となる。
【００９５】
図５の欠陥の場合、欠陥５０５，５０６が重なり合っており、複雑な補間が必要となる。このように、欠陥が縦方向に隣接している重なり数ｎに対して、欠陥領域係数を「（ｎ−１）＊５」とすると、欠陥５０５と５０６に対して重なり数ｎ＝２として、欠陥領域係数は５となる。
【００９６】
この欠陥領域係数５はこの欠陥を作り出す全ての欠陥に対して割り当てる。すなわち、欠陥５０５と５０６はともに欠陥領域係数は５である。
【００９７】
次にステップｓ２０９において、重要度と修復難易度から画像欠陥の補間順位を決定する。
【００９８】
本実施形態においては、重要度と修復難易度のそれぞれの係数を足し合わせた数値が大きい順に補間順位とする。
【００９９】
従って、それぞれの欠陥に対する重要度と修復難易度、これらの係数の合計と補間順位は以下の表１のようになる。
【０１００】
【表１】
2007134792.tif 000003
【０１０１】
次にステップｓ２１０において補間処理を行うためのタイムアウト時間を決定し、タイマを起動する。
【０１０２】
動画のフレームレートにより、画像欠陥優先度付加部に次の動画フレームが到達する時間を見積もることができる。すなわち、例えばフレームレートが３０ｆｐｓであれば、「１／３０＝３３．３３ｍＳｅｃ」となり、若干マージンを見積もり、３０ｍＳｅｃとする。この３０ｍＳｅｃを１フレームあたり、補間処理可能な最大時間とし、ステップｓ２１０において、タイムアウト時間を３０ｍＳｅｃに設定し、タイマを起動する。
【０１０３】
次にステップｓ２１１において画像欠陥一つを補間処理し、タイムアウトしなければ次の補間を行う。
【０１０４】
補間処理を行う順番はステップｓ２０９で決定した順番（欠陥５０５，５０６，５０４，５０３，５０２，５０１）である。
【０１０５】
全ての補間処理が終了していなくても、タイムアウトしたら、処理を中断して現在の動画フレームの補間処理を中断し、ステップｓ２１４において、取得したメモリ等のリソースを開放する等の補間中断処理を行う。
【０１０６】
本実施例では、補間処理が終了する度にタイムアウトを調べているが，割り込み処理によって補間を中断するようにしても良い。
【０１０７】
この場合、ステップｓ２１４の補間中断処理において、取得したリソースを開放するだけでなく、補間中で欠陥領域の補間が全て終了していなくても、補間が完了した画素を出力する処理を行う。
【０１０８】
以上の処理により、通信受信処理を行った後、デコーダ１０５を用いて画像伸張を行い、主補間処理を行って欠損部分を修復することができる。
【０１０９】
主補間処理を行うステップｓ２０５〜２１４は、欠損箇所に補間順位を付けて、制約時間内で順位の高いものから補間処理を行うことができる。
【０１１０】
一方で、時間切れとなった補間順位の低い欠損箇所は、そのままの状態で放置される。
【０１１１】
これを後述の補助補間処理部１２１が補間する。
【０１１２】
＜補助補間処理部の構成例（図８）＞
図８は、補助補間処理部１２１の概略構成を示すブロック図であり、同図を用いて補助補間処理の構成とデータの流れを説明する。
【０１１３】
構成を説明すると、２１は入力インタフェースであり、表示制御部１２０からの画像データを入力する。
【０１１４】
例えば、ビットマップに展開された画像データをマクロブロック状に入力する。
【０１１５】
２２はセレクタであり、入力インタフェース２１と後述の補間画素生成部２７のいずれかのデータを選択し、出力インタフェース２３へ出力する。
【０１１６】
２３は出力インタフェースであり、ＶＲＡＭ制御部１２２へ画像データを出力する。２４は補間タグ情報抽出部であり、正常な画像データから隣接する領域を補間するための情報を抽出する。
【０１１７】
本実施例では、マクロブロック単位でＤＣ成分データを抽出する。
【０１１８】
ハードウェアの演算器で各画素値の平均を算出して、ＤＣ成分データとする。
【０１１９】
２５は補間タグ情報バッファであり、補間タグ情報抽出部２４で抽出したデータを記録する。
【０１２０】
本実施例では、１スライス分のデータを記録しておき、続く１スライス分の欠損に用いる。
【０１２１】
正常なスライスが入力された場合は、前のスライスのデータは不要であるから、正常データ到着のタイミングで上書きまたは消去が行われる。
【０１２２】
２６は欠損検出部であり、入力された画像データが欠損部分であるかを検出する。
【０１２３】
例えば、画素値を監視しておき、０ｘ００または０ｘＦＦの連続等、存在し得ない画素値が検出された場合に欠損部分であると判定する。
【０１２４】
欠損部分と判定された場合は、後述の補間画素生成部２７の動作許可信号を発生すると共に、セレクタ２２の切換え信号を出力する。
【０１２５】
切換え信号の論理は、欠損部分であった場合は補間画素生成部２７の信号、正常な場合は入力インタフェース２１の信号、を出力するように切換える。
【０１２６】
２７は補間画素生成部であり、補間タグ情報バッファ２５の情報を元にして、欠損したマクロブロックの補間を行う。
【０１２７】
本実施例では、上に隣接するマクロブロックのＤＣ成分の値で塗り潰すという補間動作を行う。
【０１２８】
補助補間処理部１２１の動作の流れを説明する。
【０１２９】
まず、正常な画像データが入力された場合を説明する。
【０１３０】
入力インタフェース２１から入力されたデータは、セレクタ２２、補間タグ抽出部２４、欠損検出部２６へと分配される。
【０１３１】
欠損検出部２６はデータを正常と判断してセレクタ２２を正常側に切換える。
【０１３２】
結果、入力されたデータがそのまま出力インタフェース２３から出力されていく。
【０１３３】
一方で、補間タグ抽出部２４は、次のスライスのために、この正常データのＤＣ成分を算出して補間タグ情報バッファ２５へ書き込んでおく。
【０１３４】
次に、欠損部分の画像データが入力された場合を説明する。
【０１３５】
この場合も、入力インタフェース２１から入力されたデータは、セレクタ２２、補間タグ抽出部２４、欠損検出部２６へと分配される。
【０１３６】
欠損検出部２６はデータの異常を検出して、補間画素生成部２７を動作させ、セレクタ２２を生成部２７側に切換える。
【０１３７】
生成部２７は、補間タグ情報バッファ２５中を検索して、現在の処理データと最も近い位置関係にある補間タグデータ（ＤＣ成分値）を取り出す。
【０１３８】
本実施例では、真上に位置するブロックのデータを読み出す。
【０１３９】
生成部２７は、入力インタフェース２１から入力したデータを、読み出したＤＣ成分データで置換えて出力する。
【０１４０】
結果、入力された無効データは、真上のブロックのＤＣ成分で補間されて出力されていく。
【０１４１】
以上、説明したように、補助補間処理部１２１の動作により、補間しきれなかった領域をＶＲＡＭへ書込み転送する途中で補間することができる。
【０１４２】
以上説明したように本実施例によれば、主補間処理できなかった欠陥部分に補助補間処理を施すことで、リアルタイム性を維持しつつ画質を大幅に向上できる。
【０１４３】
また、本発明は、上述の実施例に限定されることなく、幅広く応用することが可能である。
【０１４４】
本実施例の主補間処理部は、画像中心から欠陥迄の距離を算出するのに、画像中に重み付けをした領域に区切ってこの領域に属する欠陥を抽出したが、単純に画像中心から欠陥までの距離を計算し、その距離に応じた重みづけを行ってもよい。
【０１４５】
また、本実施例の主補間処理部は、補間順位を決定するために重要度と補間難易度を決定してから補間順位を決定したが、重要度または補間難易度どちらかだけを用いて補間順位を決定しても良い。
【０１４６】
重要度の判定及び補間難易度の算出は、公知の様々なアルゴリズムを用いて実現してよい。
【０１４７】
主補間部で適用するアルゴリズム、順序の判定は任意でよい。
【０１４８】
アルゴリズムは単一でもよいし、複数のアルゴリズムを静的に切換えて使うようにしてもよい。本実施例の順序付けは重要度と補間難易度で決定したが、上から、下から、中央から、等の固定的なものでもよい。
【０１４９】
本実施例の主補間処理部はソフトウェアで実現したが、ハードウェア回路で実現してもよい。
【０１５０】
本実施例では、画像欠陥の補間をマクロブロックの連続した単位により行う例について説明したが、これは通信を通じて送られてくる情報がマクロブロックベースで圧縮される圧縮フォーマットについて説明したからである。
【０１５１】
従って，通信を通じて転送する単位が画像のスライス単位であれば、補間もスライス単位で行えばよく、ユーザの都合の良い単位で通信を通じて転送するのであれば、それに応じた単位で補間を行えばよい。
【０１５２】
画像スライスの形状も任意でよい。
【０１５３】
本実施例ではマクロブロックが横に連なった行状に設定したが、マクロブロックを縦横に結合した矩形であってもよいし、任意の形状であってよい。
【０１５４】
その場合、補助補間処理部１２１は、上下左右で隣接するスライスの中で適当なものを用いて補間タグ情報を生成する。
【０１５５】
補助補間処理部１２１へのデータの入出力の形式は任意でよい。
【０１５６】
本実施例ではマクロブロック単位で行ったが、ラスタで入出力することもできる。次のようにすれば、本実施例と同様な動作が可能である。
【０１５７】
８ラインまたは１６ラインのラスタを一単位とする。
【０１５８】
入力したラスタは所定の長さで区分けされ、各区分け毎に平均を算出して記憶する。
【０１５９】
単位の入力が終了した後に、各区分け毎に上から下までの平均値の平均を算出する。
【０１６０】
これはマクロブロックのＤＣ成分（平均値）と等価であるから、ラスタ入力によっても同様な処理を行うことができる。
【０１６１】
補助補間処理部１２１で行う補間アルゴリズムは、表示への転送を妨げない限り、任意のものを用いてよい。
【０１６２】
上に隣接するブロックだけでなく、下に隣接するブロックの情報を用いて、上下方法から補間するようにしてもよい。
【０１６３】
ＤＣ成分に加えて、ＡＣ成分の一部を用いるようにしてもよい。
【０１６４】
画像種類によっては、隣接ブロックをそのままコピーするようにしてもよい。
【０１６５】
本実施例では、圧縮形式の画像データが入力する例を説明したが、ビットマップ形式などのいわゆるＲａｗ形式であってもよい。
【０１６６】
この場合は、デコーダ１０５の処理は行われず、通信上位層の処理が終わった画像データは、直ちに画像バッファ１０８に書き込まれることになる。
【０１６７】
本実施例では、ネットワークから画像データを入力する例を説明したが、他の外部機器からインタフェースを介して入力するようにしてもよい。
【０１６８】
例えば、ハードディスクドライブ装置やＤＶＤ装置等から入力するようにしてもよい。
【０１６９】
上記の記録媒体にはデータエラーが発生するから、こうした媒体のエラーに起因する画像欠損を補間することができる。
【０１７０】
本実施例では、表示パネルに表示出力する例を説明したが、ビデオ信号などの形式で出力する構成であってもよい。
【０１７１】
この場合は、表示制御部１２０で、画像データを出力形式に整えた後に出力するようにすればよい。
【０１７２】
（第２の実施例）
次に、本発明の第２の実施例について説明する。前述の実施例では、補助補間処理部で直前のスライスから補間情報を生成し、それを用いて補間する例を説明した。
【０１７３】
本実施例では、デコーダからの出力データ中に隣接スライスの情報を記録しておき、補助補間処理部はその情報を元に補間する例を説明する。
【０１７４】
＜画像処理装置の全体構成（図９）＞
図９のブロック図を用いて、本実施例の画像処理装置の構成を説明する。前述の実施例と同一の構成要素には同一の番号を付し、説明は省略する。
【０１７５】
前述の実施例との相違は、デコーダ１０５の構成にある。
【０１７６】
本実施例のデコーダ１０５は、出力するデータ中の欠損部分の箇所に隣接スライスの情報を記録するよう動作する。
【０１７７】
そのため、デコーダ１０５は、伸張処理部９１と補間情報挿入部９２で構成される。伸張処理部９１は、前述の実施例のデコーダ処理を実行するものであり、圧縮形式で入力された画像データの伸張を行って出力する。
【０１７８】
補間情報挿入部９２は、伸張処理部９１で使用した画像データや内部データの一部をバッファしておき、欠損スライスの箇所に挿入して出力する。
【０１７９】
本実施例では、上に隣接するスライス中のマクロブロックのＤＣ成分値を挿入する。
【０１８０】
デコーダ１０５は、上のスライスから順にデコードしていくので、欠損スライスの発見時には上のスライスの情報が残っている。
【０１８１】
ＭＰＥＧ形式等は逆ＤＣＴ演算を行うから、演算前のＤＣ係数を別途にバッファしておき、結果データに挿入して出力する。
【０１８２】
以上の構成をとることにより、欠損部分が生じた場合には、デコーダで隣接スライスの情報を挿入して出力することができる。
【０１８３】
＜補助補間処理部に入力する画像データの構成（図１０）＞
図１０（ａ）〜（ｄ）は画像バッファ１０８上の画像データの構成を表す図であり、同図を用いて補助補間処理部に入力するデータの様子を説明する。
【０１８４】
図１０（ａ）は、画像バッファ上１０８上の１フレーム分の画像データの格納状態を表す図である。
【０１８５】
１０００は１フレーム分の画像の格納領域である。
【０１８６】
１００１〜１００６の複数のスライスで構成されており、スライス毎に分かれて格納されている。
【０１８７】
本実施例では、スライスはマクロブロックを横に繋げた行の態様で構成される。
【０１８８】
スライス＃２（１００２）とスライス＃４（１００４）は欠損領域であるが、正常領域と全く同じ領域が確保されている。
【０１８９】
例えば、スライス＃２（１００２）が主補間処理プログラムで高い補間順位を獲得した場合には、同スライスに対して補間処理が実行され、領域１００２に書き戻される。
【０１９０】
図１０（ｂ）は、任意のスライスにおける格納状態を示す図である。
【０１９１】
１０１０は１スライス分の画像の格納領域である。
【０１９２】
１０１１〜１０１５の複数のラインで構成されており、ライン毎に分かれて格納されている。
【０１９３】
ライン数はマクロブロックのライン構成と一致しており、本実施例では例えば１６ラインで構成される。
【０１９４】
図１０（ｃ）は、正常なスライスにおける１ラインデータの構成を示す図である。
【０１９５】
１０２０は１ライン分の画像の格納領域であり、１０２１〜１０２６に示す複数の画素で構成されている。
【０１９６】
本実施例では、ＩＴＵ−Ｒ  ＢＴ．６５６のフォーマットで格納されており、Ｕ成分（１０２１）、左画素のＹ成分（１０２２）、Ｖ成分（１０２３）、右画素のＹ成分（１０２４）で二画素のデータを表す。
【０１９７】
なお、バッファ中のデータと画面内の位置の対応は明らかであるから、タイミングコードは格納されていない。
【０１９８】
以降、同様の形式で画素データが続いていく。
【０１９９】
一方で、図１０（ｄ）は、欠損したスライスの先頭ラインの格納状態を示す図である。
【０２００】
受信データが欠損しているので本来はデータが存在しないが、デコーダ１０５が以下の補間用データを生成して挿入する。
【０２０１】
スライスは複数のラインで構成されるが、補間用データは先頭ラインにのみ挿入される。他のラインのデータ構成は任意である。
【０２０２】
１０３１は欠損領域の識別子である。ＩＴＵ−Ｒ  ＢＴ．ＲＥＣ６０１の画素値で禁止されている０ｘＦＦや０ｘ００などのデータを用いる。
【０２０３】
１０３２〜１０３５は、補間に利用するための隣接スライス情報である。
【０２０４】
デコーダ１０５がデコード処理中に生成したデータであって、補間に使用できそうな情報を挿入してある。
【０２０５】
本実施例では、上に隣接するスライス中のマクロブロックのＤＣ成分値を使用する。
【０２０６】
１０３５の後にも、ブロック数分だけデータが続いていく。
【０２０７】
デコーダ１０５は、上のスライスから順にデコードするから、欠損スライスの発見時には上のスライスの情報が残っている。
【０２０８】
ＭＰＥＧ等であれば、逆ＤＣＴ演算を行うから、演算前のＤＣ係数を別途にバッファしておき、挿入することが可能である。
【０２０９】
＜補助補間処理部の動作の説明＞
本実施例の補助補間処理部１２１のブロック構成は、前述の実施例と同一であるので説明を省略する。
【０２１０】
構成するブロックの動作の違いを説明すると、補間タグ情報抽出部２４は、欠損スライスが到来した時に、デコーダ１０５が挿入しておいた補間用データの抽出を行う。
【０２１１】
補間タグ情報バッファ２５は、欠損スライスデータに挿入されていた補間用データを格納し、当該スライスの補間処理に使用する。
【０２１２】
欠損検出部２６は、デコーダ１０５が挿入しておいたエラー識別子１０３１の検出を行う。
【０２１３】
本実施例の補助補間処理部１２１の動作の流れを説明する。
【０２１４】
まず、正常な画像データが入力された場合を説明する。
【０２１５】
入力インタフェース２１から入力されたデータは、セレクタ２２、補間タグ抽出部２４、欠損検出部２６へと分配される。
【０２１６】
欠損検出部２６はデータを正常と判断してセレクタ２２を正常側に切換える。結果、入力されたデータがそのまま出力インタフェース２３から出力されていく。
【０２１７】
次に、欠損部分の画像データが入力された場合を説明する。
【０２１８】
この場合も、入力インタフェース２１から入力されたデータは、セレクタ２２、補間タグ抽出部２４、欠損検出部２６へと分配される。
【０２１９】
欠損検出部２６はデータの異常を検出すると、当該スライスが欠損領域だと判定して、補間画素生成部２７を動作させ、セレクタ２２を生成部２７側に切換える。
【０２２０】
データ異常の検出は、入力したデータがエラー識別子１０３１か否かを検出する。
【０２２１】
エラー識別子１０３１を検出すると、補間タグ抽出部２４は、上スライスのＤＣ成分情報１０３２〜１０３５を読み込んで補間タグ情報バッファ２５へ書き込む。
【０２２２】
生成部２７は、補間タグ情報バッファ２５中を検索して、現在の処理データと最も近い位置関係にある補間タグデータ（ＤＣ成分値）を取り出す。
【０２２３】
そして、入力インタフェース２１から入力したデータを、読み出したＤＣ成分データで置換えて出力する。
【０２２４】
結果、入力された欠損スライスのデータは、真上のブロックのＤＣ成分で補間されて出力されていく。
【０２２５】
入力データ中のエラー識別子の検出と補間処理には多少の処理時間が必要であるから、出力データは所定クロックだけ遅れて出力される。
【０２２６】
以上、説明したように、補助補間処理部１２１は、デコーダで挿入された隣接スライスの情報を用いて補助補間処理を行い、主補間部で補間しきれなかった領域をＶＲＡＭへ書込み転送する途中で補間することができる。
【０２２７】
以上説明したように本実施例によれば、前述の実施例と全く同様な効果が得られる。
【０２２８】
さらに、デコード時に得られた情報を補助補間処理で利用できるので、簡易な構成でより画質向上が図れるという効果がある。
【０２２９】
また、本発明は、上述の実施例に限定されることなく、幅広く応用することが可能である。
【０２３０】
デコーダ１０５が作成して出力データに挿入する、補間用データの構成方法は任意である。
【０２３１】
エラー識別子は、複数バイトを組み合わせて構成するようにしてもよい。
【０２３２】
補間用データは、先頭ラインだけでなく、各ラインにも挿入してもよい。
【０２３３】
欠損領域の対応する位置に都度に挿入するようにしてもよい。
【０２３４】
テキストデータで挿入してもよいし、コマンド形式として挿入することもできる。
【図面の簡単な説明】
【０２３５】
【図１】第１の実施例の画像処理装置の概略構成を示すブロック図である。
【図２】第１の実施例におけるＣＰＵ１０１の処理の流れを示すフローチャートである。
【図３】第１の実施例におけるＲＴＰパケットのヘッダの例を表す図である。
【図４】第１の実施例におけるＲＴＰパケットのヘッダ中のリスタートマーカ部の例を表す図である。
【図５】第１の実施例における画像欠陥を表す図である。
【図６】第１の実施例における、画像中心からの距離をあらわす画面の領域を分割し、領域に対する重み付け係数を表す図である。
【図７】第１の実施例における、画像欠陥に対して画像中心からの距離をあらわす分割された領域をあてはめた図である。
【図８】第１の実施例の画像処理装置の補助補間部１２１の概略構成を示すブロック図である。
【図９】第２の実施例の画像処理装置の概略構成を示すブロック図である。
【図１０】第２の実施例における画像バッファ上１０８上の画像データの構成を示す図である。
【符号の説明】
【０２３６】
２１：入力インタフェース
２２：セレクタ
２３：出力インタフェース
２４：補間タグ情報抽出部
２５：補間タグ情報バッファ
２６：欠損検出部
２７：補間画素生成部
１０１：ＣＰＵ
１０２：ＲＡＭ
１０３：ＲＯＭ
１０４：通信部
１０５：デコーダ
１０７：バス
１０８：画像バッファ
１０９：主補間プログラム
１１０：表示コントローラ
１１１：ＶＲＡＭ
１１２：表示パネル
１２０：表示制御部
１２１：補助補間部
１２２：ＶＲＡＭ制御部
６０１〜６０６：画像欠陥
【図１】
2007134792.tif 000004
【図２】
2007134792.tif 000005
【図３】
2007134792.tif 000006
【図４】
2007134792.tif 000007
【図５】
2007134792.tif 000008
【図６】
2007134792.tif 000009
【図７】
2007134792.tif 000010
【図８】
2007134792.tif 000011
【図９】
2007134792.tif 000012
【図１０】
2007134792.tif 000013