JP2009055542A - 動画像符号化装置および動画像符号化方法 - Google Patents

動画像符号化装置および動画像符号化方法 Download PDF

Info

Publication number
JP2009055542A
JP2009055542A JP2007222573A JP2007222573A JP2009055542A JP 2009055542 A JP2009055542 A JP 2009055542A JP 2007222573 A JP2007222573 A JP 2007222573A JP 2007222573 A JP2007222573 A JP 2007222573A JP 2009055542 A JP2009055542 A JP 2009055542A
Authority
JP
Japan
Prior art keywords
macroblock
prediction mode
cost
encoding
macroblocks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007222573A
Other languages
English (en)
Inventor
Takeshi Tateno
剛 舘野
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2007222573A priority Critical patent/JP2009055542A/ja
Priority to US12/190,126 priority patent/US20090060045A1/en
Publication of JP2009055542A publication Critical patent/JP2009055542A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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
    • 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

【課題】画質低下を抑えつつ、予測モード判定に要する処理量の低減することが可能な動画像符号化装置を実現する。
【解決手段】符号化対象マクロブロック8に隣接する符号化済みマクロブロック1,2,3,7についてはそれらマクロブロック1,2,3,7が参照マクロブロックとなり、符号化されていない隣接マクロブロック9,13,14,15については直前のピクチャPn-1内の対応するマクロブロック9,13,14,15が参照マクロブロックとなる。これら参照マクロブロックの内からコストが最小の参照マクロブロックが選択され、この選択された参照マクロブロックと同一の予測モードが予測モード候補に決定される。この予測モード候補をマクロブロック8に適用した場合のコストが、選択された参照マクロブロックのコスト以下である場合、予測モード候補がマクロブロック8の予測モードとなる。
【選択図】図5

Description

本発明は、複数の予測モードを選択的に使用して動画像信号を符号化する動画像符号化装置および動画像符号化方法に関する。
近年、動画像をソフトウェアによって符号化するソフトウェアエンコーダを搭載するパーソナルコンピュータが普及し始めている。また、最近では、次世代の動画像圧縮符号化技術として、H.264/AVC(Advanced Video Coding)規格が注目されている。このH.264/AVC規格は、MPEG2やMPEG4のような従来の圧縮符号化技術よりも高能率の圧縮符号化技術である。
H.264/AVC規格のフレーム間予測符号化(インター予測符号化)においては、16×16画素、16×8画素、8×16画素、8×8画素といった予測ブロック形状の異なる複数の予測モードを利用することができ、また予測ブロック形状が8×8画素以上の場合には、直交変換も4×4画素、8×8画素のブロック形状を選択的に利用することができる。また、H.264/AVC規格のフレーム内予測符号化(イントラ予測符号化)においては、4×4画素、8×8画素といった予測ブロック形状に対しては9通りの予測方向を選択することができ、また16×16画素の予測ブロック形状に対しても4通りの予測方向を選択することができる。
このように、H.264/AVC規格においては、利用可能な予測モードの数を増やすことにより、予測効率の向上を実現している。
しかし、その反面、H.264/AVC規格に対応するエンコード処理においては、MPEG2やMPEG4のような従来の圧縮符号化技術よりも多くの処理量が必要とされる。特に、マクロブロック毎に複数の予測モードの中から最適な予測モードを決定するための予測モード判定処理には多くの処理量が必要とされる。
このようなことから、これまでも、動画像のエンコードに必要な処理量を低減するための提案がなされている。
例えば、特許文献1には、符号化済みの近傍ブロックのイントラ予測モードに応じて、符号化対象ブロックに適用するイントラ予測モードを決定する技術が開示されている。
特開2006−246431号公報
しかし、上述したように、H.264/AVC規格においては、フレーム内予測符号化のための予測モードのみならず、フレーム間予測符号化のための予測モードも複数存在している。このため、H.264/AVC規格のエンコード処理の処理量を低減するためには、フレーム間予測符号化のための予測モード群とフレーム内予測符号化のための予測モード群とを含む複数の予測モードの中から適用すべき1つの予測モードを効率よく決定できるようにすることが必要である。
また、符号化済みの近傍ブロックのイントラ予測モードから符号化対象ブロックのイントラ予測モードを決定するだけでは、符号化対象ブロックに適したイントラ予測モードを選択できなくなる可能性が高くなり、結果として画質低下を招くことになる。
本発明はこのような事情を考慮してなされたものであり、画質低下を抑えつつ、予測モード判定に要する処理量を低減することが可能な動画像符号化装置および動画像符号化方法を提供することを目的とする。
上述の課題を解決するため、本発明は、符号化対象の動画像信号の各ピクチャを複数のマクロブロックに分割し、マクロブロック毎に、フレーム間予測符号化のための予測モード群とフレーム内予測符号化のための予測モード群とを含む複数の予測モードの中から1つの予測モードを選択し、当該選択された予測モードで前記マクロブロックを符号化する動画像符号化装置であって、符号化対象のマクロブロックに対応する複数の周辺マクロブロックを特定する周辺マクロブロック特定手段であって、前記複数の周辺マクロブロックは、前記符号化対象のマクロブロックが存在する符号化対象ピクチャ内に存在し且つ前記符号化対象のマクロブロックを取り囲むように前記符号化対象のマクロブロックにそれぞれ隣接する複数のマクロブロックである、周辺マクロブロック特定手段と、前記特定された複数の周辺マクロブロック内のマクロブロック毎に当該マクロブロックが符号化済みのマクロブロックであるか否かを判別し、当該マクロブロックが符号化済みのマクロブロックである場合、当該マクロブロックを前記符号化対象のマクロブロックの予測モード候補の決定のために使用すべき参照マクロブロックに決定し、当該マクロブロックが符号化されていないマクロブロックである場合、当該マクロブロックと同じ空間位置にある、前記符号化対象のピクチャの直前の符号化済みピクチャ内の符号化済みマクロブロックを、前記参照マクロブロックに決定することによって、前記複数の周辺マクロブロックそれぞれに対応する複数の参照マクロブロックを決定する参照マクロブロック決定手段と、前記決定された複数の参照マクロブロックそれぞれの符号化で発生した符号量を示す、前記複数の参照マクロブロックそれぞれに対応するコストを参照することによって、前記複数の参照マクロブロックの内からコストが最小の参照マクロブロックを選択し、当該選択した参照マクロブロックの符号化で用いられた予測モードを前記符号化対象のマクロブロックに適用すべき予測モード候補に決定する予測モード候補決定手段と、前記決定された予測モード候補で前記符号化対象のマクロブロックを符号化した場合に発生する符号量を示すコストを算出するコスト算出手段と、前記算出されたコストが前記選択した参照マクロブロックのコスト以下である場合、前記決定された予測モード候補を前記符号化対象のマクロブロックに適用すべき予測モードに決定する第1の予測モード決定手段と、前記算出された符号化コストが前記選択したマクロブロックの符号化コストよりも大きい場合、前記符号化対象のマクロブロックを前記予測モード候補以外の予測モードでそれぞれ符号化した場合に発生する符号量を示すコストをそれぞれ算出し、前記複数の予測モードの中でコストが最小となる予測モードを前記符号化対象のマクロブロックに適用すべき予測モードに決定する第2の予測モード決定手段とを具備することを特徴とする。
また、本発明は、符号化対象の動画像信号の各ピクチャを複数のマクロブロックに分割し、マクロブロック毎に、フレーム間予測符号化のための予測モード群とフレーム内予測符号化のための予測モード群とを含む複数の予測モードの中から1つの予測モードを選択し、当該選択された予測モードで前記マクロブロックを符号化する動画像符号化方法であって、符号化対象のマクロブロックに対応する複数の周辺マクロブロックを特定する周辺マクロブロック特定ステップであって、前記複数の周辺マクロブロックは、前記符号化対象のマクロブロックが存在する符号化対象ピクチャ内に存在し且つ前記符号化対象のマクロブロックを取り囲むように前記符号化対象のマクロブロックにそれぞれ隣接する複数のマクロブロックである、周辺マクロブロック特定ステップと、前記特定された複数の周辺マクロブロック内のマクロブロック毎に当該マクロブロックが符号化済みのマクロブロックであるか否かを判別し、当該マクロブロックが符号化済みのマクロブロックである場合、当該マクロブロックを前記符号化対象のマクロブロックの予測モード候補の決定のために使用すべき参照マクロブロックに決定し、当該マクロブロックが符号化されていないマクロブロックである場合、当該マクロブロックと同じ空間位置にある、前記符号化対象のピクチャの直前の符号化済みピクチャ内の符号化済みマクロブロックを、前記参照マクロブロックに決定することによって、前記複数の周辺マクロブロックそれぞれに対応する複数の参照マクロブロックを決定する参照マクロブロック決定ステップと、前記決定された複数の参照マクロブロックそれぞれの符号化で発生した符号量を示す、前記複数の参照マクロブロックそれぞれに対応するコストを参照することによって、前記複数の参照マクロブロックの内からコストが最小の参照マクロブロックを選択し、当該選択した参照マクロブロックの符号化で用いられた予測モードを前記符号化対象のマクロブロックに適用すべき予測モード候補に決定する予測モード候補決定ステップと、前記決定された予測モード候補で前記符号化対象のマクロブロックを符号化した場合に発生する符号量を示すコストを算出するコスト算出ステップと、前記算出されたコストが前記選択した参照マクロブロックのコスト以下である場合、前記決定された予測モード候補を前記符号化対象のマクロブロックに適用すべき予測モードに決定する第1の予測モード決定ステップと、前記算出された符号化コストが前記選択したマクロブロックの符号化コストよりも大きい場合、前記符号化対象のマクロブロックを前記予測モード候補以外の予測モードでそれぞれ符号化した場合に発生する符号量を示すコストをそれぞれ算出し、前記複数の予測モードの中でコストが最小となる予測モードを前記符号化対象のマクロブロックに適用すべき予測モードに決定する第2の予測モード決定ステップとを具備することを特徴とする。
本発明によれば、画質低下を抑えつつ、予測モード判定に要する処理量を低減することが可能となる。
以下、図面を参照して、本発明の実施形態を説明する。
図1には、本発明の一実施形態に係る動画像符号化装置の構成例が示されている。この動画像符号化装置は、例えば、パーソナルコンピュータのようなコンピュータによって実現されている。
図1に示すように、このコンピュータは、CPU11、ノースブリッジ12、主メモリ13、グラフィックスコントローラ14、VRAM14A、LCD15、サウスブリッジ16、BIOS−ROM17、ハードディスクドライブ(HDD)18、HD DVDドライブ19、サウンドコントローラ20、スピーカ21、エンベデッドコントローラ/キーボードコントローラIC(EC/KBC)22、キーボード23、タッチパッド24、電源回路25、バッテリ26およびネットワークコントローラ27等を備えている。
CPU11は、本コンピュータ内の各部の動作を制御するプロセッサである。CPU11は、HDD18から主メモリ13にロードされるオペレーティングシステム(OS)100、およびこのOS100の制御下で動作する各種アプリケーションプログラムを実行する。この各種アプリケーションプログラムの中には、ビデオエンコーダアプリケーション200が含まれている。ビデオエンコーダアプリケーション200は、動画像を符号化するためのソフトウェアであり、H.264/AVC規格に対応するソフトウェアエンコーダとして動作する。また、CPU11は、BIOS−ROM17に格納されたBIOSも実行する。
ノースブリッジ12は、CPU11のローカルバスとサウスブリッジ16との間を接続するブリッジデバイスである。ノースブリッジ12は、バスを介してグラフィックスコントローラ14との通信を実行する機能を有しており、また、主メモリ13をアクセス制御するメモリコントローラも内蔵されている。グラフィックスコントローラ14は、本コンピュータのディスプレイモニタとして使用されるLCD15を制御する表示コントローラである。グラフィックスコントローラ14は、VRAM14Aに書き込まれた画像データからLCD15に送出すべき表示信号を生成する。
サウスブリッジ16は、PCIバスおよびLPCバス上の各種デバイスを制御するコントローラである。また、このサウスブリッジ16は、BIOS−ROM17、HDD18、HD DVDドライブ19およびサウンドコントローラ20を制御する機能も有している。サウンドコントローラ20は、スピーカ21にオーディオ信号を出力する音源デバイスである。
EC/KBC22は、電力管理のためのエンベデッドコントローラと、キーボード23およびタッチパッド24を制御するためのキーボードコントローラとが集積された1チップマイクロコンピュータである。EC/KBC22は、電源回路25と協働して、バッテリ26からの電力または外部AC電源からの電力から各部に供給すべき電力を生成する。ネットワークコントローラ27は、例えばインターネットなどの外部ネットワークとの通信を実行する通信装置である。
次に、図2を参照して、本コンピュータ上で動作するビデオエンコーダアプリケーション200によって実現されるソフトウェアエンコーダの機能構成を説明する。
ビデオエンコーダアプリケーション200によるエンコード処理は、H.264/AVC規格に対応している。図示のように、ビデオエンコーダアプリケーション200は、その機能構成モジュールとして、入力部201、DCT(Discrete Cosine Transform)・量子化部202、エントロピー符号化部203、逆量子化・逆DCT部204部、フレーム内(イントラ)予測部205、デブロッキングフィルタ206、フレームメモリ207、動き検出部208、フレーム間(インター)予測部209、符号化制御部210、スイッチ212、減算部213、加算部214、予測モード判定部301、およびレート制御部302等を備えている。
ビデオエンコーダアプリケーション200は、入力部201から入力される符号化対象の動画像信号の各ピクチャ(フレームまたはフィールドの画面)を、例えば各々が16×16画素の複数のマクロブロックに分割し、マクロブロック単位で予測モードを適応的に選択しながらピクチャを符号化(圧縮符号化)する。
予測モード判定部301は、DCT・量子化部202、逆量子化・逆DCT部204部、フレーム内(イントラ)予測部205、動き検出部208、およびフレーム間(インター)予測部209等を制御して、符号化対象のマクロブロック毎に、フレーム内予測符号化(イントラ予測符号化)のための予測モード群と動き補償フレーム間予測符号化(インター予測符号化)のための予測モード群とを含む複数の予測モードの中から、当該符号化対象のマクロブロックに適用すべき一つの予測モードを決定する。各マクロブロックは、予測モード判定部301によって決定された予測モードで符号化(イントラ予測符号化またはインター予測符号化)される。
図3は、この予測モード判定部301の機能ブロックを示している。
図3に示すように、予測モード判定部301は、周辺マクロブロック特定部401、参照マクロブロック決定部402、予測モード候補決定部403、コスト算出部404、第1の予測モード決定部405、第2の予測モード決定部406、および第3の予測モード決定部407等を備えている。
周辺マクロブロック特定部401は、符号化対象のマクロブロックに対応する複数の周辺マクロブロックを特定する。複数の周辺マクロブロックは、当該符号化対象マクロブロックが存在する符号化対象ピクチャ内に存在し且つ当該符号化対象マクロブロックを取り囲むように当該符号化対象マクロブロックにそれぞれ隣接する複数のマクロブロックである。図5に示されているように、ピクチャPn 内の例えばマクロブロック8に対応する周辺マクロブロック群は、例えば、マクロブロック8の周囲8近傍に存在する8個の隣接マクロブロック、つまり隣接マクロブロック1,2,3,7,9,13,14,15である。また、例えばマクロブロック1に対応する周辺マクロブロック群は、マクロブロック1を取り囲む3つの隣接マクロブロック2,7,8である。また、例えばマクロブロック2に対応する周辺マクロブロック群は、マクロブロック2を取り囲む5つの隣接マクロブロック1,3,7,8,9である。また、例えばマクロブロック30に対応する周辺マクロブロック群は、マクロブロック30を取り囲む3つの隣接マクロブロック23,24,29である。
参照マクロブロック決定部402は、符号化対象マクロブロックを取り囲む複数の周辺マクロブロックそれぞれに対応する複数の参照マクロブロックを決定する。各参照マクロブロックは、符号化対象マクロブロックに適用すべき予測モード候補を決定するために参照されるべきマクロブロックである。符号化済みのマクロブロック、換言すれば予測モード判定部301によってすでに予測モード判定が実行されたマクロブロックが、参照マクロブロックとして利用することが出来る。
参照マクロブロック決定部402は、周辺マクロブロック特定部401によって特定された複数の周辺マクロブロック内に属するマクロブロック(隣接マクロブロック)毎に、当該隣接マクロブロックが符号化済みのマクロブロックであるか否かを判別し、その判別結果に従って、当該隣接マクロブロックに対応する参照マクロブロックを決定する。
具体的には、当該隣接マクロブロックが符号化済みのマクロブロックであるならば、参照マクロブロック決定部402は、当該隣接マクロブロック自体を、当該隣接マクロブロックに対応する参照マクロブロックに決定する。
一方、もし当該隣接マクロブロックが符号化されていないマクロブロックであるならば、参照マクロブロック決定部402は、当該隣接マクロブロックと同じ空間位置にある、符号化対象ピクチャの直前の符号化済みピクチャ内の符号化済みマクロブロックを、当該隣接マクロブロックに対応する参照マクロブロックに決定する。つまり、直前の符号化済みピクチャ内に含まれる複数の符号化済みマクロブロックの内で、符号化対象ピクチャ内の当該隣接マクロブロックの空間位置と同一の空間位置に存在する符号化済みマクロブロックが、当該隣接マクロブロックに対応する参照マクロブロックとして使用される。
例えば、図5において、ピクチャPn 内のマクロブロック8が符号化対象のマクロブロックであるならば、隣接マクロブロック1,2,3,7はそれぞれ符号化済みであるので、これら隣接マクロブロック1,2,3,7自体が、隣接マクロブロック1,2,3,7に対応する参照マクロブロックとしてそれぞれ使用される。一方、隣接マクロブロック9,13,14,15は符号化されていないので、隣接マクロブロック9,13,14,15の各々と同じ空間位置にある、符号化済みの直前のピクチャPn-1内のマクロブロック9,13,14,15が、隣接マクロブロック9,13,14,15それぞれに対応する参照マクロブロックとして使用される。ピクチャPn-1は、符号化対象ピクチャPnの直前に符号化されたピクチャである。つまり、ピクチャPn-1は、符号化順で、現在の符号化対象ピクチャPnの直前のピクチャである。
このように、周辺マクロブロック群に含まれるあるマクロブロックが符号化されていないマクロブロックである場合には、当該マクロブロックと同じ空間位置にある直前のピクチャ内のマクロブロックが、当該マクロブロックに対応する参照マクロブロックとして使用される。これにより、より多くの数の符号化済みマクロブロックそれぞれの予測モード判定結果を参照することが可能となる。
予測モード候補決定部403は、参照マクロブロック決定部402によって決定された複数の参照マクロブロックそれぞれの予測モード判定結果を参照して、符号化対象のマクロブロックに適用すべき予測モード候補を決定する。
具体的には、予測モード候補決定部403は、決定された複数の参照マクロブロックそれぞれの符号化で発生した符号量を示す、これら複数の参照マクロブロックそれぞれに対応するコストを参照することによって、これら複数の参照マクロブロックの内からコストが最小の参照マクロブロックを選択する。そして、予測モード候補決定部403は、選択した参照マクロブロックの符号化で用いられた予測モードを、符号化対象マクロブロックに適用すべき予測モード候補に決定する。符号化済みの各マクロブロックの予測モード判定結果(予測モード、コスト)を示すモード判定結果情報(予測モード、コスト)はメモリ501に格納されているので、予測モード候補決定部403は、各参照マクロブロックに対応するモード判定結果情報をメモリ501から読み出すことによって、各参照マクロブロックに対応する、予測モードおよびコストを参照することができる。
コスト算出部404は、予測モード候補決定部403によって決定された予測モード候補で符号化対象マクロブロックを符号化した場合に発生する符号量を示すコストを算出する。あるマクロブロックに対応するコストは、当該マクロブロックをある予測モードで符号化した場合に発生する符号量を示す。符号化対象マクロブロックのコストは、例えば、予め決められたコスト関数を用いて求めることが出来る。このコスト関数は、例えば、予測画像と原画像との間の予測誤差の絶対値誤差和(SAD:Sum of Absolute Difference)と、動きベクトル量を含む符号化係数データ量(ヘッダデータ量)との合計値によって表すことができる。また、絶対値誤差和のみによって、発生する符号量を示すコストを表してもよい。また、他の様々なコスト関数によって、ある予測モードで符号化対象マクロブロックを符号化した場合に発生する符号量を、当該符号化対象マクロブロックの符号化のためのコストとして算出することができる。もちろん、符号化対象マクロブロックを予測モード候補で実際に符号化する処理を試行し、その符号化の試行結果に基づいて、符号化対象マクロブロックを予測モード候補で符号化した場合のコストを算出するようにしてもよい。
第1の予測モード決定部405は、コスト算出部404によって算出されたコストが所定の評価コスト閾値以下であるか否かを判別する。コスト算出部404によって算出されたコストが評価コスト閾値以下であるという予測モード候補評価条件が満たされたならば、第1の予測モード決定部405は、予測モード候補を、符号化対象マクロブロックに適用すべき予測モードに決定する。この場合、予測モード候補以外の他の残りの予測モードそれぞれに対するコストの算出処理は省略される。評価コスト閾値としては、予測モード候補決定部403によって選択された参照マクロブロックのコストが用いられる。
コスト算出部404によって算出されたコストが評価コスト閾値よりも大きい場合には、第2の予測モード決定部406によって、符号化対象マクロブロックに適用すべき予測モードが決定される。この場合、第2の予測モード決定部406は、符号化対象マクロブロックを予測モード候補以外の他の全ての予測モードでそれぞれ符号化した場合に発生する符号量を示すコストをそれぞれ算出する。そして、第2の予測モード決定部406は、利用可能な全ての予測モードの中で、算出されたコストが最小となる予測モードを、符号化対象マクロブロックに適用すべき予測モードに決定する。
このように、本実施形態においては、まず、符号化対象マクロブロックに適用すべき予測モード候補が、符号化対象マクロブロックに対応する参照マクロブロックそれぞれの予測モード判定結果(または符号化結果)を用いて決定される。この場合、複数の参照マクロブロックの中でコストが最小の参照マクロブロックが選択され、この選択された参照マクロブロックに適用された予測モードが符号化対象マクロブロックの予測モード候補(初期予測モード)として決定される。各参照マクロブロックと符号化対象マクロブロックとの間の空間的相関は比較的強い。したがって、複数の参照マクロブロックそれぞれに対応する予測モード判定結果を参照することにより、イントラ予測符号化のための予測モード群とインター予測符号化のための予測モード群とを含む利用可能な複数の予測モードの中から、より適切な予測モードを、符号化対象マクロブロックに適用すべき予測モード候補として選択することが可能となる。
予測モード候補で符号化対象マクロブロックを符号化した場合のコストが評価コスト閾値以下である場合、その時点で、符号化対象マクロブロックに対する予測モード判定処理は終了され、予測モード候補以外の他の予測モードそれぞれを評価する処理の実行は省略される。したがって、本実施形態では、最小で1回のコスト計算のみで予測モードを決定することができるので、予測モード判定処理に要する処理量を低減することができる。
さらに、本実施形態では、予測モード候補で符号化対象マクロブロックを符号化した場合のコストが、選択された参照マクロブロックのコストよりも大きい場合には、予測モード候補以外の他の予測モードそれぞれに対応するコストが評価され、その評価結果に基づいて、符号化対象マクロブロックに適用すべき予測モードが決定される。したがって、予測モード判定処理の処理量を低減するために、利用可能な予測モードの種類を特定の何種類かの予測モードのみに限定するという方法を使用する場合に比し、画質低下を防止することができる。
またさらに、本実施形態では、符号化対象ピクチャ内に存在する符号化済みのマクロブロックのみならず、直前のピクチャ内に存在するマクロブロックも参照マクロブロックとして使用される。これにより、符号化対象マクロブロックと同じピクチャ内に存在する符号化済みのマクロブロックのみの予測モード判定結果から符号化対象マクロブロックの予測モードを決定する構成に比し、より多くの符号化済みのマクロブロックの予測モード判定結果を参照することが可能となる。よって、符号化対象マクロブロックにより適した予測モードを、符号化対象マクロブロックの予測モード候補として決定することができる。
なお、参照マクロブロックそれぞれの予測モード判定結果を利用して符号化対象マクロブロックの予測モードを決定する予測モード判定処理は、予測モード決定部403によって選択された参照マクロブロックのコスト、つまり参照マクロブロックそれぞれのコストの中で最小のコスト、が基準値以下であることを条件に実行するようにしてもよい。この場合、予測モード決定部403によって選択された参照マクロブロックのコストが基準値よりも大きい場合には、第3の予測モード決定部407によって、利用可能な全ての予測モードそれぞれのコストを評価するという通常の予測モード判定処理が実行される。
すなわち、第3の予測モード決定部407は、予測モード決定部403によって選択された参照マクロブロックのコスト、つまり参照マクロブロックそれぞれのコストの中で最小のコスト、が基準値よりも大きいか否かを判別する。選択された参照マクロブロックのコストが基準値よりも大きい場合、第3の予測モード決定部407は、符号化対象マクロブロックを上述の全ての予測モードでそれぞれ符号化した場合の符号化コストをそれぞれ算出し、全ての複数の予測モードの中でコストが最小となる予測モードを符号化対象マクロブロックに適用すべき予測モードに決定する。
なお、選択された参照マクロブロックのコストが基準値よりも大きいという条件が満たされた場合のみならず、周辺ブロック特定部401によって特定された複数の周辺マクロブロック内に符号化済みのマクロブロックが含まれていないという条件が満たされた場合にも、上述の通常の予測モード判定処理を実行するようにしてもよい。この場合、例えば、図5のピクチャPn内のマクロブロック1が符号化対象マクロブロックであるならば、符号化対象マクロブロック1に対応する周辺マクロブロック2,7,8はいずれも符号化されていないので、符号化対象マクロブロック1の予測モード判定には、第3の予測モード決定部407によって実行される上述の通常の予測モード判定処理が適用される。
ところで、H.264/AVC規格のハイプロファイルでは、インター予測符号化において、予測モードのブロックサイズ(動き補償ブロックのサイズ)が8×8画素以上の場合、4×4画素のブロックサイズのDCT、8×8画素のブロックサイズのDCTのいずれかから最適な方を選択可能となっている。インター予測符号化においては、7種類の動き補償ブロックサイズ(16×16画素、16×8画素、8×16画素、8×8画素、8×4画素、4×8画素、4×4画素)それぞれに対応する7種類の予測モードを選択的に利用することが出来る。したがって、もし、インター予測符号化で利用可能なM種類の予測モード(動き補償ブロックサイズ)が存在し、かつ、N種類のブロックサイズそれぞれに対応するDCTが利用可能である場合には、インター予測符号化だけで、M×N種類の予測モードが実質的に存在することとなる。このような状況において、何らの工夫も凝らさずに、すべての予測モード(動き補償ブロックサイズとDCTブロックサイズとの組み合わせ)について評価を行い最適な予測モードを選択するという構成を採用したならば、当該インター予測の予測モード判定処理に要する処理量が膨大となってしまう。したがって、本実施形態の予測モード判定処理は極めて有効である。
また、イントラ予測符号化においては、4×4画素の予測ブロック形状、および8×8画素の予測ブロック形状の各々のブロック形状に対して、9通りの予測モード(予測方向)があり、16×16画素の予測ブロック形状に対しても、4通りの予測モード(予測方向)がある。
符号化対象ピクチャに適用される符号化モードがPピクチャ(Predictive-picture)またはBピクチャ(Bi- Predictive Prediction-picture)の場合には、インター予測符号化されたマクロブロックのみならず、イントラ予測符号化されたマクロブロックを含むことも出来る。このため、利用可能な予測モードの種類は非常に多くなる。
本実施形態では、最小一回の予測判定処理で予測モードを決定できるので、符号化対象ピクチャがPピクチャまたはBピクチャであっても、予測モード判定に必要な処理量を大幅に低減することができる。
なお、図2に機能構成が示されるソフトウェアエンコーダにおいては、イントラ予測部205は、予測モード判定処理部301の制御の下に、イントラ予測符号化のための複数の予測モードそれぞれに対応する予測処理を選択的に実行する。イントラ予測符号化モード時においては、予測モード判定処理部301はスイッチ212によってイントラ予測部205を選択する。イントラ予測部205は、予測モード判定処理部301によって決定されたイントラ予測のための予測モードに従って、符号化対象マクロブロック内の各ブロックに対応する予測信号を、符号化対象ピクチャ内の幾つかの符号化済みブロックから生成する。減算部213では、符号化対象ピクチャからこの予測信号を引いた予測誤差信号が得られる。この予測誤差信号は、DCT・量子化部202によって直交変換および量子化される。量子化された直交変換係数は、イントラ予測モードを示すイントラ予測モード情報などと共に、エントロピー符号化部203によってエントロピー符号化される。
一方、インター予測符号化モード時においては、まず、動き検出部208が、フレームメモリ207に格納された既に符号化されたピクチャからの動きを推定し、続いて、インター予測部209が、予測モード判定処理部301によって決定された予測モードに従って、符号化対象マクロブロックに対応する動き補償フレーム間予測信号を、定められたブロック形状単位で生成する。つまり、動き補償フレーム間予測信号は、予測モード判定処理部301によって決定された予測モードに対応する動き補償ブロックサイズ単位で生成される。そして、符号化対象ピクチャから動き補償フレーム間予測信号を引いた予測誤差信号は、DCT・量子化部202によって、直交変換(DCT)および量子化される。DCT・量子化部202によって得られる、量子化された直交変換係数群は、エントロピー符号化部203に送られる。エントロピー符号化部203は、量子化された直交変換係数群およびインター予測モード情報(予測モード、動きベクトル情報、等)をエントロピー符号化する。
また、逆量子化・逆DCT部204は、直交変換および量子化されたピクチャの量子化係数を逆量子化および逆直交変換するものであり、デブロッキングフィルタ206は、ブロックノイズを低減するためのデブロッキングフィルタ処理を行うものである。
レート制御部302は、エントロピー符号化部203から出力される符号化ストリームのレート(発生符号量)を調整するために、量子化パラメータの設定等を行う。
図4は、ピクチャ内のマクロブロックの符号化順序を示している。
ピクチャは複数のマクロブロックに分割され、図4の(A)に示す順序または図4の(B)に示す順序(ラスタスキャン)で符号化される。各マクロブロックの符号化に際しては、最初に予測モード判定処理が実行される。
図5は、図4の(B)に示す順序(ラスタスキャン)で符号化が行われる場合の予測モード判定処理における、符号化対象マクロブロックと参照マクロブロック群との関係を示している。
ピクチャPnは、現在の符号化対象ピクチャである。例えば、ピクチャPn内のマクロブロック8が符号化対象マクロブロックである場合、マクロブロック8を取り囲み且つマクロブロック8にそれぞれ隣接する、ピクチャPn内のマクロブロック1,2,3,7,9,13,14,15が、符号化対象マクロブロック8に対応する周辺マクロブロック群として特定される。ピクチャPn内のマクロブロック1,2,3,7はそれぞれ符号化済みであるので、これら符号化済みのマクロブロック1,2,3,7は、それぞれ符号化対象マクロブロック8の予測モード候補の決定のために使用すべき参照マクロブロックとして決定される。ピクチャPn内のマクロブロック9,13,14,15は符号化されていないので、ピクチャPn内のマクロブロック9,13,14,15それぞれと同じ空間位置に存在する、直前のピクチャPn-1内のマクロブロック9,13,14,15が参照マクロブロックとして決定される。
ピクチャPn内の参照マクロブロック9,13,14,15と、ピクチャPn-1内の参照マクロブロック9,13,14,15との内から、コストが最小の参照マクロブロックが選択され、この選択された参照マクロブロックの符号化で使用された予測モードと同一の予測モードが、符号化対象マクロブロック8に適用すべき予測モード候補(符号化対象マクロブロック8の初期予測モード)に決定される。そして、予測モード候補で符号化対象マクロブロック8を符号化した場合のコストが算出される。算出されたコストが、選択された参照マクロブロックのコスト以下である場合、予測モード候補が符号化対象マクロブロック8の予測モードとなり、他の予測モードに対する評価は省略される。
また、もしピクチャPn内のマクロブロック30が符号化対象マクロブロックであるならば、マクロブロック30を取り囲み且つマクロブロック30にそれぞれ隣接する、ピクチャPn内のマクロブロック23,24,29が、符号化対象マクロブロック30に対応する周辺マクロブロック群として特定される。ピクチャPn内のマクロブロック23,24,29の全てが符号化済みであるので、ピクチャPn内のマクロブロック23,24,29は、それぞれ符号化対象マクロブロック30の予測モード候補の決定のために使用すべき参照マクロブロックとして決定される。
そして、ピクチャPn内のマクロブロック23,24,29内からコストが最小のマクロブロックが選択され、この選択されたマクロブロックの符号化で使用された予測モードと同一の予測モードが、符号化対象マクロブロック8に適用すべき予測モード候補に決定される。
また、もしピクチャPn内のマクロブロック1が符号化対象マクロブロックであるならば、マクロブロック1を取り囲み且つマクロブロック1にそれぞれ隣接する、ピクチャPn内のマクロブロック2,7,8が、符号化対象マクロブロック1に対応する周辺マクロブロック群として特定される。ピクチャPn内のマクロブロック2,7,8の全てが符号化されていないので、ピクチャPn内のマクロブロック2,7,8それぞれと同じ空間位置に存在する、直前のピクチャPn-1内のマクロブロック2,7,8が参照マクロブロックとして決定される。
そして、ピクチャPn-1内のマクロブロック2,7,8の内からコストが最小のマクロブロックが選択され、この選択されたマクロブロックの符号化で使用された予測モードと同一の予測モードが、符号化対象マクロブロック1に適用すべき予測モード候補に決定される。
なお、符号化対象マクロブロック1の周辺マクロブロック群には、上述したように符号化済みのマクロブロックが含まれていないので、符号化対象マクロブロック1に適用すべき予測モードは、通常の予測モード判定処理によって決定するようにしてもよい。
次に、図6を参照して、符号化対象マクロブロックに対して実行される本実施形態の予測モード判定処理の具体的な手順の例について説明する。ここでは、符号化対象マクロブロックに対応する周辺マクロブロック群に符号化済みマクロブロックが存在しない場合には、符号化対象マクロブロックに適用すべき予測モードを、通常の予測モード判定処理を使用して決定する場合を想定する。
まず、予測モード判定部301は、符号化対象マクロブロックに対応する周辺マクロブロック群を特定する(ステップS11)。ここで、周辺マクロブロック群は、上述したように、符号化対象マクロブロックが存在する符号化対象ピクチャ内に存在し且つ符号化対象マクロブロックを取り囲むように当該符号化対象マクロブロックにそれぞれ隣接する複数のマクロブロックである。
次いで、予測モード判定部301は、特定された周辺マクロブロック群内に符号化対象マクロブロックの予測モード候補の決定に利用可能なマクロブロック、つまり符号化済みのマクロブロックが含まれているか否かを判別する(ステップS12)。
周辺マクロブロック群内に利用可能なマクロブロックが含まれていないならば(ステップS12のNO)、予測モード判定部301は、利用可能な全ての予測モードを評価するために、利用可能な全ての予測モードそれぞれで符号化対象マクロブロックを符号化した場合のコストそれぞれを算出する(ステップS21)。そして、予測モード判定部301は、利用可能な全ての予測モードの内で、算出されたコストが最小の予測モードを符号化対象マクロブロックに適用すべき予測モードに決定する(ステップS22)。
一方、周辺マクロブロック群内に利用可能なマクロブロックが含まれているならば(ステップS12のYES)、予測モード判定部301は、周辺マクロブロックそれぞれに対応する参照マクロブロックを決定する(ステップS13)。ステップS13では、予測モード判定部301は、各周辺マクロブロック毎に、当該周辺マクロブロックが符号化済みであるか否かを判別し、その判別結果に否かに応じて、各周辺マクロブロックに対応する参照マクロブロックを決定する。
次いで、予測モード判定部301は、参照マクロブロックそれぞれの予測モード判定結果に基づいて(または参照マクロブロックそれぞれを実際に符号化した結果に基づいて)、符号化対象マクロブロックに適用すべき予測モード候補MODE_initと、上述の評価コスト閾値COST_thrとを決定する(ステップS14)。ステップS14では、参照マクロブロックそれぞれの中からコストが最小の参照マクロブロックが選択され、選択された参照マクロブロックの符号化で使用された予測モードが予測モード候補MODE_initに決定される。また、選択された参照マクロブロックに対応するコストが、評価コスト閾値COST_thrに決定される。
次に、予測モード判定部301は、評価コスト閾値COST_thrが所定の基準値(=モード判定閾値EXE_thr)以下であるか否かを判別する(ステップS15)。モード判定閾値EXE_thrの値は、例えば、符号化ビットレートを調整するための量子化パラメータQPに応じて予め決定されている。
選択された参照マクロブロックのコストである評価コスト閾値COST_thrがモード判定閾値EXE_thrよりも大きいならば(ステップS15のNO)、予測モード判定部301は、利用可能な全ての予測モードを評価するために、利用可能な全ての予測モードそれぞれで符号化対象マクロブロックを符号化した場合のコストそれぞれを算出する(ステップS21)。そして、予測モード判定部301は、利用可能な全ての予測モードの内で、算出されたコストが最小の予測モードを符号化対象マクロブロックに適用すべき予測モードに決定する(ステップS22)。
一方、評価コスト閾値COST_thrがモード判定閾値EXE_thr以下であるならば(ステップS15のYES)、予測モード判定部301は、符号化対象マクロブロックを予測モード候補MODE_initで符号化した場合に発生する符号量を示すコストCOST_initを算出する(ステップS16)。ステップS16では、例えば、予測モード候補MODE_initで符号化対象マクロブロックを実際に符号化し、その符号化結果に基づいて、コストCOST_initを得るようにしてもよい。この場合、例えば、予測モード候補MODE_initで符号化対象マクロブロックを符号化する処理の内で、エントロピー符号化を除く他のほとんど全ての処理が実行され、その処理結果に基づいて、コストCOST_initが求められる。
次いで、予測モード判定部301は、コストCOST_initと評価コスト閾値COST_thrとを比較して、コストCOST_initが評価コスト閾値COST_thr以下であるか否かを判別する(ステップS17)。
コストCOST_initが評価コスト閾値COST_thr以下であるならば(ステップS17のYES)、予測モード判定部301は、予測モード候補MODE_initを符号化対象マクロブロックに適用すべき予測モードに決定する(ステップS18)。
一方、コストCOST_initが評価コスト閾値COST_thrよりも大きいならば(ステップS17のNO)、予測モード判定部301は、利用可能な全ての予測モードの中で、予測モード候補MODE_init以外の他の予測モードそれぞれで符号化対象マクロブロックを符号化した場合のコストそれぞれを算出する(ステップS19)。そして、予測モード判定部301は、利用可能な全ての予測モードの中で、コストが最小の予測モードを符号化対象マクロブロックに適用すべき予測モードに決定する(ステップS20)。
上述のステップS11〜S22の処理は、全てのマクロブロックに対する予測モード判定処理が終了するまで、符号化対象マクロブロックを変更しながら繰り返し実行される(ステップS23)。
なお、上述したように、予測モード判定処理では、コスト算出のために、例えば、エントロピー符号化を除く他の符号化処理のほとんどを実行してもよい。この場合、適用すべき予測モードが決定された時点でエントロピー符号化等の残りの処理を行うことが出来るので、効率よく符号化を行うことができる。もちろん、予測モード判定処理で、エントロピー符号化も実行してもよく、この方が、エントロピー符号化を省略するよりも予測精度が上りより正確にコストの算出および評価が可能となる。しかし、エントロピー符号化も実行すると、その分、コストの算出のための計算量が増大することになる。
次に、図7のフローチャートを参照して、図6のステップS13,S14で実行される処理手順の例を説明する。
符号化対象ピクチャ内の符号化対象マクロブロックに対応する周辺マクロブロック群が特定された後、予測モード判定部301は、周辺マクロブロック群内の各マクロブロック毎に、以下の処理を実行する。
すなわち、予測モード判定部301は、周辺マクロブロック群から一つの処理対象の周辺マクロブロックを選択し(ステップS31)、選択した周辺マクロブロックが符号化済みのマクロブロック、つまり予測モード判定済みのマクロブロックであるか否かを判別する(ステップS32)。
選択した周辺マクロブロックが符号化済みのマクロブロックであれば(ステップS32のYES)、予測モード判定部301は、当該選択した周辺マクロブロック自体を、当該選択した周辺マクロブロックに対応する参照マクロブロックに決定する(ステップS33)。
一方、選択した周辺マクロブロックが符号化済みのマクロブロックではないならば(ステップS32のNO)、予測モード判定部301は、選択した周辺マクロブロックと同じ空間位置に存在する、符号化対象ピクチャの直前のピクチャ内のマクロブロックを、選択した周辺マクロブロックに対応する参照マクロブロックに決定する(ステップS34)。
ステップS31〜S34の処理は、符号化対象ピクチャの全ての周辺マクロブロックに対する処理が完了するまで繰り返し実行される(ステップS35)。
符号化対象ピクチャの全ての周辺マクロブロックそれぞれに対応する参照マクロブロックが決定された後(ステップS35のYES)、予測モード判定部301は、各参照マクロブロックの予測モード判定結果(予測モード、コスト)をメモリ501等から取得する(ステップS36)。次いで、予測モード判定部301は、全ての周辺マクロブロックそれぞれに対応する参照マクロブロックの内で、コストが最小の参照マクロブロックを選択する(ステップS38)。そして、予測モード判定部301は、選択した参照マクロブロックの符号化で使用された予測モードを、符号化対象マクロブロックの予測モード候補MODE_initに決定し(ステップS38)、また選択した参照マクロブロックの符号化で発生した符号量を示すコストを評価コスト閾値COST_thrに決定する(ステップS39)。
次に、図8のフローチャートを参照して、図7のステップS37で実行される、コストが最小の参照マクロブロックを選択する処理手順の例について説明する。
上述したように、幾つかの参照マクロブロック群は、符号化対象マクロブロックと同じ符号化対象ピクチャ内に存在する参照マクロブロックと、符号化対象ピクチャの直前のピクチャ内に存在する参照マクロブロックとの双方を含む。参照マクロブロック群の内からコストが最小の参照マクロブロックを選択する処理においては、予測モード判定部301は、直前のピクチャ内に存在する参照マクロブロックよりも、符号化対象ピクチャ内に存在する参照マクロブロックを優先的に選択してもよい。一般には、直前のピクチャ内に存在する参照マクロブロックよりも、符号化対象ピクチャ内に存在する参照マクロブロックの方が、符号化対象ピクチャとの相関が強いことが多いからである。
予測モード判定部301は、参照マクロブロックそれぞれが符号化対象ピクチャまたは直前のピクチャのどちらのピクチャに属しているかに応じて、符号化対象ピクチャ内に存在する参照マクロブロックが直前のピクチャに属する参照マクロブロックよりも優先的に選択されるように参照マクロブロックそれぞれのコストに対して重み付けをし、複数の参照マクロブロックの内で、重み付けされたコストが最小の参照マクロブロックを選択する。
参照マクロブロックそれぞれのコストに対して重み付けを行う処理においては、必ずしも、符号化対象ピクチャ内に存在する各参照マクロブロックと直前のピクチャに属する各参照マクロブロックの双方に対して重み係数を乗じる必要はなく、例えば、直前のピクチャに属する各参照ピクチャのコストに対してのみ1よりも大きい重み係数を乗じるようにしてもよい。
以下、直前のピクチャに属する各参照ピクチャのコストに対してのみ1よりも大きい重み係数を乗じる場合を例示して、重み付けされたコストそれぞれを使用することによって最小コストの参照マクロブロックを選択する処理の手順を説明する。
符号化対象ピクチャを取り囲む複数の周辺マクロブロックそれぞれに対応する複数の参照マクロブロックが決定された後、予測モード判定部301は、以下の処理を実行する。
すなわち、予測モード判定部301は、まず、複数の参照マクロブロックの内から処理対象の参照マクロブロックを選択し(ステップS41)、当該選択された処理対象の参照マクロブロックが直前のピクチャ内に属するマクロブロックであるか否かを判別する(ステップS42)。
処理対象の参照マクロブロックが直前のピクチャ内に属するマクロブロックであるならば(ステップS42のYES)、予測モード判定部301は、処理対象の参照マクロブロックのコストに1よりも大きい重み係数を乗じることによって、処理対象の参照マクロブロックの重み付けコストを算出する(ステップS43)。
ステップS41〜S43の処理は、符号化対象ピクチャに対応する全ての参照マクロブロックに対する処理が完了するまで処理対象の参照マクロブロックを変更しながら繰り返し実行される。
全ての参照マクロブロックに対する処理が完了すると(ステップS44のYES)、予測モード判定部301は、全ての参照マクロブロックそれぞれのコスト(重み付けコストを含む)を比較して、全ての参照マクロブロックの内からコストが最小の参照マクロブロックを選択する(ステップS45)。
以上のように、本実施形態によれば、画質低下を抑えつつ、少ない処理量で予測モードを効率よく決定することができるので、動画像信号を符号化する処理を高速に実行することが可能となる。
なお、予測モード判定処理を含む符号化の処理は全てビデオエンコーダアプリケーション200によって実行することができるので、このプログラムをコンピュータ読み取り可能な記憶媒体を通じて通常のコンピュータにインストールするだけで、本実施形態と同様の効果を容易に実現することができる。
また、図2で説明したビデオエンコーダアプリケーション200の各機能モジュールは、専用のハードウェア回路によって実現することもできる。また、ビデオエンコーダアプリケーション200を、マイクロコンピュータ、DSPのような、CPU11以外の他のプロセッサ上で動作するファームウェアとして実現してもよい。
また、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
本発明の一実施形態に係る動画像符号化装置の構成例を示すブロック図。 同実施形態の動画像符号化装置で用いられるビデオエンコーダアプリケーションによって実現されるエンコーダの機能構成を示すブロック図。 同実施形態の動画像符号化装置に設けられた予測モード判定部の機能を説明するためのブロック図。 同実施形態の動画像符号化装置におけるマクロブロックの符号化順序の例を示す図。 同実施形態の動画像符号化装置によって実行される予測モード判定処理における、符号化対象マクロブロックと参照マクロブロック群との関係を示す図。 同実施形態の動画像符号化装置によって実行される予測モード判定処理の手順を示すフローチャート。 同実施形態の動画像符号化装置によって実行される、参照マクロブロック決定処理および予測モード候補決定処理の手順を示すフローチャート。 同実施形態の動画像符号化装置によって実行される、重み付けコストを利用して参照マクロブロックを選択する処理の手順を示すフローチャート。
符号の説明
11…CPU、200…ビデオエンコーダアプリケーション、201…入力部、202…DCT・量子化部、203…エントロピー符号化部、204…逆量子化・逆DCT部、205…イントラ予測部、208…動き検出部、209…インター予測部、301…予測モード判定部、401…周辺マクロブロック特定部、402…参照マクロブロック決定部、403…予測モード候補決定部、404…コスト算出部、405…第1の予測モード決定部、406…第2の予測モード決定部、407…第3の予測モード決定部。

Claims (10)

  1. 符号化対象の動画像信号の各ピクチャを複数のマクロブロックに分割し、マクロブロック毎に、フレーム間予測符号化のための予測モード群とフレーム内予測符号化のための予測モード群とを含む複数の予測モードの中から1つの予測モードを選択し、当該選択された予測モードで前記マクロブロックを符号化する動画像符号化装置であって、
    符号化対象のマクロブロックに対応する複数の周辺マクロブロックを特定する周辺マクロブロック特定手段であって、前記複数の周辺マクロブロックは、前記符号化対象のマクロブロックが存在する符号化対象ピクチャ内に存在し且つ前記符号化対象のマクロブロックを取り囲むように前記符号化対象のマクロブロックにそれぞれ隣接する複数のマクロブロックである、周辺マクロブロック特定手段と、
    前記特定された複数の周辺マクロブロック内のマクロブロック毎に当該マクロブロックが符号化済みのマクロブロックであるか否かを判別し、当該マクロブロックが符号化済みのマクロブロックである場合、当該マクロブロックを前記符号化対象のマクロブロックの予測モード候補の決定のために使用すべき参照マクロブロックに決定し、当該マクロブロックが符号化されていないマクロブロックである場合、当該マクロブロックと同じ空間位置にある、前記符号化対象のピクチャの直前の符号化済みピクチャ内の符号化済みマクロブロックを、前記参照マクロブロックに決定することによって、前記複数の周辺マクロブロックそれぞれに対応する複数の参照マクロブロックを決定する参照マクロブロック決定手段と、
    前記決定された複数の参照マクロブロックそれぞれの符号化で発生した符号量を示す、前記複数の参照マクロブロックそれぞれに対応するコストを参照することによって、前記複数の参照マクロブロックの内からコストが最小の参照マクロブロックを選択し、当該選択した参照マクロブロックの符号化で用いられた予測モードを前記符号化対象のマクロブロックに適用すべき予測モード候補に決定する予測モード候補決定手段と、
    前記決定された予測モード候補で前記符号化対象のマクロブロックを符号化した場合に発生する符号量を示すコストを算出するコスト算出手段と、
    前記算出されたコストが前記選択した参照マクロブロックのコスト以下である場合、前記決定された予測モード候補を前記符号化対象のマクロブロックに適用すべき予測モードに決定する第1の予測モード決定手段と、
    前記算出された符号化コストが前記選択したマクロブロックの符号化コストよりも大きい場合、前記符号化対象のマクロブロックを前記予測モード候補以外の予測モードでそれぞれ符号化した場合に発生する符号量を示すコストをそれぞれ算出し、前記複数の予測モードの中でコストが最小となる予測モードを前記符号化対象のマクロブロックに適用すべき予測モードに決定する第2の予測モード決定手段とを具備することを特徴とする動画像符号化装置。
  2. 前記選択した参照マクロブロックのコストが基準値よりも大きいか否かを判別する判別手段と、
    前記選択した参照マクロブロックのコストが前記基準値よりも大きい場合、前記符号化対象のマクロブロックを前記複数の予測モードでそれぞれ符号化した場合に発生する符号量を示すコストをそれぞれ算出し、前記複数の予測モードの中でコストが最小となる予測モードを前記符号化対象のマクロブロックに適用すべき予測モードに決定する第3の予測モード決定手段とをさらに具備することを特徴とする請求項1記載の動画像符号化装置。
  3. 前記予測モード候補決定手段は、前記複数の参照マクロブロックが前記符号化対象ピクチャ内に存在する参照マクロブロックと前記直前の符号化済みピクチャ内に存在する参照マクロブロックとを含む場合、前記符号化対象ピクチャ内に存在する参照マクロブロックが前記直前のピクチャ内に属する参照マクロブロックよりも優先的に選択されるように前記複数の参照マクロブロックそれぞれのコストに対して重み付けをし、前記複数の参照マクロブロックの内で、重み付けされたコストが最小の参照マクロブロックを選択することを特徴とする請求項1記載の動画像符号化装置。
  4. 前記予測モード候補決定手段は、前記複数の参照マクロブロックそれぞれのコストに対して重み付けをするために、前記直前のピクチャ内に属する参照マクロブロックのコストに1よりも大きい重み係数を乗じることを特徴とする請求項3記載の動画像符号化装置。
  5. 前記第3の予測モード決定手段は、前記選択した参照マクロブロックのコストが前記基準値よりも大きいという条件、または前記特定された複数の周辺マクロブロックに符号化済みのマクロブロックが含まれていないという条件が満たされた場合、前記符号化対象のマクロブロックを前記複数の予測モードでそれぞれ符号化した場合に発生する符号量を示すコストをそれぞれ算出し、前記複数の予測モードの中でコストが最小となる予測モードを前記符号化対象のマクロブロックに適用すべき予測モードに決定するように構成されていることを特徴とする請求項1記載の動画像符号化装置。
  6. 符号化対象の動画像信号の各ピクチャを複数のマクロブロックに分割し、マクロブロック毎に、フレーム間予測符号化のための予測モード群とフレーム内予測符号化のための予測モード群とを含む複数の予測モードの中から1つの予測モードを選択し、当該選択された予測モードで前記マクロブロックを符号化する動画像符号化方法であって、
    符号化対象のマクロブロックに対応する複数の周辺マクロブロックを特定する周辺マクロブロック特定ステップであって、前記複数の周辺マクロブロックは、前記符号化対象のマクロブロックが存在する符号化対象ピクチャ内に存在し且つ前記符号化対象のマクロブロックを取り囲むように前記符号化対象のマクロブロックにそれぞれ隣接する複数のマクロブロックである、周辺マクロブロック特定ステップと、
    前記特定された複数の周辺マクロブロック内のマクロブロック毎に当該マクロブロックが符号化済みのマクロブロックであるか否かを判別し、当該マクロブロックが符号化済みのマクロブロックである場合、当該マクロブロックを前記符号化対象のマクロブロックの予測モード候補の決定のために使用すべき参照マクロブロックに決定し、当該マクロブロックが符号化されていないマクロブロックである場合、当該マクロブロックと同じ空間位置にある、前記符号化対象のピクチャの直前の符号化済みピクチャ内の符号化済みマクロブロックを、前記参照マクロブロックに決定することによって、前記複数の周辺マクロブロックそれぞれに対応する複数の参照マクロブロックを決定する参照マクロブロック決定ステップと、
    前記決定された複数の参照マクロブロックそれぞれの符号化で発生した符号量を示す、前記複数の参照マクロブロックそれぞれに対応するコストを参照することによって、前記複数の参照マクロブロックの内からコストが最小の参照マクロブロックを選択し、当該選択した参照マクロブロックの符号化で用いられた予測モードを前記符号化対象のマクロブロックに適用すべき予測モード候補に決定する予測モード候補決定ステップと、
    前記決定された予測モード候補で前記符号化対象のマクロブロックを符号化した場合に発生する符号量を示すコストを算出するコスト算出ステップと、
    前記算出されたコストが前記選択した参照マクロブロックのコスト以下である場合、前記決定された予測モード候補を前記符号化対象のマクロブロックに適用すべき予測モードに決定する第1の予測モード決定ステップと、
    前記算出された符号化コストが前記選択したマクロブロックの符号化コストよりも大きい場合、前記符号化対象のマクロブロックを前記予測モード候補以外の予測モードでそれぞれ符号化した場合に発生する符号量を示すコストをそれぞれ算出し、前記複数の予測モードの中でコストが最小となる予測モードを前記符号化対象のマクロブロックに適用すべき予測モードに決定する第2の予測モード決定ステップとを具備することを特徴とする動画像符号化方法。
  7. 前記選択した参照マクロブロックのコストが基準値よりも大きいか否かを判別するステップと、
    前記選択した参照マクロブロックのコストが前記基準値よりも大きい場合、前記符号化対象のマクロブロックを前記複数の予測モードでそれぞれ符号化した場合に発生する符号量を示すコストをそれぞれ算出し、前記複数の予測モードの中でコストが最小となる予測モードを前記符号化対象のマクロブロックに適用すべき予測モードに決定する第3の予測モード決定ステップとをさらに具備することを特徴とする請求項6記載の動画像符号化方法。
  8. 前記予測モード候補決定ステップは、前記予測モード候補決定手段は、前記複数の参照マクロブロックが前記符号化対象ピクチャ内に存在する参照マクロブロックと前記直前の符号化済みピクチャ内に存在する参照マクロブロックとを含む場合、前記符号化対象ピクチャ内に存在する参照マクロブロックが前記直前のピクチャ内に属する参照マクロブロックよりも優先的に選択されるように前記複数の参照マクロブロックそれぞれのコストに対して重み付けをし、前記複数の参照マクロブロックの内で、重み付けされたコストが最小の参照マクロブロックを選択することを特徴とする請求項6記載の動画像符号化方法。
  9. 前記特定された複数の周辺マクロブロックに符号化済みのマクロブロックが含まれているか否かを判別するステップと、
    前記符号化対象のマクロブロックを前記複数の予測モードでそれぞれ符号化した場合に発生する符号量を示すコストをそれぞれ算出し、前記複数の予測モードの中でコストが最小となる予測モードを前記符号化対象のマクロブロックに適用すべき予測モードに決定するステップとをさらに具備することを特徴とする請求項6記載の動画像符号化方法。
  10. 符号化対象の動画像信号の各ピクチャを複数のマクロブロックに分割し、マクロブロック毎に、フレーム間予測符号化のための予測モード群とフレーム内予測符号化のための予測モード群とを含む複数の予測モードの中から1つの予測モードを選択し、当該選択された予測モードで前記マクロブロックを符号化する処理を、コンピュータに実行させるプログラムであって、
    符号化対象のマクロブロックに対応する複数の周辺マクロブロックを特定する周辺マクロブロック特定手順であって、前記複数の周辺マクロブロックは、前記符号化対象のマクロブロックが存在する符号化対象ピクチャ内に存在し且つ前記符号化対象のマクロブロックを取り囲むように前記符号化対象のマクロブロックにそれぞれ隣接する複数のマクロブロックである、周辺マクロブロック特定手順と、
    前記特定された複数の周辺マクロブロック内のマクロブロック毎に当該マクロブロックが符号化済みのマクロブロックであるか否かを判別し、当該マクロブロックが符号化済みのマクロブロックである場合、当該マクロブロックを前記符号化対象のマクロブロックの予測モード候補の決定のために使用すべき参照マクロブロックに決定し、当該マクロブロックが符号化されていないマクロブロックである場合、当該マクロブロックと同じ空間位置にある、前記符号化対象のピクチャの直前の符号化済みピクチャ内の符号化済みマクロブロックを、前記参照マクロブロックに決定することによって、前記複数の周辺マクロブロックそれぞれに対応する複数の参照マクロブロックを決定する参照マクロブロック決定手順と、
    前記決定された複数の参照マクロブロックそれぞれの符号化で発生した符号量を示す、前記複数の参照マクロブロックそれぞれに対応するコストを参照することによって、前記複数の参照マクロブロックの内からコストが最小の参照マクロブロックを選択し、当該選択した参照マクロブロックの符号化で用いられた予測モードを前記符号化対象のマクロブロックに適用すべき予測モード候補に決定する予測モード候補決定手順と、
    前記決定された予測モード候補で前記符号化対象のマクロブロックを符号化した場合に発生する符号量を示すコストを算出するコスト算出手順と、
    前記算出されたコストが前記選択した参照マクロブロックのコスト以下である場合、前記決定された予測モード候補を前記符号化対象のマクロブロックに適用すべき予測モードに決定する第1の予測モード決定手順と、
    前記算出された符号化コストが前記選択したマクロブロックの符号化コストよりも大きい場合、前記符号化対象のマクロブロックを前記予測モード候補以外の予測モードでそれぞれ符号化した場合に発生する符号量を示すコストをそれぞれ算出し、前記複数の予測モードの中でコストが最小となる予測モードを前記符号化対象のマクロブロックに適用すべき予測モードに決定する第2の予測モード決定手順とを、前記コンピュータに実行させることを特徴とするプログラム。
JP2007222573A 2007-08-29 2007-08-29 動画像符号化装置および動画像符号化方法 Pending JP2009055542A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007222573A JP2009055542A (ja) 2007-08-29 2007-08-29 動画像符号化装置および動画像符号化方法
US12/190,126 US20090060045A1 (en) 2007-08-29 2008-08-12 Moving picture encoding apparatus and moving picture encoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007222573A JP2009055542A (ja) 2007-08-29 2007-08-29 動画像符号化装置および動画像符号化方法

Publications (1)

Publication Number Publication Date
JP2009055542A true JP2009055542A (ja) 2009-03-12

Family

ID=40407428

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007222573A Pending JP2009055542A (ja) 2007-08-29 2007-08-29 動画像符号化装置および動画像符号化方法

Country Status (2)

Country Link
US (1) US20090060045A1 (ja)
JP (1) JP2009055542A (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011061783A (ja) * 2009-09-10 2011-03-24 Thomson Licensing 保留マクロブロックを使った画像エンコードの方法および装置ならびに保留マクロブロックを使った画像デコードの方法および装置
JP2012080387A (ja) * 2010-10-04 2012-04-19 Fujitsu Ltd 動画像符号化装置
JP2012253662A (ja) * 2011-06-06 2012-12-20 Fujitsu Ltd 動画像符号化方法および動画像符号化装置
JPWO2011121731A1 (ja) * 2010-03-30 2013-07-04 富士通株式会社 画像処理装置および画像処理方法
JP2014096679A (ja) * 2012-11-08 2014-05-22 Nippon Hoso Kyokai <Nhk> 画像符号化装置及び画像符号化プログラム
JP2015130688A (ja) * 2010-12-17 2015-07-16 三菱電機株式会社 動画像符号化装置、動画像符号化方法、動画像復号装置、動画像復号方法及び動画像符号化データ
JP2015180007A (ja) * 2014-03-19 2015-10-08 日本電信電話株式会社 予測モード選択方法及び予測モード選択プログラム
JP2015211386A (ja) * 2014-04-28 2015-11-24 富士通株式会社 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
US9491466B2 (en) 2013-03-22 2016-11-08 Fujitsu Limited Video coding apparatus and method
JP2017228827A (ja) * 2016-06-20 2017-12-28 日本放送協会 イントラ予測器、画像符号化装置、画像復号装置およびプログラム

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2277318B1 (fr) * 2008-04-15 2020-11-04 Orange Codage et decodage d'une image ou d'une sequence d'images decoupees selon des partitions de pixels de forme lineaire
JP6342116B2 (ja) * 2010-07-15 2018-06-13 シャープ株式会社 イントラ予測モード推定装置
GB2484969B (en) * 2010-10-29 2013-11-20 Canon Kk Improved reference frame for video encoding and decoding
US20120309321A1 (en) * 2011-05-31 2012-12-06 Broadcom Corporation Synchronized calibration for wireless communication devices
WO2014005924A1 (en) * 2012-07-05 2014-01-09 Thomson Licensing Video coding and decoding method with adaptation of coding modes
US9426473B2 (en) 2013-02-01 2016-08-23 Qualcomm Incorporated Mode decision simplification for intra prediction
US9148667B2 (en) * 2013-02-06 2015-09-29 Qualcomm Incorporated Intra prediction mode decision with reduced storage
KR20160105203A (ko) * 2015-02-27 2016-09-06 삼성전자주식회사 멀티미디어 코덱, 상기 멀티미디어 코덱을 포함하는 애플리케이션 프로세서, 및 상기 애플리케이션 프로세서의 동작 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1465432B1 (en) * 2001-11-30 2017-01-04 NTT DoCoMo, Inc. Moving picture coding apparatus, moving picture decoding apparatus, moving picture coding method, moving picture decoding method, program, and computer-readable recording medium containing the program
JP2004007379A (ja) * 2002-04-10 2004-01-08 Toshiba Corp 動画像符号化方法及び動画像復号化方法
JP2006246431A (ja) * 2005-02-07 2006-09-14 Matsushita Electric Ind Co Ltd 画像符号化装置および画像符号化方法

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011061783A (ja) * 2009-09-10 2011-03-24 Thomson Licensing 保留マクロブロックを使った画像エンコードの方法および装置ならびに保留マクロブロックを使った画像デコードの方法および装置
US9036918B2 (en) 2010-03-30 2015-05-19 Fujitsu Limited Image processing apparatus and image processing method
JPWO2011121731A1 (ja) * 2010-03-30 2013-07-04 富士通株式会社 画像処理装置および画像処理方法
JP5522252B2 (ja) * 2010-03-30 2014-06-18 富士通株式会社 画像処理装置および画像処理方法
JP2012080387A (ja) * 2010-10-04 2012-04-19 Fujitsu Ltd 動画像符号化装置
JP2018113702A (ja) * 2010-12-17 2018-07-19 三菱電機株式会社 画像符号化装置、動画像符号化方法、動画像復号装置、動画像復号方法、動画像符号化データ及び記録媒体
JP2015130688A (ja) * 2010-12-17 2015-07-16 三菱電機株式会社 動画像符号化装置、動画像符号化方法、動画像復号装置、動画像復号方法及び動画像符号化データ
JP7012809B2 (ja) 2010-12-17 2022-01-28 三菱電機株式会社 画像符号化装置、動画像復号装置、動画像符号化データ及び記録媒体
JP2016187228A (ja) * 2010-12-17 2016-10-27 三菱電機株式会社 動画像符号化装置、動画像符号化方法、動画像復号装置、動画像復号方法及び動画像符号化データ
JP2021044840A (ja) * 2010-12-17 2021-03-18 三菱電機株式会社 画像符号化装置、動画像復号装置、動画像符号化データ及び記録媒体
JP2012253662A (ja) * 2011-06-06 2012-12-20 Fujitsu Ltd 動画像符号化方法および動画像符号化装置
JP2014096679A (ja) * 2012-11-08 2014-05-22 Nippon Hoso Kyokai <Nhk> 画像符号化装置及び画像符号化プログラム
US9491466B2 (en) 2013-03-22 2016-11-08 Fujitsu Limited Video coding apparatus and method
JP2015180007A (ja) * 2014-03-19 2015-10-08 日本電信電話株式会社 予測モード選択方法及び予測モード選択プログラム
JP2015211386A (ja) * 2014-04-28 2015-11-24 富士通株式会社 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
JP2017228827A (ja) * 2016-06-20 2017-12-28 日本放送協会 イントラ予測器、画像符号化装置、画像復号装置およびプログラム

Also Published As

Publication number Publication date
US20090060045A1 (en) 2009-03-05

Similar Documents

Publication Publication Date Title
JP2009055542A (ja) 動画像符号化装置および動画像符号化方法
JP4635016B2 (ja) 情報処理装置およびインター予測モード判定方法
JP4843482B2 (ja) 情報処理装置およびプログラム
JP4519933B2 (ja) 動画像符号化装置および動画像符号化方法
KR101362590B1 (ko) 화상 처리 장치 및 방법
JP4501631B2 (ja) 画像符号化装置及び方法、画像符号化装置のコンピュータ・プログラム、並びに携帯端末
JP2009246976A (ja) イントラ予測映像符号化/復号化のための方法及び装置
JP2007067469A (ja) フレーム内予測符号化制御方法、フレーム内予測符号化制御装置、フレーム内予測符号化制御プログラムおよびそのプログラムを記録した記録媒体
JP2008072647A (ja) 情報処理装置、デコーダおよび再生装置の動作制御方法
TWI511531B (zh) 影像編碼裝置、影像編碼方法及影像編碼程式
JP4922101B2 (ja) 情報処理装置およびインター予測モード判定方法
JP2009038501A (ja) 復号化装置および復号方法
JP2007013298A (ja) 画像符号化装置
KR100771640B1 (ko) 고속 모드 결정 기능을 구비한 h.264 인코더
JP2005348008A (ja) 動画像符号化方法、動画像符号化装置、動画像符号化プログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2008263549A (ja) 動画像符号化装置および動画像符号化方法
JP4429996B2 (ja) 動画像符号化プログラム、動画像符号化方法および動画像符号化装置
JP2016025541A (ja) 動画像符号化装置、動画像符号化方法、及びプログラム
JP2015008367A (ja) 画像処理装置、符号化装置、復号装置、及びプログラム
JP2009182891A (ja) 情報処理装置およびプログラム
JP2008301212A (ja) 符号化装置並びに符号化方法
WO2018216479A1 (ja) 画像処理装置および方法、並びにプログラム
JP2009044769A (ja) フレーム内予測符号化制御方法、フレーム内予測符号化制御装置、フレーム内予測符号化制御プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2010028436A (ja) 動画像復号装置、プログラムおよび復号処理簡略化方法
JP6101067B2 (ja) 画像処理装置及び画像処理プログラム