(57)【要約】【課題】精密にレートコントロールできるイメージ圧縮を提供する。【解決手段】イメージ圧縮デバイスは、Ｙ、Ｃｂ、Ｃｒを保存するメモリ２０１ａ、データを出力するイメージフォーマット部２０２、データの離散コサイン変換係数を出力する離散コサイン変換部２０３、再整列した変換データを出力する再整列部２０４、マクロブロックのエッジ成分の積分値の比率を保存するビットデータ保存部２０６、スケーリングファクターを固定するスケーリングファクター発生器２０７、ブロック別離散コサイン変換係数の量子化部２０５、量子化された係数のコーディングビット予測部２０８、量子化された係数を保存するバッファ２０９、割り当てビット量と予測ビット量を比較する係数選択器２１０、保存される係数の可変長コーダー２１１、及び残ったビット量を計算し、発生器２０７に出力するビットカウンター２１２を含む。【選択図】        図２−ａ
2007049680.tif 000002
【特許請求の範囲】
【請求項１】
映像信号データが入力され、該入力された映像信号データを保存するメモリ、
前記メモリを内蔵し、前記入力された映像信号データを所定大きさの複数のブロックにブロック化して出力するイメージフォーマット部、
前記イメージフォーマット部から入力された各ブロックに対して離散コサイン変換を行い、離散コサイン変換係数を出力する離散コサイン変換部、
前記離散コサイン変換部から入力された各ブロックに対し、離散コサイン変換係数を低周波成分から高周波成分に再整列して出力する再整列部、
前記入力された映像信号データのうち所定信号データのエッジ成分を抽出し、フレーム全体のエッジ成分を積分した値に対するマクロブロックのエッジ成分を積分した値の比率を測定し、これによって計算されたビットデータを保存するビットデータ保存部、
使用者が選択した画質モードデータ及び前記ビットデータ保存部に保存されたビットデータが入力されて前記マクロブロックにビット量を割り当て、それによってスケーリングファクターを固定するスケーリングファクター発生器、
前記再整列部から入力されたブロック別の離散コサイン変換係数に対し、前記スケーリングファクター発生器から固定されたスケーリングファクターによって量子化する量子化部、
前記量子化部によって量子化された離散コサイン変換係数が入力され、該離散コサイン変換係数をコーディングするときのビット量を予測するコーディングビット予測部、
前記量子化部によって量子化された離散コサイン変換係数を保存するバッファ、
前記バッファに保存された離散コサイン変換係数の絶対値を比較し、前記スケーリングファクター発生器で割り当てられたビット量と前記コーディングビット予測部で予測されたビット量とを比較する係数選択器、
前記バッファに保存された離散コサイン変換係数を可変長コーディングして出力する可変長コーダー、及び
前記スケーリングファクター発生器で割り当てられたビット量のうち、可変長コーディング後に残ったビット量を計算し、該計算されたビット量をスケーリングファクター発生器に出力するビットカウンター
を含むイメージ圧縮デバイス。
【請求項２】
前記メモリは、前記入力された映像信号データがフレーム別に保存されるフレームメモリであり、
前記イメージフォーマット部は、前記フレームメモリを内蔵して前記入力された映像信号データをフレーム別に区別した後、その区別された各フレームに対して所定大きさの複数のブロックにブロック化して出力することを特徴とする請求項１に記載のイメージ圧縮デバイス。
【請求項３】
前記メモリは、前記入力された映像信号データが１６×Ｎ（Ｎ：正の整数）行のスライス別に保存されるスライスメモリであり、
前記イメージフォーマット部は、前記スライスメモリを内蔵して前記入力された映像信号データをスライス別に区別した後、その区別された各スライスに対して所定大きさの複数のブロックにブロック化して出力することを特徴とする請求項１に記載のイメージ圧縮デバイス。
【請求項４】
前記映像信号データは、Ｙ、Ｃｂ、Ｃｒ信号データによって構成されることを特徴とする請求項１に記載のイメージ圧縮デバイス。
【請求項５】
前記メモリは、前記Ｙ、Ｃｂ、Ｃｒ信号データを４：２：２の割合でフォーマットして保存することを特徴とする請求項４に記載のイメージ圧縮デバイス。
【請求項６】
前記メモリは、前記Ｙ、Ｃｂ、Ｃｒ信号データを４：２：０または４：１：１の割合でフォーマットして保存することを特徴とする請求項４に記載のイメージ圧縮デバイス。
【請求項７】
前記イメージフォーマット部の所定大きさの複数のブロックは、８×８ピクセル大きさの４個のＹ信号ブロック、２個のＣｂ信号ブロック及び２個のＣｒ信号ブロックであることを特徴とする請求項５に記載のイメージ圧縮デバイス。
【請求項８】
前記イメージフォーマット部の所定大きさの複数のブロックは、８×８ピクセル大きさの４個のＹ信号ブロック、１個のＣｂ信号ブロック及び１個のＣｒ信号ブロックであることを特徴とする請求項６に記載のイメージ圧縮デバイス。
【請求項９】
前記ビットデータ保存部の所定の信号データは、Ｙ信号データであることを特徴とする請求項４に記載のイメージ圧縮デバイス。
【請求項１０】
前記ビットデータ保存部及び前記スケーリングファクター発生器での前記マクロブロックは、８×８ピクセル大きさの４個のＹ信号ブロックであることを特徴とする請求項９に記載のイメージ圧縮デバイス。
【請求項１１】
前記係数選択器は、前記スケーリングファクター発生器で割り当てられたビット量が前記コーディングビット予測部で予測されたビット量より小さい場合、前記絶対値が小さい複数の離散コサイン変換係数を０に変換することを特徴とする請求項１に記載のイメージ圧縮デバイス。
【請求項１２】
映像信号データが入力され、該入力された映像信号データを保存するデータ保存段階、
前記データ保存段階で入力された映像信号データを所定大きさの複数のブロックにブロック化して出力するデータ出力段階、
前記データ出力段階で出力された各ブロックに対して離散コサイン変換を行い、離散コサイン変換係数を出力する離散コサイン変換段階、
前記離散コサイン変換段階で出力されたブロック別離散コサイン変換係数を低周波成分から高周波成分に再整列して出力する再整列段階、
前記データ保存段階で入力された映像信号データのうち所定信号データのエッジ成分を抽出し、フレーム全体のエッジ成分を積分した値に対するマクロブロックのエッジ成分を積分した値の比率を測定し、これによって計算されたビットデータを保存するビットデータ保存段階、
前記ビットデータ保存段階で保存されたビットデータ及び使用者が選択した画質モードデータが入力されて前記マクロブロックにビット量を割り当て、これによってスケーリングファクターを固定するビット量割当段階、
前記再整列段階で出力されたブロック別離散コサイン変換係数に対し、前記ビット量割当段階で固定されたスケーリングファクターによって量子化する量子化段階、
前記量子化段階で量子化された離散コサイン変換係数が入力され、該離散コサイン変換係数をコーディングするときのビット量を予測するコーディングビット予測段階、
前記量子化段階で量子化された離散コサイン変換係数を保存し、該保存された離散コサイン変換係数の絶対値を比較し、前記ビット量割当段階で割り当てられたビット量と前記コーディングビット予測段階で予測されたビット量とを比較するビット量判断段階、
前記ビット量判断段階で保存された離散コサイン変換係数を可変長コーディングして出力する可変長コーディング段階、及び
前記ビット量割当段階で割り当てられたビット量のうち、可変長コーディングを行った後で残ったビット量を計算するビットデータ計算段階
を含むイメージ圧縮方法。
【請求項１３】
前記データ保存段階は、前記入力された映像信号データをフレーム別に保存し、
前記データ出力段階は、前記データ保存段階で入力された映像信号データをフレーム別に区別した後、その区別された各フレームに対して所定大きさの複数のブロックにブロック化して出力することを特徴とする請求項１２に記載のイメージ圧縮方法。
【請求項１４】
前記データ保存段階は、前記入力された映像信号データを１６×Ｎ（Ｎ：正の整数）行のスライス別に保存し、
前記データ出力段階は、前記データ保存段階で入力された映像信号データをスライス別に区別した後、その区別された各スライスに対して所定大きさの複数のブロックにブロック化して出力することを特徴とする請求項１２に記載のイメージ圧縮方法。
【請求項１５】
前記データ保存段階では、Ｙ、Ｃｂ、Ｃｒ信号データによって構成された映像信号データが入力されることを特徴とする請求項１２に記載のイメージ圧縮方法。
【請求項１６】
前記データ保存段階では、前記Ｙ、Ｃｂ、Ｃｒ信号データを４：２：２の割合でフォーマットして保存することを特徴とする請求項１５に記載のイメージ圧縮方法。
【請求項１７】
前記データ保存段階では、前記Ｙ、Ｃｂ、Ｃｒ信号データを４：２：０または４：１：１の割合でフォーマットして保存することを特徴とする請求項１５に記載のイメージ圧縮方法。
【請求項１８】
前記データ出力段階では、８×８ピクセル大きさの４個のＹ信号ブロック、２個のＣｂ信号ブロック及び２個のＣｒ信号ブロックをブロック化して出力することを特徴とする請求項１６に記載のイメージ圧縮方法。
【請求項１９】
前記データ出力段階では、８×８ピクセル大きさの４個のＹ信号ブロック、１個のＣｂ信号ブロック及び１個のＣｒ信号ブロックをブロック化して出力することを特徴とする請求項１７に記載のイメージ圧縮方法。
【請求項２０】
前記ビットデータ保存段階では、Ｙ信号データのエッジ成分を抽出することを特徴とする請求項１５に記載のイメージ圧縮方法。
【請求項２１】
前記ビットデータ保存段階及び前記ビット量割当段階は、８×８ピクセル大きさの４個のＹ信号ブロックによって構成された前記マクロブロックを基本単位にして行われることを特徴とする請求項２０に記載のイメージ圧縮方法。
【請求項２２】
前記ビット量判断段階は、前記ビット量割当段階で割り当てられたビット量が前記コーディングビット予測段階で予測されたビット量より小さい場合、前記絶対値が小さい複数の離散コサイン変換係数を０に変換するコーディングビット圧縮段階をさらに含むことを特徴とする請求項１２に記載のイメージ圧縮方法。
【請求項２３】
前記ビットデータ計算段階で残ったビット量が計算される場合、前記ビット量は、前記ビット量割当段階のデータとして入力されることを特徴とする請求項１２に記載のイメージ圧縮方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、イメージ圧縮デバイス及びその方法に関するものである。
【背景技術】
【０００２】
一般に、デジタルカメラ、携帯電話機などに装着されてデジタルカメラの機能を実現する映像機器は、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）またはＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）センサを通して入手された映像データをデジタルカメラや携帯電話機内で圧縮し、メモリに保存したり外部の保存デバイスに伝送したりする。
【０００３】
使用者が所定の形状を撮影するためにデジタルカメラ、携帯電話機、スマートフォン、ＰＤＡなどの映像機器のリリーズボタンを押すとき、前記映像機器は、瞬間的な停止映像を撮影した後、それをＪＰＥＧまたはＪＰＥＧ２０００などの方式で圧縮状態または圧縮しない状態でメモリに保存する。また、動映像撮影用デジタルキャムコーダは、使用者が録画モードを選択する間、連続的に入力される動映像をＭＰＥＧなどの方式で圧縮してメモリに保存する。
【０００４】
イメージプロセッサでのイメージ圧縮は、内部圧縮モジュールの量子化部の量子化パラメータを調整して行い、通常、精巧な画像を得るために圧縮比を低くする場合は、量子化パラメータを調整して量子化ステップを小さくし、精巧な画像を得られないとしても、圧縮比を高くしてデータ量を減少しようとする場合は、量子化ステップを大きくする。
【０００５】
しかしながら、上記の方式では、単純なイメージや複雑なイメージの全てが同等な量子化ステップの大きさを有するので、イメージ複雑度による加重値なしに圧縮するようになり、データ量を調整するにおいて問題が発生する。
【０００６】
すなわち、小さな圧縮比でも精巧な画像を得られる単純なイメージに対しては、メモリ容量を浪費することになり、データ量を多く要する複雑なイメージに対しては、それ以上のデータを割り当てられないので、データ量を調整するにおいて多くの問題が発生する。
【０００７】
上記の問題を解消するために、画面内の複雑度にしたがって、複雑なイメージ部分には、圧縮時にデータ量をより多く割り当て、単純なイメージ部分には、データ量を少なく割り当てる必要がある。
【０００８】
図１は、従来のイメージ圧縮デバイスの内部ブロック図であり、図１に示すように、従来のイメージ圧縮デバイスは、メモリ１０１、イメージフォーマット部１０２、離散コサイン変換部１０３、第１量子化部１０４、第２量子化部１０５、レートコントローラー１０６及び可変長コーダー１０７を含む。
【０００９】
まず、Ｙ、Ｃｂ、Ｃｒ信号からなる映像信号データがイメージフォーマット部１０２に入力されると、その入力された映像信号データは、該イメージフォーマット部１０２によって８×８大きさの複数のブロックにブロック化され、離散コサイン変換部１０３に出力される。
【００１０】
その後、離散コサイン変換部１０３は、前記イメージフォーマット部１０２から入力された各ブロックに対して離散コサイン変換を行い、周波数成分に対応する離散コサイン変換係数を出力した後、ジグザグスキャンでデータ整列を行い、該整列された離散コサイン変換係数をメモリに保存する。
【００１１】
このとき、フレーム当りの目標データ量を固定しようとする場合、第２量子化部１０５を追加的に備えてフレームを小領域に分割し、各小領域にデータ量を均一に割り当てる。
【００１２】
したがって、前記第２量子化部１０５は、前記均一に割り当てられたデータ量をレートコントローラー１０６に入力し、該レートコントローラー１０６は、予想されるスケーリングファクターによってエンコーディングされるデータ量を予めチェックした後、適切なスケーリングファクターを探す。
【００１３】
その後、前記第１量子化部１０４は、前記メモリ１０１から入力されたブロック別離散コサイン変換係数を、前記レートコントローラー１０６によって調整されたスケーリングファクターによって量子化する機能を行う。
【００１４】
一方、前記可変長コーダー（Ｖａｒｉａｂｌｅ  Ｌｅｎｇｔｈ  Ｃｏｄｅｒ）１０７は、前記第１量子化部１０４によって量子化された離散コサイン変換係数を可変長コーディングし、圧縮されたデータを出力する。
【００１５】
しかしながら、上述した従来のイメージ圧縮デバイス及びその方法では、イメージ複雑度と関係なしに、各小領域に均一なビット量が割り当てられるので、複雑なイメージを有する小領域の場合、信号対雑音比（Ｓ／Ｎ）が悪化するという問題点があった。
【００１６】
さらに、一層精密なレートコントロールのためには、複数個の第２量子化部を備えるべきであるという問題点があった。
【発明の開示】
【発明が解決しようとする課題】
【００１７】
本発明は、上記の問題点を解決するためになされたもので、ビットデータ保存部を追加することで、イメージ複雑度によってフレーム内の所定領域に割り当てられるデータ量を可変できるとともに、割り当てられたデータ量と実際のコーディングデータ量とを比較して圧縮することで、一層精密にレートコントロールできるイメージ圧縮デバイス及びその方法を提供することにある。
【課題を解決するための手段】
【００１８】
上述の目的を達成するための本発明に係る映像機器のイメージ圧縮デバイスは、映像信号データが入力され、該入力された映像信号データを保存するメモリ、前記メモリを内蔵し、前記入力された映像信号データを所定大きさの複数のブロックにブロック化して出力するイメージフォーマット部、前記イメージフォーマット部から入力された各ブロックに対して離散コサイン変換を行い、離散コサイン変換係数を出力する離散コサイン変換部、前記離散コサイン変換部から入力された各ブロックに対し、離散コサイン変換係数を低周波成分から高周波成分に再整列して出力する再整列部、前記入力された映像信号データのうち所定信号データのエッジ成分を抽出し、フレーム全体のエッジ成分を積分した値に対するマクロブロックのエッジ成分を積分した値の比率を測定し、これによって計算されたビットデータを保存するビットデータ保存部、使用者が選択した画質モードデータ及び前記ビットデータ保存部に保存されたビットデータが入力されて前記マクロブロックにビット量を割り当て、それによってスケーリングファクターを固定するスケーリングファクター発生器、前記再整列部から入力されたブロック別の離散コサイン変換係数に対し、前記スケーリングファクター発生器から固定されたスケーリングファクターによって量子化する量子化部、前記量子化部によって量子化された離散コサイン変換係数が入力され、該離散コサイン変換係数をコーディングするときのビット量を予測するコーディングビット予測部、前記量子化部によって量子化された離散コサイン変換係数を保存するバッファ、前記バッファに保存された離散コサイン変換係数の絶対値を比較し、前記スケーリングファクター発生器で割り当てられたビット量と前記コーディングビット予測部で予測されたビット量とを比較する係数選択器、前記バッファに保存された離散コサイン変換係数を可変長コーディングして出力する可変長コーダー、及び前記スケーリングファクター発生器で割り当てられたビット量のうち、可変長コーディング後に残ったビット量を計算し、該計算されたビット量をスケーリングファクター発生器に出力するビットカウンターを含む。
【００１９】
ここで、一実施形態では、前記メモリは、前記入力された映像信号データがフレーム別に保存されるフレームメモリであり、前記イメージフォーマット部は、前記フレームメモリを内蔵して前記入力された映像信号データをフレーム別に区別した後、その区別された各フレームに対して所定大きさの複数のブロックにブロック化して出力する。
【００２０】
また、一実施形態では、前記メモリは、前記入力された映像信号データが１６×Ｎ（Ｎ：正の整数）行のスライス別に保存されるスライスメモリであり、前記イメージフォーマット部は、前記スライスメモリを内蔵して前記入力された映像信号データをスライス別に区別した後、その区別された各スライスに対して所定大きさの複数のブロックにブロック化して出力する。
【００２１】
ここで、一実施形態では、前記映像信号データは、Ｙ、Ｃｂ、Ｃｒ信号データによって構成される。
【００２２】
また、一実施形態では、前記メモリは、前記Ｙ、Ｃｂ、Ｃｒ信号データを４：２：２の割合でフォーマットして保存することが好ましい。
【００２３】
また、一実施形態では、前記メモリは、前記Ｙ、Ｃｂ、Ｃｒ信号データを４：２：０または４：１：１の割合でフォーマットして保存することが好ましい。
【００２４】
ここで、一実施形態では、前記イメージフォーマット部の所定大きさの複数のブロックは、８×８ピクセル大きさの４個のＹ信号ブロック、２個のＣｂ信号ブロック及び２個のＣｒ信号ブロックである。
【００２５】
また、一実施形態では、前記イメージフォーマット部の所定大きさの複数のブロックは、８×８ピクセル大きさの４個のＹ信号ブロック、１個のＣｂ信号ブロック及び１個のＣｒ信号ブロックである。
【００２６】
また、一実施形態では、前記ビットデータ保存部の所定の信号データは、Ｙ信号データである。
【００２７】
ここで、一実施形態では、前記ビットデータ保存部及び前記スケーリングファクター発生器での前記マクロブロックは、８×８ピクセル大きさの４個のＹ信号ブロックである。
【００２８】
また、一実施形態では、前記係数選択器は、前記スケーリングファクター発生器で割り当てられたビット量が前記コーディングビット予測部で予測されたビット量より小さい場合、前記絶対値が小さい複数の離散コサイン変換係数を０に変換する。
【００２９】
一方、上記の目的を達成するための本発明に係る映像機器のイメージ圧縮方法は、映像信号データが入力され、該入力された映像信号データを保存するデータ保存段階、前記データ保存段階で入力された映像信号データを所定大きさの複数のブロックにブロック化して出力するデータ出力段階、前記データ出力段階で出力された各ブロックに対して離散コサイン変換を行い、離散コサイン変換係数を出力する離散コサイン変換段階、前記離散コサイン変換段階で出力されたブロック別離散コサイン変換係数を低周波成分から高周波成分に再整列して出力する再整列段階、前記データ保存段階で入力された映像信号データのうち所定信号データのエッジ成分を抽出し、フレーム全体のエッジ成分を積分した値に対するマクロブロックのエッジ成分を積分した値の比率を測定し、これによって計算されたビットデータを保存するビットデータ保存段階、前記ビットデータ保存段階で保存されたビットデータ及び使用者が選択した画質モードデータが入力されて前記マクロブロックにビット量を割り当て、これによってスケーリングファクターを固定するビット量割当段階、前記再整列段階で出力されたブロック別離散コサイン変換係数に対し、前記ビット量割当段階で固定されたスケーリングファクターによって量子化する量子化段階、前記量子化段階で量子化された離散コサイン変換係数が入力され、該離散コサイン変換係数をコーディングするときのビット量を予測するコーディングビット予測段階、前記量子化段階で量子化された離散コサイン変換係数を保存し、該保存された離散コサイン変換係数の絶対値を比較し、前記ビット量割当段階で割り当てられたビット量と前記コーディングビット予測段階で予測されたビット量とを比較するビット量判断段階、前記ビット量判断段階で保存された離散コサイン変換係数を可変長コーディングして出力する可変長コーディング段階、及び前記ビット量割当段階で割り当てられたビット量のうち、可変長コーディングを行った後で残ったビット量を計算するビットデータ計算段階を含む。
【００３０】
ここで、一実施形態では、前記データ保存段階は、前記入力された映像信号データをフレーム別に保存し、前記データ出力段階は、前記データ保存段階で入力された映像信号データをフレーム別に区別した後、その区別された各フレームに対して所定大きさの複数のブロックにブロック化して出力する。
【００３１】
また、一実施形態では、前記データ保存段階は、前記入力された映像信号データを１６×Ｎ（Ｎ：正の整数）行のスライス別に保存し、前記データ出力段階は、前記データ保存段階で入力された映像信号データをスライス別に区別した後、その区別された各スライスに対して所定大きさの複数のブロックにブロック化して出力する。
【００３２】
また、一実施形態では、前記データ保存段階において、Ｙ、Ｃｂ、Ｃｒ信号データによって構成された映像信号データが入力される。
【００３３】
ここで、一実施形態では、前記データ保存段階において、前記Ｙ、Ｃｂ、Ｃｒ信号データを４：２：２の割合でフォーマットして保存することが好ましい。
【００３４】
また、一実施形態では、前記データ保存段階において、前記Ｙ、Ｃｂ、Ｃｒ信号データを４：２：０または４：１：１の割合でフォーマットして保存することが好ましい。
【００３５】
ここで、一実施形態では、前記データ出力段階では、８×８ピクセル大きさの４個のＹ信号ブロック、２個のＣｂ信号ブロック及び２個のＣｒ信号ブロックをブロック化して出力する。
【００３６】
また、一実施形態では、前記データ出力段階では、８×８ピクセル大きさの４個のＹ信号ブロック、１個のＣｂ信号ブロック及び１個のＣｒ信号ブロックをブロック化して出力する。
【００３７】
また、一実施形態では、前記ビットデータ保存段階において、Ｙ信号データのエッジ成分を抽出する。
【００３８】
ここで、一実施形態では、前記ビットデータ保存段階及び前記ビット量割当段階は、８×８ピクセル大きさの４個のＹ信号ブロックによって構成された前記マクロブロックを基本単位にして行われる。
【００３９】
また、一実施形態では、前記ビット量判断段階は、前記ビット量割当段階で割り当てられたビット量が前記コーディングビット予測段階で予測されたビット量より小さい場合、前記絶対値が小さい複数の離散コサイン変換係数を０に変換するコーディングビット圧縮段階をさらに含む。
【００４０】
また、一実施形態では、前記ビットデータ計算段階で残ったビット量が計算される場合、前記ビット量は、前記ビット量割当段階のデータに入力される。
【発明の効果】
【００４１】
本発明に係るイメージ圧縮デバイス及びその方法によると、ビットデータ保存部を追加することで、イメージ複雑度によってフレーム内の所定領域に割り当てられるデータ量を可変にすることができるとともに、割り当てられたデータ量と実際のコーディングデータ量とを比較して圧縮することで、一層精密にレートコントロールできるという効果がある。
【発明を実施するための最良の形態】
【００４２】
以下、本発明の好ましい実施の形態に対し、図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００４３】
図２−ａ及び図２−ｂは、本発明に係るイメージ圧縮デバイスの内部ブロック図であり、図２−ａに示したイメージ圧縮デバイスは、フレームメモリ２０１ａ、イメージフォーマット部２０２、離散コサイン変換部２０３、再整列部２０４、ビットデータ保存部２０６、スケーリングファクター発生器２０７、量子化部２０５、コーディングビット予測部２０８、バッファ２０９、係数選択器２１０、可変長コーダー２１１及びビットカウンター２１２を含んでいる。図２−ｂに示したイメージ圧縮デバイスは、図２−ａに示したイメージ圧縮デバイスとほぼ同様であるが、図２−ａのフレームメモリ２０１ａの代わりにスライスメモリ２０１ｂを用いている。
【００４４】
図２−ａのイメージ圧縮デバイスは、大容量のフレームメモリ２０１ａを用いることで一層精密なレートコントロールが可能であり、図２−ｂのイメージ圧縮デバイスは、小容量のスライスメモリ２０１ｂのみでレートコントロールが可能であるという長所がある。
【００４５】
ここで、図２−ａのフレームメモリ２０１ａ及び図２−ｂのスライスメモリ２０１ｂにＹ、Ｃｂ、Ｃｒ信号データからなる映像信号データが入力されると、図２−ａのフレームメモリ２０１ａには、前記入力された映像信号データＹ、Ｃｂ、Ｃｒがフレーム別に保存され、図２−ｂのスライスメモリ２０１ｂには、前記入力された映像信号データＹ、Ｃｂ、Ｃｒが１６×Ｎ（Ｎ：正の整数）行のスライス別に保存される。
【００４６】
このとき、前記フレームメモリ２０１ａ及びスライスメモリ２０１ｂには、前記Ｙ、Ｃｂ、Ｃｒ信号データが４：２：２、４：２：０または４：１：１の割合でフォーマットされて保存される。
【００４７】
図２−ａのイメージフォーマット部２０２は、前記フレームメモリ２０１ａを内蔵して前記入力された映像信号データＹ、Ｃｂ、Ｃｒをフレーム別に区別した後、その区別された各フレームに対して所定大きさの複数のブロックにブロック化して出力する。また、図２−ｂのイメージフォーマット部２０２は、前記スライスメモリ２０１ｂを内蔵して前記入力された映像信号データＹ、Ｃｂ、Ｃｒをスライス別に区別した後、その区別された各スライスに対して所定大きさの複数のブロックにブロック化して出力する。
【００４８】
すなわち、図２−ａ及び図２−ｂに示したイメージフォーマット部２０２は、映像データＹ、Ｃｂ、Ｃｒを圧縮するのに適切な入力で動作するように、ＣＩＲ６５６、ＣＣＩＲ６０１形態のＹ：Ｃｂ：Ｃｒが４：２：２や、４：２：０または４：１：１であるピクセル信号データ及び一フレームの垂直／水平信号を出力する。
【００４９】
このために、図２−ａ及び図２−ｂに示したイメージフォーマット部２０２は、まず、色座標変換を行い、ＲＧＢをＹＣｂＣｒまたはＹＵＶフォーマットに変換する。例えば、ＣＣＩＲ−６０１  ＹＣｂＣｒカラー空間変換公式は、次のようである。
【００５０】
Ｙ＝（７７Ｒ＋１５０Ｇ＋２９Ｂ）／２５６              範囲：１６〜２３５
Ｃｂ＝（−４４Ｒ−８７Ｇ＋１３１Ｂ）／２５６＋１２８  範囲：１６〜２４０
Ｃｒ＝（１３１Ｒ−１１０Ｇ−２１Ｂ）／２５６＋１２８  範囲：１６〜２４０
【００５１】
図２−ａ及び図２−ｂに示したイメージフォーマット部２０２は、上記のように変換されたＹＣｂＣｒフォーマットを色差フォーマット変換することで、４：４：４であるＹＣｂＣｒを４：２：２や、４：２：０または４：１：１に変換して出力する。
【００５２】
上記の図２−ａ及び図２−ｂに示したイメージフォーマット部２０２の色差フォーマット変換は、カラーに対する目の低い空間敏感性に基づいているが、多くの研究では、水平及び垂直方向への４個の因子によるカラー成分のサブサンプルが適当であることを明らかにした。したがって、映像信号は、４個の輝度成分と２個ずつの色度成分、または、４個の輝度成分と１個ずつの色度成分に示される（４：４：４→４：２：２、４：４：４→４：２：０、４：４：４→４：１：１）。
【００５３】
また、図２−ａ及び図２−ｂに示したイメージフォーマット部２０２は、内部にフレームメモリまたはスライスメモリを内蔵して水平方向に入力されるＹ／Ｃｂ／Ｃｒピクセルデータを、メモリアドレスを異にして横、縦８×８ブロックに２次元的に伝送するが、このとき、８×８ブロックを一つの単位にし、ＹＣｂＣｒを束ねて伝送する。
【００５４】
すなわち、図２−ａ及び図２−ｂに示したイメージフォーマット部２０２は、入力された画像信号を所定数の画素からなる単位領域（ブロック）に対応するようにブロック化し、そのブロック化された画像信号を出力する。通常、８×８の大きさのＹブロック４個、Ｃｂ及びＣｒブロック２個ずつ、または、８×８の大きさのＹブロック４個、Ｃｂ及びＣｒブロック１個ずつのブロックを束ねてブロック化し、画像信号を出力する。
【００５５】
一方、離散コサイン変換部２０３は、前記イメージフォーマット部２０２から入力された各ブロックに対して離散コサイン変換を行い、周波数成分に対応する離散コサイン変換係数を出力する。
【００５６】
ここで用いられる離散コサイン変換(Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ：ＤＣＴ）は、画面に不規則に広がった画素値を周波数側に変換し、低周波成分から高周波成分に至るまで多様な周波数成分に分け、映像のエネルギーを低周波成分に集中させる。
【００５７】
Ｈ.２６１、ＪＰＥＧ、ＭＰＥＧなどの多様な国際標準において核心技術である離散コサイン変換は、８×８の大きさのブロック単位で行われる。離散コサイン変換は、マルチメディア関連国際標準であるＨ.２６１、ＪＰＥＧ、ＭＰＥＧの核心要素である。
【００５８】
離散コサイン変換の基本構造によると、空間的に高い相関度を有するデータを直交変換によって低周波成分から高周波成分に至るまで多様な周波数成分に分け、各成分別に異なるように量子化する。
【００５９】
ここで、低周波成分から遠く離れるほど、高い周波数成分を有するようになる。すなわち、離散コサイン変換は、ほとんどのエネルギーが周波数領域の低周波成分に集中して圧縮効果を高めるように、ブロックのエネルギーを移動させる。後述する図４−ａ及び図４−ｂは、８×８ブロックの離散コサイン変換係数の配列を示した図であり、ＤＣ及びａｃ１〜ａｃ８  ４０１は低周波成分を、ａｃ５５〜ａｃ６３  ４０２は高周波成分を示す。
【００６０】
また、再整列部２０４は、前記離散コサイン変換部２０３から入力された各ブロックに対し、ジグザグスキャンを用いて離散コサイン変換係数を低周波成分から高周波成分に再整列して出力する。
【００６１】
一方、ビットデータ保存部２０６は、前記入力された映像信号データＹ、Ｃｂ、ＣｒのうちＹ信号データのエッジ成分を抽出し、フレーム全体のエッジ成分を積分した値に対するマクロブロックのエッジ成分を積分した値の比率を測定し、これによって計算されたビットデータを保存する。このとき、Ｙ信号部のマクロブロックとは、画像信号の符号化処理の基本単位となるブロックであり、通常、８×８ピクセル大きさの４個のＹ信号ブロックがマクロブロックになる。
【００６２】
例えば、１６×１６マクロブロックの場合、前記マクロブロックの情報量をＭＢＩｋとし、前記フレーム全体の情報量をＰＩとすると、前記ＭＢＩｋ及びＰＩは、次の式１及び２により求められる。
【００６３】
（式１）
【数１】
2007049680.tif 000003
【００６４】
（式２）
【数２】
2007049680.tif 000004
【００６５】
上記の式１及び２を用いた後、次の式３によりマクロブロック当りのビットデータが求められる。
【００６６】
（式３）
マクロブロック当りのビットデータ＝１０,０００ビット
【００６７】
したがって、ＭＢＩｋが１,０００ビット、ＰＩが１０,０００ビット、フレームの目標ビット量が１００,０００ビットであると仮定する場合、前記マクロブロック当りのビットデータは１０,０００ビットになる。また、フレーム目標ビット量は、使用者の画質モードによって事前に決定される。
【００６８】
一方、前記スケーリングファクター発生器２０７は、使用者が選択した画質モードデータ、前記ビットデータ保存部２０６に保存されたビットデータ及び後述する前記ビットカウンター２１２で計算されたビット量が入力されて前記マクロブロックにビット量を割り当て、それによってスケーリングファクターを固定する。
【００６９】
すなわち、前記スケーリングファクター発生器２０７は、ＣＰＵなどで画質モードデータの入力を受け、前記ビットデータ保存部２０６で前記式３により求めたマクロブロック当りのビットデータを用いて、マクロブロック当りのビット量を割り当てる。
【００７０】
このとき、前記スケーリングファクター発生器２０７は、上記の構成によりコーディングされる間、以前のマクロブロックまで累積されるビット量がある場合、後述するビットカウンター２１２から前記ビット量の入力を受け、前記入力された画質モードデータ、マクロブロック当りのビットデータ及び前記ビット量を参照してマクロブロック当りのビット量を割り当て、それによってスケーリングファクターを決定する。
【００７１】
図３は、マクロブロックのビット量によるスケーリングファクターを示したグラフである。図３に示すように、前記式３によってマクロブロックに割り当てられたビット量がｔである場合、スケーリングファクターｓｆがｓｆｔに決定され、スケーリングファクターが小さい場合、マクロブロックのビット量が小さく、スケーリングファクターが大きい場合、マクロブロックのビット量が大きい。
【００７２】
通常、画質がよい場合、圧縮が少ないので、スケーリングファクターは高く、フレーム圧縮時の総ビット量は多い。その反面、画質が悪い場合、圧縮が多いので、スケーリングファクターは低く、フレーム圧縮時の総ビット量は少ない。
【００７３】
一方、量子化部２０５は、前記再整列部２０４から入力されたブロック別離散コサイン変換係数に対し、前記スケーリングファクター発生器２０７から固定されたスケーリングファクターによって量子化を行う。
【００７４】
このとき、量子化パラメータは、ブロック別に可変され、離散コサイン変換係数別に可変される。ここで、量子化パラメータは、量子化段階の大きさを示すパラメータであり、量子化段階は、量子化パラメータにほぼ比例する。すなわち、量子化パラメータが大きい場合は、量子化段階が概略的（ｒｏｕｇｈ）になって量子化成分の絶対値が小さくなるため、量子化成分のゼロラン（値が０である成分が連続して羅列された長さ）が長くなり、レベル値の絶対値が小さくなる。
【００７５】
その反対に、量子化パラメータが小さい場合は、量子化段階が細密になり量子化成分の絶対値が大きくなるため、ランが短くなり、レベル値の絶対値が大きくなる。
【００７６】
一般に、高周波成分は、映像の認知性によって映像の細密な部分を示し、いくつかの高周波成分の損傷は、人の目で確認できないほどで全体の画質に大きな影響を及ぼさないので、情報を多く有する低周波成分は、量子化大きさを小さくして細密に符号化し、高周波成分になるほど、大きい値で量子化して少しの損失で圧縮効率を極大化する。
【００７７】
上記のように量子化されたデータは、「０」に変わったデータを多く保有するようになり、かかるデータは、可変長コーダー２１１に入力され、圧縮されたコードに変わる。例えば、図４−ａに示した量子化された離散コサイン変換係数値は、２５、１７、１２、２、０、２３、０、０、０、０、・・・・３、０、０、２、０、０、５に示され、「０」に変わったデータを多く保有している。
【００７８】
しかしながら、上記のように量子化されたデータは、実際にコーディングする場合、多くのフレームをコーディングして得た平均的なデータであるので、特定のフレームに対してはフレーム当りの目標ビット量から大いに逸脱する。よって、前記コーディングビット予測部２０８、係数選択器２１０及びビットカウンター２１２を追加的に構成して再びビット量を調整すると、フレーム当りの目標ビット量に一層接近できるという利点がある。
【００７９】
ここで、コーディングビット予測部２０８は、前記量子化部２０５によって量子化された離散コサイン変換係数が入力され、前記離散コサイン変換係数をコーディングするときのビット量を予測し、該予測したビット量を後述する係数選択器２１０に出力する。
【００８０】
また、前記バッファ２０９は、前記コーディングビット予測部２０８が前記離散コサイン変換係数をコーディングするときのビット量を予測する間、前記量子化部２０５によって量子化された離散コサイン変換係数を保存する。
【００８１】
また、前記係数選択器２１０は、前記バッファ２０９に保存された離散コサイン変換係数の絶対値を比較し、前記スケーリングファクター発生器で割り当てられたビット量と前記コーディングビット予測部で予測されたビット量とを比較し、その比較結果、前記スケーリングファクター発生器２０７で割り当てられたビット量が前記コーディングビット予測部２０８で予測されたビット量より小さい場合、前記絶対値が小さい複数の離散コサイン変換係数を「０」に変換する。
【００８２】
すなわち、前記係数選択器２１０は、量子化部２０５から入力された離散コサイン変換係数の絶対値大きさを比較し、これによって、絶対値が大きい係数及び小さい係数の情報を保有するようになる。
【００８３】
図４−ａ及び図４−ｂは、８×８ブロックの離散コサイン変換係数を示した図で、図４−ａに示すように、前記スケーリングファクター発生器２０７で割り当てられたビット量が前記コーディングビット予測部２０８で予測されたビット量より小さいと判断される場合、絶対値の大きさが小さい係数を「０」にする。これによって、コード化される係数が減少し、マクロブロック当りのコード長さが縮小する。
【００８４】
すなわち、図４−ａを例に挙げて説明すると、ａｃ３の２、ａｃ５５の３、ａｃ５８の２を「０」にすると、コード化される３個の係数が減少し、マクロブロック当りにコーディングされるコード長さが減少する。
【００８５】
一方、図４−ｂに示すように、ａｃ５までは、離散コサイン変換係数の絶対値が小さくても、「０」に変換せずにコーディングすることもできる。その理由は、通常の周波数領域における映像データでは、高周波成分４０２より低周波成分４０１が非常に重要であるので、低周波成分を有する離散コサイン変換係数のコーディング回数が多くなるほど、一層良好な画質のイメージを得られるためである。
【００８６】
図５は、ブロックに対する目標ビット量を示したグラフで、細い点線は目標とするビット量を、太い実線は本発明を適用する前のビット量を、太い点線は本発明を適用した後のビット量をそれぞれ示している。
【００８７】
図５に示すように、ＪＰＥＧやＭＰＥＧなどの圧縮方式で図４−ａ及び図４−ｂに示すように離散コサイン変換係数を「０」に変えると、コーディングされるビット量が減少するので、本発明を適用する場合、目標ビット量に接近していることが分かり、これによって、一層精密なレートコントロールが可能になる。
【００８８】
一方、前記可変長コーダー２１１は、前記バッファ２０９に保存された離散コサイン変換係数を可変長コーディングして出力する。
【００８９】
前記可変長コーダー２１１は、量子化成分の大きさを示す数値と符号との対応を示す符号表を用いて、ブロックごとに量子化成分を符号化ストリームに変換する。
【００９０】
また、前記ビットカウンター２１２は、前記スケーリングファクター発生器２０７で割り当てられたビット量のうち、可変長コーディング後に残ったビット量を計算し、その計算されたビット量をスケーリングファクター発生器２０７に出力する。
【００９１】
一方、図６−ａ及び図６−ｂは、イメージ圧縮方法を示したフローチャートであり、図６−ａは、フレームメモリを用いたイメージ圧縮方法を示し、図６−ｂは、スライスメモリを用いたイメージ圧縮方法を示している。
【００９２】
まず、図６−ａに示すように、フレームメモリを用いたイメージ圧縮方法は、大きく１４段階に分けられる。
まず、Ｙ、Ｃｂ、Ｃｒ信号データを入力する（Ｓ６０１ａ）。
【００９３】
次いで、Ｙ、Ｃｂ、Ｃｒピクセルを４：２：２、４：２：０または４：１：１にフォーマットしてフレーム別に保存する（Ｓ６０２ａ）。
【００９４】
次いで、Ｙ、Ｃｂ、Ｃｒ信号データを８×８の大きさのＹ信号ブロック４個、Ｃｂ及びＣｒ信号ブロック２個ずつ、または、８×８の大きさのＹ信号ブロック４個、Ｃｂ及びＣｒ信号ブロック１個ずつを基本単位にして出力する（Ｓ６０３ａ）。
【００９５】
次いで、入力される信号データを８×８ブロック単位に離散コサイン変換する（Ｓ６０４ａ）。
【００９６】
次いで、離散コサイン変換された８×８係数を低周波成分から高周波成分に出力する（Ｓ６０５ａ）。
【００９７】
次いで、Ｙデータのエッジ成分を抽出し、フレーム全体のエッジ成分を積分した値に対するマクロブロックのエッジ成分を積分した値の比率を測定し、それによって計算されたビットデータを保存する（Ｓ６０６ａ）。
【００９８】
次いで、使用者が選択した画質モードデータ、Ｓ６０６ａで計算されたビットデータ及び後述するＳ６１４ａで計算されたビット量が入力され、それぞれのマクロブロックにビット量を割り当て、これによってスケーリングファクターを決定する（Ｓ６０７ａ）。
【００９９】
次いで、離散コサイン変換係数を、前記決定されたスケーリングファクターによって量子化する（Ｓ６０８ａ）。
【０１００】
次いで、離散コサイン変換係数をコーディングするときの予測ビット量を計算する（Ｓ６０９ａ）。
【０１０１】
次いで、前記割り当てられたビット量と実際のコーディング予測結果とを比較する（Ｓ６１０ａ）。
【０１０２】
次いで、割り当てられたビット量が離散コサイン変換係数を実際にコーディングするときの予測ビット量より大きいかどうかを比較（Ｓ６１１ａ）し、割り当てられたビット量が離散コサイン変換係数を実際にコーディングするときの予測ビット量より小さいと、絶対値の小さい離散コサイン変換係数を０に処理した後（Ｓ６１３ａ）、離散コサイン変換係数全体を可変長コーディングする（Ｓ６１２ａ）。一方、割り当てられたビット量が離散コサイン変換係数を実際にコーディングするときの予測ビット量より大きいと、直ちに離散コサイン変換係数全体を可変長コーディングする（Ｓ６１２ａ）。
【０１０３】
最後に、割り当てられたビット量のうち、可変長コーディング後に残ったビット量を計算する（Ｓ６１４ａ）。このときに計算されたビット量は、前記Ｓ６０７ａで割り当てられ、スケーリングファクターを決定するためのデータとして入力される。
【０１０４】
また、図６−ｂに示すように、スライスメモリを用いたイメージ圧縮方法は、大きく１４段階に分けられる。
【０１０５】
まず、Ｙ、Ｃｂ、Ｃｒ信号データを入力する（Ｓ６０１ｂ）。
【０１０６】
次いで、Ｙ、Ｃｂ、Ｃｒピクセルを４：２：２や、４：２：０または４：１：１にフォーマットしてスライス別に保存する（Ｓ６０２ｂ）。
【０１０７】
次いで、Ｙ、Ｃｂ、Ｃｒ信号データを８×８の大きさのＹ信号ブロック４個、Ｃｂ及びＣｒ信号ブロック２個ずつ、または、８×８の大きさのＹ信号ブロック４個、Ｃｂ及びＣｒ信号ブロック１個ずつを基本単位にして出力する（Ｓ６０３ｂ）。
【０１０８】
次いで、入力される信号データを８×８ブロック単位に離散コサイン変換する（Ｓ６０４ｂ）。
【０１０９】
次いで、離散コサイン変換された８×８係数を低周波成分から高周波成分に出力する（Ｓ６０５ｂ）。
【０１１０】
次いで、Ｙデータのエッジ成分を抽出し、フレーム全体エッジ成分を積分した値に対するマクロブロックのエッジ成分を積分した値の比率を測定し、これによって計算されたビットデータを保存する（Ｓ６０６ｂ）。
【０１１１】
次いで、使用者が選択した画質モードデータ、Ｓ６０６ｂで計算されたビットデータ及び後述するＳ６１４ｂで計算されたビット量が入力され、各マクロブロックにビット量を割り当て、それによってスケーリングファクターを決定する（Ｓ６０７ｂ）。
【０１１２】
次いで、離散コサイン変換係数を、前記決定されたスケーリングファクターによって量子化する（Ｓ６０８ｂ）。
【０１１３】
次いで、離散コサイン変換係数をコーディングするときの予測ビット量を計算する（Ｓ６０９ｂ）。
【０１１４】
次いで、前記割り当てられたビット量と実際のコーディング予測結果とを比較する（Ｓ６１０ｂ）。
【０１１５】
次いで、割り当てられたビット量が離散コサイン変換係数を実際にコーディングするときの予測ビット量より大きいかどうか比較し（Ｓ６１１ｂ）、その比較の結果、割り当てられたビット量が離散コサイン変換係数を実際にコーディングするときの予測ビット量より小さいと、絶対値の小さい離散コサイン変換係数を０に処理する（Ｓ６１３ｂ）。一方、離散コサイン変換係数全体を可変長コーディングし（Ｓ６１２ｂ）、割り当てられたビット量が離散コサイン変換係数を実際にコーディングするときの予測ビット量より大きいと、直ちに離散コサイン変換係数全体を可変長コーディングする（Ｓ６１２ｂ）。
【０１１６】
最後に、割り当てられたビット量のうち、可変長コーディング後に残ったビット量を計算する（Ｓ６１４ｂ）。このときに計算されたビット量は、前記Ｓ６０７ｂで割り当てられ、スケーリングファクターを決定するためのデータとして入力される。
【０１１７】
以上説明した本発明の好ましい実施形態は、例示のために開示されたもので、本発明の属する技術分野で通常の知識を有する者であれば、本発明の技術的思想から逸脱しない範囲内で、多様な置換、変形及び変更が可能である。また、これら置換、変更などは、特許請求の範囲に属するものと見なすべきである。
【産業上の利用可能性】
【０１１８】
以上のように、本発明にかかるイメージ圧縮デバイス及びその方法は、デジタルカメラ、携帯電話機、スマートフォン、ＰＤＡなどの映像機器に有用であり、特に、精密なレートコントロールが必要とされる映像機器に適している。
【図面の簡単な説明】
【０１１９】
【図１】従来のイメージ圧縮デバイスの内部ブロック図である。
【図２−ａ】本発明に係るイメージ圧縮デバイスの内部ブロック図である。
【図２−ｂ】本発明に係るイメージ圧縮デバイスの内部ブロック図である。
【図３】マクロブロックのビット量によるスケーリングファクターを示したグラフである。
【図４−ａ】８×８ブロックの離散コサイン変換係数を示した図である。
【図４−ｂ】８×８ブロックの離散コサイン変換係数を示した図である。
【図５】ブロックに対する目標ビット量を示したグラフである。
【図６−ａ】本発明に係るイメージ圧縮方法を示したフローチャートである。
【図６−ｂ】本発明に係るイメージ圧縮方法を示したフローチャートである。
【符号の説明】
【０１２０】
２０１ａ  フレームメモリ
２０１ｂ  スライスメモリ
２０２  イメージフォーマット部
２０３  離散コサイン変換部
２０４  再整列部
２０５  量子化部
２０６  ビットデータ保存部
２０７  スケーリングファクター発生器
２０８  コーディングビット予測部
２０９  バッファ
２１０  係数選択器
２１１  可変長コーダー
２１２  ビットカウンター
【図１】
2007049680.tif 000005
【図２−ａ】
2007049680.tif 000006
【図２−ｂ】
2007049680.tif 000007
【図３】
2007049680.tif 000008
【図４−ａ】
2007049680.tif 000009
【図４−ｂ】
2007049680.tif 000010
【図５】
2007049680.tif 000011
【図６−ａ】
2007049680.tif 000012
【図６−ｂ】
2007049680.tif 000013