JP4265068B2 - 情報処理装置および方法 - Google Patents
情報処理装置および方法 Download PDFInfo
- Publication number
- JP4265068B2 JP4265068B2 JP2000035379A JP2000035379A JP4265068B2 JP 4265068 B2 JP4265068 B2 JP 4265068B2 JP 2000035379 A JP2000035379 A JP 2000035379A JP 2000035379 A JP2000035379 A JP 2000035379A JP 4265068 B2 JP4265068 B2 JP 4265068B2
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- data
- block
- pixel
- pixels
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Color Television Systems (AREA)
Description
【発明の属する技術分野】
本発明は、情報処理装置および方法に関し、特に、シャフリングするデータを、読み出しに適したアドレスでメモリに書き込みを行う情報処理装置および方法に関する。
【0002】
【従来の技術】
本出願人は、可変長符号化により発生する符号の情報量を目標値以下に制御する情報量制御回路を、例えば、特開昭63−111781号公報として、先に提案している。この公報に記載のものは、積算型の度数分布表(ヒストグラム)を作成し、複数の閾値と度数分布表との関係から発生する符号の情報量を計算するもので、閾値を可変にしたとき、発生する情報量を簡単に求めることを可能としたものである。
【0003】
また、特願平10−302273号において、本出願人は、簡単な構成で回路規模を縮小できる情報量制御回路を提案している。ここで開示されている発明は、複数の閾値と符号化するデータの所定のデジタルデータ(例えば、ダイナミックレンジ)とをそれぞれ比較し、閾値以上で発生する出力の発生度数を積算し、その積算値を所定の期間、更に加算して発生する符号の情報量の総量を求めて、その総量に基づき閾値を変化させるものである。
【0004】
【発明が解決しようとする課題】
しかしながら、このような情報量制御回路を利用して、データを符号化する回路は、情報量制御回路に符号化の対象となるデータを供給するメモリおよび符号化回路に符号化の対象となるデータを供給するメモリが必要となり、その規模が大きくなる。
【0005】
本発明はこのような状況に鑑みてなされたものであり、読み出しに適した配置でデータをメモリに書き込みすることにより、回路規模を縮小することを目的とする。
【0006】
【課題を解決するための手段】
請求項1に記載の情報処理装置は、画素データを書き込むバンクと、書き込まれた画素データを読み出すバンクとを交互に切り換える切り換え手段と、画素データをカウントし、ライン内のアドレスを決定する第1の決定手段と、第1の決定手段によりカウントされた値が、所定値になる毎にカウントし、ラインのアドレスを決定する第2の決定手段と、第1の決定手段と第2の決定手段により決定されたアドレスを加算することにより生成されるアドレスに基づき、画素データを、切り換え手段により書き込み用に切り換えられているバンクに書き込む書き込み手段と、画素データをカウントし、ブロック内のアドレスを決定する第3の決定手段と、第3の決定手段によりカウントされた値が、所定の値になる毎にカウントし、ブロックのアドレスを決定する第4の決定手段と、第4の決定手段によりカウントされた値が、所定の値になる毎にカウントし、セグメントのアドレスを決定する第5の決定手段と、第3の決定手段、第4の決定手段、および第5の決定手段により決定された、それぞれのアドレスを加算することにより生成されるアドレスに基づき、画素データを、切り換え手段により、読み出し用のバンクに切り換えられているバンクから読み出す読み出し手段とを含むことを特徴とする。
【0007】
請求項2に記載の情報処理方法は、画素データを書き込むバンクと、書き込まれた画素データを読み出すバンクとを交互に切り換える切り換えステップと、画素データをカウントし、ライン内のアドレスを決定する第1の決定ステップと、第1の決定ステップでカウントされた値が、所定値になる毎にカウントし、ラインのアドレスを決定する第2の決定ステップと、第1の決定ステップと第2の決定ステップで決定されたアドレスを加算することにより生成されるアドレスに基づき、画素データを、切り換えステップで書き込み用に切り換えられているバンクに書き込む書き込みステップと、画素データをカウントし、ブロック内のアドレスを決定する第3の決定ステップと、第3の決定ステップでカウントされた値が、所定の値になる毎にカウントし、ブロックのアドレスを決定する第4の決定ステップと、第4の決定ステップでカウントされた値が、所定の値になる毎にカウントし、セグメントのアドレスを決定する第5の決定ステップと、第3の決定ステップ、第4の決定ステップ、および第5の決定ステップで決定された、それぞれのアドレスを加算することにより生成されるアドレスに基づき、画素データを、切り換えステップで、読み出し用のバンクに切り換えられているバンクから読み出す読み出しステップとを含むことを特徴とする。
【0008】
請求項1に記載の情報処理装置と請求項2に記載の情報処理方法においては、画素データをカウントすることによりライン内のアドレスが決定され、そのアドレスが所定値になる毎にカウントすることによりラインのアドレスが決定され、決定されたアドレスを加算することにより生成されるアドレスに基づき、画素データが、書き込み用のバンクに書き込まれる。そして、画素データがカウントされ、ブロック内のアドレスが決定され、そのアドレスが所定の値になる毎にカウントされ、ブロックのアドレスが決定され、そのアドレスが所定の値になる毎にカウントされ、セグメントのアドレスが決定され、それぞれのアドレスが加算されることにより生成されるアドレスに基づき、画素データを、読み出し用のバンクから読み出される。
【0009】
【発明の実施の形態】
図1は、本発明に係る画像を送受信する画像伝送システムを説明する図である。送信装置1は、入力されたビデオ信号を、本発明に係る方式で圧縮し、符号化し、パケットの形式に変換し、伝送路を介して、受信装置2に送信する。受信装置2は、伝送路を介して送信されたパケットを受信し、パケットに含まれるデータを本発明に係る方式で復号して、伸張し、ビデオ信号として出力する。伝送路において、パケットに含まれるデータは、輻輳などにより、欠落することがある。また、伝送路を構成するATM交換機(図示せず)の処理能力を超えたような場合、パケットそのものが、失われることがある。
【0010】
図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、およびインターレースフォーマット形式の信号である。
【0011】
間引き部13は、セレクタ12から供給されたY信号、U信号、およびV信号を、それぞれ後述する方式で間引きして、フォーマット変換回路14に供給する。間引き部13は、前置フィルタ41、A/D変換回路42、間引きフィルタ43、外部メモリ44、UV垂直1/2回路45、および外部メモリ46で構成される。
【0012】
前置フィルタ41は、入力されたY信号、U信号、およびV信号の、それぞれ所定の周波数帯域のみを出力するローパスフィルタである。前置フィルタ41の出力は、A/D変換回路42に供給される。
【0013】
A/D変換回路42は、入力されたY信号、U信号、およびV信号をサンプリングし、それぞれを、例えば、8ビットのデータとする。A/D変換回路42に入力されたアナログY信号は、サンプリングされることにより、水平方向に528画素および垂直方向に480画素を含むYデータとして、間引きフィルタ43に出力される。
【0014】
A/D変換回路42に入力されたアナログU信号は、サンプリングされることにより、水平方向に176画素および垂直方向に480画素を含むUデータとして間引きフィルタ43に出力される。A/D変換回路42に入力されたアナログV信号は、サンプリングされることにより、水平方向に176画素および垂直方向に480画素を含むVデータとして間引きフィルタ43に出力される。
【0015】
従って、A/D変換回路42の出力は、3:1:1のフォーマットの信号となっている。
【0016】
間引きフィルタ43は、入力されたYデータ、Uデータ、およびVデータを一時的に外部メモリ44に記憶させ、一時的に記憶させたYデータ、Uデータ、およびVデータを、それぞれ水平方向に1/2および垂直方向に1/2に間引きし、UV垂直1/2回路45に供給する。
【0017】
UV垂直1/2回路45は、間引きフィルタ43から供給されたYデータ、Uデータ、およびVデータを一時的に外部メモリ46に記憶させ、一時的に記憶させたUデータおよびVデータを、それぞれ垂直方向に1/2に間引きし、Yデータ、Uデータ、およびVデータをフォーマット変換回路14に出力する。
【0018】
従って、間引き部13より出力される信号は、3:0.5:0.5の信号となる。
【0019】
フォーマット変換回路14は、間引き部13から供給されたYデータ、Uデータ、およびVデータを、後述する方式で並び替えて、ブロック構造として、符号化回路15に供給する。
【0020】
符号化回路15は、フォーマット変換回路14から供給されたYデータ、Uデータ、およびVデータを一時的に外部メモリ16に記憶させ、外部メモリ16にに記憶されたYデータ、Uデータ、およびVデータを、記憶と読み出しのアドレスを変えることでシャフリングして、ADRC(Adaptive Dynamic Range Coding)方式で符号化し、シャフリングして、パケット化回路17に出力する。
【0021】
ADRC方式は、入力された画像のデータのダイナミックレンジ(DR)に適応した可変長の符号を出力する可変長符号化方式である。画像のデータは、複数の画素からなるブロック(後述するADRCブロック)に分割され、各ブロックに含まれる画素値の最大値および最小値の差であるダイナミックレンジが検出される。ブロックのダイナミックレンジを基に、各画素値を元の量子化ビット数(例えば、8ビット)よりも少ないビット数で、再量子化する。ダイナミックレンジが小さいほど、少ないビット数で再量子化することができ、量子化ひずみの増大を抑えつつ、画素の画素値の冗長度のみを除去して、更にデータ量を少なくすることが可能である。
【0022】
ADRC方式は、ダイナミックレンジの大きさに関連して量子化ビット数を選択するものである。ダイナミックレンジの大小関係を判断するために、動きなどに対応した閾値が使用される。再量子化のためのビット数として、例えば、2ビット、3ビット、または4ビットのいずれか1つを割り当てるとき、動きまたはダイナミックレンジ毎の量子化テーブルに記憶された閾値T1およびT2(但し、T1<T2)が使用される。受信側でも、同じ量子化テーブルが使用される。
【0023】
ダイナミックレンジが(T1−1)以下であるブロックでは、画素値に対するコードに、2ビットが割り当てられる。ダイナミックレンジがT1以上で(T2−1)以下であるブロックでは、画素値に対するコードに、3ビットが割り当てられる。ダイナミックレンジがT2以上であるブロックでは、画素値に対するコードに、4ビットが割り当てられる。画素値に対するコードに割り当てられたビット数をqとする。
【0024】
符号化は、2フレームを30分割して作成される、88個のADRCブロックを単位(この単位をバッファと称する)として実行される。1つのバッファに対して生成されるコードが、ここでは、16,104ビット以下になるように、閾値T1およびT2を記憶した量子化テーブルは、1つのバッファに対して1つ選択される。選択された量子化テーブルは、TIで示されるテーブルインデックスで指定される。1つのバッファに対して生成されるコードが、16,104ビット以下になるようにすることで、符号化された画像のデータの情報を、8Mbpsとすることができる。
【0025】
ダイナミックレンジが2のq乗より大きいとき、画素値に対するコードQは、
[(L−MIN+0.5)×2q/DR]
で算出される。[]は、小数点以下の切り捨てを表す。Lは、画素値を表し、MINは、ブロック内の画素の画素値の最小値を表す。DRは、ブロックのダイナミックレンジを表す。ダイナミックレンジが2のq乗以下のとき、画素値に対するコードQは、L−MINで算出される。
【0026】
符号化回路15は、符号化されたデータとして、量子化テーブルを指定するテーブルインデックスTI、ダイナミックレンジDR、ブロック内の画素の画素値の最小値MIN、動きを示す動きフラグMF、および画素値に対応するコードQを出力する。テーブルインデックスTI、ダイナミックレンジDR、ブロック内の画素の画素値の最小値MIN、および動きを示す動きフラグMFの長さ(ビット数)は、8ビットで固定である。一方、画素値に対するコードQの長さは、変化する。
【0027】
パケット化回路17は、符号化回路15から供給された、符号化データを、一時的に外部メモリ18に記憶させ、一時的に記憶された符号化データを、1.6Kビット毎に分割し、ヘッダ等を付加してパケット化し、送信回路19に供給する。送信回路19は、パケット化回路17から供給されたパケットを所定の伝送方式で変調して、伝送路を介して送信する。
【0028】
PLL回路20は、画像に同期した基準信号を生成し、コントロール回路21に基準信号を供給する。コントロール回路21は、間引き部13、フォーマット変換回路14、符号化回路15、外部メモリ16、パケット化回路17、外部メモリ18、および送信回路19に、PLL回路20から供給された基準信号に基づく、コントロール信号を供給し、送信装置1全体の動作を制御する。
【0029】
図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となり、62%の情報量に圧縮される。
【0030】
60Hzのフィールド周波数を有する、インターレース方式の1フレーム当たり水平方向に528画素および垂直方向に480画素を含むYデータは、間引きフィルタ43により、30Hzのフレーム周波数を有する、プログレッシブ方式の1フレーム当たり水平方向に264画素および垂直方向に240画素を含むデータに圧縮される。60Hzのフィールド周波数を有する、インターレース方式の1フレーム当たり水平方向に176画素および垂直方向に480画素を含むUデータおよびVデータは、間引きフィルタ43により、30Hzのフレーム周波数を有する、プログレッシブ方式の1フレーム当たり水平方向に88画素および垂直方向に240画素を含むデータにそれぞれ圧縮される。
【0031】
1フレーム当たり水平方向に88画素および垂直方向に240画素を含むUデータおよびVデータは、UV垂直1/2回路45により、水平方向に88画素および垂直方向に120画素を含むデータにそれぞれ圧縮される。UV垂直1/2回路45から出力される画像のデータの情報は、21Mbpsとなり、送信装置1に入力される信号の情報と比較し、13%の情報量に圧縮される。
【0032】
このように、間引き部13で間引き処理を行うことで、後段の各回路の構成を簡略化し、伝送路におけるビットレートを、実用的な充分小さい値に設定することができる。
【0033】
30Hzのフレーム周波数を有する、プログレッシブ方式の1フレーム当たりそれぞれ水平方向に88画素および垂直方向に120画素を含むUデータおよびVデータは、フォーマット変換回路14により、88画素×120画素のデータを2つ合わせたデータに変換される。
【0034】
1フレーム当たり水平方向に264画素および垂直方向に240画素を有するYデータ並びに88画素×120画素×2のUデータおよびVデータが符号化回路15により符号化される。符号化された画像のデータの情報は、8Mbpsとなり、送信装置1に入力されるアナログ信号の情報と比較し、5%の情報量に圧縮される。
【0035】
以上のように、送信装置1は、画像信号を圧縮して符号化する。
【0036】
図4は、間引きフィルタ43の構成を示すブロック図である。インターレース方式のYデータは、水平方向のラインに沿って、水平1/2回路61に供給される。水平1/2回路61は、遅延回路(レジスタ)71−1乃至71−N、乗算回路72−1乃至72−N、および加算回路73で構成されている。
【0037】
ハーフバンドフィルタである水平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に出力する。
【0038】
ハーフバンドフィルタである垂直1/2回路62は、ラッチ回路81、フィールドFIFO(Fast In Fast Out)82、加算回路83、およびラッチ回路84から構成されている。水平1/2回路61から出力されたデータは、ラッチ回路81に供給される。ラッチ回路81は、クロック信号が入力されたとき、入力されたデータをラッチし、ラッチしたデータを出力する。
【0039】
水平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となる。
【0040】
ラッチ回路81によりラッチされた値は、フィールドFIFO82および加算回路83に供給される。フィールドFIFO82は、ラッチ回路81から供給された水平方向に1/2に間引かれた第1フィールドの画素のデータを記憶して、1フィールド分遅延させ、加算回路83に出力する。加算回路83は、ラッチ回路81およびフィールドFIFO82から供給されたデータを加算して、ラッチ回路84に供給する。ラッチ回路84は、イネーブル信号が入力されたとき、入力されたデータをラッチする。
【0041】
垂直1/2回路62の動作を図6を参照して説明する。第1フィールドの任意の画素(図6に示す第1フィールド上の黒い4角形の画素)のYデータ、および第1フィールドの画素と画面の水平方向に同一の位置で、1つ下のラインの第2フィールドの画素(図6に示す、第1フィールド上の黒い4角形の画素の右下に位置する第2フィールド上の黒い4角形の画素)のデータが、加算回路83により加算された後、ラッチ回路84に出力される。従って、ラッチ回路84には、第1フィールドと第2フィールドの画素の平均値(図6に白い4角形で示す画素に相当する)がラッチされる。
【0042】
このように、ラッチ回路84の出力は、ラッチ回路81から出力された画素のデータに対して、第1フィールドおよび第2フィールドの間で、1/2に間引きされ、次に、第3フィールドおよび第4フィールドの間で、1/2に間引きされ、30Hzのフレーム周波数を有する、プログレッシブ方式のYデータとなる。
【0043】
UデータおよびVデータも、同様に水平方向と垂直方向に1/2に間引きされ、30Hzのフレーム周波数を有する、プログレッシブ方式のフォーマットのデータとなる。
【0044】
以上のように、間引きフィルタ43から出力される画像のYデータ、Uデータ、およびVデータは、それぞれ間引きされた30Hzのフレーム周波数を有する、プログレッシブ方式のフォーマットのデータとなる。
【0045】
次に、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に出力する。
【0046】
加算回路93は、乗算回路92−1乃至92−7から供給されたデータを加算して、ラッチ回路94に供給する。ラッチ回路94は、クロック信号が入力されたとき、入力されたデータをラッチする。
【0047】
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に間引いて、出力する。
【0048】
なお、UV垂直1/2回路45は、Yデータを通過させる。
【0049】
次に、符号化回路15について説明する。図9は、符号化回路15の構成を示すブロック図である。コントロール回路21から供給されるコントロール信号は、タイミング信号生成回路101に入力される。タイミング信号生成回路101は、入力されたコントロール信号を基に、タイミング信号を生成し、ブロックシャフル回路102、ADRC符号化回路103、およびセグメント間シャフル回路104に供給する。
【0050】
フォーマット変換回路14により、変換されたYデータ、Uデータ、およびVデータは、ブロックシャフル回路102に入力される。ブロックシャフル回路102は、供給されたYデータ、Uデータ、およびVデータを外部メモリ16の所定の位置に一時的に記憶させる。ブロックシャフル回路102は、外部メモリ16に記憶させたYデータ、Uデータ、およびVデータを、後述するADRCブロックの形式に並び換え、後述するセグメントの範囲で、かつADRCブロック単位でシャフルし、ADRC符号化回路103に供給する。
【0051】
ADRC符号化回路103は、ブロックシャフル回路102から供給されたYデータ、Uデータ、およびVデータを、ADRC方式に基づき符号化し、セグメント間シャフル回路104に供給する。セグメント間シャフル回路104は、供給されたADRCで符号化されたデータを外部メモリ22の所定の位置に、一時的に記憶させる。
【0052】
セグメント間シャフル回路104は、外部メモリ22に記憶させたADRCデータを、記憶と読み出しのアドレスを変えることで、シャフルする。セグメント間シャフル回路104におけるシャフルは、伝送路におけるデータの欠落が発生しても、受信装置2が、ダイナミックレンジDR、最小値MIN、および動きフラグMFいずれかを受信できる可能性を高め、また、伝送路におけるデータの欠落が発生しても、受信装置2が、各コードQを分けて抽出しやすくすることを目的とする。
【0053】
図10は、ブロックシャフル回路102の構成を示すブロック図である。タイミング信号生成回路101が生成したタイミング信号は、コントローラ121に供給される。コントローラ101は、タイミング信号を基に、所定のデータ選択用の信号を生成し、タイミング信号と共に、セレクタ123およびアドレス発生回路124に供給する。Yデータは、遅延回路122−1を介して、所定のタイミングでセレクタ123に入力される。UデータまたはVデータは、遅延回路122−2を介して、所定のタイミングでセレクタ123に入力される。
【0054】
セレクタ123は、コントローラ121から供給された信号を基に、遅延回路122−1から入力されたYデータ、または遅延回路122−2から入力されたUデータ若しくはVデータを選択し、メモリインターフェース125に供給する。
【0055】
アドレス発生回路124は、コントローラ121から供給された信号を基に、メモリインターフェース125が外部メモリ16にYデータ、Uデータ、若しくはVデータを書き込むときのアドレス、またはメモリインターフェース125が外部メモリ16からYデータ、Uデータ、若しくはVデータを読み出すときのアドレスを生成し、メモリインターフェース125に供給する。
【0056】
メモリインターフェース125は、所定のタイミングで、アドレス発生回路124から供給されたアドレスを基に、セレクタ123から供給されたYデータ、Uデータ、またはVデータを、外部メモリ16に記憶させる。また、メモリインターフェース125は、所定のタイミングで、アドレス発生回路124から供給されたアドレスを基に、外部メモリ16に記憶されているYデータ、Uデータ、またはVデータを読み出し、後述するADRCブロック単位で、ADRC符号化回路103に出力する。
【0057】
図11は、アドレス発生回路124の構成を示すブロック図である。コントローラ121から供給されたタイミング信号は、バンク切り替え用フリップフロップ131、ライトアドレス発生回路132、およびリードアドレス発生回路133に供給される。コントローラ121から供給されるタイミング信号は、フレームの読み出しを開始させるパルス、フレームの終わりを示し、書き込むメモリのバンクを切り換えるパルス、扱うデータがYデータであるかCデータであるかを示すフラグ、扱うデータがCデータのとき、そのデータがUデータかVデータかを示すフラグ、ブロックの処理を開始させるパルス、および次段のADRC符号化回路103が可変長の見積もりを行っている(バッファリング)か、符号化(エンコーディング)を行っているかを示すフラグである。
【0058】
バンク切り替え用フリップフロップ131は、タイミング信号を基に、外部メモリ16のバンク指定用の信号を生成し、ライトアドレス発生回路132に供給する。
【0059】
ライトアドレス発生回路132は、バンク切り替え用フリップフロップ131から供給された外部メモリ16のバンク指定用の信号、およびコントローラ121から供給されたタイミング信号を基に、メモリインターフェース125が、セレクタ123から供給されたYデータ、Uデータ、またはVデータを、外部メモリ16に記憶させるときのアドレスを生成し、セレクタ134に供給する。
【0060】
リードアドレス発生回路133は、バンク切り替え用フリップフロップ131から供給された外部メモリ16のバンク指定用の信号、およびコントローラ121から供給されたタイミング信号を基に、メモリインターフェース125が、外部メモリ16に記憶されているYデータ、Uデータ、またはVデータを読み出し、ADRC符号化回路103に出力するときのアドレスを生成し、セレクタ134に供給する。
【0061】
セレクタ134は、ライトアドレス発生回路132から供給されたアドレスまたはリードアドレス発生回路133から供給されたアドレスのいずれかを選択し、アドレス信号として、メモリインターフェース125に出力する。
【0062】
次に、ライトアドレス発生回路132が生成するアドレスについて説明する。ライトアドレス発生回路132は、外部メモリ16に、Yデータ、Uデータ、およびVデータが、図12に示すように記憶されるようにアドレスを発生する。外部メモリ16は、アドレス00000h乃至3FFFFhのアドレスを有するバンク0およびアドレス40000h乃至7FFFFhのアドレスを有するバンク1の2つのバンクを有し、2つのフレームを単位として、1つのバンクにYデータ、Uデータ、およびVデータが記憶される。なお、"h"は、それが付された数値は、16進数であることを表す。
【0063】
アドレスは、A18(MSB)からA0(LSB)までの19ビットで表現され、A18乃至A10の上位9ビットで行が指定され、A9乃至A0の下位10ビットで行内の横方向の位置が指定される。
【0064】
フレーム0のYデータは、アドレス00000hを先頭に、所定のライン単位で記憶される。フレーム0のUデータは、アドレス10000hを先頭に、所定のライン単位で記憶される。フレーム0のVデータは、アドレス18000hを先頭に、所定のライン単位で記憶される。
【0065】
フレーム1のYデータは、アドレス20000hを先頭に、所定のライン単位で記憶される。フレーム1のUデータは、アドレス30000hを先頭に、所定のライン単位で記憶される。フレーム1のVデータは、アドレス38000hを先頭に、所定のライン単位で記憶される。
【0066】
フレーム0およびフレーム1の次の2つのフレームである、フレーム2およびフレーム3は、バンク1に記憶される。また、フレーム0およびフレーム1の前の2つのフレームである、フレーム−1およびフレーム−2は、バンク1に記憶される。バンク1にYデータ、Uデータ、およびVデータが記憶される場合、バンク0に記憶されるとき生成されるアドレスに40000hを加えたアドレスが指定される。
【0067】
図13は、外部メモリ16に記憶されているYデータ、Uデータ、およびVデータのアドレスとラインの関係を説明する図である。ライン0は、画面の最も上に位置する画素の水平方向の並びをいい、ライン239は、画面の最も下に位置する画素の水平方向の並びをいう。ラインの番号は、上から順に、1ずつ増える。
【0068】
フォーマット変換回路14が出力するYデータは、ライトアドレス発生回路133が発生するアドレスに従って、24ライン単位で並びかえられる。すなわち、横方向に、ライン0、ライン24、ライン48、・・・と配列され、ライン216の次に、次の行の先頭に戻り、そこにライン1が配置される。ライン1から同様に、横方向にライン1、ライン25、ライン49、・・・と配置される。このような順番でライン単位で供給された画素値が外部メモリ16に記憶される。なお、1ライン当たりの画素の数は、264(16進数で表現すると、108h)である。
【0069】
以上のように、Yデータをライン単位で、外部メモリ16に記憶させると、図26を参照して後述するセグメント毎に画素値が連続して記憶されることになる。UデータおよびVデータも、所定のライン単位で、同様に記憶される。
【0070】
このように、フォーマット変換回路14から出力されたデータを外部メモリ16に書き込む際にアドレスを発生するライトアドレス発生回路32の構成を図14に示す。コントローラ121から供給されたタイミング信号は、Uピクセルカウンタ141、Vピクセルカウンタ142、およびYピクセルカウンタに供給される。Uピクセルカウンタ141は、タイミング信号に基づき、Uデータの書き込み先のアドレスを発生する。Uデータは、ブロックシャフル回路102に入力された順に書き込んでいくので、Uピクセルカウンタ141は、Uデータが入力されるとアドレスを1づつカウントする。
【0071】
同様に、Vデータは、ブロックシャフル回路102に入力された順に書き込まれるので、Vピクセルカウンタ142は、Vデータが入力されると、アドレスを1づつカウントする。
【0072】
Yピクセルカウンタ143は、0乃至263(図13に示したアドレスマップの1ラインの画素数分)をカウントし、そのカウンタ値をYラインカウンタ144、ラインアドレス発生回路145、および加算器146に出力する。Yラインカウンタ144は、Yピクセルカウンタ143から入力されたカウンタ値が263になる毎に1づつカウントアップし、そのカウンタ値をラインアドレス発生回路145に出力する。ラインアドレス発生回路145は、ラインの先頭アドレスを示すポインタを発生する。すなわち、Yピクセルカウンタ123のキャリーを受けると、ポインタをA50hだけ進め(次のラインに移動させ)、Yラインカウンタ144のキャリーを受けると、ポインタをED2Fhだけ戻す(一番下のラインから、一番上のラインに移動させる)。
【0073】
加算器146は、Yピクセルカウンタ143から入力されたライン内のアドレスと、ラインアドレス発生回路145から入力されたラインのアドレスを加算することにより、Yデータのライトアドレスを生成し、セレクタ147に出力する。セレクタ147は、Uピクセルカウンタ141から入力されたUデータのアドレス、Vピクセルカウンタ142から入力されたVデータのアドレス、または、加算器146から入力されたYデータのアドレスを選択し、ライトアドレスとして出力する。
【0074】
図15のタイミングチャートを参照して、ブロックシャフル回路102に入力されたデータとライトアドレス発生回路132が発生するアドレスとのタイミングについて説明する。図15では、1フレームの2ライン分のデータでのタイミングチャートを示している。図15(A)は、ブロックシャフル回路102に入力されたYデータを示し、図15(B)は、Cデータ(UデータまたはVデータ)を示している。図15(A),(B)において、付された番号は、ライン内の画素番号である。図15(C)は、処理中のデータがYデータであるのかCデータであるのかを示すフラグ(ycf:y/c flag)であり、このフラグが立っているときは、Cデータが処理中であることを示す。
【0075】
図15(D)は、処理するCデータがUデータであるのかVデータであるのかを示すフラグ(uvf:u/v flag)であり、フラグが立っていると、Vデータが処理中であることを示している。図15(E)は、ライトイネーブル(wen)を示すフラグであり、このフラグが立っているとき、外部メモリ16に書き込みが行われる。図15(F)は、外部メモリ16に書き込まれるデータを示している。そして、図15(G)は、図15(F)に示したデータが書き込まれる、外部メモリ16内のアドレスを示している。
【0076】
次に、リードアドレス発生回路133について説明する。図16は、リードアドレス発生回路133の構成を示すブロック図である。コントローラ121から供給されたタイミング信号は、ピクセルアドレス発生回路151、Cブロックポインタ153、およびYブロックポインタ154に供給される。ピクセルアドレス発生回路151は、タイミング信号を基に、後述するADRCブロックの最も上で、且つ、最も左に位置する画素(ピクセル)の画素値が記憶されているアドレスを起点に、画素値をスキャンするための相対アドレスを生成し、加算器158に供給する。
【0077】
セグメントオフセット発生回路152は、カウンタ等から構成され、ピクセルアドレス発生回路151、Cブロックポインタ153、およびYブロックポインタ154から供給された信号を基に、処理中のセグメント(図26を参照して後述する)を指定するアドレスのデータを生成し、ピクセルアドレス発生回路151に供給する。セグメントオフセット発生回路152は、UデータまたはVデータのセグメントを指定する所定のデータを加算器155に供給し、Yデータのセグメントを指定する所定のデータを加算器156に供給する。
【0078】
Cブロックポインタ153は、タイミング信号を基に、処理中のUデータまたはVデータのADRCブロックの先頭アドレスを指定するためのデータを加算器155に出力する。加算器155は、Cブロックポインタ153から供給された処理中のUデータまたはVデータのADRCブロックの先頭アドレスを指定するためのデータ、およびセグメントオフセット発生回路152から供給されたUデータまたはVデータのセグメントを指定する所定のデータを加算し、UデータまたはVデータのセグメントおよびADRCブロックの先頭アドレスを指定する所定のデータをセレクタ157に供給する。
【0079】
Yブロックポインタ154は、タイミング信号を基に、処理中のYデータのADRCブロックの先頭アドレスを指定するためのデータを加算器156に出力する。加算器156は、Yブロックポインタ154から供給された、処理中のYデータのADRCブロックの先頭アドレスを指定するためのデータ、およびセグメントオフセット発生回路152から供給されたYデータのセグメントを指定する所定のデータを加算し、YデータのセグメントおよびADRCブロックの先頭アドレスを指定する所定のデータをセレクタ157に供給する。
【0080】
セレクタ157は、加算器155から供給されたUデータまたはVデータのセグメントおよびADRCブロックの先頭アドレスを指定する所定のデータ、または加算器156から供給されたYデータのセグメントおよびADRCブロックの先頭アドレスを指定する所定のデータのいずれかを選択して、加算器158に供給する。
【0081】
加算器158は、セレクタ157が出力するUデータまたはVデータのセグメントおよびADRCブロックの先頭アドレスを指定する所定のデータまたはYデータのセグメントおよびADRCブロックの先頭アドレスを指定する所定のデータと、ADRCブロック内の画素値をスキャンするための相対アドレスを加算して、読み出す画素値のアドレスとしてセレクタ134に出力する。リードアドレス発生回路133により発生されるアドレスにより、外部メモリ16から読み出されるデータは、後述するブロックシャフルがされた状態で読み出される。
【0082】
ここで、図17のタイミングチャートを参照して、リードアドレス発生回路133の動作について説明する。図17(A)に示すように、外部メモリ16への書き込み(W)と読み出し(R)は交互に行われている。1ライン分のデータの書き込みが終了すると、11ブロックの読み出しが開始される。後述するように、同じデータは、バッファリング用とエンコード用に88個のブロックが、2度読み出される。読み出しは、バッファリング用とエンコード用、それぞれ、11ブロック毎に8回、読み出されることにより行われる。
【0083】
図17(B)は、処理中のデータがYデータであるかCデータであるのかを示すフラグであり、このフラグが立っていると、Cデータが処理中であることを示している。図17(C)は、読み出されるCデータがUデータであるかVデータであるかを示すフラグであり、フラグが立っていると、Vデータが処理中であることを示している。図17(E)は、各ブロックの処理を開始させるクロックである。
【0084】
ブロックの処理の開始を示すクロックが入力されたとき、ycfのフラグが立っていないときは、Yデータを読み出す為のアドレスが発生され、ycfのフラグが立っており、uvfのフラグが立っていないときは、Uデータを読み出す為のアドレスを、uvfのフラグが立っているときは、Vデータを読み出す為のアドレスが、それぞれ発生される。このようにして、発生されたアドレスに従い、図17(E)に示すように、データが読み出される。
【0085】
図18を参照して、符号化回路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に符号化される。
【0086】
ADRC符号化回路103から出力された88個のADRCブロックに対応する符号化されたデータ(以下、バッファと称する)は、セグメント間シャフル回路104により、5個ずつにまとめられる(以下、セグメントと称する)。偶数セグメントに対応する3個のセグメント(図中、セグメント0、セグメント2、およびセグメント4と示す)は、セグメント間シャフル回路104により、セグメント間でシャフルされる。奇数セグメントに対応する3個のセグメント(図中、セグメント1、セグメント3、およびセグメント5と示す)は、セグメント間シャフル回路104により、セグメント間でシャフルされる。
【0087】
セグメント間でシャフルされたセグメントは、セグメント0、セグメント1、セグメント2、セグメント3、セグメント4、およびセグメント5の順に並べられる。
【0088】
パケット化回路17は、セグメント0、セグメント1、セグメント2、セグメント3、セグメント4、およびセグメント5の順に並べられたセグメントに格納されている符号化されたデータを、8個のADRCブロックに対応するデータ(ダイナミックレンジDR、最小値MIN、動きフラグMF、テーブルインデックスTI、およびコードQ)毎にパケットに格納する。
【0089】
図19乃至図26を参照して、ブロックシャフル回路102の動作を説明する。図19は、ADRCブロックを説明する図である。各フレームから水平8画素×垂直8画素の隣り合う64画素のブロックを選び出し、ブロックの中で最も左で且つ最も上に位置する画素(図中に0−1または1−1と示された画素)、およびこれを基準とし、その画素から水平に2画素だけ移動した位置にある画素(図中に0−3または1−3と示された画素)、その画素から垂直に2画素だけ移動した位置にある画素(図中に0−17または1−17と示された画素)、またはその画素から水平に1画素かつ垂直に1画素だけ移動した位置にある画素(図中に0−10または1−10と示された画素)を偶数画素と称する。さらに、これらの画素を基準として、同様の選択を繰り返し、選択された画素を、偶数画素とする。
【0090】
また、各フレームの残りの画素は、奇数画素とする。
【0091】
図19に示すように、偶数フレーム(フレーム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ブロックを構成する。
【0092】
図20乃至図22は、フレーム内の画素とADRCブロックとの関係を示す図である。図20に示すように、フレーム0の画素は、水平8画素×垂直8画素の64画素のブロック毎に分割される。同様に、図21に示すように、フレーム1(フレーム0の次のフレーム)の画素は、水平8画素×垂直8画素の64画素のブロック毎に分割される。フレーム0のブロックの中で最も左で且つ最も上に位置する64画素のブロック(図20においてA1と表示された64画素のブロック)および、フレーム1のブロックの中で最も左で且つ最も上に位置する64画素のブロック(図21においてA1と表示された64画素のブロック)の偶数画素により、構成された偶数セグメントのADRCブロックは、図22に示すように、セグメント0として、最も左、且つ最も上に配置される。
【0093】
図20のA1と表示された64画素のブロック、および図21のA1と表示された64画素のブロックの奇数画素により構成された奇数セグメントのADRCブロックは、図22に示すように、セグメント3として、セグメント0の偶数セグメントのADRCブロックの図中右隣に配置される。
【0094】
図20のA2と表示された64画素のブロック、および図21のA2と表示された64画素のブロックの偶数画素より構成された偶数セグメントのADRCブロックは、図22に示すようにセグメント0として、図20のA1と表示された64画素のブロックおよび図21のA1と表示された64画素のブロックの奇数画素により構成された、セグメント3のADRCブロックの図中右隣に配置される。図20のA2と表示された64画素のブロックおよび図21のA2と表示された64画素のブロックの奇数画素により構成された奇数セグメントのADRCブロックは、図22に示すように、セグメント3として、図20のA2と表示された64画素のブロックおよび図21のA2と表示された64画素のブロックの偶数画素により構成された、セグメント0のADRCブロックの図中右隣に配置される。
【0095】
図20のB1と表示された64画素のブロックおよび図21のB1と表示された64画素のブロックの偶数画素により構成された偶数セグメントのADRCブロックは、図22に示すように、セグメント4として、図20のA1と表示された64画素のブロックおよび図21のA1と表示された64画素のブロックの偶数画素により構成された、セグメント0のADRCブロックの図中下側に配置される。図20のB1と表示された64画素のブロックおよび図21のB1と表示された64画素のブロックの奇数画素により構成された奇数セグメントのADRCブロックは、図22に示すように、セグメント1として、図20のA1と表示された64画素のブロックおよび図21のA1と表示された64画素のブロックの奇数画素により構成された、セグメント3のADRCブロックの図中下側(セグメント4のADRCブロックの右隣)に配置される。
【0096】
図20のB2と表示された64画素のブロックおよび図21のB2と表示された64画素のブロックの偶数画素により構成された偶数セグメントのADRCブロックは、図21に示すようにセグメント4として、図20のB1と表示された64画素のブロックおよび図21のB1と表示された64画素のブロックの奇数画素により構成された、セグメント1のADRCブロックの図中右隣に配置される。図20のB2と表示された64画素のブロックおよび図21のB2と表示された64画素のブロックの奇数画素により構成された奇数セグメントのADRCブロックは、図21に示すようにセグメント1として、図20のB2と表示された64画素のブロックおよび図21のB2と表示された64画素のブロックの偶数画素により構成された偶数セグメントのADRCブロックの図中右隣に配置される。
【0097】
図20のC1と表示された64画素のブロックおよび図21のC1と表示された64画素のブロックの偶数画素により構成された偶数セグメントのADRCブロックは、図22に示すようにセグメント2として、図20のB1と表示された64画素のブロックおよび図21のB1と表示された64画素のブロックの偶数画素により構成された、セグメント4のADRCブロックの図中下側に配置される。図20のC1と表示された64画素のブロックおよび図21のC1と表示された64画素のブロックの奇数画素により構成された奇数セグメントのADRCブロックは、図22に示すようにセグメント5として、図20のB1と表示された64画素のブロックおよび図21のB1と表示された64画素のブロックの奇数画素により構成された、セグメント1のADRCブロックの図中下側(セグメント2のADRCブロックの右隣)に配置される。
【0098】
図20のC2と表示された64画素のブロックおよび図21のC2と表示された64画素のブロックの偶数画素により構成された偶数セグメントのADRCブロックは、図22に示すようにセグメント2として、図20のC1と表示された64画素のブロックおよび図21のC1と表示された64画素のブロックの奇数画素により構成された、セグメント5のADRCブロックの図中右隣に配置される。図20のC2と表示された64画素のブロックおよび図21のC2と表示された64画素のブロックの奇数画素により構成された奇数セグメントのADRCブロックは、図22に示すようにセグメント5として、図20のC2と表示された64画素のブロックおよび図21のC2と表示された64画素のブロックの偶数画素により構成された偶数セグメントのADRCブロックの図中の右隣に配置される。
【0099】
以上の手続きを、各フレームを構成する33×10個の各ブロック(264×240画素)について繰り返すことにより、2つのフレームのYデータから、図23(A)に示すように、水平方向に66個、垂直方向に30個並べられたADRCブロックの集合が生成される。図23(B)に示すように、Yデータから生成されたADRCブロックは、シャフルされて、セグメントを構成する。
【0100】
88×120画素のUデータおよびVデータについても同様の処理を行うことにより、図24(A)に示すように、水平方向に22個、垂直方向に15個並べられたADRCブロックの集合が生成される。Yデータの場合と同様に、図24(B)に示すように、UデータおよびVデータから生成されたADRCブロックは、ブロックシャフルされて、セグメントを構成する。
【0101】
各ADRCブロック内で、偶数フレームと奇数フレームの画面上で同一位置にある画素同士(例えば、図19中の0−1と示された画素と1−1と示された画素等)で画素値の差分の絶対値をとり、その差分の絶対値のうち最大値が閾値Th1に満たない場合は、そのADRCブロックは静止画とみなされる。
【0102】
差分の絶対値のうち、最大の値が閾値Th2(Th1<Th2)を越えた場合には、そのADRCブロックは動画とみなされる。
【0103】
静止画のADRCブロックでは、偶数フレームと奇数フレームの画面上で同一位置にある画素同士の画素値の平均をとり、その32個の平均値を新たにADRCブロックとして置き代え、そのADRCブロックに付される動きフラグMFを0とする。
【0104】
動画のADRCブロックでは、偶数フレームと奇数フレームから集めた64画素をそのままADRCブロックとして、そのADRCブロックに付される動きフラグMFを1とする。
【0105】
次に、セグメント毎に、ADRCブロック単位で行われるシャフルについて説明する。0の番号が付されたYデータのADRCブロックから構成されるセグメントにおいて、そのADRCブロックに通し番号を付すると、図25(A)に示すように、y0乃至y329の番号が、ADRCブロックに付される。ADRCブロックをシャフルすると、YデータのADRCブロックが、図25(B)に示されるように配置される。
【0106】
同様に、0の番号が付されたUデータのADRCブロックから構成されるセグメントにおいて、そのADRCブロックに通し番号を付すると、図25(C)に示すように、u0乃至u54の番号が、ADRCブロックに付される。UデータのADRCブロックは、図25(D)に示されるように、通し番号の逆の順に並び替えられる。
【0107】
0の番号が付されたVデータのADRCブロックから構成されるセグメントにおいて、そのADRCブロックに通し番号を付すると、図25(E)に示すように、v0乃至v54の番号が、ADRCブロックに付される。VデータのADRCブロックは、図25(F)に示されるように、通し番号の逆の順に並び替えられる。
【0108】
次に、図26に示されるように、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ブロックが配置される。
【0109】
セグメント1乃至セグメント5においても、同様に、ADRCブロックがシャフルされる。
【0110】
以上のように、画素のデータは、ブロックシャフル回路102により、ADRCブロック毎にシャフルされ、シャフルされたADRCブロックを基に、ADRC符号化回路103で符号化される。ADRCブロックが適切にシャフルされることにより、通信エラーにより欠落した画素が分散され、再生される画像において欠落した画素を認識しにくくすることができる。
【0111】
上述した実施の形態においては、外部メモリ16にYデータを、シャフリングに適した配置にして書き込む場合を説明したが、YデータもUデータやVデータと同じく、入力された順(ラスタースキャン順)に書き込まれるようにしても良い。図27は、入力された順に書き込みを行う場合のライトアドレス発生回路132の構成を示すブロック図である。図27に示したライトアドレス発生回路132の構成は、図14に示したライトアドレス発生回路132から、Yラインカウンタ144、ラインアドレス発生回路145、および加算器146をなくし、Yピクセルカウンタ143から出力されたアドレス値が、直接セレクタ147に入力される。
【0112】
このように書き込みが行われる場合のリードアドレス発生回路133の構成のブロック図を図28に示す。この構成においては、図16に示したリードアドレス発生回路133のYブロックポインタ154にROM161を備えた構成とされている。ROM161には、読み出しの際に用いられるブロック番号と先頭アドレスの対応を関係が記述されたテーブルが記憶されている。
【0113】
次に、図29を参照して、ADRC符号化回路103の構成を説明する。ブロックシャフル回路102によりシャフルされた画像は、ADRCブロックとして、遅延回路161、動き特徴量算出回路162、DR算出回路163、および遅延回路166に供給される。
【0114】
遅延回路161は、2フレームブロック(4×16画素から成るADRCブロック)を動き特徴量算出回路162の処理時間に対応する時間だけ遅延させて、情報量制御回路164に出力する。動き特徴量算出回路162は、ADRCブロック毎に、フレーム間差分の絶対値の最大値である動き特徴量を算出して、情報量制御回路164に供給する。DR算出回路163は、ADRCブロック毎に、静止画とみなされた場合のダイナミックレンジDRおよび動画とみなされた場合のダイナミックレンジDRを算出して、情報量制御回路164に供給する。
【0115】
情報量制御回路164は、遅延回路161から供給された2フレームブロック、動き特徴量算出回路162から供給された動き特徴量、DR算出回路163から供給された静止画とみなされた場合のダイナミックレンジDRおよび動画とみなされた場合のダイナミックレンジDR、並びに閾値テーブル165から供給された閾値Th1およびTh2並びに閾値T1およびT2のセットを基に、閾値Th1およびTh2から成るMF選択閾値を選択して、静動判定回路169に出力する。
【0116】
情報量制御回路164は、2フレームブロック、動き特徴量、静止画とみなされた場合のダイナミックレンジDRおよび動画とみなされた場合のダイナミックレンジDR、並びに閾値テーブル165から供給された閾値Th1およびTh2並びに閾値T1およびT2のセットを基に、Qビット選択閾値を選択して、ADRCエンコーダ171に出力する。
【0117】
例えば、動き特徴量が4で、静止画とみなされた場合のダイナミックレンジDRが14で、動画とみなされた場合のダイナミックレンジDRが15である場合、テーブルインデックスが0の閾値T1が6で、閾値T2が12で、閾値Th1が3で、閾値Th2が3で、テーブルインデックスが1の閾値T1が13で、閾値T2が40で、閾値Th1が5で、閾値Th2が5であるときについて説明する。
【0118】
情報量制御回路164は、テーブルインデックスが0の閾値のセットに対して、動き特徴量が閾値Th2より大きいので、動画と判定する。動画とみなされた場合のダイナミックレンジDRが閾値T2より大きいので、このADRCブロックのqは4となり、情報量制御回路164は、コードQが(16*4)*4より256ビットであることを求める。
【0119】
同様に、情報量制御回路164は、テーブルインデックスが1の閾値のセットに対して、動き特徴量が閾値Th1より小さいので、静止画と判定する。静止画とみなされた場合のダイナミックレンジDRが閾値T1より大きく、閾値T2より小さいので、このADRCブロックのqは3となり、情報量制御回路164は、コードQが(8*4)*3より96ビットであることを求める。
【0120】
このように、閾値のセットには、テーブルインデックスが大きくなると、情報量が減少するようにそれぞれの閾値が設定されている。情報量制御回路164は、1つのバッファに対して生成されるコードQが、16,104ビット以下で、最も大きい情報量のテーブルインデックスをテーブルインデックスTIとして選択して、遅延回路173に出力する。
【0121】
情報量制御回路164は、テーブルインデックスに対応するコードQのビット数を並列演算しても、テーブルインデックスの大きい(または小さい)側から逐次演算するようにしてもよい。
【0122】
図30および図31を参照して、情報量制御回路164の構成の例を説明する。図30は、情報量制御回路164の前段部の構成を示す図であり、図31は、情報量制御回路164の後段部の構成を示す図である。
【0123】
図30に示すように、情報量制御回路164の前段部には、ダイナミックレンジDRの閾値の数に対応した数分の比較回路181−1および181−2と、加算器182−1および182−2と、レジスタ183−1および183−2とが設けられている。比較回路181−1および181−2のそれぞれの一方の入力端子に(0乃至255)までの数値を取りうるダイナミックレンジDRが供給される。
【0124】
また、図30において、閾値テーブル165から、例えば、閾値T1および閾値T2が読み出され、比較回路181−1および181−2の他方の入力端子のそれぞれに供給される。具体的には、比較回路181−1の他方の入力端子に閾値T1が供給され、比較回路181−2の他方の入力端子には閾値T2が供給される。
【0125】
比較回路181−1および181−2のそれぞれには、入力端子5からのダイナミックレンジDRが各閾値以上の場合に、「1」の出力を発生する。比較回路181−1および181−2の比較出力がそれぞれに接続された加算器182−1または182−2のいずれかの一方の入力端子に供給される。加算器182−1または182−2の他方の入力端子には、レジスタ183−1および183−2を介して自らの加算出力が供給されるように構成されている。
【0126】
従って、加算器182−1によって(T1≦DR≦255)の度数の積算値が算出され、得られたデータがレジスタ183−1に保持される。また、加算器182−2によって(T2≦DR≦255)の度数の積算値が算出され、得られたデータがレジスタ183−2に保持される。
【0127】
レジスタ183−1および183−2のそれぞれに保持されている発生度数データのそれぞれが取り出され、図31に示すように、加算器191に供給される。更に、加算器191には、予め情報量制御回路164に記憶されている度数データが供給される。加算器191において、(T1≦DR≦255)の発生度数データと、(T2≦DR≦255)の発生度数データと、予め記憶されている度数データが加算され、総量が算出される。
【0128】
(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)の出力が得られる。この出力は、割り当てビットを乗算して全加算した場合と等しい総量である。
【0129】
加算器191において算出された総量がレジスタ192を介して比較回路193の一方の入力端子に供給される。比較回路193の他方の入力端子12には、バッファ最大値が供給されており、総量がバッファ最大値と比較される。比較回路193の比較出力を基に、総量がバッファ最大値以下となるような閾値が決定される。つまり、閾値テーブル165には、予め発生データの総量が単純増加もしくは単純減少するように複数組の閾値が格納されており、総量が目標以内に収まるように閾値が選定される。
【0130】
情報量制御回路164は、比較回路193の比較出力を基に、MF選択閾値、Qビット選択閾値、およびテーブルインデックスTIを選択して、出力する。
【0131】
図29に戻り、遅延回路166は、2フレームブロック(4×16画素から成るADRCブロック)を遅延回路161および情報量制御回路164の処理時間に対応する時間だけ遅延させて、静止ブロック生成回路167、遅延回路168および静動判定回路169に出力する。静止ブロック生成回路167は、2フレームブロック(4×16画素から成るADRCブロック)から、偶数フレームと奇数フレームの画面上で同一位置にある画素同士の画素値の平均をとり、その32個の平均値を新たにADRCブロックとして置き代え、1フレームブロック(4×8画素から成るADRCブロック)として選択回路170に供給する。
【0132】
遅延回路168は、2フレームブロック(4×16画素から成るADRCブロック)を静止ブロック生成回路167の処理時間に対応する時間だけ遅延させて、選択回路170に供給する。
【0133】
静動判定回路169は、2フレームブロック(4×16画素から成るADRCブロック)並びに閾値Th1およびTh2から成るMF選択閾値を基に、そのADRCブロックに付される動きフラグMFを生成して、選択回路170および遅延回路172に供給する。
【0134】
選択回路170は、動きフラグMFが1のとき、すなわち、ADRCブロックが動画に対応するとき、遅延回路168から供給された2フレームブロックをADRCエンコーダ171に供給し、動きフラグMFが0のとき、すなわち、ADRCブロックが静止画に対応するとき、静止ブロック生成回路167から供給された1フレームブロックをADRCエンコーダ171に供給する。
【0135】
ADRCエンコーダ171は、情報量制御回路164から供給されたQビット選択閾値を基に、選択回路170から供給された2フレームブロックまたは1フレームブロックを符号化して、ダイナミックレンジDR、最小値MIN、q、およびコードQを出力する。
【0136】
遅延回路172は、選択回路170の処理時間およびADRCエンコーダ171の処理時間に対応させて、静動判定回路169から供給された動きフラグMFを遅延して、出力する。
【0137】
遅延回路173は、遅延回路168の遅延時間、選択回路170の処理時間、およびADRCエンコーダ171の処理時間に対応させて、情報量制御回路164から供給されたテーブルインデックスTIを遅延して、出力する。
【0138】
このように、ADRC符号化回路103は、ADRCブロック毎に、ダイナミックレンジDR、画素値の最小値MIN、動きフラグMF、およびコードQを生成し、量子化テーブルのインデックスTIと共に、セグメント間シャフル回路104に供給する。
【0139】
図32は、セグメント間シャフル回路104のシャフルの仕方を説明する図である。図32に示すように、シャフルの仕方にはシャフル0乃至2の3通り存在し、シャフル0は、シャフルを行わないシャフルである。シャフル1は、セグメント0(セグメント1)のデータをセグメント4(セグメント5)に、セグメント2(セグメント3)のデータをセグメント0(セグメント1)に、セグメント4(セグメント5)のデータをセグメント2(セグメント3)に、それぞれシャフル(入れ替え)する。
【0140】
同様に、シャフル2は、セグメント0(セグメント1)のデータをセグメント2(セグメント3)に、セグメント2(セグメント3)のデータをセグメント4(セグメント5)に、セグメント4(セグメント5)のデータをセグメント0(セグメント1)に、それぞれシャフルする。
【0141】
図33は、セグメント0、セグメント3、およびセグメント5において行われるダイナミックレンジDRのシャフルについて説明する図である。1セグメントは、5バッファから構成され、1バッファは88個のADRCブロックを含むため、1セグメントには、440個のDRが含まれる。各セグメント内に存在するDRに番号1乃至440を順次付し、図33では、例えば、セグメント1の番号1のDRは、DR1−1というように記述してある。
【0142】
各セグメントの番号1のDRに対しては、シャフル0が用いられ(すなわち、入れ替えはされない)、番号2のDRに対しては、シャフル1が用いられ、番号3のDRに対しては、シャフル2が用いられ、番号4のDRに対しては、シャフル0が用いられるというように、シャフル0、シャフル1、シャフル2の順でシャフルが行われる。
【0143】
同様に、コードQに対してもシャフルが行われる。また、画素値の最小値であるMINに対しては、図34に示したように、シャフル1、シャフル2、シャフル0の順で行われシャフルが行われる。さらに、動きフラグであるMFに対しては、図35に示すように、シャフル2、シャフル0、シャフル1の順で行われる。
【0144】
次に、量子化テーブルのインデックスTIのシャフルについて説明する。セグメント0に格納されているTIは、セグメント3にも格納され、セグメント3に格納されているTIは、セグメント0にも格納される。すなわち、セグメント0とセグメント3は、自己のTIと対となっている相手のTIとの両方を格納する。同様に、セグメント1とセグメント4、セグメント3とセグメント5は、それぞれ自己のTIと対となっている相手のTIとの両方を格納する。
【0145】
このように、ダイナミックレンジDR、画素値の最小値MIN、および動きフラグMFがシャフルされることにより、通信エラーが発生して、いずれかのデータを含んだパケットが欠落しても、受信装置2は、所定のADRCブロックを復号するとき、受信することができた他のデータを基に、欠落したデータをリカバリすることができる。また、コードQがシャフルされることにより、通信エラーが発生して、コードQを含んだパケットが欠落しても、欠落したコードQに対応する画素が分散され、受信装置2は、コードQの切り出しがしやすくなり、また、所定のADRCブロックを復号するとき、復号できた画素値を基に、欠落した画素値の創造が容易になる。
【0146】
このように、セグメントの間でデータをシャフルすることにより、通信装置2は、データのリカバリ、および欠落画素の創造が容易になり、伝送路においてパケットが欠落しても、再生する画像の質を維持することができる。
【0147】
符号化回路15のセグメント間シャフル回路104から出力されたデータは、パケット化回路17に入力され、パケットにされる。図36に、パケットの構成を示す。図36に示したパケット構成は、201バイトで構成され、その内、DRがA×8Mビット、MINがB×8Mビット、MFがC×8Mビット、TIがD×(8M/D)ビット、およびコードQ(VL-Data)が8×Nビットで構成されている。このサイズの単位のパケットを複数用いてデータを格納する。
【0148】
このように、ダイナミックレンジDR、画素値の最小値MIN、動きフラグMF、テーブルインデックスTI、およびコードQが8の倍数となるように構成することにより、上述したシャフリングを行うときに、各々のデータのビット数サイズによらず、統一のアーキテクチャで、かつ、バイト単位で扱うのに適する。上述した説明、および後述する説明においては、図36に示したパケット構成を用いた場合である。
【0149】
次に、送信装置1の画像の送信の処理を図37のフローチャートを参照して説明する。ステップS11において、間引き部13のA/D変換回路42は、入力された60Hzのフィールド周波数を有するインターレース方式の画像信号を、所定のサンプリングレートでサンプリングして、所定のデータレートのYデータ、Uデータ、およびVデータとして出力する。ステップS12において、間引きフィルタ43は、Yデータ、Uデータ、およびVデータをそれぞれ、水平方向と垂直方向に1/2に間引き、30Hzのフレーム周波数を有するプログレッシブ方式のデータに変換する。
【0150】
ステップS13において、UV垂直1/2回路45は、Uデータ、およびVデータを、垂直方向に1/2に間引く。ステップS14において、フォーマット変換回路14は、Yデータ、Uデータ、およびVデータを符号化回路15に供給できる形式に変換する。
【0151】
ステップS15において、符号化回路15は、フォーマット変換回路14から供給されたYデータ、Uデータ、およびVデータをシャフルして、符号化し、更にシャフルして、パケット化回路17に出力する。ステップS16において、パケット化回路17は、符号化回路15から供給されたデータを、パケット化し、送信回路19に出力する。ステップS19において、送信回路19は、パケット化回路17から供給されたパケットを所定の方式で送信し、処理は終了する。
【0152】
以上のように、送信装置1は、入力された画像の信号を圧縮して、パケットとして出力する。
【0153】
次に、受信装置2について説明する。図38は、受信装置2の構成を示すブロック図である。受信回路301が受信したパケットは、パケット解体回路302に供給される。受信回路301は、受信したパケットに欠落が生じたとき、欠落パケットのデータの各ビット単位で、欠落フラグをセットする。パケット解体回路302は、供給されたパケットを一時的に外部メモリ303に記憶させ、外部メモリ303に一時的に記憶されたパケットを解体して、パケットに含まれるデータを取り出し、欠落フラグと共に復号回路304に供給する。コードQに、8ビット単位で欠落フラグを付け、ダイナミックレンジDR、画素値の最小値MIN、および動きフラグMF毎に欠落フラグを付けるようにしても良い。
【0154】
復号回路304は、パケット解体回路302から供給されたデータを一時的に外部メモリ305に記憶させ、外部メモリ305に一時的に記憶されたADRC方式で符号化されているデータを復号し、フォーマット変換回路306に供給する。復号回路304は、復号に必要なダイナミックレンジDRまたは最小値MINなどのデータが欠落している場合、欠落しているデータをリカバリして、復号し、復号に成功したとき、対応する欠落フラグをリセットする。
【0155】
フォーマット変換回路306は、復号回路304から供給されたデータを一時的に外部メモリ307に記憶させ、外部メモリ307に一時的に記憶されたデータに対し、フォーマット変換回路14の処理とは逆の処理を実行して、欠落画素創造回路308に供給する。
【0156】
欠落画素創造回路308は、フォーマット変換回路306から供給されたデータを基に、クラス分類適応処理により、伝送中に欠落した画素のデータを、欠落した画素の周辺の画素の画素値から作り出し、そのデータをフォーマット変換回路310に供給する。イニシャライズ回路309は、受信装置2の起動時などにおいて、欠落画素創造回路308に、係数セットなどを供給する。
【0157】
フォーマット変換回路310は、欠落画素創造回路308から供給されたデータを一時的に外部メモリ311に記憶させ、外部メモリ311に一時的に記憶されたデータを4倍密解像度創造回路312が処理できる、30Hzのフレーム周波数を有する、プログレッシブ方式の3:0.5:0.5の画像データに変換し、変換したデータを4倍密解像度創造回路312に供給する。
【0158】
4倍密解像度創造回路312は、フォーマット変換回路310から供給された画像データを基に、供給された画像の4倍の密度の画像データを創造し、補間部314に供給する。イニシャライズ回路313は、4倍密解像度創造回路312に、係数セットなどを供給する。
【0159】
補間部314は、フォーマット変換回路331、外部メモリ332、UV垂直2倍回路333、外部メモリ334、D/A変換回路335、および後置フィルタ336で構成されている。
【0160】
フォーマット変換回路331は、4倍密解像度創造回路312から供給されたデータを入力し、一時的に外部メモリ332に記憶させ、外部メモリ332に一時的に記憶されたデータをUV垂直2倍回路333が処理できる、30Hzのフレーム周波数を有する、プログレッシブ方式の3:0.5:0.5の画像データに変換し、変換されたデータをUV垂直2倍回路333に出力する。
【0161】
UV垂直2倍回路333は、フォーマット変換回路331から供給されたデータを一時的に外部メモリ334に記憶させ、外部メモリ334に一時的に記憶されたデータのUデータおよびVデータを、それぞれ垂直方向に2倍に補間し、Yデータ、Uデータ、およびVデータをD/A変換回路335に供給する。
【0162】
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の出力として出力される。
【0163】
NTSCエンコーダ315は、入力されたY信号、U信号、およびV信号を基に、コンポーネント信号(Y/C信号)およびコンポジットビデオ信号を生成し、出力する。
【0164】
PLL回路316は、各回路の処理の基準となる基準信号を生成し、コントロール回路317に供給する。コントロール回路317は、パケット解体回路302、復号回路304、フォーマット変換回路306、欠落画素創造回路308、フォーマット変換回路310、4倍密解像度創造回路312、補間部314、およびNTSCエンコーダ315に、生成したコントロール信号を供給し、受信装置2全体の動作を制御する。
【0165】
図39を参照して、インターレース方式で信号が出力される場合の受信装置2で受信された画像のデータが伸張される過程を説明する。復号回路304で復号された画像のデータは、フォーマット変換回路306で、30Hzのフレーム周波数を有する、プログレッシブ方式の1フレーム当たり水平方向に264画素および垂直方向に240画素を有するYデータ、並びに88画素×120画素×2のUデータおよびVデータに変換される。
【0166】
フォーマット変換回路306から出力された1フレームを構成するYデータ、Uデータ、およびVデータは、欠落画素創造回路308で欠落画素が創造された後、4倍密解像度創造回路312により、60Hzのフィールド周波数を有する、インターレース方式の第1フィールドおよび第2フィールドに変換される。このとき、Yデータは、1つのフィールド当たり、水平方向に528画素および垂直方向に240画素を含むデータとなる。UデータおよびVデータは、それぞれ1つのフィールド当たり、水平方向に176画素および垂直方向に120画素を含むデータとなる。
【0167】
4倍密解像度創造回路312から出力されたYデータ、Uデータ、およびVデータは、フォーマット変換回路331により、Yデータが、1つのフレーム当たり、水平方向に528画素および垂直方向に480画素を含むデータに変換され、UデータおよびVデータは、それぞれ1つのフレーム当たり、水平方向に176画素および垂直方向に240画素を含むデータに変換される。
【0168】
更に、UデータおよびVデータは、UV垂直2倍回路333により、1つのフレーム当たり、水平方向に176画素および垂直方向に480画素を含むデータに変換される。D/A変換回路335は、デジタルアナログ変換を行い、YデータをアナログY信号に変換し、UデータおよびVデータをアナログU信号およびアナログV信号にそれぞれ変換する。
【0169】
このように、補間部314で、間引き部13に対応する処理を行うことで、実用的な値にまで低減されたビットレートで伝送されてきたデータから、充分な画質を有する元の画像を再現することができる。
【0170】
以上のように、受信装置2は、受信した画像のデータを伸張して、インターレース方式のY信号、U信号、およびV信号として出力する。受信装置2が出力する画像の信号の情報は、163Mbpsに相当し、送信装置1に入力された画像の信号の情報と比較すると、98%の情報量に相当する。
【0171】
次に、復号回路304について説明する。図40は、復号回路304の構成を示すブロック図である。コントロール回路317から供給されたコントロール信号は、タイミング信号生成回路351に入力される。タイミング信号生成回路351は、コントロール信号を基に、タイミング信号を生成し、セグメント間デシャフル回路352、qビットMFリカバリ回路353、DRMINリカバリ回路354、ADRC復号回路355、ブロックデシャフル回路356、およびリカバリエラー判定回路357に供給する。
【0172】
パケット解体回路302から供給されたデータは、セグメント間デシャフル回路352に入力される。セグメント間デシャフル回路352は、図9に示す送信装置1のセグメント間シャフル回路104と逆の動作を行い、シャフルされたデータを元の並びに戻す。デシャフルされたデータに欠落がないとき、セグメント間デシャフル回路352は、デシャフルされたデータをADRC復号回路355に供給する。デシャフルされたデータに欠落があるとき、セグメント間デシャフル回路352は、デシャフルされたデータをqビットMFリカバリ回路353、およびDRMINリカバリ回路354に供給する。また、セグメント間に跨る複数のブロックのデータにエラーがあるとき、セグメント間デシャフル回路352は、連続エラー信号をブロックデシャフル回路356に出力する。
【0173】
qビットMFリカバリ回路353は、隣接する画素の相関が圧縮されたコードQに残っていることを利用し、連続する3つのADRCブロックの画素の画素値の相関を基に、その相関が最大となる、qおよび動きフラグMFの値の組み合わせを求め、qおよび動きフラグMFの正しい値として、DRMINリカバリ回路354に出力する。qビットMFリカバリ回路353は、動きフラグMFが正しいか否かを判定するためのemin1およびemin2(隣接画素差分の最小値と2番目に小さい値)をリカバリエラー判定回路357に送信する。
【0174】
図41は、qビットMFリカバリ回路353の構成を示すブロック図である。セグメントデシャフル回路352から供給されたデシャフルされたデータは、qビットMF取り出し回路371に供給される。
【0175】
qビットMF取り出し回路371は、供給されたデータから、qおよび動きフラグMFを取り出し、3ブロック評価値算出回路372−1乃至372−6のそれぞれに供給する。エラーでqおよび動きフラグMFが失われた場合、qビットMF取り出し回路371は、qおよび動きフラグMFとして可能性のある組み合わせを、3ブロック評価値算出回路372−1乃至372−6のそれぞれに供給する。
【0176】
例えば、”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に供給される。
【0177】
3ブロック評価値算出回路372−1乃至372−6は、qおよび動きフラグMFを基に、切り出されたコードQより復号される画素値から、互いに隣接する画素の画素値の差分を基にした評価値(LE:Linear Error)を算出し、qおよび動きフラグMFと共に評価値をセレクタ373に供給する。以下、3ブロック評価値算出回路372−1乃至372−6を、個々に区別する必要がないときは、単に3ブロック評価値算出回路372と称する。
【0178】
評価値は、式(1)で算出される。評価値は、小さいほど画素の相関が高い。
【数1】
Qi,jは、リカバリの対象となるADRCブロックに含まれる欠落していないコードQを示す。Q’i,jは、Qi,jが含まれるADRCブロックを構成する画素を含む図20および図21に示す64画素のブロックの画素で構成される他のADRCブロックに含まれるコードQを示す。例えば、Qi,jが図23の番号”0”の偶数セグメントのADRCブロックに含まれるとき、Q’i,jは、番号”3”の奇数セグメントのADRCブロックに含まれる。Qi,jが図23の番号”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ブロックを識別する番号である。
【0179】
オフセットjは、3つのADRCブロックの間のダイナミックレンジ、qの違いを吸収し、より正確な評価値を算出するために用いられ、式(2)、式(3)、および式(4)で算出される。
オフセットj=(Xj×24-qj-Yj×24-q'j)/128 (2)
【数2】
【数3】
【0180】
セレクタ373は、3ブロック評価値算出回路372−1乃至372−6のそれぞれから供給された評価値から、最小値を有する評価値、および最小値の次に大きい値を有する評価値を選択し、それぞれemin1およびemin2として、リカバリエラー判定回路357に供給する。
【0181】
セレクタ373は、3ブロック評価値算出回路372−1乃至372−6のうち、最小値を有する評価値を出力したものが出力するqおよび動きフラグMFを選択して、qビットMFリカバリ回路353の出力として、DRMINリカバリ回路354に供給する。
【0182】
DRMINリカバリ回路354は、qビットMFリカバリ回路353から供給されたqの正しい値および動きフラグMFの正しい値とセグメント間デシャフル回路352からの図19で示した対応するADRCブロックとを基に、ADRCブロック毎のダイナミックレンジDRの正しい値およびADRCブロック毎の画素値の最小値MINを求め、ADRC復号回路355に出力する。
【0183】
図42乃至図44を参照して、DRMINリカバリ回路354のダイナミックレンジDRまたは画素値の最小値MINのリカバリの処理を説明する。画素値Lは、ADRCの方式により、コードQから式(5)の処理により復号される。
L=DR/(2Q)*q+MIN (5)
【0184】
図42に示すように、qと画素値Lとの関係は、傾きをDR/(2Q)とし、接片を画素値の最小値MINとする直線で表される。
【0185】
ADRCブロック内の(q,L)の組より、式(5)のDR/(2Q)および画素値の最小値MINを統計的に求める。図43に示す、(q,L)の回帰直線を、式(5)の直線に等しいとする。
【0186】
このとき、bが既知であるならば、aは、式(6)で算出される。
a=(B-nb)/A (6)
【0187】
また、aが既知であるならば、bは、式(7)で算出される。
b=(B-Aa)/n (7)
【0188】
ここで、nは、(q,L)の点の個数であり、Aは、Σxであり、Bは、Σyである。
【0189】
ダイナミックレンジDRは、式(8)で算出される。
DR=(ΣL'-N*MIN)/(Σq)*2Q
=(((DR'/2Q')*Y)+N*MIN'-N*MIN)/X*2Q
=(N*(MIN'-MIN)*2Q'+DR'*Y)*2Q/(X*2Q') (8)
図44(A)に示すように、ダイナミックレンジDRまたは画素値の最小値MINをリカバリしようとするブロックが隣接する欠落のないのブロックの数を、niとしたとき、Nは、Σniである。図44において、斜線が示された四角は、ダイナミックレンジDRまたは画素値の最小値MINをリカバリしようとするブロックを示す。図44において、斜線のない四角は、欠落のないのブロックを示す。ダイナミックレンジDRまたは画素値の最小値MINをリカバリしようとするブロックのqが欠落している時、図44(B)に示す様に、niは0である。
【0190】
DR’は、リカバリしようとするブロックが隣接する、欠落のないのブロックのダイナミックレンジを示す。MIN’は、リカバリしようとするブロックが隣接する、欠落のないのブロックの画素値の最小値を示す。Q’は、リカバリしようとするブロックが隣接する、欠落のないのブロックのコードQを示す。
【0191】
Xは、式(9)で表される。
【数4】
【0192】
Yは、式(10)で示される。
【数5】
【0193】
画素値の最小値MINは、式(11)で算出される。
MIN=(ΣL'-Σq*(DR/2Q))
=((DR'/2Q')*Y+N*MIN'-(DR/2Q)*X)/N
=(N*MIN'*2Q'+Q+DR'*Y*2Q-DR*X*2Q')/(N*2Q'+Q) (11)
【0194】
ADRC復号回路355は、デシャフルされたデータに欠落がないとき、セグメント間デシャフル回路352から供給されたデータを基に、コードQを復号し、復号の結果得られたYデータ、Uデータ、およびVデータをブロックデシャフル回路356に供給する。
【0195】
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に供給する。
【0196】
ADRC復号回路355は、qまたは動きフラグMFに欠落があり、かつqビットMFリカバリ回路353がqの正しい値および動きフラグMFの正しい値を求めることができないとき、コードQに対応するYデータ、Uデータ、およびVデータのエラーフラグに”1”を設定して、ブロックデシャフル回路356に供給する。
【0197】
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に供給する。
【0198】
ADRC復号回路355は、ダイナミックレンジDR、または画素値の最小値MINに欠落があり、かつかつDRMINリカバリ回路354がダイナミックレンジDRの正しい値および画素値の最小値MINの正しい値を求めることができないとき、コードQに対応するYデータ、Uデータ、およびVデータのエラーフラグに”1”を設定して、ブロックデシャフル回路356に供給する。
【0199】
リカバリエラー判定回路357は、qビットMFリカバリ回路353から供給されたemin1およびemin2を基に、リカバリエラー判定フラグFdをブロックデシャフル回路356に出力し、外部メモリ305が記憶している前のフレームの対応する画素のYデータ、Uデータ、およびVデータの更新を停止させる。
【0200】
ブロックデシャフル回路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データの更新を停止させる。
【0201】
ブロックデシャフル回路356は、Yデータ、Uデータ、およびVデータを、図9に示す送信装置1のブロックシャフル回路102と逆の動作で、元の並びに戻し、元の並びに変換されたYデータ、Uデータ、およびVデータを出力する。
【0202】
以上のように、復号回路304は、復号に必要なデータであるq、動きフラグMF、ダイナミックレンジDR、または画素値の最小値MINが失われても、qビットMFリカバリ回路353およびDRMINリカバリ回路354が失われたデータをリカバリするので、復号を実行することができる。
【0203】
リカバリにエラーがあるときは、外部メモリ305に記憶されている画素値を上書きしないで、4フレーム前の画素値を出力するので、動きが無いとき、違和感のない画素値を出力できる。
【0204】
次に、復号回路304の処理のタイミングを図45および図46のタイミングチャートを参照して説明する。図45は、セグメント間デシャフル回路352から出力されるデータに欠落がない場合の、復号回路304の処理のタイミングの例を示す。セグメント間デシャフル回路352は、デシャフルの処理を行い、所定の時間経過後(図45の例では、入力開始から362クロック後)、ADRC復号回路355にデシャフルされたデータを出力する。ADRC復号回路355は、セグメント間デシャフル回路352から供給されたデータを復号して出力する。
【0205】
図46は、セグメント間デシャフル回路352から出力されるデータに欠落がある場合の、復号回路304の処理のタイミングの例を示す。セグメント間デシャフル回路352は、デシャフルの処理を行い、データに欠落がない場合に、ADRC復号回路355にデータを供給するタイミングより早く(図46の例では、入力開始から123クロック後)、qビットMFリカバリ回路353にデシャフルされたデータを出力する。qビットMFリカバリ回路353は、所定のタイミングで、qおよび動きフラグMFを、DRMINリカバリ回路354に供給する。
【0206】
DRMINリカバリ回路354は、データに欠落がない場合にセグメント間デシャフル回路352がADRC復号回路355にデータを供給するタイミングと同じタイミングで、ダイナミックレンジおよび画素の最小値を、ADRC復号回路355に供給する。
【0207】
従って、復号回路304は、q、動きフラグMF、ダイナミックレンジDR、および画素の最小値MINをリカバリしても、セグメント間デシャフル回路352から出力されるデータに欠落がない場合と同じタイミングで、データを復号し、出力することができる。
【0208】
以上のように、復号回路304は、復号に必要な所定のデータが失われても、qビットMFリカバリ回路353およびDRMINリカバリ回路354が失われたデータをリカバリするので、復号を実行することができる。なお、復号回路304にエラー処理を行わないモード(ユーザセレクタブルなモード)を選択する信号が入力されているとき、qビットMFリカバリ回路353およびDRMINリカバリ回路354は、リカバリを実行しない。
【0209】
図47および図48を参照して、ブロックデシャフル回路356のデータの出力のタイミングについて説明する。
【0210】
従来は、2フレームの画像を記憶するメモリを2個設けて、図47(A)に示すように、一方のメモリにデータを書き込んでいるとき、他のメモリからデータを読み出して出力し、2フレームの画像について処理が終了したとき、図47(B)に示すように、他方のメモリにデータを書き込んで、一方のメモリからデータを読み出して、出力していた。
【0211】
これに対して、外部メモリ305に、それぞれ2フレームの画像を記憶するバンクを2つ設けて(図中のバンク1およびバンク2)、ブロックデシャフル回路356は、図48(A)に示すように、3個のADRCに対応する画像データがADRC復号回路355から供給されたとき、バンク1に書き込み、図48(B)に示すように、ADRC復号回路355から画像データが供給されていないとき(例えば、図46に示す、入力開始から364クロックまでの間)、アドレスを指定することにより、バンク2からブロックデシャフルされたデータを読み出す。次の2フレームにおいては、ブロックデシャフル回路356は、3個のADRCに対応する画像データがADRC復号回路355から供給されたとき、バンク2に書き込み、ADRC復号回路355から画像データが供給されていないとき、バンク1からブロックデシャフルされたデータを読み出す。
【0212】
このようにすることで、ブロックデシャフル回路356に対し、1個の外部メモリ305で、画像データをブロックデシャフルして、出力することができる。
【0213】
図49は、リカバリエラー判定回路357の構成を示すブロック図である。qビットMFリカバリ回路353から供給される最小値を有する評価値emin1、および2番目に小さい値を有する評価値emin2は、差分算出回路431に供給される。差分算出回路431は、入力されたemin1とemin2との差を算出し、遅延回路432に出力する。遅延回路432は、差分算出回路431から供給されたデータを所定の時間遅延し、加算器435および遅延回路433に出力する。
【0214】
遅延回路433は、遅延回路432から供給されたデータを所定の時間遅延し、加算器435および遅延回路434に出力する。
【0215】
遅延回路434は、遅延回路433から供給されたデータを所定の時間遅延し、加算器435および判定回路437に出力する。
【0216】
加算器435は、遅延回路432からから供給されたデータ、遅延回路433からから供給されたデータ、および遅延回路434からから供給されたデータを加算して、判定回路436に供給する。
【0217】
判定回路436は、加算器435から供給されたデータが予め定めた閾値Te1以下であるか否かを判定し、加算器435から供給されたデータが閾値Te1以下であると判定された場合、”1”をAND回路438に出力し、加算器435から供給されたデータが閾値Te1を越えると判定された場合、”0”をAND回路438に出力する。
【0218】
判定回路437は、遅延回路434から供給されたデータが予め定めた閾値Te2以下であるか否かを判定し、遅延回路434から供給されたデータが閾値Te2以下であると判定された場合、”1”をAND回路438に出力し、遅延回路434から供給されたデータが閾値Te2を越えると判定された場合、”0”をAND回路438に出力する。
【0219】
AND回路438は、判定回路436から供給されたデータが”1”、かつ、判定回路437から供給されたデータが”1”のとき、”1”をホールド回路439に出力する。AND回路438は、判定回路436から供給されたデータが”0”、または、判定回路437から供給されたデータが”0”のとき、”0”をホールド回路439に出力する。
【0220】
ホールド回路439は、入力されたデータをリセット信号が入力されるまで保持し、遅延回路440に出力する。遅延回路440は、ホールド回路439から出力されたデータを所定の時間遅延し、ホールド回路439に供給するとともに、リカバリ判定フラグFdとしてブロックデシャフル回路356に出力する。
【0221】
このように、リカバリエラー判定回路357は、3個のADRCブロックに対する、評価値emin1と評価値emin2の差の積算値が閾値Te1以下であり、かつ、そのADRCブロックに対する評価値emin1と評価値emin2の差が閾値Te2以下であるとき、すなわち、評価値emin1と評価値emin2の差が少なく、リカバリされたqまたは動きフラグMFが正しくない可能性が高いとき、リカバリ判定フラグFdに1をセットする。
【0222】
次に、ADRC復号回路355で復号されたデータが一時的にブロックデシャフル回路356に記憶され、読み出される処理を説明する。セグメント間デシャフル回路352は、パケット解体回路302から供給されたデータに欠落があるとき、欠落するデータに対応するエラーフラグに”1”を設定し、データに欠落がないとき、データに対応するエラーフラグに”0”を設定し、ADRCブロック単位のコードQおよびエラーフラグをADRC復号回路355に出力する。ADRC復号回路355は、コードQを復号し、Yデータ、Uデータ、およびVデータ、並びにエラーフラグをブロックデシャフル回路356に出力する。
【0223】
ブロックデシャフル回路356は、対応するエラーフラグが”0”の場合、Yデータ、Uデータ、およびVデータ、並びにエラーフラグを外部メモリ305に記憶し、対応するエラーフラグが”1”である場合、エラーフラグを外部メモリ305に記憶し、Yデータ、Uデータ、およびVデータを外部メモリ305に記憶しない。
【0224】
外部メモリ305は、2つのバンクを有し、1つのバンクに2つのフレームのYデータ、Uデータ、およびVデータ、並びにエラーフラグを記憶する。外部メモリ305のバンクは、2つのフレーム毎に切り替えられる。従って、対応するエラーフラグが”1”である場合、外部メモリ305は、4フレーム前のYデータ、Uデータ、およびVデータを記憶している。
【0225】
図50は、リカバリエラー判定回路357が、”1”が設定されたリカバリ判定フラグFdを出力した場合の、ブロックデシャフル回路356の処理を説明する図である。qビットMFリカバリ回路353から供給される最小値を有する評価値emin1、および2番目に小さい値を有する評価値emin2の差が所定の値以下であり、かつ、そのADRCブロックを含めた連続する3つのADRCブロックのemin1、およびemin2の差の和が所定の値以下であるとき、qビットMFリカバリ回路353は、qのリカバリに失敗したと判定し、このため、データの切り出しも失敗したと判定する。このとき、リカバリエラー判定回路357は、”1”が設定されたリカバリ判定フラグFdを出力する。
【0226】
リカバリエラー判定回路357が、”1”が設定されたリカバリ判定フラグFdを出力したとき、ブロックデシャフル回路356は、それ以降のバッファ(88個のADRCブロック)からのデータの切り出しに失敗したとみなし、それ以降に供給されるエラーフラグに”1”を設定し、そのエラーフラグを外部メモリ305に記憶する。ユーザセレクタブルなエスケープモードの場合には、データは外部メモリ305に記憶される。
【0227】
図51は、セグメント間デシャフル回路353が、連続エラー信号を出力した場合の、ブロックデシャフル回路356の処理を説明する図である。セグメント間デシャフル回路353は、対応する偶数ADRCブロックおよび奇数ADRCブロックの両方の欠落を検出したとき、連続エラー信号を出力する。qビットMFリカバリ回路353のqおよび動きフラグMFのリカバリの処理は、隣接する画素の画素値の相関を利用しているので、対応する偶数ADRCブロックおよび奇数ADRCブロックの両方が欠落しているとき、qビットMFリカバリ回路353は、リカバリの処理を実行することができない。連続エラー信号が供給されたとき、ブロックデシャフル回路356は、それ以降のバッファ(88個のADRCブロック)からのデータの切り出しに失敗したとみなし、それ以降に供給されるエラーフラグに”1”を設定し、そのエラーフラグを外部メモリ305に記憶し、それ以降に供給される復号されたデータを外部メモリ305に記憶しない。
【0228】
図52は、ユーザセレクタブルなグレイモードの場合のブロックデシャフル回路356の処理を説明する図である。グレイモードの場合、ブロックデシャフル回路356は、対応するエラーフラグが”1”であるデータに、グレイ(Y,U,V全てを128にするのではなく、対応するデータのみ128にする)を設定して出力する。
【0229】
図53および図54は、ブロックデシャフル回路356のユーザセレクタブルなリカバリオフ入力(ユーザが図示せぬ所定のスイッチを操作したときに入力される信号)に対応した処理を説明する図である。”1”が設定されたリカバリオフ入力が供給された場合、ブロックデシャフル回路356は、外部メモリ305に、図53に示すように、qビットMFリカバリ回路353を経由しないで、ADRC復号回路355でYデータ、Uデータ、およびVデータが復号されたとき、復号されたYデータ、Uデータ、およびVデータを記憶させる。図54に示すように、qビットMFリカバリ回路353でqおよび動きフラグがリカバリされたとき、ブロックデシャフル回路356は、外部メモリ305に、復号されたYデータ、Uデータ、およびVデータをメモリに記憶させず、対応するすべてのエラーフラグを”1”に設定する。リカバリオフ入力を変化させることで、qビットMFリカバリ回路353等のリカバリの効果が簡単に確認できる。
【0230】
図55は、ブロックデシャフル回路356のエスケープ信号(ユーザが図示せぬ所定のスイッチを操作したときに入力される信号)に対応した処理を説明する図である。所定のエスケープ信号が供給された場合、ブロックデシャフル回路356は、図55に示すように、リカバリ判定フラグFdが”1”に設定されても、それ以降に供給されるエラーフラグに強制的に”1”を設定しないでエラーフラグをメモリに記憶し、それ以降に供給される復号されたYデータ、Uデータ、およびVデータをメモリに記憶する。エスケープ信号を変化させることで、ブロックデシャフル回路356のコンシールの処理の効果が簡単に確認できる。
【0231】
図56および図57は、ブロックデシャフル回路356の復号したデータを出力する処理を説明するフローチャートである。ステップS31において、セグメント間デシャフル回路352は、受信回路301が生成したエラーフラグを受信し、ADRC復号回路355に供給する。ADRC復号回路355は、セグメント間デシャフル回路352から供給されたエラーフラグをブロックデシャフル回路356に出力し、ブロックデシャフル回路356は、そのエラーフラグを受信する。
【0232】
ステップS32において、ブロックデシャフル回路356は、ADRC復号回路355から供給された、バッファ(所定の88個のADRCブロック)に対応する、最初のエラーフラグを選択する。ステップS33において、ブロックデシャフル回路356は、セグメント間デシャフル回路352から供給されている連続エラー信号が”0”であるか否かを判定し、連続エラー信号が”0”であると判定された場合、ステップS34に進み、リカバリエラー判定回路357から供給されているリカバリ判定フラグFdが”0”であるか否かを判定する。ステップS34において、リカバリ判定フラグFdが”0”であると判定された場合、ステップS35に進み、ブロックデシャフル回路356は、外部メモリ305にエラーフラグを記憶させる。
【0233】
ステップS33において、連続エラー信号が”1”であると判定された場合、およびステップS34において、リカバリ判定フラグFdが”1”であると判定された場合、データの切り出しに失敗したので、ステップS47に進み、ブロックデシャフル回路356は、エスケープ信号がオフであるか否かを判定し、エスケープ信号がオフであると判定された場合、ステップS48に進み、ステップS32で選択されたエラーフラグに”1”を設定し、ステップS35に進み、ブロックデシャフル回路356は、外部メモリ305にエラーフラグを記憶させる。
【0234】
ステップS47において、エスケープ信号がオンであると判定された場合、エラーフラグの設定を行わないので、手続きは、ステップS48をスキップし、ステップS35に進み、ブロックデシャフル回路356は、外部メモリ305にエラーフラグを記憶させる。
【0235】
ステップS36において、ブロックデシャフル回路356は、バッファに対応する、すべてのエラーフラグを処理したか否かを判定し、すべてのエラーフラグを処理したと判定された場合、ステップS37に進み、ブロックデシャフル回路356は、ADRC復号回路355から復号されたYデータ、Uデータ、およびVデータを受信する。
【0236】
ステップS36において、バッファの全てのエラーフラグをまだ処理していないと判定された場合、ステップS49に進み、ブロックデシャフル回路356は、次のエラーフラグを選択し、ステップS33に戻り、エラーフラグの設定の処理を繰り返す。
【0237】
ステップS38において、ブロックデシャフル回路356は、ADRC復号回路355から供給された、バッファの最初の復号されたデータを選択する。
【0238】
ステップS39において、ブロックデシャフル回路356は、セグメント間デシャフル回路352から供給されている連続エラー信号が”0”であるか否かを判定し、連続エラー信号が”0”であると判定された場合、ステップS40に進み、選択されている復号されたデータに対応するエラーフラグが”0”であるか否かを判定する。選択されている復号されたデータに対応するエラーフラグが”0”であると判定された場合、ステップS41に進み、ブロックデシャフル回路356は、選択されている復号されたYデータ、Uデータ、およびVデータを外部メモリ305に記憶させる。手続きは、ステップS42に進む。
【0239】
ステップS39において、連続エラー信号が”1”であると判定された場合、および、ステップS40において、選択されている復号されたデータに対応するエラーフラグが”1”であると判定された場合、データは欠落しているので、ステップS41をスキップして、ステップS42に進む。
【0240】
ステップS42において、ブロックデシャフル回路356は、バッファの全ての復号されたデータを処理したか否かを判定し、バッファの全ての復号されたデータを処理したと判定された場合、ステップS43に進む。
【0241】
ステップS42において、バッファ(88個のADRCブロック)の全ての復号されたデータをまだ処理していないと判定された場合、ステップS50に進み、ブロックデシャフル回路356は、次のデータを選択し、ステップS39に戻り、復号したデータを記憶する処理を繰り返す。
【0242】
ステップS43において、ブロックデシャフル回路356は、外部メモリ305に記憶されている最初のデータを選択する。ステップS44において、ブロックデシャフル回路356は、エラーフラグが”1”で、かつ、グレイモードであるか否かを判定し、エラーフラグが”0”、または、グレイモードでないと判定された場合、ステップS45に進み、選択されているデータをフォーマット変換回路306に出力する。
【0243】
ステップS44において、エラーフラグが”1”で、かつ、グレイモードであると判定された場合、ステップS51に進み、ブロックデシャフル回路356は、グレーデータをフォーマット変換回路306に出力し、ステップS46に進む。
【0244】
ステップS46において、ブロックデシャフル回路356は、外部メモリ305のバンクに記憶されている全てのデータを処理したか否かを判定し、外部メモリ305に記憶されている全てのデータを処理したと判定された場合、処理は終了する。
【0245】
ステップS46において、外部メモリ305に記憶されている全てのデータを処理していないと判定された場合、ステップS52に進み、ブロックデシャフル回路356は、外部メモリ305のバンクに記憶されている次のデータを選択し、ステップS44に戻り、データを出力する処理を繰り返す。
【0246】
このように、ブロックデシャフル回路356は、コードQが欠落していても、もっとも違和感の少ないデータを出力することができる。
【0247】
次に、図示せぬユーザセレクタブルなリカバリオフスイッチが”0”である場合のブロックデシャフル回路356のデータを出力する処理を図58のフローチャートを参照して説明する。ステップS71において、セグメント間デシャフル回路352は、受信回路301が生成したエラーフラグを受信し、ADRC復号回路355に供給する。ADRC復号回路355は、セグメント間デシャフル回路352から供給されたエラーフラグをブロックデシャフル回路356に出力し、ブロックデシャフル回路356は、そのエラーフラグを受信する。
【0248】
ステップS72において、ブロックデシャフル回路356は、qおよび動きフラグ等がqビットMFリカバリ回路353等において、リカバリされたか否かを判定し、qおよび動きフラグMF等がリカバリされていないと判定された場合、ステップS73に進み、外部メモリ305にエラーフラグを記憶させる。
【0249】
ステップS72において、qおよび動きフラグ等がリカバリされていると判定された場合、ステップS78に進み、ブロックデシャフル回路356は、受信したエラーフラグを全て”1”に設定し、ステップS73に進む。
【0250】
ステップS74において、ブロックデシャフル回路356は、ADRC復号回路355から復号されたYデータ、Uデータ、およびVデータを受信する。
【0251】
ステップS75において、ブロックデシャフル回路356は、qおよび動きフラグ等がqビットMFリカバリ回路353等において、リカバリされたか否かを判定し、qおよび動きフラグMF等がリカバリされていないと判定された場合、ステップS76に進み、ステップS74で受信したYデータ、Uデータ、およびVデータを記憶する。
【0252】
ステップS75において、q、動きフラグMF等がリカバリされていると判定された場合、ステップS76をスキップし、Yデータ、Uデータ、およびVデータを記憶させないで、ステップS77に進む。
【0253】
ステップS77において、ブロックデシャフル回路356は、外部メモリ305に記憶させたYデータ、Uデータ、およびVデータおよびエラーフラグをフォーマット変換回路306に出力し、処理を終了する。
【0254】
このように、リカバリオフ入力が”1”である場合、ブロックデシャフル回路356は、リカバリされたデータを出力しない。
【0255】
以上のように、復号回路304は、復号に必要な所定のデータが失われても、qビットMFリカバリ回路353およびDRMINリカバリ回路354が失われたデータをリカバリするので、復号を実行することができる。また、復号回路304は、復号ができなくても、もっとも違和感の少ないデータを出力することができる。また、リカバリオフ入力を”1”にすることで、リカバリの効果を簡単に確認することができる。
【0256】
次に、欠落画素創造回路308について説明する。欠落画素創造回路308は、プログレッシブ方式の画像を再生するとき、クラス分類適応処理により、図59(A)に示すように、創造の対象となる画素の同一のフレーム(フレームt)にある周辺の画素の画素値、並びにこれらの画素と水平方向および垂直方向に同一の位置の1つ前のフレーム(フレームt−1)にある画素の画素値を基に、欠落した画素の画素値などを創造する。また、欠落画素創造回路308は、クラス分類適応処理により、図59(B)に示すように、創造の対象となる画素の同一のフィールド(フィールドt)にある周辺の画素の画素値、これらの画素と水平方向および垂直方向に同一の位置の1つ前のフィールド(フィールドt−1)、並びに創造の対象となる画素の周辺の画素と水平方向および垂直方向に同一の位置の2つ前のフィールド(フィールドt−2)にある画素の画素値を基に、欠落した画素の画素値などを創造する。
【0257】
図60は、欠落画素創造回路308の構成を示すブロック図である。欠落画素創造回路308に入力されたデータである画素値および画素の欠落を示すエラーフラグは、前処理回路501およびタップ構築回路502−1に供給される。
【0258】
前処理回路501は、入力された画素値および画素の欠落を示すエラーフラグを基に、欠落している画素の値を線形補間フィルタで生成し、欠落している画素にその値を設定し、タップ構築回路502−2乃至502−5に供給する。なお、画素値は、タップデータとも称する。
【0259】
前処理回路501の処理を図61のフローチャートを参照して説明する。ステップS131において、前処理回路501は、エラーフラグを基に、対象となる画素が欠落しているか否かを判定し、対象となる画素が欠落していないと判定された場合、ステップS132に進み、対象となる画素の画素値を、対象となる画素に設定し、処理は終了する。
【0260】
ステップS131において、対象となる画素が欠落していると判定された場合、ステップS133に進み、前処理回路501は、エラーフラグを基に、対象となる画素の水平に隣接している画素のいずれかが欠落しているか否かを判定する。ステップS133において、対象となる画素の水平に隣接している画素のいずれも欠落していないと判定された場合、ステップS134に進み、前処理回路501は、対象となる画素の水平に隣接している2つの画素の画素値の平均値を対象となる画素の画素値に設定し、処理は終了する。
【0261】
ステップS133において、対象となる画素の水平に隣接している画素のいずれかが欠落していると判定された場合、ステップS135に進み、前処理回路501は、対象となる画素の水平に隣接している画素のいずれも欠落しているか否かを判定する。ステップS135において、対象となる画素の水平に隣接している画素のいずれかが欠落していないと判定された場合、ステップS136に進み、前処理回路501は、対象となる画素の水平に隣接している、欠落していない画素の画素値を対象となる画素の画素値に設定し、処理は終了する。
【0262】
ステップS135において、対象となる画素の水平に隣接している画素のいずれも欠落していると判定された場合、ステップS137に進み、前処理回路501は、エラーフラグを基に、対象となる画素の垂直に隣接している画素のいずれかが欠落しているか否かを判定する。ステップS137において、対象となる画素の垂直に隣接している画素のいずれも欠落していないと判定された場合、ステップS138に進み、前処理回路501は、対象となる画素の垂直に隣接している2つの画素の画素値の平均値を対象となる画素の画素値に設定し、処理は終了する。
【0263】
ステップS137において、対象となる画素の垂直に隣接している画素のいずれかが欠落していると判定された場合、ステップS139に進み、前処理回路501は、エラーフラグを基に、対象となる画素に隣接している全ての画素が欠落しているか否かを判定する。ステップS139において、対象となる画素に隣接しているいずれかの画素が欠落していないと判定された場合、ステップS140に進み、前処理回路501は、対象となる画素に隣接している、欠落していない画素の画素値を対象となる画素の画素値に設定し、処理は終了する。
【0264】
ステップS139において、対象となる画素に隣接している全ての画素が欠落していると判定された場合、ステップS141に進み、前処理回路501は、対象となる画素と同じ位置の過去のフレームの画素の画素値を、対象となる画素の画素値に設定し、処理は終了する。
【0265】
以上のように、前処理回路501は、対象となる画素の画素値を周辺の画素の画素値から線形に補間する。前処理回路501による補間処理により、これに続く処理で使用できるタップの範囲を広げることができる。
【0266】
タップ構築回路502−1乃至502−5は、それぞれ、タップデータ等を、所定のタイミングで、動きクラス生成回路503、DRクラス生成回路504、空間クラス生成回路505、および欠落クラス生成回路506に供給する。
【0267】
動きクラス生成回路503は、イニシャライズ回路309から供給されたパラメータ、並びにタップ構築回路502−1から供給されたエラーフラグおよび選択されたタップを基に、動きクラスコードおよび静動フラグを生成し、タップ構築回路502−2乃至205−5およびクラス合成回路507に出力する。動きクラスコードは、動きの量を示す2ビットの情報を有し、静動フラグは、動きの有り無しを1ビットで示す。
【0268】
図62(A)は、動きクラス生成回路503による時間アクティビティの算出に使用される、創造の対象となる画素を中心とした3×3の画素の例を示す図である。図62(A)において、”エラー”は、欠落した画素を示す。図62(B)は、図62(A)に示された画素に対応する、1つ前のフレームの3×3の画素の例を示す図である。図62(A)および図62(B)に示されるL1乃至L3は、それぞれラインを示し、ラインの同一の番号は、垂直方向に同一の位置であることを示す。図62(A)および図62(B)に示されるH1乃至H3は、それぞれ画素の水平方向の位置を示し、その同一の番号は、水平方向に同一の位置であることを示す。
【0269】
図62(A)および図62(B)に示される場合において、時間アクティビティは、式(12)で算出される。
式(12)において、()は、画素の画素値を表し、||は、絶対値を求める関数を表す。
【0270】
動きクラス生成回路503は、創造の対象となる画素を中心とした3×3の画素の最大値と最小値との差に1を加算した空間アクティビティを算出する。
【0271】
図63は、動きクラス生成回路503による空間アクティビティの算出に使用される、創造の対象となる欠落した画素を中心とした3×3の画素の例を示す図である。このとき、空間アクティビティは、式(13)で算出される。
空間アクティビティ=Max(qi)−Min(qi)+1 (13)
式(13)において、Max(qi)は、q1乃至q9の画素値の最大値を示す。Min(qi)は、q1乃至q9の画素値の最小値を示す。
【0272】
動きクラス生成回路503は、空間アクティビティを基に、それぞれ異なる値を有する閾値を選択する。動きクラス生成回路503は、動き判定の閾値、および時間アクティビティを基に、動きクラスコードを設定する。
【0273】
図64は、動き判定の閾値を説明する図である。動き判定の閾値は、空間アクティビティの値によって、異なる値が使用される。空間アクティビティが大きくなれば、大きな値の閾値が使用される。これは、空間アクティビティが大きい場合、動きが少なくとも、時間アクティビティが、大きな値となることを考慮したものである。
【0274】
なお、スタンダードデンシティのデータに対する処理においては、空間アクティビティとは無関係に固定された閾値を使用して動きクラスコードが設定される。
【0275】
次に、動きクラス生成回路503の動きクラスコードを設定する処理を、図65のフローチャートを参照して説明する。ステップS151において、動きクラス生成回路503は、時間アクティビティが、閾値1以下であるか否かを判定し、時間アクティビティが閾値1以下であると判定された場合、ステップS152に進み、動きクラスコードを0に設定し、処理は終了する。
【0276】
ステップS151において、時間アクティビティが閾値1を越えると判定された場合、ステップS153に進み、動きクラス生成回路503は、時間アクティビティが、閾値2以下であるか否かを判定し、時間アクティビティが閾値2以下であると判定された場合、ステップS154に進み、動きクラスコードを1に設定し、処理は終了する。
【0277】
ステップS153において、時間アクティビティが閾値2を越えると判定された場合、ステップS155に進み、動きクラス生成回路503は、時間アクティビティが閾値3以下であるか否かを判定し、時間アクティビティが閾値3以下であると判定された場合、ステップS156に進み、動きクラスコードを2に設定し、処理は終了する。
【0278】
ステップS155において、時間アクティビティが閾値3を越えると判定された場合、ステップS157に進み、動きクラス生成回路503は、動きクラスコードを3に設定し、処理は終了する。
【0279】
以上のように、動きクラス生成回路503は、閾値および時間アクティビティを基に、動きクラスコードを設定する。
【0280】
動きクラス生成回路503は、複数の画素の動きクラスコードを基に、再度、動きフラグを設定する。例えば、図66に示すように、創造の対象となる画素の周辺の画素の動きクラスコードを基に、動きクラス生成回路503は、対象となる画素の動きクラスコードを設定する。
【0281】
動きクラス生成回路503の動きクラスコードを設定する処理を図67のフローチャートを参照して説明する。ステップS171において、動きクラス生成回路503は、7つの画素の動きクラスコードのうち、3の値が設定されている動きクラスコードの数が、閾値3より大きいか否かを判定し、3の値が設定されている動きクラスコードの数が、閾値3より大きいと判定された場合、ステップS172に進み、動きクラスコードに3を設定し、処理は終了する。
【0282】
ステップS171において、3の値が設定されている動きクラスコードの数が、閾値3以下であると判定された場合、ステップS173に進み、動きクラス生成回路503は、3の値が設定されている動きクラスコードの数と2の値が設定されている動きクラスコードの数を加えた値が、閾値2より大きいか否かを判定し、3の値が設定されている動きクラスコードの数と2の値が設定されている動きクラスコードの数を加えた値が、閾値2より大きいと判定された場合、ステップS174に進み、動きクラスコードに2を設定し、処理は終了する。
【0283】
ステップS173において、3の値が設定されている動きクラスコードの数と2の値が設定されている動きクラスコードの数を加えた値が、閾値2以下であると判定された場合、ステップS175に進み、動きクラス生成回路503は、3の値が設定されている動きクラスコードの数、2の値が設定されている動きクラスコードの数、および1の値が設定されている動きクラスコードの数を加えた値が、閾値1より大きいか否かを判定し、3の値が設定されている動きクラスコードの数、2の値が設定されている動きクラスコードの数、および1の値が設定されている動きクラスコードの数を加えた値が、閾値1より大きいと判定された場合、ステップS176に進み、動きクラスコードに1を設定し、処理は終了する。
【0284】
ステップS175において、3の値が設定されている動きクラスコードの数、2の値が設定されている動きクラスコードの数、および1の値が設定されている動きクラスコードの数を加えた値が、閾値1以下であると判定された場合、ステップS177に進み、動きクラス生成回路503は、動きクラスコードに0を設定し、処理は終了する。
【0285】
このように、動きクラス生成回路503は、複数の画素の動きクラスコード、並びに予め記憶している閾値を基に、最終的な、動きクラスコードを設定する。
【0286】
以上のように、動きクラス生成回路503は、複数の画素の画素値から動きクラスコードを設定し、出力する。動きクラス生成回路503は、動きクラスコードを基に、静動フラグを設定し、出力する。例えば、動きクラスコードが0または1のとき、静動フラグは、0に設定され、動きクラスコードが2または3のとき、静動フラグは、1に設定される。
【0287】
タップ構築回路502−2は、動きクラス生成回路503から供給された動きクラスコードおよび静動フラグ、並びに欠落画素の位置を基に、全てのクラス構造を網羅した予測タップを選択して、可変タップ選択回路508に供給する。
【0288】
タップ構築回路502−3は、動きクラス生成回路503から供給された動きクラスコードおよび静動フラグを基に、タップおよびクラスタップを選択して、エラーフラグとともに、DRクラス生成回路504に供給する。DRクラス生成回路504は、タップ構築回路502−3から供給されたタップ、クラスタップ、エラーフラグを基に、DRクラスコードを生成して、クラス合成回路507に出力する。
【0289】
タップ構築回路502−4は、動きクラス生成回路503から供給された動きクラスコードおよび静動フラグを基に、タップおよびクラスタップを選択して、エラーフラグとともに、空間クラス生成回路505に供給する。空間クラス生成回路505は、タップ構築回路502−4から供給されたタップ、クラスタップ、エラーフラグを基に、空間クラスコードを生成して、クラス合成回路507に出力する。
【0290】
タップ構築回路502−5は、動きクラス生成回路503から供給された動きクラスコードおよび静動フラグを基に、タップを選択して、エラーフラグとともに、欠落クラス生成回路506に供給する。欠落クラス生成回路506は、タップ構築回路502−5から供給されたタップ、エラーフラグを基に、欠落クラスコードを生成して、クラス合成回路507に出力する。
【0291】
クラス合成回路507は、動きクラスコード、静動フラグ、DRクラスコード、空間クラスコード、および欠落クラスコードを基に、クラスコードを統合し、最終的なクラスコードを形成して、係数保持クラスコード選択回路509に出力する。
【0292】
係数保持クラスコード選択回路509は、イニシャライズ回路309から供給された係数セット、および予測構造、並びにクラス合成回路507から供給されたクラスコードを基に、可変タップ選択回路508に、可変タップを選択させるとともに、予測係数列を推定予測演算回路510に出力する。
【0293】
図68乃至図71を基に、可変タップ選択回路508が選択する予測タップデータ列を説明する。
【0294】
図68は、動きクラスコードが0のとき、タップ構築回路502−2が可変タップ選択回路508に出力する予測タップ可変選択範囲と、可変タップ選択回路508が選択する予測タップデータ列の例を示す図である。図68において、実線で囲んだタップは、タップ構築回路502−2が出力する予測タップ可変選択範囲を示し、点線で囲んだタップは、可変タップ選択回路508が選択する予測タップデータ列を示す。可変タップ選択回路508が選択する予測タップデータ列は、タップ構築回路502−2が出力する予測タップ可変選択範囲に含まれるタップから構成される。
【0295】
例えば、動きクラスコードが0のとき、タップ構築回路502−2は、隣接するタップを選択する。例えば、動きクラスコードが0のとき、可変タップ選択回路508は、隣接するタップを選択する。
【0296】
図69は、動きクラスコードが1のとき、タップ構築回路502−2が出力する予測タップ可変選択範囲と、可変タップ選択回路508が選択する予測タップデータ列を示す図である。図69において、実線で囲んだタップは、タップ構築回路502−2が出力する予測タップ可変選択範囲を示し、点線で囲んだタップは、可変タップ選択回路508が選択する予測タップデータ列を示す。可変タップ選択回路508が選択する予測タップデータ列は、タップ構築回路502−2が出力する予測タップ可変選択範囲に含まれるタップから構成される。
【0297】
例えば、動きクラスコードが1のとき、タップ構築回路502−2は、隣接するタップと、その隣接するタップとは隣接しないタップを選択する。例えば、動きクラスコードが0のとき、可変タップ選択回路508は、隣接する5個のタップと、その隣接する5個のタップとは離れた隣接する5個のタップを選択する。
【0298】
図70は、欠落タップが存在して、動きクラスコードが0のとき、タップ構築回路502−2が出力する予測タップ可変選択範囲と、可変タップ選択回路508が選択する予測タップデータ列を示す図である。図中の黒丸は、欠落タップを示す。図70において、実線で囲んだタップは、タップ構築回路502−2が出力する予測タップ可変選択範囲を示し、点線で囲んだタップは、可変タップ選択回路508が選択する予測タップデータ列を示す。可変タップ選択回路508が選択する予測タップデータ列は、タップ構築回路502−2が出力する予測タップ可変選択範囲に含まれるタップから構成される。
【0299】
例えば、欠落タップが存在して、動きクラスコードが0のとき、タップ構築回路502−2は、隣接するタップを選択する。例えば、欠落タップが存在して、動きクラスコードが0のとき、可変タップ選択回路508は、欠落タップが存在しないときと同じ数の、隣接するタップ(例えば、欠落タップの隣のタップまたは欠落タップと同じ並びのタップ)を選択する。
【0300】
図71は、欠落タップが存在して、動きクラスコードが1のとき、タップ構築回路502−2が出力する予測タップ可変選択範囲と、可変タップ選択回路508が選択する予測タップデータ列を示す図である。図中の黒丸は、欠落タップを示す。図70において、実線で囲んだタップは、タップ構築回路502−2が出力する予測タップ可変選択範囲を示し、点線で囲んだタップは、可変タップ選択回路508が選択する予測タップデータ列を示す。可変タップ選択回路508が選択する予測タップデータ列は、タップ構築回路502−2が出力する予測タップ可変選択範囲に含まれるタップから構成される。
【0301】
例えば、欠落タップが存在して、動きクラスコードが1のとき、タップ構築回路502−2は、隣接するタップと、その隣接するタップとは隣接しないタップを選択する。例えば、欠落タップが存在して、動きクラスコードが0のとき、可変タップ選択回路508は、欠落タップが存在しないときと同じ数の、隣接するタップ(例えば、欠落タップの隣のタップまたは欠落タップと同じ並びのタップ)と、その隣接するタップとは離れた、欠落タップが存在しないときと同じ数の、隣接するタップを選択する。
【0302】
推定予測演算回路510は、イニシャライズ回路309から設定された出力モードを基に、可変タップ選択回路508から供給された予測タップデータ列、および係数保持クラスコード選択回路509から供給された予測係数列を基に、線形推定式を用いて、欠落した画素の画素値を算出する。
【0303】
このように、欠落画素創造回路308は、ダイナミックレンジ、動き、欠落、および画素値の変化などによるクラス分類により、欠落した画素の周辺の画素値を基に、欠落した画素値を算出する。
【0304】
また、推定予測演算回路510は、入力された画像の画質をアップさせる(階調の増加(Yデータ、Uデータ、およびVデータのビット数の増加)、ノイズの除去、量子化歪みの除去(時間方向の歪みの除去を含む)、4倍密度の解像度の創造など)ことができる。
【0305】
次に、4倍密解像度創造回路312について説明する。4倍密解像度創造回路312は、インターレース方式の画像を出力するとき、図72(A)および図72(B)に示すように、クラス分類適応処理を利用し、2つのフィールドの所定の数の画素の画素値を基に、入力された2つのフィールドの間に2つの画素を創造する。
【0306】
4倍密解像度創造回路312は、プログレッシブ方式の画像を出力するとき、図72(C)および図72(D)に示すように、クラス分類適応処理を利用し、図72に示すように、2つのフレームの所定の数の画素の画素値を基に、入力された2つのフレームの間に2つの画素を創造する。
【0307】
図73は、4倍密解像度創造回路312の構成を示すブロック図である。フォーマット変換回路310から供給されるYデータ、Uデータ、およびVデータは、タップ選択回路601、タップ選択回路602、およびタップ選択回路603に供給される。タップ選択回路601は、レジスタ609に格納されているタップの位置情報に従って、密度を4倍にするために創造する画素の画素値を算出するのに使用する画素を選択する。タップ選択回路601により選択された画素は、推定予測演算回路607に供給される。
【0308】
タップ選択回路602は、レジスタ610に格納されているタップの位置情報に従って、創造する画素の近傍の画素の画素値のうち、空間クラス分類に使用する画素を選択する。タップ選択回路602により選択された画素は、空間クラス検出回路604に供給される。空間クラス検出回路604は、空間クラスを検出する。検出された空間クラスは、クラス合成回路606に供給される。
【0309】
タップ選択回路603は、レジスタ611に格納されているタップの位置情報に従って、創造する画素の近傍の画素に基づいて動きに対応するクラス分類に使用する画素を選択するものである。タップ選択回路603により選択された画素は、動きクラス検出回路605に供給される。動きクラス検出回路605は、動きクラスを検出する。検出された動きクラスは、クラス合成回路606およびレジスタ610に供給される。レジスタ610のタップの位置情報は、動きクラス検出回路605から供給された動きクラスによって切り換えられる。
【0310】
クラス合成回路606は、空間クラスおよび動きクラスを統合し、最終的なクラスコードを形成する。
【0311】
このクラスコードが係数メモリ612に対して、アドレスとして供給され、係数メモリ612からクラスコードに対応する係数セットが読み出される。係数セットは、推定予測演算回路607に供給される。推定予測演算回路607は、タップ選択回路601から供給された画素の画素値、および係数メモリ612から供給された係数セットを基に、線形推定式を用いて、創造する画素の画素値を算出する。推定予測演算回路607からの出力は、ラインデータL1およびラインデータL2として、線順次変換回路613に供給される。
【0312】
係数セットは、教師信号としての、1つのフィールド当たり、水平方向に528画素および垂直方向に240画素を含むYデータ、それぞれ1つのフィールド当たり、水平方向に176画素および垂直方向に120画素を含むUデータおよびVデータを用いて、クラス毎の係数セットが予め生成されて、イニシャライズ回路313に記憶されている。
【0313】
線順次変換回路613は、ラインメモリを有し、推定予測演算回路607から出力されるラインデータL1およびラインデータL2をレジスタ608に格納されている出力タイミングのデータに基づき、線順次で出力する。線順次変換回路613から、供給された画像の4倍の密度の画像のデータが出力される。
【0314】
レジスタ608、レジスタ609、レジスタ610、レジスタ611、および係数メモリ612は、イニシャライズ回路313に初期化信号が供給されたとき、イニシャライズ回路313から供給された係数セット等を格納する。
【0315】
図74は、4倍密解像度創造回路312がインターレース方式で4倍密解像度の画素を生成、出力する場合における、4倍密解像度創造回路312に入力される画素(図中、大きい円で示す)の位置、および4倍密解像度創造回路312が出力する画素(図中、小さい円で示す)の位置を示す図である。4倍密解像度創造回路312に入力されるフレームは、30Hzの周波数を有し、4倍密解像度創造回路312が出力するフィールドは、60Hzの周波数を有する。出力される第1のフィールドの画素は、入力された画素から、垂直方向に出力される画面のラインの1ライン分だけ上にずれて出力され、1ライン当たりの画素の数は、2倍になっている。出力される第2のフィールドの画素は、入力された画素から、垂直方向に出力される画面のラインの1ライン分だけ下にずれて出力され、1ライン当たりの画素の数は、2倍になっている。
【0316】
図75は、4倍密解像度創造回路312がプログレッシブ方式で4倍密解像度の画素を生成して、出力するときの、4倍密解像度創造回路312に入力される画素(図中、大きい円で示す)の位置、および4倍密解像度創造回路312が出力する画素(図中、小さい円で示す)の位置を示す図である。4倍密解像度創造回路312に入力されるフレームは、30Hzの周波数を有し、4倍密解像度創造回路312が出力するフレームは、60Hzの周波数を有する。出力されるフレームの画素は、入力された画素と同じライン上に出力され、1ライン当たりの画素の数は、2倍になっている。
【0317】
以上のように、4倍密解像度創造回路312は、入力された画像を基に、2倍のフレーム周波数また2倍のフィールド周波数で、1ライン当たり2倍の画素の数を有する画像を創造して出力する。
【0318】
次に、UV垂直2倍回路333について説明する。図76は、UV垂直2倍回路333の構成を示すブロック図である。UV垂直2倍回路333には、4倍密解像度創造回路312により、画素の数が増やされたUデータおよびVデータが入力される。入力されたデータは、ラインFIFO701−1乃至701−6により、1ライン分ずつ遅延され、順次後段に出力される。
【0319】
乗算回路702−1は、入力されたデータに係数を乗じて、加算回路703に出力する。
【0320】
乗算回路702−2乃至702−7は、それぞれラインFIFO701−1乃至701−6より、入力されたデータに係数を乗じて、加算回路703に出力する。
【0321】
加算回路703は、乗算回路702−1乃至702−7から供給されたデータを加算し、ラッチ回路704に供給する。ラッチ回路704は、クロック信号が入力されたとき、入力されたデータをラッチする。
【0322】
UV垂直2倍回路333の動作を図77を参照して説明する。ラインFIFO701−1乃至701−6は、入力されたラインに連続する6本のライン上の、画面の水平方向に同一の位置の画素(図77に丸印で示す画素)のデータを出力する。乗算回路702−1乃至702−7は、入力されたデータに、それぞれ係数を乗じて、加算回路703に出力する。加算回路703は、出力されたデータを加算し、ラッチ回路704に出力する。ラッチ回路704には、ラインの本数が2倍となるタイミング(図77に黒い3角形で示すタイミング)で、クロック信号が入力される。従って、UV垂直2倍回路333は、入力されたUデータおよびVデータのラインの本数を2倍に補間して、出力する。
【0323】
次に、受信装置2の受信の処理を図78のフローチャートを参照して説明する。ステップS201において、パケット解体回路302は、受信回路301が受信したパケットを解体し、復号回路304に供給する。ステップS202において、復号回路304は、パケット解体回路302から入力されたデータを、ADRC方式で復号する。伝送中にデータが欠落したとき、復号回路304の復号において、q、動きフラグMF、ダイナミックレンジDR、または画素値の最小値MINがリカバリされ、Yデータ、Uデータ、およびVデータが復号される。
【0324】
ステップS203において、フォーマット変換回路306は、復号回路304から供給されたYデータ、Uデータ、およびVデータを、欠落画素創造回路308が処理できる所定のフォーマットに変換する。ステップS204において、欠落画素創造回路308は、欠落した画素のうち、復号回路304で復号できなかった画素を、クラス適応処理により、創造する。
【0325】
ステップS205において、フォーマット変換回路310は、欠落画素創造回路308から供給されたYデータ、Uデータ、およびVデータを、4倍密解像度創造回路312が処理できる所定のフォーマットに変換する。ステップS206において、4倍密解像度創造回路312は、入力されたYデータ、Uデータ、およびVデータを基に、クラス適応処理により画素を創造し、画素の密度を4倍にして、補間部314に出力する。
【0326】
ステップS207において、フォーマット変換回路331は、4倍密解像度創造回路312から供給されたYデータ、Uデータ、およびVデータを、所定の補間の処理ができるように、データ形式を変更する。ステップS208において、UV垂直2倍回路333は、UデータおよびVデータを垂直方向に画素を補間して、ライン数が2倍になるようにする。ステップS209において、D/A変換回路335は、所定のクロックレートでデジタルアナログ変換し、アナログY信号、アナログU信号、およびアナログV信号を出力し、処理は終了する。
【0327】
以上のように、受信装置2は、伝送路でデータが欠落しても、復号することができ、また、欠落した画素を創造して、欠落した画素の影響をほとんど受けずに伸張し、画像の信号を出力することができる。
【0328】
なお、画像伝送システムは、画像を送受信するとして説明したが、画像に限らず、音声などのデータを伝送するようにしてもよい。
【0329】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【0330】
図79は、記録媒体およびコンピュータの例を説明する図である。CPU(Central Processing Unit)811は、各種アプリケーションプログラムや、OS(Operating System)を実際に実行する。ROM(Read-only Memory)812は、一般的には、CPU811が使用するプログラムや演算用のパラメータのうちの基本的に固定のデータを格納する。RAM(Random-Access Memory)813は、CPU811の実行において使用するプログラムや、その実行において適宜変化するパラメータを格納する。これらはCPUバスなどから構成されるホストバス814により相互に接続されている。
【0331】
ホストバス814は、ブリッジ815を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス816に接続されている。
【0332】
キーボード818は、CPU811に各種の指令を入力するとき、使用者により操作される。マウス819は、ディスプレイ820の画面上のポイントの指示や選択を行うとき、使用者により操作される。ディスプレイ820は、液晶表示装置またはCRT(Cathode Ray Tube)などから成り、各種情報をテキストやイメージで表示する。HDD(Hard Disk Drive)821は、ハードディスクを駆動し、それらにCPU811によって実行するプログラムや情報を記録または再生させる。
【0333】
ドライブ822は、装着されている磁気ディスク841、光ディスク842、光磁気ディスク843、または半導体メモリ844に記録されているデータまたはプログラムを読み出して、そのデータまたはプログラムを、インターフェース817、外部バス816、ブリッジ815、およびホストバス814を介して接続されているRAM813に供給する。
【0334】
これらのキーボード818乃至ドライブ822は、インターフェース817に接続されており、インターフェース817は、外部バス816、ブリッジ815、およびホストバス814を介してCPU811に接続されている。
【0335】
記録媒体は、図79に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク841(フロッピディスクを含む)、光ディスク842(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク843(MD(Mini-Disc)を含む)、若しくは半導体メモリ844などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM812や、HDD821などで構成される。
【0336】
なお、本明細書において、記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0337】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【0338】
【発明の効果】
以上の如く、請求項1に記載の情報処理装置と請求項2に記載の情報処理方法によれば、画素データをカウントすることによりライン内のアドレスを決定し、そのアドレスが所定値になる毎にカウントすることによりラインのアドレスを決定し、決定されたアドレスを加算することにより生成されるアドレスに基づき、画素データを、書き込み用のバンクに書き込み、そして、画素データがカウントされ、ブロック内のアドレスが決定され、そのアドレスが所定の値になる毎にカウントされ、ブロックのアドレスが決定され、そのアドレスが所定の値になる毎にカウントされ、セグメントのアドレスが決定され、それぞれのアドレスが加算されることにより生成されるアドレスに基づき、画素データを、読み出し用のバンクから読み出されるようにしたので、メモリ内の画素データを、シャフリングに適した配置で書き込むことが可能になり、もって、回路規模を縮小することが可能となる。
【図面の簡単な説明】
【図1】画像を送信する画像伝送システムを説明する図である。
【図2】本発明に係る送信装置1の一実施の形態の構成を示すブロック図である。
【図3】送信装置1に入力された画像信号が圧縮される過程を説明する図である。
【図4】間引きフィルタ43の構成を示すブロック図である。
【図5】ラッチ回路81の出力を説明する図である。
【図6】ラッチ回路84の出力を説明する図である。
【図7】UV垂直1/2回路45の構成を示すブロック図である。
【図8】ラッチ回路94の出力を説明する図である。
【図9】符号化回路15の構成を示すブロック図である。
【図10】ブロックシャフル回路102の構成を示すブロック図である。
【図11】アドレス発生回路124の構成を示すブロック図である。
【図12】外部メモリ16に記憶されているYデータ、Uデータ、およびVデータのアドレスを説明する図である。
【図13】外部メモリ16に記憶されているYデータ、Uデータ、およびVデータのアドレスとラインの関係を説明する図である。
【図14】ライトアドレス発生回路132の構成を示すブロック図である。
【図15】ライトアドレス発生回路132の動作を説明するタイミングチャートである。
【図16】リードアドレス発生回路133の構成を示すブロック図である。
【図17】リードアドレス発生回路133の動作を説明するタイミングチャートである。
【図18】処理の単位を説明する図である。
【図19】ADRCブロックを説明する図である。
【図20】フレーム内の画素とADRCブロックの関係を示す図である。
【図21】フレーム内の画素とADRCブロックの関係を示す図である。
【図22】フレーム内の画素とADRCブロックの関係を示す図である。
【図23】YデータのADRCブロックおよびセグメントを説明する図である。
【図24】UデータまたはVデータのADRCブロックおよびセグメントを説明する図である。
【図25】ADRCブロック単位で行われるシャフルを説明する図である。
【図26】セグメントを説明する図である。
【図27】ライトアドレス発生回路132の他の構成を示すブロック図である。
【図28】リードアドレス発生回路133の他の構成を示すブロック図である。
【図29】ADRC符号化回路103の構成を説明する図である。
【図30】情報量制御回路164の構成を説明する図である。
【図31】情報量制御回路164の構成を説明する図である。
【図32】セグメント間シャフル回路104のシャフルの仕方を説明する図である。
【図33】セグメント間シャフル回路104のシャフルの仕方を説明する図である。
【図34】セグメント間シャフル回路104のシャフルの仕方を説明する図である。
【図35】セグメント間シャフル回路104のシャフルの仕方を説明する図である。
【図36】パケットの構成を示す図である。
【図37】送信装置1の画像の送信の処理を説明する図である。
【図38】受信装置2の構成を示すブロック図である。
【図39】画像が伸張される過程を説明する図である。
【図40】復号回路304のブロック図である。
【図41】qビットMFリカバリ回路353の構成を示すブロック図である。
【図42】ダイナミックレンジDRまたは画素値の最小値MINのリカバリの処理を説明する図である。
【図43】ダイナミックレンジDRまたは画素値の最小値MINのリカバリの処理を説明する図である。
【図44】ダイナミックレンジDRまたは画素値の最小値MINのリカバリの処理を説明する図である。
【図45】セグメント間デシャフル回路352から出力されるデータに欠落がない場合の、復号回路304の処理のタイミングの例を示す図である。
【図46】セグメント間デシャフル回路352から出力されるデータに欠落がある場合の、復号回路304の処理のタイミングの例を示す図である。
【図47】従来のデータの記憶の方法を示す図である。
【図48】ブロックデシャフル回路356のデータの出力のタイミングを説明する図である。
【図49】リカバリエラー判定回路357の構成を示すブロック図である。
【図50】リカバリエラー判定回路357が、”1”が設定されたリカバリ判定フラグFdを出力するときの、ブロックデシャフル回路356の処理を説明する図である。
【図51】セグメント間デシャフル回路353が、連続エラー信号を出力するときの、ブロックデシャフル回路356の処理を説明する図である。
【図52】グレイモードにおけるブロックデシャフル回路356の処理を説明する図である。
【図53】ブロックデシャフル回路356のリカバリオフ入力に対応した処理を説明する図である
【図54】ブロックデシャフル回路356のリカバリオフ入力に対応した処理を説明する図である
【図55】ブロックデシャフル回路356のエスケープ信号に対応した処理を説明する図である。
【図56】ブロックデシャフル回路356の復号したデータを出力する処理を説明するフローチャートである。
【図57】ブロックデシャフル回路356の復号したデータを出力する処理を説明するフローチャートである。
【図58】リカバリオフ入力が”1”であるときのブロックデシャフル回路356のデータを出力する処理を説明するフローチャートである。
【図59】欠落画素創造回路308の処理に使用される画素を説明する図である。
【図60】欠落画素創造回路308の構成を示すブロック図である。
【図61】前処理回路501の処理を説明するフローチャートである。
【図62】時間アクティビティの算出に使用される画素の例を示す図である。
【図63】空間アクティビティの算出に使用される画素の例を示す図である。
【図64】動き判定の閾値を説明する図である。
【図65】静動判定回路521の動きクラスコードを設定する処理を説明するフローチャートである。
【図66】動きクラスコードの多数決判定に使用される画素の例を示す図である。
【図67】動きクラス生成回路503の動きクラスコードを設定する処理を説明するフローチャートである。
【図68】可変タップ選択回路508が選択する予測タップデータ列を説明する図である。
【図69】可変タップ選択回路508が選択する予測タップデータ列を説明する図である。
【図70】可変タップ選択回路508が選択する予測タップデータ列を説明する図である。
【図71】可変タップ選択回路508が選択する予測タップデータ列を説明する図である。
【図72】4倍密解像度創造回路312の処理に使用される画素の位置を説明する図である。
【図73】4倍密解像度創造回路312の構成を示すブロック図である。
【図74】4倍密解像度創造回路312がインターレース方式で出力する場合の4倍密解像度創造回路312に入力される画素の位置および4倍密解像度創造回路312が出力する画素の位置を示す図である。
【図75】4倍密解像度創造回路312がプログレッシブ方式で出力する場合の4倍密解像度創造回路312に入力される画素の位置および4倍密解像度創造回路312が出力する画素の位置を示す図である。
【図76】UV垂直2倍回路333の構成を示すブロック図である。
【図77】ラッチ回路704の出力を説明する図である。
【図78】受信装置2の受信の処理を説明するフローチャートである。
【図79】記録媒体およびコンピュータの例を説明する図である。
【符号の説明】
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 推定予測演算回路
Claims (2)
- 画素データをシャフリングして出力する情報処理装置において、
前記画素データを書き込むバンクと、書き込まれた前記画素データを読み出すバンクとを交互に切り換える切り換え手段と、
前記画素データをカウントし、ライン内のアドレスを決定する第1の決定手段と、
前記第1の決定手段によりカウントされた値が、所定値になる毎にカウントし、ラインのアドレスを決定する第2の決定手段と、
前記第1の決定手段と前記第2の決定手段により決定された前記アドレスを加算することにより生成されるアドレスに基づき、前記画素データを、前記切り換え手段により書き込み用に切り換えられているバンクに書き込む書き込み手段と、
前記画素データをカウントし、ブロック内のアドレスを決定する第3の決定手段と、
前記第3の決定手段によりカウントされた値が、所定の値になる毎にカウントし、ブロックのアドレスを決定する第4の決定手段と、
前記第4の決定手段によりカウントされた値が、所定の値になる毎にカウントし、セグメントのアドレスを決定する第5の決定手段と、
前記第3の決定手段、前記第4の決定手段、および前記第5の決定手段により決定された、それぞれのアドレスを加算することにより生成されるアドレスに基づき、前記画素データを、前記切り換え手段により、読み出し用のバンクに切り換えられているバンクから読み出す読み出し手段と
を含むことを特徴とする情報処理装置。 - 画素データをシャフリングして出力する情報処理方法において、
前記画素データを書き込むバンクと、書き込まれた前記画素データを読み出すバンクとを交互に切り換える切り換えステップと、
前記画素データをカウントし、ライン内のアドレスを決定する第1の決定ステップと、
前記第1の決定ステップでカウントされた値が、所定値になる毎にカウントし、ラインのアドレスを決定する第2の決定ステップと、
前記第1の決定ステップと前記第2の決定ステップで決定された前記アドレスを加算することにより生成されるアドレスに基づき、前記画素データを、前記切り換えステップで書き込み用に切り換えられているバンクに書き込む書き込みステップと、
前記画素データをカウントし、ブロック内のアドレスを決定する第3の決定ステップと、
前記第3の決定ステップでカウントされた値が、所定の値になる毎にカウントし、ブロックのアドレスを決定する第4の決定ステップと、
前記第4の決定ステップでカウントされた値が、所定の値になる毎にカウントし、セグメントのアドレスを決定する第5の決定ステップと、
前記第3の決定ステップ、前記第4の決定ステップ、および前記第5の決定ステップで決定された、それぞれのアドレスを加算することにより生成されるアドレスに基づき、前記画素データを、前記切り換えステップで、読み出し用のバンクに切り換えられているバンクから読み出す読み出しステップと
を含むことを特徴とする情報処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000035379A JP4265068B2 (ja) | 2000-02-14 | 2000-02-14 | 情報処理装置および方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000035379A JP4265068B2 (ja) | 2000-02-14 | 2000-02-14 | 情報処理装置および方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001224044A JP2001224044A (ja) | 2001-08-17 |
JP4265068B2 true JP4265068B2 (ja) | 2009-05-20 |
Family
ID=18559587
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000035379A Expired - Fee Related JP4265068B2 (ja) | 2000-02-14 | 2000-02-14 | 情報処理装置および方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4265068B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8085414B2 (en) | 2007-01-30 | 2011-12-27 | Brother Kogyo Kabushiki Kaisha | Image forming device configured to execute scan-to-memory and direct print functions when connected to an external device |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011027440A1 (ja) * | 2009-09-02 | 2011-03-10 | 株式会社 東芝 | 画像圧縮装置及び画像伸張装置 |
JP5726724B2 (ja) * | 2009-09-02 | 2015-06-03 | 株式会社東芝 | 画像送信装置及び画像受信装置 |
JP2021118450A (ja) * | 2020-01-27 | 2021-08-10 | シャープ福山セミコンダクター株式会社 | 復号化装置、及び、符号化装置 |
-
2000
- 2000-02-14 JP JP2000035379A patent/JP4265068B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8085414B2 (en) | 2007-01-30 | 2011-12-27 | Brother Kogyo Kabushiki Kaisha | Image forming device configured to execute scan-to-memory and direct print functions when connected to an external device |
Also Published As
Publication number | Publication date |
---|---|
JP2001224044A (ja) | 2001-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4126709B2 (ja) | 画像処理装置および画像処理方法 | |
JP2006087142A (ja) | プログレッシブ画像信号送出装置、及びプログレッシブ画像信号受信装置 | |
KR100768611B1 (ko) | 클래스-분류 적응식 처리를 사용하는 정보 처리 장치와 방법, 및 컴퓨터 판독 가능 프로그램 기록 매체 | |
JPH05207460A (ja) | 画像信号の多重化伝送装置及びシステム | |
JP3864444B2 (ja) | 画像信号処理装置および方法 | |
JP4265068B2 (ja) | 情報処理装置および方法 | |
JP2013026952A (ja) | 画像処理方法、エンコード装置、デコード装置および画像処理装置 | |
JP4438159B2 (ja) | 情報処理装置、および情報処理方法 | |
JP4392569B2 (ja) | 情報処理装置および方法、並びに記録媒体 | |
JP4656356B2 (ja) | 情報処理装置および方法、学習装置および方法、並びに記録媒体 | |
JP4655171B2 (ja) | 情報処理装置および方法 | |
JP3351855B2 (ja) | 符号化伝送装置 | |
JP4517435B2 (ja) | 情報処理装置および方法 | |
JP4568939B2 (ja) | 情報処理装置および方法 | |
JP3111028B2 (ja) | 画像信号処理装置及び画像信号処理方法 | |
JP2001224022A (ja) | 情報処理装置および方法 | |
JP2001224020A (ja) | 情報処理装置および方法 | |
JP2595625B2 (ja) | デジタル映像信号の受信装置 | |
EP1392062A2 (en) | Video data compression | |
JP2668881B2 (ja) | 画像信号の高能率符号化装置 | |
JPH0258988A (ja) | 画像信号の動き検出装置 | |
JP3831960B2 (ja) | 圧縮高解像度ビデオ信号の補間装置および補間方法 | |
JPH0799647A (ja) | 画像信号再生装置 | |
JPH0583690A (ja) | 画像圧縮方法 | |
JP2595624B2 (ja) | デジタル映像信号の受信装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070201 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090121 |
|
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: 20090127 |
|
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: 20090209 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120227 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130227 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140227 Year of fee payment: 5 |
|
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 |