(57)【特許請求の範囲】
【請求項１】
変換処理部と、
符号化処理部と、
記憶部と、
を備え、
前記変換処理部は、画像内の所定の画素ブロックに関する複数の画素データに対して所定の変換処理を行うことにより、直流成分の周波数データ、低周波成分の周波数データ、及び高周波成分の周波数データを生成し、
前記符号化処理部は、
画像内の複数の画素ブロックの各々に関する直流成分の周波数データに対して所定の符号化処理を順次行うことにより、当該画像に関する複数の直流成分の周波数データを含む直流ストリームを生成する直流処理部と、
画像内の複数の画素ブロックの各々に関する低周波成分の周波数データに対して所定の符号化処理を順次行うことにより、当該画像に関する複数の低周波成分の周波数データを含む低周波ストリームを生成する低周波処理部と、
画像内の複数の画素ブロックの各々に関する高周波成分の周波数データに対して所定の符号化処理を順次行うことにより、当該画像に関する複数の高周波成分の周波数データのうち所定位置より上位側の桁範囲に属する複数の上位データを含む上位高周波ストリームと、当該画像に関する複数の高周波成分の周波数データのうち前記所定位置より下位側の桁範囲に属する複数の下位データを含む下位高周波ストリームとを生成する高周波処理部と、
前記直流ストリーム、前記低周波ストリーム、前記上位高周波ストリーム、及び前記下位高周波ストリームを前記記憶部に向けて出力する複数の出力ポートを含む出力部と、
を有する、画像処理装置。
【請求項２】
前記出力部は、
前記直流ストリームを出力する第１の出力ポートと、
前記低周波ストリームを出力する第２の出力ポートと、
前記上位高周波ストリームを出力する第３の出力ポートと、
前記下位高周波ストリームを出力する第４の出力ポートと、
を含む、請求項１に記載の画像処理装置。
【請求項３】
復号処理部をさらに備え、
前記復号処理部は、前記直流ストリーム、前記低周波ストリーム、前記上位高周波ストリーム、及び前記下位高周波ストリームを前記記憶部から入力する複数の入力ポートを含む入力部を有する、請求項１又は２に記載の画像処理装置。
【請求項４】
前記入力部は、
前記直流ストリームを入力する第１の入力ポートと、
前記低周波ストリームを入力する第２の入力ポートと、
前記上位高周波ストリームを入力する第３の入力ポートと、
前記下位高周波ストリームを入力する第４の入力ポートと、
を含む、請求項３に記載の画像処理装置。
【請求項５】
前記復号処理部は、
画像の縮小率を設定する設定部と、
前記設定部によって設定された縮小率に基づいて、前記直流ストリーム、前記低周波ストリーム、前記上位高周波ストリーム、及び前記下位高周波ストリームのうち、前記記憶部から前記復号処理部に入力する少なくとも一つのストリームを選択する選択部と、
をさらに有する、請求項３又は４に記載の画像処理装置。
【請求項６】
前記符号化処理部は、前記複数の下位データの各々をその最下位桁から順に削除することによって削減される画像の符号量を、削除される桁数別に保持する保持部をさらに有する、請求項１〜５のいずれか一つに記載の画像処理装置。
【請求項７】
符号量制御部をさらに備え、
前記出力部は、前記複数の上位データの各々の値がゼロであるか否かを示す情報と、前記複数の下位データの各々のビット長に関する情報とを含む情報データを、前記符号量制御部に向けて出力する第５の出力ポートを含み、
前記符号量制御部は、
前記保持部を参照することによって、画像の符号量を目標符号量以下に抑えるために前記複数の下位データの各々から削除すべき桁数を設定する設定部と、
前記情報データと、前記設定部によって設定された削除すべき桁数とに基づいて、前記記憶部に記憶されている前記下位高周波ストリームに対して再符号化処理を行う再符号化処理部と、
を有する、請求項６に記載の画像処理装置。
【請求項８】
符号量制御部をさらに備え、
前記出力部は、前記複数の上位データの各々の値がゼロであるか否かを示す情報と、前記複数の下位データの各々のビット長に関する情報とを含む情報データを、前記符号量制御部に向けて出力する第５の出力ポートを含み、
前記符号量制御部は、
前記保持部を参照することによって、画像の符号量を目標符号量以下に抑えるために前記複数の下位データの各々から削除すべき桁数を設定する設定部と、
前記情報データと、前記設定部によって設定された削除すべき桁数とに基づいて、前記記憶部から復号処理部への前記下位高周波ストリームの入力を制御する入力制御部と、
を有する、請求項６に記載の画像処理装置。
【請求項９】
復号処理部と、
記憶部と、
を備え、
前記記憶部には、
画像内の複数の画素ブロックの各々に関する直流成分の周波数データに対して所定の符号化処理を順次行うことによって得られた、当該画像に関する複数の直流成分の周波数データを含む直流ストリームと、
画像内の複数の画素ブロックの各々に関する低周波成分の周波数データに対して所定の符号化処理を順次行うことによって得られた、当該画像に関する複数の低周波成分の周波数データを含む低周波ストリームと、
画像内の複数の画素ブロックの各々に関する高周波成分の周波数データに対して所定の符号化処理を順次行うことによって得られた、当該画像に関する複数の高周波成分の周波数データのうち所定位置より上位側の桁範囲に属する複数の上位データを含む上位高周波ストリームと、当該画像に関する複数の高周波成分の周波数データのうち前記所定位置より下位側の桁範囲に属する複数の下位データを含む下位高周波ストリームと、
が記憶されており、
前記復号処理部は、
画像の縮小率を設定する設定部と、
前記設定部によって設定された縮小率に基づいて、前記直流ストリーム、前記低周波ストリーム、前記上位高周波ストリーム、及び前記下位高周波ストリームのうち、前記記憶部から前記復号処理部に入力する少なくとも一つのストリームを選択する選択部と、
を有する、画像処理装置。
【請求項１０】
復号処理部と、
記憶部と、
符号量制御部と、
保持部と、
を備え、
前記記憶部には、
画像内の複数の画素ブロックの各々に関する直流成分の周波数データに対して所定の符号化処理を順次行うことによって得られた、当該画像に関する複数の直流成分の周波数データを含む直流ストリームと、
画像内の複数の画素ブロックの各々に関する低周波成分の周波数データに対して所定の符号化処理を順次行うことによって得られた、当該画像に関する複数の低周波成分の周波数データを含む低周波ストリームと、
画像内の複数の画素ブロックの各々に関する高周波成分の周波数データに対して所定の符号化処理を順次行うことによって得られた、当該画像に関する複数の高周波成分の周波数データのうち所定位置より上位側の桁範囲に属する複数の上位データを含む上位高周波ストリームと、当該画像に関する複数の高周波成分の周波数データのうち前記所定位置より下位側の桁範囲に属する複数の下位データを含む下位高周波ストリームと、
が記憶されており、
前記保持部は、前記複数の下位データの各々をその最下位桁から順に削除することによって削減される画像の符号量を、削除される桁数別に保持し、
前記符号量制御部は、
前記保持部を参照することによって、画像の符号量を目標符号量以下に抑えるために前記複数の下位データの各々から削除すべき桁数を設定する設定部と、
前記複数の上位データの各々の値がゼロであるか否かを示す情報と、前記複数の下位データの各々のビット長に関する情報と、前記設定部によって設定された削除すべき桁数とに基づいて、前記記憶部に記憶されている前記下位高周波ストリームに対して再符号化処理を行う再符号化処理部と、
を有する、画像処理装置。
【請求項１１】
復号処理部と、
記憶部と、
符号量制御部と、
保持部と、
を備え、
前記記憶部には、
画像内の複数の画素ブロックの各々に関する直流成分の周波数データに対して所定の符号化処理を順次行うことによって得られた、当該画像に関する複数の直流成分の周波数データを含む直流ストリームと、
画像内の複数の画素ブロックの各々に関する低周波成分の周波数データに対して所定の符号化処理を順次行うことによって得られた、当該画像に関する複数の低周波成分の周波数データを含む低周波ストリームと、
画像内の複数の画素ブロックの各々に関する高周波成分の周波数データに対して所定の符号化処理を順次行うことによって得られた、当該画像に関する複数の高周波成分の周波数データのうち所定位置より上位側の桁範囲に属する複数の上位データを含む上位高周波ストリームと、当該画像に関する複数の高周波成分の周波数データのうち前記所定位置より下位側の桁範囲に属する複数の下位データを含む下位高周波ストリームと、
が記憶されており、
前記保持部は、前記複数の下位データの各々をその最下位桁から順に削除することによって削減される画像の符号量を、削除される桁数別に保持し、
前記符号量制御部は、
前記保持部を参照することによって、画像の符号量を目標符号量以下に抑えるために前記複数の下位データの各々から削除すべき桁数を設定する設定部と、
前記複数の上位データの各々の値がゼロであるか否かを示す情報と、前記複数の下位データの各々のビット長に関する情報と、前記設定部によって設定された削除すべき桁数とに基づいて、前記記憶部から前記復号処理部への前記下位高周波ストリームの入力を制御する入力制御部と、
を有する、画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置に関し、特に、ＪＰＥＧＸＲの画像を処理する画像処理装置に関する。
【背景技術】
【０００２】
例えば下記特許文献１には、ＪＰＥＧＸＲ（又はＨＤ Ｐｈｏｔｏ）の画像を処理する画像処理装置が開示されている。当該画像処理装置は、エンコーダ及びデコーダを備えている。エンコーダは、色変換部、周波数変換部、量子化部、予測部、及び符号化部等を有している。デコーダは、復号部、逆予測部、逆量子化部、周波数逆変換部、及び色逆変換部等を有している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２３２２１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＪＰＥＧ ＸＲにおけるストリームの形式には、空間モード及び周波数モードの二種類のモードがある。空間モードにおいては、一画像内の各マクロブロックに関するデータが順に配列されることによって、一画像のストリームが構成されている。周波数モードにおいては、一画像内の全マクロブロックに関する直流成分のデータのストリームと、一画像内の全マクロブロックに関する低周波成分のデータのストリームと、一画像内の全マクロブロックに関する高周波成分の上位データ（NORMAL DATA）のストリームと、一画像内の全マクロブロックに関する高周波成分の下位データ(FLEXBITS)のストリームとが順に配列されることによって、一画像のストリームが構成されている。
【０００５】
ＪＰＥＧ ＸＲのエンコードはマクロブロック単位で実行されるため、空間モードのストリームは、ハードウェアを用いて容易に生成することが可能である。しかし、周波数モードのストリームをハードウェアを用いて生成する場合には、まず、画像に対する一回目の処理によって、当該画像内の全マクロブロックに関する直流成分のデータのストリームを生成し、次に、同一画像に対する二回目の処理によって、当該画像内の全マクロブロックに関する低周波成分のデータのストリームを生成し、次に、同一画像に対する三回目の処理によって、当該画像内の全マクロブロックに関する高周波成分の上位データのストリームを生成し、次に、同一画像に対する四回目の処理によって、当該画像内の全マクロブロックに関する高周波成分の下位データのストリームを生成する必要がある。このように、同一画像に対して四回の処理を繰り返す必要があるため、処理の所要時間が長くなるという問題がある。
【０００６】
本発明はかかる問題を解決するために成されたものであり、ＪＰＥＧＸＲにおける周波数モードのストリームをハードウェアを用いて生成するにあたり、処理の所要時間を短縮することが可能な画像処理装置を得ることを目的とするものである。
【課題を解決するための手段】
【０００７】
本発明の第１の態様に係る画像処理装置は、変換処理部と、符号化処理部と、記憶部と、を備え、前記変換処理部は、画像内の所定の画素ブロックに関する複数の画素データに対して所定の変換処理を行うことにより、直流成分の周波数データ、低周波成分の周波数データ、及び高周波成分の周波数データを生成し、前記符号化処理部は、画像内の複数の画素ブロックの各々に関する直流成分の周波数データに対して所定の符号化処理を順次行うことにより、当該画像に関する複数の直流成分の周波数データを含む直流ストリームを生成する直流処理部と、画像内の複数の画素ブロックの各々に関する低周波成分の周波数データに対して所定の符号化処理を順次行うことにより、当該画像に関する複数の低周波成分の周波数データを含む低周波ストリームを生成する低周波処理部と、画像内の複数の画素ブロックの各々に関する高周波成分の周波数データに対して所定の符号化処理を順次行うことにより、当該画像に関する複数の高周波成分の周波数データのうち所定位置より上位側の桁範囲に属する複数の上位データを含む上位高周波ストリームと、当該画像に関する複数の高周波成分の周波数データのうち前記所定位置より下位側の桁範囲に属する複数の下位データを含む下位高周波ストリームとを生成する高周波処理部と、前記直流ストリーム、前記低周波ストリーム、前記上位高周波ストリーム、及び前記下位高周波ストリームを前記記憶部に向けて出力する複数の出力ポートを含む出力部と、を有することを特徴とするものである。
【０００８】
第１の態様に係る画像処理装置によれば、出力部は、直流ストリーム、低周波ストリーム、上位高周波ストリーム、及び下位高周波ストリームを記憶部に向けて出力する複数の出力ポートを含む。従って、直流ストリーム、低周波ストリーム、上位高周波ストリーム、及び下位高周波ストリームのうちの複数のストリームを、複数の出力ポートから記憶部に向けて並列に出力することができる。その結果、ＪＰＥＧＸＲにおける周波数モードのストリームをハードウェアを用いて生成するにあたり、同一画像に対して四回の処理を繰り返す必要がないため、処理の所要時間を短縮することが可能となる。
【０００９】
本発明の第２の態様に係る画像処理装置は、第１の態様に係る画像処理装置において特に、前記出力部は、前記直流ストリームを出力する第１の出力ポートと、前記低周波ストリームを出力する第２の出力ポートと、前記上位高周波ストリームを出力する第３の出力ポートと、前記下位高周波ストリームを出力する第４の出力ポートと、を含むことを特徴とするものである。
【００１０】
第２の態様に係る画像処理装置によれば、出力部は、直流ストリームを出力する第１の出力ポートと、低周波ストリームを出力する第２の出力ポートと、上位高周波ストリームを出力する第３の出力ポートと、下位高周波ストリームを出力する第４の出力ポートと、を含む。従って、直流ストリーム、低周波ストリーム、上位高周波ストリーム、及び下位高周波ストリームを、それぞれ第１の出力ポート、第２の出力ポート、第３の出力ポート、及び第４の出力ポートから記憶部に向けて並列に出力することができる。その結果、ＪＰＥＧＸＲにおける周波数モードのストリームをハードウェアを用いて生成するにあたり、同一画像に対して一回の処理を行えばよいため、処理の所要時間をさらに短縮することが可能となる。
【００１１】
本発明の第３の態様に係る画像処理装置は、第１又は第２の態様に係る画像処理装置において特に、復号処理部をさらに備え、前記復号処理部は、前記直流ストリーム、前記低周波ストリーム、前記上位高周波ストリーム、及び前記下位高周波ストリームを前記記憶部から入力する複数の入力ポートを含む入力部を有することを特徴とするものである。
【００１２】
第３の態様に係る画像処理装置によれば、入力部は、直流ストリーム、低周波ストリーム、上位高周波ストリーム、及び下位高周波ストリームを記憶部から入力する複数の入力ポートを含む。従って、直流ストリーム、低周波ストリーム、上位高周波ストリーム、及び下位高周波ストリームのうちの複数のストリームを、記憶部から複数の入力ポートに並列に入力することができる。その結果、ＪＰＥＧＸＲにおける周波数モードのストリームを記憶部から読み出して復号処理部に入力するにあたり、同一マクロブロックに対して四回の読み出し処理を繰り返す必要がないため、処理の所要時間を短縮することが可能となる。また、周波数モードにおいては、各マクロブロックに関して、直流成分の周波数データ、低周波成分の周波数データ、高周波成分の周波数データのうちの上位データ、及び高周波成分の周波数データのうちの下位データが、記憶部内において離れた領域に格納されている。しかしながら、第３の態様に係る画像処理装置によれば、同一マクロブロックに対応するこれら複数の周波数データを、データが必要になる度にそれぞれの格納領域から読み出して復号処理部に入力することができる。そのため、復号処理部は、各マクロブロックに関する復号処理を支障なく実行することが可能となる。
【００１３】
本発明の第４の態様に係る画像処理装置は、第３の態様に係る画像処理装置において特に、前記入力部は、前記直流ストリームを入力する第１の入力ポートと、前記低周波ストリームを入力する第２の入力ポートと、前記上位高周波ストリームを入力する第３の入力ポートと、前記下位高周波ストリームを入力する第４の入力ポートと、を含むことを特徴とするものである。
【００１４】
第４の態様に係る画像処理装置によれば、入力部は、直流ストリームを入力する第１の入力ポートと、低周波ストリームを入力する第２の入力ポートと、上位高周波ストリームを入力する第３の入力ポートと、下位高周波ストリームを入力する第４の入力ポートと、を含む。従って、直流ストリーム、低周波ストリーム、上位高周波ストリーム、及び下位高周波ストリームを、記憶部からそれぞれ第１の入力ポート、第２の入力ポート、第３の入力ポート、及び第４の入力ポートに並列に入力することができる。その結果、ＪＰＥＧＸＲにおける周波数モードのストリームを記憶部から読み出して復号処理部に入力するにあたり、同一マクロブロックに対して一回の読み出し処理を行えばよいため、処理の所要時間をさらに短縮することが可能となる。
【００１５】
本発明の第５の態様に係る画像処理装置は、第３又は第４の態様に係る画像処理装置において特に、前記復号処理部は、画像の縮小率を設定する設定部と、前記設定部によって設定された縮小率に基づいて、前記直流ストリーム、前記低周波ストリーム、前記上位高周波ストリーム、及び前記下位高周波ストリームのうち、前記記憶部から前記復号処理部に入力する少なくとも一つのストリームを選択する選択部と、をさらに有することを特徴とするものである。
【００１６】
第５の態様に係る画像処理装置によれば、選択部は、設定部によって設定された縮小率に基づいて、直流ストリーム、低周波ストリーム、上位高周波ストリーム、及び下位高周波ストリームのうち、記憶部から復号処理部に入力する少なくとも一つのストリームを選択する。例えば、縮小率が１／１６に設定された場合には直流ストリームのみを選択し、縮小率が１／４に設定された場合には直流ストリーム及び低周波ストリームを選択する。これにより、縮小画像を簡易に作成することが可能となる。また、縮小画像の作成に用いない不要なストリームを記憶部から復号処理部に入力しないことにより、不要なストリームに対して無駄な復号処理が実行されることを予め回避することが可能となる。
【００１７】
本発明の第６の態様に係る画像処理装置は、第１〜第５のいずれか一つの態様に係る画像処理装置において特に、前記符号化処理部は、前記複数の下位データの各々をその最下位桁から順に削除することによって削減される画像の符号量を、削除される桁数別に保持する保持部をさらに有することを特徴とするものである。
【００１８】
第６の態様に係る画像処理装置によれば、保持部は、複数の下位データの各々をその最下位桁から順に削除することによって削減される画像の符号量を、削除される桁数別に保持する。従って、保持部が保持している情報を用いることにより、画像の符号量を目標符号量以下に抑えるための簡易な符号量制御を行うことが可能となる。
【００１９】
本発明の第７の態様に係る画像処理装置は、第６の態様に係る画像処理装置において特に、符号量制御部をさらに備え、前記出力部は、前記複数の上位データの各々の値がゼロであるか否かを示す情報と、前記複数の下位データの各々のビット長に関する情報とを含む情報データを、前記符号量制御部に向けて出力する第５の出力ポートを含み、前記符号量制御部は、前記保持部を参照することによって、画像の符号量を目標符号量以下に抑えるために前記複数の下位データの各々から削除すべき桁数を設定する設定部と、前記情報データと、前記設定部によって設定された削除すべき桁数とに基づいて、前記記憶部に記憶されている前記下位高周波ストリームに対して再符号化処理を行う再符号化処理部と、を有することを特徴とするものである。
【００２０】
第７の態様に係る画像処理装置によれば、複数の上位データの各々の値がゼロであるか否かを示す情報と、複数の下位データの各々のビット長に関する情報とを含む情報データが、符号化部から符号量制御部に入力される。また、設定部は、保持部を参照することによって、画像の符号量を目標符号量以下に抑えるために複数の下位データの各々から削除すべき桁数を設定する。そして、再符号化処理部は、情報データと、設定部によって設定された削除すべき桁数とに基づいて、記憶部に記憶されている下位高周波ストリームに対して再符号化処理を行う。このように、各下位データの一部（又は全部）が削除されるように下位高周波ストリームの再符号化処理を行い、再符号化処理後の下位高周波ストリームに対して復号処理を行うことにより、デコーダから出力される復号画像の符号量を目標符号量以下に抑えることが可能となる。
【００２１】
本発明の第８の態様に係る画像処理装置は、第６の態様に係る画像処理装置において特に、符号量制御部をさらに備え、前記出力部は、前記複数の上位データの各々の値がゼロであるか否かを示す情報と、前記複数の下位データの各々のビット長に関する情報とを含む情報データを、前記符号量制御部に向けて出力する第５の出力ポートを含み、前記符号量制御部は、前記保持部を参照することによって、画像の符号量を目標符号量以下に抑えるために前記複数の下位データの各々から削除すべき桁数を設定する設定部と、前記情報データと、前記設定部によって設定された削除すべき桁数とに基づいて、前記記憶部から復号処理部への前記下位高周波ストリームの入力を制御する入力制御部と、を有することを特徴とするものである。
【００２２】
第８の態様に係る画像処理装置によれば、複数の上位データの各々の値がゼロであるか否かを示す情報と、複数の下位データの各々のビット長に関する情報とを含む情報データが、符号化部から符号量制御部に入力される。また、設定部は、保持部を参照することによって、画像の符号量を目標符号量以下に抑えるために複数の下位データの各々から削除すべき桁数を設定する。そして、入力制御部は、情報データと、設定部によって設定された削除すべき桁数とに基づいて、記憶部から復号処理部への下位高周波ストリームの入力を制御する。各下位データの一部（又は全部）が記憶部から復号処理部に入力されないよう入力制御部によって制御することにより、実質的に各下位データの一部（又は全部）が削除された下位高周波ストリームを、復号処理部に入力することができる。そして、当該下位高周波ストリームに対して復号処理を行うことにより、デコーダから出力される復号画像の符号量を目標符号量以下に抑えることが可能となる。
【００２３】
本発明の第９の態様に係る画像処理装置は、復号処理部と、記憶部と、を備え、前記記憶部には、画像内の複数の画素ブロックの各々に関する直流成分の周波数データに対して所定の符号化処理を順次行うことによって得られた、当該画像に関する複数の直流成分の周波数データを含む直流ストリームと、画像内の複数の画素ブロックの各々に関する低周波成分の周波数データに対して所定の符号化処理を順次行うことによって得られた、当該画像に関する複数の低周波成分の周波数データを含む低周波ストリームと、画像内の複数の画素ブロックの各々に関する高周波成分の周波数データに対して所定の符号化処理を順次行うことによって得られた、当該画像に関する複数の高周波成分の周波数データのうち所定位置より上位側の桁範囲に属する複数の上位データを含む上位高周波ストリームと、当該画像に関する複数の高周波成分の周波数データのうち前記所定位置より下位側の桁範囲に属する複数の下位データを含む下位高周波ストリームと、が記憶されており、前記復号処理部は、画像の縮小率を設定する設定部と、前記設定部によって設定された縮小率に基づいて、前記直流ストリーム、前記低周波ストリーム、前記上位高周波ストリーム、及び前記下位高周波ストリームのうち、前記記憶部から前記復号処理部に入力する少なくとも一つのストリームを選択する選択部と、を有することを特徴とするものである。
【００２４】
第９の態様に係る画像処理装置によれば、選択部は、設定部によって設定された縮小率に基づいて、直流ストリーム、低周波ストリーム、上位高周波ストリーム、及び下位高周波ストリームのうち、記憶部から復号処理部に入力する少なくとも一つのストリームを選択する。例えば、縮小率が１／１６に設定された場合には直流ストリームのみを選択し、縮小率が１／４に設定された場合には直流ストリーム及び低周波ストリームを選択する。これにより、縮小画像を簡易に作成することが可能となる。また、縮小画像の作成に用いない不要なストリームを記憶部から復号処理部に入力しないことにより、不要なストリームに対して無駄な復号処理が実行されることを予め回避することが可能となる。
【００２５】
本発明の第１０の態様に係る画像処理装置は、復号処理部と、記憶部と、符号量制御部と、保持部と、を備え、前記記憶部には、画像内の複数の画素ブロックの各々に関する直流成分の周波数データに対して所定の符号化処理を順次行うことによって得られた、当該画像に関する複数の直流成分の周波数データを含む直流ストリームと、画像内の複数の画素ブロックの各々に関する低周波成分の周波数データに対して所定の符号化処理を順次行うことによって得られた、当該画像に関する複数の低周波成分の周波数データを含む低周波ストリームと、画像内の複数の画素ブロックの各々に関する高周波成分の周波数データに対して所定の符号化処理を順次行うことによって得られた、当該画像に関する複数の高周波成分の周波数データのうち所定位置より上位側の桁範囲に属する複数の上位データを含む上位高周波ストリームと、当該画像に関する複数の高周波成分の周波数データのうち前記所定位置より下位側の桁範囲に属する複数の下位データを含む下位高周波ストリームと、が記憶されており、前記保持部は、前記複数の下位データの各々をその最下位桁から順に削除することによって削減される画像の符号量を、削除される桁数別に保持し、前記符号量制御部は、前記保持部を参照することによって、画像の符号量を目標符号量以下に抑えるために前記複数の下位データの各々から削除すべき桁数を設定する設定部と、前記複数の上位データの各々の値がゼロであるか否かを示す情報と、前記複数の下位データの各々のビット長に関する情報と、前記設定部によって設定された削除すべき桁数とに基づいて、前記記憶部に記憶されている前記下位高周波ストリームに対して再符号化処理を行う再符号化処理部と、を有することを特徴とするものである。
【００２６】
第１０の態様に係る画像処理装置によれば、保持部は、複数の下位データの各々をその最下位桁から順に削除することによって削減される画像の符号量を、削除される桁数別に保持する。また、設定部は、保持部を参照することによって、画像の符号量を目標符号量以下に抑えるために複数の下位データの各々から削除すべき桁数を設定する。そして、再符号化処理部は、複数の上位データの各々の値がゼロであるか否かを示す情報と、複数の下位データの各々のビット長に関する情報と、設定部によって設定された削除すべき桁数とに基づいて、記憶部に記憶されている下位高周波ストリームに対して再符号化処理を行う。このように、各下位データの一部（又は全部）が削除されるように下位高周波ストリームの再符号化処理を行い、再符号化処理後の下位高周波ストリームに対して復号処理を行うことにより、デコーダから出力される復号画像の符号量を目標符号量以下に抑えることが可能となる。
【００２７】
本発明の第１１の態様に係る画像処理装置は、復号処理部と、記憶部と、符号量制御部と、保持部と、を備え、前記記憶部には、画像内の複数の画素ブロックの各々に関する直流成分の周波数データに対して所定の符号化処理を順次行うことによって得られた、当該画像に関する複数の直流成分の周波数データを含む直流ストリームと、画像内の複数の画素ブロックの各々に関する低周波成分の周波数データに対して所定の符号化処理を順次行うことによって得られた、当該画像に関する複数の低周波成分の周波数データを含む低周波ストリームと、画像内の複数の画素ブロックの各々に関する高周波成分の周波数データに対して所定の符号化処理を順次行うことによって得られた、当該画像に関する複数の高周波成分の周波数データのうち所定位置より上位側の桁範囲に属する複数の上位データを含む上位高周波ストリームと、当該画像に関する複数の高周波成分の周波数データのうち前記所定位置より下位側の桁範囲に属する複数の下位データを含む下位高周波ストリームと、が記憶されており、前記保持部は、前記複数の下位データの各々をその最下位桁から順に削除することによって削減される画像の符号量を、削除される桁数別に保持し、前記符号量制御部は、前記保持部を参照することによって、画像の符号量を目標符号量以下に抑えるために前記複数の下位データの各々から削除すべき桁数を設定する設定部と、前記複数の上位データの各々の値がゼロであるか否かを示す情報と、前記複数の下位データの各々のビット長に関する情報と、前記設定部によって設定された削除すべき桁数とに基づいて、前記記憶部から前記復号処理部への前記下位高周波ストリームの入力を制御する入力制御部と、を有することを特徴とするものである。
【００２８】
第１１の態様に係る画像処理装置によれば、保持部は、複数の下位データの各々をその最下位桁から順に削除することによって削減される画像の符号量を、削除される桁数別に保持する。また、設定部は、保持部を参照することによって、画像の符号量を目標符号量以下に抑えるために複数の下位データの各々から削除すべき桁数を設定する。そして、入力制御部は、複数の上位データの各々の値がゼロであるか否かを示す情報と、複数の下位データの各々のビット長に関する情報と、設定部によって設定された削除すべき桁数とに基づいて、記憶部から復号処理部への下位高周波ストリームの入力を制御する。各下位データの一部（又は全部）が記憶部から復号処理部に入力されないよう入力制御部によって制御することにより、実質的に各下位データの一部（又は全部）が削除された下位高周波ストリームを、復号処理部に入力することができる。そして、当該下位高周波ストリームに対して復号処理を行うことにより、デコーダから出力される復号画像の符号量を目標符号量以下に抑えることが可能となる。
【発明の効果】
【００２９】
本発明によれば、ＪＰＥＧＸＲにおける周波数モードのストリームをハードウェアを用いて生成するにあたり、処理の所要時間を短縮することが可能な画像処理装置を得ることが可能となる。
【図面の簡単な説明】
【００３０】
【図１】本発明の実施の形態に係る画像処理装置の全体構成を示すブロック図である。
【図２】周波数変換部の具体的な構成を示すブロック図である。
【図３】符号化部の具体的な構成を示すブロック図である。
【図４】ＨＰ処理部の具体的な構成を示すブロック図である。
【図５】周波数データを示す図である。
【図６】記憶部が有する記憶領域の一部を示す図である。
【図７】保持部が保持しているデータテーブルの一例を示す図である。
【図８】複数の周波数データの一例を示す図である。
【図９】復号部の具体的な構成を示すブロック図である。
【図１０】符号量制御部の具体的な構成を示すブロック図である。
【図１１】符号量制御部の他の構成を示すブロック図である。
【発明を実施するための形態】
【００３１】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、異なる図面において同一の符号を付した要素は、同一又は相応する要素を示すものとする。
【００３２】
図１は、本発明の実施の形態に係る画像処理装置１の全体構成を示すブロック図である。画像処理装置１は、エンコーダ２、デコーダ３、記憶部４、及び符号量制御部５を備えて構成されている。エンコーダ２は、色変換部１１、周波数変換部１２、量子化部１３、予測部１４、及び符号化部１５を有して構成されている。デコーダ３は、復号部２１、逆予測部２２、逆量子化部２３、周波数逆変換部２４、及び色逆変換部３５を有して構成されている。
【００３３】
色変換部１１には、例えば、ＣＣＤ又はＣＭＯＳイメージセンサ等の撮像素子から、ＲＧＢ色空間の画素データが入力される。色変換部１１は、ＲＧＢ色空間の画素データを、例えばＹＵＶ色空間の画素データに変換して出力する。
【００３４】
周波数変換部１２には、色変換部１１から画素データが入力される。周波数変換部１２は、画素データに対して所定の周波数変換処理（HD Photo Core Transform：ＰＣＴ）を実行することにより、周波数データを生成して出力する。
【００３５】
図２は、周波数変換部１２の具体的な構成を示すブロック図である。図２に示すように、ＪＰＥＧＸＲにおけるエンコーダ２は、第１階層の周波数変換部１２Ａと、第２階層の周波数変換部１２Ｂとを備えている。
【００３６】
周波数変換部１２Ａは、色変換部１１から入力された画素データＳ１に対して周波数変換処理（ＰＣＴ）を実行することにより、高周波（ＨＰ）成分の周波数データＳ１ＨＰと、第１階層における直流成分のデータＳ１Ｌとを生成して出力する。データＳ１Ｌは、周波数変換部１２Ｂに入力される。周波数変換部１２Ｂは、データＳ１Ｌに対して周波数変換処理（ＰＣＴ）を実行することにより、低周波（ＬＰ）成分の周波数データＳ１ＬＰと、直流（ＤＣ）成分の周波数データＳ１ＤＣとを生成して出力する。
【００３７】
このようにＪＰＥＧＸＲにおいては、第１階層の周波数変換部１２Ａから高周波成分の周波数データＳ１ＨＰが出力され、第２階層の周波数変換部１２Ｂから低周波成分の周波数データＳ１ＬＰと直流成分の周波数データＳ１ＤＣとが出力される。縦１６画素×横１６画素の一つのマクロブロックに関して、２４０個の周波数データＳ１ＨＰと、１５個の周波数データＳ１ＬＰと、１個の周波数データＳ１ＤＣとが出力される。
【００３８】
図１を参照して、量子化部１３には、周波数変換部１２から周波数データＳ１ＨＰ，Ｓ１ＬＰ，Ｓ１ＤＣが入力される。量子化部１３は、設定されている量子化係数を用いて、周波数データＳ１ＨＰ，Ｓ１ＬＰ，Ｓ１ＤＣに対して所定の量子化処理を実行する。
【００３９】
予測部１４には、量子化部１３から量子化処理後の周波数データＳ１ＨＰ，Ｓ１ＬＰ，Ｓ１ＤＣが入力される。予測部１４は、周波数データＳ１ＨＰ，Ｓ１ＬＰ，Ｓ１ＤＣに対して所定の予測処理を実行する。
【００４０】
符号化部１５には、予測部１４から予測処理後の周波数データＳ１ＨＰ，Ｓ１ＬＰ，Ｓ１ＤＣが入力される。符号化部１５は、周波数データＳ１ＨＰ，Ｓ１ＬＰ，Ｓ１ＤＣに対して所定の符号化処理を実行する。
【００４１】
図３は、符号化部１５の具体的な構成を示すブロック図である。符号化部１５は、ＤＣ処理部３１、ＬＰ処理部３２、ＨＰ処理部３３、出力部３４、及び保持部３５を備えている。出力部３４は、ＤＭＡ（Direct Memory Access）方式によって記憶部４にアクセス可能な複数の出力ポート４１〜４４と、符号量制御部５に接続された出力ポート４５とを有している。
【００４２】
ＤＣ処理部３１は、予測部１４から入力された周波数データＳ１ＤＣに対してエントロピー符号化処理を実行することにより、周波数データＳ２ＤＣを生成して出力する。周波数データＳ２ＤＣは、出力ポート４１から記憶部４に向けて出力される。ＤＣ処理部３１には、画像内の複数のマクロブロックの各々に関する周波数データＳ１ＤＣが順次入力され、ＤＣ処理部３１は、各マクロブロックに関する周波数データＳ２ＤＣを順次出力する。これにより、ＤＣ処理部３１からは、当該画像内の全マクロブロックに関する周波数データＳ２ＤＣが配列されたデータストリーム（以下「直流ストリーム」と称す）が出力される。そして、直流ストリームは、出力ポート４１から記憶部４に向けて出力される。
【００４３】
ＬＰ処理部３２は、予測部１４から入力された周波数データＳ１ＬＰに対してエントロピー符号化処理を実行することにより、周波数データＳ２ＬＰを生成して出力する。周波数データＳ２ＬＰは、出力ポート４２から記憶部４に向けて出力される。ＬＰ処理部３２には、画像内の複数のマクロブロックの各々に関する周波数データＳ１ＬＰが順次入力され、ＬＰ処理部３２は、各マクロブロックに関する周波数データＳ２ＬＰを順次出力する。これにより、ＬＰ処理部３２からは、当該画像内の全マクロブロックに関する周波数データＳ２ＬＰが配列されたデータストリーム（以下「低周波ストリーム」と称す）が出力される。そして、低周波ストリームは、出力ポート４２から記憶部４に向けて出力される。
【００４４】
図４は、ＨＰ処理部３３の具体的な構成を示すブロック図である。また、図５は、周波数データＳ１ＨＰを示す図である。ＨＰ処理部３３は、処理部５１，５２，５３を備えている。
【００４５】
処理部５１は、予測部１４から入力された周波数データＳ１ＨＰの絶対値部を、所定位置Ｍより上位側の桁範囲内の上位データＳ１ＨＰＵ（NORMAL DATA）と、所定位置Ｍより下位側の桁範囲内の下位データＳ１ＨＰＬ（FLEXBITS）とに分割して出力する。ＪＰＥＧＸＲにおいては、所定位置Ｍはマクロブロック単位で適応的に可変である。
【００４６】
処理部５２は、処理部５１から入力された上位データＳ１ＨＰＵに対してエントロピー符号化処理を実行することにより、上位データＳ２ＨＰＵを生成して出力する。上位データＳ２ＨＰＵは、出力ポート４３から記憶部４に向けて出力される。処理部５２には、画像内の複数のマクロブロックの各々に関する上位データＳ１ＨＰＵが順次入力され、処理部５２は、各マクロブロックに関する上位データＳ２ＨＰＵを順次出力する。これにより、処理部５２からは、当該画像内の全マクロブロックに関する上位データＳ２ＨＰＵが配列されたデータストリーム（以下「上位高周波ストリーム」と称す）が出力される。そして、上位高周波ストリームは、出力ポート４３から記憶部４に向けて出力される。
【００４７】
処理部５３は、処理部５１から入力された下位データＳ１ＨＰＬを、エントロピー符号化処理を実行することなく、下位データＳ２ＨＰＬとして出力する。下位データＳ２ＨＰＬは、出力ポート４４から記憶部４に向けて出力される。処理部５３には、画像内の複数のマクロブロックの各々に関する下位データＳ１ＨＰＬが順次入力され、処理部５３は、各マクロブロックに関する下位データＳ２ＨＰＬを順次出力する。これにより、処理部５３からは、当該画像内の全マクロブロックに関する下位データＳ２ＨＰＬが配列されたデータストリーム（以下「下位高周波ストリーム」と称す）が出力される。そして、下位高周波ストリームは、出力ポート４４から記憶部４に向けて出力される。
【００４８】
また、処理部５１は、周波数データＳ１ＨＰの符号（正又は負）を表す符号データを抽出する。上位データＳ１ＨＰＵの値がゼロでない場合は、符号データは、処理部５２によって上位データＳ１ＨＰＵがエントロピー符号化される際に、併せて符号化される。また、上位データＳ１ＨＰＵの値がゼロであり、かつ、下位データＳ１ＨＰＬの値がゼロでない場合は、符号データは、SIGN BITとして下位データＳ２ＨＰＬに付加される。なお、上位データＳ１ＨＰＵの値及び下位データＳ１ＨＰＬの値がいずれもゼロである場合は、符号データは存在しないため、下位データＳ２ＨＰＬにSIGN BITは付加されない。
【００４９】
上記の通り、直流ストリーム、低周波ストリーム、上位高周波ストリーム、及び下位高周波ストリームは、出力ポート４１，４２，４３，４４から記憶部４に向けてそれぞれ出力される。図６は、記憶部４が有する記憶領域の一部を示す図である。出力ポート４１，４２，４３，４４からそれぞれ出力された直流ストリーム（周波数データＳ２ＤＣ）、低周波ストリーム（周波数データＳ２ＬＰ）、上位高周波ストリーム（上位データＳ２ＨＰＵ）、及び下位高周波ストリーム（下位データＳ２ＨＰＬ）は、記憶部４の領域ＡＲ１，ＡＲ２，ＡＲ３，ＡＲ４内にそれぞれ格納される。一画像分のデータの格納が完了した後、領域ＡＲ１，ＡＲ２，ＡＲ３，ＡＲ４間の隙間を詰めるように再配置が行われ、これにより、直流ストリーム、低周波ストリーム、上位高周波ストリーム、及び下位高周波ストリームは、一つの画像ファイルとして記憶部４の連続する領域Ｒ５，ＡＲ６，ＡＲ７，ＡＲ８内にそれぞれ格納される。これにより、周波数モードのストリームが作成される。
【００５０】
ここで、ＪＰＥＧ ＸＲにおいては、FLEXBITSをその最下位ビットから順に削除するためのTRIM FLEXBITSなるパラメータを設定することが可能である。TRIM FLEXBITSの値は、「０」〜「１５」の範囲内で、画像単位で任意に設定することができる。例えば、ある画像に関してTRIM FLEXBITSを「３」に設定した場合には、その画像内の全てのFLEXBITSの下位３ビットが削除される。
【００５１】
図３を参照して、保持部３５は、TRIM FLEXBITSを「１」〜「１５」の各値に設定した場合にそれぞれ削減される画像の符号量を示す情報を、データテーブルとして保持している。図７は、保持部３５が保持しているデータテーブル６０の一例を示す図である。TRIM FLEXBITSの設定値（削除ビット数）と、各設定値に対応する削減符号量とが、削除ビット数の値別に記述されている。
【００５２】
削減符号量は、図４に示した処理部５１によって求めることが可能である。図８は、複数の周波数データＳ１ＨＰ（データＤ０〜Ｄ５）の一例を示す図である。図８の（Ａ）には、FLEXBITSのビット長が３ビットに設定されている場合の周波数データＳ１ＨＰの例を示している。図中の「ＦＧ」は、各データＤ０〜Ｄ５のNORMAL DATAの値がゼロであるか否かを表すフラグの値を示している。NORMAL DATAの値がゼロでない場合にはフラグ「ＦＧ」の値は「１」となり、NORMAL DATAの値がゼロである場合にはフラグ「ＦＧ」の値は「０」となる。図中の「ＦＢ」は、各データＤ０〜Ｄ５の下位データＳ１ＨＰＬを示している。図中の「ＳＢ」は、各データＤ０〜Ｄ５の下位データＳ１ＨＰＬに付加されているSIGN BITを示している。
【００５３】
データＤ０，Ｄ１に関しては、NORMAL DATAの値がゼロでないため、下位データＳ１ＨＰＬの値に拘わらず、下位データＳ１ＨＰＬにSIGN BITは付加されない。データＤ２に関しては、NORMAL DATAの値がゼロであり、かつ下位データＳ１ＨＰＬの値もゼロであるため、下位データＳ１ＨＰＬにSIGN BITは付加されない。データＤ３〜Ｄ５に関しては、NORMAL DATAの値がゼロであり、かつ下位データＳ１ＨＰＬの値がゼロでないため、下位データＳ１ＨＰＬに「０」（正）又は「１」（負）のSIGN BITが付加される。
【００５４】
図８の（Ｂ）には、図８の（Ａ）に示した周波数データＳ１ＨＰに対して、TRIM FLEXBITSを「１」に設定した場合の例を示している。データＤ０に関しては、「０００」なる下位データＳ１ＨＰＬの最下位ビット「０」が削除されることにより、符号量は１ビット削減される。データＤ１，Ｄ２についても同様に、符号量はそれぞれ１ビット削減される。データＤ３に関しては、「００１」なる下位データＳ１ＨＰＬの最下位ビット「１」が削除されるとともに、最下位ビットの削除によって下位データＳ１ＨＰＬの値がゼロとなってSIGN BITが不要となったため、SIGN BITも削除される。その結果、符号量は２ビット削減される。データＤ４に関しては、「０１０」なる下位データＳ１ＨＰＬの最下位ビット「０」が削除される。最下位ビットを削除しても下位データＳ１ＨＰＬの値はゼロにならないため、SIGN BITは削除されない。その結果、符号量は１ビット削減される。データＤ５についても同様に、符号量は１ビット削減される。処理部５１は、各周波数データＳ１ＨＰに関する削減符号量をカウンタを用いてカウントすることにより、TRIM FLEXBITSを「１」に設定した場合の一画像分の合計の削減符号量を求める。また、TRIM FLEXBITSを「２」〜「１５」の各値に設定した場合の削減符号量についても、上記と同様の手法により処理部５１によって求めることができる。図３，４を参照して、TRIM FLEXBITSを「１」〜「１５」の各値に設定した場合の削減符号量に関する情報は、データＳ４として処理部５１から保持部３５に入力され、保持部３５は、データＳ４に基づいて、図７に示したデータテーブル６０を作成する。
【００５５】
図９は、復号部２１の具体的な構成を示すブロック図である。復号部２１は、設定部７０、選択部７１、入力部７２、ＤＣ処理部７３、ＬＰ処理部７４、及びＨＰ処理部７５を備えている。入力部７２は、ＤＭＡ方式によって記憶部４にアクセス可能な複数の入力ポート８１〜８４を有している。
【００５６】
設定部７０は、デコード画像の縮小率を設定することが可能である。記憶部４に格納されている画像のサイズに対して、デコード画像のサイズを、１／１（つまり等倍率）、１／４（面積比で１／１６）、又は１／１６（面積比で１／２５６）に設定することができる。設定された縮小率は、データＳ６として設定部７０から選択部７１に入力される。
【００５７】
設定部７０によって等倍率に設定された場合は、選択部７１は、入力ポート８１〜８４の全てを選択する。この場合、記憶部４から入力ポート８１に周波数データＳ２ＤＣが入力され、記憶部４から入力ポート８２に周波数データＳ２ＬＰが入力され、記憶部４から入力ポート８３に上位データＳ２ＨＰＵが入力され、記憶部４から入力ポート８４に下位データＳ２ＨＰＬが入力される。周波数モードにおいては、各マクロブロックに関する周波数データＳ２ＤＣ、周波数データＳ２ＬＰ、上位データＳ２ＨＰＵ、及び下位データＳ２ＨＰＬは、記憶部４内の離れた領域ＡＲ５，ＡＲ６，ＡＲ７，ＡＲ８にそれぞれ格納されている。同一マクロブロックに対応するこれらの周波数データは、復号処理を行うためにデータが必要になる度にそれぞれの格納領域ＡＲ５〜ＡＲ８から読み出されて、入力ポート８１〜８４に入力される。
【００５８】
ＤＣ処理部７３は、入力ポート８１から入力された周波数データＳ２ＤＣに対してエントロピー復号処理を実行することにより、周波数データＳ５ＤＣを生成して出力する。また、ＬＰ処理部７４は、入力ポート８２から入力された周波数データＳ２ＬＰに対してエントロピー復号処理を実行することにより、周波数データＳ５ＬＰを生成して出力する。また、ＨＰ処理部７５は、入力ポート８３から入力された上位データＳ２ＨＰＵに対してエントロピー復号処理を実行した後、入力ポート８４から入力された下位データＳ２ＨＰＬを結合することにより、周波数データＳ５ＨＰを生成して出力する。周波数データＳ５ＤＣ，Ｓ５ＬＰ，Ｓ５ＨＰは、復号部２１から出力された後、後段の逆予測部２２、逆量子化部２３、周波数逆変換部２４、及び色逆変換部２５によってそれぞれ処理されることにより、等倍率のデコード画像がデコーダ３から出力される。
【００５９】
設定部７０によって１／４の縮小率に設定された場合は、選択部７１は、入力ポート８１，８２を選択する。この場合、記憶部４から入力ポート８１に周波数データＳ２ＤＣが入力され、記憶部４から入力ポート８２に周波数データＳ２ＬＰが入力される。一方、上位データＳ２ＨＰＵ及び下位データＳ２ＨＰＬは、記憶部４から復号部２１に入力されない。
【００６０】
ＤＣ処理部７３は、入力ポート８１から入力された周波数データＳ２ＤＣに対してエントロピー復号処理を実行することにより、周波数データＳ５ＤＣを生成して出力する。また、ＬＰ処理部７４は、入力ポート８２から入力された周波数データＳ２ＬＰに対してエントロピー復号処理を実行することにより、周波数データＳ５ＬＰを生成して出力する。周波数データＳ５ＤＣ，Ｓ５ＬＰは、復号部２１から出力された後、後段の逆予測部２２、逆量子化部２３、周波数逆変換部２４、及び色逆変換部２５によってそれぞれ処理されることにより、１／４に縮小されたデコード画像がデコーダ３から出力される。
【００６１】
なお、周波数変換部１２による周波数変換処理（ＰＣＴ）においては、縦４画素×横４画素のブロックの画素データの平均値を求める際にアダマール変換が適用される。アダマール変換では、１６個の画素データの合計値を「１６」ではなく「４」で除算することによって平均値を求めているため、アダマール変換で求めた平均値は実際の値の４倍となっている。周波数変換部１２においては、低周波成分の周波数データＳ１ＬＰは１回の周波数変換処理（ＰＣＴ）によって求められるため、周波数データＳ１ＬＰの値は実際の値の４倍となっている。また、直流成分の周波数データＳ１ＤＣは２回の周波数変換処理（ＰＣＴ）によって求められるため、周波数データＳ１ＤＣの値は実際の値の１６倍となっている。そこで、デコーダ３内の任意の箇所において、周波数データＳ５ＬＰの値を「４」で除算し、周波数データＳ５ＤＣの値を「１６」で除算することにより、アダマール変換に起因する実際の値との誤差を補正することができる。
【００６２】
また、周波数逆変換部２４においてオーバーラップフィルタを使用する場合には、１個の周波数データＳ５ＤＣ及び１５個の周波数データＳ５ＬＰを各ブロック内でコピーすることによって、一つのマクロブロックに関する２５６個のデータに拡張する。これにより、オーバーラップフィルタ処理を直ちに開始することが可能となる。
【００６３】
設定部７０によって１／１６の縮小率に設定された場合は、選択部７１は、入力ポート８１のみを選択する。この場合、記憶部４から入力ポート８１に周波数データＳ２ＤＣが入力される。一方、周波数データＳ２ＬＰ、上位データＳ２ＨＰＵ、及び下位データＳ２ＨＰＬは、記憶部４から復号部２１に入力されない。
【００６４】
ＤＣ処理部７３は、入力ポート８１から入力された周波数データＳ２ＤＣに対してエントロピー復号処理を実行することにより、周波数データＳ５ＤＣを生成して出力する。周波数データＳ５ＤＣは、復号部２１から出力された後、後段の逆予測部２２、逆量子化部２３、周波数逆変換部２４、及び色逆変換部２５によってそれぞれ処理されることにより、１／１６に縮小されたデコード画像がデコーダ３から出力される。なお、上記と同様に、デコーダ３内の任意の箇所において、周波数データＳ５ＤＣの値を「１６」で除算することにより、アダマール変換に起因する実際の値との誤差を補正することができる。また、周波数逆変換部２４においてオーバーラップフィルタを使用する場合には、１個の周波数データＳ５ＤＣをマクロブロック内でコピーすることによって、一つのマクロブロックに関する２５６個のデータに拡張する。これにより、オーバーラップフィルタ処理を直ちに開始することが可能となる。
【００６５】
なお、以上の説明ではデコード画像の縮小率を１／４又は１／１６に設定する例について述べたが、画像の画素数を任意に変換することが可能なリサイズ処理部を、例えば周波数逆変換部２４と色逆変換部２５との間に配置することにより、所望の縮小率のデコード画像をデコーダ３から出力することができる。
【００６６】
さて次に、画像処理装置１を用いた簡易的な符号量制御について説明する。図３を参照して、ＨＰ処理部３３は、各上位データＳ２ＨＰＵの値がゼロであるか否かを示す情報（図８の（Ａ）に示したフラグ「ＦＧ」に相当する）と、各マクロブロックのFLEXBITSのビット長に関する情報とを含む情報データＳ３を生成して出力する。情報データＳ３は、ＨＰ処理部３３から出力ポート４５に入力され、出力ポート４５から符号量制御部５に向けて出力される。
【００６７】
図１０は、符号量制御部５の具体的な構成を示すブロック図である。符号量制御部５は、設定部９１と再符号化処理部９２とを備えている。設定部９１には、画像の目標符号量を示すデータＳ８が入力される。また、設定部９１には、図７に示したデータテーブル６０を表すデータＳ７が入力される。
【００６８】
設定部９１は、記憶部４に記憶されている画像の符号量と、データＳ８で与えられる目標符号量とを比較する。そして、画像の符号量が目標符号量を超えている場合には、データテーブル６０を参照することにより、FLEXBITS（下位データＳ２ＨＰＬ）の全てを削除することで画像の符号量を目標符号量以下に抑えることが可能であるか否かを判定する。目標符号量以下に抑えることが可能である場合には、設定部９１は、データテーブル６０を参照することにより、目標符号量以下に抑えることが可能な範囲内での削除ビット数の最小値を求める。そして、その削除ビット数の最小値をTRIM FLEXBITSとして設定する。例えば、目標符号量以下に抑えることが可能な削除ビット数の範囲が「３ビット以上」である場合は、TRIM FLEXBITSの値を「３」に設定する。TRIM FLEXBITSの設定情報は、データＳ９として設定部９１から再符号化処理部９２に入力される。
【００６９】
再符号化処理部９２は、記憶部４から下位データＳ２ＨＰＬを読み出し、情報データＳ３に基づいて下位データＳ２ＨＰＬ間の境界及びSIGN BITの位置を特定しながら、下位データＳ２ＨＰＬをデコードする。その後、データＳ９で与えられるTRIM FLEXBITSを適用しつつ下位データＳ２ＨＰＬに対して再符号化処理を実行することにより、符号量が削減された新たな下位データＳ１０ＨＰＬを生成して出力する。記憶部４に格納されている下位データＳ２ＨＰＬは、新たな下位データＳ１０ＨＰＬによって書き換えられる。
【００７０】
なお、以上の説明において、設定部９１が画像の符号量と目標符号量とを比較した結果、画像の符号量が目標符号量以下である場合には、上記の処理を実行する必要はない。また、FLEXBITSの全てを削除しても画像の符号量を目標符号量以下に抑えることができない場合には、量子化係数を現在の設定値より大きな値に変更した後に、全ての周波数データに対して再エンコードを行う必要がある。後述する図１１に示す変形例についても同様である。
【００７１】
図１１は、符号量制御部５の他の構成を示すブロック図である。符号量制御部５は、設定部９１と入力制御部９３とを備えている。設定部９１には、図１０と同様のデータＳ７，Ｓ８が入力される。
【００７２】
上記と同様に、設定部９１は、記憶部４に記憶されている画像の符号量と、データＳ８で与えられる目標符号量とを比較する。そして、画像の符号量が目標符号量を超えている場合には、データテーブル６０を参照することにより、FLEXBITSの全てを削除することで画像の符号量を目標符号量以下に抑えることが可能であるか否かを判定する。目標符号量以下に抑えることが可能である場合には、設定部９１は、データテーブル６０を参照することにより、目標符号量以下に抑えることが可能な範囲内での削除ビット数の最小値を求める。そして、その削除ビット数の最小値をTRIM FLEXBITSとして設定する。TRIM FLEXBITSの設定情報は、データＳ９として設定部９１から入力制御部９３に入力される。
【００７３】
入力制御部９３は、情報データＳ３と、データＳ９で与えられるTRIM FLEXBITSとに基づいて、記憶部４から復号部２１への下位データＳ２ＨＰＬの入力を制御するための制御データＳ１１を生成して出力する。例えば、図８の（Ａ）に示したデータＤ０〜Ｄ５が下位データＤ２ＨＰＬとして記憶部４に記憶されており、TRIM FLEXBITSの値が「１」に設定された場合において、データＤ０〜Ｄ５を復号部２１へ入力する際には、各データＤ０〜Ｄ５の最下位ビットと、データＤ３に付加されているSIGN BITとに関しては、復号部２１への入力を省略する。これにより、符号量が削減された下位高周波ストリームが、記憶部４から復号部２１に入力される。
【００７４】
このように本実施の形態に係る画像処理装置１によれば、出力部３４は、直流ストリーム、低周波ストリーム、上位高周波ストリーム、及び下位高周波ストリームを記憶部４に向けて出力する複数の出力ポート４１〜４４を含む。従って、直流ストリーム、低周波ストリーム、上位高周波ストリーム、及び下位高周波ストリームのうちの複数のストリームを、複数の出力ポート４１〜４４から記憶部４に向けて並列に出力することができる。その結果、ＪＰＥＧＸＲにおける周波数モードのストリームをハードウェアを用いて生成するにあたり、同一画像に対して四回の処理を繰り返す必要がないため、処理の所要時間を短縮することが可能となる。
【００７５】
また、出力部３４は、直流ストリームを出力する第１の出力ポート４１と、低周波ストリームを出力する第２の出力ポート４２と、上位高周波ストリームを出力する第３の出力ポート４３と、下位高周波ストリームを出力する第４の出力ポート４４と、を含む。従って、直流ストリーム、低周波ストリーム、上位高周波ストリーム、及び下位高周波ストリームを、それぞれ第１の出力ポート４１、第２の出力ポート４２、第３の出力ポート４３、及び第４の出力ポート４４から記憶部４に向けて並列に出力することができる。その結果、ＪＰＥＧＸＲにおける周波数モードのストリームをハードウェアを用いて生成するにあたり、同一画像に対して一回の処理を行えばよいため、処理の所要時間をさらに短縮することが可能となる。
【００７６】
また、入力部７２は、直流ストリーム、低周波ストリーム、上位高周波ストリーム、及び下位高周波ストリームを記憶部４から入力する複数の入力ポート８１〜８４を含む。従って、直流ストリーム、低周波ストリーム、上位高周波ストリーム、及び下位高周波ストリームのうちの複数のストリームを、記憶部４から複数の入力ポート８１〜８４に並列に入力することができる。その結果、ＪＰＥＧＸＲにおける周波数モードのストリームを記憶部から読み出して復号部２１に入力するにあたり、同一マクロブロックに対して四回の読み出し処理を繰り返す必要がないため、処理の所要時間を短縮することが可能となる。また、周波数モードにおいては、各マクロブロックに関して、周波数データＳ２ＤＣ、周波数データＳ２ＬＰ、上位データＳ２ＨＰＵ、及び下位データＳ２ＨＰＬが、記憶部４内において離れた領域ＡＲ５，ＡＲ６，ＡＲ７，ＡＲ８にそれぞれ格納されている。しかしながら、本実施の形態に係る画像処理装置１によれば、同一マクロブロックに対応するこれら複数の周波数データを、データが必要になる度にそれぞれの格納領域から読み出して復号部２１に入力することができる。そのため、復号部２１は、各マクロブロックに関する復号処理を支障なく実行することが可能となる。
【００７７】
また、入力部７２は、直流ストリームを入力する第１の入力ポート８１と、低周波ストリームを入力する第２の入力ポート８２と、上位高周波ストリームを入力する第３の入力ポート８３と、下位高周波ストリームを入力する第４の入力ポート８４と、を含む。従って、直流ストリーム、低周波ストリーム、上位高周波ストリーム、及び下位高周波ストリームを、記憶部４からそれぞれ第１の入力ポート８１、第２の入力ポート８２、第３の入力ポート８３、及び第４の入力ポート８４に並列に入力することができる。その結果、ＪＰＥＧＸＲにおける周波数モードのストリームを記憶部４から読み出して復号部２１に入力するにあたり、同一マクロブロックに対して一回の読み出し処理を行えばよいため、処理の所要時間をさらに短縮することが可能となる。
【００７８】
また、選択部７１は、設定部７０によって設定された縮小率に基づいて、直流ストリーム、低周波ストリーム、上位高周波ストリーム、及び下位高周波ストリームのうち、記憶部４から復号部２１に入力する少なくとも一つのストリームを選択する。例えば、縮小率が１／１６に設定された場合には直流ストリームのみを選択し、縮小率が１／４に設定された場合には直流ストリーム及び低周波ストリームを選択する。これにより、縮小画像を簡易に作成することが可能となる。また、縮小画像の作成に用いない不要なストリームを記憶部４から復号部２１に入力しないことにより、不要なストリームに対して無駄な復号処理が実行されることを予め回避することが可能となる。
【００７９】
また、保持部３５は、各下位データＳ２ＨＰＬをその最下位ビットから順に削除することによって削減される画像の符号量を、削除されるビット数別に記述したデータテーブル６０を保持する。従って、保持部３５が保持しているデータテーブル６０を用いることにより、画像の符号量を目標符号量以下に抑えるための簡易な符号量制御を行うことが可能となる。
【００８０】
また、図１０に示したように、符号量制御部５には、各上位データＳ２ＨＰＵの値がゼロであるか否かを示す情報と、各下位データＳ２ＨＰＬのビット長に関する情報とを含む情報データＳ３が、符号化部１５から入力される。また、設定部９１は、保持部３５が保持しているデータテーブル６０を参照することによって、画像の符号量を目標符号量以下に抑えるために各下位データＳ２ＨＰＬから削除すべきビット数（TRIM FLEXBITS）を設定する。そして、再符号化処理部９２は、情報データＳ３と、設定部９１によって設定されたTRIM FLEXBITSとに基づいて、記憶部４に記憶されている下位高周波ストリームに対して再符号化処理を行う。このように、各下位データＳ２ＨＰＬの一部（又は全部）が削除されるように下位高周波ストリームの再符号化処理を行い、再符号化処理後の下位高周波ストリームに対して復号処理を行うことにより、デコーダ３から出力されるデコード画像の符号量を目標符号量以下に抑えることが可能となる。
【００８１】
また、図１１に示したように、符号量制御部５には、各上位データＳ２ＨＰＵの値がゼロであるか否かを示す情報と、各下位データＳ２ＨＰＬのビット長に関する情報とを含む情報データＳ３が、符号化部１５から入力される。また、設定部９１は、保持部３５が保持しているデータテーブル６０を参照することによって、画像の符号量を目標符号量以下に抑えるために各下位データＳ２ＨＰＬから削除すべきビット数（TRIM FLEXBITS）を設定する。そして、入力制御部９３は、情報データＳ３と、設定部によって設定されたTRIM FLEXBITSとに基づいて、記憶部か４ら復号部２１への下位高周波ストリームの入力を制御する。各下位データＳ２ＨＰＬの一部（又は全部）が記憶部４から復号部２１に入力されないよう入力制御部９３によって制御することにより、実質的に各下位データＳ２ＨＰＬの一部（又は全部）が削除された下位高周波ストリームを、復号部２１に入力することができる。そして、当該下位高周波ストリームに対して復号処理を行うことにより、デコーダ３から出力されるデコード画像の符号量を目標符号量以下に抑えることが可能となる。
【符号の説明】
【００８２】
１  画像処理装置
２  エンコーダ
３  デコーダ
４  記憶部
５  符号量制御部
１２  周波数変換部
１５  符号化部
２１  復号部
３１，７３  ＤＣ処理部
３２，７４  ＬＰ処理部
３３，７５  ＨＰ処理部
３４  出力部
３５  保持部
４１〜４５  出力ポート
７０，９１  設定部
７１  選択部
７２  入力部
８１〜８４  入力ポート
９２  再符号化処理部
９３  入力制御部
【図１】
0005528914.tif 000002
【図２】
0005528914.tif 000003
【図３】
0005528914.tif 000004
【図４】
0005528914.tif 000005
【図５】
0005528914.tif 000006
【図６】
0005528914.tif 000007
【図７】
0005528914.tif 000008
【図８】
0005528914.tif 000009
【図９】
0005528914.tif 000010
【図１０】
0005528914.tif 000011
【図１１】
0005528914.tif 000012