JP4656356B2 - Information processing apparatus and method, learning apparatus and method, and recording medium - Google Patents
Information processing apparatus and method, learning apparatus and method, and recording medium Download PDFInfo
- Publication number
- JP4656356B2 JP4656356B2 JP2000392274A JP2000392274A JP4656356B2 JP 4656356 B2 JP4656356 B2 JP 4656356B2 JP 2000392274 A JP2000392274 A JP 2000392274A JP 2000392274 A JP2000392274 A JP 2000392274A JP 4656356 B2 JP4656356 B2 JP 4656356B2
- Authority
- JP
- Japan
- Prior art keywords
- missing
- circuit
- pixel
- data
- pixels
- 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
Links
Images
Description
【0001】
【発明の属する技術分野】
本発明は、情報処理装置および方法、学習装置および方法、並びに記録媒体に関し、特に、データを創造する情報処理装置および方法、学習装置および方法、並びに記録媒体に関する。
【0002】
【従来の技術】
データ伝送における圧縮方式の多くには、圧縮比を向上させるため、エントロピー符号化に代表される可変長符号化が用いられている。このエントロピー符号化の特徴は、圧縮の対象となるデータの内容に応じて符号語の長さを変えることで圧縮を実現することである。例えば、発生頻度の高いデータには、短い符号語が割り当てられ、発生頻度の低いデータには長い符号語が割り当てられる。その結果、伝送するデータ全体の情報量が削減される。
【0003】
通信エラーにより受信側で誤ったデータが受信された場合、データの内容に応じて、符号語の長さが常に変化するため、復号の誤りは、伝送されるデータの基準となるポイントまで続くことになり、この現象は、一般に「エラー伝搬」と称される。
【0004】
また、MPEG(Moving Picture Experts Group)に代表される動画像の圧縮方式は、離散コサイン変換により、空間的冗長度を減らすと共に、フレーム間の差分のみを伝送するなどして、時間的冗長度を減らすことにより、データ量を削減する。
【0005】
このような圧縮方式により圧縮された動画像のデータは、受信側で伸張されるが、通信エラー等により伝送した動画像のデータが欠落した場合、そのデータの欠落は、空間的および時間的に伸張され、圧縮比が高いほどその影響が顕著に現れる。
【0006】
モバイル環境の、通信路の条件は、固定局または有線と比較して劣悪で、「パケットロス」と称されるバースト状のデータの欠落が比較的頻繁に発生する。そこで、このようなモバイル環境での、圧縮を利用する画像の通信では、強力な誤り訂正符号を用いることで、通信路におけるデータの欠落が防止される。
【0007】
誤り訂正符号によって訂正できずに欠落した画素は、その周辺の画素との相関を解析し、相関の強い方向の画素を使用して線形補間される、若しくは単純に相関の強い方向の画素と置換される。または、欠落した画素は、周辺画素の動き量若しくは動きベクトルを検出し、動き要素の相関が強い方向の画素を使用して線形補間される。あるいは、欠落した画素は、メディアンフィルタを使用してコンシールされる。
【0008】
【発明が解決しようとする課題】
しかしながら、このように、線形補間された、または置き換えされた画素は、解像度が低下し、周辺画素との連続性が失われるため、再生された画像には、違和感が残った。メディアンフィルタを使用した場合も、同様に違和感が残る。
【0009】
本発明はこのような状況に鑑みてなされたものであり、画素が欠落しているか否かに関わらず、より高質な画素を生成することができるようにすることを目的とする。
【0010】
【課題を解決するための手段】
請求項1に記載の情報処理装置は、符号化されている画像データを復号する際に、復号に必要な画像データが欠落している場合、その欠落したデータをリカバリし、リカバリできなかった画像データの画素に対して欠落していることを示すエラーフラグを設定するエラーフラグ設定手段と、創造の対象となる欠落した画素に対応するエラーフラグ、および、その欠落した画素の周辺の複数の画素に対応するエラーフラグからなる欠落クラスコードを生成する欠落クラス生成手段と、少なくとも欠落クラスコードに対応する変換情報を選択する選択手段と、創造の対象となる欠落した画素の周辺の複数の画素と、変換情報との線形推定式を演算することにより、創造の対象となる欠落した画素の画素値を算出する演算手段とを備え、変換情報は、学習の内容に対応して欠落を示すようにエラーフラグを設定し、創造の対象となる欠落した画素に対応するエラーフラグ、および、その欠落した画素の周辺の複数の画素に対応するエラーフラグからなる欠落クラスコードを生成し、学習の教師となる教師画像データからエラーフラグが設定された画素を欠落させた学習の生徒となる生徒画像データにおける欠落した画素の周辺の画素と変換情報自身との線形結合により求められる創造の対象となる欠落した画素の予測値と、創造の対象となる画素に対応する教師画像データでの画素の画素値との誤差が最小となるような学習を行うことにより求められ、求められた変換情報と、その変換情報を求めたときの欠落クラスコードとが対応付けられていることを特徴とする。
【0011】
変換情報は、注目データが欠落している欠落クラスに対しては、注目データを周辺の複数の創造の対象となる画素が欠落していない場合には、教師画像データにノイズが付加された画像データを生徒画像データとして求められたものであることができる。
【0017】
欠落クラス生成手段は、創造の対象となる欠落した画素に対して空間的に周辺の複数の画素に基づいて、欠落クラスコードを生成するようにすることができる。
【0018】
欠落クラス生成手段は、創造の対象となる欠落した画素に対して時間的に周辺の複数の画素に基づいて、欠落クラスコードを生成するようにすることができる。
【0019】
選択手段は、欠落クラスコード、創造の対象となる欠落した画素の周囲の複数の画素のダイナミックレンジに基づくダイナミックレンジクラスコード、および、創造の対象となる欠落した画素の周囲の複数の画素の空間に基づく空間クラスコードを統合したクラスコードに対応する変換情報を選択するようにすることができる。
【0020】
請求項6に記載の情報処理方法は、符号化されている画像データを復号する際に、復号に必要な画像データが欠落している場合、その欠落したデータをリカバリし、リカバリできなかった画像データの画素に対して欠落していることを示すエラーフラグを設定し、創造の対象となる欠落した画素に対応するエラーフラグ、および、その欠落した画素の周辺の複数の画素に対応するエラーフラグからなる欠落クラスコードを生成し、少なくとも欠落クラスコードに対応する変換情報を選択し、創造の対象となる欠落した画素の周辺の複数の画素と、変換情報との線形推定式を演算することにより、創造の対象となる欠落した画素の画素値を算出するステップを含み、変換情報は、学習の内容に対応して欠落を示すようにエラーフラグを設定し、創造の対象となる欠落した画素に対応するエラーフラグ、および、その欠落した画素の周辺の複数の画素に対応するエラーフラグからなる欠落クラスコードを生成し、学習の教師となる教師画像データからエラーフラグが設定された画素を欠落させた学習の生徒となる生徒画像データにおける欠落した画素の周辺の画素と変換情報自身との線形結合により求められる創造の対象となる欠落した画素の予測値と、創造の対象となる画素に対応する教師画像データでの画素の画素値との誤差が最小となるような学習を行うことにより求められ、求められた変換情報と、その変換情報を求めたときの欠落クラスコードとが対応付けられていることを特徴とする。
【0021】
変換情報は、創造の対象となる画素が欠落していない場合には、教師画像データにノイズが付加された画像データを生徒画像データとして求められたものであることができる。
【0027】
創造の対象となる欠落した画素に対して空間的に周辺の複数の画素に基づいて、欠落クラスコードが生成されるようにすることができる。
【0028】
創造の対象となる欠落した画素に対して時間的に周辺の複数の画素に基づいて、欠落クラスコードが生成されるようにすることができる。
【0029】
欠落クラスコード、創造の対象となる欠落した画素の周囲の複数の画素のダイナミックレンジに基づくダイナミックレンジクラスコード、および、創造の対象となる欠落した画素の周囲の複数の画素の空間に基づく空間クラスコードを統合したクラスコードに対応する変換情報が選択されるようにすることができる。
【0030】
請求項11に記載の記録媒体のプログラムは、符号化されている画像データを復号する際に、復号に必要な画像データが欠落している場合、その欠落したデータをリカバリし、リカバリできなかった画像データの画素に対して欠落していることを示すエラーフラグを設定し、創造の対象となる欠落した画素に対応するエラーフラグ、および、その欠落した画素の周辺の複数の画素に対応するエラーフラグからなる欠落クラスコードを生成し、少なくとも欠落クラスコードに対応する変換情報を選択し、創造の対象となる欠落した画素の周辺の複数の画素と、変換情報との線形推定式を演算することにより、創造の対象となる欠落した画素の画素値を算出するステップを含む処理を実行させることを特徴とし、変換情報は、学習の内容に対応して欠落を示すようにエラーフラグを設定し、創造の対象となる欠落した画素に対応するエラーフラグ、および、その欠落した画素の周辺の複数の画素に対応するエラーフラグからなる欠落クラスコードを生成し、学習の教師となる教師画像データからエラーフラグが設定された画素を欠落させた学習の生徒となる生徒画像データにおける欠落した画素の周辺の画素と変換情報自身との線形結合により求められる創造の対象となる欠落した画素の予測値と、創造の対象となる画素に対応する教師画像データでの画素の画素値との誤差が最小となるような学習を行うことにより求められ、求められた変換情報と、その変換情報を求めたときの欠落クラスコードとが対応付けられている。
【0031】
請求項12に記載の学習装置は、学習の内容に対応して欠落を示すようにエラーフラグを設定する設定手段と、創造の対象となる欠落した画素に対応するエラーフラグ、および、その欠落した画素の周辺の複数の画素に対応するエラーフラグからなる欠落クラスコードを生成する欠落クラス生成手段と、学習の教師となる教師画像データからエラーフラグが設定された画素を欠落させた学習の生徒となる生徒画像データにおける欠落した画素の周辺の画素と変換情報との線形結合により求められる創造の対象となる欠落した画素の予測値と、創造の対象となる画素に対応する教師画像データでの画素の画素値との誤差が最小となるような学習を行うことにより、変換情報を求める演算手段と、求められた変換情報と、その変換情報を求めたときの欠落クラスコードとを対応付ける対応付け手段とを備えることを特徴とする。
【0032】
請求項13に記載の学習方法は、学習の内容に対応して欠落を示すようにエラーフラグを設定し、創造の対象となる欠落した画素に対応するエラーフラグ、および、その欠落した画素の周辺の複数の画素に対応するエラーフラグからなる欠落クラスコードを生成し、学習の教師となる教師画像データからエラーフラグが設定された画素を欠落させた学習の生徒となる生徒画像データにおける欠落した画素の周辺の画素と変換情報との線形結合により求められる創造の対象となる欠落した画素の予測値と、創造の対象となる画素に対応する教師画像データでの画素の画素値との誤差が最小となるような学習を行うことにより、変換情報を求め、求められた変換情報と、その変換情報を求めたときの欠落クラスコードとを対応付けるステップを含むことを特徴とする。
【0033】
請求項1に記載の情報処理装置、請求項6に記載の情報処理方法、および請求項11に記載の記録媒体においては、符号化されている画像データを復号する際に、復号に必要な画像データが欠落している場合、その欠落したデータをリカバリし、リカバリできなかった画像データの画素に対して欠落していることを示すエラーフラグが設定され、創造の対象となる欠落した画素に対応するエラーフラグ、および、その欠落した画素の周辺の複数の画素に対応するエラーフラグからなる欠落クラスコードが生成され、少なくとも欠落クラスコードに対応する変換情報が選択される。そして、創造の対象となる欠落した画素の周辺の複数の画素と、変換情報との線形推定式を演算することにより、創造の対象となる欠落した画素の画素値を算出するステップを含む処理が実行される。また、変換情報は、学習の内容に対応して欠落を示すようにエラーフラグを設定し、創造の対象となる欠落した画素に対応するエラーフラグ、および、その欠落した画素の周辺の複数の画素に対応するエラーフラグからなる欠落クラスコードを生成し、学習の教師となる教師画像データからエラーフラグが設定された画素を欠落させた学習の生徒となる生徒画像データにおける欠落した画素の周辺の画素と変換情報自身との線形結合により求められる創造の対象となる欠落した画素の予測値と、創造の対象となる画素に対応する教師画像データでの画素の画素値との誤差が最小となるような学習を行うことにより求められ、求められた変換情報と、その変換情報を求めたときの欠落クラスコードとが対応付けられている。
【0034】
請求項12に記載の学習装置および請求項13に記載の学習方法においては、学習の内容に対応して欠落を示すようにエラーフラグが設定され、創造の対象となる欠落した画素に対応するエラーフラグ、および、その欠落した画素の周辺の複数の画素に対応するエラーフラグからなる欠落クラスコードが生成される。そして、学習の教師となる教師画像データからエラーフラグが設定された画素を欠落させた学習の生徒となる生徒画像データにおける欠落した画素の周辺の画素と変換情報との線形結合により求められる創造の対象となる欠落した画素の予測値と、創造の対象となる画素に対応する教師画像データでの画素の画素値との誤差が最小となるような学習を行うことにより、変換情報が求められる。また、求められた変換情報と、その変換情報を求めたときの欠落クラスコードとが対応付けられる。
【0035】
【発明の実施の形態】
図1は、本発明に係る画像を通信する画像通信システムを説明する図である。
送信装置1は、入力されたビデオ信号を、本発明に係る方式で圧縮し、符号化し、パケットの形式に変換し、伝送路を介して、受信装置2に送信する。受信装置2は、伝送路を介して送信されたパケットを受信し、パケットに含まれるデータを本発明に係る方式で復号して、伸張し、ビデオ信号として出力する。伝送路において、パケットに含まれるデータは、輻輳などにより、欠落することがある。また、伝送路を構成するATM交換機(図示せず)の処理能力を超えたような場合、パケットそのものが、失われることがある。
【0036】
図2は、本発明に係る送信装置1の一実施の形態の構成を示すブロック図である。Y/C分離クロマデコーダ11は、アナログコンポジットビデオ信号、または輝度信号Yとクロマ信号Cのようなアナログコンポーネント信号(Y/C信号)のいずれか1つの信号が入力されると、その信号を、輝度信号Y、色信号U,Vのようなコンポーネント信号(Y/U/V信号)に変換し、セレクタ12に供給する。セレクタ12は、Y/C分離クロマデコーダ11から供給されたY/U/V信号、または初めからY/U/V信号のフォーマットで入力された信号の一方を選択し、間引き部13に供給する。このY/U/V信号は、例えば、スタンダードデンシティ(SD)、4:2:2、フィールド周波数60Hz、およびインターレースフォーマット形式の信号である。
【0037】
間引き部13は、セレクタ12から供給されたY信号、U信号、およびV信号を、それぞれ後述する方式で間引きして、フォーマット変換回路14に供給する。間引き部13は、前置フィルタ41、A/D変換回路42、間引きフィルタ43、外部メモリ44、UV垂直1/2回路45、および外部メモリ46で構成される。
【0038】
前置フィルタ41は、入力されたY信号、U信号、およびV信号の、それぞれ所定の周波数帯域のみを出力するローパスフィルタである。前置フィルタ41の出力は、A/D変換回路42に供給される。
【0039】
A/D変換回路42は、入力されたY信号、U信号、およびV信号をサンプリングし、それぞれを、例えば、8ビットのデータとする。A/D変換回路42に入力されたアナログY信号は、サンプリングされることにより、水平方向に528画素および垂直方向に480画素を含むYデータとして、間引きフィルタ43に出力される。
【0040】
A/D変換回路42に入力されたアナログU信号は、サンプリングされることにより、水平方向に176画素および垂直方向に480画素を含むUデータとして間引きフィルタ43に出力される。A/D変換回路42に入力されたアナログV信号は、サンプリングされることにより、水平方向に176画素および垂直方向に480画素を含むVデータとして間引きフィルタ43に出力される。
【0041】
従って、A/D変換回路42の出力は、3:1:1のフォーマットの信号となっている。
【0042】
間引きフィルタ43は、入力されたYデータ、Uデータ、およびVデータを一時的に外部メモリ44に記憶させ、一時的に記憶させたYデータ、Uデータ、およびVデータを、それぞれ水平方向に1/2および垂直方向に1/2に間引きし、UV垂直1/2回路45に供給する。
【0043】
UV垂直1/2回路45は、間引きフィルタ43から供給されたYデータ、Uデータ、およびVデータを一時的に外部メモリ46に記憶させ、一時的に記憶させたUデータおよびVデータを、それぞれ垂直方向に1/2に間引きし、Yデータ、Uデータ、およびVデータをフォーマット変換回路14に出力する。
【0044】
従って、間引き部13より出力される信号は、3:0.5:0.5の信号となる。
【0045】
フォーマット変換回路14は、間引き部13から供給されたYデータ、Uデータ、およびVデータを、後述する方式で並び替えて、ブロック構造として、符号化回路15に供給する。
【0046】
符号化回路15は、フォーマット変換回路14から供給されたYデータ、Uデータ、およびVデータを一時的に外部メモリ16に記憶させ、外部メモリ16にに記憶されたYデータ、Uデータ、およびVデータを、記憶と読み出しのアドレスを変えることでシャフリングして、ADRC(Adaptive Dynamic Range Coding)方式で符号化し、さらにシャフリングして、パケット化回路17に出力する。
【0047】
ADRC方式は、入力された画像のデータのダイナミックレンジ(DR)に適応した可変長の符号を出力する可変長符号化方式である。画像のデータは、複数の画素からなるブロック(後述するADRCブロック)に分割され、各ブロックに含まれる画素値の最大値および最小値の差であるダイナミックレンジが検出される。ブロックのダイナミックレンジを基に、各画素値を元の量子化ビット数(例えば、8ビット)よりも少ないビット数で、再量子化する。ダイナミックレンジが小さいほど、少ないビット数で再量子化することができ、量子化ひずみの増大を抑えつつ、画素の画素値の冗長度のみを除去して、更にデータ量を少なくすることが可能である。
【0048】
ADRC方式は、ブロックに含まれる画素値の最大値および最小値の差であるダイナミックレンジの大きさに関連して量子化ビット数を選択するものである。ダイナミックレンジの大小関係を判断するために、動きなどに対応した閾値が使用される。再量子化のためのビット数として、例えば、2ビット、3ビット、または4ビットのいずれか1つを割り当てるとき、動きまたはダイナミックレンジ毎の量子化テーブルに記憶された閾値T1およびT2(但し、T1<T2)が使用される。受信側でも、同じ量子化テーブルが使用される。
【0049】
ダイナミックレンジが(T1−1)以下であるブロックでは、画素値に対するコードに、2ビットが割り当てられる。ダイナミックレンジがT1以上で(T2−1)以下であるブロックでは、画素値に対するコードに、3ビットが割り当てられる。ダイナミックレンジがT2以上であるブロックでは、画素値に対するコードに、4ビットが割り当てられる。画素値に対するコードに割り当てられたビット数をqとする。
【0050】
符号化は、2フレームを30分割して生成される、88個のADRCブロックを単位(この単位をバッファと称する)として実行される。1つのバッファに対して生成されるコードが、ここでは、16,104ビット以下になるように、閾値T1およびT2を記憶した量子化テーブルは、1つのバッファに対して1つ選択される。選択された量子化テーブルは、TIで示されるテーブルインデックスで指定される。1つのバッファに対して生成されるコードが、16,104ビット以下になるようにすることで、符号化された画像のデータの情報を、8Mbpsとすることができる。
【0051】
ダイナミックレンジが2のq乗より大きいとき、画素値に対するコードQは、
[(L−MIN+0.5)×2q/DR]
で算出される。[]は、小数点以下の切り捨てを表す。Lは、画素値を表し、MINは、ブロック内の画素の画素値の最小値を表す。DRは、ブロックのダイナミックレンジを表す。ダイナミックレンジが2のq乗以下のとき、画素値に対するコードQは、L−MINで算出される。
【0052】
符号化回路15は、符号化されたデータとして、量子化テーブルを指定するテーブルインデックスTI、ダイナミックレンジDR、ブロック内の画素の画素値の最小値MIN、動きを示す動きフラグMF、および画素値に対応するコードQを出力する。テーブルインデックスTI、ダイナミックレンジDR、ブロック内の画素の画素値の最小値MIN、および動きを示す動きフラグMFの長さ(ビット数)は、8ビットで固定である。一方、画素値に対するコードQの長さは、変化する。
【0053】
パケット化回路17は、符号化回路15から供給された、符号化データを、一時的に外部メモリ18に記憶させ、一時的に記憶された符号化データを、1.6Kビット毎に分割し、ヘッダ等を付加してパケット化し、送信回路19に供給する。送信回路19は、パケット化回路17から供給されたパケットを所定の伝送方式で変調して、伝送路を介して送信する。
【0054】
PLL回路20は、画像に同期した基準信号を生成し、コントロール回路21に基準信号を供給する。コントロール回路21は、間引き部13、フォーマット変換回路14、符号化回路15、外部メモリ16、パケット化回路17、外部メモリ18、および送信回路19に、PLL回路20から供給された基準信号に基づく、コントロール信号を供給し、送信装置1全体の動作を制御する。
【0055】
図3を参照して、送信装置1に入力された画像信号が圧縮される過程を説明する。60Hzのフィールド周波数を有する、インターレース方式のY信号は、A/D変換回路42により、1フィールド当たり水平方向に528画素および垂直方向に480画素のYデータに変換される。60Hzのフィールド周波数を有する、インターレース方式のU信号およびV信号は、水平方向に176画素および垂直方向に480画素のUデータおよびVデータにそれぞれ変換される。A/D変換回路42に入力される画像の信号の情報は166Mbpsに相当し、A/D変換回路42から出力される画像のデータの情報は104Mbpsとなり、情報量が圧縮される。
【0056】
60Hzのフィールド周波数を有する、インターレース方式の1フレーム当たり水平方向に528画素および垂直方向に480画素を含むYデータは、間引きフィルタ43により、30Hzのフレーム周波数を有する、プログレッシブ方式の1フレーム当たり水平方向に264画素および垂直方向に240画素を含むデータに圧縮される。60Hzのフィールド周波数を有する、インターレース方式の1フレーム当たり水平方向に176画素および垂直方向に480画素を含むUデータおよびVデータは、間引きフィルタ43により、30Hzのフレーム周波数を有する、プログレッシブ方式の1フレーム当たり水平方向に88画素および垂直方向に240画素を含むデータにそれぞれ圧縮される。
【0057】
1フレーム当たり水平方向に88画素および垂直方向に240画素を含むUデータおよびVデータは、UV垂直1/2回路45により、水平方向に88画素および垂直方向に120画素を含むデータにそれぞれ圧縮される。UV垂直1/2回路45から出力される画像のデータの情報は、21Mbpsとなり、送信装置1に入力される信号の情報と比較し、情報量が圧縮される。
【0058】
このように、間引き部13で間引き処理を行うことで、後段の各回路の構成を簡略化し、伝送路におけるビットレートを、実用的な充分小さい値に設定することができる。
【0059】
30Hzのフレーム周波数を有する、プログレッシブ方式の1フレーム当たりそれぞれ水平方向に88画素および垂直方向に120画素を含むUデータおよびVデータは、フォーマット変換回路14により、88画素×120画素のデータを2つ合わせたデータに変換される。
【0060】
1フレーム当たり水平方向に264画素および垂直方向に240画素を有するYデータ並びに88画素×120画素×2のUデータおよびVデータが符号化回路15により符号化される。符号化された画像のデータの情報は、8Mbpsとなり、送信装置1に入力されるアナログ信号の情報と比較し、情報量が圧縮される。
【0061】
以上のように、送信装置1は、画像信号を圧縮して符号化する。
【0062】
図4は、間引きフィルタ43の構成を示すブロック図である。インターレース方式のYデータは、水平方向のラインに沿って、水平1/2回路61に供給される。水平1/2回路61は、遅延回路(レジスタ)71−1乃至71−N、乗算回路72−1乃至72−N、および加算回路73で構成されている。
【0063】
ハーフバンドフィルタである水平1/2回路61に順次入力されたYデータは、遅延回路71−1乃至71−Nにより、それぞれ水平方向の1画素分だけ遅延され、順次後段に出力される。乗算回路72−1乃至72−Nは、入力されたYデータ(画素)に1/Nを乗じて、加算回路73に出力する。加算回路73は、乗算回路72−1乃至72−Nから供給されたデータを加算し、垂直1/2回路62に出力する。
【0064】
ハーフバンドフィルタである垂直1/2回路62は、ラッチ回路81、フィールドFIFO(Fast In Fast Out)82、加算回路83、およびラッチ回路84から構成されている。水平1/2回路61から出力されたデータは、ラッチ回路81に供給される。ラッチ回路81は、クロック信号が入力されたとき、入力されたデータをラッチし、ラッチしたデータを出力する。
【0065】
水平1/2回路61の動作を図5を参照して説明する。フレームの水平方向に順次入力された、Yデータ(図5に白い丸印で示す画素)は、遅延回路71−1乃至71−Nにより保持され、乗算回路72−1乃至72−Nによりそれぞれ係数が乗算される。乗算回路72−1乃至72−Nの出力は、加算回路73で加算された後、ラッチ回路81に出力される。ラッチ回路81には、図5の黒い4角形に対応するタイミングで、ラッチを指示するクロック信号が入力される。図5の例では、水平方向に、2画素のデータが転送される度に1つのクロックがラッチ回路81に入力されるので、例えば、N=2で、各係数の値が1/2の場合、隣接する2個の画素の平均値が、図5の黒い4角形で示すタイミングでラッチ回路81にラッチされる。このように、ラッチ回路81がラッチする画素の数は、間引きフィルタ43に入力されたデータの画素の数の1/2となる。
【0066】
ラッチ回路81によりラッチされた値は、フィールドFIFO82および加算回路83に供給される。フィールドFIFO82は、ラッチ回路81から供給された水平方向に1/2に間引かれた第1フィールドの画素のデータを記憶して、1フィールド分遅延させ、加算回路83に出力する。加算回路83は、ラッチ回路81およびフィールドFIFO82から供給されたデータを加算して、ラッチ回路84に供給する。ラッチ回路84は、イネーブル信号が入力されたとき、入力されたデータをラッチする。
【0067】
垂直1/2回路62の動作を図6を参照して説明する。第1フィールドの任意の画素(図6に示す第1フィールド上の黒い4角形の画素)のYデータ、および第1フィールドの画素と画面の水平方向に同一の位置で、1つ下のラインの第2フィールドの画素(図6に示す、第1フィールド上の黒い4角形の画素の右下に位置する第2フィールド上の黒い4角形の画素)のデータが、加算回路83により加算された後、ラッチ回路84に出力される。従って、ラッチ回路84には、第1フィールドと第2フィールドの画素の平均値(図6に白い4角形で示す画素に相当する)がラッチされる。
【0068】
このように、ラッチ回路84の出力は、ラッチ回路81から出力された画素のデータに対して、第1フィールドおよび第2フィールドの間で、1/2に間引きされ、次に、第3フィールドおよび第4フィールドの間で、1/2に間引きされ、30Hzのフレーム周波数を有する、プログレッシブ方式のYデータとなる。
【0069】
UデータおよびVデータも、同様に水平方向と垂直方向に1/2に間引きされ、30Hzのフレーム周波数を有する、プログレッシブ方式のフォーマットのデータとなる。
【0070】
以上のように、間引きフィルタ43から出力される画像のYデータ、Uデータ、およびVデータは、それぞれ間引きされた30Hzのフレーム周波数を有する、プログレッシブ方式のフォーマットのデータとなる。
【0071】
次に、UV垂直1/2回路45について説明する。図7は、UV垂直1/2回路45の構成を示すブロック図である。UV垂直1/2回路45には、間引きフィルタ43より、間引きされた30Hzのフレーム周波数を有する、プログレッシブ方式のUデータおよびVデータが入力される。入力されたデータは、ラインFIFO91−1乃至91−6により、1ライン分ずつ、順次遅延され、後段に供給される。乗算回路92−1は、入力されたデータに係数を乗じて、加算回路93に出力する。乗算回路92−2乃至92−7は、それぞれラインFIFO91−2乃至91−6より入力されたデータに、係数を乗算して加算回路93に出力する。
【0072】
加算回路93は、乗算回路92−1乃至92−7から供給されたデータを加算して、ラッチ回路94に供給する。ラッチ回路94は、クロック信号が入力されたとき、入力されたデータをラッチする。
【0073】
UV垂直1/2回路45の動作を図8を参照して説明する。連続する7本のライン上の、画面の水平方向に同一の位置の画素(図8に白い4角形で示す画素)のデータが乗算回路92−1乃至92−7に入力される。乗算回路92−1乃至92−7は、入力されたデータに、それぞれ係数を乗算する。加算回路93は乗算回路92−1乃至92−7の出力を加算して、出力する。ラッチ回路94には、2ラインに1回のタイミング(図8に黒い丸印で示すタイミング)で、ラッチ信号が入力される。このように、UV垂直1/2回路45は、入力されたUデータおよびVデータのラインの本数を1/2に間引いて、出力する。
【0074】
なお、UV垂直1/2回路45は、Yデータを通過させる。
【0075】
次に、符号化回路15について説明する。図9は、符号化回路15の構成を示すブロック図である。コントロール回路21から供給されるコントロール信号は、タイミング信号生成回路101に入力される。タイミング信号生成回路101は、入力されたコントロール信号を基に、タイミング信号を生成し、ブロックシャフル回路102、ADRC符号化回路103、およびセグメント間シャフル回路104に供給する。
【0076】
フォーマット変換回路14により、変換されたYデータ、Uデータ、およびVデータは、ブロックシャフル回路102に入力される。ブロックシャフル回路102は、供給されたYデータ、Uデータ、およびVデータを外部メモリ16に一時的に記憶させる。ブロックシャフル回路102は、外部メモリ16に記憶させたYデータ、Uデータ、およびVデータを、後述するADRCブロックの形式に並び換え、後述するセグメントの範囲で、かつADRCブロック単位でシャフルし、ADRC符号化回路103に供給する。
【0077】
ADRC符号化回路103は、ブロックシャフル回路102から供給されたYデータ、Uデータ、およびVデータを、ADRC方式に基づき符号化し、セグメント間シャフル回路104に供給する。セグメント間シャフル回路104は、供給されたADRCで符号化されたデータを外部メモリ22に、一時的に記憶させる。
【0078】
セグメント間シャフル回路104は、外部メモリ22に記憶させたADRCデータを、記憶と読み出しのアドレスを変えることで、シャフルする。セグメント間シャフル回路104におけるシャフルは、伝送路におけるデータの欠落が発生しても、受信装置2が、ダイナミックレンジDR、最小値MIN、および動きフラグMFいずれかを受信できる可能性を高め、また、伝送路におけるデータの欠落が発生しても、受信装置2が、各コードQを分けて抽出しやすくすることを目的とする。
【0079】
図10を参照して、符号化回路15およびパケット化回路17の処理の単位を説明する。あるフレーム0と次のフレーム1から、後述する方式により、それぞれ画素を選択して、1320個の偶数セグメントのADRCブロック(4×16画素から成る)と1320個の奇数セグメントのADRCブロック(4×16画素から成る)が生成される。生成された偶数セグメントおよび奇数セグメントのADRCブロックから、ブロックシャフル回路102により、88個ずつのADRCブロックが選択される。ADRCブロックは、選択された88個を単位として、ADRC符号化回路103により、ADRCで、固定長のデータ(FL)である、ダイナミックレンジDR、最小値MIN、動きフラグMF、およびテーブルインデックスTI並びに可変長のデータ(VL)であるコードQに符号化される。
【0080】
ADRC符号化回路103から出力された88個のADRCブロックに対応する符号化されたデータ(以下、バッファと称する)は、セグメント間シャフル回路104により、5個ずつにまとめられる(以下、セグメントと称する)。偶数セグメントに対応する3個のセグメント(図中、セグメント0、セグメント2、およびセグメント4と示す)は、セグメント間シャフル回路104により、セグメント間でシャフルされる。奇数セグメントに対応する3個のセグメント(図中、セグメント1、セグメント3、およびセグメント5と示す)は、セグメント間シャフル回路104により、セグメント間でシャフルされる。
【0081】
セグメント間でシャフルされたセグメントは、セグメント0、セグメント1、セグメント2、セグメント3、セグメント4、およびセグメント5の順に並べられる。
【0082】
パケット化回路17は、セグメント0、セグメント1、セグメント2、セグメント3、セグメント4、およびセグメント5の順に並べられたセグメントに格納されている符号化されたデータを、8個のADRCブロックに対応するデータ(ダイナミックレンジDR、最小値MIN、動きフラグMF、テーブルインデックスTI、およびコードQ)毎にまとめてからパケットに格納する。
【0083】
図11乃至図18を参照して、ブロックシャフル回路102の動作を説明する。図11は、ADRCブロックを説明する図である。各フレームから水平8画素×垂直8画素の隣り合う64画素のブロックを選び出し、ブロックの中で最も左で且つ最も上に位置する画素(図中に0−1または1−1と示された画素)、およびこれを基準とし、その画素から水平に2画素だけ移動した位置にある画素(図中に0−3または1−3と示された画素)、その画素から垂直に2画素だけ移動した位置にある画素(図中に0−17または1−17と示された画素)、またはその画素から水平に1画素かつ垂直に1画素だけ移動した位置にある画素(図中に0−10または1−10と示された画素)を偶数画素と称する。さらに、これらの画素を基準として、同様の選択を繰り返し、選択された画素を、偶数画素とする。
【0084】
また、各フレームの残りの画素は、奇数画素とする。
【0085】
図11に示すように、偶数フレーム(フレーム0)の8×8画素のブロックi2含まれる偶数画素(4×8画素)と、奇数フレーム(フレーム1)の8×8画素のブロックに含まれる偶数画素(4×8画素)を集めたものが、偶数セグメントのADRCブロックとされる。同時に、偶数フレーム(フレーム0)の8×8画素のブロックに含まれる奇数画素(4×8画素)と、奇数フレーム(フレーム1)の8×8画素のブロックに含まれる奇数画素(4×8画素)を集めたものが、奇数セグメントのADRCブロックとされる。ADRCブロックは、2つのフレームの、もとのフレーム上で1つおきの画素から構成される。偶数セグメントのADRCブロックの画素の、もとのフレーム上で隣に位置する画素は、対応する奇数セグメントのADRCブロックを構成する。
【0086】
図12乃至図14は、フレーム内の画素とADRCブロックとの関係を示す図である。図12に示すように、フレーム0の画素は、水平8画素×垂直8画素の64画素のブロック毎に分割される。同様に、図13に示すように、フレーム1(フレーム0の次のフレーム)の画素は、水平8画素×垂直8画素の64画素のブロック毎に分割される。フレーム0のブロックの中で最も左で且つ最も上に位置する64画素のブロック(図12においてA1と表示された64画素のブロック)および、フレーム1のブロックの中で最も左で且つ最も上に位置する64画素のブロック(図13においてA1と表示された64画素のブロック)の偶数画素により、構成された偶数セグメントのADRCブロックは、図14に示すように、セグメント0として、最も左、且つ最も上に配置される。
【0087】
図12のA1と表示された64画素のブロック、および図13のA1と表示された64画素のブロックの奇数画素により構成された奇数セグメントのADRCブロックは、図14に示すように、セグメント3として、セグメント0の偶数セグメントのADRCブロックの図中右隣に配置される。
【0088】
図12のA2と表示された64画素のブロック、および図13のA2と表示された64画素のブロックの偶数画素より構成された偶数セグメントのADRCブロックは、図14に示すようにセグメント0として、図12のA1と表示された64画素のブロックおよび図13のA1と表示された64画素のブロックの奇数画素により構成された、セグメント3のADRCブロックの図中右隣に配置される。図12のA2と表示された64画素のブロックおよび図13のA2と表示された64画素のブロックの奇数画素により構成された奇数セグメントのADRCブロックは、図14に示すように、セグメント3として、図12のA2と表示された64画素のブロックおよび図13のA2と表示された64画素のブロックの偶数画素により構成された、セグメント0のADRCブロックの図中右隣に配置される。
【0089】
図12のB1と表示された64画素のブロックおよび図13のB1と表示された64画素のブロックの偶数画素により構成された偶数セグメントのADRCブロックは、図14に示すように、セグメント4として、図12のA1と表示された64画素のブロックおよび図13のA1と表示された64画素のブロックの偶数画素により構成された、セグメント0のADRCブロックの図中下側に配置される。図12のB1と表示された64画素のブロックおよび図13のB1と表示された64画素のブロックの奇数画素により構成された奇数セグメントのADRCブロックは、図14に示すように、セグメント1として、図12のA1と表示された64画素のブロックおよび図13のA1と表示された64画素のブロックの奇数画素により構成された、セグメント3のADRCブロックの図中下側(セグメント4のADRCブロックの右隣)に配置される。
【0090】
図12のB2と表示された64画素のブロックおよび図13のB2と表示された64画素のブロックの偶数画素により構成された偶数セグメントのADRCブロックは、図13に示すようにセグメント4として、図12のB1と表示された64画素のブロックおよび図13のB1と表示された64画素のブロックの奇数画素により構成された、セグメント1のADRCブロックの図中右隣に配置される。図12のB2と表示された64画素のブロックおよび図13のB2と表示された64画素のブロックの奇数画素により構成された奇数セグメントのADRCブロックは、図13に示すようにセグメント1として、図12のB2と表示された64画素のブロックおよび図13のB2と表示された64画素のブロックの偶数画素により構成された偶数セグメントのADRCブロックの図中右隣に配置される。
【0091】
図12のC1と表示された64画素のブロックおよび図13のC1と表示された64画素のブロックの偶数画素により構成された偶数セグメントのADRCブロックは、図14に示すようにセグメント2として、図12のB1と表示された64画素のブロックおよび図13のB1と表示された64画素のブロックの偶数画素により構成された、セグメント4のADRCブロックの図中下側に配置される。図12のC1と表示された64画素のブロックおよび図13のC1と表示された64画素のブロックの奇数画素により構成された奇数セグメントのADRCブロックは、図14に示すようにセグメント5として、図12のB1と表示された64画素のブロックおよび図13のB1と表示された64画素のブロックの奇数画素により構成された、セグメント1のADRCブロックの図中下側(セグメント2のADRCブロックの右隣)に配置される。
【0092】
図12のC2と表示された64画素のブロックおよび図13のC2と表示された64画素のブロックの偶数画素により構成された偶数セグメントのADRCブロックは、図14に示すようにセグメント2として、図12のC1と表示された64画素のブロックおよび図13のC1と表示された64画素のブロックの奇数画素により構成された、セグメント5のADRCブロックの図中右隣に配置される。図12のC2と表示された64画素のブロックおよび図13のC2と表示された64画素のブロックの奇数画素により構成された奇数セグメントのADRCブロックは、図14に示すようにセグメント5として、図12のC2と表示された64画素のブロックおよび図13のC2と表示された64画素のブロックの偶数画素により構成された偶数セグメントのADRCブロックの図中の右隣に配置される。
【0093】
以上の手続きを、各フレームを構成する33×10個の各ブロック(264×240画素)について繰り返すことにより、2つのフレームのYデータから、図15(A)に示すように、水平方向に66個、垂直方向に30個並べられたADRCブロックの集合が生成される。図15(B)に示すように、Yデータから生成されたADRCブロックは、シャフルされて、セグメントを構成する。
【0094】
88×120画素のUデータおよびVデータについても同様の処理を行うことにより、図16(A)に示すように、水平方向に22個、垂直方向に15個並べられたADRCブロックの集合が生成される。Yデータの場合と同様に、図16(B)に示すように、UデータおよびVデータから生成されたADRCブロックは、ブロックシャフルされて、セグメントを構成する。
【0095】
各ADRCブロック内で、偶数フレームと奇数フレームの画面上で同一位置にある画素同士(例えば、図11中の0−1と示された画素と1−1と示された画素等)で画素値の差分の絶対値をとり、その差分の絶対値のうち最大値が閾値Th1に満たない場合は、そのADRCブロックは静止画とみなされる。
【0096】
差分の絶対値のうち、最大の値が閾値Th2(Th1<Th2)を越えた場合には、そのADRCブロックは動画とみなされる。
【0097】
静止画のADRCブロックでは、偶数フレームと奇数フレームの画面上で同一位置にある画素同士の画素値の平均をとり、その32個の平均値を新たにADRCブロックとして置き代え、そのADRCブロックに付される動きフラグMFを0とする。
【0098】
動画のADRCブロックでは、偶数フレームと奇数フレームから集めた64画素をそのままADRCブロックとして、そのADRCブロックに付される動きフラグMFを1とする。
【0099】
次に、セグメント毎に、ADRCブロック単位で行われるシャフルについて説明する。0の番号が付されたYデータのADRCブロックから構成されるセグメントにおいて、そのADRCブロックに通し番号を付すると、図17(A)に示すように、y0乃至y329の番号が、ADRCブロックに付される。ADRCブロックをシャフルすると、YデータのADRCブロックが、図17(B)に示されるように配置される。
【0100】
同様に、0の番号が付されたUデータのADRCブロックから構成されるセグメントにおいて、そのADRCブロックに通し番号を付すると、図17(C)に示すように、u0乃至u54の番号が、ADRCブロックに付される。UデータのADRCブロックは、図17(D)に示されるように、通し番号の逆の順に並び替えられる。
【0101】
0の番号が付されたVデータのADRCブロックから構成されるセグメントにおいて、そのADRCブロックに通し番号を付すると、図17(E)に示すように、v0乃至v54の番号が、ADRCブロックに付される。VデータのADRCブロックは、図17(F)に示されるように、通し番号の逆の順に並び替えられる。
【0102】
次に、図18に示されるように、YデータのADRCブロック、UデータのADRCブロック、およびVデータのADRCブロックが、シャフルされる。3つのYデータのADRCブロックの後ろに、1つのUデータのADRCブロックが配置され、その後ろに、3つのYデータのADRCブロックが配置され、その後ろに、1つのVデータのADRCブロックが配置される。この配置が繰り返される。例えば、セグメント0には、y0の通し番号が付されたADRCブロック、y221の通し番号が付されたADRCブロック、y112の通し番号が付されたADRCブロック、u54の通し番号が付されたADRCブロック、y3の通し番号が付されたADRCブロック、y224の通し番号が付されたADRCブロック、y115の通し番号が付されたADRCブロック、v54の通し番号が付されたADRCブロック、およびy6の通し番号が付されたADRCブロックなどの順にADRCブロックが配置される。
【0103】
セグメント1乃至セグメント5においても、同様に、ADRCブロックがシャフルされる。
【0104】
以上のように、画素のデータは、ブロックシャフル回路102により、ADRCブロック毎にシャフルされ、シャフルされたADRCブロックを基に、ADRC符号化回路103で符号化される。ADRCブロックが適切にシャフルされることにより、通信エラーにより欠落した画素が分散され、再生される画像において欠落した画素位置を認識しにくくすることができ、また、欠落した画素を周辺の画素により創造することができる。
【0105】
次に、図19を参照して、ADRC符号化回路103の構成を説明する。ブロックシャフル回路102によりシャフルされた画像は、ADRCブロックとして、遅延回路161、動き特徴量算出回路162、DR算出回路163、および遅延回路166に供給される。
【0106】
遅延回路161は、2フレームブロック(4×16画素から成るADRCブロック)を動き特徴量算出回路162の処理時間に対応する時間だけ遅延させて、情報量制御回路164に出力する。動き特徴量算出回路162は、ADRCブロック毎に、フレーム間差分の絶対値の最大値である動き特徴量を算出して、情報量制御回路164に供給する。DR算出回路163は、ADRCブロック毎に、静止画とみなされた場合のダイナミックレンジDRおよび動画とみなされた場合のダイナミックレンジDRを算出して、情報量制御回路164に供給する。
【0107】
情報量制御回路164は、遅延回路161から供給された2フレームブロック、動き特徴量算出回路162から供給された動き特徴量、DR算出回路163から供給された静止画とみなされた場合のダイナミックレンジDRおよび動画とみなされた場合のダイナミックレンジDR、並びに閾値テーブル165から供給された閾値Th1およびTh2並びに閾値T1およびT2のセットを基に、閾値Th1およびTh2から成るMF選択閾値を選択して、静動判定回路169に出力する。
【0108】
情報量制御回路164は、2フレームブロック、動き特徴量、静止画とみなされた場合のダイナミックレンジDRおよび動画とみなされた場合のダイナミックレンジDR、並びに閾値テーブル165から供給された閾値Th1およびTh2並びに閾値T1およびT2のセットを基に、Qビット選択閾値を選択して、ADRCエンコーダ171に出力する。
【0109】
例えば、動き特徴量が4で、静止画とみなされた場合のダイナミックレンジDRが14で、動画とみなされた場合のダイナミックレンジDRが15である場合、テーブルインデックスが0の閾値T1が6で、閾値T2が12で、閾値Th1が3で、閾値Th2が3で、テーブルインデックスが1の閾値T1が13で、閾値T2が40で、閾値Th1が5で、閾値Th2が5であるときについて説明する。
【0110】
情報量制御回路164は、テーブルインデックスが0の閾値のセットに対して、動き特徴量が4で閾値Th2の3より大きいので、動画と判定する。動画とみなされた場合のダイナミックレンジDRが15で閾値T2の3より大きいので、このADRCブロックのqは4となり、情報量制御回路164は、コードQが(16*4)*4より256ビットであることを求める。
【0111】
同様に、情報量制御回路164は、テーブルインデックスが1の閾値のセットに対して、動き特徴量が閾値Th1より小さいので、静止画と判定する。静止画とみなされた場合のダイナミックレンジDRが閾値T1より大きく、閾値T2より小さいので、このADRCブロックのqは3となり、情報量制御回路164は、コードQが(8*4)*3より96ビットであることを求める。
【0112】
このように、閾値のセットには、テーブルインデックスが大きくなると、情報量が減少するようにそれぞれの閾値が設定されている。情報量制御回路164は、1つのバッファに対して生成されるコードQが、16,104ビット以下で、最も大きい情報量のテーブルインデックスをテーブルインデックスTIとして選択して、遅延回路173に出力する。
【0113】
情報量制御回路164は、テーブルインデックスに対応するコードQのビット数を並列演算しても、テーブルインデックスの大きい(または小さい)側から逐次演算するようにしてもよい。
【0114】
図20および図21を参照して、情報量制御回路164の構成の例を説明する。図20は、情報量制御回路164の前段部の構成を示す図であり、図21は、情報量制御回路164の後段部の構成を示す図である。
【0115】
図20に示すように、情報量制御回路164の前段部には、ダイナミックレンジDRの閾値の数に対応した数分の比較回路181−1および181−2と、加算器182−1および182−2と、レジスタ183−1および183−2とが設けられている。比較回路181−1および181−2のそれぞれの一方の入力端子に(0乃至255)までの数値を取りうるダイナミックレンジDRが供給される。
【0116】
また、図20において、閾値テーブル165から、例えば、閾値T1および閾値T2が読み出され、比較回路181−1および181−2の他方の入力端子のそれぞれに供給される。具体的には、比較回路181−1の他方の入力端子に閾値T1が供給され、比較回路181−2の他方の入力端子には閾値T2が供給される。
【0117】
比較回路181−1および181−2のそれぞれには、入力端子5からのダイナミックレンジDRが各閾値以上の場合に、「1」の出力を発生する。比較回路181−1および181−2の比較出力がそれぞれに接続された加算器182−1または182−2のいずれかの一方の入力端子に供給される。加算器182−1または182−2の他方の入力端子には、レジスタ183−1および183−2を介して自らの加算出力が供給されるように構成されている。
【0118】
従って、加算器182−1によって(T1≦DR≦255)の度数の積算値が算出され、得られたデータがレジスタ183−1に保持される。また、加算器182−2によって(T2≦DR≦255)の度数の積算値が算出され、得られたデータがレジスタ183−2に保持される。
【0119】
レジスタ183−1および183−2のそれぞれに保持されている発生度数データのそれぞれが取り出され、図21に示すように、加算器191に供給される。更に、加算器191には、予め情報量制御回路164に記憶されている度数データが供給される。加算器191において、(T1≦DR≦255)の発生度数データと、(T2≦DR≦255)の発生度数データと、予め記憶されている度数データが加算され、総量が算出される。
【0120】
(T1≦DR≦T2−1)の発生度数値を(S3)とし、(T2≦DR≦255)の発生度数値を(S4)とする。(T2≦DR≦255)の発生度数値は、(S4+S3+S2)(qが4ビットであるコードQに対応する)となり、(T1≦DR≦255)の発生度数値は、(S3+S2)(qが3ビットであるコードQに対応する)となる。(S2)(qが2ビットであるコードQに対応する)は、全てのADRCブロックに対応して発生するので、予め、情報量制御回路164に記憶しておくことができる。これらを加算器191によって加算すると、(S3+2*S3+3*S2)の出力が得られる。この出力は、割り当てビットを乗算して全加算した場合と等しい総量である。
【0121】
加算器191において算出された総量がレジスタ192を介して比較回路193の一方の入力端子に供給される。比較回路193の他方の入力端子12には、バッファ最大値が供給されており、総量がバッファ最大値と比較される。比較回路193の比較出力を基に、総量がバッファ最大値以下となるような閾値が決定される。つまり、閾値テーブル165には、予め発生データの総量が単純増加もしくは単純減少するように複数組の閾値が格納されており、総量が目標以内に収まるように閾値が選定される。
【0122】
情報量制御回路164は、比較回路193の比較出力を基に、MF選択閾値、Qビット選択閾値、およびテーブルインデックスTIを選択して、出力する。
【0123】
図19に戻り、遅延回路166は、2フレームブロック(4×16画素から成るADRCブロック)を遅延回路161および情報量制御回路164の処理時間に対応する時間だけ遅延させて、静止ブロック生成回路167、遅延回路168および静動判定回路169に出力する。静止ブロック生成回路167は、2フレームブロック(4×16画素から成るADRCブロック)から、偶数フレームと奇数フレームの画面上で同一位置にある画素同士の画素値の平均をとり、その32個の平均値を新たにADRCブロックとして置き代え、1フレームブロック(4×8画素から成るADRCブロック)として選択回路170に供給する。
【0124】
遅延回路168は、2フレームブロック(4×16画素から成るADRCブロック)を静止ブロック生成回路167の処理時間に対応する時間だけ遅延させて、選択回路170に供給する。
【0125】
静動判定回路169は、2フレームブロック(4×16画素から成るADRCブロック)並びに閾値Th1およびTh2から成るMF選択閾値を基に、そのADRCブロックに付される動きフラグMFを生成して、選択回路170および遅延回路172に供給する。
【0126】
選択回路170は、動きフラグMFが1のとき、すなわち、ADRCブロックが動画に対応するとき、遅延回路168から供給された2フレームブロックをADRCエンコーダ171に供給し、動きフラグMFが0のとき、すなわち、ADRCブロックが静止画に対応するとき、静止ブロック生成回路167から供給された1フレームブロックをADRCエンコーダ171に供給する。
【0127】
ADRCエンコーダ171は、情報量制御回路164から供給されたQビット選択閾値を基に、選択回路170から供給された2フレームブロックまたは1フレームブロックを符号化して、ダイナミックレンジDR、最小値MIN、q、およびコードQを出力する。
【0128】
遅延回路172は、選択回路170の処理時間およびADRCエンコーダ171の処理時間に対応させて、静動判定回路169から供給された動きフラグMFを遅延して、出力する。
【0129】
遅延回路173は、遅延回路168の遅延時間、選択回路170の処理時間、およびADRCエンコーダ171の処理時間に対応させて、情報量制御回路164から供給されたテーブルインデックスTIを遅延して、出力する。
【0130】
このように、ADRC符号化回路103は、ADRCブロック毎に、ダイナミックレンジDR、画素値の最小値MIN、動きフラグMF、およびコードQを生成し、量子化テーブルのインデックスTIと共に、セグメント間シャフル回路104に供給する。
【0131】
図22は、セグメント間シャフル回路104のシャフルの仕方を説明する図である。図22に示すように、シャフルの仕方にはシャフル0乃至2の3通り存在し、シャフル0は、シャフルを行わない。シャフル1は、セグメント0(セグメント1)のデータをセグメント4(セグメント5)に、セグメント2(セグメント3)のデータをセグメント0(セグメント1)に、セグメント4(セグメント5)のデータをセグメント2(セグメント3)に、それぞれシャフル(入れ替え)する。
【0132】
同様に、シャフル2は、セグメント0(セグメント1)のデータをセグメント2(セグメント3)に、セグメント2(セグメント3)のデータをセグメント4(セグメント5)に、セグメント4(セグメント5)のデータをセグメント0(セグメント1)に、それぞれシャフルする。
【0133】
図23は、セグメント0、セグメント3、およびセグメント5において行われるダイナミックレンジDRのシャフルについて説明する図である。1セグメントは、5バッファから構成され、1バッファは88個のADRCブロックを含むため、1セグメントには、440個のDRが含まれる。各セグメント内に存在するDRに番号1乃至440を順次付し、図23では、例えば、セグメント1の番号1のDRは、DR1−1というように記述してある。
【0134】
各セグメントの番号1のDRに対しては、シャフル0が用いられ(すなわち、入れ替えはされない)、番号2のDRに対しては、シャフル1が用いられ、番号3のDRに対しては、シャフル2が用いられ、番号4のDRに対しては、シャフル0が用いられるというように、シャフル0、シャフル1、シャフル2の順でシャフルが行われる。
【0135】
同様に、コードQに対してもシャフルが行われる。また、画素値の最小値であるMINに対しては、図24に示したように、シャフル1、シャフル2、シャフル0の順で行われシャフルが行われる。さらに、動きフラグであるMFに対しては、図25に示すように、シャフル2、シャフル0、シャフル1の順で行われる。
【0136】
次に、量子化テーブルのインデックスTIのシャフルについて説明する。セグメント0に格納されているTIは、セグメント3にも格納され、セグメント3に格納されているTIは、セグメント0にも格納される。すなわち、セグメント0とセグメント3は、自己のTIと対となっている相手のTIとの両方を格納する。同様に、セグメント1とセグメント4、セグメント3とセグメント5は、それぞれ自己のTIと対となっている相手のTIとの両方を格納する。
【0137】
このように、ダイナミックレンジDR、画素値の最小値MIN、および動きフラグMFがシャフルされることにより、通信エラーが発生して、いずれかのデータを含んだパケットが欠落しても、受信装置2は、所定のADRCブロックを復号するとき、受信することができた他のデータを基に、欠落したデータをリカバリすることができる。また、コードQがシャフルされることにより、通信エラーが発生して、コードQを含んだパケットが欠落しても、欠落したコードQに対応する画素が分散され、受信装置2は、コードQの切り出しがしやすくなり、また、所定のADRCブロックを復号するとき、復号できた画素値を基に、欠落した画素値の創造が容易になる。
【0138】
このように、セグメントの間でデータをシャフルすることにより、通信装置2は、データのリカバリ、および欠落画素の創造が容易になり、伝送路においてパケットが欠落しても、再生する画像の質を維持することができる。
【0139】
符号化回路15のセグメント間シャフル回路104から出力されたデータは、パケット化回路17に入力され、パケットにされる。図26に、パケットの構成を示す。図26に示したパケット構成は、201バイトで構成され、その内、DRがA×8Mビット、MINがB×8Mビット、MFがC×8Mビット、TIがD×(8M/D)ビット、およびコードQ(VL-Data)が8×Nビットで構成されている。このサイズの単位のパケットを複数用いてデータを格納する。
【0140】
このように、ダイナミックレンジDR、画素値の最小値MIN、動きフラグMF、テーブルインデックスTI、およびコードQが8の倍数となるように構成することにより、上述したシャフリングを行うときに、各々のデータのビット数サイズによらず、統一のアーキテクチャで、かつ、バイト単位で扱うのに適する。上述した説明、および後述する説明においては、図26に示したパケット構成を用いた場合である。
【0141】
次に、送信装置1の画像の送信の処理を図27のフローチャートを参照して説明する。ステップS11において、間引き部13のA/D変換回路42は、入力された60Hzのフィールド周波数を有するインターレース方式の画像信号を、所定のサンプリングレートでサンプリングして、所定のデータレートのYデータ、Uデータ、およびVデータとして出力する。ステップS12において、間引きフィルタ43は、Yデータ、Uデータ、およびVデータをそれぞれ、水平方向と垂直方向に1/2に間引き、30Hzのフレーム周波数を有するプログレッシブ方式のデータに変換する。
【0142】
ステップS13において、UV垂直1/2回路45は、Uデータ、およびVデータを、垂直方向に1/2に間引く。ステップS14において、フォーマット変換回路14は、Yデータ、Uデータ、およびVデータを符号化回路15に供給できる形式に変換する。
【0143】
ステップS15において、符号化回路15は、フォーマット変換回路14から供給されたYデータ、Uデータ、およびVデータをシャフルして、符号化し、更にシャフルして、パケット化回路17に出力する。ステップS16において、パケット化回路17は、符号化回路15から供給されたデータを、パケット化し、送信回路19に出力する。ステップS19において、送信回路19は、パケット化回路17から供給されたパケットを所定の方式で送信し、処理は終了する。
【0144】
以上のように、送信装置1は、入力された画像の信号を圧縮して、パケットとして出力する。
【0145】
次に、受信装置2について説明する。図28は、受信装置2の構成を示すブロック図である。受信回路301が受信したパケットは、パケット解体回路302に供給される。受信回路301は、受信したパケットに欠落が生じたとき、欠落パケットのデータの各ビット単位で、欠落フラグをセットする。パケット解体回路302は、供給されたパケットを一時的に外部メモリ303に記憶させ、外部メモリ303に一時的に記憶されたパケットを解体して、パケットに含まれるデータを取り出し、欠落フラグと共に復号回路304に供給する。コードQに、8ビット単位で欠落フラグを付け、ダイナミックレンジDR、画素値の最小値MIN、および動きフラグMF毎に欠落フラグを付けるようにしても良い。
【0146】
復号回路304は、パケット解体回路302から供給されたデータを一時的に外部メモリ305に記憶させ、外部メモリ305に一時的に記憶されたADRC方式で符号化されているデータを復号し、フォーマット変換回路306に供給する。復号回路304は、復号に必要なダイナミックレンジDRまたは最小値MINなどのデータが欠落している場合、欠落しているデータをリカバリして、復号し、復号に成功したとき、対応する欠落フラグをリセットする。
【0147】
フォーマット変換回路306は、復号回路304から供給されたデータを一時的に外部メモリ307に記憶させ、外部メモリ307に一時的に記憶されたデータに対し、フォーマット変換回路14の処理とは逆の処理を実行して、欠落画素創造回路308に供給する。
【0148】
欠落画素創造回路308は、フォーマット変換回路306から供給されたデータを基に、クラス分類適応処理により、伝送中に欠落した画素のデータを、欠落した画素の周辺、即ち、空間的または時間的に近傍に位置する画素の画素値から作り出し、そのデータをフォーマット変換回路310に供給する。イニシャライズ回路309は、受信装置2の起動時などにおいて、欠落画素創造回路308に、係数セットなどを供給する。
【0149】
フォーマット変換回路310は、欠落画素創造回路308から供給されたデータを一時的に外部メモリ311に記憶させ、外部メモリ311に一時的に記憶されたデータを4倍密解像度創造回路312が処理できる、30Hzのフレーム周波数を有する、プログレッシブ方式の3:0.5:0.5の画像データに変換し、変換したデータを4倍密解像度創造回路312に供給する。
【0150】
4倍密解像度創造回路312は、フォーマット変換回路310から供給された画像データを基に、供給された画像の4倍の密度の画像データを創造し、補間部314に供給する。イニシャライズ回路313は、4倍密解像度創造回路312に、係数セットなどを供給する。
【0151】
補間部314は、フォーマット変換回路331、外部メモリ332、UV垂直2倍回路333、外部メモリ334、D/A変換回路335、および後置フィルタ336で構成されている。
【0152】
フォーマット変換回路331は、4倍密解像度創造回路312から供給されたデータを入力し、一時的に外部メモリ332に記憶させ、外部メモリ332に一時的に記憶されたデータをUV垂直2倍回路333が処理できる、30Hzのフレーム周波数を有する、プログレッシブ方式の3:0.5:0.5の画像データに変換し、変換されたデータをUV垂直2倍回路333に出力する。
【0153】
UV垂直2倍回路333は、フォーマット変換回路331から供給されたデータを一時的に外部メモリ334に記憶させ、外部メモリ334に一時的に記憶されたデータのUデータおよびVデータを、それぞれ垂直方向に2倍に補間し、Yデータ、Uデータ、およびVデータをD/A変換回路335に供給する。
【0154】
D/A変換回路335は、UV垂直2倍回路333から供給されたYデータ、Uデータ、およびVデータを、アナログのY信号、U信号、およびV信号に変換し、後置フィルタ336に出力する。後置フィルタ336は、D/A変換回路335から出力されたアナログのY信号、U信号、およびV信号のうち、有効な成分のみを通過させるフィルタ(いわゆる、sinX/Xフィルタ)である。後置フィルタ336を通過したY信号、U信号、およびV信号は、NTSCエンコーダ315に供給され、あるいは、そのまま受信装置2の出力として出力される。
【0155】
NTSCエンコーダ315は、入力されたY信号、U信号、およびV信号を基に、コンポーネント信号(Y/C信号)およびコンポジットビデオ信号を生成し、出力する。
【0156】
PLL回路316は、各回路の処理の基準となる基準信号を生成し、コントロール回路317に供給する。コントロール回路317は、パケット解体回路302、復号回路304、フォーマット変換回路306、欠落画素創造回路308、フォーマット変換回路310、4倍密解像度創造回路312、補間部314、およびNTSCエンコーダ315に、生成したコントロール信号を供給し、受信装置2全体の動作を制御する。
【0157】
図29を参照して、インターレース方式で信号が出力される場合の受信装置2で受信された画像のデータが伸張される過程を説明する。復号回路304で復号された画像のデータは、フォーマット変換回路306で、30Hzのフレーム周波数を有する、プログレッシブ方式の1フレーム当たり水平方向に264画素および垂直方向に240画素を有するYデータ、並びに88画素×120画素×2のUデータおよびVデータに変換される。
【0158】
フォーマット変換回路306から出力された1フレームを構成するYデータ、Uデータ、およびVデータは、欠落画素創造回路308で欠落画素が創造された後、4倍密解像度創造回路312により、60Hzのフィールド周波数を有する、インターレース方式の第1フィールドおよび第2フィールドに変換される。このとき、Yデータは、1つのフィールド当たり、水平方向に528画素および垂直方向に240画素を含むデータとなる。UデータおよびVデータは、それぞれ1つのフィールド当たり、水平方向に176画素および垂直方向に120画素を含むデータとなる。
【0159】
4倍密解像度創造回路312から出力されたYデータ、Uデータ、およびVデータは、フォーマット変換回路331により、Yデータが、1つのフレーム当たり、水平方向に528画素および垂直方向に480画素を含むデータに変換され、UデータおよびVデータは、それぞれ1つのフレーム当たり、水平方向に176画素および垂直方向に240画素を含むデータに変換される。
【0160】
更に、UデータおよびVデータは、UV垂直2倍回路333により、1つのフレーム当たり、水平方向に176画素および垂直方向に480画素を含むデータに変換される。D/A変換回路335は、デジタルアナログ変換を行い、YデータをアナログY信号に変換し、UデータおよびVデータをアナログU信号およびアナログV信号にそれぞれ変換する。
【0161】
このように、補間部314で、間引き部13に対応する処理を行うことで、実用的な値にまで低減されたビットレートで伝送されてきたデータから、充分な画質を有する元の画像を再現することができる。
【0162】
以上のように、受信装置2は、受信した画像のデータを伸張して、インターレース方式のY信号、U信号、およびV信号として出力する。
【0163】
次に、復号回路304について説明する。図30は、復号回路304の構成を示すブロック図である。コントロール回路317から供給されたコントロール信号は、タイミング信号生成回路351に入力される。タイミング信号生成回路351は、コントロール信号を基に、タイミング信号を生成し、セグメント間デシャフル回路352、qビットMFリカバリ回路353、DRMINリカバリ回路354、ADRC復号回路355、ブロックデシャフル回路356、およびリカバリエラー判定回路357に供給する。
【0164】
パケット解体回路302から供給されたデータは、セグメント間デシャフル回路352に入力される。セグメント間デシャフル回路352は、図9に示す送信装置1のセグメント間シャフル回路104と逆の動作を行い、シャフルされたデータを元の並びに戻す。デシャフルされたデータに欠落がないとき、セグメント間デシャフル回路352は、デシャフルされたデータをADRC復号回路355に供給する。デシャフルされたデータに欠落があるとき、セグメント間デシャフル回路352は、デシャフルされたデータをqビットMFリカバリ回路353、およびDRMINリカバリ回路354に供給する。また、セグメント間に跨る複数のブロックのデータにエラーがあるとき、セグメント間デシャフル回路352は、連続エラー信号をブロックデシャフル回路356に出力する。
【0165】
qビットMFリカバリ回路353は、隣接する画素の相関が圧縮されたコードQに残っていることを利用し、連続する3つのADRCブロックの画素の画素値の相関を基に、その相関が最大となる、qおよび動きフラグMFの値の組み合わせを求め、qおよび動きフラグMFの正しい値として、DRMINリカバリ回路354に出力する。qビットMFリカバリ回路353は、動きフラグMFが正しいか否かを判定するためのemin1およびemin2(隣接画素差分の最小値と2番目に小さい値)をリカバリエラー判定回路357に送信する。
【0166】
図31は、qビットMFリカバリ回路353の構成を示すブロック図である。
セグメントデシャフル回路352から供給されたデシャフルされたデータは、qビットMF取り出し回路371に供給される。
【0167】
qビットMF取り出し回路371は、供給されたデータから、qおよび動きフラグMFを取り出し、3ブロック評価値算出回路372−1乃至372−6のそれぞれに供給する。エラーでqおよび動きフラグMFが失われた場合、qビットMF取り出し回路371は、qおよび動きフラグMFとして可能性のある組み合わせを、3ブロック評価値算出回路372−1乃至372−6のそれぞれに供給する。
【0168】
例えば、”2”が設定されたqおよび”0”が設定された動きフラグMFは、3ブロック評価値算出回路372−1に供給され、”3”が設定されたqおよび”0”が設定された動きフラグMFは、3ブロック評価値算出回路372−2に供給され、”4”が設定されたqおよび”0”が設定された動きフラグMFは、3ブロック評価値算出回路372−3に供給される。また、例えば、”2”が設定されたqおよび”1”が設定された動きフラグMFは、3ブロック評価値算出回路372−4に供給され、”3”が設定されたqおよび”1”が設定された動きフラグMFは、3ブロック評価値算出回路372−5に供給され、”4”が設定されたqおよび”1”が設定された動きフラグMFは、3ブロック評価値算出回路372−6に供給される。
【0169】
3ブロック評価値算出回路372−1乃至372−6は、qおよび動きフラグMFを基に、切り出されたコードQより復号される画素値から、互いに隣接する画素の画素値の差分を基にした評価値(LE:Linear Error)を算出し、qおよび動きフラグMFと共に評価値をセレクタ373に供給する。以下、3ブロック評価値算出回路372−1乃至372−6を、個々に区別する必要がないときは、単に3ブロック評価値算出回路372と称する。
【0170】
評価値は、式(1)で算出される。評価値は、小さいほど画素の相関が高い。
【0171】
【数1】
Qi,jは、リカバリの対象となるADRCブロックに含まれる欠落していないコードQを示す。Q’i,jは、Qi,jが含まれるADRCブロックを構成する画素を含む図12および図13に示す64画素のブロックの画素で構成される他のADRCブロックに含まれるコードQを示す。例えば、Qi,jが図15の番号”0”の偶数セグメントのADRCブロックに含まれるとき、Q’i,jは、番号”3”の奇数セグメントのADRCブロックに含まれる。Qi,jが図15の番号”4”の偶数セグメントのADRCブロックに含まれるとき、Q’i,jは、番号”1”の奇数セグメントのADRCブロックに含まれる。qi,jは、Qi,jを切り出すqを示す。q’i,jは、Q’i,jを切り出すqを示す。Njは、ADRCブロック内欠落していないコードQの数を示す。jは、評価値が算出される3つのADRCブロックを識別する番号である。
【0172】
オフセットjは、3つのADRCブロックの間のダイナミックレンジ、qの違いを吸収し、より正確な評価値を算出するために用いられ、式(2)、式(3)、および式(4)で算出される。
【0173】
オフセットj=(Xj×24-qj-Yj×24-q'j)/128 (2)
【0174】
【数2】
【0175】
【数3】
【0176】
セレクタ373は、3ブロック評価値算出回路372−1乃至372−6のそれぞれから供給された評価値から、最小値を有する評価値、および最小値の次に大きい値を有する評価値を選択し、それぞれemin1およびemin2として、リカバリエラー判定回路357に供給する。
【0177】
セレクタ373は、3ブロック評価値算出回路372−1乃至372−6のうち、最小値を有する評価値を出力したものが出力するqおよび動きフラグMFを選択して、qビットMFリカバリ回路353の出力として、DRMINリカバリ回路354に供給する。
【0178】
DRMINリカバリ回路354は、qビットMFリカバリ回路353から供給されたqの正しい値および動きフラグMFの正しい値とセグメント間デシャフル回路352からの図11で示した対応するADRCブロックとを基に、ADRCブロック毎のダイナミックレンジDRの正しい値およびADRCブロック毎の画素値の最小値MINを求め、ADRC復号回路355に出力する。
【0179】
図32乃至図34を参照して、DRMINリカバリ回路354のダイナミックレンジDRまたは画素値の最小値MINのリカバリの処理を説明する。画素値Lは、ADRCの方式により、コードQから式(5)の処理により復号される。
【0180】
L=DR/(2Q)*q+MIN (5)
【0181】
図32に示すように、qと画素値Lとの関係は、傾きをDR/(2Q)とし、接片を画素値の最小値MINとする直線で表される。
【0182】
ADRCブロック内の(q,L)の組より、式(5)のDR/(2Q)および画素値の最小値MINを統計的に求める。図33に示す、(q,L)の回帰直線を、式(5)の直線に等しいとする。
【0183】
このとき、bが既知であるならば、aは、式(6)で算出される。
【0184】
a=(B-nb)/A (6)
【0185】
また、aが既知であるならば、bは、式(7)で算出される。
【0186】
b=(B-Aa)/n (7)
【0187】
ここで、nは、(q,L)の点の個数であり、Aは、Σxであり、Bは、Σyである。
【0188】
ダイナミックレンジDRは、式(8)で算出される。
【0189】
【0190】
図34(A)に示すように、ダイナミックレンジDRまたは画素値の最小値MINをリカバリしようとするブロックが隣接する欠落のないのブロックの数を、niとしたとき、Nは、Σniである。図34において、斜線が示された四角は、ダイナミックレンジDRまたは画素値の最小値MINをリカバリしようとするブロックを示す。図34において、斜線のない四角は、欠落のないのブロックを示す。ダイナミックレンジDRまたは画素値の最小値MINをリカバリしようとするブロックのqが欠落している時、図34(B)に示す様に、niは0である。
【0191】
DR’は、リカバリしようとするブロックが隣接する、欠落のないのブロックのダイナミックレンジを示す。MIN’は、リカバリしようとするブロックが隣接する、欠落のないのブロックの画素値の最小値を示す。Q’は、リカバリしようとするブロックが隣接する、欠落のないのブロックのコードQを示す。
【0192】
Xは、式(9)で表される。
【0193】
【数4】
【0194】
Yは、式(10)で示される。
【0195】
【数5】
【0196】
画素値の最小値MINは、式(11)で算出される。
【0197】
【0198】
ADRC復号回路355は、デシャフルされたデータに欠落がないとき、セグメント間デシャフル回路352から供給されたデータを基に、コードQを復号し、復号の結果得られたYデータ、Uデータ、およびVデータをブロックデシャフル回路356に供給する。
【0199】
ADRC復号回路355は、qまたは動きフラグMFに欠落があり、かつqビットMFリカバリ回路353がqの正しい値および動きフラグMFの正しい値を求めることができたとき、DRMINリカバリ回路354を介して供給されたqの正しい値、動きフラグMFの正しい値、ダイナミックレンジDR、およびブロック毎の画素値の最小値MINを基に、DRMINリカバリ回路354から供給されたコードQを復号し、復号の結果得られたYデータ、Uデータ、およびVデータを、Yデータ、Uデータ、およびVデータに対応する、”0”を設定したエラーフラグと共に、ブロックデシャフル回路356に供給する。
【0200】
ADRC復号回路355は、qまたは動きフラグMFに欠落があり、かつqビットMFリカバリ回路353がqの正しい値および動きフラグMFの正しい値を求めることができないとき、コードQに対応するYデータ、Uデータ、およびVデータのエラーフラグに”1”を設定して、ブロックデシャフル回路356に供給する。
【0201】
ADRC復号回路355は、ダイナミックレンジDR、または画素値の最小値MINに欠落があり、かつDRMINリカバリ回路354がダイナミックレンジDRの正しい値および画素値の最小値MINの正しい値を求めることができたとき、DRMINリカバリ回路354を介して供給されたq、動きフラグMF、ダイナミックレンジDRの正しい値、および画素値の最小値MINの正しい値を基に、DRMINリカバリ回路354から供給されたコードQを復号し、復号の結果得られたYデータ、Uデータ、およびVデータを、Yデータ、Uデータ、およびVデータに対応する、”0”を設定したエラーフラグと共に、ブロックデシャフル回路356に供給する。
【0202】
ADRC復号回路355は、ダイナミックレンジDR、または画素値の最小値MINに欠落があり、かつかつDRMINリカバリ回路354がダイナミックレンジDRの正しい値および画素値の最小値MINの正しい値を求めることができないとき、コードQに対応するYデータ、Uデータ、およびVデータのエラーフラグに”1”を設定して、ブロックデシャフル回路356に供給する。
【0203】
リカバリエラー判定回路357は、qビットMFリカバリ回路353から供給されたemin1およびemin2を基に、リカバリエラー判定フラグFdをブロックデシャフル回路356に出力し、外部メモリ305が記憶している前のフレームの対応する画素のYデータ、Uデータ、およびVデータの更新を停止させる。
【0204】
ブロックデシャフル回路356は、ADRC復号回路355から”0”を設定したエラーフラグと共に、Yデータ、Uデータ、およびVデータが供給されたとき、エラーフラグ、並びにYデータ、Uデータ、およびVデータを記憶する。ブロックデシャフル回路356は、ADRC復号回路355から”1”を設定したエラーフラグと共に、Yデータ、Uデータ、およびVデータが供給されたとき、エラーフラグを記憶し、Yデータ、Uデータ、およびVデータを記憶しない。また、ブロックデシャフル回路356は、リカバリエラー判定回路357またはセグメント間デシャフル回路352から連続エラー信号が供給された場合も、外部メモリ305が記憶している前のフレームの対応する画素のYデータ、Uデータ、およびVデータの更新を停止させる。
【0205】
ブロックデシャフル回路356は、Yデータ、Uデータ、およびVデータを、図9に示す送信装置1のブロックシャフル回路102と逆の動作で、元の並びに戻し、元の並びに変換されたYデータ、Uデータ、およびVデータを出力する。
【0206】
以上のように、復号回路304は、復号に必要なデータであるq、動きフラグMF、ダイナミックレンジDR、または画素値の最小値MINが失われても、qビットMFリカバリ回路353およびDRMINリカバリ回路354が失われたデータをリカバリするので、復号を実行することができる。
【0207】
リカバリにエラーがあるときは、外部メモリ305に記憶されている画素値を上書きしないで、4フレーム前の画素値を出力するので、動きが無いとき、違和感のない画素値を出力できる。
【0208】
次に、復号回路304の処理のタイミングを図35および図36のタイミングチャートを参照して説明する。図35は、セグメント間デシャフル回路352から出力されるデータに欠落がない場合の、復号回路304の処理のタイミングの例を示す。セグメント間デシャフル回路352は、デシャフルの処理を行い、所定の時間経過後(図35の例では、入力開始から362クロック後)、ADRC復号回路355にデシャフルされたデータを出力する。ADRC復号回路355は、セグメント間デシャフル回路352から供給されたデータを復号して出力する。
【0209】
図36は、セグメント間デシャフル回路352から出力されるデータに欠落がある場合の、復号回路304の処理のタイミングの例を示す。セグメント間デシャフル回路352は、デシャフルの処理を行い、データに欠落がない場合に、ADRC復号回路355にデータを供給するタイミングより早く(図36の例では、入力開始から123クロック後)、qビットMFリカバリ回路353にデシャフルされたデータを出力する。qビットMFリカバリ回路353は、所定のタイミングで、qおよび動きフラグMFを、DRMINリカバリ回路354に供給する。
【0210】
DRMINリカバリ回路354は、データに欠落がない場合にセグメント間デシャフル回路352がADRC復号回路355にデータを供給するタイミングと同じタイミングで、ダイナミックレンジおよび画素の最小値を、ADRC復号回路355に供給する。
【0211】
従って、復号回路304は、q、動きフラグMF、ダイナミックレンジDR、および画素の最小値MINをリカバリしても、セグメント間デシャフル回路352から出力されるデータに欠落がない場合と同じタイミングで、データを復号し、出力することができる。
【0212】
以上のように、復号回路304は、復号に必要な所定のデータが失われても、qビットMFリカバリ回路353およびDRMINリカバリ回路354が失われたデータをリカバリするので、復号を実行することができる。なお、復号回路304にエラー処理を行わないモード(ユーザセレクタブルなモード)を選択する信号が入力されているとき、qビットMFリカバリ回路353およびDRMINリカバリ回路354は、リカバリを実行しない。
【0213】
図37(A)および(B)、並びに図38(A)および(B)を参照して、ブロックデシャフル回路356のデータの出力のタイミングについて説明する。
【0214】
図37(A)および(B)の方式では、2フレームの画像を記憶するメモリを2個設ける。図37(A)に示すように、一方のメモリにデータを書き込んでいるとき、他のメモリからデータを読み出して出力し、2フレームの画像について処理が終了したとき、図37(B)に示すように、他方のメモリにデータを書き込んで、一方のメモリからデータを読み出して、出力する。
【0215】
これに対して、外部メモリ305に、それぞれ2フレームの画像を記憶するバンクを2つ設けて(図中のバンク1およびバンク2)、ブロックデシャフル回路356は、図38(A)に示すように、3個のADRCに対応する画像データがADRC復号回路355から供給されたとき、バンク1に書き込み、図38(B)に示すように、ADRC復号回路355から画像データが供給されていないとき(例えば、図36に示す、入力開始から364クロックまでの間)、アドレスを指定することにより、バンク2からブロックデシャフルされたデータを読み出す。次の2フレームにおいては、ブロックデシャフル回路356は、3個のADRCに対応する画像データがADRC復号回路355から供給されたとき、バンク2に書き込み、ADRC復号回路355から画像データが供給されていないとき、バンク1からブロックデシャフルされたデータを読み出す。
【0216】
このようにすることで、ブロックデシャフル回路356に対し、1個の外部メモリ305で、画像データをブロックデシャフルして、出力することができる。
【0217】
図39は、リカバリエラー判定回路357の構成を示すブロック図である。qビットMFリカバリ回路353から供給される最小値を有する評価値emin1、および2番目に小さい値を有する評価値emin2は、差分算出回路431に供給される。差分算出回路431は、入力されたemin1とemin2との差を算出し、遅延回路432に出力する。遅延回路432は、差分算出回路431から供給されたデータを所定の時間遅延し、加算器435および遅延回路433に出力する。
【0218】
遅延回路433は、遅延回路432から供給されたデータを所定の時間遅延し、加算器435および遅延回路434に出力する。
【0219】
遅延回路434は、遅延回路433から供給されたデータを所定の時間遅延し、加算器435および判定回路437に出力する。
【0220】
加算器435は、遅延回路432からから供給されたデータ、遅延回路433からから供給されたデータ、および遅延回路434からから供給されたデータを加算して、判定回路436に供給する。
【0221】
判定回路436は、加算器435から供給されたデータが予め定めた閾値Te1以下であるか否かを判定し、加算器435から供給されたデータが閾値Te1以下であると判定された場合、”1”をAND回路438に出力し、加算器435から供給されたデータが閾値Te1を越えると判定された場合、”0”をAND回路438に出力する。
【0222】
判定回路437は、遅延回路434から供給されたデータが予め定めた閾値Te2以下であるか否かを判定し、遅延回路434から供給されたデータが閾値Te2以下であると判定された場合、”1”をAND回路438に出力し、遅延回路434から供給されたデータが閾値Te2を越えると判定された場合、”0”をAND回路438に出力する。
【0223】
AND回路438は、判定回路436から供給されたデータが”1”、かつ、判定回路437から供給されたデータが”1”のとき、”1”をホールド回路439に出力する。AND回路438は、判定回路436から供給されたデータが”0”、または、判定回路437から供給されたデータが”0”のとき、”0”をホールド回路439に出力する。
【0224】
ホールド回路439は、入力されたデータをリセット信号が入力されるまで保持し、遅延回路440に出力する。遅延回路440は、ホールド回路439から出力されたデータを所定の時間遅延し、ホールド回路439に供給するとともに、リカバリ判定フラグFdとしてブロックデシャフル回路356に出力する。
【0225】
このように、リカバリエラー判定回路357は、3個のADRCブロックに対する、評価値emin1と評価値emin2の差の積算値が閾値Te1以下であり、かつ、そのADRCブロックに対する評価値emin1と評価値emin2の差が閾値Te2以下であるとき、すなわち、評価値emin1と評価値emin2の差が少なく、リカバリされたqまたは動きフラグMFが正しくない可能性が高いとき、リカバリ判定フラグFdに1をセットする。
【0226】
次に、ADRC復号回路355で復号されたデータが一時的にブロックデシャフル回路356に記憶され、読み出される処理を説明する。セグメント間デシャフル回路352は、パケット解体回路302から供給されたデータに欠落があるとき、欠落するデータに対応するエラーフラグに”1”を設定し、データに欠落がないとき、データに対応するエラーフラグに”0”を設定し、ADRCブロック単位のコードQおよびエラーフラグをADRC復号回路355に出力する。ADRC復号回路355は、コードQを復号し、Yデータ、Uデータ、およびVデータ、並びにエラーフラグをブロックデシャフル回路356に出力する。
【0227】
ブロックデシャフル回路356は、対応するエラーフラグが”0”の場合、Yデータ、Uデータ、およびVデータ、並びにエラーフラグを外部メモリ305に記憶し、対応するエラーフラグが”1”である場合、エラーフラグを外部メモリ305に記憶し、Yデータ、Uデータ、およびVデータを外部メモリ305に記憶しない。
【0228】
外部メモリ305は、2つのバンクを有し、1つのバンクに2つのフレームのYデータ、Uデータ、およびVデータ、並びにエラーフラグを記憶する。外部メモリ305のバンクは、2つのフレーム毎に切り替えられる。従って、対応するエラーフラグが”1”である場合、外部メモリ305は、4フレーム前のYデータ、Uデータ、およびVデータを記憶している。
【0229】
図40は、リカバリエラー判定回路357が、”1”が設定されたリカバリ判定フラグFdを出力した場合の、ブロックデシャフル回路356の処理を説明する図である。qビットMFリカバリ回路353から供給される最小値を有する評価値emin1、および2番目に小さい値を有する評価値emin2の差が所定の値以下であり、かつ、そのADRCブロックを含めた連続する3つのADRCブロックのemin1、およびemin2の差の和が所定の値以下であるとき、qビットMFリカバリ回路353は、qのリカバリに失敗したと判定し、このため、データの切り出しも失敗したと判定する。このとき、リカバリエラー判定回路357は、”1”が設定されたリカバリ判定フラグFdを出力する。
【0230】
リカバリエラー判定回路357が、”1”が設定されたリカバリ判定フラグFdを出力したとき、ブロックデシャフル回路356は、それ以降のバッファ(88個のADRCブロック)からのデータの切り出しに失敗したとみなし、それ以降に供給されるエラーフラグに”1”を設定し、そのエラーフラグを外部メモリ305に記憶する。ユーザセレクタブルなエスケープモードの場合には、データは外部メモリ305に記憶される。
【0231】
図41は、セグメント間デシャフル回路353が、連続エラー信号を出力した場合の、ブロックデシャフル回路356の処理を説明する図である。セグメント間デシャフル回路353は、対応する偶数ADRCブロックおよび奇数ADRCブロックの両方の欠落を検出したとき、連続エラー信号を出力する。qビットMFリカバリ回路353のqおよび動きフラグMFのリカバリの処理は、隣接する画素の画素値の相関を利用しているので、対応する偶数ADRCブロックおよび奇数ADRCブロックの両方が欠落しているとき、qビットMFリカバリ回路353は、リカバリの処理を実行することができない。連続エラー信号が供給されたとき、ブロックデシャフル回路356は、それ以降のバッファ(88個のADRCブロック)からのデータの切り出しに失敗したとみなし、それ以降に供給されるエラーフラグに”1”を設定し、そのエラーフラグを外部メモリ305に記憶し、それ以降に供給される復号されたデータを外部メモリ305に記憶しない。
【0232】
図42は、ユーザセレクタブルなグレイモードの場合のブロックデシャフル回路356の処理を説明する図である。グレイモードの場合、ブロックデシャフル回路356は、対応するエラーフラグが”1”であるデータに、グレイ(Y,U,V全てを128にするのではなく、対応するデータのみ128にする)を設定して出力する。
【0233】
図43および図44は、ブロックデシャフル回路356のユーザセレクタブルなリカバリオフ入力(ユーザが図示せぬ所定のスイッチを操作したときに入力される信号)に対応した処理を説明する図である。”1”が設定されたリカバリオフ入力が供給された場合、ブロックデシャフル回路356は、外部メモリ305に、図43に示すように、qビットMFリカバリ回路353を経由しないで、ADRC復号回路355でYデータ、Uデータ、およびVデータが復号されたとき、復号されたYデータ、Uデータ、およびVデータを記憶させる。図44に示すように、qビットMFリカバリ回路353でqおよび動きフラグがリカバリされたとき、ブロックデシャフル回路356は、外部メモリ305に、復号されたYデータ、Uデータ、およびVデータをメモリに記憶させず、対応するすべてのエラーフラグを”1”に設定する。リカバリオフ入力を変化させることで、qビットMFリカバリ回路353等のリカバリの効果が簡単に確認できる。
【0234】
図45は、ブロックデシャフル回路356のエスケープ信号(ユーザが図示せぬ所定のスイッチを操作したときに入力される信号)に対応した処理を説明する図である。エスケープ信号が供給された場合、ブロックデシャフル回路356は、図45に示すように、リカバリ判定フラグFdが”1”に設定されても、それ以降に供給されるエラーフラグに強制的に”1”を設定しないでエラーフラグをメモリに記憶し、それ以降に供給される復号されたYデータ、Uデータ、およびVデータをメモリに記憶する。エスケープ信号を変化させることで、ブロックデシャフル回路356のコンシールの処理の効果が簡単に確認できる。
【0235】
図46および図47は、ブロックデシャフル回路356の復号したデータを出力する処理を説明するフローチャートである。ステップS31において、セグメント間デシャフル回路352は、受信回路301が生成したエラーフラグを受信し、ADRC復号回路355に供給する。ADRC復号回路355は、セグメント間デシャフル回路352から供給されたエラーフラグをブロックデシャフル回路356に出力し、ブロックデシャフル回路356は、そのエラーフラグを受信する。
【0236】
ステップS32において、ブロックデシャフル回路356は、ADRC復号回路355から供給された、バッファ(所定の88個のADRCブロック)に対応する、最初のエラーフラグを選択する。ステップS33において、ブロックデシャフル回路356は、セグメント間デシャフル回路352から供給されている連続エラー信号が”0”であるか否かを判定し、連続エラー信号が”0”であると判定された場合、ステップS34に進み、リカバリエラー判定回路357から供給されているリカバリ判定フラグFdが”0”であるか否かを判定する。ステップS34において、リカバリ判定フラグFdが”0”であると判定された場合、ステップS35に進み、ブロックデシャフル回路356は、外部メモリ305にエラーフラグを記憶させる。
【0237】
ステップS33において、連続エラー信号が”1”であると判定された場合、およびステップS34において、リカバリ判定フラグFdが”1”であると判定された場合、データの切り出しに失敗したので、ステップS47に進み、ブロックデシャフル回路356は、エスケープ信号がオフであるか否かを判定し、エスケープ信号がオフであると判定された場合、ステップS48に進み、ステップS32で選択されたエラーフラグに”1”を設定し、ステップS35に進み、ブロックデシャフル回路356は、外部メモリ305にエラーフラグを記憶させる。
【0238】
ステップS47において、エスケープ信号がオンであると判定された場合、エラーフラグの設定を行わないので、手続きは、ステップS48をスキップし、ステップS35に進み、ブロックデシャフル回路356は、外部メモリ305にエラーフラグを記憶させる。
【0239】
ステップS36において、ブロックデシャフル回路356は、バッファに対応する、すべてのエラーフラグを処理したか否かを判定し、すべてのエラーフラグを処理したと判定された場合、ステップS37に進み、ブロックデシャフル回路356は、ADRC復号回路355から復号されたYデータ、Uデータ、およびVデータを受信する。
【0240】
ステップS36において、バッファの全てのエラーフラグをまだ処理していないと判定された場合、ステップS49に進み、ブロックデシャフル回路356は、次のエラーフラグを選択し、ステップS33に戻り、エラーフラグの設定の処理を繰り返す。
【0241】
ステップS38において、ブロックデシャフル回路356は、ADRC復号回路355から供給された、バッファの最初の復号されたデータを選択する。
【0242】
ステップS39において、ブロックデシャフル回路356は、セグメント間デシャフル回路352から供給されている連続エラー信号が”0”であるか否かを判定し、連続エラー信号が”0”であると判定された場合、ステップS40に進み、選択されている復号されたデータに対応するエラーフラグが”0”であるか否かを判定する。選択されている復号されたデータに対応するエラーフラグが”0”であると判定された場合、ステップS41に進み、ブロックデシャフル回路356は、選択されている復号されたYデータ、Uデータ、およびVデータを外部メモリ305に記憶させる。手続きは、ステップS42に進む。
【0243】
ステップS39において、連続エラー信号が”1”であると判定された場合、および、ステップS40において、選択されている復号されたデータに対応するエラーフラグが”1”であると判定された場合、データは欠落しているので、ステップS41をスキップして、ステップS42に進む。
【0244】
ステップS42において、ブロックデシャフル回路356は、バッファの全ての復号されたデータを処理したか否かを判定し、バッファの全ての復号されたデータを処理したと判定された場合、ステップS43に進む。
【0245】
ステップS42において、バッファ(88個のADRCブロック)の全ての復号されたデータをまだ処理していないと判定された場合、ステップS50に進み、ブロックデシャフル回路356は、次のデータを選択し、ステップS39に戻り、復号したデータを記憶する処理を繰り返す。
【0246】
ステップS43において、ブロックデシャフル回路356は、外部メモリ305に記憶されている最初のデータを選択する。ステップS44において、ブロックデシャフル回路356は、エラーフラグが”1”で、かつ、グレイモードであるか否かを判定し、エラーフラグが”0”、または、グレイモードでないと判定された場合、ステップS45に進み、選択されているデータをフォーマット変換回路306に出力する。
【0247】
ステップS44において、エラーフラグが”1”で、かつ、グレイモードであると判定された場合、ステップS51に進み、ブロックデシャフル回路356は、グレーデータをフォーマット変換回路306に出力し、ステップS46に進む。
【0248】
ステップS46において、ブロックデシャフル回路356は、外部メモリ305のバンクに記憶されている全てのデータを処理したか否かを判定し、外部メモリ305に記憶されている全てのデータを処理したと判定された場合、処理は終了する。
【0249】
ステップS46において、外部メモリ305に記憶されている全てのデータを処理していないと判定された場合、ステップS52に進み、ブロックデシャフル回路356は、外部メモリ305のバンクに記憶されている次のデータを選択し、ステップS44に戻り、データを出力する処理を繰り返す。
【0250】
このように、ブロックデシャフル回路356は、コードQが欠落していても、もっとも違和感の少ないデータを出力することができる。
【0251】
次に、図示せぬユーザセレクタブルなリカバリオフスイッチが”0”である場合のブロックデシャフル回路356のデータを出力する処理を図48のフローチャートを参照して説明する。ステップS71において、セグメント間デシャフル回路352は、受信回路301が生成したエラーフラグを受信し、ADRC復号回路355に供給する。ADRC復号回路355は、セグメント間デシャフル回路352から供給されたエラーフラグをブロックデシャフル回路356に出力し、ブロックデシャフル回路356は、そのエラーフラグを受信する。
【0252】
ステップS72において、ブロックデシャフル回路356は、qおよび動きフラグ等がqビットMFリカバリ回路353等において、リカバリされたか否かを判定し、qおよび動きフラグMF等がリカバリされていないと判定された場合、ステップS73に進み、外部メモリ305にエラーフラグを記憶させる。
【0253】
ステップS72において、qおよび動きフラグ等がリカバリされていると判定された場合、ステップS78に進み、ブロックデシャフル回路356は、受信したエラーフラグを全て”1”に設定し、ステップS73に進む。
【0254】
ステップS74において、ブロックデシャフル回路356は、ADRC復号回路355から復号されたYデータ、Uデータ、およびVデータを受信する。
【0255】
ステップS75において、ブロックデシャフル回路356は、qおよび動きフラグ等がqビットMFリカバリ回路353等において、リカバリされたか否かを判定し、qおよび動きフラグMF等がリカバリされていないと判定された場合、ステップS76に進み、ステップS74で受信したYデータ、Uデータ、およびVデータを記憶する。
【0256】
ステップS75において、q、動きフラグMF等がリカバリされていると判定された場合、ステップS76をスキップし、Yデータ、Uデータ、およびVデータを記憶させないで、ステップS77に進む。
【0257】
ステップS77において、ブロックデシャフル回路356は、外部メモリ305に記憶させたYデータ、Uデータ、およびVデータおよびエラーフラグをフォーマット変換回路306に出力し、処理を終了する。
【0258】
このように、リカバリオフ入力が”1”である場合、ブロックデシャフル回路356は、リカバリされたデータを出力しない。
【0259】
以上のように、復号回路304は、復号に必要な所定のデータが失われても、qビットMFリカバリ回路353およびDRMINリカバリ回路354が失われたデータをリカバリするので、復号を実行することができる。また、復号回路304は、復号ができなくても、もっとも違和感の少ないデータを出力することができる。また、リカバリオフ入力を”1”にすることで、リカバリの効果を簡単に確認することができる。
【0260】
次に、欠落画素創造回路308について説明する。欠落画素創造回路308は、プログレッシブ方式の画像を再生するとき、クラス分類適応処理により、図49(A)に示すように、創造の対象となる画素の同一のフレーム(フレームt)にある周辺の画素の画素値、並びにこれらの画素と水平方向および垂直方向に同一の位置の1つ前のフレーム(フレームt−1)にある画素の画素値を基に、欠落した画素の画素値などを創造する。また、欠落画素創造回路308は、クラス分類適応処理により、図49(B)に示すように、創造の対象となる画素の同一のフィールド(フィールドt)にある周辺の画素の画素値、これらの画素と水平方向および垂直方向に同一の位置の1つ前のフィールド(フィールドt−1)、並びに創造の対象となる画素の周辺の画素と水平方向および垂直方向に同一の位置の2つ前のフィールド(フィールドt−2)にある画素の画素値を基に、欠落した画素の画素値などを創造する。
【0261】
図50は、欠落画素創造回路308の構成を示すブロック図である。欠落画素創造回路308に入力されたデータである画素値および画素の欠落を示すエラーフラグは、前処理回路501およびタップ構築回路502−1に供給される。
【0262】
前処理回路501は、入力された画素値および画素の欠落を示すエラーフラグを基に、欠落している画素の値を線形補間フィルタで生成し、欠落している画素にその値を設定し、タップ構築回路502−2乃至502−5に供給する。なお、画素値は、タップデータとも称する。
【0263】
前処理回路501の処理を図51のフローチャートを参照して説明する。ステップS131において、前処理回路501は、エラーフラグを基に、対象となる画素が欠落しているか否かを判定し、対象となる画素が欠落していないと判定された場合、ステップS132に進み、対象となる画素の画素値を、対象となる画素に設定し、処理は終了する。
【0264】
ステップS131において、対象となる画素が欠落していると判定された場合、ステップS133に進み、前処理回路501は、エラーフラグを基に、対象となる画素の水平方向に隣接している画素のいずれかが欠落しているか否かを判定する。ステップS133において、対象となる画素の水平方向に隣接している画素のいずれも欠落していないと判定された場合、ステップS134に進み、前処理回路501は、対象となる画素の水平方向に隣接している2つの画素の画素値の平均値を対象となる画素の画素値に設定し、処理は終了する。
【0265】
ステップS133において、対象となる画素の水平方向に隣接している画素のいずれかが欠落していると判定された場合、ステップS135に進み、前処理回路501は、対象となる画素の水平方向に隣接している画素のいずれも欠落しているか否かを判定する。ステップS135において、対象となる画素の水平方向に隣接している画素のいずれかが欠落していないと判定された場合、ステップS136に進み、前処理回路501は、対象となる画素の水平方向に隣接している、欠落していない画素の画素値を対象となる画素の画素値に設定し、処理は終了する。
【0266】
ステップS135において、対象となる画素の水平方向に隣接している画素のいずれも欠落していると判定された場合、ステップS137に進み、前処理回路501は、エラーフラグを基に、対象となる画素の垂直方向に隣接している画素のいずれかが欠落しているか否かを判定する。ステップS137において、対象となる画素の垂直方向に隣接している画素のいずれも欠落していないと判定された場合、ステップS138に進み、前処理回路501は、対象となる画素の垂直方向に隣接している2つの画素の画素値の平均値を対象となる画素の画素値に設定し、処理は終了する。
【0267】
ステップS137において、対象となる画素の垂直方向に隣接している画素のいずれかが欠落していると判定された場合、ステップS139に進み、前処理回路501は、エラーフラグを基に、対象となる画素に隣接している全ての画素が欠落しているか否かを判定する。ステップS139において、対象となる画素に隣接しているいずれかの画素が欠落していないと判定された場合、ステップS40に進み、前処理回路501は、対象となる画素に隣接している、欠落していない画素の画素値を対象となる画素の画素値に設定し、処理は終了する。
【0268】
ステップS139において、対象となる画素に隣接している全ての画素が欠落していると判定された場合、ステップS41に進み、前処理回路501は、対象となる画素と同じ位置の過去のフレームの画素の画素値を、対象となる画素の画素値に設定し、処理は終了する。
【0269】
以上のように、前処理回路501は、対象となる画素の画素値を周辺の画素の画素値から線形に補間する。前処理回路501による補間処理により、これに続く処理で使用できるタップの範囲を広げることができる。
【0270】
タップ構築回路502−1乃至502−5は、それぞれ、タップデータ等を、所定のタイミングで、動きクラス生成回路503、DRクラス生成回路504、空間クラス生成回路505、および欠落クラス生成回路506に供給する。
【0271】
動きクラス生成回路503は、イニシャライズ回路309から供給されたパラメータ、並びにタップ構築回路502−1から供給されたエラーフラグおよび選択されたタップを基に、動きクラスコードおよび静動フラグを生成し、タップ構築回路502−2乃至502−5およびクラス合成回路507に出力する。動きクラスコードは、動きの量を示す2ビットの情報を有し、静動フラグは、動きの有り無しを1ビットで示す。
【0272】
図52(A)は、動きクラス生成回路503による時間アクティビティの算出に使用される、創造の対象となる画素を中心とした3×3の画素の例を示す図である。図52(A)において、”エラー”は、欠落した画素を示す。図52(B)は、図52(A)に示された画素に対応する、1つ前のフレームの3×3の画素の例を示す図である。図52(A)および図52(B)に示されるL1乃至L3は、それぞれラインを示し、ラインの同一の番号は、垂直方向に同一の位置であることを示す。図52(A)および図52(B)に示されるH1乃至H3は、それぞれ画素の水平方向の位置を示し、その同一の番号は、水平方向に同一の位置であることを示す。
【0273】
図52(A)および図52(B)に示される場合において、時間アクティビティは、式(12)で算出される。
【0274】
式(12)において、()は、画素の画素値を表し、||は、絶対値を求める関数を表す。
【0275】
動きクラス生成回路503は、創造の対象となる画素を中心とした3×3の画素の最大値と最小値との差に1を加算した空間アクティビティを算出する。
【0276】
図53は、動きクラス生成回路503による空間アクティビティの算出に使用される、創造の対象となる欠落した画素を中心とした3×3の画素の例を示す図である。このとき、空間アクティビティは、式(13)で算出される。
【0277】
空間アクティビティ=Max(qi)−Min(qi)+1 (13)
式(13)において、Max(qi)は、q1乃至q9の画素値の最大値を示す。Min(qi)は、q1乃至q9の画素値の最小値を示す。
【0278】
動きクラス生成回路503は、空間アクティビティを基に、それぞれ異なる値を有する閾値を選択する。動きクラス生成回路503は、動き判定の閾値、および時間アクティビティを基に、動きクラスコードを設定する。
【0279】
図54は、動き判定の閾値を説明する図である。動き判定の閾値は、空間アクティビティの値によって、異なる値が使用される。空間アクティビティが大きくなれば、大きな値の閾値が使用される。これは、空間アクティビティが大きい場合、動きが少なくとも、時間アクティビティが、大きな値となることを考慮したものである。
【0280】
なお、スタンダードデンシティのデータに対する処理においては、空間アクティビティとは無関係に固定された閾値を使用して動きクラスコードが設定される。
【0281】
次に、動きクラス生成回路503の動きクラスコードを設定する処理を、図55のフローチャートを参照して説明する。ステップS151において、動きクラス生成回路503は、時間アクティビティが、閾値1以下であるか否かを判定し、時間アクティビティが閾値1以下であると判定された場合、ステップS152に進み、動きクラスコードを0に設定し、処理は終了する。
【0282】
ステップS151において、時間アクティビティが閾値1を越えると判定された場合、ステップS153に進み、動きクラス生成回路503は、時間アクティビティが、閾値2以下であるか否かを判定し、時間アクティビティが閾値2以下であると判定された場合、ステップS154に進み、動きクラスコードを1に設定し、処理は終了する。
【0283】
ステップS153において、時間アクティビティが閾値2を越えると判定された場合、ステップS155に進み、動きクラス生成回路503は、時間アクティビティが閾値3以下であるか否かを判定し、時間アクティビティが閾値3以下であると判定された場合、ステップS156に進み、動きクラスコードを2に設定し、処理は終了する。
【0284】
ステップS155において、時間アクティビティが閾値3を越えると判定された場合、ステップS157に進み、動きクラス生成回路503は、動きクラスコードを3に設定し、処理は終了する。
【0285】
以上のように、動きクラス生成回路503は、閾値および時間アクティビティを基に、動きクラスコードを設定する。
【0286】
動きクラス生成回路503は、複数の画素の動きクラスコードを基に、再度、動きフラグを設定する。例えば、図56に示すように、創造の対象となる画素の周辺の画素の動きクラスコードを基に、動きクラス生成回路503は、対象となる画素の動きクラスコードを設定する。
【0287】
動きクラス生成回路503の動きクラスコードを設定する処理を図57のフローチャートを参照して説明する。ステップS171において、動きクラス生成回路503は、7つの画素の動きクラスコードのうち、3の値が設定されている動きクラスコードの数が、閾値3より大きいか否かを判定し、3の値が設定されている動きクラスコードの数が、閾値3より大きいと判定された場合、ステップS172に進み、動きクラスコードに3を設定し、処理は終了する。
【0288】
ステップS171において、3の値が設定されている動きクラスコードの数が、閾値3以下であると判定された場合、ステップS173に進み、動きクラス生成回路503は、3の値が設定されている動きクラスコードの数と2の値が設定されている動きクラスコードの数を加えた値が、閾値2より大きいか否かを判定し、3の値が設定されている動きクラスコードの数と2の値が設定されている動きクラスコードの数を加えた値が、閾値2より大きいと判定された場合、ステップS174に進み、動きクラスコードに2を設定し、処理は終了する。
【0289】
ステップS173において、3の値が設定されている動きクラスコードの数と2の値が設定されている動きクラスコードの数を加えた値が、閾値2以下であると判定された場合、ステップS175に進み、動きクラス生成回路503は、3の値が設定されている動きクラスコードの数、2の値が設定されている動きクラスコードの数、および1の値が設定されている動きクラスコードの数を加えた値が、閾値1より大きいか否かを判定し、3の値が設定されている動きクラスコードの数、2の値が設定されている動きクラスコードの数、および1の値が設定されている動きクラスコードの数を加えた値が、閾値1より大きいと判定された場合、ステップS176に進み、動きクラスコードに1を設定し、処理は終了する。
【0290】
ステップS175において、3の値が設定されている動きクラスコードの数、2の値が設定されている動きクラスコードの数、および1の値が設定されている動きクラスコードの数を加えた値が、閾値1以下であると判定された場合、ステップS177に進み、動きクラス生成回路503は、動きクラスコードに0を設定し、処理は終了する。
【0291】
このように、動きクラス生成回路503は、複数の画素の動きクラスコード、並びに予め記憶している閾値を基に、最終的な、動きクラスコードを設定する。
【0292】
以上のように、動きクラス生成回路503は、複数の画素の画素値から動きクラスコードを設定し、出力する。動きクラス生成回路503は、動きクラスコードを基に、静動フラグを設定し、出力する。例えば、動きクラスコードが0または1のとき、静動フラグは、0に設定され、動きクラスコードが2または3のとき、静動フラグは、1に設定される。
【0293】
タップ構築回路502−2は、動きクラス生成回路503から供給された動きクラスコードおよび静動フラグ、並びに欠落画素の位置を基に、全てのクラスの予測タップを含む予測タップ可変選択範囲のタップを選択して、選択した予測タップ可変選択範囲のタップを可変タップ選択回路508に供給する。
【0294】
タップ構築回路502−3は、動きクラス生成回路503から供給された動きクラスコードおよび静動フラグを基に、クラスタップを選択して、選択したクラスタップと共に、選択された各クラスタップが欠落しているか否かを示すエラーフラグを、DRクラス生成回路504に供給する。DRクラス生成回路504は、タップ構築回路502−3から供給されたクラスタップ、およびエラーフラグを基に、欠落していないクラスタップのみからダイナミックレンジを検出して、検出したダイナミックレンジに対応するDRクラスコードを生成して、クラス合成回路507に出力する。
【0295】
タップ構築回路502−4は、動きクラス生成回路503から供給された動きクラスコードおよび静動フラグを基に、クラスタップを選択して、選択したクラスタップと共に、選択された各クラスタップが欠落しているか否かを示すエラーフラグを、空間クラス生成回路505に供給する。空間クラス生成回路505は、タップ構築回路502−4から供給されたクラスタップ、およびエラーフラグを基に、欠落していないクラスタップのみから空間クラスコードを生成して、クラス合成回路507に出力する。なお、空間クラス生成回路505は、全てのクラスタップから空間クラスコードを生成するようにしてもよい。
【0296】
タップ構築回路502−5は、動きクラス生成回路503から供給された動きクラスコードおよび静動フラグを基に、欠落している画素に対応するエラーフラグ、および欠落している画素の周辺の画素に対応するエラーフラグを、欠落クラス生成回路506に供給する。欠落クラス生成回路506は、タップ構築回路502−5から供給された、欠落している画素に対応するエラーフラグ、および欠落している画素の周辺の画素に対応するエラーフラグを基に、欠落クラスコードを生成して、クラス合成回路507に出力する。
【0297】
クラス合成回路507は、動きクラスコード、静動フラグ、DRクラスコード、空間クラスコード、および欠落クラスコードを基に、クラスコードを統合し、最終的なクラスコードを形成して、係数保持クラスコード選択回路509に出力する。
【0298】
係数保持クラスコード選択回路509は、イニシャライズ回路309から供給された係数セット、および予測構造、並びにクラス合成回路507から供給されたクラスコードを基に、可変タップ選択回路508に、可変タップを選択させるとともに、予測係数列を推定予測演算回路510に出力する。
【0299】
図58乃至図61を基に、可変タップ選択回路508が選択する予測タップデータ列を説明する。
【0300】
図58は、動きクラスコードが0のとき、タップ構築回路502−2が可変タップ選択回路508に出力する予測タップ可変選択範囲と、可変タップ選択回路508が選択する予測タップデータ列の例を示す図である。図58において、実線で囲んだタップは、タップ構築回路502−2が出力する予測タップ可変選択範囲を示し、点線で囲んだタップは、可変タップ選択回路508が選択する予測タップデータ列の一例を示す。可変タップ選択回路508が選択する予測タップデータ列は、タップ構築回路502−2が出力する予測タップ可変選択範囲に含まれるタップから構成される。
【0301】
例えば、動きクラスコードが0のとき、タップ構築回路502−2は、隣接するタップを選択する。例えば、動きクラスコードが0のとき、可変タップ選択回路508は、全て、隣接するタップを選択する。
【0302】
図59は、動きクラスコードが1のとき、タップ構築回路502−2が出力する予測タップ可変選択範囲と、可変タップ選択回路508が選択する予測タップデータ列を示す図である。図59において、実線で囲んだタップは、タップ構築回路502−2が出力する予測タップ可変選択範囲を示し、点線で囲んだタップは、可変タップ選択回路508が選択する予測タップデータ列を示す。可変タップ選択回路508が選択する予測タップデータ列は、タップ構築回路502−2が出力する予測タップ可変選択範囲に含まれるタップから構成される。
【0303】
例えば、動きクラスコードが1のとき、タップ構築回路502−2は、水平方向に隣接するタップと、その水平方向に隣接するタップとは隣接しないタップを選択する。例えば、動きクラスコードが0のとき、可変タップ選択回路508は、隣接する5個のタップと、その隣接する5個のタップとは離れた水平方向に隣接する5個のタップを選択する。
【0304】
図60は、欠落タップが存在して、動きクラスコードが0のとき、タップ構築回路502−2が出力する予測タップ可変選択範囲と、可変タップ選択回路508が選択する予測タップデータ列を示す図である。図中の黒丸は、欠落タップを示す。図60において、実線で囲んだタップは、タップ構築回路502−2が出力する予測タップ可変選択範囲を示し、点線で囲んだタップは、可変タップ選択回路508が選択する予測タップデータ列を示す。可変タップ選択回路508が選択する予測タップデータ列は、タップ構築回路502−2が出力する予測タップ可変選択範囲に含まれるタップから構成される。
【0305】
例えば、欠落タップが存在して、動きクラスコードが0のとき、タップ構築回路502−2は、隣接するタップを選択する。例えば、欠落タップが存在して、動きクラスコードが0のとき、可変タップ選択回路508は、欠落タップが存在しないときと同じ数の、隣接するタップ(例えば、欠落タップの隣のタップまたは欠落タップと同じ並びのタップ)を選択する。
【0306】
図61は、欠落タップが存在して、動きクラスコードが1のとき、タップ構築回路502−2が出力する予測タップ可変選択範囲と、可変タップ選択回路508が選択する予測タップデータ列を示す図である。図中の黒丸は、欠落タップを示す。図60において、実線で囲んだタップは、タップ構築回路502−2が出力する予測タップ可変選択範囲を示し、点線で囲んだタップは、可変タップ選択回路508が選択する予測タップデータ列を示す。可変タップ選択回路508が選択する予測タップデータ列は、タップ構築回路502−2が出力する予測タップ可変選択範囲に含まれるタップから構成される。
【0307】
例えば、欠落タップが存在して、動きクラスコードが1のとき、タップ構築回路502−2は、水平方向に隣接するタップと、その水平方向に隣接するタップとは隣接しないタップを選択する。例えば、欠落タップが存在して、動きクラスコードが0のとき、可変タップ選択回路508は、欠落タップが存在しないときと同じ数の、水平方向に隣接するタップ(例えば、欠落タップの隣のタップまたは欠落タップと同じ並びのタップ)と、その隣接するタップとは離れた、欠落タップが存在しないときと同じ数の、水平方向に隣接するタップを選択する。
【0308】
推定予測演算回路510は、イニシャライズ回路309から設定された出力モードを基に、可変タップ選択回路508から供給された予測タップデータ列、および係数保持クラスコード選択回路509から供給された予測係数列を基に、線形推定式等からなる推定式を用いて、欠落した画素の画素値を算出する。
【0309】
このように、欠落画素創造回路308は、ダイナミックレンジ、動き、欠落、および画素値の変化などによるクラス分類により、欠落した画素の周辺の画素値を基に、欠落した画素値を算出する。
【0310】
また、推定予測演算回路510は、入力された画像の画質をアップさせる(階調の増加(Yデータ、Uデータ、およびVデータのビット数の増加)、ノイズの除去、量子化歪みの除去(時間方向の歪みの除去を含む)、4倍密度の解像度の創造など)ことができる。
【0311】
次に、4倍密解像度創造回路312について説明する。4倍密解像度創造回路312は、インターレース方式の画像が入力されたとき、図62(A)および図62(B)に示すように、クラス分類適応処理を適用し、前および後のフレームの画素の位置に対して垂直方向に1/4ずれた位置であって、前および後の2つのフィールドの間の位置に創造した画素を配置する。
【0312】
4倍密解像度創造回路312は、プログレッシブ方式の画像が入力されたとき、図62(C)および図62(D)に示すように、クラス分類適応処理を適用し、前および後のフレームの画素の位置に対して垂直方向に同一の位置であって、前および後の2つのフレームの間の位置に創造した画素を配置する。
【0313】
4倍密解像度創造回路312は、プログレッシブ方式の画像を出力するとき、図62(C)および図62(D)に示すように、クラス分類適応処理を利用し、図62に示すように、2つのフレームの所定の数の画素の画素値を基に、入力された2つのフレームの間に2つの画素を創造する。
【0314】
図63は、4倍密解像度創造回路312の構成を示すブロック図である。フォーマット変換回路310から供給されるYデータ、Uデータ、およびVデータは、タップ選択回路601、タップ選択回路602、およびタップ選択回路603に供給される。タップ選択回路601は、レジスタ609に格納されているタップの位置情報に従って、密度を4倍にするために創造する画素の画素値を算出するのに使用する画素を選択する。タップ選択回路601により選択された画素は、推定予測演算回路607に供給される。
【0315】
タップ選択回路602は、レジスタ610に格納されているタップの位置情報に従って、創造する画素の近傍の画素の画素値のうち、空間クラス分類に使用する画素を選択する。タップ選択回路602により選択された画素は、空間クラス検出回路604に供給される。空間クラス検出回路604は、空間クラスを検出する。検出された空間クラスは、クラス合成回路606に供給される。
【0316】
タップ選択回路603は、レジスタ611に格納されているタップの位置情報に従って、創造する画素の近傍の画素に基づいて動きに対応するクラス分類に使用する画素を選択するものである。タップ選択回路603により選択された画素は、動きクラス検出回路605に供給される。動きクラス検出回路605は、動きクラスを検出する。検出された動きクラスは、クラス合成回路606およびレジスタ610に供給される。レジスタ610のタップの位置情報は、動きクラス検出回路605から供給された動きクラスによって切り換えられる。
【0317】
クラス合成回路606は、空間クラスおよび動きクラスを統合し、最終的なクラスコードを形成する。
【0318】
このクラスコードが係数メモリ612に対して、アドレスとして供給され、係数メモリ612からクラスコードに対応する係数セットが読み出される。係数セットは、推定予測演算回路607に供給される。推定予測演算回路607は、タップ選択回路601から供給された画素の画素値、および係数メモリ612から供給された係数セットを基に、線形推定式を用いて、創造する画素の画素値を算出する。推定予測演算回路607からの出力は、ラインデータL1およびラインデータL2として、線順次変換回路613に供給される。
【0319】
係数セットは、教師信号としての、1つのフィールド当たり、水平方向に528画素および垂直方向に240画素を含むYデータ、それぞれ1つのフィールド当たり、水平方向に176画素および垂直方向に120画素を含むUデータおよびVデータを用いて、クラス毎の係数セットが予め生成されて、イニシャライズ回路313に記憶されている。
【0320】
線順次変換回路613は、ラインメモリを有し、推定予測演算回路607から出力されるラインデータL1およびラインデータL2をレジスタ608に格納されている出力タイミングのデータに基づき、線順次で出力する。線順次変換回路613から、供給された画像の4倍の密度の画像のデータが出力される。
【0321】
レジスタ608、レジスタ609、レジスタ610、レジスタ611、および係数メモリ612は、イニシャライズ回路313に初期化信号が供給されたとき、イニシャライズ回路313から供給された係数セット等を格納する。
【0322】
図64は、4倍密解像度創造回路312がインターレース方式で4倍密解像度の画素を生成、出力する場合における、4倍密解像度創造回路312に入力される画素(図中、大きい円で示す)の位置、および4倍密解像度創造回路312が出力する画素(図中、小さい円で示す)の位置を示す図である。4倍密解像度創造回路312に入力されるフレームは、30Hzの周波数を有し、4倍密解像度創造回路312が出力するフィールドは、60Hzの周波数を有する。出力される第1のフィールドの画素は、入力された画素から、垂直方向に出力される画面のラインの1ライン分だけ上にずれて出力され、1ライン当たりの画素の数は、2倍になっている。出力される第2のフィールドの画素は、入力された画素から、垂直方向に出力される画面のラインの1ライン分だけ下にずれて出力され、1ライン当たりの画素の数は、2倍になっている。
【0323】
図65は、4倍密解像度創造回路312がプログレッシブ方式で4倍密解像度の画素を生成して、出力するときの、4倍密解像度創造回路312に入力される画素(図中、大きい円で示す)の位置、および4倍密解像度創造回路312が出力する画素(図中、小さい円で示す)の位置を示す図である。4倍密解像度創造回路312に入力されるフレームは、30Hzの周波数を有し、4倍密解像度創造回路312が出力するフレームは、60Hzの周波数を有する。出力されるフレームの画素は、入力された画素と同じライン上に出力され、1ライン当たりの画素の数は、2倍になっている。
【0324】
以上のように、4倍密解像度創造回路312は、入力された画像を基に、2倍のフレーム周波数また2倍のフィールド周波数で、1ライン当たり2倍の画素の数を有する画像を創造して出力する。
【0325】
次に、UV垂直2倍回路333について説明する。図66は、UV垂直2倍回路333の構成を示すブロック図である。UV垂直2倍回路333には、4倍密解像度創造回路312により、画素の数が増やされたUデータおよびVデータが入力される。入力されたデータは、ラインFIFO701−1乃至701−6により、1ライン分ずつ遅延され、順次後段に出力される。
【0326】
乗算回路702−1は、入力されたデータに係数を乗じて、加算回路703に出力する。
【0327】
乗算回路702−2乃至702−7は、それぞれラインFIFO701−1乃至701−6より、入力されたデータに係数を乗じて、加算回路703に出力する。
【0328】
加算回路703は、乗算回路702−1乃至702−7から供給されたデータを加算し、ラッチ回路704に供給する。ラッチ回路704は、クロック信号が入力されたとき、入力されたデータをラッチする。
【0329】
UV垂直2倍回路333の動作を図67を参照して説明する。ラインFIFO701−1乃至701−6は、入力されたラインに連続する6本のライン上の、画面の水平方向に同一の位置の画素(図67に丸印で示す画素)のデータを出力する。乗算回路702−1乃至702−7は、入力されたデータに、それぞれ係数を乗じて、加算回路703に出力する。加算回路703は、出力されたデータを加算し、ラッチ回路704に出力する。ラッチ回路704には、ラインの本数が2倍となるタイミング(図67に黒い3角形で示すタイミング)で、クロック信号が入力される。従って、UV垂直2倍回路333は、入力されたUデータおよびVデータのラインの本数を2倍に補間して、出力する。
【0330】
次に、受信装置2の受信の処理を図68のフローチャートを参照して説明する。ステップS201において、パケット解体回路302は、受信回路301が受信したパケットを解体し、復号回路304に供給する。ステップS202において、復号回路304は、パケット解体回路302から入力されたデータを、ADRC方式で復号する。伝送中にデータが欠落したとき、復号回路304の復号において、q、動きフラグMF、ダイナミックレンジDR、または画素値の最小値MINがリカバリされ、Yデータ、Uデータ、およびVデータが復号される。
【0331】
ステップS203において、フォーマット変換回路306は、復号回路304から供給されたYデータ、Uデータ、およびVデータを、欠落画素創造回路308が処理できる所定のフォーマットに変換する。ステップS204において、欠落画素創造回路308は、欠落した画素のうち、復号回路304で復号できなかった画素を、クラス適応処理により、創造する。
【0332】
ステップS205において、フォーマット変換回路310は、欠落画素創造回路308から供給されたYデータ、Uデータ、およびVデータを、4倍密解像度創造回路312が処理できる所定のフォーマットに変換する。ステップS206において、4倍密解像度創造回路312は、入力されたYデータ、Uデータ、およびVデータを基に、クラス適応処理により画素を創造し、画素の密度を4倍にして、補間部314に出力する。
【0333】
ステップS207において、フォーマット変換回路331は、4倍密解像度創造回路312から供給されたYデータ、Uデータ、およびVデータを、所定の補間の処理ができるように、データ形式を変更する。ステップS208において、UV垂直2倍回路333は、UデータおよびVデータを垂直方向に画素を補間して、ライン数が2倍になるようにする。ステップS209において、D/A変換回路335は、所定のクロックレートでデジタルアナログ変換し、アナログY信号、アナログU信号、およびアナログV信号を出力し、処理は終了する。
【0334】
以上のように、受信装置2は、画素が欠落しているとき、欠落した画素を創造し、画素が欠落していないとき、ノイズが除去されるか、または解像度がより高いなどの、高質な画素を創造して、出力することができる。
【0335】
次に、欠落画素創造回路308において使用される予測係数の生成について説明する。
【0336】
図69は、欠落画素創造回路308において使用される予測係数を生成する学習装置を説明するブロック図である。学習装置に入力された画像は、ノイズ付加回路801、選択回路802、および正規方程式演算回路812に入力される。
エラーフラグは、選択回路802、前処理回路803、およびタップ構築回路804−1乃至804−5に供給される。エラーフラグは、学習装置の学習の内容に対応して、適宜、欠落を示すように設定されている。
【0337】
ノイズ付加回路801は、入力された画像の画素にノイズを付加して、ノイズを付加した画素を選択回路802に供給する。選択回路802は、エラーフラグを基に、学習装置に入力された画素、またはノイズ付加回路801から供給されたノイズが付加された画素のいずれか一方を選択して、選択した画素を前処理回路803およびタップ構築回路804−1に供給する。例えば、選択回路802は、エラーフラグが欠落していることを示すとき、学習装置に入力された画素を選択して、選択された画素を前処理回路803およびタップ構築回路804−1に供給し、選択回路802は、エラーフラグが欠落していないことを示すとき、ノイズが付加された画素を選択して、選択された画素を前処理回路803およびタップ構築回路804−1に供給する。
【0338】
前処理回路803は、入力された画素値および画素の欠落を示すエラーフラグを基に、欠落しているとされている画素の値を線形補間フィルタで生成し、欠落しているとされている画素にその値を設定し、タップ構築回路804−2乃至804−5に供給する。前処理回路803は、前処理回路501と同様の処理を行うので、その処理の詳細な説明は省略する。
【0339】
タップ構築回路804−1乃至804−5は、それぞれ、タップデータ等を、所定のタイミングで、動きクラス生成回路805、DRクラス生成回路806、空間クラス生成回路807、および欠落クラス生成回路808に供給する。
【0340】
動きクラス生成回路805は、イニシャライズ回路814から供給されたパラメータ、並びにタップ構築回路804−1から供給されたエラーフラグおよび選択されたタップを基に、動きクラスコードおよび静動フラグを生成し、タップ構築回路804−2乃至804−5およびクラス合成回路809に出力する。動きクラス生成回路805は、動きクラス生成回路503と同様の処理を行うので、その処理の詳細な説明は省略する。
【0341】
タップ構築回路804−2は、動きクラス生成回路805から供給された動きクラスコードおよび静動フラグ、並びに欠落画素の位置を基に、全てのクラスの予測タップを含む予測タップ可変選択範囲のタップを選択して、選択した予測タップ可変選択範囲のタップを可変タップ選択回路810に供給する。
【0342】
タップ構築回路804−3は、動きクラス生成回路805から供給された動きクラスコードおよび静動フラグを基に、クラスタップを選択して、選択したクラスタップと共に、選択された各クラスタップが欠落しているか否かを示すエラーフラグを、DRクラス生成回路806に供給する。DRクラス生成回路806は、タップ構築回路804−3から供給されたクラスタップ、およびエラーフラグを基に、欠落していないクラスタップのみからダイナミックレンジを検出して、検出したダイナミックレンジに対応するDRクラスコードを生成して、クラス合成回路809に出力する。
【0343】
タップ構築回路804−4は、動きクラス生成回路805から供給された動きクラスコードおよび静動フラグを基に、クラスタップを選択して、選択したクラスタップと共に、選択された各クラスタップが欠落しているか否かを示すエラーフラグを、空間クラス生成回路807に供給する。空間クラス生成回路807は、タップ構築回路804−4から供給されたクラスタップ、およびエラーフラグを基に、欠落していないクラスタップのみから空間クラスコードを生成して、クラス合成回路809に出力する。
【0344】
タップ構築回路804−5は、動きクラス生成回路805から供給された動きクラスコードおよび静動フラグを基に、欠落している画素に対応するエラーフラグ、および欠落している画素の周辺の画素に対応するエラーフラグを、欠落クラス生成回路808に供給する。欠落クラス生成回路808は、タップ構築回路804−5から供給された、欠落している画素に対応するエラーフラグ、および欠落している画素の周辺の画素に対応するエラーフラグを基に、欠落クラスコードを生成して、クラス合成回路809に出力する。
【0345】
クラス合成回路809は、動きクラスコード、静動フラグ、DRクラスコード、空間クラスコード、および欠落クラスコードを基に、クラスコードを統合し、最終的なクラスコードを形成して、クラスコード選択回路811に出力する。
【0346】
クラスコード選択回路811は、イニシャライズ回路814から供給された予測構造、およびクラス合成回路809から供給されたクラスコードを基に、可変タップ選択回路810に、可変タップを選択させるとともに、クラスコードを正規方程式演算回路812に出力する。
【0347】
正規方程式演算回路812は、イニシャライズ回路814から設定された出力モードを基に、学習装置に入力された教師データである画像、および学習データである予測タップデータ列が可変タップ選択回路810から供給されると、それらを用いて、最小自乗法により、誤差を最小する予測係数Wを算出する。
【0348】
ここで、正規方程式演算回路812が算出する予測係数Wについて簡単に説明する。
【0349】
例えば、いま、教師データである入力された元の画像の画素値yの予測値E[y]を、学習データである予測タップデータ列の画素値x1,x2,・・・と、所定の予測係数w1,w2,・・・の線形結合により規定される線形1次結合モデルにより求めることを考える。この場合、予測値E[y]は、次式で表すことができる。
【0350】
E[y]=w1x1+w2x2+・・・
・・・(14)
【0351】
そこで、一般化するために、予測係数wの集合でなる行列W、学習データの集合でなる行列X、および予測値E[y]の集合でなる行列Y’を、
【数6】
で定義すると、次のような観測方程式が成立する。
【0352】
XW=Y’
・・・(15)
【0353】
そして、この観測方程式に最小自乗法を適用して、元の画像の画素値yに近い予測値E[y]を求めることを考える。この場合、元の画像の画素値yの集合でなる行列Y、および元の画像の画素値yに対する予測値E[y]の残差eの集合でなる行列Eを、
【0354】
【数7】
で定義すると、式(15)から、次のような残差方程式が成立する。
【0355】
XW=Y+E
・・・(16)
【0356】
この場合、元の画像の画素値yに近い予測値E[y]を求めるための予測係数wiは、自乗誤差
【数8】
を最小にすることで求めることができる。
【0357】
従って、上述の自乗誤差を予測係数wiで微分したものが0になる場合、即ち、次式を満たす予測係数wiが、元の画像の画素値yに近い予測値E[y]を求めるため最適値ということになる。
【0358】
【数9】
・・・(17)
【0359】
そこで、まず、式(16)を、予測係数wiで微分することにより、次式が成立する。
【0360】
【数10】
・・・(18)
【0361】
式(17)および(18)より、式(19)が得られる。
【0362】
【数11】
・・・(19)
【0363】
さらに、式(16)の残差方程式における学習データx、予測係数w、教師データy、および残差eの関係を考慮すると、式(19)から、次のような正規方程式を得ることができる。
【0364】
【数12】
・・・(20)
【0365】
式(20)の正規方程式は、求めるべき予測係数wの数と同じ数だけたてることができ、従って、式(20)を解くことで、最適な予測係数wを求めることができる。なお、式(20)を解くにあたっては、例えば、掃き出し法(Gauss-Jordanの消去法)などを適用することが可能である。
【0366】
即ち、例えば、いま、学習データである予測タップデータの画素値を、x1,x2,x3,・・・とし、求めるべき予測係数Wをw1,w2,w3,・・・とするとき、これらの線形1次結合により、教師データの、ある画素の画素値yを求めるには、予測係数w1,w2,w3,・・・は、次式を満たす必要がある。
【0367】
y=w1x1+w2x2+w3x3+・・・
【0368】
そこで、正規方程式演算回路812では、同一クラスの予測タップと、対応する教師データの画素とから、真値yに対する、予測値w1x1+w2x2+w3x3+・・・の自乗誤差を最小とする予測係数w1,w2,w3,・・・が、上述した式(20)に示す正規方程式をたてて解くことにより求められる。
【0369】
従って、この処理をクラスごとに行うことにより、各クラスごとに予測係数Wが生成される。
【0370】
正規方程式演算回路812において求められた、クラスごとの予測係数Wは、クラスコードと共に、係数メモリ813に供給される。これにより、係数メモリ813においては、正規方程式演算回路812からの予測係数Wが、クラスコードが示すクラスに対応するアドレスに記憶される。
【0371】
このように、学習装置は、欠落画素創造回路308が使用する係数を生成することができる。
【0372】
次に、学習装置の予測係数Wの生成の処理について、図70のフローチャートを参照して説明する。ステップS301において、学習装置の欠落クラス生成回路808は、エラーフラグを基に、注目画素が欠落しているか否かを判定し、注目画素が欠落していると判定された場合、ステップS302に進み、クラス合成回路809は、動きクラス生成回路805から供給された動きクラスコード、DRクラス生成回路806から供給されたDRクラスコード、空間クラス生成回路807から供給された空間クラスコード、および欠落クラス生成回路808から供給された欠落クラスコードを基に、注目画素の欠落に対応するクラスコードを生成し、処理はステップS304に進む。
【0373】
ステップS301において、注目画素が欠落していないと判定された場合、ステップS303に進み、クラス合成回路809は、動きクラス生成回路805から供給された動きクラスコード、DRクラス生成回路806から供給されたDRクラスコード、空間クラス生成回路807から供給された空間クラスコード、および欠落クラス生成回路808から供給された欠落クラスコードを基に、正常な注目画素に対応するクラスコードを生成し、処理はステップS304に進む。
【0374】
ステップS304において、可変タップ選択回路810は、クラスコードが示すクラスに対応する予測タップを選択する。
【0375】
ステップS305において、正規方程式演算回路812は、クラスコードに対応する正規方程式を生成する。ステップS306において、正規方程式演算回路812は、生成した正規方程式に、教師データである入力された元の画素、および学習データである予測タップを設定して、正規方程式を解くことにより予測係数Wを算出する。
【0376】
ステップS307において、正規方程式演算回路812は、クラスコードに対応させて、予測係数Wを係数メモリ813に記憶させ、処理は終了する。
【0377】
係数メモリ813に記憶された予測係数Wは、欠落画素創造回路308のイニシャライズ回路309に格納され、例えば、受信装置2が起動するとき、係数保持クラスコード選択回路509にロードされる。
【0378】
以上のように、学習装置が生成した予測係数Wを基に、受信装置2は、画素が欠落しているとき、欠落した画素を創造し、画素が欠落していないとき、ノイズが除去されるか、または解像度がより高いなどの、高質な画素を創造して、出力することができる。
【0379】
なお、画像伝送システムは、画像を通信するとして説明したが、画像に限らず、音声などのデータを伝送するようにしてもよい。
【0380】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【0381】
図71は、記録媒体およびコンピュータの例を説明する図である。CPU(Central Processing Unit)901は、各種アプリケーションプログラムや、OS(Operating System)を実際に実行する。ROM(Read-only Memory)902は、一般的には、CPU901が使用するプログラムや演算用のパラメータのうちの基本的に固定のデータを格納する。RAM(Random-Access Memory)903は、CPU901の実行において使用するプログラムや、その実行において適宜変化するパラメータを格納する。これらはCPUバスなどから構成されるホストバス904により相互に接続されている。
【0382】
ホストバス904は、ブリッジ905を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス906に接続されている。
【0383】
キーボード908は、CPU901に各種の指令を入力するとき、使用者により操作される。マウス909は、ディスプレイ910の画面上のポイントの指示や選択を行うとき、使用者により操作される。ディスプレイ910は、液晶表示装置またはCRT(Cathode Ray Tube)などから成り、各種情報をテキストやイメージで表示する。HDD(Hard Disk Drive)911は、ハードディスクを駆動し、それらにCPU901によって実行するプログラムや情報を記録または再生させる。
【0384】
ドライブ912は、装着されている磁気ディスク941、光ディスク942、光磁気ディスク943、または半導体メモリ944に記録されているデータまたはプログラムを読み出して、そのデータまたはプログラムを、インターフェース907、外部バス906、ブリッジ905、およびホストバス904を介して接続されているRAM903に供給する。
【0385】
これらのキーボード908乃至ドライブ912は、インターフェース907に接続されており、インターフェース907は、外部バス906、ブリッジ905、およびホストバス904を介してCPU901に接続されている。
【0386】
記録媒体は、図71に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク941(フロッピディスクを含む)、光ディスク942(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク943(MD(Mini-Disc)を含む)、若しくは半導体メモリ944などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM902や、HDD911などで構成される。
【0387】
なお、本明細書において、記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0388】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【0389】
【発明の効果】
請求項1に記載の情報処理装置、請求項6に記載の情報処理方法、および請求項11に記載の記録媒体によれば、注目データが欠落しているか否かに関わらず、より高質なデータを生成することができるようになる。
【0390】
請求項12に記載の学習装置および請求項13に記載の学習方法によれば、生成された変換情報を利用すれば、注目データが欠落しているか否かに関わらず、より高質なデータを生成することができるようになる。
【図面の簡単な説明】
【図1】画像を送信する画像伝送システムを説明する図である。
【図2】本発明に係る送信装置1の一実施の形態の構成を示すブロック図である。
【図3】送信装置1に入力された画像信号が圧縮される過程を説明する図である。
【図4】間引きフィルタ43の構成を示すブロック図である。
【図5】ラッチ回路81の出力を説明する図である。
【図6】ラッチ回路84の出力を説明する図である。
【図7】UV垂直1/2回路45の構成を示すブロック図である。
【図8】ラッチ回路94の出力を説明する図である。
【図9】符号化回路15の構成を示すブロック図である。
【図10】処理の単位を説明する図である。。
【図11】ADRCブロックを説明する図である。
【図12】フレーム内の画素とADRCブロックの関係を示す図である。
【図13】フレーム内の画素とADRCブロックの関係を示す図である。
【図14】フレーム内の画素とADRCブロックの関係を示す図である。
【図15】YデータのADRCブロックおよびセグメントを説明する図である。
【図16】UデータまたはVデータのADRCブロックおよびセグメントを説明する図である。
【図17】ADRCブロック単位で行われるシャフルを説明する図である。
【図18】セグメントを説明する図である。
【図19】ADRC符号化回路103の構成を説明する図である。
【図20】情報量制御回路164の構成を説明する図である。
【図21】情報量制御回路164の構成を説明する図である。
【図22】セグメント間シャフル回路104のシャフルの仕方を説明する図である。
【図23】セグメント間シャフル回路104のシャフルの仕方を説明する図である。
【図24】セグメント間シャフル回路104のシャフルの仕方を説明する図である。
【図25】セグメント間シャフル回路104のシャフルの仕方を説明する図である。
【図26】パケットの構成を示す図である。
【図27】送信装置1の画像の送信の処理を説明する図である。
【図28】受信装置2の構成を示すブロック図である。
【図29】画像が伸張される過程を説明する図である。
【図30】復号回路304のブロック図である。
【図31】qビットMFリカバリ回路353の構成を示すブロック図である。
【図32】ダイナミックレンジDRまたは画素値の最小値MINのリカバリの処理を説明する図である。
【図33】ダイナミックレンジDRまたは画素値の最小値MINのリカバリの処理を説明する図である。
【図34】ダイナミックレンジDRまたは画素値の最小値MINのリカバリの処理を説明する図である。
【図35】セグメント間デシャフル回路352から出力されるデータに欠落がない場合の、復号回路304の処理のタイミングの例を示す図である。
【図36】セグメント間デシャフル回路352から出力されるデータに欠落がある場合の、復号回路304の処理のタイミングの例を示す図である。
【図37】データの記憶の方法を示す図である。
【図38】ブロックデシャフル回路356のデータの出力のタイミングを説明する図である。
【図39】リカバリエラー判定回路357の構成を示すブロック図である。
【図40】リカバリエラー判定回路357が、”1”が設定されたリカバリ判定フラグFdを出力するときの、ブロックデシャフル回路356の処理を説明する図である。
【図41】セグメント間デシャフル回路353が、連続エラー信号を出力するときの、ブロックデシャフル回路356の処理を説明する図である。
【図42】グレイモードにおけるブロックデシャフル回路356の処理を説明する図である。
【図43】ブロックデシャフル回路356のリカバリオフ入力に対応した処理を説明する図である
【図44】ブロックデシャフル回路356のリカバリオフ入力に対応した処理を説明する図である
【図45】ブロックデシャフル回路356のエスケープ信号に対応した処理を説明する図である。
【図46】ブロックデシャフル回路356の復号したデータを出力する処理を説明するフローチャートである。
【図47】ブロックデシャフル回路356の復号したデータを出力する処理を説明するフローチャートである。
【図48】リカバリオフ入力が”1”であるときのブロックデシャフル回路356のデータを出力する処理を説明するフローチャートである。
【図49】欠落画素創造回路308の処理に使用される画素を説明する図である。
【図50】欠落画素創造回路308の構成を示すブロック図である。
【図51】前処理回路803の処理を説明するフローチャートである。
【図52】時間アクティビティの算出に使用される画素の例を示す図である。
【図53】空間アクティビティの算出に使用される画素の例を示す図である。
【図54】動き判定の閾値を説明する図である。
【図55】静動判定回路521の動きクラスコードを設定する処理を説明するフローチャートである。
【図56】動きクラスコードの多数決判定に使用される画素の例を示す図である。
【図57】動きクラス生成回路805の動きクラスコードを設定する処理を説明するフローチャートである。
【図58】可変タップ選択回路810が選択する予測タップデータ列を説明する図である。
【図59】可変タップ選択回路810が選択する予測タップデータ列を説明する図である。
【図60】可変タップ選択回路810が選択する予測タップデータ列を説明する図である。
【図61】可変タップ選択回路810が選択する予測タップデータ列を説明する図である。
【図62】4倍密解像度創造回路312の処理に使用される画素の位置を説明する図である。
【図63】4倍密解像度創造回路312の構成を示すブロック図である。
【図64】4倍密解像度創造回路312がインターレース方式で出力する場合の4倍密解像度創造回路312に入力される画素の位置および4倍密解像度創造回路312が出力する画素の位置を示す図である。
【図65】4倍密解像度創造回路312がプログレッシブ方式で出力する場合の4倍密解像度創造回路312に入力される画素の位置および4倍密解像度創造回路312が出力する画素の位置を示す図である。
【図66】UV垂直2倍回路333の構成を示すブロック図である。
【図67】ラッチ回路704の出力を説明する図である。
【図68】受信装置2の受信の処理を説明するフローチャートである。
【図69】学習装置を説明するブロック図である。
【図70】係数の生成の処理を説明するフローチャートである。
【図71】記録媒体およびコンピュータの例を説明する図である。
【符号の説明】
1 送信装置, 2 受信装置, 13 間引き部, 15 符号化回路, 17 パケット化回路, 42 A/D変換回路, 43 間引きフィルタ, 45 UV垂直1/2回路, 102 ブロックシャフル回路, 103 ADRC符号化回路, 104 セグメント間シャフル回路, 164 情報量制御回路, 171 ADRCエンコーダ, 302 パケット解体回路, 304復号回路, 305 外部メモリ, 308 欠落画素創造回路, 312 4倍密解像度創造回路, 333 UV垂直2倍回路, 335 D/A変換回路, 352 セグメント間デシャフル回路, 353 qビットMFリカバリ回路, 354 DRMINリカバリ回路, 355 ADRC復号回路, 356 ブロックデシャフル回路, 357 リカバリエラー判定回路, 501前処理回路, 502−1乃至502−5 タップ構築回路, 503 動きクラス生成回路, 504 DRクラス生成回路, 505 空間クラス生成回路, 506 欠落クラス生成回路, 507 クラス合成回路, 508 可変タップ選択回路, 509 係数保持クラスコード選択回路, 510 推定予測演算回路, 801 ノイズ付加回路, 802 選択回路, 803 前処理回路, 804−1乃至804−5 タップ構築回路, 805 動きクラス生成回路, 806 DRクラス生成回路, 807 空間クラス生成回路,808 欠落クラス生成回路, 809 クラス合成回路, 810 可変タップ選択回路, 811 クラスコード選択回路, 812 正規方程式演算回路, 813 係数メモリ, 901 CPU, 902 ROM, 903 RAM,911 HDD, 941 磁気ディスク, 942 光ディスク, 943 光磁気ディスク, 944 半導体メモリ[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an information processing apparatus and method, a learning apparatus and method, and a recording medium, and more particularly to an information processing apparatus and method, a learning apparatus and method, and a recording medium for creating data.
[0002]
[Prior art]
In many compression methods in data transmission, variable length coding represented by entropy coding is used to improve the compression ratio. The feature of this entropy coding is that the compression is realized by changing the length of the code word in accordance with the content of the data to be compressed. For example, a short codeword is assigned to data with a high occurrence frequency, and a long codeword is assigned to data with a low occurrence frequency. As a result, the information amount of the entire data to be transmitted is reduced.
[0003]
When incorrect data is received on the receiving side due to a communication error, the length of the codeword always changes according to the content of the data, so that the decoding error continues up to the reference point of the transmitted data. This phenomenon is generally called “error propagation”.
[0004]
Also, moving picture compression methods represented by MPEG (Moving Picture Experts Group) reduce spatial redundancy by discrete cosine transform and reduce temporal redundancy by transmitting only the difference between frames. Reduce the amount of data by reducing.
[0005]
The moving image data compressed by such a compression method is expanded on the receiving side, but when the moving image data transmitted due to a communication error or the like is lost, the lack of the data is spatially and temporally. The higher the compression ratio, the greater the effect.
[0006]
The communication path conditions in the mobile environment are inferior to those of a fixed station or wire, and burst-like data loss called “packet loss” occurs relatively frequently. Therefore, in communication of images using compression in such a mobile environment, data loss in the communication path is prevented by using a strong error correction code.
[0007]
The missing pixels that cannot be corrected by the error correction code are analyzed for correlation with surrounding pixels and linearly interpolated using pixels with strong correlation, or simply replaced with pixels with strong correlation. Is done. Alternatively, the missing pixel is linearly interpolated by detecting the motion amount or motion vector of the surrounding pixels and using the pixel in the direction in which the correlation of the motion elements is strong. Alternatively, missing pixels are concealed using a median filter.
[0008]
[Problems to be solved by the invention]
However, in this way, the linearly interpolated or replaced pixel has a reduced resolution and loses continuity with surrounding pixels, so that the reproduced image remains uncomfortable. Similarly, when the median filter is used, an uncomfortable feeling remains.
[0009]
The present invention has been made in view of such a situation, and an object thereof is to be able to generate higher quality pixels regardless of whether or not pixels are missing.
[0010]
[Means for Solving the Problems]
The information processing apparatus according to
[0011]
In the conversion information, for the missing class in which the attention data is missing, noise is added to the teacher image data if there are no missing pixels in the surrounding data that are the target of creation. Was The image data can be obtained as student image data.
[0017]
Missing class generation means Is Missing pixels to be created Against multiple spatially surroundings Pixel On the basis of the, Generate missing class code Can be.
[0018]
Missing class generation means Is Missing pixels to be created Against multiple in time Pixel On the basis of the, Generate missing class code Can be.
[0019]
The selection means includes a missing class code, a dynamic range class code based on a dynamic range of a plurality of pixels around the missing pixel to be created, and a space of the plurality of pixels around the missing pixel to be created. Select conversion information corresponding to class code that integrates spatial class code based on can do.
[0020]
In the information processing method according to
[0021]
If the pixel to be created is not missing, the conversion information adds noise to the teacher image data Was The image data can be obtained as student image data.
[0027]
Missing pixels to be created Against multiple spatially surroundings Pixel On the basis of the, Missing class code is generated Can be.
[0028]
Missing pixels to be created Against multiple in time Pixel On the basis of the, Missing class code is generated Can be.
[0029]
Missing class code, dynamic range class code based on the dynamic range of multiple pixels around the missing pixel to be created, and spatial class based on the space of multiple pixels around the missing pixel to be created Make sure that the conversion information corresponding to the class code integrated with the code is selected be able to.
[0030]
When the image data required for decoding is missing when decoding the encoded image data, the recording medium program according to
[0031]
The learning device according to
[0032]
The learning method according to
[0033]
In the information processing apparatus according to
[0034]
In the learning device according to
[0035]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 is a diagram for explaining an image communication system for communicating images according to the present invention.
The
[0036]
FIG. 2 is a block diagram showing a configuration of an embodiment of the
[0037]
The thinning
[0038]
The
[0039]
The A /
[0040]
The analog U signal input to the A /
[0041]
Accordingly, the output of the A /
[0042]
The thinning
[0043]
The UV vertical 1/2
[0044]
Therefore, the signal output from the thinning
[0045]
The
[0046]
The
[0047]
The ADRC method is a variable length coding method that outputs a variable length code adapted to the dynamic range (DR) of input image data. Image data is divided into blocks (ADRC blocks described later) composed of a plurality of pixels, and a dynamic range that is a difference between the maximum value and the minimum value of pixel values included in each block is detected. Based on the dynamic range of the block, each pixel value is re-quantized with a bit number smaller than the original quantization bit number (for example, 8 bits). The smaller the dynamic range, the smaller the number of bits that can be re-quantized, and while suppressing the increase in quantization distortion, it is possible to remove only the pixel value redundancy and further reduce the amount of data. is there.
[0048]
In the ADRC method, the number of quantization bits is selected in relation to the size of the dynamic range that is the difference between the maximum value and the minimum value of the pixel values included in the block. In order to determine the magnitude relationship of the dynamic range, a threshold value corresponding to movement or the like is used. For example, when assigning any one of 2 bits, 3 bits, or 4 bits as the number of bits for requantization, thresholds T1 and T2 stored in the quantization table for each motion or dynamic range (however, T1 <T2) is used. The same quantization table is also used on the receiving side.
[0049]
In a block having a dynamic range equal to or less than (T1-1), 2 bits are assigned to the code for the pixel value. In a block whose dynamic range is T1 or more and (T2-1) or less, 3 bits are assigned to the code for the pixel value. In a block having a dynamic range of T2 or more, 4 bits are assigned to the code for the pixel value. Let q be the number of bits assigned to the code for the pixel value.
[0050]
Encoding is performed with 88 ADRC blocks generated by dividing 2 frames into 30 units (this unit is referred to as a buffer). Here, one quantization table storing threshold values T1 and T2 is selected so that the code generated for one buffer is 16,104 bits or less. The selected quantization table is designated by a table index indicated by TI. By setting the code generated for one buffer to be 16,104 bits or less, the encoded image data information can be set to 8 Mbps.
[0051]
When the dynamic range is greater than 2 to the qth power, the code Q for the pixel value is
[(L-MIN + 0.5) × 2q / DR]
Is calculated by [] Represents truncation after the decimal point. L represents the pixel value, and MIN represents the minimum pixel value of the pixels in the block. DR represents the dynamic range of the block. When the dynamic range is 2 to the qth power or less, the code Q for the pixel value is calculated by L-MIN.
[0052]
The encoded
[0053]
The packetizing
[0054]
The
[0055]
With reference to FIG. 3, a process of compressing an image signal input to the
[0056]
The Y data including 528 pixels in the horizontal direction and 480 pixels in the vertical direction per frame of the interlace method having a field frequency of 60 Hz is converted into the horizontal direction per frame of the progressive method having a frame frequency of 30 Hz by the thinning
[0057]
The U data and V data including 88 pixels in the horizontal direction and 240 pixels in the vertical direction per frame are respectively compressed by the UV vertical 1/2
[0058]
Thus, by performing the thinning process in the thinning
[0059]
The U and V data including 88 pixels in the horizontal direction and 120 pixels in the vertical direction per frame of the progressive system having a frame frequency of 30 Hz are converted into two pieces of data of 88 pixels × 120 pixels by the
[0060]
Y data having 264 pixels in the horizontal direction and 240 pixels in the vertical direction and U data and V data of 88 pixels × 120 pixels × 2 per frame are encoded by the
[0061]
As described above, the
[0062]
FIG. 4 is a block diagram showing a configuration of the thinning
[0063]
The Y data sequentially input to the horizontal 1/2
[0064]
The vertical 1/2
[0065]
The operation of the horizontal 1/2
[0066]
The value latched by the latch circuit 81 is supplied to the
[0067]
The operation of the vertical 1/2
[0068]
In this way, the output of the
[0069]
Similarly, the U data and V data are also thinned in half in the horizontal direction and the vertical direction, and become progressive format data having a frame frequency of 30 Hz.
[0070]
As described above, the Y data, U data, and V data of the image output from the thinning
[0071]
Next, the UV vertical 1/2
[0072]
The
[0073]
The operation of the UV vertical 1/2
[0074]
Note that the UV vertical ½
[0075]
Next, the
[0076]
The Y data, U data, and V data converted by the
[0077]
The
[0078]
The
[0079]
The processing unit of the
[0080]
Encoded data (hereinafter referred to as a buffer) corresponding to 88 ADRC blocks output from the
[0081]
The segments shuffled between the segments are arranged in the order of
[0082]
The packetizing
[0083]
The operation of the
[0084]
The remaining pixels of each frame are odd pixels.
[0085]
As shown in FIG. 11, the even number (4 × 8 pixels) included in the 8 × 8 pixel block i2 of the even frame (frame 0) and the even number included in the 8 × 8 pixel block of the odd frame (frame 1). A collection of pixels (4 × 8 pixels) is an ADRC block of even segments. At the same time, odd pixels (4 × 8 pixels) included in the 8 × 8 pixel block of the even frame (frame 0) and odd pixels (4 × 8) included in the 8 × 8 pixel block of the odd frame (frame 1). A collection of (pixels) is an odd-segment ADRC block. The ADRC block is composed of every other pixel of the two frames on the original frame. Pixels located adjacent to the pixels of the even-numbered ADRC block on the original frame constitute the corresponding odd-numbered segment ADRC block.
[0086]
12 to 14 are diagrams illustrating the relationship between the pixels in the frame and the ADRC block. As shown in FIG. 12, the pixel of
[0087]
As shown in FIG. 14, an odd-segment ADRC block composed of a 64-pixel block labeled A1 in FIG. 12 and an odd-numbered pixel of the 64-pixel block labeled A1 in FIG. The ADRC block of the even segment of
[0088]
As shown in FIG. 14, an even-numbered ADRC block composed of a 64-pixel block labeled A2 in FIG. 12 and an even-numbered pixel block labeled A2 in FIG. The ADRC block of
[0089]
As shown in FIG. 14, an even-numbered ADRC block composed of a 64-pixel block labeled B1 in FIG. 12 and an even-numbered pixel block labeled B1 in FIG. The ADRC block of
[0090]
An even-segment ADRC block constituted by a 64-pixel block labeled B2 in FIG. 12 and an even-numbered pixel block labeled B2 in FIG. 13 is shown as
[0091]
An even-numbered ADRC block composed of a 64-pixel block labeled C1 in FIG. 12 and an even-numbered pixel block labeled C1 in FIG. 13 is shown as
[0092]
An even-numbered ADRC block composed of a 64-pixel block labeled C2 in FIG. 12 and an even-numbered pixel block labeled C2 in FIG. 13 is shown as
[0093]
By repeating the above procedure for 33 × 10 blocks (264 × 240 pixels) constituting each frame, the Y data of the two frames is used in the horizontal direction as shown in FIG. A set of 30 ADRC blocks arranged in the vertical direction is generated. As shown in FIG. 15B, the ADRC block generated from the Y data is shuffled to form a segment.
[0094]
By performing the same processing for U × V data of 88 × 120 pixels, a set of 22 ADRC blocks arranged in the horizontal direction and 15 in the vertical direction is generated as shown in FIG. Is done. As in the case of Y data, as shown in FIG. 16B, ADRC blocks generated from U data and V data are block shuffled to form segments.
[0095]
Within each ADRC block, the pixel values of pixels at the same position on the screen of the even frame and the odd frame (for example, the pixel indicated as 0-1 and the pixel indicated as 1-1 in FIG. 11). When the absolute value of the difference is taken and the maximum value of the difference is less than the threshold value Th1, the ADRC block is regarded as a still image.
[0096]
The absolute value of the difference is the threshold Th2 (Th1 When <Th2) is exceeded, the ADRC block is regarded as a moving image.
[0097]
In the still image ADRC block, the average of the pixel values of the pixels at the same position on the screen of the even frame and the odd frame is averaged, and the average value of the 32 pixels is newly replaced as an ADRC block and attached to the ADRC block. The motion flag MF to be set is set to 0.
[0098]
In the moving ADRC block, 64 pixels collected from the even frame and the odd frame are directly used as the ADRC block, and the motion flag MF attached to the ADRC block is set to 1.
[0099]
Next, a description will be given of shuffle performed for each segment in units of ADRC blocks. When a serial number is assigned to an ADRC block in a segment composed of Y data ADRC blocks numbered 0, the numbers y0 to y329 are assigned to the ADRC block as shown in FIG. The When the ADRC block is shuffled, the ADRC block of Y data is arranged as shown in FIG.
[0100]
Similarly, when a serial number is assigned to an ADRC block in a segment composed of U-data ADRC blocks numbered 0, as shown in FIG. 17C, the numbers u0 to u54 are changed to the ADRC block. It is attached to. As shown in FIG. 17D, the URC ADRC blocks are rearranged in the reverse order of the serial numbers.
[0101]
When a serial number is assigned to an ADRC block in a segment composed of VRC ADRC blocks numbered 0, the numbers v0 to v54 are assigned to the ADRC block as shown in FIG. The The ADRC blocks of the V data are rearranged in the reverse order of the serial numbers as shown in FIG.
[0102]
Next, as shown in FIG. 18, the ADRC block of Y data, the ADRC block of U data, and the ADRC block of V data are shuffled. One U-data ADRC block is placed after the three Y-data ADRC blocks, followed by three Y-data ADRC blocks, followed by one V-data ADRC block. Is done. This arrangement is repeated. For example, in
[0103]
Similarly, in the
[0104]
As described above, the pixel data is shuffled for each ADRC block by the
[0105]
Next, the configuration of the
[0106]
The
[0107]
The information
[0108]
The information
[0109]
For example, when the motion feature amount is 4, the dynamic range DR when it is regarded as a still image is 14, and the dynamic range DR when it is regarded as a moving image is 15, the threshold T1 with a table index of 0 is 6. When the threshold T2 is 12, the threshold Th1 is 3, the threshold Th2 is 3, the threshold T1 of the
[0110]
The information
[0111]
Similarly, the information
[0112]
Thus, each threshold value is set in the threshold value set so that the information amount decreases as the table index increases. The information
[0113]
The information
[0114]
An example of the configuration of the information
[0115]
As shown in FIG. 20, the information
[0116]
In FIG. 20, for example, the threshold value T1 and the threshold value T2 are read from the threshold value table 165 and supplied to the other input terminals of the comparison circuits 181-1 and 181-2. Specifically, the threshold value T1 is supplied to the other input terminal of the comparison circuit 181-1, and the threshold value T2 is supplied to the other input terminal of the comparison circuit 181-2.
[0117]
Each of the comparison circuits 181-1 and 181-2 generates an output of “1” when the dynamic range DR from the
[0118]
Therefore, the adder 182-1 calculates the integrated value of the frequency (T1 ≦ DR ≦ 255), and the obtained data is held in the register 183-1. Further, the adder 182-2 calculates the integrated value of the frequency (T2 ≦ DR ≦ 255), and the obtained data is held in the register 183-2.
[0119]
Each occurrence frequency data held in each of the registers 183-1 and 183-2 is taken out and supplied to the
[0120]
The occurrence value of (T1 ≦ DR ≦ T2-1) is (S3), and the occurrence value of (T2 ≦ DR ≦ 255) is (S4). The occurrence value of (T2 ≦ DR ≦ 255) is (S4 + S3 + S2) (corresponding to the code Q where q is 4 bits), and the occurrence value of (T1 ≦ DR ≦ 255) is (S3 + S2) (q is (Corresponding to a code Q of 3 bits). (S2) (corresponding to the code Q in which q is 2 bits) is generated corresponding to all ADRC blocks, and can be stored in the information
[0121]
The total amount calculated in the
[0122]
The information
[0123]
Returning to FIG. 19, the
[0124]
The
[0125]
The static
[0126]
When the motion flag MF is 1, that is, when the ADRC block corresponds to a moving image, the
[0127]
The
[0128]
The
[0129]
The
[0130]
As described above, the
[0131]
FIG. 22 is a diagram for explaining how the
[0132]
Similarly, for
[0133]
FIG. 23 is a diagram for explaining the dynamic range DR shuffle performed in
[0134]
[0135]
Similarly, the code Q is shuffled. Further, as shown in FIG. 24, the minimum pixel value MIN is performed in the order of
[0136]
Next, the shuffling of the index TI of the quantization table will be described. The TI stored in
[0137]
In this way, even if a communication error occurs and a packet including any data is lost due to the dynamic range DR, the minimum pixel value MIN, and the motion flag MF being shuffled, the receiving
[0138]
In this way, by shuffling data between segments, the
[0139]
The data output from the
[0140]
In this way, the dynamic range DR, the minimum pixel value MIN, the motion flag MF, the table index TI, and the code Q are configured to be a multiple of 8, so that when performing the above-described shuffling, Regardless of the bit size of data, it is suitable for handling in a unified architecture and in byte units. In the above description and the description to be described later, the packet configuration shown in FIG. 26 is used.
[0141]
Next, image transmission processing of the
[0142]
In step S13, the UV vertical ½
[0143]
In step S <b> 15, the
[0144]
As described above, the
[0145]
Next, the receiving
[0146]
The
[0147]
The
[0148]
Based on the data supplied from the
[0149]
The
[0150]
The quadruple-
[0151]
The interpolation unit 314 includes a
[0152]
The
[0153]
The UV
[0154]
The D /
[0155]
The
[0156]
The
[0157]
With reference to FIG. 29, a process of decompressing image data received by the receiving
[0158]
The Y data, U data, and V data constituting one frame output from the
[0159]
The Y data, U data, and V data output from the quadruple-
[0160]
Further, the U data and V data are converted into data including 176 pixels in the horizontal direction and 480 pixels in the vertical direction by one UV
[0161]
As described above, the interpolation unit 314 performs processing corresponding to the thinning
[0162]
As described above, the receiving
[0163]
Next, the
[0164]
Data supplied from the
[0165]
The q-bit
[0166]
FIG. 31 is a block diagram showing a configuration of the q-bit
The deshuffled data supplied from the
[0167]
The q-bit
[0168]
For example, q set to “2” and motion flag MF set to “0” are supplied to the 3-block evaluation value calculation circuit 372-1, and q set to “3” and “0” are set. The motion flag MF thus set is supplied to the 3-block evaluation value calculation circuit 372-2, and the motion flag MF set to “4” and “0” is set to the 3-block evaluation value calculation circuit 372-3. To be supplied. Further, for example, q set to “2” and motion flag MF set to “1” are supplied to the 3-block evaluation value calculation circuit 372-4, and q and “1” set to “3”. Is set to the 3-block evaluation value calculation circuit 372-5, and q is set to “4” and the motion flag MF is set to “1” is the 3-block evaluation value calculation circuit 372. -6.
[0169]
Based on q and the motion flag MF, the three-block evaluation value calculation circuits 372-1 to 372-6 are based on the difference between the pixel values of pixels adjacent to each other from the pixel value decoded from the extracted code Q. An evaluation value (LE: Linear Error) is calculated, and the evaluation value is supplied to the
[0170]
The evaluation value is calculated by Expression (1). The smaller the evaluation value, the higher the correlation between pixels.
[0171]
[Expression 1]
Q i, j Indicates a non-missing code Q included in the ADRC block to be recovered. Q ' i, j Q i, j The code Q contained in the other ADRC block comprised by the pixel of the block of 64 pixels shown in FIG. 12 and FIG. 13 including the pixel which comprises the ADRC block in which is contained. For example, Q i, j Is included in the ADRC block of the even segment of number “0” in FIG. i, j Are included in the ADRC block of the odd-numbered segment with the number “3”. Q i, j Is included in the ADRC block of the even segment of number “4” in FIG. i, j Are included in the ADRC block of the odd-numbered segment with the number “1”. q i, j Q i, j Q to cut out. q ' i, j Q ' i, j Q to cut out. Nj indicates the number of codes Q that are not missing in the ADRC block. j is a number for identifying three ADRC blocks whose evaluation values are calculated.
[0172]
The offset j is used to absorb the difference in the dynamic range and q between the three ADRC blocks and calculate a more accurate evaluation value. In the equations (2), (3), and (4), Calculated.
[0173]
Offset j = (Xj × 2 4-qj -Yj × 2 4-q'j ) / 128 (2)
[0174]
[Expression 2]
[0175]
[Equation 3]
[0176]
The
[0177]
The
[0178]
The
[0179]
The recovery process of the dynamic range DR or the minimum pixel value MIN of the
[0180]
L = DR / (2 Q ) * q + MIN (5)
[0181]
As shown in FIG. 32, the relationship between q and the pixel value L is such that the slope is DR / (2 Q ), And the contact piece is represented by a straight line having the minimum pixel value MIN.
[0182]
From the set of (q, L) in the ADRC block, DR / (2 Q ) And the minimum value MIN of the pixel value is obtained statistically. It is assumed that the regression line of (q, L) shown in FIG. 33 is equal to the straight line of Expression (5).
[0183]
At this time, if b is known, a is calculated by equation (6).
[0184]
a = (B-nb) / A (6)
[0185]
If a is known, b is calculated by equation (7).
[0186]
b = (B-Aa) / n (7)
[0187]
Here, n is the number of points (q, L), A is Σx, and B is Σy.
[0188]
The dynamic range DR is calculated by Expression (8).
[0189]
[0190]
As shown in FIG. 34 (A), N is Σni, where ni is the number of non-missing blocks adjacent to the block in which the dynamic range DR or the minimum pixel value MIN is to be recovered. In FIG. 34, the hatched squares indicate blocks that are to be recovered from the dynamic range DR or the minimum pixel value MIN. In FIG. 34, squares without diagonal lines indicate blocks without omissions. When the q of the block to be recovered from the dynamic range DR or the minimum pixel value MIN is missing, ni is 0 as shown in FIG.
[0191]
DR ′ indicates a dynamic range of a block without a missing block adjacent to the block to be recovered. MIN ′ indicates the minimum value of the pixel values of the non-missing block adjacent to the block to be recovered. Q ′ indicates a code Q of a block without a block adjacent to the block to be recovered.
[0192]
X is represented by Formula (9).
[0193]
[Expression 4]
[0194]
Y is shown by Formula (10).
[0195]
[Equation 5]
[0196]
The minimum value MIN of the pixel value is calculated by Expression (11).
[0197]
[0198]
The
[0199]
The
[0200]
When the q or
[0201]
The
[0202]
The
[0203]
The recovery
[0204]
When the Y data, U data, and V data are supplied from the
[0205]
The
[0206]
As described above, the
[0207]
When there is an error in recovery, the pixel value stored in the
[0208]
Next, the processing timing of the
[0209]
FIG. 36 shows an example of processing timing of the
[0210]
The
[0211]
Therefore, even if the
[0212]
As described above, since the
[0213]
With reference to FIGS. 37A and 37B and FIGS. 38A and 38B, the data output timing of the
[0214]
In the methods of FIGS. 37A and 37B, two memories for storing images of two frames are provided. As shown in FIG. 37A, when data is written in one memory, the data is read out from the other memory and output, and when the processing for the two-frame image is completed, the data is shown in FIG. As described above, data is written to the other memory, and data is read from one memory and output.
[0215]
In contrast, the
[0216]
In this way, the image data can be block deshuffled and output to the
[0217]
FIG. 39 is a block diagram showing a configuration of the recovery
[0218]
The
[0219]
The
[0220]
The
[0221]
The
[0222]
The
[0223]
The AND
[0224]
The
[0225]
As described above, the recovery
[0226]
Next, a process in which data decoded by the
[0227]
When the corresponding error flag is “0”, the
[0228]
The
[0229]
FIG. 40 is a diagram for explaining processing of the
[0230]
When the recovery
[0231]
FIG. 41 is a diagram for explaining the processing of the
[0232]
FIG. 42 is a diagram for explaining the processing of the
[0233]
43 and 44 are diagrams for explaining processing corresponding to a user-selectable recovery-off input (signal input when a user operates a predetermined switch (not shown)) of the
[0234]
FIG. 45 is a diagram for explaining processing corresponding to an escape signal (signal input when a user operates a predetermined switch (not shown)) of the
[0235]
46 and 47 are flowcharts for explaining the process of outputting the decoded data by the
[0236]
In step S32, the
[0237]
If it is determined in step S33 that the continuous error signal is “1”, and if it is determined in step S34 that the recovery determination flag Fd is “1”, data extraction has failed, so step S47 The
[0238]
If it is determined in step S47 that the escape signal is on, the error flag is not set. Therefore, the procedure skips step S48, proceeds to step S35, and the
[0239]
In step S36, the
[0240]
If it is determined in step S36 that all the error flags in the buffer have not yet been processed, the process proceeds to step S49, where the
[0241]
In step S38, the
[0242]
In step S39, the
[0243]
If it is determined in step S39 that the continuous error signal is “1”, and if it is determined in step S40 that the error flag corresponding to the selected decoded data is “1”, Since data is missing, step S41 is skipped and the process proceeds to step S42.
[0244]
In step S42, the
[0245]
If it is determined in step S42 that all decoded data in the buffer (88 ADRC blocks) has not yet been processed, the process proceeds to step S50, where the
[0246]
In step S43, the
[0247]
If it is determined in step S44 that the error flag is “1” and the gray mode is set, the process proceeds to step S51, where the
[0248]
In step S46, the
[0249]
If it is determined in step S46 that all the data stored in the
[0250]
Thus, the
[0251]
Next, a process of outputting data of the
[0252]
In step S72, the
[0253]
If it is determined in step S72 that q and the motion flag have been recovered, the process proceeds to step S78, and the
[0254]
In step S74, the
[0255]
In step S75, the
[0256]
If it is determined in step S75 that q, the motion flag MF, and the like have been recovered, step S76 is skipped, and the process proceeds to step S77 without storing Y data, U data, and V data.
[0257]
In step S77, the
[0258]
Thus, when the recovery off input is “1”, the
[0259]
As described above, since the
[0260]
Next, the missing
[0261]
FIG. 50 is a block diagram illustrating a configuration of the missing
[0262]
Based on the input pixel value and the error flag indicating the missing pixel, the
[0263]
The processing of the
[0264]
If it is determined in step S131 that the target pixel is missing, the process proceeds to step S133, and the
[0265]
If it is determined in step S133 that any of the pixels adjacent to the target pixel in the horizontal direction is missing, the process proceeds to step S135, and the
[0266]
If it is determined in step S135 that any of the pixels adjacent to the target pixel in the horizontal direction is missing, the process proceeds to step S137, and the
[0267]
If it is determined in step S137 that any of the pixels adjacent to the target pixel in the vertical direction is missing, the process proceeds to step S139, and the
[0268]
If it is determined in step S139 that all the pixels adjacent to the target pixel are missing, the process proceeds to step S41, and the
[0269]
As described above, the
[0270]
The tap construction circuits 502-1 to 502-5 supply tap data and the like to the motion
[0271]
The motion
[0272]
FIG. 52A is a diagram illustrating an example of 3 × 3 pixels centering on a pixel to be created, which is used for calculation of temporal activity by the motion
[0273]
In the case shown in FIGS. 52A and 52B, the time activity is calculated by Expression (12).
[0274]
In Expression (12), () represents a pixel value of a pixel, and || represents a function for obtaining an absolute value.
[0275]
The motion
[0276]
FIG. 53 is a diagram illustrating an example of a 3 × 3 pixel centered on a missing pixel to be created, which is used for calculation of spatial activity by the motion
[0277]
Spatial activity = Max (qi) −Min (qi) +1 (13)
In Expression (13), Max (qi) indicates the maximum value of the pixel values q1 to q9. Min (qi) represents the minimum value of the pixel values q1 to q9.
[0278]
The motion
[0279]
FIG. 54 is a diagram for explaining a threshold value for motion determination. A different value is used as the threshold for motion determination depending on the value of the spatial activity. If the spatial activity increases, a larger value threshold is used. This is because when the spatial activity is large, the movement is at least, and the temporal activity is a large value.
[0280]
In processing for standard density data, a motion class code is set using a fixed threshold value regardless of the spatial activity.
[0281]
Next, the process of setting the motion class code of the motion
[0282]
When it is determined in step S151 that the time activity exceeds the
[0283]
If it is determined in step S153 that the time activity exceeds the
[0284]
If it is determined in step S155 that the time activity exceeds the
[0285]
As described above, the motion
[0286]
The motion
[0287]
The process of setting the motion class code of the motion
[0288]
If it is determined in step S171 that the number of motion class codes for which a value of 3 is set is equal to or less than the
[0289]
If it is determined in step S173 that the value obtained by adding the number of motion class codes for which the value of 3 is set and the number of motion class codes for which the value of 2 is set is equal to or less than the
[0290]
In step S175, a value obtained by adding the number of motion class codes for which a value of 3 is set, the number of motion class codes for which a value of 2 is set, and the number of motion class codes for which a value of 1 is set Is determined to be equal to or less than the
[0291]
As described above, the motion
[0292]
As described above, the motion
[0293]
Based on the motion class code and static flag supplied from the motion
[0294]
The tap construction circuit 502-3 selects a class tap based on the motion class code and the static flag supplied from the motion
[0295]
The tap construction circuit 502-4 selects a class tap based on the motion class code and the static flag supplied from the motion
[0296]
Based on the motion class code and the static flag supplied from the motion
[0297]
The
[0298]
The coefficient holding class
[0299]
A prediction tap data string selected by the variable tap selection circuit 508 will be described with reference to FIGS.
[0300]
FIG. 58 shows an example of the prediction tap variable selection range output by the tap construction circuit 502-2 to the variable tap selection circuit 508 and the prediction tap data string selected by the variable tap selection circuit 508 when the motion class code is 0. FIG. In FIG. 58, taps surrounded by a solid line indicate prediction tap variable selection ranges output by the tap construction circuit 502-2, and taps surrounded by dotted lines are examples of prediction tap data strings selected by the variable tap selection circuit 508. Show. The prediction tap data string selected by the variable tap selection circuit 508 includes taps included in the prediction tap variable selection range output by the tap construction circuit 502-2.
[0301]
For example, when the motion class code is 0, the tap construction circuit 502-2 selects an adjacent tap. For example, when the motion class code is 0, the variable tap selection circuit 508 selects all adjacent taps.
[0302]
FIG. 59 is a diagram illustrating a prediction tap variable selection range output by the tap construction circuit 502-2 and a prediction tap data sequence selected by the variable tap selection circuit 508 when the motion class code is 1. In FIG. 59, a tap surrounded by a solid line indicates a prediction tap variable selection range output from the tap construction circuit 502-2, and a tap surrounded by a dotted line indicates a prediction tap data string selected by the variable tap selection circuit 508. The prediction tap data string selected by the variable tap selection circuit 508 includes taps included in the prediction tap variable selection range output by the tap construction circuit 502-2.
[0303]
For example, when the motion class code is 1, the tap construction circuit 502-2 selects a tap adjacent in the horizontal direction and a tap that is not adjacent to the tap adjacent in the horizontal direction. For example, when the motion class code is 0, the variable tap selection circuit 508 selects five adjacent taps and five taps adjacent in the horizontal direction apart from the five adjacent taps.
[0304]
FIG. 60 is a diagram illustrating a prediction tap variable selection range output from the tap construction circuit 502-2 and a prediction tap data sequence selected by the variable tap selection circuit 508 when a missing tap exists and the motion class code is 0. It is. Black circles in the figure indicate missing taps. In FIG. 60, a tap surrounded by a solid line indicates a prediction tap variable selection range output by the tap construction circuit 502-2, and a tap surrounded by a dotted line indicates a prediction tap data string selected by the variable tap selection circuit 508. The prediction tap data string selected by the variable tap selection circuit 508 includes taps included in the prediction tap variable selection range output by the tap construction circuit 502-2.
[0305]
For example, when there is a missing tap and the motion class code is 0, the tap construction circuit 502-2 selects an adjacent tap. For example, when there is a missing tap and the motion class code is 0, the variable tap selection circuit 508 uses the same number of adjacent taps (eg, a tap next to a missing tap or a missing tap as when no missing tap exists). Taps in the same order as).
[0306]
61 is a diagram showing a prediction tap variable selection range output by the tap construction circuit 502-2 and a prediction tap data sequence selected by the variable tap selection circuit 508 when a missing tap exists and the motion class code is 1. FIG. It is. Black circles in the figure indicate missing taps. In FIG. 60, a tap surrounded by a solid line indicates a prediction tap variable selection range output by the tap construction circuit 502-2, and a tap surrounded by a dotted line indicates a prediction tap data string selected by the variable tap selection circuit 508. The prediction tap data string selected by the variable tap selection circuit 508 includes taps included in the prediction tap variable selection range output by the tap construction circuit 502-2.
[0307]
For example, when there is a missing tap and the motion class code is 1, the tap construction circuit 502-2 selects a tap adjacent in the horizontal direction and a tap that is not adjacent to the tap adjacent in the horizontal direction. For example, when there are missing taps and the motion class code is 0, the variable tap selection circuit 508 has the same number of horizontally adjacent taps (for example, taps next to missing taps) as there are no missing taps. Or taps in the same order as the missing taps) and the taps adjacent in the horizontal direction, which are separated from the adjacent taps, and the same number as when there are no missing taps.
[0308]
Based on the output mode set from the
[0309]
As described above, the missing
[0310]
Further, the estimated
[0311]
Next, the quadruple
[0312]
When a progressive image is input, the quadruple-
[0313]
As shown in FIGS. 62C and 62D, the quadruple
[0314]
FIG. 63 is a block diagram showing a configuration of the quadruple-
[0315]
The
[0316]
The
[0317]
The
[0318]
This class code is supplied as an address to the
[0319]
The coefficient set is Y data including 528 pixels in the horizontal direction and 240 pixels in the vertical direction as a teacher signal, and U data including 176 pixels in the horizontal direction and 120 pixels in the vertical direction, respectively. A coefficient set for each class is generated in advance using the data and the V data, and is stored in the
[0320]
The line
[0321]
The
[0322]
FIG. 64 shows pixels input to the quadruple-
[0323]
FIG. 65 shows pixels input to the quadruple
[0324]
As described above, the quadruple-
[0325]
Next, the UV
[0326]
The multiplier circuit 702-1 multiplies the input data by a coefficient and outputs the result to the
[0327]
Multipliers 702-2 to 702-7 multiply the input data by coefficients from line FIFOs 701-1 to 701-6, respectively, and output the result to adder 703.
[0328]
The
[0329]
The operation of the UV
[0330]
Next, reception processing of the
[0331]
In step S203, the
[0332]
In step S205, the
[0333]
In step S207, the
[0334]
As described above, the
[0335]
Next, generation of a prediction coefficient used in the missing
[0336]
FIG. 69 is a block diagram illustrating a learning device that generates a prediction coefficient used in the missing
The error flag is supplied to the
[0337]
The
[0338]
The
[0339]
The tap construction circuits 804-1 to 804-5 supply tap data and the like to the motion
[0340]
The motion
[0341]
Based on the motion class code and static flag supplied from the motion
[0342]
The tap construction circuit 804-3 selects a class tap based on the motion class code and the static flag supplied from the motion
[0343]
The tap construction circuit 804-4 selects a class tap based on the motion class code and the static flag supplied from the motion
[0344]
Based on the motion class code and the static motion flag supplied from the motion
[0345]
The
[0346]
Based on the prediction structure supplied from the initialization circuit 814 and the class code supplied from the
[0347]
Based on the output mode set by the initialization circuit 814, the normal equation calculation circuit 812 is supplied with an image that is teacher data input to the learning device and a predicted tap data string that is learning data from the variable
[0348]
Here, the prediction coefficient W calculated by the normal equation calculation circuit 812 will be briefly described.
[0349]
For example, the prediction value E [y] of the pixel value y of the input original image that is the teacher data is now used as the pixel value x of the prediction tap data string that is the learning data. 1 , X 2 , ... and a predetermined prediction coefficient w 1 , W 2 Consider a linear primary combination model defined by the linear combination of. In this case, the predicted value E [y] can be expressed by the following equation.
[0350]
E [y] = w 1 x 1 + W 2 x 2 + ...
(14)
[0351]
Therefore, in order to generalize, a matrix W composed of a set of prediction coefficients w, a matrix X composed of a set of learning data, and a matrix Y ′ composed of a set of predicted values E [y],
[Formula 6]
Then, the following observation equation holds.
[0352]
XW = Y '
... (15)
[0353]
Then, it is considered to apply the least square method to this observation equation to obtain a predicted value E [y] close to the pixel value y of the original image. In this case, a matrix Y composed of a set of pixel values y of the original image, and a matrix E composed of a set of residuals e of predicted values E [y] with respect to the pixel values y of the original image,
[0354]
[Expression 7]
From the equation (15), the following residual equation is established.
[0355]
XW = Y + E
... (16)
[0356]
In this case, the prediction coefficient w for obtaining the predicted value E [y] close to the pixel value y of the original image i Is the square error
[Equation 8]
Can be obtained by minimizing.
[0357]
Therefore, the above square error is converted into the prediction coefficient w. i When the value differentiated by 0 is 0, that is, the prediction coefficient w satisfying the following equation: i However, this is the optimum value for obtaining the predicted value E [y] close to the pixel value y of the original image.
[0358]
[Equation 9]
... (17)
[0359]
Therefore, first, Equation (16) is converted into the prediction coefficient w. i Is differentiated by the following equation.
[0360]
[Expression 10]
... (18)
[0361]
From equations (17) and (18), equation (19) is obtained.
[0362]
## EQU11 ##
... (19)
[0363]
Further, considering the relationship among the learning data x, the prediction coefficient w, the teacher data y, and the residual e in the residual equation of Equation (16), the following normal equation can be obtained from Equation (19). .
[0364]
[Expression 12]
... (20)
[0365]
The normal equation of Expression (20) can be established by the same number as the number of prediction coefficients w to be obtained. Therefore, the optimal prediction coefficient w can be obtained by solving Expression (20). In solving equation (20), for example, a sweep-out method (Gauss-Jordan elimination method) or the like can be applied.
[0366]
That is, for example, the pixel value of the prediction tap data, which is learning data, is set to x 1 , X 2 , X Three , ..., and the prediction coefficient W to be obtained is w 1 , W 2 , W Three ,..., To obtain the pixel value y of a certain pixel of the teacher data by these linear linear combinations, the prediction coefficient w 1 , W 2 , W Three ,... Must satisfy the following equation.
[0367]
y = w 1 x 1 + W 2 x 2 + W Three x Three + ...
[0368]
Therefore, in the normal equation calculation circuit 812, the prediction value w for the true value y is calculated from the prediction tap of the same class and the corresponding teacher data pixel. 1 x 1 + W 2 x 2 + W Three x Three Prediction coefficient w that minimizes square error of + ... 1 , W 2 , W Three ,... Are obtained by building and solving the normal equation shown in the above equation (20).
[0369]
Therefore, by performing this process for each class, a prediction coefficient W is generated for each class.
[0370]
The prediction coefficient W for each class obtained in the normal equation calculation circuit 812 is supplied to the
[0371]
In this way, the learning device can generate a coefficient used by the missing
[0372]
Next, the process of generating the prediction coefficient W of the learning device will be described with reference to the flowchart in FIG. In step S301, the missing
[0373]
If it is determined in step S301 that the pixel of interest is not missing, the process proceeds to step S303, where the
[0374]
In step S304, the variable
[0375]
In step S305, the normal equation calculation circuit 812 generates a normal equation corresponding to the class code. In step S306, the normal equation calculation circuit 812 sets the input original pixel that is the teacher data and the prediction tap that is the learning data to the generated normal equation, and calculates the prediction coefficient W by solving the normal equation. calculate.
[0376]
In step S307, the normal equation calculation circuit 812 stores the prediction coefficient W in the
[0377]
The prediction coefficient W stored in the
[0378]
As described above, based on the prediction coefficient W generated by the learning device, the receiving
[0379]
Although the image transmission system has been described as communicating images, the present invention is not limited to images, and data such as audio may be transmitted.
[0380]
The series of processes described above can be executed by hardware, but can also be executed by software. When a series of processing is executed by software, a program constituting the software may execute various functions by installing a computer incorporated in dedicated hardware or various programs. For example, it is installed from a recording medium in a general-purpose personal computer or the like.
[0381]
FIG. 71 is a diagram illustrating an example of a recording medium and a computer. A CPU (Central Processing Unit) 901 actually executes various application programs and an OS (Operating System). A ROM (Read-only Memory) 902 generally stores basically fixed data out of programs used by the
[0382]
The
[0383]
The keyboard 908 is operated by the user when inputting various commands to the
[0384]
The
[0385]
These keyboard 908 to drive 912 are connected to an
[0386]
As shown in FIG. 71, the recording medium is distributed to provide a program to the user separately from the computer, and a magnetic disk 941 (including a floppy disk) on which the program is recorded, an optical disk 942 (CD-ROM). (Including Compact Disc-Read Only Memory), DVD (Digital Versatile Disc)), magneto-optical disk 943 (including MD (Mini-Disc)), or a package medium composed of semiconductor memory 944, etc. A
[0387]
In the present specification, the step of describing the program stored in the recording medium is not limited to the processing performed in chronological order according to the described order, but is not necessarily performed in chronological order. It also includes processes that are executed individually.
[0388]
Further, in this specification, the system represents the entire apparatus constituted by a plurality of apparatuses.
[0389]
【The invention's effect】
The information processing apparatus according to
[0390]
[Brief description of the drawings]
FIG. 1 is a diagram illustrating an image transmission system that transmits an image.
FIG. 2 is a block diagram showing a configuration of an embodiment of a
FIG. 3 is a diagram illustrating a process in which an image signal input to the
4 is a block diagram showing a configuration of a thinning
FIG. 5 is a diagram for explaining an output of a latch circuit 81;
6 is a diagram illustrating an output of a
7 is a block diagram showing a configuration of a UV vertical ½
FIG. 8 is a diagram for explaining an output of a
9 is a block diagram showing a configuration of an
FIG. 10 is a diagram illustrating a unit of processing. .
FIG. 11 is a diagram illustrating an ADRC block.
FIG. 12 is a diagram illustrating a relationship between a pixel in a frame and an ADRC block.
FIG. 13 is a diagram illustrating a relationship between pixels in a frame and an ADRC block.
FIG. 14 is a diagram illustrating a relationship between a pixel in a frame and an ADRC block.
FIG. 15 is a diagram for explaining an ADRC block and a segment of Y data;
FIG. 16 is a diagram for explaining ADRC blocks and segments of U data or V data;
FIG. 17 is a diagram illustrating shuffling performed in units of ADRC blocks.
FIG. 18 is a diagram illustrating segments.
19 is a diagram illustrating the configuration of an
20 is a diagram illustrating a configuration of an information
21 is a diagram illustrating a configuration of an information
22 is a diagram for explaining how to shuffle the
23 is a diagram for explaining how to shuffle the
24 is a diagram for explaining how to shuffle the
25 is a diagram for explaining how to shuffle the
FIG. 26 is a diagram illustrating a configuration of a packet.
FIG. 27 is a diagram for explaining image transmission processing of the
28 is a block diagram showing a configuration of the receiving
FIG. 29 is a diagram illustrating a process in which an image is expanded.
30 is a block diagram of a
31 is a block diagram showing a configuration of a q-bit
FIG. 32 is a diagram illustrating a recovery process of a dynamic range DR or a minimum pixel value MIN.
FIG. 33 is a diagram illustrating a recovery process of a dynamic range DR or a minimum pixel value MIN.
FIG. 34 is a diagram illustrating a recovery process of a dynamic range DR or a minimum pixel value MIN.
FIG. 35 is a diagram illustrating an example of processing timing of the decoding circuit when there is no omission in data output from the inter-segment deshuffle circuit.
36 is a diagram illustrating an example of processing timing of the
FIG. 37 is a diagram illustrating a data storage method.
FIG. 38 is a diagram for explaining the data output timing of the
39 is a block diagram showing a configuration of a recovery
FIG. 40 is a diagram illustrating processing of the
FIG. 41 is a diagram for explaining processing of the
FIG. 42 is a diagram illustrating processing of the
FIG. 43 is a diagram for describing processing corresponding to a recovery-off input of the
44 is a diagram for describing processing corresponding to a recovery-off input of the
45 is a diagram illustrating processing corresponding to an escape signal of the
FIG. 46 is a flowchart for describing processing of outputting decoded data by the
47 is a flowchart for describing processing of outputting decoded data by the
FIG. 48 is a flowchart for describing processing for outputting data of the
49 is a diagram for explaining pixels used for processing of the missing
50 is a block diagram showing a configuration of a missing
FIG. 51 is a flowchart for describing processing of the
FIG. 52 is a diagram illustrating an example of pixels used for calculation of time activity.
FIG. 53 is a diagram illustrating an example of pixels used for calculation of spatial activity.
FIG. 54 is a diagram illustrating a threshold value for motion determination.
FIG. 55 is a flowchart for describing processing for setting a motion class code of a static motion determination circuit 521;
FIG. 56 is a diagram illustrating an example of pixels used for majority decision of a motion class code.
FIG. 57 is a flowchart for describing processing for setting a motion class code in a motion
FIG. 58 is a diagram illustrating a predicted tap data string selected by a variable
FIG. 59 is a diagram for explaining a prediction tap data string selected by a variable
FIG. 60 is a diagram for explaining a prediction tap data string selected by the variable
61 is a diagram for explaining a prediction tap data string selected by a variable
FIG. 62 is a diagram for explaining the positions of pixels used for the processing of the quadruple-density
FIG. 63 is a block diagram showing a configuration of a quadruple-
FIG. 64 is a diagram showing the positions of pixels input to the quadruple-
FIG. 65 is a diagram showing the positions of pixels input to the quadruple
66 is a block diagram showing a configuration of a UV
67 is a diagram illustrating an output of a
68 is a flowchart for describing reception processing of the
FIG. 69 is a block diagram illustrating a learning device.
FIG. 70 is a flowchart illustrating a coefficient generation process.
Fig. 71 is a diagram for describing an example of a recording medium and a computer.
[Explanation of symbols]
1 transmitter, 2 receiver, 13 decimation unit, 15 encoding circuit, 17 packetization circuit, 42 A / D conversion circuit, 43 decimation filter, 45 UV vertical 1/2 circuit, 102 block shuffle circuit, 103 ADRC encoding Circuit, 104 inter-segment shuffle circuit, 164 information control circuit, 171 ADRC encoder, 302 packet disassembly circuit, 304 decoding circuit, 305 external memory, 308 missing pixel creation circuit, 312 quadruple resolution creation circuit, 333 UV vertical double Circuit, 335 D / A conversion circuit, 352 desegmental circuit between segments, 353 q-bit MF recovery circuit, 354 DRMIN recovery circuit, 355 ADRC decoding circuit, 356 block deshful circuit, 357 recovery error determination circuit, 501 preprocessing circuit, 502 -1 to 502-5 tap construction circuit, 503 motion class generation circuit, 504 DR class generation circuit, 505 space class generation circuit, 506 missing class generation circuit, 507 class synthesis circuit, 508 variable tap selection circuit, 509 coefficient holding class code Selection circuit, 510 estimation prediction calculation circuit, 801 noise addition circuit, 802 selection circuit, 803 preprocessing circuit, 804-1 to 804-5 tap construction circuit, 805 motion class generation circuit, 806 DR class generation circuit, 807 space class generation Circuit, 808 missing class generation circuit, 809 class synthesis circuit, 810 variable tap selection circuit, 811 class code selection circuit, 812 normal equation calculation circuit, 813 coefficient memory, 901 CPU, 902 ROM, 903 RAM, 911 HDD, 941 magnetic disk , 942 Optical disk, 943 magneto-optical disk, 944 semiconductor memory
Claims (13)
符号化されている前記画像データを復号する際に、復号に必要な画像データが欠落している場合、その欠落したデータをリカバリし、リカバリできなかった画像データの画素に対して欠落していることを示すエラーフラグを設定するエラーフラグ設定手段と、
創造の対象となる欠落した画素に対応するエラーフラグ、および、その欠落した画素の周辺の複数の画素に対応するエラーフラグからなる欠落クラスコードを生成する欠落クラス生成手段と、
少なくとも前記欠落クラスコードに対応する変換情報を選択する選択手段と、
前記創造の対象となる欠落した画素の周辺の複数の画素と、前記変換情報との線形推定式を演算することにより、前記創造の対象となる欠落した画素の画素値を算出する演算手段と
を備え、
前記変換情報は、
学習の内容に対応して欠落を示すようにエラーフラグを設定し、
創造の対象となる欠落した画素に対応するエラーフラグ、および、その欠落した画素の周辺の複数の画素に対応するエラーフラグからなる欠落クラスコードを生成し、
学習の教師となる教師画像データから前記エラーフラグが設定された画素を欠落させた学習の生徒となる生徒画像データにおける欠落した画素の周辺の画素と前記変換情報自身との線形結合により求められる前記創造の対象となる欠落した画素の予測値と、前記創造の対象となる画素に対応する前記教師画像データでの画素の画素値との誤差が最小となるような学習を行うことにより求められ、
前記求められた変換情報と、その変換情報を求めたときの欠落クラスコードとが対応付けられている
ことを特徴とする情報処理装置。In an information processing apparatus that processes image data including missing pixels and creates the missing pixels,
When decoding the encoded image data, if the image data necessary for decoding is missing, the missing data is recovered and missing for the pixels of the image data that could not be recovered Error flag setting means for setting an error flag indicating that,
A missing class generation means for generating a missing class code including an error flag corresponding to a missing pixel to be created and an error flag corresponding to a plurality of pixels around the missing pixel;
Selection means for selecting conversion information corresponding to at least the missing class code;
A plurality of pixels around the missing picture element to be the creation, by calculating a linear estimation expression of the conversion information, and calculating means for calculating a pixel value of the missing pixel to be the creation With
The conversion information is
Set an error flag to indicate missing according to the learning content,
Generate an error flag corresponding to the missing pixel to be created, and a missing class code consisting of error flags corresponding to a plurality of pixels around the missing pixel,
It is determined by linear combination of the missing picture around the pixel with the conversion information itself containing the student image data as student learning the error flag was missing pixels set from the teacher image data to be learned teacher It is obtained by performing learning that minimizes the error between the predicted value of the missing pixel to be created and the pixel value of the pixel in the teacher image data corresponding to the pixel to be created. ,
The information processing apparatus, wherein the obtained conversion information is associated with a missing class code when the conversion information is obtained.
ことを特徴とする請求項1に記載の情報処理装置。The conversion information is obtained, as student image data, image data in which noise is added to the teacher image data when no pixel to be created is missing. Item 4. The information processing apparatus according to Item 1.
ことを特徴とする請求項1に記載の情報処理装置。2. The information according to claim 1, wherein the missing class generation unit generates the missing class code based on a plurality of pixels spatially surrounding the missing pixel to be created. Processing equipment.
ことを特徴とする請求項1に記載の情報処理装置。The information according to claim 1, wherein the missing class generation unit generates the missing class code based on a plurality of temporally neighboring pixels with respect to the missing pixel to be created. Processing equipment.
ことを特徴とする請求項1に記載の情報処理装置。The selection means includes the missing class code, a dynamic range class code based on a dynamic range of a plurality of pixels around the missing pixel to be created, and a plurality of pixels around the missing pixel to be created. The information processing apparatus according to claim 1, wherein conversion information corresponding to a class code obtained by integrating a space class code based on the space is selected.
符号化されている前記画像データを復号する際に、復号に必要な画像データが欠落している場合、その欠落したデータをリカバリし、リカバリできなかった画像データの画素に対して欠落していることを示すエラーフラグを設定し、
創造の対象となる欠落した画素に対応するエラーフラグ、および、その欠落した画素の周辺の複数の画素に対応するエラーフラグからなる欠落クラスコードを生成し、
少なくとも前記欠落クラスコードに対応する変換情報を選択し、
前記創造の対象となる欠落した画素の周辺の複数の画素と、前記変換情報との線形推定式を演算することにより、前記創造の対象となる欠落した画素の画素値を算出する
ステップを含み、
前記変換情報は、
学習の内容に対応して欠落を示すようにエラーフラグを設定し、
創造の対象となる欠落した画素に対応するエラーフラグ、および、その欠落した画素の周辺の複数の画素に対応するエラーフラグからなる欠落クラスコードを生成し、
学習の教師となる教師画像データから前記エラーフラグが設定された画素を欠落させた学習の生徒となる生徒画像データにおける欠落した画素の周辺の画素と前記変換情報自身との線形結合により求められる前記創造の対象となる欠落した画素の予測値と、前記創造の対象となる画素に対応する前記教師画像データでの画素の画素値との誤差が最小となるような学習を行うことにより求められ、
前記求められた変換情報と、その変換情報を求めたときの欠落クラスコードとが対応付けられている
ことを特徴とする情報処理方法。In an information processing method of an information processing apparatus that processes image data including a missing pixel and creates the missing pixel,
When decoding the encoded image data, if the image data necessary for decoding is missing, the missing data is recovered and missing for the pixels of the image data that could not be recovered Set an error flag to indicate
Generate an error flag corresponding to the missing pixel to be created, and a missing class code consisting of error flags corresponding to a plurality of pixels around the missing pixel,
Select at least conversion information corresponding to the missing class code,
A plurality of pixels around the missing picture element to be the creation, by calculating a linear estimation expression of the conversion information comprises the step of calculating the pixel value of the missing pixel to be the creation ,
The conversion information is
Set an error flag to indicate missing according to the learning content,
Generate an error flag corresponding to the missing pixel to be created, and a missing class code consisting of error flags corresponding to a plurality of pixels around the missing pixel,
It is determined by linear combination of the missing picture around the pixel with the conversion information itself containing the student image data as student learning the error flag was missing pixels set from the teacher image data to be learned teacher It is obtained by performing learning that minimizes the error between the predicted value of the missing pixel to be created and the pixel value of the pixel in the teacher image data corresponding to the pixel to be created. ,
An information processing method, wherein the obtained conversion information is associated with a missing class code when the conversion information is obtained.
ことを特徴とする請求項6に記載の情報処理方法。The conversion information is obtained, as student image data, image data in which noise is added to the teacher image data when no pixel to be created is missing. Item 7. The information processing method according to Item 6.
ことを特徴とする請求項6に記載の情報処理方法。The information processing method according to claim 6, wherein the missing class code is generated based on a plurality of pixels spatially surrounding the missing pixel to be created.
ことを特徴とする請求項6に記載の情報処理方法。The information processing method according to claim 6, wherein the missing class code is generated based on a plurality of temporally neighboring pixels with respect to the missing pixel to be created.
ことを特徴とする請求項6に記載の情報処理方法。The missing class code, a dynamic range class code based on a dynamic range of a plurality of pixels around a missing pixel to be created, and a space based on a space of a plurality of pixels around the missing pixel to be created The information processing method according to claim 6, wherein conversion information corresponding to a class code obtained by integrating class codes is selected.
符号化されている前記画像データを復号する際に、復号に必要な画像データが欠落している場合、その欠落したデータをリカバリし、リカバリできなかった画像データの画素に対して欠落していることを示すエラーフラグを設定し、
創造の対象となる欠落した画素に対応するエラーフラグ、および、その欠落した画素の周辺の複数の画素に対応するエラーフラグからなる欠落クラスコードを生成し、
少なくとも前記欠落クラスコードに対応する変換情報を選択し、
前記創造の対象となる欠落した画素の周辺の複数の画素と、前記変換情報との線形推定式を演算することにより、前記創造の対象となる欠落した画素の画素値を算出する
ステップを含む処理を実行させ、
前記変換情報は、
学習の内容に対応して欠落を示すようにエラーフラグを設定し、
創造の対象となる欠落した画素に対応するエラーフラグ、および、その欠落した画素の周辺の複数の画素に対応するエラーフラグからなる欠落クラスコードを生成し、
学習の教師となる教師画像データから前記エラーフラグが設定された画素を欠落させた学習の生徒となる生徒画像データにおける欠落した画素の周辺の画素と前記変換情報自身との線形結合により求められる前記創造の対象となる欠落した画素の予測値と、前記創造の対象となる画素に対応する前記教師画像データでの画素の画素値との誤差が最小となるような学習を行うことにより求められ、
前記求められた変換情報と、その変換情報を求めたときの欠落クラスコードとが対応付けられている
プログラムを記録したコンピュータが読み取り可能な記録媒体。In a program for processing image data including missing pixels and causing a computer to execute processing for creating the missing pixels,
When decoding the encoded image data, if the image data necessary for decoding is missing, the missing data is recovered and missing for the pixels of the image data that could not be recovered Set an error flag to indicate
Generate an error flag corresponding to the missing pixel to be created, and a missing class code consisting of error flags corresponding to a plurality of pixels around the missing pixel,
Select at least conversion information corresponding to the missing class code,
By calculating a plurality of pixels around the missing picture element to be the creation, a linear estimation expression of the conversion information comprises the step of calculating the pixel value of the missing pixel to be the creation Let the process run,
The conversion information is
Set an error flag to indicate missing according to the learning content,
Generate an error flag corresponding to the missing pixel to be created, and a missing class code consisting of error flags corresponding to a plurality of pixels around the missing pixel,
It is determined by linear combination of the missing picture around the pixel with the conversion information itself containing the student image data as student learning the error flag was missing pixels set from the teacher image data to be learned teacher It is obtained by performing learning that minimizes the error between the predicted value of the missing pixel to be created and the pixel value of the pixel in the teacher image data corresponding to the pixel to be created. ,
A computer-readable recording medium storing a program in which the obtained conversion information is associated with a missing class code when the conversion information is obtained.
創造の対象となる欠落した画素に対応するエラーフラグ、および、その欠落した画素の周辺の複数の画素に対応するエラーフラグからなる欠落クラスコードを生成する欠落クラス生成手段と、
学習の教師となる教師画像データから前記エラーフラグが設定された画素を欠落させた学習の生徒となる生徒画像データにおける欠落した画素の周辺の画素と変換情報との線形結合により求められる前記創造の対象となる欠落した画素の予測値と、前記創造の対象となる画素に対応する前記教師画像データでの画素の画素値との誤差が最小となるような学習を行うことにより、前記変換情報を求める演算手段と、
前記求められた変換情報と、その変換情報を求めたときの欠落クラスコードとを対応付ける対応付け手段と
を備えることを特徴とする学習装置。Setting means for setting an error flag so as to indicate a lack corresponding to the content of learning;
A missing class generation means for generating a missing class code including an error flag corresponding to a missing pixel to be created and an error flag corresponding to a plurality of pixels around the missing pixel;
The teacher image data to be learned teacher obtained by linear combination of the missing peripheral pixels and the conversion information of the picture element in the student image data as student learning the error flag was missing pixels set creative The conversion information is obtained by performing learning such that an error between a predicted value of a missing pixel that is a target of a pixel and a pixel value of a pixel in the teacher image data corresponding to the pixel that is a target of creation Computing means for obtaining
A learning apparatus comprising: association means for associating the obtained conversion information with a missing class code when the conversion information is obtained.
創造の対象となる欠落した画素に対応するエラーフラグ、および、その欠落した画素の周辺の複数の画素に対応するエラーフラグからなる欠落クラスコードを生成し、
学習の教師となる教師画像データから前記エラーフラグが設定された画素を欠落させた学習の生徒となる生徒画像データにおける欠落した画素の周辺の画素と変換情報との線形結合により求められる前記創造の対象となる欠落した画素の予測値と、前記創造の対象となる画素に対応する前記教師画像データでの画素の画素値との誤差が最小となるような学習を行うことにより、前記変換情報を求め、
前記求められた変換情報と、その変換情報を求めたときの欠落クラスコードとを対応付ける
ステップを含むことを特徴とする学習方法。Set an error flag to indicate missing according to the learning content,
Generate an error flag corresponding to the missing pixel to be created, and a missing class code consisting of error flags corresponding to a plurality of pixels around the missing pixel,
The teacher image data to be learned teacher obtained by linear combination of the missing peripheral pixels and the conversion information of the picture element in the student image data as student learning the error flag was missing pixels set creative The conversion information is obtained by performing learning such that an error between a predicted value of a missing pixel that is a target of a pixel and a pixel value of a pixel in the teacher image data corresponding to the pixel that is a target of creation Seeking
A learning method comprising: associating the obtained conversion information with a missing class code when the conversion information is obtained.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000392274A JP4656356B2 (en) | 2000-02-10 | 2000-12-25 | Information processing apparatus and method, learning apparatus and method, and recording medium |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000-33313 | 2000-02-10 | ||
JP2000033313 | 2000-02-10 | ||
JP2000392274A JP4656356B2 (en) | 2000-02-10 | 2000-12-25 | Information processing apparatus and method, learning apparatus and method, and recording medium |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001298736A JP2001298736A (en) | 2001-10-26 |
JP4656356B2 true JP4656356B2 (en) | 2011-03-23 |
Family
ID=26585188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000392274A Expired - Fee Related JP4656356B2 (en) | 2000-02-10 | 2000-12-25 | Information processing apparatus and method, learning apparatus and method, and recording medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4656356B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4702312B2 (en) | 2007-03-22 | 2011-06-15 | カシオ計算機株式会社 | Difference evaluation device, difference evaluation method, and program |
JP5180911B2 (en) * | 2009-06-01 | 2013-04-10 | キヤノン株式会社 | Noise removal control device and noise removal control method |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07162849A (en) * | 1993-12-03 | 1995-06-23 | Sony Corp | Processor for digital image signal |
-
2000
- 2000-12-25 JP JP2000392274A patent/JP4656356B2/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07162849A (en) * | 1993-12-03 | 1995-06-23 | Sony Corp | Processor for digital image signal |
Also Published As
Publication number | Publication date |
---|---|
JP2001298736A (en) | 2001-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2006087142A (en) | Progressive image signal transmitter, and progressive image signal receiver | |
KR100768611B1 (en) | Information processing apparatus using class-classification adaptive processing and method thereof, and recording medium storing a computer-readable program using class-classification adaptive processing | |
JP2023542331A (en) | Videoconferencing based on adaptive face reconstruction and face reconstruction | |
JP3864444B2 (en) | Image signal processing apparatus and method | |
JP4656356B2 (en) | Information processing apparatus and method, learning apparatus and method, and recording medium | |
JP4265068B2 (en) | Information processing apparatus and method | |
JP4392569B2 (en) | Information processing apparatus and method, and recording medium | |
JP2001285881A (en) | Digital information converter and method, and image information converter and method | |
JP4655171B2 (en) | Information processing apparatus and method | |
JP4438159B2 (en) | Information processing apparatus and information processing method | |
JP4568939B2 (en) | Information processing apparatus and method | |
JP4517435B2 (en) | Information processing apparatus and method | |
JP2013026952A (en) | Image processing method, encode device, decode device, and image processing device | |
JP3111028B2 (en) | Image signal processing apparatus and image signal processing method | |
JP6197708B2 (en) | Moving picture transmission system, moving picture encoding apparatus, moving picture decoding apparatus, moving picture encoding computer program, and moving picture decoding computer program | |
JP2001224022A (en) | Information processing unit and method | |
JP2001224020A (en) | Information processor and information processing method | |
JP4909592B2 (en) | Moving picture reproduction method, apparatus, and program | |
KR102430216B1 (en) | Video Processing Apparatus, Video Receiving Terminal And Operating Method Of Thereof | |
JP2595625B2 (en) | Digital video signal receiving device | |
JP2016149770A (en) | Minimization system of streaming latency and method of using the same | |
JP3831960B2 (en) | Interpolation apparatus and interpolation method for compressed high resolution video signal | |
JP2010087754A (en) | Image quality evaluation device | |
JPH0799647A (en) | Image signal reproducing device | |
JPH0230284A (en) | Receiver in picture transmission system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070220 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090804 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090827 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091019 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100513 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100705 |
|
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: 20101202 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20101215 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140107 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140107 Year of fee payment: 3 |
|
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 |