(57)【要約】【課題】画像の画質劣化を抑制する低遅延データ伝送を、より容易に実現することができるようにする。【解決手段】送受信システム１００の送信装置１０１は、画像データを、即時的かつ低遅延に、符号化し、伝送路１０２を介して受信装置１０３に伝送する。受信装置１０３は、受信したデータを復号し、復号画像データを出力する。また、送信装置１０１若しくは受信装置１０３は、符号化コードストリームを、所定のデータ長毎にアライメントする。さらに、送信装置１０１若しくは受信装置１０３は、符号化コードストリームを、アライン・ユニット毎に、低域成分から高域成分に向かう順に伝送する。本発明は、例えば、画像処理装置に適用することができる。【選択図】図１
2011147050.tif 000002
【特許請求の範囲】
【請求項１】
階層的に分析フィルタ処理を行い、少なくとも最低域成分のサブバンドの１ライン分の係数データを生成するのに必要なライン数分の画像データを含むラインブロックを、周波数帯域毎に分解された係数データに変換する分析フィルタ手段と、
前記分析フィルタ手段により生成された前記係数データを符号化する符号化手段と、
前記符号化手段により前記係数データが符号化されて得られる符号化データを、所定のデータ長を単位としてアライメントするアライメント手段と
を備える画像処理装置。
【請求項２】
前記符号化データの並びを、前記分析フィルタ手段による前記分析フィルタ処理の出力順から、低域成分から高域成分に向かう順に並び替える符号化データ並び替え手段をさらに備える
請求項１に記載の画像処理装置。
【請求項３】
画像処理装置の画像処理方法であって、
前記画像処理装置の分析フィルタ手段が、階層的に分析フィルタ処理を行い、少なくとも最低域成分のサブバンドの１ライン分の係数データを生成するのに必要なライン数分の画像データを含むラインブロックを、周波数帯域毎に分解された係数データに変換し、
前記画像処理装置の符号化手段が、生成された前記係数データを符号化し、
前記画像処理装置のアライメント手段が、前記係数データが符号化されて得られる符号化データを、所定のデータ長を単位としてアライメントする
画像処理方法。
【請求項４】
階層的な分析フィルタ処理により所定ライン数の画像データが周波数帯域毎に分解された、少なくとも最低域成分のサブバンドの係数データを１ライン以上含む、各サブバンドの係数データ群からなるラインブロックが符号化されて生成された符号化データをアライメントする単位データ長であるデータアライメント長を決定する決定手段と、
前記決定手段により決定された前記データアライメント長を単位として、前記符号化データをアライメントするアライメント手段と、
前記アライメント手段によりアライメントされた前記符号化データを記憶する記憶手段と、
前記記憶手段により記憶されている前記符号化データの、前記分析フィルタ処理の分割レベル毎に区分するデータ単位であるアライン・ユニットの切れ目を検出し、必要なアライン・ユニットの符号化データのみ、前記記憶手段から前記データアライメント長毎に読み出す読み出し手段と、
前記読み出し手段により前記記憶手段から読みだされた前記符号化データを復号する復号手段と
を備える画像処理装置。
【請求項５】
階層的に合成フィルタ処理を行い、前記復号手段により復号されて得られた各サブバンドの前記係数データを前記画像データに変換する合成フィルタ手段をさらに備える
請求項４に記載の画像処理装置。
【請求項６】
前記復号手段により復号されて得られた各サブバンドの前記係数データのピクセル数をカウントするカウント手段をさらに備え、
前記復号手段は、前記カウント手段によりカウントされた前記ピクセル数に従って検出された前記アライン・ユニットの切れ目に基づいて、各サブバンドの前記係数データを前記画像データに変換する
請求項５に記載の画像処理装置。
【請求項７】
前記決定手段は、前記データアライメント長を、前記符号化データに前記アライン・ユニットが存在するか否か、既に前記符号化データにアライメントが行われているか否か、および、前記符号化データが伝送される伝送路のビット幅に基づいて決定する
請求項４に記載の画像処理装置。
【請求項８】
前記決定手段は、前記符号化データに前記アライン・ユニットが存在し、かつ、既に前記符号化データにアライメントが行われている場合、前記アライメントにおけるデータアライメント長を、前記データアライメント長とする
請求項７に記載の画像処理装置。
【請求項９】
前記決定手段は、前記符号化データに前記アライン・ユニットが存在し、かつ、前記符号化データにアライメントが行われていない場合、前記伝送路のビット幅を前記データアライメント長とする
請求項７に記載の画像処理装置。
【請求項１０】
前記決定手段は、前記符号化データに前記アライン・ユニットが存在ない場合、前記データアライメント長を０ビットとする
請求項７に記載の画像処理装置。
【請求項１１】
画像処理装置の画像処理方法であって、
前記画像処理装置の決定手段が、階層的な分析フィルタ処理により所定ライン数の画像データが周波数帯域毎に分解された、少なくとも最低域成分のサブバンドの係数データを１ライン以上含む、各サブバンドの係数データ群からなるラインブロックが符号化されて生成された符号化データをアライメントする単位データ長であるデータアライメント長を決定し、
前記画像処理装置のアライメント手段が、決定された前記データアライメント長を単位として、前記符号化データをアライメントし、
前記画像処理装置の記憶手段が、アライメントされた前記符号化データを記憶し、
前記画像処理装置の読み出し手段が、記憶されている前記符号化データの、前記分析フィルタ処理の分割レベル毎に区分するデータ単位であるアライン・ユニットの切れ目を検出し、必要なアライン・ユニットの符号化データのみ、前記データアライメント長毎に読み出し、
前記画像処理装置の復号手段が、読みだされた前記符号化データを復号する
画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および方法に関し、特に、データ伝送の際のパケットロスに対する耐性を向上させ、画像の画質劣化を抑制する低遅延データ伝送を、より容易に実現することができるようにした画像処理装置および方法に関する。
【背景技術】
【０００２】
従来の代表的な画像圧縮方式として、ISO（International Standards Organization）によって標準化されたJPEG（Joint Photographic Experts Group）やJPEG2000がある。
【０００３】
近年では画像をフィルタバンクと呼ばれるハイパス・フィルタとローパス・フィルタとを組み合わせたフィルタによって複数の帯域に分割し、帯域毎に符号化を行う方式の研究が盛んになっている。その中でも、ウェーブレット変換符号化は、DCT（Discrete Cosine Transform）変換で問題になる高圧縮でのブロック歪みが無いことから、DCTに代わる新たな技術として有力視されている。
【０００４】
２００１年１月に国際標準化が完了したJPEG2000は、このウェーブレット変換に高能率なエントロピ符号化（ビットプレーン単位のビット・モデリングと算術符号化）を組み合わせた方式を採用しており、JPEGに比べて符号化効率の大きな改善を実現している。
【０００５】
このJPEG2000はデジタルシネマ規格（DCI（Digital Cinema Initiative）規格）用の標準コーデックとしても選定されており、映画の様な動画像用の圧縮にも使われ始めている。また各メーカからJPEG2000を監視カメラや放送局用の取材カメラ、セキュリティ・レコーダなどに応用した製品も出始めている。
【０００６】
しかしながら、JPEG2000は基本的にピクチャ単位の符号化・復号を行うため、リアルタイム送受信に使うために低遅延を実現しようとした場合、エンコード（符号化）で最低１ピクチャ分、デコード（復号）でも最低１ピクチャ分の遅延が生じる。
【０００７】
これはJPEG2000のみならず、AVC（Advanced Video Coding）イントラ、JPEG等どのコーデックについても同様である。但し、最近になって、画面を幾つかの矩形スライスまたはタイルに分けて、それらを独立にエンコード・デコードを行うことで遅延時間を短縮する手段が提案されている（例えば、特許文献１参照）。
【０００８】
ところで、JPEG2000は、解像度や画質のスケラビリティを有している。この機能は、JPEG2000において採用されているウェーブレット変換によるものである。例えば解像度スケラビリティに関して説明すると、ウェーブレット変換では、画像を低域方向に繰り返し分解していく過程において複数のサブバンドが生成される。これらのサブバンドを、低域成分のサブバンドから順に合成することで、複数サイズの画像が得られる。
【０００９】
このようなJPEG2000の特徴は、例えばインターネットのような不安定な伝送路を介した通信に利用することができる。上述したような、JPEG2000の解像度スケラビリティに関する特徴から、低域のサブバンドほど、復号画像の画質に与える影響が大きく、重要であると言える。したがって、例えば画質に影響度の大きい低域成分のサブバンドを早い時間に（優先的に）伝送するようにすると、ネットワーク上でロスが発生した際の再送制御に許容される時間を、低域成分ほど長く確保することができる。
【００１０】
つまり、低域成分のサブバンドほど、より確実に伝送することができるようになる。低域成分のサブバンドだけでも画像の全体の特徴は復元可能であるので、仮に高域成分のサブバンドの伝送を失敗しても、従来のコーデックのように全画面が表示できなくなることはない。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００６−３１１３２７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、この場合、受信側においては、合成したり切り捨てたりする等、受信データをサブバンド毎に処理する必要がある。すなわち、受信側において、各サブバンドの境界を検知する必要があるが、従来の方法においては、このサブバンドの境界を検知することは困難であった。
【００１３】
本発明は、このような状況に鑑みて提案されたものであり、データ伝送の際のパケットロスに対する耐性を向上させ、画像の画質劣化を抑制する低遅延データ伝送を、より容易に実現することができるようにすることを目的とする。
【課題を解決するための手段】
【００１４】
本発明の一側面は、階層的に分析フィルタ処理を行い、少なくとも最低域成分のサブバンドの１ライン分の係数データを生成するのに必要なライン数分の画像データを含むラインブロックを、周波数帯域毎に分解された係数データに変換する分析フィルタ手段と、前記分析フィルタ手段により生成された前記係数データを符号化する符号化手段と、前記符号化手段により前記係数データが符号化されて得られる符号化データを、所定のデータ長を単位としてアライメントするアライメント手段とを備える画像処理装置である。
【００１５】
前記符号化データの並びを、前記分析フィルタ手段による前記分析フィルタ処理の出力順から、低域成分から高域成分に向かう順に並び替える符号化データ並び替え手段をさらに備えることができる。
【００１６】
本発明の一側面は、また、画像処理装置の画像処理方法であって、前記画像処理装置の分析フィルタ手段が、階層的に分析フィルタ処理を行い、少なくとも最低域成分のサブバンドの１ライン分の係数データを生成するのに必要なライン数分の画像データを含むラインブロックを、周波数帯域毎に分解された係数データに変換し、前記画像処理装置の符号化手段が、生成された前記係数データを符号化し、前記画像処理装置のアライメント手段が、前記係数データが符号化されて得られる符号化データを、所定のデータ長を単位としてアライメントする画像処理方法である。
【００１７】
本発明の他の側面は、階層的な分析フィルタ処理により所定ライン数の画像データが周波数帯域毎に分解された、少なくとも最低域成分のサブバンドの係数データを１ライン以上含む、各サブバンドの係数データ群からなるラインブロックが符号化されて生成された符号化データをアライメントする単位データ長であるデータアライメント長を決定する決定手段と、前記決定手段により決定された前記データアライメント長を単位として、前記符号化データをアライメントするアライメント手段と、前記アライメント手段によりアライメントされた前記符号化データを記憶する記憶手段と、前記記憶手段により記憶されている前記符号化データの、前記分析フィルタ処理の分割レベル毎に区分するデータ単位であるアライン・ユニットの切れ目を検出し、必要なアライン・ユニットの符号化データのみ、前記記憶手段から前記データアライメント長毎に読み出す読み出し手段と、前記読み出し手段により前記記憶手段から読みだされた前記符号化データを復号する復号手段とを備える画像処理装置である。
【００１８】
階層的に合成フィルタ処理を行い、前記復号手段により復号されて得られた各サブバンドの前記係数データを前記画像データに変換する合成フィルタ手段をさらに備えることができる。
【００１９】
前記復号手段により復号されて得られた各サブバンドの前記係数データのピクセル数をカウントするカウント手段をさらに備え、前記復号手段は、前記カウント手段によりカウントされた前記ピクセル数に従って検出された前記アライン・ユニットの切れ目に基づいて、各サブバンドの前記係数データを前記画像データに変換することができる。
【００２０】
前記決定手段は、前記データアライメント長を、前記符号化データに前記アライン・ユニットが存在するか否か、既に前記符号化データにアライメントが行われているか否か、および、前記符号化データが伝送される伝送路のビット幅に基づいて決定することができる。
【００２１】
前記決定手段は、前記符号化データに前記アライン・ユニットが存在し、かつ、既に前記符号化データにアライメントが行われている場合、前記アライメントにおけるデータアライメント長を、前記データアライメント長とすることができる。
【００２２】
前記決定手段は、前記符号化データに前記アライン・ユニットが存在し、かつ、前記符号化データにアライメントが行われていない場合、前記伝送路のビット幅を前記データアライメント長とすることができる。
【００２３】
前記決定手段は、前記符号化データに前記アライン・ユニットが存在ない場合、前記データアライメント長を０ビットとすることができる。
【００２４】
本発明の他の側面は、また、画像処理装置の画像処理方法であって、前記画像処理装置の決定手段が、階層的な分析フィルタ処理により所定ライン数の画像データが周波数帯域毎に分解された、少なくとも最低域成分のサブバンドの係数データを１ライン以上含む、各サブバンドの係数データ群からなるラインブロックが符号化されて生成された符号化データをアライメントする単位データ長であるデータアライメント長を決定し、前記画像処理装置のアライメント手段が、決定された前記データアライメント長を単位として、前記符号化データをアライメントし、前記画像処理装置の記憶手段が、アライメントされた前記符号化データを記憶し、前記画像処理装置の読み出し手段が、記憶されている前記符号化データの、前記分析フィルタ処理の分割レベル毎に区分するデータ単位であるアライン・ユニットの切れ目を検出し、必要なアライン・ユニットの符号化データのみ、前記データアライメント長毎に読み出し、前記画像処理装置の復号手段が、読みだされた前記符号化データを復号する画像処理方法である。
【００２５】
本発明の一側面においては、階層的に分析フィルタ処理が行われ、少なくとも最低域成分のサブバンドの１ライン分の係数データを生成するのに必要なライン数分の画像データを含むラインブロックが、周波数帯域毎に分解された係数データに変換され、生成された係数データが符号化され、係数データが符号化されて得られる符号化データが、所定のデータ長を単位としてアライメントされる。
【００２６】
本発明の他の側面においては、階層的な分析フィルタ処理により所定ライン数の画像データが周波数帯域毎に分解された、少なくとも最低域成分のサブバンドの係数データを１ライン以上含む、各サブバンドの係数データ群からなるラインブロックが符号化されて生成された符号化データをアライメントする単位データ長であるデータアライメント長が決定され、決定されたデータアライメント長を単位として、符号化データがアライメントされ、アライメントされた符号化データが記憶され、記憶されている符号化データの、分析フィルタ処理の分割レベル毎に区分するデータ単位であるアライン・ユニットの切れ目が検出され、必要なアライン・ユニットの符号化データのみ、データアライメント長毎に読み出され、読みだされた符号化データが復号される。
【発明の効果】
【００２７】
本発明によれば、画像を処理することができる。特に、データ伝送時の不具合の発生による画質劣化を抑制する低遅延データ伝送を、より容易に実現することができる。
【図面の簡単な説明】
【００２８】
【図１】本発明を適用した送受信システムの主な構成例を示すブロック図である。
【図２】図１の送信装置の主な構成例を示すブロック図である。
【図３】サブバンドおよびラインブロックを説明する図である。
【図４】５×３フィルタの例を示す図である。
【図５】リフティング演算例を説明する図である。
【図６】係数データの出力順の例を説明する図である。
【図７】アライン・ユニットの構成例を説明する図である。
【図８】アライメントの様子の例を説明する図である。
【図９】送信処理の流れの例を説明するフローチャートである。
【図１０】図１の受信装置の主な構成例を示すブロック図である。
【図１１】バッファからの読み出しの様子の例を説明する図である。
【図１２】受信処理の流れの例を説明するフローチャートである。
【図１３】受信処理の流れの例を説明する、図１２に続くフローチャートである。
【図１４】データアライメント長決定処理の流れの例を説明するフローチャートである。
【図１５】本発明を適用したパーソナルコンピュータの構成例を示すブロック図である。
【発明を実施するための形態】
【００２９】
以下、発明を実施するための形態（以下実施の形態とする）について説明する。なお、説明は以下の順序で行う。
１．第１の実施の形態（送受信システム）
２．第２の実施の形態（パーソナルコンピュータ）
【００３０】
＜１．第１の実施の形態＞
［送受信システムの構成］
図１は、本発明を適用した送受信システムの一実施の形態の構成を表している。
【００３１】
図１に示されるように、送受信システム１００は、送信装置１０１、伝送路１０２、受信装置１０３を有する。送受信システム１００は、送信装置１０１および受信装置１０３が、画像データを、伝送路１０２を介して送受信するシステムである。送信装置１０１においてキャプチャされたビデオデータは、即時的（リアルタイム）に符号化され、伝送路１０２を介して受信装置１０３に伝送され、即時的（リアルタイム）に復号されて再生される。
【００３２】
より具体的には、送信装置１０１は、入力（生成）される画像データ（矢印１１１）を符号化し、符号化コードストリームをパケット化し、そのパケットを、伝送路１０２を介して受信装置１０３に送信する（矢印１１２）。受信装置１０３は、伝送路１０２を介して供給されるパケットを受信し（矢印１１３）、パケットから符号化コードストリームを抽出し、符号化コードストリームを復号し、復号画像データを出力する（矢印１１４）。
【００３３】
送受信システム１００の送信装置１０１および受信装置１０３は、このようなデータ伝送を、即時的（リアルタイム）に行う。なお、送受信システム１００は、様々な用途のシステムに適用することができるように、送信装置１０１において画像データがキャプチャされてから、受信装置１０３において復号画像データが出力されるまでの時間（遅延時間）ができるだけ短く（低遅延に）なるようにデータ伝送を行う。
【００３４】
伝送路１０２は、例えばインターネットに代表されるネットワークであり、送信装置１０１から受信装置１０３に伝送されるパケットの伝送路となる。この伝送路１０２は、パケットロスが発生する可能性がある不安定な伝送路である。
【００３５】
そこで、後述するように、送信装置１０１は、低域成分のサブバンドの符号化データを時間的に早く（優先的に）送信する。これは、低域成分のサブバンドほど、画質に与える影響が大きく、重要であるからである。つまり送信装置１０１は、低域成分のサブバンドをより早期に（優先的に）送信することにより、パケットロスの発生に対する再送処理に許容される時間をより長く確保することができるようにする。
【００３６】
受信装置１０３は、このように伝送されるパケットを受信し、受信されたパケットから抽出された符号化データを、サブバンド毎に合成したり切り捨てたりして、復号画像を得る。
【００３７】
このとき、受信装置１０３は、送信装置１０１若しくは受信装置１０３自身が符号化コードストリームをアライメントすることにより、より容易に、サブバンドの切れ目を検出し、サブバンド毎の処理を行うことができる。
【００３８】
以下に、各装置や方法等についてより具体的に説明する。
【００３９】
［送信装置の構成］
図２は、図１の送信装置１０１の主な構成例を示すブロック図である。
【００４０】
図２に示されるように、送信装置１０１は、例えば、画像ライン入力部１２１、ラインバッファ１２２、ウェーブレット変換部１２３、係数処理部１２４、レート制御部１２５、エントロピ符号化部１２６、ラインブロックメモリ１２７、データアライメント部１２８、および送信部１２９を有する。
【００４１】
画像ライン入力部１２１は、入力される画像データ（矢印１４１）を、ライン毎にラインバッファ１２２に供給し（矢印１４２）、ラインバッファ１２２に蓄積させる。ラインバッファ１２２は、画像ライン入力部１２１から供給される画像データや、ウェーブレット変換部１２３から供給される係数データを保持し、所定のタイミングにおいてその画像データや係数データをウェーブレット変換部１２３に供給する（矢印１４３）。
【００４２】
ウェーブレット変換部１２３は、ラインバッファ１２２から供給される画像データや係数データに対してウェーブレット変換を行い、次の階層の低域成分と高域成分の係数データを生成する。ウェーブレット変換の詳細については後述する。
【００４３】
ウェーブレット変換部１２３は、生成した係数データの、垂直方向および水平方向に低域な成分をラインバッファ１２２に供給して保持させ（矢印１４４）、その他の成分を係数処理部１２４（係数ライン並び替え部１３１）に供給する（矢印１４５）。なお、ウェーブレット変換部１２３は、生成した係数データが最上位層である場合、垂直方向および水平方向に低域な成分も係数処理部１２４に供給する。
【００４４】
係数処理部１２４は、ウェーブレット変換部１２３から出力される係数データに対する処理を行う。係数処理部１２４は、係数ライン並び替え部１３１および量子化部１３２を有する。
【００４５】
係数ライン並び替え部１３１には、ウェーブレット変換部１２３から係数データ（係数ライン）が供給される（矢印１４５）。係数ライン並び替え部１３１は、その係数データ（係数ライン）を送信順に並び替える。
【００４６】
なお、係数ライン並び替え部１３１は、例えば、係数ラインを保持するバッファとその読み出し部により構成される。つまり、その読み出し部が、バッファに保持された係数ラインを送信順に読み出すことにより、係数データの並び替えを行う。
【００４７】
係数ライン並び替え部１３１は、係数データを量子化部１３２に供給する（矢印１４６）。
【００４８】
量子化部１３２は、係数ライン並び替え部１３１から供給された係数データに対して、量子化を行う。この量子化の方法としてはどのようなものを用いても良く、例えば、一般的な手段、つまり、以下の式（１）に示されるような、係数データＷを量子化ステップサイズＱで除算する手法を用いれば良い。
【００４９】
量子化係数＝Ｗ／Ｑ  ・・・（１）
【００５０】
なお、この量子化ステップサイズＱは、レート制御部１２５により指定される。レート制御部１２５は、例えば、エントロピ符号化部１２６において生成される符号量に基づいて、画像の符号化難易度を推定し、その符号化難易度に応じて量子化部１３２により用いられる量子化ステップサイズＱを指定する（矢印１４７）。つまり、レート制御部１２５は、量子化ステップサイズＱを指定することにより、符号化データのレート制御を行う。
【００５１】
量子化部１３２は、量子化された係数データをエントロピ符号化部１２６に供給する（矢印１４８）。
【００５２】
エントロピ符号化部１２６は、量子化部１３２から供給される係数データを、例えばハフマン符号化や算術符号化といった所定のエントロピ符号化方式で符号化する。エントロピ符号化部１２６は、生成した符号ラインをラインブロックメモリ１２７に供給する（矢印１４９）。
【００５３】
ラインブロックメモリ１２７は、エントロピ符号化部１２６から供給される符号化データを符号ライン毎に保持する。
【００５４】
データアライメント部１２８は、そのラインブロックメモリ１２７に保持されている符号化データを、適宜、所定のデータ長毎にアライメントしながら読み出し（矢印１５０）、送信部１２９に供給する（矢印１５１）。
【００５５】
送信部１２９は、データアライメント部１２８から供給された符号化データをパケット化し、そのパケットを、伝送路１０２を介して受信装置１０３に送信する（矢印１５２）。
【００５６】
［サブバンドの説明］
次に、ウェーブレット変換部１２３が行うウェーブレット変換について説明する。ウェーブレット変換は、画像データを空間周波数の高い成分（高域成分）と低い成分（低域成分）とに分割する分析フィルタリングを、再帰的に繰り返すことにより、画像データを、階層的に構成される周波数成分毎の係数データに変換する処理である。なお、以下において、分割レベルは、高域成分の階層ほど下位とし、低域成分の階層ほど上位とする。
【００５７】
１つの階層（分割レベル）において、分析フィルタリングは、水平方向と垂直方向の両方について行われる。最初に水平方向の分析フィルタリングが行われ、次に垂直方向の分析フィルタリングが行われる。したがって、１つの階層の係数データ（画像データ）は、１階層分の分析フィルタリングにより４つのサブバンド（ＬＬ、ＬＨ、ＨＬ、およびＨＨ）に分割される。そして、次の階層の分析フィルタリングは、生成された４つのサブバンドのうち、水平方向および垂直方向の両方について低域な成分（ＬＬ）に対して行われる。
【００５８】
このように分析フィルタリングを再帰的に繰り返すことにより、空間周波数の低い帯域の係数データをより小さな領域に追い込むことができる。したがって、このようにウェーブレット変換された係数データを符号化するようにすることにより、効率的な符号化が可能となる。
【００５９】
図３は、分析フィルタリングを４回繰り返して生成される係数データの構成について説明する図である。
【００６０】
ベースバンドの画像データに対して分割レベル１の分析フィルタリングが行われると、画像データは、分割レベル１の４つのサブバンド（１ＬＬ、１ＬＨ、１ＨＬ、および１ＨＨ）に変換される。この分割レベル１の、水平方向および垂直方向の両方に対して低域成分のサブバンド１ＬＬに対して、分割レベル２の分析フィルタリングが行われ、分割レベル２の４つのサブバンド（２ＬＬ、２ＬＨ、２ＨＬ、および２ＨＨ）に変換される。この分割レベル２の、水平方向および垂直方向の両方に対して低域成分のサブバンド２ＬＬに対して、分割レベル３の分析フィルタリングが行われ、分割レベル３の４つのサブバンド（３ＬＬ、３ＬＨ、３ＨＬ、および３ＨＨ）に変換される。この分割レベル３の、水平方向および垂直方向の両方に対して低域成分のサブバンド３ＬＬに対して、分割レベル４の分析フィルタリングが行われ、分割レベル４の４つのサブバンド（４ＬＬ、４ＬＨ、４ＨＬ、および４ＨＨ）に変換される。
【００６１】
図３は、このようにして、１３個のサブバンドに分割された係数データの構成を示している。
【００６２】
以上のような分析フィルタリングにより、処理対象となる２ラインの画像データまたは係数データから、１階層上の４つのサブバンドの係数データが１ラインずつ生成される。したがって、図２の斜線部分で示されるように、分割レベル４のサブバンドの係数データが１ラインずつ生成されるのに、サブバンド３ＬＬは２ライン必要であり、サブバンド２ＬＬは４ライン必要であり、サブバンド１ＬＬは８ライン必要である。つまり、１６ラインの画像データが必要になる。
【００６３】
このような最低域成分のサブバンドの１ライン分の係数データを生成するために必要なライン数の画像データをラインブロック（またはプレシンクト）と称する。また、ラインブロックは、その１ラインブロックの画像データをウェーブレット変換して得られる各サブバンドの係数データの集合のことも示す。
【００６４】
例えば、図３の例の場合、図示せぬ１６ラインの画像データが１ラインブロックとなる。また、ラインブロックは、その１６ラインの画像データから生成される、分割レベル１の各サブバンドの８ラインの係数データ、分割レベル２の各サブバンドの４ラインの係数データ、分割レベル３の各サブバンドの２ラインの係数データ、および分割レベル４の各サブバンドの１ラインの係数データのことを示す場合もある。
【００６５】
ウェーブレット変換部１２３は、ウェーブレット変換をこのようなラインブロック毎に行うとも言える。このようにすることにより、ウェーブレット変換部１２３が画像全体をウェーブレット変換する前に、係数処理部１２４等が後段の処理を開始することができる。すなわち、送信装置１０１は、より低遅延に画像データを符号化し、送信することができる。
【００６６】
なお、受信装置１０３は、このウェーブレット変換部１２３によるウェーブレット変換処理に対応する方法でウェーブレット逆変換を行う。つまり、受信装置１０３においても、画像全体がエントロピ復号される前にウェーブレット逆変換を開始することができる。すなわち、受信装置１０３は、より低遅延に符号化データを復号し、復号画像データを出力することができる。
【００６７】
したがって、送受信システム１００は、より低遅延なデータ伝送が可能になる。
【００６８】
なお、上述したラインブロックは、所望の分割レベルのウェーブレット変換を行うのに必要なライン数であるので、ウェーブレット変換（ウェーブレット逆変換）による遅延時間を最小にすることができる。
【００６９】
ここでラインとは、ウェーブレット変換前の画像データに対応するピクチャ若しくはフィールド内、各分割レベル内、または各サブバンド内において形成される１行のことを示す。
【００７０】
この１ライン分の係数データ（画像データ）を係数ラインとも称する。より詳細に区別して説明する必要がある場合、適宜表現を変える。例えば、あるサブバンドのある１ラインを「あるサブバンドの係数ライン」と称し、１つ下位の階層の同じ２係数ラインから生成された、ある階層（分割レベル）の全サブバンド（ＬＨ，ＨＬ、およびＨＨ（最上位層の場合ＬＬも含む））の１ラインを「ある分割レベル（または階層）の係数ライン」と称する。
【００７１】
図３の例の場合、「分割レベル４（最上位層）の係数ライン」は、サブバンド４ＬＬ，４ＬＨ，４ＨＬ、および４ＨＨの、互いに対応する（１つ下位の分割レベルの同じ係数ラインから生成された）ある１ラインを示す。また、「分割レベル３の係数ライン」は、サブバンド３ＬＨ，３ＨＬ、および３ＨＨの、互いに対応するある１ラインを示す。さらに、「サブバンド２ＨＨの係数ライン」は、サブバンド２ＨＨのある１ラインを示す。
【００７２】
なお、１係数ライン（１ライン分の係数データ）が符号化された１ライン分の符号化データを符号ラインとも称する。
【００７３】
図３においては、分割レベル４のウェーブレット変換について説明した。以下においても、基本的に、ウェーブレット変換は分割レベル４まで行われるものとして説明するが、実際には、ウェーブレット変換の階層数（分割レベル）は任意である。
【００７４】
［５×３フィルタ］
次に、分析フィルタリングについて説明する。
【００７５】
ウェーブレット変換処理は、通常、低域フィルタと高域フィルタとから構成されるフィルタバンクを用いて行われる。
【００７６】
このウェーブレット変換の具体的な例として、５×３フィルタを用いる方法について説明する。
【００７７】
５×３フィルタのインパルス応答（Ｚ変換表現）は、次の式（２）および式（３）に示すように、低域フィルタＨ０（ｚ）と、高域フィルタＨ１（ｚ）とから構成される。式（２）および式（３）から、低域フィルタＨ０（ｚ）は、５タップで、高域フィルタＨ１（ｚ）は、３タップであることが分かる。
【００７８】
Ｈ０（ｚ）＝（−１＋２ｚ−１＋６ｚ−２＋２ｚ−３−ｚ−４）/８    ・・・（２）
Ｈ１（ｚ）＝（−１＋２ｚ−１−ｚ−２）/２            ・・・（３）
【００７９】
これら式（２）および式（３）によれば、低域成分および高域成分の係数を、直接的に算出することができる。ここで、リフティング(Lifting)技術を用いることで、フィルタ処理の計算を減らすことができる。
【００８０】
図４は、５×３フィルタをリフティング表現した図である。図中、最上部の一列が入力信号列である。データ処理は画面上から下方向に流れ、以下の式（４）および式（５）により、高域成分の係数（高域係数）と、低域成分の係数（低域係数）とが出力される。
【００８１】
ｄｉ１＝ｄｉ０−１／２（ｓｉ０＋ｓｉ＋１０）  ・・・（４）
ｓｉ１＝ｓｉ０＋１／４（ｄｉ−１１＋ｄｉ１）  ・・・（５）
【００８２】
［リフティング演算］
次に、このリフティング演算について説明する。図５は、５×３分析フィルタを用いて、縦方向のラインに対して行われるフィルタリングをリフティング表現した図である。
【００８３】
横方向は、演算過程とそれによって生成される低域・高域係数を図示したものである。図４の場合と照らし合わせて見れば水平が垂直に変わっただけであり、演算の方法は全く同様であることがわかる。
【００８４】
画像の上端においては、矢印１６１に示されるように、Line-１から最上位ラインが点線の様に対称拡張され、１ラインが補填される。枠１６２で示されるように、これとLine-0、Line-１の合計３ラインを用いてリフティング演算が行われ、Step-1の演算で係数ａが生成される。これは高域係数（Ｈ０）である。
【００８５】
Line-1,Line-2,Line-3が入力されると、この３ラインを用いて次の高域係数ａが算出される。これは高域係数（Ｈ１）である。そして、上記の１番目の高域係数ａ（Ｈ０）と２番目高域係数ａ（Ｈ１）、及びLine-1の係数の合計３つの係数を用いて係数ｂが生成される。これは低域係数（Ｌ１）である。つまり、枠１６３で示されるように、Line-1,Line-2,Line-3の３ラインと、高域係数（Ｈ０）とを用いて、低域係数（Ｌ１）および高域係数（Ｈ１）が生成される。
【００８６】
その後、２ラインが入力される毎に、上記のリフティング演算が後続のラインに対しても同様に繰り返され、低域係数と高域係数とが出力される。そして、枠１６４に示されるように、低域係数（Ｌ（Ｎ−１））および高域係数（Ｈ（Ｎ−１））が生成されると、高域係数（Ｈ（Ｎ−１））が矢印１６５のように対称拡張され、枠１６６のように演算が行われ、低域成分（Ｌ（Ｎ））が生成される。
【００８７】
なお、図５は垂直方向のラインに対してフィルタリングを行った例であるが、水平方向のフィルタリングの場合でも全く同様に考えることができることは自明である。
【００８８】
以上のリフティング演算は、各階層について行われる。ただし、分析フィルタリングは、上述したように、より低域な成分をより優先的に生成するような順序で行われる。図５を参照して説明した順序は、分析フィルタリングされるデータ間の依存関係を示すものであり、実際の処理実行順とは異なる。
【００８９】
［１ラインブロックの処理］
次に、この分析フィルタリングの実行手順について説明する。
【００９０】
処理対象の画像データ（係数データ）は、ピクチャ（サブバンド）の上のラインから順に処理される。分析フィルタリングのリフティング演算は、処理対象の画像データ（係数データ）が２ライン準備される毎に（つまり、実行可能となり次第）実行される。ただし、より低域のサブバンドを優先的に処理対象とする。
【００９１】
以下に説明するように、分析フィルタリングは、ラインブロック毎に同じ手順で繰り返し実行される。そこで、２ライン準備される毎に分析フィルタリングが実行されるラインブロック（定常状態のラインブロック）における分析フィルタリングの手順を以下に説明する。
【００９２】
なお、初期状態となるピクチャやサブバンドの上端を含むラインブロック（初期状態のラインブロック）においては、分析フィルタリングに必要なライン数が他のラインブロック（定常状態のラインブロック）と異なる。しかしながら、この初期状態のラインブロックの場合も、分析フィルタリングの処理手順は、基本的には他のラインブロックと同様のであるので、その説明は省略する。
【００９３】
図６は、定常状態における係数データの出力順を説明する図である。図６においては、ウェーブレット変換された係数データが、図中、上から下に向かう方向に時系列順に並べられている。
【００９４】
定常状態のラインブロックにおいて、まず、ベースバンドの画像データの、そのラインブロック内において上から２ラインが分析フィルタリングされ、分割レベル１のラインＬ（上からＬ番目の係数ライン）が生成される。１ライン分の係数データでは分析フィルタリングできないので、その次のタイミングにおいて、ベースバンドの画像データの次の２ラインが分析フィルタリングされ、分割レベル１のライン（Ｌ＋１）（上から（Ｌ＋１）番目の係数ライン）が生成される。
【００９５】
この時点で分割レベル１の係数データが２ライン分用意されたので、次に、その分割レベル１の係数データの２ラインに対して分割レベル１の分析フィルタリングが行われ、分割レベル２のラインＭ（上からＭ番目の係数ライン）が生成される。しかしながら、１ライン分なので分割レベル２の分析フィルタリングはまだ実行できない。また、このとき、分割レベル１の係数データが用意されていないので、分割レベル１の分析フィルタリングも実行できない。
【００９６】
そこで、ベースバンドの画像データの次の２ラインが分析フィルタリングされ、分割レベル１のライン（Ｌ＋２）（上から（Ｌ＋２）番目の係数ライン）が生成される。１ライン分の係数データでは分析フィルタリングできないので、続いて、ベースバンドの画像データの次の２ラインが分析フィルタリングされ、分割レベル１のライン（Ｌ＋３）（上から（Ｌ＋３）番目の係数ライン）が生成される。
【００９７】
分割レベル１の係数データが２ライン分用意されたので、次に、その分割レベル１の係数データの２ラインに対して分割レベル１の分析フィルタリングが行われ、分割レベル２のライン（Ｍ＋１）（上から（Ｍ＋１）番目の係数ライン）が生成される。
【００９８】
すると、分割レベル２の係数データが２ライン分用意されたので、次に、その分割レベル２の係数データの２ラインに対して分割レベル２の分析フィルタリングが行われ、分割レベル３のラインＮ（上からＮ番目の係数ライン）が生成される。
【００９９】
以下、同様にして、分割レベル１のライン（Ｌ＋４）（上から（Ｌ＋４）番目の係数ライン）およびライン（Ｌ＋５）（上から（Ｌ＋５）番目の係数ライン）、分割レベル２のライン（Ｍ＋２）（上から（Ｍ＋２）番目の係数ライン）、分割レベル１のライン（Ｌ＋６）（上から（Ｌ＋６）番目の係数ライン）およびライン（Ｌ＋７）（上から（Ｌ＋７）番目の係数ライン）、分割レベル２のライン（Ｍ＋３）（上から（Ｍ＋３）番目の係数ライン）、並びに、分割レベル３のライン（Ｎ＋１）（上から（Ｎ＋１）番目の係数ライン）が、順次、生成される。
【０１００】
すると、分割レベル３の係数データが２ライン分用意されたので、次に、その分割レベル３の係数データの２ラインに対して分割レベル３の分析フィルタリングが行われ、分割レベル４のラインＰ（上からＰ番目の係数ライン）が生成される。
【０１０１】
以上のように１ラインブロック分の分析フィルタリングが行われる。つまり、ラインブロック毎に、以上のような手順が繰り返される。このように処理することにより、ウェーブレット変換部１２３は、1ラインブロック分の分析フィルタリングをより低遅延に行うことができる。つまり、ウェーブレット変換部１２３は、ウェーブレット変換処理による遅延時間の増大をより抑制することができる。
【０１０２】
［アライン・ユニット］
以上のように画像データがウェーブレット変換されて生成された係数ラインは、その生成順にウェーブレット変換部１２３から出力されるが、係数ライン並び替え部１３１において、図７に示されるような順に並び替えられる。
【０１０３】
図中上から下に向かう向きに時系列が示されている。つまり、図７に示される各係数ラインは、図中上から順に出力される。つまり、係数ライン並び替え部１３１は、低域成分の係数ラインから出力するような順に並び替える。
【０１０４】
つまり、定常状態の１ラインブロックの各係数ラインは、係数ライン並び替え部１３１から、分割レベル４のラインＰのサブバンド４ＬＬの部分、分割レベル４のラインＰのサブバンド４ＨＨ，４ＨＬ、および４ＬＨの部分、分割レベル３のラインＮ、分割レベル３のライン（Ｎ＋１）、分割レベル２のラインＭ、分割レベル２のライン（Ｍ＋１）、分割レベル２のライン（Ｍ＋２）、分割レベル２のライン（Ｍ＋３）、分割レベル１のラインＬ、分割レベル１のライン（Ｌ＋１）、分割レベル１のライン（Ｌ＋２）、分割レベル１のライン（Ｌ＋３）、分割レベル１のライン（Ｌ＋４）、分割レベル１のライン（Ｌ＋５）、分割レベル１のライン（Ｌ＋６）、分割レベル１のライン（Ｌ＋７）の順に出力される。
【０１０５】
なお、これらの１つまたは複数の係数ラインをアライン・ユニットと定義する。つまり、分割レベル４のラインＰのサブバンド４ＬＬの部分をアライン・ユニット１と定義し、分割レベル４のラインＰのサブバンド４ＨＨ，４ＨＬ、および４ＬＨの部分をアライン・ユニット２と定義する。また、分割レベル３のラインＮおよび分割レベル３のライン（Ｎ＋１）をアライン・ユニット３と定義し、分割レベル２のラインＭ乃至ライン（Ｍ＋３）をアライン・ユニット４と定義する。さらに、分割レベル１のラインＬ乃至ライン（Ｌ＋７）をアライン・ユニット５と定義する。
【０１０６】
つまり、アライン・ユニットは、各分割レベルの係数ラインにより構成される。換言すれば、アライン・ユニットは、係数ラインを、分割レベル毎に区分するデータ単位である。ただし、最低域成分のサブバンド（例えば４ＬＬ）の係数ラインのみで、１つのアライン・ユニットを構成する。
【０１０７】
これらのアライン・ユニットを組み合わせることで、原画像の２のべき乗分の１の解像度の画像を復元することができる。
【０１０８】
例えば、パケット伝送時にパケットロスが発生したり、データ伝送の遅延時間が増大したりする等して、送信前の原画像と同じ解像度の画像の復元がその画像の再生時刻に間に合わなくなってしまった場合、受信装置１０３は、データの準備が間に合わなかった高域成分をアライン・ユニット毎に切り捨てて画像の復元を行う。
【０１０９】
このようにすることにより、その画像の解像度は低下するものの、画像再生速度を維持することができる。動画再生において各ピクチャの再生速度が変化すると、例えばカクカクしたような動きが不自然な映像となり、視覚的に違和感の大きな不具合となる恐れがある。これに対して、各ピクチャの表示時間は短いので、１ピクチャの解像度が低減する程度では、その視覚的な影響は小さい。
【０１１０】
つまり、受信装置１０３は、このような制御を行うことにより、広義においてより高画質に画像を復元することができる。
【０１１１】
以上のように並び替えられた各係数ラインは、量子化部１３２により量子化され、エントロピ符号化部１２６により符号化される。
【０１１２】
このように、係数ラインを、分解レベルの大きいもの（低域）から分解レベルの小さいもの（高域）の順番に並べてから量子化や符号化を行うことにより、送信装置１０１は、伝送路１０２の不安定さ（例えば帯域幅の変動やパケットロスの発生等）に対する耐性を向上させるようにデータ伝送を行うことができる。
【０１１３】
図１の送受信システム１００のように低遅延データ転送を行うシステムの場合、受信装置１０３から出力される復号画像データは、例えばその復号画像をモニタに表示する等、即時的（リアルタイム）に処理される。つまり、データ伝送と復号画像データの処理とが並行して行われる。
【０１１４】
このような低遅延データ伝送システムにおいては、遅延が増大すると、復号画像データに対する処理において不具合が発生する恐れがある。例えば、復号画像をモニタに表示する場合、コマ落ちが発生したり、動きがカクカクする等不自然となったりする恐れがある。したがって、データ伝送に許容される時間が短時間に制限される。
【０１１５】
このような時間的制限がある場合、パケットロスの発生時等におけるパケットの再送処理に許容される時間にも制限が生じる。このような場合、時間的に後に送信されるデータほど、パケットロス発生時に必要な再送処理に許容される時間が短くなる。つまり、このようなデータほど、データ伝送の確実性が低減し、復元が失敗する可能性が増大する。
【０１１６】
換言すれば、時間的に先に送信されるデータほど、パケットロス発生時に必要な再送処理に許容される時間を長く確保することができる。すなわち、このようなデータほど、より確実に伝送することができ、復元が成功する可能性が増大する。
【０１１７】
上述したように、ウェーブレット変換においては、低域成分にエネルギーが集中するため、より低域成分ほど、画質に与える影響が大きい。
【０１１８】
送信装置１０１は、上述したように、各符号ラインを、画質に重要な低域成分（図３の例の場合分割レベル４）から時間的に先に送信し、画質に与える影響度の小さい高域成分ほど時間的に後に送信する。
【０１１９】
このようにすることにより、送信装置１０１は、より重要なデータ（低域成分の符号ライン）を所定時間内に再送することが出来る可能性を高めることができ、復号画像の画質をより向上させることができる。
【０１２０】
また、例えば、伝送路１０２において伝送可能レートが急激に低下し、送信装置１０１における符号化処理のビットレート制御がその変化に追従できなかった場合、送信バッファがオーバフローしてしまう恐れがある。
【０１２１】
しかしながら、上述したように低域成分から時間的に先に（優先的に）送信することにより、送信装置１０１は、このような場合に、高域成分の符号ラインを切り捨てる（送信しないようにする）ことで、バッファオーバフローの発生を抑制することができる。結果として送信装置１０１は、ネットワーク混雑を助長せずに伝送することができる。
【０１２２】
なお、量子化処理と符号化処理を伝送順と同順に行うことにより、つまり、低域成分の係数ラインから時間的に先に処理することにより、送信装置１０１は、上述したような伝送可能レートが急激な変化に対して、単にバッファのデータを破棄するだけでなく、不要な高域成分の係数ラインに対する量子化処理や符号化処理を省略する（例えば係数ライン並び替え部１３１から出力される高域成分の係数ラインを破棄する）こともできる。これにより消費電力の不要な増大を抑制することができる。
【０１２３】
エントロピ符号化部１２６において生成された符号ラインは、ラインブロックメモリ１２７に蓄積される。
【０１２４】
［アライメント］
次にアライメントについて説明する。
【０１２５】
図１１はそのアライメントの様子の例を示したものである。ラインブロックメモリ１２７には、各アライン・ユニットのデータが書きこまれる。低域成分のアライン・ユニットほど時間的に先に書き込まれる。各アライン・ユニットは、その先頭が分かるように（各アライン・ユニットのデータを識別することができるように）、ラインブロックメモリ１２７に格納される。
【０１２６】
データアライメント部１２８は、このように蓄積されている各アライン・ユニットのデータを、Ｎビット毎に読み出す。このＮビットをデータアライメント長と称する。データアライメント部１２８は、読みだしたデータがＮビットに満たない場合、その不足分を追加し、読みだしたデータのデータ長がＮビットになるように調整する。
【０１２７】
例えば、ラインブロックメモリ１２７の記憶領域の横幅が１２８ビット長である場合、データアライメント部１２８は、このデータアライメント長を３２ビットとすることができる。なお、このデータアライメント長Ｎの値は任意である。
【０１２８】
アライメントされたデータ（追加されたデータ）は、不要なダミーデータであり、無駄になる。つまり、データアライメント長Ｎのビット数が大きいと、その分だけ不要なデータ量が増大し、データ転送の負荷が増大する恐れがある。しかしながら、データアライメント長Ｎのビット数が大きいほど、メモリアクセス数を低減させることができ、負荷を低減させることができる。
【０１２９】
したがって、データアライメント長Ｎのビット数は、システムに応じた適切な値に設定するのが望ましく、大きすぎても小さすぎても効率が悪くなり好ましくない。
【０１３０】
なお、このデータアライメント長Ｎのビット数を、伝送路１０２の帯域幅Ｗビットとすることもできる。ここで、帯域幅Ｗビットとは、伝送路１０２が、所定の時間毎に、符号化コードストリームを伝送可能なデータ量を示すものとする。つまり、帯域幅Ｗビットは、符号化コードストリームに関する帯域幅とし、パケットのヘッダ部のデータ量は含まれないものとする。
【０１３１】
このようにすることにより、送信部１２９は、データアライメント部１２８から供給されるデータ長Ｎビットの各符号化データを、所定の単位時間に送信することができる。したがって、送信部１２９は、符号化データを蓄積するバッファのデータ量を低減させることができ、より効率よくデータを送信することができる。
【０１３２】
［処理の流れ］
以上のような送信装置１０１により実行される送信処理の流れの例を図９のフローチャートを参照して説明する。
【０１３３】
送信処理が開始されると、送信装置１０１の画像ライン入力部１２１乃至ウェーブレット変換部１２３は、ステップＳ１０１において、ライン入力しながらウェーブレット変換を行う。
【０１３４】
ステップＳ１０２において、送信装置１０１は、１ラインブロック分のウェーブレット変換処理を行ったか否かを判定し、１ラインブロック分の処理を行っていないと判定された場合、ステップＳ１０１に処理を戻し、それ以降の処理を繰り返す。また、ステップＳ１０２において、１ラインブロック分の処理が行われたと判定された場合、送信装置１０１は、処理をステップＳ１０３に進める。
【０１３５】
ステップＳ１０３において、係数ライン並び替え部１３１は、生成された係数データを、その生成順から、低域成分から高域成分に向かう順に並び替える。
【０１３６】
ステップＳ１０４において、量子化部１３２は、並び替えられた係数データを量子化する。
【０１３７】
ステップＳ１０５において、エントロピ符号化部１２６は、ライン毎にエントロピ符号化を行う。
【０１３８】
ステップＳ１０６において、ラインブロックメモリ１２７は、生成された符号化データを保持し、アライン・ユニット毎に管理する。
【０１３９】
ステップＳ１０７において、データアライメント部１２８は、ラインブロックメモリ１２７に蓄積されている符号化データをデータアライメント長Ｎビット毎に読み出し、アライメントする。送信部１２９は、読みだされた符号化データをパケット化して受信装置１０３に送信する。
【０１４０】
ステップＳ１０８において、レート制御部１２５は、レート制御を行う。
【０１４１】
ステップＳ１０９において、送信装置１０１は、最終ラインブロックまで処理したか否かを判定し、最終ラインブロックまで処理されていないと判定された場合、ステップＳ１０１に処理を戻し、それ以降の処理を繰り返す。ステップＳ１０９において、最終ラインブロックまで処理されたと判定された場合、送信装置１０１は、送信処理を終了する。
【０１４２】
以上のように、送信装置１０１は、符号化データを所定のデータアライメント長Ｎビット毎にアライメントしてから送信することにより、後述するように、受信装置１０３がより容易にアライン・ユニットの切れ目を検出し、アライン・ユニット単位の制御処理を適切に行うことができるようにすることができる。
【０１４３】
なお、送信装置１０１は、アライメントを行わずに符号化データを送信することもできる。その場合、データアライメント部１２８は、データアライメント長Ｎ＝０ビットとして符号化データの読み出しを行う。
【０１４４】
［受信装置の構成］
図１０は、図１の受信装置１０３の主な構成例を示すブロック図である。
【０１４５】
図１０に示されるように、受信装置１０３は、例えば、受信部２００、データアライメント長決定部２０１、書き込み制御部２０２、ラインバッファメモリ２０３、読み出し制御部２０４、符号語解読部２０５、エントロピ復号部２０６、ピクセルカウンタ２０７、アラインユニットバッファ２０８、逆量子化部２０９、ウェーブレット逆変換部２１０、およびバッファ２１１を有する。
【０１４６】
受信部２００は、伝送路１０２を介して送信装置１０１から供給されるパケット（矢印２２０）を受信し、そのパケットから符号化コードストリームを抽出し、それをデータアライメント長決定部２０１に供給する（矢印２２１）。
【０１４７】
データアライメント長決定部２０１は、受信部２００から符号化コードストリームを取得すると、その符号化コードストリームについてデータアライメント長Ｎを決定する。
【０１４８】
なお、データアライメント長決定部２０１は、このデータアライメント長の決定に際して、必要に応じて伝送路１０２の帯域幅Ｗを取得する（矢印２２２）。この帯域幅Ｗの情報は、伝送路１０２を監視する等して伝送路１０２の帯域幅Ｗを把握しているところであれば、どこから取得しても良い。例えば、受信部２００から取得するようにしてもよいし、帯域幅Ｗの情報が格納される図示せぬ記憶部から取得するようにしてもよいし、ユーザ等による指定を受け付けるようにしてもよい。
【０１４９】
データアライメント長決定部２０１は、送信装置１０１において、アライン・ユニットが形成されたか否か、データアライメントが行われたか否か、または、伝送路１０２の帯域幅Ｗ等によってデータアライメント長Ｎの値を決定する。
【０１５０】
例えば、データアライメント長決定部２０１は、送信装置１０１においてアライン・ユニットが形成されなかった場合、データアライメント長Ｎを０ビットとする。例えば、解像度スケーラブルの機能を必要としない場合、アライン・ユニットが不要になる可能性もある。例えば、送信装置１０１や受信装置１０３の能力等による制限によって、解像度をスケーラブルに取り扱うことが好ましくない場合も考えられる。
【０１５１】
このようにアライン・ユニットが存在しない場合、アライン・ユニットの切れ目を検出する必要がないので、データアライメントの必要性もなくなる。したがって、データアライメント長決定部２０１は、不要にデータ量を増大させないように、データアライメント長Ｎを０ビットとする。
【０１５２】
また、データアライメント長決定部２０１は、例えば、アライン・ユニットが存在するが、送信装置１０１においてアライメントが行われていない場合、書き込み制御部２０２にアライメントを行わせるように、データアライメント長Ｎをセットする。このとき、データアライメント長決定部２０１は、受信した各パケットより抽出された符号化コードストリームをより効率よくラインバッファメモリ２０３に格納させることができるように、データアライメント長Ｎを伝送路１０２の帯域幅Ｗビットにセットする。
【０１５３】
なお、帯域幅Ｗビットとは、伝送路１０２が、所定の時間毎に、符号化コードストリームを伝送可能なデータ量を示すものとする。つまり、帯域幅Ｗビットは、符号化コードストリームに関する帯域幅とし、パケットのヘッダ部のデータ量は含まれないものとする。  
【０１５４】
このように、伝送路１０２の帯域幅Ｗをデータアライメント長Ｎとすることにより、単位時間に受信されるパケットから抽出された符号化コードストリームのデータ長がそのままデータアライメント長Ｎビットとなる。したがって、書き込み制御部２０２は、その単位時間を処理単位としてアライメントを行うことができる。
【０１５５】
例えば、アライン・ユニットの最後においては、単位時間に得られる符号化コードストリームのデータ長が、Ｗビットより短くなる場合が考えられる。データアライメント長ＮがＷビットであるので、書き込み制御部２０２は、その単位時間に得られる符号化コードストリームのデータ長がＷビットになるようにアライメントしてやればよい。
【０１５６】
つまり、データアライメント長Ｎを伝送路１０２の帯域幅Ｗとすることにより、書き込み制御部２０２は、より効率よくアライメントを行うことができる。
【０１５７】
なお、データアライメント長Ｎを伝送路１０２の帯域幅Ｗより短くする（Ｎ＜Ｗ）ことも可能であるが、他に不具合が生じない範囲であれば、できる限り長いデータ長でアライメントするようにした方が、バッファへのアクセス回数を低減させることができ、処理の効率を向上させることができる。
【０１５８】
逆に、データアライメント長Ｎを伝送路１０２の帯域幅Ｗより長くすると、アライメントの演算が複雑になるので好ましくない。
【０１５９】
また、データアライメント長決定部２０１は、例えば、アライン・ユニットが存在し、かつ、送信装置１０１においてアライメントが行われた場合、データアライメント長Ｎを、その送信装置１０１におけるデータアライメント長Ｎ’にセットする。
【０１６０】
つまり、送信装置１０１においてアライメントが行われている場合、データアライメント長Ｎをそのときのデータアライメント長Ｎ’に合わせることにより、書き込み制御部２０２は、各アライン・ユニットの符号化コードストリームを、実質的にアライメントせずに、ラインバッファメモリ２０３に書き込むことができる。つまり、書き込み制御部２０２がより効率よく書き込みを行うことができる。
【０１６１】
データアライメント長決定部２０１は、決定したデータアライメント長Ｎを書き込み制御部２０２および読み出し制御部２０４に供給する（矢印２２３および矢印２２４）。また、データアライメント長決定部２０１は、符号化コードストリームを書き込み制御部２０２に供給する（矢印２２５）。
【０１６２】
書き込み制御部２０２は、供給された符号化コードストリームを、必要に応じて、データアライメント長決定部２０１において決定されたデータアライメント長Ｎビットでアライメントしながら、ラインバッファメモリ２０３に書き込む（矢印２２６）。
【０１６３】
図１１は、ラインバッファメモリ２０３に格納されるアライン・ユニットの様子の例を示す図である。
【０１６４】
図１１に示されるように、アライン・ユニット（AU）毎の符号化コードストリームは、先頭から順にラインバッファメモリ２０３に格納される。この符号化コードストリームが、送信装置１０１においてアライメントされている場合、アライン・ユニットの符号化コードストリームのデータ長は、Ｎビットの整数倍となっている。
【０１６５】
例えば、図１１に示されるアライン・ユニット１の符号化コードストリーム（AU-1）、アライン・ユニット２の符号化コードストリーム（AU-2）、アライン・ユニット４の符号化コードストリーム（AU-4）、および、アライン・ユニット５の符号化コードストリーム（AU-5）のデータ長は、Ｎビット（例えば３２ビット）の整数倍である。
【０１６６】
このような符号化コードストリームは、書き込み制御部２０２においてアライメントする必要がない。
【０１６７】
また、送信装置１０１においてアライメントされていない場合、例えば、図１１のアライン・ユニット３の符号化コードストリーム（AU-3）のように、データ長がＮビットの整数倍となっていない場合がある。
【０１６８】
このような場合、書き込み制御部２０２は、符号化コードストリームをＮビットでアライメントしてから、ラインバッファメモリ２０３に格納する。
【０１６９】
つまり、アライン・ユニットが存在する場合、そのアライン・ユニット毎の符号化コードストリームのデータ長は、データアライメント長Ｎビットの整数倍となっている。
【０１７０】
図１０に戻り、読み出し制御部２０４は、データアライメント長決定部２０１により決定されたデータアライメント長Ｎ毎に、符号化コードストリームをラインバッファメモリ２０３から読み出す（矢印２２７）。
【０１７１】
このように読み出し制御部２０４は、データアライメント長Ｎ毎に符号化コードストリームを読み出せばよいので、ラインバッファメモリ２０３へのアクセス回数を低減させ、より効率よく符号化コードストリームを読み出すことができる。また、各アライン・ユニットの切れ目が、この読み出し単位と一致するので、各アライン・ユニットの切れ目の検出が容易になる。
【０１７２】
読み出し制御部２０４は、読みだした符号化コードストリームを符号語解読部２０５に供給する（矢印２２８）。なお、例えば、遅延時間の増大やパケットロスの発生等により高域成分のアライン・ユニットを破棄する必要が生じた場合、読み出し制御部２０４は、データアライメント長Ｎに基づいてアライン・ユニットの切れ目を検出し、アライン・ユニット毎に符号化コードストリームの取捨選択を行う。
【０１７３】
つまり、読み出し制御部２０４は、必要なアライン・ユニットの符号化コードストリームのみ符号語解読部２０５に供給し、不要なアライン・ユニットの符号化コードストリームは破棄する（符号語解読部２０５に供給しない）。
【０１７４】
符号語解読部２０５は、符号化コードストリームを解読して、量子化ステップサイズやウェーブレット変換の分解レベル数等の情報を抽出し、各々を逆量子化部２０９やウェーブレット逆変換部２１０に供給する（矢印２２９および矢印２３０）。
【０１７５】
また、符号語解読部２０５は、解読が終わると、その符号化コードストリームをエントロピ復号部２０６に供給する（矢印２３１）。
【０１７６】
エントロピ復号部２０６は、送信装置１０１のエントロピ符号化部１２６による可変長符号化方法に対応する所定の可変長復号方法によって、符号化コードストリームをエントロピ復号する。エントロピ復号部２０６は、エントロピ復号されて得られた係数データをピクセルカウンタ２０７に供給する（矢印２３２）。
【０１７７】
上述したようなアライン・ユニットが存在する場合、ウェーブレット逆変換部２１０は、各アライン・ユニットを識別しながら、合成フィルタリングを行う。つまり、エントロピ復号されて得られた係数データにおいても、各アライン・ユニットの識別が必要である。
【０１７８】
ピクセルカウンタ２０７は、各アライン・ユニットの係数データ数をカウントする。ピクセルカウンタ２０７は、各アライン・ユニット（AU）のピクセル数を予め把握している。ピクセルカウンタ２０７は、アライン・ユニット１（AU-1）の最初のピクセルが入力されるとピクセルのカウントを開始し、そのカウント値から、各アライン・ユニットの切れ目を検出する。
【０１７９】
アライン・ユニットの切れ目を検出すると、ピクセルカウンタ２０７は、それまでにカウントしたピクセルの係数データを、アラインユニットバッファ２０８に供給し、蓄積させる（矢印２３３）。
【０１８０】
逆量子化部２０９は、所定のタイミングにおいて、アラインユニットバッファ２０８に格納されている係数データを、アライン・ユニット毎に読み出す（矢印２３４）。
【０１８１】
アラインユニットバッファ２０８は、係数データを、アライン・ユニット毎に識別することができるように格納する。つまり、アラインユニットバッファ２０８に蓄積されている係数データは、各アライン・ユニットが識別可能に管理されている。
【０１８２】
従って、逆量子化部２０９は、容易に、アラインユニットバッファ２０８から係数データをアライン・ユニット毎に読み出すことができる（所望のアライン・ユニットの係数データのみ読み出すことができ、最初の係数データから読みだす必要がない）。
【０１８３】
逆量子化部２０９は、取得したアライン・ユニット単位の係数データを逆量子化し、それをウェーブレット逆変換部２１０に供給する（矢印２３５）。
【０１８４】
ウェーブレット逆変換部２１０は、供給された係数データを用いて合成フィルタによる合成フィルタ処理を行う。ウェーブレット逆変換部２１０は、バッファ２１１を利用しながら、この合成フィルタ処理を再帰的に繰り返し（矢印２３６および矢印２３７）、復号画像データを得ると、それを外部に出力する（矢印２３８）。
【０１８５】
［処理の流れ］
以上のような受信装置１０３により実行される受信処理の流れの例を図１２および図１３のフローチャートを参照して説明する。
【０１８６】
パケットが受信され、受信処理が開始されると、ステップＳ２０１において、データアライメント長決定部２０１は、データアライメント長Ｎを決定する。
【０１８７】
ステップＳ２０２において、受信装置１０３は、データアライメント長Ｎの値が「０」でないか否かを判定し、「０」でないと判定した場合、処理をステップＳ２０３に進め、「０」であると判定した場合、処理をステップＳ２０５に進める。
【０１８８】
データアライメント長Ｎ＝０でない場合、ステップＳ２０３において、書き込み制御部２０２は、必要に応じてアライメントを行いながら、符号化コードストリームをアライン・ユニット毎にラインバッファメモリ２０３に書き込む。ステップＳ２０４において、読み出し制御部２０４は、ラインバッファメモリ２０３に格納されている符号化コードストリームを、Ｎビット毎に読み出す。
【０１８９】
また、データアライメント長Ｎ＝０である場合、ステップＳ２０５において、書き込み制御部２０２は、供給される符号化コードストリームを順次ラインバッファメモリ２０３に書き込む。ステップＳ２０６において、読み出し制御部２０４は、ラインバッファメモリ２０３に格納されている符号化コードストリームをその書き込み順に読み出す。
【０１９０】
受信装置１０３は、ステップＳ２０４またはステップＳ２０６の処理が終了すると、ステップＳ２０７に処理を進める。
【０１９１】
ステップＳ２０７において、符号語解読部２０５は、符号語を解読する。ステップＳ２０８において、エントロピ復号部２０６は、符号化コードストリームを復号し、処理を図１３のステップＳ２１０に進める。
【０１９２】
図１３のステップＳ２１０において、ピクセルカウンタ２０７は、符号化コードストリームに含まれる情報等に基づいて、アライン・ユニットが存在するか（ONされているか）否かを判定し、存在する（ONされている）と判定された場合、処理をステップＳ２１１に進める。
【０１９３】
ステップＳ２１１において、ピクセルカウンタ２０７は、係数データのピクセルをカウントする。ステップＳ２１２において、ピクセルカウンタ２０７は、カウントしたピクセルがアライン・ユニットの切れ目であるか否かを判定し、切れ目でないと判定された場合、処理をステップＳ２１１に戻し、それ以降の処理を行う。
【０１９４】
また、ステップＳ２１２において、アライン・ユニットの切れ目であると判定された場合、ピクセルカウンタ２０７は、処理をステップＳ２１３に進める。
【０１９５】
また、ステップＳ２１０において、アライン・ユニットが存在しない（ONされていない）と判定された場合、ピクセルカウンタ２０７は、処理をステップＳ２１３に進める。
【０１９６】
ステップＳ２１３において、ピクセルカウンタ２０７は、ピクセルをカウントした係数データ若しくは供給された係数データをアラインユニットバッファ２０８に書き込む。
【０１９７】
ステップＳ２１４において、逆量子化部２０９は、係数データの読み出しタイミングであるか否かを判定する。読み出しタイミングであると判定された場合、逆量子化部２０９は、ステップＳ２１５に処理を進め、アラインユニットバッファ２０８に格納されている係数データを、アライン・ユニット毎に読み出す。ステップＳ２１６において、逆量子化部２０９は、読みだした係数データを逆量子化する。
【０１９８】
ステップＳ２１７において、ウェーブレット逆変換部２１０は、逆量子化された係数データをウェーブレット逆変換する。ウェーブレット逆変換処理が終了すると、受信処理が終了される。
【０１９９】
また、ステップＳ２１４において、読み出しタイミングでないと判定された場合、逆量子化部２０９は、処理を図１２のステップＳ２０７に戻し、それ以降の処理を実行させる。
【０２００】
次に、図１２のステップＳ２０１において実行されるデータアライメント長決定処理の流れの例を図１４のフローチャートを参照して説明する。
【０２０１】
データアライメント長決定処理が開始されると、データアライメント長決定部２０１は、アライン・ユニットが存在するか否か（ONされているか否か）を判定する。データアライメント長決定部２０１は、アライン・ユニットが存在しない（ONされていない）と判定された場合、ステップＳ２３２において、データアライメント長Ｎの値を０に設定する。データアライメント長Ｎが設定されると、処理は、図１２のステップＳ２０１に戻り、それ以降の処理が行われる。
【０２０２】
また、図１４のステップＳ２３１において、アライン・ユニットが存在する（ONされている）と判定された場合、データアライメント長決定部２０１は、ステップＳ２３３において、送信側でアライメントが行われたか否かを判定する。
【０２０３】
アライメントが行われていないと判定された場合、データアライメント長決定部２０１は、ステップＳ２３４において、データアライメント長Ｎの値を伝送路１０２の帯域幅Ｗに設定する。データアライメント長Ｎが設定されると、処理は、図１２のステップＳ２０１に戻り、それ以降の処理が行われる。
【０２０４】
さらに、図１４のステップＳ２３３において、アライメントが行われたと判定された場合、データアライメント長決定部２０１は、ステップＳ２３５において、データアライメント長Ｎの値を、送信装置１０１において設定されたデータアライメント長Ｎ’に設定する。データアライメント長Ｎが設定されると、処理は、図１２のステップＳ２０１に戻り、それ以降の処理が行われる。
【０２０５】
以上のように、受信装置１０３は、所定のデータ長毎にアライメントを行うことにより、より容易に、アライン・ユニットの切れ目を検出し、アライン・ユニット毎の処理を行うことができる。これにより、受信装置１０３は、データ伝送の際のパケットロスに対する耐性を向上させ、画像の画質劣化を抑制する低遅延データ伝送を、より容易に実現することができる。
【０２０６】
＜２．第２の実施の形態＞
［パーソナルコンピュータ］
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。この場合、例えば、図１５に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
【０２０７】
図１５において、パーソナルコンピュータ４００のCPU（Central Processing Unit）４０１は、ROM（Read Only Memory）４０２に記憶されているプログラム、または記憶部４１３からRAM（Random Access Memory）４０３にロードされたプログラムに従って各種の処理を実行する。RAM４０３にはまた、CPU４０１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０２０８】
CPU４０１、ROM４０２、およびRAM４０３は、バス４０４を介して相互に接続されている。このバス４０４にはまた、入出力インタフェース４１０も接続されている。
【０２０９】
入出力インタフェース４１０には、キーボード、マウスなどよりなる入力部４１１、CRT（Cathode Ray Tube）ディスプレイやLCD（Liquid Crystal Display）等のディスプレイ、並びにスピーカなどよりなる出力部４１２、フラッシュメモリ等SSD（Solid State Drive）やハードディスクなどよりなる記憶部４１３、有線LAN（Local Area Network）や無線LANのインタフェースやモデムなどよりなる通信部４１４が接続されている。通信部４１４は、インターネットを含むネットワークを介しての通信処理を行う。
【０２１０】
入出力インタフェース４１０にはまた、必要に応じてドライブ４１５が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア４２１が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部４１３にインストールされる。
【０２１１】
上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
【０２１２】
この記録媒体は、例えば、図１５に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM（Compact Disc - Read Only Memory）,DVD（Digital Versatile Disc）を含む）、光磁気ディスク（MD（Mini Disc）を含む）、若しくは半導体メモリなどよりなるリムーバブルメディア４２１により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM４０２や、記憶部４１３に含まれるハードディスクなどにより構成される。
【０２１３】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０２１４】
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０２１５】
また、本明細書において、システムとは、複数のデバイス（装置）により構成される装置全体を表すものである。
【０２１６】
また、以上において、１つの装置（または処理部）として説明した構成が、複数の装置（または処理部）として構成されるようにしてもよい。逆に、以上において複数の装置（または処理部）として説明した構成が、まとめて１つの装置（または処理部）として構成されるようにしてもよい。また、各装置（または各処理部）の構成に上述した以外の構成が付加されるようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置（または処理部）の構成の一部が他の装置（または他の処理部）の構成に含まれるようにしてもよい。つまり、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【０２１７】
本発明は、例えば、動画像信号やビデオ信号や静止画像を圧縮して伝送、受信して伸長して画像を出力する装置に好適である。具体的には、モバイル通信機、TV会議システム、監視カメラ・レコーダシステム、医用遠隔医療診断、放送局内のビデオ圧縮・伝送、ライブ映像の配信、生徒と教師間のインタラクティブ通信、無線での静止画・動画伝送、対話型ゲームアプリケーション等に適用することができる。
【符号の説明】
【０２１８】
１００  送受信システム，  １０１  送信装置，  １０２  伝送路，  １０３  受信装置，  １２１  画像ライン入力部，  １２２  ラインバッファ，  １２３  ウェーブレット変換部，  １２４  係数処理部，  １２５  レート制御部，  １２６  エントロピ符号化部，  １２７  ラインブロックメモリ，  １２８  データアライメント部，  １２９  送信部，  １３１  係数ライン並び替え部，  １３２  量子化部，  ２００  受信部，  ２０１  データアライメント長決定部，  ２０２  書き込み制御部，  ２０３  ラインバッファメモリ，  ２０４  読み出し制御部，  ２０５  符号語解読部，  ２０６  エントロピ復号部，  ２０７  ピクセルカウンタ，  ２０８  アラインユニットバッファ，  ２０９  逆量子化部，  ２１０  ウェーブレット逆変換部，  ２１１  バッファ
【図１】
2011147050.tif 000003
【図２】
2011147050.tif 000004
【図３】
2011147050.tif 000005
【図４】
2011147050.tif 000006
【図５】
2011147050.tif 000007
【図６】
2011147050.tif 000008
【図７】
2011147050.tif 000009
【図８】
2011147050.tif 000010
【図９】
2011147050.tif 000011
【図１０】
2011147050.tif 000012
【図１１】
2011147050.tif 000013
【図１２】
2011147050.tif 000014
【図１３】
2011147050.tif 000015
【図１４】
2011147050.tif 000016
【図１５】
2011147050.tif 000017