(57)【要約】【課題】複数の色チャンネルに対して並列処理を行うことにより、並べ替え処理に要する処理時間を短縮することが可能な画像処理装置を得る。【解決手段】並べ替え処理部１は、輝度Ｙに関する周波数データＳ１ＹをテーブルＴＡＬＹ，ＴＡＨ１Ｙ，ＴＡＨ２Ｙに基づいて並べ替える並べ替え処理部２Ｙと、色差Ｕに関する周波数データＳ１ＵをテーブルＴＡＬＵ，ＴＡＨ１Ｕ，ＴＡＨ２Ｕに基づいて並べ替える並べ替え処理部２Ｕと、色差Ｖに関する周波数データＳ１ＶをテーブルＴＡＬＶ，ＴＡＨ１Ｖ，ＴＡＨ２Ｖに基づいて並べ替える並べ替え処理部２Ｖと、並べ替え処理部２Ｕ，２Ｖが並べ替え処理を開始する前に、周波数データＳ１Ｙ，Ｓ１Ｕに関する非零情報に基づいて、テーブルＴＡＬＵ，ＴＡＬＶ、テーブルＴＡＨ１Ｕ又はＴＡＨ２Ｕ、及びテーブルＴＡＨ１Ｖ又はＴＡＨ２Ｖを更新する更新処理部３とを備える。【選択図】図１
2010268160.tif 000002
【特許請求の範囲】
【請求項１】
第１の色チャンネルの第１のデータを、前記第１の色チャンネルに対応し非零データの出現頻度を示す第１のテーブルに基づいて並べ替える、第１の並べ替え処理部と、
前記第１の並べ替え処理部による前記第１のデータの並べ替え処理と並行して、第２の色チャンネルの第２のデータを、前記第２の色チャンネルに対応し非零データの出現頻度を示す第２のテーブルに基づいて並べ替える、第２の並べ替え処理部と、
前記第２の並べ替え処理部が前記第２のデータの並べ替え処理を開始する前に、前記第１のデータに関する非零情報に基づいて前記第２のテーブルを更新する、第１の更新処理部と
を備える、画像処理装置。
【請求項２】
前記第２の並べ替え処理部は、前記第２のデータの並べ替え処理を完了した後に、前記第２のデータに関する非零情報に基づいて前記第２のテーブルを更新し、
前記第２の並べ替え処理部において更新された前記第２のテーブルに基づいて、前記第１のテーブルを更新する、第２の更新処理部
をさらに備える、請求項１に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置に関する。
【背景技術】
【０００２】
近年、ＪＰＥＧよりも高画質で、ＪＰＥＧ２０００よりも回路構成及び演算処理が簡素化された静止画ファイルフォーマットとして、マイクロソフト社よりＨＤ Ｐｈｏｔｏ（又はＪＰＥＧＸＲ）が提案されている。
【０００３】
ＨＤ Ｐｈｏｔｏにおけるエンコーダは、色変換部、プレフィルタ、周波数変換部、量子化部、予測部、並べ替え処理部、及び符号化部を備えて構成されている。
【０００４】
周波数変換部は、入力された画素信号に対して所定の周波数変換処理（ＰＣＴ）を実行することにより、ハイパス（以下「ＨＰ」）成分、ローパス（以下「ＬＰ」）成分、及び直流（以下「ＤＣ」）成分の周波数データ（係数データ）を出力する。縦１６画素×横１６画素の１個のマクロブロック内には、輝度Ｙ、色差Ｕ、及び色差Ｖの各々の色チャンネル毎に、ＨＰ成分の２４０個（１５個×１６ブロック）の周波数データと、ＬＰ成分の１５個の周波数データと、ＤＣ成分の１個の周波数データとが含まれる。
【０００５】
量子化部は、周波数変換部から入力された各成分の周波数データのうち、量子化係数で規定される桁数に相当する下位データをそれぞれ削除することにより、量子化後の周波数データ（ＨＰ成分、ＬＰ成分、及びＤＣ成分）を出力する。
【０００６】
予測部は、量子化部から入力された周波数データに対して所定の予測処理を実行することにより、予測後の周波数データ（つまり予測値との差分データ）を出力する。
【０００７】
並べ替え処理部は、予測部から入力された周波数データのうち、ＬＰ成分の１５個の周波数データの並べ替え処理（以下「Ａｄａｐｔｉｖｅ Ｓｃａｎ」と称す）を実行する。また、並べ替え処理部は、予測部から入力された周波数データのうち、ブロック毎に、ＨＰ成分の１５個の周波数データのＡｄａｐｔｉｖｅ Ｓｃａｎを実行する。具体的に並べ替え処理部は、非零データの出現頻度を示すテーブルを参照することにより、非零データの出現頻度が低いものほど後方に位置するように、周波数データの並べ替えを実行する。ＨＤ Ｐｈｏｔｏにおいては、並べ替え処理部がＡｄａｐｔｉｖｅ Ｓｃａｎを実行するために参照するテーブルとして、ＬＰ成分用、予測方向が水平方向である場合のＨＰ成分用、及び、予測方向が垂直方向である場合のＨＰ成分用の、合計３つのテーブルが準備されている。
【０００８】
符号化部は、並べ替え処理部から入力された各成分の周波数データを、上位側の桁範囲内の上位データ（ＮＯＲＭＡＬ ＤＡＴＡ）と、下位側の桁範囲内の下位データ（ＦＬＥＸ ＢＩＴ）とに分割する。そして、符号化部は、各成分のＮＯＲＭＡＬ ＤＡＴＡに対して、エントロピー符号化処理をそれぞれ実行して出力する。また、符号化部は、各成分のＦＬＥＸ ＢＩＴを、エントロピー符号化することなく出力する。
【０００９】
また、ＨＤ Ｐｈｏｔｏにおけるデコーダは、色逆変換部、ポストフィルタ、周波数逆変換部、逆量子化部、逆予測部、並べ替え処理部、及び復号部を備えて構成されている。デコーダは、エンコーダにおける処理と逆順序の処理を実行することによって、符号化された周波数データから画素信号を復元する。
【００１０】
なお、ＨＤ Ｐｈｏｔｏの詳細については、例えば下記非特許文献１に開示されており、ＪＰＥＧ ＸＲの詳細については、例えば下記非特許文献２又は下記非特許文献３に開示されている。
【先行技術文献】
【非特許文献】
【００１１】
【非特許文献１】"HD Photo -Photographic Still Image File Format", [online], ２００６年１１月７日, Microsoft Corporation, [２００７年１０月１０日検索], インターネット＜URL: http://www.microsoft.com/whdc/xps/hdphotodpk.mspx＞
【非特許文献２】"Coding of Still Pictures -JBIG JPEG", [online], 19 December 2007, ISO/IEC JTC 1/SC 29/WG1 N 4392, [２００８年３月４日検索], インターネット＜URL: http://www.itscj.ipsj.or.jp/sc29/open/29view/29n9026t.doc＞
【非特許文献３】"Coding of Still Pictures -JBIG JPEG", [online], 14 September 2008, ISO/IEC JTC 1/SC 29/WG1 N 4739, [２００８年９月１７日検索], インターネット＜URL: http://www.itscj.ipsj.or.jp/sc29/open/29view/29n9749t.doc＞
【発明の概要】
【発明が解決しようとする課題】
【００１２】
並べ替え処理部は、輝度Ｙ、色差Ｕ、及び色差Ｖの３つの色チャンネルに関して共通のテーブルを参照する。従って、例えばＹＵＶ４４４の色空間のＨＰ成分を処理する場合には、まず輝度Ｙに関する１６ブロックに対して、ブロック毎にテーブルを更新しながら順にＡｄａｐｔｉｖｅ Ｓｃａｎを実行し、次に色差Ｕに関する１６ブロックに対して、ブロックごとにテーブルを更新しながら順にＡｄａｐｔｉｖｅ Ｓｃａｎを実行し、次に色差Ｖに関する１６ブロックに対して、ブロックごとにテーブルを更新しながら順にＡｄａｐｔｉｖｅ Ｓｃａｎを実行する。従って、色差Ｕを処理するためには輝度Ｙに関する処理の完了を待つ必要があり、また、色差Ｖを処理するためには色差Ｕに関する処理の完了を待つ必要がある。その結果、並べ替え処理に要する処理時間が長くなる。
【００１３】
本発明はかかる事情に鑑みて成されたものであり、複数の色チャンネルに対して並列処理を行うことにより、並べ替え処理に要する処理時間を短縮することが可能な画像処理装置を得ることを目的とするものである。
【課題を解決するための手段】
【００１４】
本発明の第１の態様に係る画像処理装置は、第１の色チャンネルの第１のデータを、前記第１の色チャンネルに対応し非零データの出現頻度を示す第１のテーブルに基づいて並べ替える、第１の並べ替え処理部と、前記第１の並べ替え処理部による前記第１のデータの並べ替え処理と並行して、第２の色チャンネルの第２のデータを、前記第２の色チャンネルに対応し非零データの出現頻度を示す第２のテーブルに基づいて並べ替える、第２の並べ替え処理部と、前記第２の並べ替え処理部が前記第２のデータの並べ替え処理を開始する前に、前記第１のデータに関する非零情報に基づいて前記第２のテーブルを更新する、第１の更新処理部とを備えることを特徴とするものである。
【００１５】
第１の態様に係る画像処理装置によれば、第１の並べ替え処理部による第１のデータの並べ替え処理と、第２の並べ替え処理部による第２のデータの並べ替え処理とが、並行して実行される。従って、これらの処理が順に実行される場合と比較して、並べ替え処理に要する処理時間を短縮することが可能となる。また、第１の更新処理部は、第２の並べ替え処理部が第２のデータの並べ替え処理を開始する前に、第１のデータに関する非零情報に基づいて第２のテーブルを更新する。従って、第２の並べ替え処理部は、第２のデータの並べ替え処理を実行する際に、第１のデータの非零情報が反映された適切な第２のテーブルを参照することが可能となる。
【００１６】
本発明の第２の態様に係る画像処理装置は、第１の態様に係る画像処理装置において特に、前記第２の並べ替え処理部は、前記第２のデータの並べ替え処理を完了した後に、前記第２のデータに関する非零情報に基づいて前記第２のテーブルを更新し、前記第２の並べ替え処理部において更新された前記第２のテーブルに基づいて、前記第１のテーブルを更新する、第２の更新処理部をさらに備えることを特徴とするものである。
【００１７】
第２の態様に係る画像処理装置によれば、第２の更新処理部は、第２の並べ替え処理部において更新された第２のテーブルに基づいて、第１のテーブルを更新する。従って、第１の並べ替え処理部は、次回の第１のデータの並べ替え処理を実行する際に、前回の第２のデータの非零情報が反映された適切な第１のテーブルを参照することが可能となる。
【発明の効果】
【００１８】
本発明によれば、複数の色チャンネルに対して並列処理を行うことにより、並べ替え処理に要する処理時間を短縮することが可能となる。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施の形態に係るエンコーダの一部として、並べ替え処理部の構成を示すブロック図である。
【図２】並べ替え処理部の構成を示すブロック図である。
【図３】並べ替え処理部の構成を示すブロック図である。
【図４】並べ替え処理部の構成を示すブロック図である。
【図５】処理部による並べ替え処理を示す図である。
【図６】ＤＣ成分に関する予測処理を示す図である。
【図７】ＬＰ成分に関する予測処理を示す図である。
【図８】ＨＰ成分に関する予測処理を示す図である。
【図９】並べ替え処理部が実行する処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００２０】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。異なる図面において同一の符号を付した要素は、同一又は相応する要素を示すものとする。なお、以下では、本発明をＨＤ Ｐｈｏｔｏにおけるエンコーダに適用する例について述べるが、本発明の適用対象はこれに限定されるものではない。また、以下では、ＹＵＶ４４４の色空間を例にとり説明するが、本発明の適用対象はこれに限定されるものではない。
【００２１】
図１は、本発明の実施の形態に係るエンコーダの一部として、並べ替え処理部１の構成を示すブロック図である。図１の接続関係で示すように、並べ替え処理部１は、輝度Ｙの色チャンネルに対応する並べ替え処理部２Ｙと、色差Ｕの色チャンネルに対応する並べ替え処理部２Ｕと、色差Ｖの色チャンネルに対応する並べ替え処理部２Ｖと、更新処理部３，４とを備えて構成されている。並べ替え処理部１はハードウェアとして構成されており、各並べ替え処理部２Ｙ，２Ｕ，２Ｖに相当する回路が並列に接続された構成を有している。
【００２２】
並べ替え処理部２Ｙには、前段の予測部（図示しない）から、予測後の周波数データＳ１Ｙと、予測方向を示すデータＳ２Ｙとが入力される。並べ替え処理部２Ｕには、予測後の周波数データＳ１Ｕと予測方向を示すデータＳ２Ｕとが予測部から入力される。並べ替え処理部２Ｖには、予測後の周波数データＳ１Ｖと予測方向を示すデータＳ２Ｖとが予測部から入力される。
【００２３】
また、並べ替え処理部２Ｙには、更新処理部４から更新データＳ５Ｙが入力される。並べ替え処理部２Ｕには、更新処理部３から更新データＳ３Ｕが入力され、更新処理部４から更新データＳ５Ｕが入力される。並べ替え処理部２Ｖには、更新処理部３から更新データＳ３Ｖが入力される。更新処理部４には、並べ替え処理部２Ｖから更新データＳ５Ｖが入力される。
【００２４】
並べ替え処理部２Ｙは、周波数データＳ１Ｙに対して並べ替え処理（Ａｄａｐｔｉｖｅ Ｓｃａｎ）を実行することにより、並べ替え処理後の周波数データＳ４Ｙを、後段の符号化部（図示しない）に向けて出力する。並べ替え処理部２Ｕは、周波数データＳ１Ｕに対して並べ替え処理を実行することにより、並べ替え処理後の周波数データＳ４Ｕを符号化部に向けて出力する。並べ替え処理部２Ｖは、周波数データＳ１Ｖに対して並べ替え処理を実行することにより、並べ替え処理後の周波数データＳ４Ｖを符号化部に向けて出力する。
【００２５】
図２は、並べ替え処理部２Ｙの構成を示すブロック図である。図２の接続関係で示すように、並べ替え処理部２Ｙは、処理部１０Ｙ，１１Ｙと記憶部１２Ｙとを備えて構成されている。処理部１０Ｙは、周波数データＳ１Ｙに対して並べ替え処理を実行することにより、周波数データＳ４Ｙを出力する。処理部１１Ｙには、データＳ２Ｙ及び更新データＳ５Ｙが入力される。また、処理部１１Ｙには、処理部１０Ｙから周波数データＳ４Ｙが入力される。記憶部１２Ｙには、処理部１０Ｙが並べ替え処理を実行するために参照するテーブルとして、ＬＰ成分用のテーブルＴＡＬＹと、予測方向が水平方向である場合のＨＰ成分用のテーブルＴＡＨ１Ｙと、予測方向が垂直方向である場合のＨＰ成分用のテーブルＴＡＨ２Ｙとが記憶されている。
【００２６】
図３は、並べ替え処理部２Ｕの構成を示すブロック図である。図３の接続関係で示すように、並べ替え処理部２Ｕは、処理部１０Ｕ，１１Ｕと記憶部１２Ｕとを備えて構成されている。処理部１０Ｕは、周波数データＳ１Ｕに対して並べ替え処理を実行することにより、周波数データＳ４Ｕを出力する。処理部１１Ｕには、データＳ２Ｕ及び更新データＳ３Ｕ，Ｓ５Ｕが入力される。また、処理部１１Ｕには、処理部１０Ｕから周波数データＳ４Ｕが入力される。記憶部１２Ｕには、処理部１０Ｕが並べ替え処理を実行するために参照するテーブルとして、ＬＰ成分用のテーブルＴＡＬＵと、予測方向が水平方向である場合のＨＰ成分用のテーブルＴＡＨ１Ｕと、予測方向が垂直方向である場合のＨＰ成分用のテーブルＴＡＨ２Ｕとが記憶されている。
【００２７】
図４は、並べ替え処理部２Ｖの構成を示すブロック図である。図４の接続関係で示すように、並べ替え処理部２Ｖは、処理部１０Ｖ，１１Ｖと記憶部１２Ｖとを備えて構成されている。処理部１０Ｖは、周波数データＳ１Ｖに対して並べ替え処理を実行することにより、周波数データＳ４Ｖを出力する。処理部１１Ｖには、データＳ２Ｖ及び更新データＳ３Ｖが入力される。また、処理部１１Ｖには、処理部１０Ｖから周波数データＳ４Ｖが入力される。記憶部１２Ｖには、処理部１０Ｖが並べ替え処理を実行するために参照するテーブルとして、ＬＰ成分用のテーブルＴＡＬＶと、予測方向が水平方向である場合のＨＰ成分用のテーブルＴＡＨ１Ｖと、予測方向が垂直方向である場合のＨＰ成分用のテーブルＴＡＨ２Ｖとが記憶されている。
【００２８】
以下、代表的に並べ替え処理部２Ｙによる並べ替え処理について詳細に説明する。図２を参照して、処理部１０Ｙは、入力された周波数データＳ１Ｙのうち、ＬＰ成分の１５個の周波数データの並べ替え処理を実行する。また、処理部１０Ｙは、入力された周波数データＳ１Ｙのうち、ブロック毎に、ＨＰ成分の１５個の周波数データの並べ替え処理を実行する。具体的に処理部１０Ｙは、非零データの出現頻度を示すテーブルＴＡＬＹ，ＴＡＨ１Ｙ，ＴＡＨ２Ｙを参照することにより、非零データの出現頻度が低いものほど後方に位置するように、周波数データＳ１Ｙの並べ替え処理を実行する。
【００２９】
図５は、処理部１０Ｙによる並べ替え処理を示す図である。図５の（Ａ）は、１５個の周波数データの位置に割り当てられたｉｎｄｅｘ値を示している。図５の（Ｂ）は、テーブルＴＡＹ（テーブルＴＡＬＹ，ＴＡＨ１Ｙ，ＴＡＨ２Ｙのいずれか）の一例を示している。図５の（Ｃ）は、処理部１０Ｙに入力される１５個の周波数データＳ１Ｙと、処理部１０Ｙから出力される１５個の周波数データＳ４Ｙとを示している。
【００３０】
図５の（Ｂ）を参照して、テーブルＴＡＹにおいては、あるｉｎｄｅｘ値に対応する位置の周波数データの値がゼロでない場合（つまり非零データである場合）に、そのｉｎｄｅｘ値に対応するｃｏｕｎｔ値が「１」ずつインクリメントされる。そして、ｃｏｕｎｔ値の小さいｉｎｄｅｘ値ほど後方に位置するように、テーブルＴＡＹ内でのｉｎｄｅｘ値の並べ替えが行われる。ｃｏｕｎｔ値のインクリメントと、テーブルＴＡＹ内でのｉｎｄｅｘ値の並べ替えとは、処理部１１Ｙによって実行される。
【００３１】
図５の（Ｃ）を参照して、処理部１０Ｙには、ｉｎｄｅｘ値が「０」である位置から順番に、１５個の周波数データが入力される。処理部１０Ｙは、入力された１５個の周波数データの順序がテーブルＴＡＹにおけるｉｎｄｅｘ値の順序と等しくなるように、１５個の周波数データを並べ替える。これにより、処理部１０Ｙから出力される周波数データにおいては、非零データの出現頻度が低い周波数データほど後方に位置することとなる。
【００３２】
上述したように、ＬＰ成分に関しては、１個のテーブル（図２に示したテーブルＴＡＬＹ）が準備されている。また、ＨＰ成分に関しては、そのマクロブロックのＨＰ成分の予測方向が水平方向である場合に用いられるテーブル（テーブルＴＡＨ１Ｙ）と、垂直方向である場合に用いられるテーブル（テーブルＴＡＨ２Ｙ）との、合計２個のテーブルが準備されている。なお、ＨＰ成分の予測方向が無しである場合（つまり予測しない場合）には、テーブルＴＡＨ１Ｙが用いられる。テーブルＴＡＨ１Ｙ，ＴＡＨ２Ｙの選択は、前段の予測部から入力されるデータＳ２Ｙに基づいて行われる。
【００３３】
以下、予測部による予測処理について説明する。予測部による予測処理は、ＤＣ成分、ＬＰ成分、及びＨＰ成分の順序で行われる。
【００３４】
図６は、ＤＣ成分に関する予測処理を示す図である。図６には、４個のマクロブロックＭＢ１〜ＭＢ４に対応する４個のＤＣ成分の周波数データ１０１〜１０４を示している。現在の処理対象の周波数データは、右下のマクロブロックＭＢ４の周波数データ１０４であるとする。
【００３５】
予測部は、輝度Ｙ及び色差Ｕ，Ｖのそれぞれに関して、周波数データ１０１と周波数データ１０３との差の絶対値を求め、輝度Ｙの絶対値に所定値（例えば「４」）を乗じた後、３つの絶対値を加算することにより、水平方向のエッジの判定値を求める。同様に、輝度Ｙ及び色差Ｕ，Ｖのそれぞれに関して、周波数データ１０１と周波数データ１０２との差の絶対値を求め、輝度Ｙの絶対値に所定値（例えば「４」）を乗じた後、３つの絶対値を加算することにより、垂直方向のエッジの判定値を求める。そして、予測部は、水平方向のエッジの判定値に所定値（例えば「４」）を乗じた値が、垂直方向のエッジの判定値よりも小さい場合には、予測方向を垂直方向（上方向）とする。この場合、予測値は周波数データ１０２の値となる。また、予測部は、垂直方向のエッジの判定値に所定値（例えば「４」）を乗じた値が、水平方向のエッジの判定値よりも小さい場合には、予測方向を水平方向（左方向）とする。この場合、予測値は周波数データ１０３の値となる。また、予測部は、上記のいずれの場合にも該当しない場合には、周波数データ１０２の値と周波数データ１０３の値との平均値を、予測値とする。予測部は、周波数データ１０４と予測値との差分値として、予測後の周波数データＳ１Ｙを得る。
【００３６】
図７は、ＬＰ成分に関する予測処理を示す図である。図７には、図６に対応させて、４個のマクロブロックＭＢ１〜ＭＢ４に対応する、合計６０個のＬＰ成分の周波数データを示している。現在の処理対象の周波数データは、右下のマクロブロックＭＢ４の周波数データ２０７〜２１２であるとする。
【００３７】
マクロブロックＭＢ４のＤＣ成分の周波数データ１０４（図６参照）に関する予測方向が上方向であり、かつ、ＬＰ成分に関する量子化係数がマクロブロックＭＢ４とマクロブロックＭＢ２とで等しい場合は、予測方向は上方向となる。この場合、各周波数データ２０１，２０２，２０３の値が、各周波数データ２０７，２０８，２０９に関する予測値となる。予測部は、各周波数データ２０７，２０８，２０９と各予測値との差分値として、予測後の周波数データＳ１Ｙをそれぞれ得る。また、この場合、マクロブロックＭＢ４内のその他の１２個の周波数データに関しては、予測処理は実行されない。
【００３８】
マクロブロックＭＢ４のＤＣ成分の周波数データ１０４に関する予測方向が左方向であり、かつ、ＬＰ成分に関する量子化係数がマクロブロックＭＢ４とマクロブロックＭＢ３とで等しい場合は、予測方向は左方向となる。この場合、各周波数データ２０４，２０５，２０６の値が、各周波数データ２１０，２１１，２１２に関する予測値となる。予測部は、各周波数データ２１０，２１１，２１２と各予測値との差分値として、予測後の周波数データＳ１Ｙをそれぞれ得る。また、この場合、マクロブロックＭＢ４内のその他の１２個の周波数データに関しては、予測処理は実行されない。
【００３９】
上記のいずれの場合にも該当しない場合には、マクロブロックＭＢ４内のいずれの周波数データに関しても、予測処理は実行されない。つまり予測値はゼロとなる。
【００４０】
図８は、ＨＰ成分に関する予測処理を示す図である。図８には、１つのマクロブロックＭＢ４に対応する、合計２４０個（１５個×１６ブロック）のＨＰ成分の周波数データを示している。現在の処理対象の周波数データは、左から２列目かつ上から２行目のブロックに含まれるデータ３０７〜３１２であるとする。
【００４１】
図７を参照して、予測部は、輝度Ｙに関する予測後の周波数データ２０７〜２０９と、色差Ｕ，Ｖのそれぞれに関する予測後の周波数データ２０７との全てを加算することにより、水平方向のエッジの判定値を求める。また、予測部は、輝度Ｙに関する予測後の周波数データ２１０〜２１２と、色差Ｕ，Ｖのそれぞれに関する予測後の周波数データ２１０との全てを加算することにより、垂直方向のエッジの判定値を求める。
【００４２】
そして、予測部は、水平方向のエッジの判定値に所定値（例えば「４」）を乗じた値が、垂直方向のエッジの判定値よりも小さい場合には、予測方向を左方向とする。この場合、図８を参照して、各周波数データ３０４，３０５，３０６の値が、各周波数データ３１０，３１１，３１２に関する予測値となる。予測部は、各周波数データ３１０，３１１，３１２と各予測値との差分値として、予測後の周波数データＳ１Ｙをそれぞれ得る。また、この場合、そのブロック内のその他の１２個の周波数データに関しては、予測処理は実行されない。
【００４３】
また、予測部は、垂直方向のエッジの判定値に所定値（例えば「４」）を乗じた値が、水平方向のエッジの判定値よりも小さい場合には、予測方向を上方向とする。この場合、各周波数データ３０１，３０２，３０３の値が、各周波数データ３０７，３０８，３０９に関する予測値となる。予測部は、各周波数データ３０７，３０８，３０９と各予測値との差分値として、予測後の周波数データＳ１Ｙをそれぞれ得る。また、この場合、そのブロック内のその他の１２個のデータに関しては、予測処理は実行されない。
【００４４】
また、予測部は、上記のいずれの場合にも該当しない場合には、そのブロック内のいずれの周波数データに関しても、予測処理を実行しない。つまり予測値はゼロとなる。
【００４５】
以下、本実施の形態に係る並べ替え処理部１の動作について詳細に説明する。図９は、並べ替え処理部１が実行する処理の流れを示すフローチャートである。
【００４６】
まず初めに、ＬＰ成分に関する周波数データに対する並べ替え処理について説明する。
【００４７】
ステップＰ０１において、ＬＰ成分に関する各１５個の周波数データＳ１Ｙ，Ｓ１Ｕ，Ｓ１Ｖが、並べ替え処理部２Ｙ，２Ｕ，２Ｖにそれぞれ入力される。また、周波数データＳ１Ｙ，Ｓ１Ｕは更新処理部３にも入力され、これにより更新処理部３は周波数データＳ１Ｙ，Ｓ１Ｕを取得する。
【００４８】
次にステップＰ０２において更新処理部３は、取得した１５個の周波数データＳ１Ｙに関する非零情報を、更新データＳ３Ｕとして並べ替え処理部２Ｕに入力する。ここで「非零情報」とは、１５個の周波数データの各々の値がゼロであるか否かを示す情報を意味する。図３を参照して、更新データＳ３Ｕは処理部１１Ｕに入力される。処理部１１Ｕは、更新データＳ３Ｕに基づいてテーブルＴＡＬＵを更新する。つまり、処理部１１Ｕは、記憶部１２Ｕに記憶されているテーブルＴＡＬＵ内の１５個のｉｎｄｅｘ値のうち、周波数データＳ１Ｙ内の非零データのｉｎｄｅｘ値に対応する全てのｃｏｕｎｔ値を「１」だけインクリメントする。
【００４９】
同様にステップＰ０２において更新処理部３は、取得した各１５個の周波数データＳ１Ｙ，Ｓ１Ｕに関する非零情報を、更新データＳ３Ｖとして並べ替え処理部２Ｖに入力する。図４を参照して、更新データＳ３Ｖは処理部１１Ｖに入力される。処理部１１Ｖは、更新データＳ３Ｖに基づいてテーブルＴＡＬＶを更新する。つまり、処理部１１Ｖは、記憶部１２Ｖに記憶されているテーブルＴＡＬＶ内の１５個のｉｎｄｅｘ値のうち、周波数データＳ１Ｙ内の非零データのｉｎｄｅｘ値に対応する全てのｃｏｕｎｔ値を「１」だけインクリメントするともに、周波数データＳ１Ｕ内の非零データのｉｎｄｅｘ値に対応する全てのｃｏｕｎｔ値を「１」だけインクリメントする。
【００５０】
次にステップＰ０３において並べ替え処理部２Ｙ，２Ｕ，２Ｖは、周波数データＳ１Ｙ，Ｓ１Ｕ，Ｓ１Ｖに対する並べ替え処理をそれぞれ実行する。つまり、図２，３，４を参照して、処理部１０Ｙ，１０Ｕ，１０Ｖは、テーブルＴＡＬＹ，ＴＡＬＵ，ＴＡＬＶをそれぞれ参照することにより、各１５個の周波数データＳ１Ｙ，Ｓ１Ｕ，Ｓ１Ｖに対して並べ替え処理をそれぞれ実行する。これにより、並べ替え処理が完了した後の周波数データＳ４Ｙ，Ｓ４Ｕ，Ｓ４Ｖが、処理部１０Ｙ，１０Ｕ，１０Ｖからそれぞれ出力される。
【００５１】
またステップＰ０３において処理部１１Ｙ，１１Ｕ，１１Ｖは、処理部１０Ｙ，１０Ｕ，１０Ｖからそれぞれ入力された周波数データＳ４Ｙ，Ｓ４Ｕ，Ｓ４Ｖに基づいて、テーブルＴＡＬＹ，ＴＡＬＵ，ＴＡＬＶをそれぞれ更新する。つまり、処理部１１Ｙ，１１Ｕ，１１Ｖはそれぞれ、テーブルＴＡＬＹ，ＴＡＬＵ，ＴＡＬＶ内の各１５個のｉｎｄｅｘ値のうち、周波数データＳ４Ｙ，Ｓ４Ｕ，Ｓ４Ｖ内の非零データのｉｎｄｅｘ値に対応する全てのｃｏｕｎｔ値を「１」だけインクリメントする。
【００５２】
次にステップＰ０４において更新処理部４は、色差Ｖに関するテーブルＴＡＬＶに基づいて、輝度Ｙ及び色差Ｕに関するテーブルＴＡＬＹ，ＴＡＬＵを更新する。図１，４を参照して、更新処理部４は、テーブルＴＡＬＶ内のｉｎｄｅｘ値及びｃｏｕｎｔ値に関するデータを、更新データＳ５Ｖとして記憶部１２Ｖから読み出す。その後、図１〜３を参照して、更新処理部４は、記憶部１２Ｖから読み出した更新データＳ５Ｖを、更新データＳ５Ｙ，Ｓ５Ｕとして処理部１１Ｙ，１１Ｕにそれぞれ入力する。処理部１１Ｙ，１１Ｕは、更新データＳ５Ｙ，Ｓ５Ｕに基づいてテーブルＴＡＬＹ，ＴＡＬＵをそれぞれ更新することにより、各テーブルＴＡＬＹ，ＴＡＬＵ内のｉｎｄｅｘ値及びｃｏｕｎｔ値を、テーブルＴＡＬＶ内のｉｎｄｅｘ値及びｃｏｕｎｔ値によって置き換える。
【００５３】
さて次に、ＨＰ成分に関する周波数データに対する並べ替え処理について説明する。
【００５４】
ステップＰ０１において、ＨＰ成分に関する各１５個×１６ブロックの周波数データＳ１Ｙ，Ｓ１Ｕ，Ｓ１Ｖと、ＨＰ成分の予測方向に関するデータＳ２Ｙ，Ｓ２Ｕ，Ｓ２Ｖとが、並べ替え処理部２Ｙ，２Ｕ，２Ｖにそれぞれ入力される。また、周波数データＳ１Ｙ，Ｓ１Ｕは更新処理部３にも入力され、これにより更新処理部３は周波数データＳ１Ｙ，Ｓ１Ｕを取得する。
【００５５】
次にステップＰ０２において更新処理部３は、取得した１５個×１６ブロックの周波数データＳ１Ｙに関する非零情報を、更新データＳ３Ｕとして並べ替え処理部２Ｕに入力する。図３を参照して、更新データＳ３Ｕは処理部１１Ｕに入力される。処理部１１Ｕは、データＳ２Ｕによって選択されるテーブルＴＡＨ１Ｕ又はＴＡＨ２Ｕ内の１５個のｉｎｄｅｘ値のうち、周波数データＳ１Ｙ内の非零データのｉｎｄｅｘ値に対応する全てのｃｏｕｎｔ値を「１」だけインクリメントする。
【００５６】
同様にステップＰ０２において更新処理部３は、取得した各１５個×１６ブロックの周波数データＳ１Ｙ，Ｓ１Ｕに関する非零情報を、更新データＳ３Ｖとして並べ替え処理部２Ｖに入力する。図４を参照して、更新データＳ３Ｖは処理部１１Ｖに入力される。処理部１１Ｖは、データＳ２Ｖによって選択されるテーブルＴＡＨ１Ｖ又はＴＡＨ２Ｖ内の１５個のｉｎｄｅｘ値のうち、周波数データＳ１Ｙ内の非零データのｉｎｄｅｘ値に対応する全てのｃｏｕｎｔ値を「１」だけインクリメントするともに、周波数データＳ１Ｕ内の非零データのｉｎｄｅｘ値に対応する全てのｃｏｕｎｔ値を「１」だけインクリメントする。
【００５７】
次にステップＰ０３において並べ替え処理部２Ｙ，２Ｕ，２Ｖは、周波数データＳ１Ｙ，Ｓ１Ｕ，Ｓ１Ｖに対する並べ替え処理をそれぞれ実行する。つまり、図２，３，４を参照して、処理部１０Ｙ，１０Ｕ，１０Ｖは、テーブルＴＡＨ１Ｙ又はＴＡＨ２Ｙ、テーブルＴＡＨ１Ｕ又はＴＡＨ２Ｕ、及びテーブルＴＡＨ１Ｖ又はＴＡＨ２Ｖをそれぞれ参照することにより、各１５個×１６ブロックの周波数データＳ１Ｙ，Ｓ１Ｕ，Ｓ１Ｖに対して並べ替え処理をそれぞれ実行する。これにより、並べ替え処理が完了した後の周波数データＳ４Ｙ，Ｓ４Ｕ，Ｓ４Ｖが、処理部１０Ｙ，１０Ｕ，１０Ｖからそれぞれ出力される。
【００５８】
またステップＰ０３において処理部１１Ｙ，１１Ｕ，１１Ｖは、処理部１０Ｙ，１０Ｕ，１０Ｖからそれぞれ入力された周波数データＳ４Ｙ，Ｓ４Ｕ，Ｓ４Ｖに基づいて、テーブルＴＡＨ１Ｙ又はＴＡＨ２Ｙ、テーブルＴＡＨ１Ｕ又はＴＡＨ２Ｕ、及びテーブルＴＡＨ１Ｖ又はＴＡＨ２Ｖをそれぞれ更新する。つまり、処理部１１Ｙ，１１Ｕ，１１Ｖはそれぞれ、テーブルＴＡＨ１Ｙ又はＴＡＨ２Ｙ、テーブルＴＡＨ１Ｕ又はＴＡＨ２Ｕ、及びテーブルＴＡＨ１Ｖ又はＴＡＨ２Ｖ内の各１５個のｉｎｄｅｘ値のうち、周波数データＳ４Ｙ，Ｓ４Ｕ，Ｓ４Ｖ内の非零データのｉｎｄｅｘ値に対応する全てのｃｏｕｎｔ値を「１」だけインクリメントする。
【００５９】
次にステップＰ０４において更新処理部４は、色差Ｖに関するテーブルＴＡＨ１Ｖ又はＴＡＨ２Ｖに基づいて、輝度Ｙ及び色差Ｕに関するテーブルＴＡＨ１Ｙ又はＴＡＨ２Ｙ、及びテーブルＴＡＨ１Ｕ又はＴＡＨ２Ｕをそれぞれ更新する。図１，４を参照して、更新処理部４は、テーブルＴＡＨ１Ｖ又はＴＡＨ２Ｖ内のｉｎｄｅｘ値及びｃｏｕｎｔ値に関するデータを、更新データＳ５Ｖとして記憶部１２Ｖから読み出す。その後、図１〜３を参照して、更新処理部４は、記憶部１２Ｖから読み出した更新データＳ５Ｖを、更新データＳ５Ｙ，Ｓ５Ｕとして処理部１１Ｙ，１１Ｕにそれぞれ入力する。処理部１１Ｙ，１１Ｕは、更新データＳ５Ｙ，Ｓ５Ｕに基づいてテーブルＴＡＨ１Ｙ又はＴＡＨ２Ｙ、及びテーブルＴＡＨ１Ｕ又はＴＡＨ２Ｕをそれぞれ更新することにより、各テーブルＴＡＨ１Ｙ又はＴＡＨ２Ｙ、及びテーブルＴＡＨ１Ｕ又はＴＡＨ２Ｕ内のｉｎｄｅｘ値及びｃｏｕｎｔ値を、テーブルＴＡＨ１Ｖ又はＴＡＨ２Ｖ内のｉｎｄｅｘ値及びｃｏｕｎｔ値によって置き換える。
【００６０】
このように本実施の形態に係る並べ替え処理部１によれば、並べ替え処理部２Ｙによる周波数データＳ１Ｙの並べ替え処理と、並べ替え処理部２Ｕによる周波数データＳ１Ｕの並べ替え処理と、並べ替え処理部２Ｖによる周波数データＳ１Ｖの並べ替え処理とが、並行して実行される。従って、これらの処理が順に実行される場合と比較して、並べ替え処理に要する処理時間を短縮することが可能となる。
【００６１】
また、更新処理部３は、並べ替え処理部２Ｕ，２Ｖが並べ替え処理を開始する前に、周波数データＳ１Ｙ，Ｓ１Ｕに関する非零情報に基づいて、テーブルＴＡＬＵ，ＴＡＬＶ、テーブルＴＡＨ１Ｕ又はＴＡＨ２Ｕ、及びテーブルＴＡＨ１Ｖ又はＴＡＨ２Ｖを更新する。従って、並べ替え処理部２Ｕ，２Ｖは、周波数データＳ１Ｕ，Ｓ１Ｖに対する並べ替え処理を実行する際に、周波数データＳ１Ｙ，Ｓ１Ｕの非零情報が反映された適切なテーブルを参照することが可能となる。
【００６２】
また、更新処理部４は、並べ替え処理部２Ｖにおいて更新されたテーブルＴＡＬＶ、及びテーブルＴＡＨ１Ｖ又はＴＡＨ２Ｖに基づいて、テーブルＴＡＬＹ，ＴＡＬＵ、テーブルＴＡＨ１Ｙ又はＴＡＨ２Ｙ、及びテーブルＴＡＨ１Ｕ又はＴＡＨ２Ｕを更新する。従って、並べ替え処理部２Ｙ，２Ｕは、次回の周波数データＳ１Ｙ，Ｓ１Ｕの並べ替え処理を実行する際に、前回の周波数データＳ４Ｖの非零情報が反映された適切なテーブルを参照することが可能となる。
【００６３】
なお、上記実施の形態では、並べ替え処理部２Ｙがその内部にテーブルＴＡＬＹ，ＴＡＨ１Ｙ，ＴＡＨ２Ｙを保持し、並べ替え処理部２Ｕがその内部にテーブルＴＡＬＵ，ＴＡＨ１Ｕ，ＴＡＨ２Ｕを保持し、並べ替え処理部２Ｖがその内部にテーブルＴＡＬＶ，ＴＡＨ１Ｖ，ＴＡＨ２Ｖを保持する例について説明した。しかし、この例に限らず、これらのテーブルは並べ替え処理部２Ｙ，２Ｕ，２Ｖの外部において保持することも可能である。
【００６４】
また、上記実施の形態では、本発明をＨＤ Ｐｈｏｔｏにおけるエンコーダに適用する例について説明した。しかし、この例に限らず、本発明をＨＤ Ｐｈｏｔｏにおけるデコーダに適用することも可能である。この場合、周波数データＳ１Ｙ，Ｓ１Ｕ，Ｓ１Ｖは前段の復号部から並べ替え処理部１に入力され、予測方向を示すデータＳ２Ｙ，Ｓ２Ｕ，Ｓ２Ｖは後段の逆予測部から並べ替え処理部１に入力される。また、周波数データＳ４Ｙ，Ｓ４Ｕ，Ｓ４Ｖは、並べ替え処理部１から後段の逆予測部に向けて出力される。
【符号の説明】
【００６５】
１，２Ｙ，２Ｕ，２Ｖ  並べ替え処理部
３，４  更新処理部
【図１】
2010268160.tif 000003
【図２】
2010268160.tif 000004
【図３】
2010268160.tif 000005
【図４】
2010268160.tif 000006
【図５】
2010268160.tif 000007
【図６】
2010268160.tif 000008
【図７】
2010268160.tif 000009
【図８】
2010268160.tif 000010
【図９】
2010268160.tif 000011