JP2021190098A - 画像前処理方法、装置、電子機器及び記憶媒体 - Google Patents

画像前処理方法、装置、電子機器及び記憶媒体 Download PDF

Info

Publication number
JP2021190098A
JP2021190098A JP2021044072A JP2021044072A JP2021190098A JP 2021190098 A JP2021190098 A JP 2021190098A JP 2021044072 A JP2021044072 A JP 2021044072A JP 2021044072 A JP2021044072 A JP 2021044072A JP 2021190098 A JP2021190098 A JP 2021190098A
Authority
JP
Japan
Prior art keywords
preview
texture
current data
data frame
gpu
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.)
Granted
Application number
JP2021044072A
Other languages
English (en)
Other versions
JP7160495B2 (ja
Inventor
カンカン ペン
Cancan Peng
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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Publication of JP2021190098A publication Critical patent/JP2021190098A/ja
Application granted granted Critical
Publication of JP7160495B2 publication Critical patent/JP7160495B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/63Control of cameras or camera modules by using electronic viewfinders
    • H04N23/631Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters
    • H04N23/632Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters for displaying or modifying preview images prior to image capturing, e.g. variety of image resolutions or capturing parameters
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/08Interaction between the driver and the control system
    • B60W50/14Means for informing the driver, warning the driver or prompting a driver intervention
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/08Interaction between the driver and the control system
    • B60W50/14Means for informing the driver, warning the driver or prompting a driver intervention
    • B60W2050/146Display means

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Automation & Control Theory (AREA)
  • Computer Graphics (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Processing (AREA)

Abstract

【課題】ARナビゲーション技術分野に関する画像前処理方法、装置、電子機器及び記憶媒体を提供する。【解決手段】方法は、カメラプレビューオープニングコマンドに応答して、CPUによって予め作成された描画面ウィンドウを呼び出して、カメラで収集された現在のデータフレームを取得し、描画面ウィンドウを介して現在のデータフレームをそれに対応するプレビューテクスチャに変換し、現在のデータフレームに対応するプレビューテクスチャをグラフィックスプロセッサGPUに送信し、GPUによって現在のデータフレームに対応するプレビューテクスチャを処理し、CPUによって処理されたプレビューテクスチャをADASに送信する。【効果】CPUがカメラデータに対する傍受を追加登録する必要がなく、画像前処理を実現し、CPUリソースを効果的に節約し、前処理速度を向上させる。【選択図】図1

Description

本出願は、コンピュータ応用技術分野に関し、さらにARナビゲーション技術に関し、特に画像前処理方法、装置、電子機器及び記憶媒体に関する。
拡張現実(Augmented Reality、ARと略称する)は、混合現実とも呼ばれる。それは電子技術によって、仮想情報を実世界に適用し、実環境と仮想オブジェクトを同じ画面または空間にリアルタイムで重ね合わせて同時に存在する。ARは、人間が知覚できる情報とは異なる情報を提供する。それは実世界の情報を表示するだけでなく、仮想情報も同時に表示し、2種類の情報は相互に補完し、重ね合わせる。視覚化の拡張現実では、ユーザはディスプレイを使用して、実世界と仮想グラフィックスを多重合成することができる。ARは、仮想オブジェクトを使用して実シーンを「拡張」表示することを採用する技術であり、仮想現実に比べて、リアリティが強く、モデリング作業量が少ないという利点がある。高度な運転支援システム(Advanced Driving Assistance System、ADASと略称する)は、車に取り付けられた様々なセンサ(ミリ波レーダ、レーザレーダ、単眼カメラまたは両眼カメラおよび衛星ナビゲーション)を使用して、車の運転プロセス中にいつでも周囲の環境を感知し、データを収集し、静的および動的なオブジェクトの識別、検出、追跡を行い、ナビゲーションマップデータと組み合わせて、体系的な計算と分析を行うことで、ドライバーに発生する可能性のある危険を事前に感知させ、車の運転の快適性と安全性を効果的に高める。
ARナビゲーションでは、ADASに送信されるデータに対して、通常、カメラで収集されたデータをCPUによって前処理し、その後ADASに送信して関連する画像認識とアルゴリズム処理を行う。CPUはカメラで収集されたデータを同時にレンダリングする必要があるので、カメラに対するデータの傍受を追加登録する必要があり、すなわち、CPUはカメラで収集された各フレームのデータを取得し、コールバックでデータのスケーリングと色変換を完了してから、ADASに送信して関連する画像認識とアルゴリズム処理を行う。従来技術は以下のような欠点を有する。CPUがカメラデータに対する傍受を追加登録する必要があり、これによりメモリの消費が増加し、前処理がCPUで行われ,CPUリソースの一部を占め、CPUリソースが限られているため、従来技術の提案ではADASへの送信のタイミングの遅延も引き起こし、ARレンダリング画面の遅れを招き、ユーザ体験に影響を与える。
本出願は、画像前処理方法、装置、電子機器及び記憶媒体を提供して、CPUがカメラデータに対する傍受を追加登録する必要がなく、画像前処理を実現し、CPUリソースを効果的に節約し、前処理速度を向上させることができる。
第1の側面において、本出願は、画像前処理方法を提供し、
カメラプレビューオープニングコマンドに応答して、中央処理装置CPUによって予め作成された描画面ウィンドウを呼び出して、カメラで収集された現在のデータフレームを取得するステップと、
描画面ウィンドウを介して前記現在のデータフレームをそれに対応するプレビューテクスチャに変換するステップと、
前記現在のデータフレームに対応するプレビューテクスチャをグラフィックスプロセッサGPUに送信し、前記GPUによって前記現在のデータフレームに対応するプレビューテクスチャを処理し、前記CPUによって処理されたプレビューテクスチャを高度な運転支援システムADASに送信するステップと、を含む。
第2の側面において、本出願は、画像前処理装置を提供し、前記装置は、取得モジュールと、変換モジュールと、前処理モジュールと、を含み、ここで、
前記取得モジュールは、カメラプレビューオープニングコマンドに応答して、中央処理装置CPUによって予め作成された描画面ウィンドウを呼び出して、カメラで収集された現在のデータフレームを取得することに用いられ、
前記変換モジュールは、描画面ウィンドウを介して前記現在のデータフレームをそれに対応するプレビューテクスチャに変換することに用いられ、
前記前処理モジュールは、前記現在のデータフレームに対応するプレビューテクスチャをグラフィックスプロセッサGPUに送信し、前記GPUによって前記現在のデータフレームに対応するプレビューテクスチャを処理し、前記CPUによって処理されたプレビューテクスチャをADASに送信することに用いられる。
第3の側面において、本出願の実施例は、電子機器を提供し、
一つまたは複数のプロセッサと、
一つまたは複数のプログラムが記憶されるメモリと、を含み、
前記一つまたは複数のプログラムが前記一つまたは複数のプロセッサによって実行される場合、前記一つまたは複数のプロセッサが本出願の任意の実施例に記載の画像前処理方法を実行する。
第4の側面において、本出願の実施例は、コンピュータプログラムが記憶されている記憶媒体を提供し、前記プログラムが前記プロセッサによって実行される場合、本出願の任意の実施例に記載の画像前処理方法が実行される。
第5の側面において、本出願の実施例は、コンピュータプログラムをさらに提供し、前記コンピュータプログラムにおける命令が実行された場合に、本出願の任意の実施例に記載の画像前処理方法が実行される。
本出願の技術によれば、従来技術におけるCPUがカメラデータに対する傍受を追加登録する必要があるという技術問題を解決し、本出願はCPUがカメラデータに対する傍受を追加登録する必要がなく、画像前処理を実現し、CPUリソースを効果的に節約し、前処理速度を向上させることができる。
なお、この部分に記載された内容は、本開示の実施例の肝心または重要な特徴を限定することを意図するものではなく、本開示の範囲を限定することを意図するものでもない。本開示の他の特徴は、以下の説明によって容易に理解されやすくなる。
図面は、本技術案をよりよく理解するために使用されており、本出願の限定を構造するものではない。
本出願の実施例一により提供される画像前処理方法の概略フローチャートである。 本出願の実施例二により提供される画像前処理方法の概略フローチャートである。 本出願の実施例三により提供される画像前処理装置の概略構造図である。 本出願の実施例の画像前処理方法を実現するための電子機器のブロック図である。
以下、図面を組み合わせて本出願の例示的な実施例を説明し、理解を容易にするためにその中には本出願の実施例の様々な詳細事項を含んでおり、それらは単なる例示的なものと見なされるべきである。したがって、当業者は、本出願の範囲及び精神から逸脱することなく、ここで説明される実施例に対して様々な変更と修正を行うことができることを認識されたい。同様に、明確及び簡潔するために、以下の説明では、周知の機能及び構造の説明を省略する。
実施例一
図1は本出願の実施例一により提供される画像前処理方法のフローチャートであり、当該方法は、画像前処理装置または電子機器によって実行されることができ、当該装置または電子機器は、ソフトウェアおよび/またはハードウェアによって実現することができ、当該装置または電子機器は、ネットワーク通信機能を備えた任意のスマートデバイスに統合することができる。図1に示すように、画像前処理方法は、以下のステップを含むことができる。
S101:カメラプレビューオープニングコマンドに応答して、CPUによって予め作成された描画面ウィンドウを呼び出して、カメラで収集された現在のデータフレームを取得する。
本出願の具体的な実施例において、カメラプレビューオープニングコマンドに応答して、電子機器はCPUによって予め作成された描画面ウィンドウを呼び出して、カメラで収集された現在のデータフレームを取得することができ、ここで、予め作成された描画面ウィンドウはプリセットタイプの描画面ウィンドウであってもよく、このプリセットタイプの描画面ウィンドウはSurfaceTextureであってもよい。具体的に、電子機器は、スレッド作成関数(setRenderer)を呼び出すことにより、グラフィックスライブラリ(Graphics Library、GLと略称する)スレッドを作成し、GLスレッドによってオープン関数(Start)を呼び出して当該GLスレッドのオープングラフィックスライブラリのウィンドウ管理環境を配置し、オープングラフィックスライブラリのウィンドウ管理環境を配置するGLスレッドでカメラプレビューのための描画面ウィンドウ(SurfaceTexture)を作成して予め作成された描画面ウィンドウとし、そして予め作成された描画面ウィンドウを呼び出すことにより、カメラで収集された現在のデータフレームを取得する。具体的に、本出願におけるオープングラフィックスライブラリのウィンドウ管理環境はEGL環境であってもよく、EGLは、アプリケーションプログラミングインターフェイス(Application Programming Interface、APIと略称する)とネイティブウィンドウシステムの間をレンダリングするインターフェイスである。通常、オープングラフィックスライブラリ(Open Graphics Library、OpenGLと略称する)はグラフィックスプロセッサ(Graphics Processing Unit、GPUと略称する)を操作するAPIであり、それはドライバーを介してGPUに関連する命令を送信して、グラフィックレンダリングパイプラインステートマシンの実行状態を制御するが、ローカルウィンドウシステムとのインタラクションに関わる場合、このような中間レイヤが必要であり、プラットフォームに依存しないことが最適である。したがって、EGLはOpenGLとネイティブウィンドウシステムの間の橋渡しとするように設計される。
S102:描画面ウィンドウを介して現在のデータフレームをそれに対応するプレビューテクスチャに変換する。
本出願の具体的な実施例において、電子機器は、描画面ウィンドウを介して現在のデータフレームをそれに対応するプレビューテクスチャに変換することができ、ここで、予め作成された描画面ウィンドウはプリセットタイプの描画面ウィンドウであってもよく、このプリセットタイプの描画面ウィンドウはSurfaceTextureであってもよい。通常、オープングラフィックスライブラリ(Open Graphics Library、OpenGLと略称する)はグラフィックスプロセッサ(Graphics Processing Unit、GPUと略称する)を操作するAPIであり、それはドライバーを介してGPUに関連する命令を送信して、グラフィックレンダリングパイプラインステートマシンの実行状態を制御するが、ローカルウィンドウシステムとのインタラクションに関わる場合、このような中間レイヤが必要であり、プラットフォームに依存しないことが最適である。したがって、EGLはOpenGLとネイティブウィンドウシステムの間の橋渡しとするように設計される。本ステップにおいて、電子機器は予め作成された描画面ウィンドウをプリセットタイプのテクスチャに関連することができ、このプリセットタイプはOESタイプであってもよく、そしてプリセットタイプのテクスチャに関連する描画面ウィンドウを介して、updateTexImageを呼び出して現在のデータフレームをそれに対応するプレビューテクスチャに変換することができる。
S103:現在のデータフレームに対応するプレビューテクスチャをGPUに送信し、GPUによって現在のデータフレームに対応するプレビューテクスチャを処理し、CPUによって処理されたプレビューテクスチャをADASに送信する。
本出願の具体的な実施例において、電子機器は、現在のデータフレームに対応するプレビューテクスチャをGPUに送信し、GPUによって現在のデータフレームに対応するプレビューテクスチャを処理し、CPUによって処理されたプレビューテクスチャをADASに送信することができる。具体的に、電子機器は、GPUによって予め設定されたシェーダを呼び出し、GPUが占有するストレージスペースで現在のデータフレームに対応するプレビューテクスチャの色を変換する、または、GPUが占有するストレージスペースで現在のデータフレームに対応するプレビューテクスチャのピクセルフォーマットを変換する、または、GPUが占有するストレージスペースで現在のデータフレームに対応するプレビューテクスチャのサイズをスケーリングすることができる。
本出願の実施例により提供される画像前処理方法は、まずカメラプレビューオープニングコマンドに応答して、CPUによって予め作成された描画面ウィンドウを呼び出して、カメラで収集された現在のデータフレームを取得し、次いで描画面ウィンドウを介して現在のデータフレームをそれに対応するプレビューテクスチャに変換し、そして現在のデータフレームに対応するプレビューテクスチャをGPUに送信し、GPUによって現在のデータフレームに対応するプレビューテクスチャを処理し、CPUによって処理されたプレビューテクスチャをADASに送信する。つまり、本出願は、描画面ウィンドウを予め作成し、予め作成された描画面ウィンドウを介して現在のデータフレームをそれに対応するプレビューテクスチャに変換し、これによりGPUで現在のデータフレームに対応するプレビューテクスチャを処理し、処理されたプレビューテクスチャをCPUによってADASに送信し、ADASによって処理されたプレビューテクスチャを識別及び検出することができる。既存の画像前処理方法において、通常、CPUによってカメラで収集されたデータを前処理し、その後ADASに送信して関連する画像認識とアルゴリズム処理を行い、このようにしてCPUがカメラデータに対する傍受を追加登録する必要がある。本出願は、GPUで現在のデータフレームに対応するプレビューテクスチャを処理し、処理されたプレビューテクスチャをADASに送信するという技術手段を採用するため、従来技術におけるCPUがカメラデータに対する傍受を追加登録する必要があるという技術問題を克服し、CPUがカメラデータに対する傍受を追加登録する必要がなく、画像前処理を実現し、CPUリソースを効果的に節約し、前処理速度を向上させるという技術効果を達成し、かつ、本出願の実施例の技術案は、実現が簡単で便利であり、普及しやすく、適用範囲が広い。
実施例二
図2は本出願の実施例二により提供される画像前処理方法のフローチャートである。図2に示すように、画像前処理方法は、以下のステップを含むことができる。
S201:カメラプレビューオープニングコマンドに応答して、CPUによって予め作成された描画面ウィンドウを呼び出して、カメラで収集された現在のデータフレームを取得する。
本出願の具体的な実施例において、カメラプレビューオープニングコマンドに応答して、電子機器はCPUによって予め作成された描画面ウィンドウを呼び出して、カメラで収集された現在のデータフレームを取得することができ、ここで、予め作成された描画面ウィンドウはプリセットタイプの描画面ウィンドウであってもよく、このプリセットタイプの描画面ウィンドウはSurfaceTextureであってもよい。具体的に、電子機器は、スレッド作成関数(setRenderer)を呼び出すことにより、グラフィックスライブラリ(Graphics Library、GLと略称する)スレッドを作成し、GLスレッドによってオープン関数(Start)を呼び出して当該GLスレッドのオープングラフィックスライブラリのウィンドウ管理環境を配置し、オープングラフィックスライブラリのウィンドウ管理環境を配置するGLスレッドでカメラプレビューのための描画面ウィンドウ(SurfaceTexture)を作成して予め作成された描画面ウィンドウとし、そして予め作成された描画面ウィンドウを呼び出すことにより、カメラで収集された現在のデータフレームを取得する。具体的に、本出願におけるオープングラフィックスライブラリのウィンドウ管理環境はEGL環境であってもよく、EGLは、アプリケーションプログラミングインターフェイス(Application Programming Interface、APIと略称する)とネイティブウィンドウシステムの間をレンダリングするインターフェイスである。
S202:描画面ウィンドウを介して現在のデータフレームをそれに対応するプレビューテクスチャに変換する。
本出願の具体的な実施例において、電子機器は、描画面ウィンドウを介して現在のデータフレームをそれに対応するプレビューテクスチャに変換することができ、ここで、予め作成された描画面ウィンドウはプリセットタイプの描画面ウィンドウであってもよく、このプリセットタイプの描画面ウィンドウはSurfaceTextureであってもよい。通常、オープングラフィックスライブラリ(Open Graphics Library、OpenGLと略称する)はグラフィックスプロセッサ(Graphics Processing Unit、GPUと略称する)を操作するAPIであり、それはドライバーを介してGPUに関連する命令を送信して、グラフィックレンダリングパイプラインステートマシンの実行状態を制御するが、ローカルウィンドウシステムとのインタラクションに関わる場合、このような中間レイヤが必要であり、プラットフォームに依存しないことが最適である。したがって、EGLはOpenGLとネイティブウィンドウシステムの間の橋渡しとするように設計される。本ステップにおいて、電子機器は予め作成された描画面ウィンドウをプリセットタイプのテクスチャに関連することができ、このプリセットタイプはOESタイプであってもよく、そしてプリセットタイプのテクスチャに関連する描画面ウィンドウを介して、updateTexImageを呼び出して現在のデータフレームをそれに対応するプレビューテクスチャに変換することができる。
OpenGLは、グラフィックスハードウェアデバイスの特性にアクセスできるソフトウェアライブラリであるグラフィックスアプリケーションプログラミングインターフェイスであり、OpenGLは、近代化されたハードウェアに依存しないインターフェイスとして設計されているため、コンピュータのオペレーティングシステムやウィンドウシステムを考慮せずに、さまざまなグラフィックハードウェアシステム上でソフトウェアを介してOpenGLのインターフェイスを完全に実現することができる。OpenGL自体には、ウィンドウタスクを実行したり、ユーザ入力を処理したりするための関数は含まれておらず、3次元物理モデルを表現したり、画像ファイルを読み取ったりするための操作も提供されていなく、画像をレンダリングするためのOpenGLプログラムが実行する必要がある主な操作は次のとおりであり、1)OpenGLの幾何学的プリミティブからデータを設定して形状を構築し、2)異なるシェーダ(shader)を使用して、入力されたプリミティブデータに対して計算操作を実行し、それらの位置、色、およびその他のレンダリング属性を判断し、プリミティブデータの数学的記述を画面位置に対応するピクセルフラグメント(fragment)に変換し、このステップはラスタライズ(rasterization)とも呼ばれる。OpenGLフラグメントが最終的に画像としてレンダリングされると、それはピクセルになり、4)ラスタライズプロセスで生成されたフラグメントに対して、フラグメントシェーダ(fragment shader)を実行して、このフラグメントの最終的な色と位置を決定する。
EGLは、OpenGL ESがAPIとローカルウィンドウシステム(Native Platform Window System)の間をレンダリングする中間インターフェイスレイヤであり、主にシステムメーカーによって実現される。EGLは、デバイスのネイティブウィンドウシステムとの通信、描画面の使用可能なタイプと構成のクエリ、描画面の作成、OpenGL ESと他のグラフィックレンダリングAPI間でのレンダリングの同期、およびテクスチャマップの管理などのレンダリングリソースを提供し、OpenGL ESが現在のデバイスに描画できるようにするためには、OpenGL ESとデバイスの間の橋渡しとしてEGLが必要である。その動作メカニズムは次のとおりであり、システムのローカルウィンドウと通信し、Surfaceを描画する有効なタイプと構成をクエリし、描画されたSurfaceを作成し、OpenGL ESのShader配列データなどのレンダリングリソースを管理するためのContextを作成し、OpenGL ESでレンダリングされたデータを 描画面ウィンドウ(Surface)に出力し、最終的にSurfaceにおけるコンテンツをローカルウィンドウに出力する。EGLを使用するには、以下の手順に従う。1)EGLの展示オブジェクトを取得する:EGLは、ローカルウィンドウを操作するすべてのAPIをカプセル化するタイプEGLDisplayを提供する。したがって、EGLを使用する場合、最初のステップはEGLDisplayとの接続を作成して初期化することである。2)EGLがEGLDisplayに正常に接続されたら、EGLを初期化し、EGL初期化関数(eglInitialize)を呼び出してEGLの初期化を完了する必要がある。3)EGLの初期化が完了すると、レンダリングされるSurfaceのタイプと構成を取得することができる。EGLの構成(EGLConfig)には、Surfaceに関するすべての構成情報を含めることができる。これらの情報には、使用可能な色の数、構成に関連する追加バッファ(深度やテンプレートバッファなど)、Surfaceのタイプ、及びその他の多くの特徴が含まれることができる。4)EGLコンテキスト(EGLContext)を作成するインスタンス:EGLContext構造の内部には、OpenGL ES 2のすべての状態と必要な操作が含まれている。例えば、それは頂点シェーダとフラグメントシェーダを参照する配列データが含まれている。OpenGL ES 2が描画できる前に、EGLContextを作成する必要がある。5)EGL描画面ウィンドウ(EGLSurface)を作成するインスタンス:EGLConfigを作成した後、EGLConfigに応じてEGLSurfaceを作成することができる。EGLSurfaceはメモリ空間であり、ユーザが描画したい情報がまずEGLSurfaceに描画する必要がある。6)EGLContextとEGLSurfaceを接続する:上記ステップにより、EGLContextとEGLSurfaceオブジェクトがすでに存在していて、以下は両者を関連付ける必要があり、これにより、EGLが、EGLContextからShaderデータを読み取り、EGLSurfaceにコンテンツを描画するようにOpenGL ESを制御することができる。
S203:現在のデータフレームに対応するプレビューテクスチャをGPUに送信し、GPUによって現在のデータフレームに対応するプレビューテクスチャを処理し、CPUによって処理されたプレビューテクスチャをADASに送信する。
本出願の具体的な実施例において、現在のデータフレームに対応するプレビューテクスチャをGPUに送信し、GPUによって現在のデータフレームに対応するプレビューテクスチャを処理し、CPUによって処理されたプレビューテクスチャをADASに送信することができる。具体的に、電子機器は、GPUによって予め設定されたシェーダを呼び出し、GPUが占有するストレージスペースで現在のデータフレームに対応するプレビューテクスチャの色を変換する、または、GPUが占有するストレージスペースで現在のデータフレームに対応するプレビューテクスチャのピクセルフォーマットを変換する、または、GPUが占有するストレージスペースで現在のデータフレームに対応するプレビューテクスチャのサイズをスケーリングすることができる。さらに、電子機器は、予め設定されたグラフィックバッファによって処理されたプレビューテクスチャをGPUからCPUにコピーし、CPUによって処理されたプレビューテクスチャをADASに送信することもできる。例えば、電子機器は、HardwareBufferによってGPUからCPUへのデータのコピーを行うことができる。
以下は色変換のプロセスについて具体的に説明する。AR技術は、仮想情報を実世界に適用し、実世界の環境と仮想オブジェクトを同じ画面または空間にリアルタイムで重ね合わせることができるため、ユーザの面白さと遊び性を大幅に向上させることができる。ライブビデオの分野など、一部のアプリケーションシナリオでは、アナウンサのライブインターフェイスをAR技術を使用して展示し、アナウンサとオーディエンスのインタラクションを豊かにすることができる。本出願により提供される色変換の方法は、現在のビデオフレームに対応するテクスチャオブジェクト及び色変換マトリックスを取得するステップと、設定されたシェーダによってテクスチャオブジェクト及び色変換マトリックスを処理し、現在のビデオフレームに対応するRGBデータを生成して、RGBデータによってレンダリングするステップと、を含むことができる。
以下はピクセルフォーマット変換のプロセスについて具体的に説明する。H.264(デジタルビデオ圧縮フォーマット)コーディングする場合、RGBフォーマットのピクセルをYUVフォーマットのピクセルに変換する必要がある。まずRGBとYUVについてそれぞれ説明する:RGBカラーモード(Red、Green、Blue、赤、緑、青の3色カラーモード)は、工業界のカラースタンダードであり、赤(R)、緑(G)、青(B)の3つのカラーチャンネルの変化とそれらの相互の重ね合わせによって異なる色を取得し、RGBは赤、緑、青の3つのチャンネルを表す色であり、このスタンダードには人間の視力が感知できるすべての色がほぼ含まれており、現在最も広く使われているカラーシステムの1つである。YUV(カラーコーディング方法)フォーマットは3つの要素に分けられ、「Y」は明るさ(LuminanceまたはLuma)、つまりグレー値を示し、「U」と「V」は色度(ChrominanceまたはChroma)を示し、映像の色と彩度を説明し、ピクセルの色を指定するために使用される。YUVフォーマットは主にテレビシステムやアナログビデオ分野で使用され、輝度情報(Y)と色情報(UV)を分離し、UV情報なしで完全な画像を表示できるが、白黒であり、このような設計は、カラーテレビと白黒テレビの互換性の問題をよく解決する。且つ、YUVはRGBのように3つの独立したビデオ信号を同時に伝送することを要求しないため、YUVフォーマットでデータを伝送するために占有される帯域幅は極めて少ない。YUVコードストリームのメモリフォーマットは、そのサンプリング方式と密接に関連しており、主流のサンプリング方式は、YUV4:4:4と、YUV4:2:2と、YUV4:2:0と、3種類の方式を有する。YUVフォーマットには、planar平面フォーマットとpackedパックフォーマットの2つのタイプがある。planarのYUVフォーマットに対して、まずすべてのピクセルドットのYを連続的に記憶し、次いですべてのピクセルドットのUを記憶し、そしてすべてのピクセルドットのVを記憶する。packedのYUVフォーマットに対して、各ピクセルドットのY、U、Vは連続的にインターリーブされて記憶される。RGBフォーマットのピクセルをYUVフォーマットのピクセルに変換してH.264コーディングする場合、相関アルゴリズムを使用してコンピュータのCPUで実行する必要がある。CPUはコンピュータのタスクコアであるため、CPUはピクセルフォーマット変換を行うと同時に、必ず他のタスクを行い、つまり、ピクセルフォーマット変換のデータ伝送帯域幅がCPU上で最大に達することは困難であり、それによってピクセルフォーマット変換の計算プロセスが延長され、ピクセルフォーマット変換の変換効率が低下する。本出願は、GPUで画像のピクセルフォーマットをARGBからNV12に変換することができ、本発明は、ピクセルフォーマット変換の計算プロセスを短縮し、変換効率を向上させることができる。本出願により提供されるピクセルフォーマット変換の方法は、グラフィックプログラミングインターフェイスの2次元テクスチャインターフェイスで、8ビットピクセルフォーマットのY平面ストレージテクスチャと16ビットピクセルフォーマットのUV平面ストレージテクスチャを作成するステップと、変換が必要なARGBストレージテクスチャをGPUに入力し、GPUがHLSL言語によって、ARGBストレージテクスチャにおける画像のピクセルフォーマットをARGBからNV12に変換した後、NV12ピクセルフォーマットの画像のY平面をY平面ストレージテクスチャに割り当て、NV12ピクセルフォーマットの画像のUV平面をUV平面ストレージテクスチャに割り当てるステップと、を含むことができる。
以下はサイズスケーリングのプロセスについて具体的に説明する。一般的に、携帯電話やコンピュータクライアントプログラムでは、ウィンドウコンポーネントの表示領域は直角矩形領域であり、コンピュータプログラムは、矩形領域の頂点や長さと幅を定義することによって、直角矩形の表示領域を決定できるが、一部のアプリケーションシナリオでは、 オペレーティングシステムやアプリケーションページのテーマスタイルに適合させるには、ビデオ展示領域を角丸矩形の外観にするように設計する必要があり、従来技術の一般的な方法は、CPUを使用してビデオフレームの角をカットすることである。角丸領域に対して、まず角丸領域に複数の三角形を生成し、生成された複数の三角形の底辺で角丸を近似する必要があり、三角形の数が少ないと、視覚的にギザギザのエッジパターンが現れ、三角形の数が多いほど、角丸が滑らかになり、視覚的にギザギザのパターンが現れない。そのため、角丸矩形の角丸領域でギザギザのパターンが現れないことを防止して、より良い視覚効果を達成するために、従来技術において、通常、CPUリソースを使用してより多くの三角形を生成し、これによってCPUの使用率が非常に消費される。角丸マトリックスの画像展示領域を実現し、または任意の形状の画像展示領域を実現し、且つより少ないプロセッサとメモリの使用量を保証し、コンピュータリソースの使用率を向上させるために、本出願により提供されるサイズスケーリングの方法は、画像展示待ち領域のテクスチャ領域と頂点座標を取得するステップと、グラフィックプログラムインターフェイスを呼び出して、頂点座標をGPUの頂点シェーダに入力するステップと、頂点シェーダに対応するピクセルシェーダを取得するステップと、ターゲット画像における位置がテクスチャ領域に属するピクセルドットのピクセル値をサンプリングし、ピクセルシェーダによってピクセル値をテクスチャ領域における対応する位置にレンダリングするステップと、を含むことができる。
S204:ターゲット画面に関連付けられた予め作成されたコンポーネントによって、現在のデータフレームに対応するプレビューテクスチャをターゲット画面に描画する。
本出願の具体的な実施例において、電子機器は、ターゲット画面に関連付けられた予め作成されたコンポーネントによって、現在のデータフレームに対応するプレビューテクスチャをターゲット画面に描画することができ、ここで、ターゲット画面に関連付けられたコンポーネントはSurfaceViewであってもよい。具体的に、電子機器は、ターゲット画面に関連付けられたコンポーネントにおける描画面ウィンドウを予め作成された描画面ウィンドウとして設定し、そしてその描画面ウィンドウを予め作成された描画面ウィンドウとして設定するコンポーネントによって、現在のデータフレームに対応するプレビューテクスチャをターゲット画面に描画することができる。さらに、電子機器は、ターゲット画面に対してターゲット画面のSurfaceViewに関連付けられるEGLSurfaceを作成し、そしてターゲット画面のSurfaceViewに関連付けられるEGLSurfaceによって、現在のデータフレームに対応するプレビューテクスチャをターゲット画面に描画することができる。具体的に、電子機器は、ターゲット画面のSurfaceViewに関連付けられるEGLSurfaceのSurfaceを予め作成されたSurfaceTextureとして設定し、そしてそのSurfaceを予め作成されたSurfaceTextureのEGLSurfaceとして設定し、現在のデータフレームに対応するプレビューテクスチャをターゲット画面に描画することができる。例えば、ターゲット画面に対して、電子機器は、まずターゲット画面のSurfaceViewに関連付けられるEGLSurfaceを作成し、ターゲット画面のSurfaceViewに関連付けられるEGLSurfaceのSurfaceを予め作成されたSurfaceTextureとして設定し、そしてGLスレッドにおけるSurfaceTextureによって現在のデータフレームを取得し、updateTexImageを読み取ることにより現在のデータフレームに対応するプレビューテクスチャを取得し、OpenGLによって現在のデータフレームに対応するプレビューテクスチャをターゲット画面1に描画する。具体的に、SurfaceViewはビュー構造階層に埋め込まれたSurfaceを提供することができる。プログラマーはこのSurfaceのフォーマットを制御することができる。SurfaceViewは、画面上にSurfaceを正しく配置する責任があり、SurfaceViewはホストウィンドウから分離された独自のSurfaceがある。SurfaceTextureとSurfaceViewの違いは、画像ストリームに対する処理を直接表示するのではなく、GL外部テクスチャに変換するため、画像ストリームデータの二次処理(カメラフィルターやデスクトップエフェクトなど)に使用することができる。具体的に、SurfaceTextureは画像ストリーム(カメラプレビュー、ビデオデコード、GL描画シーンなどから)からフレームデータを取得することができ、updateTexImageを読み取る場合、コンテンツストリーム内の最新の画像に応じて、SurfaceTextureに対応するGLテクスチャオブジェクトを更新し、次に通常のGLテクスチャを操作するように操作できるようになる。
なお、本出願の具体的な実施例において、ステップ204は、ステップ203の実行が完了した後に実行されてもよいし、またはステップ203と同時に実行されてもよく、すなわち、本出願は、レンダリング操作および前処理操作の実行順序を制限しない。
好ましく、本出願により提供される画像前処理方法は、実シーンを仮想物体で「強調」表示する技術を採用したARナビゲーションシーンに適用することができ、ARは、仮想オブジェクトを使用して実シーンを「拡張」表示することを採用する技術であり、仮想現実に比べて、リアリティが強く、モデリング作業量が少ないという利点がある。本出願により提供される技術案によれば、カメラのハードウェア抽象化レイヤにインターフェイスを追加するだけで、従来技術におけるカメラデータを受信する描画面ウィンドウをシームレスに置き換え、カメラデータの迅速な前処理を完了することができる。
本出願の実施例により提供される画像前処理方法は、まずカメラプレビューオープニングコマンドに応答して、CPUによって予め作成された描画面ウィンドウを呼び出して、カメラで収集された現在のデータフレームを取得し、次いで描画面ウィンドウを介して現在のデータフレームをそれに対応するプレビューテクスチャに変換し、そして現在のデータフレームに対応するプレビューテクスチャをGPUに送信し、GPUによって現在のデータフレームに対応するプレビューテクスチャを処理し、CPUによって処理されたプレビューテクスチャをADASに送信する。つまり、本出願は、描画面ウィンドウを予め作成し、予め作成された描画面ウィンドウを介して現在のデータフレームをそれに対応するプレビューテクスチャに変換し、これによりGPUで現在のデータフレームに対応するプレビューテクスチャを処理し、処理されたプレビューテクスチャをCPUによってADASに送信し、ADASによって処理されたプレビューテクスチャを識別及び検出することができる。既存の画像前処理方法において、通常、CPUによってカメラで収集されたデータを前処理し、その後ADASに送信して関連する画像認識とアルゴリズム処理を行い、このようにしてCPUがカメラデータに対する傍受を追加登録する必要がある。本出願は、GPUで現在のデータフレームに対応するプレビューテクスチャを処理し、処理されたプレビューテクスチャをADASに送信するという技術手段を採用するため、従来技術におけるCPUがカメラデータに対する傍受を追加登録する必要があるという技術問題を克服し、CPUがカメラデータに対する傍受を追加登録する必要がなく、画像前処理を実現し、CPUリソースを効果的に節約し、前処理速度を向上させるという技術効果を達成し、かつ、本出願の実施例の技術案は、実現が簡単で便利であり、普及しやすく、適用範囲が広い。
実施例三
図3は本出願の実施例三により提供される画像前処理装置の概略構造図である。図3に示すように、前記装置300は、取得モジュール301と、変換モジュール302と、前処理モジュール303と、を含み、ここで、
前記取得モジュール301は、カメラプレビューオープニングコマンドに応答して、中央処理装置CPUによって予め作成された描画面ウィンドウを呼び出して、カメラで収集された現在のデータフレームを取得することに用いられ、
前記変換モジュール302は、描画面ウィンドウを介して前記現在のデータフレームをそれに対応するプレビューテクスチャに変換することに用いられ、
前記前処理モジュール303は、前記現在のデータフレームに対応するプレビューテクスチャをグラフィックスプロセッサGPUに送信し、前記GPUによって前記現在のデータフレームに対応するプレビューテクスチャを処理し、前記CPUによって処理されたプレビューテクスチャをADASに送信することに用いられる。
さらに、前記変換モジュール302は、具体的に、前記予め作成された描画面ウィンドウをプリセットタイプのテクスチャに関連し、前記プリセットタイプのテクスチャに関連する描画面ウィンドウを介して、前記現在のデータフレームをそれに対応するプレビューテクスチャに変換することに用いられる。
さらに、前記前処理モジュール303は、具体的に、前記GPUによって予め設定されたシェーダを呼び出し、前記GPUが占有するストレージスペースで前記現在のデータフレームに対応するプレビューテクスチャの色を変換する、または、前記GPUが占有するストレージスペースで前記現在のデータフレームに対応するプレビューテクスチャのピクセルフォーマットを変換する、または、前記GPUが占有するストレージスペースで前記現在のデータフレームに対応するプレビューテクスチャのサイズをスケーリングすることに用いられる。
さらに、前記前処理モジュール303は、具体的に、予め設定されたグラフィックバッファによって前記処理されたプレビューテクスチャを前記GPUから前記CPUにコピーし、前記CPUによって前記処理されたプレビューテクスチャを前記ADASに送信することに用いられる。
さらに、前記装置は、ターゲット画面に関連付けられた予め作成されたコンポーネントによって、前記現在のデータフレームに対応するプレビューテクスチャを前記ターゲット画面に描画するための描画モジュール304(図示しない)をさらに含む。
さらに、前記描画モジュール304は、具体的に、前記ターゲット画面に関連付けられたコンポーネントにおける描画面ウィンドウを前記予め作成された描画面ウィンドウとして設定し、
その描画面ウィンドウを前記予め作成された描画面ウィンドウとして設定するコンポーネントによって、前記現在のデータフレームに対応するプレビューテクスチャを前記ターゲット画面に描画することに用いられる。
さらに、前記取得モジュール301は、スレッド作成関数を呼び出すことにより、グラフィックスライブラリスレッドを作成し、前記グラフィックスライブラリスレッドによってオープン関数を呼び出して前記グラフィックスライブラリスレッドのオープングラフィックスライブラリのウィンドウ管理環境を配置し、前記オープングラフィックスライブラリのウィンドウ管理環境を配置するグラフィックスライブラリスレッドでカメラプレビューのための描画面ウィンドウを作成して前記予め作成された描画面ウィンドウとすることにさらに用いられる。
上記画像前処理装置は、本出願の任意の実施例で提供される方法を実行することができ、実行方法に応じる機能モジュールと有益な効果を備えている。本実施例で詳細に説明されていない技術的詳細は、本出願の任意の実施例で提供される画像前処理方法を参照することができる。
本出願の実施例によれば、本出願は、電子機器及び読み取り可能な記憶媒体をさらに提供する。
図4に示すように、それは本出願の実施例に係る画像前処理方法の電子機器のブロック図である。電子機器は、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、大型コンピュータ、及び他の適切なコンピュータなどの様々な形式のデジタルコンピュータを表すことを目的とする。電子機器は、パーソナルデジタル処理、携帯電話、スマートフォン、ウェアラブルデバイス、他の同様のコンピューティングデバイスなどの様々な形式のモバイルデバイスを表すこともできる。本明細書で示されるユニット、それらの接続と関係、及びそれらの機能は単なる例であり、本明細書の説明及び/又は要求される本出願の実現を制限することを意図したものではない。
図4に示すように、当該電子機器は、一つ又は複数のプロセッサ401と、メモリ402と、高速インターフェイスと低速インターフェイスを含む各ユニットを接続するためのインターフェイスと、を含む。各ユニットは、異なるバスで相互に接続され、共通のマザーボードに取り付けられるか、又は必要に応じて他の方式で取り付けることができる。プロセッサは、外部入力/出力装置(インターフェイスに結合されたディスプレイデバイスなど)にGUIの図形情報をディスプレイするためにメモリに記憶されている命令を含む、電子機器内に実行される命令を処理することができる。他の実施方式では、必要であれば、複数のプロセッサ及び/又は複数のバスを、複数のメモリと複数のメモリとともに使用することができる。同様に、複数の電子機器を接続することができ、各電子機器は、部分的な必要な操作(例えば、サーバアレイ、ブレードサーバ、又はマルチプロセッサシステムとする)を提供することができる。図4では、一つのプロセッサ401を例とする。
メモリ402は、本出願により提供される非一時的なコンピュータ読み取り可能な記憶媒体である。その中、前記メモリには、少なくとも一つのプロセッサによって実行される命令を記憶して、前記少なくとも一つのプロセッサが本出願により提供される画像前処理方法を実行することができるようにする。本出願の非一時的なコンピュータ読み取り可能な記憶媒体は、コンピュータが本出願により提供される画像前処理方法を実行するためのコンピュータ命令を記憶する。
メモリ402は、非一時的なコンピュータ読み取り可能な記憶媒体として、本出願の実施例における画像前処理方法に対応するプログラム命令/モジュール(例えば、図3に示す取得モジュール301、変換モジュール302及び前処理モジュール303)ように、非一時的なソフトウェアプログラム、非一時的なコンピュータ実行可能なプログラム及びモジュールを記憶するために用いられる。プロセッサ401は、メモリ402に記憶されている非一時的なソフトウェアプログラム、命令及びモジュールを実行することによって、サーバの様々な機能アクティベーション及びデータ処理を実行し、すなわち上記の方法の実施例における画像前処理方法を実現する。
メモリ402は、ストレージプログラム領域とストレージデータ領域とを含むことができ、その中、ストレージプログラム領域は、オペレーティングシステム、少なくとも一つの機能に必要なアクティベーションプログラムを記憶することができ、ストレージデータ領域は、電子機器の使用によって作成されたデータなどを記憶することができる。また、メモリ402は、高速ランダム存取メモリを含むことができ、非一時的なメモリをさらに含むことができ、例えば、少なくとも一つのディスクストレージデバイス、フラッシュメモリデバイス、又は他の非一時的なソリッドステートストレージデバイスである。いくつかの実施例では、メモリ402は、プロセッサ401に対して遠隔に設置されたメモリを含むことができ、これらの遠隔メモリは、ネットワークを介して電子機器に接続されることができる。上記のネットワークの例は、インターネット、イントラネット、ローカルエリアネットワーク、モバイル通信ネットワーク、及びその組み合わせを含むが、これらに限定しない。
画像前処理方法の電子機器は、入力装置403と出力装置404とをさらに含むことができる。プロセッサ401、メモリ402、入力装置403、及び出力装置404は、バス又は他の方式を介して接続することができ、図4では、バスを介して接続することを例とする。
入力装置403は、入力された数字又は文字情報を受信することができ、及び電子機器のユーザ設置及び機能制御に関するキー信号入力を生成することができ、例えば、タッチスクリーン、キーパッド、マウス、トラックパッド、タッチパッド、指示杆、一つ又は複数のマウスボタン、トラックボール、ジョイスティックなどの入力装置である。出力装置404は、ディスプレイデバイス、補助照明デバイス(例えば、LED)、及び触覚フィードバックデバイス(例えば、振動モータ)などを含むことができる。当該ディスプレイデバイスは、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、及びプラズマディスプレイを含むことができるが、これらに限定しない。いくつかの実施方式では、ディスプレイデバイスは、タッチスクリーンであってもよい。
本出願の実施例によれば、コンピュータプログラムが提供される。当該コンピュータプログラムにおける命令が実行された場合に、本出願の実施例の画像前処理方法が実行される。
本明細書で説明されるシステムと技術の様々な実施方式は、デジタル電子回路システム、集積回路システム、特定用途向けASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はそれらの組み合わせで実現することができる。これらの様々な実施方式は、一つ又は複数のコンピュータプログラムで実施されることを含むことができ、当該一つ又は複数のコンピュータプログラムは、少なくとも一つのプログラマブルプロセッサを含むプログラム可能なシステムで実行及び/又は解釈されることができ、当該プログラマブルプロセッサは、特定用途向け又は汎用プログラマブルプロセッサであってもよく、ストレージシステム、少なくとも一つの入力装置、及び少なくとも一つの出力装置からデータ及び命令を受信し、データ及び命令を当該ストレージシステム、当該少なくとも一つの入力装置、及び当該少なくとも一つの出力装置に伝送することができる。
これらのコンピューティングプログラム(プログラム、ソフトウェア、ソフトウェアアクティベーション、又はコードとも呼ばれる)は、プログラマブルプロセッサの機械命令、高レベルのプロセス及び/又はオブジェクト指向プログラミング言語、及び/又はアセンブリ/機械言語でこれらのコンピューティングプログラムを実施することを含む。本明細書に使用されるように、用語「機械読み取り可能な媒体」及び「コンピュータ読み取り可能な媒体」は、機械命令及び/又はデータをプログラマブルプロセッサに提供するために使用される任意のコンピュータプログラム製品、機器、及び/又は装置(例えば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を指し、機械読み取り可能な信号である機械命令を受信する機械読み取り可能な媒体を含む。用語「機械読み取り可能な信号」は、機械命令及び/又はデータをプログラマブルプロセッサに提供するための任意の信号を指す。
ユーザとのインタラクションを提供するために、コンピュータ上でここで説明されているシステム及び技術を実施することができ、当該コンピュータは、ユーザに情報を表示するためのディスプレイ装置(例えば、CRT(陰極線管)又はLCD(液晶ディスプレイ)モニタ)と、キーボード及びポインティングデバイス(例えば、マウス又はトラックボール)とを有し、ユーザは、当該キーボード及び当該ポインティングデバイスによって入力をコンピュータに提供することができる。他の種類の装置は、ユーザとのインタラクションを提供するために用いられることもでき、例えば、ユーザに提供されるフィードバックは、任意の形式のセンシングフィードバック(例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバック)であってもよく、任意の形式(音響入力と、音声入力と、触覚入力とを含む)でユーザからの入力を受信することができる。
ここで説明されるシステム及び技術は、バックエンドユニットを含むコンピューティングシステム(例えば、データサーバとする)、又はミドルウェアユニットを含むコンピューティングシステム(例えば、アクティベーションサーバー)、又はフロントエンドユニットを含むコンピューティングシステム(例えば、グラフィカルユーザインターフェイス又はウェブブラウザを有するユーザコンピュータ、ユーザは、当該グラフィカルユーザインターフェイス又は当該ウェブブラウザによってここで説明されるシステム及び技術の実施方式とインタラクションする)、又はこのようなバックエンドユニットと、ミドルウェアユニットと、フロントエンドユニットの任意の組み合わせを含むコンピューティングシステムで実施することができる。任意の形式又は媒体のデジタルデータ通信(例えば、通信ネットワーク)によってシステムのユニットを相互に接続されることができる。通信ネットワークの例は、ローカルエリアネットワーク(LAN)と、ワイドエリアネットワーク(WAN)と、インターネットとを含む。
コンピュータシステムは、クライアントとサーバとを含むことができる。クライアントとサーバは、一般に、互いに離れており、通常に通信ネットワークを介してインタラクションする。対応するコンピュータ上で実行され、互いにクライアント-サーバ関係を有するコンピュータプログラムによってクライアントとサーバとの関係が生成される。
本出願の実施例の技術案によれば、まずカメラプレビューオープニングコマンドに応答して、CPUによって予め作成された描画面ウィンドウを呼び出して、カメラで収集された現在のデータフレームを取得し、次いで描画面ウィンドウを介して現在のデータフレームをそれに対応するプレビューテクスチャに変換し、そして現在のデータフレームに対応するプレビューテクスチャをGPUに送信し、GPUによって現在のデータフレームに対応するプレビューテクスチャを処理し、CPUによって処理されたプレビューテクスチャをADASに送信する。つまり、本出願は、描画面ウィンドウを予め作成し、予め作成された描画面ウィンドウを介して現在のデータフレームをそれに対応するプレビューテクスチャに変換し、これによりGPUで現在のデータフレームに対応するプレビューテクスチャを処理し、処理されたプレビューテクスチャをCPUによってADASに送信し、ADASによって処理されたプレビューテクスチャを識別及び検出することができる。既存の画像前処理方法において、通常、CPUによってカメラで収集されたデータを前処理し、その後ADASに送信して関連する画像認識とアルゴリズム処理を行い、このようにしてCPUがカメラデータに対する傍受を追加登録する必要がある。本出願は、GPUで現在のデータフレームに対応するプレビューテクスチャを処理し、処理されたプレビューテクスチャをADASに送信するという技術手段を採用するため、従来技術におけるCPUがカメラデータに対する傍受を追加登録する必要があるという技術問題を克服し、CPUがカメラデータに対する傍受を追加登録する必要がなく、画像前処理を実現し、CPUリソースを効果的に節約し、前処理速度を向上させるという技術効果を達成し、かつ、本出願の実施例の技術案は、実現が簡単で便利であり、普及しやすく、適用範囲が広い。
上記に示される様々な形式のフローを使用して、ステップを並べ替え、追加、又は削除することができることを理解されたい。例えば、本出願に記載されている各ステップは、並列に実行されてもよいし、順次的に実行されてもよいし、異なる順序で実行されてもよいが、本出願で開示されている技術案が所望の結果を実現することができれば、本明細書では限定されない。
上記の具体的な実施方式は、本出願に対する保護範囲の制限を構成するものではない。当業者は、設計要求と他の要因に応じて、様々な修正、組み合わせ、サブコンビネーション、及び代替を行うことができる。任意の本出願の精神と原則内で行われる修正、同等の置換、及び改善などは、いずれも本出願の保護範囲内に含まれなければならない。

Claims (17)

  1. 画像前処理方法であって、
    カメラプレビューオープニングコマンドに応答して、中央処理装置CPUによって予め作成された描画面ウィンドウを呼び出して、カメラで収集された現在のデータフレームを取得するステップと、
    描画面ウィンドウを介して前記現在のデータフレームをそれに対応するプレビューテクスチャに変換するステップと、
    前記現在のデータフレームに対応するプレビューテクスチャをグラフィックスプロセッサGPUに送信し、前記GPUによって前記現在のデータフレームに対応するプレビューテクスチャを処理し、前記CPUによって処理されたプレビューテクスチャを高度な運転支援システムADASに送信するステップと、
    を含む、
    ことを特徴とする画像前処理方法。
  2. 前記描画面ウィンドウを介して前記現在のデータフレームをそれに対応するプレビューテクスチャに変換するステップは、
    前記予め作成された描画面ウィンドウをプリセットタイプのテクスチャに関連するステップと、
    前記プリセットタイプのテクスチャに関連する描画面ウィンドウを介して、前記現在のデータフレームをそれに対応するプレビューテクスチャに変換するステップと、
    を含む、
    ことを特徴とする請求項1に記載の方法。
  3. 前記GPUによって前記現在のデータフレームに対応するプレビューテクスチャを処理するステップは、
    前記GPUによって予め設定されたシェーダを呼び出し、前記GPUが占有するストレージスペースで前記現在のデータフレームに対応するプレビューテクスチャの色を変換するステップ、または、前記GPUが占有するストレージスペースで前記現在のデータフレームに対応するプレビューテクスチャのピクセルフォーマットを変換するステップ、または、前記GPUが占有するストレージスペースで前記現在のデータフレームに対応するプレビューテクスチャのサイズをスケーリングするステップを含む、
    ことを特徴とする請求項1に記載の方法。
  4. 前記CPUによって処理されたプレビューテクスチャをADASに送信するステップは、
    予め設定されたグラフィックバッファによって前記処理されたプレビューテクスチャを前記GPUから前記CPUにコピーし、前記CPUによって前記処理されたプレビューテクスチャを前記ADASに送信するステップを含む、
    ことを特徴とする請求項1に記載の方法。
  5. ターゲット画面に関連付けられた予め作成されたコンポーネントによって、前記現在のデータフレームに対応するプレビューテクスチャを前記ターゲット画面に描画するステップをさらに含む、
    ことを特徴とする請求項1に記載の方法。
  6. ターゲット画面に関連付けられた予め作成されたコンポーネントによって、前記現在のデータフレームに対応するプレビューテクスチャを前記ターゲット画面に描画するステップは、
    前記ターゲット画面に関連付けられたコンポーネントにおける描画面ウィンドウを前記予め作成された描画面ウィンドウとして設定するステップと、
    その描画面ウィンドウを前記予め作成された描画面ウィンドウとして設定するコンポーネントによって、前記現在のデータフレームに対応するプレビューテクスチャを前記ターゲット画面に描画するステップと、
    を含む、
    ことを特徴とする請求項5に記載の方法。
  7. 前記CPUによって予め作成された描画面ウィンドウを呼び出して、カメラで収集された現在のデータフレームを取得する前に、
    スレッド作成関数を呼び出すことにより、グラフィックスライブラリスレッドを作成し、前記グラフィックスライブラリスレッドによってオープン関数を呼び出して前記グラフィックスライブラリスレッドのオープングラフィックスライブラリのウィンドウ管理環境を配置するステップと、
    前記オープングラフィックスライブラリのウィンドウ管理環境を配置するグラフィックスライブラリスレッドでカメラプレビューのための描画面ウィンドウを作成して前記予め作成された描画面ウィンドウとするステップと、
    をさらに含む、
    ことを特徴とする請求項1に記載の方法。
  8. 画像前処理装置であって、
    取得モジュールと、変換モジュールと、前処理モジュールと、を含み、
    前記取得モジュールは、カメラプレビューオープニングコマンドに応答して、中央処理装置CPUによって予め作成された描画面ウィンドウを呼び出して、カメラで収集された現在のデータフレームを取得することに用いられ、
    前記変換モジュールは、描画面ウィンドウを介して前記現在のデータフレームをそれに対応するプレビューテクスチャに変換することに用いられ、
    前記前処理モジュールは、前記現在のデータフレームに対応するプレビューテクスチャをグラフィックスプロセッサGPUに送信し、前記GPUによって前記現在のデータフレームに対応するプレビューテクスチャを処理し、前記CPUによって処理されたプレビューテクスチャをADASに送信することに用いられる、
    ことを特徴とする画像前処理装置。
  9. 前記変換モジュールは、具体的に、前記予め作成された描画面ウィンドウをプリセットタイプのテクスチャに関連し、前記プリセットタイプのテクスチャに関連する描画面ウィンドウを介して、前記現在のデータフレームをそれに対応するプレビューテクスチャに変換することに用いられる、
    ことを特徴とする請求項8に記載の装置。
  10. 前記前処理モジュールは、具体的に、前記GPUによって予め設定されたシェーダを呼び出し、前記GPUが占有するストレージスペースで前記現在のデータフレームに対応するプレビューテクスチャの色を変換する、または、前記GPUが占有するストレージスペースで前記現在のデータフレームに対応するプレビューテクスチャのピクセルフォーマットを変換する、または、前記GPUが占有するストレージスペースで前記現在のデータフレームに対応するプレビューテクスチャのサイズをスケーリングすることに用いられる、
    ことを特徴とする請求項8に記載の装置。
  11. 前記前処理モジュールは、具体的に、予め設定されたグラフィックバッファによって前記処理されたプレビューテクスチャを前記GPUから前記CPUにコピーし、前記CPUによって前記処理されたプレビューテクスチャを前記ADASに送信することに用いられる、
    ことを特徴とする請求項8に記載の装置。
  12. ターゲット画面に関連付けられた予め作成されたコンポーネントによって、前記現在のデータフレームに対応するプレビューテクスチャを前記ターゲット画面に描画するための描画モジュールをさらに含む、
    ことを特徴とする請求項8に記載の装置。
  13. 前記描画モジュールは、具体的に、前記ターゲット画面に関連付けられたコンポーネントにおける描画面ウィンドウを前記予め作成された描画面ウィンドウとして設定し、
    その描画面ウィンドウを前記予め作成された描画面ウィンドウとして設定するコンポーネントによって、前記現在のデータフレームに対応するプレビューテクスチャを前記ターゲット画面に描画することに用いられる、
    ことを特徴とする請求項12に記載の装置。
  14. 前記取得モジュールは、スレッド作成関数を呼び出すことにより、グラフィックスライブラリスレッドを作成し、前記グラフィックスライブラリスレッドによってオープン関数を呼び出して前記グラフィックスライブラリスレッドのオープングラフィックスライブラリのウィンドウ管理環境を配置し、前記オープングラフィックスライブラリのウィンドウ管理環境を配置するグラフィックスライブラリスレッドでカメラプレビューのための描画面ウィンドウを作成して前記予め作成された描画面ウィンドウとすることにさらに用いられる、
    ことを特徴とする請求項8に記載の装置。
  15. 電子機器であって、
    少なくとも一つのプロセッサと、
    前記少なくとも一つのプロセッサと通信可能に接続されるメモリと、を含み、
    前記メモリには、前記少なくとも一つのプロセッサによって実行可能な命令が記憶されており、前記命令が前記少なくとも一つのプロセッサによって実行される場合、前記少なくとも一つのプロセッサが請求項1〜7のいずれかに記載の方法を実行する、
    ことを特徴とする電子機器。
  16. コンピュータ命令が記憶されている非一時的なコンピュータ読み取り可能な記憶媒体であって、
    前記コンピュータ命令が実行される場合、請求項1〜7のいずれかに記載の方法が実行される、
    ことを特徴とする非一時的なコンピュータ読み取り可能な記憶媒体。
  17. コンピュータプログラムであって、
    前記コンピュータプログラムにおける命令が実行された場合に、請求項1〜7のいずれかに記載の方法が実行される、
    ことを特徴とするコンピュータプログラム。
JP2021044072A 2020-05-29 2021-03-17 画像前処理方法、装置、電子機器及び記憶媒体 Active JP7160495B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010476471.5A CN111614906B (zh) 2020-05-29 2020-05-29 一种图像预处理方法、装置、电子设备及存储介质
CN202010476471.5 2020-05-29

Publications (2)

Publication Number Publication Date
JP2021190098A true JP2021190098A (ja) 2021-12-13
JP7160495B2 JP7160495B2 (ja) 2022-10-25

Family

ID=72198930

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021044072A Active JP7160495B2 (ja) 2020-05-29 2021-03-17 画像前処理方法、装置、電子機器及び記憶媒体

Country Status (4)

Country Link
US (1) US11593908B2 (ja)
EP (1) EP3832590A3 (ja)
JP (1) JP7160495B2 (ja)
CN (1) CN111614906B (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113240577B (zh) * 2021-05-13 2024-03-15 北京达佳互联信息技术有限公司 一种图像生成方法、装置、电子设备及存储介质
CN116938901A (zh) * 2022-04-01 2023-10-24 中国移动通信有限公司研究院 数据传输方法、装置、电子设备及可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017507398A (ja) * 2014-01-06 2017-03-16 ジョンソン コントロールズ テクノロジー カンパニーJohnson Controls Technology Company 複数のユーザインターフェース動作ドメインを有する車両
JP2018514855A (ja) * 2015-03-31 2018-06-07 クゥアルコム・インコーポレイテッドQualcomm Incorporated ハイブリッド2d/3dグラフィックスレンダリング
US20180225846A1 (en) * 2017-02-06 2018-08-09 Vault Micro, Inc. Method of converting data format

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2927046A1 (en) * 2016-04-12 2017-10-12 11 Motion Pictures Limited Method and system for 360 degree head-mounted display monitoring between software program modules using video or image texture sharing
US20180033114A1 (en) * 2016-07-26 2018-02-01 Mediatek Inc. Graphics Pipeline That Supports Multiple Concurrent Processes
CN106534880A (zh) * 2016-11-28 2017-03-22 深圳Tcl数字技术有限公司 视频合成方法及装置
CN107277616A (zh) * 2017-07-21 2017-10-20 广州爱拍网络科技有限公司 视频特效渲染方法、装置及终端
CN108427499A (zh) * 2018-02-13 2018-08-21 视辰信息科技(上海)有限公司 一种ar系统及ar设备
US20210192287A1 (en) * 2019-12-18 2021-06-24 Nvidia Corporation Master transform architecture for deep learning
CN111079669A (zh) * 2019-12-20 2020-04-28 京东方科技集团股份有限公司 一种图像处理方法、装置及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017507398A (ja) * 2014-01-06 2017-03-16 ジョンソン コントロールズ テクノロジー カンパニーJohnson Controls Technology Company 複数のユーザインターフェース動作ドメインを有する車両
JP2018514855A (ja) * 2015-03-31 2018-06-07 クゥアルコム・インコーポレイテッドQualcomm Incorporated ハイブリッド2d/3dグラフィックスレンダリング
US20180225846A1 (en) * 2017-02-06 2018-08-09 Vault Micro, Inc. Method of converting data format

Also Published As

Publication number Publication date
JP7160495B2 (ja) 2022-10-25
EP3832590A3 (en) 2021-10-20
US11593908B2 (en) 2023-02-28
CN111614906B (zh) 2022-02-22
US20210209721A1 (en) 2021-07-08
EP3832590A2 (en) 2021-06-09
CN111614906A (zh) 2020-09-01

Similar Documents

Publication Publication Date Title
US10614549B2 (en) Varying effective resolution by screen location by changing active color sample count within multiple render targets
CN111033570B (zh) 使用两个渲染计算装置从计算机图形渲染图像
US9928637B1 (en) Managing rendering targets for graphics processing units
CN110989878B (zh) 小程序中的动画展示方法、装置、电子设备及存储介质
US10776997B2 (en) Rendering an image from computer graphics using two rendering computing devices
WO2012117729A1 (ja) 追体験映像を提供することができる映像提供装置、映像提供方法、映像提供プログラム
CN111679738B (zh) 一种屏幕切换方法、装置、电子设备及存储介质
US11403121B2 (en) Streaming per-pixel transparency information using transparency-agnostic video codecs
CN113244614B (zh) 图像画面展示方法、装置、设备及存储介质
JP7160495B2 (ja) 画像前処理方法、装置、電子機器及び記憶媒体
CN111768356A (zh) 一种人脸图像融合方法、装置、电子设备及存储介质
WO2023207001A1 (zh) 图像渲染方法、装置、电子设备及存储介质
CN116821040B (zh) 基于gpu直接存储器访问的显示加速方法、装置及介质
US10237563B2 (en) System and method for controlling video encoding using content information
CN1924794B (zh) 数字文件处理系统、数据处理系统和外围设备
CN115546410A (zh) 窗口展示方法、装置、电子设备及存储介质
WO2023051590A1 (zh) 一种渲染格式选择方法及其相关设备
CN115391692A (zh) 视频处理方法和装置
CN115705668A (zh) 一种视图绘制的方法、装置及存储介质
KR20220164484A (ko) 섀도우 정보를 이용한 렌더링
CN116095250B (zh) 用于视频裁剪的方法和装置
WO2022135050A1 (zh) 渲染方法、设备以及系统
CN117611723A (zh) 显示信息的处理方法及设备
CN116912093A (zh) 画面的渲染方法、装置、电子设备和存储介质
CN116018807A (zh) 图像空间函数传输

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210317

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210607

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20211101

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220411

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220704

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220906

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

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20220916

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20220927

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221011

R150 Certificate of patent or registration of utility model

Ref document number: 7160495

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150