[go: up one dir, main page]

JP6137302B2 - 符号化装置、符号化方法、および符号化プログラム - Google Patents

符号化装置、符号化方法、および符号化プログラム Download PDF

Info

Publication number
JP6137302B2
JP6137302B2 JP2015507915A JP2015507915A JP6137302B2 JP 6137302 B2 JP6137302 B2 JP 6137302B2 JP 2015507915 A JP2015507915 A JP 2015507915A JP 2015507915 A JP2015507915 A JP 2015507915A JP 6137302 B2 JP6137302 B2 JP 6137302B2
Authority
JP
Japan
Prior art keywords
block
frame
target
motion vector
read data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015507915A
Other languages
English (en)
Other versions
JPWO2014155738A1 (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2014155738A1 publication Critical patent/JPWO2014155738A1/ja
Application granted granted Critical
Publication of JP6137302B2 publication Critical patent/JP6137302B2/ja
Active 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/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • 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/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/53Multi-resolution motion estimation; Hierarchical motion 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/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/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • 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/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • 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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明は、符号化装置、符号化方法、および符号化プログラムに関する。
従来、動画像のうちの符号化対象となる対象フレームを分割した対象ブロックに類似するブロックを参照先となる参照フレームから探索し、対象ブロックから類似するブロックまでの空間的な位置の差を対象ブロックの動きベクトルとして検出する技術がある。関連する先行技術として、たとえば、縮小画像を用いて検出した縮小動きベクトルに基づく元画像を用いる詳細探索の動きベクトル検出における探索範囲を、外部メモリのアクセス粒度でなる領域に拡張して、外部メモリから画像データを読み込むものがある。また、ビデオストリームから抽出した複数の動きベクトルがそれぞれ指定する領域を含む参照画像上の読込領域のサイズが閾値を超えた場合、動きベクトルがそれぞれ指定する領域に対応する参照画像上のデータを個別のアクセスシーケンスで読み込む技術がある。(たとえば、下記特許文献1、2を参照。)
特開2011−071622号公報 国際公開第2007/055013号
しかしながら、従来技術によれば、縮小動きベクトルが指定する探索範囲のデータを読み込むと共に、複数の動きベクトルがそれぞれ指定する探索範囲のデータを読み込むと、読込データ量が増大して、フレームの符号化にかかる処理が遅延する場合がある。
1つの側面では、本発明は、フレームの符号化にかかる処理の遅延を抑制しつつ符号化効率の向上を図る符号化装置、符号化方法、および符号化プログラムを提供することを目的とする。
本発明の一側面によれば、一連のフレームのうちの符号化対象となる対象フレームから分割されたブロックの動きベクトルを検出する際の対象フレームの参照先となる参照フレーム上の探索位置を指定するベクトル群の個数を、一連のフレームのうちの参照フレームを参照して符号化されたフレームの個数に基づいて特定し、特定した個数と、一連のフレームの対象フレーム単位の単位時間当たりに読込可能な参照フレームの最大読込データ量とに基づいて、対象フレームを縮小した縮小画像上のブロックの動きベクトルが指定する参照フレーム上の探索位置を含む探索範囲の画像データが読み込まれる際の対象フレーム単位の第1の最大読込データ量を決定する符号化装置、符号化方法、および符号化プログラムが提案される。
本発明の一態様によれば、フレームの符号化にかかる処理の遅延を抑制しつつ符号化効率の向上を図ることができるという効果を奏する。
図1は、本実施の形態にかかる符号化装置の動作例を示す説明図である。 図2は、コンピュータシステムのハードウェア構成例を示すブロック図である。 図3は、符号化装置のハードウェア構成例を示すブロック図である。 図4は、符号化装置の機能例を示すブロック図である。 図5は、縮小MEにおける等倍ME探索範囲算出手順の一例を示す説明図である。 図6は、S0_bの算出手順の一例を示す説明図である。 図7は、等倍MEの各探索範囲候補における予測ベクトルを追加した際の、組合せの一例を示す説明図である。 図8は、等倍MEの各探索範囲候補の読込データ量を示す説明図(その1)である。 図9は、等倍MEの各探索範囲候補の読込データ量を示す説明図(その2)である。 図10は、時間予測ベクトルの説明図である。 図11は、符号化処理手順の一例を示すフローチャートである。 図12は、縮小ME処理手順の一例を示すフローチャートである。 図13は、等倍ME処理手順の一例を示すフローチャートである。
以下に図面を参照して、開示の符号化装置、符号化方法、および符号化プログラムの実施の形態を詳細に説明する。
図1は、本実施の形態にかかる符号化装置の動作例を示す説明図である。符号化装置100は、MPEG(Moving Picture Experts Group)2やH.264等の規格が定める動画像符号化方式に従って、動き検出を行うコンピュータである。さらに、符号化装置100は、階層型の動き検出を行う。
ここで、階層型の動き検出とは、対象フレームを縮小した縮小画像と参照フレームを縮小した縮小画像とを用いて動き検出処理を行い、検出した動きベクトルから特定される参照フレーム上の探索範囲について対象フレームの動き検出処理を行う手法である。以下、対象フレームの縮小画像に対する動き検出処理を、「縮小ME(Motion Estimation)処理」と呼称する。また、対象フレームに対する動き検出処理を、「等倍ME処理」と呼称する。
また、動き検出処理とは、対象画像から分割された元ブロックと類似するブロックを参照画像から探索し、元ブロックとの空間的な位置の差を動きベクトルとして出力する処理である。ここで、対象画像は、縮小ME処理であれば、縮小画像であり、等倍ME処理であれば、対象フレームである。ブロックとは、対象画像や参照画像を、たとえば、8×8[画素]や16×16[画素]などの単位で区切って分割した画像であり、いわゆるマクロブロックである。
具体的には、符号化装置100は、縮小ME処理において、所定の縮小率で対象フレームを縮小した縮小画像と参照画像を縮小した画像とを用いて、動きベクトルを検出する。縮小ME処理において検出した動きベクトルを、以下、「縮小動きベクトル」と呼称する。より具体的には、符号化装置100は、動きベクトルの候補となる候補ベクトルごとに、候補ベクトルに対応する参照ブロックと元ブロックとの違いを示す評価値を算出する。そして、符号化装置100は、たとえば、算出した評価値が最小となる候補ベクトルを縮小動きベクトルとして出力する。
続けて、符号化装置100は、等倍ME処理において、対象フレームと参照フレームを用いて、縮小動きベクトルが指定する参照フレーム上の探索位置を含む探索範囲から動きベクトルを再探索する。
評価値は、たとえば、元ブロックと参照ブロックとの対応する画素間の差分を表す値を累積加算することにより算出される。評価値は、元ブロックと参照ブロックとの類似度を判断する指標となる。画素間の差分を表す値は、たとえば、画素間の画素値の差である。画素値は、画素が示す色情報であり、たとえば、輝度成分値、青色色差成分値、赤色色差成分値などの成分値であってもよく、また、赤成分値、緑成分値、青成分値などの成分値であってもよい。
評価値は、たとえば、SAD(Sum of Absolute Difference)やSATD(Sum of Absolute Transformed Difference)である。
このように、縮小ME処理と等倍ME処理とによって動きベクトルを検出する方法は、参照フレーム全体を参照して動きベクトルを検出する場合に比べて、参照フレームが格納された外部メモリから読み出される画像データの量を削減することができる。
さらに、符号化効率の向上および画質向上のため、元の解像度での動きベクトルを検出する際に、縮小動きベクトルとは異なるベクトルを追加したベクトル群が指定する探索位置を含む探索範囲から動きベクトルを探索する場合がある。この場合、元の解像度での動きベクトルを検出する際の参照画像の探索範囲は、縮小動きベクトルを中心とする探索範囲と、追加される異なるベクトルを中心とする探索範囲とを合わせた範囲となる。符号化効率の向上とは、符号化された動画像の符号量が少なくなり、符号前の動画像と比較してより圧縮されたことを示す。
追加する異なるベクトルを、以下、「予測ベクトル」と呼称する。予測ベクトルは、空間予測ベクトルと、時間予測ベクトルとがある。予測ベクトルのより詳細な説明については、図7、図10にて後述する。
このように、元の解像度での動きベクトルを検出する際に予測ベクトルを追加する場合、参照画像の探索範囲が増加するため、使用するメモリ帯域が増加し、使用可能なメモリ帯域を超えてしまう可能性がある。使用するメモリ帯域が、使用可能なメモリ帯域を超えると、たとえば、リアルタイムでの符号化処理を行っている場合、符号化された動画像のコマ落ちといった動作破たんが発生する。
そこで、本実施の形態にかかる符号化装置100は、フレームのブロックの動き検出を行う際、予測ベクトル数と単位時間に読込可能な参照フレームのデータ量に応じて、縮小動きベクトルの最大読込データ量を決定する。これにより、符号化装置100は、フレームの符号化にかかる処理の遅延を抑制しつつ符号化効率の向上を図る。
図1では、符号化装置100と、一連のフレームを記憶する外部メモリ101とを表示する。符号化装置100と外部メモリ101とは、I/F(InterFace)102により接続される。図1の(a)に示す符号化装置100は、一連のフレームのうちの対象フレームtF1を選択して、符号化するとする。また、一連のフレームの対象フレーム単位の単位時間当たりに読込可能な参照フレームの最大読込データ量が、外部メモリ101のメモリ帯域によって決まるものとする。一連のフレームの対象フレーム単位の単位時間当たりに読込可能な参照フレームの最大読込データ量を、Ssumとする。Ssumについては、図11にて後述する。
このとき、符号化装置100は、対象フレームtF1の参照先となる参照フレームrF1上の探索位置を指定するベクトル群の個数を、一連のフレームのうちの参照フレームを参照して符号化されたフレームの個数に基づいて特定する。ベクトル群の個数は、ベクトル群に含まれるベクトルの本数である。一連のフレームのうちの参照フレームを参照して符号化されたフレームの個数によって、時間予測ベクトルの個数が特定できるため、予測ベクトルの個数が特定できることとなる。
具体的に、図1の(a)に示す符号化装置100は、ベクトル群の個数として、縮小動きベクトルMVrtと、予測ベクトルMVpt1と予測ベクトルMVpt2という3個を特定する。続けて、符号化装置100は、特定した個数と、Ssumとに基づいて、縮小動きベクトルが指定する参照フレームrF1上の探索位置を含む探索範囲の画像データが読み込まれる際の対象フレーム単位の第1の最大読込データ量S0を決定する。たとえば、符号化装置100は、特定した個数が多い程、第1の最大読込データ量S0を少なくする。より詳細には、符号化装置100は、特定した個数が3であれば、第1の最大読込データ量S0=Ssum×0.7として決定する。
図1の(b)に示す符号化装置100は、一連のフレームのうちの対象フレームtF2を選択して、符号化するとする。そして、符号化装置100は、対象フレームtF2の参照先となる参照フレームrF2上の探索位置を指定するベクトル群の個数を、一連のフレームのうちの参照フレームを参照して符号化されたフレームの個数に基づいて特定する。図1の(b)に示す符号化装置100は、ベクトル群の個数として、縮小動きベクトルMVrtと、予測ベクトルMVpt1という2個を特定する。そして、符号化装置100は、特定した個数が2であれば、第1の最大読込データ量S0=Ssum×0.8として決定する。
図1の(a)と図1の(b)とでは、第1の最大読込データ量S0の大きさを、外部メモリ101と符号化装置100を繋げた矢印の塗りつぶした量で表現している。このように、符号化装置100は、予測ベクトルの数が少なければ、縮小動きベクトルMVrtにかかる制限を発生しにくくして、符号化効率の向上を図る。次に、図2〜図13を用いて、符号化装置100の詳細を説明する。
(コンピュータシステム200のハードウェア構成例)
次に、符号化装置100が適用されるコンピュータシステム200のハードウェアの一例について説明する。コンピュータシステム200は、たとえば、動画像を記録・再生する機能を有するシステムであり、具体的には、たとえば、パーソナル・コンピュータ、テレビジョン、レコーダ、スマートフォン、ビデオカメラ、デジタルカメラなどである。
図2は、コンピュータシステムのハードウェア構成例を示すブロック図である。図2において、コンピュータシステム200は、CPU(Central Processing Unit)201と、ROM(Read‐Only Memory)202と、RAM(Random Access Memory)203と、を含む。また、コンピュータシステム200は、撮像素子204と、撮像素子I/F205と、操作パネル206と、記録メディア207と、外部I/F208と、符号化装置100とを含む。
また、コンピュータシステム200は、ディスプレイ209と、ディスプレイ出力I/F210とを含む。また、CPU201〜RAM203と、撮像素子I/F205と、外部I/F208と、ディスプレイ出力I/F210と、符号化装置100とは、バス211で相互に接続される。図1に示した外部メモリ101は、RAM203や記録メディア207といった記憶装置に相当する。また、外部メモリ101がRAM203に相当する場合、図1に示したI/F102は、図2に図示していないが、RAM203とバス211との間にあるI/Fに相当する。また、外部メモリ101が記録メディア207に相当する場合、I/F102は、外部I/F208に相当する。
CPU201は、コンピュータシステム200の全体の制御を司る演算処理装置である。ROM202は、コンピュータシステム200のブートプログラムなどのプログラムを記憶する不揮発性メモリである。RAM203は、CPU201のワークエリアとして使用される揮発性メモリである。
撮像素子204は、対象物から発した光を電気信号に変換する装置である。たとえば、撮像素子204は、CCD(Charge Coupled Device)イメージセンサ、やCMOS(Complementary Metal Oxide Semiconductor)イメージセンサなどである。
撮像素子I/F205は、記録時に撮像素子204を制御することにより、撮像素子204からの信号を画像フォーマットに変換してRAM203に格納する装置である。操作パネル206は、コンピュータシステム200が有する液晶タッチパネルや操作ボタンである。記録メディア207は、フラッシュROM等といった記憶装置である。また、記録メディア207は、本実施の形態にかかる符号化プログラムを記録してもよい。外部I/F208は、操作パネル206、および記録メディア207を制御する。また、外部I/F208は、通信回線を通じてLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワークを介して、コンピュータシステム200以外の他の装置に接続されてもよい。
ディスプレイ209は、撮像素子204が記録した画像フォーマットを表示する。ディスプレイ出力I/F210は、ディスプレイ209の制御を行う。
図3は、符号化装置のハードウェア構成例を示すブロック図である。符号化装置100は、縮小ME部301と、等倍ME部302と、フレーム内予測部303と、動き補償部304と、予測画像選択部305と、誤差画像生成部306とを含む。さらに、符号化装置100は、直交変換/量子化部307と、逆量子化/逆直交変換再構成部308と、デブロッキングフィルタ部309と、エントロピー符号化部310とを含む。
縮小ME部301は、外部メモリから縮小された符号化対象画像、縮小された参照画像を読み込み、縮小ME処理を行う。等倍ME部302は、外部メモリから元の解像度の原画像、元の解像度の参照画像を読み込み、等倍ME処理を行う。フレーム内予測部303は、フレーム内予測処理を行う。
動き補償部304は、等倍ME部302で決定された動きベクトルに基づいて、フレーム間予測画像を生成する。
予測画像選択部305は、符号化処理制御に応じて、フレーム間予測画像か、フレーム内予測画像かのうちどちらか一方を選択する。誤差画像生成部306は、予測画像選択部305で出力された予測画像と原画像の差分を算出する。
直交変換/量子化部307は、差分画像に対して直交変換、量子化処理を行う。逆量子化/逆直交変換再構成部308は、量子化後の係数に対して逆量子化、逆直交変換を行い、予測画像と足し合わせて再構成画像を得る。
デブロッキングフィルタ部309は、ブロックノイズを除去するデブロッキングフィルタ処理を行う。エントロピー符号化部310では、予測情報や係数情報を入力として、エントロピー符号化処理を行い、符号化ストリームを生成する。
(符号化装置100の機能)
次に、符号化装置100の機能について説明する。図4は、符号化装置の機能例を示すブロック図である。符号化装置100は、特定部401と、決定部402と、算出部403と、制御部404と、を含む。なお、特定部401および決定部402は、縮小ME部301が実行する前に行われる機能となる。算出部403は、縮小ME部301と、等倍ME部302との何れにも含まれる。制御部404は、縮小ME部301と、等倍ME部302とを制御する。
また、制御部となる特定部401〜制御部404は、記憶装置に記憶されたプログラムをCPU201が実行することにより、特定部401〜制御部404の機能を実現してもよい。記憶装置とは、具体的には、たとえば、図2に示したROM202、RAM203、記録メディア207などである。
特定部401は、対象フレームの参照先となる参照フレーム上の探索位置を指定するベクトル群の個数を、一連のフレームのうちの参照フレームを参照して符号化されたフレームの個数に基づいて特定する。特定部401は、縮小ME部301と等倍ME部302とによって、対象フレームから分割されたブロックの動きベクトルを検出する際に行われる。
また、特定部401は、対象フレームから分割されたブロックに隣接するブロックの動きベクトル、または参照フレームを参照して符号化されたフレーム内の対象フレームから分割されたブロックと同位置にあるブロックの動きベクトル、の個数を特定してもよい。対象フレームから分割されたブロックに隣接するブロックの動きベクトルについては、図7にて後述する。また、参照フレームを参照して符号化されたフレーム内の対象フレームから分割されたブロックと同位置にあるブロックの動きベクトルについては、図7にて後述する。
また、特定部401は、対象フレームから分割されたブロックに隣接するブロックの動きベクトル、および参照フレームを参照して符号化されたフレーム内の対象フレームから分割されたブロックと同位置にあるブロックの動きベクトル、の個数を特定してもよい。なお、特定したフレームの個数は、符号化装置100内にあるフリップフロップ等の記憶領域に記憶される。
決定部402は、特定部401によって特定された個数と、Ssumとに基づいて、縮小動きベクトルが指定する参照フレーム上の探索位置を含む探索範囲の画像データが読み込まれる際のフレーム単位の第1の最大読込データ量S0を決定する。S0の決定手順の具体例は、たとえば図10にて説明する。
決定部402は、さらに、特定部401によって特定された個数と、SsumとS0とに基づいて、予測ベクトルが指定する参照フレーム上の探索位置を含む探索範囲の画像データが読み込まれる際のフレーム単位の第2の最大読込データ量S1を決定してもよい。
算出部403は、決定部402によって決定された第1の最大読込データ量と、対象フレームに含まれるブロック数とに基づいて、対象フレームから分割されたブロックから選択された対象ブロックに対応する第1の閾値S0_bを算出する。S0_bの算出手順としては、図5と図6とで後述する。
また、算出部403は、決定部402によって決定された第1の最大読込データ量および第2の最大読込データ量と、対象フレームに含まれるブロック数とに基づいて、対象ブロックに対応する第2の閾値Ssum_bを算出してもよい。Ssum_bについては、S0_bの算出手順と同様の手順を採用することができる。なお、算出されたS0_b、Ssum_bは、符号化装置100内にあるフリップフロップ等の記憶領域に記憶される。
制御部404は、算出部403によって算出された第1の閾値S0_bに基づいて、対象ブロックの動きベクトルを検出する際に、対象ブロックに対応する縮小動きベクトルが指定する参照フレーム上の探索位置を含む探索範囲の読込データ量を制御する。たとえば、制御部404は、縮小ME部301に対して、S0_bを超えないような縮小動きベクトルを検出するように制御する。
また、制御部404は、次に示す条件を満たす場合、対象ブロックの次に選択されるブロックに対応する縮小動きベクトルが指定する参照フレーム上の探索位置を含む探索範囲の読込データ量を制御してもよい。次に示す条件とは、第1の閾値S0_bが対象ブロックに対応する縮小動きベクトルが指定する参照フレーム上の探索位置を含む探索範囲の読込データ量より大きい場合である。具体的な制御の内容については、図5にて記述する。
また、制御部404は、算出部403によって算出された第2の閾値Ssum_bに基づいて、対象ブロックの動きベクトルを検出する際に、対象ブロックに対応するベクトル群が指定する参照フレーム上の探索位置を含む探索範囲の読込データ量を制御してもよい。たとえば、制御部404は、等倍ME部302に対して、Ssum_bを超えないような探索範囲とするように制御する。たとえば、制御部404は、予測ベクトルが指定する参照フレーム上の探索位置を含む探索範囲を狭めてもよい。
また、制御部404は、縮小動きベクトルと予測ベクトルとの組合せのうちの、組合せに含まれるベクトルが指定する参照フレーム上の探索位置を含む探索範囲の読込データ量が第2の閾値以下となる組合せを選択することにより、読込データ量を制御してもよい。
具体的に、制御部404は、組合せに含まれるベクトルが指定する参照フレーム上の探索位置を含む探索範囲の読込データ量が第2の閾値以下となる組合せを選択する。そして、制御部404は、選択した組合せに含まれるベクトルが指定する参照フレーム上の探索位置を含む探索範囲の画像データを読み込むように等倍ME部302を制御する。具体的な制御の内容は、図13にて後述する。
図5は、縮小MEにおける等倍ME探索範囲算出手順の一例を示す説明図である。図5では、対象ブロックの縮小動き探索において得られた縮小動きベクトルMVrtと、前ブロックの縮小動きベクトルMVrpを入力として、等倍MEにおいて対象ブロックの縮小動きベクトルMVrtを用いた場合の探索範囲を算出する例について説明する。
図5の(a)では、前ブロックの縮小動きベクトルMVrpと、対象ブロックの縮小動きベクトルMVrtとの位置関係を示す。縮小動きベクトルMVrpと縮小動きベクトルMVrtとは、似たような値になりやすい。
図5の(b)では、等倍MEの参照領域を示す。各ブロックにおける等倍MEの参照領域は、縮小動きベクトルMVrtを等倍にスケーリングした移動先のブロックに対して、等倍MEで探索する範囲だけ拡張した参照領域501となる。符号化装置100は、それぞれのブロックの参照領域501に対してアクセスする際に、外部メモリの最小アクセス粒度に対応するメモリアライメント単位でアクセスする。メモリアライメント単位の記憶領域を、以下、「アライメント領域」と称する。
図5の(c)では、アライメント領域502を示す。メモリアライメントは、たとえば、1ラインとなることもあるし、8x4=32[byte]等の矩形となることもある。本実施の形態では、32[byte]の矩形をメモリアライメントとする。図5の(c)では、アライメント領域502の中での、前ブロックにおける縮小動きベクトルMVrpから特定される参照領域501rpと、対象ブロックにおける縮小動きベクトルMVrtから特定される参照領域501rtとを示す。
図5の(d)では、メモリアライメント単位で前ブロックの参照領域501rpにアクセスする例と、対象ブロックの参照領域501rtにアクセスする例を示す。符号化装置100は、参照領域501にアクセスしようとすると、参照領域501を含むアライメント領域502にアクセスすることになる。アライメント領域502が示す記憶領域が、探索範囲となる。また、アライメント領域502のデータ量を、「読込データ量」と称する。
具体的に、符号化装置100がメモリアライメント単位で前ブロックの参照領域501rpにアクセスしようとすると、符号化装置100は、図5の(d)にて粗いハッチを付与したアライメント領域503rpにアクセスすることになる。
また、符号化装置100がメモリアライメント単位で対象ブロックの参照領域501rtにアクセスしようとすると、符号化装置100は、図5の(d)にて細かいハッチを付与したアライメント領域503rtにアクセスすることになる。アライメント領域503rtは、対象ブロックが参照するアライメント領域から、前ブロックで参照するアライメント領域503rpと重なる領域を除いた領域となる。
具体的に、符号化装置100は、縮小動きベクトルを用いた場合の対象ブロックの読込データ量を、アライメント領域503rtに矩形が11個あることから、32×11=352[byte]であると算出する。
そして、符号化装置100は、読込データ量とS0_bとを比較する。S0_bは、縮小ME処理における、等倍ME処理時の縮小動きベクトルを用いた場合のブロックごとの読込データ量の閾値である。読込データ量がS0_b以下である場合、符号化装置100は、対象ブロックの次ブロックにおいて通常の縮小動き探索を行う。読込データ量がS0_bを超えた場合、符号化装置100は、次ブロックにおいて縮小動き探索に制限をかける。具体的な制限の内容は、たとえば、次ブロックの縮小動きベクトルを、対象ブロックの縮小動きベクトルMVrtに近づける、または、縮小動き探索範囲を小さくする等である。このような制限をかけることにより、次ブロックのメモリアライメント単位でアクセスする際のアライメント領域の大きさを小さくすることができる。
読込データ量に対する第1の閾値S0_bは、ブロックごとに一定値であってもよいし、ブロックごとに可変であってもよい。ブロックごとに一定値である場合の閾値算出方法の一例としては、1フレームで許容される読込データ量を、フレーム内の総ブロック数で割った値とする方法がある。ブロックごとに可変である場合の閾値算出方法について、図6を用いて説明する。
図6は、S0_bの算出手順の一例を示す説明図である。図6では、グラフ601を用いて、S0_bの算出手順の一例を示す。グラフ601の横軸は、フレーム内ブロック数を示す。グラフ601の縦軸は、読込データ量の合計を示す。
グラフ601内で示す、上限直線602は、対象ブロックが1フレームの最後のブロックに近づくにつれて読込データ量の合計を目標値S0に収束させるために用いる直線である。符号化装置100は、各ブロックにおいてフレームの先頭のブロックから対象ブロックまでの読込データ量の合計が、上限直線602を超えた場合、縮小ME動き探索に制限を発生させるように、ブロックごとにS0_bを設定する。具体的なS0_bの値は、対象ブロック位置に対応する上限直線602の読込データ量から、前ブロックまでの読込データ量の合計を引いた値である。
たとえば、グラフ601において、棒グラフを黒く塗りつぶしたブロック(i)が対象ブロックであるとする。グラフ601では、対象ブロックの読込データ量が、S0_bを超えたことを示す。この場合、符号化装置100は、対象ブロックの次ブロックであるブロック(i+1)における縮小ME動き探索に制限をかける。符号化装置100は、対象ブロック位置に対応する上限直線602が示す読込データ量より、前ブロックまでの読込データ量の合計が小さくなる、ブロック(i+1)の縮小ME動き探索と、ブロック(i+2)の縮小ME動き探索と、に制限をかける。
図7は、等倍MEの各探索範囲候補における予測ベクトルを追加した際の、組合せの一例を示す説明図である。予測ベクトルは、空間予測ベクトルと、時間予測ベクトルとがある。空間予測ベクトルは、対象ブロックの左に隣接するブロックの等倍ME結果の動きベクトルや、対象ブロックの上に隣接するブロックの等倍ME結果の動きベクトルである。対象ブロックの左に隣接するブロックの動きベクトルを、以下、「左隣接ベクトル」と称する。また、対象ブロックの上に隣接するブロックの動きベクトルを、以下、「上隣接ベクトル」と称する。
時間予測ベクトルは、異なる時間のフレームにおける、対象ブロックと同位置にあるブロックから時間距離に応じてスケーリングしたベクトルである。時間予測ベクトルについては、図10にて詳細に説明する。
表701は、縮小動きベクトルと予測ベクトルとの4つの組合せにおける探索範囲候補を示す。1つ目の組合せである701−Aは、予測ベクトルを追加せず、縮小動きベクトルから特定される探索範囲候補Aを示す。また、探索範囲候補Aの読込データ量をRAとする。
2つ目の組合せである701−Bは、予測ベクトルとして上隣接ベクトルを追加し、縮小動きベクトルと上隣接ベクトルとから特定される探索範囲候補Bを示す。また、探索範囲候補Bの読込データ量をRBとする。
3つ目の組合せである701−Cは、予測ベクトルとして時間予測ベクトルを追加し、縮小動きベクトルと時間予測ベクトルとから特定される探索範囲候補Cを示す。また、探索範囲候補Cの読込データ量をRCとする。
4つ目の組合せである701−Dは、予測ベクトルとして上隣接ベクトルと時間予測ベクトルとを追加し、縮小動きベクトルと上隣接ベクトルと時間予測ベクトルとから特定される探索範囲候補Dを示す。また、探索範囲候補Dの読込データ量をRDとする。
なお、図7に示す表701は、空間予測ベクトルとして上隣接ベクトルを採用した場合を示した。たとえば、空間予測ベクトルとして、左隣接ベクトルが採用されてもよいし、左隣接ベクトルと上隣接ベクトルとのうちの少なくともいずれか一方が採用されてもよい。空間予測ベクトルとして左隣接ベクトルと上隣接ベクトルとのうちの少なくともいずれか一方が採用される場合、表701に示す4つの組合せの他に、次に示す4つの組合せがある。
1つ目の組合せは、縮小動きベクトルと左隣接ベクトルとである。2つ目の組合せは、縮小動きベクトルと上隣接ベクトルと左隣接ベクトルとである。3つ目の組合せは、縮小動きベクトルと左隣接ベクトルと時間予測ベクトルとである。4つ目の組合せは、縮小動きベクトルと上隣接ベクトルと左隣接ベクトルと時間予測ベクトルとである。
さらに、時間予測ベクトルは、0個である場合もあるし、1個である場合もあるし、2個である場合もある。時間予測ベクトルの個数の判定基準は、図10にて後述する。空間予測ベクトルが1個であり、時間予測ベクトルが0個の場合、縮小動きベクトルと予測ベクトルとの組合せは、2個となる。また、空間予測ベクトルが1個であり、時間予測ベクトルが2個の場合、縮小動きベクトルと予測ベクトルとの組合せは、8個となる。
図8は、等倍MEの各探索範囲候補の読込データ量を示す説明図(その1)である。図8の(a)では、前ブロックの縮小動きベクトルMVrpと、対象ブロックの縮小動きベクトルMVrtと、対象ブロックの上隣接ベクトルMVutと、対象ブロックの時間予測ベクトルMVttとの位置関係を示す。
図8の(b)では、アライメント領域502の中での、参照領域501rpと、参照領域501rtと、上隣接ベクトルMVutから特定される参照領域501utと、時間予測ベクトルMVttから特定される参照領域501ttとを示す。
図9は、等倍MEの各探索範囲候補の読込データ量を示す説明図(その2)である。図9では、探索範囲候補A〜探索範囲候補Dのそれぞれの読込データ量RA〜RDを図示する。
探索範囲候補Aには矩形が11個あることから、符号化装置100は、読込データ量RAを、32×11=352[byte]であると算出する。また、探索範囲候補Bには矩形が19個あることから、符号化装置100は、読込データ量RBを、32×19=608[byte]であると算出する。さらに、探索範囲候補Cには矩形が21個あることから、符号化装置100は、読込データ量RCを、32×21=672[byte]であると算出する。同様に、探索範囲候補Dには矩形が28個あることから、符号化装置100は、読込データ量RDを、32×28=896[byte]であると算出する。
図10は、時間予測ベクトルの説明図である。図10では、時間予測ベクトルの具体例を図示する。図10では、対象フレームが、先頭のフレームから数えて、N番目に表示されるフレームである場合について説明する。また、対象フレームが符号化される順番は、n番目であるとする。Nとnは、1以上の整数である。
また、前フレームとなる、N−1番目に表示されるフレームの符号化される順番は、n−2番目となるとする。また、次フレームとなるN+1番目に表示されるフレームは、符号化される順番がn−1番目となるとする。なお、図10に示すような、表示順と符号化処理順が異なる状態となる場合とは、たとえば、N番目に表示するフレームが、N+1番目に表示するフレームを参照する場合である。具体的に、N番目に表示するフレームは、N+1番目に表示するフレームが符号化された後、符号化されたデータが復号された復号画像を参照して符号化される。
このとき、対象ブロックの時間予測ベクトルは、対象フレームとは異なるフレームであり、符号化済のフレームの対象ブロックの同位置にあるブロックの動きベクトルを、参照フレームの時間距離に応じてスケーリングしたベクトルとなる。
図10の例では、N+1番目に表示されるフレームの動きベクトルMVenが、対象ブロックの同位置にあるブロックの動きベクトルとなる。また、参照フレームとなるN−1番目のフレームとの時間距離をフレーム数で表現すると、N−1番目のフレームから対象フレームまでが1となり、N−1番目のフレームからN+1番目のフレームまでが、2となる。したがって、符号化装置100は、動きベクトルMVenの大きさを1/2としたベクトルを、時間予測ベクトルとして算出する。
また、時間予測ベクトルが0個となる場合とは、一連のフレームのうちの参照フレームを参照して符号化されたフレームが無い場合であり、たとえば、N+1番目に表示されるフレームが、イントラ予測を行うフレームである場合である。また、時間予測ベクトルが1個となる場合とは、一連のフレームのうちの参照フレームを参照して符号化されたフレームが1個ある場合であり、たとえば、N+1番目に表示されるフレームが、フレームN−1を参照するインター予測を行うフレームである場合である。
また、時間予測ベクトルが2個となる場合とは、一連のフレームのうちの参照フレームを参照して符号化されたフレームが2個ある場合である。たとえば、N+1番目に表示されるフレームとN−2番目に表示されるフレームが、フレームN−1を参照するインター予測を行うフレームである場合である。
なお、N−1番目以前に表示されるフレームの動きベクトルを用いて、N番目の動きベクトルの時間予測ベクトルを算出して、予測ベクトルに追加することを許可するか否かは、符号化装置100が採用する動画像符号化方式に依ることになる。したがって、符号化装置100は、符号化装置100が採用する動画像符号化方式が、N−1番目以前に表示されるフレームの動きベクトルをN番目の動きベクトルの時間予測ベクトルとして採用することを許可するか否かを確認する。採用することを許可するならば、符号化装置100は、N−1番目以前に表示するフレームがN−1番目に表示するフレームを参照して符号化されたフレームであるか否かを判断することにより、時間予測ベクトルの個数を計数する。次に、図11〜図13を用いて、符号化装置100が実行するフローチャートを示す。
図11は、符号化処理手順の一例を示すフローチャートである。符号化処理は、一連のフレームを符号化する処理である。符号化装置100は、一連のフレームのうちの先頭のフレームを対象フレームとして選択する(ステップS1101)。
次に、符号化装置100は、メモリ帯域から、Sbandを決定する(ステップS1102)。ステップS1102におけるメモリ帯域は、外部メモリ101のメモリ帯域のうちの、符号化処理の等倍ME処理に割り当てることができるメモリ帯域である。Sbandは、符号化処理において固定値であってもよいし、可変であってもよい。たとえば、コンピュータシステム200において、符号化処理以外の処理にメモリ帯域を多く割り当てたい場合、符号化装置100は、Sbandを一時的に小さく決定してもよい。一方、符号化処理以外の処理が少ない場合、符号化装置100は、Sbandを一時的に大きく決定してもよい。
次に、符号化装置100は、Ssum=Sband/符号化におけるフレームレートfを算出する(ステップS1103)。たとえば、1秒間に60フレームが存在する場合、フレームレートは、60となる。続けて、符号化装置100は、対象フレームにおける予測ベクトルの最大個数を特定する(ステップS1104)。
次に、符号化装置100は、S0+S1≦Ssumの関係式と、予測ベクトルの最大個数から、S0とS1とを決定する(ステップS1105)。たとえば、予測ベクトルのうちの時間予測ベクトルの個数が0である場合、符号化装置100は、S0+S1≦Ssumを満たし、S0:S1=8:2を満たすように、S0とS1とを決定する。また、予測ベクトルのうちの時間予測ベクトルの個数が1以上である場合、符号化装置100は、S0+S1≦Ssumを満たし、S0:S1=7:3を満たすように、S0とS1とを決定する。さらに、符号化装置100は、予測ベクトルのうちの時間予測ベクトルの個数が2である場合のS0とS1との比率を設定しておいてもよい。
続けて、符号化装置100は、縮小ME処理を実行する(ステップS1106)。縮小ME処理の詳細は、図12にて後述する。次に、符号化装置100は、等倍ME処理を実行する(ステップS1107)。等倍ME処理の詳細は、図13にて後述する。等倍ME処理の終了後、符号化装置100は、動き補償部304、予測画像選択部305等により、対象フレームに対する残りの符号化処理を行う。
続けて、符号化装置100は、一連のフレーム全てを選択したか否かを判断する(ステップS1108)。まだ選択していないフレームがある場合(ステップS1108:No)、符号化装置100は、次のフレームを対象フレームとして選択する(ステップS1109)。そして、符号化装置100は、ステップS1102の処理に移行する。
一連のフレーム全てを選択した場合(ステップS1108:Yes)、符号化装置100は、符号化処理を終了する。符号化処理を実行することにより、符号化装置100は、メモリ帯域を超えずに、一連のフレームを符号化することができる。
図12は、縮小ME処理手順の一例を示すフローチャートである。縮小ME処理は、低解像度画像における対象ブロックの縮小動きベクトルを検出する処理である。
符号化装置100は、縮小ME探索制限を無しに設定する(ステップS1201)。次に、符号化装置100は、対象フレーム内の先頭のブロックを対象ブロックとして選択する(ステップS1202)。続けて、符号化装置100は、対象ブロックについて、縮小ME探索制限に応じた縮小動き探索処理を実行する(ステップS1203)。縮小ME探索制限が有りの場合の縮小動き探索処理は、図5にて説明した通りである。
次に、符号化装置100は、縮小動きベクトルが指定する等倍ME探索範囲の読込データ量を算出する(ステップS1204)。縮小動きベクトルが指定する等倍ME探索範囲の算出については、図5の(b)〜図5の(d)にて説明した通りである。そして、符号化装置100は、S0_bを算出する(ステップS1205)。
続けて、符号化装置100は、読込データ量がS0_bより小さいか否かを判断する(ステップS1206)。読込データ量がS0_bより小さい場合(ステップS1206:Yes)、符号化装置100は、縮小ME探索制限を無しに設定する(ステップS1207)。読込データ量がS0_b以上の場合(ステップS1206:No)、符号化装置100は、縮小ME探索制限を有りに設定する(ステップS1208)。
ステップS1207、またはステップS1208の処理終了後、符号化装置100は、対象フレーム内の全てのブロックを選択したか否かを判断する(ステップS1209)。対象フレーム内にまだ選択していないブロックがある場合(ステップS1209:No)、符号化装置100は、次のブロックを対象ブロックとして選択する(ステップS1210)。そして、符号化装置100は、ステップS1203の処理に移行する。
対象フレーム内の全てのブロックを選択した場合(ステップS1209:Yes)、符号化装置100は、縮小ME処理を終了する。縮小ME処理を実行することにより、符号化装置100は、縮小動きベクトルを検出しつつ、読込データ量がS0_bを超えた場合、次のブロックの読込データ量を削減して、メモリ帯域を超過しないようにすることができる。
図13は、等倍ME処理手順の一例を示すフローチャートである。等倍ME処理は、縮小動きベクトルが指定する探索範囲をブロックマッチングにより探索する処理である。
符号化装置100は、対象フレーム内の先頭のブロックを対象ブロックとして選択する(ステップS1301)。次に、符号化装置100は、縮小動きベクトルを取得する(ステップS1302)。続けて、符号化装置100は、予測ベクトルを取得する(ステップS1303)。予測ベクトルについては、図7で説明した通りである。次に、符号化装置100は、縮小動きベクトルと予測ベクトルとの組合せを生成する(ステップS1304)。続けて、符号化装置100は、各組合せの探索範囲候補の読込データ量を算出する(ステップS1305)。そして、符号化装置100は、Ssum_bを算出する(ステップS1306)。Ssum_bは、S0_bと同様の方法で算出することができる。
次に、符号化装置100は、各組合せの探索範囲候補の読込データ量と、Ssum_bとを比較する(ステップS1307)。
続けて、符号化装置100は、Ssum_b以下となる組合せのうちの、ベクトル数が最大となる組合せを選択する(ステップS1308)。ベクトル数が最大となる組合せが複数ある場合、符号化装置100は、ベクトル数が最大となる組合せのうちのどの組合せを選択してもよい。
次に、符号化装置100は、選択した組合せの探索範囲候補のデータを、外部メモリから読み込む(ステップS1309)。続けて、符号化装置100は、等倍動き探索処理を実行する(ステップS1310)。次に、符号化装置100は、対象フレーム内の全てのブロックを選択したか否かを判断する(ステップS1311)。対象フレーム内にまだ選択していないブロックがある場合(ステップS1311:No)、符号化装置100は、次のブロックを対象ブロックとして選択する(ステップS1312)。そして、符号化装置100は、ステップS1302の処理に移行する。
全てのブロックを選択した場合(ステップS1311:Yes)、符号化装置100は、等倍ME処理を終了する。等倍ME処理を実行することにより、符号化装置100は、対象ブロックの動きベクトルを検出しつつ、メモリ帯域を超過しない範囲で予測ベクトルを追加して、符号化効率を向上することができる。
以上説明したように、符号化装置100によれば、フレームのブロックの動き検出を行う際、予測ベクトル数とSsumに応じて、縮小動きベクトルの最大読込データ量S0を決定する。これにより、符号化装置100は、フレームの符号化にかかる処理の遅延を抑制しつつ符号化効率の向上を図る。符号化装置100は、フレームの符号化にかかる処理の遅延が抑制されることにより、予測ベクトルを追加評価する場合においても、メモリ帯域超過によるコマ落ち等の動作破たんを防ぐことができる。
また、符号化装置100によれば、対象ブロックの動きベクトルを検出する際に、縮小動きベクトルが指定する探索範囲の読込データ量と、S0_bとに基づいて、縮小動きベクトルが指定する探索範囲の読込データ量を制御してもよい。これにより、符号化装置100は、対象フレーム内の一つ一つのブロックに対して縮小動きベクトルが指定する探索範囲の読込データ量がS0_bを超えないようにする。したがって、符号化装置100は、全ブロックの合計の読込データ量もS0を超えないようになり、メモリ帯域の超過を抑制することができる。
また、符号化装置100によれば、S0_bが対象ブロックに対応する縮小動きベクトルが指定する探索範囲の読込データ量より小さい場合、対象ブロックの次に選択されるブロックに対応する縮小動きベクトルが指定する探索範囲の読込データ量を制御してもよい。これにより、符号化装置100は、対象フレーム内の対象ブロックには制限をかけず、読込データ量がS0_bを超えた場合にのみ次のブロックに対する込データ量を制限することになり、可能な限り縮小動きベクトルに制限をかけずに済ますことができる。
また、符号化装置100によれば、予測ベクトルが指定する参照フレーム上の探索位置を含む探索範囲の画像データが読み込まれる際のフレーム単位の第1の最大読込データ量S1を決定してもよい。これにより、符号化装置100は、縮小動きベクトルが指定する探索範囲の画像データのブロックごとの合計がS0以下となり、予測ベクトルが指定する探索範囲の画像データのブロックごとの合計がS1以下となり、メモリ帯域の超過を抑制することができる。
また、符号化装置100によれば、対象ブロックの動きベクトルを検出する際に、ベクトル群が指定する探索範囲の読込データ量と、Ssum_bとに基づいて、ベクトル群が指定する探索範囲の読込データ量を制御してもよい。これにより、符号化装置100は、対象フレーム内の一つ一つのブロックに対してベクトル群が指定する探索範囲の読込データ量がSsum_bを超えないようにする。したがって、符号化装置100は、全ブロックの合計の読込データ量もSsumを超えないようになり、メモリ帯域の超過を抑制することができる。
また、符号化装置100は、対象ブロックに対応する縮小画像上のブロックの動きベクトルと予測ベクトルとの組合せから、組合せに含まれるベクトルが指定する参照フレーム上の探索位置を含む探索範囲の読込データ量がSsum_b以下となる組合せを選択する。そして、符号化装置100は、対象ブロックの動きベクトルを検出する際に、選択した組合せに含まれるベクトルが指定する参照フレーム上の探索位置を含む探索範囲のデータを読み込んでもよい。たとえば、符号化装置100は、Ssum_b以下となる組合せのうち、最大のベクトル数となる組合せを選択することにより、メモリ帯域の超過を抑制しつつ、符号化効率の向上を図ることができる。
また、符号化装置100は、対象フレームにおけるベクトル群の最大の個数を、空間予測ベクトル、または/および時間予測ベクトルの個数を計数することにより特定してもよい。これにより、たとえば、符号化装置100は、空間予測ベクトルの数や時間予測ベクトルの数が少なければ、縮小動きベクトルに割り当てられる読込データ量を多くして、メモリ帯域の超過を抑制しつつ、符号化効率の向上を図ることができる。
なお、本実施の形態で説明した符号化方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本符号化プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本符号化プログラムは、インターネット等のネットワークを介して配布してもよい。
また、本実施の形態で説明した符号化装置100は、スタンダードセルやストラクチャードASIC(Application Specific Integrated Circuit)などの特定用途向けIC(以下、単に「ASIC」と称す。)やFPGAなどのPLD(Programmable Logic Device)によっても実現することができる。具体的には、たとえば、上述した符号化装置100の特定部401〜制御部404をHDL記述によって機能定義し、そのHDL記述を論理合成してASICやPLDに与えることにより、符号化装置100を製造することができる。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)一連のフレームのうちの符号化対象となる対象フレームから分割されたブロックの動きベクトルを検出する際の前記対象フレームの参照先となる参照フレーム上の探索位置を指定するベクトル群の個数を、前記一連のフレームのうちの前記参照フレームを参照して符号化されたフレームの個数に基づいて特定する特定部と、
前記特定部によって特定された前記個数と、前記一連のフレームの前記対象フレーム単位の単位時間当たりに読込可能な前記参照フレームの最大読込データ量とに基づいて、前記対象フレームを縮小した縮小画像上のブロックの動きベクトルが指定する前記参照フレーム上の探索位置を含む探索範囲の画像データが読み込まれる際の前記対象フレーム単位の第1の最大読込データ量を決定する決定部と、
を有することを特徴とする符号化装置。
(付記2)前記決定部によって決定された前記第1の最大読込データ量と、前記対象フレームに含まれるブロック数とに基づいて、前記対象フレームから分割されたブロックから選択された対象ブロックに対応する第1の閾値を算出する算出部と、
前記算出部によって算出された前記第1の閾値に基づいて、前記対象ブロックの動きベクトルを検出する際に、前記対象ブロックに対応する前記縮小画像上のブロックの動きベクトルが指定する前記参照フレーム上の探索位置を含む探索範囲の読込データ量を制御する制御部と、
を有することを特徴とする付記1に記載の符号化装置。
(付記3)前記制御部は、
前記第1の閾値が前記対象ブロックに対応する前記縮小画像上のブロックの動きベクトルが指定する前記参照フレーム上の探索位置を含む探索範囲の読込データ量より大きい場合、前記対象ブロックの次に選択されるブロックに対応する前記縮小画像上のブロックの動きベクトルが指定する前記参照フレーム上の探索位置を含む探索範囲の読込データ量を制御することを特徴とする付記2に記載の符号化装置。
(付記4)前記決定部は、
さらに、前記個数と、前記一連のフレームの前記対象フレーム単位の単位時間当たりに読込可能な前記参照フレームの最大読込データ量と前記第1の最大読込データ量とに基づいて、前記ベクトル群のうちの前記縮小画像上のブロックの動きベクトルとは異なるベクトルが指定する前記参照フレーム上の探索位置を含む探索範囲の画像データが読み込まれる際の前記対象フレーム単位の第2の最大読込データ量を決定することを特徴とする付記3に記載の符号化装置。
(付記5)前記算出部は、
前記決定部によって決定された前記第1の最大読込データ量および前記第2の最大読込データ量と、前記対象フレームに含まれるブロック数とに基づいて、前記対象ブロックに対応する第2の閾値を算出し、
前記制御部は、
前記算出部によって算出された前記第2の閾値に基づいて、前記対象ブロックの動きベクトルを検出する際に、前記対象ブロックに対応する前記ベクトル群が指定する前記参照フレーム上の探索位置を含む探索範囲の読込データ量を制御することを特徴とする付記4に記載の符号化装置。
(付記6)前記制御部は、
前記対象ブロックに対応する前記縮小画像上のブロックの動きベクトルと前記異なるベクトルとの組合せのうちの、前記組合せに含まれるベクトルが指定する前記参照フレーム上の探索位置を含む探索範囲の読込データ量が前記第2の閾値以下となる組合せを選択することにより、前記対象ブロックに対応する前記ベクトル群が指定する前記参照フレーム上の探索位置を含む探索範囲の読込データ量を制御することを特徴とする付記5に記載の符号化装置。
(付記7)前記特定部は、
前記対象フレームから分割されたブロックに隣接するブロックの動きベクトル、または/および前記参照フレームを参照して符号化されたフレーム内の前記対象フレームから分割されたブロックと同位置にあるブロックの動きベクトル、の個数を特定することを特徴とする付記1〜6のいずれか一つに記載の符号化装置。
(付記8)一連のフレームのうちの符号化対象となる対象フレームから分割されたブロックの動きベクトルを検出する際の前記対象フレームの参照先となる参照フレーム上の探索位置を指定するベクトル群の個数を、前記一連のフレームのうちの前記参照フレームを参照して符号化されたフレームの個数に基づいて特定する特定部と、
前記特定部によって特定された前記個数と、前記一連のフレームの前記対象フレーム単位の単位時間当たりに読込可能な前記参照フレームの最大読込データ量とに基づいて、前記対象フレームを縮小した縮小画像上のブロックの動きベクトルが指定する前記参照フレーム上の探索位置を含む探索範囲の画像データが読み込まれる際の前記対象フレーム単位の第1の最大読込データ量を決定する決定部と、
を有するコンピュータを含むことを特徴とするコンピュータシステム。
(付記9)コンピュータが、
一連のフレームのうちの符号化対象となる対象フレームから分割されたブロックの動きベクトルを検出する際の前記対象フレームの参照先となる参照フレーム上の探索位置を指定するベクトル群の個数を、前記一連のフレームのうちの前記参照フレームを参照して符号化されたフレームの個数に基づいて特定し、
特定した前記個数と、前記一連のフレームの前記対象フレーム単位の単位時間当たりに読込可能な前記参照フレームの最大読込データ量とに基づいて、前記対象フレームを縮小した縮小画像上のブロックの動きベクトルが指定する前記参照フレーム上の探索位置を含む探索範囲の画像データが読み込まれる際の前記対象フレーム単位の第1の最大読込データ量を決定する、
処理を実行することを特徴とする符号化方法。
(付記10)コンピュータに、
一連のフレームのうちの符号化対象となる対象フレームから分割されたブロックの動きベクトルを検出する際の前記対象フレームの参照先となる参照フレーム上の探索位置を指定するベクトル群の個数を、前記一連のフレームのうちの前記参照フレームを参照して符号化されたフレームの個数に基づいて特定し、
特定した前記個数と、前記一連のフレームの前記対象フレーム単位の単位時間当たりに読込可能な前記参照フレームの最大読込データ量とに基づいて、前記対象フレームを縮小した縮小画像上のブロックの動きベクトルが指定する前記参照フレーム上の探索位置を含む探索範囲の画像データが読み込まれる際の前記対象フレーム単位の第1の最大読込データ量を決定する、
処理を実行させることを特徴とする符号化プログラム。
(付記11)一連のフレームのうちの符号化対象となる対象フレームから分割されたブロックの動きベクトルを検出する際の前記対象フレームの参照先となる参照フレーム上の探索位置を指定するベクトル群の個数を、前記一連のフレームのうちの前記参照フレームを参照して符号化されたフレームの個数に基づいて特定し、
特定した前記個数と、前記一連のフレームの前記対象フレーム単位の単位時間当たりに読込可能な前記参照フレームの最大読込データ量とに基づいて、前記対象フレームを縮小した縮小画像上のブロックの動きベクトルが指定する前記参照フレーム上の探索位置を含む探索範囲の画像データが読み込まれる際の前記対象フレーム単位の第1の最大読込データ量を決定する、
処理を実行させる符号化プログラムを記録したことを特徴とする記録媒体。
100 符号化装置
200 コンピュータシステム
401 特定部
402 決定部
403 算出部
404 制御部

Claims (9)

  1. 一連のフレームのうちの符号化対象となる対象フレームの参照先となる参照フレームを参照して符号化されたフレームの各ブロックの動きベクトルを、前記対象フレームから分割されたブロックの動きベクトルを検出する際の前記参照フレーム上の探索位置を指定するベクトル群とする際に、前記ベクトル群の個数を、前記一連のフレームのうちの前記参照フレームを参照して符号化されたフレームの個数に基づいて特定する特定部と、
    前記特定部によって特定された前記個数と、前記一連のフレームの前記対象フレーム単位の単位時間当たりに読込可能な前記参照フレームの最大読込データ量とに基づいて、前記対象フレームを縮小した縮小画像上のブロックの動きベクトルが指定する前記参照フレーム上の探索位置を含む探索範囲の画像データが読み込まれる際の前記対象フレーム単位の第1の最大読込データ量を決定する決定部と、
    を有することを特徴とする符号化装置。
  2. 前記決定部によって決定された前記第1の最大読込データ量と、前記対象フレームに含まれるブロック数とに基づいて、前記対象フレームから分割されたブロックから選択された対象ブロックに対応する第1の閾値を算出する算出部と、
    前記算出部によって算出された前記第1の閾値に基づいて、前記対象ブロックの動きベクトルを検出する際に、前記対象ブロックに対応する前記縮小画像上のブロックの動きベクトルが指定する前記参照フレーム上の探索位置を含む探索範囲の読込データ量を制御する制御部と、
    を有することを特徴とする請求項1に記載の符号化装置。
  3. 前記制御部は、
    前記第1の閾値が前記対象ブロックに対応する前記縮小画像上のブロックの動きベクトルが指定する前記参照フレーム上の探索位置を含む探索範囲の読込データ量より小さい場合、前記対象ブロックの次に選択されるブロックに対応する前記縮小画像上のブロックの動きベクトルが指定する前記参照フレーム上の探索位置を含む探索範囲の読込データ量を制御することを特徴とする請求項2に記載の符号化装置。
  4. 前記決定部は、
    さらに、前記個数と、前記一連のフレームの前記対象フレーム単位の単位時間当たりに読込可能な前記参照フレームの最大読込データ量と前記第1の最大読込データ量とに基づいて、前記ベクトル群のうちの前記縮小画像上のブロックの動きベクトルとは異なるベクトルが指定する前記参照フレーム上の探索位置を含む探索範囲の画像データが読み込まれる際の前記対象フレーム単位の第2の最大読込データ量を決定することを特徴とする請求項3に記載の符号化装置。
  5. 前記算出部は、
    前記決定部によって決定された前記第1の最大読込データ量および前記第2の最大読込データ量と、前記対象フレームに含まれるブロック数とに基づいて、前記対象ブロックに対応する第2の閾値を算出し、
    前記制御部は、
    前記算出部によって算出された前記第2の閾値に基づいて、前記対象ブロックの動きベクトルを検出する際に、前記対象ブロックに対応する前記ベクトル群が指定する前記参照フレーム上の探索位置を含む探索範囲の読込データ量を制御することを特徴とする請求項4に記載の符号化装置。
  6. 前記制御部は、
    前記対象ブロックに対応する前記縮小画像上のブロックの動きベクトルと前記異なるベクトルとの組合せのうちの、前記組合せに含まれるベクトルが指定する前記参照フレーム上の探索位置を含む探索範囲の読込データ量が前記第2の閾値以下となる組合せを選択することにより、前記対象ブロックに対応する前記ベクトル群が指定する前記参照フレーム上の探索位置を含む探索範囲の読込データ量を制御することを特徴とする請求項5に記載の符号化装置。
  7. 前記特定部は、
    前記対象フレームから分割されたブロックに隣接するブロックの動きベクトル、または/および前記参照フレームを参照して符号化されたフレーム内の前記対象フレームから分割されたブロックと同位置にあるブロックの動きベクトル、の個数を特定することを特徴とする請求項1〜6のいずれか一つに記載の符号化装置。
  8. コンピュータが、
    一連のフレームのうちの符号化対象となる対象フレームの参照先となる参照フレームを参照して符号化されたフレームの各ブロックの動きベクトルを、前記対象フレームから分割されたブロックの動きベクトルを検出する際の前記参照フレーム上の探索位置を指定するベクトル群とする際に、前記ベクトル群の個数を、前記一連のフレームのうちの前記参照フレームを参照して符号化されたフレームの個数に基づいて特定し、
    特定した前記個数と、前記一連のフレームの前記対象フレーム単位の単位時間当たりに読込可能な前記参照フレームの最大読込データ量とに基づいて、前記対象フレームを縮小した縮小画像上のブロックの動きベクトルが指定する前記参照フレーム上の探索位置を含む探索範囲の画像データが読み込まれる際の前記対象フレーム単位の第1の最大読込データ量を決定する、
    処理を実行することを特徴とする符号化方法。
  9. コンピュータに、
    一連のフレームのうちの符号化対象となる対象フレームの参照先となる参照フレームを参照して符号化されたフレームの各ブロックの動きベクトルを、前記対象フレームから分割されたブロックの動きベクトルを検出する際の前記参照フレーム上の探索位置を指定するベクトル群とする際に、前記ベクトル群の個数を、前記一連のフレームのうちの前記参照フレームを参照して符号化されたフレームの個数に基づいて特定し、
    特定した前記個数と、前記一連のフレームの前記対象フレーム単位の単位時間当たりに読込可能な前記参照フレームの最大読込データ量とに基づいて、前記対象フレームを縮小した縮小画像上のブロックの動きベクトルが指定する前記参照フレーム上の探索位置を含む探索範囲の画像データが読み込まれる際の前記対象フレーム単位の第1の最大読込データ量を決定する、
    処理を実行させることを特徴とする符号化プログラム。
JP2015507915A 2013-03-29 2013-03-29 符号化装置、符号化方法、および符号化プログラム Active JP6137302B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/059760 WO2014155738A1 (ja) 2013-03-29 2013-03-29 符号化装置、コンピュータシステム、符号化方法、符号化プログラム、および記録媒体

Publications (2)

Publication Number Publication Date
JPWO2014155738A1 JPWO2014155738A1 (ja) 2017-02-16
JP6137302B2 true JP6137302B2 (ja) 2017-05-31

Family

ID=51622782

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015507915A Active JP6137302B2 (ja) 2013-03-29 2013-03-29 符号化装置、符号化方法、および符号化プログラム

Country Status (4)

Country Link
US (1) US10034016B2 (ja)
EP (1) EP2981089B1 (ja)
JP (1) JP6137302B2 (ja)
WO (1) WO2014155738A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6135220B2 (ja) * 2013-03-18 2017-05-31 富士通株式会社 動画処理装置、動画処理方法および動画処理プログラム
JP6187286B2 (ja) * 2014-01-28 2017-08-30 富士通株式会社 動画像符号化装置
JP6728870B2 (ja) * 2016-03-28 2020-07-22 富士通株式会社 画像圧縮装置、画像圧縮方法、及び画像圧縮プログラム
CN109874017A (zh) * 2017-12-04 2019-06-11 晨星半导体股份有限公司 与移动补偿相关的影像处理装置及影像处理方法
CN118354098A (zh) * 2018-04-02 2024-07-16 寰发股份有限公司 用于视频编解码系统中的子块运动补偿的视频处理方法和装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5801778A (en) * 1996-05-23 1998-09-01 C-Cube Microsystems, Inc. Video encoding with multi-stage projection motion estimation
JPH1155676A (ja) * 1997-08-07 1999-02-26 Hitachi Ltd 同期型メモリを用いた動画像データ符号化装置
JP2000287214A (ja) * 1999-03-31 2000-10-13 Toshiba Corp 動き検出方法および装置
EP1460854A4 (en) * 2001-12-25 2008-10-22 Matsushita Electric Ind Co Ltd COMPRESSION / CODING DEVICE FOR MOTION PICTURES AND MOVEMENT VECTOR ORDERING PROCEDURES
KR100560843B1 (ko) * 2003-04-10 2006-03-13 에스케이 텔레콤주식회사 비디오 부호기에서 적응 움직임 벡터의 탐색 영역을결정하는 방법 및 장치
US8019000B2 (en) * 2005-02-24 2011-09-13 Sanyo Electric Co., Ltd. Motion vector detecting device
JP2008536429A (ja) * 2005-04-12 2008-09-04 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 領域の動的なアスペクト比を用いた領域ベース3drs動き推定
JP2007055013A (ja) 2005-08-23 2007-03-08 Seiko Epson Corp 色補正装置、色補正方法および色補正プログラム
JP4590335B2 (ja) * 2005-09-28 2010-12-01 キヤノン株式会社 画像処理装置及び画像処理方法
JP2007116293A (ja) 2005-10-19 2007-05-10 Hitachi Ltd データ記憶方法及びこの方法を用いた情報処理装置
US7852940B2 (en) * 2005-10-20 2010-12-14 Qualcomm Incorporated Scalable motion estimation for video encoding
JP2007124408A (ja) * 2005-10-28 2007-05-17 Matsushita Electric Ind Co Ltd 動きベクトル検出装置および動きベクトル検出方法
WO2007055013A1 (ja) 2005-11-11 2007-05-18 Fujitsu Limited 画像復号化装置および方法、画像符号化装置
JP4445463B2 (ja) * 2005-12-16 2010-04-07 株式会社東芝 動画像再符号化方法及び装置
JP5375483B2 (ja) 2009-09-24 2013-12-25 富士通株式会社 動き検出回路
JP2013115583A (ja) * 2011-11-28 2013-06-10 Canon Inc 動画像符号化装置及びその制御方法並びにプログラム

Also Published As

Publication number Publication date
JPWO2014155738A1 (ja) 2017-02-16
US10034016B2 (en) 2018-07-24
WO2014155738A1 (ja) 2014-10-02
EP2981089A4 (en) 2016-03-09
EP2981089B1 (en) 2019-07-10
EP2981089A1 (en) 2016-02-03
US20150350670A1 (en) 2015-12-03

Similar Documents

Publication Publication Date Title
JP6490203B2 (ja) 画像予測方法および関連装置
US11831891B2 (en) Image coding method, image decoding method, image coding apparatus, and image decoding apparatus
WO2014054267A1 (ja) 画像符号化装置及び画像符号化方法
TW202025725A (zh) 色彩分量間的子區塊移動向量繼承
JP6137302B2 (ja) 符号化装置、符号化方法、および符号化プログラム
JP5216710B2 (ja) 復号化処理方法
US9762916B2 (en) Encoding apparatus and method
US10666970B2 (en) Encoding apparatus, encoding method, and storage medium
JP6652068B2 (ja) 動画像符号化装置、動画像符号化方法および動画像符号化プログラム
JP4833309B2 (ja) 動画像圧縮符号化装置
KR20170126934A (ko) 컨텐츠-적응적 b-픽쳐 패턴 비디오 인코딩
JP6090430B2 (ja) 符号化装置、方法、プログラム、コンピュータシステム、記録媒体
JP2013207402A (ja) 画像符号化装置及びプログラム
WO2020129681A1 (ja) 符号化装置及びプログラム
JP6728870B2 (ja) 画像圧縮装置、画像圧縮方法、及び画像圧縮プログラム
US9948932B2 (en) Image processing apparatus and control method of image processing apparatus
JP6080077B2 (ja) 画像符号化方法及び画像符号化装置
JP2012120108A (ja) 補間画像生成装置及びプログラム、並びに、動画像復号装置及びプログラム
JP2011182356A (ja) 動きベクトル検出装置
JP6331972B2 (ja) 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム
JP2023030585A (ja) 画像符号化装置及び方法及びプログラム
JP6248648B2 (ja) 情報処理装置、符号化単位の選択方法、及びプログラム
JP2015019319A (ja) 符号化装置、符号化方法及びプログラム
JP2016058874A (ja) 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム
TW202005388A (zh) 交織預測的應用

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161101

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170104

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170417

R150 Certificate of patent or registration of utility model

Ref document number: 6137302

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150