JP2007134792A - 画像処理装置及び画像処理方法 - Google Patents
画像処理装置及び画像処理方法 Download PDFInfo
- Publication number
- JP2007134792A JP2007134792A JP2005323622A JP2005323622A JP2007134792A JP 2007134792 A JP2007134792 A JP 2007134792A JP 2005323622 A JP2005323622 A JP 2005323622A JP 2005323622 A JP2005323622 A JP 2005323622A JP 2007134792 A JP2007134792 A JP 2007134792A
- Authority
- JP
- Japan
- Prior art keywords
- interpolation
- image data
- image
- input
- image processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】リアルタイム性を維持しつつ画質を大幅に改善した、好適な画像処理装置を提供することを目的とする。
【解決手段】画像データを入力する手段と、該入力画像データを記憶する手段と、該記憶手段に記憶された画像データを読み出して出力する手段と、を備えた画像処理装置であって、該記憶手段中の画像データを読み出して欠陥部分の補間を行う第一の補間手段と、該記憶手段中の画像データを該出力手段に転送する際に欠陥部分の補間を行う第二の補間手段とを備えたことを特徴とする画像処理装置等、を提供する。
【選択図】図1
【解決手段】画像データを入力する手段と、該入力画像データを記憶する手段と、該記憶手段に記憶された画像データを読み出して出力する手段と、を備えた画像処理装置であって、該記憶手段中の画像データを読み出して欠陥部分の補間を行う第一の補間手段と、該記憶手段中の画像データを該出力手段に転送する際に欠陥部分の補間を行う第二の補間手段とを備えたことを特徴とする画像処理装置等、を提供する。
【選択図】図1
Description
本発明は、圧縮された画像を復号して、表示または出力を行う画像処理装置及び画像処理方法に関する。
近年のパーソナルコンピュータの普及と高性能化や通信媒体の高速化に伴い、コンピュータ間でのデータの授受の多様性が広がり、これにより動画の送受信をコンピュータネットワーク上で行うことが常態化してきた。また、これに伴って、リアルネットワークス社のHelix Serverのような動画ストリームをリアルタイムに配信するサーバも実用化されている。
しかしながら、通信路が混雑していたり何か別の理由により通信状態が悪い場合には、本来届くべき画像情報の全てが揃わず、これにより、リアルタイムな画像伝送を行おうとした場合に、受信画像が大きく劣化する。
劣化した受信画像を補間する方法として、例えば下記の技術が存在する。
(1) 直前のフレームを用いて欠陥部分の補間を行う例が開示されている(例えば、特許文献1参照)。受信装置内に画像補間部を設け、過去の画像フレームを参照しながら補間処理を行う。
(2) 通信パケットを補間が容易なパケット群と困難な群に分類し、補間が容易なパケット群による画像劣化は補間を行い、補間が困難なパケット群による画像劣化に対しては、再送を行う例が開示されている(例えば、特許文献2参照)。
送信装置が困難さによる分類を行い、受信装置は分類に従って再送要求或いは補間を行う処理部を備えている。
また、画像補間部の構成方法の例として、下記の技術が存在する。
(3) デコーダと密結合ないしは一体化させた例がある。デコーダと補間回路とが、専用の制御線とデータ線で接続された構成が開示されている(例えば、特許文献3参照)。デコード後は直ちに補間処理が行われて、補間処理後の画像データが出力される。
(4) 補間処理の方法として、デコーダと重複する処理を行う例がある。画像補間部で、複数の周囲ブロックの画素情報からDCT係数を計算し、平均を取った後に逆DCTを行うことにより補間する方法が開示されている(例えば、特許文献4参照)。
しかしながら、上記従来例では、画像品質とリアルタイム性が両立できないという問題があった。従来例では、欠陥箇所の数に比例して補間処理の負荷が増加する。
そのため、画像中の欠陥が多数になると、全く補間されない領域が残ってしまい、著しく画質が低下してしまうという欠点があった。
従来例(2)は、再送要求したパケットが到着するまでは画像表示ができなくなるので、リアルタイム性が劣るという問題があった。
従来例(3)は構成を密結合させることでデータ転送負荷を下げることができるものの、補間数に上限はあった。
本発明は、主たる補間処理を行えなかった画像欠陥部分に補助補間処理を施すことで、リアルタイム性を維持しつつ画質を大幅に改善した、好適な画像処理装置を提供することを目的とする。
上記目的を達成するために本発明は、画像データを入力する手段と、該入力画像データを記憶する手段と、該記憶手段に記憶された画像データを読み出して出力する手段と、を備えた画像処理装置であって、該記憶手段中の画像データを読み出して欠陥部分の補間を行う第一の補間手段と、該記憶手段中の画像データを該出力手段に転送する際に欠陥部分の補間を行う第二の補間手段とを備えたことを特徴とする画像処理装置等、を提供する。
本発明によれば、主たる補間処理を行えなかった画像欠陥部分に補助補間処理を施すことで、リアルタイム性を維持しつつ画質を向上できるという効果がある。
特に、動画像の主たる補間処理をソフトウェアで実現する場合には、フレーム期間内で処理できる欠陥数に制限があるから、本発明によって画質を向上させることができる。
以下、添付図面を参照して本発明の好適な実施の形態を詳細に説明する。
(第1の実施例)
先ず、本発明の第1の実施例について説明する。本実施例の画像処理装置は、ネットワークから受信した圧縮画像を展開し、欠損部分を補間した後に表示を行う。
先ず、本発明の第1の実施例について説明する。本実施例の画像処理装置は、ネットワークから受信した圧縮画像を展開し、欠損部分を補間した後に表示を行う。
主な補間処理はCPU上のソフトウェアで行い、補間処理し切れなかった部分を表示制御ハードウェアで補助補間する。
補助補間処理は、上に隣接する領域の画素平均値であるDC成分を記録しておき、欠損部分をDC成分の色で塗り潰す、という動作を行う。
以下、図1〜図8に基づき、本発明による画像処理装置の好適な実施形態を説明する。
<画像処理装置の全体構成の説明(図1)>
本実施例の画像処理装置の概略構成を図1のブロック図を用いて説明する。
本実施例の画像処理装置の概略構成を図1のブロック図を用いて説明する。
図中、100はネットワーク画像受信端末であり、ネットワークから入力した画像データを展開して表示を行う。
端末100には、システム全体の動作の制御や演算を行うためのCPU101、演算のワーク領域やバッファとして用いるためのランダムアクセスメモリRAM102、及び、プログラムを格納した読込専用メモリROM103、が設けられている。更に、端末100には、外部との通信を行うための通信部104、通信により受信した動画データが圧縮形式であった場合にデータを伸長するためのデコーダ105、及び、これらを接続するためのバス107が設けられている。
プログラムは、外部又はROM103からRAM102にロードして、RAM102上で実行するようにしてもよい。
通信により受信した動画データは、通信の低位層の処理は通信部104によって処理される。通信部104内部のバッファから不図示のDMAによりRAM102に転送され、通信上位層の処理はCPU101によってソフトウェア処理される。
デコーダはソフトウェアで実装しても良いが、本実施例では、高速化のためにハードウェアで構成されている。
また、デコーダは、動画ストリームを順に入力するとストリームを解釈して区切りの良いところで伸長した画像データを出力する。
本実施例では、一行分のマクロブロックをスライスとして扱い、スライス単位でデコードとデータ出力を行う。
108は画像バッファであり、デコーダ105から出力されたビットマップ形式の画像データを格納する。
109は主補間プログラムであり、ROM103内に格納されており、CPU101で実行される。
これは、画像バッファ108の画像データを読み出して欠損部分が存在するか検出し、必要に応じて欠損部分の補間処理を行って画像バッファ108を更新する。
主補間プログラム109の構成と動作は後述する。111はVRAMであり、表示パネル112に表示するデータの格納を行う。
112は表示パネルであり、表示コントローラ110の制御によって、画像データの表示を行う。
例えば、CRTやLCD、プラズマ方式など任意の方式の表示パネルが使用できる。
110は表示コントローラであり、VRAM111の読書き制御と表示パネル112の駆動を行う。
フレーム画像イメージが完成したタイミングで画像バッファ108から画像データを読み出し、VRAM111へ書込む。
所定の表示タイミングに従ってVRAM111の内容を読み出して表示パネル112へ出力を行う。
表示コントローラ110において、120は表示制御部である。画像バッファ108からの読出し、表示パネル112への書込みタイミングを生成し、それに従って各部を駆動する。不図示のタイマで時間を管理し、例えば1/30秒、1/60秒のフレーム表示タイミングに合わせて処理を行う。
表示パネル112に対しては、パネルを駆動するための制御信号を作成・出力し、該制御信号に合わせて画像データ信号を出力する。
121は補助補間処理部であり、VRAM111へ画像データが転送される際に、欠損部分の検出を行って補助的な補間処理を行う。
詳細は後述する。122はVRAM制御部であり、VRAM111に対するアクセスの調停を行う。
以下では、図1のブロック図における画像データのデータフローを説明する。ネットワークから受信した画像データは、通信下位層の処理が行われて通信部104内のバッファに格納される。
不図示のDMAコントローラによりRAM102に転送され、CPU101で通信上位層の処理が行われた後にRAM102に書き戻される。
次に、不図示のDMAコントローラによりデコーダ105に転送され、圧縮形式からのデコードが行われる。
デコード終了したデータは画像バッファ108に格納される。画像バッファ108のデータをCPU101が読み出して、必要に応じて主補間処理を行った後に、画像バッファ108に書き戻される。
続いて、所定のタイミングで表示制御部120が読み出して、補助補間処理部121に出力する。補助補間処理部121は必要に応じて補助補間処理を行って、VRAM制御部122へ出力する。
VRAM制御部122は調停を行ってVRAM111へ書き込む。
所定のタイミングでVRAM111のデータは読み出され、表示パネル112へ出力されることで表示が行われる。
以上の構成により、ネットワークから受信した画像データをデコードした後に、欠損部分に対して主補間処理と補助補間処理を行って、画像表示することができる。
<主補間処理の流れの説明(図2〜7)>
次に、CPU101が行う処理の流れを、図2のフローチャートを用いて説明する。
次に、CPU101が行う処理の流れを、図2のフローチャートを用いて説明する。
通信受信処理を行った後、デコーダ105を用いて画像伸張を行い、主補間処理を行って欠損部分を修復する。
本実施例の主補間処理は、欠損部分を検出し、欠損部分の重要度と修復難易度から補間順位を付け、順位に従って補間処理を行う。
また、複数の補間アルゴリズムを実装しており、欠損部分の状態に応じたアルゴリズムを適用する。
補間アルゴリズムは、フレーム内補間方法やフレーム間補間方法、更にはフレーム内補間でも、上下左右のマクロブロックから比較的簡単に補間する方法やより複雑な補間方法が存在する。
本実施例では、装置の扱う画像種類や用途に合わせた補間アルゴリズムが実装される。
また、補間アルゴリズムが複雑になればなるほど、処理回路規模が大きくなってしまう。
そのために、本実施例での主補間処理はCPU101上で動作するソフトウェアプログラムとして構成する。
図中、通信部104で通信の下位層の処理を成されたデータはまずステップs201において、IPパケットやTCPパケットの処理のような通信の上位層の処理を行う。
次にステップs202においてCRCなどで通信エラーがあったかどうかを判定し、通信エラーがなければステップs203においてパケット単位で画像伸長を行い、結果をRAM102に保存する。
ステップs202において通信エラーが検出されたら、そのパケットは破棄し、ステップs203の画像伸長は行わず、次の通信による入力を待つ。
画像伸長(ステップs203)の処理は一般的に負荷が高いため、リアルタイムな動画の再生を行うためにはハードウェアデコーダ105を用いるのが良い。
動画の1フレーム分のデータは一般的に通信の1パケットにおさまることは少ないため、1フレームを構成するデータが全て到着する迄ステップ201からステップ203の処理を繰り返す(ステップs204)。
以下、ステップs205〜214が、主補間処理を行う処理ステップである。
無線を使った通信のようにあまり信頼性の高くない通信路において動画の伝送を行う場合、パケットロスなどのような通信エラーは避けられず,リアルタイムな動画の伝送が必要な場合には画像の補間により画質を維持する方法が現実的である。
特に閲覧者に違和感なく感じる画像に補間するためには、状況に応じて複数の補間方法を使い分けることが必要となり、一方では処理に要する時間が限られているため、特にソフトウェアで実装を行う場合には全てを処理できるとは限らない。
従って,重要なものを判別して処理を行い、重要ではない部分の処理を後回しにすることで、動画の重要な部分を確実に処理し、よりよくみせる実装が可能となる。
ステップs205において、画像の欠陥と位置を検出する。
画像の欠陥は、主に、
1)通信エラー(通信パケットが到着しない場合も含む)
2)デコードエラー
であり、通信パケット到着時にそのパケットが画像のどの位置のデータを含むか明確であれば、逆に画像欠陥の位置の検出がしやすい。
1)通信エラー(通信パケットが到着しない場合も含む)
2)デコードエラー
であり、通信パケット到着時にそのパケットが画像のどの位置のデータを含むか明確であれば、逆に画像欠陥の位置の検出がしやすい。
例えば、通信のトランスポート層にRTP(Realtime Transport Protocol)を用い、画像の圧縮フォーマットがモーションJPEGである場合について考える。
画像フォーマットがモーションJPEGである場合のパケットは図3に示すような構成である。
先頭からRTPヘッダ部(301)、JPEGヘッダ部(302)、リスタートマーカ部(303)、Qテーブル部(304)、JPEGのデータ(305)の順に格納される。
通信の1パケットに収まる程度の頻度で、JPEGデータの区切りをあらわすリスタートマーカを挿入しておくと、通信パケットのRTPヘッダを除いたペイロードの先頭はリスタートマーカである。そして、このリスタートマーカ後のマクロブロックがフレーム内の何番目のマクロブロックであるかがRTPのヘッダ部に記述されているため、現在対象としているパケットのマクロブロックの先頭が画像のどの位置に相当するかが分かる。
図4にリスタートマーカ部(303)のデータの構成を示す。
リスタートマーカ部(303)には、リスタートマーカが何マクロブロック単位に挿入されているかを示すリスタートインターバル401と、何番目のリスタートマーカであるかを示すリスタートカウント502が格納されている。
すなわち、このリスタートマーカ部の情報を用いて、このパケットの先頭のマクロブロックは「(リスタートインターバル)*(リスタートカウント)番目」である。
ステップs202において通信の欠陥があったかどうかを判定しているが、通信の欠陥を検出しても、RTPのヘッダを読むことができれば、この情報を利用して、破棄されたパケットの画像に対するマクロブロックの位置がわかる。
複数のパケットについて同様に処理していくことで、ある動画フレームにおいて処理されていない座標が、通信エラーにより生じた画像の欠陥であると考えられる。
例えば図5において、501〜506が画像の欠陥である。
次にステップ206においてそれぞれの画像の欠陥を修復するための補間方法を決定する。
補間方法は、現在の画像がシーンチェンジであれば、フレーム内補間を行うしかなく、フレーム内補間においても、欠陥の状況により、複数用意されたフレーム内補間の方法から1つを選択する。
また、シーンチェンジでなければフレーム間の補間を使うこともでき、補間方法の選択肢は広がる。
次にステップ207において欠陥501から欠陥506それぞれについて重要度を算出する。
本実施形態においては、重要度を画像中心からの距離により割り当てる。
画像中心からの距離は、図6に示すように、縦横それぞれ5等分し、図6のように領域に応じて係数を割り当てる(以後、領域係数)。
図7は図5で示した欠陥と図6で割り当てた領域を重ね合わせたものである。
各欠陥501〜506において、それぞれの欠陥の存在する領域のうち、領域係数の最も大きな値となるものをその欠陥の領域係数とする。
例えば、欠陥503では、領域係数8,6,2の部分に存在するが、このうち最大の領域係数は8であるため、欠陥503の領域係数は8となる。
次にステップs208において、補間難易度を算出する。
本実施例においては、欠陥領域の広さを修復難易度とする。
この欠陥フレームがシーンチェンジ直後であれば、補間方法としてはフレーム内補間を行うことになるが、フレーム内補間であれば特に細長い領域に対しては修復難易度は高くないが、領域の短辺が長い程、補間が難しい。一方で、視覚に与える影響は大きいため精度の高い補間が求められ、複雑な処理が必要となる。
図5の欠陥の場合、欠陥505,506が重なり合っており、複雑な補間が必要となる。このように、欠陥が縦方向に隣接している重なり数nに対して、欠陥領域係数を「(n−1)*5」とすると、欠陥505と506に対して重なり数n=2として、欠陥領域係数は5となる。
この欠陥領域係数5はこの欠陥を作り出す全ての欠陥に対して割り当てる。すなわち、欠陥505と506はともに欠陥領域係数は5である。
次にステップs209において、重要度と修復難易度から画像欠陥の補間順位を決定する。
本実施形態においては、重要度と修復難易度のそれぞれの係数を足し合わせた数値が大きい順に補間順位とする。
従って、それぞれの欠陥に対する重要度と修復難易度、これらの係数の合計と補間順位は以下の表1のようになる。
次にステップs210において補間処理を行うためのタイムアウト時間を決定し、タイマを起動する。
動画のフレームレートにより、画像欠陥優先度付加部に次の動画フレームが到達する時間を見積もることができる。すなわち、例えばフレームレートが30fpsであれば、「1/30=33.33mSec」となり、若干マージンを見積もり、30mSecとする。この30mSecを1フレームあたり、補間処理可能な最大時間とし、ステップs210において、タイムアウト時間を30mSecに設定し、タイマを起動する。
次にステップs211において画像欠陥一つを補間処理し、タイムアウトしなければ次の補間を行う。
補間処理を行う順番はステップs209で決定した順番(欠陥505,506,504,503,502,501)である。
全ての補間処理が終了していなくても、タイムアウトしたら、処理を中断して現在の動画フレームの補間処理を中断し、ステップs214において、取得したメモリ等のリソースを開放する等の補間中断処理を行う。
本実施例では、補間処理が終了する度にタイムアウトを調べているが,割り込み処理によって補間を中断するようにしても良い。
この場合、ステップs214の補間中断処理において、取得したリソースを開放するだけでなく、補間中で欠陥領域の補間が全て終了していなくても、補間が完了した画素を出力する処理を行う。
以上の処理により、通信受信処理を行った後、デコーダ105を用いて画像伸張を行い、主補間処理を行って欠損部分を修復することができる。
主補間処理を行うステップs205〜214は、欠損箇所に補間順位を付けて、制約時間内で順位の高いものから補間処理を行うことができる。
一方で、時間切れとなった補間順位の低い欠損箇所は、そのままの状態で放置される。
これを後述の補助補間処理部121が補間する。
<補助補間処理部の構成例(図8)>
図8は、補助補間処理部121の概略構成を示すブロック図であり、同図を用いて補助補間処理の構成とデータの流れを説明する。
図8は、補助補間処理部121の概略構成を示すブロック図であり、同図を用いて補助補間処理の構成とデータの流れを説明する。
構成を説明すると、21は入力インタフェースであり、表示制御部120からの画像データを入力する。
例えば、ビットマップに展開された画像データをマクロブロック状に入力する。
22はセレクタであり、入力インタフェース21と後述の補間画素生成部27のいずれかのデータを選択し、出力インタフェース23へ出力する。
23は出力インタフェースであり、VRAM制御部122へ画像データを出力する。24は補間タグ情報抽出部であり、正常な画像データから隣接する領域を補間するための情報を抽出する。
本実施例では、マクロブロック単位でDC成分データを抽出する。
ハードウェアの演算器で各画素値の平均を算出して、DC成分データとする。
25は補間タグ情報バッファであり、補間タグ情報抽出部24で抽出したデータを記録する。
本実施例では、1スライス分のデータを記録しておき、続く1スライス分の欠損に用いる。
正常なスライスが入力された場合は、前のスライスのデータは不要であるから、正常データ到着のタイミングで上書きまたは消去が行われる。
26は欠損検出部であり、入力された画像データが欠損部分であるかを検出する。
例えば、画素値を監視しておき、0x00または0xFFの連続等、存在し得ない画素値が検出された場合に欠損部分であると判定する。
欠損部分と判定された場合は、後述の補間画素生成部27の動作許可信号を発生すると共に、セレクタ22の切換え信号を出力する。
切換え信号の論理は、欠損部分であった場合は補間画素生成部27の信号、正常な場合は入力インタフェース21の信号、を出力するように切換える。
27は補間画素生成部であり、補間タグ情報バッファ25の情報を元にして、欠損したマクロブロックの補間を行う。
本実施例では、上に隣接するマクロブロックのDC成分の値で塗り潰すという補間動作を行う。
補助補間処理部121の動作の流れを説明する。
まず、正常な画像データが入力された場合を説明する。
入力インタフェース21から入力されたデータは、セレクタ22、補間タグ抽出部24、欠損検出部26へと分配される。
欠損検出部26はデータを正常と判断してセレクタ22を正常側に切換える。
結果、入力されたデータがそのまま出力インタフェース23から出力されていく。
一方で、補間タグ抽出部24は、次のスライスのために、この正常データのDC成分を算出して補間タグ情報バッファ25へ書き込んでおく。
次に、欠損部分の画像データが入力された場合を説明する。
この場合も、入力インタフェース21から入力されたデータは、セレクタ22、補間タグ抽出部24、欠損検出部26へと分配される。
欠損検出部26はデータの異常を検出して、補間画素生成部27を動作させ、セレクタ22を生成部27側に切換える。
生成部27は、補間タグ情報バッファ25中を検索して、現在の処理データと最も近い位置関係にある補間タグデータ(DC成分値)を取り出す。
本実施例では、真上に位置するブロックのデータを読み出す。
生成部27は、入力インタフェース21から入力したデータを、読み出したDC成分データで置換えて出力する。
結果、入力された無効データは、真上のブロックのDC成分で補間されて出力されていく。
以上、説明したように、補助補間処理部121の動作により、補間しきれなかった領域をVRAMへ書込み転送する途中で補間することができる。
以上説明したように本実施例によれば、主補間処理できなかった欠陥部分に補助補間処理を施すことで、リアルタイム性を維持しつつ画質を大幅に向上できる。
また、本発明は、上述の実施例に限定されることなく、幅広く応用することが可能である。
本実施例の主補間処理部は、画像中心から欠陥迄の距離を算出するのに、画像中に重み付けをした領域に区切ってこの領域に属する欠陥を抽出したが、単純に画像中心から欠陥までの距離を計算し、その距離に応じた重みづけを行ってもよい。
また、本実施例の主補間処理部は、補間順位を決定するために重要度と補間難易度を決定してから補間順位を決定したが、重要度または補間難易度どちらかだけを用いて補間順位を決定しても良い。
重要度の判定及び補間難易度の算出は、公知の様々なアルゴリズムを用いて実現してよい。
主補間部で適用するアルゴリズム、順序の判定は任意でよい。
アルゴリズムは単一でもよいし、複数のアルゴリズムを静的に切換えて使うようにしてもよい。本実施例の順序付けは重要度と補間難易度で決定したが、上から、下から、中央から、等の固定的なものでもよい。
本実施例の主補間処理部はソフトウェアで実現したが、ハードウェア回路で実現してもよい。
本実施例では、画像欠陥の補間をマクロブロックの連続した単位により行う例について説明したが、これは通信を通じて送られてくる情報がマクロブロックベースで圧縮される圧縮フォーマットについて説明したからである。
従って,通信を通じて転送する単位が画像のスライス単位であれば、補間もスライス単位で行えばよく、ユーザの都合の良い単位で通信を通じて転送するのであれば、それに応じた単位で補間を行えばよい。
画像スライスの形状も任意でよい。
本実施例ではマクロブロックが横に連なった行状に設定したが、マクロブロックを縦横に結合した矩形であってもよいし、任意の形状であってよい。
その場合、補助補間処理部121は、上下左右で隣接するスライスの中で適当なものを用いて補間タグ情報を生成する。
補助補間処理部121へのデータの入出力の形式は任意でよい。
本実施例ではマクロブロック単位で行ったが、ラスタで入出力することもできる。次のようにすれば、本実施例と同様な動作が可能である。
8ラインまたは16ラインのラスタを一単位とする。
入力したラスタは所定の長さで区分けされ、各区分け毎に平均を算出して記憶する。
単位の入力が終了した後に、各区分け毎に上から下までの平均値の平均を算出する。
これはマクロブロックのDC成分(平均値)と等価であるから、ラスタ入力によっても同様な処理を行うことができる。
補助補間処理部121で行う補間アルゴリズムは、表示への転送を妨げない限り、任意のものを用いてよい。
上に隣接するブロックだけでなく、下に隣接するブロックの情報を用いて、上下方法から補間するようにしてもよい。
DC成分に加えて、AC成分の一部を用いるようにしてもよい。
画像種類によっては、隣接ブロックをそのままコピーするようにしてもよい。
本実施例では、圧縮形式の画像データが入力する例を説明したが、ビットマップ形式などのいわゆるRaw形式であってもよい。
この場合は、デコーダ105の処理は行われず、通信上位層の処理が終わった画像データは、直ちに画像バッファ108に書き込まれることになる。
本実施例では、ネットワークから画像データを入力する例を説明したが、他の外部機器からインタフェースを介して入力するようにしてもよい。
例えば、ハードディスクドライブ装置やDVD装置等から入力するようにしてもよい。
上記の記録媒体にはデータエラーが発生するから、こうした媒体のエラーに起因する画像欠損を補間することができる。
本実施例では、表示パネルに表示出力する例を説明したが、ビデオ信号などの形式で出力する構成であってもよい。
この場合は、表示制御部120で、画像データを出力形式に整えた後に出力するようにすればよい。
(第2の実施例)
次に、本発明の第2の実施例について説明する。前述の実施例では、補助補間処理部で直前のスライスから補間情報を生成し、それを用いて補間する例を説明した。
次に、本発明の第2の実施例について説明する。前述の実施例では、補助補間処理部で直前のスライスから補間情報を生成し、それを用いて補間する例を説明した。
本実施例では、デコーダからの出力データ中に隣接スライスの情報を記録しておき、補助補間処理部はその情報を元に補間する例を説明する。
<画像処理装置の全体構成(図9)>
図9のブロック図を用いて、本実施例の画像処理装置の構成を説明する。前述の実施例と同一の構成要素には同一の番号を付し、説明は省略する。
図9のブロック図を用いて、本実施例の画像処理装置の構成を説明する。前述の実施例と同一の構成要素には同一の番号を付し、説明は省略する。
前述の実施例との相違は、デコーダ105の構成にある。
本実施例のデコーダ105は、出力するデータ中の欠損部分の箇所に隣接スライスの情報を記録するよう動作する。
そのため、デコーダ105は、伸張処理部91と補間情報挿入部92で構成される。伸張処理部91は、前述の実施例のデコーダ処理を実行するものであり、圧縮形式で入力された画像データの伸張を行って出力する。
補間情報挿入部92は、伸張処理部91で使用した画像データや内部データの一部をバッファしておき、欠損スライスの箇所に挿入して出力する。
本実施例では、上に隣接するスライス中のマクロブロックのDC成分値を挿入する。
デコーダ105は、上のスライスから順にデコードしていくので、欠損スライスの発見時には上のスライスの情報が残っている。
MPEG形式等は逆DCT演算を行うから、演算前のDC係数を別途にバッファしておき、結果データに挿入して出力する。
以上の構成をとることにより、欠損部分が生じた場合には、デコーダで隣接スライスの情報を挿入して出力することができる。
<補助補間処理部に入力する画像データの構成(図10)>
図10(a)〜(d)は画像バッファ108上の画像データの構成を表す図であり、同図を用いて補助補間処理部に入力するデータの様子を説明する。
図10(a)〜(d)は画像バッファ108上の画像データの構成を表す図であり、同図を用いて補助補間処理部に入力するデータの様子を説明する。
図10(a)は、画像バッファ上108上の1フレーム分の画像データの格納状態を表す図である。
1000は1フレーム分の画像の格納領域である。
1001〜1006の複数のスライスで構成されており、スライス毎に分かれて格納されている。
本実施例では、スライスはマクロブロックを横に繋げた行の態様で構成される。
スライス#2(1002)とスライス#4(1004)は欠損領域であるが、正常領域と全く同じ領域が確保されている。
例えば、スライス#2(1002)が主補間処理プログラムで高い補間順位を獲得した場合には、同スライスに対して補間処理が実行され、領域1002に書き戻される。
図10(b)は、任意のスライスにおける格納状態を示す図である。
1010は1スライス分の画像の格納領域である。
1011〜1015の複数のラインで構成されており、ライン毎に分かれて格納されている。
ライン数はマクロブロックのライン構成と一致しており、本実施例では例えば16ラインで構成される。
図10(c)は、正常なスライスにおける1ラインデータの構成を示す図である。
1020は1ライン分の画像の格納領域であり、1021〜1026に示す複数の画素で構成されている。
本実施例では、ITU−R BT.656のフォーマットで格納されており、U成分(1021)、左画素のY成分(1022)、V成分(1023)、右画素のY成分(1024)で二画素のデータを表す。
なお、バッファ中のデータと画面内の位置の対応は明らかであるから、タイミングコードは格納されていない。
以降、同様の形式で画素データが続いていく。
一方で、図10(d)は、欠損したスライスの先頭ラインの格納状態を示す図である。
受信データが欠損しているので本来はデータが存在しないが、デコーダ105が以下の補間用データを生成して挿入する。
スライスは複数のラインで構成されるが、補間用データは先頭ラインにのみ挿入される。他のラインのデータ構成は任意である。
1031は欠損領域の識別子である。ITU−R BT.REC601の画素値で禁止されている0xFFや0x00などのデータを用いる。
1032〜1035は、補間に利用するための隣接スライス情報である。
デコーダ105がデコード処理中に生成したデータであって、補間に使用できそうな情報を挿入してある。
本実施例では、上に隣接するスライス中のマクロブロックのDC成分値を使用する。
1035の後にも、ブロック数分だけデータが続いていく。
デコーダ105は、上のスライスから順にデコードするから、欠損スライスの発見時には上のスライスの情報が残っている。
MPEG等であれば、逆DCT演算を行うから、演算前のDC係数を別途にバッファしておき、挿入することが可能である。
<補助補間処理部の動作の説明>
本実施例の補助補間処理部121のブロック構成は、前述の実施例と同一であるので説明を省略する。
本実施例の補助補間処理部121のブロック構成は、前述の実施例と同一であるので説明を省略する。
構成するブロックの動作の違いを説明すると、補間タグ情報抽出部24は、欠損スライスが到来した時に、デコーダ105が挿入しておいた補間用データの抽出を行う。
補間タグ情報バッファ25は、欠損スライスデータに挿入されていた補間用データを格納し、当該スライスの補間処理に使用する。
欠損検出部26は、デコーダ105が挿入しておいたエラー識別子1031の検出を行う。
本実施例の補助補間処理部121の動作の流れを説明する。
まず、正常な画像データが入力された場合を説明する。
入力インタフェース21から入力されたデータは、セレクタ22、補間タグ抽出部24、欠損検出部26へと分配される。
欠損検出部26はデータを正常と判断してセレクタ22を正常側に切換える。結果、入力されたデータがそのまま出力インタフェース23から出力されていく。
次に、欠損部分の画像データが入力された場合を説明する。
この場合も、入力インタフェース21から入力されたデータは、セレクタ22、補間タグ抽出部24、欠損検出部26へと分配される。
欠損検出部26はデータの異常を検出すると、当該スライスが欠損領域だと判定して、補間画素生成部27を動作させ、セレクタ22を生成部27側に切換える。
データ異常の検出は、入力したデータがエラー識別子1031か否かを検出する。
エラー識別子1031を検出すると、補間タグ抽出部24は、上スライスのDC成分情報1032〜1035を読み込んで補間タグ情報バッファ25へ書き込む。
生成部27は、補間タグ情報バッファ25中を検索して、現在の処理データと最も近い位置関係にある補間タグデータ(DC成分値)を取り出す。
そして、入力インタフェース21から入力したデータを、読み出したDC成分データで置換えて出力する。
結果、入力された欠損スライスのデータは、真上のブロックのDC成分で補間されて出力されていく。
入力データ中のエラー識別子の検出と補間処理には多少の処理時間が必要であるから、出力データは所定クロックだけ遅れて出力される。
以上、説明したように、補助補間処理部121は、デコーダで挿入された隣接スライスの情報を用いて補助補間処理を行い、主補間部で補間しきれなかった領域をVRAMへ書込み転送する途中で補間することができる。
以上説明したように本実施例によれば、前述の実施例と全く同様な効果が得られる。
さらに、デコード時に得られた情報を補助補間処理で利用できるので、簡易な構成でより画質向上が図れるという効果がある。
また、本発明は、上述の実施例に限定されることなく、幅広く応用することが可能である。
デコーダ105が作成して出力データに挿入する、補間用データの構成方法は任意である。
エラー識別子は、複数バイトを組み合わせて構成するようにしてもよい。
補間用データは、先頭ラインだけでなく、各ラインにも挿入してもよい。
欠損領域の対応する位置に都度に挿入するようにしてもよい。
テキストデータで挿入してもよいし、コマンド形式として挿入することもできる。
21:入力インタフェース
22:セレクタ
23:出力インタフェース
24:補間タグ情報抽出部
25:補間タグ情報バッファ
26:欠損検出部
27:補間画素生成部
101:CPU
102:RAM
103:ROM
104:通信部
105:デコーダ
107:バス
108:画像バッファ
109:主補間プログラム
110:表示コントローラ
111:VRAM
112:表示パネル
120:表示制御部
121:補助補間部
122:VRAM制御部
601〜606:画像欠陥
22:セレクタ
23:出力インタフェース
24:補間タグ情報抽出部
25:補間タグ情報バッファ
26:欠損検出部
27:補間画素生成部
101:CPU
102:RAM
103:ROM
104:通信部
105:デコーダ
107:バス
108:画像バッファ
109:主補間プログラム
110:表示コントローラ
111:VRAM
112:表示パネル
120:表示制御部
121:補助補間部
122:VRAM制御部
601〜606:画像欠陥
Claims (17)
- 画像データを入力する入力手段と、
該入力画像データを記憶する記憶手段と、
該記憶手段に記憶された画像データを読み出して出力する出力手段と、
を備えた画像処理装置であって、
該記憶手段中の画像データを読み出して欠陥部分の補間を行う第一の補間手段と、
該記憶手段中の画像データを該出力手段に転送する際に欠陥部分の補間を行う第二の補間手段と、
を備えたことを特徴とする画像処理装置。 - 前記第一の補間手段は、画像内の複数の欠陥部分に優先度を付与し、優先度に従って補間処理を行うことを特徴とする請求項1に記載の画像処理装置。
- 前記第二の補間手段は、前記第一の補間手段が補間しなかった欠陥部分を補間することを特徴とする請求項1又は2に記載の画像処理装置。
- 前記入力手段はネットワークを介して画像データの入力を行うことを特徴とする請求項1乃至3のいずれか1項に記載の画像処理装置。
- 前記画像データは動画像データであることを特徴とする請求項1乃至4のいずれか1項に記載の画像処理装置。
- 前記出力手段は表示出力であることを特徴とする請求項1乃至5のいずれか1項に記載の画像処理装置。
- 圧縮された画像データを復号する手段を更に備え、
前記入力手段で入力される画像データは圧縮形式のデータであり、
該復号手段は該入力手段で入力された圧縮画像を復号を行って復号結果を前記記憶手段に記憶することを特徴とする請求項1乃至6のいずれか1項に記載の画像処理装置。 - 前記圧縮手段は、画像データの欠損部分を検出し、該欠損部分の補間処理に必要な情報を復号結果内に挿入して出力することを特徴とする請求項7に記載の画像処理装置。
- 画像データを入力する入力ステップと、
該入力画像データを記憶手段に記憶する記憶ステップと、
該記憶手段に記憶された画像データを読み出して出力手段から出力するステップと、
を備えた画像処理方法であって、
該記憶手段中の画像データを読み出して欠陥部分の補間を行う第一の補間ステップと、
該記憶手段中の画像データを該出力手段に転送する際に欠陥部分の補間を行う第二の補間ステップと、
を備えたことを特徴とする画像処理方法。 - 前記第一の補間ステップは、画像内の複数の欠陥部分に優先度を付与し、優先度に従って補間処理を行うことを特徴とする請求項9に記載の画像処理方法。
- 前記第二の補間ステップは、前記第一の補間ステップが補間しなかった欠陥部分を補間することを特徴とする請求項9又は10に記載の画像処理方法。
- 前記入力ステップはネットワークを介して画像データの入力を行うことを特徴とする請求項9乃至11のいずれか1項に記載の画像処理方法。
- 前記画像データは動画像データであることを特徴とする請求項9乃至12のいずれか1項に記載の画像処理方法。
- 前記出力ステップは表示出力であることを特徴とする請求項9乃至13のいずれか1項に記載の画像処理方法。
- 圧縮された画像データを復号するステップを更に備え、
前記入力ステップで入力される画像データは圧縮形式のデータであり、
該復号ステップは該入力ステップで入力された圧縮画像を復号を行って復号結果を前記記憶ステップに記憶することを特徴とする請求項9乃至14のいずれか1項に記載の画像処理方法。 - 前記圧縮ステップは、画像データの欠損部分を検出し、該欠損部分の補間処理に必要な情報を復号結果に挿入して出力することを特徴とする請求項15に記載の画像処理方法。
- コンピュータに、
画像データを入力する手順と、
該入力画像データを記憶手段に記憶する手順と、
該記憶手段に記憶された画像データを読み出して出力手段から出力する手順と、
を実行させる画像処理のプログラムであって、
前記コンピュータに、
該記憶手段中の画像データを読み出して欠陥部分の補間を行う第一の補間手順と、
該記憶手段中の画像データを該出力手段に転送する際に欠陥部分の補間を行う第二の補間手順と、
を実行させることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005323622A JP2007134792A (ja) | 2005-11-08 | 2005-11-08 | 画像処理装置及び画像処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005323622A JP2007134792A (ja) | 2005-11-08 | 2005-11-08 | 画像処理装置及び画像処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007134792A true JP2007134792A (ja) | 2007-05-31 |
Family
ID=38156111
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005323622A Pending JP2007134792A (ja) | 2005-11-08 | 2005-11-08 | 画像処理装置及び画像処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007134792A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015529882A (ja) * | 2012-10-29 | 2015-10-08 | ヴイエムウェア インコーポレイテッドVMware,Inc. | 仮想デスクトップインフラ(vdi)における性能向上 |
-
2005
- 2005-11-08 JP JP2005323622A patent/JP2007134792A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015529882A (ja) * | 2012-10-29 | 2015-10-08 | ヴイエムウェア インコーポレイテッドVMware,Inc. | 仮想デスクトップインフラ(vdi)における性能向上 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI229560B (en) | Method and apparatus of adaptive de-interlacing of motion image | |
JP4411310B2 (ja) | 情報処理装置およびプログラム | |
JP2007025073A (ja) | データ伝送方法、データ送信装置及びデータ受信装置、並びにプログラム | |
US7944509B2 (en) | Video processing apparatus, video processing method and program for asynchronous input and output video images | |
US7920726B2 (en) | Image processing apparatus, image processing method, and program | |
KR20140005089A (ko) | 동화상 부호화 장치, 동화상 복호 장치, 동화상 부호화 방법 및 동화상 복호 방법 | |
JP5522174B2 (ja) | 動画像符号化装置 | |
CA2812653C (en) | Video image encoding device, video image encoding method, video image decoding device, and video image decoding method | |
US8565315B2 (en) | Image decoding device and image decoding method | |
CN104079869A (zh) | 对多通道码流进行预览的方法及客户端 | |
JP5609147B2 (ja) | 映像配信システム、中継装置及び映像配信プログラム | |
TWI628958B (zh) | 在低延遲視頻通訊系統中改善視頻表現之全訊框緩衝 | |
US8731069B2 (en) | Remote display system and method | |
US7773817B2 (en) | JPEG image processing circuit | |
US8818180B2 (en) | Video reproducing apparatus, video reproducing method, and program | |
JP2007134792A (ja) | 画像処理装置及び画像処理方法 | |
KR101830882B1 (ko) | 제어 패킷 생성 방법 및 그 장치 | |
JP6221820B2 (ja) | 符号化装置、符号化方法および符号化プログラム | |
JP4939131B2 (ja) | 遠隔表示システム、及び、方法 | |
JP2007329858A (ja) | 動画像表示装置、動画像表示方法及びプログラム | |
EP2787729A1 (en) | Video encoding method, device, and program | |
JP3522567B2 (ja) | 映像出力処理装置 | |
JP3196753B2 (ja) | 画像表示方法及び画像表示装置 | |
JP3625136B2 (ja) | フィルタ処理装置、画像符号化装置、画像復号化装置、およびフィルタ処理プログラムを記録した記録媒体 | |
JPH07336689A (ja) | 動き補償回路 |