JPWO2007136088A1 - 画像符号化装置、画像符号化方法、及び画像符号化用集積回路 - Google Patents

画像符号化装置、画像符号化方法、及び画像符号化用集積回路 Download PDF

Info

Publication number
JPWO2007136088A1
JPWO2007136088A1 JP2008516716A JP2008516716A JPWO2007136088A1 JP WO2007136088 A1 JPWO2007136088 A1 JP WO2007136088A1 JP 2008516716 A JP2008516716 A JP 2008516716A JP 2008516716 A JP2008516716 A JP 2008516716A JP WO2007136088 A1 JPWO2007136088 A1 JP WO2007136088A1
Authority
JP
Japan
Prior art keywords
image
block
information
mode
predicted image
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
JP2008516716A
Other languages
English (en)
Inventor
博史 天野
博史 天野
田中 健
健 田中
前田 昌樹
昌樹 前田
津田 賢治郎
賢治郎 津田
雅保 井口
雅保 井口
陽司 柴原
陽司 柴原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=38723398&utm_source=***_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JPWO2007136088(A1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Publication of JPWO2007136088A1 publication Critical patent/JPWO2007136088A1/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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/109Selection of coding mode or of prediction mode among a plurality of temporal 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

画像の圧縮符号化処理を、マクロブロック毎にパイプラインにより並列に行う場合において、MPEG4AVCにおけるスキップモード等により符号化対象ブロックを圧縮符号化する際には、符号化対象ブロックに隣接する隣接ブロックの動きベクトル等が必要となる。しかし、パイプラインステージの構成によっては、隣接ブロックの動きベクトル等が決定してないことがある。このような場合には、符号化対象ブロックについて、スキップモード等により圧縮符号化処理ができないことを課題としてなされたものである。符号化対象ブロックの前ブロックが選択しうる全ての動き情報に対する、符号化対象ブロックの全ての動き情報候補を算出し、前ブロックの動き情報が決定した後、算出した動き情報候補から、前ブロックについて決定した動き情報に対応する動き情報を、符号化対象ブロックのスキップモード等における動き情報とする。

Description

本発明は画像を圧縮符号化する画像符号化装置に関し、特に圧縮符号化処理の高速化に関する。
画像の圧縮符号化方式であるMPEG4AVC(Motion Pictures Experts Group 4 Advanced Video Coding)規格には、符号化モードとして、スキップモードと空間ダイレクトモードとが規定されている。
両符号化モードは、共に圧縮符号化(以下、単に「符号化」ともいう)の対象となる画像(以下、「符号化対象画像」という)を、所定サイズ、例えば16×16画素のマクロブロック単位で処理する際に、現在の処理対象であるマクロブロック(以下、「符号化対象ブロック」という)の動きベクトルと符号化対象ブロックの予測に使用する、符号化対象ブロックと同サイズの参照画像を識別する参照画像番号(以下、両者の組を「動き情報」という)とを、その符号化対象ブロックに隣接する複数のマクロブロック(以下、「隣接ブロック」という)の動き情報に基づいて算出する。そして、算出した動き情報に基づいて予測した、符号化対象ブロックの予測画像と符号化対象ブロックの原画像との差分情報を符号化する。
つまり、スキップモード又は空間ダイレクトモード(以下、「スキップモード等」ともいう)により符号化したマクロブロックの動き情報は、復号する際に隣接ブロックの動き情報から算出できるため、符号化対象ブロックの動き情報を符号化する必要がなく、即ち、符号化対象ブロックの予測画像と原画像との差分情報のみを符号化すればよいため、スキップモード等により符号化することによって、符号量を減らすことができる。
ところで、画像の符号化処理を高速化するために、各マクロブロックについて、パイプラインにより並列に処理する技術が知られている。
上述の通り、符号化対象ブロックをスキップモード等により符号化するためには、隣接ブロックの動き情報が必要となる。
従って、例えば、パイプラインステージを、各マクロブロックについて順次、スキップモード等により符号化する場合の動き情報を算出する第1ステージと第1ステージの処理が完了したマクロブロックについて、スキップモード等により符号化した場合の符号量に基づいてスキップモード等により符号化するかを判定する第2ステージとに分けて構成した場合に、符号化対象ブロックについての第1ステージの処理を開始する際に、符号化対象ブロックに対する全ての隣接ブロックについての第2ステージの処理が完了していない場合には、各隣接ブロックについて符号化モードが決定していないこととなる。
即ち、各隣接ブロックについての動き情報が決定していないため、第1ステージにおいて、符号化対象ブロックについてのスキップモード等における動き情報の算出ができないこととなる。
この問題を解決する技術として、例えば特許文献1の画像符号化装置がある。以下、特許文献1における画像符号化装置について説明する。
特許文献1における画像符号化装置は、符号化対象画像をマクロブロック単位でパイプラインにより並列に符号化する画像符号化装置であり、符号化対象画像の左上のマクロブロックから水平方向に1行分処理し、次の行の処理に進み、右下のマクロブロックまで順に処理する。
特許文献1における画像符号化装置は、符号化対象ブロックの処理を開始する際に、隣接ブロックの1つである、符号化対象ブロックの左のマクロブロック(以下、「前ブロック」という)の動き情報の算出が完了していない場合に、前ブロックの代わりに動きベクトルの算出が完了している、前ブロックの左のブロック(以下、「近傍ブロック」という)の動き情報を用いて、符号化対象ブロックのスキップモード等における動き情報を生成する。
その後、前ブロックの動き情報の算出が完了すると、算出された前ブロックの動き情報と近傍ブロックの動き情報が一致するかを確認し、一致する場合には、スキップモード等により符号化対象ブロックを符号化できることとなる。
このように、特許文献1における画像符号化装置では、前ブロックの動き情報の算出が完了していなくても、近傍ブロックの動き情報を用いて符号化対象ブロックの動きベクトルの算出を行うため、パイプラインによる並列処理を妨げることなく符号化処理の高速化を実現できる。
特許第3879741号公報
しかし、特許文献1における画像符号化装置では、近傍ブロックの動き情報を用いて符号化対象ブロックの動きベクトルの算出を行うため、算出された前ブロックの動き情報と近傍ブロックの動き情報が一致せず、スキップモード等により符号化できない場合も少なくない。
そこで、本発明は係る問題に鑑みてなされたものであり、従来とは異なる方法により、符号化処理の高速化を図ることができる画像符号化装置を提供する。
上記課題を解決するために、本発明に係る画像符号化装置は、画像について、所定サイズのブロック単位で圧縮符号化する画像符号化装置であって、各ブロックを処理対象として逐次、当該ブロックの予測画像の候補を特定する予測画像候補特定情報を、当該ブロックの前に処理された前ブロックの予測画像候補特定情報に基づき生成する第1処理手段と、前記第1処理手段において1のブロックが処理されるのと並行して、当該第1処理手段による処理が完了したブロックについての予測画像を、当該ブロックの予測画像候補特定情報が示す予測画像の候補から、当該ブロックの前ブロックに対して選択された1つの予測画像を特定する予測画像特定情報に基づいて選択し、圧縮符号化結果に反映されるべき差分信号として、選択された1つの予測画像と原画像との差分信号を出力し、選択された1つの予測画像を特定する予測画像特定情報を生成する第2処理手段とを備えることを特徴とする。
また、上記課題を解決するために、本発明に係る画像符号化装置による画像符号化方法は、画像について、所定サイズのブロック単位で圧縮符号化する画像符号化方法であって、各ブロックを処理対象として逐次、当該ブロックの予測画像の候補を特定する予測画像候補特定情報を、当該ブロックの前に処理された前ブロックの予測画像候補特定情報に基づき生成する第1処理ステップと、前記第1処理ステップにおいて1のブロックが処理されるのと並行して、当該第1処理ステップによる処理が完了したブロックについての予測画像を、当該ブロックの予測画像候補特定情報が示す予測画像の候補から、当該ブロックの前ブロックに対して選択された1つの予測画像を特定する予測画像特定情報に基づいて選択し、圧縮符号化結果に反映されるべき差分信号として、選択された1つの予測画像と原画像との差分信号を出力し、選択された1つの予測画像を特定する予測画像特定情報を生成する第2処理ステップとを含むことを特徴とする。
また、上記課題を解決するために、本発明に係る画像符号化装置に用いられるコンピュータプログラムは、画像について、所定サイズのブロック単位で圧縮符号化する圧縮符号化処理をコンピュータに行わせるためのコンピュータプログラムであって、前記圧縮符号化処理は、各ブロックを処理対象として逐次、当該ブロックの予測画像の候補を特定する予測画像候補特定情報を、当該ブロックの前に処理された前ブロックの予測画像候補特定情報に基づき生成する第1処理ステップと、前記第1処理ステップにおいて1のブロックが処理されるのと並行して、当該第1処理ステップによる処理が完了したブロックについての予測画像を、当該ブロックの予測画像候補特定情報が示す予測画像の候補から、当該ブロックの前ブロックに対して選択された1つの予測画像を特定する予測画像特定情報に基づいて選択し、圧縮符号化結果に反映されるべき差分信号として、選択された1つの予測画像と原画像との差分信号を出力し、選択された1つの予測画像を特定する予測画像特定情報を生成する第2処理ステップとを含むことを特徴とする。
また、上記課題を解決するために、本発明に係る画像符号化装置に用いられる画像符号化用集積回路は、画像について、所定サイズのブロック単位で圧縮符号化する画像符号化用集積回路であって、各ブロックを処理対象として逐次、当該ブロックの予測画像の候補を特定する予測画像候補特定情報を、当該ブロックの前に処理された前ブロックの予測画像候補特定情報に基づき生成する第1処理手段と、前記第1処理手段において1のブロックが処理されるのと並行して、当該第1処理手段による処理が完了したブロックについての予測画像を、当該ブロックの予測画像候補特定情報が示す予測画像の候補から、当該ブロックの前ブロックに対して選択された1つの予測画像を特定する予測画像特定情報に基づいて選択し、圧縮符号化結果に反映されるべき差分信号として、選択された1つの予測画像と原画像との差分信号を出力し、選択された1つの予測画像を特定する予測画像特定情報を生成する第2処理手段とを備えることを特徴とする。
ここで、所定サイズのブロックは、n×n画素、例えば16×16画素のマクロブロックであり、予測画像は、各ブロックと同サイズの画像である。
上述の構成を備える本発明に係る画像符号化装置は、第1処理手段では、各ブロックについて、そのブロックの予測画像候補特定情報を前ブロックの予測画像候補特定情報に基づいて生成しておき、第2処理手段では、第1処理手段による処理と並行して、第1処理手段による処理が完了した1のブロックについての予測画像を、そのブロックの予測画像候特定情報が示す予測画像の候補から、前ブロックに対して選択された1つの予測画像を特定する予測画像特定情報に基づき選択するため、各ブロックについて、第1処理手段による処理開始時にそのブロックの前ブロックに対する予測画像が決定されていなくても、そのブロックの圧縮符号化処理を開始することができる。
即ち、各ブロックについて、そのブロックの前ブロックの予測画像の決定を待たずに符号化処理を開始できるため、符号化処理の高速化を実現できる。
また、予測画像候補特定情報として、例えば動き情報(動きベクトルと参照画像)の候補を使用することにより、各ブロックの予測画像候補特定情報は、前ブロックの動き情報の候補に基づいて生成された動き情報の候補となり、MPEG4AVCにおけるスキップモードや空間ダイレクトモードによる符号化が可能となり、符号量を抑えることができる。
また、前記画像符号化装置は、逐次入力される画像を圧縮符号化するものであり、各ブロックについて、当該ブロックの予測画像候補特定情報は、他の画像を探索することにより検出した動きベクトルに基づいて生成した予測画像の候補を特定する特定情報を含むとしてもよい。
これにより、他の画像を探索することにより検出した動きベクトルとして、例えばMPEG4AVCにおける画面間予測(インターモード)で規定されている動きベクトルを用いることにより、予測画像候補特定情報には、画面間予測(インターモード)における予測画像を特定する特定情報が含まれる。
従って、予測画像特定情報が示す複数の予測画面の候補から、例えば符号量が最小となる予測画像をブロック毎に選択することによって、符号量を抑えた圧縮符号化が可能となる。
また、各ブロックについて、当該ブロックの予測画像候補特定情報は、
当該ブロックに対して所定位置にある前記前ブロックを含む複数の隣接ブロックの動きベクトルに基づいて生成した予測画像の候補を特定する特定情報を含むこととしてもよい。
これにより、例えば、隣接ブロックを、MPEG4AVC規格のスキップモードにおいて用いられる所定のマクロブロックとすることにより、予測画像候補特定情報が示す予測画像の候補には、スキップモードや空間ダイレクトモードにより符号化した場合の予測画像が含まれるため、この予測画像が選択された場合に、符号量を抑えることができる。
また、前記画像符号化装置は、更に各ブロックを処理対象として逐次、当該ブロックに対して所定位置にある画素の画素値に基づいて生成した予測画像の候補を特定する特定情報を前記予測画像候補特定情報に含ませる第3処理手段を備え、前記第2処理手段は、前記第1処理手段による処理が完了したブロックについての予測画像を、前記第3処理手段が前記特定情報を含ませた予測画像候補特定情報が示す予測画像の候補から選択することとしてもよい。
これにより、所定位置にある画素の画素値として、例えばMPEG4AVCにおける画面内予測(イントラモード)で規定されている所定の画素の画素値を用いることにより、予測画像候補特定情報には、画面内予測(イントラモード)における予測画像の候補を特定する特定情報が含まれる。
従って、予測画像特定情報が示す複数の予測画面の候補から、例えば符号量が最小となる予測画像をブロック毎に選択することによって、符号量を抑えた圧縮符号化が可能となる。
また、前記予測画像候補特定情報は、前記第2処理手段による処理が完了したブロックの予測画像特定情報にも基づいて生成したものであるとしてもよい。
これにより、例えば、第1処理手段による処理対象のブロックをMBn、第2処理手段による処理対象のブロックをMBn−1、第2処理手段による処理が完了したブロックをMBn−2とすると、MBnの予測画像候補特定情報は、MBn−2の予測画像候補特定情報に基づいて生成された、MBn−1の予測画像候補特定情報に基づいて生成されることになるが、第2処理手段による処理が完了したMBn―2の予測画像特定情報に基づいて、MBnの予測画像候補特定情報を生成することにより、MBnの予測画像候補特定情報が示す予測画像の候補の数の増大を抑えることができる。
また、各ブロックについて、当該ブロックの予測画像候補特定情報は、当該ブロックの前ブロックの予測画像の候補の一部のみを特定する情報に基づいて生成したものであることとしてもよい。
これにより、符号化対象ブロックの予測画像候補特定情報は、その前ブロックの予測画像候補の一部のみを特定する情報に基づいて生成するため、予測画像候補特定情報が示す予測画像の候補の数を抑えることにより、画像符号化装置の処理負荷を減らすことができる。
また、前記画像符号化装置は、第1ステージと第2ステージとの2つのパイプラインステージから構成されるパイプラインにより処理を行うものであり、前記第1処理手段は、各ブロックを処理対象として逐次、他の画像を探索することにより検出した当該ブロックの動きベクトルに基づいて生成した予測画像の候補を特定する特定情報を含む前記予測画像候補特定情報を生成する動き検出部と、当該ブロックに対して所定位置にある前記前ブロックを含む複数の隣接ブロックの動きベクトルに基づいて生成した予測画像の候補を特定する特定情報を前記予測画像候補特定情報に含める動きベクトル投機算出部とを含み、前記第1ステージの処理を実行するものであり、前記第2処理手段は、前記予測画像候補特定情報が示す予測画像の候補のうち、前記動きベクトル投機算出部が生成した特定情報が示す予測画像の候補を前記前ブロックについての予測画像特定情報に基づいて絞り込む動きベクトル決定部と、前記動きベクトル決定部が絞り込んだ予測画像の候補と、前記予測画像候補特定情報が示す予測画像の候補のうち、前記動き検出部が生成した特定情報が示す予測画像の候補とから、前記第1処理手段による処理が完了したブロックについての予測画像を選択し、圧縮符号化結果に反映されるべき差分信号として、選択された1つの予測画像と原画像との差分信号を出力し、選択された1つの予測画像を特定する予測画像特定情報を生成するモード判定部とを含み、前記第2ステージの処理を実行するものであることとしてもよい。
これにより、各ブロックについて、第1処理手段において生成される予測画像候補特定情報には、動きベクトル投機算出部が前ブロックの予測画像候補特定情報に基づいて生成したそのブロックの予測画像の候補を特定する特定情報を含み、第2処理手段における動きベクトル決定部が、動きベクトル投機算出部により生成された特定情報が示すそのブロックの予測画像の候補を、前ブロックについての予測画像特定情報に基づき絞り込むため、各ブロックについて、第1処理手段による処理開始時にそのブロックの前ブロックに対する予測画像が決定されていなくても、そのブロックの圧縮符号化処理を開始することができる。
また、各ブロックについて、第1処理手段において生成される予測画像候補特定情報には、動き検出部において生成された特定情報を含み、第2処理手段におけるモード判定部は、動きベクトル決定部が絞り込んだ予測画像の候補と、予測画像候補特定情報が示す予測画像の候補のうち、動き検出部が生成した特定情報が示す予測画像の候補とから、予測画像を選択するため、例えば符号量が最小となる予測画像をブロック毎に選択することによって、符号量を抑えた圧縮符号化が可能となる。
本発明の実施の形態1に係る画像符号化装置100のパイプライン処理の流れを説明するための図である。 本発明の実施の形態1に係る画像符号化装置100の機能構成図である。 本発明の実施の形態1に係る画像符号化装置100の動作を示すフローチャートである。 本発明の実施の形態2に係る画像符号化装置200の機能構成図である。 本発明の実施の形態2に係る画像符号化装置200の処理を示すフローチャートである。 符号化対象ブロックと隣接画素との関係を説明するための図である。 符号化対象ブロックと隣接ブロックとの関係を説明するための図である。
符号の説明
100、200 画像符号化装置
101 動き検出部
102、201 動きベクトル投機算出部
103 第1動き補償部
104、203 動きベクトル決定部
105 第2動き補償部
106 イントラ予測部
107、204 モード判定部
108 直交変換部
109 量子化部
110 逆量子化部
111 逆直交変換部
112 加算部
113 デブロックフィルタ部
114 可変長符号化部
115 DMAコントローラ
116 外部メモリ
202 確認部
以下、本発明の実施の形態について、図面を参照しながら説明する。
<実施の形態1>
<概要>
実施の形態1に係る画像符号化装置は、MPEG4AVC規格に準拠し、符号化対象画像を、所定サイズ(例えば、16×16画素)のマクロブロック単位でパイプライン処理により符号化する画像符号化装置を改良したものである。
実施の形態1に係る画像符号化装置は、イントラモードとインターモードとスキップモードとの3つの符号化モードうち、符号量が最小になる符号化モードをマクロブロック毎に選択し、選択した符号化モードによりそのマクロブロックを符号化する。
以下、各符号化モードについて簡単に説明する。
イントラモードとは、符号化対象のマクロブロックである符号化対象ブロックに隣接する画素(以下、「隣接画素」という)の画素値に基づいて符号化対象ブロックの予測画像を生成し、生成した予測画像と符号化対象ブロックの原画像との差分情報を符号化する符号化モードである。
ここで、隣接画素について図6を用いて説明する。
図6は、符号化対象ブロックと隣接画素との関係を説明するための図である。
隣接画素とは、同図に示す符号化対象ブロックの左のマクロブロックの16画素(同図Aの画素)と上のマクロブロックの16画素(同図Bの画素)をいう。
予測画像の生成は、複数の予測モード(垂直予測、水平予測等)から1つの予測モードを選択して、選択した予測モードに対応した隣接画素内の画素値、つまり、予測モード毎に異なる隣接画素内の画素値を用いて行う。
予測モードとして、例えば垂直予測を選択する場合、符号化対象ブロックの各列の画素の画素値は、同列にある同図Bの各画素の画素値と等しいものとして予測画像を生成する。
なお、予測モードの選択方法については、従来技術であるため詳細な説明は省略するが、例えば周辺のマクロブロックの予測モードに基づいて選択する方法などを用いることができる。
インターモードとは、符号化対象ブロックを含む符号化対象画像と異なる画像(以下、「探索領域画像」という)を探索することにより、符号化対象ブロックと似たブロックへの相対位置を示すための動きベクトルを検出し、検出した動きベクトルと探索領域画像を示す参照画像番号とからなる動き情報に基づき符号化対象ブロックの予測画像を生成し、生成した予測画像と符号化対象ブロックの原画像との差分情報と動き情報とを符号化する符号化モードである。
スキップモードとは、符号化対象ブロックに隣接する複数のマクロブロックである隣接ブロックの動き情報を用いて符号化対象ブロックの動き情報を算出し、算出した動き情報に基づいて符号化対象ブロックの予測画像を生成し、生成した予測画像と符号化対象ブロックの原画像との差分情報を符号化する符号化モードである。このようにスキップモードでは、差分情報のみを符号化し、動き情報を符号化する必要がないため、符号量を抑えることができる。
ここで、隣接ブロックについて、図7を用いて説明する。
図7は、符号化対象ブロックと隣接ブロックとの関係を説明するための図である。同図に示すA〜Fのマクロブロックのうち、ブロックEをスキップモードにおける符号化対象ブロックとすると、隣接ブロックとは、ブロックB〜Dのことをいう。
ただし、ブロックCが符号化対象画像に存在しない等、ブロックCの動き情報を用いることができない場合には、ブロックCに代えてブロックAをブロックEの隣接ブロックとし、更にブロックA〜Cの全てが符号化対象画像内に存在しない等、ブロックA〜Cの全ての動き情報を用いることができない場合には、ブロックDのみをブロックEの隣接ブロックとする。なお、以下では、符号化対象ブロックEの左のブロックDを「前ブロック」と呼ぶ。
ブロックB〜DをブロックEの隣接ブロックとした場合、ブロックEの動きベクトルは、ブロックB〜Dの各動きベクトルの水平成分及び垂直成分それぞれについての中央値(メディアン)を取り、求めたものである。なお、隣接ブロックの中に符号化モードがイントラモードであるマクロブロックがある場合、そのマクロブロックの動きベクトルは「0」であるとして、ブロックEの動きベクトルを算出する。
また、ブロックEのスキップモードにおける参照画像は、ブロックEを含む符号化対象画像の1つ前に表示される画像であり、参照画像番号は「0」である。
なお、参照画像番号は、表示順において符号化対象ブロックを含む符号化対象画像を基準にした参照画像の位置(相対位置)を示す番号であり、表示順が符号化対象画像から離れるほど、大きな参照画像番号が割り当てられる。
以下、実施の形態1に係る画像符号化装置について、図1を用いて具体的に説明する。
図1は、実施の形態1に係る画像符号化装置のパイプライン処理の流れを説明するための図である。
実施の形態1に係る画像符号化装置は、符号化対象画像について、マクロブロック毎に符号量が最小となる符号化モードを選択して、選択した符号化モードによりそのマクロブロックを符号化するものであり、符号化対象画像の左上のマクロブロックから水平方向に1行分処理して、次の行の処理に移り、右上のマクロブロックまで順に処理する。
同図に示すように、実施の形態1に係る画像符号化装置の処理は、第1ステージから第4ステージまでの4ステージパイプラインにより構成され、各タイムスロット(TS1、TS2、TS3、TS4、・・・)において各パイプラインステージにおける処理は並行して行われる。
以下、符号化対象画像において、n番目に処理を開始されるマクロブロック(MBn)に着目して、各パイプラインステージにおける処理の概要を説明する。
まず、第1ステージでは、MBnについてインターモードにより符号化する場合の動き情報の検出とスキップモードにより符号化する場合の動き情報の算出を並行して行う。
次に、第2ステージでは、MBnについて各符号化モードで符号化する場合の予測画像の生成と、各予測画像と原画像との差分情報の算出を並行して行い、符号量が最小となる符号化モードをMBnの符号化モードとして決定する。
次に、第3ステージ及び第4ステージでは、第2ステージで決定したMBnの符号化モードによりMBnを符号化し、符号化後の符号化ストリームを生成する。
ところで、第1ステージにおいて、MBnについてスキップモードにおける動き情報を算出するためには、MBnの前ブロックであるMBn−1の動き情報が必要となるが、MBn−1の符号化モードは第2ステージの処理の完了により決定する。
従って、MBnについての第1ステージにおける処理を開始する時点(TS1の開始時点)で、MBn−1は、第2ステージにおける処理を開始されようとしており、MBn−1の符号化モードは決定していない。即ち、MBn−1の動き情報は決定していない。
そのため、実施の形態1に係る画像符号化装置は、第1ステージにおいて、MBn−1の符号化モードを、上述した各符号化モード(イントラモードとインターモードとスキップモード)それぞれに仮定した場合のMBnのスキップモードにおける各動き情報(以下、「動き情報候補」という)を算出する。つまり、MBnのスキップモードにおける動き情報として3つの候補を算出する。
また、MBnについての第2ステージにおける処理を開始する時点(TS2の開始時点)では、MBn−1についての第2ステージにおける処理は完了しているため、MBn−1の符号化モードは決定している。
そのため、第2ステージでは、第1ステージにおいて算出したMBnのスキップモードにおける3つの動き情報候補から、決定したMBn−1の符号化モードに対応する動き情報を、MBnのスキップモードにおける動き情報として選択し、選択した動き情報に基づいてMBnのスキップモードにおける予測画像を生成し、生成した予測画像とMBnの原画像との差分情報を算出する。
また、上記処理と並行して第2ステージでは、MBnのイントラモード及びインターモードおける予測画像をそれぞれ生成し、各予測画像とMBnの原画像との差分情報をそれぞれ算出する。なお、MBnのインターモードにおける予測画像は、第1ステージにおいて検出した動き情報に基づいて生成する。
また、第2ステージでは、MBnについての各符号化モード(イントラモード、インターモード、スキップモード)における差分情報が算出されると、各符号化モードにおける差分情報から各符号化モードにおける符号量を算出して、最も符号量が小さくなる符号化モードを、MBnにおける符号化モードとして決定する。
このように、実施の形態1に係る画像符号化装置は、前ブロックの動き情報の決定を待つことなく符号化対象ブロックの処理を開始できるため、パイプラインによる符号化処理の高速化を維持しつつ、符号化対象ブロックについてスキップモードによる符号化が可能となるため、符号化量を抑えることができる。
<構成>
まず、実施の形態1に係る画像符号化装置100の構成について、図2を用いて説明する。
図2は、画像符号化装置100の機能構成図である。
同図に示すように、画像符号化装置100は、動き検出部101、動きベクトル投機算出部102、第1動き補償部103、動きベクトル決定部104、第2動き補償部105、イントラ予測部106、モード判定部107、直交変換部108、量子化部109、逆量子化部110、逆直交変換部111、加算部112、デブロックフィルタ部113、可変長符号化部114、DMAコントローラ115、外部メモリ116を含んで構成される。
また、画像符号化装置100は、図示していないが、CPU(Central Processing Unit)及び内部メモリを備え、上述の動き検出部101、動きベクトル投機算出部102、第1動き補償部103、動きベクトル決定部104、第2動き補償部105、イントラ予測部106、モード判定部107、直交変換部108、量子化部109、逆量子化部110、逆直交変換部111、加算部112、デブロックフィルタ部113、可変長符号化部114の各機能は、内部メモリに記憶されているプログラムをCPUに実行させることにより実現される。
また、本実施の形態では、動き検出部101の処理と動きベクトル投機算出部102の処理とが第1ステージに、第1動き補償部103の処理と動きベクトル決定部104の処理と第2動き補償部105の処理とイントラ予測部106の処理とモード判定部107の処理とが第2ステージに、直交変換部108の処理と量子化部109の処理と逆量子化部110の処理と逆直交変換部111の処理と加算部112の処理とが第3ステージに、デブロックフィルタ部113の処理と可変長符号化部114の処理とが第4ステージに相当するようパイプラインを構成している。なお、第1ステージの処理は、本発明における第1処理手段に相当し、第2ステージの処理は、本発明における第2処理手段と第3処理手段とに相当する。
動き検出部101は、符号化対象ブロックについてのインターモードにおける動きベクトルを検出し、検出した動きベクトルと動きベクトルの検出に用いた探索領域画像を示す参照画像番号とからなる動き情報を動きベクトル投機算出部102及び第1動き補償部103に送出する機能を有する。
具体的には、動き検出部101は、符号化対象ブロック(例えば、16×16画素のマクロブロック)の原画像と動きベクトルの探索対象である探索領域画像とをDMAコントローラ115を介して外部メモリ116から内部メモリ(図示しない)に読み出し、読み出した符号化対象ブロックの原画像と探索領域画像との間でブロックマッチングを行い、探索領域画像において、符号化対象ブロックの原画像と最も類似度が高いマクロブロックを見つけることにより、そのマクロブロックへの相対位置を示す動きベクトルを検出する。
なお、動きベクトルの検出に関し、小数画素精度(1/2画素精度、1/4画素精度)の動きベクトルの検出も可能であるが、説明の便宜上、整数画素制度の動きベクトルの検出を行うものとして説明する。
また、探索領域画像は、後述するデブロックフィルタ部113により外部メモリ116に格納されたデブロック処理後の復号画像であり、以下では、例えば表示順において、符号化対象ブロックを含む符号化対象画像の1つ前の画像に対する復号画像であるとして説明する。
動きベクトルを検出すると、動き検出部101は、検出した動きベクトルと探索領域画像を示す参照画像番号、つまり動き情報を動きベクトル投機算出部102及び第1動き補償部103に送出する。
動きベクトル投機算出部102は、符号化対象ブロックについてスキップモードにおける動き情報候補を算出し、算出した符号化対象ブロックの動き情報候補を動きベクトル決定部104に送出する機能を有する。
即ち、動きベクトル投機算出部102は、後述するモード判定部107により内部メモリに格納された、符号化対象ブロックの前ブロック以外の隣接ブロックの動き情報と、符号化モードが決定していない前ブロックが選択し得る全ての符号化モードに対する各動き情報に基づいて、符号化対象ブロックの動き情報候補を算出する。
以下、動き情報候補の算出について、具体的に説明する。なお、前ブロックの符号化モードによらず、参照画像番号は「0」である。
前ブロックの符号化モードがイントラモードであると仮定した場合、前ブロックの動きベクトルは0であるとして、前ブロックを含む隣接ブロックの動きベクトルから符号化対象ブロックの動きベクトルを算出する。以下、前ブロックがイントラモードであると仮定して算出した動き情報を「m1」と呼ぶ。
また、前ブロックの符号化モードがインターモードであると仮定した場合、動き検出部101から受領した前ブロックのインターモードにおける動きベクトルと、他の隣接ブロックの動きベクトルから符号化対象ブロックの動きベクトルを算出する。以下、前ブロックの符号化モードがインターモードであると仮定して算出した動き情報を「m2」と呼ぶ。
また、前ブロックの符号化モードがスキップモードであると仮定した場合、前ブロックについてもスキップモードにおける3つの動き情報候補を有することとなる。
そこで、動きベクトル投機算出部102は、後述するモード判定部107から受領した、前ブロックの左のマクロブロックに対して決定した符号化モードを示すモード情報を用いて、前ブロックのスキップモードにおける3つの動き情報候補から、前ブロックの左のマクロブロックに対して決定した符号化モードに対応する1つの動きベクトルを、前ブロックのスキップモードにおける動きベクトルとして選択し、選択した前ブロックのスキップモードにおける動き情報の動きベクトルと他の隣接ブロックの動きベクトルから符号化対象ブロックの動きベクトルを算出する。以下、前ブロックの符号化モードがスキップモードであると仮定して算出した動き情報を「m3」と呼ぶ。
なお、動きベクトル投機算出部102は、符号化対象ブロックに対して算出した動き情報候補(m1〜m3)を内部メモリに格納しておく。格納された動き情報候補(m1〜m3)は、次に処理されるマクロブロックに対してm3の動き情報を算出する際に使用される。
また、動きベクトル投機算出部102は、算出した動き情報候補(m1〜m3)が示す各参照画像を、DMAコントローラ115を介して外部メモリ116から内部メモリに読み出しておく。この参照画像は、第2動き補償部105の後述する符号化対象ブロックのスキップモードにおける予測画像の生成処理に使用される。
第1動き補償部103は、動き検出部101から受領した符号化対象ブロックのインターモードにおける動き情報に基づいて予測画像を生成し、予測画像と内部メモリに格納された符号化対象ブロックの原画像との差分情報を算出し、予測画像と差分情報と動き情報とをモード判定部107に送出する機能を有する。
予測画像の生成について、具体的には、動き検出部101から受領した参照画像番号が示す探索領域画像において、動きベクトルが示すブロックを予測画像とする。
動きベクトル決定部104は、後述するモード判定部107から受領したモード情報が示す前ブロックの符号化モードに対応する1つの動き情報を、動きベクトル投機算出部102から受領した符号化対象ブロックのスキップモードにおける3つの動き情報候補(m1〜m3)から選択し、選択した符号化対象ブロックのスキップモードにおける動き情報を第2動き補償部105へ送出する機能を有する。
例えば、前ブロックの符号化モードがインターモードに決定した場合には、符号化対象ブロックのスキップモードにおける動き情報としてm2を第2動き補償部105へ送出する。
第2動き補償部105は、動きベクトル決定部104から受領した、符号化対象ブロックのスキップモードにおける動き情報に基づいて予測画像を生成し、予測画像と内部メモリに格納された符号化対象ブロックの原画像との差分情報を算出し、予測画像と差分情報と動きベクトル決定部104から受領したスキップモードにおける動き情報をモード判定部107に送出する機能を有する。
予測画像の生成について、具体的には、動きベクトル決定部104から受領した動き情報が示す参照画像を予測画像とする。
イントラ予測部106は、符号化対象ブロックの隣接画素の画像を、DMAコントローラ115を介して外部メモリ116から内部メモリに読み出し、隣接画素の画素値に基づき、符号化対象ブロックのイントラモードにおける予測画像を生成し、予測画像と内部メモリに格納された符号化対象ブロックの原画像との差分情報を算出し、予測画像と差分情報と予測画像の生成に使用した予測モードを示す予測モード情報とをモード判定部107に送出する機能を有する。
なお、イントラ予測部106が外部メモリ116から読み出す隣接画素の画像は、後述する加算部112により外部メモリ116に格納された復号画像である。
モード判定部107は、第1動き補償部103から受領したインターモードにおける差分情報と第2動き補償部105から受領したスキップモードにおける差分情報とイントラ予測部106とから受領したイントラモードにおける差分情報とに基づき、符号量が最小となる符号化モードを符号化対象ブロックの符号化モードとして決定する機能を有する。なお、インターモードにより符号化する場合の符号量には、上述の差分情報だけでなく動き情報の符号量も考慮する。
また、モード判定部107は、決定した符号化モードを示すモード情報を動きベクトル投機算出部102と動きベクトル決定部104とに送出し、決定した符号化モードについての差分情報を直交変換部108に送出し、決定した符号化モードについての予測画像を加算部112に送出し、可変長符号化部114にモード情報と決定した符号化モードに応じた情報(インターモードに決定した場合の動き情報や、イントラモードに決定した場合の予測モード情報)を送出する。
なお、モード判定部107は、決定した符号化モードに対応する動き情報(インターモードにおける動き情報、又はスキップモードにおける動き情報)を内部メモリに格納する。
直交変換部108は、モード判定部107から受領した差分情報に対し離散コサイン変換等の直交変換処理を行い、処理結果である係数情報を量子化部109に送出する機能を有する。
量子化部109は、直交変換部108から受領した係数情報に対し量子化処理を行い、量子化した係数情報を逆量子化部110と可変長符号化部114に送出する機能を有する。
逆量子化部110は、量子化部から受領した量子化した係数情報に対し、逆量子化処理を行い、処理結果である係数情報を逆直交変換部111に送出する機能を有する。
逆直交変換部111は、逆量子化部110から受領した係数情報に対し、逆直交変換処理を行い、処理結果である差分情報を加算部112に送出する機能を有する。
加算部112は、モード判定部107から受領した予測画像と、逆直交変換部111から受領した差分情報とを加算し、符号化対象ブロックの復号画像を生成し、生成した復号画像をデブロックフィルタ部113へ送出すると共に、DMAコントローラ115を介して外部メモリ116に格納する機能を有する。
デブロックフィルタ部113は、加算部112から受領した復号画像に対し、デブロックフィルタによるブロック歪の除去処理(以下、「デブロック処理」という)を行い、デブロック処理後の復号画像を、DMAコントローラ115を介して外部メモリ116に格納する機能を有する。
可変長符号化部114は、量子化部109から受領した量子化した係数情報に対し可変長符号化処理や算術符号化処理を行い、処理後の符号化ストリームを、DMAコントローラ115を介して外部メモリ116に格納する機能を有する。なお、モード判定部107から受領したモード情報と決定した符号化モードに応じた情報は符号化ストリームにおけるヘッダの生成に使用される。
DMAコントローラ115は、各部からの外部メモリ116へのアクセス要求を調停し、外部メモリ116と内部メモリとの間のデータ転送を行う一般的なDMAコントローラである。
外部メモリ116は、各符号化対象ブロックと、加算部により格納された復号画像と、デブロックフィルタ部113により格納されたデブロック処理後の復号画像と、可変長符号化部114により格納された符号化ストリームとを記憶するDRAMなどで構成されたメモリである。
<動作>
次に、上記構成を備える画像符号化装置100の動作について、図3を用いて説明する。
図3は、画像符号化装置100の動作を示すフローチャートである。
以下では、画像符号化装置100の処理をパイプラインステージ毎に説明する。なお、第1ステージから第4ステージまでの各パイプラインステージは、異なるマクロブロックを処理対象として並列して処理する。
<第1ステージの動作>
まず、第1ステージでの画像符号化装置100の動作について説明する。第1ステージでは、以下説明する動き検出部101の処理(ステップS01〜03)と、動きベクトル投機算出部102の処理(ステップS04、05)とは、並行して実行される。
動き検出部101は、符号化対象ブロックの原画像と動きベクトルの探索対象である探索領域画像とを、DMAコントローラ115を介して外部メモリ116から内部メモリに読み出す(ステップS01、S02)。
動き検出部101は、探索領域画像から符号化対象ブロックの原画像と最も類似度が高いマクロブロックを探索して動きベクトルを検出し(ステップS03)、第1動き補償部103に検出した動きベクトルと探索領域画像を示す参照画像番号、つまり動き情報を送出する。
一方、動きベクトル投機算出部102は、符号化対象ブロックの前ブロックの符号化モードをイントラモードとインターモードとスキップモードとのそれぞれに仮定し、それぞれに仮定した場合の符号化対象ブロックの動き情報候補(m1〜m3)を算出し(ステップS04)、算出した動き情報候補(m1〜m3)を動きベクトル決定部104に送出する。
また、動きベクトル投機算出部102は、動き情報候補(m1〜m3)それぞれが示す参照画像を、DMAコントローラ115を介して外部メモリ116から内部メモリに読み出す(ステップS05)。
<第2ステージの動作>
次に、第2ステージでの画像符号化装置100の動作について説明する。
第2ステージでは、以下説明する第1動き補償部103の処理(ステップS06、07)と、動きベクトル決定部104及び第2動き補償部105の処理(ステップS08〜10)と、イントラ予測部106の処理(ステップS11、12)とは、並行して実行される。
第1動き補償部103は、動き検出部101から受領した動き情報に基づいてインターモードにおける符号化対象ブロックの予測画像を生成する(ステップS06)。
第1動き補償部103は、生成した予測画像と内部メモリに格納された符号化対象ブロックの原画像との差分情報を算出し(ステップS07)、算出した差分情報と、生成した予測画像と、動き検出部101から受領した動き情報とをモード判定部107に送出する。
また、動きベクトル決定部104は、動きベクトル投機算出部102から受領した動き情報候補(m1〜m3)から、モード判定部107から受領した前ブロックのモード情報が示す符号化モードに対応する動き情報を、符号化対象ブロックのスキップモードにおける動き情報として選択し(ステップS08)、選択した動き情報を第2動き補償部105に送出する。
第2動き補償部105は、動きベクトル決定部104から受領した動き情報に基づいてスキップモードにおける符号化対象ブロックの予測画像を生成する(ステップS09)。
第2動き補償部105は、生成した予測画像と内部メモリに格納された符号化対象ブロックの原画像との差分情報を算出し(ステップS10)、算出した差分情報と、生成した予測画像と動きベクトル決定部104から受領したスキップモードにおける動き情報をモード判定部107に送出する。
また、イントラ予測部106は、符号化対象ブロックの隣接画素の画像を、DMAコントローラ115を介して外部メモリ116から内部メモリに読み出し、隣接画素の画素値に基づき、符号化対象ブロックのイントラモードにおける予測画像を生成する(ステップS11)。
イントラ予測部106は、生成した予測画像と内部メモリに格納された符号化対象ブロックの原画像との差分情報を算出し(ステップS12)、算出した差分情報と、生成した予測画像と、予測モード情報とをモード判定部107に送出する。
モード判定部107は、第1動き補償部103と第2動き補償部105とイントラ予測部106からそれぞれ受領した差分情報に基づいて各符号化モード(インターモード、スキップモード、イントラモード)のうち、符号化量が最小となる符号化モードを、符号化対象ブロックの符号化モードとして決定する(ステップS13)。
モード判定部107は、決定した符号化モードを示すモード情報を動きベクトル投機算出部102と動きベクトル決定部104に、決定した符号化モードにおける差分情報を直交変換部108に、決定した符号化モードにおける予測画像を加算部112に、モード情報と決定した符号化モードに応じた情報(インターモードに決定した場合の動き情報や、イントラモードに決定した場合の予測モード情報)を可変長符号化部114に送出する。
<第3ステージの動作>
次に、第3ステージでの画像符号化装置100の動作について説明する。
直交変換部108は、モード判定部107から受領した差分情報に対して離散コサイン変換等の直交変換処理を行い、処理結果である係数情報を量子化部109に送出し(ステップS14)、量子化部109は、直交変換部108から受領した係数情報に対して量子化処理を行い、量子化した係数情報を逆量子化部110と可変長符号化部114に送出する(ステップS15)。
逆量子化部110は、量子化部から受領した量子化した係数情報に対して逆量子化処理を行い、処理結果である係数情報を逆直交変換部111に送出し(ステップS16)、逆直交変換部111は、逆量子化部110から受領した係数情報に対して逆直交変換処理を行い、処理結果である差分情報を加算部112に送出する(ステップS17)。
<第4ステージの動作>
次に、第4ステージでの画像符号化装置100の動作について説明する。
第4ステージでは、以下説明する加算部112とデブロックフィルタ部
113の処理(ステップS18〜20)と、可変長符号化部114の処理(ステップS21、22)とは、並行して実行される。
加算部112は、モード判定部107から受領した予測画像と、逆直交変換部111から受領した差分情報とを加算し、符号化対象ブロックの復号画像を生成し(ステップS18)、生成した復号画像をデブロックフィルタ部113へ送出すると共に、DMAコントローラ115を介して外部メモリ116に格納する。
デブロックフィルタ部113は、加算部112から受領した復号画像に対してデブロック処理を行い(ステップS19)、デブロック処理後の復号画像を、DMAコントローラ115を介して外部メモリ116に格納する(ステップS20)。
可変長符号化部114は、量子化部109から受領した量子化した係数情報に対し可変長符号化処理や算術符号化処理を行い(ステップS21)、処理後の符号化ストリームを、DMAコントローラ115を介して外部メモリ116に格納する(ステップS22)。
<考察>
以下、本実施の形態に係る画像符号化装置100が奏する効果について、特許文献1における画像符号化装置と比較して説明する。
特許文献1における画像符号化装置では、前ブロックの代わりに他の近傍ブロックの動き情報を用いて、符号化対象ブロックのスキップモードにおける動き情報を生成しているため、パイプラインによる符号化処理の高速化を維持することはできるが、後に決定した前ブロックの動き情報と近傍ブロックの動き情報とが相違する場合には、スキップモードによる符号化ができないという問題がある。
一方、画像符号化装置100は、符号化対象ブロックの前ブロックが選択し得る全ての動き情報に基づいて、符号化対象ブロックのスキップモードにおける動き情報候補を算出し、前ブロックの動き情報決定後に、算出した動き情報効果から、決定した前ブロックの動き情報に対応する1つの動き情報を、符号化対象ブロックのスキップモードにおける動き情報として選択する。
従って、パイプラインによる符号化処理の高速化を維持しつつ、各マクロブロックについて確実にスキップモードによる符号化が可能となるため、符号化量を削減することができる。
<実施の形態2>
<概要>
実施の形態1の動きベクトル投機算出部102は、前ブロックが選択しうる全ての符号化モード(イントラモード、インターモード、スキップモード)のそれぞれに対する各動き情報に基づいて、符号化対象ブロックのスキップモードにおける動き情報候補を全て算出し、各動き情報候補が示す全ての参照画像を取得するものである。
しかし、符号化対象ブロックのスキップモードにおける動き情報候補を全て算出し、各動き情報候補が示す全ての参照画像を取得するものとすると、動きベクトル投機算出部102の処理時間、特に参照画像の転送処理時間が大きくなり、また、全ての参照画像を格納するための大容量の内部メモリが必要となる。
そこで、実施の形態2の動きベクトル投機算出部は、前ブロックが選択し得る各符号化モードのうち、画質や符号化効率の向上に有効な符号化モード、具体的にはインターモードとスキップモードとに対する各動き情報のみに基づいて、符号化対象ブロックのスキップモードにおける動き情報候補を算出し、各動き情報候補が示す参照画像を取得する。
これにより、動きベクトル投機算出部の処理時間、特に参照画像の転送処理時間を抑え、また、内部メモリの容量を削減することができる。
<構成>
まず、実施の形態2に係る画像符号化装置200の構成について、図4を用いて説明する。
図4は、画像符号化装置200の機能構成図である。
同図に示すように、画像符号化装置200は、動き検出部101、第1動き補償部103、第2動き補償部105、イントラ予測部106、直交変換部108、量子化部109、逆量子化部110、逆直交変換部111、加算部112、デブロックフィルタ部113、可変長符号化部114、DMAコントローラ115、外部メモリ116、動きベクトル投機算出部201、確認部202、動きベクトル決定部203、モード判定部204を含んで構成される。
動きベクトル投機算出部201、確認部202、動きベクトル決定部203、モード判定部204以外については、実施の形態1に係る画像符号化装置100と同様であるため、説明は省略する。
また、画像符号化装置200は、図示していないが、CPU(Central Processing Unit)及び内部メモリを備え、上述の動きベクトル投機算出部201、確認部202、動きベクトル決定部203、モード判定部204の各機能は、内部メモリに記憶されているプログラムをCPUに実行させることにより実現される。
また、本実施の形態では、動きベクトル投機実行部401の処理は、第1ステージに、確認部202の処理と動きベクトル決定部203の処理とモード判定部204の処理とは、第2ステージに相当するようパイプラインを構成している。
動きベクトル投機算出部201は、基本的には、画像符号化装置100の動きベクトル投機算出部102と同様の機能を有するが、動き情報が決定していない前ブロックが選択し得る符号化モードのうち、インターモードとスキップモードとに対する各動き情報に基づいて、符号化対象ブロックの動き情報候補(m2、m3)を算出し、動きベクトル決定部203に送出すると共に、算出した動き情報候補(m2、m3)が示す各参照画像を、DMAコントローラ115を介して外部メモリ116から内部メモリに読み出しておく点で、動きベクトル投機算出部102とは異なる。
確認部202は、モード判定部204から受領した前ブロックのモード情報が示す符号化モードがインターモード又はスキップモードであるかを確認し、動きベクトル決定部203及びモード判定部204に確認結果を示す確認結果情報を送出する機能を有する。
動きベクトル決定部203は、基本的には、画像符号化装置100の動きベクトル決定部104と同様の機能を有するが、確認部202から受領した確認結果情報が示す確認結果が、前ブロックの符号化モードはインターモード又はスキップモードでない、即ちイントラモードである旨を示す場合に、符号化対象ブロックのスキップモードにおける動き情報の選択を行わない点で、ベクトル決定部104とは異なる。
モード判定部204は、基本的には、画像符号化装置100のモード判定部107と同様の機能を有するが、確認部202から受領した確認結果情報が示す確認結果が、前ブロックの符号化モードはインターモード又はスキップモードでない、即ちイントラモードである旨を示す場合に、スキップモード以外のモードを符号化対象ブロックの符号化モードとして決定する点で、モード判定部107とは異なる。
つまり、前ブロックの符号化モードがイントラモードである場合には、第1動き補償部103から受領したインターモードにおける差分情報とイントラ予測部106とから受領したイントラモードにおける差分情報とに基づき、インターモードとイントラモードとのうち符号量が小さくなる符号化モードを、符号化対象ブロックの符号化モードとして決定する。
<動作>
次に、上記構成を備える画像符号化装置200の動作について、図5を用いて説明する。
図5は、画像符号化装置200の動作を示すフローチャートである。同図に示すステップS01〜S22の処理は、図3に示す実施の形態1に係る画像符号化装置100の同符号の処理と同様であるため、説明は省略し、以下では、相違点のみについて説明する。
第1ステージにおいて、動き検出部101の処理(ステップS01〜03)と並行して、動きベクトル投機算出部201は、符号化対象ブロックの前ブロックの符号化モードをインターモードとスキップモードとのそれぞれに仮定し、それぞれに仮定した場合の符号化対象ブロックの動き情報候補(m2、m3)を算出し(ステップS31)、算出した動き情報候補(m2、m3)を動きベクトル決定部203に送出する。
また、動きベクトル投機算出部201は、動き情報候補(m2、m3)それぞれが示す参照画像を、DMAコントローラ115を介して外部メモリ116から内部メモリに読み出す(ステップS32)。
第2ステージにおいて、第1動き補償部103の処理(ステップS06、07)と、イントラ予測部106の処理(ステップS11、12)と並行して、確認部202は、モード判定部107から受領した前ブロックのモード情報が示す符号化モードがインターモード又はスキップモードであるか否かを確認し(ステップS33)、確認結果を示す確認結果情報を動きベクトル決定部203とモード判定部204とに送出する。
確認結果情報が、前ブロックの符号化モードはインターモード又はスキップモードである旨を示す場合には(ステップS33:Y)、動きベクトル決定部203は、モード判定部107から受領した前ブロックのモード情報が示す符号化モードに対応する動き情報を、動きベクトル投機算出部201から受領した動き情報候補(m2、m3)から符号化対象ブロックのスキップモードにおける動き情報として選択し(ステップS34)、選択した動き情報を第2動き補償部105に送出する。
第2動き補償部105は、実施の形態1で説明したように、スキップモードにおける符号化対象ブロックの予測画像の生成(ステップS09)と、符号化対象ブロックの予測画像と原画像との差分情報の算出(ステップS10)とを行い、算出した差分情報と、生成した予測画像と、動きベクトル決定部203から受領したスキップモードにおける動き情報とをモード判定部204に送出する。
確認結果情報が、前ブロックの符号化モードはインターモード又はスキップモードでない旨、即ちイントラモードである旨を示す場合には(ステップS33:N)、ステップS34、S09、S10の処理を行わず、以降説明するステップS35に進む。
モード判定部107は、受領している差分情報とに基づき、符号化量が最小となる符号化モードを、符号化対象ブロックの符号化モードとして決定する(ステップS35)。
つまり、前ブロックの符号化モードがインターモード又はスキップモードである旨を示す確認結果情報を確認部202から受領している場合には、第1動き補償部103と第2動き補償部105とイントラ予測部106とからそれぞれ差分情報を受領しているため、3つの差分情報に基づいて符号化対象ブロックの符号化モードを決定する。
一方、前ブロックの符号化モードがインターモード又はスキップモードでない旨、即ち、イントラモードである旨を示す確認結果情報を確認部202から受領している場合には、第2動き補償部105から差分情報を受領していないため、第1動き補償部103とイントラ予測部106とから受領した2つの差分情報に基づき、符号化対象ブロックの符号化モードを決定する。
<補足>
以上、本発明に係る画像符号化装置について実施の形態に基づいて説明したが、以下のように変形することも可能であり、本発明は上述した実施の形態で示した通りの画像符号化装置に限られないことは勿論である。即ち、
(1)各実施の形態において、動き検出部101が動き検出を行う際に用いる探索領域画像は、符号化対象ブロックを含む符号化対象画像の1つの前の画像に対する復号画像であるとして説明したが、1つ前の画像に対するもの限らず、複数枚前の画像に対する復号画像であってもよい。
また、探索領域画像は、符号化対象画像の1つの前の画像に対する復号画像全体であるとして説明したが、その一部であってもよい。例えば、符号化対象画像の1つの前の画像に対する復号画像において、符号化対象ブロックと同じ位置にあるブロックとその周囲15画素の範囲の画像としてもよい。
(2)各実施の形態においては、4ステージパイプラインにより処理を行うものとして説明したが、CPUの処理能力に応じて、例えば、実施の形態1における第3ステージと第4ステージとを1つのステージにするよう構成し、3ステージパイプラインにより処理することとしてもよい。
(3)実施の形態1における動きベクトル投機算出部102は、符号化対象ブロックのスキップモードにおける動き情報候補を算出するものとして説明したが、空間ダイレクトモードにおける動き情報候補を算出するものとしてもよい。
なお、スキップモードにおいては、前ブロックの符号化モードがいずれのモードであっても参照画像番号は「0」であるとして説明したが、空間ダイレクトモードの場合、L0、L1方向それぞれについて、隣接ブロックの各参照画像番号のうち、最小の参照画像番号を符号化対象ブロックの参照画像番号とする点でスキップモードの場合とは異なる。
ただし、隣接ブロックの参照画像番号が「−1」、即ち隣接ブロックの符号化モードがイントラモードである等の場合には、符号化対象ブロックの空間ダイレクトモードにおける参照画像番号は「0」となる。
なお、実施の形態2の動きベクトル投機算出部201においても同様に変形することが可能である。
(4)実施の形態2において、動きベクトル投機算出部201は、動き情報が決定していない前ブロックが選択し得る符号化モードのうち、インターモードとスキップモードとにおける各動き情報に基づいて、符号化対象ブロックの動き情報候補(m2、m3)を算出するものとして説明したが、これに限られるものではなく、例えば、イントラモードとスキップモードとに対する各動き情報に基づいて、符号化対象ブロックの動き情報候補(m1、m3)を算出するものとしてもよいし、スキップモードに対する動き情報のみに基づいて、符号化対象ブロックの動き情報候補(m3)を算出するものとしてもよい。
また、動きベクトル投機算出部201が算出する動き情報候補の個数に制限はなく、CPUの処理能力等に応じて決定することが可能である。
(5)各実施の形態において、イントラ予測部106の処理が第2ステージの処理に含まれるものとして説明したが、イントラ予測部106の処理は、第1ステージの処理に含まれるものとしてもよい。つまり、イントラ予測部106の処理は、モード判定部107(又は204)が符号化対象ブロックの符号化モードを決定するまでに、完了していればよい。
(6)実施の形態1において、動き検出部101、動きベクトル投機算出部102、第1動き補償部103、動きベクトル決定部104、第2動き補償部105、イントラ予測部106、モード判定部107、直交変換部108、量子化部109、逆量子化部110、逆直交変換部111、加算部112、デブロックフィルタ部113、可変長符号化部114の各機能は、内部メモリに記憶されているプログラムをCPUに実行させることにより実現するものとして説明したが、その処理の一部又は全部をハードウェアにより実現してもよい。
その際、各機能は、典型的には集積回路であるLSIとして実現されるが、これらは個別に1チップ化されても良いし、一部又は全てを含むように1チップ化されても良い。
なお、実施の形態2における動きベクトル投機算出部201、確認部202、動きベクトル決定部203、モード判定部204の各機能についても同様である。
(7)各実施の形態において、画像符号化装置の各機能を実現するためにCPUに実行させるプログラムを、記録媒体に記録し、又は各種通信路等を介して流通させ、頒布させることもできる。このような記録媒体には、ICカード、ハードディスク、光ディスク、フレキシブルディスク、ROM等がある。流通、頒布されたプログラムは、プロセッサに読み出され得るメモリ等に格納されることにより利用に供され、そのプロセッサがそのプログラムを実行することにより、各実施の形態で示したような画像符号化装置の各種機能が実現されるようになる。
(8)各実施の形態に係る画像符号化装置は、MPEG4AVC規格に準拠するものとして説明したが、他の圧縮符号化方式、例えばMPEG4等に準拠するものであってもよい。
本発明に係る画像符号化装置は、符号化処理の高速化を図るために利用される。
本発明は画像を圧縮符号化する画像符号化装置に関し、特に圧縮符号化処理の高速化に関する。
画像の圧縮符号化方式であるMPEG4AVC(Motion Pictures Experts Group 4 Advanced Video Coding)規格には、符号化モードとして、スキップモードと空間ダイレクトモードとが規定されている。
両符号化モードは、共に圧縮符号化(以下、単に「符号化」ともいう)の対象となる画像(以下、「符号化対象画像」という)を、所定サイズ、例えば16×16画素のマクロブロック単位で処理する際に、現在の処理対象であるマクロブロック(以下、「符号化対象ブロック」という)の動きベクトルと符号化対象ブロックの予測に使用する、符号化対象ブロックと同サイズの参照画像を識別する参照画像番号(以下、両者の組を「動き情報」という)とを、その符号化対象ブロックに隣接する複数のマクロブロック(以下、「隣接ブロック」という)の動き情報に基づいて算出する。そして、算出した動き情報に基づいて予測した、符号化対象ブロックの予測画像と符号化対象ブロックの原画像との差分情報を符号化する。
つまり、スキップモード又は空間ダイレクトモード(以下、「スキップモード等」ともいう)により符号化したマクロブロックの動き情報は、復号する際に隣接ブロックの動き情報から算出できるため、符号化対象ブロックの動き情報を符号化する必要がなく、即ち、符号化対象ブロックの予測画像と原画像との差分情報のみを符号化すればよいため、スキップモード等により符号化することによって、符号量を減らすことができる。
ところで、画像の符号化処理を高速化するために、各マクロブロックについて、パイプラインにより並列に処理する技術が知られている。
上述の通り、符号化対象ブロックをスキップモード等により符号化するためには、隣接ブロックの動き情報が必要となる。
従って、例えば、パイプラインステージを、各マクロブロックについて順次、スキップモード等により符号化する場合の動き情報を算出する第1ステージと第1ステージの処理が完了したマクロブロックについて、スキップモード等により符号化した場合の符号量に基づいてスキップモード等により符号化するかを判定する第2ステージとに分けて構成した場合に、符号化対象ブロックについての第1ステージの処理を開始する際に、符号化対象ブロックに対する全ての隣接ブロックについての第2ステージの処理が完了していない場合には、各隣接ブロックについて符号化モードが決定していないこととなる。
即ち、各隣接ブロックについての動き情報が決定していないため、第1ステージにおいて、符号化対象ブロックについてのスキップモード等における動き情報の算出ができないこととなる。
この問題を解決する技術として、例えば特許文献1の画像符号化装置がある。以下、特許文献1における画像符号化装置について説明する。
特許文献1における画像符号化装置は、符号化対象画像をマクロブロック単位でパイプラインにより並列に符号化する画像符号化装置であり、符号化対象画像の左上のマクロブロックから水平方向に1行分処理し、次の行の処理に進み、右下のマクロブロックまで順に処理する。
特許文献1における画像符号化装置は、符号化対象ブロックの処理を開始する際に、隣接ブロックの1つである、符号化対象ブロックの左のマクロブロック(以下、「前ブロック」という)の動き情報の算出が完了していない場合に、前ブロックの代わりに動きベクトルの算出が完了している、前ブロックの左のブロック(以下、「近傍ブロック」という)の動き情報を用いて、符号化対象ブロックのスキップモード等における動き情報を生成する。
その後、前ブロックの動き情報の算出が完了すると、算出された前ブロックの動き情報と近傍ブロックの動き情報が一致するかを確認し、一致する場合には、スキップモード等により符号化対象ブロックを符号化できることとなる。
このように、特許文献1における画像符号化装置では、前ブロックの動き情報の算出が完了していなくても、近傍ブロックの動き情報を用いて符号化対象ブロックの動きベクトルの算出を行うため、パイプラインによる並列処理を妨げることなく符号化処理の高速化を実現できる。
特許第3879741号公報
しかし、特許文献1における画像符号化装置では、近傍ブロックの動き情報を用いて符号化対象ブロックの動きベクトルの算出を行うため、算出された前ブロックの動き情報と近傍ブロックの動き情報が一致せず、スキップモード等により符号化できない場合も少なくない。
そこで、本発明は係る問題に鑑みてなされたものであり、従来とは異なる方法により、符号化処理の高速化を図ることができる画像符号化装置を提供する。
上記課題を解決するために、本発明に係る画像符号化装置は、画像について、所定サイズのブロック単位で圧縮符号化する画像符号化装置であって、各ブロックを処理対象として逐次、当該ブロックの予測画像の候補を特定する予測画像候補特定情報を、当該ブロックの前に処理された前ブロックの予測画像候補特定情報に基づき生成する第1処理手段と、前記第1処理手段において1のブロックが処理されるのと並行して、当該第1処理手段による処理が完了したブロックについての予測画像を、当該ブロックの予測画像候補特定情報が示す予測画像の候補から、当該ブロックの前ブロックに対して選択された1つの予測画像を特定する予測画像特定情報に基づいて選択し、圧縮符号化結果に反映されるべき差分信号として、選択された1つの予測画像と原画像との差分信号を出力し、選択された1つの予測画像を特定する予測画像特定情報を生成する第2処理手段とを備えることを特徴とする。
また、上記課題を解決するために、本発明に係る画像符号化装置による画像符号化方法は、画像について、所定サイズのブロック単位で圧縮符号化する画像符号化方法であって、各ブロックを処理対象として逐次、当該ブロックの予測画像の候補を特定する予測画像候補特定情報を、当該ブロックの前に処理された前ブロックの予測画像候補特定情報に基づき生成する第1処理ステップと、前記第1処理ステップにおいて1のブロックが処理されるのと並行して、当該第1処理ステップによる処理が完了したブロックについての予測画像を、当該ブロックの予測画像候補特定情報が示す予測画像の候補から、当該ブロックの前ブロックに対して選択された1つの予測画像を特定する予測画像特定情報に基づいて選択し、圧縮符号化結果に反映されるべき差分信号として、選択された1つの予測画像と原画像との差分信号を出力し、選択された1つの予測画像を特定する予測画像特定情報を生成する第2処理ステップとを含むことを特徴とする。
また、上記課題を解決するために、本発明に係る画像符号化装置に用いられるコンピュータプログラムは、画像について、所定サイズのブロック単位で圧縮符号化する圧縮符号化処理をコンピュータに行わせるためのコンピュータプログラムであって、前記圧縮符号化処理は、各ブロックを処理対象として逐次、当該ブロックの予測画像の候補を特定する予測画像候補特定情報を、当該ブロックの前に処理された前ブロックの予測画像候補特定情報に基づき生成する第1処理ステップと、前記第1処理ステップにおいて1のブロックが処理されるのと並行して、当該第1処理ステップによる処理が完了したブロックについての予測画像を、当該ブロックの予測画像候補特定情報が示す予測画像の候補から、当該ブロックの前ブロックに対して選択された1つの予測画像を特定する予測画像特定情報に基づいて選択し、圧縮符号化結果に反映されるべき差分信号として、選択された1つの予測画像と原画像との差分信号を出力し、選択された1つの予測画像を特定する予測画像特定情報を生成する第2処理ステップとを含むことを特徴とする。
また、上記課題を解決するために、本発明に係る画像符号化装置に用いられる画像符号化用集積回路は、画像について、所定サイズのブロック単位で圧縮符号化する画像符号化用集積回路であって、各ブロックを処理対象として逐次、当該ブロックの予測画像の候補を特定する予測画像候補特定情報を、当該ブロックの前に処理された前ブロックの予測画像候補特定情報に基づき生成する第1処理手段と、前記第1処理手段において1のブロックが処理されるのと並行して、当該第1処理手段による処理が完了したブロックについての予測画像を、当該ブロックの予測画像候補特定情報が示す予測画像の候補から、当該ブロックの前ブロックに対して選択された1つの予測画像を特定する予測画像特定情報に基づいて選択し、圧縮符号化結果に反映されるべき差分信号として、選択された1つの予測画像と原画像との差分信号を出力し、選択された1つの予測画像を特定する予測画像特定情報を生成する第2処理手段とを備えることを特徴とする。
ここで、所定サイズのブロックは、n×n画素、例えば16×16画素のマクロブロックであり、予測画像は、各ブロックと同サイズの画像である。
上述の構成を備える本発明に係る画像符号化装置は、第1処理手段では、各ブロックについて、そのブロックの予測画像候補特定情報を前ブロックの予測画像候補特定情報に基づいて生成しておき、第2処理手段では、第1処理手段による処理と並行して、第1処理手段による処理が完了した1のブロックについての予測画像を、そのブロックの予測画像候特定情報が示す予測画像の候補から、前ブロックに対して選択された1つの予測画像を特定する予測画像特定情報に基づき選択するため、各ブロックについて、第1処理手段による処理開始時にそのブロックの前ブロックに対する予測画像が決定されていなくても、そのブロックの圧縮符号化処理を開始することができる。
即ち、各ブロックについて、そのブロックの前ブロックの予測画像の決定を待たずに符号化処理を開始できるため、符号化処理の高速化を実現できる。
また、予測画像候補特定情報として、例えば動き情報(動きベクトルと参照画像)の候補を使用することにより、各ブロックの予測画像候補特定情報は、前ブロックの動き情報の候補に基づいて生成された動き情報の候補となり、MPEG4AVCにおけるスキップモードや空間ダイレクトモードによる符号化が可能となり、符号量を抑えることができる。
また、前記画像符号化装置は、逐次入力される画像を圧縮符号化するものであり、各ブロックについて、当該ブロックの予測画像候補特定情報は、他の画像を探索することにより検出した動きベクトルに基づいて生成した予測画像の候補を特定する特定情報を含むとしてもよい。
これにより、他の画像を探索することにより検出した動きベクトルとして、例えばMPEG4AVCにおける画面間予測(インターモード)で規定されている動きベクトルを用いることにより、予測画像候補特定情報には、画面間予測(インターモード)における予測画像を特定する特定情報が含まれる。
従って、予測画像特定情報が示す複数の予測画面の候補から、例えば符号量が最小となる予測画像をブロック毎に選択することによって、符号量を抑えた圧縮符号化が可能となる。
また、各ブロックについて、当該ブロックの予測画像候補特定情報は、
当該ブロックに対して所定位置にある前記前ブロックを含む複数の隣接ブロックの動きベクトルに基づいて生成した予測画像の候補を特定する特定情報を含むこととしてもよい。
これにより、例えば、隣接ブロックを、MPEG4AVC規格のスキップモードにおいて用いられる所定のマクロブロックとすることにより、予測画像候補特定情報が示す予測画像の候補には、スキップモードや空間ダイレクトモードにより符号化した場合の予測画像が含まれるため、この予測画像が選択された場合に、符号量を抑えることができる。
また、前記画像符号化装置は、更に各ブロックを処理対象として逐次、当該ブロックに対して所定位置にある画素の画素値に基づいて生成した予測画像の候補を特定する特定情報を前記予測画像候補特定情報に含ませる第3処理手段を備え、前記第2処理手段は、前記第1処理手段による処理が完了したブロックについての予測画像を、前記第3処理手段が前記特定情報を含ませた予測画像候補特定情報が示す予測画像の候補から選択することとしてもよい。
これにより、所定位置にある画素の画素値として、例えばMPEG4AVCにおける画面内予測(イントラモード)で規定されている所定の画素の画素値を用いることにより、予測画像候補特定情報には、画面内予測(イントラモード)における予測画像の候補を特定する特定情報が含まれる。
従って、予測画像特定情報が示す複数の予測画面の候補から、例えば符号量が最小となる予測画像をブロック毎に選択することによって、符号量を抑えた圧縮符号化が可能となる。
また、前記予測画像候補特定情報は、前記第2処理手段による処理が完了したブロックの予測画像特定情報にも基づいて生成したものであるとしてもよい。
これにより、例えば、第1処理手段による処理対象のブロックをMBn、第2処理手段による処理対象のブロックをMBn−1、第2処理手段による処理が完了したブロックをMBn−2とすると、MBnの予測画像候補特定情報は、MBn−2の予測画像候補特定情報に基づいて生成された、MBn−1の予測画像候補特定情報に基づいて生成されることになるが、第2処理手段による処理が完了したMBn―2の予測画像特定情報に基づいて、MBnの予測画像候補特定情報を生成することにより、MBnの予測画像候補特定情報が示す予測画像の候補の数の増大を抑えることができる。
また、各ブロックについて、当該ブロックの予測画像候補特定情報は、当該ブロックの前ブロックの予測画像の候補の一部のみを特定する情報に基づいて生成したものであることとしてもよい。
これにより、符号化対象ブロックの予測画像候補特定情報は、その前ブロックの予測画像候補の一部のみを特定する情報に基づいて生成するため、予測画像候補特定情報が示す予測画像の候補の数を抑えることにより、画像符号化装置の処理負荷を減らすことができる。
また、前記画像符号化装置は、第1ステージと第2ステージとの2つのパイプラインステージから構成されるパイプラインにより処理を行うものであり、前記第1処理手段は、各ブロックを処理対象として逐次、他の画像を探索することにより検出した当該ブロックの動きベクトルに基づいて生成した予測画像の候補を特定する特定情報を含む前記予測画像候補特定情報を生成する動き検出部と、当該ブロックに対して所定位置にある前記前ブロックを含む複数の隣接ブロックの動きベクトルに基づいて生成した予測画像の候補を特定する特定情報を前記予測画像候補特定情報に含める動きベクトル投機算出部とを含み、前記第1ステージの処理を実行するものであり、前記第2処理手段は、前記予測画像候補特定情報が示す予測画像の候補のうち、前記動きベクトル投機算出部が生成した特定情報が示す予測画像の候補を前記前ブロックについての予測画像特定情報に基づいて絞り込む動きベクトル決定部と、前記動きベクトル決定部が絞り込んだ予測画像の候補と、前記予測画像候補特定情報が示す予測画像の候補のうち、前記動き検出部が生成した特定情報が示す予測画像の候補とから、前記第1処理手段による処理が完了したブロックについての予測画像を選択し、圧縮符号化結果に反映されるべき差分信号として、選択された1つの予測画像と原画像との差分信号を出力し、選択された1つの予測画像を特定する予測画像特定情報を生成するモード判定部とを含み、前記第2ステージの処理を実行するものであることとしてもよい。
これにより、各ブロックについて、第1処理手段において生成される予測画像候補特定情報には、動きベクトル投機算出部が前ブロックの予測画像候補特定情報に基づいて生成したそのブロックの予測画像の候補を特定する特定情報を含み、第2処理手段における動きベクトル決定部が、動きベクトル投機算出部により生成された特定情報が示すそのブロックの予測画像の候補を、前ブロックについての予測画像特定情報に基づき絞り込むため、各ブロックについて、第1処理手段による処理開始時にそのブロックの前ブロックに対する予測画像が決定されていなくても、そのブロックの圧縮符号化処理を開始することができる。
また、各ブロックについて、第1処理手段において生成される予測画像候補特定情報には、動き検出部において生成された特定情報を含み、第2処理手段におけるモード判定部は、動きベクトル決定部が絞り込んだ予測画像の候補と、予測画像候補特定情報が示す予測画像の候補のうち、動き検出部が生成した特定情報が示す予測画像の候補とから、予測画像を選択するため、例えば符号量が最小となる予測画像をブロック毎に選択することによって、符号量を抑えた圧縮符号化が可能となる。
以下、本発明の実施の形態について、図面を参照しながら説明する。
<実施の形態1>
<概要>
実施の形態1に係る画像符号化装置は、MPEG4AVC規格に準拠し、符号化対象画像を、所定サイズ(例えば、16×16画素)のマクロブロック単位でパイプライン処理により符号化する画像符号化装置を改良したものである。
実施の形態1に係る画像符号化装置は、イントラモードとインターモードとスキップモードとの3つの符号化モードうち、符号量が最小になる符号化モードをマクロブロック毎に選択し、選択した符号化モードによりそのマクロブロックを符号化する。
以下、各符号化モードについて簡単に説明する。
イントラモードとは、符号化対象のマクロブロックである符号化対象ブロックに隣接する画素(以下、「隣接画素」という)の画素値に基づいて符号化対象ブロックの予測画像を生成し、生成した予測画像と符号化対象ブロックの原画像との差分情報を符号化する符号化モードである。
ここで、隣接画素について図6を用いて説明する。
図6は、符号化対象ブロックと隣接画素との関係を説明するための図である。
隣接画素とは、同図に示す符号化対象ブロックの左のマクロブロックの16画素(同図Aの画素)と上のマクロブロックの16画素(同図Bの画素)をいう。
予測画像の生成は、複数の予測モード(垂直予測、水平予測等)から1つの予測モードを選択して、選択した予測モードに対応した隣接画素内の画素値、つまり、予測モード毎に異なる隣接画素内の画素値を用いて行う。
予測モードとして、例えば垂直予測を選択する場合、符号化対象ブロックの各列の画素の画素値は、同列にある同図Bの各画素の画素値と等しいものとして予測画像を生成する。
なお、予測モードの選択方法については、従来技術であるため詳細な説明は省略するが、例えば周辺のマクロブロックの予測モードに基づいて選択する方法などを用いることができる。
インターモードとは、符号化対象ブロックを含む符号化対象画像と異なる画像(以下、「探索領域画像」という)を探索することにより、符号化対象ブロックと似たブロックへの相対位置を示すための動きベクトルを検出し、検出した動きベクトルと探索領域画像を示す参照画像番号とからなる動き情報に基づき符号化対象ブロックの予測画像を生成し、生成した予測画像と符号化対象ブロックの原画像との差分情報と動き情報とを符号化する符号化モードである。
スキップモードとは、符号化対象ブロックに隣接する複数のマクロブロックである隣接ブロックの動き情報を用いて符号化対象ブロックの動き情報を算出し、算出した動き情報に基づいて符号化対象ブロックの予測画像を生成し、生成した予測画像と符号化対象ブロックの原画像との差分情報を符号化する符号化モードである。このようにスキップモードでは、差分情報のみを符号化し、動き情報を符号化する必要がないため、符号量を抑えることができる。
ここで、隣接ブロックについて、図7を用いて説明する。
図7は、符号化対象ブロックと隣接ブロックとの関係を説明するための図である。同図に示すA〜Fのマクロブロックのうち、ブロックEをスキップモードにおける符号化対象ブロックとすると、隣接ブロックとは、ブロックB〜Dのことをいう。
ただし、ブロックCが符号化対象画像に存在しない等、ブロックCの動き情報を用いることができない場合には、ブロックCに代えてブロックAをブロックEの隣接ブロックとし、更にブロックA〜Cの全てが符号化対象画像内に存在しない等、ブロックA〜Cの全ての動き情報を用いることができない場合には、ブロックDのみをブロックEの隣接ブロックとする。なお、以下では、符号化対象ブロックEの左のブロックDを「前ブロック」と呼ぶ。
ブロックB〜DをブロックEの隣接ブロックとした場合、ブロックEの動きベクトルは、ブロックB〜Dの各動きベクトルの水平成分及び垂直成分それぞれについての中央値(メディアン)を取り、求めたものである。なお、隣接ブロックの中に符号化モードがイントラモードであるマクロブロックがある場合、そのマクロブロックの動きベクトルは「0」であるとして、ブロックEの動きベクトルを算出する。
また、ブロックEのスキップモードにおける参照画像は、ブロックEを含む符号化対象画像の1つ前に表示される画像であり、参照画像番号は「0」である。
なお、参照画像番号は、表示順において符号化対象ブロックを含む符号化対象画像を基準にした参照画像の位置(相対位置)を示す番号であり、表示順が符号化対象画像から離れるほど、大きな参照画像番号が割り当てられる。
以下、実施の形態1に係る画像符号化装置について、図1を用いて具体的に説明する。
図1は、実施の形態1に係る画像符号化装置のパイプライン処理の流れを説明するための図である。
実施の形態1に係る画像符号化装置は、符号化対象画像について、マクロブロック毎に符号量が最小となる符号化モードを選択して、選択した符号化モードによりそのマクロブロックを符号化するものであり、符号化対象画像の左上のマクロブロックから水平方向に1行分処理して、次の行の処理に移り、右上のマクロブロックまで順に処理する。
同図に示すように、実施の形態1に係る画像符号化装置の処理は、第1ステージから第4ステージまでの4ステージパイプラインにより構成され、各タイムスロット(TS1、TS2、TS3、TS4、・・・)において各パイプラインステージにおける処理は並行して行われる。
以下、符号化対象画像において、n番目に処理を開始されるマクロブロック(MBn)に着目して、各パイプラインステージにおける処理の概要を説明する。
まず、第1ステージでは、MBnについてインターモードにより符号化する場合の動き情報の検出とスキップモードにより符号化する場合の動き情報の算出を並行して行う。
次に、第2ステージでは、MBnについて各符号化モードで符号化する場合の予測画像の生成と、各予測画像と原画像との差分情報の算出を並行して行い、符号量が最小となる符号化モードをMBnの符号化モードとして決定する。
次に、第3ステージ及び第4ステージでは、第2ステージで決定したMBnの符号化モードによりMBnを符号化し、符号化後の符号化ストリームを生成する。
ところで、第1ステージにおいて、MBnについてスキップモードにおける動き情報を算出するためには、MBnの前ブロックであるMBn−1の動き情報が必要となるが、MBn−1の符号化モードは第2ステージの処理の完了により決定する。
従って、MBnについての第1ステージにおける処理を開始する時点(TS1の開始時点)で、MBn−1は、第2ステージにおける処理を開始されようとしており、MBn−1の符号化モードは決定していない。即ち、MBn−1の動き情報は決定していない。
そのため、実施の形態1に係る画像符号化装置は、第1ステージにおいて、MBn−1の符号化モードを、上述した各符号化モード(イントラモードとインターモードとスキップモード)それぞれに仮定した場合のMBnのスキップモードにおける各動き情報(以下、「動き情報候補」という)を算出する。つまり、MBnのスキップモードにおける動き情報として3つの候補を算出する。
また、MBnについての第2ステージにおける処理を開始する時点(TS2の開始時点)では、MBn−1についての第2ステージにおける処理は完了しているため、MBn−1の符号化モードは決定している。
そのため、第2ステージでは、第1ステージにおいて算出したMBnのスキップモードにおける3つの動き情報候補から、決定したMBn−1の符号化モードに対応する動き情報を、MBnのスキップモードにおける動き情報として選択し、選択した動き情報に基づいてMBnのスキップモードにおける予測画像を生成し、生成した予測画像とMBnの原画像との差分情報を算出する。
また、上記処理と並行して第2ステージでは、MBnのイントラモード及びインターモードおける予測画像をそれぞれ生成し、各予測画像とMBnの原画像との差分情報をそれぞれ算出する。なお、MBnのインターモードにおける予測画像は、第1ステージにおいて検出した動き情報に基づいて生成する。
また、第2ステージでは、MBnについての各符号化モード(イントラモード、インターモード、スキップモード)における差分情報が算出されると、各符号化モードにおける差分情報から各符号化モードにおける符号量を算出して、最も符号量が小さくなる符号化モードを、MBnにおける符号化モードとして決定する。
このように、実施の形態1に係る画像符号化装置は、前ブロックの動き情報の決定を待つことなく符号化対象ブロックの処理を開始できるため、パイプラインによる符号化処理の高速化を維持しつつ、符号化対象ブロックについてスキップモードによる符号化が可能となるため、符号化量を抑えることができる。
<構成>
まず、実施の形態1に係る画像符号化装置100の構成について、図2を用いて説明する。
図2は、画像符号化装置100の機能構成図である。
同図に示すように、画像符号化装置100は、動き検出部101、動きベクトル投機算出部102、第1動き補償部103、動きベクトル決定部104、第2動き補償部105、イントラ予測部106、モード判定部107、直交変換部108、量子化部109、逆量子化部110、逆直交変換部111、加算部112、デブロックフィルタ部113、可変長符号化部114、DMAコントローラ115、外部メモリ116を含んで構成される。
また、画像符号化装置100は、図示していないが、CPU(Central Processing Unit)及び内部メモリを備え、上述の動き検出部101、動きベクトル投機算出部102、第1動き補償部103、動きベクトル決定部104、第2動き補償部105、イントラ予測部106、モード判定部107、直交変換部108、量子化部109、逆量子化部110、逆直交変換部111、加算部112、デブロックフィルタ部113、可変長符号化部114の各機能は、内部メモリに記憶されているプログラムをCPUに実行させることにより実現される。
また、本実施の形態では、動き検出部101の処理と動きベクトル投機算出部102の処理とが第1ステージに、第1動き補償部103の処理と動きベクトル決定部104の処理と第2動き補償部105の処理とイントラ予測部106の処理とモード判定部107の処理とが第2ステージに、直交変換部108の処理と量子化部109の処理と逆量子化部110の処理と逆直交変換部111の処理と加算部112の処理とが第3ステージに、デブロックフィルタ部113の処理と可変長符号化部114の処理とが第4ステージに相当するようパイプラインを構成している。なお、第1ステージの処理は、本発明における第1処理手段に相当し、第2ステージの処理は、本発明における第2処理手段と第3処理手段とに相当する。
動き検出部101は、符号化対象ブロックについてのインターモードにおける動きベクトルを検出し、検出した動きベクトルと動きベクトルの検出に用いた探索領域画像を示す参照画像番号とからなる動き情報を動きベクトル投機算出部102及び第1動き補償部103に送出する機能を有する。
具体的には、動き検出部101は、符号化対象ブロック(例えば、16×16画素のマクロブロック)の原画像と動きベクトルの探索対象である探索領域画像とをDMAコントローラ115を介して外部メモリ116から内部メモリ(図示しない)に読み出し、読み出した符号化対象ブロックの原画像と探索領域画像との間でブロックマッチングを行い、探索領域画像において、符号化対象ブロックの原画像と最も類似度が高いマクロブロックを見つけることにより、そのマクロブロックへの相対位置を示す動きベクトルを検出する。
なお、動きベクトルの検出に関し、小数画素精度(1/2画素精度、1/4画素精度)の動きベクトルの検出も可能であるが、説明の便宜上、整数画素制度の動きベクトルの検出を行うものとして説明する。
また、探索領域画像は、後述するデブロックフィルタ部113により外部メモリ116に格納されたデブロック処理後の復号画像であり、以下では、例えば表示順において、符号化対象ブロックを含む符号化対象画像の1つ前の画像に対する復号画像であるとして説明する。
動きベクトルを検出すると、動き検出部101は、検出した動きベクトルと探索領域画像を示す参照画像番号、つまり動き情報を動きベクトル投機算出部102及び第1動き補償部103に送出する。
動きベクトル投機算出部102は、符号化対象ブロックについてスキップモードにおける動き情報候補を算出し、算出した符号化対象ブロックの動き情報候補を動きベクトル決定部104に送出する機能を有する。
即ち、動きベクトル投機算出部102は、後述するモード判定部107により内部メモリに格納された、符号化対象ブロックの前ブロック以外の隣接ブロックの動き情報と、符号化モードが決定していない前ブロックが選択し得る全ての符号化モードに対する各動き情報に基づいて、符号化対象ブロックの動き情報候補を算出する。
以下、動き情報候補の算出について、具体的に説明する。なお、前ブロックの符号化モードによらず、参照画像番号は「0」である。
前ブロックの符号化モードがイントラモードであると仮定した場合、前ブロックの動きベクトルは0であるとして、前ブロックを含む隣接ブロックの動きベクトルから符号化対象ブロックの動きベクトルを算出する。以下、前ブロックがイントラモードであると仮定して算出した動き情報を「m1」と呼ぶ。
また、前ブロックの符号化モードがインターモードであると仮定した場合、動き検出部101から受領した前ブロックのインターモードにおける動きベクトルと、他の隣接ブロックの動きベクトルから符号化対象ブロックの動きベクトルを算出する。以下、前ブロックの符号化モードがインターモードであると仮定して算出した動き情報を「m2」と呼ぶ。
また、前ブロックの符号化モードがスキップモードであると仮定した場合、前ブロックについてもスキップモードにおける3つの動き情報候補を有することとなる。
そこで、動きベクトル投機算出部102は、後述するモード判定部107から受領した、前ブロックの左のマクロブロックに対して決定した符号化モードを示すモード情報を用いて、前ブロックのスキップモードにおける3つの動き情報候補から、前ブロックの左のマクロブロックに対して決定した符号化モードに対応する1つの動きベクトルを、前ブロックのスキップモードにおける動きベクトルとして選択し、選択した前ブロックのスキップモードにおける動き情報の動きベクトルと他の隣接ブロックの動きベクトルから符号化対象ブロックの動きベクトルを算出する。以下、前ブロックの符号化モードがスキップモードであると仮定して算出した動き情報を「m3」と呼ぶ。
なお、動きベクトル投機算出部102は、符号化対象ブロックに対して算出した動き情報候補(m1〜m3)を内部メモリに格納しておく。格納された動き情報候補(m1〜m3)は、次に処理されるマクロブロックに対してm3の動き情報を算出する際に使用される。
また、動きベクトル投機算出部102は、算出した動き情報候補(m1〜m3)が示す各参照画像を、DMAコントローラ115を介して外部メモリ116から内部メモリに読み出しておく。この参照画像は、第2動き補償部105の後述する符号化対象ブロックのスキップモードにおける予測画像の生成処理に使用される。
第1動き補償部103は、動き検出部101から受領した符号化対象ブロックのインターモードにおける動き情報に基づいて予測画像を生成し、予測画像と内部メモリに格納された符号化対象ブロックの原画像との差分情報を算出し、予測画像と差分情報と動き情報とをモード判定部107に送出する機能を有する。
予測画像の生成について、具体的には、動き検出部101から受領した参照画像番号が示す探索領域画像において、動きベクトルが示すブロックを予測画像とする。
動きベクトル決定部104は、後述するモード判定部107から受領したモード情報が示す前ブロックの符号化モードに対応する1つの動き情報を、動きベクトル投機算出部102から受領した符号化対象ブロックのスキップモードにおける3つの動き情報候補(m1〜m3)から選択し、選択した符号化対象ブロックのスキップモードにおける動き情報を第2動き補償部105へ送出する機能を有する。
例えば、前ブロックの符号化モードがインターモードに決定した場合には、符号化対象ブロックのスキップモードにおける動き情報としてm2を第2動き補償部105へ送出する。
第2動き補償部105は、動きベクトル決定部104から受領した、符号化対象ブロックのスキップモードにおける動き情報に基づいて予測画像を生成し、予測画像と内部メモリに格納された符号化対象ブロックの原画像との差分情報を算出し、予測画像と差分情報と動きベクトル決定部104から受領したスキップモードにおける動き情報をモード判定部107に送出する機能を有する。
予測画像の生成について、具体的には、動きベクトル決定部104から受領した動き情報が示す参照画像を予測画像とする。
イントラ予測部106は、符号化対象ブロックの隣接画素の画像を、DMAコントローラ115を介して外部メモリ116から内部メモリに読み出し、隣接画素の画素値に基づき、符号化対象ブロックのイントラモードにおける予測画像を生成し、予測画像と内部メモリに格納された符号化対象ブロックの原画像との差分情報を算出し、予測画像と差分情報と予測画像の生成に使用した予測モードを示す予測モード情報とをモード判定部107に送出する機能を有する。
なお、イントラ予測部106が外部メモリ116から読み出す隣接画素の画像は、後述する加算部112により外部メモリ116に格納された復号画像である。
モード判定部107は、第1動き補償部103から受領したインターモードにおける差分情報と第2動き補償部105から受領したスキップモードにおける差分情報とイントラ予測部106とから受領したイントラモードにおける差分情報とに基づき、符号量が最小となる符号化モードを符号化対象ブロックの符号化モードとして決定する機能を有する。なお、インターモードにより符号化する場合の符号量には、上述の差分情報だけでなく動き情報の符号量も考慮する。
また、モード判定部107は、決定した符号化モードを示すモード情報を動きベクトル投機算出部102と動きベクトル決定部104とに送出し、決定した符号化モードについての差分情報を直交変換部108に送出し、決定した符号化モードについての予測画像を加算部112に送出し、可変長符号化部114にモード情報と決定した符号化モードに応じた情報(インターモードに決定した場合の動き情報や、イントラモードに決定した場合の予測モード情報)を送出する。
なお、モード判定部107は、決定した符号化モードに対応する動き情報(インターモードにおける動き情報、又はスキップモードにおける動き情報)を内部メモリに格納する。
直交変換部108は、モード判定部107から受領した差分情報に対し離散コサイン変換等の直交変換処理を行い、処理結果である係数情報を量子化部109に送出する機能を有する。
量子化部109は、直交変換部108から受領した係数情報に対し量子化処理を行い、量子化した係数情報を逆量子化部110と可変長符号化部114に送出する機能を有する。
逆量子化部110は、量子化部から受領した量子化した係数情報に対し、逆量子化処理を行い、処理結果である係数情報を逆直交変換部111に送出する機能を有する。
逆直交変換部111は、逆量子化部110から受領した係数情報に対し、逆直交変換処理を行い、処理結果である差分情報を加算部112に送出する機能を有する。
加算部112は、モード判定部107から受領した予測画像と、逆直交変換部111から受領した差分情報とを加算し、符号化対象ブロックの復号画像を生成し、生成した復号画像をデブロックフィルタ部113へ送出すると共に、DMAコントローラ115を介して外部メモリ116に格納する機能を有する。
デブロックフィルタ部113は、加算部112から受領した復号画像に対し、デブロックフィルタによるブロック歪の除去処理(以下、「デブロック処理」という)を行い、デブロック処理後の復号画像を、DMAコントローラ115を介して外部メモリ116に格納する機能を有する。
可変長符号化部114は、量子化部109から受領した量子化した係数情報に対し可変長符号化処理や算術符号化処理を行い、処理後の符号化ストリームを、DMAコントローラ115を介して外部メモリ116に格納する機能を有する。なお、モード判定部107から受領したモード情報と決定した符号化モードに応じた情報は符号化ストリームにおけるヘッダの生成に使用される。
DMAコントローラ115は、各部からの外部メモリ116へのアクセス要求を調停し、外部メモリ116と内部メモリとの間のデータ転送を行う一般的なDMAコントローラである。
外部メモリ116は、各符号化対象ブロックと、加算部により格納された復号画像と、デブロックフィルタ部113により格納されたデブロック処理後の復号画像と、可変長符号化部114により格納された符号化ストリームとを記憶するDRAMなどで構成されたメモリである。
<動作>
次に、上記構成を備える画像符号化装置100の動作について、図3を用いて説明する。
図3は、画像符号化装置100の動作を示すフローチャートである。
以下では、画像符号化装置100の処理をパイプラインステージ毎に説明する。なお、第1ステージから第4ステージまでの各パイプラインステージは、異なるマクロブロックを処理対象として並列して処理する。
<第1ステージの動作>
まず、第1ステージでの画像符号化装置100の動作について説明する。第1ステージでは、以下説明する動き検出部101の処理(ステップS01〜03)と、動きベクトル投機算出部102の処理(ステップS04、05)とは、並行して実行される。
動き検出部101は、符号化対象ブロックの原画像と動きベクトルの探索対象である探索領域画像とを、DMAコントローラ115を介して外部メモリ116から内部メモリに読み出す(ステップS01、S02)。
動き検出部101は、探索領域画像から符号化対象ブロックの原画像と最も類似度が高いマクロブロックを探索して動きベクトルを検出し(ステップS03)、第1動き補償部103に検出した動きベクトルと探索領域画像を示す参照画像番号、つまり動き情報を送出する。
一方、動きベクトル投機算出部102は、符号化対象ブロックの前ブロックの符号化モードをイントラモードとインターモードとスキップモードとのそれぞれに仮定し、それぞれに仮定した場合の符号化対象ブロックの動き情報候補(m1〜m3)を算出し(ステップS04)、算出した動き情報候補(m1〜m3)を動きベクトル決定部104に送出する。
また、動きベクトル投機算出部102は、動き情報候補(m1〜m3)それぞれが示す参照画像を、DMAコントローラ115を介して外部メモリ116から内部メモリに読み出す(ステップS05)。
<第2ステージの動作>
次に、第2ステージでの画像符号化装置100の動作について説明する。
第2ステージでは、以下説明する第1動き補償部103の処理(ステップS06、07)と、動きベクトル決定部104及び第2動き補償部105の処理(ステップS08〜10)と、イントラ予測部106の処理(ステップS11、12)とは、並行して実行される。
第1動き補償部103は、動き検出部101から受領した動き情報に基づいてインターモードにおける符号化対象ブロックの予測画像を生成する(ステップS06)。
第1動き補償部103は、生成した予測画像と内部メモリに格納された符号化対象ブロックの原画像との差分情報を算出し(ステップS07)、算出した差分情報と、生成した予測画像と、動き検出部101から受領した動き情報とをモード判定部107に送出する。
また、動きベクトル決定部104は、動きベクトル投機算出部102から受領した動き情報候補(m1〜m3)から、モード判定部107から受領した前ブロックのモード情報が示す符号化モードに対応する動き情報を、符号化対象ブロックのスキップモードにおける動き情報として選択し(ステップS08)、選択した動き情報を第2動き補償部105に送出する。
第2動き補償部105は、動きベクトル決定部104から受領した動き情報に基づいてスキップモードにおける符号化対象ブロックの予測画像を生成する(ステップS09)。
第2動き補償部105は、生成した予測画像と内部メモリに格納された符号化対象ブロックの原画像との差分情報を算出し(ステップS10)、算出した差分情報と、生成した予測画像と動きベクトル決定部104から受領したスキップモードにおける動き情報をモード判定部107に送出する。
また、イントラ予測部106は、符号化対象ブロックの隣接画素の画像を、DMAコントローラ115を介して外部メモリ116から内部メモリに読み出し、隣接画素の画素値に基づき、符号化対象ブロックのイントラモードにおける予測画像を生成する(ステップS11)。
イントラ予測部106は、生成した予測画像と内部メモリに格納された符号化対象ブロックの原画像との差分情報を算出し(ステップS12)、算出した差分情報と、生成した予測画像と、予測モード情報とをモード判定部107に送出する。
モード判定部107は、第1動き補償部103と第2動き補償部105とイントラ予測部106からそれぞれ受領した差分情報に基づいて各符号化モード(インターモード、スキップモード、イントラモード)のうち、符号化量が最小となる符号化モードを、符号化対象ブロックの符号化モードとして決定する(ステップS13)。
モード判定部107は、決定した符号化モードを示すモード情報を動きベクトル投機算出部102と動きベクトル決定部104に、決定した符号化モードにおける差分情報を直交変換部108に、決定した符号化モードにおける予測画像を加算部112に、モード情報と決定した符号化モードに応じた情報(インターモードに決定した場合の動き情報や、イントラモードに決定した場合の予測モード情報)を可変長符号化部114に送出する。
<第3ステージの動作>
次に、第3ステージでの画像符号化装置100の動作について説明する。
直交変換部108は、モード判定部107から受領した差分情報に対して離散コサイン変換等の直交変換処理を行い、処理結果である係数情報を量子化部109に送出し(ステップS14)、量子化部109は、直交変換部108から受領した係数情報に対して量子化処理を行い、量子化した係数情報を逆量子化部110と可変長符号化部114に送出する(ステップS15)。
逆量子化部110は、量子化部から受領した量子化した係数情報に対して逆量子化処理を行い、処理結果である係数情報を逆直交変換部111に送出し(ステップS16)、逆直交変換部111は、逆量子化部110から受領した係数情報に対して逆直交変換処理を行い、処理結果である差分情報を加算部112に送出する(ステップS17)。
<第4ステージの動作>
次に、第4ステージでの画像符号化装置100の動作について説明する。
第4ステージでは、以下説明する加算部112とデブロックフィルタ部
113の処理(ステップS18〜20)と、可変長符号化部114の処理(ステップS21、22)とは、並行して実行される。
加算部112は、モード判定部107から受領した予測画像と、逆直交変換部111から受領した差分情報とを加算し、符号化対象ブロックの復号画像を生成し(ステップS18)、生成した復号画像をデブロックフィルタ部113へ送出すると共に、DMAコントローラ115を介して外部メモリ116に格納する。
デブロックフィルタ部113は、加算部112から受領した復号画像に対してデブロック処理を行い(ステップS19)、デブロック処理後の復号画像を、DMAコントローラ115を介して外部メモリ116に格納する(ステップS20)。
可変長符号化部114は、量子化部109から受領した量子化した係数情報に対し可変長符号化処理や算術符号化処理を行い(ステップS21)、処理後の符号化ストリームを、DMAコントローラ115を介して外部メモリ116に格納する(ステップS22)。
<考察>
以下、本実施の形態に係る画像符号化装置100が奏する効果について、特許文献1における画像符号化装置と比較して説明する。
特許文献1における画像符号化装置では、前ブロックの代わりに他の近傍ブロックの動き情報を用いて、符号化対象ブロックのスキップモードにおける動き情報を生成しているため、パイプラインによる符号化処理の高速化を維持することはできるが、後に決定した前ブロックの動き情報と近傍ブロックの動き情報とが相違する場合には、スキップモードによる符号化ができないという問題がある。
一方、画像符号化装置100は、符号化対象ブロックの前ブロックが選択し得る全ての動き情報に基づいて、符号化対象ブロックのスキップモードにおける動き情報候補を算出し、前ブロックの動き情報決定後に、算出した動き情報効果から、決定した前ブロックの動き情報に対応する1つの動き情報を、符号化対象ブロックのスキップモードにおける動き情報として選択する。
従って、パイプラインによる符号化処理の高速化を維持しつつ、各マクロブロックについて確実にスキップモードによる符号化が可能となるため、符号化量を削減することができる。
<実施の形態2>
<概要>
実施の形態1の動きベクトル投機算出部102は、前ブロックが選択しうる全ての符号化モード(イントラモード、インターモード、スキップモード)のそれぞれに対する各動き情報に基づいて、符号化対象ブロックのスキップモードにおける動き情報候補を全て算出し、各動き情報候補が示す全ての参照画像を取得するものである。
しかし、符号化対象ブロックのスキップモードにおける動き情報候補を全て算出し、各動き情報候補が示す全ての参照画像を取得するものとすると、動きベクトル投機算出部102の処理時間、特に参照画像の転送処理時間が大きくなり、また、全ての参照画像を格納するための大容量の内部メモリが必要となる。
そこで、実施の形態2の動きベクトル投機算出部は、前ブロックが選択し得る各符号化モードのうち、画質や符号化効率の向上に有効な符号化モード、具体的にはインターモードとスキップモードとに対する各動き情報のみに基づいて、符号化対象ブロックのスキップモードにおける動き情報候補を算出し、各動き情報候補が示す参照画像を取得する。
これにより、動きベクトル投機算出部の処理時間、特に参照画像の転送処理時間を抑え、また、内部メモリの容量を削減することができる。
<構成>
まず、実施の形態2に係る画像符号化装置200の構成について、図4を用いて説明する。
図4は、画像符号化装置200の機能構成図である。
同図に示すように、画像符号化装置200は、動き検出部101、第1動き補償部103、第2動き補償部105、イントラ予測部106、直交変換部108、量子化部109、逆量子化部110、逆直交変換部111、加算部112、デブロックフィルタ部113、可変長符号化部114、DMAコントローラ115、外部メモリ116、動きベクトル投機算出部201、確認部202、動きベクトル決定部203、モード判定部204を含んで構成される。
動きベクトル投機算出部201、確認部202、動きベクトル決定部203、モード判定部204以外については、実施の形態1に係る画像符号化装置100と同様であるため、説明は省略する。
また、画像符号化装置200は、図示していないが、CPU(Central Processing Unit)及び内部メモリを備え、上述の動きベクトル投機算出部201、確認部202、動きベクトル決定部203、モード判定部204の各機能は、内部メモリに記憶されているプログラムをCPUに実行させることにより実現される。
また、本実施の形態では、動きベクトル投機実行部401の処理は、第1ステージに、確認部202の処理と動きベクトル決定部203の処理とモード判定部204の処理とは、第2ステージに相当するようパイプラインを構成している。
動きベクトル投機算出部201は、基本的には、画像符号化装置100の動きベクトル投機算出部102と同様の機能を有するが、動き情報が決定していない前ブロックが選択し得る符号化モードのうち、インターモードとスキップモードとに対する各動き情報に基づいて、符号化対象ブロックの動き情報候補(m2、m3)を算出し、動きベクトル決定部203に送出すると共に、算出した動き情報候補(m2、m3)が示す各参照画像を、DMAコントローラ115を介して外部メモリ116から内部メモリに読み出しておく点で、動きベクトル投機算出部102とは異なる。
確認部202は、モード判定部204から受領した前ブロックのモード情報が示す符号化モードがインターモード又はスキップモードであるかを確認し、動きベクトル決定部203及びモード判定部204に確認結果を示す確認結果情報を送出する機能を有する。
動きベクトル決定部203は、基本的には、画像符号化装置100の動きベクトル決定部104と同様の機能を有するが、確認部202から受領した確認結果情報が示す確認結果が、前ブロックの符号化モードはインターモード又はスキップモードでない、即ちイントラモードである旨を示す場合に、符号化対象ブロックのスキップモードにおける動き情報の選択を行わない点で、ベクトル決定部104とは異なる。
モード判定部204は、基本的には、画像符号化装置100のモード判定部107と同様の機能を有するが、確認部202から受領した確認結果情報が示す確認結果が、前ブロックの符号化モードはインターモード又はスキップモードでない、即ちイントラモードである旨を示す場合に、スキップモード以外のモードを符号化対象ブロックの符号化モードとして決定する点で、モード判定部107とは異なる。
つまり、前ブロックの符号化モードがイントラモードである場合には、第1動き補償部103から受領したインターモードにおける差分情報とイントラ予測部106とから受領したイントラモードにおける差分情報とに基づき、インターモードとイントラモードとのうち符号量が小さくなる符号化モードを、符号化対象ブロックの符号化モードとして決定する。
<動作>
次に、上記構成を備える画像符号化装置200の動作について、図5を用いて説明する。
図5は、画像符号化装置200の動作を示すフローチャートである。同図に示すステップS01〜S22の処理は、図3に示す実施の形態1に係る画像符号化装置100の同符号の処理と同様であるため、説明は省略し、以下では、相違点のみについて説明する。
第1ステージにおいて、動き検出部101の処理(ステップS01〜03)と並行して、動きベクトル投機算出部201は、符号化対象ブロックの前ブロックの符号化モードをインターモードとスキップモードとのそれぞれに仮定し、それぞれに仮定した場合の符号化対象ブロックの動き情報候補(m2、m3)を算出し(ステップS31)、算出した動き情報候補(m2、m3)を動きベクトル決定部203に送出する。
また、動きベクトル投機算出部201は、動き情報候補(m2、m3)それぞれが示す参照画像を、DMAコントローラ115を介して外部メモリ116から内部メモリに読み出す(ステップS32)。
第2ステージにおいて、第1動き補償部103の処理(ステップS06、07)と、イントラ予測部106の処理(ステップS11、12)と並行して、確認部202は、モード判定部107から受領した前ブロックのモード情報が示す符号化モードがインターモード又はスキップモードであるか否かを確認し(ステップS33)、確認結果を示す確認結果情報を動きベクトル決定部203とモード判定部204とに送出する。
確認結果情報が、前ブロックの符号化モードはインターモード又はスキップモードである旨を示す場合には(ステップS33:Y)、動きベクトル決定部203は、モード判定部107から受領した前ブロックのモード情報が示す符号化モードに対応する動き情報を、動きベクトル投機算出部201から受領した動き情報候補(m2、m3)から符号化対象ブロックのスキップモードにおける動き情報として選択し(ステップS34)、選択した動き情報を第2動き補償部105に送出する。
第2動き補償部105は、実施の形態1で説明したように、スキップモードにおける符号化対象ブロックの予測画像の生成(ステップS09)と、符号化対象ブロックの予測画像と原画像との差分情報の算出(ステップS10)とを行い、算出した差分情報と、生成した予測画像と、動きベクトル決定部203から受領したスキップモードにおける動き情報とをモード判定部204に送出する。
確認結果情報が、前ブロックの符号化モードはインターモード又はスキップモードでない旨、即ちイントラモードである旨を示す場合には(ステップS33:N)、ステップS34、S09、S10の処理を行わず、以降説明するステップS35に進む。
モード判定部107は、受領している差分情報とに基づき、符号化量が最小となる符号化モードを、符号化対象ブロックの符号化モードとして決定する(ステップS35)。
つまり、前ブロックの符号化モードがインターモード又はスキップモードである旨を示す確認結果情報を確認部202から受領している場合には、第1動き補償部103と第2動き補償部105とイントラ予測部106とからそれぞれ差分情報を受領しているため、3つの差分情報に基づいて符号化対象ブロックの符号化モードを決定する。
一方、前ブロックの符号化モードがインターモード又はスキップモードでない旨、即ち、イントラモードである旨を示す確認結果情報を確認部202から受領している場合には、第2動き補償部105から差分情報を受領していないため、第1動き補償部103とイントラ予測部106とから受領した2つの差分情報に基づき、符号化対象ブロックの符号化モードを決定する。
<補足>
以上、本発明に係る画像符号化装置について実施の形態に基づいて説明したが、以下のように変形することも可能であり、本発明は上述した実施の形態で示した通りの画像符号化装置に限られないことは勿論である。即ち、
(1)各実施の形態において、動き検出部101が動き検出を行う際に用いる探索領域画像は、符号化対象ブロックを含む符号化対象画像の1つの前の画像に対する復号画像であるとして説明したが、1つ前の画像に対するもの限らず、複数枚前の画像に対する復号画像であってもよい。
また、探索領域画像は、符号化対象画像の1つの前の画像に対する復号画像全体であるとして説明したが、その一部であってもよい。例えば、符号化対象画像の1つの前の画像に対する復号画像において、符号化対象ブロックと同じ位置にあるブロックとその周囲15画素の範囲の画像としてもよい。
(2)各実施の形態においては、4ステージパイプラインにより処理を行うものとして説明したが、CPUの処理能力に応じて、例えば、実施の形態1における第3ステージと第4ステージとを1つのステージにするよう構成し、3ステージパイプラインにより処理することとしてもよい。
(3)実施の形態1における動きベクトル投機算出部102は、符号化対象ブロックのスキップモードにおける動き情報候補を算出するものとして説明したが、空間ダイレクトモードにおける動き情報候補を算出するものとしてもよい。
なお、スキップモードにおいては、前ブロックの符号化モードがいずれのモードであっても参照画像番号は「0」であるとして説明したが、空間ダイレクトモードの場合、L0、L1方向それぞれについて、隣接ブロックの各参照画像番号のうち、最小の参照画像番号を符号化対象ブロックの参照画像番号とする点でスキップモードの場合とは異なる。
ただし、隣接ブロックの参照画像番号が「−1」、即ち隣接ブロックの符号化モードがイントラモードである等の場合には、符号化対象ブロックの空間ダイレクトモードにおける参照画像番号は「0」となる。
なお、実施の形態2の動きベクトル投機算出部201においても同様に変形することが可能である。
(4)実施の形態2において、動きベクトル投機算出部201は、動き情報が決定していない前ブロックが選択し得る符号化モードのうち、インターモードとスキップモードとにおける各動き情報に基づいて、符号化対象ブロックの動き情報候補(m2、m3)を算出するものとして説明したが、これに限られるものではなく、例えば、イントラモードとスキップモードとに対する各動き情報に基づいて、符号化対象ブロックの動き情報候補(m1、m3)を算出するものとしてもよいし、スキップモードに対する動き情報のみに基づいて、符号化対象ブロックの動き情報候補(m3)を算出するものとしてもよい。
また、動きベクトル投機算出部201が算出する動き情報候補の個数に制限はなく、CPUの処理能力等に応じて決定することが可能である。
(5)各実施の形態において、イントラ予測部106の処理が第2ステージの処理に含まれるものとして説明したが、イントラ予測部106の処理は、第1ステージの処理に含まれるものとしてもよい。つまり、イントラ予測部106の処理は、モード判定部107(又は204)が符号化対象ブロックの符号化モードを決定するまでに、完了していればよい。
(6)実施の形態1において、動き検出部101、動きベクトル投機算出部102、第1動き補償部103、動きベクトル決定部104、第2動き補償部105、イントラ予測部106、モード判定部107、直交変換部108、量子化部109、逆量子化部110、逆直交変換部111、加算部112、デブロックフィルタ部113、可変長符号化部114の各機能は、内部メモリに記憶されているプログラムをCPUに実行させることにより実現するものとして説明したが、その処理の一部又は全部をハードウェアにより実現してもよい。
その際、各機能は、典型的には集積回路であるLSIとして実現されるが、これらは個別に1チップ化されても良いし、一部又は全てを含むように1チップ化されても良い。
なお、実施の形態2における動きベクトル投機算出部201、確認部202、動きベクトル決定部203、モード判定部204の各機能についても同様である。
(7)各実施の形態において、画像符号化装置の各機能を実現するためにCPUに実行させるプログラムを、記録媒体に記録し、又は各種通信路等を介して流通させ、頒布させることもできる。このような記録媒体には、ICカード、ハードディスク、光ディスク、フレキシブルディスク、ROM等がある。流通、頒布されたプログラムは、プロセッサに読み出され得るメモリ等に格納されることにより利用に供され、そのプロセッサがそのプログラムを実行することにより、各実施の形態で示したような画像符号化装置の各種機能が実現されるようになる。
(8)各実施の形態に係る画像符号化装置は、MPEG4AVC規格に準拠するものとして説明したが、他の圧縮符号化方式、例えばMPEG4等に準拠するものであってもよい。
本発明に係る画像符号化装置は、符号化処理の高速化を図るために利用される。
本発明の実施の形態1に係る画像符号化装置100のパイプライン処理の流れを説明するための図である。 本発明の実施の形態1に係る画像符号化装置100の機能構成図である。 本発明の実施の形態1に係る画像符号化装置100の動作を示すフローチャートである。 本発明の実施の形態2に係る画像符号化装置200の機能構成図である。 本発明の実施の形態2に係る画像符号化装置200の処理を示すフローチャートである。 符号化対象ブロックと隣接画素との関係を説明するための図である。 符号化対象ブロックと隣接ブロックとの関係を説明するための図である。
符号の説明
100、200 画像符号化装置
101 動き検出部
102、201 動きベクトル投機算出部
103 第1動き補償部
104、203 動きベクトル決定部
105 第2動き補償部
106 イントラ予測部
107、204 モード判定部
108 直交変換部
109 量子化部
110 逆量子化部
111 逆直交変換部
112 加算部
113 デブロックフィルタ部
114 可変長符号化部
115 DMAコントローラ
116 外部メモリ
202 確認部

Claims (10)

  1. 画像について、所定サイズのブロック単位で圧縮符号化する画像符号化装置であって、
    各ブロックを処理対象として逐次、当該ブロックの予測画像の候補を特定する予測画像候補特定情報を、当該ブロックの前に処理された前ブロックの予測画像候補特定情報に基づき生成する第1処理手段と、
    前記第1処理手段において1のブロックが処理されるのと並行して、当該第1処理手段による処理が完了したブロックについての予測画像を、当該ブロックの予測画像候補特定情報が示す予測画像の候補から、当該ブロックの前ブロックに対して選択された1つの予測画像を特定する予測画像特定情報に基づいて選択し、圧縮符号化結果に反映されるべき差分信号として、選択された1つの予測画像と原画像との差分信号を出力し、選択された1つの予測画像を特定する予測画像特定情報を生成する第2処理手段とを備える
    ことを特徴とする画像符号化装置。
  2. 前記画像符号化装置は、逐次入力される画像を圧縮符号化するものであり、
    各ブロックについて、当該ブロックの予測画像候補特定情報は、他の画像を探索することにより検出した動きベクトルに基づいて生成した予測画像の候補を特定する特定情報を含む
    ことを特徴とする請求項1記載の画像符号化装置。
  3. 各ブロックについて、当該ブロックの予測画像候補特定情報は、
    当該ブロックに対して所定位置にある前記前ブロックを含む複数の隣接ブロックの動きベクトルに基づいて生成した予測画像の候補を特定する特定情報を含む
    ことを特徴とする請求項1記載の画像符号化装置。
  4. 前記画像符号化装置は、更に
    各ブロックを処理対象として逐次、当該ブロックに対して所定位置にある画素の画素値に基づいて生成した予測画像の候補を特定する特定情報を前記予測画像候補特定情報に含ませる第3処理手段を備え、
    前記第2処理手段は、前記第1処理手段による処理が完了したブロックについての予測画像を、前記第3処理手段が前記特定情報を含ませた予測画像候補特定情報が示す予測画像の候補から選択する
    ことを特徴とする請求項1記載の画像符号化装置。
  5. 前記予測画像候補特定情報は、前記第2処理手段による処理が完了したブロックの予測画像特定情報にも基づいて生成したものである
    ことを特徴とする請求項1記載の画像符号化装置。
  6. 各ブロックについて、当該ブロックの予測画像候補特定情報は、当該ブロックの前ブロックの予測画像の候補の一部のみを特定する情報に基づいて生成したものである
    ことを特徴とする請求項1記載の画像符号化装置。
  7. 前記画像符号化装置は、第1ステージと第2ステージとの2つのパイプラインステージから構成されるパイプラインにより処理を行うものであり、
    前記第1処理手段は、各ブロックを処理対象として逐次、
    他の画像を探索することにより検出した当該ブロックの動きベクトルに基づいて生成した予測画像の候補を特定する特定情報を含む前記予測画像候補特定情報を生成する動き検出部と、
    当該ブロックに対して所定位置にある前記前ブロックを含む複数の隣接ブロックの動きベクトルに基づいて生成した予測画像の候補を特定する特定情報を前記予測画像候補特定情報に含める動きベクトル投機算出部とを含み、前記第1ステージの処理を実行するものであり、
    前記第2処理手段は、
    前記予測画像候補特定情報が示す予測画像の候補のうち、前記動きベクトル投機算出部が生成した特定情報が示す予測画像の候補を前記前ブロックについての予測画像特定情報に基づいて絞り込む動きベクトル決定部と、
    前記動きベクトル決定部が絞り込んだ予測画像の候補と、前記予測画像候補特定情報が示す予測画像の候補のうち、前記動き検出部が生成した特定情報が示す予測画像の候補とから、前記第1処理手段による処理が完了したブロックについての予測画像を選択し、圧縮符号化結果に反映されるべき差分信号として、選択された1つの予測画像と原画像との差分信号を出力し、選択された1つの予測画像を特定する予測画像特定情報を生成するモード判定部とを含み、前記第2ステージの処理を実行するものである
    ことを特徴とする請求項1記載の画像符号化装置。
  8. 画像について、所定サイズのブロック単位で圧縮符号化する画像符号化方法であって、
    各ブロックを処理対象として逐次、当該ブロックの予測画像の候補を特定する予測画像候補特定情報を、当該ブロックの前に処理された前ブロックの予測画像候補特定情報に基づき生成する第1処理ステップと、
    前記第1処理ステップにおいて1のブロックが処理されるのと並行して、当該第1処理ステップによる処理が完了したブロックについての予測画像を、当該ブロックの予測画像候補特定情報が示す予測画像の候補から、当該ブロックの前ブロックに対して選択された1つの予測画像を特定する予測画像特定情報に基づいて選択し、圧縮符号化結果に反映されるべき差分信号として、選択された1つの予測画像と原画像との差分信号を出力し、選択された1つの予測画像を特定する予測画像特定情報を生成する第2処理ステップとを含む
    ことを特徴とする画像符号化方法。
  9. 画像について、所定サイズのブロック単位で圧縮符号化する圧縮符号化処理をコンピュータに行わせるためのコンピュータプログラムであって、
    前記圧縮符号化処理は、
    各ブロックを処理対象として逐次、当該ブロックの予測画像の候補を特定する予測画像候補特定情報を、当該ブロックの前に処理された前ブロックの予測画像候補特定情報に基づき生成する第1処理ステップと、
    前記第1処理ステップにおいて1のブロックが処理されるのと並行して、当該第1処理ステップによる処理が完了したブロックについての予測画像を、当該ブロックの予測画像候補特定情報が示す予測画像の候補から、当該ブロックの前ブロックに対して選択された1つの予測画像を特定する予測画像特定情報に基づいて選択し、圧縮符号化結果に反映されるべき差分信号として、選択された1つの予測画像と原画像との差分信号を出力し、選択された1つの予測画像を特定する予測画像特定情報を生成する第2処理ステップとを含む
    ことを特徴とするコンピュータプログラム。
  10. 画像について、所定サイズのブロック単位で圧縮符号化する画像符号化用集積回路であって、
    各ブロックを処理対象として逐次、当該ブロックの予測画像の候補を特定する予測画像候補特定情報を、当該ブロックの前に処理された前ブロックの予測画像候補特定情報に基づき生成する第1処理手段と、
    前記第1処理手段において1のブロックが処理されるのと並行して、当該第1処理手段による処理が完了したブロックについての予測画像を、当該ブロックの予測画像候補特定情報が示す予測画像の候補から、当該ブロックの前ブロックに対して選択された1つの予測画像を特定する予測画像特定情報に基づいて選択し、圧縮符号化結果に反映されるべき差分信号として、選択された1つの予測画像と原画像との差分信号を出力し、選択された1つの予測画像を特定する予測画像特定情報を生成する第2処理手段とを備える
    ことを特徴とする画像符号化用集積回路。
JP2008516716A 2006-05-24 2007-05-23 画像符号化装置、画像符号化方法、及び画像符号化用集積回路 Pending JPWO2007136088A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2006143840 2006-05-24
JP2006143840 2006-05-24
PCT/JP2007/060516 WO2007136088A1 (ja) 2006-05-24 2007-05-23 画像符号化装置、画像符号化方法、及び画像符号化用集積回路

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2013154349A Division JP5617014B2 (ja) 2006-05-24 2013-07-25 画像符号化装置、及び画像符号化方法

Publications (1)

Publication Number Publication Date
JPWO2007136088A1 true JPWO2007136088A1 (ja) 2009-10-01

Family

ID=38723398

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2008516716A Pending JPWO2007136088A1 (ja) 2006-05-24 2007-05-23 画像符号化装置、画像符号化方法、及び画像符号化用集積回路
JP2013154349A Expired - Fee Related JP5617014B2 (ja) 2006-05-24 2013-07-25 画像符号化装置、及び画像符号化方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2013154349A Expired - Fee Related JP5617014B2 (ja) 2006-05-24 2013-07-25 画像符号化装置、及び画像符号化方法

Country Status (5)

Country Link
US (2) US20090110077A1 (ja)
EP (1) EP2026585A4 (ja)
JP (2) JPWO2007136088A1 (ja)
CN (2) CN101998120B (ja)
WO (1) WO2007136088A1 (ja)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100939917B1 (ko) * 2008-03-07 2010-02-03 에스케이 텔레콤주식회사 움직임 예측을 통한 부호화 시스템 및 움직임 예측을 통한부호화 방법
WO2009142021A1 (ja) * 2008-05-23 2009-11-26 パナソニック株式会社 画像復号化装置、画像復号化方法、画像符号化装置、及び画像符号化方法
JP2009290498A (ja) * 2008-05-29 2009-12-10 Renesas Technology Corp 画像符号化装置及び画像符号化方法
CN102224734B (zh) * 2008-10-02 2013-11-13 索尼公司 图像处理设备和方法
KR101377527B1 (ko) * 2008-10-14 2014-03-25 에스케이 텔레콤주식회사 복수 개의 참조 픽처의 움직임 벡터 부호화/복호화 방법 및장치와 그를 이용한 영상 부호화/복호화 장치 및 방법
US20120014451A1 (en) * 2009-01-15 2012-01-19 Wei Siong Lee Image Encoding Methods, Image Decoding Methods, Image Encoding Apparatuses, and Image Decoding Apparatuses
TWI463878B (zh) * 2009-02-19 2014-12-01 Sony Corp Image processing apparatus and method
KR101483750B1 (ko) * 2009-07-24 2015-01-19 삼성전자주식회사 영상의 부호화 방법 및 장치, 영상 복호화 방법 및 장치
JP5368631B2 (ja) * 2010-04-08 2013-12-18 株式会社東芝 画像符号化方法、装置、及びプログラム
US8988531B2 (en) * 2010-07-08 2015-03-24 Texas Instruments Incorporated Method and apparatus for sub-picture based raster scanning coding order
DK3661210T3 (da) * 2010-07-20 2023-09-11 Ntt Docomo Inc Fremgangsmåde til forudsigende billedafkodning
CN106713931B (zh) * 2010-09-30 2019-09-03 三菱电机株式会社 运动图像编码装置及其方法、运动图像解码装置及其方法
WO2012074344A2 (ko) * 2010-12-03 2012-06-07 엘지전자 주식회사 움직임 정보 리스트 인덱싱 방법 및 이러한 방법을 사용하는 장치
CN105245875B (zh) * 2011-06-30 2018-01-05 Jvc建伍株式会社 图像解码装置和图像解码方法
KR20140034292A (ko) 2011-07-01 2014-03-19 모토로라 모빌리티 엘엘씨 움직임 벡터 예측 설계 간소화
CN104041041B (zh) 2011-11-04 2017-09-01 谷歌技术控股有限责任公司 用于非均匀运动向量栅格的运动向量缩放
KR20130050407A (ko) 2011-11-07 2013-05-16 오수미 인터 모드에서의 움직임 정보 생성 방법
US20130208795A1 (en) * 2012-02-09 2013-08-15 Google Inc. Encoding motion vectors for video compression
US8908767B1 (en) 2012-02-09 2014-12-09 Google Inc. Temporal motion vector prediction
JP5938935B2 (ja) * 2012-02-21 2016-06-22 富士通株式会社 動画像符号化装置及び動画像符号化方法
WO2013136678A1 (ja) * 2012-03-16 2013-09-19 パナソニック株式会社 画像復号装置および画像復号方法
US9172970B1 (en) 2012-05-29 2015-10-27 Google Inc. Inter frame candidate selection for a video encoder
US11317101B2 (en) 2012-06-12 2022-04-26 Google Inc. Inter frame candidate selection for a video encoder
US9503746B2 (en) 2012-10-08 2016-11-22 Google Inc. Determine reference motion vectors
US9485515B2 (en) 2013-08-23 2016-11-01 Google Inc. Video coding using reference motion vectors
US9313493B1 (en) 2013-06-27 2016-04-12 Google Inc. Advanced motion estimation
US20150350688A1 (en) * 2014-05-30 2015-12-03 Apple Inc. I-frame flashing fix in video encoding and decoding
CN104601988B (zh) * 2014-06-10 2018-02-02 腾讯科技(北京)有限公司 视频编码器、方法和装置及其帧间模式选择方法和装置
US9854261B2 (en) * 2015-01-06 2017-12-26 Microsoft Technology Licensing, Llc. Detecting markers in an encoded video signal
JP6501532B2 (ja) * 2015-01-23 2019-04-17 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム
JP6329521B2 (ja) * 2015-04-09 2018-05-23 日本電信電話株式会社 参照画像バッファ
JP6078138B1 (ja) 2015-10-30 2017-02-08 Nttエレクトロニクス株式会社 動画像符号化装置及び動画像符号化方法
KR20180111378A (ko) * 2017-03-31 2018-10-11 주식회사 칩스앤미디어 병렬 처리를 위한 움직임 정보를 처리하는 영상 처리 방법, 그를 이용한 영상 복호화, 부호화 방법 및 그 장치
CN111050164B (zh) * 2018-10-15 2022-05-17 华为技术有限公司 一种编解码的方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000244925A (ja) * 1999-02-24 2000-09-08 Fuji Xerox Co Ltd 画像処理装置および画像処理方法
JP2005244503A (ja) * 2004-02-25 2005-09-08 Sony Corp 画像情報符号化装置および画像情報符号化方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4142180B2 (ja) * 1998-10-29 2008-08-27 富士通株式会社 動きベクトル符号化装置および復号装置
IL129345A (en) * 1999-04-06 2004-05-12 Broadcom Corp Video encoding and video/audio/data multiplexing device
US6934335B2 (en) * 2000-12-11 2005-08-23 Sony Corporation Video encoder with embedded scene change and 3:2 pull-down detections
CN1272967C (zh) * 2002-01-18 2006-08-30 株式会社东芝 视频编码方法和装置
JP2004007379A (ja) * 2002-04-10 2004-01-08 Toshiba Corp 動画像符号化方法及び動画像復号化方法
JP4193406B2 (ja) * 2002-04-16 2008-12-10 三菱電機株式会社 映像データ変換装置および映像データ変換方法
JP4363326B2 (ja) * 2002-07-15 2009-11-11 株式会社日立製作所 動画像復号化方法
KR101000609B1 (ko) * 2002-08-08 2010-12-10 파나소닉 주식회사 동화상의 부호화 방법 및 복호화 방법
AU2003284958A1 (en) * 2003-01-10 2004-08-10 Thomson Licensing S.A. Fast mode decision making for interframe encoding
US20040146108A1 (en) * 2003-01-23 2004-07-29 Shih-Chang Hsia MPEG-II video encoder chip design
JP2005005844A (ja) * 2003-06-10 2005-01-06 Hitachi Ltd 計算装置及び符号化処理プログラム
CN1225127C (zh) * 2003-09-12 2005-10-26 中国科学院计算技术研究所 一种用于视频编码的编码端/解码端双向预测方法
JP2005184233A (ja) * 2003-12-17 2005-07-07 Sony Corp データ処理装置およびその方法と符号化装置
JP4577048B2 (ja) * 2004-03-11 2010-11-10 パナソニック株式会社 画像符号化方法、画像符号化装置および画像符号化プログラム
US8111752B2 (en) * 2004-06-27 2012-02-07 Apple Inc. Encoding mode pruning during video encoding
CN100534193C (zh) * 2004-08-04 2009-08-26 松下电器产业株式会社 图像解码装置
JP4501631B2 (ja) * 2004-10-26 2010-07-14 日本電気株式会社 画像符号化装置及び方法、画像符号化装置のコンピュータ・プログラム、並びに携帯端末
US20060222074A1 (en) * 2005-04-01 2006-10-05 Bo Zhang Method and system for motion estimation in a video encoder

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000244925A (ja) * 1999-02-24 2000-09-08 Fuji Xerox Co Ltd 画像処理装置および画像処理方法
JP2005244503A (ja) * 2004-02-25 2005-09-08 Sony Corp 画像情報符号化装置および画像情報符号化方法

Also Published As

Publication number Publication date
CN101455087A (zh) 2009-06-10
JP2013258732A (ja) 2013-12-26
JP5617014B2 (ja) 2014-10-29
CN101998120B (zh) 2014-07-30
CN101998120A (zh) 2011-03-30
CN101455087B (zh) 2011-01-12
EP2026585A4 (en) 2016-08-31
EP2026585A1 (en) 2009-02-18
US20090110077A1 (en) 2009-04-30
US9667972B2 (en) 2017-05-30
WO2007136088A1 (ja) 2007-11-29
US20150085918A1 (en) 2015-03-26

Similar Documents

Publication Publication Date Title
JP5617014B2 (ja) 画像符号化装置、及び画像符号化方法
RU2697738C1 (ru) Способ прогнозирующего кодирования, устройство прогнозирующего кодирования и программа прогнозирующего кодирования вектора движения и способ прогнозирующего декодирования, устройство прогнозирующего декодирования и программа прогнозирующего декодирования вектора движения
JP6109170B2 (ja) 画像のシーケンスを符号化するための方法およびデバイス、および画像のシーケンスを復号するための方法およびデバイス
JP4338654B2 (ja) 動きベクトル検出装置及び方法、及びその動きベクトル検出装置を利用可能な画像符号化装置
JP4166781B2 (ja) 動きベクトル検出装置および動きベクトル検出方法
US8488678B2 (en) Moving image encoding apparatus and moving image encoding method
JP5216710B2 (ja) 復号化処理方法
JP2010016453A (ja) 画像符号化装置および方法、画像復号装置および方法、並びにプログラム
JP2006173808A (ja) 面内予測装置および面内予測方法
JP4606311B2 (ja) 画像符号化装置および画像符号化方法
US9596467B2 (en) Motion estimation device for predicting a vector by referring to motion vectors of adjacent blocks, motion estimation method and storage medium of motion estimation program
US20090310678A1 (en) Image encoding apparatus, method of controlling the same and computer program
TW201230820A (en) Predictive image coding device, predictive image coding method, predictive image coding program, predictive image decoding device, predictive image decoding method, and predictive image decoding program
US20160219274A1 (en) Image coding apparatus, image coding method and recording medium
JP2008182527A (ja) 画像符号化装置及び方法、並びに撮像システム
CN103517071B (zh) 图像编码设备和图像编码方法
JP5938935B2 (ja) 動画像符号化装置及び動画像符号化方法
JP4822940B2 (ja) 画像処理装置及び画像処理方法
JP4898415B2 (ja) 動画像符号化装置及び動画像符号化方法
JP4429996B2 (ja) 動画像符号化プログラム、動画像符号化方法および動画像符号化装置
CN107431821B (zh) 高效低复杂度视频压缩
JP6065090B2 (ja) 動画像復号装置、動画像復号方法、動画像復号プログラム
JP2000050278A (ja) 動きベクトル算出方法及び動きベクトル算出プログラムを記録した記録媒体
JP6825699B2 (ja) 動画像処理装置、動画像処理方法、及び、動画像処理プログラム
JP6311821B2 (ja) 動画像処理装置及び動画像処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120828

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121029

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130611

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20131015