[go: up one dir, main page]

JP5278827B2 - 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法、映像符号化あるいは復号プログラム - Google Patents

映像符号化装置、映像復号装置、映像符号化方法、映像復号方法、映像符号化あるいは復号プログラム Download PDF

Info

Publication number
JP5278827B2
JP5278827B2 JP2009531295A JP2009531295A JP5278827B2 JP 5278827 B2 JP5278827 B2 JP 5278827B2 JP 2009531295 A JP2009531295 A JP 2009531295A JP 2009531295 A JP2009531295 A JP 2009531295A JP 5278827 B2 JP5278827 B2 JP 5278827B2
Authority
JP
Japan
Prior art keywords
decoding
context
encoding
binary arithmetic
video
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009531295A
Other languages
English (en)
Other versions
JPWO2009031648A1 (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2009531295A priority Critical patent/JP5278827B2/ja
Publication of JPWO2009031648A1 publication Critical patent/JPWO2009031648A1/ja
Application granted granted Critical
Publication of JP5278827B2 publication Critical patent/JP5278827B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/93Run-length 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • H04N19/21Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding with binary alpha-plane coding for video objects, e.g. context-based arithmetic encoding [CAE]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

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

Description

本発明は、たとえばハイビジョン放送等の高画質の映像符号化装置や映像復号装置に好適に使用することができる映像符号化装置、映像復号装置、映像符号化方法、映像復号方法、映像符号化あるいは復号プログラムに係わり、特にコンテキスト適応算術符号化に基づいた映像符号化装置、映像復号装置、映像符号化方法、映像復号方法、映像符号化あるいは復号プログラムに関する。
映像処理装置のうちで、映像符号化装置は外部から映像データを入力して、これに対して所定の映像符号化方式に準拠した符号化処理を行うことで、ビットストリームを生成するようになっている。映像符号化装置に使用される映像符号化方式の代表的なものとして、H.264規格が存在している。H.264規格は、動画データの圧縮符号化方式の標準的な方式の一つとして、2003年5月にITU(International Telecommunication Union:国際電気通信連合)によって勧告されている。
このH.264方式では、その参照モデルとしてジョイントモデル(Joint Model:JM)方式が知られている。このジョイントモデル方式を採り入れた映像符号化装置が、本発明に関連する技術として提案されている(たとえば特許文献1参照)。本明細書ではこの提案による映像符号化装置を関連技術の映像符号化装置と呼ぶことにする。
図17は、関連技術の映像符号化装置の構成を示したものである。関連技術の映像符号化装置100は、入力画像としての映像データ101をマクロブロック単位で順次入力する予測・変換・量子化器102と、PCM(Pulse Code Modulation)符号化器103および第1のスイッチ104を備えている。
この図17に示した関連技術の映像符号化装置100に入力される映像データ101の映像信号フォーマットが、QCIF(Quarter Common Intermediate Format)であるものとする。QCIFは、ITUの定めた映像信号フォーマットの1つである。
図18は、QCIFの映像フォーマットの画像フレームを表わしたものである。QCIFの画像フレームは、横11個、縦9個のマクロブロックからなる。1枚の画像フレームは、順走査の場合に1枚のフレームピクチャで構成される。また、飛び越し走査の場合は2枚のフィールドピクチャで構成される。以後の説明では、これらのフレームピクチャを単純に「ピクチャ」と呼ぶことにする。
ピクチャを構成する単位としてのマクロブロックは、それぞれ16×16画素の輝度画素と、8×8画素のCr(色差信号)とCb(色差信号)の色差画素で構成されている。図では、16×16画素のマクロブロックを16分割した場合の4×4の画素ブロックについて輝度位置(x)と色差位置(o)を画素単位で表わしている。ピクチャ内のマクロブロックは、通常、ピクチャの左上から右下へのラスタスキャン順で符号化される。
図17に戻って説明する。マクロブロック単位で画像データ101を入力する予測・変換・量子化器102は、デコードピクチャバッファ121に格納されたデコード画像122から予測画像を生成し、入力画像としての画像データ101から予測画像を減じる処理を行う。この予測画像が減じられた入力画像は、周波数変換が適用されて、空間領域から周波数領域に変換された後、量子化され、符号データ123として出力されるようになっている。
ここで、予測・変換・量子化器102には、レート制御器125からマクロブロック量子化パラメータ126Mが供給されるようになっている。予測・変換・量子化器102における前記した周波数領域に変換された入力画像の変換係数は、このレート制御器125から供給されるマクロブロック量子化パラメータ126Mに対応する量子化ステップサイズで、量子化されることになる。
本明細書では、予測・変換・量子化器102における前記した周波数領域に変換された入力画像の変換係数を「レベル値」と呼ぶことにする。この「レベル値」は、特許請求の範囲における「変換量子化値」に対応するものである。
ところで、レート制御器125は、多重化器127が関連技術の映像符号化装置100から出力するビットストリーム128を監視する。そして、ビットストリーム128のビット数を目標のビット数に近づけるように量子化パラメータ126を制御する。具体的には、現在のビット数が目標のビット数よりも多ければ、量子化ステップサイズを大とする量子化パラメータ126を計算し、逆に現在のビット数が目標のビット数よりも少なければ、量子化ステップサイズを小とする量子化パラメータ126を計算する。
このようにして計算された量子化パラメータ126は、スライスと呼ばれるマクロブロックの集合単位の先頭ではスライス量子化パラメータ126Sとして出力される。また、量子化パラメータ126は、マクロブロックの先頭でマクロブロック量子化パラメータ126Mとして出力されることになる。
このうちのスライス量子化パラメータ126Sは、多重化器127に供給されると共に、コンテキスト初期値計算器129に供給されるようになっている。また、関連技術の映像符号化装置100の外部に配置された図示しないモデル計算器から供給されるモデル・アイディ(model_id)131も、同様に多重化器127に供給されると共にコンテキスト初期値計算器129に供給されるようになっている。
コンテキスト初期値計算器129は、レート制御器125から供給されるスライス量子化パラメータ126Sと外部のモデル計算器から供給されるモデル・アイディ131とに基づいて、2値算術符号化のコンテキストの初期値を計算する。そして、このコンテキストの初期値132をメモリ133に設定する。
なお、スライス量子化パラメータ126Sは、前記した「ITU−T H.264 | ISO/IEC 14496−10 Advanced Video Coding」における7.3.3節の「Slice header syntax」の「slice_qp_delta」と、同7.3.2節の「Picture parameter set RBSP syntax」の「pic_int_qp_minus26」に「26」を加えた和に対応する。また、モデル・アイディ131は、同7.3.3節の「Slice header syntax」における「cabac_init_idc」に対応するものである。
ところで、コンテキストとは、後に説明する2値シンボルに対する、優勢シンボル(Most Probable Symbol(MPS))と、劣勢シンボル(Least Probable Symbol(LPS))生起確率状態インデックス(pStateidx)の組である。また、2値算術符号化では、次の(1)式の関係が成り立つ。
MPS=1−LPS ……(1)
映像符号化方式のH.264規格では、コンテキストの「pStateidx」の数は64である。2値算術符号化処理の過程で、この「pStateidx」に応じた劣勢シンボル生起確率(rLPS)がテーブルルックアップに基づいて設定される。これについての詳細は、前記した「ITU−T H.264 | ISO/IEC 14496−10 Advanced Video Coding」における「9.3 CABAC parsing process for slice data」に記載されている。
予測・変換・量子化器102から出力される符号データ123は2値化器135に供給されるようになっている。ここで、符号データ123は、予測画像の生成に係わる予測パラメータ、マクロブロック量子化パラメータおよび量子化された変換係数から構成されている。
この説明を補足する。厳密には、マクロブロック量子化パラメータについて、直前マクロブロックのマクロブロック量子化パラメータが減じられた差分値が、符号データとして2値化器135に供給される。ただし、量子化パラメータの値がそのまま2値化されるか、あるいは差分値が2値化されるかということは、本発明にとってそれ程重要なことではない。そこでマクロブロック量子化パラメータ等の符号データ123が2値化器135に供給されるものとして説明を行った。
一方、予測・変換・量子化器102から出力される前記したレベル値136は、局所デコーダ137に供給される。局所デコーダ137は、このレベル値136を逆量子化する。そして、逆周波数変換を適用して、レベル値136を元の空間領域の画像に戻す。ただし、通常、予測・変換・量子化器102の量子化の影響により非可逆な変換となる。最後に、局所デコーダ137は、前記した元の空間領域に戻された画像に、予測・変換・量子化器102から供給される予測画像を加えることで、局所デコード画像138を計算する。この局所デコード画像138は、第1のスイッチ104に供給される。
ところで、符号データ123の供給を受けた2値化器135は、H.264規格で定められた手順に従って、これを2進列に変換し、2進列の各ビットを逐次出力する。以下の説明では、この2進列の各ビットを2値シンボル(ビン)と呼ぶことにする。なお、2値化器135の行う2進列変換の詳細は、前記した「ITU−T H.264 | ISO/IEC 14496−10 Advanced Video Coding」における9.3節の「CABAC parsing process for slice data」に開示がある。
PCM判定器139は、2値化器135に供給される符号データ123を監視するようになっている。そして、1マクロブロックの符号データに対応するビン数が、予め定めた所定ビン数を超えるか否かを判断する。なお、2値化器135に供給される符号データ123を監視することは、2値化器135の出力側に接続された2値算術符号化器141へ入力されるビン数142を監視することと等価である。このビン数142は、前記した1マクロブロックの符号データ123に対応するビン数を2値算術符号化したビット数が、非圧縮の入力1マクロブロックのビット数を超える場合のビンの個数である。
本明細書では、以後、この非圧縮の入力1マクロブロックに相当するビット数を、所定ビット数と呼ぶ。H.264規格では、入力映像データが4:2:0の場合、この所定ビット数は3200ビットである。
PCM判定器139は、監視の結果として、1マクロブロックの符号データ123に対応するビン数が所定ビン数を超えない場合、PCMモード非選択を制御信号144として出力する。これに対して、1マクロブロックの符号データ123に対応するビン数が所定ビン数を超える場合、PCMモード選択をこの制御信号144に出力する。
制御信号144は、第1のスイッチ104と、2値算術符号化器141と、コンテキストモデリング器146と、第2および第3のスイッチ147、148のそれぞれに供給されるようになっている。このうち2値算術符号化器141は、制御信号144によってPCMモード選択が通知された場合と、PCMモード非選択が通知された場合でその動作が異なるようになっている。
まず、制御信号144によってPCMモード選択が通知された場合、2値算術符号化器141は、これに接続された第1バッファ151と第2バッファ152のうちの第1バッファ151に対してデータ153を出力する。すなわち、まず、PCMモードに対応する予測パラメータのビンを、コンテキストモデリング器146から供給されるコンテキスト154に基づいて2値算術符号化する。次に、現在の2値算術符号化器141のレンジをフラッシュして、第1バッファ151に出力する。最後に、必要な分だけの「0」のビットを出力することで、第1バッファ151に出力されたビット列をバイトアラインする。なお、PCMモードに対応する予測パラメータのビンは一意に定まる値であるため、2値算術符号化器141自身がそのビンを生成して2値算術符号化するものとしている。
一方、制御信号144によってPCMモード非選択が通知された場合、2値算術符号化器141は、第2バッファ152に対して出力を行う。2値算術符号化器141は、2値化器135から逐次供給されるビン142を、コンテキストモデリング器146から供給されるコンテキスト154に基づいて2値算術符号化する。そして、そのビット出力156を第2バッファ152に書き込む。
なお、2値算術符号化器141による前記した2値算術符号化で、コンテキストモデリング器146から供給されるコンテキスト154は、2値算術符号化対象のビン142に応じて逐次更新される。おおまかには、H.264規格で優勢シンボル(MPS)とビンが等しい場合、劣勢シンボル生起確率(rLPS)が下がるように劣勢シンボル生起確率状態インデックス(pStateidx)を更新する。また、優勢シンボル(MPS)とビンが等しくない場合には、劣勢シンボル生起確率(rLPS)が上がるように劣勢シンボル生起確率状態インデックス(pStateidx)を更新する。また、優勢シンボル(MPS)とビンが等しくない場合で、なおかつ、劣勢シンボル生起確率状態インデックス(pStateidx)が「0」、すなわち劣勢シンボル生起確率(rLPS)が最大となっている場合には、優勢シンボル(MPS)を反転する。この点についての詳細は、前記した「ITU−T H.264 | ISO/IEC 14496−10 Advanced Video Coding」における「9.3 CABAC parsing process for slice data」に記載されている。
このように2値算術符号化器141は、入力ビンに応じて各コンテキスト154を更新(学習)することで、入力ビンの生起確率に合致したエントロピ符号化が可能になる。
コンテキストモデリング器146は、2値算術符号化器141に供給されるビン142に対応するコンテキスト154をメモリ133から逐次、読み出す。そして、このコンテキスト154を2値算術符号化器141に供給する、2値算術符号化器141によって学習されたコンテキストはメモリ133に格納される。
一方、PCM符号化器103は、映像データ101をマクロブロック単位で入力して、この入力マクロブロックの画素値をPCM符号化(非エントロピ符号化)する。このPCM符号化出力157は第3バッファ158に出力される。
なお1マクロブロックについてのPCM符号化のビット数は、その画素値を8ビットとすると、384(画素)と8ビットの積であり、3072ビットとなる。厳密には、PCM符号化を指定するためのヘッダビット数がこの3072ビットに加算されるが、これによる合計ビット数は前記した所定ビット数以下となる。また、ヘッダビット数は、H.264規格のBスライスにおける8ビン分のビット数が最大値となる。
第1のスイッチ104は、制御信号144によってPCMモード選択が通知された場合、デコードピクチャバッファ121に入力画像としての映像データ101を供給する。一方、制御信号144によってPCMモード非選択が通知された場合、第1のスイッチ104は、局所デコーダ137から出力される局所デコード画像138を選択して、これをデコードピクチャバッファ121に供給する。デコードピクチャバッファ121は、第1のスイッチ104を介して入力される画像を、以後の符号化のためにデコード画像として格納することになる。
第2のスイッチ147の方は、制御信号144によってPCMモード選択が通知された場合にのみ、多重化器127に、第1バッファ151の出力データ161を供給する。すなわち制御信号144によってPCMモード非選択が通知された場合には、第1バッファ151の出力データ161を多重化器127に供給しない。
第3のスイッチ148は、制御信号144によってPCMモード非選択が通知された場合、第2バッファ152の出力データ162を多重化器127に供給する。また、制御信号144によってPCMモード選択が通知された場合には、第3バッファ158の出力データ163を多重化器127に供給することになる。
多重化器127は、スライス量子化パラメータ126S、外部のモデル計算器から供給されるモデル・アイディ(model_id)131、ならびに第2および第3のスイッチ147、148を介して入力される出力データ161と出力データ162、163のうちの一方を多重化して、ビットストリーム128として出力することになる。
特開2004−135251号公報(第0005段落)
以上説明した関連技術の映像符号化装置100では、2値算術符号化あるいは、PCM符号化をマクロブロック単位で選択して符号化することができる。したがって、あるマクロブロックの符号データに対する2値算術符号化のビット数が前記した所定ビット数を超えても、PCM符号化を選択することによって、マクロブロックの出力ビット数をこの所定ビット数以下とすることを保証することができる。
ところで、あるマクロブロックの符号データに対する2値算術符号化のビット数が前記した所定ビット数を超える要因の一つは、過去に学習されたコンテキストのシンボル生起確率がこのマクロブロックの符号データのビンの生起確率に合致しないことにある。すなわち、あるマクロブロックでシンボル生起確率が急激に変動したとする。この場合、このマクロブロックの符号データに対する2値算術符号化のビット数が前記した所定ビット数を超えるため、これがシンボル生起確率とビンの生起確率の合致しない要因の一つとなる。具体的には、変換係数の最高周波数成分のみに有意なレベル値を持つマクロブロックが連続して2値算術符号化された後に、変換係数のすべての周波数成分に有意なレベル値を持つマクロブロックが入力された場合を一例として挙げることができる。ここで、有意なレベル値とは、零よりも大きな値の絶対値を持つレベル値をいう。
関連技術の映像符号化装置100では、PCM符号化を選択した場合に、レベル値に関するコンテキストを学習することができない。このため、変換係数のすべての周波数成分に有意なレベル値を持つマクロブロックが突如入力されてPCM符号化を選択したとし、その後に、再び変換係数のすべての周波数成分に有意なレベル値が発生するマクロブロックが入力されても、コンテキストが未学習である。この結果、後者のマクロブロックについても効率的に2値算術符号化をすることができない。
このように関連技術の映像符号化装置100では、シンボル生起確率の急激な変動を原因として符号化効率が低下するという問題があった。また、以上の説明では映像符号化についての考察を行ったが、シンボル生起確率の急激な変動が生じたときの画像データを復号する際にも同様の問題があった。
そこで本発明の目的は、コンテキスト適応符号化においてシンボル生起確率の急激な変動による圧縮効率低下を防止できる映像符号化装置、映像符号化方法、映像符号化プログラム、また、対応する映像復号装置、映像復号方法、復号プログラムを提供することにある。
本発明による映像符号化装置は、画像ブロックを周波数領域に変換して量子化した変換量子化値をコンテキストに基づいて2値算術符号化する第1の符号化手段と、前記した画像ブロックを前記した第1の符号化手段とは異なる符号化手法で符号化する第2の符号化手段と、第1の符号化手段の出力する第1の出力データと、第2の符号化手段の出力する第2の出力データのいずれかを選択する出力データ選択手段と、この出力データ選択手段が第2の出力データを選択したときに変換量子化値の2値算術符号化に用いるコンテキストを更新するコンテキスト更新手段とを含む。
すなわち本発明では、画像ブロックを周波数領域に変換して量子化した変換量子化値をコンテキストに基づいて2値算術符号化する第1の符号化手段と、これ以外の符号化を行う第2の符号化手段を設けておき、出力データ選択手段が第2の出力データを選択したときに変換量子化値の2値算術符号化に用いるコンテキストを更新する。これによって、シンボル生起確率の急激な変動に起因する符号化効率低下を回避することができる。
また、本発明による映像復号装置は、入力画像データをコンテキストに基づいて2値算術復号して変換量子化値を復号する第1の復号手段と、入力画像データを第1の復号手段と異なる復号手法で復号する第2の復号手段と、第1の復号手段と第2の復号手段のいずれかを入力画像データの復号のために選択する復号選択手段と、この復号選択手段が第2の復号手段を用いて復号することを選択したときに変換量子化値の2値算術復号に用いるコンテキストを更新するコンテキスト更新手段とを含む。
すなわち本発明では、入力画像データをコンテキストに基づいて2値算術復号して変換量子化値を復号する第1の復号手段とこれ以外の復号を行う第2の復号手段を設けておき、復号選択手段が第2の復号手段を用いて復号することを選択したときに変換量子化値の2値算術復号に用いるコンテキストを更新するようにしている。これにより、シンボル生起確率の急激な変動によってマクロブロックを符号化した際に、変動したシンボル生起確率に合致するようなコンテキスト更新を適用しながら、符号化されたビットストリームを復号することができる。
また、本発明による映像符号化方法は、画像ブロックを周波数領域に変換して量子化した変換量子化値をコンテキストに基づいて2値算術符号化する第1の符号化ステップと、画像ブロックを第1の符号化ステップとは異なる符号化手法で符号化する第2の符号化ステップと、第1の符号化ステップで出力する第1の出力データと、第2の符号化ステップで出力する第2の出力データのいずれかを選択する出力データ選択ステップと、この出力データ選択ステップで第2の出力データを選択したときに変換量子化値の2値算術符号化に用いるコンテキストを更新するコンテキスト更新ステップとを有する。
すなわち本発明では、画像ブロックを周波数領域に変換して量子化した変換量子化値をコンテキストに基づいて2値算術符号化する第1の符号化ステップと、これ以外の符号化を行う第2の符号化ステップを設けておき、出力データ選択ステップで第2の出力データを選択したときに変換量子化値の2値算術符号化に用いるコンテキストを更新する。これによって、シンボル生起確率の急激な変動に起因する符号化効率低下を回避することができる。
また、本発明による映像復号方法は、入力画像データをコンテキストに基づいて2値算術復号して変換量子化値を復号する第1の復号ステップと、入力画像データを第1の復号ステップと異なる復号手法で復号する第2の復号ステップと、第1の復号ステップと第2の復号ステップのいずれかを入力画像データの復号のために選択する復号選択ステップと、この復号選択ステップで第2の復号ステップによって復号することを選択したときに変換量子化値の2値算術復号に用いるコンテキストを更新するコンテキスト更新ステップとを有する。
すなわち本発明では、入力画像データをコンテキストに基づいて2値算術復号して変換量子化値を復号する第1の復号ステップとこれ以外の復号を行う第2の復号ステップを設けておき、復号選択ステップで第2の復号ステップを用いて復号することを選択したときに変換量子化値の2値算術復号に用いるコンテキストを更新するようにしている。これにより、シンボル生起確率の急激な変動によってマクロブロックを符号化した際に、変動したシンボル生起確率に合致するようなコンテキスト更新を適用しながら、符号化されたビットストリームを復号することができる。
また、本発明による映像符号化プログラムは、コンピュータに、画像ブロックを周波数領域に変換して量子化した変換量子化値をコンテキストに基づいて2値算術符号化する第1の符号化処理と、画像ブロックを第1の符号化処理とは異なる符号化手法で符号化する第2の符号化処理と、第1の符号化処理で出力する第1の出力データと、第2の符号化処理で出力する第2の出力データのいずれかを選択する出力データ選択処理と、この出力データ選択処理で第2の出力データを選択したときに変換量子化値の2値算術符号化に用いるコンテキストを更新するコンテキスト更新処理とを実行させる。
すなわち本発明では、コンピュータの実行する映像符号化プログラムとして、入力画像データをコンテキストに基づいて2値算術符号化して変換量子化値を符号化する第1の符号化処理と、これ以外の符号化を行う第2の符号化処理を設けておき、出力データ選択処理で第2の出力データを選択したときに変換量子化値の2値算術符号化に用いるコンテキストを更新する。これによって、シンボル生起確率の急激な変動に起因する符号化効率低下を回避することができる。
また、本発明による映像復号プログラムは、コンピュータに、入力画像データをコンテキストに基づいて2値算術復号して変換量子化値を復号する第1の復号処理と、入力画像データを第1の復号処理と異なる復号手法で復号する第2の復号処理と、第1の復号処理と第2の復号処理のいずれかを入力画像データの復号のために選択する復号選択処理と、この復号選択処理で第2の復号処理を用いて復号することを選択したときに変換量子化値の2値算術復号に用いるコンテキストを更新するコンテキスト更新処理とを実行させる。
すなわち本発明では、コンピュータの実行する映像復号プログラムとして、入力画像データをコンテキストに基づいて2値算術復号して変換量子化値を復号する第1の復号処理とこれ以外の復号を行う第2の復号処理を実行できるようにしておき、復号選択処理で第2の復号処理を用いて復号することを選択したときに変換量子化値の2値算術復号に用いるコンテキストを更新するようにしている。これにより、シンボル生起確率の急激な変動によってマクロブロックを符号化した際に、変動したシンボル生起確率に合致するようなコンテキスト更新を適用しながら、符号化されたビットストリームを復号することができる。
以上説明したように、本発明によれば、シンボル生起確率の急激な変動による圧縮効率低下を防止できる映像符号化および復号化が可能となる。
本発明の第1の実施の形態における映像符号化装置の構成を表わしたブロック図である。 第1の実施の形態におけるレベル値を示した説明図である。 図2に示したレベル値をフレームスキャンする順序を表わした説明図である。 図2に示したレベル値を図3に示したスキャン順に従って計算した結果を表わした説明図である。 「level_minus1」と対応する2進列の一例を表わした説明図である。 コンテキスト更新器によるコンテキストの更新処理の様子を表わした流れ図である。 状態インデックス遷移テーブルの内容を表わした説明図である。 ステップS405で説明した「context_level」の更新処理の様子を表わした説明図である。 第1の実施の形態による効果を関連技術の装置と比較して示した特性図である。 本発明の第1の実施の形態の映像符号化装置の変形例を表わしたブロック図である。 本発明の第2の実施の形態の映像復号装置の構成を表わしたブロック図である。 本発明の第3の実施の形態による映像符号化装置の構成を表わしたブロック図である。 PCM選択時のコンテキスト等確率更新器の処理の流れを示した流れ図である。 本発明の第3の実施の形態の変形例の映像符号化装置の構成を表わしたブロック図である。 本発明の第4の実施の形態の映像復号装置の構成を表わしたブロック図である。 本発明の映像符号化装置と映像復号装置を備えた映像処理装置をソフトウェアで構成した場合のハードウェアの概略構成図である。 本発明に関連する関連技術の映像符号化装置の構成を示したブロック図である。 QCIFの映像フォーマットの画像フレームを表わした説明図である。 劣勢シンボル生起確率状態インデックスと劣勢シンボル生起確率の関係を表わした特性図である。 劣勢シンボル生起確率状態インデックスとビット数の関係を表わした特性図である。
本発明の実施の形態を説明する前に、本発明の原理を説明する。本発明では、シンボル生起確率の急激な変動によってマクロブロックをPCM符号化した際に、この変動したシンボル生起確率に合致するように、次マクロブロックの符号化開始前にレベル値に関する符号データのシンボルに対するコンテキストを更新するようにする。具体的には、コンテキストの劣勢シンボル生起確率状態インデックスを現在の番号よりも小さな番号にする。
図19は、劣勢シンボル生起確率状態インデックスと劣勢シンボル生起確率の関係を表わしたものである。この図19から了解されるように、劣勢シンボル生起確率状態インデックス(pStateidx)をより小さな番号に更新することは、劣勢シンボル生起確率(rLPS)を高くすることと等価である。言い換えれば、劣勢シンボル生起確率を高くすることは、優勢シンボル生起確率を低くすることと等価である。
更に、劣勢シンボル(Least Probable Symbol(LPS))の定義により、劣勢シンボル生起確率(rLPS)は優勢シンボル生起確率よりも高くならない。このため、これらが等確率となることが劣勢シンボル生起確率の最大確率である。このため、本発明では、PCM符号化した際に、レベル値に関する符号データのシンボルに対するコンテキストの劣勢シンボル生起確率を等確率に近づくように更新する。
本発明では、このようにコンテキストを更新するので、変換係数のすべての周波数成分に有意なレベル値を持つマクロブロックが突如入力されてPCM符号化を選択した後に、再び変換係数のすべての周波数成分に有意なレベル値が発生するマクロブロックが後続して入力された場合であっても、コンテキストが学習されている。したがって、後続して入力されたマクロブロックをPCM符号化よりも少ないビット数の2値算術符号化によって符号化できることになる。
図20は、劣勢シンボル生起確率状態インデックスとビット数の関係を表わしたものである。図20では、優勢シンボル(MPS)を曲線201で表わし、劣勢シンボル(LPS)を曲線202で表わしている。劣勢シンボル生起確率状態インデックス(pStateidx)を、より小さな番号に更新(学習)しておくことで、同じLPSが入力されても少ないビット数となることになる。
一方、変換係数のすべての周波数成分に有意なレベル値を持つマクロブロックが突如入力されてPCM符号化を選択した後に、変換係数の最高高周波数成分のみに有意なレベル値を持つマクロブロックが後続して入力されたとする。この場合であっても、後続マクロブロックのシンボル数が少ないので、コンテキストを学習しながら、PCM符号化よりも少ないビット数の2値算術符号化によって符号化できる。
<第1の実施の形態>
図1は、本発明の第1の実施の形態における映像符号化装置の構成を表わしたものである。図1に示す映像符号化装置300で図17と同一部分には同一の符号を付しており、これらの部分の説明を適宜省略する。映像符号化装置300は、図17に示した関連技術の映像符号化装置100にコンテキスト更新器301を新たに配置した構成となっている。コンテキスト更新器301は、PCM判定器139による符号データ123の監視の結果としての制御信号144を入力するようになっている。そして、これにより、1マクロブロックの符号データ123に対応するビン数が所定ビン数を超えることで、PCMモード選択が行われたことを制御信号144によって通知されると、コンテキスト更新器301はコンテキストを更新する処理を行う。すなわち、コンテキスト更新器301はPCMモード選択の通知を受けると、コンテキストモデリング器146Aを介して、メモリ133に格納されたレベル値に関する符号データのコンテキストを更新する。
この実施の形態におけるレベル値に関する符号データとは、H.264規格における「significant_coeff_flag、last_significant_coeff_flag、coef_abs_level_minus1」である。それぞれを次に説明する。
H.264規格では、4×4ブロックサイズの周波数変換を利用する。したがって、図18に示した画像フレームを構成する1つ1つのマクロブロックについて見てみると、1つの4×4ブロックに対して、各周波数成分に対応する、16個のレベル値がある。
図2はレベル値の分布例を示したものである。4×4ブロックについて、水平成分をuとし、垂直成分をvとしている。また、図3は図2に示したレベル値をフレームスキャンする順序を表わしたものである。この図3で「0」〜「15」はスキャン番号を示している。
H.264規格で定められたスキャン順に従って、最高周波数成分「i=15」を除いたスキャン番号(0≦i≦14)における小さいものから順に、スキャン番号「i」に対応する周波数成分に有意なレベル値が存在するか否かを示すフラグを、「significant_coeff_flag[i]」として符号化する。ただし、「i=0」は直流成分(DC)である。また、図2で「1」は有意なレベル値が存在することを示し、「0」は有意なレベル値が存在しないことを示す。更に、スキャン番号「i」に対応する周波数成分の有意なレベル値がブロック中で最後の有意なレベル値であるか否かを示すフラグを、「last_significant_coeff_flag[i]」として符号化する。ただし、「1」はブロック中で最後の有意なレベル値であることを示し、「0」はブロック中で最後の有意なレベル値ではないことを示す。
以上のような符号化を行った後、続いて、スキャン番号(0≦i≦15)の大きいものから順に、有意なレベル値が存在する周波数成分の有意なレベル値の絶対値から「1」を減じた値を「coef_abs_level_minus1」として符号化する。このとき、有意なレベル値の符合「sign」も、同時に符号化される。
図4は、一例として、図2に示したレベル値を図3に示したスキャン順に従って計算した結果を表わしたものである。ここでは、「significant_coeff_flag」についての計算結果を示す欄を「sig」として表示し、「last_significant_coeff_flag」についての計算結果を示す欄を「last」として表示している。また、「coef_abs_level_minus1」についての計算結果を示す欄を「level_minus1」として表示している。「sign(レベル値の±の符合)」の計算結果を示す欄は、そのまま「sign」と表示している。本明細書では、以後も、この簡略化された表記を利用する。この図4に示した計算結果で「−」と示されている箇所は、値が無効であることを示している。
図4から明らかなように、「sig」、「last」および「sign」は2値シンボル(ビン)である。このうち「sig」と「last」のビンは、最高周波数成分を除くスキャン番号(0≦i≦14)に対応したコンテキストに基づいて2値算術符号化される。スキャン番号「i」の「sig[i]」に対応するコンテキストを「context_sig[i]」とし、「last[i]」に対応するコンテキストを「context_last[i]」とする。なお、「sign」は±の符合であるため、コンテキストを用いず、等確率の生起確率で2値算術符号化される。
一方、「level_minus1」は、H.264規格の「UEGk binarization」に従って、2進列に変換される。「UEGk binarization」の詳細については、前記した「ITU−T H.264 | ISO/IEC 14496−10 Advanced Video Coding」における「9.3 CABAC parsing process for slice data」に記載されている。
図5は、「level_minus1」と対応するこのような2進列の一例を表わしたものである。この図5から、「level_minus1」の2進列の1番目のビンでは、コンテキスト番号が「0」から「4」の5種類のコンテキストに基づいて2値算術符号化されることが分かる。また、2番目から14番目では別の5種類のコンテキストであるコンテキスト番号が「5」から「9」の5種類のコンテキストに基づいて2値算術符号化されることが分かる。ただし、図5では3番目から14番目までのビンについては、2進列の2番目のビンに対して設定したコンテキストで2値算術符号化することを省略して示すために「←」という記号を使用している。
また、「level_minus1」の2進列の15番目以降のビンについては、コンテキストを用いず、等確率の生起確率で2値算術符号化することにしている。図5では、これを示すためにコンテキスト番号の欄に「eq」の文字を記している。以下の記述では、「level_minus1」の1番目から14番目のビンの2値算術符号化に利用されるコンテキストを「context_level[i](0≦i≦9)」と表記することにする。本発明に関連するH.264規格関係の説明は、ひとまず終了する。
ところで、第1の実施の形態の映像符号化装置300は、先に説明したようにコンテキスト更新器301を新たに配置した構成となっており、このコンテキスト更新器301とこれに関与する装置以外の動作は図17に示した関連技術の映像符号化装置100と同一である。そこで、PCM選択時のコンテキスト更新器301の動作を次に説明し、関連技術の映像符号化装置100と重複する動作の説明は省略することにする。
図6は、コンテキスト更新器によるコンテキストの更新処理の様子を表わしたものである。ただし、コンテキストの更新に関して、図示しないデコーダ側の装置は、エンコーダとしてのこの映像符号化装置300がPCM符号化を選択したときの各4×4ブロックでのレベル値の分布は分からない。そこで、PCM符号化時には、エンコーダおよびデコーダ共に、すべての4×4ブロックの全周波数成分に有意なレベル値が発生したものと仮定する。
コンテキストの更新開始に際して、4×4ブロックインデックス番号「b4」を「0」に設定しておく。ここで4×4ブロックインデックス番号とは、図18に示すマクロブロック内の4×4ブロック符号化順の番号である。説明を簡略化するために、輝度画素のみに着目することにする。
ステップS401では、スキャン番号「i」を「15」と設定し、連続する絶対値が「1」のレベル値の個数である「c1」を「1」に設定する。また、連続する絶対値が「2」以上のレベル値の個数「c2」を「0」と設定し、次のステップS402に進む。なお、「c1」および「c2」は、最大で4個までカウントされる。
次のステップS403以降の説明に際して、第1の実施の形態では、各4×4ブロックの最高周波数成分の「i=15」から直流成分(DC)の「i=0」に向かって、「i」成分のレベル値に対応する「context_sig」、「context_last」および「context_level_minus1」の各コンテキストを更新していることに注意すべきである。「i=0」から「i=15」の昇順で行う通常の方向と異なり、降順である。
このように第1の実施の形態で降順で「context_sig」および「context_last」を「context_level_minus1」と同時にコンテキスト更新できる原理は、次の条件が満足されているからである。
(a)すべての4×4ブロックの全周波数成分に有意なレベル値が発生したと仮定していること。
(b)「sig[i]」と「last[i]」とが周波数成分別にコンテキストを保有していること。
これによって、「i=15」から「i=0」の降順処理であっても、あるいは、通常の「i=0」から「i=15」の昇順処理であっても、コンテキスト「context_sig[i]」および「context_last[i]」を同様に更新することができる。
ステップS402では、最高周波数成分でないか否かを判断するために、スキャン番号「i」が15未満であるか否かを判断する。最高周波数成分でなければ、すなわちスキャン番号「i」が15未満であれば(Y)、ステップS403に進む。最高周波数成分であり、スキャン番号「i」が15あるいはそれ以上であれば、ステップS405に進むことになる。
ステップS403では、スキャン番号「i」に対する「sig[i]」に対応するコンテキスト「context_sig[i]」を次の(2)式を用いて更新する。
Figure 0005278827
ただし、「context_sig[i].pStateidx」は「context_sig[i]」の劣勢シンボル生起確率状態インデックスであり、「context_sig[i].MPS」は「context_sig[i]」の優勢シンボルである。また、「transIdxLPS[]」は、次に図7に示すH.264規格で定められる状態インデックス遷移テーブルであり、「transIdxLPS[x]」は、図7の「pStateidx」行の値「x」に対応する列の「transIdxLPS」の値を返すものとする。
図7は、状態インデックス遷移テーブルの内容を表わしたものである。この図7から明らかなように、「transIdxLPS[x]」は現在の「x」以下の値を返す。
図6に戻って説明を続ける。ステップS403における(2)式を用いた「context_sig[i]」の更新によって、優勢シンボル(MPS)が「0」の場合には、「pStateidx」が小さな番号に近づくように更新される。つまり、劣勢シンボル(LPS=1)に対するコンテキストの劣勢シンボル生起確率が従来よりも高くなるように更新される。これによって、PCM符号化されたマクロブロックの次マクロブロックの符号化で、劣勢シンボル(LPS=1)となる「sig=1」の2値シンボルが大量に入力されても、劣勢シンボル生起確率を高く更新している分だけ、すなわち、シンボル生起確率の急激な変動に対応するだけ、2値算術符号化の効率が改善される。
次のステップS404では、スキャン番号「i」に対する「last[i]」に対応するコンテキスト「context_last[i]」を次の(3)式で更新する。
Figure 0005278827
ただし、「context_last[i].pStateidx」は「context_last[i]」の劣勢シンボル生起確率状態インデックスであり、「context_last[i].MPS」は「context_last[i]」の優勢シンボルである。
この(3)式による「context_last[i]」の更新によって、優勢シンボル(MPS)が「1」の場合には、「pStateidx」が小さな番号に近づくように更新される。つまり、劣勢シンボル(LPS=0)に対するコンテキストの劣勢シンボル生起確率が従来よりも高くなるように更新される。これによって、PCM符号化されたマクロブロックの次マクロブロックの符号化で、劣勢シンボル(LPS=0)となる「last=0」の2値シンボルが大量に入力されても、劣勢シンボル生起確率を高く更新している分だけ、すなわち、シンボル生起確率の急激な変動に対応するだけ、2値算術符号化の効率が改善される。
次のステップS405では、前記した連続する絶対値が「1」のレベル値の個数「c1」を「1」とし、連続する絶対値が2以上のレベル値の個数「c2」、および、スキャン番号「i」に対応する周波数成分のレベル値の絶対値から「1」を減じた値「level_minus1[i]」とに基づいて、「context_level」を更新する。
図8は、ステップS405で説明した「context_level」の更新処理の様子を表わしたものである。ただし、この処理では、PCM符号化時に、デコーダ側には、エンコーダがPCM符号化を選択したときの各4×4ブロックでの各スキャン番号「i」の「level_minus1[i]」が分からないことを配慮している。すなわち、PCM符号化時にはエンコーダおよびデコーダ共に、すべての4×4ブロックの各スキャン番号「i」の「level_minus1[i]」が「14」であると仮定して図8の処理を行う。
まず、ステップS451では、「x=C1」に対応するコンテキスト「context_level[x]」を、次の(4)式で更新する。
Figure 0005278827
ただし、「context_level[x].pStateidx」は「context_level[x]」の劣勢シンボル生起確率状態インデックスであり、「context_level[x].MPS」は「context_level[x]」の優勢シンボルである。
この(4)式による「context_level[x]」の更新によって、優勢シンボル(MPS)が「0」の場合には、「pStateidx」が小さな番号に近づくように更新される。つまり、劣勢シンボル(LPS=1)に対するコンテキストの劣勢シンボル生起確率が従来よりも高くなるように更新される。これによって、PCM符号化されたマクロブロックの次マクロブロックの符号化で、劣勢シンボル(LPS=1)となる「ビン=1」の「level_minus1」の2進列の1番目の2値シンボルが大量に入力されても、劣勢シンボル生起確率を高く更新している分だけ、すなわち、シンボル生起確率の急激な変動に対応するだけ、2値算術符号化の効率が改善される。
続くステップS452では、「level_minus1[i]」が「0」よりも大きいか否かを判断する。「0」よりも大きければ(Y)、ステップS453に進む。「0」であれば(ステップS452:N)、ステップS454に進む。ステップS453では、ループカウンタlを次の(5)式で設定する。
l=min(13,level_minus1[i]−1) ……(5)
ただし、この(5)式の右辺の「13」は、「level_minus1[i]」の2進列の2番目から14番目までのビンが同じコンテキストを利用することと、15番目以降のビンではコンテキストを利用しないことを考慮した値である。lを「13」よりも大きな値に設定しても意味がない。
このステップS453の処理の次に行われるステップS455の処理では、「x=c2+5」に対応するコンテキスト「context_level[x]」を(4)式で更新する。ステップS455の「context_level[x]」の更新によって、PCM符号化されたマクロブロックの次マクロブロックの符号化で、劣勢シンボル(LPS=1)となる「ビン=1」の「level_minus1」の2進列の2番目以降の2値シンボルが大量に入力されても、劣勢シンボル生起確率を高く更新している分だけ、すなわち、シンボル生起確率の急激な変動に対応するだけ、2値算術符号化の効率が改善される。
続いて、ステップS456に進む。ステップS456では、ループカウンタlが「0」であるか否かを判断する。「0」であれば(Y)、ステップS457に進む。「0」でなければ(ステップS456:N)、ステップS458に進み、ループカウンタlを1デクリメントして、ステップS455に戻る。
ステップS457では、「c1」を「0」にリセットし、「c2」については次の(6)式で更新して、図6のステップS405に関する処理を終了する(エンド)。。
c2=min(4,c2++) ……(6)
一方、ステップS454では、「c2」を「0」にリセットし、更に「c1」を次の(7)式で更新する。そして、図6のステップS405に関する処理を終了することになる(エンド)。
c1=min(4,c1++) ……(7)
なお、図8の処理では、(6)式や(7)式のように連続する絶対値が「1」のレベル値の個数「c1」および連続する絶対値が2以上のレベル値の個数「c2」を切り替えることによって、過去に処理をした「level_minus1」に応じたコンテキストモデリングが行われる。
図6に戻って説明を続ける。ステップS405の処理が終了したら、ステップS406の処理が行われる。ステップS406では、スキャン番号「i」が「0」であるか否かを判断する。「0」であれば(Y)、ステップS407に進む。これは現4×4ブロックの処理終了を意味する。「0」でなければ(ステップS406:N)、ステップS408に進み、スキャン番号「i」を1デクリメントして、ステップS402に戻る。
ところで、ステップS407では、4×4ブロックインデックス番号「b4」が「15」であるか否かを判断する。「15」であれば(Y)、コンテキスト更新を終了する(エンド)。「15」でなければ(ステップS407:N)、ステップS409に進み、4×4ブロックインデックス番号「b4」を「1」インクリメントして、ステップS401に戻る。これは、マクロブロック内の次の4×4ブロックの処理に進むことを意味する。
以上、詳細に説明したようにコンテキスト更新器301がPCM選択時にコンテキスト更新処理を行う。これにより、PCM符号化されたマクロブロックの次マクロブロックの符号化で、急激に変動した「significant_coeff_flag」、「last_significant_coeff_flag」および「coef_abs_level_minus1」に対応する2値シンボルの生起確率に適合するように、「significant_coeff_flag」、「last_significant_coeff_flag」、「coef_abs_level_minus1」にそれぞれ対応するコンテキストの劣勢シンボル生起確率状態インデックス「pStateidx」が更新される。
具体的には、「significant_coeff_flag」の各コンテキスト(context_sig[i]、0≦i≦14)については、その優勢シンボル(MPS)が「0」の場合、その「pStateidx」が小さな番号に近づくように更新される。また、「last_significant_coeff_flag」の各コンテキスト(context_last[i]、0≦i≦14)については、その優勢シンボル(MPS)が「1」の場合、その「pStateidx」が小さな番号に近づくように更新される。更に、「coef_abs_level_minus1」の各コンテキスト(context_level[c]、0≦C≦9)については、その優勢シンボル(MPS)が「0」の場合、その「pStateidx」が小さな番号に近づくように更新される。すなわち、コンテキスト更新器301は、「context_sig[i]」、「context_last[i]」、「context_level[c]」それぞれの劣勢シンボル生起確率を等確率に近づけるように更新する。この結果、次マクロブロックの符号化開始時に、コンテキストの優勢シンボルとは異なる劣勢シンボルの2値シンボルが大量に入力されても、劣勢シンボル生起確率を高く更新している分だけ、2値算術符号化の効率が改善される。
図9は、第1の実施の形態による効果を関連技術の装置と比較して示したものである。この図は、マクロブロック量子化パラメータ(QP)を横軸で表わし、2値算術符号化ビット数を縦軸で表わしている。マクロブロック量子化パラメータ(QP)は、H.264を用いるアプリケーションで多用される値である。
この図では、変換係数の最高周波数成分のみに有意なレベル値を持つマクロブロックが連続して2値算術符号化された後における、変換係数のすべての周波数成分に有意なレベル値を持つマクロブロックが入力されてPCM符号化を選択した場合を示している。すなわち、この図では、変換係数のすべての周波数成分に有意なレベル値を持つマクロブロックでの2値算術符号化ビット数を、マクロブロック量子化パラメータ(QP)ごとに示している。本実施の形態では、PCM符号化を選択したときにコンテキストの更新を行うようになっている。この結果、本実施の形態では、急激に変動したシンボル生起確率に合致するようにコンテキストが更新されるので、前記した所定ビット数を表わした上限値331を超えることなく、曲線332で示したように2値算術符号化のビット数が達成される。
この図9では、参考のために関連技術の映像符号化装置100(図17)を用いた場合の2値算術符号化のビット数を曲線333で表わしている。関連技術の映像符号化装置100を使用した場合には、PCM符号化の選択時にコンテキストの更新を行なわない。すなわち、関連技術の映像符号化装置100では、急激に変動したシンボル生起確率に合致するようにコンテキストが更新されないので、2値算術符号化のビット数が所定ビット数を越えてしまうことになる。両曲線332、333を対比すると、本発明によって、シンボル生起確率の急激な変動に起因するPCM符号化による符号化効率低下を回避することができることが分かる。
<第1の実施の形態の変形例>
図10は、本発明の第1の実施の形態の映像符号化装置の変形例を表わしたものである。図10に示す映像符号化装置300Bで図1と同一部分には同一の符号を付しており、これらの部分の説明を適宜省略する。映像符号化装置300Bは、図1に示した映像符号化装置300と同様にコンテキスト更新器301を配置する一方、PCM判定器139Bは符号データ123を監視せず、代わりに2値算術符号化器141のビット出力156としてのビット数を監視して前記した所定ビン数を超えるか否かを判断することでPCMモードか否かの判定を行うようになっている。また、映像符号化装置300Bでは、メモリ133が他のメモリとしての整合用メモリ501とデータの入出力を行うようになっている。
このような構成の映像符号化装置300Bは、2値算術符号化器141、PCM判定器139B、整合用メモリ501およびコンテキスト更新器301の動作のみが、図1に示した映像符号化装置300と異なる。そこで、これらを中心に説明を行う。
2値算術符号化器141は、マクロブロックの最初のビンが入力された時点で、この最初のビンを2値算術符号化する直前の算術符号化器の状態を記憶して、2値算術符号化器141の内部の図示しないローカルメモリに保持する。これら記憶および保持する内容は、たとえば2値算術符号化器141のレンジや下限値である。2値算術符号化器141は、PCM判定器139BからPCMモードの選択が通知されない限り、マクロブロックのビンを絶えず2値算術符号化して、第2バッファ152に出力する。
このような処理が行われているとき、PCM判定器139BからPCMモードの選択を示す制御信号144Bが2値算術符号化器141に通知されたとする。この時点に2値算術符号化器141は、第2バッファ152を空にする。そして、これに記憶していた直前のビット出力156の状態を現在の2値算術符号化器141に格納する。
続いて、PCMモードに対応する予測パラメータのビンを、コンテキストモデリング器146Bから供給されるコンテキストに基づいて2値算術符号化して、第1バッファ151に出力する。PCMモードに対応する予測パラメータのビンを2値算術符号化した後、その時点での2値算術符号化器141のレンジをフラッシュして、第1バッファ151に出力する。最後に、必要な分だけの「0」のビットを出力することで、第1バッファ151に出力されたビット列をバイトアラインする。なお、PCMモードに対応する予測パラメータのビンは一意に定まる値である。このため、以上の説明では2値算術符号化器141自身がそのビンを生成して2値算術符号化するものとしている。
PCM判定器139Bは、2値算術符号化器141から第2バッファ152に出力されるマクロブロックのビット数を監視している。そして、ビット数が前記した所定ビット数を越えた時点で、PCMモードの選択を制御信号144Bに出力する。PCMモードの選択を制御信号144Bに出力した後、現マクロブロックの符号化が完了した時点で、PCM判定器139BはPCMモード非選択を制御信号144Bに出力する。
整合用メモリ501は、マクロブロックの最初のビンが入力されたときに、この最初のビンが2値算術符号化される直前のメモリ133のコンテキストをコピーして、次のマクロブロックの符号化開始まで保持する。ただし、整合用メモリ501は、PCM判定器139Bから制御信号144BによってPCMモードの選択が通知された時点で、先にコピーしたコンテキストをメモリ133に上書きする。こうすることによって、メモリ133に上書きされたコンテキストが直前のマクロブロックの符号化終了時のコンテキストに一致し、デコーダ間とのコンテキストの整合性を保つことができる。
コンテキスト更新器301は、PCM判定器139Bから制御信号144BによってPCMモードの選択を通知されて整合用メモリ501のコンテキストがメモリ133に上書きされると、このメモリ133に格納されたレベル値に関する符号データのコンテキストを更新する。なお、このような更新手順を採る代わりに、整合用メモリ501のコンテキストがメモリ133に上書きされる前の時点で、コンテキスト更新器301が整合用メモリ501のコンテキストに格納されたレベル値に関する符号データのコンテキストを更新するようにしてもよい。
このように第1の実施の形態の変形例による映像符号化装置300Bでは、コンテキスト更新器301の作用のみで、シンボル生起確率の急激な変動に起因してマクロブロックがPCM符号化されたときに、変動したシンボル生起確率に合致するようにコンテキストを更新することができる。なお、整合用メモリ501は、直前マクロブロックのコンテキストを保持するだけであり、未学習コンテキストを保持するだけなので、シンボル生起確率の急激な変動に起因してマクロブロックがPCM符号化されたとしても、急激な変動したシンボル生起確率に合致するようにコンテキストを更新することはできない。
<第2の実施の形態>
図11は、本発明の第2の実施の形態の映像復号装置の構成を表わしたものである。この映像復号装置600は、図1に示す映像符号化装置300から出力されるビットストリーム128を入力する分離器601を備えている。この分離器601はビットストリーム128を、スライスの先頭情報とマクロブロック情報に分離する。この詳細については、前記したITU−T H.264 | ISO/IEC 14496−10 Advanced Video Coding」における「7 Syntax and semantics」を参照されたい。スライスの先頭情報は、前記した「Advanced Video Coding」の7.3.3節に記載されたSlice header syntaxに対応する。また、マクロブロック情報は、前記した「Advanced Video Coding」の7.3.5節に記載された「acroblock layer syntax[muni]」を参照されたい。
分離器601は、コンテキスト初期値計算器611と第4のスイッチ612の入力側に接続されている。分離器601からコンテキスト初期値計算器611には、スライス量子化パラメータとモデル・アイディ(model_id)からなるスライスの先頭情報613が供給される。コンテキスト初期値計算器611はこのライス量子化パラメータとモデル・アイディに基づいて、2値算術復号のコンテキストの初期値を計算し、この計算結果としての値614をメモリ615に設定するようになっている。
一方、分離器601から出力されるマクロブロック情報のビット616は、第4のスイッチ612を介して、2値算術復号器617あるいはPCM復号器618に供給されるようになっている。2値算術復号器617とメモリ615の間には、コンテキストモデリング器619が接続されている。また、コンテキストモデリング器619はコンテキスト更新器621と接続されている。2値算術復号器617は、入力ビットに対して、コンテキストモデリング器619から供給されるコンテキスト622に基づいて2値算術復号を行う。2値算術復号器617によって復号された2値シンボル(ビン)623は、符号データ復号器624に供給される。
2値算術復号器617は、PCM検出器625とも接続されている。2値算術復号器617は、PCM検出器625から現マクロブロックがPCMモードであることを通知された場合には、現在の2値算術復号器617のレンジを所定の値にリセットする。そして、2値算術復号器617は、PCMモードである現マクロブロックがPCM復号器618による復号が完了するまでの間、2値算術復号を停止する。
一方、符号データ復号器624の方は、入力されるビン623の2進列から、元の符号データを復号する。復号された符号データの予測パラメータ626は、符号データ復号器624に接続されているPCM検出器625および予測器627に供給される。また、復号された符号データのマクロブロック量子化パラメータとレベル値628は、符号データ復号器624に接続された逆量子化・逆変換器629に供給される。
PCM検出器625は、入力された予測パラメータ626によって、現マクロブロックがPCMモードであるかを検出する。現マクロブロックがPCMモードである場合には、その出力する制御信号631を介して、現マクロブロックがPCMモードであることを、2値算術復号器617、コンテキスト更新器621、第4のスイッチ612および第5のスイッチ632に通知する。
逆量子化・逆変換器629と予測器627の出力としての予測画像634、635はそれぞれ加算器636に入力されて加算され、その加算結果としての予測復号画像637が第5のスイッチ632に入力されるようになっている。第5のスイッチ632は、この予測復号画像637とPCM復号器618の復号結果としてのPCM復号画像638とを択一的に選択し、選択出力639をデコード画像バッファ641に入力するようになっている。デコード画像バッファ641から出力されるデコード画像642は予測器627に入力され、また映像復号装置600からデコード画像642として出力される。
ここで逆量子化・逆変換器629に入力されたマクロブロック量子化パラメータとレベル値628のうちのレベル値は、マクロブロック量子化パラメータに対応する量子化ステップサイズで逆量子化される。この逆量子化されたレベル値(変換係数)には、逆周波数変換が適用されて、周波数領域から空間領域に戻される。この空間領域に戻された変換係数が、予測画像634である。
予測画像634は、加算器636の一方に入力される。この加算器636の他方には、予測器627によって生成された予測画像635が入力される。後者の予測画像635は、予測パラメータ626と、デコード画像バッファ641から出力されるデコード画像642を予測器627が入力して生成したものである。加算器636から出力される加算結果としての予測復号画像637は、マクロブロックのデコード画像として第5のスイッチ632に供給されることになる。
第4のスイッチ612はPCM検出器625から出力される制御信号631がPCMモードであることを通知してきた場合、分離器601から出力されるマクロブロック情報のビット616をPCM復号器618に供給する。PCM復号器618は現マクロブロックがPCMモードであるときに供給されるこのマクロブロック情報のビット616に対してPCM復号を行う。PCM復号器618からこれにより出力されるPCM復号画像638は、該当するマクロブロックのデコード画像として第5のスイッチ632に供給されることになる。
第4のスイッチ612は、通常の場合、分離器601の出力を2値算術復号器617の入力に接続している。この第4のスイッチ612は、PCM検出器625からその制御信号631によって現マクロブロックがPCMモードであることを通知されると、現マクロブロックのPCM復号が終わるまで、分離器601の出力をPCM復号器618の入力に接続する。
したがって、第5のスイッチ632は、前記した通常の場合、予測復号画像637をデコード画像バッファ641に供給する。そして、PCM検出器625から現マクロブロックがPCMモードであることを通知されたときには、デコード画像バッファ641にPCM復号画像638を供給することになる。
コンテキスト更新器621は、PCM検出器625から制御信号631によって現マクロブロックがPCMモードであることを通知された時点で、コンテキストモデリング器619を介して、メモリ615に格納されたレベル値に関する符号データのコンテキストを更新する。この第2の実施の形態におけるレベル値に関する符号データとは、第1の実施の形態と同様に、H.264規格における「significant_coeff_flag」、「last_significant_coeff_flag」および「coef_abs_level_minus1」である。
デコード画像バッファ641は、格納されたデコード画像642を適切な表示タイミングで外部に出力する。
このような第2の実施の形態の映像復号装置600では、コンテキスト更新器621が重要な特徴を持っている。このコンテキスト更新器621は第1の実施の形態で説明したコンテキスト更新器301と同一の動作を行うため、その説明を省略する。
第2の実施の形態の映像復号装置600では、第1の実施の形態の映像符号化装置300によって作成した、符号化されたビットストリームを復号することができる。すなわち、シンボル生起確率の急激な変動によってマクロブロックをPCM符号化した際に、変動したシンボル生起確率に合致するようなコンテキスト更新を適用しながら、符号化されたビットストリームを復号することができる。
<第3の実施の形態>
ところで、図1および図10で説明した第1の実施の形態あるいはその変形例としての映像符号化装置300、300Bでは、マクロブロックがPCM符号化された際、コンテキスト更新器301が、「significant_coeff_flag」の各コンテキスト(context_sig[i]、0≦i≦14)、「last_significant_coeff_flag」の各コンテキスト(context_last[i]、0≦i≦14)、「coef_abs_level_minus1」の各コンテキスト(context_level[c]、0≦c≦9)の劣勢シンボル生起確率状態インデックス(pStateidx)を小さな番号に更新するようにしている。すなわち、コンテキスト更新器301は、「context_sig[i]」、「context_last[i]」および「context_level[c]」のそれぞれの劣勢シンボル生起確率を等確率に近づけるように更新している。
しかしながら、コンテキストの劣勢シンボル生起確率を等確率にする目的であれば、これら第1の実施の形態あるいはその変形例のような逐次更新は必要ない。すなわち、コンテキストの優勢シンボル(MPS)と劣勢シンボル生起確率状態インデックス(pStateidx)を適切な値に設定すればよい。具体的には、各「context_sig[i]」に関しては「MPS=1」、「pStateidx=0」として、各「context_last[i]」に関しては「MPS=0」、「pStateidx=0」とし、各「context_level[c]」に関しては「MPS=1」、「pStateidx=0」と設定すればよい。
なお、この設定は、優勢シンボルの生起確率を等確率にすることと等価である。また、コンテキストの劣勢シンボル生起確率を等確率に設定すると、該当するコンテキストを用いて最初に符号化される1ビンに対する2値算術符号化の出力は1ビットとなり、2値算術符号化による符号化ロスがない状態にリセットされる。
本発明の第3の実施の形態では、「context_sig[i]」、「context_last[i]」および「context_level[c]」のそれぞれの劣勢シンボル生起確率を等確率に近づけるように逐次更新するのではなく、劣勢シンボル生起確率を等確率に瞬時に更新するようにしている。
図12は、本発明の第3の実施の形態による映像符号化装置の構成を表わしたものである。図12に示した第3の実施の形態の映像符号化装置300Cで、図1と同一部分には同一の符号を付しており、これらの説明を適宜省略する。この映像符号化装置300Cを第1の実施の形態の映像符号化装置300と比較すると、図1に存在したコンテキスト更新器301の代わりにコンテキスト等確率更新器701が備えられている。
コンテキスト等確率更新器701は、PCM判定器139から出力される制御信号144によってPCMモード選択が通知された場合、メモリ133に格納されたレベル値に関する符号データのコンテキストとしての「context_sig[i]」、「context_last[i]」および「context_level[c]」を前記した値に更新する。すなわち、劣勢シンボル生起確率を等確率に設定する。なお、メモリ133に格納されたデータに対して直接更新を行うので、コンテキスト等確率更新器701による前記した更新処理は、メモリ133に対する上書き処理と等価である。
第3の実施の形態の映像符号化装置300Cでコンテキスト等確率更新器701以外の部分は第1の実施の形態の映像符号化装置300と同一である。そこで、PCM選択時のコンテキスト等確率更新器701の動作のみを説明することにする。
図13は、PCM選択時のコンテキスト等確率更新器の処理の流れを示したものである。まず、PCM選択時にステップS801で、すべての「context_sig[i]」(0≦i≦14)の生起確率状態インデックス(pStateidx)と優勢シンボル(MPS)を次の(8)式と(9)式で更新する。
context_sig[i]pStateidx=0 ……(8)
context_sig[i]MPS=1 ……(9)
なお、(8)式によって劣勢シンボル生起確率が等確率となる。したがって、(9)式の右辺が「1」ではなく「0」としても、該当するコンテキストを用いて符号化される最初の1ビンに対する2値算術符号化の出力は1ビットとなる。
次のステップS802では、すべての「context_last[i]」(0≦i≦14)の生起確率状態インデックス(pStateidx)と優勢シンボル(MPS)を次の(10)式と(11)式で更新する。
context_last[i]pStateidx=0 ……(10)
context_last[i]MPS=0 ……(11)
なお、「context_sig」と同様に、(10)式によって劣勢シンボル生起確率が等確率となるので、(11)式の右辺が「0」ではなく「1」としても、該当するコンテキストを用いて符号化される最初の1ビンに対する2値算術符号化の出力は1ビットとなる。
次のステップS803では、すべての「context_level[c]」(0≦c≦9)の生起確率状態インデックス(pStateidx)と優勢シンボル(MPS)を(12)式と(13)式で更新する。
context_level[c]pStateidx=0 ……(12)
context_level[c]MPS=1 ……(13)
なお、「context_sig」や「context_last」と同様に、(8)式によって劣勢シンボル生起確率が等確率となるので、(13)式の右辺が「1」ではなく「0」としても、該当するコンテキストを用いて符号化される最初の1ビンに対する2値算術符号化の出力は1ビットとなる。
以上の処理でコンテキスト等確率の更新を終了する。
以上説明した第3の実施の形態の映像符号化装置300Cでは、マクロブロックがPCM符号化された際に、第1の実施の形態のような逐次的なコンテキスト更新ではなく、瞬時的なコンテキスト更新が可能になる。したがって、第1の実施の形態よりも単純な演算によって、急激に変動したシンボル生起確率に合致するようにコンテキストの更新ができる。
<第3の実施の形態の変形例>
図14は、本発明の第3の実施の形態の変形例の映像符号化装置の構成を表わしたものである。図14に示した第3の実施の形態の変形例の映像符号化装置300Dで、図12と同一部分には同一の符号を付しており、これらの部分の説明を適宜省略する。この変形例の映像符号化装置300DでPCM判定器139Dは、符号データ123を監視せず、代わりに2値算術符号化器141のビット出力156としてのビット数を監視して前記した所定ビン数を超えるか否かを判断することでPCMモードか否かの判定を行うようになっている。この点は、図1に示した映像符号化装置300に対する図10に示した映像符号化装置300Bの関係と同様である。
このような構成の映像符号化装置300Dは、2値算術符号化器141、PCM判定器139Dおよびコンテキストモデリング器146Dの動作のみが、図12に示した映像符号化装置300と異なる。そこで、これらを中心に説明を行う。
2値算術符号化器141は、マクロブロックの最初のビンが入力された時点で、この最初のビンを2値算術符号化する直前の算術符号化器の状態を記憶して、2値算術符号化器141の内部の図示しないローカルメモリに保持する。これら記憶および保持する内容は、たとえば2値算術符号化器141のレンジや下限値である。2値算術符号化器141は、PCM判定器139DからPCMモードの選択が通知されない限り、マクロブロックのビンを絶えず2値算術符号化して、第2バッファ152に出力する。
このような処理が行われているとき、PCM判定器139DからPCMモードの選択を示す制御信号144Dが2値算術符号化器141に通知されたとする。この時点に2値算術符号化器141は、第2バッファ152を空にする。そして、これに記憶していた直前のビット出力156の状態を現在の2値算術符号化器141に格納する。
続いて、PCMモードに対応する予測パラメータのビンを、コンテキストモデリング器146Dから供給されるコンテキストに基づいて2値算術符号化して、第1バッファ151に出力する。PCMモードに対応する予測パラメータのビンを2値算術符号化した後、その時点での2値算術符号化器141のレンジをフラッシュして、第1バッファ151に出力する。最後に、必要な分だけの「0」のビットを出力することで、第1バッファ151に出力されたビット列をバイトアラインする。なお、PCMモードに対応する予測パラメータのビンは一意に定まる値である。このため、以上の説明では2値算術符号化器141自身がそのビンを生成して2値算術符号化するものとしている。
ところで、PCMモードに対応する予測パラメータのビンに利用するコンテキストは、H.264規格で3種類程度と少ない。このため、2値算術符号化器141自身が、マクロブロックの最初のビンが入力されたときに、この最初のビンを2値算術符号化する直前のコンテキストを逐次保存しておくようにしている。そして、PCM判定器139Dから制御信号144DによってPCMモードの選択が通知された時点に、2値算術符号化器141はこの保存したコンテキストをコンテキストモデリング器146Dを介してメモリ133に書き戻すものとした。
PCM判定器139Dは、2値算術符号化器141から第2バッファ152に出力されるマクロブロックのビット数を監視している。そして、ビット数が前記した所定ビット数を越えた時点で、PCMモードの選択を制御信号144Dに出力する。PCMモードの選択を制御信号144Dに出力した後、現マクロブロックの符号化が完了した時点で、PCM判定器139DはPCMモード非選択を制御信号144Dに出力する。
以上説明した第3の実施の形態の変形例の映像符号化装置300Dを、図10に示した第1の実施の形態の変形例の映像符号化装置300Bと比較する。図14に示した映像符号化装置300Dでは、図10に示した映像符号化装置300Bと異なり、整合用メモリ501が不要となっていることが分かる。これは、マクロブロックがPCM符号化された際に、映像符号化装置300Dのメモリ133に格納されたレベル値に関する符号データのコンテキスト(「context_sig[i]」、「context_last[i]」および「context_level[c]」)を前記した所定値で上書きするだけで、そのコンテキストが更新されるからである。すなわち、図14に示した映像符号化装置300Dでは、図10に示した映像符号化装置300Bの構成のように、整合用メモリ501に格納されたコンテキストを元に逐次更新をする必要がない。したがって、コンテキスト等確率更新器701に基づく図14に示した映像符号化装置300Dは、より単純な装置構成となるメリットもある。
<第4の実施の形態の変形例>
図15は、本発明の第4の実施の形態の映像復号装置の構成を表わしたものである。図15に示す映像復号装置600Eで図11と同一部分には同一の符号を付しており、これらの部分の説明を適宜省略する。本実施の形態の映像復号装置600Eでは、図11に示した映像復号装置600と比較すると、コンテキスト更新器621(図11)の代わりにコンテキスト等確率更新器901が備えられている。
第4の実施の形態の映像復号装置600Eのコンテキスト等確率更新器901は、PCM検出器625からPCMモードであることを通知された場合、メモリ615に格納されたレベル値に関する符号データのコンテキストである「context_sig[i]」、「context_last[i]」および「context_level[c]」のそれぞれの劣勢シンボル生起確率を等確率に更新する。なお、メモリ133に格納されたデータに対して直接更新を行うので、コンテキスト等確率更新器901は、メモリ615に対する上書き処理と等価である。
映像復号装置600Eにおけるこのコンテキスト等確率更新器901以外の回路装置は、第2の実施の形態の映像復号装置600と同一である。本実施の形態の映像復号装置600Eでは、図12に示した第3の実施の形態の映像符号化装置300Cによって、符号化されたビットストリームを復号することができる。すなわち、シンボル生起確率の急激な変動によってPCM符号化されたマクロブロックに対して、変動したシンボル生起確率に合致するようなコンテキスト等確率更新を適用しながら、符号化されたビットストリームを復号することができる。
以上説明した発明の実施の形態では、PCM符号化した場合における「significant_coeff_flag」、「last_significant_coeff_flag」および「coef_abs_level_minus1」のコンテキストの更新について説明した。PCM符号化の代わりにハフマン符号化、あるいは、コンテキストを用いない2値算術符号化を利用した映像処理装置に対しても、本発明の技術思想が同様に適用できることはいうまでもない。
また、以上説明した発明の実施の形態やそれらの変形例では、4×4ブロックサイズの周波数変換を利用する場合での「significant_coeff_flag」、「last_significant_coeff_flag」および「coef_abs_level_minus1」のコンテキスト更新を説明したが、これに限るものではない。たとえばH.264規格の「High profile」等の8×8ブロックサイズの周波数変換を利用する映像符号化・復号においても、8×8ブロックサイズの周波数変換によって生成された画像ブロック(8×8周波数ブロック)のレベル値は、4×4ブロックサイズの周波数変換によって生成された画像ブロック(4×4周波数ブロック)のレベル値と同様に、「significant_coeff_flag」、「last_significant_coeff_flag」および「coef_abs_level_minus1」に基づいて2値算術符号化・復号が適用される。したがって、このような8×8周波数ブロックでも、すでに説明した4×4周波数ブロックのコンテキスト更新の手法を適用できることはいうまでもない。
この場合、8×8周波数ブロックにおける第1の実施の形態および第2の実施の形態のコンテキスト更新器301の動作は、DC成分から高周波数成分の順で「significant_coeff_flag」、「last_significant_coeff_flag」のコンテキストを一旦更新する。その後、高周波数成分からDC成分の順で「coef_abs_level_minus1」のコンテキストを更新する。ただし、第3の実施の形態および第4の実施の形態におけるコンテキスト等確率更新器701、901については、処理順序の変更は不要である。
更には、以上説明した本発明の各実施の形態では、ピクチャの符号化構造としてMBAFF(Macro Block Adaptive Frame Field)符号化を利用する場合、PCM符号化を行う際のコンテキスト更新時で、現在のマクロブロックの符号化構造(フレーム構造あるいはフィールド構造)の「significant_coeff_flag」と「last_significant_coeff_flag」のコンテキストだけでなく、現在のマクロブロックの符号化構造でない「significant_coeff_flag」と「last_significant_coeff_flag」も同じタイミングで更新してもよい。たとえば、現在のマクロブロックの符号化構造がフレーム構造であれば、フィールド構造の前記コンテキストも更新するようにする。こうすることによって、発明のコンテキスト更新に起因する、マクロブロック符号化構造の偏りを回避することができる。
更にまた、本発明の各実施の形態では、PCM符号化時のコンテキスト更新を行うか否かを、PCMモードマクロブロックのヘッダ情報に埋め込む構造としてもよい。これによって、映像符号化器側にはコンテキスト更新を行うか否かを判断するコンテキスト更新判断手段が必要となる一方で、PCMモードマクロブロックに後続するマクロブロックにおけるシンボル生起確率により合致した算術符号化が可能になる。
また、本発明では、PCMモードマクロブロックのヘッダ情報に埋め込む構造とする代わりに、所定の数のPCMモードマクロブロックが連続して発生した場合にのみ、コンテキスト更新を行うよう構造としてもよい。これによって、映像符号化器側でのコンテキスト更新判断手段が不要となる。
以上説明した各実施の形態では、映像符号化装置あるいは映像復号装置をハードウェアのみで構成したが、コンピュータプログラムをCPU(Central Processing Unit;中央演算処理ユニット)が実行して、構成回路装置の一部をソフトウェアで実現するようにしてもよい。
図16は、一例として映像符号化装置と映像復号装置を備えた映像処理装置をソフトウェアで構成した場合のハードウェアの構成を表わしたものである。映像処理装置1000は、映像データ格納用の第1の記憶媒体1001と、ビットストリーム格納用の第2の記憶媒体1002を備えている。また、映像処理装置1000は図示しないCPUや作業用のメモリを半導体チップとして集積したプロセッサ1003を備えており、CPUが実行する制御プログラムを格納したプログラムメモリ1004と接続されている。プロセッサ1003には、映像処理装置1000をユーザや保守担当者が操作するための操作部10005と、操作の状態や符号化前または復号後の映像等の各種情報を表示あるいはプリントアウトするための出力装置1006が接続されている。
プロセッサ1003は、第1の記憶媒体1001から映像データ1011を読み出して、符号化し、ビットストリーム1012を第2の記憶媒体1002に格納する。また、第2の記憶媒体1002からビットストリーム1013を読み出して映像データ1014に複合して、第1の記憶媒体1001に格納することになる。ここでのプロセッサ1003は、CPUが制御プロセッサを実行することで、仮想的に各実施の形態データ説明した各種の回路装置を実現することになる。
なお、第1の記憶媒体1001や第2の記憶媒体1002あるいはプログラムメモリ1004の一部または全部を図示しないインターネット等のネットワーク上に配置することも可能であることはいうまでもない。
以上好ましい実施の形態(及び実施例)を参照して本願発明を説明したが、本願発明は上記実施の形態(及び実施例)に限定されるものでない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2007年9月6日に出願された日本出願特願2007−231478を基礎とする優先権を主張し、その開示の全てをここに取り込む。

Claims (30)

  1. 画像ブロックを周波数領域に変換して量子化した変換量子化値をコンテキストに基づいて2値算術符号化する第1の符号化手段と、
    前記画像ブロックを前記第1の符号化手段と異なる符号化手法で符号化する第2の符号化手段と、
    前記第1の符号化手段の出力する第1の出力データと、前記第2の符号化手段の出力する第2の出力データのいずれかを選択する出力データ選択手段と、
    この出力データ選択手段が前記第2の出力データを選択したときに前記変換量子化値の2値算術符号化に用いるコンテキストを優勢シンボルの生起確率を低くするように更新するコンテキスト更新手段とを具備し、
    前記コンテキスト更新手段は、劣勢シンボル生起確率のコンテキスト数を減らすように、前記変換量子化値の2値算術符号化に用いるコンテキストを更新する手段である
    ことを特徴とする映像符号化装置。
  2. 前記コンテキスト更新手段は、前記変換量子化値の2値算術符号化に用いるコンテキストの劣勢シンボル生起確率をより高い生起確率とする手段であることを特徴とする請求項1記載の映像符号化装置
  3. 前記コンテキスト更新手段は、予め定められた所定値の確率のシンボル生起確率のコンテキストを、前記変換量子化値の2値算術符号化に用いるコンテキストに上書きする手段であることを特徴とする請求項1記載の映像符号化装置
  4. 前記所定値の確率は、等確率であることを特徴とする請求項3記載の映像符号化装置
  5. 前記第1の符号化手段と異なる符号化手法は、PCM符号化又はハフマン符号化のいずれかであることを特徴とする請求項1記載の映像符号化装置
  6. 入力画像データをコンテキストに基づいて2値算術復号して変換量子化値を復号する第1の復号手段と、
    前記入力画像データを前記第1の復号手段と異なる復号手法で復号する第2の復号手段と、
    前記第1の復号手段と第2の復号手段のいずれかを前記入力画像データの復号のために選択する復号選択手段と、
    この復号選択手段が前記第2の復号手段を用いて復号することを選択したときに前記変換量子化値の2値算術復号に用いるコンテキストを優勢シンボルの生起確率を低くするように更新するコンテキスト更新手段とを具備し、
    前記コンテキスト更新手段は、劣勢シンボル生起確率のコンテキスト数を減らすように、前記変換量子化値の2値算術符号化に用いるコンテキストを更新する手段である
    ことを特徴とする映像復号装置
  7. 前記コンテキスト更新手段は、前記変換量子化値の2値算術復号に用いるコンテキストの劣勢シンボル生起確率をより高い生起確率とする手段であることを特徴とする請求項6記載の映像復号装置
  8. 前記コンテキスト更新手段は、予め定められた所定値の確率のシンボル生起確率のコンテキストを、前記変換量子化値の2値算術復号に用いるコンテキストに上書きする手段であることを特徴とする請求項6記載の映像復号装置
  9. 前記所定値の確率は、等確率であることを特徴とする請求項8記載の映像復号装置
  10. 前記第1の復号手段と異なる復号手法は、PCM復号又はハフマン復号のいずれかであることを特徴とする請求項6記載の映像復号装置
  11. 画像ブロックを周波数領域に変換して量子化した変換量子化値をコンテキストに基づいて2値算術符号化する第1の符号化ステップと、
    前記画像ブロックを前記第1の符号化ステップと異なる符号化手法で符号化する第2の符号化ステップと、
    前記第1の符号化ステップで出力する第1の出力データと、前記第2の符号化ステップで出力する第2の出力データのいずれかを選択する出力データ選択ステップと、
    この出力データ選択ステップで前記第2の出力データを選択したときに前記変換量子化値の2値算術符号化に用いるコンテキストを優勢シンボルの生起確率を低くするように更新するコンテキスト更新ステップとを具備し、
    前記コンテキスト更新ステップで、劣勢シンボル生起確率のコンテキスト数を減らすように、前記変換量子化値の2値算術符号化に用いるコンテキストを更新する
    ことを特徴とする映像符号化方法
  12. 前記第1の符号化ステップと異なる符号化手法は、PCM符号化又はハフマン符号化のいずれかの手法であることを特徴とする請求項11記載の映像符号化方法
  13. 入力画像データをコンテキストに基づいて2値算術復号して変換量子化値を復号する第1の復号ステップと、
    前記入力画像データを前記第1の復号ステップと異なる手法で復号する第2の復号ステップと、
    前記第1の復号ステップと第2の復号ステップのいずれかを前記入力画像データの復号のために選択する復号選択ステップと、
    この復号選択ステップで前記第2の復号ステップによって復号することを選択したときに前記変換量子化値の2値算術復号に用いるコンテキストを優勢シンボルの生起確率を低くするように更新するコンテキスト更新ステップとを具備し、
    前記コンテキスト更新ステップで、劣勢シンボル生起確率のコンテキスト数を減らすように、前記変換量子化値の2値算術符号化に用いるコンテキストを更新する
    ことを特徴とする映像復号方法
  14. 前記第1の復号ステップと異なる復号手法は、PCM復号又はハフマン復号のいずれかの手法であることを特徴とする請求項13記載の映像復号方法
  15. コンピュータに、
    画像ブロックを周波数領域に変換して量子化した変換量子化値をコンテキストに基づいて2値算術符号化する第1の符号化処理と、
    前記画像ブロックを前記第1の符号化処理とは異なる符号化手法で符号化する第2の符号化処理と、
    前記第1の符号化処理で出力する第1の出力データと、前記第2の符号化処理で出力する第2の出力データのいずれかを選択する出力データ選択処理と、
    この出力データ選択処理で前記第2の出力データを選択したときに前記変換量子化値の2値算術符号化に用いるコンテキストを優勢シンボルの生起確率を低くするように更新するコンテキスト更新処理とを実行させ、
    前記コンテキスト更新処理で、劣勢シンボル生起確率のコンテキスト数を減らすように、前記変換量子化値の2値算術符号化に用いるコンテキストを更新する
    ことを特徴とする映像符号化プログラム
  16. 前記第1の符号化処理と異なる符号化手法は、PCM符号化又はハフマン符号化のいずれかの手法であることを特徴とする請求項15記載の映像符号化プログラム
  17. コンピュータに、
    入力画像データをコンテキストに基づいて2値算術復号して変換量子化値を復号する第1の復号処理と、
    前記入力画像データを前記第1の復号処理と異なる復号手法で復号する第2の復号処理と、
    前記第1の復号処理と第2の復号処理のいずれかを前記入力画像データの復号のために選択する復号選択処理と、
    この復号選択処理で前記第2の復号処理を用いて復号することを選択したときに前記変換量子化値の2値算術復号に用いるコンテキストを優勢シンボルの生起確率を低くするように更新するコンテキスト更新処理とを実行させ、
    前記コンテキスト更新処理で、劣勢シンボル生起確率のコンテキスト数を減らすように、前記変換量子化値の2値算術符号化に用いるコンテキストを更新する
    ことを特徴とする映像復号プログラム
  18. 前記第1の復号処理と異なる復号手法は、PCM復号又はハフマン復号のいずれかの処理であることを特徴とする請求項17記載の映像復号プログラム
  19. 前記コンテキスト更新ステップで、前記変換量子化値の2値算術符号化に用いるコンテキストの劣勢シンボル生起確率をより高い生起確率とすることを特徴とする請求項11記載の映像符号化方法
  20. 前記コンテキスト更新ステップで、予め定められた所定値の確率のシンボル生起確率のコンテキストを、前記変換量子化値の2値算術符号化に用いるコンテキストに上書きすることを特徴とする請求項11記載の映像符号化方法
  21. 前記所定値の確率は、等確率であることを特徴とする請求項20記載の映像符号化方法
  22. 前記コンテキスト更新ステップで、前記変換量子化値の2値算術復号に用いるコンテキストの劣勢シンボル生起確率をより高い生起確率とすることを特徴とする請求項13記載の映像復号方法
  23. 前記コンテキスト更新ステップで、予め定められた所定値の確率のシンボル生起確率のコンテキストを、前記変換量子化値の2値算術復号に用いるコンテキストに上書きすることを特徴とする請求項13記載の映像復号方法
  24. 前記所定値の確率は、等確率であることを特徴とする請求項23記載の映像復号方法
  25. 前記コンテキスト更新処理で、前記変換量子化値の2値算術符号化に用いるコンテキストの劣勢シンボル生起確率をより高い生起確率とすることを特徴とする請求項15記載の映像符号化プログラム
  26. 前記コンテキスト更新処理で、予め定められた所定値の確率のシンボル生起確率のコンテキストを、前記変換量子化値の2値算術符号化に用いるコンテキストに上書きすることを特徴とする請求項15記載の映像符号化プログラム
  27. 前記所定値の確率は、等確率であることを特徴とする請求項26記載の映像符号化プログラム
  28. 前記コンテキスト更新処理で、前記変換量子化値の2値算術復号に用いるコンテキストの劣勢シンボル生起確率をより高い生起確率とすることを特徴とする請求項17記載の映像復号プログラム
  29. 前記コンテキスト更新処理で、予め定められた所定値の確率のシンボル生起確率のコンテキストを、前記変換量子化値の2値算術復号に用いるコンテキストに上書きすることを特徴とする請求項17記載の映像復号プログラム
  30. 前記所定値の確率は、等確率であることを特徴とする請求項29記載の映像復号プログラム
JP2009531295A 2007-09-06 2008-09-05 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法、映像符号化あるいは復号プログラム Expired - Fee Related JP5278827B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009531295A JP5278827B2 (ja) 2007-09-06 2008-09-05 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法、映像符号化あるいは復号プログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2007231478 2007-09-06
JP2007231478 2007-09-06
PCT/JP2008/066067 WO2009031648A1 (ja) 2007-09-06 2008-09-05 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法、映像符号化あるいは復号プログラム
JP2009531295A JP5278827B2 (ja) 2007-09-06 2008-09-05 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法、映像符号化あるいは復号プログラム

Publications (2)

Publication Number Publication Date
JPWO2009031648A1 JPWO2009031648A1 (ja) 2010-12-16
JP5278827B2 true JP5278827B2 (ja) 2013-09-04

Family

ID=40428960

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009531295A Expired - Fee Related JP5278827B2 (ja) 2007-09-06 2008-09-05 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法、映像符号化あるいは復号プログラム

Country Status (6)

Country Link
US (1) US9521433B2 (ja)
EP (1) EP2197215A4 (ja)
JP (1) JP5278827B2 (ja)
KR (1) KR101148614B1 (ja)
CN (1) CN101933331B (ja)
WO (1) WO2009031648A1 (ja)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4915350B2 (ja) * 2008-01-16 2012-04-11 日本電気株式会社 エントロピ符号化器、映像符号化装置、映像符号化方法および映像符号化プログラム
JP4994515B2 (ja) * 2009-06-19 2012-08-08 三菱電機株式会社 算術符号化装置、算術復号装置
BR122022001405B1 (pt) * 2010-07-13 2023-01-10 Nec Corporation Dispositivo de decodificação de vídeo e método de decodificação de vídeo
US9497472B2 (en) * 2010-11-16 2016-11-15 Qualcomm Incorporated Parallel context calculation in video coding
KR101616667B1 (ko) 2010-11-26 2016-04-28 닛본 덴끼 가부시끼가이샤 영상 복호 장치, 영상 복호 방법 및 기록 매체
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
US9049444B2 (en) 2010-12-22 2015-06-02 Qualcomm Incorporated Mode dependent scanning of coefficients of a block of video data
JP5850214B2 (ja) 2011-01-11 2016-02-03 ソニー株式会社 画像処理装置および方法、プログラム、並びに記録媒体
SG188199A1 (en) 2011-02-22 2013-04-30 Panasonic Corp Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
JP5342069B2 (ja) 2011-02-22 2013-11-13 パナソニック株式会社 フィルタ方法、画像符号化方法、画像処理システム及び画像符号化装置
UA109312C2 (uk) 2011-03-04 2015-08-10 Імпульсно-кодова модуляція з квантуванням при кодуванні відеоінформації
WO2012134246A2 (ko) 2011-04-01 2012-10-04 엘지전자 주식회사 엔트로피 디코딩 방법 및 이를 이용하는 디코딩 장치
EP3324633B1 (en) * 2011-06-28 2018-12-12 NEC Corporation Decoding a video quantization parameter
PT2884749T (pt) * 2011-06-28 2018-01-18 Samsung Electronics Co Ltd Aparelho para descodificar vídeo acompanhado com descodificação aritmética e sinalização do último coeficiente significativo de duas dimensões
CN107197261B (zh) 2011-07-19 2018-12-04 太格文-Ii有限责任公司 编码方法以及编码装置
WO2013066051A1 (ko) * 2011-10-31 2013-05-10 삼성전자 주식회사 변환 계수 레벨의 엔트로피 부호화 및 복호화를 위한 컨텍스트 모델 결정 방법 및 장치
JP5949778B2 (ja) * 2011-11-01 2016-07-13 日本電気株式会社 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法およびプログラム
US9237358B2 (en) 2011-11-08 2016-01-12 Qualcomm Incorporated Context reduction for context adaptive binary arithmetic coding
CN108769691B (zh) * 2011-12-28 2022-05-31 夏普株式会社 图像解码装置、图像解码方法以及图像编码装置
US9191670B2 (en) 2012-01-17 2015-11-17 Qualcomm Incorporated Throughput improvement for CABAC coefficient level coding
TWI597969B (zh) 2012-01-30 2017-09-01 三星電子股份有限公司 視訊解碼裝置
EP2869561A4 (en) * 2012-06-26 2016-02-17 Nec Corp VIDEO ENCODING DEVICE, VIDEO DECODING DEVICE, VIDEO ENCODING METHOD, VIDEO DECODING METHOD, AND PROGRAM
US9749636B2 (en) * 2014-10-24 2017-08-29 Intel Corporation Dynamic on screen display using a compressed video stream
US10368072B2 (en) * 2015-05-29 2019-07-30 Qualcomm Incorporated Advanced arithmetic coder
EP3629581A1 (en) * 2015-10-13 2020-04-01 Samsung Electronics Co., Ltd. Method and device for encoding or decoding image
CN108184118A (zh) * 2016-12-08 2018-06-19 中兴通讯股份有限公司 云桌面内容编码与解码方法及装置、系统
US11265561B2 (en) 2017-01-06 2022-03-01 Mediatek Inc. Method and apparatus for range derivation in context adaptive binary arithmetic coding
JP6332502B2 (ja) * 2017-03-03 2018-05-30 ソニー株式会社 画像処理装置および方法、プログラム、並びに記録媒体
JP6299901B2 (ja) * 2017-03-03 2018-03-28 ソニー株式会社 画像処理装置および方法、プログラム、並びに記録媒体
US10554988B2 (en) * 2017-03-22 2020-02-04 Qualcomm Incorporated Binary arithmetic coding with parameterized probability estimation finite state machines
CN110915213B (zh) 2017-07-14 2021-11-02 联发科技股份有限公司 编解码符号的熵编解码的方法与装置
CN107930112B (zh) * 2017-11-15 2021-06-08 杭州电魂网络科技股份有限公司 游戏数据传输方法及装置
CN117857796A (zh) * 2018-09-11 2024-04-09 夏普株式会社 用于对变换系数位阶值进行编码的系统和方法
CN111314778B (zh) * 2020-03-02 2021-09-07 北京小鸟科技股份有限公司 基于多种压缩制式的编解码融合处理方法、系统及装置
CN118741158A (zh) * 2024-06-14 2024-10-01 联通沃音乐文化有限公司 在h.264编码环境下的视频无损压缩方法、设备和介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004135251A (ja) * 2002-10-10 2004-04-30 Sony Corp 画像情報符号化方法及び画像情報復号方法
WO2007043609A1 (ja) * 2005-10-14 2007-04-19 Nec Corporation 画像符号化方法及び、これを用いた装置とコンピュータプログラム
US20070194953A1 (en) * 2006-02-22 2007-08-23 Samsung Electronics Co., Ltd. Method and apparatus for CABAC-based encoding having high compression ratio using improved context model selection and method and apparatus for CABAC-based decoding

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1225126C (zh) * 2002-10-09 2005-10-26 中国科学院计算技术研究所 用于视频编码的新型空间预测方法及其装置
JP4241417B2 (ja) * 2004-02-04 2009-03-18 日本ビクター株式会社 算術復号化装置、および算術復号化プログラム
KR20070006445A (ko) 2005-07-08 2007-01-11 삼성전자주식회사 하이브리드 엔트로피 부호화, 복호화 방법 및 장치
WO2007027402A2 (en) 2005-08-31 2007-03-08 Micronas Usa, Inc. Multi-stage cabac decoding pipeline
JP4959206B2 (ja) 2006-03-02 2012-06-20 イビデン株式会社 耐熱シートおよび排気ガス浄化装置
US8422552B2 (en) * 2007-03-29 2013-04-16 James Au Entropy coding for video processing applications

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004135251A (ja) * 2002-10-10 2004-04-30 Sony Corp 画像情報符号化方法及び画像情報復号方法
WO2007043609A1 (ja) * 2005-10-14 2007-04-19 Nec Corporation 画像符号化方法及び、これを用いた装置とコンピュータプログラム
US20070194953A1 (en) * 2006-02-22 2007-08-23 Samsung Electronics Co., Ltd. Method and apparatus for CABAC-based encoding having high compression ratio using improved context model selection and method and apparatus for CABAC-based decoding

Also Published As

Publication number Publication date
KR101148614B1 (ko) 2012-05-25
US20100177820A1 (en) 2010-07-15
KR20100058624A (ko) 2010-06-03
CN101933331B (zh) 2014-04-09
EP2197215A4 (en) 2011-03-23
CN101933331A (zh) 2010-12-29
JPWO2009031648A1 (ja) 2010-12-16
US9521433B2 (en) 2016-12-13
EP2197215A1 (en) 2010-06-16
WO2009031648A1 (ja) 2009-03-12

Similar Documents

Publication Publication Date Title
JP5278827B2 (ja) 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法、映像符号化あるいは復号プログラム
KR101802957B1 (ko) 영상 부호화/복호화 방법 및 장치
JP5869642B2 (ja) ブロック変換ベースの符号化システムで用いられる方法
US8351500B2 (en) Entropy encoder, video coding apparatus, video coding method and video coding program
JP4491349B2 (ja) ビデオ・データのイントラ符号化方法及び装置
US20080084932A1 (en) Controlling loop filtering for interlaced video frames
JPWO2008142956A1 (ja) 映像符号化装置、映像符号化方法および映像符号化プログラム
WO2004039083A1 (ja) 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、画像符号化プログラム及び画像復号プログラム
CN106973295B (zh) 视频编码方法/装置以及视频解码方法/装置
JP7221390B2 (ja) ビデオ復号及び符号化の方法、装置並びにプログラム
WO2014106878A1 (ja) 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法およびプログラム
CN113994680B (zh) 用于图片的子部分的独立cabac
TW202139697A (zh) 量化相關參數之傳訊技術
KR20010110629A (ko) 동화상 정보의 압축 방법 및 그 시스템
KR20180075466A (ko) 영상 변환 부호화/복호화 방법 및 장치
KR20010078393A (ko) 스케일 가능한 코딩방법
US12418665B2 (en) Decoding device, program, and decoding method using chroma residual scaling
KR20010110053A (ko) 동화상 정보의 압축 방법 및 그 시스템
JP4994515B2 (ja) 算術符号化装置、算術復号装置
CN114342383B (zh) 编码装置、解码装置及程序
JP6179606B2 (ja) 映像符号化装置、映像符号化方法及び映像符号化プログラム
JP2002058032A (ja) 画像符号化装置および方法、画像復号装置および方法、ならびに画像処理装置
JP2022548685A (ja) 画像データの符号化及び復号化
JP2008252931A (ja) 復号装置及び方法、符号化装置及び方法、画像処理システム、画像処理方法
JPH05344489A (ja) 符号化装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110804

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121031

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130131

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: 20130426

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130509

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5278827

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees