JPWO2008142956A1 - 映像符号化装置、映像符号化方法および映像符号化プログラム - Google Patents

映像符号化装置、映像符号化方法および映像符号化プログラム Download PDF

Info

Publication number
JPWO2008142956A1
JPWO2008142956A1 JP2009515119A JP2009515119A JPWO2008142956A1 JP WO2008142956 A1 JPWO2008142956 A1 JP WO2008142956A1 JP 2009515119 A JP2009515119 A JP 2009515119A JP 2009515119 A JP2009515119 A JP 2009515119A JP WO2008142956 A1 JPWO2008142956 A1 JP WO2008142956A1
Authority
JP
Japan
Prior art keywords
encoding
picture
encoder
coding
code data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2009515119A
Other languages
English (en)
Inventor
慶一 蝶野
慶一 蝶野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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
Publication of JPWO2008142956A1 publication Critical patent/JPWO2008142956A1/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4006Conversion to or from arithmetic code
    • 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/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • 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]
    • 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
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • 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/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • 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/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

画質劣化の程度が小さく、ピクチャよりも細かい単位での符号量制御が可能であり、ピクチャの符号化完了時間を一定時間に保証できるようにする。シンボル数推定器208は、ピクチャを構成する複数マクロブロックのビン総数209を推定する。ビン数209は、エントロピ符号化選択器210は、入力されたビン数209を利用してエントロピ符号化モード選択信号232をエントロピ符号化器215に出力してCABAC器またはVLC器を選択させる。CPU271はプログラム格納部272に格納された制御プログラムを実行することで映像符号化を行う。

Description

本発明は、映像符号化技術を使用する映像符号化装置、映像符号化方法および映像符号化プログラムに係わり、特にエントロピ符号化の方式を選択するようにした映像符号化装置、映像符号化方法および映像符号化プログラムに関する。
映像符号化装置は、外部から入力される映像データを、所定の映像符号化方式に準拠した符号化処理を行い、ビットストリームを生成するようになっている。この符号化処理に使用される映像符号化方式として、H.264/AVCが存在している(たとえは非特許文献1参照)。これは、MPEG(Moving Picture Experts Group)−4規格書パート10によるもので、その符号化参照モデルとしてジョイントモデル(Joint Model)方式が知られている。以後、ジョイントモデル方式に基づいた本発明に関連する映像符号化装置を、関連技術の映像符号化装置と呼ぶ。
図9は、この関連技術の映像符号化装置の構成を示したものである。関連技術の映像符号化装置100は、圧縮対象となる映像データ101を構成する画像フレームを順次格納する画像フレームバッファ102を備えている。この画像フレームバッファ102からは、所定のサイズの画像領域単位に区切られたマクロブロック(Macro Block)を単位として映像データ103が出力されて、マクロブロック符号化器104に入力され、このマクロブロック単位で符号化が行われるようになっている。マクロブロック符号化器104には、符号量制御器105と、復号ピクチャバッファ106が接続されている。マクロブロック符号化器104からは符号化されたビットストリーム107が出力されるようになっている。なお、マクロブロックおよびピクチャの定義については後に説明する。
このような映像符号化装置100のマクロブロック符号化器104は、映像データ103を入力するマクロブロックバッファ111と、これに接続された予測器112と、この予測器112の出力でマクロブロックバッファ111の出力を引き算する演算器113と、この演算器113の演算結果を符号量制御器105の下で変換して量子化する変換・量子化器114と、この変換・量子化器114の出力側に設けられたエントロピ符号化器115および逆量子化・逆変換器116と、逆量子化・逆変換器116の出力側に設けられた加算器117とによって構成されている。
この映像符号化装置100に入力される映像データ101の映像信号フォーマットがQCIF(Quarter Common Intermediate Format)であるものとする。QCIFは、ITU(International Telecommunication Union:国際電気通信連合)の定めた映像信号フォーマットの1つである。
図10は、このQCIFの映像フォーマットの画像フレームを表わしたものである。QCIFの画像フレームは、横176個、縦144個のマクロブロックからなる。1枚の画像フレームは、順走査の場合に1枚のフレームピクチャで構成される。また、飛び越し走査の場合は2枚のフィールドピクチャで構成される。以後の説明では、これらを単純に「ピクチャ」と呼ぶことにする。
ピクチャを構成する単位としてのマクロブロックは、それぞれ16×16画素の輝度画素と、8×8画素のCr(色差信号)とCb(色差信号)の色差画素で構成されている。図では、16×16画素のマクロブロックを16分割した場合の4×4の画素ブロックについて輝度位置(x)と色差位置(o)を画素単位で表わしている。
図9に示したマクロブロック符号化器104は、映像データ103をマクロブロックを単位として符号化する。このとき、テレビジョンのラスタスキャンと同様にピクチャの左上から右下方向にラスタスキャンで順に符号化が行われることになる。
まず、マクロブロック符号化器104のマクロブロックバッファ111は、符号化対象の映像データをマクロブロック単位で読み込んで、一時的に蓄積し、これを後段の変換・量子化器114に供給する。このとき、演算器113はマクロブロックバッファ111から読み出されたマクロブロックの画像121から、予測器112の出力する予測画像122を減算する演算を行い、その演算結果としての予測誤差画像123を変換・量子化器114に供給する。
ところで、予測誤差画像123には、フレーム間予測に基づいて生成された予測画像と、フレーム内予測に基づいて生成された予測画像の2種類がある。このうちフレーム間予測は、画像フレーム同士の相関を利用して、現在の符号化対象画像フレームと表示時刻が異なる過去に符号化されて再構築された画像フレームの画像を利用して予測画像を生成するものである。また、フレーム内予測は、画像フレーム内の相関を利用して、現在の符号化対象画像フレームと表示時刻が同一の過去に再構築された画像フレームの画像を利用して予測画像を生成するものである。
以後、フレーム内予測のみで符号化できるマクロブロックの集合(スライス)をIスライスと呼ぶ。また、フレーム内予測とフレーム間予測を利用して符号化できるスライスをPスライスと呼ぶ。更に、1枚の画像フレームの画像だけでなく、2枚の画像フレームの画像を同時に利用できるフレーム間予測を利用して符号化できるスライスをBスライスと呼ぶ。
また、Iスライスだけを用いて符号化できるピクチャをIピクチャと呼び、IスライスだけでなくPスライスを用いて符号化できるピクチャをPピクチャと呼ぶ。更に、Bスライスも用いて符号化できるピクチャをBピクチャと呼ぶことにする。
変換・量子化器114は、予測誤差画像123をマクロブロックよりも細かいブロックの単位で周波数変換する。そして、予測誤差画像123を空間領域から周波数領域に変換する。AVC(Advanced Video Coding)規格では、8×8ブロック、もしくは、4×4ブロックの単位での周波数変換が輝度画素に対して利用できる。以後、周波数領域に変換された予測誤差画像を変換係数と呼ぶ。この変換係数は、符号量制御器105から供給される量子化パラメータ125に基づいて量子化されて、符号データ126としてエントロピ符号化器115に供給される。本明細書では、この量子化された変換係数を量子化値と呼ぶことにする。
符号データ126は、逆量子化・逆変換器116にも供給される。逆量子化・逆変換器116は、変換・量子化器114から供給される前記した量子化値を逆量子化し、更に、逆周波数変換して元の空間領域に戻す。そして、空間領域に戻した予測誤差画像に対して、加算器117で予測器112から供給される予測画像122を加えて復号画像128を得る。この復号画像128は、以後の符号化のために、復号ピクチャバッファ106に格納される。
エントロピ符号化器115は、入力される符号データ126をエントロピ符号化して、ビットストリーム107を出力する。ここで、エントロピ符号化とは、データの生起確率の高低に応じて異なる長さの符号を割り当てることで圧縮を行うものである。本発明は、エントロピ符号化器115に密に関わるので、後にその詳細を説明する。
予測器112は、予測画像の生成パラメータを、符号データ129としてエントロピ符号化器115に供給する。ここで予測画像の生成パラメータとしては、たとえば、フレーム間予測やフレーム内予測などの種類示す予測モード、フレーム間予測に用いた復号フレームのインデックス、フレーム間予測に用いた動きベクトル、フレーム内予測に用いたフレーム内予測方向を挙げることができる。
復号ピクチャバッファ106は、先に説明したように逆量子化・逆変換器116から供給される復号画像128を格納する。そして、復号画像128によって再構成される復号画像ピクチャ(以後、単純に復号ピクチャと呼ぶ)を管理する。
符号量制御器105は、ピクチャを目標のビット数で符号化するために、エントロピ符号化器115が出力するビットストリーム131を監視する。そして、出力されるビットストリーム131のビット数が目標のビット数よりも多ければ、量子化パラメータ125として、量子化ステップサイズを大とするパラメータを出力する。これとは逆に、エントロピ符号化器115が出力するビットストリーム131のビット数が目標のビット数よりも少なければ、量子化パラメータ125として、量子化ステップサイズを小とするパラメータを出力する。
エントロピ符号化器115は、エントロピ符号化モード選択信号132によるエントロピ符号化として、後に詳しく説明するCABAC(Context-based Adaptive Binary Arithmetic Coding)を用いる場合、後に説明する算術符号化器に入力されるシンボル数(ビン数)も監視する。そして、ビット数とビン数の比率が前記したAVC規格の定める比率を満たすように、量子化パラメータを調整することになる。
図11は、このエントロピ符号化器の構成を具体的に表わしたものである。エントロピ符号化器115は、図9に示した変換・量子化器114から出力される符号データ126を入力する第1のセレクタ141と、この第1のセレクタ141の一方の出力側に入力側を接続されたCABAC器142と、他方の出力側に入力側を接続されたVLC(Variable Length Coding)器143と、これら2種類のコーディングのためのデバイスとしてのCABAC器142およびVLC器143の出力を択一的に入力する第2のセレクタ144を備えている。
エントロピ符号化器115には、エントロピ符号化モード選択信号132が第1のセレクタ141と第2のセレクタ144にこれらの切替制御ために与えられるようになっている。エントロピ符号化モード選択信号132は、CABAC器142とVLC器143のいずれかを選択させるための信号である。これにより、AVC(Advanced Video Coding)規格では、マクロブロックの符号データ126に対して、ピクチャ単位でCABAC器142によるコーディングもしくはVLC器143によるコーディングのいずれかを選択してエントロピ符号化を行うことができる。
図11に示したエントロピ符号化器115で、CABAC器142は第1のセレクタ141から出力される符号データ1261を入力してビットストリーム1071を第2のセレクタ144に出力する。CABAC器142からはビン数を表わしたビン数データ145も出力される。CABAC器142の具体的な構成は後に説明する。
VLC器143は、第1のセレクタ141から出力される符号データ1262を入力してビットストリーム1072を第2のセレクタ144に出力する。VLC器143の具体的な構成は後に説明する。第2のセレクタ144からはビットストリーム107と共にビット数を表わしたビット数データ146も出力されることになる。
ところで、CABAC器142は、VLC器143よりも高い符号化効率を達成する。しかしながら、CABAC器142はその符号化・復号化の処理量がVLC器143よりも多い。このため、通常では、複雑な処理をサポートする上位プロファイル(たとえばHigh(ハイ)プロファイルやMain(メイン)プロファイル。)でCABAC器142を使う。また、複雑な処理をサポートしない下位プロファイル(たとえば、ベースライン(Base−line)プロファイル。)ではVLC器143を用いる。ただし、マクロブロックレイヤよりも上位レイヤの符号データについては、ビットストリームを占める符号データ量が相対的に少ないので、各プロファイルで互換性を持つことを優先してVLC器143が用いられる。
図12は、CABAC器の構成を具体的に表わしたものである。CABAC器142は、図11に示した第1のセレクタ141を経た符号データ1261を入力して2値化する2値化器151と、2値化器151から出力される2進列データ152をスイッチングするスイッチ153を備えている。スイッチ153から出力される2進列のシンボルとしてのビン155は、算術符号化器156およびコンテキスト計算器157に供給されるようになっている。
このうち、2値化器151はAVC規格で定められた手順に従って入力される符号データ1261を2進列変換して、2進列データ152として出力するようになっている。算術符号化器156は、コンテキスト計算器157から供給される優勢シンボル158とステート番号159を利用して、スイッチ153から逐次供給される2進列のビン155を2値算術符号化する。更に、逐次、更新した優勢シンボル158とステート番号159をコンテキスト計算器157に供給する。ここで、ステート番号159とは、AVC規格の定めた劣勢シンボルの発生確率に対応する値を格納したテーブルの番号である。
コンテキスト計算器157は、スイッチ153から逐次供給されるシンボルとしてのビン155に対応する、格納された優勢シンボル158とステート番号159を算術符号化器156に供給する。また、算術符号化器156の2値算術符号化によって更新された優勢シンボル158とステート番号159を格納するようになっている。
スイッチ153からはCABAC器142の外部にビン数データ145が出力される。また、算術符号化器156からはCABAC器142の外部にビットストリーム1071が出力される。ビットストリーム1071は、図11に示したようにVLC器143から出力されるビットストリーム1072と並列に第2のセレクタ144に供給されることになる。
図13は、VLC器の構成を具体的に表わしたものである。VLC器143は、図11に示した第1のセレクタ141を経た符号データ1262を入力する可変長符号化器161およびテーブル選択器162を備えている。
このうち可変長符号化器161は、テーブル選択器162で指定されるテーブル163に従って、符号データ1262を可変長符号化してビットストリーム1072を出力する。テーブル選択器162は、予測モード、量子化値等の符号データ1262の種類に応じた、可変長符号化テーブル(図示せず)を備えている。そして、可変長符号化テーブルの中から選択したテーブル163を可変長符号化器161に供給するようになっている。
以上説明したような本発明に関連する映像符号化装置100(図9)によれば、エントロピ符号化にVLC器143(図11)を利用する場合、入力される符号データ量によって、この映像符号化装置100のピクチャの符号化完了時間が決定する。
一方、エントロピ符号化のためのブロックに図12に示したCABAC器142を利用する場合、算術符号化器156へ入力されるビン155の数によって、映像符号化装置100のピクチャの符号化完了時間を決定するようにする。なお、CABAC器142以外の他のブロックを使用した場合には、入力データ量が有限であるため、処理時間が一定以内に必ず収まる。
H.264/AVC規格では、復号側でのピクチャ当たりのエントロピ復号化処理量を制限するために、次の2点を符号化側への制約としている。
(a)ピクチャのビット数をH.264/AVC規格の定める値以下となるように符号化制御すること。
(b)ピクチャのビット数とビン数の比率がH.264/AVC規格の定める値以下となるように符号化制御すること。
図13に示したVLC器143は、符号データ1262の単位で処理が可能であり、図12に示したCABAC器142よりも処理が単純である。このため、その処理が一定時間以内に必ず収まるものと仮定すると、映像符号化装置100を、ピクチャのビン数がその処理時間における算術符号化器156の最大処理ビン数を超えないように、符号化制御する必要がある。
その具体的な符号化制御方法としては、次のような方法がある。
(i)ビン数が多いピクチャについては、マクロブロックの入力画像をそのままビットストリーム出力するようにした、PCM(Pulse-Code Modulation)モードを利用して符号化する方法(特許文献1、非特許文献2)。
(ii)ピクチャの符号データに対してCABAC器142とVLC器143を並列に動作させる。そして、CABAC器142の処理が所定の時間内に終わった場合には、このCABAC器142の符号化出力を選択して符号化する。それ以外の場合にはVLC器143の符号化出力を選択して符号化するとする方法(非特許文献3)。
特開2004−135251号公報(第0121段落〜第0124段落、図1) ISO/IEC 14496−10 Advanced Video Coding 蝶野ら、"ローカル復号画像を用いたH.264 MB上限ビット遵守PCM符号化方法," 画像符号化シンポジウム、P5-17、2006年11月 岡本ら、"高解像度用H.264/AVCにおけるエントロピ符号化手法," 電子情報通信学会総合大会、D−11−2、2007年3月
このうちの前者のPCMモードを利用する方法は、1つのマクロブロックのビン数を制約する用途において有効である。しかしながら、ピクチャのビン数を制約する用途(すなわち、多数のマクロブロックのビン数を制約する用途)では、画質劣化の課題がある。なぜならば、PCMモードは出力ビット数が大きいために、ピクチャ内で多用すると前記した(i)の方法を実現するために、PCMモードを多用した後に符号化されるマクロブロックが粗量子化されるからである。
一方、後者の方法としてのCABAC器142とVLC器143を並列に動作させた後に、その符号化出力を選択する方法では、事後選択となる。このため、ピクチャよりも細かい単位での符号量制御ができない、といった映像符号化装置100としての致命的な問題がある。なぜならば、その選択した符号化出力が分かるまで、エントロピ符号化器115に入力された符号データ126に対するビット数が分からないからである。
なお、特許文献1においても、画像を符号化した符号データのビン数が所定量よりも多い場合、前記した画像を異なる符号化パラメータ(例えば、異なる量子化パラメータ)で、(そのビン数が所定量よりも少なくなるように)別途符号化した符号データのビットストリームを代わりに出力する方法を提案している。しかしながら、この方法も事後選択となるため、前記した致命的な問題が同様に存在する。
本発明は、以上説明したような実状に鑑みたものであり、画質劣化の程度が小さく、かつ、ピクチャよりも細かい単位での符号量制御が可能であり、ピクチャの符号化完了時間を一定時間に保証できる映像符号化装置、映像符号化方法および映像符号化プログラムを提供することにある。
本発明では、(イ)画像ブロックを変換量子化して符号データを生成する符号データ生成手段と、(ロ)符号データを可変長符号化する可変長符号化手段と、(ハ)符号データを2値シンボルに変換し2値算術符号化する算術符号化手段と、(ニ)複数画像ブロックから生成される符号データを2値シンボルに変換した2値シンボルの総数を推定する2値シンボル数推定手段と、(ホ)2値シンボル数推定手段の推定した総数に応じて、可変長符号化手段と算術符号化手段のいずれか一方を符号データの符号化用に選択する符号化選択手段とを映像符号化装置に具備させる。
すなわち本発明では、符号化対象とするピクチャの画像のビン数を推定し、推定されたビン数および可変長符号化手段と算術符号化手段の圧縮比率を利用してピクチャのエントロピ符号化とピクチャの目標ビット数(割当ピクチャレート)を制御することで、前記した目的を達成している。
また本発明では、(イ)画像ブロックを変換量子化して符号データを生成する符号データ生成プロセスと、(ロ)複数画像ブロックから生成される符号データを2値シンボルに変換した2値シンボルの総数を推定する2値シンボル数推定プロセスと、(ハ)2値シンボル数推定プロセスで推定した総数に応じて、符号データの符号化用の手法を、符号データを可変長符号化する可変長符号化と、符号データを2値シンボルに変換し2値算術符号化する算術符号化から選択する符号化選択プロセスとを映像符号化方法に具備させる。
すなわち本発明では、前記した映像符号化装置と同様の技術思想をプロセスの推移として表わしている。
また本発明では、映像符号化プログラムとして、(イ)画像ブロックを変換量子化して符号データを生成する符号データ生成処理と、(ロ)複数画像ブロックから生成される符号データを2値シンボルに変換した2値シンボルの総数を推定する2値シンボル数推定処理と、(ハ)2値シンボル数推定処理で推定した総数に応じて、符号データの符号化用の手法を、符号データを可変長符号化する可変長符号化と、符号データを2値シンボルに変換し2値算術符号化する算術符号化から選択する符号化選択処理とをコンピュータに実行させることを特徴としている。
すなわち本発明では、前記した映像符号化装置と同様の技術思想を、コンピュータの実行するプログラムとして表わしている。
以上説明したように本発明は、符号データを可変長符号化する可変長符号化処理と、符号データを2値シンボルに変換し2値算術符号化する算術符号化処理を2値シンボル数推定処理で推定した総数に応じて選択することにした。これにより、画質劣化が小さく、なおかつ、符号量制御が可能で、ピクチャの符号化完了時間を一定時間に保証することができる。
本発明の第1の実施例における映像符号化装置の構成を表わしたブロック図である。 第1の実施例でピクチャの符号化の開始から終了までの映像符号化装置の動作を示した流れ図である。 本発明の第2の実施例における映像符号化装置の構成を表わしたブロック図である。 第2の実施例でピクチャの仮符号化に関する映像符号化装置の動作を示した流れ図である。 第2の実施例でピクチャ本符号化に関する映像符号化装置の動作を示した流れ図である。 本発明の第3の実施例における映像符号化装置の構成を表わしたブロック図である。 第3の実施例でピクチャの仮符号化に関する映像符号化装置の動作を示した流れ図である。 第3の実施例でピクチャの本符号化に関する映像符号化装置の動作を示した流れ図である。 本発明の関連技術の映像符号化装置の構成を示したブロック図である。 QCIFの映像フォーマットの画像フレームを表わした説明図である。 図9におけるエントロピ符号化器の構成を具体的に表わしたブロック図である。 図11におけるCABAC器の構成を具体的に表わしたブロック図である。 図11におけるVLC器の構成を具体的に表わしたブロック図である。
符号の説明
142(242) CABAC器
143(243) VLC器
200、400、600 映像符号化装置
202 マクロブロックバッファ
204 マクロブロック符号化器
205、422 符号量制御器
208、424、608 シンボル数推定器
209 ビン数
210、425、609 エントロピ符号化選択器
212 予測器
214 変換・量子化器
215 エントロピ符号化器
232 エントロピ符号化モード選択信号
271、431、671 CPU
272、432、672 プログラム格納部
404 仮符号化器
405 本符号化器
604 仮並列符号化器
605 本並列符号化器
611 仮マクロブロック符号化器
621 本マクロブロック符号化器
以下実施例につき本発明を詳細に説明する。
図1は、本発明の第1の実施例における映像符号化装置の構成を表わしたものである。第1の実施例の映像符号化装置200は、圧縮対象となる映像データ201の画像フレームを順次格納する画像フレームバッファ202を備えている。この画像フレームバッファ202からは、本発明の関連技術の映像符号化装置100(図9)において説明したマクロブロック単位で映像データ203が出力される。この映像データ203は、マクロブロック符号化器204に入力されて、マクロブロック単位で符号化が行われるようになっている。マクロブロック符号化器204には、符号量制御器205と、復号ピクチャバッファ206が接続されている。
画像フレームバッファ202には、符号化対象ピクチャのマクロブロックのビン数、すなわちピクチャを構成する複数マクロブロックのビン総数を推定するシンボル数推定器208が接続されている。シンボル数推定器208は、画像フレームバッファ202に格納された符号化対象ピクチャの画像と、符号量制御器205における符号化対象ピクチャに対する割当ピクチャレートを読み出して、前記した推定を行うようになっている。
シンボル数推定器208により推定された符号化対象ピクチャのマクロブロックのビン数209は、エントロピ符号化選択器210に入力される。エントロピ符号化選択器210は、入力されたビン数209を利用してエントロピ符号化モードを選択するためのエントロピ符号化モード選択信号232を出力するようになっている。
マクロブロック符号化器204は、図9に示したマクロブロック符号化器104と対応する形で、映像データ203を入力するマクロブロックバッファ211と、これに接続された予測器212と、この予測器212の出力でマクロブロックバッファ211の出力を引き算する演算器213と、この演算器213の演算結果を符号量制御器205の下で変換して量子化する変換・量子化器214と、この変換・量子化器214の出力側に設けられたエントロピ符号化器215および逆量子化・逆変換器216および逆量子化・逆変換器216の出力側に設けられた加算器217によって構成されている。このマクロブロック符号化器204からは符号化されたビットストリーム207が出力されるようになっている。
本実施例の映像符号化装置200は、CPU(Central Processing Unit)271と、このCPU271の実行する制御プログラムを格納したハードディスク、光ディスク等のプログラム格納部272と、CPU271がプログラム格納部272に格納された制御プログラムを実行するときに一時的に各種のデータを格納する半導体メモリ等の作業用メモリ273を備えている。図1に示した各種の装置構成部品の少なくとも一部は、CPU271がプログラム格納部272に格納された制御プログラムを実行することによってソフトウェア的に実現する機能部品で構成することができる。
以上のような構成の第1の実施例の映像符号化装置200で符号量制御器205は、エントロピ符号化選択器210が設定するエントロピ符号化モード選択信号232の指定内容に応じて割当ピクチャレートを設定するようになっている。このため、図9に示した符号量制御器105と動作が異なる。すなわち、図9に示した符号量制御器105ではマニュアルによる設定が行われ、通常はプロファイルに従って、図11におけるCABAC器142あるいはVLC器143に対応するCABAC器242あるいはVLC器243の一方を固定的に選択するようになっている。
本発明の第1の実施例のマクロブロック符号化器204は、マクロブロックバッファ211やエントロピ符号化器215等の構成部品が図9に示したマクロブロック符号化器204と実質的に同一である。したがって、これらの構成部品については、図11〜図13をそのまま適用する。また、本実施例では、これらの図の構成部品を表わす数字の100の位の「1」を「2」に置き換えて説明を行う。
ところで、本実施例の映像符号化装置200は、ピクチャの符号化開始に際して、シンボル数推定器208とエントロピ符号化選択器210を動作させてエントロピ符号化モード選択信号232の信号内容を決定する。エントロピ符号化モード選択信号232の信号内容の決定後で、かつ、符号化対象ピクチャ内のマクロブロックの符号化開始前に、本実施例の映像符号化装置200は、符号量制御器205を動作させて、割当ピクチャレートを更新する。割当ピクチャレートの更新後、映像符号化装置200は、マクロブロック符号化器204を動作させて、符号化対象ピクチャ内のマクロブロックを逐次符号化する。そして、ピクチャ内のすべてのマクロブロックを符号化した後、映像符号化装置200は、所定の処理を行い、次のピクチャの符号化に移るようになっている。
図2は、ピクチャの符号化の開始から終了までの本実施例の映像符号化装置の動作を示したものである。図1および図9〜図13と共に説明を行う。
本実施例の映像符号化装置200は、ピクチャの符号化が開始すると、まずシンボル数推定器208を使用してシンボル数推定処理を行う(ステップS301)。図示しない映像データ供給源から映像データ201が送られてくるピクチャ符号化開始に際して、画像フレームバッファ202に格納された符号化対象ピクチャの輝度画素データをsrc[y][x](ただし0≦x≦width−1、0≦y≦height−1)とする。
ここで、「x」はピクチャ内の画素の水平位置であり、「y」はピクチャ内の画素の垂直位置である。また、「width」はピクチャの水平画素数であり、「height」はピクチャの垂直画素数であるとする。
ステップS301のシンボル数推定処理で、シンボル数推定器208は、輝度画素データsrc[y][x]からビン数を推定する。このために、この輝度画素データsrc[y][x]を用いてマクロブロックごとのアクテビティmb_act[i]を次の(1)式で計算する。
Figure 2008142956
ただし、この(1)式中の「ave[i]」は、次の(2)式で表わされる。(1)式から明らかなように、アクティビディはマクロブロックの画素値のばらつきである。よって、アクティビディの代わりに、マクロブロックの画素値の標準偏差あるいは分散を利用することも考えられる。
Figure 2008142956
これら(1)式および(2)式中で、「i」はピクチャ内のラスタスキャン順でのマクロブロックアドレスである。また、「mbx(i)」はマクロブロックアドレスiに対応するマクロブロックのピクチャ内での水平位置であり、「mby(i)」はマクロブロックアドレスiに対応するマクロブロックのピクチャ内での垂直位置である。
ステップS301のシンボル数推定処理では、続いて、マクロブロックごとのアクテビティ「mb_act[i]」を用いて、符号化対象ピクチャの推定ビン数複雑度epic_bin_xを、次の(3)式で計算する。
epic_bin_x=α×pic_act+β ……(3)
ここで、「pic_act」は、次の(4)式で表わされる。
Figure 2008142956
これら(3)式および(4)式で、「α」と「β」は、アクテビティに対するIピクチャビン数複雑度の回帰直線の傾きと切片をそれぞれ表わしている。また、「pic_mb_sizes」は、ピクチャが含むマクロブロックの個数(c=(width*height)/256))である。ここでIピクチャビン数複雑度pic_bin_xとは、符号化対象ピクチャをIピクチャとして符号化した際の、ピクチャのビン数pic_binとそのマクロブロックの平均量子化ステップサイズpic_qsの積(pic_bin_x=pic_bin*pic_qs)である。
ステップS301のシンボル数推定処理の最後では、符号化対象ピクチャの推定ビン数複雑度epic_bin_xと、符号化対象ピクチャに対する割当ピクチャレートpic_rateを用いて、符号化対象ピクチャの推定ビン数epic_binを次の(5)式で計算する。
epic_bin=max(epic_bin_cplx/qs_rc,γ×pic_rate) ……(5)
ここで、「qs_rc」は、次の(6)式で表わされる。
qs_rc=pic_x/pic_rate ……(6)
これら(5)式および(6)式で、ピクチャ複雑度pic_xは、後に説明する符号化対象ピクチャと同じピクチャタイプであり、最後に符号化されたピクチャの発生ピクチャレートlast_pic_rateとそのマクロブロックの平均量子化ステップサイズlast_pic_qsの積である。また、「γ」は、シンボル数ビンとそのビット数ビットの比率(γ=ビン/ビット)である。ただし、「γ」は1よりも大きな数である。「γ」はピクチャタイプ別の統計的な比率であってもよいし、最後に符号化したピクチャのデータからピクチャタイプ別に計算した比率であってもよい。
以上のようにしてステップS301のシンボル数推定処理が終了したら、次にエントロピ符号化選択処理が行われる(ステップS302)。このステップS302で、エントロピ符号化選択器210は、符号化対象ピクチャの推定ビン数epic_binを利用してエントロピ符号化モード選択信号232を選択する。そして、CABAC器242(図12参照)を用いて該当のピクチャを符号化した際の、平均量子化ステップサイズqs_cabacを次の(7)式を用いて計算する。
qs_cabac=γ×pic_x/min(epic_bin,ppic_bin) ……(7)
ここで、「ppic_bin」は、次の(8)式で表わされる。
ppic_bin=pmb_bin×pic_size_mbs ……(8)
これら(7)式および(8)式で、「pmb_bin」は、エントロピ符号化器215のCABAC器242内の算術符号化器256(図12参照)が1マクロブロックの符号化時間で処理できるビン数である。このことから、平均量子化ステップサイズqs_cabacは、所定時間内に処理できるビン数によって上限ビット数を課した条件下での、CABAC器242による映像品質となる。平均量子化ステップサイズqs_cabacは、その値が小さいほど、映像品質がよくなる。
ステップS302のエントロピ符号化選択処理では、続いてVLC器243を用いて該当するピクチャを符号化した際の、平均量子化ステップサイズqs_vlcを、次の(9)式を用いて計算する。
qs_vlc=λ×pic_x/pic_rate ……(9)
この(9)式で、「λ」は、ピクチャの符号データをVLC器243で処理した際のビット数vlc_bitと算術符号化した際のビット数cabac_bitの圧縮比率(λ=vlc_bit/cabac_bit)である。また、「λ」は1よりも大きな数であり、ピクチャタイプ別の統計的な比率である。「λ」の定義から了解されるように、平均量子化ステップサイズqs_vlcは、VLC器243による圧縮効率低下を課した条件下での、VLC器243による映像品質となる。
ステップS302のエントロピ符号化選択処理の最後では、平均量子化ステップサイズqs_cabacと平均量子化ステップサイズqs_vlcを用いて、次の(10)式でエントロピ符号化モード選択信号232(mode)を決定する。
Figure 2008142956
以上のようにしてステップS302のエントロピ符号化選択処理を終了したら、次にピクチャレート設定処理を実行する(ステップS303)。このピクチャレート設定で符号量制御器205は、エントロピ符号化モード選択信号232(mode)に基づいて符号化対象の割当ピクチャレートpic_rateを、次の(11)式を用いて更新する。
Figure 2008142956
なお、割当ピクチャレートpic_rateを達成するための量子化ステップサイズqs_rcは、次の(12)式を用いて計算することができる。
Figure 2008142956
以上のようにしてステップS303のピクチャレート設定処理を終了したら、続いてマクロブロック符号化処理を実行する(ステップS304)。このマクロブロック符号化処理で、マクロブロック符号化器204は、決定したエントロピ符号化モード選択信号232を用いて符号化対象ピクチャの1つのマクロブロックを符号化する。
このとき、符号量制御器205は、図9に示した映像符号化装置100の符号量制御器105と同様に、エントロピ符号化器215が出力するビットストリーム207を監視する。そして、エントロピ符号化器215から出力されるビットストリーム207のビット数が割当ピクチャレートよりも多くなれば、量子化ステップサイズを大とする量子化パラメータを出力する。この一方で、符号量制御器205は、ビットストリーム207のビット数が割当ピクチャレートよりも少なくなれば、量子化ステップサイズを小とする量子化パラメータを出力する。
このようにしてステップS304のマクロブロック符号化処理が行われたら、次のステップS305に処理が進む。ステップS305では、符号化対象ピクチャのすべてのマクロブロックの符号化が完了したか否かを判断する。完了していなければ(N)、ステップS304に戻って処理を行う。符号化対象ピクチャのすべてのマクロブロックの符号化が完了した場合には(ステップS305:Y)、ピクチャ符号化の終了に際して、決定したエントロピ符号化モード選択信号232(mode)に応じて、ピクチャ複雑度pic_xを次の(13)式を用いて更新して(ステップS306)、これにより一連のピクチャ符号化処理を終了することになる(エンド)。
Figure 2008142956
ここで、「pic_act_rate」は、現在符号化したピクチャの発生ビット数である。また、「qs_pic」は、現在符号化したピクチャのマクロブロックの平均量子化ステップサイズである。すでに説明したように、ピクチャ複雑度pic_xは、ピクチャタイプごとにその値を記憶しておくものとする。
以上説明したように、本発明の第1の実施例の映像符号化装置200は、図2に示したピクチャの符号化に関する処理を外部から入力される映像データ201に対して逐次適用することで、ビットストリーム207を生成することができる。すなわち本実施例の映像符号化装置200で各ピクチャは、次のような符号化処理を行うことになる。
(a)ステップS303以前の処理において、割当ピクチャレートに対応する推定シンボル数が、算術符号化器256が所定の時間で処理できるシンボル数以下である場合。
この場合には、通常通りエントロピ符号化器215で、CABAC器242を用いた符号化が行われる。
(b)ステップS303以前の処理において、割当ピクチャレートに対応する推定シンボル数が、算術符号化器256が所定の時間で処理できるシンボル数より多く、なおかつ、算術符号化器256が所定の時間で処理できるシンボル数に対応するビット数で制限したCABAC器242による映像品質がVLC器243による映像品質よりも良い場合。
この場合には、算術符号化器256が所定の時間で処理できるシンボル数に対応する割当ピクチャレートで制限されたCABAC器242によって符号化される。
(c)その他の場合、すなわちステップS303以前の処理において、割当ピクチャレートに対応する推定シンボル数が、算術符号化器256が所定の時間で処理できるシンボル数より多く、なおかつ、算術符号化器256が所定の時間で処理できるシンボル数に対応するビット数で制限したCABAC器242による映像品質がVLC器243による映像品質よりも悪い場合。
この場合には、VLC器243によって符号化される。
このように本実施例の映像符号化装置200では、符号化の制御を行うことで、画質劣化が小さく、なおかつ、ピクチャよりも細かい単位での符号量制御が可能であり、ピクチャの符号化完了時間を一定時間に保証できる映像符号化の実現が可能になる。
図3は、本発明の第2の実施例における映像符号化装置の構成を表わしたものである。第2の実施例の映像符号化装置400は、圧縮対象となる映像データ401の画像フレームを順次格納する第1の画像フレームバッファ4021を備えている。この画像フレームバッファ4021から出力されるマクロブロック単位の第1の映像データ4031は、仮符号化器404と第2の画像フレームバッファ4022に入力されるようになっている。第2の画像フレームバッファ4022から出力されるマクロブロック単位の第2の映像データ4032は、本符号化器405に入力されるようになっている。
仮符号化器404は、第1の映像データ4031を入力する仮マクロブロック符号化器411と、これに接続された仮符号量制御器412を備えている。また、仮符号化器404の外部には、仮マクロブロック符号化器411と接続された復号ピクチャバッファ413が配置されている。また、仮マクロブロック符号化器411には、VLC器選択信号414が供給されるようになっている。
本符号化器405は、マクロブロック符号化器421と、これに接続された符号量制御器422を備えている。本符号化器405の外部には、マクロブロック符号化器421と接続された復号ピクチャバッファ423と、符号量制御器422に接続されたシンボル数推定器424およびエントロピ符号化選択器425が配置されている。マクロブロック符号化器421からは、符号化されたビットストリーム426が出力されるようになっている。
第2の実施例の映像符号化装置400は、CPU431と、このCPU431の実行する制御プログラムを格納したハードディスク、光ディスク等のプログラム格納部432と、CPU431がプログラム格納部432に格納された制御プログラムを実行するときに一時的に各種のデータを格納する半導体メモリ等の作業用メモリ433を備えている。図3に示した各種の装置構成部品の少なくとも一部は、CPU431がプログラム格納部432に格納された制御プログラムを実行することによってソフトウェア的に実現する機能部品で構成することができる。
このような第2の実施例の映像符号化装置400は、図9に示した映像符号化装置100と本発明の第1の実施例における映像符号化装置200を組み合わせた回路構成となっている。すなわち、仮マクロブロック符号化器411は図9に示したマクロブロック符号化器104と同一の回路構成となっている。具体的には、図3における第1の画像フレームバッファ4021から出力される第1の映像データ4031は、仮マクロブロック符号化器411内の、図9に示すマクロブロックバッファ111と同一の回路(図示しないマクロブロックバッファ111A)に供給される。仮符号量制御器412は、図9における符号量制御器105と同一の回路となっており、図9に示す変換・量子化器114(図示しない変換・量子化器114A)およびエントロピ符号化器115(図示しないエントロピ符号化器115A)と接続されている。また、図9に示すエントロピ符号化器115(図示しないエントロピ符号化器115A)から出力される符号化されたビットストリーム107と同一に符号化されたビットストリーム441が仮マクロブロック符号化器411から外部に出力され、シンボル数推定器424に入力されるようになっている。更に、図9に示す復号ピクチャバッファ106と同一の復号ピクチャバッファ413は、加算器117および予測器112とそれぞれ同一の回路(図示しない加算器117Aおよび予測器112A)と接続されるようになっている。
ただし、図9に示したエントロピ符号化器115にはエントロピ符号化モード選択信号132が供給されるが、本実施例の場合にはエントロピ符号化器115AにVLC器選択信号414が供給される点が相違する。このように本実施例の仮符号化器404の場合には、そのエントロピ符号化の処理時間が一定以内に必ず収まるVLC器143(図11)に対応する図示しないVLC器243Aが選択されるような設定を行うようにしている。なお、VLC器243Aを選択せずに、代わりにCABAC器142(図12)に対応する図示しないCABAC器242Aを選択するような設定も可能である。ただし、この場合にはビン数を監視して、所定の処理時間で算術符号化が終了するように符号量の制御を行うことになる。
一方、本符号化器405のマクロブロック符号化器421は、図1に示したマクロブロック符号化器204と同一構成となっている。すなわち、第2の画像フレームバッファ4022から出力される第2の映像データ4032は、図1におけるマクロブロック単位で映像データ203と同様に図1に示すマクロブロックバッファ211に対応する図示しないマクロブロックバッファ211Aに入力される。また、符号量制御器422は、図1に示す符号量制御器205と同様に、変換・量子化器214に対応する図示しない変換・量子化器214Aと、エントロピ符号化器215に対応する図示しないエントロピ符号化器215Aに接続されている。更に、復号ピクチャバッファ423は図1に示す復号ピクチャバッファ206と同様に、予測器212に対応する図示しない予測器212Aと、逆量子化・逆変換器216に対応する図示しない逆量子化・逆変換器216Aに接続されている。そして、図1に示すエントロピ符号化器215に対応するエントロピ符号化器215Aから、図1のビットストリーム207に対応するビットストリーム426が出力されることになる。
このような構成の本実施例の映像符号化装置400では、仮符号化器404が第1の画像フレームバッファ4021から出力される符号化対象のピクチャのマクロブロックを逐次符号化してビットストリーム441を出力する。仮符号化器404が出力するビットストリーム441のビット数を先行符号化情報と呼ぶことにする。
復号ピクチャバッファ413は、仮符号化器404の復号画像を格納し、この復号画像によって再構成される復号画像ピクチャを管理することになる。
図1のシンボル数推定器208と同一構成のシンボル数推定器424は、仮符号化器404から供給されるビットストリーム441のビット数を計測する。そして、仮符号化器404がすべてのマクロブロックを符号化(仮符号化)し終えたとき、この計測したビット数に基づいて符号化対象ピクチャのマクロブロックのビン数、すなわちピクチャを構成する複数マクロブロックのビン総数を推定する。
図1に示すエントロピ符号化選択器210と同一構成のエントロピ符号化選択器425は、シンボル数推定器424の推定した前記したビン数を利用してエントロピ符号化モード選択信号428をいずれか一方に選択する。符号量制御器422は、エントロピ符号化選択器425が設定するエントロピ符号化モード選択信号428に基づいて割当ピクチャレートを設定する。
第2の画像フレームバッファ4022は、仮符号化器404がすべてのマクロブロックを符号化し終えたとき、第1の画像フレームバッファ4021から符号化対象画像を読み込んで、符号化対象ピクチャの符号化(本符号化)開始に備える。
マクロブロック符号化器421および符号量制御器422からなる本符号化器405は、第2の画像フレームバッファ4022の符号化対象ピクチャのマクロブロックを逐次符号化し、ビットストリーム426を出力することになる。
次に第2の実施例の映像符号化装置400の全体の動作を簡単に述べる。
ピクチャの符号化開始に際して、映像符号化装置400は、第1の画像フレームバッファ4021と仮符号化器411を動作させて、符号化対象ピクチャを仮符号化する。符号化対象ピクチャの仮符号化の後、映像符号化装置400は、シンボル数推定器424とエントロピ符号化選択器425を動作させてエントロピ符号化モード選択信号428を決定する。エントロピ符号化モード選択信号428の決定後で、かつ、符号化対象ピクチャ内のマクロブロックの本符号化開始前、映像符号化装置400は、符号量制御器422を動作させて、割当ピクチャレートを更新する。割当ピクチャレートの更新後、映像符号化装置400は、第2の画像フレームバッファ4022と本符号化器405を動作させて、符号化対象ピクチャ内を本符号化する。前記したピクチャ内のすべてのマクロブロックを符号化した後、映像符号化装置400は、所定の処理を行い、次のピクチャの符号化に移ることになる。
図4は、ピクチャの仮符号化に関する映像符号化装置の動作を示したものである。図3と共に説明する。
ピクチャの仮符号化が開始すると、まず、仮符号量制御器412にピクチャ仮符号化の割当ピクチャレートpre_pic_rateを設定する(ステップS501)。この割当ピクチャレートpre_pic_rateを達成するための量子化ステップサイズqs_rcは、次の(14)式で計算することができる。
qs_rc=λ×pic_x/pre_pic_rate ……(14)
パラメータの設定がこのようにして終了したら、次に仮符号化器404は、エントロピ符号化モードとしてVLC器143(図11)に対応する前記したVLC器243Aを用いて符号化対象ピクチャの1つのマクロブロックを仮符号化する(ステップS502)。次に仮符号化器404は、符号化対象ピクチャのすべてのマクロブロックの仮符号化が完了したか否かを判断する(ステップS503)。仮符号化が完了していなければ(N)、ステップS502に戻り、マクロブロックの仮符号化を続行する。
これに対して、仮符号化が完了していれば(ステップS503:Y)、仮符号化ピクチャ複雑度pre_pic_xを次の式(15)で更新して(ステップS504)、ピクチャ仮符号化を終了する(エンド)。
pre_pic_x=pic_act_rate×qs_pic ……(15)
ここで、「pic_act_rate」は現在仮符号化したピクチャの発生ビット数、「qs_pic」は現在仮符号化したピクチャのマクロブロックの平均量子化ステップサイズである。
図5は、ピクチャ本符号化に関する映像符号化装置の動作を示したものである。図3と共に説明する。
ピクチャ本符号化開始に際して、第2の画像フレームバッファ4022は、第1の画像フレームバッファ4021に格納された符号化対象ピクチャを読み込んでいる。シンボル数推定器424は、図4のステップS504で更新した仮符号化ピクチャ複雑度pre_pic_xを用いて、符号化対象ピクチャの推定ビン数を、次の(16)式で計算する(ステップS521)。前記したように、仮符号化器404から供給されるビットストリーム441のビット数をマクロブロックごとに計測して、前記した(15)式で再計算してもよい。
Figure 2008142956
ここで「qs_rc」は、次の(17)式で求められる。
qs_rc=pic_x/pic_rate ……(17)
以上のようにしてシンボル数の推定が行われたら、エントロピ符号化選択器425は、符号化対象ピクチャの推定ビン数epic_binを利用してエントロピ符号化モードを選択する(ステップS522)。
まず、CABAC器(図12)142に対応する図示しないCABAC器242Aを用いて、該当するピクチャを符号化した際の、平均量子化ステップサイズqs_cabacを、前記した(7)式で計算する。
ここで「qs_cabac」は、第1の実施例と同様に、所定時間内に処理できるビン数によって上限ビット数を課した条件下での、CABAC器242Aによる映像品質である。この「qs_cabac」の値が小さいほど、映像品質がよい。
続いて、VLC器243Aを用いて該当するピクチャを符号化した際の、平均量子化ステップサイズqs_vlcを前記した(9)式で計算する。この(9)式で「qs_vlc」は、第1の実施例の場合と同様に、VLC器243Aの圧縮効率低下を課した条件下での、VLC器243Aによる映像品質である。
最後に、平均量子化ステップサイズqs_cabacと平均量子化ステップサイズqs_vlcを使用し、(10)式を用いてエントロピ符号化モード選択信号428(mode)を決定する。
以上のようにしてステップS522の処理が終了したら、符号量制御器422は、エントロピ符号化モード選択信号428(mode)に基づいて符号化対象の割当ピクチャレートpic_rateを、前記した(11)式を用いて更新する(ステップS523)。
なお、割当ピクチャレートpic_rateを達成するための量子化ステップサイズqs_rcは、前記した(12)式を用いることで計算できる。
このようにしてステップS523の処理が終了したら、本符号化器405は、決定したエントロピ符号化モード選択信号428(mode)を用いて符号化対象ピクチャの1つのマクロブロックを本符号化する(ステップS524)。
このとき、符号量制御器422は、第1の実施例の場合と同様に、図9に示すエントロピ符号化器115に対応する前記したエントロピ符号化器215Aが出力するビットストリーム107A(図示せず)を監視する。そして、出力されるビットストリーム107Aのビット数が割当ピクチャレートよりも多くなれば量子化ステップサイズを大とする量子化パラメータを出力する。また、出力されるビットストリーム107Aのビット数が割当ピクチャレートよりも少なくなれば量子化ステップサイズを小とする量子化パラメータを出力する。
以上のようにしてステップS524の処理が終了したら、本符号化器405は、本符号化対象ピクチャのすべてのマクロブロックの符号化が完了したか否かを判断する(ステップS525)。完了していなければステップS524に戻ってマクロブロックの本符号化を続行する。
これに対して、本符号化対象ピクチャのすべてのマクロブロックの符号化が完了していれば(ステップS525:Y)、決定したエントロピ符号化モード選択信号428(mode)に応じて、ピクチャ複雑度pic_xを前記した(13)式で更新して(ステップS526)、ピクチャ本符号化処理を終了する(エンド)。
ここで、(13)式における「pic_act_rate」は現在符号化したピクチャの発生ビット数、「qs_pic」は現在符号化したピクチャのマクロブロックの平均量子化ステップサイズである。すでに説明したように、ピクチャ複雑度pic_xは、ピクチャタイプごとにその値を記憶しておくものとする。
このように本発明の第2の実施例の映像符号化装置400は、ピクチャ符号化処理を外部から入力される映像データ401に逐次適用することで、これを符号化してビットストリーム426を生成することができる。しかも、VLCを利用する仮符号化器404を利用した事前情報を用いることで、本符号化器405が符号化対象とするピクチャの画像のビン数を第1の実施例の場合よりも高精度に推定できる。これにより、第1の実施例の映像符号化装置200よりも画質劣化が小さく、ピクチャの符号化完了時間を一定時間に保証できる映像符号化の実現が可能になる。
図6は、本発明の第3の実施例における映像符号化装置の構成を表わしたものである。先に説明した第2の実施例では、図3に示したように1組の仮マクロブロック符号化器411とマクロブロック符号器421を用いて、1ピクチャを符号化する例を示した。本発明の第3の実施例の映像符号化装置600では、複数組の仮マクロブロック符号化器とマクロブロック符号器を使用して1ピクチャを符号化するようになっている。
図6はこの具体的な一例を表わしたものであり、3組の仮マクロブロック符号化器とマクロブロック符号器を使用して1ピクチャを符号化するようになっている。この映像符号化装置600は、圧縮対象となる映像データ601の画像フレームを順次格納する第1の画像フレームバッファ602を備えている。この画像フレームバッファ602から出力されるマクロブロック単位の第1の映像データ603は、仮並列符号化器604と第2の画像フレームバッファ602に入力されるようになっている。第2の画像フレームバッファ602から出力されるマクロブロック単位の第2の映像データ603は、本並列符号化器605に入力されるようになっている。
仮並列符号化器604は、第2の実施例における仮マクロブロック符号化器411と同一構成の第1〜第3の仮マクロブロック符号化器611〜611と、第2の実施例における仮符号量制御器412に対応してこれと同一の動作を行う仮符号量制御器612を備えている。第1の画像フレームバッファ602から出力されるマクロブロック単位の第1の映像データ603は、仮並列符号化器604内の第1〜第3の仮マクロブロック符号化器611〜611に並列に入力されるようになっている。これら第1〜第3の仮マクロブロック符号化器611〜611は、仮並列符号化器604の外に配置され、第2の実施例の復号ピクチャバッファ413に対応した復号ピクチャバッファ606と接続されている。
本並列符号化器605は、第2の実施例における本マクロブロック符号化器425と同一構成で同一の動作を行う第1〜第3の本マクロブロック符号化器621〜621と、第2の実施例における符号量制御器422に対応する符号量制御器622を備えている。第2の画像フレームバッファ602から出力されるマクロブロック単位の第2の映像データ603は、本並列符号化器605内の第1〜第3の本マクロブロック符号化器621〜621に並列に入力されるようになっている。これら第1〜第3の本マクロブロック符号化器621〜621は、本並列符号化器605の外に配置され、第2の実施例の復号ピクチャバッファ423に対応した復号ピクチャバッファ607と接続されている。
仮並列符号化器604内の第1〜第3の仮マクロブロック符号化器611〜611からそれぞれ出力される符号化されたビットストリーム631〜631は、第2の実施例におけるシンボル数推定器424に対応するシンボル数推定器608に入力され、シンボル数推定処理が行われるようになっている。シンボル数推定器608によって得られた推定されたビン数は、第2の実施例におけるエントロピ符号化選択器425に対応するエントロピ符号化選択器609に入力され、これから出力されるビットストリームが符号量制御器622に供給されるようになっている。
また、本並列符号化器605内の第1〜第3の本マクロブロック符号化器621〜621からそれぞれ対応して出力される第1〜第3のビットストリーム6331〜6333は、多重化器610に入力さる。多重化器610は第1〜第3のビットストリーム6331〜6333を多重して、ビットストリーム634として出力するようになっている。
この第3の実施例の映像符号化装置600は、CPU671と、このCPU671の実行する制御プログラムを格納したハードディスク、光ディスク等のプログラム格納部672と、CPU671がプログラム格納部672に格納された制御プログラムを実行するときに一時的に各種のデータを格納する半導体メモリ等の作業用メモリ673を備えている。図6に示した各種の装置構成部品の少なくとも一部は、CPU671がプログラム格納部672に格納された制御プログラムを実行することによってソフトウェア的に実現する機能部品で構成することができる。
第1〜第3の仮マクロブロック符号化器611〜611は、第1の画像フレームバッファ602の符号化対象ピクチャを3分割した後の分割画像を1つずつ分担して符号化するようになっている。たとえば、符号化対象ピクチャの映像信号フォーマットが前記したQCIFであるとする。この場合、第1の仮マクロブロック符号化器611は、(ラスタスキャン順で)連続する最初の33マクロブロックを符号化する。また、第2の仮マクロブロック符号化器611は続く33マクロブロックを、更に第3の仮マクロブロック符号化器611は最後の33マクロブロックを符号化することになる。
仮並列符号化器604は、第1の画像フレームバッファ602の符号化対象ピクチャを3マクロブロックずつ並列に符号化する。そして、第1〜第3の仮マクロブロック符号化器611〜611からビットストリーム631〜631を出力する。ここで仮並列符号化器604には、そのエントロピ符号化の処理時間が一定以内に必ず収まるVLC器(図示せず)をエントロピ符号化モードで設定するようにしている。VLC器を使用する代わりに図示しないCABAC器を設定して使用してもよい。ただし、この場合には、第1〜第3の仮マクロブロック符号化器611〜611のそれぞれのビン数を監視して、これら第1〜第3の仮マクロブロック符号化器611〜611が共に所定の処理時間で算術符号化が終了するように符号量制御する必要がある。
なお、仮並列符号化器604が出力するビットストリームのビット数を先行符号化情報と呼ぶ。また、復号ピクチャバッファ606は、仮並列符号化器604の復号画像を格納し、復号画像によって再構成される復号画像ピクチャを管理する。
シンボル数推定器608は、仮並列符号化器604から供給される第1〜第3の仮マクロブロック符号化器611〜611のビットストリーム631〜631のビット数を計測する。そして、仮並列符号化器604がすべてのマクロブロックを符号化し終えたとき、すなわち仮符号化が終了したときに、各ビット数に基づいて、対応する第1〜第3の本マクロブロック符号化器621〜621が符号化対象とする分割画像のビン数を推定することになる。先に示した例では、第1〜第3の本マクロブロック符号化器621〜621が33マクロブロックずつのビン数を推定する。これは、一般には、分割画像を構成する複数マクロブロックのビン総数を推定することになる。
エントロピ符号化選択器609は、シンボル数推定器608の推定した各ビン数を利用してエントロピ符号化モードを選択する。符号量制御器622は、エントロピ符号化選択器609が設定するエントロピ符号化モード選択信号628に基づいて割当ピクチャレートを設定する。また、後に計算式と共に詳しく説明するが、第1〜第3の本マクロブロック符号化器621〜621のそれぞれが所定の時間内でエントロピ符号化を完了するように、マクロブロック最小量子化パラメータ(後に示すマクロブロック最小QP)を計算することになる。
第2の画像フレームバッファ602は、仮並列符号化器604がすべてのマクロブロックを符号化し終えたとき、第1の画像フレームバッファ602から符号化対象画像を読み込んで、符号化対象ピクチャの符号化開始に備える。
第1の本マクロブロック符号化器621は、第1の仮マクロブロック符号化器611と対応して第2の画像フレームバッファ602における画像の分割画像を符号化するようになっている。同様に第2の本マクロブロック符号化器621は、第2の仮マクロブロック符号化器611と対応して第2の画像フレームバッファ602における画像の分割画像を符号化し、第3の本マクロブロック符号化器621は、第3の仮マクロブロック符号化器611と対応して第2の画像フレームバッファ602における画像の分割画像を符号化する。
本並列符号化器605は、第2の画像フレームバッファ602の符号化対象ピクチャ3マクロブロックずつ並列に符号化する。そして、第1〜第3の本マクロブロック符号化器621〜621それぞれのビットストリームとして第1〜第3のビットストリーム6331〜6333を出力する。ただし、第1〜第3の本マクロブロック符号化器621〜621は、符号量制御器622を経由して設定されるエントロピ符号化モードによって符号データをエントロピ符号化する。また、第1〜第3の本マクロブロック符号化器621〜621は、符号量制御器622を経由して設定されるマクロブロック最小qpを利用して、この符号量制御器622から供給される量子化パラメータを補正しながら符号化を行う。多重化器610は、第1〜第3の本マクロブロック符号化器621〜621から出力される第1〜第3のビットストリーム6331〜6333を多重化して、外部に出力することになる。
このような第3の実施例の映像符号化装置600について全体の動作を簡単に述べる。ピクチャの符号化開始に際して、映像符号化装置600は、第1の画像フレームバッファ602と仮並列符号化器604を動作させて、符号化対象ピクチャを仮符号化する。符号化対象ピクチャの仮符号化の後、映像符号化装置600は、シンボル数推定器608とエントロピ符号化選択器609を動作させてエントロピ符号化モード選択信号628によってエントロピ符号化モードを決定する。エントロピ符号化モードの決定後で、かつ、符号化対象ピクチャ内のマクロブロックの本符号化開始前、映像符号化装置600は、符号量制御器622を動作させて、割当ピクチャレートを更新し、更にマクロブロック最小qpを計算する。割当ピクチャレートの更新後、映像符号化装置600は、第2の画像フレームバッファ602と本並列符号化器605を動作させて、符号化対象ピクチャ内を本符号化する。ピクチャ内のすべてのマクロブロックを符号化した後、映像符号化装置600は、所定の処理を行い、次のピクチャの符号化に移ることになる。
図7は、ピクチャの仮符号化に関する映像符号化装置の動作を示したものである。図6と共に説明する。
ピクチャの仮符号化が開始すると、まず、仮並列符号化器604にピクチャ仮符号化の割当ピクチャレートpre_pic_rateを設定する(ステップS701)。割当ピクチャレートpre_pic_rateを達成するための量子化ステップサイズqs_rcは、前記した(14)式を用いて計算することができる。
パラメータの設定がこのようにして終了したら、次に仮並列符号化器604は、エントロピ符号化モードとしてVLC器143(図11)に対応する前記したVLC器243Aを用いて符号化対象ピクチャの3つのマクロブロックを仮符号化する(ステップS702)。次に仮並列符号化器604は、符号化対象ピクチャのすべてのマクロブロックの仮符号化が完了したか否かを判断する(ステップS703)。仮符号化が完了していなければ(N)、ステップS702に戻り、マクロブロックの仮符号化を続行する。これに対して、仮符号化が完了していれば(ステップS703:Y)、ピクチャ仮符号化を終了する(エンド)。
図8は、ピクチャの本符号化に関する映像符号化装置の動作を示したものである。図6と共に説明する。
ピクチャ本符号化開始に際して、第2の画像フレームバッファ602は、第1の画像フレームバッファ602に格納された符号化対象ピクチャを読み込んでいる。シンボル数推定器608は、第1〜第3の仮マクロブロック符号化器611〜611のビットストリーム631〜631のビット数(pre_rate[i],0≦i≦2)を用いて、第1〜第3の本マクロブロック符号化器621〜621が符号化対象とする分割画像の推定ビン数(e_bin[i],0≦i≦2)を次の(18)式を用いて計算する。
Figure 2008142956
ここで「qs_rc」は、前記した(17)式で求められる。
以上のようにしてシンボル数の推定が行われたら(ステップS721)、エントロピ符号化選択器609は、第1〜第3の本マクロブロック符号化器621〜621が符号化対象とする分割画像の推定ビン数e_bin[i]を利用してエントロピ符号化モードを決定する(ステップS722)。
まず、CABAC器(図12)142に対応する前記したCABAC器242Aを用いて、該当するピクチャを符号化した際の、平均量子化ステップサイズqs_cabacを、前記した(7)式で計算する。
ここで「epic_bin」は、次の(19)式で表わされる。
Figure 2008142956
また、「ppic_bin」は、前記した(8)式で表わされる。
これら(7)式、(19)式および(8)式より、「qs_cabac」は、所定時間内に処理できる平均的なビン数によって上限ビット数を課した条件下での、CABAC器242Aによる映像品質となる。
続いて、前記したVLC器243Aを用いて該当するピクチャを符号化した際の、平均量子化ステップサイズqs_vlcを(9)式で計算する。
ここで「qs_vlc」は、第2の実施例の場合と同様に、VLC器243Aの圧縮効率低下を課した条件下での、VLC器243Aによる映像品質である。
最後に、平均量子化ステップサイズqs_cabacと平均量子化ステップサイズqs_vlcを用いて、(10)式でエントロピ符号化モード選択信号628をいずれか一方に選択する。以上でステップS722の処理を終了する。
次のステップS723で符号量制御器622は、エントロピ符号化モード選択信号628に基づいて符号化対象の割当ピクチャレートpic_rateを(11)式を用いて更新する。
なお、割当ピクチャレートpic_rateを達成するための量子化ステップサイズqs_rcは、(12)式で計算することができる。
以上のようにしてステップS723の処理を終了したら、次のステップS724で符号量制御器622は、マクロブロック最小qp(mb_min_qp)を次の(20)式で計算する。
Figure 2008142956
ここで「qs」、「max_emb_bin」、「m_emb_bin」および「emb_bin[i]」は、次の(21)〜(24)式で表わされる。
Figure 2008142956
Figure 2008142956
Figure 2008142956
emb_bin[i]=ebin_rate[i]/s_mbs ……(24)
また、関数qs2qp(x)は量子化ステップサイズxに対応する量子化パラメータを計算する関数であり、「min_qs」は最小量子化パラメータ(qp=0)に対応する量子化ステップサイズである。(20)式の計算によって、第1〜第3の本マクロブロック符号化器621〜621が所定時間内に処理できるビン数を超えないように制限するための、マクロブロック最小qpが得られる。
以上のようにしてステップS724による処理を終了したら、次のステップS725で本並列符号化器605は、決定したエントロピ符号化モード選択信号628を用いて符号化対象ピクチャの3つのマクロブロックを本符号化する。
符号量制御器622は、第2の実施例の場合と同様に、図9に示すエントロピ符号化器115に対応する前記したエントロピ符号化器215A(図示せず)が出力するビットストリームを監視し、出力されるビットストリームのビット数が割当ピクチャレートよりも多くなれば、量子化ステップサイズを大とする量子化パラメータを出力する。また、エントロピ符号化器215Aが出力するビットストリームのビット数が割当ピクチャレートよりも少なくなれば、量子化ステップサイズを小とする量子化パラメータを出力する。
ただし、第1〜第3の本マクロブロック符号化器621〜621は、符号量制御器622を経由して設定されるマクロブロック最小qpを利用して、符号量制御器622から供給される量子化パラメータmb_qpを、次の(25)式で補正しながら符号化を行う。
Figure 2008142956
この補正によって、目立つ画質劣化を伴うことなく、第1〜第3の本マクロブロック符号化器621〜621に入力されるビン数が所定時間内に処理できるように制御される。
このようにしてステップS725のマクロブロックの符号化処理が終了したら、これによって本符号化対象ピクチャのすべてのマクロブロックの符号化が完了したか否かを判断する(ステップS726)。マクロブロックの符号化が完了していない場合には、ステップS725に戻ってその処理を行う。
すべてのマクロブロックの符号化が完了した場合には、決定したエントロピ符号化モードmodeに応じて、ピクチャ複雑度pic_xを(13)式で更新して(ステップS727)、ピクチャ本符号化処理を終了する(エンド)。
ここで、(13)式における「pic_act_rate」は現在符号化したピクチャの発生ビット数、つまり、第1〜第3の本マクロブロック符号化器621〜621の出力ビット数の和であり、「qs_pic」は現在符号化したピクチャのマクロブロックの平均量子化ステップサイズである。ステップS727のピクチャ複雑度pic_xは、ピクチャタイプごとにその値を記憶しておくものとする。
以上説明した第3の実施例の映像符号化装置400によれば、仮並列符号化器E604の第1〜第3の仮マクロブロック符号化器611〜611のビットストリームのビット数に基づいて、本並列符号化器605の平均的なエントロピ符号化の処理性能で達成できるエントロピ符号化モードとピクチャレートを設定することができる。また、第1〜第3の仮マクロブロック符号化器611〜611のビットストリームのビット数から計算したマクロブロック最小qpに基づいて第1〜第3の本マクロブロック符号化器621〜621の量子化パラメータを補正することで、これら第1〜第3の本マクロブロック符号化器621〜621に入力されるビン数が所定時間内に処理できるように制御される。これにより、1ピクチャを画面分割して複数のマクロブロック符号化器を利用して並列符号化する場合においても、映像符号化装置400では、画質劣化が小さく、ピクチャの符号化完了時間が一定時間に収まることが保証される。
本発明は、以上説明した第1〜第3の実施例に限定されるものではなく、各種の変形を行うことができる。たとえば、第2の実施例で、仮符号化器404がCABAC器242A(図示せず)を利用してエントロピ符号化を行う場合、ビット数の代わりにそのビン数を利用しても、本発明としての効果が得られることはいうまでもない。
産業上の利用の可能性
本発明は、例えば、映像符号化技術、特にエントロピ符号化の方式を選択するようにした映像符号化装置に利用される。

Claims (8)

  1. 画像ブロックを変換量子化して符号データを生成する符号データ生成手段と、
    前記符号データを可変長符号化する可変長符号化手段と、
    前記符号データを2値シンボルに変換し2値算術符号化する算術符号化手段と、
    複数画像ブロックから生成される符号データを2値シンボルに変換した2値シンボルの総数を推定する2値シンボル数推定手段と、
    該2値シンボル数推定手段の推定した総数に応じて、前記可変長符号化手段と前記算術符号化手段のいずれか一方を前記符号データの符号化用に選択する符号化選択手段とを具備することを特徴とする映像符号化装置。
  2. 前記2値シンボル数推定手段は、前記総数を用いて、前記可変長符号化手段を用いて処理可能な符号データ量に対応する量子化ステップと、前記算術符号化手段を用いて処理可能な符号データ量に対応する量子化ステップとを推定し、
    前記符号化選択手段は、前記2値シンボル推定手段により推定された量子化ステップサイズがより小さくなる符号化手段を選択することを特徴とする請求項1に記載の映像符号化装置。
  3. 前記2値シンボル数推定手段の推定した2値シンボルの総数を所定の閾値と比較する閾値比較手段を備え、
    前記符号化選択手段は、前記閾値比較手段によって前記総数が閾値よりも多いと判別された場合に可変長符号化手段を選択し、その他の場合には算術符号化手段を選択することを特徴とする請求項1に記載の映像符号化装置。
  4. 前記閾値は、前記複数画像ブロックの符号化時間で処理可能な2値シンボルの最大数と、2値シンボル数に対する算術符号化ビット数の圧縮比率を用いて計算された値であることを特徴とする請求項3に記載の映像符号化装置。
  5. 前記2値シンボル数推定手段は、前記複数画像ブロックのアクテビティあるいは標準偏差あるいは分散に基づいて2値シンボル数を推定することを特徴とする請求項1から4のいずれか1項に記載の映像符号化装置。
  6. 前記2値シンボル数推定手段は、前記複数画像ブロックの先行符号化情報を用いて2値シンボル数を推定することを特徴とする請求項1から4のいずれか1項に記載の映像符号化装置。
  7. 画像ブロックを変換量子化して符号データを生成する符号データ生成プロセスと、
    複数画像ブロックから生成される符号データを2値シンボルに変換した2値シンボルの総数を推定する2値シンボル数推定プロセスと、
    該2値シンボル数推定プロセスで推定した総数に応じて、前記符号データの符号化用の手法を、符号データを可変長符号化する可変長符号化と、符号データを2値シンボルに変換し2値算術符号化する算術符号化から選択する符号化選択プロセス
    とを具備することを特徴とする映像符号化方法。
  8. 画像ブロックを変換量子化して符号データを生成する符号データ生成処理と、
    複数画像ブロックから生成される符号データを2値シンボルに変換した2値シンボルの総数を推定する2値シンボル数推定処理と、
    該2値シンボル数推定処理で推定した総数に応じて、前記符号データの符号化用の手法を、符号データを可変長符号化する可変長符号化と、符号データを2値シンボルに変換し2値算術符号化する算術符号化から選択する符号化選択処理
    とをコンピュータに実行させることを特徴とする映像符号化プログラム。
JP2009515119A 2007-05-21 2008-04-28 映像符号化装置、映像符号化方法および映像符号化プログラム Pending JPWO2008142956A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2007134162 2007-05-21
JP2007134162 2007-05-21
PCT/JP2008/058166 WO2008142956A1 (ja) 2007-05-21 2008-04-28 映像符号化装置、映像符号化方法および映像符号化プログラム

Publications (1)

Publication Number Publication Date
JPWO2008142956A1 true JPWO2008142956A1 (ja) 2010-08-05

Family

ID=40031672

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009515119A Pending JPWO2008142956A1 (ja) 2007-05-21 2008-04-28 映像符号化装置、映像符号化方法および映像符号化プログラム

Country Status (5)

Country Link
US (1) US8396311B2 (ja)
EP (1) EP2150061A4 (ja)
JP (1) JPWO2008142956A1 (ja)
TW (1) TW200917850A (ja)
WO (1) WO2008142956A1 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5330672B2 (ja) * 2007-10-29 2013-10-30 パナソニック株式会社 映像符号化装置及び映像符号化方法
US8542748B2 (en) 2008-03-28 2013-09-24 Sharp Laboratories Of America, Inc. Methods and systems for parallel video encoding and decoding
WO2011080851A1 (ja) * 2009-12-28 2011-07-07 パナソニック株式会社 画像符号化装置および集積回路
EP2571267B1 (en) 2010-05-12 2017-03-01 Nippon Telegraph And Telephone Corporation Code amount control method and apparatus
US20120014431A1 (en) * 2010-07-14 2012-01-19 Jie Zhao Methods and Systems for Parallel Video Encoding and Parallel Video Decoding
TWI418220B (zh) * 2010-08-12 2013-12-01 Via Telecom Co Ltd 結合軟硬體實現之視訊處理系統,方法及其電腦程式產品
US9313514B2 (en) 2010-10-01 2016-04-12 Sharp Kabushiki Kaisha Methods and systems for entropy coder initialization
DK2768145T3 (da) 2011-01-14 2016-04-04 Ge Video Compression Llc Entropikodnings- og afkodningssystem
US9231616B2 (en) * 2011-08-05 2016-01-05 Broadcom Corporation Unified binarization for CABAC/CAVLC entropy coding
EP4274227A3 (en) * 2012-02-04 2023-11-29 LG Electronics Inc. Video encoding method, video decoding method, and device using same
US10021409B2 (en) * 2012-05-09 2018-07-10 Integrated Device Technology, Inc. Apparatuses and methods for estimating bitstream bit counts
JP2015177466A (ja) * 2014-03-17 2015-10-05 富士通株式会社 動画符号化装置、動画符号化方法および動画符号化プログラム
CN106412579B (zh) * 2015-07-30 2019-07-16 浙江大华技术股份有限公司 一种图像的编码、解码方法和装置
US11019365B2 (en) 2015-07-30 2021-05-25 Zhejiang Dahua Technology Co., Ltd. Methods and systems for image compression
EP3549287A1 (en) * 2016-12-05 2019-10-09 Telefonaktiebolaget LM Ericsson (PUBL) Methods, encoder and decoder for handling a data stream for transmission between a remote unit and a base unit of a base station system
EP3672242B1 (en) * 2018-12-21 2021-08-18 Axis AB A method of encoding a video sequence
US20210076047A1 (en) * 2019-09-11 2021-03-11 Chung Yuan Christian University System, apparatus and method for data compaction and decompaction

Citations (4)

* 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 画像情報符号化方法及び画像情報復号方法
JP2005252374A (ja) * 2004-03-01 2005-09-15 Sony Corp 符号化装置、プログラム、および符号化処理方法
JP2007088678A (ja) * 2005-09-21 2007-04-05 Victor Co Of Japan Ltd 画像符号化装置
JP2008131140A (ja) * 2006-11-17 2008-06-05 Canon Inc 画像符号化装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5654702A (en) 1994-12-16 1997-08-05 National Semiconductor Corp. Syntax-based arithmetic coding for low bit rate videophone
US5574449A (en) * 1995-02-24 1996-11-12 Intel Corporation Signal processing with hybrid variable-length and entropy encodidng
US5774081A (en) * 1995-12-11 1998-06-30 International Business Machines Corporation Approximated multi-symbol arithmetic coding method and apparatus
US6856701B2 (en) * 2001-09-14 2005-02-15 Nokia Corporation Method and system for context-based adaptive binary arithmetic coding
US7016547B1 (en) * 2002-06-28 2006-03-21 Microsoft Corporation Adaptive entropy encoding/decoding for screen capture content
CN100566178C (zh) * 2003-10-29 2009-12-02 日本电气株式会社 二进制算术码解码器和编码器,算术码解码器和编码器及其方法
US6987468B1 (en) * 2004-10-29 2006-01-17 Microsoft Corporation Lossless adaptive encoding and decoding of integer data
US20060176953A1 (en) * 2005-02-04 2006-08-10 Nader Mohsenian Method and system for video encoding with rate control
KR100703773B1 (ko) 2005-04-13 2007-04-06 삼성전자주식회사 향상된 코딩 효율을 갖는 엔트로피 코딩 및 디코딩 방법과이를 위한 장치, 이를 포함하는 비디오 코딩 및 디코딩방법과 이를 위한 장치
US7525456B2 (en) * 2005-04-15 2009-04-28 Qpixel Technology, Inc. Methods for adaptively selecting entropy encoding modes
JP2006303813A (ja) * 2005-04-19 2006-11-02 Nec Electronics Corp アナログデジタル変換回路及びリファレンス回路
US7460725B2 (en) * 2006-11-09 2008-12-02 Calista Technologies, Inc. System and method for effectively encoding and decoding electronic information

Patent Citations (4)

* 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 画像情報符号化方法及び画像情報復号方法
JP2005252374A (ja) * 2004-03-01 2005-09-15 Sony Corp 符号化装置、プログラム、および符号化処理方法
JP2007088678A (ja) * 2005-09-21 2007-04-05 Victor Co Of Japan Ltd 画像符号化装置
JP2008131140A (ja) * 2006-11-17 2008-06-05 Canon Inc 画像符号化装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CSNJ200710053002; 岡本晴彦 他: '高解像度用H.264/AVCにおけるエントロピー符号化手法' 電子情報通信学会2007年総合大会講演論文集 情報・システム2 , 20070307, p.2 *
JPN6013001787; 岡本晴彦 他: '高解像度用H.264/AVCにおけるエントロピー符号化手法' 電子情報通信学会2007年総合大会講演論文集 情報・システム2 , 20070307, p.2 *
JPN6013001788; 蝶野慶一 他: 'ローカル復号画像を用いたH.264MB上限ビット遵守PCM符号化方法' 2006年画像符号化シンポジウム(PCSJ2006) , 20061108, P.119-120 *

Also Published As

Publication number Publication date
US20100172593A1 (en) 2010-07-08
EP2150061A1 (en) 2010-02-03
TW200917850A (en) 2009-04-16
WO2008142956A1 (ja) 2008-11-27
US8396311B2 (en) 2013-03-12
EP2150061A4 (en) 2011-07-20

Similar Documents

Publication Publication Date Title
JPWO2008142956A1 (ja) 映像符号化装置、映像符号化方法および映像符号化プログラム
JP5278827B2 (ja) 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法、映像符号化あるいは復号プログラム
JP4915350B2 (ja) エントロピ符号化器、映像符号化装置、映像符号化方法および映像符号化プログラム
JP5492206B2 (ja) 画像符号化方法および画像復号方法、ならびに、画像符号化装置および画像復号装置
JP2018056685A (ja) 画像符号化装置、画像符号化方法、及び画像符号化プログラム、並びに、画像復号装置、画像復号方法、及び画像復号プログラム
JP2007251758A (ja) 動画像符号装置及び方法
JP7357736B2 (ja) 符号化装置、復号装置、及びプログラム
JP5057104B2 (ja) イントラ予測モード選択方法及び動画像符号化と、これを用いた装置とプログラム
KR20180098030A (ko) 오프라인 cabac을 지원하는 비디오 코딩 프로세스의 비트 예측 기반 비트 레이트 컨트롤 방법 및 그 장치
JP5649296B2 (ja) 画像符号化装置
US9036935B2 (en) Image coding apparatus and image coding method
KR20220051022A (ko) 화상 부호화 장치, 화상 부호화 방법, 화상 복호 장치, 화상 복호 방법, 및 비일시적인 컴퓨터 판독가능한 저장 매체
JP5136470B2 (ja) 動画像符号化装置及び動画像符号化方法
JP7302700B2 (ja) 映像符号化又は映像復号装置、映像符号化又は映像復号方法、プログラム、及び記録媒体
JP2008271213A (ja) 画像符号化装置
JP2008160402A (ja) 符号化装置及び方法並びに画像符号化装置
JP2004129206A (ja) 信号符号化方法、信号復号方法、信号符号化装置、信号復号装置、信号符号化プログラム、及び、信号復号プログラム
JP5389298B2 (ja) 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
JP7450078B1 (ja) 映像符号化装置、および、映像符号化方法
JP2010288070A (ja) 画像符号化装置
JP4847423B2 (ja) 動画像符号化装置、および、コンピュータプログラム
KR20220156017A (ko) 화상 부호화 장치, 화상 부호화 방법 및 기억 매체, 화상 복호 장치, 화상 복호 방법 및 기억 매체
KR20220055495A (ko) 화상 부호화 장치, 화상 부호화 방법, 화상 복호 장치, 화상 복호 방법, 및 컴퓨터 프로그램
JP2021002724A (ja) 画像符号化装置及び画像復号装置及び方法及びプログラム
WO2019017327A1 (ja) 動画像符号化装置、動画像符号化方法、及び、動画像符号化プログラムが格納された記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110304

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130122

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130528