JP2011160075A - 画像処理装置および方法 - Google Patents
画像処理装置および方法 Download PDFInfo
- Publication number
- JP2011160075A JP2011160075A JP2010018284A JP2010018284A JP2011160075A JP 2011160075 A JP2011160075 A JP 2011160075A JP 2010018284 A JP2010018284 A JP 2010018284A JP 2010018284 A JP2010018284 A JP 2010018284A JP 2011160075 A JP2011160075 A JP 2011160075A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- coefficient
- data
- line
- coefficient data
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
【課題】より低遅延な復号処理を実現することができるようにする。
【解決手段】フォーマット判定部221は、逆量子化部102から供給された映像フォーマットの情報に基づいて、処理対象の係数ラインの映像フォーマットがどのような特徴を有するかを判定する。読み出し制御部223は、その判定結果に基づいて読み出し部214を制御し、ウェーブレット逆変換部105がベースバンドの画像データを水平同期期間1つおきに2ラインずつ出力することができるようなタイミングで、係数データをバッファ部104から読み出させ、ウェーブレット逆変換部105に供給させる。ウェーブレット逆変換制御部224は、ウェーブレット逆変換部105を制御し、その係数データの供給タイミングに合わせて合成フィルタリングを実行させる。本発明は、例えば、復号装置に適用することができる。
【選択図】図13
【解決手段】フォーマット判定部221は、逆量子化部102から供給された映像フォーマットの情報に基づいて、処理対象の係数ラインの映像フォーマットがどのような特徴を有するかを判定する。読み出し制御部223は、その判定結果に基づいて読み出し部214を制御し、ウェーブレット逆変換部105がベースバンドの画像データを水平同期期間1つおきに2ラインずつ出力することができるようなタイミングで、係数データをバッファ部104から読み出させ、ウェーブレット逆変換部105に供給させる。ウェーブレット逆変換制御部224は、ウェーブレット逆変換部105を制御し、その係数データの供給タイミングに合わせて合成フィルタリングを実行させる。本発明は、例えば、復号装置に適用することができる。
【選択図】図13
Description
本発明は、画像処理装置および方法に関し、特に、より低遅延な復号処理を実現することができるようにした画像処理装置および方法に関する。
従来の代表的な画像圧縮方式として、ISO(International Standards Organization)によって標準化されたJPEG(Joint Photographic Experts Group)やJPEG2000がある。
近年では画像をフィルタバンクと呼ばれるハイパス・フィルタとローパス・フィルタとを組み合わせたフィルタによって複数の帯域に分割し、帯域毎に符号化を行う方式の研究が盛んになっている。その中でも、ウェーブレット変換符号化は、DCT(Discrete Cosine Transform)変換で問題になる高圧縮でのブロック歪みが無いことから、DCTに代わる新たな技術として有力視されている。
2001年1月に国際標準化が完了したJPEG2000は、このウェーブレット変換に高能率なエントロピ符号化(ビットプレーン単位のビット・モデリングと算術符号化)を組み合わせた方式を採用しており、JPEGに比べて符号化効率の大きな改善を実現している。
このJPEG2000はデジタルシネマ規格(DCI(Digital Cinema Initiative)規格)用の標準コーデックとしても選定されており、映画の様な動画像用の圧縮にも使われ始めている。また各メーカからJPEG2000を監視カメラや放送局用の取材カメラ、セキュリティ・レコーダなどに応用した製品も出始めている。
また、JPEG2000以外にもウェーブレット変換を用いたデファクトコーデックも、各機関から開発・リリースされている。
これらのコーデックを、即時的な(リアルタイムな)データ伝送に利用することが考えられている。画像データの符号化、符号化データのデータ伝送、および伝送された符号化データの復号を並行して行うことにより、例えば所謂生中継のような、低遅延なデータ伝送を実現させる。
しかしながら、JPEG2000は基本的にピクチャ単位の符号化・復号を行うため、リアルタイム送受信に使うために低遅延を実現しようとした場合、エンコード(符号化)で最低1ピクチャ分、デコード(復号)でも最低1ピクチャ分の遅延が生じる。
これはJPEG2000のみならず、AVC(Advanced Video Coding)イントラ、JPEG等どのコーデックについても同様である。但し、最近になって、画面を幾つかの矩形スライスまたはタイルに分けて、それらを独立にエンコード・デコードを行うことで遅延時間を短縮する手段が提案されている(例えば、特許文献1参照)。
このようなコーデックを用いて以上のような低遅延なデータ伝送を実現させる場合、デコーダは、ビデオ信号の特性、例えばHブランク(水平ブランク)や、Vブランク(垂直ブランク)の時間内に所定量(例えば1ライン)のデコード結果のビデオ信号を出力する必要がある。
しかしながら、より低遅延にウェーブレット逆変換処理を行うためには、各係数データを複雑な手順で合成フィルタリングする必要があり、ライン出力のタイミングに偏りが生じる。
換言するに、ライン出力のために必要な合成フィルタリングの処理量が、ライン出力毎に異なる。そのため、無計画に係数データをウェーブレット逆変換すると、求められるレートに対してライン出力が速過ぎたり遅過ぎたりして、復号画像表示が破たんする恐れがあった。
本発明は、このような状況に鑑みて提案されたものであり、映像フォーマットの特徴に合わせたライン出力タイミングの制御を行うことにより、映像フォーマットによらず、より低遅延な復号処理を実現することができるようにすることを目的とする。
本発明の一側面は、階層的な分析フィルタ処理により所定ライン数の画像データが周波数帯域毎に分解された、少なくとも最低域成分のサブバンドの係数データを1ライン以上含む、各サブバンドの係数データ群を供給する供給手段と、前記供給手段により供給された前記係数データ群を所定の手順で合成し、ベースバンドの画像データを生成する合成フィルタ手段と、前記供給手段を制御し、前記合成フィルタ手段が前記画像データの水平同期信号の間の期間を示す水平同期期間に応じたタイミングに前記ベースバンドの画像データを生成することができるようなタイミングで、前記係数データを供給させる供給制御手段と、前記合成フィルタ手段を制御し、前記供給手段により供給される前記係数データ群を前記所定の手順で合成させ、前記水平同期期間に応じたタイミングに前記ベースバンドの画像データを生成させる合成フィルタリング制御手段とを備える画像処理装置である。
前記合成フィルタ手段は、前記係数データ群を、より高域な成分をより優先的に生成するような順序で合成し、前記供給制御手段は、前記合成フィルタ手段が、前記順序で合成を行い、前記水平同期期間1つおきに前記ベースバンドの画像データを2ラインずつ生成する事ができるようなタイミングで、合成に必要な前記係数データを前記供給手段に供給させることができる。
前記画像データの前記水平同期期間の長さを判定する判定手段をさらに備え、前記供給制御手段は、前記供給手段を制御し、前記合成フィルタ手段が、前記判定手段により判定された前記水平同期期間に応じたタイミングに前記ベースバンドの画像データを生成することができるようなタイミングで、前記係数データを供給させ、前記合成フィルタリング制御手段は、前記合成フィルタ手段を制御し、前記判定手段により判定された前記水平同期期間に応じたタイミングに前記ベースバンドの画像データを生成させることができる。
前記判定手段は、さらに、前記画像データの水平ブランク期間の長さを判定し、前記判定手段により判定された前記水平ブランク期間の長さに応じて、前記供給手段の前記合成フィルタ手段に対する前記係数データの供給開始タイミングを制御する供給開始タイミング制御手段をさらに備えることができる。
前記合成フィルタ手段に供給する前記係数データ群を保持する保持手段をさらに備え、前記供給手段は、前記保持手段により保持された前記係数データを読み出して前記合成フィルタ手段に供給し、前記供給制御手段は、前記供給手段による前記保持手段からの前記係数データの読み出しを制御することができる。
前記保持手段により保持される前記係数データのデータ量を算出する算出手段と、前記算出手段により算出された前記データ量が、予め定められた所定の閾値を上回るか否かを判定する判定手段と、前記判定手段により前記データ量が前記閾値を上回ると判定された場合、前記供給手段に、前記保持手段に保持されている前記係数データを直ちに読み出させる調整手段とをさらに備えることができる。
前記保持手段により保持される前記係数データのデータ量を算出する算出手段と、前記算出手段により算出された前記データ量が、予め定められた所定の閾値を下回るか否かを判定する判定手段と、前記判定手段により前記データ量が前記閾値を下回ると判定された場合、前記供給手段に、前記保持手段に保持されている前記係数データの読み出しを禁止させる調整手段とをさらに備えることができる。
前記画像データの水平ブランク期間の長さを判定する水平ブランク期間判定手段と、前記保持手段により保持される前記係数データのデータ量を算出する算出手段と、前記水平ブランク期間判定手段により前記水平ブランク期間の長さが長いと判定された場合、前記算出手段により算出された前記データ量が、予め定められた所定の第1の閾値を上回るか否かを判定し、前記水平ブランク期間判定手段により前記水平ブランク期間の長さが短いと判定された場合、前記算出手段により算出された前記データ量が、前記第1の閾値より値が小さい、予め定められた所定の第2の閾値を上回るか否かを判定するデータ量判定手段と、前記データ量判定手段により前記データ量が前記第1の閾値を上回ると判定された場合、前記供給手段に、前記保持手段に保持されている前記係数データを直ちに読み出させ、前記データ量判定手段により前記データ量が前記第2の閾値を下回ると判定された場合、前記供給手段に、前記保持手段に保持されている前記係数データの読み出しを禁止させる調整手段とをさらに備えることができる。
本発明の一側面は、また、画像処理装置の画像処理方法であって、前記画像処理装置の供給手段が、階層的な分析フィルタ処理により所定ライン数の画像データが周波数帯域毎に分解された、少なくとも最低域成分のサブバンドの係数データを1ライン以上含む、各サブバンドの係数データ群を供給し、前記画像処理装置の合成フィルタ手段が、前記供給手段により供給された前記係数データ群を所定の手順で合成し、ベースバンドの画像データを生成し、前記画像処理装置の供給制御手段が、前記供給手段を制御し、前記合成フィルタ手段が前記画像データの水平同期信号の間の期間を示す水平同期期間に応じたタイミングに前記ベースバンドの画像データを生成することができるようなタイミングで、前記係数データを供給させ、前記画像処理装置の合成フィルタリング制御手段が、前記合成フィルタ手段を制御し、前記供給手段により供給される前記係数データ群を前記所定の手順で合成させ、前記水平同期期間に応じたタイミングに前記ベースバンドの画像データを生成させる画像処理方法である。
本発明の一側面においては、階層的な分析フィルタ処理により所定ライン数の画像データが周波数帯域毎に分解された、少なくとも最低域成分のサブバンドの係数データを1ライン以上含む、各サブバンドの係数データ群が供給され、供給された係数データ群を所定の手順で合成し、ベースバンドの画像データを生成し、画像データの水平同期信号の間の期間を示す水平同期期間に応じたタイミングにベースバンドの画像データを生成することができるようなタイミングで、係数データが供給され、供給される係数データ群が所定の手順で合成され、水平同期期間に応じたタイミングにベースバンドの画像データが生成される。
本発明によれば、画像を処理することができる。特に、より低遅延な復号処理を実現することができる。
以下、発明を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
1.第1の実施の形態(復号装置)
2.第2の実施の形態(パーソナルコンピュータ)
1.第1の実施の形態(復号装置)
2.第2の実施の形態(パーソナルコンピュータ)
<1.第1の実施の形態>
[符号化処理の説明]
本発明は、画像データを符号化した符号化データの復号処理に関するものであるが、まず、この復号処理に対応する、画像データの符号化処理について説明する。
[符号化処理の説明]
本発明は、画像データを符号化した符号化データの復号処理に関するものであるが、まず、この復号処理に対応する、画像データの符号化処理について説明する。
図1は、画像データを符号化する符号化装置の構成例を示す図である。
図1に示される符号化装置10は、入力された画像データを符号化して符号化データを生成し、出力する。図1に示されるように符号化装置10は、ウェーブレット変換部11、途中計算用バッファ部12、係数並び替え用バッファ部13、係数並び替え部14、量子化部15、およびエントロピ符号化部16を有する。
符号化装置10に入力された画像データは、ウェーブレット変換部11を介して途中計算用バッファ部12に一時的に溜め込まれる。
ウェーブレット変換部11は、途中計算用バッファ部12に溜め込まれた画像データに対してウェーブレット変換を施す。このウェーブレット変換の詳細については後述する。ウェーブレット変換部11は、ウェーブレット変換により得られた係数データを係数並び替え用バッファ部13に供給する。
係数並び替え部14は、係数並び替え用バッファ部13に書き込まれた係数データを所定の順序(例えば、ウェーブレット逆変換処理順)で読み出し、量子化部15に供給する。
量子化部15は、供給された係数データを、所定の方法で量子化し、得られた係数データ(量子化係数データ)をエントロピ符号化部16に供給する。
エントロピ符号化部16は、供給された係数データを、例えばハフマン符号化や算術符号化といった所定のエントロピ符号化方式で符号化する。エントロピ符号化部16は、生成した符号化データを符号化装置10の外部に出力する。
[サブバンド]
次に、ウェーブレット変換について説明する。ウェーブレット変換は、画像データを空間周波数の高い成分(高域成分)と低い成分(低域成分)とに分割する分析フィルタリングを、生成した低域成分に対して再帰的に繰り返すことにより、画像データを、階層的に構成される周波数成分毎の係数データに変換する処理である。なお、以下において、分割レベルは、高域成分の階層ほど下位とし、低域成分の階層ほど上位とする。
次に、ウェーブレット変換について説明する。ウェーブレット変換は、画像データを空間周波数の高い成分(高域成分)と低い成分(低域成分)とに分割する分析フィルタリングを、生成した低域成分に対して再帰的に繰り返すことにより、画像データを、階層的に構成される周波数成分毎の係数データに変換する処理である。なお、以下において、分割レベルは、高域成分の階層ほど下位とし、低域成分の階層ほど上位とする。
1つの階層(分割レベル)において、分析フィルタリングは、水平方向と垂直方向の両方について行われる。これにより、1つの階層の係数データ(画像データ)は、1階層分の分析フィルタリングにより4種類の成分に分割される。4種類の成分とは、すなわち、水平方向および垂直方向の両方について高域な成分(HH)、水平方向に高域で垂直方向に低域な成分(HL)、水平方向に低域で垂直方向に高域な成分(LH)、および、水平方向および垂直方向の両方について低域な成分(LL)である。各成分の集合を、それぞれサブバンドと称する。
ある階層において分析フィルタリングが行われて4つのサブバンドが生成された状態において、次の(1つ上位の)階層の分析フィルタリングは、その生成された4つのサブバンドのうち、水平方向および垂直方向の両方について低域な成分(LL)に対して行われる。
このように分析フィルタリングが再帰的に繰り返されることにより、空間周波数の低い帯域の係数データは、より小さな領域(低域成分)に追い込まれる。したがって、このようにウェーブレット変換された係数データを符号化するようにすることにより、効率的な符号化が可能となる。
図2は、分析フィルタリングを4回繰り返すことにより、分割レベル4までの13個のサブバンド(1LH,1HL,1HH,2LH,2HL,2HH,3LH,3HL,3HH,4LL,4LH,4HL,4HH)に分割された係数データの構成を示している。
[ラインブロック]
次に、ラインブロックについて説明する。図3は、ラインブロックを説明する図である。ウェーブレット変換における分析フィルタリングは、処理対象となる2ラインの画像データまたは係数データから、1階層上の4つのサブバンドの係数データを1ラインずつ生成する。
次に、ラインブロックについて説明する。図3は、ラインブロックを説明する図である。ウェーブレット変換における分析フィルタリングは、処理対象となる2ラインの画像データまたは係数データから、1階層上の4つのサブバンドの係数データを1ラインずつ生成する。
したがって、例えば、分割レベル数が4の場合、図3の斜線部分で示されるように、最上位階層である分割レベル4の各サブバンドの係数データを1ラインずつ得るためには、サブバンド3LLの係数データが2ライン必要である。
サブバンド3LLを2ライン得る、すなわち、分割レベル3の各サブバンドの係数データを2ラインずつ得るためには、サブバンド2LLの係数データが4ライン必要である。
サブバンド2LLを4ライン得る、すなわち、分割レベル2の各サブバンドの係数データを4ラインずつ得るためには、サブバンド1LLの係数データが8ライン必要である。
サブバンド1LLを8ライン得る、すなわち、分割レベル1の各サブバンドの係数データを8ラインずつ得るためには、ベースバンドの係数データが16ライン必要である。
つまり、分割レベル4の各サブバンドの係数データを1ラインずつ得るためには、16ラインのベースバンドの画像データが必要になる。
この最低域成分のサブバンド(図3の例の場合4LL)の1ライン分の係数データを生成するために必要なライン数の画像データを、ラインブロック(またはプレシンクト)と称する。
例えば、分割レベル数がNの場合、最低域成分のサブバンドの1ライン分の係数データを生成するためには、ベースバンドの画像データが2のN乗ライン必要になる。これがラインブロックのライン数である。
なお、ラインブロックは、その1ラインブロックの画像データをウェーブレット変換して得られる各サブバンドの係数データの集合のことも示す。
また、ラインとは、フレーム画像(ピクチャ)の1列分の水平方向の画素列や、サブバンドの1列分の水平方向の係数列のことを示す。この1ライン分の係数データを係数ラインとも称する。また、1ライン分の画像データを画像ラインとも称する。以下において、より詳細に区別して説明する必要がある場合、適宜表現を変える。
また、1係数ライン(1ライン分の係数データ)が符号化された1ライン分の符号化データを符号ラインとも称する。
ウェーブレット変換部11は、画像データ(若しくは係数データ)を2ラインずつ分析フィルタリングするが、このとき、できるだけ低遅延に処理を行うような順序で、その2ラインを選択する。
より具体的に説明すると、ウェーブレット変換部11は、より上位の(より低域の)サブバンドの係数データをできるだけ優先的に生成するような順序で画像データ若しくは係数データを2ラインずつ選択し、分析フィルタリングする。
[5×3分析フィルタ]
次に、分析フィルタリングについて説明する。
次に、分析フィルタリングについて説明する。
ウェーブレット変換処理は、通常、低域フィルタと高域フィルタとから構成されるフィルタバンクを用いて行われる。
このウェーブレット変換の具体的な例として、5×3フィルタを用いる方法について説明する。
5×3フィルタのインパルス応答(Z変換表現)は、次の式(1)および式(2)に示すように、低域フィルタH0(z)と、高域フィルタH1(z)とから構成される。式(1)および式(2)から、低域フィルタH0(z)は、5タップで、高域フィルタH1(z)は、3タップであることが分かる。
H0(z)=(−1+2z-1+6z-2+2z-3−z-4)/8 ・・・(1)
H1(z)=(−1+2z-1−z-2)/2 ・・・(2)
H1(z)=(−1+2z-1−z-2)/2 ・・・(2)
これら式(1)および式(2)によれば、低域成分および高域成分の係数を、直接的に算出することができる。ここで、リフティング(Lifting)技術を用いることで、フィルタ処理の計算を減らすことができる。
図4は、5×3フィルタをリフティング表現した図である。図中、最上部の一列が入力信号列である。データ処理は画面上から下方向に流れ、以下の式(3)および式(4)により、高域成分の係数(高域係数)と、低域成分の係数(低域係数)とが出力される。
di 1=di 0−1/2(si 0+si+1 0) ・・・(3)
si 1=si 0+1/4(di-1 1+di 1) ・・・(4)
si 1=si 0+1/4(di-1 1+di 1) ・・・(4)
[リフティング演算]
次に、このリフティング演算について説明する。図5は、5×3分析フィルタを用いて、縦方向のラインに対して行われるフィルタリングをリフティング表現した図である。
次に、このリフティング演算について説明する。図5は、5×3分析フィルタを用いて、縦方向のラインに対して行われるフィルタリングをリフティング表現した図である。
横方向は、演算過程とそれによって生成される低域・高域係数を図示したものである。図4の場合と照らし合わせて見れば水平が垂直に変わっただけであり、演算の方法は全く同様であることがわかる。
画像の上端においては、矢印51に示されるように、Line-1から最上位ラインが点線の様に対称拡張され、1ラインが補填される。枠52で示されるように、これとLine-0、Line-1の合計3ラインを用いてリフティング演算が行われ、Step-1の演算で係数aが生成される。これは高域係数(H0)である。
Line-1,Line-2,Line-3が入力されると、この3ラインを用いて、式(3)により次の高域係数aが算出される。これは高域係数(H1)である。そして、上記の1番目の高域係数a(H0)と2番目高域係数a(H1)、及びLine-1の係数の合計3つの係数を用いて、式(4)に従い計算すると係数bが生成される。これは低域係数(L1)である。つまり、枠53で示されるように、Line-1,Line-2,Line-3の3ラインと、高域係数(H0)とを用いて、低域係数(L1)および高域係数(H1)が生成される。
その後、2ラインが入力される毎に、上記のリフティング演算が後続のラインに対しても同様に繰り返され、低域係数と高域係数とが出力される。そして、枠54に示されるように、低域係数(L(N−1))および高域係数(H(N−1))が生成されると、高域係数(H(N−1))が矢印55のように対称拡張され、枠56のように演算が行われ、低域成分(L(N))が生成される。
なお、図5は垂直方向のラインに対してフィルタリングを行った例であるが、水平方向のフィルタリングの場合でも全く同様に考えることができる。
以上のリフティング演算は、各階層について行われる。ただし、分析フィルタリングは、上述したように、より低域な成分をより優先的に生成するような順序で行われる。図5を参照して説明した順序は、分析フィルタリングされるデータ間の依存関係を示すものであり、実際の処理実行順とは異なる。
[1ラインブロックの処理]
次に、この分析フィルタリングの実行手順について説明する。
次に、この分析フィルタリングの実行手順について説明する。
処理対象の画像データ(係数データ)は、ピクチャ(サブバンド)の上のラインから順に処理される。分析フィルタリングのリフティング演算は、処理対象の画像データ(係数データ)が2ライン準備される毎に(つまり、実行可能となり次第)実行される。ただし、より低域のサブバンドを優先的に処理対象とする。
以下に説明するように、分析フィルタリングは、ラインブロック毎に同じ手順で繰り返し実行される。そこで、2ライン準備される毎に分析フィルタリングが実行されるラインブロック(定常状態のラインブロック)における分析フィルタリングの手順を以下に説明する。
なお、初期状態となるピクチャやサブバンドの上端を含むラインブロック(初期状態のラインブロック)においては、分析フィルタリングに必要なライン数が他のラインブロック(定常状態のラインブロック)と異なる。しかしながら、この初期状態のラインブロックの場合も、分析フィルタリングの処理手順は、基本的には他のラインブロックと同様のであるので、その説明は省略する。
図6は、定常状態における係数データの出力順を説明する図である。図6においては、ウェーブレット変換された係数データが、図中、上から下に向かう方向に時系列順に並べられている。
定常状態のラインブロックにおいて、まず、ベースバンドの画像データの、そのラインブロック内において上から2ラインが分析フィルタリングされ、分割レベル1のラインL(上からL番目の係数ライン)が生成される。1ライン分の係数データでは分析フィルタリングできないので、その次のタイミングにおいて、ベースバンドの画像データの次の2ラインが分析フィルタリングされ、分割レベル1のライン(L+1)(上から(L+1)番目の係数ライン)が生成される。
この時点で分割レベル1の係数データが2ライン分用意されたので、次に、その分割レベル1の係数データの2ラインに対して分割レベル1の分析フィルタリングが行われ、分割レベル2のラインM(上からM番目の係数ライン)が生成される。しかしながら、1ライン分なので分割レベル2の分析フィルタリングはまだ実行できない。また、このとき、分割レベル1の係数データが用意されていないので、分割レベル1の分析フィルタリングも実行できない。
そこで、ベースバンドの画像データの次の2ラインが分析フィルタリングされ、分割レベル1のライン(L+2)(上から(L+2)番目の係数ライン)が生成される。1ライン分の係数データでは分析フィルタリングできないので、続いて、ベースバンドの画像データの次の2ラインが分析フィルタリングされ、分割レベル1のライン(L+3)(上から(L+3)番目の係数ライン)が生成される。
分割レベル1の係数データが2ライン分用意されたので、次に、その分割レベル1の係数データの2ラインに対して分割レベル1の分析フィルタリングが行われ、分割レベル2のライン(M+1)(上から(M+1)番目の係数ライン)が生成される。
すると、分割レベル2の係数データが2ライン分用意されたので、次に、その分割レベル2の係数データの2ラインに対して分割レベル2の分析フィルタリングが行われ、分割レベル3のラインN(上からN番目の係数ライン)が生成される。
以下、同様にして、分割レベル1のライン(L+4)(上から(L+4)番目の係数ライン)およびライン(L+5)(上から(L+5)番目の係数ライン)、分割レベル2のライン(M+2)(上から(M+2)番目の係数ライン)、分割レベル1のライン(L+6)(上から(L+6)番目の係数ライン)およびライン(L+7)(上から(L+7)番目の係数ライン)、分割レベル2のライン(M+3)(上から(M+3)番目の係数ライン)、並びに、分割レベル3のライン(N+1)(上から(N+1)番目の係数ライン)が、順次、生成される。
すると、分割レベル3の係数データが2ライン分用意されたので、次に、その分割レベル3の係数データの2ラインに対して分割レベル3の分析フィルタリングが行われ、分割レベル4のラインP(上からP番目の係数ライン)が生成される。
以上のように1ラインブロック分の分析フィルタリングが行われる。つまり、ラインブロック毎に、以上のような手順が繰り返される。
以上のような手順で生成された係数ラインは、上述したように、例えばウェーブレット逆変換処理順に並び替えられ、逆量子化されて、エントロピ符号化されて、符号化データとして出力される。
このように生成された符号化データは、例えばネットワーク等の通信路を介して復号装置に伝送されたり、記録媒体に記録され、その記録媒体を介して復号装置に供給されたりする。
この符号化データの復号装置への伝送方法は任意である。ただし、例えば所謂生中継のように、上述した符号化装置による画像データの符号化から復号装置による符号化データの復号までの処理全体をより低遅延に(リアルタイムに)行うことが求められる場合がある。そのためには、記録媒体を介して伝送させるよりも、ネットワーク等の通信路を介して伝送させるようにし、符号化処理と復号処理とを並行して行うことができるようにするのが望ましい。
ただし、符号化データを記録媒体に記録する場合であっても、復号装置が復号処理をより低遅延に行うことができるという効果を得ることができる。つまり、復号装置は、その記録媒体から符号化データを読み出して復号し、復号画像データを出力する処理をより低遅延に行うことができる。
[復号装置の構成]
図7は、本発明を適用した復号装置の主な構成例を示すブロック図である。
図7は、本発明を適用した復号装置の主な構成例を示すブロック図である。
図7に示される復号装置100は、図1の符号化装置10に対応する装置である。復号装置100は、図1の符号化装置10が画像データを符号化して生成した符号化データを、符号化装置10による符号化方法に対応する方法で復号し、復号画像データを得る。
図7に示されるように、復号装置100は、エントロピ復号部101、逆量子化部102、制御部103、バッファ部104、ウェーブレット逆変換部105、および画像ライン出力部106を有する。
符号化データが入力されると(矢印121)、エントロピ復号部101は、供給された符号化データを、符号化装置10のエントロピ符号化部16による符号化方法に対応する復号方法で復号し、係数データ(量子化係数)を得る。エントロピ復号部101は、その係数データを逆量子化部102に供給する(矢印122)。
逆量子化部102は、その係数データを、符号化装置10の量子化部15による量子化方法に対応する方法で逆量子化し、得られた係数データ(ウェーブレット係数)をウェーブレット逆変換部105に供給する(矢印127)。
ウェーブレット逆変換部105は、その係数データに対して、符号化装置10のウェーブレット変換部11による分析フィルタリングに対応する方法で合成フィルタリングを行い、ベースバンドの復号画像データ(画像ライン)を生成する。ウェーブレット逆変換部105は、得られた画像ラインを、画像ライン出力部106に供給する(矢印129)。
画像ライン出力部106は、復号画像データの映像フォーマットの水平同期信号に合わせて、その画像ラインを出力する(矢印130)。
画像ライン出力部106から出力された復号画像データの画像を即時的(リアルタイムに)表示させる場合、画像ライン出力部106は、水平同期信号の間(水平同期期間)毎に1ラインずつ画像ラインを出力する必要がある。つまり、ウェーブレット逆変換部105は、画像ラインを、水平同期期間当たり1ラインのペースで画像ライン出力部106に供給する必要がある。
詳細については後述するが、ウェーブレット逆変換部105は、画像ラインを2ラインずつ生成する。したがって、実際には、ウェーブレット逆変換部105が、1つおきの水平同期期間毎に2ラインずつ画像ラインを画像ライン出力部106に供給する必要がある。
このようなタイミングでウェーブレット逆変換部105が画像ラインを生成するように、制御部103は、逆量子化部102の出力およびウェーブレット逆変換部105の動作を制御する。
なお、復号装置100に供給される符号化データのレート(単位時間当たりの供給量)は、基本的に略一定であるので、逆量子化部102は、逆量子化結果の係数データをバッファ部104に一旦格納する(矢印125)。
制御部103は、逆量子化部102から供給される情報(矢印123)に基づいて、逆量子化部102を制御し(矢印124)、そのバッファ部104からの係数データの読み出し(矢印126)を制御する。
このようなタイミング制御により逆量子化部102からの出力(矢印127)が制御される。さらに、制御部103は、その制御に合わせてウェーブレット逆変換部105を動作させる(矢印128)。
逆量子化部102の出力のタイミング制御を説明する前に、ウェーブレット逆変換処理について説明する。
[5×3合成フィルタ]
ウェーブレット逆変換処理は、ウェーブレット変換処理により、階層的に構成される周波数成分毎の係数データを合成し、ベースバンドの画像データに戻す処理である。上述したように、ウェーブレット変換処理では、分析フィルタリングにより、画像データ若しくは係数データが空間周波数の高い成分(高域成分)と低い成分(低域成分)とに分割されるように説明したが、ウェーブレット逆変換処理ではその逆の処理が行われる。
ウェーブレット逆変換処理は、ウェーブレット変換処理により、階層的に構成される周波数成分毎の係数データを合成し、ベースバンドの画像データに戻す処理である。上述したように、ウェーブレット変換処理では、分析フィルタリングにより、画像データ若しくは係数データが空間周波数の高い成分(高域成分)と低い成分(低域成分)とに分割されるように説明したが、ウェーブレット逆変換処理ではその逆の処理が行われる。
つまり、高域成分と低域成分とに分割された係数データを合成する合成フィルタリングが各分割レベルにおいて実行される。したがって、ウェーブレット逆変換処理も、ウェーブレット変換処理に用いられたフィルタと同様のフィルタを用いて行われる。つまり、ウェーブレット変換において上述した例のように5×3フィルタ(分析フィルタ)が用いられた場合、ウェーブレット逆変換も5×3フィルタ(合成フィルタ)を用いて行われる。
図8は、この5×3合成フィルタをリフティング表現した図である。図中、最上部にウェーブレット変換により生成された入力係数が示される。データ処理は画面上から下方向に流れ、以下の式(5)および式(6)により、その入力された高域成分の係数(高域係数)と、低域成分の係数(低域係数)とから偶数番目(最初を0番目とする)の係数si 0と奇数番目の係数di 0が生成される。
si 0=si 1−1/4(di-1 1+di 1) ・・・(5)
di 0=di 1+1/2(si 0+si+1 0) ・・・(6)
di 0=di 1+1/2(si 0+si+1 0) ・・・(6)
合成フィルタ側では、このようにして、フィルタリング処理により低域成分および高域成分の係数を合成し、ウェーブレット逆変換を行う。
[リフティング演算]
図9は、5×3合成フィルタを用いて、縦方向のラインに対してフィルタリングを行った場合の図である。横方向は、演算過程とそれによって生成される下位の係数を図示したものである。分析フィルタリングの場合と同様に、水平方向の処理も垂直方向の処理と同様に行われる。最初に垂直方向の合成フィルタリングが行われ、次に水平方向の合成フィルタリングが行われる。
図9は、5×3合成フィルタを用いて、縦方向のラインに対してフィルタリングを行った場合の図である。横方向は、演算過程とそれによって生成される下位の係数を図示したものである。分析フィルタリングの場合と同様に、水平方向の処理も垂直方向の処理と同様に行われる。最初に垂直方向の合成フィルタリングが行われ、次に水平方向の合成フィルタリングが行われる。
画像の上端においては、枠151に示されるように、高域係数(H0)、低域係数(L1)、および高域係数(H1)が入力された時点で、リフティング演算が行われる。このとき、矢印152に示されるように、係数aが対称拡張される。このようにして、1つ下位の階層のLine-0とLine-1が生成される。
次に、2係数ライン(低域成分L2と高域成分H2)が入力されると、枠153に示されるように、1つ下位の階層のLine-2とLine-3が生成される。
その後、2係数ラインが入力される毎に、枠154に示されるように、上記のリフティング演算が後続のラインに対しても同様に繰り返され、下位の係数ラインが2ライン出力される。そして、枠155に示されるように、入力された低域係数(L(N))および高域係数(H(N))に対してLine-2(N)-2とLine-2(N)-1が生成されると、高域係数(H(N))が矢印156のように対称拡張され、枠157のように演算が行われ、Line-2(N+1)-2とLine-2(N+1)-1が生成される。
なお、図9は垂直方向のラインに対してフィルタリングを行った例であるが、水平方向のフィルタリングの場合でも全く同様に考えることができる。
以上のリフティング演算は、各階層について行われる。ただし、合成フィルタリングは、より高域な成分をより優先的に生成するような順序で行われる。図9を参照して説明した順序は、合成フィルタリングされるデータ間の依存関係を示すものであり、実際の処理実行順とは異なる。
[1ラインブロックの処理]
次に、この合成フィルタリングの実行手順について図10乃至図12を参照して説明する。図10乃至図12において、丸で囲まれた数字は、ラインブロック内におけるラインの識別番号であり、本明細書においては、この識別番号を囲む丸は省略して説明する。また、ここでは分割レベル4でウェーブレット変換された係数に対するウェーブレット逆変換処理について説明する。
次に、この合成フィルタリングの実行手順について図10乃至図12を参照して説明する。図10乃至図12において、丸で囲まれた数字は、ラインブロック内におけるラインの識別番号であり、本明細書においては、この識別番号を囲む丸は省略して説明する。また、ここでは分割レベル4でウェーブレット変換された係数に対するウェーブレット逆変換処理について説明する。
図10に示されるように、最初に、最上位レベルである分割レベル4の各サブバンドの係数1ラインずつ(4LL/HL/LH/HH)について、1回目の合成フィルタリングが行われる(矢印S1)。この1回目の合成フィルタリングにより、分割レベル3の低域サブバンドの1ライン目の係数3LL1と、2ライン目の係数3LL2が生成される(矢印S2)。
次に、その1ライン目の係数3LL1と、新たに入力された分割レベル3の高域サブバンドの係数1ラインずつ(3HL/LH/HH)について、2回目の合成フィルタリングが行われる(矢印S3)。この2回目の合成フィルタリングにより、分割レベル2の低域サブバンドの1ライン目の係数2LL1と、2ライン目の係数2LL2が生成される(矢印S4)。
続いて、その1ライン目の係数2LL1と、新たに入力された分割レベル2の高域サブバンドの係数1ラインずつ(2HL/LH/HH)について、3回目の合成フィルタリングが行われる(矢印S5)。この3回目の合成フィルタリングにより、分割レベル1の低域サブバンドの1ライン目の係数1LL1と、2ライン目の係数1LL2が生成される(矢印S6)。
さらに、その1ライン目の係数1LL1と、新たに入力された分割レベル1の高域サブバンドの係数1ラインずつ(1HL/LH/HH)について、4回目の合成フィルタリングが行われる(矢印S7)。この4回目の合成フィルタリングにより、ベースバンドの1ライン目の画像データBase1と、2ライン目の画像データBase2が生成される(矢印S8)。
次に、5回目の合成フィルタリング行われる。これまでに生成された未処理の係数ラインのうち、最も下位レベルの係数ラインである分割レベル1の低域サブバンドの2ライン目の係数1LL2がその5回目の合成フィルタリングの対象とされる。
つまり、その分割レベル1の低域サブバンドの2ライン目の係数1LL2と、新たに入力された分割レベル1の高域サブバンドの係数1ラインずつ(1HL/LH/HH)について、5回目の合成フィルタリングが行われる(矢印S9)。この5回目の合成フィルタリングにより、ベースバンドの3ライン目の画像データBase3と、4ライン目の画像データBase4が生成される(矢印S10)。
次に6回目の合成フィルタリングが行われる。これまでに生成された未処理の係数ラインのうち、最も下位レベルの係数ラインである分割レベル2の低域サブバンドの2ライン目の係数2LL2がその6回目の合成フィルタリングの対象とされる。
つまり、その分割レベル2の低域サブバンドの2ライン目の係数2LL2と、新たに入力された分割レベル2の高域サブバンドの係数1ラインずつ(2HL/LH/HH)について、6回目の合成フィルタリングが行われる(矢印S11)。図11に示されるように、この6回目の合成フィルタリングにより、分割レベル1の低域サブバンドの3ライン目の係数1LL3と、4ライン目の係数1LL4が生成される(矢印S12)。
さらに、その分割レベル1の低域サブバンドの3ライン目の係数1LL3と、新たに入力された分割レベル1の高域サブバンドの係数1ラインずつ(1HL/LH/HH)について、7回目の合成フィルタリングが行われる(矢印S13)。この7回目の合成フィルタリングにより、ベースバンドの5ライン目の画像データBase5と、6ライン目の画像データBase6が生成される(矢印S14)。
次に8回目の合成フィルタリングが行われる。これまでに生成された未処理の係数ラインのうち、最も下位レベルの係数ラインである分割レベル1の低域サブバンドの4ライン目の係数1LL4がその8回目の合成フィルタリングの対象とされる。
つまり、その分割レベル1の低域サブバンドの4ライン目の係数1LL4と、新たに入力された分割レベル1の高域サブバンドの係数1ラインずつ(1HL/LH/HH)について、8回目の合成フィルタリングが行われる(矢印S15)。この8回目の合成フィルタリングにより、ベースバンドの7ライン目の画像データBase7と、8ライン目の画像データBase8が生成される(矢印S16)。
次に9回目の合成フィルタリングが行われる。これまでに生成された未処理の係数ラインのうち、最も下位レベルの係数ラインである分割レベル3の低域サブバンドの2ライン目の係数3LL2がその9回目の合成フィルタリングの対象とされる。
つまり、その分割レベル3の低域サブバンドの2ライン目の係数3LL2と、新たに入力された分割レベル3の高域サブバンドの係数1ラインずつ(3HL/LH/HH)について、9回目の合成フィルタリングが行われる(矢印S17)。この9回目の合成フィルタリングにより、分割レベル2の低域サブバンドの3ライン目の係数2LL3と、4ライン目の係数2LL4が生成される(矢印S18)。
続いて、その3ライン目の係数2LL3と、新たに入力された分割レベル2の高域サブバンドの係数1ラインずつ(2HL/LH/HH)について、10回目の合成フィルタリングが行われる(矢印S19)。この10回目の合成フィルタリングにより、分割レベル1の低域サブバンドの5ライン目の係数1LL5と、6ライン目の係数1LL6が生成される(矢印S20)。
さらに、その5ライン目の係数1LL5と、新たに入力された分割レベル1の高域サブバンドの係数1ラインずつ(1HL/LH/HH)について、11回目の合成フィルタリングが行われる(矢印S21)。図12に示されるように、この11回目の合成フィルタリングにより、ベースバンドの9ライン目の画像データBase9と、10ライン目の画像データBase10が生成される(矢印S22)。
次に、12回目の合成フィルタリング行われる。これまでに生成された未処理の係数ラインのうち、最も下位レベルの係数ラインである分割レベル1の低域サブバンドの6ライン目の係数1LL6がその12回目の合成フィルタリングの対象とされる。
つまり、その分割レベル1の低域サブバンドの6ライン目の係数1LL6と、新たに入力された分割レベル1の高域サブバンドの係数1ラインずつ(1HL/LH/HH)について、12回目の合成フィルタリングが行われる(矢印S23)。この12回目の合成フィルタリングにより、ベースバンドの11ライン目の画像データBase11と、12ライン目の画像データBase12が生成される(矢印S24)。
次に13回目の合成フィルタリングが行われる。これまでに生成された未処理の係数ラインのうち、最も下位レベルの係数ラインである分割レベル2の低域サブバンドの4ライン目の係数2LL4がその13回目の合成フィルタリングの対象とされる。
つまり、その分割レベル2の低域サブバンドの4ライン目の係数2LL4と、新たに入力された分割レベル2の高域サブバンドの係数1ラインずつ(2HL/LH/HH)について、13回目の合成フィルタリングが行われる(矢印S25)。この13回目の合成フィルタリングにより、分割レベル1の低域サブバンドの7ライン目の係数1LL7と、8ライン目の係数1LL8が生成される(矢印S26)。
さらに、その分割レベル1の低域サブバンドの7ライン目の係数1LL7と、新たに入力された分割レベル1の高域サブバンドの係数1ラインずつ(1HL/LH/HH)について、14回目の合成フィルタリングが行われる(矢印S27)。この14回目の合成フィルタリングにより、ベースバンドの13ライン目の画像データBase13と、14ライン目の画像データBase14が生成される(矢印S28)。
次に15回目の合成フィルタリングが行われる。これまでに生成された未処理の係数ラインのうち、最も下位レベルの係数ラインである分割レベル1の低域サブバンドの8ライン目の係数1LL8がその15回目の合成フィルタリングの対象とされる。
つまり、その分割レベル1の低域サブバンドの8ライン目の係数1LL8と、新たに入力された分割レベル1の高域サブバンドの係数1ラインずつ(1HL/LH/HH)について、15回目の合成フィルタリングが行われる(矢印S29)。この15回目の合成フィルタリングにより、ベースバンドの15ライン目の画像データBase15と、16ライン目の画像データBase16が生成される(矢印S30)。
以上が1ラインブロック分の合成フィルタリングの手順である。以上のような手順で合成フィルタリングが繰り返し実行されることにより、1ラインブロック分のベースバンドの画像データ(16ライン)が生成される。
次のラインブロックについては、上述したのと同様に処理が繰り返される(矢印S31)。
復号画像データの水平同期信号に合わせて画像ラインを出力させるためには、ベースバンドの画像ラインの生成タイミング、すなわち、合成フィルタリングのタイミングを制御する必要がある。
特に、上述したような手順においては、図10乃至図12に示されるように、ベースバンドの画像ラインを2ライン生成するために必要な合成フィルタリングの回数が変化する。具体的には、画像ラインは、4回目、5回目、7回目、8回目、11回目、12回目、14回目、および15回目の合成フィルタリングにより生成される。
つまり、最初の2ラインを生成するためには4回の合成フィルタリングが必要であるのに対して、その次の2ラインを生成するためには1回の合成フィルタリングのみでよい。以下も同様に合成フィルタリングの回数が変化する。
したがって、復号装置100が、供給される符号ラインを、無計画に処理して得られた係数ラインを順次合成フィルタリングすると、ベースバンドの画像ラインの生成タイミングに大きな偏りが生じ、復号画像データの水平同期信号に応じた画像ライン出力が困難になる恐れがある。
そこで、制御部103は、ウェーブレット逆変換部105が、ベースバンドの画像ラインを、その水平同期信号の間の1つおき(水平同期期間の1つおき)毎に1回(2ライン)生成するように、逆量子化部102およびウェーブレット逆変換部105を制御する。
なお、水平同期期間の長さは、画像の垂直解像度やフレームレートに依存するものであり、映像フォーマットの1つとして定義される。したがって、制御部103は、処理する係数データ(復号画像データ)の映像フォーマットに従って制御を行う。
また、詳細については後述するが、ウェーブレット逆変換部105への係数ラインの入力タイミングは、バッファ部104を用いて調整される。したがって、制御部103は、そのバッファ部104におけるオーバフローやアンダーフローの発生を抑制するように制御を行う。
特に、そのオーバフローやアンダーフローの発生のしやすさは、処理する係数データ(復号画像データ)の映像フォーマットによって異なる。したがって、制御部103は、その映像フォーマットに従って制御を行う。
以下に、その制御について説明する。
[制御部および逆量子化部の構成]
図13は、図7の逆量子化部102および制御部103の主な構成例を示すブロック図である。
図13は、図7の逆量子化部102および制御部103の主な構成例を示すブロック図である。
図13に示されるように、逆量子化部102は、逆量子化演算部201および入出力部202を有する。逆量子化演算部201は、入力された量子化係数(矢印122)に対して逆量子化演算を行う。逆量子化された係数データは、入出力部202に供給される(矢印251)。
入出力部202は、バッファ部104のインタフェースとして動作し、逆量子化演算部201から供給された逆量子化結果である係数データを、バッファ部104に書き込んだり(矢印125)、バッファ部104から読み出したりする(矢印126)。入出力部202は、制御部103に制御されて動作する(矢印123−1、矢印123−2、矢印124−1、および矢印124−2)。
入出力部202は、書き込み部211、入力データ量カウント部212、出力データ量カウント部213、および読み出し部214を有する。
書き込み部211は、逆量子化演算部201から供給される係数データをバッファ部104に供給し、格納する(矢印125)。
また、書き込み部211は、その係数データの映像フォーマットを、例えばその係数データのヘッダ等、任意のところから取得すると、その映像フォーマットの情報を制御部103に供給する(矢印123−1)。
さらに、書き込み部211は、バッファ部104に書き込んだ係数データを入力データ量カウント部212にも供給する(矢印261)。
入力データ量カウント部212は、書き込み部211から供給された係数データのデータ量をカウントする。入力データ量カウント部212は、そのカウント値を制御部103に供給する(123−2)。
読み出し部214は、制御部103に制御されて(矢印124−1)、バッファ部104から係数データを読み出し(矢印126)、それをウェーブレット逆変換部105に供給する(矢印127)。
また、読み出し部214は、バッファ部104から読み出した係数データを出力データ量カウント部213に供給する。
出力データ量カウント部213は、読み出し部214から供給された係数データのデータ量をカウントする。出力データ量カウント部213は、そのカウント値を制御部103に供給する(124−2)。
制御部103は、フォーマット判定部221、読み出し開始タイミング制御部222、読み出し制御部223、ウェーブレット逆変換制御部224、およびバッファ制御部225を有する。
フォーマット判定部221は、逆量子化部102から供給された映像フォーマットの情報(矢印123−1)に基づいて、処理対象の係数ライン(復号画像データ)の映像フォーマットがどのような特徴を有するかを判定する。
例えば、フォーマット判定部221は、画像信号の水平同期期間や水平ブランク期間の長さを判定する。
例えば、図14に示されるように、有効水平サイズ1920サンプル、有効垂直ライン数1080本、毎秒60フィールドの飛び越し走査方式(1920×1080@60i)の画像の場合、水平サイズ(水平同期期間)は2200サンプルとなり、有効水平サイズは1920サンプルとなる。この場合、Hブランク値(水平ブランク期間)は280サンプルである。
また、例えば、図14に示されるように、有効水平サイズ1280サンプル、有効垂直ライン数720本、毎秒24フィールドの順次走査方式(1280×720@24p)の画像の場合、水平サイズ(水平同期期間)は4125サンプルとなり、有効水平サイズは1280サンプルとなる。この場合、Hブランク値(水平ブランク期間)は2845サンプルである。
例えば図15に示されるように、水平同期信号301のパルス間(水平同期信号の間とも称する)の期間である水平同期期間311には、表示可能領域に含まれる水平表示領域の前後に水平ブランク期間312−1および水平ブランク期間312−2が設けられている。以下において、水平ブランク期間312−1および水平ブランク期間312−2を互いに区別して説明する必要が無い場合、単に水平ブランク期間312と称する。
したがって、画像表示においては、画像信号1ラインが表示された後に、水平ブランク期間312が存在し、その後次のラインが表示される。
なお、垂直同期信号302も同様に構成されており、垂直同期信号302のパルス間(垂直同期信号の間とも称する)の期間である垂直同期期間321には、表示可能領域に含まれる垂直表示領域の前後に垂直ブランク期間322−1および垂直ブランク期間322−2が設けられている。以下において、垂直ブランク期間322−1および垂直ブランク期間322−2を互いに区別して説明する必要が無い場合、単に垂直ブランク期間322と称する。
ここで重要なことは、画像ライン出力部106が、各水平同期期間内にベースバンドの画像ラインを1ライン出力することができるようにする必要があるということである。そのためには、ウェーブレット逆変換部105が、ベースバンドの画像データを、水平同期期間1つおきに、2ラインずつ出力するように合成フィルタリングを行う必要がある。
図13に戻り、フォーマット判定部221は、このような映像フォーマットの特徴の判定結果を読み出し制御部223およびウェーブレット逆変換制御部224に通知する(矢印254および矢印255)。
読み出し制御部223は、その判定結果に基づいて読み出し部214を制御し、ウェーブレット逆変換部105がベースバンドの画像データを水平同期期間1つおきに2ラインずつ出力することができるようなタイミングで、係数データをバッファ部104から読み出させ、ウェーブレット逆変換部105に供給させる。
ウェーブレット逆変換制御部224は、ウェーブレット逆変換部105を制御し、その係数データの供給タイミングに合わせて合成フィルタリングを実行させる。
合成フィルタリングが図10乃至図12を参照して説明した手順で行われる場合について、1ラインブロック分の制御をより具体的に説明する。なお、以下において係数ラインや画像ラインの順番(何番目のラインであるか)はラインブロックの先頭を基準として説明する。
ラインブロックの最初の水平同期期間が開始されると、読み出し制御部223は、読み出し部214を制御し、所定のタイミングにおいて、サブバンド4LL、4HL、4LH、および4HHの係数ラインを1ラインずつバッファ部104から読み出させ、ウェーブレット逆変換部105に供給させる。ウェーブレット逆変換制御部224は、供給されたこれらの係数ラインを用いて、図10の矢印S1に示される合成フィルタリングを行い、サブバンド3LLの係数ラインを2ライン生成する。
次に、読み出し制御部223は、読み出し部214を制御し、所定のタイミングにおいて、サブバンド3HL、3LH、および3HHの1番目の係数ラインをバッファ部104から読み出させ、ウェーブレット逆変換部105に供給させる。ウェーブレット逆変換制御部224は、生成したサブバンド3LLの1番目の係数ラインと、供給されたこれらの係数ラインを用いて、図10の矢印S3に示される合成フィルタリングを行い、サブバンド2LLの係数ラインを2ライン生成する。
次に、読み出し制御部223は、読み出し部214を制御し、所定のタイミングにおいて、サブバンド2HL、2LH、および2HHの1番目の係数ラインをバッファ部104から読み出させ、ウェーブレット逆変換部105に供給させる。ウェーブレット逆変換制御部224は、生成したサブバンド2LLの1番目の係数ラインと、供給されたこれらの係数ラインを用いて、図10の矢印S5に示される合成フィルタリングを行い、サブバンド1LLの係数ラインを2ライン生成する。
次に、読み出し制御部223は、読み出し部214を制御し、所定のタイミングにおいて、サブバンド1HL、1LH、および1HHの1番目の係数ラインをバッファ部104から読み出させ、ウェーブレット逆変換部105に供給させる。ウェーブレット逆変換制御部224は、生成したサブバンド1LLの1番目の係数ラインと、供給されたこれらの係数ラインを用いて、図10の矢印S7に示される合成フィルタリングを行い、ベースバンドの画像ラインを2ライン生成する。
読み出し制御部223およびウェーブレット逆変換制御部224は、このような制御を、ウェーブレット逆変換部105が4回合成フィルタリングを行い、ラインブロックの最初の水平同期期間にベースバンドの画像ラインを2ライン生成するようなタイミングで行う。
画像ライン出力部106は、その最初の水平同期期間と、2番目の水平同期期間において、その生成された2ラインを出力する。
以上のように係数ラインを読み出すと、読み出し制御部223は、読み出し部214を制御し、さらに、所定のタイミングにおいて、サブバンド1HL、1LH、および1HHの2番目の係数ラインをバッファ部104から読み出させ、ウェーブレット逆変換部105に供給させる。ウェーブレット逆変換制御部224は、生成したサブバンド1LLの2番目の係数ラインと、供給されたこれらの係数ラインを用いて、図10の矢印S9に示される合成フィルタリングを行い、ベースバンドの画像ラインを2ライン生成する。
読み出し制御部223およびウェーブレット逆変換制御部224は、このような制御を、ウェーブレット逆変換部105が1回合成フィルタリングを行い、3番目の水平同期期間にベースバンドの画像ラインを2ライン生成するようなタイミングで行う。
画像ライン出力部106は、3番目の水平同期期間と4番目の水平同期期間において、その生成された2ラインを出力する。
以上のように係数ラインを読み出すと、読み出し制御部223は、読み出し部214を制御し、さらに、所定のタイミングにおいて、サブバンド2HL、2LH、および2HHの2番目の係数ラインをバッファ部104から読み出させ、ウェーブレット逆変換部105に供給させる。ウェーブレット逆変換制御部224は、生成したサブバンド2LLの2番目の係数ラインと、供給されたこれらの係数ラインを用いて、図10の矢印S11に示される合成フィルタリングを行い、サブバンド1LLの係数ラインを2ライン生成する。
次に、読み出し制御部223は、読み出し部214を制御し、所定のタイミングにおいて、サブバンド1HL、1LH、および1HHの3番目の係数ラインをバッファ部104から読み出させ、ウェーブレット逆変換部105に供給させる。ウェーブレット逆変換制御部224は、生成したサブバンド1LLの3番目の係数ラインと、供給されたこれらの係数ラインを用いて、図11の矢印S13に示される合成フィルタリングを行い、ベースバンドの画像ラインを2ライン生成する。
読み出し制御部223およびウェーブレット逆変換制御部224は、このような制御を、ウェーブレット逆変換部105が2回合成フィルタリングを行い、5番目の水平同期期間にベースバンドの画像ラインを2ライン生成するようなタイミングで行う。
画像ライン出力部106は、5番目の水平同期期間と6番目の水平同期期間において、その生成された2ラインを出力する。
以上のように係数ラインを読み出すと、読み出し制御部223は、読み出し部214を制御し、さらに、所定のタイミングにおいて、サブバンド1HL、1LH、および1HHの4番目の係数ラインをバッファ部104から読み出させ、ウェーブレット逆変換部105に供給させる。ウェーブレット逆変換制御部224は、生成したサブバンド1LLの4番目の係数ラインと、供給されたこれらの係数ラインを用いて、図11の矢印S15に示される合成フィルタリングを行い、ベースバンドの画像ラインを2ライン生成する。
読み出し制御部223およびウェーブレット逆変換制御部224は、このような制御を、ウェーブレット逆変換部105が1回合成フィルタリングを行い、7番目の水平同期期間にベースバンドの画像ラインを2ライン生成するようなタイミングで行う。
画像ライン出力部106は、7番目の水平同期期間と8番目の水平同期期間において、その生成された2ラインを出力する。
以上のように係数ラインを読み出すと、読み出し制御部223は、読み出し部214を制御し、さらに、所定のタイミングにおいて、サブバンド3HL、3LH、および3HHの2番目の係数ラインをバッファ部104から読み出させ、ウェーブレット逆変換部105に供給させる。ウェーブレット逆変換制御部224は、生成したサブバンド3LLの2番目の係数ラインと、供給されたこれらの係数ラインを用いて、図11の矢印S17に示される合成フィルタリングを行い、サブバンド2LLの係数ラインを2ライン生成する。
次に、読み出し制御部223は、読み出し部214を制御し、所定のタイミングにおいて、サブバンド2HL、2LH、および2HHの3番目の係数ラインをバッファ部104から読み出させ、ウェーブレット逆変換部105に供給させる。ウェーブレット逆変換制御部224は、生成したサブバンド2LLの3番目の係数ラインと、供給されたこれらの係数ラインを用いて、図11の矢印S19に示される合成フィルタリングを行い、ベースバンドの画像ラインを2ライン生成する。
次に、読み出し制御部223は、読み出し部214を制御し、所定のタイミングにおいて、サブバンド1HL、1LH、および1HHの5番目の係数ラインをバッファ部104から読み出させ、ウェーブレット逆変換部105に供給させる。ウェーブレット逆変換制御部224は、生成したサブバンド1LLの5番目の係数ラインと、供給されたこれらの係数ラインを用いて、図11の矢印S21に示される合成フィルタリングを行い、ベースバンドの画像ラインを2ライン生成する。
読み出し制御部223およびウェーブレット逆変換制御部224は、このような制御を、ウェーブレット逆変換部105が3回合成フィルタリングを行い、9番目の水平同期期間にベースバンドの画像ラインを2ライン生成するようなタイミングで行う。
画像ライン出力部106は、9番目の水平同期期間と10番目の水平同期期間において、その生成された2ラインを出力する。
以上のように係数ラインを読み出すと、読み出し制御部223は、読み出し部214を制御し、さらに、所定のタイミングにおいて、サブバンド1HL、1LH、および1HHの6番目の係数ラインをバッファ部104から読み出させ、ウェーブレット逆変換部105に供給させる。ウェーブレット逆変換制御部224は、生成したサブバンド1LLの6番目の係数ラインと、供給されたこれらの係数ラインを用いて、図12の矢印S23に示される合成フィルタリングを行い、ベースバンドの画像ラインを2ライン生成する。
読み出し制御部223およびウェーブレット逆変換制御部224は、このような制御を、ウェーブレット逆変換部105が1回合成フィルタリングを行い、11番目の水平同期期間にベースバンドの画像ラインを2ライン生成するようなタイミングで行う。
画像ライン出力部106は、11番目の水平同期期間と12番目の水平同期期間において、その生成された2ラインを出力する。
以上のように係数ラインを読み出すと、読み出し制御部223は、読み出し部214を制御し、さらに、所定のタイミングにおいて、サブバンド2HL、2LH、および2HHの4番目の係数ラインをバッファ部104から読み出させ、ウェーブレット逆変換部105に供給させる。ウェーブレット逆変換制御部224は、生成したサブバンド2LLの4番目の係数ラインと、供給されたこれらの係数ラインを用いて、図12の矢印S25に示される合成フィルタリングを行い、サブバンド1LLの係数ラインを2ライン生成する。
次に、読み出し制御部223は、読み出し部214を制御し、所定のタイミングにおいて、サブバンド1HL、1LH、および1HHの7番目の係数ラインをバッファ部104から読み出させ、ウェーブレット逆変換部105に供給させる。ウェーブレット逆変換制御部224は、生成したサブバンド1LLの7番目の係数ラインと、供給されたこれらの係数ラインを用いて、図12の矢印S27に示される合成フィルタリングを行い、ベースバンドの画像ラインを2ライン生成する。
読み出し制御部223およびウェーブレット逆変換制御部224は、このような制御を、ウェーブレット逆変換部105が2回合成フィルタリングを行い、13番目の水平同期期間にベースバンドの画像ラインを2ライン生成するようなタイミングで行う。
画像ライン出力部106は、13番目の水平同期期間と14番目の水平同期期間において、その生成された2ラインを出力する。
以上のように係数ラインを読み出すと、読み出し制御部223は、読み出し部214を制御し、さらに、所定のタイミングにおいて、サブバンド1HL、1LH、および1HHの8番目の係数ラインをバッファ部104から読み出させ、ウェーブレット逆変換部105に供給させる。ウェーブレット逆変換制御部224は、生成したサブバンド1LLの8番目の係数ラインと、供給されたこれらの係数ラインを用いて、図12の矢印S29に示される合成フィルタリングを行い、ベースバンドの画像ラインを2ライン生成する。
読み出し制御部223およびウェーブレット逆変換制御部224は、このような制御を、ウェーブレット逆変換部105が1回合成フィルタリングを行い、15番目の水平同期期間にベースバンドの画像ラインを2ライン生成するようなタイミングで行う。
画像ライン出力部106は、15番目の水平同期期間と16番目の水平同期期間において、その生成された2ラインを出力する。
以上のように、読み出し制御部223およびウェーブレット逆変換制御部224が、映像フォーマットの特徴に基づいて制御を行うことにより、ウェーブレット逆変換部105は、水平同期期間1つおきに、ベースバンドの画像データを2ラインずつ出力することができる。これにより、画像ライン出力部106は、水平同期期間毎にベースバンドの画像データを1ラインずつ出力することができる。つまり、実現可能な映像フォーマットであればどのようなものであっても、画像表示等の、復号画像データの即時的な(リアルタイムな)利用が可能になる。
このように復号装置100は、映像フォーマットに依らず、より低遅延な復号処理を実現することができる。
なお、画像ライン出力部106は、バッファを内蔵し、ウェーブレット逆変換部105から2ラインずつ供給される画像ラインを、そのバッファを用いて、1ラインずつ出力させる。このバッファ量を増やし、3ライン以上の画像ラインを蓄積することができるようにすれば、ウェーブレット逆変換処理の遅延に対応することができるようになるが、メモリ量増大により製造コストの増大や遅延時間の増大を招く恐れがある。
これに対して、復号装置100は、上述したように制御を行うことにより、このようなメモリ量の増大を抑制しつつ、より低遅延な復号処理を実現することができる。
また、図14の表からわかるように、水平ブランク期間の長さは、画像の解像度やフレームレートに依存する。つまり、水平ブランク期間の長さは映像フォーマット毎に設定されるものであり、映像フォーマットが互いに異なる画像データ同士では、水平ブランク期間の長さが互いに異なることもある。
例えば、1920×1080@60iの画像の場合、Hブランク値は280サンプルであるのに対して、1280×720@240pの画像の場合、Hブランク値は2845サンプルである。
この水平ブランク期間の長さは、復号処理の余裕度を示す。つまり、水平ブランク期間が長いほど、水平同期期間の長さ(水平サイズ)に対して、その水平同期期間内に処理する必要があるサンプル数が少ない(有効水平サイズが小さい)ことを示す。つまり、復号処理の余裕度(Hブランク値)が大きくなる。逆に、水平ブランク期間が短いほど、水平同期期間の長さ(水平サイズ)に対して、その水平同期期間内に処理する必要があるサンプル数が多い(有効水平サイズが大きい)ことを示す。つまり、復号処理の余裕度(Hブランク値)は小さくなる。
この余裕度が大きいほど、合成フィルタリングの実行タイミングの自由度は大きくなる。例えば、一般的に、長さ10の期間に長さ1の処理を10回行う場合、略余裕が無く、常に各処理を実行する必要があるが、長さ10の期間に長さ2の処理を2回行えばよい場合、より多様なタイミングからその処理を開始することができる。
この自由度の範囲内であれば、基本的に、時間的に後から処理を開始する方が、バッファ部104に係数データを蓄積させる時間が確保されるので、有利である。つまり、水平同期期間の長さが同じであっても、水平ブランク期間の長さによって、バッファ部104からの係数データの最適な読み出し開始タイミングが異なる。
そこで、フォーマット判定部221は、映像フォーマットの特徴の判定結果を読み出し開始タイミング制御部222に供給する(図13の矢印252)。
読み出し開始タイミング制御部222は、係数データの読み出しを開始するタイミングを、その判定結果に示される水平ブランク期間の長さに応じて調整し、それを読み出し制御部223に通知する(矢印253)。
例えば、水平ブランク期間が長い場合、読み出し開始タイミング制御部222は、係数データの読み出しを開始するタイミングを、なるべく時間的後に設定する。また、逆に、水平ブランク期間が短い場合、読み出し開始タイミング制御部222は、係数データの読み出しを開始するタイミングを、なるべく時間的前に設定する。
読み出し制御部223は、読み出し部214を制御し、その読み出し開始タイミングから係数データの読み出しを開始させる。
このようにすることにより、読み出し制御部223は、水平ブランク期間の長さに応じて、より適切なタイミングで係数データの読み出しを行わせるようにすることができる。
なお、読み出し開始タイミング制御部222が、読み出し制御部223を介さずに読み出し部214を制御するようにしてもよい。ただし、その場合、読み出し制御部223も、その後の読み出し制御のために、読み出し開始タイミング制御部222が係数データを読み出させたことを把握する必要がある。
さらに、上述したような読み出し制御部223の制御により、読み出し部214が読み出す係数データの量が水平同期期間毎に変化する。このため、映像フォーマットによっては、バッファ部104においてオーバフローやアンダーフローが発生する場合があることも考えられる。
そこで、バッファ制御部225は、入力データ量カウント部212から供給されるカウント値(入力データ量)と、出力データ量カウント部213から供給されるカウント値(出力データ量)とに基づいて、バッファ部104に蓄積されているデータ量(バッファ量)を管理し、バッファ部104においてオーバフローやアンダーフローが発生しないように、バッファ部104からの係数データの読み出しを制御する。
つまり、バッファ制御部225は、入力データ量と出力データ量とからバッファ量を算出し、オーバフローが発生しそうな場合、読み出し制御部223を制御し(矢印258)、本来の読み出しタイミングでなくても、読み出し部214に係数データの読み出しを直ちに実行させる。
また、バッファ制御部225は、バッファ部104においてアンダーフローが発生しそうな場合、読み出し制御部223を制御し(矢印258)、本来の読み出しタイミングであっても、読み出し部214に係数データを読み出させないようにする。
図13に示されるように、バッファ制御部225は、バッファ量演算部231、バッファ量判定部232、および読み出し調整部233を有する。
バッファ量演算部231は、入力データ量や出力データ量のカウント値に基づいてバッファ部104に蓄積されている係数データのデータ量を示すバッファ量を算出する。
バッファ量判定部232は、バッファ量演算部231により算出されたバッファ量が予め定められた所定の閾値(許容値)に対して大きいか小さいかを判定する。この閾値(許容値)には、オーバフローの発生を抑制するための閾値、すなわち、バッファ量の許容範囲の上限を示す許容値と、アンダーフローの発生を抑制するための閾値、すなわち、バッファ量の許容範囲の下限を示す許容値とがある。
読み出し調整部233は、その判定結果に基づいて、バッファ量調整のために、バッファ部104からの係数データの読み出しを実行させる。
例えば、バッファ量が、許容範囲の上限を示す許容値より大きくなった場合、オーバフローの発生の恐れがあるので、読み出し調整部233は、読み出し制御部223を制御し、読み出し部214に直ちに係数データを読み出させる。
また、例えば、バッファ量が、許容範囲の下限を示す許容値より小さくなった場合、アンダーフローの発生の恐れがあるので、読み出し調整部233は、読み出し制御部223を制御し、読み出し部214が係数データを読み出させないようにする。
このようにバッファ制御部225は、バッファ部104からの読み出しを制御することによりバッファ部104のバッファ量を制御する。これにより、バッファ部104におけるオーバフローやアンダーフローの発生を抑制することができる。これにより、復号装置100は、より低遅延な復号処理を実現することができる。
なお、読み出し調整部233が、読み出し制御部223を介さずに、読み出し部214を制御するようにしてもよい。ただし、その場合、読み出し制御部223も、その後の読み出し制御のために、読み出し調整部233が係数データを読み出させたことを把握する必要がある。
バッファ制御部225は、オーバフロー若しくはアンダーフローのいずれか一方の発生のみを抑制することもできる。その場合、バッファ制御部225は、制御が容易になり、処理の負荷を低減させることができるが、他方の発生を抑制することができなくなる。
ところで、オーバフローとアンダーフローの発生のしやすさは、映像フォーマットの特徴に依存する。
例えば、水平ブランク期間が短い場合、余裕度が小さく係数データの単位時間当たりのバッファ部104からの読み出し量が多いので、アンダーフローが発生しやすい。逆に、水平ブランク期間が長い場合、余裕度が大きく係数データの単位時間当たりのバッファ部104からの読み出し量が少ないので、オーバフローが発生しやすい。
そのため、バッファ制御部225は、オーバフローとアンダーフローのうち、発生の可能性がより高い方に対する制御処理のみを行う。このようにすることにより、バッファ制御部225は、発生の可能性が少ない方に対する処理を省略することができ、その分、処理の負荷を低減させることができる。
また、オーバフローとアンダーフローの発生のしやすさは、映像フォーマットの特徴に依存する。そこで、バッファ制御部225が、その特徴に基づいて、オーバフローとアンダーフローのいずれの方が、発生する可能性が高いかを判定する。
フォーマット判定部221は、フォーマットの特徴の判定結果をバッファ制御部225にも通知する(矢印257)。バッファ制御部225は、その判定結果に示される水平ブランク期間の長さに基づいて、オーバフローが発生しやすいか、若しくはアンダーフローが発生しやすいかを判定し、その発生しやすい方に対する処理のみを実行する。
このようにすることにより、バッファ制御部225は、映像フォーマットの特徴(水平ブランク期間の長さ)に応じて、オーバフロー若しくはアンダーフローの発生を抑制する処理を行うことができ、より効率よく処理を行うことができる。
[処理の流れ]
以上のような復号装置100により実行される復号処理の流れの例を図16のフローチャートを参照して説明する。
以上のような復号装置100により実行される復号処理の流れの例を図16のフローチャートを参照して説明する。
復号処理が開始されると、復号装置100のエントロピ復号部101は、ステップS101において、供給された符号化データをエントロピ復号する。
ステップS102において、逆量子化部102は、ステップS101の処理により符号化データがエントロピ復号されて得られた係数データを逆量子化する。
ステップS103において、逆量子化部102は、ステップS102の処理により逆量子化された係数データをバッファ部104に書き込む。
ステップS104において、逆量子化部102は、制御部103に制御され、係数データをバッファ部104から読み出す。ウェーブレット逆変換部105は、制御部103に制御されて、読みだされた係数データをウェーブレット逆変換する。
ステップS105において、画像ライン出力部106は、ウェーブレット逆変換されて得られた画像ラインを水平同期信号に合わせて1ラインずつ出力する。
ステップS105の処理が終了されると、復号処理が終了される。
なお、以上の処理は、所定のデータ単位毎に繰り返される。また、以上に説明した各ステップの処理は互いに並行して実行されることもある。
次に、図16のステップS104において実行される読み出し制御処理の流れの例を、図17のフローチャートを参照して説明する。
読み出し制御処理が開始されると、ステップS121において、フォーマット判定部221は、書き込み部211がバッファ部104に書き込んだ係数データの映像フォーマットの特徴を判定する。
ステップS122において、読み出し開始タイミング制御部222は、水平ブランク期間の長さに応じて、読み出し開始タイミングを設定する。
ステップS123において、読み出し制御部223は、読み出し部214を制御し、水平同期期間内に画像データを1ラインずつ出力できるようなペースでバッファ部104から係数データを読み出させる。もちろん、読み出し制御部223は、ステップS122において設定された読み出し開始タイミングに従って、読み出しを実行させる。
ステップS124において、ウェーブレット逆変換制御部224は、ウェーブレット逆変換部105を制御し、水平同期期間内に画像データを1ラインずつ出力できるようなペースで、ウェーブレット逆変換を実行させる。
ステップS124の処理が終了すると、読み出し制御処理が終了され、図16のステップS104に処理が戻り、ステップS105以降の処理が実行される。
制御部103が、以上のように読み出し制御処理を実行することにより、復号装置100は、映像フォーマットに依らず、より低遅延な復号処理を実現することができる。
なお、読み出し制御部223およびウェーブレット逆変換制御部224が、予め定められた所定の水平同期期間の長さに合わせてこの読み出し制御処理を行うようにしても良い。その場合、図17のステップS121およびステップS122の処理を省略することができる。また、図13において、制御部103のフォーマット判定部221、読み出し開始タイミング制御部222、およびバッファ制御部225を省略することができる。
また、読み出し制御部223およびウェーブレット逆変換制御部224が、フォーマット判定部221により判定された映像フォーマットの特徴(水平同期期間の長さ)に応じて、この読み出し制御処理を行うようにしても良い。その場合、図17のステップS122の処理を省略することができる。また、図13において、制御部103の読み出し開始タイミング制御部222、およびバッファ制御部225を省略することができる。
さらに、制御部103が、この読み出し制御処理のみを行うようにしても良い。その場合、図13において、制御部103のバッファ制御部225を省略することができる。
復号装置100は、図16に示される復号処理に並行して、バッファ部104のバッファ量を制御するバッファ制御処理を実行する。
図18および図19のフローチャートを参照して、そのバッファ制御処理の流れの例を説明する。
バッファ制御処理が開始されると、ステップS141において、フォーマット判定部221は、書き込み部211によりバッファ部104に書き込まれた係数データの映像フォーマットの特徴(水平ブランク期間の長さ)を判定する。例えば、フォーマット判定部221は、水平ブランク期間の長さを所定の時間(閾値)と比較し、閾値より長いか否かを判定する。
水平ブランク期間が所定時間より長いと判定された場合、制御部103は、ステップS142において、処理をステップS143に進める。水平ブランク期間が長い場合、オーバフローが発生する可能性が高いので、ステップS143以降において、そのオーバフローの発生を抑制するための処理が行われる。
ステップS143において、入力データ量カウント部212は、バッファ部104に書き込む係数データのデータ量(In_Data)をカウントする。
ステップS144において、バッファ量演算部231は、以下の式(7)に示されるように、その入力データ量を反映させてバッファ量(Buffer)を算出する。
Buffer=Buffer+In_Data ・・・(7)
ステップS145において、読み出し制御部223は、読み出し予定タイミングであるか否かを判定し、読み出し予定タイミングでないと判定された場合、ステップS146に処理を進める。
ステップS146において、バッファ量判定部232は、バッファ量を予め定められた所定の許容値(閾値)と比較し、バッファ量がその許容値を上回るか否かを判定する。バッファ量が許容値以下であると判定された場合、バッファ量判定部232は、ステップS147に処理を進める。
ステップS147において、読み出し調整部233は、特に読み出し制御部223を制御せずに待機する。そして、読み出し調整部233は、処理をステップS143に戻す。
また、ステップS146において、バッファ量が許容値を上回ると判定された場合、バッファ量判定部232は、ステップS148に処理を進める。
ステップS148において、読み出し調整部233は、オーバフローの発生を抑制するために、読み出し制御部223を制御し、読み出し部214に直ちに係数データを読み出させる。この処理が終了すると読み出し調整部233は、処理をステップS149に進める。
また、ステップS145において、読み出し予定タイミングであると判定された場合、読み出し制御部223は、ステップS149に処理を進める。この場合、読み出し制御部223は、読み出し調整部233に制御あされずに、読み出し部214に係数データを予定通り読み出させる。
ステップS149において、出力データ量カウント部213は、バッファ部104から読み出された係数データのデータ量(Out_Data)をカウントする。
ステップS150において、バッファ量演算部231は、以下の式(8)に示されるように、その出力データ量を反映させてバッファ量(Buffer)を算出する。
Buffer=Buffer−Out_Data ・・・(8)
ステップS151において、制御部103は、バッファ制御処理を終了するか否かを判定する。未処理の係数データが存在し、バッファ制御処理を継続すると判定された場合、制御部103は、処理をステップS143に戻し、それ以降の処理を実行させる。つまり、全ての係数データが処理されるまで、ステップS143乃至ステップS151の処理が繰り返される。
ステップS151において、バッファ制御処理を終了すると判定した場合、制御部103は、バッファ制御処理を終了する。
また、ステップS141の判定により、水平ブランク期間が所定時間より短いと判定された場合、制御部103は、ステップS142において、処理を図19のステップS171に進める。水平ブランク期間が短い場合、アンダーフローが発生する可能性が高いので、ステップS171以降において、そのアンダーフローの発生を抑制するための処理が行われる。
ステップS171において、入力データ量カウント部212は、バッファ部104に書き込む係数データのデータ量(In_Data)をカウントする。
ステップS172において、バッファ量演算部231は、上述した式(7)に示されるように、その入力データ量を反映させてバッファ量(Buffer)を算出する。
ステップS173において、読み出し制御部223は、読み出し予定タイミングであるか否かを判定する。読み出し予定タイミングでないと判定された場合、読み出し制御部223は、処理をステップS171に戻し、それ以降の処理を実行させる。つまり、アンダーフローに対する処理の場合、読み出し調整部233は、読み出し制御部223が読み出し調整部233の制御なしに読み出し部214を制御し、係数データを読み出させる、通常の読み出し予定タイミングにおいてのみ、制御を行う。
ステップS173において、読み出し予定タイミングであると判定した場合、読み出し制御部223は、処理をステップS174に進める。
ステップS174において、バッファ量判定部232は、係数データを予定量読み出したときのバッファ量を予め定められた所定の許容値(閾値)と比較し、係数データを予定量読み出すとバッファ量がその許容値を下回るか否かを判定する。バッファ量が許容値を下回ると判定された場合、バッファ量判定部232は、ステップS175に処理を進める。
この場合、アンダーフローが発生する可能性が高いので、ステップS175において、読み出し調整部233は、アンダーフローの発生を抑制するために、読み出し制御部223を制御し、係数データの読み出しを一時的に禁止する。つまり、読み出し制御部223に、この読み出し予定タイミングでの読み出しを禁止させる。
読み出しを禁止させると、読み出し調整部233は、処理をステップS171に戻し、それ以降の処理を実行させる。
ステップS174において、係数データを予定量読み出してもバッファ量が許容値以上であると判定された場合、バッファ量判定部232は、ステップS176に処理を進める。
ステップS171において、読み出し調整部233は、読み出し制御部223を制御しない。つまり、読み出し制御部223は、読み出し部214に予定通り係数データを読み出させる。この処理が終了すると読み出し制御部223は、処理をステップS177に進める。
ステップS177において、出力データ量カウント部213は、バッファ部104から読み出された係数データのデータ量(Out_Data)をカウントする。
ステップS178において、バッファ量演算部231は、上述した式(8)に示されるように、その出力データ量を反映させてバッファ量(Buffer)を算出する。
ステップS179において、制御部103は、バッファ制御処理を終了するか否かを判定する。未処理の係数データが存在し、バッファ制御処理を継続すると判定された場合、制御部103は、処理をステップS171に戻し、それ以降の処理を実行させる。つまり、全ての係数データが処理されるまで、ステップS171乃至ステップS179の処理が繰り返される。
ステップS179において、バッファ制御処理を終了すると判定した場合、制御部103は、図18に処理を戻し、バッファ制御処理を終了する。
以上のようにバッファ制御処理を実行することにより、復号装置100は、オーバフローやアンダーフローの発生を抑制することができる。
なお、バッファ制御部225が、オーバフローの発生のみを抑制するようにしてもよい。その場合、図18のステップS141およびステップS142、並びに、図19のステップS171乃至ステップS179の各処理を省略することができる。
また、バッファ制御部225が、アンダーフローの発生のみを抑制するようにしてもよい。その場合、図18のステップS141乃至ステップS151の処理が省略され、図19の処理のみが実行される。
<2.第2の実施の形態>
[パーソナルコンピュータ]
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。この場合、例えば、図20に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
[パーソナルコンピュータ]
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。この場合、例えば、図20に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
図20において、パーソナルコンピュータ400のCPU(Central Processing Unit)401は、ROM(Read Only Memory)402に記憶されているプログラム、または記憶部413からRAM(Random Access Memory)403にロードされたプログラムに従って各種の処理を実行する。RAM403にはまた、CPU401が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU401、ROM402、およびRAM403は、バス404を介して相互に接続されている。このバス404にはまた、入出力インタフェース410も接続されている。
入出力インタフェース410には、キーボード、マウスなどよりなる入力部411、CRT(Cathode Ray Tube)ディスプレイやLCD(Liquid Crystal Display)等のディスプレイ、並びにスピーカなどよりなる出力部412、フラッシュメモリ等SSD(Solid State Drive)やハードディスクなどよりなる記憶部413、有線LAN(Local Area Network)や無線LANのインタフェースやモデムなどよりなる通信部414が接続されている。通信部414は、インターネットを含むネットワークを介しての通信処理を行う。
入出力インタフェース410にはまた、必要に応じてドライブ415が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア421が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部413にインストールされる。
上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
この記録媒体は、例えば、図20に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc - Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、若しくは半導体メモリなどよりなるリムーバブルメディア421により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM402や、記憶部413に含まれるハードディスクなどにより構成される。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表すものである。
また、以上において、1つの装置(または処理部)として説明した構成が、複数の装置(または処理部)として構成されるようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成が、まとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成が付加されるようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部が他の装置(または他の処理部)の構成に含まれるようにしてもよい。つまり、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
本発明は、例えば、動画像信号やビデオ信号や静止画像を圧縮して伝送、受信して伸長して画像を出力するシステム等に用いられる装置に好適である。具体的には、モバイル通信機、TV会議システム、監視カメラ・レコーダシステム、医用遠隔医療診断、放送局内のビデオ圧縮・伝送、ライブ映像の配信、生徒と教師間のインタラクティブ通信、無線での静止画・動画伝送、対話型ゲームアプリケーション等に適用することができる。
100 復号装置, 101 エントロピ復号部, 102 逆量子化部, 103 制御部, 104 バッファ部, 105 ウェーブレット逆変換部, 106 画像ライン出力部, 201 逆量子化演算部, 202 入出力部, 211 書き込み部, 212 入力データ量カウント部, 213 出力データ量カウント部, 214 読み出し部, 221 フォーマット判定部, 222 読み出し開始タイミング制御部, 223 読み出し制御部, 224 ウェーブレット逆変換制御部, 225 バッファ制御部, 231 バッファ量演算部, 232 バッファ量判定部, 233 読み出し調整部
Claims (9)
- 階層的な分析フィルタ処理により所定ライン数の画像データが周波数帯域毎に分解された、少なくとも最低域成分のサブバンドの係数データを1ライン以上含む、各サブバンドの係数データ群を供給する供給手段と、
前記供給手段により供給された前記係数データ群を所定の手順で合成し、ベースバンドの画像データを生成する合成フィルタ手段と、
前記供給手段を制御し、前記合成フィルタ手段が前記画像データの水平同期信号の間の期間を示す水平同期期間に応じたタイミングに前記ベースバンドの画像データを生成することができるようなタイミングで、前記係数データを供給させる供給制御手段と、
前記合成フィルタ手段を制御し、前記供給手段により供給される前記係数データ群を前記所定の手順で合成させ、前記水平同期期間に応じたタイミングに前記ベースバンドの画像データを生成させる合成フィルタリング制御手段と
を備える画像処理装置。 - 前記合成フィルタ手段は、前記係数データ群を、より高域な成分をより優先的に生成するような順序で合成し、
前記供給制御手段は、前記合成フィルタ手段が、前記順序で合成を行い、前記水平同期期間1つおきに前記ベースバンドの画像データを2ラインずつ生成する事ができるようなタイミングで、合成に必要な前記係数データを前記供給手段に供給させる
請求項1に記載の画像処理装置。 - 前記画像データの前記水平同期期間の長さを判定する判定手段をさらに備え、
前記供給制御手段は、前記供給手段を制御し、前記合成フィルタ手段が、前記判定手段により判定された前記水平同期期間に応じたタイミングに前記ベースバンドの画像データを生成することができるようなタイミングで、前記係数データを供給させ、
前記合成フィルタリング制御手段は、前記合成フィルタ手段を制御し、前記判定手段により判定された前記水平同期期間に応じたタイミングに前記ベースバンドの画像データを生成させる
請求項1に記載の画像処理装置。 - 前記判定手段は、さらに、前記画像データの水平ブランク期間の長さを判定し、
前記判定手段により判定された前記水平ブランク期間の長さに応じて、前記供給手段の前記合成フィルタ手段に対する前記係数データの供給開始タイミングを制御する供給開始タイミング制御手段をさらに備える
請求項3に記載の画像処理装置。 - 前記合成フィルタ手段に供給する前記係数データ群を保持する保持手段をさらに備え、
前記供給手段は、前記保持手段により保持された前記係数データを読み出して前記合成フィルタ手段に供給し、
前記供給制御手段は、前記供給手段による前記保持手段からの前記係数データの読み出しを制御する
請求項1に記載の画像処理装置。 - 前記保持手段により保持される前記係数データのデータ量を算出する算出手段と、
前記算出手段により算出された前記データ量が、予め定められた所定の閾値を上回るか否かを判定する判定手段と、
前記判定手段により前記データ量が前記閾値を上回ると判定された場合、前記供給手段に、前記保持手段に保持されている前記係数データを直ちに読み出させる調整手段と
をさらに備える請求項5に記載の画像処理装置。 - 前記保持手段により保持される前記係数データのデータ量を算出する算出手段と、
前記算出手段により算出された前記データ量が、予め定められた所定の閾値を下回るか否かを判定する判定手段と、
前記判定手段により前記データ量が前記閾値を下回ると判定された場合、前記供給手段に、前記保持手段に保持されている前記係数データの読み出しを禁止させる調整手段と
をさらに備える請求項5に記載の画像処理装置。 - 前記画像データの水平ブランク期間の長さを判定する水平ブランク期間判定手段と、
前記保持手段により保持される前記係数データのデータ量を算出する算出手段と、
前記水平ブランク期間判定手段により前記水平ブランク期間の長さが長いと判定された場合、前記算出手段により算出された前記データ量が、予め定められた所定の第1の閾値を上回るか否かを判定し、前記水平ブランク期間判定手段により前記水平ブランク期間の長さが短いと判定された場合、前記算出手段により算出された前記データ量が、前記第1の閾値より値が小さい、予め定められた所定の第2の閾値を上回るか否かを判定するデータ量判定手段と、
前記データ量判定手段により前記データ量が前記第1の閾値を上回ると判定された場合、前記供給手段に、前記保持手段に保持されている前記係数データを直ちに読み出させ、前記データ量判定手段により前記データ量が前記第2の閾値を下回ると判定された場合、前記供給手段に、前記保持手段に保持されている前記係数データの読み出しを禁止させる調整手段と
をさらに備える請求項5に記載の画像処理装置。 - 画像処理装置の画像処理方法であって、
前記画像処理装置の供給手段が、階層的な分析フィルタ処理により所定ライン数の画像データが周波数帯域毎に分解された、少なくとも最低域成分のサブバンドの係数データを1ライン以上含む、各サブバンドの係数データ群を供給し、
前記画像処理装置の合成フィルタ手段が、前記供給手段により供給された前記係数データ群を所定の手順で合成し、ベースバンドの画像データを生成し、
前記画像処理装置の供給制御手段が、前記供給手段を制御し、前記合成フィルタ手段が前記画像データの水平同期信号の間の期間を示す水平同期期間に応じたタイミングに前記ベースバンドの画像データを生成することができるようなタイミングで、前記係数データを供給させ、
前記画像処理装置の合成フィルタリング制御手段が、前記合成フィルタ手段を制御し、前記供給手段により供給される前記係数データ群を前記所定の手順で合成させ、前記水平同期期間に応じたタイミングに前記ベースバンドの画像データを生成させる
画像処理方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010018284A JP2011160075A (ja) | 2010-01-29 | 2010-01-29 | 画像処理装置および方法 |
US12/930,930 US8411984B2 (en) | 2010-01-29 | 2011-01-20 | Image processing device and method |
CN2011100248323A CN102158695A (zh) | 2010-01-29 | 2011-01-24 | 图像处理设备和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010018284A JP2011160075A (ja) | 2010-01-29 | 2010-01-29 | 画像処理装置および方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011160075A true JP2011160075A (ja) | 2011-08-18 |
Family
ID=44341715
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010018284A Withdrawn JP2011160075A (ja) | 2010-01-29 | 2010-01-29 | 画像処理装置および方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8411984B2 (ja) |
JP (1) | JP2011160075A (ja) |
CN (1) | CN102158695A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014082616A (ja) * | 2012-10-16 | 2014-05-08 | Nippon Telegr & Teleph Corp <Ntt> | 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、画像符号化プログラム及び画像復号プログラム |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5936323B2 (ja) * | 2011-09-26 | 2016-06-22 | キヤノン株式会社 | 画像記録装置およびその制御方法 |
CA2977201C (en) * | 2015-03-04 | 2024-02-20 | Sony Corporation | Transmission device, transmission method, reception device, and reception method |
CN107135333A (zh) * | 2017-06-28 | 2017-09-05 | 三峡大学 | 一种教学录播系统 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0851553A (ja) * | 1994-08-04 | 1996-02-20 | Hitachi Ltd | テレビ装置の同期処理装置 |
JPH09284608A (ja) * | 1996-04-10 | 1997-10-31 | Fujitsu Ten Ltd | 映像信号処理回路 |
US6570579B1 (en) * | 1998-11-09 | 2003-05-27 | Broadcom Corporation | Graphics display system |
US6975689B1 (en) * | 2000-03-30 | 2005-12-13 | Mcdonald James Douglas | Digital modulation signal receiver with adaptive channel equalization employing discrete fourier transforms |
JP2006311327A (ja) | 2005-04-28 | 2006-11-09 | Sony Corp | 画像信号復号装置 |
JP4360379B2 (ja) * | 2006-05-16 | 2009-11-11 | ソニー株式会社 | 画像処理装置及び画像処理方法、プログラム及び記録媒体 |
JP4356031B2 (ja) * | 2007-05-17 | 2009-11-04 | ソニー株式会社 | 情報処理装置および方法 |
-
2010
- 2010-01-29 JP JP2010018284A patent/JP2011160075A/ja not_active Withdrawn
-
2011
- 2011-01-20 US US12/930,930 patent/US8411984B2/en not_active Expired - Fee Related
- 2011-01-24 CN CN2011100248323A patent/CN102158695A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014082616A (ja) * | 2012-10-16 | 2014-05-08 | Nippon Telegr & Teleph Corp <Ntt> | 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、画像符号化プログラム及び画像復号プログラム |
Also Published As
Publication number | Publication date |
---|---|
CN102158695A (zh) | 2011-08-17 |
US8411984B2 (en) | 2013-04-02 |
US20110188765A1 (en) | 2011-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4360379B2 (ja) | 画像処理装置及び画像処理方法、プログラム及び記録媒体 | |
US8098947B2 (en) | Method and apparatus for processing image data by rearranging wavelet transform data | |
JP4371120B2 (ja) | 画像処理装置及び画像処理方法、プログラム及び記録媒体 | |
JP5152598B2 (ja) | 符号化装置および符号化方法、並びに復号装置および復号方法 | |
JP4656190B2 (ja) | 情報処理装置および方法 | |
JP5240513B2 (ja) | 情報処理装置および方法 | |
WO2011037049A1 (ja) | 画像処理装置および方法 | |
JP2010093669A (ja) | 情報処理装置および方法 | |
JP2012209673A (ja) | 情報処理装置及び方法、画像提供システム及び画像提供方法、並びにプログラム | |
JP4356032B2 (ja) | 情報処理装置および方法 | |
JP5950157B2 (ja) | 画像処理装置および方法、並びに、プログラム | |
US8238434B2 (en) | Apparatus and method for processing wavelet information | |
JP2011160075A (ja) | 画像処理装置および方法 | |
JP2007142614A (ja) | 画像処理装置、画像処理方法、プログラム及び情報記録媒体 | |
JP2011147050A (ja) | 画像処理装置および方法 | |
JP5817125B2 (ja) | 画像処理装置および方法 | |
JP2011071649A (ja) | 画像処理装置および方法 | |
JP4793320B2 (ja) | 情報処理装置および方法 | |
JP4670947B2 (ja) | 情報処理装置および方法 | |
JP2010245855A (ja) | 情報処理装置および方法 | |
JP2011239066A (ja) | 画像処理装置および方法 | |
JP4821835B2 (ja) | 情報処理装置および方法 | |
JP2002369202A (ja) | 画像圧縮装置、画像伸長装置、画像圧縮方法、画像伸長方法、プログラム、及び該プログラムを記録した記録媒体 | |
JP6793499B2 (ja) | 画像符号化装置およびその制御方法 | |
JP2011114592A (ja) | 情報処理装置および方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20130402 |