JP4230188B2 - 可変長符号化方法および可変長復号化方法 - Google Patents

可変長符号化方法および可変長復号化方法 Download PDF

Info

Publication number
JP4230188B2
JP4230188B2 JP2002290541A JP2002290541A JP4230188B2 JP 4230188 B2 JP4230188 B2 JP 4230188B2 JP 2002290541 A JP2002290541 A JP 2002290541A JP 2002290541 A JP2002290541 A JP 2002290541A JP 4230188 B2 JP4230188 B2 JP 4230188B2
Authority
JP
Japan
Prior art keywords
block
blocks
significant coefficients
encoding
decoding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2002290541A
Other languages
English (en)
Other versions
JP2004064725A (ja
JP2004064725A5 (ja
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
Priority to JP2002290541A priority Critical patent/JP4230188B2/ja
Publication of JP2004064725A publication Critical patent/JP2004064725A/ja
Publication of JP2004064725A5 publication Critical patent/JP2004064725A5/ja
Application granted granted Critical
Publication of JP4230188B2 publication Critical patent/JP4230188B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]

Description

【0001】
【発明の属する技術分野】
本発明は、画像信号を圧縮伸張する際の、可変長符号化方法および可変長復号化方法に関する。
【0002】
【従来の技術】
現在標準化作業が行われているH.264符号化方式では、可変長符号化方法として、コンテキスト適応型可変長符号化(以下CAVLC)方式とコンテキスト適応型2値算術符号化(以下CABAC)方式の2つの方法が定義されている。
【0003】
CAVLC方式においては、周辺ブロックの情報等(コンテキスト)を用いてVLCテーブルを適応的に切り替えることにより、符号化効率を向上させている。また、CABAC方式においては、確率テーブルをコンテキストに応じて切り替えることにより、符号化効率を向上させている。
【0004】
CAVLC方式において、ブロック内の有意係数の個数を符号化または復号化する方法について説明する。ここで有意係数とは、係数値が0でない係数のことである。図5において、ブロックCが可変長符号化を施そうとしているブロックであり、ブロックA、BはそれぞれブロックCの左および上に位置するブロックであるとする。ここで例えば、H.264方式では各ブロックは動き補償の大きさに関わらず水平4画素、垂直4画素の大きさで周波数変換されており、有意係数の個数の最大値は16となる。この場合、ブロックA、Bが両者とも画面内にあり、かつ同じスライス内であるとすると、ブロックA、Bの有意係数の個数に対して2つの平均値を求め、その値によって用いるVLCテーブルを変更する。例えば、平均値が0または1の場合は図4のVLC0を、平均値が2または3の場合は図4のVLC1を、平均値が5以上の場合は図4のVLC2を、というように用いる。
【0005】
次に、CABAC方式において、各ブロックが有意係数を有するか否かを示すビット(CBPビット)を符号化または復号化する方法について説明する。図5において、ブロックCが可変長符号化を施そうとしているブロックであり、ブロックA、BはそれぞれブロックCの左および上に位置するブロックであるとする。この場合、ブロックA、Bが両者とも画面内にあり、かつ同じスライス内であり、ブロックCと同じ種類のブロック(例えばA、B、Cがすべて輝度信号ブロック)であるとすると、ブロックA、Bが有意係数を有するか否かの4通りの組合せ中の、いずれのパターンであるかを求める。そして、そのパターンによって、CBPビットを算術符号化する際に用いる確率テーブルを4つの中から選択する。
【0006】
次に、CABAC方式において、ブロック内の各係数が有意係数であるか否かを示すビットを符号化または復号化する方法について説明する。図6は、ブロック内の係数を所定の走査順序で並べ替えたものを示している。ここでH.264方式では、低周波数成分から高周波数成分に対してジグザグ順に走査する方法が用いられる。この際、各係数が有意係数であるか否かは、SIGビットおよびLASTビットと呼ばれるビットにより表現し、これらのビットを算術符号化する。ここでSIGビットは、有意係数の場合には1、係数値が0である場合には0となる。また、LASTビットは、有意係数に対してのみ割り振られ、その有意係数がブロック内の最後の係数である場合には1、そうでない場合には0となる。ここでSIGビットおよびLASTビットを算術符号化する際の確率テーブルは、ブロックの種類別(例えば画面内予測輝度信号ブロック、ピクチャ間予測輝度信号ブロック、画面内予測色差信号ブロック、ピクチャ間予測色差信号ブロック、等)に用意され、さらに各ブロックの種類に対して、各係数位置(走査順での位置)毎に用意される。したがって例えば、あるブロックの種類が最大16係数を有する場合、SIGビット、LASTビットのそれぞれに対して確率テーブルが15個ずつ用いられる。これは16番目に有意係数が存在する場合、最終係数は符号化する必要がないためである。
【0007】
なお、CABAC方式では、確率テーブルを選択する要因となるコンテキストとして、上述のCBP、SIGビット、LASTビットの他に、例えば、イントラマクロブロックであるか、スキップマクロブロックであるか、ダイレクトモードマクロブロックであるか、参照ピクチャ番号が0であるか、差分QPが0であるか否か、等の項目がある。そして、これらのコンテキストに関して、算術符号化の対象となるブロックの左及び上に位置するブロックの値を使って対象ブロックのコンテキスト値を決定し、その値に対応する確率テーブルを用いて可変長符号化を行っている。可変長符号化を施されたビット列は図24に示すように符号列中に記述される。図24において、各情報の下に示されているのは確率テーブルである。例えば、マクロブロックの符号化モードであるMB_typeを可変長符号化する場合には、コンテキスト値に応じて4つの確率テーブル(MB0〜MB3)を用いることを示している。
【0008】
【発明が解決しようとする課題】
しかしながら、上記従来のCAVLC方式及びCABAC方式においては、周波数変換ブロック(以下、単に変換ブロックと呼ぶ)の大きさが同一の大きさを有しているという前提に基づいてVLCテーブルや確率テーブルの選択方法が定められているために、変換ブロックの大きさが一定でない場合には、これらの方法を用いることができないという問題を有している。
【0009】
また、上記従来のCAVLC方式及びCABAC方式は、画像信号がインタレース信号の場合に対応していないという問題もある。つまり、インタレース信号に対しては、ブロック毎にフレーム又はフィールド構造で符号化・復号化が行われることになるので、符号化/復号化対象のブロックと左又は上に位置するブロックとが異なる構造で符号化/復号化されている場合が発生するが、従来のCAVLC方式及びCABAC方式では、このようなインタレース信号の場合における可変長符号化の決定方法が定義されていない。
【0010】
そこで、本発明は上記問題点を解決するものであり、変換ブロックの大きさが一定でない場合に、可変長符号化方法としてCAVLC方式やCABAC方式を用いる際に、符号化効率が向上するVLCテーブルや確率テーブルの選択方法を実現する可変長符号化方法および可変長復号化方法を提供することを目的とする。
【0011】
また、本発明は、画像信号がインタレース信号である場合に、可変長符号化方法としてCAVLC方式やCABAC方式を用いる際に、符号化効率が向上するVLCテーブルや確率テーブルの選択方法を実現する可変長符号化方法および可変長復号化方法を提供することをも目的とする。
【0012】
【課題を解決するための手段】
上記目的を達成するために、本発明の可変長符号化方法は、画像を複数のブロックに分割し、前記ブロックを単位として符号化を行う際に用いる可変長符号化方法であって、符号化対象ブロックの情報を符号化する際に用いる可変長符号化テーブルを、前記符号化対象ブロックの周辺ブロックの情報に応じて決定し、前記符号化対象ブロックと前記周辺ブロックとの大きさが異なる際には、前記周辺ブロックの情報を前記符号化対象ブロックの大きさに変換して使用することを特徴として有している。
【0013】
また、本発明の可変長符号化方法は、画像を複数のブロックに分割し、前記ブロックを単位として符号化を行う際に用いる可変長符号化方法であって、符号化対象ブロックの情報を符号化する際に用いる確率テーブルを、前記符号化対象ブロックの周辺ブロックの情報に応じて決定し、前記符号化対象ブロックと前記周辺ブロックとの大きさが異なる際には、前記周辺ブロックの情報を前記符号化対象ブロックの大きさに変換して使用することを特徴として有している。
【0014】
また、本発明の可変長符号化方法は、画像を複数のブロックに分割し、前記ブロックを単位として符号化を行う際に用いる可変長符号化方法であって、符号化対象ブロックの係数値を符号化する際に、符号化対象ブロックの大きさ別に異なる確率テーブルを用いることを特徴として有している。
【0015】
また、本発明の可変長符号化方法は、画像を複数のブロックに分割し、前記ブロックを単位として符号化を行う際に用いる可変長符号化方法であって、符号化対象ブロックの係数値を符号化する際に、符号化対象ブロックの大きさに関係なく同じ確率テーブルを用いることを特徴として有している。
【0016】
また、本発明の可変長復号化方法は、画像を複数のブロックに分割し、前記ブロックを単位として復号化を行う際に用いる可変長復号化方法であって、復号化対象ブロックの情報を復号化する際に用いる可変長復号化テーブルを、前記復号化対象ブロックの周辺ブロックの情報に応じて決定し、前記復号化対象ブロックと前記周辺ブロックとの大きさが異なる際には、前記周辺ブロックの情報を前記復号化対象ブロックの大きさに変換して使用することを特徴として有している。
【0017】
また、本発明の可変長復号化方法は、画像を複数のブロックに分割し、前記ブロックを単位として復号化を行う際に用いる可変長復号化方法であって、復号化対象ブロックの情報を復号化する際に用いる確率テーブルを、前記復号化対象ブロックの周辺ブロックの情報に応じて決定し、前記復号化対象ブロックと前記周辺ブロックとの大きさが異なる際には、前記周辺ブロックの情報を前記復号化対象ブロックの大きさに変換して使用することを特徴として有している。
【0018】
また、本発明の可変長復号化方法は、画像を複数のブロックに分割し、前記ブロックを単位として復号化を行う際に用いる可変長復号化方法であって、復号化対象ブロックの係数値を復号化する際に、復号化対象ブロックの大きさ別に異なる確率テーブルを用いることを特徴として有している。
【0019】
また、本発明の可変長復号化方法は、画像を複数のブロックに分割し、前記ブロックを単位として復号化を行う際に用いる可変長復号化方法であって、復号化対象ブロックの係数値を復号化する際に、復号化対象ブロックの大きさに関係なく同じ確率テーブルを用いることを特徴として有している。
【0020】
また、本発明の可変長符号化方法は、画像を複数のブロックに分割し、前記ブロックを単位として符号化を行う際に用いる可変長符号化方法であって、符号化対象ブロックの情報を符号化する際に用いる可変長符号化テーブルを、前記符号化対象ブロックの周辺ブロックの情報に応じて決定し、前記符号化対象ブロックと前記周辺ブロックとがフレーム構造で符号化されているかフィールド構造で符号化されているかの符号化構造が異なる場合には、前記周辺ブロックに対応する別の周辺ブロックの情報と前記周辺ブロックの情報とから前記可変長符号化テーブルを決定するか、又は、所定の手順の前記可変長符号化テーブルを決定することを特徴とする。
【0021】
また、本発明の可変長符号化方法は、画像を複数のブロックに分割し、前記ブロックを単位として符号化を行う際に用いる可変長符号化方法であって、符号化対象ブロックの情報を符号化する際に用いる確率テーブルを、前記符号化対象ブロックの周辺ブロックの情報に応じて決定し、前記符号化対象ブロックと前記周辺ブロックとがフレーム構造で符号化されているかフィールド構造で符号化されているかの符号化構造が異なる場合には、前記周辺ブロックに対応する別の周辺ブロックの情報と前記周辺ブロックの情報とから前記確率テーブルを決定するか、又は、所定の手順の前記確率テーブルを決定することを特徴とする。
【0022】
また、本発明の可変長復号化方法は、画像を複数のブロックに分割し、前記ブロックを単位として復号化を行う際に用いる可変長復号化方法であって、復号化対象ブロックの情報を復号化する際に用いる可変長復号化テーブルを、前記復号化対象ブロックの周辺ブロックの情報に応じて決定し、前記復号化対象ブロックと前記周辺ブロックとがフレーム構造で符号化されているかフィールド構造で符号化されているかの符号化構造が異なる場合には、前記周辺ブロックに対応する別の周辺ブロックの情報と前記周辺ブロックの情報とから前記可変長復号化テーブルを決定するか、又は、所定の手順の前記可変長復号化テーブルを決定することを特徴とする。
【0023】
また、本発明の可変長復号化方法は、画像を複数のブロックに分割し、前記ブロックを単位として復号化を行う際に用いる可変長復号化方法であって、復号化対象ブロックの情報を復号化する際に用いる確率テーブルを、前記復号化対象ブロックの周辺ブロックの情報に応じて決定し、前記復号化対象ブロックと前記周辺ブロックとがフレーム構造で符号化されているかフィールド構造で符号化されているかの符号化構造が異なる場合には、前記周辺ブロックに対応する別の周辺ブロックの情報と前記周辺ブロックの情報とから前記確率テーブルを決定するか、又は、所定の手順の前記確率テーブルを決定することを特徴とする。
【0024】
なお、本発明は、上記可変長符号化方法及び可変長復号化方法として実現することができるだけでなく、それら方法に含まれる特長的な手順を手段として備える可変長符号化装置及び可変長復号化装置として実現したり、それらの手順をコンピュータに実行させるプログラムとして実現することもできる。そして、そのようなプログラムは、CD−ROM等の記録媒体やインターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
【0025】
【発明の実施の形態】
本発明の実施の形態について、図面を参照して説明する。
【0026】
(実施の形態1)
まず、動画像符号化装置の全体的な動作について図1を用いて説明する。図1は、フレームメモリ101、差分演算部102、予測誤差符号化部103、符号列生成部104、予測誤差復号化部105、加算演算部106、フレームメモリ107、動きベクトル検出部108、モード選択部109、符号化制御部110、スイッチ111〜115から構成される動画像符号化装置のブロック図である。
【0027】
フレームメモリ101で並び替えが行われた各ピクチャは、マクロブロックの単位で読み出されるとする。ここでは、マクロブロックは水平16×垂直16画素の大きさであるとする。また、動き補償は16×16、16×8、8×16、8×8、8×4、4×8、4×4のブロック単位で行うものとする。ここで例えば16×8とは、水平16画素、垂直8画素の大きさを有するブロックを示すとする。またここでは、前方参照予測符号化ピクチャ(Pピクチャ)の符号化を例として説明する。
【0028】
Pピクチャの符号化においては、符号化制御部110は、スイッチ113をオンにする。また、Pピクチャが他のピクチャの参照ピクチャとして用いられる場合には、スイッチ114、115がオンになるように各スイッチを制御する。他のピクチャの参照ピクチャとして用いられない場合には、スイッチ114、115はオフになるように各スイッチを制御する。したがって、フレームメモリ101から読み出されたPピクチャのマクロブロックは、まず動きベクトル検出部108、モード選択部109、差分演算部102に入力される。
【0029】
動きベクトル検出部108では、フレームメモリ107に蓄積された参照ピクチャの復号化画像データを前方参照ピクチャとして用いることにより、マクロブロックに含まれる各ブロックの前方動きベクトルの検出を行う。
【0030】
モード選択部109では、動きベクトル検出部108で検出した動きベクトルを用いて、マクロブロックの符号化モードを決定する。ここで、Pピクチャの符号化モードは、例えば、ピクチャ内符号化、前方参照によるピクチャ間予測符号化から選択することができるとする。また、前方参照によるピクチャ間予測符号化を用いた場合には、マクロブロックをどのようなブロックに分割して動き補償するかという情報も符号化モードに含む。
【0031】
モード選択部109で決定された符号化モードは符号列生成部104に対して出力される。また、モード選択部104で決定された符号化モードに基づいた参照画像が差分演算部102と加算演算部106に出力される。ただし、ピクチャ内符号化が選択された場合には、参照画像は出力されない。また、モード選択部109でピクチャ内符号化が選択された場合には、スイッチ111はaに、スイッチ112はcに接続するように制御し、ピクチャ間予測符号化が選択された場合には、スイッチ111はbに、スイッチ112はdに接続するように制御する。以下では、モード選択部109でピクチャ間予測符号化が選択された場合について説明する。
【0032】
差分演算部102には、モード選択部109から参照画像が入力される。差分演算部109では、Pピクチャのマクロブロックと参照画像との差分を演算し、予測誤差画像を生成し出力する。
【0033】
予測誤差画像は予測誤差符号化部103に入力される。予測誤差符号化部103では、入力された予測誤差画像に対して周波数変換や量子化等の符号化処理を施すことにより、符号化データを生成して出力する。ここで、予測誤差画像に対する周波数変換は、モード選択部109において決定された動き補償の大きさに基づいて行うものとする。例えば8×8以上の大きさで動き補償された場合には、8×8の大きさで周波数変換し、8×8未満の大きさで動き補償された場合には、動き補償と同じ大きさで周波数変換するものとする。予測誤差符号化部103から出力された符号化データは、符号列生成部104に入力される。
【0034】
符号列生成部104では、入力された符号化データに対して、可変長符号化等を施し、モード選択部109から入力された符号化モード、ヘッダ情報、等の情報を付加することにより符号列を生成し出力する。
【0035】
次に、動画像復号化装置の全体的な動作について、図3を用いて説明する。図3は、符号列解析部301、予測誤差復号化部302、モード復号部303、動き補償復号部305、動きベクトル記憶部306、フレームメモリ307、加算演算部308、スイッチ309、310、可変長復号化部311から構成される動画像復号化装置のブロック図である。
【0036】
以下では、前方予測参照符号化ピクチャ(Pピクチャ)の復号化処理について説明する。
符号列は符号列解析部301に入力される。符号列解析部301では、入力された符号列から、各種データの抽出を行う。ここで各種データとは、モード選択の情報や動きベクトル情報等である。抽出されたモード選択の情報は、モード復号部303に対して出力される。また、抽出された動きベクトル情報は、動き補償復号部305に対して出力される。さらに、予測誤差符号化データは可変長復号部311に対して出力される。
【0037】
モード復号部303では、符号列から抽出されたモード選択の情報を参照し、スイッチ309と710の制御を行う。モード選択がピクチャ内符号化である場合には、スイッチ309はaに、スイッチ710はcに接続するように制御する。また、モード選択がピクチャ間予測符号化である場合には、スイッチ309はbに、スイッチ710はdに接続するように制御する。
【0038】
またモード復号部303では、モード選択の情報を動き補償部に対しても出力する。以下では、モード選択がピクチャ間予測符号化である場合について説明する。
【0039】
可変長復号部311では、入力された予測誤差符号化データに対して可変長復号を施す。可変長復号を施されたデータは、予測誤差復号化部302に対して出力される。
【0040】
予測誤差復号化部302では、入力されたデータに対して、逆量子化処理や、逆周波数変換を施すことにより、予測誤差画像を生成する。ここで、逆周波数変換は、モード選択部109において決定された動き補償の大きさに基づいて行うものとする。例えば8×8以上の大きさで動き補償された場合には、8×8の大きさで周波数変換し、8×8未満の大きさで動き補償された場合には、動き補償と同じ大きさで周波数変換するものとする。生成された予測誤差画像はスイッチ309に対して出力される。ここでは、スイッチ309はbに接続されているので、予測誤差画像は加算演算部308に対して出力される。
【0041】
動き補償復号部305は、可変長復号化部311から入力された、符号化された動きベクトルに対して、復号化処理を行う。そして、復号化された動きベクトルに基づいて、フレームメモリ307から動き補償画像を取得する。このようにして生成された動き補償画像は加算演算部308に対して出力される。
【0042】
加算演算部308では、入力された予測誤差画像と動き補償画像とを加算し、復号化画像を生成する。生成された復号化画像はスイッチ310を介してフレームメモリ307に対して出力される。
【0043】
さて、上記で説明した動画像符号化装置における符号列生成部104、および動画像復号化装置における可変長復号化部311の動作について、詳細を以下で説明する。
【0044】
まず、符号列生成部104または可変長復号化部311において、CAVLC方式によって、各ブロックの有意係数の個数を符号化または復号化する方法について説明する。
【0045】
各ブロックの有意係数の個数を符号化または復号化する場合には、周辺ブロックの有意係数の個数を参照する。ここでは、周辺ブロックとして、対象ブロックの上および左に位置するブロックを用いる場合について説明する。周辺ブロックがすべて画面内にあり、かつ同じスライス内であるとすると、対象ブロックの有意係数の個数を符号化または復号化する際には、周辺ブロックの有意係数の個数を用いて可変長符号化(復号化)テーブルを決定する。ここで、対象ブロックの有意係数の最大個数と、周辺ブロックの有意係数の最大個数が異なる場合、対象ブロックと周辺ブロックの有意係数の最大個数を一致させるように、周辺ブロックの有意係数の個数を求める。ここで、対象ブロックの有意係数の個数の最大値をNとすると(例えば対象ブロックの大きさが8×8である場合、Nは64となる)、周辺ブロックを参照して得られる有意係数の個数がN/8未満であれば図4のVLC0、N/8以上N/4未満であれば図4のVLC1、N/4以上であれば図4のVLC2を用いる、といったように可変長符号化(復号化)テーブルを決定する。ここで図4においては、有意係数の個数が16の場合までしか可変長符号化(復号化)テーブルを示していないが、これらのテーブルは有意係数の個数が17以上まで拡張したものを用いるとする。以下では図2を用いて説明するが、図2においてブロックCが可変長符号化または可変長復号化を施そうとしているブロックであるとする。
【0046】
第1の例を図2(a)を用いて説明する。図2(a)において、また、ブロックA1、A2、B1、B2がブロックCの左および上に位置する周辺ブロックとなる。ここでブロックCは8×8の大きさを有し、周辺ブロックは、8×4の大きさを有するとする。この場合、ブロックCの左に位置するブロックの有意係数の個数として、ブロックA1とA2との有意係数の個数の和を用い、ブロックCの上に位置するブロックの有意係数の個数として、ブロックB1とB2との有意係数の個数の和を用いる。そして、ブロックCの左および上に位置するブロックの有意係数の個数の平均値、すなわちここでは、ブロックA1、A2の有意係数の個数の和と、ブロックB1、B2の有意係数の個数の和との平均値を求め、この平均値により、ブロックCの有意係数の個数を符号化(復号化)する際の可変長符号化(復号化)テーブルを決定する。ここで、ブロックB1とB2との有意係数の個数の和を用いる代わりに、ブロックCに隣接するブロックB1の有意係数の個数を2倍して用いても良い。
【0047】
第2の例を図2(b)を用いて説明する。図2(b)において、ブロックA1、A2、A3、A4、B1、B2、B3、B4がブロックCの左および上に位置する周辺ブロックとなる。ここでブロックCは8×8の大きさを有し、ブロックA1、A2、A3、A4、B1、B2、B3、B4は、4×4の大きさを有するとする。この場合、ブロックCの左に位置するブロックの有意係数の個数として、ブロックA1、A2、A3、A4の有意係数の個数の和を用い、ブロックCの上に位置するブロックの有意係数の個数として、ブロックB1、B2、B3、B4の有意係数の個数の和を用いる。そして、ブロックCの左および上に位置するブロックの有意係数の個数の平均値、すなわちここでは、ブロックA1、A2、A3、A4の有意係数の個数の和と、ブロックB1、B2、B3、B4の有意係数の個数の和との平均値を求め、この平均値により、ブロックCの有意係数の個数を符号化(復号化)する際の可変長符号化(復号化)テーブルを決定する。ここで、A1、A2、A3、A4の有意係数の個数の和を用いる代わりに、ブロックCに隣接するブロックA2、A4の有意係数の個数の和の2倍の値や、ブロックB1、B2、B3、B4の有意係数の個数の和を用いる代わりに、ブロックCに隣接するブロックB3、B4の有意係数の個数の和の2倍の値、等を用いても良い。
【0048】
第3の例を図2(c)を用いて説明する。図2(c)において、ブロックA、BがブロックCの左および上に位置する周辺ブロックとなる。ここでブロックCは8×4の大きさを有し、ブロックA、Bは、8×8の大きさを有するとする。この場合、ブロックCの左に位置するブロックの有意係数の個数として、ブロックAの有意係数の個数の1/2の値を用い、ブロックCの上に位置するブロックの有意係数の個数として、ブロックBの有意係数の個数の1/2の値を用いる。そして、ブロックCの左および上に位置するブロックの有意係数の個数の平均値、すなわちここでは、ブロックAの有意係数の個数の1/2の値と、ブロックBの有意係数の個数の1/2の値との平均値を求め、この平均値により、ブロックCの有意係数の個数を符号化(復号化)する際の可変長符号化(復号化)テーブルを決定する。
【0049】
第4の例を図2(d)を用いて説明する。図2(d)において、ブロックA1、A2、B1、B2がブロックCの左および上に位置する周辺ブロックとなる。ここでブロックCは8×4の大きさを有し、ブロックA1、A2、B1、B2は、4×8の大きさを有するとする。この場合、ブロックCの左に位置するブロックの有意係数の個数として、ブロックA1、A2の有意係数の個数の和の1/2の値を用い、ブロックCの上に位置するブロックの有意係数の個数として、ブロックB1、B2の有意係数の個数の和の1/2の値を用いる。そして、ブロックCの左および上に位置するブロックの有意係数の個数の平均値、すなわちここでは、ブロックA1、A2の有意係数の個数の和の1/2の値と、ブロックB1、B2の有意係数の個数の和の1/2の値との平均値を求め、この平均値により、ブロックCの有意係数の個数を符号化(復号化)する際の可変長符号化(復号化)テーブルを決定する。ここで、A1、A2の有意係数の個数の和を用いる代わりに、ブロックA1、A2のいずれかの有意係数の個数や、ブロックB1、B2の有意係数の個数の和を用いる代わりに、ブロックB1、B2のいずれかの有意係数の個数、等を用いても良い。
【0050】
第5の例を図2(e)を用いて説明する。図2(e)において、ブロックA1、A2、A3、A4、B1、B2、B3、B4がブロックCの左および上に位置する周辺ブロックとなる。ここでブロックCは8×4の大きさを有し、ブロックA1、A2、A3、A4、B1、B2、B3、B4は、4×4の大きさを有するとする。この場合、ブロックCの左に位置するブロックの有意係数の個数として、ブロックA1、A2の有意係数の個数の和を用い、ブロックCの上に位置するブロックの有意係数の個数として、ブロックB3、B4の有意係数の個数の和を用いる。そして、ブロックCの左および上に位置するブロックの有意係数の個数の平均値、すなわちここでは、ブロックA1、A2の有意係数の個数の和と、ブロックB3、B4の有意係数の個数の和との平均値を求め、この平均値により、ブロックCの有意係数の個数を符号化(復号化)する際の可変長符号化(復号化)テーブルを決定する。ここで、A1、A2の有意係数の個数の和を用いる代わりに、ブロックA1、A2、A3、A4の有意係数の個数の和の1/2の値や、ブロックB3、B4の有意係数の個数の和を用いる代わりに、ブロックB1、B2、B3、B4の有意係数の個数の和の1/2の値、等を用いても良い。
【0051】
第6の例を図2(f)を用いて説明する。図2(f)において、ブロックA、BがブロックCの左および上に位置する周辺ブロックとなる。ここでブロックCは4×4の大きさを有し、ブロックA、Bは、8×8の大きさを有するとする。この場合、ブロックCの左に位置するブロックの有意係数の個数として、ブロックAの有意係数の個数の1/4の値を用い、ブロックCの上に位置するブロックの有意係数の個数として、ブロックBの有意係数の個数の1/4の値を用いる。そして、ブロックCの左および上に位置するブロックの有意係数の個数の平均値、すなわちここでは、ブロックAの有意係数の個数の1/4の値と、ブロックBの有意係数の個数の1/4の値との平均値を求め、この平均値により、ブロックCの有意係数の個数を符号化(復号化)する際の可変長符号化(復号化)テーブルを決定する。
【0052】
第7の例を図2(g)を用いて説明する。図2(g)において、ブロックA1、A2、B1、B2がブロックCの左および上に位置する周辺ブロックとなる。ここでブロックCは4×4の大きさを有し、ブロックA1、A2、B1、B2、4×8の大きさを有するとする。この場合、ブロックCの左に位置するブロックの有意係数の個数として、ブロックA2の有意係数の個数の1/2の値を用い、ブロックCの上に位置するブロックの有意係数の個数として、ブロックB1の有意係数の個数の1/2の値を用いる。そして、ブロックCの左および上に位置するブロックの有意係数の個数の平均値、すなわちここでは、ブロックA2の有意係数の個数の1/2の値と、ブロックB1の有意係数の個数の1/2の値との平均値を求め、この平均値により、ブロックCの有意係数の個数を符号化(復号化)する際の可変長符号化(復号化)テーブルを決定する。ここで、A2の有意係数の個数の1/2の値を用いる代わりに、ブロックA1、A2の有意係数の個数の和の1/4の値や、ブロックB1の有意係数の個数の1/2の値を用いる代わりに、ブロックB1、B2の有意係数の個数の和の1/4の値、等を用いても良い。
【0053】
次に、符号列生成部104または可変長復号化部311において、CABAC方式によって、各ブロックが有意係数を有するか否かを示すビット(CBPビット)を符号化または復号化する方法について説明する。
【0054】
各ブロックのCBPビットを符号化または復号化する場合、周辺ブロックのCBPビットを参照する。ここでは、周辺ブロックとして、対象ブロックの上および左に位置するブロックを用いる場合について説明する。周辺ブロックがすべて画面内にあり、かつ同じスライス内であり、符号化(復号化)対象ブロックと同じ種類であるとすると、対象ブロックのCBPビットを符号化または復号化する際には、周辺ブロックの有意係数の有無によって可変長符号化(復号化)の際の確率テーブルを決定する。この場合には、対象ブロックの左に位置するブロックの有意係数の個数の合計値が0であるか否か、および対象ブロックの上に位置するブロックの有意係数の個数の合計値が0であるか否か、の4通りの組合せのいずれであるかを求め、それによって、対象ブロックのCBPビットを算術符号化する際に用いる確率テーブルを4通りの中から選択する。ここで、対象ブロックの有意係数の最大個数と、周辺ブロックの有意係数の最大個数が異なる場合、対象ブロックと周辺ブロックの有意係数の最大個数を一致させるように、CBPビットを求める。以下では図2を用いて説明するが、図2においてブロックCが可変長符号化または可変長復号化を施そうとしているブロックであるとする。
【0055】
第1の例を図2(a)を用いて説明する。図2(a)において、ブロックA1、A2、B1、B2はそれぞれブロックCの左および上に位置する周辺ブロックである。この場合、ブロックA1とA2との有意係数の個数の合計値が0であるか否か、およびブロックB1とB2との有意係数の個数の合計値が0であるか否か、の4通りの組合せのいずれであるかを求め、それによって、ブロックCのCBPビットを算術符号化する際に用いる確率テーブルを選択する。またこの場合、ブロックA1とA2との有意係数の個数の和が0であるか否か、という判断基準を用いる代わりに、ブロックA1(またはブロックA2)の有意係数の個数が0であるか否かという判断基準や、ブロックB1とB2との有意係数の個数の和が0であるか否か、という判断基準を用いる代わりに、ブロックB1(またはブロックB2)の有意係数の個数が0であるか否か、という判断基準を用いても良い。
【0056】
第2の例を図2(b)を用いて説明する。図2(b)において、ブロックA1、A2、A3、A4、B1、B2、B3、B4はそれぞれブロックCの左および上に位置する周辺ブロックである。この場合、ブロックA1、A2、A3、A3の有意係数の個数の合計値が0であるか否か、およびブロックB1、B2、B3、B4との有意係数の個数の合計値が0であるか否か、の4通りの組合せのいずれであるかを求め、それによって、ブロックCのCBPビットを算術符号化する際に用いる確率テーブルを選択する。またこの場合、ブロックA1、A2、A3、A4の有意係数の個数の和が0であるか否か、という判断基準を用いる代わりに、ブロックCに隣接するブロックA2とA4の有意係数の個数の和が0であるか否かという判断基準や、ブロックB1、B2、B3、B4の有意係数の個数の和が0であるか否か、という判断基準を用いる代わりに、ブロックCに隣接するブロックB3とB4との有意係数の個数の和が0であるか否か、という判断基準を用いても良い。
【0057】
第3の例を図2(c)を用いて説明する。図2(c)において、ブロックA、BはそれぞれブロックCの左および上に位置する周辺ブロックである。この場合、ブロックAの有意係数の個数が0であるか否か、およびブロックBの有意係数の個数が0であるか否か、の4通りの組合せのいずれであるかを求め、それによって、ブロックCのCBPビットを算術符号化する際に用いる確率テーブルを選択する。またこの場合、ブロックA(ブロックB)の有意係数の個数が0であるか否か、という判断基準を用いる代わりに、ブロックA(ブロックB)の有意係数の個数の1/2が0であるか否かという判断基準や、ブロックA(ブロックB)の有意係数の個数が所定値以上であるか未満であるかという判断基準を用いても良い。
【0058】
第4の例を図2(d)を用いて説明する。図2(d)において、ブロックA1、A2、B1、B2はそれぞれブロックCの左および上に位置する周辺ブロックである。この場合、ブロックA1とA2との有意係数の個数の和が0であるか否か、およびブロックB1とB2との有意係数の個数の和が0であるか否か、の4通りの組合せのいずれであるかを求め、それによって、ブロックCのCBPビットを算術符号化する際に用いる確率テーブルを選択する。またこの場合、ブロックA1とA2(ブロックB1とB2)の有意係数の個数の和が0であるか否か、という判断基準を用いる代わりに、ブロックA1とA2(ブロックB1とB2)の有意係数の個数の和の1/2が0であるか否かという判断基準や、ブロックA1とA2(ブロックB1とB2)の有意係数の個数が所定値以上であるか未満であるかという判断基準を用いても良い。
【0059】
第5の例を図2(e)を用いて説明する。図2(e)において、ブロックA1、A2、A3、A4、B1、B2、B3、B4はそれぞれブロックCの左および上に位置する周辺ブロックである。この場合、ブロックA1とA2との有意係数の個数の和が0であるか否か、およびブロックB3とB4との有意係数の個数の和が0であるか否か、の4通りの組合せのいずれであるかを求め、それによって、ブロックCのCBPビットを算術符号化する際に用いる確率テーブルを選択する。またこの場合、ブロックA1とA2の有意係数の個数の和が0であるか否か、という判断基準を用いる代わりに、ブロックA1、A2、A3、A4の有意係数の個数の和、またはその和の1/2が0であるか否か、または所定値以上であるか未満であるか、という判断基準や、ブロックB3とB4の有意係数の個数の和が0であるか否か、という判断基準を用いる代わりに、ブロックB1、B2、B3、B4の有意係数の個数の和、またはその和の1/2(切り捨て値)が0であるか否か、または所定値以上であるか未満であるか、という判断基準等を用いても良い。
【0060】
第6の例を図2(f)を用いて説明する。図2(f)において、ブロックA、BはそれぞれブロックCの左および上に位置する周辺ブロックである。この場合、ブロックAの有意係数の個数が0であるか否か、およびブロックBの有意係数の個数が0であるか否か、の4通りの組合せのいずれであるかを求め、それによって、ブロックCのCBPビットを算術符号化する際に用いる確率テーブルを選択する。またこの場合、ブロックA(ブロックB)の有意係数の個数が0であるか否か、という判断基準を用いる代わりに、ブロックA(ブロックB)の有意係数の個数の1/4が0であるか否かという判断基準や、ブロックA(ブロックB)の有意係数の個数が所定値以上であるか未満であるかという判断基準等を用いても良い。
【0061】
第7の例を図2(g)を用いて説明する。図2(g)において、ブロックA1、A2、B1、B2はそれぞれブロックCの左および上に位置する周辺ブロックである。この場合、ブロックA2の有意係数の個数が0であるか否か、およびブロックB1の有意係数の個数が0であるか否か、の4通りの組合せのいずれであるかを求め、それによって、ブロックCのCBPビットを算術符号化する際に用いる確率テーブルを選択する。またこの場合、ブロックA2(ブロックB1)の有意係数の個数が0であるか否か、という判断基準を用いる代わりに、ブロックA2(ブロックB1)の有意係数の個数の1/2が0であるか否かや、ブロックA2(ブロックB1)の有意係数の個数が所定値以上であるか未満であるか、という判断基準や、ブロックA1とA2(ブロックB1とB2)の有意係数の個数の和、またはその和の1/2(切り捨て値)が0であるか否か、または所定値以上であるか未満であるか、という判断基準等を用いても良い。
【0062】
次に、符号列生成部104または可変長復号化部311において、CABAC方式によって、ブロック内の各係数が有意係数であるか否かを示すビットの符号化方法について説明する。ブロック内の係数は、従来例の説明において図6を用いて説明したように、所定の走査順序で並べ替えたのち、SIGビットとLASTビットとを用いて表現し、これらのビットを算術符号化するとする。
【0063】
第1の例では、SIGビットおよびLASTビットを算術符号化する際の確率テーブルを、ブロックの大きさ別に用意する。すなわち、4×4ブロック用の確率テーブル、4×8ブロック用の確率テーブル、8×4ブロック用の確率テーブル、8×8ブロック用の確率テーブル、といったように確率テーブルを用意する。そして各ブロックの種類毎に、各係数位置(走査順での位置)毎に確率テーブルを用意する。したがって例えば、4×4ブロックに対しては、SIGビット、LASTビットのそれぞれに対して確率テーブルが15個ずつ用いられ、8×8ブロックに対しては、SIGビット、LASTビットのそれぞれに対して確率テーブルが63個ずつ用いる。これは最終位置に有意係数が存在する場合、この係数は符号化する必要がないためである。
【0064】
第2の例では、SIGビットおよびLASTビットを算術符号化する際の確率テーブルを、ブロックの大きさに関係なく1組のテーブルとする。すなわち、最大のブロックサイズに合わせて確率テーブルを用意する。ここで、最大のブロックサイズが8×8であるとすると、SIGビット、LASTビットのそれぞれに対して確率テーブルが63個ずつ用いられる。そして、4×4ブロックに対しては、最初の15個の確率テーブルを用い、4×8ブロックや8×4ブロックに対しては、最初の31個の確率テーブルを用いる。
【0065】
以上のように、本発明の可変長符号化方法および可変長復号化方法は、CAVLC方式によって、各ブロックの有意係数の個数を符号化する場合、符号化対象ブロックの大きさと、周辺ブロックの大きさとが異なる場合には、周辺ブロックの有意係数の個数を、符号化対象ブロックと周辺ブロックとの大きさの比に基づいて変換し、この変換された値を可変長符号化テーブルの決定に用いる。
【0066】
以上のような動作により、符号化対象ブロックの大きさと、周辺ブロックの大きさとが異なる場合であっても、符号化対象ブロックの大きさに応じた可変長テーブルの決定を行うことができ、符号化効率の向上を図ることが出来る。
【0067】
また、本発明の可変長符号化方法は、CABAC方式によって、各ブロックが有意係数を有するか否かを示すビット(CBPビット)を符号化する場合、符号化対象ブロックの大きさと、周辺ブロックの大きさとが異なる場合には、周辺ブロックの有意係数の有無を、符号化対象ブロックと周辺ブロックとの大きさの比に基づいて変換し、この変換された値をCABAC方式において用いる確率テーブルの決定に用いる。
【0068】
以上のような動作により、符号化対象ブロックの大きさと、周辺ブロックの大きさとが異なる場合であっても、符号化対象ブロックの大きさに応じた確率テーブルの決定を行うことができ、符号化効率の向上を図ることが出来る。
【0069】
また、本発明の可変長符号化方法は、CABAC方式によって、ブロック内の各係数が有意係数であるか否かを示すビットの符号化方法する場合、符号化対象ブロックの大きさ別に確率テーブルを用意し、ブロックサイズ毎に異なる組の確率テーブルを用意する。または、符号化対象ブロックの最大ブロックサイズに合わせて確率テーブルを用意し、ブロックの大きさの違いに関わらず同じ確率テーブルの組を用いる。
【0070】
以上のような動作により、ブロックが複数の大きさを有する場合であっても、ブロックの大きさ別に確率テーブルの組を持つことにより、符号化効率の向上を図ることができる。また、ブロックの大きさの最大値に合わせて確率テーブルを用意し、ブロックの大きさの違いに関わらず同じ確率テーブルの組を用いることにより、確率テーブルの数を減らすことができ、メモリサイズを小さくすることができる。
【0071】
なお、本実施の形態においては、マクロブロックは水平16×垂直16画素の単位で、動き補償は16×16から4×4画素のブロック単位で処理する場合について説明したが、これらの単位は別の画素数でも良い。
【0072】
また、本実施の形態においては、周波数変換は8×8、8×4、4×8、4×4のいずれかのブロック単位で処理する場合について説明したが、これらの単位は別の画素数でも良い。
【0073】
また、本実施の形態においては、符号化対象ブロックの周辺ブロックとして、左および上に位置するブロックを参照して、可変長符号化テーブルや確率テーブルを決定する場合について説明したが、これらの周辺ブロックは、他のブロックであっても良い。例えば、右上や左上のブロック等を用いる方法、等がある。
【0074】
また本実施の形態においては、CAVLC方式の説明においては、図4に示す3つの可変長符号化テーブルを用いる場合について説明したが、可変長符号化テーブルの個数およびテーブルの構成については、図4に限るものではない。また、周辺ブロックの有意係数の個数に対するしきい値として、N/8、N/4といった値を用いる場合について説明したが、これらの値は他の値であっても良い。また、符号化対象ブロックの大きさ毎に異なるしきい値を用いても良い。
【0075】
また、本実施の形態では、周辺ブロックが画面内にあり、かつ同じスライス内である場合について説明したが、これらの周辺ブロックがこの条件を満たさない場合には、条件を満たす周辺ブロックのみを使って、可変長符号化テーブルや確率テーブルの決定を行えばよい。
【0076】
(実施の形態2)
次に、インタレース信号に対してマクロブロック毎、又はMBP(マクロブロックペア;以下MBPと記す)毎にフレーム構造又はフィールド構造が混在する場合において動画像符号化及び動画像復号化を行う場合に、CAVLC方式又はCABAC方式を用いてコンテキストを決定する方法について説明する。ここでMBPは、上下に隣接する2つのマクロブロックをまとめた単位であり、詳しい構成は後述する。
【0077】
図7は、本実施の形態2に係る動画像符号化装置の構成を示す機能ブロック図である。本実施の形態2においては、上述した実施の形態1に係る動画像符号化装置に示す構成に加えて、ブロックカウンタ701が備えられている。
【0078】
このブロックカウンタ701は、前記フレームメモリ101に対して、可変長符号化の対象となるブロック単位での出力を指示し、また、前記符号化生成部104に対して、その対象ブロックがMBPの境界であるか否かの指示を行う。また、モード選択部109では、当該MBPをフレーム構造とフィールド構造のいずれで符号化するかを決定し、その結果を符号列生成部104に対して出力する。ブロックカウンタ701から出力されるMBPの境界情報、およびモード選択部109から出力されるMBPの構造情報とにより、符号化生成部104は、本実施の形態2に係る対象ブロックの可変長符号化をスタートさせる。なお、動画像符号化装置の全体的な動作は、上述した動作と同様である。
【0079】
図8は、フレーム構造で符号化されるMBPのデータ構造とフィールド構造で符号化されるMBPのデータ構造との関係を示す説明図である。同図において、白丸は奇数水平走査線上の画素を示し、斜線でハッチングした黒丸は偶数水平走査線上の画素を示している。入力画像を表す各フレームからMBPを切り出した場合、図8の中央に示すように、奇数水平走査線上の画素と偶数水平走査線上の画素とは垂直方向に交互に配置されている。このようなMBPをフレーム構造で符号化する場合、当該MBPは2つのマクロブロック1およびマクロブロック2毎に処理される。また、フィールド構造で符号化する場合、当該MBPは、水平走査線方向にインタレースした場合のトップフィールドを表すマクロブロックMBtとボトムフィールドを表すマクロブロックMBbとに分けられる。
【0080】
図9は、本実施の形態2に係るCAVLC方式でコンテキストを決定し、対応するVLCテーブルを決定する場合における計算手順の大きな流れを示すフローチャートである。
【0081】
なお、符号化対象ブロックCの周辺ブロックであるブロックA及びブロックBの位置関係は、前記図5と同様のものとして説明する。また、符号化対象ブロックCと周辺ブロックA、Bとは、4×4画素(係数)の大きさを有し、各ブロックの有意係数の個数の最大値は16として説明する。また、符号化対象ブロックCの左に位置する周辺ブロックAの有意係数の個数をNL、符号化対象ブロックCの上に位置する周辺ブロックBの有意係数の個数をNUとする。
【0082】
まず、符号列生成部104は、符号化対象ブロックCの左に位置する対象ブロックAの有意係数の個数NLを決定する(ステップ901)。次に、符号化対象ブロックCの上に位置する対象ブロックBの有意係数NUの個数を決定し(ステップ902)、最後に、それらNLとNUとを利用することにより、対象ブロックの有意係数の個数Nを決定する(ステップ903)。
【0083】
なお、Nの決定は後述する方法により行い、Nの値に対応するVLCテーブルを可変長符号に用いるVLCテーブルとして決定する。
【0084】
ここで、最終的に決定された有意係数の個数NとVLCテーブルとの関係は、例えば、図10に示される表の通りである。ここでは、有意係数の個数Nが0から2の場合には、図4に示されたVLC0のテーブルを用い、有意係数の個数Nが3から10の場合には、VLC1のVLCテーブルを用い、有意係数の個数Nが11から16の場合には、VLC2のVLCテーブルを用いることが示されている。
【0085】
以下、図9に示されたフローチャートにおける各ステップの詳細な手順を説明する。
図11は、図9におけるステップ901、つまり、周辺ブロックAの有意係数の個数NLを求める計算手順((a)及び(b)の2通り)の詳細を示すフローチャートである。
【0086】
まず、図11(a)を用いて第1の動作手順を説明すると、符号列生成部104は、符号化対象ブロックCの左に位置する周辺ブロックAが同じMBP内に位置するか調べ(ステップ1101)、同じMBP内であるならば、それら2つのブロックは同一タイプであるので、周辺ブロックAの有意係数の個数NLとして、NL=Num(A)で特定する(ステップ1104)。ここでNum(x)は、ブロックxの有意係数の個数を示す。また、タイプとは、対象のブロックがフィールド構造で符号化されているかフレーム構造で符号化されているかの符号化構造を指す。
【0087】
そして、周辺ブロックAが同じMBP内に位置しないと判断した場合には、周辺ブロックAが対象ブロックCと同じタイプのMBPかを調べる(ステップ1102)。その結果、周辺ブロックAと対象ブロックCとが同じタイプのMBPである場合には、NL=Num(A)(ステップ1104)とし、それらのタイプが異なる場合には、NL=(Num(A)+Num(A´))/2として算出する(ステップ1103)。なお、周辺ブロックA´は、ブロックAに対応するブロックのことであり、その詳細な位置関係については後述する。
【0088】
次に、図11(b)を用いて第2の動作手順を説明すると、符号化対象ブロックCの左に位置する周辺ブロックAが同じMBP内に位置するか調べ(ステップ1101)、同じMBP内であるならば、周辺ブロックAの有意係数の個数を用いて、NL=Num(A)とし(ステップ1104)、周辺ブロックAが同じMBP内に位置しないと判断された場合には、周辺ブロックAは、対象ブロックCと同じタイプのMBPか調べる(ステップ1102)。そして、周辺ブロックAは、対象ブロックCと同じタイプのMBPである場合には、NL=Num(A)(ステップ1104)とし、それらのタイプが異なる場合には、NL=N・A(Not Available;不定)とする(ステップ1105)。
【0089】
図12は、符号化対象ブロックCがフィールド構造及びフレーム構造である場合における周辺ブロックA及びA´の配置の一例を示す図である。
図12(a)は、符号化対象ブロックCがフィールド構造で符号化されたMBP1201に属し、周辺ブロックAがフレーム構造で符号化されたMBP1202に属する場合を示している。周辺ブロックA´は、周辺ブロックAの下に位置することとなる。これは、図8に示されたフレーム構造及びフィールド構造のMBPから分かるように、各ブロックに属する画素の走査線が同一となるように、対応関係が決定されているからである。つまり、ブロックCに属する走査線は、ブロックA及びA´に分散されるので、ブロックCの有意係数の個数を決定するのに用いるNLとして、ブロックA及びA´の有意係数の個数を採用している。
【0090】
一方、図12(b)は、符号化対象ブロックCがフレーム構造で符号化されたMBP1203に属し、周辺ブロックAがフィールド構造で符号化されたMBP1204に属する場合を示している。周辺ブロックA´は、周辺ブロックが属するMBの下に位置するMBにおける同一の相対位置に位置する。これは、上記図12(a)と同一の理由、つまり、ブロックCに属する走査線は、ブロックA及びA´に分散されるので、ブロックCの有意係数の個数を決定するのに用いるNLとして、ブロックA及びA´の有意係数の個数を採用するためである。
【0091】
図13は、図9におけるステップ902、つまり、CAVLC方式を用いて周辺ブロックBの有意係数の個数NUを求める計算手順((a)及び(b)の2通り)の詳細を説明するフローチャートである。
【0092】
第1の計算手順を示す図13(a)では、符号列生成部104は、周辺ブロックBに位置するブロック又はマクロブロックが同じMBP内に位置するか調べる(ステップ1301)。同じMBP内に位置する場合には、それらブロックは同一タイプとなるので、周辺ブロックBの有意係数の個数NUとして、NU=Num(B)とする(ステップ1305)。そして、同じMBP内に位置しない場合には、符号化対象ブロックCがフレーム構造かを調べる(ステップ1302)。フレーム構造でなくフィールド構造である場合には、続いて周辺ブロックBがフレーム構造か否かを調べ(ステップ1303)、周辺ブロックBがフレーム構造である場合には、周辺ブロックBの有意係数の個数NUとして、NU=Num(B)(ステップ1305)とする。また、周辺ブロックBがフィールド構造の場合には、有意係数の個数Nuとして、Nu=(Num(B)+Num(B´))/2として算出する(ステップ1308)。
【0093】
そして、対象ブロックCが前記フィールド構造の場合には、周辺ブロックBがフィールド構造か否かを調べ(ステップ1304)、周辺ブロックBがフィールド構造の場合には、有意係数の個数NUとして、NU=Num(B´)(ステップ1306)とする。一方、周辺ブロックBがフレーム構造の場合には、有意係数の個数Nuとして、NU=Num(B)又はNU=(Num(B)+Num(B´))/2として算出する(ステップ1307)。そして、前記各ステップを経て前記ステップ803へ続く。
【0094】
また、第2の計算手順を示す図13(b)では、周辺ブロックBに位置するブロック又はマクロブロックが同じMBP内に位置するか調べ(ステップ1301)、同じMBP内に位置する場合には、それらブロックは同一タイプであるので、周辺ブロックBの有意係数の個数NUとして、NU=Num(B)とする(ステップ1305)。そして、同じMBP内に位置しない場合には、符号化対象ブロックCはフレーム構造かを調べ(ステップ1302)、フレーム構造でない場合には、続いて、周辺ブロックBがフレーム構造か否かを調べ(ステップ1303)、周辺ブロックBがフレーム構造である場合には、有意係数の個数NUとして、NU=N・A(不定)(ステップ1305)とする。また、周辺ブロックBがフィールド構造の場合には、有意係数の個数として、Nu=(Num(B)+Num(B´))/2として算出する(ステップ1308)。そして、対象ブロックCが前記フィールド構造の場合には、周辺ブロックBがフィールド構造か否かを調べ(ステップ1304)、周辺ブロックBがフィールド構造の場合には、有意係数の個数NUとして、NU=Num(B´)(ステップ1306)とする一方、周辺ブロックBがフレーム構造の場合には、有意係数の個数Nuとして、NU=N・A(不定)とし(ステップ1307)、前記ステップ903へ続く。
【0095】
図14は、符号化対象ブロックCがフィールド構造及びフレーム構造である場合における周辺ブロックB及びB´の配置の一例を示す図である。
【0096】
図14(a)は、符号化対象ブロックCがフィールド構造で符号化されたMBP1401に属し、周辺ブロックBがフレーム構造で符号化されたMBP1402に属する場合を示している。周辺ブロックB´は、周辺ブロックB上に位置する。これは、図8に示されたフレーム構造及びフィールド構造のMBPから分かるように、フィールド構造のブロックCは、空間的な大きさとして、フレーム構造の2つの縦に連続するブロックB及びB´と同一となるので、ブロックCの有意係数の個数を決定するのに用いるNUとして、ブロックB及びB´の有意係数の個数を採用している。ただし、空間的にはブロックCとブロックB´には連続性はないため、S1307に示すように、NU=Num(B)又はNU=(Num(B)+Num(B´))/2と2通りの計算方法が考えられる。
【0097】
一方、図14(b)は、符号化対象ブロックCがフィールド構造で符号化されたMBP1401に属し、周辺ブロックBもフィールド構造で符号化されたMBP1403に属する場合を示している。周辺ブロックB´は、周辺ブロックBが属するMBの上に位置するMBにおける同一の相対位置に位置する。これは、ブロックC及びB´は同一の種類のフィールド(トップフィールド/ボトムフィールド)構造で符号化されたMBに属するので、ブロックCの有意係数の個数を決定するのに用いるNUとして、ブロックB´の有意係数の個数を採用するためである。
【0098】
さらに一方、図14(c)は、符号化対象ブロックCがフレーム構造で符号化されたMBP1404に属し、周辺ブロックがフィールド構造で符号化されたMBP1403に属する場合を示している。周辺ブロックB´は、周辺ブロックBが属するMBの上に位置するMBにおける同一の相対位置に位置する。これは、ブロックB及びB´とはMBPにおける空間位置が同一領域であるので、ブロックCの有意係数の個数を決定するのに用いるNUとして、ブロックB及びB´の有意係数の個数を採用するためである。
【0099】
次に、図15は、図9におけるステップ903、つまり、本実施の形態2に係るVLCテーブルの決定手順((a)及び(b)の2通り)の詳細を示すフローチャートである。
【0100】
第1の決定手順を示す図15(a)において、符号列生成部104は、まず符号化対象ブロックCの有意係数の個数Nを、対象ブロックB及びAの有意係数の個数NL及びNUを用いて、N=(NL+NU)/2により決定する(ステップ1501)。次に、このNと前記図10に示すテーブルを用いてVLCテーブルを決定することが可能となる(ステップ1502)。
【0101】
また、第2の決定手順を示す図15(b)においては、符号列生成部104は、まずNL、NUのいずれかがN・A(不定)かを調べ(ステップ1503)、NLとNUとが不定の場合には、例えば、N=0のVLCテーブルを用いる等のデフォルトを採用し(ステップ1504)、一方、NUのみが不定の場合には、N=NLとし、そのNに対応するVLCテーブルを決定し(ステップ1505)、さらに一方、NLのみが不定の場合には、N=NUとし、そのNによりVLCテーブルを決定し(ステップ1506)、そして、NL及びNUのいずれも不定でない場合、すなわちNL及びNUが共に決定している場合には、「その他」を採用し、N=(NL+NU)/2として算出し、VLCテーブルを決定することができる(ステップ1507)。
【0102】
次に、本実施の形態2に係るCABAC方式のコンテキストに用いる確率テーブルの決定手順について説明する。
図16は、本実施の形態2に係るCABAC方式でコンテキストを決定し、対応する確率テーブルを決定する場合における計算手順の大きな流れを示すフローチャートである。符号列生成部104は、まず、符号化対象ブロックCの左に位置する周辺ブロックAのコンテキスト値ctxAを決定し(ステップ1601)、次に符号化対象ブロックCの上に位置する周辺ブロックBのコンテキスト値ctxBを決定する(ステップ1602)。そして、これらのctxA及びctxBの値を利用することにより、符号化対象ブロックCのコンテキスト値ctxCを決定する(ステップ1603)。
そして、決定したコンテキスト値ctxCに対応する確率テーブルを用いて可変長符号化を行う。
【0103】
以下、図16に示されたフローチャートにおける各ステップの詳細な手順を説明する。
図17は、図16におけるステップ1601、つまり、CABAC方式を用いて周辺ブロックAのコンテキスト値ctxAを求める計算手順((a)及び(b)の2通り)の詳細を示すフローチャートである。ここで、コンテキスト値は、どのような情報(CBPビット、マクロブロックの符号化モード、参照ピクチャ番号、差分量子化パラメータ、等)を扱うかにより、取りうる値が異なる。例えばCBPビット(有意係数を有するか否かを示すビット)を符号化する場合には、コンテキストは各ブロックの有意係数の有無により0と1とに分けられ、例えば、有意係数がある場合には1となり、有意係数が含まれない場合には0となる。従って、ここでのコンテキスト値は有意係数の存否に対応する。その他、マクロブロックの符号化モードを符号化する場合には、コンテキストは各ブロックがスキップブロックであるか、ダイレクトモードで符号化されたブロックであるか、等により、それぞれ0と1に分けられる。また、参照ピクチャ番号、差分量子化パラメータは0であるか否かにより0と1に分けられる。
【0104】
図17(a)を用いて第1の計算手順を説明すると、符号列生成部104は、周辺ブロックAに位置するブロック又はマクロブロックが符号化対象ブロックCと同じMBP内かを調べる(ステップ1701)。同じMBP内であれば、周辺ブロックAのコンテキスト値ctxAとして、ctxA=ctx(A)(ステップ1704)とする。ここでctx(x)はブロックxのコンテキスト値を示す。
【0105】
また、周辺ブロックAが符号化対象ブロックCと同じMBP内でない場合には、周辺ブロックAが符号化対象ブロックCと同じ構造のタイプのMBPか否かを調べる(ステップ1702)。この場合、同じ構造のタイプであれば、周辺ブロックAのコンテキスト値ctxAとして、ctxA=ctx(A)(ステップ1704)とする。一方、周辺ブロックAと対象ブロックCとの構造が異なるタイプのブロックである場合には、周辺ブロックAのコンテキスト値ctxAとして、コンテキスト値ctxA=F1(ctx(A),ctx(A´))と算出する(ステップ1703)。ここで、F1は、何らかの演算操作を施す関数であり、例えば、F1(a,b)=a+b、a+2b、a&bである。そして、前記ステップ1602へ続く。
【0106】
そして、図17(b)を用いて第2の動作手順について説明すると、周辺ブロックAに位置するブロック又はマクロブロックが符号化対象ブロックCと同じMBP内かを調べ(ステップ1701)、同じMBP内であれば、周辺ブロックAのコンテキスト値ctxAとして、ctxA=ctx(A)(ステップ1704)とし、また、周辺ブロックAが符号化対象ブロックCと同じMBP内でない場合には、周辺ブロックAは符号化対象ブロックCと同じ構造のタイプのMBPか否かを調べる(ステップ1702)。この場合、同じ構造のタイプであれば、周辺ブロックAのコンテキスト値ctxAとして、ctxA=ctx(A)(ステップ1704)とする一方、周辺ブロックAと対象ブロックCとの構造が異なるタイプのブロックである場合には、コンテキスト値ctxAをデフォルト値に設定する(ステップ1705)。このデフォルト値としては、コンテキスト値が取りうる値のいずれかであり、例えば、0又は1である。
【0107】
図18は、図16におけるステップ1602、つまり、CABAC方式を用いて周辺ブロックBのコンテキスト値を求める計算手順((a)及び(b)の2通り)の詳細を示すフローチャートである。
【0108】
第1の計算手順を示す図18(a)では、まず、符号列生成部104は、周辺ブロックBに位置するブロック又はマクロブロックがMBPかを調べる(ステップ1801)。同じMBP内に位置する場合には、コンテキスト値ctxB=ctx(B)(ステップ1805)とする。そして、対象ブロックCが周辺ブロックBと同じMBP内に位置しない場合には、対象ブロックCがフレーム構造か否かを調べる(ステップ1802)。この結果、対象ブロックCがフレーム構造である場合には、周辺ブロックBがフレーム構造かを調べる(ステップ1803)。周辺ブロックBがフレーム構造である場合には、コンテキスト値ctxB=ctx(B)(ステップ1805)とする。一方、対象ブロックCがフレーム構造であり、周辺ブロックBがフィールド構造である場合には、コンテキスト値ctxB=F1(ctx(B),ctx(B´))とする(ステップ1808)。
【0109】
また、対象ブロックCがフィールド構造の場合には、次に、周辺ブロックBがフィールド構造かを調べる(ステップ1804)。周辺ブロックBがフィールド構造である場合には、コンテキスト値ctxB=ctx(B´)(ステップ1806)とする。また、対象ブロックCがフィールド構造であり、周辺ブロックBがフレーム構造である場合には、コンテキスト値ctxB=ctx(B)、又はctxB=F1(ctx(B),ctx(B´))とする(ステップ1807)。なお、ここでF1の処理は上述と同様となる。そして、前記各ステップを経て前記ステップ1603へ続く。
【0110】
図19は、図16におけるステップ1603、つまり、本実施の形態2に係る確率テーブルの決定手順の詳細を示すフローチャートである。
図19においては、前記図18に続くステップであり、符号列生成部104は、まず符号化対象ブロックCのコンテキスト値をctxC=F2(ctx(A),ctx(B))とする(ステップ1901)。ここで、F2は、F1と同様に何らかの演算操作を施す関数であり、例えば、F2(a,b)=a+b、a+2b、a&b、a、bである。次に、このctxCを用いることにより確率テーブルを決定することができる(ステップ1902)。
【0111】
尚、上述した動画像符号化のみでなく動画像復号化において、CAVLC方法におけるVLCテーブルの決定方法、CABAC方法におけるコンテキストの決定方法は、前記図3に示す可変長復号部311における動作となり、前記符号列生成部104と同様の動作を行うものとなる。ここで、可変長復号部311において、VLCテーブルの決定、コンテキストの決定を行う際に必要となる、ブロックがMBPの境界であるか否か、またMBPがフレームまたはフィールドのいずれの構造で符号化されているかを示す情報は、符号列解析部301から得られる。
【0112】
以上のように、実施の形態2に係る可変長符号化方法及び可変長復号化方法においては、CAVLC方式やCABAC方式を用いる際に、複数の周辺ブロックの有意係数の情報を用いる。従って、より効果的に符号化効率が向上するVLCテーブルや確率テーブルの選択方法を実現することができる。尚、本実施の形態2において、マクロブロックの構造のタイプをMBPごとにフレーム構造及びフィールド構造に相互に変換することができるのは言うまでもない。また、フレーム構造及びフィールド構造のいずれを選択する単位は、MBPでなくても構わず、例えばマクロブロックを単位としても良い。
【0113】
また、本実施の形態においては、図9および図16を用いて説明した形態において、符号化または復号化対象ブロックの左側に位置するブロックの有意係数の個数またはコンテキストを求めた後、符号化または復号化対象ブロックの上側に位置するブロックの有意係数の個数またはコンテキストを求める場合について説明したが、これらの順序は逆であっても構わず、図9におけるS903、図16におけるS1603の決定結果には影響は及ぼさない。
【0114】
さらにここで、上記実施の形態で示した可変長符号化方法や可変長復号化方法の応用例とそれを用いたシステムを説明する。
図20は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示すブロック図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex107〜ex110が設置されている。
【0115】
このコンテンツ供給システムex100は、例えば、インターネットex101にインターネットサービスプロバイダex102および電話網ex104、および基地局ex107〜ex110を介して、コンピュータex111、PDA(personal digital assistant)ex112、カメラex113、携帯電話ex114、カメラ付きの携帯電話ex115などの各機器が接続される。
【0116】
しかし、コンテンツ供給システムex100は図20のような組合せに限定されず、いずれかを組み合わせて接続するようにしてもよい。また、固定無線局である基地局ex107〜ex110を介さずに、各機器が電話網ex104に直接接続されてもよい。
【0117】
カメラex113はデジタルビデオカメラ等の動画撮影が可能な機器である。また、携帯電話は、PDC(Personal Digital Communications)方式、CDMA(Code Division Multiple Access)方式、W−CDMA(Wideband-Code Division Multiple Access)方式、若しくはGSM(Global System for Mobile Communications)方式の携帯電話機、またはPHS(Personal Handyphone System)等であり、いずれでも構わない。
【0118】
また、ストリーミングサーバex103は、カメラex113から基地局ex109、電話網ex104を通じて接続されており、カメラex113を用いてユーザが送信する符号化処理されたデータに基づいたライブ配信等が可能になる。撮影したデータの符号化処理はカメラex113で行っても、データの送信処理をするサーバ等で行ってもよい。また、カメラ116で撮影した動画データはコンピュータex111を介してストリーミングサーバex103に送信されてもよい。カメラex116はデジタルカメラ等の静止画、動画が撮影可能な機器である。この場合、動画データの符号化はカメラex116で行ってもコンピュータex111で行ってもどちらでもよい。また、符号化処理はコンピュータex111やカメラex116が有するLSIex117において処理することになる。なお、画像符号化・復号化用のソフトウェアをコンピュータex111等で読み取り可能な記録媒体である何らかの蓄積メディア(CD−ROM、フレキシブルディスク、ハードディスクなど)に組み込んでもよい。さらに、カメラ付きの携帯電話ex115で動画データを送信してもよい。このときの動画データは携帯電話ex115が有するLSIで符号化処理されたデータである。
【0119】
このコンテンツ供給システムex100では、ユーザがカメラex113、カメラex116等で撮影しているコンテンツ(例えば、音楽ライブを撮影した映像等)を上記実施の形態同様に符号化処理してストリーミングサーバex103に送信する一方で、ストリーミングサーバex103は要求のあったクライアントに対して上記コンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号化することが可能な、コンピュータex111、PDAex112、カメラex113、携帯電話ex114等がある。このようにすることでコンテンツ供給システムex100は、符号化されたデータをクライアントにおいて受信して再生することができ、さらにクライアントにおいてリアルタイムで受信して復号化し、再生することにより、個人放送をも実現可能になるシステムである。
【0120】
このシステムを構成する各機器の符号化、復号化には上記各実施の形態で示した可変長符号化装置あるいは可変長復号化装置を用いるようにすればよい。
その一例として携帯電話について説明する。
図21は、上記実施の形態で説明した可変長符号化方法と可変長復号化方法を用いた携帯電話ex115を示す図である。携帯電話ex115は、基地局ex110との間で電波を送受信するためのアンテナex201、CCDカメラ等の映像、静止画を撮ることが可能なカメラ部ex203、カメラ部ex203で撮影した映像、アンテナex201で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ex202、操作キーex204群から構成される本体部、音声出力をするためのスピーカ等の音声出力部ex208、音声入力をするためのマイク等の音声入力部ex205、撮影した動画もしくは静止画のデータ、受信したメールのデータ、動画のデータもしくは静止画のデータ等、符号化されたデータまたは復号化されたデータを保存するための記録メディアex207、携帯電話ex115に記録メディアex207を装着可能とするためのスロット部ex206を有している。記録メディアex207はSDカード等のプラスチックケース内に電気的に書換えや消去が可能な不揮発性メモリであるEEPROM(Electrically Erasable and Programmable Read Only Memory)の一種であるフラッシュメモリ素子を格納したものである。
【0121】
さらに、携帯電話ex115について図22を用いて説明する。携帯電話ex115は表示部ex202及び操作キーex204を備えた本体部の各部を統括的に制御するようになされた主制御部ex311に対して、電源回路部ex310、操作入力制御部ex304、画像符号化部ex312、カメラインターフェース部ex303、LCD(Liquid Crystal Display)制御部ex302、画像復号化部ex309、多重分離部ex308、記録再生部ex307、変復調回路部ex306及び音声処理部ex305が同期バスex313を介して互いに接続されている。
【0122】
電源回路部ex310は、ユーザの操作により終話及び電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することによりカメラ付ディジタル携帯電話ex115を動作可能な状態に起動する。
【0123】
携帯電話ex115は、CPU、ROM及びRAM等でなる主制御部ex311の制御に基づいて、音声通話モード時に音声入力部ex205で集音した音声信号を音声処理部ex305によってディジタル音声データに変換し、これを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex201を介して送信する。また携帯電話機ex115は、音声通話モード時にアンテナex201で受信した受信信号を増幅して周波数変換処理及びアナログディジタル変換処理を施し、変復調回路部ex306でスペクトラム逆拡散処理し、音声処理部ex305によってアナログ音声信号に変換した後、これを音声出力部ex208を介して出力する。
【0124】
さらに、データ通信モード時に電子メールを送信する場合、本体部の操作キーex204の操作によって入力された電子メールのテキストデータは操作入力制御部ex304を介して主制御部ex311に送出される。主制御部ex311は、テキストデータを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex201を介して基地局ex110へ送信する。
【0125】
データ通信モード時に画像データを送信する場合、カメラ部ex203で撮像された画像データをカメラインターフェース部ex303を介して画像符号化部ex312に供給する。また、画像データを送信しない場合には、カメラ部ex203で撮像した画像データをカメラインターフェース部ex303及びLCD制御部ex302を介して表示部ex202に直接表示することも可能である。
【0126】
画像符号化部ex312は、本願発明で説明した画像符号化装置を備えた構成であり、カメラ部ex203から供給された画像データを上記実施の形態で示した画像符号化装置に用いた符号化方法によって圧縮符号化することにより符号化画像データに変換し、これを多重分離部ex308に送出する。また、このとき同時に携帯電話機ex115は、カメラ部ex203で撮像中に音声入力部ex205で集音した音声を音声処理部ex305を介してディジタルの音声データとして多重分離部ex308に送出する。
【0127】
多重分離部ex308は、画像符号化部ex312から供給された符号化画像データと音声処理部ex305から供給された音声データとを所定の方式で多重化し、その結果得られる多重化データを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex201を介して送信する。
【0128】
データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、アンテナex201を介して基地局ex110から受信した受信信号を変復調回路部ex306でスペクトラム逆拡散処理し、その結果得られる多重化データを多重分離部ex308に送出する。
【0129】
また、アンテナex201を介して受信された多重化データを復号化するには、多重分離部ex308は、多重化データを分離することにより画像データの符号化ビットストリームと音声データの符号化ビットストリームとに分け、同期バスex313を介して当該符号化画像データを画像復号化部ex309に供給すると共に当該音声データを音声処理部ex305に供給する。
【0130】
次に、画像復号化部ex309は、本願発明で説明した画像復号化装置を備えた構成であり、画像データの符号化ビットストリームを上記実施の形態で示した符号化方法に対応した復号化方法で復号することにより再生動画像データを生成し、これをLCD制御部ex302を介して表示部ex202に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まれる動画データが表示される。このとき同時に音声処理部ex305は、音声データをアナログ音声信号に変換した後、これを音声出力部ex208に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まる音声データが再生される。
【0131】
なお、上記システムの例に限られず、最近は衛星、地上波によるディジタル放送が話題となっており、図23に示すようにディジタル放送用システムにも上記実施の形態の少なくとも画像符号化装置または画像復号化装置のいずれかを組み込むことができる。具体的には、放送局ex409では映像情報の符号化ビットストリームが電波を介して通信または放送衛星ex410に伝送される。これを受けた放送衛星ex410は、放送用の電波を発信し、この電波を衛星放送受信設備をもつ家庭のアンテナex406で受信し、テレビ(受信機)ex401またはセットトップボックス(STB)ex407などの装置により符号化ビットストリームを復号化してこれを再生する。また、記録媒体であるCDやDVD等の蓄積メディアex402に記録した符号化ビットストリームを読み取り、復号化する再生装置ex403にも上記実施の形態で示した画像復号化装置を実装することが可能である。この場合、再生された映像信号はモニタex404に表示される。また、ケーブルテレビ用のケーブルex405または衛星/地上波放送のアンテナex406に接続されたセットトップボックスex407内に画像復号化装置を実装し、これをテレビのモニタex408で再生する構成も考えられる。このときセットトップボックスではなく、テレビ内に画像復号化装置を組み込んでも良い。また、アンテナex411を有する車ex412で衛星ex410からまたは基地局ex107等から信号を受信し、車ex412が有するカーナビゲーションex413等の表示装置に動画を再生することも可能である。
【0132】
更に、画像信号を上記実施の形態で示した画像符号化装置で符号化し、記録媒体に記録することもできる。具体例としては、DVDディスクex421に画像信号を記録するDVDレコーダや、ハードディスクに記録するディスクレコーダなどのレコーダex420がある。更にSDカードex422に記録することもできる。レコーダex420が上記実施の形態で示した画像復号化装置を備えていれば、DVDディスクex421やSDカードex422に記録した画像信号を再生し、モニタex408で表示することができる。
【0133】
なお、カーナビゲーションex413の構成は例えば図22に示す構成のうち、カメラ部ex203とカメラインターフェース部ex303、画像符号化部ex312を除いた構成が考えられ、同様なことがコンピュータex111やテレビ(受信機)ex401等でも考えられる。
【0134】
また、上記携帯電話ex114等の端末は、符号化器・復号化器を両方持つ送受信型の端末の他に、符号化器のみの送信端末、復号化器のみの受信端末の3通りの実装形式が考えられる。
【0135】
このように、上記実施の形態で示した可変長符号化方法あるいは可変長復号化方法を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記実施の形態で説明した効果を得ることができる。
【0136】
【発明の効果】
以上のように、本発明の可変長符号化方法および可変長復号化方法は、CAVLC方式によって、各ブロックの有意係数の個数を符号化する場合、符号化対象ブロックの大きさと、周辺ブロックの大きさとが異なる場合には、周辺ブロックの有意係数の個数を、符号化対象ブロックと周辺ブロックとの大きさの比に基づいて変換し、この変換された値を可変長符号化テーブルの決定に用いる。
【0137】
以上のような動作により、符号化対象ブロックの大きさと、周辺ブロックの大きさとが異なる場合であっても、符号化対象ブロックの大きさに応じた可変長テーブルの決定を行うことができ、符号化効率の向上を図ることが出来る。
【0138】
また、本発明の可変長符号化方法は、CABAC方式によって、各ブロックが有意係数を有するか否かを示すビット(CBPビット)を符号化する場合、符号化対象ブロックの大きさと、周辺ブロックの大きさとが異なる場合には、周辺ブロックの有意係数の有無を、符号化対象ブロックと周辺ブロックとの大きさの比に基づいて変換し、この変換された値をCABAC方式において用いる確率テーブルの決定に用いる。
【0139】
以上のような動作により、符号化対象ブロックの大きさと、周辺ブロックの大きさとが異なる場合であっても、符号化対象ブロックの大きさに応じた確率テーブルの決定を行うことができ、符号化効率の向上を図ることが出来る。
【0140】
また、本発明の可変長符号化方法は、CABAC方式によって、ブロック内の各係数が有意係数であるか否かを示すビットの符号化方法する場合、符号化対象ブロックの大きさ別に確率テーブルを用意し、ブロックサイズ毎に異なる組の確率テーブルを用意する。または、符号化対象ブロックの最大ブロックサイズに合わせて確率テーブルを用意し、ブロックの大きさの違いに関わらず同じ確率テーブルの組を用いる。
【0141】
以上のような動作により、ブロックが複数の大きさを有する場合であっても、ブロックの大きさ別に確率テーブルの組を持つことにより、符号化効率の向上を図ることができる。また、ブロックの大きさの最大値に合わせて確率テーブルを用意し、ブロックの大きさの違いに関わらず同じ確率テーブルの組を用いることにより、確率テーブルの数を減らすことができ、メモリサイズを小さくすることができる。
【0142】
また、本発明は、画像信号がインタレースである場合に、可変長符号化・復号化方法としてCAVLC方式やCABAC方式を用いる際に、対象ブロックと周辺ブロックとがフレーム構造で符号化されているかフィールド構造で符号化されているかの符号化構造の一致及び相違に基づいて、可変長符号化テーブル及び確率テーブルを決定している。これによって、フレーム構造とフィールド構造のブロックが混在する場合であっても、VLCテーブル及び確率テーブルが一義的に決定され、符号化効率が向上される。
【図面の簡単な説明】
【図1】本発明の実施の形態を説明するためのブロック図
【図2】本発明の実施の形態を説明するための模式図
【図3】本発明の実施の形態を説明するためのブロック図
【図4】本発明の実施の形態および従来例を説明するための模式図
【図5】従来例を説明するための模式図
【図6】従来例を説明するための模式図
【図7】本実施の形態2に係る動画像符号化装置の構成を示す機能ブロック図
【図8】実施の形態2に係るフレーム構造で符号化されるMBPのデータ構造とフィールド構造で符号化されるMBPのデータ構造との関係を示す説明図
【図9】実施の形態2に係るCAVLC方式でコンテキストを決定し、対応するVLCテーブルを決定する場合における計算手順の大きな流れを示すフローチャート
【図10】実施の形態2に係る有意係数の個数とVLCテーブルとの関係を例示する表
【図11】実施の形態2に係る周辺ブロックAの有意係数の個数NLを求める計算手順((a)及び(b)の2通り)の詳細を示すフローチャート
【図12】実施の形態2に係る符号化対象ブロックCがフィールド構造及びフレーム構造である場合における周辺ブロックA及びA´の配置の一例を示す図
【図13】実施の形態2に係るCAVLC方式を用いて周辺ブロックBの有意係数の個数NUを求める計算手順((a)及び(b)の2通り)の詳細を説明するフローチャート
【図14】実施の形態2に係る符号化対象ブロックCがフィールド構造及びフレーム構造である場合における周辺ブロックB及びB´の配置の一例を示す図
【図15】本実施の形態2に係るVLCテーブルの決定手順((a)及び(b)の2通り)の詳細を示すフローチャート
【図16】実施の形態2に係るCABAC方式でコンテキストを決定し、対応する確率テーブルを決定する場合における計算手順の大きな流れを示すフローチャート
【図17】実施の形態2に係るCABAC方式を用いて周辺ブロックAのコンテキスト値ctxAを求める計算手順((a)及び(b)の2通り)の詳細を示すフローチャート
【図18】実施の形態2に係るCABAC方式を用いて周辺ブロックBのコンテキスト値を求める計算手順((a)及び(b)の2通り)の詳細を示すフローチャート
【図19】本実施の形態2に係る確率テーブルの決定手順の詳細を示すフローチャート
【図20】コンテンツ供給システムの全体構成を示すブロック図
【図21】動画像符号化方法、動画像復号化方法を用いた携帯電話の例
【図22】携帯電話のブロック図
【図23】ディジタル放送用システムの例
【図24】従来の確率テーブルの算出の仕方を示す参考図
【符号の説明】
101、107 フレームメモリ
102 差分演算部
103 予測誤差符号化部
104 符号列生成部
105 予測誤差復号化部
106 加算演算部
108 動きベクトル検出部
109 モード選択部
701 ブロックカウンタ
MBP マクロブロックペア

Claims (2)

  1. 画像を複数のブロックに分割し、前記ブロックを単位として周波数変換および量子化による符号化を行って得られた係数を算術符号化する際に用いる可変長符号化方法であって、
    符号化対象ブロック内の係数が有意係数であるか否かを示す第1のビットおよび符号化対象ブロック内の係数が有意係数である場合に、その有意係数が最後の有意係数であるか否かを示す第2のビット算術符号化する際に、符号化対象ブロックの大きさ別に異なる確率テーブルを用いて前記第1のビットおよび第2のビットを算術符号化することを特徴とする可変長符号化方法。
  2. 画像を複数のブロックに分割し、前記ブロックを単位として周波数変換および量子化による復号化を行って得られた係数を算術復号化する際に用いる可変長復号化方法であって、
    復号化対象ブロック内の係数が有意係数であるか否かを示す第1のビットおよび復号化対象ブロック内の係数が有意係数である場合に、その有意係数が最後の有意係数であるか否かを示す第2のビット算術復号化する際に、復号化対象ブロックの大きさ別に異なる確率テーブルを用いて前記第1のビットおよび第2のビットを算術復号化することを特徴とする可変長復号化方法。
JP2002290541A 2002-06-06 2002-10-02 可変長符号化方法および可変長復号化方法 Expired - Lifetime JP4230188B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002290541A JP4230188B2 (ja) 2002-06-06 2002-10-02 可変長符号化方法および可変長復号化方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002166233 2002-06-06
JP2002290541A JP4230188B2 (ja) 2002-06-06 2002-10-02 可変長符号化方法および可変長復号化方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2008119337A Division JP4767992B2 (ja) 2002-06-06 2008-04-30 可変長符号化方法および可変長復号化方法

Publications (3)

Publication Number Publication Date
JP2004064725A JP2004064725A (ja) 2004-02-26
JP2004064725A5 JP2004064725A5 (ja) 2005-10-27
JP4230188B2 true JP4230188B2 (ja) 2009-02-25

Family

ID=31949392

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002290541A Expired - Lifetime JP4230188B2 (ja) 2002-06-06 2002-10-02 可変長符号化方法および可変長復号化方法

Country Status (1)

Country Link
JP (1) JP4230188B2 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006054846A (ja) * 2004-07-12 2006-02-23 Sony Corp 符号化方法、符号化装置、復号方法、復号装置およびそれらのプログラム
CN1860796B (zh) * 2004-07-12 2010-06-16 索尼株式会社 编码方法、编码装置、解码方法、及解码装置
KR101148701B1 (ko) 2004-08-31 2012-05-23 파나소닉 주식회사 동화상 부호화 방법 및 장치
PT2950544T (pt) * 2006-01-09 2019-07-10 Hans Georg Musmann Codificação adaptativa do erro de predição em codificação de vídeo híbrida
JP4660433B2 (ja) * 2006-06-29 2011-03-30 株式会社東芝 符号化回路、復号回路、エンコーダ回路、デコーダ回路、cabac処理方法
JPWO2008111451A1 (ja) 2007-03-14 2010-06-24 日本電信電話株式会社 動きベクトル探索方法及び装置、そのプログラム並びにプログラムを記録した記録媒体
CA2679764C (en) 2007-03-14 2014-02-04 Nippon Telegraph And Telephone Corporation Quantization control method and apparatus, program therefor, and storage medium which stores the program
BRPI0808491B1 (pt) 2007-03-14 2020-08-04 Nippon Telegraph And Telephone Corporation Método e aparelho de controle de taxa de bits de codificação
KR101074870B1 (ko) 2007-03-14 2011-10-19 니폰덴신뎅와 가부시키가이샤 부호량 추정 방법, 장치, 그 프로그램 및 기록매체
BRPI0818444A2 (pt) * 2007-10-12 2016-10-11 Qualcomm Inc codificação adaptativa de informação de cabeçalho de bloco de vídeo
US8902988B2 (en) * 2010-10-01 2014-12-02 Qualcomm Incorporated Zero-out of high frequency coefficients and entropy coding retained coefficients using a joint context model
US9479784B2 (en) 2011-01-06 2016-10-25 Samsung Electronics Co., Ltd. Encoding method and device of video using data unit of hierarchical structure, and decoding method and device thereof
US8755620B2 (en) * 2011-01-12 2014-06-17 Panasonic Corporation Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus for performing arithmetic coding and/or arithmetic decoding
US8687904B2 (en) 2011-01-14 2014-04-01 Panasonic Corporation Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus which include arithmetic coding or arithmetic decoding
RS64604B1 (sr) * 2011-06-16 2023-10-31 Ge Video Compression Llc Entropijsko kodiranje razlika vektora kretanja
EP2590409B1 (en) * 2011-11-01 2015-01-07 BlackBerry Limited Multi-level significance maps for encoding and decoding
US8964849B2 (en) 2011-11-01 2015-02-24 Blackberry Limited Multi-level significance maps for encoding and decoding
CA2826423C (en) 2011-11-07 2020-03-24 Panasonic Corporation Image coding method, image coding apparatus, image decoding method, and image decoding apparatus
US9432696B2 (en) 2014-03-17 2016-08-30 Qualcomm Incorporated Systems and methods for low complexity forward transforms using zeroed-out coefficients
US9516345B2 (en) 2014-03-17 2016-12-06 Qualcomm Incorporated Systems and methods for low complexity forward transforms using mesh-based calculations
WO2018030293A1 (ja) * 2016-08-10 2018-02-15 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法

Also Published As

Publication number Publication date
JP2004064725A (ja) 2004-02-26

Similar Documents

Publication Publication Date Title
JP4230188B2 (ja) 可変長符号化方法および可変長復号化方法
KR101154606B1 (ko) 화상 복호화 방법
KR101019358B1 (ko) 가변길이 부호화 방법 및 가변길이 복호화 방법
JP4594201B2 (ja) 画像符号化方法、画像符号化装置、プログラムおよび集積回路
JP2008187734A (ja) フィルタリング強度決定方法
JP4641995B2 (ja) 画像符号化方法および画像符号化装置
JP4767992B2 (ja) 可変長符号化方法および可変長復号化方法
JP4580626B2 (ja) フィルタリング強度の決定方法、動画像符号化方法、および動画像復号化方法
JP4580901B2 (ja) フィルタリング強度の決定方法、動画像符号化方法、および動画像復号化方法
JP4580902B2 (ja) フィルタリング強度の決定方法、動画像符号化方法、および動画像復号化方法
JP4580903B2 (ja) フィルタリング強度の決定方法、動画像符号化方法、および動画像復号化方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050713

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050713

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080304

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080430

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080819

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081014

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20081111

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081203

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4230188

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111212

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111212

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121212

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121212

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131212

Year of fee payment: 5

EXPY Cancellation because of completion of term