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

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

Info

Publication number
JP4606311B2
JP4606311B2 JP2005335186A JP2005335186A JP4606311B2 JP 4606311 B2 JP4606311 B2 JP 4606311B2 JP 2005335186 A JP2005335186 A JP 2005335186A JP 2005335186 A JP2005335186 A JP 2005335186A JP 4606311 B2 JP4606311 B2 JP 4606311B2
Authority
JP
Japan
Prior art keywords
motion vector
image
global motion
global
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005335186A
Other languages
English (en)
Other versions
JP2007142907A (ja
Inventor
一人 西田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp 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
Priority to JP2005335186A priority Critical patent/JP4606311B2/ja
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to KR20067026951A priority patent/KR100843418B1/ko
Priority to US12/065,074 priority patent/US8300695B2/en
Priority to CNB2006800003639A priority patent/CN100571400C/zh
Priority to PCT/JP2006/300527 priority patent/WO2007057985A1/ja
Priority to EP06711807A priority patent/EP1954059A4/en
Priority to TW95115116A priority patent/TWI343217B/zh
Publication of JP2007142907A publication Critical patent/JP2007142907A/ja
Application granted granted Critical
Publication of JP4606311B2 publication Critical patent/JP4606311B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/527Global motion vector estimation
    • 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/57Motion estimation characterised by a search window with variable size or shape
    • 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
    • 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
    • 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/172Methods 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 picture, frame or field
    • 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/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/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/523Motion estimation or motion compensation with sub-pixel accuracy

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

本発明は、動きベクトルを用いて入力画像を符号化する際に、グローバル動きベクトルを利用する画像符号化装置の技術に関する。
従来、動画像の高効率符号化に際しては、主に以下の3つの画像変換を用いて動画像情報量を圧縮し符号化が行われている。すなわち画像内(空間)相関を利用した第一の画像変換、画像間(時間)相関を利用した第二の画像変換、そして符号の出現確率に応じた可変長符号化を利用した第三の画像変換である。その中で、時間相関を利用した第二の画像変換では、時間的に異なるフレーム(入力画像)間における画像の移動方向と移動量をマクロブロック単位で「動きベクトル」として検出し、そのマクロブロックの画素情報と動きベクトルの情報とによってフレームを表現することで動画像情報量を削減することができる。
しかし、この「動きベクトル」の検出処理において、マクロブロックの移動先(または移動元)となる別のフレーム内のブロックを探索しようとすると、例えばスポーツ映像など動き量の多い動画像ではその探索範囲を広く取る必要があり、従って、その演算量も膨大となる可能性があった。そこで、特許文献1では、現フレームの縮小画像を利用して、最初に画像全体でのグローバルな動きベクトルを検出し、そのグローバル動きベクトルを利用してマクロブロックの移動先サーチ(探索)範囲を絞り込んだうえで動きベクトルを検出する、という技術が開示されている。
図17に示すのは、このグローバル動きベクトルを利用した、マクロブロック単位の動きベクトル検出の別の一例を説明するための図である。この図(a)にあるように、まずは動きベクトルを検出したいマクロブロックαを含むさらに大きな(グローバル)マクロブロックα´におけるグローバル動きベクトル(1701)を、通常の動きベクトル検出と同様の処理にて検出する。すると、このグローバル動きベクトルで示されるグローバルマクロブロックα´の移動先を含む所定の範囲内にマクロブロックαの移動があると考えることができる。したがって、図(b)で示す範囲βをマクロブロックαの動きベクトルの探索範囲として演算することで、探索範囲を無駄に広げずにマクロブロックαの動きベクトル(1702)を検出することができる、という具合である。
WO00/05899号
しかし、第二の画像変換に用いられる上記グローバル動きベクトルの検出処理では、そのグローバル動きベクトルの検出器が、第一の動画像変換技術である空間相関を利用した画像変換器などと同一のチップ上に配置されているため、以下のような2つの課題がある。第一に、グローバル動きベクトルを検出する際に参照する参照先のフレームが、必ずしも正確な入力画像と一致していない可能性がある、という課題である。なぜならば、その参照先フレームは、空間相関を利用して、DCT(離散コサイン変換)変換で得られた高周波成分を排除したり、量子化により余りを切り捨てたりして非可逆変換され符号化されたデータを逆変換することで再現された画像であるため、完全に元フレームと同じ画像にはなっていないことがあるからである。そのため、そのように不正確に再現された参照フレームを参照して検出されたグローバル動きベクトルに誤差が生じる可能性がある、ということである。
また、従来には、画像の高効率符号化に際しグローバル動きベクトルを検出する必要の無いような場合でもグローバル動きベクトルの検出処理が行われてしまう、という第二の課題もある。これは例えば1920×1080画素のハイビジョン画像で構成されている動画像では、その画素単位での動き量は最大で横方向に1920、縦方向に1080(半画素単位ではその2倍の動き量)であり、その探索範囲も広く取る必要がある。一方、320×240画素で構成されている動画像では、その画素単位での動き量は最大で横方向に320、縦方向に240であり、上記と同じ動きの動画像であっても、その画素(あるいは半画素、1/4画素など)単位での動き量探索範囲は上記に比べて狭くてすむ。あるいは、ニュースのスタジオ映像とスポーツ映像とではその平均的な動き量は格段に異なる、という具合に映像種類などによってもその探索範囲に違いが生じる可能性が高い。従って、上記動画像の画像サイズやその動画内容などによっては、グローバル動きベクトルの検出処理を行わず、通常のマクロブロック単位での動きベクトル検出のみでもその演算量は比較的少なくて済む場合がある、ということである。
以上の課題を解決するために、本発明は、入力画像を、動きベクトルを用いて符号化する符号化装置において、DCT変換後の高周波成分除去や量子化による余りの切捨てなどや、可変長符号化を利用した画像変換器の外部にグローバル動きベクトル検出器を備えた画像符号化装置を提供する。このような構成をとることにより、本発明は、非可逆圧縮される前の入力画像を利用してグローバル動きベクトルを検出することができる。また、グローバル動きベクトル検出器が画像変換器の外部にあるため、画像変換に際してそのグローバル動きベクトル検出器を利用するか否かの切替えも容易に行うことができる。なお「外部に備える」とはハードウェア構造が物理的に別個である構成のほか、同一のハードウェアがソフトウェア処理上で外部的に取り扱われるような構成であっても良い。
このように、非可逆圧縮される前の入力画像を利用してグローバル動きベクトルを検出することができるので、参照先画像の再現誤差を原因とするグローバル動きベクトルの誤検出を無くすことができる。また、動画像の符号化に際してそのグローバル動きベクトル検出機構を利用するか否か、を、その状況などに応じて容易に切替えることができるので無駄な演算処理を省くことができる。
以下に、図を用いて本発明の実施の形態を説明する。なお、本発明はこれら実施の形態に何ら限定されるものではなく、その要旨を逸脱しない範囲において、種々なる態様で実施しうる。なお、実施例1は、主に請求項1、5について説明する。また、実施例2は、主に請求項2、6について説明する。また、実施例3は、主に請求項3、7について説明する。また、実施例4は、主に請求項4、8について説明する。
≪実施例1≫ <実施例1の概要> 図1に示すのは、本実施例の画像符号化装置を実装した装置の一例(ここではテレビチューナ付画像符号化ボード)を表す概略図である。この図にあるように、本実施例の画像符号化装置は、DCT演算や空間周波数の高周波成分除去、量子化、可変長符号化、あるいは動きベクトルを用いた符号化などの演算処理を行い画像変換処理を行う第一変換処理チップの外部に、グローバル動きベクトルを検出しサーチ範囲を決定する第二のグローバル動きベクトル検出チップを別個に備える画像符号化ボードである。したがって、本発明の画像符号化装置においては、グローバル動きベクトル検出チップでの検出処理に際し、第一変換チップで非可逆圧縮され逆変換された入力画像ではなく、テレビチューナ(画像入力器)から入力された入力デジタル画像を直接参照利用することができる。
<実施例1の構成> 図2に示すのは、本実施例の画像符号化装置における機能ブロックの一例を表す図である。この図にあるように、本実施例の「画像符号化装置」(0200)は、動きベクトルを用いて入力画像を符号化する符号化装置であって、そのために「第一チップ」(0210)と、「第二チップ」(0220)と、が別個に配置されている。そして、第一チップは、「変換処理部」(0211)と、「逆変換処理部」(0212)と、「第一検出部」(0213)と、を有している。また、第二チップは「第二検出部」(0221)と、「サーチ範囲決定部」(0222)と、を有し相互に独立して処理を行うことを可能としている。なお本発明は、前述のように第一チップと第二チップとが物理的に別個である構成のほか、同一のハードウェアチップがソフトウェア処理上で別個に取り扱われるような構成などであっても良い。
また、以下に記載する本装置の機能ブロックは、ハードウェア、ソフトウェア、又はハードウェア及びソフトウェアの両方として実現され得る。具体的には、コンピュータを利用するものであれば、CPUや主メモリ、バス、あるいはハードディスクや不揮発性メモリなどの記憶装置、CD−ROMやDVD−ROMなどの記憶メディア、それらメディアの読取ドライブ、各種通信や印刷機器用の送受信ポート、その他の周辺装置などのハードウェア構成部や、それらハードウェアを制御するためのドライバプログラムやその他アプリケーションプログラム、情報入力に利用されるインターフェースなどが挙げられる。そして、これらハードウェアやソフトウェアは、メモリ上に展開したプログラムをCPUで順次演算処理したり、メモリやハードディスク上に保持されているデータや、インターフェースを介して入力されたデータなどを加工、蓄積、出力処理したり、あるいは各ハードウェア構成部の制御を行ったりするために利用される。また、この発明は装置として実現できるのみでなく、方法としても実現可能である。また、このような発明の一部をソフトウェアとして構成することができる。さらに、そのようなソフトウェアをコンピュータに実行させるために用いるソフトウェア製品、及び同製品を記録媒体に固定した記録媒体も、当然にこの発明の技術的な範囲に含まれる(本明細書の全体を通じて同様である)。
「変換処理部」(0211)は、入力画像に対し、画像の高効率符号化のための変換処理を行う機能を有する。「画像の高効率符号化のための変換処理」とは、例えば上記画像内(空間)相関を利用した第一の画像変換、画像間(時間)相関を利用した第二の画像変換、そして符号の出現確率に応じた可変長符号化を利用した第三の画像変換、などによる画像の変換処理が挙げられる。そして、上記空間相関を利用した第一の画像変換に際しては、例えば一枚の入力画像の空間周波数を直交変換するためのDCT変換(離散コサイン変換)処理やそのDCT変換処理によって得られた画像の高周波成分の除去処理、あるいはそのDCT変換後の画素ブロックの係数をある除数で除し、その余りを切り捨て商のみでDCT係数を表現する量子化などの処理が行われる。また、後述する第二検出部にて検出されたグローバル動きベクトルを利用した動きベクトルの検出や、その動きベクトルを利用したフレーム間予測による第二の画像変換処理もこの変換処理部にて行われる。
「逆変換処理部」(0212)は、変換処理部(0211)にて変換処理された入力画像の高効率符号化データを逆変換し画像として再現する機能を有する。逆変換処理とは、変換処理部での処理がDCT変換処理であれば逆DCT変換処理、量子化処理であれば逆量子化処理などが挙げられる。ただし動画データの高効率符号化のための変換処理として一般的な高周波成分除去を行うDCT変換処理や量子化処理は非可逆変換処理であるため、この逆変換処理部での逆DCT変換処理、逆量子化処理では入力画像が正確には再現されないことになる。そのためグローバル動きベクトルを検出する際に、この逆変換され正確に再現されていない画像が用いられるとグローバル動きベクトルの検出精度も落ちてしまう可能性がある。そこで、本発明では以下に説明するように、グローバル動きベクトル検出に際してこの逆変換処理部で逆変換処理され(不正確に)再現された入力画像は利用しない。
「第一検出部」(0213)は、入力画像中の所定サーチ範囲を変換−逆変換処理画像のマクロブロック単位でサーチして動きベクトルを検出する機能を有する。「所定サーチ範囲」とは、後述する第二検出部で検出されたグローバル動きベクトルに基づいてサーチ範囲決定部によって決定された、動きベクトルの検出処理のためのサーチ範囲をいう。なお、この所定サーチ範囲の決定処理については、後述の第二検出部およびサーチ範囲決定部において説明する。また、「変換−逆変換処理画像」とは、変換処理部(0211)にて変換処理された入力画像の符号化データを、逆変換処理部(0212)にて逆変換処理し再現された画像のデータを言う。
図3に示すのは、入力画像と、その入力画像の変換−逆変換画像と、の一例を表す概略図である。この図にあるように、画像の空間相関を利用した変換では、図(a)に示す例えばチェスの盤目のように白から黒へと言う具合に隣接画素が急激に変化するなどの画像で効率的な変換を行うことが困難である。したがって、圧縮効率を高く設定していると、入力画像の変換処理後に逆変換処理した場合、図(b)に示すように、その盤目の輪郭部などが正確に復元されない、という可能性がある。すると時間相関を利用した第二の画像変換処理のため動きベクトルを検出する際に、動きの参照先としてこの正しく再現されていない入力画像が用いられると、その入力画像の再現誤差の大きさによっては動きベクトルの検出精度も落ちてしまうことになる。そして、従来の画像符号化装置では、グローバル動きベクトルを検出するための第二検出部もこの第一チップに配置されているため、グローバル動きベクトルの検出においても同様の検出精度低下の問題があった。そこで、本実施例では、上記「所定サーチ範囲」を決定するための第二検出部でのグローバル動きベクトルの検出を、入力画像を直接利用して行えるように以下のような構成をとる。すなわち、上記変換処理部、逆変換処理部、第一検出部が配された第一チップとは別個に設けられた第二チップに配置することを特徴としている。
「第二検出部」(0221)は、グローバルマクロブロック単位で入力画像間でのグローバル動きベクトルを検出する機能を有する。「グローバルマクロブロック」とは、第一検出部での動きベクトルの検出単位であるマクロブロックよりも大きなブロックをいうが、その大きさは適宜設計により設定可能であって構わない。そして、このグローバルマクロブロック単位で検出されたグローバル動きベクトルが、前述の第一検出部での動きベクトル検出のためのサーチ範囲を決定するために利用されることになる。
図4に示すのは、グローバル動きベクトルの検出処理の一例について説明するための概念図である。ここで、図にあるように、例えばフレーム(入力画像)2のマクロブロックαがフレーム1ではどこに移動しているかを前述の第一検出部で探索するための、この第二検出部でのグローバル動きベクトルの検出処理について説明する。そのために、まず、第一検出部にて動きベクトルを検出する入力画像の識別情報「フレーム2」と、そのマクロブロックαの座標情報、およびその動き先探索のための参照用入力画像の識別情報「フレーム1」が第一チップから第二チップへと送信される。第二チップでは、受信したそれら識別情報や座標情報などに基づき、この図(a)にあるように、まずフレーム2におけるマクロブロックαを含むグローバルマクロブロックであるα´を特定する。そしてそのグローバルマクロブロックα´のフレーム1での動き先を探索する。そこでサーチ範囲としてフレーム1の画像全体のβ´をサーチ範囲とし、その範囲内にあるグローバルマクロブロックと同サイズのブロックγ´1とグローバルマクロブロックα´との相関係数を求める。具体的には、例えばα´を構成する画素とγ´1を構成する画素の、対応画素間での差分の絶対値の総和を求める。つまりこの相関係数が小さいほどα´とγ´1の画像を構成する画素が類似していると言える。そして、「α´とγ´2」、「α´とγ´3」、・・・・・「α´とγ´X」という具合に探索範囲β´内を所定の画素単位で動かしながらサーチし、それぞれのブロックとの相関係数を算出する。そしてその中から最も小さい相関係数をとるブロックを、グローバルマクロブロックα´のフレーム1における移動先γ´と特定する。なお、この相関係数を算出するための参照先の入力画像のブロックγ´1、γ´2、・・・は、グローバルマクロブロックと同一のサイズを持つブロックを、その探索範囲内で所定の画素単位で移動させることで得られるブロックである。そして、グローバルマクロブロックα´の移動先γ´への移動方向と移動量からグローバル動きベクトルが検出される、という具合である。ここで、所定の画素単位とは1画素・半画素・1/4画素、あるいは2画素・4画素などを示し、システム仕様上要求される演算量とベクトルの検出精度に従って値が規定されると良い。もちろん上記のように探索範囲内のブロック全ての相関係数を演算する検出処理は一例であり、演算負荷を下げるため任意の3つのブロックの相関係数を求め、その大小関係から移動先のブロックを絞り込んでいく、いわゆるログサーチと呼ばれる処理などでグローバル動きベクトルを検出しても構わない。また、グローバルベクトルを検出する入力画像としては符号化の対象となる原画像のほかに、原画像を縮小した画像であっても良く、その縮小比率はシステム仕様上で要求される演算の処理量・メモリ容量・画像サイズなどに従って適宜設定される。
そして本実施例の特徴は、この相関係数を求めるための参照先となるフレーム「1」が、DCTや量子化などによる変換後に逆変換された画像ではない点である。そのため正確な入力画像での比較を行うことができ、ひいては正確なグローバル動きベクトルを検出することができることになる。
「サーチ範囲決定部」(0222)は、第二検出部(0221)で検出されたグローバル動きベクトルを利用して、第一検出部で行うサーチのサーチ範囲を決定する機能を有する。このサーチ範囲の決定は、例えば検出されたグローバル動きベクトルで示される移動先を中心とする所定の範囲をサーチ範囲と決定する方法や、第二検出部で検出されたグローバルマクロブロックの移動先とされるブロックそのもの、あるいはそのブロックを所定倍率分広くしたブロックをサーチ範囲と決定する方法などが挙げられる。
そして、このようにして従来技術と比較してより正確なグローバル動きベクトルに基づいて決定されたサーチ範囲を示す情報が第一検出部に送信され、第一検出部ではその受信したサーチ範囲内でマクロブロック単位の動きベクトルの検出を行うことができる。したがって、第一検出部での動きベクトル検出処理において、そのマクロブロックの移動先探索範囲を限定することができるので、装置全体での処理負荷を抑えることができる。なお、このサーチ範囲決定部は、第二チップではなく第一チップに備えられていても構わない。第二検出部さえ第一チップとは別個のチップに備えられていれば、従来と比べて正確なグローバル動きベクトルを検出することが可能だからである。
<実施例1のハードウェア構成例> 図5に示すのは、本実施例の画像符号化装置におけるハードウェア構成の一例を表す概略図である。この図を利用してグローバル動きベクトルの検出処理におけるそれぞれのハードウェア構成部の働きについて説明する。なお、ここでは例として、常に1フレーム前の画像を参照フレームとし、またグローバルベクトルを検出する画像は、符号化対象の入力画像のままで縮小など処理を行わないものとして説明する。この図にあるように、本実施例の画像符号化装置は、第一検出部、変換処理部、および逆変換処理部の機能を備える「第一変換チップ」(0501)と、第二検出部、およびサーチ範囲決定部の機能を備える「第二変換チップ」(0502)とが、「演算器」と「主メモリ」とをそれぞれ備え、個別に配置されている点を特徴としている。また高効率符号化の対象となる画像を入力する「画像入力手段」(0503)や、その入力画像を格納する「ビデオメモリ」(0504)、変換チップによって符号化された画像を記憶装置などに出力する「出力手段」(0505)も備えている。そしてそれらがバスなどのデータ通信経路によって相互に接続され、情報の送受信や処理を行う。
また、「ビデオメモリ」は、第一変換チップと第二変換チップとで共用されても良いし、それぞれが別個にビデオメモリを有していても良い(図面は共用のビデオメモリを記載)。また第一および第二変換チップ内のそれぞれの「主メモリ」は、演算器で実行するプログラムの作業領域であるワーク領域と、そのプログラムによって処理するためのデータを格納するデータ領域とを提供する。そして、この「ビデオメモリ」や「主メモリ」には複数のメモリアドレスが割り当てられており、「演算器」で実行されるプログラムは、そのメモリアドレスを特定しアクセスすることで相互にデータのやりとりを行い、処理を行うことが可能になっている。
ここで、「画像入力手段」から高効率符号化の対象となる画像が入力される。ここでの入力画像は、例えばテレビチューナにて受信したアナログ放送波を無圧縮で符号化した動画像データや、デジタルビデオカメラで撮影した無圧縮の符号化動画像データなどさまざまであって良い。あるいは高効率符号化された動画像データを展開した符号化動画像であっても良い。そして、ここで入力された動画を構成する画像がシステムバスを介しビデオメモリの所定のメモリアドレスに、例えばメモリアドレスAに入力画像1(動画像データの最初のフレーム)、メモリアドレスBに入力画像2(動画像データの2番目のフレーム)、・・・という具合に格納される。
そして、まず、第二変換チップのグローバル動きベクトル検出プログラムが演算器2により実行され、入力画像2の各グローバルマクロブロックの入力画像1に対するグローバル動きベクトルが検出される。そのために、例えば予め設定されたグローバルマクロブロックの画素サイズを示す情報などに基づいてグローバル動きベクトルの検出対象となるグローバルマクロブロックα´の座標情報が順次特定され、主メモリ2のメモリアドレスdに格納される。そして、前述の相関係数を算出するため、グローバルマクロブロックの画素情報の取得が行われる。具体的には、メモリアドレスaに格納された入力画像の識別情報「2」と、メモリアドレスdに格納されたグローバルマクロブロックの座標情報と、に基づいて、「ビデオメモリに格納されている入力画像「2」のグローバルマクロブロックα´内の画素情報を、それぞれの画素識別情報と関連付けて主メモリ2に格納せよ」という具合の命令が演算器2より送出され実行される。
また、同様に入力画像「1」のブロック(前述の例ではγ´1、γ´2、・・・・γ´X)の座標情報の特定、およびその特定に基づく画素情報の取得、及び主メモリ2への格納も行われる。続いて、「画素識別情報に基づいて「α´とγ´1」の対応する画素の差分値をとり、その絶対値の総和を演算し、その演算結果(相関係数)を、演算対象となる入力画像「1」のブロックの識別情報と関連付けて主メモリ2のメモリアドレスeに格納せよ」とのプログラム命令に従い、演算器での演算、および演算結果のメモリアドレスeへの格納が実行される。また、同様の演算処理が「α´とγ´2」、「α´とγ´3」、・・・「α´とγ´X」に関しても実行され、その演算結果が主メモリのメモリアドレスf、g、・・・xに格納される。
つづいてプログラムの命令、「主メモリ2のメモリアドレスe,f,g、・・・xにそれぞれ格納されている演算結果(相関係数)の大小比較を行い、最小となる相関係数を特定せよ」、にしたがい、演算器2の演算処理による大小比較が実行されその最小を取る相関係数が特定される。そして、「特定された相関係数をとるブロックの識別情報を取得し、主メモリのメモリアドレス10に格納せよ」との命令にしたがい、その相関係数と関連付けられたブロックの識別情報が、グローバルマクロブロック「α´」の、フレーム1における動き先ブロックを示す識別情報「γ」として取得され、主メモリ2のメモリアドレス10に格納される。そして「グローバルマクロブロックと動き先として特定されたブロックの中心座標の情報からグローバル動きベクトルを算出し主メモリ2のメモリアドレス11に格納せよ」といった命令に従い、それぞれの中心点の座標情報から演算器2の演算によりグローバル動きベクトルが算出され、主メモリ2のメモリアドレス11に格納される。そして、この操作をフレーム2の全体のグローバルマクロブロックについて行い、フレーム2のフレーム1に対するグローバル動きベクトルテーブルを作成する。さらに、フレーム3が入力されたときは、以上の処理をフレーム2との間で行い、フレーム3のフレーム2に対するグローバル動きベクトルテーブルを作成する、という具合である。
つづいて、上記作成されテーブルとしてメモリなどに保持されているグローバル動きベクトルを利用したマクロブロックでの動きベクトルの検出処理が行われる。そのために第一変換チップの演算器1の演算処理によって第一の画像変換、すなわち入力画像1のDCT変換処理や量子化処理などが行われる。次に入力画像2のDCT変換処理や量子化処理などが行われるが、その際に、例えば動きベクトルの検出対象となるフレーム(入力画像)の識別情報「2」とマクロブロックαの識別情報やその座標情報、また動きベクトル検出の際の参照先となるフレームの識別情報「1」とが特定され、それら識別情報がシステムバスなどを介し第二変換チップへと送信される。
続いてこのようにして送信された識別情報や座標情報が主メモリのメモリアドレスb、cなどに格納され、それら情報をキーとして、CPUによりグローバル動きベクトルテーブルの検索処理が実行される。そして、その検索の結果、フレーム2のグローバルマクロブロック「α´」におけるフレーム1へグローバル動きベクトルがグローバル動きベクトルテーブルから読み出され、そのグローバル動きベクトルに基づいて所定サーチ範囲の算出処理が行われる。そしてその算出された所定サーチ範囲を示す情報などがバスなどを介し第一変換チップに送信される。
そして第一チップでは、受信した所定サーチ範囲内で、マクロブロック「α」の動きベクトルの検出処理が行われ、検出された動きベクトルに基づいて入力画像の高効率符号化を行う、という具合である。なお、それぞれのチップの演算器1および演算器2が物理的に別個の演算器である場合、それぞれで処理される情報がバスなどの情報送受信経路上でコンフリクトしないようにその情報の流れ順などが制御器などよって制御される構造になっていると良い。
<実施例1の処理の流れ> 図6に示すのは、本実施例の画像符号化装置の第二チップにおける処理の流れの一例を表すフローチャートである。なお、以下に示すステップは、媒体に記録され計算機を制御するためのプログラムを構成する処理ステップであっても構わない。この図にあるように、まず、第二チップにて、変換処理前の入力画像の各グローバルマクロブロックにおけるグローバル動きベクトルをそれぞれ検出し、グローバル動きベクトルテーブルを作成する(ステップS0601)。つづいて、第一チップでの動きベクトル検出処理における検出対象の入力画像や参照先となる入力画像、またマクロブロックの座標などを特定するための情報を、第二チップにて取得する(ステップS0602)。次に、第二チップにて、前記取得した特定情報に基づいて前記グローバル動きベクトルテーブルを参照し、動きベクトルの検出対象となるマクロブロックを含むグローバルマクロブロックのグローバル動きベクトルを取得し(ステップS0603)、そのグローバル動きベクトルに基づいて第一チップでの動きベクトル検出のためのサーチ範囲を決定する(ステップS0604)。そして、第一チップにおいて、前記決定されたサーチ範囲内で前記検出対象のマクロブロックにおける動きベクトルを検出する(ステップS0605)。
<実施例1の効果の簡単な説明> 以上のように、本実施例の画像符号化装置によってグローバル動きベクトル検出チップでの検出処理に際し、非可逆圧縮され逆変換された入力画像ではなく、入力画像を直接参照利用することができる。したがって、参照先画像の再現誤差を原因とするグローバル動きベクトルの誤検出を無くすことができ、従来よりも正確なグローバル動きベクトルの検出を可能とすることができる。
≪実施例2≫ <実施例2の概要> 画像間での動き量の少ない動画、例えばニュースのスタジオ画像など、ではグローバル動きベクトルを利用しなくても演算量を抑えることができる可能性が高い。そこで本実施例の画像符号化装置では、実施例1を基本として、そのような状況に応じてグローバル動きベクトルを利用するか否かの判断を行う機能をさらに有する。このように判断処理によってグローバル動きベクトルを利用せずに動きベクトルを用いて入力画像を符号化することは、その動きベクトルを用いた画像符号化チップの外部に第二検出部を配置することで容易に可能とすることができる。
<実施例2の構成> 図7に示すのは、本実施例の画像符号化装置における機能ブロックの一例を表す図である。この図にあるように、本実施例の「画像符号化装置」(0700)は、実施例1を基本として、「第一チップ」(0710)と、「第二チップ」(0720)と、が別個に配置されている。そして、第一チップは、「変換処理部」(0711)と、「逆変換処理部」(0712)と、「第一検出部」(0713)と、を有している。また、第二チップは「第二検出部」(0721)と、「サーチ範囲決定部」(0722)と、を有し相互に独立して処理を行うことを可能としている。なお、これら機能ブロックについては実施例1においてすでに記載済みであるのでその説明は省略する。そして本実施例の画像符号化装置の特徴点は、さらに「グローバル動きベクトル利用判断部」(0730)を有している点である。
「グローバル動きベクトル利用判断部」(0730)は、前記グローバル動きベクトルを利用するか、利用しないかを判断する機能を有する。この判断は、例えば上記のようにニュース番組やスポーツ番組などその動画内容に応じた判断のほか、実施例3で説明する動画像の画像サイズに応じた判断などが挙げられる。また、その判断基準となる情報は、例えばインターフェースを介しユーザーに入力してもらう動画内容などの情報や、放送番組の録画であれば電子番組表などから取得可能な番組ジャンル情報などが挙げられる。あるいは動画像では通常中心以外の周囲部分には背景など動かない被写体が多い、という前提で、とりあえず中心部分のグローバルマクロブロックにおけるグローバル動きベクトルを検出し、その動き量が閾値以下であれば画像全体でグローバル動きベクトルを利用しないと判断する、という構成にしても良い。
また、このグローバル動きベクトル利用判断部の具体的な構成例としては、例えばユーザー入力用や情報取得用インターフェースとCPUとから構成され、インターフェースから取得した情報(例えば動画内容のジャンルを示す識別情報など)に応じて、CPU(中央演算装置)にてグローバル動きベクトルを利用する/しないの判断処理を行うと良い。なお、「グローバル動きベクトルを利用しない」とは、例えば第二検出部にてグローバル動きベクトルの検出自体を行わないことであっても良いし、あるいは、第二検出部での検出は実行するが、その検出したグローバル動きベクトルをサーチ範囲決定部の対し送出しないことであっても良い。また、サーチ範囲決定部への送出は行うが、そこでのサーチ範囲の決定処理が行われないことであっても良いし、あるいは、決定されたサーチ範囲を、動きベクトル検出のための第一検出部には送出しないことであっても良い。そして、このような場合の第一検出部におけるサーチ範囲は、入力画像全体であったり、あるいは予め設定された所定のサーチ範囲などが利用されたりすると良い。
<実施例2の処理の流れ> 図8に示すのは、本実施例の画像符号化装置における処理の流れの一例を表すフローチャートである。なお、以下に示すステップは、媒体に記録され計算機を制御するためのプログラムを構成する処理ステップであっても構わない。この図にあるように、まず、グローバル動きベクトルの検出処理を行うか否かの判断が行われる(ステップS0801)。なお、その判断の基準となる情報は、前述のとおりジャンル情報や中央部の動きベクトル情報などさまざまであって良い。またその取得もインターフェースを介して入力取得したり電子番組表から自動で取得したりするなど様々であって良い。そして、前記判断結果がグローバル動きベクトルを利用するというものであった場合、実施例1で説明したように第二チップにおいてグローバル動きベクトルの検出処理(ステップS0802)、およびそれに基づくサーチ範囲の決定処理が行われる(ステップS0803)。そしてその決定されたサーチ範囲に基づいて探索が行われ動きベクトルが検出される(ステップS0805)。
また、前記判断結果が利用しない、というものであった場合、例えばグローバル動きベクトルの検出処理やサーチ範囲の決定処理は行われずに、画像全体をサーチ範囲とするなどして第一チップにおいてマクロブロックの動きベクトル検出処理が実行される(ステップS0804)。
<実施例2の効果の簡単な説明> 以上の本実施例の画像符号化装置によってグローバル動きベクトルの検出処理を行うか否か状況に応じて切替えることができる。したがって、マクロブロックの動きベクトル検出処理に当たって場合によっては無駄となるグローバル動きベクトル検出の演算処理を省くことができる。したがって装置の演算負荷を抑えることができ、電力消費の低減や、それによる環境への負荷低減をも実現しうる。
≪実施例3≫ <実施例3の概要> 本実施例の画像符号化装置は、実施例2を基本として、上記グローバル動きベクトル利用判断部での判断が、動画像の画像サイズに応じて行われることを特徴とする画像符号化装置である。図9に示すのは、この動画像の画像サイズに応じた判断の一例について説明するための概略図である。この図にあるように、例えば動画像の画像サイズが「320×240」である動画像(a)と、画像サイズが「1920×1080」である動画像(b)とでは、おじぎをして上体を倒すという同じ動きであっても破線で示すその画素単位での上体の動き量は動画像(b)の方がはるかに大きい。しかも2005年現在の動画像の圧縮変換での動きベクトルの検出において、そのサーチは半画素、あるいは1/4画素単位であるため探索量の差はさらに大きくなる。このように、同じ動画像であってもその画像サイズによって動きベクトルのサーチ範囲は変わってくることになる。そこで、本実施例の画像符号化装置では、サーチ範囲が画素(あるいは半画素、1/4画素など)単位では大きくならない画像サイズの動画データの場合には、その圧縮変換処理に際してグローバル動きベクトルを利用しない判断を行う機能を備えている。これにより結果的に処理負荷の軽減や処理スピードを向上させることができる。
<実施例3の構成> 図10に示すのは、本実施例の画像符号化装置における機能ブロックの一例を表す図である。この図にあるように、本実施例の「画像符号化装置」(1000)は、実施例2を基本として、「第一チップ」(1010)と、「第二チップ」(1020)と、が別個に配置され、また、「グローバル動きベクトル利用判断部」(1030)も有している。そして、第一チップは、「変換処理部」(1011)と、「逆変換処理部」(1012)と、「第一検出部」(1013)と、を有している。また、第二チップは「第二検出部」(1021)と、「サーチ範囲決定部」(1022)と、を有し相互に独立して処理を行うことを可能としている。なお、これら機能ブロックについては実施例1や2においてすでに記載済みであるのでその説明は省略する。そして本実施例の画像符号化装置の特徴点は、さらに「画像サイズ取得部」(1040)を有し、またそのグローバル動きベクトル利用判断部が「画像サイズ依存判断手段」(1050)、を有している点である。
「画像サイズ取得部」(1040)は、前記入力画像の画像サイズを取得する機能を有する。なお、この画像サイズの取得は、例えば動画像取得時にそのファイル情報などから取得すると良い。また「画像サイズ」とは、例えばその入力画像を構成する画素数であっても良いし、一画素ごとのデータ量が決まっている場合などはそのデータ量であっても構わない。
「画像サイズ依存判断手段」(1050)は、画像サイズ取得部(1040)で取得した画像サイズに基づいて、グローバル動きベクトルを利用するか否かの判断処理を行う機能を有する。これは、例えば予め「動画像の縦画面サイズの閾値」、あるいは「動画像の横画面サイズの閾値」などを設定しておき、演算器にて画像サイズ取得部で取得した画像サイズとこの予め設定された閾値とを大小比較することで判断するなどの方法が挙げられる。
<実施例3のハードウェア構成例> 図11に示すのは、本実施例の画像符号化装置におけるハードウェア構成の一例を表す概略図である。この図を利用して画像サイズに依存したグローバル動きベクトルの利用判断処理におけるそれぞれのハードウェア構成部の働きについて説明する。この図にあるように、本実施例の画像符号化装置は、実施例1と同様に第一検出部、変換処理部、および逆変換処理部の機能を備える「第一変換チップ」(0501)と、第二検出部、およびサーチ範囲決定部の機能を備える「第二変換チップ」(0502)とが、「演算器」と「主メモリ」とをそれぞれ備え、個別に配置されている。また符号化するための画像、およびその画像サイズの情報を取得する「画像入力手段」(0503)や、その入力画像を格納する「ビデオメモリ」(0504)、変換チップによって符号化された画像を出力する「出力手段」(0505)も備えている。そしてそれらが配線やシステムバスなどのデータ通信経路によって相互に接続され、情報の送受信や処理を行う。また、本実施例では、さらにグローバル動きベクトルを利用するか否かの判断処理を行うための演算器3やその演算器3用の主メモリ3などもシステムバスなどを介し接続されている。
もちろん、それぞれの「主メモリ」は、演算器で実行するプログラムの作業領域であるワーク領域と、そのプログラムによって処理するためのデータを格納するデータ領域とを提供し、また、この「ビデオメモリ」や「主メモリ」には複数のメモリアドレスが割り当てられ、「演算器」で実行されるプログラムは、そのメモリアドレスを特定しアクセスすることで相互にデータのやりとりを行い、処理を行うことが可能になっている。
ここで、「画像入力手段」から符号化されるべき画像が入力される。するとその入力画像の取得と同時に、その動画データのファイル情報に含まれる動画像の画像データサイズ「720×480(画素)」も取得される。そして、この入力画像取得をトリガーとし、画像サイズ依存判断プログラムが実行され、その命令によりこの画像データサイズの情報「720×480」が、主メモリ3のメモリアドレスbに格納される。また、予め保持されている閾値、例えば「横サイズ640」、「縦サイズ480」、などの情報も主メモリ3のメモリアドレスaに格納される。そして、主メモリ3のメモリアドレスaとbに格納されている数値の大小を比較し、画像データサイズが閾値以下か判断せよ」との命令に従い、演算器3により数値データの大小比較処理が行われる。そして、また、「大小比較結果が、画像データサイズが閾値よりも大きいことを示す場合、第二チップでのグローバル動きベクトル検出処理を実行するための命令を送出せよ。あるいは大小比較結果が、画像データサイズが閾値よりも小さいことを示す場合、第二チップでのグローバル動きベクトル検出処理を実行しないための命令を送出せよ。」といった具合の命令に従い、その大小比較の判断結果に応じた命令送出処理が行われる、という具合である。
<実施例3の処理の流れ> 図12に示すのは、本実施例の画像符号化装置における処理の流れの一例を表すフローチャートである。なお、以下に示すステップは、媒体に記録され計算機を制御するためのプログラムを構成する処理ステップであっても構わない。この図にあるように、まず、入力画像の画像サイズを取得する(ステップS1201)。続いて、取得した画像サイズが予め設定などされている所定サイズ(閾値)以上であるか否かの判断処理が行われる(ステップS1202)。ここで、前記判断結果が閾値以上であるとの判断結果である場合、グローバル動きベクトルの検出処理が行われ(ステップS1203)、それに基づいてサーチ範囲が決定される(ステップS1204)。そしてその決定されたサーチ範囲に基づいて探索が行われ動きベクトルが検出される(ステップS1205)。
また、前記判断結果が閾値以下である場合、例えばグローバル動きベクトルの検出処理やサーチ範囲の決定処理は行われずに、画像全体をサーチ範囲とするなどして第一チップにおいてマクロブロックの動きベクトル検出処理が実行される(ステップS1205)。
<実施例3の効果の簡単な説明> 以上の本実施例の画像符号化装置によって画像サイズに応じてグローバル動きベクトルの検出処理を行うか否か状況に応じて切替えることができる。その画像サイズを示す情報は、動画データのファイル情報に通常含まれているので、この画像サイズを示す情報は自動的に取得されることになる。従ってマクロブロックの動きベクトル検出処理に当たって無駄となる可能性の高い演算処理を自動的に省くことができる。したがって実施例2同様、装置の演算負荷を抑えることができ、電力消費の低減や、それによる環境への負荷低減をも実現しうる。
<実施例3のその他の実施例> また、本実施例の画像符号化装置は、さらに「グローバルマクロブロックサイズ決定部」を備えていても良い。「グローバルマクロブロックサイズ決定部」は、画像サイズ取得部にて取得した画像サイズに基づいてグローバルマクロブロックのサイズを決定する機能を有する。この決定は、例えば画像サイズが「320×240」画素ではグローバルマクロブロックのサイズを「32×24」画素、画像サイズが「1920×1080」画素ではグローバルマクロブロックのサイズを「96×72」画素とする、などの対応テーブルを利用して決定する方法や、画像サイズを変数xとする所定の関数f(x)を利用してグローバルマクロブロックのサイズを算出、決定する方法などが挙げられる。そして、このように入力画像の画像サイズに応じてグローバルマクロブロックを決定する機能をさらに備えることで、本実施例の画像符号化装置は、さらに無駄な演算処理を省くことができ、その処理負荷を低減させることができる。また、「グローバルマクロブロックサイズ決定部」より算出された値により縮小比率を決定し、符号化対象となる原画像からこの縮小比率にて縮小画像を作成し、その画像を用いてグローバルベクトル検出を行うことで、さらに処理量と使用するメモリ容量を低減することが可能となる。
≪実施例4≫ <実施例4の概要> 図13に示すのは従来の画像符号化装置が保持する、検出したグローバル動きベクトルの保持テーブルの一例を表す概念図である。この図にあるように、圧縮率と画質向上を図る近年の処理においては、グローバル動きベクトルは隣接フレーム間のみならず、非隣接の任意の2フレーム間で検出することが求められる。そのような場合、画像符号化装置が保持すべきグローバル動きベクトルのデータ数は、図のテーブルに示すように入力画像の数(あるいは1枚のフレーム画像の参照する可能性のあるフレーム画像の数)×グローバルマクロブロックの数、となる。しかし、本実施例の画像符号化装置では、(非隣接の)任意の2フレーム間でのグローバル動きベクトルを、複数の隣接グローバル動きベクトルの累積演算などによって擬似的に算出することで、その保持すべきグローバル動きベクトルの数を少なくすることができる。
図14に示すのは、本実施例の画像符号化装置における、非隣接2フレーム間のグローバル動きベクトル算出処理の一例について説明するための概念図である。この図にあるように、本実施例では例えば斜線で示すフレーム#5のグローバルマクロブロックの、フレーム#1−#5間のグローバル動きベクトルを以下のようにして算出する。すなわちフレーム#4−#5間のグローバル動きベクトルDと、フレーム#3−#4間のグローバル動きベクトルCと、・・・と、フレーム#1−#2間のグローバル動きベクトルAと、を累積演算することで算出する。
このように本実施例では、隣接フレーム間でのグローバル動きベクトルを保持しておけば良いので、その保持データ量を削減することができる。なお、後述するようにグローバルマクロブロックの次のフレームでの動き先がそのグローバルマクロブロックと完全に一致するというケースは稀であるので、その場合は、例えば周辺4つのグローバルマクロブロックにおけるグローバル動きベクトル値からバイリニア補間などでそのグローバル動きベクトルを推定すると良い。
<実施例4の構成> 図15に示すのは、本実施例の画像符号化装置における機能ブロックの一例を表す図である。この図にあるように、本実施例の「画像符号化装置」(1500)は、実施例1を基本として、「第一チップ」(1510)と、「第二チップ」(1520)と、が別個に配置されている。そして、第一チップは、「変換処理部」(1511)と、「逆変換処理部」(1512)と、「第一検出部」(1513)と、を有している。また、第二チップは「第二検出部」(1521)と、「サーチ範囲決定部」(1522)と、を有し相互に独立して処理を行うことを可能としている。もちろん、実施例2や3を基本として「グローバル動きベクトル利用判断部」などを有していても良い。なお、これら機能ブロックについては実施例1などにおいてすでに記載済みであるのでその説明は省略する。そして本実施例の画像符号化装置の特徴点は、さらに「フレーム特定情報取得部」(1530)と、「隣接グロ−バル動きベクトル保持部」(1540)と、「検出フレーム間グローバル動きベクトル演算部」(1550)と、を有している点である。
「フレーム特定情報取得部」(1530)は、フレーム特定情報を取得する機能を有する。「フレーム特定情報」とは、符号化をするに際して、動きベクトルを利用して符号化すべきフレームと、動きベクトルを生成するために参照されるべきフレームと、を特定するための情報をいい、例えば、その符号化対象フレームおよび動きベクトルの参照先フレームの識別情報などが挙げられる。そして本実施例の画像符号化装置は、ここで取得されるフレーム特定情報にて特定されるフレーム間のグローバル動きベクトルを、次で説明する2つの機能ブロックの作用により算出することになる。
「隣接グローバル動きベクトル保持部」(1540)は、隣接グローバル動きベクトルを保持する機能を有する。「隣接グローバル動きベクトル」とは、第二検出部(1521)にて検出される隣接フレーム間でのグローバル動きベクトル値をいう。この隣接グローバル動きベクトル保持部は、例えば図14に示すようなグローバル動きベクトルのテーブルデータのように、「グローバルマクロブロック2のフレーム#1−#2間でのグローバル動きベクトルはA」、「グローバルマクロブロック2のフレーム#2−#3間でのグローバル動きベクトルはB」、という具合に、グローバルマクロブロックごとの隣接フレーム間でのグローバル動きベクトルのデータを保持していると良い。このように、隣接フレーム間でのグローバル動きベクトルのみ保持しているので、本実施例では、任意のフレーム間全てのグローバル動きベクトルを保持する場合に比べその保持データ量を削減することができる。
そして、非隣接の任意のフレーム間におけるグローバル動きベクトルが必要となる場合には、次の「検出フレーム間グローバル動きベクトル演算部」での隣接グローバル動きベクトルに基づく演算によってその非隣接フレーム間でのグローバル動きベクトルを推定検出する点が本実施例の特徴である。
「検出フレーム間グローバル動きベクトル演算部」(1550)は、フレーム特定情報で特定される二つのフレーム間のグローバル動きベクトルを、隣接グローバル動きベクトル保持部(1540)に保持されている複数の隣接グローバル動きベクトルに基づいて演算する機能を有する。「複数の隣接グローバル動きベクトルに基づく演算」とは、例えば隣接グローバル動きベクトルの累積演算や、隣接グローバル動きベクトルを利用し線形補間などで推定された(推定)隣接グローバル動きベクトルの累積演算などが挙げられる。例えば図14に示すフレーム#5のグローバルマクロブロック6の(隣接フレームである)フレーム#4での動き先が、フレーム#4のグローバルマクロブロック5と完全に一致する、という具合に隣接フレーム間でのグローバルマクロブロックの動き先がそのマクロブロックと完全に一致する場合は、フレーム#5−#3のグローバル動きベクトルは、単純に隣接グローバル動きベクトルであるDとCを加算することで算出することができる。しかし、通常そのようなケースは稀である。したがって、本実施例ではフレーム#5のグローバルマクロブロック6の動き先を、例えば動き先近傍のグローバルマクロブロックのグローバル動きベクトルのバイリニア補間などで推定する、などの処理を行い、その推定したグローバル動きベクトルを累積する。
具体的には、例えばフレーム#5のグローバルマクロブロック6の隣接フレーム#4での動き先は、メモリに格納されたそのグローバル動きベクトルDを利用してCPUの演算により算出することが可能である。そしてその算出したフレーム#4での動き先位置(座標)情報を利用して、例えば4つのグローバルマクロブロック「1」「2」「5」「6」、という具合にその近傍にあるグローバルマクロブロックがCPUの演算処理により選定される。そして、例えばそれぞれのグローバルマクロブロックの中心座標と、動き先中心座標との距離比率などからそれぞれの重み係数がCPUの演算処理により算出される。そしてそれぞれのグローバルマクロブロックにおけるグローバル動きベクトルの成分を、それぞれの重み係数を乗じた上で累積し、その平均をCPUの演算により算出することで、線形補間によって推定されたフレーム#4の動き先におけるグローバル動きベクトルを演算することができる、という具合である。そして隣接フレーム間でのその推定されたグローバル動きベクトルなどを累積することで、非隣接のフレーム間のグローバル動きベクトルを演算することができる。つまり、本実施例の画像符号化装置によって、図14に示すような情報量を抑えたデータテーブルのみの保持で、非隣接のフレーム間のグローバル動きベクトルを演算することが可能になる。
<実施例4の処理の流れ> 図16に示すのは、本実施例の画像符号化装置における処理の流れの一例を表すフローチャートである。なお、以下に示すステップは、媒体に記録され計算機を制御するためのプログラムを構成する処理ステップであっても構わない。また、第一チップや第二チップでの動きベクトルの検出処理や隣接グローバル動きベクトルの検出処理は、実施例1で説明した処理と同様であるので省略しする。この図にあるように、まず、隣接グローバル動きベクトルを保持するために記録する(ステップS1601)。続いて、フレーム特定情報を取得する(ステップs1602)。そして、前記ステップS1602で取得したフレーム特定情報で特定される2つのフレーム間のグローバル動きベクトルを、前記ステップS1601にて記録され保持されている複数の隣接グローバル動きベクトルに基づいて、例えば線形補間を利用した推定や累積などによって演算する(ステップS1603)。
<実施例4の効果の簡単な説明> 以上の本実施例の画像符号化装置によって、隣接グローバル間のグローバル動きベクトルのデータテーブルのみの保持により保持データ量を抑えつつ、任意の非隣接フレーム間のグローバル動きベクトルを演算することが可能になる。
<実施例4のその他の実施例> なお、実施例4の画像符号化装置は上記のような構成以外に、以下に示すような構成をとっても良い。すなわち上記画像符号化装置では、隣接フレーム間のグローバル動きベクトルを利用し累積演算などすることで非隣接フレーム間のグローバル動きベクトルを推定する。しかし、それとは逆に非隣接フレーム間でのグローバル動きベクトルのみを保持しておき、その非隣接グローバル動きベクトルを利用して線形補間演算などを行い、隣接グローバル動きベクトル、あるいは上記非隣接フレーム間と時間的な幅の異なる非隣接フレーム間でのグローバル動きベクトルを推定算出する、という機能を備えた画像符号化装置である。具体的には、上記実施例4の「隣接グローバル動きベクトル保持部」の代わりに「非隣接グローバル動きベクトル保持部」を備える画像符号化装置である。また、逆に、参照する非隣接フレーム間の画像の動きが一様であると仮定して、「参照する非隣接フレーム間のフレーム数×隣接フレームとのグローバル動きベクトル」の演算で求めたベクトル値を、参照する非隣接フレーム間のグローバル動きベクトルとしても良い。このような処理を行うことで、グローバル動きベクトルテーブルの参照回数を減らし、処理量を軽減することも可能である。
実施例1の画像符号化装置を実装した装置の一例を表す概略図 実施例1の画像符号化装置における機能ブロックの一例を表す図 画像符号化装置において処理される、入力画像と、その入力画像の変換処理―逆変換処理画像と、の一例を表す概略図 実施例1の画像符号化装置の第二検出部でのグローバル動きベクトルの検出処理の一例について説明するための概念図 実施例1の画像符号化装置におけるハードウェア構成の一例を表す概略図 実施例1の画像符号化装置における処理の流れの一例を表すフローチャート 実施例2の画像符号化装置における機能ブロックの一例を表す図 実施例2の画像符号化装置における処理の流れの一例を表すフローチャート 実施例3の画像符号化装置での、動画像の画像サイズに応じた切替の一例について説明するための概略図 実施例3の画像符号化装置における機能ブロックの一例を表す図 実施例3の画像符号化装置におけるハードウェア構成の一例を表す概略図 実施例3の画像符号化装置における処理の流れの一例を表すフローチャート 従来の画像符号化装置が保持する、検出したグローバル動きベクトルの保持テーブルの一例を表す概念図 実施例4の画像符号化装置における、非隣接2フレーム間のグローバル動きベクトル算出処理の一例について説明するための概念図 実施例4の画像符号化装置における機能ブロックの一例を表す図 実施例4の画像符号化装置における処理の流れの一例を表すフローチャート 従来のグローバル動きベクトルを利用した、マクロブロック単位の動きベクトル検出の一例を説明するための図
符号の説明
0200 画像符号化装置
0210 第一チップ
0211 変換処理部
0212 逆変換処理部
0213 第一検出部
0220 第二チップ
0221 第二検出部
0222 サーチ範囲決定部

Claims (4)

  1. 入力画像を、動きベクトルを用いて符号化する符号化装置であって、
    入力画像中の所定サーチ範囲を変換−逆変換処理画像のマクロブロック単位でサーチして前記動きベクトルを検出するための第一検出部と、
    前記マクロブロックよりも大きなブロックであるグローバルマクロブロック単位で入力画像間でのグローバル動きベクトルを検出するための第二検出部と、
    前記第二検出部で検出されたグローバル動きベクトルを利用して、第一検出部で行うサーチのサーチ範囲を決定可能なサーチ範囲決定部と、
    前記グローバル動きベクトルを利用するか、利用しないかを判断するグローバル動きベクトル利用判断部と、
    前記入力画像の画像サイズを取得する画像サイズ取得部と、を有し、
    前記グローバル動きベクトル利用判断部は、前記画像サイズ取得部で取得した画像サイズに基づいて、前記判断処理を実行する画像サイズ依存判断手段を有する画像符号化装置。
  2. 符号化をするに際して、動きベクトルを利用して符号化すべきフレームと、動きベクトルを生成するために参照されるべきフレームと、を特定するフレーム特定情報を取得するフレーム特定情報取得部と、
    第二検出部にて検出されるグローバル動きベクトルとして隣接フレーム間での値である隣接グローバル動きベクトルを保持する隣接グローバル動きベクトル保持部と、
    フレーム特定情報で特定される二つのフレーム間のグローバル動きベクトルを、隣接グローバル動きベクトル保持部に保持されている複数の隣接グローバル動きベクトルに基づいて演算する検出フレーム間グローバル動きベクトル演算部と、
    をさらに有する請求項1に記載の画像符号化装置。
  3. 変換−逆変換処理画像のマクロブロック単位でサーチして検出された動きベクトルを用いて、入力画像を符号化する符号化方法であって、
    前記マクロブロックよりも大きなブロックであるグローバルマクロブロック単位で入力画像間でのグローバル動きベクトルを検出する第二検出ステップと、
    前記第二検出ステップにて検出されたグローバル動きベクトルを利用して前記サーチのサーチ範囲を決定するサーチ範囲決定ステップと、
    前記決定されたサーチ範囲をマクロブロック単位でサーチして前記動きベクトルを検出する第一検出ステップと、
    前記入力画像の画像サイズを取得する画像サイズ取得ステップと、
    前記画像サイズ取得ステップで取得した画像サイズに基づいて、前記グローバル動きベクトルを利用するか、利用しないかを判断する画像サイズ依存判断ステップと、
    を計算機に実行させる画像符号化方法。
  4. 符号化をするに際して、動きベクトルを利用して符号化すべきフレームと、動きベクトルを生成するために参照されるべきフレームと、を特定するフレーム特定情報を取得するフレーム特定情報取得ステップと、
    第二検出ステップにて検出されるグローバル動きベクトルとして隣接フレーム間での値である隣接グローバル動きベクトルを保持するために記録する隣接グローバル動きベクトル記録ステップと、
    フレーム特定情報で特定される二つのフレーム間のグローバル動きベクトルを動きベクトル記録ステップにて記録され保持されている複数の隣接グローバル動きベクトルに基づいて演算する検出フレーム間グローバル動きベクトル演算ステップと、
    をさらに有する請求項3に記載の画像符号化方法。
JP2005335186A 2005-11-21 2005-11-21 画像符号化装置および画像符号化方法 Expired - Fee Related JP4606311B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2005335186A JP4606311B2 (ja) 2005-11-21 2005-11-21 画像符号化装置および画像符号化方法
US12/065,074 US8300695B2 (en) 2005-11-21 2006-01-17 Image encoding apparatus and image encoding method
CNB2006800003639A CN100571400C (zh) 2005-11-21 2006-01-17 图像编码装置及图像编码方法
PCT/JP2006/300527 WO2007057985A1 (ja) 2005-11-21 2006-01-17 画像符号化装置および画像符号化方法
KR20067026951A KR100843418B1 (ko) 2005-11-21 2006-01-17 화상 부호화 장치 및 화상 부호화 방법
EP06711807A EP1954059A4 (en) 2005-11-21 2006-01-17 BILDCODING DEVICE AND BILDCODING METHOD
TW95115116A TWI343217B (en) 2005-11-21 2006-04-27 An image coding apparatus and a method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005335186A JP4606311B2 (ja) 2005-11-21 2005-11-21 画像符号化装置および画像符号化方法

Publications (2)

Publication Number Publication Date
JP2007142907A JP2007142907A (ja) 2007-06-07
JP4606311B2 true JP4606311B2 (ja) 2011-01-05

Family

ID=38048377

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005335186A Expired - Fee Related JP4606311B2 (ja) 2005-11-21 2005-11-21 画像符号化装置および画像符号化方法

Country Status (7)

Country Link
US (1) US8300695B2 (ja)
EP (1) EP1954059A4 (ja)
JP (1) JP4606311B2 (ja)
KR (1) KR100843418B1 (ja)
CN (1) CN100571400C (ja)
TW (1) TWI343217B (ja)
WO (1) WO2007057985A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070237233A1 (en) * 2006-04-10 2007-10-11 Anthony Mark Jones Motion compensation in digital video
JP5171675B2 (ja) * 2009-02-03 2013-03-27 三洋電機株式会社 画像処理装置、およびそれを搭載した撮像装置
JP2011135230A (ja) * 2009-12-22 2011-07-07 Panasonic Corp 画像符号化方法、画像符号化装置及び撮像システム
KR101666019B1 (ko) * 2010-08-03 2016-10-14 삼성전자주식회사 외삽 뷰 생성을 위한 장치 및 방법
JP5706264B2 (ja) 2011-08-01 2015-04-22 日本電信電話株式会社 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置,画像符号化プログラムおよび画像復号プログラム
US10659724B2 (en) * 2011-08-24 2020-05-19 Ati Technologies Ulc Method and apparatus for providing dropped picture image processing
US10542233B2 (en) * 2014-10-22 2020-01-21 Genetec Inc. System to dispatch video decoding to dedicated hardware resources
CN115379185B (zh) * 2018-08-09 2024-04-02 辉达公司 使用可变速率着色的运动自适应渲染
KR20200065367A (ko) * 2018-11-30 2020-06-09 삼성전자주식회사 이미지 처리 장치 및 프레임 버퍼 컴프레서
BR112021021352A2 (pt) * 2019-04-25 2022-02-01 Op Solutions Llc Candidatos de previsão de vetor de movimento adaptativo em quadros com movimento global
BR112021021348A2 (pt) * 2019-04-25 2022-01-18 Op Solutions Llc Candidatos de previsão de vetor de movimento seletiva em quadros com movimento global

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08149481A (ja) * 1994-11-25 1996-06-07 Mitsubishi Electric Corp 映像信号符号化・復号化装置及び符号化・復号化方法
JP2001169288A (ja) * 1999-12-07 2001-06-22 Nec Corp 動きベクトル探索装置および方法
JP2003319400A (ja) * 2002-04-26 2003-11-07 Sony Corp 符号化装置、復号装置、画像処理装置、それらの方法およびプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR950024600A (ko) * 1994-01-31 1995-08-21 김광호 휘도신호적응 움직임 평가방법
US6101276A (en) * 1996-06-21 2000-08-08 Compaq Computer Corporation Method and apparatus for performing two pass quality video compression through pipelining and buffer management
KR100289862B1 (ko) * 1997-10-16 2001-05-15 정선종 2차원병진움직임벡터와회기법을이용한전역움직임존재유무판정방법
JP2912614B1 (ja) * 1998-06-22 1999-06-28 株式会社菊水製作所 回転式粉末圧縮成形機
KR100431013B1 (ko) 1998-07-22 2004-05-12 미쓰비시덴키 가부시키가이샤 화상 부호화 시스템
JP4280353B2 (ja) 1999-03-19 2009-06-17 キヤノン株式会社 符号化装置、画像処理装置、符号化方法、及び記録媒体
JP4228705B2 (ja) 2003-01-27 2009-02-25 日本電気株式会社 動きベクトル探索方法および装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08149481A (ja) * 1994-11-25 1996-06-07 Mitsubishi Electric Corp 映像信号符号化・復号化装置及び符号化・復号化方法
JP2001169288A (ja) * 1999-12-07 2001-06-22 Nec Corp 動きベクトル探索装置および方法
JP2003319400A (ja) * 2002-04-26 2003-11-07 Sony Corp 符号化装置、復号装置、画像処理装置、それらの方法およびプログラム

Also Published As

Publication number Publication date
US20090268820A1 (en) 2009-10-29
EP1954059A4 (en) 2010-10-06
TW200721847A (en) 2007-06-01
KR100843418B1 (ko) 2008-07-03
CN100571400C (zh) 2009-12-16
WO2007057985A1 (ja) 2007-05-24
JP2007142907A (ja) 2007-06-07
US8300695B2 (en) 2012-10-30
CN101044765A (zh) 2007-09-26
TWI343217B (en) 2011-06-01
EP1954059A1 (en) 2008-08-06
KR20070088321A (ko) 2007-08-29

Similar Documents

Publication Publication Date Title
JP4606311B2 (ja) 画像符号化装置および画像符号化方法
US11496764B2 (en) Video encoding method and video decoding method
US8761254B2 (en) Image prediction encoding device, image prediction decoding device, image prediction encoding method, image prediction decoding method, image prediction encoding program, and image prediction decoding program
US7444026B2 (en) Image processing apparatus and method of motion vector detection in a moving picture, and recording medium used therewith
JP2007142521A (ja) 動きベクトル算出装置および動きベクトル算出方法
KR20170045013A (ko) 데이터 인코딩 장치 및 데이터 인코딩 방법
US20140233645A1 (en) Moving image encoding apparatus, method of controlling the same, and program
JP2006311526A (ja) 画像復号装置、画像復号方法、画像復号プログラム、画像復号集積回路
JP4898415B2 (ja) 動画像符号化装置及び動画像符号化方法
KR20170126934A (ko) 컨텐츠-적응적 b-픽쳐 패턴 비디오 인코딩
JP4257789B2 (ja) 動画像符号化装置
JP2010081498A (ja) 画像圧縮符号化方法、及び装置
JP2006014183A (ja) 画像符号化装置、画像符号化方法及びそのプログラム
JP4590337B2 (ja) 動画像符号化装置及び動画像符号化方法
JP5247210B2 (ja) 動画像符号化装置及び動画像符号化方法
JP2009033652A (ja) 動画像符号化方法
JP2009296328A (ja) 符号化ピクチャタイプ決定方法,装置,そのプログラムおよびその記録媒体
JP2008154085A (ja) 動画像符号化装置及び動画像符号化方法
JP4034180B2 (ja) 動画像圧縮符号化装置、及び動きベクトル検出方法
JP2008258769A (ja) 画像符号化装置及びその制御方法、並びに、コンピュータプログラム
JP2008124765A (ja) 動画像符号化装置とその制御方法、及び、コンピュータプログラム
JP2006067268A (ja) 画像の動きベクトル検出装置およびその方法
KR20000011728A (ko) 움직임 벡터 검출 방법, 움직임 벡터 산출 프로그램이 기록된 기록 매체, 움직임 검출 장치, 움직임 검출 방법, 화상 엔코딩 장치, 화상 엔코딩 방법, 움직임 벡터 산출 방법, 움직임 벡터 산출 프로그램이 기록된 기록 매체

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091002

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100408

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100910

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101005

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20131015

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees