JP5903597B2 - 画像圧縮装置、画像伸長装置および画像処理装置 - Google Patents

画像圧縮装置、画像伸長装置および画像処理装置 Download PDF

Info

Publication number
JP5903597B2
JP5903597B2 JP2012532401A JP2012532401A JP5903597B2 JP 5903597 B2 JP5903597 B2 JP 5903597B2 JP 2012532401 A JP2012532401 A JP 2012532401A JP 2012532401 A JP2012532401 A JP 2012532401A JP 5903597 B2 JP5903597 B2 JP 5903597B2
Authority
JP
Japan
Prior art keywords
quantization
image
mode
unit
quantization mode
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012532401A
Other languages
English (en)
Other versions
JPWO2013008370A1 (ja
Inventor
正之 廣本
正之 廣本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Intellectual Property Management Co Ltd
Original Assignee
Panasonic Intellectual Property Management Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Intellectual Property Management Co Ltd filed Critical Panasonic Intellectual Property Management Co Ltd
Priority to JP2012532401A priority Critical patent/JP5903597B2/ja
Publication of JPWO2013008370A1 publication Critical patent/JPWO2013008370A1/ja
Application granted granted Critical
Publication of JP5903597B2 publication Critical patent/JP5903597B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Description

本発明は、画像データを圧縮する画像圧縮装置、圧縮された画像データを伸長する画像伸長装置、および画像圧縮装置または画像伸長装置を備える画像処理装置に関する。
画像データを圧縮するための一般的な方法としては、あるビット数で表わされた画素値を、より少ないビット数で表現する、量子化が挙げられる。量子化は、データ量を削減できる反面、量子化誤差が発生するため、画像圧縮においては画質の劣化が生じる。
このような画質劣化を低減するための従来の画像圧縮技術としては、画素値のダイナミックレンジを利用する方法が提案されている(例えば、特許文献1参照)。
特許第2785822号公報
しかしながら、上記従来の画像圧縮方法では、画像ブロックに含まれる画素値のダイナミックレンジが広い場合、量子化誤差が大きくなるという課題を有していた。
本発明は、上記従来の課題を解決するためになされたものであり、ダイナミックレンジが広い場合でも、データ量の増加による圧縮率の低下を防ぎつつ、量子化誤差を小さくすることができる画像圧縮装置、画像伸長装置および画像処理装置を提供することを目的とする。
上記目的を達成するために、本発明の一態様に係る画像圧縮装置は、画像データの圧縮を行う画像圧縮装置であって、前記画像データに含まれる複数の画素値を、A1<B1なる2つの値A1およびB1を用い、前記A1と前記B1とで定義される1つの領域内で量子化する量子化モード1を実行する第一量子化部と、前記複数の画素値を、A2>B2なる2つの値A2およびB2を用い、前記A2と前記B2とで定義される2つの領域内で量子化する量子化モード2を実行する第二量子化部と、値Aと、値Bと、選択された量子化モードで量子化された前記複数の画素値における量子化値とを含む圧縮データを生成する圧縮データ生成部とを備え、前記圧縮データ生成部は、前記Aに、前記量子化モード1が選択された場合には前記A1を格納し、前記量子化モード2が選択された場合には前記A2を格納し、前記Bに、前記量子化モード1が選択された場合には前記B1を格納し、前記量子化モード2が選択された場合には前記B2を格納することで、前記圧縮データを生成する。
なお、本発明は、このような画像圧縮装置として実現することができるだけでなく、画像伸長装置や画像処理装置として実現したりすることもできる。また、本発明は、画像圧縮装置、画像伸長装置または画像処理装置に含まれる各処理部を備える集積回路として実現したりすることもできる。また、本発明は、画像圧縮装置、画像伸長装置または画像処理装置に含まれる各処理部の特徴的な処理をステップとする画像圧縮方法、画像伸長方法または画像処理方法として実現したりすることもできる。また、画像圧縮方法、画像伸長方法または画像処理方法に含まれる特徴的な処理をコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、CD−ROM等の記録媒体及びインターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
本発明に係る画像圧縮装置によれば、ダイナミックレンジが広い場合でも、データ量の増加による圧縮率の低下を防ぎつつ、量子化誤差を小さくすることができ、圧縮画像の画質を向上させることができる。
図1は、本発明の実施の形態における画像処理装置の構成を示す構成図である。 図2Aは、本発明の実施の形態における画像圧縮装置の構成を示す構成図である。 図2Bは、本発明の実施の形態における圧縮データ生成部の構成を示す構成図である。 図3は、本発明の実施の形態における第一量子化部の構成を示す構成図である。 図4は、本発明の実施の形態における第二量子化部の構成を示す構成図である。 図5は、本発明の実施の形態における画像伸長装置の構成を示す構成図である。 図6は、本発明の実施の形態における画像圧縮装置が画像データを圧縮する処理の一例を示すフローチャートである。 図7は、本発明の実施の形態における第一量子化部が量子化モード1で画素値を量子化する処理の一例を示すフローチャートである。 図8は、本発明の実施の形態における第一量子化部が画像ブロック内の画素値に対し、値A1および値B1を取得する処理を説明する図である。 図9は、本発明の実施の形態における量子化部がA1以上B1以下の範囲内で量子化を行うことを説明する図である。 図10は、本発明の実施の形態における第二量子化部が量子化モード2で画素値を量子化する処理の一例を示すフローチャートである。 図11は、本発明の実施の形態における第二量子化部が画像ブロック内の画素値に対し、値A2および値B2を取得する処理を説明する図である。 図12は、本発明の実施の形態における第二量子化部が2つの領域内で量子化を行うことを説明する図である。 図13は、本発明の実施の形態における量子化値割当部が2つの領域に量子化値を配分して割り当てることを説明する図である。 図14は、本発明の実施の形態における画像伸長装置が圧縮データを伸長する処理の一例を示すフローチャートである。 図15は、本発明の実施の形態の変形例1における第一量子化部が量子化モード1で画素値を量子化する処理の一例を示すフローチャートである。 図16は、本発明の実施の形態の変形例1における第二量子化部が量子化モード2で画素値を量子化する処理の一例を示すフローチャートである。 図17は、本発明の実施の形態の変形例2における画像圧縮装置が画像データを圧縮する処理の一例を示すフローチャートである。 図18は、本発明の実施の形態の変形例3における画像圧縮装置が複数チャネルの画像データを圧縮する処理を説明する図である。 図19は、本発明の実施の形態の変形例4における画像処理装置の構成を示す構成図である。 図20は、本発明の実施の形態の変形例5における画像圧縮装置の構成を示す構成図である。 図21は、本発明の実施の形態の変形例6における第一量子化部が量子化を行う処理を説明する図である。 図22は、本発明の実施の形態の変形例7における第二量子化部が量子化を行う処理を説明する図である。 図23は、従来の画像圧縮方法の処理を説明するためのフローチャートである。
(本発明の基礎となった知見)
本発明者は、「背景技術」の欄において記載した画像圧縮技術に関し、以下の問題が生じることを見出した。
図23は、上記特許文献1に記載された従来の画像圧縮方法の処理を説明するためのフローチャートである。
同図に示すように、複数の画素から成る画像ブロック単位で、画素値の最小値Aと最大値Bとを取得する(S2)。そして、最大値Bと最小値Aとの差として、ダイナミックレンジDR=B−Aを算出する(S4)。そして、上記ダイナミックレンジを(2−1)個の領域に等分し、2個の値を割り当てることでmビット値への量子化を行う(S6)。そして、上記最小値Aおよび最大値Bの2値と、各画素の量子化値とを含む圧縮データを生成する(S8)。
これにより、画素値の取り得るレンジ全体に対して量子化を行う場合に比べ、上記特許文献1の手法では、ダイナミックレンジが狭い場合に量子化誤差を小さくすることができる。一般的な画像においては、局所的な画像ブロック内ではダイナミックレンジが狭い場合が多いため、上記手法は画像圧縮の画質向上に効果的である。
しかしながら、上記の画像圧縮方法では、画像ブロックに含まれる画素値のダイナミックレンジが広い場合、ダイナミックレンジを(2−1)個の領域に等分した際の個々の領域幅が大きくなり、それに伴い量子化誤差が大きくなるという課題を有していた。
このような場合、量子化を行う領域を複数の領域に分割し、画素値の存在する領域のみで量子化することにより量子化誤差を低減することが可能であるが、複数の領域を用いる場合、量子化後のデータがどの領域に属するかを識別するための情報が余分に必要となり、圧縮後のデータ量が大きくなり、圧縮率の低下を招く。
本発明は、上記の課題を解決するためになされたものであり、ダイナミックレンジが広い場合でも、データ量の増加による圧縮率の低下を防ぎつつ、量子化誤差を小さくすることができる画像圧縮装置、画像伸長装置および画像処理装置を提供することを目的とする。
上記目的を達成するために、本発明の一態様に係る画像圧縮装置は、画像データの圧縮を行う画像圧縮装置であって、前記画像データに含まれる複数の画素値を、A1<B1なる2つの値A1およびB1を用い、前記A1と前記B1とで定義される1つの領域内で量子化する量子化モード1を実行する第一量子化部と、前記複数の画素値を、A2>B2なる2つの値A2およびB2を用い、前記A2と前記B2とで定義される2つの領域内で量子化する量子化モード2を実行する第二量子化部と、値Aと、値Bと、選択された量子化モードで量子化された前記複数の画素値における量子化値とを含む圧縮データを生成する圧縮データ生成部とを備え、前記圧縮データ生成部は、前記Aに、前記量子化モード1が選択された場合には前記A1を格納し、前記量子化モード2が選択された場合には前記A2を格納し、前記Bに、前記量子化モード1が選択された場合には前記B1を格納し、前記量子化モード2が選択された場合には前記B2を格納することで、前記圧縮データを生成する。
これによれば、画像圧縮装置は、複数の画素値を1つの領域内で量子化する量子化モード1と、複数の画素値を2つの領域に分割して当該2つの領域内で量子化する量子化モード2とを実行する機能を備えている。そして、画像圧縮装置は、量子化モード1が選択された場合には、A1<B1の関係にあるA1をAとしB1をBとし、量子化モード2が選択された場合には、A2>B2の関係にあるA2をAとしB2をBとして、当該Aと、当該Bと、量子化値とを含む圧縮データを生成する。つまり、A<Bであれば量子化モード1が選択されており、A>Bであれば量子化モード2が選択されていることになるため、従来から必要なデータであったAおよびBの2つの値を利用して、選択された量子化モードを区別することができる。このため、2つの量子化モードを区別するための情報を圧縮データに付加することなく、従来技術と同等の量子化モード1に加えて、2つの領域で量子化を行う量子化モード2が利用可能となり、これらのうち選択される適切な量子化モードで、画像圧縮を行うことができる。また、量子化モード2を実行することにより、ダイナミックレンジが広い画像データにおいても、画素値が2つの領域に集中している場合には、それぞれの領域幅が狭くなり、量子化誤差を小さくすることができる。これらにより、ダイナミックレンジが広い場合でも、データ量の増加による圧縮率の低下を防ぎつつ、量子化誤差を小さくすることができる。
また、例えば、前記第一量子化部は、前記複数の画素値を、前記A1以上前記B1以下の領域である前記1つの領域内で量子化する前記量子化モード1を実行することにしてもよい。
これによれば、第一量子化部において定義される1つの領域は、A1以上B1以下の領域である。つまり、画像圧縮装置は、複数の画素値が当該A1以上B1以下の当該1つの領域内に集中している場合に、当該複数の画素値を当該1つの領域内で量子化する第一量子化部を備えている。これにより、画像圧縮装置は、複数の画素値が当該1つの領域内に集中している場合には、A1およびB1の2つの値を利用して、画像圧縮を行うことができる。
また、例えば、前記第二量子化部は、nビットの前記複数の画素値を、0以上前記B2以下の領域、及び前記A2以上2−1以下の領域である前記2つの領域内で量子化する前記量子化モード2を実行することにしてもよい。
これによれば、第二量子化部において定義される2つの領域は、0以上B2以下の領域、及びA2以上2−1以下の領域である。つまり、画像圧縮装置は、複数の画素値が当該0以上B2以下の領域とA2以上2−1以下の領域との当該2つの領域内に集中している場合に、当該複数の画素値を当該2つの領域内で量子化する第二量子化部を備えている。これにより、画像圧縮装置は、複数の画素値が当該2つの領域内に集中している場合には、A2およびB2の2つの値を利用して、画像圧縮を行うことができる。
また、例えば、前記圧縮データ生成部は、前記量子化モード1および前記量子化モード2のうち、量子化すべき量子化モードを選択する量子化モード選択部を備え、選択された量子化モードに従って、前記圧縮データを生成することにしてもよい。
これによれば、画像圧縮装置は、量子化モード1および量子化モード2のうち、量子化すべき量子化モードを選択して、選択された量子化モードに従って、圧縮データを生成する。このため、画像圧縮装置は、適切な量子化モードを選択し、選択された量子化モードに従って、最適な画像圧縮を行うことができる。
また、例えば、前記第一量子化部は、さらに、前記量子化モード1における量子化誤差を算出し、前記第二量子化部は、さらに、前記量子化モード2における量子化誤差を算出し、前記量子化モード選択部は、前記量子化すべき量子化モードとして、前記第一量子化部および前記第二量子化部による量子化誤差の算出結果を用いて、量子化誤差の小さい量子化モードを選択することにしてもよい。
これによれば、画像圧縮装置は、量子化モード1および量子化モード2における量子化誤差を算出し、量子化誤差の小さい量子化モードを選択する。これにより、ダイナミックレンジが広い場合でも、データ量の増加による圧縮率の低下を防ぎつつ、量子化誤差を小さくすることができる。
また、例えば、前記第一量子化部は、さらに、前記B1から前記A1を差し引いた値を、前記量子化モード1における領域幅である第一領域幅として算出し、前記第二量子化部は、さらに、前記複数の画素値がnビットで表現される場合に、前記B2の値と、2−1から前記A2を差し引いた値との合計値を、前記量子化モード2における領域幅である第二領域幅として算出し、前記量子化モード選択部は、前記量子化すべき量子化モードとして、前記第一領域幅および前記第二領域幅のうち小さい領域幅に対応する量子化モードを選択することにしてもよい。
これによれば、画像圧縮装置は、量子化モード1における領域幅と、量子化モード2における領域幅とを算出し、小さい領域幅に対応する量子化モードを選択する。ここで、領域幅が小さい場合には、画素値が当該領域に集中していることになるので、領域幅が小さい場合の量子化モードで量子化を行った方が、量子化誤差を小さくすることができる。このため、ダイナミックレンジが広い場合でも、データ量の増加による圧縮率の低下を防ぎつつ、量子化誤差を小さくすることができる。
また、例えば、前記第二量子化部は、複数の前記A2と前記B2との組について、前記量子化モード2における量子化誤差または領域幅を算出し、前記量子化モード選択部は、前記量子化すべき量子化モードとして、前記第一量子化部による算出結果、および前記第二量子化部による前記複数の組についての複数の算出結果を用いて、量子化誤差または領域幅が最小となる量子化モードを選択し、前記圧縮データ生成部は、選択された量子化モードが前記量子化モード2の場合、最小の量子化誤差または領域幅となるA2およびB2をAおよびBとして、当該Aと、当該Bと、当該量子化モード2で量子化された前記複数の画素値における量子化値とを含む前記圧縮データを生成することにしてもよい。
これによれば、画像圧縮装置は、複数のA2とB2との組について、量子化モード2における量子化誤差または領域幅を算出し、その算出結果を用いて、量子化誤差または領域幅が最小となる量子化モードを選択し、選択した量子化モードにおける圧縮データを生成する。ここで、量子化モード2においては、A2とB2との組合せによっては、量子化誤差が異なる場合がある。このため、画像圧縮装置は、量子化モード2において、複数のA2とB2との組について計算を行うことで、量子化誤差が小さくなる最適なケースを選択することができる。これにより、ダイナミックレンジが広い場合でも、データ量の増加による圧縮率の低下を防ぎつつ、量子化誤差を小さくすることができる。
また、例えば、前記第一量子化部は、前記複数の画素値のうち、最小の画素値を前記A1とし、最大の画素値を前記B1として、前記量子化モード1を実行し、前記第二量子化部は、前記複数の画素値を2つの領域に分割した場合の、画素値が小さい方の領域における最大の画素値を前記B2とし、画素値が大きい方の領域における最小の画素値を前記A2として、前記量子化モード2を実行することにしてもよい。
これによれば、画像圧縮装置は、複数の画素値のうちの最小値をA1、最大値をB1として、量子化モード1を実行し、複数の画素値を分割した2つの領域のうち、画素値が小さい方の領域における画素値の最大値をB2、画素値が大きい方の領域における画素値の最小値をA2として、量子化モード2を実行する。これにより、A1、B1、A2およびB2を容易に取得し、量子化モードを実行することができる。
また、例えば、前記第二量子化部は、前記量子化モード2を実行する2つの領域に対して、それぞれの領域に量子化値を配分して割り当て、それぞれの領域内で割り当てた量子化値での量子化を行うことにしてもよい。
これによれば、画像圧縮装置は、量子化モード2において、2つの領域に量子化値を配分して割り当て、それぞれの領域内で量子化を行う。例えば、量子化モード1と同じ量子化値を2つの領域に配分して割り当てる。これにより、量子化モード2において領域が2つに分割されても、領域が1つの量子化モード1と同じ量子化値で、量子化を行うことができる。
また、例えば、前記第二量子化部は、前記2つの領域に対して、それぞれの領域の幅に応じて量子化値を比例配分して割り当て、それぞれの領域内で割り当てた量子化値での量子化を行うことにしてもよい。
これによれば、画像圧縮装置は、量子化モード2において、2つの領域に対して、それぞれの領域の幅に応じて量子化値を比例配分して割り当て、それぞれの領域内で量子化を行う。つまり、領域の幅が大きいほど、画素値のばらつきが大きいため、多くの量子化値を割り当てる。これにより、当該2つの領域において、量子化誤差の値を均等化し、当該量子化誤差を小さくすることができる。
また、例えば、前記画像データは、複数のチャネルを有する画像データであり、前記第一量子化部は、前記複数のチャネルに対して、それぞれのチャネルに量子化するビット数を配分して割り当て、それぞれのチャネルにおいて割り当てたビット数に従って量子化を行い、前記第二量子化部は、前記複数のチャネルに対して、それぞれのチャネルに量子化するビット数を配分して割り当て、それぞれのチャネルにおいて割り当てたビット数に従って量子化を行うことにしてもよい。
これによれば、画像データは、複数のチャネルを有する画像データであり、画像圧縮装置は、量子化モード1および量子化モード2において、当該複数のチャネルに量子化するビット数を配分して割り当て、それぞれのチャネルにおいて量子化を行う。例えば、画像の特徴から、それぞれのチャネルのデータ量に応じたビット数を割り当てる。これにより、画像圧縮装置は、当該複数のチャネルにおいて、量子化誤差の値を均等化し、当該量子化誤差を小さくすることができる。
また、例えば、前記第一量子化部は、前記複数のチャネルに対して、それぞれのチャネルの領域幅であるダイナミックレンジ幅に応じて、それぞれのチャネルに量子化するビット数を比例配分して割り当て、それぞれのチャネルにおいて割り当てたビット数に従って量子化を行い、前記第二量子化部は、前記複数のチャネルに対して、それぞれのチャネルの前記ダイナミックレンジ幅に応じて、それぞれのチャネルに量子化するビット数を比例配分して割り当て、それぞれのチャネルにおいて割り当てたビット数に従って量子化を行うことにしてもよい。
これによれば、画像圧縮装置は、量子化モード1および量子化モード2において、それぞれのチャネルのダイナミックレンジ幅に応じて、当該複数のチャネルに量子化するビット数を比例配分して割り当て、それぞれのチャネルにおいて量子化を行う。つまり、ダイナミックレンジ幅が大きいほど、多くの量子化値を割り当てる。これにより、複数のチャネルにおいて、量子化誤差の値を均等化し、当該量子化誤差を小さくすることができる。
また、例えば、前記第一量子化部は、前記画像データに含まれる複数の画素からなる画像ブロックごとに、前記画像ブロックにおける前記複数の画素値を量子化する前記量子化モード1を実行し、前記第二量子化部は、前記画像ブロックごとに、前記複数の画素値を量子化する前記量子化モード2を実行し、前記圧縮データ生成部は、前記画像ブロックごとに、前記圧縮データを生成することにしてもよい。
これによれば、画像圧縮装置は、画像ブロックごとに、量子化モード1および量子化モード2を実行し、圧縮データを生成する。つまり、画像圧縮装置は、画像データのデータ量が多い場合には、当該画像データを複数の画像ブロックに分割して、当該画像ブロックごとに画像圧縮を行う。これにより、画像圧縮装置は、画像データのデータ量が多い場合でも、全ての画像データについて、画像圧縮を行うことができる。
また、上記目的を達成するために、本発明の一態様に係る画像伸長装置は、画像圧縮装置により圧縮された画像データである前記圧縮データを伸長する画像伸長装置であって、前記圧縮データに含まれる前記Aおよび前記Bの大小関係により、前記量子化モード1および前記量子化モード2のうち、前記圧縮データに含まれる量子化値に対応する量子化モードを判定する量子化モード判定部と、判定された量子化モードにより、前記量子化値を画素値に逆量子化する逆量子化部とを備える。
これによれば、画像伸長装置は、圧縮データに含まれるAおよびBの大小関係により量子化モードを判定し、判定した量子化モードに対応した逆量子化を行う。画像伸長装置は、例えば、A<Bであれば量子化モード1であると判定し、A>Bであれば量子化モード2であると判定して、逆量子化を行う。これにより、画像伸長装置は、AおよびBを参照することで、画像圧縮装置により圧縮された圧縮データを伸長して、当該圧縮データが圧縮される前の画像データを生成することができる。
また、上記目的を達成するために、本発明の一態様に係る画像処理装置は、画像圧縮装置と、画像伸長装置と、前記画像圧縮装置に画像データを送信するとともに、前記画像伸長装置から画像データを受信する画像処理部とを備え、前記画像圧縮装置は、前記画像処理部から受信した画像データを圧縮して圧縮データを生成し、生成した圧縮データをメモリに書き込み、前記画像伸長装置は、前記メモリに書き込まれている圧縮データを前記メモリから読み出し、読み出した圧縮データを伸長して画像データを生成し、生成した画像データを前記画像処理部に送信する。
これによれば、画像処理装置は、圧縮データを生成してメモリに書き込む画像圧縮装置と、メモリから圧縮データを読み出し伸長して画像データを生成する画像伸長装置と、画像圧縮装置に画像データを送信するとともに、画像伸長装置から画像データを受信する画像処理部とを備えている。これにより、画像データを圧縮して圧縮率の低下を防ぎつつ量子化誤差が小さい圧縮データを生成し、当該圧縮データを画像データに戻す画像処理装置を実現することができる。
なお、本発明は、このような画像圧縮装置、画像伸長装置および画像処理装置として実現することができるだけでなく、画像圧縮装置、画像伸長装置または画像処理装置に含まれる各処理部を備える集積回路として実現したりすることもできる。また、本発明は、画像圧縮装置、画像伸長装置または画像処理装置に含まれる各処理部の特徴的な処理をステップとする画像圧縮方法、画像伸長方法または画像処理方法として実現したりすることもできる。また、画像圧縮方法、画像伸長方法または画像処理方法に含まれる特徴的な処理をコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、CD−ROM等の記録媒体及びインターネット等の伝送媒体を介して流通させることができるのは言うまでもない。また、本発明は、上記の装置、方法、集積回路、プログラムまたは記録媒体の任意な組み合わせで実現されてもよい。
以下、本発明の実施の形態における画像圧縮装置、画像伸長装置および画像処理装置について、図面を参照しながら説明する。なお、以下で説明する実施の形態は、いずれも本発明の一具体例を示すものである。以下の実施の形態で示される数値、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
(実施の形態)
図1は、本発明の実施の形態における画像処理装置10の構成を示す構成図である。
画像処理装置10は、画像データに所定の処理を加えたり、画像データを圧縮して圧縮データを生成したり、当該圧縮データを伸長して元の画像データに戻したりする装置である。例えば、画像処理装置10は、テレビ、レコーダ、携帯電話、ビデオカメラ等のディジタル画像処理機器、または当該ディジタル画像処理機器に内蔵されている装置である。同図に示すように、画像処理装置10は、画像処理部100、画像圧縮装置200、メモリ300および画像伸長装置400を備えている。
画像処理部100は、画像データに対して何らかの処理を行う装置である。例えば、画像処理部100として、簡単なものでは、レベル変換やフィルタリングを行う装置が、複雑なものではコンピュータグラフィックスを描画するグラフィックスエンジン等が挙げられる。
また、画像処理部100は、メモリ300に対して必要な画像データの読み出し、および処理結果である画像データの書き込みを行う。つまり、画像処理部100は、画像圧縮装置200に画像データを送信してメモリ300に書き込むとともに、画像伸長装置400がメモリ300から読み出して伸長した画像データを画像伸長装置400から受信する。
画像圧縮装置200は、画像データの書き込み時に、画像データの圧縮を行う。つまり、画像圧縮装置200は、画像処理部100から受信した画像データを圧縮して圧縮データを生成し、生成した圧縮データをメモリ300に書き込む。
メモリ300は、画像圧縮装置200が生成した圧縮データなどを記憶しているメモリである。なお、メモリ300は、画像処理装置10に含まれておらず、画像処理装置10に外付けされていることにしてもよい。
画像伸長装置400は、画像データの読み出し時に、画像データの伸長を行う。つまり、画像伸長装置400は、メモリ300に書き込まれている圧縮データをメモリ300から読み出し、読み出した圧縮データを伸長して画像データを生成し、生成した画像データを画像処理部100に送信する。
次に、画像圧縮装置200の構成の詳細について、説明する。
図2Aは、本発明の実施の形態における画像圧縮装置200の構成を示す構成図である。また、図2Bは、本発明の実施の形態における圧縮データ生成部240の構成を示す構成図である。
画像圧縮装置200は、画像データの圧縮を行う装置であり、画像処理部100から入力される画像データを圧縮して、メモリ300に圧縮データを出力する。なお、本実施の形態では、画像圧縮装置200は、当該画像データに含まれる複数の画素からなる画像ブロックごとに画像データの圧縮を行う。ここで、画像ブロックとは、例えば、4×4=16画素で構成されるブロックである。
まず、図2Aに示すように、画像圧縮装置200は、第一量子化部210、第二量子化部220および圧縮データ生成部240を備えている。
第一量子化部210は、画像データに含まれる複数の画素値を、A1<B1なる2つの値A1およびB1を用い、当該A1とB1とで定義される1つの領域内で量子化する量子化モード1を実行する。具体的には、本実施の形態では、第一量子化部210は、画像ブロックごとに、当該画像ブロックにおける複数の画素値を、A1以上B1以下の領域である1つの領域内で量子化する量子化モード1を実行する。
また、第一量子化部210は、当該量子化モード1における量子化誤差を算出する。なお、第一量子化部210の詳細な構成については、後述する。
第二量子化部220は、当該複数の画素値を、A2>B2なる2つの値A2およびB2を用い、当該A2とB2とで定義される2つの領域内で量子化する量子化モード2を実行する。具体的には、本実施の形態では、第二量子化部220は、画像ブロックごとに、当該画像ブロックにおけるnビットの複数の画素値を、0以上B2以下の領域、及びA2以上2−1以下の領域である2つの領域内で量子化する量子化モード2を実行する。
また、第二量子化部220は、当該量子化モード2における量子化誤差を算出する。なお、第二量子化部220の詳細な構成については、後述する。
圧縮データ生成部240は、値Aと、値Bと、選択された量子化モードで量子化された複数の画素値における量子化値とを含む圧縮データを生成する。具体的には、圧縮データ生成部240は、当該Aに、量子化モード1が選択された場合にはA1を格納し、量子化モード2が選択された場合にはA2を格納し、当該Bに、量子化モード1が選択された場合にはB1を格納し、量子化モード2が選択された場合にはB2を格納することで、当該圧縮データを生成する。そして、圧縮データ生成部240は、生成した圧縮データをメモリ300に出力する。
ここで、図2Bに示すように、圧縮データ生成部240は、量子化モード選択部230を備えている。つまり、圧縮データ生成部240は、量子化モード選択部230が選択した量子化モードに従って、画像ブロックごとに、圧縮データを生成する。
量子化モード選択部230は、量子化モード1および量子化モード2のうち、量子化すべき量子化モードを選択する。具体的には、量子化モード選択部230は、量子化すべき量子化モードとして、第一量子化部210および第二量子化部220による量子化誤差の算出結果を用いて、量子化誤差の小さい量子化モードを選択する。
次に、第一量子化部210の構成の詳細について、説明する。
図3は、本発明の実施の形態における第一量子化部210の構成を示す構成図である。
同図に示すように、第一量子化部210は、入力された画像データを量子化モード1によって量子化する処理部であり、量子化モード1での量子化値を算出する第一量子化値算出部211と、量子化モード1における量子化誤差を算出する量子化誤差算出部215とを備えている。また、第一量子化値算出部211は、最小値計算部212、最大値計算部213および量子化部214を備えている。
最小値計算部212は、入力された画像ブロック内に含まれる複数の画素における複数の画素値のうち、最小の画素値であるA1を計算する。
最大値計算部213は、入力された画像ブロック内に含まれる複数の画素における複数の画素値のうち、最大の画素値であるB1を計算する。
量子化部214は、最小値計算部212および最大値計算部213が計算した最小値A1および最大値B1を用い、A1以上B1以下の範囲内で各画素値の量子化を行い、量子化値を出力する。
量子化誤差算出部215は、量子化部214により量子化された値をもとに、元の入力画像からの量子化誤差を計算する。
次に、第二量子化部220の構成の詳細について、説明する。
図4は、本発明の実施の形態における第二量子化部220の構成を示す構成図である。
同図に示すように、第二量子化部220は、入力された画像データを量子化モード2によって量子化する処理部であり、量子化モード2での量子化値を算出する第二量子化値算出部221と、量子化モード2における量子化誤差を算出する量子化誤差算出部227とを備えている。また、第二量子化値算出部221は、領域判定部222、最小値計算部223、最大値計算部224、量子化値割当部225および量子化部226を備えている。
領域判定部222は、入力された画像データに含まれる各画素値が、0以上2−1以下の値Pに対し、0以上P未満の領域と、P以上2−1以下の領域の、どちらに属するかの判定を行う。
最小値計算部223は、画素値が小さい方の領域である0以上P未満の画素値における、最大の画素値であるB2を計算する。
最大値計算部224は、画素値が大きい方の領域であるP以上2−1以下の画素値における、最小の画素値であるA2を計算する。
量子化値割当部225は、最小値計算部223および最大値計算部224が計算した最小値A2および最大値B2を用い、量子化モード2を実行する2つの領域に対して、各領域に量子化値を配分して割り当てる。具体的には、量子化値割当部225は、当該2つの領域に対して、それぞれの領域の幅に応じて量子化値を比例配分して割り当てる。
量子化部226は、それぞれの領域内で割り当てられた量子化値により、各画素値の量子化を行い、量子化値を出力する。
量子化誤差算出部227は、量子化部226により量子化された値をもとに、元の入力画像からの量子化誤差を計算する。
次に、画像伸長装置400の構成の詳細について、説明する。
図5は、本発明の実施の形態における画像伸長装置400の構成を示す構成図である。
画像伸長装置400は、画像圧縮装置200により圧縮された画像データである圧縮データを伸長する装置であり、メモリ300から入力される圧縮データを伸長して、画像処理部100に画像データを出力する。同図に示すように、画像伸長装置400は、量子化モード判定部410と逆量子化部420とを備えている。
量子化モード判定部410は、入力される圧縮データに含まれる値Aおよび値Bの大小関係により、量子化モード1および量子化モード2のうち、圧縮データに含まれる量子化値に対応する量子化モードを判定する。つまり、量子化モード判定部410は、AおよびBの大小を比較し、圧縮データが量子化モード1で生成されたものか、量子化モード2で生成されたものか、いずれであるかを判定する。
逆量子化部420は、量子化モード判定部410が判定した量子化モードにより、量子化値を画素値に逆量子化する。ここで、逆量子化部420は、第一逆量子化部421、第二逆量子化部422および量子化モード選択部423を備えている。
第一逆量子化部421は、圧縮データに含まれる各画素の量子化値を、量子化モード1により量子化されたものとして逆量子化を行い、それぞれの画素値を計算する。
第二逆量子化部422は、圧縮データに含まれる各画素の量子化値を、量子化モード2により量子化されたものとして逆量子化を行い、それぞれの画素値を計算する。
量子化モード選択部423は、量子化モード判定部410の判定結果により、第一逆量子化部421の出力結果、または第二逆量子化部422の出力結果を選択し、画像処理部100に画像データとして出力する。
なお、量子化モード選択部423は、量子化モード判定部410の判定結果に従って、第一逆量子化部421または第二逆量子化部422に逆量子化を行わせ、逆量子化を行った第一逆量子化部421または第二逆量子化部422が、出力結果を画像処理部100に画像データとして出力することにしてもよい。
次に、画像圧縮装置200が画像データを圧縮する処理の詳細について、説明する。
図6は、本発明の実施の形態における画像圧縮装置200が画像データを圧縮する処理の一例を示すフローチャートである。
ここでは、入力画素値のビット幅をnとし、各画素値をmビットに量子化するものとする。なお、簡単のため、入力画像は1チャネルのグレースケール画像とするが、RGBの3チャネルや、ARGBの4チャネル等、複数チャネルを持つ画像に対しても、各チャネルに対して本実施の形態を適用することにより、容易に拡張することができる。
同図に示すように、第一量子化ステップとして、第一量子化部210は、A1<B1なる2つの値A1およびB1を用い、A1とB1とで定義される1つの領域内で量子化する量子化モード1で画素値を量子化し、量子化誤差を算出する(S102)。つまり、第一量子化部210は、複数の画素値を、A1<B1なる2つの値A1およびB1を用いて、A1以上B1以下の領域内で量子化する量子化モード1を実行する。なお、この第一量子化部210が量子化モード1で画素値を量子化する処理の詳細な説明については、後述する。
また、第二量子化ステップとして、第二量子化部220は、A2>B2なる2つの値A2およびB2を用い、A2とB2とで定義される2つの領域内で量子化する量子化モード2で画素値を量子化し、量子化誤差を算出する(S104)。つまり、第二量子化部220は、当該複数の画素値を、A2>B2なる2つの値A2およびB2を用いて、0以上B2以下の領域と、A2以上2−1以下の領域との、2つの領域内で量子化する量子化モード2を実行する。なお、この第二量子化部220が量子化モード2で画素値を量子化する処理の詳細な説明については、後述する。
なお、量子化モード1での量子化処理(S102)と量子化モード2での量子化処理(S104)とを並行して行う必要はなく、いずれかの処理を先に行うことで当該2つの処理を順番に行うことにしてもよい。特に、第一量子化部210および第二量子化部220がソフトウェアで構成されている場合には、当該2つの処理を順番に行うことで実現可能である。
そして、圧縮データ生成ステップとして、圧縮データ生成部240は、値Aと、値Bと、選択された量子化モードで量子化された複数の画素値における量子化値とを含む圧縮データを生成する(S108)。
具体的には、量子化モード1および量子化モード2によりそれぞれ量子化が行われた後、量子化モード選択部230が、量子化誤差の少ない量子化モードを選択する。この際、各量子化モードは、値Aおよび値Bの大小により区別可能であるため、新たに量子化モードを識別するための情報ビットを付加する必要はない。
そして、圧縮データ生成部240は、選択された量子化モードが量子化モード1の場合にはA1をAとしB1をBとし、選択された量子化モードが量子化モード2の場合にはA2をAとしB2をBとして、当該Aと、当該Bと、当該選択された量子化モードで量子化された複数の画素値における量子化値とを含む圧縮データを生成する。そして、圧縮データ生成部240は、生成した圧縮データをメモリ300に出力する。
以上により、画像圧縮装置200が画像データを圧縮する処理は、終了する。
次に、第一量子化部210が量子化モード1で画素値を量子化する処理(図6のS102)の詳細について、説明する。
図7は、本発明の実施の形態における第一量子化部210が量子化モード1で画素値を量子化する処理の一例を示すフローチャートである。
同図に示すように、まず、第一量子化部210は、画像ブロック内の画素値に対して、値A1および値B1を取得する(S202)。
図8は、本発明の実施の形態における第一量子化部210が画像ブロック内の画素値に対し、値A1および値B1を取得する処理を説明する図である。
同図に示すように、第一量子化部210の第一量子化値算出部211の最小値計算部212は、入力された画像ブロック内に含まれる複数の画素における複数の画素値のうち、最小の画素値である最小値A1を計算により取得する。また、最大値計算部213は、当該複数の画素値のうち、最大の画素値である最大値B1を計算により取得する。ここで、最小値A1および最大値B1は、0≦A1≦B1≦2−1を満たす2つの値である。
図7に戻り、次に、量子化部214は、最小値計算部212および最大値計算部213が計算した最小値A1および最大値B1を用いて、ダイナミックレンジDR=B1−A1を算出する(S204)。具体的には、量子化部214は、図8に示す領域の幅DRを算出する。
そして、量子化部214は、当該ダイナミックレンジ内であるA1以上B1以下の範囲内で各画素値の量子化を行い、量子化値を出力する(S206)。
図9は、本発明の実施の形態における量子化部214がA1以上B1以下の範囲内で量子化を行うことを説明する図である。
同図に示すように、量子化部214は、同図の(a)および(b)に示すように、0〜255(上記のn=8の場合)の画素値のうち、画素のある部分の画素値であるA1以上B1以下のダイナミックレンジDRを取り出す。そして、同図の(b)および(c)に示すように、量子化部214は、当該ダイナミックレンジDRの範囲内で量子化(同図では、3bitへの量子化)を行う。これにより、量子化誤差を低減することができる。
そして、図7に戻り、量子化誤差算出部215は、量子化部214により量子化された値をもとに、元の入力画像からの量子化誤差を算出する(S208)。
以上により、第一量子化部210が量子化モード1で画素値を量子化する処理(図6のS102)は、終了する。
次に、第二量子化部220が量子化モード2で画素値を量子化する処理(図6のS104)の詳細について、説明する。
図10は、本発明の実施の形態における第二量子化部220が量子化モード2で画素値を量子化する処理の一例を示すフローチャートである。
同図に示すように、まず、第二量子化部220は、画像ブロック内の画素値に対して、2つの値A2、B2を取得する(S302)。
図11は、本発明の実施の形態における第二量子化部220が画像ブロック内の画素値に対し、値A2および値B2を取得する処理を説明する図である。
同図に示すように、これらの2値は、0≦B2<A2≦2−1となるように求められる。具体的には、第二量子化部220の第二量子化値算出部221の領域判定部222は、入力された画像データに含まれる各画素値が、0以上2−1以下の値Pに対し、0以上P未満の領域と、P以上2−1以下の領域の、どちらに属するかの判定を行う。
そして、最小値計算部223は、画素値が小さい方の領域である0以上P未満の画素値における、最大の画素値であるB2を計算する。
そして、最大値計算部224は、画素値が大きい方の領域であるP以上2−1以下の画素値における、最小の画素値であるA2を計算する。なお、同図に示すように、一般的には、Pは2n−1等の中間的な値にするのが好ましい。
図10に戻り、次に、量子化値割当部225は、最大値計算部224および最小値計算部223が計算した値Aおよび値Bから、2つの領域の幅DR1およびDR2を算出する(S304)。具体的には、量子化値割当部225は、DR1=B2、DR2=2−1−A2として、それぞれの領域の幅を算出する。
図12は、本発明の実施の形態における第二量子化部220が2つの領域内で量子化を行うことを説明する図である。
同図に示すように、第二量子化部220は、同図の(a)および(b)に示すように、0〜255(上記のn=8の場合)の画素値のうち、画素のある部分の画素値である0以上B2以下の領域DR1とA2以上255以下の領域DR2とを取り出す。そして、第二量子化部220は、DR1およびDR2の範囲内で量子化を行う。これにより、量子化誤差を低減することができる。
つまり、図9に示したように、量子化モード1においては、画素値の分散が小さく、ダイナミックレンジDRが小さくなる時に効果的に量子化が行えることが分かる。
一方、図12に示すように、量子化モード2においては、画素値の分布が2つの領域に分かれており、かつそれぞれの分散が小さく、DR1およびDR2が小さくなる時に効果的に量子化が行えることが分かる。ここで、上記量子化方法によれば、量子化モード1においては、A1≦B1が、量子化モード2においてはA2>B2が、それぞれ成立することが保証される。
そして、図10に戻り、量子化値割当部225は、量子化モード2を実行する2つの領域に対して、各領域に量子化値を配分して割り当てる(S306)。
図13は、本発明の実施の形態における量子化値割当部225が2つの領域に量子化値を配分して割り当てることを説明する図である。
量子化値割当部225は、DR1およびDR2を用い、2個の量子化値を2つの領域へと割り当てる。例えば、同図に示すように、量子化値割当部225は、8ビット(n=8)の画素値である0〜255の範囲の画素値に、4ビット(m=4)の量子化値である0〜15の16値を割り当てる。
具体的には、量子化値割当部225は、DR1およびDR2の大きさにより、2個の量子化値を比例配分し、各領域に割り当てる。同図では、0〜10の画素値のDR1の領域に0〜3の4値の量子化値を割り当て、225〜255の画素値のDR2の領域に4〜15の12値の量子化値を割り当てている。
なお、DR1へと割り当てられた量子化値の数をN1個、DR2へと割り当てられた量子化値の数をN2個とすると、N1+N2=2である。
そして、図10に戻り、量子化部226は、それぞれの領域内で割り当てられた量子化値を用い、各領域内で各画素値の量子化を行い、量子化値を出力する(S308)。
そして、量子化誤差算出部227は、量子化部226により量子化された値をもとに、画像ブロック全体の量子化誤差を算出する(S310)。
以上により、第二量子化部220が量子化モード2で画素値を量子化する処理(図6のS104)は、終了する。
次に、画像伸長装置400が、画像圧縮処理により圧縮された画像データである圧縮データを伸長する処理について、説明する。
図14は、本発明の実施の形態における画像伸長装置400が圧縮データを伸長する処理の一例を示すフローチャートである。つまり、同図は、値A、値Bおよびmビットに量子化された各画素に対応する量子化値が含まれた圧縮データから、複数の画素値より成る画像ブロックを生成する処理を示す図である。なお、圧縮処理同様、1チャネルの画像についてのみ説明するが、複数チャネル画像への拡張も可能である。
同図に示すように、量子化モード判定部410は、圧縮データに含まれる値Aおよび値Bを比較して、A≦Bであるか否かを判断する(S402)。
そして、量子化モード判定部410は、A≦Bであると判断した場合(S402でY)は、量子化モード1による逆量子化を行うと判定し、A>Bであると判断した場合(S402でN)は、量子化モード2による逆量子化を行うと判定する。
つまり、量子化モード1による逆量子化においては、第一逆量子化部421は、圧縮データ中の量子化値を、量子化モード1により量子化されたものとして、A以上B以下の範囲内で逆量子化を行う(S404)。
また、量子化モード2による逆量子化においては、第二逆量子化部422は、圧縮データ中の量子化値を、量子化モード2により量子化されたものとして、逆量子化を行う。
具体的には、第二逆量子化部422は、圧縮処理中の処理(図10のS304およびS306)と同様の処理により、まず、0以上B以下の領域と、A以上2−1以下の領域との2つの領域に対し、2つの領域の幅として、DR1=BとDR2=2−1−Aとを算出する(S406)。そして、第二逆量子化部422は、2個の量子化値をDR1とDR2の大きさによりN1個、N2個に比例配分し、それぞれの領域へと割り当てを行う(S408)。
そして、第二逆量子化部422は、上記のN1を用い、圧縮データ中のある量子化値xが、x≦N1ならば0以上B以下の領域で逆量子化を行い、x>N1ならばA以上2−1以下の領域で逆量子化を行う(S410)。
次に、量子化モード選択部423は、量子化モード判定部410の判定結果により、第一逆量子化部421または第二逆量子化部422のいずれかの逆量子化処理により求められた画素値を集め、画像ブロックを生成する(S412)。これにより、量子化モード選択部423は、画像処理部100に、複数の画像ブロックで構成された画像データを出力する。
以上のように、本発明の実施の形態における画像圧縮装置200によれば、複数の画素値を1つの領域内で量子化する量子化モード1と、複数の画素値を2つの領域に分割して当該2つの領域内で量子化する量子化モード2とを実行する機能を備えている。そして、画像圧縮装置200は、量子化モード1が選択された場合には、A1≦B1の関係にあるA1をAとしB1をBとし、量子化モード2が選択された場合には、A2>B2の関係にあるA2をAとしB2をBとして、当該Aと、当該Bと、量子化値とを含む圧縮データを生成する。つまり、A≦Bであれば量子化モード1が選択されており、A>Bであれば量子化モード2が選択されていることになるため、従来から必要なデータであったAおよびBの2つの値を利用して、選択された量子化モードを区別することができる。このため、2つの量子化モードを区別するための情報を圧縮データに付加することなく、従来技術と同等の量子化モード1に加えて、2つの領域で量子化を行う量子化モード2が利用可能となり、これらのうち選択される適切な量子化モードで、画像圧縮を行うことができる。また、量子化モード2を実行することにより、ダイナミックレンジが広い画像データにおいても、画素値が2つの領域に集中している場合には、それぞれの領域幅が狭くなり、量子化誤差を小さくすることができる。これらにより、ダイナミックレンジが広い場合でも、データ量の増加による圧縮率の低下を防ぎつつ、量子化誤差を小さくすることができる。
また、第一量子化部210において定義される1つの領域は、A1以上B1以下の領域である。つまり、画像圧縮装置200は、複数の画素値が当該A1以上B1以下の当該1つの領域内に集中している場合に、当該複数の画素値を当該1つの領域内で量子化する第一量子化部210を備えている。これにより、画像圧縮装置200は、複数の画素値が当該1つの領域内に集中している場合には、A1およびB1の2つの値を利用して、画像圧縮を行うことができる。
また、第二量子化部220において定義される2つの領域は、0以上B2以下の領域、及びA2以上2−1以下の領域である。つまり、画像圧縮装置200は、複数の画素値が当該0以上B2以下の領域とA2以上2−1以下の領域との当該2つの領域内に集中している場合に、当該複数の画素値を当該2つの領域内で量子化する第二量子化部220を備えている。これにより、画像圧縮装置200は、複数の画素値が当該2つの領域内に集中している場合には、A2およびB2の2つの値を利用して、画像圧縮を行うことができる。
また、画像圧縮装置200は、量子化モード1および量子化モード2のうち、量子化すべき量子化モードを選択して、選択された量子化モードに従って、圧縮データを生成する。このため、画像圧縮装置200は、適切な量子化モードを選択し、選択された量子化モードに従って、最適な画像圧縮を行うことができる。
また、画像圧縮装置200は、量子化モード1および量子化モード2における量子化誤差を算出し、量子化誤差の小さい量子化モードを選択する。これにより、ダイナミックレンジが広い場合でも、データ量の増加による圧縮率の低下を防ぎつつ、量子化誤差を小さくすることができる。
また、画像圧縮装置200は、複数の画素値のうちの最小値をA1、最大値をB1として、量子化モード1を実行し、複数の画素値を分割した2つの領域のうち、画素値が小さい方の領域における画素値の最大値をB2、画素値が大きい方の領域における画素値の最小値をA2として、量子化モード2を実行する。これにより、A1、B1、A2およびB2を容易に取得し、量子化モードを実行することができる。
また、画像圧縮装置200は、量子化モード2において、2つの領域に量子化値を配分して割り当て、それぞれの領域内で量子化を行う。例えば、量子化モード1と同じ量子化値を2つの領域に配分して割り当てる。これにより、量子化モード2において領域が2つに分割されても、領域が1つの量子化モード1と同じ量子化値で、量子化を行うことができる。
また、画像圧縮装置200は、量子化モード2において、2つの領域に対して、それぞれの領域の幅に応じて量子化値を比例配分して割り当て、それぞれの領域内で量子化を行う。つまり、領域の幅が大きいほど、画素値のばらつきが大きいため、多くの量子化値を割り当てる。これにより、当該2つの領域において、量子化誤差の値を均等化し、当該量子化誤差を小さくすることができる。
また、画像圧縮装置200は、画像ブロックごとに、量子化モード1および量子化モード2を実行し、圧縮データを生成する。つまり、画像圧縮装置200は、画像データのデータ量が多い場合には、当該画像データを複数の画像ブロックに分割して、当該画像ブロックごとに画像圧縮を行う。これにより、画像圧縮装置200は、画像データのデータ量が多い場合でも、全ての画像データについて、画像圧縮を行うことができる。
また、本発明の実施の形態における画像伸長装置400によれば、圧縮データに含まれるAおよびBの大小関係により量子化モードを判定し、判定した量子化モードに対応した逆量子化を行う。画像伸長装置400は、例えば、A≦Bであれば量子化モード1であると判定し、A>Bであれば量子化モード2であると判定して、逆量子化を行う。これにより、画像伸長装置400は、AおよびBを参照することで、画像圧縮装置200により圧縮された圧縮データを伸長して、当該圧縮データが圧縮される前の画像データを生成することができる。
また、本発明の実施の形態における画像処理装置10によれば、圧縮データを生成してメモリ300に書き込む画像圧縮装置200と、メモリ300から圧縮データを読み出し伸長して画像データを生成する画像伸長装置400と、画像圧縮装置200に画像データを送信するとともに、画像伸長装置400から画像データを受信する画像処理部100とを備えている。これにより、画像データを圧縮して圧縮率の低下を防ぎつつ量子化誤差が小さい圧縮データを生成し、当該圧縮データを画像データに戻す画像処理装置10を実現することができる。
(実施の形態の変形例1)
次に、本発明の実施の形態の変形例1について、説明する。上記実施の形態では、画像圧縮装置200は、量子化モード1および量子化モード2における量子化誤差を算出し、量子化誤差の小さい量子化モードを選択することとした。しかし、本変形例1では、画像圧縮装置200は、量子化モード1における領域幅と、量子化モード2における領域幅とを算出し、小さい領域幅に対応する量子化モードを選択する。
具体的には、第一量子化部210は、B1からA1を差し引いた値を、量子化モード1における領域幅である第一領域幅として算出する。
第二量子化部220は、B2の値と、2−1からA2を差し引いた値との合計値を、量子化モード2における領域幅である第二領域幅として算出する。
量子化モード選択部230は、量子化すべき量子化モードとして、第一領域幅および第二領域幅のうち小さい領域幅に対応する量子化モードを選択する。
なお、本変形例1における画像圧縮装置200が備える他の処理部の機能については、上記実施の形態における画像圧縮装置200が備える他の処理部の機能と同様であるため、詳細な説明は省略する。
図15は、本発明の実施の形態の変形例1における第一量子化部210が量子化モード1で画素値を量子化する処理の一例を示すフローチャートである。
同図に示すように、第一量子化部210は、上記実施の形態と同様に、最小値A1および最大値B1を取得し(S202)、最小値A1および最大値B1を用いて、ダイナミックレンジDR=B1−A1を算出し(S204)、当該ダイナミックレンジ内で量子化を行う(S206)。ここで、第一量子化部210は、DRを第一領域幅とする。
ここで、第一量子化部210は、上記実施の形態のような量子化誤差算出部215による量子化誤差の算出(図7のS208)を行わない。なお、第一量子化部210は、量子化誤差算出部215を備えていないことにしてもよい。
図16は、本発明の実施の形態の変形例1における第二量子化部220が量子化モード2で画素値を量子化する処理の一例を示すフローチャートである。
同図に示すように、第二量子化部220は、上記実施の形態と同様に、最小値A2および最大値B2を取得し(S302)、DR1およびDR2を算出し(S304)、各領域に量子化値を配分して割り当て(S306)、各領域内で量子化を行う(S308)。
そして、第二量子化部220は、DR1とDR2との合計値を、第二領域幅として算出する(S310)。つまり、第二量子化部220は、上記実施の形態のような量子化誤差算出部227による量子化誤差の算出(図10のS310)を行わず、第二領域幅の算出を行う。なお、第二量子化部220は、量子化誤差算出部227を備えていないことにしてもよい。
これらにより、量子化モード選択部230は、量子化すべき量子化モードとして、第一領域幅および第二領域幅のうち小さい領域幅に対応する量子化モードを選択する。
以上のように、本発明の実施の形態の変形例1における画像圧縮装置200によれば、量子化モード1における領域幅と、量子化モード2における領域幅とを算出し、小さい領域幅に対応する量子化モードを選択する。ここで、領域幅が小さい場合には、画素値が当該領域に集中していることになるので、領域幅が小さい場合の量子化モードで量子化を行った方が、量子化誤差を小さくすることができる。このため、ダイナミックレンジが広い場合でも、データ量の増加による圧縮率の低下を防ぎつつ、量子化誤差を小さくすることができる。
(実施の形態の変形例2)
次に、本発明の実施の形態の変形例2について、説明する。上記実施の形態では、画像圧縮装置200は、量子化モード2において、所定のPについてのA2とB2とを取得して、量子化を行った。しかし、本変形例2では、画像圧縮装置200は、複数のPについて複数のA2とB2とを取得することで、最適なA2とB2とを選定する。
具体的には、第二量子化部220は、複数のA2とB2との組について、量子化モード2における量子化誤差または領域幅を算出する。
量子化モード選択部230は、量子化すべき量子化モードとして、第一量子化部210による算出結果、および第二量子化部220による複数の組についての複数の算出結果を用いて、量子化誤差または領域幅が最小となる量子化モードを選択する。
圧縮データ生成部240は、選択された量子化モードが量子化モード2の場合、最小の量子化誤差または領域幅となるA2およびB2をAおよびBとして、当該Aと、当該Bと、当該量子化モード2で量子化された複数の画素値における量子化値とを含む圧縮データを生成する。
なお、本変形例2における画像圧縮装置200が備える他の処理部の機能については、上記実施の形態における画像圧縮装置200が備える他の処理部の機能と同様であるため、詳細な説明は省略する。
図17は、本発明の実施の形態の変形例2における画像圧縮装置200が画像データを圧縮する処理の一例を示すフローチャートである。
同図に示すように、画像圧縮装置200における量子化モード2での量子化において、第二量子化部220は、量子化モード2での画素値を量子化し、量子化誤差または領域幅を算出する処理(S104)を、複数のPについて繰り返し行う(ループ1:S103〜S105)。
以上のようにして、第二量子化部220は、複数のA2とB2との組について、量子化モード2における量子化誤差または領域幅を算出する。
そして、量子化モード選択部230は、第一量子化部210による算出結果(S102)、および第二量子化部220による複数の組についての複数の算出結果(ループ1:S103〜S105)を用いて、量子化誤差または領域幅が最小となる量子化モードを選択する(S106)。
そして、圧縮データ生成部240は、選択された量子化モードが量子化モード1の場合にはA1をAとしB1をBとし、選択された量子化モードが量子化モード2の場合には、最小の量子化誤差または領域幅となるA2およびB2をAおよびBとして、当該Aと、当該Bと、量子化値とを含む圧縮データを生成する。
以上のように、本発明の実施の形態の変形例2における画像圧縮装置200によれば、複数のA2とB2との組について、量子化モード2における量子化誤差または領域幅を算出し、その算出結果を用いて、量子化誤差または領域幅が最小となる量子化モードを選択し、選択した量子化モードにおける圧縮データを生成する。ここで、量子化モード2においては、A2とB2との組合せによっては、量子化誤差が異なる場合がある。このため、画像圧縮装置200は、量子化モード2において、複数のA2とB2との組について計算を行うことで、量子化誤差が小さくなる最適なケースを選択することができる。これにより、ダイナミックレンジが広い場合でも、データ量の増加による圧縮率の低下を防ぎつつ、量子化誤差を小さくすることができる。
(実施の形態の変形例3)
次に、本発明の実施の形態の変形例3について、説明する。上記実施の形態では、画像処理装置10は、1チャネルのグレースケール画像を処理することとした。しかし、本変形例3では、画像処理装置10は、複数チャネルの動画像データやグラフィックスデータなどの画像データを処理する。
具体的には、第一量子化部210は、画像データが有する複数のチャネルに対して、それぞれのチャネルに量子化するビット数を配分して割り当て、それぞれのチャネルにおいて割り当てたビット数に従って量子化を行う。
第二量子化部220は、複数のチャネルに対して、それぞれのチャネルに量子化するビット数を配分して割り当て、それぞれのチャネルにおいて割り当てたビット数に従って量子化を行う。
なお、本変形例3における画像圧縮装置200が備える他の処理部の機能については、上記実施の形態における画像圧縮装置200が備える他の処理部の機能と同様であるため、詳細な説明は省略する。
図18は、本発明の実施の形態の変形例3における画像圧縮装置200が複数チャネルの画像データを圧縮する処理を説明する図である。
同図は、3チャネルの画像データを、bounding boxを用いて、例示している。つまり、同図の(a)に示すように、画像圧縮装置200は、画像データの3チャネルの成分の最大値と最小値とから、2つの画素値p、qを定義し、当該bounding boxを作成する。
そして、同図の(b)に示すように、画像圧縮装置200は、3チャネルの画像データにおいて、画素のある部分を取り出す。そして、同図の(c)に示すように、画像圧縮装置200は、bounding box内で各画素値を正規化し、画像の特徴により、各チャネルに、ビットを割り当てる。
具体的には、第一量子化部210は、複数のチャネルに対して、それぞれのチャネルの領域幅であるダイナミックレンジ幅に応じて、それぞれのチャネルに量子化するビット数を比例配分して割り当て、それぞれのチャネルにおいて割り当てたビット数に従って量子化を行う。
また、第二量子化部220は、複数のチャネルに対して、それぞれのチャネルのダイナミックレンジ幅に応じて、それぞれのチャネルに量子化するビット数を比例配分して割り当て、それぞれのチャネルにおいて割り当てたビット数に従って量子化を行う。
例えば、RGBの3チャネルを有する画像データに対し、同図の(b)に示された各辺の長さに応じて、合計が11ビットになるように、同図の(c)に示すようにRに4ビット、Gに3ビット、Bに4ビットが割り当てられる。なお、当該画像データは、アルファチャネルを加えたARGBフォーマット等のグラフィックスデータのように、4チャネルを有していてもよい。
そして、画像圧縮装置200は、各チャネルごとに割り当てられたビット数で量子化を行う。
以上のように、本発明の実施の形態の変形例2における画像圧縮装置200によれば、量子化モード1および量子化モード2において、画像データが有する複数のチャネルに量子化するビット数を配分して割り当て、それぞれのチャネルにおいて量子化を行う。例えば、画像の特徴から、それぞれのチャネルのデータ量に応じたビット数を割り当てる。これにより、画像圧縮装置200は、当該複数のチャネルにおいて、量子化誤差の値を均等化し、当該量子化誤差を小さくすることができる。
また、画像圧縮装置200は、量子化モード1および量子化モード2において、それぞれのチャネルのダイナミックレンジ幅に応じて、当該複数のチャネルに量子化するビット数を比例配分して割り当て、それぞれのチャネルにおいて量子化を行う。つまり、ダイナミックレンジ幅が大きいほど、多くの量子化値を割り当てる。これにより、複数のチャネルにおいて、量子化誤差の値を均等化し、当該量子化誤差を小さくすることができる。
(実施の形態の変形例4)
次に、本発明の実施の形態の変形例4について、説明する。上記実施の形態では、画像処理装置10は、画像圧縮装置200および画像伸長装置400の双方を備えていた。しかし、本変形例4では、画像処理装置は、画像圧縮装置200および画像伸長装置400のうちいずれか一方を備えている。
図19は、本発明の実施の形態の変形例4における画像処理装置の構成を示す構成図である。
同図に示すように、第一画像処理装置11は、画像圧縮装置200に画像データを送信する第一画像処理部101と、圧縮データを生成してメモリ300に書き込む画像圧縮装置200とを備えている。なお、第一画像処理装置11は、メモリを備えていてもよい。
また、第二画像処理装置12は、メモリ300から圧縮データを読み出し伸長して画像データを生成する画像伸長装置400と、画像伸長装置400から画像データを受信する第二画像処理部102とを備えている。なお、第二画像処理装置12は、メモリを備えていてもよい。
つまり、複数の画像処理装置が存在し、それらの間でデータをやり取りするような用途に適用してもよい。なお、画像処理装置の個数は、1個または2個に限定されない。
以上のように、本実施の形態およびその変形例により、画質をほとんど劣化させずに、メモリ300に対して読み書きされるデータ量を削減することができるため、画像処理装置を構成するために必要なメモリ量を削減することができる。また、メモリ300に対する読み書きに必要なデータ帯域も削減することができ、該当部分の帯域幅の削減、あるいはデータ転送速度の向上の効果がある。
なお、メモリ300は、バスを介して接続されていてもよい。この場合、画像圧縮を行うことにより、画像処理部が消費するバス帯域を削減することができる。
(実施の形態の変形例5)
次に、本発明の実施の形態の変形例5について、説明する。上記実施の形態では、画像圧縮装置200の圧縮データ生成部240は、量子化モード選択部230を備えていることとした。しかし、本変形例5では、画像圧縮装置の圧縮データ生成部は、量子化モード選択部を備えていない。
図20は、本発明の実施の形態の変形例5における画像圧縮装置201の構成を示す構成図である。
同図に示すように、画像圧縮装置201は、第一量子化部210、第二量子化部220および圧縮データ生成部241を備えている。ここで、画像圧縮装置201が備える第一量子化部210および第二量子化部220は、上記実施の形態における画像圧縮装置200が備える第一量子化部210および第二量子化部220と同様の機能を有するため、詳細な説明は省略する。
また、画像圧縮装置201が備える圧縮データ生成部241は、上記実施の形態における画像圧縮装置200が備える圧縮データ生成部240のうち、量子化モード選択部230の機能以外の機能を有している。
つまり、第一量子化部210は量子化モード1を実行し、第二量子化部220は量子化モード2を実行し、実行結果を外部の量子化モード選択部230に送信する。そして、圧縮データ生成部241は、当該外部の量子化モード選択部230が選択した量子化モードに従って圧縮データを生成する。ここで、当該外部の量子化モード選択部230は、上記実施の形態における画像圧縮装置200が備える量子化モード選択部230と同様の機能を有する。
このように、本変形例5における画像圧縮装置201は、上記実施の形態における画像圧縮装置200のように量子化モード選択部230の機能を備えていなくとも、上記実施の形態と同様の効果を奏することができる。
(実施の形態の変形例6)
次に、本発明の実施の形態の変形例6について、説明する。上記実施の形態では、第一量子化部210は、複数の画素値の最小値をA1とし、最大値をB1として、A1以上B1以下の領域である1つの領域内で量子化することとした。しかし、A1及びB1の定め方は、上記には限定されない。
例えば、第一量子化部210は、当該複数の画素値の最小値に多少の誤差を含めた値をA1とし、当該最大値に多少の誤差を含めた値をB1として、A1以上B1以下の領域である1つの領域内で量子化することにしてもよい。また、第一量子化部210は、当該複数の画素値の最小値以上最大値以下の領域を含む領域を定義することができる2値をA1およびB1として定めることで、当該A1及びB1で示される領域内で量子化することにしてもよい。
また、第一量子化部210は、以下の方法によって、A1及びB1を取得し、当該A1及びB1で示される領域内で量子化することにしてもよい。
図21は、本発明の実施の形態の変形例6における第一量子化部210が量子化を行う処理を説明する図である。
同図に示すように、第一量子化部210は、複数の画素値の最小値と最大値との中間値をX1とし、当該中間値から最小値または最大値までの幅をY1として、当該X1及びY1を取得する。そして、第一量子化部210は、当該X1及びY1を用いて、A1及びB1を定義する。
これにより、第一量子化部210は、A1及びB1を用いてダイナミックレンジDRを算出することができるため、当該ダイナミックレンジDR内で各画素値の量子化を行うことができる。
(実施の形態の変形例7)
次に、本発明の実施の形態の変形例7について、説明する。上記実施の形態では、第二量子化部220は、P以上2−1以下の画素値における最小値をA2とし、0以上P未満の画素値における最大値をB2として、0以上B2以下の領域、及びA2以上2−1以下の領域の2つの領域内で量子化することとした。しかし、A2及びB2の定め方は、上記には限定されない。
例えば、第二量子化部220は、当該最小値に多少の誤差を含めた値をA2とし、当該最大値に多少の誤差を含めた値をB2として、当該2つの領域内で量子化することにしてもよい。また、第二量子化部220は、当該2つの領域を含む領域を定義することができる2値をA2およびB2として定めることで、当該A2及びB2で示される領域内で量子化することにしてもよい。
また、第二量子化部220は、以下の方法によって、A2及びB2を取得し、当該A2及びB2で示される領域内で量子化することにしてもよい。
図22は、本発明の実施の形態の変形例7における第二量子化部220が量子化を行う処理を説明する図である。
同図に示すように、第二量子化部220は、P以上2−1以下の画素値における最小値から2−1までの領域と、0から0以上P未満の画素値における最大値までの領域との2つの領域を繋げた場合の中間値をX2とし、当該中間値から当該最小値または当該最大値までの幅をY2として、当該X2及びY2を取得する。そして、第二量子化部220は、当該X2及びY2を用いて、A2及びB2を定義する。
これにより、第二量子化部220は、A2及びB2を用いてダイナミックレンジDR1およびDR2を算出することができるため、当該ダイナミックレンジDR1およびDR2内で各画素値の量子化を行うことができる。
なお、上記実施の形態およびその変形例では、画像圧縮装置は、画像データに含まれる複数の画素からなる画像ブロックごとに画像データの圧縮を行うこととした。しかし、画像圧縮装置は、画像データに含まれる画素数が少ない場合には、画像データを当該画像ブロックごとに分割することなく、全ての画像データを対象にして画像圧縮を行うことにしてもよい。また、画像圧縮装置は、画像データを様々な大きさの画像ブロックに分割して、当該画像ブロックごとに画像データの圧縮を行うことにしてもよい。
また、上記実施の形態およびその変形例では、値A1および値B1は、A1≦B1を満たす2つの値であり、値A2および値B2は、B2<A2を満たす2つの値であることとした。しかし、値A1および値B1は、A1<B1を満たす2つの値であり、値A2および値B2は、B2≦A2を満たす2つの値であることにしてもよい。また、値A1および値B1は、A1<B1を満たす2つの値であり、値A2および値B2は、B2<A2を満たす2つの値であることにしてもよい。
また、本発明は、このような画像圧縮装置200、201、画像伸長装置400および画像処理装置として実現することができるだけでなく、図2Aの画像圧縮装置200、図20の画像圧縮装置201、図5の画像伸長装置400、図1の画像処理装置10、または図19の第一画像処理装置11または第二画像処理装置12に含まれる各処理部を備える集積回路として実現したりすることもできる。当然、他の機能と組み合わせたシステムLSIを構成することも可能である。この場合は、システムLSI内部のメモリ量やメモリ帯域を削減することができるため、製造コストの低減に効果がある。さらに、当該システムLSIを用い、他の機能と組合せ、ディジタル画像処理機器を構成することも可能である。具体的にはテレビ、レコーダ、携帯電話、ビデオカメラ等が挙げられる。この場合、機器を構成する際に必要な外部メモリ量の削減や、LSI内部の使用帯域の減少による消費電力の削減が可能となるため、機器の製造コストの低減や性能向上の効果を見込むことができる。
ここでは、LSIまたはシステムLSIとしたが、集積度の違いにより、IC、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
また、本発明は、画像圧縮装置200、201、画像伸長装置400または画像処理装置に含まれる各処理部の特徴的な処理をステップとする画像圧縮方法、画像伸長方法または画像処理方法として実現したりすることもできる。また、画像圧縮方法、画像伸長方法または画像処理方法に含まれる特徴的な処理をコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、CD−ROM等の記録媒体及びインターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
つまり、上記実施の形態およびその変形例において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
ここで、上記実施の形態およびその変形例における画像圧縮装置を実現するソフトウェアは、次のようなプログラムである。すなわち、このプログラムは、画像データの圧縮を行う画像圧縮方法のためのプログラムであって、前記画像データに含まれる複数の画素値を、A1<B1なる2つの値A1およびB1を用い、前記A1と前記B1とで定義される1つの領域内で量子化する量子化モード1を実行する第一量子化ステップと、前記複数の画素値を、A2>B2なる2つの値A2およびB2を用い、前記A2と前記B2とで定義される2つの領域内で量子化する量子化モード2を実行する第二量子化ステップと、値Aと、値Bと、選択された量子化モードで量子化された前記複数の画素値における量子化値とを含む圧縮データを生成する圧縮データ生成ステップとをコンピュータに実行させ、前記圧縮データ生成ステップでは、前記Aに、前記量子化モード1が選択された場合には前記A1を格納し、前記量子化モード2が選択された場合には前記A2を格納し、前記Bに、前記量子化モード1が選択された場合には前記B1を格納し、前記量子化モード2が選択された場合には前記B2を格納することで、前記圧縮データを生成する。
また、上記実施の形態およびその変形例における画像伸長装置を実現するソフトウェアは、次のようなプログラムである。すなわち、このプログラムは、画像圧縮装置により圧縮された画像データである圧縮データを伸長する画像伸長方法のためのプログラムであって、当該圧縮データに含まれる値Aおよび値Bの大小関係により、量子化モード1および量子化モード2のうち、当該圧縮データに含まれる量子化値に対応する量子化モードを判定する量子化モード判定ステップと、判定された量子化モードにより、前記量子化値を画素値に逆量子化する逆量子化ステップとをコンピュータに実行させる。
また、上記実施の形態およびその変形例における画像処理装置を実現するソフトウェアは、次のようなプログラムである。すなわち、このプログラムは、画像圧縮装置に、画像処理部から受信した画像データを圧縮して圧縮データを生成させて、生成した圧縮データをメモリに書き込ませるステップと、画像伸長装置に、当該メモリに書き込まれている圧縮データを当該メモリから読み出させ、読み出した圧縮データを伸長して画像データを生成させて、生成した画像データを画像処理部に送信させるステップとをコンピュータに実行させる。
以上、本発明に係る画像圧縮装置、画像伸長装置、画像処理装置およびそれらの方法について、上記実施の形態およびその変形例に基づいて説明したが、本発明は、この実施の形態およびその変形例に限定されるものではない。本発明の範囲は上記した説明ではなく請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。また、本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態およびその変形例に施したものや、異なる実施の形態およびその変形例における構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれる。
本発明に係る画像圧縮方法および装置は、圧縮後の画質をほとんど劣化させずにデータ量を削減することができ、これを用いたシステムLSIや画像処理機器のコスト削減および性能向上等に有用である。グレースケール画像、RGBやYUVフォーマットのカラー画像の圧縮が可能であるため、多くのディジタルAV機器に応用可能である。また、アルファチャネルを加えたARGBフォーマット等のグラフィックスデータの圧縮も可能であるため、グラフィックスエンジン等のグラフィックス処理装置への応用も可能である。
10 画像処理装置
11 第一画像処理装置
12 第二画像処理装置
100 画像処理部
101 第一画像処理部
102 第二画像処理部
200、201 画像圧縮装置
210 第一量子化部
211 第一量子化値算出部
212 最小値計算部
213 最大値計算部
214 量子化部
215 量子化誤差算出部
220 第二量子化部
221 第二量子化値算出部
222 領域判定部
223 最小値計算部
224 最大値計算部
225 量子化値割当部
226 量子化部
227 量子化誤差算出部
230 量子化モード選択部
240、241 圧縮データ生成部
300 メモリ
400 画像伸長装置
410 量子化モード判定部
420 逆量子化部
421 第一逆量子化部
422 第二逆量子化部
423 量子化モード選択部

Claims (17)

  1. 画像データの圧縮を行う画像圧縮装置であって、
    前記画像データに含まれる複数の画素値を、A1<B1なる2つの値A1およびB1を用い、前記A1と前記B1とで定義される1つの領域内で量子化する量子化モード1を実行する第一量子化部と、
    前記複数の画素値を、A2>B2なる2つの値A2およびB2を用い、前記A2と前記B2とで定義される2つの領域内で量子化する量子化モード2を実行する第二量子化部と、
    値Aと、値Bと、選択された量子化モードで量子化された前記複数の画素値における量子化値とを含む圧縮データを生成する圧縮データ生成部とを備え、
    前記圧縮データ生成部は、
    前記Aに、前記量子化モード1が選択された場合には前記A1を格納し、前記量子化モード2が選択された場合には前記A2を格納し、
    前記Bに、前記量子化モード1が選択された場合には前記B1を格納し、前記量子化モード2が選択された場合には前記B2を格納することで、前記圧縮データを生成し、
    前記第一量子化部は、前記複数の画素値を、前記A1以上前記B1以下の領域である前記1つの領域内で量子化する前記量子化モード1を実行し、
    前記第二量子化部は、nビットの前記複数の画素値を、0以上前記B2以下の領域、及び前記A2以上2 −1以下の領域である前記2つの領域内で量子化する前記量子化モード2を実行する
    画像圧縮装置。
  2. 前記圧縮データ生成部は、
    前記量子化モード1および前記量子化モード2のうち、量子化すべき量子化モードを選択する量子化モード選択部を備え、
    選択された量子化モードに従って、前記圧縮データを生成する
    請求項1に記載の画像圧縮装置。
  3. 前記第一量子化部は、さらに、前記量子化モード1における量子化誤差を算出し、
    前記第二量子化部は、さらに、前記量子化モード2における量子化誤差を算出し、
    前記量子化モード選択部は、前記量子化すべき量子化モードとして、前記第一量子化部および前記第二量子化部による量子化誤差の算出結果を用いて、量子化誤差の小さい量子化モードを選択する
    請求項に記載の画像圧縮装置。
  4. 前記第一量子化部は、さらに、前記B1から前記A1を差し引いた値を、前記量子化モード1における領域幅である第一領域幅として算出し、
    前記第二量子化部は、さらに、前記複数の画素値がnビットで表現される場合に、前記B2の値と、2−1から前記A2を差し引いた値との合計値を、前記量子化モード2における領域幅である第二領域幅として算出し、
    前記量子化モード選択部は、前記量子化すべき量子化モードとして、前記第一領域幅および前記第二領域幅のうち小さい領域幅に対応する量子化モードを選択する
    請求項に記載の画像圧縮装置。
  5. 前記第二量子化部は、複数の前記A2と前記B2との組について、前記量子化モード2における量子化誤差または領域幅を算出し、
    前記量子化モード選択部は、前記量子化すべき量子化モードとして、前記第一量子化部による算出結果、および前記第二量子化部による前記複数の組についての複数の算出結果を用いて、量子化誤差または領域幅が最小となる量子化モードを選択し、
    前記圧縮データ生成部は、選択された量子化モードが前記量子化モード2の場合、最小の量子化誤差または領域幅となるA2およびB2をAおよびBとして、当該Aと、当該Bと、当該量子化モード2で量子化された前記複数の画素値における量子化値とを含む前記圧縮データを生成する
    請求項またはに記載の画像圧縮装置。
  6. 前記第一量子化部は、前記複数の画素値のうち、最小の画素値を前記A1とし、最大の画素値を前記B1として、前記量子化モード1を実行し、
    前記第二量子化部は、前記複数の画素値を2つの領域に分割した場合の、画素値が小さい方の領域における最大の画素値を前記B2とし、画素値が大きい方の領域における最小の画素値を前記A2として、前記量子化モード2を実行する
    請求項1〜のいずれか1項に記載の画像圧縮装置。
  7. 前記第二量子化部は、前記量子化モード2を実行する2つの領域に対して、それぞれの領域に量子化値を配分して割り当て、それぞれの領域内で割り当てた量子化値での量子化を行う
    請求項1〜のいずれか1項に記載の画像圧縮装置。
  8. 前記第二量子化部は、前記2つの領域に対して、それぞれの領域の幅に応じて量子化値を比例配分して割り当て、それぞれの領域内で割り当てた量子化値での量子化を行う
    請求項に記載の画像圧縮装置。
  9. 前記画像データは、複数のチャネルを有する画像データであり、
    前記第一量子化部は、前記複数のチャネルに対して、それぞれのチャネルに量子化するビット数を配分して割り当て、それぞれのチャネルにおいて割り当てたビット数に従って量子化を行い、
    前記第二量子化部は、前記複数のチャネルに対して、それぞれのチャネルに量子化するビット数を配分して割り当て、それぞれのチャネルにおいて割り当てたビット数に従って量子化を行う
    請求項1〜のいずれか1項に記載の画像圧縮装置。
  10. 前記第一量子化部は、前記複数のチャネルに対して、それぞれのチャネルの領域幅であるダイナミックレンジ幅に応じて、それぞれのチャネルに量子化するビット数を比例配分して割り当て、それぞれのチャネルにおいて割り当てたビット数に従って量子化を行い、
    前記第二量子化部は、前記複数のチャネルに対して、それぞれのチャネルの前記ダイナミックレンジ幅に応じて、それぞれのチャネルに量子化するビット数を比例配分して割り当て、それぞれのチャネルにおいて割り当てたビット数に従って量子化を行う
    請求項に記載の画像圧縮装置。
  11. 前記第一量子化部は、前記画像データに含まれる複数の画素からなる画像ブロックごとに、前記画像ブロックにおける前記複数の画素値を量子化する前記量子化モード1を実行し、
    前記第二量子化部は、前記画像ブロックごとに、前記複数の画素値を量子化する前記量子化モード2を実行し、
    前記圧縮データ生成部は、前記画像ブロックごとに、前記圧縮データを生成する
    請求項1〜10のいずれか1項に記載の画像圧縮装置。
  12. 請求項1〜11のいずれか1項に記載の画像圧縮装置により圧縮された画像データである前記圧縮データを伸長する画像伸長装置であって、
    前記圧縮データに含まれる前記Aおよび前記Bの大小関係により、前記量子化モード1および前記量子化モード2のうち、前記圧縮データに含まれる量子化値に対応する量子化モードを判定する量子化モード判定部と、
    判定された量子化モードにより、前記量子化値を画素値に逆量子化する逆量子化部と
    を備える画像伸長装置。
  13. 請求項1〜11のいずれか1項に記載の画像圧縮装置と、
    請求項12に記載の画像伸長装置と、
    前記画像圧縮装置に画像データを送信するとともに、前記画像伸長装置から画像データを受信する画像処理部とを備え、
    前記画像圧縮装置は、前記画像処理部から受信した画像データを圧縮して圧縮データを生成し、生成した圧縮データをメモリに書き込み、
    前記画像伸長装置は、前記メモリに書き込まれている圧縮データを前記メモリから読み出し、読み出した圧縮データを伸長して画像データを生成し、生成した画像データを前記画像処理部に送信する
    画像処理装置。
  14. 画像データの圧縮を行う集積回路であって、
    前記画像データに含まれる複数の画素値を、A1<B1なる2つの値A1およびB1を用い、前記A1と前記B1とで定義される1つの領域内で量子化する量子化モード1を実行する第一量子化部と、
    前記複数の画素値を、A2>B2なる2つの値A2およびB2を用い、前記A2と前記B2とで定義される2つの領域内で量子化する量子化モード2を実行する第二量子化部と、
    値Aと、値Bと、選択された量子化モードで量子化された前記複数の画素値における量子化値とを含む圧縮データを生成する圧縮データ生成部とを備え、
    前記圧縮データ生成部は、
    前記Aに、前記量子化モード1が選択された場合には前記A1を格納し、前記量子化モード2が選択された場合には前記A2を格納し、
    前記Bに、前記量子化モード1が選択された場合には前記B1を格納し、前記量子化モード2が選択された場合には前記B2を格納することで、前記圧縮データを生成し、
    前記第一量子化部は、前記複数の画素値を、前記A1以上前記B1以下の領域である前記1つの領域内で量子化する前記量子化モード1を実行し、
    前記第二量子化部は、nビットの前記複数の画素値を、0以上前記B2以下の領域、及び前記A2以上2 −1以下の領域である前記2つの領域内で量子化する前記量子化モード2を実行する
    集積回路。
  15. 請求項1〜11のいずれか1項に記載の画像圧縮装置により圧縮された画像データである前記圧縮データを伸長する集積回路であって、
    前記圧縮データに含まれる前記Aおよび前記Bの大小関係により、前記量子化モード1および前記量子化モード2のうち、前記圧縮データに含まれる量子化値に対応する量子化モードを判定する量子化モード判定部と、
    判定された量子化モードにより、前記量子化値を画素値に逆量子化する逆量子化部と
    を備える集積回路。
  16. 画像データの圧縮を行う画像圧縮方法であって、
    前記画像データに含まれる複数の画素値を、A1<B1なる2つの値A1およびB1を用い、前記A1と前記B1とで定義される1つの領域内で量子化する量子化モード1を実行する第一量子化ステップと、
    前記複数の画素値を、A2>B2なる2つの値A2およびB2を用い、前記A2と前記B2とで定義される2つの領域内で量子化する量子化モード2を実行する第二量子化ステップと、
    値Aと、値Bと、選択された量子化モードで量子化された前記複数の画素値における量子化値とを含む圧縮データを生成する圧縮データ生成ステップとを含み、
    前記圧縮データ生成ステップでは、
    前記Aに、前記量子化モード1が選択された場合には前記A1を格納し、前記量子化モード2が選択された場合には前記A2を格納し、
    前記Bに、前記量子化モード1が選択された場合には前記B1を格納し、前記量子化モード2が選択された場合には前記B2を格納することで、前記圧縮データを生成し、
    前記第一量子化ステップでは、前記複数の画素値を、前記A1以上前記B1以下の領域である前記1つの領域内で量子化する前記量子化モード1を実行し、
    前記第二量子化ステップでは、nビットの前記複数の画素値を、0以上前記B2以下の領域、及び前記A2以上2 −1以下の領域である前記2つの領域内で量子化する前記量子化モード2を実行する
    画像圧縮方法。
  17. 請求項16に記載の画像圧縮方法に含まれるステップをコンピュータに実行させるためのプログラム。
JP2012532401A 2011-07-13 2012-04-12 画像圧縮装置、画像伸長装置および画像処理装置 Active JP5903597B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012532401A JP5903597B2 (ja) 2011-07-13 2012-04-12 画像圧縮装置、画像伸長装置および画像処理装置

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2011155253 2011-07-13
JP2011155253 2011-07-13
PCT/JP2012/002549 WO2013008370A1 (ja) 2011-07-13 2012-04-12 画像圧縮装置、画像伸長装置および画像処理装置
JP2012532401A JP5903597B2 (ja) 2011-07-13 2012-04-12 画像圧縮装置、画像伸長装置および画像処理装置

Publications (2)

Publication Number Publication Date
JPWO2013008370A1 JPWO2013008370A1 (ja) 2015-02-23
JP5903597B2 true JP5903597B2 (ja) 2016-04-13

Family

ID=47505682

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012532401A Active JP5903597B2 (ja) 2011-07-13 2012-04-12 画像圧縮装置、画像伸長装置および画像処理装置

Country Status (4)

Country Link
US (1) US8705880B2 (ja)
JP (1) JP5903597B2 (ja)
CN (1) CN102972023B (ja)
WO (1) WO2013008370A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9294766B2 (en) 2013-09-09 2016-03-22 Apple Inc. Chroma quantization in video coding
CN103795421B (zh) * 2014-02-26 2017-05-24 活点信息技术有限公司 一种数据压缩及解压缩的方法
CN107295338B (zh) * 2016-04-12 2020-09-04 上海兆芯集成电路有限公司 基于无损联合图像专家小组格式的图像压缩与解压缩方法
CN109257603B (zh) * 2018-10-26 2021-05-11 西安科锐盛创新科技有限公司 带宽压缩量化及反量化方法
CN109510984B (zh) * 2018-10-26 2021-02-05 和宇健康科技股份有限公司 一种压缩编码量化方法
CN109561306B (zh) * 2018-10-26 2021-08-06 上海九吾尊易信息科技有限公司 一种带宽压缩量化方法
US11630817B2 (en) * 2018-12-28 2023-04-18 Yahoo Assets Llc Method and system for data indexing and reporting

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2785822B2 (ja) 1984-12-19 1998-08-13 ソニー株式会社 テレビジョン信号の高能率符号化装置及び復号装置
EP0185533B1 (en) 1984-12-19 1991-03-27 Sony Corporation High efficiency technique for coding a digital video signal
AU698055B2 (en) * 1994-07-14 1998-10-22 Johnson-Grace Company Method and apparatus for compressing images
JP4055434B2 (ja) * 2002-02-28 2008-03-05 ソニー株式会社 符号化処理装置、復号処理装置、および方法、並びにコンピュータ・プログラム
SE0401852D0 (sv) 2003-12-19 2004-07-08 Ericsson Telefon Ab L M Image processing
SE0401850D0 (sv) 2003-12-19 2004-07-08 Ericsson Telefon Ab L M Image processing
SE526226C2 (sv) 2003-12-19 2005-08-02 Ericsson Telefon Ab L M Bildbehandling
JP4506811B2 (ja) * 2007-10-29 2010-07-21 ソニー株式会社 符号化処理装置、および方法、並びにコンピュータ・プログラム
KR101446771B1 (ko) * 2008-01-30 2014-10-06 삼성전자주식회사 영상 부호화장치 및 영상 복호화장치
KR20090099720A (ko) * 2008-03-18 2009-09-23 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
JP5029560B2 (ja) * 2008-10-01 2012-09-19 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置、圧縮方法及び伸張方法

Also Published As

Publication number Publication date
US20130202219A1 (en) 2013-08-08
US8705880B2 (en) 2014-04-22
JPWO2013008370A1 (ja) 2015-02-23
CN102972023A (zh) 2013-03-13
WO2013008370A1 (ja) 2013-01-17
CN102972023B (zh) 2016-09-28

Similar Documents

Publication Publication Date Title
JP5903597B2 (ja) 画像圧縮装置、画像伸長装置および画像処理装置
US11531479B2 (en) Lossy data compression
CN1997155B (zh) 混合多比特深度视频处理体系结构
JP2019525583A (ja) デルタカラー圧縮用のビットパッキング
CN105700821B (zh) 半导体装置及其压缩/解压缩方法
US20220014767A1 (en) Bit plane encoding of data arrays
JP2006311474A (ja) 画像処理、圧縮、伸長、伝送、送信、受信装置及び方法並びにそのプログラム、及び表示装置
EP3886047A1 (en) Image data decompression
US11915455B2 (en) Random accessible image data compression
US11483585B2 (en) Electronic apparatus and controlling method thereof
JP6186429B2 (ja) 情報処理装置、制御方法、プログラム、及び記録媒体
JPWO2012160626A1 (ja) 画像圧縮装置、画像復元装置、及びプログラム
JPWO2007063730A1 (ja) 画像処理装置、画像伝送装置及び方法並びにそのプログラム及び表示装置
US20170099492A1 (en) Method of operating encoder and method of operating system on chip including the encoder
EP3896656A1 (en) Image data compression
JPWO2009122463A1 (ja) 画像圧縮装置、復元装置、圧縮方法、復元方法及びプログラム
JP5653328B2 (ja) 画像処理装置及び画像処理システム
JP2006033161A (ja) 符号化処理装置
JP6377222B2 (ja) 情報処理装置、制御方法、プログラム、及び記録媒体
JP6171640B2 (ja) データ変換装置、データ変換回路及びデータ変換方法
JP2015050630A (ja) 画像処理システム、画像処理方法、及び画像処理プログラム
JP2004336157A (ja) 画像伸張プログラム、画像伸張方法および画像伸張装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150908

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150929

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20151215

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151222

R151 Written notification of patent or utility model registration

Ref document number: 5903597

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151