(57)【要約】【課題】ＧＰＵなどの汎用の並列ベクトルプロセッサがもつ能力を最大限に引き出してデブロッキングフィルタを高速に行う技術を提供すること。【解決手段】水平方向及び垂直方向の少なくとも一方に並ぶ複数のスカラー形式の画素を重ね合わせてベクトル形式の画像データに変換するスカラー画素重ね合わせ手段（４、７）と、前記ベクトル形式の画像データに対してデブロッキングフィルタを施すベクトル画像処理手段（６、９）と、を備えた。【選択図】      図１
2007274478.tif 000002
【特許請求の範囲】
【請求項１】
水平方向及び垂直方向の少なくとも一方に並ぶ複数のスカラー形式の画素を重ね合わせてベクトル形式の画像データに変換するスカラー画素重ね合わせ手段と、
前記ベクトル形式の画像データに対してデブロッキングフィルタを施すベクトル画像処理手段と、を具備することを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、前記デブロッキングフィルタが施されたベクトル形式の画像データの画素の各要素を水平方向及び垂直方向の少なくとも一方に展開してスカラー形式の画像データに変換するベクトル画素展開手段と、を更に具備することを特徴とする画像処理装置。
【請求項３】
請求項１又は請求項２に記載の画像処理装置において、前記スカラー画素重ね合わせ手段から出力されたベクトル形式の画像データを読み込み、一列に並ぶベクトル形式の画素列を複数の列に並べ替えるベクトル画素並べ替え手段を更に具備することを特徴とする画像処理装置。
【請求項４】
スカラー形式の画像データを読み込んで、水平方向に並ぶ複数のスカラー形式の画素を重ね合わせて第１のベクトル形式の画像データに変換する水平スカラー画素重ね合わせ手段と、
前記第１のベクトル形式に変換された画像データに対してデブロッキングフィルタを施す水平ベクトル画像処理手段と、
前記水平ベクトル画像処理手段でデブロッキングフィルタを施された第１のベクトル形式の画像データを読み込んで、垂直方向に並ぶ複数のベクトル形式の画素の各要素を重ね合わせて第１のベクトル形式と異なる第２のベクトル形式の画像データに変換する垂直スカラー画素重ね合わせ手段と、
前記第２のベクトル形式の画像データに対してデブロッキングフィルタを施す垂直ベクトル画像処理手段と、を具備することを特徴とする画像処理装置。
【請求項５】
請求項４に記載の画像処理装置において、前記垂直ベクトル画像処理手段でデブロッキングフィルタを施された第２のベクトル形式の画像データを読み込んで、前記第２のベクトル形式の画素の各要素を垂直方向に展開してスカラー形式の画像データに変換する垂直ベクトル画素展開手段と、を更に具備することを特徴とする画像処理装置。
【請求項６】
請求項１から請求項５のいずれか１項に記載の画像処理装置において、
前記各手段の動作を制御するプログラムと動画像データを含むデータを保持する主記憶手段と、
スカラー形式の入力画像データを記憶する入力スカラー画像記憶手段と、
前記ベクトル形式の画像データを記憶するベクトル画像記憶手段と、
デブロッキングフィルタを施された前記ベクトル形式の画像データを展開して得られたスカラー形式の画像データを記憶する出力スカラー画像記憶手段と、を更に具備することを特徴とする画像処理装置。
【請求項７】
請求項１から請求項６のいずれか１項に記載の画像処理装置において、デブロッキングフィルタを施された前記ベクトル形式の画像データを展開して得られたスカラー形式の画像データを提示する提示手段を具備することを特徴とする画像処理装置。
【請求項８】
請求項１から請求項７のいずれか１項に記載の画像処理装置において、前記スカラー画素重ね合わせ手段は、所定数の画素を含む画素ブロック内における水平方向又は垂直方向に連続して配置された画素を１つのベクトルの要素とする画像データに変換することを特徴とする画像処理装置。
【請求項９】
請求項１から請求項８のいずれか１項に記載の画像処理装置において、前記ベクトル画像処理手段は、画像データの端部のベクトル形式の画素から順次デブロッキングフィルタを施すことを特徴とする画像処理装置。
【請求項１０】
請求項４から請求項９のいずれか１項に記載の画像処理装置において、
前記水平スカラー画素重ね合わせ手段から出力されたベクトル形式の画像データを読み込み、垂直方向に一列に並ぶベクトル形式の画素列を複数の列に並べ替える水平ベクトル画素並べ替え手段と、
前記垂直スカラー画素重ね合わせ手段から出力されたベクトル形式の画像データを読み込み、水平方向に一行に並ぶベクトル形式の画素列を複数の行に並べ替える垂直ベクトル画素並べ替え手段と、を更に具備することを特徴とする画像処理装置。
【請求項１１】
請求項１から請求項７、請求項９及び請求項１０のいずれか１項に記載の画像処理装置において、前記スカラー画素重ね合わせ手段は、所定数の画素を含む画素ブロックと該画素ブロックに隣接する画素ブロックにおける水平方向又は垂直方向に連続して配置された画素を１つのベクトルの要素とする画像データに変換することを特徴とする画像処理装置。
【請求項１２】
水平方向及び垂直方向の少なくとも一方に並ぶ複数のスカラー形式の画素を重ね合わせてベクトル形式の画像データに変換し、
前記ベクトル形式の画像データに対してデブロッキングフィルタを施すことを特徴とする画像処理方法。
【請求項１３】
画像データにデブロッキングフィルタを施すための画像処理プログラムにおいて、
水平方向及び垂直方向の少なくとも一方に並ぶ複数のスカラー形式の画素を重ね合わせてベクトル形式の画像データに変換する手段と、
前記ベクトル形式の画像データに対してデブロッキングフィルタを施す手段と、を具備することを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法及び画像処理プログラムに関する。
【背景技術】
【０００２】
近年の動画像の圧縮符号化方式では、隣接フレーム間の時間方向の冗長度を削減する処理と、単一フレーム内の空間方向の冗長度を削減する処理の２つを組み合わせることによって高い圧縮率を実現している。  
これらの２つの処理のうち、後者の空間方向の冗長度を削減する処理においては、画像を適当な大きさ（例えば幅４画素、高さ４画素）の画素ブロックに分割し、各ブロック単位にＤＣＴ（離散コサイン変換）を施すことによって、ブロック内の冗長な成分を取り除くことが多い。しかしこのようなブロック単位の符号化方式では、隣接ブロックの境界付近の画素にブロックノイズと呼ばれる歪みが生じてしまい、画質劣化の大きな原因となっていた。
【０００３】
そこで、最近の圧縮符号化方式には、ブロック境界付近の不連続な画素を滑らかに補正することによってブロックノイズを低減するデブロッキングフィルタと呼ばれる処理が加えられている。デブロッキングフィルタの処理は比較的単純であるが、それに要する処理量は膨大であり、場合によっては復号化の全処理量の５０％を占めることもある。そのため特許文献１などにおいて、符号化歪の除去処理が必要かどうかを判断し、必要な場合のみでブロックフィルタを行うようにすることによって、デブロッキングフィルタの処理量を削減して高速化する技術が提案されている。
【０００４】
一方、近年のＧＰＵ（グラフィックスプロセッシングユニット）の進化は著しく、ＧＰＵが高いプログラマビリティと並列演算能力を兼ね備えるようになってきている。そのため、ＰＣなどの計算機だけにとどまらず、家電機器や携帯機器、あるいは遊戯機器などにもＧＰＵが搭載されるようになってきている。また、そのプログラマビリティの高さを生かしてグラフィックス以外の一般的な用途にＧＰＵを利用しようという試みが活発であり、この試みは動画像の符号化および複合化の分野にも波及しつつある。
【０００５】
しかし、特許文献１などの従来の発明では、デブロッキングフィルタを実現するプラットフォームとして、ＧＰＵなどの汎用の並列ベクトルプロセッサを考慮していなかった。そのため、ＧＰＵなどの汎用の並列ベクトルプロセッサがもつ能力を最大限に引き出してデブロッキングフィルタを高速に処理することができなかった。
【特許文献１】特開２００４−１８０２４８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、ＧＰＵなどの汎用の並列ベクトルプロセッサがもつ能力を最大限に引き出してデブロッキングフィルタを高速に行う技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明のポイントは、以下の通りである。  
（１）画素ブロックのサイズおよび画素フォーマットおよびデブロッキングフィルタの参照画素などの条件に基づいて、ブロック境界付近の複数のスカラー形式の画素を重ね合わせてベクトル形式に変換する。  
（２）並列ベクトルプロセッサのメモリアクセス方式およびデブロッキングフィルタの処理依存性に基づいて、ベクトル形式の画素を並べ替える。
【０００８】
具体的には、本発明の局面に係る発明は、水平方向及び垂直方向の少なくとも一方に並ぶ複数のスカラー形式の画素を重ね合わせてベクトル形式の画像データに変換するスカラー画素重ね合わせ手段と、前記ベクトル形式の画像データに対してデブロッキングフィルタを施すベクトル画像処理手段と、を具備することを特徴とする。なお、本発明は装置の発明に限らず方法或いはプログラムの発明としても成立する。
【発明の効果】
【０００９】
本発明によれば、ＧＰＵなどの汎用の並列ベクトルプロセッサがもつ能力を最大限に引き出してデブロッキングフィルタを高速に処理することが可能になる。
【発明を実施するための最良の形態】
【００１０】
図面を参照して本発明の実施の形態を説明する。  
（第１の実施形態）  
図１は、第１の実施形態に係る画像処理装置の概略構成を示すブロック図である。図１に示すように、第１の実施形態に係る画像処理装置は、中央処理部１と、主記憶部２と、入力スカラー画像記憶部３と、水平スカラー画素重ね合わせ部４と、水平ベクトル画像記憶部５と、水平ベクトル画像処理部６と、垂直スカラー画素重ね合わせ部７と、垂直ベクトル画像記憶部８と、垂直ベクトル画像処理部９と、垂直ベクトル画素展開部１０と、出力スカラー画像記憶部１１と、提示部１２とを備えている。なお、図１は、各ブロックの接続関係に、データの流れも示している。以下、各ブロックの機能を説明する。
【００１１】
中央処理部１は、各ブロックの動作およびブロック間のデータ転送を制御する。  
主記憶部２は、各ブロックの動作を制御するためのプログラムおよび動画像データなどを保持する。  
入力スカラー画像記憶部３は、スカラー形式の入力画像データを記憶する。  
水平スカラー画素重ね合わせ部４は、前記入力スカラー画像記憶部３にて保持されているスカラー形式の画像データを読み込んで、水平方向に並ぶ複数のスカラー形式の画素を重ね合わせてベクトル形式の画像データに変換する。  
水平ベクトル画像記憶部５は、前記水平スカラー画素重ね合わせ部４から出力されたベクトル形式の画像データを記憶する。  
水平ベクトル画像処理部６は、前記水平ベクトル画像記憶部５にて保持されているベクトル形式の画像データに対してデブロッキングフィルタを施す。  
垂直スカラー画素重ね合わせ部７は、前記水平ベクトル画像記憶部５にて保持されているベクトル形式の画像データを読み込んで、垂直方向に並ぶ複数のベクトル形式の画素の各要素を重ね合わせて異なるベクトル形式の画像データに変換する。  
垂直ベクトル画像記憶部８は、前記垂直スカラー画素重ね合わせ部７から出力されたベクトル形式の画像データを記憶する。  
垂直ベクトル画像処理部９は、前記垂直ベクトル画像記憶部８にて保持されているベクトル形式の画像データに対してデブロッキングフィルタを施す。  
垂直ベクトル画素展開部１０は、前記垂直ベクトル画像記憶部８にて保持されているベクトル形式の画像データを読み込んで、各ベクトル形式の画素の各要素を垂直方向に展開してスカラー形式の画像データに変換する。  
出力スカラー画像記憶部１１は、前記垂直ベクトル画素展開部１０から出力されたスカラー形式の画像データを記憶する。  
提示部１２は、液晶表示装置などの表示装置を備え、前記出力スカラー画像記憶部１１に保持されている画像データを提示する。
【００１２】
上記の構成において、主記憶部２、入力スカラー画像記憶部３、水平ベクトル画像記憶部５、垂直ベクトル画像記憶部８及び出力スカラー画像記憶部１１の各記憶部を異なる構成要素として表記しているが、これらは単一のメモリ上にまとめて構成してもよいし、異なる複数のメモリ上に分割して構成してもよい。
【００１３】
以下、図１に示す画像処理装置におけるデータの流れと、各ブロックにおける詳細な動作について説明する。
【００１４】
中央処理部１は、上述したように、各ブロックの動作およびブロック間のデータ転送を制御する。
【００１５】
主記憶部２は、各ブロックの動作を制御するためのプログラム、動画像データ、及び出力スカラー画像記憶部１１から転送されてきたデブロッキングフィルタが施された画像データなどを記憶する。  
動画像データは、図２に示すように、動画像の１フレームの各色成分における画像データを並べたものである。図２は、１枚のフレームの画像がＹ、Ｃｂ、Ｃｒの３つの色成分で構成されている場合の動画像の構成例を示す図である。なお、第１の実施形態では、このような動画像データがあらかじめ主記憶部２に記憶されているものとして、以下の説明を行う。
【００１６】
入力スカラー画像記憶部３は、主記憶部２に保持されている動画像データのうち、現在のフレームの特定の色成分の画像データのみを記憶する。  
図３は、入力スカラー画像記憶部３に記憶された特定の色成分の画像データの例を示す図である。図３（ａ）は入力スカラー画像記憶部３内の画素配列を表し、図３（ｂ）は各画素のメモリ上での並び順序の例を表している。本発明の各実施形態では、特定の色成分の画像データは、各画素に例えば８ビットのスカラー値を割り当ててラスタ順に並べたものとする（図３（ｂ）参照）。なお、説明の便宜上、以降では図３の画像データが与えられた場合の各ブロックの動作について説明するが、本発明は図３の画像データに限定されるものではなく、異なるビット数の画素をもつ異なるサイズの画像データに対しても拡張可能である。
【００１７】
水平スカラー画素重ね合わせ部４は、図３（ａ）に示すような入力スカラー画像記憶部３に保持されている画像データを読み込んで、水平方向に連続配置された複数のスカラー形式の画素を重ね合わせて、各画素がベクトルの要素になるような１つの画素ベクトルに変換することにより、図４（ａ）に示すようなベクトル形式の画像データを得る。なお、このスカラー形式からベクトル形式への画素の変換においては、画素ブロックの幅、および変換前のスカラー形式の画素のフォーマット、および変換後のベクトル形式の画素のフォーマット、および水平方向の画素ブロック境界に対するデブロッキングフィルタの参照画素、などの条件に応じて適切な変換方法が選択される。
【００１８】
本発明の各実施形態では、図３（ａ）に示すように、画素ブロックの幅は４画素であり、図３（ｂ）に示すように、変換前のスカラー形式の画素は８ビットの整数フォーマットで表されている。  
水平スカラー画素重ね合わせ部４は、図３（ａ）の画素ブロック内で水平方向に並んでいる４個のスカラー形式の画素を重ね合わせて、図４に示すような４つの要素を持つベクトル形式の１つの画素へと変換する。具体的には、以下の通りである。
【００１９】
例えば、図３（ａ）において点線で囲まれている４個のスカラー形式の画素００、１０、２０、３０は、図４（ａ）において点線で囲まれている１個のベクトル形式の画素（００、１０、２０、３０）に変換される。  
図４（ａ）によれば、変換後のベクトル形式の画像データにおいては、画素ブロックのサイズは幅１画素、高さ４画素、深さ（ベクトル画素の要素数）４画素となり、水平方向に並ぶ各画素の間に水平方向の画素ブロック境界が位置するようになる。なお、図４（ｂ）はベクトル形式の各画素を要素ごとに平面的に表示した図である。  
また、図４（ｃ）に示すように、変換後のベクトル形式の画素は４つの要素を有し、各要素は８ビットの整数フォーマットで表されている。  
スカラー形式からベクトル形式への変換が終わったら、水平スカラー画素重ね合わせ部４は、得られたベクトル形式の画像データを水平ベクトル画像記憶部５に出力する。
【００２０】
水平ベクトル画像記憶部５は、水平スカラー画素重ね合わせ部４から出力されたベクトル形式の画像データ（図４）を記憶する。
【００２１】
水平ベクトル画像処理部６は、水平ベクトル画像記憶部５に保持されているベクトル形式の画像データ（図４）の水平方向の画素ブロック境界に対してデブロッキングフィルタを施す。  
一般にデブロッキングフィルタの演算は、画素ブロックの境界付近の複数の画素について、それらの画素の近傍の画素値の加重平均をとることによって行われる。加重平均に用いる画素およびその重みは様々な条件に応じて適応的に決定されることが多い。
【００２２】
本実施形態では、説明の便宜上、加重平均の演算を以下のように仮定する。なお、図５に示すように、画素ブロックの水平方向の境界の左右に並んでいる８個の画素（ｐ３〜ｐ０およびｑ０〜ｑ３）が、その境界に対するデブロッキングフィルタの参照画素となっている。  
ｐ３'＝ｆｉｌｔｅｒ（ｐ３）  
ｐ２'＝ｆｉｌｔｅｒ（ｐ３，ｐ２，ｐ１，ｐ０，ｑ０）  
ｐ１'＝ｆｉｌｔｅｒ（ｐ２，ｐ１，ｐ０，ｑ０）  
ｐ０'＝ｆｉｌｔｅｒ（ｐ２，ｐ１，ｐ０，ｑ０，ｑ１）  
ｑ０'＝ｆｉｌｔｅｒ（ｐ１，ｐ０，ｑ０，ｑ１，ｑ２）  
ｑ１'＝ｆｉｌｔｅｒ（ｐ０，ｑ０，ｑ１，ｑ２）  
ｑ２'＝ｆｉｌｔｅｒ（ｐ０，ｑ０，ｑ１，ｑ２，ｑ３）  
ｑ３'＝ｆｉｌｔｅｒ（ｑ３）  
ここで、ｐ３〜ｐ０およびｑ０〜ｑ３およびｐ３'〜ｐ０'およびｑ０'〜ｑ３'は、図５のスカラー形式の画素値を表している。また、ｆｉｌｔｅｒ（）は引数に与えられたスカラー形式の画素値の加重平均を計算する関数である。なお、加重平均の重みの設定は本発明の内容に直接関係しないので説明を省略する。
【００２３】
上記のような加重平均をＧＰＵなどのベクトルプロセッサで計算するためには、図６（ａ）に示すように８個のスカラー形式の画素すべてについて独立に演算する必要がある。このため、図６（ｂ）に示すように、プロセッサ内部の並列演算器は８個のスカラー形式の画素のうちのどの画素が入力されたかを判定し、その結果に応じて加重平均の計算を切り替えるために、複雑な条件分岐を処理しなければならない。なお、図６において、ハッチングを付した画素は、ハッチングを付した画素を用いてフィルタリングを行い、ハッチングを付した画素値を得ることを示している。例えば、図６（ａ）では、画素ｐ３を用いてフィルタリングを行って画素ｐ３′を得、図６（ｂ）では、画素ｐ３、ｐ２、ｐ１、ｐ０、ｑ０を用いてフィルタリングを行って画素ｐ２′を得ることを示している。以下同様であるので、以下では、説明を省略する。
【００２４】
しかし、本実施形態に係る画像処理装置によれば、前段の水平スカラー画素重ね合わせ部４によってスカラー形式の画素がベクトル形式に変換されているため、図７（ａ）に示すように２個のベクトル形式の画素について演算するだけで良い。従って、図７（ｂ）に示すように、プロセッサ内部の並列演算器は２個のベクトル形式の画素のうちのいずれかを判定するだけで良く、条件分岐の数を削減することができる。  
この結果、水平方向の画素ブロック境界に対するデブロッキングフィルタの演算を効率よく行うことが可能になる。  
なお、図７（ｂ）では、ベクトル形式の画素（ｐ３，ｐ２，ｐ１，ｐ０）、（ｑ０，ｑ１，ｑ２，ｑ３）、（ｐ３'，ｐ２'，ｐ１'，ｐ０'）及び（ｑ０'，ｑ１'，ｑ２'，ｑ３'）を、それぞれｐ、ｑ、ｐ'、ｑ'と表記している。また、ｆｉｌｔｅｒ（）は引数に与えられたベクトル形式の画素値を参照して加重平均を計算する関数である。
【００２５】
ところで、デブロッキングフィルタの演算を行う際には、演算の処理依存性に注意する必要がある。例えば、図８（ｂ）において列１の画素ブロックと列２の画素ブロックの境界のフィルタリング結果は列１の画素値に依存するが、その列１の画素値は、左隣の列０と列１の境界のフィルタリング結果に依存する。したがって、図８（ｂ）の列１と列２の境界をフィルタリングする前に、図８（ａ）の列０と列１の境界のフィルタリングを終えておかないと、正しい結果を得ることができない。同様に、図８（ｃ）の列２と列３の境界をフィルタリングする前に、図８（ｂ）の列１と列２の境界のフィルタリングを終えておかないと、正しい結果を得ることができない。  
したがって、デブロッキングフィルタの演算を正しく行うためには、まず図８（ａ）の色つきの画素ブロックを参照して列０と列１の境界のフィルタリングを行い、それがすべて終了してから、図８（ｂ）の色つきの画素ブロックを参照して列１と列２の境界のフィルタリングを行う。そして、それがすべて終了してから、図８（ｃ）の色つきの画素ブロックを参照して列２と列３の境界のフィルタリングを行う。
【００２６】
水平方向の画素ブロック境界付近のすべての画素について加重平均を計算し終えると、水平ベクトル画像処理部６は、デブロッキングフィルタを施したベクトル形式の画像データを水平ベクトル画像記憶部５に出力する。
【００２７】
垂直スカラー画素重ね合わせ部７は、水平ベクトル画像記憶部５に保持されているベクトル形式の画像データ（図４）を読み込んで、垂直方向に並ぶ複数のベクトル形式の画素の各要素を重ね合わせることにより、詳細は後述する異なるベクトル形式の画像データ（図９及び図１０）に変換する。異なるベクトル形式への変換においては、画素ブロックの高さ、および変換前のベクトル形式の画素のフォーマット、および変換後のベクトル形式の画素のフォーマット、および垂直方向の画素ブロック境界に対するデブロッキングフィルタの参照画素、などの条件に応じて適切な変換方法が選択される。
【００２８】
ここで、本実施形態においては、図３（ａ）に示すように、画素ブロックの高さは４画素である。また、図４（ｃ）に示すように、変換前のベクトル形式の画素は４つの要素から成り、各要素は８ビットの整数フォーマットで表される。  
この場合において、垂直スカラー画素重ね合わせ部７は、図４（ａ）において画素ブロック内で垂直方向に並んでいる４個のベクトル形式の画素の対応するベクトル要素を重ね合わせることにより、図９及び図１０に示すような異なるベクトル形式の画素へと変換する。具体的には以下の通りである。  
例えば、図４（ａ）における４個のベクトル形式の画素（ｃ０，ｄ０，ｅ０，ｆ０）、（ｃ１，ｄ１，ｅ１，ｆ１）、（ｃ２，ｄ２，ｅ２，ｆ２）、（ｃ３，ｄ３，ｅ３，ｆ３）の４番目の要素ｆ０、ｆ１、ｆ２、ｆ３は、図９において点線で囲まれている１個のベクトル形式の画素（ｆ０，ｆ１，ｆ２，ｆ３）に変換される。他の要素も同様にして、例えば、１番目の要素については画素（ｃ０，ｃ１，ｃ２，ｃ３）に、２番目の要素については画素（ｄ０，ｄ１，ｄ２，ｄ３）に、３番目の要素については画素（ｅ０，ｅ１，ｅ２，ｅ３）に変換される。
【００２９】
図９によれば、変換後のベクトル形式の画像データにおいては、画素ブロックのサイズは幅４画素、高さ１画素、深さ（ベクトル画素の要素数）４画素となり、垂直方向に並ぶ各画素の間に垂直方向の画素ブロック境界が位置するようになる。なお、図１０（ａ）はベクトル形式の各画素を要素ごとに平面的に表示したものである。  
また、図１０（ｂ）に示すように、変換後のベクトル形式の画素も４つの要素から成り、各要素は８ビットの整数フォーマットで表される。  
上記のような異なるベクトル形式への変換が終わったら、垂直スカラー画素重ね合わせ部７は、得られたベクトル形式の画像データを垂直ベクトル画像記憶部８に出力する。
【００３０】
垂直ベクトル画像記憶部８は、垂直スカラー画素重ね合わせ部７から出力されたベクトル形式の画像データ（図９及び図１０）を保持する。
【００３１】
垂直ベクトル画像処理部９は、垂直ベクトル画像記憶部８に保持されているベクトル形式の画像データ（図９及び図１０）の垂直方向の画素ブロック境界に対してデブロッキングフィルタを施す。ここにおいて、図１１に示すように、画素ブロックの垂直方向の境界の上下に並んでいる８個の画素（ｐ３〜ｐ０およびｑ０〜ｑ３）が、その境界に対するデブロッキングフィルタの参照画素である。以下、具体的な処理内容について説明する。
【００３２】
垂直方向の画素ブロック境界に対するデブロッキングフィルタの処理内容は、前述した水平ベクトル画像処理部６の処理内容におけるｐ３〜ｐ０およびｑ０〜ｑ３およびｐ３'〜ｐ０'およびｑ０'〜ｑ３'を、図１１に示すような垂直方向に並ぶ画素の値として読み替えたものに相当する。  
従って、本実施形態に係る画像処理装置によれば、画像データの各画素が垂直スカラー画素重ね合わせ部７によって図９及び図１０に示すようなベクトル形式の画素に変換されているため、２個のベクトル形式の画素について演算するだけで加重平均を計算することができる。また、プロセッサ内部の並列演算器は２個のベクトル形式の画素のうちのいずれかを判定するだけで済むようになり、条件分岐の数を２回に抑えることができる。  
この結果、垂直方向の画素ブロック境界に対するデブロッキングフィルタの演算を効率よく行うことが可能になる。
【００３３】
垂直方向の画素ブロック境界に対するデブロッキングフィルタの演算の処理依存性を図１２に示す。演算を正しく行うためには、水平方向の画素ブロック境界に対するデブロッキングフィルタの演算の処理依存性と同様に、まず、図１２（ａ）の行０と行１の画素を参照してそれらの境界のフィルタリングを行う。そして、それがすべて終了してから、図１２（ｂ）の行１と行２の画素を参照してそれらの境界のフィルタリングを行う。そして、それがすべて終了してから、図１２（ｃ）の行２と行３の画素を参照してそれらの境界のフィルタリングを行う。  
そして、垂直方向の画素ブロック境界付近のすべての画素について加重平均を計算し終えると、垂直ベクトル画像処理部９は、デブロッキングフィルタを施したベクトル形式の画像データを垂直ベクトル画像記憶部８に出力する。
【００３４】
垂直ベクトル画素展開部１０は、垂直ベクトル画像記憶部８に保持されているベクトル形式の画像データ（図９及び図１０）を読み込んで、各ベクトル形式の画素の各要素を垂直方向に展開してスカラー形式の画像データ（図３）に変換する。ここで、ベクトル形式からスカラー形式への変換においては、画素ブロックの高さ、および変換前のベクトル形式の画素のフォーマット、および変換後のスカラー形式の画素のフォーマットなどの条件に応じて適切な変換方法が選択される。
【００３５】
本実施形態においては、図３（ａ）に示すように、画素ブロックの高さは４画素である。また、図１０（ｂ）に示すように、変換前のスカラー形式の画素は８ビットの整数フォーマットで表されている。また、図３（ｂ）に示すように、変換後のスカラー形式の画素は８ビットの整数フォーマットで表される。
【００３６】
この場合において、垂直ベクトル画素展開部１０は、図９に示す各ベクトル形式の画素の各要素を垂直方向に展開することにより、図３（ａ）に示すようなスカラー形式の画素に変換する。  
例えば、図９において点線で囲まれている１個のベクトル形式の画素（ｆ０、ｆ１、ｆ２、ｆ３）は、図３（ａ）において点線で囲まれている４個のスカラー形式の画素ｆ０、ｆ１、ｆ２、ｆ３に変換される。  
そして、ベクトル形式からスカラー形式への変換が終わったら、垂直ベクトル画素展開部１０は、得られたスカラー形式の画像データを出力スカラー画像記憶部１１に出力する。
【００３７】
出力スカラー画像記憶部１１は、垂直ベクトル画素展開部１０から出力されたスカラー形式の画像データを記憶する。
【００３８】
提示部１２は、出力スカラー画像記憶部１１に保持されている画像データをユーザに提示する。
【００３９】
以上のように、本実施形態に係る画像処理装置によれば、画素ブロックの境界付近の複数の画素を重ね合わせてベクトル形式に変換している。これにより、ＧＰＵなどの汎用の並列ベクトルプロセッサがもつ演算能力を最大限に引き出してデブロッキングフィルタを高速に処理することが可能になる。
【００４０】
（第２の実施形態）  
図１３は、第２の実施形態に係る画像処理装置の概略構成を示すブロック図である。図１３に示すように、第２の実施形態と第１の実施形態が異なる点は、第１の実施形態に係る画像処理装置に対して水平ベクトル画素並べ替え部１３と垂直ベクトル画素並べ替え部１４を追加したことである。従って、図１と同じ部分には、同じ符号を付し、重複した説明は省略する。
【００４１】
図８に示したように、第１の実施形態における水平ベクトル画像処理部６は、まず列０の画素ブロックと列１の画素ブロックの画素をデブロッキングフィルタによる並列処理を行い（図８（ａ））、それがすべて終了してから、列１と列２の画素を並列処理する（図８（ｂ））。そしてそれがすべて終了してから、列２と列３の画素を並列処理する（図８（ｃ））。  
このように、水平ベクトル画像処理部６は、１回の並列処理において画素ブロック２列分の領域を処理単位とする。従って、例えば入力スカラー画像（図３）の解像度が幅１９２０画素、高さ１０８０画素の場合、並列処理の単位は幅２画素、高さ１０８０画素の極めて細長い領域となる。  
ＧＰＵなどの並列ベクトルプロセッサでは、このような極めて細長い画素領域を並列処理する場合には、並列演算器の稼働率およびキャッシュのヒット率などが低下してしまい、本来の演算能力を発揮できないことが多い。
【００４２】
そこで本実施形態に係る画像処理装置では、水平ベクトル画素並べ替え部１３によって、水平スカラー画素重ね合わせ部４から出力されたベクトル形式の画像データ（図４参照）を読み込み、垂直方向に一列に並ぶベクトル形式の画素列を複数の列に並べ替える（図１４参照）。  
例えば、図４（ｂ）において点線で囲まれている左端で垂直方向に一列に並ぶベクトル形式の画素列（００、１０、２０、３０）〜（０ｆ、１ｆ、２ｆ、３ｆ）は、図１５（ａ）において点線で囲まれている左端で垂直方向に二列に並ぶベクトル形式の画素列に並べ替えられる。なお、図１５（ｂ）は、並び替え後のベクトル形式の各画素を要素ごとに平面的に表した図である。  
この結果、並列処理の単位が細長い形状から正方形に近い形状になり、並列演算器の稼働率およびキャッシュのヒット率などが向上するため、後段の水平ベクトル画像処理部６における水平方向の画素ブロック境界に対するデブロッキングフィルタの処理を、効率よく行うことが可能になる。
【００４３】
一方、図１２に示したように、第１の実施形態における垂直ベクトル画像処理部９は、まず行０の画素ブロックと行１の画素ブロックの画素を並列処理し（図１２（ａ））、それがすべて終了してから、行１と行２の画素を並列処理する（図１２（ｂ））。そしてそれがすべて終了してから、行２と行３の画素を並列処理する（図１２（ｃ））。  
このように、垂直ベクトル画像処理部９は、１回の並列処理において画素ブロック２行分の領域を処理単位とする。したがって、例えば入力スカラー画像（図３）の解像度が幅１９２０画素、高さ１０８０画素の場合、並列処理の単位は幅１９２０画素、高さ２画素の極めて細長い領域となる。
【００４４】
そこで本実施形態に係る画像処理装置では、垂直ベクトル画素並べ替え部１４によって、垂直スカラー画素重ね合わせ部７から出力されたベクトル形式の画像データ（図９及び図１０参照）を読み込み、水平方向に一行に並ぶベクトル形式の画素列を複数の行に並べ替える処理を行う（図１６参照）。  
例えば、図１０（ａ）において上端で水平方向に一行に並ぶベクトル形式の画素列（００、０１、０２、０３）〜（ｆ０、ｆ１、ｆ２、ｆ３）は、図１７（ａ）において上端で水平方向に並ぶ二行のベクトル形式の画素列に並べ替えられる。なお、図１７（ｂ）は、並び替え後のベクトル形式の各画素を要素ごとに平面的に表した図である。  
この結果、並列処理の単位が細長い形状から正方形に近い形状になり、並列演算器の稼働率およびキャッシュのヒット率などが向上するため、後段の垂直ベクトル画像処理部９における垂直方向の画素ブロック境界に対するデブロッキングフィルタの処理を、効率よく行うことが可能になる。
【００４５】
以上のように、第２の実施形態に係る画像処理装置によれば、並列ベクトルプロセッサのメモリアクセス方式およびデブロッキングフィルタの処理依存性に基づいてベクトル形式の画素を並べ替えることにより、ＧＰＵなどの汎用の並列ベクトルプロセッサの稼働率およびキャッシュのヒット率を向上させ、デブロッキングフィルタを高速に処理することが可能になる。
【００４６】
（第３の実施形態）  
第３の実施形態に係る画像処理装置の構成は、第１の実施形態又は第２の実施形態に係るそれと同じであるので、図示及び重複する説明は省略する。本実施形態では、図１８に示すように、入力スカラー画像記憶部３に記憶されているスカラー形式の画像データの画素ブロックのサイズが、幅２画素、高さ２画素である場合について説明する。
【００４７】
この場合において、図１９に示すように、画素ブロックの水平方向の境界の左右に並んでいる４個の画素（ｐ１、ｐ０、ｑ０、ｑ１）が、その境界に対するデブロッキングフィルタの参照画素である。同様に、図２０に示すように、画素ブロックの垂直方向の境界の上下に並んでいる４個の画素が、その境界に対するデブロッキングフィルタの参照画素である。  
なお、画素のフォーマットについては第１の実施形態及び第２の実施形態と同じであるとする。
【００４８】
水平スカラー画素重ね合わせ部４は、第１の実施形態及び第２の実施形態とは異なり、図１８において画素ブロックの水平方向の境界の左右に並んでいる４個のスカラー形式の画素を重ね合わせることにより、図２１及び図２２に示すようなベクトル形式の画素に変換する。具体的には、以下の通りである。
【００４９】
例えば、図１８（ａ）において点線で囲まれている４個のスカラー形式の画素００、１０、２０、３０は、図２１において点線で囲まれている１個のベクトル形式の画素（００，１０，２０，３０）に変換される。また、図１８（ａ）において点線で囲まれている４個のスカラー形式の画素２０、３０、４０、５０は、図２１において点線で囲まれている１個のベクトル形式の画素（２０，３０，４０，５０）に変換される。この変換後のベクトル形式の各画素を要素ごとに平面的に表示した図を図２２に示す。
【００５０】
この変換により、水平ベクトル画像処理部６における水平方向の画素ブロックに対するデブロッキングフィルタの演算は、図２３（ａ）に示すように、１個のベクトル形式の画素について演算するだけで済む。また、図２３（ｂ）に示すように、プロセッサ内部の並列演算器は条件分岐を処理しなくて済む。  
この結果、水平ベクトル画像処理部６における水平方向の画素ブロック境界に対するデブロッキングフィルタの演算を、効率よく行うことが可能になる。  
なお、図２３（ｂ）では、ベクトル形式の画素（ｐ１、ｐ０、ｑ０、ｑ１）および（ｐ１'、ｐ０'、ｑ０'、ｑ１'）を、それぞれｐｑ、ｐｑ'と表記している。また、ｆｉｌｔｅｒ（）は引数に与えられたベクトル形式の画素値を参照して加重平均を計算する関数である。
【００５１】
垂直スカラー画素重ね合わせ部７においても、上記と同様に、第１の実施形態及び第２の実施形態とは異なり、図２２において画素ブロックの垂直方向の境界の上下に並んでいる４個のスカラー形式の画素を重ね合わせることにより、図２４及び図２５に示すような異なるベクトル形式の画素へと変換する。  
例えば、図２２において点線で囲まれている４個のスカラー形式の画素ｅ０、ｅ１、ｅ２、ｅ３は、図２４において点線で囲まれている１個のベクトル形式の画素（ｅ０、ｅ１、ｅ２、ｅ３）に変換される。同様に、図２２において点線で囲まれている４個のスカラー形式の画素ｆ０、ｆ１、ｆ２、ｆ３は、図２４において点線で囲まれているベクトル形式の画素（ｆ０、ｆ１、ｆ２、ｆ３）に変換される。なお、ベクトル形式の各画素を要素ごとに平面的に表示した図を図２５に示す。  
この変換により、水平方向と同様な改善効果が得られ、垂直ベクトル画像処理部９における垂直方向の画素ブロック境界に対するデブロッキングフィルタの演算を、効率よく行うことが可能になる。
【００５２】
以上のように、本実施形態に係る画像処理装置によれば、画素ブロックのサイズに基づいて、画素ブロック境界付近の複数の画素を重ね合わせてベクトル形式に変換することにより、ＧＰＵなどの汎用の並列ベクトルプロセッサがもつ演算能力を最大限に引き出してデブロッキングフィルタを高速に処理することが可能になる。
【００５３】
（第４の実施形態）  
第４の実施形態に係る画像処理装置の構成は、第１の実施形態又は第２の実施形態に係るそれと同じであるので、図示及び重複する説明は省略する。本実施形態では、水平ベクトル画像記憶部５および垂直ベクトル画像記憶部８に記憶されるベクトル形式の画素の４つの要素が１６ビットの整数フォーマットで表された場合について説明する。  
なお、画素ブロックのサイズ、およびデブロッキングフィルタの参照画素、およびスカラー形式の画素のフォーマットは第１の実施形態及び第２の実施形態と同じであるとする。
【００５４】
水平スカラー画素重ね合わせ部４は、第１の実施形態から第３の実施形態とは異なり、図３（ａ）において画素ブロックの水平方向の境界の左右に並んでいる８個のスカラー形式の画素を重ね合わせることにより、図２６及び図２７に示すようなベクトル形式の画素へと変換する。
【００５５】
例えば、図３（ａ）において点線で囲まれている８個のスカラー形式の画素８０、９０、ａ０、ｂ０、ｃ０、ｄ０、ｅ０、ｆ０は、図２６において点線で囲まれている１個のベクトル形式の画素（８０／９０、ａ０／ｂ０、ｃ０／ｄ０、ｅ０／ｆ０）に変換される。ここで、８０／９０とは、画素８０の値を上位８ビットに、画素９０の値を下位８ビットに割り当てられた１６ビットの数値を表す。なお、図２８は、各画素のメモリ上での並び順序の例を表す図である。
【００５６】
この変換により、水平ベクトル画像処理部６における水平方向の画素ブロックに対するデブロッキングフィルタの演算は、図２９（ａ）に示すように、１個のベクトル形式の画素について演算するだけで済む。また、図２９（ｂ）に示すように、プロセッサ内部の並列演算器は条件分岐を処理しなくて済む。  
この結果、水平ベクトル画像処理部６における水平方向の画素ブロック境界に対するデブロッキングフィルタの演算を、効率よく行うことが可能になる。  
なお、図２９（ｂ）では、ベクトル形式の画素（ｐ３／ｐ２、ｐ１／ｐ０、ｑ０／ｑ１、ｑ２／ｑ３）および（ｐ３'／ｐ２'、ｐ１'／ｐ０'、ｑ０'／ｑ１'、ｑ２'／ｑ３'）を、それぞれｐｑ、ｐｑ'と表記している。また、ｆｉｌｔｅｒ（）は引数に与えられたベクトル形式の画素値を参照して加重平均を計算する関数である。
【００５７】
垂直スカラー画素重ね合わせ部７も、上記と同様に、第１の実施形態から第３の実施形態とは異なり、図２７において画素ブロックの垂直方向の境界の上下に並んでいる８個のスカラー形式の画素の上位８ビットを重ね合わせることにより、図３０及び図３１に示すような異なるベクトル形式の画素へと変換する。  
例えば、図２７において点線で囲まれている８個のスカラー形式の画素の上位８ビットが、図３０において点線で囲まれている１個のベクトル形式の画素（００／０１、０２／０３、０４／０５、０６／０７）に変換される。  
この変換により、水平方向と同様な改善効果が得られ、垂直ベクトル画像処理部９における垂直方向の画素ブロック境界に対するデブロッキングフィルタの演算を、効率よく行うことが可能になる。
【００５８】
以上のように、本実施形態に係る画像処理装置によれば、ベクトル形式の画素のフォーマットに基づいて、画素ブロック境界付近の複数の画素を重ね合わせてベクトル形式に変換することにより、ＧＰＵなどの汎用の並列ベクトルプロセッサがもつ演算能力を最大限に引き出してデブロッキングフィルタを高速に処理することが可能になる。
【００５９】
（第５の実施形態）  
第５の実施形態に係る画像処理装置の構成は、第１の実施形態又は第２の実施形態に係るそれと同じであるので、図示及び重複する説明は省略する。本実施形態では、図３２に示すように、画素ブロックの水平方向の境界の左右に並んでいる４個の画素（ｐ１、ｐ０、ｑ０、ｑ１）が、その境界に対するデブロッキングフィルタの参照画素であるものとして説明する。同様に、図３３に示すように、画素ブロックの垂直方向の境界の上下に並んでいる４個の画素が、その境界に対するデブロッキングフィルタの参照画素であるとするものとして説明する。  
なお、画素ブロックのサイズおよび画素のフォーマットは第１の実施形態及び第２の実施形態と同じであるものとする。
【００６０】
水平スカラー画素重ね合わせ部４は、第１の実施形態から第４の実施形態とは異なり、図３（ａ）において画素ブロックの水平方向の境界の左右に並んでいる４個のスカラー形式の画素を重ね合わせることにより、図３４に示すようなベクトル形式の画素に変換する。  
例えば、図３（ａ）において点線で囲まれている４個のスカラー形式の画素２０、３０、４０、５０は、図３４（ａ）において点線で囲まれている１個のベクトル形式の画素（２０、３０、４０、５０）に変換される。
【００６１】
この変換により、水平ベクトル画像処理部６における水平方向の画素ブロックに対するデブロッキングフィルタの演算は、図２９（ａ）に示したように、１個のベクトル形式の画素について演算するだけで済むようになる。また、図２９（ｂ）に示したように、プロセッサ内部の並列演算器は条件分岐を処理しなくて済むようになる。  
この結果、水平ベクトル画像処理部６における水平方向の画素ブロック境界に対するデブロッキングフィルタの演算を、効率よく行うことが可能になる。
【００６２】
垂直スカラー画素重ね合わせ部７においても、上記と同様に、第１の実施形態から第４の実施形態とは異なり、図３４（ｂ）において画素ブロックの垂直方向の境界の上下に並んでいる４個のスカラー形式の画素を重ね合わせることにより、図３５に示すような異なるベクトル形式の画素へと変換する。  
例えば、図３４（ａ）において点線で囲まれている４個のスカラー形式の画素２２、２３、２４、２５は、図３５（ａ）において点線で囲まれている１個のベクトル形式の画素（２２、２３、２４、２５）に変換される。  
この変換により、水平方向と同様な改善効果が得られ、垂直ベクトル画像処理部９における垂直方向の画素ブロック境界に対するデブロッキングフィルタの演算を、効率よく行うことが可能になる。
【００６３】
以上のように、本実施形態に係る画像処理装置によれば、デブロッキングフィルタの参照画素に基づいて、画素ブロック境界付近の複数の画素を重ね合わせてベクトル形式に変換することにより、ＧＰＵなどの汎用の並列ベクトルプロセッサがもつ演算能力を最大限に引き出してデブロッキングフィルタを高速に処理することが可能になる。
【００６４】
（第６の実施形態）  
第６の実施形態に係る画像処理装置の構成は、第２の実施形態に係るそれと同じであるので、図示及び重複する説明は省略する。本実施形態は、水平ベクトル画素並べ替え部１３および垂直ベクトル画素並べ替え部１４による画素並べ替えの方法が第２の実施形態と異なっている。
【００６５】
第２の実施形態では、水平ベクトル画素並べ替え部１３は、水平スカラー画素重ね合わせ部４から出力されたベクトル形式の画像データ（図４）を読み込み、垂直方向に一列に並ぶベクトル形式の画素列を複数の列に並べ替えている。
【００６６】
これに対して本実施形態における水平ベクトル画素並べ替え部１３は、垂直方向に一列に並ぶベクトル形式の画素列を複数の列に並べ替えた後に、それら複数の列を再配置する処理を行っている。
【００６７】
例えば、図４（ｂ）において点線で囲まれている左端で垂直方向に一列に並ぶベクトル形式の画素列（００，１０，２０，３０）〜（０ｆ，１ｆ，２ｆ，３ｆ）は、４列（４行）に並ぶベクトル形式の画素列に並べ替えられた後、図３６における８行８列の画素領域の左上に配置される。  
また、図４（ｂ）において左から２列目に並んでいるベクトル形式の画素列（４０，５０，６０，７０）〜（４ｆ，５ｆ，６ｆ，７ｆ）は、４列（４行）に並ぶベクトル形式の画素列に並べ替えられた後、図３６における８行８列の画素領域の右上に配置される。  
また、図４（ｂ）において左から３列目に並んでいるベクトル形式の画素列（８０，９０，ａ０，ｂ０）〜（８ｆ，９ｆ，ａｆ，ｂｆ）は、４列（４行）に並ぶベクトル形式の画素列に並べ替えられた後、図３６における８行８列の画素領域の左下に配置される。  
また、図４（ｂ）において右端に並んでいるベクトル形式の画素列（ｃ０，ｄ０，ｅ０，ｆ０）〜（ｃｆ，ｄｆ，ｅｆ，ｆｆ）は、４列（４行）に並ぶベクトル形式の画素列に並べ替えられた後、図３６における８行８列の画素領域の右下に配置される。
【００６８】
図３７に、本実施形態における再配置方法の一例を示す。図３７によれば、本実施形態における水平ベクトル画素並べ替え部１３は、垂直方向に一列に並ぶベクトル形式の画素列を複数の列に並べ替えた後、それら複数の列を最初に水平方向に順番に配置していく。そして、適当な回数配置したら折り返して次の行に移り、同じ回数だけ水平方向に順番に配置する。  
なお、折り返す位置は並列ベクトルプロセッサのメモリアクセス方式およびキャッシュ構造などに応じて決定してもよい。  
このような再配置処理を行うことにより、並列演算器の稼働率およびキャッシュのヒット率などが向上するため、後段の水平ベクトル画像処理部６における水平方向の画素ブロック境界に対するデブロッキングフィルタの処理を、効率よく行うことが可能になる。
【００６９】
本実施形態における垂直ベクトル画素並べ替え部１４は、水平方向に一行に並ぶベクトル形式の画素列を複数の行に並べ替えた後、それら複数の行を再配置する処理を行う。この再配置処理が、本実施形態における垂直ベクトル画素並べ替え部１４の特徴である。
【００７０】
例えば、図１０（ａ）において点線で囲まれている上端で水平方向に一行に並ぶベクトル形式の画素列（００，０１，０２，０３）〜（ｆ０，ｆ１，ｆ２，ｆ３）は、４行（４列）に並ぶベクトル形式の画素列に並べ替えられた後、図３８における８行８列の画素領域の左上に配置される。  
図１０（ａ）において上から２行目に並んでいるベクトル形式の画素列（０４，０５，０６，０７）〜（ｆ４，ｆ５，ｆ６，ｆ７）は、４行（４列）に並ぶベクトル形式の画素列に並べ替えられた後、図３８における８行８列の画素領域の右上に配置される。  
図１０（ａ）において上から３行目に並んでいるベクトル形式の画素列（０８，０９，０ａ，０ｂ）〜（ｆ８，ｆ９，ｆａ，ｆｂ）は、４行（４列）に並ぶベクトル形式の画素列に並べ替えられた後、図３８における８行８列の画素領域の左下に配置される。  
図１０（ａ）において下端に並んでいるベクトル形式の画素列（０ｃ，０ｄ，０ｅ，０ｆ）〜（ｆｃ，ｆｄ，ｆｅ，ｆｆ）は、４行（４列）に並ぶベクトル形式の画素列に並べ替えられた後、図３８における８行８列の画素領域の右下に配置される。
【００７１】
図３９に、本実施形態における再配置方法の例を示す。図３９によれば、本実施形態における垂直ベクトル画素並べ替え部１４は、水平方向に一行に並ぶベクトル形式の画素列を複数の行に並べ替えた後、それら複数の行を最初に水平方向に順番に配置していく。そして、適当な回数配置したら折り返して次の行に移り、同じ回数だけ水平方向に順番に配置する。  
なお、折り返す位置は並列ベクトルプロセッサのメモリアクセス方式およびキャッシュ構造などに応じて決定してもよい。
【００７２】
このような再配置処理を行うことにより、並列演算器の稼働率およびキャッシュのヒット率などが向上するため、後段の垂直ベクトル画像処理部９における垂直方向の画素ブロック境界に対するデブロッキングフィルタの処理を、効率よく行うことが可能になる。
【００７３】
以上のように、本実施形態に係る画像処理装置によれば、並列ベクトルプロセッサのメモリアクセス方式およびデブロッキングフィルタの処理依存性に基づいてベクトル形式の画素を並べ替えることにより、ＧＰＵなどの汎用の並列ベクトルプロセッサの稼働率およびキャッシュのヒット率を向上させ、デブロッキングフィルタを高速に処理することが可能になる。
【００７４】
（第７の実施形態）  
第７の実施形態に係る画像処理装置の構成は、第２の実施形態係るそれと同じであるので、図示及び重複する説明は省略する。本実施形態は、水平ベクトル画素並べ替え部１３および垂直ベクトル画素並べ替え部１４による画素並べ替えの方法が第２の実施形態と異なる。
【００７５】
第６の実施形態においては、水平ベクトル画素並べ替え部１３は、垂直方向に一列に並ぶベクトル形式の画素列を複数の列に並べ替えた後、それら複数の列を最初に水平方向に順番に配置している。  
これに対して、本実施形態における水平ベクトル画素並べ替え部１３は、図４０に示すように、垂直方向に一列に並ぶベクトル形式の画素列を複数の列に並べ替えた後、それら複数の列を最初に垂直方向に順番に配置していく。そして、適当な回数配置したら折り返して次の列に移り、同じ回数だけ垂直方向に順番に配置する。  
なお、折り返す位置は並列ベクトルプロセッサのメモリアクセス方式およびキャッシュ構造などに応じて決定してもよい。
【００７６】
このような再配置処理を行うことにより、並列演算器の稼働率およびキャッシュのヒット率などが向上するため、後段の水平ベクトル画像処理部６における水平方向の画素ブロック境界に対するデブロッキングフィルタの処理を、効率よく行うことが可能になる。
【００７７】
また、第６の実施形態における垂直ベクトル画素並べ替え部１４は、水平方向に一行に並ぶベクトル形式の画素列を複数の行に並べ替えた後、それら複数の行を最初に水平方向に順番に配置している。  
これに対して本実施形態における垂直ベクトル画素並べ替え部１４は、図４１に示すように、水平方向に一行に並ぶベクトル形式の画素列を複数の行に並べ替えた後、それら複数の行を最初に垂直方向に順番に配置していく。そして、適当な回数配置したら折り返して次の列に移り、同じ回数だけ垂直方向に順番に配置する。  
なお、折り返す位置は並列ベクトルプロセッサのメモリアクセス方式およびキャッシュ構造などに応じて決定してもよい。
【００７８】
このような再配置処理を行うことにより、並列演算器の稼働率およびキャッシュのヒット率などが向上するため、後段の垂直ベクトル画像処理部９における垂直方向の画素ブロック境界に対するデブロッキングフィルタの処理を、効率よく行うことが可能になる。
【００７９】
以上のように、本実施形態に係る画像処理装置によれば、並列ベクトルプロセッサのメモリアクセス方式およびデブロッキングフィルタの処理依存性に基づいてベクトル形式の画素を並べ替えることにより、ＧＰＵなどの汎用の並列ベクトルプロセッサの稼働率およびキャッシュのヒット率を向上させ、デブロッキングフィルタを高速に処理することが可能になる。
【００８０】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。  
上記の実施形態では、スカラー画素の重ね合わせを水平画素、垂直画素の順に行ったが、垂直画素の重ね合わせを先に行って、デブロッキングフィルタを施した後に、水平画素の重ね合わせを行っても良い。  
上記の実施形態では、水平画素及び垂直画素の両者について、スカラー画素の重ね合わせを行ってベクトル化したが、いずれか一方のみを行うようにしても良い。その場合には、例えば、第１の実施形態において、水平ベクトル画像処理によるデブロッキングフィルタ処理の後に、水平ベクトル画素の展開を行えばよい。  
また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００８１】
【図１】第１の実施形態に係る画像処理装置の概略構成を示すブロック図である。
【図２】１枚のフレームの画像がＹ、Ｃｂ、Ｃｒの３つの色成分で構成されている場合の動画像の構成例を示す図である。
【図３】本発明の第１の実施形態において入力スカラー画像記憶部３に記憶されるスカラー画像データの例を示す図である。
【図４】本発明の第１の実施形態において水平ベクトル画像記憶部５に記憶されるベクトル画像データの例を示す図である。
【図５】本発明の第１の実施形態における水平方向の画素ブロック境界に対するデブロッキングフィルタの参照画素を示す図である。
【図６】従来のスカラー演算によるデブロッキングフィルタ処理を示す図である。
【図７】本発明の第１の実施形態におけるベクトル演算によるデブロッキングフィルタ処理を示す図である。
【図８】本発明の第１の実施形態における水平方向の画素ブロック境界に対するデブロッキングフィルタの処理依存性を示す図である。
【図９】本発明の第１の実施形態において垂直ベクトル画像記憶部８に記憶されるベクトル画像データの例を示す図である。
【図１０】本発明の第１の実施形態において垂直ベクトル画像記憶部８に記憶されるベクトル画像データの例を示す図である。
【図１１】本発明の第１の実施形態における垂直方向の画素ブロック境界に対するデブロッキングフィルタの参照画素を示す図である。
【図１２】本発明の第１の実施形態における垂直方向の画素ブロック境界に対するデブロッキングフィルタの処理依存性を示す図である。
【図１３】第２の実施形態に係る画像処理装置の概略構成を示すブロック図である。
【図１４】本発明の第２の実施形態において水平ベクトル画素並べ替え部１３によって並べ替えられたベクトル画像データを示す図である。
【図１５】本発明の第２の実施形態において水平ベクトル画素並べ替え部１３によって並べ替えられたベクトル画像データを示す図である。
【図１６】本発明の第２の実施形態において垂直ベクトル画素並べ替え部１４によって並べ替えられたベクトル画像データを示す図である。
【図１７】本発明の第２の実施形態において垂直ベクトル画素並べ替え部１４によって並べ替えられたベクトル画像データを示す図である。
【図１８】本発明の第３の実施形態において入力スカラー画像記憶部３に記憶されるスカラー画像データの例を示す図である。
【図１９】本発明の第３の実施形態における水平方向の画素ブロック境界に対するデブロッキングフィルタの参照画素を示す図である。
【図２０】本発明の第３の実施形態における垂直方向の画素ブロック境界に対するデブロッキングフィルタの参照画素を示す図である。
【図２１】本発明の第３の実施形態において水平ベクトル画像記憶部５に記憶されるベクトル画像データの例を示す図である。
【図２２】本発明の第３の実施形態において水平ベクトル画像記憶部５に記憶されるベクトル画像データの例を示す図である。
【図２３】本発明の第３の実施形態におけるベクトル演算によるデブロッキングフィルタ処理を示す図である。
【図２４】本発明の第３の実施形態において垂直ベクトル画像記憶部８に記憶されるベクトル画像データの例を示す図である。
【図２５】本発明の第３の実施形態において垂直ベクトル画像記憶部８に記憶されるベクトル画像データの例を示す図である。
【図２６】本発明の第４の実施形態において水平ベクトル画像記憶部５に記憶されるベクトル画像データの例を示す図である。
【図２７】本発明の第４の実施形態において水平ベクトル画像記憶部５に記憶されるベクトル画像データの例を示す図である。
【図２８】本発明の第４の実施形態において水平ベクトル画像記憶部５に記憶されるベクトル画像データの例を示す図である。
【図２９】本発明の第４の実施形態におけるベクトル演算によるデブロッキングフィルタ処理を示す図である。
【図３０】本発明の第４の実施形態において垂直ベクトル画像記憶部８に記憶されるベクトル画像データの例を示す図である。
【図３１】本発明の第４の実施形態において垂直ベクトル画像記憶部８に記憶されるベクトル画像データの例を示す図である。
【図３２】本発明の第５の実施形態における水平方向の画素ブロック境界に対するデブロッキングフィルタの参照画素を示す図である。
【図３３】本発明の第５の実施形態における垂直方向の画素ブロック境界に対するデブロッキングフィルタの参照画素を示す図である。
【図３４】本発明の第５の実施形態において水平ベクトル画像記憶部５に記憶されるベクトル画像データの例を示す図である。
【図３５】本発明の第５の実施形態において垂直ベクトル画像記憶部８に記憶されるベクトル画像データの例を示す図である。
【図３６】本発明の第６の実施形態において水平ベクトル画像記憶部５に記憶されるベクトル画像データの例を示す図である。
【図３７】本発明の第６の実施形態における水平ベクトル画素並べ替え部１３の再配置処理の例を示す図である。
【図３８】本発明の第６の実施形態において垂直ベクトル画像記憶部８に記憶されるベクトル画像データの例を示す図である。
【図３９】本発明の第６の実施形態における垂直ベクトル画素並べ替え部１４の再配置処理の例を示す図である。
【図４０】本発明の第７の実施形態における水平ベクトル画素並べ替え部１３の再配置処理の例を示す図である。
【図４１】本発明の第７の実施形態における垂直ベクトル画素並べ替え部１４の再配置処理の例を示す図である。
【符号の説明】
【００８２】
１・・・中央処理部
２・・・主記憶部
３・・・入力スカラー画像記憶部
４・・・水平スカラー画素重ね合わせ部
５・・・水平ベクトル画像記憶部
６・・・水平ベクトル画像処理部
７・・・垂直スカラー画素重ね合わせ部
８・・・垂直ベクトル画像記憶部
９・・・垂直ベクトル画像処理部
１０・・・垂直ベクトル画素展開部
１１・・・出力スカラー画像記憶部
１２・・・提示部
１３・・・水平ベクトル画素並べ替え部
１４・・・垂直ベクトル画素並べ替え部
【図１】
2007274478.tif 000003
【図２】
2007274478.tif 000004
【図３】
2007274478.tif 000005
【図４】
2007274478.tif 000006
【図５】
2007274478.tif 000007
【図６】
2007274478.tif 000008
【図７】
2007274478.tif 000009
【図８】
2007274478.tif 000010
【図９】
2007274478.tif 000011
【図１０】
2007274478.tif 000012
【図１１】
2007274478.tif 000013
【図１２】
2007274478.tif 000014
【図１３】
2007274478.tif 000015
【図１４】
2007274478.tif 000016
【図１５】
2007274478.tif 000017
【図１６】
2007274478.tif 000018
【図１７】
2007274478.tif 000019
【図１８】
2007274478.tif 000020
【図１９】
2007274478.tif 000021
【図２０】
2007274478.tif 000022
【図２１】
2007274478.tif 000023
【図２２】
2007274478.tif 000024
【図２３】
2007274478.tif 000025
【図２４】
2007274478.tif 000026
【図２５】
2007274478.tif 000027
【図２６】
2007274478.tif 000028
【図２７】
2007274478.tif 000029
【図２８】
2007274478.tif 000030
【図２９】
2007274478.tif 000031
【図３０】
2007274478.tif 000032
【図３１】
2007274478.tif 000033
【図３２】
2007274478.tif 000034
【図３３】
2007274478.tif 000035
【図３４】
2007274478.tif 000036
【図３５】
2007274478.tif 000037
【図３６】
2007274478.tif 000038
【図３７】
2007274478.tif 000039
【図３８】
2007274478.tif 000040
【図３９】
2007274478.tif 000041
【図４０】
2007274478.tif 000042
【図４１】
2007274478.tif 000043