JP2015002462A - 画像圧縮回路、画像圧縮方法、および伝送システム - Google Patents

画像圧縮回路、画像圧縮方法、および伝送システム Download PDF

Info

Publication number
JP2015002462A
JP2015002462A JP2013126627A JP2013126627A JP2015002462A JP 2015002462 A JP2015002462 A JP 2015002462A JP 2013126627 A JP2013126627 A JP 2013126627A JP 2013126627 A JP2013126627 A JP 2013126627A JP 2015002462 A JP2015002462 A JP 2015002462A
Authority
JP
Japan
Prior art keywords
coefficient data
data
quantization parameter
coefficient
quantization
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
Application number
JP2013126627A
Other languages
English (en)
Inventor
浩 飯塚
Hiroshi Iizuka
浩 飯塚
菊池 秀和
Hidekazu Kikuchi
秀和 菊池
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2013126627A priority Critical patent/JP2015002462A/ja
Priority to US14/289,204 priority patent/US9667979B2/en
Priority to CN201410255825.8A priority patent/CN104243983B/zh
Publication of JP2015002462A publication Critical patent/JP2015002462A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/1883Methods 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 relating to sub-band structure, e.g. hierarchical level, directional tree, e.g. low-high [LH], high-low [HL], high-high [HH]
    • 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
    • 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

Abstract

【課題】伝送遅延を小さくすることができるとともに、バッファメモリのメモリ容量を小さくすることができる画像圧縮回路を提供する。
【解決手段】画像圧縮回路は、複数の画素データを複数の係数データに変換する変換部と、所定数の係数データに基づいて量子化パラメータを求め、所定数の係数データを量子化パラメータにより量子化する量子化部とを備える。量子化部は、所定数の係数データに基づいてヒストグラムを求め、そのヒストグラムに基づいて量子化パラメータを求める。
【選択図】図1

Description

本開示は、画像圧縮回路、およびその画像圧縮回路に用いられる画像圧縮方法、ならびにその画像圧縮回路を用いた伝送システムに関する。
機器間において動画を伝送する際、動画を構成する各画像を圧縮して伝送する。すなわち、伝送システムでは、画像単位時間あたりに伝送できる伝送容量(いわゆる伝送帯域)が限られているため、その伝送容量に収まるように画像が圧縮される。この画像圧縮を行う際、圧縮するほどコードサイズを減らすことができるが、一方で画質が低下する。よって、画質の低下を抑えつつコードサイズを伝送容量内に収めるように圧縮度合いを調整する、いわゆるレート制御がしばしば行われる。
このレート制御について、様々な技術が開示されている。例えば、特許文献1には、圧縮された符号化データに基づいてレート制御を行う伝送システムが開示されている。
特開2012−44252号公報
ところで、動画を伝送する際、例えばリアルタイム性が重要な用途においては、伝送遅延をできるだけ小さくすることが望まれる。また、動画を伝送する際には、バッファメモリがしばしば使用されるが、そのバッファメモリのメモリ容量は、小さいことが望まれる。
本開示はかかる問題点に鑑みてなされたもので、その目的は、伝送遅延を小さくすることができるとともに、バッファメモリのメモリ容量を小さくすることができる画像圧縮回路、画像圧縮方法、および伝送システムを提供することにある。
本開示の画像圧縮回路は、変換部と、量子化部とを備えている。変換部は、複数の画素データを複数の係数データに変換するものである。量子化部は、所定数の係数データに基づいて量子化パラメータを求め、所定数の係数データを量子化パラメータにより量子化するものである。
本開示の画像圧縮方法は、複数の画素データを複数の係数データに変換し、所定数の係数データに基づいて量子化パラメータを求め、所定数の係数データを量子化パラメータにより量子化するものである。
本開示の伝送システムは、送信装置と、受信装置とを備えている。送信装置は、複数の画素データを複数の係数データに変換する変換部と、所定数の係数データに基づいて量子化パラメータを求め、所定数の係数データを量子化パラメータにより量子化する量子化部とを有する。
本開示の画像圧縮回路、画像圧縮方法、および伝送システムでは、複数の画素データが、複数の係数データに変換され、それらの係数データが、量子化パラメータにより量子化される。その際、所定数の係数データは、その所定数の係数データに基づいて求められた量子化パラメータにより、量子化される。
本開示の画像圧縮回路、画像圧縮方法、および伝送システムによれば、所定数の係数データに基づいて量子化パラメータを求め、所定数の係数データを量子化パラメータにより量子化するようにしたので、伝送遅延を小さくすることができるとともに、バッファメモリのメモリ容量を小さくすることができる。
本開示の第1の実施の形態に係る伝送システムの一構成例を表すブロック図である。 図1に示した変換部の一動作例を表す模式図である。 図1に示した変換部の他の動作例を表す模式図である。 図1に示した変換部の他の動作例を表す模式図である。 係数データの座標重要度を説明するための説明図である。 図1に示した量子化パラメータ生成部の一構成例を表すブロック図である。 図4に示した量子化パラメータ生成部の一動作例を表す説明図である。 図4に示した量子化パラメータ生成部の他の動作例を表す説明図である。 図1に示した量子化部の一動作例を表す説明図である。 図1に示した量子化部の他の動作例を表す説明図である。 図1に示した送信信号の一例を表すタイミング図である。 図4に示した量子化パラメータ生成部の蓄積モードにおける一動作例を表す説明図である。 図4に示した量子化パラメータ生成部の蓄積モードにおける一動作例を表すタイミング図である。 図4に示した量子化パラメータ生成部の集計モードにおける一動作例を表す説明図である。 図4に示した量子化パラメータ生成部の集計モードにおける一動作例を表すタイミング図である。 図4に示した量子化パラメータ生成部が生成したヒストグラムの一例を表す説明図である。 図4に示した量子化パラメータ生成部の集計モードにおける一動作例を表すフローチャートである。 図4に示した除算テーブルおよび除算回路の一動作例を説明するための表である。 図4に示した除算テーブルおよび除算回路の一動作例を説明するための説明図である。 図4に示した除算テーブルおよび除算回路の一動作例を説明するための他の説明図である。 第1の実施の形態の比較例に係る送信装置の一構成例を表すブロック図である。 図19に示した送信装置の一動作例を表す説明図である。 図19に示した送信装置の一動作例を表す他の説明図である。 図1に示した送信装置の一動作例を表す説明図である。 第1の実施の形態の変形例に係る量子化パラメータ生成部の一構成例を表すブロック図である。 図23に示した係数変換回路の一特性例を表す表である。 第1の実施の形態の他の変形例に係る量子化パラメータ生成部の一構成例を表すブロック図である。 第1の実施の形態の他の変形例に係る量子化パラメータ生成部の一構成例を表すブロック図である。 図26に示したコード生成回路の一特性例を表す表である。 第1の実施の形態の他の変形例に係る送信装置の一構成例を表すブロック図である。 第1の実施の形態の他の変形例に係る係数データの座標重要度を説明するための説明図である。 第2の実施の形態に係る伝送システムの一構成例を表すブロック図である。 図30に示したエンコーダの一動作例を表す説明図である。 第2の実施の形態の比較例に係るエンコーダの一動作例を表す説明図である。 実施の形態の適用例を表すブロック図である。 実施の形態の他の適用例を表すブロック図である。
以下、本開示の実施の形態について、図面を参照して詳細に説明する。なお、説明は以下の順序で行う。
1.第1の実施の形態
2.第2の実施の形態
3.適用例
<1.第1の実施の形態>
[構成例]
(全体構成例)
図1は、第1の実施の形態に係る伝送システムの一構成例を表すものである。伝送システム100は、画像データを圧縮して伝送する伝送システムである。なお、本開示の実施の形態に係る画像圧縮回路、画像圧縮方法は、本実施の形態により具現化されるので、併せて説明する。
伝送システム100は、送信装置1と、受信装置9とを備えている。送信装置1は、画像データを送信するものであり、受信装置9は、送信装置1が送信した画像データを受信するものである。送信装置1は、画素信号YC、データイネーブル信号DE、垂直同期信号VS、水平同期信号HS、およびクロック信号CLKに基づいて、送信信号SIGを生成する。ここで、画素信号YCは、輝度(Y)信号および色差(Cb,Cr)信号を含むパラレル信号である。また、クロック信号CLKは、基準クロックであり、図示していないが、送信装置1内の様々な回路ブロックで用いられるものである。受信装置9は、送信装置1から送信される送信信号SIGに基づいて、画素信号YC2、データイネーブル信号DE2、垂直同期信号VS2、水平同期信号HS2、およびクロック信号CLK2を生成する。すなわち、受信装置9は、送信装置1に入力された各信号に対応する信号をそれぞれ生成(再生)するようになっている。
(送信装置1)
送信装置1は、変換部11と、量子化パラメータ生成部20と、量子化部12と、エンコーダ13と、バッファメモリ14と、フォーマットアナライザ15と、ヘッダエンコーダ16と、MUX(マルチプレクサ)17とを有している。
変換部11は、画素信号YCおよびデータイネーブル信号DEに基づいて、各フレーム画像Fに対して離散ウェーブレット変換(DWT;Discrete Wavelet Transform)を行い、フレーム画像Fに含まれる画素データの数(例えば解像度がVGAであり、フォーマットが4:2:2である場合には、640×480×2)と同じ数の係数データCからなる係数データセットDSを生成するものである。
図2A〜2Cは、離散ウェーブレット変換の変換処理を模式的に表すものである。この変換処理では、変換部11は、まず、フレーム画像Fの水平方向および垂直方向のそれぞれに対して、フレーム画像Fを構成する画素データの空間周波数が低い成分(低域成分)および高い成分(高域成分)を求めることにより、4つの成分(サブバンド)を求める。具体的には、変換部11は、空間周波数が水平方向および垂直方向の両方において低い成分(“1LL”成分)と、空間周波数が水平方向に高くかつ垂直方向に低い成分(“1HL”成分)と、空間周波数が水平方向に低くかつ垂直方向に高い成分(“1LH”成分)と、空間周波数が水平方向および垂直方向の両方において高い成分(“1HH”成分)とを求める。これらの“1LL”成分、“1HL”成分、“1LH”成分、“1HH”成分のそれぞれは、フレーム画像Fに含まれる画素データの数の1/4の数の係数データCを含んでいる。そして、図2Aに示したように、変換後の座標(係数座標)において、“1LL”成分を左上に配置し、“1HL”成分を右上に配置し、“1LH”成分を左下に配置し、“1HH”成分を右下に配置する。
次に、変換部11は、この“1LL”成分におけるデータに基づいて、同様に4つの成分(“2LL”成分、“2HL”成分、“2LH”成分、“2HH”成分)を求める。これらの“2LL”成分、“2HL”成分、“2LH”成分、“2HH”成分のそれぞれは、フレーム画像Fに含まれる画素データの数の1/16の数の係数データCを含んでいる。そして、変換部11は、これらを、図2Aにおいて“1LL”成分が配置された領域に同様に配置する(図2B)。
さらに、変換部11は、この“2LL”成分におけるデータに基づいて、同様に4つの成分(“3LL”成分、“3HL”成分、“3LH”成分、“3HH”成分)を求める。これらの“3LL”成分、“3HL”成分、“3LH”成分、“3HH”成分のそれぞれは、フレーム画像Fに含まれる画素データの数の1/64の数の係数データCを含んでいる。そして、変換部11は、これらを、図2Bにおいて“2LL”成分が配置された領域に同様に配置し、図2Cに示したような係数データセットDSを生成する。
変換部11は、このように、フレーム画像Fの画素データに基づいて、離散ウェーブレット変換を複数回(この例では3回)行うことにより、そのフレーム画像Fに含まれる画素データの数と同じ数の係数データCからなる係数データセットDSを生成するようになっている。
このようにして求められた係数データCは、以下のような特徴がある。すなわち、まず、係数データCの絶対値が大きいほど、その係数データCの重要度が高い。つまり、係数データCの絶対値が大きいほど、その成分が大きいことを意味するので、仮にその係数データCを“0”に置き換えた場合に画質に与える影響が大きい。また、係数データCの重要度は、係数データセットDSにおける、その係数データCが配置された係数座標Dによっても変化する。
図3は、係数データCの重要度の、係数座標依存性を表すものである。この例は、離散ウェーブレット変換を3回行った場合を示しており、縦軸は、係数データCの重要度を示している。図3に示したように、座標xおよび座標yが小さいほど、係数データCの重要度が高くなる。つまり、例えば、座標xおよび座標yが小さい係数座標Dにおける係数データCは、低域成分(空間周波数が低い成分)であるため、仮にその係数データCを“0”に置き換えた場合に、フレーム画像Fにおける広い範囲にわたり色のずれなどが生ずることとなり、画質に与える影響が大きくなる。
このように、係数データCの重要度は、係数データCの絶対値に依存するとともに、係数座標にも依存する。以下の説明では、適宜、前者を係数重要度とよび、後者を座標重要度とよぶ。送信装置1は、後述するように、これらの係数重要度および座標重要度を考慮して画像を圧縮することにより、画質の低下を抑えつつ、エンコーダ13が符号化した後のコードサイズを小さくすることができるようになっている。
変換部11は、このようにして生成した係数データC(係数データセットDS)を、係数信号SCとして出力するとともに、各係数データCが配置された係数座標Dを座標信号SDとして出力するようになっている。また、変換部11は、量子化パラメータ生成部20における動作を制御する、モード選択信号SMODEおよび係数イネーブル信号SENを生成する機能をも有している。
量子化パラメータ生成部20は、係数信号SC、座標信号SD、モード選択信号SMODE、および係数イネーブル信号SENに基づいて、量子化パラメータQfを生成するものである。具体的には、量子化パラメータ生成部20は、蓄積モードM1と、集計モードM2の2つの動作モードを有しており、モード選択信号SMODEにより、動作モードが選択される。そして、量子化パラメータ生成部20は、蓄積モードM1において、係数信号SCに含まれる係数データCに基づいてヒストグラムHGを生成し、その後の集計モードM2において、そのヒストグラムHGに基づいて量子化パラメータQfを生成するようになっている。その際、量子化パラメータ生成部20は、この例では、1つのフレーム画像Fに係る係数データセットDSにおいて処理対象範囲TR(例えば所定数のラインの範囲)を順次設定し、その処理対象範囲TRごとにヒストグラムHGを生成し、そのヒストグラムHGに基づいて量子化パラメータQfを生成するようになっている。
図4は、量子化パラメータ生成部20の一構成例を表すものである。量子化パラメータ生成部20は、除数テーブル21と、除算回路22と、セレクタ23A〜23Cと、遅延回路24,25と、加算回路26と、集計回路27と、メモリ28とを有している。
除数テーブル21は、座標信号SDに含まれる、各係数データCに対応する係数座標Dに基づいて除数DIVを求めるものである。除数テーブル21は、係数座標Dと、除数DIVとの関係を示すルックアップテーブルを有しており、このルックアップテーブルを用いて、除数DIVを求めるようになっている。具体的には、除数テーブル21は、係数座標Dの座標xおよび座標yが小さいほど、除数DIVを小さくし、座標xおよび座標yが大きいほど、除数DIVを大きくする。すなわち、除数DIVの座標重要度依存性は、図3に示した、係数データCの座標重要度依存性とは逆の特性を有している。これにより、除数DIVは、係数データCの座標重要度が高いほど小さい値に設定され、係数データCの座標重要度が低いほど大きい値に設定されるようになっている。
除算回路22は、係数信号SCに含まれる係数データCの絶対値を求め、その絶対値を除数DIVにより除算し、商を係数データA1として出力する回路である。なお、この例では、小数点以下は切り捨てるようになっている。
このように、量子化パラメータ生成部20では、係数データCの絶対値を、その係数データCに対応する係数座標Dにより求めた除数DIVにより除算して、係数データA1を求めるようにしている。具体的には、除算回路22は、座標重要度の低い係数データCの絶対値を、座標重要度の高い係数データCの除数DIVよりも大きい除数DIVで除算する。これにより、係数データCの座標重要度の低い場合には、その係数データCの座標重要度の高い場合に比べて、係数データA1が小さくなる。これにより、量子化パラメータ生成部20では、後述するように、座標重要度の低い係数データCが、量子化パラメータQfに与える影響を低減することができるようになっている。
セレクタ23Aは、モード選択信号SMODEに基づいて、除算回路22から供給された係数データA1と、集計回路27から供給されたデータA2(後述)のうちの一方を選択する回路である。具体的には、セレクタ23Aは、モード選択信号SMODEが蓄積モードM1を示している場合には係数データA1を選択して出力し、モード選択信号SMODEが集計モードM2を示している場合にはデータA2を選択して出力する。そして、セレクタ23Aは、その選択したデータを、読出アドレスADDRとして、メモリ28の読出アドレス端子(後述)に供給するとともに、遅延回路24に供給するようになっている。
遅延回路24は、セレクタ23Aの出力信号(読出アドレスADDR)を所定の時間遅延させて出力する回路である。そして、遅延回路24は、その遅延した信号を、書込アドレスADDWとして、メモリ28の書込アドレス端子(後述)に供給するようになっている。
遅延回路25は、係数イネーブル信号SENを所定の時間遅延させてフラグF1として出力する回路である。遅延回路25の遅延量は、例えば、遅延回路24の遅延量と同程度にすることができる。
セレクタ23Bは、モード選択信号SMODEに基づいて、遅延回路25から供給されたフラグF1と、集計回路27から供給されたフラグF2(後述)のうちの一方を選択する回路である。具体的には、セレクタ23Bは、モード選択信号SMODEが蓄積モードM1を示している場合にはフラグF1を選択して出力し、モード選択信号SMODEが集計モードM2を示している場合にはフラグF2を選択して出力する。そして、セレクタ23Bは、その選択したフラグを、書込イネーブルENWとして、メモリ28の書込イネーブル端子(後述)に供給するようになっている。
加算回路26は、メモリ28の読出データ端子(後述)から供給された読出データDATARの値と、値“1”とを加算し、データD1として出力する回路である。
セレクタ23Cは、モード選択信号SMODEに基づいて、加算回路26から供給されたデータD1と、値“0”を示すデータD2のうちの一方を選択する回路である。具体的には、セレクタ23Cは、モード選択信号SMODEが蓄積モードM1を示している場合にはデータD1を選択して出力し、モード選択信号SMODEが集計モードM2を示している場合にはデータD2(“0”)を選択して出力する。そして、セレクタ23Cは、その選択したデータを、書込データDATAWとして、メモリ28の書込データ端子(後述)に供給するようになっている。
集計回路27は、蓄積モードM1においてデータを蓄積して生成したヒストグラムHGに基づいて、その後の集計モードM2において、量子化パラメータQfを生成するものである。具体的には、集計回路27は、集計モードM2において、メモリ28から読出データDATARを読み出すことによってヒストグラムHGを取得する。そして、集計回路27は、後述するように、そのヒストグラムHGおよびパラメータNNZに基づいて、量子化パラメータQfを生成し出力するようになっている。ここで、パラメータNNZは、送信信号SIGを伝送する伝送路の伝送容量から定まるものであり、あらかじめ設定されたパラメータである。
また、集計回路27は、集計モードM2において、データA2およびフラグF2を生成して、次の蓄積モードM1での動作のために、メモリ28を初期化する機能をも有している。
メモリ28は、この例では、デュアルポートSRAM(Static Random Access Memory)である。メモリ28は、読出アドレス端子と、書込アドレス端子と、書込イネーブル端子と、読出データ端子と、書込データ端子とを有している。読出アドレス端子は、読出アドレスADDRを入力する入力端子であり、セレクタ23Aの出力端子に接続されている。書込アドレス端子は、書込アドレスADDWを入力する入力端子であり、遅延回路24の出力端子に接続されている。書込イネーブル端子は、書込イネーブルENWを入力する入力端子であり、セレクタ23Bの出力端子に接続されている。読出データ端子は、読出データDATARを出力する出力端子であり、集計回路27に接続されるとともに、加算回路26に接続されている。書込データ端子は、書込データ信号DATAWを入力する入力端子であり、セレクタ23Cの出力端子に接続されている。
この構成により、蓄積モードM1において、量子化パラメータ生成部20は、ヒストグラムHGを生成する。具体的には、後述するように、除算回路22が、係数データA1を読出アドレスADDRとしてメモリ28に供給し、メモリ28が、その係数データA1が示すアドレスに記憶されたデータを、読出データDATARとして出力する。そして、加算回路26は、その読出データDATARの値をインクリメントしてデータD1を生成し、書込データDATAWとしてメモリ28に供給する。これにより、メモリ28では、係数データA1が示すアドレスに記憶されていた値がインクリメントされる。これを繰り返すことにより、係数データA1についてのヒストグラムHGが生成される。
そして、その後の集計モードM2において、集計回路27は、メモリ28からこのヒストグラムHGを読み出す。そして、集計回路27は、このヒストグラムHGおよびパラメータNNZに基づいて、量子化パラメータQfを生成する。
図5は、量子化パラメータQfを生成する一例を表すものである。この例では、パラメータNNZを“28”とする。集計回路27は、ヒストグラムHGのうち、係数データA1が大きい方から順に度数を加算して累積値ACCを順次求める。具体的には、集計回路27は、この例では、係数データA1=7での度数“1”、係数データA1=6での度数“3”、係数データA1=5での度数“4”…の順に加算して累積値ACCを求める。そして、この累積値ACCがパラメータNNZを超えないような係数データA1の範囲における、係数データA1の最小値を量子化パラメータQfとする。具体的には、この例では、係数データA1が“3”以上の範囲(A1≧3)での累積値ACCは“28”(=1+3+4+8+12)になり、パラメータNNZを超えない。一方、係数データA1が“2”以上の範囲(A1≧2)での累積値ACCは“43”(=1+3+4+8+12+15)になり、パラメータNNZを超えてしまう。よって、この例では、集計回路27は、量子化パラメータQfを“3”に設定する。この場合、 “3”未満(量子化パラメータQf未満)の係数データA1に係る係数データCは、後述するように、量子化処理により“0”に量子化されることになる。
図6は、量子化パラメータQfを生成する他の例を表すものである。この例では、パラメータNNZを“26”とする。集計回路27は、この例では、係数データA1=7での度数“6”、係数データA1=6での度数“4”、係数データA1=5での度数“8”…の順に加算して累積値ACCを求める。このとき、係数データA1が“4”以上の範囲(A1≧4)での累積値ACCは“26”(=6+4+8+8)になり、パラメータNNZを超えない。一方、係数データA1が“3”以上の範囲(A1≧3)での累積値ACCは“38”(=6+4+8+8+12)になり、パラメータNNZを超えてしまう。よって、集計回路27は、量子化パラメータQfを“4”に設定する。この場合、“4”未満(量子化パラメータQf未満)の係数データA1に係る係数データCは、後述するように、量子化処理により“0”に量子化されることになる。
集計回路27は、このようにして、ヒストグラムHGおよびパラメータNNZに基づいて、量子化パラメータQfを生成する。そして、量子化パラメータ生成部20は、この量子化パラメータQfを、量子化部12に供給するようになっている。
量子化部12は、図1に示したように、係数信号SCと、座標信号SDと、量子化パラメータQfに基づいて、係数信号SCに含まれる係数データCに対する量子化処理を行い、量子化データQを生成するものである。その際、量子化部12は、量子化処理を行う係数データCに係る係数座標Dが示す座標重要度に応じて、量子化処理の方法を変更することができるようになっている。
図7は、座標重要度が最も高い係数データCに対する量子化処理を表すものであり、図8は、座標重要度がやや低い係数データCに対する量子化処理を表すものである。図7,8において、横軸は係数データCを示し、縦軸は量子化データQを示す。
量子化部12は、座標重要度が最も高い場合には、図7に示したように、係数データCを、量子化パラメータQfを用いて整数除算を行うことにより量子化する。量子化パラメータQfよりも低い値の係数データCは、この量子化処理により、値が“0”の量子化データQに変換される。すなわち、量子化パラメータQfよりも低い値の係数データCは、画質に与える影響が小さいと考えられるため、値が“0”の量子化データQに変換される。このように量子化することにより、画質の低下を抑えつつ、エンコーダ13が符号化した後のコードサイズを小さくすることができる。
また、量子化部12は、座標重要度がやや低い場合には、図8に示したように、係数データCを、量子化パラメータQfの整数倍(この例では2倍)の値を用いて整数除算を行うことにより量子化する。これにより、座標重要度の低い係数データCは、低い値の量子化データQに変換されるため、画質の低下を抑えつつ、コードサイズを小さくすることができる。
このような量子化処理を行う際、量子化部12は、量子化パラメータQfを求める際に使用した係数データCに対して、その量子化パラメータQfを用いて量子化する。すなわち、この例では、量子化パラメータ生成部20は、係数データセットDSのうちの処理対象範囲TRごとに量子化パラメータQfを生成し、量子化部12は、その処理対象範囲TRに属する係数データCに対して、その量子化パラメータQfを用いて量子化処理を行う。これにより、送信装置1では、この処理対象範囲TRごとに、圧縮量を最適化することができるようになっている。
量子化部12は、このようにして生成した量子化データQを、量子化データ信号SQとして出力するとともに、各量子化データQに対応する係数座標Dを、座標信号SD2として出力するようになっている。
エンコーダ13は、図1に示したように、量子化データ信号SQおよび座標信号SD2に基づいて、量子化データQを符号化し、コードCODEを生成するものである。この例では、エンコーダ13は、ハフマン符号化法により符号化を行うようになっている。なお、これに限定されるものではなく、他の符号化方法を用いてもよい。
このエンコーダ13は、このように量子化データQを符号化する際、座標重要度(図3)が高い係数データCに係る量子化データQから順に、符号化するようになっている。具体的には、図2C,3に示したように、エンコーダ13は、まず最初に“3LL”成分に対応する量子化データQを符号化し、次に“3HL”成分および“3LH”成分に対応する量子化データQを符号化する。そして、次に“3HH”成分、“2HL”成分、および“2LH”成分に対応する量子化データQを符号化し、次に“2HH”成分、“1HL”成分、および“1LH”成分に対応する量子化データQを符号化し、最後に“1HH”成分に対応する量子化データQを符号化する。伝送システム100では、このように、座標重要度(図3)が高い係数データCに係る量子化データQから順に、符号化することにより、仮に、各フレーム画像Fに係る全てのコードCODEを受信装置9に伝送できなかった場合でも、画質の低下を抑えることができる。すなわち、伝送システム100では、全てのコードCODEを受信装置9に伝送できず、後半に位置する、重要度の低いコードCODEが欠落したとしても、重要度の高いコードCODEに基づいて画像を再生することができるため、画質の低下を抑えることができるようになっている。
バッファメモリ14は、エンコーダ13が出力したコードCODEを、一旦蓄積するメモリであり、例えばFIFO(First In, First Out)メモリにより構成されるものである。
フォーマットアナライザ15は、データイネーブル信号DE、垂直同期信号VS、水平同期信号HSに基づいて、送信装置1に供給される画像信号のフォーマットを分析するものである。具体的には、フォーマットアナライザ15は、この分析により、HVサイズ、フロントポーチ長、バックポーチ長などの画像パラメータを取得する。そして、フォーマットアナライザ15は、この分析結果に基づいて、これらの画像パラメータを、タイミング信号とともに、パラメータ信号SPとして出力するようになっている。
ヘッダエンコーダ16は、パラメータ信号SPおよび量子化パラメータQfに基づいて、ヘッダ情報HIを生成するものである。具体的には、ヘッダエンコーダ16は、フォーマットアナライザ15から供給された画像パラメータやタイミング信号、量子化パラメータQf、処理対象範囲TRを識別するための識別番号NRなどを用いてヘッダ情報HIを生成するようになっている。
MUX17は、バッファメモリ14から供給されたコードCODE、ヘッダエンコーダ16から供給されたヘッダ情報HI、およびクロック信号CLKに基づいて、送信信号SIGを生成するものである。送信信号SIGは、この例では、データ信号DATA[1],DATA[0](以下、適宜DATA[1:0]と記載する)、クロック信号CLK2、フラグ信号FRAGからなるものである。
図9は、送信信号SIGのタイミング図を表すものであり、(A)はフラグ信号FLAGを示し、(B)はデータ信号DATA[1:0]を示す。データ信号DATA[1:0]は、ヘッダ部分P1と、コード部分P2と、ヌル部分P3とを有している。ヘッダ部分P1は、ヘッダ情報HIを伝送する部分であり、コード部分P2は、コードCODEを伝送する部分である。なお、ヌル部分P3は、実質的に情報が含まれていない部分である。このヌル部分P3は、その長さが変化することにより、コード量の増減を吸収するバッファとしての機能を果たすものである。フラグ信号FLAGは、データ信号DATA[1:0]がヘッダ部分P1を示している期間において高レベルになるとともに、それ以外の期間において低レベルになる信号である。
送信装置1は、伝送路(この例では伝送ケーブル)を介して、受信装置9に対してこのような送信信号SIGを送信するようになっている。なお、この例では、2つのデータ信号DATA[1:0]を用いてデータを伝送したが、これに限定されるものではなく、1つまたは3つ以上のデータ信号を用いてデータを伝送してもよい。
(受信装置9)
受信装置9は、DEMUX(デマルチプレクサ)91と、デコーダ92と、ヘッダデコーダ93と、タイミング信号発生部94と、逆量子化部95と、逆変換部96と、バッファメモリ97とを有している。
DEMUX91は、送信信号SIGから、コードCODE2およびヘッダ情報HI2を分離するものである。このコードCODE2およびヘッダ情報HI2は、送信装置1におけるコードCODEおよびヘッダ情報HIに対応するものである。
デコーダ92は、コードCODE2をデコードして量子化データQ2に戻すものである。この量子化データQ2は、送信装置1における量子化データQに対応するものである。そして、デコーダ92は、デコードした量子化データQ2を量子化データ信号SQ2として出力するようになっている。
ヘッダデコーダ93は、ヘッダ情報HI2をデコードし、画像パラメータやタイミング信号、量子化パラメータQf2、識別番号NR2などを取得するものである。この量子化パラメータQf2および識別番号NR2は、送信装置1における量子化パラメータQfおよび識別番号NRに対応するものである。そして、ヘッダデコーダ93は、画像パラメータやタイミング信号をパラメータ信号SP2として出力するとともに、量子化パラメータQf2を出力するようになっている。
タイミング信号発生部94は、パラメータ信号SP2に基づいて、バッファメモリ95の動作を制御する制御信号を生成するとともに、データイネーブル信号DE2、垂直同期信号VS2、および水平同期信号HS2を生成するものである。
逆量子化部95は、量子化データ信号SQ2および量子化パラメータQf2に基づいて、逆量子化処理を行い、係数データC2を取得するものである。この係数データC2は、送信装置1における係数データCに対応するものである。そして、逆量子化部94は、この係数データC2を係数信号SC2として出力するようになっている。
逆変換部96は、係数信号SC2に基づいて逆変換を行い、画素データを生成するものである。具体的には、逆変換部96は、この例では、離散ウェーブレット変換の逆変換を行い、画素データを生成するようになっている。
バッファメモリ97は、逆変換部96が出力した画素データを、一旦蓄積するメモリであり、例えばFIFOメモリにより構成されるものである。そして、バッファメモリ97は、タイミング信号発生部94から供給される制御信号に基づいて、これらの画素データを画素信号YC2として出力するようになっている。
そして、受信装置9は、画素信号YC2、データイネーブル信号DE2、垂直同期信号VS2、および水平同期信号HS2に加えて、送信信号SIGに含まれるクロック信号CLK2を出力するようになっている。
ここで、量子化パラメータ生成部20および量子化部12は、本開示における「量子化部」の一具体例に対応する。パラメータNNZは、本開示における「しきい値」の一具体例に対応する。エンコーダ13は、本開示における「符号化部」の一具体例に対応する。
[動作および作用]
続いて、本実施の形態の伝送システム100の動作および作用について説明する。
(全体動作概要)
まず、図1などを参照して、伝送システム100の全体動作概要を説明する。送信装置1は、画素信号YC、データイネーブル信号DE、垂直同期信号VS、水平同期信号HS、およびクロック信号CLKに基づいて、送信信号SIGを生成する。具体的には、変換部11は、画素信号YCおよびデータイネーブル信号DEに基づいて、各フレーム画像Fに対して離散ウェーブレット変換を行い、係数データCを求め、係数信号SCおよび座標信号SDを生成する。量子化パラメータ生成部20は、係数信号SC、座標信号SDなどに基づいて、処理対象範囲TRごとに量子化パラメータQfを生成する。量子化部12は、係数信号SC、座標信号SD、および量子化パラメータQfに基づいて、処理対象範囲TRごとに量子化処理を行い、量子化データQを求め、量子化データ信号SQおよび座標信号SD2を生成する。エンコーダ13は、量子化データ信号SQおよび座標信号SD2に基づいて、量子化データQの符号化を行い、コードCODEを生成する。バッファメモリ14は、このコードCODEを一旦蓄積する。フォーマットアナライザ15は、データイネーブル信号DE、垂直同期信号VS、水平同期信号HSに基づいて、送信装置1に供給される画像信号のフォーマットを分析し、パラメータ信号SPを生成する。ヘッダエンコーダ16は、パラメータ信号SPおよび量子化パラメータQfに基づいて、ヘッダ情報HIを生成する。MUX17は、コードCODE、ヘッダ情報HI、およびクロック信号CLKに基づいて、送信信号SIGを生成する。
受信装置9は、送信信号SIGを受信し、画素信号YC2、データイネーブル信号DE2、垂直同期信号VS2、水平同期信号HS2、およびクロック信号CLK2を生成する。具体的には、DEMUX91は、送信信号SIGから、コードCODE2およびヘッダ情報HI2を分離する。デコーダ92は、コードCODE2をデコードして量子化データQ2に戻し、量子化データ信号SQ2を生成する。ヘッダデコーダ93は、ヘッダ情報HI2をデコードし、パラメータ信号SP2および量子化パラメータQf2を生成する。タイミング信号発生部94は、パラメータ信号SP2に基づいて、バッファメモリ95の動作を制御する制御信号を生成するとともに、データイネーブル信号DE2、垂直同期信号VS2、および水平同期信号HS2を生成する。逆量子化部95は、量子化データ信号SQ2および量子化パラメータQf2に基づいて、逆量子化処理を行い、係数データC2を求め、係数信号SC2を生成する。逆変換部96は、係数信号SC2に基づいて逆変換を行い、画素データを生成する。バッファメモリ97は、逆変換部96が出力した画素データを一旦蓄積するとともに、タイミング信号発生部94から供給される制御信号に基づいて、これらの画素データを画素信号YC2として出力する。
次に、量子化パラメータ生成部20の動作を詳細に説明する。まず、蓄積モードM1における動作を説明し、その後に集計モードM2における動作を説明する。
(蓄積モードM1における詳細動作)
量子化パラメータ生成部20は、蓄積モードM1において、係数データCに係る係数データA1についてのヒストグラムHGを生成する。以下に、この動作について詳細に説明する。
図10は、蓄積モードM1における量子化パラメータ生成部20の動作を表すものである。この図10において、実線で描いた回路ブロックおよび信号線は、動作に寄与しているものであり、破線で描いた回路ブロックおよび信号線は、実質的に動作に寄与していないものである。蓄積モードM1では、変換部11は、モード選択信号SMODEを介して、セレクタ23Aに対して、係数データA1を選択して出力するように指示し、セレクタ23Bに対して、フラグF1を選択して出力するように指示し、セレクタ23Cに対して、データD1を選択して出力するように指示する。
図11は、蓄積モードM1における量子化パラメータ生成部20のタイミング図を表すものであり、(A)は係数イネーブル信号SENを示し、(B)は係数信号SCを示し、(C)は座標信号SDを示し、(D)は読出アドレスADDRを示し、(E)は読出データDATARを示し、(F)は書込データDATAWを示し、(G)は書込アドレスADDWを示し、(H)は書込イネーブルENWを示す。
量子化パラメータ生成部20では、タイミングt1〜t3の期間において、メモリ28における、係数データA1が示すアドレスに記憶された値がインクリメントされる。以下に、その動作を詳細に説明する。
まず、タイミングt1〜t2の期間において、係数イネーブル信号SENが高レベルになる(図11(A))。そして、除数テーブル21は、座標信号SDに含まれる係数座標D(図11(C))に基づいて、除数DIVを生成する。また、除算回路22は、係数信号SCに含まれる係数データCの値を除数DIVにより除算し、係数データA1を求め、読出アドレスADDRとしてメモリ28に供給する(図11(D))。
これにより、メモリ28は、係数データA1が示すアドレスに記憶された値“N(A1)”を読出データDATARとして出力する(図11(E))。そして、加算回路26は、この値N(A1)と値“1”とを加算して、値“N(A1)+1”を生成し、書込みデータDATAWとしてメモリ28に供給する(図11(F))。また、遅延回路24は、係数データA1を遅延させて書込アドレスADDWとして出力し、メモリ28に供給する(図11(G))。
そして、タイミングt2〜t3の期間において、書込イネーブルENWが高レベルになる(図11(H))。これにより、メモリ28の、係数データA1が示すアドレスには、値“N(A)+1”が書き込まれる。
このようにして、メモリ28における、係数データA1が示すアドレスに記憶された値がインクリメントされる。この動作は、変換部11から、係数データCなどが供給されるたびに行われる。これにより、量子化パラメータ生成部20は、係数データA1についてのヒストグラムHGを生成する。
(集計モードM2における詳細動作)
量子化パラメータ生成部20は、集計モードM2において、係数データA1についてのヒストグラムHGに基づいて量子化パラメータQfを生成する。以下に、この動作について詳細に説明する。
図12は、集計モードM2における量子化パラメータ生成部20の動作を表すものである。この図12において、実線で描いた回路ブロックおよび信号線は、動作に寄与しているものであり、破線で描いた回路ブロックおよび信号線は、実質的に動作に寄与していないものである。集計モードM2では、変換部11は、モード選択信号SMODEを介して、セレクタ23Aに対して、データA2を選択して出力するように指示し、セレクタ23Bに対して、フラグF2を選択して出力するように指示し、セレクタ23Cに対して、データD2(“0”)を選択して出力するように指示する。
図13は、集計モードM2における量子化パラメータ生成部20のタイミング図を表すものであり、(A)は読出アドレスADDRを示し、(B)は読出データDATARを示し、(C)は書込データDATAWを示し、(D)は書込アドレスADDWを示し、(E)は書込イネーブルENWを示し、(F)は量子化パラメータQfを示す。
集計回路27は、タイミングt11〜t12の期間において、“0”を示すデータA2を出力し、読出アドレスADDRとしてメモリ28に供給する(図13(A))。そして、集計回路27は、その後、データA2の値を順次インクリメントして、同様に、読出アドレスADDRとしてメモリ28に供給する。このようにして、集計回路27は、タイミングt11〜t16の期間において、メモリ28のアドレス空間の全アドレス(0〜M)を順次設定する。
メモリ28は、タイミングt12〜t13の期間において、アドレス“0”に記憶された値“N(0)”を読出データDATARとして出力する(図13(B))。そして、メモリ28は、その後、読出アドレスADDRに応じて、同様に、その他のアドレスに記憶された値を読出データDATARとして順次出力する。このようにして、メモリ28は、タイミングt12〜t17の期間において、メモリ28のアドレス空間の全アドレス(0〜M)における値(N(0)〜N(M))を読出データDATARとして順次出力する。これにより、集計回路27は、例えば、図14に示したようなヒストグラムHGを取得する。
また、集計回路27は、タイミングt12〜t17の期間において、フラグF2を高レベルに設定し、書込イネーブルENWとしてメモリ28に供給する(図13(E))。遅延回路24は、データA2を遅延させることにより、タイミングt12〜t13の期間において、“0”を出力し、書込アドレスADDWとしてメモリ28に供給する(図13(D))。このとき、メモリ28には、“0”を示す書込データDATAWが供給される(図13(C))。これにより、メモリ28のアドレス“0”には、値“0”が書き込まれる。遅延回路24は、その後も、順次インクリメントされるデータA2を遅延させて、書込アドレスADDWとしてメモリ28に供給する。このようにして、メモリ28には、タイミングt12〜t17の期間において、メモリ28のアドレス空間の全アドレス(0〜M)に値“0”が書き込まれる。すなわち、メモリ28は初期化される。
集計回路27は、メモリ28から読み出したヒストグラムHG、およびパラメータNNZに基づいて、量子化パラメータQfを求める。そして、タイミングt18〜t19の期間において、この量子化パラメータQfを出力し、量子化部12に供給する。
図15は、ヒストグラムHGおよびパラメータNNZに基づいて量子化パラメータQfの生成する際のフローチャートを表すものである。この例は、図14に示したようなヒストグラムHGに基づいて量子化パラメータQfを求めるものである。ここで、mは変数であり、N(m)は、図14に示したように、ヒストグラムHGにおける、係数データA1=mでの度数を表すものである。
集計回路27は、まず、初期設定を行う(ステップS1)。具体的には、集計回路27は、変数mをMに設定するとともに(m=M)、累積値ACCを初期化する(ACC=0)。
次に、集計回路27は、累積値ACCと度数N(m)との和(ACC+N(m))を累積値ACCとして再設定する(ステップS2)。
次に、集計回路27は、累積値ACCがパラメータNNZ以下(ACC≦NNZ)であるかどうかを判定する(ステップS3)。累積値ACCがパラメータNNZ以下である場合にはステップS4に進み、この和がパラメータNNZより大きい場合にはステップS5に進む。
ステップS3において、累積値ACCがパラメータNNZ以下であると判定された場合には、集計回路27は、変数mをデクリメントし(ステップS4)、再度ステップS2に進む。このようにして、集計回路27は、累積値ACCがパラメータNNZより大きくなるまで、このステップS2〜S4の処理を繰り返す。
ステップS3において、累積値ACCがパラメータNNZより大きいと判定された場合には、集計回路27は、このときの変数mの値に“1”を足した値を量子化パラメータQfとして設定する(ステップS5)。すなわち、集計回路27は、累積値ACCがパラメータNNZ以下(ACC≦NNZ)である変数mの範囲における、変数mの最小値を量子化パラメータQfとする。
以上により、このフローは終了する。
集計回路27は、このようにして、ヒストグラムHGおよびパラメータNNZに基づいて、量子化パラメータQfを求める。このパラメータNNZには、以下のような特徴がある。すなわち、図15などから明らかなように、パラメータNNZが大きいほど、量子化パラメータQfが小さくなる。そして、量子化パラメータQfが小さくなると、各処理対象範囲TRにおける量子化データQのうち、値が“0”以外の量子化データQの数が多くなる。すなわち、パラメータNNZが大きいほど、各処理対象範囲TRにおける量子化データQのうち、値が“0”以外の量子化データQの数が多くなる。同様に、パラメータNNZが小さいほど、各処理対象範囲TRにおける量子化データQのうち、値が“0”以外の量子化データQの数が少なくなる。すなわち、パラメータNNZは、各処理対象範囲TRにおける量子化データQのうち、値が“0”以外の量子化データQの数に対応するものである。
パラメータNNZを大きい値に設定して、値が“0”以外の量子化データQの数が多くなると、符号化された後のコードサイズが大きくなるため、伝送路の伝送容量を超えるおそれがある。また、パラメータNNZを小さい値に設定して、値が“0”以外の量子化データQの数が小さくなると、符号化された後のコードサイズが小さくなるため、伝送容量を有効に活用できないおそれがある。よって、パラメータNNZは、伝送路の伝送容量に応じて設定することができる。すなわち、伝送路の伝送容量が大きい場合には、パラメータNNZを大きい値に設定し、伝送容量が小さい場合には、パラメータNNZを小さい値に設定することが望ましい。このように、パラメータNNZを、伝送路の伝送容量に応じて設定することにより、その伝送容量を有効に利用することができる。
(除数テーブル21および除算回路22の詳細動作)
次に、蓄積モードM1における除数テーブル21および除算回路22の動作について詳細に説明する。
図16は、除数テーブル21および除算回路22の動作例を表す表である。この例では、8つの係数データCが除算回路22に供給される。なお、この例では、係数データCは全て正の値としている。そして、除数テーブル21は、この8つの係数データCのうち、左側の4つに対しては除数DIVを“1”に設定し、右側の4つに対しては除数DIVを“2”に設定している。すなわち、左側の4つの係数データCは座標重要度が高いものであり、右側の4つの係数データCは座標重要度が低いものである。除算回路22は、各係数データCを、対応する除数DIVにより除算することにより、8つの係数データA1を求める。
図17は、これらの8つの係数データA1のヒストグラムHGを表すものである。この図において、網掛けされた部分は、図16における左側の4つの係数データA1であり、座標重要度が高い係数データCに係る部分である。一方、網掛けされていない部分は、図16における右側の4つの係数データA1であり、座標重要度が低い係数データCに係る部分である。
集計回路27は、このようなヒストグラムHGに基づいて量子化パラメータQfを求める。 例えば、パラメータNNZが“4”である場合、集計回路27は、量子化パラメータQfを“5”に設定する。すなわち、この例では、係数データA1が“5”以上の範囲(A1≧5)での累積値ACCは“4”になり、パラメータNNZを超えない。一方、係数データA1が“4”以上の範囲(A1≧4)での累積値ACCは“5”になり、パラメータNNZを超えてしまう。よって、集計回路27は、量子化パラメータQfを“5”に設定する。このとき、係数データA1が量子化パラメータQfの値“5”より小さい範囲(A1<5)には、座標重要度が高い係数データCに係る部分(網掛けされた部分)はない。よって、この例では、座標重要度の高い係数データCが、量子化部12での量子化処理によって、値が“0”の量子化データQに量子化されることはない。すなわち、この例では、座標重要度の高い係数データCは、量子化処理によって情報を失わないため、画質の低下を抑えつつ、コードサイズを小さくすることができる。
一方、仮に、除数テーブル21および除算回路22を設けずに、係数データCの絶対値に基づいてヒストグラムHGを求めた場合には、以下に説明するように、画質が低下するおそれがある。
図18は、係数データCのヒストグラムHGを表すものである。この例において、パラメータNNZが“4”である場合、集計回路27は、量子化パラメータQfを“8”に設定する。すなわち、この例では、係数データA1が“8”以上の範囲(A1≧8)での累積値ACCは“4”になり、パラメータNNZを超えない。一方、係数データA1が“7”以上の範囲(A1≧7)での累積値ACCは“6”になり、パラメータNNZを超えてしまう。よって、集計回路27は、量子化パラメータQfを“8”に設定する。このとき、係数データCが量子化パラメータQfの値“8”より小さい範囲(C<8)には、座標重要度が高い係数データCが1つある。この係数データCは、量子化処理によって、値が“0”の量子化データQになってしまう。すなわち、この座標重要度の高い係数データCは、量子化処理によって情報を失い、これにより、画質が低下してしまうおそれがある。
言い換えれば、この図18の例では、係数データCが“8”以上の範囲(C≧8)に、座標重要度が低い係数データCが1つある。これは、図13の例では存在しなかったものである。これにより、座標重要度の高い係数データCが座標重要度の低い係数データCに埋もれてしまい、座標重要度が高い係数データCが、量子化処理によって情報を失ってしまうこととなる。
一方、量子化パラメータ生成部20では、除数テーブル21および除算回路22を設け、座標重要度の低い係数データCの絶対値を、座標重要度の高い係数データCの除数DIVよりも大きい除数DIVで除算するようにしている。これにより、係数データCの座標重要度の低い場合には、その係数データCの座標重要度の高い場合に比べて、係数データA1が小さくなる。すなわち、図17に示したように、座標重要度の低い係数データCに係る部分(網掛けされていない部分)は、この除算をしない場合(図18)に比べて、左側に位置するようになる。これにより、座標重要度の高い係数データCに係る係数データA1が、座標重要度の低い係数データCに係る係数データA1に埋もれるおそれを低減することができ、座標重要度の低い係数データCが量子化パラメータQfに与える影響を低減することができ、画質が低下するおそれを低減することができる。
(バッファメモリ14のメモリ容量、および伝送遅延について)
送信装置1では、量子化パラメータ生成部20が係数データCに基づいて量子化パラメータQfを生成し、量子化部12が、その量子化パラメータQfを用いて、係数データCに対する量子化処理を行うようにしている。これにより、送信装置1では、以下に比較例1と対比して説明するように、バッファメモリ14のメモリ容量を小さくすることができるとともに、伝送遅延を小さくすることができる。
図19は、比較例1に係る送信装置1Rの一構成例を表すものである。送信装置1Rは、量子化パラメータ生成部20Rと、変換部11Rとを備えている。量子化パラメータ生成部20Rは、エンコーダ13が生成した複数の処理対象範囲TRの分のコードCODEに基づいて、量子化パラメータQfを生成するものである。変換部11Rは、モード選択信号SMODEおよび係数イネーブル信号SENを生成しないことを除き、本実施の形態に係る変換部11と同様の機能を有するものである。その他の構成は、本実施の形態(図1)と同様である。
すなわち、本実施の形態に係る送信装置1では、量子化パラメータ生成部20が、1つの処理対象範囲TRに属する係数データCに基づいて、量子化パラメータQfを生成し、量子化部12が、その量子化パラメータQfを用いて、その処理対象範囲TRに属する係数データCに対する量子化処理を行うようにした。一方、本比較例1に係る送信装置1Rでは、量子化パラメータ生成部20Rは、エンコーダ13が生成した複数の処理対象範囲TRの分のコードCODEに基づいて、量子化パラメータQfを生成し、量子化部12は、その量子化パラメータQfに基づいて、次の処理対象範囲TRに属する係数データCに対する量子化処理を行うようにしている。
図20は、送信装置1Rの一動作例を模式的に表すものである。横軸は時間を示し、縦軸は、各処理対象範囲TRのデータに基づいて量子化され符号化されたコードのコードサイズを示す。この例では、量子化パラメータ生成部20Rは、過去に処理した8つの処理対象範囲TR1〜TR8の分のコードCODEに基づいて、量子化パラメータQfを生成し、量子化部12は、その量子化パラメータQfに基づいて、次の処理対象範囲TRNに属する係数データCに対する量子化処理を行っている。ここで、値CSTは、伝送路の伝送容量から換算されたコードサイズであり、送信装置1Rが係数データCを量子化し符号化する際の目標値となるものである。この例では、値CSTを“10”としている。
この例では、例えば、最初の処理対象範囲TR1に対応するコードサイズは“8”であり、2番目の処理対象範囲TR2に対応するコードサイズは“7”であり、8番目の処理対象範囲TR8に対応するコードサイズは“6”である。すなわち、これらの処理対象範囲TR1,TR2,TR8では、コードサイズは、目標値(CST)を下回っており、伝送路の伝送容量と比較して余裕がある。一方、例えば、4番目の処理対象範囲TR4に対応するコードサイズは“14”であり、5番目の処理対象範囲TR2に対応するコードサイズは“12”であり、7番目の処理対象範囲TR7に対応するコードサイズは“11”である。すなわち、これらの処理対象範囲TR4,TR5,TR7では、コードサイズは、目標値(CST)を上回っており、伝送路の伝送容量を超えてしまっている。
量子化パラメータ生成部20Rは、これらの過去の8つの処理対象範囲TR1〜TR8の分のコードCODEに基づいて、次の処理対象範囲TRNの処理のための量子化パラメータQfを求める。具体的には、量子化パラメータ生成部20Rは、過去の8つの処理対象範囲TR1〜TR8におけるコードサイズの平均値が、目標値CSTより大きい場合には、量子化パラメータQfをやや高めに設定して、次の処理対象範囲TRNにおけるコードサイズを小さくする。また、量子化パラメータ生成部20Rは、過去の8つの処理対象範囲TR1〜TR8におけるコードサイズの平均値が、目標値CSTより小さい場合には、量子化パラメータQfをやや低めに設定して、次の処理対象範囲TRNにおけるコードサイズを大きくする。すなわち、コードサイズは、量子化パラメータQfだけでなく、画像そのものによっても変化するので、コードCODEを生成し、そのコードサイズに応じて、次の処理対象範囲TRNの量子化パラメータQfを調整するようにしている。このようにして、量子化パラメータ生成部20Rは、複数の処理対象範囲TRにおける各コードサイズの平均値が、目標値CSTに近づくように、量子化パラメータQfをフィードバック制御している。
このような構成において、伝送路の伝送容量を有効に利用するためには、例えば、この図20の例において、処理対象範囲TR1に対応するコードCODEを伝送した後に、続けて処理対象範囲TR2に対応するコードCODEを伝送しなければならない。つまり、処理対象範囲TR1に対応するコードサイズは目標値CSTよりも小さいため、これにより余った時間を、コードサイズが大きい処理対象範囲TR4,TR5,TR7に対応するコードCODEの伝送に用いることが望ましいからである。このため、送信装置1Rでは、例えば数十個の処理対象範囲TRの分のコードCODEをバッファメモリ14に一旦記憶し、このバッファメモリ14から、伝送路の伝送容量に応じたレートでコードCODEを読み出すこととなる。このような場合には、バッファメモリ14として大容量のメモリが必要になる。
図21は、送信装置1Rにおいて、動画を伝送した場合のコードサイズの時間変化を表すものである。この例では、送信装置1Rは、タイミングt21において、被写体にフラッシュの光が当たり、画像が急激に変化する動画を伝送している。これに伴い、コードサイズは、タイミングt21〜t22の期間において一時的に減少し、その後のタイミングt22〜t23の期間において大幅に増加している。この増加は、量子化パラメータ生成部20Rが、過去の複数の処理対象範囲におけるコードサイズに基づいて、次の処理対象範囲における量子化パラメータQfを求めるためである。すなわち、タイミングt21〜t22の期間においてコードサイズが小さくなったため、量子化パラメータ生成部20Rは、タイミングt22において、量子化パラメータQfを小さくし、その結果、コードサイズが増加している。このように、送信装置1Rでは、コードサイズが一時的に大幅に増加するおそれがあるため、これらを一時的に蓄えておくために、バッファメモリ14のメモリ容量を大きくする必要がある。
また、このようにバッファメモリ14のメモリ容量が大きくなると、バッファメモリ14にコードCODEが書き込まれてから読み出されるまでの時間が長くなり、これによる伝送遅延が大きくなるおそれがある。このように、伝送遅延が大きい伝送システムは、いくつかの用途では望ましくない場合がある。そのような用途としては、例えば、リアルタイム性が必要とされる伝送システムが挙げられる。具体的には、例えば、車両の後方を映すカメラを設け、その撮影した映像を見ながら運転するような用途にこのシステムを適用した場合には、伝送遅延によりリアルタイム性が失われるため、安全が害されるおそれがある。
一方、本実施の形態に係る送信装置1では、量子化パラメータ生成部20が、1つの処理対象範囲TRに属する係数データCに基づいて量子化パラメータQfを生成し、量子化部12が、その量子化パラメータQfを用いて、その処理対象範囲TRに属する係数データCに対する量子化処理を行う。すなわち、量子化パラメータ生成部20は、各処理対象範囲TRにおけるコードサイズが、目標値CSTに近づくように、量子化パラメータQfを制御する。これにより、各処理対象範囲TRにおけるコードサイズはほぼ揃うので、バッファメモリ14のメモリ容量を小さくすることができる。
図22は、送信装置1において、動画を伝送した場合のコードサイズの時間変化を表すものである。この例でも、図21の場合と同様に、コードサイズは、タイミングt21〜t22の期間において一時的に減少する。しかしながら、その後のタイミングt22以降において、図21の場合とは異なり、コードサイズは増加していない。すなわち、量子化パラメータ生成部20は、1つの処理対象範囲TRに属する係数データCに基づいて量子化パラメータQfを求め、その処理対象範囲TRに属する係数データCに対する量子化処理を行うため、タイミングt21〜t22の期間におけるコードサイズが、タイミングt22以降のコードサイズに影響を与えることはない。このように、送信装置1では、比較例1の場合(図21)と異なり、コードサイズが一時的に大幅に増加するおそれを低減することができるため、バッファメモリ14のメモリ容量を小さくすることができる。
このように、バッファメモリ14のメモリ容量を小さくすることができるので、伝送遅延を小さくすることができる。これにより、送信装置1は、リアルタイム性が必要となるような伝送システムにも適用することができる。
[効果]
以上のように本実施の形態では、量子化パラメータ生成部が、1つの処理対象範囲に属する係数データに基づいて量子化パラメータを生成し、量子化部が、その量子化パラメータを用いて、その処理対象範囲に属する係数データに対する量子化処理を行うようにしたので、バッファメモリのメモリ容量を小さく抑えることができるとともに、伝送遅延を小さくすることができる。
本実施の形態では、1つの処理対象範囲に属する係数データに基づいてヒストグラムを生成し、そのヒストグラムと、伝送路の伝送容量に応じて設定したパラメータNNZに基づいて量子化パラメータを生成したので、伝送路の伝送容量を有効に利用することができる。
本実施の形態では、除数テーブルおよび除算回路を設け、座標重要度の低い係数データCの絶対値を、座標重要度の高い係数データCの除数よりも大きい除数で除算するようにしたので、座標重要度の低い係数データCが量子化パラメータQfに与える影響を低減することができ、画質が低下するおそれを低減することができる。
[変形例1−1]
上記実施の形態では、量子化パラメータ生成部20は、係数データA1についてヒストグラムHGを生成したが、これに限定されるものではない。以下に、本変形例について詳細に説明する。
図23は、本変形例に係る量子化パラメータ生成部20Bの一構成例を表すものである。量子化パラメータ生成部20Bは、係数変換回路22Bを有している。係数変換回路22Bは、除算回路22から供給された係数データA1を係数データA11に変換し、セレクタ23Aに供給するものである。係数データA11のビット数は、係数データA1のビット数よりも少ないものである。
図24は、係数変換回路22Bにおける変換特性を表すものである。この例では、係数データA1は8ビットのデータであり、係数データA11は6ビットのデータである。すなわち、係数変換回路22Bは、8ビットの係数データA1を、6ビットの係数データA11に変換している。
具体的には、係数変換回路22Bは、0〜31の範囲の係数データA1を、そのまま0〜31の範囲の係数データA11として出力する。また、係数変換回路22Bは、32〜63の範囲の係数データA1を、32〜47の範囲の係数データA11に変換する。このとき、係数変換回路22Bは、2つの係数データA1に対して1つの係数データA11の割合で変換する。同様に、係数変換回路22Bは、64〜95の範囲の係数データA1を、48〜55の範囲の係数データA11に変換する。このとき、係数変換回路22Bは、4つの係数データA1に対して1つの係数データA11の割合で変換する。また、係数変換回路22Bは、96〜127の範囲の係数データA1を、56〜59の範囲の係数データA11に変換する。このとき、係数変換回路22Bは、8つの係数データA1に対して1つの係数データA11の割合で変換する。また、係数変換回路22Bは、128〜159の範囲の係数データA1を、60,61の係数データA11に変換する。このとき、係数変換回路22Bは、16個の係数データA1に対して1つの係数データA11の割合で変換する。そして、係数変換回路22Bは、160〜191の範囲の32個の係数データA1を、値が62の係数データA11に変換し、192〜256の範囲の65個の係数データA1を、値が63の係数データA11に変換する。このように、係数変換回路22Bは、係数データA1をいわばランク付けし、そのランクの番号を係数データA11として出力する。
本変形例に係る量子化パラメータ生成部20Bでは、このように係数変換回路22Bを設けたので、メモリ28のメモリ容量を小さくすることができる。すなわち、上記実施の形態に係る量子化パラメータ生成部20では、係数データA1についてのヒストグラムHGを生成するため、係数データA1のビット数(例えば8ビット)に応じたメモリ空間が必要になる。一方、本変形例に係る量子化パラメータ生成部20Bでは、係数データA11についてのヒストグラムHGを生成するため、係数データA11のビット数(例えば6ビット)に応じたメモリ空間で済む。これにより、メモリ28のメモリ容量を小さくすることができる。
また、係数変換回路22Bでは、係数データA1の値が大きいほど、より多くの係数データA1を1つの係数データA11に割り当てている。すなわち、例えば、係数データA1が0〜31の範囲では、係数データA1と係数データA11とを1:1の割合で割り当て、係数データA1が32〜63の範囲では、係数データA1と係数データA11とを2:1の割合で割り当てて、係数データA1が64〜95の範囲では、係数データA1と係数データA11とを4:1の割合で割り当てている。これにより、量子化パラメータQfの算出精度を維持しつつ、メモリ28のメモリ容量を小さくすることができる。すなわち、通常のフレーム画像Fでは、係数データA1の値が低いものが多く、係数データA1の値が高いものは少ない。よって、係数データA1の値が高いものについては、より広い範囲の係数データA1を1つの係数データA11に割り当てることにより、量子化パラメータQfの算出精度を維持しつつ、メモリ28のメモリ容量を小さくすることができる。
[変形例1−2]
上記実施の形態では、量子化パラメータ生成部20は、メモリ28を用いて係数データCを蓄積したが、これに限定されるものではなく、これに代えて、例えばカウンタを用いてもよい。以下に、本変形例について詳細に説明する。
図25は、本変形例に係る量子化パラメータ生成部20Cの一構成例を表すものである。量子化パラメータ生成部20Cは、デコーダ31と、64個の論理積回路AND0〜AND63と、64個のカウンタCNT0〜CNT63と、63個の加算回路ADD0〜ADD62と、判定回路32と、制御回路33とを有している。
デコーダ31は、係数変換回路22Bから供給される係数データA11に基づいて、64ビットのコードCD(ビットCD[63:0])を生成するものである。係数データA11は、この例では、変形例1−1に示したように、6ビットのデータであり、0〜63の範囲の値を示すものである。デコーダ31は、係数データA11に基づいて、コードCDの各ビットCD[63:0]のうち、その係数データA11が示す値に対応するビットを“1”とし、その他の全てのビットを“0”とすることにより、コードCDを生成する。具体的には、例えば、係数データA11が“0”である場合には、“0000・・・000001”のコードCDを生成し、係数データA11が“1”である場合には、“0000・・・000010”のコードCDを生成し、係数データA11が“2”である場合には、“0000・・・000100”のコードCDを生成する。
論理積回路AND0〜AND63は、2つの入力端子に入力された信号の論理積を求める回路である。この論理積回路AND0〜AND63は、コードCDの各ビットCD[63:0]にそれぞれ対応して設けられている。具体的には、例えば、論理積回路AND0の入力端子の一方には、コードCDの“0”番目のビットCD[0]が入力され、他方には係数イネーブル信号SENが入力される。また、例えば、論理積回路AND1の入力端子の一方には、コードCDの“1”番目のビットCD[1]が入力され、他方には係数イネーブル信号SENが入力される。
カウンタCNT0〜CNT63は、入力されたパルスの数を数えるカウンタ回路である。このカウンタCNT0〜CNT63は、論理積回路AND0〜AND63にそれぞれ対応して設けられている。具体的には、例えば、カウンタCNT0の入力端子は、論理積回路AND0の出力端子に接続され、カウンタCNT1の入力端子は、論理積回路AND1の出力端子に接続されている。また、カウンタCNT0〜CNT63は、制御回路33から供給されるリセット信号SRST(後述)により、カウント値がリセットされるようになっている。
加算回路ADD0〜ADD62は、2つの入力端子に入力された値の和を求める回路である。この加算回路ADD0〜ADD62は、カウンタCNT0〜CNT62に対応して設けられている。具体的には、例えば、加算回路ADD62の入力端子の一方は、カウンタCNT63の出力端子に接続され、他方は、カウンタCNT62の出力端子に接続されている。また、例えば、加算回路ADD61の入力端子の一方は、加算回路ADD62の出力端子に接続され、他方は、カウンタCNT61の出力端子に接続されている。また、例えば、加算回路ADD0の入力端子の一方は、加算回路ADD1の出力端子に接続され、他方は、カウンタCNT0の出力端子に接続されている。
判定回路32は、加算回路ADD0〜ADD62の出力信号、およびカウンタCNT63の出力信号に基づいて、量子化パラメータQfを求めるものである。判定回路32の判定動作は、制御回路33から供給される制御信号SJ(後述)に基づいて制御されるようになっている。
制御回路33は、カウンタCNT0〜CNT63、および判定回路32の動作を制御するものである。制御回路33は、モード選択信号SMODEに基づいて、リセット信号SRSTおよび制御信号SJを生成する。具体的には、制御回路33は、動作モードが蓄積モードM1になる直前に、リセット信号SRSTを介して、カウンタCNT0〜CNT63のカウント値をリセットする。また、制御回路33は、動作モードが集計モードM1に変化した後に、制御信号SJを介して、判定回路32を動作させ、判定回路32は量子化パラメータQfを求める。
この構成により、量子化パラメータ生成部20Cは、上記実施の形態に係る量子化パラメータ生成部20と同様に、係数データA1に基づいてヒストグラムHGを生成し、そのヒストグラムHGに基づいて量子化パラメータQfを生成する。すなわち、まず、デコーダ31に係数データA1が入力されると、コードCDのビットCD[63:0]のうちの、その係数データA1に対応したビットのみが“1”となる。そして、カウンタCNT0〜CNT63のうち、そのビットに係るカウンタのみがカウント値をカウントアップする。この動作を続けることにより、カウンタCNT0〜CNT63はヒストグラムHGにおける各度数を保持する。そして、加算回路ADD0〜ADD62は、各カウンタCNT0〜CNT63におけるカウント値(度数)を、MSB側から順に加算して、累積値ACCをそれぞれ求める。具体的には、例えば、加算回路ADD62の出力値は、係数データA11が“62”以上の範囲(A11≧62)での累積値ACCを示し、加算回路ADD61の出力値は、係数データA11が“61”以上の範囲(A11≧61)での累積値ACCを示す。そして、判定回路32は、上記実施の形態に係る集計回路27と同様に、各累積値ACCとパラメータNNZとを比較することにより、量子化パラメータQfを求めることができる。
[変形例1−3]
上記変形例1−2では、加算回路ADD0〜ADD62を設けたが、これに限定されるものではなく、加算回路ADD0〜ADD62を設けなくてもよい。以下に、本変形例について詳細に説明する。
図26は、本変形例に係る量子化パラメータ生成部20Dの一構成例を表すものである。量子化パラメータ生成部20Dは、コード生成回路41を有するものである。すなわち、量子化パラメータ生成部20Dは、変形例1−2に係る量子化パラメータ生成部20C(図25)において、デコーダ31の代わりにコード生成回路41を設けるとともに、加算回路ADD0〜ADD62を省いたものである。
コード生成回路41は、係数変換回路22Bから供給される係数データA11に基づいて、64ビットのコードCC(ビットCC[63:0])を生成するものである。
図27は、コード生成回路41の動作を表すものである。コード生成回路41は、例えば、係数データA11が“0”である場合には、“0000・・・000001”のコードCCを生成し、係数データA11が“1”である場合には、“0000・・・000011”のコードCCを生成し、係数データA11が“2”である場合には、“0000・・・000111”のコードCCを生成する。このように、コード生成回路41は、係数データA11の値に“1”を足した値の数だけ、LSB側(CC[0]側)から“1”を並べるとともに、その他は全て“0”にすることにより、コードCCを生成する。
量子化パラメータ生成部20Dでは、このようなコード生成回路41を設けることにより、カウンタCNT0〜CNT63が、ヒストグラムHGそのものではなく、そのヒストグラムHGにおける各累積値ACCを生成するようにしている。すなわち、例えば、カウンタCNT62の出力値は、係数データA11が“62”以上の範囲(A11≧62)での累積値ACCを示し、カウンタCNT61の出力値は、係数データA11が“61”以上の範囲(A11≧61)での累積値ACCを示す。そして、判定回路32は、各累積値ACCとパラメータNNZとを比較することにより、量子化パラメータQfを求めることができる。このように構成することにより、データの蓄積をしながら累積値ACCを求めることができるため、量子化パラメータQfを算出する際の処理時間を短くすることができる。
[変形例1−4]
上記実施の形態では、送信装置1は、データ信号DATA[1:0]、クロック信号CLK2、フラグ信号FRAGにより、データを受信装置9に伝送したが、これに限定されるものではなく、これに代えて、例えば、エンベデッドクロック方式により、1対の差動信号で送信するようにしてもよい。
[変形例1−5]
上記実施の形態では、送信装置1は、1つの量子化パラメータ生成部20が量子化パラメータQfを生成したが、これに限定されるものではなく、これに代えて、例えば、図28に示す送信装置1Fのように、複数(この例では3つ)の量子化パラメータ生成部51〜53を設け、これらを処理対象範囲TRごとに切り換えて動作させてもよい。送信装置1Fは、インターリーブ制御部50と、3つの量子化パラメータ生成部51〜53と、セレクタ54とを有している。インターリーブ制御部50は、3つの量子化パラメータ生成部51〜53が処理対象範囲TRごとに切り換えて動作するように、モード選択信号SMODE1〜SMODE3、および係数イネーブル信号SENを介して量子化パラメータ生成部51〜53を制御するものである。また、このインターリーブ制御部50は、量子化パラメータ生成部51〜53の切換動作に同期して、制御信号SELを介してセレクタ54の動作を制御する機能をも有している。量子化パラメータ生成部51〜53のそれぞれは、上記実施の形態に係る量子化パラメータ20と同様のものであり、互いに異なる処理対象範囲TRにおける係数データCに基づいて、量子化パラメータQf1〜Qf3をそれぞれ生成するようになっている。セレクタ54は、制御信号SELに基づいて、量子化パラメータQf1〜Qf3のうちの1つを選択して、量子化パラメータQfとして出力するものである。このように構成することにより、例えば、量子化パラメータ生成部51〜53のそれぞれが量子化パラメータQf1〜Qf3を求めるのに時間がかかる場合でも、スムースに動作させることができる。
[変形例1−6]
上記実施の形態では、変換部11は、離散ウェーブレット変換を行うものとしたが、これに限定されるものではなく、これに代えて、例えば、離散コサイン変換(Discrete Cosine Transform)などの他の変換を行うようにしてもよい。離散コサイン変換を行う場合も、係数データCには、係数重要度だけでなく座標重要度が存在する。
図29は、離散コサイン変換を行う場合における、係数データCの重要度の、係数座標依存性を表すものである。この場合でも、離散ウェーブレット変換の場合(図3)と同様に、座標xおよび座標yが小さいほど、係数データCの重要度が高くなる。
よって、本変形例でも、量子化部12やエンコーダ13が、座標重要度などを考慮して画像を圧縮することにより、画質の低下を抑えつつ、エンコーダ13が符号化した後のコードサイズを小さくすることができる。
[変形例1−7]
上記実施の形態では、処理対象範囲TRを、例えば所定数のラインの範囲としたが、これに限定されるものではなく、これに代えて、例えば、1または複数のフレーム画像Fに対応する範囲としてもよい。
<2.第2の実施の形態>
次に、第2の実施の形態に係る伝送システム200について説明する。本実施の形態は、エンコーダにおいて、量子化データQを符号化する際の順序を工夫したものである。なお、上記第1の実施の形態に係る伝送システム100と実質的に同一の構成部分には同一の符号を付し、適宜説明を省略する。
図30は、伝送システム200の一構成例を表すものである。伝送システム200は、エンコーダ63を有する送信装置2を備えている。エンコーダ63は、ランダムな順序で量子化データQを符号化するものである。エンコーダ63は、スキャン部64と、符号化部65とを有している。スキャン部64は、量子化データQを符号化する順序を符号化部65に対して指示するものである。符号化部65は、スキャン部64からの指示に応じた順序で、量子化データQを符号化するものである。
エンコーダ63は、量子化データQを符号化する際、上記第1の実施の形態に係るエンコーダ13と同様に、座標重要度(図3)が高い係数データCに係る量子化データQから順に、符号化する。具体的には、図2C,3に示したように、エンコーダ13は、まず最初に“3LL”成分に対応する量子化データQを符号化し、次に“3HL”成分および“3LH”成分に対応する量子化データQを符号化する。そして、次に“3HH”成分、“2HL”成分、および“2LH”成分に対応する量子化データQを符号化し、次に“2HH”成分、“1HL”成分、および“1LH”成分に対応する量子化データQを符号化し、最後に“1HH”成分に対応する量子化データQを符号化する。その際、エンコーダ63は、各成分(サブバンド)において、ランダムな順序で量子化データQを符号化するようになっている。具体的には、エンコーダ63のスキャン部64は、例えば、線形合同法を用いて疑似乱数列を生成し、その疑似乱数列に基づいて符号化順序を決定している。
図31は、エンコーダ63における符号化順序の一例を表すものである。この例では、説明の便宜上、4×4の係数座標で示している。図31において、番号は、量子化データQを符号化する順番を示している。このように、各成分において、ランダムな順序で量子化データQを符号化している。
エンコーダ63のスキャン部64は、線形合同法を用いて疑似乱数列を生成し、その疑似乱数列に基づいて符号化順序を決定している。これにより、スキャン部64は、規則性の低い順序で、全係数座標を1回ずつ走査することができる。
エンコーダ63は、このようにいわゆるランダムスキャンを行うことにより、量子化データQを符号化している。これにより、以下に比較例2と対比して説明するように、仮に、ある成分(サブバンド)に係る全てのコードCODEを受信装置9に伝送できなかった場合でも、画質の低下を抑えることができる。
図32は、比較例2に係るエンコーダ63Rにおける符号化順序の一例を表すものである。この例では、エンコーダ63Rは、いわゆるラスタースキャンを行うことにより、係数座標の左上から順に量子化データQを符号化している。この場合、例えば、この成分(サブバンド)に係る16個のコードCODEのうちの全部が受信装置9に伝送できなかった場合には、画質が低下するおそれがある。すなわち、16個のコードCODEのうちの半分しか受信装置9に伝送できなかった場合には、図32に示した、網掛けされた部分のコードCODEが欠落してしまう。よって、例えば、再生された画像のうちの上半分は画質が高い一方、下半分は画質が低くなる。このような場合には、画像の下半分に画質の低下が集中して生じるとともに、高画質部分と低画質部分との境目が目立つため、観察者は、画質が悪いと感じるおそれがある。
一方、本実施の形態に係るエンコーダ63は、ランダムスキャンを行うことにより、量子化データQを符号化したので、仮に、図31に示したように、網掛けされた部分のコードCODEが欠落しても、画質の低下する部分が画像内で分散するため、観察者は、画質が悪いと感じるおそれを低減することができる。
以上のように本実施の形態では、各成分(サブバンド)において、ランダムな順序で量子化データを符号化するようにしたので、全てのコードを伝送することができなかった場合でも、画質の低下を抑えることができる。
[変形例2−1]
上記実施の形態では、スキャン部64は、線形合同法を用いて疑似乱数列を生成し、その疑似乱数列に基づいて符号化順序を決定したが、これに限定されるものではなく、これに代えて、例えば、乱数表に基づいて符号化順序を決定してもよい。
<3.適用例>
次に、上記実施の形態および変形例で説明した伝送システムの適用例について説明する。
図33は、上記実施の形態等の伝送システムの第1の適用例を表すものである。この例では、カメラ5から供給された動画の画像信号に基づいて、送信装置10の変換部11、量子化部12、およびエンコーダ13が画像圧縮を行い、パラレル/シリアル変換部19が圧縮コードをエンベデッドクロック方式により1対の差動信号により送信する。そして、受信装置90のシリアル/パラレル変換部99がこの差動信号を受信し、受信装置90のデコーダ92、逆量子化部95、および逆変換部96が画像信号を再生し、再生された画像信号に基づいて画像表示装置6が動画を表示する。
図34は、上記実施の形態等の伝送システムの第2の適用例を表すものである。この例では、カメラ5Aから供給された動画の画像信号に基づいて、送信装置10Aの変換部11、量子化部12、およびエンコーダ13が画像圧縮を行い、パケット処理部18が、圧縮コードをパケット化する。そのパケット処理の際、送信装置10Aのパケット処理部18は、カメラ5AのカメラID(識別番号)をパケットに付与する。そして、パラレル/シリアル変換部19が一連のパケットをエンベデッドクロック方式により1対の差動信号により送信する。同様に、カメラ5Bから供給された動画の画像信号に基づいて、送信装置10Bの変換部11、量子化部12、およびエンコーダ13が画像圧縮を行い、パケット処理部18が、圧縮コードをパケット化する。そのパケット処理の際、送信装置10Bのパケット処理部18は、カメラ5BのカメラIDをパケットに付与する。そして、パラレル/シリアル変換部19が一連のパケットをエンベデッドクロック方式により1対の差動信号により送信する。多重化装置8は、送信装置10A,10Bから供給された2組の差動信号を多重化して、1対の差動信号として送信する。
そして、受信装置80のシリアル/パラレル変換部99がこの差動信号を受信し、分離部81が、パケットに付与されたカメラIDに基づいてパケットを分離し、カメラ5Aに係るパケットをアンパケット処理部82Aに供給するとともに、カメラ5Bに係るパケットをアンパケット処理部82Bに供給する。アンパケット処理部82Aは、供給されたパケットをアンパケット化し、デコーダ92A、逆量子化部95A、および逆変換部96Aが画像信号を再生し、再生された画像信号に基づいて画像表示装置6が動画を表示する。また、アンパケット処理部82Bは、供給されたパケットをアンパケット化し、デコーダ92B、逆量子化部95B、および逆変換部96Bが画像信号を再生し、再生された画像信号に基づいて解析装置7が動画を解析する。
以上、いくつかの実施の形態および変形例、ならびにそれらの適用例を挙げて本技術を説明したが、本技術はこれらの実施の形態等には限定されず、種々の変形が可能である。
例えば、上記の各実施の形態等では、変換部11は、離散ウェーブレット変換や、離散コサイン変換を行うものとしたが、これに限定されるものではなく、その他の様々な変換方法を用いることが可能である。また、エンコーダ13は、量子化データQをハフマン符号化によりエンコードしたが、これに限定されるものではなく、その他の様々な符号化方法を用いることが可能である。
また、例えば、上記の各実施の形態等では、量子化パラメータ生成部20は、係数データCなどに基づいて量子化パラメータQfを生成する機能をハードウェアにより実現したが、これに限定されるものではなく、これに代えて、例えばマイクロコントローラなどを用いて、ソフトウェアにより実現するように構成してもよい。
また、例えば、上記の第1の実施の形態では、メモリ28を用いてヒストグラムHGを生成したが、これに限定するものではなく、これに代えて、例えば、ヒストグラムHGそのものではなく、そのヒストグラムHGにおける上位側からの各累積値ACCを生成するようにしてもよい。
なお、本技術は以下のような構成とすることができる。
(1)複数の画素データを複数の係数データに変換する変換部と、
所定数の前記係数データに基づいて量子化パラメータを求め、前記所定数の係数データを前記量子化パラメータにより量子化する量子化部と
を備えた画像圧縮回路。
(2)前記量子化部は、前記所定数の係数データに基づいてヒストグラムを求め、そのヒストグラムに基づいて前記量子化パラメータを求める
前記(1)に記載の画像圧縮回路。
(3)前記量子化部は、前記ヒストグラムにおける係数データの大きい側から小さい側に向かって度数を順次加算して得られる累積値が所定のしきい値を超えないような係数データの最大範囲を求め、その最大範囲における係数データの最小値を前記量子化パラメータとする
前記(2)に記載の画像圧縮回路。
(4)前記変換部は、各係数データに対応する係数座標をも生成し、
前記量子化部は、各係数データを、その係数データに対応する係数座標に基づいて補正し、その補正された係数データに基づいて前記ヒストグラムを求める
前記(2)または(3)に記載の画像圧縮回路。
(5)前記ヒストグラムは、所定の範囲の係数データごとの度数を表すものであり、
前記所定の範囲は、係数データの値に応じて変化する
前記(2)から(4)のいずれかに記載の画像圧縮回路。
(6)前記ヒストグラムは、所定の範囲の係数データごとの度数を表すものであり、
前記所定の範囲は、係数データの値によらず一定である
前記(2)から(4)のいずれかに記載の画像圧縮回路。
(7)前記量子化部は、各係数データに基づいてアドレスが指定されるメモリを有し、指定されたアドレスに記憶された値をインクリメントすることにより、前記ヒストグラムを生成する
前記(2)から(6)のいずれかに記載の画像圧縮回路。
(8)前記量子化部は、各係数データに対応する複数のカウンタを有し、各係数データに基づいて、その係数データに対応するカウンタをカウントアップすることにより、前記ヒストグラムを作成する
前記(2)から(6)のいずれかに記載の画像圧縮回路。
(9)前記量子化部は、前記所定数の各係数データに基づいて、係数データが大きい側からの累積ヒストグラムを求め、その累積ヒストグラムに基づいて前記量子化パラメータを求める
前記(1)に記載の画像圧縮回路。
(10)前記量子化部は、前記累積ヒストグラムにおける度数が所定のしきい値を超えないような係数データの最小値を前記量子化パラメータとする
前記(9)に記載の画像圧縮回路。
(11)前記量子化部は、各係数データに対応する複数のカウンタを有し、各係数データに基づいて、前記複数のカウンタのうちの、その係数データに応じた数のカウンタをカウントアップすることにより、前記累積ヒストグラムを作成する
前記(9)または(10)に記載の画像圧縮回路。
(12)前記量子化部は、前記量子化パラメータを求めるパラメータ生成部を複数有し、
複数の前記パラメータ生成部のうちの前記量子化パラメータを求めるパラメータ生成部が、前記所定数の係数データごとに切り換わる
前記(1)から(11)のいずれかに記載の画像圧縮回路。
(13)前記変換部は、離散ウェーブレット変換を行う
前記(1)から(12)のいずれかに記載の画像圧縮回路。
(14)量子化された前記複数の係数データを符号化する符号化部を備え、
前記変換部は、各係数データに対応する係数座標をも生成し、
前記符号化部は、量子化された前記複数の係数データのうち、前記係数座標が所定の領域内にある係数データをランダムな順序で符号化する
前記(13)に記載の画像圧縮回路。
(15)前記符号化部は、線形合同法を用いて疑似乱数列を生成し、その疑似乱数列に基づく順序で係数データを符号化する
前記(14)に記載の画像圧縮回路。
(16)前記変換部は、離散コサイン変換を行う
前記(1)から(12)のいずれかに記載の画像圧縮回路。
(17)複数の画素データを複数の係数データに変換し、
所定数の前記係数データに基づいて量子化パラメータを求め、前記所定数の係数データを前記量子化パラメータにより量子化する
画像圧縮方法。
(18)送信装置と、
受信装置と
を備え、
前記送信装置は、
複数の画素データを複数の係数データに変換する変換部と、
所定数の前記係数データに基づいて量子化パラメータを求め、前記所定数の係数データを前記量子化パラメータにより量子化する量子化部と
を有する
伝送システム。
1,1F,2,10,10A,10B…送信装置、5…カメラ、6…画像表示装置、7…解析装置、8…多重化装置、9,80,90…受信装置、11…変換部、12…量子化部、13,63…エンコーダ、14…バッファメモリ、15…フォーマットアナライザ、16…ヘッダエンコーダ、17…MUX(マルチプレクサ)、18…パケット処理部、19…パラレル/シリアル変換部、20,20B,20C,20D,51〜53…量子化パラメータ生成部、21…除数テーブル、22…除算回路、22B…係数変換回路、23A〜23C…セレクタ、24,25…遅延回路、26…加算回路、27…集計回路、28…メモリ、31…デコーダ、32…判定回路、33…制御回路、41…コード生成回路、50…インターリーブ制御部、54…セレクタ、64…スキャン部、65…符号化部、81…分離部、82A,82B…アンパケット処理部、91…DEMUX(デマルチプレクサ)、92,92A,92B…デコーダ、93,…ヘッダデコーダ、94…タイミング信号発生部、95,95A,95B…逆量子化部、96,96A,96B…逆変換部、97…バッファメモリ、99…シリアル/パラレル変換部、100,200…伝送システム、ACC…累積値、ADD0〜ADD62…加算回路、ADDR…読出アドレス、ADDW…書込アドレス、AND0〜AND63…論理積回路、A1,A11,C…係数データ、A2,D1,D2…データ、CC,CD…コード、CLK,CLK2…クロック信号、CNT0〜CNT63…カウンタ、CODE…コード、D…係数座標、DATAR…読出データ、DATAW…書込データ、DATA[1],DATA[0]…データ信号、DE,DE2…データイネーブル信号、DIV…除数、DS…係数データセット、ENW…書込イネーブル、FRAG…フラグ信号、F1,F2…フラグ、HI,HI2…ヘッダ御情報、HS,HS2…水平同期信号、NNZ…パラメータ、P1…ヘッダ部分、P2…コード部分、P3…ヌル部分、Q…量子化データ、Qf…量子化パラメータ、SC,SC2…係数信号、SD,SD2…座標信号、SEN…係数イネーブル信号、SIG…送信信号、SJ…制御信号、SMODE…モード選択信号、SP,SP2…パラメータ信号、SQ,SQ2…量子化データ信号、SRST…リセット信号、TR…処理対象範囲TR、VS,VS2…垂直同期信号、YC,YC2…画素信号。

Claims (18)

  1. 複数の画素データを複数の係数データに変換する変換部と、
    所定数の前記係数データに基づいて量子化パラメータを求め、前記所定数の係数データを前記量子化パラメータにより量子化する量子化部と
    を備えた画像圧縮回路。
  2. 前記量子化部は、前記所定数の係数データに基づいてヒストグラムを求め、そのヒストグラムに基づいて前記量子化パラメータを求める
    請求項1に記載の画像圧縮回路。
  3. 前記量子化部は、前記ヒストグラムにおける係数データの大きい側から小さい側に向かって度数を順次加算して得られる累積値が所定のしきい値を超えないような係数データの最大範囲を求め、その最大範囲における係数データの最小値を前記量子化パラメータとする
    請求項2に記載の画像圧縮回路。
  4. 前記変換部は、各係数データに対応する係数座標をも生成し、
    前記量子化部は、各係数データを、その係数データに対応する係数座標に基づいて補正し、その補正された係数データに基づいて前記ヒストグラムを求める
    請求項2に記載の画像圧縮回路。
  5. 前記ヒストグラムは、所定の範囲の係数データごとの度数を表すものであり、
    前記所定の範囲は、係数データの値に応じて変化する
    請求項2に記載の画像圧縮回路。
  6. 前記ヒストグラムは、所定の範囲の係数データごとの度数を表すものであり、
    前記所定の範囲は、係数データの値によらず一定である
    請求項2に記載の画像圧縮回路。
  7. 前記量子化部は、各係数データに基づいてアドレスが指定されるメモリを有し、指定されたアドレスに記憶された値をインクリメントすることにより、前記ヒストグラムを生成する
    請求項2に記載の画像圧縮回路。
  8. 前記量子化部は、各係数データに対応する複数のカウンタを有し、各係数データに基づいて、その係数データに対応するカウンタをカウントアップすることにより、前記ヒストグラムを作成する
    請求項2に記載の画像圧縮回路。
  9. 前記量子化部は、前記所定数の各係数データに基づいて、係数データが大きい側からの累積ヒストグラムを求め、その累積ヒストグラムに基づいて前記量子化パラメータを求める
    請求項1に記載の画像圧縮回路。
  10. 前記量子化部は、前記累積ヒストグラムにおける度数が所定のしきい値を超えないような係数データの最小値を前記量子化パラメータとする
    請求項9に記載の画像圧縮回路。
  11. 前記量子化部は、各係数データに対応する複数のカウンタを有し、各係数データに基づいて、前記複数のカウンタのうちの、その係数データに応じた数のカウンタをカウントアップすることにより、前記累積ヒストグラムを作成する
    請求項9に記載の画像圧縮回路。
  12. 前記量子化部は、前記量子化パラメータを求めるパラメータ生成部を複数有し、
    複数の前記パラメータ生成部のうちの前記量子化パラメータを求めるパラメータ生成部が、前記所定数の係数データごとに切り換わる
    請求項1に記載の画像圧縮回路。
  13. 前記変換部は、離散ウェーブレット変換を行う
    請求項1に記載の画像圧縮回路。
  14. 量子化された前記複数の係数データを符号化する符号化部を備え、
    前記変換部は、各係数データに対応する係数座標をも生成し、
    前記符号化部は、量子化された前記複数の係数データのうち、前記係数座標が所定の領域内にある係数データをランダムな順序で符号化する
    請求項13に記載の画像圧縮回路。
  15. 前記符号化部は、線形合同法を用いて疑似乱数列を生成し、その疑似乱数列に基づく順序で係数データを符号化する
    請求項14に記載の画像圧縮回路。
  16. 前記変換部は、離散コサイン変換を行う
    請求項1に記載の画像圧縮回路。
  17. 複数の画素データを複数の係数データに変換し、
    所定数の前記係数データに基づいて量子化パラメータを求め、前記所定数の係数データを前記量子化パラメータにより量子化する
    画像圧縮方法。
  18. 送信装置と、
    受信装置と
    を備え、
    前記送信装置は、
    複数の画素データを複数の係数データに変換する変換部と、
    所定数の前記係数データに基づいて量子化パラメータを求め、前記所定数の係数データを前記量子化パラメータにより量子化する量子化部と
    を有する
    伝送システム。
JP2013126627A 2013-06-17 2013-06-17 画像圧縮回路、画像圧縮方法、および伝送システム Pending JP2015002462A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013126627A JP2015002462A (ja) 2013-06-17 2013-06-17 画像圧縮回路、画像圧縮方法、および伝送システム
US14/289,204 US9667979B2 (en) 2013-06-17 2014-05-28 Image compression circuit, image compression method, and transmission system
CN201410255825.8A CN104243983B (zh) 2013-06-17 2014-06-10 图像压缩电路、图像压缩方法和传输系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013126627A JP2015002462A (ja) 2013-06-17 2013-06-17 画像圧縮回路、画像圧縮方法、および伝送システム

Publications (1)

Publication Number Publication Date
JP2015002462A true JP2015002462A (ja) 2015-01-05

Family

ID=52019191

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013126627A Pending JP2015002462A (ja) 2013-06-17 2013-06-17 画像圧縮回路、画像圧縮方法、および伝送システム

Country Status (3)

Country Link
US (1) US9667979B2 (ja)
JP (1) JP2015002462A (ja)
CN (1) CN104243983B (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017164297A1 (ja) * 2016-03-25 2017-09-28 パナソニックIpマネジメント株式会社 信号依存型適応量子化を用いて動画像を符号化及び復号するための方法及び装置
JP6986868B2 (ja) * 2017-06-19 2021-12-22 キヤノン株式会社 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、プログラム
US11521705B2 (en) * 2018-09-18 2022-12-06 International Business Machines Corporation Random sequence generation for gene simulations

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2621194B1 (fr) * 1987-09-29 1989-12-29 Labo Electronique Physique Dispositif de codage de signaux video numeriques
JP3569089B2 (ja) * 1996-10-23 2004-09-22 株式会社ソニー・コンピュータエンタテインメント 画像生成方法、画像生成装置、記録媒体および疑似乱数発生装置
CN1217852A (zh) * 1997-02-13 1999-05-26 三菱电机株式会社 动态图象预测方式
US6115420A (en) * 1997-03-14 2000-09-05 Microsoft Corporation Digital video signal encoder and encoding method
WO2000018133A1 (en) * 1998-09-21 2000-03-30 Sony Corporation Encoding device and method, and decoding device and method
US20020018565A1 (en) * 2000-07-13 2002-02-14 Maximilian Luttrell Configurable encryption for access control of digital content
US7075059B2 (en) * 2003-09-11 2006-07-11 Applera Corporation Image enhancement by sub-pixel imaging
US7684632B2 (en) * 2005-05-16 2010-03-23 Hewlett-Packard Development Company, L.P. Estimating image compression quantization parameter values
KR100703799B1 (ko) * 2005-07-19 2007-04-06 삼성전자주식회사 역 양자화 방법 및 장치, 상기 방법을 이용한 비디오디코딩 방법 및 장치
WO2007027684A2 (en) * 2005-08-30 2007-03-08 University Of Maryland Baltimore Techniques for 3-d elastic spatial registration of multiple modes of measuring a body
JP4771288B2 (ja) * 2006-04-03 2011-09-14 富士ゼロックス株式会社 データ処理装置及びプログラム
US8995522B2 (en) * 2007-04-13 2015-03-31 Apple Inc. Method and system for rate control
US8724698B2 (en) * 2007-04-13 2014-05-13 Apple Inc. Method and system for video rate control
US8213498B2 (en) * 2007-05-31 2012-07-03 Qualcomm Incorporated Bitrate reduction techniques for image transcoding
US8189677B2 (en) * 2008-04-15 2012-05-29 Sony Corporation Estimation of P frame average rate quantization parameter (QP) in a group of pictures (GOP)
CN101686388B (zh) * 2008-09-24 2013-06-05 国际商业机器公司 视频流编码装置及其方法
EP2448124A4 (en) * 2009-06-22 2012-08-29 Univ Barcelona METHOD FOR COMPLETELY ADAPTIVE CALIBRATION OF A PREDICTION ERROR ENCODER
US8588296B2 (en) * 2009-07-02 2013-11-19 Dialogic Corporation Bitrate control algorithm for video transcoding systems
JP5598155B2 (ja) 2010-08-12 2014-10-01 ソニー株式会社 情報処理装置および方法、並びに送受信システム
WO2013059470A1 (en) * 2011-10-21 2013-04-25 Dolby Laboratories Licensing Corporation Weighted predictions based on motion information
JP6140269B2 (ja) * 2012-04-16 2017-05-31 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュートElectronics And Telecommunications Research Institute 映像符号化/復号化方法及び装置
US8660360B1 (en) * 2012-08-03 2014-02-25 Raytheon Company System and method for reduced incremental spectral clustering

Also Published As

Publication number Publication date
US20140369406A1 (en) 2014-12-18
US9667979B2 (en) 2017-05-30
CN104243983B (zh) 2018-10-30
CN104243983A (zh) 2014-12-24

Similar Documents

Publication Publication Date Title
JP5152598B2 (ja) 符号化装置および符号化方法、並びに復号装置および復号方法
JP4612716B2 (ja) 画像符号化装置、画像符号化方法、画像符復号化システム
US7072404B2 (en) Decoding apparatus, control method therefor, and storage medium
US8189932B2 (en) Image processing apparatus and image processing method
US8098947B2 (en) Method and apparatus for processing image data by rearranging wavelet transform data
US8605793B2 (en) Information processing device and method, and program
US20100150243A1 (en) Information processing apparatus and method
US20060146937A1 (en) Three-dimensional wavelet video coding using motion-compensated temporal filtering on overcomplete wavelet expansions
US20130251257A1 (en) Image encoding device and image encoding method
US20060159173A1 (en) Video coding in an overcomplete wavelet domain
JP2015002462A (ja) 画像圧縮回路、画像圧縮方法、および伝送システム
JP2010098352A (ja) 画像情報符号化装置
US20150156517A1 (en) Image encoding system and method thereof
US9451257B2 (en) Method and apparatus for image encoding and/or decoding and related computer program products
US10609382B2 (en) Method and apparatus for compressing video data
KR19990060489A (ko) 에이치디티브이 비디오 디코더
EP2383700A1 (en) System and method for image compression
JP2004501531A (ja) ビデオ・データをランレングス符号化するための方法と装置
US9462297B2 (en) Image processing device and image processing method
JP2021168447A (ja) 送信装置、受信装置、及びプログラム
US20090074059A1 (en) Encoding method and device for image data
US20140098852A1 (en) Compression bandwidth overflow management using auxiliary control channel
US20090060363A1 (en) System and method for image compression
WO2020023167A1 (en) Spatial layer rate allocation
JP2020022087A (ja) 映像/パケット変換装置、パケット/映像変換装置、及びプログラム