JP4517435B2 - Information processing apparatus and method - Google Patents
Information processing apparatus and method Download PDFInfo
- Publication number
- JP4517435B2 JP4517435B2 JP2000035380A JP2000035380A JP4517435B2 JP 4517435 B2 JP4517435 B2 JP 4517435B2 JP 2000035380 A JP2000035380 A JP 2000035380A JP 2000035380 A JP2000035380 A JP 2000035380A JP 4517435 B2 JP4517435 B2 JP 4517435B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- circuit
- block
- counter
- segment
- 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
- Detection And Prevention Of Errors In Transmission (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は情報処理装置および方法に関し、特に、入力データの選択、計数、およびメモリアドレシング先の計数カウンタ値に、アドレスビットの組み合わせが1対1で対応するメモリマップを用いる情報処理装置および方法に関する。
【0002】
【従来の技術】
データ伝送における圧縮方式の多くには、圧縮比を向上させるため、エントロピー符号化に代表される可変長符号化が用いられている。このエントロピー符号化の特徴は、圧縮の対象となるデータの内容に応じて符号語の長さを変えることで圧縮を実現することである。例えば、発生頻度の高いデータには、短い符号語が割り当てられ、発生頻度の低いデータには長い符号語が割り当てられる。その結果、伝送するデータ全体の情報量が削減される。
【0003】
通信エラーにより受信側で誤ったデータが受信された場合、データの内容に応じて、符号語の長さが常に変化するため、復号の誤りは、伝送されるデータの基準となるポイントまで続くことになり、この現象は、一般に「エラー伝搬」と称される。
【0004】
また、MPEG(Moving Picture Experts Group)に代表される動画像の圧縮方式は、離散コサイン変換により、空間的冗長度を減らすと共に、フレーム間の差分のみを伝送するなどして、時間的冗長度を減らすことにより、データ量を削減する。
【0005】
このような圧縮方式により圧縮された動画像のデータは、受信側で伸張されるが、通信エラーにより伝送した動画像のデータが欠落した場合、そのデータの欠落は、空間的および時間的に伸張され、圧縮比が高いほどその影響が顕著に現れる。
【0006】
モバイル環境の、通信路の条件は、固定局または有線と比較して劣悪で、「パケットロス」と称されるバースト状のデータの欠落が比較的頻繁に発生する。そこで、このようなモバイル環境での、圧縮を利用する動画像の通信では、データを伝送する前に、連続するデータ間でシャフリングを行い、データを分散させることにより、パケットが欠落した場合においても、受信側においては、欠落したパケットのデータを受信されたパケットのデータにより補間できるようにされている。
【0007】
例えば、ADRC(Adaptive Dynamic Range Coding)方式で符号化されたデータをシャフリングした後パケット化して伝送する場合、図1に示すようなパケット構成が提案されている。図1は、ADRC方式のデータの2フレーム分をATM(Asynchronous Transfer Mode)方式のパケットサイズに分割して伝送する際のパケット構成を示している。1パケットは、ダイナミックレンジ(DR)、モーションフラグ(MF)、画素値の最小値(MIN)、量子化テーブルのインデックス(TI)、およびコードQから構成されている。以下、適宜、DR,MF,MIN、およびTIをFLデータと称し、コードQをVLデータと称する。
【0008】
1個のDRのデータはAビットから、MINのデータはBビットから、MFのデータはCビットから、TIのデータはDビットから、それぞれ構成されている。1パケットのデータ領域のサイズは47バイトと設定されており、上述した4つのデータDR、MF、MIN、TIのデータ量を47バイトから除いた残りのビット数が、コードQのデータサイズとなる。
【0009】
パケットにはtype0乃至type6までの、合計7タイプのパケット構成が存在しており、それぞれ、パケット番号に応じて使い分けられる。パケットは、パケットタイプ毎に、含まれるデータDR、MF、MIN、TIの個数が異なっており、それに応じて、コードQのビット数も異なっている。このように、異なるパケットタイプを使い分けることにより、パケットロスが発生した場合でも、その影響を抑えるようにされている。
【0010】
【発明が解決しようとする課題】
上述したように、データにシャフリングを施してから伝送する場合、シャフリングをするために、一旦、RAM(Random Access Memory)などの記憶装置に記憶させておく必要がある。RAMなどは、通常、バイト単位でデータを取り扱う。そこで、上述したように、複数のパケットタイプを用いる場合、パケット内のデータをバイト単位で扱ったとき、各データのビット割り当ては、バイト単位とずれることが多く、また、パケット内の各データの位置は、パケットタイプ毎に異なるため、ビット割り当ての状態を監視し、演算によりシフト量を決定することにより行う、または、パケットタイプ毎のビット割り当ての組み合わせを記述したテーブルを用いて行う必要がある。
【0011】
また、シャフリングを行う際のアドレシング演算には、乗算または乗算の組み合わせを予測した係数テーブルを用いる方式が考えられる。アドレシングに乗算を用いる場合、演算時間がかかり、ハードウェアの構成規模が大きくなる可能性があった。乗算の組み合わせを予測した係数を用いる場合、上述したような複数の異なるデータを扱う時は、それらの値の組み合わせが厖大となり、その係数を記憶しておくメモリ量が大きくなるといった課題があった。
【0012】
本発明はこのような状況に鑑みてなされたものであり、データをバイト単位として扱い、入力データの選択、計数、およびメモリアドレシング先の計数カウンタ値に、アドレスビットの組み合わせが1対1で対応するメモリマップを用いることにより、乗算のためのハードウェアの規模を小さくし、係数テーブルを記憶するメモリ量を小さくすることを目的とする。
【0013】
【課題を解決するための手段】
本発明の一側面の情報処理装置は、コンポーネント信号が変換されることにより生成されたYデータ、Uデータ、およびVデータを第1のメモリに記憶させ、その記憶させた前記Yデータ、前記Uデータ、および前記VデータをADRCブロックの形式に並び換え、セグメントの範囲で、かつADRCブロック単位でシャフルするブロックシャフル手段と、前記ブロックシャフル手段から供給される前記Yデータ、前記Uデータ、および前記Vデータを、ADRC(Adaptive Dynamic Range Coding)方式に基づき符号化する符号化手段と、前記符号化手段から供給されるデータを、第2のメモリに記憶させ、その記憶と読み出しのアドレスを変えることで、シャフルするセグメント間シャフル手段と、前記セグメント間シャフル手段から供給されるデータを、1パケットに、ダイナミックレンジ、モーションフラグ、画素値の最小値、量子化テーブルのインデックス、およびコードQが含まれるパケットにパケット化するパケット化手段とを備え、前記セグメント間シャフル手段は、データ選択手段、入力データカウンタ手段、入出力コントローラ手段、アドレス発生手段、および出力データカウンタ手段を備え、前記データ選択手段は、ダイナミックレンジ、モーションフラグ、画素値の最小値、量子化テーブルのインデックスで構成される第1のデータの要素毎に、3個ずつパラレルに入力され、その第1のデータと交互するタイミングでコードQを含む第2のデータが入力され、それらの入力されたデータをシリアルデータに変換し、前記入出力コントローラ手段に出力し、前記入出力コントローラ手段は、前記アドレス発生手段が発生したアドレスに基づいて、入力されたデータを前記第2のメモリに記憶させ、前記入出力コントローラ手段は、前記第2のメモリに記憶されたデータを、前記アドレス発生手段が、前記出力データカウンタ手段から供給されるデータに従って発生したアドレスに基づいて、読み出し、前記パケット化手段に出力する。
前記入力データカウンタ手段は、前記データ選択手段に入力されたデータの種類の識別の為の情報、前記第2のメモリに記憶する際のアドレシングとシャフリングする方向を示すカウンタ群から構成されているようにすることができる。
前記カウンタ群は、アドレシング用とシャフリング用とがあり、前記アドレシング用の前記第1のデータ用のカウンタは、1バッファ内における前記第1のデータのブロック数をカウントするカウンタ、1セグメント内における前記第1のデータのパケットの数をカウントするカウンタ、および1バンク内における前記第1のデータのトータルのパケット数をカウントするカウンタから構成され、前記アドレシング用の前記第2のデータ用のカウンタ群は、1バッファ内における前記第2のデータのパケット数をカウントするカウンタ、1バンク内の前記第2のデータのトータルのパケット数をカウントするカウンタ、1セグメント内の前記第2のデータのバッファ数をカウントするカウンタ、および任意の順番の前記第2のデータをパケット当たりの前記第2のデータのバイト数Nで除算したときの余りをカウントするカウンタから構成され、前記シャフリング用の前記第1のデータ用のカウンタは、1バンク内における前記第1のデータのセグメント数をカウントするカウンタ、1セグメント内における前記第1のデータのシャフリング方向を決定するカウンタから構成され、前記シャフリング用の前記第2のデータ用のカウンタは、1バンク内における前記第2のデータのセグメント数をカウントするカウンタ、1セグメント内における前記第2のデータのシャフリング方向を決定するカウンタとから構成されているようにすることができる。
前記出力データカウンタ手段は、アドレシング用のカウンタ群から構成され、前記第1のデータのアドレシング用のカウンタは、1パケットサイズのデータセルにおける前記量子化テーブルのインデックスをカウントするカウンタ、1パケットサイズのデータセルにおける前記モーションフラグ数をカウントするカウンタ、1パケットサイズのデータセルにおける前記ダイナミックレンジと前記画素値の最小値の数をカウントするカウンタ、ビットサイズの前記量子化テーブルのインデックスと前記モーションフラグをバイトサイズのデータとして扱うために挿入されるブランクの数をカウントするカウンタ、1パケット内におけるパケット内の前記第2のデータの番号を決定するカウンタ、および1バッファ内におけるパケット数をカウントするカウンタから構成されているようにすることができる。
前記第2のメモリに記憶されたデータは、前記出力データカウンタ手段のカウンタ群に従って、前記アドレス発生手段が発生するアドレスに基づいて読み出され、その読み出しは、読み出しのためのパルスが所定のタイミングで前記セグメント間シャフル手段に入力されると、前記量子化テーブルのインデックスと前記モーションフラグが、バイト単位に集結する処理が行われ、その集結処理が終了されると、パケット内のデータの配列に従って、前記第2のメモリから読み出され、パケット化手段に出力されるようにすることができる。
【0014】
本発明の一側面の情報処理方法は、コンポーネント信号が変換されることにより生成されたYデータ、Uデータ、およびVデータを第1のメモリに記憶させ、その記憶させた前記Yデータ、前記Uデータ、および前記VデータをADRCブロックの形式に並び換え、セグメントの範囲で、かつADRCブロック単位でブロックシャフルし、前記ブロックシャフルされた前記Yデータ、前記Uデータ、および前記Vデータを、ADRC(Adaptive Dynamic Range Coding)方式に基づき符号化し、前記符号化されたデータを、第2のメモリに記憶させ、その記憶と読み出しのアドレスを変えることで、セグメント間シャフルし、前記セグメント間シャフルされたデータを、1パケットに、ダイナミックレンジ、モーションフラグ、画素値の最小値、量子化テーブルのインデックス、およびコードQが含まれるパケットにパケット化するステップを含み、前記セグメント間シャフルは、ダイナミックレンジ、モーションフラグ、画素値の最小値、量子化テーブルのインデックスで構成される第1のデータの要素毎に、3個ずつパラレルに入力され、その第1のデータと交互するタイミングでコードQを含む第2のデータが入力され、それらの入力されたデータがシリアルデータに変換され、アドレス発生手段が発生したアドレスに基づいて、入力されたデータが前記第2のメモリに記憶され、前記第2のメモリに記憶されたデータが、前記アドレス発生手段が発生したアドレスに基づいて、読み出されることで行われる。
【0015】
本発明の一側面の情報処理装置および方法においては、コンポーネント信号が変換されることにより生成されたYデータ、Uデータ、およびVデータが第1のメモリに記憶され、その記憶されたYデータ、Uデータ、およびVデータがADRCブロックの形式に並び換えられ、セグメントの範囲で、かつADRCブロック単位でシャフルされ、シャフルされたYデータ、Uデータ、およびVデータが、ADRC方式に基づき符号化され、符号化されたデータが、第2のメモリに記憶され、その記憶と読み出しのアドレスが変えられることで、セグメント間シャフルがされ、1パケットに、ダイナミックレンジ、モーションフラグ、画素値の最小値、量子化テーブルのインデックス、およびコードQが含まれるパケットにパケット化される。また、セグメント間シャフルは、ダイナミックレンジ、モーションフラグ、画素値の最小値、量子化テーブルのインデックスで構成される第1のデータの要素毎に、3個ずつパラレルに入力され、その第1のデータと交互するタイミングでコードQを含む第2のデータが入力され、それらの入力されたデータがシリアルデータに変換され、アドレス発生手段が発生したアドレスに基づいて、入力されたデータが前記第2のメモリに記憶され、前記第2のメモリに記憶されたデータが、前記アドレス発生手段が発生したアドレスに基づいて、読み出されることで行われる。
【0016】
【発明の実施の形態】
図2は、本発明に係る画像を送受信する画像伝送システムを説明する図である。送信装置1は、入力されたビデオ信号を、本発明に係る方式で圧縮し、符号化し、パケットの形式に変換し、伝送路を介して、受信装置2に送信する。受信装置2は、伝送路を介して送信されたパケットを受信し、パケットに含まれるデータを本発明に係る方式で復号して、伸張し、ビデオ信号として出力する。伝送路において、パケットに含まれるデータは、輻輳などにより、欠落することがある。また、伝送路を構成するATM交換機(図示せず)の処理能力を超えたような場合、パケットそのものが、失われることがある。
【0017】
図3は、本発明に係る送信装置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、およびインターレースフォーマット形式の信号である。
【0018】
間引き部13は、セレクタ12から供給されたY信号、U信号、およびV信号を、それぞれ後述する方式で間引きして、フォーマット変換回路14に供給する。間引き部13は、前置フィルタ41、A/D変換回路42、間引きフィルタ43、外部メモリ44、UV垂直1/2回路45、および外部メモリ46で構成される。
【0019】
前置フィルタ41は、入力されたY信号、U信号、およびV信号の、それぞれ所定の周波数帯域のみを出力するローパスフィルタである。前置フィルタ41の出力は、A/D変換回路42に供給される。
【0020】
A/D変換回路42は、入力されたY信号、U信号、およびV信号をサンプリングし、それぞれを、例えば、8ビットのデータとする。A/D変換回路42に入力されたアナログY信号は、サンプリングされることにより、水平方向に528画素および垂直方向に480画素を含むYデータとして、間引きフィルタ43に出力される。
【0021】
A/D変換回路42に入力されたアナログU信号は、サンプリングされることにより、水平方向に176画素および垂直方向に480画素を含むUデータとして間引きフィルタ43に出力される。A/D変換回路42に入力されたアナログV信号は、サンプリングされることにより、水平方向に176画素および垂直方向に480画素を含むVデータとして間引きフィルタ43に出力される。
【0022】
従って、A/D変換回路42の出力は、3:1:1のフォーマットの信号となっている。
【0023】
間引きフィルタ43は、入力されたYデータ、Uデータ、およびVデータを一時的に外部メモリ44に記憶させ、一時的に記憶させたYデータ、Uデータ、およびVデータを、それぞれ水平方向に1/2および垂直方向に1/2に間引きし、UV垂直1/2回路45に供給する。
【0024】
UV垂直1/2回路45は、間引きフィルタ43から供給されたYデータ、Uデータ、およびVデータを一時的に外部メモリ46に記憶させ、一時的に記憶させたUデータおよびVデータを、それぞれ垂直方向に1/2に間引きし、Yデータ、Uデータ、およびVデータをフォーマット変換回路14に出力する。
【0025】
従って、間引き部13より出力される信号は、3:0.5:0.5の信号となる。
【0026】
フォーマット変換回路14は、間引き部13から供給されたYデータ、Uデータ、およびVデータを、後述する方式で並び替えて、ブロック構造として、符号化回路15に供給する。
【0027】
符号化回路15は、フォーマット変換回路14から供給されたYデータ、Uデータ、およびVデータを一時的に外部メモリ16に記憶させ、外部メモリ16にに記憶されたYデータ、Uデータ、およびVデータを、記憶と読み出しのアドレスを変えることでシャフリングして、ADRC(Adaptive Dynamic Range Coding)方式で符号化し、シャフリングして、パケット化回路17に出力する。
【0028】
ADRC方式は、入力された画像のデータのダイナミックレンジ(DR)に適応した可変長の符号を出力する可変長符号化方式である。画像のデータは、複数の画素からなるブロック(後述するADRCブロック)に分割され、各ブロックに含まれる画素値の最大値および最小値の差であるダイナミックレンジが検出される。ブロックのダイナミックレンジを基に、各画素値を元の量子化ビット数(例えば、8ビット)よりも少ないビット数で、再量子化する。ダイナミックレンジが小さいほど、少ないビット数で再量子化することができ、量子化ひずみの増大を抑えつつ、画素の画素値の冗長度のみを除去して、更にデータ量を少なくすることが可能である。
【0029】
ADRC方式は、ダイナミックレンジの大きさに関連して量子化ビット数を選択するものである。ダイナミックレンジの大小関係を判断するために、動きなどに対応した閾値が使用される。再量子化のためのビット数として、例えば、2ビット、3ビット、または4ビットのいずれか1つを割り当てるとき、動きまたはダイナミックレンジ毎の量子化テーブルに記憶された閾値T1およびT2(但し、T1<T2)が使用される。受信側でも、同じ量子化テーブルが使用される。
【0030】
ダイナミックレンジが(T1−1)以下であるブロックでは、画素値に対するコードに、2ビットが割り当てられる。ダイナミックレンジがT1以上で(T2−1)以下であるブロックでは、画素値に対するコードに、3ビットが割り当てられる。ダイナミックレンジがT2以上であるブロックでは、画素値に対するコードに、4ビットが割り当てられる。画素値に対するコードに割り当てられたビット数をqとする。
【0031】
符号化は、2フレームを30分割して作成される、88個のADRCブロックを単位(この単位をバッファと称する)として実行される。1つのバッファに対して生成されるコードが、ここでは、16,104ビット以下になるように、閾値T1およびT2を記憶した量子化テーブルは、1つのバッファに対して1つ選択される。選択された量子化テーブルは、TIで示されるテーブルインデックスで指定される。1つのバッファに対して生成されるコードが、16,104ビット以下になるようにすることで、符号化された画像のデータの情報を、8Mbpsとすることができる。
【0032】
ダイナミックレンジが2のq乗より大きいとき、画素値に対するコードQは、
[(L−MIN+0.5)×2q/DR]
で算出される。[]は、小数点以下の切り捨てを表す。Lは、画素値を表し、MINは、ブロック内の画素の画素値の最小値を表す。DRは、ブロックのダイナミックレンジを表す。ダイナミックレンジが2のq乗以下のとき、画素値に対するコードQは、L−MINで算出される。
【0033】
符号化回路15は、符号化されたデータとして、量子化テーブルを指定するテーブルインデックスTI、ダイナミックレンジDR、ブロック内の画素の画素値の最小値MIN、動きを示す動きフラグMF、および画素値に対応するコードQを出力する。テーブルインデックスTI、ダイナミックレンジDR、ブロック内の画素の画素値の最小値MIN、および動きを示す動きフラグMFの長さ(ビット数)は、8ビットで固定である。一方、画素値に対するコードQの長さは、変化する。
【0034】
パケット化回路17は、符号化回路15から供給された、符号化データを、一時的に外部メモリ18に記憶させ、一時的に記憶された符号化データを、1.6Kビット毎に分割し、ヘッダ等を付加してパケット化し、送信回路19に供給する。送信回路19は、パケット化回路17から供給されたパケットを所定の伝送方式で変調して、伝送路を介して送信する。
【0035】
PLL回路20は、画像に同期した基準信号を生成し、コントロール回路21に基準信号を供給する。コントロール回路21は、間引き部13、フォーマット変換回路14、符号化回路15、外部メモリ16、パケット化回路17、外部メモリ18、および送信回路19に、PLL回路20から供給された基準信号に基づく、コントロール信号を供給し、送信装置1全体の動作を制御する。
【0036】
図4を参照して、送信装置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%の情報量に圧縮される。
【0037】
60Hzのフィールド周波数を有する、インターレース方式の1フレーム当たり水平方向に528画素および垂直方向に480画素を含むYデータは、間引きフィルタ43により、30Hzのフレーム周波数を有する、プログレッシブ方式の1フレーム当たり水平方向に264画素および垂直方向に240画素を含むデータに圧縮される。60Hzのフィールド周波数を有する、インターレース方式の1フレーム当たり水平方向に176画素および垂直方向に480画素を含むUデータおよびVデータは、間引きフィルタ43により、30Hzのフレーム周波数を有する、プログレッシブ方式の1フレーム当たり水平方向に88画素および垂直方向に240画素を含むデータにそれぞれ圧縮される。
【0038】
1フレーム当たり水平方向に88画素および垂直方向に240画素を含むUデータおよびVデータは、UV垂直1/2回路45により、水平方向に88画素および垂直方向に120画素を含むデータにそれぞれ圧縮される。UV垂直1/2回路45から出力される画像のデータの情報は、21Mbpsとなり、送信装置1に入力される信号の情報と比較し、13%の情報量に圧縮される。
【0039】
このように、間引き部13で間引き処理を行うことで、後段の各回路の構成を簡略化し、伝送路におけるビットレートを、実用的な充分小さい値に設定することができる。
【0040】
30Hzのフレーム周波数を有する、プログレッシブ方式の1フレーム当たりそれぞれ水平方向に88画素および垂直方向に120画素を含むUデータおよびVデータは、フォーマット変換回路14により、88画素×120画素のデータを2つ合わせたデータに変換される。
【0041】
1フレーム当たり水平方向に264画素および垂直方向に240画素を有するYデータ並びに88画素×120画素×2のUデータおよびVデータが符号化回路15により符号化される。符号化された画像のデータの情報は、8Mbpsとなり、送信装置1に入力されるアナログ信号の情報と比較し、5%の情報量に圧縮される。
【0042】
以上のように、送信装置1は、画像信号を圧縮して符号化する。
【0043】
図5は、間引きフィルタ43の構成を示すブロック図である。インターレース方式のYデータは、水平方向のラインに沿って、水平1/2回路61に供給される。水平1/2回路61は、遅延回路(レジスタ)71−1乃至71−N、乗算回路72−1乃至72−N、および加算回路73で構成されている。
【0044】
ハーフバンドフィルタである水平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に出力する。
【0045】
ハーフバンドフィルタである垂直1/2回路62は、ラッチ回路81、フィールドFIFO(Fast In Fast Out)82、加算回路83、およびラッチ回路84から構成されている。水平1/2回路61から出力されたデータは、ラッチ回路81に供給される。ラッチ回路81は、クロック信号が入力されたとき、入力されたデータをラッチし、ラッチしたデータを出力する。
【0046】
水平1/2回路61の動作を図6を参照して説明する。フレームの水平方向に順次入力された、Yデータ(図6に白い丸印で示す画素)は、遅延回路71−1乃至71−Nにより保持され、乗算回路72−1乃至72−Nによりそれぞれ係数が乗算される。乗算回路72−1乃至72−Nの出力は、加算回路73で加算された後、ラッチ回路81に出力される。ラッチ回路81には、図6の黒い4角形に対応するタイミングで、ラッチを指示するクロック信号が入力される。図6の例では、水平方向に、2画素のデータが転送される度に1つのクロックがラッチ回路81に入力されるので、例えば、N=2で、各係数の値が1/2の場合、隣接する2個の画素の平均値が、図6の黒い4角形で示すタイミングでラッチ回路81にラッチされる。このように、ラッチ回路81がラッチする画素の数は、間引きフィルタ43に入力されたデータの画素の数の1/2となる。
【0047】
ラッチ回路81によりラッチされた値は、フィールドFIFO82および加算回路83に供給される。フィールドFIFO82は、ラッチ回路81から供給された水平方向に1/2に間引かれた第1フィールドの画素のデータを記憶して、1フィールド分遅延させ、加算回路83に出力する。加算回路83は、ラッチ回路81およびフィールドFIFO82から供給されたデータを加算して、ラッチ回路84に供給する。ラッチ回路84は、イネーブル信号が入力されたとき、入力されたデータをラッチする。
【0048】
垂直1/2回路62の動作を図7を参照して説明する。第1フィールドの任意の画素(図7に示す第1フィールド上の黒い4角形の画素)のYデータ、および第1フィールドの画素と画面の水平方向に同一の位置で、1つ下のラインの第2フィールドの画素(図7に示す、第1フィールド上の黒い4角形の画素の右下に位置する第2フィールド上の黒い4角形の画素)のデータが、加算回路83により加算された後、ラッチ回路84に出力される。従って、ラッチ回路84には、第1フィールドと第2フィールドの画素の平均値(図7に白い4角形で示す画素に相当する)がラッチされる。
【0049】
このように、ラッチ回路84の出力は、ラッチ回路81から出力された画素のデータに対して、第1フィールドおよび第2フィールドの間で、1/2に間引きされ、次に、第3フィールドおよび第4フィールドの間で、1/2に間引きされ、30Hzのフレーム周波数を有する、プログレッシブ方式のYデータとなる。
【0050】
UデータおよびVデータも、同様に水平方向と垂直方向に1/2に間引きされ、30Hzのフレーム周波数を有する、プログレッシブ方式のフォーマットのデータとなる。
【0051】
以上のように、間引きフィルタ43から出力される画像のYデータ、Uデータ、およびVデータは、それぞれ間引きされた30Hzのフレーム周波数を有する、プログレッシブ方式のフォーマットのデータとなる。
【0052】
次に、UV垂直1/2回路45について説明する。図8は、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に出力する。
【0053】
加算回路93は、乗算回路92−1乃至92−7から供給されたデータを加算して、ラッチ回路94に供給する。ラッチ回路94は、クロック信号が入力されたとき、入力されたデータをラッチする。
【0054】
UV垂直1/2回路45の動作を図9を参照して説明する。連続する7本のライン上の、画面の水平方向に同一の位置の画素(図9に白い4角形で示す画素)のデータが乗算回路92−1乃至92−7に入力される。乗算回路92−1乃至92−7は、入力されたデータに、それぞれ係数を乗算する。加算回路93は乗算回路92−1乃至92−7の出力を加算して、出力する。ラッチ回路94には、2ラインに1回のタイミング(図9に黒い丸印で示すタイミング)で、ラッチ信号が入力される。このように、UV垂直1/2回路45は、入力されたUデータおよびVデータのラインの本数を1/2に間引いて、出力する。
【0055】
なお、UV垂直1/2回路45は、Yデータを通過させる。
【0056】
次に、符号化回路15について説明する。図10は、符号化回路15の構成を示すブロック図である。コントロール回路21から供給されるコントロール信号は、タイミング信号生成回路101に入力される。タイミング信号生成回路101は、入力されたコントロール信号を基に、タイミング信号を生成し、ブロックシャフル回路102、ADRC符号化回路103、およびセグメント間シャフル回路104に供給する。
【0057】
フォーマット変換回路14により、変換されたYデータ、Uデータ、およびVデータは、ブロックシャフル回路102に入力される。ブロックシャフル回路102は、供給されたYデータ、Uデータ、およびVデータを外部メモリ16の所定の位置に一時的に記憶させる。ブロックシャフル回路102は、外部メモリ16に記憶させたYデータ、Uデータ、およびVデータを、後述するADRCブロックの形式に並び換え、後述するセグメントの範囲で、かつADRCブロック単位でシャフルし、ADRC符号化回路103に供給する。
【0058】
ADRC符号化回路103は、ブロックシャフル回路102から供給されたYデータ、Uデータ、およびVデータを、ADRC方式に基づき符号化し、セグメント間シャフル回路104に供給する。セグメント間シャフル回路104は、供給されたADRCで符号化されたデータを外部メモリ22の所定の位置に、一時的に記憶させる。
【0059】
セグメント間シャフル回路104は、外部メモリ22に記憶させたADRCデータを、記憶と読み出しのアドレスを変えることで、シャフルする。セグメント間シャフル回路104におけるシャフルは、伝送路におけるデータの欠落が発生しても、受信装置2が、ダイナミックレンジDR、最小値MIN、および動きフラグMFいずれかを受信できる可能性を高め、また、伝送路におけるデータの欠落が発生しても、受信装置2が、各コードQを分けて抽出しやすくすることを目的とする。
【0060】
図11を参照して、符号化回路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に符号化される。
【0061】
ADRC符号化回路103から出力された88個のADRCブロックに対応する符号化されたデータ(以下、バッファと称する)は、セグメント間シャフル回路104により、5個ずつにまとめられる(以下、セグメントと称する)。偶数セグメントに対応する3個のセグメント(図中、セグメント0、セグメント2、およびセグメント4と示す)は、セグメント間シャフル回路104により、セグメント間でシャフルされる。奇数セグメントに対応する3個のセグメント(図中、セグメント1、セグメント3、およびセグメント5と示す)は、セグメント間シャフル回路104により、セグメント間でシャフルされる。
【0062】
セグメント間でシャフルされたセグメントは、セグメント0、セグメント1、セグメント2、セグメント3、セグメント4、およびセグメント5の順に並べられる。
【0063】
パケット化回路17は、セグメント0、セグメント1、セグメント2、セグメント3、セグメント4、およびセグメント5の順に並べられたセグメントに格納されている符号化されたデータを、8個のADRCブロックに対応するデータ(ダイナミックレンジDR、最小値MIN、動きフラグMF、テーブルインデックスTI、およびコードQ)毎にパケットに格納する。
【0064】
図12乃至図19を参照して、ブロックシャフル回路102の動作を説明する。図12は、ADRCブロックを説明する図である。各フレームから水平8画素×垂直8画素の隣り合う64画素のブロックを選び出し、ブロックの中で最も左で且つ最も上に位置する画素(図中に0−1または1−1と示された画素)、およびこれを基準とし、その画素から水平に2画素だけ移動した位置にある画素(図中に0−3または1−3と示された画素)、その画素から垂直に2画素だけ移動した位置にある画素(図中に0−17または1−17と示された画素)、またはその画素から水平に1画素かつ垂直に1画素だけ移動した位置にある画素(図中に0−10または1−10と示された画素)を偶数画素と称する。さらに、これらの画素を基準として、同様の選択を繰り返し、選択された画素を、偶数画素とする。
【0065】
また、各フレームの残りの画素は、奇数画素とする。
【0066】
図12に示すように、偶数フレーム(フレーム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ブロックを構成する。
【0067】
図13乃至図15は、フレーム内の画素とADRCブロックとの関係を示す図である。図13に示すように、フレーム0の画素は、水平8画素×垂直8画素の64画素のブロック毎に分割される。同様に、図14に示すように、フレーム1(フレーム0の次のフレーム)の画素は、水平8画素×垂直8画素の64画素のブロック毎に分割される。フレーム0のブロックの中で最も左で且つ最も上に位置する64画素のブロック(図13においてA1と表示された64画素のブロック)および、フレーム1のブロックの中で最も左で且つ最も上に位置する64画素のブロック(図14においてA1と表示された64画素のブロック)の偶数画素により、構成された偶数セグメントのADRCブロックは、図15に示すように、セグメント0として、最も左、且つ最も上に配置される。
【0068】
図13のA1と表示された64画素のブロック、および図14のA1と表示された64画素のブロックの奇数画素により構成された奇数セグメントのADRCブロックは、図15に示すように、セグメント3として、セグメント0の偶数セグメントのADRCブロックの図中右隣に配置される。
【0069】
図13のA2と表示された64画素のブロック、および図14のA2と表示された64画素のブロックの偶数画素より構成された偶数セグメントのADRCブロックは、図15に示すようにセグメント0として、図13のA1と表示された64画素のブロックおよび図14のA1と表示された64画素のブロックの奇数画素により構成された、セグメント3のADRCブロックの図中右隣に配置される。図13のA2と表示された64画素のブロックおよび図14のA2と表示された64画素のブロックの奇数画素により構成された奇数セグメントのADRCブロックは、図15に示すように、セグメント3として、図13のA2と表示された64画素のブロックおよび図14のA2と表示された64画素のブロックの偶数画素により構成された、セグメント0のADRCブロックの図中右隣に配置される。
【0070】
図13のB1と表示された64画素のブロックおよび図14のB1と表示された64画素のブロックの偶数画素により構成された偶数セグメントのADRCブロックは、図15に示すように、セグメント4として、図13のA1と表示された64画素のブロックおよび図14のA1と表示された64画素のブロックの偶数画素により構成された、セグメント0のADRCブロックの図中下側に配置される。図13のB1と表示された64画素のブロックおよび図14のB1と表示された64画素のブロックの奇数画素により構成された奇数セグメントのADRCブロックは、図15に示すように、セグメント1として、図13のA1と表示された64画素のブロックおよび図14のA1と表示された64画素のブロックの奇数画素により構成された、セグメント3のADRCブロックの図中下側(セグメント4のADRCブロックの右隣)に配置される。
【0071】
図13のB2と表示された64画素のブロックおよび図14のB2と表示された64画素のブロックの偶数画素により構成された偶数セグメントのADRCブロックは、図14に示すようにセグメント4として、図13のB1と表示された64画素のブロックおよび図14のB1と表示された64画素のブロックの奇数画素により構成された、セグメント1のADRCブロックの図中右隣に配置される。図13のB2と表示された64画素のブロックおよび図14のB2と表示された64画素のブロックの奇数画素により構成された奇数セグメントのADRCブロックは、図14に示すようにセグメント1として、図13のB2と表示された64画素のブロックおよび図14のB2と表示された64画素のブロックの偶数画素により構成された偶数セグメントのADRCブロックの図中右隣に配置される。
【0072】
図13のC1と表示された64画素のブロックおよび図14のC1と表示された64画素のブロックの偶数画素により構成された偶数セグメントのADRCブロックは、図15に示すようにセグメント2として、図13のB1と表示された64画素のブロックおよび図14のB1と表示された64画素のブロックの偶数画素により構成された、セグメント4のADRCブロックの図中下側に配置される。図13のC1と表示された64画素のブロックおよび図14のC1と表示された64画素のブロックの奇数画素により構成された奇数セグメントのADRCブロックは、図15に示すようにセグメント5として、図13のB1と表示された64画素のブロックおよび図14のB1と表示された64画素のブロックの奇数画素により構成された、セグメント1のADRCブロックの図中下側(セグメント2のADRCブロックの右隣)に配置される。
【0073】
図13のC2と表示された64画素のブロックおよび図14のC2と表示された64画素のブロックの偶数画素により構成された偶数セグメントのADRCブロックは、図15に示すようにセグメント2として、図13のC1と表示された64画素のブロックおよび図14のC1と表示された64画素のブロックの奇数画素により構成された、セグメント5のADRCブロックの図中右隣に配置される。図13のC2と表示された64画素のブロックおよび図14のC2と表示された64画素のブロックの奇数画素により構成された奇数セグメントのADRCブロックは、図15に示すようにセグメント5として、図13のC2と表示された64画素のブロックおよび図14のC2と表示された64画素のブロックの偶数画素により構成された偶数セグメントのADRCブロックの図中の右隣に配置される。
【0074】
以上の手続きを、各フレームを構成する33×10個の各ブロック(264×240画素)について繰り返すことにより、2つのフレームのYデータから、図16(A)に示すように、水平方向に66個、垂直方向に30個並べられたADRCブロックの集合が生成される。図16(B)に示すように、Yデータから生成されたADRCブロックは、シャフルされて、セグメントを構成する。
【0075】
88×120画素のUデータおよびVデータについても同様の処理を行うことにより、図17(A)に示すように、水平方向に22個、垂直方向に15個並べられたADRCブロックの集合が生成される。Yデータの場合と同様に、図17(B)に示すように、UデータおよびVデータから生成されたADRCブロックは、ブロックシャフルされて、セグメントを構成する。
【0076】
各ADRCブロック内で、偶数フレームと奇数フレームの画面上で同一位置にある画素同士(例えば、図12中の0−1と示された画素と1−1と示された画素等)で画素値の差分の絶対値をとり、その差分の絶対値のうち最大値が閾値Th1に満たない場合は、そのADRCブロックは静止画とみなされる。
【0077】
差分の絶対値のうち、最大の値が閾値Th2(Th1<Th2)を越えた場合には、そのADRCブロックは動画とみなされる。
【0078】
静止画のADRCブロックでは、偶数フレームと奇数フレームの画面上で同一位置にある画素同士の画素値の平均をとり、その32個の平均値を新たにADRCブロックとして置き代え、そのADRCブロックに付される動きフラグMFを0とする。
【0079】
動画のADRCブロックでは、偶数フレームと奇数フレームから集めた64画素をそのままADRCブロックとして、そのADRCブロックに付される動きフラグMFを1とする。
【0080】
次に、セグメント毎に、ADRCブロック単位で行われるシャフルについて説明する。0の番号が付されたYデータのADRCブロックから構成されるセグメントにおいて、そのADRCブロックに通し番号を付すると、図18(A)に示すように、y0乃至y329の番号が、ADRCブロックに付される。ADRCブロックをシャフルすると、YデータのADRCブロックが、図18(B)に示されるように配置される。
【0081】
同様に、0の番号が付されたUデータのADRCブロックから構成されるセグメントにおいて、そのADRCブロックに通し番号を付すると、図18(C)に示すように、u0乃至u54の番号が、ADRCブロックに付される。UデータのADRCブロックは、図18(D)に示されるように、通し番号の逆の順に並び替えられる。
【0082】
0の番号が付されたVデータのADRCブロックから構成されるセグメントにおいて、そのADRCブロックに通し番号を付すると、図18(E)に示すように、v0乃至v54の番号が、ADRCブロックに付される。VデータのADRCブロックは、図18(F)に示されるように、通し番号の逆の順に並び替えられる。
【0083】
次に、図19に示されるように、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ブロックが配置される。
【0084】
セグメント1乃至セグメント5においても、同様に、ADRCブロックがシャフルされる。
【0085】
以上のように、画素のデータは、ブロックシャフル回路102により、ADRCブロック毎にシャフルされ、シャフルされたADRCブロックを基に、ADRC符号化回路103で符号化される。ADRCブロックが適切にシャフルされることにより、通信エラーにより欠落した画素が分散され、再生される画像において欠落した画素を認識しにくくすることができる。
【0086】
次に、図20を参照して、ADRC符号化回路103の構成を説明する。ブロックシャフル回路102によりシャフルされた画像は、ADRCブロックとして、遅延回路161、動き特徴量算出回路162、DR算出回路163、および遅延回路166に供給される。
【0087】
遅延回路161は、2フレームブロック(4×16画素から成るADRCブロック)を動き特徴量算出回路162の処理時間に対応する時間だけ遅延させて、情報量制御回路164に出力する。動き特徴量算出回路162は、ADRCブロック毎に、フレーム間差分の絶対値の最大値である動き特徴量を算出して、情報量制御回路164に供給する。DR算出回路163は、ADRCブロック毎に、静止画とみなされた場合のダイナミックレンジDRおよび動画とみなされた場合のダイナミックレンジDRを算出して、情報量制御回路164に供給する。
【0088】
情報量制御回路164は、遅延回路161から供給された2フレームブロック、動き特徴量算出回路162から供給された動き特徴量、DR算出回路163から供給された静止画とみなされた場合のダイナミックレンジDRおよび動画とみなされた場合のダイナミックレンジDR、並びに閾値テーブル165から供給された閾値Th1およびTh2並びに閾値T1およびT2のセットを基に、閾値Th1およびTh2から成るMF選択閾値を選択して、静動判定回路169に出力する。
【0089】
情報量制御回路164は、2フレームブロック、動き特徴量、静止画とみなされた場合のダイナミックレンジDRおよび動画とみなされた場合のダイナミックレンジDR、並びに閾値テーブル165から供給された閾値Th1およびTh2並びに閾値T1およびT2のセットを基に、Qビット選択閾値を選択して、ADRCエンコーダ171に出力する。
【0090】
例えば、動き特徴量が4で、静止画とみなされた場合のダイナミックレンジDRが14で、動画とみなされた場合のダイナミックレンジDRが15である場合、テーブルインデックスが0の閾値T1が6で、閾値T2が12で、閾値Th1が3で、閾値Th2が3で、テーブルインデックスが1の閾値T1が13で、閾値T2が40で、閾値Th1が5で、閾値Th2が5であるときについて説明する。
【0091】
情報量制御回路164は、テーブルインデックスが0の閾値のセットに対して、動き特徴量が閾値Th2より大きいので、動画と判定する。動画とみなされた場合のダイナミックレンジDRが閾値T2より大きいので、このADRCブロックのqは4となり、情報量制御回路164は、コードQが(16*4)*4より256ビットであることを求める。
【0092】
同様に、情報量制御回路164は、テーブルインデックスが1の閾値のセットに対して、動き特徴量が閾値Th1より小さいので、静止画と判定する。静止画とみなされた場合のダイナミックレンジDRが閾値T1より大きく、閾値T2より小さいので、このADRCブロックのqは3となり、情報量制御回路164は、コードQが(8*4)*3より96ビットであることを求める。
【0093】
このように、閾値のセットには、テーブルインデックスが大きくなると、情報量が減少するようにそれぞれの閾値が設定されている。情報量制御回路164は、1つのバッファに対して生成されるコードQが、16,104ビット以下で、最も大きい情報量のテーブルインデックスをテーブルインデックスTIとして選択して、遅延回路173に出力する。
【0094】
情報量制御回路164は、テーブルインデックスに対応するコードQのビット数を並列演算しても、テーブルインデックスの大きい(または小さい)側から逐次演算するようにしてもよい。
【0095】
図21および図22を参照して、情報量制御回路164の構成の例を説明する。図21は、情報量制御回路164の前段部の構成を示す図であり、図22は、情報量制御回路164の後段部の構成を示す図である。
【0096】
図21に示すように、情報量制御回路164の前段部には、ダイナミックレンジDRの閾値の数に対応した数分の比較回路181−1および181−2と、加算器182−1および182−2と、レジスタ183−1および183−2とが設けられている。比較回路181−1および181−2のそれぞれの一方の入力端子に(0乃至255)までの数値を取りうるダイナミックレンジDRが供給される。
【0097】
また、図21において、閾値テーブル165から、例えば、閾値T1および閾値T2が読み出され、比較回路181−1および181−2の他方の入力端子のそれぞれに供給される。具体的には、比較回路181−1の他方の入力端子に閾値T1が供給され、比較回路181−2の他方の入力端子には閾値T2が供給される。
【0098】
比較回路181−1および181−2のそれぞれには、入力端子5からのダイナミックレンジDRが各閾値以上の場合に、「1」の出力を発生する。比較回路181−1および181−2の比較出力がそれぞれに接続された加算器182−1または182−2のいずれかの一方の入力端子に供給される。加算器182−1または182−2の他方の入力端子には、レジスタ183−1および183−2を介して自らの加算出力が供給されるように構成されている。
【0099】
従って、加算器182−1によって(T1≦DR≦255)の度数の積算値が算出され、得られたデータがレジスタ183−1に保持される。また、加算器182−2によって(T2≦DR≦255)の度数の積算値が算出され、得られたデータがレジスタ183−2に保持される。
【0100】
レジスタ183−1および183−2のそれぞれに保持されている発生度数データのそれぞれが取り出され、図22に示すように、加算器191に供給される。更に、加算器191には、予め情報量制御回路164に記憶されている度数データが供給される。加算器191において、(T1≦DR≦255)の発生度数データと、(T2≦DR≦255)の発生度数データと、予め記憶されている度数データが加算され、総量が算出される。
【0101】
(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)の出力が得られる。この出力は、割り当てビットを乗算して全加算した場合と等しい総量である。
【0102】
加算器191において算出された総量がレジスタ192を介して比較回路193の一方の入力端子に供給される。比較回路193の他方の入力端子12には、バッファ最大値が供給されており、総量がバッファ最大値と比較される。比較回路193の比較出力を基に、総量がバッファ最大値以下となるような閾値が決定される。つまり、閾値テーブル165には、予め発生データの総量が単純増加もしくは単純減少するように複数組の閾値が格納されており、総量が目標以内に収まるように閾値が選定される。
【0103】
情報量制御回路164は、比較回路193の比較出力を基に、MF選択閾値、Qビット選択閾値、およびテーブルインデックスTIを選択して、出力する。
【0104】
図20に戻り、遅延回路166は、2フレームブロック(4×16画素から成るADRCブロック)を遅延回路161および情報量制御回路164の処理時間に対応する時間だけ遅延させて、静止ブロック生成回路167、遅延回路168および静動判定回路169に出力する。静止ブロック生成回路167は、2フレームブロック(4×16画素から成るADRCブロック)から、偶数フレームと奇数フレームの画面上で同一位置にある画素同士の画素値の平均をとり、その32個の平均値を新たにADRCブロックとして置き代え、1フレームブロック(4×8画素から成るADRCブロック)として選択回路170に供給する。
【0105】
遅延回路168は、2フレームブロック(4×16画素から成るADRCブロック)を静止ブロック生成回路167の処理時間に対応する時間だけ遅延させて、選択回路170に供給する。
【0106】
静動判定回路169は、2フレームブロック(4×16画素から成るADRCブロック)並びに閾値Th1およびTh2から成るMF選択閾値を基に、そのADRCブロックに付される動きフラグMFを生成して、選択回路170および遅延回路172に供給する。
【0107】
選択回路170は、動きフラグMFが1のとき、すなわち、ADRCブロックが動画に対応するとき、遅延回路168から供給された2フレームブロックをADRCエンコーダ171に供給し、動きフラグMFが0のとき、すなわち、ADRCブロックが静止画に対応するとき、静止ブロック生成回路167から供給された1フレームブロックをADRCエンコーダ171に供給する。
【0108】
ADRCエンコーダ171は、情報量制御回路164から供給されたQビット選択閾値を基に、選択回路170から供給された2フレームブロックまたは1フレームブロックを符号化して、ダイナミックレンジDR、最小値MIN、q、およびコードQを出力する。
【0109】
遅延回路172は、選択回路170の処理時間およびADRCエンコーダ171の処理時間に対応させて、静動判定回路169から供給された動きフラグMFを遅延して、出力する。
【0110】
遅延回路173は、遅延回路168の遅延時間、選択回路170の処理時間、およびADRCエンコーダ171の処理時間に対応させて、情報量制御回路164から供給されたテーブルインデックスTIを遅延して、出力する。
【0111】
このように、ADRC符号化回路103は、ADRCブロック毎に、ダイナミックレンジDR、画素値の最小値MIN、動きフラグMF、およびコードQを生成し、量子化テーブルのインデックスTIと共に、セグメント間シャフル回路104に供給する。
【0112】
図23は、セグメント間シャフル回路104のシャフルの仕方を説明する図である。図23に示すように、シャフルの仕方にはシャフル0乃至2の3通り存在し、シャフル0は、シャフルを行わないシャフルである。シャフル1は、セグメント0(セグメント1)のデータをセグメント4(セグメント5)に、セグメント2(セグメント3)のデータをセグメント0(セグメント1)に、セグメント4(セグメント5)のデータをセグメント2(セグメント3)に、それぞれシャフル(入れ替え)する。
【0113】
同様に、シャフル2は、セグメント0(セグメント1)のデータをセグメント2(セグメント3)に、セグメント2(セグメント3)のデータをセグメント4(セグメント5)に、セグメント4(セグメント5)のデータをセグメント0(セグメント1)に、それぞれシャフルする。
【0114】
図24は、セグメント0、セグメント3、およびセグメント5において行われるダイナミックレンジDRのシャフルについて説明する図である。1セグメントは、5バッファから構成され、1バッファは88個のADRCブロックを含むため、1セグメントには、440個のDRが含まれる。各セグメント内に存在するDRに番号1乃至440を順次付し、図24では、例えば、セグメント1の番号1のDRは、DR1−1というように記述してある。
【0115】
各セグメントの番号1のDRに対しては、シャフル0が用いられ(すなわち、入れ替えはされない)、番号2のDRに対しては、シャフル1が用いられ、番号3のDRに対しては、シャフル2が用いられ、番号4のDRに対しては、シャフル0が用いられるというように、シャフル0、シャフル1、シャフル2の順でシャフルが行われる。
【0116】
同様に、コードQに対してもシャフルが行われる。また、画素値の最小値であるMINに対しては、図25に示したように、シャフル1、シャフル2、シャフル0の順で行われシャフルが行われる。さらに、動きフラグであるMFに対しては、図26に示すように、シャフル2、シャフル0、シャフル1の順で行われる。
【0117】
次に、量子化テーブルのインデックスTIのシャフルについて説明する。セグメント0に格納されているTIは、セグメント3にも格納され、セグメント3に格納されているTIは、セグメント0にも格納される。すなわち、セグメント0とセグメント3は、自己のTIと対となっている相手のTIとの両方を格納する。同様に、セグメント1とセグメント4、セグメント3とセグメント5は、それぞれ自己のTIと対となっている相手のTIとの両方を格納する。
【0118】
このように、ダイナミックレンジDR、画素値の最小値MIN、および動きフラグMFがシャフルされることにより、通信エラーが発生して、いずれかのデータを含んだパケットが欠落しても、受信装置2は、所定のADRCブロックを復号するとき、受信することができた他のデータを基に、欠落したデータをリカバリすることができる。また、コードQがシャフルされることにより、通信エラーが発生して、コードQを含んだパケットが欠落しても、欠落したコードQに対応する画素が分散され、受信装置2は、コードQの切り出しがしやすくなり、また、所定のADRCブロックを復号するとき、復号できた画素値を基に、欠落した画素値の創造が容易になる。
【0119】
このように、セグメントの間でデータをシャフルすることにより、通信装置2は、データのリカバリ、および欠落画素の創造が容易になり、伝送路においてパケットが欠落しても、再生する画像の質を維持することができる。
【0120】
符号化回路15のセグメント間シャフル回路104から出力されたデータは、パケット化回路17に入力され、パケットにされる。図27に、パケットの構成を示す。図27に示したパケット構成は、201バイトで構成され、その内、DRがA×8Mビット、MINがB×8Mビット、MFがC×8Mビット、TIがD×(8M/D)ビット、およびコードQ(VL-Data)が8×Nビットで構成されている。このサイズの単位のパケットを複数用いてデータを格納する。
【0121】
このように、ダイナミックレンジDR、画素値の最小値MIN、動きフラグMF、テーブルインデックスTI、およびコードQが8の倍数となるように構成することにより、上述したシャフリングを行うときに、各々のデータのビット数サイズによらず、統一のアーキテクチャで、かつ、バイト単位で扱うのに適する。
上述した説明、および後述する説明においては、図27に示したパケット構成を用いた場合である。
【0122】
上述したようなシャフリングを行うセグメント間シャフル回路104の構成を図28に示す。ADRC符号化回路103から出力されたデータは、セグメント間シャフル回路104のデータ選択部211に入力される。データ選択部211は、FLデータの各要素毎に、3個(ブロック)ずつパラレルに入力され、FLデータと交互するタイミングでVLデータが入力される。データ選択部211は、入力されたデータをシリアルデータに変換し、所定のデータを入出力コントローラ213に出力する。入出力コントローラ213は、アドレス発生部214が発生したアドレスに基づいて、入力されたデータを記憶部215に記憶させる。記憶部215に記憶されたデータは、出力データカウンタ部216から供給されるデータに従って、アドレス発生部214が発生したアドレスに基づいて、読み出され、パケット化回路17(図3)に出力される。
【0123】
入力データカウンタ部212は、データ選択部211に入力されたデータの種類の識別の為の情報、記憶部215に記憶する際のアドレシングやシャフリングする方向などを示すカウンタ群から構成されている。そのカウンタ群の一例を図29に示す。カウンタ群にはアドレシング用とシャフリング用とがある。アドレシング用のFLデータ用のカウンタとしては、1バッファ内におけるFLデータのブロック数をカウントする(パケット内のFLデータのアドレスを決定する)カウンタ(flblk)、1セグメント内におけるflデータのパケットの数をカウントする(セグメント内のパケット番号を決定する)カウンタ(flpkt)、および1バンク内におけるflデータのトータルのパケット数をカウントする(バンク内のパケットのアドレスを決定する)カウンタ(flttlpkt)から構成されている。
【0124】
アドレシング用のVLデータ用のカウンタ群としては、1バッファ内におけるVLデータのパケット数をカウントする(バッファ内のパケット番号を決定する)カウンタ(vlpkt)、1バンク内のVLデータのトータルのパケット数をカウントする(バンク内のパケットのアドレスを決定する)カウンタ(vlttlpkt)、1セグメント内のVLデータのバッファ数をカウントする(セグメント内のバッファ番号を決定する)カウンタ(vlbuf)、および任意の順番のVLデータをパケット当たりのVLデータのバイト数Nで除算したときの余りをカウントする(パケット内のVLデータの記憶部215(図28)の記憶位置を決定する)カウンタ(vlmodN)から構成されている。
【0125】
シャフリング用のカウンタは、FLデータ用として、1バンク内におけるFLデータのセグメント数をカウントする(FLデータのセグメント番号を決定する)カウンタ(flseg)、1セグメント内におけるFLデータのシャフリング方向を決定するカウンタ(flshf)、VLデータ用として、1バンク内におけるVLデータのセグメント数をカウントする(バンク内のセグメント番号を決定する)カウンタ(vlseg)、1セグメント内におけるVLデータのシャフリング方向を決定するカウンタ(vlshf)とから構成されている。
【0126】
同様に、出力データカウンタ部216は、図30に示すような、アドレシング用のカウンタ群から構成されている。FLデータのアドレシング用のカウンタとして、1パケットサイズのデータセルにおけるTIデータをカウントする(TIデータをバイト単位にデータに集成するための)カウンタ(ticnt)、1パケットサイズのデータセルにおけるMFデータ数をカウントする(MFデータをバイト単位のデータに集成するための)カウンタ(mfcnt)、1パケットサイズのデータセルにおけるDRデータとMINデータの数をカウントする(パケット内のDRデータとMINデータの番号を決定する)カウンタ(dmcnt)、ビットサイズのTIデータやMFデータをバイトサイズのデータとして扱うために挿入されるブランクの数をカウントするカウンタ(tmcnt)、1パケット内におけるパケット内のVLデータの番号を決定するカウンタ(vlcntN)、および1バッファ内におけるパケット数をカウントする(バッファ内のパケット番号を決定する)カウンタ(pktcnt)から構成されている。
【0127】
セグメント間シャフリング回路104に入力されたデータは、上述した入力データカウンタ部212のカウンタ群に従って、アドレス発生部214が発生したアドレスに基づいて、記憶部215に記憶される。例えば、2フレーム単位の画像データのうちの最初のDRデータが入力された場合、そのDRデータのアドレス用のカウンタ番号として、flblkによりブロック番号が0、flttlpktとflpktによりパケット番号が0と、それぞれ決定され、アドレス発生部214に出力される。
また、シャフル用のカウンタ番号として、flsegによりセグメント番号が0、flmodにより0と、それぞれ決定され、アドレス発生部214に出力される。
【0128】
アドレス発生部214は、入力されたカウンタ番号のうち、flshfのカウンタ番号によりシャフル0(図23)と決定し、セグメント番号(flsegのカウンタ番号)を0と決定することにより、入力されたDRデータのシャフリング先(いまの場合、シャフル0なので、シャフルされず、シャフリング先としてはセグメント0)を決定する。
【0129】
次に、2フレーム単位の画像データのうち、I番目のVLデータが入力された場合、そのVLデータのアドレス用のカウンタ番号として、vlmodNによりパケット内のVLデータの番号がI/Nの剰余−1(番号は0から付されるため)、vlttlpktによりトータルのパケット数を表す値がI/Nの商−1、vlpktによりパケット番号が(I/N)/(バッファ内のパケット数)−1、およびvlbufによりバッファ番号が、それぞれ決定され、アドレス発生部214に出力される。また、シャフル用のカウンタ番号として、vlsegによりセグメント番号と、vlshfよりシャフリング方向が、それぞれ決定され、アドレス発生部214に出力される。
【0130】
アドレス発生部214は、入力されたカウンタ番号のうち、vlshfのカウンタ番号よりシャフル方向とセグメント番号を決定することにより、シャフリング先のセグメント番号を決定する。このようにして決定されたシャフリング先のデータとアドレス用のカウンタ値に基づいて、アドレスが決定される。
【0131】
上述したように、アドレス発生部214が発生するアドレスに従って、記憶部215に記憶されたデータは、出力データカウンタ部216のカウンタ群に従って、アドレス発生部214が発生するアドレスに基づいて読み出される。その読み出しについて説明する。読み出しのためのパルスが所定のタイミングでセグメント間シャフル回路104に入力されると、TIデータとMFデータをバイト単位に集結する処理が行われる。その集結処理が終了されると、パケット内のデータ出力順に従って、いまの場合、図27に示したパケット内のデータの配列に従って、記憶部215から読み出され、パケット化回路17に出力される。
【0132】
パケット出力毎の処理が1バッファ分(11パケット分)繰り返し行われ、順次、パケット化回路17に出力される。パケット化回路17は、必要に応じ、符号化回路15から入力されたデータを外部メモリ18に一時的に記憶させ、必要に応じ読み出すことにより、パケットを構成する。
【0133】
次に、送信装置1の画像の送信の処理を図31のフローチャートを参照して説明する。ステップS11において、間引き部13のA/D変換回路42は、入力された60Hzのフィールド周波数を有するインターレース方式の画像信号を、所定のサンプリングレートでサンプリングして、所定のデータレートのYデータ、Uデータ、およびVデータとして出力する。ステップS12において、間引きフィルタ43は、Yデータ、Uデータ、およびVデータをそれぞれ、水平方向と垂直方向に1/2に間引き、30Hzのフレーム周波数を有するプログレッシブ方式のデータに変換する。
【0134】
ステップS13において、UV垂直1/2回路45は、Uデータ、およびVデータを、垂直方向に1/2に間引く。ステップS14において、フォーマット変換回路14は、Yデータ、Uデータ、およびVデータを符号化回路15に供給できる形式に変換する。
【0135】
ステップS15において、符号化回路15は、フォーマット変換回路14から供給されたYデータ、Uデータ、およびVデータをシャフルして、符号化し、更にシャフルして、パケット化回路17に出力する。ステップS16において、パケット化回路17は、符号化回路15から供給されたデータを、パケット化し、送信回路19に出力する。ステップS19において、送信回路19は、パケット化回路17から供給されたパケットを所定の方式で送信し、処理は終了する。
【0136】
以上のように、送信装置1は、入力された画像の信号を圧縮して、パケットとして出力する。
【0137】
次に、受信装置2について説明する。図32は、受信装置2の構成を示すブロック図である。受信回路301が受信したパケットは、パケット解体回路302に供給される。受信回路301は、受信したパケットに欠落が生じたとき、欠落パケットのデータの各ビット単位で、欠落フラグをセットする。パケット解体回路302は、供給されたパケットを一時的に外部メモリ303に記憶させ、外部メモリ303に一時的に記憶されたパケットを解体して、パケットに含まれるデータを取り出し、欠落フラグと共に復号回路304に供給する。コードQに、8ビット単位で欠落フラグを付け、ダイナミックレンジDR、画素値の最小値MIN、および動きフラグMF毎に欠落フラグを付けるようにしても良い。
【0138】
復号回路304は、パケット解体回路302から供給されたデータを一時的に外部メモリ305に記憶させ、外部メモリ305に一時的に記憶されたADRC方式で符号化されているデータを復号し、フォーマット変換回路306に供給する。復号回路304は、復号に必要なダイナミックレンジDRまたは最小値MINなどのデータが欠落している場合、欠落しているデータをリカバリして、復号し、復号に成功したとき、対応する欠落フラグをリセットする。
【0139】
フォーマット変換回路306は、復号回路304から供給されたデータを一時的に外部メモリ307に記憶させ、外部メモリ307に一時的に記憶されたデータに対し、フォーマット変換回路14の処理とは逆の処理を実行して、欠落画素創造回路308に供給する。
【0140】
欠落画素創造回路308は、フォーマット変換回路306から供給されたデータを基に、クラス分類適応処理により、伝送中に欠落した画素のデータを、欠落した画素の周辺の画素の画素値から作り出し、そのデータをフォーマット変換回路310に供給する。イニシャライズ回路309は、受信装置2の起動時などにおいて、欠落画素創造回路308に、係数セットなどを供給する。
【0141】
フォーマット変換回路310は、欠落画素創造回路308から供給されたデータを一時的に外部メモリ311に記憶させ、外部メモリ311に一時的に記憶されたデータを4倍密解像度創造回路312が処理できる、30Hzのフレーム周波数を有する、プログレッシブ方式の3:0.5:0.5の画像データに変換し、変換したデータを4倍密解像度創造回路312に供給する。
【0142】
4倍密解像度創造回路312は、フォーマット変換回路310から供給された画像データを基に、供給された画像の4倍の密度の画像データを創造し、補間部314に供給する。イニシャライズ回路313は、4倍密解像度創造回路312に、係数セットなどを供給する。
【0143】
補間部314は、フォーマット変換回路331、外部メモリ332、UV垂直2倍回路333、外部メモリ334、D/A変換回路335、および後置フィルタ336で構成されている。
【0144】
フォーマット変換回路331は、4倍密解像度創造回路312から供給されたデータを入力し、一時的に外部メモリ332に記憶させ、外部メモリ332に一時的に記憶されたデータをUV垂直2倍回路333が処理できる、30Hzのフレーム周波数を有する、プログレッシブ方式の3:0.5:0.5の画像データに変換し、変換されたデータをUV垂直2倍回路333に出力する。
【0145】
UV垂直2倍回路333は、フォーマット変換回路331から供給されたデータを一時的に外部メモリ334に記憶させ、外部メモリ334に一時的に記憶されたデータのUデータおよびVデータを、それぞれ垂直方向に2倍に補間し、Yデータ、Uデータ、およびVデータをD/A変換回路335に供給する。
【0146】
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の出力として出力される。
【0147】
NTSCエンコーダ315は、入力されたY信号、U信号、およびV信号を基に、コンポーネント信号(Y/C信号)およびコンポジットビデオ信号を生成し、出力する。
【0148】
PLL回路316は、各回路の処理の基準となる基準信号を生成し、コントロール回路317に供給する。コントロール回路317は、パケット解体回路302、復号回路304、フォーマット変換回路306、欠落画素創造回路308、フォーマット変換回路310、4倍密解像度創造回路312、補間部314、およびNTSCエンコーダ315に、生成したコントロール信号を供給し、受信装置2全体の動作を制御する。
【0149】
図33を参照して、インターレース方式で信号が出力される場合の受信装置2で受信された画像のデータが伸張される過程を説明する。復号回路304で復号された画像のデータは、フォーマット変換回路306で、30Hzのフレーム周波数を有する、プログレッシブ方式の1フレーム当たり水平方向に264画素および垂直方向に240画素を有するYデータ、並びに88画素×120画素×2のUデータおよびVデータに変換される。
【0150】
フォーマット変換回路306から出力された1フレームを構成するYデータ、Uデータ、およびVデータは、欠落画素創造回路308で欠落画素が創造された後、4倍密解像度創造回路312により、60Hzのフィールド周波数を有する、インターレース方式の第1フィールドおよび第2フィールドに変換される。このとき、Yデータは、1つのフィールド当たり、水平方向に528画素および垂直方向に240画素を含むデータとなる。UデータおよびVデータは、それぞれ1つのフィールド当たり、水平方向に176画素および垂直方向に120画素を含むデータとなる。
【0151】
4倍密解像度創造回路312から出力されたYデータ、Uデータ、およびVデータは、フォーマット変換回路331により、Yデータが、1つのフレーム当たり、水平方向に528画素および垂直方向に480画素を含むデータに変換され、UデータおよびVデータは、それぞれ1つのフレーム当たり、水平方向に176画素および垂直方向に240画素を含むデータに変換される。
【0152】
更に、UデータおよびVデータは、UV垂直2倍回路333により、1つのフレーム当たり、水平方向に176画素および垂直方向に480画素を含むデータに変換される。D/A変換回路335は、デジタルアナログ変換を行い、YデータをアナログY信号に変換し、UデータおよびVデータをアナログU信号およびアナログV信号にそれぞれ変換する。
【0153】
このように、補間部314で、間引き部13に対応する処理を行うことで、実用的な値にまで低減されたビットレートで伝送されてきたデータから、充分な画質を有する元の画像を再現することができる。
【0154】
以上のように、受信装置2は、受信した画像のデータを伸張して、インターレース方式のY信号、U信号、およびV信号として出力する。受信装置2が出力する画像の信号の情報は、163Mbpsに相当し、送信装置1に入力された画像の信号の情報と比較すると、98%の情報量に相当する。
【0155】
次に、復号回路304について説明する。図34は、復号回路304の構成を示すブロック図である。コントロール回路317から供給されたコントロール信号は、タイミング信号生成回路351に入力される。タイミング信号生成回路351は、コントロール信号を基に、タイミング信号を生成し、セグメント間デシャフル回路352、qビットMFリカバリ回路353、DRMINリカバリ回路354、ADRC復号回路355、ブロックデシャフル回路356、およびリカバリエラー判定回路357に供給する。
【0156】
パケット解体回路302から供給されたデータは、セグメント間デシャフル回路352に入力される。セグメント間デシャフル回路352は、図10に示す送信装置1のセグメント間シャフル回路104と逆の動作を行い、シャフルされたデータを元の並びに戻す。デシャフルされたデータに欠落がないとき、セグメント間デシャフル回路352は、デシャフルされたデータをADRC復号回路355に供給する。デシャフルされたデータに欠落があるとき、セグメント間デシャフル回路352は、デシャフルされたデータをqビットMFリカバリ回路353、およびDRMINリカバリ回路354に供給する。また、セグメント間に跨る複数のブロックのデータにエラーがあるとき、セグメント間デシャフル回路352は、連続エラー信号をブロックデシャフル回路356に出力する。
【0157】
qビットMFリカバリ回路353は、隣接する画素の相関が圧縮されたコードQに残っていることを利用し、連続する3つのADRCブロックの画素の画素値の相関を基に、その相関が最大となる、qおよび動きフラグMFの値の組み合わせを求め、qおよび動きフラグMFの正しい値として、DRMINリカバリ回路354に出力する。qビットMFリカバリ回路353は、動きフラグMFが正しいか否かを判定するためのemin1およびemin2(隣接画素差分の最小値と2番目に小さい値)をリカバリエラー判定回路357に送信する。
【0158】
図35は、qビットMFリカバリ回路353の構成を示すブロック図である。
セグメントデシャフル回路352から供給されたデシャフルされたデータは、qビットMF取り出し回路371に供給される。
【0159】
qビットMF取り出し回路371は、供給されたデータから、qおよび動きフラグMFを取り出し、3ブロック評価値算出回路372−1乃至372−6のそれぞれに供給する。エラーでqおよび動きフラグMFが失われた場合、qビットMF取り出し回路371は、qおよび動きフラグMFとして可能性のある組み合わせを、3ブロック評価値算出回路372−1乃至372−6のそれぞれに供給する。
【0160】
例えば、”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に供給される。
【0161】
3ブロック評価値算出回路372−1乃至372−6は、qおよび動きフラグMFを基に、切り出されたコードQより復号される画素値から、互いに隣接する画素の画素値の差分を基にした評価値(LE:Linear Error)を算出し、qおよび動きフラグMFと共に評価値をセレクタ373に供給する。以下、3ブロック評価値算出回路372−1乃至372−6を、個々に区別する必要がないときは、単に3ブロック評価値算出回路372と称する。
【0162】
評価値は、式(1)で算出される。評価値は、小さいほど画素の相関が高い。
【数1】
Qi,jは、リカバリの対象となるADRCブロックに含まれる欠落していないコードQを示す。Q’i,jは、Qi,jが含まれるADRCブロックを構成する画素を含む図13および図14に示す64画素のブロックの画素で構成される他のADRCブロックに含まれるコードQを示す。例えば、Qi,jが図16の番号”0”の偶数セグメントのADRCブロックに含まれるとき、Q’i,jは、番号”3”の奇数セグメントのADRCブロックに含まれる。Qi,jが図16の番号”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ブロックを識別する番号である。
【0163】
オフセットjは、3つのADRCブロックの間のダイナミックレンジ、qの違いを吸収し、より正確な評価値を算出するために用いられ、式(2)、式(3)、および式(4)で算出される。
オフセットj=(Xj×24-qj-Yj×24-q'j)/128 (2)
【数2】
【数3】
【0164】
セレクタ373は、3ブロック評価値算出回路372−1乃至372−6のそれぞれから供給された評価値から、最小値を有する評価値、および最小値の次に大きい値を有する評価値を選択し、それぞれemin1およびemin2として、リカバリエラー判定回路357に供給する。
【0165】
セレクタ373は、3ブロック評価値算出回路372−1乃至372−6のうち、最小値を有する評価値を出力したものが出力するqおよび動きフラグMFを選択して、qビットMFリカバリ回路353の出力として、DRMINリカバリ回路354に供給する。
【0166】
DRMINリカバリ回路354は、qビットMFリカバリ回路353から供給されたqの正しい値および動きフラグMFの正しい値とセグメント間デシャフル回路352からの図12で示した対応するADRCブロックとを基に、ADRCブロック毎のダイナミックレンジDRの正しい値およびADRCブロック毎の画素値の最小値MINを求め、ADRC復号回路355に出力する。
【0167】
図36乃至図38を参照して、DRMINリカバリ回路354のダイナミックレンジDRまたは画素値の最小値MINのリカバリの処理を説明する。画素値Lは、ADRCの方式により、コードQから式(5)の処理により復号される。
L=DR/(2Q)*q+MIN (5)
【0168】
図36に示すように、qと画素値Lとの関係は、傾きをDR/(2Q)とし、接片を画素値の最小値MINとする直線で表される。
【0169】
ADRCブロック内の(q,L)の組より、式(5)のDR/(2Q)および画素値の最小値MINを統計的に求める。図37に示す、(q,L)の回帰直線を、式(5)の直線に等しいとする。
【0170】
このとき、bが既知であるならば、aは、式(6)で算出される。
a=(B-nb)/A (6)
【0171】
また、aが既知であるならば、bは、式(7)で算出される。
b=(B-Aa)/n (7)
【0172】
ここで、nは、(q,L)の点の個数であり、Aは、Σxであり、Bは、Σyである。
【0173】
ダイナミックレンジ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)
図38(A)に示すように、ダイナミックレンジDRまたは画素値の最小値MINをリカバリしようとするブロックが隣接する欠落のないのブロックの数を、niとしたとき、Nは、Σniである。図38において、斜線が示された四角は、ダイナミックレンジDRまたは画素値の最小値MINをリカバリしようとするブロックを示す。図38において、斜線のない四角は、欠落のないのブロックを示す。ダイナミックレンジDRまたは画素値の最小値MINをリカバリしようとするブロックのqが欠落している時、図38(B)に示す様に、niは0である。
【0174】
DR’は、リカバリしようとするブロックが隣接する、欠落のないのブロックのダイナミックレンジを示す。MIN’は、リカバリしようとするブロックが隣接する、欠落のないのブロックの画素値の最小値を示す。Q’は、リカバリしようとするブロックが隣接する、欠落のないのブロックのコードQを示す。
【0175】
Xは、式(9)で表される。
【数4】
【0176】
Yは、式(10)で示される。
【数5】
【0177】
画素値の最小値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)
【0178】
ADRC復号回路355は、デシャフルされたデータに欠落がないとき、セグメント間デシャフル回路352から供給されたデータを基に、コードQを復号し、復号の結果得られたYデータ、Uデータ、およびVデータをブロックデシャフル回路356に供給する。
【0179】
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に供給する。
【0180】
ADRC復号回路355は、qまたは動きフラグMFに欠落があり、かつqビットMFリカバリ回路353がqの正しい値および動きフラグMFの正しい値を求めることができないとき、コードQに対応するYデータ、Uデータ、およびVデータのエラーフラグに”1”を設定して、ブロックデシャフル回路356に供給する。
【0181】
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に供給する。
【0182】
ADRC復号回路355は、ダイナミックレンジDR、または画素値の最小値MINに欠落があり、かつかつDRMINリカバリ回路354がダイナミックレンジDRの正しい値および画素値の最小値MINの正しい値を求めることができないとき、コードQに対応するYデータ、Uデータ、およびVデータのエラーフラグに”1”を設定して、ブロックデシャフル回路356に供給する。
【0183】
リカバリエラー判定回路357は、qビットMFリカバリ回路353から供給されたemin1およびemin2を基に、リカバリエラー判定フラグFdをブロックデシャフル回路356に出力し、外部メモリ305が記憶している前のフレームの対応する画素のYデータ、Uデータ、およびVデータの更新を停止させる。
【0184】
ブロックデシャフル回路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データの更新を停止させる。
【0185】
ブロックデシャフル回路356は、Yデータ、Uデータ、およびVデータを、図10に示す送信装置1のブロックシャフル回路102と逆の動作で、元の並びに戻し、元の並びに変換されたYデータ、Uデータ、およびVデータを出力する。
【0186】
以上のように、復号回路304は、復号に必要なデータであるq、動きフラグMF、ダイナミックレンジDR、または画素値の最小値MINが失われても、qビットMFリカバリ回路353およびDRMINリカバリ回路354が失われたデータをリカバリするので、復号を実行することができる。
【0187】
リカバリにエラーがあるときは、外部メモリ305に記憶されている画素値を上書きしないで、4フレーム前の画素値を出力するので、動きが無いとき、違和感のない画素値を出力できる。
【0188】
次に、復号回路304の処理のタイミングを図39および図40のタイミングチャートを参照して説明する。図39は、セグメント間デシャフル回路352から出力されるデータに欠落がない場合の、復号回路304の処理のタイミングの例を示す。セグメント間デシャフル回路352は、デシャフルの処理を行い、所定の時間経過後(図39の例では、入力開始から362クロック後)、ADRC復号回路355にデシャフルされたデータを出力する。ADRC復号回路355は、セグメント間デシャフル回路352から供給されたデータを復号して出力する。
【0189】
図40は、セグメント間デシャフル回路352から出力されるデータに欠落がある場合の、復号回路304の処理のタイミングの例を示す。セグメント間デシャフル回路352は、デシャフルの処理を行い、データに欠落がない場合に、ADRC復号回路355にデータを供給するタイミングより早く(図40の例では、入力開始から123クロック後)、qビットMFリカバリ回路353にデシャフルされたデータを出力する。qビットMFリカバリ回路353は、所定のタイミングで、qおよび動きフラグMFを、DRMINリカバリ回路354に供給する。
【0190】
DRMINリカバリ回路354は、データに欠落がない場合にセグメント間デシャフル回路352がADRC復号回路355にデータを供給するタイミングと同じタイミングで、ダイナミックレンジおよび画素の最小値を、ADRC復号回路355に供給する。
【0191】
従って、復号回路304は、q、動きフラグMF、ダイナミックレンジDR、および画素の最小値MINをリカバリしても、セグメント間デシャフル回路352から出力されるデータに欠落がない場合と同じタイミングで、データを復号し、出力することができる。
【0192】
以上のように、復号回路304は、復号に必要な所定のデータが失われても、qビットMFリカバリ回路353およびDRMINリカバリ回路354が失われたデータをリカバリするので、復号を実行することができる。なお、復号回路304にエラー処理を行わないモード(ユーザセレクタブルなモード)を選択する信号が入力されているとき、qビットMFリカバリ回路353およびDRMINリカバリ回路354は、リカバリを実行しない。
【0193】
図41および図42を参照して、ブロックデシャフル回路356のデータの出力のタイミングについて説明する。
【0194】
従来は、2フレームの画像を記憶するメモリを2個設けて、図41(A)に示すように、一方のメモリにデータを書き込んでいるとき、他のメモリからデータを読み出して出力し、2フレームの画像について処理が終了したとき、図41(B)に示すように、他方のメモリにデータを書き込んで、一方のメモリからデータを読み出して、出力していた。
【0195】
これに対して、外部メモリ305に、それぞれ2フレームの画像を記憶するバンクを2つ設けて(図中のバンク1およびバンク2)、ブロックデシャフル回路356は、図42(A)に示すように、3個のADRCに対応する画像データがADRC復号回路355から供給されたとき、バンク1に書き込み、図42(B)に示すように、ADRC復号回路355から画像データが供給されていないとき(例えば、図40に示す、入力開始から364クロックまでの間)、アドレスを指定することにより、バンク2からブロックデシャフルされたデータを読み出す。次の2フレームにおいては、ブロックデシャフル回路356は、3個のADRCに対応する画像データがADRC復号回路355から供給されたとき、バンク2に書き込み、ADRC復号回路355から画像データが供給されていないとき、バンク1からブロックデシャフルされたデータを読み出す。
【0196】
このようにすることで、ブロックデシャフル回路356に対し、1個の外部メモリ305で、画像データをブロックデシャフルして、出力することができる。
【0197】
図43は、リカバリエラー判定回路357の構成を示すブロック図である。qビットMFリカバリ回路353から供給される最小値を有する評価値emin1、および2番目に小さい値を有する評価値emin2は、差分算出回路431に供給される。差分算出回路431は、入力されたemin1とemin2との差を算出し、遅延回路432に出力する。遅延回路432は、差分算出回路431から供給されたデータを所定の時間遅延し、加算器435および遅延回路433に出力する。
【0198】
遅延回路433は、遅延回路432から供給されたデータを所定の時間遅延し、加算器435および遅延回路434に出力する。
【0199】
遅延回路434は、遅延回路433から供給されたデータを所定の時間遅延し、加算器435および判定回路437に出力する。
【0200】
加算器435は、遅延回路432からから供給されたデータ、遅延回路433からから供給されたデータ、および遅延回路434からから供給されたデータを加算して、判定回路436に供給する。
【0201】
判定回路436は、加算器435から供給されたデータが予め定めた閾値Te1以下であるか否かを判定し、加算器435から供給されたデータが閾値Te1以下であると判定された場合、”1”をAND回路438に出力し、加算器435から供給されたデータが閾値Te1を越えると判定された場合、”0”をAND回路438に出力する。
【0202】
判定回路437は、遅延回路434から供給されたデータが予め定めた閾値Te2以下であるか否かを判定し、遅延回路434から供給されたデータが閾値Te2以下であると判定された場合、”1”をAND回路438に出力し、遅延回路434から供給されたデータが閾値Te2を越えると判定された場合、”0”をAND回路438に出力する。
【0203】
AND回路438は、判定回路436から供給されたデータが”1”、かつ、判定回路437から供給されたデータが”1”のとき、”1”をホールド回路439に出力する。AND回路438は、判定回路436から供給されたデータが”0”、または、判定回路437から供給されたデータが”0”のとき、”0”をホールド回路439に出力する。
【0204】
ホールド回路439は、入力されたデータをリセット信号が入力されるまで保持し、遅延回路440に出力する。遅延回路440は、ホールド回路439から出力されたデータを所定の時間遅延し、ホールド回路439に供給するとともに、リカバリ判定フラグFdとしてブロックデシャフル回路356に出力する。
【0205】
このように、リカバリエラー判定回路357は、3個のADRCブロックに対する、評価値emin1と評価値emin2の差の積算値が閾値Te1以下であり、かつ、そのADRCブロックに対する評価値emin1と評価値emin2の差が閾値Te2以下であるとき、すなわち、評価値emin1と評価値emin2の差が少なく、リカバリされたqまたは動きフラグMFが正しくない可能性が高いとき、リカバリ判定フラグFdに1をセットする。
【0206】
次に、ADRC復号回路355で復号されたデータが一時的にブロックデシャフル回路356に記憶され、読み出される処理を説明する。セグメント間デシャフル回路352は、パケット解体回路302から供給されたデータに欠落があるとき、欠落するデータに対応するエラーフラグに”1”を設定し、データに欠落がないとき、データに対応するエラーフラグに”0”を設定し、ADRCブロック単位のコードQおよびエラーフラグをADRC復号回路355に出力する。ADRC復号回路355は、コードQを復号し、Yデータ、Uデータ、およびVデータ、並びにエラーフラグをブロックデシャフル回路356に出力する。
【0207】
ブロックデシャフル回路356は、対応するエラーフラグが”0”の場合、Yデータ、Uデータ、およびVデータ、並びにエラーフラグを外部メモリ305に記憶し、対応するエラーフラグが”1”である場合、エラーフラグを外部メモリ305に記憶し、Yデータ、Uデータ、およびVデータを外部メモリ305に記憶しない。
【0208】
外部メモリ305は、2つのバンクを有し、1つのバンクに2つのフレームのYデータ、Uデータ、およびVデータ、並びにエラーフラグを記憶する。外部メモリ305のバンクは、2つのフレーム毎に切り替えられる。従って、対応するエラーフラグが”1”である場合、外部メモリ305は、4フレーム前のYデータ、Uデータ、およびVデータを記憶している。
【0209】
図44は、リカバリエラー判定回路357が、”1”が設定されたリカバリ判定フラグFdを出力した場合の、ブロックデシャフル回路356の処理を説明する図である。qビットMFリカバリ回路353から供給される最小値を有する評価値emin1、および2番目に小さい値を有する評価値emin2の差が所定の値以下であり、かつ、そのADRCブロックを含めた連続する3つのADRCブロックのemin1、およびemin2の差の和が所定の値以下であるとき、qビットMFリカバリ回路353は、qのリカバリに失敗したと判定し、このため、データの切り出しも失敗したと判定する。このとき、リカバリエラー判定回路357は、”1”が設定されたリカバリ判定フラグFdを出力する。
【0210】
リカバリエラー判定回路357が、”1”が設定されたリカバリ判定フラグFdを出力したとき、ブロックデシャフル回路356は、それ以降のバッファ(88個のADRCブロック)からのデータの切り出しに失敗したとみなし、それ以降に供給されるエラーフラグに”1”を設定し、そのエラーフラグを外部メモリ305に記憶する。ユーザセレクタブルなエスケープモードの場合には、データは外部メモリ305に記憶される。
【0211】
図45は、セグメント間デシャフル回路353が、連続エラー信号を出力した場合の、ブロックデシャフル回路356の処理を説明する図である。セグメント間デシャフル回路353は、対応する偶数ADRCブロックおよび奇数ADRCブロックの両方の欠落を検出したとき、連続エラー信号を出力する。qビットMFリカバリ回路353のqおよび動きフラグMFのリカバリの処理は、隣接する画素の画素値の相関を利用しているので、対応する偶数ADRCブロックおよび奇数ADRCブロックの両方が欠落しているとき、qビットMFリカバリ回路353は、リカバリの処理を実行することができない。連続エラー信号が供給されたとき、ブロックデシャフル回路356は、それ以降のバッファ(88個のADRCブロック)からのデータの切り出しに失敗したとみなし、それ以降に供給されるエラーフラグに”1”を設定し、そのエラーフラグを外部メモリ305に記憶し、それ以降に供給される復号されたデータを外部メモリ305に記憶しない。
【0212】
図46は、ユーザセレクタブルなグレイモードの場合のブロックデシャフル回路356の処理を説明する図である。グレイモードの場合、ブロックデシャフル回路356は、対応するエラーフラグが”1”であるデータに、グレイ(Y,U,V全てを128にするのではなく、対応するデータのみ128にする)を設定して出力する。
【0213】
図47および図48は、ブロックデシャフル回路356のユーザセレクタブルなリカバリオフ入力(ユーザが図示せぬ所定のスイッチを操作したときに入力される信号)に対応した処理を説明する図である。”1”が設定されたリカバリオフ入力が供給された場合、ブロックデシャフル回路356は、外部メモリ305に、図47に示すように、qビットMFリカバリ回路353を経由しないで、ADRC復号回路355でYデータ、Uデータ、およびVデータが復号されたとき、復号されたYデータ、Uデータ、およびVデータを記憶させる。図48に示すように、qビットMFリカバリ回路353でqおよび動きフラグがリカバリされたとき、ブロックデシャフル回路356は、外部メモリ305に、復号されたYデータ、Uデータ、およびVデータをメモリに記憶させず、対応するすべてのエラーフラグを”1”に設定する。リカバリオフ入力を変化させることで、qビットMFリカバリ回路353等のリカバリの効果が簡単に確認できる。
【0214】
図49は、ブロックデシャフル回路356のエスケープ信号(ユーザが図示せぬ所定のスイッチを操作したときに入力される信号)に対応した処理を説明する図である。所定のエスケープ信号が供給された場合、ブロックデシャフル回路356は、図49に示すように、リカバリ判定フラグFdが”1”に設定されても、それ以降に供給されるエラーフラグに強制的に”1”を設定しないでエラーフラグをメモリに記憶し、それ以降に供給される復号されたYデータ、Uデータ、およびVデータをメモリに記憶する。エスケープ信号を変化させることで、ブロックデシャフル回路356のコンシールの処理の効果が簡単に確認できる。
【0215】
図50および図51は、ブロックデシャフル回路356の復号したデータを出力する処理を説明するフローチャートである。ステップS31において、セグメント間デシャフル回路352は、受信回路301が生成したエラーフラグを受信し、ADRC復号回路355に供給する。ADRC復号回路355は、セグメント間デシャフル回路352から供給されたエラーフラグをブロックデシャフル回路356に出力し、ブロックデシャフル回路356は、そのエラーフラグを受信する。
【0216】
ステップS32において、ブロックデシャフル回路356は、ADRC復号回路355から供給された、バッファ(所定の88個のADRCブロック)に対応する、最初のエラーフラグを選択する。ステップS33において、ブロックデシャフル回路356は、セグメント間デシャフル回路352から供給されている連続エラー信号が”0”であるか否かを判定し、連続エラー信号が”0”であると判定された場合、ステップS34に進み、リカバリエラー判定回路357から供給されているリカバリ判定フラグFdが”0”であるか否かを判定する。ステップS34において、リカバリ判定フラグFdが”0”であると判定された場合、ステップS35に進み、ブロックデシャフル回路356は、外部メモリ305にエラーフラグを記憶させる。
【0217】
ステップS33において、連続エラー信号が”1”であると判定された場合、およびステップS34において、リカバリ判定フラグFdが”1”であると判定された場合、データの切り出しに失敗したので、ステップS47に進み、ブロックデシャフル回路356は、エスケープ信号がオフであるか否かを判定し、エスケープ信号がオフであると判定された場合、ステップS48に進み、ステップS32で選択されたエラーフラグに”1”を設定し、ステップS35に進み、ブロックデシャフル回路356は、外部メモリ305にエラーフラグを記憶させる。
【0218】
ステップS47において、エスケープ信号がオンであると判定された場合、エラーフラグの設定を行わないので、手続きは、ステップS48をスキップし、ステップS35に進み、ブロックデシャフル回路356は、外部メモリ305にエラーフラグを記憶させる。
【0219】
ステップS36において、ブロックデシャフル回路356は、バッファに対応する、すべてのエラーフラグを処理したか否かを判定し、すべてのエラーフラグを処理したと判定された場合、ステップS37に進み、ブロックデシャフル回路356は、ADRC復号回路355から復号されたYデータ、Uデータ、およびVデータを受信する。
【0220】
ステップS36において、バッファの全てのエラーフラグをまだ処理していないと判定された場合、ステップS49に進み、ブロックデシャフル回路356は、次のエラーフラグを選択し、ステップS33に戻り、エラーフラグの設定の処理を繰り返す。
【0221】
ステップS38において、ブロックデシャフル回路356は、ADRC復号回路355から供給された、バッファの最初の復号されたデータを選択する。
【0222】
ステップS39において、ブロックデシャフル回路356は、セグメント間デシャフル回路352から供給されている連続エラー信号が”0”であるか否かを判定し、連続エラー信号が”0”であると判定された場合、ステップS40に進み、選択されている復号されたデータに対応するエラーフラグが”0”であるか否かを判定する。選択されている復号されたデータに対応するエラーフラグが”0”であると判定された場合、ステップS41に進み、ブロックデシャフル回路356は、選択されている復号されたYデータ、Uデータ、およびVデータを外部メモリ305に記憶させる。手続きは、ステップS42に進む。
【0223】
ステップS39において、連続エラー信号が”1”であると判定された場合、および、ステップS40において、選択されている復号されたデータに対応するエラーフラグが”1”であると判定された場合、データは欠落しているので、ステップS41をスキップして、ステップS42に進む。
【0224】
ステップS42において、ブロックデシャフル回路356は、バッファの全ての復号されたデータを処理したか否かを判定し、バッファの全ての復号されたデータを処理したと判定された場合、ステップS43に進む。
【0225】
ステップS42において、バッファ(88個のADRCブロック)の全ての復号されたデータをまだ処理していないと判定された場合、ステップS50に進み、ブロックデシャフル回路356は、次のデータを選択し、ステップS39に戻り、復号したデータを記憶する処理を繰り返す。
【0226】
ステップS43において、ブロックデシャフル回路356は、外部メモリ305に記憶されている最初のデータを選択する。ステップS44において、ブロックデシャフル回路356は、エラーフラグが”1”で、かつ、グレイモードであるか否かを判定し、エラーフラグが”0”、または、グレイモードでないと判定された場合、ステップS45に進み、選択されているデータをフォーマット変換回路306に出力する。
【0227】
ステップS44において、エラーフラグが”1”で、かつ、グレイモードであると判定された場合、ステップS51に進み、ブロックデシャフル回路356は、グレーデータをフォーマット変換回路306に出力し、ステップS46に進む。
【0228】
ステップS46において、ブロックデシャフル回路356は、外部メモリ305のバンクに記憶されている全てのデータを処理したか否かを判定し、外部メモリ305に記憶されている全てのデータを処理したと判定された場合、処理は終了する。
【0229】
ステップS46において、外部メモリ305に記憶されている全てのデータを処理していないと判定された場合、ステップS52に進み、ブロックデシャフル回路356は、外部メモリ305のバンクに記憶されている次のデータを選択し、ステップS44に戻り、データを出力する処理を繰り返す。
【0230】
このように、ブロックデシャフル回路356は、コードQが欠落していても、もっとも違和感の少ないデータを出力することができる。
【0231】
次に、図示せぬユーザセレクタブルなリカバリオフスイッチが”0”である場合のブロックデシャフル回路356のデータを出力する処理を図52のフローチャートを参照して説明する。ステップS71において、セグメント間デシャフル回路352は、受信回路301が生成したエラーフラグを受信し、ADRC復号回路355に供給する。ADRC復号回路355は、セグメント間デシャフル回路352から供給されたエラーフラグをブロックデシャフル回路356に出力し、ブロックデシャフル回路356は、そのエラーフラグを受信する。
【0232】
ステップS72において、ブロックデシャフル回路356は、qおよび動きフラグ等がqビットMFリカバリ回路353等において、リカバリされたか否かを判定し、qおよび動きフラグMF等がリカバリされていないと判定された場合、ステップS73に進み、外部メモリ305にエラーフラグを記憶させる。
【0233】
ステップS72において、qおよび動きフラグ等がリカバリされていると判定された場合、ステップS78に進み、ブロックデシャフル回路356は、受信したエラーフラグを全て”1”に設定し、ステップS73に進む。
【0234】
ステップS74において、ブロックデシャフル回路356は、ADRC復号回路355から復号されたYデータ、Uデータ、およびVデータを受信する。
【0235】
ステップS75において、ブロックデシャフル回路356は、qおよび動きフラグ等がqビットMFリカバリ回路353等において、リカバリされたか否かを判定し、qおよび動きフラグMF等がリカバリされていないと判定された場合、ステップS76に進み、ステップS74で受信したYデータ、Uデータ、およびVデータを記憶する。
【0236】
ステップS75において、q、動きフラグMF等がリカバリされていると判定された場合、ステップS76をスキップし、Yデータ、Uデータ、およびVデータを記憶させないで、ステップS77に進む。
【0237】
ステップS77において、ブロックデシャフル回路356は、外部メモリ305に記憶させたYデータ、Uデータ、およびVデータおよびエラーフラグをフォーマット変換回路306に出力し、処理を終了する。
【0238】
このように、リカバリオフ入力が”1”である場合、ブロックデシャフル回路356は、リカバリされたデータを出力しない。
【0239】
以上のように、復号回路304は、復号に必要な所定のデータが失われても、qビットMFリカバリ回路353およびDRMINリカバリ回路354が失われたデータをリカバリするので、復号を実行することができる。また、復号回路304は、復号ができなくても、もっとも違和感の少ないデータを出力することができる。また、リカバリオフ入力を”1”にすることで、リカバリの効果を簡単に確認することができる。
【0240】
次に、欠落画素創造回路308について説明する。欠落画素創造回路308は、プログレッシブ方式の画像を再生するとき、クラス分類適応処理により、図53(A)に示すように、創造の対象となる画素の同一のフレーム(フレームt)にある周辺の画素の画素値、並びにこれらの画素と水平方向および垂直方向に同一の位置の1つ前のフレーム(フレームt−1)にある画素の画素値を基に、欠落した画素の画素値などを創造する。また、欠落画素創造回路308は、クラス分類適応処理により、図53(B)に示すように、創造の対象となる画素の同一のフィールド(フィールドt)にある周辺の画素の画素値、これらの画素と水平方向および垂直方向に同一の位置の1つ前のフィールド(フィールドt−1)、並びに創造の対象となる画素の周辺の画素と水平方向および垂直方向に同一の位置の2つ前のフィールド(フィールドt−2)にある画素の画素値を基に、欠落した画素の画素値などを創造する。
【0241】
図54は、欠落画素創造回路308の構成を示すブロック図である。欠落画素創造回路308に入力されたデータである画素値および画素の欠落を示すエラーフラグは、前処理回路501およびタップ構築回路502−1に供給される。
【0242】
前処理回路501は、入力された画素値および画素の欠落を示すエラーフラグを基に、欠落している画素の値を線形補間フィルタで生成し、欠落している画素にその値を設定し、タップ構築回路502−2乃至502−5に供給する。なお、画素値は、タップデータとも称する。
【0243】
前処理回路501の処理を図55のフローチャートを参照して説明する。ステップS131において、前処理回路501は、エラーフラグを基に、対象となる画素が欠落しているか否かを判定し、対象となる画素が欠落していないと判定された場合、ステップS132に進み、対象となる画素の画素値を、対象となる画素に設定し、処理は終了する。
【0244】
ステップS131において、対象となる画素が欠落していると判定された場合、ステップS133に進み、前処理回路501は、エラーフラグを基に、対象となる画素の水平に隣接している画素のいずれかが欠落しているか否かを判定する。ステップS133において、対象となる画素の水平に隣接している画素のいずれも欠落していないと判定された場合、ステップS134に進み、前処理回路501は、対象となる画素の水平に隣接している2つの画素の画素値の平均値を対象となる画素の画素値に設定し、処理は終了する。
【0245】
ステップS133において、対象となる画素の水平に隣接している画素のいずれかが欠落していると判定された場合、ステップS135に進み、前処理回路501は、対象となる画素の水平に隣接している画素のいずれも欠落しているか否かを判定する。ステップS135において、対象となる画素の水平に隣接している画素のいずれかが欠落していないと判定された場合、ステップS136に進み、前処理回路501は、対象となる画素の水平に隣接している、欠落していない画素の画素値を対象となる画素の画素値に設定し、処理は終了する。
【0246】
ステップS135において、対象となる画素の水平に隣接している画素のいずれも欠落していると判定された場合、ステップS137に進み、前処理回路501は、エラーフラグを基に、対象となる画素の垂直に隣接している画素のいずれかが欠落しているか否かを判定する。ステップS137において、対象となる画素の垂直に隣接している画素のいずれも欠落していないと判定された場合、ステップS138に進み、前処理回路501は、対象となる画素の垂直に隣接している2つの画素の画素値の平均値を対象となる画素の画素値に設定し、処理は終了する。
【0247】
ステップS137において、対象となる画素の垂直に隣接している画素のいずれかが欠落していると判定された場合、ステップS139に進み、前処理回路501は、エラーフラグを基に、対象となる画素に隣接している全ての画素が欠落しているか否かを判定する。ステップS139において、対象となる画素に隣接しているいずれかの画素が欠落していないと判定された場合、ステップS140に進み、前処理回路501は、対象となる画素に隣接している、欠落していない画素の画素値を対象となる画素の画素値に設定し、処理は終了する。
【0248】
ステップS139において、対象となる画素に隣接している全ての画素が欠落していると判定された場合、ステップS141に進み、前処理回路501は、対象となる画素と同じ位置の過去のフレームの画素の画素値を、対象となる画素の画素値に設定し、処理は終了する。
【0249】
以上のように、前処理回路501は、対象となる画素の画素値を周辺の画素の画素値から線形に補間する。前処理回路501による補間処理により、これに続く処理で使用できるタップの範囲を広げることができる。
【0250】
タップ構築回路502−1乃至502−5は、それぞれ、タップデータ等を、所定のタイミングで、動きクラス生成回路503、DRクラス生成回路504、空間クラス生成回路505、および欠落クラス生成回路506に供給する。
【0251】
動きクラス生成回路503は、イニシャライズ回路309から供給されたパラメータ、並びにタップ構築回路502−1から供給されたエラーフラグおよび選択されたタップを基に、動きクラスコードおよび静動フラグを生成し、タップ構築回路502−2乃至205−5およびクラス合成回路507に出力する。動きクラスコードは、動きの量を示す2ビットの情報を有し、静動フラグは、動きの有り無しを1ビットで示す。
【0252】
図56(A)は、動きクラス生成回路503による時間アクティビティの算出に使用される、創造の対象となる画素を中心とした3×3の画素の例を示す図である。図56(A)において、”エラー”は、欠落した画素を示す。図56(B)は、図56(A)に示された画素に対応する、1つ前のフレームの3×3の画素の例を示す図である。図56(A)および図56(B)に示されるL1乃至L3は、それぞれラインを示し、ラインの同一の番号は、垂直方向に同一の位置であることを示す。図56(A)および図56(B)に示されるH1乃至H3は、それぞれ画素の水平方向の位置を示し、その同一の番号は、水平方向に同一の位置であることを示す。
【0253】
図56(A)および図56(B)に示される場合において、時間アクティビティは、式(12)で算出される。
式(12)において、()は、画素の画素値を表し、||は、絶対値を求める関数を表す。
【0254】
動きクラス生成回路503は、創造の対象となる画素を中心とした3×3の画素の最大値と最小値との差に1を加算した空間アクティビティを算出する。
【0255】
図57は、動きクラス生成回路503による空間アクティビティの算出に使用される、創造の対象となる欠落した画素を中心とした3×3の画素の例を示す図である。このとき、空間アクティビティは、式(13)で算出される。
空間アクティビティ=Max(qi)−Min(qi)+1 (13)
式(13)において、Max(qi)は、q1乃至q9の画素値の最大値を示す。Min(qi)は、q1乃至q9の画素値の最小値を示す。
【0256】
動きクラス生成回路503は、空間アクティビティを基に、それぞれ異なる値を有する閾値を選択する。動きクラス生成回路503は、動き判定の閾値、および時間アクティビティを基に、動きクラスコードを設定する。
【0257】
図58は、動き判定の閾値を説明する図である。動き判定の閾値は、空間アクティビティの値によって、異なる値が使用される。空間アクティビティが大きくなれば、大きな値の閾値が使用される。これは、空間アクティビティが大きい場合、動きが少なくとも、時間アクティビティが、大きな値となることを考慮したものである。
【0258】
なお、スタンダードデンシティのデータに対する処理においては、空間アクティビティとは無関係に固定された閾値を使用して動きクラスコードが設定される。
【0259】
次に、動きクラス生成回路503の動きクラスコードを設定する処理を、図59のフローチャートを参照して説明する。ステップS151において、動きクラス生成回路503は、時間アクティビティが、閾値1以下であるか否かを判定し、時間アクティビティが閾値1以下であると判定された場合、ステップS152に進み、動きクラスコードを0に設定し、処理は終了する。
【0260】
ステップS151において、時間アクティビティが閾値1を越えると判定された場合、ステップS153に進み、動きクラス生成回路503は、時間アクティビティが、閾値2以下であるか否かを判定し、時間アクティビティが閾値2以下であると判定された場合、ステップS154に進み、動きクラスコードを1に設定し、処理は終了する。
【0261】
ステップS153において、時間アクティビティが閾値2を越えると判定された場合、ステップS155に進み、動きクラス生成回路503は、時間アクティビティが閾値3以下であるか否かを判定し、時間アクティビティが閾値3以下であると判定された場合、ステップS156に進み、動きクラスコードを2に設定し、処理は終了する。
【0262】
ステップS155において、時間アクティビティが閾値3を越えると判定された場合、ステップS157に進み、動きクラス生成回路503は、動きクラスコードを3に設定し、処理は終了する。
【0263】
以上のように、動きクラス生成回路503は、閾値および時間アクティビティを基に、動きクラスコードを設定する。
【0264】
動きクラス生成回路503は、複数の画素の動きクラスコードを基に、再度、動きフラグを設定する。例えば、図60に示すように、創造の対象となる画素の周辺の画素の動きクラスコードを基に、動きクラス生成回路503は、対象となる画素の動きクラスコードを設定する。
【0265】
動きクラス生成回路503の動きクラスコードを設定する処理を図61のフローチャートを参照して説明する。ステップS171において、動きクラス生成回路503は、7つの画素の動きクラスコードのうち、3の値が設定されている動きクラスコードの数が、閾値3より大きいか否かを判定し、3の値が設定されている動きクラスコードの数が、閾値3より大きいと判定された場合、ステップS172に進み、動きクラスコードに3を設定し、処理は終了する。
【0266】
ステップS171において、3の値が設定されている動きクラスコードの数が、閾値3以下であると判定された場合、ステップS173に進み、動きクラス生成回路503は、3の値が設定されている動きクラスコードの数と2の値が設定されている動きクラスコードの数を加えた値が、閾値2より大きいか否かを判定し、3の値が設定されている動きクラスコードの数と2の値が設定されている動きクラスコードの数を加えた値が、閾値2より大きいと判定された場合、ステップS174に進み、動きクラスコードに2を設定し、処理は終了する。
【0267】
ステップS173において、3の値が設定されている動きクラスコードの数と2の値が設定されている動きクラスコードの数を加えた値が、閾値2以下であると判定された場合、ステップS175に進み、動きクラス生成回路503は、3の値が設定されている動きクラスコードの数、2の値が設定されている動きクラスコードの数、および1の値が設定されている動きクラスコードの数を加えた値が、閾値1より大きいか否かを判定し、3の値が設定されている動きクラスコードの数、2の値が設定されている動きクラスコードの数、および1の値が設定されている動きクラスコードの数を加えた値が、閾値1より大きいと判定された場合、ステップS176に進み、動きクラスコードに1を設定し、処理は終了する。
【0268】
ステップS175において、3の値が設定されている動きクラスコードの数、2の値が設定されている動きクラスコードの数、および1の値が設定されている動きクラスコードの数を加えた値が、閾値1以下であると判定された場合、ステップS177に進み、動きクラス生成回路503は、動きクラスコードに0を設定し、処理は終了する。
【0269】
このように、動きクラス生成回路503は、複数の画素の動きクラスコード、並びに予め記憶している閾値を基に、最終的な、動きクラスコードを設定する。
【0270】
以上のように、動きクラス生成回路503は、複数の画素の画素値から動きクラスコードを設定し、出力する。動きクラス生成回路503は、動きクラスコードを基に、静動フラグを設定し、出力する。例えば、動きクラスコードが0または1のとき、静動フラグは、0に設定され、動きクラスコードが2または3のとき、静動フラグは、1に設定される。
【0271】
タップ構築回路502−2は、動きクラス生成回路503から供給された動きクラスコードおよび静動フラグ、並びに欠落画素の位置を基に、全てのクラス構造を網羅した予測タップを選択して、可変タップ選択回路508に供給する。
【0272】
タップ構築回路502−3は、動きクラス生成回路503から供給された動きクラスコードおよび静動フラグを基に、タップおよびクラスタップを選択して、エラーフラグとともに、DRクラス生成回路504に供給する。DRクラス生成回路504は、タップ構築回路502−3から供給されたタップ、クラスタップ、エラーフラグを基に、DRクラスコードを生成して、クラス合成回路507に出力する。
【0273】
タップ構築回路502−4は、動きクラス生成回路503から供給された動きクラスコードおよび静動フラグを基に、タップおよびクラスタップを選択して、エラーフラグとともに、空間クラス生成回路505に供給する。空間クラス生成回路505は、タップ構築回路502−4から供給されたタップ、クラスタップ、エラーフラグを基に、空間クラスコードを生成して、クラス合成回路507に出力する。
【0274】
タップ構築回路502−5は、動きクラス生成回路503から供給された動きクラスコードおよび静動フラグを基に、タップを選択して、エラーフラグとともに、欠落クラス生成回路506に供給する。欠落クラス生成回路506は、タップ構築回路502−5から供給されたタップ、エラーフラグを基に、欠落クラスコードを生成して、クラス合成回路507に出力する。
【0275】
クラス合成回路507は、動きクラスコード、静動フラグ、DRクラスコード、空間クラスコード、および欠落クラスコードを基に、クラスコードを統合し、最終的なクラスコードを形成して、係数保持クラスコード選択回路509に出力する。
【0276】
係数保持クラスコード選択回路509は、イニシャライズ回路309から供給された係数セット、および予測構造、並びにクラス合成回路507から供給されたクラスコードを基に、可変タップ選択回路508に、可変タップを選択させるとともに、予測係数列を推定予測演算回路510に出力する。
【0277】
図62乃至図65を基に、可変タップ選択回路508が選択する予測タップデータ列を説明する。
【0278】
図62は、動きクラスコードが0のとき、タップ構築回路502−2が可変タップ選択回路508に出力する予測タップ可変選択範囲と、可変タップ選択回路508が選択する予測タップデータ列の例を示す図である。図62において、実線で囲んだタップは、タップ構築回路502−2が出力する予測タップ可変選択範囲を示し、点線で囲んだタップは、可変タップ選択回路508が選択する予測タップデータ列を示す。可変タップ選択回路508が選択する予測タップデータ列は、タップ構築回路502−2が出力する予測タップ可変選択範囲に含まれるタップから構成される。
【0279】
例えば、動きクラスコードが0のとき、タップ構築回路502−2は、隣接するタップを選択する。例えば、動きクラスコードが0のとき、可変タップ選択回路508は、隣接するタップを選択する。
【0280】
図63は、動きクラスコードが1のとき、タップ構築回路502−2が出力する予測タップ可変選択範囲と、可変タップ選択回路508が選択する予測タップデータ列を示す図である。図63において、実線で囲んだタップは、タップ構築回路502−2が出力する予測タップ可変選択範囲を示し、点線で囲んだタップは、可変タップ選択回路508が選択する予測タップデータ列を示す。可変タップ選択回路508が選択する予測タップデータ列は、タップ構築回路502−2が出力する予測タップ可変選択範囲に含まれるタップから構成される。
【0281】
例えば、動きクラスコードが1のとき、タップ構築回路502−2は、隣接するタップと、その隣接するタップとは隣接しないタップを選択する。例えば、動きクラスコードが0のとき、可変タップ選択回路508は、隣接する5個のタップと、その隣接する5個のタップとは離れた隣接する5個のタップを選択する。
【0282】
図64は、欠落タップが存在して、動きクラスコードが0のとき、タップ構築回路502−2が出力する予測タップ可変選択範囲と、可変タップ選択回路508が選択する予測タップデータ列を示す図である。図中の黒丸は、欠落タップを示す。図64において、実線で囲んだタップは、タップ構築回路502−2が出力する予測タップ可変選択範囲を示し、点線で囲んだタップは、可変タップ選択回路508が選択する予測タップデータ列を示す。可変タップ選択回路508が選択する予測タップデータ列は、タップ構築回路502−2が出力する予測タップ可変選択範囲に含まれるタップから構成される。
【0283】
例えば、欠落タップが存在して、動きクラスコードが0のとき、タップ構築回路502−2は、隣接するタップを選択する。例えば、欠落タップが存在して、動きクラスコードが0のとき、可変タップ選択回路508は、欠落タップが存在しないときと同じ数の、隣接するタップ(例えば、欠落タップの隣のタップまたは欠落タップと同じ並びのタップ)を選択する。
【0284】
図65は、欠落タップが存在して、動きクラスコードが1のとき、タップ構築回路502−2が出力する予測タップ可変選択範囲と、可変タップ選択回路508が選択する予測タップデータ列を示す図である。図中の黒丸は、欠落タップを示す。図64において、実線で囲んだタップは、タップ構築回路502−2が出力する予測タップ可変選択範囲を示し、点線で囲んだタップは、可変タップ選択回路508が選択する予測タップデータ列を示す。可変タップ選択回路508が選択する予測タップデータ列は、タップ構築回路502−2が出力する予測タップ可変選択範囲に含まれるタップから構成される。
【0285】
例えば、欠落タップが存在して、動きクラスコードが1のとき、タップ構築回路502−2は、隣接するタップと、その隣接するタップとは隣接しないタップを選択する。例えば、欠落タップが存在して、動きクラスコードが0のとき、可変タップ選択回路508は、欠落タップが存在しないときと同じ数の、隣接するタップ(例えば、欠落タップの隣のタップまたは欠落タップと同じ並びのタップ)と、その隣接するタップとは離れた、欠落タップが存在しないときと同じ数の、隣接するタップを選択する。
【0286】
推定予測演算回路510は、イニシャライズ回路309から設定された出力モードを基に、可変タップ選択回路508から供給された予測タップデータ列、および係数保持クラスコード選択回路509から供給された予測係数列を基に、線形推定式を用いて、欠落した画素の画素値を算出する。
【0287】
このように、欠落画素創造回路308は、ダイナミックレンジ、動き、欠落、および画素値の変化などによるクラス分類により、欠落した画素の周辺の画素値を基に、欠落した画素値を算出する。
【0288】
また、推定予測演算回路510は、入力された画像の画質をアップさせる(階調の増加(Yデータ、Uデータ、およびVデータのビット数の増加)、ノイズの除去、量子化歪みの除去(時間方向の歪みの除去を含む)、4倍密度の解像度の創造など)ことができる。
【0289】
次に、4倍密解像度創造回路312について説明する。4倍密解像度創造回路312は、インターレース方式の画像を出力するとき、図66(A)および図66(B)に示すように、クラス分類適応処理を利用し、2つのフィールドの所定の数の画素の画素値を基に、入力された2つのフィールドの間に2つの画素を創造する。
【0290】
4倍密解像度創造回路312は、プログレッシブ方式の画像を出力するとき、図66(C)および図66(D)に示すように、クラス分類適応処理を利用し、図66に示すように、2つのフレームの所定の数の画素の画素値を基に、入力された2つのフレームの間に2つの画素を創造する。
【0291】
図67は、4倍密解像度創造回路312の構成を示すブロック図である。フォーマット変換回路310から供給されるYデータ、Uデータ、およびVデータは、タップ選択回路601、タップ選択回路602、およびタップ選択回路603に供給される。タップ選択回路601は、レジスタ609に格納されているタップの位置情報に従って、密度を4倍にするために創造する画素の画素値を算出するのに使用する画素を選択する。タップ選択回路601により選択された画素は、推定予測演算回路607に供給される。
【0292】
タップ選択回路602は、レジスタ610に格納されているタップの位置情報に従って、創造する画素の近傍の画素の画素値のうち、空間クラス分類に使用する画素を選択する。タップ選択回路602により選択された画素は、空間クラス検出回路604に供給される。空間クラス検出回路604は、空間クラスを検出する。検出された空間クラスは、クラス合成回路606に供給される。
【0293】
タップ選択回路603は、レジスタ611に格納されているタップの位置情報に従って、創造する画素の近傍の画素に基づいて動きに対応するクラス分類に使用する画素を選択するものである。タップ選択回路603により選択された画素は、動きクラス検出回路605に供給される。動きクラス検出回路605は、動きクラスを検出する。検出された動きクラスは、クラス合成回路606およびレジスタ610に供給される。レジスタ610のタップの位置情報は、動きクラス検出回路605から供給された動きクラスによって切り換えられる。
【0294】
クラス合成回路606は、空間クラスおよび動きクラスを統合し、最終的なクラスコードを形成する。
【0295】
このクラスコードが係数メモリ612に対して、アドレスとして供給され、係数メモリ612からクラスコードに対応する係数セットが読み出される。係数セットは、推定予測演算回路607に供給される。推定予測演算回路607は、タップ選択回路601から供給された画素の画素値、および係数メモリ612から供給された係数セットを基に、線形推定式を用いて、創造する画素の画素値を算出する。推定予測演算回路607からの出力は、ラインデータL1およびラインデータL2として、線順次変換回路613に供給される。
【0296】
係数セットは、教師信号としての、1つのフィールド当たり、水平方向に528画素および垂直方向に240画素を含むYデータ、それぞれ1つのフィールド当たり、水平方向に176画素および垂直方向に120画素を含むUデータおよびVデータを用いて、クラス毎の係数セットが予め生成されて、イニシャライズ回路313に記憶されている。
【0297】
線順次変換回路613は、ラインメモリを有し、推定予測演算回路607から出力されるラインデータL1およびラインデータL2をレジスタ608に格納されている出力タイミングのデータに基づき、線順次で出力する。線順次変換回路613から、供給された画像の4倍の密度の画像のデータが出力される。
【0298】
レジスタ608、レジスタ609、レジスタ610、レジスタ611、および係数メモリ612は、イニシャライズ回路313に初期化信号が供給されたとき、イニシャライズ回路313から供給された係数セット等を格納する。
【0299】
図68は、4倍密解像度創造回路312がインターレース方式で4倍密解像度の画素を生成、出力する場合における、4倍密解像度創造回路312に入力される画素(図中、大きい円で示す)の位置、および4倍密解像度創造回路312が出力する画素(図中、小さい円で示す)の位置を示す図である。4倍密解像度創造回路312に入力されるフレームは、30Hzの周波数を有し、4倍密解像度創造回路312が出力するフィールドは、60Hzの周波数を有する。出力される第1のフィールドの画素は、入力された画素から、垂直方向に出力される画面のラインの1ライン分だけ上にずれて出力され、1ライン当たりの画素の数は、2倍になっている。出力される第2のフィールドの画素は、入力された画素から、垂直方向に出力される画面のラインの1ライン分だけ下にずれて出力され、1ライン当たりの画素の数は、2倍になっている。
【0300】
図69は、4倍密解像度創造回路312がプログレッシブ方式で4倍密解像度の画素を生成して、出力するときの、4倍密解像度創造回路312に入力される画素(図中、大きい円で示す)の位置、および4倍密解像度創造回路312が出力する画素(図中、小さい円で示す)の位置を示す図である。4倍密解像度創造回路312に入力されるフレームは、30Hzの周波数を有し、4倍密解像度創造回路312が出力するフレームは、60Hzの周波数を有する。出力されるフレームの画素は、入力された画素と同じライン上に出力され、1ライン当たりの画素の数は、2倍になっている。
【0301】
以上のように、4倍密解像度創造回路312は、入力された画像を基に、2倍のフレーム周波数また2倍のフィールド周波数で、1ライン当たり2倍の画素の数を有する画像を創造して出力する。
【0302】
次に、UV垂直2倍回路333について説明する。図70は、UV垂直2倍回路333の構成を示すブロック図である。UV垂直2倍回路333には、4倍密解像度創造回路312により、画素の数が増やされたUデータおよびVデータが入力される。入力されたデータは、ラインFIFO701−1乃至701−6により、1ライン分ずつ遅延され、順次後段に出力される。
【0303】
乗算回路702−1は、入力されたデータに係数を乗じて、加算回路703に出力する。
【0304】
乗算回路702−2乃至702−7は、それぞれラインFIFO701−1乃至701−6より、入力されたデータに係数を乗じて、加算回路703に出力する。
【0305】
加算回路703は、乗算回路702−1乃至702−7から供給されたデータを加算し、ラッチ回路704に供給する。ラッチ回路704は、クロック信号が入力されたとき、入力されたデータをラッチする。
【0306】
UV垂直2倍回路333の動作を図71を参照して説明する。ラインFIFO701−1乃至701−6は、入力されたラインに連続する6本のライン上の、画面の水平方向に同一の位置の画素(図71に丸印で示す画素)のデータを出力する。乗算回路702−1乃至702−7は、入力されたデータに、それぞれ係数を乗じて、加算回路703に出力する。加算回路703は、出力されたデータを加算し、ラッチ回路704に出力する。ラッチ回路704には、ラインの本数が2倍となるタイミング(図71に黒い3角形で示すタイミング)で、クロック信号が入力される。従って、UV垂直2倍回路333は、入力されたUデータおよびVデータのラインの本数を2倍に補間して、出力する。
【0307】
次に、受信装置2の受信の処理を図72のフローチャートを参照して説明する。ステップS201において、パケット解体回路302は、受信回路301が受信したパケットを解体し、復号回路304に供給する。ステップS202において、復号回路304は、パケット解体回路302から入力されたデータを、ADRC方式で復号する。伝送中にデータが欠落したとき、復号回路304の復号において、q、動きフラグMF、ダイナミックレンジDR、または画素値の最小値MINがリカバリされ、Yデータ、Uデータ、およびVデータが復号される。
【0308】
ステップS203において、フォーマット変換回路306は、復号回路304から供給されたYデータ、Uデータ、およびVデータを、欠落画素創造回路308が処理できる所定のフォーマットに変換する。ステップS204において、欠落画素創造回路308は、欠落した画素のうち、復号回路304で復号できなかった画素を、クラス適応処理により、創造する。
【0309】
ステップS205において、フォーマット変換回路310は、欠落画素創造回路308から供給されたYデータ、Uデータ、およびVデータを、4倍密解像度創造回路312が処理できる所定のフォーマットに変換する。ステップS206において、4倍密解像度創造回路312は、入力されたYデータ、Uデータ、およびVデータを基に、クラス適応処理により画素を創造し、画素の密度を4倍にして、補間部314に出力する。
【0310】
ステップS207において、フォーマット変換回路331は、4倍密解像度創造回路312から供給されたYデータ、Uデータ、およびVデータを、所定の補間の処理ができるように、データ形式を変更する。ステップS208において、UV垂直2倍回路333は、UデータおよびVデータを垂直方向に画素を補間して、ライン数が2倍になるようにする。ステップS209において、D/A変換回路335は、所定のクロックレートでデジタルアナログ変換し、アナログY信号、アナログU信号、およびアナログV信号を出力し、処理は終了する。
【0311】
以上のように、受信装置2は、伝送路でデータが欠落しても、復号することができ、また、欠落した画素を創造して、欠落した画素の影響をほとんど受けずに伸張し、画像の信号を出力することができる。
【0312】
なお、画像伝送システムは、画像を送受信するとして説明したが、画像に限らず、音声などのデータを伝送するようにしてもよい。
【0313】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【0314】
図73は、記録媒体およびコンピュータの例を説明する図である。CPU(Central Processing Unit)811は、各種アプリケーションプログラムや、OS(Operating System)を実際に実行する。ROM(Read-only Memory)812は、一般的には、CPU811が使用するプログラムや演算用のパラメータのうちの基本的に固定のデータを格納する。RAM(Random-Access Memory)813は、CPU811の実行において使用するプログラムや、その実行において適宜変化するパラメータを格納する。これらはCPUバスなどから構成されるホストバス814により相互に接続されている。
【0315】
ホストバス814は、ブリッジ815を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス816に接続されている。
【0316】
キーボード818は、CPU811に各種の指令を入力するとき、使用者により操作される。マウス819は、ディスプレイ820の画面上のポイントの指示や選択を行うとき、使用者により操作される。ディスプレイ820は、液晶表示装置またはCRT(Cathode Ray Tube)などから成り、各種情報をテキストやイメージで表示する。HDD(Hard Disk Drive)821は、ハードディスクを駆動し、それらにCPU811によって実行するプログラムや情報を記録または再生させる。
【0317】
ドライブ822は、装着されている磁気ディスク841、光ディスク842、光磁気ディスク843、または半導体メモリ844に記録されているデータまたはプログラムを読み出して、そのデータまたはプログラムを、インターフェース817、外部バス816、ブリッジ815、およびホストバス814を介して接続されているRAM813に供給する。
【0318】
これらのキーボード818乃至ドライブ822は、インターフェース817に接続されており、インターフェース817は、外部バス816、ブリッジ815、およびホストバス814を介してCPU811に接続されている。
【0319】
記録媒体は、図73に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク841(フロッピディスクを含む)、光ディスク842(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク843(MD(Mini-Disc)を含む)、若しくは半導体メモリ844などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM812や、HDD821などで構成される。
【0320】
なお、本明細書において、記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0321】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【0322】
【発明の効果】
以上の如く本発明によれば、乗算のためのハードウェアの規模を小さくし、係数テーブルを記憶するメモリ量を小さくすることができる。
【図面の簡単な説明】
【図1】従来のパケットの構造を説明する図である。
【図2】画像を送信する画像伝送システムを説明する図である。
【図3】本発明に係る送信装置1の一実施の形態の構成を示すブロック図である。
【図4】送信装置1に入力された画像信号が圧縮される過程を説明する図である。
【図5】間引きフィルタ43の構成を示すブロック図である。
【図6】ラッチ回路81の出力を説明する図である。
【図7】ラッチ回路84の出力を説明する図である。
【図8】UV垂直1/2回路45の構成を示すブロック図である。
【図9】ラッチ回路94の出力を説明する図である。
【図10】符号化回路15の構成を示すブロック図である。
【図11】処理の単位を説明する図である。
【図12】ADRCブロックを説明する図である。
【図13】フレーム内の画素とADRCブロックの関係を示す図である。
【図14】フレーム内の画素とADRCブロックの関係を示す図である。
【図15】フレーム内の画素とADRCブロックの関係を示す図である。
【図16】YデータのADRCブロックおよびセグメントを説明する図である。
【図17】UデータまたはVデータのADRCブロックおよびセグメントを説明する図である。
【図18】ADRCブロック単位で行われるシャフルを説明する図である。
【図19】セグメントを説明する図である。
【図20】ADRC符号化回路103の構成を説明する図である。
【図21】情報量制御回路164の構成を説明する図である。
【図22】情報量制御回路164の構成を説明する図である。
【図23】セグメント間シャフル回路104のシャフルの仕方を説明する図である。
【図24】セグメント間シャフル回路104のシャフルの仕方を説明する図である。
【図25】セグメント間シャフル回路104のシャフルの仕方を説明する図である。
【図26】セグメント間シャフル回路104のシャフルの仕方を説明する図である。
【図27】パケットの構成を示す図である。
【図28】セグメント間シャフル回路104の構成を示すブロック図である。
【図29】入力データカウンタ部212のカウンタ群について説明する図である。
【図30】出力データカウンタ部216のカウンタ群について説明する図である。
【図31】送信装置1の画像の送信の処理を説明する図である。
【図32】受信装置2の構成を示すブロック図である。
【図33】画像が伸張される過程を説明する図である。
【図34】復号回路304のブロック図である。
【図35】qビットMFリカバリ回路353の構成を示すブロック図である。
【図36】ダイナミックレンジDRまたは画素値の最小値MINのリカバリの処理を説明する図である。
【図37】ダイナミックレンジDRまたは画素値の最小値MINのリカバリの処理を説明する図である。
【図38】ダイナミックレンジDRまたは画素値の最小値MINのリカバリの処理を説明する図である。
【図39】セグメント間デシャフル回路352から出力されるデータに欠落がない場合の、復号回路304の処理のタイミングの例を示す図である。
【図40】セグメント間デシャフル回路352から出力されるデータに欠落がある場合の、復号回路304の処理のタイミングの例を示す図である。
【図41】従来のデータの記憶の方法を示す図である。
【図42】ブロックデシャフル回路356のデータの出力のタイミングを説明する図である。
【図43】リカバリエラー判定回路357の構成を示すブロック図である。
【図44】リカバリエラー判定回路357が、”1”が設定されたリカバリ判定フラグFdを出力するときの、ブロックデシャフル回路356の処理を説明する図である。
【図45】セグメント間デシャフル回路353が、連続エラー信号を出力するときの、ブロックデシャフル回路356の処理を説明する図である。
【図46】グレイモードにおけるブロックデシャフル回路356の処理を説明する図である。
【図47】ブロックデシャフル回路356のリカバリオフ入力に対応した処理を説明する図である
【図48】ブロックデシャフル回路356のリカバリオフ入力に対応した処理を説明する図である
【図49】ブロックデシャフル回路356のエスケープ信号に対応した処理を説明する図である。
【図50】ブロックデシャフル回路356の復号したデータを出力する処理を説明するフローチャートである。
【図51】ブロックデシャフル回路356の復号したデータを出力する処理を説明するフローチャートである。
【図52】リカバリオフ入力が”1”であるときのブロックデシャフル回路356のデータを出力する処理を説明するフローチャートである。
【図53】欠落画素創造回路308の処理に使用される画素を説明する図である。
【図54】欠落画素創造回路308の構成を示すブロック図である。
【図55】前処理回路501の処理を説明するフローチャートである。
【図56】時間アクティビティの算出に使用される画素の例を示す図である。
【図57】空間アクティビティの算出に使用される画素の例を示す図である。
【図58】動き判定の閾値を説明する図である。
【図59】静動判定回路521の動きクラスコードを設定する処理を説明するフローチャートである。
【図60】動きクラスコードの多数決判定に使用される画素の例を示す図である。
【図61】動きクラス生成回路503の動きクラスコードを設定する処理を説明するフローチャートである。
【図62】可変タップ選択回路508が選択する予測タップデータ列を説明する図である。
【図63】可変タップ選択回路508が選択する予測タップデータ列を説明する図である。
【図64】可変タップ選択回路508が選択する予測タップデータ列を説明する図である。
【図65】可変タップ選択回路508が選択する予測タップデータ列を説明する図である。
【図66】4倍密解像度創造回路312の処理に使用される画素の位置を説明する図である。
【図67】4倍密解像度創造回路312の構成を示すブロック図である。
【図68】4倍密解像度創造回路312がインターレース方式で出力する場合の4倍密解像度創造回路312に入力される画素の位置および4倍密解像度創造回路312が出力する画素の位置を示す図である。
【図69】4倍密解像度創造回路312がプログレッシブ方式で出力する場合の4倍密解像度創造回路312に入力される画素の位置および4倍密解像度創造回路312が出力する画素の位置を示す図である。
【図70】UV垂直2倍回路333の構成を示すブロック図である。
【図71】ラッチ回路704の出力を説明する図である。
【図72】受信装置2の受信の処理を説明するフローチャートである。
【図73】記録媒体およびコンピュータの例を説明する図である。
【符号の説明】
1 送信装置, 2 受信装置, 13 間引き部, 15 符号化回路, 17 パケット化回路, 42 A/D変換回路, 43 間引きフィルタ, 45 UV垂直1/2回路, 102 ブロックシャフル回路, 103 ADRC符号化回路, 104 セグメント間シャフル回路, 164 情報量制御回路, 171 ADRCエンコーダ, 104 セグメント間シャフル回路,111 データ選択部, 212 入力データカウンタ部、 213 入出力コントローラ, 214 アドレス発生部, 215 記憶部, 216 出力データカウンタ部, 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 推定予測演算回路[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an information processing apparatus and method, and more particularly, to an information processing apparatus and method using a memory map in which a combination of address bits corresponds to a count counter value of input data selection, counting, and memory addressing destination on a one-to-one basis. .
[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]
In addition, moving image 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 decompressed at the receiving side. However, when the moving image data transmitted due to a communication error is lost, the lack of the data is expanded spatially and temporally. The higher the compression ratio, the more pronounced 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 the communication of moving images using compression in such a mobile environment, shuffling is performed between consecutive data before data is transmitted, and data is distributed, so that packets are lost. However, on the receiving side, the missing packet data can be interpolated by the received packet data.
[0007]
For example, when data encoded by the ADRC (Adaptive Dynamic Range Coding) method is shuffled and then packetized and transmitted, a packet configuration as shown in FIG. 1 has been proposed. FIG. 1 shows a packet configuration when two frames of ADRC data are divided into ATM (Asynchronous Transfer Mode) packet sizes for transmission. One packet includes a dynamic range (DR), a motion flag (MF), a minimum pixel value (MIN), a quantization table index (TI), and a code Q. Hereinafter, as appropriate, DR, MF, MIN, and TI are referred to as FL data, and the code Q is referred to as VL data.
[0008]
One DR data is composed of A bits, MIN data is composed of B bits, MF data is composed of C bits, and TI data is composed of D bits. The size of the data area of one packet is set to 47 bytes, and the remaining number of bits excluding the data amount of the four data DR, MF, MIN, and TI described above from 47 bytes is the data size of the code Q. .
[0009]
There are a total of seven types of packet configurations of
[0010]
[Problems to be solved by the invention]
As described above, when data is shuffled and then transmitted, it must be temporarily stored in a storage device such as a RAM (Random Access Memory) in order to perform shuffling. RAM and the like usually handle data in byte units. Therefore, as described above, when a plurality of packet types are used, when the data in the packet is handled in units of bytes, the bit allocation of each data often shifts in units of bytes, and each data in the packet Since the position differs for each packet type, it is necessary to monitor the bit allocation state and determine the shift amount by calculation, or use a table describing the bit allocation combinations for each packet type. .
[0011]
In addition, a method using a coefficient table in which multiplication or a combination of multiplications is predicted can be considered for the addressing operation when performing shuffling. When multiplication is used for addressing, computation time is required, and the hardware configuration scale may increase. When using a coefficient that predicts a combination of multiplication, when dealing with a plurality of different data as described above, there is a problem that the combination of those values becomes enormous and the amount of memory for storing the coefficient becomes large. .
[0012]
The present invention has been made in view of such a situation. The data is handled as a byte unit, and the combination of the address bits is one-to-one corresponding to the count counter value of the input data selection, counting, and memory addressing destination. An object of the present invention is to reduce the scale of hardware for multiplication and to reduce the amount of memory for storing a coefficient table by using a memory map.
[0013]
[Means for Solving the Problems]
An information processing apparatus according to an aspect of the present invention stores Y data, U data, and V data generated by converting a component signal in a first memory, and stores the stored Y data, U data, and U data. The data and the V data are rearranged into an ADRC block format, and a shuffle unit that shuffles within a segment range and in units of ADRC blocks, the Y data supplied from the block shuffle unit, the U data, and the Coding means for coding V data based on an ADRC (Adaptive Dynamic Range Coding) system, and storing data supplied from the coding means in a second memory, and changing the addresses of the storage and reading The inter-segment shuffling means for shuffling and the de-shuffling means supplied from the inter-segment shuffle means. Packetizing means for packetizing data into a packet including a dynamic range, a motion flag, a minimum pixel value, a quantization table index, and a code Q in one packet, and the inter-segment shuffling means includes: A data selection unit, an input data counter unit, an input / output controller unit, an address generation unit, and an output data counter unit. The data selection unit includes a dynamic range, a motion flag, a minimum pixel value, and an index of a quantization table. For each element of the first data configured, three pieces are input in parallel, and second data including the code Q is input at a timing alternated with the first data, and the input data is serialized. Convert to data, output to the input / output controller means, the input / output The controller means stores the input data in the second memory based on the address generated by the address generating means, and the input / output controller means stores the data stored in the second memory. Address generation means reads out and outputs to the packetization means based on the address generated according to the data supplied from the output data counter means.
The input data counter means includes a group of counters indicating information for identifying the type of data input to the data selection means, addressing when storing in the second memory, and a direction of shuffling. Can be.
The counter group includes addressing and shuffling, and the first data counter for addressing is a counter that counts the number of blocks of the first data in one buffer. A counter group for counting the second data for addressing, comprising a counter for counting the number of packets of the first data and a counter for counting the total number of packets of the first data in one bank Is a counter that counts the number of packets of the second data in one buffer, a counter that counts the total number of packets of the second data in one bank, and the number of buffers of the second data in one segment A counter that counts the packet, and the second data in any order. A counter that counts the remainder when dividing by the number N of bytes of the second data per hit, and the first data counter for shuffling is the counter of the first data in one bank. A counter that counts the number of segments, and a counter that determines a shuffling direction of the first data in one segment. The second data counter for shuffling is the second counter in one bank. A counter for counting the number of data segments, and a counter for determining the shuffling direction of the second data in one segment.
The output data counter means includes a group of addressing counters, and the first data addressing counter is a counter that counts an index of the quantization table in a data cell of one packet size. A counter that counts the number of motion flags in a data cell, a counter that counts the number of minimum values of the dynamic range and the pixel value in a data cell of one packet size, an index of the quantization table in bit size, and the motion flag A counter that counts the number of blanks inserted to handle as byte-size data, a counter that determines the number of the second data in the packet in one packet, and a count of the number of packets in one buffer It can be made to and a counter.
The data stored in the second memory is read based on the address generated by the address generating means according to the counter group of the output data counter means, and the reading is performed at a predetermined timing. Is input to the inter-segment shuffling means, the process of collecting the index of the quantization table and the motion flag in units of bytes is performed, and when the collection process is completed, according to the arrangement of the data in the packet , Read from the second memory, and output to the packetizing means.
[0014]
According to an information processing method of one aspect of the present invention, Y data, U data, and V data generated by converting a component signal are stored in a first memory, and the stored Y data, U data The data and the V data are rearranged into an ADRC block format, block shuffled within a segment range and in units of ADRC blocks, and the block shuffled Y data, U data, and V data are converted into ADRC ( The data is encoded based on the Adaptive Dynamic Range Coding method, the encoded data is stored in the second memory, and the address of the storage and reading is changed to shuffle between the segments. In one packet, dynamic range, motion flag, minimum pixel value, quantization A first data including a dynamic range, a motion flag, a minimum value of a pixel value, and an index of a quantization table. 3 elements are input in parallel for each element, second data including the code Q is input at a timing alternated with the first data, the input data is converted into serial data, and an address is generated. The input data is stored in the second memory based on the address generated by the means, and the data stored in the second memory is read based on the address generated by the address generating means. Done in
[0015]
In the information processing apparatus and method according to one aspect of the present invention, Y data, U data, and V data generated by converting a component signal are stored in the first memory, and the stored Y data, U data and V data are rearranged in the form of ADRC blocks, shuffled in the range of segments and in units of ADRC blocks, and shuffled Y data, U data, and V data are encoded based on the ADRC method. The encoded data is stored in the second memory, the address of the storage and reading is changed, and the segment is shuffled. In one packet, the dynamic range, the motion flag, the minimum pixel value, It is packetized into a packet containing the quantization table index and code Q. In addition, three inter-segment shuffles are input in parallel for each element of the first data composed of the dynamic range, the motion flag, the minimum pixel value, and the quantization table index. The second data including the code Q is input at an alternate timing, and the input data is converted into serial data. Based on the address generated by the address generating means, the input data is converted into the second data. The data stored in the memory and stored in the second memory is read out based on the address generated by the address generating means.
[0016]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 2 is a diagram for explaining an image transmission system for transmitting and receiving an image according to the present invention. The
[0017]
FIG. 3 is a block diagram showing a configuration of an embodiment of the
[0018]
The thinning
[0019]
The
[0020]
The A /
[0021]
The analog U signal input to the A /
[0022]
Accordingly, the output of the A /
[0023]
The thinning
[0024]
The UV vertical 1/2
[0025]
Therefore, the signal output from the thinning
[0026]
The
[0027]
The
[0028]
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.
[0029]
The ADRC method selects the number of quantization bits in relation to the size of the dynamic range. 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.
[0030]
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.
[0031]
Encoding is performed with 88 ADRC blocks created 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.
[0032]
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.
[0033]
The encoded
[0034]
The packetizing
[0035]
The
[0036]
With reference to FIG. 4, a process of compressing an image signal input to the
[0037]
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
[0038]
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
[0039]
Thus, by performing the thinning process in the thinning
[0040]
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
[0041]
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
[0042]
As described above, the
[0043]
FIG. 5 is a block diagram showing a configuration of the thinning
[0044]
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
[0045]
The vertical 1/2
[0046]
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. 6) 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
[0047]
The value latched by the latch circuit 81 is supplied to the
[0048]
The operation of the vertical 1/2
[0049]
In this way, the output of the
[0050]
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.
[0051]
As described above, the Y data, U data, and V data of the image output from the thinning
[0052]
Next, the UV vertical 1/2
[0053]
The
[0054]
The operation of the UV vertical 1/2
[0055]
Note that the UV vertical ½
[0056]
Next, the
[0057]
The Y data, U data, and V data converted by the
[0058]
The
[0059]
The
[0060]
With reference to FIG. 11, a unit of processing of the
[0061]
Encoded data (hereinafter referred to as a buffer) corresponding to 88 ADRC blocks output from the
[0062]
The segments shuffled between the segments are arranged in the order of
[0063]
The packetizing
[0064]
The operation of the
[0065]
The remaining pixels of each frame are odd pixels.
[0066]
As shown in FIG. 12, an even pixel (4 × 8 pixels) included in an 8 × 8 pixel block i2 of an even frame (frame 0) and an even number included in an 8 × 8 pixel block of an 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.
[0067]
13 to 15 are diagrams illustrating the relationship between the pixels in the frame and the ADRC block. As shown in FIG. 13, the pixels of
[0068]
As shown in FIG. 15, an odd-segment ADRC block composed of a 64-pixel block labeled A1 in FIG. 13 and an odd-numbered pixel of the 64-pixel block labeled A1 in FIG. The ADRC block of the even segment of
[0069]
As shown in FIG. 15, an even-segment ADRC block composed of a 64-pixel block labeled A2 in FIG. 13 and an even-numbered pixel block labeled A2 in FIG. The ADRC block of
[0070]
The even-numbered ADRC block composed of the even-numbered pixels of the 64-pixel block indicated as B1 in FIG. 13 and the 64-pixel block indicated as B1 in FIG. The ADRC block of
[0071]
An even-numbered ADRC block composed of a 64-pixel block labeled B2 in FIG. 13 and an even-numbered pixel block labeled B2 in FIG. 14 is shown as
[0072]
An even-segment ADRC block constituted by a 64-pixel block labeled C1 in FIG. 13 and an even-numbered pixel block labeled C1 in FIG. 14 is shown as
[0073]
An even-segment ADRC block composed of a 64-pixel block labeled C2 in FIG. 13 and an even-numbered pixel block labeled C2 in FIG. 14 is shown as
[0074]
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. 16B, the ADRC block generated from the Y data is shuffled to form a segment.
[0075]
The same processing is also performed for 88 × 120 pixel U data and V data, thereby generating a set of 22 ADRC blocks arranged in the horizontal direction and 15 in the vertical direction as shown in FIG. Is done. As in the case of Y data, as shown in FIG. 17B, ADRC blocks generated from U data and V data are block shuffled to form segments.
[0076]
Within each ADRC block, the pixel values of pixels located 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. 12). 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.
[0077]
When the maximum value among the absolute values of the differences exceeds a threshold Th2 (Th1 <Th2), the ADRC block is regarded as a moving image.
[0078]
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.
[0079]
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.
[0080]
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.
[0081]
Similarly, when a serial number is assigned to an ADRC block in a segment composed of U-data ADRC blocks numbered 0, the numbers u0 to u54 are changed to ADRC blocks as shown in FIG. It is attached to. As shown in FIG. 18D, the URC ADRC blocks are rearranged in the reverse order of the serial numbers.
[0082]
In a segment composed of ADRC blocks of V data numbered 0, if serial numbers are assigned to the ADRC blocks, numbers v0 to v54 are assigned to the ADRC blocks as shown in FIG. The As shown in FIG. 18F, the ADRC blocks of the V data are rearranged in the reverse order of the serial numbers.
[0083]
Next, as shown in FIG. 19, the AD data block of Y data, the ADRC block of U data, and the ADRC block of V data are shuffled. An ADRC block of one U data is arranged after the ADRC block of three Y data, and an ADRC block of three Y data is arranged behind it, followed by an ADRC block of one V data. Is placed. This arrangement is repeated. For example, in
[0084]
Similarly, in the
[0085]
As described above, the pixel data is shuffled for each ADRC block by the
[0086]
Next, the configuration of the
[0087]
The
[0088]
The information
[0089]
The information
[0090]
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
[0091]
The information
[0092]
Similarly, the information
[0093]
Thus, each threshold value is set in the threshold value set so that the information amount decreases as the table index increases. The information
[0094]
The information
[0095]
An example of the configuration of the information
[0096]
As shown in FIG. 21, the information
[0097]
In FIG. 21, 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.
[0098]
Each of the comparison circuits 181-1 and 181-2 generates an output of “1” when the dynamic range DR from the
[0099]
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.
[0100]
Each of the occurrence frequency data held in each of the registers 183-1 and 183-2 is taken out and supplied to the
[0101]
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
[0102]
The total amount calculated in the
[0103]
The information
[0104]
Returning to FIG. 20, the
[0105]
The
[0106]
The static
[0107]
When the motion flag MF is 1, that is, when the ADRC block corresponds to a moving image, the
[0108]
The
[0109]
The
[0110]
The
[0111]
As described above, the
[0112]
FIG. 23 is a diagram for explaining how the
[0113]
Similarly, for
[0114]
FIG. 24 is a diagram for explaining the shuffle of the dynamic range DR performed in the
[0115]
[0116]
Similarly, the code Q is shuffled. Further, as shown in FIG. 25, the minimum pixel value MIN is performed in the order of
[0117]
Next, the shuffling of the index TI of the quantization table will be described. The TI stored in
[0118]
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
[0119]
In this way, by shuffling data between segments, the
[0120]
The data output from the
[0121]
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 the 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. 27 is used.
[0122]
FIG. 28 shows the configuration of the
[0123]
The input data counter
[0124]
The counter group for VL data for addressing includes a counter (vlpkt) that counts the number of VL data packets in one buffer (determines the packet number in the buffer), and the total number of packets of VL data in one bank Counter (vlttlpkt) that counts the address of the packet in the bank (1) counter (vlbuf) that counts the number of VL data buffers in one segment (which determines the buffer number in the segment), and any order It is composed of a counter (vlmodN) that counts the remainder when dividing VL data by the number N of bytes of VL data per packet (determines the storage location of the VL data storage unit 215 (FIG. 28) in the packet) ing.
[0125]
The counter for shuffling counts the number of FL data segments in one bank (determines the segment number of FL data) for FL data, and determines the shuffling direction of the FL data in one segment. Counter to determine (flshf), for VL data, count the number of segments of VL data in one bank (determine the segment number in a bank) counter (vlseg), the shuffling direction of VL data in one segment And a counter (vlshf) to be determined.
[0126]
Similarly, the output data counter
[0127]
The data input to the
Further, as the counter number for shuffle, the segment number is determined to be 0 by flseg and 0 by flmod, and is output to the
[0128]
The
[0129]
Next, when the I-th VL data is input among the image data in units of two frames, the VL data number in the packet is the remainder of I / N by vlmodN as the counter number for the address of the VL data. 1 (since the number is assigned from 0), the value indicating the total number of packets by vlttlpkt is the quotient of I / N-1, and the packet number is (I / N) / (number of packets in the buffer) by vlpkt-1 , And vlbuf respectively determine the buffer number and output it to the
[0130]
The
[0131]
As described above, the data stored in the
[0132]
The processing for each packet output is repeated for one buffer (11 packets) and sequentially output to the
[0133]
Next, image transmission processing of the
[0134]
In step S13, the UV vertical ½
[0135]
In step S <b> 15, the
[0136]
As described above, the
[0137]
Next, the receiving
[0138]
The
[0139]
The
[0140]
Based on the data supplied from the
[0141]
The
[0142]
The quadruple-
[0143]
The interpolation unit 314 includes a
[0144]
The
[0145]
The UV
[0146]
The D /
[0147]
The
[0148]
The
[0149]
With reference to FIG. 33, a process of decompressing image data received by the receiving
[0150]
The Y data, U data, and V data constituting one frame output from the
[0151]
The Y data, U data, and V data output from the quadruple-
[0152]
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
[0153]
As described above, the interpolation unit 314 performs processing corresponding to the thinning
[0154]
As described above, the receiving
[0155]
Next, the
[0156]
Data supplied from the
[0157]
The q-bit
[0158]
FIG. 35 is a block diagram showing a configuration of the q-bit
The deshuffled data supplied from the
[0159]
The q-bit
[0160]
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.
[0161]
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
[0162]
The evaluation value is calculated by Expression (1). The smaller the evaluation value, the higher the correlation between pixels.
[Expression 1]
Qi, jIndicates a non-missing code Q included in the ADRC block to be recovered. Q ’i, jQi, jThe code | cord Q contained in the other ADRC block comprised by the pixel of the block of 64 pixels shown in FIG. 13 and FIG. 14 containing the pixel which comprises the ADRC block in which is contained. For example, Qi, jIs included in the ADRC block of the even segment numbered “0” in FIG.i, jAre included in the ADRC block of the odd-numbered segment with the number “3”. Qi, jIs included in the ADRC block of the even segment of number “4” in FIG.i, jAre included in the ADRC block of the odd-numbered segment with the number “1”. qi, jQi, jQ to cut out. q ’i, jQ ’i, jQ 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.
[0163]
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.
Offset j = (Xj × 24-qj-Yj × 24-q'j) / 128 (2)
[Expression 2]
[Equation 3]
[0164]
The
[0165]
The
[0166]
The
[0167]
The recovery process of the dynamic range DR or the minimum pixel value MIN of the
L = DR / (2Q) * q + MIN (5)
[0168]
As shown in FIG. 36, the relationship between q and the pixel value L is such that the slope is DR / (2Q), And the contact piece is represented by a straight line having the minimum pixel value MIN.
[0169]
From the set of (q, L) in the ADRC block, DR / (2Q) And the minimum value MIN of the pixel value is obtained statistically. It is assumed that the regression line (q, L) shown in FIG. 37 is equal to the straight line of Expression (5).
[0170]
At this time, if b is known, a is calculated by equation (6).
a = (B-nb) / A (6)
[0171]
If a is known, b is calculated by equation (7).
b = (B-Aa) / n (7)
[0172]
Here, n is the number of points (q, L), A is Σx, and B is Σy.
[0173]
The dynamic range DR is calculated by Expression (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)
As shown in FIG. 38 (A), N is Σni, where ni is the number of non-missing blocks adjacent to the block to be recovered from the dynamic range DR or the minimum pixel value MIN. In FIG. 38, the hatched squares indicate blocks that attempt to recover the dynamic range DR or the minimum pixel value MIN. In FIG. 38, 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.
[0174]
DR 'indicates the 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 the code Q of a block without a block adjacent to the block to be recovered.
[0175]
X is represented by Formula (9).
[Expression 4]
[0176]
Y is shown by Formula (10).
[Equation 5]
[0177]
The minimum value MIN of the pixel value is calculated by Expression (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)
[0178]
The
[0179]
The
[0180]
When the q or
[0181]
The
[0182]
The
[0183]
The recovery
[0184]
When the Y data, U data, and V data are supplied from the
[0185]
The
[0186]
As described above, the
[0187]
When there is an error in recovery, the pixel value stored in the
[0188]
Next, the processing timing of the
[0189]
FIG. 40 shows an example of processing timing of the
[0190]
The
[0191]
Therefore, even if the
[0192]
As described above, since the
[0193]
The data output timing of the
[0194]
Conventionally, when two memories for storing images of two frames are provided and data is written in one memory as shown in FIG. 41A, the data is read out from the other memory and output. When the processing for the frame image is completed, as shown in FIG. 41B, data is written to the other memory, data is read from one memory, and output.
[0195]
In contrast, the
[0196]
In this way, the image data can be block deshuffled and output to the
[0197]
FIG. 43 is a block diagram showing a configuration of the recovery
[0198]
The
[0199]
The
[0200]
The
[0201]
The
[0202]
The
[0203]
The AND
[0204]
The
[0205]
In this way, the recovery
[0206]
Next, a process in which data decoded by the
[0207]
When the corresponding error flag is “0”, the
[0208]
The
[0209]
FIG. 44 is a diagram illustrating the processing of the
[0210]
When the recovery
[0211]
FIG. 45 is a diagram for explaining the processing of the
[0212]
FIG. 46 is a diagram for explaining the processing of the
[0213]
47 and 48 are diagrams for explaining processing corresponding to a user-selectable recovery-off input (signal input when the user operates a predetermined switch (not shown)) of the
[0214]
FIG. 49 is a diagram for explaining processing corresponding to an escape signal (a signal input when a user operates a predetermined switch (not shown)) of the
[0215]
50 and 51 are flowcharts for explaining the process of outputting the decoded data by the
[0216]
In step S32, the
[0217]
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
[0218]
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
[0219]
In step S36, the
[0220]
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
[0221]
In step S38, the
[0222]
In step S39, the
[0223]
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.
[0224]
In step S42, the
[0225]
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
[0226]
In step S43, the
[0227]
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
[0228]
In step S46, the
[0229]
If it is determined in step S46 that all the data stored in the
[0230]
Thus, the
[0231]
Next, a process of outputting data of the
[0232]
In step S72, the
[0233]
If it is determined in step S72 that q and the motion flag have been recovered, the process proceeds to step S78, and the
[0234]
In step S74, the
[0235]
In step S75, the
[0236]
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.
[0237]
In step S77, the
[0238]
Thus, when the recovery off input is “1”, the
[0239]
As described above, since the
[0240]
Next, the missing
[0241]
FIG. 54 is a block diagram showing the configuration of the missing
[0242]
Based on the input pixel value and the error flag indicating the missing pixel, the
[0243]
The processing of the
[0244]
If it is determined in step S131 that the target pixel is missing, the process proceeds to step S133, and the
[0245]
When 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
[0246]
If it is determined in step S135 that any of the horizontally adjacent pixels of the target pixel is missing, the process proceeds to step S137, and the
[0247]
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
[0248]
If it is determined in step S139 that all the pixels adjacent to the target pixel are missing, the process proceeds to step S141, and the
[0249]
As described above, the
[0250]
The tap construction circuits 502-1 to 502-5 supply tap data and the like to the motion
[0251]
The motion
[0252]
FIG. 56A 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
[0253]
In the case shown in FIGS. 56 (A) and 56 (B), the time activity is calculated by Expression (12).
In Expression (12), () represents a pixel value of a pixel, and || represents a function for obtaining an absolute value.
[0254]
The motion
[0255]
FIG. 57 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 a spatial activity by the motion
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.
[0256]
The motion
[0257]
FIG. 58 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.
[0258]
In processing for standard density data, a motion class code is set using a fixed threshold value regardless of the spatial activity.
[0259]
Next, the process of setting the motion class code of the motion
[0260]
If it is determined in step S151 that the time activity exceeds the
[0261]
If it is determined in step S153 that the time activity exceeds the
[0262]
If it is determined in step S155 that the time activity exceeds the
[0263]
As described above, the motion
[0264]
The motion
[0265]
The process of setting the motion class code of the motion
[0266]
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
[0267]
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
[0268]
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
[0269]
As described above, the motion
[0270]
As described above, the motion
[0271]
The tap construction circuit 502-2 selects a prediction tap that covers all class structures based on the motion class code and static flag supplied from the motion
[0272]
The tap construction circuit 502-3 selects a tap and a class tap based on the motion class code and the static flag supplied from the motion
[0273]
The tap construction circuit 502-4 selects a tap and a class tap based on the motion class code and the static flag supplied from the motion
[0274]
The tap construction circuit 502-5 selects a tap based on the motion class code and the static motion flag supplied from the motion
[0275]
The
[0276]
The coefficient holding class
[0277]
A prediction tap data string selected by the variable
[0278]
FIG. 62 shows an example of the prediction tap variable selection range output by the tap construction circuit 502-2 to the variable
[0279]
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
[0280]
FIG. 63 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
[0281]
For example, when the motion class code is 1, the tap construction circuit 502-2 selects an adjacent tap and a tap that is not adjacent to the adjacent tap. For example, when the motion class code is 0, the variable
[0282]
FIG. 64 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
[0283]
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
[0284]
FIG. 65 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
[0285]
For example, when there is a missing tap and the motion class code is 1, the tap construction circuit 502-2 selects an adjacent tap and a tap that is not adjacent to the adjacent tap. For example, when there is a missing tap and the motion class code is 0, the variable
[0286]
Based on the output mode set from the
[0287]
As described above, the missing
[0288]
Further, the estimated
[0289]
Next, the quadruple
[0290]
When outputting the progressive image, the quadruple-
[0291]
FIG. 67 is a block diagram showing a configuration of the quadruple-density
[0292]
The
[0293]
The
[0294]
The
[0295]
This class code is supplied as an address to the
[0296]
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
[0297]
The line
[0298]
The
[0299]
FIG. 68 shows pixels input to the quadruple-
[0300]
FIG. 69 shows pixels input to the quadruple-
[0301]
As described above, the quadruple-
[0302]
Next, the UV
[0303]
The multiplier circuit 702-1 multiplies the input data by a coefficient and outputs the result to the
[0304]
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.
[0305]
The
[0306]
The operation of the UV
[0307]
Next, reception processing of the
[0308]
In step S203, the
[0309]
In step S205, the
[0310]
In step S207, the
[0311]
As described above, the receiving
[0312]
Note that the image transmission system has been described as transmitting and receiving images, but not limited to images, data such as audio may be transmitted.
[0313]
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.
[0314]
FIG. 73 is a diagram illustrating an example of a recording medium and a computer. A CPU (Central Processing Unit) 811 actually executes various application programs and an OS (Operating System). A ROM (Read-only Memory) 812 generally stores basically fixed data out of programs used by the
[0315]
The
[0316]
The keyboard 818 is operated by the user when inputting various commands to the
[0317]
The
[0318]
These keyboard 818 to drive 822 are connected to an
[0319]
As shown in FIG. 73, the recording medium is distributed to provide a program to the user separately from the computer, and a magnetic disk 841 (including a floppy disk) on which the program is recorded, an optical disk 842 (CD-ROM). (Including Compact Disc-Read Only Memory), DVD (Digital Versatile Disc)), magneto-optical disk 843 (including MD (Mini-Disc)), or a package medium composed of semiconductor memory 844, etc. The program is provided with a
[0320]
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.
[0321]
Further, in this specification, the system represents the entire apparatus constituted by a plurality of apparatuses.
[0322]
【The invention's effect】
As aboveAccording to the present invention,The scale of hardware for multiplication can be reduced, and the amount of memory for storing the coefficient table can be reduced.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating the structure of a conventional packet.
FIG. 2 is a diagram illustrating an image transmission system that transmits an image.
FIG. 3 is a block diagram showing a configuration of an embodiment of a
FIG. 4 is a diagram illustrating a process in which an image signal input to the
5 is a block diagram showing a configuration of a thinning
6 is a diagram for explaining an output of a latch circuit 81; FIG.
7 is a diagram for explaining an output of a
FIG. 8 is a block diagram showing a configuration of a UV vertical 1/2
9 is a diagram for explaining an output of a
10 is a block diagram showing a configuration of an
FIG. 11 is a diagram illustrating a unit of processing.
FIG. 12 is a diagram illustrating 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 illustrating a relationship between pixels in a frame and an ADRC block.
FIG. 16 is a diagram illustrating an ADRC block and a segment of Y data.
FIG. 17 is a diagram for explaining ADRC blocks and segments of U data or V data;
FIG. 18 is a diagram illustrating shuffle performed in units of ADRC blocks.
FIG. 19 is a diagram illustrating segments.
20 is a diagram illustrating the configuration of an
21 is a diagram illustrating a configuration of an information
22 is a diagram illustrating a configuration of an information
23 is a diagram for explaining how to shuffle the
24 is a diagram for explaining how to shuffle the
25 is a diagram for explaining how to shuffle the
FIG. 26 is a diagram for explaining how to shuffle the
FIG. 27 is a diagram illustrating a configuration of a packet.
28 is a block diagram showing a configuration of an
29 is a diagram illustrating a counter group of the input data counter
30 is a diagram illustrating a counter group of the output data counter
FIG. 31 is a diagram illustrating image transmission processing of the
32 is a block diagram illustrating a configuration of the
FIG. 33 is a diagram illustrating a process in which an image is expanded.
34 is a block diagram of the
35 is a block diagram showing a configuration of a q-bit
FIG. 36 is a diagram illustrating a recovery process of a dynamic range DR or a minimum pixel value MIN.
FIG. 37 is a diagram for describing recovery processing of a dynamic range DR or a minimum pixel value MIN.
FIG. 38 is a diagram illustrating a recovery process of a dynamic range DR or a minimum pixel value MIN.
FIG. 39 is a diagram illustrating an example of processing timing of the
FIG. 40 is a diagram illustrating an example of processing timing of the
FIG. 41 is a diagram illustrating a conventional data storage method.
42 is a diagram illustrating data output timing of the
43 is a block diagram showing a configuration of a recovery
FIG. 44 is a diagram illustrating processing of the
FIG. 45 is a diagram illustrating processing of the
FIG. 46 is a diagram illustrating processing of the
47 is a diagram for describing processing corresponding to a recovery-off input of the
FIG. 48 is a diagram for explaining processing corresponding to a recovery-off input of the
49 is a diagram illustrating processing corresponding to an escape signal of the
FIG. 50 is a flowchart for describing processing of outputting decoded data by the
FIG. 51 is a flowchart for describing processing of outputting decoded data by the
FIG. 52 is a flowchart for describing processing for outputting data of the
FIG. 53 is a diagram for explaining pixels used for processing by the missing
54 is a block diagram showing a configuration of a missing
FIG. 55 is a flowchart for explaining processing of the
FIG. 56 is a diagram illustrating an example of pixels used for calculation of temporal activity.
FIG. 57 is a diagram illustrating an example of pixels used for calculation of spatial activity.
FIG. 58 is a diagram for explaining a threshold value for motion determination.
FIG. 59 is a flowchart for describing processing for setting a motion class code in a static motion determination circuit 521;
FIG. 60 is a diagram illustrating an example of pixels used for majority decision of a motion class code.
FIG. 61 is a flowchart for describing processing for setting a motion class code in the motion
FIG. 62 is a diagram for explaining a predicted tap data string selected by the variable
FIG. 63 is a diagram for explaining a prediction tap data string selected by the variable
FIG. 64 is a diagram for explaining a prediction tap data string selected by the variable
FIG. 65 is a diagram for explaining a prediction tap data string selected by the variable
FIG. 66 is a diagram for explaining the positions of pixels used in the processing of the quadruple-
67 is a block diagram showing a configuration of a quadruple-
68 is a diagram showing the positions of pixels input to the quadruple density
FIG. 69 is a diagram showing the positions of pixels input to the quadruple
70 is a block diagram showing a configuration of a UV
71 is a diagram illustrating an output of a
72 is a flowchart for describing reception processing of the
Fig. 73 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, 104 inter-segment shuffle circuit, 111 data selection unit, 212 input data counter unit, 213 input / output controller, 214 address generation unit, 215 storage unit, 216 Output data counter section, 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 /
Claims (6)
前記ブロックシャフル手段から供給される前記Yデータ、前記Uデータ、および前記Vデータを、ADRC(Adaptive Dynamic Range Coding)方式に基づき符号化する符号化手段と、 Encoding means for encoding the Y data, the U data, and the V data supplied from the block shuffle means based on an ADRC (Adaptive Dynamic Range Coding) method;
前記符号化手段から供給されるデータを、第2のメモリに記憶させ、その記憶と読み出しのアドレスを変えることで、シャフルするセグメント間シャフル手段と、 The data supplied from the encoding means is stored in a second memory, and the inter-segment shuffling means for shuffling by changing the storage and reading addresses;
前記セグメント間シャフル手段から供給されるデータを、1パケットに、ダイナミックレンジ、モーションフラグ、画素値の最小値、量子化テーブルのインデックス、およびコードQが含まれるパケットにパケット化するパケット化手段と Packetizing means for packetizing data supplied from the inter-segment shuffling means into a packet including a dynamic range, a motion flag, a minimum pixel value, an index of a quantization table, and a code Q in one packet;
を備え、 With
前記セグメント間シャフル手段は、データ選択手段、入力データカウンタ手段、入出力コントローラ手段、アドレス発生手段、および出力データカウンタ手段を備え、 The inter-segment shuffle means includes data selection means, input data counter means, input / output controller means, address generation means, and output data counter means,
前記データ選択手段は、ダイナミックレンジ、モーションフラグ、画素値の最小値、量子化テーブルのインデックスで構成される第1のデータの要素毎に、3個ずつパラレルに入力され、その第1のデータと交互するタイミングでコードQを含む第2のデータが入力され、それらの入力されたデータをシリアルデータに変換し、前記入出力コントローラ手段に出力し、 The data selection means is inputted in parallel for each element of the first data composed of the dynamic range, the motion flag, the minimum value of the pixel value, and the index of the quantization table, and the first data and Second data including the code Q is input at alternate timings, the input data is converted into serial data, and output to the input / output controller means,
前記入出力コントローラ手段は、前記アドレス発生手段が発生したアドレスに基づいて、入力されたデータを前記第2のメモリに記憶させ、 The input / output controller means stores the input data in the second memory based on the address generated by the address generating means,
前記入出力コントローラ手段は、前記第2のメモリに記憶されたデータを、前記アドレス発生手段が、前記出力データカウンタ手段から供給されるデータに従って発生したアドレスに基づいて、読み出し、前記パケット化手段に出力する The input / output controller means reads the data stored in the second memory based on the address generated by the address generating means according to the data supplied from the output data counter means, and sends it to the packetizing means. Output
情報処理装置。 Information processing device.
請求項1に記載の情報処理装置。 The information processing apparatus according to claim 1.
前記アドレシング用の前記第1のデータ用のカウンタは、1バッファ内における前記第1のデータのブロック数をカウントするカウンタ、1セグメント内における前記第1のデータのパケットの数をカウントするカウンタ、および1バンク内における前記第1のデータのトータルのパケット数をカウントするカウンタから構成され、 The counter for the first data for addressing is a counter that counts the number of blocks of the first data in one buffer, a counter that counts the number of packets of the first data in one segment, and A counter that counts the total number of packets of the first data in one bank;
前記アドレシング用の前記第2のデータ用のカウンタ群は、1バッファ内における前記第2のデータのパケット数をカウントするカウンタ、1バンク内の前記第2のデータのトータルのパケット数をカウントするカウンタ、1セグメント内の前記第2のデータのバッファ数をカウントするカウンタ、および任意の順番の前記第2のデータをパケット当たりの前記第2のデータのバイト数Nで除算したときの余りをカウントするカウンタから構成され、 The counter group for the second data for addressing is a counter for counting the number of packets of the second data in one buffer, and a counter for counting the total number of packets of the second data in one bank A counter that counts the number of buffers of the second data in one segment, and a remainder when the second data in any order is divided by the number of bytes N of the second data per packet Consists of counters
前記シャフリング用の前記第1のデータ用のカウンタは、1バンク内における前記第1のデータのセグメント数をカウントするカウンタ、1セグメント内における前記第1のデータのシャフリング方向を決定するカウンタから構成され、 The first data counter for shuffling is a counter that counts the number of segments of the first data in one bank, and a counter that determines the shuffling direction of the first data in one segment. Configured,
前記シャフリング用の前記第2のデータ用のカウンタは、1バンク内における前記第2のデータのセグメント数をカウントするカウンタ、1セグメント内における前記第2のデータのシャフリング方向を決定するカウンタとから構成されている The second data counter for shuffling is a counter that counts the number of segments of the second data in one bank, and a counter that determines the shuffling direction of the second data in one segment; Consists of
請求項2に記載の情報処理装置。 The information processing apparatus according to claim 2.
前記第1のデータのアドレシング用のカウンタは、1パケットサイズのデータセルにおける前記量子化テーブルのインデックスをカウントするカウンタ、1パケットサイズのデータセルにおける前記モーションフラグ数をカウントするカウンタ、1パケットサイズのデータセルにおける前記ダイナミックレンジと前記画素値の最小値の数をカウントするカウンタ、ビットサイズの前記量子化テーブルのインデックスと前記モーションフラグをバイトサイズのデータとして扱うために挿入されるブランクの数をカウントするカウンタ、1パケット内におけるパケット内の前記第2のデータの番号を決定するカウンタ、および1バッファ内におけるパケット数をカウントするカウンタから構成されている The counter for addressing the first data is a counter that counts an index of the quantization table in a data cell of 1 packet size, a counter that counts the number of motion flags in a data cell of 1 packet size, and a counter of 1 packet size A counter that counts the number of the minimum values of the dynamic range and the pixel value in the data cell, and counts the number of blanks that are inserted to handle the index of the quantization table of bit size and the motion flag as byte size data Counter that determines the number of the second data in the packet in one packet, and a counter that counts the number of packets in one buffer.
請求項1に記載の情報処理装置。 The information processing apparatus according to claim 1.
その読み出しは、読み出しのためのパルスが所定のタイミングで前記セグメント間シャフル手段に入力されると、前記量子化テーブルのインデックスと前記モーションフラグが、バイト単位に集結する処理が行われ、 In the reading, when a pulse for reading is input to the inter-segment shuffling means at a predetermined timing, an index of the quantization table and the motion flag are collected in units of bytes,
その集結処理が終了されると、パケット内のデータの配列に従って、前記第2のメモリから読み出され、パケット化手段に出力される When the gathering process is completed, the data is read from the second memory according to the arrangement of data in the packet and output to the packetizing means.
請求項1に記載の情報処理装置。 The information processing apparatus according to claim 1.
前記ブロックシャフルされた前記Yデータ、前記Uデータ、および前記Vデータを、ADRC(Adaptive Dynamic Range Coding)方式に基づき符号化し、 The block shuffled Y data, U data, and V data are encoded based on an ADRC (Adaptive Dynamic Range Coding) method,
前記符号化されたデータを、第2のメモリに記憶させ、その記憶と読み出しのアドレスを変えることで、セグメント間シャフルし、 The encoded data is stored in a second memory, and the address of the storage and reading is changed to shuffle between segments.
前記セグメント間シャフルされたデータを、1パケットに、ダイナミックレンジ、モーションフラグ、画素値の最小値、量子化テーブルのインデックス、およびコードQが含まれるパケットにパケット化する The inter-segment shuffled data is packetized into one packet into a packet including a dynamic range, motion flag, minimum pixel value, quantization table index, and code Q.
ステップを含み、 Including steps,
前記セグメント間シャフルは、 The inter-segment shuffle is
ダイナミックレンジ、モーションフラグ、画素値の最小値、量子化テーブルのインデックスで構成される第1のデータの要素毎に、3個ずつパラレルに入力され、その第1のデータと交互するタイミングでコードQを含む第2のデータが入力され、それらの入力されたデータがシリアルデータに変換され、アドレス発生手段が発生したアドレスに基づいて、入力されたデータが前記第2のメモリに記憶され、前記第2のメモリに記憶されたデータが、前記アドレス発生手段が発生したアドレスに基づいて、読み出されることで行われる For each element of the first data composed of the dynamic range, the motion flag, the minimum value of the pixel value, and the index of the quantization table, three pieces of data are input in parallel, and the code Q is switched at the timing alternating with the first data. The input data is converted into serial data, and the input data is stored in the second memory based on the address generated by the address generation means, and the second data is stored in the second memory. The data stored in the second memory is read out based on the address generated by the address generating means.
情報処理方法。 Information processing method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000035380A JP4517435B2 (en) | 2000-02-14 | 2000-02-14 | Information processing apparatus and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000035380A JP4517435B2 (en) | 2000-02-14 | 2000-02-14 | Information processing apparatus and method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001224025A JP2001224025A (en) | 2001-08-17 |
JP4517435B2 true JP4517435B2 (en) | 2010-08-04 |
Family
ID=18559588
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000035380A Expired - Fee Related JP4517435B2 (en) | 2000-02-14 | 2000-02-14 | Information processing apparatus and method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4517435B2 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01114277A (en) * | 1987-10-28 | 1989-05-02 | Sony Corp | Blocking circuit |
JPH0695960A (en) * | 1992-09-16 | 1994-04-08 | Sony Corp | Interleaving circuit and deinterelaving circuit |
JPH06189283A (en) * | 1992-12-17 | 1994-07-08 | Sony Corp | Transmitting device for digital picture signal |
JPH0898137A (en) * | 1994-09-22 | 1996-04-12 | Hitachi Ltd | Animation picture data processor |
WO1999021285A1 (en) * | 1997-10-23 | 1999-04-29 | Sony Electronics, Inc. | Apparatus and method for recovery of lost/damaged data in a bitstream of data based on compatibility |
-
2000
- 2000-02-14 JP JP2000035380A patent/JP4517435B2/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01114277A (en) * | 1987-10-28 | 1989-05-02 | Sony Corp | Blocking circuit |
JPH0695960A (en) * | 1992-09-16 | 1994-04-08 | Sony Corp | Interleaving circuit and deinterelaving circuit |
JPH06189283A (en) * | 1992-12-17 | 1994-07-08 | Sony Corp | Transmitting device for digital picture signal |
JPH0898137A (en) * | 1994-09-22 | 1996-04-12 | Hitachi Ltd | Animation picture data processor |
WO1999021285A1 (en) * | 1997-10-23 | 1999-04-29 | Sony Electronics, Inc. | Apparatus and method for recovery of lost/damaged data in a bitstream of data based on compatibility |
Also Published As
Publication number | Publication date |
---|---|
JP2001224025A (en) | 2001-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI624804B (en) | A method and system for providing high resolution image through super-resolution reconstrucion | |
JP5285682B2 (en) | Image coding apparatus and image coding method | |
JP4208098B2 (en) | Progressive image signal transmitting device and progressive image signal receiving device | |
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 | |
JPH05207460A (en) | Multiplex transmitter and its system for picture signal | |
WO1998058497A1 (en) | Image processing device and method, and transmission medium, transmission method and image format | |
JP4265068B2 (en) | Information processing apparatus and method | |
JPS61144989A (en) | High efficient coding device of television signal | |
JP4655171B2 (en) | Information processing apparatus and method | |
JP4392569B2 (en) | Information processing apparatus and method, and recording medium | |
JP4656356B2 (en) | Information processing apparatus and method, learning apparatus and method, and recording medium | |
JP4517435B2 (en) | Information processing apparatus and method | |
JP4438159B2 (en) | Information processing apparatus and information processing method | |
JP4568939B2 (en) | Information processing apparatus and method | |
JP3351855B2 (en) | Coded transmission device | |
JP4819271B2 (en) | Method and apparatus for explicitly transmitting control information | |
JP2001224020A (en) | Information processor and information processing method | |
JP2001224022A (en) | Information processing unit and method | |
JP2536729B2 (en) | Multi-screen display system | |
JP2595625B2 (en) | Digital video signal receiving device | |
JPH0258988A (en) | Picture signal movement detecting device | |
JPH0799647A (en) | Image signal reproducing device | |
JP2010087754A (en) | Image quality evaluation device | |
JPH08149465A (en) | Band-compressed signal restoring device | |
JP2000004436A (en) | Picture processing unit, picture processing method, transmission medium and transmission method |
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: 20090714 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090811 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090930 |
|
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: 20100427 |
|
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: 20100510 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130528 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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |