JP4677932B2 - 動画像符号化方法及び動画像符号化装置とプログラムならびに媒体 - Google Patents

動画像符号化方法及び動画像符号化装置とプログラムならびに媒体 Download PDF

Info

Publication number
JP4677932B2
JP4677932B2 JP2006059988A JP2006059988A JP4677932B2 JP 4677932 B2 JP4677932 B2 JP 4677932B2 JP 2006059988 A JP2006059988 A JP 2006059988A JP 2006059988 A JP2006059988 A JP 2006059988A JP 4677932 B2 JP4677932 B2 JP 4677932B2
Authority
JP
Japan
Prior art keywords
coding
type
encoding
cost
intra
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
JP2006059988A
Other languages
English (en)
Other versions
JP2007243337A (ja
Inventor
敦史 幡生
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2006059988A priority Critical patent/JP4677932B2/ja
Publication of JP2007243337A publication Critical patent/JP2007243337A/ja
Application granted granted Critical
Publication of JP4677932B2 publication Critical patent/JP4677932B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明は、圧縮効率の低下を少なく抑えながら計算量を削減し、計算量の制御が可能になる動画像符号化方法および装置ならびにプログラムを提供することを目的とする。
大量の動画像データを効率良く圧縮符号化する方法として予測符号化、変換符号化、量子化、可変長符号化等の技術を組み合わせた方法が広く利用されている。代表例としては、 ITU−Tで勧告化されたH.261、H.263方式や、ISO/IEC JTC1/SC29/WG11(MPEG)で規格化されたMPEG−1,2,4方式があり、最新の方式としては、ITU−TとMPEGが共同で規格化したH.264/MPEG−4AVC方式がある。
これらの符号化方式では、入力された動画像をマクロブロックと呼ばれる特定サイズの小ブロック(例えば16x16画素)に分解し、マクロブロックを単位として予測符号化、変換符号化、量子化、可変長符号化等の処理を施すことで、動画像を圧縮する。
予測符号化は、ブロック信号を周辺信号から予測した結果と、当該ブロック信号の差分を符号化することで、出力信号の電力を抑え圧縮効率を高める方法であり、時間または空間方向に強い相関を持つ動画像に対し有効な圧縮手法である。予測する対象として、画素信号ではなく、変換符号化や量子化の出力信号を予測する場合もある。
予測符号化は、大別して、
・時間的に異なる別のフレーム(参照フレーム)から予測信号を生成するインター予測と、
・当該ブロックと同一のフレームから生成するイントラ予測と、
の二つのタイプがある。
インター予測は、動き補償に基づく予測方法が広く利用されている。動き補償は、(符号化済みの)参照フレームから画素をサンプリングして予測画像を生成する処理であり、 ・1枚のフレームから予測する片方向(Pタイプ)予測、
・2枚のフレームから作成された予測画像を合成する双方向(Bタイプ)予測、
がある。
参照フレームにおけるサンプル位置と予測されるブロック位置の差分は、「動きベクトル」と呼ばれる。整数画素の動きベクトルだけでなく、2分の1画素や4分の1画素単位の小数で指定された位置からサンプリングを行う小数動き補償技術も開発されている。
符号化時に利用可能な予測の種類(Pタイプ、Bタイプ)、ブロックサイズ、動きベクトル精度は、符号化方式ごとに定義されている。
例えばH.264方式のbaseline profileは、Pタイプのインター予測を利用し、動きベクトルの精度は4分の1画素である。予測ブロックのサイズは、最小で4×4画素から最大16×16画素まで選択可能であり、16×16画素のマクロブロックを、図6に示すパターンで複数のサブブロックに分割する。
イントラ予測は、ブロック画像またはブロック画像に変換を施した係数、量子化信号を、同一フレーム内のローカルデコード画像またはローカルデコード時の中間信号から予測する処理である。
例えばMPEG−4方式simple profileでは、離散コサイン変換後のDC係数とAC係数を左または上側に位置するブロックの変換係数から予測する。予測のブロックサイズは8×8画素である。
H.264方式baseline profileでは、上方または左方向に位置するマクロブロックのローカルデコード画像から画像信号を予測する。予測単位は、輝度画像の場合16×16画素または4×4画素から選択可能であり(図7(a)参照)、色差信号は8×8画素である(図7(b)参照)。
予測方法は、縦、横、斜め方向の補間予測、DC予測、平面予測など複数のモードが定義され、輝度16×16画素の場合4モード、輝度4×4画素の場合9モード、色差8×8画素の場合4モードから最適なモードをブロック毎に選択可能である。
このようなイントラ/インター予測符号化を用いて、動画像の画質を落とさずに効率良く圧縮を行うには、動画像符号化装置またはプログラムにおいて、
・予測タイプ(イントラ、インター)、
・予測パラメータ(サブブロック分割モード、動きベクトル、イントラ予測モード)
を適切に選択することが重要である。
具体的には、
・入力画像に類似した予測画像が生成され、かつ、
・予測パラメータの符号化に要するビット数も少ない、
予測モードの選択が必要である。
予測モードの選択が不適切である場合、予測誤差の符号量が増加し、かつ量子化誤差による画質劣化が増大する。
多くの動画像符号化装置または符号化プログラムでは、イントラ/インター予測の適切さを表す符号化コスト関数を定義して、このコスト関数を最小化するパラメータを探索する方法で、各マクロブロックの予測符号化モード、予測パラメータを決定する。
例えば、H.264のリファレンスエンコーダJM(Joint Meeting)は、次式(1)に示すRD_costを符号化コスト関数として用いる。
RD_cost = D+λ×R
・・・(1)
式(1)において、
Dは、予測画像と入力画像の差分を評価する指標であり、JMでは、予測画像と入力画像間における信号差分の絶対値の総和(SAD:差分絶対値和)が用いられる。
Rは、予測パラメータを符号化するために必要なビット数であり、サブブロック分割モード、動きベクトル、イントラ予測モードを表現するための符号量を含む。
λは、RをDに換算するための係数であり、量子化ステップサイズに依存して設定される。
このような符号化コスト関数に基づき予測モードとパラメータを決定する手順として、始めにインター予測のコスト最小化パラメータ探索と、イントラ予測のコスト最小化パラメータ探索を行い、その結果得られた符号化コスト最小値を比較して、利用する予測タイプ(インター、イントラ)を決定するのが、一つの自然なフローである。
図2は、このような符号化モード決定フローの第1例(「従来例1」ともいう)を示す図である。
動画像符号化装置は、小ブロック画像を入力し符号化を開始すると、ステップS201で、インター予測パラメータと符号化コスト最小値の計算処理(動きベクトル探索)を行う。
次に、ステップS202で、イントラ予測パラメータと符号化コストの決定処理を行う。
ステップS203のタイプ判定処理では、ステップS201で得られたインター符号化コストと、ステップS202で得られたイントラ符号化コストとを比較し、その大小関係から、当該ブロックをインター符号化(ステップS204)、イントラ符号化(ステップS205)するかを決定する。
インター予測符号化に関するコスト・パラメータ計算(ステップS201)の実際は、動きベクトル探索と呼ばれる探索処理である。圧縮効率を高めるために好適な動きベクトル探索方法は、選択可能な全てのサブブロック分割モード、動きベクトル値の組み合わせに対して符号化コスト関数を計算し、最小にするパラメータを得る方法(全探索法)である。
しかしながら、全探索法は、評価すべき予測パラメータ数が膨大になるため、現実的に使用することは、困難である。
例えば、式(1)の符号化コスト関数RD_costを、16×16画素のブロックに対して計算すると、画素数である16×16=256回の差分計算が必要である。
動きベクトルの水平・垂直座標を−16から+16画素まで変えながら、RD_costを計算すると、ベクトル座標の精度が整数であったとしても、1個の小ブロックあたり、(2×16+1)×(2×16+1)=1089回のコスト関数の計算が必要であり、差分計算の画素数は、約28万回に達する。
さらに、動きベクトルの精度が、2分の1、4分の1画素になると、計算量は、4倍、16倍に増加し、さらにサブブロック分割モードの組み合わせも考慮すると、膨大な計算量になる。
そこで、動きベクトル探索については、従来より、様々な計算量削減方法が利用されている。そのうちの代表的な方法を以下に示す。
・ 粗い精度(例えば1画素や2画素等)で動きベクトルを求めた後、そのベクトル近傍を詳細な精度(例えば小数画素)で探索する。
・ 周囲の探索済み動きベクトルを元に動きベクトルの探索範囲を絞り込む。
・ 複数個のサブブロックの動きベクトル探索範囲を、一定範囲内に絞り込む。
一方、イントラ予測符号化に関するパラメータ探索処理(ステップS202)は、選択可能な予測パラメータの個数がインター予測のパラメータよりも少ないため、全探索法が有力な探索手法である。
特にH.264よりも以前に開発された符号化方式は、選択可能なイントラ予測モードの個数が小数に限定されており、例えばMPEG−4方式において、符号化時に選択できるイントラ予測パラメータはAC係数の予測を有効にするか否かだけであり、2通りのRD_cost計算するだけでよい。
しかしながら、H.264方式baseline profileでは、選択可能なイントラ予測モード数が多く、かつ、予測単位も4×4画素か16×16画素かを選択可能である。このため、全探索法に基づくイントラ予測パラメータ探索処理(ステップS202)は、相応の計算量を要する処理である。
以上説明した第1例は、予測符号化タイプおよびパラメータを決定するための有力な方法の一つである。しかしながら、予測パラメータの探索に要する計算量が大きいために、このフローを簡略化した方法で探索が行われる例もある。
図3は、動画像符号化装置が入力ブロックの符号化タイプを決定するフローの第2例(「従来例2」ともいう)を示す。この例は、図2に示した前記第1例と異なり、インター符号化コストとパラメータの探索処理が、ステップS301とS304の2つに分かれている。また、イントラ符号化コストとパラメータの探索処理が、ステップS302とS305の2つに分かれている。
ステップS301の第1インター符号化コスト・パラメータ計算は、ステップS304の第2インター符号化コスト・パラメータ計算よりも粗い精度で、インター符号化コストを求める処理である。例えば、ステップS304が、1/4画素精度で動きベクトルを求めてRD_cost最小値を計算するのに対して、ステップS301では、整数画素の粗い精度で動きベクトルを求めてRD_cost最小値を計算するとする。
同様に、ステップS302の第1イントラ符号化コスト・パラメータ計算は、ステップS305の第2イントラ符号化コスト・パラメータ計算よりも粗い精度でイントラ符号化コストを求める処理である。例えば、ステップS302は、画像の平滑さと相関のある特徴量からイントラ符号化コストを推定する計算処理であり、ステップS303は、全探索法に基づき実際に全てのイントラ予測画像を作成してからRD_cost最小値を求める処理であるとする。
ここで、第2例における、ステップS301とS302の処理に必要な計算量は、それぞれ、ステップS304、S305よりも少ないものとする。また、ステップS301とS302、S304、S305に要する計算量の総和は、前記第1例における、ステップS201,S202に要する計算量の総和と同程度であるとする。
前記第2例の前記第1例に対する相違点を説明すると、図2の前記第1例が、イントラ符号化コストとインター符号化コストを計算し終えてから、符号化タイプを決定するのに対して、図3の第2例では、粗い精度で求められたイントラ符号化コストとインター符号化コストを元に符号化タイプを決定することが異なる。
前記第2例の符号化タイプ選択は、前記第1例よりも、不適切なタイプを選択する可能性が高く、結果的に圧縮効率は低下する。
しかしながら、ステップS303でインター符号化タイプが選択された場合はに、ステップS305の第2イントラ符号化コスト・パラメータ計算を省略することができる。また、ステップS303でイントラ符号化タイプが選択された場合は、ステップS304の第2インター符号化コスト・パラメータ計算を省略することができる。すなわち、いずれのタイプが選択された場合でも、第2例の符号化に必要な計算量は第1例よりも小さくなる。
図4は、動画像符号化装置が、入力ブロックの符号化タイプを決定するまでのフローの第3例(「従来例3」ともいう)を示す。
この第3例は、前記第2例と同様に、イントラ符号化パラメータおよび符号化コストの計算処理が、ステップS402とS405の2つに分かれており、必要な計算量と符号化コスト計算の精度が異なっている。
しかし、インター符号化コスト・パラメータ計算については、ステップS401の1箇所で実行する。
この第3例では、ステップS401とS402でそれぞれ計算されたインター符号化コストとイントラ符号化コストを、ステップS403で比較し、当該ブロックが高い確率でインター符号化されると判断される場合には、ステップS407に進み、第2イントラ符号化コスト・パラメータ計算をスキップする。
ステップS403において、当該ブロックがインター符号化される確信が得られない場合は、ステップS405に進み、イントラ符号化コスト・パラメータの計算を実行して、S406で符号化タイプを判定する。
このタイプ判定は、前記第2例のステップS303と同等の精度で実行できる。
この第3例の一つの特徴は、ステップS403におけるイントラスキップ判定率を高めることにより、前記第1例よりも計算量を削減できることである。
また、ステップS403におけるイントラスキップ判定の誤り(本来イントラ符号化すべきブロックをインターと判断する確率)を低く抑えられれば、前記第1例と同程度の圧縮効率を保つことが可能である。
動きの少ない画像シーンでは、時間方向に強い相関を持つことが多く、ステップS403におけるイントラスキップが有効に機能する確率が高いことが期待される。
なお、非特許文献3には、H.264符号化において、前記第3例のフローでイントラスキップを行う手法の検討が記載されており、演算量低減の有効性が示されている。
前述したように、当該ブロックの符号化タイプをインターかイントラのいずれかに決定するまでのフローとして、両方のタイプの符号化コストを正確に計算してからタイプを決定する第1例は、圧縮効率および符号化画質の面で好適な方法であるが、計算量が大きい、という問題がある。
簡略な方法で計算されたイントラ符号化コストとインター符号化コストを用いて符号化タイプを決定する前記第2例(図3参照)は、前記第1例(図2参照)よりも計算量を少なくすることが可能であるが、簡略化によるタイプ判定の誤りによって符号化効率が低下する場合がある。
簡略な方法で計算されたイントラ符号化コストを用いて、イントラ評価のスキップを判断する従来の第3例は、時間相関の高い画像入力に対しては効果的であり、画質を落とさずに計算量を削減することが可能である。しかしながら、激しいパンやシーンチェンジにより時間相関が低下すると、イントラ評価がスキップされる符号化ブロックの割合が減少するため、計算量の削減効果が得られなくなる。
更に、前記第3例(図4参照)において、イントラ評価のスキップ率が入力画像に依存して変動することは、実時間で動画像符号化を行う場合に問題になることがある。最悪の場合でも、1フレームの損失もなく符号化を処理させるためには、前記第1例の符号化を実時間処理させるだけの性能が装置に要求される。
これを防ぐために、前記第3例の改良として、イントラ評価のスキップ率を一定に保つことで計算量の変動を抑える方法も考えられる。しかしながら、イントラ符号化すべき画像ブロックをインター符号化する確率が高まるため、結果的に圧縮効率を損なう場合がある。
したがって、本発明の目的は、圧縮効率の低下を避けつつ、より少ない計算量で符号化タイプの選択を行う動画像符号化方法または装置ならびにプログラムを提供することにある。上記目的に加えて、入力画像に依存した計算量の変動を低減する、ことも本発明の目的である。
本願で開示される発明は、上記課題を解決するため、概略以下の構成とされる。
本発明の1つの側面(アスペクト)に係る方法は、動画像を小ブロックに分割しイントラ符号化とインター符号化のいずれかを用いて符号化する動画像符号化方法であって、前記小ブロックを符号化する際、インター及びイントラの各々のタイプで符号化する場合の第1の符号化コストを計算し、得られた第1の符号化コストの結果に基づき優先符号化タイプを1つ選択し、前記優先符号化タイプで符号化される場合の第2の符号化コストを計算し、得られた結果に基づいて前記優先符号化タイプ以外のタイプに関する第2の符号化コスト計算をスキップするか否か判定し、判定の結果、前記第2の符号化コスト計算をスキップする場合には、前記小ブロックを、選択された前記優先符号化タイプで符号化する、ことを特徴とする。
本発明においては、各々のタイプで符号化する場合の前記第1の符号化コストの算出に要する計算量が、前記第2の符号化コストの算出に要する計算量よりも少ない。
本発明に係る方法においては、
(a)前記優先符号化タイプとしてイントラ符号化とインター符号化のいずれか一方を選択し、
(b)前記優先符号化タイプとしてイントラ符号化が選択された場合、イントラタイプに関する第2の符号化コストを計算し、
(c)前記ステップ(b)で得られた第2の符号化コストの値と、インタータイプで符号化する場合の前記第1の符号化コスト値から、インタータイプで符号化する場合の第2の符号化コストの計算をスキップするか否か判定し、
(d)前記ステップ(c)での判定の結果、インタータイプで符号化する場合の第2の符号化コスト計算をスキップする場合は、前記小ブロックの符号化タイプとしてイントラ符号化を選択し、
(e)前記ステップ(c)での判定の結果、インタータイプで符号化する場合の第2の符号化コスト計算をスキップしない場合には、インタータイプで符号化する場合の第2の符号化コストを計算し、
(f)ステップ(e)で得られたインタータイプに関する第2の符号化コストの値と、前記ステップ(b)で得られたイントラタイプに関する第2の符号化コスト値とに基づいて、前記小ブロックの符号化タイプとして、インター又はイントラ符号化を選択し、
(g)前記ステップ(a)で前記優先符号化タイプとしてインタータイプが選択された場合、インタータイプに関する第2の符号化コストを計算し、
(h)前記ステップ(g)で得られたインタータイプに関する第2の符号化コストの値と、イントラタイプで符号化する場合の前記第1の符号化コスト値から、イントラタイプで符号化する場合の第2の符号化コストの計算をスキップするか否か判定し、
(i)前記ステップ(h)の判定の結果、イントラタイプで符号化する場合の第2の符号化コストの計算をスキップする場合には、前記小ブロックの符号化タイプとしてインタータイプを選択し、
(j)前記ステップ(h)の判定の結果、イントラタイプで符号化する場合の第2の符号化コストの計算をスキップしない場合には、イントラタイプで符号化する場合の第2の符号化コストを計算し、
(k)前記ステップ(j)で得られたイントラタイプに関する第2の符号化コストの値と、前記ステップ(g)で得られたインタータイプに関する第2の符号化コスト値とに基づいて、前記小ブロックの符号化タイプとして、インター又はイントラ符号化を選択する。
本発明においては、符号化タイプに関し、そのタイプが優先符号化タイプとして選択された小ブロックの個数と、優先タイプとして選択された上で、第2の符号化コスト計算がスキップされた小ブロックの個数と、を計数した結果を、前記スキップ率制御パラメータの制御に利用する。
本発明においては、符号化タイプに関し、そのタイプが優先符号化タイプとして選択された小ブロックの個数と、優先タイプとして選択された上で第2の符号化コスト計算がスキップされた小ブロックの個数と、を計数した結果を利用して、前記優先符号化タイプの選択条件を修正する。
本発明においては、符号化タイプに関し、そのタイプが優先符号化タイプとして選択された小ブロックの個数と、優先タイプとして選択された上で第2の符号化コスト計算がスキップされず、そのタイプと異なるタイプで符号化された小ブロックの個数を計数した結果を、前記スキップ率制御パラメータの制御に利用する。
本発明においては、符号化タイプに関し、そのタイプが優先符号化タイプとして選択された小ブロックの個数と、優先タイプとして選択された上で第2の符号化コスト計算がスキップされず、そのタイプと異なるタイプで符号化された小ブロックの個数とを計数した結果を利用して、前記優先符号化タイプの選択条件を修正する。
本発明においては、前記小ブロックよりも後で符号化される1個以上の小ブロックに対して、各々の符号化タイプに関する第1の符号化コストを計算して得られた結果を、前記優先符号化タイプの選択と前記スキップ率制御パラメータの制御に利用する、ことを特徴とする。
本発明においては、前記小ブロックを含む複数個の小ブロックに対して、各々の符号化タイプに関する第1の符号化コストを計算して得られた結果を、前記優先符号化タイプの選択と前記スキップ率制御パラメータの制御に利用する。
本発明の別の側面に係る動画像符号化装置は、動画像を小ブロックに分割しイントラ符号化とインター符号化のいずれかを用いて符号化する装置であり、インター符号する場合の第1及び第2の符号化コストをそれぞれ計算する第1及び第2のインター符号化コストパラメータ決定手段と、イントラ符号化する場合の第1及び第2の符号化コストをそれぞれ計算する第1及び第2のイントラ符号化コストパラメータ決定手段と、前記小ブロックをインター符号化するインター符号化手段と、前記小ブロックをイントラ符号化するイントラ符号化手段と、制御手段と、を備えている。前記制御手段は、前記小ブロックを符号化する際、前記第1インター符号化コストパラメータ決定手段と前記第1イントラ符号化コストパラメータ決定手段での各第1の符号化コストの結果に基づき、優先符号化タイプとして、インター又はイントラ符号化を選択し、前記第2インター符号化コストパラメータ決定手段と前記第2イントラ符号化コストパラメータ決定手段のうち選択された前記優先符号化タイプに対応する一方が第2の符号化コストを計算し、得られた第2の符号化コストの計算結果に基づいて、前記第2インター符号化コストパラメータ決定手段と前記第2イントラ符号化コストパラメータ決定手段のうち前記優先符号化タイプとして選択されなかった他方のタイプに対応する他方による第2の符号化コスト計算をスキップするか否か判定し、判定の結果、前記第2の符号化コスト計算をスキップする場合には、前記第2インター符号化コストパラメータ決定手段と前記第2イントラ符号化コストパラメータ決定手段のうち前記優先符号化タイプとして選択されなかった他方のタイプに対応する他方による第2の符号化コスト計算を省略して、前記小ブロックを、前記優先符号化タイプである、インター又はイントラタイプに対応した符号化手段で符号化する。本発明において、前記第1の符号化コストの算出に要する計算量が、前記第2の符号化コストの算出に要する計算量よりも少ない、ことを特徴とする。
本発明において、前記制御手段は、前記優先符号化タイプとしてイントラ符号化とインター符号化のいずれか一方を選択し、
イントラ符号化が前記優先符号化タイプとして選択された場合、前記第2のイントラ符号化コストパラメータ決定手段にて第2の符号化コストを計算し、
前記制御手段は、
前記第2のイントラ符号化コストパラメータ決定手段による第2の符号化コストの値と、前記第1のインター符号化コストパラメータ決定手段による前記第1の符号化コストの値とから、前記第2のインター符号化コストパラメータ決定手段による第2の符号化コストの計算をスキップするか否か判定し、
前記判定の結果、前記第2のインター符号化コストパラメータ決定手段による第2の符号化コストの計算をスキップする場合には、前記小ブロックの符号化タイプとして、イントラを選択し、
前記判定の結果、前記第2のインター符号化コストパラメータ決定手段による第2の符号化コストの計算をスキップしない場合には、前記第2のインター符号化コストパラメータ決定手段にて第2の符号化コストを計算し、
前記第2のインター符号化コストパラメータ決定手段による前記第2の符号化コストの値と、前記第2のイントラ符号化コストパラメータ決定手段による前記第2の符号化コストの値とに基づいて、前記小ブロックの符号化タイプを選択し、
前記優先符号化タイプとして、インタータイプが選択された場合、前記第2のインター符号化コストパラメータ決定手段にて第2の符号化コストを計算し、
前記第2のインター符号化コストパラメータ決定手段による第2の符号化コストの値と前記第1のイントラ符号化コストパラメータ決定手段による第1の符号化コストの値とから、前記第2のイントラ符号化コストパラメータ決定手段による第2の符号化コストの計算をスキップするか否か判定し、
前記判定の結果、前記第2のイントラ符号化コストパラメータ決定手段による第2の符号化コストの計算をスキップする場合には、前記小ブロックの符号化タイプとしてインタータイプを選択し、
前記第2のイントラ符号化コストパラメータ決定手段による第2の符号化コストの計算をスキップしない場合には、前記第2のイントラ符号化コストパラメータ決定手段にて第2の符号化コストを計算し、
前記第2のイントラ符号化コストパラメータ決定手段による第2の符号化コストの値と前記第2のインター符号化コストパラメータ決定手段による第2の符号化コストの値とに基づいて、前記小ブロックの符号化タイプを選択する、制御を行う。
本発明において、前記制御手段は、前記第2の符号化コスト計算のスキップ率と相関を持つスキップ率制御パラメータを、符号化タイプ毎に備え、前記小ブロックの符号化に利用可能な計算量又は処理時間の割当に応じて、前記制御パラメータを調整することで、符号化に要する計算量を制御するようにしてもよい。
本発明において、前記制御手段は、符号化タイプに関し、そのタイプが優先符号化タイプとして選択された小ブロックの個数と、優先タイプとして選択された上で、第2の符号化コスト計算がスキップされた小ブロックの個数と、を計数した結果を、前記スキップ率制御パラメータの制御に利用するようにしてもよい。
本発明において、前記制御手段は、符号化タイプに関し、そのタイプが優先符号化タイプとして選択された小ブロックの個数と、優先タイプとして選択された上で第2の符号化コスト計算がスキップされた小ブロックの個数と、を計数した結果を利用して、前記優先符号化タイプの選択条件を修正する、ようにしてもよい。
本発明において、前記制御手段は、符号化タイプに関し、そのタイプが優先符号化タイプとして選択された小ブロックの個数と、優先タイプとして選択された上で第2の符号化コスト計算がスキップされず、そのタイプと異なるタイプで符号化された小ブロックの個数を計数した結果を、前記スキップ率制御パラメータの制御に利用するようにしてもよい。
本発明において、前記制御手段は、符号化タイプに関し、そのタイプが優先符号化タイプとして選択された小ブロックの個数と、優先タイプとして選択された上で第2の符号化コスト計算がスキップされず、そのタイプと異なるタイプで符号化された小ブロックの個数とを計数した結果を利用して、前記優先符号化タイプの選択条件を修正する、ようにしてもよい。
本発明において、前記制御手段は、前記小ブロックよりも後で符号化される1個以上の小ブロックに対して、各々の符号化タイプに関する第1の符号化コストを計算して得られた結果を、前記優先符号化タイプの選択と前記スキップ率制御パラメータの制御に利用する、ようにしてもよい。
本発明において、前記制御手段は、前記小ブロックを含む複数個の小ブロックに対して、各々の符号化タイプに関する第1の符号化コストを計算して得られた結果を、前記優先符号化タイプの選択と前記スキップ率制御パラメータの制御に利用するようにしてもよい。
本発明の別の側面(アスペクト)に係るコンピュータプログラムは、動画像を小ブロックに分割しイントラ符号化とインター符号化のいずれかを用いて符号化する動画像符号化装置を構成するコンピュータに、
前記小ブロックを符号化する際、
インター及びイントラの各々のタイプで符号化する場合の第1の符号化コストを計算し、
得られた第1の符号化コストの結果に基づき優先符号化タイプを1つ選択する処理と、
前記優先符号化タイプで符号化される場合の第2の符号化コストを計算する処理と、
得られた結果に基づいて前記優先符号化タイプ以外のタイプに関する第2の符号化コスト計算をスキップするか否か判定し、判定の結果、前記第2の符号化コスト計算をスキップする場合には、前記小ブロックを、選択された前記優先符号化タイプで符号化する処理と、
を実行させるプログラムよりなる。前記各々のタイプで符号化する場合の前記第1の符号化コストの算出に要する計算量が、前記第2の符号化コストの算出に要する計算量よりも少ない。
本発明に係るコンピュータプログラムにおいて、
(a)前記優先符号化タイプとしてイントラ符号化とインター符号化のいずれか一方を選択する処理と、
(b)前記優先符号化タイプとしてイントラ符号化が選択された場合、イントラタイプに関する第2の符号化コストを計算する処理と、
(c)前記ステップ(b)で得られた第2の符号化コストの値と、インタータイプで符号化する場合の前記第1の符号化コスト値から、インタータイプで符号化する場合の第2の符号化コストの計算をスキップするか否か判定する処理と、
(d)前記ステップ(c)での判定の結果、インタータイプで符号化する場合の第2の符号化コスト計算をスキップする場合は、前記小ブロックの符号化タイプとしてイントラ符号化を選択する処理と、
(e)前記ステップ(c)での判定の結果、インタータイプで符号化する場合の第2の符号化コスト計算をスキップしない場合には、インタータイプで符号化する場合の第2の符号化コストを計算する処理と、
(f)前記ステップ(e)で得られたインタータイプに関する第2の符号化コストの値と、前記ステップ(b)で得られたイントラタイプに関する第2の符号化コスト値とに基づいて、前記小ブロックの符号化タイプとして、インター又はイントラ符号化を選択する処理と、
(g)前記ステップ(a)で前記優先符号化タイプとしてインタータイプが選択された場合、インタータイプに関する第2の符号化コストを計算する処理と、
(h)前記ステップ(g)で得られたインタータイプに関する第2の符号化コストの値と、イントラタイプで符号化する場合の前記第1の符号化コスト値から、イントラタイプで符号化する場合の第2の符号化コストの計算をスキップするか否か判定する処理と、
(i)前記ステップ(h)の判定の結果、イントラタイプで符号化する場合の第2の符号化コストの計算をスキップする場合には、前記小ブロックの符号化タイプとしてインタータイプを選択する処理と、
(j)前記ステップ(h)の判定の結果、イントラタイプで符号化する場合の第2の符号化コストの計算をスキップしない場合には、イントラタイプで符号化する場合の第2の符号化コストを計算する処理と、
(k)前記ステップ(j)で得られたイントラタイプに関する第2の符号化コストの値と、前記ステップ(g)で得られたインタータイプに関する第2の符号化コスト値とに基づいて、前記小ブロックの符号化タイプとして、インター又はイントラ符号化を選択する処理と
を前記コンピュータに実行させるプログラムよりなる。
本発明に係るコンピュータプログラムにおいて、前記第2の符号化コスト計算のスキップ率と相関を持つスキップ率制御パラメータを、符号化タイプ毎に備え、
前記小ブロックの符号化に利用可能な計算量又は処理時間の割当に応じて、前記制御パラメータを調整することで、符号化に要する計算量を制御する処理を前記コンピュータに実行させるようにしてもよい。
本発明に係るコンピュータプログラムにおいて、符号化タイプに関し、そのタイプが優先符号化タイプとして選択された小ブロックの個数と、優先タイプとして選択された上で、第2の符号化コスト計算がスキップされた小ブロックの個数と、を計数した結果を、前記スキップ率制御パラメータの制御に利用する処理を前記コンピュータに実行させるようにしてもよい。
本発明に係るコンピュータプログラムにおいて、符号化タイプに関し、そのタイプが優先符号化タイプとして選択された小ブロックの個数と、優先タイプとして選択された上で第2の符号化コスト計算がスキップされた小ブロックの個数と、を計数した結果を利用して、前記優先符号化タイプの選択条件を修正する処理を前記コンピュータに実行させるようにしてもよい。
本発明に係るコンピュータプログラムにおいて、符号化タイプに関し、そのタイプが優先符号化タイプとして選択された小ブロックの個数と、優先タイプとして選択された上で第2の符号化コスト計算がスキップされず、そのタイプと異なるタイプで符号化された小ブロックの個数を計数した結果を、前記スキップ率制御パラメータの制御に利用する処理を前記コンピュータに実行させるようにしてもよい。
本発明に係るコンピュータプログラムにおいて、符号化タイプに関し、そのタイプが優先符号化タイプとして選択された小ブロックの個数と、優先タイプとして選択された上で第2の符号化コスト計算がスキップされず、そのタイプと異なるタイプで符号化された小ブロックの個数とを計数した結果を利用して、前記優先符号化タイプの選択条件を修正する処理を前記コンピュータに実行させるようにしてもよい。
本発明に係るコンピュータプログラムにおいて、前記小ブロックよりも後で符号化される1個以上の小ブロックに対して、各々の符号化タイプに関する第1の符号化コストを計算して得られた結果を、前記優先符号化タイプの選択と前記スキップ率制御パラメータの制御に利用する処理を前記コンピュータに実行させるようにしてもよい。
本発明に係るコンピュータプログラムにおいて、前記小ブロックを含む複数個の小ブロックに対して、各々の符号化タイプに関する第1の符号化コストを計算して得られた結果を、前記優先符号化タイプの選択と前記スキップ率制御パラメータの制御に利用する、処理を前記コンピュータに実行させるようにしてもよい。
本発明によれば、従来手法よりも、計算量と圧縮効率の両面でバランスが取れた符号化を実現可能としている。その理由は、本発明においては、符号化コスト計算を、計算量の少ない第1符号化コスト計算と、より精度の高い第2符号化コスト計算の2つに分割しておき、当該小ブロックを符号化する際、始めに、各々の符号化タイプに関する第1符号化コストを計算し、得られた結果に基づいて、優先符号化タイプを1つ選択する。次に、優先選択された符号化タイプに関する第2符号化コストだけを計算し、得られた結果によっては優先タイプ以外の符号化タイプに関する第2符号化コスト計算をスキップし、これにより、第1符号化コストの計算だけで符号化タイプを決定可能な小ブロックに対しては、第2符号化コスト計算のスキップにより計算量を削減し、判定が難しいブロックに対しては、第2符号化コストを計算して正確な選択を行うためである。
本発明によれば、入力画像内での符号化タイプ分布が変動しても、計算量の変動が少なく抑えられる。これは、本発明による動画像符号化方法、装置においては、イントラ、インター双方の符号化タイプに関して、第2符号化コスト計算のスキップ判定を行っているためである。
さらに本発明によれば、計算量と圧縮効率のバランスを制御し、計算量の変動を安定化させることができる。これは、本発明においては、第2符号化コスト計算のスキップ率と相関を持つスキップ率制御パラメータを備え、このスキップ率制御パラメータを、当該小ブロックの符号化に利用可能な計算量の割当に応じて制御するためである。
さらに本発明によれば、符号化に要する計算量の推定を可能とし、計算量の制御を安定させる。これは、本発明においては、各々の符号化タイプに関し、そのタイプが優先符号化タイプとして選択された小ブロックの個数と、優先タイプとして選択された上で第2符号化コスト計算がスキップされた小ブロックの個数と、優先タイプとして選択された上で第2符号化コスト計算がスキップされずに優先符号化タイプと異なるタイプで符号化された小ブロックの個数を計数した結果を、前記スキップ率制御パラメータの制御に利用するようにしたためである。
本発明によれば、優先符号化タイプ選択の誤りを補正でき、符号化効率を高めることができる。これは、本発明においては、各々の符号化タイプに関し、そのタイプが優先符号化タイプとして選択された小ブロックの個数と、優先タイプとして選択された上で第2符号化コスト計算がスキップされた小ブロックの個数と、優先タイプとして選択された上で第2符号化コスト計算がスキップされずに優先符号化タイプと異なるタイプで符号化された小ブロックの個数を計数した結果を、優先符号化タイプ選択基準の調整に利用する構成としたためである。
本発明によれば、これから符号化する1個以上の小ブロックに対して、各々のタイプの出現頻度とタイプ判定が難しい小ブロックの出現率が推定できるため、計算量の制御を安定化させることができる。これは、本発明においては、小ブロックよりも後で符号化される1個以上の小ブロックに対して、各々の符号化タイプに関する第1符号化コストを予め計算し、得られた結果を、優先符号化タイプの選択とキップ率制御パラメータの制御に利用しているためである。
本発明を実施するための最良の形態について図面を参照して以下に説明する。
<第1実施形態>
本発明の第1実施形態を説明する。説明を具体的にするため、H.264方式baseline方式に基づく動画像符号化を行う装置を想定するが、同様にインター予測とイントラ予測により動画像を符号化する装置であれば、他の符号化方式を利用していても本実施形態は適用可能である。
図5は、本発明の第1実施形態に係る動画像符号化装置の構成を示すブロック図である。図5を参照すると、第1実施形態に係る動画像符号化装置は、入力された動画像データを蓄積する入力画像蓄積手段501と、入力画像蓄積手段501に蓄積された動画像データを所定画素数のマクロブロック(16×16画素)に分割して取り出す小ブロック分割手段502を備える。また、符号化済みのブロックのローカルデコード画像を蓄積するローカルデコード画像蓄積手段504を備える。
制御手段505は、各手段の動作と入力マクロブロックの符号化タイプを決定し、必要な指示を各手段に伝送する。符号化タイプの決定方法については、後述する。
符号化タイプ選択部512は、制御手段505が選択したタイプで符号化された符号化データを出力し、ローカルデコード画像をローカルデコード画像蓄積手段504に出力する。
第1インター符号化コスト・パラメータ決定手段506は、小ブロック分割手段502に入力された小ブロック画像をインター符号化する際の予測パラメータ(予測モード、サブブロック分割モード、動きベクトル座標)の探索を行いながら、インター符号化タイプに関する第1符号化コスト(RD_cost_inter1)を算出する。
第2インター符号化コスト・パラメータ決定手段507は、小ブロック分割手段502に入力された小ブロック画像をインター符号化する際の予測パラメータの探索を行い、インター符号化タイプに関する第2符号化コスト(RD_cost_inter2)を算出する。第2インター符号化コスト・パラメータ決定手段507によるパラメータ探索は、第1インター符号化コスト・パラメータ決定手段506のパラメータ探索の結果を利用することも可能である。
計算量削減の効果を得るためには、第1インター符号化コスト・パラメータ決定手段506により符号化コストを計算するために必要な計算量が、第2インター符号化コスト・パラメータ決定手段507により符号化コストを計算するために必要な合計の計算量(手段507で手段506の計算結果を用いる場合は、両者の合計とする)よりも小さいことが望ましい。その代わり、第1インター符号化コスト・パラメータ決定手段506により計算された符号化コスト(RD_cost_inter1)は、多少の誤差を含んでいても構わない。
この例では、第1インター符号化コスト・パラメータ決定手段506によるインター予測パラメータ探索は、整数画素精度の動きベクトル探索処理であるものとする。サブブロック分割は考慮せず、16×16画素のブロックによる探索であるとする。
符号化コストRD_cost_inter1は、このような範囲を探索して得られた、上式(1)のRD_costであるものとする。
また、第2インター符号化コスト・パラメータ決定手段507によるインター予測パラメータ探索は、第1インター符号化コスト・パラメータ決定手段506で得られた動きベクトルの近傍を、4分の1画素精度で探索する動きベクトル探索であるものとする。
16×16画素以外のサブブロック分割モードも全て評価する。符号化コストRD_cost_inter2は、このような探索の結果得られたRD_cost(上式(1)参照)であるとする。
インター符号化手段508は、第2インター符号化コスト・パラメータ決定手段507により決定された予測パラメータに基づいて、当該小ブロックを所定の方法で、インター符号化する。より詳しくは、インター符号化手段508は、入力画像と予測画像と差分を計算し、これに対し所定の変換と量子化、可変長符号化等を施して符号化データを生成する。また、インター符号化手段508は、逆量子化と逆変換を施して得られた信号に予測画像を加算することで、ローカルデコード画像を作成する。得られたデコード画像は、ローカルデコード画像蓄積手段504に格納される。
具体的には、H.264 方式で規定された方法に従って、符号化データとローカルデコード画像を生成する。
1枚のフレームを符号化し終えた後は、次のフレームを符号化する前に、ローカルデコード画像蓄積手段504に格納されたローカルデコード画像に、ループフィルタを施しておく。
以上と同様に、第1イントラ符号化コスト・パラメータ決定手段509は、小ブロック分割手段502に入力された小ブロック画像を、イントラ符号化する際の予測パラメータ(予測モード、サブブロック分割モード)の探索を行いながら、イントラ符号化タイプに関する第1符号化コスト(RD_cost_intra1)を算出する。
第2イントラ符号化コスト・パラメータ決定手段510は、手段502に入力された小ブロック画像をイントラ符号化する際の予測パラメータの探索を行い、イントラ符号化タイプに関する第2符号化コスト(RD_cost_intra2)を算出する。第2イントラ符号化コスト・パラメータ決定手段510によるパラメータ探索は、第1イントラ符号化コスト・パラメータ決定手段509の探索結果を利用することも可能である。
計算量削減効果を得るために、第1イントラ符号化コスト・パラメータ決定手段509により符号化コストを計算するために必要な計算量は、第2イントラ符号化コスト・パラメータ決定手段510により符号化コストを計算するために必要な合計の計算量(手段510で、手段509の計算結果を用いる場合は、両者の合計とする)よりも小さいとする。その代わり、第1イントラ符号化コスト・パラメータ決定手段509により計算された符号化コスト(RD_cost_intra1)は、多少の誤差を含んでいても構わない。
この例では、第1イントラ符号化コスト・パラメータ決定手段509は、イントラ予測画像の生成と予測モードの決定を行わず、符号化コストの推定値だけを計算する。
具体的には、次式(2)に示すRD_cost_intra1を計算する。
RD_cost_intra1 = θINTRA1×DIFF+λ×R
・・・(2)
式(2)において、
DIFFは入力画像内で水平方向に隣接する画素同士の差分と、垂直方向に隣接する画素の差分に関して、絶対値の総和を計算した値である。
θINTRA1は、正の重み係数である。
λは、式(1)のRD_costと同じ値である。
Rは、イントラマクロブロックのヘッダ長平均値である。
これに対し、第2イントラ符号化コスト・パラメータ決定手段510は、H.264方式において利用可能な全てのイントラ予測モードとサブブロック分割モードに対して、式(1)のRD_costを計算し、これを最小化する予測パラメータを求める。
具体的には、
(I)輝度16×16画素単位のイントラ予測モード探索、
(II)輝度4×4画素単位のイントラ予測モード探索、
(III)輝度イントラ予測のブロックサイズ選択、
(IV)色差8×8画素単位のイントラ予測モード探索、
の順で探索を行う。
(I)と(IV)のイントラ予測モード探索は、符号化済みの周辺マクロブロック画像から4種類の予測画像を生成し、RD_costを最小化する予測モードを選択する。
(II)のイントラ予測モード探索は、4×4画素の輝度画像を1個ずつラスタスキャン順に取り出して、RD_costを最小化する予測モードを9通りの中から選択する処理を16個分繰り返す。このとき、後で符号化される4×4画素ブロックの予測画像の生成にローカルデコード画像の生成が必要なため、4×4画素ブロック単位でH.264方式で規定されるデコード画像作成処理(予測差分の変換・量子化、逆量子化・逆変換、予測画像の加算)を実行する。
(III)の予測ブロックサイズ選択は、(I)で計算されたRD_cost最小値と、(II)で計算されたRD_cost最小値を比較して、小さい方のサブブロックサイズを選択する処理である。
容易に分かるように、第1イントラ符号化コスト・パラメータ決定手段509により計算されたRD_cost_intra1は、第2イントラ符号化コスト・パラメータ決定手段510が出力するRD_cost_intra2よりも不正確な符号化コストである。しかしながら、RD_cost_intra1の計算量は、RD_cost_intra2に比べて小さい。
イントラ符号化手段511は、第2イントラ符号化コスト・パラメータ決定手段510により決定された予測パラメータに基づいて、当該小ブロックを所定の方法で、インター符号化する。より詳細には、イントラ符号化手段511は、入力画像と予測画像と差分を計算し、これに対し所定の変換と量子化、可変長符号化等を施して符号化データを生成する。また、イントラ符号化手段511は、逆量子化と逆変換を施して得られた信号に予測画像を加算することで、ローカルデコード画像を作成する。得られたデコード画像は、ローカルデコード画像蓄積手段504に格納される。
具体的には、H.264方式で規定された方法に従って符号化データとローカルデコード画像を生成する。ただし、輝度成分の予測ブロックサイズが4×4画素のときは、既に手段510によって予測差分の量子化信号とローカルデコード画像が作成されているので、これを、第2イントラ符号化コスト・パラメータ決定手段510から受け取って可変長符号化処理とローカルデコード画像の蓄積のみを行う。
1枚のフレームを符号化し終えた後は、次のフレームを符号化する前に、ローカルデコード画像蓄積手段504に格納されたローカルデコード画像にループフィルタを施しておく。
以上の構成において、第1、第2のインター符号化コスト・パラメータ決定手段506、507の動作は、前記説明した例に限定されない。
例えば、第1インター符号化コスト・パラメータ決定手段506は、水平、垂直ともに2分の1に縮小された画像を利用して2画素精度で動きベクトルを探索し、得られた結果から第1インター符号化コストを計算してもよい。この場合、整数画素精度の探索は、第2インター符号化コスト・パラメータ決定手段507で実行する。
別の例として、手段506は、周囲の符号化済みマクロブロックから予測された1個以上の動きベクトルや、座標値が0である動きベクトル(当該ブロックと同じ位置を参照する)においてのみ符号化コストを計算して、得られたコスト最小値を第1のインター符号化コストとしても良い。この場合、残りの動きベクトル探索処理を手段507が実行する。
第1インター符号化コスト・パラメータ決定手段506における予測パラメータ選択において、サブブロック分割モードの評価選択まで実行し、その結果から第1インター符号化コストを計算してもよい。あるいは、2分の1画素精度の動きベクトルまで決定するようにしても構わない。
第1インター符号化コスト・パラメータ決定手段506おける予測パラメータ選択に、符号化に利用できる複数の参照フレームから1枚を選択する処理が含まれていても構わない。H.264符号化方式ではインター予測で利用する参照フレームを符号化済みの複数のフレームから選択可能である(マルチフレーム参照)。
第1インター符号化コスト・パラメータ決定手段506おける予測パラメータ選択処理が、スキップ符号化タイプを最初に探索し、得られた符号化コストが閾値よりも小さい場合に他の動きベクトル探索を省略する手順であっても構わない。スキップ符号化タイプは、インター符号化タイプの一種であり、周囲の符号化済み動きベクトルから予測された動きベクトルを用いて16×16画素の単位でインター予測を行う。
本実施形態は、H.264 baseline profileに基づく動画像符号化装置を想定しているが、例えばmain profileであり、インターレース画像を符号化する場合は、手段506おける予測パラメータ選択で、利用可能なインターレース符号化モードを選択する処理が含まれていても構わない。
第1および第2のインター符号化コストの計算式は、上式(1)に限定されない。例えば、予測画像と入力画像の差分に関する絶対値の和でなく、その2乗の和でも良い。あるいは差分信号に対してブロック単位の整数変換を施して得られた信号の絶対値の和を利用しても良い。
同様に、第1、第2のイントラ符号化コスト・パラメータ決定手段509、510の動作も、前記説明した例に限定されない。
例えば、第1イントラ符号化コスト・パラメータ決定手段509は、イントラ予測画像を生成せずに符号化コストの推定値を求めたが、出現頻度の高い一部のイントラ予測モードに関しては予測画像を実際に計算してもよい。より具体的には、輝度4×4画素単位の水平方向予測、垂直方向予測、直流信号予測については、予測画像を生成して入力画像との差分を計算して、これを符号化コスト評価に用いる例が考えられる。
第1イントラ符号化コストの計算式は、式2に限定されない。例えば、DIFFとして水平方向に隣接する画素同士の差分と、垂直方向に隣接する画素の差分に関して、その2乗の総和を計算した値を用いてもよい。あるいは、隣接画素の差分に関する分散を利用してもよい。隣接画素の差分ではなく、入力画像の分散を利用してもよい。
他にも、イントラ予測モード毎に異なる符号化コスト関数を利用しても良く、例えば入力画像における水平、垂直、斜め方向の信号変化を計算し、これを符号化コストの評価指標に加えてもよい。
同様にして、第2イントラ符号化コスト・パラメータ決定手段510の動作も前記例に限定されない。例えば、全ての予測モードに関して探索を行わずに、(II)輝度4×4画素単位のイントラ予測モード探索のみを実行して、その中で得られる符号化コスト最小値を第2のイントラ符号化コストとしてもよい。
あるいは、4×4画素の輝度画像に関するデコード画像作成処理を省くために、デコード画像ではなく入力画像からイントラ予測画像を生成して、イントラモードの選択と符号化コストの計算を行ってもよい。
イントラ予測モード選択処理の一部を、イントラ符号化手段511で行ってもよい。例えば、(I)輝度16×16画素単位のイントラ予測モード探索と(IV)色差8×8画素単位のイントラ予測モード探索に関しては、第2イントラ符号化コスト・パラメータ決定手段510ではなく、イントラ符号化手段511で実行する。
以上の構成からなる第1実施形態の動画像符号化装置に関して、全体の動作を図1のフローチャートに従い説明する。
第1実施形態の動画像符号化装置は、マクロブロックの符号化が開始されると、ステップS101で、第1インター符号化コスト・パラメータ決定手段506を用いて、第1インター符号化コストRD_cost_inter1を計算する。
ステップS102に進み、第1イントラ符号化コスト・パラメータ決定手段509を用いて第1イントラ符号化コストRD_cost_intra1を計算する。
次に、ステップS103において、次式(3)に示す条件式が成立するか判定する。
RD_cost_inter1<α1 ×RD_cost_intra1+β1 ・・・(3)
パラメータα1は、1付近の値、
β1は、0付近の値が設定される制御パラメータである。
ステップS103において、条件式(3)が成立する場合、すなわち、RD_cost_inter1がRD_cost_intra1よりも小さい場合には(第1インター符号化コストが、第1イントラ符号化コストよりも小)、優先符号化タイプとして、インタータイプを選択し、ステップS104に進む。
ステップS103において、条件式(3)が成立しない場合は、優先符号化タイプとして、イントラタイプを選択し、ステップS105に進む。
ステップS104に進んだ場合、第2インター符号化コスト・パラメータ決定手段507を用いて第2インター符号化コストRD_cost_inter2を計算し、ステップS106に進む。
ステップS106では、ステップS101とステップS104でそれぞれ計算された結果を用いて、第2イントラ符号化コストの計算をスキップするか否かを判定する。
判定の結果、第2イントラ符号化コストの計算をスキップする場合には、ステップS111に進み、当該マクロブロックを手段508を用いてインター符号化する。第2イントラ符号化コストの計算をスキップしない場合には、ステップS108で、第2イントラ符号化コストを計算し、ステップS110に進む。
ステップS106におけるスキップ判定は、例えば次式(4)で表す条件式が成立する場合に、イントラ符号化コスト計算をスキップするとする。
RD_cost_inter2 < αINTRA_SKIP×RD_cost_intra1+βINTRA_SKIP
・・・(4)
上式(4)において、
αINTRA_SKIP(>0)とβINTRA_SKIPは、スキップ率を制御するパラメータである。αINTRA_SKIPまたはβINTRA_SKIPを大きくすると、スキップ率が増加する。
ステップS105に進んだ場合、第2イントラ符号化コスト・パラメータ決定手段510を用いて第2イントラ符号化コストRD_cost_intra2を計算し、ステップS107に進む。
ステップS107では、ステップS102とステップS105でそれぞれ計算された符号化コストを用いて、第2インター符号化コストの計算をスキップするか否かを判定する。
第2インター符号化コストの計算をスキップする場合は、ステップS112に進み、当該マクロブロックを、イントラ符号化手段511を用いてイントラ符号化する。
第2インター符号化コストの計算をスキップしない場合には、ステップS109で第2インター符号化コストを計算し、ステップS110に進む。
ステップS107における、第2インター符号化コストの計算のスキップ判定は、例えば、次式(5)で表す条件式が成立する場合に、インター符号化コスト計算をスキップするとする。
RD_cost_intra2 < αINTER_SKIP×RD_cost_inter1+βINTER_SKIP
・・・(5)
だたし、αINTER_SKIP(>0)、βINTER_SKIPはスキップ率を制御するパラメータである。αINTER_SKIPまたはβINTER_SKIPを大きくすると、スキップ率が増加する。
ステップS110に進んだ場合、イントラ、インター双方のタイプに関する第2符号化コスト、RD_cost_inter2と、RD_cost_intra2の大小を比較する。
RD_cost_inter2がRD_cost_intra2よりも小さい場合には、ステップS111に進み、インター符号化手段508により当該マクロブロックをインター符号化する。
RD_cost_inter2がRD_cost_intra2以上の場合は、ステップS112に進み、イントラ符号化手段511によりイントラ符号化する。
なお、本実施形態では、第2符号化コスト計算のスキップ判定式の例として、式(4)、式(5)を例示したが、本発明はかかる式に限定されるものでなく、別の関係式でもあってもよい。また、複数の判定式の組み合わせによって決定される判定としてもよい。
別の例として、次式(6)に示すように、入力画像から計算された特徴量Diffを含む項γINTER_SKIP×Diff が加わっていてもよい。
RD_cost_intra2 < αINTER_SKIP×RD_cost_inter1-γINTER_SKIP×Diff+βINTER_SKIP
・・・(6)
上式(6)におけるDiffは、第1インター符号化コストRD_cost_inter1が含むコスト計算誤差の上限を推定する指標である。これは、動きベクトルを微小に動かした場合の符号化コスト関数変化の上限に相関があることを利用している。パラメータγINTER_SKIPは、第2符号化コスト計算における動きベクトル探索範囲に依存して決定される。
スキップ判定の例として、次式(7)のように、乱数によって生成される項ΔINTER_SKIP×zを含んでいてもよい。
RD_cost_intra2 < RD_cost_inter1+ΔINTER_SKIP×z+βINTER_SKIP
・・・(7)
ただし、zは平均0、分散1の正規分布に従うように生成された乱数とする。式(7)の判定式の成否は確率的に決定される。
別の方法として、はじめに式(4)の判定によってスキップ判定を行い、スキップ条件が成立しない場合に限り、一様乱数とパラメータεINTER_SKIPの比較を行う方法がある。
z < εINTER_SKIP
・・・(7a)
式(7a)による方法の利点は、スキップ率をパラメータεINTER_SKIPにより、容易に制御可能であることである。
類似の方法として、乱数の代わりに、マクロブロックに付けられた番号を整定数で割り算し、その結果得られる剰余を利用してスキップ率を判定する方法であってもよい。
第1実施形態に従う動画像符号化装置の計算量と画質の関係を説明するため、従来技術として説明した3つの例と比較する。
ここで、図2の第1例の符号化コスト・パラメータ計算処理は、本実施形態の第2符号化コスト・パラメータ計算処理(第1符号化コスト・パラメータ計算処理の結果を利用する場合は、第1の計算処理も含む)に等しいとする。
図3の第2例の第1、第2符号化コスト・パラメータ計算は、本実施形態の計算と等しいとする。
図4の第3例におけるインター符号化コスト・パラメータ計算処理は、本実施形態のインター第1符号化コスト・パラメータ計算処理と第2計算処理に等しいとする。
第3例における、第1、第2イントラ符号化コスト・パラメータ計算は、本実施形態の計算と等しいとし、イントラスキップ判定も本実施形態と等価であるとする。
本実施形態の符号化装置は、入力されたマクロブロックを下記の6通りのうち、いずれかの手順で符号化する。
手順1:インター優先→スキップ →インター符号化
手順2:インター優先→スキップ無し→インター符号化
手順3:インター優先→スキップ無し→イントラ符号化
手順4:イントラ優先→スキップ無し→インター符号化
手順5:イントラ優先→スキップ無し→イントラ符号化
手順6:イントラ優先→スキップ →イントラ符号化
なお、手順1は、ステップS103でインター優先→ステップS106でスキップ→ステップS111でインター符号化が行われるパスに対応する。手順2は、ステップS103でインター優先→ステップS106でスキップ無し→ステップS110でインター符号化を選択しステップS111でインター符号化が行われるパスに対応する。手順3は、ステップS103でインター優先→ステップS106でスキップ無し→ステップS110でイントラ符号化を選択しステップS112でイントラ符号化が行われるパスに対応する。手順4は、ステップS103でイントラ優先→ステップS107でスキップ無し→ステップS110でインター符号化を選択しステップS111でインター符号化が行われるパスに対応する。手順5は、ステップS103でイントラ優先→ステップS107でスキップ無し→ステップS110でイントラ符号化を選択しステップS112でイントラ符号化が行われるパスに対応する。手順6は、ステップS103でイントラ優先→ステップS107でスキップ→ステップS112でイントラ符号化が行われるパスに対応する。
上記6つの手順で、符号化タイプを決定するまでに要する計算量を比較する。比較において、図1のステップS111とS112における符号化処理の計算量は除外し、スキップ判定に必要な計算量は無視できるものとする。
図1のステップS101〜S103の優先符号化タイプの選択に要する計算量をC1、
図1のステップS104またはS109で必要とする計算量をCINTER、
図1のステップS105またはS108で必要とする計算量をCINTRAとする。
また、
C1 + CINTER+ CINTRA=CFULLとおく。
手順1〜6の計算量は以下の表のようになる。
Figure 0004677932
手順1と手順6は、第2符号化パラメータの探索処理がスキップされるため、他の手順よりも計算量が少ない。手順2〜5の計算量は同等である。
手順N(N=1,2,...,6)で符号化されるマクロブロック個数の割合をP(N)で表すと、マクロブロックあたりの平均計算量Cは、次式(8)で表される。
C = CFULL −P(1)×CINTRA−P(6)×CINTER ・・・(8)
式(8)から、Cは、P(1)とP(6)、すなわち、第2符号化コスト計算がスキップされるマクロブロックの割合を高くすることで削減することが可能である。
以下では、説明を簡単にするため、
CINTER= CINTRA=C2
とする。
また、スキップ率P(1)+P(6)をPSKIPとおく。
平均計算量Cは、次式(9)で表される。
C = CFULL −PSKIP×C2 ・・・(9)
式(9)において、スキップ率PSKIP は0以上1以下であるから、平均計算量Cは、(CFULL-C2)以上、CFULL以下の値をとる。
スキップ率PSKIPは、スキップ判定(式(4)、式(5))のパラメータ
αINTER_SKIP、
βINTER_SKIP、
αINTRA_SKIP、
βINTRA_SKIP
により調整することができる。
本実施形態では、スキップされない場合に計算される第2符号化コストはスキップ前に計算される第1符号化コストよりも精度が高いことを仮定しているため、スキップ率を下げると、圧縮効率が向上する。
スキップ率PSKIPを0まで下げると、本実施形態は、第1符号化コストの計算を除いて、図2の第1例と等価な動作になり、圧縮効率も最も高い。
逆に、スキップ率PSKIPを大きくすると、圧縮効率は低下する。PSKIPを最大値の1まで上げると、本実施形態は、図3の第2例と等価な動作になる。
図8は、これらの関係を模式的に示す図であり、横軸を平均演算量(計算量)とし、縦軸を平均的な圧縮効率としたグラフである。圧縮効率は、同一ビットレートにおける画質、または同一画質における圧縮性能を示している。
従来例1(図2の第1例)と従来例2(図3の第2例)は、グラフ内の点で示され、従来例1の圧縮効率と計算量は、従来例2のそれらよりも高い。
本実施形態は、従来例1と従来例2の間を連続的に結ぶ曲線上の一点に相当する。
スキップ率PSKIPの調整により、曲線上を動かすことが可能である。
さらに、スキップ判定条件とスキップ率制御パラメータの関係が適切に設定されているならば、スキップ率PSKIPを0の状態から少しずつ増加させると、スキップさせても、圧縮効率が低下しにくいマクロブロックが優先的にスキップされることになる。このため、本実施形態の計算量と圧縮効率を示す曲線は上に凸な形状になり、計算量の削減に対して圧縮効率の低下が少ない左上側の点をとることができる。
従来例3(図4の第3例)との比較を行う。従来例3のフローを本実施形態に当てはめると、優先符号化タイプとして、常にインターを選択する本実施形態と等価である。このため、インター符号化されるマクロブロック数の多い画像入力に対しては、本実施形態と従来例3の計算量および圧縮効率は変わらない。
しかしながら、イントラ符号化されるマクロブロックが多い画像を入力すると、従来例3では、イントラ符号化コスト計算のスキップ率が低下し計算量が増加する。
これに対して、本実施形態では、インター符号化のスキップ判定が機能するため、従来例3に比べて計算量が増加しない。
これは、本実施形態の計算量が少ないだけでなく、変動が抑制されて安定性が向上することを意味する。
従来例3においても、イントラスキップ判定のパラメータαINTRA_SKIP, βINTRA_SKIPを調整することでスキップ率を高めることが可能である。
しかし、本来は、イントラ符号化すべきマクロブロックをインター符号化することになるため、圧縮効率が低下する。
図8のグラフでは、従来例3の曲線は、本発明の曲線よりも下側に位置する結果になる。
以上説明したように本発明の実施形態によれば、従来手法よりも計算量が少ない、もしくは同一の計算量で圧縮効率の高い動画像符号化を行うことが可能である。
あるいは、入力画像の性質の変化に対して計算量の変動が少ない安定した動画像符号化を行うことが可能である。
図1に処理、図5に構成を示した第1実施形態の動画像符号化装置は、動画像符号化装置を構成するコンピュータ(CPU、プロセッサ)上で実行されるコンピュータプログラムでその処理、機能を実現するようにしてもよいことは勿論である。なお、このコンピュータプログラムは、不図示の記録媒体、あるいは他の伝送媒体等からコンピュータの主メモリにロードして実行するようにしてもよく、あるいは、ROM等に格納されたファームウエアであってもよい。後述する実施形態についても同様である。
<第2実施形態>
次に、本発明の第2実施形態を説明する。第2実施形態に係る動画像符号化装置は第1実施形態に類似した構成である。図5に示す符号化手段を備え、図1に示すフローでマクロブロックの符号化処理が実行される。
本実施形態が第1実施形態と異なる点は、動画像符号化に要する計算量の制御が行われる点である。このため、本実施形態に従う動画像符号化装置は、各フレームの符号化に要する処理時間の目標を設定する手段、処理時間を制御する手段、処理時間を計測する手段を備える。
処理時間制御や符号化効率改良のための計測手段として、本実施形態の装置は、制御部内に判定手順に関連付けられたマクロブロック計数カウンタ(不図示)を6組用意する。
判定手順とは、図1に示すフローでマクロブロックを符号化する際に通過するパスであり、下記の6通りがある。
手順1:インター優先→スキップ →インター符号化
手順2:インター優先→スキップ無し→インター符号化
手順3:インター優先→スキップ無し→イントラ符号化
手順4:イントラ優先→スキップ無し→インター符号化
手順5:イントラ優先→スキップ無し→イントラ符号化
手順6:イントラ優先→スキップ →イントラ符号化
それぞれの手順を通過したマクロブロック個数を、フレーム単位や、あるいは所定個数のマクロブロック単位で、マクロブロック計数カウンタ(不図示)で計測する。
説明のため、T番目のフレームの符号化において、手順N(N1,2,...,6)のパスを通って符号化されたマクロブロックの割合をP(T,N)で表す。
すると、フレームTの符号化に要する平均計算量C(T)を、P(T,N)を用いて次式(10)で表すことが可能である。
C(T) = (P(T,1)+ P(T,2)+ P(T,4))×CINTER_FULL
+(P(T,3)+ P(T,5)+ P(T,6))×CINTRA_FULL
−P(T,1)×CINTRA−P(T,6)×CINTER
・・・(10)
CINTER_FULLとCINTRA_FULLは、スキップ無しでインター符号化を行った場合の平均計算量であり、CINTERとCINTRAはスキップにより削減される平均計算量である。
P(T,N)は、スキップ判定(図1のS106、S107)のスキップ率制御パラメータαINTER_SKIP, βINTER_SKIP,αINTRA_SKIP, βINTRA_SKIP(式(4)、式(5))を変更することで制御が可能である。
制御パラメータを大きくすると、スキップ率が増加し、小さくすると減少する関係がある。
しかしながら、P(T,N)の値は入力画像の性質に依存して変化するため、目標とする計算量からスキップ率制御パラメータの値を設定することはできない。
動画像の時間相関に着目すると、フレームTとフレーム(T+1)が同じフレームタイプである場合、同一のスキップ率制御パラメータで符号化を行った場合に得られるP(T,N)とP(T+1,N)にも時間相関があると考えられる。
そこで、P(T+1,N)をP(T,N)で予測することで、制御パラメータを修正しない場合の計算量C(T+1)を推定する。
後は、計算量C(T+1)の推測結果と目標値の差分を評価して、目標値が推測値よりも大きい場合はスキップ率を高める調整を行い、逆の場合は、スキップ率を小さくする制御を行う。
本実施形態では、以上に加えて、符号化タイプ判定の精度を向上させるために、優先符号化タイプ選択(図1のS103)判定式のパラメータα1, β1(式(3))を調整する。
α1, β1を大きくすると、インター符号化タイプが選択され易くなり、α1, β1を小さくすると、イントラ符号化タイプが選択され易くなる。
手順1乃至手順6の6種類の符号化タイプ判定手順の中で、優先符号化タイプと、実際に符号化されたタイプが異なる手順3と手順4は、優先符号化タイプの判定を間違えていた場合の実行パスであり、これにより優先符号化タイプ判定の誤り率を計測できる。
そこで、インターの選択誤り率とイントラの選択誤り率の差を評価して、この差が大きい場合は誤り率の高いタイプが選択されにくくなるようにα1, β1を調整する。
具体的には、次式(11)が閾値よりも大きい場合に、α1、β1を微小に下げ、次式(11)が閾値よりも小さい場合には、α1、 β1を少し大きくする。

Figure 0004677932

・・・(11)
図9は、本実施形態に従う動画像符号化装置が1フレームを符号化する際の処理フローを示す図である。図9において、2重線で囲まれたステップS1001、S1005、S1007、S1008は、通常の動画像符号化と変わらない処理である。その他のステップは、計算量を制御するための処理である。
具体的に手順を説明する。本実施形態に従う符号化装置は、ステップS1001のフレーム符号化開始処理において、1フレームを符号化するために必要な処理を行う。これは、フレームの符号化パラメータ設定、符号量制御の設定、制御変数や作業領域の確保や初期化、フレームヘッダ出力処理など、通常必要とされる様々な符号化開始処理を含む。
次にステップS1002の目標演算量設定において、当該フレームの符号化に関する目標処理時間と最大処理時間を設定し、それに合わせて、スキップ率制御パラメータを調整する。目標時間と最大時間は、画像シーケンス全体で目標とする平均演算量、これまでのフレーム符号化に要した処理時間の合計、バッファリングにより許容される遅延時間、外部要因による時間制約を考慮して決定される。
ステップS1003の判定手順計数カウンタクリアにおいて、判定手順に関連付けられたマクロブロック計数カウンタを0にクリアする。
ステップS1004からS1007は、マクロブロック符号化処理の繰り返しであるフレーム内のマクロブロック個数だけ、ステップS1004乃至ステップS1006の処理を繰り返す。
ステップS1004の判定パラメータ調整処理は、スキップ率制御パラメータをマクロブロック毎に更新する処理である。ステップS1002において設定したパラメータでは、処理時間を目標通りに制御できず、最大処理時間を超過する可能性が高い場合や、外部要因により処理時間制約を変更したい場合に更新を行う。
ステップS1005のマクロブロック符号化処理では、マクロブロックを実際に符号化する。その手順については、前記第1実施形態で説明した通りである。
ステップS1006の判定手順計数カウンタをインクリメントは、ステップS1005でマクロブロックを符号化した結果、実際に通過した判定手順に対応するマクロブロック計数カウンタを1増やす。
ステップS1007で最後のマクロブロックの符号化が終了したか否かを判定し、全てのマクロブロックの符号化が終了すると、ステップS1008のピクチャ符号化終了処理において、フレーム出力終了に必要な処理を実行する。フレームフッタの出力、制御変数の更新、作業領域の解放などを行う。また必要であれば、ローカルデコード画像にループフィルタを施す処理も実行する。
以上のフレーム符号化処理を完了すると、ステップS1009の計算量制御状態更新において当該フレームの符号化に要した時間を推定し、処理時間を管理する手段の内部状態を更新する。
また、優先符号化タイプ選択の誤り率をもとに、優先タイプ選択のパラメータα1, β1を調整する。
なお、以上説明した実施例において、スキップ率制御パラメータαINTER_SKIP, βINTER_SKIP,αINTRA_SKIP, βINTRA_SKIPの調整については、別の方法であっても構わない。
例えば、設定したスキップ率パラメータと、その結果得られたスキップ率の履歴を複数個のマクロブロックやフレーム単位で残しておき、これを利用する方法がある。過去のパラメータとスキップ率の相関関係から、パラメータ変更後のスキップ率を予測し、これが目標量に近くなるよう、αINTER_SKIP, βINTER_SKIPを調整する。
あるいは、式(5)のスキップ判定で利用したRD_cost_intra2とRD_cost_inter1の数値に関するヒストグラムを作成し、この結果に基づいてパラメータ変更後のスキップ率を予測する方法がある。これは、パラメータとスキップ率の相関にもとづく前記の方法よりも、より正確な予測が可能である。
ここで、ヒストグラムの計測区間は、フレーム単位でなく複数のフレームであっても構わない。あるいは、複数個のマクロブロックでも構わない。ヒストグラムを算出する際の数値に関する区間の大きさも適当に選択可能である。
ヒストグラム化する数値については、RD_cost_intra2とRD_cost_inter1のペアに関する2次元数値ではなく、2つの値の差もしくは比に関する1次元数値のヒストグラムを作成する方法でも構わない。
他には、以前に説明したように、スキップ判定条件に、乱数やマクロブロック番号の剰余を導入することで、スキップ率の制御を容易にする方法も有力である。
以上と同様に、優先符号化タイプ選択判定式のパラメータα1, β1に関しても、本実施例とは異なる調整方法を利用してもよい。
例えば、式(3)、式(4)、式(5)とスキップされなかった場合の符号化タイプ判定で利用された数値RD_cost_inter1, RD_cost_intra1,RD_cost_inter2, RD_cost_intra2に関するヒストグラムを作成し、このヒストグラムに基づいて式(11)が0に近くなるようにパラメータα1,β1を決定するのが一つの方法である。
以上説明したように、第2実施形態にもとづく動画像符号化装置は、計算量を制御するパラメータ調整手段と計算量を測定する手段を備えるため、計算量を動的に制御することが可能である。
また、優先符号化タイプの選択誤り率を測定した結果を、選択判定式の調整に利用するため、圧縮効率を向上させることが可能である。
<第3実施形態>
本発明の第3実施形態を説明する。本発明の第3実施形態に係る動画像符号化装置は、前記した第2実施形態に類似した構成であり動作も類似しているため、相違点のみを説明する。
図10は、本実施形態に係る動画像符号化装置のフレーム符号化の手順を示す図である。図11は、本実施形態におけるマクロブロックの符号化処理の手順を示す図である。前記第2実施形態のフレーム符号化手順を示した図9と、本実施形態の手順を示した図10との相違点は、ステップS1102〜S1103の繰り返し処理で、第1符号化コストの計算を事前に1フレーム分まとめて計算する点であり、その結果、ステップS1106におけるマクロブロック符号化処理が、図11に示す手順に修正される。
前記第2実施形態のマクロブロック符号化処理手順を示す図1と、図11との相違点は、図11においては、第1インター符号化コスト計算、第1イントラ符号化コスト計算を実行しない点である。
本実施形態では、第1符号化コスト(RD_cost_intra1、 RD_cost_inter1)を、予め1フレーム分計算するため、フレーム内の優先符号化タイプの分布を事前に知ることが可能である。
この結果を利用すれば、これから実行する符号化処理の計算量制御をより正確にすることが可能である。
例えば前記第2実施形態では、フレーム(T+1)の計算量C(T+1)を、フレームTの符号化結果から予測するために、
P(T+1,N)≒P(T,N)
であることを仮定して予測が行われる。
P(T,N)は、タイプ判定手順N(N1,2,...,6)のパスを通って符号化されるマクロブロック数の割合である。
本発明の第3実施形態では、優先符号化タイプの出現割合の変化率を基にして、P(T+1,N)の予測値を補正する。
予測式を次式(12)に示す。

Figure 0004677932
・・・(12)
QINTER(T), QINTRA(T)は、フレームTにおける優先符号化タイプ出現率であり、
QINTER(T)=P(T,1)+ P(T,2)+ P(T,3),
QINTRA(T)=P(T,4)+ P(T,5)+ P(T,6)
・・・(13)
である。
他には、RD_cost_intra1とRD_cost_inter1の差分が閾値よりも小さい、または比が1に近いマクロブロック数をフレーム単位で計数することで、第2符号化コスト計算のスキップ率変化を事前に予測することが可能である。
スキップ率が急上昇する可能性が高い場合は、スキップ率が高まるようにスキップ判定のパラメータを調整することで、計算量が目標値よりも極端に大きくなることを防ぐことができる。
なお、本実施形態を説明する例では、事前に第1符号化コストを計算するマクロブロックの個数を1フレーム分としたが、これは、1フレームに満たない複数個のマクロブロックであっても、複数のフレームにまたがる複数個の小ブロックであっても適用可能である。理想的には、事前計算する個数を増やすほど、安定した計算量制御が可能になる。
以上、本実施形態による動画像符号化装置は、第1符号化コストの事前計算により、計算量制御を安定化させる効果がある。
本発明の実施形態の作用効果について説明する。
符号化コスト計算を、計算量の少ない第1符号化コスト計算と、より精度の高い第2符号化コスト計算の2つに分割しておき、当該小ブロックを符号化する際、始めに、各々の符号化タイプに関する第1符号化コストを計算し、得られた結果に基づいて、優先符号化タイプを1つ選択する。次に、優先選択された符号化タイプに関する第2符号化コストだけを計算し、得られた結果によっては優先タイプ以外の符号化タイプに関する第2符号化コスト計算をスキップする。
これにより、第1符号化コストの計算だけで符号化タイプを決定可能な小ブロックに対しては、第2符号化コスト計算のスキップにより計算量を削減し、判定が難しいブロックに対しては、第2符号化コストを計算して正確な選択を行う。
その結果、本発明による動画像符号化方法、装置は、従来手法よりも、計算量と圧縮効率の両面でバランスが取れた符号化方法となっている。
また、本発明による動画像符号化方法、装置においては、イントラ、インター双方の符号化タイプに関して、第2符号化コスト計算のスキップ判定を行っている。
これにより、本発明による動画像符号化方法、装置においては、入力画像内での符号化タイプ分布が変動しても、計算量の変動が少なく抑えられる効果がある。
さらに本発明による動画像符号化方法、装置においては、第2符号化コスト計算のスキップ率と相関を持つスキップ率制御パラメータを備え、このスキップ率制御パラメータを、当該小ブロックの符号化に利用可能な計算量の割当に応じて制御する。
これにより、本発明による動画像符号化方法は、計算量と圧縮効率のバランスを制御し、計算量の変動を安定化させる効果がある。
さらに本発明による動画像符号化方法、装置においては、各々の符号化タイプに関し、そのタイプが優先符号化タイプとして選択された小ブロックの個数と、優先タイプとして選択された上で第2符号化コスト計算がスキップされた小ブロックの個数と、優先タイプとして選択された上で第2符号化コスト計算がスキップされずに優先符号化タイプと異なるタイプで符号化された小ブロックの個数を計数した結果を、前記スキップ率制御パラメータの制御に利用する。
これにより符号化に要する計算量の推定が可能になるため、本発明による動画像符号化方法は、計算量の制御が安定する効果がある。
さらに本発明による動画像符号化方法、装置においては、各々の符号化タイプに関し、そのタイプが優先符号化タイプとして選択された小ブロックの個数と、優先タイプとして選択された上で第2符号化コスト計算がスキップされた小ブロックの個数と、優先タイプとして選択された上で第2符号化コスト計算がスキップされずに優先符号化タイプと異なるタイプで符号化された小ブロックの個数を計数した結果を、優先符号化タイプ選択基準の調整に利用する。
これにより優先符号化タイプ選択の誤りを補正できるため、本発明による動画像符号化方法は、符号化効率を高める効果がある。
さらに本発明による動画像符号化方法、装置においては、当該小ブロックよりも後で符号化される1個以上の小ブロックに対して、各々の符号化タイプに関する第1符号化コストを予め計算し、得られた結果を、優先符号化タイプの選択とスキップ率制御パラメータの制御に利用する。
これにより、これから符号化する1個以上の小ブロックに対して、各々のタイプの出現頻度とタイプ判定が難しい小ブロックの出現率が推定できるため、本発明による動画像符号化方法は、計算量の制御を安定化させる効果がある。
以上、本発明を上記実施例に即して説明したが、本発明は上記実施例の構成にのみ制限されるものでなく、本発明の範囲内で当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
本発明の第1実施形態に係る符号化タイプ判定手順を示すフロー図である。 従来例1の符号化タイプ判定手順を示すフロー図である。 従来例2の符号化タイプ判定手順を示すフロー図である。 従来例3の符号化タイプ判定手順を示すフロー図である。 本発明の第1実施形態に係る動画像符号化装置の構成を示す図である。 H.264方式におけるインター予測のサブブロック分割モードを説明する模式図である。 H.264方式におけるイントラ予測のサブブロック分割モードを説明する模式図である。 従来例と本発明の計算量と圧縮効率を比較して説明するための図である。 本発明の第2実施形態に係る動画像符号化装置の処理手順を示すフロー図である。 本発明の第3実施形態に係る動画像符号化装置の処理手順を示すフロー図である。 本発明の第3実施形態に係る符号化タイプ判定手順を示すフロー図である。
符号の説明
501 入力画像蓄積手段
502 小ブロック分割手段
504 ローカルデコード画像蓄積手段
505 制御手段
506 第1インター符号コスト・パラメータ決定手段
507 第1インター符号コスト・パラメータ決定手段
508 インター符号化手段
509 第1イントラ符号コスト・パラメータ決定手段
510 第2イントラ符号コスト・パラメータ決定手段
511 イントラ符号化手段
512 符号化タイプ選択部

Claims (18)

  1. 動画像を小ブロックに分割しイントラ符号化とインター符号化のいずれかを用いて符号化する動画像符号化方法であって、前記小ブロックを符号化する際、
    インター及びイントラの各々のタイプで符号化する場合の第1の符号化コストを計算し、
    得られた第1の符号化コストの結果に基づき優先符号化タイプを1つ選択し、
    前記優先符号化タイプで符号化される場合の第2の符号化コストを計算し、
    得られた結果に基づいて前記優先符号化タイプ以外のタイプに関する第2の符号化コスト計算をスキップするか否か判定し、判定の結果、前記第2の符号化コスト計算をスキップする場合には、前記小ブロックを、選択された前記優先符号化タイプで符号化する、ことを特徴とする、動画像符号化方法。
  2. 前記各々のタイプで符号化する場合の前記第1の符号化コストの算出に要する計算量が、前記第2の符号化コストの算出に要する計算量よりも少ない、ことを特徴とする、請求項1に記載の動画像符号化方法。
  3. (a)前記優先符号化タイプとしてイントラ符号化とインター符号化のいずれか一方を選択し、
    (b)前記優先符号化タイプとしてイントラ符号化が選択された場合、イントラタイプに関する第2の符号化コストを計算し、
    (c)前記ステップ(b)で得られた第2の符号化コストの値と、インタータイプで符号化する場合の前記第1の符号化コストの値から、インタータイプで符号化する場合の第2の符号化コストの計算をスキップするか否か判定し、
    (d)前記ステップ(c)での判定の結果、インタータイプで符号化する場合の第2の符号化コスト計算をスキップする場合は、前記小ブロックの符号化タイプとしてイントラ符号化を選択し、
    (e)前記ステップ(c)での判定の結果、インタータイプで符号化する場合の第2の符号化コスト計算をスキップしない場合には、インタータイプで符号化する場合の第2の符号化コストを計算し、
    (f)前記ステップ(e)で得られたインタータイプに関する第2の符号化コストの値と、前記ステップ(b)で得られたイントラタイプに関する第2の符号化コストの値とに基づいて、前記小ブロックの符号化タイプとして、インター又はイントラ符号化を選択し、
    (g)前記ステップ(a)で前記優先符号化タイプとしてインタータイプが選択された場合、インタータイプに関する第2の符号化コストを計算し、
    (h)前記ステップ(g)で得られたインタータイプに関する第2の符号化コストの値と、イントラタイプで符号化する場合の前記第1の符号化コストの値から、イントラタイプで符号化する場合の第2の符号化コストの計算をスキップするか否か判定し、
    (i)前記ステップ(h)の判定の結果、イントラタイプで符号化する場合の第2の符号化コストの計算をスキップする場合には、前記小ブロックの符号化タイプとしてインタータイプを選択し、
    (j)前記ステップ(h)の判定の結果、イントラタイプで符号化する場合の第2の符号化コストの計算をスキップしない場合には、イントラタイプで符号化する場合の第2の符号化コストを計算し、
    (k)前記ステップ(j)で得られたイントラタイプに関する第2の符号化コストの値と、前記ステップ(g)で得られたインタータイプに関する第2の符号化コストの値とに基づいて、前記小ブロックの符号化タイプとして、インター又はイントラ符号化を選択する、ことを特徴とする、請求項1に記載の動画像符号化方法。
  4. 前記第2の符号化コスト計算のスキップ率と相関を持つスキップ率制御パラメータを、符号化タイプ毎に備え、
    前記小ブロックの符号化に利用可能な計算量又は処理時間の割当に応じて、前記制御パラメータを調整することで、符号化に要する計算量を制御する、ことを特徴とする、請求項1乃至3のいずれか一に記載の動画像符号化方法。
  5. 符号化タイプに関し、そのタイプが優先符号化タイプとして選択された小ブロックの個数と、優先タイプとして選択された上で、第2の符号化コスト計算がスキップされた小ブロックの個数と、を計数した結果を、前記スキップ率制御パラメータの制御に利用し、
    符号化タイプに関し、そのタイプが優先符号化タイプとして選択された小ブロックの個数と、優先タイプとして選択された上で、第2の符号化コスト計算がスキップされず、そのタイプと異なるタイプで符号化された小ブロックの個数を計数した結果を、前記スキップ率制御パラメータの制御に利用し、
    前記優先符号化タイプとしてインター符号化が選択され、イントラタイプで符号化する場合の第2の符号化コスト計算をスキップし、前記小ブロックの符号化タイプとしてインター符号化を選択する第1の手順と、
    インター符号化が優先符号化タイプとして選択され、インタトラタイプで符号化する場合の第2の符号化コスト計算をスキップせず、イントラタイプに関する前記第2の符号化コストの値と、インタータイプに関する前記第2の符号化コストの値とに基づいて、前記小ブロックの符号化タイプとしてインター符号化を選択する第2の手順、又はイントラ符号化を選択する第3の手順と、
    前記優先符号化タイプとしてイントラ符号化が選択され、インタータイプで符号化する場合の第2の符号化コスト計算をスキップし、前記小ブロックの符号化タイプとしてイントラ符号化を選択する第4の手順と、
    前記優先符号化タイプとしてイントラ符号化が選択され、インタータイプで符号化する場合の第2の符号化コスト計算をスキップせず、インタータイプに関する前記第2の符号化コストの値と、イントラタイプに関する前記第2の符号化コストの値とに基づいて、前記小ブロックの符号化タイプとして、インター符号化を選択する第5の手順、又はイントラ符号化を選択する第6の手順について、
    それぞれの前記手順を通過した前記小ブロックの個数を、フレーム単位やあるいは所定個数の小ブロック単位で計数カウンタで計測し、前記手順のパスを通過して符号化された前記小ブロックの個数の割合より1フレームの符号化に要する平均計算量を導出し、
    前記第1の手順1から第6の手順をそれぞれ通過した小ブロックの個数を計数し、前記第1の手順と前記第6の手順を通過した小ブロックの個数の割合を、前記スキップ率制御パラメータの制御に利用する、ことを特徴とする、請求項4に記載の動画像符号化方法。
  6. 符号化タイプに関し、そのタイプが優先符号化タイプとして選択された小ブロックの個数と、優先タイプとして選択された上で第2の符号化コスト計算がスキップされた小ブロックの個数と、を計数した結果を利用して、前記優先符号化タイプの選択条件を修正し、
    符号化タイプに関し、そのタイプが優先符号化タイプとして選択された小ブロックの個数と、優先タイプとして選択された上で第2の符号化コスト計算がスキップされず、そのタイプと異なるタイプで符号化された小ブロックの個数とを計数した結果を利用して、前記優先符号化タイプの選択条件を修正し、
    前記優先符号化タイプとしてインター符号化が選択され、イントラタイプで符号化する場合の第2の符号化コスト計算をスキップし、前記小ブロックの符号化タイプとしてインター符号化を選択する第1の手順と、
    インター符号化が優先符号化タイプとして選択され、インタトラタイプで符号化する場合の第2の符号化コスト計算をスキップせず、イントラタイプに関する前記第2の符号化コストの値と、インタータイプに関する前記第2の符号化コストの値とに基づいて、前記小ブロックの符号化タイプとしてインター符号化を選択する第2の手順、又はイントラ符号化を選択する第3の手順と、
    前記優先符号化タイプとしてイントラ符号化が選択され、インタータイプで符号化する場合の第2の符号化コスト計算をスキップし、前記小ブロックの符号化タイプとしてイントラ符号化を選択する第4の手順と、
    前記優先符号化タイプとしてイントラ符号化が選択され、インタータイプで符号化する場合の第2の符号化コスト計算をスキップせず、インタータイプに関する前記第2の符号化コストの値と、イントラタイプに関する前記第2の符号化コストの値とに基づいて、前記小ブロックの符号化タイプとして、インター符号化を選択する第5の手順、又はイントラ符号化を選択する第6の手順について、
    それぞれの前記手順を通過した前記小ブロックの個数を、フレーム単位やあるいは所定個数の小ブロック単位で計数カウンタで計測し、前記手順のパスを通過して符号化された前記小ブロックの個数の割合より1フレームの符号化に要する平均計算量を導出し、
    前記第1の手順1から第6の手順をそれぞれ通過した小ブロックの個数を計数し、前記第3の手順と前記第4の手順を通過した小ブロックの個数の割合を、前記優先符号化タイプの選択条件を修正に利用する、ことを特徴とする、請求項に記載の動画像符号化方法。
  7. 動画像を小ブロックに分割しイントラ符号化とインター符号化のいずれかを用いて符号化する動画像符号化装置であって、
    インター符号する場合の第1及び第2の符号化コストをそれぞれ計算する第1及び第2のインター符号化コストパラメータ決定手段と、
    イントラ符号化する場合の第1及び第2の符号化コストをそれぞれ計算する第1及び第2のイントラ符号化コストパラメータ決定手段と、
    前記小ブロックをインター符号化するインター符号化手段と、
    前記小ブロックをイントラ符号化するイントラ符号化手段と、
    制御手段と、
    を備え、
    前記小ブロックを符号化する際、
    前記制御手段は、前記第1インター符号化コストパラメータ決定手段と前記第1イントラ符号化コストパラメータ決定手段での各第1の符号化コストの結果に基づき、優先符号化タイプとして、インター又はイントラ符号化を選択し、
    前記第2インター符号化コストパラメータ決定手段と前記第2イントラ符号化コストパラメータ決定手段のうち選択された前記優先符号化タイプに対応する一方が第2の符号化コストを計算し、
    得られた第2の符号化コストの計算結果に基づいて、前記第2インター符号化コストパラメータ決定手段と前記第2イントラ符号化コストパラメータ決定手段のうち前記優先符号化タイプとして選択されなかった他方のタイプに対応する他方による第2の符号化コスト計算をスキップするか否か判定し、判定の結果、前記第2の符号化コスト計算をスキップする場合には、前記第2インター符号化コストパラメータ決定手段と前記第2イントラ符号化コストパラメータ決定手段のうち前記優先符号化タイプとして選択されなかった他方のタイプに対応する他方による第2の符号化コスト計算を省略して、前記小ブロックを、前記優先符号化タイプである、インター又はイントラタイプに対応した符号化手段で符号化する、ことを特徴とする、動画像符号化装置。
  8. 前記第1の符号化コストの算出に要する計算量が、前記第2の符号化コストの算出に要する計算量よりも少ない、ことを特徴とする、請求項に記載の動画像符号化装置。
  9. 前記制御手段は、前記優先符号化タイプとしてイントラ符号化とインター符号化のいずれか一方を選択し、
    イントラ符号化が前記優先符号化タイプとして選択された場合、前記第2のイントラ符号化コストパラメータ決定手段にて第2の符号化コストを計算し、
    前記制御手段は、
    前記第2のイントラ符号化コストパラメータ決定手段による第2の符号化コストの値と、前記第1のインター符号化コストパラメータ決定手段による前記第1の符号化コストの値とから、前記第2のインター符号化コストパラメータ決定手段による第2の符号化コストの計算をスキップするか否か判定し、
    前記判定の結果、前記第2のインター符号化コストパラメータ決定手段による第2の符号化コストの計算をスキップする場合には、前記小ブロックの符号化タイプとして、イントラを選択し、
    前記判定の結果、前記第2のインター符号化コストパラメータ決定手段による第2の符号化コストの計算をスキップしない場合には、前記第2のインター符号化コストパラメータ決定手段にて第2の符号化コストを計算し、
    前記第2のインター符号化コストパラメータ決定手段による前記第2の符号化コストの値と、前記第2のイントラ符号化コストパラメータ決定手段による前記第2の符号化コストの値とに基づいて、前記小ブロックの符号化タイプを選択し、
    前記優先符号化タイプとして、インタータイプが選択された場合、前記第2のインター符号化コストパラメータ決定手段にて第2の符号化コストを計算し、
    前記第2のインター符号化コストパラメータ決定手段による第2の符号化コストの値と前記第1のイントラ符号化コストパラメータ決定手段による第1の符号化コストの値とから、前記第2のイントラ符号化コストパラメータ決定手段による第2の符号化コストの計算をスキップするか否か判定し、
    前記判定の結果、前記第2のイントラ符号化コストパラメータ決定手段による第2の符号化コストの計算をスキップする場合には、前記小ブロックの符号化タイプとしてインタータイプを選択し、
    前記第2のイントラ符号化コストパラメータ決定手段による第2の符号化コストの計算をスキップしない場合には、前記第2のイントラ符号化コストパラメータ決定手段にて第2の符号化コストを計算し、
    前記第2のイントラ符号化コストパラメータ決定手段による第2の符号化コストの値と前記第2のインター符号化コストパラメータ決定手段による第2の符号化コストの値とに基づいて、前記小ブロックの符号化タイプを選択する、ことを特徴とする、請求項に記載の動画像符号化装置。
  10. 前記制御手段は、前記第2の符号化コスト計算のスキップ率と相関を持つスキップ率制御パラメータを、符号化タイプ毎に備え、前記小ブロックの符号化に利用可能な計算量又は処理時間の割当に応じて、前記制御パラメータを調整することで、符号化に要する計算量を制御する、ことを特徴とする、請求項乃至のいずれか一に記載の動画像符号化装置。
  11. 前記制御手段は、符号化タイプに関し、そのタイプが優先符号化タイプとして選択された小ブロックの個数と、優先タイプとして選択された上で、第2の符号化コスト計算がスキップされた小ブロックの個数と、を計数した結果を、前記スキップ率制御パラメータの制御に利用し、
    符号化タイプに関し、そのタイプが優先符号化タイプとして選択された小ブロックの個数と、優先タイプとして選択された上で第2の符号化コスト計算がスキップされず、そのタイプと異なるタイプで符号化された小ブロックの個数を計数した結果を、前記スキップ率制御パラメータの制御に利用し、
    前記優先符号化タイプとしてインター符号化が選択され、イントラタイプで符号化する場合の第2の符号化コスト計算をスキップし、前記小ブロックの符号化タイプとしてインター符号化を選択する第1の手順と、
    インター符号化が優先符号化タイプとして選択され、インタトラタイプで符号化する場合の第2の符号化コスト計算をスキップせず、イントラタイプに関する前記第2の符号化コストの値と、インタータイプに関する前記第2の符号化コストの値とに基づいて、前記小ブロックの符号化タイプとしてインター符号化を選択する第2の手順、又はイントラ符号化を選択する第3の手順と、
    前記優先符号化タイプとしてイントラ符号化が選択され、インタータイプで符号化する場合の第2の符号化コスト計算をスキップし、前記小ブロックの符号化タイプとしてイントラ符号化を選択する第4の手順と、
    前記優先符号化タイプとしてイントラ符号化が選択され、インタータイプで符号化する場合の第2の符号化コスト計算をスキップせず、インタータイプに関する前記第2の符号化コストの値と、イントラタイプに関する前記第2の符号化コストの値とに基づいて、前記小ブロックの符号化タイプとして、インター符号化を選択する第5の手順、又はイントラ符号化を選択する第6の手順について、
    それぞれの前記手順を通過した前記小ブロックの個数を、フレーム単位やあるいは所定個数の小ブロック単位で計数カウンタで計測し、前記手順のパスを通過して符号化された前記小ブロックの個数の割合より1フレームの符号化に要する平均計算量を導出し、
    前記第1の手順1から第6の手順をそれぞれ通過した小ブロックの個数を計数し、前記第1の手順と前記第6の手順を通過した小ブロックの個数の割合を、前記スキップ率制御パラメータの制御に利用する、ことを特徴とする、請求項1に記載の動画像符号化装置。
  12. 前記制御手段は、符号化タイプに関し、そのタイプが優先符号化タイプとして選択された小ブロックの個数と、優先タイプとして選択された上で第2の符号化コスト計算がスキップされた小ブロックの個数と、を計数した結果を利用して、前記優先符号化タイプの選択条件を修正し、
    符号化タイプに関し、そのタイプが優先符号化タイプとして選択された小ブロックの個数と、優先タイプとして選択された上で第2の符号化コスト計算がスキップされず、そのタイプと異なるタイプで符号化された小ブロックの個数とを計数した結果を利用して、前記優先符号化タイプの選択条件を修正し、
    前記優先符号化タイプとしてインター符号化が選択され、イントラタイプで符号化する場合の第2の符号化コスト計算をスキップし、前記小ブロックの符号化タイプとしてインター符号化を選択する第1の手順と、
    インター符号化が優先符号化タイプとして選択され、インタトラタイプで符号化する場合の第2の符号化コスト計算をスキップせず、イントラタイプに関する前記第2の符号化コストの値と、インタータイプに関する前記第2の符号化コストの値とに基づいて、前記小ブロックの符号化タイプとしてインター符号化を選択する第2の手順、又はイントラ符号化を選択する第3の手順と、
    前記優先符号化タイプとしてイントラ符号化が選択され、インタータイプで符号化する場合の第2の符号化コスト計算をスキップし、前記小ブロックの符号化タイプとしてイントラ符号化を選択する第4の手順と、
    前記優先符号化タイプとしてイントラ符号化が選択され、インタータイプで符号化する場合の第2の符号化コスト計算をスキップせず、インタータイプに関する前記第2の符号化コストの値と、イントラタイプに関する前記第2の符号化コストの値とに基づいて、前記小ブロックの符号化タイプとして、インター符号化を選択する第5の手順、又はイントラ符号化を選択する第6の手順について、
    それぞれの前記手順を通過した前記小ブロックの個数を、フレーム単位やあるいは所定個数の小ブロック単位で計数カウンタで計測し、前記手順のパスを通過して符号化された前記小ブロックの個数の割合より1フレームの符号化に要する平均計算量を導出し、
    前記第1の手順1から第6の手順をそれぞれ通過した小ブロックの個数を計数し、前記第3の手順と前記第4の手順を通過した小ブロックの個数の割合を、前記優先符号化タイプの選択条件を修正に利用する、ことを特徴とする、請求項1に記載の動画像符号化装置。
  13. 動画像を小ブロックに分割しイントラ符号化とインター符号化のいずれかを用いて符号化する動画像符号化装置を構成するコンピュータに、
    前記小ブロックを符号化する際、
    インター及びイントラの各々のタイプで符号化する場合の第1の符号化コストを計算し、
    得られた第1の符号化コストの結果に基づき優先符号化タイプを1つ選択する処理と、
    前記優先符号化タイプで符号化される場合の第2の符号化コストを計算する処理と、
    得られた結果に基づいて前記優先符号化タイプ以外のタイプに関する第2の符号化コスト計算をスキップするか否か判定し、判定の結果、前記第2の符号化コスト計算をスキップする場合には、前記小ブロックを、選択された前記優先符号化タイプで符号化する処理と、
    を実行させるプログラム。
  14. 前記各々のタイプで符号化する場合の前記第1の符号化コストの算出に要する計算量が、前記第2の符号化コストの算出に要する計算量よりも少ない、ことを特徴とする請求項13記載のプログラム。
  15. 請求項13記載のプログラムにおいて、
    (a)前記優先符号化タイプとしてイントラ符号化とインター符号化のいずれか一方を選択する処理と、
    (b)前記優先符号化タイプとしてイントラ符号化が選択された場合、イントラタイプに関する第2の符号化コストを計算する処理と、
    (c)前記ステップ(b)で得られた第2の符号化コストの値と、インタータイプで符号化する場合の前記第1の符号化コストの値から、インタータイプで符号化する場合の第2の符号化コストの計算をスキップするか否か判定する処理と、
    (d)前記ステップ(c)での判定の結果、インタータイプで符号化する場合の第2の符号化コスト計算をスキップする場合は、前記小ブロックの符号化タイプとしてイントラ符号化を選択する処理と、
    (e)前記ステップ(c)での判定の結果、インタータイプで符号化する場合の第2の符号化コスト計算をスキップしない場合には、インタータイプで符号化する場合の第2の符号化コストを計算する処理と、
    (f)前記ステップ(e)で得られたインタータイプに関する第2の符号化コストの値と、前記ステップ(b)で得られたイントラタイプに関する第2の符号化コストの値とに基づいて、前記小ブロックの符号化タイプとして、インター又はイントラ符号化を選択する処理と、
    (g)前記ステップ(a)で前記優先符号化タイプとしてインタータイプが選択された場合、インタータイプに関する第2の符号化コストを計算する処理と、
    (h)前記ステップ(g)で得られたインタータイプに関する第2の符号化コストの値と、イントラタイプで符号化する場合の前記第1の符号化コストの値から、イントラタイプで符号化する場合の第2の符号化コストの計算をスキップするか否か判定する処理と、
    (i)前記ステップ(h)の判定の結果、イントラタイプで符号化する場合の第2の符号化コストの計算をスキップする場合には、前記小ブロックの符号化タイプとしてインタータイプを選択する処理と、
    (j)前記ステップ(h)の判定の結果、イントラタイプで符号化する場合の第2の符号化コストの計算をスキップしない場合には、イントラタイプで符号化する場合の第2の符号化コストを計算する処理と、
    (k)前記ステップ(j)で得られたイントラタイプに関する第2の符号化コストの値と、前記ステップ(g)で得られたインタータイプに関する第2の符号化コストの値とに基づいて、前記小ブロックの符号化タイプとして、インター又はイントラ符号化を選択する処理と
    を前記コンピュータに実行させるプログラム。
  16. 請求項13乃至15のいずれか一に記載のプログラムにおいて、
    前記第2の符号化コスト計算のスキップ率と相関を持つスキップ率制御パラメータを、符号化タイプ毎に備え、
    前記小ブロックの符号化に利用可能な計算量又は処理時間の割当に応じて、前記制御パラメータを調整することで、符号化に要する計算量を制御する処理を前記コンピュータに実行させるプログラム。
  17. 請求項16に記載のプログラムにおいて、
    符号化タイプに関し、そのタイプが優先符号化タイプとして選択された小ブロックの個数と、優先タイプとして選択された上で、第2の符号化コスト計算がスキップされた小ブロックの個数と、を計数した結果を、前記スキップ率制御パラメータの制御に利用し、
    符号化タイプに関し、そのタイプが優先符号化タイプとして選択された小ブロックの個数と、優先タイプとして選択された上で第2の符号化コスト計算がスキップされず、そのタイプと異なるタイプで符号化された小ブロックの個数を計数した結果を、前記スキップ率制御パラメータの制御に利用し、
    前記優先符号化タイプとしてインター符号化が選択され、イントラタイプで符号化する場合の第2の符号化コスト計算をスキップし、前記小ブロックの符号化タイプとしてインター符号化を選択する第1の手順と、
    インター符号化が優先符号化タイプとして選択され、インタトラタイプで符号化する場合の第2の符号化コスト計算をスキップせず、イントラタイプに関する前記第2の符号化コストの値と、インタータイプに関する前記第2の符号化コストの値とに基づいて、前記小ブロックの符号化タイプとしてインター符号化を選択する第2の手順、又はイントラ符号化を選択する第3の手順と、
    前記優先符号化タイプとしてイントラ符号化が選択され、インタータイプで符号化する場合の第2の符号化コスト計算をスキップし、前記小ブロックの符号化タイプとしてイントラ符号化を選択する第4の手順と、
    前記優先符号化タイプとしてイントラ符号化が選択され、インタータイプで符号化する場合の第2の符号化コスト計算をスキップせず、インタータイプに関する前記第2の符号化コストの値と、イントラタイプに関する前記第2の符号化コストの値とに基づいて、前記小ブロックの符号化タイプとして、インター符号化を選択する第5の手順、又はイントラ符号化を選択する第6の手順について、
    それぞれの前記手順を通過した前記小ブロックの個数を、フレーム単位やあるいは所定個数の小ブロック単位で計数カウンタで計測し、前記手順のパスを通過して符号化された前記小ブロックの個数の割合より1フレームの符号化に要する平均計算量を導出し、
    前記第1の手順1から第6の手順をそれぞれ通過した小ブロックの個数を計数し、前記第1の手順と前記第6の手順を通過した小ブロックの個数の割合を、前記スキップ率制御パラメータの制御に利用する処理を前記コンピュータに実行させるプログラム。
  18. 請求項16に記載のプログラムにおいて、
    符号化タイプに関し、そのタイプが優先符号化タイプとして選択された小ブロックの個数と、優先タイプとして選択された上で第2の符号化コスト計算がスキップされた小ブロックの個数と、を計数した結果を利用して、前記優先符号化タイプの選択条件を修正し、
    符号化タイプに関し、そのタイプが優先符号化タイプとして選択された小ブロックの個数と、優先タイプとして選択された上で第2の符号化コスト計算がスキップされず、そのタイプと異なるタイプで符号化された小ブロックの個数とを計数した結果を利用して、前記優先符号化タイプの選択条件を修正し、
    前記優先符号化タイプとしてインター符号化が選択され、イントラタイプで符号化する場合の第2の符号化コスト計算をスキップし、前記小ブロックの符号化タイプとしてインター符号化を選択する第1の手順と、
    インター符号化が優先符号化タイプとして選択され、インタトラタイプで符号化する場合の第2の符号化コスト計算をスキップせず、イントラタイプに関する前記第2の符号化コストの値と、インタータイプに関する前記第2の符号化コストの値とに基づいて、前記小ブロックの符号化タイプとしてインター符号化を選択する第2の手順、又はイントラ符号化を選択する第3の手順と、
    前記優先符号化タイプとしてイントラ符号化が選択され、インタータイプで符号化する場合の第2の符号化コスト計算をスキップし、前記小ブロックの符号化タイプとしてイントラ符号化を選択する第4の手順と、
    前記優先符号化タイプとしてイントラ符号化が選択され、インタータイプで符号化する場合の第2の符号化コスト計算をスキップせず、インタータイプに関する前記第2の符号化コストの値と、イントラタイプに関する前記第2の符号化コストの値とに基づいて、前記小ブロックの符号化タイプとして、インター符号化を選択する第5の手順、又はイントラ符号化を選択する第6の手順について、
    それぞれの前記手順を通過した前記小ブロックの個数を、フレーム単位やあるいは所定個数の小ブロック単位で計数する処理と、
    前記手順のパスを通過して符号化された前記小ブロックの個数の割合より1フレームの符号化に要する平均計算量を導出し、
    前記第1の手順1から第6の手順をそれぞれ通過した小ブロックの個数を計数し、前記第3の手順と前記第4の手順を通過した小ブロックの個数の割合を、前記優先符号化タイプの選択条件を修正に利用する処理と、
    を前記コンピュータに実行させるプログラム。
JP2006059988A 2006-03-06 2006-03-06 動画像符号化方法及び動画像符号化装置とプログラムならびに媒体 Active JP4677932B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006059988A JP4677932B2 (ja) 2006-03-06 2006-03-06 動画像符号化方法及び動画像符号化装置とプログラムならびに媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006059988A JP4677932B2 (ja) 2006-03-06 2006-03-06 動画像符号化方法及び動画像符号化装置とプログラムならびに媒体

Publications (2)

Publication Number Publication Date
JP2007243337A JP2007243337A (ja) 2007-09-20
JP4677932B2 true JP4677932B2 (ja) 2011-04-27

Family

ID=38588459

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006059988A Active JP4677932B2 (ja) 2006-03-06 2006-03-06 動画像符号化方法及び動画像符号化装置とプログラムならびに媒体

Country Status (1)

Country Link
JP (1) JP4677932B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9432674B2 (en) * 2009-02-02 2016-08-30 Nvidia Corporation Dual stage intra-prediction video encoding system and method
JP5655480B2 (ja) * 2010-10-04 2015-01-21 富士通株式会社 動画像符号化装置
JP2014236264A (ja) 2013-05-31 2014-12-15 ソニー株式会社 画像処理装置、画像処理方法及びプログラム
KR101517184B1 (ko) * 2013-10-30 2015-05-15 인하대학교 산학협력단 고효율 비디오 코딩에서 인터 예측을 위한 작동 수준의 조기 종료 방법
JP6200335B2 (ja) * 2014-01-20 2017-09-20 日本放送協会 動画符号化装置、及び動画符号化プログラム
JP6291971B2 (ja) * 2014-03-31 2018-03-14 富士通株式会社 符号化装置、符号化方法及び符号化プログラム
US10085027B2 (en) * 2015-03-06 2018-09-25 Qualcomm Incorporated Adaptive mode checking order for video encoding
JP6965887B2 (ja) * 2016-09-12 2021-11-10 日本電気株式会社 イントラ予測モード決定方法、イントラ予測モード決定装置およびイントラ予測モード決定プログラム
CN108810531B (zh) * 2017-05-03 2019-11-19 腾讯科技(深圳)有限公司 视频编码处理方法、装置及电子设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005142986A (ja) * 2003-11-10 2005-06-02 Matsushita Electric Ind Co Ltd 動画像符号化方法、動画像符号化装置および動画像符号化プログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005142986A (ja) * 2003-11-10 2005-06-02 Matsushita Electric Ind Co Ltd 動画像符号化方法、動画像符号化装置および動画像符号化プログラム

Also Published As

Publication number Publication date
JP2007243337A (ja) 2007-09-20

Similar Documents

Publication Publication Date Title
JP4677932B2 (ja) 動画像符号化方法及び動画像符号化装置とプログラムならびに媒体
JP4127818B2 (ja) 動画像符号化方法及びその装置
US8369628B2 (en) Video encoding device, video encoding method, video encoding program, video decoding device, video decoding method, and video decoding program
US20040076333A1 (en) Adaptive interpolation filter system for motion compensated predictive video coding
JP5277257B2 (ja) 動画像復号化方法および動画像符号化方法
JP4752631B2 (ja) 画像符号化装置、及び画像符号化方法
US20070268964A1 (en) Unit co-location-based motion estimation
JP2007267414A (ja) フレーム内画像符号化方法及びその装置
KR20080066684A (ko) 레이트-왜곡 특징들을 사용하는 비디오 코딩을 위한 2 패스레이트 제어 기술들
CN102077599B (zh) 用于视频编码器中的高质量帧内模式预测的设备和方法
TWI401967B (zh) 可調式動態影像編碼方法、可調式動態影像編碼裝置、可調式動態影像編碼程式及記錄有該程式之電腦可讀取記錄媒體
JP4074868B2 (ja) 画像符号化制御方法及びその装置
US8194740B2 (en) Apparatus and method for compression-encoding moving picture
JP4786612B2 (ja) 動画像符号化装置の予測動きベクトル生成装置
JP5649296B2 (ja) 画像符号化装置
JP4257789B2 (ja) 動画像符号化装置
JP4130617B2 (ja) 動画像符号化方法および動画像符号化装置
JP4037839B2 (ja) 画像符号化方法及び装置
JP4452733B2 (ja) 動画像符号化における動き評価装置,方法およびそのプログラム並びにその記録媒体
JP3480067B2 (ja) 画像符号化装置及び方法
JP2009049969A (ja) 動画像符号化装置及び方法並びに動画像復号化装置及び方法
JP2002247584A (ja) 画像符号化方法および装置、並びに、画像符号化処理用プログラム及びそのプログラムの記録媒体
JP2009194474A (ja) 動画像符号化装置
JP4243286B2 (ja) 符号化方法
JP4281667B2 (ja) 画像符号化装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100927

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101005

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101206

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110117

R150 Certificate of patent or registration of utility model

Ref document number: 4677932

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140210

Year of fee payment: 3