説明

画像圧縮装置

【課題】静止画像データの圧縮処理の効率を向上することができる画像圧縮装置を提供することを課題とする。
【解決手段】画像圧縮装置1は、静止画像データを周波数変換して生成した直流成分データ、低域成分データ、高域成分データを量子化する。抽出部141は、量子化データから付加データと、エントロピー符号化の対象となる符号化対象データとを抽出する。エントロピー符号化部144は、符号化対象データ用メモリ142に格納された符号化対象データをエントロピー符号化する。付加データ処理部145は、付加データからフレックスビットを生成する。パターン情報作成部146は、抽出部141から符号化対象データを直接取得し、符号化対象データが0であるかどうかを示すパターン情報を作成する。ビットストリーム生成部148は、パターン情報と符号化対象データとフレックスビットとを所定の順序で出力して、ビットストリーム80を出力する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、静止画像データを圧縮する画像圧縮装置に関する。
【背景技術】
【0002】
静止画像データを圧縮するフォーマットとして、従来からJPEG(Joint Photographic Experts Group)形式が広く用いられている。また、JPEG形式より画像の劣化を防ぐことができ、圧縮率の高いHD Photo形式が策定されている。HD Photo形式の詳細については、非特許文献1、2に開示されている。
【0003】
HD Photoに基づく画像圧縮装置(以下、単に「画像圧縮装置」という)は、オリジナル画像データをマクロブロック単位で周波数変換し、直流成分データと、二つの交流成分データとを生成する。二つの交流成分の一方は、「LowPass」と呼ばれる低域成分データであり、他方は、「HighPass」と呼ばれる高域成分データである。画像圧縮装置は、上述の各成分データに対して量子化および予測符号化を実行し、直流量子化データ、低域量子化データ、高域量子化データを生成する。
【0004】
各成分の量子化データは、エントロピー符号化の対象となる符号化対象データと、エントロピー符号化の対象外となる付加データとに分割される。画像圧縮装置は、エントロピー符号化により符号化対象データから符号化データを生成して、圧縮画像データを生成する。このように、HD Photo形式では、エントロピー符号化の対象が限定されるため、画像圧縮処理の負荷が抑制される。
【0005】
【非特許文献1】“HD Photo−Photographic Still Image File Format”、[online]、平成18年11月7日、Microsoft Corporation、[平成20年4月14日検索]、インターネット<URL:http://www.microsoft.com/whdc/xps/hdphotodpk.mspx>
【非特許文献2】“Coding of Still Pictures”、[online]、平成19年12月19日、International Organisation for Standardisation and International Electorotechnical Commission、[平成20年4月14日検索]、インターネット<URL:http://www.itscj.ipsj.or.jp/sc29/open/29view/29n9026t.doc>
【発明の開示】
【発明が解決しようとする課題】
【0006】
図9は、HD Photo形式の圧縮画像データを構成するビットストリーム80の概略図である。HD Photo形式では、16画素×16画素のマクロブロック単位でオリジナル画像データが処理されることにより、1マクロブロックに対応するビットストリーム80が生成される。
【0007】
ビットストリーム80は、直流成分ストリーム81と、低域成分ストリーム82と、高域成分ストリーム83とを含む。直流成分ストリーム81は、パターン情報811とストリームデータ812とで構成される。低域成分ストリーム82は、パターン情報821とストリームデータ822とで構成される。高域成分ストリーム83は、パターン情報831とストリームデータ832とで構成される。
【0008】
パターン情報811、821、831は、cbp(Code Block Pattern)と呼ばれており、各成分の符号化対象データが0であるかどうかを示す情報である。ストリームデータ812、822、832は、各成分の符号化データおよび付加データから生成されるフレックスビットで構成される。
【0009】
図10は、従来の画像圧縮装置が備える符号化部94の構成を示す図である。符号化部94は、各成分の量子化データからビットストリーム80を生成する。符号化部94は、抽出部941と、符号化対象データ用メモリ942と、付加データ用メモリ943と、エントロピー符号化部944と、付加データ処理部945と、パターン情報生成部946と、ビットストリーム生成部947とを備える。
【0010】
符号化部94の動作について、15個の量子化係数データを有する低域量子化データが入力された例にして説明する。抽出部941は、各量子化係数データのうち所定データ長の下位データを抽出し、各下位データを低域付加データとして付加データ用メモリ943に書き込む。また、抽出部941は、各量子化係数データのうち下位データを除くデータ(上位データ)を、低域符号化対象データとして符号化対象データ用メモリ942に書き込む。
【0011】
エントロピー符号化部944は、符号化対象データ用メモリ942から低域符号化対象データを読み出し、エントロピー符号化を実行して低域符号化データを生成する。付加データ処理部945は、付加データ用メモリ943に書き込まれた15個の下位データを所定の順序で配列して低域フレックスビットを生成する。パターン情報作成部946は、符号化対象データ用メモリ942から低域符号化対象データを読み出し、各上位データが0であるかどうかを確認してパターン情報821を生成する。ビットストリーム生成部947は、パターン情報821、低域符号化データ、低域フレックスビットの順に出力することにより、低域成分ストリーム82を生成する。
【0012】
図11は、符号化部94における各データの処理タイミングを示すタイムチャートである。たとえば、符号化部94が低域量子化データを処理する場合、パターン情報作成部946が、期間t8〜t10において符号化対象用データメモリ942から低域符号化対象データを読み出し、期間t9〜t11においてパターン情報821を生成する。これは、パターン情報821が符号化データおよびフレックスビットで生成されるストリームデータ822の前に配置されるため、パターン情報821を最初に生成する必要があるためである。
【0013】
エントロピー符号化部944は、期間t8〜t10において符号化対象データ用メモリ942にアクセスできず、待機状態となる。エントロピー符号化部944は、パターン情報作成部946が低域符号化対象データの読み出しを終了した時刻t11から、低域符号化対象データの読み出しを開始する。同様に、パターン情報作成部946が直流符号化対象データを読み出す期間t4〜t6、高域符号化対象データを読み出す期間t12〜t14においても、エントロピー符号化部944に待機時間が発生する。
【0014】
また、パターン情報作成部946は、エントロピー符号化部944から符号化対象データを読み出す期間(t6〜t8、t10〜t12、t15〜t17)に符号化対象データ用メモリ942にアクセスできないため、待機状態となる。
【0015】
このように、符号化部94を有する画像圧縮装置では、エントロピー符号化部944およびパターン情報946に待機時間が発生するために、ビットストリーム80の生成に遅延が発生するという問題があった。
【0016】
そこで、本発明は前記問題点に鑑み、静止画像データの圧縮処理の効率を向上することができる画像圧縮装置を提供することを目的とする。
【課題を解決するための手段】
【0017】
上記課題を解決するため、請求項1記載の発明は、画像圧縮装置であって、オリジナル画像データをマクロブロック単位で周波数変換して周波数変換データを作成する周波数変換部と、前記周波数変換データを量子化して量子化データを作成する量子化部と、前記量子化データから符号化データを生成し、前記符号化データを含むストリームデータを出力する符号化部と、を備え、前記符号化部は、前記量子化データからエントロピー符号化の対象となる符号化対象データを抽出する抽出部と、前記抽出部により抽出された前記符号化対象データを記憶する記憶部と、前記記憶部から前記符号化対象データを読み出し、読み出した前記符号化対象データをエントロピー符号化して前記符号化データを生成するエントロピー符号化部と、前記符号化対象データを前記抽出部から取得し、前記符号化対象データの値が0であるかどうかを示すパターン情報を作成するパターン情報作成部と、前記パターン情報と前記符号化データとを所定の順序で出力することにより、前記ストリームデータを出力する出力部と、を含むことを特徴とする。
【0018】
請求項2記載の発明は、請求項1に記載の画像圧縮装置において、前記エントロピー符号化部は、第1マクロブロックに対応する第1符号化対象データをエントロピー符号化した後で第2マクロブロックに対応する第2符号化対象データをエントロピー符号化し、前記パターン情報作成部は、前記第1符号化対象データがエントロピー符号化されている期間において、前記第2符号化対象データに対応するパターン情報を作成することを特徴とする。
【0019】
請求項3記載の発明は、請求項1または請求項2に記載の画像圧縮装置において、前記パターン情報作成部は、前記パターン情報を格納するパターン情報記憶部、を含むことを特徴とする。
【0020】
請求項4記載の発明は、請求項1に記載の画像圧縮装置において、前記抽出部は、前記量子化データから前記符号化対象データ以外のデータを付加データとして抽出する付加データ抽出部、を含み、前記符号化部は、前記付加データに含まれる複数のデータを所定の順序で配列した配列データを生成する下位データ処理部、を含み、前記出力部は、前記パターン情報と前記符号化データと前記配列データとを所定の順序で出力することにより、前記ストリームデータを出力することを特徴とする。
【0021】
請求項5記載の発明は、請求項1または請求項2に記載の画像圧縮装置において、前記周波数変換部は、前記オリジナル画像データを周波数変換して、第1直流成分データと、第1交流成分データとを生成する第1階層変換部と、前記第1直流成分データを周波数変換して、第2直流成分データと、第2交流成分データとを生成する第2階層変換部と、を含み、前記周波数変換部は、前記第2直流成分データと、前記第1交流成分データと、前記第2交流データとを前記周波数変換データとして出力することを特徴とする。
【発明の効果】
【0022】
本発明に係る画像圧縮装置において、パターン情報作成部は、量子化データから抽出された符号化対象データを抽出部から直接取得する。これにより、パターン情報が作成される際に発生するエントロピー符号化部の待機状態が解消されるため、本発明に係る画像圧縮装置は、効率的にオリジナル画像データを圧縮することができる。
【0023】
また、本発明に係る画像圧縮装置において、パターン情報作成部は、エントロピー符号化部が第1符号化対象データを処理している間に、第2符号化対象データに対応するパターン情報を生成する。これにより、エントロピー符号化部は、第2符号化対象データに対応するパターン情報の生成を待つことなく、第2符号化対象データの処理を開始することができる。したがって、本発明に係る画像圧縮装置は、さらに効率的にオリジナル画像データを圧縮することができる。
【0024】
また、本発明に係る画像圧縮装置において、パターン情報記憶部は、パターン情報作成部が作成したパターン情報作成部を格納する。これにより、パターン情報作成部は、ストリームデータの出力を待つことなく、次のパターン情報を作成することができる。したがって、本発明に係る画像圧縮装置は、さらに効率的にオリジナル画像データを圧縮することができる。
【発明を実施するための最良の形態】
【0025】
以下、図面を参照しつつ本発明の実施の形態について説明する。図1は、本実施の形態に係る画像圧縮装置1の構成を示すブロック図である。図1に示す画像圧縮装置1は、静止画像データをHD Photo形式の圧縮画像データに変換する装置である。画像圧縮装置1は、周波数変換部11、12と、量子化部13と、符号化部14とを備える。
【0026】
周波数変換部11は、画像圧縮装置1が入力した静止画像データに対して、第1階層の周波数変換を実行し、第1階層の直流成分データDa01〜Da16(図3参照)と、第1階層の交流成分データHP01〜HP16(図3参照)を出力する。第1階層の交流成分データHP01〜HP16は、HD Photo形式における「Highpass」成分に対応する。以下では、第1階層の交流成分データを高域成分データと呼ぶ。
【0027】
周波数変換部12は、周波数変換部11が出力した第1階層の直流成分データDa01〜Da16に対して周波数変換を実行し、第2階層の直流成分データDb(図4参照)と、第2階層の交流成分データLP(図4参照)とを出力する。
【0028】
第2階層の直流成分データDbは、HD Photo形式における直流成分に対応する。第2階層の交流成分データLPは、HD Photo形式における「Lowpass」成分に対応する。以下では、第2階層の直流成分データDbを単に直流成分データDbと呼び、第2階層の交流成分データLPを低域成分データLPと呼ぶ。
【0029】
量子化部13は、直流成分データDb、低域成分データLP、高域成分データHP01〜HP16に対する量子化処理、予測符号化処理を実行して量子化データを生成する。量子化データには、各成分データに対応する直流量子化データ、低域量子化データ、高域量子化データが含まれる。
【0030】
符号化部14は、量子化データに対するエントロピー符号化処理などを実行し、圧縮画像データを生成する。圧縮画像データは、1マクロブロック単位のビットストリーム80として出力される。なお、符号化部14は、画像圧縮装置1における特徴部分であり、詳細については後述する。
【0031】
以下、画像圧縮装置1における静止画像データの圧縮処理の流れについて説明する。なお、以下に説明する処理は、色チャンネルについての言及がない限り、各色チャンネルで共通である。
【0032】
画像圧縮装置1に入力された静止画像データは、図示しない前処理部において、色変換処理、フィルタ処理などが行われる。静止画像データは、RGB形式の場合、色変換によりYUV444形式に変換される。
【0033】
周波数変換部11は、前処理が行われた静止画像データに対してブロック単位で周波数変換を行い、第1階層の直流成分データDa01〜Da16および高域成分データHP01〜HP16を生成する。第1階層の直流成分データDa01〜Da16および高域成分データHP01〜HP16は、1マクロブロック単位で出力される。
【0034】
図2は、マクロブロックの構成を示す図である。図2に示すように、1ブロックは、4×4の画素(16画素)で構成される。1マクロブロックは、4×4のブロック(16ブロック)で構成される。つまり、1マクロブロックは、16×16の画素(256画素)で構成される。図2において、マクロブロックを構成する各ブロックを、左上から右方向に順に、ブロックB01、B02・・・B16とする。
【0035】
図3は、第1階層の直流成分データDa01〜Da16と高域成分データHP01〜HP16とを示す概念図である。図3に示すように、ブロックごとに第1階層の直流成分データDa01〜Da16と、高域成分データHP01〜HP16が生成されている。高域成分データHP01〜HP16は、ブロックB01〜B16にそれぞれ対応する。第1階層の直流成分データDa01〜Da16は、1個の変換係数データを有している。高域成分データHP01〜HP16は、それぞれ15個の変換係数データを有している。
【0036】
次に、周波数変換部12が、第1階層の直流成分データDa01〜Da16を抽出し、第1階層の直流成分データDa01〜Da16に対して、第2階層の周波数変換を実行する。図4は、第2階層の周波数変換に伴うデータの変化を示す図である。第2階層の周波数変換により、直流成分データDbと、低域成分データLPとが生成される。直流成分データDbは、1個の変換係数データを有しており、低域成分データLPは、15個の変換係数データを有している。
【0037】
このように、静止画像データに対して第1階層の周波数変換が実行され、第1階層の直流成分データDa01〜Da16に対して第2階層の周波数変換が実行される。このように、画像圧縮装置1は、静止画像データに対する周波数変換をマクロブロック単位で階層的に実行して、直流成分データDb、低域成分データLP、高域成分データHP01〜HP16を生成する。
【0038】
量子化部13は、直流成分データDb、低域成分データLP、高域成分データHP01〜HP16のそれぞれが有する変換係数データに対して、それぞれ量子化および予測符号化を実行する。これにより、1マクロブロック単位の量子化データが生成される。量子化データは、直流成分データDb、低域成分データLP、高域成分データHP01〜HP16に対応する直流量子化データ、低域量子化データ、高域量子化データを含む。
【0039】
符号化部14は、量子化データから各成分に対応する符号化対象データおよび付加データを抽出する。符号化対象データは、エントロピー符号化の対象となるデータであり、直流符号化対象データ、低域符号化対象データ、高域符号化対象データを含む。付加データは、符号化データに付加されるフレックスビットの生成に用いられるデータであり、直流付加データ、低域付加データ、高域付加データを含む。
【0040】
符号化部14は、各成分の符号化対象データをエントロピー符号化して、直流符号化データ、低域符号化データ、高域符号化データを生成する。各成分の付加データから直流フレックスビット、低域フレックスビット、高域フレックスビットが生成される。また、符号化部14は、各成分の符号化対象データの値が0であるかどうかを示すパターン情報811、821、831を生成する。
【0041】
符号化部14は、各成分のパターン情報、各成分の符号化データ、各成分のフレックスビットを所定の順序で出力して、1マクロブロックに対応するビットストリーム80を生成する。ビットストリーム80が連続して出力されることにより、圧縮画像データが画像圧縮装置から出力される。
【0042】
次に、本発明の特徴部分である符号化部14について詳しく説明する。
【0043】
図5は、符号化部14の構成を示すブロック図である。符号化部14は、抽出部141と、符号化対象データ用メモリ142と、付加データ用メモリ143と、エントロピー符号化部144と、付加データ処理部145と、パターン情報作成部146と、パターン情報バッファ147と、ビットストリーム生成部148とを備える。
【0044】
抽出部141は、量子化データから、各成分に対応する符号化対象データおよび付加データを抽出する。
【0045】
符号化対象データ用メモリ142は、抽出部141が抽出した符号化対象データを、シングルポートメモリ142a、142bのいずれかに格納する。付加データ用メモリ143は、抽出部141が抽出した付加データを、シングルポートメモリ143a、143bのいずれかに格納する。
【0046】
エントロピー符号化部144は、各成分の符号化対象データに対してエントロピー符号化を実行して、直流符号化データ、低域符号化データ、高域符号化データを生成する。付加データ処理部145は、各成分の付加データから、直流フレックスビット、低域フレックスビット、高域フレックスビットを生成する。
【0047】
パターン情報作成部146は、各成分の符号化対象データから、直流成分、低域成分、高域成分に対応するパターン情報811、821、831を生成する。パターン情報バッファ147は、パターン情報811、821、831を格納する。また、パターン情報作成部146は、符号化対象データ用メモリ942から符号化対象データを読み出す従来のパターン情報作成部946と異なり、抽出部141から各成分の符号化対象データを直接取得する。
【0048】
ビットストリーム生成部148は、各成分の符号化データ、フレックスビット、パターン情報を所定の順序で出力し、ビットストリーム80を生成する。
【0049】
以下、符号化部14の動作について、図6を用いて詳しく説明する。図6は、符号化部14におけるデータの処理タイミングを示すタイムチャートである。図6に示すように、符号化部14において、エントロピー符号化部144の処理と、パターン情報作成部146の処理とが並行して実行される。
【0050】
まず、符号化部14に、マクロブロックAに対応する量子化データが入力される。抽出部141は、マクロブロックAに対応する量子化データから各成分の符号化対象データおよび付加データを抽出する。
【0051】
たとえば、抽出部141は、低域量子化データが有する15個の量子化係数データから、下位から所定データ長の下位データを抽出し、15個の量子化係数データのうち下位データ以外の部分を上位データとして抽出する。抽出された15個の上位データが低域符号化対象データとなり、抽出された15個の下位データが低域付加データとなる。
【0052】
同様に、抽出部141は、直流量子化データから直流符号化対象データおよび直流付加データを抽出し、高域量子化データから高域符号化対象データおよび高域付加データを抽出する。なお、下位データのデータ長は、各色チャンネル、各成分によって異なっており、抽出部141に予め設定されている。
【0053】
抽出部141は、期間t1〜t3において、マクロブロックAに対応する符号化対象データを符号化対象データ用メモリ142およびパターン情報作成部146にそれぞれ出力する。マクロブロックAに対応する付加データが、付加データ用メモリ143に出力される。
【0054】
期間t2〜t4において、パターン情報作成部146は、入力された符号化対象データからマクロブロックAに対応するパターン情報811、821、831を作成する。つまり、マクロブロックAに対応する符号化対象データが、パターン情報作成部146に抽出部141から直接入力される。したがって、エントロピー符号化部144へのマクロブロックAに対応する符号化対象データの入力に伴う待機時間が、パターン情報作成部146に発生しない。
【0055】
パターン情報バッファ147は、マクロブロックAに対応する符号化データおよびフレックスビットが生成されるまでの間、マクロブロックAに対応するパターン情報811、821、831を記憶する。これは、マクロブロックAに対応するパターン情報811、821、831の作成が終了した時点(時刻t4)において、マクロブロックAに対応する符号化データが作成されていないためである。
【0056】
期間t2〜t4において、符号化対象データ用メモリ142のシングルポートメモリ142aにマクロブロックAに対応する符号化対象データが書き込まれる。期間t4〜t7において、エントロピー符号化部144は、マクロブロックAに対応する直流符号化対象データ、低域符号化対象データ、高域符号化対象データを順次読み出す。パターン情報作成部146がマクロブロックAに対応する符号化対象データを抽出部141から直接取得するため、エントロピー符号化部144には、待機時間は発生しない。
【0057】
エントロピー符号化部144は、直流符号化対象データをエントロピー符号化して直流符号化データを生成する。同様に、低域符号化対象データおよび高域符号化対象データから、低域符号化データおよび高域符号化データが生成される。生成された直流符号化データ、低域符号化データ、高域符号化データは、ビットストリーム生成部148に順次出力される。
【0058】
なお、エントロピー符号化部144は、高域符号化対象データをエントロピー符号化する際に、高域符号化対象データが有する上位データをブロック単位で並び替える。図7は、高域符号化対象データにおけるデータの並び替えの様子を示す図である。
【0059】
図7(a)に示すように、並び替えが行われる前の状態では、高域符号化対象データの上位データは、ブロック番号順で並んでいる。エントロピー符号化部144は、各ブロックの並び替え順序を示す順序情報を予め保持しており、順序情報に基づいて高域符号化対象データの上位データをブロック単位で並び替える。この結果、高域符号化対象データの上位データは、図7(b)に示す順序に配列される。高域符号化対象データにおけるデータの並び替えの順序は、上位データの値などに基づいて変更されず、常に一定である。なお、高域符号化対象データにおけるデータの並び替えは、各色チャンネルで共通である。
【0060】
図6には示していないが、期間t2〜t4において、付加データ用メモリのシングルポートメモリ143aにマクロブロックAに対応する付加データが書き込まれる。時刻t4〜t7において、付加データ処理部145は、各成分の付加データに含まれる下位データを所定の順序で配列して、各成分のフレックスビットを生成する。なお、付加データ処理部145は、エントロピー符号化部144が保持する順序情報と同一の順序情報を保持している。付加データ処理部145は、上述した高域符号化対象データの並び替えと同様に、順序情報に基づいて高域付加データが有する下位データをブロック単位で並び変える。
【0061】
ビットストリーム生成部148は、マクロブロックAに対応するパターン情報811、直流符号化データ、直流フレックスビットを出力することにより、直流成分ストリーム81を出力する。同様に低域成分ストリーム82、高域成分ストリーム83が出力されることにより、マクロブロックAに対応するビットストリーム80が符号化部14から出力される。
【0062】
このように、エントロピー符号化部144がシングルポートメモリ142aからマクロブロックAに対応する符号化対象データを取得するのに対し、パターン情報作成部146は、マクロブロックAに対応する符号化対象データを抽出部141から直接取得する。したがって、エントロピー符号化部144に待機時間が発生しない。また、エントロピー符号化部144がマクロブロックAに対応する符号化対象データのエントロピー符号化を開始する前に、マクロブロックAに対応するパターン情報811、821、831の作成が終了している。このため、符号化部14は、マクロブロックAに対応するビットストリーム80を効率よく出力することができる。
【0063】
次に、符号化部14には、マクロブロックAに対応する量子化データの入力の後で、マクロブロックBに対応する量子化データが続けて入力される。抽出部141は、マクロブロックBに対応する量子化データから、符号化対象データおよび付加データを抽出する。
【0064】
期間t3〜t6において、マクロブロックBに対応する符号化対象データが、符号化対象データ用メモリ142およびパターン情報作成部146に出力される。同時に、付加データ用メモリ143に、マクロブロックBに対応する付加データが出力される。
【0065】
期間t4〜t7において、パターン情報作成部146は、マクロブロックBに対応するパターン情報811、821、831を作成する。パターン情報作成部146にマクロブロックAに対応する符号化対象データが入力された後に続いて、マクロブロックBに対応する符号化対象データが入力されるため、パターン情報作成部146に待機時間は発生しない。
【0066】
期間t4〜t7において、符号化対象データ用メモリ142のシングルポートメモリ142bに、マクロブロックBに対応する符号化対象データが書き込まれる。エントロピー符号化部144は、時刻t7から、マクロブロックBに対応する符号化対象データの読み出しを開始する。なお、時刻t7は、マクロブロックAに対応する符号化対象データの読み出しが完了した時刻である。つまり、エントロピー符号化部144は、マクロブロックBに対応する符号化対象データの処理を開始するにあたり、待機時間は発生しない。エントロピー符号化部144は、時刻t8からマクロブロックBに対応する符号化対象データのエントロピー符号化を開始する。
【0067】
図6に示していないが、期間t4〜t7において、付加データ用メモリ143のシングルポートメモリ143bに、マクロブロックAに対応する付加データが書き込まれる。付加データ処理部145は、シングルポートメモリ143bからマクロブロックBに対応する付加データの読み出しを時刻t7から開始し、マクロブロックBに対応するフレックスビットの生成を時刻t8から開始する。
【0068】
ビットストリーム生成部148は、マクロブロックBに対応するビットストリーム80を、マクロブロックAに対応するビットストリーム80の後に続けて出力する。
【0069】
以下、図6に示していないが、符号化部14は、マクロブロックBに対応する量子化データの処理の後に、他のマクロブロックに対応する量子化データの処理を実行する。これにより、各マクロブロックに対応するビットストリーム80が連続的に生成され、圧縮画像データが画像圧縮装置から出力される。
【0070】
また、図6に示すように、パターン情報作成部146は、エントロピー符号化部144がマクロブロックAに対応する符号化対象データの処理をしている間に、マクロブロックBに対応するパターン情報811、821、831を作成する。このため、エントロピー符号化部144は、マクロブロックAに対応する符号化対象データのエントロピー符号化の後で、直ちにマクロブロックBに対応する符号化対象データの処理を開始できる。したがって、符号化部14は、各マクロブロックに対応するビットストリーム80を効率よく生成することができる。
【0071】
以下、パターン情報811、821、831の詳細および作成について説明する。
【0072】
直流成分に対応するパターン情報811は、各チャンネルの直流符号化対象データが0であるかどうかを示すパターン値を有している。パターン情報811のデータ長は、3ビットであり(図9参照)、各ビットは、各色チャンネルのパターン値に対応する。
【0073】
パターン情報作成部146は、パターン情報811の各ビットに対応する記憶領域を保持している。パターン情報作成部146は、直流符号化対象データが入力された場合、直流符号化対象データが有する上位データの値を色チャンネルごとに確認する。パターン情報作成部146は、上位データの値が0である場合に対応するアドレスの記憶領域にパターン値として0を書き込み、0でない場合に対応するアドレスの記憶領域に1を書き込む。記憶領域に書き込まれたデータが、パターン情報811としてパターン情報バッファ147に格納される。
【0074】
低域成分に対応するパターン情報821は、各チャンネルの低域符号化対象データが0であるかどうかを示すパターン値を有している。パターン情報821のデータ長は、3ビットであり(図9参照)。各ビットは、各色チャンネルのパターン値に対応する。
【0075】
パターン情報作成部146は、パターン情報821の各ビットに対応する記憶領域を保持している。パターン情報作成部146は、低域符号化対象データが入力された場合、低域符号化対象データが有する15個の上位データの値を色チャンネルごとに確認する。パターン情報作成部146は、15個の上位データの値が全て0である場合、対応するアドレスの記憶領域にパターン値として0を書き込み、0でない上位データを確認した場合に対応するアドレスの記憶領域に1を書き込む。記憶領域に格納されたデータが、パターン情報821としてパターン情報バッファ147に格納される。
【0076】
高域成分に対応するパターン情報831は、各チャンネルに対応する高域符号化対象データの上位データが0であるかどうかをブロック単位で示す情報である。パターン情報831のデータ長は、48ビットであり、マクロブロックを構成するブロックごとに各色チャンネルに対応する3ビットが割り当てられる。
【0077】
パターン情報作成部146は、パターン情報831の各ビットに対応する記憶領域を保持している。パターン情報作成部146は、高域符号化対象データが有する上位データをブロック単位で参照する。各ブロックに対応する上位データが全て0である場合、対応するアドレスの記憶領域にパターン値として0が書き込まれる。各ブロックに0でない上位データが存在する場合、対応するアドレスの記憶領域に1が書き込まれる。このような処理が、色チャンネルごとに実行される。パターン情報作成部146は、パターン情報831のパターン値を全て記憶領域に書き込んだ後で、記憶領域に書き込まれたデータをエントロピー符号化する。エントロピー符号化されたデータが、パターン情報831としてパターン情報バッファに格納される。
【0078】
上述したように、高域符号化対象データが有する上位データは、エントロピー符号化部144においてブロック単位で並び替えられる。このため、パターン情報作成部146は、高域符号化対象データの並び替えに応じて、各ブロックに対応するパターン値の配列を変更する。
【0079】
図8は、パターン情報831の記憶領域のアドレスと、ブロック番号との対応関係を示す図である。パターン情報作成部146は、48ビット分の記憶領域をパターン情報831の作成のために有している。アドレスA01〜A16がYチャンネル、アドレスA17〜A32がUチャンネル、アドレスA33〜48がVチャンネルに対応する。また、パターン値を記憶する記憶領域のアドレスと、並び替え後のブロック番号とが対応付けられている。たとえば、A01、A17、A33はブロックB01に対応し、A02、A18、A34はブロックB04に対応する。
【0080】
パターン情報作成部146は、YチャンネルのブロックB01に対応する上位データが入力された場合、入力された上位データの値に応じたパターン値をアドレスA01に書き込む。YチャンネルのブロックB02に対応する上位データが入力された場合、入力された上位データの値に応じたパターン値がアドレスA15に書き込まれる。このように、各ブロックの上位データの値に応じたパターン値が、指定されたアドレスに書き込まれる。
【0081】
パターン情報作成部146は、全てのブロックのパターン値を記憶領域に書き込んだ後でアドレスA01からパターン値を順次読み出す。これにより、各ブロックに対応するパターン値が、高域符号化対象データのブロック単位の並び替えに応じた順序に配列される。読み出されたパターン値がエントロピー符号化され、パターン情報831としてパターン情報バッファ147に格納される。
【0082】
以上説明したように、本実施の形態に係る画像圧縮装置1において、量子化データから抽出された符号化対象データが、符号化対象データ用メモリ142とパターン情報作成部146に並列的に入力される。つまり、従来では、パターン情報作成部946が符号化対象データ用メモリ942から符号化対象データを取得していたが、本実施の形態では、パターン情報作成部146が抽出部141から符号化対象データを直接取得する。このため、パターン情報作成部146が符号化対象データを取得するときに、エントロピー符号化部144には、パターン情報811、821、831の生成に伴う待機時間が発生しない。したがって、エントロピー符号化部144は、効率よく符号化対象データをエントロピー符号化することができる。
【0083】
なお、本実施の形態において、符号化部14は、直流フレックスビット、低域フレックスビットを生成しなくてもよい。つまり、直流成分ストリーム81、低域成分ストリーム82に直流フレックスビット、低域フレックスビットが含まれていなくてもよい。
【図面の簡単な説明】
【0084】
【図1】本発明の実施の形態に係る画像圧縮装置の構成を示すブロック図である。
【図2】静止画像データの処理単位であるブロック、マクロブロックを示す図である。
【図3】高域成分データおよび第1階層の直流成分データを示す図である。
【図4】低域成分データ第2階層の直流成分データおよびの生成手順を示す図である。
【図5】本発明の実施の形態に係る符号化部の構成を示す図である。
【図6】本発明の実施の形態に係る符号化部における処理タイミングを示す図である。
【図7】高域符号化対象データおよび高域付加データの並び替えを示す図である。
【図8】パターン情報の記憶領域のアドレスとブロック番号との対応関係を示す図である。
【図9】HD Photo形式におけるビットストリームの構成の概略図である。
【図10】従来の画像圧縮装置における符号化部の構成を示す図である。
【図11】従来の画像圧縮装置における符号化部の処理タイミングを示す図である。
【符号の説明】
【0085】
1 画像圧縮装置
11、12 周波数変換部
13 量子化部
14 符号化部
141 抽出部
142 符号化対象データ用メモリ
143 付加データ用メモリ
144 エントロピー符号化部
145 付加データ処理部
146 パターン情報作成部
147 パターン情報バッファ
148 ビットストリーム生成部

【特許請求の範囲】
【請求項1】
オリジナル画像データをマクロブロック単位で周波数変換して周波数変換データを作成する周波数変換部と、
前記周波数変換データを量子化して量子化データを作成する量子化部と、
前記量子化データから符号化データを生成し、前記符号化データを含むストリームデータを出力する符号化部と、
を備え、
前記符号化部は、
前記量子化データからエントロピー符号化の対象となる符号化対象データを抽出する抽出部と、
前記抽出部により抽出された前記符号化対象データを記憶する記憶部と、
前記記憶部から前記符号化対象データを読み出し、読み出した前記符号化対象データをエントロピー符号化して前記符号化データを生成するエントロピー符号化部と、
前記符号化対象データを前記抽出部から取得し、前記符号化対象データの値が0であるかどうかを示すパターン情報を作成するパターン情報作成部と、
前記パターン情報と前記符号化データとを所定の順序で出力することにより、前記ストリームデータを出力する出力部と、
を含むことを特徴とする画像圧縮装置。
【請求項2】
請求項1に記載の画像圧縮装置において、
前記エントロピー符号化部は、第1マクロブロックに対応する第1符号化対象データをエントロピー符号化した後で第2マクロブロックに対応する第2符号化対象データをエントロピー符号化し、
前記パターン情報作成部は、前記第1符号化対象データがエントロピー符号化されている期間において、前記第2符号化対象データに対応するパターン情報を作成することを特徴とする画像圧縮装置。
【請求項3】
請求項1または請求項2に記載の画像圧縮装置において、
前記パターン情報作成部は、
前記パターン情報を格納するパターン情報記憶部、
を含むことを特徴とする画像圧縮装置。
【請求項4】
請求項1に記載の画像圧縮装置において、
前記抽出部は、
前記量子化データから前記符号化対象データ以外のデータを付加データとして抽出する付加データ抽出部、
を含み、
前記符号化部は、
前記付加データに含まれる複数のデータを所定の順序で配列した配列データを生成する下位データ処理部、
を含み、
前記出力部は、前記パターン情報と前記符号化データと前記配列データとを所定の順序で出力することにより、前記ストリームデータを出力することを特徴とする画像圧縮装置。
【請求項5】
請求項1または請求項2に記載の画像圧縮装置において、
前記周波数変換部は、
前記オリジナル画像データを周波数変換して、第1直流成分データと、第1交流成分データとを生成する第1階層変換部と、
前記第1直流成分データを周波数変換して、第2直流成分データと、第2交流成分データとを生成する第2階層変換部と、
を含み、
前記周波数変換部は、前記第2直流成分データと、前記第1交流成分データと、前記第2交流データとを前記周波数変換データとして出力することを特徴とする画像圧縮装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate