JP5741073B2 - 画像符号化装置、画像符号化方法、及び画像符号化プログラム - Google Patents

画像符号化装置、画像符号化方法、及び画像符号化プログラム Download PDF

Info

Publication number
JP5741073B2
JP5741073B2 JP2011046999A JP2011046999A JP5741073B2 JP 5741073 B2 JP5741073 B2 JP 5741073B2 JP 2011046999 A JP2011046999 A JP 2011046999A JP 2011046999 A JP2011046999 A JP 2011046999A JP 5741073 B2 JP5741073 B2 JP 5741073B2
Authority
JP
Japan
Prior art keywords
image
encoding
code amount
slice
unit
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.)
Active
Application number
JP2011046999A
Other languages
English (en)
Other versions
JP2012186569A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2011046999A priority Critical patent/JP5741073B2/ja
Priority to US13/410,874 priority patent/US8781241B2/en
Publication of JP2012186569A publication Critical patent/JP2012186569A/ja
Application granted granted Critical
Publication of JP5741073B2 publication Critical patent/JP5741073B2/ja
Active 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/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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/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)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明は、動画像の符号化を行う画像符号化装置、画像符号化方法、及び画像符号化プログラムに関する。
近年、動画像データは、データ量が大きいので、送信装置から受信装置へ伝送される際、あるいは記憶装置に格納される際などに高能率符号化が行われる。「高能率符号化」とは、あるデータ列を他のデータ列に変換する符号化処理であって、そのデータ量を圧縮する処理をいう。
代表的な動画像符号化方式として、ISO/IEC(International Standardization Organization/International Electrotechnical Commission) MPEG(Moving Picture Experts Group)−2/MPEG−4(以下MPEG−2、MPEG−4)などが挙げられる。
MPEG−2では、I,P,Bの3種類のピクチャを規定している。Iピクチャは、他のピクチャの符号化画像を参照せず、フレーム内で閉じた符号化処理である。Pピクチャは、過去のピクチャから順方向予測を行い、予測誤差を符号化したピクチャである。Bピクチャは、過去と未来のピクチャから双方向予測を行い、予測誤差を符号化したピクチャである。
図1は、IBBP構造のシーケンスの例を示す図である。図1に示すI、P、Bの後の数字は、表示順を示す。表示順では、図1に示す例では、B0、B1、I2、B3、B4、P5、・・・である。
図1に示す符号化順は、I2、B0、B1、P5、B2、B3、・・・である。図1に示すように、Bピクチャによる遅延が発生する。また、符号化されたデータは、バッファに蓄積され、復号装置に出力される。なお、Iピクチャは、フレーム内符号化されるため、ピクチャ全体がリフレッシュされる。よって、このIピクチャにより、エラーの伝播を防ぐことができる。
一方、一般的な動画像のエンコーダは、前処理部、予測符号化部、可変長符号化部、多重化部を、例えばピクチャ単位で順次処理(パイプライン処理)する。前処理部では、ピクチャタイプに合わせてピクチャを並べ替えるピクチャ並べ替え部等を備え、ピクチャタイプ及びフレームごとのフレーム画像等を順次出力する。
予測符号化部では、予測画像との差分をとり、直行変化や量子化を行う。可変長符号化部では、エントロピー符号化を行う。多重化部では、エントロピー符号化されたデータを多重化し、出力するビットストリームを生成する。
図2は、ピクチャ単位の順次処理の一例を示す図である。図2に示す例では、ピクチャ単位で順次、各処理が行われる。多重化されたビットストリームは、CPB(Coded Picture Buffer)に一時記憶され、デコーダに出力される。
CPBは、デコーダに入力される前のビットストリームを保持するバッファである。エンコーダは、デコーダ側のバッファが破綻しないようにCPBを制御する。なお、リアルタイム処理系において、遅延が一番大きいのは、CPBによる遅延である。
CPBのサイズを大きくすれば画質は良くなるが遅延が大きくなる。CPBのサイズを小さくすれば画質は悪くなるが遅延は削減できる。このCPBのサイズは、画質とトレードオフの関係にあり、いかに画質を落とさずにバッファ遅延を削減できるかが研究されている。
なお、CPBは、H.264/AVC(Advanced Video Coding)(以下、H.264ともいう)でのバッファの名称であり、MPEGでは、VBV(Video Buffer Verifier)に相当する。以下の説明では、CPBと表記するが、MPEGの場合には、このCPBをVBVに置き換えればよい。
リアルタイム処理での遅延を減らすため、ピクチャを数個のスライスに分割し、順次処理する単位をスライス単位とする方法がある。例えば、動きベクトルの大きさ、回線容量、バッファへ書き込んだ符号量に基づいて、スライスの大きさ(スライス内のマクロブロックの数)を決定する手法がある。
特開2000−224584号公報 特開2010−34802号公報 特開2010−62946号公報
画像を所定サイズに分割してエンコーダ遅延を削減することを考える。図3は、4個のスライスに分割した場合の順次処理の一例を示す図である。図3に示すように、スライス単位で順次処理を行うことにより、ピクチャ単位での順次処理よりも、多少遅延を削減することはできる。
しかし、各スライスで発生するビット量は一定ではない。図4は、スライスにおけるビット量とエンコーダ遅延との関係を示す図である。図4に示すように、あるスライスだけで1ピクチャ分のほとんどのビット量が発生することもありうる。図4に示す例では、スライス1で、1ピクチャに相当するビット量が発生している。
よって、この場合のスライス分割によるバッファ遅延は、あまり削減することができない。なぜなら、ピクチャ単位での順次処理時のCPBとほぼ同じサイズとなるからである。CPBのサイズを削減すると、CPBの容量が足りなくなり、データが欠けてしまう。データが欠けた場合、エラーストリームとなり、正常に復号することができない。
次に、マクロブロック単位で順次処理を行うことを考える。図5は、マクロブロック単位の順次処理とエンコーダ遅延との関係を示す図である。図5に示すように、マクロブロック単位での順次処理は、スライス単位での順次処理よりも遅延は削減できるが、CPBのサイズは削減できない。
削減できない理由は、前述したとおり、1スライスだけで1ピクチャ分のほとんどのビット量を発生することもありうるため、ピクチャ単位で順次処理を行った場合のCPBと同様のサイズとなる。CPBのサイズが同様であるということは、CPBによる遅延もピクチャ単位の場合と同様であることを表す。
なお、ある特定のスライスにビット量が偏ってしまうことが原因でCPBのサイズが削減できなければ、従来技術のように、発生するビット量に基づいてスライス分割を行う方法がある。これにより、CPBのサイズを均等にすることで、CPBのサイズを削減することができる。
図6は、発生するビット量とスライス分割との関係を示す図である。図6(A)に示すように、スライス分割を均等にした場合、各スライスに発生するビット量(符号量)は異なる。図6(B)に示すように、発生するビット量を均等にした場合、各スライスのサイズは様々になる。図6(B)に示すように、スライス1〜4の発生符号量は均等であるため、CPBのサイズを削減することは可能になる。
しかし、従来技術のように、バッファ部に書き込まれたビット量に基づいて、各スライスのビット量が均等になるように分割制御する場合、以下のような異常データを発生してしまう。
図7は、従来技術のスライス分割による問題点(その1)を説明するための図である。図7に示すように、例えば、マクロブロック(MB)単位で順次処理を行い、発生した符号量がカウントされる。この符号量の累積値が閾値を超えた場合に、次のMBから新しいスライスとしてスライス分割が行われる。
しかし、図7に示すように、MB2とMB3との間でスライスを分割する場合、MB3では既に予測符号化が終了しているので、MB2の画像領域を参照している可能性があり、スライスの独立性を保つことができない。また、スライスの独立性が保てないと、エラーの伝播を抑制できず、スライス毎にリフレッシュできないという問題点もある。
また、H.264で符号化する場合、予測符号化の処理では、MB2とMB3との間がスライス境界であると判断できない。よって、デブロックフィルタがスライス境界にかかってしまう場合がある。これにより、スライスの独立性が失われてしまう。
また、H.263で符号化する場合、スライス同士が独立でなくなってしまうため、Annex Kのスライス構造モードが使用できない。動きベクトルの予測のために、他のスライスの画像領域を参照することになり、規格違反となる。
上記の問題を解決するためには、予測符号化部のデータを修正するため予測符号化をやり直す必要がある。予測符号化部をやり直すためには、コスト増となってしまう。
図8は、従来技術のスライス分割による問題点(その2)を説明するための図である。図8に示す例では、MB2の発生符号量を累積した時点で閾値を超えたとする。この場合、MB1とMB2との間でスライスを分割する。スライスの独立性を保つためには、可変長符号化されたMB2は破棄し、MB2から再度処理をやり直す必要がある。
MB2から再度処理をやり直すためには、前のMB情報を保持する機構が必要になり、既にCPBに書き込んだデータを破棄することも必要になる。また、前処理部や予測符号化部などで、開始MBの修正機能が必要になる。
よって、画像に対し、スライス単位で均等に分割しても、画質劣化を防いでバッファのサイズを削減することはできなかった。また、画像に対し、発生符号量を均等にしてスライス分割しても、スライスの独立性が保てず、予測符号化などの処理のやり直しが必要となり、効率的な符号化ができなかった。
そこで、開示の技術は、上記課題に鑑みてなされたものであり、スライスの独立性を保ちつつバッファサイズを削減することにより低遅延を実現することを目的とする。
開示の一態様における画像符号化装置は、画像を所定サイズ毎に順次処理して符号化を行う画像符号化装置であって、前記所定サイズの画像の符号化対象データを可変長符号化する可変長符号化部と、前記可変長符号化部により可変長符号化される前の符号化対象データを用いて、可変長符号化後の符号量を推定する推定部と、推定された符号量の累積値に基づいて、画像のスライス分割を制御するスライス制御部と、を備え、前記スライス制御部は、ビットレート、ピクチャレート、分割数を用いて閾値を算出し、前記累積値が前記閾値を超えた場合にスライス分割を行うよう制御する
開示の技術によれば、スライスの独立性を保ちつつバッファサイズを削減することにより低遅延を実現することができる。
IBBP構造のシーケンスの例を示す図。 ピクチャ単位の順次処理の一例を示す図。 4個のスライスに分割した場合の順次処理の一例を示す図。 スライスにおけるビット量とエンコーダ遅延との関係を示す図。 マクロブロック単位の順次処理とエンコーダ遅延との関係を示す図。 発生するビット量とスライス分割との関係を示す図。 従来技術のスライス分割による問題点(その1)を説明するための図。 従来技術のスライス分割による問題点(その2)を説明するための図。 実施例1における画像符号化装置の構成の一例を示すブロック図。 実施例1におけるスライス分割を説明するための図。 実施例1における符号化処理の一例を示すフローチャート。 実施例1におけるスライス分割制御処理の一例を示すフローチャート。 実施例2における画像符号化装置の構成の一例を示すブロック図。 予想符号量の累積値を修正する一例を示す図。 実施例2におけるスライス分割制御処理の一例を示すフローチャート。 CPBモードの一例を示す図。 分割数とピクチャ構造との一例を示す図。 CPBモードの他の例を示す図。
以下、添付図面を参照しながら実施例について詳細に説明する。
[実施例1]
<構成>
図9は、実施例1における画像符号化装置10の構成の一例を示すブロック図である。図9に示す画像符号化装置10は、前処理部101、予測符号化部117、可変長符号化部114、多重化部115、CPB116を有する。
予測符号化部117は、予測誤差信号生成部102、DCT部103、量子化部104、逆量子化部105、逆DCT部106、復号画像生成部107、フレームバッファ108、動き推定部109、動き補償部110、レート制御部111、符号量推定部112、スライス制御部113を有する。
また、実施例1では、前処理部101、予測符号化部117、可変長符号化部114、多重化部115、CPB116を、MB単位で順次処理する例について説明する。
前処理部101は、ピクチャタイプに合わせてピクチャを並べ替えるピクチャ並べ替え部等を有し、ピクチャタイプ及びフレームごとのフレーム画像等を順次出力する。また、前処理部101は、縮小画像を生成し、動きの方向などを調査する処理などを行ってもよい。
予測誤差信号生成部102は、入力された動画像データの符号化対象画像が16×16ピクセル(画素)のブロック(MB)に分割されたマクロブロックデータ(以降、MBデータともいう)を取得する。予測誤差信号生成部102は、そのMBデータと、動き補償部110から出力される予測画像のMBデータとにより、予測誤差信号を生成する。予測誤差信号生成部102は、生成された予測誤差信号をDCT部103に出力する。
DCT部103は、入力された予測誤差信号を8×8単位や4×4単位でDCT(Discrete Cosine Transform)変換する。なお、DCT変換以外にもアダマール(Hadamard)変換などの直交変換を行ってもよい。DCT部103は、直交変換処理によって水平及び垂直方向の周波数成分に分離されたデータを取得する。
これは、画像の空間相関性により、周波数成分に変換する事により低周波成分にデータが集まり情報量圧縮を行う事が可能となるからである。
量子化部104は、直交変換されたデータ(DCT係数)を量子化することによって、データの符号量を低減し、この量子化された値を可変長符号化部114及び逆量子化部105に出力する。また、量子化部104は、必要に応じて、量子化値を符号量推定部112に出力する。
逆量子化部105は、量子化部104から出力されたデータを逆量子化する。逆量子化部105は、逆量子化されたデータを逆DCT部106、符号量推定部112、及びレート制御部111に出力する。
逆DCT部106は、逆量子化されたデータに対して、逆DCT変換を行って、周波数成分から画素成分へ変換し、変換後のデータを復号画像生成部107及びレート制御部111に出力する。逆DCT部106によって処理が行われることにより、符号化前の予測誤差信号と同程度の信号が得られる。
復号画像生成部107は、動き補償部110で動き補償された画像のMBデータと、逆DCT部106により復号処理された予測誤差信号とを加算する。これにより、復号化側と同等の処理画像を符号化側でも生成することができる。
符号化側で生成された画像を局所復号画像と呼び、符号化側に復号化側と同一の処理画像を生成することにより、次ピクチャ以降の差分符号化を行うことが可能となる。復号画像生成部107は、加算して生成した局所復号画像のMBデータを、フレームバッファ108に出力する。なお、局所復号画像のMBデータに対し、デブロッキングフィルタをかけてもよい。局所復号画像は、参照画像となりうる。
フレームバッファ108は、入力したMBデータを新たな参照画像のデータとして記憶し、動き推定部109に出力する。
動き推定部109は、符号化対象画像におけるMBデータと、フレームバッファ108から取得する符号化済みの参照画像のMBデータとを用いて動き探索を行い、適切な動きベクトルを求める。
動きベクトルとは、ブロック単位で参照画像から符号化対象画像に最も類似している位置を探索するブロックマッチング技術を用いて求められるブロック単位の空間的なずれを示す値である。
動き探索は、例えば、画素の差分絶対値和の大きさのみでなく、動きベクトルの評価値も付加することが一般的である。動きベクトルの符号化は、成分そのものでなく周辺MBの動きベクトルとの差分ベクトルを符号化する。よって、動き推定部109は、差分ベクトルを求め、その成分の大きさにより、動きベクトル符号長相当の評価値を出力する。
動き推定部109は、探索した動きベクトルを動き補償部110及び符号量推定部112に出力する。
動き補償部110は、参照画像のデータを動き推定部109から提供される動きベクトルで動き補償する。これにより、動き補償された参照画像としてのMBデータが生成される。
レート制御部111は、取得したデータに基づいて、量子化スケール値(qP値)などを制御してビットレートを制御する。
符号量推定部112は、可変長符号化前の符号化対象データを用いて、可変長符号化後の符号化処理単位(例えば、MBなど)の符号量を推定する。符号量推定についての様々な方法について、以下に説明する。
(DCT係数を用いる方法)
符号量推定部112は、逆量子化部105からのDCT係数を用いて符号量を推定する。符号量推定部112は、DCT係数のうちAC係数のレート歪関数を用いて、各AC係数の2乗から求まるビット数Bijの和をMB内の符号量として、式(1)により推定する。
Figure 0005741073
レート歪関数Dは、AC係数の分布がガウス分布に従うとすると、式(2)で表せる。
Figure 0005741073
σ:分散
b:ビット数
この式を変換すると、式(3)になる。
Figure 0005741073
本来、σの2乗は分散を表すが、符号量推定部112は、AC係数の2乗もσの2乗に近い値になると予想し、σにAC係数を代入し、Dに所定の値を代入してBijを算出する。符号量推定部112は、式(1)により求めた値を、スライス制御部113に出力する。
(動きベクトルを用いる方法)
符号量推定部112は、動き推定部109から取得した動きベクトルの大きさを用いて、MBの符号量を推定する。動きベクトルも符号化データに含まれるため、その他のデータの符号量が同様であると仮定すれば、動きベクトルの大きさでMBの符号量を推定できる。
符号量推定部112は、動きベクトルの大きさをxだとすると、推定関数F(x)により符号量を推定する。
F(x)=|x|×β1(定数) ・・・式(4)
F(x)=log|x|×β2(定数) ・・・式(5)
F(x)=x^2×β3(定数) ・・・式(6)
符号量推定部112は、式(4)〜(6)のいずれかの式によりF(x)を求め、この値を符号量と推定する。符号量推定部112は、推定した符号量をスライス制御部113に出力する。
(量子化値を用いる方法)
符号量推定部112は、量子化された量子化値のlevelとrunとを用いて符号量を推定する。符号量推定部112は、量子化後のDCT係数のrun及びlevelを用いて推定関数G(y)により符号量を推定する。例えば、符号量推定部112は、G(run)+G(level)を符号量と推定する。
G(y)=|y|×γ1(定数) ・・・式(7)
G(y)=log|y|×γ2(定数) ・・・式(8)
G(y)=y^2×γ3(定数) ・・・式(9)
yには、runやlevelが代入される。
前述した推定方法はあくまでも一例であり、符号量推定部112は、可変長符号化前のデータを用いて符号量を推定すればよい。また、符号量推定部112は、前述した符号量を組み合わせてMBの符号量を推定してもよい。
符号量推定部112は、例えば、式(1)によるBitと、式(4)〜(6)の何れかのF(x)とを加算して符号量としてもよい。符号量推定部112は、例えば、式(4)〜(6)の何れかのF(x)と、式(7)〜(9)の何れかのG(y)とを加算して符号量としてもよい。また、符号量推定部112は、式(1)によるBitと、式(7)〜(9)の何れかのG(y)とを加算して符号量としてもよい。推定された符号量を予想符号量と呼ぶ。
スライス制御部113は、符号量推定部112から取得した符号量を累積し、この累積値が閾値以上となるか否かを判定する。この累積値が閾値を超えた場合、閾値を超えた際のMBと次のMBとの間をスライス境界としてスライス分割する。
スライス制御部113は、スライス分割した場合は、その内容を動き推定部109に出力する。これは、動き推定部109で、スライス間の参照をなくし、スライスの独立性を保つためである。
図10は、実施例1におけるスライス分割を説明するための図である。図10に示すように、画像に対し、予想符号量が均等となるようにスライス分割を行う。予想が当っている場合は、発生符号量が均等となるようにスライス分割を行うことができる。
図10に示すように、例えば、MB0の予想符号量が3、MB1の予想符号量が2、MB3の予想符号量が4であるとし、閾値は8であるとする。このとき、MB2までの予想符号量の累積値は9(=3+2+4)となり、閾値を超える。よって、スライス制御部113は、MB3の前で分割されるようスライス分割を制御する。
これにより、予測符号化部117で、スライス分割を判断することにより、スライスの独立性を保つことができる。スライスが独立であることで、エラーの伝播を防ぐリフレッシュを行うこともできる。
また、符号化方式がH.264の場合でも、スライス境界のMB2とMB3との間でデブロックフィルタをかけることを防止することができる。また、符号化方式がH.263の場合でも、規格違反となることを防止することができる。
図9に戻り、可変長符号化部114は、量子化部104から出力されたデータを可変長符号化して出力する。可変長符号化とは、シンボルの出現頻度に応じて可変長の符号を割り当てる方式をいう。
可変長符号化部114は、例えば、基本的には出現頻度の高い係数の組合せにはより短い符号を、出現頻度の低い係数組合せにはより長い符号を割当てる。これにより、全体的に符号長を短くしようとする。例えば、H.264では、CAVLC(Context−Adaptive Variable Length Coding)やCABAC(Context−Adaptive Binary Arithmetic Coding)と呼ばれる方式の可変長符号を選択することができる。
多重化部115は、可変長符号化されたデータを、出力されるビットストリームの形式に多重化する。
CPB116は、ビットストリームを記憶する。CPB116に記憶されたビットストリームは、復号装置に出力される。
<動作>
次に、実施例1における画像符号化装置10の動作について説明する。図11は、実施例1における符号化処理の一例を示すフローチャートである。図11に示す処理は、MB単位で行われる処理で、前処理後の処理を表す。ステップS101で、予測符号化部117は、画像をMB単位で予測符号化する。
ステップS102で、符号量推定部112、スライス制御部113は、可変長符号化前の符号化対象データを用いて符号量を推定し、推定した符号量に基づいてスライス分割を制御する。この処理は、図12を用いて後述する。
ステップS103で、可変長符号化部114は、符号化対象データを可変長符号化する。なお、ステップS102とステップS103とは、並列して行われてもよい。
ステップS104で、多重化部104は、可変長符号化されたデータを含めて多重化を行い、画像符号化装置10から出力されるビットストリームを生成する。
ステップS105で、CPB116は、ビットストリームを記憶し、デコード側で映像が破綻しないようにする。
図12は、実施例1におけるスライス分割制御処理の一例を示すフローチャートである。図12に示すステップS201で、符号量推定部112は、可変長符号化前の符号化対象データを用いてMBの可変長符号化後の符号量(予想符号量)を推定する。推定されたMB毎の予想符号量は、スライス制御部113に出力される。
ステップS202で、スライス制御部113は、取得した予想符号量を、次の式(10)により予想符号量を累積する。
sum_bit+=MBの予想符号量 ・・・式(10)
sum_bitは予想符号量の累積値であり、ピクチャの処理開始時に0にリセットされる。
ステップS203で、スライス制御部113は、累積値sum_bitが閾値Th_bitを超えたか否かを判定する。累積値が閾値を超えれば(ステップS203−YES)ステップS204に進み、累積値が閾値以下であれば(ステップS203−NO)次のMBの処理に移る。
なお、閾値Th_bitは、例えば、次の式(11)により求められる。
Th_bit=bitrate/(ピクチャレート×分割数) ・・・式(11)
ピクチャレートは、1秒間のピクチャの枚数であり、フィールド構造時であれば60、フレーム構造であれば30である。
bitrateを6Mbpsとし、分割数を4とした場合、25000bitが閾値となる。
Th_bit=6000000/(60×4)=25000(bit)
ステップS204で、スライス制御部113は、閾値を超えた際のMBの次のMBから、次のスライスとなるようスライス分割を制御する。このとき、sum_bitを0にリセットする。
以上、実施例1によれば、スライスの独立性を保ちつつバッファサイズを削減することにより低遅延を実現することができる。また、実施例1によれば、スライスの符号量に適したバッファサイズにするので、バッファイサイズを削減してもデータを破損することなく、画質劣化を防ぐことができる。
なお、ピクチャの分割数を4に設定したとしても、ピクチャ毎にビット数が異なるため、必ずしも各ピクチャが4つのスライスに分割されるわけではない。なお、ピクチャ毎にスライスの分割数が異なっても問題にはならない。
[実施例2]
次に、実施例2における画像符号化装置20について説明する。実施例2では、予想符号量と発生した符号量との誤差をフィードバックする機構を有する。これにより、発生した符号量がより均等になるようにスライス分割することができる。
<構成>
図13は、実施例2における画像符号化装置20の構成の一例を示すブロック図である。図13に示す構成で、図9に示す構成と同様のものは同じ符号を付し、その説明を省略する。
予測符号化部201は、可変長符号化部202から符号量の誤差を取得する。そのため、符号量推定部203は、推定した予想符号量を可変長符号化部202に出力する。可変長符号化部202は、取得した予想符号量と、可変長符号化後の符号量との誤差を求め、スライス制御部204に出力する。
スライス制御部204は、可変長符号化部202から取得した誤差を用いて予想符号量の累積値を修正する。スライス制御部204は、修正された累積値を用いてスライス分割を制御する。
なお、可変長符号化部202は、可変長符号化後の符号量をスライス制御部204に出力し、スライス制御部204が誤差を求めるようにしてもよい。この場合、符号量推定部112は、予想符号量を可変長符号化部202に出力する必要はない。
図14は、予想符号量の累積値を修正する一例を示す図である。図14に示す例では、MB0の予想符号量は3、MB1の予想符号量は2、MB3の予想符号量は4とする。また、MB0の実際の符号量は3、MB1の実際の符号量は4、MB2の実際の符号量は4とする。よって、MB2について、誤差が「+2」生じている。
スライス制御部204は、可変長符号化部202からMB2についての誤差2を取得すると、MB3の予想符号量を累積する際に、累積値を修正する。スライス制御部204は、例えば、MB2までの予想符号量の累積値9に誤差2を加算して累積値を修正する。
これにより、実際の符号量と予想符号量との誤差を用いて、予想符号量の累積値を修正することで、実際の符号量がより均等となるようにスライス分割をすることができる。
<動作>
次に、実施例2における画像符号化装置20の動作について説明する。MBの符号化処理は、図11に示す処理と同様であるため、その説明を省略する。図15は、実施例2におけるスライス分割制御処理の一例を示すフローチャートである。
図15に示すステップS301で、符号量推定部203は、可変長符号化前の符号化対象データを用いてMBの可変長符号化後の符号量(予想符号量)を推定する。推定されたMB毎の予想符号量は、スライス制御部204に出力される。
ステップS302で、スライス制御部204は、取得した予想符号量を、次の式(10)により予想符号量を累積する。
sum_bit+=MBの予想符号量 ・・・式(10)
sum_bitは予想符号量の累積値であり、ピクチャの処理開始時に0にリセットされる。
ステップS303で、スライス制御部204は、可変長符号化部202から取得した符号量の誤差を用いて累積値sum_bitを修正する。
ステップS304で、スライス制御部204は、修正された累積値sum_bitが閾値Th_bitを超えたか否かを判定する。修正された累積値が閾値を超えれば(ステップS304−YES)ステップS305に進み、修正された累積値が閾値以下であれば(ステップS304−NO)次のMBの処理に移る。
ステップS305で、スライス制御部204は、閾値を超えた際のMBの次のMBから、次のスライスとなるようスライス分割を制御する。このとき、sum_bitを0にリセットする。
以上、実施例2によれば、実際の符号量と予想符号量との誤差を用いて、予想符号量の累積値を修正することで、実際の符号量がより均等となるようにスライス分割をすることができる。
[変形例]
次に、変形例について説明する。例えば、画像符号化装置は、CPBモードとして複数のモードを有する。CPBモードは、例えば、高画質モード、中間モード、低遅延モードがあるとする。
この場合、画像符号化装置は、CPBモードに応じて、スライスの分割数及び/又はGOP構造を設定する。図16は、CPBモードの一例を示す図である。図16に示す例では、高画質モードのとき、分割数は1で、GOP構造はIBBP構造である。このモードは、遅延よりも画質を優先させることができる。
中間モードは、分割数は2で、GOP構造はIPPP構造である。このモードは、画質劣化を防ぎつつ遅延を削減することができる。
低遅延モードは、分割数は4で、GOP構造はPPPP構造である。画質劣化を防ぎつつ遅延を中間モードより削減することができる。
図17は、分割数とGOP構造との一例を示す図である。図17に示すように、分割数1の場合には、遅延よりも高画質を優先するためにIBBP構造で処理を行うように画像符号化装置は制御されてもよい。
分割数が4の場合は、ピクチャの並べ替えが不要なIPPP構造、PPPP構造にしてバッファのサイズを削減することで、バッファ遅延を削減することができる。よって、スライスの分割数に応じて、GOPの構造を切り替えるようにしてもよい。なお、CPBモードによりスライスの分割数が決まれば、スライス制御部は、その分割数に基づいて閾値Th_bitを求める。
なお、分割数とGOP構造とは特に関係がなく、他の対応関係でもよい。図18は、CPBモードの他の例を示す図である。図18(A)に示すCPBモードは、分割数は同じで、GOP構造を変更する。これにより、GOP構造の違いによってCPBモードに対応することができる。図18(B)に示すCPBモードは、GOP構造は同じで分割数を変更する。これにより、分割数の違いによってCPBモードに対応することができる。
なお、CPBのサイズは、Th_bitで設定される容量よりも大きくする。例えば、ヘッダ情報やDC係数の符号量分を考慮してCPBのサイズを設定すればよい。これは、バッファのオーバーフローによるデータ破損を回避するためである。
なお、CPBの容量としては、30Mbpsで符号化を行う場合、CPBでの遅延を1秒とすれば、最低30Mbit分、0.5秒とすれば、最低15Mbit分のバッファ容量が必要となる。画像符号化装置は、最大ビットレートのCPBが最低必要となり、これより所定サイズ大きいCPBのサイズが設定されればよい。
符号化レートの最大が100Mbpsの符号化装置において、CPBでの遅延を0.5秒とすれば、CPBのサイズは50Mbitになる。画像符号化装置には、十分なメモリを搭載しておき、CPBの遅延によって、CPBのサイズが決まるようにしておけばよい。
また、前述した実施例では、MB単位で順次処理を行ったが、スライス単位やピクチャ単位で順次処理を行ってもよい。また、前述した実施例では、H.264やH.263の符号化方式以外にも、MPEG−2、4などのスライス分割を行う符号化方式にも適用できる。
なお、前述した実施例で説明した画像符号化処理は、コンピュータに実行させるためのプログラムとして実現されてもよい。このプログラムをサーバ等からインストールしてコンピュータに実行させることで、前述した画像符号化処理を実現することができる。
また、このプログラムを記録媒体に記録し、このプログラムが記録された記録媒体をコンピュータや携帯端末に読み取らせて、前述した画像符号化処理を実現させることも可能である。なお、記録媒体は、CD−ROM、フレキシブルディスク、光磁気ディスク等の様に情報を光学的、電気的或いは磁気的に記録する記録媒体、ROM、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。また、前述した各実施例で説明した画像符号化処理は、1つ又は複数の集積回路に実装してもよい。
以上、各実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、上記変形例以外にも種々の変形及び変更が可能である。
なお、以上の実施例に関し、さらに以下の付記を開示する。
(付記1)
画像を所定サイズ毎に順次処理して符号化を行う画像符号化装置であって、
前記所定サイズの画像の符号化対象データを可変長符号化する可変長符号化部と、
前記可変長符号化部により可変長符号化される前の符号化対象データを用いて、可変長符号化後の符号量を推定する推定部と、
推定された符号量の累積値に基づいて、画像のスライス分割を制御するスライス制御部と、
を備える画像符号化装置。
(付記2)
前記スライス制御部は、
前記可変長符号化部により符号化された符号化対象データの符号量と前記推定された符号量との誤差を取得し、取得した誤差を用いて前記累積値を修正する付記1記載の画像符号化装置。
(付記3)
前記推定部は、
前記符号化対象データに含まれる動きベクトルの大きさに基づいて前記符号量を推定する付記1又は2記載の画像符号化装置。
(付記4)
前記推定部は、
前記符号化対象データに含まれる量子化後のDCT係数のrun及びlevelの大きさに基づいて前記符号量を推定する付記1又は2記載の画像符号化装置。
(付記5)
前記推定部は、
前記符号化対象データに含まれる量子化後のDCT係数に対し、逆量子化を行ったAC係数のレート歪関数を用いて前記符号量を推定する付記1又は2記載の画像符号化装置。(付記6)
前記スライス制御部は、
ビットレート、ピクチャレート、分割数を用いて閾値を算出し、前記累積値が前記閾値を超えた場合にスライス分割を行うよう制御する付記1乃至5いずれか一項に記載の画像符号化装置。
(付記7)
前記スライス制御部は、
高画質モード、低遅延モードを含むモードの設定に応じて、前記分割数を決定する付記6記載の画像符号化装置。
(付記8)
画像を所定サイズ毎に順次処理して符号化を行う画像符号化方法であって、
可変長符号化される前の前記所定サイズの画像の符号化対象データを用いて、可変長符号化後の符号量を推定し、
推定された符号量の累積値に基づいて、画像のスライス分割を制御し、
前記符号化対象データを可変長符号化する画像符号化方法。
(付記9)
画像を所定サイズ毎に順次処理して符号化を行う画像符号化プログラムであって、
可変長符号化される前の前記所定サイズの画像の符号化対象データを用いて、可変長符号化後の符号量を推定し、
推定された符号量の累積値に基づいて、画像のスライス分割を制御し、
前記符号化対象データを可変長符号化する、
処理をコンピュータに実行させるための画像符号化プログラム。
101 前処理部
102 予測誤差信号生成部
103 DCT部
104 量子化部
105 逆量子化部
106 逆DCT部
107 復号画像生成部
108 フレームバッファ
109 動き推定部
110 動き補償部
111 レート例御部
112 符号量推定部
113 スライス制御部
114 可変長符号化部
115 多重化部
116 CPB
117 予測符号化部

Claims (8)

  1. 画像を所定サイズ毎に順次処理して符号化を行う画像符号化装置であって、
    前記所定サイズの画像の符号化対象データを可変長符号化する可変長符号化部と、
    前記可変長符号化部により可変長符号化される前の符号化対象データを用いて、可変長符号化後の符号量を推定する推定部と、
    推定された符号量の累積値に基づいて、画像のスライス分割を制御するスライス制御部と、
    を備え
    前記スライス制御部は、
    ビットレート、ピクチャレート、分割数を用いて閾値を算出し、前記累積値が前記閾値を超えた場合にスライス分割を行うよう制御する画像符号化装置。
  2. 前記スライス制御部は、
    前記可変長符号化部により符号化された符号化対象データの符号量と前記推定された符号量との誤差を取得し、取得した誤差を用いて前記累積値を修正する請求項1記載の画像符号化装置。
  3. 前記推定部は、
    前記符号化対象データに含まれる動きベクトルの大きさに基づいて前記符号量を推定する請求項1又は2記載の画像符号化装置。
  4. 前記推定部は、
    前記符号化対象データに含まれる量子化後のDCT係数のrun及びlevelの大きさに基づいて前記符号量を推定する請求項1又は2記載の画像符号化装置。
  5. 前記推定部は、
    前記符号化対象データに含まれる量子化後のDCT係数に対し、逆量子化を行ったAC係数のレート歪関数を用いて前記符号量を推定する請求項1又は2記載の画像符号化装置。
  6. 前記スライス制御部は、
    高画質モード、低遅延モードを含むモードの設定に応じて、前記分割数を決定する請求項1乃至5いずれか一項に記載の画像符号化装置。
  7. 画像を所定サイズ毎に順次処理して符号化を行う画像符号化方法であって、
    可変長符号化される前の前記所定サイズの画像の符号化対象データを用いて、可変長符号化後の符号量を推定し、
    推定された符号量の累積値に基づいて、画像のスライス分割を制御し、
    前記符号化対象データを可変長符号化し、
    前記画像のスライス分割を制御する際に、
    ビットレート、ピクチャレート、分割数を用いて閾値を算出し、前記累積値が前記閾値を超えた場合にスライス分割を行うよう制御する画像符号化方法。
  8. 画像を所定サイズ毎に順次処理して符号化を行う画像符号化プログラムであって、
    可変長符号化される前の前記所定サイズの画像の符号化対象データを用いて、可変長符号化後の符号量を推定し、
    推定された符号量の累積値に基づいて、画像のスライス分割を制御し、
    前記符号化対象データを可変長符号化し、
    前記画像のスライス分割を制御する際に、
    ビットレート、ピクチャレート、分割数を用いて閾値を算出し、前記累積値が前記閾値を超えた場合にスライス分割を行うよう制御する
    処理をコンピュータに実行させるための画像符号化プログラム。
JP2011046999A 2011-03-03 2011-03-03 画像符号化装置、画像符号化方法、及び画像符号化プログラム Active JP5741073B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011046999A JP5741073B2 (ja) 2011-03-03 2011-03-03 画像符号化装置、画像符号化方法、及び画像符号化プログラム
US13/410,874 US8781241B2 (en) 2011-03-03 2012-03-02 Image encoding device encoding an image by performing sequential processing, method for encoding image, and computer-readable storage medium storing image encoding program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011046999A JP5741073B2 (ja) 2011-03-03 2011-03-03 画像符号化装置、画像符号化方法、及び画像符号化プログラム

Publications (2)

Publication Number Publication Date
JP2012186569A JP2012186569A (ja) 2012-09-27
JP5741073B2 true JP5741073B2 (ja) 2015-07-01

Family

ID=46753336

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011046999A Active JP5741073B2 (ja) 2011-03-03 2011-03-03 画像符号化装置、画像符号化方法、及び画像符号化プログラム

Country Status (2)

Country Link
US (1) US8781241B2 (ja)
JP (1) JP5741073B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5741073B2 (ja) * 2011-03-03 2015-07-01 富士通株式会社 画像符号化装置、画像符号化方法、及び画像符号化プログラム
JP6438777B2 (ja) * 2015-01-30 2018-12-19 ルネサスエレクトロニクス株式会社 画像処理装置および半導体装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6611624B1 (en) * 1998-03-13 2003-08-26 Cisco Systems, Inc. System and method for frame accurate splicing of compressed bitstreams
KR100587280B1 (ko) * 1999-01-12 2006-06-08 엘지전자 주식회사 오류 은폐방법
JP3439361B2 (ja) 1999-02-04 2003-08-25 日本電気株式会社 画像符号化装置および動画像伝送システム
US6891893B2 (en) * 2000-04-21 2005-05-10 Microsoft Corp. Extensible multimedia application program interface and related methods
JP2005124041A (ja) * 2003-10-20 2005-05-12 Nec Corp 画像符号化装置および方法
KR100556340B1 (ko) * 2004-01-13 2006-03-03 (주)씨앤에스 테크놀로지 영상 부호화 장치
JP4031455B2 (ja) * 2004-03-29 2008-01-09 株式会社東芝 画像符号化装置
US20060126744A1 (en) * 2004-12-10 2006-06-15 Liang Peng Two pass architecture for H.264 CABAC decoding process
JP2009038746A (ja) * 2007-08-03 2009-02-19 Panasonic Corp 画像情報符号化装置
EP2237562A4 (en) * 2007-11-28 2016-12-28 Panasonic Ip Man Co Ltd IMAGE ENCODING METHOD AND IMAGE ENCODING DEVICE
JP2010034802A (ja) 2008-07-28 2010-02-12 Canon Inc 動画像符号化装置およびその制御方法
JP5062110B2 (ja) 2008-09-04 2012-10-31 富士通株式会社 映像伝送装置、映像伝送方法および映像伝送プログラム
JP5232114B2 (ja) * 2008-09-29 2013-07-10 パナソニック株式会社 画像符号化装置、及び画像符号化方法
JP5059728B2 (ja) * 2008-09-30 2012-10-31 ルネサスエレクトロニクス株式会社 画像符号化装置及び方法
JP2010109912A (ja) * 2008-10-31 2010-05-13 Canon Inc 画像符号化装置及び画像符号化方法
JP5072893B2 (ja) * 2009-03-25 2012-11-14 株式会社東芝 画像符号化方法および画像復号化方法
JP2010278730A (ja) * 2009-05-28 2010-12-09 Mitsubishi Electric Corp 動画像符号化装置及び動画像符号化方法
JP5741073B2 (ja) * 2011-03-03 2015-07-01 富士通株式会社 画像符号化装置、画像符号化方法、及び画像符号化プログラム

Also Published As

Publication number Publication date
US20120224779A1 (en) 2012-09-06
US8781241B2 (en) 2014-07-15
JP2012186569A (ja) 2012-09-27

Similar Documents

Publication Publication Date Title
US8228989B2 (en) Method and apparatus for encoding and decoding based on inter prediction
CN101543074B (zh) 去块滤波装置和方法
KR100873586B1 (ko) 미디어 프로세서에서 mpeg2 디코딩의 동적인 복잡도예측 및 조절
JP5406222B2 (ja) 連続的な動き推定を利用した映像符号化並びに復号化方法及び装置
US8432964B2 (en) Image processing device, method, and program
US9025664B2 (en) Moving image encoding apparatus, moving image encoding method, and moving image encoding computer program
US9479781B2 (en) Motion video encoding apparatus, motion video encoding method, and motion video encoding computer program
US20090238283A1 (en) Method and apparatus for encoding and decoding image
US20140105279A1 (en) Image encoding apparatus and image encoding method
US9113174B2 (en) Predictive coding apparatus, control method thereof, and computer program
JP5133290B2 (ja) 動画像符号化装置および復号装置
US9955168B2 (en) Constraining number of bits generated relative to VBV buffer
US9313496B2 (en) Video encoder and video encoding method as well as video decoder and video decoding method
JP7343817B2 (ja) 符号化装置、符号化方法、及び符号化プログラム
US10171807B2 (en) Picture-level QP rate control for HEVC encoding
JP5741073B2 (ja) 画像符号化装置、画像符号化方法、及び画像符号化プログラム
US8126277B2 (en) Image processing method, image processing apparatus and image pickup apparatus using the same
KR20130032807A (ko) 동영상 부호화 장치 및 방법
WO2011105230A1 (ja) フィルタ係数符号化装置、フィルタ係数復号装置、動画像符号化装置、動画像復号装置、および、データ構造
JP6111556B2 (ja) 動画像再符号化装置、方法及びプログラム
KR100814715B1 (ko) 동영상 부호화기, 복호화기 및 그 방법
JP2008245237A (ja) 画像処理方法、画像処理装置およびそれを用いた撮像装置
JP2004242055A (ja) 信号処理装置および方法、記録媒体、並びにプログラム
JP2010068219A (ja) 動画像符号化装置
JP2010124054A (ja) 動画像符号化方法及び装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140922

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141021

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141117

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150413

R150 Certificate of patent or registration of utility model

Ref document number: 5741073

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150