(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024121714
(43)【公開日】2024-09-06
(54)【発明の名称】映像処理装置及び表示システム
(51)【国際特許分類】
H04N 7/01 20060101AFI20240830BHJP
【FI】
H04N7/01 350
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023028964
(22)【出願日】2023-02-27
(71)【出願人】
【識別番号】320012037
【氏名又は名称】ラピステクノロジー株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】西谷 直輝
(72)【発明者】
【氏名】今任 祐基
【テーマコード(参考)】
5C063
【Fターム(参考)】
5C063BA08
5C063CA05
(57)【要約】
【課題】データ転送レートの低下を抑制しつつ、映像固着を検出することができる映像処理装置及び表示システムを得る。
【解決手段】映像処理装置は、映像データが属するフレームを表し、かつ連続するフレーム間で値が変化するフレーム番号を生成し、映像データにおける予め定められたサイズのデータブロック毎に、データブロックの一部にフレーム番号を埋め込み、フレーム順に、映像データをデータブロック単位でメモリに書き込み、メモリに書き込まれたデータブロックを順次読み出し、今回読み出されたデータブロック中のフレーム番号が前回読み出されたデータブロック中のフレーム番号から変化しない状態が所定回数以上継続した場合に映像固着を示す異常判定信号を生成する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
映像データが属するフレームを表し、かつ連続するフレーム間で値が変化するフレーム番号を生成する生成部と、
前記映像データにおける予め定められたサイズのデータブロック毎に、前記データブロックの一部に前記フレーム番号を埋め込む埋込部と、
フレーム順に、前記映像データを前記データブロック単位でメモリに書き込む書込部と、
前記メモリに書き込まれた前記データブロックを順次読み出す読出部と、
前記読出部によって今回読み出された前記データブロック中の前記フレーム番号が前回読み出された前記データブロック中の前記フレーム番号から変化しない状態が所定回数以上継続した場合に映像固着を示す異常判定信号を生成する判定部と、
を備える映像処理装置。
【請求項2】
前記埋込部は、前記データブロックを構成する複数の画素に、前記フレーム番号を表すビット列を1ビットずつ埋め込む
請求項1に記載の映像処理装置。
【請求項3】
前記埋込部は、前記データブロックを構成する複数の画素に、前記フレーム番号を表すビット列を1ビットずつ等しい画素間隔で埋め込む
請求項2に記載の映像処理装置。
【請求項4】
前記埋込部は、前記データブロックを構成する複数の画素に、前記フレーム番号を表すビット列を1ビットずつランダムな画素間隔で埋め込む
請求項2に記載の映像処理装置。
【請求項5】
前記読出部により前記メモリから読み出されたデータブロック中の前記フレーム番号が埋め込まれた画素の画素値を、その画素の周辺画素の画素値を用いて補間する補間部
を更に備える請求項1から請求項4の何れか1項に記載の映像処理装置。
【請求項6】
前記埋込部は、前記データブロック毎に、前記データブロックの一部に、前記フレーム番号に加えて、前記データブロック、前記フレーム番号、及び書き込み先の前記メモリのアドレスから生成されるCRC符号を埋め込み、
前記判定部は、前記CRC符号に基づく誤り検出を行い、
前記読出部によって今回読み出された前記データブロック中の前記フレーム番号が前回読み出された前記データブロック中の前記フレーム番号から変化しない状態が所定回数以上継続した場合で、かつ前記CRC符号に基づいて誤りを検出した場合に前記異常判定信号を生成する
請求項1から請求項4の何れか1項に記載の映像処理装置。
【請求項7】
請求項1に記載の映像処理装置と、
前記映像処理装置から入力された映像データに基づく映像を表示する表示装置と、
を含む表示システム。
【請求項8】
前記異常判定信号が生成された場合に、前記映像処理装置及び前記表示装置の少なくとも一方の動作を停止させる制御部
を更に含む請求項7に記載の表示システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、映像処理装置及び表示システムに関する。
【背景技術】
【0002】
表示システムにおいては、ディスプレイに表示される映像が固着(フリーズ)してしまうことがある。映像の固着とは、動画を示す映像信号に基づいてディスプレイが駆動されているにもかかわらず、その映像信号によって示される動画の映像とならず、同一のフレームの画像が繰り返し表示され、結果的に静止画となってしまうことである。映像固着の原因は様々であり、例えば、カメラ等の映像源の動作異常、及び映像データを生成するグラフィック生成部の動作異常等が挙げられる。
【0003】
映像固着を検出する技術として、特許文献1には、順次供給される映像データにフレーム番号を付加し、フレーム番号に基づいて映像固着を示す異常判定信号を生成する映像処理装置が開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に記載の技術では、映像データに対してフレーム番号を付加するため、データ転送レートが低下してしまう、という問題点があった。
【0006】
本開示は、以上の事情を鑑みてなされたものであり、データ転送レートの低下を抑制しつつ、映像固着を検出することができる映像処理装置及び表示システムを提供することを目的とする。
【課題を解決するための手段】
【0007】
開示の技術に係る映像処理装置は、映像データが属するフレームを表し、かつ連続するフレーム間で値が変化するフレーム番号を生成する生成部と、前記映像データにおける予め定められたサイズのデータブロック毎に、前記データブロックの一部に前記フレーム番号を埋め込む埋込部と、フレーム順に、前記映像データを前記データブロック単位でメモリに書き込む書込部と、前記メモリに書き込まれた前記データブロックを順次読み出す読出部と、前記読出部によって今回読み出された前記データブロック中の前記フレーム番号が前回読み出された前記データブロック中の前記フレーム番号から変化しない状態が所定回数以上継続した場合に映像固着を示す異常判定信号を生成する判定部と、を備える。
【発明の効果】
【0008】
本開示によれば、データ転送レートの低下を抑制しつつ、映像固着を検出することができる。
【図面の簡単な説明】
【0009】
【
図1】表示システムの構成の一例を示すブロック図である。
【
図2】映像処理装置の機能的な構成の一例を示すブロック図である。
【
図3】フレーム番号及びCRC符号の埋め込み処理を説明するための図である。
【
図5】変形例に係る補間処理を説明するための図である。
【
図6】映像固着検出処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、図面を参照して、本開示の技術を実施するための形態例を詳細に説明する。
【0011】
まず、
図1を参照して、本実施形態に係る表示システム10の構成を説明する。
図1に示すように、表示システム10は、グラフィック生成部11、映像処理装置12、フレームメモリ13、表示装置14、及びMCU(Micro Controller Unit)15を含む。表示システム10は、例えば、車両に搭載される。
【0012】
グラフィック生成部11は、映像処理装置12に接続される。映像処理装置12は、フレームメモリ13及び表示装置14に接続される。MCU15は、グラフィック生成部11、映像処理装置12、及びフレームメモリ13に接続される。
【0013】
グラフィック生成部11は、車両の走行に必要なナビゲーション情報等の情報をグラフィック表現によって示す映像データを生成する。グラフィック生成部11は、各フレームの映像データをフレーム順に従って映像処理装置12に順次供給する。ここでいう映像データとは、各フレームの画像データを意味する。
【0014】
映像処理装置12は、プロセッサ20を含む。プロセッサ20の例としては、FPGA(Field Programmable Gate Array)等の製造後に回路構成を変更可能なプログラマブルロジックデバイス(Programmable Logic Device:PLD)等が挙げられる。プロセッサ20は、ソフトウェア(プログラム)を実行する汎用的なプロセッサであるCPU(Central Processing Unit)等であってもよい。また、プロセッサ20は、同種又は異種の2つ以上のプロセッサの組み合わせであってもよい。
【0015】
映像処理装置12は、グラフィック生成部11から順次供給される映像データを取得し、その映像データを予め定められたサイズのデータブロックに分割し、そのデータブロック毎にフレームメモリ13に書き込む。そして、映像処理装置12は、フレームメモリ13に書き込んだデータブロックを順次読み出す。映像処理装置12は、書き込む周波数に対して読み出し周波数を変えることが可能である。映像処理装置12は、フレームメモリ13へのデータブロックの書き込みの際、及びフレームメモリ13からのデータブロックの読み出しの際には、バースト転送を行う。
【0016】
フレームメモリ13は、複数フレーム分の映像データのデータブロックを記憶することができるように複数の記憶領域を有するRAM(Random Access Memory)を含んで構成される。フレームメモリ13は、開示の技術に係るメモリの一例である。
【0017】
表示装置14は、ディスプレイ(図示せず)を含み、映像処理装置12から入力された映像データに基づく映像をディスプレイに表示する装置である。
【0018】
MCU15は、表示システム10全体を制御する制御部である。MCU15の制御内容には、例えば、グラフィック生成部11、映像処理装置12、及び表示装置14の動作タイミングの制御等が含まれる。
【0019】
映像処理装置12は、映像固着を検出する機能を有する。
図2を参照して、本実施形態に係る映像処理装置12の機能的な構成について説明する。
図2に示すように、映像処理装置12は、番号生成部40、埋込部42、書込部44、タイミングコントローラ46、読出部48、判定部50、及び補間部52を含む。プロセッサ20が予め設定されたロジックを実行することによって番号生成部40、埋込部42、書込部44、タイミングコントローラ46、読出部48、判定部50、及び補間部52として機能する。
【0020】
番号生成部40は、グラフィック生成部11から順次供給される映像データが属するフレームを表し、かつ連続するフレーム間で値が変化するフレーム番号を生成する。番号生成部40は、同一のフレームの映像データには同一のフレーム番号を付与し、1つのフレームの次のフレームの映像データには+1だけ増加したフレーム番号を付与する。
【0021】
埋込部42は、映像データにおける予め定められたサイズのデータブロック毎に、データブロックの一部に番号生成部40により生成されたフレーム番号を埋め込む。また、埋込部42は、データブロック、フレーム番号、及び書き込み先のフレームメモリ13のアドレスを用いてCRC(Cyclic Redundancy Check)符号を生成し、データブロック毎に、フレーム番号に加えてCRC符号を埋め込む。
【0022】
図3を参照して、埋込部42によるフレーム番号及びCRC符号の埋め込み処理の詳細を説明する。ここでは、1フレームの映像データの解像度が1920画素×1080画素であり、データブロックのサイズが128byteであり、1画素のサイズが16ビットであり、フレーム番号のサイズが8ビットであり、CRC符号のサイズが8ビットである場合を例に説明する。すなわち、
図3の例では、1つのデータブロックは64(=128[byte]×8÷16[bit])画素からなる。
【0023】
図3に示すように、後述する書込部44は、映像データの左上から右下に向けて、128byteのデータブロックを、フレームメモリ13にバースト転送によって順次書き込む。このデータブロック毎に、埋込部42は、フレーム番号及びCRC符号を埋め込む。埋込部42は、データブロックを構成する複数の画素に、フレーム番号及びCRC符号を表すビット列を1ビットずつ等しい画素間隔で埋め込む。
図3の例では、1つのデータブロックが64画素であり、フレーム番号及びCRC符号が16ビットであるため、3画素間隔でフレーム番号又はCRC符号を構成する1ビットが画素に埋め込まれることになる。この際、埋込部42は、画素の先頭ビットをフレーム番号又はCRC符号を構成する1ビットに置き換えることによって、その1ビットを埋め込む。なお、埋込部42は、画素の先頭以外の位置のビットにフレーム番号又はCRC符号を構成する1ビットを埋め込んでもよい。
【0024】
書込部44は、フレーム順に、映像データをデータブロック単位でフレームメモリ13に書き込む。書込部44によりフレームメモリ13に書き込まれるデータブロックは、埋込部42によりフレーム番号及びCRC符号が埋め込まれたデータブロックである。書込部44は、フレームメモリ13の1つの記憶領域に対する1つのデータブロックの書き込みが完了すると、フレームメモリ13の別の記憶領域に、そのデータブロックの次のデータブロックの書き込みを開始する。
【0025】
タイミングコントローラ46は、読出部48によるデータブロックの読み出しタイミングを制御する。
【0026】
読出部48は、書込部44によりフレームメモリ13に書き込まれたデータブロックを順次読み出す。
【0027】
判定部50は、読出部48より読み出されたデータブロックからフレーム番号及びCRC符号を抽出する。フレーム番号及びCRC符号の埋め込みは、例えば、1画素目、5画素目、9画素目、・・・のように等しい画素間隔で、予め定められた画素に埋め込まれている。また、フレーム番号及びCRC符号は、画素の先頭ビットに埋め込まれている。従って、判定部50は、データブロックの予め定められた順番の画素の先頭ビットを抽出することによって、フレーム番号及びCRC符号を抽出することができる。
【0028】
次に、判定部50は、読出部48によって今回読み出されたデータブロック中のフレーム番号が前回読み出されたデータブロック中のフレーム番号から変化しない状態が所定回数以上継続したか否かを判定する。更に、判定部50は、読出部48によって読み出されたデータブロック中のCRC符号に基づく誤り検出を行う。判定部50は、読出部48によって今回読み出されたデータブロック中のフレーム番号が前回読み出されたデータブロック中のフレーム番号から変化しない状態が所定回数以上継続し、かつCRC符号に基づいて誤りを検出した場合に、映像固着を検出する。この場合、判定部50は、映像固着を示す異常判定信号を生成し、生成した異常判定信号をMCU15に対して出力する。
【0029】
補間部52は、読出部48によりフレームメモリ13から読み出されたデータブロック中のフレーム番号及びCRC符号が埋め込まれた画素の画素値を、その画素の周辺画素の画素値を用いて補間する。本実施形態では、補間部52は、フレーム番号及びCRC符号が埋め込まれた画素の画素値が、その画素と同一のデータブロック中の隣接する2画素の画素値に近づくように補間する。
図4を参照して、補間部52による補間処理の詳細を説明する。
図4におけるD1~D5は各画素の画素値を示している。また、
図4では、画素値がD3の画素が、フレーム番号を構成するビット列及びCRC符号を構成するビット列のうちの1ビットが埋め込まれた画素、すなわち、補間対象画素である例を示している。また、
図4における「D3(bit[0]=0)」は、先頭ビットを0に置き換えた場合の画素値D3を表している。この先頭ビットは、前述したように、フレーム番号を構成するビット列及びCRC符号を構成するビット列のうちの1ビットである。
【0030】
図4に示すように、補間部52は、補間対象画素に隣接する2つの画素の画素値D2及びD4の平均値が、先頭ビットを0に置き換えた場合の画素値D3を超える場合、画素値D3の先頭ビットを0に置き換える。一方、補間部52は、補間対象画素に隣接する2つの画素の画素値D2及びD4の平均値が、先頭ビットを0に置き換えた場合の画素値D3以下の場合、画素値D3の先頭ビットを1に置き換える。これにより、補間対象画素の明るさが隣接する2つの画素の明るさに近づくことになる。
【0031】
なお、補間部52は、複数のデータブロックを用いた補間を行ってもよい。
図5を参照して、この形態例における補間部52による補間処理の詳細を説明する。ここでは、読出部48により3行以上の分の映像データが読み出されたものとする。また、ここでは、
図5に示す画素Aが補間対象画素であるものとする。また、
図5における黒く塗りつぶされた画素は、フレーム番号又はCRC符号が埋め込まれた画素を示している。
【0032】
図5に示すように、補間部52は、補間対象画素の上下左右に隣接する周辺の8画素に、フレーム番号又はCRC符号が埋め込まれた画素が存在しないように、補間対象画素の上の行及び下の行を2画素分シフトする。その後、補間部52は、補間対象画素の画素値及び補間対象画素の周辺画素の画素値の平均値を算出する。そして、補間部52は、補間対象画素の画素値を算出した平均値に置き換える。これにより、補間対象画素の明るさが周辺画素に近づくことになる。
【0033】
次に、
図6を参照して、映像処理装置12がフレームレート変換を行わない場合、すなわちフレームメモリ13に対する書き込み周波数と読み出し周波数が同一の場合の判定部50及び補間部52の動作の流れを説明する。
【0034】
図6のステップS10で、判定部50は、読出部48よりデータブロックが読み出されるたびに、読み出されたデータブロックからフレーム番号及びCRC符号を抽出する。そして、判定部50は、抽出したフレーム番号を新たな今回のフレーム番号に設定し、それまでの今回のフレーム番号を前回のフレーム番号に設定する。
【0035】
ステップS12で、判定部50は、今回のフレーム番号が前回のフレーム番号よりも+1であるか否かを判定する。この判定が肯定判定となった場合は、処理はステップS14に移行する。ステップS14で、同一フレームのデータブロックが続いている回数を数えるためのカウンタである同一フレームカウンタをクリアする。同一フレームカウンタは1ずつカウントアップするカウンタであり、ハードウエア及びソフトウェアのいずれによって実現されてもよい。
【0036】
ステップS16で、補間部52は、前述したように、読出部48によりフレームメモリ13から読み出されたデータブロック中のフレーム番号及びCRC符号が埋め込まれた画素の画素値を、その画素の周辺画素の画素値を用いて補間する。補間部52は、補間処理を経たデータブロックを表示装置14に対して出力する。表示装置14は、映像処理装置12から入力された映像データに基づく映像をディスプレイに表示する。
【0037】
一方、ステップS12の判定が否定判定となった場合、処理はステップS18に移行する。ステップS18で、判定部50は、今回のフレーム番号が前回のフレーム番号と同一であるか否かを判定する。この判定が肯定判定となった場合は、処理はステップS20に移行し、否定判定となった場合は、処理はステップS24に移行する。ステップS20で、判定部50は、同一フレームカウンタをカウントアップする。
【0038】
ステップS22で、判定部50は、同一フレームカウンタがn以上であるか否かを判定することによって、今回のフレーム番号が前回のフレーム番号から変化しない状態がn回以上継続したか否かを判定する。ここで、nは正の整数であり、1フレームを構成する映像データの数である。書き込み周波数と読み出し周波数が同一である場合には、書き込み及び読み出しが正常に実行される場合、1フレームを構成する映像データの数nよりも-1の回数であるn-1回にわたって同一フレームの映像データが連続して読み出され、その次の読み出される映像データは次のフレーム番号のものとなる。従って、整数nが比較対象の値として設定される。なお、許容値を考慮し、整数nは1フレームを構成する映像データの数より若干大きい値としてもよい。
【0039】
ステップS22で、更に、判定部50は、CRC符号に基づく誤り検出を行い、CRC符号に基づいて誤りを検出したか否かを判定する。判定部50が今回のフレーム番号が前回のフレーム番号から変化しない状態がn回以上継続し、かつCRC符号に基づいて誤りを検出したと判定した場合、ステップS22の判定が肯定判定となり、処理はステップS24に移行する。なお、ステップS22において、判定部50は、今回のフレーム番号が前回のフレーム番号から変化しない状態がn回以上継続し、かつCRC符号に基づいて誤りを検出した状態がn回以上継続したか否かを判定してもよい。
【0040】
ステップS24で、判定部50は、映像固着を示す異常判定信号を生成し、生成した異常判定信号をMCU15に対して出力する。MCU15は、映像処理装置12から異常判定信号が入力された場合、グラフィック生成部11、映像処理装置12、及び表示装置14の動作を停止させる。なお、MCU15は、映像処理装置12から異常判定信号が入力された場合、グラフィック生成部11、映像処理装置12、及び表示装置14のうちの1つ又は2つの動作を停止させてもよい。ステップS22の判定が否定判定となった場合、処理はステップS16に移行する。
【0041】
なお、映像処理装置12がフレームレート変換を行う場合は、ステップS12で、判定部50は、今回のフレーム番号が前回のフレーム番号よりも+Nであるか否かを判定する。また、この場合、判定部50は、同一フレームカウンタがM以下であるか否かを判定する。ここで、N及びMの各々の数値はフレームレート変換の内容に応じて変化する。Nは正の整数であり、読出部48が読み出すデータブロックのフレーム番号が正常に変化する際のその変化の大きさである。フレーム番号が1ずつ増加するフレームの間引きなしの読み出しの場合にはN=1であり、映像データを1フレームだけ間引いて読み出す場合には、N=2である。Mは読出部48がフレームレート変換の際に同一のフレームのデータブロックを読み出すべき回数より-1の回数又はその読み出すべき回数-1の回数より許容値分だけ多い値である。
【0042】
フレームメモリ13についての書き込み周波数に対して読み出し周波数が大きい場合の具体例として、書き込みのフレームレートが30fps、読み出しのフレームレートが60fpsである場合を例に説明する。この場合、フレームメモリ13から各フレームのデータブロックが2回繰り返して読み出される。従って、判定部50においては、今回のフレーム番号が前回のフレーム番号より+1でない状態、すなわち、その差が0の同一フレーム番号の状態が、例えば2n回以上(すなわちM回より)多く継続する場合に、異常判定信号が生成される。
【0043】
このように書き込みのフレームレートに対して読み出しのフレームレートがm(mは2以上の整数)倍であるとすると、フレームメモリ13から各フレームのデータブロックがm回繰り返して読み出される。従って、判定部50においては、今回のフレーム番号が前回のフレーム番号より+N=+1でない状態、すなわちその差が0の同一フレーム番号の状態がM回より多く継続するならば、異常判定信号が生成される。
【0044】
フレームメモリ13についての書き込み周波数に対して読み出し周波数が小さい具体例として、書き込みのフレームレートが30fps、読み出しのフレームレートが15fpsである場合を例に説明する。この場合に、フレームメモリ13から各フレームのデータブロックが1フレーム間引きして読み出される。従って、判定部50においては、今回のフレーム番号が前回のフレーム番号より+2でない状態、すなわち0又は+1の状態がn(=M+1)回以上継続する場合に、異常判定信号が生成される。
【0045】
このように書き込みのフレームレートに対する読み出しのフレームレートが1/mであると、フレームメモリ13から各フレームのデータブロックがm-1フレーム間引きして読み出される。従って、判定部50においては、今回のフレーム番号が前回のフレーム番号より+N=+mでない状態、すなわち0、+1、・・・、+(m-1)のいずれかの状態がM回より多く継続する場合に、異常判定信号が生成される。
【0046】
以上説明したように、本実施形態によれば、映像データの内部にフレーム番号及びCRC符号が埋め込まれ、そのフレーム番号及びCRC符号に基づいて映像固着が検出される。
図3の例において、映像データの外部にフレーム番号及びCRC符号が付加される場合、128byteのデータのうち、126byteが映像データを構成するデータブロックとなり、2byteがフレーム番号及びCRC符号となる。すなわち、この場合、フレームメモリ13への1回のバースト転送において、63(=126[byte]×8÷16[bit])画素分の映像データが転送される。これに対し、本実施形態では、フレームメモリ13への1回のバースト転送において、64画素分の映像データが転送される。従って、本実施形態によれば、データ転送レートの低下を抑制しつつ、映像固着を検出することができる。
【0047】
なお、上記実施形態では、埋込部42は、データブロックを構成する複数の画素に、フレーム番号及びCRC符号を表すビット列を1ビットずつ等しい画素間隔で埋め込む態様を説明したが、開示の技術はこの態様に限定されない。例えば、埋込部42は、疑似乱数等を用いて、データブロックを構成する複数の画素に、フレーム番号及びCRC符号を表すビット列を1ビットずつランダムな画素間隔で埋め込んでもよい。この場合、埋込部42は、フレーム番号及びCRC符号を埋め込んだ画素の位置及びその画素内のビットの位置を判定部50及び補間部52に対して出力してもよい。
【0048】
また、上記実施形態において、埋込部42は、フレーム番号及びCRC符号のうち、CRC符号をデータブロックの一部に埋め込まなくてもよい。
【0049】
また、上記実施形態では、番号生成部40が生成するフレーム番号は順次増加しているが、順次減少しても良い。また、番号生成部40が生成するフレーム番号は映像のフレーム順に+1ずつ増加されているが、連続するフレーム間で+1以外の所定数だけ変化するフレーム番号であってもよい。
【0050】
また、上記実施形態では、映像源としてグラフィック生成部11を用いているが、カメラ等の他の映像源を用いてもよい。
【符号の説明】
【0051】
10 表示システム
11 グラフィック生成部
12 映像処理装置
13 フレームメモリ
14 表示装置
15 MCU
20 プロセッサ
40 番号生成部
42 埋込部
44 書込部
46 タイミングコントローラ
48 読出部
50 判定部
52 補間部