JP2004235811A - 画像データ圧縮方法及び装置 - Google Patents
画像データ圧縮方法及び装置 Download PDFInfo
- Publication number
- JP2004235811A JP2004235811A JP2003020031A JP2003020031A JP2004235811A JP 2004235811 A JP2004235811 A JP 2004235811A JP 2003020031 A JP2003020031 A JP 2003020031A JP 2003020031 A JP2003020031 A JP 2003020031A JP 2004235811 A JP2004235811 A JP 2004235811A
- Authority
- JP
- Japan
- Prior art keywords
- signal
- color difference
- image data
- signals
- rgb
- 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.)
- Pending
Links
Images
Landscapes
- Color Television Systems (AREA)
Abstract
【課題】伝送レートを固定した条件において、高速処理を可能とし、しかも視覚上の劣化を伴わない画像データ圧縮方法及び装置を提供する。
【解決手段】輝度・色差マトリクス変換の計算結果として発生し得ない輝度信号と2つの色差信号との組み合わせである場合には補正を行う。輝度信号と2つの色差信号とで表される補正後のデジタルカラー画像データに対して、輝度信号と2つの色差信号とを含む3次元空間における、輝度・色差マトリクス変換の計算結果として輝度信号と2つの色差信号との組み合わせが存在する空間部分のみを固定長符号化する。
【選択図】 図1
【解決手段】輝度・色差マトリクス変換の計算結果として発生し得ない輝度信号と2つの色差信号との組み合わせである場合には補正を行う。輝度信号と2つの色差信号とで表される補正後のデジタルカラー画像データに対して、輝度信号と2つの色差信号とを含む3次元空間における、輝度・色差マトリクス変換の計算結果として輝度信号と2つの色差信号との組み合わせが存在する空間部分のみを固定長符号化する。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、高速圧縮処理が要求される高精細画像データにおいて、デジタルカラー画像を視覚的に劣化なく固定長符号化するデータ圧縮方法であって、大容量画像データの高速伝送および蓄積技術に係わる。
【0002】
【従来技術】
従来、デジタルテレビジョンスタジオの世界的規格である ITU−R ( International Telecommunications Union − Radiocommunication Sector ) BT.601の 4:2:2 カラーコンポーネント信号 ( Y , Cb , Cr ) や、SMPTE ( Society of Motion Picture and Television Engineers ) 240Mで規定されるHDTVシステム用の ( Y , Pb , Pr ) 信号のように、( R , G , B ) のカラー3原色を輝度・色差マトリクス変換により輝度信号と2つの色差信号に変換して、カラー画像の記録フォーマットやデジタルインターフェース信号に用いる方法がある。これら輝度・色差信号は、人間の視覚特性にマッチすることや、色差信号を狭帯域にしても劣化が目立たないなどの理由により広く用いられている。0〜1に正規化(規格化)されたアナログRGB信号からデジタルの輝度・色差信号へ輝度・色差マトリクス変換を用いて変換する場合、標準テレビ画像(以後、SDTVと表記)の8bit量子化では、
【0003】
【数1】
【0004】
【数2】
により実現される。また高精細テレビ画像(以後、HDTVと表記)では、
【0005】
【数3】
【0006】
【数4】
により量子化されデジタル信号となる。これらデジタル信号が伝送、記録系で利用されている。以後の説明では、Cb , Pb を代表する記号としてUを用い、Cr , Pr を代表する記号としてVを用いて説明する。
【0007】
【特許文献1】
特開平6−62431号公報
【0008】
【発明が解決しようとする課題】
デジタル信号伝送・記録系の高速大容量化の一方で画像の高精細化が進み、画像圧縮技術に対して高速処理や圧縮率の保障が求められている。
【0009】
しかし、可逆圧縮では画像の内容によって圧縮率が変動することや、高速な処理が困難であるという問題点があった。例えば、株式会社トリケップス発行の「次世代画像符号化方式 JPEG2000」(ISBN4−88657−209−X) のp.36 〜 p.40に記載の内容を参照。特に、動画像において、フレーム内の圧縮率一定だけではなく1走査ライン内の圧縮率一定を保障することは困難である。
【0010】
また、非可逆圧縮では圧縮率を保障できるが、画質の劣化を伴うという問題点があった。例えば、前記参考図書のp.31 〜 p.32に記載の内容を参照。
【0011】
すなわち、高精細画像のリアルタイム伝送・記録を実現する場合、固定伝送レートでかつ高速に処理できるだけではなく、画質の劣化を伴わないという条件が画像圧縮技術に求められている。本発明は、伝送レートを固定した条件において、高速処理を可能とする簡便な方法で、しかも視覚上の劣化を伴わないカラー画像圧縮法及び装置を提供するものである。
【0012】
【課題を解決するための手段】
そこで上記課題を解決するために本発明は、下記の方法及び装置を提供するものである。
(1) 正規化されたRGB信号から輝度・色差マトリクス変換により求められる1つの輝度信号と2つの色差信号とによって表現されるデジタルカラー画像データを圧縮符号化する画像データ圧縮方法において、
入来する前記デジタルカラー画像データが、前記輝度・色差マトリクス変換の計算結果として発生し得ない前記1つの輝度信号と前記2つの色差信号との組み合わせであるか否かの検出を行い、発生し得ない組み合わせが検出された場合には、その検出された組み合わせにおける1つの輝度信号と2つの色差信号とをRGB信号に変換し、変換して得たRGB信号の値を前記正規化した値として取りうる範囲内に制限し、その制限を加えたRGB信号を再度前記輝度・色差マトリクス変換し、補正された1つの輝度信号と2つの色差信号との組み合わせを得る補正処理ステップと、
前記補正処理後の前記デジタルカラー画像データに対して、前記1つの輝度信号と前記2つの色差信号とを含む3次元空間における、前記輝度・色差マトリクス変換の計算結果として前記1つの輝度信号と前記2つの色差信号との組み合わせが存在する空間部分のみを固定長符号化することにより、前記デジタルカラー画像データを圧縮符号化する符号化ステップと、
を設けたことを特徴とする画像データ圧縮方法。
(2) 正規化されたRGB信号から輝度・色差マトリクス変換により求められる1つの輝度信号と2つの色差信号とによって表現されるデジタルカラー画像データを圧縮符号化する画像データ圧縮装置において、
入来する前記デジタルカラー画像データが、前記輝度・色差マトリクス変換の計算結果として発生し得ない前記1つの輝度信号と前記2つの色差信号との組み合わせであるか否かの検出を行い、発生し得ない組み合わせが検出された場合には、その検出された組み合わせにおける1つの輝度信号と2つの色差信号とをRGB信号に変換し、変換して得たRGB信号の値を前記正規化した値として取りうる範囲内に制限し、その制限を加えたRGB信号を再度前記輝度・色差マトリクス変換し、補正された1つの輝度信号と2つの色差信号との組み合わせを得る補正処理手段と、
前記補正処理後の前記デジタルカラー画像データに対して、前記1つの輝度信号と前記2つの色差信号とを含む3次元空間における、前記輝度・色差マトリクス変換の計算結果として前記1つの輝度信号と前記2つの色差信号との組み合わせが存在する空間部分のみを固定長符号化することにより、前記デジタルカラー画像データを圧縮符号化する符号化手段と、
を設けたことを特徴とする画像データ圧縮装置。
【0013】
【発明の実施の形態】
Y −U ( CbまたはPb ) またはY −V ( CrまたはPr )で表現される2次元空間は,その全領域が使用されていない。例えば、Y = 0 ( 8bitデジタル値で16 ) やY =1 ( 8bitデジタル値で235 ) の値を取るためには色差U ,V = 0 ( 8bitデジタル値で128 ) でなければならない。なぜらば、RGB信号に変換後の値がR , G , B < 0 またはR , G , B > 1となるからである。本来は、RGB信号が0〜1の範囲に制限されているためU ,Vの取り得る値が制限を受ける。
【0014】
ここで、Y −U , Y −V 空間におけるU ,V の取り得る値の範囲を示す。( Y U V) のマトリクスを、
【0015】
【数5】
【0016】
【数6】
【0017】
【数7】
とする。このとき、Y −U 空間においてY値に対するUの最大値UMAXを求めると、[数6]よりU は R = G = 0 , B = 1 (Y = yB )のとき最大値をとる。したがって、 0≦Y ≦yB では、Y = yB*Bと[数6]から、
【0018】
【数8】
また、yB ≦Y ≦1では、B = 1 と[数2]から、
【0019】
【数9】
となる。
【0020】
次に、Uの最大値UMINを求めると、[数6]よりU はR = G = 1, B = 0 (Y = yR +yG ) のとき最小値をとる。したがって、0≦Y ≦yR +yG では、B = 0 と[数6]から、
【0021】
【数10】
また、yR +yG≦Y ≦1 では、Y = yR +yG+yB*Bと[数6]から、
【0022】
【数11】
となる。
【0023】
V に関してもUと同様に求めることができる。この場合、BをRに置き換えて考えればよい。したがって、
【0024】
【数12】
【0025】
【数13】
となる。
【0026】
以上の[数5]〜[数13]の ( yR , yG , yB ) は[数1]のSDTVと[数3]のHDTVのY の式により異なる。また、b , r は −0.5≦U , V ≦0.5 に規格化するSDTVのCb , Cr またはHDTVのPb , Prを用いる必要がある。[数2]、[数4]に従い、8bitで量子化する場合、SDTVでは ( yR , yG , yB ) = ( 0.299 , 0.587 , 0.114 ) , b = 0.564 , r = 0.713となり、HDTVでは ( yR , yG , yB )= ( 0.212 , 0.701 , 0.087 ) , b = 1/1.826 , r = 1/1.576となる。
【0027】
Y , Cb , Crについて実際の数値によりY − Cb, Y − Cr 空間の取り得る値の範囲を計算する。( Y , Cb ) 座標系では、( 0 , 0 ) , ( yB =0.114 , 0.5 ) , (yR +yG =0.886 , −0.5 ) , ( 1 , 0 ) の4点を頂点とする四角形の内部である。8bitで表現すると、( 16 , 128 ) , ( 41 , 240 ) , ( 210 , 16 ) , ( 235 ,128 ) となる。また、( Y , Cr, ) 座標系では、( 0 , 0 ) , ( yR =0.299 , 0.5 ) , ( yB +yG =0.701 , −0.5 ) , ( 1 , 0 ) の4点を頂点とする四角形の内部である。8bitのデジタル値で表現すると、( 16 , 128 ) , ( 81 , 240 ) , ( 170 , 16 ) , ( 235 , 128 ) となる。以上から、Y − Cb, Y − Cr 空間の取り得る値の範囲は図3と図4に示す四角形の内部になる。また、同様にY − Pb, Y − Pr 空間について取り得る値の範囲は図5と図6に示す四角形の内部になる。
【0028】
Y , U , V それぞれ1次元で考えるとデジタル値で8bitの空間を全て使用しているが、図3〜図6で分かるように、Y − U, Y − Vの2次元空間で考えると全空間の半分以下の面積しか使用していない。したがって、8bit(Y )+8bit(U or V )= 16bitの空間を15bitで表現可能である。この場合、15/16倍に圧縮でき、6.25%のデータが削減可能である。詳細は省略するが、Y − U − Vの3次元空間で考えると全空間の体積比1/4 = 0.25を使用していることと等価であり、実際に3次元空間で使用しているデータ量は計算上さらに少なく体積比で約0.236程度である。このように多次元化したデータに対して符号を割り当てれば視覚上の劣化を伴わずにデータ圧縮が実現できる。
【0029】
ただし、YUV信号の状態での信号処理(フィルタリング)や、アナログ伝送された信号が入力されることから、本来存在し得ないY −U , Y −V の組み合わせが発生することを考慮する必要がある。このような信号がテレビモニタに入力された場合、一般にテレビモニタはRGB信号へ変換後に信号をクリップする。このことから、符号化前にRGB空間で信号をクリップすることで、テレビモニタの見え方に影響を与えずに、存在しないはずのY −U , Y −Vの組み合わせを除去でき問題がなくなる。
【0030】
すなわち図1に示す本来存在しないはずのY −U , Y −Vの組み合わせを補正する信号値補正手段101により得られた24bitのYUV信号を入力とし22bitの符号を出力する22bit符号割当手段102を実装すればよい。
【0031】
また、図2では、前記3次元空間で考えて24bitのYUV信号を22bitに符号化する送信器210と伝送された22bitの符号を再び24bitのYUV信号に戻す受信器220によるシステムを示している。
【0032】
まず、送信器210ではYUV信号が入力部211から入力される。入力されたYUV信号をRGB変換器212でRGB信号に変換する。RGB変換器212から出力されたRGB信号は信号クリップ器214により R , G , B それぞれについて8bitデジタル値で0〜255に制限される。制限とは、0より小さい値は0に、255より大きい値は255にすることである。信号クリップ器214から出力されたRGB信号は、YUV変換器215により再びYUV信号へ戻され規格範囲に収まる信号として出力される。
【0033】
また、同時に前記RGB変換器212から出力されるRGB信号はR , G , B それぞれが規格化された0〜1の範囲に収まっているかを信号値判定器213で判定し、判定結果を出力する。この判定結果に基き、信号選択器216は、R , G , B 信号全てが0〜1の範囲に収まっている場合は入力部211の信号を選択し、 R , G , B 信号の内の1つでも0〜1の範囲に収まっていない場合はYUV変換器215から出力されるYUV信号を選択し出力する。
【0034】
信号選択器216から出力される24bitのYUV信号は、符号化器217により22bitの符号に変換され送信器210から送信される。受信器220は送信器210から伝送された信号を受信し、復号化器221で22bitの符号から24bitのYUV信号へ復号する。復号化器221から出力されたYUV信号は、出力部222から出力される。
【0035】
本実施形態では、各8bitで量子化されたYUV(4:2:2) 画像データを対象に説明するが、輝度・色差による信号形態であれば本発明を適用可能であり、サンプリングや量子化フォーマットを限定するものではない。YUV(4:2:2) 画像データは、図7に示すように Y , U(Cb) , V(Cr) の3つのデータがサンプリングされる画素位置とYのみがサンプリングされる画素位置とが交互に繰り返されている。図7に示した画面内位相でサンプリングされた輝度・色差データは、図8に示すように U,Y,V,Y,U,Y,…の順番で処理回路へ入力される。
【0036】
送信側での符号化の処理手順を図10のフローチャートを用いて説明する。入力されたYUV 画素データと画面内のYUV サンプリング位相が図9で示す関係であるとき、YUV 画素の位相が一致している部分を位相Aと呼ぶ。また、Y データのみが存在する部分を位相Bと呼ぶ。始めに、入力されたYUV信号に対して図10の判定部S1000で、前期位相Aと前記位相Bのどちらの状態のデータが入力されたかにより処理を切り替える。位相Aのデータが入力された場合は、処理経路S1001を選択する。また、位相Bのデータが入力された場合は、処理経路S1011が選択される。
【0037】
処理経路S1001では、YUV信号が24bit分全て揃っているので、入力されたYUV信号を判定部S1002へ出力する。判定部S1002は、図2の信号値判定器213と信号選択器216の動作に対応する。ただし、図2の信号値判定器213ではRGB信号の値が0〜1の範囲に収まっているかを判定条件としていたが、図10の判定部S1002では、入力されたYUV信号がY−U,Y−V空間で図15と図16に示した四角形の内部であるか外部であるかにより判定を下す。
【0038】
このようにした理由は、本提案をハードウエアで実現した場合にはRGB変換器を信号が常時通過しているため支障ないが、プログラムにより実現した場合には正規のYUV信号が入力されている限りではRGB変換ルーチンがパスされ高速化できるためである。以下では、この四角形の内部にある信号を規格内信号と呼び、外部にある信号を規格外信号と呼ぶ。
【0039】
判定部S1002の具体的動作を図11と図13を用いて説明する。なお、図10と同一のブロックには同じ番号が付けられている。図11で入力されたYUV信号は、Y−U空間判定部S1101でU信号が規格内信号であるかを判定する。このとき、図13に示すように、U信号の最大値を格納する256個の配列(メモリ)U’MAXと最小値を格納する配列(メモリ)U’MINを用意する。また、同時にV信号の最大値を格納する256個の配列(メモリ)V’MAXと最小値を格納する配列(メモリ)V’MINも用意する。Y = 0の時に、規格内のU信号が取り得る最大値をU’MAX[0]に格納し、最小値をU’MIN[0]に格納する。また、Y = 0の時に、規格内のV信号が取り得る最大値をV’MAX[0]に格納し、最小値をV’MIN[0]に格納する。同様にして、Yの最大値であるY = 255までU , V の最大値と最小値を配列 U’MAX , U’MIN , V’MAX , V’MIN に格納しておく。
【0040】
Y−U空間判定部S1101では、入力されたYの値yに対応する配列の値U’MAX[y] , U’MIN[y]を参照し、入力されたUの値がU’MIN[y] ≦ U ≦ U’MAX[y] の範囲内にない場合はRGBクリップ部S1003の処理を選択し、前期範囲内にある場合は続くY−V空間判定部S1102を選択する。Y−V空間判定部S1102では、入力されたYの値yに対応する配列の値V’MAX[y] , V’MIN[y]を参照し、入力されたVの値がV’MIN[y] ≦ V ≦ V’MAX[y] の範囲内にない場合はRGBクリップ部S1003の処理を選択し、前期範囲内にある場合は22bit符号化部S1004を選択する。
【0041】
図13の配列 U’MAX , U’MIN , V’MAX , V’MIN に格納する値の実施例を示す。まず、デジタルRGB信号 ( Rd , Gd , Bd ) におけるマージンを考慮した( Y ,U ),( Y , V )の使用領域を求める。アナログRGB信号 ( Ra , Ga , Ba ) を8bitに量子化する場合の変換式は、
【0042】
【数14】
である。したがって、規格化されたYa の取り得る範囲は −16/219 ≦Ya ≦ 239/219 となる。このとき、Uが最大となるYa は、R = G = −16/219 , B = 239/219 のときで、
【0043】
【数15】
となり、Uを最小にするYa は、R = G = 239/219 , B = −16/219 のときで、
【0044】
【数16】
となる。また、V が最大となるYa は、R = 239/219 , G = B = −16/219 のときで、
【0045】
【数17】
となり、Vを最小にするYa は、R = −16/219 , G = B = 239/219 のときで、
【0046】
【数18】
となる。すなわち、デジタルRGB信号のマージンを含む U’MAX , U’MIN , V’MAX , V’MIN は、
【0047】
【数19】
【0048】
【数20】
【0049】
【数21】
【0050】
【数22】
となる。
【0051】
以上からSDTVの場合、 ( Y , U ) の規格内領域は ( 0 , 128 ) , ( 29 , 258) , ( 255 , 128 ) , ( 226 , −2 ) を頂点とする四角形の内部であり、( Y , V ) の規格内領域は ( 0 , 128 ) , ( 76 , 258 ) , ( 255 , 128 ) , ( 179 , −2 ) を頂点とする四角形の内部となる。U , V 共に僅かに8bit のレンジからはみ出しているがRGB信号のマージン部分であることから実用上問題にならない。したがって、( Y , U ) の規格内領域を ( 0 , 128 ) , ( 29 , 255 ) , ( 255 , 128 ) , ( 226 , 0 ) を頂点とする四角形の内部とし、( Y , V ) の規格内領域を ( 0 , 128 ) , ( 76 , 255 ) , ( 255 , 128 ) , ( 179 , 0 ) を頂点とする四角形の内部として差し支えない。この結果、図15の実線上の値をU’MAX 、破線上の値をU’MIN とし、図16の実線上の値をV’MAX 、破線上の値をV’MIN とした。
【0052】
次に、図10の判定部S1002で入力されたYUV信号が規格外であると判定された場合に選択されるRGBクリップ部S1003 の処理を図17で説明する。入力されたYUV信号は規格外の信号であるためRGB変換部S1701でRGB信号へ変換する。変換式はSDTVの場合は[数1]と[数2]から求められ、HDTVの場合は[数3]と[数4]から求められる。
【0053】
RGB変換部S1701から出力されるR信号は処理ブロックS1710へ入力され、G信号は処理ブロックS1720へ入力され、B信号は処理ブロックS1730へ入力される。処理ブロックS1710、S1720、S1730の内部処理は全て同一であるため、処理ブロックS1710についてのみ説明する。オーバーフロー判定部S1711は、入力されたR信号が8bitデジタル値で表現できる最大値の255を超えていないかを判定し、R信号が255よりも大きい場合は、クリップ部S1712でR信号を255に設定する。R信号が255以下であった場合は、アンダーフロー判定部S1713にR信号を入力し、負の値であった場合はクリップ部S1714でR信号を0に設定する。上記操作により、処理ブロックS1710からは0〜255のいずれかの値を持つR信号が出力される。同様に、処理ブロックS1720、S1730からは、0〜255のいずれかの値を持つG , B 信号が出力される。
【0054】
処理ブロックS1710、S1720、S1730から出力されたRGB信号はYUV変換部S1702でYUV信号に変換される。変換式はSDTVの場合は[数1]と[数2]であり、HDTVの場合は[数3]と[数4]である。この結果、前記規格外のYUV信号は、規格内のYUV信号へ変換されることになる。
【0055】
この後、YUV変換部S1702から出力されるYUV信号の内のY , U信号はU最大値判定部S1741へ入力される。U最大値判定部S1741では、入力されたY信号から図13で示した前述のU’MAX [y] 値を取得し、入力されたU 信号がこの値よりも大きい場合は、クリップ部S1742でU 信号にU’MAX [y] 値が設定される。U 信号がU’MAX[y] 値以下である場合は、U最小値判定部S1743へY , U信号が入力される。U最小値判定部S1743では、入力されたY信号から図13で示した前述のU’MIN [y] 値を取得し、入力されたU 信号がこの値よりも小さい場合は、クリップ部S1744でU
信号にU’MIN [y] 値が設定される。
【0056】
同様に、YUV変換部S1702から出力されるYUV信号の内のY , V信号がV最大値判定部S1751へ入力される。V最大値判定部S1751では、入力されたY信号から図13で示した前述のV’MAX [y] 値を取得し、入力されたV 信号がこの値よりも大きい場合は、クリップ部S1752でV 信号にV’MAX [y] 値が設定される。V 信号がV’MAX[y] 値以下である場合は、V最小値判定部S1753へY , V信号が入力される。V最小値判定部S1753では、入力されたY信号から図13で示した前述のV’MIN [y] 値を取得し、入力されたV 信号がこの値よりも小さい場合は、クリップ部S1754でV
信号にV’MIN [y] 値が設定される。
【0057】
ここで、U , V 信号に制限をかける理由は、YUV変換部S1702の演算精度によってU , V 信号が僅かに規格外へずれる可能性があるからである。以上の図17の処理により、規格外のYUV信号が規格内のYUV信号へと視覚的に問題なく変換される。変換後のYUV信号は、22bit符号化部S1004へ入力される。
【0058】
次に、図10の22bit符号化部S1004での処理を説明する。22bit符号化部S1004ではY , U , Vそれぞれ8bitの合計24bitの信号が入力される。規格内のYUV信号の組み合わせは図15と図16で示したようにYを共通とするY−U , Y−V 空間の半分の面積しか使用していないことから、規格内のYUV信号の組み合わせに順番に番号を振って行った場合、22bitで表現できる。そこで、規格内のYUV信号の組み合わせに番号を振る操作の一例を説明する。
【0059】
先ず、図14に示すように255個の配列U’BASE とV’SIZE を用意する。U’BASE [0] には値0を格納し、V’SIZE [0] にはY = 0のときの規格内V信号の個数を格納する。つぎに、U’BASE [1] にはY = 0のときの規格内U信号とV信号の個数の積値を格納し、V’SIZE [1] にはY = 1のときの規格内V信号の個数を格納する。さらに、U’BASE [2] にはY = 1のときの規格内U信号とV信号の個数の積値にU’BASE [1] の値を加えた値を格納し、V’SIZE [2] にはY = 2のときの規格内V信号の個数を格納する。以下、
【0060】
【数23】
をU’BASE [255] , V’SIZE [255] まで繰り返す。
【0061】
この結果、Y = yのときにU’BASE[y]を参照するとY <yまでに使用された連番の個数が分かり、V’SIZE [y] を参照するとY = yのときの規格内V信号の個数が分かる。この図14の配列U’BASE , V’SIZE と図13の配列U’MIN , V’MIN と入力されたY = y , U = u , V = v 値から22bitの符号Dを、
【0062】
【数24】
により算出できる。
【0063】
次に図9のYUV画面内位相が位相Bの場合に選択される図10の処理経路S1011について説明する。図9の位相BではY信号だけしか得られないため、両隣の位相AのU , V 信号から位相BのU , V 信号を生成する。例えば、Y2の位相Bと同じ位相のU2 , V2 を、
【0064】
【数25】
により生成する。ここで、U’1 , U’3 , V’1 , V’3 は図10の22bit符号化部S1004へ入力される位相AのU , V 信号でもよいし、図9で示す入力されたU1 , U3 , V1 , V3でもよい。さらには、前値ホールドでU1 , V1信号を用いる方法も考えられる。
【0065】
図10の処理経路S1011で生成されたYUV信号は判定部S1012へ入力される。判定部S1012での処理を図12に示す。図10の判定部S1012の処理は判定部S1002と同一であるため説明を省略するが、入力されたYUV信号が規格内信号である場合はY出力部S1014を選択し、YUV信号が規格外信号である場合はRGBクリップ部S1013を選択する。RGBクリップ部S1013 での処理を図18で説明する。図18で、入力されたYUV信号はRGB変換部S1801でRGB信号へ変換する。図18のRGB変換部S1801と図17のRGB変換部S1701は同一の機能を具備するものである。前記変換されたR , G , B 信号はそれぞれ処理ブロックS1810 , S1820 , S1830 へ入力される。
【0066】
図18の処理ブロックS1810 , S1820 , S1830も図17の処理ブロックS1710 ,S1720 , S1730 と同一の機能を具備するものである。さらに、処理ブロックS1810 , S1820 , S1830 から出力された0〜255に制限された RGB信号はYUV変換部S1802でYUV信号に変換される。図18のYUV変換部S1802 も図17のYUV変換部S1702 と同一の機能を具備するものである。YUV変換部S1802から出力されたYUV信号はY出力部S1014へ入力される。図10のY出力部S1014は規格内のYUV信号を入力として、Y信号のみを出力するものである。
【0067】
以上、図10を用いて説明したように、図9の位相AのYUV信号が入力された場合は図10の処理経路S1001の経路を通り22bit符号化部S1004から22bit符号Dを出力し、図9の位相BのY信号が入力された場合は図10の処理経路S1011の経路を通りY出力部S1014からY信号を出力する。この結果、図19で示すように22bit符号D とY信号が交互に出力され伝送される。
【0068】
次に、受信側での復号化を図20で説明する。受信データ列は図20の圧縮データ伝送順のように22bit符号D とY信号が交互になっている。復号化では、22bit符号Dを受信した場合は図20の復号処理部S2001により24bitのYUV信号を復元する。また、Y信号を受信した場合はそのままY信号として出力する。この結果、送信側と同じYUV(4:2:2)信号が復元される。
【0069】
図20の復号処理部S2001の処理を図21で説明する。ここでは、説明を簡単にするために配列の高速検索等の技術は使用しない。図21のブロックS2101で整数変数nを0に初期化する。判定部S2102では図14で決定した配列U’BASE [n] に格納されている値が22bit符号Dよりも大きくなるまで、図21の整数変数nをブロックS2103で1ずつ増加させる。この結果、配列U’BASE [n] に格納されている値が22bit符号Dよりも大きくなったときの ( 整数変数 n ) − 1 をY信号の値としてブロックS2104で設定する。次に、ブロックS2104で求められたY信号により決定される配列値U’BASE [Y] を22bit符号D から減算した値を新たな22bit符号DとしてブロックS2105で設定する。
【0070】
さらに、ブロックS2106で整数変数nを再び0に初期化し、判定部S2107でn×V’SIZE [Y] が22bit符号Dよりも大きくなるまで整数変数nをブロックS2108で1ずつ増加させる。この結果、n×V’SIZE [Y] が22bit符号Dよりも大きくなったときの( 整数変数 n ) − 1 + U’MIN [Y]をU信号の値としてブロックS2109で設定する。ブロックS2104で求められたY信号とブロックS2109で求められたU信号とから、V = D − (n−1)×V’SIZE [Y] + V’MIN [Y]としてブロックS2110によりV信号が求められ終了する。
【0071】
以上説明したように、一連の符号化・復号化処理により画像データの圧縮・伸張が実現される。
【0072】
【発明の効果】
以上の通り、本発明によれば、伝送レートを固定した条件において、高速処理を可能とし、しかも視覚上の劣化を伴わない画像データ圧縮方法及び装置を提供できる。
【0073】
即ち本発明は、圧宿処理に、フレーム間相関やライン間相関を用いていないので、大容量メモリを必要とせず、しかも簡単な演算で高速に圧縮処理が行える。従って、高速処理が要求される高精細画像の圧縮に好適である。
【0074】
さらに、本発明は、輝度・色差マトリクス変換の計算結果として発生し得ない1つの輝度信号と前記2つの色差信号との組み合わせの入力(規格外のYUV信号)に対しては、規格内の信号の組み合わせとなるように(正規化されたRGB信号から得られる組み合わせの範囲内になるように、即ち視覚的に問題のない値となるように)補正する処理を行ってから圧縮を実行しているので、視覚上の劣化を伴わないロスレス圧縮が行える。
【0075】
また、僅かな圧縮率向上であっても、通信系における高精細動画像への使用を考えた場合には、全体として膨大な情報量圧縮となり、本発明は伝送帯域の有効活用に多大な効果がある。
【図面の簡単な説明】
【図1】本発明の実施形態に係わる圧縮符号化の構成図である。
【図2】本発明の実施形態に係わる圧縮符号化・復号化システムの構成図である。
【図3】Y − Cb 空間の規格内領域を示す図である。
【図4】Y − Cr 空間の規格内領域を示す図である。
【図5】Y − Pb 空間の規格内領域を示す図である。
【図6】Y − Pr 空間の規格内領域を示す図である。
【図7】Y , Cb , Cr の画面内サンプリングポイントを説明する図である。
【図8】Y , U , V データの伝送順を説明する図である。
【図9】Y , U , V データ伝送順と画面内位相の関係を説明する図である。
【図10】本発明の実施形態に係わる圧縮符号化の処理フローである。
【図11】位相Aにおける規格内信号判別器の処理フローである。
【図12】位相Bにおける規格内信号判別器の処理フローである。
【図13】U , V データの規格内信号の最大・最小値を格納する配列を示す図である。
【図14】22bit符号化・復号化の演算で使用する配列を示す図である。
【図15】Y − U 空間の符号化領域を示す図である。
【図16】Y − V 空間の符号化領域を示す図である。
【図17】位相Aにおける規格外信号の処理フローである。
【図18】位相Bにおける規格外信号の処理フローである。
【図19】圧縮データの伝送順を説明する図である。
【図20】圧縮データの復号化順を説明する図である。
【図21】本発明の実施形態により符号化されたデータの復号化の処理フローである。
【発明の属する技術分野】
本発明は、高速圧縮処理が要求される高精細画像データにおいて、デジタルカラー画像を視覚的に劣化なく固定長符号化するデータ圧縮方法であって、大容量画像データの高速伝送および蓄積技術に係わる。
【0002】
【従来技術】
従来、デジタルテレビジョンスタジオの世界的規格である ITU−R ( International Telecommunications Union − Radiocommunication Sector ) BT.601の 4:2:2 カラーコンポーネント信号 ( Y , Cb , Cr ) や、SMPTE ( Society of Motion Picture and Television Engineers ) 240Mで規定されるHDTVシステム用の ( Y , Pb , Pr ) 信号のように、( R , G , B ) のカラー3原色を輝度・色差マトリクス変換により輝度信号と2つの色差信号に変換して、カラー画像の記録フォーマットやデジタルインターフェース信号に用いる方法がある。これら輝度・色差信号は、人間の視覚特性にマッチすることや、色差信号を狭帯域にしても劣化が目立たないなどの理由により広く用いられている。0〜1に正規化(規格化)されたアナログRGB信号からデジタルの輝度・色差信号へ輝度・色差マトリクス変換を用いて変換する場合、標準テレビ画像(以後、SDTVと表記)の8bit量子化では、
【0003】
【数1】
【0004】
【数2】
により実現される。また高精細テレビ画像(以後、HDTVと表記)では、
【0005】
【数3】
【0006】
【数4】
により量子化されデジタル信号となる。これらデジタル信号が伝送、記録系で利用されている。以後の説明では、Cb , Pb を代表する記号としてUを用い、Cr , Pr を代表する記号としてVを用いて説明する。
【0007】
【特許文献1】
特開平6−62431号公報
【0008】
【発明が解決しようとする課題】
デジタル信号伝送・記録系の高速大容量化の一方で画像の高精細化が進み、画像圧縮技術に対して高速処理や圧縮率の保障が求められている。
【0009】
しかし、可逆圧縮では画像の内容によって圧縮率が変動することや、高速な処理が困難であるという問題点があった。例えば、株式会社トリケップス発行の「次世代画像符号化方式 JPEG2000」(ISBN4−88657−209−X) のp.36 〜 p.40に記載の内容を参照。特に、動画像において、フレーム内の圧縮率一定だけではなく1走査ライン内の圧縮率一定を保障することは困難である。
【0010】
また、非可逆圧縮では圧縮率を保障できるが、画質の劣化を伴うという問題点があった。例えば、前記参考図書のp.31 〜 p.32に記載の内容を参照。
【0011】
すなわち、高精細画像のリアルタイム伝送・記録を実現する場合、固定伝送レートでかつ高速に処理できるだけではなく、画質の劣化を伴わないという条件が画像圧縮技術に求められている。本発明は、伝送レートを固定した条件において、高速処理を可能とする簡便な方法で、しかも視覚上の劣化を伴わないカラー画像圧縮法及び装置を提供するものである。
【0012】
【課題を解決するための手段】
そこで上記課題を解決するために本発明は、下記の方法及び装置を提供するものである。
(1) 正規化されたRGB信号から輝度・色差マトリクス変換により求められる1つの輝度信号と2つの色差信号とによって表現されるデジタルカラー画像データを圧縮符号化する画像データ圧縮方法において、
入来する前記デジタルカラー画像データが、前記輝度・色差マトリクス変換の計算結果として発生し得ない前記1つの輝度信号と前記2つの色差信号との組み合わせであるか否かの検出を行い、発生し得ない組み合わせが検出された場合には、その検出された組み合わせにおける1つの輝度信号と2つの色差信号とをRGB信号に変換し、変換して得たRGB信号の値を前記正規化した値として取りうる範囲内に制限し、その制限を加えたRGB信号を再度前記輝度・色差マトリクス変換し、補正された1つの輝度信号と2つの色差信号との組み合わせを得る補正処理ステップと、
前記補正処理後の前記デジタルカラー画像データに対して、前記1つの輝度信号と前記2つの色差信号とを含む3次元空間における、前記輝度・色差マトリクス変換の計算結果として前記1つの輝度信号と前記2つの色差信号との組み合わせが存在する空間部分のみを固定長符号化することにより、前記デジタルカラー画像データを圧縮符号化する符号化ステップと、
を設けたことを特徴とする画像データ圧縮方法。
(2) 正規化されたRGB信号から輝度・色差マトリクス変換により求められる1つの輝度信号と2つの色差信号とによって表現されるデジタルカラー画像データを圧縮符号化する画像データ圧縮装置において、
入来する前記デジタルカラー画像データが、前記輝度・色差マトリクス変換の計算結果として発生し得ない前記1つの輝度信号と前記2つの色差信号との組み合わせであるか否かの検出を行い、発生し得ない組み合わせが検出された場合には、その検出された組み合わせにおける1つの輝度信号と2つの色差信号とをRGB信号に変換し、変換して得たRGB信号の値を前記正規化した値として取りうる範囲内に制限し、その制限を加えたRGB信号を再度前記輝度・色差マトリクス変換し、補正された1つの輝度信号と2つの色差信号との組み合わせを得る補正処理手段と、
前記補正処理後の前記デジタルカラー画像データに対して、前記1つの輝度信号と前記2つの色差信号とを含む3次元空間における、前記輝度・色差マトリクス変換の計算結果として前記1つの輝度信号と前記2つの色差信号との組み合わせが存在する空間部分のみを固定長符号化することにより、前記デジタルカラー画像データを圧縮符号化する符号化手段と、
を設けたことを特徴とする画像データ圧縮装置。
【0013】
【発明の実施の形態】
Y −U ( CbまたはPb ) またはY −V ( CrまたはPr )で表現される2次元空間は,その全領域が使用されていない。例えば、Y = 0 ( 8bitデジタル値で16 ) やY =1 ( 8bitデジタル値で235 ) の値を取るためには色差U ,V = 0 ( 8bitデジタル値で128 ) でなければならない。なぜらば、RGB信号に変換後の値がR , G , B < 0 またはR , G , B > 1となるからである。本来は、RGB信号が0〜1の範囲に制限されているためU ,Vの取り得る値が制限を受ける。
【0014】
ここで、Y −U , Y −V 空間におけるU ,V の取り得る値の範囲を示す。( Y U V) のマトリクスを、
【0015】
【数5】
【0016】
【数6】
【0017】
【数7】
とする。このとき、Y −U 空間においてY値に対するUの最大値UMAXを求めると、[数6]よりU は R = G = 0 , B = 1 (Y = yB )のとき最大値をとる。したがって、 0≦Y ≦yB では、Y = yB*Bと[数6]から、
【0018】
【数8】
また、yB ≦Y ≦1では、B = 1 と[数2]から、
【0019】
【数9】
となる。
【0020】
次に、Uの最大値UMINを求めると、[数6]よりU はR = G = 1, B = 0 (Y = yR +yG ) のとき最小値をとる。したがって、0≦Y ≦yR +yG では、B = 0 と[数6]から、
【0021】
【数10】
また、yR +yG≦Y ≦1 では、Y = yR +yG+yB*Bと[数6]から、
【0022】
【数11】
となる。
【0023】
V に関してもUと同様に求めることができる。この場合、BをRに置き換えて考えればよい。したがって、
【0024】
【数12】
【0025】
【数13】
となる。
【0026】
以上の[数5]〜[数13]の ( yR , yG , yB ) は[数1]のSDTVと[数3]のHDTVのY の式により異なる。また、b , r は −0.5≦U , V ≦0.5 に規格化するSDTVのCb , Cr またはHDTVのPb , Prを用いる必要がある。[数2]、[数4]に従い、8bitで量子化する場合、SDTVでは ( yR , yG , yB ) = ( 0.299 , 0.587 , 0.114 ) , b = 0.564 , r = 0.713となり、HDTVでは ( yR , yG , yB )= ( 0.212 , 0.701 , 0.087 ) , b = 1/1.826 , r = 1/1.576となる。
【0027】
Y , Cb , Crについて実際の数値によりY − Cb, Y − Cr 空間の取り得る値の範囲を計算する。( Y , Cb ) 座標系では、( 0 , 0 ) , ( yB =0.114 , 0.5 ) , (yR +yG =0.886 , −0.5 ) , ( 1 , 0 ) の4点を頂点とする四角形の内部である。8bitで表現すると、( 16 , 128 ) , ( 41 , 240 ) , ( 210 , 16 ) , ( 235 ,128 ) となる。また、( Y , Cr, ) 座標系では、( 0 , 0 ) , ( yR =0.299 , 0.5 ) , ( yB +yG =0.701 , −0.5 ) , ( 1 , 0 ) の4点を頂点とする四角形の内部である。8bitのデジタル値で表現すると、( 16 , 128 ) , ( 81 , 240 ) , ( 170 , 16 ) , ( 235 , 128 ) となる。以上から、Y − Cb, Y − Cr 空間の取り得る値の範囲は図3と図4に示す四角形の内部になる。また、同様にY − Pb, Y − Pr 空間について取り得る値の範囲は図5と図6に示す四角形の内部になる。
【0028】
Y , U , V それぞれ1次元で考えるとデジタル値で8bitの空間を全て使用しているが、図3〜図6で分かるように、Y − U, Y − Vの2次元空間で考えると全空間の半分以下の面積しか使用していない。したがって、8bit(Y )+8bit(U or V )= 16bitの空間を15bitで表現可能である。この場合、15/16倍に圧縮でき、6.25%のデータが削減可能である。詳細は省略するが、Y − U − Vの3次元空間で考えると全空間の体積比1/4 = 0.25を使用していることと等価であり、実際に3次元空間で使用しているデータ量は計算上さらに少なく体積比で約0.236程度である。このように多次元化したデータに対して符号を割り当てれば視覚上の劣化を伴わずにデータ圧縮が実現できる。
【0029】
ただし、YUV信号の状態での信号処理(フィルタリング)や、アナログ伝送された信号が入力されることから、本来存在し得ないY −U , Y −V の組み合わせが発生することを考慮する必要がある。このような信号がテレビモニタに入力された場合、一般にテレビモニタはRGB信号へ変換後に信号をクリップする。このことから、符号化前にRGB空間で信号をクリップすることで、テレビモニタの見え方に影響を与えずに、存在しないはずのY −U , Y −Vの組み合わせを除去でき問題がなくなる。
【0030】
すなわち図1に示す本来存在しないはずのY −U , Y −Vの組み合わせを補正する信号値補正手段101により得られた24bitのYUV信号を入力とし22bitの符号を出力する22bit符号割当手段102を実装すればよい。
【0031】
また、図2では、前記3次元空間で考えて24bitのYUV信号を22bitに符号化する送信器210と伝送された22bitの符号を再び24bitのYUV信号に戻す受信器220によるシステムを示している。
【0032】
まず、送信器210ではYUV信号が入力部211から入力される。入力されたYUV信号をRGB変換器212でRGB信号に変換する。RGB変換器212から出力されたRGB信号は信号クリップ器214により R , G , B それぞれについて8bitデジタル値で0〜255に制限される。制限とは、0より小さい値は0に、255より大きい値は255にすることである。信号クリップ器214から出力されたRGB信号は、YUV変換器215により再びYUV信号へ戻され規格範囲に収まる信号として出力される。
【0033】
また、同時に前記RGB変換器212から出力されるRGB信号はR , G , B それぞれが規格化された0〜1の範囲に収まっているかを信号値判定器213で判定し、判定結果を出力する。この判定結果に基き、信号選択器216は、R , G , B 信号全てが0〜1の範囲に収まっている場合は入力部211の信号を選択し、 R , G , B 信号の内の1つでも0〜1の範囲に収まっていない場合はYUV変換器215から出力されるYUV信号を選択し出力する。
【0034】
信号選択器216から出力される24bitのYUV信号は、符号化器217により22bitの符号に変換され送信器210から送信される。受信器220は送信器210から伝送された信号を受信し、復号化器221で22bitの符号から24bitのYUV信号へ復号する。復号化器221から出力されたYUV信号は、出力部222から出力される。
【0035】
本実施形態では、各8bitで量子化されたYUV(4:2:2) 画像データを対象に説明するが、輝度・色差による信号形態であれば本発明を適用可能であり、サンプリングや量子化フォーマットを限定するものではない。YUV(4:2:2) 画像データは、図7に示すように Y , U(Cb) , V(Cr) の3つのデータがサンプリングされる画素位置とYのみがサンプリングされる画素位置とが交互に繰り返されている。図7に示した画面内位相でサンプリングされた輝度・色差データは、図8に示すように U,Y,V,Y,U,Y,…の順番で処理回路へ入力される。
【0036】
送信側での符号化の処理手順を図10のフローチャートを用いて説明する。入力されたYUV 画素データと画面内のYUV サンプリング位相が図9で示す関係であるとき、YUV 画素の位相が一致している部分を位相Aと呼ぶ。また、Y データのみが存在する部分を位相Bと呼ぶ。始めに、入力されたYUV信号に対して図10の判定部S1000で、前期位相Aと前記位相Bのどちらの状態のデータが入力されたかにより処理を切り替える。位相Aのデータが入力された場合は、処理経路S1001を選択する。また、位相Bのデータが入力された場合は、処理経路S1011が選択される。
【0037】
処理経路S1001では、YUV信号が24bit分全て揃っているので、入力されたYUV信号を判定部S1002へ出力する。判定部S1002は、図2の信号値判定器213と信号選択器216の動作に対応する。ただし、図2の信号値判定器213ではRGB信号の値が0〜1の範囲に収まっているかを判定条件としていたが、図10の判定部S1002では、入力されたYUV信号がY−U,Y−V空間で図15と図16に示した四角形の内部であるか外部であるかにより判定を下す。
【0038】
このようにした理由は、本提案をハードウエアで実現した場合にはRGB変換器を信号が常時通過しているため支障ないが、プログラムにより実現した場合には正規のYUV信号が入力されている限りではRGB変換ルーチンがパスされ高速化できるためである。以下では、この四角形の内部にある信号を規格内信号と呼び、外部にある信号を規格外信号と呼ぶ。
【0039】
判定部S1002の具体的動作を図11と図13を用いて説明する。なお、図10と同一のブロックには同じ番号が付けられている。図11で入力されたYUV信号は、Y−U空間判定部S1101でU信号が規格内信号であるかを判定する。このとき、図13に示すように、U信号の最大値を格納する256個の配列(メモリ)U’MAXと最小値を格納する配列(メモリ)U’MINを用意する。また、同時にV信号の最大値を格納する256個の配列(メモリ)V’MAXと最小値を格納する配列(メモリ)V’MINも用意する。Y = 0の時に、規格内のU信号が取り得る最大値をU’MAX[0]に格納し、最小値をU’MIN[0]に格納する。また、Y = 0の時に、規格内のV信号が取り得る最大値をV’MAX[0]に格納し、最小値をV’MIN[0]に格納する。同様にして、Yの最大値であるY = 255までU , V の最大値と最小値を配列 U’MAX , U’MIN , V’MAX , V’MIN に格納しておく。
【0040】
Y−U空間判定部S1101では、入力されたYの値yに対応する配列の値U’MAX[y] , U’MIN[y]を参照し、入力されたUの値がU’MIN[y] ≦ U ≦ U’MAX[y] の範囲内にない場合はRGBクリップ部S1003の処理を選択し、前期範囲内にある場合は続くY−V空間判定部S1102を選択する。Y−V空間判定部S1102では、入力されたYの値yに対応する配列の値V’MAX[y] , V’MIN[y]を参照し、入力されたVの値がV’MIN[y] ≦ V ≦ V’MAX[y] の範囲内にない場合はRGBクリップ部S1003の処理を選択し、前期範囲内にある場合は22bit符号化部S1004を選択する。
【0041】
図13の配列 U’MAX , U’MIN , V’MAX , V’MIN に格納する値の実施例を示す。まず、デジタルRGB信号 ( Rd , Gd , Bd ) におけるマージンを考慮した( Y ,U ),( Y , V )の使用領域を求める。アナログRGB信号 ( Ra , Ga , Ba ) を8bitに量子化する場合の変換式は、
【0042】
【数14】
である。したがって、規格化されたYa の取り得る範囲は −16/219 ≦Ya ≦ 239/219 となる。このとき、Uが最大となるYa は、R = G = −16/219 , B = 239/219 のときで、
【0043】
【数15】
となり、Uを最小にするYa は、R = G = 239/219 , B = −16/219 のときで、
【0044】
【数16】
となる。また、V が最大となるYa は、R = 239/219 , G = B = −16/219 のときで、
【0045】
【数17】
となり、Vを最小にするYa は、R = −16/219 , G = B = 239/219 のときで、
【0046】
【数18】
となる。すなわち、デジタルRGB信号のマージンを含む U’MAX , U’MIN , V’MAX , V’MIN は、
【0047】
【数19】
【0048】
【数20】
【0049】
【数21】
【0050】
【数22】
となる。
【0051】
以上からSDTVの場合、 ( Y , U ) の規格内領域は ( 0 , 128 ) , ( 29 , 258) , ( 255 , 128 ) , ( 226 , −2 ) を頂点とする四角形の内部であり、( Y , V ) の規格内領域は ( 0 , 128 ) , ( 76 , 258 ) , ( 255 , 128 ) , ( 179 , −2 ) を頂点とする四角形の内部となる。U , V 共に僅かに8bit のレンジからはみ出しているがRGB信号のマージン部分であることから実用上問題にならない。したがって、( Y , U ) の規格内領域を ( 0 , 128 ) , ( 29 , 255 ) , ( 255 , 128 ) , ( 226 , 0 ) を頂点とする四角形の内部とし、( Y , V ) の規格内領域を ( 0 , 128 ) , ( 76 , 255 ) , ( 255 , 128 ) , ( 179 , 0 ) を頂点とする四角形の内部として差し支えない。この結果、図15の実線上の値をU’MAX 、破線上の値をU’MIN とし、図16の実線上の値をV’MAX 、破線上の値をV’MIN とした。
【0052】
次に、図10の判定部S1002で入力されたYUV信号が規格外であると判定された場合に選択されるRGBクリップ部S1003 の処理を図17で説明する。入力されたYUV信号は規格外の信号であるためRGB変換部S1701でRGB信号へ変換する。変換式はSDTVの場合は[数1]と[数2]から求められ、HDTVの場合は[数3]と[数4]から求められる。
【0053】
RGB変換部S1701から出力されるR信号は処理ブロックS1710へ入力され、G信号は処理ブロックS1720へ入力され、B信号は処理ブロックS1730へ入力される。処理ブロックS1710、S1720、S1730の内部処理は全て同一であるため、処理ブロックS1710についてのみ説明する。オーバーフロー判定部S1711は、入力されたR信号が8bitデジタル値で表現できる最大値の255を超えていないかを判定し、R信号が255よりも大きい場合は、クリップ部S1712でR信号を255に設定する。R信号が255以下であった場合は、アンダーフロー判定部S1713にR信号を入力し、負の値であった場合はクリップ部S1714でR信号を0に設定する。上記操作により、処理ブロックS1710からは0〜255のいずれかの値を持つR信号が出力される。同様に、処理ブロックS1720、S1730からは、0〜255のいずれかの値を持つG , B 信号が出力される。
【0054】
処理ブロックS1710、S1720、S1730から出力されたRGB信号はYUV変換部S1702でYUV信号に変換される。変換式はSDTVの場合は[数1]と[数2]であり、HDTVの場合は[数3]と[数4]である。この結果、前記規格外のYUV信号は、規格内のYUV信号へ変換されることになる。
【0055】
この後、YUV変換部S1702から出力されるYUV信号の内のY , U信号はU最大値判定部S1741へ入力される。U最大値判定部S1741では、入力されたY信号から図13で示した前述のU’MAX [y] 値を取得し、入力されたU 信号がこの値よりも大きい場合は、クリップ部S1742でU 信号にU’MAX [y] 値が設定される。U 信号がU’MAX[y] 値以下である場合は、U最小値判定部S1743へY , U信号が入力される。U最小値判定部S1743では、入力されたY信号から図13で示した前述のU’MIN [y] 値を取得し、入力されたU 信号がこの値よりも小さい場合は、クリップ部S1744でU
信号にU’MIN [y] 値が設定される。
【0056】
同様に、YUV変換部S1702から出力されるYUV信号の内のY , V信号がV最大値判定部S1751へ入力される。V最大値判定部S1751では、入力されたY信号から図13で示した前述のV’MAX [y] 値を取得し、入力されたV 信号がこの値よりも大きい場合は、クリップ部S1752でV 信号にV’MAX [y] 値が設定される。V 信号がV’MAX[y] 値以下である場合は、V最小値判定部S1753へY , V信号が入力される。V最小値判定部S1753では、入力されたY信号から図13で示した前述のV’MIN [y] 値を取得し、入力されたV 信号がこの値よりも小さい場合は、クリップ部S1754でV
信号にV’MIN [y] 値が設定される。
【0057】
ここで、U , V 信号に制限をかける理由は、YUV変換部S1702の演算精度によってU , V 信号が僅かに規格外へずれる可能性があるからである。以上の図17の処理により、規格外のYUV信号が規格内のYUV信号へと視覚的に問題なく変換される。変換後のYUV信号は、22bit符号化部S1004へ入力される。
【0058】
次に、図10の22bit符号化部S1004での処理を説明する。22bit符号化部S1004ではY , U , Vそれぞれ8bitの合計24bitの信号が入力される。規格内のYUV信号の組み合わせは図15と図16で示したようにYを共通とするY−U , Y−V 空間の半分の面積しか使用していないことから、規格内のYUV信号の組み合わせに順番に番号を振って行った場合、22bitで表現できる。そこで、規格内のYUV信号の組み合わせに番号を振る操作の一例を説明する。
【0059】
先ず、図14に示すように255個の配列U’BASE とV’SIZE を用意する。U’BASE [0] には値0を格納し、V’SIZE [0] にはY = 0のときの規格内V信号の個数を格納する。つぎに、U’BASE [1] にはY = 0のときの規格内U信号とV信号の個数の積値を格納し、V’SIZE [1] にはY = 1のときの規格内V信号の個数を格納する。さらに、U’BASE [2] にはY = 1のときの規格内U信号とV信号の個数の積値にU’BASE [1] の値を加えた値を格納し、V’SIZE [2] にはY = 2のときの規格内V信号の個数を格納する。以下、
【0060】
【数23】
をU’BASE [255] , V’SIZE [255] まで繰り返す。
【0061】
この結果、Y = yのときにU’BASE[y]を参照するとY <yまでに使用された連番の個数が分かり、V’SIZE [y] を参照するとY = yのときの規格内V信号の個数が分かる。この図14の配列U’BASE , V’SIZE と図13の配列U’MIN , V’MIN と入力されたY = y , U = u , V = v 値から22bitの符号Dを、
【0062】
【数24】
により算出できる。
【0063】
次に図9のYUV画面内位相が位相Bの場合に選択される図10の処理経路S1011について説明する。図9の位相BではY信号だけしか得られないため、両隣の位相AのU , V 信号から位相BのU , V 信号を生成する。例えば、Y2の位相Bと同じ位相のU2 , V2 を、
【0064】
【数25】
により生成する。ここで、U’1 , U’3 , V’1 , V’3 は図10の22bit符号化部S1004へ入力される位相AのU , V 信号でもよいし、図9で示す入力されたU1 , U3 , V1 , V3でもよい。さらには、前値ホールドでU1 , V1信号を用いる方法も考えられる。
【0065】
図10の処理経路S1011で生成されたYUV信号は判定部S1012へ入力される。判定部S1012での処理を図12に示す。図10の判定部S1012の処理は判定部S1002と同一であるため説明を省略するが、入力されたYUV信号が規格内信号である場合はY出力部S1014を選択し、YUV信号が規格外信号である場合はRGBクリップ部S1013を選択する。RGBクリップ部S1013 での処理を図18で説明する。図18で、入力されたYUV信号はRGB変換部S1801でRGB信号へ変換する。図18のRGB変換部S1801と図17のRGB変換部S1701は同一の機能を具備するものである。前記変換されたR , G , B 信号はそれぞれ処理ブロックS1810 , S1820 , S1830 へ入力される。
【0066】
図18の処理ブロックS1810 , S1820 , S1830も図17の処理ブロックS1710 ,S1720 , S1730 と同一の機能を具備するものである。さらに、処理ブロックS1810 , S1820 , S1830 から出力された0〜255に制限された RGB信号はYUV変換部S1802でYUV信号に変換される。図18のYUV変換部S1802 も図17のYUV変換部S1702 と同一の機能を具備するものである。YUV変換部S1802から出力されたYUV信号はY出力部S1014へ入力される。図10のY出力部S1014は規格内のYUV信号を入力として、Y信号のみを出力するものである。
【0067】
以上、図10を用いて説明したように、図9の位相AのYUV信号が入力された場合は図10の処理経路S1001の経路を通り22bit符号化部S1004から22bit符号Dを出力し、図9の位相BのY信号が入力された場合は図10の処理経路S1011の経路を通りY出力部S1014からY信号を出力する。この結果、図19で示すように22bit符号D とY信号が交互に出力され伝送される。
【0068】
次に、受信側での復号化を図20で説明する。受信データ列は図20の圧縮データ伝送順のように22bit符号D とY信号が交互になっている。復号化では、22bit符号Dを受信した場合は図20の復号処理部S2001により24bitのYUV信号を復元する。また、Y信号を受信した場合はそのままY信号として出力する。この結果、送信側と同じYUV(4:2:2)信号が復元される。
【0069】
図20の復号処理部S2001の処理を図21で説明する。ここでは、説明を簡単にするために配列の高速検索等の技術は使用しない。図21のブロックS2101で整数変数nを0に初期化する。判定部S2102では図14で決定した配列U’BASE [n] に格納されている値が22bit符号Dよりも大きくなるまで、図21の整数変数nをブロックS2103で1ずつ増加させる。この結果、配列U’BASE [n] に格納されている値が22bit符号Dよりも大きくなったときの ( 整数変数 n ) − 1 をY信号の値としてブロックS2104で設定する。次に、ブロックS2104で求められたY信号により決定される配列値U’BASE [Y] を22bit符号D から減算した値を新たな22bit符号DとしてブロックS2105で設定する。
【0070】
さらに、ブロックS2106で整数変数nを再び0に初期化し、判定部S2107でn×V’SIZE [Y] が22bit符号Dよりも大きくなるまで整数変数nをブロックS2108で1ずつ増加させる。この結果、n×V’SIZE [Y] が22bit符号Dよりも大きくなったときの( 整数変数 n ) − 1 + U’MIN [Y]をU信号の値としてブロックS2109で設定する。ブロックS2104で求められたY信号とブロックS2109で求められたU信号とから、V = D − (n−1)×V’SIZE [Y] + V’MIN [Y]としてブロックS2110によりV信号が求められ終了する。
【0071】
以上説明したように、一連の符号化・復号化処理により画像データの圧縮・伸張が実現される。
【0072】
【発明の効果】
以上の通り、本発明によれば、伝送レートを固定した条件において、高速処理を可能とし、しかも視覚上の劣化を伴わない画像データ圧縮方法及び装置を提供できる。
【0073】
即ち本発明は、圧宿処理に、フレーム間相関やライン間相関を用いていないので、大容量メモリを必要とせず、しかも簡単な演算で高速に圧縮処理が行える。従って、高速処理が要求される高精細画像の圧縮に好適である。
【0074】
さらに、本発明は、輝度・色差マトリクス変換の計算結果として発生し得ない1つの輝度信号と前記2つの色差信号との組み合わせの入力(規格外のYUV信号)に対しては、規格内の信号の組み合わせとなるように(正規化されたRGB信号から得られる組み合わせの範囲内になるように、即ち視覚的に問題のない値となるように)補正する処理を行ってから圧縮を実行しているので、視覚上の劣化を伴わないロスレス圧縮が行える。
【0075】
また、僅かな圧縮率向上であっても、通信系における高精細動画像への使用を考えた場合には、全体として膨大な情報量圧縮となり、本発明は伝送帯域の有効活用に多大な効果がある。
【図面の簡単な説明】
【図1】本発明の実施形態に係わる圧縮符号化の構成図である。
【図2】本発明の実施形態に係わる圧縮符号化・復号化システムの構成図である。
【図3】Y − Cb 空間の規格内領域を示す図である。
【図4】Y − Cr 空間の規格内領域を示す図である。
【図5】Y − Pb 空間の規格内領域を示す図である。
【図6】Y − Pr 空間の規格内領域を示す図である。
【図7】Y , Cb , Cr の画面内サンプリングポイントを説明する図である。
【図8】Y , U , V データの伝送順を説明する図である。
【図9】Y , U , V データ伝送順と画面内位相の関係を説明する図である。
【図10】本発明の実施形態に係わる圧縮符号化の処理フローである。
【図11】位相Aにおける規格内信号判別器の処理フローである。
【図12】位相Bにおける規格内信号判別器の処理フローである。
【図13】U , V データの規格内信号の最大・最小値を格納する配列を示す図である。
【図14】22bit符号化・復号化の演算で使用する配列を示す図である。
【図15】Y − U 空間の符号化領域を示す図である。
【図16】Y − V 空間の符号化領域を示す図である。
【図17】位相Aにおける規格外信号の処理フローである。
【図18】位相Bにおける規格外信号の処理フローである。
【図19】圧縮データの伝送順を説明する図である。
【図20】圧縮データの復号化順を説明する図である。
【図21】本発明の実施形態により符号化されたデータの復号化の処理フローである。
Claims (2)
- 正規化されたRGB信号から輝度・色差マトリクス変換により求められる1つの輝度信号と2つの色差信号とによって表現されるデジタルカラー画像データを圧縮符号化する画像データ圧縮方法において、
入来する前記デジタルカラー画像データが、前記輝度・色差マトリクス変換の計算結果として発生し得ない前記1つの輝度信号と前記2つの色差信号との組み合わせであるか否かの検出を行い、発生し得ない組み合わせが検出された場合には、その検出された組み合わせにおける1つの輝度信号と2つの色差信号とをRGB信号に変換し、変換して得たRGB信号の値を前記正規化した値として取りうる範囲内に制限し、その制限を加えたRGB信号を再度前記輝度・色差マトリクス変換し、補正された1つの輝度信号と2つの色差信号との組み合わせを得る補正処理ステップと、
前記補正処理後の前記デジタルカラー画像データに対して、前記1つの輝度信号と前記2つの色差信号とを含む3次元空間における、前記輝度・色差マトリクス変換の計算結果として前記1つの輝度信号と前記2つの色差信号との組み合わせが存在する空間部分のみを固定長符号化することにより、前記デジタルカラー画像データを圧縮符号化する符号化ステップと、
を設けたことを特徴とする画像データ圧縮方法。 - 正規化されたRGB信号から輝度・色差マトリクス変換により求められる1つの輝度信号と2つの色差信号とによって表現されるデジタルカラー画像データを圧縮符号化する画像データ圧縮装置において、
入来する前記デジタルカラー画像データが、前記輝度・色差マトリクス変換の計算結果として発生し得ない前記1つの輝度信号と前記2つの色差信号との組み合わせであるか否かの検出を行い、発生し得ない組み合わせが検出された場合には、その検出された組み合わせにおける1つの輝度信号と2つの色差信号とをRGB信号に変換し、変換して得たRGB信号の値を前記正規化した値として取りうる範囲内に制限し、その制限を加えたRGB信号を再度前記輝度・色差マトリクス変換し、補正された1つの輝度信号と2つの色差信号との組み合わせを得る補正処理手段と、
前記補正処理後の前記デジタルカラー画像データに対して、前記1つの輝度信号と前記2つの色差信号とを含む3次元空間における、前記輝度・色差マトリクス変換の計算結果として前記1つの輝度信号と前記2つの色差信号との組み合わせが存在する空間部分のみを固定長符号化することにより、前記デジタルカラー画像データを圧縮符号化する符号化手段と、
を設けたことを特徴とする画像データ圧縮装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003020031A JP2004235811A (ja) | 2003-01-29 | 2003-01-29 | 画像データ圧縮方法及び装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003020031A JP2004235811A (ja) | 2003-01-29 | 2003-01-29 | 画像データ圧縮方法及び装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004235811A true JP2004235811A (ja) | 2004-08-19 |
Family
ID=32949765
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003020031A Pending JP2004235811A (ja) | 2003-01-29 | 2003-01-29 | 画像データ圧縮方法及び装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004235811A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100417181C (zh) * | 2005-05-25 | 2008-09-03 | 奇景光电股份有限公司 | 可编码和译码像素数据的影像压缩与解压缩方法 |
-
2003
- 2003-01-29 JP JP2003020031A patent/JP2004235811A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100417181C (zh) * | 2005-05-25 | 2008-09-03 | 奇景光电股份有限公司 | 可编码和译码像素数据的影像压缩与解压缩方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU627421B2 (en) | Adaptive motion compensation for digital television | |
AU627684B2 (en) | Apparatus and method for adaptively compressing successive blocks of digital video | |
US8817885B2 (en) | Method and apparatus for skipping pictures | |
KR0128435B1 (ko) | 비디오 변환계수의 벡터 코딩방법 및 그 장치 | |
JP3888597B2 (ja) | 動き補償符号化装置、及び動き補償符号化復号化方法 | |
CA2121196C (en) | Dual memory buffer scheme for providing multiple data streams from stored data | |
US6304990B1 (en) | Error correction and concealment technique | |
KR100253931B1 (ko) | 디지탈 영상 시퀀스의 디코딩 방법 및 장치 | |
US5325126A (en) | Method and apparatus for real time compression and decompression of a digital motion video signal | |
US5566002A (en) | Image coding/decoding method and apparatus | |
US8098959B2 (en) | Method and system for frame rotation within a JPEG compressed pipeline | |
US6023295A (en) | ADPCM recompression and decompression of a data stream of a video image and differential variance estimator | |
US11445160B2 (en) | Image processing device and method for operating image processing device | |
US11991347B2 (en) | Image processing device | |
JP2004235811A (ja) | 画像データ圧縮方法及び装置 | |
US20120106621A1 (en) | Chroma temporal rate reduction and high-quality pause system and method | |
US20040252894A1 (en) | Image compression apparatus and image processing system | |
JPH0678297A (ja) | ディジタルビデオ信号の符号化方法 | |
US6008853A (en) | Sub-frame decoder with area dependent update rate for digital camcorder transmission standard | |
US20210352303A1 (en) | Method for processing transform coefficients | |
KR950008640B1 (ko) | 비트 고정을 위한 영상 압축 부호화 방식 및 복호화 방식 | |
JPH0822063B2 (ja) | 画像信号の符号化装置 | |
Micanti et al. | Backward-compatible robust error protection of JPEG XR compressed video | |
KR20050018659A (ko) | 웨이브렛 변환 시스템, 방법 및 컴퓨터 프로그램 제품 | |
JP2000350155A (ja) | 静止画記録装置、静止画再生装置、静止画記録方法及び静止画再生方法 |