[go: up one dir, main page]

JP2018032949A - 動きベクトル検出装置およびその制御方法 - Google Patents

動きベクトル検出装置およびその制御方法 Download PDF

Info

Publication number
JP2018032949A
JP2018032949A JP2016163037A JP2016163037A JP2018032949A JP 2018032949 A JP2018032949 A JP 2018032949A JP 2016163037 A JP2016163037 A JP 2016163037A JP 2016163037 A JP2016163037 A JP 2016163037A JP 2018032949 A JP2018032949 A JP 2018032949A
Authority
JP
Japan
Prior art keywords
motion vector
horizontal resolution
image
horizontal
search range
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.)
Withdrawn
Application number
JP2016163037A
Other languages
English (en)
Inventor
小林 幸史
Yukifumi Kobayashi
幸史 小林
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2016163037A priority Critical patent/JP2018032949A/ja
Priority to US15/679,881 priority patent/US20180063547A1/en
Publication of JP2018032949A publication Critical patent/JP2018032949A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/223Analysis of motion using block-matching
    • G06T7/238Analysis of motion using block-matching using non-full search, e.g. three-step search
    • 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/223Analysis of motion using block-matching
    • 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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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/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
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
    • 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
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • H04N5/145Movement estimation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Studio Devices (AREA)

Abstract

【課題】画像の解像度が増加した場合でも、内部メモリの容量を増加させることなく、参照領域の効率的な読み出しと、動きベクトルの検出精度の低下抑制とを実現可能な動きベクトル検出装置およびその制御方法を提供する。【解決手段】動きベクトルを検出する対象画像の水平解像度が閾値以上と判定されない場合には、対象画像を1つの領域として、領域に含まれるブロックについて所定の順序で動きベクトルを検出する。対象画像の水平解像度が閾値以上と判定された場合には、対象画像を水平方向に分割した複数の領域ごとに、領域に含まれるブロックについて所定の順序で動きベクトルを検出するように、対象ブロックの処理順序を変更する。【選択図】図1

Description

本発明は動きベクトル検出装置およびその制御方法に関する。
従来、動画像の符号化データ量を効率的に削減するための手法として、動き補償が知られている(非特許文献1)。動き補償には、符号化するフレーム(対象画像)と、予測に用いる参照フレーム(参照画像)との動きの情報が必要であり、動きの情報は通常、動きベクトルと呼ばれる。また、動きベクトルは、撮像装置の像触れ補正や被写体の動き予測、画像合成などにも用いられている。
動きベクトルは一般に、対象画像を分割したブロックをテンプレート画像として用い、参照画像の一部である探索範囲の中でテンプレート画像と相関が最も高い領域を探索するテンプレートマッチングによって、ブロックごとに検出される。探索範囲は例えばテンプレート画像として用いるブロックに対応する参照画像の位置の周辺領域として設定される。
探索範囲は広い方が大きな動きに対応する動きベクトルを検出可能であるが、検出に関する処理負荷が増大する。探索範囲を狭くすると、処理負荷は軽減されるが、探索すべき領域(移動先)が探索範囲に含まれなくなる可能性が増加する。移動先が探索範囲に含まれない場合、動きベクトルは検出できないか、誤った動きベクトルが検出され、符号化効率や画質の低下の原因となる。
このように、探索範囲の大きさは、動きベクトル検出に係る処理負荷や精度に影響を与える重要な要素であり、適切に設定することが求められる。例えば特許文献1では、撮影シーンによって探索範囲の設定を変更することが提案されている。
動きベクトル検出をハードウェア処理で行う場合、外部メモリに記憶されている参照画像のデータから探索範囲のデータを内部メモリに読み込んで、動きベクトルを検出する対象ブロック(テンプレート画像)との相関演算を実行する。
探索範囲は対象ブロックごとに設定されるが、例えば隣接するブロックに対して設定される探索範囲などは、重複部分を有する。対象ブロックが変わるごとに探索範囲のデータを内部メモリに読み込むと、他の探索範囲との重複部分について繰り返し読み込むことになるため、バスの帯域や電力の利用効率が低下する。
特開2008-236015号公報
例えば探索範囲の大きさが全対象ブロックについて共通で、水平方向m画素、垂直方向n画素とする。この場合、内部メモリに参照画像の水平画素ラインのnライン分を読み込むようにすれば、読み込んだ領域に包含される、水平方向の位置が異なる複数の探索範囲の読み込みを1度で終わらせることができる。
しかし、この構成を採用する場合、参照画像の水平解像度(1水平画素ラインに含まれる画素数)が増加すると、nライン分を読み込むために必要な内部メモリの容量を増加させる必要があるが、メモリ容量が不足する場合も考えられる。予め内部メモリの容量を多くしておくことも可能ではあるが、回路規模、消費電力、コストがいずれも増加する。
一方、内部メモリの容量を増加させない場合、参照画像の水平解像度が増加すると、読み込み可能なライン数が減少する。そのため、探索範囲の垂直方向の大きさが減少し、垂直方向における動きベクトルの探索精度が低下する可能性がある。
本発明はこのような従来技術の課題に鑑みなされたものである。本発明の目的は、画像の解像度が増加した場合でも、内部メモリの容量を増加させることなく、参照領域の効率的な読み出しと、動きベクトルの検出精度の低下抑制とを実現可能な動きベクトル検出装置およびその制御方法を提供することにある。
上述の目的は、対象画像を水平および垂直方向に分割したブロックのうち、動きベクトルを検出する対象ブロックのデータを格納する第1の格納手段と、参照画像のうち、対象ブロックに対する動きベクトルを探索する探索範囲のデータを格納する第2の格納手段と、探索範囲において対象ブロックと類似した領域を探索することにより、対象ブロックの動きベクトルを検出する検出手段と、対象画像の水平解像度が閾値以上か否かを判定する判定手段と、制御手段であって、水平解像度が閾値以上と判定されない場合には、対象画像を1つの領域として、領域に含まれるブロックについて所定の順序で動きベクトルが検出されるように対象ブロックを第1の格納手段に格納し、水平解像度が閾値以上と判定された場合には、対象画像を水平方向に分割した複数の領域ごとに、領域に含まれるブロックについて所定の順序で動きベクトルが検出されるように対象ブロックを第1の格納手段に格納する、制御手段と、を有することを特徴とする動きベクトル検出装置によって達成される。
本発明によれば、画像の解像度が増加した場合でも、内部メモリの容量を増加させることなく、参照領域の効率的な読み出しと、動きベクトルの検出精度の低下抑制とを実現可能な動きベクトル検出装置およびその制御方法を提供することができる。
本発明の実施形態に係る動きベクトル検出装置を用いたデジタルカメラの機能構成例を示すブロック図 実施形態における対象ブロックと探索範囲との例を示す図 実施形態における対象ブロックと探索範囲との例を示す図 実施形態における対象ブロックと探索範囲との例を示す図 実施形態で設定するタイルと探索範囲の例を示す図 実施形態における対象ブロックと探索範囲との例を示す図 実施形態で設定するタイルと探索範囲の例を示す図 実施形態における対象ブロックと探索範囲との例を示す図 実施形態に係る動きベクトル検出処理に関するフローチャート
以下、図面を参照しながら本発明の例示的な実施形態について詳細に説明する。なお、以下の実施形態においては、本発明に係る動きベクトル検出装置を適用可能な電子機器の一例としてのデジタルカメラに関して説明する。しかしながら、本発明において動画像を撮像したり記録したりするための構成は必須では無い。本発明は記憶装置や通信ネットワークを通じて動画像を取得可能な任意の電子機器に適用可能である。このような電子機器にはデジタルカメラをはじめ、パーソナルコンピュータ、タブレットコンピュータ、携帯電話機、スマートフォン、PDA、ゲーム機、ドライブレコーダ、ロボットなどが含まれるが、これらに限定されない。
●(第1実施形態)
図1は本発明の第1実施形態に係る動きベクトル検出装置を適用したデジタルカメラの機能構成例を示すブロック図である。なお、本実施形態では動きベクトルを画像データの符号化に利用するため、図1では符号化に関する機能構成を重点的に示している。しかしながら、表示部、操作部、電源部など、一般的なデジタルカメラが備える構成に関しては、図示の有無にかかわらず本実施形態のデジタルカメラも備えている。
レンズ101は被写体の光学像を撮像部102の撮像面に形成する撮像光学系である。撮像部102は撮像面に形成された光学像を、複数の画素を備える撮像素子によって光電変換し、画像を表す電気信号(画像信号)に変換する。また、撮像部102は画像信号をA/D変換し、画像データとして現像処理部103に供給する。本実施形態において撮像部102は動画像を撮影する。
現像処理部103では、ノイズ除去、色補間(デモザイク)、欠陥画素補正、ホワイトバランス調整、ガンマ補正、色調補正、拡大縮小、YCbCr形式への色変換など、予め定められた画像処理を画像データに適用する。なお、現像処理部103は、被写体検出やレンズ101のオートフォーカス制御や、自動露出制御に用いる評価値の生成など、一般的なデジタルカメラにおいて撮像画像に対して実行する各種の処理を実行することができるが、詳細については省略する。現像処理部103は、画像処理後の記録用画像データを符号化回路120に供給する。
制御部100は例えば1つ以上のプログラマブルプロセッサ(以下、単にCPUと呼ぶ)とメモリとを有する。メモリのうち不揮発性のものにはプログラム、各種の設定値、GUIデータなどが格納されている。CPUはプログラムをメモリのワークエリアに読み込んで実施し、各部の動作を制御することにより、デジタルカメラの各種機能を実現する。
対象フレームバッファ104は、現像処理部103が出力する、符号化回路120で符号化する画像(対象画像)のデータを一時的に格納する。なお、対象フレームバッファ104と、参照画像を格納する参照フレームバッファ105(後述)は、符号化回路120の外部メモリであるDRAM(Dynamic Random Access Memory)の領域を用いるものとする。
符号化回路120は記録用の画像データを予め定められた方式で符号化し、データ量を削減した符号化画像データを生成する。本実施形態において符号化回路120は、動き補償予測符号化方式、例えばH.265 またはMPEG-H HEVC (High Efficiency Video Coding、以下単にHEVCと呼ぶ)に準拠した符号化を実行するものとする。符号化回路120は例えばASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのハードウェア回路である。そして、符号化回路120は符号化画像データを格納する画像ファイルを生成し、半導体メモリカードなどの記録メディア113に記録する。
制御部100は、対象フレームバッファ104に格納されている対象画像データを、水平および垂直方向に分割したブロック単位で、かつ所定の順序で第1の格納手段である対象ブロックバッファ106に格納する。なお、対象ブロックバッファ106は、符号化回路120の内部メモリであるSRAM(Static Random Access Memory)で構成されているものとする。
制御部100は、参照フレームバッファ105に格納されている参照画像データの一部を、第2の格納手段である参照ラインバッファ107に供給する。後述するように、制御部100は、対象画像の水平解像度に応じて参照ラインバッファ107の管理方法を変更する。ここで、管理方法とは、参照ラインバッファの論理的な構成(水平および垂直方向の画素数)である。参照ラインバッファ107は、内部メモリであるSRAMで構成されているものとする。後で詳細に説明するように、制御部100は、動きベクトル検出に用いられる探索範囲のデータを、同じデータを参照フレームバッファ105から繰り返し読み出さないように、参照フレームバッファ105に供給する画像データの範囲を決定する。
動き予測部108は、対象ブロックバッファ106に格納されている対象ブロックの画像データと類似した領域を探索範囲で探索する。具体的には動き予測部108は、対象ブロックの画像データをテンプレートとして、テンプレートを探索範囲内で1画素ごとにラスタスキャンさせ、各位置でテンプレートと参照画像との類似度(相関)を算出し、探索範囲内で類似度が最も高くなる位置を検出する。そして、動き予測部108は、対象画像におけるテンプレートの位置(例えばテンプレートの中心の座標)を起点とし、探索範囲内で検出された位置の、参照画像における座標を終点とするベクトルを、テンプレートの動きベクトルとして検出する。
動き予測部108は、検出した位置におけるテンプレートと参照画像との差分画像(予測誤差)を算出し、直交変換部109に出力する。また、動き予測部108は、ローカルデコード画像作成用に、探索範囲内で最も類似度が高いブロックを予測画像として動き補償部116に出力する。
直交変換部109は、差分画像に対して直交変換(例えば離散コサイン変換)を適用して変換係数を生成し、変換係数を量子化部110に出力する。
量子化部110は、量子化制御部111が出力する量子化ステップサイズ(または量子化パラメータ)に従い、変換係数を量子化する。量子化部110は、量子化した変換係数を、符号化ストリーム作成のために可変長符号化部112に出力するとともに、ローカルデコード画像作成のために逆量子化部114にも出力する。
可変長符号化部112では、量子化された変換係数に対してジグザグスキャン、オルタネートスキャン等を行い、変換係数を可変長符号化する。可変長符号化部112はさらに、動きベクトル、量子化ステップサイズ、ブロック分割情報、適応オフセット処理用パラメータなどの符号化情報についても可変長符号化する。そして、可変長符号化部112は、可変長符号化した変換係数と符号化情報とから符号化ストリームを生成し、記録メディア113に記録する。また可変長符号化部112は、ブロックごとの発生符号量を算出して量子化制御部111に出力する。
量子化制御部111は、可変長符号化部112から送られてくる発生符号量と目標符号量とから量子化ステップサイズ(または量子化パラメータ)を決定し、量子化部110に出力する。
逆量子化部114は、量子化部110が出力する変換係数を逆量子化し、ローカルデコード用の変換係数を生成する。逆量子化部114は、生成した変換係数を逆直交変換部115に出力する。
逆直交変換部115では、変換係数に直交変換部が適用した直交変換の逆変換(逆離散コサイン変換)を適用して差分画像を生成する。逆直交変換部115は、生成した差分画像を動き補償部116に出力する。
動き補償部116では、動き予測部108からの予測画像と、逆直交変換部115からの差分画像とを加算することにより、ローカルデコード用の画像データを生成する。動き補償部116は、生成した画像データをデブロッキングフィルタ部117に出力する。
デブロッキングフィルタ部117は、画像データにデブロッキングフィルタを適用して適応オフセット処理部118に出力する。デブロッキングフィルタは、対象ブロックの境界における不連続な歪みを平滑化するためのフィルタである。
適応オフセット処理部118は、フィルタ処理後の画像データの各画素を画素値やエッジの状態に応じて分類し、分類に応じたオフセットを加算する。なお、オフセット加算を行わないようにもできる。デブロッキングフィルタ部と適応オフセット処理部とを併せてループ内フィルタと呼ぶこともある。適応オフセット処理は、エッジ付近に発生する擬似輪郭(リンギング歪み)を抑制するための処理である。
適応オフセット処理部118の出力は、ローカルデコード画像データとして参照フレームバッファ105に格納される。また、適応オフセット処理部118は、適応オフセット処理を行ったか否か、どの分類を用いたか、バンド位置、エッジ方向、オフセット値などを適応オフセット処理用のパラメータとして符号化ストリームに含めるために可変長符号化部112に出力する。
このような動作により、符号化ストリームおよびローカルデコード画像が作成される。
HEVCにおいては動きベクトル検出処理を含む符号化処理を、CTU(Coding Tree Unit)と呼ぶ画素ブロック単位で、かつラスタスキャン順に実行する。また、対象画像を縦および/または横方向にCTU単位で分割したタイルという概念が導入されており、各タイルは他のタイルと独立した符号化や復号が可能である。タイルが設定されている場合、符号化処理は各タイル内で閉じたラスタスキャン順でタイル内のCTUに実行される。従って、タイルが設定される場合と設定されていない場合とでは、CTUの符号化順序が異なる。
次に、参照ラインバッファ107への参照画像の格納方法について説明する。
対象画像の解像度を1920×1080とし、動きベクトル探索範囲を、対象ブロック(CTU)の外方に水平方向±512画素、垂直方向に±128ライン(画素)とした場合を例に説明する。つまり、対象ブロックが水平方向x画素、垂直方向y画素の大きさとすると、最大の探索範囲は、水平方向に1024+x画素、垂直方向に256+y画素となる。
図2(a)は、対象ブロック(以下、CTUと呼ぶ)と、動きベクトルの探索範囲の例を示す。ここで、CTUサイズは32×32画素、画像の左上角を原点とし、ラスタスキャン方向を正とするxy座標系において、CTU単位の座標(X,Y)を有するCTUをCTU(X,Y)と表現する。従って、X=0〜59、Y=0〜33の範囲の値を取り得る。
CTU(0,0)201は、対象画像で最初に処理されるCTUである。CTU(0,0)201については上および左方向の探索は行わない。そのため、参照画像のうち、動きベクトルの探索範囲202は(0,0)と(543,159)とを対角頂点とする、水平544(=32+512)画素、垂直160(=32+128)画素の矩形領域となる。
制御部100は、CTU(0,0)201の符号化が開始する前に、探索範囲202の部分画像を参照フレームバッファ105から読み出して参照ラインバッファ107に格納する。
図2(b)に、CTU(0,0)201の次に符号化されるCTU(1,0)301を示す。CTU(1,0)301に対する動きベクトル探索範囲は、(0,0)と(575,159)とを対角頂点とする、水平576(=32+32+512)画素、垂直160(=32+128)画素の矩形領域となる。
ここで、探索範囲のうち、CTU(0,0)の探索範囲202は既に参照ラインバッファ107に格納されている。そのため、制御部100はCTU(1,0)301の符号化が開始する前に、新たに必要となる(544,0)と(575,159)とを対角頂点とする矩形領域303だけを参照フレームバッファ105から読み出して参照ラインバッファ107に格納する。
図3(a)は、CTU(43,0)401を示している。CTU(43,0)401に対する動きベクトル探索範囲402の右端は、参照画像の右端に等しい。探索範囲402は(864,0)と(1919,159)とを対角頂点とする水平1056画素、垂直160画素の矩形領域である。
なお、過去に動きベクトル探索領域として用いた(0,0)と(863,159)を対角頂点とする参照画像の領域403は、CTU(43,0)401に対する動きベクトルの探索には用いられない。しかし、次のCTUライン(CTU(X,1))に対する動きベクトルの探索範囲を含んでいるため、参照ラインバッファ107に保持されている。
図3(b)に示す、CTU(0,1)501の動きベクトル探索範囲は、(0,0)と(543,191)とを対角頂点とする矩形領域であるが、そのうち、CTU(0,0)の探索範囲202は既に参照ラインバッファ107に格納されている。そのため、制御部100はCTU(0,1)501の符号化が開始する前に、新たに必要となる(0,160)と(543,191)とを対角頂点とする矩形領域503だけを参照フレームバッファ105から読み出して参照ラインバッファ107に格納する。
図4(a)は、大きさが最大(水平1056画素、垂直288画素)で、かつ上端と右端が参照画像の上端と右端に達した探索範囲602を示している。探索範囲602は、CTU(43,5)601に対して設定される。探索範囲602は、(864,0)と(1919,287)とを対角頂点とする矩形領域である。
このとき、参照ラインバッファ107には、参照画像のうち、(0,0)と(1919,287)とを対角頂点とする矩形領域が格納されている。
図4(b)に示す、CTU(0,6)701の動きベクトル探索範囲は、(0,31)と(543,318)とを対角頂点とする矩形領域である。そのうち、CTU(0,5)の探索範囲と重複する、(31,0)と(543,287)とを対角頂点とする範囲702は既に参照ラインバッファ107に格納されている。一方、CTU(0,5)の探索範囲と重複しない、(0,0)と(543,31)とを対角頂点とする範囲を含む範囲703は、CTU(0,6)以降のCTUに対する動きベクトル検出で探索範囲として用いられることはない。そのため、制御部100は、範囲703を保持していた参照ラインバッファ107の領域の一部に、参照範囲として新たに必要となる矩形領域704を格納する。
すなわち、制御部100はCTU(0,6)701の符号化が開始する前に、新たに必要となる(0,288)と(543,319)とを対角頂点とする矩形領域704だけを参照フレームバッファ105から読み出して参照ラインバッファ107に格納する。
参照ラインバッファ107は、水平方向サイズが参照画像の水平解像度(ここでは1920画素)に等しく、垂直方向サイズが垂直探索範囲(±128画素)と垂直CTUサイズ(32画素)の合計(288画素)に等しいラインバッファとして用いられる。
ここで、対象画像の解像度が例えば水平4096画素×垂直2160画素に増加した場合にも同様に、一度読み出した部分は使用されなくなるまで参照ラインバッファ107に保持するとする。この場合、動きベクトルの探索範囲の大きさに変更がなければ、水平4096画素、垂直288ライン(画素)を格納するための容量が参照ラインバッファ107に必要となる。一方、参照ラインバッファ107の容量を増やせない場合には、動きベクトルの探索範囲を小さくする必要があり、動きベクトルの探索精度が低下するおそれがある。
対象画像の解像度は今後も増加することが見込まれるが、それを見越して参照ラインバッファ107の容量を定めると、回路規模が増大し、コスト、消費電力、実装面積の増加要因となる。また、想定以上の解像度を有する対象画像には対応できない。
そのため、本実施形態においては、対象画像の水平解像度が閾値以上の場合、対象画像を水平方向に(論理的に)分割し、分割領域ごとに、各ブロックに対する動きベクトル検出を行うように動きベクトルの検出順序を変更する。例えば、HEVCにおける動きベクトルの検出であれば、対象画像を水平方向に分割する複数のタイルを設定することで、タイルごとに動きベクトルの検出を行うように変更する。
例えば閾値が2048、対象画像の解像度が例えば水平4096画素×垂直2160画素の場合、制御部100は例えば図5(a)に示すようなタイルを設定する。
ここでは、対象画像を水平方向に2分割したタイル801とタイル802を設定している。なお、本明細書における画像の分割方向は、分割線に直交する方向である。従って、図5(a)のように分割線(タイルの境界線)が垂直方向の直線である場合、対象画像は水平方向に分割されていると記載する。タイル801が(0,0)と(2159,2047)とを対角頂点とする水平方向2048画素の矩形領域である。また、タイル802が(0,2048)と(2159,4095)とを対角頂点とする水平方向2048画素の矩形領域である。
HEVCにおいてタイルが設定された場合、符号化(動きベクトルの検出)は、タイル内の対象ブロック(CTU)について、図5(a)に示すようにタイルごとのラスタスキャン順で実行される。つまり、水平方向の対象ブロックの一部だけを処理して次のブロック行に移行するように、動きベクトルを検出するブロックの順序を決定するラスタスキャンの順序(または1スキャンラインの長さ)が変化する。タイル801の符号化とタイル802の符号化は並列に実行されてもよいが、本実施形態では、タイルについてもラスタスキャン順で符号化処理を実行するものとする。したがってまずタイル801のCTUについて符号化を行った後、タイル802のCTUについて符号化を行う。
制御部100は、動きベクトルの検出順序の変更とともに、参照ラインバッファ107の管理方法(論理的な構成)を変更する。変更前、制御部100は、対象画像の水平解像度に等しい水平方向サイズを有するラインバッファが、(垂直(上下)探索範囲+垂直CTUサイズ)に等しいライン数存在するものとして、参照ラインバッファ107の読み書きを制御していた。
一方、変更後、制御部100は、(水平タイルサイズ+片方向水平探索範囲)の水平方向サイズを有するラインバッファが、(垂直(上下)探索範囲+垂直CTUサイズ)に等しいライン数存在するものとして、参照ラインバッファ107の読み書きを制御する。参照ラインバッファ107の垂直方向サイズに変更はない。
タイルの設定の有無や設定するタイルの大きさは、制御部100が例えば撮像部102の設定に基づいて対象画像の水平解像度を検出し、例えば予め記憶されている水平解像度とタイル設定との関係に基づいて決定することができるが、これに限定されない。本実施形態では対象画像を垂直方向に分割したタイルを設定する必要はないが、垂直方向と水平方向との両方に対象画像を分割したタイルを設定することもできる。対象画像の水平解像度と設定するタイルの大きさ(または方向ごとの分割数)との関係は、参照ラインバッファ107の容量と、探索範囲の大きさと、対象画像の水平解像度とに基づいて予め定めておくことができる。
制御部100はタイルの設定が必要と判定される場合、設定するタイルの大きさ(または方向ごとの分割数)を符号化回路120に通知する。また、制御部100は、設定したタイルごとに符号化処理が行われるように、対象フレームバッファ104から対象ブロックバッファ106に格納するブロックの読み出し順序を変更する。また、制御部100は、参照フレームバッファ105から参照ラインバッファ107に格納する参照画像の範囲についても、変更後の動きベクトルの検出順序に対応させて変更する。
動き予測部108は、対象ブロックバッファ106に格納された対象ブロックの番号または参照番号内の位置(X,Y)によって定まる探索範囲を参照ラインバッファ107から読み出して動きベクトルを検出する。この際、動き予測部108は、参照ラインバッファ107のアドレスと、記憶されている参照画像の位置との関係を、設定されているタイルの情報に基づいて判別し、探索範囲の画像データを読み出す。つまり、動き予測部108は、タイルの設定に応じて、参照ラインバッファ107の管理方法を異ならせる。
図5(b)は、図5(a)に示すタイル801,802を設定した際の、符号化(動きベクトル検出)対象のCTU(対象ブロック)と動きベクトルの探索範囲を示す。ここでは、タイル801内のCTUのうち、ラスタスキャン順で先頭のCTU(0,0)901と、その動きベクトルの探索範囲902とを示している。探索範囲902は(0,0)と(543,159)とを対角頂点とする、水平544(=32+512)画素、垂直160(=32+128)画素の矩形領域であり、タイルを設定しない場合と同じである。
図6(a)は、タイル801内のCTUのうち、ラスタスキャン順で最初にタイル801の右端に位置するCTU(63,0)1001と、CTU(63,0)1001の動きベクトルの探索範囲1002とを示している。探索範囲1002は、(1504,0)と(2559,159)を対角頂点とする、水平1056(=512+32+512)画素、垂直160(=32+128)画素の矩形領域である。
CTU(63,0)1001はタイル801の右端に位置する。そのため、参照画像のうち、探索範囲1002よりx座標値の大きな範囲((2560,0)と(4095,2159)とを対角頂点とする領域8021)は、タイル801内のCTUに対する動きベクトル検出には用いられない。
タイル801内の全CTUの符号化が終了すると、タイル802内のCTUについて同様に符号化を行う。図6(b)は、タイル802内のCTUのうち、ラスタスキャン順で先頭のCTU(0,0)1101と、その動きベクトルの探索範囲1102とを示している。探索範囲1102は(1536,0)と(2591,159)とを対角頂点とする、水平1056(=512+32+512)画素、垂直160(=32+128)画素の矩形領域である。
CTU(0,0)1101はタイル802の左端に位置する。そのため、参照画像のうち、探索範囲1102よりx座標値の小さな範囲((0,0)と(1535,2159)とを対角頂点とする領域8011)は、タイル802内のCTUに対する動きベクトル検出には用いられない。
このように、タイル801,802の設定により、水平解像度4096画素の対象画素について必要となる参照ラインバッファ107の水平解像度を2560画素に削減できる。また、垂直方向については、各方向(上、下)128画素を探索範囲とする場合、CTUの垂直サイズを32画素とすると、最大288画素(ライン)分の容量が必要である。従って、タイル801,802の設定により、水平2560×垂直288画素の容量の参照ラインバッファ107で、水平解像度4096画素×垂直解像度2160画素の対象画像について、参照画像の同じ領域を繰り返し読み出さずに動きベクトルを検出できる。
タイルを設定しない場合、参照画像の同じ領域を繰り返し読み出さずに(図2〜図4に関して説明したように)動きベクトルを検出するためには水平4096×垂直288画素の容量の参照ラインバッファ107が必要となる。これに対し、タイル801,802を設定した場合には水平2560×垂直288画素の容量ですむため、容量を37.5%節約することができる。
探索範囲の垂直方向のサイズをm画素(ここでは128×2+32画素)、参照ラインバッファ107の容量をT画素とすると、読み込み可能な最大水平解像度nはfloor(T/m)である(floor(x)はx以下で最大の整数を表す)。この場合、水平方向の一方向(右方向または左方向)の探索範囲の大きさをo(ここでは512画素)とすると、
タイルの水平方向のサイズ≦(n−o)
となるようにタイルを設定することで、探索サイズの垂直方向を減らすことなく、より大きな水平解像度を有する入力画像に対する動きベクトルの検出を効率よく実行できる。
ここでは、2つのタイル(水平方向の分割数が2)を設定する場合について説明したが、タイルの数をより多くすることもできる。例えば、図7(a)のように、対象画像の水平解像度が4096画素(第1の値)よりも大きな8192画素(第2の値)になったとする。この場合、水平方向に2分割しても各タイルの水平解像度は4096画素である。例えば図7(b)に示すように、タイルの数(水平方向の分割数)を増加させることで、対象画像の水平解像度が4096画素の場合と同様の容量を有する参照ラインバッファ107で、参照画像の同じ領域を繰り返し読み出さずに動きベクトルを検出できる。
上述の通り、対象画像の水平解像度と設定するタイルの大きさ(または方向ごとの分割数)との関係は、参照ラインバッファ107の容量と、探索範囲の大きさと、対象画像の水平解像度とに基づいて予め定めておくことができる。そのため、制御部100は、対象画像の水平解像度に応じて適切なタイルを設定する(対象ブロックバッファ106および参照ラインバッファ107への適切な書き込みを行う)ことができる。
図7(b)に示す例では、タイル1301〜1304の4つを設定しているが、両端のタイル1301,1304よりも中間のタイル1302,1303の方が水平方向の大きさが小さくなっている。これは、中間のタイル1302,1303では、タイルの右端と左端の両方でタイルの外側の範囲を含む探索範囲が用いられるからである。
タイル1301についてはタイルの水平解像度2304画素に加え、右端から外方に最大512画素の探索範囲が設定される。従って、参照画像の同じ領域を繰り返し読み出さずに動きベクトルを検出するには、参照ラインバッファ107を2304+512=2816画素の水平解像度で管理する必要がある。タイル1304についても、タイルの水平解像度2304画素に加え、左端から外方に最大512画素の探索範囲が設定されるため、同様に参照ラインバッファ107を2816画素の水平解像度で管理する必要がある。
一方、中間のタイル1302,1303では、水平解像度1792画素に加え、右端から外方に最大512画素の探索範囲、左端から外方に最大512画素の探索範囲が設定される。従って、参照画像の同じ領域を繰り返し読み出さずに動きベクトルを検出するには、参照ラインバッファ107を512+1792+512=2816画素の水平解像度で管理する必要がある。
例えば、対象画像の水平解像度がd画素、水平方向の分割数がh、水平方向の一方向(右方向または左方向)の探索範囲の大きさをoとすると、
右端および左端のタイルの水平方向のサイズ=(d−2×o)/h+o
それ以外(中間)のタイルの水平方向のサイズ=(d−2×o)/h
の関係を満たすように分割すると、各タイルについて、参照ラインバッファ107を同一の水平解像度で管理することができる。
この場合も、
右端および左端のタイルの水平方向のサイズ+o≦n
それ以外(中間)のタイルの水平方向のサイズ+(2×o)≦n
を満たすように分割数hを定めると、探索サイズの垂直方向を減らすことなく、より大きな水平解像度を有する入力画像に対する動きベクトルの検出を効率よく実行できる。
図8(a)は、中間のタイル1302で最初に動きベクトルが検出されるCTU(72,0)1401とその動きベクトルの探索範囲1402を示している。探索範囲1402は(1792,0)と(2847,159)とを対角頂点に有する矩形領域である。
タイル1302内のCTUに対して動きベクトルを検出する際、参照ラインバッファ107に格納される参照画像の左端の座標は(1792,y)である。これは、タイル1302の左端の座標(2304,y)よりも水平方向左側の探索範囲(512画素)分、左である。
図8(b)は、中間のタイル1302の右端に位置するCTUのうち、最初に動きベクトルが検出されるCTU(127,0)1501とその動きベクトルの探索範囲1502を示している。探索範囲1502は(3552,0)と(4607,159)とを対角頂点に有する矩形領域である。
タイル1302内のCTUに対して動きベクトルを検出する際、参照ラインバッファ107に格納される参照画像の右端の座標は(4607,y)である。これは、タイル1302の左端の座標(4095,y)よりも水平方向右側の探索範囲(512画素)分、右である。
中間のタイル1302,1303内のCTUについては、全て左右両方向に探索範囲が存在する。そのため、参照画像の同じ領域を繰り返し読み出さずに動きベクトルを検出するには、参照ラインバッファ107を(水平タイルサイズ+片方向水平探索範囲×2)の水平解像度で管理する必要がある。
ここで説明した例では、左右両端のタイル1301,1304についても、中間のタイル1302,1303についても、参照ラインバッファ107を2816画素の水平解像度で管理すれば参照画像の同じ領域を繰り返し読み出さずに動きベクトルを検出できる。従って、探索範囲の垂直サイズ(288画素)を変更しない場合、タイルを設定しない場合よりも約65%少ない(2816/8192=0.34)容量の参照ラインバッファ107で、参照画像の同じ領域を繰り返し読み出さずに動きベクトルを検出できる。
図9は、本実施形態における動きベクトル検出動作に関するフローチャートである。
S901で制御部100は、例えば撮像部102の設定から、動きベクトルを検出する対象の動画像の水平解像度を取得する。そして、制御部100は、動画像の水平解像度と予め定められた閾値とを比較し、水平解像度が閾値以上と判定されればS904へ、判定されなければS902に処理を進める。
S902で制御部100および符号化回路120は、符号化対象のフレーム画像(対象画像)を分割した複数のブロック(対象ブロック)について、通常の順序で動きベクトルを検出する。通常の順序は、対象画像全体を1つの領域としたラスタスキャン順である。ここで、制御部100および符号化回路120は、図2および図3で説明したように、参照ラインバッファ107を、対象画像の水平解像度に等しい水平方向の画素数を有するラインバッファによって構成されるものとして管理して動きベクトルを検出する。それにより、参照画像から同じ領域を繰り返し読み出すことなく効率的に動きベクトルを検出する。
S903で制御部100が参照画像の対象ブロックの全てについて動きベクトルが検出されたと判定するまで、制御部100および符号化回路120はS902の処理を繰り返し実行する。S903で制御部100が参照画像の全ブロックについて動きベクトルが検出されたと判定すると、対象画像に対する動きベクトル検出処理は終了する。以降、次のフレーム画像を対象画像として同様の処理を繰り返す。
一方、S904で制御部100は、動画像の水平解像度に応じて、対象ブロックの処理順序および参照ラインバッファ107の管理方法を変更する。上述したように制御部100は、
例えば対象画像を水平方向に分割した複数の論理領域(例えばHEVCにおけるタイル)を設定することにより、対象ブロックの処理順序を変更する。対象ブロックの処理順序の変更は、対象画像を水平方向に分割した複数の論理領域のそれぞれで独立して動きベクトルを検出するように変更することに相当する。あるいは、対象ブロックの順序を決定するラスタスキャンにおける1スキャンラインの長さを短くするともいえる。
また、制御部100は、参照ラインバッファ107を、対象画像の水平解像度よりも少ない水平方向の画素数を有するラインバッファによって構成されるものとして管理するように変更する。ラインバッファの水平方向の画素数は、論理領域の水平方向サイズと水平方向の探索範囲の大きさに依存して決定される。設定する論理領域の数と、参照ラインバッファ107の管理方法とは、動画像の水平解像度と関連付けて予め記憶しておくことができる。
S905で制御部100および符号化回路120は、符号化対象のフレーム画像(対象画像)を分割した複数のブロック(対象ブロック)について、変更後の順序で動きベクトルを検出する。変更後の順序は、対象画像を水平方向に分割した領域ごとのラスタスキャン順である。
S906で制御部100が参照画像の対象ブロックの全てについて動きベクトルが検出されたと判定するまで、制御部100および符号化回路120はS905の処理を繰り返し実行する。S906で制御部100が参照画像の全ブロックについて動きベクトルが検出されたと判定すると、対象画像に対する動きベクトル検出処理は終了する。以降、次のフレーム画像を対象画像として同様の処理を繰り返す。
以上説明したように、本実施形態によれば、対象画像のブロックごとに動きベクトルを検出する際に、対象画像の水平解像度が閾値以上の場合には対象画像を水平方向に分割した領域ごとに各ブロックの動きベクトルを検出するようにした。あるいは、対象画像の水平解像度が閾値以上の場合、水平方向の対象ブロックの一部だけを処理して次のブロック行に移行するように、動きベクトルを検出するブロックの順序を決定するラスタスキャンの順序を変更(または1スキャンラインの長さを短く)した。そのため、動きベクトルの探索範囲の画像を保持するためのバッファの容量を対象画像の水平解像度の増加にあわせて増加させることなく、また、探索範囲を狭くすることなく、動きベクトルを検出することができる。
なお、ここでは動きベクトルの検出を対象画像の部分領域ごとに独立して実行するように変更する例として、HEVCにおけるタイルを用いる構成について説明した。しかしながら、本実施形態で説明した動きベクトルの検出方法は、符号化に用いられる動きベクトルの検出に限らず、任意の用途の動きベクトルの検出に用いることができる。
(その他の実施形態)
上述の実施形態では、タイルを設定するか否かにかかわらず、探索範囲の大きさは一定(水平方向±512画素、垂直方向±128画素)であった。しかし、参照ラインバッファ107の容量を少なくすることが必要な場合には、タイルを設定する場合に、水平方向の探索範囲をタイルを設定しない場合よりも少なくすることもできる。これは、もともと水平方向の探索範囲が垂直方向の探索範囲より大きく設定されることから、水平方向の探索範囲を削減しても垂直方向の探索範囲を削減するよりも動きベクトル検出の精度に与える影響が小さいからである。
また、上述の実施形態では、デジタルカメラの制御部100が、タイルの設定要否や設定するタイルの大きさを決定していた。しかし、符号化回路120内に別の制御部(符号化制御部)を設け、符号化処理に関する制御は符号化制御部が行うようにしてもよい。この場合、制御部100は符号化制御部に対象画像の解像度情報だけを通知する。そして、符号化制御部がタイルの設定要否や設定するタイルの大きさなどを決定する。また、対象フレームバッファ104から対象ブロックバッファ106へのデータ読み込みや参照フレームバッファ105から参照ラインバッファ107へのデータ読み込みについても、符号化制御部がタイルの設定有無に応じて制御する。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
100…制御部、102…撮像部、103…現像処理部、104…対象フレームバッファ、105…参照フレームバッファ、106…対象ブロックバッファ、107…参照ラインバッファ、108…動き予測部、120…符号化回路

Claims (14)

  1. 対象画像を水平および垂直方向に分割したブロックのうち、動きベクトルを検出する対象ブロックのデータを格納する第1の格納手段と、
    参照画像のうち、前記対象ブロックに対する動きベクトルを探索する探索範囲のデータを格納する第2の格納手段と、
    前記探索範囲において前記対象ブロックと類似した領域を探索することにより、前記対象ブロックの動きベクトルを検出する検出手段と、
    前記対象画像の水平解像度が閾値以上か否かを判定する判定手段と、
    制御手段であって、
    前記水平解像度が前記閾値以上と判定されない場合には、前記対象画像を1つの領域として、領域に含まれるブロックについて所定の順序で動きベクトルが検出されるように前記対象ブロックを前記第1の格納手段に格納し、
    前記水平解像度が前記閾値以上と判定された場合には、前記対象画像を水平方向に分割した複数の領域ごとに、領域に含まれるブロックについて前記所定の順序で動きベクトルが検出されるように前記対象ブロックを前記第1の格納手段に格納する、
    制御手段と、
    を有することを特徴とする動きベクトル検出装置。
  2. 前記水平解像度が第1の値である場合よりも、前記第1の値より大きい第2の値である場合の方が、前記複数の領域の数が多いことを特徴とする請求項1に記載の動きベクトル検出装置。
  3. 前記検出手段および前記制御手段は、前記水平解像度が前記閾値以上と判定された場合と判定されない場合とで、前記第2の格納手段の管理方法を異ならせることを特徴とする請求項1または請求項2に記載の動きベクトル検出装置。
  4. 前記検出手段および前記制御手段は、前記第2の格納手段をラインバッファとして管理し、前記水平解像度が前記閾値以上と判定された場合と判定されない場合とで、水平解像度が異なるラインバッファとして前記第2の格納手段を管理することを特徴とする請求項3に記載の動きベクトル検出装置。
  5. 前記検出手段および前記制御手段は、前記水平解像度が前記閾値以上と判定されない場合には、前記対象画像と等しい水平解像度を有するラインバッファとして前記第2の格納手段を管理することを特徴とする請求項4に記載の動きベクトル検出装置。
  6. 前記検出手段および前記制御手段は、前記水平解像度が前記閾値以上と判定された場合には、前記対象画像よりも少ない水平解像度を有するラインバッファとして前記第2の格納手段を管理することを特徴とする請求項4または請求項5に記載の動きベクトル検出装置。
  7. 前記検出手段および前記制御手段は、前記水平解像度が前記閾値以上と判定された場合も判定されない場合も、等しい垂直解像度を有するラインバッファとして前記第2の格納手段を管理することを特徴とする請求項3から請求項6のいずれか1項に記載の動きベクトル検出装置。
  8. 前記所定の順序がラスタスキャン順であることを特徴とする請求項1から請求項7のいずれか1項に記載の動きベクトル検出装置。
  9. 前記複数の領域が、領域ごとに符号化を独立して実行するために設定された領域であることを特徴とする請求項1から請求項8のいずれか1項に記載の動きベクトル検出装置。
  10. 対象画像を水平および垂直方向に分割したブロックのうち、動きベクトルを検出する対象ブロックのデータを格納する第1の格納手段と、
    参照画像のうち、前記対象ブロックに対する動きベクトルを探索する探索範囲のデータを格納する第2の格納手段と、
    前記探索範囲において前記対象ブロックと類似した領域を探索することにより、前記対象ブロックの動きベクトルを検出する検出手段と、
    前記対象画像の水平解像度が閾値以上か否かを判定する判定手段と、
    前記ブロックをラスタスキャンの順序で前記第1の格納手段に格納する制御手段とを有し、
    前記制御手段は、前記水平解像度が前記閾値以上と判定された場合には、前記水平解像度が前記閾値以上と判定されない場合よりも、前記ラスタスキャンのスキャンラインの長さが短くなるような順序で前記ブロックを前記第1の格納手段に格納する、
    ことを特徴とする動きベクトル検出装置。
  11. 前記第2の格納手段に格納されたデータは、以降の動きベクトルの検出に用いられなくなるまで繰り返し用いられることを特徴とする請求項1から請求項9のいずれか1項に記載の動きベクトル検出装置。
  12. 対象画像を水平および垂直方向に分割したブロックのうち、動きベクトルを検出する対象ブロックのデータを格納する第1の格納手段と、
    参照画像のうち、前記対象ブロックに対する動きベクトルを探索する探索範囲のデータを格納する第2の格納手段と、
    前記探索範囲において前記対象ブロックと類似した領域を探索することにより、前記対象ブロックの動きベクトルを検出する検出手段と、
    制御手段と、を有する動きベクトル検出装置の制御方法であって、
    前記対象画像の水平解像度が閾値以上と判定されない場合、前記制御手段が、前記対象画像を1つの領域として、領域に含まれるブロックについて所定の順序で動きベクトルが検出されるように前記対象ブロックを前記第1の格納手段に格納する工程と、
    前記水平解像度が前記閾値以上と判定された場合、前記制御手段が、前記対象画像を水平方向に分割した複数の領域ごとに、領域に含まれるブロックについて前記所定の順序で動きベクトルが検出されるように前記対象ブロックを前記第1の格納手段に格納する工程と、
    を有することを特徴とする動きベクトル検出装置の制御方法。
  13. 対象画像を水平および垂直方向に分割したブロックのうち、動きベクトルを検出する対象ブロックのデータを格納する第1の格納手段と、
    参照画像のうち、前記対象ブロックに対する動きベクトルを探索する探索範囲のデータを格納する第2の格納手段と、
    前記探索範囲において前記対象ブロックと類似した領域を探索することにより、前記対象ブロックの動きベクトルを検出する検出手段と、
    制御手段と、を有する動きベクトル検出装置の制御方法であって、
    前記制御手段が、前記ブロックをラスタスキャンの順序で前記第1の格納手段に格納する工程を有し、
    前記工程は、前記対象画像の水平解像度が閾値以上と判定された場合には、前記水平解像度が前記閾値以上と判定されない場合よりも、前記ラスタスキャンのスキャンラインの長さが短くなるような順序で前記ブロックを前記第1の格納手段に格納する工程を含む、
    ことを特徴とする動きベクトル検出装置の制御方法。
  14. コンピュータを、請求項1から請求項11のいずれか1項に記載の動きベクトル検出装置の各手段として機能させるためのプログラム。
JP2016163037A 2016-08-23 2016-08-23 動きベクトル検出装置およびその制御方法 Withdrawn JP2018032949A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016163037A JP2018032949A (ja) 2016-08-23 2016-08-23 動きベクトル検出装置およびその制御方法
US15/679,881 US20180063547A1 (en) 2016-08-23 2017-08-17 Motion vector detection apparatus and method for controlling the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016163037A JP2018032949A (ja) 2016-08-23 2016-08-23 動きベクトル検出装置およびその制御方法

Publications (1)

Publication Number Publication Date
JP2018032949A true JP2018032949A (ja) 2018-03-01

Family

ID=61240907

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016163037A Withdrawn JP2018032949A (ja) 2016-08-23 2016-08-23 動きベクトル検出装置およびその制御方法

Country Status (2)

Country Link
US (1) US20180063547A1 (ja)
JP (1) JP2018032949A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021005808A (ja) * 2019-06-26 2021-01-14 キヤノン株式会社 動きベクトル検出装置、撮像装置、動きベクトル検出方法、及びプログラム
JP2023061906A (ja) * 2021-10-20 2023-05-02 アクシス アーベー ビデオストリームを符号化するための方法

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11109036B2 (en) 2013-10-14 2021-08-31 Microsoft Technology Licensing, Llc Encoder-side options for intra block copy prediction mode for video and image coding
AU2013403224B2 (en) 2013-10-14 2018-10-18 Microsoft Technology Licensing, Llc Features of intra block copy prediction mode for video and image coding and decoding
CA2934699A1 (en) 2014-01-03 2015-07-09 Microsoft Technology Licensing, Llc Block vector prediction in video and image coding/decoding
US11284103B2 (en) * 2014-01-17 2022-03-22 Microsoft Technology Licensing, Llc Intra block copy prediction with asymmetric partitions and encoder-side search patterns, search ranges and approaches to partitioning
CN105493505B (zh) 2014-06-19 2019-08-06 微软技术许可有限责任公司 统一的帧内块复制和帧间预测模式
JP2017535145A (ja) 2014-09-30 2017-11-24 マイクロソフト テクノロジー ライセンシング,エルエルシー 波面並列処理が可能にされた場合のピクチャ内予測モードに関する規則
US10869060B2 (en) * 2018-01-30 2020-12-15 Google Llc Efficient context model computation design in transform coefficient coding
US10506242B2 (en) * 2018-01-30 2019-12-10 Google Llc Efficient context model computation design in transform coefficient coding
US10893285B2 (en) 2018-06-29 2021-01-12 FG Innovation Company Limited Device and method for coding video data based on one or more reference lines
CN113170193B (zh) * 2018-11-28 2024-05-10 北京字节跳动网络技术有限公司 帧内块复制模式中块矢量列表的独立构造方法
CN113170195B (zh) 2018-12-22 2024-09-03 北京字节跳动网络技术有限公司 具有双树分割的帧内块复制模式
CN112015929B (zh) * 2019-05-30 2024-07-05 阿里云计算有限公司 栅格数据访问方法、装置、电子设备及计算机存储介质
WO2020258039A1 (zh) * 2019-06-25 2020-12-30 Oppo广东移动通信有限公司 运动补偿的处理方法、编码器、解码器以及存储介质
WO2022104678A1 (zh) * 2020-11-20 2022-05-27 深圳市大疆创新科技有限公司 视频编解码方法、装置、可移动平台和存储介质
US20230199171A1 (en) * 2021-12-21 2023-06-22 Mediatek Inc. Search Memory Management For Video Coding
CN115965650A (zh) * 2022-11-17 2023-04-14 平头哥(上海)半导体技术有限公司 视频编码运动搜索的加速方法、加速装置、计算设备以及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6370195B1 (en) * 1998-04-14 2002-04-09 Hitachi, Ltd. Method and apparatus for detecting motion
JP4777185B2 (ja) * 2006-08-08 2011-09-21 キヤノン株式会社 画像処理装置及びその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体、及び、画像符号化装置
JP5893346B2 (ja) * 2011-11-07 2016-03-23 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
JP6120707B2 (ja) * 2013-07-08 2017-04-26 ルネサスエレクトロニクス株式会社 動画像符号化装置およびその動作方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021005808A (ja) * 2019-06-26 2021-01-14 キヤノン株式会社 動きベクトル検出装置、撮像装置、動きベクトル検出方法、及びプログラム
US11290740B2 (en) 2019-06-26 2022-03-29 Canon Kabushiki Kaisha Image coding apparatus, image coding method, and storage medium
JP2023061906A (ja) * 2021-10-20 2023-05-02 アクシス アーベー ビデオストリームを符号化するための方法

Also Published As

Publication number Publication date
US20180063547A1 (en) 2018-03-01

Similar Documents

Publication Publication Date Title
JP2018032949A (ja) 動きベクトル検出装置およびその制御方法
US10868985B2 (en) Correcting pixel defects based on defect history in an image processing pipeline
US10291925B2 (en) Techniques for hardware video encoding
US9413951B2 (en) Dynamic motion estimation and compensation for temporal filtering
US20220167004A1 (en) Encoding and decoding method and device, encoder side apparatus and decoder side apparatus
US11025913B2 (en) Encoding video using palette prediction and intra-block copy
TW201919394A (zh) 影像編碼方法
US20170064227A1 (en) Pixel defect preprocessing in an image signal processor
US9462189B2 (en) Piecewise perspective transform engine
US20150062371A1 (en) Encoding apparatus and method
US11936900B2 (en) Method and apparatus for motion vector prediction
JP6187826B2 (ja) 動画像符号化装置及び動画像符号化方法
JP7324065B2 (ja) 動きベクトル検出装置、撮像装置、動きベクトル検出方法、及びプログラム
US10516896B2 (en) Encoding device, encoding method, and storage medium
US20150098512A1 (en) Image processing apparatus and method thereof
JP2025532752A (ja) テンソルを符号化および復号する方法、装置およびシステム
JP5299319B2 (ja) 動きベクトル検出装置
JP2021118425A (ja) 動画像符号化装置、撮像装置、動画像符号化装置の制御方法およびプログラム
JP2021022865A (ja) 動きベクトル検出装置及びその制御方法、符号化装置、撮像装置、及び、プログラム
JP6610115B2 (ja) 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム
US20250106508A1 (en) Techniques for eliminating view angle loss in image stabilized video
US11451805B2 (en) Buffer apparatus
US20250254355A1 (en) Method and device for sub-pixel refinement of motion vectors
JP2008199521A (ja) 画像処理装置およびその方法
JP6308409B2 (ja) 動画像符号化装置及び動画像符号化方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190820

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20200129