JP 2021-44706 A 2021.3.18(57)【要約】（修正有）【課題】符号化対象のフレームを符号化する際の領域分割数を適応的に決定してバス帯域の増大を抑制した画像
符号化装置を提供する。
【解決手段】撮像装置において、動画像のフレームの符号化対象のブロックについて、ｎ画素精度（ｎは２以上の整数）で探索したブロック毎の動きベクトルを保持する第１の探索部と、該第１の探索部で得た各ブロックの動きベクトルに基づき、フレームの分割数を判定する判定部と、該判定部で判定した分割数でフレームを１以上のタイルに分割し、分割した各タイルについてブロックを単位とする符号化処理を行う制御部とを有する。制御部は、着目タイル内の着目ブロックに対する１画素の精度の動きベクトルを、参照画像データにおける着目タイルに対応する領域から探索する第２の探索部と、着目ブ
ロックの画像データを、第２の探索部により得た動きベ
クトルに従って符号化する符号化部とを有する。
【選択図】図１

(2)JP 2021-44706 A 2021.3.18【特許請求の範囲】【請求項１】
動画像を符号化する画像符号化装置であって、動画像のフレームの符号化対象のブロックについて、既に符号化されたフレームの参照
画像データを参照して、ｎ画素精度（ｎは２以上の整数）で動きベクトルを探索していき、ブロック毎の動きベクトルを保持する第１の探索手段と、該第１の探索手段で得た各ブロックの動きベクトルに基づき、フレームの分割数を判定する判定手段と、
該判定手段で判定した分割数で前記フレームを１以上のタイルに分割し、分割した各タ
イルについて前記ブロックを単位とする符号化処理を行う制御手段とを有し、該制御手段は、着目タイル内の着目ブロックに対する１画素の精度の動きベクトルを、前記参照画像
データにおける前記着目タイルに対応する領域から探索する第２の探索手段と、
前記着目ブロックの画像データを、前記第２の探索手段により得た動きベクトルに従って符号化する符号化手段とを有することを特徴とする画像符号化装置。
【請求項２】
前記判定手段は、前記第１の探索手段で得た全ブロックにおける最大となる動きベクトルに基づいて分割数を判定することを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記判定手段は、前記第１の探索手段で得た全ブロックにおける動きベクトルの垂直方向の成分の最大値に基づいて、フレームの水平方向に対する分割数を判定することを特徴とする請求項２に記載の画像符号化装置。
【請求項４】
前記判定手段は、前記第１の探索手段で得た全ブロックにおける動きベクトルの垂直方向の成分の最大値が、予め設定された閾値以下の場合には分割数として１を設定することを特徴とする請求項２に記載の画像符号化装置。
【請求項５】
前記第２の探索手段は、前記第１の探索手段で得た全ブロックにおける動きベクトルの垂直方向の最大値が大きいほど、小さな動きベクトルが選択され易くして探索することを特徴とする請求項２乃至４のいずれか１項に記載の画像符号化装置。
【請求項６】
前記第１の探索手段は、
前記動画像のフレームが示す画像を縮小する第１の縮小手段と、符号化を行っている際のローカルデコードで得たブロックの画像データを縮小する
第２の縮小手段と、
該第２の縮小手段で得た縮小画像データで構成される縮小参照フレームを格納するためのバッファとを含み、前記第１の探索手段は、
前記バッファに格納された縮小参照フレームを探索することで、前記第１の縮小手段
で得た縮小画像におけるブロックに対する動きベクトルを得ることを特徴とする請求項１乃至５のいずれか１項に記載の画像符号化装置。
【請求項７】
動画像を符号化する画像符号化装置の制御方法であって、動画像のフレームの符号化対象のブロックについて、既に符号化されたフレームの参照
画像データを参照して、ｎ画素精度（ｎは２以上の整数）で動きベクトルを探索していき、ブロック毎の動きベクトルを保持する第１の探索工程と、該第１の探索工程で得た各ブロックの動きベクトルに基づき、フレームの分割数を判定
する判定工程と、
該判定工程で判定した分割数で前記フレームを１以上のタイルに分割し、分割した各タ

10

20

30

40

50

(3)

JP 2021-44706 A 2021.3.18

イルについて前記ブロックを単位とする符号化処理を行う制御工程とを有し、該制御工程は、着目タイル内の着目ブロックに対する１画素の精度の動きベクトルを、前記参照画像
データにおける前記着目タイルに対応する領域から探索する第２の探索工程と、
前記着目ブロックの画像データを、前記第２の探索工程により得た動きベクトルに従って符号化する符号化工程とを有することを特徴とする画像符号化装置の制御方法。
【請求項８】
コンピュータが読み込み実行することで、前記コンピュータに、請求項７に記載の方法の各工程を実行させるためのプログラム。
【発明の詳細な説明】【技術分野】【０００１】
本発明は、画像の符号化技術に関するものである。
【背景技術】【０００２】
動 画 像 の 国 際 標 準 符 号 化 規 格 で あ る 、 H.264や そ の 後 継 規 格 で あ る HEVC（ High Efficien
cy Video Coding） 符 号 化 方 式 に お い て は 、 動 き ベ ク ト ル 検 出 と い う 技 術 が 用 い ら れ て いる。これは、符号化対象の画像のブロックと、それとは時間的に異なる符号化済みの参照
画像との間で動きを検出し、その動き情報を加味して動画像圧縮を行うことにより、符号化効率を高めるものである（非特許文献１）。
【０００３】
この動きベクトル検出は、ある決められた探索範囲内で行われるものであり、探索範囲は広い方が動きベクトル検出の精度は向上するが、その分だけ回路規模や処理量が増大してしまう。
【０００４】
また、本来の動きよりも狭い範囲の探索範囲を設定した場合、高い動きを追跡することができず、動きベクトル検出の精度が低下し、画質劣化を招くことになる。
【０００５】
動きベクトル検出をハードウェア処理で行う場合、外部メモリに置かれている参照画像のうち探索範囲部分を読み出して内部メモリに保持しておき、動きベクトル検出を行うことになる。
【０００６】
この参照画像を格納する内部メモリの構成として、水平方向に画像の水平解像度分を保持しておくラインバッファが用いられることが多い。これは、外部メモリから参照画像を読み出す際に、ラインバッファを用いずに符号化ブロックごとに必要な参照画像を読み出すと、同一の画素を何度も重複して読み出す必要があり、外部メモリからの画像データ読
み出しのバス帯域を増大させてしまうためである。
【０００７】
この場合、参照画像格納用内部メモリの構成は、水平方向サイズは画像の水平解像度サ
イズ、垂直方向サイズは垂直方向の探索を行うのに必要となるサイズとなる。
【０００８】
ラインバッファの容量は解像度に比例して大きくなるため、解像度が大きいほど回路規模が増大してしまう。この問題に対応するため、領域分割を行い、符号化順を変更することで、参照画像の格納用のラインバッファの容量を小さくするという技術がある（特許文献１）。
【先行技術文献】【特許文献】【０００９】【特許文献１】特開２０１８−３２９４９号公報

10

20

30

40

50

(4)

JP 2021-44706 A 2021.3.18【非特許文献】【００１０】【 非 特 許 文 献 １ 】 H.265/HEVC教 科 書 、 大 久 保 榮 [[監 修 ]、 鈴 木 輝 彦 、 高 村 誠 之 、 中 条 健 [共 編 ]、 2013年 10月 21日 発 行【発明の概要】【発明が解決しようとする課題】【００１１】
しかしながら、従来技術において領域分割数を増やした場合、通常よりも参照画像の読み出し量が多くなってしまう。そのため、外部メモリ読み出しのバス帯域が増大してしまうという問題があった。
【課題を解決するための手段】【００１２】
この課題を解決するため、例えば本発明の画像符号化装置は以下の構成を備える。すな
わち、
動画像を符号化する画像符号化装置であって、動画像のフレームの符号化対象のブロックについて、既に符号化されたフレームの参照
画像データを参照して、ｎ画素精度（ｎは２以上の整数）で動きベクトルを探索していき、ブロック毎の動きベクトルを保持する第１の探索手段と、該第１の探索手段で得た各ブロックの動きベクトルに基づき、フレームの分割数を判定する判定手段と、
該判定手段で判定した分割数で前記フレームを１以上のタイルに分割し、分割した各タ
イルについて前記ブロックを単位とする符号化処理を行う制御手段とを有し、該制御手段は、着目タイル内の着目ブロックに対する１画素の精度の動きベクトルを、前記参照画像
データにおける前記着目タイルに対応する領域から探索する第２の探索手段と、
前記着目ブロックの画像データを、前記第２の探索手段により得た動きベクトルに従って符号化する符号化手段とを有する。
【発明の効果】【００１３】
本発明によれば、符号化対象のフレームを符号化する際の領域分割数を適応的に決定してバス帯域の増大を抑制しつつ、符号化を行うことができる。
【図面の簡単な説明】【００１４】【図１】実施形態にて適用する撮像装置における符号化に係る構成のブロック図。
【図２】分割なしの場合の符号化順を示す図。
【図３】水平方向２分割の場合の符号化順を示す図。
【図４】符号化対象の画像と参照画像ラインバッファのサイズ関係を示す図。
【図５】水平方向２分割の場合の参照画像ラインバッファのサイズを示す図。
【図６】水平方向４分割の場合の参照画像ラインバッファのサイズを示す図。
【図７】分割なしの場合の参照画像読み出し量を説明するための図。
【図８】水平方向２分割の場合の参照画像読み出し量を説明するための図。
【図９】水平方向４分割の場合の参照画像読み出し量を説明するための図。
【図１０】水平方向分割数決定処理を示すフローチャート。
【発明を実施するための形態】【００１５】
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものでない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組
み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。

10

20

30

40

50

(5)

JP 2021-44706 A 2021.3.18【００１６】［第１の実施形態］
本実施形態では、画像符号化装置を、デジタルビデオカメラに代表される撮像装置に適用した例を説明する。図１は、その撮像装置における符号化に関わる部分のブロック構成
図 で あ る 。 本 実 施 形 態 で は 、 撮 像 し た 動 画 像 を HEVC符 号 化 方 式 に 従 っ て 符 号 化 す る も の としている。制御部１５０は以下に説明する各構成要素の制御を行い、装置全体の制御を司る。この制御部１５０は、ＣＰＵ、ＣＰＵが実行するプログラムを格納するＲＯＭ、及び、ワークエリアとして使用されるＲＡＭで構成される。
【００１７】
レンズ１０１を通して、被写体の像が撮像部１０２の結像面に結像される。撮像部１０２は、結像した光学像を電気信号に変換し、Ａ／Ｄ変換でデジタルの画像データ（ベイヤ
配列のＲＡＷ画像データ）を得る。撮像部１０２は、得られた画像データを現像処理部１０３に供給する。なお、撮像部１０２は、予め設定されたフレームレート（たとえば３０
フレーム／秒）で撮像処理を行うものとする。
【００１８】
現像処理部１０３は、撮像部１０２より受信した画像データに対し、ディベイヤー処理、 キ ズ 補 正 、 ノ イ ズ 除 去 、 YCbCr形 式 へ の 色 変 換 な ど の 画 像 処 理 を 行 う 。 そ し て 、 現 像 処理部１０３は、画像処理後の画像データを、符号化対象の着目フレームの画像データとして符号化フレームバッファ１０４に格納すると共に、符号化画像縮小処理部１０６に供給する。
【００１９】
符号化対象の画像データを格納する符号化フレームバッファ１０４、参照画像を格納し、 保 持 す る 参 照 フ レ ー ム バ ッ フ ァ １ ０ ５ は 、 そ れ ぞ れ 外 部 メ モ リ で あ る DRAM（ Dynamic Ra
ndom Access Memory） を 用 い る も の と す る 。
【００２０】
符号化対象画像と参照画像との間で動きベクトル検出が行われる。実施形態では、動き
ベクトル検出処理として、縮小画像を用いて広く粗く探す粗探索と、この粗探索の結果を受けて狭く精度良く探す密探索との組み合わせの階層探索を行う。本実施形態における階層探索は、粗探索と密探索をピクチャパイプラインで行う。すなわち、１ピクチャ分の粗探索をブロック毎に行い、その結果を保存しておく。その後に１ピクチャ分の密探索をブ
ロック毎に行う（詳細後述）。
【００２１】
符号化画像縮小処理部１０６は、現像処理部１０３から受信した符号化対象画像データに対して縮小処理を行い、粗探索用の符号化対象の縮小画像データを生成し、その縮小画
像データを縮小符号化フレームバッファ１０７に格納する。なお、縮小率は特に問わない
が、実施形態の符号化画像縮小処理部１０６は水平１／２、垂直１／２の縮小率に従って縮小処理を行うものとする。また、縮小方法は、オリジナルの画像の２×２画素の平均値を縮小後の１画素とするものとするが、オリジナル画像を単純に間引きして縮小画像を生成しても構わない。
【００２２】
粗探索部１０９は、縮小符号化フレームバッファ１０７に格納された縮小符号化対象画
像と、縮小参照フレームバッファ１０８に格納された縮小参照画像を用いてブロックマッ
チングを行い粗探索の動きベクトル検出を行う。両者に格納される画像は、オリジナルの画像に対して水平１／２、垂直１／２のサイズであるので、水平、垂直ともに２画素精度の動きベクトルとなる。粗探索部１０９は、この粗探索による動きベクトル検出は、密探索を行う前に、１ピクチャの全ブロックに対して行い、その結果を内部の不図示のメモリに保存する。粗探索部１０９が、１ピクチャ分の動きベクトル検出を終えると、密探索の動作が行われる。
【００２３】
符号化画像ブロックバッファ１１０は、密探索の符号化画像の保存用であり、符号化フ

10

20

30

40

50

(6)

JP 2021-44706 A 2021.3.18

レームバッファ１０４に格納されている符号化画像をブロック単位で取得し、格納しておく 。 こ の 符 号 化 画 像 ブ ロ ッ ク バ ッ フ ァ １ １ ０ は 、 内 部 メ モ リ で あ る SRAM（ Static Random
Access Memory） で 構 成 さ れ て い る も の と す る 。
【００２４】
参照画像ラインバッファ１１１は、密探索の参照画像の保存用であり、動きベクトル検出に必要な参照画像を参照フレームバッファ１０５から取得し、格納する。この参照画像
ラ イ ン バ ッ フ ァ １ １ １ は 、 内 部 メ モ リ で あ る SRAMで 構 成 さ れ て い る も の と す る 。
【００２５】
密探索部１１２は、粗探索部１０９が行った動きベクトル検出の結果を受け取り、その動きベクトル位置の周辺の１画素以内の範囲のみ探索を行う。符号化画像ブロックバッフ
ァ１１０に格納されている符号化画像と、参照画像ラインバッファ１１１に格納されている参照画像との間でブロックマッチングをとり、動きベクトル検出を行う。
【００２６】
例えば、粗探索部１０９の探索処理で得た動きベクトルの水平、垂直成分を｛ｖｘ、ｖｙ｝（ただし、ｖｘ，ｖｙの２の整数倍となる）と表した場合、密探索部１１２は、符号化画像ブロックバッファ１１０に格納された着目ブロックに対する候補ブロックを、水平成分の探索範囲を「ｖｘ−１〜ｖｘ＋１」、垂直成分の探索範囲を「ｖｙ−１〜ｖｙ＋１」の範囲で探し出し、最も近い候補ブロックに対する相対座標を動きベクトルとして取得する。
【００２７】
このように粗探索と密探索の階層探索により動きベクトル検出を行う。密探索時は、粗探索結果の動きベクトル位置の周辺の整数画素精度の動きベクトル検出を行った後、さらに１／２精度、１／４精度の動きベクトル検出を行うこともできる。
【００２８】
密探索部１１２は、動きベクトル検出処理後、符号化対象画像のブロックと、検出された動きベクトルが示す位置の予測画像ブロックとの間で画素の差分をとり、その差分画像
ブロックを直交変換部１１３に出力する。また密探索部１１２は、ローカルデコード画像
作成用に、検出した動きベクトルが示す予測画像ブロックを動き補償部１２０に出力する。
【００２９】
直交変換部１１３は、送られてきた差分画像ブロックに対して離散コサイン変換（ＤＣＴ）を行って変換係数を生成し、その変換係数を量子化部１１４に出力する。
【００３０】
量子化部１１４は、直交変換部１１３から送られてきた変換係数に対して、量子化制御
部１１５が出力する量子化ステップサイズに従い、量子化を行う。そして、量子化部１１４は、量子化後の変換係数を、可変長符号化部１１６、及び、逆量子化部１１８に出力する。
【００３１】
可変長符号化部１１６は、受信した量子化後の変換係数に対してジグザグスキャン、オルタネートスキャン等を行い、可変長符号化を行い、符号化データを生成する。また、量子化部１１４は、動きベクトルや量子化ステップサイズ、ブロック分割情報、適応オフセ
ット処理用パラメータなどの符号化方式情報を可変長符号化したものをピクチャ（フレーム）のヘッダとして付加し、生成された符号化データを多重化することで符号化ストリー
ムを生成する。そして、可変長符号化部１１６は、生成された符号化ストリームを記録メディア１１７にファイルとして記録する。更に、可変長符号化部１１６は、符号化の際にブロックごとの発生符号量を算出し、算出した発生符号量を示す情報を量子化制御部１１５に出力する。
【００３２】
量子化制御部１１５は、可変長符号化部１１６から送られてくる発生符号量を用いて、目標とする符号量になるように、次のブロックを量子化する際の量子化ステップサイズを

10

20

30

40

50

(7)

JP 2021-44706 A 2021.3.18

決定し、量子化部１１４に出力する。
【００３３】
逆量子化部１１８は、量子化部１１４から受信した量子化後の変換係数に対して逆量子化を行い、ローカルデコード用の変換係数を生成する。そして、逆量子化部１１８は、生成された変換係数を逆直交変換部１１９に出力する。
【００３４】
逆直交変換部１１９は、逆量子化部１１８から受信した変換係数に対して逆離散コサイン変換を行うことで、差分画像ブロックを生成する。そして、逆直交変換部１１９は、生成された差分画像ブロックは動き補償部１２０に出力する。
【００３５】
動き補償部１２０は、密探索部１１２から受信した動きベクトルが示す予測画像ブロッ
クと、逆直交変換部１１９から受信した差分画像ブロックとを加算することにより、ロー
カルデコード用の画像ブロックを生成する。そして、動き補償部１２０は、生成された画
像ブロックをデブロッキングフィルタ部１２１に出力する。
【００３６】
デブロッキングフィルタ部１２１は、動き補償部１２０から受信した画像ブロックに対してデブロッキングフィルタをかけ、デブロッキングフィルタ後の画像ブロックを適応オ
フセット処理部１２２に出力する。
【００３７】
適応オフセット処理部１２２は、バンドオフセット処理、エッジオフセット処理、もし
くは何も処理をしない、のいずれかの選択を行い、適応オフセット処理を行うバンド位置、エッジ方向、オフセット値などを決定する。そして、適応オフセット処理部１２２は、適応オフセット処理としてどの処理を選択したかを示す情報、バンド位置、エッジ方向、オフセット値などの適応オフセット処理用のパラメータを符号化ストリームとして生成するため、可変長符号化部１１６に出力する。また、適応オフセット処理部１２２は、デブ
ロッキングフィルタ後の画像ブロックに対して適応オフセット処理を行う。そして、適応オフセット処理部１２２は、適応オフセット処理後の画像ブロックをローカルデコード画像として参照フレームバッファ１０５に格納する。更に、適応オフセット処理部１２２は、粗探索用の縮小参照画像を生成するためローカルデコードした画像ブロックを参照画像
縮小処理部１２３へ送る。
【００３８】
参照画像縮小処理部１２３は、ローカルデコードの画像ブロックに対して縮小処理を行
い、縮小参照フレームバッファ１０８へ格納する。
【００３９】
上記の示す動作により、符号化ストリーム、ローカルデコード画像が作成される。
【００４０】ＨＥＶＣでは、新たにタイル分割という技術が導入されている。これは画像を複数のタ
イ ル に 分 割 す る も の で 、 Ｃ Ｔ Ｕ (Coding Tree Unit)の 符 号 化 を 行 う 順 番 が 変 わ る 。 タ イ ル
分割を行う場合は、領域分割制御部１２４から符号化画像ブロックバッファ１１０と参照
画像ラインバッファ１１１にタイル分割の指示がなされ、符号化画像、参照画像を取得する順番が変わる。
【００４１】
図２にタイル分割を行わない場合の符号化順を示す。符号化対象の画像２０１に対して、 画 像 の 左 上 の CTU２ ０ ２ か ら ラ ス タ ス キ ャ ン 順 に 処 理 が 行 わ れ る 。 す な わ ち 、 左 上 の CTU
か ら 右 方 向 に 順 番 に 処 理 が 行 わ れ 、 右 端 の 処 理 が 終 わ っ た ら 左 端 で 一 つ 下 の CTUの 処 理 が行 わ れ る 。 こ の よ う な 順 で 画 像 の 右 下 の CTU２ ０ ３ ま で 処 理 が 行 わ れ る 。
【００４２】
図３にタイル分割を水平方向の左右に２分割した場合の符号化順を示す。左タイル３０
１、右タイル３０２に対して、まず左タイル３０１の中でラスタ順に処理が行われる。左タ イ ル ３ ０ １ の 左 上 の CTU３ ０ ３ か ら 処 理 が 行 わ れ 、 左 タ イ ル の 右 下 の CTU３ ０ ４ ま で 順 に

10

20

30

40

50

(8)

JP 2021-44706 A 2021.3.18

処 理 が 行 わ れ る 。 そ の 後 、 右 タ イ ル ３ ０ ２ の 左 上 CTU３ ０ ５ に 処 理 が 移 り 、 右 タ イ ル ３ ０
２ の 中 で ラ ス タ 順 に 処 理 が 行 わ れ 、 右 下 CTU３ ０ ６ ま で 順 に 処 理 が 行 わ れ る 。
【００４３】
このように水平方向にタイル分割を行うと符号化処理の順番が変わることになる。
【００４４】
次に、参照画像ラインバッファ１１１の使用方法について説明する。
【００４５】
タイル分割なしの場合の符号化対象の画像、および参照画像ラインバッファ１１１の水
平サイズ、および垂直サイズを図４に示す。
【００４６】
図示では、符号化対象の画像４０１の解像度（画素数）を３８４０×２１６０画素とし、タイル分割なしの場合の動きベクトル検出の水平方向の探索範囲を±２５６画素、垂直方向の探索範囲を±１２８ラインとして説明する。
【００４７】
タイル分割なしの場合の参照画像ラインバッファ１１１の水平サイズは水平解像度と同
じ３８４０画素となる。そして、参照画像ラインバッファ１１１の垂直サイズは垂直方向
探 索 範 囲 ＋ 垂 直 方 向 CTUサ イ ズ （ こ こ で は ６ ４ ラ イ ン と す る ） で あ る の で 、 ３ ２ ０ ラ イ ンとなる。
【００４８】
これより参照画像ラインバッファ１１１の容量は、３８４０×３２０画素で＂１２２８８００＂画素分のデータ量となる。
【００４９】
次に、水平方向の左右にタイル２分割を行った場合の符号化対象の画像、および参照画
像ラインバッファ１１１の水平サイズ、および垂直サイズを図５に示す。
【００５０】
タイル分割を行った場合、動きベクトル検出の水平方向の探索範囲は分割なしの場合と同様に水平方向±２５６画素となり、垂直方向の探索範囲は分割なしの場合より広く取ることができる。
【００５１】
水平方向にタイル分割を行った場合の参照画像ラインバッファ１１１の水平サイズは、
分 割 な し 時 と は CTUの 符 号 化 順 が 変 わ る た め に 、 水 平 タ イ ル サ イ ズ ＋ 探 索 範 囲 と な る 。 水平タイルサイズは、左タイル５０１、および右タイル５０２ともに３８４０画素の２分割なので１９２０画素となる。水平方向の探索範囲は２５６画素なので、参照画像ラインバ
ッファ１１１の水平サイズは１９２０＋２５６で２１７６画素となる。
【００５２】
参照画像ラインバッファ１１１の容量は１２２８８００画素のデータ量が確保できる。
水平サイズは上記の通り、２１７６画素なので、参照画像ラインバッファ１１１の垂直サ
イ ズ は ５ ６ ４ ラ イ ン （ ＝ １ ２ ２ ８ ８ ０ ０ ／ ２ １ ７ ６ ） と す る こ と が で き る 。 垂 直 CTUサ イ
ズが６４ラインであることから、｛５６４−６４｝／２＝２５０となるので、垂直探索範囲を±２５０ラインにすることができる。
【００５３】
このように水平方向にタイル分割を行うことで、垂直探索範囲を広くすることができる。
【００５４】
水平方向のタイル４分割を行った場合の符号化対象の画像、および参照画像ラインバッ
ファ１１１の水平サイズ、および垂直サイズを図６に示す。
【００５５】
水平方向に並ぶタイル６０１、タイル６０２、タイル６０３、タイル６０４のそれぞれの水平方向のサイズは９６０画素（＝３８４０／４）となる。また、水平方向の動きベク
トルの探索範囲は２５６画素であり、タイル６０２、タイル６０３は左右方向の両方に探

10

20

30

40

50

(9)

JP 2021-44706 A 2021.3.18

索範囲分だけ必要となるので、参照画像ラインバッファ１１１の水平方向のサイズは９６
０＋２５６＋２５６で１４７２画素となる。
【００５６】
参照画像ラインバッファ１１１の容量は１２２８８００画素のデータ量が確保できるわけであるので、参照画像ラインバッファ１１１の垂直サイズは８３４ライン（＝１２２８８ ０ ０ ／ １ ４ ７ ２ ） と す る こ と が で き る 。 垂 直 CTUサ イ ズ が ６ ４ ラ イ ン で あ る こ と か ら 、（８３４−６４）／２＝３８５となるので、垂直探索範囲を±３８５ラインにすることができることになる。
【００５７】
このように、水平方向の分割数を増やすことにより、垂直方向により広い探索範囲を取ることができる。
【００５８】
次に、分割なしの場合と分割した場合の、参照画像データの総読み出し量について説明する。
【００５９】
まず、図７を参照して、分割なしの場合の参照画像データの総読み出し量を説明する。
分割なしの場合は参照画像データ７０１に対して、先頭ラインの画素から順番に参照画像
ラインバッファ１１１にラインごとに読み出しを行い、不必要になったラインを入れ替えていくことにより、各画素を１回だけ読むことになる。したがって、総読み出し量は画像サイズと同じになり、水平３８４０画素×垂直２１６０ラインで、８２９４４００画素分のデータ量となる。
【００６０】
次に、水平方向に２分割の場合の参照画像データの総読み出し量を図８（ａ），（ｂ）
を参照して説明する。
【００６１】
まず、左タイル８０１が符号化対象の着目タイルであって、その着目タイル内の着目ブ
ロックを符号化する場合は、着目タイルに対応する参照画像データの読み出しを行う。左
タイル８０１の先頭ラインの画素から順番に参照画像ラインバッファ１１１にラインごとに読み出しを行う。ここで、参照画像を格納する水平方向のラインバッファサイズは、左
タイル８０１の水平サイズ＋右方向の水平方向探索範囲となる。水平タイルサイズが１９２０画素、水平探索範囲が２５６画素のため、水平方向のラインバッファサイズは２１７６画素となる（図５を参照されたい）。
【００６２】
分割なしの場合と同様にラインごとに読み出しを行い、不必要になったラインを入れ替えていく。その結果、左タイル８０１用の参照画像の読み出し範囲８０２は、水平２１７６画素×垂直２１６０ラインとなり、４７００１６０画素分のデータ量となる。
【００６３】
右タイル８０３の場合も左タイル８０１と同様に、水平方向のラインバッファサイズは右タイルサイズ＋左方向の水平方向探索範囲で２１７６画素となる。左タイルと同じく、読み出し量は４７００１６０画素分のデータ量となる。
【００６４】
これらより水平方向２分割の場合の参照画像の総読み出し量は、４７００１６０×２＝
９４００３２０画素となる。これは分割なしの総読み出し量に対して１１０５９２０画素の増加となる。
【００６５】
次に、水平方向４分割の場合の参照画像の総読み出し量を図９（ａ）〜（ｄ）を参照して説明する。
【００６６】
左端のタイル９０１の水平方向のラインバッファサイズは水平タイルサイズ＋右方向の水平探索範囲であり、９６０＋２５６で、１２１６画素となる。よって、タイル９０１の

10

20

30

40

50

(10)

JP 2021-44706 A 2021.3.18

参照画像の読み出し範囲９０２の読み出し量は、１２１６画素×２１６０ラインで２６２
６５６０画素分のデータ量となる。
【００６７】
左から２番目のタイル９０３の水平方向のラインバッファサイズは水平タイルサイズ＋
左右方向の水平探索範囲であり、９６０＋２５６＋２５６で、１４７２画素となる。よって、タイル９０３の参照画像の読み出し範囲９０４の読み出し量は、１４７２画素×２１
６０ラインで３１７９５２０画素分となる。
【００６８】
左から３番目のタイル９０５もタイル９０３の場合と同様に算出し、参照画像の読み出
し範囲９０６の読み出し量は３１７９５２０画素分となる。
【００６９】
そして、一番右のタイル９０７もタイル９０１の場合と同様に算出し、参照画像の読み出し範囲９０８の読み出し量は２６２６５６０画素部となる。
【００７０】
これらを合計した水平方向４分割の場合の参照画像の総読み出し量は、２６２６５６０＋３１７９５２０＋３１７９５２０＋２６２６５６０＝１１６１２１６０画素となる。これは分割なしの総読み出し量に対して２２１７７６０画素の増加であり、水平方向２分割の総読み出し量に対して２２１１８４０画素の増加となる。
【００７１】
このように、水平方向の分割数が多くなるほど参照画像の総読み出し量は増えていく。
し た が っ て 水 平 方 向 の 分 割 数 が 多 く な る ほ ど DRAM読 み 出 し の バ ス 帯 域 を 消 費 し て し ま う ことになる。
【００７２】
なるべくバス帯域を消費せずに適切な探索範囲を設定するためには、粗探索部１０９の結果を用いて密探索時の水平方向の分割数を決定することである。
【００７３】
実施形態の場合、粗探索部１０９は、１ピクチャ分のブロックごとの２画素精度の動き
ベクトル検出を行い、その結果を保存する。そして、密探索時には、粗探索結果の２画素
精度の動きベクトルの周辺１画素以内のみ探索を行うため、この時点でピクチャ内の動きベクトルの最大値を求めることができる。ここでの最大値とは、ベクトル長が最も長いものを指す。このピクチャ内の垂直方向の動きベクトルのベクトル長最大値を領域分割制御
部１２４に送る。
【００７４】
領域分割制御部１２４は、ピクチャ内の垂直方向の粗動きベクトルのベクトル長最大値
から、水平方向の分割数を決定する。
【００７５】
本実施形態における動きベクトルの垂直方向の探索範囲は、分割なしの場合が±１２８ライン、水平方向２分割の場合が±２５０ライン、水平方向４分割の場合が±３８５ラインである。このことから、実施形態の領域分割制御部１２４は、ピクチャ内の垂直方向の動きベクトルのベクトル長最大値が１２８ライン以内であれば水平方向分割なし、２５０
ライン以内であれば水平方向２分割、それより大きい場合は水平方向４分割、と決定する。
【００７６】
粗探索で得た動きベクトルの垂直方向のベクトル長最大値から分割数を決定しているため、密探索時に動きベクトル検出が可能となる最小の分割数にすることができる。
【００７７】
実施形態における参照画像データの水平方向の分割数決定処理を図１０のフローチャー
トに従って説明する。
【００７８】
まず、Ｓ１００１にて、制御部１５０の制御下にて粗探索部１０９が、１ピクチャ分の

10

20

30

40

50

(11)

JP 2021-44706 A 2021.3.18

粗探索をブロックごとに行い、２画素精度の粗動きベクトル検出を行い、その結果を保存する。そして、Ｓ１００２にて、制御部１５０は、粗探索における動きベクトル検出の結果から、ピクチャ内の粗動きベクトルの垂直方向のベクトル長最大値を取得する。
【００７９】
Ｓ１００３にて、制御部１５０は、粗動きベクトルの垂直方向のベクトル長最大値が閾値である＂１２８＂以下かどうか判定する。閾値以下であると判定した場合、制御部１５０は、処理をＳ１００４に進める。このＳ１００４にて、制御部１５０は密探索時の水平方向分割を無しに設定する（タイル分割数を１にすると等価）。
【００８０】
Ｓ１００３にて、制御部１５０が粗動きベクトルの垂直方向のベクトル長最大値が１２８を超えると判定した場合、処理をＳ１００５に進める。このＳ１００５にて、制御部１５０は、粗動きベクトルの垂直方向のベクトル長最大値が２５０以下かどうかを判定する。制御部１５０は、粗動きベクトルの垂直方向のベクトル長最大値が２５０以下であると判定した場合、処理をＳ１００６に進める。このＳ１００６にて、制御部１５０は、密探索時の水平方向分割数を２分割に設定する。
【００８１】
一方、Ｓ１００５にて、制御部１５０が粗動きベクトルの垂直方向のベクトル長最大値
が２５０を超えると判定した場合、処理をＳ１００７に進める。このＳ１００７にて、制御部１５０は、密探索時の水平方向分割数を４分割に設定する。
【００８２】
このように動作することで、密探索時に得た粗動きベクトル検出の探索範囲を適切に保ちながら、参照画像データの水平方向分割数を最小限に抑えることができる。
【００８３】
以上のように、粗探索時のベクトル検出の結果の粗動きベクトルの垂直方向のベクトル
長最大値に応じて、密探索時の参照画像データの水平方向分割数を決定することで、適切な探索範囲のまま水平方向分割数を最小限に抑えることができ、バス帯域の増加を最小限にすることができる。
【００８４】
なお、本実施形態では、符号化方式としてＨＥＶＣを採用するものとして説明を行ったが、領域分割を用いるものであれば、特に符号化方式は問わない。
【００８５】
また、実施形態では、粗探索部１０９は２画素精度で動きベクトルの探索を行うものとした。しかし、符号化画像縮小処理部１０６は、オリジナルの画像のｎ×ｎ画素（ｎは２以上の整数）から縮小画像の１画素を生成する場合には、粗探索部１０９はｎ画素精度で動きベクトルの探索を行えばよいので、上記実施形態に限定されるものではない。
【００８６】［第２の実施形態］
本第２の実施形態では、上記第１の実施形態との違いとして、粗探索時の動きベクトル検出を行う際に、水平方向分割数が変更となる閾値を考慮したベクトル検出を行う例を説明する。
【００８７】
説明を単純化するため、以下では、第１の実施形態をとの差異についてのみ詳細に説明する。
【００８８】
動きベクトル検出においては、符号化対象の着目画像ブロックと、参照画像データ内のブロックと間でブロックマッチングをとり、最も符号化効率がいい、参照画像データ内のブロックの位置（相対位置）を動きベクトルとして決定する。この動きベクトルの決定には、一般的に、符号化対象の画像ブロックと参照画像ブロック（参照画像データ内の候補ブロック）を減算して得られる差分データをベースにしたコスト関数が用いられる。コスト関数には色々な関数が考えられるが、代表的なものとして式（１）が挙げられる。

10

20

30

40

50

(12)

JP 2021-44706 A 2021.3.18

Cost = SATD+Qp× Mvcost…（１）
こ こ で SATDと は 、 符 号 化 対 象 の 画 像 ブ ロ ッ ク と 参 照 画 像 ブ ロ ッ ク を 減 算 し て 得 ら れ た 差 分
データに対してアダマール変換をかけたものに対し、差分絶対値和演算を行ったものである 。 Qpは 量 子 化 処 理 に 使 用 さ れ る 量 子 化 値 で あ り 、 Mvcostは 動 き ベ ク ト ル の 長 さ に 応 じ た動きベクトルの符号量相当のコスト値である。このコスト関数を用い、最もコスト値の小さい参照画像ブロックの位置を動きベクトルとして決定する。
【００８９】
本第２の実施形態においては、この基本となるコスト式に対して、さらにベクトル長が
水平方向分割数の閾値となる値ごとにコスト式を変更する。
【００９０】
垂直方向のベクトル長の最大値に応じて水平方向の分割数は決定される。そのため、垂直方向のベクトル長の最大値を水平方向の分割数の境界となる閾値より小さくなるようなベクトルを選ばれやすくすることにより、水平方向分割数を少なくすることができる。水平方向の分割数を少なくすることにより、バス帯域の増加を抑制することができる。
【００９１】
垂 直 方 向 の ベ ク ト ル 長 の 絶 対 値 を MVyと す る 。 ま た 、 ピ ク チ ャ 内 で の 粗 動 き ベ ク ト ル の
垂 直 方 向 の 最 大 値 を MVyMaxと す る 。
【００９２】
本第２の実施形態の場合、垂直方向のベクトル長の最大値と水平方向分割数の関係は、
以下のようになる。
MVyMax ≦ １ ２ ８→ 分割なし１ ２ ８ ＜ MVyMax ≦ ２ ５ ０ → 水 平 方 向 ２ 分 割
２ ５ ０ ＜ MVyMax→ 水平方向４分割
これより、垂直方向ベクトル長が１２８、２５０を閾値として異なるコスト式を用いる
ことにする。垂直方向のベクトル長とコスト式の関係を以下に示す。
MVy ≦ １ ２ ８ の と き Cost = SATD+Qp× Mvcost … （ ２ ）１ ２ ８ ＜ MVy ≦ ２ ５ ０ の と き Cost = SATD+Qp× Mvcost + α … （ ３ ）２ ５ ０ ＜ MVy の と き Cost = SATD+Qp× Mvcost + β … （ ４ ）ここで、α、βはあらかじめ決められている値であり、β＞α＞０の関係であるとする。
【００９３】
垂 直 方 向 ベ ク ト ル 長 MVyが １ ２ ８ 以 下 の と き は 、 動 き ベ ク ト ル 検 出 の コ ス ト 式 と し て 式（ ２ ） を 用 い る 。 ま た 、 垂 直 方 向 ベ ク ト ル 長 MVyが １ ２ ８ よ り 大 き く 、 ２ ５ ０ 以 下 の と きはコスト式として式（３）を用いる。これは式（２）と比較して、αだけコスト値が大きくなっている。すなわち垂直方向ベクトル長が１２８以下の場合と比べて、選ばれにくくな っ て い る 。 垂 直 方 向 ベ ク ト ル 長 MVyが ２ ５ ０ よ り 大 き い と き は コ ス ト 式 と し て 式 （ ４ ）を用いる。これは式（３）と比較して、β−αだけコスト値が大きくなっている。すなわ
ち垂直方向ベクトル長が２５０以下の場合と比べて、選ばれにくくなっている。
【００９４】
このように、水平方向分割数の境界となる閾値に応じてコスト式を変更することにより、水平方向分割数が少なくなるベクトルが選ばれやすくなる。水平方向分割数が少なくなることにより、バス帯域の増加をより抑えることができる。
【００９５】
なお、上記第１、第２の実施形態では、撮像部により得た動画像を符号化する撮像装置に適用する例を説明したが、動画像発生源としては符号化対象の動画像データを記憶した記憶媒体であっても良いので、撮像装置に限定されるものではない。
【００９６】（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。ま

10

20

30

40

50

(13)

JP 2021-44706 A 2021.3.18

た、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００９７】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】【００９８】
１０１…レンズ、１０２…撮像部、１０３…現像処理部、１０４…符号化フレームバッフ
ァ、１０５…参照フレームバッファ、１０６…符号化画像縮小処理部、１０７…縮小符号化フレームバッファ、１０８…縮小参照フレームバッファ、１０９…粗探索部、１１０…
符号化画像ブロックバッファ、１１１…参照画像ラインバッファ、１１２…密探索部、１
１３…直交変換部、１１４…量子化部、１１５…量子化制御部、１１６…可変長符号化部、１１７…記録メディア、１１８…逆量子化部、１１９…逆直交変換部、１２０…動き補償部、１２１…デブロッキングフィルタ部、１２２…適応オフセット処理部、１２３…参照画像縮小処理部、１２４…領域分割制御部、１５０…制御部

【図１】

【図２】

【図３】

10

(14)

【図４】

【図５】

【図６】

【図８】

JP 2021-44706 A 2021.3.18

【図９】

【図７】

40

(15)

【図１０】

JP 2021-44706 A 2021.3.18

(16)JP 2021-44706 A 2021.3.18

̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶
フロントページの続き(51)Int.Cl.

ＦＩ

Ｈ０４Ｎ 19/59(72)発明者 小林(2014.01)

テーマコード（参考）
Ｈ０４Ｎ

19/59

幸史

東京都大田区下丸子３丁目３０番２号

キヤノン株式会社内

Ｆターム(参考) 5C159 KK08

LB01

MA05 MA23

MC11

ME01

NN02

NN05

NN08

SS14

TA12

TA65

TB04 TB08

TC03

TC06

TC12

TC28

TD02

TD12

UA02

UA05

UA16 UA33