JP2010252083A - 画像符号化装置と画像符号化方法 - Google Patents

画像符号化装置と画像符号化方法 Download PDF

Info

Publication number
JP2010252083A
JP2010252083A JP2009099901A JP2009099901A JP2010252083A JP 2010252083 A JP2010252083 A JP 2010252083A JP 2009099901 A JP2009099901 A JP 2009099901A JP 2009099901 A JP2009099901 A JP 2009099901A JP 2010252083 A JP2010252083 A JP 2010252083A
Authority
JP
Japan
Prior art keywords
code amount
quantization parameter
generated code
encoding
interpolation
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.)
Granted
Application number
JP2009099901A
Other languages
English (en)
Other versions
JP5257215B2 (ja
Inventor
Kashu Takahashi
加洲 高橋
Takaaki Fuchie
孝明 渕江
Shojiro Shibata
正二郎 柴田
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2009099901A priority Critical patent/JP5257215B2/ja
Priority to US12/757,358 priority patent/US8699563B2/en
Priority to CN2010101456386A priority patent/CN101867811B/zh
Publication of JP2010252083A publication Critical patent/JP2010252083A/ja
Application granted granted Critical
Publication of JP5257215B2 publication Critical patent/JP5257215B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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/192Methods 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 the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • H04N19/194Methods 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 the adaptation method, adaptation tool or adaptation type being iterative or recursive involving only two passes
    • 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
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • 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/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)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】1ピクチャの目標符号量に発生符号量を合わせ込むことを容易に可能とする。
【解決手段】プレエンコード部20は、離散的に選択した量子化パラメータで発生符号量の算出を並列して行う。符号量制御部40は、選択されていない量子化パラメータの位置に応じて補間方法を切り替えて、プレエンコード部20で得られた発生符号量を用いて補間処理を行う。各量子化パラメータについて得られた発生符号量を目標符号量と比較して仮量子化パラメータを決定する。プレエンコード部30は、仮量子化パラメータを基準とした第2の範囲の量子化パラメータにおける発生符号量の算出を並列して行う。符号量制御部40は、プレエンコード部30で算出された発生符号量を目標符号量と比較して最適量子化パラメータを決定する。エンコーダ50は、最適量子化パラメータを用いて画像を符号化する。
【選択図】 図1

Description

この発明は、画像符号化装置と画像符号化方法に関する。詳しくは、1ピクチャに与えられた目標符号量に画面内フィードバック制御を行わずに発生符号量を合わせ込む技術に関する。
従来、動画のビットストリームを伝送したり記録メディアに記録したりするシステム等において、伝送路あるいは記録容量を効率良く利用するために、高能率符号化が実施されている。
これを実現する画像符号化装置では、エンコーダで発生するビットストリームの符号化ビットレートが伝送メディアの転送レートに合わせて一定となるように量子化ステップが制御されている。例えば、画像符号化装置は、絵柄が複雑な画像が連続するとき量子化ステップを大きくしてデータ発生量を抑圧し、単純な絵柄が連続するときは量子化ステップを小さくしてデータ発生量を増加させる。画像符号化装置は、このように量子化ステップを制御することで、バッファメモリのオーバーフロー又はアンダーフローを生じさせないようにして固定レートを保持している。
したがって、このような従来技術に係る画像符号化装置では、複雑な画像が連続するときは量子化ステップが大きくなり画質が劣化し、単純な画像が連続するときは量子化ステップが小さくなり全体を通じて均等な画質を得ることができなかった。
この問題に鑑(かんが)みて、例えば特許文献1では、GOP(Group Of Pictures)毎の符号化の難易度と複数のGOPに関する符号化の難易度の総和との比にしたがって、各GOP自身に割り当てられる割当符号量を調整することが開示されている。例えば、絵柄が複雑な画像を含むGOPに対しては符号量を多く割り当て、絵柄が単純な画像を含むGOPに対しては少なく符号量を割り当てている。
一方、1ピクチャに与えられた目標符号量に発生符号量を合わせ込む方法として、例えばTM5(test model 5)のステップ2が良く知られている。これは、ピクチャに割り当てられた符号量をマクロブロック(MB;Macro Block)に均等に配分したものをマクロブロックの目標符号量とし、ピクチャ内でフィードバック制御をかけることで、目標符号量に合わせ込む手法である。
特許第3358620号公報
ところで、1ピクチャに与えられた目標符号量に発生符号量を合わせ込む方法を用いる場合、全ての量子化パラメータで発生符号量を算出すれば、最適量子化パラメータを容易に決定できる。しかし、全ての量子化パラメータで発生符号量を算出すると、回路規模や処理量の増大を招くことになり、安価な構成で容易に符号化を行うことができない。
また、量子化パラメータを離散的に選択して発生符号量の算出を行うようにすれば、回路規模を小さくできる。この場合、選択されていない量子化パラメータの発生符号量は補間処理によって算出する。しかし、補間による発生符号量の予測精度が高くないと、目標符号量に対するピクチャの最適量子化パラメータを精度よく設定することができなくなってしまう。
そこで、この発明は、1ピクチャに与えられた目標符号量に、画面内フィードバック制御を行わずに発生符号量を合わせ込むことを容易に可能とする画像符号化装置と画像符号化方法を提供する。
この発明の第1の側面は、第1の範囲内の量子化パラメータを離散的に選択して、該選択した量子化パラメータにおける発生符号量の算出を並列して行う第1の符号化部と、前記第1の範囲よりも狭い範囲であって、仮量子化パラメータを基準とした第2の範囲内の量子化パラメータにおける発生符号量の算出を並列して行う第2の符号化部と、前記第1の符号化部で選択されていない量子化パラメータについて補間処理により発生符号量を算出して、前記選択した量子化パラメータにおける発生符号量と補間により算出した発生符号量を目標符号量と比較して目標符号量に対応する前記仮量子化パラメータを決定する処理と、前記第2の符号化部で算出された発生符号量を目標符号量と比較して目標符号量に対応する最適量子化パラメータを決定する符号量制御部と、前記決定された最適量子化パラメータを用いて画像を符号化する第3の符号化部とを備え、前記符号量制御部は、前記補間処理によって発生符号量を算出する量子化パラメータの位置に応じて、補間方法を切り替える画像符号化装置にある。
この発明においては、第1の符号化部で第1の範囲内の量子化パラメータを離散的に選択して、この選択した量子化パラメータにおける発生符号量の算出が並列して行われる。また、符号量制御部では、選択されていない量子化パラメータについて補間処理により発生符号量を算出して、選択した量子化パラメータにおける発生符号量と補間により算出した発生符号量を目標符号量と比較して目標符号量に対応する仮量子化パラメータが決定される。
補間処理では、選択された量子化パラメータでの発生符号量と目標符号量を比較して、補間処理によって発生符号量を算出する量子化パラメータを判別する。さらに、判別した量子化パラメータの位置に応じて補間方法が切り替えられる。例えば、補間処理によって発生符号量を算出する量子化パラメータが、第1の符号化部で選択した量子化パラメータで挟まれた位置であるか否かに応じて補間方法が切り替えられて、選択した量子化パラメータで挟まれた位置であるとき二次曲線を用いて補間が行われる。二次曲線を用いた補間では、目標符号量に対応する仮量子化パラメータが、アクティビティに応じたオフセットを加算したときに予め設定されている範囲に制限される量子化パラメータの領域内である場合、量子化パラメータを平均量子化パラメータに変換して、平均量子化パラメータにおける発生符号量が補間によって算出される。
また、補間処理によって発生符号量を算出する量子化パラメータが、選択した量子化パラメータで挟まれた位置でないとき変化率を用いて補間が行われる。変化率を用いた補間では、選択した量子化パラメータの発生符号量から変化率が算出されて、この算出した変化率を用いて。変化率の算出に用いた量子化パラメータの間隔で補間が行われる。また、変化率の算出に用いた量子化パラメータの間隔が1よりも大きいとき、変化率の算出に用いた量子化パラメータの間隔で補間を行って得られた発生符号量を用いて、変化率の算出に用いた量子化パラメータの間隔内に位置する量子化パラメータの発生符号量が直線補間によって算出される。
第2の符号化部では、第1の範囲よりも狭い範囲であって、仮量子化パラメータを基準とした第2の範囲の量子化パラメータにおける発生符号量の算出が並列して行われる。符号量制御部では、第2の範囲の量子化パラメータにおける発生符号量と目標符号量との比較から目標符号量に対応する最適量子化パラメータが決定される。この最適量子化パラメータを用いて画像の符号化が第3の符号化部で行われる。
この発明の第2の側面は、第1の符号化部において、第1の範囲内の量子化パラメータを離散的に選択して、該選択した量子化パラメータにおける発生符号量の算出を並列して行うステップと、符号量制御部において、前記第1の符号化部で選択されていない量子化パラメータについて補間処理により発生符号量を算出して、前記選択した量子化パラメータにおける発生符号量と補間により算出した発生符号量を目標符号量と比較して目標符号量に対応する仮量子化パラメータを決定するステップと、第2の符号化部において、前記第1の範囲よりも狭い範囲であって、前記仮量子化パラメータを基準とした第2の範囲の量子化パラメータにおける発生符号量の算出を並列して行うステップと、前記符号量制御部において、前記第2の符号化部で算出された発生符号量を目標符号量と比較して目標符号量に対応する最適量子化パラメータを決定するステップと、第3の符号化部において、前記最適量子化パラメータを用いて画像を符号化するステップを有し、前記符号量制御部における前記補間処理では、前記補間処理によって発生符号量を算出する量子化パラメータの位置に応じて、補間方法を切り替える画像符号化方法にある。
この発明によれば、第1の範囲内の量子化パラメータを離散的に選択して、この選択した量子化パラメータにおける発生符号量の算出が並列して行われる。また、選択されていない量子化パラメータについて補間処理により発生符号量を算出して、選択した量子化パラメータにおける発生符号量と補間により算出した発生符号量を目標符号量と比較して目標符号量に対応する仮量子化パラメータが決定される。この補間処理では、補間処理によって発生符号量を算出する量子化パラメータの位置に応じて補間方法が切り替えられる。さらに、第1の範囲よりも狭い範囲であって、仮量子化パラメータを基準とした第2の範囲の量子化パラメータにおける発生符号量の算出が並列して行われて、第2の範囲の量子化パラメータにおける発生符号量と目標符号量との比較から目標符号量に対応する最適量子化パラメータが決定される。この最適量子化パラメータを用いて画像を符号化が行われる。
このように、補間処理によって発生符号量を算出する量子化パラメータの位置に応じて補間方法が切り替えられることから、補間による発生符号量の予測精度を高めることが可能となり、1ピクチャに与えられた目標符号量に、画面内フィードバック制御を行わずに発生符号量を合わせ込むことを容易に可能とする画像符号化装置と画像符号化方法を提供できる。
画像符号化装置の構成を示す図である。 画像符号化装置による符号化の処理手順を示すフローチャートである。 適応的なQマトリックスの切り替え処理を示すフローチャートである。 仮量子化パラメータの決定処理を示すフローチャートである。 仮量子化パラメータの決定処理を説明するための図である。 補間処理の切り換えを示すフローチャートである。 量子化パラメータと発生符号量の関係を例示した図である。 発生符号量を算出する量子化パラメータの位置と補間方法の関係を示す図である。 二次曲線を用いた補間による発生符号量の算出方法を説明するための図である。 平均量子化パラメータを用いた仮量子化パラメータの決定処理を示すフローチャートである。 平均量子化パラメータを用いた仮量子化パラメータの決定処理を説明するための図である。 再エンコード素材を用いたときの発生符号量を例示した図である。 直線補間と二次曲線を用いた補間の比較図である。 増加率を用いた補間方法を示す図である。 増加率を用いた他の補間方法を示す図である。 量子化パラメータ間の差が1以外の場合における増加率を用いた補間方法を示す図である。 量子化パラメータ間の差が1以外の場合における増加率を用いた他の補間方法を示す図である。
以下、この発明の画像符号化装置及び画像符号化方法について説明する。この画像符号化装置及び画像符号化方法は、MPEG4 AVC(Advanced Video Coding)等に代表される算術符号化を用いた画像圧縮方式で符号量制御を行う際に第1のプレエンコードと第2のプレエンコードを行う。第1のプレエンコードでは、並列プレエンコードを行い、広い範囲の量子化パラメータ(QP:Quantization Parameter)から目標符号量を実現する基本量子化パラメータを粗く見積もる。また、第2のプレエンコードでは、第1のプレエンコードの見積もり結果に基づいた狭い範囲で並列プレエンコードを行い、本エンコードで使用する最適な基本量子化パラメータを決定する。さらに、第1のプレエンコードで目標符号量を実現する基本量子化パラメータを粗く見積もる際に、選択されていない量子化パラメータの発生符号量は補間処理により算出する。また、発生符号量を算出する量子化パラメータの位置に応じて補間方法を切り替える。
このように、画像符号化装置及び画像符号化方法は、画像符号化の精度を上げつつ処理負荷を軽減させてピクチャ内で良好な符号量分布を実現できるようにする。また、画像符号化装置及び画像符号化方法は、第1のプレエンコードで基本量子化パラメータを粗く見積もる際の精度を向上させることで、最適な基本量子化パラメータを容易に決定できるようにする。なお、説明は以下の順序で行う。
1.画像符号装置の構成
2.符号化処理手順
3.Qマトリックスの切り替え処理
4.仮量子化パラメータの決定処理
5.補間処理
6.二次曲線を用いた補間
7.変化率を用いた補間
8.最適量子化パラメータの決定処理
<1.画像符号化装置の構成>
図1には、画像符号化装置の構成を示している。画像符号化装置10は、並列プレエンコードを行う第1プレエンコード部20と第2プレエンコード部30、符号量制御部40、本エンコードを行うエンコード部50、およびディレイバッファ15,16を有している。
第1の符号化部である第1プレエンコード部20は、第1のプレエンコードを行うモジュールである。第1プレエンコード部20は、画面内予測モード決定部21、画面内予測処理部22、DCT(Discrete Cosine Transform;離散コサイン変換)部23を有している。また、第1プレエンコード部20は、量子化部24、符号長計算部25、アクティビティ(Activity)計算部26を有している。さらに、量子化部24は、複数の量子化部24-1〜24-nで構成されており、符号長計算部25は複数の符号長計算部25-1〜25-nで構成されている。
第2の符号化部である第2プレエンコード部30は、第2のプレエンコードを行うモジュールである。第2プレエンコード部30は、画面内予測処理部31、DCT部32、量子化部33、符号長計算部34、逆量子化部35、IDCT(Inverse DCT)部36、バッファ37を有している。また、量子化部33は、例えば量子化部33-1〜33-3で構成されており、符号長計算部34は例えば符号長計算部34-1〜34-3で構成されている。
符号量制御部40は、符号量制御を行うモジュールである。
第3の符号化部であるエンコード部50は、本エンコードを行うモジュールである。エンコード部50は、画面内予測処理部51、DCT部52、量子化部53、エントロピー符号化部54、逆量子化部55、IDCT部56、バッファ57を備えている。
このような構成において、入力画像の画像信号は、第1プレエンコード部20とディレイバッファ15,16に供給される。
第1プレエンコード部20に入力された画像信号は、画面内予測モード決定部21とアクティビティ計算部26に入力される。画面内予測モード決定部21は、画像信号に基づいて画面内予測モードを決定する。一般的には、予測モード(予測方向)は、4×4画素単位で9通りの予測モードの中から決定することになる。
この決定された画面内予測モードは、第2プレエンコード部30やエンコード部50にも送出されて、第2プレエンコード部30における第2のプレエンコード、エンコード部50における本エンコードで使用される。
画面内予測処理部22は、予測画像と入力画像との差分を示す差分画像の画像信号を生成する。ここで、予測画像は処理を削減するため入力画像から作られる。このように入力画像の画像信号を用いて画面内予測処理を行えば、逆量子化部、IDCT部、バッファを削減することができ、回路規模を削減することが可能となる。
DCT部23は、整数精度DCTがなされたDCT係数を量子化部24-1〜24-nに送出する。量子化部24は、このDCT係数について量子化を行い、符号長計算部25に送出する。符号長計算部25は、コンテキスト適応型可変長符号化方式CAVLC(Context-Adaptive Variable Length Coding)を行うことにより符号量を計算する。CAVLCによれば、周囲の状況に応じて高効率の符号化方式を適応的に選択できる。
このように第1のプレエンコードでは、エントロピー符号化方式としてCABAC(Context-Adaptive Binary Arithmetic Coding)を用いる場合でも、符号量計算にCAVLCを用いる。なお、CABACとは、コンテキスト適応型2値算術符号化方式である。
量子化部24は、並列に設けられた量子化部24-1,・・・,24-n(n=1,2,3・・・)により構成され、符号長計算部25は、並列に設けられた符号長計算部25-1,・・・,25-n(n=1,2,3・・・)により構成されている。
第1のプレエンコードでは、第1の範囲内の量子化パラメータから量子化部24と符号長計算部25の並列数だけ離散的に選択する。また、第1のプレエンコードでは、選択した量子化パラメータに対して量子化と符号長の計算を並列に実行して、それぞれの発生符号量を第1プレエンコード部20から符号量制御部40に出力する。
すなわち、第1プレエンコード部20では、量子化部24、符号長計算部25による回路規模を抑えた並列プレエンコード部分により、第1の範囲内の量子化パラメータQPで第1のプリエンコードを行う。また、符号量制御部40は、第1プレエンコード部20で算出された発生符号量を用いて、目標符号量を実現する基本量子化パラメータを粗く見積もることができるようにする。なお、以下の説明では、粗く見積もった基本量子化パラメータを仮量子化パラメータQP_precode1という。
量子化パラメータQPとは、AVCにおいて量子化値を指定するための値である。量子化パラメータQPが大きくなると、量子化値も大きな値となる。
画面内予測モード決定部21による画面内予測モードの決定と同時に、アクティビティ計算部26は、アクティビティ(Activity)を計算し、該アクティビティによりマクロブロックをグループ分けする。各マクロブロックに対して決定されたアクティビティグループ(Activity Group)番号は、量子化部24に入力される。
アクティビティとは、画面内の局所的な画像の性質を表すものである。マクロブロックのアクティビティとしては、従来から知られているように例えばマクロブロック内における画素信号の平均値に対する各画素信号の誤差の絶対値和や、マクロブロック内における各画素信号の分散等を用いる。
符号量制御部40は、第1プレエンコード部20による第1のプリエンコードの結果から、次のステップで使用する仮量子化パラメータと量子化行列Qマトリックスを求める。
すなわち、第1のプレエンコードでは、取り得る範囲(第1の範囲)の量子化パラメータQPを離散的に選択して、選択した量子化パラメータQPで並列プレエンコードを行い、発生符号量を取得する。符号量制御部40は、取得した発生符号量を用いて、間引かれている量子化パラメータQPの発生符号量を補間処理によって算出する。符号量制御部40は、発生符号量を算出する量子化パラメータの位置に応じて、補間方法を切り替えて補間処理を行う。さらに、符号量制御部40は、取得した発生符号量と補間処理によって算出した発生符号量と目標符号量を比較して仮量子化パラメータQP_precode1を決定する。
符号量制御部40は、仮量子化パラメータQP_precode1、Qマトリックス、各マクロブロックのアクティビティグループから、量子化の情報(Qマトリックス、各マクロブロックのQP等)を得て、第2プレエンコード部30に供給する。第2プレエンコード部30は、これらの値に基づいて第2のプレエンコードを行う。
すなわち、第2プレエンコード部30では、入力画像の画像信号が、ディレイバッファ15を介して遅延処理された後に画面内予測処理部31に入力される。画面内予測処理部31は、予測画像と入力画像との差分を示す差分画像の画像信号を生成する。そして、DCT部32によるDCT、量子化部33によるDCT係数の量子化を行い、符号長計算部34は発生符号量を計算する。
なお、以上の処理の過程において、量子化部33の出力は逆量子化部35に送られる。逆量子化部35は、逆量子化してDCT係数を再生する。そして、IDCT部36はDCT係数をIDCT変換し、入力画像を再生し、バッファ37に保存することになる。
ここで、量子化部33は、この例では3段の量子化部33-1,33-2,23-3により構成され、符号長計算部34は、この例では3段の符号長計算部34-1,34-2,34-3により構成されている。3段としているのは、既に第1のプレエンコードで量子化パラメータQPが広い範囲で粗く見積もられているからである。
量子化部33と符号長計算部34は、仮量子化パラメータQP_precode1を基準とした第2の範囲内の量子化パラメータQPでの発生符号量を算出する。例えば、量子化部33と符号長計算部34が3段とされているとき、仮量子化パラメータQP_precode1を中心として、「QP_precode1+1」,「QP_precode1−1」の量子化パラメータを含む範囲を第2の範囲とする。このとき、符号長計算部34は、エンコード部50による本エンコードのエントロピー符号化方式と同じ方式を、CABAC/CAVLCのいずれかから選択する。
符号量制御部40は、第2のプレエンコードにより得られた発生符号量から、本エンコードで使用する基本量子化パラメータを決定する。そして、符号量制御部40は、この決定された基本量子化パラメータやQマトリックス、各マクロブロックのアクティビティグループから、量子化の情報(Qマトリックス、各マクロブロックのQP等)をエンコード部50に送出する。
エンコード部50は、この基本量子化パラメータ、Qマトリックス、アクティビティグループ等を使用して本エンコードを行う。すなわち、ディレイバッファ16を介して遅延処理された入力画像の画像信号を受けると、画面内予測処理部51は、第1のプレエンコード時に決定された予測モードで、予測画像と入力画像との差分を示す差分画像の画像信号を生成する。DCT部52はDCTを行い、量子化部53はDCT係数の量子化を行う。量子化部53の出力は逆量子化部55にも送られる。
逆量子化部55は、逆量子化してDCT係数を再生する。そして、IDCT部56はDCT係数をIDCT変換し、入力画像を再生し、バッファ57に保存する。
こうして、DCT部52によるDCT、量子化部53によるDCT係数の量子化を経て、エントロピー符号化部54によりエントロピー符号化がなされ、目標符号量とされた出力ストリームが出力される。
このように、画像符号化装置10は、第1プレエンコード部20による第1のプレエンコードにおいて、離散的に選択した量子化パラメータでエンコードした時の発生符号量を計算する。また画像符号化装置10は、算出した発生符号量を用いて、目標とする発生符号量になる基本量子化パラメータを粗く見積もった仮量子化パラメータQP_precode1を決定する。
このとき、第1プレエンコード部20は、離散的に選択した量子化パラメータでエンコードした場合の発生符号量を計算するために並列にエンコードを行う。
一般的に、並列にエンコードを行うためには、回路規模が非常に大きくなってしまう。しかし、第1プレエンコード部20は、量子化部24と符号長計算部25のみ並列に設け他部は共用して用い、間引き後の量子化パラメータQPについて発生符号量の算出を行う。したがって、回路規模を削減して並列エンコードを行うことができる。また、第1プレエンコード部20は、入力画像を用いて画面内予測処理を行う構成であることから、逆量子化部、IDCT部、バッファが用いられていない。このため、回路規模をさらに削減して並列エンコードを行うことができる。
なお、エントロピー符号化でCABACを用いる場合、高いビットレートでは、処理できないことである。すなわち、符号量予測のために、ある量子化パラメータQPで符号量計算を行おうとしたとき、その量子化パラメータQPでの発生量が大きい場合、符号量を予測することができない。
CABACは1bit毎に確率計算を行ってデータを圧縮していくエントロピー符号化方式である。1bitずつ処理するということは、符号量が多くなると処理時間が長くなることを意味し、一定の時間内(例えば1フレームの時間)に処理が終了しなくなる。よって、符号量が多い場合は、発生符号量を計算することができないため、高いビットレートでは符号量を予測することができない。このため、第1プレエンコード部20では、符号量計算にCAVLCを用いる。
このように、第1プレエンコード部20を構成して符号量計算を行えば、回路規模を削減し、処理を削減し、簡略化した並列プレエンコードを行うことができる。さらに、符号量制御部40は、第1プレエンコード部20で取得した発生符号量を用いて、間引かれている量子化パラメータQPの発生符号量を補間処理によって算出する。さらに、符号量制御部40は、取得した発生符号量と補間処理によって算出した発生符号量と目標符号量を比較して仮量子化パラメータQP_precode1を決定する。
第2プレエンコード部30は、第1のプレエンコード結果を用いた仮量子化パラメータQP_precode1が誤差を持っていることに鑑(かんが)み、再度プレエンコードを行うことで、本エンコードで用いる基本量子化パラメータの精度を上げる。すなわち、第2プレエンコード部30は、第1のプレエンコード結果により粗く見積もった仮量子化パラメータQP_precode1の周辺の量子化パラメータQPで、再度プレエンコードすることにより発生符号量を算出する。さらに、第2プレエンコード部30は、発生符号量が目標符号量以下であって最も目標符号量に近い最適量子化パラメータQP_precode2を求める。なお、第2プレエンコード部30におけるエントロピー符号長計算は、本エンコードと同じ方式(CABAC又はCAVLC)を用いる。
第2のプレエンコードは、第1のプレエンコードを行って決定された仮量子化パラメータQP_precode1と、例えばひとつ大きい量子化パラメータQP_precode1+1,ひとつ小さい量子化パラメータQP_precode1−1でプレエンコードを行う。ここで、回路規模削減のため、前述したように、量子化部33と符号長計算部34のみ並列化し、その他の処理は共用する。
このとき、画面内予測処理で使用するローカルデコード(Local Decode)画は、第1のプレエンコードにより決定された仮量子化パラメータQP_precode1で量子化したデータとする。つまり、逆量子化とIDCTで処理されるデータは、仮量子化パラメータQP_precode1の量子化の出力である。これは、量子化パラメータQP_precode1+1,QP_precode1−1を使うプレエンコードの画面内予測処理の入力を、自分自身のローカルデコード画ではなく、仮量子化パラメータQP_precode1のローカルデコード画で代用することを意味する。
なお、画面内予測処理の入力が異なることによる誤差は存在するが、基本量子化パラメータが略同じ値であり、エンコードによる歪も略同じ量であるので、無視できるものとする。
<2.符号化処理手順>
次に、図2のフローチャートを参照して、画像符号化装置による符号化の処理手順について説明する。
ステップST1で第1プレエンコード部20は、アクティビティグループ分けを行う。第1プレエンコード部20は、マクロブロック毎にアクティビティを計算し、その値に応じてアクティビティグループに分ける。
つまり、NumOfActivityGroupのグループに分ける場合を想定すると、アクティビティ計算部26は、ActivityThreshold[0]〜ActivityThreshold[NumOfActivityGroup−2]とアクティビティを比較することにより、アクティビティグループを決定する。なお、後述するマクロブロックの量子化パラメータMB_QPは、式(1)に示すように、ピクチャの基本量子化パラメータ(BaseQP)に対して、アクティビティグループに依存したオフセット(AdaptQpDelta[activity_group])を加えることで求められる。
MB_QP=BaseQP+AdaptQpDelta[activity_group] ・・・(1)
例えば、NumOfActivityGroupを13としたとき、AdaptQpDeltaの各値は、AdaptQpDelta[13]={−6,−5,−4,−3,−2,−1,0,1,2,3,4,5,6}とすることができる。なお、アクティビティは、上述のようにマクロブロック内における画素信号の平均値に対する各画素信号の誤差の絶対値和や、マクロブロック内における各画素信号の分散等が用いられており、アクティビティによってマクロブロックにおける画像の平坦度が示される。ここで、アクティビティが大きいときはマクロブロックの画像の平坦度が低いことから、量子化パラメータが小さくなるようにオフセットを行い、量子化ステップを小さくする。また、アクティビティが小さいときはマクロブロックの画像の平坦度が高いことから、量子化パラメータが大きくなるようにオフセットを行い、量子化ステップを大きくする。
ステップST2で第1プレエンコード部20は画面内予測モードを決定する。第1プレエンコード部20の画面内予測モード決定部21は、入力画像に基づいて画面内予測モードを決定する。画面内予測モードは、第2プレエンコード部20による第2のプレエンコード、エンコード部50による本エンコードでも使用される。
ステップST3で第1プレエンコード部20は、差分画像の生成とDCT演算を行う。第1プレエンコード部20の画面内予測処理部22は、予測画像と入力画像との差分を示す差分画像の画像信号を生成する。予測画像は、例えば処理を削減するため入力画像から生成する。次いで、DCT部23は、整数精度DCTを行い、DCT係数を量子化部24に送出する。
ステップST4で第1プレエンコード部20は、第1のプレエンコードによる符号量を算出する。量子化部24は、DCT係数値を、離散的に選択された量子化パラメータQPで量子化する。符号長計算部25は、符号長計算を行うことで、それぞれの1ピクチャの発生符号量を取得する。この時、マクロブロックの量子化パラメータMB_QPは、前述したようにアクティビティを考慮した値が与えられてエンコードされる。すなわち、前述したように、マクロブロックの量子化パラメータMB_QPは、ピクチャの基本量子化パラメータに対して、アクティビティグループに依存したオフセットを加えることで求められる。
なお、適応的なQマトリックス切り替え処理に対応させる場合には、上述の処理をQマトリックス毎に行う。つまり、Qマトリックス毎に、離散的に選択された量子化パラメータQPでプレエンコードを行って、量子化パラメータQP毎に1ピクチャの発生符号量を取得する。この時、Qマトリックス毎に量子化パラメータQPの取り得る範囲をカバーするように量子化パラメータQPを選択する。
ステップST5で符号量制御部40は、第1のプレエンコードによる発生符号量の補正を行う。符号量制御部40は、プレエンコードを簡略化したことによる誤差の補正を行う。誤差の補正は、誤差がある程度の傾向を持っていることを利用して行う。
誤差要因の一つ目は、画面内予測処理にローカルデコード画ではなく入力画像を用いていることである。この場合、画面内予測に使う画にコーデック(Codec)による歪がのっていないので、実際のエンコードより符号化効率が良くなり、符号量が少なめに出る傾向がある。この誤差の大きさは、歪の大きさに依存するので、発生符号量と誤差の関係では、ビットレート(Bit rate)が小さくなると誤差が大きくなる傾向がある。また、量子化パラメータQPと誤差の関係では、量子化パラメータQPが大きくなると誤差が大きくなる傾向にある。よって、予め誤差の大きさの統計データを取得して、ビットレートによる平均的な誤差のモデル、量子化パラメータQPによる平均的な誤差のモデルを作成しておくことで補正する。
誤差要因の二つ目は、エントロピー符号化方式でCABACを選択したときのみ発生するものである。CABACはCAVLCより符号化効率が良いので、CAVLCでプレエンコードした発生符号量は、実際の符号量より多めに出る傾向がある。例えば、発生符号量と誤差の関係では、この誤差の大きさは統計的に見てビットレートが小さくなるとCABACの効率が良くなることに起因して、大きくなる傾向にある。これも同様に、予め誤差の大きさの統計データを取得して、平均的な誤差のモデルを作成しておくことで補正する。
なお、入力画による画面内予測処理による誤差に比べると、CABACに起因する誤差は反対側に変化し、その変化量は小さいことが明らかとなっている。そこで、補正量をビットレート“r”と量子化パラメータQP“q”の関数として定義する。いま、補正比をC(r,q)とすると、式(2)により補正した符号量を得ることができる。
補正した符号量=Pre-Encode符号量×C(r,q) ・・・(2)
ステップST6で符号量制御部40は、目標符号量に対応する仮量子化パラメータQP_precode1を決定する。符号量制御部40は、選択された量子化パラメータQPでプレエンコードを行って発生符号量が取得されているので、間引きされている量子化パラメータQPに関して、補間処理により発生符号量を算出する。さらに、符号量制御部40は、プレエンコードを行って発生符号量と、補間処理によって算出された符号量を目標符号量と比較して、符号量が目標符号量以下で最も近い量子化パラメータQPを、仮量子化パラメータQP_precode1とする。符号量制御部40は、補間処理による発生符号量の予測精度を高くするため、発生符号量を算出する量子化パラメータの位置に応じて補間方法を切り替える。
なお、適応的なQマトリックス切り替え処理に対応させる場合には、上記の処理をQマトリックス毎に行う。つまり、Qマトリックス毎に、符号量が目標符号量以下で最も目標符号量に近い量子化パラメータQPを仮量子化パラメータQP_precode1とする。すなわち、第1プレエンコード部20では、適応的なQマトリックスの選択に対応させるため、該Qマトリックス毎に、取り得る範囲の量子化パラメータQPを離散的に選択し、並列回路部分で並列処理を行う。また、並列処理を行って得られた発生符号量と補間処理によって算出した符号量と目標符号量を比較して、Qマトリックス毎に、符号量が目標符号量以下で最も目標符号量に近い量子化パラメータQPを、仮量子化パラメータQP_precode1とする。
ここで、図3のフローチャートを参照して、適応的なQマトリックスの切り替え処理についてさらに説明する。
適応的なQマトリックス切り替えを行う場合には、符号化難易度に応じて適応的に、Qマトリックスの選択を行う。符号化難易度としては、Qマトリックス毎に決定された仮量子化パラメータQP_precode1を使用する。
ここで、切り替えて使うQマトリックスの数をNumOfQMatrixIdとする。また、傾斜の緩やかなQマトリックスから昇順にIdを付け、各Qマトリックスの取り得る最大の量子化パラメータQPをQMatrixThreshold[0]〜QMatrixThreshold[NumOfQMatrixId−2]とする。
ステップST21で符号量制御部40は、Idの初期化を行い「Id=0」とする。ステップST22で符号量制御部40は、Idの値の小さいQマトリックスから、仮量子化パラメータQP_precode1とQMatrixThresholdを比較する。Id番目のQマトリックスで仮量子化パラメータQP_precode1QPがQMatrixThreshold[Id]より小さければ、ステップST25に進み、現在のQマトリックスに決定して処理を終了する。
ステップST22において符号量制御部40は、Id番目のQマトリックスで仮量子化パラメータQP_precode1がQMatrixThreshold[Id]以上であれば、ステップST23でIdをインクリメントしてステップST24に進む。
ステップST24で符号量制御部40は、Idが切り替えて用いるQマトリックスの数NumOfQMatrixIdであるか否かを判断する。ここで、Id=NumOfQMatrixIdでなければステップST22に戻り、次のQマトリックスをチェックする。また、Id=NumOfQMatrixId−1であれば、ステップST25に進み、一番急峻なQマトリックス(IDがNumOfQMatrixId−1のQマトリックス)を選択して処理を終了する。
このような処理により、符号量制御部40は、Qマトリックス毎に、取り得る最大の量子化パラメータQPを設定して、傾斜の緩やかなQマトリックスから順に、仮量子化パラメータQP_precode1が範囲内であるか否かを判断する。そして、範囲内であればその仮量子化パラメータQP_precode1用いるものとする。
図2のステップST7で、符号量制御部40は、Qマトリックスと仮量子化パラメータQP_precode1を決定する。符号量制御部40は、上述の処理によりQマトリックスを決定し、このQマトリックスが決定されたことで、仮量子化パラメータQP_precode1を決定する。このようにQマトリックスを選択することで、取り得る量子化パラメータQPの範囲を限定することになり、第1のプレエンコードで発生符号量を調べる量子化パラメータQPの範囲を減らすことが可能になる。これが、第1のプレエンコードにて決定されたQマトリックスと仮量子化パラメータQP_precode1となる。
続いて、ステップST8〜ステップST10で第2のプレエンコードを行う。第2のプレエンコードの目的は、第1のプレエンコードによる仮量子化パラメータQP_precode1が誤差を生じていることが考えられるので、再度プレエンコードすることで、基本量子化パラメータの推定精度を上げることにある。
すなわち、第1のプレエンコードによって粗く見積もった基本量子化パラメータである仮量子化パラメータQP_precode1の周辺の量子化パラメータQPで、再度プレエンコードすることにより発生符号量を算出する。また、算出した発生符号量と目標符号量を比較して、発生符号量が目標符号量以下で最も目標符号量に近い量子化パラメータQPを最適量子化パラメータQP_precode2とする。エントロピー符号長計算は、本エンコードと同じ方式(CABAC又はCAVLC)を用いる。
ステップST8で第2プレエンコード部30は、画面内予測とDCT演算を行う。第2プレエンコード部30の画面内予測処理部31は、第1のプレエンコード等を行って決定された仮量子化パラメータQP_precode1、Qマトリックス、アクティビティグループを用いて画面内予測処理を行う。また、第2プレエンコード部30のDCT部32はDCT演算を行う。この第2のプレエンコードにおいて、画面内予測で使用するローカルデコード画は、第1のプレエンコード等を行うことにより決定された仮量子化パラメータQP_precode1で量子化したデータを共用する。
ステップST9で第2プレエンコード部30は、第2のプレエンコードによる符号量を算出する。第2プレエンコード部30は、仮量子化パラメータQP_precode1を基準とした第2の範囲内の各量子化パラメータQPで符号量を算出する。すなわち、量子化部33-1には仮量子化パラメータQP_precode1を与えて量子化パラメータQP_precode1の発生符号量を算出する。また、量子化33-2には量子化パラメータQP_precode1−1、量子化33-3には量子化パラメータQP_precode1+1を与えて、量子化パラメータQP_precode1−1,QP_precode1+1の発生符号量を算出する。
ステップST10で符号量制御部40は、最適量子化パラメータQP_precode2を決定する。符号量制御部40は、第2プレエンコード部30で得られた発生符号量と目標符号量を比較して最適量子化パラメータQP_precode2を決定する。すなわち、第2プレエンコード部30は、仮量子化パラメータQP_precode1,QP_precode1−1,QP_precode1+1のなかで、発生符号量が目標符号量以下で最も目標符号量に近い量子化パラメータを最適量子化パラメータQP_precode2とする。
ステップST11でエンコード部50は本エンコードを行う。エンコード部50は、第2のプレエンコードにより決定された最適量子化パラメータQP_precode2、第1のプレエンコードにより決定されたQマトリックス、アクティビティグループを使用してエンコードを行う。こうして符号化にかかわる一連の処理を終了する。
<4.仮量子化パラメータの決定処理>
符号量制御部40は、第1プレエンコード部20で離散的に選択した量子化パラメータQPでプレエンコードを行って得られている発生符号量を用いて補間処理を行い、選択されていない量子化パラメータQPにおける発生符号量を算出する。さらに、符号量制御部40は、選択した量子化パラメータにおける発生符号量と補間処理により算出した発生符号量を目標符号量と比較して、目標符号量に対応する仮量子化パラメータQP_precode1を決定する。
図4は、仮量子化パラメータの決定処理を示すフローチャートである。また、図5は、仮量子化パラメータの決定処理を説明するための図である。図4のステップST31で第1プレエンコード部20は、発生符号量の算出を行う。第1プレエンコード部20は。離散的に選択した量子化パラメータQP毎にプレエンコードを行い、発生符号量を計算してステップST32に進む。例えば図5の(A)において、黒丸印で示すように、離散的に選択した量子化パラメータQPについて発生符号量を算出する。
ステップST32で符号量制御部40は、量子化パラメータ範囲WQを判別してステップST33に進む。符号量制御部40は、目標符号量「Target_bits」とステップST31で算出した発生符号量を比較して、目標とする基本量子化パラメータが、発生符号量を算出した量子化パラメータQPによって示されるいずれの範囲内であるかにあるか判別する。
符号量制御部40は、例えばステップST31で算出した符号量と目標符号量を比較して、図5の(B)に示すように、算出した発生符号量が目標符号量「Target_bits」以上であって最も目標符号量に近い量子化パラメータである「QP-a」を判別する。また、符号量制御部40は、算出した発生符号量が目標符号量「Target_bits」未満であって最も目標符号量に近い量子化パラメータである「QP-b」を判別する。さらに、符号量制御部40は、判別した量子化パラメータ「QP-a」〜「QP-b」の範囲を目標とする量子化パラメータが含まれる量子化パラメータ範囲WQとする。
ステップST33で符号量制御部40は、量子化パラメータ範囲WQにおいて、間引きされている量子化パラメータQPについて、補間処理によって発生符号量を算出する。符号量制御部40は、量子化パラメータ範囲WQ、すなわち図5の(C)に示すように「QP-a」〜「QP-b」の範囲内の各量子化パラメータQPについて、発生符号量を補間処理によって算出する。ここで、符号量制御部40は、補間処理によって発生符号量を算出する量子化パラメータの位置に応じて補間方法を切り替える。なお、補間処理の詳細については後述する。
ステップST34で符号量制御部40は、仮量子化パラメータQP_precode1を決定する。符号量制御部40は、ステップST31で算出された発生符号量とステップST33で補間処理によって得られた発生符号量を目標符号量と比較する。また、符号量制御部40は、図5の(D)に示すように、発生符号量が目標符号量以下であって最も目標符号量に近い量子化パラメータQPを、仮量子化パラメータQP_precode1とする。
<5.補間処理>
次に、補間処理について説明する。符号量制御部40は、選択された量子化パラメータでの発生符号量と目標符号量を比較して、補間処理によって発生符号量を算出する量子化パラメータを判別する。また、符号量制御部40は、補間処理によって発生符号量を算出する量子化パラメータの位置に応じて補間方法を切り替える。符号量制御部40は量子化パラメータの位置に応じて、例えば二次曲線を用いた補間と発生符号量の変化率を用いた補間のいずれかを行う。また二次曲線を用いた補間では、量子化パラメータQPまたは平均量子化パラメータAVG_QPを用いた補間を行う。図6は、補間処理の切り換え動作を示すフローチャートを示している。
ステップST41で符号量制御部40は、補間する量子化パラメータを判別する。符号量制御部40は、選択された量子化パラメータの発生符号量と目標符号量を比較して、発生符号量が目標符号量を挟み込んでいる2つの選択された量子化パラメータQP間の量子化パラメータを、補間する量子化パラメータと判別する。また、符号量制御部40は、最小の選択された量子化パラメータQPにおける発生符号量よりも目標符号量が大きいとき、最小の選択された量子化パラメータQPよりも小さい量子化パラメータを、補間する量子化パラメータと判別する。さらに、符号量制御部40は、最大の選択された量子化パラメータQPにおける発生符号量よりも目標符号量が小さいとき、最大の選択された量子化パラメータQPよりも大きい量子化パラメータを、補間する量子化パラメータと判別する。符号量制御部40は、このような処理を行うことで、補間する量子化パラメータを効率よく選択することが可能となり、選択されていない全ての量子化パラメータQPについて補間を行う必要がない。
ステップST42で符号量制御部40は、補間する量子化パラメータの位置が選択された量子化パラメータQPで挟まれた位置であるか否か判別する。符号量制御部40は、補間処理によって発生符号量を算出する量子化パラメータの位置が、第1プレエンコード部20で選択された量子化パラメータQPで挟まれた位置であるとき、ステップST43に進む。また、符号量制御部40は、補間処理によって発生符号量を算出する量子化パラメータの位置が、第1プレエンコード部20で選択された量子化パラメータQPで挟まれた位置でないとき、ステップST46に進む。
ステップST43で符号量制御部40は、補間する量子化パラメータの位置が、アクティビティに応じたオフセットを加算したときに予め設定されている範囲に制限される量子化パラメータの領域内であるか否か判別する。符号量制御部40は、補間する量子化パラメータの位置が予め設定されている範囲に制限される領域内でないときステップST44に進み、制限される領域内であるときステップST45に進む。
ここで、ピクチャの基本量子化パラメータ(BaseQP)に対して、アクティビティグループに依存したオフセット(AdaptQpDelta[activity_group])を加えて、マクロブロックの量子化パラメータMB_QPを求める場合、オフセットを加えることで、量子化パラメータが予め設定されている範囲に制限される場合が生じる。例えば、基本量子化パラメータ(BaseQP)に対して、例えば上述のようにNumOfActivityGroupを「13」として、オフセットを「−6,−5,−4,−3,−2,−1,0,1,2,3,4,5,6」とする。また、量子化パラメータの範囲を「0〜51」とする。この場合、基本量子化パラメータ(BaseQP)が「0〜6」「45〜51」の範囲では、オフセットを加算したとき量子化パラメータが予め設定されている「0〜51」の範囲に制限される。したがって、補間する量子化パラメータの位置が「0〜6」「45〜51」の領域内でないときはステップST44に進み、「0〜6」「45〜51」の領域内であるときはステップST45に進む。
ステップST44で符号量制御部40は、二次曲線を用いた補間を行い、量子化パラメータQPにおける発生符号量を算出する。符号量制御部40は、補間する量子化パラメータの位置を挟む2つの選択された量子化パラメータQPと、2つの選択された量子化パラメータQPの次に値の大きい(または次に値の小さい)選択された量子化パラメータQPを判別する。次に、符号量制御部40は、判別した3つの量子化パラメータQPの値と、この値における発生符号量から二次曲線を決定する。さらに、符号量制御部40は、決定した二次曲線を用いて、補間する量子化パラメータにおける発生符号量を算出して補間処理を終了する。
ステップST45で符号量制御部40は、二次曲線を用いた補間を行い、平均量子化パラメータAVG_QPにおける発生符号量の算出を行う。符号量制御部40は、補間する量子化パラメータの位置を挟む2つの選択された量子化パラメータQPと、2つの選択された量子化パラメータQPの次に値の大きい(または次に値の小さい)選択された量子化パラメータQPを平均量子化パラメータAVG_QPに変換する。また、補間する量子化パラメータを平均量子化パラメータAVG_QPに変換する。次に、符号量制御部40は、3つの平均量子化パラメータAVG_QPの値と、この値における発生符号量から二次曲線を決定する。さらに、符号量制御部40は、決定した二次曲線を用いて、補間する平均量子化パラメータAVG_QPにおける発生符号量を算出して補間処理を終了する。
平均量子化パラメータAVG_QPへの変換では、各アクティビティグループにおけるマクロブロックの量子化パラメータMB_QPを上述の式(1)に基づいて算出する。
なお、量子化パラメータMB_QPは「0≦MB_QP≦51」の範囲として、式(1)から算出した値が「0≦MB_QP≦51」の範囲を超えるときは、この範囲にクリップする。
次に、マクロブロックの量子化パラメータMB_QPに対して式(3)に示すようにアクティビティグループに属するマクロブロック数MB_Nagを乗算して、アクティビティグループ毎にマクロブロック量子化パラメータ積算値SUM_QP_agを算出する。
SUM_QP_ag=MB_QP×MB_Nag ・・・(3)
さらに、アクティビティグループ毎のマクロブロック量子化パラメータ積算値SUM_QP_agの総和をピクチャ内の総マクロブロック数で除算することにより平均値量子化パラメータAVG_QPを算出できる。
このようにすれば、量子化パラメータQPを平均量子化パラメータAVG_QPに変換できる。なお、平均値量子化パラメータは、アクティビティによるオフセット処理を行ったマクロブロック毎の量子化パラメータの平均値を示すものとなる。
図7は、量子化パラメータと発生符号量の関係を種々の素材について例示している。なお、図7の(A)は、基本量子化パラメータと発生符号量の関係、図7の(B)は、平均量子化パラメータと発生符号量の関係を示している。基本量子化パラメータと発生符号量の関係において、例えば量子化パラメータの位置が「0〜6」の領域WRであるとき、オフセットを加算しても量子化パラメータが「0〜51」の範囲に制限されてしまう場合が生じる。このため、この領域WRの特性は、図7の(A)に示すように素材によって異なる場合が生じる。例えば、オフセットを加算しても量子化パラメータが「0〜51」の範囲に制限されて、量子化パラメータが小さくても発生符号量が変化しない場合等が生じる。しかし、平均量子化パラメータを用いるものとすれば、オフセットを加算したときの量子化パラメータが飽和するような領域でも、図7の(B)に示すように、いずれの素材においても同様な特性を示す。したがって、オフセットを加算したときの量子化パラメータが飽和するような領域に対して二次曲線を用いた補間を行う場合、平均量子化パラメータを用いることで補間精度を高めることができる。
ステップST46で符号量制御部40は、変化率を用いた補間を行う。符号量制御部40は、選択した量子化パラメータの発生符号量から変化率を算出して、この算出した変化率を用いて変化率の算出に用いた量子化パラメータの間隔で補間を行う。符号量制御部40は、例えば選択した量子化パラメータの間隔が「1」であるとき、この変化率と、選択した量子化パラメータと補間する量子化パラメータとの間隔から、補間する量子化パラメータにおける発生符号量を算出して補間処理を終了する。符号量制御部40は、間隔が「1」より大きいとき、変化率の算出に用いた量子化パラメータの間隔で補間を行って得られた発生符号量を用いて、変化率の算出に用いた量子化パラメータの間隔内に位置する量子化パラメータの発生符号量を直線補間で算出する。
図8は、補間処理によって発生符号量を算出する量子化パラメータの位置と、補間方法の関係を示している。なお、図8における黒丸印は、第1プレエンコード部20で選択された量子化パラメータの発生符号量を示している。
補間処理によって発生符号量を算出する量子化パラメータの位置が、第1プレエンコード部20で選択された量子化パラメータで挟まれた位置であるとき、二次曲線を用いた補間を行う。また、符号量制御部40は、目標とする基本量子化パラメータが含まれる量子化パラメータ範囲WQが、第1プレエンコード部20で選択された最小の量子化パラメータ以下の範囲であるとき変化率を用いた補間を行う。また、符号量制御部40は、第1プレエンコード部20で選択された最大の量子化パラメータ以上の範囲であるとき変化率を用いた補間を行う。
第1プレエンコード部20において選択された量子化パラメータQPを、例えば図8に示すように、「QP-pa」,「QP-pb」,「QP-pc」,「QP-pd」,「QP-pe」,「QP-pf」とする。符号量制御部40は、目標とする基本量子化パラメータが含まれる量子化パラメータ範囲WQが「QP-pa」〜「QP-pb」であるとき、間引きされている量子化パラメータの発生符号量を、二次曲線を用いた補間によって発生符号量を算出する。また、量子化パラメータ範囲WQが「QP-pb」〜「QP-pc」,「QP-pc」〜「QP-pd」,「QP-pd」〜「QP-pe」,「QP-pe」〜「QP-pf」のとき、符号量制御部40は二次曲線を用いた補間によって発生符号量を算出する。符号量制御部40は、目標とする基本量子化パラメータが含まれる量子化パラメータ範囲WQが「QP-pa」以下の範囲であるとき、間引きされている量子化パラメータの発生符号量を、変化率を用いた補間によって算出する。符号量制御部40は、目標とする基本量子化パラメータが含まれる量子化パラメータ範囲WQが「QP-pf」以上の範囲であるといき、間引きされている量子化パラメータの発生符号量を、変化率を用いた補間によって算出する。
<6.二次曲線を用いた補間>
図9は、二次曲線を用いた補間による発生符号量の算出方法を説明するための図である。二次曲線を用いた補間では、第1プレエンコード部20で選択された3つの量子化パラメータQPを順に用いて補間を行う。例えば量子化パラメータQP(または平均値量子化パラメータAVG_QP)の値が「Xa」のときの発生符号量を「Ya」、「Xb」のときの発生符号量を「Yb」、「Xc」のときの発生符号量を「Yc」とする。このとき、符号量制御部40は、式(4)を用いて、量子化パラメータQP(または平均値量子化パラメータAVG_QP)が「Xm」であるときの発生符号量「Ym」を算出する。
Ym=Ya×(Xm−Xb)×(Xm−Xc)/(Xa−Xb)/(Xa−Xc)+
Yb×(Xm−Xa)×(Xm−Xc)/(Xb−Xa)/(Xb−Xc)+
Yc×(Xm−Xa)×(Xm−Xb)/(Xc−Xa)/(Xc−Xb)
・・・(4)
その後、目標符号量以下で最も目標符号量に近い発生符号量を判別して、この判別された発生符号量に対応する量子化パラメータQPを仮量子化パラメータQP_precode1とする。
また、平均量子化パラメータAVG_QPを用いる場合、目標符号量以下で最も目標符号量に近い発生符号量を判別して、この判別された発生符号量に対応する平均量子化パラメータを選択する。さらに、選択された平均量子化パラメータがいずれの量子化パラメータQPを変換したパラメータであるか判別して、判別した量子化パラメータQPを仮量子化パラメータQP_precode1とする。
なお、図10は、平均量子化パラメータを用いた仮量子化パラメータの決定処理を示すフローチャートを示している。また、図11は、平均量子化パラメータを用いた仮量子化パラメータの決定処理を説明するための図である。図10のステップST51で第1プレエンコード部20は、発生符号量の算出を行う。第1プレエンコード部20は。離散的に選択した量子化パラメータQP毎にプレエンコードを行い、発生符号量を計算してステップST32に進む。例えば図11の(A)において、黒丸印で示すように、離散的に選択した量子化パラメータQPについて発生符号量を算出する。
ステップST52で符号量制御部40は、量子化パラメータ範囲WQを判別してステップST53に進む。符号量制御部40は、目標符号量「Target_bits」とステップST51で算出した発生符号量を比較して、目標とする量子化パラメータQPが、発生符号量を算出した量子化パラメータQPによって示されるいずれの範囲内であるかにあるか判別する。
符号量制御部40は、例えばステップST51で算出した符号量と目標符号量を比較して、図11の(B)に示すように、算出した発生符号量が目標符号量「Target_bits」以上であって最も目標符号量に近い量子化パラメータである「QP-a」を判別する。また、符号量制御部40は、算出した発生符号量が目標符号量「Target_bits」未満であって最も目標符号量に近い量子化パラメータである「QP-b」を判別する。さらに、符号量制御部40は、判別した量子化パラメータ「QP-a」〜「QP-b」の範囲を目標とする量子化パラメータが含まれる量子化パラメータ範囲WQとする。
ステップST53で符号量制御部40は、量子化パラメータ範囲WQにおいて、間引きされている量子化パラメータQPについて、図6のステップST45で示すように、平均量子化パラメータを用いた補間処理によって発生符号量を算出する。符号量制御部40は、量子化パラメータ範囲WQの量子化パラメータおよび補間に用いる量子化パラメータを平均量子化パラメータに変換する。例えば、量子化パラメータQP-a,QP-bと、「QP-a」〜「QP-b」の範囲内の量子化パラメータQPを平均量子化パラメータAVG_QPに変換する。また、「QP-a」〜「QP-b」の範囲内の変換後の平均量子化パラメータAVG_QPについて、図11の(c)の白丸印で示すように発生符号量を補間処理によって算出する。
ステップST54で符号量制御部40は、仮量子化パラメータQP_precode1を決定する。符号量制御部40は、ステップST51で算出された発生符号量とステップST53で補間処理によって得られた発生符号量を目標符号量と比較する。また、符号量制御部40は、図11の(D)に示すように、発生符号量が目標符号量以下であって最も目標符号量に近い平均量子化パラメータAVG_QPを、仮平均量子化パラメータACV_QP_precode1とする。さらに、仮平均量子化パラメータACV_QP_precode1は、いずれの量子化パラメータQPが変換されたパラメータであるか判別して、判別した量子化パラメータを仮量子化パラメータQP_precode1とする。
このように二次曲線を用いた補間を行えば、従来の直線補間に比べて精度を高めることができる。すなわち、プレエンコードで符号量予測する素材は、原画に限られるものではなく、エンコードおよびデコードが行われた画像(以下「再エンコード素材」という)も用いられる。一般に、MPEGやAVCでエンコードおよびデコードが行われた再エンコード素材等の場合、量子化パラメータQPと符号量の関係は滑らかな変化とならず、図12に示すように曲線が段々状となった特性を示すことが知られている。
図13は、再エンコード素材等の符号化において、直線補間と二次曲線を用いた補間を示している。なお、図13において、直線補間は破線で、二次曲線は実線で示している。直線補間によって発生符号量を算出すると、実際の発生符号量に対する誤差が大きくなってしまうおそれがある。しかし、二次曲線を用いれば実際の発生符号量に対する誤差が小さくなり、直線補間を行う場合に比べて精度を高めることができる。
<8.変化率による補間>
符号量制御部40は、発生符号量の変化率を用いた補間において、選択した量子化パラメータの発生符号量から変化率を算出して、この算出した変化率を用いて変化率の算出に用いた量子化パラメータの間隔で補間を行う。
図14は、増加率を用いた補間方法を示している。この補間処理は、第1プレエンコード部20で算出された符号量よりも目標符号量が小さく、補間処理の基準点として用いるQP間の差が1の場合に用いられる処理である。また、例えば量子化パラメータQPが「X0」のときの符号量を「Y0」、量子化パラメータQPが「X1」のときの符号量を「Y1」とする。符号量制御部40は、第1プレエンコード部20で算出された符号量から変化率RTを式(5)に基づいて算出する。
RT=(Y1−Y0)/Y0 ・・・(5)
符号量制御部40は、算出されている発生符号量と、式(5)で求めた変化率RTから、この発生符号量が算出されている量子化パラメータQPよりも「1」だけ大きい量子化パラメータQPの発生符号量を式(6)に基づいて算出する。なお、式(6)において、発生符号量が算出されている量子化パラメータQPが「Xp」であるときの発生符号量を「Yp」、量子化パラメータQPが「Xp」よりも「1」だけ大きい「Xp+1」のときの符号量を「Yp+1」とする。
Yp+1=Yp×(1+RT) ・・・(6)
このようにして、発生符号量が算出されている量子化パラメータQPよりも値の大きい量子化パラメータQPに対して式(6)に基づき順次符号量の算出を行う。例えば、量子化パラメータQPが「X1」よりも「1」だけ大きい「X2」であるときの発生符号量「Y2」は、式(6)から「Y2=Y1×Y1/Y0」となる。また、量子化パラメータQPが「X1」よりも「2」だけ大きい「X3」であるときの発生符号量「Y3」は、式(6)から「Y3=Y2×Y1/Y0」となる。
その後、算出した符号量が目標符号量以下となったとき、このときの量子化パラメータQPを仮量子化パラメータQP_precode1とする。例えば図14では、量子化パラメータQPが「X4」のとき、算出した発生符号量が目標符号量以下となることから、このときの量子化パラメータQPである「X4」を仮量子化パラメータQP_precode1に決定する。
図15は、増加率を用いた他の補間方法を示している。この補間処理は、第1プレエンコード部20で算出された発生符号量よりも目標符号量が大きく、補間処理の基準点として用いる量子化パラメータQP間の差が1の場合に用いられる処理である。また、例えば量子化パラメータQPが「X0」のときの発生符号量を「Y0」、量子化パラメータQPが「X1」のときの発生符号量を「Y1」とする。符号量制御部40は、第1プレエンコード部20で算出された発生符号量から変化率RTを式(7)に基づいて算出する。
RT=(Y0−Y1)/Y1 ・・・(7)
符号量制御部40は、算出されている発生符号量と、式(7)で求めた変化率RTから、この発生符号量が算出されている量子化パラメータQPよりも「1」だけ小さい量子化パラメータQPの発生符号量を式(8)に基づいて算出する。なお、式(8)において、発生符号量が算出されている量子化パラメータQPが「Xq」であるときの発生符号量を「Yq」、量子化パラメータQPが「Xq」よりも「1」だけ小さい「Xq-1」のときの発生符号量を「Yq-1」とする。
Yq-1=Yq×(1+RT) ・・・(8)
このようにして、発生符号量が算出されている量子化パラメータQPよりも値の小さい量子化パラメータQPに対して式(8)に基づき順次発生符号量の算出を行う。例えば、量子化パラメータQPが「X0」よりも「1」だけ小さい「X-1」であるときの発生符号量「Y-1」は、式(8)から「Y-1=Y0×Y0/Y1」となる。また、量子化パラメータQPが「X0」よりも「2」だけ小さい「X-2」であるときの発生符号量「Y-2」は、式(8)から「Y-2=Y-1×Y0/Y1」となる。
その後、算出した発生符号量が目標符号量を超えて大きくなったとき、このときの量子化パラメータQPよりも「1」大きい値を仮量子化パラメータQP_precode1とする。例えば図15では、量子化パラメータQPが「X-3」のとき、算出した発生符号量が目標符号量を超えて大きくなることから、このときの量子化パラメータQPよりも「1」大きい値「X-2」を仮量子化パラメータQP_precode1とする。
次に、変化率の算出に用いた量子化パラメータの間隔が「1」よりも大きい場合について説明する。この場合、符号量制御部40は、変化率の算出に用いた量子化パラメータの間隔で補間を行って得られた発生符号量を用いて、変化率の算出に用いた量子化パラメータの間隔内に位置する量子化パラメータの発生符号量を直線補間でもとめる。
図16は、量子化パラメータ間の差が1以外の場合における増加率を用いた補間方法を示す図である。なお、図16では、第1プレエンコード部20で算出された発生符号量よりも目標符号量が小さく、補間処理の基準点として用いる量子化パラメータ間の差が例えば「3」の場合を示している。
ここで、量子化パラメータQPが「X0」のときの発生符号量を「Y0」、量子化パラメータQPが「X3」のときの発生符号量を「Y3」とする。符号量制御部40は、第1プレエンコード部20で算出された発生符号量から変化率RTを式(9)に基づいて算出する。
RT=(Y3−Y0)/Y0 ・・・(9)
符号量制御部40は、算出されている発生符号量と、式(9)で求めた変化率RTから、この発生符号量が算出されている量子化パラメータQPよりも「3」だけ大きい量子化パラメータQPの発生符号量を式(10)に基づいて算出する。なお、式(10)において、発生符号量が算出されている量子化パラメータQPが「Xp」であるときの発生符号量を「Yp」、量子化パラメータQPが「Xp」よりも「3」だけ大きい「Xp+3」であるときの発生符号量を「Yp+3」とする。
Yp+3=Yp×(1+RT) ・・・(10)
このようにして、発生符号量が算出されている量子化パラメータQPよりも値の大きい量子化パラメータQPに対して式(10)に基づき順次符号量の算出を、変化率の算出に用いた量子化パラメータの間隔で行う。例えば、量子化パラメータQPが「X3」よりも「3」だけ大きい「X6」であるのときの発生符号量「Y6」は、式(10)から「Y6=Y3×Y3/Y0」となる。また、量子化パラメータQPが「X3」よりも「6」だけ大きい「X9」であるときの発生符号量「Y9」は、式(10)から「Y9=Y6×Y3/Y0」となる。
その後、算出した発生符号量が目標符号量以下となったとき、量子化パラメータQPが「Xr」と「3」だけ前の「Xr-3」であるときの発生符号量を用いて直線補間を行う。この直線補間によって、変化率の算出に用いた量子化パラメータの間隔内に位置する量子化パラメータQPが「Xr-1」「Xr-2」であるときの発生符号量「Yr-1」「Yr-2」を式(11)(12)によって算出する。
Yr-1=(Yr−Yr-3)/(Xr−Xr-3)
×(Xr-1−Xr-3)+Yr-3 ・・・(11)
Yr-2=(Yr−Yr-3)/(Xr−Xr-3)
×(Xr-2−Xr-3)+Yr-3 ・・・(12)
符号量制御部40は、算出した発生符号量「Yr-3」〜「Yr」の中で、目標符号量以下で最も目標符号量に近い発生符号量を判別して、この判別された発生符号量に対応する量子化パラメータQPを仮量子化パラメータQP_precode1とする。例えば図16において、発生符号量「Yr-3」は「Y6」,「Yr」は「Y9」に相当しており、符号量制御部40は、「X8」を仮量子化パラメータQP_precode1に決定する。
図17は、量子化パラメータ間の差が1以外の場合における増加率を用いた他の補間方法を示す図である。なお、図17では、第1プレエンコード部20で算出された発生符号量よりも目標符号量が大きく、補間処理の基準点として用いる量子化パラメータ間の差が例えば「3」の場合を示している。
ここで、量子化パラメータQPが「X0」のときの発生符号量を「Y0」、量子化パラメータQPが「X3」のときの発生符号量を「Y3」とする。符号量制御部40は、第1プレエンコード部20で算出された発生符号量から変化率RTを式(13)に基づいて算出する。
RT=(Y0−Y3)/Y3 ・・・(13)
符号量制御部40は、算出されている発生符号量と、式(13)で求めた変化率RTから、この発生符号量が算出されている量子化パラメータQPよりも「3」だけ小さい量子化パラメータQPの発生符号量を式(14)に基づいて算出する。なお、式(14)において、発生符号量が算出されている量子化パラメータQPが「Xq」であるときの発生符号量を「Yq」、量子化パラメータQPが「Xq」よりも「3」だけ小さい「Xq-3」であるときの発生符号量を「Yq-3」とする。
Yq-3=Yq×(1+RT) ・・・(14)
このようにして、発生符号量が算出されている量子化パラメータQPよりも値の小さい量子化パラメータQPに対して式(14)に基づき順次発生符号量の算出を、変化率の算出に用いた量子化パラメータの間隔で行う。例えば、量子化パラメータQPが「X0」よりも「3」だけ小さい「X-3」であるときの発生符号量「Y-3」は、式(14)から「Y-3=Y0×Y0/Y3」となる。また、量子化パラメータQPが「X0」よりも「6」だけ小さい「X-6」であるときの発生符号量「Y-6」は、式(14)から「Y-6=Y-3×Y0/Y3」となる。
その後、算出した発生符号量が目標符号量を超えたとき、量子化パラメータQPが「Xs」と「3」だけ後の「Xs+3」であるときの発生符号量を用いて直線補間を行う。この直線補間によって、変化率の算出に用いた量子化パラメータの間隔内に位置する量子化パラメータQPが「Xs+1」「Xs+2」であるといきの発生符号量「Ys+1」「Ys+2」を式(15)(16)によって算出する。
Ys+1=(Ys+3−Ys)/(Xs+3−Xs)
×(Xs+1−Xs)+Ys ・・・(15)
Ys+2=(Ys+3−Ys)/(Xs+3−Xs)
×(Xs+2−Xs)+Ys ・・・(16)
符号量制御部40は、算出した発生符号量「Ys」〜「Ys+3」の中で、目標符号量以下で最も目標符号量に近い発生符号量を判別する。さらに、符号量制御部40は、判別された発生符号量に対応する量子化パラメータQPを仮量子化パラメータQP_precode1とする。例えば図17において、発生符号量「Ys」は「Y-3」、発生符号量「Ys+3」は「Y0」に相当しており、符号量制御部40は、「X-1」を仮量子化パラメータQP_precode1に決定する。
なお、量子化パラメータQPは、値が小さいとき量子化ステップの間隔が狭く、値が大きくなるとき量子化ステップの間隔が広くなる。また、画質の劣化を少なくするため転送レートが高められて目標符号量が大きくされると、所望の目標符号量とする符号化では量子化パラメータQPの値が小さくなる。したがって、第1プレエンコード部20は、量子化パラメータQPの最小値を選択する量子化パラメータのなかに含めるようにする。例えば図5の黒丸印で示すように量子化パラメータを選択する。このようにすれば、量子化パラメータQPの値が大きい場合にのみ変化率を用いた補間が行われて、他の場合には二次曲線を用いた補間が行われる。したがって、従来の直線補間に比べて、仮量子化パラメータQP_precode1を精度よく決定することが可能となる。
<8.最適量子化パラメータの決定処理>
符号量制御部40は、第2プレエンコード部20でプレエンコードを行って得られた発生符号量を目標符号量と比較して、目標符号量に対応する最適量子化パラメータQP_precode2を決定する。
ここで、仮量子化パラメータQP_precode1の発生符号量を「Generated_bits(QP_precode1)」、QP_precode1−1の発生符号量を「Generated_bits(QP_precode1−1)」,QP_precode1+1の発生符号量を「Generated_bits(QP_precode1+1)」とする。また、目標符号量を「Target_bits」とする。
Generated_bits(QP_precode1+1)<=Target_bits<=Generated_bits(QP_precode1−1)の場合、発生符号量が目標符号量以下で最も目標符号量に近くなる量子化パラメータQPを、最適量子化パラメータQP_precode2とする。
そうでない場合、以下のように、符号量制御部40は、量子化パラメータQPの変化に対する発生符合量の変化率を、第2のプレエンコードの結果から求める。ここで、量子化パラメータQPの値が近い場合、変化率は略一定であると考え、各量子化パラメータQPでの発生符号量を予測し、発生符号量が目標符号量以下で最も目標符号量に近くなる量子化パラメータQPを、最適量子化パラメータQP_precode2に決定する。
まず、量子化パラメータQPが「1」変わる毎に、発生符号量が何%変わるかを第2のプレエンコードの結果から式(17)(18)(19)のようにして求める。
DiffRatio_1=(Generated_bits(QP_precode1−1)−Generated_bits(QP_precode1))
/Generated_bits(QP_precode1) ・・・(17)
DiffRatio_2=(Generated_bits(QP_precode1)−Generated_bits(QP_precode1+1))
/Generated_bits(QP_precode1+1) ・・・(18)
DiffRatio =(DiffRatio_1+DiffRatio_2)/2 ・・・(19)
次に、発生符号量の変化率 DiffRatioを用いて、発生符号量を求める。ここで、DeltaQpを、求める量子化パラメータQPと仮量子化パラメータQP_precode1との差の絶対値とすると、量子化パラメータQPが仮量子化パラメータQP_precode1より小さいとき、発生符号量は式(20)から求める。
Generated_bits(QP)=Generated_bits(QP_precode1−1)
×(1.0+DiffRatio)^(DeltaQp-1) ・・・(20)
量子化パラメータQPが仮量子化パラメータQP_precode1より大きいとき、発生符号量は式(21)から求める。
Generated_bits(QP)=Generated_bits(QP_precode1+1)
×(1.0−DiffRatio)^(DeltaQp-1) ・・・(21)
このようにして、符号量制御部40は、目標符号量に最も近い量子化パラメータQPを本エンコードで使う最適量子化パラメータQP_precode2に決定する。
以上のように、この発明では、第1及び第2プレエンコード部で量子化と符号長計算部のみ並列に行い、他の処理要素は共用することで、回路規模を削減できる。また、第1のプレエンコードでは、精度を落として回路規模並びに処理負荷を抑えた並列プレエンコードを広い範囲の量子化パラメータQPで行い、目標符号量を実現する基本量子化パラメータを粗く見積もる。第2のプレエンコードでは、精度を上げた並列プレエンコードを狭い範囲で行い、本エンコードで使用する基本量子化パラメータを決定する。このようにすれば、画像符号化の精度を上げつつ処理負荷を軽減できる。
さらに、基本量子化パラメータを粗く見積もる処理では、第1のプレエンコードで選択された量子化パラメータにおける発生符号量から、間引かれている量子化パラメータにおける発生符号量が補間処理によって算出される。また、補間処理で用いる補間方法が発生符号量を算出する量子化パラメータの位置に応じて切り替えられる。このため、一つの補間方法で補間処理を行う場合に比べて補間処理の精度が高めることができる。すなわち、粗く見積もった基本量子化パラメータである仮量子化パラメータQP_precode1の精度が高くなり、本エンコードに用いる基本量子化パラメータを最適な量子化パラメータとすることができる。
したがって、1ピクチャに与えられた目標符号量に、画面内フィードバック制御を行わずに発生符号量を合わせ込むことが可能になる。これにより、フィードバックパラメータの不適切な初期値による弊害や、不適切な目標符号量配分など、フィードバック制御の問題を取り除くことが可能になる。その結果、目標符合量に発生符号量を一致させ、視覚特性を考慮した符号量配分、つまり量子化パラメータの決定が可能となる。
また、この発明の画像符号化装置及び画像符号化方法を、コンピュータ装置で実現するようにしてもよい。この場合、コンピュータ装置を画像符号化装置のように機能させるコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ可読な形式で提供できるようにする。例えば、光ディスクや磁気ディスク、半導体メモリなどの記憶媒体、あるいは、ネットワークなどの通信媒体によってコンピュータ・プログラムと提供できるようにする。このようにコンピュータ・プログラムをコンピュータ可読な形式で提供することにより、コンピュータ装置上でコンピュータ・プログラムに応じた処理が行われて、上述した画像符号化装置の動作や画像符号化方法を実現することが可能となる。
さらに、この発明は、上述した発明の実施の形態に限定して解釈されるべきではない。この発明の実施の形態は、例示という形態でこの発明を開示しており、この発明の要旨を逸脱しない範囲で当業者が実施の形態の修正や代用をなし得ることは自明である。すなわち、この発明の要旨を判断するためには、特許請求の範囲を参酌すべきである。
この発明の画像符号化装置と画像符号化方法では、第1の範囲内の量子化パラメータを離散的に選択して、この選択した量子化パラメータにおける発生符号量の算出が並列して行われる。また、選択されていない量子化パラメータについて補間処理により発生符号量を算出して、選択した量子化パラメータにおける発生符号量と補間により算出した発生符号量を目標符号量と比較して目標符号量に対応する仮量子化パラメータが決定される。この補間処理では、補間処理によって発生符号量を算出する量子化パラメータの位置に応じて補間方法が切り替えられる。さらに、第1の範囲よりも狭い範囲であって、仮量子化パラメータを基準とした第2の範囲の量子化パラメータにおける発生符号量の算出が並列して行われて、第2の範囲の量子化パラメータにおける発生符号量と目標符号量との比較から目標符号量に対応する最適量子化パラメータが決定される。この最適量子化パラメータを用いて画像を符号化が行われる。
このように、補間処理によって発生符号量を算出する量子化パラメータの位置に応じて補間方法が切り替えられることから、補間による発生符号量の予測精度を高めることが可能となり、1ピクチャに与えられた目標符号量に、画面内フィードバック制御を行わずに発生符号量を合わせ込むことを容易に行うことができる。したがって、画像を記録する電子機器例えばビデオカメラやレコーダ、画像編集装置等に好適である。
10・・・画像符号化装置、15,16・・・ディレイバッファ、20・・・第1プレエンコード部、21・・・画面内予測モード決定部、22,51・・・画面内予測処理部、23,32,52・・・DCT部、24,24-1〜24-n,33,33-1〜33-3,53・・・量子化部、25,25-1〜25-n,34,34-1〜34-3・・・符号長計算部、26・・・アクティビティ計算部、30・・・第2プレエンコード部、31・・・画面内予測処理部、35,55・・・逆量子化部、36,56・・・IDCT部、37,57・・・バッファ、40・・・符号量制御部、50・・・エンコード部、54・・・エントロピー符号化部

Claims (9)

  1. 第1の範囲内の量子化パラメータを離散的に選択して、該選択した量子化パラメータにおける発生符号量の算出を並列して行う第1の符号化部と、
    前記第1の範囲よりも狭い範囲であって、仮量子化パラメータを基準とした第2の範囲内の量子化パラメータにおける発生符号量の算出を並列して行う第2の符号化部と、
    前記第1の符号化部で選択されていない量子化パラメータについて補間処理により発生符号量を算出して、前記選択した量子化パラメータにおける発生符号量と補間により算出した発生符号量を目標符号量と比較して目標符号量に対応する前記仮量子化パラメータを決定する処理と、前記第2の符号化部で算出された発生符号量を目標符号量と比較して目標符号量に対応する最適量子化パラメータを決定する符号量制御部と、
    前記決定された最適量子化パラメータを用いて画像を符号化する第3の符号化部とを備え、
    前記符号量制御部は、前記補間処理によって発生符号量を算出する量子化パラメータの位置に応じて、補間方法を切り替える画像符号化装置。
  2. 前記符号量制御部は、選択された量子化パラメータでの発生符号量と目標符号量を比較して、補間処理によって発生符号量を算出する量子化パラメータを判別する
    請求項1記載の画像符号化装置。
  3. 前記符号量制御部は、前記補間処理によって発生符号量を算出する量子化パラメータが、前記第1の符号化部で選択した量子化パラメータで挟まれた位置であるか否かに応じて補間方法を切り替える
    請求項2記載の画像符号化装置。
  4. 前記符号量制御部は、前記補間処理によって発生符号量を算出する量子化パラメータが、前記第1の符号化部で選択した量子化パラメータで挟まれた位置であるとき、二次曲線を用いて補間を行う
    請求項3記載の画像符号化装置。
  5. 前記画像におけるブロック毎のアクティビティを算出するアクティビティ算出部をさらに備え、
    前記符号量制御部は、前記アクティビティに応じたオフセットを前記量子化パラメータに加えて発生符号量の算出を行うとき、前記目標符号量に対応する前記仮量子化パラメータが、前記オフセットを加算したときに予め設定されている範囲に制限される量子化パラメータの領域内である場合、前記量子化パラメータを平均量子化パラメータに変換して、平均量子化パラメータにおける発生符号量を算出する
    請求項4記載の画像符号化装置。
  6. 前記符号量制御部は、前記補間処理によって発生符号量を算出する量子化パラメータが、前記第1の符号化部で選択した量子化パラメータで挟まれた位置でないとき、前記第1の符号化部で算出された発生符号量の変化率を用いて補間を行う
    請求項3記載の画像符号化装置。
  7. 前記発生符号量の変化率を用いた補間では、選択した量子化パラメータの発生符号量から変化率を算出して、該算出した変化率を用いて該変化率の算出に用いた量子化パラメータの間隔で補間を行う
    請求項6記載の画像符号化装置。
  8. 前記発生符号量の変化率を用いた補間では、前記変化率の算出に用いた量子化パラメータの間隔が1よりも大きいとき、前記変化率の算出に用いた量子化パラメータの間隔で補間を行って得られた発生符号量を用いて、前記変化率の算出に用いた量子化パラメータの間隔内に位置する量子化パラメータの発生符号量を直線補間でもとめる
    請求項7記載の画像符号化装置。
  9. 第1の符号化部において、第1の範囲内の量子化パラメータを離散的に選択して、該選択した量子化パラメータにおける発生符号量の算出を並列して行うステップと、
    符号量制御部において、前記第1の符号化部で選択されていない量子化パラメータについて補間処理により発生符号量を算出して、前記選択した量子化パラメータにおける発生符号量と補間により算出した発生符号量を目標符号量と比較して目標符号量に対応する仮量子化パラメータを決定するステップと、
    第2の符号化部において、前記第1の範囲よりも狭い範囲であって、前記仮量子化パラメータを基準とした第2の範囲の量子化パラメータにおける発生符号量の算出を並列して行うステップと、
    前記符号量制御部において、前記第2の符号化部で算出された発生符号量を目標符号量と比較して目標符号量に対応する最適量子化パラメータを決定するステップと、
    第3の符号化部において、前記最適量子化パラメータを用いて画像を符号化するステップを有し、
    前記符号量制御部における前記補間処理では、前記補間処理によって発生符号量を算出する量子化パラメータの位置に応じて、補間方法を切り替える画像符号化方法。
JP2009099901A 2009-04-16 2009-04-16 画像符号化装置と画像符号化方法 Expired - Fee Related JP5257215B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2009099901A JP5257215B2 (ja) 2009-04-16 2009-04-16 画像符号化装置と画像符号化方法
US12/757,358 US8699563B2 (en) 2009-04-16 2010-04-09 Image coding apparatus and image coding method
CN2010101456386A CN101867811B (zh) 2009-04-16 2010-04-09 图像编码装置和图像编码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009099901A JP5257215B2 (ja) 2009-04-16 2009-04-16 画像符号化装置と画像符号化方法

Publications (2)

Publication Number Publication Date
JP2010252083A true JP2010252083A (ja) 2010-11-04
JP5257215B2 JP5257215B2 (ja) 2013-08-07

Family

ID=42959337

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009099901A Expired - Fee Related JP5257215B2 (ja) 2009-04-16 2009-04-16 画像符号化装置と画像符号化方法

Country Status (3)

Country Link
US (1) US8699563B2 (ja)
JP (1) JP5257215B2 (ja)
CN (1) CN101867811B (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014531863A (ja) * 2011-10-04 2014-11-27 トムソン ライセンシングThomson Licensing 画像ブロックをイントラ符号化するためのデバイスおよび方法、イントラ符号化済みの画像ブロックを担持する記憶媒体、ならびにイントラ符号化済みの画像ブロックを復号するための処理デバイスの使用
JP2017515378A (ja) * 2014-04-15 2017-06-08 クゥアルコム・インコーポレイテッドQualcomm Incorporated ディスプレイストリーム圧縮(dsc)において量子化パラメータ(qp)を選択するためのシステムおよび方法
JP2017216625A (ja) * 2016-06-01 2017-12-07 キヤノン株式会社 画像符号化装置及びその制御方法
JP2017216630A (ja) * 2016-06-01 2017-12-07 キヤノン株式会社 画像符号化装置及びその制御方法
JP2017224965A (ja) * 2016-06-14 2017-12-21 キヤノン株式会社 画像符号化装置及びその制御方法
JP2020505830A (ja) * 2017-01-18 2020-02-20 エスゼット ディージェイアイ テクノロジー カンパニー リミテッドSz Dji Technology Co.,Ltd レート制御方法及びレート制御装置
JP2022504778A (ja) * 2018-10-31 2022-01-13 エーティーアイ・テクノロジーズ・ユーエルシー コンテンツ適応量子化強度及びビットレートモデリング

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4569840B2 (ja) * 2007-09-12 2010-10-27 ソニー株式会社 画像符号化装置、画像符号化方法
BRPI0904325A2 (pt) * 2008-06-27 2015-06-30 Sony Corp Dispositivo e método de processamento de imagem.
JP5472105B2 (ja) * 2008-06-27 2014-04-16 ソニー株式会社 画像処理装置及び画像処理方法
BRPI0904320A2 (pt) * 2008-06-27 2015-06-30 Sony Corp Dispositivo e método de processamento de imagem
US8270745B2 (en) * 2008-06-27 2012-09-18 Sony Corporation Image processing device and image processing method
WO2012117744A1 (en) 2011-03-03 2012-09-07 Panasonic Corporation Method of encoding an image into a coded image, method of decoding a coded image, and apparatuses thereof
JP6056124B2 (ja) * 2011-09-05 2017-01-11 富士ゼロックス株式会社 画像処理装置及び画像処理プログラム
CA2856348C (en) * 2011-12-19 2021-06-08 Sony Corporation Image processing device and method
US9491475B2 (en) * 2012-03-29 2016-11-08 Magnum Semiconductor, Inc. Apparatuses and methods for providing quantized coefficients for video encoding
CN102752598A (zh) * 2012-07-09 2012-10-24 北京博雅华录视听技术研究院有限公司 快速自适应码率控制方法
US9392286B2 (en) 2013-03-15 2016-07-12 Magnum Semiconductor, Inc. Apparatuses and methods for providing quantized coefficients for video encoding
CN104219521A (zh) * 2013-06-03 2014-12-17 系统电子工业股份有限公司 降低内存需求的影像压缩架构及方法
JP6226578B2 (ja) * 2013-06-13 2017-11-08 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム
US9794575B2 (en) 2013-12-18 2017-10-17 Magnum Semiconductor, Inc. Apparatuses and methods for optimizing rate-distortion costs in video encoding
CN106231341B (zh) * 2016-07-26 2019-05-24 浙江大华技术股份有限公司 一种控制Motion JPEG编码码率的方法及装置
CN110267037B (zh) * 2019-06-21 2021-08-13 腾讯科技(深圳)有限公司 视频编码方法、装置、电子设备及计算机可读存储介质
EP4205393A1 (en) * 2020-11-03 2023-07-05 DeepMind Technologies Limited Rate control machine learning models with feedback control for video encoding

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05236427A (ja) * 1992-02-25 1993-09-10 Sony Corp 画像信号の符号化装置及び符号化方法
JPH06350985A (ja) * 1993-06-10 1994-12-22 Nec Corp 画像符号化方法および装置
JPH0898175A (ja) * 1994-09-21 1996-04-12 Nec Corp 画像符号化装置
JPH1023412A (ja) * 1996-07-03 1998-01-23 Fuji Xerox Co Ltd 符号化装置及び符号化方法
JP2007037184A (ja) * 1995-03-09 2007-02-08 Sony Corp 量子化装置及び量子化方法
JP2009071520A (ja) * 2007-09-12 2009-04-02 Sony Corp 画像符号化装置、画像符号化方法
WO2009157575A1 (ja) * 2008-06-24 2009-12-30 株式会社 資生堂 皮膚外用剤、美白剤、抗老化剤および抗酸化剤
WO2009157577A1 (ja) * 2008-06-27 2009-12-30 ソニー株式会社 画像処理装置及び画像処理方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5703646A (en) * 1993-04-09 1997-12-30 Sony Corporation Picture encoding method, picture encoding apparatus and picture recording medium
CA2137266C (en) 1993-04-09 2003-07-22 Tsuyoshi Oda Picture encoding method, picture encoding apparatus and picture recording medium
JP3358620B2 (ja) 1993-04-09 2002-12-24 ソニー株式会社 画像符号化方法及び画像符号化装置
US6023301A (en) * 1995-07-14 2000-02-08 Sharp Kabushiki Kaisha Video coding device and video decoding device
KR100571027B1 (ko) * 1996-09-06 2006-11-30 소니 가부시끼 가이샤 데이터부호화방법및장치
JP3351705B2 (ja) * 1997-04-25 2002-12-03 日本ビクター株式会社 動き補償符号化装置、動き補償符号化方法、及び記録媒体への記録方法
CN1254112C (zh) * 2003-09-09 2006-04-26 北京交通大学 一种任意形状区域分割的分形图像编解码方法
JP4273996B2 (ja) * 2004-02-23 2009-06-03 ソニー株式会社 画像符号化装置及び方法、並びに画像復号装置及び方法
JP4247680B2 (ja) * 2004-07-07 2009-04-02 ソニー株式会社 符号化装置、符号化方法、符号化方法のプログラム及び符号化方法のプログラムを記録した記録媒体
US20080310510A1 (en) * 2005-03-22 2008-12-18 Mitsubishi Electric Corporation Image Coding, Recording and Reading Apparatus
US7965896B2 (en) * 2006-10-12 2011-06-21 Kabushiki Kaisha Toshiba Method and apparatus for encoding image
CN101502122B (zh) * 2006-11-28 2011-06-01 松下电器产业株式会社 编码装置及编码方法
US20080285866A1 (en) * 2007-05-16 2008-11-20 Takashi Ishikawa Apparatus and method for image data compression
JP4842899B2 (ja) * 2007-08-15 2011-12-21 Kddi株式会社 動画像符号化装置、動画像符号化方法およびプログラム
US8238423B2 (en) * 2007-09-12 2012-08-07 Sony Corporation Image processing apparatus and method
JP2009152895A (ja) * 2007-12-20 2009-07-09 Panasonic Corp 符号量制御方法および装置、符号量制御プログラム、カメラシステム
US8270745B2 (en) * 2008-06-27 2012-09-18 Sony Corporation Image processing device and image processing method

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05236427A (ja) * 1992-02-25 1993-09-10 Sony Corp 画像信号の符号化装置及び符号化方法
JPH06350985A (ja) * 1993-06-10 1994-12-22 Nec Corp 画像符号化方法および装置
JPH0898175A (ja) * 1994-09-21 1996-04-12 Nec Corp 画像符号化装置
JP2007037184A (ja) * 1995-03-09 2007-02-08 Sony Corp 量子化装置及び量子化方法
JPH1023412A (ja) * 1996-07-03 1998-01-23 Fuji Xerox Co Ltd 符号化装置及び符号化方法
JP2009071520A (ja) * 2007-09-12 2009-04-02 Sony Corp 画像符号化装置、画像符号化方法
WO2009157575A1 (ja) * 2008-06-24 2009-12-30 株式会社 資生堂 皮膚外用剤、美白剤、抗老化剤および抗酸化剤
WO2009157577A1 (ja) * 2008-06-27 2009-12-30 ソニー株式会社 画像処理装置及び画像処理方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014531863A (ja) * 2011-10-04 2014-11-27 トムソン ライセンシングThomson Licensing 画像ブロックをイントラ符号化するためのデバイスおよび方法、イントラ符号化済みの画像ブロックを担持する記憶媒体、ならびにイントラ符号化済みの画像ブロックを復号するための処理デバイスの使用
JP2017515378A (ja) * 2014-04-15 2017-06-08 クゥアルコム・インコーポレイテッドQualcomm Incorporated ディスプレイストリーム圧縮(dsc)において量子化パラメータ(qp)を選択するためのシステムおよび方法
JP2017216625A (ja) * 2016-06-01 2017-12-07 キヤノン株式会社 画像符号化装置及びその制御方法
JP2017216630A (ja) * 2016-06-01 2017-12-07 キヤノン株式会社 画像符号化装置及びその制御方法
JP2017224965A (ja) * 2016-06-14 2017-12-21 キヤノン株式会社 画像符号化装置及びその制御方法
JP2020505830A (ja) * 2017-01-18 2020-02-20 エスゼット ディージェイアイ テクノロジー カンパニー リミテッドSz Dji Technology Co.,Ltd レート制御方法及びレート制御装置
US11159796B2 (en) 2017-01-18 2021-10-26 SZ DJI Technology Co., Ltd. Data transmission
JP2022504778A (ja) * 2018-10-31 2022-01-13 エーティーアイ・テクノロジーズ・ユーエルシー コンテンツ適応量子化強度及びビットレートモデリング
JP7265623B2 (ja) 2018-10-31 2023-04-26 エーティーアイ・テクノロジーズ・ユーエルシー コンテンツ適応量子化強度及びビットレートモデリング

Also Published As

Publication number Publication date
CN101867811B (zh) 2012-09-05
US8699563B2 (en) 2014-04-15
CN101867811A (zh) 2010-10-20
US20100266047A1 (en) 2010-10-21
JP5257215B2 (ja) 2013-08-07

Similar Documents

Publication Publication Date Title
JP5257215B2 (ja) 画像符号化装置と画像符号化方法
TWI516095B (zh) 利用轉換操作之影音編碼及解碼方法
US9282329B2 (en) Methods and devices for data compression using offset-based adaptive reconstruction levels
US6587508B1 (en) Apparatus, method and computer program product for transcoding a coded moving picture sequence
US7457471B2 (en) Method of adaptively encoding and decoding motion image and apparatus therefor
US7653129B2 (en) Method and apparatus for providing intra coding frame bit budget
US9906797B2 (en) Multi-mode error concealment, recovery and resilience coding
JP4889231B2 (ja) 画像符号化方法および装置、画像復号方法
JP5472105B2 (ja) 画像処理装置及び画像処理方法
US8396311B2 (en) Image encoding apparatus, image encoding method, and image encoding program
US20090296812A1 (en) Fast encoding method and system using adaptive intra prediction
US10284851B2 (en) Method of determining binary codewords for transform coefficients
CN102986211A (zh) 视频编码中的速率控制
KR20030073254A (ko) 시공간적 복잡도를 고려한 적응적 동영상 부호화 방법 및그 장치
JPWO2009157579A1 (ja) 画像処理装置及び画像処理方法
JP5900163B2 (ja) 画像処理装置、画像処理方法およびプログラム
JP2001145113A (ja) 画像情報変換装置及び方法
US8422562B2 (en) Decoding circuit, decoding method, and image reproducing apparatus
US9094716B2 (en) Methods for coding and decoding a block of picture data, devices for coding and decoding implementing said methods
US20130083858A1 (en) Video image delivery system, video image transmission device, video image delivery method, and video image delivery program
JP4277530B2 (ja) 画像処理装置および符号化装置とそれらの方法
US8811474B2 (en) Encoder and encoding method using coded block pattern estimation
JP2012138661A (ja) 画像処理装置および方法
JP4089753B2 (ja) 画像圧縮符号化装置及び方法、プログラム、並びに記録媒体
EP1944980A2 (en) Bit rate control algorithm

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120229

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130122

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130305

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130408

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

Free format text: PAYMENT UNTIL: 20160502

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees