Search

JP-2026076878-A - 映像処理装置、映像処理方法及び映像処理プログラム

JP2026076878AJP 2026076878 AJP2026076878 AJP 2026076878AJP-2026076878-A

Abstract

【課題】DRAMへのアクセスを減らしつつブロックごとの多並列処理を行うことによって、映像の変換処理を高画質かつ低遅延で行うことが可能な映像処理装置、映像処理方法及び映像処理プログラムを提供することを課題とする。 【解決手段】入力映像を変換前フレーム画像として記憶する入力画像記憶手段と、当該入力画像記憶手段から読み出した所定範囲の変換前フレーム画像の画素データを記憶するとともに、当該画素データに対してランダムアクセス可能なメモリで構成されたブロック記憶手段と、所定の補間演算によって変換前の画素データから変換後の画素データを算出する補間手段と、変換後の画素データからなる変換後フレーム画像を記憶する出力画像記憶手段と、変換後フレーム画像を出力映像として出力する映像出力手段とを有し、前記ブロック記憶手段は、変換後フレーム画像を所定の大きさに分割してなる単位ブロックの各画素に対してバックプロジェクションを行うことで算出される変換前フレーム画像中の画素を参照してその画像データを読み出し、前記補間手段は、変換後の画素に対応する変換前の画素の周辺に位置する画素の画素データを参照して前記ブロック記憶手段から読み出すとともに、適宜の補間演算方法によって変換後の画素データを算出することとした。 【選択図】なし

Inventors

  • 篠田 義一
  • 加藤 純一

Assignees

  • 株式会社ベクトロジー

Dates

Publication Date
20260512
Application Date
20241024

Claims (5)

  1. 魚眼画像で構成される入力映像から正距円筒画像で構成される出力映像へ所定の補間演算を伴うエクイレクタングラー変換によって映像を処理する映像処理装置であって、 入力映像を変換前フレーム画像として記憶する入力画像記憶手段と、 当該入力画像記憶手段から読み出した所定範囲の変換前フレーム画像の画素データを記憶するとともに、当該画素データに対してランダムアクセス可能なメモリで構成されたブロック記憶手段と、 所定の補間演算によって変換前の画素データから変換後の画素データを算出する補間手段と、 変換後の画素データからなる変換後フレーム画像を記憶する出力画像記憶手段と、 変換後フレーム画像を出力映像として出力する映像出力手段とを有し、 前記ブロック記憶手段は、変換後フレーム画像を所定の大きさに分割してなる単位ブロックの各画素に対してバックプロジェクションを行うことで算出される変換前フレーム画像中の画素を参照してその画像データを読み出し、 前記補間手段は、変換後の画素に対応する変換前の画素の周辺に位置する画素の画素データを参照して前記ブロック記憶手段から読み出すとともに、適宜の補間演算方法によって変換後の画素データを算出することを特徴とする映像処理装置。
  2. 前記ブロック記憶手段は、変換後フレーム画像を複数の前記単位ブロックからなる並列ブロックに分類するとともに、各分類につき多並列処理を行う請求項1に記載の映像処理装置。
  3. 前記補間手段は、前記単位ブロックに含まれるすべての画素に対応する変換前の画素を参照して、その参照先座標の最小値を原点とする所定の領域に位置する画素の画素データを前記入力画像記憶手段から前記ブロック記憶手段へと読み出して補間演算を行う請求項1又は2に記載の映像処理装置。
  4. 前記バックプロジェクションは、変換後フレーム画像の画素の座標(x,y)に対し、 次式: によって変換前フレーム画像の画素の座標(u′,v′)を算出することで行われる請求項1~3のいずれかに記載の映像処理装置。 (ここで、 〔1〕 (Rは仮想球面の半径、αは座標(x,y)の画素に対応する点Pの当該仮想球面上の経度、βは緯度をそれぞれ表す。) 〔2〕 (uは点Pを半径1の仮想球面に射影した点P 1 のx座標、vはy座標、wはz座標をそれぞれ表す。) 〔3〕 (rは点P 1 とイメージサークル中心からの距離、K 0 、K 1 、K 2 ・・・K 6 は、当該魚眼レンズにおける半径方向の歪み係数、θは点P 1 の入射角を表す。) とする。)
  5. コンピュータを請求項1~4のいずれかに記載の映像処理装置として機能させるための映像処理プログラム。

Description

本発明は、魚眼カメラで取得した画像を高解像度かつ低遅延で正距円筒図(エクイレクタングラー形式)へ変換可能な映像処理装置、映像処理方法及び映像処理プログラムに関する。 近年、ヘッドマウントディスプレイ、ドーム型ディスプレイ等を利用して、遠隔地の様子をユーザがその場にいるように体験できるVRサービスが普及してきている。VR用の実写円天周動映像は、魚眼レンズを使用したカメラを複数配置して、それぞれのカメラが撮影した映像をフレーム画像ごとに正距円筒図法等により平面展開した後、同一の領域を画素単位で結合することで、平面映像として生成される。 魚眼カメラによって取得した映像は、レンズが魚眼であることから、上下左右の端部に向かうにつれて大きな歪みを生じてしまい、そのままでは人間が視認しても立体感や奥行きが得られず、またAIによる画像認識に際しても正しく対象物を認識できないといった不具合があった。 この問題を解決するため正距円筒図法によりエクイレクタングラー形式の映像に変換する処理工程を経ることで変換後の映像から方位・角度が判別可能となり、これによってVR映像への適用が可能となった。 正距円筒図法においては変換後の画素を変換前の画素を用いて補間する必要があるところ、この補間処理の手法として、変換前の複数の画素を用いてバイリニア補間等を行う手法が開示されている(特許文献1参照)。 特開2022-068983号公報 本発明の実施形態につき、図表や数式を参照しつつ説明する。なお、本発明の技術的範囲は、いうまでもなく以下の実施例に限定されるものではない。 本発明の映像処理装置1は、補間工程を伴う変換処理により、入力映像を出力映像に変換するものである。 本実施例において、映像処理装置1は、補間を伴う映像の変換処理方法として、魚眼カメラで撮影された入力映像を正距円筒図形式(エクイレクタングラー形式)の出力映像に変換するものとする。 下表に示すように、映像処理装置1は、入力映像取得手段Aと、入力画像記憶手段Miと、メモリブロック生成手段Bgと、ブロック記憶手段Mbと、補間手段Ipと、出力画像記憶手段Moと、映像出力手段Oとを備える。 入力映像取得手段Aは、魚眼レンズを通してイメージセンサー上に射影された映像情報を取得するものであって、ここでは魚眼画像G1で構成された映像を取得する。 入力映像取得手段Aは、入力映像のフレームである魚眼画像G1を入力画像記憶手段Miに逐次書き込み記憶していく。 また、入力映像取得手段Aは、1フレームの入力画像記憶手段Miへの書き込みが終了した段階で、メモリブロック生成手段Bgに書き込み終了を通知する。 入力画像記憶手段Miは、入力映像を構成するフレーム画像を記憶するものであり、ここでは、入力映像取得手段Aで取得した魚眼画像G1を記憶する。 入力画像記憶手段Miは、半導体メモリで構成することができ、たとえば画像メモリとして一般的なDRAMで構成することができる。 入力画像記憶手段Miに記憶された魚眼画像G1は、メモリブロック生成手段Bgによって読み出される。 メモリブロック生成手段Bgは、入力画像記憶手段Miに記憶されたフレーム画像を、変換処理による変換後の単位ブロックに含まれるすべての画素の補間演算に要する画素数よりも多い水平方向および垂直方向にそれぞれ所定の大きさのメモリブロックに分割して生成する。このメモリブロックは、少なくとも後述する補間手段Ipで補間演算に必要な画素、たとえばバイリニア補間演算であれば4画素(2×2画素)が1つのブロックに含まれる大きさとする。 たとえば、4Kパノラマ版においては、出力映像を240[pixel]x216[line]の単位ブロックに分割し、その単位ブロックに含まれるすべての画素が参照する入力映像の範囲を入力画像記憶手段Miからブロック記憶手段Mbに読み出して、その画素データへランダムアクセスしながら変換処理、補間処理を行う。 このとき、入力画像記憶手段Miからブロック記憶手段Mbへ画素データを書き出すために、単位ブロックに含まれる全座標から入力画像の参照先の座標を算出することとなる。 算出された参照先の座標の最小値からブロック記憶手段Mbに書き込む画素データの原点が定められ、本実施例においては、その原点を基準とする384[pixel]x384[line]の画素データをブロック記憶手段Mbに書き込む。 算出された参照先座標の近傍4点の画素データをブロック記憶手段Mbから読み出し、バイリニア補間を行って、出力する画素データが生成される。 本実施例において使用した4Kパノラマ版の撮影機材(SONY α6400+ENTANIYA Fisheye HAL 200)では、Raw Image Bufferのサイズが384[pixel]x384[line]であることから、歪みが大きい端のほうでも240[pixel]x216[line]の参照先の画素データをカバーすることができるが、半径値がさらに小さく歪みがさらに大きくなる場合は、ブロックのサイズを小さくするか、Raw Image Bufferのサイズを大きくする必要がある。 メモリブロック生成手段Bgは、ブロック記憶手段Mbにメモリブロックの書き込みを終了した段階で、補間手段Ipに書き込み終了を通知する。 ブロック記憶手段Mbは、メモリブロック生成手段Bgで生成されたメモリブロックを記憶するものであり、画素単位でランダムアクセス可能なメモリであって、本実施例においてはFPGAのブロックRAMで構成する。 ブロック記憶手段Mbは、複数のブロックRAM、たとえば水平方向のブロック数2個、垂直方向のブロック数1個だけブロックRAMを配置して、順次メモリブロックを更新している。 なお、ブロックRAMの出力ポートが2の場合、メモリブロックからは、一度に2画素の画素データしか読み出せないため、その場合はブロック記憶手段Mbには、メモリブロック生成手段Bgが、同じメモリブロックを二重に書き込み、補間手段Ipが、それぞれのメモリブロックから2画素ずつ、計4画素の画素データを読み出すこととなる。 補間手段Ipは、変換後の画素位置に対応する変換前の画素位置の周辺画素の画素データをメモリブロックから読み出し、補間演算により、変換後の画素位置の画素データを算出する。 ここでは、ブロック記憶手段Mbに記憶されているメモリブロックを参照して、正距円筒画像G2の画素データを補間して生成する。 補間手段Ipは、変換前座標算出手段Icと、補間画素データ算出手段Idとを備えている。 変換前座標算出手段Icは、変換後の画素位置に対応する変換前の画素位置(座標)を算出するものである。 ここでは、変換前座標算出手段Icは、変換後の正距円筒画像G2の画素に対応する変換前の魚眼画像G1の画素の位置(座標)を算出する。 すなわち、変換前座標算出手段Icは、下表に示すように、(a)の魚眼画像G1を、正距円筒画像G2に変換する場合の正距円筒画像G2の画素位置(座標P(x、y))に対応する魚眼画像G1の画素位置(座標P′(u′,v′))を算出する。 なお、本実施例において、魚眼画像G1から正距円筒画像G2への変換は一般的なエクイレクタングラー変換を用いて行われるため、変換前座標算出手段Icは、エクイレクタングラー変換のバックプロジェクション(逆変換)を行うことで、正距円筒画像G2の画素位置(座標P(x,y))に対応する変換前の魚眼画像G1の画素位置(座標P′(u′,v′))を算出することが可能となる。 すなわち、魚眼レンズで撮像された視野角180°のイメージサークルの半径をRとして、このイメージサークルを正距円筒図法に変換すると下表のような状況となる。 ここで、正距円筒図法上の任意の点Pの座標(x,y)の半径Rの仮想球面上の経度αと緯度βは、Rを使って次式のとおり表すことができる。 さらに、点Pを半径1の仮想球面上に射影した点P1の座標(u,v,w)は、以下のような状況となる。 そして、点P1の座標(u,v,w)は、経度αと緯度βを用いて次式のとおり表すことができる。 また、点P1の入射角、つまり仮想球面の中心Oと点P1を結ぶ線とz軸とのなす角をθとするとき、θは次の式で表すことができる。 魚眼レンズを通して入射した光をイメージセンサーに射影するとき、射影される点とイメージサークル中心からの距離rは入射角θの関数で表すことができる。 本実施例において用いる魚眼レンズでは、射影された点とイメージサークル中心からの距離rは入射角θの多項式を使って、たとえば以下のように近似することができる。 (ここで、K0、K1、K2・・・K6は、当該魚眼レンズにおける半径方向の歪み係数を表す。) 以上の演算過程を経ることで魚眼レンズの歪みを考慮したキャリブレーションを行うとき、点Pをxy平面上に射影した点の座標(u′,v′)は、以下の式で表すことができる。 本発明の画像処理方法においては、出力座標(x,y)からバックプロジェクションを行って入力映像(u′,v′)の画素を読み出して処理を行うところ、DRAMではランダムアクセスができないことから、ラスタースキャン方式で処理を行うと冗長なメモリアクセスが増えてしまうため処理効率が著しく悪くなってしまうことは前述のとおりである。 そこで、たとえば4Kパノラマ版では、出力映像を240[pixel]x216[line]のブロックに分割し、そのブロックが参照する入力映像の範囲を入力画像記憶手段Miからブロック記憶手段Mbに抜き出して、これにランダムアクセスしながら処理を行う。 次に、入力画像記憶手段Miからブロック記憶手段Mbへ画素データを書き出すために、上記の方法によってブロックに含まれる全座標から入力映像の参照先座標を計算する。 計算された参照先の座標の最小値からブロック記憶手段Mbに書き込む画素データの原点を決め、その原点を基準として384[pixel]x384[line]の画素データをブロック記憶手段Mbに書き込む。 算出された参照先座標の近傍4点の画素データをブロック記憶手段Mbから読み出し、バイリニア補間を行って、出力する画素データが生成される。 240[pixel]x216[line]のブロックに対する座標計算や画素データ読み出しは、上記のブロックを240[pixel]x54[line]ごとにさらに4つに分けて4並列で行うこととする。 この点について、4Kの出力映像を240[pixel]x216[line]のブロックに分割すると、横16個、縦10個の計160ブロックに分けられるところ、本実施例においては、4Kパノラマ修正版で60fpsを達成するために、横6個、縦10個の計60ブロックずつに4K映像を3分割し、各分割領域を同時に処理する。 右側でも横6個、縦10個の計60ブロック処理するが、出力画面に表示されるのは横4個、縦10個の領域だけとする。 変換前座標算出手段Icは、変換後の画素位置(座標p)と、変換前の画素位置(座標p′)とを補間画素データ算出手段Idに出力する。 補間画素データ算出手段Idは、変換前座標算出手段Icで算出された変換前の画素位置の画素データを、当該画素の周辺画素の画素データで補間演算により算出する。 ここでは、補間画素データ算出手段Idは、バイリニア補間演算により画素データを算出しており、変換前の画素位置の周辺4画素の画素データを、ブロック記憶手段Mbに記憶されているメモリブロックから読み出し、バイリニア補間演算により画素データを算出する。この算出した画素データは、変換後の画素位置の画素データとなる。 具体的には、下表に示すように、補間画素データ算出手段Idは、変換前の画素位置の座標p′を(x′、y′)とするとき、周辺4画素の座標を、p1([x′],[y′])、p2([x′]+1,[y′])、p3([x′],