JP7416380B2 - 参照画像キャッシュ、削除先決定方法及びコンピュータプログラム - Google Patents

参照画像キャッシュ、削除先決定方法及びコンピュータプログラム Download PDF

Info

Publication number
JP7416380B2
JP7416380B2 JP2020078790A JP2020078790A JP7416380B2 JP 7416380 B2 JP7416380 B2 JP 7416380B2 JP 2020078790 A JP2020078790 A JP 2020078790A JP 2020078790 A JP2020078790 A JP 2020078790A JP 7416380 B2 JP7416380 B2 JP 7416380B2
Authority
JP
Japan
Prior art keywords
reference area
reference image
data
frame number
replacement
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
JP2020078790A
Other languages
English (en)
Other versions
JP2021175119A (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.)
Tohoku University NUC
Nippon Telegraph and Telephone Corp
Original Assignee
Tohoku University NUC
Nippon Telegraph and Telephone 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
Application filed by Tohoku University NUC, Nippon Telegraph and Telephone Corp filed Critical Tohoku University NUC
Priority to JP2020078790A priority Critical patent/JP7416380B2/ja
Publication of JP2021175119A publication Critical patent/JP2021175119A/ja
Application granted granted Critical
Publication of JP7416380B2 publication Critical patent/JP7416380B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明は、参照画像キャッシュ、削除先決定方法及びコンピュータプログラムに関する。
映像符号化の技術には、MPEG(Moving Picture Experts Group)-2、MPEG-4、MPEG-4/AVC等の映像符号化方式が多く用いられている。最近では、次世代の映像符号化規格であるHEVC(High Efficiency Video Coding)が規格化され、今後の普及が見込まれている。HEVCは、従来の映像符号化方式であるMPEG-4/AVCの約2倍の符号化効率を達成する。符号化効率の向上に伴い、4K(3840画素×2160ライン)・8K(7680画素×4320ライン)といった空間解像度の高い映像についても符号化処理として扱われるようになっている。
HEVC等の符号化規格では、別フレームとの動きを探索・推定し、補償するフレーム間符号化を行うことで符号化効率向上を図っている。フレーム間符号化では、入力画像と参照画像(特定フレームの符号化済画像)との間で、画素単位での差分累積値等が最も小さくなる座標を探索モジュールにおいて探索して動きベクトルを決定する。映像符号化装置では、決定された動きベクトルにしたがって、動きベクトル先の参照画像を用いて現符号化対象ブロックの画像を生成する動き補償処理を実行する。
HEVC等の現符号化方式では、動き補償の参照先フレームとしてL0フレーム、L1フレームの2枚を設定可能であり、それぞれに対して動きベクトルが設定される。設定された動きベクトル先のL0フレーム・L1フレームを用いて作り出されたそれぞれの補償画像を平均化することで、現符号化対象ブロックの画像が生成される。さらに、L0フレーム・L1フレームのそれぞれに対して複数枚の参照フレーム候補を持つことが可能である。符号化対象フレームからの時間的に近い順に、L0・L1それぞれの参照フレーム候補の中でref番号が0から付与される。符号化時は、エンコーダ側がref最大数を設定し、L0・L1それぞれで1つのref番号がシンタックスとして送られる。このため、現符号化方式では、符号化対象フレームごとに(2×ref最大数) 枚の参照候補フレームに対して動き探索を行う必要がある。
動き探索処理や動き補償処理で必要となる参照画像は、過去の符号化済画像群であるため全データサイズが非常に大きい。このため、映像符号化用LSI(Large-Scale Integrated circuit;大規模集積回路)の場合、LSIの内部に全ての参照画像データを格納することはできず、外部のメインメモリにデータを格納する必要がある。一方で、LSI演算処理に比べて外部のメインメモリは高速動作性能に劣る。そのため、データリクエスト時のアクセスレイテンシによって符号化演算性能に影響を与えうる。このため、LSIとメインメモリとの性能差を埋めるべく、キャッシュメモリと呼ばれる小容量の高速動作が可能な一時記憶装置をLSI内部に実装することが考えられる。
LSI内部に参照画像データ専用のキャッシュメモリを実装することで、将来再利用されうる参照画像データを事前にキャッシュメモリに保持し、メモリアクセスレイテンシを隠蔽することが可能となる(例えば、非特許文献1参照)。動き探索処理や動き補償処理等の各機能ブロックが参照画像データを要求する場合、参照画像用のキャッシュメモリ内に要求データがあるか否か判定される。一般的に、参照画像用のキャッシュメモリ内に要求データがある場合にはヒットと呼ばれ、参照画像用のキャッシュメモリ内に要求データがない場合にはミスと呼ばれる。ヒットの場合には、キャッシュメモリから要求データが機能ブロックに転送される。一方で、ミスの場合には、メインメモリから各機能ブロックに転送されるが、この時、キャッシュメモリ内に存在するあるデータブロック(ライン)が要求データで置換される。
キャッシュメモリの構成方式として様々なものが提案されているが、その一つとしてLRU(Least Recently Used)アルゴリズムを用いたセットアソシアティブキャッシュが知られている。セットアソシアティブキャッシュとは、キャッシュミス時にキャッシュメモリ内のラインを置換する際に、置換先候補をキャッシュ上のn通りの候補にのみ限定する方式であり、n-wayセットアソシアティブキャッシュと呼ばれる。LRUとは、n通りの置換先候補の中で、アクセスされてから最も長い時間経ったものを置換するアルゴリズムである。同一データは短期間内で再度利用される可能性が高いため、LRU置換アルゴリズムはデータの時間的局所性を利用してキャッシュヒット率向上を図っている。
"Cache (computing)"、[online]、[令和1年8月28日検索]、インターネット<URL: https://en.wikipedia.org/wiki/Cache_(computing) >
しかしながら、従来のLRU置換を用いたセットアソシアティブキャッシュでは、時間的局所性しか考慮されていないため、利用可能性の高い参照画像データであっても、アクセスされてからある程度期間が空いた場合には置換される可能性が高い。そのため、参照画像データ用キャッシュのヒット率が低下してしまうという問題があった。
上記事情に鑑み、本発明は、参照画像データ用キャッシュのヒット率を向上させることができる技術の提供を目的としている。
本発明の一態様は、符号化対象ブロックが参照する参照領域を示す情報を格納する参照画像キャッシュであって、前記参照画像キャッシュに格納されている前記参照領域の候補である参照領域候補の中から削除する参照領域候補を選択して削除する削除部を有し、前記削除する参照領域候補は、少なくとも、前記符号化対象ブロックの属するフレーム番号と、前記参照領域候補の属するフレーム番号とに基づくフレーム間距離に基づいて決定される、参照画像キャッシュである。
本発明の一態様は、上記の参照画像キャッシュであって、前記削除部は、前記符号化対象ブロックの属するフレーム番号と、前記参照領域候補の属するフレーム番号との差分フレーム数の絶対値をそれぞれ計算することによって複数のフレーム間距離を算出し、前記フレーム間距離と、前記参照領域候補に対するアクセス履歴の順番とを加重平均することによって優先度指標値を算出し、算出した前記優先度指標値が第1の閾値以上となる前記参照領域候補を削除する対象として選択する。
本発明の一態様は、上記の参照画像キャッシュであって、前記削除部は、前記符号化対象ブロックの属するフレーム番号と、前記参照領域候補の属するフレーム番号との差分フレーム数の絶対値をそれぞれ計算することによって複数のフレーム間距離を算出し、算出した前記複数のフレーム間距離においてフレーム間距離が大きい順番に値を割り当て、前記割り当てた値と、前記参照領域候補に対するアクセス履歴の順番とを加重平均することによって優先度指標値を算出し、算出した前記優先度指標値が第1の閾値以上となる前記参照領域候補を削除する対象として選択する。
本発明の一態様は、符号化対象ブロックが参照する参照領域を示す情報を格納する参照画像キャッシュが行う削除先決定方法であって、前記参照画像キャッシュに格納されている前記参照領域の候補である参照領域候補の中から削除する参照領域候補を選択して削除する削除ステップを有し、前記削除する参照領域候補は、少なくとも、前記符号化対象ブロックの属するフレーム番号と、前記参照領域候補の属するフレーム番号とに基づくフレーム間距離に基づいて決定される、削除先決定方法である。
本発明の一態様は、符号化対象ブロックが参照する参照領域を示す情報を格納する参照画像キャッシュとして機能するコンピュータに対し、前記参照画像キャッシュに格納されている前記参照領域の候補である参照領域候補の中から削除する参照領域候補を選択して削除する削除ステップを実行させ、前記削除する参照領域候補は、少なくとも、前記符号化対象ブロックの属するフレーム番号と、前記参照領域候補の属するフレーム番号とに基づくフレーム間距離に基づいて決定される、コンピュータプログラムである。
本発明により、参照画像データ用キャッシュのヒット率を向上させることが可能となる。
第1の実施形態における映像符号化装置の内部構成を表す構成図である。 第1の実施形態におけるメモリ置換制御部の内部構成を示す図である。 あるタイミングにおける置換決定用データ格納部の内部状態を表す図である。 第1の実施形態における各wayデータのフレーム間の位置関係を表す図である。 更新後の置換決定用データ格納部の内部状態を表す図である。 第1の実施形態における映像符号化装置の流れを示すフローチャートである。 第1の実施形態における置換先ウェイ決定部による置換先決定処理の流れを示すフローチャートである。 第1の実施形態における符号化対象フレームと参照フレームとのフレーム間の位置関係を表す図である。 第2の実施形態における置換先ウェイ決定部による置換先決定処理の流れを示すフローチャートである。 変形例における映像符号化装置の構成を示す図である。 変形例におけるメモリ置換制御部の内部構成を示す図である。
以下、本発明の一実施形態を、図面を参照しながら説明する。
(第1の実施形態)
図1は、第1の実施形態における映像符号化装置10の内部構成を表す構成図である。以下で用いる「符号化ブロック」については、MPEG-2やH.264/AVC規格ではマクロブロックの事を示し、HEVCについてはコーディングユニット(CU)又はプレディクションユニット(PU)の事を指し示すものとする。
映像符号化装置10は、映像符号化LSI50及び外部メモリ900を備える。映像符号化LSI50と外部メモリ900とはバスを介して接続される。
映像符号化LSI50は、符号化対象の映像原信号を符号化規格に則って符号化処理を行う。
外部メモリ900は、映像符号化LSI50において用いられる参照画像データを始めとした各種データを格納する。
映像符号化LSI50は、符号化演算部100及び参照画像データ用キャッシュメモリ200を備える。
符号化演算部100は、動き探索や動き補償等の実際の符号化演算処理を行う。符号化演算部100は、並列動作する複数のコア(core_1,…,core_M)で構成される。各コアは、少なくとも事前動き探索処理部、動き探索処理部、マージ探索処理部及び動き補償処理部等である。処理中に参照画像データが必要となるコア(以下「参照画像利用コア」という。)の場合、参照画像利用コアは参照画像データ用キャッシュメモリ200に接続されている。各コアは、必要となる参照画像データに関して、参照先のフレーム番号、参照先の色空間YUVの指定及び参照先のフレーム内の位置座標等の情報を含む詳細情報を参照画像データ用キャッシュメモリ200に出力する。
参照画像データ用キャッシュメモリ200は、データの時間的局所性とフレーム間距離の局所性の両方を利用したデータ置換アルゴリズムを実現するn-wayセットアソシエイティブキャッシュメモリである。ここで、時間的局所性とは、ある時点で参照されたリソースが近い将来にも再び参照される可能性が高いといった性質である。フレーム間距離の局所性とは、複数のフレームが参照対象フレームとして選択されたとき、符号化対象フレームから時間的に近いフレームのデータが参照される可能性が高い、いった性質である。このように、本実施形態における参照画像データ用キャッシュメモリ200は、従来のように時間的局所性のみを利用するのではなく、時間的局所性とフレーム間距離の局所性の両方を利用したデータ置換を行う。
参照画像データ用キャッシュメモリ200には、アドレス変換部300、メモリ部400、データ決定部500及びメモリ置換制御部600が備えられる。
アドレス変換部300は、要求された参照画像データの詳細情報から、外部メモリ900のどのアドレスのデータを要求しているかを算出する。アドレス変換部300は、参照画像データの要求が各コアから並列で出力されるが、参照画像情報からアドレス情報への変換を逐次的に行い、要求データのアドレスを順番に出力する。
メモリ部400は、データアレイ410とタグアレイ420とで構成される。データアレイ410は、実際のラインデータを格納している。このラインデータは、符号化対象ブロックが参照する参照領域を示す情報である。タグアレイ420は、データアレイ410内の各ラインデータに対応するタグデータを格納している。データアレイ410及びタグアレイ420の中の特定のラインを指定するために、インデックスが用いられる。インデックスはアドレスデコーダによって変換され、データアレイ410及びタグアレイ420内のアドレス指定として用いられる。N-wayの場合、同一のインデックスアドレスを持つラインがn個存在する。
データ決定部500は、データ選択部510とタグ比較部520とで構成される。タグ比較部520は、タグアレイ420から読み出されたn個のタグと、要求アドレスのタグとを比較し、n個の各セット内のどのwayにヒットしたか、あるいは全てミスしたかを示す比較結果をデータ選択部510に出力する。要求アドレスは、上位ビットのタグと、下位ビットのインデックスに分離される。インデックスは、メモリ部400内のどのセットに要求データが存在する可能性があるかを示し、タグはインデックスで示されたある特定のセット(n個のラインデータ)の中に要求データが存在するかどうかを検索するためのキーとして使用される。データ選択部510は、タグ比較部520から出力された比較結果としてのwayのラインデータを、符号化演算部100に出力する。データ選択部510から出力されたラインデータは要求元のコアへと伝達される。
メモリ置換制御部600は、キャッシュミスが生じて外部メモリ900から該当する要求データを転送する際に、データアレイ410のどのラインデータを要求データで置換するかを決定する。すなわち、メモリ置換制御部600は、キャッシュミスが生じて外部メモリ900から該当する要求データを転送する際に、データアレイ410のどのラインデータを削除するのかを決定する。このように、メモリ置換制御部600は、参照画像データ用キャッシュメモリ200に格納されている参照領域の候補である参照領域候補の中から削除する参照領域候補を選択して削除する。N-wayの場合、メモリ置換制御部600は、n個の各セット内のどのwayを置換するのかを決定する。メモリ置換制御部600は、置換先を決定するためのデータを内部に保持しており、ヒット時にはどのwayがヒットしたかの情報をタグ比較部520から受け取り、要求アドレスのインデックスも合わせて受け取ることで、内部データ更新を行っていく。
メモリ置換制御部600は、ミス時には内部データの状況をもとに、特定ルーチンに従ってどのwayを置換すべきかを決定し、置換先way番号をメモリ部400に出力する。これにより、メモリ部400は、要求アドレスのインデックスと、メモリ置換制御部600から出力された置換先way番号とに基づいて、データアレイ410及びタグアレイ420内の特定のラインを新規データで置換する。
上記のように、参照画像データ用キャッシュメモリ200は、通常のキャッシュメモリと同様に、要求されるアドレス情報にしたがってデータがメモリ部400に存在するか否かを判定する。そして、参照画像データ用キャッシュメモリ200は、ヒットした場合はメモリ部400内の対象となる参照画像データを符号化演算部100の各コアに出力する。一方で、ミスした場合には外部メモリ900から各機能ブロックへと要求データの転送がなされるが、その際にメモリ部400内のあるデータブロックが要求データによって置換される。
図2は、第1の実施形態におけるメモリ置換制御部600の内部構成を示す図である。メモリ置換制御部600は、置換決定用データ格納部610と、置換先ウェイ決定部620を備える。
置換決定用データ格納部610は、キャッシュミス時に置換先のway番号を決定するための内部データを格納する。
置換先ウェイ決定部620は、置換決定用データ格納部610を用いて具体的な置換先way番号を決定する。
置換決定用データ格納部610は、使用履歴順データ格納部611と参照フレーム番号データ格納部612を持つ。使用履歴順データ格納部611には、あるインデックスに相当するn個のラインデータが、過去どの順番で使用されたかを示すアクセス履歴の順番が記述される。インデックス毎に0~(n-1)の値が振られる。参照フレーム番号データ格納部612は、メモリ部400に格納された参照画像データの各ラインにおいて、所属する参照画像のフレーム番号が記述されている。
メモリ置換制御部600は、アドレス変換部300との間で、要求された参照画像データのフレーム内座標位置を出力する信号線と、要求した各コアで符号化中の符号化対象ブロックク(以下「現符号化対象ブロック」という。)のフレーム内座標位置を出力する信号線とを介して接続されている。キャッシュがヒットした際は、ヒットしたway番号を使用履歴順データ格納部611が受け取り、使用履歴順データ格納部611は指定インデックスにおけるアクセス履歴の順番を表す内部データを更新する。キャッシュミスした場合は、指定インデックスにおけるそれぞれn個の使用履歴順データ及びフレーム番号データを、置換決定用データ格納部610は置換先ウェイ決定部620に対して出力する。
置換先ウェイ決定部620は、置換決定用データ格納部610から受信した使用履歴順データ及びフレーム番号データと、アドレス変換部300から受信した現符号化対象ブロックのフレーム番号データをもとに置換先のwayを決定する。そして、置換先ウェイ決定部620が、way番号をメモリ部400に出力することにより、外部メモリ900からのデータによるメモリ部400の更新が行われる。キャッシュミスにより置換が行われる際には、置換先way番号は同時に参照フレーム番号データ格納部612にも出力され、該当インデックス・該当way番号に対して、アドレス変換部300から受信した要求参照画像データのフレーム番号のデータで書き換える。
一例として、4-wayの場合における処理を説明する。図3は、あるタイミングにおける置換決定用データ格納部610の内部状態を表す図である。該当インデックスにおいて、各way0,1,2,3は過去にway2→way1→way0→way3の順に直近で使用されたため、使用履歴順データ格納部611にはそれぞれway0,1,2,3には2,1,0,3の値が格納されている。参照フレーム番号データ格納部612には、格納された参照画像データのフレーム番号が記述されている。図3の参照フレーム番号データ格納部612のような値となっている場合、各wayデータのフレーム内位置関係は図4のようになる。
図3及び図4の状態でデータリクエストを受け、該当インデックスのあるwayがキャッシュヒットした場合には、メモリ置換制御部600は使用履歴順データ格納部611だけを更新する。一例としてway0がヒットした場合には、置換決定用データ格納部610の内部状態は図5のように更新される。図5に示すように、way0,1,2,3に格納されていたアクセス順を表す値(2,1,0,3)が、way0,1,2,3の順に0,2,1,3と更新されている。また、上記の例では参照画像座標データ格納部612にフレーム番号そのままの値を格納しているが、参照画像座標データ格納部612のメモリ削減、および下記のデータ置換処理の演算量削減のため、フレーム番号をある整数で割った剰余値を参照フレーム番号データ格納部612に格納することが現実的である。intraフレーム等では、時間的に前後に位置するフレーム間で動き補償がされることはなくフレーム間相関が分断されるため、フレーム番号をintraフレーム間隔の値で割ることが考えられる。
図6は、第1の実施形態における映像符号化装置10の流れを示すフローチャートである。
アドレス変換部300は、符号化演算部100から要求された参照画像データの詳細情報から、外部メモリ900のどのアドレスのデータを要求しているかを算出する(ステップS101)。タグ比較部520は、要求されたデータが、メモリ部400内に存在する否かを判定する(ステップS102)。要求されたデータがメモリ部400内に存在する場合(ステップS102-YES)、データ選択部510は要求されたデータをメモリ部400から読み出し、符号化演算部100のコアに出力する(ステップS103)その後、メモリ置換制御部600は、使用履歴順データ格納部611を更新する(ステップS104)。
一方、要求されたデータがメモリ部400内に存在しない場合(ステップS102-NO)、データ選択部510は要求されたデータを外部メモリ900から読み出し、符号化演算部100のコアに出力する(ステップS105)。その後、置換先ウェイ決定部620は、置換先決定処理を行う(ステップS106)。置換先決定処理は、外部メモリ900から読み出されたデータで、メモリ部400内のデータを置換する際の置換先を決定する処理である。メモリ部400は、置換先ウェイ決定部620において決定された置換先のデータを外部メモリ900から読み出されたデータで置換する(ステップS107)。
図7は、第1の実施形態における置換先ウェイ決定部620による置換先決定処理の流れを示すフローチャートである。
置換先ウェイ決定部620は、参照フレーム番号データ格納部612における各フレーム番号と現符号化対象ブロックのフレーム番号とに基づいて差分絶対値を計算することによって各wayにおけるフレーム間距離を算出する(ステップS201)。一例として、図3及び図4の状態でキャッシュミスが発生した場合を考える。ミス発生時に置換先ウェイ決定部620に入力された自ブロックのフレーム番号が8であった場合、相対的位置関係は図8のようになる。このとき、自ブロックと参照画像ブロックのフレーム間距離は、way0,1,2,3それぞれで、6,3,4,1となる。
置換先ウェイ決定部620は、使用履歴順データ格納部611に格納された使用履歴順と、算出したフレーム間距離とを加重平均することで置換優先度指標値を算出する(ステップS202)。置換先ウェイ決定部620は、置換優先度指標値が閾値以上となるwayを、置換先way番号と決定する(ステップS203)。例えば、置換先ウェイ決定部620は、置換優先度指標値が最大のwayを、置換先way番号と決定する。一例として、(置換優先度指標値)=(使用履歴順)>>1+(フレーム間距離)という加重計算式の場合、way0,1,2,3それぞれの置換優先度指標値は、10,5,4,7となる。置換先way番号は、置換優先度指標値が最大であるway0となる。このような処理フローとすることで、使用履歴の順序だけでなく自ブロックからの時間的距離・フレーム間距離を加味したデータ置換を行うことができる。置換先ウェイ決定部620は、決定した結果を、メモリ部400に出力する。
以上のように構成された第1の実施形態における映像符号化装置10によれば、参照画像データ用キャッシュのヒット率を向上させることが可能になる。具体的には、上記の例では、通常のLRUでは使用履歴が最も古いway3が新規データにより置換されるが、way3は自ブロックとのフレーム間距離が近いため本処理フローでは置換優先度指標値が最大にはならず、置換されない。映像符号化処理においては、自ブロックとのフレーム間距離が近い参照画像データは再利用率が高い傾向にあるため、本実施形態における映像符号化装置10では、LRUによるデータ置換アルゴリズムに、参照フレーム番号データ格納部612におけるフレーム番号と現符号化対象ブロックのフレーム番号との相対的位置関係を反映させることで、置換対象となるメモリ部400内の参照画像を決定する。これにより、フレーム間距離の近い参照画像データが置換されにくくなる。そのため、幾何学的空間局所性の活用によるキャッシュヒット率を向上させることが可能になる。
(第2の実施形態)
第2の実施形態では、置換先ウェイ決定部620による置換先決定処理が第1の実施形態と異なる。第2の実施形態の基本的構成は第1の実施形態と同様である。そのため、以下の説明では、第1の実施形態との相違点についてのみ説明する。
図9は、第2の実施形態における置換先ウェイ決定部620による置換先決定処理の流れを示すフローチャートである。図9において、図7と同様の処理については図7と同様の符号を付して説明を省略する。
ステップS201の処理において、置換先ウェイ決定部620は、参照フレーム番号データ格納部612における各フレーム番号と現符号化対象ブロックのフレーム番号から、各wayにおけるフレーム間距離を算出する。その後、置換先ウェイ決定部620は、フレーム間距離の大きさの順番に、n個のwayに0から(n-1)までの整数値をフレーム間距離順として決定する(ステップS301)。図8に示す例では、way0,1,2,3それぞれのフレーム間距離は6,3,4,1なため,幾何学的距離順はそれぞれ3,1,2,0となる。
置換先ウェイ決定部620は、決定したフレーム間距離順と、使用履歴順データ格納部611に格納された使用履歴順とを加重平均することで置換優先度指標値を算出する(ステップS302)。その後、置換先ウェイ決定部620は、置換優先度指標値の最大のwayを、置換先way番号と決定する(ステップS303)。一例として、(置換優先度指標値)=(使用履歴順)+(フレーム間距離順)という単純和の場合、way0,1,2,3それぞれの置換優先度指標値は、5,2,2,3となる。置換先way番号は、置換優先度指標値が最大であるway0となる。置換先ウェイ決定部620は、決定した結果を、メモリ部400に出力する。
以上のように、第1の実施形態では、フレーム間距離順が0から(n-1)の等間隔の整数値であるのに対しフレーム間距離の値自体は様々な値をとりうる。このため、long term参照のようにフレーム間距離が他のwayに対して非常に大きい特定のwayが存在する場合、使用履歴順や他のwayのフレーム間距離の値にかかわらず、前記特定のwayが置換対象として選択されてしまうことが考えられる。それに対して第2の本実地形態では、フレーム間距離を0から(n-1)の等間隔の整数値であるフレーム間距離順に変換した上で加重平均している。したがって、時間的局所性とフレーム間距離の局所性を同一の指標で考慮可能なキャッシュ置換アルゴリズムとなっている。そのため、キャッシュヒット率を向上させることが可能になる。
以下、第1の実施形態及び第2の実施形態に共通する変形例について説明する。
第1の実施形態及び第2の実施形態では、アドレス変換部300が要求された参照画像データのフレーム番号をメモリ置換制御部600に出力し、メモリ置換制御部600内の置換決定用データ格納部610にフレーム番号を保持している。これに対し、外部メモリ900上のアドレスがわかれば一意にフレーム番号へ逆変換できるため、逆変換を行う場合には参照フレーム番号データ格納部を不要としてもよい。以下、このように構成される場合の映像符号化装置10の構成について説明する。
図13は、変形例における映像符号化装置10aの構成を示す図である。映像符号化装置10aは、参照画像データ用キャッシュメモリ200aが、アドレス変換部300及びメモリ置換制御部600に代えてアドレス変換部300a及びメモリ置換制御部600aを備える点で映像符号化装置10と構成が異なる。映像符号化装置10aのその他の構成については、映像符号化装置10と同様である。そのため、映像符号化装置10a全体の説明は省略してアドレス変換部300a及びメモリ置換制御部600aについて説明する。
アドレス変換部300aは、要求された参照画像データの詳細情報から、外部メモリ900のどのアドレスのデータを要求しているかを算出する。アドレス変換部300aは、自ブロックのフレーム番号の情報をメモリ置換制御部600aに出力する。
メモリ置換制御部600aは、キャッシュミスが生じて外部メモリ900から該当する要求データを転送する際に、データアレイ410のどのラインデータを要求データで置換するかを決定する。図14は、変形例におけるメモリ置換制御部600aの内部構成を示す図である。図14に示すように、メモリ置換制御部600aは置換決定用データ格納部610aとして使用履歴順データ格納部611のみを備える。
キャッシュミスの場合は、置換先ウェイ決定部620は、使用履歴順データ格納部611から指定インデックスにおけるn個の使用履歴順データを受け取るとともに、タグアレイ420から指定インデックスにおけるn個のタグを受け取る。続いて置換先ウェイ決定部620は、指定インデックスとn個のタグからn個の外部メモリ900上アドレスを復元した上で、アドレス変換部300の逆変換を行い、n個の外部メモリ900上アドレスをn個のフレーム番号へと逆変換する。置換先ウェイ決定部620は、n個の使用履歴順データと、逆変換で算出したn個のフレーム番号と、アドレス変換部300から受け取る自ブロックのフレーム番号を用いて、上記第1の実施形態又は第2の実施形態のいずれかと同様の方法で置換先ウェイ番号を決定する。このような処理とした場合、参照フレーム番号データ格納部612が不要となるためデータ格納用メモリの削減を行えるが、一方で、キャッシュミス時に逆変換処理が必要となるため、レイテンシ増大の可能性がある。
上述の実施形態のような処理フローとすることで,データアクセスの時間的局所性とフレーム間距離の局所性の両方を考慮したキャッシュメモリを構成し,参照画像データ用キャッシュのヒット率の向上が可能である。
上述の実施形態のような処理フローとすることで、画像データの時間的局所性とレーム間距離の局所性の両方を加味した参照画像データ用キャッシュメモリ200を構成し、参照画像データ用キャッシュのヒット率を向上させることができる。
上述した実施形態における映像符号化装置10、10a、参照画像データ用キャッシュメモリ200及び200aをコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、FPGA(Field Programmable Gate Array)等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
本発明は、映像符号化における参照画像データを格納するキャッシュに適用可能である。
10…映像符号化装置, 50…映像符号化LSI, 100…符号化演算部, 200、200a…参照画像データ用キャッシュメモリ(参照画像キャッシュ), 300、300a…アドレス変換部, 400…メモリ部, 410…データアレイ, 420…タグアレイ, 500…データ決定部, 510…データ選択部, 520…タグ比較部, 600、600a…メモリ置換制御部(削除部), 610…置換決定用データ格納部, 611…使用履歴順データ格納部, 612…参照フレーム番号データ格納部, 620…置換先ウェイ決定部, 900…外部メモリ

Claims (5)

  1. 符号化対象ブロックが参照する参照領域を示す情報を格納する参照画像キャッシュであって、
    前記参照画像キャッシュに格納されている前記参照領域の候補である参照領域候補の中から削除する参照領域候補を選択して削除する削除部を有し、
    前記削除部は、前記符号化対象ブロックの属するフレーム番号と、前記参照領域候補の属するフレーム番号とのフレーム間の時間的近さを算出し、前記フレーム間の時間的近さと、前記参照領域候補に対するアクセス履歴の順番とによって優先度指標値を算出し、算出した前記優先度指標値に基づいて、削除対象の前記参照領域候補を選択する、参照画像キャッシュ。
  2. 前記削除部は、前記符号化対象ブロックの属するフレーム番号と、前記参照領域候補の属するフレーム番号との差分フレーム数の絶対値を計し、計算した前記絶対値を前記フレーム間の時間的近さとする、請求項1に記載の参照画像キャッシュ。
  3. 前記削除部は、前記符号化対象ブロックの属するフレーム番号と、前記参照領域候補の属するフレーム番号との差分フレーム数の絶対値を計し、計算した前記絶対値の大きさの順に値を割り当て、前記割り当てた値を前記フレーム間の時間的近さとする、請求項1に記載の参照画像キャッシュ。
  4. 符号化対象ブロックが参照する参照領域を示す情報を格納する参照画像キャッシュが行う削除先決定方法であって、
    前記参照画像キャッシュに格納されている前記参照領域の候補である参照領域候補の中から削除する参照領域候補を選択して削除する削除ステップを有し、
    前記削除ステップにおいて、前記符号化対象ブロックの属するフレーム番号と、前記参照領域候補の属するフレーム番号とのフレーム間の時間的近さを算出し、前記フレーム間の時間的近さと、前記参照領域候補に対するアクセス履歴の順番とによって優先度指標値を算出し、算出した前記優先度指標値に基づいて、削除対象の前記参照領域候補を選択する、削除先決定方法。
  5. 符号化対象ブロックが参照する参照領域を示す情報を格納する参照画像キャッシュとして機能するコンピュータに対し、
    前記参照画像キャッシュに格納されている前記参照領域の候補である参照領域候補の中から削除する参照領域候補を選択して削除する削除ステップを実行させ、
    前記削除ステップにおいて、前記符号化対象ブロックの属するフレーム番号と、前記参照領域候補の属するフレーム番号とのフレーム間の時間的近さを算出し、前記フレーム間の時間的近さと、前記参照領域候補に対するアクセス履歴の順番とによって優先度指標値を算出し、算出した前記優先度指標値に基づいて、削除対象の前記参照領域候補を選択する、コンピュータプログラム。
JP2020078790A 2020-04-28 2020-04-28 参照画像キャッシュ、削除先決定方法及びコンピュータプログラム Active JP7416380B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020078790A JP7416380B2 (ja) 2020-04-28 2020-04-28 参照画像キャッシュ、削除先決定方法及びコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020078790A JP7416380B2 (ja) 2020-04-28 2020-04-28 参照画像キャッシュ、削除先決定方法及びコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2021175119A JP2021175119A (ja) 2021-11-01
JP7416380B2 true JP7416380B2 (ja) 2024-01-17

Family

ID=78280028

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020078790A Active JP7416380B2 (ja) 2020-04-28 2020-04-28 参照画像キャッシュ、削除先決定方法及びコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP7416380B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008278423A (ja) 2007-05-07 2008-11-13 Matsushita Electric Ind Co Ltd 動画像復号化集積回路、動画像復号化方法、動画像復号化装置及び動画像復号化プログラム
JP2012239098A (ja) 2011-05-13 2012-12-06 Panasonic Corp 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号化装置、動画像復号化方法、動画像復号化プログラム、録画装置、および再生装置
JP2014523712A (ja) 2011-07-01 2014-09-11 アップル インコーポレイテッド カメラおよび背景の動きに基づく、参照フレームバッファの適応的設定

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008278423A (ja) 2007-05-07 2008-11-13 Matsushita Electric Ind Co Ltd 動画像復号化集積回路、動画像復号化方法、動画像復号化装置及び動画像復号化プログラム
JP2012239098A (ja) 2011-05-13 2012-12-06 Panasonic Corp 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号化装置、動画像復号化方法、動画像復号化プログラム、録画装置、および再生装置
JP2014523712A (ja) 2011-07-01 2014-09-11 アップル インコーポレイテッド カメラおよび背景の動きに基づく、参照フレームバッファの適応的設定

Also Published As

Publication number Publication date
JP2021175119A (ja) 2021-11-01

Similar Documents

Publication Publication Date Title
CN107846597B (zh) 用于视频解码器的数据缓存方法和装置
US20230196503A1 (en) Upscaling Lower Resolution Image Data for Processing
KR100907843B1 (ko) 비디오 모션 보상용 캐싱 방법 및 장치
US8565308B2 (en) Interframe prediction processor with address management mechanism for motion vector storage
US11206422B2 (en) Video image processing method and device
US7965773B1 (en) Macroblock cache
KR101520027B1 (ko) 움직임 추정 방법 및 장치
JP6263538B2 (ja) マルチメディアデータ処理のための方法及びシステム
JP4764807B2 (ja) 動きベクトル検出装置および動きベクトル検出方法
WO2020140915A1 (zh) 视频处理方法和装置
US20090300320A1 (en) Processing system with linked-list based prefetch buffer and methods for use therewith
US20120230594A1 (en) Adaptive picture rotation
US20130028324A1 (en) Method and device for decoding a scalable video signal utilizing an inter-layer prediction
CN103533366B (zh) 用于视频运动补偿的缓存方法与装置
US20220360814A1 (en) Enhanced motion vector prediction
JP2006270683A (ja) 符号化装置と方法
US9363524B2 (en) Method and apparatus for motion compensation reference data caching
JP7416380B2 (ja) 参照画像キャッシュ、削除先決定方法及びコンピュータプログラム
JP7406206B2 (ja) 参照画像キャッシュ、削除先決定方法及びコンピュータプログラム
JP7425446B2 (ja) 参照画像キャッシュメモリ、データ要求方法及びコンピュータプログラム
US20110080959A1 (en) Video reference frame retrieval
JPH11328369A (ja) キャッシュシステム
JP7054007B2 (ja) 符号化装置及びプログラム
JP6728870B2 (ja) 画像圧縮装置、画像圧縮方法、及び画像圧縮プログラム
Zuo et al. A Cache Hardware design for H. 264 encoder

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20200430

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220728

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230816

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230905

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231027

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231221

R150 Certificate of patent or registration of utility model

Ref document number: 7416380

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150