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 PDF

Info

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
Application number
JP2000392274A
Other languages
Japanese (ja)
Other versions
JP2001298736A (en
Inventor
哲二郎 近藤
秀雄 中屋
勉 渡辺
秀樹 大塚
康昭 高橋
成司 和田
隆浩 永野
浩二 太田
寿一 白木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2000392274A priority Critical patent/JP4656356B2/en
Publication of JP2001298736A publication Critical patent/JP2001298736A/en
Application granted granted Critical
Publication of JP4656356B2 publication Critical patent/JP4656356B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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】

Figure 0004656356
i,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】
Figure 0004656356
【0175】
【数3】
Figure 0004656356
【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】
Figure 0004656356
【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】
Figure 0004656356
【0194】
Yは、式(10)で示される。
【0195】
【数5】
Figure 0004656356
【0196】
画素値の最小値MINは、式(11)で算出される。
【0197】
Figure 0004656356
【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】
Figure 0004656356
式(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]=w11+w22+・・・
・・・(14)
【0351】
そこで、一般化するために、予測係数wの集合でなる行列W、学習データの集合でなる行列X、および予測値E[y]の集合でなる行列Y’を、
【数6】
Figure 0004656356
で定義すると、次のような観測方程式が成立する。
【0352】
XW=Y’
・・・(15)
【0353】
そして、この観測方程式に最小自乗法を適用して、元の画像の画素値yに近い予測値E[y]を求めることを考える。この場合、元の画像の画素値yの集合でなる行列Y、および元の画像の画素値yに対する予測値E[y]の残差eの集合でなる行列Eを、
【0354】
【数7】
Figure 0004656356
で定義すると、式(15)から、次のような残差方程式が成立する。
【0355】
XW=Y+E
・・・(16)
【0356】
この場合、元の画像の画素値yに近い予測値E[y]を求めるための予測係数wiは、自乗誤差
【数8】
Figure 0004656356
を最小にすることで求めることができる。
【0357】
従って、上述の自乗誤差を予測係数wiで微分したものが0になる場合、即ち、次式を満たす予測係数wiが、元の画像の画素値yに近い予測値E[y]を求めるため最適値ということになる。
【0358】
【数9】
Figure 0004656356
・・・(17)
【0359】
そこで、まず、式(16)を、予測係数wiで微分することにより、次式が成立する。
【0360】
【数10】
Figure 0004656356
・・・(18)
【0361】
式(17)および(18)より、式(19)が得られる。
【0362】
【数11】
Figure 0004656356
・・・(19)
【0363】
さらに、式(16)の残差方程式における学習データx、予測係数w、教師データy、および残差eの関係を考慮すると、式(19)から、次のような正規方程式を得ることができる。
【0364】
【数12】
Figure 0004656356
・・・(20)
【0365】
式(20)の正規方程式は、求めるべき予測係数wの数と同じ数だけたてることができ、従って、式(20)を解くことで、最適な予測係数wを求めることができる。なお、式(20)を解くにあたっては、例えば、掃き出し法(Gauss-Jordanの消去法)などを適用することが可能である。
【0366】
即ち、例えば、いま、学習データである予測タップデータの画素値を、x1,x2,x3,・・・とし、求めるべき予測係数Wをw1,w2,w3,・・・とするとき、これらの線形1次結合により、教師データの、ある画素の画素値yを求めるには、予測係数w1,w2,w3,・・・は、次式を満たす必要がある。
【0367】
y=w11+w22+w33+・・・
【0368】
そこで、正規方程式演算回路812では、同一クラスの予測タップと、対応する教師データの画素とから、真値yに対する、予測値w11+w22+w33+・・・の自乗誤差を最小とする予測係数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 claim 1, when decoding encoded image data, if image data necessary for decoding is missing, recover the missing data, and an image that could not be recovered Error flag setting means for setting an error flag indicating that the data pixel is missing, an error flag corresponding to the missing pixel to be created, and a plurality of pixels around the missing pixel A missing class generating means for generating a missing class code including an error flag corresponding to, a selecting means for selecting conversion information corresponding to at least the missing class code, and a missing image to be created Raw Computation means for calculating a pixel value of a missing pixel to be created by calculating a linear estimation formula between a plurality of peripheral pixels and conversion information, and the conversion information corresponds to the content of learning. An error flag is set to indicate missing, and a missing class code consisting of 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 is generated. The missing image in the student image data that becomes the learning student in which the pixel with the error flag set is deleted from the teacher image data that becomes the learning teacher. Raw With surrounding pixels With the conversion information itself Learning that minimizes the error between the predicted value of the missing pixel to be created and obtained from the linear combination of the pixel value of the pixel in the teacher image data corresponding to the pixel to be created And the conversion information thus obtained is associated with the missing class code when the conversion information is obtained.
[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 claim 6, when image data necessary for decoding is missing when decoding encoded image data, the lost data is recovered and an image that cannot be recovered is recovered. Set an error flag indicating that the data pixel is missing, an error flag corresponding to the missing pixel to be created, and an error flag corresponding to a plurality of pixels around the missing pixel A missing class code is generated, and at least conversion information corresponding to the missing class code is selected to create a missing image to be created. Raw A step of calculating a pixel value of a missing pixel to be created by calculating a linear estimation formula between a plurality of neighboring pixels and the transformation information, and the transformation information is missing corresponding to the content of learning An error flag is set to indicate 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, Missing image in student image data that is a learning student that has lost pixels with an error flag set from the teacher image data that is a learning teacher Raw With surrounding pixels With the conversion information itself Learning that minimizes the error between the predicted value of the missing pixel to be created and obtained from the linear combination of the pixel value of the pixel in the teacher image data corresponding to the pixel to be created And the conversion information thus obtained is associated with the missing class code when the conversion information is obtained.
[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 claim 11 recovers the missing data and cannot recover it. Set an error flag indicating that the image data pixel is missing, an error flag corresponding to the missing pixel to be created, and an error corresponding to multiple pixels around the missing pixel Generate a missing class code consisting of flags, select at least conversion information corresponding to the missing class code, and create a missing image to be created Raw A process including a step of calculating a pixel value of a missing pixel to be created is calculated by calculating a linear estimation expression between a plurality of peripheral pixels and conversion information. Set an error flag to indicate missing according to the content of learning, from the error flag corresponding to the missing pixel to be created, and the error flag corresponding to multiple pixels around the missing pixel The missing image code in the student image data as the learning student is generated by generating the missing class code and deleting the pixel with the error flag set from the teacher image data as the learning teacher. Raw With surrounding pixels With the conversion information itself Learning that minimizes the error between the predicted value of the missing pixel to be created and obtained from the linear combination of the pixel value of the pixel in the teacher image data corresponding to the pixel to be created The obtained conversion information and the missing class code when the conversion information is obtained are associated with each other.
[0031]
The learning device according to claim 12, a setting unit that sets an error flag so as to indicate a lack corresponding to the content of learning, an error flag corresponding to a missing pixel to be created, and the missing flag A missing class generating means for generating a missing class code including error flags corresponding to a plurality of pixels around the pixel, and a learning student in which a pixel having an error flag set is deleted from the teacher image data serving as a learning teacher. Missing image in student image data Raw The error between the predicted value of the missing pixel that is the creation target obtained by linear combination of the surrounding pixels and the conversion information and the pixel value of the pixel in the teacher image data corresponding to the creation target pixel is minimized. By performing learning as described above, it is characterized by comprising a calculation means for obtaining conversion information, and an association means for associating the obtained conversion information with the missing class code when the conversion information is obtained.
[0032]
The learning method according to claim 13, wherein an error flag is set so as to indicate missing in accordance with the content of learning, an error flag corresponding to the missing pixel to be created, and the periphery of the missing pixel A missing class code including error flags corresponding to a plurality of pixels is generated, and a missing image in student image data serving as a learning student is obtained by deleting pixels set with an error flag from the teacher image data serving as a learning teacher. Raw The error between the predicted value of the missing pixel that is the creation target obtained by linear combination of the surrounding pixels and the conversion information and the pixel value of the pixel in the teacher image data corresponding to the creation target pixel is minimized. It is characterized by including the step which calculates | requires conversion information by performing such learning, and matches the calculated | required conversion information and the missing class code when the conversion information is calculated | required.
[0033]
In the information processing apparatus according to claim 1, the information processing method according to claim 6, and the recording medium according to claim 11, an image necessary for decoding is decoded when the encoded image data is decoded. When data is missing, the missing data is recovered, and an error flag is set to indicate missing for the pixels of the image data that could not be recovered, corresponding to the missing pixel to be created And a missing class code including an error flag corresponding to a plurality of pixels around the missing pixel is generated, and at least conversion information corresponding to the missing class code is selected. And the missing picture to be created Raw A process including a step of calculating a pixel value of a missing pixel to be created is performed by calculating a linear estimation formula between a plurality of peripheral pixels and conversion information. In addition, the conversion information sets an error flag so as to indicate missing corresponding to the content of learning, an error flag corresponding to the missing pixel to be created, and a plurality of pixels around the missing pixel A missing class code consisting of an error flag corresponding to, and a missing image in student image data serving as a learning student in which a pixel with an error flag set is missing from the teacher image data serving as a learning teacher Raw With surrounding pixels With the conversion information itself Learning that minimizes the error between the predicted value of the missing pixel to be created and obtained from the linear combination of the pixel value of the pixel in the teacher image data corresponding to the pixel to be created The obtained conversion information and the missing class code when the conversion information is obtained are associated with each other.
[0034]
In the learning device according to claim 12 and the learning method according to claim 13, an error flag is set so as to indicate a lack corresponding to the content of learning, and an error corresponding to a missing pixel to be created A missing class code including a flag and an error flag corresponding to a plurality of pixels around the missing pixel is generated. Then, the missing image in the student image data as the learning student is obtained by deleting the pixel in which the error flag is set from the teacher image data as the learning teacher. Raw The error between the predicted value of the missing pixel that is the creation target obtained by linear combination of the surrounding pixels and the conversion information and the pixel value of the pixel in the teacher image data corresponding to the creation target pixel is minimized. By performing such learning, conversion information is obtained. Further, the obtained conversion information is associated with the missing class code when the conversion information is obtained.
[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 transmission apparatus 1 compresses and encodes the input video signal by the method according to the present invention, converts it into a packet format, and transmits it to the reception apparatus 2 via the transmission path. The receiving device 2 receives a packet transmitted via a transmission path, decodes data included in the packet by the method according to the present invention, expands it, and outputs it as a video signal. In a transmission line, data included in a packet may be lost due to congestion or the like. Further, when the processing capacity of an ATM switch (not shown) constituting the transmission path is exceeded, the packet itself may be lost.
[0036]
FIG. 2 is a block diagram showing a configuration of an embodiment of the transmission apparatus 1 according to the present invention. When any one of an analog composite video signal or an analog component signal (Y / C signal) such as a luminance signal Y and a chroma signal C is input to the Y / C separation chroma decoder 11, It is converted into component signals (Y / U / V signals) such as a luminance signal Y and color signals U and V, and supplied to the selector 12. The selector 12 selects one of the Y / U / V signal supplied from the Y / C separation chroma decoder 11 or the signal input in the Y / U / V signal format from the beginning, and supplies the selected signal to the thinning unit 13. . This Y / U / V signal is, for example, a signal of standard density (SD), 4: 2: 2, a field frequency of 60 Hz, and an interlace format.
[0037]
The thinning unit 13 thins the Y signal, the U signal, and the V signal supplied from the selector 12 by a method described later, and supplies the thinned signal to the format conversion circuit 14. The thinning unit 13 includes a pre-filter 41, an A / D conversion circuit 42, a thinning filter 43, an external memory 44, a UV vertical 1/2 circuit 45, and an external memory 46.
[0038]
The prefilter 41 is a low-pass filter that outputs only predetermined frequency bands of the input Y signal, U signal, and V signal. The output of the prefilter 41 is supplied to the A / D conversion circuit 42.
[0039]
The A / D conversion circuit 42 samples the input Y signal, U signal, and V signal, and makes each of them 8-bit data, for example. The analog Y signal input to the A / D conversion circuit 42 is sampled and output to the thinning filter 43 as Y data including 528 pixels in the horizontal direction and 480 pixels in the vertical direction.
[0040]
The analog U signal input to the A / D conversion circuit 42 is sampled and output to the thinning filter 43 as U data including 176 pixels in the horizontal direction and 480 pixels in the vertical direction. The analog V signal input to the A / D conversion circuit 42 is sampled and output to the thinning filter 43 as V data including 176 pixels in the horizontal direction and 480 pixels in the vertical direction.
[0041]
Accordingly, the output of the A / D conversion circuit 42 is a signal having a 3: 1: 1 format.
[0042]
The thinning filter 43 temporarily stores the input Y data, U data, and V data in the external memory 44, and each of the temporarily stored Y data, U data, and V data is set to 1 in the horizontal direction. / 2 and ½ in the vertical direction are thinned out and supplied to the UV vertical ½ circuit 45.
[0043]
The UV vertical 1/2 circuit 45 temporarily stores the Y data, U data, and V data supplied from the thinning filter 43 in the external memory 46, and the temporarily stored U data and V data, respectively. The data is thinned down to 1/2 in the vertical direction, and Y data, U data, and V data are output to the format conversion circuit 14.
[0044]
Therefore, the signal output from the thinning unit 13 is a signal of 3: 0.5: 0.5.
[0045]
The format conversion circuit 14 rearranges the Y data, the U data, and the V data supplied from the thinning unit 13 by a method described later, and supplies the rearranged data to the encoding circuit 15 as a block structure.
[0046]
The encoding circuit 15 temporarily stores the Y data, U data, and V data supplied from the format conversion circuit 14 in the external memory 16, and stores the Y data, U data, and V data stored in the external memory 16. The data is shuffled by changing the storage address and the read address, encoded by an ADRC (Adaptive Dynamic Range Coding) method, further shuffled, and output to the packetizing circuit 17.
[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 circuit 15 includes, as encoded data, a table index TI that specifies a quantization table, a dynamic range DR, a minimum value MIN of pixel values of pixels in the block, a motion flag MF that indicates motion, and pixel values. The corresponding code Q is output. The table index TI, the dynamic range DR, the minimum value MIN of the pixel values of the pixels in the block, and the length (number of bits) of the motion flag MF indicating motion are fixed at 8 bits. On the other hand, the length of the code Q with respect to the pixel value changes.
[0053]
The packetizing circuit 17 temporarily stores the encoded data supplied from the encoding circuit 15 in the external memory 18, and divides the temporarily stored encoded data into 1.6K bits. The header is added to form a packet, which is supplied to the transmission circuit 19. The transmission circuit 19 modulates the packet supplied from the packetizing circuit 17 using a predetermined transmission method, and transmits the modulated packet via the transmission path.
[0054]
The PLL circuit 20 generates a reference signal synchronized with the image and supplies the reference signal to the control circuit 21. The control circuit 21 is based on the reference signal supplied from the PLL circuit 20 to the decimation unit 13, the format conversion circuit 14, the encoding circuit 15, the external memory 16, the packetizing circuit 17, the external memory 18, and the transmission circuit 19. A control signal is supplied to control the operation of the entire transmission apparatus 1.
[0055]
With reference to FIG. 3, a process of compressing an image signal input to the transmission apparatus 1 will be described. The interlaced Y signal having a field frequency of 60 Hz is converted into Y data of 528 pixels in the horizontal direction and 480 pixels in the vertical direction per field by the A / D conversion circuit 42. Interlaced U and V signals having a field frequency of 60 Hz are converted into U data and V data of 176 pixels in the horizontal direction and 480 pixels in the vertical direction, respectively. The image signal information input to the A / D conversion circuit 42 corresponds to 166 Mbps, the image data information output from the A / D conversion circuit 42 is 104 Mbps, and the amount of information is compressed.
[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 filter 43. To 264 pixels and 240 pixels vertically. The U data and V data including 176 pixels in the horizontal direction and 480 pixels in the vertical direction per interlaced frame having a field frequency of 60 Hz are converted into one progressive frame having a frame frequency of 30 Hz by the thinning filter 43. The data is compressed into data including 88 pixels in the horizontal direction and 240 pixels in the vertical direction.
[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 circuit 45 into data including 88 pixels in the horizontal direction and 120 pixels in the vertical direction. The The information of the image data output from the UV vertical 1/2 circuit 45 is 21 Mbps, and the amount of information is compressed as compared with the information of the signal input to the transmission apparatus 1.
[0058]
Thus, by performing the thinning process in the thinning unit 13, the configuration of each circuit in the subsequent stage can be simplified, and the bit rate in the transmission path can be set to a practically small value.
[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 format conversion circuit 14. It is converted to the combined data.
[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 encoding circuit 15. The information of the encoded image data is 8 Mbps, and the amount of information is compressed as compared with the information of the analog signal input to the transmission apparatus 1.
[0061]
As described above, the transmission device 1 compresses and encodes the image signal.
[0062]
FIG. 4 is a block diagram showing a configuration of the thinning filter 43. The interlaced Y data is supplied to the horizontal ½ circuit 61 along the horizontal line. The horizontal 1/2 circuit 61 includes delay circuits (registers) 71-1 to 71-N, multiplier circuits 72-1 to 72-N, and an adder circuit 73.
[0063]
The Y data sequentially input to the horizontal 1/2 circuit 61 which is a half-band filter is delayed by one pixel in the horizontal direction by the delay circuits 71-1 to 71-N and sequentially output to the subsequent stage. The multiplier circuits 72-1 to 72-N multiply the input Y data (pixels) by 1 / N and output the result to the adder circuit 73. The adder circuit 73 adds the data supplied from the multiplier circuits 72-1 to 72-N and outputs the result to the vertical ½ circuit 62.
[0064]
The vertical 1/2 circuit 62 that is a half-band filter includes a latch circuit 81, a field FIFO (Fast In Fast Out) 82, an adder circuit 83, and a latch circuit 84. Data output from the horizontal ½ circuit 61 is supplied to the latch circuit 81. When the clock signal is input, the latch circuit 81 latches the input data and outputs the latched data.
[0065]
The operation of the horizontal 1/2 circuit 61 will be described with reference to FIG. Y data (pixels indicated by white circles in FIG. 5) sequentially input in the horizontal direction of the frame is held by delay circuits 71-1 to 71-N and coefficients are respectively multiplied by multiplication circuits 72-1 to 72-N. Is multiplied. The outputs of the multiplier circuits 72-1 to 72-N are added by the adder circuit 73 and then output to the latch circuit 81. A clock signal for instructing latching is input to the latch circuit 81 at a timing corresponding to the black square in FIG. In the example of FIG. 5, since one clock is input to the latch circuit 81 every time data of two pixels is transferred in the horizontal direction, for example, when N = 2 and the value of each coefficient is 1/2 The average value of two adjacent pixels is latched by the latch circuit 81 at the timing indicated by the black square in FIG. As described above, the number of pixels latched by the latch circuit 81 is ½ of the number of pixels of data input to the thinning filter 43.
[0066]
The value latched by the latch circuit 81 is supplied to the field FIFO 82 and the adder circuit 83. The field FIFO 82 stores the pixel data of the first field thinned by 1/2 in the horizontal direction supplied from the latch circuit 81, delays it by one field, and outputs it to the adder circuit 83. The adder circuit 83 adds the data supplied from the latch circuit 81 and the field FIFO 82 and supplies the sum to the latch circuit 84. When the enable signal is input, the latch circuit 84 latches the input data.
[0067]
The operation of the vertical 1/2 circuit 62 will be described with reference to FIG. The Y data of any pixel in the first field (black square pixel on the first field shown in FIG. 6) and the pixel in the next lower line at the same position in the horizontal direction of the screen as the pixel in the first field After the data of the pixels in the second field (black square pixels on the second field located in the lower right of the black square pixels on the first field shown in FIG. 6) are added by the adder circuit 83 Are output to the latch circuit 84. Therefore, the latch circuit 84 latches the average value of the pixels in the first field and the second field (corresponding to the pixels indicated by white squares in FIG. 6).
[0068]
In this way, the output of the latch circuit 84 is thinned out to 1/2 between the first field and the second field with respect to the pixel data output from the latch circuit 81, and then the third field and Progressive Y data having a frame frequency of 30 Hz is thinned out by a half between the fourth fields.
[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 filter 43 become progressive format data having a frame frequency of 30 Hz that has been thinned.
[0071]
Next, the UV vertical 1/2 circuit 45 will be described. FIG. 7 is a block diagram showing the configuration of the UV vertical ½ circuit 45. Progressive U data and V data having a thinned frame frequency of 30 Hz are input from the thinning filter 43 to the UV vertical 1/2 circuit 45. The input data is sequentially delayed by one line by the line FIFOs 91-1 to 91-6 and supplied to the subsequent stage. The multiplier circuit 92-1 multiplies the input data by a coefficient and outputs the result to the adder circuit 93. The multiplier circuits 92-2 to 92-7 multiply the data input from the line FIFOs 91-2 to 91-6, respectively, and output the result to the adder circuit 93.
[0072]
The adder circuit 93 adds the data supplied from the multiplier circuits 92-1 to 92-7 and supplies the sum to the latch circuit 94. When the clock signal is input, the latch circuit 94 latches the input data.
[0073]
The operation of the UV vertical 1/2 circuit 45 will be described with reference to FIG. Data of pixels at the same position in the horizontal direction of the screen (pixels indicated by white squares in FIG. 8) on seven consecutive lines are input to the multiplier circuits 92-1 to 92-7. The multiplier circuits 92-1 to 92-7 multiply the input data by a coefficient, respectively. The adder circuit 93 adds the outputs of the multiplier circuits 92-1 to 92-7 and outputs the result. A latch signal is input to the latch circuit 94 at a timing of once every two lines (a timing indicated by a black circle in FIG. 8). In this way, the UV vertical ½ circuit 45 thins out the number of lines of the input U data and V data to ½ and outputs it.
[0074]
Note that the UV vertical ½ circuit 45 passes Y data.
[0075]
Next, the encoding circuit 15 will be described. FIG. 9 is a block diagram showing a configuration of the encoding circuit 15. A control signal supplied from the control circuit 21 is input to the timing signal generation circuit 101. The timing signal generation circuit 101 generates a timing signal based on the input control signal and supplies the timing signal to the block shuffle circuit 102, the ADRC encoding circuit 103, and the inter-segment shuffle circuit 104.
[0076]
The Y data, U data, and V data converted by the format conversion circuit 14 are input to the block shuffle circuit 102. The block shuffle circuit 102 temporarily stores the supplied Y data, U data, and V data in the external memory 16. The block shuffle circuit 102 rearranges the Y data, U data, and V data stored in the external memory 16 into the ADRC block format described later, shuffles within the segment range described later and in units of ADRC blocks, This is supplied to the encoding circuit 103.
[0077]
The ADRC encoding circuit 103 encodes the Y data, U data, and V data supplied from the block shuffle circuit 102 based on the ADRC method, and supplies the encoded data to the inter-segment shuffle circuit 104. The inter-segment shuffle circuit 104 temporarily stores the data encoded by the supplied ADRC in the external memory 22.
[0078]
The inter-segment shuffle circuit 104 shuffles the ADRC data stored in the external memory 22 by changing the storage and reading addresses. The shuffle in the inter-segment shuffle circuit 104 increases the possibility that the receiving apparatus 2 can receive any one of the dynamic range DR, the minimum value MIN, and the motion flag MF even if data loss occurs in the transmission path. The purpose is to make it easier for the receiving device 2 to extract the codes Q separately even if data loss occurs in the transmission path.
[0079]
The processing unit of the encoding circuit 15 and the packetizing circuit 17 will be described with reference to FIG. From a frame 0 and a next frame 1, pixels are selected by a method described later, and 1320 even segment ADRC blocks (consisting of 4 × 16 pixels) and 1320 odd segment ADRC blocks (4 × 16 pixels) is generated. The block shuffle circuit 102 selects 88 ADRC blocks from the generated even and odd segment ADRC blocks. The ADRC block is composed of 88 selected units by the ADRC encoding circuit 103, and is ADRC fixed-length data (FL), which is a dynamic range DR, a minimum value MIN, a motion flag MF, a table index TI, and It is encoded into code Q, which is variable length data (VL).
[0080]
Encoded data (hereinafter referred to as a buffer) corresponding to 88 ADRC blocks output from the ADRC encoding circuit 103 are grouped into 5 pieces (hereinafter referred to as segments) by the inter-segment shuffle circuit 104. ). Three segments (shown as segment 0, segment 2, and segment 4 in the figure) corresponding to the even segments are shuffled between the segments by the inter-segment shuffle circuit 104. Three segments corresponding to the odd segments (shown as segment 1, segment 3, and segment 5 in the figure) are shuffled between the segments by the inter-segment shuffle circuit 104.
[0081]
The segments shuffled between the segments are arranged in the order of segment 0, segment 1, segment 2, segment 3, segment 4, and segment 5.
[0082]
The packetizing circuit 17 corresponds to the eight ADRC blocks of the encoded data stored in the segments arranged in the order of segment 0, segment 1, segment 2, segment 3, segment 4, and segment 5. The data (dynamic range DR, minimum value MIN, motion flag MF, table index TI, and code Q) are collected and stored in a packet.
[0083]
The operation of the block shuffle circuit 102 will be described with reference to FIGS. FIG. 11 is a diagram for explaining the ADRC block. A block of 64 pixels adjacent to each other, horizontal 8 pixels × vertical 8 pixels, is selected from each frame, and the leftmost and uppermost pixel in the block (pixels indicated as 0-1 or 1-1 in the figure) ), And a pixel at a position moved horizontally by 2 pixels from that pixel (a pixel indicated as 0-3 or 1-3 in the figure), and moved by 2 pixels vertically from that pixel. A pixel at a position (a pixel indicated as 0-17 or 1-17 in the figure), or a pixel at a position shifted from that pixel by one pixel horizontally and one pixel vertically (0-10 or 0-10 in the figure) Pixels labeled as 1-10) are referred to as even pixels. Further, the same selection is repeated using these pixels as a reference, and the selected pixel is set as an even pixel.
[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 frame 0 is divided into blocks of 64 pixels of 8 horizontal pixels × 8 vertical pixels. Similarly, as shown in FIG. 13, the pixels of frame 1 (the frame subsequent to frame 0) are divided into blocks of 64 pixels of 8 horizontal pixels × 8 vertical pixels. The leftmost and uppermost 64-pixel block in the frame 0 block (the 64-pixel block labeled A1 in FIG. 12) and the leftmost and uppermost block in the frame 1 The even-numbered ADRC block constituted by the even-numbered pixels of the located 64-pixel block (the 64-pixel block indicated as A1 in FIG. 13) is, as shown in FIG. Placed on top.
[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 segment 0 is arranged on the right side in the figure.
[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 segment 3 which is composed of a block of 64 pixels indicated by A1 in FIG. 12 and an odd number of pixels of the block of 64 pixels indicated by A1 in FIG. As shown in FIG. 14, an odd-segment ADRC block composed of a 64-pixel block indicated by A2 in FIG. 12 and an odd-number pixel of the 64-pixel block indicated by A2 in FIG. The ADRC block of segment 0, which is composed of a block of 64 pixels indicated by A2 in FIG. 12 and an even number of pixels of a block of 64 pixels indicated by A2 in FIG.
[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 segment 0, which is composed of a block of 64 pixels indicated as A1 in FIG. 12 and an even number of pixels of a block of 64 pixels indicated as A1 in FIG. As shown in FIG. 14, an odd-segment ADRC block composed of a 64-pixel block denoted by B1 in FIG. 12 and an odd-numbered pixel of the 64-pixel block denoted by B1 in FIG. The lower part of the ADRC block of segment 3 (of the ADRC block of segment 4) composed of the 64-pixel block labeled A1 in FIG. 12 and the odd-numbered pixels of the 64-pixel block labeled A1 in FIG. (Next to the right).
[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 segment 4 in FIG. The ADRC block of segment 1 is arranged on the right side in the figure, and is composed of a block of 64 pixels labeled B1 of 12 and an odd number of pixels of a block of 64 pixels labeled B1 of FIG. An odd-segment ADRC block composed of a block of 64 pixels labeled B2 in FIG. 12 and an odd-numbered pixel of the block of 64 pixels labeled B2 in FIG. 13 is shown as segment 1 in FIG. The ADRC block of the even segment composed of the block of 12 pixels indicated by B2 and the even pixel of the block of 64 pixels indicated by B2 in FIG. 13 is arranged on the right side in the figure.
[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 segment 2 in FIG. The ADRC block of segment 4 is arranged in the lower side of the figure, which is composed of a block of 64 pixels labeled B1 of 12 and an even number of pixels of a block of 64 pixels labeled B1 of FIG. An odd-segment ADRC block composed of a 64-pixel block labeled C1 in FIG. 12 and an odd-numbered pixel block labeled C1 in FIG. 13 is shown as segment 5 in FIG. The lower part of the ADRC block of segment 1 (the right side of the ADRC block of segment 2) composed of a block of 64 pixels labeled B1 of 12 and an odd number of pixels of the block of 64 pixels labeled B1 of FIG. Next to it).
[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 segment 2 in FIG. The ADRC block of segment 5 is composed of a block of 64 pixels labeled 12 C1 and an odd number of pixels of the block of 64 pixels labeled C1 in FIG. The odd-numbered ADRC block composed of the 64-pixel block labeled C2 in FIG. 12 and the odd-numbered pixels of the 64-pixel block labeled C2 in FIG. 13 is shown as segment 5 in FIG. The ADRC block of the even segment composed of the block of 64 pixels labeled 12 C2 and the even pixels of the block of 64 pixels labeled C2 of FIG. 13 is arranged on the right side in the figure.
[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 segment 0, an ADRC block with a serial number of y0, an ADRC block with a serial number of y221, an ADRC block with a serial number of y112, an ADRC block with a serial number of u54, a serial number of y3 An ADRC block with a serial number of y224, an ADRC block with a serial number of y115, an ADRC block with a serial number of v54, an ADRC block with a serial number of y6, etc. An ADRC block is arranged.
[0103]
Similarly, in the segments 1 to 5, the ADRC block is shuffled.
[0104]
As described above, the pixel data is shuffled for each ADRC block by the block shuffle circuit 102 and encoded by the ADRC encoding circuit 103 based on the shuffled ADRC block. When the ADRC block is shuffled appropriately, the missing pixels due to communication errors are dispersed, making it difficult to recognize the missing pixel position in the reproduced image, and creating the missing pixels by surrounding pixels. can do.
[0105]
Next, the configuration of the ADRC encoding circuit 103 will be described with reference to FIG. The image shuffled by the block shuffle circuit 102 is supplied as an ADRC block to the delay circuit 161, the motion feature amount calculation circuit 162, the DR calculation circuit 163, and the delay circuit 166.
[0106]
The delay circuit 161 delays the 2 frame block (ADRC block composed of 4 × 16 pixels) by a time corresponding to the processing time of the motion feature amount calculation circuit 162 and outputs the delayed result to the information amount control circuit 164. The motion feature amount calculation circuit 162 calculates a motion feature amount that is the maximum absolute value of the interframe difference for each ADRC block, and supplies the motion feature amount to the information amount control circuit 164. The DR calculation circuit 163 calculates, for each ADRC block, a dynamic range DR when it is regarded as a still image and a dynamic range DR when it is regarded as a moving image, and supplies the dynamic range DR to the information amount control circuit 164.
[0107]
The information amount control circuit 164 has a dynamic range when it is regarded as a two-frame block supplied from the delay circuit 161, a motion feature amount supplied from the motion feature amount calculation circuit 162, and a still image supplied from the DR calculation circuit 163. Based on the set of thresholds Th1 and Th2 and the thresholds T1 and T2 supplied from the threshold range 165 and the dynamic range DR when considered as DR and a moving image, the MF selection threshold consisting of the thresholds Th1 and Th2 is selected, It outputs to the static motion determination circuit 169.
[0108]
The information amount control circuit 164 includes two frame blocks, a motion feature amount, a dynamic range DR when regarded as a still image, a dynamic range DR when regarded as a moving image, and threshold values Th1 and Th2 supplied from the threshold value table 165. Based on the set of threshold values T1 and T2, a Q-bit selection threshold value is selected and output to the ADRC encoder 171.
[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 table index 1 is 13, the threshold T2 is 40, the threshold Th1 is 5, and the threshold Th2 is 5. explain.
[0110]
The information amount control circuit 164 determines a moving image because the motion feature amount is 4 and the threshold value Th2 is greater than 3 for the threshold value set with the table index being 0. Since the dynamic range DR when it is regarded as a moving image is 15 and is larger than the threshold value T3 of 3, the q of this ADRC block is 4, and the information amount control circuit 164 is 256 bits from the code Q of (16 * 4) * 4. I ask that
[0111]
Similarly, the information amount control circuit 164 determines a still image because the motion feature amount is smaller than the threshold value Th1 for the threshold value set having the table index of 1. Since the dynamic range DR when regarded as a still image is larger than the threshold value T1 and smaller than the threshold value T2, the q of this ADRC block is 3, and the information amount control circuit 164 has the code Q from (8 * 4) * 3. Require 96 bits.
[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 amount control circuit 164 selects a table index having the largest information amount with a code Q generated for one buffer of 16,104 bits or less as the table index TI, and outputs the table index TI to the delay circuit 173.
[0113]
The information amount control circuit 164 may calculate the number of bits of the code Q corresponding to the table index in parallel or sequentially from the larger (or smaller) side of the table index.
[0114]
An example of the configuration of the information amount control circuit 164 will be described with reference to FIGS. FIG. 20 is a diagram illustrating a configuration of a front stage portion of the information amount control circuit 164, and FIG. 21 is a diagram illustrating a configuration of a rear stage portion of the information amount control circuit 164.
[0115]
As shown in FIG. 20, the information amount control circuit 164 includes, in the preceding stage, comparison circuits 181-1 and 181-2 corresponding to the number of thresholds of the dynamic range DR, and adders 182-1 and 182- 2 and registers 183-1 and 183-2. A dynamic range DR that can take a numerical value from (0 to 255) is supplied to one input terminal of each of the comparison circuits 181-1 and 181-2.
[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 input terminal 5 is equal to or greater than each threshold value. The comparison outputs of the comparison circuits 181-1 and 181-2 are supplied to one input terminal of either the adder 182-1 or 182-2 connected thereto. The other input terminal of the adder 182-1 or 182-2 is configured to be supplied with its own addition output via the registers 183-1 and 183-2.
[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 adder 191 as shown in FIG. Further, the adder 191 is supplied with frequency data stored in the information amount control circuit 164 in advance. In the adder 191, the occurrence frequency data of (T1 ≦ DR ≦ 255), the occurrence frequency data of (T2 ≦ DR ≦ 255), and the frequency data stored in advance are added, and the total amount is calculated.
[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 amount control circuit 164 in advance. When these are added by the adder 191, an output of (S3 + 2 * S3 + 3 * S2) is obtained. This output is the total amount that is equal to the case where the assigned bits are multiplied and fully added.
[0121]
The total amount calculated in the adder 191 is supplied to one input terminal of the comparison circuit 193 via the register 192. The buffer maximum value is supplied to the other input terminal 12 of the comparison circuit 193, and the total amount is compared with the buffer maximum value. Based on the comparison output of the comparison circuit 193, a threshold value is determined such that the total amount is less than or equal to the buffer maximum value. That is, a plurality of sets of threshold values are stored in advance in the threshold value table 165 so that the total amount of generated data simply increases or decreases, and the threshold values are selected so that the total amount falls within the target.
[0122]
The information amount control circuit 164 selects and outputs the MF selection threshold, the Q bit selection threshold, and the table index TI based on the comparison output of the comparison circuit 193.
[0123]
Returning to FIG. 19, the delay circuit 166 delays the two frame blocks (ADRC block composed of 4 × 16 pixels) by a time corresponding to the processing time of the delay circuit 161 and the information amount control circuit 164, and generates a still block generation circuit 167. To the delay circuit 168 and the static motion determination circuit 169. The static block generation circuit 167 takes the average of the pixel values of the pixels located at the same position on the screen of the even frame and the odd frame from the two frame blocks (ADRC block composed of 4 × 16 pixels), and calculates the average of the 32 pixels. The value is newly replaced as an ADRC block and supplied to the selection circuit 170 as one frame block (ADRC block composed of 4 × 8 pixels).
[0124]
The delay circuit 168 delays the two frame blocks (ADRC block composed of 4 × 16 pixels) by a time corresponding to the processing time of the still block generation circuit 167 and supplies the delay to the selection circuit 170.
[0125]
The static motion determination circuit 169 generates and selects a motion flag MF attached to the ADRC block on the basis of a 2-frame block (ADRC block composed of 4 × 16 pixels) and an MF selection threshold composed of thresholds Th1 and Th2. The circuit 170 and the delay circuit 172 are supplied.
[0126]
When the motion flag MF is 1, that is, when the ADRC block corresponds to a moving image, the selection circuit 170 supplies the 2-frame block supplied from the delay circuit 168 to the ADRC encoder 171 and when the motion flag MF is 0, That is, when the ADRC block corresponds to a still image, the one frame block supplied from the still block generation circuit 167 is supplied to the ADRC encoder 171.
[0127]
The ADRC encoder 171 encodes the two-frame block or the one-frame block supplied from the selection circuit 170 based on the Q-bit selection threshold supplied from the information amount control circuit 164, so that the dynamic range DR, the minimum value MIN, q , And code Q are output.
[0128]
The delay circuit 172 delays and outputs the motion flag MF supplied from the static motion determination circuit 169 in accordance with the processing time of the selection circuit 170 and the processing time of the ADRC encoder 171.
[0129]
The delay circuit 173 delays and outputs the table index TI supplied from the information amount control circuit 164 in correspondence with the delay time of the delay circuit 168, the processing time of the selection circuit 170, and the processing time of the ADRC encoder 171. .
[0130]
As described above, the ADRC encoding circuit 103 generates the dynamic range DR, the minimum pixel value MIN, the motion flag MF, and the code Q for each ADRC block, and the inter-segment shuffle circuit together with the index TI of the quantization table. 104 is supplied.
[0131]
FIG. 22 is a diagram for explaining how the inter-segment shuffle circuit 104 is shuffled. As shown in FIG. 22, there are three ways of shuffling: shuffle 0 to 2, and shuffle 0 does not shuffle. In shuffle 1, data of segment 0 (segment 1) is segment 4 (segment 5), data of segment 2 (segment 3) is segment 0 (segment 1), and data of segment 4 (segment 5) is segment 2 ( Each segment 3) is shuffled (replaced).
[0132]
Similarly, for Shuffle 2, the data of segment 0 (segment 1) is sent to segment 2 (segment 3), the data of segment 2 (segment 3) is sent to segment 4 (segment 5), and the data of segment 4 (segment 5) is sent. Shuffle each segment 0 (segment 1).
[0133]
FIG. 23 is a diagram for explaining the dynamic range DR shuffle performed in segment 0, segment 3, and segment 5. FIG. One segment includes five buffers, and one buffer includes 88 ADRC blocks. Therefore, one segment includes 440 DRs. Numbers 1 to 440 are sequentially assigned to DRs existing in each segment, and in FIG. 23, for example, the DR of number 1 of segment 1 is described as DR1-1.
[0134]
Shuffle 0 is used for the DR of number 1 in each segment (that is, not replaced), shuffle 1 is used for the DR of number 2, and shuffle is used for the DR of number 3 2 is used, and for the DR of number 4, shuffle is performed in the order of shuffle 0, shuffle 1, and shuffle 2, so that shuffle 0 is used.
[0135]
Similarly, the code Q is shuffled. Further, as shown in FIG. 24, the minimum pixel value MIN is performed in the order of shuffle 1, shuffle 2, and shuffle 0 to perform shuffle. Further, the MF that is a motion flag is performed in the order of shuffle 2, shuffle 0, and shuffle 1, as shown in FIG.
[0136]
Next, the shuffling of the index TI of the quantization table will be described. The TI stored in segment 0 is also stored in segment 3, and the TI stored in segment 3 is also stored in segment 0. That is, segment 0 and segment 3 store both their own TI and the counterpart TI. Similarly, segment 1 and segment 4 and segment 3 and segment 5 store both their own TI and the counterpart TI.
[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 device 2 When decoding a predetermined ADRC block, it is possible to recover missing data based on other data that could be received. Further, even if a communication error occurs and a packet including the code Q is lost due to the shuffling of the code Q, the pixels corresponding to the lost code Q are dispersed, and the receiving device 2 It becomes easy to cut out, and when a predetermined ADRC block is decoded, it is easy to create a missing pixel value based on the decoded pixel value.
[0138]
In this way, by shuffling data between segments, the communication device 2 can easily recover data and create missing pixels, and can improve the quality of an image to be reproduced even if a packet is lost on the transmission path. Can be maintained.
[0139]
The data output from the inter-segment shuffle circuit 104 of the encoding circuit 15 is input to the packetizing circuit 17 and made into a packet. FIG. 26 shows a packet configuration. The packet configuration shown in FIG. 26 is composed of 201 bytes, of which DR is A × 8M bits, MIN is B × 8M bits, MF is C × 8M bits, TI is D × (8M / D) bits, The code Q (VL-Data) is composed of 8 × N bits. Data is stored using a plurality of packets of this size unit.
[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 transmission apparatus 1 will be described with reference to the flowchart of FIG. In step S11, the A / D conversion circuit 42 of the thinning unit 13 samples the input interlaced image signal having a field frequency of 60 Hz at a predetermined sampling rate, and outputs Y data U and U at a predetermined data rate. Data and V data are output. In step S12, the thinning filter 43 thins the Y data, U data, and V data by half in the horizontal direction and the vertical direction, respectively, and converts them into progressive data having a frame frequency of 30 Hz.
[0142]
In step S13, the UV vertical ½ circuit 45 thins out U data and V data by ½ in the vertical direction. In step S <b> 14, the format conversion circuit 14 converts Y data, U data, and V data into a format that can be supplied to the encoding circuit 15.
[0143]
In step S <b> 15, the encoding circuit 15 shuffles the Y data, U data, and V data supplied from the format conversion circuit 14, encodes them, further shuffles them, and outputs them to the packetizing circuit 17. In step S <b> 16, the packetizing circuit 17 packetizes the data supplied from the encoding circuit 15 and outputs the packetized data to the transmission circuit 19. In step S19, the transmission circuit 19 transmits the packet supplied from the packetizing circuit 17 by a predetermined method, and the process ends.
[0144]
As described above, the transmission apparatus 1 compresses an input image signal and outputs the compressed signal.
[0145]
Next, the receiving device 2 will be described. FIG. 28 is a block diagram illustrating a configuration of the receiving device 2. The packet received by the receiving circuit 301 is supplied to the packet disassembling circuit 302. The reception circuit 301 sets a missing flag for each bit of data of the lost packet when the received packet is lost. The packet disassembly circuit 302 temporarily stores the supplied packet in the external memory 303, disassembles the packet temporarily stored in the external memory 303, takes out data included in the packet, and decodes the packet together with the missing flag 304 is supplied. The missing flag may be attached to the code Q in units of 8 bits, and the missing flag may be attached to each of the dynamic range DR, the minimum pixel value MIN, and the motion flag MF.
[0146]
The decoding circuit 304 temporarily stores the data supplied from the packet disassembly circuit 302 in the external memory 305, decodes the data encoded by the ADRC method temporarily stored in the external memory 305, and converts the format. Supply to circuit 306. When data such as the dynamic range DR or the minimum value MIN necessary for decoding is missing, the decoding circuit 304 recovers and decodes the missing data, and when the decoding is successful, sets the corresponding missing flag. Reset.
[0147]
The format conversion circuit 306 temporarily stores the data supplied from the decoding circuit 304 in the external memory 307, and performs processing opposite to the processing of the format conversion circuit 14 for the data temporarily stored in the external memory 307. Is supplied to the missing pixel creation circuit 308.
[0148]
Based on the data supplied from the format conversion circuit 306, the missing pixel creation circuit 308 converts the data of the missing pixels during transmission into the vicinity of the missing pixels, that is, spatially or temporally, by class classification adaptive processing. It is created from pixel values of pixels located in the vicinity, and the data is supplied to the format conversion circuit 310. The initialization circuit 309 supplies a coefficient set or the like to the missing pixel creation circuit 308 when the receiving device 2 is activated.
[0149]
The format conversion circuit 310 temporarily stores the data supplied from the missing pixel creation circuit 308 in the external memory 311, and the quadruple resolution creation circuit 312 can process the data temporarily stored in the external memory 311. The image data is converted into progressive 3: 0.5: 0.5 image data having a frame frequency of 30 Hz, and the converted data is supplied to the quadruple-density resolution creation circuit 312.
[0150]
The quadruple-resolution creation circuit 312 creates image data having a density four times that of the supplied image based on the image data supplied from the format conversion circuit 310, and supplies the image data to the interpolation unit 314. The initialization circuit 313 supplies a coefficient set and the like to the quadruple-resolution creation circuit 312.
[0151]
The interpolation unit 314 includes a format conversion circuit 331, an external memory 332, a UV vertical double circuit 333, an external memory 334, a D / A conversion circuit 335, and a post filter 336.
[0152]
The format conversion circuit 331 receives the data supplied from the quadruple-density resolution creation circuit 312, temporarily stores it in the external memory 332, and stores the data temporarily stored in the external memory 332 as a UV vertical double circuit 333. Can be processed into progressive 3: 5: 0.5 image data having a frame frequency of 30 Hz, and the converted data is output to the UV vertical doubling circuit 333.
[0153]
The UV vertical doubling circuit 333 temporarily stores the data supplied from the format conversion circuit 331 in the external memory 334, and the U data and the V data of the data temporarily stored in the external memory 334 are each in the vertical direction. The Y data, the U data, and the V data are supplied to the D / A conversion circuit 335.
[0154]
The D / A conversion circuit 335 converts the Y data, U data, and V data supplied from the UV vertical doubling circuit 333 into analog Y signals, U signals, and V signals, and outputs them to the post filter 336. To do. The post filter 336 is a filter (so-called sin X / X filter) that allows only effective components of the analog Y signal, U signal, and V signal output from the D / A conversion circuit 335 to pass. The Y signal, U signal, and V signal that have passed through the post filter 336 are supplied to the NTSC encoder 315 or output as they are as the output of the receiving device 2.
[0155]
The NTSC encoder 315 generates and outputs a component signal (Y / C signal) and a composite video signal based on the input Y signal, U signal, and V signal.
[0156]
The PLL circuit 316 generates a reference signal serving as a reference for processing of each circuit and supplies the reference signal to the control circuit 317. The control circuit 317 generates the packet disassembly circuit 302, the decoding circuit 304, the format conversion circuit 306, the missing pixel creation circuit 308, the format conversion circuit 310, the quadruple density resolution creation circuit 312, the interpolation unit 314, and the NTSC encoder 315. A control signal is supplied to control the operation of the entire receiving device 2.
[0157]
With reference to FIG. 29, a process of decompressing image data received by the receiving apparatus 2 when a signal is output in an interlaced manner will be described. The image data decoded by the decoding circuit 304 is converted into Y data having 264 pixels in the horizontal direction and 240 pixels in the vertical direction by the format conversion circuit 306 and having a frame frequency of 30 Hz and 240 pixels in the vertical direction, and 88 pixels. It is converted into U data and V data of × 120 pixels × 2.
[0158]
The Y data, U data, and V data constituting one frame output from the format conversion circuit 306 are generated in the 60 Hz field by the quadruple resolution creation circuit 312 after the missing pixels are created by the missing pixel creation circuit 308. It is converted into an interlaced first field and a second field having a frequency. At this time, the Y data is data including 528 pixels in the horizontal direction and 240 pixels in the vertical direction per field. The U data and V data are data including 176 pixels in the horizontal direction and 120 pixels in the vertical direction for each field.
[0159]
The Y data, U data, and V data output from the quadruple-resolution creation circuit 312 include 528 pixels in the horizontal direction and 480 pixels in the vertical direction per frame by the format conversion circuit 331. The U data and the V data are converted into data including 176 pixels in the horizontal direction and 240 pixels in the vertical direction, respectively, for each frame.
[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 vertical doubling circuit 333. The D / A conversion circuit 335 performs digital-analog conversion, converts Y data into an analog Y signal, and converts U data and V data into an analog U signal and an analog V signal, respectively.
[0161]
As described above, the interpolation unit 314 performs processing corresponding to the thinning unit 13 to reproduce the original image having sufficient image quality from the data transmitted at the bit rate reduced to a practical value. can do.
[0162]
As described above, the receiving device 2 expands the received image data and outputs the data as an interlaced Y signal, U signal, and V signal.
[0163]
Next, the decoding circuit 304 will be described. FIG. 30 is a block diagram showing a configuration of the decoding circuit 304. The control signal supplied from the control circuit 317 is input to the timing signal generation circuit 351. The timing signal generation circuit 351 generates a timing signal based on the control signal, and generates an inter-segment deshuffle circuit 352, a q-bit MF recovery circuit 353, a DRMIN recovery circuit 354, an ADRC decoding circuit 355, a block deshuffle circuit 356, and a recovery The error determination circuit 357 is supplied.
[0164]
Data supplied from the packet disassembly circuit 302 is input to the inter-segment deshuffle circuit 352. The inter-segment deshuffle circuit 352 performs the reverse operation of the inter-segment shuffle circuit 104 of the transmission apparatus 1 shown in FIG. 9, and returns the shuffled data to the original order. When there is no omission in the deshuffled data, the inter-segment deshuffle circuit 352 supplies the deshuffled data to the ADRC decoding circuit 355. When the deshuffled data is missing, the inter-segment deshuffle circuit 352 supplies the deshuffled data to the q-bit MF recovery circuit 353 and the DRMIN recovery circuit 354. Further, when there is an error in the data of a plurality of blocks straddling between segments, the inter-segment deshuffle circuit 352 outputs a continuous error signal to the block deshuffle circuit 356.
[0165]
The q-bit MF recovery circuit 353 uses the fact that the correlation between adjacent pixels remains in the compressed code Q, and based on the correlation between the pixel values of the pixels of three consecutive ADRC blocks, the correlation is maximized. The combination of q and the value of the motion flag MF is obtained and output to the DRMIN recovery circuit 354 as the correct value of q and the motion flag MF. The q-bit MF recovery circuit 353 transmits emin1 and emin2 (the minimum value of the adjacent pixel difference and the second smallest value) for determining whether or not the motion flag MF is correct to the recovery error determination circuit 357.
[0166]
FIG. 31 is a block diagram showing a configuration of the q-bit MF recovery circuit 353.
The deshuffled data supplied from the segment deshuffle circuit 352 is supplied to the q-bit MF extraction circuit 371.
[0167]
The q-bit MF extraction circuit 371 extracts q and the motion flag MF from the supplied data and supplies them to each of the 3-block evaluation value calculation circuits 372-1 to 372-6. When q and the motion flag MF are lost due to an error, the q-bit MF extraction circuit 371 assigns possible combinations of q and the motion flag MF to the 3-block evaluation value calculation circuits 372-1 to 372-6, respectively. Supply.
[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 selector 373 together with q and the motion flag MF. Hereinafter, the three-block evaluation value calculation circuits 372-1 to 372-6 are simply referred to as a three-block evaluation value calculation circuit 372 when there is no need to distinguish them individually.
[0170]
The evaluation value is calculated by Expression (1). The smaller the evaluation value, the higher the correlation between pixels.
[0171]
[Expression 1]
Figure 0004656356
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]
Figure 0004656356
[0175]
[Equation 3]
Figure 0004656356
[0176]
The selector 373 selects an evaluation value having the minimum value and an evaluation value having the next largest value after the minimum value from the evaluation values supplied from the three-block evaluation value calculation circuits 372-1 to 372-6, These are supplied to the recovery error determination circuit 357 as emin1 and emin2, respectively.
[0177]
The selector 373 selects q and the motion flag MF output from the three-block evaluation value calculation circuits 372-1 to 372-6 that output the evaluation value having the minimum value, and the q-bit MF recovery circuit 353 The output is supplied to the DRMIN recovery circuit 354.
[0178]
The DRMIN recovery circuit 354 performs ADRC based on the correct value of q and the correct value of the motion flag MF supplied from the q-bit MF recovery circuit 353 and the corresponding ADRC block shown in FIG. The correct value of the dynamic range DR for each block and the minimum value MIN of the pixel value for each ADRC block are obtained and output to the ADRC decoding circuit 355.
[0179]
The recovery process of the dynamic range DR or the minimum pixel value MIN of the DRMIN recovery circuit 354 will be described with reference to FIGS. The pixel value L is decoded from the code Q by the process of Expression (5) by the ADRC method.
[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]
Figure 0004656356
[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]
Figure 0004656356
[0194]
Y is shown by Formula (10).
[0195]
[Equation 5]
Figure 0004656356
[0196]
The minimum value MIN of the pixel value is calculated by Expression (11).
[0197]
Figure 0004656356
[0198]
The ADRC decoding circuit 355 decodes the code Q based on the data supplied from the inter-segment deshuffle circuit 352 when there is no loss in the deshuffled data, and the Y data, U data, and V obtained as a result of the decoding. Data is supplied to the block deshuffle circuit 356.
[0199]
The ADRC decoding circuit 355 passes through the DRMIN recovery circuit 354 when the q or the motion flag MF is missing and the q-bit MF recovery circuit 353 can obtain the correct value of q and the correct value of the motion flag MF. Based on the supplied correct value of q, the correct value of the motion flag MF, the dynamic range DR, and the minimum value MIN of the pixel value for each block, the code Q supplied from the DRMIN recovery circuit 354 is decoded, and the decoding result The obtained Y data, U data, and V data are supplied to the block deshuffle circuit 356 together with an error flag set to “0” corresponding to the Y data, U data, and V data.
[0200]
When the q or MF recovery circuit 355 is missing the q or motion flag MF and the q bit MF recovery circuit 353 cannot determine the correct value of q and the correct value of the motion flag MF, the ADRC decoding circuit 355 has the Y data corresponding to the code Q, The error flag of U data and V data is set to “1” and supplied to the block deshuffle circuit 356.
[0201]
The ADRC decoding circuit 355 has a missing dynamic range DR or the minimum pixel value MIN, and the DRMIN recovery circuit 354 can obtain the correct value of the dynamic range DR and the correct minimum value MIN of the pixel value. The code Q supplied from the DRMIN recovery circuit 354 is calculated based on the correct value of q, the motion flag MF, the dynamic range DR, and the minimum value MIN of the pixel value supplied via the DRMIN recovery circuit 354. Decode and supply Y data, U data, and V data obtained as a result of the decoding to block deshuffle circuit 356 together with an error flag set to “0” corresponding to Y data, U data, and V data To do.
[0202]
The ADRC decoding circuit 355 has a missing dynamic range DR or the minimum pixel value MIN, and the DRMIN recovery circuit 354 cannot obtain the correct value of the dynamic range DR and the correct minimum value MIN of the pixel value. , “1” is set to the error flag of Y data, U data, and V data corresponding to the code Q, and the error flag is supplied to the block deshuffle circuit 356.
[0203]
The recovery error determination circuit 357 outputs a recovery error determination flag Fd to the block deshuffle circuit 356 based on the emin1 and emin2 supplied from the q-bit MF recovery circuit 353, and the previous frame stored in the external memory 305 Update of the Y data, U data, and V data of the corresponding pixel is stopped.
[0204]
When the Y data, U data, and V data are supplied from the ADRC decoding circuit 355 together with the error flag set to “0”, the block deshuffle circuit 356 receives the error flag, Y data, U data, and V data. Remember. When the Y data, U data, and V data are supplied from the ADRC decoding circuit 355 together with the error flag set to “1”, the block deshuffle circuit 356 stores the error flag, and the Y data, U data, and Do not store V data. Further, the block deshuffle circuit 356 also receives the Y data of the corresponding pixel of the previous frame stored in the external memory 305 even when the continuous error signal is supplied from the recovery error determination circuit 357 or the inter-segment deshuffle circuit 352. Update of U data and V data is stopped.
[0205]
The block deshuffle circuit 356 returns the Y data, U data, and V data to the original sequence, the original Y-converted Y data by the reverse operation of the block shuffle circuit 102 of the transmission apparatus 1 shown in FIG. U data and V data are output.
[0206]
As described above, the decoding circuit 304 has the q-bit MF recovery circuit 353 and the DRMIN recovery circuit even if the data q necessary for decoding, the motion flag MF, the dynamic range DR, or the minimum pixel value MIN is lost. Since 354 recovers lost data, decryption can be performed.
[0207]
When there is an error in recovery, the pixel value stored in the external memory 305 is not overwritten, and the pixel value four frames before is output. Therefore, when there is no motion, a pixel value that does not feel uncomfortable can be output.
[0208]
Next, the processing timing of the decoding circuit 304 will be described with reference to the timing charts of FIGS. FIG. 35 shows an example of processing timing of the decoding circuit 304 when there is no omission in the data output from the inter-segment deshuffle circuit 352. The inter-segment deshuffle circuit 352 performs a deshuffling process, and outputs the deshuffled data to the ADRC decoding circuit 355 after a predetermined time has elapsed (in the example of FIG. 35, after 362 clocks from the start of input). The ADRC decoding circuit 355 decodes the data supplied from the inter-segment deshuffle circuit 352 and outputs it.
[0209]
FIG. 36 shows an example of processing timing of the decoding circuit 304 when data output from the inter-segment deshuffle circuit 352 is missing. The inter-segment deshuffle circuit 352 performs a deshuffling process, and when there is no missing data, it is q bits earlier than the timing of supplying data to the ADRC decoding circuit 355 (in the example of FIG. 36, 123 clocks after the start of input). The deshuffled data is output to the MF recovery circuit 353. The q-bit MF recovery circuit 353 supplies q and the motion flag MF to the DRMIN recovery circuit 354 at a predetermined timing.
[0210]
The DRMIN recovery circuit 354 supplies the dynamic range and the minimum pixel value to the ADRC decoding circuit 355 at the same timing as the inter-segment deshuffle circuit 352 supplies data to the ADRC decoding circuit 355 when there is no missing data. .
[0211]
Therefore, even if the decoding circuit 304 recovers q, the motion flag MF, the dynamic range DR, and the minimum pixel value MIN, the data is output at the same timing as when the data output from the inter-segment deshuffle circuit 352 is not missing. Can be decoded and output.
[0212]
As described above, since the decoding circuit 304 recovers the lost data even if the predetermined data necessary for decoding is lost, the decoding can be executed because the q-bit MF recovery circuit 353 and the DRMIN recovery circuit 354 recover the lost data. it can. Note that when a signal for selecting a mode in which error processing is not performed (user selectable mode) is input to the decoding circuit 304, the q-bit MF recovery circuit 353 and the DRMIN recovery circuit 354 do not perform recovery.
[0213]
With reference to FIGS. 37A and 37B and FIGS. 38A and 38B, the data output timing of the block deshuffle circuit 356 will be described.
[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 external memory 305 is provided with two banks each for storing an image of two frames (bank 1 and bank 2 in the figure), and the block deshuffle circuit 356 is as shown in FIG. In addition, when image data corresponding to three ADRCs is supplied from the ADRC decoding circuit 355, it is written in the bank 1, and as shown in FIG. 38B, when no image data is supplied from the ADRC decoding circuit 355. By designating an address (for example, from the start of input to 364 clocks shown in FIG. 36), block deshuffled data is read from bank 2. In the next two frames, when the image data corresponding to the three ADRCs is supplied from the ADRC decoding circuit 355, the block deshuffle circuit 356 writes to the bank 2 and the image data is supplied from the ADRC decoding circuit 355. If not, the block deshuffled data is read from bank 1.
[0216]
In this way, the image data can be block deshuffled and output to the block deshuffle circuit 356 with one external memory 305.
[0217]
FIG. 39 is a block diagram showing a configuration of the recovery error determination circuit 357. The evaluation value emin1 having the minimum value and the evaluation value emin2 having the second smallest value supplied from the q-bit MF recovery circuit 353 are supplied to the difference calculation circuit 431. The difference calculation circuit 431 calculates the difference between the input emin1 and emin2 and outputs the difference to the delay circuit 432. The delay circuit 432 delays the data supplied from the difference calculation circuit 431 for a predetermined time and outputs the delayed data to the adder 435 and the delay circuit 433.
[0218]
The delay circuit 433 delays the data supplied from the delay circuit 432 for a predetermined time and outputs the delayed data to the adder 435 and the delay circuit 434.
[0219]
The delay circuit 434 delays the data supplied from the delay circuit 433 for a predetermined time and outputs the delayed data to the adder 435 and the determination circuit 437.
[0220]
The adder 435 adds the data supplied from the delay circuit 432, the data supplied from the delay circuit 433, and the data supplied from the delay circuit 434, and supplies the result to the determination circuit 436.
[0221]
The determination circuit 436 determines whether or not the data supplied from the adder 435 is equal to or less than a predetermined threshold Te1, and if it is determined that the data supplied from the adder 435 is equal to or less than the threshold Te1, 1 ”is output to the AND circuit 438, and when it is determined that the data supplied from the adder 435 exceeds the threshold Te 1,“ 0 ”is output to the AND circuit 438.
[0222]
The determination circuit 437 determines whether or not the data supplied from the delay circuit 434 is equal to or less than a predetermined threshold value Te2, and if it is determined that the data supplied from the delay circuit 434 is equal to or less than the threshold value Te2, 1 ”is output to the AND circuit 438, and if it is determined that the data supplied from the delay circuit 434 exceeds the threshold Te 2,“ 0 ”is output to the AND circuit 438.
[0223]
The AND circuit 438 outputs “1” to the hold circuit 439 when the data supplied from the determination circuit 436 is “1” and the data supplied from the determination circuit 437 is “1”. The AND circuit 438 outputs “0” to the hold circuit 439 when the data supplied from the determination circuit 436 is “0” or the data supplied from the determination circuit 437 is “0”.
[0224]
The hold circuit 439 holds the input data until a reset signal is input, and outputs the data to the delay circuit 440. The delay circuit 440 delays the data output from the hold circuit 439 for a predetermined time, supplies the data to the hold circuit 439, and outputs the data to the block deshuffle circuit 356 as the recovery determination flag Fd.
[0225]
As described above, the recovery error determination circuit 357 has an integrated value of the difference between the evaluation value emin1 and the evaluation value emin2 for the three ADRC blocks that is equal to or less than the threshold Te1, and the evaluation value emin1 and the evaluation value emin2 for the ADRC block. Is equal to or less than the threshold Te2, that is, when the difference between the evaluation value emin1 and the evaluation value emin2 is small and there is a high possibility that the recovered q or the motion flag MF is not correct, the recovery determination flag Fd is set to 1. .
[0226]
Next, a process in which data decoded by the ADRC decoding circuit 355 is temporarily stored in the block deshuffle circuit 356 and read will be described. The inter-segment deshuffle circuit 352 sets an error flag corresponding to the missing data to “1” when the data supplied from the packet disassembly circuit 302 is missing, and when there is no missing data, an error corresponding to the data. The flag is set to “0”, and the ADRC block unit code Q and error flag are output to the ADRC decoding circuit 355. The ADRC decoding circuit 355 decodes the code Q and outputs Y data, U data, V data, and an error flag to the block deshuffle circuit 356.
[0227]
When the corresponding error flag is “0”, the block deshuffle circuit 356 stores the Y data, the U data, the V data, and the error flag in the external memory 305, and the corresponding error flag is “1”. The error flag is stored in the external memory 305, and the Y data, U data, and V data are not stored in the external memory 305.
[0228]
The external memory 305 has two banks, and stores Y data, U data, V data, and an error flag of two frames in one bank. The bank of the external memory 305 is switched every two frames. Therefore, when the corresponding error flag is “1”, the external memory 305 stores Y data, U data, and V data four frames before.
[0229]
FIG. 40 is a diagram for explaining processing of the block deshuffle circuit 356 when the recovery error determination circuit 357 outputs the recovery determination flag Fd in which “1” is set. The difference between the evaluation value emin1 having the minimum value supplied from the q-bit MF recovery circuit 353 and the evaluation value emin2 having the second smallest value is equal to or less than a predetermined value, and includes 3 consecutive ADRC blocks. When the sum of the differences between emin1 and emin2 of the two ADRC blocks is equal to or less than a predetermined value, the q-bit MF recovery circuit 353 determines that the recovery of q has failed, and thus determines that the data extraction has also failed. To do. At this time, the recovery error determination circuit 357 outputs a recovery determination flag Fd in which “1” is set.
[0230]
When the recovery error determination circuit 357 outputs the recovery determination flag Fd in which “1” is set, the block deshuffle circuit 356 has failed to cut out data from the subsequent buffers (88 ADRC blocks). Therefore, “1” is set in the error flag supplied thereafter, and the error flag is stored in the external memory 305. In the case of the user selectable escape mode, the data is stored in the external memory 305.
[0231]
FIG. 41 is a diagram for explaining the processing of the block deshuffle circuit 356 when the inter-segment deshuffle circuit 353 outputs a continuous error signal. The inter-segment deshuffle circuit 353 outputs a continuous error signal when it detects the loss of both the corresponding even-numbered ADRC block and odd-numbered ADRC block. Since the q-bit MF recovery circuit 353 recovers the q and the motion flag MF using the correlation between the pixel values of adjacent pixels, both the corresponding even-numbered ADRC block and odd-numbered ADRC block are missing. The q-bit MF recovery circuit 353 cannot execute the recovery process. When the continuous error signal is supplied, the block deshaffling circuit 356 considers that data extraction from the subsequent buffer (88 ADRC blocks) has failed, and sets “1” to the error flag supplied thereafter. And the error flag is stored in the external memory 305, and the decoded data supplied thereafter is not stored in the external memory 305.
[0232]
FIG. 42 is a diagram for explaining the processing of the block deshuffle circuit 356 in the user-selectable gray mode. In the case of the gray mode, the block deshuffle circuit 356 adds gray (only corresponding data is set to 128, not all Y, U, and V are set to 128) to the data whose corresponding error flag is “1”. Set and output.
[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 block deshuffle circuit 356. FIG. When the recovery-off input in which “1” is set is supplied, the block deshuffle circuit 356 does not pass through the q-bit MF recovery circuit 353 to the external memory 305 as shown in FIG. When the Y data, U data, and V data are decoded in the above, the decoded Y data, U data, and V data are stored. As shown in FIG. 44, when q and the motion flag are recovered by the q-bit MF recovery circuit 353, the block deshuffle circuit 356 stores the decoded Y data, U data, and V data in the external memory 305. All the corresponding error flags are set to “1”. By changing the recovery off input, the recovery effect of the q-bit MF recovery circuit 353 and the like can be easily confirmed.
[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 block deshuffle circuit 356. When the escape signal is supplied, as shown in FIG. 45, the block deshuffle circuit 356 forces the error flag supplied after that to “1” even if the recovery determination flag Fd is set to “1”. The error flag is stored in the memory without setting "", and the decoded Y data, U data, and V data supplied thereafter are stored in the memory. By changing the escape signal, the effect of concealment processing of the block deshuffle circuit 356 can be easily confirmed.
[0235]
46 and 47 are flowcharts for explaining the process of outputting the decoded data by the block deshuffle circuit 356. In step S31, the inter-segment deshuffle circuit 352 receives the error flag generated by the receiving circuit 301 and supplies it to the ADRC decoding circuit 355. The ADRC decoding circuit 355 outputs the error flag supplied from the inter-segment deshuffle circuit 352 to the block deshuffle circuit 356, and the block deshuffle circuit 356 receives the error flag.
[0236]
In step S32, the block deshuffle circuit 356 selects the first error flag corresponding to the buffer (predetermined 88 ADRC blocks) supplied from the ADRC decoding circuit 355. In step S33, the block deshuffle circuit 356 determines whether or not the continuous error signal supplied from the inter-segment deshuffle circuit 352 is “0”, and it is determined that the continuous error signal is “0”. In step S34, it is determined whether the recovery determination flag Fd supplied from the recovery error determination circuit 357 is "0". If it is determined in step S34 that the recovery determination flag Fd is “0”, the process proceeds to step S35, and the block deshuffle circuit 356 stores an error flag in the external memory 305.
[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 block deshuffle circuit 356 determines whether or not the escape signal is off. If it is determined that the escape signal is off, the block deshuffle circuit 356 proceeds to step S48 and sets the error flag selected in step S32 to “ 1 ″ is set, and the process proceeds to step S35, where the block deshuffle circuit 356 stores an error flag in the external memory 305.
[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 block deshuffle circuit 356 stores the external memory 305 in the external memory 305. Store the error flag.
[0239]
In step S36, the block deshuffle circuit 356 determines whether or not all error flags corresponding to the buffer have been processed. If it is determined that all error flags have been processed, the process proceeds to step S37. The shuffle circuit 356 receives the Y data, U data, and V data decoded from the ADRC decoding circuit 355.
[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 block deshuffle circuit 356 selects the next error flag, returns to step S33, and returns the error flag. Repeat the setting process.
[0241]
In step S38, the block deshuffle circuit 356 selects the first decoded data in the buffer supplied from the ADRC decoding circuit 355.
[0242]
In step S39, the block deshuffle circuit 356 determines whether or not the continuous error signal supplied from the inter-segment deshuffle circuit 352 is “0”, and it is determined that the continuous error signal is “0”. In step S40, it is determined whether or not the error flag corresponding to the selected decoded data is “0”. If it is determined that the error flag corresponding to the selected decoded data is “0”, the process proceeds to step S41, and the block deshuffle circuit 356 selects the decoded Y data, U data, And V data are stored in the external memory 305. The procedure proceeds to step S42.
[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 block deshuffle circuit 356 determines whether or not all the decoded data in the buffer has been processed. If it is determined that all the decoded data in the buffer has been processed, the process proceeds to step S43. .
[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 block deshuffle circuit 356 selects the next data, Returning to step S39, the process of storing the decoded data is repeated.
[0246]
In step S43, the block deshuffle circuit 356 selects the first data stored in the external memory 305. In step S44, the block deshuffle circuit 356 determines whether or not the error flag is “1” and the gray mode, and if it is determined that the error flag is “0” or not the gray mode, In step S45, the selected data is output to the format conversion circuit 306.
[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 block deshuffle circuit 356 outputs the gray data to the format conversion circuit 306, and then proceeds to step S46. move on.
[0248]
In step S46, the block deshuffle circuit 356 determines whether or not all the data stored in the bank of the external memory 305 has been processed, and determines that all the data stored in the external memory 305 has been processed. If so, the process ends.
[0249]
If it is determined in step S46 that all the data stored in the external memory 305 has not been processed, the process proceeds to step S52, and the block deshuffle circuit 356 proceeds to the next stored in the bank of the external memory 305. Data is selected, the process returns to step S44, and the process of outputting the data is repeated.
[0250]
Thus, the block deshuffle circuit 356 can output data with the least sense of incongruity even if the code Q is missing.
[0251]
Next, a process of outputting data of the block deshuffle circuit 356 when the user-selectable recovery off switch (not shown) is “0” will be described with reference to the flowchart of FIG. In step S71, the inter-segment deshuffle circuit 352 receives the error flag generated by the receiving circuit 301 and supplies it to the ADRC decoding circuit 355. The ADRC decoding circuit 355 outputs the error flag supplied from the inter-segment deshuffle circuit 352 to the block deshuffle circuit 356, and the block deshuffle circuit 356 receives the error flag.
[0252]
In step S72, the block deshuffle circuit 356 determines whether q and the motion flag etc. are recovered in the q-bit MF recovery circuit 353 etc., and determines that q and the motion flag MF etc. are not recovered. In this case, the process proceeds to step S73, and the error flag is stored in the external memory 305.
[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 block deshuffle circuit 356 sets all the received error flags to “1”, and the process proceeds to step S73.
[0254]
In step S74, the block deshuffle circuit 356 receives the Y data, U data, and V data decoded from the ADRC decoding circuit 355.
[0255]
In step S75, the block deshuffle circuit 356 determines whether q and the motion flag etc. are recovered in the q-bit MF recovery circuit 353 etc., and determines that q and the motion flag MF etc. are not recovered. In the case, the process proceeds to step S76, and the Y data, U data, and V data received in step S74 are stored.
[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 block deshuffle circuit 356 outputs the Y data, U data, V data, and error flag stored in the external memory 305 to the format conversion circuit 306, and ends the process.
[0258]
Thus, when the recovery off input is “1”, the block deshuffle circuit 356 does not output recovered data.
[0259]
As described above, since the decoding circuit 304 recovers the lost data even if the predetermined data necessary for decoding is lost, the decoding can be executed because the q-bit MF recovery circuit 353 and the DRMIN recovery circuit 354 recover the lost data. it can. Also, the decoding circuit 304 can output data with the least sense of incongruity even if it cannot be decoded. Further, by setting the recovery off input to “1”, the effect of recovery can be easily confirmed.
[0260]
Next, the missing pixel creation circuit 308 will be described. When the progressive pixel image is reproduced, the missing pixel creation circuit 308 performs peripheral classification in the same frame (frame t) of the pixel to be created as shown in FIG. Based on the pixel values of the pixels and the pixel values of the pixels in the previous frame (frame t-1) at the same position in the horizontal and vertical directions as these pixels, the pixel values of the missing pixels are created. To do. In addition, the missing pixel creation circuit 308 performs, as shown in FIG. 49 (B), the pixel value of the peripheral pixels in the same field (field t) of the pixel to be created, The previous field (field t-1) at the same position in the horizontal and vertical directions as the pixel, and the two pixels before the same position in the horizontal and vertical directions as the surrounding pixels of the pixel to be created Based on the pixel values of the pixels in the field (field t-2), the pixel values of the missing pixels are created.
[0261]
FIG. 50 is a block diagram illustrating a configuration of the missing pixel creation circuit 308. The pixel value that is the data input to the missing pixel creation circuit 308 and the error flag indicating the missing pixel are supplied to the preprocessing circuit 501 and the tap construction circuit 502-1.
[0262]
Based on the input pixel value and the error flag indicating the missing pixel, the preprocessing circuit 501 generates a missing pixel value with a linear interpolation filter, sets the value to the missing pixel, This is supplied to the tap construction circuits 502-2 to 502-5. The pixel value is also referred to as tap data.
[0263]
The processing of the preprocessing circuit 501 will be described with reference to the flowchart of FIG. In step S131, the preprocessing circuit 501 determines whether or not the target pixel is missing based on the error flag. If it is determined that the target pixel is not missing, the process proceeds to step S132. The pixel value of the target pixel is set to the target pixel, and the process ends.
[0264]
If it is determined in step S131 that the target pixel is missing, the process proceeds to step S133, and the preprocessing circuit 501 determines the pixel adjacent to the target pixel in the horizontal direction based on the error flag. It is determined whether any one is missing. When it is determined in step S133 that none of the pixels adjacent to the target pixel in the horizontal direction is missing, the process proceeds to step S134, and the preprocessing circuit 501 is adjacent to the target pixel in the horizontal direction. The average value of the two pixel values is set as the pixel value of the target pixel, and the process ends.
[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 preprocessing circuit 501 moves the target pixel in the horizontal direction. It is determined whether any adjacent pixels are missing. If it is determined in step S135 that any of the pixels adjacent to the target pixel in the horizontal direction is not missing, the process proceeds to step S136, and the preprocessing circuit 501 moves the target pixel in the horizontal direction. The pixel value of the adjacent pixel that is not missing is set as the pixel value of the target pixel, and the process ends.
[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 preprocessing circuit 501 sets the target based on the error flag. It is determined whether any of the pixels adjacent in the vertical direction of the pixel is missing. When it is determined in step S137 that none of the pixels adjacent in the vertical direction of the target pixel is missing, the process proceeds to step S138, and the preprocessing circuit 501 is adjacent in the vertical direction of the target pixel. The average value of the two pixel values is set as the pixel value of the target pixel, and the process ends.
[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 preprocessing circuit 501 determines that the target pixel is based on the error flag. It is determined whether or not all the pixels adjacent to the target pixel are missing. When it is determined in step S139 that any pixel adjacent to the target pixel is not missing, the process proceeds to step S40, and the preprocessing circuit 501 is adjacent to the target pixel. The pixel value of the pixel that has not been set is set as the pixel value of the target pixel, and the process ends.
[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 preprocessing circuit 501 determines the past frame at the same position as the target pixel. The pixel value of the pixel is set to the pixel value of the target pixel, and the process ends.
[0269]
As described above, the preprocessing circuit 501 linearly interpolates the pixel value of the target pixel from the pixel values of surrounding pixels. By the interpolation processing by the preprocessing circuit 501, the range of taps that can be used in subsequent processing can be expanded.
[0270]
The tap construction circuits 502-1 to 502-5 supply tap data and the like to the motion class generation circuit 503, the DR class generation circuit 504, the space class generation circuit 505, and the missing class generation circuit 506, respectively, at a predetermined timing. To do.
[0271]
The motion class generation circuit 503 generates a motion class code and a static flag based on the parameters supplied from the initialization circuit 309, the error flag supplied from the tap construction circuit 502-1, and the selected tap. The data is output to the construction circuits 502-2 to 502-5 and the class synthesis circuit 507. The motion class code has 2-bit information indicating the amount of motion, and the static flag indicates the presence / absence of motion by 1 bit.
[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 class generation circuit 503. In FIG. 52A, “error” indicates a missing pixel. FIG. 52B is a diagram illustrating an example of 3 × 3 pixels in the previous frame corresponding to the pixel illustrated in FIG. L1 to L3 shown in FIGS. 52A and 52B each indicate a line, and the same number in the line indicates the same position in the vertical direction. H1 to H3 shown in FIGS. 52A and 52B respectively indicate the horizontal positions of the pixels, and the same numbers indicate the same positions in the horizontal direction.
[0273]
In the case shown in FIGS. 52A and 52B, the time activity is calculated by Expression (12).
[0274]
Figure 0004656356
In Expression (12), () represents a pixel value of a pixel, and || represents a function for obtaining an absolute value.
[0275]
The motion class generation circuit 503 calculates a spatial activity obtained by adding 1 to the difference between the maximum value and the minimum value of 3 × 3 pixels centering on the pixel to be created.
[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 class generation circuit 503. At this time, the spatial activity is calculated by Expression (13).
[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 class generation circuit 503 selects thresholds having different values based on the spatial activity. The motion class generation circuit 503 sets a motion class code based on the motion determination threshold and the time activity.
[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 class generation circuit 503 will be described with reference to the flowchart of FIG. In step S151, the motion class generation circuit 503 determines whether or not the time activity is equal to or less than the threshold value 1. If it is determined that the time activity is equal to or less than the threshold value 1, the process proceeds to step S152, and the motion class code is determined. Set to 0 and the process ends.
[0282]
When it is determined in step S151 that the time activity exceeds the threshold value 1, the process proceeds to step S153, and the motion class generation circuit 503 determines whether the time activity is equal to or less than the threshold value 2, and the time activity is determined to be the threshold value 2. If it is determined as follows, the process proceeds to step S154, the motion class code is set to 1, and the process ends.
[0283]
If it is determined in step S153 that the time activity exceeds the threshold value 2, the process proceeds to step S155, and the motion class generation circuit 503 determines whether the time activity is less than or equal to the threshold value 3 and the time activity is less than or equal to the threshold value 3. If it is determined, the process proceeds to step S156, the motion class code is set to 2, and the process ends.
[0284]
If it is determined in step S155 that the time activity exceeds the threshold 3, the process proceeds to step S157, and the motion class generation circuit 503 sets the motion class code to 3, and the process ends.
[0285]
As described above, the motion class generation circuit 503 sets the motion class code based on the threshold and the time activity.
[0286]
The motion class generation circuit 503 sets the motion flag again based on the motion class codes of a plurality of pixels. For example, as shown in FIG. 56, the motion class generation circuit 503 sets the motion class code of the target pixel based on the motion class codes of the pixels around the pixel to be created.
[0287]
The process of setting the motion class code of the motion class generation circuit 503 will be described with reference to the flowchart of FIG. In step S171, the motion class generation circuit 503 determines whether or not the number of motion class codes for which a value of 3 is set among the motion class codes of the seven pixels is greater than the threshold 3, and the value of 3 When it is determined that the number of motion class codes for which is set is greater than the threshold 3, the process proceeds to step S172, 3 is set for the motion class code, and the process ends.
[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 threshold value 3, the process proceeds to step S173, and the motion class generation circuit 503 has a value of 3 set. It is determined whether or not a value obtained by adding the number of motion class codes and the number of motion class codes for which a value of 2 is set is larger than a threshold value 2, and the number of motion class codes for which a value of 3 is set If it is determined that the value obtained by adding the number of motion class codes for which the value of 2 is set is greater than the threshold 2, the process proceeds to step S174, where 2 is set for the motion class code, and the process ends.
[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 threshold value 2, step S175 , The motion class generation circuit 503 determines 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 motion class code for which a value of 1 is set. It is determined whether or not the value obtained by adding the number of is greater than the threshold 1, 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 If it is determined that the value obtained by adding the number of motion class codes for which the value is set is greater than the threshold value 1, the process proceeds to step S176, where 1 is set for the motion class code, and the process ends.
[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 threshold value 1, the process proceeds to step S <b> 177, and the motion class generation circuit 503 sets 0 to the motion class code, and the process ends.
[0291]
As described above, the motion class generation circuit 503 sets the final motion class code based on the motion class codes of a plurality of pixels and the threshold value stored in advance.
[0292]
As described above, the motion class generation circuit 503 sets and outputs a motion class code from pixel values of a plurality of pixels. The motion class generation circuit 503 sets and outputs a static motion flag based on the motion class code. For example, when the motion class code is 0 or 1, the static flag is set to 0, and when the motion class code is 2 or 3, the static flag is set to 1.
[0293]
Based on the motion class code and static flag supplied from the motion class generation circuit 503, and the position of the missing pixel, the tap construction circuit 502-2 selects taps of the prediction tap variable selection range including prediction taps of all classes. Then, the tap of the selected prediction tap variable selection range is supplied to the variable tap selection circuit 508.
[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 class generation circuit 503, and each selected class tap is missing together with the selected class tap. An error flag indicating whether or not the error occurs is supplied to the DR class generation circuit 504. The DR class generation circuit 504 detects the dynamic range only from the class taps not missing based on the class tap supplied from the tap construction circuit 502-3 and the error flag, and the DR corresponding to the detected dynamic range. A class code is generated and output to the class synthesis circuit 507.
[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 class generation circuit 503, and the selected class tap is missing together with the selected class tap. An error flag indicating whether or not the space class is generated is supplied to the space class generation circuit 505. The space class generation circuit 505 generates a space class code from only the class taps that are not missing based on the class tap supplied from the tap construction circuit 502-4 and the error flag, and outputs the generated space class code to the class synthesis circuit 507. . The space class generation circuit 505 may generate a space class code from all the class taps.
[0296]
Based on the motion class code and the static flag supplied from the motion class generation circuit 503, the tap construction circuit 502-5 applies error flags corresponding to the missing pixels and pixels around the missing pixels. The corresponding error flag is supplied to the missing class generation circuit 506. The missing class generation circuit 506 generates a missing class based on the error flag corresponding to the missing pixel and the error flag corresponding to the pixel around the missing pixel supplied from the tap construction circuit 502-5. A code is generated and output to the class synthesis circuit 507.
[0297]
The class synthesis circuit 507 integrates class codes based on the motion class code, static flag, DR class code, space class code, and missing class code, forms a final class code, and generates a coefficient holding class code. The data is output to the selection circuit 509.
[0298]
The coefficient holding class code selection circuit 509 causes the variable tap selection circuit 508 to select a variable tap based on the coefficient set supplied from the initialization circuit 309, the prediction structure, and the class code supplied from the class synthesis circuit 507. At the same time, the prediction coefficient sequence is output to the estimated prediction calculation circuit 510.
[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 initialization circuit 309, the estimated prediction calculation circuit 510 receives the prediction tap data string supplied from the variable tap selection circuit 508 and the prediction coefficient string supplied from the coefficient holding class code selection circuit 509. Based on the estimation formula including a linear estimation formula or the like, the pixel value of the missing pixel is calculated.
[0309]
As described above, the missing pixel creation circuit 308 calculates a missing pixel value based on the pixel values around the missing pixel by class classification based on dynamic range, motion, lack, change in pixel value, and the like.
[0310]
Further, the estimated prediction calculation circuit 510 improves the image quality of the input image (increase in gradation (increase in the number of bits of Y data, U data, and V data), noise removal, quantization distortion removal ( Including the removal of distortion in the time direction) and the creation of quadruple density resolution.
[0311]
Next, the quadruple resolution creation circuit 312 will be described. When an interlaced image is input, the quadruple-resolution creation circuit 312 applies a classification adaptation process as shown in FIGS. 62 (A) and 62 (B), and the pixels of the previous and subsequent frames are applied. The created pixel is arranged at a position that is deviated by 1/4 in the vertical direction with respect to the position of, and between the two fields before and after.
[0312]
When a progressive image is input, the quadruple-resolution creation circuit 312 applies a class classification adaptation process as shown in FIGS. 62 (C) and 62 (D), and the pixels of the previous and subsequent frames are applied. The created pixel is arranged at the same position in the vertical direction with respect to the position of the first frame and between the two frames before and after.
[0313]
As shown in FIGS. 62C and 62D, the quadruple resolution creation circuit 312 uses a classification adaptation process to output a progressive image, and as shown in FIG. Based on the pixel values of a predetermined number of pixels in one frame, two pixels are created between the two input frames.
[0314]
FIG. 63 is a block diagram showing a configuration of the quadruple-resolution creation circuit 312. The Y data, U data, and V data supplied from the format conversion circuit 310 are supplied to the tap selection circuit 601, the tap selection circuit 602, and the tap selection circuit 603. The tap selection circuit 601 selects a pixel to be used for calculating a pixel value of a pixel to be created in order to quadruple the density according to the tap position information stored in the register 609. The pixels selected by the tap selection circuit 601 are supplied to the estimated prediction calculation circuit 607.
[0315]
The tap selection circuit 602 selects a pixel to be used for the spatial class classification from among the pixel values of pixels in the vicinity of the pixel to be created according to the tap position information stored in the register 610. The pixel selected by the tap selection circuit 602 is supplied to the space class detection circuit 604. The space class detection circuit 604 detects a space class. The detected space class is supplied to the class synthesis circuit 606.
[0316]
The tap selection circuit 603 selects a pixel to be used for class classification corresponding to a motion based on pixels in the vicinity of the pixel to be created according to the tap position information stored in the register 611. The pixel selected by the tap selection circuit 603 is supplied to the motion class detection circuit 605. The motion class detection circuit 605 detects a motion class. The detected motion class is supplied to the class synthesis circuit 606 and the register 610. The tap position information of the register 610 is switched according to the motion class supplied from the motion class detection circuit 605.
[0317]
The class synthesis circuit 606 integrates the space class and the motion class to form a final class code.
[0318]
This class code is supplied as an address to the coefficient memory 612, and a coefficient set corresponding to the class code is read from the coefficient memory 612. The coefficient set is supplied to the estimated prediction calculation circuit 607. Based on the pixel value supplied from the tap selection circuit 601 and the coefficient set supplied from the coefficient memory 612, the estimated prediction calculation circuit 607 calculates the pixel value of the pixel to be created using a linear estimation equation. . The output from the estimated prediction calculation circuit 607 is supplied to the line sequential conversion circuit 613 as line data L1 and line data L2.
[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 initialization circuit 313.
[0320]
The line sequential conversion circuit 613 has a line memory, and outputs line data L1 and line data L2 output from the estimated prediction calculation circuit 607 in line sequential order based on output timing data stored in the register 608. The line sequential conversion circuit 613 outputs image data having a density four times that of the supplied image.
[0321]
The register 608, the register 609, the register 610, the register 611, and the coefficient memory 612 store the coefficient set supplied from the initialize circuit 313 when the initialization signal is supplied to the initialize circuit 313.
[0322]
FIG. 64 shows pixels input to the quadruple-resolution creation circuit 312 when the quadruple-resolution creation circuit 312 generates and outputs pixels of the quadruple-resolution by the interlace method (indicated by a large circle in the figure). And a position of a pixel (indicated by a small circle in the figure) output from the quadruple-resolution creation circuit 312. The frame input to the quadruple density creation circuit 312 has a frequency of 30 Hz, and the field output from the quadruple resolution creation circuit 312 has a frequency of 60 Hz. The output first field pixel is shifted from the input pixel by one line of the screen line output in the vertical direction, and the number of pixels per line is doubled. It has become. The output second field pixels are shifted downward from the input pixels by one line of the screen output in the vertical direction, and the number of pixels per line is doubled. It has become.
[0323]
FIG. 65 shows pixels input to the quadruple resolution creation circuit 312 when the quadruple resolution creation circuit 312 generates and outputs pixels of the quadruple resolution in a progressive manner (in the figure, a large circle). And a position of a pixel (indicated by a small circle in the figure) output from the quadruple-resolution creation circuit 312. A frame input to the quadruple-resolution creation circuit 312 has a frequency of 30 Hz, and a frame output from the quadruple-resolution creation circuit 312 has a frequency of 60 Hz. The pixels of the output frame are output on the same line as the input pixels, and the number of pixels per line is doubled.
[0324]
As described above, the quadruple-resolution creation circuit 312 creates an image having twice the number of pixels per line at the double frame frequency or double the field frequency based on the input image. Output.
[0325]
Next, the UV vertical doubling circuit 333 will be described. FIG. 66 is a block diagram showing a configuration of the UV vertical doubling circuit 333. The UV vertical doubling circuit 333 receives U data and V data in which the number of pixels is increased by the quadruple-resolution creation circuit 312. The input data is delayed by one line by line FIFOs 701-1 to 701-6 and sequentially output to the subsequent stage.
[0326]
The multiplier circuit 702-1 multiplies the input data by a coefficient and outputs the result to the adder circuit 703.
[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 adder circuit 703 adds the data supplied from the multiplier circuits 702-1 to 702-7 and supplies the sum to the latch circuit 704. When a clock signal is input, the latch circuit 704 latches the input data.
[0329]
The operation of the UV vertical doubling circuit 333 will be described with reference to FIG. Line FIFOs 701-1 to 701-6 output data of pixels (pixels indicated by circles in FIG. 67) at the same position in the horizontal direction of the screen on six lines continuous to the input line. The multiplier circuits 702-1 to 702-7 multiply the input data by a coefficient and output the result to the adder circuit 703. The adder circuit 703 adds the output data and outputs it to the latch circuit 704. A clock signal is input to the latch circuit 704 at a timing at which the number of lines is doubled (a timing indicated by a black triangle in FIG. 67). Therefore, the UV vertical doubling circuit 333 interpolates the number of lines of the input U data and V data twice, and outputs the result.
[0330]
Next, reception processing of the reception device 2 will be described with reference to the flowchart of FIG. In step S <b> 201, the packet disassembly circuit 302 disassembles the packet received by the reception circuit 301 and supplies the packet to the decoding circuit 304. In step S202, the decoding circuit 304 decodes the data input from the packet disassembly circuit 302 by the ADRC method. When data is lost during transmission, in the decoding of the decoding circuit 304, q, the motion flag MF, the dynamic range DR, or the minimum pixel value MIN is recovered, and Y data, U data, and V data are decoded. .
[0331]
In step S203, the format conversion circuit 306 converts the Y data, U data, and V data supplied from the decoding circuit 304 into a predetermined format that can be processed by the missing pixel creation circuit 308. In step S204, the missing pixel creation circuit 308 creates a pixel that cannot be decoded by the decoding circuit 304 among the missing pixels by class adaptation processing.
[0332]
In step S205, the format conversion circuit 310 converts the Y data, U data, and V data supplied from the missing pixel creation circuit 308 into a predetermined format that can be processed by the quadruple-resolution creation circuit 312. In step S206, the quadruple-resolution creation circuit 312 creates a pixel by class adaptation processing based on the input Y data, U data, and V data, quadruples the pixel density, and interpolates 314. Output to.
[0333]
In step S207, the format conversion circuit 331 changes the data format so that the Y data, U data, and V data supplied from the quadruple resolution creation circuit 312 can be subjected to predetermined interpolation processing. In step S208, the UV vertical doubling circuit 333 interpolates pixels in the vertical direction with respect to the U data and V data so that the number of lines is doubled. In step S209, the D / A conversion circuit 335 performs digital-analog conversion at a predetermined clock rate, outputs an analog Y signal, an analog U signal, and an analog V signal, and the process ends.
[0334]
As described above, the reception device 2 creates a missing pixel when the pixel is missing, and when the pixel is not missing, the noise is removed or the resolution is higher. New pixels can be created and output.
[0335]
Next, generation of a prediction coefficient used in the missing pixel creation circuit 308 will be described.
[0336]
FIG. 69 is a block diagram illustrating a learning device that generates a prediction coefficient used in the missing pixel creation circuit 308. The image input to the learning device is input to the noise addition circuit 801, the selection circuit 802, and the normal equation calculation circuit 812.
The error flag is supplied to the selection circuit 802, the preprocessing circuit 803, and the tap construction circuits 804-1 to 804-5. The error flag is set so as to indicate omission as appropriate in accordance with the learning content of the learning device.
[0337]
The noise addition circuit 801 adds noise to the pixels of the input image, and supplies the pixels to which the noise has been added to the selection circuit 802. The selection circuit 802 selects either a pixel input to the learning device or a pixel to which noise supplied from the noise addition circuit 801 is added based on the error flag, and the selected pixel is a pre-processing circuit. 803 and the tap construction circuit 804-1. For example, when the selection circuit 802 indicates that the error flag is missing, the selection circuit 802 selects the pixel input to the learning device and supplies the selected pixel to the preprocessing circuit 803 and the tap construction circuit 804-1. When the selection circuit 802 indicates that the error flag is not missing, the selection circuit 802 selects a pixel to which noise is added and supplies the selected pixel to the preprocessing circuit 803 and the tap construction circuit 804-1.
[0338]
The pre-processing circuit 803 generates a pixel value that is assumed to be missing based on the input pixel value and an error flag that indicates missing pixels, and is assumed to be missing. The value is set to the pixel and supplied to the tap construction circuits 804-2 to 804-5. Since the preprocessing circuit 803 performs the same processing as the preprocessing circuit 501, a detailed description of the processing is omitted.
[0339]
The tap construction circuits 804-1 to 804-5 supply tap data and the like to the motion class generation circuit 805, the DR class generation circuit 806, the space class generation circuit 807, and the missing class generation circuit 808, respectively, at a predetermined timing. To do.
[0340]
The motion class generation circuit 805 generates a motion class code and a static flag based on the parameters supplied from the initialization circuit 814, the error flag supplied from the tap construction circuit 804-1, and the selected tap. The data is output to the construction circuits 804-2 to 804-5 and the class synthesis circuit 809. Since the motion class generation circuit 805 performs the same processing as the motion class generation circuit 503, detailed description of the processing is omitted.
[0341]
Based on the motion class code and static flag supplied from the motion class generation circuit 805 and the position of the missing pixel, the tap construction circuit 804-2 selects taps of the prediction tap variable selection range including prediction taps of all classes. Then, the tap of the selected prediction tap variable selection range is supplied to the variable tap selection circuit 810.
[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 class generation circuit 805, and the selected class tap is missing together with the selected class tap. An error flag indicating whether or not the error occurs is supplied to the DR class generation circuit 806. The DR class generation circuit 806 detects the dynamic range only from the class taps that are not missing based on the class tap supplied from the tap construction circuit 804-3 and the error flag, and the DR corresponding to the detected dynamic range. A class code is generated and output to the class synthesis circuit 809.
[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 class generation circuit 805, and each selected class tap is missing together with the selected class tap. An error flag indicating whether or not the error occurs is supplied to the space class generation circuit 807. The space class generation circuit 807 generates a space class code from only the class taps not missing based on the class tap supplied from the tap construction circuit 804-4 and the error flag, and outputs the generated space class code to the class synthesis circuit 809. .
[0344]
Based on the motion class code and the static motion flag supplied from the motion class generation circuit 805, the tap construction circuit 804-5 applies error flags corresponding to the missing pixels and pixels around the missing pixels. The corresponding error flag is supplied to the missing class generation circuit 808. The missing class generation circuit 808 is based on the error flag corresponding to the missing pixel and the error flag corresponding to the pixel around the missing pixel supplied from the tap construction circuit 804-5. A code is generated and output to the class synthesis circuit 809.
[0345]
The class synthesis circuit 809 integrates class codes based on the motion class code, static flag, DR class code, space class code, and missing class code, forms a final class code, and generates a class code selection circuit. 811 is output.
[0346]
Based on the prediction structure supplied from the initialization circuit 814 and the class code supplied from the class synthesis circuit 809, the class code selection circuit 811 causes the variable tap selection circuit 810 to select a variable tap and normalize the class code. It outputs to the equation calculation circuit 812.
[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 tap selection circuit 810. Then, using them, the prediction coefficient W that minimizes the error is calculated by the method of least squares.
[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]
Figure 0004656356
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]
Figure 0004656356
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]
Figure 0004656356
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]
Figure 0004656356
... (17)
[0359]
Therefore, first, Equation (16) is converted into the prediction coefficient w. i Is differentiated by the following equation.
[0360]
[Expression 10]
Figure 0004656356
... (18)
[0361]
From equations (17) and (18), equation (19) is obtained.
[0362]
## EQU11 ##
Figure 0004656356
... (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]
Figure 0004656356
... (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 coefficient memory 813 together with the class code. Thereby, in the coefficient memory 813, the prediction coefficient W from the normal equation calculation circuit 812 is stored at an address corresponding to the class indicated by the class code.
[0371]
In this way, the learning device can generate a coefficient used by the missing pixel creation circuit 308.
[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 class generation circuit 808 of the learning device determines whether or not the target pixel is missing based on the error flag. If it is determined that the target pixel is missing, the process proceeds to step S302. The class synthesis circuit 809 generates a motion class code supplied from the motion class generation circuit 805, a DR class code supplied from the DR class generation circuit 806, a space class code supplied from the space class generation circuit 807, and a missing class generation. Based on the missing class code supplied from the circuit 808, a class code corresponding to the missing pixel of interest is generated, and the process proceeds to step S304.
[0373]
If it is determined in step S301 that the pixel of interest is not missing, the process proceeds to step S303, where the class synthesis circuit 809 is supplied from the motion class code supplied from the motion class generation circuit 805 and the DR class generation circuit 806. Based on the DR class code, the space class code supplied from the space class generation circuit 807, and the missing class code supplied from the missing class generation circuit 808, a class code corresponding to a normal pixel of interest is generated. The process proceeds to S304.
[0374]
In step S304, the variable tap selection circuit 810 selects a prediction tap corresponding to the class indicated by the class code.
[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 coefficient memory 813 in association with the class code, and the process ends.
[0377]
The prediction coefficient W stored in the coefficient memory 813 is stored in the initialization circuit 309 of the missing pixel creation circuit 308, and is loaded into the coefficient holding class code selection circuit 509, for example, when the receiving device 2 is activated.
[0378]
As described above, based on the prediction coefficient W generated by the learning device, the receiving device 2 creates a missing pixel when the pixel is missing, and noise is removed when the pixel is not missing. Alternatively, high quality pixels, such as higher resolution, can be created and output.
[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 CPU 901 and calculation parameters. A RAM (Random-Access Memory) 903 stores programs used in the execution of the CPU 901 and parameters that change as appropriate in the execution. These are connected to each other by a host bus 904 including a CPU bus.
[0382]
The host bus 904 is connected to an external bus 906 such as a PCI (Peripheral Component Interconnect / Interface) bus via a bridge 905.
[0383]
The keyboard 908 is operated by the user when inputting various commands to the CPU 901. The mouse 909 is operated by a user when specifying or selecting a point on the screen of the display 910. The display 910 includes a liquid crystal display device or a CRT (Cathode Ray Tube), and displays various types of information as text and images. An HDD (Hard Disk Drive) 911 drives a hard disk and records or reproduces a program executed by the CPU 901 and information.
[0384]
The drive 912 reads out data or a program recorded in the mounted magnetic disk 941, optical disk 942, magneto-optical disk 943, or semiconductor memory 944, and the data or program is transferred to the interface 907, external bus 906, bridge. 905 and the RAM 903 connected via the host bus 904.
[0385]
These keyboard 908 to drive 912 are connected to an interface 907, and the interface 907 is connected to the CPU 901 via an external bus 906, a bridge 905, and a host bus 904.
[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 ROM 902, a HDD 911, and the like, which are provided to the user in a state of being pre-installed in a computer and in which a program is recorded.
[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 claim 1, Claim 6 Information processing method described in, and Claim 11 According to the recording medium described in ,note Regardless of whether or not the eye data is missing, higher quality data can be generated.
[0390]
Claim 12 Learning device and Claim 13 If the generated conversion information is used, the learning method described in ,note Regardless of whether or not the eye data is missing, higher quality data can be generated.
[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 transmission apparatus 1 according to the present invention.
FIG. 3 is a diagram illustrating a process in which an image signal input to the transmission apparatus 1 is compressed.
4 is a block diagram showing a configuration of a thinning filter 43. FIG.
FIG. 5 is a diagram for explaining an output of a latch circuit 81;
6 is a diagram illustrating an output of a latch circuit 84. FIG.
7 is a block diagram showing a configuration of a UV vertical ½ circuit 45. FIG.
FIG. 8 is a diagram for explaining an output of a latch circuit 94;
9 is a block diagram showing a configuration of an encoding circuit 15. FIG.
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 ADRC encoding circuit 103. FIG.
20 is a diagram illustrating a configuration of an information amount control circuit 164. FIG.
21 is a diagram illustrating a configuration of an information amount control circuit 164. FIG.
22 is a diagram for explaining how to shuffle the inter-segment shuffle circuit 104. FIG.
23 is a diagram for explaining how to shuffle the inter-segment shuffle circuit 104. FIG.
24 is a diagram for explaining how to shuffle the inter-segment shuffle circuit 104. FIG.
25 is a diagram for explaining how to shuffle the inter-segment shuffle circuit 104. FIG.
FIG. 26 is a diagram illustrating a configuration of a packet.
FIG. 27 is a diagram for explaining image transmission processing of the transmission apparatus 1;
28 is a block diagram showing a configuration of the receiving device 2. FIG.
FIG. 29 is a diagram illustrating a process in which an image is expanded.
30 is a block diagram of a decoding circuit 304. FIG.
31 is a block diagram showing a configuration of a q-bit MF recovery circuit 353. FIG.
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 decoding circuit 304 when data output from the inter-segment deshuffle circuit 352 is missing. FIG.
FIG. 37 is a diagram illustrating a data storage method.
FIG. 38 is a diagram for explaining the data output timing of the block deshuffle circuit 356;
39 is a block diagram showing a configuration of a recovery error determination circuit 357. FIG.
FIG. 40 is a diagram illustrating processing of the block deshuffle circuit 356 when the recovery error determination circuit 357 outputs a recovery determination flag Fd in which “1” is set.
FIG. 41 is a diagram for explaining processing of the block deshuffle circuit 356 when the inter-segment deshuffle circuit 353 outputs a continuous error signal.
FIG. 42 is a diagram illustrating processing of the block deshuffle circuit 356 in the gray mode.
FIG. 43 is a diagram for describing processing corresponding to a recovery-off input of the block deshuffle circuit 356;
44 is a diagram for describing processing corresponding to a recovery-off input of the block deshuffle circuit 356; FIG.
45 is a diagram illustrating processing corresponding to an escape signal of the block deshuffle circuit 356. FIG.
FIG. 46 is a flowchart for describing processing of outputting decoded data by the block deshuffle circuit 356;
47 is a flowchart for describing processing of outputting decoded data by the block deshuffle circuit 356. FIG.
FIG. 48 is a flowchart for describing processing for outputting data of the block deshuffle circuit 356 when the recovery-off input is “1”.
49 is a diagram for explaining pixels used for processing of the missing pixel creation circuit 308. FIG.
50 is a block diagram showing a configuration of a missing pixel creation circuit 308. FIG.
FIG. 51 is a flowchart for describing processing of the preprocessing circuit 803;
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 class generation circuit 805;
FIG. 58 is a diagram illustrating a predicted tap data string selected by a variable tap selection circuit 810.
FIG. 59 is a diagram for explaining a prediction tap data string selected by a variable tap selection circuit 810.
FIG. 60 is a diagram for explaining a prediction tap data string selected by the variable tap selection circuit 810.
61 is a diagram for explaining a prediction tap data string selected by a variable tap selection circuit 810. FIG.
FIG. 62 is a diagram for explaining the positions of pixels used for the processing of the quadruple-density resolution creation circuit 312;
FIG. 63 is a block diagram showing a configuration of a quadruple-resolution creation circuit 312.
FIG. 64 is a diagram showing the positions of pixels input to the quadruple-resolution creation circuit 312 and the positions of pixels output from the quadruple-resolution creation circuit 312 when the quadruple-resolution creation circuit 312 outputs in an interlaced manner. It is.
FIG. 65 is a diagram showing the positions of pixels input to the quadruple density creation circuit 312 and the positions of pixels output by the quadruple density resolution creation circuit 312 when the quadruple resolution creation circuit 312 outputs in a progressive manner; It is.
66 is a block diagram showing a configuration of a UV vertical doubling circuit 333. FIG.
67 is a diagram illustrating an output of a latch circuit 704. FIG.
68 is a flowchart for describing reception processing of the reception device 2. FIG.
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.
JP2000392274A 2000-02-10 2000-12-25 Information processing apparatus and method, learning apparatus and method, and recording medium Expired - Fee Related JP4656356B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07162849A (en) * 1993-12-03 1995-06-23 Sony Corp Processor for digital image signal

Patent Citations (1)

* Cited by examiner, † Cited by third party
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