JP4093114B2 - Information signal processing apparatus and processing method, codebook generation apparatus and generation method, and program for executing each method - Google Patents

Information signal processing apparatus and processing method, codebook generation apparatus and generation method, and program for executing each method Download PDF

Info

Publication number
JP4093114B2
JP4093114B2 JP2003153432A JP2003153432A JP4093114B2 JP 4093114 B2 JP4093114 B2 JP 4093114B2 JP 2003153432 A JP2003153432 A JP 2003153432A JP 2003153432 A JP2003153432 A JP 2003153432A JP 4093114 B2 JP4093114 B2 JP 4093114B2
Authority
JP
Japan
Prior art keywords
class
tap
code
vector
information signal
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.)
Expired - Fee Related
Application number
JP2003153432A
Other languages
Japanese (ja)
Other versions
JP2004357062A (en
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.)
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 JP2003153432A priority Critical patent/JP4093114B2/en
Priority to US10/852,577 priority patent/US7627198B2/en
Publication of JP2004357062A publication Critical patent/JP2004357062A/en
Application granted granted Critical
Publication of JP4093114B2 publication Critical patent/JP4093114B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Television Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、例えば、標準あるいは低解像度に相当する標準テレビジョン信号(SD信号)を高解像度の信号(HD信号)に変換する際に適用して好適な情報信号の処理装置および処理方法、コードブックの生成装置および生成方法、並びに各方法を実行するためのプログラムに関する。
【0002】
詳しくは、この発明は、複数個の情報データからなる第1の情報信号を当該第1の情報信号よりもサンプルの画素数が多い複数個の情報データからなる第2の情報信号に変換する際に、第1の情報信号を分割して得られる複数個の情報データからなるブロック毎に、このブロックに含まれる情報データからなるクラスタップのクラスコードおよびダイナミックレンジからなる特徴量を用いて、第2の情報信号を構成する複数個の情報データを生成することによって、第1の情報信号を高解像度の第2の情報信号に良好に変換できるようにした情報信号処理装置等に係るものである。
【0003】
【従来の技術】
例えば、画像信号について、その画像信号を、複数のクラスのうちのいずれかにクラス分けするクラス分類を行い、そのクラスに対応する処理を行う画像信号処理方法がある(特許文献1、特許文献2参照)。
【0004】
このような画像信号処理方法によれば、例えば、画像信号のアクティビティに基づいてクラス分類を行うこととした場合、変化の激しい画像信号などのアクティビティの高い画像信号と、平坦な画像信号などのアクティビティの低い画像信号とを別のクラスにクラス分類することができ、その結果、アクティビティの高い画像信号およびアクティビティの低い画像信号に対し、それぞれに適した処理を施すことが可能となる。
【0005】
【特許文献1】
特開平7−95591号公報
【特許文献2】
特開2000−59740号公報
【0006】
【発明が解決しようとする課題】
上述のようなクラス分類を行う画像信号処理によれば、各クラスに分類される画像信号毎に、そのクラスの画像信号に適した画像信号処理を施すことができる。したがって、理論的には、クラス数が多いほど、各クラスに分類される画像信号に対して、より適した処理を施すことができる。しかし、クラス数が膨大になると、クラスに応じて行われる処理のパターンも膨大になり、装置が大規模化するいうことになる。
【0007】
例えば、上述のように、アクティビティに基づいてクラス分類を行う場合には、そのアクティビティが取り得る値の数と同一のクラスを用意することになり、各アクティビティの画像信号に対して、そのアクティビティに適した処理を施すことができる。しかし、アクティビティとして、例えば、水平方向に並ぶ複数の画素の隣接するものどうしのN個の差分値を採用した場合、その差分値がKビットであれば、全クラス数は、(2KNクラスという膨大な数になる。
【0008】
このため、クラス分類は、例えば、ADRC(Adaptive Dynamic Range Coding)等の、何らかの圧縮処理を利用して行われる。ADRCを利用したクラス分類では、クラス分類に用いられるデータ(以下、適宜、「クラスタップ」という)としての、例えば、上述したような、N個の差分値が、ADRC処理され、その結果得られるADRCコードに従ってクラス決定が行われる。
【0009】
なお、KビットADRCにおいては、例えば、クラスタップを構成するデータの値の最大値MAXと最小値MINが検出され、DR=MAX−MINを、集合の局所的なダイナミックレンジとし、このダイナミックレンジDRに基づいて、クラスタップを構成するデータの値の中から、最小値MINが減算され、その減算値がDR/2Kで除算(量子化)される。そして、以上のようにして得られる、クラスタップを構成するデータについてのKビットの値を、所定の順番で並べたビット列が、ADRCコードとして出力される。
【0010】
したがって、クラスタップが、例えば1ビットADRC処理された場合には、そのクラスタップを構成する各データは、最小値MINが減算された後に、(MAX−MIN)/2で除算され、これにより、各データが1ビットとされる。そして、その1ビットのデータを所定の順番で並べたビット列が、ADRCコードとして出力される。
【0011】
ここで、クラス分類は、ADRC処理の他、例えば、ベクトル量子化等によって行うことも可能である。上述のように、圧縮処理を利用してクラス分類を行う場合には、クラス数を少なくすることができる。しかしながら、その反面、圧縮処理を行わずにクラス分類を行う場合に比較して、細かなクラス分けを行うことができなくなり、画像信号に適切な処理を施すことができなくなることがある。
【0012】
例えば、第1の画像信号のクラス分類をベクトル量子化を利用して行い、各クラス毎に、第2の画像信号を生成する画像信号処理を考える。
【0013】
この場合、第1の画像信号が、複数の画素データのブロックに分割され、各ブロックについて、そのブロックを構成する複数の画素データをコンポーネントとするベクトル(以下、適宜、「ブロックベクトル」という)が構成される。さらに、そのブロックベクトルが、予め求められたコードブックを用いてベクトル量子化され、そのベクトル量子化結果としてのコード(シンボル)が、そのブロックベクトルのクラスを表すクラスコードとして出力される。
【0014】
そして、クラスコード毎に、第2の画像信号の画素データが生成される。すなわち、クラスコードが、コードブックを用いてベクトル逆量子化され、そのクラスコードに対応するブロックベクトルが求められる。そして、そのブロックベクトルのコンポーネントを画素データとして含むブロックが求められ、そのブロックを対応する位置に配置することで、第2の画像信号が生成される。
【0015】
しかしながら、いま、ベクトル逆量子化によって得られる第2の画像信号を高画質の画像信号というと共に、ベクトル量子化の対象となる第1の画像信号を低画質の画像信号というものとすると、上述の処理では、低画質の画像信号のブロックベクトルのうちの、同一のクラスコードにベクトル量子化されるものは、全て、同一のコードベクトル、すなわち、同一の高画質の画像信号のブロックベクトルにベクトル逆量子化される。つまり、ベクトル逆量子化で求められるブロックベクトルは、いわゆる量子化誤差を有する。したがって、上述の処理で生成される画像信号は、高画質であるといっても、ベクトル逆量子化用のコードブック作成に用いられた高画質の画像信号の画質からすれば、量子化誤差分だけ画質が劣化したものとなる。
【0016】
この発明の目的は、第1の情報信号を第2の情報信号に良好に変換することにある。
【0017】
【課題を解決するための手段】
この発明に係る情報信号処理装置は、複数個の情報データからなる第1の情報信号を当該第1の情報信号よりもサンプルの画素数が多い複数個の情報データからなる第2の情報信号に変換する情報信号処理装置であって、第1の情報信号を複数個の情報データからなるブロックに分割し、ブロック毎に、このブロックに含まれる情報データをクラスタップとして抽出するクラスタップ抽出手段と、このクラスタップ抽出手段で抽出されたクラスタップを、当該各タップの信号値に基づいて複数のクラスのうちのいずれかのクラスに分類して、該ブロックの特徴を表すクラスコードを得るクラス分類手段と、クラスタップ抽出手段で抽出されたクラスタップ内の画素データの最大値と最小値との差分であるダイナミックレンジを求めてこのクラスタップに係る特徴量を取得する特徴量取得手段と、クラス分類手段で得られたクラスコードおよび特徴量取得手段で取得されたダイナミックレンジからなる特徴量の組み合わせに割り当てられている代表ベクトルをデータ生成用コードブックから求め、クラスタップに対応した、第2の情報信号を構成する複数個の情報データを生成するデータ生成手段とを備え、クラス分類手段は、クラスタップ抽出手段で抽出されたクラスタップに含まれる情報データをコンポーネントとするタップベクトルを、クラス分類用コードブックを用いて、ベクトル量子化し、該クラスタップに対応したクラスコードを得るものである。
【0018】
また、この発明に係る情報信号処理方法は、複数個の情報データからなる第1の情報信号を当該第1の情報信号よりもサンプルの画素数が多い複数個の情報データからなる第2の情報信号に変換する情報信号処理方法であって、第1の情報信号を複数個の情報データからなるブロックに分割し、ブロック毎に、このブロックに含まれる情報データをクラスタップとして抽出するクラスタップ抽出工程と、このクラスタップ抽出工程で抽出されたクラスタップを、当該各タップの信号値に基づいて複数のクラスのうちのいずれかのクラスに分類して、該ブロックの特徴を表すクラスコードを得るクラス分類工程と、クラスタップ抽出工程で抽出されたクラスタップ内の画素データの最大値と最小値との差分であるダイナミックレンジを求めて該クラスタップに係る特徴量を取得する特徴量取得工程と、クラス分類工程で得られたクラスコードおよび特徴量取得工程で取得されたダイナミックレンジからなる特徴量の組み合わせに割り当てられている代表ベクトルをデータ生成用コードブックから求め、クラスタップに対応した、第2の情報信号を構成する複数個の情報データを生成するデータ生成工程とを有し、クラス分類工程には、クラスタップ抽出工程で抽出されたクラスタップに含まれる情報データをコンポーネントとするタップベクトルを、クラス分類用コードブックを用いて、ベクトル量子化し、該クラスタップに対応したクラスコードを得る処理が含まれるものである。
【0019】
また、この発明に係るプログラムは、上述の情報信号処理方法をコンピュータに実行させるためのものである。
【0020】
この発明においては、複数個の情報データからなる第1の情報信号を、複数個の情報データからなる第2の情報信号に変換する。ここで、情報信号は、例えば複数個の画素データ(サンプルデータ)からなる画像信号、あるいは複数個のサンプルデータからなる音声信号等である。
【0021】
第1の情報信号が複数個の情報データからなるブロックに分割され、ブロック毎に、このブロックに含まれる情報データがクラスタップとして抽出される。そして、このクラスタップが、当該各タップの信号値に基づいて複数のクラスのうちのいずれかのクラスに分類され、該ブロックの特徴を表すクラスコードが得られる。例えば、クラスタップに含まれる情報データをコンポーネントとするタップベクトルが、データ生成用コードブックを用いて、ベクトル量子化され、このクラスタップに対応したクラスコードが得られる。
【0022】
また、クラスタップに基づいて、このクラスタップに係る特徴量が取得される。この特徴量は、クラスタップ内の情報データのダイナミックレンジ、分散値、標準偏差、波形パターン、あるいはタップベクトルとクラスコードに対応したコードベクトルとの差分データ等とされる。
【0023】
そして、上述したようにクラスタップに基づいて得られたクラスコードおよび特徴量を用いて、当該クラスタップに対応した、第2の情報信号を構成す複数個の情報データが生成される。例えば、このクラスコードが、データ生成用コードブックを用いて逆量子化され、第2の情報信号を構成する複数個の情報データをコンポーネントとするコードベクトルが得られる。このコードブックは、予め学習によって求められる。
【0024】
このように、この発明は、複数個の情報データからなる第1の情報信号を当該第1の情報信号よりもサンプルの画素数が多い複数個の情報データからなる第2の情報信号に変換する際に、第1の情報信号を分割して得られる複数個の情報データからなるブロック毎に、このブロックに含まれる情報データからなるクラスタップのクラスコードおよびダイナミックレンジからなる特徴量の組み合わせに割り当てられている代表ベクトルをデータ生成用コードブックから求め、第2の情報信号を構成する複数個の情報データを生成するものであり、クラスコードのみに基づく場合に比べて適切な変換処理を行うことができ、第1の情報信号を第2の情報信号に良好に変換できる。
【0025】
また、この発明に係るコードブック生成装置は、複数個の情報データからなる第1の情報信号を当該第1の情報信号よりもサンプルの画素数が多い複数個の情報データからなる第2の情報信号に変換する際に使用されるコードブックであって、第1の情報信号を分割して得られる複数個の情報データからなるブロック毎に、このブロックに含まれる情報データからなるクラスタップのクラスコードおよび特徴量の組み合わせに、第2の情報信号についての代表ベクトルとしてのコードベクトルを割り当てたデータ生成用コードブックを生成するコードブック生成装置において、第1の情報信号に対応した生徒信号を分割して得られた、複数個の情報データからなる各第1のブロックに含まれる情報データを第1のタップとして抽出する第1のタップ抽出手段と、第2の情報信号に対応した教師信号を、第1のブロックに対応して分割して得られた、複数個の情報データからなる各第2のブロックに含まれる情報データを第2のタップとして抽出する第2のタップ抽出手段と、第1のタップ抽出手段で抽出された第1のタップを、当該各タップの信号値に基づいて複数のクラスのうちのいずれかのクラスに分類して、該ブロックの特徴を表すクラスコードを得るクラス分類手段と、第1のタップ抽出手段で抽出された第1のタップ内の画素データの最大値と最小値との差分であるダイナミックレンジを求めて該第1のタップに係る特徴量を取得する特徴量取得手段と、第2の情報信号についての、それぞれ第2のタップ抽出手段で抽出される第2のタップに対応して複数個の情報データをコンポーネントとする複数個の代表ベクトルを記憶する記憶手段と、クラス分類手段で得られたクラスコード、特徴量取得手段で取得されたダイナミックレンジからなる特徴量、第2のタップ抽出手段で抽出された第2のタップおよび記憶手段に記憶されている複数個の代表ベクトルに基づいて、クラスコードおよび特徴量の組み合わせのそれぞれに、複数個の代表ベクトルから選択された一個の代表ベクトルを割り当ててデータ生成用コードブックを生成するコードブック生成手段とを備え、クラス分類手段は、第1のクラスタップ抽出手段で抽出された第1のタップに含まれる情報データをコンポーネントとするタップベクトルを、クラス分類用コードブックを用いて、ベクトル量子化し、該第1のタップに対応したクラスコードを得るものである。
【0026】
また、この発明に係るコードブック生成方法は、複数個の情報データからなる第1の情報信号を当該第1の情報信号よりもサンプルの画素数が多い複数個の情報データからなる第2の情報信号に変換する際に使用されるコードブックであって、第1の情報信号を分割して得られる複数個の情報データからなるブロック毎に、このブロックに含まれる情報データからなるクラスタップのクラスコードおよび特徴量の組み合わせに、第2の情報信号についての代表ベクトルとしてのコードベクトルを割り当てたデータ生成用コードブックを生成するコードブック生成方法において、第1の情報信号に対応した生徒信号を分割して得られる複数個の情報データからなる各第1のブロックに含まれる情報データを第1のタップとして抽出する第1のタップ抽出工程と、第2の情報信号に対応した教師信号を、第1のブロックに対応して分割して得られる複数個の情報データからなる各第2のブロックに含まれる情報データを第2のタップとして抽出する第2のタップ抽出工程と、第1のタップ抽出工程で抽出された第1のタップを、当該各タップの信号値に基づいて複数のクラスのうちのいずれかのクラスに分類して、該ブロックの特徴を表すクラスコードを得るクラス分類工程と、第1のタップ抽出工程で抽出された第1のタップ内の画素データの最大値と最小値との差分であるダイナミックレンジを求めて該第1のタップに係る特徴量を取得する特徴量取得工程と、クラス分類工程で得られたクラスコード、特徴量取得工程で取得されたダイナミックレンジからなる特徴量、第2のタップ抽出工程で抽出された第2のタップ、および第2の情報信号についての、それぞれ第2のタップ抽出工程で抽出される第2のタップに対応して複数個の情報データをコンポーネントとする複数個の代表ベクトルを用いて、クラスコードおよび特徴量の組み合わせのそれぞれに、複数個の代表ベクトルから選択された一個の代表ベクトルを割り当ててデータ生成用コードブックを生成するコードブック生成工程とを有し、クラス分類工程には、第1のクラスタップ抽出工程で抽出された第1のタップに含まれる情報データをコンポーネントとするタップベクトルを、クラス分類用コードブックを用いて、ベクトル量子化し、該第1のタップに対応したクラスコードを得る処理が含まれるものである。
【0027】
また、この発明に係るプログラムは、上述したコードブック生成方法をコンピュータに実行させるためのものである。
【0028】
この発明においては、第1の情報信号を第2の情報信号に変換する際に使用されるデータ生成用コードブックを生成するものである。ここで、第1の情報信号から第2の情報信号への変換は、第1の情報信号を分割して得られる複数個の情報データからなるブロック毎に、このブロックに含まれる情報データからなるクラスタップのクラスコードおよびダイナミックレンジからなる特徴量を用いて、第2の情報信号を構成する複数個の情報データをコンポーネントとする代表ベクトルを求めることで行われる。
【0029】
第1の情報信号に対応した生徒信号を分割して得られる複数個の情報データからなる各第1のブロックに含まれる情報データが第1のタップとして抽出される。また、第2の情報信号に対応した教師信号を、第1のブロックに対応して分割することにより得られる複数個の情報データからなる各第2のブロックに含まれる情報データが第2のタップとして抽出される。
【0030】
そして、この第1のタップを、当該各タップの信号値に基づいて複数のクラスのうちのいずれかのクラスに分類して、該ブロックの特徴を表すクラスコードが得られる。例えば、第1のタップに含まれる情報データをコンポーネントとするタップベクトルが、クラス分類用コードブックを用いて、ベクトル量子化され、この第1のタップに対応したクラスコードが得られる。
【0031】
また、第1のタップ内の画素データの最大値と最小値との差分であるダイナミックレンジを求めて該第1のタップに係る特徴量が取得される。この特徴量は、第1のタップ内の情報データのダイナミックレンジの他、分散値、標準偏差、波形パターン、あるいはタップベクトルとクラスコードに対応したコードベクトルとの差分データ等とされる。
【0032】
そして、上述したように第1のタップに基づいて得られたクラスコードおよび特徴量、第2のタップ、および第2の情報信号についての、それぞれ第2のタップに対応して複数個の情報データをコンポーネントとする複数個の代表ベクトルを用いて、クラスコードおよび特徴量の組み合わせのそれぞれに、複数個の代表ベクトルから選択された一個の代表ベクトルを割り当てることで、データ生成用コードブックが生成される。
【0033】
例えば、クラスコードおよび特徴量の組み合わせ毎に、その組み合わせに該当する複数の第1のタップに対応した複数の第2のタップのそれぞれについて該第2のタップに含まれる情報データと代表ベクトル内のコンポーネントとの誤差が求められ、この求められた複数の誤差が加算されて誤差和が得られ、これが複数個の代表ベクトル分だけ繰り返され、誤差和を最小にする代表ベクトルがその組み合わせに割り当てられる。
【0034】
これにより、この発明によれば、第1の情報信号を画素数の多い第2の情報信号に変換する際に使用されるコードブックであって、第1の情報信号を分割して得られる複数個の情報データからなるブロック毎に、クラスコードおよびダイナミックレンジからなる特徴量の組み合わせに、第2の情報信号についての代表ベクトルとしてのコードベクトルを割り当てたデータ生成用コードブックを良好に生成できる。
【0035】
【発明の実施の形態】
以下、図面を参照しながら、この発明の実施の形態について説明する。図1は、実施の形態としての画像信号処理装置100の構成を示している。この画像信号処理装置100は、低解像度または標準解像度の画像信号(以下、「SD(Standard Definition)信号」という)を、高解像度の画像信号(以下、「HD(High Definition )信号に変換する。
【0036】
図2は、SD信号とHD信号の画素位置関係を示している。「×」がSD信号の画素位置を表し、「○」がHD信号の画素位置を表している。この場合、SD信号の2画素にHD信号の4画素が対応している。
【0037】
図1に戻って、画像信号処理装置100は、タップ抽出部101を有している。このタップ抽出部101には、変換対象としてのSD信号が供給される。このSD信号は、複数個の8ビットの画素データからなるものである。タップ抽出部101は、SD信号を複数個、本実施の形態においては水平方向に隣接する2個の画素データp1,p2からなるブロックに分割し(図2参照)、ブロック毎に、このブロックに含まれる画素データp1,p2をクラスタップとして抽出する。
【0038】
また、画像信号処理装置100は、クラス分類部102を有している。このクラス分類部102は、タップ抽出部101で抽出されたクラスタップを複数のクラスのうちのいずれかのクラスに分類し、このクラスタップに対応したクラスコードを求める。
【0039】
このクラス分類部102は、例えばクラスタップに含まれる画素データp1,p2をコンポーネントとするタップベクトル(p1,p2)を、クラス分類用コードブックを用いて、ベクトル量子化し、クラスタップに対応したクラスコードを求める。クラス分類部102は、例えば、図3に示すように、コードブック記憶部102aおよびベクトル量子化部102bからなっている。
【0040】
コードブック記憶部102aには、予め求められたクラス分類用コードブックが記憶されている。このクラス分類用コードブックは、図4に示すように、複数のクラスのそれぞれについて、各クラスを代表する、SD信号についての代表ベクトルとしてのSDコードベクトル(P1,P2)に、対応するクラスを示すクラスコード(SDコード)#cを割り当てた割り当て情報である。
【0041】
本実施の形態において、ベクトル量子化の対象となるタップベクトル(p1,p2)が二次元ベクトルであるので、SDコードベクトル(P1,P2)も二次元ベクトルである。クラス分類用コードブックの生成方法については後述する。
【0042】
ベクトル量子化部102bは、コードブック記憶部102aに記憶されているクラス分類用コードブックに基づいて、上述したタップベクトル(p1,p2)と複数のクラスのSDコードベクトル(P1,P2)それぞれとの間の距離を求め、この距離を最小にするSDコードベクトル(P1,P2)に割り当てられたクラスコード#cを出力する。
【0043】
図1に戻って、また、画像信号処理装置100は、特徴量取得部103を有している。この特徴量取得部103は、タップ抽出部101で抽出されるクラスタップに基づいて、このクラスタップに係る特徴量を取得する。この特徴量は、例えばクラスタップ内の画素データのダイナミックレンジDRである。このダイナミックレンジDRは、クラスタップ内の画素データの最大値と最小値との差分である。なお、特徴量は、上述したダイナミックレンジDRの他に、クラスタップ内の画素データの分散値、標準偏差、波形パターン、あるいはタップベクトルとクラスコードに対応したコードベクトルとの差分データ等であってもよい。
【0044】
また、画像信号処理装置100は、データ生成部104を有している。このデータ生成部104は、クラス分類部102で得られたクラスコードおよび特徴量取得部103で取得された特徴量を用いて、タップ抽出部101で抽出されたクラスタップに対応した、HD信号を構成する複数個、本実施の形態においては水平方向に隣接する4個の画素データq1〜q4(図2参照)を生成する。
【0045】
このデータ生成部104は、例えばクラスコードおよびダイナミックレンジからなる特徴量の組み合わせに、HD信号についての代表ベクトルとしてのコードベクトルを割り当てたデータ生成用コードブックを用いて、このクラスコードをベクトル逆量子化し、HD信号を構成する4個の画素データq1〜q4をコンポーネントとするHDコードベクトル(q1,q2,q3,q4)を得る。データ生成部104は、例えば、図3に示すように、コードブック記憶部104aおよびベクトル逆量子化部104bからなっている。
【0046】
コードブック記憶部104aには、予め求められたデータ生成用コードブックが記憶されている。このデータ生成用コードブックは、図5に示すように、クラスコードおよび特徴量の組み合わせに、HD信号についての代表ベクトルとしてのHDコードベクトル(Q1,Q2,Q3,Q4)を割り当てた割り当て情報である。図5において、HDコード#Cは、HDコードベクトル(Q1,Q2,Q3,Q4)に対応するクラスコードである。
【0047】
なお、図5に示すデータ生成用コードブックにおいては、特徴量がダイナミックレンジDRである場合の例である。またこの例では、特徴量は、各SDコード#cに対して2個あるいは3個で切り分けられているが、この切り分け数はこれに限定されるものではない。この切り分け数は、特徴量を一番細かいところで設定しておいて、対応するHDコードベクトル(Q1,Q2,Q3,Q4)が同じくなれば結合していき、最終的に結合できなくなった数として定義することもできる。
【0048】
本実施の形態において、ベクトル逆量子化で得られるHDコードベクトル(q1,q2,q3,q4)が四次元ベクトルであるので、HDコードベクトル(Q1,Q2,Q3,Q4)も四次元ベクトルである。データ生成用コードブックの生成方法については後述する。
【0049】
ベクトル量子化部104bは、コードブック記憶部104aに記憶されているデータ生成用コードブックを用いて、クラス分類部102で得られたクラスコードおよび特徴量取得部103で取得された特徴量の組み合わせに割り当てられているHDコードベクトル(Q1,Q2,Q3,Q4)を求め、これをHDコードベクトル(q1,q2,q3,q4)として出力する。
【0050】
次に、図1の画像信号処理装置100の動作を説明する。
SD信号がタップ抽出部101に供給される。タップ抽出部101では、SD信号が、水平方向に隣接する2個の画素データからなるブロックに分割され、ブロック毎に、このブロックに含まれる画素データp1,p2(図2参照)がクラスタップとして抽出される。
【0051】
クラスタップ抽出部101で抽出されたクラスタップは、クラス分類部102および特徴量取得部103に供給される。クラス分類部102では、クラスタップが複数のクラスのうちのいずれかのクラスに分類され、このクラスタップに対応したクラスコードが得られる。この場合、例えばクラスタップに含まれる画素データp1,p2をコンポーネントとするタップベクトル(p1,p2)が、クラス分類用コードブックを用いて、ベクトル量子化され、クラスタップに対応したクラスコードが得られる。
【0052】
また、特徴量取得部103では、クラスタップ内の画素データの最大値と最小値との差分を求めて、このクラスタップに係る特徴量、例えばクラスタップ内の画素データのダイナミックレンジDRが取得される。
【0053】
クラス分類部102で得られたクラスコードおよび特徴量取得部103で取得された特徴量は、データ生成部104に供給される。このデータ生成部104では、クラスコードおよび特徴量の組み合わせに、HD信号についての代表ベクトルとしてのコードベクトルを割り当てたデータ生成用コードブックが用いられて、タップ抽出部101で抽出されたクラスタップに対応した、HD信号を構成する4個の画素データq1〜q4(図2参照)が生成される。
【0054】
この場合、このクラスコードが、データ生成用コードブックを用いられて、ベクトル逆量子化され、HD信号を構成する4個の画素データq1〜q4をコンポーネントとするHDコードベクトル(q1,q2,q3,q4)が得られる。
【0055】
このように、図1に示す画像信号処理装置100においては、SD信号をHD信号に変換する際に、SD信号を分割して得られる2個の画素データp1,p2からなるブロック毎に、このブロックに含まれる画素データからなるクラスタップのクラスコードおよびダイナミックレンジからなる特徴量を用いて、HD信号を構成する4個の画素データq1〜q4を生成するものであり、クラスコードのみに基づく場合に比べて適切な変換処理を行うことができ、SD信号をHD信号に良好に変換できる。この画像信号処理装置100は、例えば、テレビ受信機、画像信号再生装置等の画像信号を出力する装置等に適用できる。
【0056】
次に、上述したコードブック記憶部102aに記憶されるクラス分類用コードブックおよびコードブック記憶部104aに記憶されるデータ生成用コードブックの生成について説明する。
【0057】
図6は、クラス分類用コードブック及びデータ生成用コードブックを生成するコードブック生成装置200の構成を示している。
このコードブック生成装置200は、学習用データベース201を有している。この学習用データベース201には、HD信号に対応した教師信号としての学習用画像信号が記憶されている。
【0058】
また、コードブック生成装置200は、第1のタップ抽出手段としての生徒データ生成部202を有している。この生徒データ生成部202は、学習用画像信号(教師信号)の画素データ数を水平方向に1/2となるように間引きフィルタ(ローパスフィルタ)を用いて間引き、SD信号に対応した生徒信号を得、この生徒信号を水平方向に隣接する2個の画素データp1,p2(図2参照)からなる第1のブロックに分割し、ブロック毎に、この第1のブロックに含まれる画素データを第1のタップ(生徒データ)として抽出する。
【0059】
また、コードブック生成装置200は、第2のタップ抽出手段としての教師データ生成部203を有している。この教師データ生成部203は、学習用画像信号(教師信号)を、上述した生徒データ生成部202で分割して得られる第1のブロックに対応した、水平方向に隣接する4個の画素データq1〜q4(図2参照)からなる第2のブロックに分割し、ブロック毎に、この第2のブロックに含まれる画素データを第2のタップ(教師データ)として抽出する。
【0060】
ここで、生徒データ生成部202で抽出される一個の第1のタップ(生徒データ)と、これに対応する、教師データ生成部203で抽出される一個の第2のタップ(教師データ)とで、一個の学習対が構成される。このコードブック生成装置200では、複数個の学習対を用いて、クラス分類用コードブックおよびデータ生成用コードブックが生成される。
【0061】
なお、生徒データ生成部202は、学習用画像信号(教師信号)の画素データ数を水平方向に1/2となるように間引いてSD信号に対応した生徒信号を得て用いるものであるが、学習用データベース201にSD信号に対応した生徒信号としての学習用画像信号も記憶しておき、この学習用画像信号(生徒信号)を用いる構成としてもよい。
【0062】
また、コードブック生成装置200は、クラス分類部204を有している。このクラス分類部204は、生徒データ生成部202で抽出される第1のタップを複数のクラスのうちのいずれかのクラスに分類し、この第1のタップに対応したクラスコードを求める。
【0063】
このクラス分類部204は、例えば第1のタップに含まれる画素データp1,p2をコンポーネントとするタップベクトル(p1,p2)を、クラス分類用コードブックを用いて、ベクトル量子化し、第1のタップに対応したクラスコードを求める。クラス分類部204は、クラス分類用コードブック生成部204aおよびベクトル量子化部204bからなっている。
【0064】
クラス分類用コードブック生成部204aには、生徒データ生成部202で抽出される第1のタップが供給される。このコードブック生成部204aは、第1のタップに含まれる2個の画素データp1,p2をコンポーネントとするタップベクトル(p1,p2)を用いて、例えばLBG(Linde Buzo Gray)アルゴリズムに従い、クラス分類用コードブックを生成する。
【0065】
このクラス分類用コードブックは、コードブック生成部204aに内蔵された記憶部204cに記憶され、必要に応じてこの記憶部204cから読み出されて使用される。このクラス分類用コードブックは、上述の図3のコードブック記憶部102aに記憶されて使用されるものであり、図4に示すように、複数のクラスのそれぞれについて、各クラスを代表する、SD信号についての代表ベクトルとしてのSDコードベクトル(P1,P2)に、対応するクラスを示すクラスコード(SDコード)#cを割り当てた割り当て情報である。
【0066】
ベクトル量子化部204bは、上述の図3のベクトル量子化部102bと同様に構成されており、コードブック生成部204aの記憶部204cに記憶されているクラス分類用コードブックを用いて、上述したタップベクトル(p1,p2)と、複数のクラスのSDコードベクトル(P1,P2)それぞれとの間の距離を求め、この距離を最小にするSDコードベクトル(P1,P2)に割り当てられたクラスコード#cを出力する。
【0067】
また、コードブック生成装置200は、特徴量取得部205を有している。この特徴量取得部205は、上述の図1、図3の特徴量取得部103と同様に構成されており、生徒データ生成部202で抽出される第1のタップに係る特徴量を取得する。この特徴量は、例えばクラスタップ内の画素データのダイナミックレンジDR等である。
【0068】
また、コードブック生成装置200は、コードブック生成部206を有している。このコードブック生成部206には、教師データ生成部203で抽出される第2のタップが供給される。このコードブック生成部206は、第2のタップに含まれる4個の画素データq1〜q4をコンポーネントとするタップベクトル(q1,q2,q3,q4)を用いて、例えばLBGアルゴリズムに従い、HD信号に係るコードブックを生成する。
【0069】
このコードブックは、図7に示すように、複数のクラスのそれぞれについて、各クラスを代表する、HD信号についての代表ベクトルとしてのHDコードベクトル(Q1,Q2,Q3,Q4)に、対応するクラスを示すクラスコード(HDコード)#Cを割り当てた割り当て情報である。このコードブックは、HD信号についてのクラス分類用コードブックに相当する。このコードブックは、コードブック生成部206に内蔵された記憶部206aに記憶され、必要に応じてこの記憶部206aから読み出されて使用される。
【0070】
また、コードブック生成装置200は、コードブック生成手段としての最適リンク検出部207を有している。この最適リンク検出部207は、クラス分類部204で得られたクラスコード、特徴量取得部205で取得された特徴量、教師データ生成部203で抽出された第2のタップ、およびコードブック生成部206で生成されたコードブックを用いて、クラスコードおよびダイナミックレンジからなる特徴量の組み合わせのそれぞれに、複数個のHDコードベクトル(Q1,Q2,Q3,Q4)から選択された一個のHDコードベクトル(Q1,Q2,Q3,Q4)を割り当ててデータ生成用コードブックを生成する。
【0071】
この最適リンク検出部207で生成されたデータ生成用コードブックは、この最適リンク検出部207に内蔵された記憶部207aに記憶され、必要に応じてこの記憶部207aから読み出されて使用される。このデータ生成用コードブックは、上述の図3のコードブック記憶部104aに記憶されて使用されるものであり、図5に示すように、クラスコードおよび特徴量の組み合わせに、HD信号についての代表ベクトルとしてのHDコードベクトル(Q1,Q2,Q3,Q4)を割り当てた割り当て情報である。
【0072】
この場合、最適リンク検出部207は、具体的には、例えば以下のような処理をする。すなわち、クラスコードおよび特徴量の組み合わせ毎に、その組み合わせに該当する、つまりその組み合わせのクラスコードおよび特徴量が得られる複数の第1のタップに対応した複数の第2のタップのそれぞれについてこの第2のタップに含まれる画素データq1〜q4とHDコードベクトル(Q1,Q2,Q3,Q4)のコンポーネントQ1〜Q4との間で誤差(例えば、画素データ毎の差分をそれぞれ自乗して加算した差分自乗和)を求め、この求められた複数の誤差を加算して誤差和を得ることを、複数個のHDコードベクトル分だけ繰り返し、誤差和を最小にするHDコードベクトル(Q1,Q2,Q3,Q4)を、その組み合わせに割り当てる。
【0073】
ここで、ある組み合わせとなる第1のタップがM個存在するとして、そのm番目の第1のタップに対応した第2のタップに含まれる画素データをq1(m)〜q4(m)と表すこととする。この場合、ある一個のHDコードベクトル(Q1,Q2,Q3,Q4)に対応した誤差和は、例えば(1)式で表される。ここで、Σはmを1からMに変えてのサメーションを表している。
誤差和=Σ{(q1(m)−Q1)2+(q2(m)−Q2)2+(q3(m)−Q3)2+(q4(m)−Q4)2}・・・(1)
【0074】
次に、図6に示すコードブック生成装置200の動作を説明する。
学習用データベース201に記憶されているHD信号に対応した教師信号としての学習用画像信号が生徒データ生成部202に供給される。この生徒データ生成部202では、学習用画像信号(教師信号)に基づいて、第1のタップが抽出される。
【0075】
すなわち、学習用画像信号の画素データ数が水平方向に1/2となるように間引きフィルタを用いて間引かれ、SD信号に対応した生徒信号が得られ、さらにこの生徒信号が水平方向に隣接する2個の画素データp1,p2(図2参照)からなる第1のブロックに分割され、ブロック毎に、この第1のブロックに含まれる画素データが第1のタップ(生徒データ)として抽出される。
【0076】
また、学習用データベース201に記憶されているHD信号に対応した教師信号としての学習用画像信号が教師データ生成部203に供給される。この教師データ生成部203では、学習用画像信号(教師信号)に基づいて、第2のタップが抽出される。すなわち、学習用画像信号(教師信号)が、上述した生徒データ生成部202で分割して得られる第1のブロックに対応した、水平方向に隣接する4個の画素データq1〜q4(図2参照)からなる第2のブロックに分割され、ブロック毎に、この第2のブロックに含まれる画素データが第2のタップ(教師データ)として抽出される。
【0077】
生徒データ生成部202で抽出された第1のタップはクラス分類部204を構成するクラス分類用コードブック生成部204aに供給される。このコードブック生成部204aでは、第1のタップに含まれる2個の画素データp1,p2をコンポーネントとするタップベクトル(p1,p2)を用いて、例えばLBGアルゴリズムに従い、クラス分類用コードブック(図4参照)が生成される。
【0078】
このクラス分類用コードブックは、上述の図3のコードブック記憶部102aに記憶されて使用されるものである。このクラス分類用コードブックは、コードブック生成部204aに内蔵された記憶部204cに記憶され、必要に応じてこの記憶部204cから読み出されて使用される。
【0079】
また、教師データ生成部203で抽出された第2のタップはコードブック生成部206に供給される。このコードブック生成部206は、第2のタップに含まれる4個の画素データq1〜q4をコンポーネントとするタップベクトル(q1,q2,q3,q4)を用いて、例えばLBGアルゴリズムに従い、コードブック(図7参照)が生成される。このコードブックは、コードブック生成部206に内蔵された記憶部206aに記憶され、必要に応じてこの記憶部206aから読み出されて使用される。
【0080】
また、生徒データ生成部202で抽出された第1のタップは、クラス分類部204を構成するベクトル量子化部204bに供給される。クラス分類部204では、第1のタップが複数のクラスのうちのいずれかのクラスに分類され、この第1のタップに対応したクラスコードが得られる。すなわち、ベクトル量子化部204bでは、第1のタップに含まれる画素データp1,p2をコンポーネントとするタップベクトル(p1,p2)が、コードブック生成部204aの記憶部204cに記憶されているクラス分類用コードブックを用いて、ベクトル量子化され、第1のタップに対応したクラスコードが得られる。
【0081】
また、生徒データ生成部202で抽出された第1のタップは、特徴量取得部205に供給される。特徴量取得部205では、第1のタップに係る特徴量、例えば第1のタップ内の画素データのダイナミックレンジDRが取得される。
【0082】
ベクトル量子化部204bで得られたクラスコードおよび特徴量取得部205で取得された特徴量は、最適リンク検出部207に供給される。また、この最適リンク検出部207には、教師データ生成部203で抽出された第2のタップおよびコードブック生成部206の記憶部206aに記憶されたコードブックも供給される。
【0083】
最適リンク検出部207では、クラスコード、特徴量、第2のタップ、およびコードブックを用いて、クラスコードおよびダイナミックレンジからなる特徴量の組み合わせのそれぞれに、複数個のHDコードベクトル(Q1,Q2,Q3,Q4)から選択された一個のHDコードベクトル(Q1,Q2,Q3,Q4)が割り当てられてデータ生成用コードブック(図5参照)が生成される。
【0084】
この場合、クラスコードおよび特徴量の組み合わせ毎に、その組み合わせに該当する複数の第1のタップに対応した複数の第2のタップのそれぞれについてこの第2のタップに含まれる画素データq1〜q4とHDコードベクトル(Q1,Q2,Q3,Q4)のコンポーネントQ1〜Q4との間で誤差が求められ、この求められた複数の誤差が加算されて誤差和((1)式参照)が得られ、これが複数個のHDコードベクトル分だけ繰り返され、誤差和を最小にするHDコードベクトル(Q1,Q2,Q3,Q4)がその組み合わせに割り当てられる。
【0085】
このデータ生成用コードブックは、上述の図3のコードブック記憶部104aに記憶されて使用されるものである。このデータ生成用コードブックは、コードブック生成部207に内蔵された記憶部207aに記憶され、必要に応じてこの記憶部207aから読み出されて使用される。
【0086】
このように、図6に示すコードブック生成装置200によれば、図1の画像信号処理装置100で使用されるクラス分類用コードブックおよびデータ生成用コードブックを良好に生成できる。
【0087】
なお、図6に示すコードブック生成装置200においては、クラス分類部204のクラス分類用コードブック生成部204aおよびコードブック生成部206では、例えばLBGアルゴリズムに従い、コードブックを生成するものを示したが、このコードブックを、ベクトル量子化に用いられるコードブック生成に利用される手法以外の手法で生成してもよい。
【0088】
すなわち、クラス分類用コードブックは、例えば、図8に示すようにして生成することが可能である。
【0089】
ここで、図8においては、第1のタップに含まれる2個の画素データp1,p2を表現する2次元空間(SD画像空間)が格子状に区切られることにより、矩形状の領域r(i,j)が構成されている、なお、図8では、画素データp1,p2の画素値が、それぞれ横軸と縦軸に取られている。
【0090】
本実施の形態では、画素データp1,p2は、上述したように、8ビットのデータであるから、SD画像空間における横軸および縦軸が取り得る値は、0〜255(=28−1)である。また、図8において、r(i,j)は、SD画像空間において、左からi番目で、下からj番目の領域を表し、各領域r(i,j)には、クラスを表すユニークなクラスコード#cが割り当てられている。
【0091】
クラス分類用コードブック生成部204aは、各領域r(i,j)について、その領域r(i,j)内に含まれる第1のタップを求め、さらに、例えば、それらの第1のタップの重心を求める。すなわち、いま、領域r(i,j)内に含まれる第1のタップがK個あり、そのk番目の第1のタップを、(p1,r(i,j)(k),p2,r(i,j)(k))と表すと、クラス分類用コードブック生成部204aは、(Σp1,r(i,j)(k)/K,Σp,r(i,j)(k)/K)で表される、領域r(i,j)に割り当てられたクラスコード#cの第1のタップの重心を求める。ここで、Σは、kを1からKに変えてのサメーションを表している。
【0092】
そして、クラス分類用コードブック生成部204aは、クラスコード#cの第1のタップの重心を、そのクラスコード#cで表されるクラスを代表する、SD信号についてのSDコードベクトル(P1,P2)として、クラスコード#cに対応付ける。これにより、図4に示すような、クラス分類用コードブックが生成される。
【0093】
なお、詳細説明は省略するが、コードブック生成部206で生成されるコードブック(図7参照)についても、上述したクラス分類用コードブックと同様にして生成できる。
【0094】
その場合には、第2のタップに含まれる4個の画素データq1〜q4を表現する4次元空間(HD画像空間)が区切られることにより、領域r(i,j,s,t)が構成される。
【0095】
この場合、r(i,j,s,t)は、HD画像空間において、画像データq1の画素値の軸ではi番目で、画像データq2の画素値の軸ではj番目で、画像データq3の画素値の軸ではs番目で、画像データq4の画素値の軸ではt番目の領域を表し、各領域r(i,j,s,t)には、クラスを表すユニークなクラスコード#Cが割り当てられる。
【0096】
コードブック生成部206は、各領域r(i,j,s,t)について、その領域r(i,j,s,t)内に含まれる第2のタップを求め、それらの第2のタップの重心を求める。そして、コードブック生成部206は、クラスコード#Cの第2のタップの重心を、そのクラスコード#Cで表されるクラスを代表する、HD信号についてのHDコードベクトル(Q1,Q2,Q3,Q4)として、クラスコード#Cに対応付ける。これにより、図7に示すような、コードブックが生成される。
【0097】
なお、上述した図1の画像信号処理装置100における処理を、例えば図9に示すような画像信号処理装置(コンピュータ)500によって、ソフトウェアにより行うこともできる。
【0098】
まず、図9に示す画像信号処理装置500について説明する。この画像信号処理装置500は、装置全体の動作を制御するCPU501と、このCPU501の制御プログラムやコードブック等が格納されたROM(Read Only Memory)502と、CPU501の作業領域を構成するRAM(Random Access Memory)503とを有している。これらCPU501、ROM502およびRAM503は、それぞれバス504に接続されている。
【0099】
また、画像信号処理装置500は、外部記憶装置としてのハードディスクドライブ(HDD)505と、フレキシブルディスク、CD−ROM(Compact Disc Read only Memory)、MO(Magneto Optical)ディスク、DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体を取り扱うドライブ506とを有している。これらドライブ505,506は、それぞれバス504に接続されている。
【0100】
また、画像信号処理装置500は、インターネット等の通信網507に有線または無線で接続する通信部508を有している。この通信部508は、インタフェース509を介してバス504に接続されている。
【0101】
また、画像信号処理装置500は、ユーザインタフェース部を備えている。このユーザインタフェース部は、リモコン送信機510からのリモコン信号RMを受信するリモコン信号受信回路511と、CRT(Cathode-Ray Tube)、LCD(liquid Crystal Display)等からなるディスプレイ513とを有している。受信回路511はインタフェース512を介してバス504に接続され、同様にディスプレイ513はインタフェース514を介してバス504に接続されている。
【0102】
また、画像信号処理装置500は、SD信号を入力するための入力端子515と、HD信号を出力するための出力端子517とを有している。入力端子515はインタフェース516を介してバス504に接続され、同様に出力端子517はインタフェース518を介してバス504に接続される。
【0103】
ここで、上述したようにROM502に制御プログラムやコードブック等を予め格納しておく代わりに、例えばインターネットなどの通信網507より通信部508を介してダウンロードし、ハードディスクドライブ505やRAM303に格納して使用することもできる。また、これら制御プログラムやコードブック等をリムーバブル記録媒体で提供するようにしてもよい。
【0104】
また、処理すべきSD信号を入力端子515より入力する代わりに、リムーバブル記録媒体で供給し、あるいはインターネットなどの通信網507より通信部508を介してダウンロードしてもよい。また、処理後のHD信号を出力端子517に出力する代わり、あるいはそれと並行してディスプレイ513に供給して画像表示をしたり、さらにはハードディスクドライブ505に格納したり、通信部508を介してインターネットなどの通信網507に送出するようにしてもよい。
【0105】
図10のフローチャートを参照して、図9に示す画像信号処理装置500における、SD信号からHD信号を得るための処理手順を説明する。
【0106】
まず、ステップST11で、処理を開始し、ステップST12で、例えば入力端子515より装置内に1フレーム分または1フィールド分のSD信号を入力する。このように入力されるSD信号はRAM503に一時的に記憶される。
【0107】
そして、ステップST13で、SD信号の全フレームまたは全フィールドの処理が終わっているか否かを判定する。処理が終わっているときは、ステップST14で、処理を終了する。一方、処理が終わっていないときは、ステップST15に進む。
【0108】
ステップST15では、SD信号が、水平方向に隣接する2個の画素データからなるブロックに分割され、ブロック毎に、このブロックに含まれる画素データp1,p2(図2参照)がクラスタップとして抽出される。
【0109】
そして、ステップST16で、クラスタップを複数のクラスのうちのいずれかのクラスに分類してクラスコードを求める。この場合、クラスタップに含まれる画素データp1,p2をコンポーネントとするタップベクトル(p1,p2)を、ROM502に格納されているクラス分類用コードブック(図4参照)を用いて、ベクトル量子化し、クラスタップに対応したクラスコードを求める。
【0110】
次に、ステップST17で、クラスタップに係る特徴量、例えばクラスタップ内の画素データp1,p2のダイナミックレンジDRを取得する。
【0111】
次に、ステップST18で、ステップST16で得られたクラスコードおよびステップST17で取得されたダイナミックレンジからなる特徴量を用いて、ステップST15で抽出されたクラスタップに対応した、HD信号を構成する4個の画素データq1〜q4(図2参照)を生成する。この場合、このクラスコードを、ROM502に格納されているデータ生成用コードブック(図5参照)を用いて、ベクトル逆量子化し、HD信号を構成する4個の画素データq1〜q4をコンポーネントとするHDコードベクトル(q1,q2,q3,q4)を求める。
【0112】
次に、ステップST19で、ステップST12で入力された1フレーム分または1フィールド分のSD信号の画素データの全領域において、HD信号の画素データを得る処理が終了したか否かを判定する。終了しているときは、ステップST12に戻り、次の1フレーム分または1フィールド分のSD信号の入力処理に移る。一方、処理が終了していないときは、ステップST15に戻って、次のクラスタップについての処理に移る。
【0113】
このように、図10に示すフローチャートに沿って処理をすることで、入力されたSD信号の画素データを処理して、HD信号の画素データを得ることができる。このように処理して得られたHD信号は出力端子517に出力されたり、ディスプレイ513に供給されてそれによる画像が表示されたり、さらにはハードディスクドライブ505に供給されて記録されたりする。
【0114】
また、処理装置の図示は省略するが、図6に示すコードブック生成装置200における処理も、ソフトウェアにより行うこともできる。
【0115】
図11のフローチャートを参照して、クラス分類用コードブックおよびデータ生成用コードブックを生成するための処理手順を説明する。
まず、ステップST21で処理を開始し、ステップST22で、HD信号に対応した教師信号を1フレーム分または1フィールド分だけ入力する。そして、ステップST23で、ステップST22で入力された教師信号から、SD信号に対応した生徒信号を生成する。この場合、HD信号に対応した教師信号の画素データ数を水平方向に1/2となるように間引いて、SD信号に対応した生徒信号を生成する。
【0116】
次に、ステップST24で、ステップST23で生成された生徒信号を第1のタップ(生徒データ)として抽出する。この場合、生徒信号を水平方向に隣接する2個の画素データp1,p2(図2参照)からなる第1のブロックに分割し、ブロック毎に、この第1のブロックに含まれる画素データを第1のタップとして抽出する。
【0117】
次に、ステップST25で、ステップST22で入力された教師信号を第2のタップ(教師データ)として抽出する。この場合、教師信号を、上述したステップST24で分割して得られる第1のブロックに対応した、水平方向に隣接する4個の画素データq1〜q4(図2参照)からなる第2のブロックに分割し、ブロック毎に、この第2のブロックに含まれる画素データを第2のタップとして抽出する。
【0118】
このステップST24およびステップST25の処理により、1フレーム分または1フィールド分の教師信号および生徒信号から、複数対の学習データが生成される。因みに、一個の学習データは、一個の第1のタップ(生徒データ)および一個の第2のタップ(教師データ)で構成される。
【0119】
次に、ステップST26で、教師信号の全フレームまたは全フィールドの処理が終了したか否かを判定する。終了していないときは、ステップST22に戻って、次の1フレーム分または1フィールド分の教師信号の入力を行って、上述したと同様の処理を繰り返す。一方、終了しているときは、ステップST27に進む。
【0120】
ステップST27では、クラス分類用コードブックを生成する。この場合、ステップST22〜ステップST26の処理で生成された複数対の学習データを構成する複数の第1のタップ(生徒データ)に基づき、この第1のタップに含まれる2個の画素データp1,p2をコンポーネントとするタップベクトル(p1,p2)を用いて、例えばLBGアルゴリズムに従い、クラス分類用コードブックを生成する。
【0121】
このクラス分類用コードブックは、図4に示すように、複数のクラスのそれぞれについて、各クラスを代表する、SD信号についての代表ベクトルとしてのSDコードベクトル(P1,P2)に、対応するクラスを示すクラスコード(SDコード)#cを割り当てた割り当て情報である。
【0122】
次に、ステップST28で、HD信号に係るコードブックを生成する。この場合、ステップST22〜ステップST26の処理で生成された複数対の学習データを構成する複数の第2のタップ(教師データ)に基づき、この第2のタップに含まれる4個の画素データq1〜q4をコンポーネントとするタップベクトル(q1,q2,q3,q4)を用いて、例えばLBGアルゴリズムに従い、コードブックを生成する。
【0123】
このクラスコードは、図7に示すように、複数のクラスのそれぞれについて、各クラスを代表する、HD信号についての代表ベクトルとしてのHDコードベクトル(Q1,Q2,Q3,Q4)に、対応するクラスを示すクラスコード(HDコード)#Cを割り当てた割り当て情報である。
【0124】
次に、ステップST29で、ステップST22〜ステップST26の処理で生成された複数対の学習データを構成する複数の第1のタップ(生徒データ)に基づき、各第1のタップを複数のクラスのうちのいずれかのクラスに分類し、各第1のタップに対応したクラスコードを求める。
【0125】
この場合、第1のタップに含まれる画素データp1,p2をコンポーネントとするタップベクトル(p1,p2)を、ステップST27で生成されたクラス分類用コードブックを用いて、ベクトル量子化し、第1のタップに対応したクラスコード#cを求める。
【0126】
次に、ステップST30で、ステップST22〜ステップST26の処理で生成された複数対の学習データを構成する複数の第1のタップ(生徒データ)に基づき、各第1のタップに係る特徴量、例えば第1タップ内の画素データのダイナミックレンジを取得する。
【0127】
次に、ステップST31で、ステップST22〜ステップST26の処理で生成された複数対の学習データ、ステップST28で生成されたコードブック(図7参照)、ステップST29およびステップST30で生成された複数対の学習データを構成する各第1のタップ(生徒データ)に対応したクラスコード#cおよび特徴量#aを用いてデータ作成用コードブックを生成し、ステップST32で、処理を終了する。
【0128】
なおここで、特徴量#aは、ステップST30で取得される特徴量の最も細かな切り分けにおける、各切り分け範囲の番号を示している。例えば、特徴量がダイナミックレンジDRで、このダイナミックレンジDRが0〜255の範囲にあって、最も細かな切り分けが「1」毎に行われる場合、切り分け範囲は256個存在し、従って特徴量#aは0〜255に変化していく。
【0129】
このデータ生成用コードブックは、図5に示すように、クラスコード#cおよび特徴量#aの組み合わせのそれぞれに、ステップST28で生成されたコードブック(図7参照)に登録されている複数個のHDコードベクトル(Q1,Q2,Q3,Q4)から選択された一個のHDコードベクトル(Q1,Q2,Q3,Q4)が割り当てられた割り当て情報である。
【0130】
ステップST31の処理では、クラスコード#cおよび特徴量#aの組み合わせ毎に、その組み合わせに該当する複数の第1のタップに対応した複数の第2のタップのそれぞれについてこの第2のタップに含まれる画素データq1〜q4とHDコードベクトル(Q1,Q2,Q3,Q4)のコンポーネントQ1〜Q4との間で誤差を求め、この求められた複数の誤差を加算して誤差和((1)式参照)を得ることを、複数個のHDコードベクトル分だけ繰り返し、誤差和を最小にするHDコードベクトル(Q1,Q2,Q3,Q4)を、その組み合わせに割り当てる。
【0131】
すなわち、まず、ステップST41で、クラスコード(SDコード)#cを0に設定し、ステップST42で、特徴量#aを0に設定し、ステップST43で、クラスコード(HDコード)#Cを0に設定する。
【0132】
そして、ステップST44で、設定されたクラスコード#cおよび特徴量#aの組み合わせにおける、設定されたクラスコード#Cに対応した誤差和を算出する。この場合、設定されたクラスコード#cおよび特徴量#aの組み合わせに該当する複数の第1のタップに対応した複数の第2のタップのそれぞれについてこの第2のタップに含まれる画素データq1〜q4と、設定されたクラスコード#Cに対応したHDコードベクトル(Q1,Q2,Q3,Q4)のコンポーネントQ1〜Q4との間で誤差を求め、この求められた複数の誤差を加算して誤差和を求める。
【0133】
次に、ステップST45で、設定されたクラスコード#cおよび特徴量#aの組み合わせにおける、全てのクラスコード(HDコード)#Cに対応した誤差和を算出する処理が終了したか否かを判定する。処理が終了していないときは、ステップST46で、クラスコード#Cをインクリメントし、その後にステップST44に戻り、設定されたクラスコード#cおよび特徴量#aの組み合わせにおける、次のクラスコード#Cに対応した誤差和を得る処理に移る。一方、処理が終了したときは、ステップST47に進む。
【0134】
ステップST47では、設定されたクラスコード(SDコード)#cと全ての特徴量#aとの組み合わせにおける、全てのクラスコード(HDコード)#Cに対応した誤差和を算出する処理が終了したか否かを判定する。処理が終了していないときは、ステップST48で、特徴量#aをインクリメントし、その後にステップST43に戻り、設定されたクラスコード(SDコード)#cと次の特徴量#aとの組み合わせにおける、全てのクラスコード(HDコード)#Cに対応した誤差和を得る処理に移る。一方、処理が終了したときは、ステップST49に進む。
【0135】
ステップST49では、全てのクラスコード(SDコード)#cで、全ての特徴量#aとの組み合わせにおける、全てのクラスコード(HDコード)#Cに対応した誤差和を算出する処理が終了したか否かを判定する。処理が終了していないときは、ステップST50で、クラスコード#cをインクリメントし、その後にステップST42に戻り、次のクラスコード(SDコード)#cで、全ての特徴量#aとの組み合わせにおける、全てのクラスコード(HDコード)#Cに対応した誤差和を得る処理に移る。一方、処理が終了したときは、ステップST51に進む。
【0136】
ステップST49で、処理が終了したと判定されるとき、クラスコード#cおよび特徴量#aの各組み合わせにおける、全てのクラスコード(HDコード)#Cに対応した誤差和が得られている。ステップST51では、クラスコード#cおよび特徴量#aの組み合わせ毎に、誤差和を最小とするクラスコード#Cに対応したHDコードベクトル(Q1,Q2,Q3,Q4)を求め、これをその組み合わせに割り当て、データ生成用コードブック(図5参照)を生成する。
【0137】
このように、図11に示すフローチャートに沿って処理をすることで、図6に示すコードブック生成装置200と同様の手法によって、クラス分類用コードブックおよびデータ生成用コードブックを生成できる。
【0138】
なお、図1に示す画像信号処理装置100においては、SD信号を、水平方向に隣接する2個の画素データからなるブロックに分割し、ブロック毎に、このブロックに含まれる画素データp1,p2(図2参照)をクラスタップとして抽出し、このクラスタップ毎に、HD信号を構成する水平方向に隣接する4個の画素データq1〜q4(図2参照)を生成するものであるが、クラスタップおよびこのクラスタップに対応して生成されるHD信号の画素データの個数や配置はこれに限定されるものではない。すなわち、クラスタップに含まれる画素データの個数は2個に限定されるものではなく、さらに水平方向に隣接していなくてもよい。また、クラスタップに対応して生成されるHD信号の画素データは4個の限定されるものではなく、さらに水平方向に隣接していなくてもよい。
【0139】
また、図1に示す画像信号処理装置100においては、クラスタップに含まれる画素データp1,p2をコンポーネントとするタップベクトル(p1,p2)を、クラス分類用コードブックを用いて、ベクトル量子化し、クラスタップに対応したクラスコードを求めるものを示したが、クラスタップに対応したクラスコードを求める手法は、これに限定されるものではない。すなわち、このクラス分類を、クラスタップを構成する画素データそのもの、あるいはそれを加工して得られたデータ、例えば隣接する画素データどうしの差分値に、上述したADRC処理等を施して求めることも可能である。その場合、図6に示すコードブック生成装置200におけるクラス分類部204も同様の構成とする。
【0140】
また、図1に示す画像信号処理装置100においては、クラスコードをデータ生成用コードブックを用いて、ベクトル逆量子化し、HD信号を構成する4個の画素データq1〜q4をコンポーネントとするHDコードベクトル(q1,q2,q3,q4)を得るものを示したが、クラスコードおよびダイナミックレンジからなる特徴量に対応した、HD信号を構成する画素データを生成する手法は、これに限定されるものではない。例えば、クラスコードおよび特徴量から、所定の関係式をもってHD信号を構成する画素データを算出することも可能である。この場合、所定の関係式の係数は、予め学習により生成することができる。
【0141】
また、図1に示す画像信号処理装置100においては、SD信号を水平方向に画素数を2倍としたHD信号に変換するものを示したが、画素数を増やす方向は、水平方向に限定されるものではなく、垂直方向、さらには時間方向(フレーム方向)も考えられる。また、逆に、HD信号から画素数を減らしたSD信号を得る場合にも、この発明を同様に適用できる。すなわち、この発明は、一般に第1の画像信号を、この第1の画像信号と同一または異なる画素数の第2の画像信号に変換する場合に適用できる。
【0142】
また、上述実施の形態においては、複数個の情報データからなる情報信号が、複数個の画素データからなる画像信号であるものを示したが、この発明は情報信号がその他、例えば音声信号であるものにも同様に適用できる。音声信号の場合、複数個のサンプルデータからなっている。
【0143】
【発明の効果】
この発明に係る情報信号処理装置、情報信号処理方法およびプログラムによれば、複数個の情報データからなる第1の情報信号をサンプルの画素数の多い複数個の情報データからなる第2の情報信号に変換する際に、本発明に係るコードブック作成装置、コードブック作成方法およびプログラムによって作成されたデータ生成用コードブックが使用されるので、第1の情報信号を高解像度の第2の情報信号に良好に変換できるようになる
【図面の簡単な説明】
【図1】画像信号処理装置の構成を示すブロック図である。
【図2】SD信号とHD信号の画素位置関係を示す図である。
【図3】クラス分類部およびデータ生成部の構成を示すブロック図である。
【図4】クラス分類用コードブックの一例を示す図である。
【図5】データ生成用コードブックの一例を示す図である。
【図6】コードブック生成装置の構成を示すブロック図である。
【図7】HD信号に係るコードブックの一例を示す図である。
【図8】コードブック生成方法の他の例を説明するための図である。
【図9】ソフトウェアで実現するための画像信号処理装置の構成を示すブロック図である。
【図10】画像信号処理を示すフローチャートである。
【図11】コードブック生成処理を示すフローチャートである。
【符号の説明】
100・・・画像信号処理装置、101・・・タップ抽出部、102・・・クラス分類部、102a・・・コードブック記憶部、102b・・・ベクトル量子化部、103・・・特徴量取得部、104・・・データ生成部、104a・・・コードブック記憶部、104b・・・ベクトル逆量子化部、200・・・コードブック生成装置、201・・・学習用データベース、202・・・生徒データ生成部、203・・・教師データ生成部、204・・・クラス分類部、204a・・・クラス分類用コードブック生成部、204b・・・ベクトル量子化部、204c・・・記憶部、205・・・特徴量取得部、206・・・コードブック生成部、206a・・・記憶部、207・・・最適リンク検出部、207a・・・記憶部、500・・・画像信号処理装置
[0001]
BACKGROUND OF THE INVENTION
The present invention can be applied to, for example, a standard television signal (SD signal) corresponding to a standard or low resolution into a high resolution signal (HD signal), an information signal processing apparatus, a processing method, and a code suitable for use. The present invention relates to a book generation apparatus and generation method, and a program for executing each method.
[0002]
Specifically, the present invention provides a first information signal comprising a plurality of information data. More sample pixels than the first information signal It is obtained by dividing the first information signal when converting to the second information signal composed of a plurality of information data. Double For each block consisting of several pieces of information data, the class tap class code consisting of the information data contained in this block and Consisting of dynamic range Feature value Using Configure the second information signal Double By generating several pieces of information data, the first information signal is High resolution The present invention relates to an information signal processing apparatus or the like that can be favorably converted into a second information signal.
[0003]
[Prior art]
For example, there is an image signal processing method for classifying an image signal into one of a plurality of classes and performing processing corresponding to the class (Patent Document 1 and Patent Document 2). reference).
[0004]
According to such an image signal processing method, for example, when class classification is performed based on the activity of the image signal, an image signal with a high activity such as a rapidly changing image signal and an activity such as a flat image signal Image signals with low activity can be classified into different classes, and as a result, it is possible to perform processing suitable for image signals with high activity and image signals with low activity.
[0005]
[Patent Document 1]
JP-A-7-95591
[Patent Document 2]
JP 2000-59740 A
[0006]
[Problems to be solved by the invention]
According to the image signal processing for class classification as described above, image signal processing suitable for the image signal of the class can be performed for each image signal classified into each class. Therefore, theoretically, the larger the number of classes, the more suitable processing can be performed on the image signals classified into each class. However, when the number of classes becomes enormous, the pattern of processing performed according to the class becomes enormous, which means that the apparatus becomes larger.
[0007]
For example, as described above, when classifying based on an activity, the same class as the number of values that the activity can take is prepared, and the image signal of each activity is assigned to the activity. Appropriate treatment can be performed. However, as an activity, for example, when N difference values between adjacent pixels arranged in a horizontal direction are adopted, if the difference value is K bits, the total number of classes is (2 K ) N It becomes a huge number of classes.
[0008]
For this reason, the classification is performed using some kind of compression processing such as ADRC (Adaptive Dynamic Range Coding). In class classification using ADRC, for example, as described above, N difference values as data used for class classification (hereinafter referred to as “class tap” as appropriate) are subjected to ADRC processing and obtained as a result. Class determination is performed according to the ADRC code.
[0009]
In the K-bit ADRC, for example, the maximum value MAX and the minimum value MIN of the data values constituting the class tap are detected, and DR = MAX−MIN is set as the local dynamic range of the set, and this dynamic range DR The minimum value MIN is subtracted from the data values constituting the class tap based on K Divide by (quantize). Then, a bit string in which the K bit values for the data constituting the class tap obtained in the above manner are arranged in a predetermined order is output as an ADRC code.
[0010]
Therefore, when a class tap is subjected to, for example, 1-bit ADRC processing, each data constituting the class tap is divided by (MAX−MIN) / 2 after the minimum value MIN is subtracted. Each data is 1 bit. A bit string in which the 1-bit data is arranged in a predetermined order is output as an ADRC code.
[0011]
Here, the classification can be performed by, for example, vector quantization in addition to the ADRC process. As described above, when class classification is performed using compression processing, the number of classes can be reduced. On the other hand, however, it may not be possible to perform fine classification as compared with the case where classification is performed without performing compression processing, and appropriate processing may not be performed on the image signal.
[0012]
For example, consider image signal processing that classifies a first image signal using vector quantization and generates a second image signal for each class.
[0013]
In this case, the first image signal is divided into a plurality of blocks of pixel data, and for each block, a vector having a plurality of pixel data constituting the block as components (hereinafter, referred to as “block vector” as appropriate). Composed. Further, the block vector is subjected to vector quantization using a code book obtained in advance, and a code (symbol) as the vector quantization result is output as a class code representing the class of the block vector.
[0014]
Then, pixel data of the second image signal is generated for each class code. That is, the class code is subjected to vector inverse quantization using the code book, and a block vector corresponding to the class code is obtained. A block including the component of the block vector as pixel data is obtained, and the second image signal is generated by arranging the block at a corresponding position.
[0015]
However, if the second image signal obtained by vector inverse quantization is called a high-quality image signal and the first image signal to be vector-quantized is called a low-quality image signal, In the processing, all the block vectors of the low-quality image signal that are vector-quantized to the same class code are vector-inverted to the same code vector, that is, the block vector of the same high-quality image signal. Quantized. That is, a block vector obtained by vector inverse quantization has a so-called quantization error. Therefore, even though the image signal generated by the above-described processing has a high image quality, if the image quality of the high-quality image signal used for creating the code book for vector inverse quantization is used, the quantization error component Only the image quality is degraded.
[0016]
An object of the present invention is to satisfactorily convert a first information signal into a second information signal.
[0017]
[Means for Solving the Problems]
The information signal processing apparatus according to the present invention converts a first information signal made up of a plurality of information data into a second information signal made up of a plurality of information data having a larger number of sample pixels than the first information signal. An information signal processing device for conversion, wherein the first information signal is divided into blocks each composed of a plurality of information data, and for each block, class tap extraction means for extracting the information data contained in the block as a class tap. , The class tap extracted by this class tap extraction means , Based on the signal value of each tap Classify into one of several classes , Representing the characteristics of the block A class classification unit that obtains a class code, and a feature that obtains a feature amount related to the class tap by obtaining a dynamic range that is a difference between the maximum value and the minimum value of the pixel data in the class tap extracted by the class tap extraction unit The representative vector assigned to the combination of the feature quantity consisting of the class code obtained by the quantity acquisition means and the class classification means and the dynamic range obtained by the feature quantity acquisition means is obtained from the data generation codebook, and is used as a class tap. Corresponding data generating means for generating a plurality of pieces of information data constituting the second information signal. The class classification means vector-quantizes a tap vector having information data included in the class tap extracted by the class tap extraction means as a component using a class classification codebook, and class corresponding to the class tap. Get the code Is.
[0018]
In the information signal processing method according to the present invention, the first information signal composed of a plurality of pieces of information data is converted into a second information composed of a plurality of pieces of information data having a larger number of sample pixels than the first information signal. An information signal processing method for converting to a signal, wherein the first information signal is divided into blocks each composed of a plurality of information data, and for each block, the information data included in the block is extracted as a class tap. Process and the class tap extracted in this class tap extraction process , Based on the signal value of each tap Classify into one of several classes , Representing the characteristics of the block A feature for obtaining a feature amount related to a class tap by obtaining a dynamic range that is a difference between a maximum value and a minimum value of pixel data in the class tap extracted in the class tap extraction step and a class classification step for obtaining a class code The representative vector assigned to the combination of the feature quantity consisting of the class code obtained in the quantity acquisition process, the class classification process, and the dynamic range obtained in the feature quantity acquisition process is obtained from the data generation codebook, and is assigned to the class tap. A corresponding data generation step for generating a plurality of information data constituting the second information signal. In the class classification process, the tap vector having the information data included in the class tap extracted in the class tap extraction process as a component is vector quantized using the class classification codebook, and the class tap is supported. Includes processing to get the class code Is.
[0019]
A program according to the present invention is for causing a computer to execute the above information signal processing method.
[0020]
In the present invention, a first information signal composed of a plurality of information data is converted into a second information signal composed of a plurality of information data. Here, the information signal is, for example, an image signal composed of a plurality of pixel data (sample data) or an audio signal composed of a plurality of sample data.
[0021]
A 1st information signal is divided | segmented into the block which consists of several information data, and the information data contained in this block are extracted as a class tap for every block. And this class tap , Based on the signal value of each tap Classified into one of several classes , Representing the characteristics of the block A class code is obtained. For example, a tap vector having information data included in a class tap as a component is vector quantized using a data generation code book, and a class code corresponding to the class tap is obtained.
[0022]
Further, based on the class tap, the feature amount related to the class tap is acquired. This feature amount is the dynamic range, variance value, standard deviation, waveform pattern, or difference data between the tap vector and the code vector corresponding to the class code.
[0023]
Then, as described above, the class code and feature amount obtained based on the class tap Using, Configure the second information signal corresponding to the class tap Ru A plurality of information data is generated. For example ,this The class code is For data generation The second information signal is dequantized using the code book to form the second information signal. Double A code vector having several pieces of information data as components is obtained. This code book is obtained by learning in advance.
[0024]
Thus, the present invention provides a first information signal comprising a plurality of information data. More sample pixels than the first information signal It is obtained by dividing the first information signal when converting to the second information signal composed of a plurality of information data. Double For each block consisting of several pieces of information data, the class tap class code consisting of the information data contained in this block and Consisting of dynamic range Feature value The representative vector assigned to the combination of is obtained from the data generation codebook, Configure the second information signal Double Since several pieces of information data are generated, it is possible to perform an appropriate conversion process as compared with the case based on only the class code, and to convert the first information signal into the second information signal satisfactorily.
[0025]
In the code book generating device according to the present invention, the first information signal composed of a plurality of information data is converted into a second information composed of a plurality of information data having a larger number of sample pixels than the first information signal. A class book of class taps composed of information data included in a block for each block composed of a plurality of information data obtained by dividing the first information signal, which is a code book used for conversion into a signal Dividing a student signal corresponding to a first information signal in a codebook generation device for generating a data generation codebook in which a code vector as a representative vector for a second information signal is assigned to a combination of a code and a feature amount The information data contained in each first block made up of a plurality of information data obtained as a first tap is extracted as a first tap. The information data included in each second block made up of a plurality of pieces of information data obtained by dividing the loop extraction means and the teacher signal corresponding to the second information signal corresponding to the first block A second tap extracting means for extracting the first tap extracted by the first tap extracting means. , Based on the signal value of each tap Classify into one of several classes , Representing the characteristics of the block A class classification unit that obtains a class code, and a dynamic range that is a difference between the maximum value and the minimum value of the pixel data in the first tap extracted by the first tap extraction unit is obtained to relate to the first tap. A plurality of feature data acquisition means for acquiring a feature quantity and a plurality of information data components corresponding to the second taps extracted by the second tap extraction means for the second information signal, respectively; Storage means for storing representative vectors; class code obtained by class classification means; feature quantity consisting of dynamic range obtained by feature quantity acquisition means; second tap extracted by second tap extraction means; and storage One selected from a plurality of representative vectors for each combination of class code and feature quantity based on a plurality of representative vectors stored in the means A codebook generating means for generating data generating codebooks assign a representative vector The class classification means vector-quantizes the tap vector having the information data contained in the first tap extracted by the first class tap extraction means as a component using a class classification codebook, Get the class code corresponding to the tap Is.
[0026]
In the code book generating method according to the present invention, the first information signal composed of a plurality of information data is converted into a second information composed of a plurality of information data having a larger number of sample pixels than the first information signal. A class book of class taps composed of information data included in a block for each block composed of a plurality of information data obtained by dividing the first information signal, which is a code book used for conversion into a signal Dividing a student signal corresponding to a first information signal in a codebook generation method for generating a databook codebook in which a code vector as a representative vector for a second information signal is assigned to a combination of a code and a feature amount A first tag for extracting, as a first tap, information data included in each first block composed of a plurality of information data obtained in the above manner. Information data contained in each second block consisting of a plurality of information data obtained by dividing the teacher signal corresponding to the second information signal and the teacher signal corresponding to the first block. A second tap extraction step for extracting the first tap, and the first tap extracted in the first tap extraction step. , Based on the signal value of each tap Classify into one of several classes , Representing the characteristics of the block A class classification step for obtaining a class code, and a dynamic range that is a difference between the maximum value and the minimum value of the pixel data in the first tap extracted in the first tap extraction step is obtained to relate to the first tap. Feature quantity acquisition step for acquiring feature quantity, class code obtained in class classification process, feature quantity consisting of dynamic range obtained in feature quantity acquisition process, second tap extracted in second tap extraction process And a plurality of representative vectors having a plurality of pieces of information data as components corresponding to the second tap extracted in the second tap extraction step, respectively, for the second information signal, A code that generates a data generation codebook by assigning one representative vector selected from a plurality of representative vectors to each combination of feature quantities Yes and click generating step In the class classification step, a tap vector having the information data included in the first tap extracted in the first class tap extraction step as a component is vector quantized using a class classification codebook, Includes a process to get the class code corresponding to the first tap Is.
[0027]
A program according to the present invention is for causing a computer to execute the above-described code book generation method.
[0028]
In the present invention, it is used when converting the first information signal into the second information signal. For data generation Generate a code book. Here, the conversion from the first information signal to the second information signal is obtained by dividing the first information signal. Double For each block consisting of several pieces of information data, the class tap class code consisting of the information data contained in this block and Consisting of dynamic range Feature value Using Configure the second information signal Double This is done by obtaining a representative vector whose components are several pieces of information data.
[0029]
Obtained by dividing the student signal corresponding to the first information signal Double Information data included in each first block made up of several pieces of information data is extracted as a first tap. Also, the teacher signal corresponding to the second information signal is divided corresponding to the first block. By Obtained Double Information data included in each second block made up of several pieces of information data is extracted as a second tap.
[0030]
And this first tap , Based on the signal value of each tap Classify into one of several classes , Representing the characteristics of the block A class code is obtained. For example, a tap vector having information data included in the first tap as a component is subjected to vector quantization using a class classification code book, and a class code corresponding to the first tap is obtained.
[0031]
The first tap The dynamic range that is the difference between the maximum value and the minimum value of the pixel data in A feature amount related to one tap is acquired. This feature amount is the dynamic range of the information data in the first tap. And The variance value, standard deviation, waveform pattern, or difference data between the tap vector and the code vector corresponding to the class code are used.
[0032]
As described above, the class code and the feature amount obtained based on the first tap, the second tap, and the second information signal respectively correspond to the second tap. Double Multiple representative vectors whose components are several pieces of information data Using By assigning one representative vector selected from a plurality of representative vectors to each combination of class code and feature quantity, For data generation A codebook is generated.
[0033]
For example, for each combination of a class code and a feature amount, information data included in the second tap and a representative vector for each of a plurality of second taps corresponding to the plurality of first taps corresponding to the combination. An error with the component is obtained, and the obtained plurality of errors are added to obtain an error sum, which is repeated for a plurality of representative vectors, and a representative vector that minimizes the error sum is assigned to the combination. .
[0034]
Thus, according to the present invention, the first information signal is Many pixels To the second information signal A codebook used for conversion, Obtained by dividing the first information signal Double For each block consisting of several pieces of information data, a class code and Consisting of dynamic range Feature value For data generation in which a code vector as a representative vector for the second information signal is assigned to the combination of Good codebook generation.
[0035]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 shows a configuration of an image signal processing apparatus 100 as an embodiment. The image signal processing apparatus 100 converts a low resolution or standard resolution image signal (hereinafter referred to as “SD (Standard Definition) signal”) into a high resolution image signal (hereinafter referred to as “HD (High Definition) signal”).
[0036]
FIG. 2 shows a pixel position relationship between the SD signal and the HD signal. “X” represents the pixel position of the SD signal, and “◯” represents the pixel position of the HD signal. In this case, four pixels of the HD signal correspond to two pixels of the SD signal.
[0037]
Returning to FIG. 1, the image signal processing apparatus 100 includes a tap extraction unit 101. The tap extraction unit 101 is supplied with an SD signal as a conversion target. This SD signal is composed of a plurality of 8-bit pixel data. The tap extraction unit 101 is an SD signal Duplicate In this embodiment, the pixel data is divided into blocks composed of two pieces of pixel data p1 and p2 adjacent in the horizontal direction (see FIG. 2), and the pixel data p1 and p2 included in this block are classified into classes for each block. Extract as a tap.
[0038]
In addition, the image signal processing apparatus 100 includes a class classification unit 102. The class classification unit 102 is a cluster cluster extracted by the tap extraction unit 101. Duplicate A class code corresponding to this class tap is obtained by classifying the class into one of a number of classes.
[0039]
The class classifying unit 102 vector quantizes a tap vector (p1, p2) having, for example, pixel data p1 and p2 included in a class tap as components, using a class classification codebook, and class corresponding to the class tap. Ask for code. For example, as shown in FIG. 3, the class classification unit 102 includes a codebook storage unit 102a and a vector quantization unit 102b.
[0040]
The code book storage unit 102a stores a class classification code book obtained in advance. As shown in FIG. 4, the class classification code book includes a class corresponding to an SD code vector (P1, P2) as a representative vector for an SD signal representing each class for each of a plurality of classes. This is assignment information to which the class code (SD code) #c shown is assigned.
[0041]
In the present embodiment, since the tap vector (p1, p2) to be vector quantized is a two-dimensional vector, the SD code vector (P1, P2) is also a two-dimensional vector. A method for generating the class classification code book will be described later.
[0042]
Based on the class classification code book stored in the code book storage unit 102a, the vector quantization unit 102b performs the tap vector (p1, p2) described above. )When Multiple classes of SD code vectors (P1, P2) Between each The distance is obtained, and the class code #c assigned to the SD code vector (P1, P2) that minimizes the distance is output.
[0043]
Returning to FIG. 1, the image signal processing apparatus 100 includes a feature amount acquisition unit 103. The feature quantity acquisition unit 103 acquires a feature quantity related to the class tap based on the class tap extracted by the tap extraction unit 101. This feature amount is, for example, the dynamic range DR of the pixel data in the class tap. The dynamic range DR is a difference between the maximum value and the minimum value of the pixel data in the class tap. In addition to the dynamic range DR described above, the feature amount is a dispersion value of pixel data in a class tap, a standard deviation, a waveform pattern, difference data between a tap vector and a code vector corresponding to the class code, or the like. Also good.
[0044]
In addition, the image signal processing apparatus 100 includes a data generation unit 104. The data generation unit 104 includes the class code obtained by the class classification unit 102 and the feature amount acquired by the feature amount acquisition unit 103. Using The HD signal corresponding to the class tap extracted by the tap extraction unit 101 is configured. Double In the present embodiment, several pieces of pixel data q1 to q4 (see FIG. 2) adjacent in the horizontal direction are generated.
[0045]
For example, the data generation unit 104 includes a class code and Consisting of dynamic range Feature value Is assigned a code vector as a representative vector for the HD signal. This class code is used using the data generation code book. The An inverse code quantization is performed to obtain an HD code vector (q1, q2, q3, q4) having four pixel data q1 to q4 constituting an HD signal as components. For example, as shown in FIG. 3, the data generation unit 104 includes a codebook storage unit 104a and a vector inverse quantization unit 104b.
[0046]
The code book storage unit 104a stores a data generation code book obtained in advance. As shown in FIG. 5, this data generation code book is allocation information in which HD code vectors (Q1, Q2, Q3, Q4) as representative vectors for HD signals are assigned to combinations of class codes and feature amounts. is there. In FIG. 5, HD code #C is a class code corresponding to an HD code vector (Q1, Q2, Q3, Q4).
[0047]
Note that the data generation code book shown in FIG. 5 is an example in which the feature amount is the dynamic range DR. In this example, the feature amount is divided into two or three for each SD code #c. However, the number of division is not limited to this. The number of divisions is determined as the number of features that are set at the finest and are combined when the corresponding HD code vectors (Q1, Q2, Q3, Q4) are the same, and finally cannot be combined. It can also be defined.
[0048]
In the present embodiment, since the HD code vector (q1, q2, q3, q4) obtained by vector inverse quantization is a four-dimensional vector, the HD code vector (Q1, Q2, Q3, Q4) is also a four-dimensional vector. is there. A method for generating the data generation code book will be described later.
[0049]
The vector quantization unit 104b is a code book for data generation stored in the code book storage unit 104a. Using The HD code vector (Q1, Q2, Q3, Q4) assigned to the combination of the class code obtained by the class classification unit 102 and the feature quantity obtained by the feature quantity obtaining unit 103 is obtained, and this is obtained as an HD code vector. Output as (q1, q2, q3, q4).
[0050]
Next, the operation of the image signal processing apparatus 100 of FIG. 1 will be described.
The SD signal is supplied to the tap extraction unit 101. In the tap extraction unit 101, the SD signal is divided into blocks composed of two pieces of pixel data adjacent in the horizontal direction, and pixel data p1 and p2 (see FIG. 2) included in this block are used as class taps for each block. Extracted.
[0051]
The class tap extracted by the class tap extraction unit 101 is supplied to the class classification unit 102 and the feature amount acquisition unit 103. In the class classification unit 102, the cluster Duplicate A class code corresponding to this class tap is obtained by classifying into any one of a number of classes. In this case, for example, the tap vectors (p1, p2) having the pixel data p1, p2 included in the class tap as components are subjected to vector quantization using the class classification code book, and a class code corresponding to the class tap is obtained. It is done.
[0052]
In addition, the feature amount acquisition unit 103 uses a class tap. Find the difference between the maximum and minimum pixel data in The feature amount related to the class tap, for example, the dynamic range DR of the pixel data in the class tap is acquired.
[0053]
The class code obtained by the class classification unit 102 and the feature quantity acquired by the feature quantity acquisition unit 103 are supplied to the data generation unit 104. In this data generation unit 104, a class code and a feature amount A code book for data generation in which a code vector as a representative vector for an HD signal is assigned to the combination of Four pixel data q1 to q4 (see FIG. 2) constituting the HD signal corresponding to the class tap extracted by the tap extraction unit 101 are generated.
[0054]
This place This Class code uses the data generation codebook Is Thus, an HD code vector (q1, q2, q3, q4) having four pixel data q1 to q4 constituting the HD signal as components is obtained.
[0055]
As described above, in the image signal processing apparatus 100 shown in FIG. 1, when the SD signal is converted into the HD signal, for each block including the two pieces of pixel data p1 and p2 obtained by dividing the SD signal, Class code of class tap consisting of pixel data included in the block and Consisting of dynamic range Feature value Using , Which generates four pixel data q1 to q4 constituting an HD signal, can perform an appropriate conversion process as compared with a case based only on a class code, and can convert an SD signal into an HD signal satisfactorily. . The image signal processing apparatus 100 can be applied to an apparatus that outputs an image signal, such as a television receiver or an image signal reproduction apparatus.
[0056]
Next, the generation of the class classification code book stored in the code book storage unit 102a and the data generation code book stored in the code book storage unit 104a will be described.
[0057]
FIG. 6 shows a configuration of a code book generating apparatus 200 that generates a class classification code book and a data generation code book.
The code book generating apparatus 200 has a learning database 201. The learning database 201 stores a learning image signal as a teacher signal corresponding to the HD signal.
[0058]
In addition, the code book generating device 200 includes a student data generating unit 202 as a first tap extracting unit. The student data generation unit 202 thins out the number of pixel data of the learning image signal (teacher signal) using a thinning filter (low-pass filter) so that the number of pixel data is halved in the horizontal direction, and obtains a student signal corresponding to the SD signal. The student signal is divided into a first block composed of two pieces of pixel data p1 and p2 (see FIG. 2) adjacent in the horizontal direction, and the pixel data included in the first block is divided into the first block for each block. Extracted as one tap (student data).
[0059]
In addition, the code book generation device 200 includes a teacher data generation unit 203 as a second tap extraction unit. The teacher data generation unit 203 includes four pieces of pixel data q1 adjacent in the horizontal direction corresponding to the first block obtained by dividing the learning image signal (teacher signal) by the student data generation unit 202 described above. Is divided into second blocks each consisting of q4 (see FIG. 2), and pixel data included in the second block is extracted as a second tap (teacher data) for each block.
[0060]
Here, one first tap (student data) extracted by the student data generation unit 202 and one second tap (teacher data) extracted by the teacher data generation unit 203 corresponding thereto. A learning pair is constructed. In the code book generation device 200, a class classification code book and a data generation code book are generated using a plurality of learning pairs.
[0061]
The student data generation unit 202 obtains and uses a student signal corresponding to the SD signal by thinning out the number of pixel data of the learning image signal (teacher signal) so as to be ½ in the horizontal direction. A learning image signal as a student signal corresponding to the SD signal may also be stored in the learning database 201, and the learning image signal (student signal) may be used.
[0062]
In addition, the code book generation apparatus 200 includes a class classification unit 204. The class classification unit 204 is a first tag extracted by the student data generation unit 202. Duplicate A class code corresponding to the first tap is obtained by classifying the class into any one of the classes.
[0063]
The class classification unit 204 vector-quantizes a tap vector (p1, p2) having, for example, pixel data p1 and p2 included in the first tap as components, using a class classification codebook, and outputs the first tap. The class code corresponding to is obtained. The class classification unit 204 includes a class classification code book generation unit 204a and a vector quantization unit 204b.
[0064]
The first tap extracted by the student data generation unit 202 is supplied to the class classification code book generation unit 204a. The code book generation unit 204a uses a tap vector (p1, p2) having two pixel data p1 and p2 included in the first tap as components, for example, according to an LBG (Linde Buzo Gray) algorithm. Generate a codebook for use.
[0065]
The class classification code book is stored in a storage unit 204c built in the code book generation unit 204a, and is read from the storage unit 204c and used as necessary. This class classification code book is used by being stored in the code book storage unit 102a of FIG. 3 described above. As shown in FIG. 4, an SD representing each class for each of a plurality of classes. This is assignment information in which a class code (SD code) #c indicating a corresponding class is assigned to an SD code vector (P1, P2) as a representative vector for a signal.
[0066]
The vector quantization unit 204b is configured in the same manner as the vector quantization unit 102b of FIG. 3 described above, and the class classification code book stored in the storage unit 204c of the code book generation unit 204a. Using, Tap vector (p1, p2) )When, Multiple classes of SD code vectors (P1, P2) Between each And the class code #c assigned to the SD code vector (P1, P2) that minimizes the distance is output.
[0067]
In addition, the code book generating apparatus 200 includes a feature amount acquisition unit 205. The feature amount acquisition unit 205 is configured in the same manner as the feature amount acquisition unit 103 of FIGS. 1 and 3 described above, and the first tap extracted by the student data generation unit 202 is used. To The feature amount is acquired. This feature amount is, for example, the dynamic range DR of the pixel data in the class tap.
[0068]
In addition, the code book generating apparatus 200 includes a code book generating unit 206. The code book generator 206 is supplied with the second tap extracted by the teacher data generator 203. The code book generation unit 206 uses the tap vector (q1, q2, q3, q4) whose components are the four pixel data q1 to q4 included in the second tap, for example, in accordance with the LBG algorithm. Generate such a codebook.
[0069]
As shown in FIG. 7, this code book includes a class corresponding to an HD code vector (Q1, Q2, Q3, Q4) as a representative vector for an HD signal representing each class for each of a plurality of classes. This is assignment information to which a class code (HD code) #C indicating the assignment is assigned. This code book corresponds to a class classification code book for HD signals. The code book is stored in a storage unit 206a built in the code book generation unit 206, and is read from the storage unit 206a and used as necessary.
[0070]
In addition, the code book generating apparatus 200 includes an optimum link detecting unit 207 as a code book generating unit. The optimum link detection unit 207 includes a class code obtained by the class classification unit 204, a feature amount obtained by the feature amount acquisition unit 205, a second tap extracted by the teacher data generation unit 203, and a code book generation unit. Code book generated in 206 Using, Class code and Consisting of dynamic range A code book for data generation is assigned by assigning one HD code vector (Q1, Q2, Q3, Q4) selected from a plurality of HD code vectors (Q1, Q2, Q3, Q4) to each combination of feature amounts. Generate.
[0071]
The data generation code book generated by the optimum link detection unit 207 is stored in the storage unit 207a built in the optimum link detection unit 207, and is read from the storage unit 207a and used as necessary. . This data generation code book is used by being stored in the code book storage unit 104a of FIG. 3 described above, and, as shown in FIG. This is assignment information in which HD code vectors (Q1, Q2, Q3, Q4) as vectors are assigned.
[0072]
In this case, the optimum link detection unit 207 specifically performs the following processing, for example. That is, for each combination of the class code and the feature amount, each of the plurality of second taps corresponding to the combination, that is, the plurality of second taps corresponding to the plurality of first taps from which the class code and the feature amount of the combination are obtained. Error between the pixel data q1 to q4 included in the 2 taps and the components Q1 to Q4 of the HD code vector (Q1, Q2, Q3, Q4) (for example, the difference obtained by squaring the difference for each pixel data) The sum of squares) is obtained, and the sum of the obtained plurality of errors is obtained to obtain an error sum by a plurality of HD code vectors, and HD code vectors (Q1, Q2, Q3, which minimize the error sum) are obtained. Q4) is assigned to the combination.
[0073]
Here, assuming that there are M first taps in a certain combination, the pixel data included in the second tap corresponding to the m-th first tap is represented as q1 (m) to q4 (m). I will do it. In this case, the error sum corresponding to a single HD code vector (Q1, Q2, Q3, Q4) is expressed by, for example, equation (1). Here, Σ represents the summation with m changed from 1 to M.
Error sum = Σ {(q1 (m) −Q1) 2 + (Q2 (m) -Q2) 2 + (Q3 (m) -Q3) 2 + (Q4 (m) -Q4) 2 } ... (1)
[0074]
Next, the operation of the code book generating apparatus 200 shown in FIG. 6 will be described.
A learning image signal as a teacher signal corresponding to the HD signal stored in the learning database 201 is supplied to the student data generation unit 202. In the student data generation unit 202, the first tap is extracted based on the learning image signal (teacher signal).
[0075]
That is, thinning is performed using a thinning filter so that the number of pixel data of the learning image signal is halved in the horizontal direction, a student signal corresponding to the SD signal is obtained, and the student signal is adjacent in the horizontal direction. Are divided into a first block composed of two pieces of pixel data p1 and p2 (see FIG. 2), and pixel data included in the first block is extracted as a first tap (student data) for each block. The
[0076]
Further, a learning image signal as a teacher signal corresponding to the HD signal stored in the learning database 201 is supplied to the teacher data generation unit 203. In the teacher data generation unit 203, the second tap is extracted based on the learning image signal (teacher signal). That is, four pieces of pixel data q1 to q4 adjacent to the horizontal direction corresponding to the first block obtained by dividing the learning image signal (teacher signal) by the student data generation unit 202 described above (see FIG. 2). ), And pixel data included in the second block is extracted as a second tap (teacher data) for each block.
[0077]
The first tap extracted by the student data generation unit 202 is supplied to the class classification code book generation unit 204 a constituting the class classification unit 204. The code book generation unit 204a uses a tap vector (p1, p2) whose components are two pieces of pixel data p1, p2 included in the first tap, for example, according to the LBG algorithm (see FIG. 4) is generated.
[0078]
This class classification code book is stored and used in the code book storage unit 102a of FIG. 3 described above. The class classification code book is stored in a storage unit 204c built in the code book generation unit 204a, and is read from the storage unit 204c and used as necessary.
[0079]
The second tap extracted by the teacher data generation unit 203 is supplied to the code book generation unit 206. The code book generation unit 206 uses a tap vector (q1, q2, q3, q4) having four pixel data q1 to q4 included in the second tap as components, for example, according to the LBG algorithm, Is generated). The code book is stored in a storage unit 206a built in the code book generation unit 206, and is read from the storage unit 206a and used as necessary.
[0080]
Further, the first tap extracted by the student data generation unit 202 is supplied to the vector quantization unit 204 b constituting the class classification unit 204. In the class classification unit 204, the first tap Is The class code corresponding to the first tap is obtained. That is, in the vector quantization unit 204b, the tap classification (p1, p2) having the pixel data p1 and p2 included in the first tap as components is stored in the storage unit 204c of the codebook generation unit 204a. The class code corresponding to the first tap is obtained by vector quantization using the code book.
[0081]
Further, the first tap extracted by the student data generation unit 202 is supplied to the feature amount acquisition unit 205. In the feature amount acquisition unit 205, the first touch In charge For example, the dynamic range DR of the pixel data in the first tap.
[0082]
The class code obtained by the vector quantization unit 204b and the feature quantity acquired by the feature quantity acquisition unit 205 are supplied to the optimum link detection unit 207. Further, the optimum link detection unit 207 is also supplied with the second tap extracted by the teacher data generation unit 203 and the code book stored in the storage unit 206a of the code book generation unit 206.
[0083]
In the optimum link detection unit 207, the class code, the feature amount, the second tap, and the code book Using , Class code and Consisting of dynamic range One HD code vector (Q1, Q2, Q3, Q4) selected from a plurality of HD code vectors (Q1, Q2, Q3, Q4) is assigned to each combination of feature amounts, and a data generation codebook (See FIG. 5) is generated.
[0084]
In this case, for each combination of the class code and the feature amount, pixel data q1 to q4 included in the second tap for each of the plurality of second taps corresponding to the plurality of first taps corresponding to the combination, and An error is obtained between the components Q1 to Q4 of the HD code vector (Q1, Q2, Q3, Q4), and the obtained plurality of errors are added to obtain an error sum (see equation (1)). This is repeated for a plurality of HD code vectors, and HD code vectors (Q1, Q2, Q3, Q4) that minimize the error sum are assigned to the combination.
[0085]
This data generation code book is used by being stored in the code book storage unit 104a of FIG. 3 described above. The data generation code book is stored in a storage unit 207a built in the code book generation unit 207, and is read from the storage unit 207a and used as necessary.
[0086]
As described above, according to the code book generating apparatus 200 shown in FIG. 6, the class classification code book and the data generating code book used in the image signal processing apparatus 100 of FIG. 1 can be generated satisfactorily.
[0087]
In the code book generating device 200 shown in FIG. 6, the class classification code book generating unit 204a and the code book generating unit 206 of the class classifying unit 204 generate code books according to, for example, the LBG algorithm. The code book may be generated by a method other than the method used for generating the code book used for vector quantization.
[0088]
That is, the class classification code book can be generated, for example, as shown in FIG.
[0089]
Here, in FIG. 8, a two-dimensional space (SD image space) representing the two pieces of pixel data p1 and p2 included in the first tap is divided into a lattice shape, thereby obtaining a rectangular region r (i , j) is configured. In FIG. 8, the pixel values of the pixel data p1 and p2 are plotted on the horizontal axis and the vertical axis, respectively.
[0090]
In the present embodiment, since the pixel data p1 and p2 are 8-bit data as described above, the horizontal axis and the vertical axis in the SD image space can take values from 0 to 255 (= 2). 8 -1). In FIG. 8, r (i, j) represents the i-th region from the left and the j-th region from the bottom in the SD image space, and each region r (i, j) represents a unique class. Class code #c is assigned.
[0091]
The class classification code book generation unit 204a obtains, for each region r (i, j), the first tap included in the region r (i, j), and further, for example, the first tap of the region t (i, j). Find the center of gravity. That is, there are K first taps included in the region r (i, j), and the k-th first tap is (p 1, r (i, j) (k), p 2, r (i, j) (k)), the class classification code book generation unit 204a is represented by (Σp 1, r (i, j) (k) / K, Σp , r (i, j) The center of gravity of the first tap of the class code #c assigned to the region r (i, j) represented by (k) / K) is obtained. Here, Σ represents a summation with k changed from 1 to K.
[0092]
Then, the class classification code book generation unit 204a uses the SD code vector (P1, P2) for the SD signal to represent the center of gravity of the first tap of the class code #c and the class represented by the class code #c ) To correspond to the class code #c. As a result, a class classification code book as shown in FIG. 4 is generated.
[0093]
Although detailed description is omitted, the code book (see FIG. 7) generated by the code book generation unit 206 can also be generated in the same manner as the class classification code book described above.
[0094]
In that case, the region r (i, j, s, t) is configured by dividing the four-dimensional space (HD image space) representing the four pieces of pixel data q1 to q4 included in the second tap. Is done.
[0095]
In this case, r (i, j, s, t) is i-th on the axis of the pixel value of the image data q1 and j-th on the axis of the pixel value of the image data q2 in the HD image space. The pixel value axis represents the s-th region and the pixel value axis of the image data q4 represents the t-th region, and each region r (i, j, s, t) has a unique class code #C representing a class. Assigned.
[0096]
For each region r (i, j, s, t), the codebook generation unit 206 obtains second taps included in the region r (i, j, s, t), and those second taps Find the center of gravity. Then, the code book generating unit 206 determines the center of gravity of the second tap of the class code #C as the HD code vector (Q1, Q2, Q3) for the HD signal representing the class represented by the class code #C. Q4) is associated with class code #C. Thereby, a code book as shown in FIG. 7 is generated.
[0097]
Note that the above-described processing in the image signal processing apparatus 100 of FIG. 1 can also be performed by software using, for example, an image signal processing apparatus (computer) 500 as shown in FIG.
[0098]
First, the image signal processing apparatus 500 shown in FIG. 9 will be described. The image signal processing apparatus 500 includes a CPU 501 that controls the operation of the entire apparatus, a ROM (Read Only Memory) 502 that stores a control program for the CPU 501 and a code book, and a RAM (Random) that constitutes a work area of the CPU 501. Access Memory) 503. These CPU 501, ROM 502 and RAM 503 are each connected to a bus 504.
[0099]
The image signal processing apparatus 500 includes a hard disk drive (HDD) 505 as an external storage device, a flexible disk, a CD-ROM (Compact Disc Read only Memory), an MO (Magneto Optical) disk, a DVD (Digital Versatile Disc), And a drive 506 for handling a removable recording medium such as a magnetic disk or a semiconductor memory. These drives 505 and 506 are connected to a bus 504, respectively.
[0100]
Further, the image signal processing apparatus 500 includes a communication unit 508 that is connected to a communication network 507 such as the Internet by wire or wirelessly. The communication unit 508 is connected to the bus 504 via the interface 509.
[0101]
Further, the image signal processing apparatus 500 includes a user interface unit. The user interface unit includes a remote control signal receiving circuit 511 that receives a remote control signal RM from the remote control transmitter 510, and a display 513 that includes a CRT (Cathode-Ray Tube), an LCD (liquid Crystal Display), or the like. . The receiving circuit 511 is connected to the bus 504 via the interface 512, and similarly the display 513 is connected to the bus 504 via the interface 514.
[0102]
The image signal processing apparatus 500 also has an input terminal 515 for inputting an SD signal and an output terminal 517 for outputting an HD signal. Input terminal 515 is connected to bus 504 via interface 516, and similarly output terminal 517 is connected to bus 504 via interface 518.
[0103]
Here, instead of storing the control program or code book in the ROM 502 in advance as described above, for example, it is downloaded from the communication network 507 such as the Internet via the communication unit 508 and stored in the hard disk drive 505 or RAM 303. It can also be used. Also, these control programs, code books, etc. may be provided on a removable recording medium.
[0104]
Further, instead of inputting the SD signal to be processed from the input terminal 515, the SD signal may be supplied by a removable recording medium or may be downloaded from the communication network 507 such as the Internet via the communication unit 508. Further, instead of outputting the processed HD signal to the output terminal 517 or in parallel therewith, it is supplied to the display 513 for image display, further stored in the hard disk drive 505, or via the communication unit 508 via the Internet. It may be transmitted to the communication network 507.
[0105]
A processing procedure for obtaining the HD signal from the SD signal in the image signal processing apparatus 500 shown in FIG. 9 will be described with reference to the flowchart of FIG.
[0106]
First, in step ST11, processing is started, and in step ST12, for example, an SD signal for one frame or one field is input into the apparatus from the input terminal 515. The SD signal input in this way is temporarily stored in the RAM 503.
[0107]
Then, in step ST13, it is determined whether or not processing of all frames or all fields of the SD signal has been completed. When the process is finished, the process ends in step ST14. On the other hand, when the process is not finished, the process proceeds to step ST15.
[0108]
In step ST15, the SD signal is divided into blocks composed of two pixel data adjacent in the horizontal direction, and pixel data p1 and p2 (see FIG. 2) included in this block are extracted as class taps for each block. The
[0109]
In step ST16, the cluster Duplicate Class code is obtained by classifying into any one of a number of classes. In this case, the tap vector (p1, p2) having the pixel data p1, p2 included in the class tap as components is subjected to vector quantization using the class classification codebook (see FIG. 4) stored in the ROM 502, The class code corresponding to the class tap is obtained.
[0110]
Next, in step ST17, the cluster Related to The feature amount, for example, the dynamic range DR of the pixel data p1 and p2 in the class tap is acquired.
[0111]
Next, in step ST18, the class code obtained in step ST16 and obtained in step ST17. Consisting of dynamic range Feature value Using Then, four pixel data q1 to q4 (see FIG. 2) constituting the HD signal corresponding to the class tap extracted in step ST15 are generated. This place This The class code is vector-dequantized using a data generation code book (see FIG. 5) stored in the ROM 502, and an HD code vector having four pixel data q1 to q4 constituting an HD signal as components ( q1, q2, q3, q4) are obtained.
[0112]
Next, in step ST19, it is determined whether or not the processing for obtaining the pixel data of the HD signal has been completed in the entire area of the SD signal pixel data for one frame or one field input in step ST12. If completed, the process returns to step ST12, and the process proceeds to SD signal input processing for the next one frame or one field. On the other hand, when the process has not been completed, the process returns to step ST15 and proceeds to the process for the next class tap.
[0113]
In this way, by performing processing according to the flowchart shown in FIG. 10, the pixel data of the input SD signal can be processed to obtain the pixel data of the HD signal. The HD signal obtained by such processing is output to the output terminal 517, supplied to the display 513 to display an image, and further supplied to the hard disk drive 505 to be recorded.
[0114]
Further, although illustration of the processing device is omitted, the processing in the code book generation device 200 shown in FIG. 6 can also be performed by software.
[0115]
A processing procedure for generating a class classification code book and a data generation code book will be described with reference to the flowchart of FIG.
First, processing is started in step ST21, and in step ST22, a teacher signal corresponding to the HD signal is input for one frame or one field. In step ST23, a student signal corresponding to the SD signal is generated from the teacher signal input in step ST22. In this case, the student signal corresponding to the SD signal is generated by thinning out the number of pixel data of the teacher signal corresponding to the HD signal so as to be ½ in the horizontal direction.
[0116]
Next, in step ST24, the student information generated in step ST23 is displayed. No. 1 tap (student data) As Extract. In this case, the student signal is divided into first blocks composed of two pieces of pixel data p1 and p2 (see FIG. 2) adjacent in the horizontal direction, and the pixel data included in the first block is divided into the first block for each block. Extract as 1 tap.
[0117]
Next, in step ST25, the teacher signal input in step ST22. No. 2 taps (teacher data) As Extract. In this case, the teacher signal is assigned to a second block composed of four pieces of pixel data q1 to q4 (see FIG. 2) adjacent in the horizontal direction, corresponding to the first block obtained by dividing in step ST24 described above. The pixel data is divided and the pixel data included in the second block is extracted as the second tap for each block.
[0118]
By the processing of step ST24 and step ST25, a plurality of pairs of learning data is generated from the teacher signal and student signal for one frame or one field. Incidentally, one learning data is composed of one first tap (student data) and one second tap (teacher data).
[0119]
Next, in step ST26, it is determined whether or not processing of all the frames or fields of the teacher signal has been completed. If not completed, the process returns to step ST22, the teacher signal for the next one frame or one field is input, and the same processing as described above is repeated. On the other hand, when it is finished, the process proceeds to step ST27.
[0120]
In step ST27, a class classification code book is generated. In this case, based on a plurality of first taps (student data) constituting a plurality of pairs of learning data generated by the processing of step ST22 to step ST26, two pieces of pixel data p1, included in the first tap Using a tap vector (p1, p2) having p2 as a component, a class classification codebook is generated, for example, according to the LBG algorithm.
[0121]
As shown in FIG. 4, the class classification code book includes a class corresponding to an SD code vector (P1, P2) as a representative vector for an SD signal representing each class for each of a plurality of classes. This is assignment information to which the class code (SD code) #c shown is assigned.
[0122]
Next, in step ST28, a code book related to the HD signal is generated. In this case, based on a plurality of second taps (teacher data) constituting a plurality of pairs of learning data generated by the processing of step ST22 to step ST26, four pieces of pixel data q1 to q1 included in the second tap are included. Using a tap vector (q1, q2, q3, q4) having q4 as a component, a code book is generated, for example, according to the LBG algorithm.
[0123]
As shown in FIG. 7, this class code is a class corresponding to an HD code vector (Q1, Q2, Q3, Q4) as a representative vector for an HD signal that represents each class for each of a plurality of classes. Is allocation information to which a class code (HD code) #C indicating the
[0124]
Next, in step ST29, based on a plurality of first taps (student data) constituting a plurality of pairs of learning data generated by the processing in steps ST22 to ST26, each first tap is selected from a plurality of classes. And class codes corresponding to the first taps are obtained.
[0125]
In this case, the tap vector (p1, p2) having the pixel data p1, p2 included in the first tap as components is vector-quantized using the class classification codebook generated in step ST27, and the first The class code #c corresponding to the tap is obtained.
[0126]
Next, in step ST30, based on a plurality of first taps (student data) constituting a plurality of pairs of learning data generated by the processing in steps ST22 to ST26, for example, feature amounts related to the first taps, for example, The dynamic range of the pixel data in the first tap is acquired.
[0127]
Next, in step ST31, a plurality of pairs of learning data generated by the processing in steps ST22 to ST26, a code book (see FIG. 7) generated in step ST28, and a plurality of pairs generated in steps ST29 and ST30. Class code #c and feature quantity #a corresponding to each first tap (student data) constituting the learning data Using A data creation code book is generated, and the process ends in step ST32.
[0128]
Here, the feature amount #a indicates the number of each segmentation range in the finest segmentation of the feature amount acquired in step ST30. For example, when the feature amount is the dynamic range DR, the dynamic range DR is in the range of 0 to 255, and the finest division is performed for each “1”, there are 256 division ranges, and thus the feature amount # a changes from 0 to 255.
[0129]
As shown in FIG. 5, the data generation codebook includes a plurality of codebooks registered in the codebook (see FIG. 7) generated in step ST28 for each combination of the class code #c and the feature quantity #a. Allocation information to which one HD code vector (Q1, Q2, Q3, Q4) selected from the HD code vectors (Q1, Q2, Q3, Q4) is allocated.
[0130]
In the process of step ST31, for each combination of class code #c and feature quantity #a, each of a plurality of second taps corresponding to a plurality of first taps corresponding to the combination is included in the second tap. An error is obtained between the pixel data q1 to q4 to be generated and the components Q1 to Q4 of the HD code vector (Q1, Q2, Q3, Q4), and a plurality of the obtained errors are added to obtain an error sum (equation (1) Is obtained for a plurality of HD code vectors, and HD code vectors (Q1, Q2, Q3, Q4) that minimize the error sum are assigned to the combinations.
[0131]
That is, first, in step ST41, the class code (SD code) #c is set to 0. In step ST42, the feature quantity #a is set to 0. In step ST43, the class code (HD code) #C is set to 0. Set to.
[0132]
In step ST44, an error sum corresponding to the set class code #C in the combination of the set class code #c and the feature quantity #a is calculated. In this case, pixel data q <b> 1 to q <b> 1 included in the second tap for each of the plurality of second taps corresponding to the plurality of first taps corresponding to the set combination of the class code #c and the feature amount #a. An error is obtained between q4 and the components Q1 to Q4 of the HD code vector (Q1, Q2, Q3, Q4) corresponding to the set class code #C, and an error is obtained by adding the obtained plural errors. Find the sum.
[0133]
Next, in step ST45, it is determined whether or not the processing for calculating the error sum corresponding to all the class codes (HD codes) #C in the set combination of the class code #c and the feature quantity #a is completed. To do. If the process has not been completed, the class code #C is incremented in step ST46, and then the process returns to step ST44, and the next class code #C in the set combination of the class code #c and the feature quantity #a. The process proceeds to obtain an error sum corresponding to. On the other hand, when the process ends, the process proceeds to step ST47.
[0134]
In step ST47, is the processing for calculating the error sum corresponding to all the class codes (HD codes) #C in the combination of the set class code (SD code) #c and all the feature values #a completed? Determine whether or not. If the process has not been completed, the feature quantity #a is incremented in step ST48, and then the process returns to step ST43, in the combination of the set class code (SD code) #c and the next feature quantity #a. Then, the process proceeds to a process of obtaining error sums corresponding to all class codes (HD codes) #C. On the other hand, when the process ends, the process proceeds to step ST49.
[0135]
In step ST49, is the processing for calculating the sum of errors corresponding to all class codes (HD codes) #C in all class codes (SD codes) #c in combination with all feature values #a completed? Determine whether or not. If the process has not been completed, the class code #c is incremented in step ST50, and then the process returns to step ST42, and the next class code (SD code) #c is used in combination with all the feature values #a. Then, the process proceeds to a process of obtaining error sums corresponding to all class codes (HD codes) #C. On the other hand, when the process ends, the process proceeds to step ST51.
[0136]
When it is determined in step ST49 that the process has been completed, an error sum corresponding to all class codes (HD codes) #C in each combination of the class code #c and the feature quantity #a is obtained. In step ST51, for each combination of class code #c and feature quantity #a, an HD code vector (Q1, Q2, Q3, Q4) corresponding to class code #C that minimizes the error sum is obtained, and this combination is obtained. And a data generation code book (see FIG. 5) is generated.
[0137]
In this manner, by performing processing according to the flowchart shown in FIG. 11, the class classification code book and the data generation code book can be generated by the same method as the code book generation apparatus 200 shown in FIG.
[0138]
In the image signal processing apparatus 100 shown in FIG. 1, the SD signal is divided into blocks each composed of two pixel data adjacent in the horizontal direction, and the pixel data p1, p2 ( 2) is extracted as a class tap, and for each class tap, four pieces of pixel data q1 to q4 (see FIG. 2) adjacent to the horizontal direction constituting the HD signal are generated. The number and arrangement of the pixel data of the HD signal generated corresponding to this class tap is not limited to this. That is, the number of pixel data included in the class tap is not limited to two, and may not be adjacent in the horizontal direction. The pixel data of the HD signal generated corresponding to the class tap is not limited to four, and may not be adjacent in the horizontal direction.
[0139]
Further, in the image signal processing apparatus 100 shown in FIG. 1, the tap vectors (p1, p2) having the pixel data p1, p2 included in the class tap as components are vector quantized using a class classification codebook, Although the method for obtaining the class code corresponding to the class tap is shown, the method for obtaining the class code corresponding to the class tap is not limited to this. That is, this class classification can be obtained by performing the above-described ADRC processing on the pixel data itself constituting the class tap or data obtained by processing it, for example, the difference value between adjacent pixel data. It is. In that case, the class classification unit 204 in the code book generating apparatus 200 shown in FIG.
[0140]
In the image signal processing apparatus 100 shown in FIG. The Lascord De Using the data generation code book, vector dequantization is performed to obtain an HD code vector (q1, q2, q3, q4) having four pixel data q1 to q4 constituting an HD signal as components. But the class code and Consisting of dynamic range The method of generating pixel data constituting the HD signal corresponding to the feature amount is not limited to this. For example, it is possible to calculate pixel data constituting the HD signal from the class code and the feature quantity with a predetermined relational expression. In this case, the coefficient of the predetermined relational expression can be generated in advance by learning.
[0141]
In the image signal processing apparatus 100 shown in FIG. 1, the SD signal is converted into an HD signal in which the number of pixels is doubled in the horizontal direction. However, the direction of increasing the number of pixels is limited to the horizontal direction. The vertical direction and further the time direction (frame direction) are also conceivable. Conversely, the present invention can be similarly applied when obtaining an SD signal with a reduced number of pixels from an HD signal. In other words, the present invention is generally applicable to the case where the first image signal is converted into the second image signal having the same or different number of pixels as the first image signal.
[0142]
In the above-described embodiment, the information signal composed of a plurality of information data is an image signal composed of a plurality of pixel data. However, in the present invention, the information signal is other, for example, an audio signal. The same applies to things. In the case of an audio signal, it consists of a plurality of sample data.
[0143]
【The invention's effect】
In this invention Information signal processing apparatus, information signal processing method and program According to the first information signal comprising a plurality of information data, Many sample pixels When converting to a second information signal consisting of a plurality of information data, the present invention Since the code book for data generation created by the code book creation device, the code book creation method and the program is used, The first information signal High resolution Converts well to the second information signal Become .
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration of an image signal processing apparatus.
FIG. 2 is a diagram illustrating a pixel position relationship between an SD signal and an HD signal.
FIG. 3 is a block diagram illustrating a configuration of a class classification unit and a data generation unit.
FIG. 4 is a diagram illustrating an example of a class classification code book.
FIG. 5 is a diagram illustrating an example of a data generation code book.
FIG. 6 is a block diagram illustrating a configuration of a code book generating device.
FIG. 7 is a diagram illustrating an example of a code book related to an HD signal.
FIG. 8 is a diagram for explaining another example of a code book generation method.
FIG. 9 is a block diagram illustrating a configuration of an image signal processing device to be realized by software.
FIG. 10 is a flowchart showing image signal processing.
FIG. 11 is a flowchart illustrating a code book generation process.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 100 ... Image signal processing apparatus, 101 ... Tap extraction part, 102 ... Class classification part, 102a ... Codebook storage part, 102b ... Vector quantization part, 103 ... Acquisition of feature-value 104, data generation unit, 104a, codebook storage unit, 104b, vector inverse quantization unit, 200, codebook generation device, 201, learning database, 202,. Student data generation unit, 203 ... teacher data generation unit, 204 ... class classification unit, 204a ... class classification codebook generation unit, 204b ... vector quantization unit, 204c ... storage unit, 205: Feature amount acquisition unit, 206: Code book generation unit, 206a: Storage unit, 207: Optimal link detection unit, 207a: Storage unit, 500: Image Signal processing device

Claims (13)

複数個の情報データからなる第1の情報信号を当該第1の情報信号よりもサンプルの画素数が多い複数個の情報データからなる第2の情報信号に変換する情報信号処理装置であって、
上記第1の情報信号を複数個の情報データからなるブロックに分割し、ブロック毎に、該ブロックに含まれる情報データをクラスタップとして抽出するクラスタップ抽出手段と、
上記クラスタップ抽出手段で抽出されたクラスタップを、各クラスタップの信号値に基づいて複数のクラスのうちのいずれかのクラスに分類して、該ブロックの特徴を表すクラスコードを得るクラス分類手段と、
上記クラスタップ抽出手段で抽出されたクラスタップ内の画素データの最大値と最小値との差分であるダイナミックレンジを求めて該クラスタップに係る特徴量を取得する特徴量取得手段と、
上記クラス分類手段で得られたクラスコードおよび上記特徴量取得手段で取得されたダイナミックレンジからなる特徴量の組み合わせに割り当てられている代表ベクトルをデータ生成用コードブックから求め、上記クラスタップに対応した、第2の情報信号を構成する複数個の情報データを生成するデータ生成手段とを備え、
上記クラス分類手段は、
上記クラスタップ抽出手段で抽出されたクラスタップに含まれる情報データをコンポーネントとするタップベクトルを、クラス分類用コードブックを用いて、ベクトル量子化し、該クラスタップに対応したクラスコードを得ることを特徴とする情報信号処理装置。
An information signal processing device for converting a first information signal composed of a plurality of information data into a second information signal composed of a plurality of information data having a larger number of sample pixels than the first information signal,
Class tap extracting means for dividing the first information signal into blocks each including a plurality of information data, and for each block, extracting information data included in the block as a class tap;
Class classifying means for classifying the class tap extracted by the class tap extracting means into any one of a plurality of classes based on the signal value of each class tap and obtaining a class code representing the feature of the block When,
A feature quantity acquisition means for obtaining a dynamic quantity that is a difference between a maximum value and a minimum value of pixel data in the class tap extracted by the class tap extraction means to obtain a feature quantity related to the class tap;
The representative vector assigned to the combination of the feature code composed of the class code obtained by the class classification means and the dynamic range obtained by the feature quantity obtaining means is obtained from the data generation codebook, and corresponds to the class tap. , e Bei and data generating means for generating a plurality of information data that constitutes the second information signal,
The classification means is
The tap vector to the extracted information data contained in the class tap components in the class tap extraction means, using the class classification codebook, vector-quantized, the Rukoto obtain a class code corresponding to the class tap A characteristic information signal processing apparatus.
上記クラス分類手段は、
上記複数のクラスのそれぞれについて、各クラスを代表する、上記第1の情報信号についての代表ベクトルに、対応するクラスを示すクラスコードを割り当てたクラス分類用コードブックを記憶する記憶手段と、
上記クラス分類用コードブックを用いて、上記タップベクトルと複数のクラスの代表ベクトルそれぞれとの間の距離を求め、該距離を最小にする上記代表ベクトルに割り当てられたクラスコードを出力するベクトル量子化手段とを有する
ことを特徴とする請求項に記載の情報信号処理装置。
The classification means is
Storage means for storing a class classification code book in which a class code indicating a corresponding class is assigned to a representative vector for the first information signal representing each class for each of the plurality of classes;
Vector quantization for obtaining a distance between the tap vector and each of representative vectors of a plurality of classes using the class classification codebook and outputting a class code assigned to the representative vector that minimizes the distance The information signal processing apparatus according to claim 1 , further comprising: means.
上記データ生成手段は、
上記クラス分類手段で得られたクラスコードおよび特徴量取得手段で取得されたダイナミックレンジからなる特徴量の組み合わせに、上記第2の情報信号についての代表ベクトルとしてのコードベクトルを割り当てたデータ生成用コードブックを用いて、該クラスコードを、ベクトル逆量子化し、上記第2の情報信号を構成する複数個の情報データをコンポーネントとするコードベクトルを得る
ことを特徴とする請求項1に記載の情報信号処理装置。
The data generation means includes
A data generation code in which a code vector as a representative vector for the second information signal is assigned to a combination of a feature code composed of a class code obtained by the class classification means and a dynamic range obtained by the feature quantity acquisition means The information signal according to claim 1, wherein the class code is vector-dequantized using a book to obtain a code vector having a plurality of pieces of information data constituting the second information signal as components. Processing equipment.
上記データ生成手段は、
上記データ生成用コードブックを記憶する記憶手段と、
上記データ生成用コードブックを用いて、上記クラス分類手段で得られたクラスコードおよび上記特徴量取得手段で取得されたダイナミックレンジからなる特徴量の組み合わせに割り当てられている上記代表ベクトルを求め、該求められた代表ベクトルを上記コードベクトルとして出力するベクトル逆量子化手段とを有する
ことを特徴とする請求項に記載の情報信号処理装置。
The data generation means includes
Storage means for storing the data generation codebook;
Using the data generation code book, obtain the representative vector assigned to the combination of the feature code consisting of the class code obtained by the class classification means and the dynamic range obtained by the feature quantity acquisition means, The information signal processing apparatus according to claim 3 , further comprising vector dequantization means for outputting the obtained representative vector as the code vector.
上記データ生成用コードブックは、予め学習によって求められたものである
ことを特徴とする請求項に記載の情報信号処理装置。
The information signal processing apparatus according to claim 3 , wherein the data generation code book is obtained in advance by learning.
上記第1及び第2の情報信号は、画像信号または音声信号である
ことを特徴とする請求項1に記載の情報信号処理装置。
The information signal processing apparatus according to claim 1, wherein the first and second information signals are image signals or audio signals.
複数個の情報データからなる第1の情報信号を当該第1の情報信号よりもサンプルの画素数が多い複数個の情報データからなる第2の情報信号に変換する情報信号処理方法であって、
上記第1の情報信号を複数個の情報データからなるブロックに分割し、ブロック毎に、該ブロックに含まれる情報データをクラスタップとして抽出するクラスタップ抽出工程と、
上記クラスタップ抽出工程で抽出されたクラスタップを、各クラスタップの信号値に基づいて複数のクラスのうちのいずれかのクラスに分類して、該ブロックの特徴を表すクラスコードを得るクラス分類工程と、
上記クラスタップ抽出工程で抽出されたクラスタップ内の画素データの最大値と最小値との差分であるダイナミックレンジを求めて該クラスタップに係る特徴量を取得する特徴量取得工程と、
上記クラス分類工程で得られたクラスコードおよび上記特徴量取得工程で取得されたダイナミックレンジからなる特徴量の組み合わせに割り当てられている代表ベクトルをデータ生成用コードブックから求め、上記クラスタップに対応した、上記第2の情報信号を構成する複数個の情報データを生成するデータ生成工程とを有し、
上記クラス分類工程には、
上記クラスタップ抽出工程で抽出されたクラスタップに含まれる情報データをコンポーネントとするタップベクトルを、クラス分類用コードブックを用いて、ベクトル量子化し、該クラスタップに対応したクラスコードを得る処理が含まれることを特徴とする情報信号処理方法。
An information signal processing method for converting a first information signal composed of a plurality of information data into a second information signal composed of a plurality of information data having a larger number of sample pixels than the first information signal,
Class tap extraction step of dividing the first information signal into blocks composed of a plurality of information data, and extracting the information data included in the block as a class tap for each block;
Class classification step of classifying the class tap extracted in the class tap extraction step into any one of a plurality of classes based on the signal value of each class tap to obtain a class code representing the feature of the block When,
A feature amount obtaining step of obtaining a feature amount relating to the class tap by obtaining a dynamic range that is a difference between the maximum value and the minimum value of the pixel data in the class tap extracted in the class tap extraction step;
The representative vector assigned to the combination of the feature code consisting of the class code obtained in the class classification step and the dynamic range obtained in the feature amount acquisition step is obtained from the data generation codebook, and corresponds to the class tap. , have a data generating step of generating a plurality of information data that constitutes the second information signal,
For the above classification process,
Includes processing to quantize a tap vector whose component is information data contained in the class tap extracted in the class tap extraction step using a class classification code book to obtain a class code corresponding to the class tap. information signal processing method according to claim Rukoto Re.
複数個の情報データからなる第1の情報信号を当該第1の情報信号よりもサンプルの画素数が多い複数個の情報データからなる第2の情報信号に変換するためのプログラムであって、
上記第1の情報信号を複数個の情報データからなるブロックに分割し、ブロック毎に、該ブロックに含まれる情報データをクラスタップとして出力するクラスタップ抽出工程と、
上記クラスタップ抽出工程で抽出されたクラスタップを、各クラスタップの信号値に基づいて複数のクラスのうちのいずれかのクラスに分類して、該ブロックの特徴を表すクラスコードを得るクラス分類工程と、
上記クラスタップ抽出工程で抽出されたクラスタップ内の画素データの最大値と最小値との差分であるダイナミックレンジを求めて該クラスタップに係る特徴量を取得する特徴量取得工程と、
上記クラス分類手段で得られたクラスコードおよび上記特徴量取得手段で取得されたダイナミックレンジからなる特徴量の組み合わせに割り当てられている代表ベクトルをデータ生成用コードブックから求め、上記クラスタップに対応した、上記第2の情報信号を構成する複数個の情報データを生成するデータ生成工程とを有し、
上記クラス分類工程には、
上記クラスタップ抽出工程で抽出されたクラスタップに含まれる情報データをコンポーネントとするタップベクトルを、クラス分類用コードブックを用いて、ベクトル量子化し、該クラスタップに対応したクラスコードを得る処理が含まれる情報信号処理方法をコンピュータで実行可能とすることを特徴とするプログラム。
A program for converting a first information signal composed of a plurality of information data into a second information signal composed of a plurality of information data having a larger number of sample pixels than the first information signal,
Class tap extraction step of dividing the first information signal into blocks composed of a plurality of information data, and outputting, for each block, the information data included in the block as a class tap;
Class classification step of classifying the class tap extracted in the class tap extraction step into any one of a plurality of classes based on the signal value of each class tap to obtain a class code representing the feature of the block When,
A feature amount obtaining step of obtaining a feature amount relating to the class tap by obtaining a dynamic range that is a difference between the maximum value and the minimum value of the pixel data in the class tap extracted in the class tap extraction step;
The representative vector assigned to the combination of the feature code consisting of the class code obtained by the class classification means and the dynamic range obtained by the feature quantity acquisition means is obtained from the data generation codebook, and corresponds to the class tap. , have a data generating step of generating a plurality of information data that constitutes the second information signal,
For the above classification process,
Includes processing to quantize a tap vector whose component is the information data contained in the class tap extracted in the class tap extraction step using a class classification codebook to obtain a class code corresponding to the class tap program, characterized in that it can execute the information signal processing method Re that a computer.
複数個の情報データからなる第1の情報信号を当該第1の情報信号よりもサンプルの画素数が多い複数個の情報データからなる第2の情報信号に変換する際に使用されるコードブックであって、上記第1の情報信号を分割して得られる複数個の情報データからなるブロック毎に、該ブロックに含まれる情報データからなるクラスタップのクラスコードおよび特徴量の組み合わせに、上記第2の情報信号についての代表ベクトルとしてのコードベクトルを割り当てたデータ生成用コードブックを生成するコードブック生成装置において、
上記第1の情報信号に対応した生徒信号を分割して得られた、複数個の情報データからなる各第1のブロックに含まれる情報データを第1のタップとして抽出する第1のタップ抽出手段と、
第2の情報信号に対応した教師信号を、上記第1のブロックに対応して分割して得られた、複数個の情報データからなる各第2のブロックに含まれる情報データを第2のタップとして抽出する第2のタップ抽出手段と、
上記第1のタップ抽出手段で抽出された第1のタップを、当該各タップの信号値に基づいて複数のクラスのうちのいずれかのクラスに分類して、該ブロックの特徴を表すクラスコードを得るクラス分類手段と、
上記第1のタップ抽出手段で抽出された第1のタップ内の画素データの最大値と最小値との差分であるダイナミックレンジを求めて該第1のタップに係る特徴量を取得する特徴量取得手段と、
上記第2の情報信号についての、それぞれ上記第2のタップ抽出手段で抽出される第2のタップに対応して複数個の情報データをコンポーネントとする複数個の代表ベクトルを記憶する記憶手段と、
上記クラス分類手段で得られたクラスコード、上記特徴量取得手段で取得されたダイナミックレンジからなる特徴量、上記第2のタップ抽出手段で抽出された第2のタップおよび上記記憶手段に記憶されている複数個の代表ベクトルに基づいて、上記クラスコードおよび特徴量の組み合わせのそれぞれに、上記複数個の代表ベクトルから選択された一個の代表ベクトルを割り当てて上記データ生成用コードブックを生成するコードブック生成手段とを備え、
上記クラス分類手段は、
上記第1のクラスタップ抽出手段で抽出された第1のタップに含まれる情報データをコンポーネントとするタップベクトルを、クラス分類用コードブックを用いて、ベクトル量子化し、該クラスタップに対応したクラスコードを得ることを特徴とするコードブック生成装置。
A codebook used when converting a first information signal composed of a plurality of information data into a second information signal composed of a plurality of information data having a larger number of sample pixels than the first information signal. Then, for each block composed of a plurality of information data obtained by dividing the first information signal, a combination of the class code of the class tap composed of information data included in the block and the feature amount is combined with the second In a code book generating device for generating a data generation code book to which a code vector as a representative vector for the information signal is assigned,
First tap extracting means for extracting, as a first tap, information data included in each first block made up of a plurality of information data obtained by dividing a student signal corresponding to the first information signal When,
The information data contained in each second block made up of a plurality of information data obtained by dividing the teacher signal corresponding to the second information signal corresponding to the first block is the second tap. Second tap extraction means for extracting as:
Classifying the first tap extracted by the first tap extracting means into one of a plurality of classes based on the signal value of each tap , and class code representing the feature of the block Classifying means to obtain;
Feature quantity acquisition for obtaining a dynamic quantity that is a difference between a maximum value and a minimum value of pixel data in the first tap extracted by the first tap extraction means, and acquiring a feature quantity related to the first tap. Means,
Storage means for storing a plurality of representative vectors whose components are a plurality of information data corresponding to the second taps extracted by the second tap extraction means for the second information signal, respectively.
Stored in the class code obtained by the class classification means, the feature quantity consisting of the dynamic range obtained by the feature quantity acquisition means, the second tap extracted by the second tap extraction means, and the storage means A codebook for generating the data generation codebook by allocating one representative vector selected from the plurality of representative vectors to each of the combination of the class code and the feature quantity based on the plurality of representative vectors. Bei example and generation means,
The classification means is
A tap vector whose component is information data included in the first tap extracted by the first class tap extraction means is vector quantized using a class classification codebook, and a class code corresponding to the class tap is obtained. codebook generation apparatus according to claim Rukoto give.
上記コードブック生成手段は、
上記クラスコードおよび上記特徴量の組み合わせ毎に、その組み合わせに該当する複数の上記第1のタップに対応した複数の上記第2のタップのそれぞれについて該第2のタップに含まれる情報データと上記代表ベクトル内のコンポーネントとの誤差を求め、該求められた複数の誤差を加算して誤差和を得ることを、上記複数個の代表ベクトル分だけ繰り返し、該誤差和を最小にする一個の代表ベクトルをその組み合わせに割り当てる
ことを特徴とする請求項に記載のコードブック生成装置。
The code book generation means includes
For each combination of the class code and the feature quantity, information data included in the second tap and the representative for each of the plurality of second taps corresponding to the plurality of first taps corresponding to the combination. Obtaining an error with a component in the vector, adding the obtained plurality of errors to obtain an error sum is repeated for the plurality of representative vectors, and one representative vector that minimizes the error sum is obtained. The code book generation device according to claim 9 , wherein the code book generation device is assigned to the combination.
上記クラス分類手段は、
上記複数のクラスのそれぞれについて、各クラスを代表する、上記第1の情報信号についての代表ベクトルに、対応するクラスを示すクラスコードを割り当てたクラス分類用コードブックを記憶する記憶手段と、
上記クラス分類用コードブックを用いて、上記第1のタップに含まれる情報データをコンポーネントとするベクトルと上記複数のクラスの代表ベクトルそれぞれとの間の距離を求め、該距離を最小にする上記代表ベクトルに割り当てられたクラスコードを出力するベクトル量子化手段とを有する
ことを特徴とする請求項に記載のコードブック生成装置。
The classification means is
Storage means for storing a class classification code book in which a class code indicating a corresponding class is assigned to a representative vector for the first information signal representing each class for each of the plurality of classes;
Using the class classification code book, the distance between a vector having the information data included in the first tap as a component and the representative vectors of the plurality of classes is obtained, and the representative that minimizes the distance is obtained. The code book generation device according to claim 9 , further comprising vector quantization means for outputting a class code assigned to the vector.
複数個の情報データからなる第1の情報信号を当該第1の情報信号よりもサンプルの画素数が多い複数個の情報データからなる第2の情報信号に変換する際に使用されるコードブックであって、上記第1の情報信号を分割して得られる複数個の情報データからなるブロック毎に、該ブロックに含まれる情報データからなるクラスタップのクラスコードおよび特徴量の組み合わせに、上記第2の情報信号についての代表ベクトルとしてのコードベクトルを割り当てたデータ生成用コードブックを生成するコードブック生成方法において、
上記第1の情報信号に対応した生徒信号を分割して得られる複数個の情報データからなる各第1のブロックに含まれた情報データを第1のタップとして抽出する第1のタップ抽出工程と、
上記第2の情報信号に対応した教師信号を、上記第1のブロックに対応して分割することにより得られる複数個の情報データからなる各第2のブロックに含まれる情報データを第2のタップとして抽出する第2のタップ抽出工程と、
上記第1のタップ抽出工程で抽出された第1のタップを、当該各タップの信号値に基づいて複数のクラスのうちのいずれかのクラスに分類して、該ブロックの特徴を表すクラスコードを得るクラス分類工程と、
上記第1のタップ抽出工程で抽出された第1のタップ内の画素データの最大値と最小値との差分であるダイナミックレンジを求めて該第1のタップに係る特徴量を取得する特徴量取得工程と、
上記クラス分類工程で得られたクラスコード、上記特徴量取得工程で取得されたダイナミックレンジからなる特徴量、上記第2のタップ抽出工程で抽出された第2のタップ、および上記第2の情報信号についての、それぞれ上記第2のタップ抽出工程で抽出される第2のタップに対応して複数個の情報データをコンポーネントとする複数個の代表ベクトルに基づいて、上記クラスコードおよび上記特徴量の組み合わせのそれぞれに、上記複数個の代表ベクトルから選択された一個の代表ベクトルを割り当てて上記データ生成用コードブックを生成するコードブック生成工程とを有し、
上記クラス分類工程には、
上記第1のクラスタップ抽出手段で抽出された第1のタップに含まれる情報データをコンポーネントとするタップベクトルを、クラス分類用コードブックを用いて、ベクトル量子化し、該クラスタップに対応したクラスコードを得る処理が含まれることを特徴とするコードブック生成方法。
A codebook used when converting a first information signal composed of a plurality of information data into a second information signal composed of a plurality of information data having a larger number of sample pixels than the first information signal. Then, for each block composed of a plurality of information data obtained by dividing the first information signal, a combination of the class code of the class tap composed of the information data included in the block and the feature amount is added to the second information signal. In a code book generating method for generating a data generation code book to which a code vector as a representative vector for the information signal is assigned,
A first tap extracting step of extracting, as a first tap, information data included in each first block composed of a plurality of information data obtained by dividing a student signal corresponding to the first information signal; ,
The information data contained in each second block made up of a plurality of information data obtained by dividing the teacher signal corresponding to the second information signal corresponding to the first block is the second tap. A second tap extraction step to extract as
Classifying the first tap extracted in the first tap extraction step into one of a plurality of classes based on the signal value of each of the taps , and class code representing the feature of the block A classification process to obtain;
Feature amount acquisition for obtaining a dynamic range that is a difference between the maximum value and the minimum value of the pixel data in the first tap extracted in the first tap extraction step and acquiring a feature amount related to the first tap. Process,
The class code obtained in the class classification step, the feature amount consisting of the dynamic range obtained in the feature amount acquisition step, the second tap extracted in the second tap extraction step, and the second information signal And a combination of the class code and the feature amount based on a plurality of representative vectors each having a plurality of information data as components corresponding to the second tap extracted in the second tap extraction step. of each, by assigning one representative vectors selected from the plurality of representative vectors have a codebook generation step of generating a code book for the data generation,
For the above classification process,
A tap vector whose component is information data included in the first tap extracted by the first class tap extraction means is vector quantized using a class classification codebook, and a class code corresponding to the class tap is obtained. codebook generation method comprising Rukoto include processes to obtain.
複数個の情報データからなる第1の情報信号を当該第1の情報信号よりもサンプルの画素数が多い複数個の情報データからなる第2の情報信号に変換する際に使用されるコードブックであって、上記第1の情報信号を分割して得られる複数個の情報データからなるブロック毎に、該ブロックに含まれる情報データからなるクラスタップのクラスコードおよび特徴量の組み合わせに上記第2の情報信号についての代表ベクトルとしてのコードベクトルを割り当てたデータ生成用コードブックを生成するためのプログラムであって、
上記第1の情報信号に対応した生徒信号を分割して得られる複数個の情報データからなる各第1のブロックに含まれる情報データを第1のタップとして抽出する第1のタップ抽出工程と、
上記第2の情報信号に対応した教師信号を、上記第1のブロックに対応して分割することにより得られる複数個の情報データからなる各第2のブロックに含まれる情報データを第2のタップとして抽出する第2のタップ抽出工程と、
上記第1のタップ抽出工程で抽出された第1のタップを、当該各タップの信号値に基づいて複数のクラスのうちのいずれかのクラスに分類して、該ブロックの特徴を表すクラスコードを得るクラス分類工程と、
上記第1のタップ抽出工程で抽出された第1のタップ内の画素データの最大値と最小値との差分であるダイナミックレンジを求めて該第1のタップに係る特徴量を取得する特徴量取得工程と、
上記クラス分類工程で得られたクラスコード、特徴量取得工程で取得されたダイナミックレンジからなる特徴量、上記第2のタップ抽出工程で抽出された第2のタップ、および上記第2の情報信号についての、それぞれ上記第2のタップ抽出工程で抽出される第2のタップに対応して複数個の情報データをコンポーネントとする複数個の代表ベクトルに基づいて、上記クラスコードおよび上記特徴量の組み合わせのそれぞれに、上記複数個の代表ベクトルから選択された一個の代表ベクトルを割り当てて上記データ生成用コードブックを生成するコードブック生成工程とを有し、
上記クラス分類工程には、
上記第1のクラスタップ抽出手段で抽出された第1のタップに含まれる情報データをコンポーネントとするタップベクトルを、クラス分類用コードブックを用いて、ベクトル量子化し、該クラスタップに対応したクラスコードを得る処理が含まれるコードブック生成方法をコンピュータで実行可能とすることを特徴とするプログラム。
A codebook used when converting a first information signal composed of a plurality of information data into a second information signal composed of a plurality of information data having a larger number of sample pixels than the first information signal. For each block composed of a plurality of information data obtained by dividing the first information signal, a combination of the class code and the feature amount of the class tap composed of information data included in the block is combined with the second A program for generating a data generation codebook to which a code vector as a representative vector for an information signal is assigned,
A first tap extracting step of extracting, as a first tap, information data included in each first block composed of a plurality of information data obtained by dividing a student signal corresponding to the first information signal;
The information data contained in each second block made up of a plurality of information data obtained by dividing the teacher signal corresponding to the second information signal corresponding to the first block is the second tap. A second tap extraction step to extract as
Classifying the first tap extracted in the first tap extraction step into one of a plurality of classes based on the signal value of each of the taps , and class code representing the feature of the block A classification process to obtain;
Feature amount acquisition for obtaining a dynamic range that is a difference between the maximum value and the minimum value of the pixel data in the first tap extracted in the first tap extraction step and acquiring a feature amount related to the first tap. Process,
About the class code obtained in the class classification step, the feature amount consisting of the dynamic range obtained in the feature amount acquisition step, the second tap extracted in the second tap extraction step, and the second information signal Based on a plurality of representative vectors each having a plurality of pieces of information data corresponding to the second tap extracted in the second tap extraction step, respectively, by assigning a single representative vectors selected from the plurality of representative vectors have a codebook generation step of generating a code book for the data generation,
For the above classification process,
A tap vector whose component is information data included in the first tap extracted by the first class tap extraction means is vector quantized using a class classification codebook, and a class code corresponding to the class tap is obtained. a program characterized by the computer-executable code book generating method that is part of the process of obtaining the.
JP2003153432A 2003-05-29 2003-05-29 Information signal processing apparatus and processing method, codebook generation apparatus and generation method, and program for executing each method Expired - Fee Related JP4093114B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003153432A JP4093114B2 (en) 2003-05-29 2003-05-29 Information signal processing apparatus and processing method, codebook generation apparatus and generation method, and program for executing each method
US10/852,577 US7627198B2 (en) 2003-05-29 2004-05-25 Information signal processing device and processing method, codebook generating device and generating method, and program for executing the methods

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003153432A JP4093114B2 (en) 2003-05-29 2003-05-29 Information signal processing apparatus and processing method, codebook generation apparatus and generation method, and program for executing each method

Publications (2)

Publication Number Publication Date
JP2004357062A JP2004357062A (en) 2004-12-16
JP4093114B2 true JP4093114B2 (en) 2008-06-04

Family

ID=34048387

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003153432A Expired - Fee Related JP4093114B2 (en) 2003-05-29 2003-05-29 Information signal processing apparatus and processing method, codebook generation apparatus and generation method, and program for executing each method

Country Status (1)

Country Link
JP (1) JP4093114B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005012772A (en) * 2003-05-29 2005-01-13 Sony Corp Processing apparatus and processing method for information signal, generating apparatus and generating method for correction data table, and program for executing each method

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5099429B2 (en) * 2007-12-21 2012-12-19 ソニー株式会社 Signal processing apparatus, signal processing method, program, and learning apparatus
JP6379036B2 (en) * 2012-08-24 2018-08-22 アイキューブド研究所株式会社 Transmission device, image transmission method, and image transmission / reception method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005012772A (en) * 2003-05-29 2005-01-13 Sony Corp Processing apparatus and processing method for information signal, generating apparatus and generating method for correction data table, and program for executing each method
JP4552506B2 (en) * 2003-05-29 2010-09-29 ソニー株式会社 Information signal processing apparatus and processing method, correction data table generation apparatus and generation method, and program for executing each method

Also Published As

Publication number Publication date
JP2004357062A (en) 2004-12-16

Similar Documents

Publication Publication Date Title
US7477786B2 (en) Data conversion device, data conversion method, learning device, learning method, program, and recording medium
Bing et al. An adjustable algorithm for color quantization
US7305618B2 (en) Methods for multimedia content repurposing
JP4362895B2 (en) Data processing apparatus, data processing method, and recording medium
JP3864400B2 (en) Image processing apparatus and image processing method
JPH09502586A (en) Data analysis method and device
JP4093114B2 (en) Information signal processing apparatus and processing method, codebook generation apparatus and generation method, and program for executing each method
US7679675B2 (en) Data converting apparatus, data converting method, learning apparatus, leaning method, program, and recording medium
US7627198B2 (en) Information signal processing device and processing method, codebook generating device and generating method, and program for executing the methods
JP4035895B2 (en) Image conversion apparatus and method, and recording medium
JP3834805B2 (en) Image conversion device, image conversion method, calculation device, calculation method, and recording medium
WO1999055007A1 (en) Method and apparatus for making code book, vector quantizing device, device and method for data compression, device and method for data decompression, system for data compression/decompression
JP4552506B2 (en) Information signal processing apparatus and processing method, correction data table generation apparatus and generation method, and program for executing each method
US20110243462A1 (en) Coefficient learning apparatus and method, image processing apparatus and method, program, and recording medium
US6831992B2 (en) Data processing apparatus and data processing method, decoding apparatus and method thereof, and recording medium
CN1822676B (en) Coding apparatus and method, decoding apparatus and method, image processing system and method
JP4442076B2 (en) Data conversion device, data conversion method, learning device, learning method, program, and recording medium
JPH10112844A (en) Image processor and image processing method
JP5029869B2 (en) Image processing apparatus, image processing method, learning apparatus, learning method, and program
JP2000201078A (en) Data compression device and method, data decompression device and method, data compression and decompression system and method, code book preparing method and recording medium
JP4491701B2 (en) Data processing apparatus, data processing method, and recording medium
Kim et al. Color image vector quantization using an enhanced self-organizing neural network
CN116992844A (en) Financial knowledge course generation method and device based on artificial intelligence
JP2003330807A (en) Semiconductor device
JP2002335405A (en) Image data processing unit and method, recording medium, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050317

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060508

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070828

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071029

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071120

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080121

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: 20080212

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080225

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110314

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110314

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130314

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140314

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees