JPWO2010070897A1 - 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、プログラム、及び集積回路 - Google Patents

動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、プログラム、及び集積回路 Download PDF

Info

Publication number
JPWO2010070897A1
JPWO2010070897A1 JP2010542874A JP2010542874A JPWO2010070897A1 JP WO2010070897 A1 JPWO2010070897 A1 JP WO2010070897A1 JP 2010542874 A JP2010542874 A JP 2010542874A JP 2010542874 A JP2010542874 A JP 2010542874A JP WO2010070897 A1 JPWO2010070897 A1 JP WO2010070897A1
Authority
JP
Japan
Prior art keywords
coefficients
node
unit
coefficient
sequence
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.)
Pending
Application number
JP2010542874A
Other languages
English (en)
Inventor
陽司 柴原
陽司 柴原
西 孝啓
孝啓 西
寿郎 笹井
寿郎 笹井
ウィットマン ステファン
ウィットマン ステファン
ドリゥジョーン ヴィルジニー
ドリゥジョーン ヴィルジニー
ナロスキ マティアス
ナロスキ マティアス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Publication of JPWO2010070897A1 publication Critical patent/JPWO2010070897A1/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Processing (AREA)

Abstract

符号化方法は、画像の画素値を、周波数を示すn個の係数で構成される2次元マトリクスに変換する変換ステップと、n個の係数それぞれを量子化してn個の量子化係数を生成する量子化ステップと、二分木を定義する木構造情報及び2次元マトリクスに基づいて、1次元シーケンスを生成するシーケンス生成ステップと、1次元シーケンス及びn個の量子化係数の少なくとも一部を符号化する符号化ステップとを含む。シーケンス生成ステップは、2次元マトリクスに基づいて、n個のリーフノードそれぞれが参照する2次元マトリクスの位置を示す参照先情報を生成する参照先決定ステップ(S31)と、2次元マトリクス及び参照先情報に基づいて、二分木の各ノードに第1及び第2の値のいずれかを割り当てる値割り当てステップ(S32)と、各ノードに割り当てられた値を行きがけ順に並べて1次元シーケンスを生成する走査ステップ(S33)とを含む。

Description

本発明は、動画像データを圧縮する符号化に関し、特に、高い符号化効率を実現する動画像符号化方法、動画像復号方法およびその装置に関する。特に量子化された非ゼロ係数の位置の記述方法を適応的に変化させるものである。
動画像データは、ビデオ電話やビデオ会議からDVDやデジタルテレビにわたって、広く応用されている。動画像データを送信または記録する際には、相当量のデータが限られた利用可能な周波数帯域をもつ伝送チャンネルを介して送信されるか、もしくは限られたデータ容量をもつ従来の記録メディアに格納されなければならない。そのため、デジタルデータを従来のチャンネルに送信、またはメディアに格納するためには、デジタルデータ量を圧縮もしくは削減することが不可欠である。
動画像データの圧縮に関し、複数の動画像符号化規格が開発されている。このような動画像規格には、例えば、H.26xで示されるITU−T規格、及びMPEG−xで示されるISO/IEC規格がある。最新の動画像符号化規格は、H.264/MPEG−4 AVC規格(非特許文献1)である。
これら規格の多くの基礎となる符号化アプローチは、以下に示す主なステージを含む。
(a)個々のビデオフレームをブロックレベルでのデータ圧縮の単位とするために、それぞれのビデオフレームを複数の画素ブロックに分割する。
(b)動画像データのそれぞれのブロックを空間領域から周波数領域に変換する。
(c)周波数領域の変換係数を量子化することによって、全体のデータ量を削減する。
(d)量子化変換係数をエントロピー符号化する。
(e)連続するフレームのブロック間の変化のみを符号化するために、連続するフレームのブロック間の時間的依存性を利用する。これは、動き予測及び補償技術を用いる。
画像情報を空間領域から周波数領域に変換することは、現在の動画像符号化規格の典型的なアプローチである。画像の情報圧縮は、画像コンテンツをごく僅かな周波数要素で表すことによって実現できる。自然画像コンテンツの周波数成分は、その多くが低周波数領域の係数に集中している。高周波成分は人間の目にはほとんど影響がないため、符号化対象となるデータ量を減らすために、削除もしくは量子化される。
MPEG−1、MPEG−2、MPEG−4、H.263、およびH.264/AVCといった現在の動画像符号化規格は、量子化後の周波数係数をさらに圧縮するためにエントロピー符号化を用いる。
このエントロピー符号化は、2次元の量子化変換係数ブロックを1次元シーケンスに変換するために、量子化された変換係数の2次元ブロックを走査する処理を含む。ジグザグ走査のような所定の走査方法が用いられる場合と、ゼロツリー走査方法(特許文献2)が用いられる場合がある。
図1はジグザグ走査の概念図である。2次元の量子化変換係数ブロック11を図のジグザグ走査順12で走査すると、量子化変換係数の1次元シーケンス13が得られる。この走査は、最低周波数係数(つまり、DC係数)から開始され、ブロックのゼロでない全ての係数が走査されると同時に終了する。このような走査方法の問題点の一つは、ゼロでない最後の係数に達するまでに多くのゼロである係数を走査しなければならないことである。
このようにして取得された量子化変換係数の1次元シーケンスは、非ゼロ係数と、ゼロ係数とに分離される。非ゼロ係数は、レベル及びサインと呼ばれる一連のいくつかの組として表現される。レベルは絶対値のことであり、サインは+−の符号のことである。図2は非ゼロ係数とゼロ係数への分離の概念図である。幾つかの0を要素に持つ量子化変換係数ブロック21を入力として説明すると、これは前述のように1次元シーケンス22へと走査される。この1次元シーケンスは、非ゼロ係数の位置を示すバイナリシーケンス23と非ゼロ係数を集めた非ゼロ係数シーケンス24へと分離される。
多くの応用において、符号化動画像データの蓄積又は転送が可能な量もしくは帯域は非常に制限されている。よって、可能な限り動画像データを圧縮する必要性がある。しかしながら、より粗く量子化を行うことによってデータ量を減らし、データ圧縮率を増加させることは、符号化画像の画質劣化を引き起こす。
ゼロである係数の冗長性を軽減する技術として周波数選択符号化(Frequency Selective Coding)が知られている(特許文献1)。人間の視覚特性が高域には鈍感である性質を利用し、高域係数の符号化頻度を抑えること、及び、特定の高域係数位置には同一フレーム内で全く係数を符号化せず、ゼロである係数のデータ量を軽減できるようにした符号化方法及び復号方法である。
図3は周波数選択符号化FSCの概念図である。2次元の量子化変換係数ブロック11は、FSC走査順32によりa、b、e、lの位置のみが走査され、それ以外の位置は走査されない。これにより得られる1次元シーケンス33のデータ個数を大幅に軽減できる。高域を複数のフレームにわたって循環的に符号化することにより、劣化を抑えることができる。図4は循環的な高域符号化の概念図であり、フレームf1では高域6を、フレームf2では高域7を、フレームf3では高域8を符号化する例である。
前述のように周波数選択符号化では高域係数の符号量を抑圧している。しかしながら、エッジなどの情報量の多い領域(ブロックなどの単位)では、高域係数を符号化しないと劣化を視認できる場合もある。
前述のゼロツリー走査方法(特許文献2)を説明する。図5はゼロツリー走査方法の概念図である。ゼロツリー走査方法では、2次元の量子化変換係数ブロック61に対して、各係数の位置をツリー構造62で表現する。ツリーはノードにより構成され、子を持つノードを内部ノード、子を持たないノードをリーフノードと呼ぶ。
このツリー構造に対して、深さ方向優先で左から右へ探索した時に、通過したリーフノードの順番が、量子化変換係数ブロック61に対するゼロツリー走査順65となる。ノードが有効な値を持つか(内部ノードの場合には子ノードを持つか、リーフノードの場合には係数を持つか)を通過順に示す情報を、有効ノードを示すバイナリシーケンス66、あるいは、ノードの値を示すバイナリシーケンス66と呼ぶ。
この例では有効ノードを示すバイナリシーケンス66(あるいは、ノードの値を示すバイナリシーケンス)はノードの数だけ要素1を持つ。この例では全てのノードが有効(値が1、つまり、リーフノードは係数を持ち、中間ノードは有効な子ノードを持つ)であるため、要素は全て1となった。しかしながら、あるリーフや中間ノードが有効ではない場合は、要素は0となる。中間ノードが0となる場合は、その子ノードの探索を行わない。つまり、その子(さらに子があればその子も)のノードに関する値を記述する必要がなくなるので、有効ノードを示すバイナリシーケンス66は短くなる。
例えば、図6に示されるように、幾つかの0を要素に持つ量子化変換係数ブロック71に対して、前述のツリー構造62で走査する。このとき、ノード73の子ノードは全て値を持たないので、ノード73の値は0と示す。復号時においては、あるノードが0の値を持つとき、その子ノードは値を持たないことがわかる。この例に対応する、有効ノードを示すバイナリシーケンス72は図示したようになり、図5の例と比べて、データ量を削減できることがわかる。
図5及び図6で示したようにツリー構造62は、ジグザグ走査と比べてデータ構造が複雑であり、符号化及び復号の処理量やメモリ量が多い。そのため、ツリー構造データの全体を頻繁に符号化することは冗長である。しかし、周波数選択的更新や、周波数選択的符号化の場合には、発生しにくい係数の位置、あるいは、発生しない係数の位置がフレームなどの単位で更新させる必要があり、効率的なデータ記述が望まれる。
また、ジグザグ走査の場合には、走査が一筆書きであるため、周波数選択的符号化において、符号化しなかったゼロ係数の個数に基づき、容易に、非ゼロ係数の位置を特定できた。しかし、ゼロツリー走査順では、係数の位置は分岐して記述されるため、符号化しなかったゼロ係数の有無の前後において係数の位置関係を把握するのが容易ではないという課題がある。
国際公開第2006/118288号公報 米国特許出願公開第2006/0133680号公報
本発明は、画質を劣化させず、かつ高いデータ圧縮率を実現する動画像符号化方法、動画像復号方法およびその装置を提供することを目的とする。
本発明の一形態に係る符号化方法は、画像を符号化する方法である。具体的には、前記画像の画素値を、周波数を示すn(nは2以上の整数)個の係数で構成される2次元マトリクスに変換する変換ステップと、前記2次元マトリクスを構成するn個の係数それぞれを量子化してn個の量子化係数を生成する量子化ステップと、内部ノード及びn個のリーフノードを含む複数のノードで構成される二分木を定義する木構造情報と、前記n個の量子化係数を含む前記2次元マトリクスとに基づいて、1次元シーケンスを生成するシーケンス生成ステップと、前記シーケンス生成ステップで生成された前記1次元シーケンス、及び前記n個の量子化係数の少なくとも一部を符号化して符号化信号を生成する符号化ステップとを含む。前記シーケンス生成ステップは、前記2次元マトリクスに基づいて、前記n個のリーフノードそれぞれが参照する前記2次元マトリクスの位置を示す参照先情報を生成する参照先決定ステップと、前記2次元マトリクス及び前記参照先情報に基づいて、前記木構造情報で定義される二分木の各ノードに、互いに異なる第1及び第2の値のいずれかを割り当てる値割り当てステップと、前記二分木を行きがけ順で走査して、各ノードに割り当てられた値を走査順に並べることにより、前記1次元シーケンスを生成する走査ステップとを含む。
上記構成のように、1次元シーケンスを生成するたびに参照先情報を更新することにより、1次元シーケンスの符号量を削減することができる。その結果、符号化効率の高い復号方法を実現することができる。また、木構造情報そのものを変更する必要がないので、処理負荷を軽減することができる。
一形態として、前記値割り当てステップでは、前記n個のリーフノードそれぞれに対して、前記参照先情報で示される前記2次元マトリクスの位置に保持される前記量子化係数を、前記符号化ステップで符号化する場合に前記第1の値を割り当て、前記符号化ステップで符号化しない場合に前記第2の値を割り当て、前記内部ノードに対して、2つの子ノードの少なくとも一方に前記第1の値が割り当てられている場合に前記第1の値を割り当て、2つの子ノードのいずれにも前記第2の値が割り当てられている場合に前記第2の値を割り当る。前記走査ステップでは、前記内部ノードに前記第2の値が割り当てられていた場合に、当該内部ノードの子孫ノードの走査を省略する。そして、前記参照先決定ステップでは、前記走査ステップで生成される前記1次元シーケンスが最も短くなるように、前記参照先情報を決定してもよい。上記構成のように、1次元シーケンスが最も短くなるように参照先情報を更新することにより、符号量を削減することができる。
また、前記符号化ステップでは、前記参照先決定ステップで生成された参照先情報が直前の参照先情報と異なる場合に、さらに、当該生成された参照先情報を符号化してもよい。このように、更新された場合にのみ参照先情報を符号化することにより、符号化効率の悪化を抑制することができる。
また、前記参照先情報は、前記2次元マトリクスの各位置を特定する位置情報と、前記位置情報を特定するインデックスとを対応付けて保持する中間テーブルであってもよい。そして、前記木構造情報は、前記二分木の構造を特定する構造情報と、前記n個のリーフノードが参照する前記中間テーブルのインデックスを示すインデックス情報とを含んでもよい。これにより、既存の復号装置への影響が極小化されるので、レガシー資産を有効利用することができる。
また、前記参照先情報決定ステップでは、符号化される前記量子化係数を保持する前記2次元マトリクスの位置が、符号化されない前記量子化係数を保持する前記2次元マトリクスの位置より走査順の早い前記リーフノードに割り当てられるように、前記2次元マトリクスの各位置とインデックスとの組み合わせを変更してもよい。これにより、1次元シーケンスを短くすることができる。
一形態として、前記符号化ステップでは、前記n個の量子化係数のうち、0でない量子化係数のみを選択的に符号化してもよい。他の形態として、前記2次元マトリクスは、第1のグループと第2のグループとに分割されている。そして、前記符号化ステップでは、前記第1のグループに属する全ての前記量子化係数と、前記第1のグループに属する前記量子化係数の値に応じて前記第2のグループから選択される前記量子化係数のみを選択的に符号化してもよい。
本発明の一形態に係る復号方法は、内部ノード及びn(nは2以上の整数)個のリーフノードを含む複数のノードで構成される二分木を定義する木構造情報を用いて、符号化信号から画像を生成する方法である。具体的には、前記符号化信号を復号して、互いに異なる第1及び第2の値を所定の順序で配列した1次元シーケンス、前記n個のリーフノードそれぞれが参照する前記2次元マトリクスの位置を示す参照先情報、及び1以上の量子化係数を生成する復号ステップと、前記1次元シーケンス、前記量子化係数、前記参照先情報、及び前記木構造情報に基づいて、n個の前記量子化係数で構成される2次元マトリクスを生成するマトリクス生成ステップと、前記2次元マトリクスを構成するn個の量子化係数それぞれを逆量子化して、周波数を示すn個の係数を生成する逆量子化ステップと、前記n個の係数を逆変換して前記画像の画素値を生成する逆変換ステップとを含む。そして、前記マトリクス生成ステップは、前記二分木を行きがけ順で走査して、前記1次元シーケンスに示される値を各ノードに割り当てるステップであって、前記内部ノードに前記第2の値が割り当てられた場合に、当該内部ノードの子孫ノードの走査を省略する逆走査ステップと、前記参照先情報に基づいて、前記第1の値が割り当てられた前記リーフノードが参照する前記2次元マトリクスの位置に、前記1以上の量子化係数を順に割り当てる係数割り当てステップとを含む。
本発明の一形態に係る符号化装置は、画像を符号化する装置である。具体的には、前記画像の画素値を、周波数を示すn(nは2以上の整数)個の係数で構成される2次元マトリクスに変換する変換部と、前記2次元マトリクスを構成するn個の係数それぞれを量子化してn個の量子化係数を生成する量子化部と、内部ノード及びn個のリーフノードを含む複数のノードで構成される二分木を定義する木構造情報と、前記n個の量子化係数を含む前記2次元マトリクスとに基づいて、1次元シーケンスを生成するシーケンス生成部と、前記シーケンス生成部で生成された前記1次元シーケンス、及び前記n個の量子化係数の少なくとも一部を符号化して符号化信号を生成する符号化部とを備える。そして、前記シーケンス生成部は、前記2次元マトリクスに基づいて、前記n個のリーフノードそれぞれが参照する前記2次元マトリクスの位置を示す参照先情報を生成する参照先決定部と、前記2次元マトリクス及び前記参照先情報に基づいて、前記木構造情報で定義される二分木の各ノードに、互いに異なる第1及び第2の値のいずれかを割り当てる値割り当て部と、前記二分木を行きがけ順で走査して、各ノードに割り当てられた値を走査順に並べることにより、前記1次元シーケンスを生成する走査部とを備える。
本発明の一形態に係る復号装置は、内部ノード及びn(nは2以上の整数)個のリーフノードを含む複数のノードで構成される二分木を定義する木構造情報を用いて、符号化信号から画像を生成する装置である。具体的には、前記符号化信号を復号して、互いに異なる第1及び第2の値を所定の順序で配列した1次元シーケンス、前記n個のリーフノードそれぞれが参照する前記2次元マトリクスの位置を示す参照先情報、及び1以上の量子化係数を生成する復号部と、前記1次元シーケンス、前記量子化係数、前記参照先情報、及び前記木構造情報に基づいて、n個の前記量子化係数で構成される2次元マトリクスを生成するマトリクス生成部と、前記2次元マトリクスを構成するn個の量子化係数それぞれを逆量子化して、周波数を示すn個の係数を生成する逆量子化部と、前記n個の係数を逆変換して前記画像の画素値を生成する逆変換部とを備える。そして、前記マトリクス生成部は、前記二分木を行きがけ順で走査して、前記1次元シーケンスに示される値を各ノードに割り当て、且つ前記内部ノードに前記第2の値が割り当てられた場合に、当該内部ノードの子孫ノードの走査を省略する逆走査部と、前記参照先情報に基づいて、前記第1の値が割り当てられた前記リーフノードが参照する前記2次元マトリクスの位置に、前記1以上の量子化係数を順に割り当てる係数割り当て部とを備える。
本発明の一形態に係るプログラムは、コンピュータに、画像を符号化させる。具体的には、前記画像の画素値を、周波数を示すn(nは2以上の整数)個の係数で構成される2次元マトリクスに変換する変換ステップと、前記2次元マトリクスを構成するn個の係数それぞれを量子化してn個の量子化係数を生成する量子化ステップと、内部ノード及びn個のリーフノードを含む複数のノードで構成される二分木を定義する木構造情報と、前記n個の量子化係数を含む前記2次元マトリクスとに基づいて、1次元シーケンスを生成するシーケンス生成ステップと、前記シーケンス生成ステップで生成された前記1次元シーケンス、及び前記n個の量子化係数の少なくとも一部を符号化して符号化信号を生成する符号化ステップとを含む。そして、前記シーケンス生成ステップは、前記2次元マトリクスに基づいて、前記n個のリーフノードそれぞれが参照する前記2次元マトリクスの位置を示す参照先情報を生成する参照先決定ステップと、前記2次元マトリクス及び前記参照先情報に基づいて、前記木構造情報で定義される二分木の各ノードに、互いに異なる第1及び第2の値のいずれかを割り当てる値割り当てステップと、前記二分木を行きがけ順で走査して、各ノードに割り当てられた値を走査順に並べることにより、前記1次元シーケンスを生成する走査ステップとをコンピュータに実行させる。
本発明の他の形態に係るプログラムは、コンピュータに、内部ノード及びn(nは2以上の整数)個のリーフノードを含む複数のノードで構成される二分木を定義する木構造情報を用いて、符号化信号から画像を生成させる。具体的には、前記符号化信号を復号して、互いに異なる第1及び第2の値を所定の順序で配列した1次元シーケンス、前記n個のリーフノードそれぞれが参照する前記2次元マトリクスの位置を示す参照先情報、及び1以上の量子化係数を生成する復号ステップと、前記1次元シーケンス、前記量子化係数、前記参照先情報、及び前記木構造情報に基づいて、n個の前記量子化係数で構成される2次元マトリクスを生成するマトリクス生成ステップと、前記2次元マトリクスを構成するn個の量子化係数それぞれを逆量子化して、周波数を示すn個の係数を生成する逆量子化ステップと、前記n個の係数を逆変換して前記画像の画素値を生成する逆変換ステップとを含む。そして、前記マトリクス生成ステップは、前記二分木を行きがけ順で走査して、前記1次元シーケンスに示される値を各ノードに割り当てるステップであって、前記内部ノードに前記第2の値が割り当てられた場合に、当該内部ノードの子孫ノードの走査を省略する逆走査ステップと、前記参照先情報に基づいて、前記第1の値が割り当てられた前記リーフノードが参照する前記2次元マトリクスの位置に、前記1以上の量子化係数を順に割り当てる係数割り当てステップとをコンピュータに実行させる。
本発明の一形態に係る集積回路は、画像を符号化する。具体的には、前記画像の画素値を、周波数を示すn(nは2以上の整数)個の係数で構成される2次元マトリクスに変換する変換部と、前記2次元マトリクスを構成するn個の係数それぞれを量子化してn個の量子化係数を生成する量子化部と、内部ノード及びn個のリーフノードを含む複数のノードで構成される二分木を定義する木構造情報と、前記n個の量子化係数を含む前記2次元マトリクスとに基づいて、1次元シーケンスを生成するシーケンス生成部と、前記シーケンス生成部で生成された前記1次元シーケンス、及び前記n個の量子化係数の少なくとも一部を符号化して符号化信号を生成する符号化部とを備える。そして、前記シーケンス生成部は、前記2次元マトリクスに基づいて、前記n個のリーフノードそれぞれが参照する前記2次元マトリクスの位置を示す参照先情報を生成する参照先決定部と、前記2次元マトリクス及び前記参照先情報に基づいて、前記木構造情報で定義される二分木の各ノードに、互いに異なる第1及び第2の値のいずれかを割り当てる値割り当て部と、前記二分木を行きがけ順で走査して、各ノードに割り当てられた値を走査順に並べることにより、前記1次元シーケンスを生成する走査部とを備える。
本発明の他の形態に係る集積回路は、内部ノード及びn(nは2以上の整数)個のリーフノードを含む複数のノードで構成される二分木を定義する木構造情報を用いて、符号化信号から画像を生成する。具体的には、前記符号化信号を復号して、互いに異なる第1及び第2の値を所定の順序で配列した1次元シーケンス、前記n個のリーフノードそれぞれが参照する前記2次元マトリクスの位置を示す参照先情報、及び1以上の量子化係数を生成する復号部と、前記1次元シーケンス、前記量子化係数、前記参照先情報、及び前記木構造情報に基づいて、n個の前記量子化係数で構成される2次元マトリクスを生成するマトリクス生成部と、前記2次元マトリクスを構成するn個の量子化係数それぞれを逆量子化して、周波数を示すn個の係数を生成する逆量子化部と、前記n個の係数を逆変換して前記画像の画素値を生成する逆変換部とを備える。そして、前記マトリクス生成部は、前記二分木を行きがけ順で走査して、前記1次元シーケンスに示される値を各ノードに割り当て、且つ前記内部ノードに前記第2の値が割り当てられた場合に、当該内部ノードの子孫ノードの走査を省略する逆走査部と、前記参照先情報に基づいて、前記第1の値が割り当てられた前記リーフノードが参照する前記2次元マトリクスの位置に、前記1以上の量子化係数を順に割り当てる係数割り当て部とを備える。
前記従来の課題である、ゼロツリー走査において周波数適応符号化を適用すると、非ゼロ係数の位置関係の管理が困難である課題を解決するために、本発明の動画像符号化方法は、ブロックを構成する複数の画素を、周波数を示す複数の係数に直交変換し、前記複数の係数を量子化し、複数の量子化係数をポジション情報とレベルとサイン(符号)へ符号化し、前記複数の量子化係数を少なくとも2つ以上の係数グループに分割し、第1のグループのポジション情報とレベルとサイン(符号)を符号化し、第2のグループの係数のサブセットを選択するか全体を選択するかを決定し、前記選択された係数のポジション情報とレベルとサインを符号化することを特徴とする動画像符号化方法である。
本発明によって、低域の係数の位置情報を符号化した後、ただちに、低域の係数を符号化させ、低域部分の必要な情報を全て揃えることで、後続の高域部分とデータの並び上において処理を独立させることにより、ゼロ係数のスキップがあっても、非ゼロ係数の位置関係の把握が容易になる。
本発明の動画像復号方法は、複数の画素をブロックに分割して符号化したデータを復号する動画像復号方法であって、当該ブロックの非ゼロ係数のポジション情報を非ゼロ係数の有無情報と非ゼロ係数の位置のツリー構造情報とから復号し、非ゼロ係数のレベルとサイン(符号)を復号し、前記非ゼロ係数のポジション情報と前記レベルと前記サインとを統合し、前記統合信号を逆量子化し、前記逆量子化信号を逆直交変換し画素値へと変換し、当該ブロックの非ゼロ係数のポジション情報の前記復号は、ある非ゼロ係数のポジション情報の決定時点において復号済みの非ゼロ係数の情報に応じて変化することを特徴とする動画像復号方法である。
また、当該ブロックの非ゼロ係数のポジション情報の前記復号は、下記(i)〜(iv)の少なくとも1つに応じて復号される。(i)復号済みの前記非ゼロ係数のポジション情報、(ii)復号済みの前記統合信号、(iii)復号済みの逆量子化信号、(iv)量子化パラメータ。
本発明の動画像符号化方法によれば、ゼロツリー構造のツリー部分のデータ(木構造情報)を変更せずに、容易に係数の位置を変更できる。その結果、符号化効率の高い動画像符号化方法を実現することができる。
図1は、従来のジグザグ走査の概念図である。 図2は、従来の非ゼロ係数とゼロ係数への分離の概念図である。 図3は、従来の周波数選択符号化FSCの概念図である。 図4は、従来の周波数選択符号化FSCの時間変化の概念図である。 図5は、従来のゼロツリー走査方法の概念図である。 図6は、従来のゼロツリー走査方法の概念図である。 図7は、本発明の実施の形態1に係るリーフと係数位置との対応関係のみを更新する方法の概念図である。 図8は、実施の形態1に係るリーフと係数位置との対応関係のみを更新するための中間メモリの概念図である。 図9は、実施の形態1に係る動画像符号化装置のブロック図である。 図10は、図9に示される動画像符号化装置の動作を示すフローチャートである。 図11は、実施の形態1に係る動画像復号装置のブロック図である。 図12は、図11に示される動画像復号装置の動作を示すフローチャートである。 図13は、実施の形態1に係るシーケンス生成部のブロック図である。 図14は、実施の形態1に係るマトリクス生成部のブロック図である。 図15Aは、実施の形態1に係る動画像符号化方法を示すフローチャートである。 図15Bは、実施の形態1に係る動画像復号方法を示すフローチャートである。 図16は、実施の形態1に係るシーケンス生成処理を示すフローチャートである。 図17は、図16のシーケンス生成処理を示す概念図である。 図18は、実施の形態1に係るマトリクス生成処理を示すフローチャートである。 図19は、図18のマトリクス生成処理を示す概念図である。 図20は、実施の形態2に係る動画像符号化方法の生成するツリー構造に関連するデータの概念図である。 図21は、実施の形態2に係る動画像符号化方法を示すフローチャートである。 図22Aは、実施の形態2に係る動画像符号化方法を示すフローチャートである。 図22Bは、実施の形態2に係る動画像復号化装置を示すフローチャートである。 図23は、実施の形態3に係る局所適応FSCの概念図である。 図24は、実施の形態4に係る動画像符号化方法の生成するツリー構造に関連するデータの概念図である。 図25は、実施の形態4に係る動画像符号化方法の生成するツリー構造に関連するデータの概念図である。 図26は、実施の形態4に係る動画像符号化方法の動作フローチャートである。 図27は、実施の形態5に係る動画像符号化方法の生成するツリー構造に関連するデータの概念図である。 図28は、実施の形態5に係る復号化済みのデータに応じてツリー構造を更新するゼロツリー復号部と周辺のブロック図である。 図29は、実施の形態5に係る復号化済みのデータに応じてツリー構造を更新するゼロツリー復号部の動作フローチャートである。 図30は、実施の形態6に係る複数の値を持つノードのツリー構造の探索に関する概念図である。 図31は、実施の形態6に係る複数の値を持つノードのツリー構造の探索に関する動作フローチャートである。 図32は、実施の形態7に係る動画像符号化方法の生成するツリー構造に関連するデータの概念図である。 図33は、実施の形態7に係るバイナリシーケンスと非ゼロ係数シーケンスのデータの並びを示す図である。 図34Aは、実施の形態7に係る動画像符号化方法を示すフローチャートである。 図34Bは、実施の形態7に係る動画像復号方法を示すフローチャートである。 図35は、実施の形態7に係る係数位置を指し示す情報を持たないゼロツリー構造の一例を示す概念図である。 図36は、実施の形態8における係数位置を指し示すシーケンスを符号化する一例を示す概念図である。 図37は、コンテンツ配信サービスを実現するコンテンツ供給システムの全体構成の一例を示す模式図である。 図38は、携帯電話の外観を示す図である。 図39は、携帯電話の構成例を示すブロック図である。 図40は、デジタル放送用システムの全体構成の一例を示す模式図である。 図41は、テレビの構成例を示すブロック図である。 図42は、光ディスクである記録メディアに情報の読み書きを行う情報再生記録部の構成例を示すブロック図である。 図43は、光ディスクである記録メディアの構造例を示す図である。 図44は、各実施の形態に係る画像符号化方法および画像復号方法を実現する集積回路の構成例を示すブロック図である。
(実施の形態1)
まず、図7及び図8を参照して、本発明の実施の形態1に係る符号化方法及び復号方法の概念を説明する。前述のように、周波数選択的更新では、発生しない係数の位置が少なくともフレーム単位に変化するが、ツリー構造62は複雑であるため、頻繁に更新するのは冗長である。これを解決するため、図7の概念図で示しているように、ツリー構造62のうち、ノード間の接続関係は更新せずに、リーフノードと係数との位置関係の対応のみを更新する。
また、図8の概念図で示すように、リーフノードと係数との位置関係の対応の間に、並び替え用のデータ配列(「参照先情報」ともいう)1101を設けることで、係数の位置情報のみの更新を実現できる。あるリーフノードの値は、データ配列1101内の順番を指し示しており、指し示された要素は、係数の位置を示している。
この例では、3の値を持つリーフノードの位置は、データ配列1101の3番目の要素を参照して得られる。フレームf1の時点におけるデータ配列1101の3番目の要素は、係数の位置aを指している。一方、フレームf2の時点におけるデータ配列1101の3番目の要素は、係数の位置bを指している。
データ配列はツリー構造のような複雑さは無いので容易に実現できる。別の表現を用いると、リーフノードが指し示す位置情報とは、間接位置情報であり、データ配列1101上の位置を示している。データ配列1101の中で、指し示された要素の値が指しているのが、係数の位置情報である。
また、図8の係数ゼロを示す要素1102のように、ブロックの係数位置a〜f以外の値を割り当てることで、この要素を指しているリーフノード(値5を持つノード)は、非ゼロ係数を持たないことを示すことができる。この場合では、係数位置fは、インデックスポインタ1103のいかなる要素からも指されていないので、非ゼロ係数を持たない、つまり、係数はゼロであることがわかる。
次に、図9及び図10を参照して、本発明の実施の形態1に係る動画像符号化装置100を説明する。図9は、動画像符号化装置100の機能ブロック図である。図10は、動画像符号化装置100の動作を示すフローチャートである。
動画像符号化装置100は、図9に示されるように、減算器105と、変換/量子化部110と、逆量子化/逆変換部120と、加算器125と、デブロッキングフィルタ130と、シーケンス生成部180と、エントロピー符号化部190と、符号化信号を出力する出力部(図示省略)と、予測ブロック生成部(図示省略)とを備える。
この動画像符号化装置100は、入力信号としての動画像信号を符号化し、符号化信号を出力する。出力先は特に限定されないが、例えば、DVD(Digital Versatile Disc)やBD(Blu−ray Disc)等の記録媒体でもよいし、伝送路を通じて動画像復号装置200に伝送してもよい。
減算器105は、符号化対象ブロック(入力信号)から予測ブロック(予測信号)を減算して予測誤差信号を生成する。変換/量子化部110は、予測誤差信号をDCT変換(Discrete Cosine Transformation:離散コサイン変換)すると共に、量子化して量子化係数を生成する。より具体的には、動画像信号の画素値を、周波数を示すn(nは2以上の整数)個の係数で構成される2次元マトリクスに変換する。そして、当該2次元マトリクスを構成するn個の係数それぞれを量子化して、n個の量子化係数を生成する。
シーケンス生成部180は、n個の量子化係数を含む2次元マトリクスを、1次元シーケンスと量子化係数とに分割する。シーケンス生成部180の具体的な動作は、後述する。エントロピー符号化部190は、シーケンス生成部180から出力される1次元シーケンス等をエントロピー符号化して符号化信号を生成する。
逆量子化/逆変換部120は、変換/量子化部110から出力された量子化係数を逆量子化すると共に、DCT逆変換して量子化予測誤差信号を生成する。加算器125は、量子化予測誤差信号と予測信号とを加算して再構築信号を生成する。デブロッキングフィルタ130は、再構築信号からブロック歪みを除去して復号信号を生成する。
予測ブロック生成部は、符号化対象ブロック(入力信号)より前に符号化された画像に基づいて、当該符号化対象ブロックを予測した予測信号を生成する。この予測ブロック生成部は、メモリ140と、補間フィルタ150と、動き予測部165と、動き補償予測部160と、イントラフレーム予測部170と、スイッチ175とによって構成されている。
メモリ140は、復号信号を一時記憶する遅延器として機能する。より具体的には、変換/量子化部110で量子化され、且つ逆量子化/逆変換部120で逆量子化されたブロックを順次記憶し、1枚の画像(ピクチャ)を記憶する。補間フィルタ150は、動き補償予測に先立って復号信号の画素値を空間的に補間する。動き予測部165は、復号信号と次の符号化対象ブロックとに基づいて動き予測を行い、動きデータ(動きベクトル)を生成する。動き補償予測部160は、復号信号と動きデータとに基づいて動き補償予測を行い、予測信号を生成する。イントラフレーム予測部170は、復号信号を画面内予測して予測信号を生成する。スイッチ175は、予測モードとして「イントラ」モード及び「インター」モードのいずれかを選択する。そして、スイッチ175から出力される予測ブロックは、次の符号化対象ブロックを予測した信号となる。
次に、図10を参照して、動画像符号化装置100の動作を説明する。
まず、減算器105は、入力信号から予測信号を減算して、予測誤差信号を生成する(S11)。次に、変換/量子化部110は、予測誤差信号をDCT変換すると共に、量子化して量子化係数を生成する(S12)。ここで、変換/量子化部110から出力されるのは、n個(典型的には、8×8=64個)の量子化係数で構成される2次元マトリクスである。
次に、シーケンス生成部180は、変換/量子化部110から出力される2次元マトリクスを1次元シーケンスに変換するシーケンス生成処理を実行する(S13)。シーケンス生成処理の詳細は、後述する。次に、エントロピー符号化部190は、1次元シーケンス、量子化係数、動きデータ、及び参照先情報(後述)等をエントロピー符号化して符号化信号を生成する(S14)。
一方、エントロピー符号化部190の動作と平行して、逆量子化/逆変換部120は、変換/量子化部110から出力される量子化係数を逆量子化すると共に、DCT逆変換して量子化予測誤差信号を生成する。また、加算器125は、量子化予測誤差信号と予測ブロックとを加算して再構築信号を生成する。デブロッキングフィルタ130は、再構築信号からブロック歪みを除去して復号信号を生成する。そして、予測ブロック生成部は、復号信号に基づいて予測ブロックを生成する(S16)。
次に、図11及び図12を参照して、本発明の一実施形態に係る動画像復号装置200の構成及び動作を説明する。図11は、動画像復号装置200のブロック図である。図12は、動画像復号装置200の動作を示すフローチャートである。
動画像復号装置200は、図11に示されるように、符号化信号を取得する取得部(取得部)と、エントロピー復号部290と、マトリクス生成部280と、逆量子化/逆変換部220と、加算器225と、デブロッキングフィルタ230と、予測ブロック生成部(図示省略)とを備える。この動画像復号装置200は、図9に示される動画像符号化装置100で符号化された符号化信号を復号して復号ブロック(復号信号)を生成する。
エントロピー復号部290は、動画像符号化装置100から出力された符号化信号をエントロピー復号して、1次元シーケンス、量子化係数、動きデータ、及び参照先情報を取得する。マトリクス生成部280は、1次元シーケンスと量子化係数とを結合して、n個の量子化係数で構成される2次元マトリクスを生成する。マトリクス生成部280の具体的な動作は、後述する。
逆量子化/逆変換部220は、マトリクス生成部280から出力される2次元マトリクスの各量子化係数を逆量子化すると共に、DCT逆変換することにより、量子化予測誤差信号を生成する。加算器225は、逆量子化/逆変換部220から出力される量子化予測誤差信号と、予測ブロック生成部から出力される予測信号とを加算して、再構築信号を生成する。デブロッキングフィルタ230は、加算器225から出力される再構築信号に対して適用され、ブロックのエッジを平滑化して主観的画質を改善する。
予測ブロック生成部は、メモリ240と、イントラフレーム予測部270と、動き補償予測部260と、補間フィルタ250と、スイッチ275とを備える。この予測ブロック生成部は、基本的な構成及び動作は共通するが、動き予測部165を省略して、動きデータをエントロピー復号部290から取得する点が異なる。
次に、図12を参照して、動画像復号装置200の動作を説明する。
まず、エントロピー復号部290は、符号化信号をエントロピー復号して、1次元シーケンス、量子化係数、動きデータ、及び参照先情報を取得する(S21)。次に、マトリクス生成部280は、1次元シーケンスと量子化係数とを結合して2次元マトリクスを生成するマトリクス生成処理を実行する(S22)。マトリクス生成処理の詳細は、後述する。
次に、逆量子化/逆変換部220は、マトリクス生成部280から出力される2次元マトリクスの各量子化係数を逆量子化すると共に、DCT逆変換することにより、量子化予測誤差信号を生成する(S23)。次に、加算器225は、量子化予測誤差信号と予測ブロックとを加算して再構築信号を生成する。また、デブロッキングフィルタ230は、再構築信号からブロック歪みを除去して復号信号を生成する。そして、動画像復号装置200は、当該復号信号を出力(典型的には、ディスプレイに表示)する(S24)。一方、予測ブロック生成部は、再構築信号を用いて、予測信号を生成する(S25)。
図13は本実施の形態1におけるシーケンス生成部180のブロック図である。シーケンス生成部180は、木構造決定部1001と、木構造情報メモリ1003と、参照先決定部1005と、参照先情報メモリ1007と、係数走査ユニット1009とを備える。
木構造決定部1001は、あらかじめ決められた構造情報1000、あるいは、直前に符号化したフレームやスライスの係数の発生頻度や強度情報等を基に、木構造情報1002を決定する。木構造決定部1001は、決定した木構造情報1002を、木構造情報メモリ1003へ格納するとともに、蓄積メディアや伝送路1030へ出力する。同時にリーフノードに格納する参照先情報1013の初期値を決定し、参照先情報メモリ1007へ格納する。
ここで、木構造情報1002は、内部ノード及びn個のリーフノードを含む複数のノードで構成される二分木(「ゼロツリー」ともいう)を定義する情報である。参照先情報1013は、n個のリーフノードそれぞれが参照する2次元マトリクスの位置を示す情報である。
n個の量子化係数で構成される2次元マトリクス1010は、係数走査ユニット1009に入力される。係数走査ユニット1009は、木構造情報メモリ1003から読み出した木構造情報1004と、参照先情報メモリ1007から読み出した参照先情報1006とを基に、ゼロツリーの走査方法に従って係数を走査し、有効ノードを示すバイナリシーケンスと非ゼロ係数のレベルとサインの情報1012へ変換し、蓄積メディアや伝送路1030へ出力する。
より具体的には、係数走査ユニット1009は、木構造情報1004、参照先情報1006、及びn個の量子化係数を含む2次元マトリクス1010に基づいて1次元シーケンスを生成する。この係数走査ユニット1009は、値割り当て部1009aと、走査部1009bとで構成される。
値割り当て部1009aは、木構造情報1004で定義される二分木の各ノードに、互いに異なる第1及び第2の値のいずれかを割り当てる。実施の形態1において、第1の値は「1」、第2の値は「0」である。
値割り当て部1009aは、まず、n個のリーフノードそれぞれに対して、参照先情報1013で示される2次元マトリクスの位置に保持される量子化係数を、エントロピー符号化部190で符号化する場合に「1」を割り当て、エントロピー符号化部190で符号化しない場合に「0」を割り当てる。次に、内部ノードに対して、2つの子ノードの少なくとも一方に「1」が割り当てられている場合に「1」を割り当て、2つの子ノードのいずれにも「0」が割り当てられている場合に「0」を割り当てる。
走査部1009bは、二分木を行きがけ順(preorder)で走査して、各ノードに割り当てられた値を走査順に並べることにより、1次元シーケンスを生成する。このとき、走査部1009bは、内部ノードに「0」が割り当てられていた場合に、当該内部ノードの子孫ノードの走査を省略する。
参照先決定部1005は、並び替えを行うトリガ信号1011を受信すると、新たな参照先情報1006を生成する。そして、当該新たな参照先情報1006で参照先情報メモリ1007を上書きすると共に、新たな参照先情報1006を蓄積メディアまたは伝送路1030へ出力する。ここで、並び替えを行うトリガ信号1011とは、周波数適応選択更新における、更新する高域係数の位置が変更された場合等である。このとき、参照先決定部1005は、値割り当て部1009aの処理によって、より上位の内部ノードに「0」が割り当てられるように(言い換えれば、1次元シーケンスができるだけ短くなるように)、参照先情報1006を決定する。
図14は、本実施の形態1におけるマトリクス生成部280のブロック図である。マトリクス生成部280は、木構造情報メモリ1003と、参照先情報メモリ1007と、係数逆走査ユニット2209とを備える。
蓄積メディアや伝送路1030より、フレームやスライスや複数のブロックなどの比較的広い周期で木構造情報1002を受信し、木構造情報メモリ1003に格納する。格納された木構造情報1002は、係数逆走査ユニット2209へ出力される。木構造情報1002は、リーフノードと係数の位置情報との関係を示す参照先情報1013の初期値を持つ場合があるので、持つ場合には参照先情報メモリ1007へ格納する。同様の頻度あるいはブロック単位の頻度で新たな参照先情報1006を受信すると、当該新たな参照先情報1006で参照先情報メモリ1007が上書きされる。
係数逆走査ユニット2209は、有効ノードを示すバイナリシーケンスと非ゼロ係数のレベルとサインの情報1012を入力し、木構造情報1002と参照先情報1006とを基に、有効ノードを示すバイナリシーケンスに従い非ゼロ係数の位置を決定し、非ゼロ係数のレベルとサインを統合し、n個の量子化係数を含む2次元マトリクス1010を出力する。
より具体的には、係数逆走査ユニット2209は、1次元シーケンス、量子化係数、参照先情報1006、及び木構造情報1002に基づいて、n個の量子化係数で構成される2次元マトリクス1010を生成する。この係数逆走査ユニット2209は、逆走査部2209aと、係数割り当て部2209bとで構成される。
逆走査部2209aは、二分木を行きがけ順(preorder)で走査して、1次元シーケンスに示される値を各ノードに割り当てる。但し、内部ノードに「0」が割り当てられた場合に、当該内部ノードの子孫ノードの走査を省略する。係数割り当て部2209bは、参照先情報1006に基づいて、「0」が割り当てられたリーフノードが参照する2次元マトリクスの位置に、量子化係数を順に割り当てる。
図15Aは、本実施の形態1における動画像符号化装置100の動作手順を示すフローチャートである。まず、木構造決定部1001で生成された木構造情報1002は、エントロピー符号化部190で符号化されて出力される(S901)。この木構造情報1002は比較的情報量が大きいので、1度だけ生成されて出力されるのが一般的である。
次に、フレーム単位あるいはスライス単位あるいは、複数のブロックの単位の繰り返し処理(S902〜S905)において、一つまたは複数のブロックの量子化係数及び1次元シーケンスが符号化される(S903)。また、周波数適応更新における、更新する係数の位置が変化した場合などには、リーフノードが持つ係数の参照先情報1006を符号化する(S904)。そして、これらの情報は、エントロピー符号化部190で符号化されて符号化済みストリーム(「符号化信号」ともいう)として出力される。符号化対象のフレームまたはスライスまたは複数のブロックがまだ残っていれば、再び係数の符号化(S903)を行う。なお、参照先情報の更新(S904)は、量子化係数の符号化(S903)の前に行ってもよい。
また、前述のFSCでは符号化しない係数位置があるが、位置情報の並び替え時において、有効な係数位置が存在しないことを特別な値で表現してもよい(例えば−1.と割り当てる。あるいは、4*4の16係数を持つブロックにおいて0から15の値を係数位置に割り当てている場合に16と割り当てるなど)。このような無効な位置がリーフノードの値に割り当てられる場合、その親が持つもう一方の子ノードの値も0である場合には、その親の値も0に書き換える必要がある。この書き換えは全てのリーフノードから根に向かって行われる。
図15Bは、本実施の形態における動画像復号装置200の動作手順を示すフローチャートである。まず、符号化済みストリームから、木構造情報1002が復号される(S911)。次に、フレーム単位またはスライス単位または複数のブロック単位の繰り替えし処理(S912〜S915)において、量子化係数および1次元シーケンスが復号される(S913)。また、リーフノードが持つ係数の参照先情報1006を更新する情報が符号化済みストリームにあれば、参照先情報メモリ1007の参照先情報1006を更新する(S914)。
符号化済みストリームにまだ復号していない符号化済みデータが残っていれば(S915)、復号処理を継続する(S912)。なお、参照先情報1006の復号(S914)と量子化係数及び1次元シーケンスの復号(S913)は順序を入れ替えてもよい。
次に、図16及び図17を参照して、実施の形態1におけるシーケンス生成処理の一例を説明する。図16は、シーケンス生成処理のフローチャートである。図17は、シーケンス生成処理で生成されるデータの一例を示す図である。
2次元マトリクス1010は、n個の量子化係数で構成されている。また、図17では、2次元マトリクス1010の各セルの位置をa〜fで示している。なお、図17では、簡単のために6個の量子化係数で構成される2次元マトリクス1010の例を示したが、本発明はこれに限定されるものではない。例えば、4×4(=16)マトリクスや8×8(=64)マトリクスであってもよい。
木構造情報1002は、二分木の構造を定義するための情報である。具体的なデータ構造は特に限定されないが、例えば、構造情報(ztree_structure)と、インデックス情報(ztree_leaf_index)とで構成される。
構造情報は、二分木の構造を特定するための情報であって、例えば、二分木を行きがけ順で走査した場合の内部ノード及びリーフノードの並び順を示す。ここで、「行きがけ順」とは、二分木を構成する各部分木毎に「親ノード→左ノード→右ノード」の順、又は「親ノード→右ノード→左ノード」の順で走査することを指す。図17の例では、「0」が内部ノードを示し、「1」がリーフノードを示す。インデックス情報は、n個のリーフノードが参照する中間テーブル(後述)のインデックスを示す。なお、図17の二分木において、各ノードの左肩に示す数値xは、当該ノードの走査順を示す。以下、特定のノードを指す場合に「ノード(x)」と表記する。
そして、参照先決定部1005は、2次元マトリクス1010及び木構造情報1002に基づいて、参照先情報1006を生成する(S31)。図17に参照先情報1006の具体例である参照先情報1006a、1006bを示す。参照先情報1006a、1006bは、2次元マトリクスの各位置(a〜f)を示す位置情報と、当該位置情報を特定するインデックス(I〜VI)とを対応付けて保持する中間テーブルである。インデックス(I〜VI)は、木構造情報1002のインデックス情報に対応する。つまり、二分木の各リーフノードは、参照先情報1006a、1006bを経由して、2次元マトリクス1010にアクセスする。
ここで、参照先決定部1005は、生成される1次元シーケンスが最も短くなるような参照先情報1006を生成する。つまり、2次元マトリクスの各位置を示す位置情報と、インデックスとの組み合わせを変更する。例えば、値割り当て部1009aの処理によって、より上位の内部ノードに「0」が割り当てられるような参照先情報1006を生成する。または、符号化される量子化係数を保持する2次元マトリクスの位置が、符号化されない量子化係数を保持する2次元マトリクスの位置より走査順の早いリーフノードに割り当てられるように、参照先情報1006を生成する。
参照先情報1006の具体的な決定方法は特に限定されないが、例えば、予め複数の参照先情報1006a、1006bを用意しておき、当該複数の参照先情報1006a、1006bに基づいて1次元シーケンスを生成し、最も短い1次元シーケンスを生成できる参照先情報1006を選択するようにしてもよい。または、直前に生成された参照先情報1006aに基づいて1次元シーケンスを生成し、当該生成された1次元シーケンスより短い1次元シーケンスが生成できるように、参照先情報1006aの位置情報とインデックスとの組み合わせを変更して、新たな参照先情報1006bを生成してもよい。
まず、参照先情報1006aを用いて1次元シーケンスを生成する処理を説明する。
値割り当て部1009aは、木構造情報1002で定義される二分木の各ノードに、「1」及び「0」のいずれかを割り当てる(S32)。
まず、n個のリーフノードそれぞれに対して値を割り当てる。具体的には、参照先情報1006aで示される2次元マトリクス1010の位置に保持される量子化係数を符号化する場合は「1」を割り当てる。一方、当該量子化係数を符号化しない場合は「0」を割り当てる。ここで、実施の形態1では、0でない量子化係数のみを符号化する。
例えば、ノード(3)のインデックスはIであり、参照先情報1006aのインデックスIには位置aが対応付けられている。位置aの量子化係数は「15」であり、当該量子化係数は符号化されるので、ノード(3)には「1」が割り当てられる。一方、ノード(11)のインデックスはVIであり、参照先情報1006aのインデックスVIには位置fが対応付けられている。位置fの量子化係数は「0」であり、当該量子化係数は符号化されないので、ノード(11)には「0」が割り当てられる。
次に、内部ノードに対して値を割り当てる。具体的には、2つの子ノードの少なくとも一方に「1」が割り当てられている場合は「1」を割り当てる。一方、2つの子ノードのいずれにも「0」が割り当てられている場合は「0」を割り当てる。
例えば、ノード(2)の子ノードであるノード(3)及びノード(4)には「1」が割り当てられる。すなわち、ノード(2)には「1」が割り当てられる。一方、ノード(8)の子ノードであるノード(9)及びノード(10)には「0」が割り当てられる。すなわち、ノード(8)には「0」が割り当てられる。
次に、走査部1009bは、各ノードに値が割り当てられた二分木を行きがけ順で走査し、各ノードに割り当てられた値を走査順に並べる(S33)。その結果、参照先情報1006aを用いることにより、1次元シーケンス(111111100)が得られる。また、符号化される量子化係数の列は(15,7,2)である。
次に、参照先情報1006bを用いて1次元シーケンスを生成する処理を説明する。なお、参照先情報1006bは、インデックスIIIと位置fとが対応付けられ、インデックスVIと位置cとが対応付けられている点で、参照先情報1006aと異なる。また、1次元シーケンスの生成手順は既に説明したので、再度の説明は省略する。参照先情報1006bを用いることにより、1次元シーケンス(1111101)が得られる。また、符号化される量子化係数の列は(15,7,2)である。
図17を参照すれば明らかなように、参照先情報1006aを用いた場合、ノード(8)に「0」が割り当てられる。一方、参照先情報1006bを用いた場合、ノード(6)に「0」が割り当てられる。すなわち、参照先情報1006bを用いることにより、より上位の内部ノードに「0」を割り当てることができる。
また、参照先情報1006aを用いて生成される1次元シーケンスは、9ビットである。それに対して、参照先情報1006bを用いて生成される1次元シーケンスは、7ビットである。すなわち、参照先情報1006bを用いることにより、より短い1次元シーケンスを生成することができる。
次に、シーケンス生成部180は、生成(使用)された参照先情報1006bが直前に生成(使用)された参照先情報と異なるか否か(つまり、更新されたか)を判断する(S34)。参照先情報1006bが直前に生成されたものと異なる場合(S34でYes)、シーケンス生成部180は、1次元シーケンス、量子化係数の列、及び参照先情報1006bをエントロピー符号化部190に出力する(S35)。なお、エントロピー符号化部190は、参照先情報1006b全体を符号化してもよいし、直近の参照先情報1006aとの差分のみを符号化してもよい。
一方、参照先情報1006bが直前に生成されたものと同一である場合(S34でNo)、シーケンス生成部180は、1次元シーケンス及び量子化係数の列をエントロピー符号化部190に出力する(S36)。
上記構成とすることにより、エントロピー符号化部190での符号量を削減することができる。また、上記の処理は、データ量の大きい木構造情報1002を変更することなく、参照先情報1006の変更のみで実現することができるので、処理負荷が大きく増大することはない。
なお、実施の形態1における木構造情報1002は、構造情報(ztree_structure)と、インデックス情報(ztree_leaf_index)とを含む。また、参照先情報1006は、2次元マトリクス1010の各位置を特定する位置情報と、位置情報を特定するインデックスとを対応付けて保持する中間テーブルである。しかしながら、中間テーブルを省略し、木構造情報1002のうちのインデックス情報を最適化する(つまり、インデックス情報が参照先情報に相当する)構成であってもよい。
次に、図18及び図19を参照して、実施の形態1におけるマトリクス生成処理の一例を説明する。図18は、マトリクス生成処理のフローチャートである。図19は、マトリクス生成処理で生成されるデータの一例を示す図である。
まず、マトリクス生成部280は、エントロピー復号部290から出力される信号を取得する。この信号には、動画像符号化装置100で生成された1次元シーケンス(1111101)、量子化係数の列(15,7,2)、及び新たに生成された参照先情報1006bが含まれる。
そこで、マトリクス生成部280は、エントロピー復号部290から出力される信号に参照先情報1006bが含まれる場合、つまり、参照先情報1006が更新されていた場合(S41でYes)、当該新たな参照先情報1006bで参照先情報メモリ1007を上書きする(S42)。一方、エントロピー復号部290から出力される信号に参照先情報1006が含まれていない場合(S41でNo)、マトリクス生成部280は、S42の処理を省略する。
次に、逆走査部2209aは、二分木を行きがけ順で走査して、1次元シーケンスに示される値を各ノードに割り当てる(S43)。ただし、内部ノードに「0」が割り当てられた場合に、内部ノードの子孫ノードの走査を省略する。
この逆走査処理(S43)を図19を用いて説明する。まず、1次元シーケンスの各値を各ノードに割り当てる。具体的には、ノード(1)〜(5)に「1」を割り当て、ノード(6)に「0」を割り当てる。ここで、内部ノードであるノード(6)に「0」が設定されたので、当該ノード(6)の子孫ノードであるノード(7)〜(10)の走査(値の割り当て)を省略する。つまり、1次元シーケンスの最後の値「1」はノード(11)に割り当てられる。
次に、係数割り当て部2209bは、参照先情報1006bに基づいて、「1」が割り当てられたリーフノードが参照する2次元マトリクスの位置に、量子化係数の列に含まれる各係数を順に割り当てる(S44)。これにより、2次元マトリクスが生成される。
逆走査処理(S43)で「1」が割り当てられたリーフノードは、ノード(3)、(4)、(11)である。また、ノード(3)には参照先情報1006bのインデックスIが、ノード(4)にはインデックスIIが、ノード(11)にはインデックスVIがそれぞれ割り当てられている。そこで係数割り当て部2209bは、ノード(3)が参照先情報1006bを経由して参照する2次元マトリクスの位置aに量子化係数の列のうちの最初の係数「15」を割り当てる。同様に、係数割り当て部2209bは、ノード(4)が参照する位置bに量子化係数「7」を、ノード(11)が参照する位置cに量子化係数「2」を割り当てる。一方、「0」が設定されたリーフノード(ノード(7)、(9)、(10))が参照する位置d、e、fには、量子化係数「0」が設定される。
上記構成によれば、データ量の大きい木構造情報1002を変更することなく、参照先情報1006の変更のみで、1次元シーケンスから2次元マトリクスを再構成することができるので、処理負荷が大きく増大することはない。
(実施の形態2)
次に、図20〜図22Bを参照して、本発明の実施の形態2に係る動画像符号化装置100及び動画像復号装置200の動作を説明する。なお、動画像符号化装置100及び動画像復号装置200の構成及び基本的な動作は、実施の形態1と共通するので、詳しい説明は省略する。
実施の形態1においては、2次元マトリクス中の0でない量子化係数のみを符号化する例を示したが、本発明はこれに限定されない。例えば、周波数選択符号化を利用して、符号化すべき量子化係数を選択するようにしてもよい。
つまり、予め2次元マトリクスを、第1のグループと第2のグループとに分割しておく。そして、エントロピー符号化部190は、第1のグループに属する全ての量子化係数と、第1のグループに属する量子化係数の値に応じて第2のグループから選択される量子化係数のみを選択的に符号化する。そして、シーケンス生成部180は、上記のルールに基づいて、符号化される量子化係数と、符号化されない量子化係数とを区別すればよい。
前述のように、周波数選択的更新では、低域の係数と一部の高域の係数のみが符号化され、残りの多くの係数は符号化されない。この場合、図20の概念図に示すように、ゼロツリー構造1202の最も親のノード1203から見て、最初に走査される方の子供(この例では左から右への優先順位があるとしているので、左側の部分木1204)に、非ゼロ係数を持つ可能性のある係数の位置を配置し、2番目に走査される方の子供(この例では右側の部分木1205)に、非ゼロ係数を持たない係数の位置を全て配置する。
非ゼロ係数を持つ可能性のある状態とは、非ゼロとなる場合もゼロとなる場合もあり、ゼロと決まっているわけではない状態のことを指している。周波数選択的更新では、非ゼロ係数を持たない係数の個数が一般的には多いが、このように非ゼロ係数を持たない係数の位置を集めることで、有効ノードを示すバイナリシーケンス(1次元シーケンス)1206の、非ゼロ係数に関する部分シーケンス1207を最小限の個数とすることができる(この例では1個)。
本実施の形態2にかかる動画像符号化装置100は、図21のフローチャートで示すように、ゼロツリー構造を決定する。係数位置を、常にゼロ係数を持つ係数の位置と、非ゼロ係数を持つ可能性のある係数の位置とに分類する(S1301)。次に、非ゼロ係数を持つ可能性のある係数の位置をまず同一の子ノードの下に符号化する(S1302)。そして、常にゼロ係数を持つ係数の位置を別の同一の子ノードの下に符号化する(S1303)。これにより、有効ノードを示すバイナリシーケンスのデータ量を最小限にすることができる。
そして、図16及び図17を用いて説明したシーケンス生成処理は、実施の形態2に係る動画像符号化装置100にも応用することができる。つまり、シーケンス生成部180の参照先決定部1005は、符号化される非ゼロ係数が部分木1204に、符号化されないゼロ係数が部分木1205に割り当てられるように、参照先情報1006を決定する。これにより、周波数選択符号化における1次元シーケンスを最小化することができる。
図22Aは、本発明の実施の形態2における動画像符号化装置の動作フローチャートである。図15Aを変形し、周波数選択符号化FSCにより特定位置の係数が符号化されない場合に、符号化しない係数位置を通知することに対応したものである。
ゼロツリー構造は符号化される(S2301)。ゼロツリー構造のリーフノードの値が示す先は、係数の位置を直接指すのではなく、並び替えのデータ配列を経由して、係数の位置情報を指し示す、間接位置情報である。
次に、フレーム単位あるいはスライス単位あるいは、複数のブロックの単位の繰り返し処理(S2302)において、符号化しない係数位置を決定する(S2303)。一方、符号化しない係数位置は、ゼロツリーの任意のリーフノードより参照しない状態として表現する。例えば、特別な値(ブロックの係数の総数を超える数値や−1など)で表現した位置更新情報を、並び替えのデータ配列上に符号化する(S2304)。
次いで、係数を符号化する可能性のある係数位置についてのみ、量子化係数が符号化される(S2305)。S2303〜S2305の処理は、S2301に対応して繰り返される(S2306)。位置更新情報の符号化S2304は、以前のフレームまたはスライスまたは複数のブロックと、位置情報が同じ場合には省略されうる。また、ゼロツリー構造の符号化S2301は、S2302〜S2306の繰り返しの中で行われることもありうる。
図22Bは、本発明の実施の形態2における動画像復号装置の動作フローチャートである。図15Bを変形し、周波数選択符号化FSCにより特定位置の係数が符号化されない場合に、符号化しない係数位置が通知されることに対応したものである。
ゼロツリー構造は復号され(S2311)、全てのリーフノードについて、リーフノードから並び替えのデータ配列上の要素を指し示す関係(つまり間接位置情報)が復号される。フレーム単位あるいはスライス単位あるいは、複数のブロックの単位の繰り返し処理(S2312)において、位置更新情報があれば位置情報を更新し、なければ、直前状態の位置情報を用いるなどして、位置情報を決定する(S2313)。
ここで、あるリーフノードに割り当てられた間接位置情報の指す、並び替えのデータ配列上の要素が、符号化しない係数位置を表現した特別な値(ブロックの係数の総数を超える数値や−1など)である場合には、そのリーフノードの値は0とする。その0となったノードの親が持つもう一方の子ノードの値も0となる場合には親ノードも0とする。
次に、根方向に向かって順に書き換えを行う(S2313)。さらに、並び替えのデータ配列上のどの要素からも指し示されない係数位置がある場合、その係数は符号化されない係数であるとわかり、その係数には0を設定する(S2314)。
次に、量子化係数をゼロツリー走査の逆走査の手順に従い、本来の係数位置へ設定していく。本発明の復号方法では、ゼロツリーのリーフノードが指し示すのは直接の係数位置ではなく、間接位置情報である。つまり、並び替えのデータ配列上の要素を指している。並び替えのデータ配列上で指し示された要素が示す先が、最終的な係数の位置情報である(S2315)。S2313〜S2315について、前述のS2312の単位で繰り返しを行う(S2316)。
また、局所適応の周波数選択符号化を実現するために、周波数選択符号化の条件が真になった場合に適用される、第2の並び替えのデータ配列を定義してもよい。
(実施の形態3)
次に、図23を参照して、本発明の実施の形態3を説明する。実施の形態3では、実施の形態2に係るシーケンス生成処理やマトリクス生成処理を、ジグザグ走査に応用したものである。
前述のように周波数選択符号化では高域係数の符号量を抑圧している。しかしながら、エッジなどの情報量の多い領域(ブロックなどの単位)では高域係数を符号化しないと劣化がわかりやすい傾向もあるため、このような領域ではFSCは行わないことが望ましい。ブロック単位のFSCの有無情報を復号装置へ通知する仕組みが必要であるが、毎ブロックに情報を付与すると、ブロックが多数であるがために全体の符号量が著しく増加する課題がある。本実施の形態3における局所適応周波数選択符号化の装置及び方法は、FSCの有無に依らず常に符号化される低域係数の情報を基に、FSCの有無を決定する。
図23を用いて局所適応周波数選択符号化を説明する。2次元の量子化変換係数ブロック11は、第1の走査順502により走査されるが、あらかじめ決められた位置まで走査したのち、FSC有無の判定を行う。この図では、位置eまで走査した後に判定を行う。
エッジなどの劣化を知覚しやすい領域では、低域でも大きな係数が発生している傾向がある。この傾向を利用して、低域の係数を基にFSCの判定504を行う。係数ではなく、前述のレベルやサイン、あるいは、ゼロ係数であるか非ゼロ係数であるかを基に判定を行ってもよい。あるいは、これらの情報に位置による重み付けを行ってもよいし、何らかの関数処理を適用した後の結果を基に判定してもよい。
ここでは、第1の走査順502によって走査された係数シーケンス、及び第1の係数シーケンス503を基に、係数の絶対値の和をあらかじめ決めておいた閾値比較をしている。閾値よりも大きければ、第2の走査順505により残りの係数を走査する。第1の係数シーケンス503とあわせて、図23のように1次元シーケンス506が得られる。一方、判定504において、低域の係数が強くは無いと判断された場合、第3の走査順507により残りの係数を走査する。この例では、1の位置の係数のみを走査する。第1の係数シーケンス503とあわせて、1次元シーケンス508が得られる。
なお、ここでは第1の走査順502と第2の走査順505とは独立のものとして説明したが、第1の走査順502と第2の走査順505とは連続したものである。第1の走査順502は、その連続した走査順の前半の一部であると考えることができる。また、この連続した走査順は、ジグザグ走査などの一般的な走査とすることで実装を容易にできる。
(実施の形態4)
前述の実施の形態2の例では、非ゼロ係数の位置を示すバイナリシーケンスのデータ量を軽減したが、さらに、非ゼロ係数を持たない係数の位置を配置した部分木1205を符号化しないことで、ゼロツリー構造のデータ量の削減、および有効ノードを示すバイナリシーケンスのデータ量もさらに削減する。
図24は、本実施の形態にかかる動画像符号化方法を説明する図である。具体的には、ゼロツリー構造の決定、および非ゼロ係数の位置を示すバイナリシーケンスの決定を示した概念図である。
非ゼロ係数を持つ可能性のある係数の位置のみに対して、ゼロツリー構造1402と、有効ノードを示すバイナリシーケンス1406とを符号化する。この図では、非ゼロ係数の持つ可能性のある係数は全て非ゼロ(全て1)である例であるが、一部の係数がゼロである場合も含まれる。また、ゼロツリー構造の最も親のノード1403は冗長であるので、図25に示すゼロツリー構造1502としてもよい。
本実施の形態4にかかる動画像符号化方法は、ゼロツリー構造の決定において、図26のフローチャートで示すように、ゼロツリー構造を決定する。まず、係数位置を、常にゼロ係数を持つ係数の位置と、非ゼロ係数を持つ可能性のある係数(ゼロまたは非ゼロ係数になる)の位置とに分類する(S1601)。そして、非ゼロ係数を持つ可能性のある係数(ゼロまたは非ゼロ係数になる)の位置のみを符号化する(S1602)。
(実施の形態5)
前述の実施の形態3では、ジグザグ走査の場合の局所適応周波数選択符号化(局所適応FSC)を示した。本実施の形態5では、ゼロツリー構造の場合の局所適応FSCを示す。図27は、本実施の形態5を示す概念図である。ゼロツリー構造の既に復号された部分木1702の状態に応じて、後続の部分のゼロツリー構造を切り替える。
図27の例では、切り替え判定を行うタイミングを示す仮想的なノードである条件付ノード1703を定義している。ゼロツリー構造の探索(あるいは、トラバース)がこのノードの位置に到達したときに、局所適応FSCの条件判定を行う。これは仮想的なノードであり、このノードに関連付けられた有効ノードを示すバイナリシーケンスの要素は不要である。この条件付ノードの判定結果が真の場合には、ゼロツリー構造の部分1704を選択する。そして、判定結果が真ではない場合は、ゼロツリー構造の部分1705を選択する。
前述の既に復号された部分木1702の状態とは、部分木1702に含まれる位置の係数そのものや、その係数のレベルやサイン、係数がゼロ係数か非ゼロ係数であるか、あるいは、ノードが有効な値を持つかなどの情報に基づき定義する。これらの情報に位置による重み付けを行ってもよいし、何らかの関数処理を適用した後の結果を基に定義してもよい。
さらには、量子化パラメータやブロックのフレーム内における位置情報、予測画像を生成する方式の種別に基づいて定義してもよい。量子化パラメータは、符号化装置側において、視覚的に劣化の目立つ領域とあまり目立たない領域へのデータ量の配分を変更するために制御するパラメータである。このパラメータに応じて、条件判定を適応させることより、劣化の目立ちにくい制御ができる。
なお、上記では、局所適応FSCの判定を行うタイミングは仮想的なノードであり、有効ノードを示すバイナリシーケンスの要素は関係付けられないとした。しかしながら、局所適応FSCの判定条件の一つとして、有効ノードを示すバイナリシーケンスの要素を関連付ける構成も考えることができる。この構成では、局所適応FSCの判定を符号化装置側より明示的に制御できるメリットがあるが、データ量が増えるデメリットもある。本実施の形態5では、関連付けられたバイナリシーケンスの要素は無いものとする。
図28は、本実施の形態5の復号装置のブロック図である。本復号装置は、ゼロツリー復号部1801と、統合部1802と、逆量子化部1803と、逆直交変換部1804とから構成される。
ゼロツリー復号部1801は、ゼロツリー構造1811と有効ノードを示すバイナリシーケンス1812を入力し、ツリー上でノードの有効無効判定を行う。そして、次の有効なリーフノードが見つかるまでツリー上で探索を行い、探索されたリーフノードに関連付けられた(非ゼロの)係数の位置情報1814を出力する。この位置情報1814は、統合部1802に入力される。
統合部1802は、別途入力されるレベルとサイン1813を、位置情報1814に従って、本来の並び(2次元ブロック等)へと変換した統合信号1815を出力する。なお、符号化装置側でこの信号と対応するのは量子化係数のことである。
逆量子化部1803は、統合信号1815を入力し、逆量子化変換を行い、逆量子化後信号1816を出力する。なお、符号化装置側でこの信号と対応するのは直交変換係数のことである。逆直交変換部1804は、逆量子化後信号1816を入力とし、逆直交変換を行い、信号1817を出力する。
本実施の形態5における復号装置において特徴的な構成は、次の(i)から(iv)をひとつ以上複数個備えることである。(i)ゼロツリー復号部1801の過去の出力が、ゼロツリー復号部1801へ入力され、出力の位置情報1814を適応的に変化させる。(ii)過去の統合信号1815が、ゼロツリー復号部1801に入力され、出力の位置情報1814を適応的に変化させる。(iii)過去の逆量子化後信号1816が、ゼロツリー復号部1801に入力され、出力の位置情報1814を適応的に変化させる。(iv)その他の当該ブロック内にて利用可能な情報(信号1817)が、ゼロツリー復号部1801に入力され、出力の位置情報1814を適応的に変化させる。なお、(i)はゼロツリー上で既に探索されたノードが持つ値を含む場合もある。
また、本実施の形態5における符号化装置は、局所適応FSCでFSCの判定条件として参照される部分ゼロツリー構造、あるいは、低域の係数に対応する部分ゼロツリー構造を、第1のゼロツリー構造と呼ぶならば、第1のゼロツリー構造に属する係数の発生頻度に応じて最適となるように、第1のゼロツリー構造を決定する。同様に、局所適応FSCにより切り替えられる部分の、二つの部分ゼロツリー構造を、第2のゼロツリー構造、第3のゼロツリー構造と呼ぶならば、第2のゼロツリー構造に属する係数の発生頻度に応じて最適となるように、第2のゼロツリー構造を決定する。第3のゼロツリー構造に属する係数の発生頻度に応じて最適となるように、第3のゼロツリー構造を決定する。
図29は、本実施の形態5にかかる符号化装置及び復号装置における、ゼロツリー復号部の局所適応処理を説明するフローチャートである。ゼロツリー復号部においては、ノードを探索していく過程において、従来とは異なり、条件付ノードが含まれる場合がある。
そこで、まず、現在の探索位置のノードのタイプを調べる(S1901)。次に、そのノードタイプが、条件付ではない通常のノードであれば、有効ノードを示すバイナリシーケンスから要素を一つ取り出し(S1903)、次のノードへ移動する(S1907)。
ノードのタイプが、過去に得られたノードの値に依存するタイプの条件付ノードである場合には、その条件の判定を行い、判定結果に応じてあらかじめ定義された(符号化装置より通知された)方法に従って、ツリー構造を決定する(S1904)。ツリー構造の決定とは、一部分の変更でもよいし、ツリーの構造は変更せずに、リーフノードと係数の位置との関係の再変更でもよい。
ツリー構造の決定後は、次のノードへ移動する(S1907)。ノードのタイプが、過去に得られたノードが指し示す係数の、レベル、サイン、または係数そのものに依存するタイプの条件付ノードである場合には、必要となるレベル、サイン、または係数そのものを取得する(S1905)。
その後、前述の判定動作S1904と同様に、レベル、サイン、または係数そのものに基づき、ツリー構造を決定する(S1906)。ツリー構造の決定後は、次のノードへ移動する(S1907)。次のノードへの移動(S1907)においては、次のノードがツリー構造に存在しない場合には、処理を終了する。
(実施の形態6)
本実施の形態6では、局所適応FSCのようにツリーの部分を変更するためのツリー構造として、一つのノードの複数の値を持たせるデータ構造、および、このデータ構造を符号化及び復号する方法を提供する。複数の値を持つノードによるツリー構造の部分変更の概念図を図30に示す。
実施の形態6に係るゼロツリー構造では、各ノードは複数、少なくとも二つの値を持つ構造とする。ゼロツリー構造の探索開始時は、第1の値を参照する状態となる。FSCの判定が切り替えノード2000にて真となった場合、それ以降は、第2の値を参照する状態となる。第2の値は、従来と同様に、探索時に、有効ノードを示すバイナリシーケンスから要素を取り出すことを示す値である“フェッチ”と、あらかじめ、フレーム単位やスライス単位や複数のブロックの単位で値が固定されている“デフォルト”の二種類の値を定義する。
“フェッチ”は、図30では、内部ノードでは“−”、リーフでは係数の位置に対応するアルファベットで記載している。第2の値に“デフォルト”の0をあらかじめ入力しておくことで、ノードの無効化を記述でき、ゼロ係数の符号化をスキップできる(図30ではノード2002とノード2004が相当)。
また、ノード2003のように、第2の値に、第1の値とは異なる係数位置を設定することもメリットがある。ノード2005とノード2003の係数f、cの例のように、探索までの通過すべきノード数を変更できる。このように、より発生頻度の高い係数を通過順の早いノードに移動させることで、有効ノードを示すバイナリシーケンスのデータ量を削減できる可能性が高い。
図31は、複数の値を持つノードのうち、どの値を読むかを切り替えながら、ツリー構造を探索する、本実施の形態のツリー構造復号方法の動作フローチャートである。ここではあるノードの中でどの値を読むべきかの情報をレーンと呼ぶことにする。
まず、はじめに、レーンが初期化される(S2101)。次に、探索が開始されあるノードにて、ノードの形式を確認する。そのノードが局所適応FSCなどの条件判定を行う、スイッチングノードであれば(S2102でYes)、関連付けられた条件判定を行う(S2103)。
判定結果が真であれば(S2103でYes)、関連付けられたレーン変更などの動作を行い(S2104)、次のノードへ移動する(S2105)。一方、判定結果が真でなければ(S2103でNo)、レーン変更は行わず、次のノードへ移動する(S2105)。
前述のノードのタイプ判定において、スイッチングノードで無ければ(S2102でNo)、現在のノードの現在のレーンの値を読み込み(S2104)、ゼロツリー構造復号の通常動作を行い、次のノードへ移動する(S2105)。次のノードへの移動(S2105)は、残りのノードがあればノードのタイプ判定S2102へ戻り、残りのノードが無ければ終了する。
(実施の形態7)
図27では仮想的なノードを用いる構成を示したが、ツリーが全体として大きくなることは管理上の不都合がある場合も考えられる。図32で示すように、2次元の量子化変換係数ブロック2401は、第1のグループと、第2のグループにグループ化される。
第1のグループについて、ひとつの部分ゼロツリー構造2402を定義する。第2のグループについては、一つまたは複数個の部分ゼロツリー構造2403、2405を定義する。第2のグループの部分ゼロツリー構造2403、2405のどれが選択されるかは、第1のグループの部分ゼロツリー構造2402の探索(またはトラバース)後に得られる、係数やレベルやサインや有効ノードを示すバイナリシーケンスを基に決定される。
この構成では、条件分岐の仮想ノードがツリーとは別に定義されているので、ツリー構造を復号するユニットを従来から変更しなくてもよいという利点がある。第2のグループの部分ツリー構造2403、2405は、図32では2個だが、3個以上あってもよい。また、図32では、量子化係数グループを第1のグループと第2のグループに分割しているが、3個以上のグループに分割してもよい。
従来の固定的な走査であるジグザグ走査、および、ゼロツリー走査のどちらにおいても、量子化係数は、符号化装置により、非ゼロ係数を示すバイナリシーケンス(または、有効ノードを示すバイナリシーケンス)と、非ゼロ係数シーケンスに分解され、非ゼロ係数はレベルとサインにさらに分解される。本実施の形態7のように、量子化係数を二つ以上のグループに分割しバイナリシーケンスと非ゼロ係数シーケンス(レベルまたはサインも含む)も二つのグループに分割する必要がある。
図33は、バイナリシーケンスと非ゼロ係数シーケンスのデータの並びを示している。第1グループの有効ノードのバイナリシーケンス2501の後に、第1グループの非ゼロ係数シーケンス2502、その後に、第2グループの有効ノードのバイナリシーケンス2503、その後に、第2グループの非ゼロ係数シーケンス2504が並ぶ。第1グループの非ゼロ係数シーケンス2502がこの順位にあるのは、第2グループの部分ゼロツリー構造を決定するために、非ゼロ係数を必要とするためである。
一方、非ゼロ係数を用いないで決定する場合(第1グループの有効ノードのバイナリシーケンス2501のみを用いる、あるいは、当該ブロックの量子化パラメータを用いるなど)には、データの並びは、第1グループの有効ノードのバイナリシーケンス2501、第2グループの有効ノードのバイナリシーケンス2503、第1グループの非ゼロ係数シーケンス2502、第2グループの非ゼロ係数シーケンス2504、という並びでもよい。さらに、二つの非ゼロ係数シーケンス2502、2504は、分割しなくてもよい。
図34Aは、本実施の形態7の符号化装置の各ブロックにおける動作フローチャートである。あらかじめ、フレーム単位たまはスライス単位あるいは複数のブロックの単位で、第1グループの部分ゼロツリー構造、第2グループの部分ゼロツリー構造を符号化しておく。各ブロックにおいて、第1グループの有効ノードのバイナリシーケンスを符号化する(S2601)。次に、第1グループの非ゼロシーケンスの符号化する(S2602)。次に、第2グループの部分ゼロツリー構造を決定する(S2603)。決定後、第2グループの有効ノードのバイナリシーケンスの符号化する(S2604)。そして、第2グループの非ゼロ係数シーケンスの符号化を行う(S2605)。
図34Bは、本実施の形態7の復号装置の各ブロックにおける動作フローチャートである。復号装置と対応する動作となる。あらかじめ、フレーム単位たまはスライス単位あるいは複数のブロックの単位で、第1グループの部分ゼロツリー構造、第2グループの部分ゼロツリー構造が復号されているとする。各ブロックにおいて、第1グループの有効ノードのバイナリシーケンスを復号する(S2611)。次に、第1グループの非ゼロシーケンスを復号する(S2612)。次に、第2グループの部分ゼロツリー構造を決定する(S2613)。決定後、第2グループの有効ノードのバイナリシーケンスを復号する(S2614)。そして、第2グループの非ゼロ係数シーケンスを復号する(S2615)。
なお、ここで、第2グループの部分ゼロツリーは、フレーム単位などで、明示的に符号化装置より復号装置へ通知されるとしている。しかしながら、係数を複数グループに分割したことにより、グループの要素数は減少しているため、ゼロツリー走査を用いずに、従来のようにジグザグ走査を用いることで処理量を軽減できる構成も考えられる。特に、第1のグループが低域領域の狭い範囲(2×2)である場合には、ジグザグ走査の方が簡易である。
また、周波数選択符号化FSCを用いる場合、高域の係数の個数は少ないので、ゼロツリー構造を用いずに、係数位置のシーケンスを直接通知し、ゼロツリー構造は枝を持たない構造であると限定する方法が簡易である。図35の概念図で例を示す。
図35に示されるように、係数位置の個数ごとに、係数位置を指し示す情報を持たないゼロツリー構造2712、2722、2732、2742をあらかじめ規定しておく。そして、係数位置シーケンス2711、2721、2731、2741と、係数位置を指し示す情報を持たないゼロツリー構造2712、2722、2732、2742とを組み合わせることで、ゼロツリー構造2713、2723、2733、2743を得ている。
係数位置を指し示す情報を持たないゼロツリー構造2712、2722、2732、2742は、複数のフレームの符号化を行う先頭のみで送るか、あるいは、複数のフレームの単位で送るなどのように、送出頻度を抑えることで、データ量を削減できる。周波数選択符号化FSCの場合のように、多くの応用例では、係数位置を指し示す情報を持たないゼロツリー構造は複数のフレームにわたって変化せず、係数の位置のみが更新されるので、効果を期待できる。
(実施の形態8)
2次元の量子化変換係数ブロック2401を、第1のグループと、第2のグループにグループ化する実施の形態7の変形例として、より少ないデータ量で第2のグループの部分ゼロツリー構造を符号化、及び復号する方法を提供する。
局所適応の周波数選択符号化では、第2グループの符号化する係数位置がフレーム単位(やスライス単位や複数のブロック単位)で更新されるが、係数の個数は一定であり、係数の位置のみが変化する。したがって、第2のグループの部分ゼロツリー構造のみを更新できれば、更新に必要なデータ量を最小限とできる。さらに、図35で示したような、係数位置を指し示す情報を持たないゼロツリー構造をあらかじめ定義しておけば、各フレームにおいては、符号化する係数位置のシーケンスのみを符号化すればよい。図36の概念図を用いて説明する。
複数のフレームの単位で、第1グループの部分ゼロツリー構造2702を符号化し、第2グループの部分ゼロツリー構造のうち、周波数選択符号化が当該ブロックにおいて真となる場合に選択される第2の部分ゼロツリー構造2703を符号化し、さらに、第2グループの残りの部分ゼロツリー構造2704を符号化する。
周波数選択符号化が真となる場合の第2の部分ゼロツリー構造2703は、図36に示すように、係数位置を指し示す情報を持っていてもよいし、あるいは、係数位置を指し示す情報を持たないゼロツリー構造でもよい。いずれの場合でも、各フレーム単位において、周波数選択符号化が真となる場合の第2の部分ゼロツリー構造2703を、各フレーム単位で符号化する係数位置のシーケンスを上書きする(または組み合わせる)ことで、各フレームにおける、周波数選択符号化が真となる場合の第2の部分ゼロツリー構造を得る。
フレームf1において、係数位置シーケンス2705を、第2の部分ゼロツリー構造2703と組み合わせ、フレームf1における、周波数選択符号化が真となる場合の第2の部分ゼロツリー構造2706を得る。同様に、フレームf2において、係数位置シーケンス2707を、第2の部分ゼロツリー構造2703と組み合わせ、フレームf2における、周波数選択符号化が真となる場合の第2の部分ゼロツリー構造2708を得る。
(実施の形態9)
上記実施の形態で示した画像符号化方法または画像復号方法の構成を実現するためのプログラムを記憶メディアに記録することにより、上記実施の形態で示した処理を独立したコンピュータシステムにおいて簡単に実施することが可能となる。記憶メディアは、磁気ディスク、光ディスク、光磁気ディスク、ICカード、半導体メモリ等、プログラムを記録できるものであればよい。
さらにここで、上記実施の形態で示した画像符号化方法および画像復号方法の応用例とそれを用いたシステムを説明する。
図37は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示す図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex106〜ex110が設置されている。
このコンテンツ供給システムex100は、インターネットex101にインターネットサービスプロバイダex102および電話網ex104、および、基地局ex106〜ex110を介して、コンピュータex111、PDA(Personal Digital Assistant)ex112、カメラex113、携帯電話ex114、ゲーム機ex115などの各機器が接続される。
しかし、コンテンツ供給システムex100は図37のような構成に限定されず、いずれかの要素を組み合わせて接続するようにしてもよい。また、固定無線局である基地局ex106〜ex110を介さずに、各機器が電話網ex104に直接接続されてもよい。また、各機器が近距離無線等を介して直接相互に接続されていてもよい。
カメラex113はデジタルビデオカメラ等の動画撮影が可能な機器であり、カメラex116はデジタルカメラ等の静止画撮影、動画撮影が可能な機器である。また、携帯電話ex114は、GSM(Global System for Mobile Communications)方式、CDMA(Code Division Multiple Access)方式、W−CDMA(Wideband−Code Division Multiple Access)方式、もしくはLTE(Long Term Evolution)方式、HSPA(High Speed Packet Access)の携帯電話機、または、PHS(Personal Handyphone System)等であり、いずれでも構わない。
コンテンツ供給システムex100では、カメラex113等が基地局ex109、電話網ex104を通じてストリーミングサーバex103に接続されることで、ライブ配信等が可能になる。ライブ配信では、ユーザがカメラex113を用いて撮影するコンテンツ(例えば、音楽ライブの映像等)に対して上記実施の形態で説明したように符号化処理を行い、ストリーミングサーバex103に送信する。一方、ストリーミングサーバex103は要求のあったクライアントに対して送信されたコンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号することが可能な、コンピュータex111、PDAex112、カメラex113、携帯電話ex114、ゲーム機ex115等がある。配信されたデータを受信した各機器では、受信したデータを復号処理して再生する。
なお、撮影したデータの符号化処理はカメラex113で行っても、データの送信処理をするストリーミングサーバex103で行ってもよいし、互いに分担して行ってもよい。同様に配信されたデータの復号処理はクライアントで行っても、ストリーミングサーバex103で行ってもよいし、互いに分担して行ってもよい。また、カメラex113に限らず、カメラex116で撮影した静止画像および/または動画像データを、コンピュータex111を介してストリーミングサーバex103に送信してもよい。この場合の符号化処理はカメラex116、コンピュータex111、ストリーミングサーバex103のいずれで行ってもよいし、互いに分担して行ってもよい。
また、これら符号化処理および復号処理は、一般的にコンピュータex111および各機器が有するLSI(Large Scale Integration)ex500において処理する。LSIex500は、ワンチップであっても複数チップからなる構成であってもよい。なお、画像符号化用および画像復号用のソフトウェアをコンピュータex111等で読み取り可能な何らかの記録メディア(CD−ROM、フレキシブルディスク、ハードディスクなど)に組み込み、そのソフトウェアを用いて符号化処理および復号処理を行ってもよい。さらに、携帯電話ex114がカメラ付きである場合には、そのカメラで取得した動画データを送信してもよい。このときの動画データは携帯電話ex114が有するLSIex500で符号化処理されたデータである。
また、ストリーミングサーバex103は複数のサーバまたは複数のコンピュータであって、データを分散して処理したり記録したり配信するものであってもよい。
以上のようにして、コンテンツ供給システムex100では、符号化されたデータをクライアントが受信して再生することができる。このようにコンテンツ供給システムex100では、ユーザが送信した情報をリアルタイムでクライアントが受信して復号し、再生することができ、特別な権利または設備を有さないユーザでも個人放送を実現できる。
このコンテンツ供給システムを構成する各機器の符号化、復号には上記実施の形態で示した画像符号化方法あるいは画像復号方法を用いるようにすればよい。
その一例として携帯電話ex114について説明する。
図38は、上記実施の形態で説明した画像符号化方法と画像復号方法を用いた携帯電話ex114を示す図である。携帯電話ex114は、基地局ex110との間で電波を送受信するためのアンテナex601、CCDカメラ等の映像、静止画を撮ることが可能なカメラ部ex603、カメラ部ex603で撮影した映像、アンテナex601で受信した映像等が復号されたデータを表示する液晶ディスプレイ等の表示部ex602、操作キーex604群から構成される本体部、音声出力をするためのスピーカ等の音声出力部ex608、音声入力をするためのマイク等の音声入力部ex605、撮影した動画もしくは静止画のデータ、受信したメールのデータ、動画のデータもしくは静止画のデータ等、符号化されたデータまたは復号されたデータを保存するための記録メディアex607、携帯電話ex114に記録メディアex607を装着可能とするためのスロット部ex606を有している。記録メディアex607はSDカード等のプラスチックケース内に電気的に書換えおよび消去が可能な不揮発性メモリであるEEPROMの一種であるフラッシュメモリ素子を格納したものである。
さらに、携帯電話ex114について図39を用いて説明する。携帯電話ex114は表示部ex602および操作キーex604を備えた本体部の各部を統括的に制御するようになされた主制御部ex711に対して、電源回路部ex710、操作入力制御部ex704、画像符号化部ex712、カメラインターフェース部ex703、LCD(Liquid Crystal Display)制御部ex702、画像復号部ex709、多重分離部ex708、記録再生部ex707、変復調回路部ex706および音声処理部ex705が同期バスex713を介して互いに接続されている。
電源回路部ex710は、ユーザの操作により終話および電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することによりカメラ付デジタル携帯電話ex114を動作可能な状態に起動する。
携帯電話ex114は、CPU、ROMおよびRAM等でなる主制御部ex711の制御に基づいて、音声通話モード時に音声入力部ex605で集音した音声信号を音声処理部ex705によってデジタル音声データに変換し、これを変復調回路部ex706でスペクトラム拡散処理し、送受信回路部ex701でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナex601を介して送信する。また携帯電話ex114は、音声通話モード時にアンテナex601で受信した受信データを増幅して周波数変換処理およびアナログデジタル変換処理を施し、変復調回路部ex706でスペクトラム逆拡散処理し、音声処理部ex705によってアナログ音声データに変換した後、音声出力部ex608を介してこれを出力する。
さらに、データ通信モード時に電子メールを送信する場合、本体部の操作キーex604の操作によって入力された電子メールのテキストデータは操作入力制御部ex704を介して主制御部ex711に送出される。主制御部ex711は、テキストデータを変復調回路部ex706でスペクトラム拡散処理し、送受信回路部ex701でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナex601を介して基地局ex110へ送信する。
データ通信モード時に画像データを送信する場合、カメラ部ex603で撮像された画像データを、カメラインターフェース部ex703を介して画像符号化部ex712に供給する。また、画像データを送信しない場合には、カメラ部ex603で撮像した画像データをカメラインターフェース部ex703およびLCD制御部ex702を介して表示部ex602に直接表示することも可能である。
画像符号化部ex712は、本願発明で説明した画像符号化装置を備えた構成であり、カメラ部ex603から供給された画像データを上記実施の形態で示した画像符号化装置に用いた符号化方法によって圧縮符号化することにより符号化画像データに変換し、これを多重分離部ex708に送出する。また、このとき同時に携帯電話ex114は、カメラ部ex603で撮像中に音声入力部ex605で集音した音声を、音声処理部ex705を介してデジタルの音声データとして多重分離部ex708に送出する。
多重分離部ex708は、画像符号化部ex712から供給された符号化画像データと音声処理部ex705から供給された音声データとを所定の方式で多重化し、その結果得られる多重化データを変復調回路部ex706でスペクトラム拡散処理し、送受信回路部ex701でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナex601を介して送信する。
データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、アンテナex601を介して基地局ex110から受信した受信データを変復調回路部ex706でスペクトラム逆拡散処理し、その結果得られる多重化データを多重分離部ex708に送出する。
また、アンテナex601を介して受信された多重化データを復号するには、多重分離部ex708は、多重化データを分離することにより画像データのビットストリームと音声データのビットストリームとに分け、同期バスex713を介して当該符号化画像データを画像復号部ex709に供給すると共に当該音声データを音声処理部ex705に供給する。
次に、画像復号部ex709は、本願で説明した画像復号装置を備えた構成であり、画像データのビットストリームを上記実施の形態で示した符号化方法に対応した復号方法で復号することにより再生動画像データを生成し、これを、LCD制御部ex702を介して表示部ex602に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まれる動画データが表示される。このとき同時に音声処理部ex705は、音声データをアナログ音声データに変換した後、これを音声出力部ex608に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まれる音声データが再生される。
なお、上記システムの例に限られず、最近は衛星、地上波によるデジタル放送が話題となっており、図40に示すようにデジタル放送用システムにも上記実施の形態の少なくとも画像符号化装置または画像復号装置を組み込むことができる。具体的には、放送局ex201では音声データ、映像データまたはそれらのデータが多重化されたビットストリームが電波を介して通信または放送衛星ex202に伝送される。これを受けた放送衛星ex202は、放送用の電波を発信し、衛星放送受信設備をもつ家庭のアンテナex204はこの電波を受信し、テレビ(受信機)ex300またはセットトップボックス(STB)ex217などの装置はビットストリームを復号してこれを再生する。また、記録媒体であるCDおよびDVD等の記録メディアex215、ex216に記録した画像データと、音声データが多重化されたビットストリームを読み取り、復号するリーダ/レコーダex218にも上記実施の形態で示した画像復号装置を実装することが可能である。この場合、再生された映像信号はモニタex219に表示される。また、ケーブルテレビ用のケーブルex203または衛星/地上波放送のアンテナex204に接続されたセットトップボックスex217内に画像復号装置を実装し、これをテレビのモニタex219で再生する構成も考えられる。このときセットトップボックスではなく、テレビ内に画像復号装置を組み込んでも良い。また、アンテナex205を有する車ex210で、衛星ex202または基地局等から信号を受信し、車ex210が有するカーナビゲーションex211等の表示装置に動画を再生することも可能である。
また、DVD、BD等の記録メディアex215に記録した音声データ、映像データまたはそれらのデータが多重化された符号化ビットストリームを読み取り復号する、または、記録メディアex215に、音声データ、映像データまたはそれらのデータを符号化し、多重化データとして記録するリーダ/レコーダex218にも上記実施の形態で示した画像復号装置または画像符号化装置を実装することが可能である。この場合、再生された映像信号はモニタex219に表示される。また、符号化ビットストリームが記録された記録メディアex215により、他の装置およびシステム等は、映像信号を再生することができる。例えば、他の再生装置ex212は、符号化ビットストリームがコピーされた記録メディアex214を用いて、モニタex213に映像信号を再生することができる。
また、ケーブルテレビ用のケーブルex203または衛星/地上波放送のアンテナex204に接続されたセットトップボックスex217内に画像復号装置を実装し、これをテレビのモニタex219で表示してもよい。このときセットトップボックスではなく、テレビ内に画像復号装置を組み込んでもよい。
図41は、上記実施の形態で説明した画像復号方法および画像符号化方法を用いたテレビ(受信機)ex300を示す図である。テレビex300は、上記放送を受信するアンテナex204またはケーブルex203等を介して映像情報のビットストリームを取得、または、出力するチューナex301と、受信した符号化データを復調する、または、生成された符号化データを外部に送信するために変調する変調/復調部ex302と、復調した映像データと音声データとを分離する、または、符号化された映像データと音声データとを多重化する多重/分離部ex303を備える。また、テレビex300は、音声データ、映像データそれぞれを復号する、または、それぞれの情報を符号化する音声信号処理部ex304、映像信号処理部ex305を有する信号処理部ex306と、復号された音声信号を出力するスピーカex307、復号された映像信号を表示するディスプレイ等の表示部ex308を有する出力部ex309とを有する。さらに、テレビex300は、ユーザ操作の入力を受け付ける操作入力部ex312等を有するインターフェース部ex317を有する。さらに、テレビex300は、各部を統括的に制御する制御部ex310、各部に電力を供給する電源回路部ex311を有する。インターフェース部ex317は、操作入力部ex312以外に、リーダ/レコーダex218等の外部機器と接続されるブリッジex313、SDカード等の記録メディアex216を装着可能とするためのスロット部ex314、ハードディスク等の外部記録メディアと接続するためのドライバex315、電話網と接続するモデムex316等を有していてもよい。なお記録メディアex216は、格納する不揮発性/揮発性の半導体メモリ素子により電気的に情報の記録を可能としたものである。テレビex300の各部は同期バスを介して互いに接続されている。
まず、テレビex300がアンテナex204等により外部から取得したデータを復号し、再生する構成について説明する。テレビex300は、リモートコントローラex220等からのユーザ操作を受け、CPU等を有する制御部ex310の制御に基づいて、変調/復調部ex302で復調した映像データ、音声データを多重/分離部ex303で分離する。さらにテレビex300は、分離した音声データを音声信号処理部ex304で復号し、分離した映像データを映像信号処理部ex305で上記実施の形態で説明した復号方法を用いて復号する。復号した音声信号、映像信号は、それぞれ出力部ex309から外部に向けて出力される。出力する際には、音声信号と映像信号が同期して再生するよう、バッファex318、ex319等に一旦これらの信号を蓄積するとよい。また、テレビex300は、放送等からではなく、磁気/光ディスク、SDカード等の記録メディアex215、ex216から符号化された符号化ビットストリームを読み出してもよい。次に、テレビex300が音声信号および映像信号を符号化し、外部に送信または記録メディア等に書き込む構成について説明する。テレビex300は、リモートコントローラex220等からのユーザ操作を受け、制御部ex310の制御に基づいて、音声信号処理部ex304で音声信号を符号化し、映像信号処理部ex305で映像信号を上記実施の形態で説明した符号化方法を用いて符号化する。符号化した音声信号、映像信号は多重/分離部ex303で多重化され外部に出力される。多重化する際には、音声信号と映像信号が同期するように、バッファex320、ex321等に一旦これらの信号を蓄積するとよい。なお、バッファex318〜ex321は図示しているように複数備えていてもよいし、一つ以上のバッファを共有する構成であってもよい。さらに、図示している以外に、例えば変調/復調部ex302と多重/分離部ex303との間等でもシステムのオーバフローおよびアンダーフローを避ける緩衝材としてバッファにデータを蓄積することとしてもよい。
また、テレビex300は、放送および記録メディア等から音声データおよび映像データを取得する以外に、マイクおよびカメラのAV入力を受け付ける構成を備え、それらから取得したデータに対して符号化処理を行ってもよい。なお、ここではテレビex300は、上記の符号化処理、多重化、および、外部出力ができる構成として説明したが、これらのすべての処理を行うことはできず、上記受信、復号処理、および、外部出力のうちいずれかのみが可能な構成であってもよい。
また、リーダ/レコーダex218で記録メディアから符号化ビットストリームを読み出す、または、書き込む場合には、上記復号処理または符号化処理はテレビex300およびリーダ/レコーダex218のうちいずれかで行ってもよいし、テレビex300とリーダ/レコーダex218とが互いに分担して行ってもよい。
一例として、光ディスクからデータの読み込みまたは書き込みをする場合の情報再生/記録部ex400の構成を図42に示す。情報再生/記録部ex400は、以下に説明する要素ex401〜ex407を備える。光ヘッドex401は、光ディスクである記録メディアex215の記録面にレーザスポットを照射して情報を書き込み、記録メディアex215の記録面からの反射光を検出して情報を読み込む。変調記録部ex402は、光ヘッドex401に内蔵された半導体レーザを電気的に駆動し記録データに応じてレーザ光の変調を行う。再生復調部ex403は、光ヘッドex401に内蔵されたフォトディテクタにより記録面からの反射光を電気的に検出した再生信号を増幅し、記録メディアex215に記録された信号成分を分離して復調し、必要な情報を再生する。バッファex404は、記録メディアex215に記録するための情報および記録メディアex215から再生した情報を一時的に保持する。ディスクモータex405は記録メディアex215を回転させる。サーボ制御部ex406は、ディスクモータex405の回転駆動を制御しながら光ヘッドex401を所定の情報トラックに移動させ、レーザスポットの追従処理を行う。システム制御部ex407は、情報再生/記録部ex400全体の制御を行う。上記の読み出しおよび書き込みの処理は、システム制御部ex407が、バッファex404に保持された各種情報を利用し、また必要に応じて新たな情報の生成および追加を行うと共に、変調記録部ex402、再生復調部ex403およびサーボ制御部ex406を協調動作させながら、光ヘッドex401を通して、情報の記録再生を行うことにより実現される。システム制御部ex407は、例えばマイクロプロセッサで構成され、読み出し書き込みのプログラムを実行することでそれらの処理を実行する。
以上では、光ヘッドex401はレーザスポットを照射するとして説明したが、近接場光を用いてより高密度な記録を行う構成であってもよい。
図43に光ディスクである記録メディアex215の模式図を示す。記録メディアex215の記録面には案内溝(グルーブ)がスパイラル状に形成され、情報トラックex230には、あらかじめグルーブの形状の変化によってディスク上の絶対位置を示す番地情報が記録されている。この番地情報はデータを記録する単位である記録ブロックex231の位置を特定するための情報を含み、記録および再生を行う装置は、情報トラックex230を再生し番地情報を読み取ることで記録ブロックを特定することができる。また、記録メディアex215は、データ記録領域ex233、内周領域ex232、外周領域ex234を含んでいる。ユーザデータを記録するために用いる領域がデータ記録領域ex233であり、データ記録領域ex233の内周または外周に配置されている内周領域ex232と外周領域ex234は、ユーザデータの記録以外の特定用途に用いられる。情報再生/記録部ex400は、このような記録メディアex215のデータ記録領域ex233に対して、符号化された音声データ、映像データまたはそれらのデータを多重化した符号化データの読み書きを行う。
以上では、1層のDVD、BD等の光ディスクを例に挙げ説明したが、これらに限ったものではなく、多層構造であって表面以外にも記録可能な光ディスクであってもよい。また、ディスクの同じ場所にさまざまな異なる波長の色の光を用いて情報を記録したり、さまざまな角度から異なる情報の層を記録したりするなど、多次元的な記録/再生を行う構造の光ディスクであってもよい。
また、デジタル放送用システムex200において、アンテナex205を有する車ex210で衛星ex202等からデータを受信し、車ex210が有するカーナビゲーションex211等の表示装置に動画を再生することも可能である。なお、カーナビゲーションex211の構成は例えば図41に示す構成のうち、GPS受信部を加えた構成が考えられ、同様なことがコンピュータex111および携帯電話ex114等でも考えられる。また、上記携帯電話ex114等の端末は、テレビex300と同様に、符号化器および復号器を両方持つ送受信型端末の他に、符号化器のみの送信端末、復号器のみの受信端末という3通りの実装形式が考えられる。
このように、上記実施の形態で示した画像符号化方法あるいは画像復号方法を上述したいずれの機器およびシステムに用いることは可能であり、そうすることで、上記実施の形態で説明した効果を得ることができる。
また、本発明は、上記実施の形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形または修正が可能である。
(実施の形態10)
上記各実施の形態で示した画像符号化方法および装置、画像復号方法および装置は、典型的には集積回路であるLSIで実現される。一例として、図44に1チップ化されたLSIex500の構成を示す。LSIex500は、以下に説明する要素ex501〜ex509を備え、各要素はバスex510を介して接続している。電源回路部ex505は電源がオン状態の場合に各部に対して電力を供給することで動作可能な状態に起動する。
例えば符号化処理を行う場合には、LSIex500は、CPUex502、メモリコントローラex503およびストリームコントローラex504等を有する制御部ex501の制御に基づいて、AV I/Oex509によりマイクex117およびカメラex113等からAV信号の入力を受け付ける。入力されたAV信号は、一旦SDRAM等の外部のメモリex511に蓄積される。制御部ex501の制御に基づいて、蓄積したデータは、処理量および処理速度に応じて適宜複数回に分けるなどされ、信号処理部ex507に送られる。信号処理部ex507は、音声信号の符号化および/または映像信号の符号化を行う。ここで映像信号の符号化処理は、上記実施の形態で説明した符号化処理である。信号処理部ex507ではさらに、場合により符号化された音声データと符号化された映像データを多重化するなどの処理を行い、ストリームI/Oex506から外部に出力する。この出力されたビットストリームは、基地局ex107に向けて送信されたり、または、記録メディアex215に書き込まれたりする。なお、多重化する際には同期するよう、一旦バッファex508にデータを蓄積するとよい。
また、例えば復号処理を行う場合には、LSIex500は、制御部ex501の制御に基づいて、ストリームI/Oex506によって基地局ex107を介して得た符号化データ、または、記録メディアex215から読み出して得た符号化データを一旦メモリex511等に蓄積する。制御部ex501の制御に基づいて、蓄積したデータは、処理量および処理速度に応じて適宜複数回に分けるなどされ信号処理部ex507に送られる。信号処理部ex507は、音声データの復号および/または映像データの復号を行う。ここで映像信号の復号処理は、上記実施の形態で説明した復号処理である。さらに、場合により復号された音声信号と復号された映像信号を同期して再生できるようそれぞれの信号を一旦バッファex508等に蓄積するとよい。復号された出力信号は、メモリex511等を適宜介しながら、携帯電話ex114、ゲーム機ex115およびテレビex300等の各出力部から出力される。
なお、上記では、メモリex511がLSIex500の外部の構成として説明したが、LSIex500の内部に含まれる構成であってもよい。バッファex508も一つに限ったものではなく、複数のバッファを備えていてもよい。また、LSIex500は1チップ化されてもよいし、複数チップ化されてもよい。
なお、ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA、または、LSI内部の回路セルの接続および設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
(その他変形例)
なお、本発明を上記実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
(1)上記の各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記RAMまたはハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
(2)上記の各装置を構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
(3)上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。前記ICカードまたは前記モジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。前記ICカードまたは前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ICカードまたは前記モジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
(4)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を、前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(5)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
以上、本発明に係る画像符号化方法、画像符号化装置、画像復号方法および画像復号装置について、実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を当該実施の形態に施した形態、および、異なる実施の形態における構成要素およびステップ等を組み合わせて構築される別の形態も、本発明の範囲内に含まれる。
本発明は、画像符号化方法(装置)及び画像復号方法(装置)に有利に利用される。
11,21,61,71,2401 量子化変換係数ブロック
12 ジグザグ走査順
13,22,33,506,508 1次元シーケンス
23,66,72,1206,1406,1812,2501,2503 バイナリシーケンス
24 非ゼロ係数シーケンス
32 FSC走査順
62 ツリー構造
65 ゼロツリー走査順
73,1203,1403,2002,2003,2004,2005 ノード
100 動画像符号化装置
105 減算器
110 変換/量子化部
120 逆量子化/逆変換部
125,225 加算器
130,230 デブロッキングフィルタ
140,240 メモリ
150,250 補間フィルタ
160,260 動き補償予測部
165 動き予測部
170,270 イントラフレーム予測部
175,275 スイッチ
180 シーケンス生成部
190 エントロピー符号化部
200 動画像復号装置
220 逆量子化/逆変換部
280 マトリクス生成部
290 エントロピー復号部
502 第1の走査順
503 第1の係数シーケンス
504 判定
505 第2の走査順
507 第3の走査順
1000 構造情報
1001 木構造決定部
1002,1004 木構造情報
1003 木構造情報メモリ
1005 参照先決定部
1006,1006a,1006b,1013 参照先情報
1007 参照先情報メモリ
1009 係数走査ユニット
1009a 値割り当て部
1009b 走査部
1010 2次元マトリクス
1011 トリガ信号
1012 情報
1030 伝送路
1101 データ配列
1102 要素
1103 インデックスポインタ
1202,1402,1502,1811,2712,2713,2722,2723,2732,2733,2742,2743 ゼロツリー構造
1204,1205,1702 部分木
1207 部分シーケンス
1703 条件付ノード
1704,1705 部分
1801 ゼロツリー復号部
1802 統合部
1803 逆量子化部
1804 逆直交変換部
1813 レベルとサイン
1814 位置情報
1815 統合信号
1816 逆量子化後信号
1817 信号
2000 切り替えノード
2209 係数逆走査ユニット
2209a 逆走査部
2209b 係数割り当て部
2402,2403,2405,2702,2704 部分ゼロツリー構造
2502,2504 非ゼロ係数シーケンス
2703,2706,2708 第2の部分ゼロツリー構造
2705,2707,2711,2721,2731,2741 係数位置シーケンス
ex100 コンテンツ供給システム
ex101 インターネット
ex102 インターネットサービスプロバイダ
ex103 ストリーミングサーバ
ex104 電話網
ex106,ex107,ex108,ex109,ex110 基地局
ex111 コンピュータ
ex112 PDA
ex113,ex116 カメラ
ex114 カメラ付デジタル携帯電話(携帯電話)
ex115 ゲーム機
ex117 マイク
ex200 デジタル放送用システム
ex201 放送局
ex202 放送衛星(衛星)
ex203 ケーブル
ex204,ex205,ex601 アンテナ
ex210 車
ex211 カーナビゲーション(カーナビ)
ex212 再生装置
ex213,ex219 モニタ
ex214,ex215,ex216,ex607 記録メディア
ex217 セットトップボックス(STB)
ex218 リーダ/レコーダ
ex220 リモートコントローラ
ex230 情報トラック
ex231 記録ブロック
ex232 内周領域
ex233 データ記録領域
ex234 外周領域
ex300 テレビ
ex301 チューナ
ex302 変調/復調部
ex303 多重/分離部
ex304 音声信号処理部
ex305 映像信号処理部
ex306,ex507 信号処理部
ex307 スピーカ
ex308,ex602 表示部
ex309 出力部
ex310,ex501 制御部
ex311,ex505,ex710 電源回路部
ex312 操作入力部
ex313 ブリッジ
ex314,ex606 スロット部
ex315 ドライバ
ex316 モデム
ex317 インターフェース部
ex318,ex319,ex320,ex321,ex404,ex508 バッファ
ex400 情報再生/記録部
ex401 光ヘッド
ex402 変調記録部
ex403 再生復調部
ex405 ディスクモータ
ex406 サーボ制御部
ex407 システム制御部
ex500 LSI
ex502 CPU
ex503 メモリコントローラ
ex504 ストリームコントローラ
ex506 ストリームI/O
ex509 AV I/O
ex510 バス
ex511 メモリ
ex603 カメラ部
ex604 操作キー
ex605 音声入力部
ex608 音声出力部
ex701 送受信回路部
ex702 LCD制御部
ex703 カメラインターフェース部(カメラI/F部)
ex704 操作入力制御部
ex705 音声処理部
ex706 変復調回路部
ex707 記録再生部
ex708 多重分離部
ex709 画像復号部
ex711 主制御部
ex712 画像符号化部
ex713 同期バス
本発明は、動画像データを圧縮する符号化に関し、特に、高い符号化効率を実現する動画像符号化方法、動画像復号方法およびその装置に関する。特に量子化された非ゼロ係数の位置の記述方法を適応的に変化させるものである。
動画像データは、ビデオ電話やビデオ会議からDVDやデジタルテレビにわたって、広く応用されている。動画像データを送信または記録する際には、相当量のデータが限られた利用可能な周波数帯域をもつ伝送チャンネルを介して送信されるか、もしくは限られたデータ容量をもつ従来の記録メディアに格納されなければならない。そのため、デジタルデータを従来のチャンネルに送信、またはメディアに格納するためには、デジタルデータ量を圧縮もしくは削減することが不可欠である。
動画像データの圧縮に関し、複数の動画像符号化規格が開発されている。このような動画像規格には、例えば、H.26xで示されるITU−T規格、及びMPEG−xで示されるISO/IEC規格がある。最新の動画像符号化規格は、H.264/MPEG−4 AVC規格(非特許文献1)である。
これら規格の多くの基礎となる符号化アプローチは、以下に示す主なステージを含む。
(a)個々のビデオフレームをブロックレベルでのデータ圧縮の単位とするために、それぞれのビデオフレームを複数の画素ブロックに分割する。
(b)動画像データのそれぞれのブロックを空間領域から周波数領域に変換する。
(c)周波数領域の変換係数を量子化することによって、全体のデータ量を削減する。
(d)量子化変換係数をエントロピー符号化する。
(e)連続するフレームのブロック間の変化のみを符号化するために、連続するフレームのブロック間の時間的依存性を利用する。これは、動き予測及び補償技術を用いる。
画像情報を空間領域から周波数領域に変換することは、現在の動画像符号化規格の典型的なアプローチである。画像の情報圧縮は、画像コンテンツをごく僅かな周波数要素で表すことによって実現できる。自然画像コンテンツの周波数成分は、その多くが低周波数領域の係数に集中している。高周波成分は人間の目にはほとんど影響がないため、符号化対象となるデータ量を減らすために、削除もしくは量子化される。
MPEG−1、MPEG−2、MPEG−4、H.263、およびH.264/AVCといった現在の動画像符号化規格は、量子化後の周波数係数をさらに圧縮するためにエントロピー符号化を用いる。
このエントロピー符号化は、2次元の量子化変換係数ブロックを1次元シーケンスに変換するために、量子化された変換係数の2次元ブロックを走査する処理を含む。ジグザグ走査のような所定の走査方法が用いられる場合と、ゼロツリー走査方法(特許文献2)が用いられる場合がある。
図1はジグザグ走査の概念図である。2次元の量子化変換係数ブロック11を図のジグザグ走査順12で走査すると、量子化変換係数の1次元シーケンス13が得られる。この走査は、最低周波数係数(つまり、DC係数)から開始され、ブロックのゼロでない全ての係数が走査されると同時に終了する。このような走査方法の問題点の一つは、ゼロでない最後の係数に達するまでに多くのゼロである係数を走査しなければならないことである。
このようにして取得された量子化変換係数の1次元シーケンスは、非ゼロ係数と、ゼロ係数とに分離される。非ゼロ係数は、レベル及びサインと呼ばれる一連のいくつかの組として表現される。レベルは絶対値のことであり、サインは+−の符号のことである。図2は非ゼロ係数とゼロ係数への分離の概念図である。幾つかの0を要素に持つ量子化変換係数ブロック21を入力として説明すると、これは前述のように1次元シーケンス22へと走査される。この1次元シーケンスは、非ゼロ係数の位置を示すバイナリシーケンス23と非ゼロ係数を集めた非ゼロ係数シーケンス24へと分離される。
多くの応用において、符号化動画像データの蓄積又は転送が可能な量もしくは帯域は非常に制限されている。よって、可能な限り動画像データを圧縮する必要性がある。しかしながら、より粗く量子化を行うことによってデータ量を減らし、データ圧縮率を増加させることは、符号化画像の画質劣化を引き起こす。
ゼロである係数の冗長性を軽減する技術として周波数選択符号化(Frequency Selective Coding)が知られている(特許文献1)。人間の視覚特性が高域には鈍感である性質を利用し、高域係数の符号化頻度を抑えること、及び、特定の高域係数位置には同一フレーム内で全く係数を符号化せず、ゼロである係数のデータ量を軽減できるようにした符号化方法及び復号方法である。
図3は周波数選択符号化FSCの概念図である。2次元の量子化変換係数ブロック11は、FSC走査順32によりa、b、e、lの位置のみが走査され、それ以外の位置は走査されない。これにより得られる1次元シーケンス33のデータ個数を大幅に軽減できる。高域を複数のフレームにわたって循環的に符号化することにより、劣化を抑えることができる。図4は循環的な高域符号化の概念図であり、フレームf1では高域6を、フレームf2では高域7を、フレームf3では高域8を符号化する例である。
前述のように周波数選択符号化では高域係数の符号量を抑圧している。しかしながら、エッジなどの情報量の多い領域(ブロックなどの単位)では、高域係数を符号化しないと劣化を視認できる場合もある。
前述のゼロツリー走査方法(特許文献2)を説明する。図5はゼロツリー走査方法の概念図である。ゼロツリー走査方法では、2次元の量子化変換係数ブロック61に対して、各係数の位置をツリー構造62で表現する。ツリーはノードにより構成され、子を持つノードを内部ノード、子を持たないノードをリーフノードと呼ぶ。
このツリー構造に対して、深さ方向優先で左から右へ探索した時に、通過したリーフノードの順番が、量子化変換係数ブロック61に対するゼロツリー走査順65となる。ノードが有効な値を持つか(内部ノードの場合には子ノードを持つか、リーフノードの場合には係数を持つか)を通過順に示す情報を、有効ノードを示すバイナリシーケンス66、あるいは、ノードの値を示すバイナリシーケンス66と呼ぶ。
この例では有効ノードを示すバイナリシーケンス66(あるいは、ノードの値を示すバイナリシーケンス)はノードの数だけ要素1を持つ。この例では全てのノードが有効(値が1、つまり、リーフノードは係数を持ち、中間ノードは有効な子ノードを持つ)であるため、要素は全て1となった。しかしながら、あるリーフや中間ノードが有効ではない場合は、要素は0となる。中間ノードが0となる場合は、その子ノードの探索を行わない。つまり、その子(さらに子があればその子も)のノードに関する値を記述する必要がなくなるので、有効ノードを示すバイナリシーケンス66は短くなる。
例えば、図6に示されるように、幾つかの0を要素に持つ量子化変換係数ブロック71に対して、前述のツリー構造62で走査する。このとき、ノード73の子ノードは全て値を持たないので、ノード73の値は0と示す。復号時においては、あるノードが0の値を持つとき、その子ノードは値を持たないことがわかる。この例に対応する、有効ノードを示すバイナリシーケンス72は図示したようになり、図5の例と比べて、データ量を削減できることがわかる。
図5及び図6で示したようにツリー構造62は、ジグザグ走査と比べてデータ構造が複雑であり、符号化及び復号の処理量やメモリ量が多い。そのため、ツリー構造データの全体を頻繁に符号化することは冗長である。しかし、周波数選択的更新や、周波数選択的符号化の場合には、発生しにくい係数の位置、あるいは、発生しない係数の位置がフレームなどの単位で更新させる必要があり、効率的なデータ記述が望まれる。
また、ジグザグ走査の場合には、走査が一筆書きであるため、周波数選択的符号化において、符号化しなかったゼロ係数の個数に基づき、容易に、非ゼロ係数の位置を特定できた。しかし、ゼロツリー走査順では、係数の位置は分岐して記述されるため、符号化しなかったゼロ係数の有無の前後において係数の位置関係を把握するのが容易ではないという課題がある。
国際公開第2006/118288号 米国特許出願公開第2006/0133680号
本発明は、画質を劣化させず、かつ高いデータ圧縮率を実現する動画像符号化方法、動画像復号方法およびその装置を提供することを目的とする。
本発明の一形態に係る符号化方法は、画像を符号化する方法である。具体的には、前記画像の画素値を、周波数を示すn(nは2以上の整数)個の係数で構成される2次元マトリクスに変換する変換ステップと、前記2次元マトリクスを構成するn個の係数それぞれを量子化してn個の量子化係数を生成する量子化ステップと、内部ノード及びn個のリーフノードを含む複数のノードで構成される二分木を定義する木構造情報と、前記n個の量子化係数を含む前記2次元マトリクスとに基づいて、1次元シーケンスを生成するシーケンス生成ステップと、前記シーケンス生成ステップで生成された前記1次元シーケンス、及び前記n個の量子化係数の少なくとも一部を符号化して符号化信号を生成する符号化ステップとを含む。前記シーケンス生成ステップは、前記2次元マトリクスに基づいて、前記n個のリーフノードそれぞれが参照する前記2次元マトリクスの位置を示す参照先情報を生成する参照先決定ステップと、前記2次元マトリクス及び前記参照先情報に基づいて、前記木構造情報で定義される二分木の各ノードに、互いに異なる第1及び第2の値のいずれかを割り当てる値割り当てステップと、前記二分木を行きがけ順で走査して、各ノードに割り当てられた値を走査順に並べることにより、前記1次元シーケンスを生成する走査ステップとを含む。
上記構成のように、1次元シーケンスを生成するたびに参照先情報を更新することにより、1次元シーケンスの符号量を削減することができる。その結果、符号化効率の高い復号方法を実現することができる。また、木構造情報そのものを変更する必要がないので、処理負荷を軽減することができる。
一形態として、前記値割り当てステップでは、前記n個のリーフノードそれぞれに対して、前記参照先情報で示される前記2次元マトリクスの位置に保持される前記量子化係数を、前記符号化ステップで符号化する場合に前記第1の値を割り当て、前記符号化ステップで符号化しない場合に前記第2の値を割り当て、前記内部ノードに対して、2つの子ノードの少なくとも一方に前記第1の値が割り当てられている場合に前記第1の値を割り当て、2つの子ノードのいずれにも前記第2の値が割り当てられている場合に前記第2の値を割り当る。前記走査ステップでは、前記内部ノードに前記第2の値が割り当てられていた場合に、当該内部ノードの子孫ノードの走査を省略する。そして、前記参照先決定ステップでは、前記走査ステップで生成される前記1次元シーケンスが最も短くなるように、前記参照先情報を決定してもよい。上記構成のように、1次元シーケンスが最も短くなるように参照先情報を更新することにより、符号量を削減することができる。
また、前記符号化ステップでは、前記参照先決定ステップで生成された参照先情報が直前の参照先情報と異なる場合に、さらに、当該生成された参照先情報を符号化してもよい。このように、更新された場合にのみ参照先情報を符号化することにより、符号化効率の悪化を抑制することができる。
また、前記参照先情報は、前記2次元マトリクスの各位置を特定する位置情報と、前記位置情報を特定するインデックスとを対応付けて保持する中間テーブルであってもよい。そして、前記木構造情報は、前記二分木の構造を特定する構造情報と、前記n個のリーフノードが参照する前記中間テーブルのインデックスを示すインデックス情報とを含んでもよい。これにより、既存の復号装置への影響が極小化されるので、レガシー資産を有効利用することができる。
また、前記参照先情報決定ステップでは、符号化される前記量子化係数を保持する前記2次元マトリクスの位置が、符号化されない前記量子化係数を保持する前記2次元マトリクスの位置より走査順の早い前記リーフノードに割り当てられるように、前記2次元マトリクスの各位置とインデックスとの組み合わせを変更してもよい。これにより、1次元シーケンスを短くすることができる。
一形態として、前記符号化ステップでは、前記n個の量子化係数のうち、0でない量子化係数のみを選択的に符号化してもよい。他の形態として、前記2次元マトリクスは、第1のグループと第2のグループとに分割されている。そして、前記符号化ステップでは、前記第1のグループに属する全ての前記量子化係数と、前記第1のグループに属する前記量子化係数の値に応じて前記第2のグループから選択される前記量子化係数のみを選択的に符号化してもよい。
本発明の一形態に係る復号方法は、内部ノード及びn(nは2以上の整数)個のリーフノードを含む複数のノードで構成される二分木を定義する木構造情報を用いて、符号化信号から画像を生成する方法である。具体的には、前記符号化信号を復号して、互いに異なる第1及び第2の値を所定の順序で配列した1次元シーケンス、前記n個のリーフノードそれぞれが参照する前記2次元マトリクスの位置を示す参照先情報、及び1以上の量子化係数を生成する復号ステップと、前記1次元シーケンス、前記量子化係数、前記参照先情報、及び前記木構造情報に基づいて、n個の前記量子化係数で構成される2次元マトリクスを生成するマトリクス生成ステップと、前記2次元マトリクスを構成するn個の量子化係数それぞれを逆量子化して、周波数を示すn個の係数を生成する逆量子化ステップと、前記n個の係数を逆変換して前記画像の画素値を生成する逆変換ステップとを含む。そして、前記マトリクス生成ステップは、前記二分木を行きがけ順で走査して、前記1次元シーケンスに示される値を各ノードに割り当てるステップであって、前記内部ノードに前記第2の値が割り当てられた場合に、当該内部ノードの子孫ノードの走査を省略する逆走査ステップと、前記参照先情報に基づいて、前記第1の値が割り当てられた前記リーフノードが参照する前記2次元マトリクスの位置に、前記1以上の量子化係数を順に割り当てる係数割り当てステップとを含む。
本発明の一形態に係る符号化装置は、画像を符号化する装置である。具体的には、前記画像の画素値を、周波数を示すn(nは2以上の整数)個の係数で構成される2次元マトリクスに変換する変換部と、前記2次元マトリクスを構成するn個の係数それぞれを量子化してn個の量子化係数を生成する量子化部と、内部ノード及びn個のリーフノードを含む複数のノードで構成される二分木を定義する木構造情報と、前記n個の量子化係数を含む前記2次元マトリクスとに基づいて、1次元シーケンスを生成するシーケンス生成部と、前記シーケンス生成部で生成された前記1次元シーケンス、及び前記n個の量子化係数の少なくとも一部を符号化して符号化信号を生成する符号化部とを備える。そして、前記シーケンス生成部は、前記2次元マトリクスに基づいて、前記n個のリーフノードそれぞれが参照する前記2次元マトリクスの位置を示す参照先情報を生成する参照先決定部と、前記2次元マトリクス及び前記参照先情報に基づいて、前記木構造情報で定義される二分木の各ノードに、互いに異なる第1及び第2の値のいずれかを割り当てる値割り当て部と、前記二分木を行きがけ順で走査して、各ノードに割り当てられた値を走査順に並べることにより、前記1次元シーケンスを生成する走査部とを備える。
本発明の一形態に係る復号装置は、内部ノード及びn(nは2以上の整数)個のリーフノードを含む複数のノードで構成される二分木を定義する木構造情報を用いて、符号化信号から画像を生成する装置である。具体的には、前記符号化信号を復号して、互いに異なる第1及び第2の値を所定の順序で配列した1次元シーケンス、前記n個のリーフノードそれぞれが参照する前記2次元マトリクスの位置を示す参照先情報、及び1以上の量子化係数を生成する復号部と、前記1次元シーケンス、前記量子化係数、前記参照先情報、及び前記木構造情報に基づいて、n個の前記量子化係数で構成される2次元マトリクスを生成するマトリクス生成部と、前記2次元マトリクスを構成するn個の量子化係数それぞれを逆量子化して、周波数を示すn個の係数を生成する逆量子化部と、前記n個の係数を逆変換して前記画像の画素値を生成する逆変換部とを備える。そして、前記マトリクス生成部は、前記二分木を行きがけ順で走査して、前記1次元シーケンスに示される値を各ノードに割り当て、且つ前記内部ノードに前記第2の値が割り当てられた場合に、当該内部ノードの子孫ノードの走査を省略する逆走査部と、前記参照先情報に基づいて、前記第1の値が割り当てられた前記リーフノードが参照する前記2次元マトリクスの位置に、前記1以上の量子化係数を順に割り当てる係数割り当て部とを備える。
本発明の一形態に係るプログラムは、コンピュータに、画像を符号化させる。具体的には、前記画像の画素値を、周波数を示すn(nは2以上の整数)個の係数で構成される2次元マトリクスに変換する変換ステップと、前記2次元マトリクスを構成するn個の係数それぞれを量子化してn個の量子化係数を生成する量子化ステップと、内部ノード及びn個のリーフノードを含む複数のノードで構成される二分木を定義する木構造情報と、前記n個の量子化係数を含む前記2次元マトリクスとに基づいて、1次元シーケンスを生成するシーケンス生成ステップと、前記シーケンス生成ステップで生成された前記1次元シーケンス、及び前記n個の量子化係数の少なくとも一部を符号化して符号化信号を生成する符号化ステップとを含む。そして、前記シーケンス生成ステップは、前記2次元マトリクスに基づいて、前記n個のリーフノードそれぞれが参照する前記2次元マトリクスの位置を示す参照先情報を生成する参照先決定ステップと、前記2次元マトリクス及び前記参照先情報に基づいて、前記木構造情報で定義される二分木の各ノードに、互いに異なる第1及び第2の値のいずれかを割り当てる値割り当てステップと、前記二分木を行きがけ順で走査して、各ノードに割り当てられた値を走査順に並べることにより、前記1次元シーケンスを生成する走査ステップとをコンピュータに実行させる。
本発明の他の形態に係るプログラムは、コンピュータに、内部ノード及びn(nは2以上の整数)個のリーフノードを含む複数のノードで構成される二分木を定義する木構造情報を用いて、符号化信号から画像を生成させる。具体的には、前記符号化信号を復号して、互いに異なる第1及び第2の値を所定の順序で配列した1次元シーケンス、前記n個のリーフノードそれぞれが参照する前記2次元マトリクスの位置を示す参照先情報、及び1以上の量子化係数を生成する復号ステップと、前記1次元シーケンス、前記量子化係数、前記参照先情報、及び前記木構造情報に基づいて、n個の前記量子化係数で構成される2次元マトリクスを生成するマトリクス生成ステップと、前記2次元マトリクスを構成するn個の量子化係数それぞれを逆量子化して、周波数を示すn個の係数を生成する逆量子化ステップと、前記n個の係数を逆変換して前記画像の画素値を生成する逆変換ステップとを含む。そして、前記マトリクス生成ステップは、前記二分木を行きがけ順で走査して、前記1次元シーケンスに示される値を各ノードに割り当てるステップであって、前記内部ノードに前記第2の値が割り当てられた場合に、当該内部ノードの子孫ノードの走査を省略する逆走査ステップと、前記参照先情報に基づいて、前記第1の値が割り当てられた前記リーフノードが参照する前記2次元マトリクスの位置に、前記1以上の量子化係数を順に割り当てる係数割り当てステップとをコンピュータに実行させる。
本発明の一形態に係る集積回路は、画像を符号化する。具体的には、前記画像の画素値を、周波数を示すn(nは2以上の整数)個の係数で構成される2次元マトリクスに変換する変換部と、前記2次元マトリクスを構成するn個の係数それぞれを量子化してn個の量子化係数を生成する量子化部と、内部ノード及びn個のリーフノードを含む複数のノードで構成される二分木を定義する木構造情報と、前記n個の量子化係数を含む前記2次元マトリクスとに基づいて、1次元シーケンスを生成するシーケンス生成部と、前記シーケンス生成部で生成された前記1次元シーケンス、及び前記n個の量子化係数の少なくとも一部を符号化して符号化信号を生成する符号化部とを備える。そして、前記シーケンス生成部は、前記2次元マトリクスに基づいて、前記n個のリーフノードそれぞれが参照する前記2次元マトリクスの位置を示す参照先情報を生成する参照先決定部と、前記2次元マトリクス及び前記参照先情報に基づいて、前記木構造情報で定義される二分木の各ノードに、互いに異なる第1及び第2の値のいずれかを割り当てる値割り当て部と、前記二分木を行きがけ順で走査して、各ノードに割り当てられた値を走査順に並べることにより、前記1次元シーケンスを生成する走査部とを備える。
本発明の他の形態に係る集積回路は、内部ノード及びn(nは2以上の整数)個のリーフノードを含む複数のノードで構成される二分木を定義する木構造情報を用いて、符号化信号から画像を生成する。具体的には、前記符号化信号を復号して、互いに異なる第1及び第2の値を所定の順序で配列した1次元シーケンス、前記n個のリーフノードそれぞれが参照する前記2次元マトリクスの位置を示す参照先情報、及び1以上の量子化係数を生成する復号部と、前記1次元シーケンス、前記量子化係数、前記参照先情報、及び前記木構造情報に基づいて、n個の前記量子化係数で構成される2次元マトリクスを生成するマトリクス生成部と、前記2次元マトリクスを構成するn個の量子化係数それぞれを逆量子化して、周波数を示すn個の係数を生成する逆量子化部と、前記n個の係数を逆変換して前記画像の画素値を生成する逆変換部とを備える。そして、前記マトリクス生成部は、前記二分木を行きがけ順で走査して、前記1次元シーケンスに示される値を各ノードに割り当て、且つ前記内部ノードに前記第2の値が割り当てられた場合に、当該内部ノードの子孫ノードの走査を省略する逆走査部と、前記参照先情報に基づいて、前記第1の値が割り当てられた前記リーフノードが参照する前記2次元マトリクスの位置に、前記1以上の量子化係数を順に割り当てる係数割り当て部とを備える。
前記従来の課題である、ゼロツリー走査において周波数適応符号化を適用すると、非ゼロ係数の位置関係の管理が困難である課題を解決するために、本発明の動画像符号化方法は、ブロックを構成する複数の画素を、周波数を示す複数の係数に直交変換し、前記複数の係数を量子化し、複数の量子化係数をポジション情報とレベルとサイン(符号)へ符号化し、前記複数の量子化係数を少なくとも2つ以上の係数グループに分割し、第1のグループのポジション情報とレベルとサイン(符号)を符号化し、第2のグループの係数のサブセットを選択するか全体を選択するかを決定し、前記選択された係数のポジション情報とレベルとサインを符号化することを特徴とする動画像符号化方法である。
本発明によって、低域の係数の位置情報を符号化した後、ただちに、低域の係数を符号化させ、低域部分の必要な情報を全て揃えることで、後続の高域部分とデータの並び上において処理を独立させることにより、ゼロ係数のスキップがあっても、非ゼロ係数の位置関係の把握が容易になる。
本発明の動画像復号方法は、複数の画素をブロックに分割して符号化したデータを復号する動画像復号方法であって、当該ブロックの非ゼロ係数のポジション情報を非ゼロ係数の有無情報と非ゼロ係数の位置のツリー構造情報とから復号し、非ゼロ係数のレベルとサイン(符号)を復号し、前記非ゼロ係数のポジション情報と前記レベルと前記サインとを統合し、前記統合信号を逆量子化し、前記逆量子化信号を逆直交変換し画素値へと変換し、当該ブロックの非ゼロ係数のポジション情報の前記復号は、ある非ゼロ係数のポジション情報の決定時点において復号済みの非ゼロ係数の情報に応じて変化することを特徴とする動画像復号方法である。
また、当該ブロックの非ゼロ係数のポジション情報の前記復号は、下記(i)〜(iv)の少なくとも1つに応じて復号される。(i)復号済みの前記非ゼロ係数のポジション情報、(ii)復号済みの前記統合信号、(iii)復号済みの逆量子化信号、(iv)量子化パラメータ。
本発明の動画像符号化方法によれば、ゼロツリー構造のツリー部分のデータ(木構造情報)を変更せずに、容易に係数の位置を変更できる。その結果、符号化効率の高い動画像符号化方法を実現することができる。
図1は、従来のジグザグ走査の概念図である。 図2は、従来の非ゼロ係数とゼロ係数への分離の概念図である。 図3は、従来の周波数選択符号化FSCの概念図である。 図4は、従来の周波数選択符号化FSCの時間変化の概念図である。 図5は、従来のゼロツリー走査方法の概念図である。 図6は、従来のゼロツリー走査方法の概念図である。 図7は、本発明の実施の形態1に係るリーフと係数位置との対応関係のみを更新する方法の概念図である。 図8は、実施の形態1に係るリーフと係数位置との対応関係のみを更新するための中間メモリの概念図である。 図9は、実施の形態1に係る動画像符号化装置のブロック図である。 図10は、図9に示される動画像符号化装置の動作を示すフローチャートである。 図11は、実施の形態1に係る動画像復号装置のブロック図である。 図12は、図11に示される動画像復号装置の動作を示すフローチャートである。 図13は、実施の形態1に係るシーケンス生成部のブロック図である。 図14は、実施の形態1に係るマトリクス生成部のブロック図である。 図15Aは、実施の形態1に係る動画像符号化方法を示すフローチャートである。 図15Bは、実施の形態1に係る動画像復号方法を示すフローチャートである。 図16は、実施の形態1に係るシーケンス生成処理を示すフローチャートである。 図17は、図16のシーケンス生成処理を示す概念図である。 図18は、実施の形態1に係るマトリクス生成処理を示すフローチャートである。 図19は、図18のマトリクス生成処理を示す概念図である。 図20は、実施の形態2に係る動画像符号化方法の生成するツリー構造に関連するデータの概念図である。 図21は、実施の形態2に係る動画像符号化方法を示すフローチャートである。 図22Aは、実施の形態2に係る動画像符号化方法を示すフローチャートである。 図22Bは、実施の形態2に係る動画像復号化装置を示すフローチャートである。 図23は、実施の形態3に係る局所適応FSCの概念図である。 図24は、実施の形態4に係る動画像符号化方法の生成するツリー構造に関連するデータの概念図である。 図25は、実施の形態4に係る動画像符号化方法の生成するツリー構造に関連するデータの概念図である。 図26は、実施の形態4に係る動画像符号化方法の動作フローチャートである。 図27は、実施の形態5に係る動画像符号化方法の生成するツリー構造に関連するデータの概念図である。 図28は、実施の形態5に係る復号化済みのデータに応じてツリー構造を更新するゼロツリー復号部と周辺のブロック図である。 図29は、実施の形態5に係る復号化済みのデータに応じてツリー構造を更新するゼロツリー復号部の動作フローチャートである。 図30は、実施の形態6に係る複数の値を持つノードのツリー構造の探索に関する概念図である。 図31は、実施の形態6に係る複数の値を持つノードのツリー構造の探索に関する動作フローチャートである。 図32は、実施の形態7に係る動画像符号化方法の生成するツリー構造に関連するデータの概念図である。 図33は、実施の形態7に係るバイナリシーケンスと非ゼロ係数シーケンスのデータの並びを示す図である。 図34Aは、実施の形態7に係る動画像符号化方法を示すフローチャートである。 図34Bは、実施の形態7に係る動画像復号方法を示すフローチャートである。 図35は、実施の形態7に係る係数位置を指し示す情報を持たないゼロツリー構造の一例を示す概念図である。 図36は、実施の形態8における係数位置を指し示すシーケンスを符号化する一例を示す概念図である。 図37は、コンテンツ配信サービスを実現するコンテンツ供給システムの全体構成の一例を示す模式図である。 図38は、携帯電話の外観を示す図である。 図39は、携帯電話の構成例を示すブロック図である。 図40は、デジタル放送用システムの全体構成の一例を示す模式図である。 図41は、テレビの構成例を示すブロック図である。 図42は、光ディスクである記録メディアに情報の読み書きを行う情報再生記録部の構成例を示すブロック図である。 図43は、光ディスクである記録メディアの構造例を示す図である。 図44は、各実施の形態に係る画像符号化方法および画像復号方法を実現する集積回路の構成例を示すブロック図である。
(実施の形態1)
まず、図7及び図8を参照して、本発明の実施の形態1に係る符号化方法及び復号方法の概念を説明する。前述のように、周波数選択的更新では、発生しない係数の位置が少なくともフレーム単位に変化するが、ツリー構造62は複雑であるため、頻繁に更新するのは冗長である。これを解決するため、図7の概念図で示しているように、ツリー構造62のうち、ノード間の接続関係は更新せずに、リーフノードと係数との位置関係の対応のみを更新する。
また、図8の概念図で示すように、リーフノードと係数との位置関係の対応の間に、並び替え用のデータ配列(「参照先情報」ともいう)1101を設けることで、係数の位置情報のみの更新を実現できる。あるリーフノードの値は、データ配列1101内の順番を指し示しており、指し示された要素は、係数の位置を示している。
この例では、3の値を持つリーフノードの位置は、データ配列1101の3番目の要素を参照して得られる。フレームf1の時点におけるデータ配列1101の3番目の要素は、係数の位置aを指している。一方、フレームf2の時点におけるデータ配列1101の3番目の要素は、係数の位置bを指している。
データ配列はツリー構造のような複雑さは無いので容易に実現できる。別の表現を用いると、リーフノードが指し示す位置情報とは、間接位置情報であり、データ配列1101上の位置を示している。データ配列1101の中で、指し示された要素の値が指しているのが、係数の位置情報である。
また、図8の係数ゼロを示す要素1102のように、ブロックの係数位置a〜f以外の値を割り当てることで、この要素を指しているリーフノード(値5を持つノード)は、非ゼロ係数を持たないことを示すことができる。この場合では、係数位置fは、インデックスポインタ1103のいかなる要素からも指されていないので、非ゼロ係数を持たない、つまり、係数はゼロであることがわかる。
次に、図9及び図10を参照して、本発明の実施の形態1に係る動画像符号化装置100を説明する。図9は、動画像符号化装置100の機能ブロック図である。図10は、動画像符号化装置100の動作を示すフローチャートである。
動画像符号化装置100は、図9に示されるように、減算器105と、変換/量子化部110と、逆量子化/逆変換部120と、加算器125と、デブロッキングフィルタ130と、シーケンス生成部180と、エントロピー符号化部190と、符号化信号を出力する出力部(図示省略)と、予測ブロック生成部(図示省略)とを備える。
この動画像符号化装置100は、入力信号としての動画像信号を符号化し、符号化信号を出力する。出力先は特に限定されないが、例えば、DVD(Digital Versatile Disc)やBD(Blu−ray Disc)等の記録媒体でもよいし、伝送路を通じて動画像復号装置200に伝送してもよい。
減算器105は、符号化対象ブロック(入力信号)から予測ブロック(予測信号)を減算して予測誤差信号を生成する。変換/量子化部110は、予測誤差信号をDCT変換(Discrete Cosine Transformation:離散コサイン変換)すると共に、量子化して量子化係数を生成する。より具体的には、動画像信号の画素値を、周波数を示すn(nは2以上の整数)個の係数で構成される2次元マトリクスに変換する。そして、当該2次元マトリクスを構成するn個の係数それぞれを量子化して、n個の量子化係数を生成する。
シーケンス生成部180は、n個の量子化係数を含む2次元マトリクスを、1次元シーケンスと量子化係数とに分割する。シーケンス生成部180の具体的な動作は、後述する。エントロピー符号化部190は、シーケンス生成部180から出力される1次元シーケンス等をエントロピー符号化して符号化信号を生成する。
逆量子化/逆変換部120は、変換/量子化部110から出力された量子化係数を逆量子化すると共に、DCT逆変換して量子化予測誤差信号を生成する。加算器125は、量子化予測誤差信号と予測信号とを加算して再構築信号を生成する。デブロッキングフィルタ130は、再構築信号からブロック歪みを除去して復号信号を生成する。
予測ブロック生成部は、符号化対象ブロック(入力信号)より前に符号化された画像に基づいて、当該符号化対象ブロックを予測した予測信号を生成する。この予測ブロック生成部は、メモリ140と、補間フィルタ150と、動き予測部165と、動き補償予測部160と、イントラフレーム予測部170と、スイッチ175とによって構成されている。
メモリ140は、復号信号を一時記憶する遅延器として機能する。より具体的には、変換/量子化部110で量子化され、且つ逆量子化/逆変換部120で逆量子化されたブロックを順次記憶し、1枚の画像(ピクチャ)を記憶する。補間フィルタ150は、動き補償予測に先立って復号信号の画素値を空間的に補間する。動き予測部165は、復号信号と次の符号化対象ブロックとに基づいて動き予測を行い、動きデータ(動きベクトル)を生成する。動き補償予測部160は、復号信号と動きデータとに基づいて動き補償予測を行い、予測信号を生成する。イントラフレーム予測部170は、復号信号を画面内予測して予測信号を生成する。スイッチ175は、予測モードとして「イントラ」モード及び「インター」モードのいずれかを選択する。そして、スイッチ175から出力される予測ブロックは、次の符号化対象ブロックを予測した信号となる。
次に、図10を参照して、動画像符号化装置100の動作を説明する。
まず、減算器105は、入力信号から予測信号を減算して、予測誤差信号を生成する(S11)。次に、変換/量子化部110は、予測誤差信号をDCT変換すると共に、量子化して量子化係数を生成する(S12)。ここで、変換/量子化部110から出力されるのは、n個(典型的には、8×8=64個)の量子化係数で構成される2次元マトリクスである。
次に、シーケンス生成部180は、変換/量子化部110から出力される2次元マトリクスを1次元シーケンスに変換するシーケンス生成処理を実行する(S13)。シーケンス生成処理の詳細は、後述する。次に、エントロピー符号化部190は、1次元シーケンス、量子化係数、動きデータ、及び参照先情報(後述)等をエントロピー符号化して符号化信号を生成する(S14)。
一方、エントロピー符号化部190の動作と平行して、逆量子化/逆変換部120は、変換/量子化部110から出力される量子化係数を逆量子化すると共に、DCT逆変換して量子化予測誤差信号を生成する。また、加算器125は、量子化予測誤差信号と予測ブロックとを加算して再構築信号を生成する。デブロッキングフィルタ130は、再構築信号からブロック歪みを除去して復号信号を生成する。そして、予測ブロック生成部は、復号信号に基づいて予測ブロックを生成する(S16)。
次に、図11及び図12を参照して、本発明の一実施形態に係る動画像復号装置200の構成及び動作を説明する。図11は、動画像復号装置200のブロック図である。図12は、動画像復号装置200の動作を示すフローチャートである。
動画像復号装置200は、図11に示されるように、符号化信号を取得する取得部(取得部)と、エントロピー復号部290と、マトリクス生成部280と、逆量子化/逆変換部220と、加算器225と、デブロッキングフィルタ230と、予測ブロック生成部(図示省略)とを備える。この動画像復号装置200は、図9に示される動画像符号化装置100で符号化された符号化信号を復号して復号ブロック(復号信号)を生成する。
エントロピー復号部290は、動画像符号化装置100から出力された符号化信号をエントロピー復号して、1次元シーケンス、量子化係数、動きデータ、及び参照先情報を取得する。マトリクス生成部280は、1次元シーケンスと量子化係数とを結合して、n個の量子化係数で構成される2次元マトリクスを生成する。マトリクス生成部280の具体的な動作は、後述する。
逆量子化/逆変換部220は、マトリクス生成部280から出力される2次元マトリクスの各量子化係数を逆量子化すると共に、DCT逆変換することにより、量子化予測誤差信号を生成する。加算器225は、逆量子化/逆変換部220から出力される量子化予測誤差信号と、予測ブロック生成部から出力される予測信号とを加算して、再構築信号を生成する。デブロッキングフィルタ230は、加算器225から出力される再構築信号に対して適用され、ブロックのエッジを平滑化して主観的画質を改善する。
予測ブロック生成部は、メモリ240と、イントラフレーム予測部270と、動き補償予測部260と、補間フィルタ250と、スイッチ275とを備える。この予測ブロック生成部は、基本的な構成及び動作は共通するが、動き予測部165を省略して、動きデータをエントロピー復号部290から取得する点が異なる。
次に、図12を参照して、動画像復号装置200の動作を説明する。
まず、エントロピー復号部290は、符号化信号をエントロピー復号して、1次元シーケンス、量子化係数、動きデータ、及び参照先情報を取得する(S21)。次に、マトリクス生成部280は、1次元シーケンスと量子化係数とを結合して2次元マトリクスを生成するマトリクス生成処理を実行する(S22)。マトリクス生成処理の詳細は、後述する。
次に、逆量子化/逆変換部220は、マトリクス生成部280から出力される2次元マトリクスの各量子化係数を逆量子化すると共に、DCT逆変換することにより、量子化予測誤差信号を生成する(S23)。次に、加算器225は、量子化予測誤差信号と予測ブロックとを加算して再構築信号を生成する。また、デブロッキングフィルタ230は、再構築信号からブロック歪みを除去して復号信号を生成する。そして、動画像復号装置200は、当該復号信号を出力(典型的には、ディスプレイに表示)する(S24)。一方、予測ブロック生成部は、再構築信号を用いて、予測信号を生成する(S25)。
図13は本実施の形態1におけるシーケンス生成部180のブロック図である。シーケンス生成部180は、木構造決定部1001と、木構造情報メモリ1003と、参照先決定部1005と、参照先情報メモリ1007と、係数走査ユニット1009とを備える。
木構造決定部1001は、あらかじめ決められた構造情報1000、あるいは、直前に符号化したフレームやスライスの係数の発生頻度や強度情報等を基に、木構造情報1002を決定する。木構造決定部1001は、決定した木構造情報1002を、木構造情報メモリ1003へ格納するとともに、蓄積メディアや伝送路1030へ出力する。同時にリーフノードに格納する参照先情報1013の初期値を決定し、参照先情報メモリ1007へ格納する。
ここで、木構造情報1002は、内部ノード及びn個のリーフノードを含む複数のノードで構成される二分木(「ゼロツリー」ともいう)を定義する情報である。参照先情報1013は、n個のリーフノードそれぞれが参照する2次元マトリクスの位置を示す情報である。
n個の量子化係数で構成される2次元マトリクス1010は、係数走査ユニット1009に入力される。係数走査ユニット1009は、木構造情報メモリ1003から読み出した木構造情報1004と、参照先情報メモリ1007から読み出した参照先情報1006とを基に、ゼロツリーの走査方法に従って係数を走査し、有効ノードを示すバイナリシーケンスと非ゼロ係数のレベルとサインの情報1012へ変換し、蓄積メディアや伝送路1030へ出力する。
より具体的には、係数走査ユニット1009は、木構造情報1004、参照先情報1006、及びn個の量子化係数を含む2次元マトリクス1010に基づいて1次元シーケンスを生成する。この係数走査ユニット1009は、値割り当て部1009aと、走査部1009bとで構成される。
値割り当て部1009aは、木構造情報1004で定義される二分木の各ノードに、互いに異なる第1及び第2の値のいずれかを割り当てる。実施の形態1において、第1の値は「1」、第2の値は「0」である。
値割り当て部1009aは、まず、n個のリーフノードそれぞれに対して、参照先情報1013で示される2次元マトリクスの位置に保持される量子化係数を、エントロピー符号化部190で符号化する場合に「1」を割り当て、エントロピー符号化部190で符号化しない場合に「0」を割り当てる。次に、内部ノードに対して、2つの子ノードの少なくとも一方に「1」が割り当てられている場合に「1」を割り当て、2つの子ノードのいずれにも「0」が割り当てられている場合に「0」を割り当てる。
走査部1009bは、二分木を行きがけ順(preorder)で走査して、各ノードに割り当てられた値を走査順に並べることにより、1次元シーケンスを生成する。このとき、走査部1009bは、内部ノードに「0」が割り当てられていた場合に、当該内部ノードの子孫ノードの走査を省略する。
参照先決定部1005は、並び替えを行うトリガ信号1011を受信すると、新たな参照先情報1006を生成する。そして、当該新たな参照先情報1006で参照先情報メモリ1007を上書きすると共に、新たな参照先情報1006を蓄積メディアまたは伝送路1030へ出力する。ここで、並び替えを行うトリガ信号1011とは、周波数適応選択更新における、更新する高域係数の位置が変更された場合等である。このとき、参照先決定部1005は、値割り当て部1009aの処理によって、より上位の内部ノードに「0」が割り当てられるように(言い換えれば、1次元シーケンスができるだけ短くなるように)、参照先情報1006を決定する。
図14は、本実施の形態1におけるマトリクス生成部280のブロック図である。マトリクス生成部280は、木構造情報メモリ1003と、参照先情報メモリ1007と、係数逆走査ユニット2209とを備える。
蓄積メディアや伝送路1030より、フレームやスライスや複数のブロックなどの比較的広い周期で木構造情報1002を受信し、木構造情報メモリ1003に格納する。格納された木構造情報1002は、係数逆走査ユニット2209へ出力される。木構造情報1002は、リーフノードと係数の位置情報との関係を示す参照先情報1013の初期値を持つ場合があるので、持つ場合には参照先情報メモリ1007へ格納する。同様の頻度あるいはブロック単位の頻度で新たな参照先情報1006を受信すると、当該新たな参照先情報1006で参照先情報メモリ1007が上書きされる。
係数逆走査ユニット2209は、有効ノードを示すバイナリシーケンスと非ゼロ係数のレベルとサインの情報1012を入力し、木構造情報1002と参照先情報1006とを基に、有効ノードを示すバイナリシーケンスに従い非ゼロ係数の位置を決定し、非ゼロ係数のレベルとサインを統合し、n個の量子化係数を含む2次元マトリクス1010を出力する。
より具体的には、係数逆走査ユニット2209は、1次元シーケンス、量子化係数、参照先情報1006、及び木構造情報1002に基づいて、n個の量子化係数で構成される2次元マトリクス1010を生成する。この係数逆走査ユニット2209は、逆走査部2209aと、係数割り当て部2209bとで構成される。
逆走査部2209aは、二分木を行きがけ順(preorder)で走査して、1次元シーケンスに示される値を各ノードに割り当てる。但し、内部ノードに「0」が割り当てられた場合に、当該内部ノードの子孫ノードの走査を省略する。係数割り当て部2209bは、参照先情報1006に基づいて、「0」が割り当てられたリーフノードが参照する2次元マトリクスの位置に、量子化係数を順に割り当てる。
図15Aは、本実施の形態1における動画像符号化装置100の動作手順を示すフローチャートである。まず、木構造決定部1001で生成された木構造情報1002は、エントロピー符号化部190で符号化されて出力される(S901)。この木構造情報1002は比較的情報量が大きいので、1度だけ生成されて出力されるのが一般的である。
次に、フレーム単位あるいはスライス単位あるいは、複数のブロックの単位の繰り返し処理(S902〜S905)において、一つまたは複数のブロックの量子化係数及び1次元シーケンスが符号化される(S903)。また、周波数適応更新における、更新する係数の位置が変化した場合などには、リーフノードが持つ係数の参照先情報1006を符号化する(S904)。そして、これらの情報は、エントロピー符号化部190で符号化されて符号化済みストリーム(「符号化信号」ともいう)として出力される。符号化対象のフレームまたはスライスまたは複数のブロックがまだ残っていれば、再び係数の符号化(S903)を行う。なお、参照先情報の更新(S904)は、量子化係数の符号化(S903)の前に行ってもよい。
また、前述のFSCでは符号化しない係数位置があるが、位置情報の並び替え時において、有効な係数位置が存在しないことを特別な値で表現してもよい(例えば−1.と割り当てる。あるいは、4*4の16係数を持つブロックにおいて0から15の値を係数位置に割り当てている場合に16と割り当てるなど)。このような無効な位置がリーフノードの値に割り当てられる場合、その親が持つもう一方の子ノードの値も0である場合には、その親の値も0に書き換える必要がある。この書き換えは全てのリーフノードから根に向かって行われる。
図15Bは、本実施の形態における動画像復号装置200の動作手順を示すフローチャートである。まず、符号化済みストリームから、木構造情報1002が復号される(S911)。次に、フレーム単位またはスライス単位または複数のブロック単位の繰り替えし処理(S912〜S915)において、量子化係数および1次元シーケンスが復号される(S913)。また、リーフノードが持つ係数の参照先情報1006を更新する情報が符号化済みストリームにあれば、参照先情報メモリ1007の参照先情報1006を更新する(S914)。
符号化済みストリームにまだ復号していない符号化済みデータが残っていれば(S915)、復号処理を継続する(S912)。なお、参照先情報1006の復号(S914)と量子化係数及び1次元シーケンスの復号(S913)は順序を入れ替えてもよい。
次に、図16及び図17を参照して、実施の形態1におけるシーケンス生成処理の一例を説明する。図16は、シーケンス生成処理のフローチャートである。図17は、シーケンス生成処理で生成されるデータの一例を示す図である。
2次元マトリクス1010は、n個の量子化係数で構成されている。また、図17では、2次元マトリクス1010の各セルの位置をa〜fで示している。なお、図17では、簡単のために6個の量子化係数で構成される2次元マトリクス1010の例を示したが、本発明はこれに限定されるものではない。例えば、4×4(=16)マトリクスや8×8(=64)マトリクスであってもよい。
木構造情報1002は、二分木の構造を定義するための情報である。具体的なデータ構造は特に限定されないが、例えば、構造情報(ztree_structure)と、インデックス情報(ztree_leaf_index)とで構成される。
構造情報は、二分木の構造を特定するための情報であって、例えば、二分木を行きがけ順で走査した場合の内部ノード及びリーフノードの並び順を示す。ここで、「行きがけ順」とは、二分木を構成する各部分木毎に「親ノード→左ノード→右ノード」の順、又は「親ノード→右ノード→左ノード」の順で走査することを指す。図17の例では、「0」が内部ノードを示し、「1」がリーフノードを示す。インデックス情報は、n個のリーフノードが参照する中間テーブル(後述)のインデックスを示す。なお、図17の二分木において、各ノードの左肩に示す数値xは、当該ノードの走査順を示す。以下、特定のノードを指す場合に「ノード(x)」と表記する。
そして、参照先決定部1005は、2次元マトリクス1010及び木構造情報1002に基づいて、参照先情報1006を生成する(S31)。図17に参照先情報1006の具体例である参照先情報1006a、1006bを示す。参照先情報1006a、1006bは、2次元マトリクスの各位置(a〜f)を示す位置情報と、当該位置情報を特定するインデックス(I〜VI)とを対応付けて保持する中間テーブルである。インデックス(I〜VI)は、木構造情報1002のインデックス情報に対応する。つまり、二分木の各リーフノードは、参照先情報1006a、1006bを経由して、2次元マトリクス1010にアクセスする。
ここで、参照先決定部1005は、生成される1次元シーケンスが最も短くなるような参照先情報1006を生成する。つまり、2次元マトリクスの各位置を示す位置情報と、インデックスとの組み合わせを変更する。例えば、値割り当て部1009aの処理によって、より上位の内部ノードに「0」が割り当てられるような参照先情報1006を生成する。または、符号化される量子化係数を保持する2次元マトリクスの位置が、符号化されない量子化係数を保持する2次元マトリクスの位置より走査順の早いリーフノードに割り当てられるように、参照先情報1006を生成する。
参照先情報1006の具体的な決定方法は特に限定されないが、例えば、予め複数の参照先情報1006a、1006bを用意しておき、当該複数の参照先情報1006a、1006bに基づいて1次元シーケンスを生成し、最も短い1次元シーケンスを生成できる参照先情報1006を選択するようにしてもよい。または、直前に生成された参照先情報1006aに基づいて1次元シーケンスを生成し、当該生成された1次元シーケンスより短い1次元シーケンスが生成できるように、参照先情報1006aの位置情報とインデックスとの組み合わせを変更して、新たな参照先情報1006bを生成してもよい。
まず、参照先情報1006aを用いて1次元シーケンスを生成する処理を説明する。
値割り当て部1009aは、木構造情報1002で定義される二分木の各ノードに、「1」及び「0」のいずれかを割り当てる(S32)。
まず、n個のリーフノードそれぞれに対して値を割り当てる。具体的には、参照先情報1006aで示される2次元マトリクス1010の位置に保持される量子化係数を符号化する場合は「1」を割り当てる。一方、当該量子化係数を符号化しない場合は「0」を割り当てる。ここで、実施の形態1では、0でない量子化係数のみを符号化する。
例えば、ノード(3)のインデックスはIであり、参照先情報1006aのインデックスIには位置aが対応付けられている。位置aの量子化係数は「15」であり、当該量子化係数は符号化されるので、ノード(3)には「1」が割り当てられる。一方、ノード(11)のインデックスはVIであり、参照先情報1006aのインデックスVIには位置fが対応付けられている。位置fの量子化係数は「0」であり、当該量子化係数は符号化されないので、ノード(11)には「0」が割り当てられる。
次に、内部ノードに対して値を割り当てる。具体的には、2つの子ノードの少なくとも一方に「1」が割り当てられている場合は「1」を割り当てる。一方、2つの子ノードのいずれにも「0」が割り当てられている場合は「0」を割り当てる。
例えば、ノード(2)の子ノードであるノード(3)及びノード(4)には「1」が割り当てられる。すなわち、ノード(2)には「1」が割り当てられる。一方、ノード(8)の子ノードであるノード(9)及びノード(10)には「0」が割り当てられる。すなわち、ノード(8)には「0」が割り当てられる。
次に、走査部1009bは、各ノードに値が割り当てられた二分木を行きがけ順で走査し、各ノードに割り当てられた値を走査順に並べる(S33)。その結果、参照先情報1006aを用いることにより、1次元シーケンス(111111100)が得られる。また、符号化される量子化係数の列は(15,7,2)である。
次に、参照先情報1006bを用いて1次元シーケンスを生成する処理を説明する。なお、参照先情報1006bは、インデックスIIIと位置fとが対応付けられ、インデックスVIと位置cとが対応付けられている点で、参照先情報1006aと異なる。また、1次元シーケンスの生成手順は既に説明したので、再度の説明は省略する。参照先情報1006bを用いることにより、1次元シーケンス(1111101)が得られる。また、符号化される量子化係数の列は(15,7,2)である。
図17を参照すれば明らかなように、参照先情報1006aを用いた場合、ノード(8)に「0」が割り当てられる。一方、参照先情報1006bを用いた場合、ノード(6)に「0」が割り当てられる。すなわち、参照先情報1006bを用いることにより、より上位の内部ノードに「0」を割り当てることができる。
また、参照先情報1006aを用いて生成される1次元シーケンスは、9ビットである。それに対して、参照先情報1006bを用いて生成される1次元シーケンスは、7ビットである。すなわち、参照先情報1006bを用いることにより、より短い1次元シーケンスを生成することができる。
次に、シーケンス生成部180は、生成(使用)された参照先情報1006bが直前に生成(使用)された参照先情報と異なるか否か(つまり、更新されたか)を判断する(S34)。参照先情報1006bが直前に生成されたものと異なる場合(S34でYes)、シーケンス生成部180は、1次元シーケンス、量子化係数の列、及び参照先情報1006bをエントロピー符号化部190に出力する(S35)。なお、エントロピー符号化部190は、参照先情報1006b全体を符号化してもよいし、直近の参照先情報1006aとの差分のみを符号化してもよい。
一方、参照先情報1006bが直前に生成されたものと同一である場合(S34でNo)、シーケンス生成部180は、1次元シーケンス及び量子化係数の列をエントロピー符号化部190に出力する(S36)。
上記構成とすることにより、エントロピー符号化部190での符号量を削減することができる。また、上記の処理は、データ量の大きい木構造情報1002を変更することなく、参照先情報1006の変更のみで実現することができるので、処理負荷が大きく増大することはない。
なお、実施の形態1における木構造情報1002は、構造情報(ztree_structure)と、インデックス情報(ztree_leaf_index)とを含む。また、参照先情報1006は、2次元マトリクス1010の各位置を特定する位置情報と、位置情報を特定するインデックスとを対応付けて保持する中間テーブルである。しかしながら、中間テーブルを省略し、木構造情報1002のうちのインデックス情報を最適化する(つまり、インデックス情報が参照先情報に相当する)構成であってもよい。
次に、図18及び図19を参照して、実施の形態1におけるマトリクス生成処理の一例を説明する。図18は、マトリクス生成処理のフローチャートである。図19は、マトリクス生成処理で生成されるデータの一例を示す図である。
まず、マトリクス生成部280は、エントロピー復号部290から出力される信号を取得する。この信号には、動画像符号化装置100で生成された1次元シーケンス(1111101)、量子化係数の列(15,7,2)、及び新たに生成された参照先情報1006bが含まれる。
そこで、マトリクス生成部280は、エントロピー復号部290から出力される信号に参照先情報1006bが含まれる場合、つまり、参照先情報1006が更新されていた場合(S41でYes)、当該新たな参照先情報1006bで参照先情報メモリ1007を上書きする(S42)。一方、エントロピー復号部290から出力される信号に参照先情報1006が含まれていない場合(S41でNo)、マトリクス生成部280は、S42の処理を省略する。
次に、逆走査部2209aは、二分木を行きがけ順で走査して、1次元シーケンスに示される値を各ノードに割り当てる(S43)。ただし、内部ノードに「0」が割り当てられた場合に、内部ノードの子孫ノードの走査を省略する。
この逆走査処理(S43)を図19を用いて説明する。まず、1次元シーケンスの各値を各ノードに割り当てる。具体的には、ノード(1)〜(5)に「1」を割り当て、ノード(6)に「0」を割り当てる。ここで、内部ノードであるノード(6)に「0」が設定されたので、当該ノード(6)の子孫ノードであるノード(7)〜(10)の走査(値の割り当て)を省略する。つまり、1次元シーケンスの最後の値「1」はノード(11)に割り当てられる。
次に、係数割り当て部2209bは、参照先情報1006bに基づいて、「1」が割り当てられたリーフノードが参照する2次元マトリクスの位置に、量子化係数の列に含まれる各係数を順に割り当てる(S44)。これにより、2次元マトリクスが生成される。
逆走査処理(S43)で「1」が割り当てられたリーフノードは、ノード(3)、(4)、(11)である。また、ノード(3)には参照先情報1006bのインデックスIが、ノード(4)にはインデックスIIが、ノード(11)にはインデックスVIがそれぞれ割り当てられている。そこで係数割り当て部2209bは、ノード(3)が参照先情報1006bを経由して参照する2次元マトリクスの位置aに量子化係数の列のうちの最初の係数「15」を割り当てる。同様に、係数割り当て部2209bは、ノード(4)が参照する位置bに量子化係数「7」を、ノード(11)が参照する位置cに量子化係数「2」を割り当てる。一方、「0」が設定されたリーフノード(ノード(7)、(9)、(10))が参照する位置d、e、fには、量子化係数「0」が設定される。
上記構成によれば、データ量の大きい木構造情報1002を変更することなく、参照先情報1006の変更のみで、1次元シーケンスから2次元マトリクスを再構成することができるので、処理負荷が大きく増大することはない。
(実施の形態2)
次に、図20〜図22Bを参照して、本発明の実施の形態2に係る動画像符号化装置100及び動画像復号装置200の動作を説明する。なお、動画像符号化装置100及び動画像復号装置200の構成及び基本的な動作は、実施の形態1と共通するので、詳しい説明は省略する。
実施の形態1においては、2次元マトリクス中の0でない量子化係数のみを符号化する例を示したが、本発明はこれに限定されない。例えば、周波数選択符号化を利用して、符号化すべき量子化係数を選択するようにしてもよい。
つまり、予め2次元マトリクスを、第1のグループと第2のグループとに分割しておく。そして、エントロピー符号化部190は、第1のグループに属する全ての量子化係数と、第1のグループに属する量子化係数の値に応じて第2のグループから選択される量子化係数のみを選択的に符号化する。そして、シーケンス生成部180は、上記のルールに基づいて、符号化される量子化係数と、符号化されない量子化係数とを区別すればよい。
前述のように、周波数選択的更新では、低域の係数と一部の高域の係数のみが符号化され、残りの多くの係数は符号化されない。この場合、図20の概念図に示すように、ゼロツリー構造1202の最も親のノード1203から見て、最初に走査される方の子供(この例では左から右への優先順位があるとしているので、左側の部分木1204)に、非ゼロ係数を持つ可能性のある係数の位置を配置し、2番目に走査される方の子供(この例では右側の部分木1205)に、非ゼロ係数を持たない係数の位置を全て配置する。
非ゼロ係数を持つ可能性のある状態とは、非ゼロとなる場合もゼロとなる場合もあり、ゼロと決まっているわけではない状態のことを指している。周波数選択的更新では、非ゼロ係数を持たない係数の個数が一般的には多いが、このように非ゼロ係数を持たない係数の位置を集めることで、有効ノードを示すバイナリシーケンス(1次元シーケンス)1206の、非ゼロ係数に関する部分シーケンス1207を最小限の個数とすることができる(この例では1個)。
本実施の形態2にかかる動画像符号化装置100は、図21のフローチャートで示すように、ゼロツリー構造を決定する。係数位置を、常にゼロ係数を持つ係数の位置と、非ゼロ係数を持つ可能性のある係数の位置とに分類する(S1301)。次に、非ゼロ係数を持つ可能性のある係数の位置をまず同一の子ノードの下に符号化する(S1302)。そして、常にゼロ係数を持つ係数の位置を別の同一の子ノードの下に符号化する(S1303)。これにより、有効ノードを示すバイナリシーケンスのデータ量を最小限にすることができる。
そして、図16及び図17を用いて説明したシーケンス生成処理は、実施の形態2に係る動画像符号化装置100にも応用することができる。つまり、シーケンス生成部180の参照先決定部1005は、符号化される非ゼロ係数が部分木1204に、符号化されないゼロ係数が部分木1205に割り当てられるように、参照先情報1006を決定する。これにより、周波数選択符号化における1次元シーケンスを最小化することができる。
図22Aは、本発明の実施の形態2における動画像符号化装置の動作フローチャートである。図15Aを変形し、周波数選択符号化FSCにより特定位置の係数が符号化されない場合に、符号化しない係数位置を通知することに対応したものである。
ゼロツリー構造は符号化される(S2301)。ゼロツリー構造のリーフノードの値が示す先は、係数の位置を直接指すのではなく、並び替えのデータ配列を経由して、係数の位置情報を指し示す、間接位置情報である。
次に、フレーム単位あるいはスライス単位あるいは、複数のブロックの単位の繰り返し処理(S2302)において、符号化しない係数位置を決定する(S2303)。一方、符号化しない係数位置は、ゼロツリーの任意のリーフノードより参照しない状態として表現する。例えば、特別な値(ブロックの係数の総数を超える数値や−1など)で表現した位置更新情報を、並び替えのデータ配列上に符号化する(S2304)。
次いで、係数を符号化する可能性のある係数位置についてのみ、量子化係数が符号化される(S2305)。S2303〜S2305の処理は、S2301に対応して繰り返される(S2306)。位置更新情報の符号化S2304は、以前のフレームまたはスライスまたは複数のブロックと、位置情報が同じ場合には省略されうる。また、ゼロツリー構造の符号化S2301は、S2302〜S2306の繰り返しの中で行われることもありうる。
図22Bは、本発明の実施の形態2における動画像復号装置の動作フローチャートである。図15Bを変形し、周波数選択符号化FSCにより特定位置の係数が符号化されない場合に、符号化しない係数位置が通知されることに対応したものである。
ゼロツリー構造は復号され(S2311)、全てのリーフノードについて、リーフノードから並び替えのデータ配列上の要素を指し示す関係(つまり間接位置情報)が復号される。フレーム単位あるいはスライス単位あるいは、複数のブロックの単位の繰り返し処理(S2312)において、位置更新情報があれば位置情報を更新し、なければ、直前状態の位置情報を用いるなどして、位置情報を決定する(S2313)。
ここで、あるリーフノードに割り当てられた間接位置情報の指す、並び替えのデータ配列上の要素が、符号化しない係数位置を表現した特別な値(ブロックの係数の総数を超える数値や−1など)である場合には、そのリーフノードの値は0とする。その0となったノードの親が持つもう一方の子ノードの値も0となる場合には親ノードも0とする。
次に、根方向に向かって順に書き換えを行う(S2313)。さらに、並び替えのデータ配列上のどの要素からも指し示されない係数位置がある場合、その係数は符号化されない係数であるとわかり、その係数には0を設定する(S2314)。
次に、量子化係数をゼロツリー走査の逆走査の手順に従い、本来の係数位置へ設定していく。本発明の復号方法では、ゼロツリーのリーフノードが指し示すのは直接の係数位置ではなく、間接位置情報である。つまり、並び替えのデータ配列上の要素を指している。並び替えのデータ配列上で指し示された要素が示す先が、最終的な係数の位置情報である(S2315)。S2313〜S2315について、前述のS2312の単位で繰り返しを行う(S2316)。
また、局所適応の周波数選択符号化を実現するために、周波数選択符号化の条件が真になった場合に適用される、第2の並び替えのデータ配列を定義してもよい。
(実施の形態3)
次に、図23を参照して、本発明の実施の形態3を説明する。実施の形態3では、実施の形態2に係るシーケンス生成処理やマトリクス生成処理を、ジグザグ走査に応用したものである。
前述のように周波数選択符号化では高域係数の符号量を抑圧している。しかしながら、エッジなどの情報量の多い領域(ブロックなどの単位)では高域係数を符号化しないと劣化がわかりやすい傾向もあるため、このような領域ではFSCは行わないことが望ましい。ブロック単位のFSCの有無情報を復号装置へ通知する仕組みが必要であるが、毎ブロックに情報を付与すると、ブロックが多数であるがために全体の符号量が著しく増加する課題がある。本実施の形態3における局所適応周波数選択符号化の装置及び方法は、FSCの有無に依らず常に符号化される低域係数の情報を基に、FSCの有無を決定する。
図23を用いて局所適応周波数選択符号化を説明する。2次元の量子化変換係数ブロック11は、第1の走査順502により走査されるが、あらかじめ決められた位置まで走査したのち、FSC有無の判定を行う。この図では、位置eまで走査した後に判定を行う。
エッジなどの劣化を知覚しやすい領域では、低域でも大きな係数が発生している傾向がある。この傾向を利用して、低域の係数を基にFSCの判定504を行う。係数ではなく、前述のレベルやサイン、あるいは、ゼロ係数であるか非ゼロ係数であるかを基に判定を行ってもよい。あるいは、これらの情報に位置による重み付けを行ってもよいし、何らかの関数処理を適用した後の結果を基に判定してもよい。
ここでは、第1の走査順502によって走査された係数シーケンス、及び第1の係数シーケンス503を基に、係数の絶対値の和をあらかじめ決めておいた閾値比較をしている。閾値よりも大きければ、第2の走査順505により残りの係数を走査する。第1の係数シーケンス503とあわせて、図23のように1次元シーケンス506が得られる。一方、判定504において、低域の係数が強くは無いと判断された場合、第3の走査順507により残りの係数を走査する。この例では、1の位置の係数のみを走査する。第1の係数シーケンス503とあわせて、1次元シーケンス508が得られる。
なお、ここでは第1の走査順502と第2の走査順505とは独立のものとして説明したが、第1の走査順502と第2の走査順505とは連続したものである。第1の走査順502は、その連続した走査順の前半の一部であると考えることができる。また、この連続した走査順は、ジグザグ走査などの一般的な走査とすることで実装を容易にできる。
(実施の形態4)
前述の実施の形態2の例では、非ゼロ係数の位置を示すバイナリシーケンスのデータ量を軽減したが、さらに、非ゼロ係数を持たない係数の位置を配置した部分木1205を符号化しないことで、ゼロツリー構造のデータ量の削減、および有効ノードを示すバイナリシーケンスのデータ量もさらに削減する。
図24は、本実施の形態にかかる動画像符号化方法を説明する図である。具体的には、ゼロツリー構造の決定、および非ゼロ係数の位置を示すバイナリシーケンスの決定を示した概念図である。
非ゼロ係数を持つ可能性のある係数の位置のみに対して、ゼロツリー構造1402と、有効ノードを示すバイナリシーケンス1406とを符号化する。この図では、非ゼロ係数の持つ可能性のある係数は全て非ゼロ(全て1)である例であるが、一部の係数がゼロである場合も含まれる。また、ゼロツリー構造の最も親のノード1403は冗長であるので、図25に示すゼロツリー構造1502としてもよい。
本実施の形態4にかかる動画像符号化方法は、ゼロツリー構造の決定において、図26のフローチャートで示すように、ゼロツリー構造を決定する。まず、係数位置を、常にゼロ係数を持つ係数の位置と、非ゼロ係数を持つ可能性のある係数(ゼロまたは非ゼロ係数になる)の位置とに分類する(S1601)。そして、非ゼロ係数を持つ可能性のある係数(ゼロまたは非ゼロ係数になる)の位置のみを符号化する(S1602)。
(実施の形態5)
前述の実施の形態3では、ジグザグ走査の場合の局所適応周波数選択符号化(局所適応FSC)を示した。本実施の形態5では、ゼロツリー構造の場合の局所適応FSCを示す。図27は、本実施の形態5を示す概念図である。ゼロツリー構造の既に復号された部分木1702の状態に応じて、後続の部分のゼロツリー構造を切り替える。
図27の例では、切り替え判定を行うタイミングを示す仮想的なノードである条件付ノード1703を定義している。ゼロツリー構造の探索(あるいは、トラバース)がこのノードの位置に到達したときに、局所適応FSCの条件判定を行う。これは仮想的なノードであり、このノードに関連付けられた有効ノードを示すバイナリシーケンスの要素は不要である。この条件付ノードの判定結果が真の場合には、ゼロツリー構造の部分1704を選択する。そして、判定結果が真ではない場合は、ゼロツリー構造の部分1705を選択する。
前述の既に復号された部分木1702の状態とは、部分木1702に含まれる位置の係数そのものや、その係数のレベルやサイン、係数がゼロ係数か非ゼロ係数であるか、あるいは、ノードが有効な値を持つかなどの情報に基づき定義する。これらの情報に位置による重み付けを行ってもよいし、何らかの関数処理を適用した後の結果を基に定義してもよい。
さらには、量子化パラメータやブロックのフレーム内における位置情報、予測画像を生成する方式の種別に基づいて定義してもよい。量子化パラメータは、符号化装置側において、視覚的に劣化の目立つ領域とあまり目立たない領域へのデータ量の配分を変更するために制御するパラメータである。このパラメータに応じて、条件判定を適応させることより、劣化の目立ちにくい制御ができる。
なお、上記では、局所適応FSCの判定を行うタイミングは仮想的なノードであり、有効ノードを示すバイナリシーケンスの要素は関係付けられないとした。しかしながら、局所適応FSCの判定条件の一つとして、有効ノードを示すバイナリシーケンスの要素を関連付ける構成も考えることができる。この構成では、局所適応FSCの判定を符号化装置側より明示的に制御できるメリットがあるが、データ量が増えるデメリットもある。本実施の形態5では、関連付けられたバイナリシーケンスの要素は無いものとする。
図28は、本実施の形態5の復号装置のブロック図である。本復号装置は、ゼロツリー復号部1801と、統合部1802と、逆量子化部1803と、逆直交変換部1804とから構成される。
ゼロツリー復号部1801は、ゼロツリー構造1811と有効ノードを示すバイナリシーケンス1812を入力し、ツリー上でノードの有効無効判定を行う。そして、次の有効なリーフノードが見つかるまでツリー上で探索を行い、探索されたリーフノードに関連付けられた(非ゼロの)係数の位置情報1814を出力する。この位置情報1814は、統合部1802に入力される。
統合部1802は、別途入力されるレベルとサイン1813を、位置情報1814に従って、本来の並び(2次元ブロック等)へと変換した統合信号1815を出力する。なお、符号化装置側でこの信号と対応するのは量子化係数のことである。
逆量子化部1803は、統合信号1815を入力し、逆量子化変換を行い、逆量子化後信号1816を出力する。なお、符号化装置側でこの信号と対応するのは直交変換係数のことである。逆直交変換部1804は、逆量子化後信号1816を入力とし、逆直交変換を行い、信号1817を出力する。
本実施の形態5における復号装置において特徴的な構成は、次の(i)から(iv)をひとつ以上複数個備えることである。(i)ゼロツリー復号部1801の過去の出力が、ゼロツリー復号部1801へ入力され、出力の位置情報1814を適応的に変化させる。(ii)過去の統合信号1815が、ゼロツリー復号部1801に入力され、出力の位置情報1814を適応的に変化させる。(iii)過去の逆量子化後信号1816が、ゼロツリー復号部1801に入力され、出力の位置情報1814を適応的に変化させる。(iv)その他の当該ブロック内にて利用可能な情報(信号1817)が、ゼロツリー復号部1801に入力され、出力の位置情報1814を適応的に変化させる。なお、(i)はゼロツリー上で既に探索されたノードが持つ値を含む場合もある。
また、本実施の形態5における符号化装置は、局所適応FSCでFSCの判定条件として参照される部分ゼロツリー構造、あるいは、低域の係数に対応する部分ゼロツリー構造を、第1のゼロツリー構造と呼ぶならば、第1のゼロツリー構造に属する係数の発生頻度に応じて最適となるように、第1のゼロツリー構造を決定する。同様に、局所適応FSCにより切り替えられる部分の、二つの部分ゼロツリー構造を、第2のゼロツリー構造、第3のゼロツリー構造と呼ぶならば、第2のゼロツリー構造に属する係数の発生頻度に応じて最適となるように、第2のゼロツリー構造を決定する。第3のゼロツリー構造に属する係数の発生頻度に応じて最適となるように、第3のゼロツリー構造を決定する。
図29は、本実施の形態5にかかる符号化装置及び復号装置における、ゼロツリー復号部の局所適応処理を説明するフローチャートである。ゼロツリー復号部においては、ノードを探索していく過程において、従来とは異なり、条件付ノードが含まれる場合がある。
そこで、まず、現在の探索位置のノードのタイプを調べる(S1901)。次に、そのノードタイプが、条件付ではない通常のノードであれば、有効ノードを示すバイナリシーケンスから要素を一つ取り出し(S1903)、次のノードへ移動する(S1907)。
ノードのタイプが、過去に得られたノードの値に依存するタイプの条件付ノードである場合には、その条件の判定を行い、判定結果に応じてあらかじめ定義された(符号化装置より通知された)方法に従って、ツリー構造を決定する(S1904)。ツリー構造の決定とは、一部分の変更でもよいし、ツリーの構造は変更せずに、リーフノードと係数の位置との関係の再変更でもよい。
ツリー構造の決定後は、次のノードへ移動する(S1907)。ノードのタイプが、過去に得られたノードが指し示す係数の、レベル、サイン、または係数そのものに依存するタイプの条件付ノードである場合には、必要となるレベル、サイン、または係数そのものを取得する(S1905)。
その後、前述の判定動作S1904と同様に、レベル、サイン、または係数そのものに基づき、ツリー構造を決定する(S1906)。ツリー構造の決定後は、次のノードへ移動する(S1907)。次のノードへの移動(S1907)においては、次のノードがツリー構造に存在しない場合には、処理を終了する。
(実施の形態6)
本実施の形態6では、局所適応FSCのようにツリーの部分を変更するためのツリー構造として、一つのノードの複数の値を持たせるデータ構造、および、このデータ構造を符号化及び復号する方法を提供する。複数の値を持つノードによるツリー構造の部分変更の概念図を図30に示す。
実施の形態6に係るゼロツリー構造では、各ノードは複数、少なくとも二つの値を持つ構造とする。ゼロツリー構造の探索開始時は、第1の値を参照する状態となる。FSCの判定が切り替えノード2000にて真となった場合、それ以降は、第2の値を参照する状態となる。第2の値は、従来と同様に、探索時に、有効ノードを示すバイナリシーケンスから要素を取り出すことを示す値である“フェッチ”と、あらかじめ、フレーム単位やスライス単位や複数のブロックの単位で値が固定されている“デフォルト”の二種類の値を定義する。
“フェッチ”は、図30では、内部ノードでは“−”、リーフでは係数の位置に対応するアルファベットで記載している。第2の値に“デフォルト”の0をあらかじめ入力しておくことで、ノードの無効化を記述でき、ゼロ係数の符号化をスキップできる(図30ではノード2002とノード2004が相当)。
また、ノード2003のように、第2の値に、第1の値とは異なる係数位置を設定することもメリットがある。ノード2005とノード2003の係数f、cの例のように、探索までの通過すべきノード数を変更できる。このように、より発生頻度の高い係数を通過順の早いノードに移動させることで、有効ノードを示すバイナリシーケンスのデータ量を削減できる可能性が高い。
図31は、複数の値を持つノードのうち、どの値を読むかを切り替えながら、ツリー構造を探索する、本実施の形態のツリー構造復号方法の動作フローチャートである。ここではあるノードの中でどの値を読むべきかの情報をレーンと呼ぶことにする。
まず、はじめに、レーンが初期化される(S2101)。次に、探索が開始されあるノードにて、ノードの形式を確認する。そのノードが局所適応FSCなどの条件判定を行う、スイッチングノードであれば(S2102でYes)、関連付けられた条件判定を行う(S2103)。
判定結果が真であれば(S2103でYes)、関連付けられたレーン変更などの動作を行い(S2104)、次のノードへ移動する(S2105)。一方、判定結果が真でなければ(S2103でNo)、レーン変更は行わず、次のノードへ移動する(S2105)。
前述のノードのタイプ判定において、スイッチングノードで無ければ(S2102でNo)、現在のノードの現在のレーンの値を読み込み(S2104)、ゼロツリー構造復号の通常動作を行い、次のノードへ移動する(S2105)。次のノードへの移動(S2105)は、残りのノードがあればノードのタイプ判定S2102へ戻り、残りのノードが無ければ終了する。
(実施の形態7)
図27では仮想的なノードを用いる構成を示したが、ツリーが全体として大きくなることは管理上の不都合がある場合も考えられる。図32で示すように、2次元の量子化変換係数ブロック2401は、第1のグループと、第2のグループにグループ化される。
第1のグループについて、ひとつの部分ゼロツリー構造2402を定義する。第2のグループについては、一つまたは複数個の部分ゼロツリー構造2403、2405を定義する。第2のグループの部分ゼロツリー構造2403、2405のどれが選択されるかは、第1のグループの部分ゼロツリー構造2402の探索(またはトラバース)後に得られる、係数やレベルやサインや有効ノードを示すバイナリシーケンスを基に決定される。
この構成では、条件分岐の仮想ノードがツリーとは別に定義されているので、ツリー構造を復号するユニットを従来から変更しなくてもよいという利点がある。第2のグループの部分ツリー構造2403、2405は、図32では2個だが、3個以上あってもよい。また、図32では、量子化係数グループを第1のグループと第2のグループに分割しているが、3個以上のグループに分割してもよい。
従来の固定的な走査であるジグザグ走査、および、ゼロツリー走査のどちらにおいても、量子化係数は、符号化装置により、非ゼロ係数を示すバイナリシーケンス(または、有効ノードを示すバイナリシーケンス)と、非ゼロ係数シーケンスに分解され、非ゼロ係数はレベルとサインにさらに分解される。本実施の形態7のように、量子化係数を二つ以上のグループに分割しバイナリシーケンスと非ゼロ係数シーケンス(レベルまたはサインも含む)も二つのグループに分割する必要がある。
図33は、バイナリシーケンスと非ゼロ係数シーケンスのデータの並びを示している。第1グループの有効ノードのバイナリシーケンス2501の後に、第1グループの非ゼロ係数シーケンス2502、その後に、第2グループの有効ノードのバイナリシーケンス2503、その後に、第2グループの非ゼロ係数シーケンス2504が並ぶ。第1グループの非ゼロ係数シーケンス2502がこの順位にあるのは、第2グループの部分ゼロツリー構造を決定するために、非ゼロ係数を必要とするためである。
一方、非ゼロ係数を用いないで決定する場合(第1グループの有効ノードのバイナリシーケンス2501のみを用いる、あるいは、当該ブロックの量子化パラメータを用いるなど)には、データの並びは、第1グループの有効ノードのバイナリシーケンス2501、第2グループの有効ノードのバイナリシーケンス2503、第1グループの非ゼロ係数シーケンス2502、第2グループの非ゼロ係数シーケンス2504、という並びでもよい。さらに、二つの非ゼロ係数シーケンス2502、2504は、分割しなくてもよい。
図34Aは、本実施の形態7の符号化装置の各ブロックにおける動作フローチャートである。あらかじめ、フレーム単位たまはスライス単位あるいは複数のブロックの単位で、第1グループの部分ゼロツリー構造、第2グループの部分ゼロツリー構造を符号化しておく。各ブロックにおいて、第1グループの有効ノードのバイナリシーケンスを符号化する(S2601)。次に、第1グループの非ゼロシーケンスの符号化する(S2602)。次に、第2グループの部分ゼロツリー構造を決定する(S2603)。決定後、第2グループの有効ノードのバイナリシーケンスの符号化する(S2604)。そして、第2グループの非ゼロ係数シーケンスの符号化を行う(S2605)。
図34Bは、本実施の形態7の復号装置の各ブロックにおける動作フローチャートである。復号装置と対応する動作となる。あらかじめ、フレーム単位たまはスライス単位あるいは複数のブロックの単位で、第1グループの部分ゼロツリー構造、第2グループの部分ゼロツリー構造が復号されているとする。各ブロックにおいて、第1グループの有効ノードのバイナリシーケンスを復号する(S2611)。次に、第1グループの非ゼロシーケンスを復号する(S2612)。次に、第2グループの部分ゼロツリー構造を決定する(S2613)。決定後、第2グループの有効ノードのバイナリシーケンスを復号する(S2614)。そして、第2グループの非ゼロ係数シーケンスを復号する(S2615)。
なお、ここで、第2グループの部分ゼロツリーは、フレーム単位などで、明示的に符号化装置より復号装置へ通知されるとしている。しかしながら、係数を複数グループに分割したことにより、グループの要素数は減少しているため、ゼロツリー走査を用いずに、従来のようにジグザグ走査を用いることで処理量を軽減できる構成も考えられる。特に、第1のグループが低域領域の狭い範囲(2×2)である場合には、ジグザグ走査の方が簡易である。
また、周波数選択符号化FSCを用いる場合、高域の係数の個数は少ないので、ゼロツリー構造を用いずに、係数位置のシーケンスを直接通知し、ゼロツリー構造は枝を持たない構造であると限定する方法が簡易である。図35の概念図で例を示す。
図35に示されるように、係数位置の個数ごとに、係数位置を指し示す情報を持たないゼロツリー構造2712、2722、2732、2742をあらかじめ規定しておく。そして、係数位置シーケンス2711、2721、2731、2741と、係数位置を指し示す情報を持たないゼロツリー構造2712、2722、2732、2742とを組み合わせることで、ゼロツリー構造2713、2723、2733、2743を得ている。
係数位置を指し示す情報を持たないゼロツリー構造2712、2722、2732、2742は、複数のフレームの符号化を行う先頭のみで送るか、あるいは、複数のフレームの単位で送るなどのように、送出頻度を抑えることで、データ量を削減できる。周波数選択符号化FSCの場合のように、多くの応用例では、係数位置を指し示す情報を持たないゼロツリー構造は複数のフレームにわたって変化せず、係数の位置のみが更新されるので、効果を期待できる。
(実施の形態8)
2次元の量子化変換係数ブロック2401を、第1のグループと、第2のグループにグループ化する実施の形態7の変形例として、より少ないデータ量で第2のグループの部分ゼロツリー構造を符号化、及び復号する方法を提供する。
局所適応の周波数選択符号化では、第2グループの符号化する係数位置がフレーム単位(やスライス単位や複数のブロック単位)で更新されるが、係数の個数は一定であり、係数の位置のみが変化する。したがって、第2のグループの部分ゼロツリー構造のみを更新できれば、更新に必要なデータ量を最小限とできる。さらに、図35で示したような、係数位置を指し示す情報を持たないゼロツリー構造をあらかじめ定義しておけば、各フレームにおいては、符号化する係数位置のシーケンスのみを符号化すればよい。図36の概念図を用いて説明する。
複数のフレームの単位で、第1グループの部分ゼロツリー構造2702を符号化し、第2グループの部分ゼロツリー構造のうち、周波数選択符号化が当該ブロックにおいて真となる場合に選択される第2の部分ゼロツリー構造2703を符号化し、さらに、第2グループの残りの部分ゼロツリー構造2704を符号化する。
周波数選択符号化が真となる場合の第2の部分ゼロツリー構造2703は、図36に示すように、係数位置を指し示す情報を持っていてもよいし、あるいは、係数位置を指し示す情報を持たないゼロツリー構造でもよい。いずれの場合でも、各フレーム単位において、周波数選択符号化が真となる場合の第2の部分ゼロツリー構造2703を、各フレーム単位で符号化する係数位置のシーケンスを上書きする(または組み合わせる)ことで、各フレームにおける、周波数選択符号化が真となる場合の第2の部分ゼロツリー構造を得る。
フレームf1において、係数位置シーケンス2705を、第2の部分ゼロツリー構造2703と組み合わせ、フレームf1における、周波数選択符号化が真となる場合の第2の部分ゼロツリー構造2706を得る。同様に、フレームf2において、係数位置シーケンス2707を、第2の部分ゼロツリー構造2703と組み合わせ、フレームf2における、周波数選択符号化が真となる場合の第2の部分ゼロツリー構造2708を得る。
(実施の形態9)
上記実施の形態で示した画像符号化方法または画像復号方法の構成を実現するためのプログラムを記憶メディアに記録することにより、上記実施の形態で示した処理を独立したコンピュータシステムにおいて簡単に実施することが可能となる。記憶メディアは、磁気ディスク、光ディスク、光磁気ディスク、ICカード、半導体メモリ等、プログラムを記録できるものであればよい。
さらにここで、上記実施の形態で示した画像符号化方法および画像復号方法の応用例とそれを用いたシステムを説明する。
図37は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示す図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex106〜ex110が設置されている。
このコンテンツ供給システムex100は、インターネットex101にインターネットサービスプロバイダex102および電話網ex104、および、基地局ex106〜ex110を介して、コンピュータex111、PDA(Personal Digital Assistant)ex112、カメラex113、携帯電話ex114、ゲーム機ex115などの各機器が接続される。
しかし、コンテンツ供給システムex100は図37のような構成に限定されず、いずれかの要素を組み合わせて接続するようにしてもよい。また、固定無線局である基地局ex106〜ex110を介さずに、各機器が電話網ex104に直接接続されてもよい。また、各機器が近距離無線等を介して直接相互に接続されていてもよい。
カメラex113はデジタルビデオカメラ等の動画撮影が可能な機器であり、カメラex116はデジタルカメラ等の静止画撮影、動画撮影が可能な機器である。また、携帯電話ex114は、GSM(Global System for Mobile Communications)方式、CDMA(Code Division Multiple Access)方式、W−CDMA(Wideband−Code Division Multiple Access)方式、もしくはLTE(Long Term Evolution)方式、HSPA(High Speed Packet Access)の携帯電話機、または、PHS(Personal Handyphone System)等であり、いずれでも構わない。
コンテンツ供給システムex100では、カメラex113等が基地局ex109、電話網ex104を通じてストリーミングサーバex103に接続されることで、ライブ配信等が可能になる。ライブ配信では、ユーザがカメラex113を用いて撮影するコンテンツ(例えば、音楽ライブの映像等)に対して上記実施の形態で説明したように符号化処理を行い、ストリーミングサーバex103に送信する。一方、ストリーミングサーバex103は要求のあったクライアントに対して送信されたコンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号することが可能な、コンピュータex111、PDAex112、カメラex113、携帯電話ex114、ゲーム機ex115等がある。配信されたデータを受信した各機器では、受信したデータを復号処理して再生する。
なお、撮影したデータの符号化処理はカメラex113で行っても、データの送信処理をするストリーミングサーバex103で行ってもよいし、互いに分担して行ってもよい。同様に配信されたデータの復号処理はクライアントで行っても、ストリーミングサーバex103で行ってもよいし、互いに分担して行ってもよい。また、カメラex113に限らず、カメラex116で撮影した静止画像および/または動画像データを、コンピュータex111を介してストリーミングサーバex103に送信してもよい。この場合の符号化処理はカメラex116、コンピュータex111、ストリーミングサーバex103のいずれで行ってもよいし、互いに分担して行ってもよい。
また、これら符号化処理および復号処理は、一般的にコンピュータex111および各機器が有するLSI(Large Scale Integration)ex500において処理する。LSIex500は、ワンチップであっても複数チップからなる構成であってもよい。なお、画像符号化用および画像復号用のソフトウェアをコンピュータex111等で読み取り可能な何らかの記録メディア(CD−ROM、フレキシブルディスク、ハードディスクなど)に組み込み、そのソフトウェアを用いて符号化処理および復号処理を行ってもよい。さらに、携帯電話ex114がカメラ付きである場合には、そのカメラで取得した動画データを送信してもよい。このときの動画データは携帯電話ex114が有するLSIex500で符号化処理されたデータである。
また、ストリーミングサーバex103は複数のサーバまたは複数のコンピュータであって、データを分散して処理したり記録したり配信するものであってもよい。
以上のようにして、コンテンツ供給システムex100では、符号化されたデータをクライアントが受信して再生することができる。このようにコンテンツ供給システムex100では、ユーザが送信した情報をリアルタイムでクライアントが受信して復号し、再生することができ、特別な権利または設備を有さないユーザでも個人放送を実現できる。
このコンテンツ供給システムを構成する各機器の符号化、復号には上記実施の形態で示した画像符号化方法あるいは画像復号方法を用いるようにすればよい。
その一例として携帯電話ex114について説明する。
図38は、上記実施の形態で説明した画像符号化方法と画像復号方法を用いた携帯電話ex114を示す図である。携帯電話ex114は、基地局ex110との間で電波を送受信するためのアンテナex601、CCDカメラ等の映像、静止画を撮ることが可能なカメラ部ex603、カメラ部ex603で撮影した映像、アンテナex601で受信した映像等が復号されたデータを表示する液晶ディスプレイ等の表示部ex602、操作キーex604群から構成される本体部、音声出力をするためのスピーカ等の音声出力部ex608、音声入力をするためのマイク等の音声入力部ex605、撮影した動画もしくは静止画のデータ、受信したメールのデータ、動画のデータもしくは静止画のデータ等、符号化されたデータまたは復号されたデータを保存するための記録メディアex607、携帯電話ex114に記録メディアex607を装着可能とするためのスロット部ex606を有している。記録メディアex607はSDカード等のプラスチックケース内に電気的に書換えおよび消去が可能な不揮発性メモリであるEEPROMの一種であるフラッシュメモリ素子を格納したものである。
さらに、携帯電話ex114について図39を用いて説明する。携帯電話ex114は表示部ex602および操作キーex604を備えた本体部の各部を統括的に制御するようになされた主制御部ex711に対して、電源回路部ex710、操作入力制御部ex704、画像符号化部ex712、カメラインターフェース部ex703、LCD(Liquid Crystal Display)制御部ex702、画像復号部ex709、多重分離部ex708、記録再生部ex707、変復調回路部ex706および音声処理部ex705が同期バスex713を介して互いに接続されている。
電源回路部ex710は、ユーザの操作により終話および電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することによりカメラ付デジタル携帯電話ex114を動作可能な状態に起動する。
携帯電話ex114は、CPU、ROMおよびRAM等でなる主制御部ex711の制御に基づいて、音声通話モード時に音声入力部ex605で集音した音声信号を音声処理部ex705によってデジタル音声データに変換し、これを変復調回路部ex706でスペクトラム拡散処理し、送受信回路部ex701でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナex601を介して送信する。また携帯電話ex114は、音声通話モード時にアンテナex601で受信した受信データを増幅して周波数変換処理およびアナログデジタル変換処理を施し、変復調回路部ex706でスペクトラム逆拡散処理し、音声処理部ex705によってアナログ音声データに変換した後、音声出力部ex608を介してこれを出力する。
さらに、データ通信モード時に電子メールを送信する場合、本体部の操作キーex604の操作によって入力された電子メールのテキストデータは操作入力制御部ex704を介して主制御部ex711に送出される。主制御部ex711は、テキストデータを変復調回路部ex706でスペクトラム拡散処理し、送受信回路部ex701でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナex601を介して基地局ex110へ送信する。
データ通信モード時に画像データを送信する場合、カメラ部ex603で撮像された画像データを、カメラインターフェース部ex703を介して画像符号化部ex712に供給する。また、画像データを送信しない場合には、カメラ部ex603で撮像した画像データをカメラインターフェース部ex703およびLCD制御部ex702を介して表示部ex602に直接表示することも可能である。
画像符号化部ex712は、本願発明で説明した画像符号化装置を備えた構成であり、カメラ部ex603から供給された画像データを上記実施の形態で示した画像符号化装置に用いた符号化方法によって圧縮符号化することにより符号化画像データに変換し、これを多重分離部ex708に送出する。また、このとき同時に携帯電話ex114は、カメラ部ex603で撮像中に音声入力部ex605で集音した音声を、音声処理部ex705を介してデジタルの音声データとして多重分離部ex708に送出する。
多重分離部ex708は、画像符号化部ex712から供給された符号化画像データと音声処理部ex705から供給された音声データとを所定の方式で多重化し、その結果得られる多重化データを変復調回路部ex706でスペクトラム拡散処理し、送受信回路部ex701でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナex601を介して送信する。
データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、アンテナex601を介して基地局ex110から受信した受信データを変復調回路部ex706でスペクトラム逆拡散処理し、その結果得られる多重化データを多重分離部ex708に送出する。
また、アンテナex601を介して受信された多重化データを復号するには、多重分離部ex708は、多重化データを分離することにより画像データのビットストリームと音声データのビットストリームとに分け、同期バスex713を介して当該符号化画像データを画像復号部ex709に供給すると共に当該音声データを音声処理部ex705に供給する。
次に、画像復号部ex709は、本願で説明した画像復号装置を備えた構成であり、画像データのビットストリームを上記実施の形態で示した符号化方法に対応した復号方法で復号することにより再生動画像データを生成し、これを、LCD制御部ex702を介して表示部ex602に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まれる動画データが表示される。このとき同時に音声処理部ex705は、音声データをアナログ音声データに変換した後、これを音声出力部ex608に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まれる音声データが再生される。
なお、上記システムの例に限られず、最近は衛星、地上波によるデジタル放送が話題となっており、図40に示すようにデジタル放送用システムにも上記実施の形態の少なくとも画像符号化装置または画像復号装置を組み込むことができる。具体的には、放送局ex201では音声データ、映像データまたはそれらのデータが多重化されたビットストリームが電波を介して通信または放送衛星ex202に伝送される。これを受けた放送衛星ex202は、放送用の電波を発信し、衛星放送受信設備をもつ家庭のアンテナex204はこの電波を受信し、テレビ(受信機)ex300またはセットトップボックス(STB)ex217などの装置はビットストリームを復号してこれを再生する。また、記録媒体であるCDおよびDVD等の記録メディアex215、ex216に記録した画像データと、音声データが多重化されたビットストリームを読み取り、復号するリーダ/レコーダex218にも上記実施の形態で示した画像復号装置を実装することが可能である。この場合、再生された映像信号はモニタex219に表示される。また、ケーブルテレビ用のケーブルex203または衛星/地上波放送のアンテナex204に接続されたセットトップボックスex217内に画像復号装置を実装し、これをテレビのモニタex219で再生する構成も考えられる。このときセットトップボックスではなく、テレビ内に画像復号装置を組み込んでも良い。また、アンテナex205を有する車ex210で、衛星ex202または基地局等から信号を受信し、車ex210が有するカーナビゲーションex211等の表示装置に動画を再生することも可能である。
また、DVD、BD等の記録メディアex215に記録した音声データ、映像データまたはそれらのデータが多重化された符号化ビットストリームを読み取り復号する、または、記録メディアex215に、音声データ、映像データまたはそれらのデータを符号化し、多重化データとして記録するリーダ/レコーダex218にも上記実施の形態で示した画像復号装置または画像符号化装置を実装することが可能である。この場合、再生された映像信号はモニタex219に表示される。また、符号化ビットストリームが記録された記録メディアex215により、他の装置およびシステム等は、映像信号を再生することができる。例えば、他の再生装置ex212は、符号化ビットストリームがコピーされた記録メディアex214を用いて、モニタex213に映像信号を再生することができる。
また、ケーブルテレビ用のケーブルex203または衛星/地上波放送のアンテナex204に接続されたセットトップボックスex217内に画像復号装置を実装し、これをテレビのモニタex219で表示してもよい。このときセットトップボックスではなく、テレビ内に画像復号装置を組み込んでもよい。
図41は、上記実施の形態で説明した画像復号方法および画像符号化方法を用いたテレビ(受信機)ex300を示す図である。テレビex300は、上記放送を受信するアンテナex204またはケーブルex203等を介して映像情報のビットストリームを取得、または、出力するチューナex301と、受信した符号化データを復調する、または、生成された符号化データを外部に送信するために変調する変調/復調部ex302と、復調した映像データと音声データとを分離する、または、符号化された映像データと音声データとを多重化する多重/分離部ex303を備える。また、テレビex300は、音声データ、映像データそれぞれを復号する、または、それぞれの情報を符号化する音声信号処理部ex304、映像信号処理部ex305を有する信号処理部ex306と、復号された音声信号を出力するスピーカex307、復号された映像信号を表示するディスプレイ等の表示部ex308を有する出力部ex309とを有する。さらに、テレビex300は、ユーザ操作の入力を受け付ける操作入力部ex312等を有するインターフェース部ex317を有する。さらに、テレビex300は、各部を統括的に制御する制御部ex310、各部に電力を供給する電源回路部ex311を有する。インターフェース部ex317は、操作入力部ex312以外に、リーダ/レコーダex218等の外部機器と接続されるブリッジex313、SDカード等の記録メディアex216を装着可能とするためのスロット部ex314、ハードディスク等の外部記録メディアと接続するためのドライバex315、電話網と接続するモデムex316等を有していてもよい。なお記録メディアex216は、格納する不揮発性/揮発性の半導体メモリ素子により電気的に情報の記録を可能としたものである。テレビex300の各部は同期バスを介して互いに接続されている。
まず、テレビex300がアンテナex204等により外部から取得したデータを復号し、再生する構成について説明する。テレビex300は、リモートコントローラex220等からのユーザ操作を受け、CPU等を有する制御部ex310の制御に基づいて、変調/復調部ex302で復調した映像データ、音声データを多重/分離部ex303で分離する。さらにテレビex300は、分離した音声データを音声信号処理部ex304で復号し、分離した映像データを映像信号処理部ex305で上記実施の形態で説明した復号方法を用いて復号する。復号した音声信号、映像信号は、それぞれ出力部ex309から外部に向けて出力される。出力する際には、音声信号と映像信号が同期して再生するよう、バッファex318、ex319等に一旦これらの信号を蓄積するとよい。また、テレビex300は、放送等からではなく、磁気/光ディスク、SDカード等の記録メディアex215、ex216から符号化された符号化ビットストリームを読み出してもよい。次に、テレビex300が音声信号および映像信号を符号化し、外部に送信または記録メディア等に書き込む構成について説明する。テレビex300は、リモートコントローラex220等からのユーザ操作を受け、制御部ex310の制御に基づいて、音声信号処理部ex304で音声信号を符号化し、映像信号処理部ex305で映像信号を上記実施の形態で説明した符号化方法を用いて符号化する。符号化した音声信号、映像信号は多重/分離部ex303で多重化され外部に出力される。多重化する際には、音声信号と映像信号が同期するように、バッファex320、ex321等に一旦これらの信号を蓄積するとよい。なお、バッファex318〜ex321は図示しているように複数備えていてもよいし、一つ以上のバッファを共有する構成であってもよい。さらに、図示している以外に、例えば変調/復調部ex302と多重/分離部ex303との間等でもシステムのオーバフローおよびアンダーフローを避ける緩衝材としてバッファにデータを蓄積することとしてもよい。
また、テレビex300は、放送および記録メディア等から音声データおよび映像データを取得する以外に、マイクおよびカメラのAV入力を受け付ける構成を備え、それらから取得したデータに対して符号化処理を行ってもよい。なお、ここではテレビex300は、上記の符号化処理、多重化、および、外部出力ができる構成として説明したが、これらのすべての処理を行うことはできず、上記受信、復号処理、および、外部出力のうちいずれかのみが可能な構成であってもよい。
また、リーダ/レコーダex218で記録メディアから符号化ビットストリームを読み出す、または、書き込む場合には、上記復号処理または符号化処理はテレビex300およびリーダ/レコーダex218のうちいずれかで行ってもよいし、テレビex300とリーダ/レコーダex218とが互いに分担して行ってもよい。
一例として、光ディスクからデータの読み込みまたは書き込みをする場合の情報再生/記録部ex400の構成を図42に示す。情報再生/記録部ex400は、以下に説明する要素ex401〜ex407を備える。光ヘッドex401は、光ディスクである記録メディアex215の記録面にレーザスポットを照射して情報を書き込み、記録メディアex215の記録面からの反射光を検出して情報を読み込む。変調記録部ex402は、光ヘッドex401に内蔵された半導体レーザを電気的に駆動し記録データに応じてレーザ光の変調を行う。再生復調部ex403は、光ヘッドex401に内蔵されたフォトディテクタにより記録面からの反射光を電気的に検出した再生信号を増幅し、記録メディアex215に記録された信号成分を分離して復調し、必要な情報を再生する。バッファex404は、記録メディアex215に記録するための情報および記録メディアex215から再生した情報を一時的に保持する。ディスクモータex405は記録メディアex215を回転させる。サーボ制御部ex406は、ディスクモータex405の回転駆動を制御しながら光ヘッドex401を所定の情報トラックに移動させ、レーザスポットの追従処理を行う。システム制御部ex407は、情報再生/記録部ex400全体の制御を行う。上記の読み出しおよび書き込みの処理は、システム制御部ex407が、バッファex404に保持された各種情報を利用し、また必要に応じて新たな情報の生成および追加を行うと共に、変調記録部ex402、再生復調部ex403およびサーボ制御部ex406を協調動作させながら、光ヘッドex401を通して、情報の記録再生を行うことにより実現される。システム制御部ex407は、例えばマイクロプロセッサで構成され、読み出し書き込みのプログラムを実行することでそれらの処理を実行する。
以上では、光ヘッドex401はレーザスポットを照射するとして説明したが、近接場光を用いてより高密度な記録を行う構成であってもよい。
図43に光ディスクである記録メディアex215の模式図を示す。記録メディアex215の記録面には案内溝(グルーブ)がスパイラル状に形成され、情報トラックex230には、あらかじめグルーブの形状の変化によってディスク上の絶対位置を示す番地情報が記録されている。この番地情報はデータを記録する単位である記録ブロックex231の位置を特定するための情報を含み、記録および再生を行う装置は、情報トラックex230を再生し番地情報を読み取ることで記録ブロックを特定することができる。また、記録メディアex215は、データ記録領域ex233、内周領域ex232、外周領域ex234を含んでいる。ユーザデータを記録するために用いる領域がデータ記録領域ex233であり、データ記録領域ex233の内周または外周に配置されている内周領域ex232と外周領域ex234は、ユーザデータの記録以外の特定用途に用いられる。情報再生/記録部ex400は、このような記録メディアex215のデータ記録領域ex233に対して、符号化された音声データ、映像データまたはそれらのデータを多重化した符号化データの読み書きを行う。
以上では、1層のDVD、BD等の光ディスクを例に挙げ説明したが、これらに限ったものではなく、多層構造であって表面以外にも記録可能な光ディスクであってもよい。また、ディスクの同じ場所にさまざまな異なる波長の色の光を用いて情報を記録したり、さまざまな角度から異なる情報の層を記録したりするなど、多次元的な記録/再生を行う構造の光ディスクであってもよい。
また、デジタル放送用システムex200において、アンテナex205を有する車ex210で衛星ex202等からデータを受信し、車ex210が有するカーナビゲーションex211等の表示装置に動画を再生することも可能である。なお、カーナビゲーションex211の構成は例えば図41に示す構成のうち、GPS受信部を加えた構成が考えられ、同様なことがコンピュータex111および携帯電話ex114等でも考えられる。また、上記携帯電話ex114等の端末は、テレビex300と同様に、符号化器および復号器を両方持つ送受信型端末の他に、符号化器のみの送信端末、復号器のみの受信端末という3通りの実装形式が考えられる。
このように、上記実施の形態で示した画像符号化方法あるいは画像復号方法を上述したいずれの機器およびシステムに用いることは可能であり、そうすることで、上記実施の形態で説明した効果を得ることができる。
また、本発明は、上記実施の形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形または修正が可能である。
(実施の形態10)
上記各実施の形態で示した画像符号化方法および装置、画像復号方法および装置は、典型的には集積回路であるLSIで実現される。一例として、図44に1チップ化されたLSIex500の構成を示す。LSIex500は、以下に説明する要素ex501〜ex509を備え、各要素はバスex510を介して接続している。電源回路部ex505は電源がオン状態の場合に各部に対して電力を供給することで動作可能な状態に起動する。
例えば符号化処理を行う場合には、LSIex500は、CPUex502、メモリコントローラex503およびストリームコントローラex504等を有する制御部ex501の制御に基づいて、AV I/Oex509によりマイクex117およびカメラex113等からAV信号の入力を受け付ける。入力されたAV信号は、一旦SDRAM等の外部のメモリex511に蓄積される。制御部ex501の制御に基づいて、蓄積したデータは、処理量および処理速度に応じて適宜複数回に分けるなどされ、信号処理部ex507に送られる。信号処理部ex507は、音声信号の符号化および/または映像信号の符号化を行う。ここで映像信号の符号化処理は、上記実施の形態で説明した符号化処理である。信号処理部ex507ではさらに、場合により符号化された音声データと符号化された映像データを多重化するなどの処理を行い、ストリームI/Oex506から外部に出力する。この出力されたビットストリームは、基地局ex107に向けて送信されたり、または、記録メディアex215に書き込まれたりする。なお、多重化する際には同期するよう、一旦バッファex508にデータを蓄積するとよい。
また、例えば復号処理を行う場合には、LSIex500は、制御部ex501の制御に基づいて、ストリームI/Oex506によって基地局ex107を介して得た符号化データ、または、記録メディアex215から読み出して得た符号化データを一旦メモリex511等に蓄積する。制御部ex501の制御に基づいて、蓄積したデータは、処理量および処理速度に応じて適宜複数回に分けるなどされ信号処理部ex507に送られる。信号処理部ex507は、音声データの復号および/または映像データの復号を行う。ここで映像信号の復号処理は、上記実施の形態で説明した復号処理である。さらに、場合により復号された音声信号と復号された映像信号を同期して再生できるようそれぞれの信号を一旦バッファex508等に蓄積するとよい。復号された出力信号は、メモリex511等を適宜介しながら、携帯電話ex114、ゲーム機ex115およびテレビex300等の各出力部から出力される。
なお、上記では、メモリex511がLSIex500の外部の構成として説明したが、LSIex500の内部に含まれる構成であってもよい。バッファex508も一つに限ったものではなく、複数のバッファを備えていてもよい。また、LSIex500は1チップ化されてもよいし、複数チップ化されてもよい。
なお、ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA、または、LSI内部の回路セルの接続および設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
(その他変形例)
なお、本発明を上記実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
(1)上記の各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記RAMまたはハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
(2)上記の各装置を構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
(3)上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。前記ICカードまたは前記モジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。前記ICカードまたは前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ICカードまたは前記モジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
(4)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を、前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(5)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
以上、本発明に係る画像符号化方法、画像符号化装置、画像復号方法および画像復号装置について、実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を当該実施の形態に施した形態、および、異なる実施の形態における構成要素およびステップ等を組み合わせて構築される別の形態も、本発明の範囲内に含まれる。
本発明は、画像符号化方法(装置)及び画像復号方法(装置)に有利に利用される。
11,21,61,71,2401 量子化変換係数ブロック
12 ジグザグ走査順
13,22,33,506,508 1次元シーケンス
23,66,72,1206,1406,1812,2501,2503 バイナリシーケンス
24 非ゼロ係数シーケンス
32 FSC走査順
62 ツリー構造
65 ゼロツリー走査順
73,1203,1403,2002,2003,2004,2005 ノード
100 動画像符号化装置
105 減算器
110 変換/量子化部
120 逆量子化/逆変換部
125,225 加算器
130,230 デブロッキングフィルタ
140,240 メモリ
150,250 補間フィルタ
160,260 動き補償予測部
165 動き予測部
170,270 イントラフレーム予測部
175,275 スイッチ
180 シーケンス生成部
190 エントロピー符号化部
200 動画像復号装置
220 逆量子化/逆変換部
280 マトリクス生成部
290 エントロピー復号部
502 第1の走査順
503 第1の係数シーケンス
504 判定
505 第2の走査順
507 第3の走査順
1000 構造情報
1001 木構造決定部
1002,1004 木構造情報
1003 木構造情報メモリ
1005 参照先決定部
1006,1006a,1006b,1013 参照先情報
1007 参照先情報メモリ
1009 係数走査ユニット
1009a 値割り当て部
1009b 走査部
1010 2次元マトリクス
1011 トリガ信号
1012 情報
1030 伝送路
1101 データ配列
1102 要素
1103 インデックスポインタ
1202,1402,1502,1811,2712,2713,2722,2723,2732,2733,2742,2743 ゼロツリー構造
1204,1205,1702 部分木
1207 部分シーケンス
1703 条件付ノード
1704,1705 部分
1801 ゼロツリー復号部
1802 統合部
1803 逆量子化部
1804 逆直交変換部
1813 レベルとサイン
1814 位置情報
1815 統合信号
1816 逆量子化後信号
1817 信号
2000 切り替えノード
2209 係数逆走査ユニット
2209a 逆走査部
2209b 係数割り当て部
2402,2403,2405,2702,2704 部分ゼロツリー構造
2502,2504 非ゼロ係数シーケンス
2703,2706,2708 第2の部分ゼロツリー構造
2705,2707,2711,2721,2731,2741 係数位置シーケンス
ex100 コンテンツ供給システム
ex101 インターネット
ex102 インターネットサービスプロバイダ
ex103 ストリーミングサーバ
ex104 電話網
ex106,ex107,ex108,ex109,ex110 基地局
ex111 コンピュータ
ex112 PDA
ex113,ex116 カメラ
ex114 カメラ付デジタル携帯電話(携帯電話)
ex115 ゲーム機
ex117 マイク
ex200 デジタル放送用システム
ex201 放送局
ex202 放送衛星(衛星)
ex203 ケーブル
ex204,ex205,ex601 アンテナ
ex210 車
ex211 カーナビゲーション(カーナビ)
ex212 再生装置
ex213,ex219 モニタ
ex214,ex215,ex216,ex607 記録メディア
ex217 セットトップボックス(STB)
ex218 リーダ/レコーダ
ex220 リモートコントローラ
ex230 情報トラック
ex231 記録ブロック
ex232 内周領域
ex233 データ記録領域
ex234 外周領域
ex300 テレビ
ex301 チューナ
ex302 変調/復調部
ex303 多重/分離部
ex304 音声信号処理部
ex305 映像信号処理部
ex306,ex507 信号処理部
ex307 スピーカ
ex308,ex602 表示部
ex309 出力部
ex310,ex501 制御部
ex311,ex505,ex710 電源回路部
ex312 操作入力部
ex313 ブリッジ
ex314,ex606 スロット部
ex315 ドライバ
ex316 モデム
ex317 インターフェース部
ex318,ex319,ex320,ex321,ex404,ex508 バッファ
ex400 情報再生/記録部
ex401 光ヘッド
ex402 変調記録部
ex403 再生復調部
ex405 ディスクモータ
ex406 サーボ制御部
ex407 システム制御部
ex500 LSI
ex502 CPU
ex503 メモリコントローラ
ex504 ストリームコントローラ
ex506 ストリームI/O
ex509 AV I/O
ex510 バス
ex511 メモリ
ex603 カメラ部
ex604 操作キー
ex605 音声入力部
ex608 音声出力部
ex701 送受信回路部
ex702 LCD制御部
ex703 カメラインターフェース部(カメラI/F部)
ex704 操作入力制御部
ex705 音声処理部
ex706 変復調回路部
ex707 記録再生部
ex708 多重分離部
ex709 画像復号部
ex711 主制御部
ex712 画像符号化部
ex713 同期バス

Claims (14)

  1. 画像を符号化する符号化方法であって、
    前記画像の画素値を、周波数を示すn(nは2以上の整数)個の係数で構成される2次元マトリクスに変換する変換ステップと、
    前記2次元マトリクスを構成するn個の係数それぞれを量子化してn個の量子化係数を生成する量子化ステップと、
    内部ノード及びn個のリーフノードを含む複数のノードで構成される二分木を定義する木構造情報と、前記n個の量子化係数を含む前記2次元マトリクスとに基づいて、1次元シーケンスを生成するシーケンス生成ステップと、
    前記シーケンス生成ステップで生成された前記1次元シーケンス、及び前記n個の量子化係数の少なくとも一部を符号化して符号化信号を生成する符号化ステップとを含み、
    前記シーケンス生成ステップは、
    前記2次元マトリクスに基づいて、前記n個のリーフノードそれぞれが参照する前記2次元マトリクスの位置を示す参照先情報を生成する参照先決定ステップと、
    前記2次元マトリクス及び前記参照先情報に基づいて、前記木構造情報で定義される二分木の各ノードに、互いに異なる第1及び第2の値のいずれかを割り当てる値割り当てステップと、
    前記二分木を行きがけ順で走査して、各ノードに割り当てられた値を走査順に並べることにより、前記1次元シーケンスを生成する走査ステップとを含む
    符号化方法。
  2. 前記値割り当てステップでは、
    前記n個のリーフノードそれぞれに対して、前記参照先情報で示される前記2次元マトリクスの位置に保持される前記量子化係数を、前記符号化ステップで符号化する場合に前記第1の値を割り当て、前記符号化ステップで符号化しない場合に前記第2の値を割り当て、
    前記内部ノードに対して、2つの子ノードの少なくとも一方に前記第1の値が割り当てられている場合に前記第1の値を割り当て、2つの子ノードのいずれにも前記第2の値が割り当てられている場合に前記第2の値を割り当て、
    前記走査ステップでは、前記内部ノードに前記第2の値が割り当てられていた場合に、当該内部ノードの子孫ノードの走査を省略し、
    前記参照先決定ステップでは、前記走査ステップで生成される前記1次元シーケンスが最も短くなるように、前記参照先情報を決定する
    請求項1に記載の符号化方法。
  3. 前記符号化ステップでは、前記参照先決定ステップで生成された参照先情報が直前の参照先情報と異なる場合に、さらに、当該生成された参照先情報を符号化する
    請求項2に記載の符号化方法。
  4. 前記参照先情報は、前記2次元マトリクスの各位置を特定する位置情報と、前記位置情報を特定するインデックスとを対応付けて保持する中間テーブルであり、
    前記木構造情報は、前記二分木の構造を特定する構造情報と、前記n個のリーフノードが参照する前記中間テーブルのインデックスを示すインデックス情報とを含む
    請求項1〜3のいずれか1項に記載の符号化方法。
  5. 前記参照先情報決定ステップでは、符号化される前記量子化係数を保持する前記2次元マトリクスの位置が、符号化されない前記量子化係数を保持する前記2次元マトリクスの位置より走査順の早い前記リーフノードに割り当てられるように、前記2次元マトリクスの各位置とインデックスとの組み合わせを変更する
    請求項4に記載の符号化方法。
  6. 前記符号化ステップでは、前記n個の量子化係数のうち、0でない量子化係数のみを選択的に符号化する
    請求項1〜5のいずれか1項に記載の符号化方法。
  7. 前記2次元マトリクスは、第1のグループと第2のグループとに分割されており、
    前記符号化ステップでは、前記第1のグループに属する全ての前記量子化係数と、前記第1のグループに属する前記量子化係数の値に応じて前記第2のグループから選択される前記量子化係数のみを選択的に符号化する
    請求項1〜6のいずれか1項に記載の符号化方法。
  8. 内部ノード及びn(nは2以上の整数)個のリーフノードを含む複数のノードで構成される二分木を定義する木構造情報を用いて、符号化信号から画像を生成する復号方法であって、
    前記符号化信号を復号して、互いに異なる第1及び第2の値を所定の順序で配列した1次元シーケンス、前記n個のリーフノードそれぞれが参照する前記2次元マトリクスの位置を示す参照先情報、及び1以上の量子化係数を生成する復号ステップと、
    前記1次元シーケンス、前記量子化係数、前記参照先情報、及び前記木構造情報に基づいて、n個の前記量子化係数で構成される2次元マトリクスを生成するマトリクス生成ステップと、
    前記2次元マトリクスを構成するn個の量子化係数それぞれを逆量子化して、周波数を示すn個の係数を生成する逆量子化ステップと、
    前記n個の係数を逆変換して前記画像の画素値を生成する逆変換ステップとを含み、
    前記マトリクス生成ステップは、
    前記二分木を行きがけ順で走査して、前記1次元シーケンスに示される値を各ノードに割り当てるステップであって、前記内部ノードに前記第2の値が割り当てられた場合に、当該内部ノードの子孫ノードの走査を省略する逆走査ステップと、
    前記参照先情報に基づいて、前記第1の値が割り当てられた前記リーフノードが参照する前記2次元マトリクスの位置に、前記1以上の量子化係数を順に割り当てる係数割り当てステップとを含む
    復号方法。
  9. 画像を符号化する符号化装置であって、
    前記画像の画素値を、周波数を示すn(nは2以上の整数)個の係数で構成される2次元マトリクスに変換する変換部と、
    前記2次元マトリクスを構成するn個の係数それぞれを量子化してn個の量子化係数を生成する量子化部と、
    内部ノード及びn個のリーフノードを含む複数のノードで構成される二分木を定義する木構造情報及び前記n個の量子化係数を含む前記2次元マトリクスに基づいて、1次元シーケンスを生成するシーケンス生成部と、
    前記シーケンス生成部で生成された前記1次元シーケンス、及び前記n個の量子化係数の少なくとも一部を符号化して符号化信号を生成する符号化部とを備え、
    前記シーケンス生成部は、
    前記2次元マトリクスに基づいて、前記n個のリーフノードそれぞれが参照する前記2次元マトリクスの位置を示す参照先情報を生成する参照先決定部と、
    前記2次元マトリクス及び前記参照先情報に基づいて、前記木構造情報で定義される二分木の各ノードに、互いに異なる第1及び第2の値のいずれかを割り当てる値割り当て部と、
    前記二分木を行きがけ順で走査して、各ノードに割り当てられた値を走査順に並べることにより、前記1次元シーケンスを生成する走査部とを備える
    符号化装置。
  10. 内部ノード及びn(nは2以上の整数)個のリーフノードを含む複数のノードで構成される二分木を定義する木構造情報を用いて、符号化信号から画像を生成する復号装置であって、
    前記符号化信号を復号して、互いに異なる第1及び第2の値を所定の順序で配列した1次元シーケンス、前記n個のリーフノードそれぞれが参照する前記2次元マトリクスの位置を示す参照先情報、及び1以上の量子化係数を生成する復号部と、
    前記1次元シーケンス、前記量子化係数、前記参照先情報、及び前記木構造情報に基づいて、n個の前記量子化係数で構成される2次元マトリクスを生成するマトリクス生成部と、
    前記2次元マトリクスを構成するn個の量子化係数それぞれを逆量子化して、周波数を示すn個の係数を生成する逆量子化部と、
    前記n個の係数を逆変換して前記画像の画素値を生成する逆変換部とを備え、
    前記マトリクス生成部は、
    前記二分木を行きがけ順で走査して、前記1次元シーケンスに示される値を各ノードに割り当て、且つ前記内部ノードに前記第2の値が割り当てられた場合に、当該内部ノードの子孫ノードの走査を省略する逆走査部と、
    前記参照先情報に基づいて、前記第1の値が割り当てられた前記リーフノードが参照する前記2次元マトリクスの位置に、前記1以上の量子化係数を順に割り当てる係数割り当て部とを備える
    復号装置。
  11. コンピュータに、画像を符号化させるプログラムであって、
    前記画像の画素値を、周波数を示すn(nは2以上の整数)個の係数で構成される2次元マトリクスに変換する変換ステップと、
    前記2次元マトリクスを構成するn個の係数それぞれを量子化してn個の量子化係数を生成する量子化ステップと、
    内部ノード及びn個のリーフノードを含む複数のノードで構成される二分木を定義する木構造情報と、前記n個の量子化係数を含む前記2次元マトリクスとに基づいて、1次元シーケンスを生成するシーケンス生成ステップと、
    前記シーケンス生成ステップで生成された前記1次元シーケンス、及び前記n個の量子化係数の少なくとも一部を符号化して符号化信号を生成する符号化ステップとを含み、
    前記シーケンス生成ステップは、
    前記2次元マトリクスに基づいて、前記n個のリーフノードそれぞれが参照する前記2次元マトリクスの位置を示す参照先情報を生成する参照先決定ステップと、
    前記2次元マトリクス及び前記参照先情報に基づいて、前記木構造情報で定義される二分木の各ノードに、互いに異なる第1及び第2の値のいずれかを割り当てる値割り当てステップと、
    前記二分木を行きがけ順で走査して、各ノードに割り当てられた値を走査順に並べることにより、前記1次元シーケンスを生成する走査ステップとをコンピュータに実行させる
    プログラム。
  12. コンピュータに、内部ノード及びn(nは2以上の整数)個のリーフノードを含む複数のノードで構成される二分木を定義する木構造情報を用いて、符号化信号から画像を生成させるプログラムであって、
    前記符号化信号を復号して、互いに異なる第1及び第2の値を所定の順序で配列した1次元シーケンス、前記n個のリーフノードそれぞれが参照する前記2次元マトリクスの位置を示す参照先情報、及び1以上の量子化係数を生成する復号ステップと、
    前記1次元シーケンス、前記量子化係数、前記参照先情報、及び前記木構造情報に基づいて、n個の前記量子化係数で構成される2次元マトリクスを生成するマトリクス生成ステップと、
    前記2次元マトリクスを構成するn個の量子化係数それぞれを逆量子化して、周波数を示すn個の係数を生成する逆量子化ステップと、
    前記n個の係数を逆変換して前記画像の画素値を生成する逆変換ステップとを含み、
    前記マトリクス生成ステップは、
    前記二分木を行きがけ順で走査して、前記1次元シーケンスに示される値を各ノードに割り当てるステップであって、前記内部ノードに前記第2の値が割り当てられた場合に、当該内部ノードの子孫ノードの走査を省略する逆走査ステップと、
    前記参照先情報に基づいて、前記第1の値が割り当てられた前記リーフノードが参照する前記2次元マトリクスの位置に、前記1以上の量子化係数を順に割り当てる係数割り当てステップとをコンピュータに実行させる
    プログラム。
  13. 画像を符号化する集積回路であって、
    前記画像の画素値を、周波数を示すn(nは2以上の整数)個の係数で構成される2次元マトリクスに変換する変換部と、
    前記2次元マトリクスを構成するn個の係数それぞれを量子化してn個の量子化係数を生成する量子化部と、
    内部ノード及びn個のリーフノードを含む複数のノードで構成される二分木を定義する木構造情報と、前記n個の量子化係数を含む前記2次元マトリクスとに基づいて、1次元シーケンスを生成するシーケンス生成部と、
    前記シーケンス生成部で生成された前記1次元シーケンス、及び前記n個の量子化係数の少なくとも一部を符号化して符号化信号を生成する符号化部とを備え、
    前記シーケンス生成部は、
    前記2次元マトリクスに基づいて、前記n個のリーフノードそれぞれが参照する前記2次元マトリクスの位置を示す参照先情報を生成する参照先決定部と、
    前記2次元マトリクス及び前記参照先情報に基づいて、前記木構造情報で定義される二分木の各ノードに、互いに異なる第1及び第2の値のいずれかを割り当てる値割り当て部と、
    前記二分木を行きがけ順で走査して、各ノードに割り当てられた値を走査順に並べることにより、前記1次元シーケンスを生成する走査部とを備える
    集積回路。
  14. 内部ノード及びn(nは2以上の整数)個のリーフノードを含む複数のノードで構成される二分木を定義する木構造情報を用いて、符号化信号から画像を生成する集積回路であって、
    前記符号化信号を復号して、互いに異なる第1及び第2の値を所定の順序で配列した1次元シーケンス、前記n個のリーフノードそれぞれが参照する前記2次元マトリクスの位置を示す参照先情報、及び1以上の量子化係数を生成する復号部と、
    前記1次元シーケンス、前記量子化係数、前記参照先情報、及び前記木構造情報に基づいて、n個の前記量子化係数で構成される2次元マトリクスを生成するマトリクス生成部と、
    前記2次元マトリクスを構成するn個の量子化係数それぞれを逆量子化して、周波数を示すn個の係数を生成する逆量子化部と、
    前記n個の係数を逆変換して前記画像の画素値を生成する逆変換部とを備え、
    前記マトリクス生成部は、
    前記二分木を行きがけ順で走査して、前記1次元シーケンスに示される値を各ノードに割り当て、且つ前記内部ノードに前記第2の値が割り当てられた場合に、当該内部ノードの子孫ノードの走査を省略する逆走査部と、
    前記参照先情報に基づいて、前記第1の値が割り当てられた前記リーフノードが参照する前記2次元マトリクスの位置に、前記1以上の量子化係数を順に割り当てる係数割り当て部とを備える
    集積回路。
JP2010542874A 2008-12-16 2009-12-16 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、プログラム、及び集積回路 Pending JPWO2010070897A1 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2008320273 2008-12-16
JP2008320273 2008-12-16
JP2008328802 2008-12-24
JP2008328802 2008-12-24
PCT/JP2009/006920 WO2010070897A1 (ja) 2008-12-16 2009-12-16 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、プログラム、及び集積回路

Publications (1)

Publication Number Publication Date
JPWO2010070897A1 true JPWO2010070897A1 (ja) 2012-05-24

Family

ID=42268576

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010542874A Pending JPWO2010070897A1 (ja) 2008-12-16 2009-12-16 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、プログラム、及び集積回路

Country Status (4)

Country Link
US (1) US20110249755A1 (ja)
JP (1) JPWO2010070897A1 (ja)
CN (1) CN102246525A (ja)
WO (1) WO2010070897A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10142637B2 (en) * 2011-03-08 2018-11-27 Texas Instruments Incorporated Method and apparatus for parallelizing context selection in video processing
CN113099234A (zh) * 2021-04-09 2021-07-09 中国矿业大学 基于预计算的dna快速编码方法

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8837577B2 (en) * 2010-07-15 2014-09-16 Sharp Laboratories Of America, Inc. Method of parallel video coding based upon prediction type
US9042440B2 (en) 2010-12-03 2015-05-26 Qualcomm Incorporated Coding the position of a last significant coefficient within a video block based on a scanning order for the block in video coding
US8976861B2 (en) 2010-12-03 2015-03-10 Qualcomm Incorporated Separately coding the position of a last significant coefficient of a video block in video coding
US20120163456A1 (en) 2010-12-22 2012-06-28 Qualcomm Incorporated Using a most probable scanning order to efficiently code scanning order information for a video block in video coding
US20120163472A1 (en) * 2010-12-22 2012-06-28 Qualcomm Incorporated Efficiently coding scanning order information for a video block in video coding
US9338449B2 (en) 2011-03-08 2016-05-10 Qualcomm Incorporated Harmonized scan order for coding transform coefficients in video coding
US9106913B2 (en) 2011-03-08 2015-08-11 Qualcomm Incorporated Coding of transform coefficients for video coding
US9167253B2 (en) 2011-06-28 2015-10-20 Qualcomm Incorporated Derivation of the position in scan order of the last significant transform coefficient in video coding
US9756360B2 (en) * 2011-07-19 2017-09-05 Qualcomm Incorporated Coefficient scanning in video coding
US9014496B2 (en) 2011-08-04 2015-04-21 Arm Limited Methods of and apparatus for encoding and decoding data in data processing systems
US8542939B2 (en) * 2011-08-04 2013-09-24 Arm Limited Methods of and apparatus for using tree representations for representing arrays of data elements for encoding and decoding data in data processing systems
KR20130050404A (ko) 2011-11-07 2013-05-16 오수미 인터 모드에서의 복원 블록 생성 방법
JP5325360B1 (ja) * 2011-12-15 2013-10-23 パナソニック株式会社 画像符号化方法及び画像符号化装置
CN104025587B (zh) * 2011-12-28 2017-08-29 Jvc建伍株式会社 动图像解码装置及动图像解码方法
JP6210368B2 (ja) * 2012-09-18 2017-10-11 サン パテント トラスト 画像復号方法および画像復号装置
WO2014051409A1 (ko) * 2012-09-28 2014-04-03 삼성전자 주식회사 참조 픽처 정보를 이용한 병렬 처리 비디오 부호화 방법 및 장치, 병렬 처리 비디오 복호화 방법 및 장치
CN104104958B (zh) * 2013-04-08 2017-08-25 联发科技(新加坡)私人有限公司 图像解码方法及其图像解码装置
CN106358042B (zh) * 2015-07-17 2020-10-09 恩智浦美国有限公司 使用视频图像的帧间预测的并行解码器
EP3513558B1 (en) * 2016-09-15 2020-06-24 Telefonaktiebolaget LM Ericsson (PUBL) Guided transcoder for encoding and decoding quantized coefficients
JP7237007B2 (ja) * 2017-10-19 2023-03-10 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
EP3716218A4 (en) * 2017-11-22 2021-03-31 Panasonic Intellectual Property Corporation of America THREE-DIMENSIONAL DATA ENCODING PROCESS, THREE-DIMENSIONAL DATA DECODING PROCESS, THREE-DIMENSIONAL DATA ENCODING DEVICE, AND TRIDIMENSIONAL DATA DECODING DEVICE
CN111727463A (zh) * 2018-01-19 2020-09-29 松下电器(美国)知识产权公司 三维数据编码方法、三维数据解码方法、三维数据编码装置、以及三维数据解码装置
CA3090465A1 (en) * 2018-02-08 2019-08-15 Panasonic Intellectual Property Corporation Of America Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
CA3141303A1 (en) 2018-05-30 2019-12-05 Digitalinsights Inc. Image encoding/decoding method and device
WO2019230920A1 (ja) * 2018-06-01 2019-12-05 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
GB2578769B (en) 2018-11-07 2022-07-20 Advanced Risc Mach Ltd Data processing systems
CN109460535B (zh) * 2018-11-14 2023-02-03 深圳职业技术学院 一种基于云的有限域矩阵求逆装置及求逆方法
GB2583061B (en) * 2019-02-12 2023-03-15 Advanced Risc Mach Ltd Data processing systems
JP7493310B2 (ja) * 2019-06-07 2024-05-31 キヤノン株式会社 画像復号装置及び方法及びプログラム
US11023152B2 (en) 2019-07-12 2021-06-01 Arm Limited Methods and apparatus for storing data in memory in data processing systems
WO2024128631A1 (ko) * 2022-12-13 2024-06-20 세종대학교산학협력단 행렬 인덱스 정보 생성 방법, 행렬 인덱스 정보를 이용하는 행렬 처리 방법
CN115955513B (zh) * 2023-03-10 2023-05-05 湖南洛普洛科技有限公司 一种物联网数据优化传输方法
CN116432726B (zh) * 2023-06-14 2023-08-25 之江实验室 一种光电混合的深度神经网络运算装置和运算方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05167859A (ja) * 1991-12-17 1993-07-02 Tokyo Electric Co Ltd 画像符号化装置
US5321776A (en) * 1992-02-26 1994-06-14 General Electric Company Data compression system including successive approximation quantizer
JPH0759086A (ja) * 1993-07-30 1995-03-03 Canon Inc 画像処理装置
US6483946B1 (en) * 1995-10-25 2002-11-19 Sarnoff Corporation Apparatus and method for encoding zerotrees generated by a wavelet-based coding technique
JP3722169B2 (ja) * 1996-07-02 2005-11-30 富士ゼロックス株式会社 画像処理装置及び画像処理方法
US5982938A (en) * 1997-03-31 1999-11-09 Iterated Systems, Inc. System and method for compressing data using differential coding of coefficient addresses
US7660475B2 (en) * 2004-12-22 2010-02-09 Ntt Docomo, Inc. Method and apparatus for coding positions of coefficients
WO2006118288A1 (ja) * 2005-05-03 2006-11-09 Matsushita Electric Industrial Co., Ltd. 動画像符号化方法、動画像復号化方法およびその装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10142637B2 (en) * 2011-03-08 2018-11-27 Texas Instruments Incorporated Method and apparatus for parallelizing context selection in video processing
CN113099234A (zh) * 2021-04-09 2021-07-09 中国矿业大学 基于预计算的dna快速编码方法

Also Published As

Publication number Publication date
US20110249755A1 (en) 2011-10-13
CN102246525A (zh) 2011-11-16
WO2010070897A1 (ja) 2010-06-24

Similar Documents

Publication Publication Date Title
WO2010070897A1 (ja) 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、プログラム、及び集積回路
KR101751559B1 (ko) 복호방법, 복호장치, 부호화 방법 및 부호화 장치
JP5588438B2 (ja) 画像符号化方法及び画像符号化装置
KR101918786B1 (ko) 화상 부호화 방법, 화상 복호 방법, 화상 부호화 장치, 화상 복호 장치 및 화상 부호화 복호 장치
EP2464014A1 (en) Encoding method, decoding method, encoding device and decoding device
KR101680877B1 (ko) 화상 복호 방법, 화상 부호화 방법, 화상 복호 장치, 화상 부호화 장치, 프로그램, 및 집적 회로
WO2010143427A1 (ja) 画像符号化方法、画像復号方法、およびそれらの装置
WO2010050156A1 (ja) 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、集積回路およびプログラム
WO2010109904A1 (ja) 符号化方法、エラー検出方法、復号方法、符号化装置、エラー検出装置及び復号装置
WO2010150470A1 (ja) 動画像符号化方法、動画像符号化装置、プログラム、および集積回路
WO2012046435A1 (ja) 画像処理装置、画像符号化方法および画像処理方法
JPWO2010026770A1 (ja) 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、システム、プログラム、及び集積回路
WO2011111341A1 (ja) 動画像復号装置、動画像符号化装置、動画像復号回路及び動画像復号方法
JPWO2011016251A1 (ja) 符号化方法、復号方法、符号化装置及び復号装置
JP5679980B2 (ja) 画像符号化方法、画像復号方法、画像符号化装置及び画像復号装置
WO2011052216A1 (ja) 画像符号化方法、画像復号方法、画像符号化装置および画像復号装置
WO2011118156A1 (ja) 画像復号装置、画像符号化装置、画像復号回路及び画像復号方法
WO2011013304A1 (ja) 画像符号化方法、画像符号化装置、プログラムおよび集積回路
WO2011129052A1 (ja) 画像復号装置、画像符号化装置、画像復号方法および画像符号化方法
JP2011182132A (ja) 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、集積回路およびプログラム