(57)【要約】【課題】品質の低下を抑制しながら、簡素な処理でデジタルデータを圧縮または伸張する。【解決手段】共通ビット数検出部１２０は、デジタルデータを構成する複数のデジタル値を、最上位ビットからビット単位で比較していくことにより、複数のデジタル値間でビット値が共通する、最上位ビットからのビット数を共通ビット数として検出する。圧縮部１３０は、デジタル値の最上位ビットから、共通ビット数検出部１２０により検出された共通ビット数分のビットデータを破棄し、かつ当該デジタル値の最下位ビットから、予め設定された全体破棄ビット数から共通ビット数を減算した下位側破棄ビット数分のビットデータを破棄する。【選択図】図２
2010232712.tif 000002
【特許請求の範囲】
【請求項１】
デジタルデータを構成する複数のデジタル値を、最上位ビットからビット単位で比較していくことにより、前記複数のデジタル値間でビット値が共通する、最上位ビットからのビット数を共通ビット数として検出する共通ビット数検出部と、
前記デジタル値の最上位ビットから、前記共通ビット数検出部により検出された共通ビット数分のビットデータを破棄し、かつ前記デジタル値の最下位ビットから、予め設定された全体破棄ビット数から前記共通ビット数を減算した下位側破棄ビット数分のビットデータを破棄することにより前記デジタル値を圧縮する圧縮部と、
を備えることを特徴とするデータ圧縮装置。
【請求項２】
前記圧縮部により圧縮されたデータを組み立てる組立部をさらに備え、
前記圧縮部は、前記複数のデジタル値のうち一つのデジタル値について圧縮処理をスキップし、
前記組立部は、前記共通ビット数、前記圧縮部により圧縮されなかった一つの非圧縮デジタル値、および前記圧縮部により圧縮された圧縮デジタル値を一単位のビットストリームとして組み立てることを特徴とする請求項１に記載のデータ圧縮装置。
【請求項３】
前記組立部は、前記ビットストリームのビット数が所定値の倍数になるよう、調整ビットを挿入することを特徴とする請求項２に記載のデータ圧縮装置。
【請求項４】
連続的に入力される複数のデジタル値の、連続するデジタル値間の差分値をそれぞれ求める差分生成部と、
前記差分生成部により求められた全ての差分値が、前記全体破棄ビット数で表現可能な範囲内の値であるか否かを判定する判定部と、をさらに備え、
前記組立部は、前記判定部により前記全ての差分値が前記全体破棄ビット数で表現可能な範囲内の値である場合、圧縮方式が差分方式であることを示す識別情報、前記複数のデジタル値の先頭または最後尾のデジタル値、および前記全ての差分値を一単位のビットストリームとして組み立てることを特徴とする請求項２または３に記載のデータ圧縮装置。
【請求項５】
請求項２または３に記載のデータ圧縮装置により圧縮されたデータを伸張するデータ伸張装置であって、
前記ビットストリームを、前記共通ビット数と、前記非圧縮デジタル値と、前記圧縮デジタル値とに分解する分解部と、
前記圧縮デジタル値の上位ビット側に、前記非圧縮デジタル値と共通する上位ビットデータを付加し、かつ前記圧縮デジタル値の下位ビット側に、前記共通ビット数から求められる前記下位側破棄ビット数分のビットデータを付加する伸張部と、
を備えることを特徴とするデータ伸張装置。
【請求項６】
前記伸張部は、前記圧縮デジタル値の下位ビット側に、前記下位側破棄ビット数で表現可能な数値範囲の中間値を付加することを特徴とする請求項５に記載のデータ伸張装置。
【請求項７】
符号化された画像データを復号する復号部と、
前記復号部により復号された画像データを圧縮する請求項２または３に記載のデータ圧縮装置と、
前記データ圧縮装置により圧縮された画像データを伸張する請求項５または６に記載のデータ伸張装置と、
前記データ伸張装置により伸張された画像データを表示する表示部と、
を備えることを特徴とする表示装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルデータを圧縮または伸張するデータ圧縮装置、データ伸張装置、およびそれらを搭載した表示装置に関する。
【背景技術】
【０００２】
現在、テレビ放送ではアナログ放送からデジタル放送への移行が促進され、記録メディアではＤＶＤからＢＤ（Blu-ray Disc）への移行が促進されている。これらの移行とともに、ＳＤ（Standard Definition）画像からＨＤ（High Definition）画像への移行も加速している。
【０００３】
ＨＤ画像はＳＤ画像に比べてデータ量や処理負荷が増加し、機器（たとえば、表示装置や記録装置）内のメモリ容量の増加や、バスの伝送量増加を招く。画像データの高効率な圧縮技術として、ＭＰＥＧやＪＰＥＧなどの圧縮方式があるが、処理負荷が高く、高速に処理するには専用のハードウェアを機器内に搭載する必要があり、コストが高くなる。そこで、圧縮率がＭＰＥＧやＪＰＥＧなどの圧縮方式には及ばないものの、比較的簡素な処理でメモリ容量や伝送量を削減することができる手法が提案されている（たとえば、特許文献１、２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平７−１５３４７号公報
【特許文献２】特開平３−１４５８８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
画像データ等のデジタルデータを圧縮するための最も簡素な手法は、そのデジタルデータの下位ビットを破棄する手法である。下位ビットは画像の高周波成分に対応し、その成分が破棄されても、上位ビットが破棄される場合より、画質等への影響度は小さいものの、たとえ下位ビットであっても破棄すれば、画質等が低下することは確かである。
【０００６】
本発明はこうした状況に鑑みなされたものであり、その目的は、品質の低下を抑制しながら、簡素な処理でデジタルデータを圧縮または伸張することができる技術を提供することにある。
【課題を解決するための手段】
【０００７】
本発明のある態様のデータ圧縮装置は、デジタルデータを構成する複数のデジタル値を、最上位ビットからビット単位で比較していくことにより、複数のデジタル値間でビット値が共通する、最上位ビットからのビット数を共通ビット数として検出する共通ビット数検出部と、デジタル値の最上位ビットから、共通ビット数検出部により検出された共通ビット数分のビットデータを破棄し、かつデジタル値の最下位ビットから、予め設定された全体破棄ビット数から共通ビット数を減算した下位側破棄ビット数分のビットデータを破棄することによりデジタル値を圧縮する圧縮部と、を備える。
【０００８】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【０００９】
品質の低下を抑制しながら、簡素な処理でデジタルデータを圧縮または伸張することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施の形態１に係る、データ圧縮装置およびデータ伸張装置を搭載した表示装置の構成を示すブロック図である。
【図２】本発明の実施の形態１に係るデータ圧縮装置の構成を示す図である。
【図３】共通ビット数検出部の構成例を示す図である。
【図４】６個のデジタル値の共通ビット数を検出するための共通ビット数検出部の構成例を示す図である。
【図５】圧縮部の構成例を示す図である。
【図６】ビットストリームのデータ構造例を示す図である。
【図７】本発明の実施の形態１に係るデータ伸張装置の構成を示す図である。
【図８】伸張部の構成例を示す図である。
【図９】本発明の実施の形態２に係るデータ圧縮装置の構成を示す図である。
【図１０】差分圧縮方式で生成されたビットストリームのデータ構造例を示す図である。
【発明を実施するための形態】
【００１１】
本発明の実施の形態に係る、データ圧縮装置およびデータ伸張装置の詳細を説明する前に、当該データ圧縮装置およびデータ伸張装置の適用例について説明する。
【００１２】
実施の形態１.
図１は、本発明の実施の形態１に係る、データ圧縮装置およびデータ伸張装置を搭載した表示装置５００の構成を示すブロック図である。表示装置５００は、液晶テレビやプラズムテレビなどの薄型テレビであってもよいし、ビデオカメラの表示系であってもよい。
【００１３】
当該表示装置５００は、復号部５１０、第１圧縮部１００ａ、フレームメモリ５２０、第２伸張部２００ｂ、中間フレーム生成部５３０、第２圧縮部１００ｂ、第１伸張部２００ａ、および表示部５４０を備える。第１圧縮部１００ａおよび第２圧縮部１００ｂには、後述するデータ圧縮装置を採用することができる。第１伸張部２００ａおよび第２伸張部２００ｂには、後述するデータ伸張装置を採用することができる。
【００１４】
復号部５１０は、入力される符号化画像データを復号する。当該符号化画像データは、ＭＰＥＧ−２、ＭＰＥＧ−４、Ｈ．２６４／ＡＶＣなどの方式により圧縮符号化されたデータであり、放送波や記録メディアを介して復号部５１０に入力される。
【００１５】
中間フレーム生成部５３０は、フレームレートを高くする機能を実現するために搭載される。一般的な動画像ファイルは、１秒間に６０フレームで組成されていることが多い。中間フレーム生成部５３０は、この１秒間に６０フレームの動画像ファイルに含まれる、各隣接フレーム画像間の中間フレーム画像（すなわち、補間画像）をそれぞれ生成することにより、１秒間に１２０フレームの動画像データを生成することができる。このフレームレートを２倍にする技術は、映像ぶれを緩和する技術として用いられる。特に、液晶テレビの映像ぶれ対策として有効である。なお、中間フレーム画像の生成方法は、既存の一般的な技術を採用することができる。
【００１６】
しかしながら、フレームレートを高くすると、フレームメモリ５２０に保持されるべき画像データ量が増大し、内部バス５５０のトラフィック量が増大する。すなわち、装置内の負荷や、コストが増大することになる。これに対して、表示装置５００内で画像データを圧縮して保持したり、伝送したりすることにより、上記画像データ量やトラフィック量を削減させる手法が考えられる。それを実現するため、当該表示装置５００では、第１圧縮部１００ａ、第２伸張部２００ｂ、第２圧縮部１００ｂおよび第１伸張部２００が搭載される。
【００１７】
第１圧縮部１００ａは、復号部５１０により復号された画像データを圧縮する。画像データは複数ビットのデジタル値で記述される。第１圧縮部１００ａは当該複数ビットのデジタルデータから、所定のビット数のビットデータを破棄することにより、当該デジタルデータを圧縮する。たとえば、１０ビットのデジタルデータから５ビットのビットデータを破棄すれば、データ量を半分に圧縮することができる。この場合、中間フレーム生成部５３０によりフレームレートを２倍にしても、元のデータ量がほぼ維持されることになる。
【００１８】
第１圧縮部１００ａにより圧縮された画像データは、内部バス５５０を介してフレームメモリ５２０に一時保持される。第２伸張部２００ｂは、フレームメモリ５２０に保持されるフレーム単位の画像データを伸張して中間フレーム生成部５３０に出力する。中間フレーム生成部５３０は、第２伸張部２００ｂにより伸張されたフレーム単位の画像データから、補間画像データを生成し、第２圧縮部１００ｂに出力する。第２圧縮部１００ｂは、生成された補間画像データを圧縮する。第２圧縮部１００ｂにより圧縮された画像データは、内部バス５５０を介してフレームメモリ５２０に一時保持される。
【００１９】
第１伸張部２００ａは、フレームメモリ５２０に保持される、圧縮された画像データ（圧縮された補間画像データを含む。）を伸張して表示部５４０に出力する。表示部５４０は、第１伸張部２００ａにより伸張された画像データを表示する。
【００２０】
なお、本発明の実施の形態１に係る、データ圧縮装置およびデータ伸張装置は、中間フレーム生成部５３０、第２圧縮部１００ｂおよび第２伸張部２００ｂを搭載しない構成の表示装置５００にも適用可能である。この表示装置５００は、第１圧縮部１００ａおよび第１伸張部２００ａを搭載することにより、それらを搭載しない場合と比較して、フレームメモリ５２０に保持されるべき画像データ量、および内部バス５５０のトラフィック量を削減することができる。
【００２１】
また、本発明の実施の形態１に係る、データ圧縮装置およびデータ伸張装置の適用例は図１に示した表示装置５００に限るものではない。たとえば、画像記録再生装置に適用してもよい。また、当該データ圧縮装置と、当該データ伸張装置とが別々の装置に搭載されてもよい。たとえば、前者が送信装置、後者が受信装置に搭載されてもよい。
【００２２】
以下、本発明の実施の形態１に係る、データ圧縮装置およびデータ伸張装置の詳細を説明する。なお、当該データ圧縮装置およびデータ伸張装置にて処理される画像のサイズ（より具体的には縦横の画素数）は、両者の間で既知であるとする。また、データ圧縮装置は、デジタルデータを、後述するフォーマットでビットストリーム化する。データ伸張装置はそのビットストリームの構造を既知であるとする。また、当該データ伸張装置は当該フォーマットに準拠したビットストリームのみを伸張可能なこととする。
【００２３】
図２は、本発明の実施の形態１に係るデータ圧縮装置１００の構成を示す図である。当該データ圧縮装置１００は、Ｒ（Ｒは２以上の整数）ビットのデジタルデータから、所定の全体破棄ビット数のビットデータを破棄することにより、ｒ（１≦ｒ＜Ｒ）ビットのデジタルデータに圧縮変換する。以下の説明では、８ビットのデジタルデータから４ビット分のビットデータを破棄することにより、４ビットのデジタルデータに圧縮変換する例を説明する。この場合、上記全体破棄ビット数は４ビットである。
【００２４】
当該データ圧縮装置１００は、保持部１１０、共通ビット数検出部１２０、圧縮部１３０および組立部１４０を備える。保持部１１０はＮ（Ｎは自然数）個のデジタル値を保持することができる。ここでは、保持部１１０に、それぞれが単位画素を表現するデジタル値が連続的に入力される例を説明する。このデジタル値は、画像の左上から右下にかけてラスタスキャンした順で入力されてもよいし、主走査方向を水平方向、副走査方向を垂直方向とする走査順で入力されてもよいし、主走査方向を垂直方向、副走査方向を水平方向とする走査順で入力されてもよい。
【００２５】
以下、保持部１１０に、Ｎ＝６、すなわち６画素分のデジタル値が格納され、６画素分のデジタル値を一単位として圧縮する例を説明する。なお、一枚の画像の画素数が６で割り切れない場合、保持部１１０に入力される、最後の画素データ数は６に満たないことになるが、その場合、６に満たない分の空白のデータ領域にはゼロを格納し、６画素分のデジタル値が満たされている場合と同様に処理する。
【００２６】
保持部１１０に格納された６画素分のデジタル値は、共通ビット数検出部１２０に入力される。ここで、その６画素分のデジタル値を入力順に、ｘ０、ｘ１、ｘ２、ｘ３、ｘ４、ｘ５と表現する。以下に、その６画素分のデジタル値ｘｉ（ｉ＝０，．．．，５）の一例を挙げる。
【００２７】
ｘ０：１０１１１１０１
ｘ１：１０１０１１１１
ｘ２：１０１０００１１
ｘ３：１００１１０００
ｘ４：１００１１０１１
ｘ５：１０００１１１０
【００２８】
共通ビット数検出部１２０は、保持部１１０から連続的に入力される複数のデジタル値を、最上位ビットからビット単位で比較していくことにより、それら複数のデジタル値間でビット値が共通する、最上位ビットからのビット数を共通ビット数ｐ（ｐは整数（負を除く））として検出する。
【００２９】
上述した例では、共通ビット数検出部１２０は、保持部１１０から入力される６画素分のデジタル値の、最上位ビットからの共通ビット数ｐを検出する。より具体的には、６画素分のデジタル値を、その最上位ビットからビットごとに比較し、最初に異なるビット値が出現するまでの、最上位ビットからのビット数を求める。たとえば、最上位ビット値が同じ値で、次のビット値が違う値の場合、上記共通ビット数ｐは１となる。上述した例のデジタル値ｘｉ（ｉ＝０，．．．，５）では、上位の７ビット目と６ビット目が“１０”で共通するため、上記共通ビット数ｐは２となる。
【００３０】
図３は、共通ビット数検出部１２０の構成例を示す図である。当該共通ビット数検出部１２０は、上位ビット抽出器１２１、スイッチ１２２、信号レジスタ１２３、判定レジスタ１２４、論理和回路（以下、ＯＲ回路と表記する）１２５、排他的論理和回路（以下、ＸＯＲ回路と表記する）１２６、ＯＲ回路１２７、スイッチ１２８およびカウンタ１２９を含む。
【００３１】
上位ビット抽出器１２１には、保持部１１０に格納されたデジタル値が順次、入力される。上位ビット抽出器１２１は入力されたデジタル値の、上位（Ｒ−ｒ）ビットを抽出する。上述した例では、上位（８−４）ビット、すなわち上位４ビットを抽出する。抽出された上位ビットは、スイッチ１２２に入力される。
【００３２】
スイッチ１２２は、上位ビット抽出器１２１から入力される上位ビットが、Ｎ個のデジタル値のうちの先頭デジタル値のものである場合、その上位ビットを信号レジスタ１２３に出力するとともに、所定のリセット信号を判定レジスタ１２４に送る。信号レジスタ１２３は、当該上位ビットを一時保持する。
【００３３】
判定レジスタ１２４は、（Ｒ−ｒ）ビット（ここでは４ビット）のデジタル値を扱うことができ、あるデジタル値の上位ビットと、別のデジタル値の上位ビットとが同一であるか否かを判定する。同一であれば、“０”を、異なれば“１”を出力する。判定レジスタ１２４は上記リセット信号が入力されると、初期値にリセットする。すなわち、全てのビット値を“０”にリセットする。ここでは、４ビットのデジタル値を扱うため、“００００”となる。
【００３４】
スイッチ１２２は、入力される上位ビットが、Ｎ個のデジタル値のうちの先頭以外のデジタル値のものである場合、出力先を切り換え、当該上位ビットをＯＲ回路１２５およびＸＯＲ回路１２６にそれぞれ出力する。
【００３５】
ＯＲ回路１２５は、信号レジスタ１２３に一時的に格納されている上位ビットと、スイッチ１２２から入力される上位ビットとの論理和をとり、その論理和結果を信号レジスタ１２３に格納する。ＸＯＲ回路１２６は、信号レジスタ１２３に一時的に格納されている上位ビットと、スイッチ１２２から入力される上位ビットとの排他論理和をとり、その排他論理和結果をＯＲ回路１２７に出力する。当該排他論理和結果は、上位ビット同士のビット単位の合致を示すものである。合致しているビットは“０”となり、合致していないビットは“１”となる。
【００３６】
ＯＲ回路１２７は、判定レジスタ１２４に格納されている値と、ＸＯＲ回路１２６から入力される値との論理和をとり、その論理和結果をスイッチ１２８を介して判定レジスタ１２４に格納する。以上の処理がＮ回、繰り返されると、スイッチ１２８の出力先が切り換わり、ＯＲ回路１２７からの出力されるデジタル値は、スイッチ１２８を介してカウンタ１２９に入力される。カウンタ１２９は、ＯＲ回路１２７から入力されるデジタル値の、最上位ビットから連続する“０”の数をカウントする。そのカウント値が上記共通ビット数ｐとして、圧縮部１３０および組立部１４０にそれぞれ出力される。
【００３７】
図４は、６個のデジタル値の共通ビット数を検出するための共通ビット数検出部１２０の構成例を示す図である。図４に示すＯＲ回路１２５１〜ＯＲ回路１２５５は、図３に示すＯＲ回路１２５および信号レジスタ１２３の機能に対応する。図４に示すＸＯＲ回路１２６１〜ＸＯＲ回路１２６５は、図３に示すＸＯＲ回路１２６の機能に対応する。図４に示すＯＲ回路１２７１〜ＯＲ回路１２７５は、図３に示すＯＲ回路１２７および判定レジスタ１２４の機能に対応する。
【００３８】
ここで、上位ビット抽出器１２１に、上述した例のデジタル値ｘｉ（ｉ＝０，．．．，５）が入力される例を考える。上位ビット抽出器１２１は、それぞれのデジタル値ｘｉ（ｉ＝０，．．．，５）の上位４ビット（“１０１１”、“１０１０”、“１０１０”、“１００１”、“１００１”、“１０００”）を抽出し、ＯＲ回路１２５１〜ＯＲ回路１２５５に出力する。これらの上位４ビットがＯＲ回路１２５１〜ＯＲ回路１２５５に入力されると、ＯＲ回路１２７５から出力されるデジタル値は“００１１”となる。カウンタ１２９は、“００１１”の、最上位ビットから連続する“０”の数をカウントする。ここでは２である。すなわち、共通ビット数ｐは２となる。
【００３９】
図２に戻り、圧縮部１３０は、保持部１１０に格納されているデジタル値の最上位ビットから、共通ビット数検出部１２０により検出された共通ビット数ｐ分のビットデータを破棄し、かつ当該デジタル値の最下位ビットから、上記全体破棄ビット数から共通ビット数ｐを減算した下位側破棄ビット数分のビットデータを破棄する。以下の例では、圧縮部１３０は、保持部１１０に格納されている複数のデジタル値のうち一つを除き、全てのデジタル値の最上位ビットから、当該共通ビット数ｐ分のビットデータを破棄し、かつ当該全てのデジタル値の最下位ビットから、当該下位側破棄ビット数分のビットデータを破棄する。すなわち、複数のデジタル値のうち一つのデジタル値（たとえば、先頭のデジタル値）について圧縮処理をスキップする。
【００４０】
図５は、圧縮部１３０の構成例を示す図である。圧縮部１３０は、スイッチ１３１および破棄部１３２を含む。スイッチ１３１は、保持部１１０から入力されるデジタル値が、Ｎ個のデジタル値のうちの先頭デジタル値の場合、そのデジタル値をそのまま組立部１４０に出力する。スイッチ１３１は、保持部１１０から入力されるデジタル値が、Ｎ個のデジタル値のうちの先頭以外のデジタル値の場合、そのデジタル値を破棄部１３２に出力する。
【００４１】
破棄部１３２は、上記共通ビット数ｐを参照して、Ｒビットのデジタル値をｒビットのデジタル値に変換する。ここでは、８ビットのデジタル値を４ビットのデジタル値に変換する。たとえば、破棄部１３２は次の処理により変換する。まず、Ｒビットのデジタル値をシフトさせるべきビットシフト量ｓを算出する。このビットシフト量ｓは、（Ｒ−ｒ−ｐ）で算出される。ここでは、ビットシフト量ｓは（８−４−２）＝２となる。
【００４２】
次に、破棄部１３２はＲビットのデジタル値を、算出したビットシフト量ｓ分、右ビットシフトする。これにより、ｓビット分の下位ビットデータが破棄される。次に、右ビットシフト後のデジタル値から下位ｒビットのビットデータを抽出するため、破棄部１３２は、当該右ビットシフト後のデジタル値に対してマスキング処理を施す。たとえば、右ビットシフト後のデジタル値と、“００００１１１１”との論理和をとる。これにより、４ビットのデジタル値を抽出することができる。以上の処理を繰り返すことにより、上述した例のデジタル値ｘｉ（ｉ＝０，．．．，５）に対応する、圧縮後のデジタル値ｙｉ（ｉ＝０，．．．，５）は、次の値となる。
【００４３】
ｙ０：１０１１１１０１
ｙ１：１０１１
ｙ２：１０００
ｙ３：０１１０
ｙ４：０１１０
ｙ５：００１１
【００４４】
図２に戻り、組立部１４０は、圧縮部１３０により圧縮されたデータを組み立てる。より具体的には、組立部１４０は、上記共通ビット数ｐ、圧縮部１３０により圧縮されなかった一つの非圧縮デジタル値、および圧縮部１３０により圧縮された全ての圧縮デジタル値を一単位のビットストリームとして組み立てる。組立部１４０は、デジタル機器の内部バスなどで容易に扱うことができるよう、当該ビットストリームをバイト単位で処理可能にフォーマット化することが好ましい。つまり、当該ビットストリームのビット数が所定値の倍数、例えば８の倍数にならない場合、８の倍数になるよう、当該ビットストリーム内に調整ビットを挿入する。なお、所定値は、８以外でも勿論よい。
【００４５】
以下、より具体的に説明する。まず、共通ビット数ｐを示すビットデータを配置し、次に、圧縮後のデジタル値ｙｉ（ｉ＝０，．．．，５）を順に配置する。ここで、共通ビット数ｐを表現するデジタル値のビット数ｑは、（Ｒ−ｒ＜２ｑ）の関係式を満たす必要がある。上述した例では、Ｒ＝８、ｒ＝４であるため、４＜２ｑを満たす最小のｑは３となる。
【００４６】
上記ビットストリームの総ビット数Ｂは、下記式１により定義される。
Ｂ＝Ｒ＋ｒ×（Ｎ−１）＋ｑ  …（式１）
【００４７】
上述した例では、Ｎ＝６であるため、総ビット数Ｂは３１となる。総ビット数Ｂをバイト単位である８の倍数にするには、調整ビットを１ビット挿入する必要がある。ここでは、共通ビット数ｐを表現するビットデータに１ビット追加する。すなわち、共通ビット数ｐを表現するデジタル値のビット数ｑを４とし、当該デジタル値の下位３ビットに上記共通ビット数ｐを割り当て、上記１ビットに調整ビットとして“０”を挿入する。これにより、バイト単位のフォーマット化が可能となる。
【００４８】
図６は、ビットストリームのデータ構造例を示す図である。当該データ構造は、上述した例の、６画素分の８ビットのデジタル値を、１画素分の８ビットのデジタル値および５画素分の４ビットのデジタル値に変換してフォーマット化したものである。なお、共通ビット数ｐの代わりに上記ビットシフト量ｓが付加されてもよい。組立部１４０は、一つのビットストリームを生成すると、その次の６画素分のデジタル値に対応したビットストリームを生成する。この処理を繰り返すことにより、一枚の画像全体を圧縮することができる。
【００４９】
図７は、本発明の実施の形態１に係るデータ伸張装置２００の構成を示す図である。当該データ伸張装置２００は、上述したデータ圧縮装置１００により圧縮されたデータを伸張する装置である。データ伸張装置２００は、保持部２１０、分解部２２０および伸張部２３０を備える。保持部２１０には、データ圧縮装置１００により生成されたビットストリームが入力され、保持部２１０はそのビットストリームを一時保持する。
【００５０】
分解部２２０は、保持部２１０から入力されるビットストリームを、上記共通ビット数ｐと、上記非圧縮デジタル値と、上記圧縮デジタル値とに分解し、伸張部２３０に出力する。図６に示したビットストリームの場合、まず先頭の共通ビット数ｐが取り出され、次に先頭の８ビットのデジタル値ｙ０が取り出されて、以降、４ビットのデジタル値ｙｉ（ｉ＝１，．．．，５）が順次、取り出される。
【００５１】
伸張部２３０は、上記圧縮デジタル値の上位ビット側に、上記非圧縮デジタル値と共通する上位ビットデータを付加し、かつ上記圧縮デジタル値の下位ビット側に、上記共通ビット数ｐから求められる上記下位側破棄ビット数分のビットデータを付加する。当該ビットデータを付加する際、当該下位側破棄ビット数で表現可能な数値範囲の中間値を、補正項として付加してもよい。
【００５２】
図８は、伸張部２３０の構成例を示す図である。伸張部２３０は、中間値算出器２３１、スイッチ２３２、上位ビット抽出器２３３、シフタ２３４、ＯＲ回路２３５およびＯＲ回路２３６を含む。
【００５３】
スイッチ２３２には、デジタル値ｙｉ（ｉ＝０，．．．，５）が順次、入力される。スイッチ２３２は、先頭デジタル値ｙ０が入力された場合、そのまま外部に出力するとともに、上位ビット抽出器２３３に出力する。スイッチ２３２は、先頭以外のデジタル値ｙｉ（ｉ＝０，．．．，５）が入力された場合、そのデジタル値ｙｉ（ｉ＝０，．．．，５）をシフタ２３４に出力する。
【００５４】
先頭デジタル値ｙ０が伸張部２３０に入力されると同期して、上記共通ビット数ｑも伸張部２３０に入力される。当該共通ビット数ｑは、中間値算出器２３１、上位ビット抽出器２３３およびシフタ２３４にそれぞれ入力される。
【００５５】
上位ビット抽出器２３３は、上記先頭デジタル値ｙ０から、下記式２で定義される共通マスク値ｍを生成する。
ｍ＝（ｙ０＞＞（Ｒ−ｐ））＜＜（Ｒ−ｐ）  …（式２）
ここで、演算子“＞＞”は右ビットシフト、演算子“＜＜”は左ビットシフトを表す。
【００５６】
上位ビット抽出器２３３は、上記先頭デジタル値ｙ０のビット数（＝８）から、上記共通ビット数ｑ（＝２）を減算して得られるビット数分、上記先頭デジタル値ｙ０を右ビットシフトし、その後、同じビット数分、左ビットシフトする。これにより、上記先頭デジタル値ｙ０の下位６ビットをマスクすることができる。上述した例では、上記先頭デジタル値ｙ０は“１０１１１１０１”であるため、その共通マスク値ｍは“１０００００００”となる。この共通マスク値ｍは、次のビットストリームの共通ビット数ｑが入力されるまで、上位ビット抽出器２３３にて保持される。
【００５７】
シフタ２３４は、上記先頭以外のデジタル値ｙｉ（ｉ＝０，．．．，５）を、下記式３で定義されるビットシフト量ｔ分、左ビットシフトする。左ビットシフトされた後のデジタル値ｙｉ（ｉ＝０，．．．，５）は、ＯＲ回路２３５に出力される。
ｔ＝Ｒ−ｒ−ｐ  …（式３）
【００５８】
ここでは、ビットシフト量ｔは、８−４−２＝２となる。上述した例では、デジタル値ｙ１は“１０１１”であるため、左ビットシフトされた後のデジタル値ｙ１’は“１０１１００”となる。
【００５９】
ＯＲ回路２３６は、シフタ２３４により左ビットシフトされた後のデジタル値ｙｉ’（ｉ＝１，．．．，５）と、上位ビット抽出器２３３に格納されている共通マスク値ｍとの論理和をとる。上述した例では、左ビットシフトされた後のデジタル値ｙ１’が“１０１１００”であるため、論理和後のデジタル値ｙ１’’は“１０１０１１００”となる。
【００６０】
中間値算出器２３１は、圧縮、伸張の過程を経て発生する、元のデジタル値と復元されるデジタル値との誤差を抑えるための補正項を算出する。より具体的には、圧縮時にＲ（＝８）ビットのデジタル値から、ｒ（＝４）ビットのデジタル値に変換するため、元のデジタル値は、上記ビットシフト量ｓ（＝Ｒ−ｒ−ｐ＝８−４−２＝２）分、右ビットシフトされた。したがって、元のデジタル値に対して下位ｓビット、すなわち最大２ｓ−１の誤差が発生し得る。
【００６１】
この誤差を抑えるため、中間値算出器２３１は、入力される共通ビット数ｑを用いて上記ビットシフト量ｓを求め、２ｓ−１を補正項として算出する。なお、ｓ＝０の場合、当該補正項は０となる。上述した例では、ｓ＝２となり、当該補正項は２となる。
【００６２】
ＯＲ回路２３６は、ＯＲ回路２３５から入力される論理和後のデジタル値ｙｉ’’（ｉ＝１，．．．，５）と、中間値算出器２３１から入力される補正項との論理和をとり、復元デジタル値ｘｉ’（ｉ＝１，．．．，５）を出力する。上述した例では、論理和後のデジタル値ｙ１’’は“１０１０１１００”であるため、復元デジタル値ｘ１’は“１０１０１１１０”となる。元のデジタル値ｘ１は“１０１０１１１１”であり、その誤差を１に抑えることができる。
【００６３】
以上説明したよう実施の形態１によれば、できるだけ下位ビット側の破棄ビット数を抑えることができるため、品質の低下を抑制しながら、簡素な処理でデジタルデータを圧縮または伸張することができる。また、圧縮および伸張を基本的な論理演算のみで実現することがき、ハードウェア化が容易である。ハードウェア化した場合、圧縮および伸張を、より高速化および安定化することができる。また、圧縮および伸張する際に変換テーブルを参照しないため、それによるメモリ容量の増大も発生しない。また、圧縮、伸張を経ることより発生する元のデータと復元データとの誤差も軽微なものにとどめることができる。
【００６４】
また、実施の形態１に係る圧縮伸張技術を、連続する画素データに適用した場合、複数のデジタル値の上記共通ビット数が多くなる傾向がある。隣接する画素データは近似する可能性が高いためである。とくに、空などの背景部分でその傾向が強くなる。この場合、より下位ビット側の破棄ビット数を抑えることができ、品質維持と高圧縮率を両立することができる。
【００６５】
実施の形態２．
実施の形態２では、上述した実施の形態１に係る圧縮方式と、差分圧縮方式とを適宜、使い分けるようにした圧縮装置および方法について説明する。
【００６６】
図９は、本発明の実施の形態２に係るデータ圧縮装置１００ｍの構成を示す図である。このデータ圧縮装置１００ｍの構成は、図２に示したデータ圧縮装置１００の、保持部１１０と共通ビット数検出部１２０との間に、差分生成部１５０および判定部１６０を追加した構成である。
【００６７】
差分生成部１５０は、保持部１１０から連続的に入力される複数のデジタル値の、連続するデジタル値間の差分値をそれぞれ求める。上述した例では、｛デジタル値Ｘｉ−デジタル値Ｘ（ｉ＋１）｝（ｉ＝０，．．．，５）を算出する。ここでは、デジタル値が６個であるため、５個の差分値が算出される。なお、差分値の正負は破棄されず、維持される。
【００６８】
判定部１６０は、差分生成部１５０により求められた全ての差分値が、上記全体破棄ビット数で表現可能な範囲内の値であるか否かを判定する。上述した例では、全体破棄ビット数が４であるため、その全体破棄ビット数で表現可能な範囲内の値は、−７〜＋７である。全体破棄ビット数の最上位ビットは符号ビットに当てられる。判定部１６０は、当該全ての差分値が上記全体破棄ビット数で表現可能な範囲内の値である場合、後述する差分圧縮方式で上記ビットストリームを生成するよう、組立部１４０および差分生成部１５０に指示する。当該全ての差分値のうちの一つでも、上記全体破棄ビット数で表現可能な範囲外の値がある場合、実施の形態１に係る圧縮方式で上記ビットストリームを生成するよう、共通ビット数検出部１２０および組立部１４０に指示する。
【００６９】
組立部１４０は、判定部１６０により当該全ての差分値が上記全体破棄ビット数で表現可能な範囲内の値である場合、圧縮方式が差分方式であることを示す識別情報、上記複数のデジタル値の先頭または最後尾のデジタル値、および上記全ての差分値を一単位のビットストリームとして組み立てる。例えば、圧縮方式が差分方式であることを示す識別情報としては、実施の形態２の上述の説明における８ビットを４ビットに変換する方式で共通ビット数が０〜４の範囲の値をとることになるので、共通ビット数の値以外の値、例えば７を割り当てるようにし、共通ビット数と識別することが可能となる。
【００７０】
図１０は、差分圧縮方式で生成されたビットストリームのデータ構造例を示す図である。当該ビットストリームでは、図６に示したビットストリームの共通ビット数の代わりに、圧縮方式が差分方式であることを示す識別情報が挿入される。その識別情報に続いて、先頭デジタル値Ｘ０、先頭デジタル値Ｘ０と２番目デジタル値Ｘ１との差分Δ１、２番目デジタル値Ｘ１と３番目デジタル値Ｘ２との差分Δ２、．．．、５番目デジタル値Ｘ４と６番目デジタル値Ｘ５との差分Δ５等、１つ前の隣接画素との差分が記述される。
【００７１】
そのため、実施の形態２に対応するデータ伸張装置では、ビットストリーム中の先頭数ビットの識別情報を参照して、圧縮方式が実施の形態１の圧縮方式であれば、実施の形態１の伸張方式と同様に伸張する一方、圧縮方式が差分方式であることを示す識別情報であれば、実施の形態２の圧縮差分方式とは逆に伸張処理、すなわち先頭デジタル値Ｘ０から順に差分Δ１、差分Δ２、．．．、差分Δ５の各差分値を加算または減算することにより、２番目デジタル値Ｘ１〜６番目デジタル値Ｘ５を復元することになる。
【００７２】
以上説明したように実施の形態２によれば、元のデジタル値と復元デジタル値との誤差の発生をさらに抑制することができる。差分圧縮方式では基本的に誤差が発生しないが、差分値の大きさがバラバラになる可能性があるため、圧縮率にバラツキが発生しやすいという性質がある。そのため、ハードウェア化に不向きである。しかしながら、全ての差分値を所定のビット数で表現できる場合、実施の形態１に係る圧縮方式より高品質に圧縮することができる。したがって、全ての差分値を所定のビット数で表現できる場合、差分圧縮方式を採用し、できない場合、実施の形態１に係る圧縮方式を採用することにより、圧縮率を一定に保ちながら、より高品質に圧縮することができる。
【００７３】
つまり、例えば、グラデーション等のように微小に徐々に画素値が変化していく場合、実施の形態１の圧縮方式では、所定ビット数の下位ビットを破棄しているので、隣接画素間の差分や廃棄する下位ビットのビット数によっては、ビットがＭＳＢの近くになった場合、復号した際に、元の信号値より隣接信号間の差が大きくなることにより、階段状の諧調が現れ、画質低下につながる恐れがある。しかし、実施の形態２の差分圧縮方式によれば、所定画素範囲内の全ての隣接画素間の差分が所定値内の場合は、グラデーション画像とみなせるので、実施の形態１の圧縮方式から実施の形態２の差分圧縮方式に切り替えれることにより、グラデーションのような微小な画像変化でも、高品質に圧縮することができる。
【００７４】
以上、本発明をいくつかの実施の形態をもとに説明した。これらの実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００７５】
例えば、上述したパラメータ（たとえば、Ｎ、ｒ）を固定ではなく、画像内容に応じて適応的に可変制御してもよい。たとえば、データ圧縮装置１００は、表示装置５００内の別の構成要素から、圧縮すべき画像内の輝度分布を取得する。取得された輝度分布が所定の基準パターンより平準化しているエリアの画素データを圧縮する場合、データ圧縮装置１００内の図示しない制御部は、Ｎの値を現在値より大きくするよう制御する。また、ｒの値を現在値より小さくするよう制御する。取得された輝度分布が所定の基準パターンよりばらついている場合、その逆に制御する。
【００７６】
また、上述した実施の形態では、データ圧縮装置１００とデータ伸張装置２００との間で、処理されるべき画像のサイズが既知であるとしたが、既知でない場合、上記ビットストリームの共通ビット数を記述する領域内にそのサイズを記述してもよい。もちろん、上記ビットストリームの他の領域に記述してもよい。
【００７７】
また、共通ビット数を記述する領域として４ビット分、確保し、共通ビット数を３ビットで記述し、残りの１ビットで、当該ビットストリームに含まれる画素データの画面上の位置情報を記述してもよい。主走査方向を横方向、副走査方向を縦方向とする走査方式を前提とし、画面の横ラインの先頭画素データを含むビットストリームでは、上記残りの１ビットに“１”を記述し、先頭画素データを含まないビットストリームでは、上記残りの１ビットに“０”を記述する。この情報により、ライン数のカウントや、同期をとることも容易となる。
【００７８】
また、上述した実施の形態では、圧縮すべきデジタルデータの一例として、画像データを説明したが、音声データでもよい。共通ビット数検出部１２０は、保持部１１０から連続的に入力される音声データを同様に処理することができる。
【符号の説明】
【００７９】
１００  データ圧縮装置、  １００ａ  第１圧縮部、  １００ｂ  第２圧縮部、  １１０  保持部、  １２０  共通ビット数検出部、  １３０  圧縮部、  １４０  組立部、  １５０  差分生成部、  １６０  判定部、  ２００ａ  第１伸張部、  ２００ｂ  第２伸張部、  ２００  データ伸張装置、  ２１０  保持部、  ２２０  分解部、  ２３０  伸張部、  ５００  表示装置、  ５１０  復号部、  ５２０  フレームメモリ、  ５３０  中間フレーム生成部、  ５４０  表示部、  ５５０  内部バス。
【図１】
2010232712.tif 000003
【図２】
2010232712.tif 000004
【図３】
2010232712.tif 000005
【図４】
2010232712.tif 000006
【図５】
2010232712.tif 000007
【図６】
2010232712.tif 000008
【図７】
2010232712.tif 000009
【図８】
2010232712.tif 000010
【図９】
2010232712.tif 000011
【図１０】
2010232712.tif 000012