KR20220128588A - 전자 장치, 전자 장치의 제어 방법, 컴퓨터 프로그램 및 컴퓨터 판독 가능한 기록 매체 - Google Patents

전자 장치, 전자 장치의 제어 방법, 컴퓨터 프로그램 및 컴퓨터 판독 가능한 기록 매체 Download PDF

Info

Publication number
KR20220128588A
KR20220128588A KR1020220030865A KR20220030865A KR20220128588A KR 20220128588 A KR20220128588 A KR 20220128588A KR 1020220030865 A KR1020220030865 A KR 1020220030865A KR 20220030865 A KR20220030865 A KR 20220030865A KR 20220128588 A KR20220128588 A KR 20220128588A
Authority
KR
South Korea
Prior art keywords
parking
vehicle
parking lot
information
data
Prior art date
Application number
KR1020220030865A
Other languages
English (en)
Inventor
박지오
Original Assignee
박지오
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 박지오 filed Critical 박지오
Publication of KR20220128588A publication Critical patent/KR20220128588A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • G06V20/586Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads of parking space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/30Transportation; Communications
    • G06Q50/40
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/62Text, e.g. of license plates, overlay texts or captions on TV images
    • G06V20/625License plates
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/14Traffic control systems for road vehicles indicating individual free spaces in parking areas
    • G08G1/141Traffic control systems for road vehicles indicating individual free spaces in parking areas with means giving the indication of available parking spaces
    • G08G1/143Traffic control systems for road vehicles indicating individual free spaces in parking areas with means giving the indication of available parking spaces inside the vehicles
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/14Traffic control systems for road vehicles indicating individual free spaces in parking areas
    • G08G1/141Traffic control systems for road vehicles indicating individual free spaces in parking areas with means giving the indication of available parking spaces
    • G08G1/144Traffic control systems for road vehicles indicating individual free spaces in parking areas with means giving the indication of available parking spaces on portable or mobile units, e.g. personal digital assistant [PDA]
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/16Anti-collision systems
    • G08G1/168Driving aids for parking, e.g. acoustic or visual feedback on parking space
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]

Abstract

본 발명은 서버의 주차장 안내 서비스 제공 방법이 개시된다. 본 방법은 차량에 구비된 차량용 영상 촬영 장치로부터 주차장 내 주차 공간의 정보를 포함하는 주차장 데이터를 수신하는 단계, 수신된 주차장 데이터를 기초로 주차장의 실시간 주차 상황을 이미지로 나타내는 주차장 모델을 생성하는 단계 및 생성된 주차장 모델을 이용하여 사용자 단말 장치에 주차장 안내 서비스를 제공하는 단계를 포함한다.

Description

전자 장치, 전자 장치의 제어 방법, 컴퓨터 프로그램 및 컴퓨터 판독 가능한 기록 매체{Electronic apparatus, control method of electronic apparatus, computer program, and computer-readable recording medium}
아래의 설명들은 자율 주행/자율 비행을 위한 전자 장치, 전자 장치의 제어 방법, 컴퓨터 프로그램 및 컴퓨터 판독 가능한 기록 매체에 관한 것이다.
컴퓨팅 파워의 증가와 무선 통신 기술과 영상 처리 기술의 발달로, 육상과 공중에서 승객/화물을 운반하던 운송 패러다임에 변화가 생기고 있다. 그에 따라 육상과 공중에서 운전자(driver)/파일럿(Pilot)의 개입없이 자율 주행/자율 비행을 수행하기 위한 많은 연구와 기술 개발이 다양한 기술 분야에서 이루어지고 있다.
먼저, 자율 주행이란, 운전자 또는 승객의 사용자 입력 없이, 차량을 주행하는 것을 의미한다. 이러한 자율 주행은, 운전자 또는 승객이 주행 환경을 모니터링하는 레벨들과 차량과 관련된 자율 주행 시스템이 주행 환경을 모니터링하는 레벨들로 분류될 수 있다. 예를 들면, 운전자 또는 승객이 주행 환경을 모니터링하는 레벨들은, 차량 내에서 조향 지원 시스템 또는 가속/감속 지원 시스템이 실행되지만, 운전자가 차량의 동적 주행에 대한 모든 기능을 수행하는 단계에 해당하는 레벨 1(운전자 지원 레벨, drive assistance level) 및 차량 내에서 조향 지원 시스템 또는 가속/감속 지원 시스템이 실행되지만, 주행 환경의 모니터링은 운전자의 조작에 의해 수행되는 레벨 2(부분 자동화 레벨, partial automation level)를 포함한다. 예를 들면, 차량과 관련된 자율 주행 시스템이 주행 환경을 모니터링하는 레벨들은, 상기 자율 주행 시스템이 주행과 관련된 조작의 모든 측면을 제어하지만, 상기 자율 주행 시스템이 운전자의 개입을 요청하면 상기 운전자가 상기 차량을 제어하여야 하는 레벨 3(조건부 자동화 레벨, conditional automation level), 차량과 관련된 자율 주행 시스템이 주행에 대한 핵심 제어, 주행 환경 모니터링, 및 비상(emergency) 시의 대처 등을 모두 수행하지만, 운전자가 부분적으로 개입하는 것을 요구하는 레벨 4(고도 자동화 레벨, high automation level), 및 모든 도로 조건과 환경에서 차량과 관련된 자율 주행 시스템이 항상 주행을 수행하는 레벨 5(완전 자동화 레벨, full automation)을 포함한다.
그러나, 자율 주행이 발달하더라도 도심의 인구 증가 및 교통 체증 증가로 인하여 지상 또는 지하 상으로 운행되는 모빌리티를 통한 사람 운송 또는 화물 운반에 여전히 많은 한계가 존재할 것이며, 그에 따라 도심에서 항공(AIR) 모빌리티를 통해 사람 또는 화물을 운반하기 위한 기술 개발에 많은 관심이 쏠리고 있다.
본 발명은 차량과 같은 모빌리티의 자율 주행을 위한 컴퓨팅 파워의 발전과 머신 러닝 기법의 발전에 따라, 카메라를 통해 획득된 비전 데이터와 획득된 운전자 조작 데이터를 이용하여 차량의 자율 주행을 위한 학습 데이터를 갱신하고, 갱신된 학습 데이터를 이용하여 차량의 자율 주행 기능을 제공하는 전자 장치, 방법 및 시스템을 제시하고자 한다.
본 발명은 상술한 필요성에 따라 안출된 것으로, 본 발명의 목적은 차량용 영상 촬영 장치로부터 촬영된 영상을 이용하여 주차장에 대한 실시간 상황을 이미지로 나타내는 주차장 모델을 생성하고, 생성된 주차장 모델을 기초로 사용자의 단말 장치에 주차장 안내 서비스를 제공하는 것을 목적으로 한다.
본 발명은 차량의 자동 주차 기능과 주차된 차량의 호출 서비스를 제공하기 위한 전자 장치, 방법 및 시스템을 제시하고자 한다.
본 발명은 차량의 안전한 주행을 위한 차량 통신 서비스를 제공하기 위한 전자 장치, 방법 및 시스템을 제시하고자 한다.
본 발명은 도심 항공 모빌리티 구조, 도심 항공 모빌리티 운용 방식, 도심 항공 모빌리티 관제 방법 등에 대한 개념을 제시하고자 한다.
상술한 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 차량용 영상 촬영 장치의 주차장 안내 서비스 제공 방법은 촬영에 따른 주차장 영상을 획득하는 단계, 상기 주차장 영상을 이용하여 주차장 내 주차 공간의 정보를 포함하는 주차장 데이터를 생성하는 단계 및 상기 생성된 주차장 데이터를 주차장 안내 서비스 제공 서버에 전송하는 단계를 포함하고, 상기 주차장 데이터는 상기 주차장 안내 서비스 제공 서버에서 서비스 제공을 위한 주차장 모델을 생성하는데 이용될 수 있다.
그리고, 상기 주차장 데이터를 생성하는 단계는, 상기 주차장 영상으로부터 상기 주차장 내 주차 공간의 위치를 식별 가능하게 하는 위치 식별자 및 상기 주차 공간에 주차된 주차 차량을 인식하는 단계, 상기 인식된 위치 식별자를 기초로 상기 주차 공간의 위치 정보를 생성하는 단계 및 상기 인식된 주차 차량의 위치에 따라 상기 주차 공간에 포함된 주차칸의 주차 여부 정보를 생성하는 단계를 포함할 수 있다.
또한, 상기 주차장 데이터를 생성하는 단계는, 상기 인식된 주차 차량에 대한 차량의 종류 정보 및 차량 번호 정보 중 적어도 하나를 포함하는 주차 차량 정보를 생성하는 단계를 더 포함하고, 상기 주차 차량 정보는 주차 공간을 구성하는 복수의 주차칸 별로 분류되어 생성될 수 있다.
그리고, 상기 주차 공간에 포함된 주차칸에서 주차 차량이 출차하거나 또는 타 차량이 상기 주차 공간에 포함된 주차칸에 입차함에 따른 상기 주차장 영상의 변화를 감지하여 주차장 데이터의 업데이트 필요 여부를 판단하는 단계를 더 포함할 수 있다.
또한, 자차의 주변에서 주차 중인 주차 차량의 충격 이벤트 발생 여부를 판단하는 단계, 상기 주차 차량에 충격 이벤트가 발생한 것으로 판단되면, 상기 주차장 데이터를 업데이트하는 단계 및 상기 업데이트된 주차장 데이터를 상기 주차장 안내 서비스 제공 서버로 전송하는 단계를 더 포함하고, 상기 업데이트된 주차장 데이터는 상기 충격 이벤트 발생 시점의 소정 시간 전 및 후의 데이터를 포함할 수 있다.
한편, 상술한 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 차량용 영상 촬영 장치는 통신부, 촬영에 따른 주차장 영상을 획득하는 촬영부, 상기 주차장 영상을 이용하여 주차장 내 주차 공간의 정보를 포함하는 주차장 데이터를 생성하는 주차장 데이터 생성부, 및 상기 생성된 주차장 데이터를 주차장 안내 서비스 제공 서버에 전송하도록 상기 통신부를 제어하는 제어부를 포함하고, 상기 주차장 데이터는 상기 주차장 안내 서비스 제공 서버에서 서비스 제공을 위한 주차장 모델을 생성하는데 이용될 수 있다.
그리고, 상기 주차장 데이터 생성부는, 상기 주차장 영상으로부터 상기 주차장 내 주차 공간의 위치를 식별 가능하게 하는 위치 식별자 및 상기 주차 공간에 주차된 주차 차량을 인식하는 이미지 처리부 및 상기 인식된 위치 식별자를 기초로 상기 주차 공간의 위치 정보를 생성하고, 상기 인식된 주차 차량의 위치에 따라 상기 주차 공간에 포함된 주차칸의 주차 여부 정보를 생성하는 주차 공간 정보 생성부를 포함할 수 있다.
또한, 상기 주차장 데이터 생성부는, 상기 인식된 주차 차량에 대한 차량의 종류 정보 및 차량 번호 정보 중 적어도 하나를 포함하는 주차 차량 정보를 생성하는 주차 차량 정보 생성부를 더 포함하고, 상기 주차 차량 정보는 주차 공간을 구성하는 복수의 주차칸 별로 분류되어 생성될 수 있다.
그리고, 상기 제어부는, 상기 주차 공간에 포함된 주차칸에서 주차 차량이 출차하거나 또는 타 차량이 상기 주차 공간에 포함된 주차칸에 입차함에 따른 상기 주차장 영상의 변화를 감지하여 주차장 데이터의 업데이트 필요 여부를 판단할 수 있다.
또한, 상기 제어부는, 자차의 주변에서 주차 중인 주차 차량의 충격 이벤트 발생 여부를 판단하고, 상기 주차 차량에 충격 이벤트가 발생한 것으로 판단되면 상기 주차장 데이터를 업데이트하도록 상기 주자창 데이터 생성부를 제어하고, 상기 업데이트된 주차장 데이터를 상기 주차장 안내 서비스 제공 서버로 전송하도록 상기 통신부를 제어하며, 상기 업데이트된 주차장 데이터는 상기 충격 이벤트 발생 시점의 소정 시간 전 및 후의 데이터를 포함할 수 있다.
한편, 상술한 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 서버의 주차장 안내 서비스 제공 방법은 차량에 구비된 차량용 영상 촬영 장치로부터 주차장 내 주차 공간의 정보를 포함하는 주차장 데이터를 수신하는 단계, 상기 수신된 주차장 데이터를 기초로 상기 주차장의 실시간 주차 상황을 이미지로 나타내는 주차장 모델을 생성하는 단계 및 상기 생성된 주차장 모델을 이용하여 사용자 단말 장치에 주차장 안내 서비스를 제공하는 단계를 포함한다.
그리고, 상기 주차 공간의 정보는 상기 주차 공간의 위치 정보 및 상기 주차 공간을 구성하는 주차칸의 주차 여부 정보를 포함하고, 상기 주차장 모델을 생성하는 단계는, 상기 주차 공간의 위치 정보를 기초로 상기 주차장에서 상기 주차 공간의 위치를 판단하는 단계, 상기 주차칸의 주차 여부 정보를 기초로 상기 주차칸에 차량 모델을 배치할지 여부를 판단하는 단계 및 상기 판단 결과에 따라 상기 주차칸에 상기 차량 모델을 배치한 주차장 모델을 생성하는 단계를 포함할 수 있다.
또한, 상기 주차장 데이터는 주차 차량의 종류 정보 및 주차 차량의 번호 정보 중 적어도 하나를 포함하는 주차 차량 정보를 포함하고, 상기 주차장 모델을 생성하는 단계는, 상기 주차 차량 정보를 기초로 번호판 및 차량 종류 중 적어도 하나를 반영한 차량 모델을 생성하는 단계를 더 포함할 수 있다.
그리고, 상기 생성된 주차장 모델은 3D 형상의 모델일 수 있다.
또한, 상기 생성된 주차장 모델을 업데이트하는 단계를 더 포함하고, 상기 업데이트 하는 단계는 기 생성된 주차장 모델과 이 후 생성된 주차장 모델 간의 차이 부분만을 추출하고, 상기 추출된 차이 부분만을 반영하여 상기 주차장 모델의 업데이트를 수행할 수 있다.
그리고, 상기 주차장 안내 서비스를 제공하는 단계는, 상기 서버에 접속한 사용자 단말 장치 사용자의 차량이 주차된 주차장에 대응되는 상기 주차장 모델 및 상기 주차장 데이터를 검출하는 단계 및 상기 검출된 주차장 모델 및 상기 주차장 데이터를 이용하여 주차 가능 위치 안내 서비스, 차량 주차 위치 안내 서비스 및 주차장 경로 안내 서비스 중 적어도 하나를 상기 사용자 단말 장치에 제공하는 단계를 포함할 수 있다.
또한, 상기 주차장 안내 서비스를 제공하는 단계는, 주차장에 주차된 제1 차량에 충격 이벤트가 발생한 경우, 상기 제1 차량 주변에 위치한 제2 차량의 차량용 영상 촬영 장치에 제1 차량 충격 이벤트 발생 알림을 전송하는 단계, 상기 알림에 따라 제2 차량의 차량용 영상 촬영 장치로부터 주차 데이터를 수신하는 단계, 상기 제2 차량의 차량용 영상 촬영 장치로부터 주차 데이터를 기초로 상기 제1 차량의 충격 상황에 대한 충격 정보를 생성하는 단계 및 상기 생성된 충격 정보를 기초로 주차 충격 이벤트 안내 서비스를 제공하는 단계를 포함할 수 있다.
한편, 상술한 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 주차장 안내 서비스 제공 서버는 차량에 구비된 차량용 영상 촬영 장치로부터 주차장 내 주차 공간의 정보를 포함하는 주차장 데이터를 수신하는 통신부, 상기 수신된 주차장 데이터를 기초로 상기 주차장의 실시간 주차 상황을 이미지로 나타내는 주차장 모델을 생성하는 주차장 모델 생성부 및 상기 생성된 주차장 모델을 이용하여 사용자 단말 장치에 주차장 안내 서비스를 제공하는 제어부를 포함한다.
그리고, 상기 주차 공간의 정보는 상기 주차 공간의 위치 정보 및 상기 주차 공간을 구성하는 주차칸의 주차 여부 정보를 포함하고, 상기 주차장 모델 생성부는, 상기 주차 공간의 위치 정보를 기초로 상기 주차장에서 상기 주차 공간의 위치를 판단하고, 상기 주차칸의 주차 여부 정보를 기초로 상기 주차칸에 차량 모델을 배치할지 여부를 판단하며, 상기 판단 결과에 따라 상기 주차칸에 상기 차량 모델을 배치한 주차장 모델을 생성할 수 있다.
또한, 상기 주차장 데이터는 주차 차량의 종류 정보 및 주차 차량의 번호 정보 중 적어도 하나를 포함하는 주차 차량 정보를 포함하고, 상기 주차장 모델 생성부는, 상기 주차 차량 정보를 기초로 번호판 및 차량 종류 중 적어도 하나를 반영한 차량 모델을 생성할 수 있다.
그리고, 상기 생성된 주차장 모델은 3D 형상의 모델일 수 있다.
또한, 상기 주차장 모델 생성부는, 기 생성된 주차장 모델과 이 후 생성된 주차장 모델 간의 차이 부분만을 추출하고, 상기 추출된 차이 부분만을 반영하여 상기 주차장 모델의 업데이트를 수행할 수 있다.
그리고, 상기 제어부는, 상기 서버에 접속한 사용자 단말 장치 사용자의 차량이 주차된 주차장에 대응되는 상기 주차장 모델 및 상기 주차장 데이터를 검출하고, 상기 검출된 주차장 모델 및 상기 주차장 데이터를 이용하여 주차 가능 위치 안내 서비스, 차량 주차 위치 안내 서비스 및 주차장 경로 안내 서비스 중 적어도 하나를 상기 사용자 단말 장치에 제공할 수 있다.
또한, 상기 통신부는, 주차장에 주차된 제1 차량에 충격 이벤트가 발생한 경우, 상기 제1 차량 주변에 위치한 제2 차량의 차량용 영상 촬영 장치에 제1 차량 충격 이벤트 발생 알림을 전송하고, 상기 알림에 따라 제2 차량의 차량용 영상 촬영 장치로부터 주차 데이터를 수신하며, 상기 제어부는, 상기 제2 차량의 차량용 영상 촬영 장치로부터 주차장 데이터를 기초로 상기 제1 차량의 충격 상황에 대한 충격 정보를 생성하고, 상기 생성된 충격 정보를 기초로 주차 충격 이벤트 안내 서비스를 제공할 수 있다.
한편, 상술한 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 사용자 단말 장치의 주차장 안내 서비스 제공 방법은 차량용 영상 촬영 장치를 기반으로 주차장 안내 서비스를 제공하는 주차장 안내 서비스 제공 서버에 접속하는 단계, 상기 주차장 안내 서비스 제공 서버로부터 주차장의 실시간 주차 상황을 이미지로 나타내는 주차장 모델 및 주차장 데이터를 수신하는 단계 및 상기 수신된 주차장 모델 및 주차장 데이터를 기초로 유저 인터페이스를 생성하고, 상기 생성된 유저 인터페이스를 표시하는 단계를 포함하고, 상기 유저 인터페이스는 주차 가능 위치 안내 유저 인터페이스, 차량 주차 위치 안내 유저 인터페이스, 주차장 경로 안내 유저 인터페이스 및 주차 충격 이벤트 안내 유저 인터페이스 중 적어도 하나를 포함할 수 있다.
그리고, 상기 주차 가능 위치 안내 유저 인터페이스는, 상기 주차장 데이터를 기초로 상기 사용자 단말 장치가 위치한 주차장의 주차 가능 위치 정보를 상기 주차장 모델에 표시하는 인터페이스일 수 있다.
또한, 상기 주차장 경로 안내 유저 인터페이스는, 사용자의 주차 위치 정보와 상기 사용자 단말 장치의 주차장 내 위치 정보를 기초로 사용자의 현재 위치에서 주차 위치까지의 경로를 상기 주차장 모델에 표시하는 인터페이스일 수 있다.
그리고, 상기 차량 주차 위치 안내 유저 인터페이스는, 상기 주차장 데이터를 기초로 사용자의 주차 위치 정보를 상기 주차장 모델에 표시하는 인터페이스일 수 있다.
또한, 상기 주차 충격 이벤트 안내 유저 인터페이스는, 타 차량에 구비된 차량용 영상 촬영 장치의 주차장 데이터를 기초로 생성된 충격 상황에 대한 충격 정보를 상기 주차장 모델에 표시하는 인터페이스일 수 있다.
한편, 상술한 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 사용자 단말 장치는 디스플레이부, 차량용 영상 촬영 장치를 기반으로 주차장 안내 서비스를 제공하는 주차장 안내 서비스 제공 서버에 접속하고, 상기 주차장 안내 서비스 제공 서버로부터 주차장의 실시간 주차 상황을 이미지로 나타내는 주차장 모델 및 주차장 데이터를 수신하는 통신부, 및 상기 수신된 주차장 모델 및 주차장 데이터를 기초로 유저 인터페이스를 생성하고, 상기 생성된 유저 인터페이스를 표시하도록 상기 디스플레이부를 제어하는 제어부를 포함하고, 상기 유저 인터페이스는 주차 가능 위치 안내 유저 인터페이스, 차량 주차 위치 안내 유저 인터페이스, 주차장 경로 안내 유저 인터페이스 및 주차 충격 이벤트 안내 유저 인터페이스 중 적어도 하나를 포함할 수 있다.
그리고, 상기 주차 가능 위치 안내 유저 인터페이스는, 상기 주차장 데이터를 기초로 상기 사용자 단말 장치가 위치한 주차장의 주차 가능 위치 정보를 상기 주차장 모델에 표시하는 인터페이스일 수 있다.
또한, 상기 주차장 경로 안내 유저 인터페이스는, 사용자의 주차 위치 정보와 상기 사용자 단말 장치의 주차장 내 위치 정보를 기초로 사용자의 현재 위치에서 주차 위치까지의 경로를 상기 주차장 모델에 표시하는 인터페이스일 수 있다.
그리고, 상기 차량 주차 위치 안내 유저 인터페이스는, 상기 주차장 데이터를 기초로 사용자의 주차 위치 정보를 상기 주차장 모델에 표시하는 인터페이스일 수 있다.
또한, 상기 주차 충격 이벤트 안내 유저 인터페이스는, 타 차량에 구비된 차량용 영상 촬영 장치의 주차장 데이터를 기초로 생성된 충격 상황에 대한 충격 정보를 상기 주차장 모델에 표시하는 인터페이스일 수 있다.
한편, 상술한 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 컴퓨터 판독 가능한 기록 매체는 상술한 주차장 안내 서비스 제공 방법을 실행하기 위한 프로그램이 기록될 수 있다.
또한, 상술한 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 기록 매체에 저장된 프로그램은 상술한 주차장 안내 서비스 제공 방법을 실행하기 위한 프로그램 코드를 포함할 수 있다.
다양한 실시 예들에 따른 전자 장치, 방법, 및 컴퓨터 판독 가능 저장 매체는, 자율 주행 해제 이벤트가 발생한 시점에 획득된 정보를 자율 주행을 위한 학습 데이터로 사용함으로써, 자율 주행 차량을 위한 딥 러닝 모델의 성능을 향상시킬 수 있다.
다양한 실시 예들에 따른 전자 장치, 방법, 및 컴퓨터 판독 가능 저장 매체는, 차량의 자동 주차 기능과 주차된 차량의 호출 서비스를 사용자에게 효율적으로 제공할 수 있다.
다양한 실시 예들에 따른 전자 장치, 방법, 및 컴퓨터 판독 가능 저장 매체는, 차량의 안전한 주행을 위한 차량 통신 서비스를 높은 보안성을 갖도록 제공할 수 있다.
다양한 실시 예들에 따른 전자 장치, 방법, 및 컴퓨터 판독 저장 매체는, 안전한 도심 항공 모빌리티 구조, 안전한 도심 항공 모빌리티 운용 방식 및 도심 항공 모빌리티 관제 방법을 제공할 수 있다.
본 개시에서 얻을 수 있는 효과는 상술한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시 예에 따른 주차장 안내 서비스 시스템을 나타내는 블록도 이다.
도 2는 본 발명의 일 실시 예에 따른 차량용 영상 촬영 장치를 나타내는 블록도 이다.
도 3은 본 발명의 일 실시 예에 따른 주차장 데이터 생성부를 보다 구체적으로 나타내는 블록도 이다.
도 4는 본 발명의 일 실시 예에 따른 신경망의 구성을 나타낸 도면 이다.
도 5는 본 발명의 일 실시 예에 따른 주차장 영상을 나타낸 도면 이다.
도 6은 본 발명의 일 실시 예에 따른 주차장 안내 서비스 제공 서버를 나타내는 블록도 이다.
도 7은 본 발명의 일 실시 예에 따른 주차장 모델을 나타낸 도면 이다.
도 8은 본 발명의 일 실시 예에 따른 주차 충격 이벤트 발생 상황을 나타낸 예시도 이다.
도 9는 본 발명의 일 실시 예에 따른 사용자 단말 장치를 나타내는 블록도 이다.
도 10은 본 발명의 일 실시 예에 따른 주차장 안내 서비스 제공 방법을 나타내는 타이밍도 이다.
도 11은 본 발명의 다른 실시 예에 따른 주차장 안내 서비스 제공 방법을 나타내는 타이밍도 이다.
도 12 및 도 13은 본 발명의 일 실시 예에 따른 유저 인터페이스를 나타낸 도면 이다.
도 14는 본 발명의 또 다른 실시 예에 따른 주차장 결제 서비스 제공 방법을 나타내는 타이밍도 이다.
도 15는 본 발명의 일 실시 예에 따른 차량의 자율 주행 시스템을 도시하는 블록도 이다.
도 16은 본 발명의 다른 실시 예에 따른 자율 주행 시스템의 블록 구성도 이다.
도 17은 본 발명의 다른 실시 예에 따른 사용자 단말 장치의 블록 구성도 이다.
도 18은 본 발명의 다른 실시 예에 따른 서비스 제공 서버의 블록 구성도 이다.
도 19는 본 발명의 다른 실시 예에 따른 자율 주차 시스템의 동작 흐름을 설명하기 위한 도면 이다.
도 20은 본 발명의 다른 실시 예에 따른 사용자 단말 장치의 자율 주차 동작 흐름을 설명하기 위한 도면 이다.
도 21은 본 발명의 다른 실시 예에 따른 서비스 제공 서버의 자율 주차 동작 흐름을 설명하기 위한 도면 이다.
도 22는 본 발명의 다른 실시 예에 따른 자율 주행 시스템의 차량 호출 또는 승객 픽업 서비스를 제공하기 위한 동작 흐름을 설명하기 위한 도면 이다.
도 23은 본 발명의 다른 실시 예에 따라 차량의 자율 주행 시스템이 자율 주차를 수행하는 과정을 설명하기 위한 도면 이다.
도 24는 본 발명의 다른 실시 예에 따라 차량의 자율 주차 시스템이 자율 주차를 수행하는 경우의 사용자 단말 장치에 표시되는 UX 화면을 도시한 도면 이다.
도 25는 본 발명의 다른 실시 예에 따라 차량의 자율 주차 서비스/차량 호출 서비스를 이용한 사용자의 사용자 단말 장치에 표시되는 푸쉬 알림 또는 푸쉬 메시지의 예를 도시한 도면 이다.
도 26은 본 발명의 다른 실시 예에 따라 차량의 자율 주차 서비스를 이용한 사용자의 사용자 단말 장치에 표시되는 푸쉬 알림 또는 푸쉬 메시지의 예를 도시한 도면 이다.
도 27은 본 발명의 다른 실시 예에 따라 차량의 자율 주차 서비스가 요청될 경우, 자율 주차 서비스 제공 서버가 딥 러닝 분석을 통해 주차가 가능한 공간을 식별하는 예를 설명하기 위한 도면 이다.
도 28은 일 실시 예에 따른, 차량의 자율 주행 시스템을 도시한 블록도이다.
도 29는 일 실시 예에 따른 전자 장치의 블록도이다.
도 30은 일 실시 예에 따른 서버의 블록도이다.
도 31은 다양한 실시예들에 따른 자율 주행 시스템의 동작을 설명하기 위한 신호 흐름도이다.
도 32는 다양한 실시예들에 따른 서버의 동작을 설명하기 위한 신호 흐름도이다.
도 33은 일 실시 예에 따른 자율 주행 시스템의 블록 구성도이다.
도 34는 일 실시 예에 따른 서버의 블록 구성도이다.
도 35는 일 실시 예에 따른 자율 주행 차량 시스템의 동작 흐름도이다.
도 36은 일 실시 예에 따른 전자 장치의 동작 흐름도이다.
도 37은 일 실시 예에 따라 전자 장치가 차량에 장착된 비전 센서를 통해 획득된 이미지 데이터를 통해 객체를 검출하는 객체 검출 모듈의 블록 구성도이다.
도 38은 일 실시 예에 따른 서버의 동작 흐름도이다.
도 39는 일 실시 예에 따라 도로를 주행하던 차량에서 이벤트가 발생한 경우, 발생한 이벤트에 대한 정보를 송수신하는 개념을 보여주기 위한 도면이다.
도 40은 일 실시 예에 따라 이벤트가 발생한 소스 차량의 동작 흐름도이다.
도 41은 일 실시 예에 따른 수신 차량(receiving vehicle)의 동작 흐름도이다.
도 42는 일 실시 예에 따라 차량 통신 시스템 구조를 설명하기 위한 도면이다.
도 43은 일 실시 예에 따른 수신 차량의 동작 흐름도이다.
도 44은 일 실시 예에 따른 수신 차량의 동작 흐름도이다.
도 45은 일 실시 예에 따른 수신 차량의 동작 흐름도이다.
도 46은 일 실시 예에 따른 소스 차량의 동작 흐름도이다.
도 47은 일 실시 예에 따른 RSU의 동작 흐름도이다.
도 48은 일 실시 예에 따른 RSU의 블록 구성도이다.
도 49는 일 실시 예에 따른 차량의 전자 장치의 블록 구성도이다.
도 50은 다양한 실시예들에 따른 전자 장치를 포함하는 차량의 예를 도시한다.
도 51은 다양한 실시예들에 따른 전자 장치의 기능적 구성의 예를 도시한다.
도 52는 다양한 실시예들에 따른 전자 장치와 관련된 게이트웨이의 예를 도시한다.
도 53은 일 실시 예에 따른 차량의 자율 주행 시스템의 동작 흐름도이다.
도 54는 일 실시 예에 따라 UAM에서 비행을 위해 필요한 정보와 비행 경로를 표시하는 화면을 도시한 도면이다.
도 55는 일 실시 예에 따라 UAM의 비행에 영향을 미칠 수 있는 기상 정보(예컨대 강풍(gale))을 AR로 표시하는 것을 보여준다.
도 56은 일 실시 예에 따라 UAM의 비행 경로를 고도 별로 비행 통로인 회랑(corridor)을(5602)을 설정하고, 설정된 비행 통로(5602)를 통해서만 UAM이 비행하는 것을 설명하기 위한 도면이다.
도 57은 일 실시 예에 따라 UAM이 버티포트에 이착륙하기 위해 할당된 비행 통로를 설명하기 위한 도면이다.
도 58은 일 실시 예에 따라 UAM에게 추천된 비행 경로를 일정 간격 마다 웨이 포인트(way point)(5810)로 표시하는 것을 보여주는 도면이다.
도 59는 일 실시 예에 따라 버티포트(5970, 5980)에서 출발한 UAM들마다 상이한 비행 고도를 갖는 비행 통로(5930, 5950를 설정하는 것을 보여주는 도면이다.
도 60은 일 실시 예에 따라 버티포트들(6002, 6004)간을 비행하는 UAM에 대해 할당된 비행 경로를 도시한 도면이다.
도 61은 일 실시 예에 따른 UAM의 블록 구성도이다.
도 62는 일 실시 예에 따른 UAM의 비행을 관리하기 위한 시스템의 아키텍쳐를 설명하기 위한 도면이다.
도 63은 일 실시 예에 따라 사용자가 전자 기기를 통해 사용자가 원하는 지점까지 운행하는 UAM을 예약하기 위한 UX 화면을 도시한 도면이다.
도 64는 일 실시 예에 따라 사용자가 예약한 UAM에 관련된 정보를 전자 기기를 통해 제공하는 UX 화면을 도시한 도면이다.
이하의 내용은 단지 본 발명의 원리를 예시한다. 그러므로 당업자는 비록 본 명세서에 명확히 설명되거나 도시되지 않았지만 본 발명의 원리를 구현하고 본 발명의 개념과 범위에 포함된 다양한 장치를 발명할 수 있는 것이다. 또한, 본 명세서에 열거된 모든 조건부 용어 및 실시 예들은 원칙적으로, 본 발명의 개념이 이해되도록 하기 위한 목적으로만 명백히 의도되고, 이와 같이 특별히 열거된 실시 예들 및 상태들에 제한적이지 않는 것으로 이해되어야 한다.
또한, 본 발명의 원리, 관점 및 실시 예들뿐만 아니라 특정 실시 예를 열거하는 모든 상세한 설명은 이러한 사항의 구조적 및 기능적 균등물을 포함하도록 의도되는 것으로 이해되어야 한다. 또한 이러한 균등물들은 현재 공지된 균등물뿐만 아니라 장래에 개발될 균등물 즉 구조와 무관하게 동일한 기능을 수행하도록 발명된 모든 소자를 포함하는 것으로 이해되어야 한다.
따라서, 예를 들어, 본 명세서의 블럭도는 본 발명의 원리를 구체화하는 예시적인 회로의 개념적인 관점을 나타내는 것으로 이해되어야 한다. 이와 유사하게, 모든 흐름도, 상태 변환도, 의사 코드 등은 컴퓨터가 판독 가능한 매체에 실질적으로 나타낼 수 있고 컴퓨터 또는 프로세서가 명백히 도시되었는지 여부를 불문하고 컴퓨터 또는 프로세서에 의해 수행되는 다양한 프로세스를 나타내는 것으로 이해되어야 한다.
프로세서 또는 이와 유사한 개념으로 표시된 기능 블럭을 포함하는 도면에 도시된 다양한 소자의 기능은 전용 하드웨어뿐만 아니라 적절한 소프트웨어와 관련하여 소프트웨어를 실행할 능력을 가진 하드웨어의 사용으로 제공될 수 있다. 프로세서에 의해 제공될 때, 상기 기능은 단일 전용 프로세서, 단일 공유 프로세서 또는 복수의 개별적 프로세서에 의해 제공될 수 있고, 이들 중 일부는 공유될 수 있다.
또한 프로세서, 제어 또는 이와 유사한 개념으로 제시되는 용어의 명확한 사용은 소프트웨어를 실행할 능력을 가진 하드웨어를 배타적으로 인용하여 해석되어서는 아니되고, 제한 없이 디지털 신호 프로세서(DSP) 하드웨어, 소프트웨어를 저장하기 위한 롬(ROM), 램(RAM) 및 비 휘발성 메모리를 암시적으로 포함하는 것으로 이해되어야 한다. 주지관용의 다른 하드웨어도 포함될 수 있다.
본 명세서의 청구범위에서, 상세한 설명에 기재된 기능을 수행하기 위한 수단으로 표현된 구성요소는 예를 들어 상기 기능을 수행하는 회로 소자의 조합 또는 펌웨어/마이크로 코드 등을 포함하는 모든 형식의 소프트웨어를 포함하는 기능을 수행하는 모든 방법을 포함하는 것으로 의도되었으며, 상기 기능을 수행하도록 상기 소프트웨어를 실행하기 위한 적절한 회로와 결합된다. 이러한 청구범위에 의해 정의되는 본 발명은 다양하게 열거된 수단에 의해 제공되는 기능들이 결합되고 청구항이 요구하는 방식과 결합되기 때문에 상기 기능을 제공할 수 있는 어떠한 수단도 본 명세서로부터 파악되는 것과 균등한 것으로 이해되어야 한다.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해질 것이며, 그에 따라 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다.
이하, 본 문서의 다양한 실시예들이 첨부된 도면을 참조하여 설명된다.
본 문서의 다양한 실시 예들 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시 예의 다양한 변경, 균등물, 및/또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및/또는 B 중 적어도 하나", "A, B 또는 C" 또는 "A, B 및/또는 C 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", "첫째" 또는 "둘째" 등의 표현들은 해당 구성요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제 3 구성요소)를 통하여 연결될 수 있다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구성된 유닛을 포함하며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 모듈은 ASIC(application-specific integrated circuit)으로 구성될 수 있다.
I. 자율 주차 시스템 및 차량 호출 서비스(Autonomous parking system and Vehicle Summon service)
도 1은 본 발명의 일 실시 예에 따른 주차장 안내 서비스 시스템을 나타내는 블록도 이다. 도 1을 참조하면, 주차장 안내 서비스 시스템(1000)은 차량용 영상 촬영 장치(100), 차량용 통신 장치(200), 주차장 안내 서비스 제공 서버(300), 사용자 단말 장치(400) 및 기지국(500)을 포함한다.
이러한 주차장 안내 서비스 시스템(1000)은 차량용 영상 촬영 장치(100)에서 촬영된 영상을 이용하여 주차장에 대한 실시간 상황을 나타내는 주차장 모델을 생성하고, 생성된 주차장 모델을 기초로 사용자의 단말 장치(400)에 주차장 안내 서비스를 제공할 수 있다.
여기서, 주차장은 실내 주차장 및 실외 주차장 모두를 포함하는 개념일 수 있다.
그리고, 주차장은 적어도 한 개 이상의 층으로 구성될 수 있고, 각 층은 복수의 주차 공간으로 구성될 수 있으며, 주차 공간은 복수의 주차칸으로 구성될 수 있다.
본 발명에서 차량은 이동체(moving body)의 일 예시로, 본 발명의 이동체는 차량에 한정되는 것은 아니다. 본 발명에 따른 이동체(moving body)는 차량, 사람, 자전거, 선박, 열차 등과 같이 이동할 수 있는 다양한 객체를 포함할 수 있다. 이하에서는 설명의 편의를 위하여, 이동체가 차량인 경우를 예로 설명하기로 한다.
기지국(500)은 무선통신의 서비스를 위해 네트워크와 각종 단말기를 연결하는 무선 통신 설비로, 본 발명에 따른 주차장 안내 서비스 시스템(1000)을 구성하는 차량용 영상 촬영 장치(100), 차량용 통신 장치(200), 주차장 안내 서비스 제공 서버(300) 및 사용자 단말 장치(400)들 간에 통신 가능하게 할 수 있다. 일 예로, 차량용 통신 장치(200)는 기지국(500)을 통해 통신 네트워크에 무선으로 접속할 수 있고, 통신 네트워크에 차량용 통신 장치(200)가 접속하면 네트워크에 접속한 다른 디바이스(예를 들어, 주차장 안내 서비스 제공 서버(300), 사용자 단말 장치(400))와 데이터를 교환할 수 있다.
차량용 영상 촬영 장치(100)는 차량에 구비되어 차량의 주행, 정차, 주차 등과 같은 상황에서 영상을 촬영하고, 촬영된 영상을 저장할 수 있다.
또한, 차량용 영상 촬영 장치(100)는 사용자 단말 장치(400)를 통해 입력된 사용자 제어에 의해 제어될 수 있다. 예컨대 사용자가 사용자 단말 장치(400)에 설치된 실행 가능한 객체를 선택할 경우, 상기 차량용 영상 촬영 장치(100)는 상기 실행 가능한 객체에 대한 사용자 입력에 의해 발생된 이벤트에 대응하는 동작들을 수행할 수 있다. 여기서 상기 실행 가능한 객체는, 상기 사용자 단말 장치(400)에 설치되어 상기 차량용 영상 촬영 장치(100)를 원격에서 제어할 수 있는 일종의 애플리케이션이 될 수 있다.
또한, 본 명세서에서는 차량용 영상 촬영 장치(100)의 동작을 트리거(Trigger)시키게 되는 행위를 이벤트라고 정의하기로 한다. 예컨대 이벤트의 종류는 충격 감지, 소음 감지, 모션 감지, 사용자 제스쳐 감지, 사용자 터치 감지, 원격으로부터의 제어 명령 수신 등이 될 수 있다. 여기서, 차량용 영상 촬영 장치(100)는 차량의 전방을 촬영하는 전방 촬영 장치, 후방을 촬영하는 후방 촬영 장치, 좌우측을 촬영하는 측면 촬영 장치, 차량 운전자의 얼굴을 촬영하는 촬영 장치, 차량 실내를 촬영하는 실내 촬영 장치의 전부 또는 일부를 포함할 수 있다.
본 명세서에서 차량용 적외선(Infra-Red) 카메라, 차량용 블랙박스(black-box), Car dash cam 또는 Car video recorder는 차량용 영상 촬영 장치(100)의 다른 표현으로, 모두 같은 것을 의미할 수 있다.
차량용 통신 장치(200)는 차량용 영상 촬영 장치(100)와 연결되어 차량용 영상 촬영 장치(100)의 통신을 가능하게 하는 장치로, 차량용 영상 촬영 장치(100)는 차량용 통신 장치(200)를 통해 외부 서버와 통신을 수행할 수 있다. 여기서, 차량용 통신 장치(200)는 LTE(Long Term Evolution)와 같은 셀룰러 방식의 이동 통신, WiFi(Wireless Fidelity)와 같은 Wireless LAN(Local Area Network) 방식 등과 같이 다양한 무선 통신 연결 방식을 사용할 수 있다.
또한, 본 발명의 일 실시 예에 따르면, 서버와의 무선 통신을 수행하는 차량용 통신 장치(200)는 저전력 광역 통신(Low-Power Wide-Area : LPWA) 기술을 이용한 통신 모듈로 구현될 수 있다. 여기서, 저전력 광역 통신 기술의 일 예로 LoRa(Long Range), NB-IoT(Narrow Band-Internet of Things), Cat M1 등의 저전력 광대역 무선 통신 모듈을 사용할 수 있다.
한편, 본 발명의 실시 예에 따른 차량용 통신 장치(200)는 GPS(Global Positioning System) Tracker 와 같이 위치 추적 기능도 수행할 수 있다.
또한, 도 1에서는, 차량용 통신 장치(200)는 차량용 영상 촬영 장치(100)와 별도로 구비된 외장형인 것을 예로 설명하였으나, 이에 한정되는 아니고, 차량용 통신 장치(200)는 차량용 영상 촬영 장치(100)의 내부에 마련된 내장형 통신 모듈로 구현될 수도 있다.
본 명세서에서 동글(dongle)은 차량용 통신 장치(200)의 다른 표현으로, 모두 같은 것을 의미할 수 있다.
주차장 안내 서비스 제공 서버(300)는 차량용 통신 장치(200)와 사용자 단말 장치(400) 사이의 각종 데이터를 중계하여 후술할 주차장 안내 서비스가 가능하게 할 수 있다.
구체적으로, 주차장 안내 서비스 제공 서버(300)는 차량용 영상 촬영 장치(100)에서 촬영된 영상 및 차량용 영상 촬영 장치(100)에서 생성된 각종 정보들을 포함하는 데이터를 차량용 통신 장치(200)로부터 수신할 수 있다.
그리고, 주차장 안내 서비스 제공 서버(300)는 수신된 데이터를 주차장 식별 정보에 매칭시켜 저장할 수 있다. 여기서, 주차장 식별 정보는 주차장 ID, 주차장 이름, 주차장 전화 번호, 주차장 위치 등과 같이 복수의 주차장 각각을 구별 가능하게 하는 정보를 의미할 수 있다.
또한, 주차장 안내 서비스 제공 서버(300)는 수신된 데이터를 기초로 주차장의 실시간 상황을 이미지로 나타내는 주차장의 모델을 생성할 수 있고, 생성된 생성된 주차장 모델을 기초로 서비스에 가입한 사용자의 단말 장치(400)에 주차장 안내 서비스를 제공하기 위한 각종 데이터를 전송할 수 있다.
여기서, 주차장 안내 서비스는 주차 칸 위치 안내 서비스, 주차 가능 위치 안내 서비스, 차량 주차 위치 안내 서비스, 주차장 경로 안내 서비스, 주차 충격 이벤트 안내 서비스를 포함할 수 있다.
주차 가능 위치 안내 서비스는 주차를 하고자 하는 사용자에게 주차장의 주차 가능 공간, 주차 가능 층수, 주차 가능 칸 등의 주차 가능 위치를 안내하는 서비스일 수 있다.
그리고, 차량 주차 위치 안내 서비스는 주차된 차를 찾기를 원하는 사용자에게 차량 주차 위치를 안내하는 서비스일 수 있다.
그리고, 주차장 경로 안내 서비스는 차량의 주차 위치로부터 목적지(예를 들어, 주차장의 출구 등)까지의 경로를 안내하는 서비스일 수 있다.
그리고, 주차 충격 이벤트 안내 서비스는 주차된 차량에 충격 이벤트 발생 시 인접한 주변 차량에서 촬영된 영상을 기초로 주차 충격에 관한 정보를 제공하는 서비스일 수 있다.
사용자 단말 장치(400)는 주차장 안내 서비스 제공 서버(300)로부터 수신된 데이터를 기초로 각종 유의미한 정보를 제공하는 유저 인터페이스를 화면에 표시할 수 있다.
구체적으로, 사용자 단말 장치(400)에는 본 발명에 따른 어플리케이션(이하, "주차장 안내 서비스 어플리케이션")이 설치되어 있을 수 있고, 사용자는 사용자 단말 장치(400)에 설치된 주차장 안내 서비스 어플리케이션을 실행하고, 어플리케이션의 실행에 따라 주차장 안내 서비스 제공 서버(300)로부터 수신된 각종 데이터를 기초로 유저 인터페이스를 구성하여 화면에 표시할 수 있다.
여기서, 유저 인터페이스는 주차 가능 위치 안내 서비스에 대응되는 유저 인터페이스, 차량 주차 위치 안내 서비스에 대응되는 유저 인터페이스, 주차장 경로 안내 서비스에 대응되는 유저 인터페이스, 주차 충격 이벤트 안내 서비스에 대응되는 유저 인터페이스를 포함할 수 있다.
여기서, 사용자 단말 장치(400)는 스마트 폰, 태블릿 컴퓨터, 노트북 컴퓨터, PDA(personal digital assistant), PMP(portable multimedia player) 등으로 구현되거나 또는 사용자의 몸에 착용 가능한 스마트 글래스, 머리 착용 디스플레이(Head Mounted Display : HMD) 등과 같은 웨어러블 디바이스(wearable device)로 구현될 수도 있다.
여기서, 사용자는 차량 소유자, 차량 운전자, 차량용 영상 촬영 장치(100)의 소유자, 차량용 영상 촬영 장치(100)의 감독자 등과 같이 차량 및/또는 차량용 영상 촬영 장치(100)에 대한 관리 권한을 갖는 사람일 수 있다.
이하에서는 이 후 도면을 참조하여, 본 발명의 일 실시 예에 따른 차량용 영상 촬영 장치(100), 주차장 안내 서비스 제공 서버(300) 및 사용자 단말 장치(400)에 대하여 보다 구체적으로 설명하기로 한다.
상술한 본 발명의 실시 예에 따른 주차장 안내 서비스 제공 서버(300)는 차량에 장착된 차량용 영상 촬영 장치(100)를 통해 획득된 영상의 분석을 통해 주차 가능 위치를 판단하는 것으로 설명하였으나, 본 발명의 다른 실시 예에서는 주차장에 설치된 CCTV(Closed Circuit Television) 등과 같은 고정형 영상 획득 장치를 통해 획득된 주차장 영상에 대한 딥 러닝 분석을 통해 주차 가능 공간을 식별하고, 식별된 주차 가능 공간을 이용하여 자율 주차 서비스를 사용자 단말 장치 및/또는 자율 주행 시스템으로 제공할 수 있다.
도 2는 본 발명의 일 실시 예에 따른 차량용 영상 촬영 장치를 나타내는 블록도 이다. 도 2를 참조하면, 차량용 영상 촬영 장치(100)는 촬영부(110), 사용자 입력부(120), 마이크부(130), 디스플레이부(140), 오디오부(150), 저장부(160), 충격 감지부(170), 주차장 데이터 생성부(175), 차량 운전 지원 기능부(180), 주변 차량 이벤트 판단부(185), 통신부(190), 제어부(195)를 포함할 수 있다.
촬영부(110)는 차량의 주차, 정차 및 주행 중 적어도 하나의 상황에서 영상을 촬영할 수 있다.
여기서, 촬영 영상은 주차장에 관한 촬영 영상인 주차장 영상을 포함할 수 있다. 주차장 영상은 차량의 주차장 진입 시점으로부터 차량의 주차장 출차 시점까지의 기간 동안 촬영된 영상을 포함할 수 있다. 즉, 주차장 영상은 차량의 주차장 진입 시점으로부터 차량의 주차 시점(ex. 주차 하기 위해 차량 시동 오프(OFF) 시점) 전까지 촬영된 영상, 차량의 주차 기간 동안 촬영된 영상, 차량의 주차 완료 시점(ex. 출차 하기 위해 차량 시동 온(on))부터 차량의 주차장 출차 시점까지의 촬영 영상을 포함할 수 있다.
그리고, 촬영 영상은 차량의 전방, 후방, 측면 및 내부 중 적어도 하나의 영상을 포함할 수 있다.
또한, 촬영부(110)는 운전자의 얼굴 또는 동공을 모니터링할 수 있는 적외선(Infra Red) 카메라를 포함할 수도 있으며, 제어부(195)는 적외선 카메라를 통해 운전자 얼굴 또는 동공을 모니터링함으로써, 운전자의 졸음 운전 여부 등을 포함하는 운전자 상태를 판단할 수 있다.
이러한 촬영부(110)는 렌즈부와 촬상 소자를 포함할 수 있다. 렌즈부(lens unit)는 광학 신호를 집광하는 기능을 수행할 수 있고, 렌즈부를 투과한 광학 신호는 촬상 소자의 촬상 영역에 이르러 광학상을 결상한다. 여기서 촬상 소자는 광학 신호를 전기 신호로 변환하는 CCD(Charge Coupled Device), CIS(Complementary Metal Oxide Semiconductor Image Sensor) 또는 고속 이미지 센서 등을 사용할 수 있다. 그리고, 촬영부(110)는 렌즈부 구동부, 조리개, 조리개 구동부, 촬상 소자 제어부 및 이미지 프로세서의 전부 또는 일부를 더 포함할 수 있다.
사용자 입력부(120)는 차량용 영상 촬영 장치(100)를 조작하는 각종 사용자 입력을 수신하는 구성으로, 일 예로, 차량용 영상 촬영 장치(100)의 동작 모드를 설정하는 사용자 입력, 녹화 영상을 디스플레이부(140)에 표시하도록 하는 사용자 입력, 수동 녹화를 설정하는 사용자 입력 등 각종 사용자 입력을 수신할 수 있다.
여기서, 차량용 영상 촬영 장치(100)의 동작 모드는 상시 녹화 모드, 이벤트 녹화 모드, 수동 녹화 모드, 주차 녹화 모드를 포함할 수 있다.
상시 녹화 모드는 차량의 시동을 걸고 주행을 시작하면 실행되는 모드로, 차량의 주행이 계속되는 동안 상시 녹화 모드를 유지할 수 있다. 상시 녹화 모드에서 차량용 영상 촬영 장치(100)는 소정 시간 단위(일 예로, 1 ~ 5분)로 녹화를 수행할 수 있다. 본 발명에서 상시 녹화 모드와 상시 모드는 동일한 의미로 사용될 수 있다.
주차 녹화 모드는 차량의 시동이 꺼지거나, 차량의 주행을 위한 배터리 공급이 중단되어 주차 상태에서 작동하는 모드를 의미할 수 있다. 주차 녹화 모드에서 차량용 영상 촬영 장치(100)는 주차 중 상시 녹화를 수행하는 주차 상시 녹화 모드로 동작할 수 있다. 또한, 주차 녹화 모드에서 차량용 영상 촬영 장치(100)는 주차 중 충격 이벤트가 감지되면 녹화를 수행하는 주차 이벤트 녹화 모드로 동작할 수 있다. 이 경우, 이벤트 발생 소정 시간 이전부터 소정시간 이후까지의 일정 구간의 녹화(일 예로, 이벤트 발생 10초 전 내지 10초 후 녹화)를 수행할 수 있다. 본 발명에서 주차 녹화 모드와 주차 모드는 동일한 의미로 사용될 수 있다.
이벤트 녹화 모드는 차량의 주행 중에 각종 이벤트가 발생하면 작동하는 모드를 의미할 수 있다.
일 예로, 충격 감지부(170)에서 충격 이벤트가 감지되거나, 차량 운전 지원 기능부(180)에서 ADAS(Advanced Driving Assistance System) 이벤트가 감지되면 이벤트 녹화 모드가 작동할 수 있다.
이벤트 녹화 모드에서 차량용 영상 촬영 장치(100)는 이벤트 발생 소정시간 이전부터 소정시간 이후까지 시간의 녹화(일 예로, 이벤트 발생 10초 전 내지 10초 후 녹화)를 수행할 수 있다.
수동 녹화 모드는 사용자가 수동으로 녹화를 작동하는 모드를 의미할 수 있다. 수동 녹화 모드에서 차량용 영상 촬영 장치(100)는 사용자의 수동 녹화 요청 발생 소정시간 이전부터 소정시간 이후까지 시간의 녹화(일 예로, 이벤트 발생 10초 전 내지 10초 후 녹화)를 수행할 수 있다.
여기서, 사용자 입력부(120)는 키 패드(key pad) 돔 스위치 (dome switch), 터치 패드, 조그 휠, 조그 스위치 등 사용자 입력을 수신할 수 있는 다양한 방식으로 구성될 수 있다.
마이크부(130)는 차량의 외부 또는 내부에서 발생한 소리(sound)를 수신할 수 있다. 여기서, 수신된 소리는 외부 충격에 의한 소리나 차량 내/외부의 상황과 관련된 사람의 음성으로 촬영부(110)에서 촬영된 영상과 함께 당시의 상황을 인식하는 데 도움을 줄 수 있다. 마이크부(130)를 통해 수신된 소리는 저장부(160)에 저장될 수 있다.
디스플레이부(140)는 차량용 영상 촬영 장치(100)에서 처리되는 각종 정보를 표시할 수 있다. 일 예로, 디스플레이부는 촬영부(110)에 의해 실시간 촬영된 영상인 "라이브 뷰 영상"을 표시할 수 있고, 차량용 영상 촬영 장치(100)의 동작 모드를 설정하기 위한 설정 화면을 표시할 수 있다.
오디오부(150)는 외부 기기에서 수신되거나 저장부(140)에 저장된 오디오 데이터를 출력할 수 있다. 여기서, 오디오부(150)는 오디오 데이터를 출력하는 스피커로 구현될 수 있다. 일 예로, 오디오부(150)는 주차 이벤트가 발생하였음을 나타내는 오디오 데이터를 출력할 수 있다.
저장부(160)는 차량용 영상 촬영 장치(100)의 동작에 필요한 각종 데이터 및 프로그램을 저장한다. 특히, 저장부(160)는 촬영부(110)에서 촬영된 영상과 마이크부(130)를 통해 입력된 음성 데이터, 주차장 데이터 생성부(175)에서 생성된 주차 데이터를 저장할 수 있다.
그리고, 저장부(160)는 차량용 영상 촬영 장치(100)의 동작 모드에 따라 획득된 데이터를 서로 다른 저장 영역에 분류하여 저장할 수 있다.
이러한 저장부(160)는 차량용 영상 촬영 장치(100)의 내부에 구성되거나 차량용 영상 촬영 장치(100)에 구비된 포트를 통해 착탈식으로 구성되거나 차량용 영상 촬영 장치(100)의 외부에 존재할 수 있다. 저장부(160)가 차량용 영상 촬영 장치(100)의 내부에 구성된 경우, 하드 디스크 드라이브나 플래쉬 메모리 형태로 존재할 수 있다. 저장부(160)가 차량용 영상 촬영 장치(100)에 착탈식으로 구성된 경우, SD카드, Micro SD카드, USB메모리 등의 형태로 존재할 수 있다. 저장부(160)가 차량용 영상 촬영 장치(100)의 외부에 구성된 경우 통신부(190)를 통해 다른 기기 또는 데이터베이스 서버에 있는 저장공간에 존재할 수 있다.
충격 감지부(170)는 차량에 가해지는 충격을 감지하거나 가속도의 변화량이 일정 이상일 경우를 감지할 수 있다. 여기서, 충격 감지부(170)는 충격이나 가속도를 감지하기 위해 가속도 센서, 지자계 센서 등을 포함할 수 있다.
차량 운전 지원 기능부(180)는 촬영부(110)에서 촬영된 주행 영상을 기초로 차량의 운전자에게 운전 지원 기능이 필요한지 여부를 판단할 수 있다.
일 예로, 차량 운전 지원 기능부(180)는 촬영부(110)에서 촬영된 주행 영상을 기초로 차량 앞에 위치한 차량의 출발을 감지하고 운전자에게 앞차 출발 알림(FVSA : Forward Vehicle Start Alarm)이 필요한지 여부를 판단할 수 있다. 만약, 앞차가 출발한 후 소정 시간이 경과하면 차량 운전 지원 기능부(180)는 앞차 출발 알림이 필요하다고 판단할 수 있다.
또한, 차량 운전 지원 기능부(180)는 촬영부(110)에서 촬영된 주행 영상을 기초로 신호 변경 여부를 감지하고 운전자에게 신호등 변경 알림(TLCA : Traffic Light Change Alarm)이 필요한지 여부를 판단할 수 있다. 일 예로, 신호가 정지 신호에서 직진 신호로 변경된 상태에서 정차 상태(0km/h)를 4초 동안 유지하면 차량 운전 지원 기능부(180)는 신호등 변경 알림이 필요하다고 판단할 수 있다.
또한, 차량 운전 지원 기능부(180)는 촬영부(110)에서 촬영된 주행 영상을 기초로 차량의 차선 이탈 여부를 감지하고 운전자에게 차선 이탈 경보(LDWS : Lane Departure Warning System)가 필요한지 여부를 판단할 수 있다. 일 예로, 차량이 차선을 이탈하는 경우 차량 운전 지원 기능부(180)는 차선 이탈 경보가 필요하다고 판단할 수 있다.
또한, 차량 운전 지원 기능부(180)는 촬영부(110)에서 촬영된 주행 영상을 기초로 차량의 전방 차량과의 추돌 위험을 감지하고 운전자에게 전방 추돌 경보(FCWS : Forward Collision Warning System)가 필요한지 여부를 판단할 수 있다. 일 예로, 초기 전방 추돌 위험을 감지할 때 차량 운전 지원 기능부(180)는 1차 전방 추돌 경보가 필요하다고 판단하고, 초기 전방 추돌 감지 위험을 감지한 후 앞차와의 간격이 더욱 줄어들 때 2차 전방 추돌 경보가 필요하다고 판단할 수 있다.
여기서, 전방 추돌 경보는 주행 속도가 낮은 환경에 적절하게 더 낮은 주행속도에서 전방 추돌 경보를 제공하는 도심형 전방 추돌 경고(uFCWS : urban FCWS)를 더 포함할 수 있다.
한편, 주차장 데이터 생성부(175)는 차량이 주차장에 들어가는 시점(다른 표현으로는, 진입 시점)부터 차량이 주차장에서 나가는 시점(다른 표현으로는, 진출 시점)까지의 기간 동안 주차장 데이터를 생성할 수 있다.
여기서, 주차장 데이터는 주차장 위치 정보, 주차 공간 정보, 주차 차량 정보, 자차 위치 정보, 시간 정보 및 주차장 영상 중 적어도 하나를 포함할 수 있다.
구체적으로, 도 3을 참조하면, 주차장 데이터 생성부(175)는 주차장 위치 정보 생성부(175-1), 주차 공간 정보 생성부(175-2), 주차 차량 정보 생성부(175-3), 자차 위치 정보 생성부(175-4), AI(Artificial Intelligence) 처리부(175-5)를 포함할 수 있다.
주차장 위치 정보 생성부(175-1)는 주차장의 위치를 판단하고, 주차장 위치 정보를 생성할 수 있다. 일 예로, 차량이 실외 주차장에 위치하는 경우, 주차장 위치 정보 생성부(175-1)는 위성 측위 데이터를 이용하여 실외 주차장의 위치 정보를 생성할 수 있다. 다른 예로, 차량이 실내 주차장에 위치하는 경우, 주차장 위치 정보 생성부(175-1)는 위성 측위 데이터의 마지막 수신 지점을 기초로 실내 주차장의 위치 정보를 생성하거나 실내 주차장에 위치한 셀룰러 네트워크의 기지국들을 이용한 측위 정보를 기초로 실내 주차장의 위치 정보를 생성하거나 실내 주차장에 위치한 WiFi 네트워크의 액세스 포인트들을 이용한 측위 정보를 기초로 실내 주차장의 위치 정보를 생성할 수 있다.
주차 공간 정보 생성부(175-2)는 주차장 영상에 포함된 주차 공간에 대한 주차 공간의 위치 정보, 주차 공간의 주차칸 정보를 포함할 수 있다. 여기서, 주차칸 정보는 주차 공간에 존재하는 주차칸을 주차장 영상으로부터 식별하여 추출할 수 있으며, 주차칸 개수 정보, 주차칸 식별 정보, 주차칸의 주차 여부 정보를 포함할 수 있다. 본 발명의 실시 예에 따른 주차 공간 정보 생성부(175-2)는 주차장 영상에 포함된 영상에서 엣지 검출 또는 특징점 검출 또는 주차 칸의 마킹된 선들에 대한 딥 러닝 결과, 추자된 차량에 대한 딥 러닝 결과를 이용하여 주차칸 정보를 식별할 수 있다.
구체적으로, 주차 공간 정보 생성부(175-2)는 주차장 영상에 포함된 위치 식별자를 기초로 주차장 영상에 포함된 주차 공간의 위치 정보를 생성할 수 있다.
여기서, 위치 식별자는 주차장 영상에 포함되어 주차장 내 주차 공간의 위치를 식별 가능하게 하는 정보로, 텍스트(예를 들어, "주차장 입구", "3층", "3B-2" 등과 같은 텍스트), 구조물(예를 들어, 주차 차단기, 주차 요금 정산소 등) 및 위치가 정의된 고유 식별 기호(예를 들어, 특정 QR코드, 특정 스티커 및 특정 텍스트 등) 중 적어도 하나를 포함할 수 있다.
즉, 주차 공간 정보 생성부(175-2)는 촬영 영상의 분석을 통해 인식된 위치 식별자를 기초로 주차장 영상에 포함된 주차 공간의 위치 정보를 생성할 수 있다. 일 예로, 주차 공간의 양 측 기둥에 각각 "3B-1", "3B-2"의 위치 식별자가 표기되어 있는 경우, 주차 공간 정보 생성부(175-2)는 해당 주차 공간의 위치 정보로 "3B-1"과 "3B-2" 사이의 주차 공간으로 생성할 수 있다.
이 경우, 주차 공간 정보 생성부(175-2)는 촬영된 영상에서 위치 식별자의 존재 여부의 예측 결과를 산출하도록 AI 처리부(175-5)의 학습된 신경망을 이용하여 위치 식별자를 인식할 수 있다. 이러한 인공 신경망의 예에 대해서는 도 4를 참조하여 보다 구체적으로 설명하기로 한다.
도 4은 본 발명의 일 실시 예에 따른 신경망의 구성을 나타낸 예시도 이다.
도 4를 참조하면, 본 실시예에 따른 신경망(30)은 복수의 합성곱 연산을 수행하는 레이어로 구성된 CNN(Convolution Neural Network) 모델로 구성될 수 있다.
주차장 영상(12)이 신경망(30)에 입력되면, 신경망(30) 내부의 레이어들을 거치면서 주차장 영상 내에 포함된 위치 식별자를 나타내는 고유의 형상이나 색상에 따른 특징 값들은 합성곱을 통해 강조될 수 있다.
위치 식별자로서 주차장 영상에 포함된 다양한 특징 값들은 각각의 합성곱 레이어(Convolution layer) 별로 결정된 필터와의 연산을 통해 새로운 특징 맵의 형태로 출력되며, 레이어 별 반복 연산을 통해 생성된 최종 특징 맵은 완전 연결 레이어(Fully-connected layer)로 입력되어 평탄화 될 수 있다. 평탄화된 특징 정보와 위치 식별자 별로 정의된 기준 특징 정보간의 차이를 산출하고, 산출된 차이에 따라 위치 식별자의 존재 확률을 예측 결과(32)로 출력할 수 있다.
이때, 정확도를 높이기 위해 주차장 영상을 분할하여 신경망(30)에 입력할 수도 있다. 일 예로, 위치 식별자는 차량이 주차되는 주차 공간이 아닌 비주차 공간(예를 들어, 기둥 등)에 표시되는 것이 일반적이기에, 본 발명에 따르면 주차장 영상에서 비주차 공간 영상만을 분할하여 신경망(30)에 입력할 수도 있다.
이러한 신경망(30)의 학습은 주차장 영상 데이터와 위치 식별자의 존재 여부에 대한 판단 결과를 포함하는 레이블링 데이터로, 위치 식별자 별로 분류(classification)된 학습 데이터 셋으로 수행될 수 있다. 예를 들어 주차장 영상에 위치 식별자로 특정 QR코드, 특정 스티커 등이 각각 존재하는 것으로 레이블링 된 복수의 주행 영상 데이터들을 학습 데이터로 신경망을 학습시킬 수 있다.
학습된 신경망(30)은 입력된 주차장 영상에 대하여 위치 식별자의 존재 여부를 판단하고 각 위치 식별자 별 예측 확률 값을 예측 결과(32)로 제공할 수 있다.
즉, 도 5는 본 발명의 일 실시 예에 따른 주차장 영상을 나타내는 도면으로, 도 5를 참조하면, 주차된 차량의 차량용 영상 촬영 장치(100)에서 촬영된 주차장 영상은 복수의 위치 식별자(501) 및 복수의 차량(502)을 포함할 수 있다.
본 발명에 AI 처리부(175-5)는 인공 신경망을 이용하여 주차장 영상으로부터 위치 식별자(501)를 인식할 수 있다.
한편, 주차 공간 정보 생성부(175-2)는 주차장 영상을 분석하여 주차장 영상에 포함된 주차 공간의 주차칸 개수 정보를 생성할 수 있다. 구체적으로, 주차 공간 정보 생성부(175-2)는 주차 공간의 라인(line marking)을 검출하고, 검출된 라인을 기초로 주차 공간의 주차칸 개수 정보를 생성하며, 복수의 주차칸 각각을 구별 가능하게 하는 주차칸 식별 정보를 생성할 수 있다.
또한, 주차 공간 정보 생성부(175-2)는 주차 공간에 포함된 주차칸의 주차 여부 정보를 생성할 수 있다. 구체적으로, 주차 공간 정보 생성부(175-2)는 주차장 영상을 분석하여 차량을 검출하고, 검출된 차량이 주차 공간을 구성하는 복수의 주차칸 중 어디에 위치하는지 판단하여 주차 공간에 포함된 주차칸의 주차 여부 정보를 생성할 수 있다. 여기서, 주차칸의 주차 여부 정보는 주차 공간을 구성하는 복수의 주차칸 각각에 대하여 생성될 수 있으며, 주차장 층별로 구분되어 생성될 수 있다.
이 경우, 주차 공간 정보 생성부(175-2)는 AI 처리부(175-5)의 학습된 신경망을 이용하여 주자장 영상에서 차량을 인식할 수 있다. 이와 관련하여 도 4에서 위치 식별자를 인식하기 위해 학습된 신경망(30)과 원리가 동일함으로 구체적인 설명을 생략한다.
즉, 도 5는 본 발명의 일 실시 예에 따른 주차장 영상을 나타내는 도면으로, 본 발명에 AI 처리부(175-5)는 인공 신경망을 이용하여 주차장 영상으로부터 복수의 차량(502)을 인식할 수 있다.
한편, 주차 차량 정보 생성부(175-3)는 주차장 영상을 분석하여 자차 주변에 주차된 복수의 주차 차량에 대한 정보를 생성할 수 있다. 여기서, 주차 차량 정보는 차량의 종류 정보, 차량 번호 정보를 포함할 수 있다. 그리고, 주차 차량 정보는 주차 공간을 구성하는 복수의 주차칸 별로 분류되어 생성될 수 있다.
차량의 종류 정보는 세단, 해치백, 왜건, SUV 등과 같이 차량 이용 목적에 따른 분류 정보, 차량의 브랜드 별 분류 정보를 포함할 수 있다. 그리고, 차량 번호 정보는 차량 번호판에 기재된 숫자 정보일 수 있다.
이 경우, 주차 차량 정보 생성부(175-3)는 촬영된 영상에서 주변 차량을 인식하기 위해 AI 처리부(175-4)의 학습된 신경망을 이용할 수 있다. 이에 따라, 학습된 신경망(30)은 입력된 주차장 영상에 대하여 차량의 존재 여부를 판단하고, 각 차량 별 종류, 각 차량 별 번호 등을 예측 결과로 제공할 수 있다.
한편, 자차 위치 정보 생성부(175-4)는 차량용 영상 촬영 장치(100)가 탑재된 차량의 위치 정보를 생성할 수 있다.
구체적으로, 차량이 실외 주차장에 위치하는 경우, 자차 위치 정보 생성부(175-4)는 위성 측위 시스템(GNSS : Global Navigation Satellite System)에서 수신되는 위성 측위 데이터를 이용하여 실외 주차장에서의 자차의 위치 정보를 생성할 수 있다.
또한, 차량이 실내 주차장에 위치하는 경우, 자차 위치 정보 생성부(175-4)는 상술한 위치 식별자를 이용하여 실내 주차장에서의 자차의 위치 정보를 생성할 수 있다.
다만, 이에 한정되는 것은 아니고, 본 발명의 다른 실시 예에 따르면, 차량이 실외 주차장에 위치하는 경우에도 위치 식별자를 이용하여 실외 주차장에서의 자차량의 위치 정보를 생성할 수도 있다.
또한, 자차 위치 정보 생성부(175-4)는 자차량의 주차 여부를 기초로 자차량의 위치 정보를 생성할 수 있다. 여기서, 자차 위치 정보 생성부(175-4)는 자차량의 주차 여부를 자차량의 시동 꺼짐, 배터리의 전원 오프(off), 주차(P단) 기어 변속, 승객의 차량 하차 여부, 차량 키의 위치(차량 키의 차량 밖에 위치하는 경우), 사이드 미러 접힘 여부 및 사용자 단말 장치(400)와 차량의 블루투스 연결 여부 중 하나 이상을 기초로 판단할 수 있다.
예를 들어, 자차량의 주차 기어 변속 및 사용자 단말 장치(400)와 차량의 블루투스 연결이 끊어지는 경우, 자차 위치 정보 생성부(175-4)는 해당 자차량의 위치에 주차한 것으로 판단하고 자차량의 위치 정보를 생성할 있다.
한편, 상술한 과정에 따라, 주차장 위치 정보, 주차 공간 정보, 주변 주차 차량 정보, 자차량 위치 정보가 생성되면, 주차장 데이터 생성부(175)는 생성된 정보에 매칭되는 시간 정보 및 생성된 정보에 매칭되는 주차장 영상을 결합하여 주차장 데이터를 생성할 수 있다.
한편, 주변 차량 이벤트 판단부(185)는 자차의 주변에서 주차 중인 타 차량의 이벤트 발생 여부를 판단할 수 있다. 여기서, 주변 차량 이벤트는 자차의 주변에 주차 중인 타차량에 차량, 사람 또는 어떤 객체에 의하여 충격이 가해지는 이벤트 상황을 의미할 수 있다.
주변 차량 이벤트 판단부(185)는 소리, 전방 객체의 모션 등을 기초로 자차의 주변에서 주차 중인 타 차량의 이벤트 발생 여부를 판단할 수 있다.
일 예로, 마이크부(130)에서 비명 소리, 충격음, 타이어 소리, 특정 단어가 포함된 대화 소리 등이 입력되면, 주변 차량 이벤트 판단부(185)는 자차의 주변에서 주차 중인 타 차량의 이벤트가 발생하였다고 판단할 수 있다.
또는, 주변 차량 이벤트 판단부(185)는 원격에서의 요청에 따라 주변 차량 이벤트의 발생 여부를 판단할 수 있다. 일 예로, 자차 주변에 주차한 타차량에서 충격 이벤트가 감지되어 타차량에 탑재된 차량용 영상 촬영 장치(100)가 주차장 안내 서비스 제공 서버(300) 또는 사용자 단말 장치(400)의 충격 알림을 전송하면, 주차장 안내 서비스 제공 서버(300) 또는 사용자 단말 장치(400)는 충격이 발생한 차량 주변에 위치한 자차의 차량용 영상 촬영 장치(100)에 이벤트 발생을 알릴 수 있다. 그리고, 알림이 수신되면, 주변 차량 이벤트 판단부(185)는 주변 차량에서 이벤트가 발생하였다는 것을 인지할 수 있다.
한편, 통신부(190)는 차량용 영상 촬영 장치(100)가 타 디바이스와 통신 가능하게 할 수 있고, 여기서, 통신부(190)는 LTE(Long Term Evolution)와 같은 셀룰러 방식의 이동 통신, WiFi(Wireless Fidelity)와 같은 Wireless LAN(Local Area Network) 방식 등과 같이 다양한 무선 통신 연결 방식, 저전력 광역 통신(Low-Power Wide-Area : LPWA) 기술을 이용한 통신 모듈 등 기 공지된 다양한 통신 모듈로 구현될 수 있다. 또한, 통신부(190)는 GPS(Global Positioning System) Tracker와 같이 위치 추적 기능도 수행할 수 있다.
이에 따라, 차량용 영상 촬영 장치(100)는 통신부(190)를 통해 주차장 안내 서비스 제공 서버(300) 및/또는 사용자 단말 장치(400)와 통신을 수행할 수 있다.
여기서, 통신부(190)는 도 1의 차량용 통신 장치(200)와 동일한 것을 지칭할 수 있다.
제어부(195)는 차량용 영상 촬영 장치(100)의 전반적인 동작을 제어한다. 구체적으로, 제어부(195)는 촬영부(110), 사용자 입력부(120), 마이크부(130), 디스플레이부(140), 오디오부(150), 저장부(160), 충격 감지부(170), 주차장 데이터 생성부(175), 차량 운전 지원 기능부(180), 주변 차량 이벤트 판단부(185) 및 통신부(190)의 전부 또는 일부를 제어할 수 있다.
특히, 제어부(195)는 차량의 시동 여부, 차량 배터리 전압 측정 결과, 충격 감지부(180)의 감지 결과, 차량 운전 지원 기능부(180)의 판단 결과 및 동작 모드 설정값 중 적어도 하나를 기초로 차량용 영상 처리 장치(100)의 동작모드를 상시 녹화 모드, 이벤트 녹화 모드, 주차 녹화 모드 및 수동 녹화 모드 중 하나로 설정할 수 있다. 그리고, 제어부(195)는 차량의 배터리 전압이 임계 값 이하로 내려가면, 차량용 영상 촬영 장치(100)의 동작을 중단하도록 제어할 수 있다.
또한, 제어부(195)는 주차장 데이터의 업데이트가 필요한지 여부를 판단하고, 업데이트가 필요한 경우 주차장 데이터 생성부(175)를 제어하여 주차장 데이터를 업데이트하고, 업데이트된 주차장 데이터를 주차장 안내 서비스 제공 서버(300)로 전송하도록 통신부(190)를 제어할 수 있다.
여기서, 주차장 데이터의 업데이트 조건은 자차 주변에 위치한 주차 차량이 주차 공간의 주차칸(parking slot)으로부터 출차하거나 또는 타 차량이 주차 공간의 주차칸에 입차함에 따라 주차장 영상에 변화가 생기는 경우를 포함할 수 있다.
또한, 주차장 데이터의 업데이트 조건은 기 설정된 주기가 도래한 경우를 포함할 수 있다.
또한, 주차장 데이터의 업데이트 조건은 주차 데이터의 완성도가 기 설정된 기준치보다 낮은 경우를 포함할 수 있다. 여기서, 완성도가 기 설정된 기준치보다 낮은 경우는 주차장 영상의 해상도가 낮거나 미완성된 데이터가 있는 경우 등을 포함할 수 있다.
또한, 주차장 데이터의 업데이트 조건은 원격(예를 들어, 주차장 안내 서비스 제공 서버(300) 또는 사용자 단말 장치(400))에서의 업데이트 요청이 수신되는 경우를 포함할 수 있다. 여기서, 원격에서의 업데이트 요청은 상술한 주차장 데이터의 업데이트 조건을 기초로 주차장 안내 서비스 제공 서버(300) 또는 사용자 단말 장치(400)에서 업데이트의 필요성을 판단하여 수행될 수 있다.
또한, 제어부(195)는 주변 차량 충격 이벤트 판단부(185)에서 주변 차량 충격 이벤트가 발생한 것으로 판단되면, 주차장 데이터 생성부(175)를 제어하여 주차장 데이터를 업데이트하고, 업데이트된 주차장 데이터를 주차장 안내 서비스 제공 서버(300)로 전송하도록 통신부(190)를 제어할 수 있다. 여기서, 업데이트된 주차장 데이터는 주변 차량 충격 이벤트 발생 시점의 소정 시간 전 및 후의 데이터를 포함할 수 있다.
도 6은 본 발명의 일 실시 예에 따른 주차장 안내 서비스 제공 서버를 나타내는 블록도 이다. 도 6을 참조하면, 주차장 안내 서비스 제공 서버(300)는 통신부(310), 주차장 모델 생성부(320), 저장부(330) 및 제어부(340)를 포함할 수 있다.
도 6을 설명하기에 앞서, 상술한 차량용 영상 촬영 장치(100)에 따르면, 주차장 데이터 생성부(175) 및 주변 차량 이벤트 판단부(185)의 동작이 차량용 영상 촬영 장치(100)에서 수행되는 것을 예로 설명하였으나, 이러한 동작의 전부 또는 일부는 주차장 안내 서비스 제공 서버(300)에서 수행될 수도 있다.
통신부(310)는 주차장 안내 서비스 제공 서버(300)가 다른 디바이스와 통신하기 위하여 마련될 수 있다. 구체적으로, 통신부(310)는 차량용 영상 촬영 장치(100), 및 사용자 단말 장치(400) 중 적어도 하나와 데이터를 송수신할 수 있다. 여기서, 통신부(310)는 기 공지된 다양한 통신 모듈로 구현될 수 있다.
주차장 모델 생성부(320)는 차량용 영상 촬영 장치(100)로부터 수신된 주차장 데이터를 이용하여 주차장에 대한 실시간 상황을 이미지로 나타내는 주차장 모델을 생성할 수 있다.
구체적으로, 주차장 모델 생성부(320)는 차량용 영상 촬영 장치(100)로부터 수신된 주차 데이터의 주차 공간 정보 및 주변 주차 차량 정보를 이용하여 주차장에 대한 모델링을 수행할 수 있으며, 해당 주차장의 층별로 각각 모델링을 수행할 수 있다.
즉, 주차장 모델 생성부(320)는 주차 공간의 위치 정보를 기초로 주차장에서 해당 주차 공간의 위치를 판단하고, 주차 공간의 주차칸 개수 정보를 기초로 주차 공간에 대한 주차 칸의 모델링을 수행할 수 있다. 그리고, 주차장 모델 생성부(320)는 주차칸의 주차 여부 정보를 기초로 해당 주차칸에 차량 모델을 배치할지 여부를 판단할 수 있다.
또한, 주차장 모델 생성부(320)는 주차 차량의 종류 정보 및 주차 차량의 번호 정보를 기초로 번호판 및 차량 종류를 반영한 차량 모델을 생성하고, 생성된 차량 모델을 대응되는 주차칸에 배치할 수 있다.
추가로, 주차장 모델 생성부(320)는 차량용 영상 촬영 장치(100)로부터 수신된 주차장 영상을 분석하여 공간 형상 정보, 노면 정보 중 적어도 하나를 생성하고, 생성된 정보를 기초로 주차장 모델을 생성할 수 있다.
여기서, 공간 형상 정보는 벽면, 기둥, 주차 공간, 주차 방지 턱 등과 같은 주차장 내 구조물에 형상에 대한 정보를 의미할 수 있다. 또한, 공간 형상 정보는 해당 구조물의 색상 정보를 더 포함할 수 있다.
또한, 노면 표시는 주차장 내 차량 이동을 안내하기 위한 지표로써, 차량의 통행 방향 등을 포함할 수 있다. 여기서, 노면 표시는 주차장 내 차량 경로를 안내할 시, 노면 표시를 참조하여 경로의 방향을 결정할 수 있다.
이러한 공간 형상 정보, 노면 정보는 차량용 영상 촬영 장치(100)에서 생성되어 서버(300)에 전송되거나 또는 서버(300)에서 주차장 영상의 이미지 처리를 통해 생성할 수 있다.
또한 주차장 모델 생성부(320)는 차량용 영상 촬영 장치(100)로부터 수신된 주차장 데이터의 주차장 이미지를 분석을 수행하고, 차량용 영상 촬영 장치(100)로부터 수신된 주차장 데이터와 주차장 모델 생성부(320)의 이미지 분석을 통해 생성된 주차장 데이터를 비교하여 차이가 있는 경우, 서버(300)의 생성된 데이터를 우선순위로 주차장 모델을 생성할 수 있다.
한편, 주차장 모델 생성부(320)는 복수의 주차장 각각에 대하여 기본 주차장 모델을 보유할 수 있다. 여기서, 기본 주차장 모델은 해당 주차장의 실시간 주차 상황이 반영되지 않은 모델로, 해당 주차장의 공간 형상을 나타내는 벽면, 기둥, 주차 공간 등이 반영되어 있는 모델일 수 있다. 이 경우, 주차장 모델 생성부(320)는 차량용 영상 촬영 장치(100)로부터 수신된 주차장 데이터를 이용하여 기본 주차장 모델을 업데이트함으로써 주차장 모델을 생성할 수 있다.
이러한 주차장 모델 생성부(320)에 의해 생성된 주차장 모델은 3D 형상의 모델일 수 있다. 이에 대해서는 도 7을 참조하여 보다 구체적으로 설명하기로 한다.
도 7은 발명의 일 실시 예에 따른 주차장 모델을 나타낸 도면이다. 도 7을 참조하면, 주차장 모델 생성부(320)는 주차 공간의 주차칸 개수 정보를 기초로 주차 공간에 대한 주차 칸을 모델링하고, 주차칸의 주차 여부 정보를 기초로 해당 주차칸에 차량 모델을 배치할지 여부를 판단하여 차량 모델을 배치한 주차장 모델을 생성할 수 있다.
또한, 주차장 모델 생성부(320)는 주차장의 진출입 통로에 배치된 진출입 관리 장비, 노면 표식을 반영하여 주차장 모델을 생성할 수 있다.
이러한 주차장 모델은 사용자 단말 장치(400)에 표출 가능한 포맷으로 전송되어, 사용자 단말 장치(400)의 화면에 표시될 수 있다.
한편, 주차장 모델 생성부(320)는 차량용 영상 촬영 장치(100)로부터 지속적으로 주차장 데이터를 수신하여 주차장 모델을 업데이트할 수 있다.
이 경우, 주차장 모델 생성부(320)는 주차장 데이터에 포함된 주차장 위치 정보 및 주차 공간 위치 정보를 기초로 주차장 모델을 업데이트할 수 있다.
예를 들어, 주차장 모델 생성부(320)는 제1 차량용 영상 촬영 장치(100-1)로부터 제1 주차장의 "3B-1"과 "3B-2" 사이의 주차 공간에 대한 주차장 데이터를 수신하면, 수신된 주차 데이터를 이용하여 해당 주차 공간에 모델링을 수행하고, 주차장 모델을 생성할 수 있다. 이 후, 제2 차량용 영상 촬영 장치(100-2)로부터 동일한 제1 주차장의 "3B-1"과 "3B-2" 사이의 주차 공간에 대한 주차장 데이터가 수신되면, 제2 차량용 영상 촬영 장치(100-2)로부터 수신된 주차장 데이터를 이용하여 해당 주차 공간에 대한 모델링을 수행하고, 기 생성된 주차장 모델을 업데이트할 수 있다.
이 때, 주차장 모델 생성부(320)는 수신된 주차장 데이터의 시간 순서로 최신 주차장 데이터를 반영하여 주차장 모델을 업데이트할 수 있다.
또한, 주차장 모델 생성부(320)는 주차장 모델 업데이트 시, 기 생성된 주차장 모델과 이 후 생성된 주차장 모델 간의 차이 부분만을 추출한 후, 해당 차이 부분만을 반영하여 주차장 모델의 업데이트를 수행할 수 있다.
이를 통해, 주차장 내부 전체를 나타내는 주차장 모델을 생성할 수 있으며, 주차장 내부의 변경사항을 빠르게 주차장 모델에 반영할 수 있다.
저장부(330)는 주차장 안내 서비스 제공 서버(300)의 동작을 위한 각종 데이터 및 프로그램을 저장할 수 있다. 여기서, 저장부(330)는 서비스 가입 정보 저장부(331), 주차장 모델 저장부(332) 및 주차장 데이터 저장부(333)을 포함할 수 있다.
구체적으로, 주차장 안내 서비스를 제공받길 원하는 사용자가 자신의 단말 장치(400)를 이용하여 해당 서비스에 회원가입하면, 서비스 가입 정보 저장부(331)는 회원가입을 통해 입력된 정보를 기초로 생성된 서비스 가입 정보를 저장할 수 있다. 여기서, 서비스 가입 정보 저장부(331)는 주차장 안내 서비스에 회원 가입한 가입자 정보, 및 해당 가입자의 장치 정보를 저장할 수 있다. 가입자 정보는 가입자 식별 정보 및 가입 서비스 정보를 포함할 수 있다.
가입 서비스 정보는 해당 가입자가 가입한 서비스를 상세하게 나타내는 정보로, 서비스 신청 내역, 요금제, 서비스 유효 기간, 데이터 율, 서비스 종류 등을 포함할 수 있다.
가입자 식별 정보는 복수의 가입자들 각각을 식별 가능하게 하는 정보로 가입자의 ID, 가입자의 비밀번호, 가입자의 주민등록번호, 가입자의 이름, 가입자의 닉네임, 가입자 PIN(Personal Identification Number) 등을 포함할 수 있다.
그리고, 가입자 장치 정보는 해당 가입자가 구매한 차량용 영상 촬영 장치(100)의 식별 정보, 차량용 통신 장치(200)의 식별 정보 중 적어도 하나를 포함할 수 있다. 여기서, 차량용 영상 촬영 장치(100)의 식별 정보는 복수의 차량용 영상 촬영 장치 각각을 식별 가능하게 하는 정보로, 차량용 영상 촬영 장치 모델명, 차량용 영상 촬영 장치 고유 시리얼 넘버 등을 포함할 수 있다. 그리고, 차량용 통신 장치(200)의 식별 정보는 복수의 차량용 통신 장치 각각을 식별 가능하게 하는 정보로, 동글 모델명, 동글 전화번호, 동글 시리얼 넘버, USIM(Universal Subscriber Identity Module) 시리얼 넘버 등을 포함할 수 있다.
또한, 가입자 장치 정보는 가입자의 단말 장치(400) 식별 정보를 더 포함할 수 있고, 사용자 단말 장치(400)의 식별 정보는 사용자 단말 장치(400)를 식별하기 위해 네트워크에서 부여된 고유 정보들인 IMSI(International Mobile Subscriber Identity), ICCID(Integrated Circuit Card ID), IMEI(International Mobile Equipment Identity)들을 포함할 수 있다.
이 경우, 서비스 가입 정보 저장부(331)는 서비스에 회원 가입한 가입자 별로 가입자 정보 및 가입자 장치 정보를 매칭하여 저장할 수 있다.
한편, 주차장 모델 저장부(332)는 주차장 모델 생성부(320)에서 생성된 주차장 모델을 저장할 수 있다.
또한, 주차장 데이터 저장부(333)는 차량용 영상 촬영 장치(100)에서 수신된 주차장 데이터를 저장할 수 있다.
이 경우, 주차장 모델 저장부(332)와 주차장 데이터 저장부(333)는 주차장 모델과 이에 대응되는 주차장 데이터를 매칭시켜 저장할 수 있다.
구체적으로, 주차장 모델 저장부(332)는 주차장 모델과 이에 대응되는 주차장 위치 정보, 주차 공간 정보, 주변 주차 차량 정보, 자차량 위치 정보, 시간 정보 및 주차장 영상을 매칭시켜 저장할 수 있다.
여기서, 저장부(330)는 서버(300)의 내장 모듈로 구현되거나 또는 별도의 데이터 베이스(Data Base : DB) 서버로 구현될 수 있다.
한편, 제어부(340)는 본 발명에 따른 주차장 안내 서비스가 제공되도록 주차장 안내 서비스 제공 서버(300)의 전반적인 동작을 제어할 수 있다.
이러한 주차장 안내 서비스 제공 서버(300)의 동작은 "신규 가입 과정", "블랙박스의 등록 과정", "사용자의 등록 과정" 과 서비스에 가입한 가입자에게 주차장 안내 서비스를 제공하는 "주차장 안내 서비스 제공 과정"으로 구분될 수 있다.
"신규 가입 과정"에서, 제어부(340)는 가입자로부터 서비스 회원 가입이 요청되면, 서비스 가입 절차를 개시하고 주차장 안내 서비스에 회원 가입한 가입자 정보 및 해당 가입자의 장치 정보를 획득하며, 획득된 정보를 분류하여 저장부(330)에 저장하도록 제어할 수 있다. 이에 따라, 저장부(330)는 서비스 가입자 정보 데이터 베이스를 구축할 수 있다.
"차량용 영상 촬영 장치의 등록 과정"을 수행하는 경우, 제어부(340)는 차량용 통신 장치(200)와의 통신을 통해 차량용 통신 장치(200)에 내장된 USIM(Universal Subscriber Identity Module) 칩과 같은 통신 장치를 식별하기 위한 고유 정보를 수신하고, 저장부(330)에 기 저장된 정보와 비교하여 등록 요청한 통신 장치(200)의 유효성을 확인할 수 있다.
마찬가지로, "사용자의 등록 과정"에서, 사용자 단말 장치(400)가 서버(300)에 접속하면, 제어부(340)는 사용자 단말 장치(400)에 내장된 USIM 과 같은 사용자 식별 정보를 획득한 후, 저장부(330)에 기 저장된 정보와 획득된 사용자 식별 정보를 비교하여 사용자 단말 장치(400)의 서비스 가입 여부와 가입한 서비스 종류 등을 확인할 수 있다. 만약, 사용자에 대한 인증이 성공적으로 완료되면, 제어부(340)는 사용자에게 할당된 권한을 기초로 다양한 UX 형태로 차량용 영상 장치(100)에 대한 각종 정보를 제공할 수 있다.
"주차장 안내 서비스 제공 과정"에서, 사용자 단말 장치(400)가 주차장 안내 서비스 제공 서버(300)에 접속하면, 제어부(340)는 접속한 사용자 단말 장치(400)의 사용자의 차량이 주차된 주차장에 대한 주차장 모델 및 주차장 데이터를 검출한 후, 사용자 단말 장치(400)에 주차장 안내 서비스를 제공할 수 있다. 여기서, 주차장 안내 서비스는 주차 가능 위치 안내 서비스, 차량 주차 위치 안내 서비스, 주차장 경로 안내 서비스 및 주차장 결제 서비스를 포함할 수 있다.
일 예로, 주차 가능 위치 안내 서비스를 제공하는 경우, 제어부(340)는 사용자 단말 장치(400)의 위치 정보를 기초로 주차장 진입시 사용자가 진입한 주차장의 정보를 검출하고, 주차장 데이터 저장부(333)에 저장된 주차장 데이터를 기초로 해당 주차장의 주차 가능 층수, 각 층에서의 주차 가능 공간의 위치, 주차 가능 공간에서 주차 가능 칸의 위치, 주차 가능 공간에서 주차 가능 칸의 개수 등을 검출할 수 있다. 그리고, 제어부(340)는 검출된 정보들을 기초로 주차를 하고자 하는 사용자의 단말 장치(400)에 주차장의 주차 가능 공간, 주차 가능 층수, 주차 가능 칸 등의 주차 가능 위치 등을 주차장 모델에 표시하는 주차 가능 위치 안내 서비스를 제공할 수 있다.
다른 예로, 차량 주차 위치 안내 서비스를 제공하는 경우, 제어부(340)는 주차장 데이터 저장부(333)에 저장된 주차장 데이터를 기초로 사용자 단말 장치(400) 사용자의 주차 위치 정보를 검출하고, 주차장 모델에 검출된 주차 위치 정보를 표시하는 차량 주차 위치 안내 서비스를 제공할 수 있다.
추가로, 주차장 안내 서비스 제공 서버(300)는 사용자 단말 장치(400)의 주차장 내 위치 정보를 판단할 수 있고, 이 경우, 제어부(340)는 사용자의 주차 위치 정보와 사용자 단말 장치(400)의 주차장 내 위치 정보를 기초로 사용자의 현재 위치에서 주차 위치까지의 최적의 이동 경로 및 거리를 주차장 모델에 표시하는 차량 주차 위치 안내 서비스를 제공할 수 있다. 여기서, 경로는 주차장 내 통행 방향을 고려하여 화살표 형상으로 표시될 수 있다. 일 예로, 사용자 단말 장치(400)는 도 13(b)와 같은 차량 주차 위치 안내 서비스를 위한 유저 인터페이스를 표시할 수 있다.
또 다른 예로, 주차장 경로 안내 서비스를 제공하는 경우, 제어부(340)는 주차장 모델 저장부(332)에 저장된 주차장 데이터를 기초로 사용자 단말 장치(400) 사용자의 주차 위치 정보를 검출하고, 해당 주차장의 출구 정보를 검출하며, 검출된 정보를 기초로 사용자 단말 장치(400)의 주차 위치에서 주차장 출구까지의 경로 및 거리를 주차장 모델에 표시하는 주차장 경로 안내 서비스를 제공할 수 있다. 여기서, 경로는 주차장 내 통행 방향을 고려하여 화살표 형상으로 표시될 수 있다. 일 예로, 사용자 단말 장치(400)는 도 13(a)와 같은 주차장 경로 안내 서비스를 위한 유저 인터페이스를 표시할 수 있다.
또한, 주차장 안내 서비스는 주차 충격 이벤트 안내 서비스를 더 포함할 수 있다. 여기서, 주차 충격 이벤트 안내 서비스에 대해서는 도 8을 참조하여 보다 구체적으로 설명하기로 한다.
도 8은 본 발명의 일 실시 예에 따른 주차 충격 이벤트를 발생을 나타낸 예시도 이다. 도 8을 참조하면, 주차장에 주차중인 제1 차량(a)은 그 옆에 주차하는 타 차량(c)의 충돌로 인하여 충격이 발생할 수 있다.
이 경우, 제2 차량(b)의 주변 차량 이벤트 판단부(185)는 소리, 전방 객체의 모션 등을 기초로 제1 차량(a)에 주차 충격 이벤트가 발생하였음을 판단할 수 있다.
또는, 제1 차량(a)의 충격 감지부(170)는 타 차량(c)의 충돌로부터 충격을 감지하고, 제1 차량(a)의 차량용 영상 촬영 장치(100)는 주차장 안내 서비스 제공 서버(300) 또는 제1 차량(a)의 사용자 단말 장치(400)에 충격 이벤트 발생을 알릴 수 있다. 이 경우, 주차장 안내 서비스 제공 서버(300) 또는 사용자 단말 장치(400)는 제1 차량(a) 주변에 위치한 차량, 일 예로 제2 차량(b)(즉, 제1 차량을 촬영하고 있는 차량)의 차량용 영상 촬영 장치(100)에 이벤트 발생을 알릴 수 있고, 제2 차량(b)의 주변 차량 이벤트 판단부(185)는 제1 차량(a)에서 이벤트가 발생하였다는 것을 인지할 수 있다.
한편, 제1 차량(a)에서 주차 충격 이벤트가 발생하였음이 인지되면, 제2 차량(b)의 차량용 영상 촬영 장치(100)는 주차장 데이터 생성부(175)에서 생성된 주차 데이터를 주차장 안내 서비스 제공 서버(300)에 전송할 수 있다. 이 경우, 주차장 안내 서비스 제공 서버(300)는 주차 충격 이벤트 안내 서비스를 제공할 수 있다. 구체적으로, 제어부(340)는 주차 데이터의 주차장 영상으로부터 제1 차량(a)에 충격을 발생시킨 차량(c)의 번호판을 검출할 수 있다. 또한, 제어부(340)는 주차 데이터로부터 충격이 발생한 주차장의 위치 정보, 층수 정보, 주차 공간의 위치 정보, 주차 칸의 위치 정보를 검출할 수 있다. 그리고, 제어부(340)는 검출된 정보들을 기초로 충격을 발생시키는 차량의 번호, 충격 발생 위치 등을 주차장 모델에 안내하는 주차 충격 이벤트 안내 서비스를 제공할 수 있다.
또한, 주차장 안내 서비스는 주차장 진입 전 안내 서비스를 더 포함할 수 있다. 즉, 주차장 진입 전 안내 서비스를 제공하는 경우, 제어부(340)는 사용자 단말 장치(400)의 위치 정보를 이용하여 주차장 모델 저장부(332)에 저장된 복수의 주차장에 대한 주차 데이터 중 사용자 단말 장치(400)의 근방에 위치한 주차장의 주차 데이터를 검출할 수 있다. 그리고, 제어부(340)는 검출된 주차 데이터에서 해당 주차장의 주차 가능 공간 정보를 검출하고, 검출된 정보를 기초로 해당 주차장의 주차 가능 칸의 개수, 해당 주차장의 요금을 표시하는 주차장 진입 전 안내 서비스를 사용자 단말 장치(400)에 제공할 수 있다.
이 경우, 사용자 단말 장치(400)는 도 12와 같은 주차장 진입 전 안내 유저 인터페이스를 표시할 수 있다. 즉, 도 12를 참조하면, 사용자 단말 장치(400)는 해당 주차장의 주차 가능 칸의 개수, 해당 주차장의 요금을 포함하는 유저 인터페이스(1250)를 표시할 수 있다. 추가로, 유저 인터페이스는 해당 주차장의 위치를 고려하여 주차장 진입 방향을 화살표로 표시할 수 있다. 참조번호 1200은 차량용 영상 촬영 장치(100)에 의해 획?姆? 영상으로, 차량의 클러스터 또는 차량에 장착된 별도의 디스플레이부를 통해 표시될 수다.
한편, 제어부(340)는 주차장 모델 생성부(320)에서 구축된 주차장 모델을 분석하여 사용자 단말 장치(400)에 다양한 서비스를 제공할 수 있다.
일 예로, 제어부(340)는 주차장 모델 생성부(320)에서 구축된 주차장 모델을 기초로 주차장의 주차칸 총 개수, 혼잡도, 주요 혼잡 시간, 실시간 잔여 주차칸 정보, 내차 주차 위치 정보를 생성하고, 생성된 정보를 주차장 모델에 매칭시켜 저장부(330)에 저장할 수 있다.
이 때, 제어부(340)는 주차장의 차있는 주차칸 개수를 주차장의 주차칸 총 개수로 나눈 값을 기 설정된 값과 비교하여 혼잡도를 산출할 수 있고, 일 예로, 0~30% 범위는 혼잡도 낮음, 30~60% 범위는 혼잡도 중간, 60~100% 범위는 혼잡도 높음으로 결정할 수 있다. 그리고, 제어부(340)는 산출된 혼잡도와 그 때의 시간 정보를 기초로 해당 주차장의 주요 혼잡 시간을 산출할 수 있다.
또한, 제어부(340)는 주차장의 요금 정보, 주차장의 운영 시간, 전기차 충전소 정보 등을 생성하고, 생성된 정보를 주차장 모델에 매칭시켜 저장부(330)에 저장할 수 있다. 여기서, 전기차 충전소 정보는 주차장의 전기차 주차칸 보유 여부, 전기차 주차칸 개수, 전기차 충전 요금, 전기차 충전소 운영 시간 등을 포함할 수 있다.
이 경우, 제어부(340)는 서버(300)에 접속한 사용자 단말 장치(400)에 주차칸 총 개수, 혼잡도, 주요 혼잡 시간, 요금 정보, 운영시간, 전기차 충전소 정보 등을 제공할 수 있다.
또한, 제어부(340)는 차량이 주차된 주차 위치 정보를 기초로 주차 위치가 실외라고 판단되면, 촬영 영상 데이터의 분석 및/또는 위치 정보를 기초로 주차 위치가 이면도로 주차칸인지 여부 및/또는 노상 주차칸인지 여부를 판단하고, 판단 결과를 저장부(330)에 저장할 수 있다. 이 경우, 제어부(340)는 서버(300)에 접속한 사용자 단말 장치(400)에 사용자 주차 위치가 이면도로 주차칸인지 여부 및/또는 노상 주차칸인지 여부를 제공할 수 있다.
또한, 제어부(340)는 차량이 주차된 주차장의 위치를 기초로 소정 거리 범위 내에 위치한 상권을 분석할 수 있다. 구체적으로, 제어부(340)는 차량이 주차된 주차장의 위치를 기초로 소정 거리 범위 내에 위치한 상가 들의 종류(ex. 음식점, PC 방, 자동차 수리점 등), 상가들의 임대료, 상가들의 유지 기간 등을 기초로 상권의 트렌드를 분석할 수 있다. 이 경우, 제어부(340)는 해당 주차장을 방문하려는 사용자의 단말 장치(400)에 사용자가 주차한 주차 위치 근방의 상권 트렌드 분석 결과를 제공할 수 있다.
또한, 제어부(340)는 차량의 주차가 예상되는 주차장 및 예상 주차 시간을 차량의 목적지, 차량의 위치 및 교통 상황 등을 기초로 미리 예측하고, 예상 주차장의 상황을 고려하여 연계 및/또는 대체 주차장을 사용자 단말 장치(400)에 안내할 수 있다. 일 예로, 차량의 예상 주차장이 예상 주차 시간에 혼잡도가 높거나 또는 주차가 불가능한 경우, 제어부(340)는 예상 주차장에 연계된 다른 주차장을 사용자 단말 장치(400)에 안내할 수 있다. 다른 예로, 차량의 예상 주차장과 동일 주차장을 다른 차량이 방문 후 인근에 주차한 이력이 있는 경우, 제어부(340)는 인근 주차장을 대체 주차장으로 사용자 단말 장치(400)에 안내할 수 있다.
또한, 제어부(340)는 차량용 영상 촬영 장치(100)에서 촬영된 영상들을 기초로 주차장의 위험 상황 여부(ex. 화재 발생, 주차장 내부 사고 발생 등)를 판단하고, 판단 결과를 저장부(330)에 저장할 수도 있다. 이 경우, 제어부(340)는 해당 주차장을 방문하려는 사용자의 단말 장치(400)에 위험 상황 여부 정보를 제공할 수 있다.
한편, 제어부(340)는 각각 다른 차량에 구비된 복수의 차량용 영상 촬영 장치(100)간의 데이터 통신을 중개하여 복수의 차량용 영상 촬영 장치(100)들이 서로 통신 연결되도록 할 수 있다. 일 예로, 서버(300)는 클라우드 서버로 구현될 수 있다.
구체적으로, 제어부(340)는 사용자들 간의 이벤트 감시 기능을 수행할 수 있다. 즉, 차량용 영상 촬영 장치(100)는 타 차량에 대한 이벤트 발생 여부를 판단할 수 있다. 일 예로, 차량용 영상 촬영 장치(100)는 영상 분석을 통하여 타 차량에 충격 이벤트, 사고 이벤트 등 타 차량에 알림이 필요한 상황이 발생하였는지 여부를 판단할 수 있다. 만약, 이벤트 발생으로 판단되면, 차량용 영상 촬영 장치(100)는 이벤트 영상을 서버(300)에 업로드할 수 있고, 서버(300)의 제어부(340)는 이벤트 발생 당사자인 사용자의 단말 장치(400)를 판단하고, 해당 사용자의 단말 장치(400)에 타 차량 주변에 위치한 차량들의 차량용 영상 촬영 장치(100)에서 촬영된 영상을 전송하며, 영상 데이터를 거래할 수 있는 중개 서비스를 제공할 수 있다.
뿐만 아니라, 제어부(340)는 차량 외에 인명사고 또는 도난 사고 이벤트에 대해서도 동일한 방식으로 중개 서비스를 제공할 수 있다.
또한, 제어부(340)는 타 차량에 대한 단속 이벤트 발생 여부에 대해서도 동일한 방식으로 중개 서비스를 제공할 수 있다.
도 9는 본 발명의 일 실시 예에 따른 사용자 단말 장치를 나타내는 블록도 이다. 도 9를 참조하면, 사용자 단말 장치(400)는 통신부(410), 저장부(420), 입력부(430), 출력부(440), 제어부(450)의 전부 또는 일부를 포함할 수 있다.
통신부(410)는 사용자 단말 장치(400)가 다른 디바이스와 통신하기 위하여 마련될 수 있다. 구체적으로, 사용자 단말 장치(400)는 통신부(410)를 통하여 차량용 영상 촬영 장치(100), 차량용 통신 장치(200) 및 주차장 안내 서비스 제공 서버(300) 중 적어도 하나와 데이터를 송수신할 수 있다.
예를 들어, 통신부(410)는 차량용 영상 촬영 장치(100)에서 생성된 데이터를 저장하는 주차장 안내 서비스 제공 서버(300)에 접속하고, 주차장 안내 서비스 제공 서버(300)로부터 주차장 안내 서비스를 위한 각종 데이터를 수신할 수 있다.
여기서, 통신부(410)는 근거리 통신망(LAN : Local Area Network) 및 인터넷망을 통해 무선 또는 유선방식으로 접속되는 형태, USB(Universal Serial Bus)포트를 통하여 접속되는 형태, 3G, 4G와 같은 이동 통신망을 통해 접속되는 형태, NFC(Near Field Communication, RFID(Radio Frequency Identification), Wi-Fi등과 같은 근거리 무선 통신방식을 통해 접속되는 형태 등과 같이 다양한 통신 방식을 이용하여 구현될 수 있다.
저장부(420)는 사용자 단말 장치(400)의 동작에 필요한 다양한 데이터 및 어플리케이션을 저장하는 기능을 한다. 특히, 저장부(420)는 본 발명의 일 실시 예에 따른 "주차장 안내 서비스 제공 어플리케이션"을 저장할 수 있다.
여기서, 저장부(420)는 RAM(Random Access Memory), 플레시메모리, ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electronically Erasable and Programmable ROM), 레지스터, 하드디스크, 리무버블 디스크, 메모리 카드, USIM(Universal Subscriber Identity Module)등과 같은 내장된 형태의 저장소자는 물론, USB 메모리 등과 같은 착탈가능한 형태의 저장소자로 구현될 수도 있다.
입력부(430)는 사용자 단말 장치(400)의 외부로부터의 물리적 입력을 특정한 전기 신호로 변환하는 기능을 한다. 여기서, 입력부(430)는 사용자 입력부와 마이크부의 전부 또는 일부를 포함할 수 있다.
사용자 입력부는 터치, 제스처, 푸쉬동작 등과 같은 사용자 입력을 수신할 수 있다. 여기서 사용자 입력부는 다양한 버튼의 형태, 터치 입력을 수신하는 터치 센서, 접근하는 모션을 수신하는 근접 센서 등으로 구현될 수 있다. 그리고 마이크부는 사용자의 음성 및 차량의 내외부에서 발생한 소리를 수신할 수 있다.
출력부(440)는 사용자 단말 장치(400)의 데이터를 출력하는 구성으로 출력부(440)는 디스플레이부(441)와 오디오 출력부(443)를 포함할 수 있다
디스플레이부(441)는 사용자 단말 장치(400)의 사용자가 시각적으로 인식할 수 있는 데이터를 출력할 수 있다. 특히, 디스플레이부(441)는 본 발명의 일 실시 예에 따른 "주차장 안내 서비스 제공 어플리케이션" 실행에 따른 주차장 안내 서비스에 대응되는 유저 인터페이스(User Interface)를 표시할 수 있다.
여기서, 주차장 안내 서비스 유저 인터페이스는 주차 가능 위치 안내 유저 인터페이스, 차량 주차 위치 안내 유저 인터페이스, 주차장 경로 안내 유저 인터페이스, 주차 충격 이벤트 안내 유저 인터페이스를 포함할 수 있다.
한편, 오디오 출력부(443)는 사용자 단말 장치(400)의 사용자가 청각적으로 인식할 수 있는 데이터를 출력할 수 있다. 여기서, 오디오 출력부(443)는 사용자 단말 장치(400)의 사용자에게 알려야 할 데이터를 소리를 표현하는 스피커로 구현될 수 있다.
제어부(450)는 사용자 단말 장치(400)의 전반적인 동작을 제어한다. 구체적으로, 제어부(450)는 통신부(410), 저장부(420), 입력부(430), 출력부(440)의 전부 또는 일부를 제어할 수 있다. 특히, 제어부(450)는 통신부(410)를 통해 차량용 영상 촬영 장치(100), 차량용 통신 장치(200) 및/또는 주차장 안내 서비스 제공 서버(300)에서 각종 데이터가 수신되면, 수신된 데이터를 가공해서 유저 인터페이스를 생성하고, 생성된 유저 인터페이스를 표시하도록 디스플레이부(441)를 제어할 수 있다.
제어부(450)는 광고, 인터넷, 게임, 동영상 등을 제공하는 어플리케이션들을 실행할 수 있다. 다양한 실시 예들에서, 제어부(450)는 하나의 프로세서 코어(Single core)를 포함하거나, 복수의 프로세서 코어들을 포함할 수 있다. 예를 들면, 제어부(450)는 예를 들면, 듀얼 코어(dual-core), 쿼드 코어(quad-core), 헥사 코어(hexa-core) 등의 멀티 코어(multi-core)를 포함할 수 있다. 실시 예들에 따라, 제어부(450)는 내부 또는 외부에 위치된 캐시 메모리(cache memory)를 더 포함할 수 있다.
제어부(450)는 사용자 단말 장치(400)의 다른 구성 요소들의 명령을 수신할 수 있고, 수신된 명령을 해석할 수 있으며, 해석된 명령에 따라 계산을 수행하거나 데이터를 처리할 수 있다.
제어부(450)는 어플리케이션에서 생성되거나 발생되는 데이터 또는 신호를 처리할 수 있다. 예를 들면, 제어부(450)는 어플리케이션을 실행하거나 제어하기 위해 저장부(420)에게 명령어, 데이터 또는 신호를 요청할 수 있다. 제어부(450)는 어플리케이션을 실행하거나 제어하기 위해 저장부(420)에게 명령어, 데이터, 또는 신호를 기록(또는 저장)하거나 갱신할 수 있다.
제어부(450)는 통신부(410), 저장부(420), 입력부(430), 출력부(440)로부터 수신되는 메시지, 데이터, 명령어, 또는 신호를 해석할 수 있고, 가공할 수 있다. 또한, 제어부(450)는 수신된 메시지, 데이터, 명령어, 또는 신호에 기반하여 새로운 메시지, 데이터, 명령어, 또는 신호를 생성할 수 있다. 제어부(450)는 가공되거나 생성된 메시지, 데이터, 명령어, 또는 신호를 통신부(410), 저장부(420), 입력부(430), 출력부(440) 등에게 제공할 수 있다.
제어부(450)의 전부 또는 일부는 사용자 단말 장치(400) 내의 다른 구성 요소(예를 들면, 통신부(410), 저장부(420), 입력부(430), 출력부(440))와 전기적으로(electrically) 또는 기능적으로(operably) 결합(coupled with)되거나 연결될(connected to) 수 있다.
실시 예들에 따라, 제어부(450)는 하나 또는 그 이상의 프로세서로 구성될 수 있다. 예를 들면, 제어부(450)는 응용 프로그램 등과 같은 상위 계층의 프로그램을 제어하는 AP(application processor) 또는 통신을 위한 제어를 수행하는 CP(communication processor) 등을 포함할 수 있다.
한편, 상술한 입력부(430)는, 사용자로부터 지시(instruction), 인터렉션(interaction), 또는 데이터를 수신할 수 있다. 입력부(430)는 손가락 및 펜의 터치 또는 호버링(hovering) 입력을 감지(sense)할 수 있다. 입력부(430)는 회전 가능한 구조체 또는 물리적 버튼을 통해 야기되는 입력을 감지할 수 있다. 입력부(430)는 다양한 종류의 입력들을 감지하기 위한 센서들을 포함할 수 있다. 입력부(430)에 수신되는 입력은 다양한 유형들을 가질 수 있다. 예를 들면, 입력부(430)에 수신되는 입력은 터치 및 릴리즈(touch and release), 드래그 앤 드롭(drag and drop), 롱 터치(long touch), 포스 터치(force touch), 물리적 누름(depression) 등을 포함할 수 있다. 입력부(430)는 수신된 입력 및 수신된 입력과 관련된 데이터를 제어부(450)에게 제공할 수 있다. 다양한 실시예들에서, 도 4에서 미도시하였으나, 입력부(430)는, 사용자의 음성 명령을 수신할 수 있는 마이크로폰(microphone 또는 트랜스듀서(transducer))를 포함할 수 있다. 다양한 실시예들에서, 도 4에서 미도시하였으나, 입력부(430)는, 사용자의 모션을 수신할 수 있는 이미지 센서(image sensor) 또는 카메라(camera)를 포함할 수 있다.
한편, 상술한 디스플레이부(441)는 컨텐츠, 데이터, 또는 신호를 출력할 수 있다. 다양한 실시예들에서, 디스플레이부(441)는 제어부(450)에 의해 가공된 영상 신호를 표시할 수 있다. 예를 들면, 디스플레이부(441)는 캡쳐(capture) 또는 스틸(still) 이미지를 표시할 수 있다. 다른 예를 들면, 디스플레이부(441)는 동영상 또는 카메라 프리뷰(preview) 이미지를 표시할 수 있다. 또 다른 예를 들면, 디스플레이부(441)는 사용자가 단말 장치(400)와 상호작용할 수 있도록 GUI(graphical user interface)를 표시할 수 있다.
디스플레이부(441)는 LCD(liquid crystal display) 또는 OLED(organic light emitting diode)로 구성(configured with)될 수 있다.
실시예들에 따라, 디스플레이부(441)는 터치 입력 등을 수신할 수 있는 센서와 함께 결합됨으로써, 일체형의 터치 스크린(touch screen)으로 구성될(configured with) 수도 있다.
다양한 실시 예들에서, 제어부(450)는, 입력부(430)가 사용자 단말 장치(400)가 사용자에게 제공할 수 있는 복수의 기능들 중에서 적어도 하나의 기능을 가지도록, 상기 적어도 하나의 기능을 입력부(430)에 매핑할 수 있다. 예를 들면, 상기 적어도 하나의 기능은, 어플리케이션 실행 기능, 차량의 주차 위치 안내 기능, 차량용 영상 촬영 장치(100)의 실시간 촬영 영상 보기 기능인 라이브 뷰 보기 기능, 차량용 영상 촬영 장치(100) 전원 온/오프 제어 기능, 차량 전원 온/오프 기능, 차량의 주차/주행 모드 안내 기능, 이벤트 발생 안내 기능, 현재 차량 위치 조회 기능, 차량 주차 위치 및 주차 시간 안내 기능, 주차 히스토리 안내 기능, 주행 히스토리 안내 기능, 영상 공유 기능, 이벤트 히스토리 기능, 원격 재생 기능, 영상 보기 기능 중 적어도 하나를 포함할 수 있다.
다양한 실시예들에서, 입력부(430)는 제어부(450)로부터 상기 구성 정보를 수신할 수 있다. 입력부(430)는 상기 구성 정보에 기반하여, 상기 기능을 나타내기 위한 인디케이션을 표시할 수 있다.
다양한 실시예들에서, 제어부(450)는, 입력부(430)에 맵핑된 상기 적어도 하나의 기능이 무엇인지를 나타내기 위해, 입력부(430)에게 구성 정보(configuration information)를 송신할 수 있다. 상기 구성 정보는, 상기 복수의 기능들 중 어떤 기능이 입력부(430)를 통해 제공되는지를 나타내기 위한 인디케이션을 디스플레이부(411)를 통해 표시하기 위한 데이터를 포함할 수 있다. 상기 구성 정보는, 상기 복수의 기능들 중 제어부(450)에 의해 선택된 기능을 나타내기 위한 데이터를 포함할 수 있다.
또한, 제어부(450)는 주차장 안내 서비스 제공 서버(300)로부터 수신된 데이터를 기초로 유저 인터페이스를 생성하고, 상기 생성된 유저 인터페이스를 표시하도록 디스플레이부(441)를 제어할 수 있다.
한편, 자차량이 주차가 완료되는 경우, 제어부(150)는 자차의 주차 위치 정보를 자동으로 생성하고, 자동 생성된 주차 위치 정보를 기초로 유저 인터페이스를 생성하고, 생성된 유저 인터페이스를 표시하도록 디스플레이부(441)를 제어할 수도 있다. 이때, 제어부(450)는 사용자 단말 장치(400)에 구비된 GPS 등의 위성항법장치를 이용하여 자차의 주차 위치 정보를 생성할 수 있다.
구체적으로, 제어부(150)는 사용자 단말 장치(400)와 자차량의 블루투스 연결 여부나 차량용 어플리케이션(예를 들어, 애플TM CarplayTM, 안드로이드TM의 오토TM, 네비게이션, 주차장 안내 서비스 제공 어플리케이션 등)의 연결 여부를 기초로 자차의 주차 위치 정보를 생성할 수 있다.
예를 들어, 제어부(150)는 사용자 단말 장치(400)와 자차량의 블루투스 연결이 끊어지는 시점의 사용자 단말 장치(400)의 위치를 자차의 주차 위치 정보로 생성할 수 있다.
이를 통해, 사용자 단말 장치(400)는 주차장 안내 서비스 제공 서버(300)에서 자차량의 주차 위치 정보를 생성하지 못한 경우나 잘못 생성한 경우에도 사용자에게 차량 주차 위치 안내 서비스를 제공할 수 있다.
도 10은 본 발명의 일 실시 예에 따른 주차장 안내 서비스 제공 방법을 나타내는 타이밍도 이다.
도 10을 참조하면, 복수의 차량용 영상 촬영 장치(100)들 각각은 촬영을 수행하여 주차장 영상을 획득할 수 있다(S1010). 여기서, 주차장 영상은 차량의 주차장 진입 시점으로부터 차량의 주차장 출차 시점까지의 기간 동안 촬영된 영상을 포함할 수 있다.
그리고, 복수의 차량용 영상 촬영 장치(100)들 각각은 주차장 위치 정보, 주차 공간 정보, 주변 주차 차량 정보 및 자차량 위치 정보 중 적어도 하나를 생성할 수 있다(S1020). 여기서, 단계 S1020은 상술한 주차장 위치 정보 생성부(175-1), 주차 공간 정보 생성부(175-2), 주차 차량 정보 생성부(175-3), 자차량 위치 정보 생성부(175-4), AI(Artificial Intelligence) 처리부(175-5)에서 수행될 수 있다.
그리고, 복수의 차량용 영상 촬영 장치(100)들 각각은 상기 생성된 정보에 시간 정보 및 주차장 영상을 결합하여 주차장 데이터를 생성하고(S1025), 생성된 주차장 데이터를 주차장 안내 서비스 제공 서버(300)에 전송할 수 있다(S1030).
이 경우, 주차장 안내 서비스 제공 서버(300)는 수신된 주차장 데이터를 이용하여 주차장에 대한 실시간 상황을 나타내는 주차장 모델을 생성할 수 있다(S1040). 여기서, 주차장 모델 생성부(320)에 의해 생성된 주차장 모델은 3D 형상의 모델일 수 있다.
그리고, 주차장 안내 서비스 제공 서버(300)는 생성된 주차장 모델과 주차장 데이터를 매칭시켜 저장할 수 있다(S1050). 구체적으로, 저장하는 단계(S1050)는 주차장 모델과 이에 대응되는 주차장 위치 정보, 주차 공간 정보, 주변 주차 차량 정보, 자차량 위치 정보, 시간 정보 및 주차장 영상을 매칭시켜 저장할 수 있다.
한편, 복수의 차량용 영상 촬영 장치(100)들 각각은 주차장 데이터의 업데이트가 필요한지 여부를 판단하고(S1055), 업데이트가 필요한 경우(S1055:Y) 주차장 데이터를 업데이트하고(S1060), 업데이트된 주차장 데이터를 주차장 안내 서비스 제공 서버(300)로 전송할 수 있다(S1065).
여기서, 주차장 데이터의 업데이트 조건은 차량의 자차의 주변 차량의 출차로 인하여 주차장 영상에 변화가 생기는 경우, 기 설정된 주기가 도래한 경우 등을 포함할 수 있다.
한편, 주차장 안내 서비스 제공 서버(300)는 수신된 주차장 데이터를 이용하여 기 생성된 주차장 모델 및 주차장 데이터를 업데이트할 수 있다(S1070). 구체적으로, 주차장 안내 서비스 제공 서버(300)는 기 생성된 주차장 모델과 이 후 생성된 주차장 모델 간의 차이 부분만을 추출한 후, 해당 차이 부분만을 반영하여 주차장 모델의 업데이트를 수행할 수 있다.
한편, 주차장 안내 서비스 제공 서버(300)는 접속한 사용자 단말 장치(400)로부터 서비스 제공 요청을 수신할 수 있다(S1080).
이 경우, 주차장 안내 서비스 제공 서버(300)는 주차장 모델 및 주차장 데이터를 기초로 사용자 요청에 부합하는 주차장 안내 서비스를 제공할 수 있다(S1085).
이 경우, 사용자 단말 장치(400)는 주차장 안내 서비스 제공 서버(300)에서 제공되는 서비스에 대응되는 주차장 안내 서비스 유저 인터페이스를 표시할 수 있다(S1090). 여기서, 유저 인터페이스는 주차 가능 위치 안내 유저 인터페이스, 차량 주차 위치 안내 유저 인터페이스, 주차장 경로 안내 유저 인터페이스를 포함할 수 있다.
한편, 주차장 안내 서비스 제공 서버(300)는 사용자의 서비스 제공 요청이 없어도 특정 조건에 따라 서비스 관련 알람을 사용자 단말 장치(400)로 제공할 수 있다. 이때, 서비스 관련 알람은 주차 위치 안내 서비스에 관련된 알람으로, 자차량의 주차 위치나 차량 주차 위치 안내 유저 인터페이스로 연결되는 링크 데이터일 수 있다.
구체적으로, 특정 조건에는 사용자의 차량 하차가 감지되는 경우, 사용자가 주차된 차량을 찾으려는 행동이 감지되는 경우(예를 들어, 주차장으로 이동하는 경우, 차량 원격 시동, 네비게이션 실행하는 경우, 등) 및 주차 후 소정 시간 간격 등이 포함될 수 있다. 여기서, 특정 조건은 사용자 단말 장치(400)나 차량용 영상 촬영 장치(100)등으로부터 수신될 수 있다.
도 11은 본 발명의 다른 실시 예에 따른 주차장 안내 서비스 제공 방법을 나타내는 타이밍도 이다.
도 11을 참조하면, 복수의 차량용 영상 촬영 장치(100)들 각각은 촬영을 수행하여 주차장 영상을 획득할 수 있다(S1110). 그리고, 복수의 차량용 영상 촬영 장치(100)들 각각은 주차장 위치 정보, 주차 공간 정보, 주변 주차 차량 정보 및 자차량 위치 정보 중 적어도 하나를 생성할 수 있다(S1120).
그리고, 복수의 차량용 영상 촬영 장치(100)들 각각은 상기 생성된 정보에 시간 정보 및 주차장 영상을 결합하여 주차장 데이터를 생성하고(S1125), 생성된 주차장 데이터를 주차장 안내 서비스 제공 서버(300)에 전송할 수 있다(S1130).
이 경우, 주차장 안내 서비스 제공 서버(300)는 수신된 주차장 데이터를 이용하여 주차장에 대한 실시간 상황을 나타내는 주차장 모델을 생성할 수 있다(S1140). 그리고, 주차장 안내 서비스 제공 서버(300)는 생성된 주차장 모델과 주차장 데이터를 매칭시켜 저장할 수 있다(S1150).
한편, 복수의 차량용 영상 촬영 장치(100)들 각각은 자차의 주변에서 주차 중인 타차량의 이벤트 발생 여부를 판단할 수 있다(S1155).
일 예로, 복수의 차량용 영상 촬영 장치(100)들 각각은 소리, 전방 객체의 모션 등을 기초로 상기 주변 차량 이벤트 발생 여부를 판단할 수 있다. 또는, 복수의 차량용 영상 촬영 장치(100)들 각각은 원격에서의 요청에 따라 주변 차량 이벤트의 발생 여부를 판단할 수 있다.
만약, 주변 차량 충격 이벤트가 발생한 것으로 판단되면(S1155:Y), 복수의 차량용 영상 촬영 장치(100)들 각각은 주차장 데이터를 업데이트하고(S1160), 업데이트된 주차장 데이터를 주차장 안내 서비스 제공 서버(300)로 전송할 수 있다(S1165). 여기서, 업데이트된 주차장 데이터는 주변 차량 충격 이벤트 발생 시점의 소정 시간 전 및 후의 데이터를 포함할 수 있다.
한편, 주차장 안내 서비스 제공 서버(300)는 수신된 주차장 데이터를 이용하여 기 생성된 주차장 모델 및 주차장 데이터를 업데이트할 수 있다(S1170).
그리고, 주차장 안내 서비스 제공 서버(300)는 업데이트된 주차장 데이터로부터 충격을 발생시킨 차량 정보를 생성할 수 있다(S1180). 여기서, 충격을 발생시킨 차량 정보는 차량 번호 정보, 충격이 발생한 주차장의 위치 정보, 층수 정보, 주차 공간의 위치 정보, 주차 칸의 위치 정보를 포함할 수 있다.
그리고, 주차장 안내 서비스 제공 서버(300)는 생성된 충격을 발생시킨 차량 정보를 기초로 충격받은 차량 사용자의 단말 장치(400)에 주차 충격 이벤트 안내 서비스를 제공할 수 있다(S1185).
이 경우, 사용자 단말 장치(400)는 주차장 안내 서비스 제공 서버(300)에서 제공되는 서비스에 대응되는 주차 충격 이벤트 안내 유저 인터페이스를 표시할 수 있다(S1190). 여기서, 유저 인터페이스는 충격을 발생시키는 차량의 번호, 충격 발생 위치 등을 표시할 수 있다.
도 14는 본 발명의 또 다른 실시 예에 따른 주차장 결제 서비스 제공 방법을 나타내는 타이밍도 이다.
도 14를 참조하면, 주차장 서비스 제공 서버(300)는 주차장 영상을 획득하고, 주차장 위치 정보, 주차 공간 정보, 주변 주차 차량 정보 및 자차 위치 정보를 생성하고, 생성된 정보에 시간 정보 및 주차장 영상을 결합하여 주차장 데이터를 생성할 수 있다(S1210).
그리고, 주차장 서비스 제공 서버(300)는 생성된 주차장 데이터를 주차장 결제 서버(500)로 전송(S1220)하고, 주차장 결제 서버(500)는 주차장 데이터를 기초로 결제 정보를 생성할 수 있다(S1230). 여기서, 결제 정보는 해당 차량의 주차 요금, 주차 시간, 차량 종류, 페널티 및 인센티브 정보 등이 포함될 수 있다.
구체적으로, 주차장 결제 서버(500)는 주차장 데이터 내 자차 위치 정보를 기초로 페널티 정보 또는 인센티브 정보를 산출하고, 산출된 패널티 또는 인센티브 정보와 시간 정보를 기초로 해당 차량의 주차 요금을 산출하여 결제 정보를 생성 후, 결제 정보를 생성할 수 있다. 여기서, 페널티 정보나 인센티브 정보는 해당 차량의 주차 위치에 따른 주차 요금의 가감산율에 관련된 정보로써, 차량의 주차 위치와 주차한 시간에 따라 다르게 결정될 수 있다.
예를 들어, 비장애인 차량이 장애인 주차 구역에 주차한 경우에 주차장 결제 서버(500)는 주차한 시간에 비례한 주차 요금 감산율을 페널티 정보를 산출하고, 주차한 시간에 따른 주차 요금에 페널티 정보를 적용하여 주차 요금을 산출할 수 있다.
다른 예로, 주차 구역이 아닌 구역에 주차한 경우, 경차 구역에 중형차가 주차한 경우, 타 차량의 주차를 방해되도록 주차한 경우(주차 구역을 일부 벗어나게 주차한 경우) 등에도 주차장 결제 서버(500)는 페널티 정보를 산출하고 결제 정보를 생성할 수 있다.
또한, 주차장 결제 서버(500)는 할인 정보를 기초로 인센티브 정보를 산출하고, 산출된 인센티브 정보와 시간 정보를 기초로 해당 차량의 주차 요금을 산출하여 결제 정보를 생성할 수 있다. 여기서, 할인 정보에는 해당 주차장이 위치한 건물 내 카드 결제 내역, 주차 할인권, 다둥이 할인, 전기차 할인, 장애인 할인 등과 같은 주차 요금 할인과 관련된 여러 정보들이 포함될 수 있으며, 이러한 할인 정보는 주차장 서비스 제공 서버(300)로부터 기 입력되거나 사용자 단말 장치(400)로부터 수신될 수 있다.
그리고, 주차장 결제 서버(500)는 생성된 결제 정보를 사용자 단말 장치(400)로 전송(S1240)하고, 사용자 단말 장치(400)는 결제 정보를 기초로 주차 결제 안내 유저 인터페이스를 표시할 수 있다(S1250). 여기서, 주차 결제 안내 유저 인터페이스에는 주차 현황(주차 시간, 주차 구역 등), 주차 요금 조회 및 주차 요금 결제 등이 포함될 수 있다.
또한, 사용자 단말 장치(400)는 주차 결제 안내 유저 인터페이스를 기초로 사용자로부터 결제 요청을 수신(S1260)하고, 주차장 결제 서버(500)로 결제 요청을 전송할 수 있다(S1270). 이때, 결제 요청에는 주차 요금을 결제하기 위한 카드 정보가 포함될 수 있다.
그리고, 주차장 결제 서버(500)는 결제 요청을 기초로 해당 차량의 주차 요금을 결제하고, 해당 주차장의 차단기 제어할 수 있다(S1280).
도 15는 본 발명의 일 실시 예에 따른 차량의 자율 주행 시스템(1500)을 도시하는 블록도 이다.
도 15에 따른 차량의 자율 주행 시스템(1500)은 센서들(1503), 이미지 전처리기(1505), 딥 러닝 네트워크(1507), 인공 지능(AI) 프로세서(1509), 차량 제어 모듈(1511), 네트워크 인터페이스(1513), 및 통신부(1515)를 포함하는 딥러닝 네트워크이다. 다양한 실시 예에서, 각 요소들은 다양한 인터페이스를 통해 연결될 수 있다. 예를 들어, 센서들(1503)에 의해 센싱되어 출력되는 센서 데이터는 이미지 전처리기(1505)로 피드(feed)된다. 이미지 전처리기(1505)에 의해 처리된 센서 데이터는 AI 프로세서(1509)에서 실행(run)하는 딥러닝 네트워크(1507)에 피드된다. AI 프로세서(1509)에서 실행(run)하는 딥러닝 네트워크(1507)의 출력은 차량 제어 모듈(1511)에 피드된다. AI 프로세서(1507)에서 실행(run)하는 딥러닝 네트워크(1507)의 중간 결과들은 AI 프로세서(1509)로 피드되어, 드된다. 다양한 실시 예에서, 네트워크 인터페이스(1513)는 차량의 자율 주행 동작에 기반하여, 원격 서버들과 통신을 수행하고, 원격 서버들과 통신을 통해 송수신된 정보들을 내부 블록 구성들로 전달한다. 또한, 네트워크 인터페이스(1513)는 센서(들)(1503)에서 취득된 센서 데이터를 원격 서버 또는 내부 블록 구성들로 전송하는 데 등에 이용된다. 일부 실시 예에서, 자율 주행 시스템(1500)은 적절하게(as appropriate) 추가적인 또는 보다 더 적은 구성 요소들을 포함할 수 있다. 예를 들어, 일부 실시 예에서, 이미지 전처리기(1505)는 선택적인 구성요소이다. 또 다른 예시에 따르면, 일부 실시 예에서, (나타나지 않은) 후처리 구성 요소는 출력이 차량 제어 모듈(1511)로 제공되기 전에 딥러닝 네트워크(1507)의 출력에서 후처리를 수행하는 데 사용된다.
일부 실시 예에서, 센서들(1503)은 하나 이상의 센서들을 포함한다. 다양한 실시 예에서, 센서들(1503)은 차량의 상이한 위치들에, 및/또는 하나 이상의 상이한 방향들을 향하게 부착될 수 있다. 예를 들어, 센서들(1503)은 전면(forward-facing), 후면(rear-facing), 측면(side-facing) 등 방향들로 차량의 앞(front), 옆(sides), 뒤(rear), 및/또는 루프(roof)에 부착될 수 있다. 일부 실시 예에서, 센서들(1503)은 높은 동적 범위 카메라들(high dynamic range cameras)과 같은 이미지 센서들일 수 있다. 일부 실시 예에서, 센서들(1503)은 비-시각적 센서들(non-visual sensors)을 포함한다. 일부 실시 예에서, 센서들(1503)은 이미지 센서 외에도 레이더(RADAR), LiDAR(Light Detection And Ranging), 및/또는 초음파 센서들을 포함한다. 일부 실시 예에서, 센서들(1503)은 차량 제어 모듈(1511)을 갖는 차량에 장착(mounted)되지 않는다. 예를 들어, 센서들(1503)은 센서 데이터를 캡쳐하기 위한 딥러닝 시스템의 부분으로서 포함되고 환경 또는 도로에 부착 및/또는 주변의 차량들에 장착될 수 있다.
일부 실시 예에서, 이미지 전처리기(Image pre-processor)(1505)는 센서들(1503)의 센서 데이터를 전처리하는 데 사용된다. 예를 들어, 이미지 전처리기(1505)는 센서 데이터를 전처리하는 데, 하나 이상의 구성 요소들로 센서 데이터를 스플릿(split)하는 데, 및/또는 하나 이상의 구성 요소들을 후처리 하는 데 사용될 수 있다. 일부 실시 예에서, 이미지 전처리기(1505)는 그래픽 처리 장치(graphics processing unit; GPU), 중앙 처리 장치(central processing unit; CPU), 이미지 신호 프로세서, 또는 전문화된 이미지 프로세서(specialized image processor)일 수 있다. 다양한 실시 예에서, 이미지 전처리기(1505)는 높은 동적 범위 데이터(high dynamic range data)를 처리하기 위한 톤-맵퍼(tone-mapper) 프로세서일 수 있다. 일부 실시 예에서, 이미지 전처리기(1505)는 AI 프로세서(1509)의 구성 요소일 수 있다.
일부 실시 예에서, 딥 러닝 네트워크(Deep learning network)(1507)는 자율 차량을 제어하기 위한 제어 명령들을 구현하기 위한 딥 러닝 네트워크이다. 예를 들어, 딥 러닝 네트워크(1507)는 센서 데이터를 사용하여 트레이닝된 컨볼루션 뉴럴 네트워크(CNN)와 같은 인공 뉴럴 네트워크일 수 있고, 그것의 출력은 차량 제어 모듈(1511)로 제공된다.
일부 실시 예에서, 인공 지능(AI) 프로세서(1509)는 딥 러닝 네트워크(1507)를 실행(run)하기 위한 하드웨어 프로세서이다. 일부 실시 예에서, AI 프로세서(1509)는 센서 데이터에 컨볼루션 뉴럴 네트워크(CNN)를 사용하는 추론을 수행하기 위한 전문화된 AI 프로세서이다. 일부 실시 예에서, AI 프로세서(1509)는 센서 데이터의 비트 깊이(bit depth)를 위해 최적화된다. 일부 실시 예에서, AI 프로세서(1509)는 다른 것들 중 컨볼루션, 내적, 벡터 및/또는 행렬 연산들을 포함하는 뉴럴 네트워크의 연산들과 같은 딥 러닝 연산들을 위해 최적화된다. 일부 실시 예에서, AI 프로세서(1509)는 병렬 처리를 효과적으로 수행할 수 있는 복수 개의 그래픽 처리 장치(GPU)들을 사용하여 구현될 수 있다.
다양한 실시 예에서, AI 프로세서(1509)는 실행될 때 센서(들)(1503)로부터 수신된 센서 데이터에 딥러닝 분석을 수행하고 차량을 적어도 부분적으로 자율적으로 작동하는 데 사용된 머신 러닝 결과를 결정하도록 유발하는 명령어들을 갖는 AI 프로세서를 제공하도록 구성된 메모리에 입출력 인터페이스를 통해 커플링된다. 일부 실시 예에서, 차량 제어 모듈(Vehicle Control Module)(1511)은 인공 지능(AI) 프로세서(1509)로부터 출력된 차량 제어를 위한 명령들을 처리하는 데, 차량의 각종 모듈을 제어하기 위해 AI 프로세서(1509)의 출력을 각 차량의 모듈을 제어하기 위한 명령어들로 트랜슬레이트(translate)하는 데 이용된다. 일부 실시 예에서, 차량 제어 모듈(1511)은 자율 주행을 위한 차량을 제어하는 데 이용된다. 일부 실시 예에서, 차량 제어 모듈(1511)은 차량의 스티어링 및/또는 속력을 조정할 수 있다. 예를 들어, 차량 제어 모듈(1511)은 감속, 가속, 스티어링, 차선 변경, 차선 유지 등의 차량의 주행을 제어하는 데 사용될 수 있다. 일부 실시 예에서, 차량 제어 모듈(1511)은 브레이크 등들(brake lights), 방향 지시등들(turns signals), 헤드라이트(headlights) 등과 같은 차량 조명(vehicle lighting)을 제어하기 위한 제어 신호들을 생성할 수 있다. 일부 실시 예에서, 차량 제어 모듈(1511)은 차량의 사운드 시스템(vehicle's sound system), 차량의 오디오 경고들(vehicle's audio warnings), 차량의 마이크 시스템(vehicle's microphone system), 차량의 경적 시스템(vehicle's horn system) 등과 같은 차량 오디오 관련 시스템들을 제어하는 데 사용된다.
일부 실시 예에서, 차량 제어 모듈(1511)은 의도된 목적지의 접근 또는 잠재적인 충돌(potential collision)과 같은 주행 이벤트들의 승객들 및/또는 운전자를 알리기 위한 경고 시스템들을 포함하는 통지 시스템들(notification systems)을 제어하는 데 사용된다. 일부 실시 예에서, 차량 제어 모듈(1511)은 차량의 센서들(1503)과 같은 센서들을 조정하는 데 사용된다. 예를 들어, 차량 제어 모듈(1511)은 센서들(1503)의 지향 방향을 수정(modifying the orientation), 센서들(1503)의 출력 해상도 및/또는 포맷 유형을 변화, 캡쳐 비율(capture rate)을 증가 또는 감소, 동적 범위(dynamic range)를 조정, 카메라의 초점을 조정할 수 있다. 또한, 차량 제어 모듈(1511)은 센서들의 동작을 개별적으로 또는 집단적으로 온/오프 시킬 수 있다.
일부 실시 예에서, 차량 제어 모듈(1511)은 필터들의 주파수 범위를 수정하거나, 특징들(features) 및/또는 객체 검출을 위한 엣지 감지 파라미터들(edge detection parameter)을 조정하거나, 비트 깊이 및 채널들을 조정(adjusting channels and bit depth)하는 등과 같은 방식으로 이미지 전처리기(1505)의 파라미터들을 변화하는데 사용될 수 있다. 다양한 실시 예에서, 차량 제어 모듈(1511)은 차량의 자율 주행 및/또는 차량의 운전자-보조(Driver assistance) 기능을 제어하는 데 사용된다.
일부 실시 예에서, 네트워크 인터페이스(1513)는 자율 주행 시스템(1500)의 블록 구성들과 통신부(1515)간의 내부 인터페이스를 담당한다. 구체적으로, 네트워크 인터페이스(1513)는 음성 데이터를 포함하는 데이터를 수신 및/또는 발신하기 위한 의사 소통 인터페이스이다. 다양한 실시 예에서, 네트워크 인터페이스(1513)는 통신부(1515)를 통해 음성 통화들을 연결하거나 문자 메시지들을 수신 및/또는 발신하거나, 센서 데이터를 전송하거나, 자율 주행 시스템으로 차량의 소프트웨어를 업데이트하거나, 차량의 자율 주행 시스템의 소프트웨어를 업데이트하기 위하여 외부의 서버들과 인터페이스한다.
다양한 실시 예에서, 통신부(1515)는 셀룰러 또는 WiFi 방식의 다양한 무선 인터페이스를 포함한다. 예를 들어, 네트워크 인터페이스(1513)는 통신부(1515)를 통해 접속된 서버들로부터 센서들(1503), 이미지 전처리기(1505), 딥 러닝 네트워크(1507), AI 프로세서(1509), 차량 제어 모듈(1511)을 위한 작동 파라미터들 및/또는 명령어들에 대한 업데이트를 수신하는 데 사용될 수 있다. 예를 들어, 딥 러닝 네트워크(1507)의 머신 러닝 모델은 통신부(1515)를 사용하여 업데이트될 수 있다. 또 다른 예시에 따르면, 통신부(1515)는 이미지 프로세싱 파라미터들과 같은 이미지 전처리기(1505)의 작동 파라미터들 및/또는 센서들(1503)의 펌웨어를 업데이트하는 데 사용될 수 있다.
다른 실시 예에서, 통신부(1515)는 사고 또는 사고가 발생할 뻔한(near-accident) 이벤트에서 긴급 서비스들(emergency services)과 긴급 연락(emergency contact)을 위한 통신을 활성화시키는데 사용된다. 예를 들어, 충돌 이벤트에서, 통신부(1515)는 도움을 위한 긴급 서비스들을 호출하는 데 사용될 수 있고, 충돌 세부사항들 및 차량의 위치의 긴급 서비스들을 외부로 알릴 수 있다. 다양한 실시 예에서, 통신부(1515)는 예상된 도착 시간 및/또는 목적지 위치를 업데이트 하거나 획득할 수 있다.
도 16은 본 발명의 다른 실시 예에 따른 자율 주행 시스템(1600)의 블록 구성도 이다.
도 16을 참조하면, 센서들(1602)은 하나 이상의 센서들을 포함한다. 다양한 실시 예에서, 센서들(1602)은 차량의 상이한 위치들에, 및/또는 하나 이상의 상이한 방향들을 향하게 부착될 수 있다. 예를 들어, 센서들(1602)은 전면(forward-facing), 후면(rear-facing), 측면(side-facing) 등 방향들로 차량의 앞(front), 옆(sides), 뒤(rear), 및/또는 루프(roof)에 부착될 수 있다. 일부 실시 예에서, 센서들(1503)은 카메라들(high dynamic range cameras)과 같은 이미지 센서들 및/또는 비-시각적 센서들(non-visual sensors)을 포함할 수 있다 일부 실시 예에서, 센서들(1602)은 이미지 센서 외에도 레이더, LiDAR, 및/또는 초음파 센서들을 포함할 수 있다.
AI 프로세서(1604)는 차량의 자율 주행과 자율 주차를 수행하기 위해 필요한 대량의 데이터를 효율적으로 처리하여 딥 러닝과 같은 AI 알고리즘의 학습을 가속할 수 있는 고성능 프로세서를 포함할 수 있다.
딥 러닝 네트워크(1606)는 차량의 자율 주행 및/또는 자율 주차를 제어하기 위한 제어 명령들을 구현하기위한 딥 러닝 네트워크이다. 예를 들어, 딥 러닝 네트워크(1606)는 센서 데이터를 사용하여 트레이닝된 컨볼루션 뉴럴 네트워크(CNN)와 같은 인공 뉴럴 네트워크일 수 있고, 그것의 출력은 차량 제어 모듈(1614)로 제공된다.
프로세서(1608)는 자율 주행 시스템(1600)의 전반적인 동작을 제어하며, 딥 러닝 네트워크(1606)의 출력 결과에 따라 차량의 자율 주행 및/또는 자율 주차를 위해 필요한 센서 정보를 취득하도록 센서(들)(1602)를 제어할 수 있다. 또한, 프로세서(1608)는 취득된 센서 정보들과 딥 러닝 결과를 이용하여 차량의 자율 주행 및/또는 자율 주차를 수행하기 위한 차량의 제어 정보를 생성하여 차량 제어 모듈(1614)로 출력할 수 있다.
또한, 프로세서(1608)는 사용자에 의해 자율 주차 요청이 입력되면, 통신부(1612)를 통해 서비스 제공 서버(1800)로 자율 주차 서비스 요청을 전달(주차장 빈 공간 요청 메시지)하고, 서비스 제공 서버(1800)로부터 수신된 자율 주차 서비스 응답(주차장 빈 공간 응답 메시지)에 따라 주차 가능 공간까지의 자율 주행 및 자율 주차를 수행하도록 차량 제어 모듈(1614)를 제어할 수 있다. 이때, 상기 사용자에 의한 자율 주차 요청은 도시되지 않은 표시부를 통해 입력된 사용자의 터치 제스쳐 또는 음성 입력부를 통해 입력된 음성 명령을 통해 수행될 수 있다.
또한, 프로세서(1608)는 주차장 안내 서비스 및/또는 자율 주차 서비스 가능 지역에 차량이 진입하면, 통신부(1612)를 통해 서비스 제공 서버로부터 애플리케이션 및/또는 서비스 가능 지역에 대한 지도 데이터를 다운로드 받도록 제어할 수 있다.
또한, 프로세서(1608)는 차량이 주창 가능 구역이 도착하여 자율 주차가 완료되면, 통신부(1612)를 통해 서비스 제공 서버(1800)로 주차 완료 메시지를 전송하고, 차량의 시동을 오프시키거나, 차량의 전원을 오프시킨다. 이때 상기 주차 완료 메시지에는 차량의 주차 완료 시간 및 위치 정보 및 자율 주행 시스템(1600)의 웨이크 업(wake up) 시간 정보 등이 포함될 수 있다.
또한, 프로세서(1608)는 자율 주행 차량이 주차 공간에 진입하면, 센서들(1602)들로부터 획득된 다양한 센서 정보를 이용하여 자율 주차를 수행하기 위한 제어 명령을 발생하여 차량 제어 모듈(1614)로 출력한다. 예컨대, 프로세서(1608)는 영상 획득 센서를 통해 획득된 주차장 영상으로부터 주차장에 위치한 주차 칸의 식별하고, 차량이 주차 칸에 주차되어 있는지 또한 식별할 수 있다. 예컨대, 프로세서(1608)는 영상 획득 센서를 통해 획득된 영상에 대한 분석을 통해 주차장에 마킹된 주차 라인(parking line)이 검출되면, 검출된 영역을 주차 칸으로 식별하고, 식별된 주차 칸에 자량의 존재 여부에 따라 주차 가능 여부를 판단할 수 있다. 그리고, 프로세서(1608)는 주차 가능한 주차 칸에 차량을 자율 주차시키기 위해 차량의 센서들(1602)(초음파 센서, RADAR, LiDAR 등)로부터 획득된 장애물의 방향과 위치를 이용하여 장애물과의 충돌을 방지하면서 차량을 주차시키기 위한 제어 명령을 차량 제어 모듈(1614)로 출력한다.
다른 실시 예에서 프로세서(1608)는 자율 주행 차량이 주차 공간에 진입하면, 서비스 제공 서버(1800)로부터 수신된 주차 가능 칸의 위치 정보까지 차량을 이동시켜 주차하도록 센서들(1602)의 센서 데이터를 이용한다. 구체적으로, 프로세서(1608)는 센서들(1602)의 센서 데이터를 이용하여 주차장의 벽, 기둥, 다른 주차 칸에 주차된 다른 차량과의 충돌을 피하면서 자율 주차를 수행하기 위한 제어 명령을 차량 제어 모듈(1614)로 출력한다.
저장부(1610)는 차량의 자율 주행 및/또는 자율 주차를 수행하기 위한 딥 러닝 네트워크를 위한 트레이닝 데이터 및/또는 차량의 자율 주행 및/또는 자율 주차를 수행하기 위한 소프트웨어, 경로 안내 및 자율 주행을 위한 전자 지도 데이터가 저장될 수 있다.
통신부(1612)는 자율 주행 시스템(1600)과 사용자 단말 장치(1700) 및/또는 서비스 제공 서버(1800)와의 무선 통신 네트워크를 통해 데이터를 송수신한다.
차량 제어 모듈(1614)는 차량의 자율 주행 및/또는 차량의 자율 주차 기능을 수행하기 위한 차량의 가속, 감속, 스티어링, 변속 등을 제어하기 위한 제어 명령들을 각 구성 요소들로 출력할 수 있다. 예컨대, 차량의 가속이 필요하다면 차량의 엔진 및/또는 전기 모터로 가속 명령(acceleration command)을 출력하고, 차량의 감속이 필요하다면 차량의 엔진 및/또는 전기 모터 또는 브레이킹 장치로 감속 명령(brake command)를 출력하고, 차량 진행 방향의 전환이 필요하다면 차량의 스티어링 휠(steering wheel) 또는 차량의 바퀴(vehicle wheel)로 결정된 차량 진행 방향 대로 차량을 이동시키기 위한 제어 명령을 생성하여 출력한다.
도 17은 본 발명의 다른 실시 예에 따른 사용자 단말 장치(1700)의 블록 구성도이다.
본 발명의 다른 실시 예에 따른 사용자 단말 장치(1700)는 통신부(1702), 프로세서(1704), 표시부(1706) 및 저장부(1708)를 포함한다. 통신부(1702)는 자율 주행 시스템(1600) 및/또는 서비스 제공 서버(1800)와 무선 네트워크를 통해 접속되어 데이터를 송수신한다.
프로세서(1704)는 사용자 단말 장치(1700)의 전반적인 기능을 제어하며, 본 발명의 다른 실시 예에 따라 사용자로부터 입력된 자율 주행 명령 및/또는 자율 주차 명령을 통신부(1702)를 통해 자율 주행 시스템(1600)으로 송신한다. 프로세서(1704)는 서비스 제공 서버(1800)로부터 자율 주행 및/또는 자율 주차에 관련된 푸쉬 알림(Push notification) 메시지가 수신되면, 표시부(1706)를 통해 사용자에게 표시하도록 제어한다. 이때 상기 푸쉬 알림 메시지에는 자율 주행 정보, 자율 주차 완료, 주차 위치 정보, 요금 정보 등이 포함될 수 있다. 또한, 프로세서(1704)는 사용자에 의해 주차 요금 결재 요청 입력이 수신되면, 주차 요금 결재를 위한 애플리케이션을 구동시켜, 사용자의 결재 정보(신용 카드 정보, 계좌 번호 등)를 확인하고, 서비스 제공 서버(1800)가 청구한 주차 요금 결재하도록 사용자의 결재 서비스 제공 서버(미도시)로 요청할 수 있다.
또한, 본 발명의 다른 실시 예에 따른 프로세서(1704)는 사용자로부터 차량 호출(vehicle hailing) 서비스 제공이 요청되면, 차량 호출 애플리케이션을 구동시켜, 표시부(1706)를 통해 출력하고, 사용자로부터 차량 호출 위치가 입력된 후, 차량 호출 명령이 입력되면 차량 호출 서비스 요청 메시지(vehicle hailing service request message)를 통신부(1702)를 통해 서비스 제공 서버(1800)로 송신한다. 그리고, 본 발명의 다른 실시 예에 따른 프로세서(1704)는 서비스 제공 서버(1800)로부터 차량 호출 서비스 요청 성공 메시지(vehicle hailing request success message)가 통신부(1702)를 통해 수신되면, 차량 호출 요청이 성공적으로 이루어졌음을 알리는 알림을 상기 차량 호출 애플리케이션을 통해 사용자에게 제공한다.
그리고, 본 발명의 다른 실시 예에 따른 프로세서(1704)는 서비스 제공 서버(1800)로부터 차량 호출 서비스에 따른 각 종 정보들(차량 출발 통지, 차량 도착 예정 시간 및 현재 위치, 도착 알림 정보)이 수신되면, 이를 푸쉬 알림 메시지 등을 통해 사용자에게 제공한다.
또한, 본 발명의 다른 실시 예에 따른 프로세서(1704)는 차량의 현재 위치 정보가 서비스 가능 지역을 이탈한 것으로 판단되면, 서비스 제공 서버(1800)로 차량이 서비스 가능 지역을 이탈했음을 통신부(1702)를 통해 송신하도록 제어하고, 서비스 제공 서버(1800)에서 다운로드되어 저장부(1708)에 저장된 차량 호출 애플리케이션 및/또는 자율 주차 애플리케이션을 삭제하도록 제어할 수 있다.
그리고, 사용자 단말 장치(1700)의 저장부(1708)는 자율 주차 서비스 및/또는 차량 호출 서비스를 위한 애플리케이션 및 경로 안내 애플리케이션 및 지도 데이터 및 사용자 결재 정보 중 적어도 하나의 데이터를 저장할 수 있다.
프로세서(1704)는 표시부(1706)를 통해 디스플레이되는 자율 주차 서비스 애플리케이션에 대한 사용자 제스쳐가 입력되면, 그에 해당하는 동작을 수행할 수 있다. 예컨대, 사용자로부터 표시부(1706)의 UX(User experience)를 통해 자율 주차 서비스 제공 주차장(parking lot)과 주차 칸(parking slot)을 선택하는 선택 제스쳐가 입력되면, 프로세서(1704)는 차량 ID, 주차장 ID(parking lot ID), 주차 칸 ID(parking slot ID)를 포함하는 자율 주차 서비스 요청을 통신부(1702)를 통해 서비스 제공 서버(1800)로 전송할 수 있다. 이때 주차장 ID는 자율 주차 서비스를 지원하는 주차장을 식별하기 위한 정보로, 저장부(1806)에 해당 주차장의 위치 정보도 매핑되어 저장될 수 있다.
이러한 과정을 통해 본 발명의 다른 실시 예에서는 사용자가 사용자 단말 장치(1700)를 통해 주차장에서 차량의 자율 주차할 공간을 예약하는 것도 가능하다. 그리고, 서비스 제공 서버(1800)는 상기 자율 주차 서비스 요청에 포함된 주차장 ID와 그 주차장 ID의 주차 칸 ID에 대한 주차가 불가능하다면, 주차 불가 메시지를 사용자 단말 장치(1700)로 전송하거나, 다른 주차가 가능한 주차장 ID 및/또는 주차 가능한 주차 칸 ID를 사용자 단말 장치(1700)로 전송할 수 있다. 사용자 단말 장치(1700)는 자율 주차 서비스 제공 애플리케이션 상에서 주차 가능한 주차 칸 ID에 해당하는 주차 칸, 주차가 불가능한 주차 칸 ID에 해당하는 주차 칸 등을 표시부(1706)를 통해 시각적으로 표시할 수 있다.
본 명세서에서는 주차장 ID(parking lot ID)는 주차장을 식별하기 위해 부여한 정보로, 주차장이 위치한 위치 정보에 매핑되어 설정될 수 있으며, 주차 칸 ID(parking slot ID)는 해당 주차장에 포함된 복수 개의 주차 칸들(parking slots)을 식별하기 위한 정보로, 각 주차 칸의 상대적인 위치 정보에 매핑되어 설정될 수 있다.
도 18은 본 발명의 다른 실시 예에 따른 서비스 제공 서버(1800)의 블록 구성도이다.
본 발명의 다른 실시 예에 따른 서비스 제공 서버(1800)는 통신부(1802), 프로세서(1804), 표시부 및 저장부(1806)를 포함한다. 본 발명의 다른 실시 예에 따른 서비스 제공 서버(1800)의 통신부(1802)는 자율 주행 시스템(1600) 및/또는 사용자 단말 장치(1700)와 무선 네트워크를 통해 접속되어 데이터를 송수신한다.
본 발명의 다른 실시 예에 따른 서비스 제공 서버(1800)의 프로세서(1804)는 자율 주행 시스템(1600)으로부터 주차장 빈 공간 요청 메시지가 통신부(1802)를 통해 수신되면, 주차 가능 구역을 확인하고, 주차 가능 구역이 확인되면, 주차 가능 구역 위치 정보와 주차장의 디지털 지도 데이터를 통신부(1802)를 통해 자율 주행 시스템으로 송신한다. 이때 서비스 제공 서버(1800)의 프로세서(1804)는 주차장(Parking lot)에 위치한 CCTV(Closed Circuit Television), 주차장에 주차된 차량의 영상 촬영 장치들로부터 획득된 주차장 영상과 주차장에 대한 실시간 상황을 나타내기 위해 생성한 주차장 모델, 주차 칸(Parking slot)에 위치한 센서들로부터 획득된 센서 정보를 통해 주차 가능 구역을 확인한다. 구체적으로, 주차장에 위치한 CCTV, 주차 차량의 영상 촬영 장치로부터 획득되는 주차장 영상 분석을 통해 주차장 내의 빈 주차 칸과 차량이 주차된 주차 칸을 구별할 수 있다. 그 외에도 주차장 내주차 칸마다 설치된 센서들은, 해당 주차 칸에 차량의 주차 여부를 센싱하고, 서비스 제공 서버(1800)의 프로세서(1804)는 그 센싱된 정보를 이용하여 주차장 내의 빈 주차 칸과 차량이 주차된 주차 칸을 식별할 수 있다. 그리고, 본 발명의 다른 실시 예에 따른 서비스 제공 서버(1800)의 프로세서(1804)는 상기 확인된 주차 가능 구역을 주차장 빈 공간 응답 메시지에 포함하여 통신부(1802)를 통해 자율 주행 시스템(1600) 또는 사용자 단말 장치(1700)로 전송할 수 있다. 그리고, 프로세서(1802)는 자율 주행 시스템(1600)으로부터 주차 완료 메시지가 수신되면, 통신부(1802)를 통해 사용자 단말 장치(1700)로 주차 완료 메시지를 송신한다.
본 발명의 다른 실시 예에 따른 서비스 제공 서버(1800)의 프로세서(1804)는 통신부(1802)를 통해 사용자 단말 장치(1700)로부터 차량 호출 서비스 요청이 수신되면, 주차장에서 차량 식별자(Vehicle Identification: VID)에 해당하는 주차 위치를 검색하고, 검색된 주차 위치에 주차된 차량의 자율 주행 시스템(1600)으로 차량 호출 서비스 요청을 전달하고, 자율 주행 시스템(1600)으로부터 차량 호출 서비스에 대한 응답으로 수신된 정보들을 사용자 단말 장치(1700)로 전달한다.
본 발명의 다른 실시 예에 따른 서비스 제공 서버(1800)의 프로세서(1804)는 저장부(1806)에 자율 주차 서비스를 제공하는 주차장에 대한 위치, 지도 데이터, 주차장에 대한 실시간 상황을 나타내는 주차장 모델, 주차장 데이터, 주차장 영상, 주차 공간 정보를 저장한다. 또한, 본 발명의 다른 실시 예에 따른 서비스 제공 서버(1800)의 프로세서(1804)는 차량 호출 서비스 및 자율 주차 서비스를 요청한 사용자의 차량이 서비스 가능 지역을 이탈하면, 저장부(1806)에 저장된 차량 ID, 사용자 ID 및 관련 정보를 삭제한다.
서비스 제공 서버(1800)의 프로세서(1804)는 통신부(1802)를 통해 복수 개의 사용자 단말 장치들(1700)로부터 자율 주차 서비스 요청이 수신되면, 각 차량의 자율 주차 서비스가 수행될 순서를 스케줄링하고, 스케줄링된 순서에 따라 차량 별로 자율 주차 서비스 응답을 전달할 수 있다.
그리고, 다른 실시 예에 따른 서비스 제공 서버(1800)의 프로세서(1804)는 사용자 단말 장치(1700)로부터 자율 주차 서비스 요청 메시지가 수신되면, 자율 주차 서비스 요청 메시지에 포함된 주차장 ID, 주차 칸 ID정보를 저장부(1806)에 저장된 지도 데이터에서 검색하고, 검색된 주차장 ID의 위치 정보와 주차 칸 ID의 위치 정보를 자율 주행 시스템(1600)으로 전송하여, 자율 주행 시스템(1600)이 해당 주차장 위치까지 자율 주행 및/또는 자율 주차를 수행하도록 할 수 있다.
본 발명의 다른 실시 예에 따른 서비스 제공 서버(1800)의 프로세서(1804)는 자율 주차 서비스를 제공하기 위해 주차장 관련 정보를 아래의 <표 1>와 같은 형태로 저장부(1806)에 저장할 수 있다.
Field Parking lot ID Floor Parking Slot ID Parking slot state Parking Time Parking Date Fare User ID Vehicle ID
1 69 B3 74 Full 1 hour 09-30-2020 $4 Junseo FN3542
... ... ... ... ... ... ... ... ... ...
75 1st Floor 84 Empty - - - - -
43 B2 Reserved - - - Jioh DHI6802
본 발명의 다른 실시 예에 따른 서비스 제공 서버(1800)의 프로세서(1804)는 자율 주차 서비스 제공을 위해 상기 <표 1>과 같은 형태의 데이터 베이스를 저장부(1806)에 저장하고, 해당 주차 칸에 대한 차량의 주차 상태가 변경될 때마다 해당 데이터 베이스의 데이터를 갱신할 수 있다.
예컨대, 사용자 단말 장치(1700)로부터 자율 주차 서비스 요청 메시지가 수신되면, 서비스 제공 서버(1800)의 프로세서(1804)는 주차 가능한 주차장과 주차 칸에 대한 정보를 데이터 베이스에서 검색한 후, 사용자 단말 장치(1700)와 연결된 차량의 자율 주행 시스템(1600)으로 검색된 주차장 ID, 주차 칸 ID와 해당 위치 정보들 전송한다. 그리고, 서비스 제공 서버(1800)의 프로세서(1804)는 차량이 자율 주차를 위해 주차장에 진입하고, 주차 칸에 주차가 완료되었음을 확인하면, 주차 칸 상태(Parking slot state) 정보를 Full로 변경하고, 주차 시간, 주차 날짜, 요금 정보, 사용자 ID, 차량 ID 정보를 갱신한다.
반면, 자율 주차된 차량에 대한 사용자 단말 장치(1800)의 차량 호출 요청이 수신되면, 서비스 제공 서버(1800)의 프로세서(1804)는 데이터 베이스에 저장된 상기 <표 1>의 데이터 필드를 갱신한다. 예컨대, 차량이 자율 주행 상태로 변경된 후, 주차 칸을 벗어나면, 주차 칸 상태를 Empty로 변경하고, 사용자가 주차 요금을 결재하면, 해당 주차 칸에 대한 주차 시간, 주차 날짜, 주차 요금 정보 등을 다시 초기화시킨다.
반면, 서비스 제공 서버(1800)의 프로세서(1804)는 사용자 단말 장치(1700)로부터 자율 주행 차량의 주차할 주차 칸이 선택되면, 데이터베이스에서 상기 선택된 주차 칸 ID 필드를 reserved 상태로 변경하고, 사용자의 ID와 차량 ID 필드를 갱신함으로써, 다른 사용자에게 중복된 주차 칸 ID에 대한 자율 주차 서비스 제공을 방지할 수 있다.
도 19는 본 발명의 다른 실시 예에 따른 자율 주차(Autonomous Parking) 시스템의 동작 흐름을 설명하기 위한 도면이다.
먼저, 자율 주행 시스템(1600)은 차량이 서비스 가능 지역에 진입하고(S1900단계), 사용자로부터 자율 주차 명령이 입력되면(S1902단계), 서비스 제공 서버(1800)로 주차장 빈 공간 요청 메시지를 전송한다(S1904단계). 이때 상기 주차장 빈 공간 요청 메시지에는 자율 주차 서비스를 요청한 사용자 ID와 차량 ID를 포함할 수 있다. 이때 사용자 ID는 자율 주차 서비스에 가입한 ID 또는 사회 보장 번호와 같이 사용자를 식별할 수 있는 정보를 포함할 수 있으며, 차량 ID는 차량의 번호판 또는 VIN(Vehicle Identification Number)와 같이 차량을 식별할 수 있는 정보를 포함할 수 있다.
그리고, 상기 주차장 빈 공간 요청 메시지를 수신한 서비스 제공 서버(1800)는 차량이 주차할 주차장에서의 주차 가능 구역을 확인하고(S1906), 주차장 빈 공간 응답 메시지를 자율 주행 시스템(1600)으로 전송한다(S1908). 이때 상기 주차장 빈 공간 응답 메시지에는 주차 가능 구역 위치 정보 및 주차장 전자 지도를 포함할 수 있다. 상기 S1906단계에서 서비스 제공 서버(1800)가 주차 가능 구역을 확인하는 단계는, 주차장에 설치된 CCTV로부터 획득된 영상, 주차장의 각 주차 칸에 주차된 차량에 설치된 영상 촬영 장치로부터 획득된 영상, 각 주차 칸에 설치된 센서가 센싱한 센싱 데이터를 통해 각 주차 칸 마다 주차 가능 상태를 식별할 수 있다.
상기 S1908단계에서 주차장 빈 공간 응답 메시지를 수신한 자율 주행 시스템(1600)은 차량의 현재 위치로부터 상기 확인된 주차 가능 구역 위치 정보까지의 경로를 계산한 후, 상기 주차 가능 구역까지 자율 주행을 수행한다(S1910).
그리고, 차량이 주차 가능 구역에 도착하면(S1912), 자율 주행 시스템(1600)은 자율 주차를 수행하고(S1914), 주차가 완료되었다면(S1916의 "예"), 주차 완료 메시지를 서비스 제공 서버(1800)로 전송하고(S1918), 차량의 시동을 오프(OFF) 또는 전원을 오프시킨다(S1922). 이때 상기 주차 완료 메시지에는 차량이 주차된 위치 정보와 주차된 시간 정보가 포함될 수 있다.
상기 S1918단계에서 주차 완료 메시지를 수신한 서비스 제공 서버(1800)는 사용자 단말 장치(1700)로 주차 완료 메시지를 전송한다(S1920).
도 20은 본 발명의 다른 실시 예에 따른 사용자 단말 장치(1700)의 자율 주차(Autonomous Parking) 동작 흐름을 설명하기 위한 도면이다.
먼저, 사용자 단말 장치(1700)은 차량이 서비스 가능 지역에 진입했다면(S2000단계), 자율 주차 서비스를 제공하기 위한 애플리케이션을 서버로부터 다운로드한다(S2002단계). 이때 상기 애플리케이션을 다운로드 받을 때, 주차장에 대한 지도 데이터도 다운로드 받을 수 있다. 그리고, 사용자 단말 장치(1700)은 사용자로부터 자율 주차 명령을 입력받으면(S2004단계), 주차 가능 공간 위치 정보를 획득하고(S2006단계), 지도 데이터 상에서 차량의 현재 위치로부터 상기 획득된 주차 가능 공간의 위치까지의 경로를 계산하고(S2008단계), 상기 계산된 경로에 따라 주차 가능 위치까지 자율 주행을 수행한다(S2010단계). 자율 주행 차량이 주차 가능 위치에 도착했다면(S2012의 "예"), 사용자 단말 장치(1700)은 자율 주차를 수행하고(S2014), 주차가 완료되였다면(S2016의 "예"), 주차 완료 메시지를 서버로 전송한다(S2018). 이때 상기 주차 완료 메시지에는 주차 위치 정보와 주차 완료 시간 정보가 포함될 수 있다. 이때 주차 위치 정보는 주차장 ID 및 주차장 위치와 주차된 주차 칸(주차 공간) ID 및 주차 칸의 위치 정보도 포함될 수 있다.
도 21은 본 발명의 다른 실시 예에 따른 서비스 제공 서버(1800)의 자율 주차(Autonomous Parking) 동작 흐름을 설명하기 위한 도면이다.
먼저, 서비스 제공 서버(1800)는 주차장 빈 공간 요청 메시지가 수신되면(S2100), 주차 가능 공간을 검색한다(S2102). 상기 검색 결과 주차 가능 공간이 존재하면(S2104의 "예"), 서비스 제공 서버(1800)는 주차 가능 공간 위치 정보를 획득하고(S2108), 존재하지 않으면(S2104의 "아니오"), 대안 서비스를 제공한다(S2106). 이때 상기 대안 서비스는 인근의 주차장 위치 및 주차 가능 공간을 탐색하여 안내하거나, 사용자에게 주차 가능 공간 없음을 알리는 기능을 포함한다.
그리고, 서비스 제공 서버(1800)는 주차 가능 공간 위치 정보를 자율 주행 시스템(1600)으로 전달하고(S2110단계), 자율 주행 시스템(1600)으로부터 주차 완료 메시지가 수신되면(S2112단계), 주차 완료 메시지를 사용자 단말 장치(1700)로 전송한다(S2114단계).
도 22는 본 발명의 다른 실시 예에 따른 자율 주행 시스템의 차량 호출(vehicle hailing service) 또는 승객 픽업(Passenger pick up) 서비스를 제공하기 위한 동작 흐름을 설명하기 위한 도면이다.
먼저, 서비스 제공 서버(1800)는 서비스 가능 지역에 주차된 차량 ID별 위치 정보를 저장한다(S2200). 그리고, 사용자 단말 장치(1700)는 사용자로부터 차량 호출 위치가 입력되고(S2202단계), 차량 호출 명령이 입력되면(S2204단계), 차량 호출 서비스 요청 메시지를 서비스 제공 서버(1800)로 전송한다(S2206단계). 상기 S2206단계에서 차량 호출 요청 메시지를 수신한 서비스 제공 서버(1800)는 상기 차량 호출 요청 메시지에 포함된 차량 ID(호출 대상 차량의 ID)를 확인하고(S2208단계), 상기 차량 ID가 차량 호출 서비스 제공 대상인 사용자의 차량임이 식별되면, 확인된 차량 ID에 해당하는 주차 위치를 검색하고(S2210단계), 상기 호출된 차량의 자율 주행 시스템(1600)으로 호출 요청을 전달한다(S2218단계).
그리고, 자율 주행 시스템(1600)은 아이들 상태(Idle state)에서(S2212단계), 웨이크 업 상태(wake-up state)로 천이된다(S2214단계). 이때 아이들 상태에서 웨이크 업 상태로의 천이는 미리 정해진 주기 마다 또는 미리 정해진 시간에서 발생될 수 있다. 자율 주행 시스템(1600)이 아이들 상태에서 필요 시마다 웨이크 업 상태로 천이되는 이유는 차량 배터리의 전원을 절약하기 위해서이다. 상기 S2214단계에서 웨이크 상태로 천이된 자율 주행 시스템(1600)의 프로세서(1608)는 통신부(1612)에 전원을 공급하여 자율 주행 시스템(1600)으로 전송된 신호들을 복조/복호화를 수행하도록 할 수 있다. 자율 주행 시스템(1600)의 아이들 상태는 프로세서(1608)가 각 블록 구성들로의 전원 공급을 중지하고, 자율 주행 시스템(1600)의 동작을 위한 프로세스(process)가 실행되고 있지 않은 상태로, 외부로부터의 동작 명령을 대기하고 있는 상태를 의미한다.
또는, 자율 주행 시스템(1600)의 프로세서(1608)는 웨이크 업 상태에서는 통신부(1612)에 동작 전원 공급함으로써, 통신부(1612)를 통해 서비스 제공 서버(1800)에 접속하여, 자율 주차 서비스 및 차량 호출 서비스 제공을 위해 자율 주행 시스템(1600)으로 전송될 다운 링크 트래픽의 존재를 확인할 수 있다. 또한, 자율 주행 시스템(1600)은 차량 호출 서비스/승객 픽업 서비스 요청이 수신되는지를 검사하고(S2216단계), 상기 S2218단계에서 호출 요청 메시지가 수신되면, 차량의 시스템 전원을 온(ON) 시킨 후(S2220단계), 활성(active) 상태로 천이한다(S2222단계). 상기 S2222단계에서 자율 주행 시스템(1600)이 활성 상태로 천이되면, 자율 주행 시스템(1600)은 차량의 자율 주행을 위해 차량의 각 부분을 구동시키기 위한 동작 전원을 공급하고, 차량 제어를 위한 제어 명령을 발생한다.
상기 S2222단계에서 활성 상태로 천이된 자율 주행 시스템(1600)은 차량 호출 응답 메시지를 서비스 제공 서버(1800)로 전송하고(S2224단계), 서비스 제공 서버(1800)는 상기 S2206단계의 차량 호출 서비스 요청 메시지에 대한 응답으로, 차량 호출 요청 성공 메시지를 사용자 단말 장치(1700)로 전송한다(S2226단계). 상기 S2226단계에서 차량 호출 요청 성공 메시지를 수신한 사용자 단말 장치(1700)는 사용자에게 차량 호출이 성공했음을 알리는 푸쉬 알림 메시지를 표시한다(S2228단계).
그리고, 상기 S2226단계에서 차량 호출 요청 성공 메시지를 사용자 단말 장치(1700)로 전송한 서비스 제공 서버(1800)는, 자율 주행 시스템(1600)으로 호출 장소 정보가 포함된 메시지를 전달한다(S2230단계). 자율 주행 시스템(1600)은 상기 호출 장소까지의 자율 주행을 위한 경로를 계산하고(S2232단계), 주행이 시작되면(S2234단계) 서비스 제공 서버(1800)로 출발 알림 메시지를 전송한다(S2236단계).
서비스 제공 서버(1800)는 차량 출발 알림(notification) 메시지를 사용자 단말 장치(1700)로 전송하고(S2238단계), 서비스 제공 서버(1800)는 자율 주행 시스템(1600)이 자율 주행하면서(S2240) 전송하는 도착 예정 시간(Estimated Time of Arrival: ETA)와 현재 위치 정보가 전달되면(S2242단계), 사용자 단말 장치(1700)로 ETA 정보와 차량의 현재 위치 정보를 전달한다(S2244단계).
그리고, 차량 주행 시스템(1600)은 호출 위치에 도착하면(S2246단계), 서비스 제공 서버(1800)로 도착 알림을 전달하고(S2248단계), 서비스 제공 서버(1800)는 사용자 단말 장치(1700)로 도착 알림을 전달한다(S2250단계).
또한, 사용자 단말 장치(1700)는 차량이 서비스 가능 지역을 이탈하는 경우(S2252단계), 서비스 제공 서버(1800)로 서비스 가능 지역 이탈 메시지를 전송하고(S2254단계), 서비스 제공 서버(1800)는 상기 서비스 가능 지역 이탈 메시지에 포함된 차량 ID 및 관련 정보를 삭제하고(S2256), 사용자 단말 장치(1700)는 차량 호출 서비스 애플리케이션을 자동 삭제할 수 있다(S2258단계).
반면, 도 22에서는 상기 S2252단계, S2254단계, S2258단계를 사용자 단말 장치(1700)가 수행하는 것으로 설명하였으나, 차량의 자율 주행 시스템(1600)이 수행하는 것도 가능하다.
도 23은 본 발명의 다른 실시 예에 따라 차량의 자율 주행 시스템이 자율 주차를 수행하는 과정을 설명하기 위한 도면이다.
차량(2302)의 자율 주행 시스템은 차량(2302)에 부착된 센서들(1602)에 의해 센싱된 데이터(2304)와 딥 러닝 네트워크(1606)의 학습에 의해 딥 러닝된 결과에 의해 주차 가능 공간(2306)과 주차되어 있는 차량(2308)의 존재를 인식한 후, 주차 가능 공간으로의 자율 주차를 수행한다.
도 24는 본 발명의 다른 실시 예에 따라 차량의 자율 주차 시스템이 자율 주차를 수행하는 경우의 사용자 단말 장치(1700)에 표시되는 UX 화면(2400)을 도시한 도면이다.
도 24에서 참조번호 2402는 차량이 자율 주차를 수행할 주차장에서 타 차량의 주차 등으로 주차가 불가능한 구역을 나타내며, 참조번호 2404는 사용자 선택이 가능한 자율 주차 주차 구역을 나타내며, 참조번호 2406은 주차가 가능한 빈 공간 구역을 나타내며, 참조번호 2408은 차량이 자율 주차된 구역을 나타낸다.
참조번호 2450은 주차장에서 차량이 자율 주차를 완료한 주차 공간을 시각적으로 보여주는 화면이다. 상기 참조번호 2450 영역은 사용자의 터치 제스쳐(touch gesture)(드래그, 핀치 투 줌 등)에 따라 주차장의 주차 공간을 사용자 단말 장치(1700)의 표시부(1706) 상에서 이동시켜 표시할 수 있다.
그리고, 본 발명의 다른 실시 예에 따른 사용자 단말 장치(1700)의 프로세서(1704)는 표시부(1706)를 통해 사용자로부터 선택된 주차 구역에 해당하는 주차장 ID, 주차 칸 ID를 통신부(1702)를 통해 서비스 제공 서버(1800)로 전송하도록 할 수 있다.
도 25는 본 발명의 다른 실시 예에 따라 차량의 자율 주차 서비스/차량 호출 서비스를 이용한 사용자의 사용자 단말 장치(1700)에 표시되는 푸쉬 알림(Push notification) 또는 푸쉬 메시지(Push message)의 예를 도시한 도면이다.
참조번호 2502는, 자율 주차 서비스 요청 기능을 입력받기 위한 메시지를 표시한 도면으로, 사용자가 터치 제스쳐를 통해 해당 메시지를 선택할 경우, 사용자 단말 장치는 서비스 제공 서버로 자율 주차 서비스 요청 메시지를 송신한다.
참조번호 2504는, 사용자의 요청에 의해 차량이 주차장에 자율 주차가 완료되었음을 알리는 메시지 및 주차된 공간 위치를 텍스트 형태로 표시하는 도면이다. 그리고, 참조번호 2504의 텍스트 형태로 표시된 푸쉬 알림은 차량이 주차된 위치를 지도 상에서 표시할 수 있는 하이퍼링크(hyperlink)로 연결될 수 있다. 즉, 사용자 단말 장치(1700)의 프로세서(1704)는 사용자가 참조번호 2504의 차량이 주차된 위치를 나타내는 푸쉬 알림 메시지를 선택할 때, 지도 데이터 애플리케이션을 구동(run)시키면서 지도 데이터 상에서 주차된 위치를 심볼(symbol) 형태로 표시할 수 있다.
참조번호 2506은, 사용자의 요청에 의해 차량 호출 위치를 지도에서 선택될 경우, 지도 상에 호출 위치가 표시되면서, 호출 위치 선택이 완료되었음을 표시하는 도면이다. 상기 참조번호 2506의 차량 호출 위치는 사용자의 터치 제스쳐에 의해 지도 상에서 이동될 수 있다.
도 26은 본 발명의 다른 실시 예에 따라 차량의 자율 주차 서비스를 이용한 사용자의 사용자 단말 장치(1700)에 표시되는 푸쉬 알림(Push notification) 또는 푸쉬 메시지(Push message)의 예를 도시한 도면이다.
참조번호 2602는, 사용자가 주차 차량을 호출한 경우, 사용자 단말 장치(1700)에 표시되는 메시지를 설명하기 위한 도면으로, 사용자가 주차 차량 호출 메시지(2602a)를 선택할 경우, 사용자 단말 장치(1700)는 서비스 제공 서버로 차량 호출 요청 메시지를 송신한다. 그리고, 사용자 단말 장치(1700)는 주차 차량 호출 완료 메시지(2602b), 차량 출발 알림 메시지(2602c), ETA 및 이동 정보 표시 메시지(2602d), 도착 알림 메시지(2602e)를 표시하는 도면이다.
참조번호 2604는, 사용자 단말 장치(1700)가 차량의 서비스 가능 지역을 이탈하였음을 알리는 메시지(2604a), 지정된 서비스가능 지역에서만 사용 가능한 차량 호출 애플리케이션 삭제 메시지(2604b)를 표시하는 도면이다. 사용자의 요청에 의해 애플리케이션 삭제 메시지(2604a)가 선택될 경우, 해당 애플리케이션은 삭제된다.
참조번호 2606은, 사용자 단말 장치(1700)에서 주차 시간 및 주차 요금을 표시하는 메시지(2606a), 결재 진행 메시지(2606b), 할인 요금 적용 알림 메시지(2606c)를 표시하는 도면이다. 사용자가 주차 요금에 대한 할인 요금 적용 받기 위해서는 사용자 단말 장치(1700)의 카메라를 통해 QR 코드를 입력하거나, 사용자 단말 장치(1700)의 입력부를 통해 할인 코드를 입력할 수 있다.
도 27은 본 발명의 다른 실시 예에 따라 차량의 자율 주차 서비스가 요청될 경우, 서비스 제공 서버(1800)는 딥 러닝 분석을 통해 주차가 가능한 공간을 식별하는 예를 설명하기 위한 도면이다.
주차장에 위치한 CCTV 등과 같은 영상 획득 장치를 통해 주차장 영상이 입력되면, 서비스 제공 서버(1800)는, 본 발명의 다른 실시 예에 따라 딥 러닝을 통한 주차장 영상 분석을 통해 주차장의 주차 칸(parking slot)을 식별하고, 식별된 주차 칸 별 차량의 주차 여부를 판단한다. 도 27에서 1번부터 43번은 주차장 칸 마다 할당된 주차 칸 ID(parking slot ID)로, 서비스 제공 서버(1800)는 획득된 주차장 영상으로부터 도로에 마킹된 주차 라인을 인식하고, 인식된 결과를 통해 주차장 칸을 식별할 수 있다. 그리고, 서비스 제공 서버(1800)는 각 주차장 칸에 딥 러닝을 통해 학습된 차량이 위치하는지를 추가적으로 분석함으로써, 자율 주차를 요청한 차량이 주차가 가능한 주차 공간을 식별할 수 있다. 도면에서는 26번, 31번, 36번 주차 칸을 주차가 가능한 위치로 판단할 수 있다.
또한, 서비스 제공 서버(1800)는 주차 가능하다고 판단된 주차장 ID 및 그 위치 정보와 해당 주차장 ID에서의 주차 칸 ID를 자율 주행 시스템(1600)으로 전송할 수 있다. 주차 가능하다고 판단된 주차장 ID 및 그 위치 정보와 해당 주차장 ID에서의 주차 칸 ID는 주차 가능 정보에 포함될 수 있다. 그리고, 서비스 제공 서버(1800)는 자율 주행 시스템(1600)으로 주차 가능 정보가 전송된 후에는, 상기 전송된 주차 가능 정보에 포함된 주차장 ID의 주차 칸 ID는 주차 예약 완료로 설정하여, 다른 차량으로부터 해당 주차 칸 ID에 댄 주차 서비스 제공 요청이 수신되더라도 서비스를 제공하지 않음으로써, 중복되어 서비스가 되는 것을 방지한다.
그리고, 서비스 제공 서버(1800)는 차량이 주차장을 벗어나면, 해당 차량이 주차되어 있던 주차 칸 ID를 빈 공간(empty space)으로 다시 설정함으로써, 주차 칸의 차량 주차 상태 정보를 갱신한다.
Ⅱ. 자율 주행 시스템(Autonomous Driving System)
도 28은 일 실시 예에 따른, 차량의 자율 주행 시스템(2800)을 도시한 블록도이다.
도 28에 따른 차량의 자율 주행 시스템(2800)은 센서(들)(2803), 이미지 전처리기(2805), 딥 러닝 네트워크(2807), 인공 지능(AI) 프로세서(2809), 차량 제어 모듈(2811), 네트워크 인터페이스(2813), 및 통신부(2815)를 포함하는 딥 러닝 네트워크일 수 있다. 다양한 실시 예에서, 각 요소들은 다양한 인터페이스를 통해 연결될 수 있다. 예를 들어, 센서(들)(2803)에 의해 센싱되어 출력되는 센서 데이터는 이미지 전처리기(2805)로 피드(feed)될 수 있다. 이미지 전처리기(2805)에 의해 처리된 센서 데이터는 AI 프로세서(2809)에서 실행(run)하는 딥 러닝 네트워크(2807)에 피드될 수 있다. AI 프로세서(2809)에 의해 실행(run)하는 딥 러닝 네트워크(2807)의 출력은 차량 제어 모듈(2811)에 피드될 수 있다. AI 프로세서(2807)에서 실행(run)되는 딥 러닝 네트워크(2807)의 중간 결과들은 AI 프로세서(2809)로 피드될 수 있다. 다양한 실시 예에서, 네트워크 인터페이스(2813)는 차량 내 전자 장치와 통신을 수행함으로써, 차량의 자율 주행을 위한 자율 주행 경로 정보 및/또는 자율 주행 제어 명령들을 내부 블록 구성들로 전달한다. 일 실시예에서, 네트워크 인터페이스(2813)는 센서(들)(2803)를 통해 획득된 센서 데이터를 외부 서버로 전송하기 위해 이용될 수 있다. 일부 실시 예에서, 자율 주행 제어 시스템(2800)은 적절하게(as appropriate) 추가적인 또는 보다 더 적은 구성 요소들을 포함할 수 있다. 예를 들어, 일부 실시 예에서, 이미지 전처리기(2805)는 선택적인(optional) 구성요소일 수 있다. 다른 예를 들면, 후처리 구성 요소(미도시)는 출력이 차량 제어 모듈(2811)로 제공되기 전에 딥 러닝 네트워크(2807)의 출력에서 후처리를 수행하기 위해 자율 주행 제어 시스템(2800) 내에 포함될 수 있다.
일부 실시 예에서, 센서(들)(2803)은 하나 이상의 센서들을 포함할 수 있다. 다양한 실시 예에서, 센서(들)(2803)은 차량의 상이한 위치들에 부착될 수 있다. 센서(들)(2803)은 하나 이상의 상이한 방향들을 향할 수 있다. 예를 들어, 센서(들)(2803)은 전면(forward-facing), 후면(rear-facing), 측면(side-facing) 등 방향들을 향하도록 차량의 앞(front), 옆(sides), 뒤(rear), 및/또는 루프(roof)에 부착될 수 있다. 일부 실시 예에서, 센서(들)(2803)은 높은 동적 범위 카메라들(high dynamic range cameras)과 같은 이미지 센서들일 수 있다. 일부 실시 예에서, 센서(들)(2803)은 비-시각적 센서들(non-visual sensors)을 포함한다. 일부 실시 예에서, 센서(들)(103)은 이미지 센서 외에도 레이더(RADAR), LiDAR(Light Detection And Ranging), 및/또는 초음파 센서들을 포함한다. 일부 실시 예에서, 센서(들)(2803)은 차량 제어 모듈(2811)을 갖는 차량에 장착(mounted)되지 않는다. 예를 들어, 센서(들)(2803)은 센서 데이터를 캡쳐하기 위한 딥 러닝 시스템의 부분으로서 포함되고 환경 또는 도로에 부착 및/또는 주변의 차량들에 장착될 수 있다.
일부 실시 예에서, 이미지 전처리기(Image pre-processor)(2805)는 센서들(2803)의 센서 데이터를 전처리하기 위해 사용될 수 있다. 예를 들어, 이미지 전처리기(2805)는 센서 데이터를 전처리하기 위해, 하나 이상의 구성 요소들로 센서 데이터를 스플릿(split)하기 위해, 및/또는 하나 이상의 구성 요소들을 후처리 하기 위해 사용될 수 있다. 일부 실시 예에서, 이미지 전처리기(2805)는 그래픽 처리 장치(graphics processing unit; GPU), 중앙 처리 장치(central processing unit; CPU), 이미지 신호 프로세서, 또는 전문화된 이미지 프로세서(specialized image processor)일 수 있다. 다양한 실시 예에서, 이미지 전처리기(2805)는 높은 동적 범위 데이터(high dynamic range data)를 처리하기 위한 톤-맵퍼(tone-mapper) 프로세서일 수 있다. 일부 실시 예에서, 이미지 전처리기(2805)는 AI 프로세서(2809)의 구성 요소일 수 있다.
일부 실시 예에서, 딥 러닝 네트워크(Deep learning network)(2807)는 자율 차량을 제어하기 위한 제어 명령들을 구현하기 위한 딥 러닝 네트워크일 수 있다. 예를 들어, 딥 러닝 네트워크(2807)는 센서 데이터를 사용하여 트레이닝된 컨볼루션 뉴럴 네트워크(CNN)와 같은 인공 뉴럴 네트워크일 수 있고, 딥 러닝 네트워크(2807)의 출력은 차량 제어 모듈(2811)로 제공된다.
일부 실시 예에서, 인공 지능(AI) 프로세서(2809)는 딥 러닝 네트워크(2807)를 실행(run)하기 위한 하드웨어 프로세서일 수 있다. 일부 실시 예에서, AI 프로세서(2809)는 센서 데이터에 대하여 컨볼루션 뉴럴 네트워크(CNN)를 통한 추론(Inference)을 수행하기 위한 전문화된 AI 프로세서이다. 일부 실시 예에서, AI 프로세서(2809)는 센서 데이터의 비트 깊이(bit depth)를 위해 최적화될 수 있다. 일부 실시 예에서, AI 프로세서(2809)는 컨볼루션, 내적, 벡터 및/또는 행렬 연산들을 포함하는 뉴럴 네트워크의 연산들과 같은 딥 러닝 연산들을 위해 최적화될 수 있다. 일부 실시 예에서, AI 프로세서(2809)는 병렬 처리를 효과적으로 수행할 수 있는 복수의 그래픽 처리 장치(GPU)들을 통해 구현될 수 있다.
다양한 실시 예에서, AI 프로세서(2809)는 AI 프로세서(2809)가 실행되는 동안 센서(들)(2803)로부터 수신된 센서 데이터에 딥러닝 분석을 수행하고, 차량을 적어도 부분적으로 자율적으로 작동하는 데 사용된 머신 러닝 결과를 결정하도록 유발하는 명령어들을 갖는 AI 프로세서를 제공하도록 구성된 메모리에 입출력 인터페이스를 통해 커플링될 수 있다. 일부 실시 예에서, 차량 제어 모듈(Vehicle Control Module)(2811)은 인공 지능(AI) 프로세서(2809)로부터 출력된 차량 제어를 위한 명령들을 처리하고, 차량의 각종 모듈을 제어하기 위해 AI 프로세서(2809)의 출력을 각 차량의 모듈을 제어하기 위한 명령어들로 트랜슬레이트(translate)하기 위해 이용될 수 있다. 일부 실시 예에서, 차량 제어 모듈(2811)은 자율 주행을 위한 차량을 제어하기 위해 이용된다. 일부 실시 예에서, 차량 제어 모듈(2811)은 차량의 스티어링 및/또는 속력을 조정할 수 있다. 예를 들어, 차량 제어 모듈(2811)은 감속, 가속, 스티어링, 차선 변경, 차선 유지 등의 차량의 주행을 제어하기 위해 사용될 수 있다. 일부 실시 예에서, 차량 제어 모듈(2811)은 브레이크 등들(brake lights), 방향 지시등들(turns signals), 헤드라이트(headlights) 등과 같은 차량 조명(vehicle lighting)을 제어하기 위한 제어 신호들을 생성할 수 있다. 일부 실시 예에서, 차량 제어 모듈(2811)은 차량의 사운드 시스템(vehicle's sound system), 차량의 오디오 경고들(vehicle's audio warnings), 차량의 마이크 시스템(vehicle's microphone system), 차량의 경적 시스템(vehicle's horn system) 등과 같은 차량 오디오 관련 시스템들을 제어하기 위해 사용될 수 있다.
일부 실시 예에서, 차량 제어 모듈(2811)은 의도된 목적지의 접근 또는 잠재적인 충돌(potential collision)과 같은 주행 이벤트들의 승객들 및/또는 운전자를 알리기 위한 경고 시스템들을 포함하는 통지 시스템들(notification systems)을 제어하기 위해 사용될 수 있다. 일부 실시 예에서, 차량 제어 모듈(2811)은 차량의 센서들(2803)과 같은 센서들을 조정하기 위해 사용될 수 있다. 예를 들어, 차량 제어 모듈(2811)은 센서들(2803)의 지향 방향을 수정(modifying the orientation), 센서들(2803)의 출력 해상도 및/또는 포맷 유형을 변화, 캡쳐 비율(capture rate)을 증가 또는 감소, 동적 범위(dynamic range)를 조정, 카메라의 초점을 조정할 수 있다. 또한, 차량 제어 모듈(2811)은 센서들의 동작을 개별적으로 또는 집단적으로 온/오프 시킬 수 있다.
일부 실시 예에서, 차량 제어 모듈(2811)은 필터들의 주파수 범위를 수정하거나, 특징들(features) 및/또는 객체 검출을 위한 엣지 검출 파라미터들(edge detection parameter)을 조정하거나, 비트 깊이 및 채널들을 조정(adjusting channels and bit depth)하는 등과 같은 방식으로 이미지 전처리기(2805)의 파라미터들을 변화하기 위해 사용될 수 있다. 다양한 실시 예에서, 차량 제어 모듈(2811)은 차량의 자율 주행 및/또는 차량의 운전자-보조(Driver assistance) 기능을 제어하기 사용될 수 있다.
일부 실시 예에서, 네트워크 인터페이스(2813)는 자율 주행 제어 시스템(2800)의 블록 구성들과 통신부(2815)간의 내부 인터페이스를 담당할 수 있다. 구체적으로, 네트워크 인터페이스(2813)는 음성 데이터를 포함하는 데이터를 수신 및/또는 발신하기 위한 의사 소통 인터페이스일 수 있다. 다양한 실시 예에서, 네트워크 인터페이스(2813)는 통신부(2815)를 통해 음성 통화들을 연결하거나 문자 메시지들을 수신 및/또는 발신하거나, 센서 데이터를 전송하거나, 자율 주행 시스템으로 차량의 소프트웨어를 업데이트하거나, 차량의 자율 주행 시스템의 소프트웨어를 업데이트하기 위하여 외부의 서버들과 연결될 수 있다.
다양한 실시 예에서, 통신부(2815)는 셀룰러 또는 WiFi 방식의 다양한 무선 인터페이스를 포함할 수 있다. 예를 들어, 네트워크 인터페이스(2813)는 통신부(2815)를 통해 접속된 외부 서버로부터 센서들(2803), 이미지 전처리기(2805), 딥 러닝 네트워크(2807), AI 프로세서(2809), 차량 제어 모듈(2811)을 위한 작동 파라미터들 및/또는 명령어들에 대한 업데이트를 수신하기 위해 사용될 수 있다. 예를 들어, 딥 러닝 네트워크(2807)의 머신 러닝 모델은 통신부(2815)를 사용하여 업데이트될 수 있다. 또 다른 예시에 따르면, 통신부(2815)는 이미지 프로세싱 파라미터들과 같은 이미지 전처리기(2805)의 작동 파라미터들 및/또는 센서들(2803)의 펌웨어를 업데이트하기 위해 이용될 수 있다.
다른 실시 예에서, 통신부(2815)는 사고 또는 사고가 발생할 뻔한(near-accident) 이벤트에서 긴급 서비스들(emergency services)과 긴급 연락(emergency contact)을 위한 통신을 활성화시키기 위해 사용될 수 있다. 예를 들어, 충돌 이벤트에서, 통신부(2815)는 도움을 위한 긴급 서비스들을 호출하기 위해 사용될 수 있고, 충돌 세부사항들 및 차량의 위치의 긴급 서비스들을 외부로 알리기 위해 사용될 수 있다. 다양한 실시 예에서, 통신부(2815)는 예상된 도착 시간 및/또는 목적지 위치를 업데이트 하거나 획득할 수 있다.
일 실시 예에 따르면, 도 28에 도시된 자율 주행 시스템(2800)은 차량의 전자 장치로 구성될 수도 있다. 일 실시 예에 따르면, 자율 주행 시스템(2800)의 AI 프로세서(2809)는 차량의 자율 주행 시에 사용자로부터 자율 주행 해제 이벤트가 발생하면, 자율 주행 해제 이벤트 관련 정보를 딥 러닝 네트워크의 트레이닝 셋 데이터로 입력하도록 제어함으로써 차량의 자율 주행 소프트웨어를 학습 시키도록 제어할 수 있다.
도 29는 일 실시 예에 따른 전자 장치(2900)의 블록도이다.
도 29를 참고하면, 일 실시 예에 따른 전자 장치(2900)는 센서들(2903), 위치 측위부(2905), 메모리(2907), 프로세서(2909), 운전자 제스쳐 획득부(2911), 통신 회로(2913), 디스플레이부(2915) 및 자율 주행 시스템(2917) 중 적어도 하나를 포함할 수 있다. 다양한 실시 예에서, 각 요소들은 다양한 인터페이스를 통해 연결될 수 있다. 일부 실시 예에서, 전자 장치(2900)는 적절하게(as appropriate) 추가적인 또는 보다 더 적은 구성 요소들을 포함할 수 있다. 예를 들어, 센서(들)(2903)은 전자 장치(2900)와는 별도의 외부 장치의 구성요소일 수 있다. 일부 실시 예에서, 센서들(2903)은 이미지 센서 외에도 레이더(RADAR), LiDAR(Light Detection And Ranging), 및/또는 초음파 센서들을 포함한다.
위치 측위부(2905)는 GPS(Global Positioning System), GLONASS와 같은 범지구 위성 항법 시스템(Global Navigation Satellite System)(GNSS) 또는 셀룰러 네트워크의 기지국과의 통신을 통해 차량의 위치를 실시간으로 측위하고, 측위된 위치를 프로세서(2909)로 제공할 수 있다.
메모리(2907)은 차량 운행을 위한 각종 제어 정보, 차량의 운행에 따라 생성된 운행 정보, 차량의 운영 체제 소프트웨어 및 차량의 운행을 위한 전자 지도 데이터 중 적어도 하나를 저장할 수 있다.
프로세서(2909)는 하나 이상의 인스트럭션에 기반하여 데이터를 처리하기 위한 하드웨어 컴포넌트를 포함할 수 있다. 일 실시 예에서, 프로세서(2909)는 지정된 기준을 만족하는 조건 상에서(on a condition that), 자율 주행 해제 이벤트 관련 정보(autonomous driving disengagement event associated information)를 통신 회로(2913)를 통해 서버로 송신할 수 있다.
물론, 자율 주행 해제 이벤트 관련 정보를 서버로 전송하기 전에 프로세서(2909)는 운전자 또는 사용자로부터 정보 제공에 대한 동의 정보를 서버로 전송하여야 한다. 정보 제공에 대한 동의 프로세서는 프로세서(2909)가 전자 장치(2900)가 자율 주행 기능을 제공하기 전에 운전자 또는 사용자로부터 주행 해제 이벤트 관련 정보가 주행 해제 이벤트 발생 시에 서버로 전송될 수 있음을 디스플레이(2915)를 통해 표시하는 것이 바람직할 것이다.
일 실시 예에서 프로세서(2909)는 차량의 자율 주행 중 센서(들)(2903)에 의해 획득된 센서 데이터와 위치 정보를 메모리(2907)에 저장할 수도 있다.
일 실시 예에서 상기 자율 주행 해제 이벤트 관련 정보(autonomous driving disengagement event associated information)는 자율 주행 해제 이벤트가 발생한 시점에서 획득된 센서(들)(2903)에 의해 획득된 센서 데이터들과 센서 데이터가 획득된 위치 정보, 운전자 운행 정보 중 적어도 하나를 포함한다. 일 실시 예에서 상기 센서 데이터들은 이미지 센서, 레이더, LiDAR, 및 초음파 센서들에 의해 획득된 데이터 중 적어도 하나를 포함할 수 있다. 일 실시 예에서 자율 주행 해제 이벤트 관련 정보(autonomous driving disengagement event associated information)는, 운전자의 프라이버시 보호를 위해, 운전자를 식별할 수 있는 운전자 식별 정보(User ID, Driver license 정보, 운전자 이름 등) 및/또는 차량 식별 정보(차량 번호판 정보(License plate information), 차량 식별 정보(Vehicle Identification Number) 등과 관계 없도록 처리될 수 있다.
일 실시 예에서 상기 자율 주행 해제 이벤트 관련 정보는 사전에 서버로부터 수신한 암호화 키(secret key)를 통해 암호화되어 전송될 수도 있다. 이때 암호화 키는 공개 키(Public Key) 방식을 사용할 수도 있으며, 대칭 키 방식을 사용할 수도 있다.
일 실시 예에서 상기 지정된 기준은, 자율 주행 해제 이벤트(autonomous driving disengagement event)가 발생한 시점일 수 있다. 예를 들어, 차량이 자율 주행 모드로 주행하는 도중에 운전자의 개입(driver intervention)이 발생하거나, 자율 주행 모드에서 수행 주행 모드로 주행 모드를 변경할 것을 요구하는 운전자 제스쳐(driver gesture)가 발생한 시점일 수 있다. 일 실시 예에서, 운전자 제스쳐 획득부(2911)가 운전자가 차량의 스티어링 휠을 조작하거나 차량의 가속 페달/감속 페달을 조작하거나, 차량의 기어를 조작하는 것을 운전자 제스쳐 획득부(2911)가 식별하는 것에 기반하여 운전자의 개입을 판단할 수 있다. 일 실시 예에서 운전자 제스쳐 획득부(2911)가 자율 주행 모드에서 수동 주행 모드로의 주행 모드 변환을 나타내는 운전자의 손 동작 또는 몸 동작을 식별하는 것에 기반하여 운전자의 개입을 판단할 수 있다. 일 실시 예에서, 자율 주행 해제 이벤트는, 차량의 자율 주행 시스템(2917)이 미리 학습된 자율 주행 알고리즘에 의해 원활한 자율 주행을 수행하지 못하는 지점에서 발생할 수 있다. 예컨대, 자율 주행 모드에 따라 정해진 주행 경로 상을 주행하던 차량이 신호등이 없는 회전 교차로(round about)에 진입하는 상황에서 해당 회전 교차로를 진입하는 타 차량의 존재를 검출하고, 상기 타 차량이 예측된 방향과 속도로 진행하지 않는 것을 프로세서(2909)가 식별하는 것에 기반하여, 운전자 제스쳐 획득부(2911)는 상기 프로세서(2909)가 식별한 시점에 발생한 운전자 제스쳐에 의해 자율 주행 해제 모드로의 모드 변경을 위한 운전자 개입을 판단할 수 있다. 또 다른 예에서, 자율 주행 모드에 따라 정해진 주행 경로 상을 주행하던 차량이 주행 경로 상에 예측하지 못한 도로 상황(도로 공사 중), 교통 상황, 도로 상 사고 발생, 차량의 장애 알림 등이 발생한 것을 프로세서(2909)가 식별하는 것에 기반하여, 운전자 제스쳐 획득부(2911)는 상기 프로세서(2909)가 식별한 시점에 발생한 운전자 제스쳐에 의해 자율 주행 해제 모드로의 모드 변경을 위한 운전자 개입을 판단할 수 있다.
일 실시 예에서, 운전자 제스쳐 획득부(2911)은 차량 실내에 장착된 가시 광 카메라 및/또는 적외선 카메라를 통해 인식된 사용자 제스쳐가 미리 지정된 자율 주행 모드 해제에 해당하는 제스쳐인지 여부를 판단할 수 있다. 또한, 일 실시 예에서, 운전자 제스쳐 획득부(2911)는 디스플레이(2913) 상에 표시된 UX(User eXperience)를 통해 선택된 사용자 입력에 의해 자율 주행 해제 이벤트 발생을 식별할 수 있다.
일 실시 예에서, 프로세서(2909)는 지정된 기준을 만족하는 조건 상에서(on a condition that), 운전자 운행 정보를 획득하고, 획득된 운행 정보와 상기 운행 정보가 획득된 위치 정보를 통신 회로(2913)를 통해 서버(2900)로 송신할 수 있다. 이때 상기 운전자 운행 정보는, 상기 자율 주행 해제 이벤트가 발생한 시점에서 운전자에 의해 조작된 스티어링 휠 조작 각도, 가속 페달 조작 정보, 감속 페달 조작 정보, 기어 정보 중 적어도 하나를 포함할 수 있다.
일 실시 예에서, 프로세서(2909)는 역방향 트래픽(reverse traffic)의 혼잡(congestion)을 감소시키기 위해 상기 자율 주행 해제 이벤트가 발생한 시점에 획득된 자율 주행 해제 이벤트 관련 정보(autonomous driving disengagement event associated information)를 서버로 송신할 때, 상기 센서(들)(2903)에 의해 획득된 데이터 중 일부 데이터만을 자율 주행 해제 이벤트 관련 정보로 송신할 수 있다.
예컨대, 차량에 총 10개의 센서들이 장착되어 있고, 각 센서들이 초당 30프레임(30fps)으로 센서 데이터를 취득할 경우, 프로세서(2909)는 상기 10개의 센서들로부터 취득된 센서 데이터 중 상기 자율 주행 해제 이벤트가 발생한 시점을 기준으로 일정 시간 동안(예컨대 10초) 발생된 총 300개의 프레임들(10초 X 30 프레임) 중 일부 프레임들(100개의 프레임들)(10초 X 10 프레임)만을 서버로 송신할 수 있다.
다른 실시 예에서, 프로세서(2909)는 상기 자율 주행 해제 이벤트가 발생한 시점에 획득된 자율 주행 해제 이벤트 관련 정보(autonomous driving disengagement event associated information)를 서버로 송신할 때, 상기 센서(들)(2903)에 의해 획득된 데이터의 전체 데이터(full data)를 자율 주행 해제 이벤트 관련 정보로 송신할 수 있다. 예컨대, 차량에 총 10개의 센서들이 장착되어 있고, 각 센서들이 초당 30프레임(30fps)으로 센서 데이터를 취득할 경우, 프로세서(2909)는 상기 10개의 센서들로부터 취득된 센서 데이터 중 일부 데이터만(예를 들어, 초당 10 프레임)을 메모리(2907)에 저장하고, 상기 자율 주행 해제 이벤트가 발생한 시점을 기준으로 일정 시간 동안(예컨대 10초) 발생된 총 300개의 프레임들(10초 X 30 프레임) 전체를 서버로 송신할 수 있다.
또는 다른 실시 예에서, 프로세서(2909)는 통신 회로(2913)가 네트워크에 연결되지 않은 동안, 자율 주행 해제 이벤트가 발생한 경우, 자율 주행 해제 이벤트가 발생한 시점에 획득된 자율 주행 해제 이벤트 관련 정보(autonomous driving disengagement event associated information)를 메모리(2907)에 임시 저장한 후, 다시 통신 회로(2913)가 네트워크에 연결되는 동안 서버로 전송하도록 제어할 수 있다.
물론, 프로세서(2909)는 각 센서들(2903)로부터 획득된 센서 데이터의 시간 동기를 일치시켜야 함은 당연하다. 자율 주행 시스템(2917)은 일 실시 예에 따라 센서(들)에 의해 취득된 센서 데이터를 이용하여 학습된 신경 망을 이용하여 차량에 자율 주행 기능을 제공하며, 통신 회로(2913)를 통해 OTA(Over The Air) 방식으로 자율 주행 소프트웨어를 갱신하거나, 다운로드 받을 수 있다.
도 30은 일 실시 예에 따른 서버(3000)의 블록도이다.
도 30을 참고하면, 일 실시 예에 따른 서버(3000)는 프로세서(3003), 메모리(3005), 트레이닝 셋 생성부(3007), 딥 러닝 처리부(3009) 및 통신 회로(3011) 중 적어도 하나를 포함할 수 있다. 다양한 실시 예에서, 각 요소들은 다양한 인터페이스를 통해 연결될 수 있다. 일부 실시 예에서, 서버(3000)는 적절하게(as appropriate) 추가적인 또는 보다 더 적은 구성 요소들을 포함할 수 있다.
일 실시 예에서, 프로세서(3003)는 통신 회로(3011)를 통해 OTA 방식으로 전자 장치(3000)로 딥 러닝 처리부(3009)에서 학습된 자율 주행을 위한 소프트웨어(알고리즘)을 배포한다. 일 실시 예에서, 프로세서(3003)는 전자 장치(2900)로부터 수신된 자율 주행 해제 이벤트 관련 정보를 트레이닝 셋(training set) 생성부(3007)로 전달하여 딥 러닝 처리부(3009)의 학습을 위한 트레이닝 데이터를 생성하도록 제어한다.
일 실시 예에서, 메모리(3005)는 차량의 자율 주행에 필요한 전자 지도 데이터와 네트워크에 접속되어 자율 주행을 수행 중인 차량들로부터 획득된 센서 데이터와 그 위치 정보들을 사용자 및/또는 차량의 식별 정보와 관계 없이 저장한다.
일 실시 예에서, 메모리(3005)는 차량의 자율 주행 중에 자율 주행 해제 이벤트 발생 시점에서 생성된 센서 데이터와 그 위치 정보만을 저장할 수도 있다.
일 실시 예에서, 딥 러닝 처리부(3009)는 상기 트레이닝 셋 생성부(3007)에서 생성된 트레이닝 데이터를 사용하여 자율 주행의 딥 러닝 알고리즘 학습을 수행하고, 수행된 학습 결과를 이용하여 자율 주행 알고리즘을 갱신한다.
일 실시 예에서, 프로세서(3003)는 상기 딥 러닝 처리부(3009)에서 갱신된 자율 주행 알고리즘을 네트워크에 연결된 전자 장치(2900)로 OTA 방식을 통해 배포할 수 있다.
일 실시 예에서, 프로세서(3003)는 통신 회로(3011)를 통해 차량 A로부터 수신된 자율 주행 해제 이벤트 관련 정보가 생성된 위치를 경유하는 차량 B의 자율 주행 제어 시스템으로, 자율 주행 소프트웨어를 갱신할 것을 요구하고, 차량 B는 갱신된 자율 주행 소프트웨어를 다운로드 받을 수 있다.
도 31은 다양한 실시예들에 따른 자율 주행 시스템의 동작을 설명하기 위한 신호 흐름도이다.
도 31을 참고하면, 동작(S3100)에서, 일 실시 예에 따른 전자 장치(2900)는 자율 주행 모드로 동작하고, 동작(S3102)에서 센서(들)에 의해 센서 데이터를 획득한다. 동작(S3104)에서, 일 실시 예에 따른 전자 장치(2900)는 자율 주행 해제 이벤트가 발생하면, 동작(S3106)에서, 수동 주행 모드로 변환하고, 사용자의 수동 조작에 따라 발생한 제어 명령에 따라 주행을 수행한다.
동작(S3108)에서, 일 실시 예에 따른 전자 장치(2900)는 자율 주행 해제 이벤트 관련 정보를 생성하고, 동작(S3110)에서 서버(3000)로 자율 주행 해제 이벤트 발생 알림 메시지를 전송한다.
상기 자율 주행 해제 이벤트 발생 알림 메시지의 획득에 응답하여, 동작(S3112)에서, 서버(3000)는 전자 장치(2900)로 자율 주행 해제 이벤트 관련 정보 전송 요청 메시지를 전송한다.
상기 자율 주행 해제 이벤트 관련 정보 전송 요청 메시지의 획득에 응답하며, 동작(S3114)에서 전자 장치(2900)는 자율 주행 해제 이벤트 관련 정보를 서버(3000)로 전송한다.
상기 자율 주행 해제 이벤트 관련 정보의 획득에 응답하여, 동작(S3116)에서 서버(3000)는, 상기 자율 주행 해제 이벤트 관련 정보를 이용하여 딥 러닝을 위한 트레이닝 셋 데이터(training set data)로 생성한다.
동작(S3118)에서 서버(3000)는 상기 트레이닝 셋 데이터를 이용하여 딥 러닝을 수행하고, 동작(S3120)에서 서버(3000)는 자율 주행 알고리즘을 갱신한다.
동작(S3121)에서 서버(3000)는 상기 갱신된 자율 주행 알고리즘의 배포가 결정되면(S3122의 Y), 동작(S3130)에서 상기 갱신된 자율 주행 알고리즘의 소프트웨어를 OTA를 통해 전자 장치(2900)로 전달한다. 이때 동작(S3130)에서 서버(3000)는 전자 장치(2900)가 네트워크에 접속되어 있거나, 전자 장치(2900)가 자율 주행 소프트웨어를 구독한 구독자(subscriber)인지를 판단하고, 해당 서비스를 구독한 사용자의 전자 장치(2900)로만 갱신된 자율 주행 소프트웨어의 배포를 결정할 수도 있다. 또한, 동작(S3130)에서 서버(3000)는 전자 장치(2900)에 저장된 자율 주행 소프트웨어의 버전이ㅣ 업그레이트가 필요한 버전임을 확인하는 것에 기반하여, 네트워크에 접속되어 있거나, 전자 장치(2900)로 자율 주행 소프트웨어를 배포할 수도 있다.
동작(S3122)에서, 전자 장치(2900)는, 사용자에 의해 자율 주행 모드로 전환 되었다면(S3122의 Yes), 동작(S3124)에서 자율 주행 모드로 주행하고, 자율 주행 모드로 전환되지 않았다면(S3122의 No), 동작(S3106)에서 수동 주행 모드로 주행하도록 자율 주행 시스템을 비활성화(disable)시킨다. 그리고, 동작(S3126)에서의 서버(3000)로부터의 새로운 버전의 자율 주행 소프트웨어 수신에 응답하여, 전자 장치(2900)는 새로운 버전의 자율 주행 소프트웨어를 이용하여 자율 주행을 수행한다.
도 32는 다양한 실시예들에 따른 서버(3000)의 동작을 설명하기 위한 신호 흐름도이다.
동작(S3200)에서 서버(3000)는 차량 A로부터 자율 주행 해제 이벤트 발생이 확인되면, 동작(S3202)에서 차량 A로부터 자율 주행 해제 이벤트 관련 정보를 획득한다.
상기 자율 주행 해제 이벤트 관련 정보가 획득되면, 서버(3000)는 동작(S3204)에서 상기 자율 주행 해제 이벤트 관련 정보를 딥 러닝을 위한 트레이닝 셋 데이터로 생성하고, 동작(S3206)에서 생성된 트레이닝 셋 데이터로 딥 러닝을 수행하고, 동작(S3208)에서 상기 수행된 딥 러닝 결과를 통해 자율 주행 소프트웨어를 갱신한다.
동작(S3210)에서 서버(3000)에서 차량 B가 상기 차량 A에서 자율 주행 해제 이벤트가 발생한 지점을 통과할 예정임이 확인되면(S3210의 Yes), 서버(3000)는 동작(S3212)에서 차량 B로 자율 주행 소프트웨어 갱신을 요구하고, 동작(S3214)에서 자량 B로 자율 주행 소프트웨어를 전송하여 차량 B가 차량 A에서 발생한 것과 유사한 자율 주행 해제 이벤트의 발생을 방지할 수 있다. 상기 동작(S3210)에서 서버(3000)는, 일 실시 예에 따라 자율 주행 중인 차량들과 네트워크를 통해 연결되고, 각 자율 주행 중인 차량의 경로 및 위치를 실시간으로 확인할 수 있으므로, 특정 차량이 자율 주행 해제 이벤트가 발생한 지점을 그 후행 차량이 진입/경유할 것인지 여부를 확인할 수 있다. 물론, 서버(3000)는 운전자의 개인 정보 보호를 위해, 각 차량으로부터 획득되는 위치 정보는 운전자 및/또는 차량의 식별 정보와 무관하게 획득될 수 있다.
도 33은 일 실시 예에 따른 자율 주행 시스템(3300)의 블록 구성도이다.
도 33을 참고하면, 일 실시 예에 따른 자율 주행 시스템(3300)은 센서부(3302), 차량 동작 정보 획득부(3304), 차량 제어 명령 생성부(3306), 차량 동작 제어부(3308), 통신부(3310), AI 가속기(Accelerator)(3312), 메모리(3314) 및 프로세서(3316)를 포함할 수 있다.
센서부(3302)는 CCD(charge-coupled device) 및 CMOS(complementary metal oxide semiconductor) 센서를 사용하는 카메라와 같은 비전 센서와 전자기장(Electromagnetic), 음향(acoustic), 진동(vibration), 방사선(radiation), 전파(radio wave) , 열(thermal) 센서 등과 같은 비비전(Non-vision) 센서를 포함할 수 있다.
차량 동작 정보 획득부(3304)는 차량의 주행 거리계(odometer), ECU등으로부터 차량의 속도, 브레이킹, 주행 방향, 방향 지시등, 헤드라이트, 스티어링 등 차량의 주행에 필요한 동작 정보(operating information)을 획득한다.
차량 제어 명령 생성부(3306)는 프로세서(3316)에 의해 명령된 차량 동작을 제어하기 위한 제어 명령을 차량의 각 부품에 해당하는 명령어로 생성하여 출력한다.
통신부(3310)는 셀룰러 또는 WiFi 등의 무선 네트워크를 통해 외부의 서버 와 통신하거나, C-V2X를 통해 또는 타 차량, 보행자, 도로 상의 infrastructure, cyclist 등과 통신을 수행할 수 있다.
AI 가속기(Artificial Intelligence Accelerator)(3312)는 머신 러닝과 인공 지능 기능을 가속화하기 위한 하드웨어로, 프로세서(3316)를 보완하기 위하 보조 연산 장치로서, 차량 내에 GPU, FPGA, ASIC로 구현될 수 있다. AI 가속기(3312)는 자율 주행 시스템(3300)을 위한 딥 러닝 모델을 용이하게 구현할 수 있는 병렬 처리가 가능한 아키텍쳐를 이용하여 설계하는 것이 바람직하다. 일 실시 예에 따르면, 자율 주행을 위한 딥 러닝 모델은 CNN, RNN 등을 이용하여 구현할 수 있다.
메모리(3314)는 자율 주행 시스템을 위한 각종 소프트웨어, 딥 러닝 모델, 센서부(3302)에 의해 획득된 센서 데이터, 위치 정보, 고정밀 지도, 암호화를 위한 고유 키 정보가 저장될 수 있다.
프로세서(3316)는 일 실시 예에 따른 자율 주행 시스템을 제공하기 위해 각 블록들을 제어하며, 자율 주행 해제 이벤트가 발생한 경우, 센서부(3302)의 각 센서들에서 데이터를 획득하기 위한 시간 동기를 생성할 수도 있다. 또한, 자율 주행 해제 이벤트가 발생한 경우, 센서부(3302)에 의해 획득된 센서 데이터에 대한 labeling 을 결정하고, labeling된 데이터 셋트들을 통신부(3310)를 통해 서버로 전송하도록 제어한다.
반면, 프로세서(3316)는 서버에서 새로운 버전의 자율 주행 소프트웨어가 릴리즈될 경우, 통신부(3310)를 통해 새로운 버전의 자율 주행 소프트웨어를 다운로드받아 메모리(3314)에 저장하고, AI 가속기(3312)를 통해 새로운 버전의 자율 주행 소프트웨어에 해당하는 머신 러닝 모델을 구동하도록 제어한다.
도 34는 일 실시 예에 따른 서버(3400)의 블록 구성도이다.
통신부(3402)는 차량의 통신부 또는 도로 주변에 설치된 인프라스트럭쳐(infrastructure)들과 통신을 수행하여 데이터 송수신을 하고, 트레이닝 데이터 셋(training data set) 생성부(3404)는 차량으로부터 획득된 레이블된 데이터 셋트들을 이용하여 트레이닝 데이터 셋을 생성한다. 상기 도로 주변에 설치된 인프라스트럭쳐들은 도로 주변에 설치되어 일정한 커버리지 내의 무선 통신 장치들과 5G/5G NR/6G 등의 이동 통신 방식의 무선 접속 기술을 통해 통신을 수행하는 기지국(eNode B 등) 또는 DSRC(Dedicated Short Range Communication), IEEE 802.11p WAVE(Wireless Acceess in Vehicular Environment) 등의 통신을 지원하기 위해 도로에 설치된 RSE(Road Side Equipment)를 포함할 수 있다.
딥 러닝 학습부(3406)는 상기 트레이닝 데이터 셋 생성부(3404)에서 새로 생성된 트레이닝 데이터 셋을 이용하여 학습을 수행하고, 그 학습 결과를 통해 추론 모델(inference model)을 생성한다.
자율 주행 소프트웨어 갱신부(3408)는 상기 새로 생성된 inference model을 반영한 새로운 버전의 자율 주행 소프트웨어를 릴리스(Release)하여 메모리(3410)에 저장하고, 프로세서(3412)는 상기 메모리(3410)에 저장된 새로운 버전의 자율 주행 소프트웨어를 통신부(3402)를 통해 네트워크에 연결된 차량으로 송신한다.
도 35는 일 실시 예에 따른 자율 주행 차량 시스템의 동작 흐름도이다.
동작(S3501)에서 자율 주행 차량 시스템은 사용자/운전자로부터 자율 주행 시작이 요청되면, 동작(S3503)에서 자율 주행 모드로 차량을 운행한다.
그리고, 동작(S3505)에서 자율 주행 차량 시스템은 자율 주행 해제 이벤트의 발생을 감지하면(S3505의 Yes), 동작(S3507)에서 자율 주행 해제 이벤트가 발생한 시점에서 획득된 센서 데이터와 차량 동작 데이터를 저장한다. 이때 동작(S3507)에서 자율 주행 차량 시스템은, 자율 주행 해제 이벤트 발생을 식별하는 것에 응답하여 자율 주행 해제 이벤트가 발생한 시점을 포함한 일정 시간 구간 동안(예컨대 1분, 30초 등) 획득된 센서 데이터와 차량 동작 데이터를 저장할 수 있다. 예컨대, 2021년 3월 11일 오후 4시 20분에 자율 주행 해제 이벤트가 발생했다면, 오후 4시 15분부터 오후 4시 25분까지 동안 획득된 센서 데이터와 차량 동작 데이터를 저장할 수 있다.
또한, 동작(S3507)에서 자율 주행 차량 시스템은, 자율 주행 해제 이벤트 발생을 식별하는 것에 응답하여 자율 주행 해제 이벤트가 발생하여 수동 주행 모드로 동작한 시점부터 다시 자율 주행 동작 모드로 동작되기 전까지 획득된 센서 데이터와 차량 동작 데이터를 저장할 수 있다.
그리고, 동작(S3509)에서 자율 주행 차량 시스템은, 상기 동작(S3505)에서 발생한 자율 주행 이벤트가 미리 정해진 조건에 해당하는지 판단하고, 상기 발생한 자율 주행 이벤트가 미리 정해진 조건에 해당한다면(S3509의 Yes), 동작(S3511)에서 상기 저장된 센서 데이터와 차량 동작 데이터를 라벨링(labeling)하고, 동작(S3513)에서 상기 라벨링된 데이터(센서 데이터, 차량 동작 데이터)를 서버로 전송한다.
상기 동작(S3509)에서 미리 정해진 조건이란, 사전에 자율 주행 차량 시스템 제조 회사가 자율 주행 소프트웨어 개발 시 정의한 조건들로, 아래의 <표 2>와 같은 상황들을 포함할 수 있으며, 아래의 <표 2>와 같은 상황들을 각각 구분하기 위해 각 상황에서 수집된 센서 데이터와 차량 동작 데이터에 해당하는 별도의 라벨링을 수행할 수 있다.
급감속, 급가속, 차선 변경, 중앙선 침범, 추월, 끼어들기(Cut in), 장애물 회피, 진행 경로 방해 이벤트 발생, 공사 상황, 사고 발생 상황, 반대편 차량 중앙선 침범, 신호등 및 정지 표지판 제어(Traffic Light and Stop Sign Control), 정지 신호 위반, 교통 장애물 인식, 신호등 및 정지 표지판 인식, 급격한 스티어링 변경, 비보호 교차로 진입,
반면, 동작(S3509)에서 자율 주행 차량 시스템은, 상기 발생한 자율 주행 이벤트가 미리 정해진 조건에 해당하지 않는다면(S3509의 No), 동작(S3523)에서 상기 저장된 센서 데이터와 차량 동작 데이터에 해당하는 이벤트는 사전에 정의된 이벤트가 아니므로, 동작(S3523)에서 서버로 새로운 이벤트에 해당하는 새로운 라벨링(labeling) 정의(definition)을 요청하고, 새로운 라벨링 정의가 수신되면, 동작(S3511)에서 새로운 라벨링 정의에 따라 저장된 센서 데이터와 차량 동작 데이터를 라벨링하고, 동작(S3513)에서 상기 라벨링된 데이터(센서 데이터, 차량 동작 데이터)를 서버로 전송한다.
그리고, 동작(S3515)에서 자율 주행 차량 시스템은, 자율 주행 소프트웨어 갱신이 필요하면(S3515의 Yes), 동작(S3517)에서 서버로부터 갱신된 자율 주행 소프트웨어를 다운로드받고, 동작(S3519)에서 갱신된 자율 주행 소프트웨어의 추론 모델(inference model)로 딥 러닝 모델을 갱신한 후, 동작(S3521)에서 갱신된 딥 러닝 모델을 이용하여 자율 주행을 수행한다.
도 35의 S3509단계에서의 이벤트와 조건은 사전에 자율 주행 차량의 설계/제조 단계 또는 자율 주행 소프트웨어 개발 시 설정될 수 있다. 예컨대, 이벤트는 차량의 자율 주행 중 예측하지 못한 장애물이 출현한 상황, 또는 검출된 객체의 진행 방향이 미리 학습된 객체의 진행 방향과 상이한 경우, round about 진입 상황, 신호등이 없는 교차로, 신호등의 표시와 차량의 흐름이 일치하지 않는 경우, 터널의 진출입, 다리의 진출입, 눈과 비와 같은 주행 환경의 변화, 블랙 아이스 상황, 공사 상황, 교통 혼잡 상황, 사고 상황 등이 이벤트를 trigger 시킬 수 있다.
S3509의 조건은 상기 이벤트 중에서 labeling을 할 대상이 되는 조건으로, 자율 주행 소프트웨어를 위한 추론 모델을 갱신하기 위해 필요한 조건들이다. 미리 개발자들이 정해놓은 조건들에 해당하는 데이터는 자동으로 labeling되어 서버로 training data set으로 전송되게 된다.
일 실시 예에서, 자율 주행 해제 이벤트가 발생할 경우, 프로세서가 생성하는 자율 주행 해제 이벤트 관련 정보는 다음의 <표 3>의 데이터를 포함할 수 있다.
Name Description
Labeling Type(레이블링 형태) 트레이닝 데이터 셋을 생성하기 위해 미리 정해진 label type
Driver behavior data(운전자 행동 정보) 이벤트가 발생한 경우, 운전자가 개입하여 차량의 운행을 조작한 정보(예를 들어, 운전자가 조작한 스티어링 정보, 브레이킹 압력, 가속 페달 위치)
Vehicle Driving data(차량 주행 데이터) 가속 시스템 출력 값, 브렐이킹 시스템 출력 값, 브레이킹 압력, 속도, 기어 위치, 가속도 정보, 차량의 pith, yaw, roll 정보, 바퀴 회전 속도, 타이어 압력
Vehicle operation data(차량 동작 정보) 이벤트 발생 시 운전자에 의해 수동 조작된 차량의 주행 방향, 주행 속도 정보, 주행 거리 정보
Vehicle operation command(차량 제어 명령) 이벤트 발생 시 운전자의 개입에 의해 차량의 각 부품들(components)의 동작을 제어하기 위해 ECU에서 생성된 명령(command)
Sensor data(센서 데이터) Vision sensor, non-vision sensor로부터 획득된 데이터
Positioning information(위치 정보) GPS 등을 통해 획득된 이벤트가 발생한 위치 정보
Time information(시간 정보) 이벤트가 발생한 시간 정보
상기 <표 3>의 데이터는 일정 주기(예컨대, 100Hz)로 프로세서에 의해 획득될 수 있다.
다른 실시 예에서, 프로세서는 미리 저장된 고정밀 지도 상에 위치하는 객체의 정보(객체의 위치, 객체의 식별 정보)와 센서부를 통해 획득된 객체의 정보가 상이하다면, 획득된 객체의 정보와 상기 객체가 획득된 시점에서 발생한 차량 동작 정보, 운전자 운행 정보, 차량 주행 데이터를 통신부를 통해 서버로 전송할 수 있다.
또 다른 실시 예에서 프로세서는 센서부에서 획득된 차량의 주변 환경 중에서 차량의 주행 방향 상에 위치한 객체들을 목표 객체(target object)로 선택하고, 선택된 목표 객체에 해당하는 데이터에 해당하는 센서 데이터만을 처리하도록 함으로써 자율 주행 시스템의 전체 연산량을 줄이도록 제어할 수도 있을 것이다. 좀더 구체적으로, 프로세서는 센서부를 통해 획득된 주변 환경에 존재하는 전체 객체에 대한 일련의 시계열 데이터들을 이용하여 각 객체에 대한 이동 방향을 예측하고, 예측된 객체의 이동 방향이 차량의 주행 경로 상에 위치한다면, 그 객체 만을 목표 객체로 선정하고, 그 목표 객체에 대한 정보를 차량의 자율 주행을 위한 딥 러닝 모델의 입력으로 사용할 수 있다.
도 36은 일 실시 예에 따른 전자 장치의 동작 흐름도이다.
동작(S3601)에서 전자 장치는 차량에 장착된 비전 센서를 통해 센서 데이터를 획득하면, 동작(S3603)에서 획득된 전체 센서 데이터를 객체 추정을 위한 딥 러닝 모델로 입력한다.
동작(S3605)에서 전자 장치는 전체 센서 데이터 중 의미 있는 객체가 존재할 가능성이 높은 픽셀 영역(또는 식별할 필요가 있는 영역)을 선택하고, 동작(S3607)에서 선택된 영역 내의 각 픽셀의 깊이(depth)를 추정한다.
동작(S3609)에서 전자 장치는 상기 추정된 픽셀의 깊이(depth)를 이용하여 깊이 지도(depth map)을 생성하고, 동작(S3611)에서 상기 생성된 깊이 지도를 3차원 지도로 변환하여 디스플렐이를 통해 사용자에게 출력한다.
도 37은 일 실시 예에 따라 전자 장치(3700)가 차량에 장착된 비전 센서를 통해 획득된 이미지 데이터를 통해 객체를 검출하는 객체 검출 모듈의 블록 구성도이다.
픽셀 선택부(3702)는 카메라를 통해 획득된 전체 픽셀 중 식별할 필요한 영역만을 선택하고, 선택된 픽셀 값을 깊이 추정부(3704)로 출력한다. 일 실시 예에 따라 픽셀 선택부(3702)가 비전 센서를 통해 획득된 프레임 중 일부 식별할 필요가 있는 영역만을 선택하는 이유는, 일반적으로 비전 센서의 시야각에 포함되는 파사체들 중 차량의 주행 시 주의해야 할 타 차량이나 보행자, cyclist, 도로 인프라 등 차량의 진행 방향 상에 존재하는 객체들이 프레임 전체에서 일부 영역에서만 존재하기 때문이다. 즉, 차량이 주행하는 도로 영역, 하늘과 같은 배경 영역은 차량의 진행 방향 상 존재하는 객체(차량과 충돌 가능성이 높은 객체)가 아니므로, 불필요한 객체라고 판단되는 영역의 픽셀까지 depth 추정을 수행하기 위한 머신 러닝을 적용하는 것은 차량의 컴퓨팅 자원 나아가서는 차량의 전원 소모를 증가시키므로 바람직하지 않다.
깊이 추정부(3704)는 딥 러닝 모델을 통해 상기 선택된 픽셀 값을 이용하여 depth를 추정(estimate)한다. 이때 깊이 추정부가 depth를 추정하는 방법은 SDN(Stereo Depth Network), GDC(Graphic-based Depth Correction) 등을 사용할 수 있다.
다른 예로, 깊이 추정부(3704)는 선택된 픽셀 값의 depth를 추정할 때, 입력된 이미지의 복셀화(Voxelization)를 이용하여 수행할 수도 있다. 깊이 추정부(3704)가 이미지의 복셀화를 이용하여 픽셀 값의 depth를 추정하는 방법은 아래의 도 39를 통해 설명하기로 한다.
복셀(voxel)은 의료 및 과학 분야에서 3차원 공간에서의 정규 격자(regular grid) 상의 값(value)을 나타내고, 이러한 값들은 데이터를 분석하고 시각화하는데 매우 중요한 요소로 사용된다. 이는 복셀(voxel)이 notational 3D 공간을 구성하고 컴퓨터 기반 모델링 및 그래픽 시뮬레이션에서 일반적으로 사용되는 볼륨 요소의 배열이기 때문이다. 3차원 프린팅에서, 복셀은 자신의 깊이(depth)로 인해 널리 사용된다. 일 실시 예에서 복셀화는 포인트 클라우드(point cloud)를 동일한 공간(space)를 가지는 3차원 복셀들(3D voxels)로 분할하고, 각 복셀 내의 일정 그룹의 포인트들을 복셀 특징 인코딩 레이어(voxel feature encoding (VFE) layer)등을 통해 통합 특징 표현(unified feature representation)으로 변환한다.
일 실시 예에서, 주행 시에 장애물을 객체로 검출하고 인식하기 위한 센서는 총 4개의 포인트들을 위해 객체 상에 각각 적어도 두 개의 포인트들(at least two points)을 위치시킬 수 있는 적어도 2개의 빔들(at least two beams)을 방출해야 한다. 일 실시 예에서 센서는 차량에 장착된 LiDAR 센서를 포함할 수 있다.
33일 실시 예에 따르면, 센서에 의해 검출이 가능한 가장 작은 객체는, 객체상에 서로 다른 2개의 빔들로부터 적어도 4개의 포인트들을 위치하기 위해 상기 센서에 비해 충분히 큰 크기의 객체이어야 할 것이다.
일 실시 예에서 객체의 depth는 싱글 렌즈(single lens) 기반의 카메라 또는 스테레오 렌즈(stereo lens) 기반의 카메라를 통해 획득할 수 있다.
Single lens 기반의 카메라를 통해서는, 차량에 장착된 물리적인 카메라가 1대뿐이더라도 차량은 시간에 따라 그 위치가 계속 변경되므로, 동일한 객체를 인식한 카메라의 위치가 일정한 시간(t)가 경과한 후에 상이하게 되는 원리를 이용하여 상기 인식된 객체의 depth를 추정할 수 있다.
반면, stereo camera와 같이 물리적으로 2개 이상의 카메라가 서로 상이한위치로 차량에 장착된 경우, 각 카메라에서 동일한 객체에 대한 시계(Field of View)가 상이한 특성을 이용하여 서로 다른 카메라가 동시에 동일하게 인식한 객체에 대한 depth를 추정할 수 있을 것이다.
객체 검출부(3708)는 상기 추정된 픽셀의 depth를 이용하여 객체를 식별하고, 구분함으로써, 객체를 검출한다. 3D 모델링부(3708)는 상기 검출된 객체를 3D 모델링하여 사용자에게 표시한다. 이때 3D 모델링부(3708)는 차량 주변의 지도 데이터와 상기 검출된 객체를 3D 모델링하여 디스플레이를 통해 출력할 수 있다.
도 38은 일 실시 예에 따른 서버의 동작 흐름도이다.
동작(S3801)에서 서버는 네트워크에 연결된 자율 주행 차량으로부터 데이터를 수신하면, 동작(S3803)에서 트레이닝 데이터 셋(training data set)을 생성하고, 동작(S3805)에서 자율 주행 소프트웨어의 학습 모델에 대해 갱신이 필요한지를 판단한다.
동작(S3805)에서 갱신이 필요하다면(S3805의 Yes), 서버는 동작(S3807)에서 모델 학습 프로세스를 제어할 수 있는 파라미터를 조절하여 학습 모델을 갱신하고, 동작(S3809)에서 딥 뉴럴 네트워크(deep neural network) 모델 학습을 수행한다. 이때 상기 파라미터는 레이어의 개수, 레이어의 노드 수를 포함할 수 있다. 또는 상기 파라미터는 뉴럴 네트워크 사이즈(neural network size), 학습률(learning rates,) 탐험(exploration) 등의 하이퍼파라미터들(hyperparameters) 등을 포함할 수 있다.
동작(S3811)에서 서버는 상기 딥 뉴럴 네트워크 모델을 통해 추론 모델을 생성하고, 동작(S3813)에서 상기 생성된 추론 모델을 네트워크에 연결된 차량들로 전송한다.
본 발명의 또 다른 일 실시예에 따르면, 상기 자율 주행 차량의 전자 장치는 주행 구간에 따라 인공 신경망에 대한 업데이트를 적응적으로 수행할 수 있다. 적응적인 업데이트를 위하여 서버는 인공 신경망의 업데이트 정보를 노변 기지국, 또는 이동 통신 스테이션을 통해 차량에 전달할 수 있다. 차량은 전달받은 업데이트 정보에 따라 인공 신경망에 대한 실시간, 비실시간 업데이트를 수행한다.
본 실시예에서 자율 주행차가 주행하는 전체 주행 구간은 이를 분할시킨 복수개의 서브 구간들을 포함하고, 인공 신경망은 서브 구간별로 다르게 마련된 복수개의 인공 신경망들을 포함하는 것이 바람직하다. 여기에서 “적응적인 업데이트”는 서브 구간별로 다르게 할당된 업데이트 우선순위에 따라 업데이트의 시간이 다르게 설정된 업데이트를 의미할 수 있다. 예를 들어, 어떤 서브 구간에서 교통사고나, 공사 등 안전과 관련된 이벤트가 발생할 경우, 이벤트가 발생된 서브 구간에 대하여는 우선적으로 인공 신경망을 업데이트할 필요가 있다. 이를 위하여 서버가 전달하는 업데이트 정보는 인공 신경망을 구성하는 노드들에 대한 배치정보와, 노드와 노드를 연결하는 연결가중치 정보, 구간별 업데이트 우선순위 정보를 포함할 수 있다.
전자 장치의 프로세서는 상기 우선순위 정보에 따라 상기 복수의 인공 신경망들에 대한 실시간 업데이트 순서를 결정할 수 있다. 또한, 전자장치의 프로세서는 우선순위 정보는 물론, 현재 위치에 따른 서브 구간, 이벤트가 발생된 서브 구간간의 위치/시간 관계를 더욱 고려하여 서브 구간별 업데이트 순서를 재조정할 수 있다. 이러한 우선순위의 재조정은 주행 환경과, 차량의 주행 방향이 실시간으로 변동하는 동적 환경에서 적용됨이 바람직하다. 또한, 실시간 업데이트는 주행 경로상에서 이벤트 발생 구간이 아닌 이벤트 발생 구간 이전에 위치한 인접 구간에서 수행되는 것이 바람직하다. 이를 위하여 프로세서는 주행 경로상에서 이벤트 발생 구간 이전에 위치하는 인접 서브 구간들을 식별하고, 업데이트에 소요되는 시간을 고려하여, 일부의 인접 서브 구간을 업데이트 대상으로서 결정할 수 있다.  본 실시예의 전자 장치는 서버로부터 배포된 업데이트 정보를 이용하여, 차량내 전자장치에 포함된 인공 신경망에 대한 업데이트를 비실시간으로도 수행할 수 있다. 비실시간 업데이트는, 주행차의 전자장치의 전원이 ON된 후 자율주행모드로 전환되기 이전 시점, 또는 자율주행차의 운행이 종료되고, 전자장치의 전원이 OFF되기 이전의 시점, 또는 전기차의 경우 충전중인 시점에서 수행될 수 있다.
본 발명의 서버는 “자율 주행 해제 이벤트가 발생한 이후 시점- 자율 주행 전환 이벤트가 발생한 시점” 동안 자율 주행 소프트웨어 갱신을 위한 학습을 수행할 수 있다.  여기에서 소프트웨어는, 예를 들어 자율 주행 상황을 판단하고, 자율 주행을 위한 주행 경로를 결정하기 위해 프로그래밍된 인공 신경망의 형태로 구현될 수 있다. 인공 신경망은 기능에 따라 주행 경로의 주변에 위치한 동적 객체들(주변 차량, 보행자 등)간의 위치 관계에 대한 상황 판단을 위한 인공 신경망, 주행 경로의 주변에 위치한 정적 객체들(도로 표지판, 연석 등) 간의 위치 관계에 대한 상황 판단을 위한 인공 신경망 등을 포함할 수 있다. 또한, 주행 구간에 따라 서로 다른 상황 판단을 하도록 학습된 인공 신경망을 더욱 포함할 수 있다.
본 실시예에서 서버는 자율 주행 해제 이벤트가 발생하기 이전의 시점일지라도, 주행 경로 결정에서의 불확실성 스코어가 미리 정해진 기준값 보다 높은 시점부터 획득된 센서 정보를 이용하여 소프트웨어 갱신을 위한 학습을 수행할 수 있다. 여기에서 주행 경로 결정의 불확실성 스코어의 의미는, 객체인식에 대한 불확실성 스코어, 객체의 동작인식에 대한 불확실성 스코어를 포함한다. 상기 미리 정해진 기준값은 주행 과정에서 일시적인 또는 비일시적인 운전자의 개입, 감속/가속/스티어링 조작의 횟수, 정도에 따라 가변될 수 있다. 예를 들어, 일시적일지라도 운전자의 개입이 잦은 구간, 긴급제동, 감속이 빈번한 상황이 발생하는 경우, 자율 주행차의 전자 장치는 해당 센서 데이터에 이러한 이벤트와 관련된 부가정보를 더욱 추가시켜 서버로 전송시킬 수 있고, 서버는 수신된 부가정보를 더욱 고려하여 상기 기준값을 낮게 조정시킬 수 있다. 즉, 자율 주행 해제 이벤트가 발생하기 이전 시점이라 할 지라도, 불확실성 스코어와 가변적으로 조정되는 부가정보를 근거로, 서버는 학습을 더욱 수행할 수 있다.
본 실시예에서 학습부 또는 인공 신경망은 심층 신경망(DNN)의 형태로 구성될 수 있으며, 예를 들어 합성곱 신경망(CNN), 순환 신경망(RNN)의 형태로 구현될 수 있다. 또한, 본 실시예의 학습부는, 누적적인 보상을 극대화할 수 있는 모델인 강화학습 모델의 형태로 구현될 수도 있다. 이 경우, 프로세서는 주어진 주행 상황에서 강화학습 모델에 따라 결정된 차량의 주행 동작(제동, 가속, 스티어링)이라는 행동에 따른 결과로서 위험 스코어를 산출할 수 있다. 위험 스코어는 앞차량간 거리, 충돌예상시긴(TTC), 뒤차량간 거리, 옆차량간 거리, 차선변경시 대각선 전후방 차량간의 거리와 차량의 상대적인 속도를 고려하여 산출될 수 있다. 본 실시예의 TTC 는 전후방을 비롯하여 측방, 대각선 측방에 위치한 객체와의 충돌예상시간 등과 같이 복수개의 값을 가질 수 있고, 최종적인 위험 스코어는 차량의 주행동작(가속, 감속, 조향 등)에 따라 복수개의 TTC값을 미리 결정된 가중치에 따라 합산한 값이다. 강화학습과정에서는, 학습부는 현재의 주행동작에 따라 위험 스코어가 낮아질 경우, 긍정적인 보상을 주고, 반대로 위험 스코어가 높아질 경우 부정적인 보상을 줄수 있으며, 누적적인 보상을 최대로 할 수 있는 방향으로 노드와 노드간의 결정 가중치를 업데이트시킬 수 있다. 강화학습은 서버 또는 차량내 전자장치의 프로세서에서 수행될 수 있다. 주행중 강화학습을 수행하기 위해서는 별도의 프로세서를 통한 병렬연산을 통해 상황의 변화에 따라 신경망을 최적화시키는 것이  바람직하다.
본 실시예에서 학습부는, 메인 학습부와  서브 학습부로 구별될 수 있다. 메인 학습부는 현재 진행 중인 주행 과정에서의 주행 상황 판단과, 주행 제어 동작을 결정하기 위한 학습부이다.  서브 학습부는 노드와 노드를 연결하는 결정가중치의 업데이트를 위한 연산을 수행하는 학습부이다. 서브 학습부에서 업데이트가 완료되고, 업데이트된 서브 구간에 차량이 가까워 질 경우, 서브 학습부는 메인 학습부로 변경된다. 메인 학습부가 변경된 후, 일정 시간동안 기존의 메인 학습부와 업데이트된 메인 학습부는 동시에 센서 입력에 따른 특징값들을 산출한다. 즉, 서브 구간의 시작 지점에 앞서, 두개의 학습부가 동일하게 동작하는 중복 영역이 존재하는데, 이를 핸드오프 구간으로 정의할 수 있다. 핸드오프 구간은 업데이트된 학습부와 기존의 메인 학습 간의 역할을 교체하기 위한 것이다.
Ⅲ. 차량 통신 보안(Vehicular communication security)
상술한 실시 예들에서는 차량이 차량 대 차량(Vehicle to Vehicle: V2V) 또는 차량 대 도로 통신 수단(Vehicle to Road Side Communication: V2R)과 같은 V2X(Vehicle to Everything) 통신을 통해 자율 주행을 위한 정보들을 다른 주체(entity)로부터 공유 받지 않고도 독자적으로(stand alone) 차량이 자율 주행을 수행하는 것을 설명하였다. 하지만, 도로를 주행하는 차량의 사고를 예방하고 교통 혼잡을 최소화하기 위해서는 V2V 통신 및/또는 V2R 통신을 통해 차량 간 또는 차량과 인프라 간 정보를 송수신하는 것이 가장 이상적일 것이다.
그러나, 차량이 네트워크를 통해 다른 주체(entity)들과 데이터를 송수신하게 되면 데이터 무결성(data integrity)와 보안 취약점(vulnerability) 들에 대한 문제를 해결해야만 한다.
먼저, 현재 논의되고 있는 지능형 교통 시스템(Intelligent Transportation System) 규격은 IEEE 802.11p 규격 기반의 DSRC(Dedicated Short-Range Communication)와 셀룰러 망 기반의 C-V2X(Cellular-Vehicle to Everything)이 대표적이다.
이하에서는 2가지 방식 기반의 차량 통신 시스템에서 송수신되는 데이터에 대한 보안 기능을 제공할 수 있는 방안을 논의하기로 한다.
도 39는 일 실시 예에 따라 도로를 주행하던 차량에서 이벤트가 발생한 경우, 발생한 이벤트에 대한 정보를 송수신하는 개념을 보여주기 위한 도면이다.
도 39에서 참조번호 3905는 도로에 위치한 차량들의 주행 방향을 나타낸다.
도 39에서 도로를 주행 중인 차량들 중 특정 차량(3902)에서 이벤트가 발생한 경우, 상기 도로를 주행 중인 차량들의 안전을 위해 상기 특정 차량(3902)의 주행 방향 상 뒤에 위치하는 차량들(3904, 3906, 3908)로 상기 이벤트의 발생을 알려야 한다.
설명의 편의를 위해 상기 이벤트는 상기 차량(3902)에서 사고가 발생한 경우를 가정하기로 하며, 상기 사고가 발생하여 이벤트가 발생한 차량(3902)을 소스 차량(Source vehicle)(예컨대 충돌된 차량(crashed vehicle)) 또는 이벤트 발행 차량(event issue vehicle)이라고 칭하기로 한다.
일 실시 예에서 이벤트(3970)는 차량이 도로 상에서 다른 차량과 조우하거나 차량이 비정상적인 움직임(abnormal movement)을 갖거나, 차량이 예상치 못하거나 부적절한 움직임(unexpected or improper movements)을 갖거나, 심지어 차량에 기계적인 고장(mechanical failures)이 발생하는 경우를 포함한다.
일 실시 예에서 상기 이벤트가 발생할 경우, 소스 차량(3902)은 도로 상에서 자신의 뒤에 위치하며 동일한 주행 방향을 갖는 타 차량들에게 충돌(collision) 방지 또는 비상(emergency) 상황 발생을 알리기 위한 경고 메시지(warning message)를 생성하여 송신한다.
일 실시 예에서 소스 차량(3902)는 상기 생성된 경고 메시지를 V2V 통신과 V2R(R2V) 통신을 사용하여 전송할 수 있다.
구체적으로, 일 실시 예에서 소스 차량(3902)는 V2V 통신을 사용할 경우에는, 상기 생성된 경고 메시지는 RSU1(3950)의 개입없이 복수 개의 채널들을 통해 한 차량에서 다른 차량들로 전송될 수 있으며, V2R(R2V) 통신을 사용할 경우에는 소스 차량(3902)는 자원이 할당된 구간에 RSU1(3950)로 상기 생성된 경고 메시지를 전송하고, RSU1(3950)은 이를 다시 네트워크 커버리지(3955)내의 차량들(3902, 3904, 3906, 3908, 3920)로 재전송한다.
그러나, 일 실시 예에서는 한정된 주파수 자원을 효율적으로 사용하고, 수신측에서의 메시지 처리에 따른 지연을 줄이기 위해서는, 경고 메시지를 수신하는 차량의 위치가 소스 차량(3902)의 앞에 위치하는 지 또는 뒤에 위치하는지에 따라 그 처리 방식이 달라지는 것이 바람직하다.
구체적으로, 소스 차량(3902)는 이벤트가 발생하는 것을 식별하는 것에 응답하여 경고 메시지를 생성하여 V2V 통신과 V2R(R2V) 통신을 통해 송신한다. 이때 V2V 통신과 V2R(R2V) 통신은 서로의 간섭을 줄이기 위해 동시에 서로 다른 채널(주파수)을 통해 전송되거나 또는 동일한 주파수 자원에서 서로 다른 시간 대에 전송하는 것이 바람직하다.
일 실시 예에서는, 경고 메시지를 수신하는 차량들은 소스 차량과 군집 주행(platooning driving)을 수행 중인 차량들로 동작 모드가 설정되어 있는 것이 바람직하다.
또한, 일 실시 예에서는 경고 메시지를 수신하는 수신 차량(receiving vehicle)은 상기 경고 메시지가 자신의 주행 방향과 반대 방향(opposite direction)에서 생성되었다는 것을 식별함에 기반하여, 수신된 경고 메시지를 무시하거나 폐기할 수 있다.
또한, 일 실시 예에서 경고 메시지를 수신하는 수신 차량은 상기 경고 메시지가 자신의 경로를 주행 중인 타 차량들로부터 생성되었다는 것을 식별함에 기반하여, 수신된 경고 메시지에 따라 충돌을 회피하거나, 사고를 예방할 수 있는 차량 제어를 수행하도록 제어 명령을 발생할 수 있다.
V2V 통신을 이용한 경고 메시지를 수신한 차량은, 수신한 경고 메시지를 도로변 장치(RSU)로 전송해야 하며, V2V 통신을 통해 전송된 경고 메시지에 차량의 ID가 존재하지 않을 경우, 도로변 장치(RSU)에 새로운 경고 메시지를 요청할 수 있다.
일 실시 예에 따른 경고 메시지의 구조는 다음의 <표 4>와 같이 구성될 수 있다.
Field name Description
Source Vehicle 경고 메시지를 생성한 차량인지 여부를 표시 (True/False)
Location information 메시지가 생성된 위치 정보
서빙 RSU 정보 Serving RSU ID
이벤트 타입/이벤트 ID 경고 메시지에 해당하는 이벤트 종류 정의
우선 순위(Priority) 도로 상에서 발생 가능한 이벤트에 따라 사전에 정의됨(예컨대, 충돌 사고, 차량 화재 발생의 경우 "1", 소스 차량의 기능 장애 발생의 경우 "2", 도로 위험물 존재 "3" 등)
발생 시간 경고 메시지 발생 시간
차량 ID 차량의 고유 식별자
송신기 정보 경고 메시지를 송신한 송신기 정보(V2V 통신을 통해 수신했는지 또는 V2R(R2V) 통신을 통해 수신했는지 여부를 식별하기 위해 필요)
진행 방향 경고 메시지를 생성한 차량의 진행 방향을 나타내는 정보
상기 <표 4>는 일 실시 예에 따른 경고 메시지의 구조일 뿐, 차량의 충돌이나 기타의 사고를 예방하기 위해 필요한 정보는 모두 포함될 수 있다.
도 39를 참고하면, 일 실시 예에 따라 차량들은 도로 상의 안전성을 향상시키기 위해 V2V, V2R(R2V) 방식을 사용하여 동시에 통신을 수행할 수 있는 것을 가정한다.
도 39에 따른 일 실시 예에서는 소스 차량(3902)에서 이벤트가 발생할 경우(3970), 상기 이벤트에 관련하여 생성된 경고 메시지를 상기 소스 차량(3902)은 V2V 통신 채널 및 V2R(R2V) 통신 채널을 동시에 사용하여 차량들(3904, 3906, 3908, 3920)과 RSU1(3950)으로 전송할 수 있다. 소스 차량(3902)은 V2V 통신 채널 및 V2R(R2V) 통신 채널을 동시에 사용하기 위해서는 V2V 통신 채널 및 V2R(R2V) 통신 채널이 서로 다른 주파수 채널을 갖는 것이 바람직하다.
물론, 다른 실시 예에 따라 소스 차량(3902)에서 이벤트가 발생할 경우(3970), 상기 이벤트에 관련하여 생성된 경고 메시지를 V2V 통신 및 V2R(R2V) 통신 중 어느 하나를 통해서만 전송할 수 있다.
다시 도 39를 참고하면, RSU 1(3950), RSU 2(3970), RSU 3(3990)은 차량들과 V2R(R2V) 통신을 수행할 수 있는 커버리지(3955, 3975)를 가지며, 각각의 RSU들은 제어 센터(3980)에 의해 관리되는 RSU를 식별하기 위한 식별자(ID)(RSU ID), RSU의 위치 정보, 시간 정보, 주파수 정보, 채널 정보 등을 획득하여 저장한다. 또한, 각 RSU들은 자신의 커버리지 내에 존재하는 차량들의 리스트를 생성하고, 이를 다시 커버리지 내의 차량들로 송출함으로써, 동일 커버리지내에 있는 차량들은 자신들에게 인접한(vicinity) 차량들의 ID를 식별할 수 있다. 이러한 차량들의 리스트는 실시간으로 반영되어야 하며, 어떤 차량이 자신의 커버리지 내에서 이웃한 RSU의 커버리지로 이동한 경우, 다시 차량 리스트를 생성하여 커버리지내의 차량들에게 방송(broadcast)하는 것이 바람직할 것이다.
각각의 RSU들(3950, 3970, 3990)은 자신들이 영역내에 새로 진입하거나 영역 외로 벗어나는 차량들을 관리하고, 관리하는 차량들의 식별자들을 저장할 수 있다. 도 39를 참고하면, 차량(3930)이 RSU 1(3950)의 영역(3955)을 벗어나 RSU 2(3970)의 영역(3975)에 진입할 경우를 보여준다. 차량(3930)은 진행 경로(3905) 상 소스 차량(3902)의 앞에 위치할 뿐 아니라 소스 차량(3902)가 접속한 RSU와는 상이한 RSU에 접속하므로, V2V 통신 뿐 아니라 V2R(R2V) 통신을 통해서도 경고 메시지를 수신하지 않는다. 차량(3930)은 기존의 서빙 RSU 1(3950)의 영역을 벗어나 새로운 RSU 2(3970)의 영역으로 진입하였으므로, RSU 1(3950)에서 브로드캐스트한 메시지는 폐기하고, RSU 2(3970)으로부터 브로드캐스트한 메시지를 사용하여 V2V 통신 및/또는 V2R 통신을 수행하고, RSU 2(3970)의 커버리지(3070)내에서 발생한 이벤트에의해 생성된 메시지를 수신하여 충돌을 회피하거나 사고를 예방하기 위한 조작들을 수행할 수 있다.
반면, 소스 차량(3902)의 진행 경로(3905) 상 뒤에 위치하는 영역을 커버하는 RSU 3(3990)은 자신의 영역내에 위치한 차량들에게 경고 메시지를 V2R(R2V) 통신을 통해 브로드캐스트 해야 한다. 이렇듯 차량의 진행 경로 상 존재하는 RSU 별로 소스 차량에서 발생한 경고 메시지를 브로드캐스트할지 여부를 결정하는 것은 제어 센터(3980)가 제어하는 것이 바람직하다.
왜냐하면, 소스 차량(3902)의 주행 시 목적지까지의 경로 정보를 서버로 요청하고, 서버가 각 차량의 진행 경로들에 대해 관리가 가능하다면, 특정 지점에서 소스 차량에 의해 서 발생한 경고 메시지를 브로드캐스트할 RSU들(소스 차량이 위치한 RSU와 소스 차량의 후행 차량들이 위치한 RSU들을 선택하고, 선택된 RSU들로 경고 메시지를 브로드캐스트 할 것을 제어하는 것이 용이하기 때문이다.
소스 차량(3902)는 생성된 경고 메시지를 V2V 통신을 통해서는 인접한 차량들(3904, 3906, 3908, 3920)로 송신하는 동시에 V2R(R2V) 통신을 통해서는 자신에게 채널을 할당한 RSU인 RSU1(3950)로도 송신한다.
일 실시 예에서는 경고 메시지에 대한 신뢰성 및 저지연성을 높이기 위해 V2V 채널과 V2R(R2V) 채널을 동시에 사용하여 송신할 수 있다.
먼저, 소스 차량(3902)에서 가장 인접한 차량들(3904, 3920) 중 소스 차량의 앞에 위치하는 차량(선행 차량)(front vehicle)(3920)은 소스 차량(3902)에서 발생한 이벤트에 영향을 받을 가능성이 낮으므로, 수신된 경고 메시지를 무시하거나 폐기한다. 구체적으로, 선행 차량(3920)은 V2V 통신을 통해 소스 차량(3902) 및/또는 V2R(R2V) 통신을 통해 RSU1(3950)로부터 수신된 경고 메시지 내의 방향 정보와 위치 정보 등을 통해 자신의 후행 차량에서 발생한 경고 메시지인지 여부를 확인할 수 있다.
또한, 경고 메시지를 V2R(R2V) 통신을 통해 수신하는 수신 차량들은 경고 메시지에 포함된 RSU의 ID를 확인하여, 수신 차량의 주행 경로 상에 위치한 RSU의 ID가 아니라면, 해당 정보가 잘못된 정보이거나 불필요한 정보라고 판단하여 수신된 경고 메시지를 무시하거나 폐기할 수 있다. 이는 수신 차량들이 서버로부터 자신의 이동 경로 상에 위치하는 전제 또는 일부의 RSU들에 대한 정보(RSU ID 등)을 미리 제공받아 저장하고 있기에 가능하다.
따라서, 경고 메시지를 수신하는 수신 차량들은 V2R(R2V) 통신을 통해 수신되는 경고 메시지에 포함된 RSU들에 대한 정보를 통해 해당 경고 메시지에 대한 무결성을 확인하고, V2V 통신을 통해 수신되는 경고 메시지에 대해서는 소스 차량의 식별자와 위치 정보를 통해 해당 경고 메시지에 대한 무결성을 확인할 수 있다. 즉, 수신 차량은 더 높은 데이터 무결성을 위해 V2R(R2V) 통신을 통해 수신되는 경고 메시지와 V2V 통신을 통해 수신되는 경고 메시지가 모두 동일한 정보를 가지고, 각 통신 방식에 따라 각각 데이터의 무결성의 확인되는 경우에만 수신 차량의 제어 장치(프로세서)는 수신된 경고 메시지에 따라 사고를 방지하기 위한 제어 명령을 발생하도록 할 수 있다.
반면, 소스 차량(2902)의 뒤에 위치하는 후행 차량들(rear vehicles)(3904, 3906, 3908)은 소스 차량(3902)에서 발생한 이벤트에 의해 충돌 또는 사고 등이 발생할 수 있으므로, V2V 통신을 통해 인접한 차량들 및/또는 V2R(R2V) 통신을 통해 RSU1(3950)로부터 상기 소스 차량(3902)에서 생성된 경고 메시지를 수신하고, 충돌이나 사고를 피하기 위한 감속 동작, 차선 변경 등의 적절한 동작을 수행해야만 한다.
일 실시 예에서 차량 간 경고 메시지를 송수신하는 방식은 차량용 애드혹 네트워크 (VANET: Vehicular Ad-hoc Network)을 사용할 수도 있다.
상술한 일 실시 예에서는 데이터 처리의 신속함과 데이터 처리에 따른 연산 량을 줄이기 위해 경고 메시지를 V2V 통신, V2R(R2V) 통신으로 송수신할 때 암호화를 수행하지 않는 것으로 설명하였지만, 보안을 위해 경고 메시지에 암호화 알고리즘을 적용하는 것도 가능하다.
일 실시 예에 따라 소스 차량(3902)은 소스 차량(3902)이 접속한 RSU 1(3950)이 브로드캐스트하는 공개 키(Public Key)로 경고 메시지를 암호화(encryption)하여 V2R(R2V) 통신 채널을 통해 RSU 1(3950)로 전송하고, RSU 1(3950)은 암호화된 경고 메시지가 수신되면, 자신의 비밀 키(Secret key)로 해독화(decryption)하여, 경고 메시지에 포함된 소스 차량의 ID를 RSU 1(3950)의 ID로 대체한 경고 메시지를 비밀 키로 암호화하여 커버리지(3955)내의 차량들에게 브로드캐스트할 수 있다. RSU 1(3950)으로부터 암호화된 경고 메시지를 수신한 차량들은 RSU 1(3950)으로부터 수신한 RSU 1(3950)의 공개 키로 상기 암호0화된 경고 메시지를 해독함으로써, 경고 메시지에 관련된 각종 동작들을 작동시킬 수 있다.
일 실시 예에 따라 RSU가 브로드캐스트하는 브로드캐스트 메시지(broadcast message)의 구조는 다음의 <표 5>와 같이 구성될 수 있다.
Field Description
Message Type Broadcast
RSU ID RSU Identifier
RSU location information RSU's location information
Neighbor RSU's information 인접한 RSU의 리스트
Public key Decryption/Encryption key
Public key information 공개 키 발행 일, 공개 키 유효 일, 인증 기관 정보, 공개 키 버전(Public Key Issue date, Public key validation date, certificate authority information, Public key version)
도 40은 일 실시 예에 따라 이벤트가 발생한 소스 차량의 동작 흐름도이다.
동작(S4000)에서 주행 중인 소스 차량이 새로운 RSU의 영역으로 진입하면(S4000의 Yes), 동작(S4002)에서 기존 RSU로부터 수신했던 메시지를 폐기하고, 소스 차량이 새로이 진입한 영역을 관할하는 새로운 서빙 RSU로부터 브로드캐스트 메시지를 수신한다.
동작(S4004)에서 소스 차량에 이벤트가 발생하면(S4004의 Yes), 소스 차량은 동작(S4006)에서 상기 발생한 이벤트에 관련된 경고 메시지를 생성하고, 동작(S4008)에서 상기 경고 메시지에 대해 암호화가 필요한지 여부를 검사한다.
동작(S4008)에서 암호화가 필요하다면(S4008의 Yes), 동작(S4010)에서 소스 차량은 상기 브로드캐스트에 포함된 공개 키로 경로 메시지를 암호화하고, 동작(S4012)에서 암호화된 메시지를 V2V 통신 또는 V2R(R2) 통신으로 송신한다.
반면, 동작(S4008)에서 암호화가 필요하지 않다면(S4008의 No), 동작(S4012)에서 소스 차량은 상기 생성된 경고 메시지를 암호화하지 않고 메시지를 V2V 통신 또는 V2R(R2) 통신으로 송신한다.
동작(S4012)는 상기 메시지를 수신한 차량 또는 RSU로부터 응답 메시지를 수신하기 전까지 주기적/비주기적으로 반복될 수 있다.
도 41은 일 실시 예에 따른 수신 차량(receiving vehicle)의 동작 흐름도이다.
동작(S4102)에서 수신 차량은 메시지가 수신되면(S4102의 Yes), 동작(S4104)에서 상기 수신된 메시지에 대해 해독이 필요한지를 판단한다. 동작(S4104)에서, 수신 차량은 해독이 필요하다면(S4104의 Yes), 동작(S4106)에서 정해진 암호화/해독 알고리즘을 이용하여 메시지를 해독하고, 해독이 필요하지 않다면(S4104의 No), 메시지 해독이 필요없다고 판단하고, 동작(S4108)로 진행한다. 동작(S4108)에서 수신 차량은 상기 수신된 메시지가 V2V 통신을 통해 수신되었는지 판단한다. 수신 차량은 상기 메시지가 V2V 통신 대역을 통해 수신되었는지, V2R(R2V) 통신 대역을 통해 수신되었는지 여부를 식별하는 것에 기반하여 상기 메시지가 수신된 통신 대역을 식별할 수 있다.
동작(S4108)에서 상기 메시지가 V2V 통신을 통해 수신되었다면(S4108의 Yes), 동작(S4110)에서 상기 메시지에 포함된 소스 차량의 위치 정보를 근거로 수신 차량이 소스 차량의 앞에 위치하는지 여부를 확인하고, 상기 수신 차량이 소스 차량의 앞에 위치하고 있다면(S4110의 Yes), 상기 소스 차량에서 발생한 이벤트는 상기 수신 차량의 주행에 영향을 미칠 가능성이 낮으므로 동작(S4112)에서 상기 수신된 메시지의 전달(forward)를 중지하고, 동작(S4114)에서 수신된 메시지를 무시하고, 동작(S4116)에서 메시지를 폐기한다.
동작(S4110)에서 상기 메시지에 포함된 소스 차량의 위치 정보를 근거로 수신 차량이 소스 차량의 앞에 위치하는지 여부를 확인하고, 상기 수신 차량이 소스 차량의 앞에 위치하고 있지 않다면(즉, 수신 차량이 소스 차량의 뒤에 위치)(S4110의 No), 동작(S4118)에서 상기 수신된 메시지가 상기 수신 차량의 후행 차량(rear vehicle)로부터 수신되었는지를 판단한다.
동작(S4118)에서 메시지가 후행 차량으로부터 수신되었다면(S4118의 Yes), 수신 차량은 후행 차량에서 발생한 이벤트 또한 자신의 주행에 영향을 미칠 가능성이 낮으므로, 동작(S4112)로 진행한다.
반면, 동작(S4118)에서 메시지가 후행 차량으로부터 수신된 것이 아니라면(S4118의 No), 수신된 메시지는 수신 차량의 주행에 영향을 미칠 가능성이 높으므로, 수신 차량은 동작(S4120)에서 사고 예방을 위한 차량 조작을 수행한다. 구체적으로 동작(S4120)에서 수신 차량이 수신 차량의 사고 예방을 위한 차량 조작은 감속, 차선 변경, 정지, 스티어링 힐 각도 조절을 위해 프로세서에서 제어 명령을 생성하는 것을 포함할 수 있다. 동작(S4122)에서 수신 차량은 수신된 메시지가 전달될 필요가 있다면(S4122의 Yes), 동작(S4124)에서 V2V 통신 및/또는 V2R(R2V) 통신을 통해 수신된 메시지를 타 차량 및/또는 RSU로 전송한다.
동작(S4108)에서 수신 차량은 상기 동작(S4102)에서 수신된 메시지가 V2V 통신을 통해 수신되었는지 확인하고, V2V 통신을 통해 수신되었다면(S4108의 Yes), 동작(S4110)으로 진행한다.
반면, 동작(S4108)에서 수신 차량은 상기 동작(S4102)에서 수신된 메시지가 V2V 통신을 통해 수신되었는지 확인하고, V2V 통신을 통해 수신되지 않았다면(S4108의 No), V2R(R2V) 통신을 통해 수신되었다고 판단하고, 동작(S4126)에서 수신 차량이 소스 차량인지를 확인한다. 이때 동작(S4126)에서 수신 차량은 수신된 메시지에 포함된 소스 차량 ID와 자신의 ID를 비교하고, 두 ID가 동일하다면, 수신된 메시지는 자신에게 발생한 이벤트에 의해 생성된 메시지라고 판단할 수 있다.
동작(S4126)에서 수신 차량이 소스 차량이라면(S4126의 Yes), 수신 차량은 동작(S4130)에서 RSU로의 메시지 전달을 중지하고, 동작(S4132)에서 수신된 메시지를 무시하고, 동작(4134)에서 메시지를 폐기한다.
반면, 동작(S4126)에서 수신 차량이 소스 차량이 아니라면(S4126의 No), 동작(S4128)에서 수신 차량이 소스 차량의 뒤에 위치해 있는지를 확인한다.
동작(S4128)에서 수신 차량이 소스 차량의 뒤에 있다면(S4128의 Yes), 소스 차량에서 발생한 이벤트가 자신의 주행 상황에 영향을 줄 가능성이 있으므로, 동작(S4118)로 진행하고, 동작(S4128)에서 수신 차량이 소스 차량의 뒤에 있지 않다면 동작(S4128의 No), 동작(S4132)로 진행한다.
도 42는 일 실시 예에 따라 차량 통신 시스템 구조를 설명하기 위한 도면이다.
도 42는 일 실시 예에 따라 V2V 통신, V2R(R2V) 통신 시 암호화 절차를 수행할 때, RSU들(4120, 4220, 4230, 4240)이 자신의 커버리지 내에 위치하는 차량들로 브로드캐스트하는 메시지에 암호화를 위한 키를 삽입하는 방식을 설명하기 위한 도면이다.
일 실시 예에서 대칭 암호화 알고리즘(Symmetric Cryptography)과 비대칭 암호화 알고리즘(Asymmetric Cryptography)을 사용하는 방식을 모두 설명하기로 한다.
다시 도 42를 살펴보면, RSU 2(4220)은 커버리지 내(4222)의 차량들(4224, 4226)로 브로드캐스트하는 브로드캐스트 메시지(Broadcast Message)에 V2V 통신, V2R 통신을 위한 암호 키들을 포함하여 전송할 수 있다. 도 42에서, 참조번호 4200은 차량들(4224, 4226, 4234)의 진행 방향을 나타낸다.
RSU 2(4220)는 브로드캐스트 메시지에 RSU 2(4220)의 커버리지(4222) 내에서 사용하기 위한 암호화 키 외에 차량들(4224, 4226)의 진행 방향(4200)을 고려하여 진행 방향 상 존재하는 RSU들(4230, 4240)의 식별자(ID)와 RSU들(4230, 4240)의 커버리지들(4232, 4242)에서 사용될 암호화 키도 같이 포함시킬 수 있다.
일 실시 예에서는 설명의 편의를 위해 RSU 2(4220)이 자신의 커버리지(4222)내에 위치한 차량들(4224, 4226)이 암호화/해독화를 위해 사용될 키를 암호화 키(encryption key) 로, RSU 2(4220)가 차량들(4224, 4226, 4234)의 주행 방향(4200) 상 위치한 RSU들(4230, 4230)의 커버리지(4232, 4242)내에 위치한 차량들에서 암호화/해독화를 위해 사용될 키를 사전 암호화 키(pre-encryption key)라고 정의하기로 한다
일 실시 예에서는 차량과 통신을 수행 중인 RSU가 차량의 진행 방향 상 위치하는 RSU들에서 사용될 사전 암호화 키(pre-encryption key)를 미리 차량에게 알려줌으로써, 암호화/해독화 절차 시 소요되는 시간을 감소시킬 수 있을 것이다.
구체적으로, RSU 2(4220)는 차량들(4224, 4226)에게 브로드캐스트하는 브로드캐스트 메시지에 RSU 2(4220) 식별자와 그에 해당하는 비밀 키, RSU 3(4230) 식별자와 그에 해당하는 사전 암호화 키, RSU 4(4240) 식별자(Identifier: ID)와 그에 해당하는 사전 암호화 키를 포함시킬 수 있다.
RSU 2(4220)가 브로드캐스트하는 브로드캐스트 메시지는 아래의 <표 6>의 필드를 포함할 수 있다.
Field Description
Serving RSU Serving RSU(4220)의 ID
Encryption Policy 암호화 정책 정보(암호화 수행 여부)
Encryption Algorithm 사용되는 암호화 알고리즘의 종류(대칭 알고리즘, 비대칭 알고리즘 등)0
Encryption Key Serving RSU(4220)의 커버리지 내에서 V2V, V2R 통신 암호화를 위해 사용할 Encryption 키 정보
Neighbor RSUs 차량의 주행 방향 상에 위치하는 N개의 이웃 RSU들(4230, 4240 등)의 리스트
Pre-Encryption Key 이웃 RSU들마다 할당된 N개의 Pre-Encryption 키 정보
상기 <표 6>에서 RSU에서 사용되는 암호 키/해독 키의 생성, 소멸, 할당 등의 관리는 RSU들의 제어 센터(3980) 또는 공인된 인증 기관(Certificated Authority Agency)에서 수행될 수 있다.
상기 RSU ID와 그에 대응하는 암호화 키는 일정 거리 단위 또는 일정 그룹 단위로 재사용될 수 있다.
구체적으로, 도 42에서 차량(4224)와 차량(4226)은 서빙 RSU인 RSU 2(42220)로부터 수신된 브로드캐스트 메시지 내의 암호화 키를 이용하여 각 차량들로부터 송수신되는 메시지를 암호화/해독화 할 수 있다. 또한, 도 42에서 차량(4224)와 차량(4226)은 서빙 RSU인 RSU 2(42220)로부터 수신된 브로드캐스트 메시지 내의 암호화 키를 이용하여 RSU 2(4220)가 송수신되는 메시지를 암호화/해독화 할 수 있다.
도 42에 따른 일 실시 예에서는 대칭 암호화 알고리즘(Symmetric Cryptography)과 비대칭 암호화 알고리즘(Asymmetric Cryptography)을 사용하는 방식을 모두 설명할 수 있다.
구체적으로, 차량(4224)과 차량(4226) 간의 V2V 통신을 통한 메시지 교환 시에는 상기 브로드개스트 메시지에 포함된 암호화 키를 대칭 키로써 사용하여 암호화/해독화를 수행하여 메시지에 대한 무결성을 보장할 수 있다.
반면, 차량들(4224, 4226)과 RSU 2(4220) 간의 V2R(R2V) 통신을 통한 메시지 교환 시에는 상기 브로드개스트 메시지에 포함된 암호화 키를 비대칭 키로써 사용하여 암호화/해독화를 수행할 수 있다. 즉, 구체적으로 비 대칭 알고리즘을 사용하여 차량들(4224, 4226)과 RSU 2(4220) 간의 V2R(R2V) 통신을 통한 메시지 교환 시에는, RSU 2(4220)가 브로드캐시트 메시지에 자신의 공개 키(Public key)를 포함하여 브로드캐스트하고, 상기 브로드캐스트를 수신한 차량들(4224, 4226)은 이벤트 발생 시에 생성된 메시지를 상기 RSU 2(4220)의 공개 키로 암호화하고, 암호화된 메시지를 RSU 2(4220)로 전송하고, RSU 2(4220)은 상기 차량들(4224, 4226)로부터 암호화된 메시지를 자신의 비밀 키(secret key)로 해독한다. 반대로, RSU 2(4220)는 상기 차량들(4224, 4226)로 브로드캐스트할 메시지가 생성되었다면, 자신의 비밀 키로 상기 생성된 메시지를 암호화하여 브로드캐스트하고, 상기 RSU 2(4220)의 비밀 키로 암호화된 메시지를 수신한 상기 차량들(4224, 4226)은 상기 RSU 2(4220)의 공개 키(Public key)로 상기 암호화된 메시지를 해독함으로써, 데이터의 무결성을 확인하고, 그에 따라 충돌 회피 또는 사고 예방을 위한 조작을 할 수 있다.
그리고, 상기 차량들(4224, 4226)은 서빙 RSU 2(4220)로부터 브로드캐스트된 브로드캐스트 메시지에서 이웃 RSU들(RSU 3(4230), RSU 4(4240))에서 사용되는 사전 암호화 키도 미리 알고 있으므로, 이웃 RSU들로 진입하자 마자 발생된 메시지를 미리 획득된 사전 암호화 키를 통해 암호화하거나, 해독화함으로써 해독/암호화에 따라 시간 지연을 최소화 할 수 있다.
도 43은 일 실시 예에 따른 수신 차량의 동작 흐름도이다.
동작(S4301)에서 수신 차량은 경고 메시지를 수신하면, 동작(S4303)에서 수신된 메시지가 암호화가 되었는지를 검사하고, 암호화가 되었다면(S4303의 YES), 동작(S4305)에서 정해진 암호화 알고리즘(대칭 암호화 키, 비매칭 암호화 키)을 이용하여 메시지를 해독하고, 동작(S4307)에서 상기 수신된 경고 메시지에 포함된 RSU ID가 자신이 기보유한 RSU ID(주행 경로 상에 위치한 RSU들의 ID들 포함)에 포함되는지를 확인한다.
동작(S4309)에서 수신 차량은 상기 수신한 경고 메시지에 포함된 RSU ID가 기 보유한 RSU ID에 포함되어 있지 않았다면(S4309의 NO), 동작(S4311)에서 해당 메시지를 무시하고, 상기 수신한 경고 메시지에 포함된 RSU ID가 기 보유한 RSU ID에 포함되어 있다면(S4309의 YES), 동작(S4313)에서 경고 메시지에 포함된 이벤트를 고려하여 충돌 예방이나 사고를 방지하기 위한 차량 조작을 수행한다.
동작(S4315)에서 수신 차량은 경고 메시지를 다른 차량이나 도로 상의 인프라스트력쳐들(RSU 등)으로 전달할 필요가 있다고 결정되면, 동작(S4317)에서 암호화 정책에 따라 암호화를 수행한 후, 동작(S4319)에서 메시지를 V2V 채널 및/또는 V2R(R2V 채널)을 통해 전달한다. 상기 경고 메시지를 V2V 채널 및/또는 V2R(R2V 채널)을 통해 전달하는 과정을 동시에 이루어질 수 있다.
동작(S4321)에서 수신 차량은 상기 경로 메시지를 수신한 수신측으로부터 응답 메시지가 수신되지 않는다면(S4321의 NO), 동작(S4319)에서 메시지를 다시 전달한다.
도 44은 일 실시 예에 따른 수신 차량의 동작 흐름도이다.
동작(S4401)에서 수신 차량은 새로운 RSU의 커버리지에 진입했음을 식별함에 기반하여, 동작(S4403)에서 새로 진입한 RSU로부터 브로드캐스트 메시지를 수신한다. 그리고, 동작(S4405)에서 상기 수신된 브로드캐스트 메시지에 포함된 RSU 관련 정보를 통해 RSU 관련 내용을 갱신하고, 동작(S4407)에서 경고 메시지가 수신되면, 동작(S4409)에서 경고 메시지에 대해 해독이 필요한지를 판단한다.
동작(S4409)에서 해독이 필요하다고 판단되면(S4409의 YES), 수신 차량은 동작(S4411)에서 현재 진입한 RSU 커버리지내에 통신을 위해 적용된 암호 방식을 식별하고, 대칭 키 알고리즘이 적용되었다면, 동작(S4413)에서 대칭 키 알고리즘으로 상기 수신된 경고 메시지를 해독하고, 공개 키 알고리즘이 적용되었다면, 동작(S4413)에서 공개 키 알고리즘으로 상기 수신된 경고 메시지를 해독한다.
동작(S4417)에서 경고 메시지가 해독되면, 수신 차량은 동작(S4419)에서 수신 차량의 진행 방향을 판단한다. 동작(S4421)에서 수신 차량은 경고 메시지에 포함된 이벤트가 발생한 위치 또는 상기 경고 메시지를 송신한 RSU가 자신의 진행 방향과 동일하다면(S4421의 YES), 동작(S4423)에서 상기 수신된 경고 메시지를 근거로 수신 차량의 사고 예방을 위한 조작을 수행하고, 동작(S4427)에서 경고 메시지의 전달이 필요한 경우, V2V 및/또는 V2R(R2V) 통신을 통해 경고 메시지를 전달한다.
반면, 동작(S4421)에서 수신 차량은 경고 메시지에 포함된 이벤트가 발생한 위치 또는 상기 경고 메시지를 송신한 RSU가 자신의 진행 방향과 동일하지 않다면(S4421의NO), 동작(S4425)에서 상기 수신된 경고 메시지를 무시한다.
상기 <표 6>에서 RSU에서 사용되는 암호 키/해독 키의 생성, 소멸, 할당 등의 관리는 RSU들의 제어 센터(3980) 또는 공인된 인증 기관(Certificated Authority Agency)에서 수행될 수 있다.
상기 RSU ID와 그에 대응하는 암호화 키는 일정 거리 단위 또는 일정 그룹 단위로 재사용될 수 있다.
구체적으로, 도 42에서 차량(4224)와 차량(4226)은 서빙 RSU인 RSU 2(42220)로부터 수신된 브로드캐스트 메시지 내의 암호화 키를 이용하여 각 차량들로부터 송수신되는 메시지를 암호화/해독화 할 수 있다. 또한, 도 42에서 차량(4224)와 차량(4226)은 서빙 RSU인 RSU 2(42220)로부터 수신된 브로드캐스트 메시지 내의 암호화 키를 이용하여 RSU 2(4220)가 송수신되는 메시지를 암호화/해독화 할 수 있다.
도 42에 따른 일 실시 예에서는 대칭 암호화 알고리즘(Symmetric Cryptography)과 비대칭 암호화 알고리즘(Asymmetric Cryptography)을 사용하는 방식을 모두 설명할 수 있다.
구체적으로, 차량(4224)과 차량(4226) 간의 V2V 통신을 통한 메시지 교환 시에는 상기 브로드개스트 메시지에 포함된 암호화 키를 대칭 키로써 사용하여 암호화/해독화를 수행하여 메시지에 대한 무결성을 보장할 수 있다.
반면, 차량들(4224, 4226)과 RSU 2(4220) 간의 V2R(R2V) 통신을 통한 메시지 교환 시에는 상기 브로드개스트 메시지에 포함된 암호화 키를 비대칭 키로써 사용하여 암호화/해독화를 수행할 수 있다. 즉, 구체적으로 비 대칭 알고리즘을 사용하여 차량들(4224, 4226)과 RSU 2(4220) 간의 V2R(R2V) 통신을 통한 메시지 교환 시에는, RSU 2(4220)가 브로드캐시트 메시지에 자신의 공개 키(Public key)를 포함하여 브로드캐스트하고, 상기 브로드캐스트를 수신한 차량들(4224, 4226)은 이벤트 발생 시에 생성된 메시지를 상기 RSU 2(4220)의 공개 키로 암호화하고, 암호화된 메시지를 RSU 2(4220)로 전송하고, RSU 2(4220)은 상기 차량들(4224, 4226)로부터 암호화된 메시지를 자신의 비밀 키(secret key)로 해독한다. 반대로, RSU 2(4220)는 상기 차량들(4224, 4226)로 브로드캐스트할 메시지가 생성되었다면, 자신의 비밀 키로 상기 생성된 메시지를 암호화하여 브로드캐스트하고, 상기 RSU 2(4220)의 비밀 키로 암호화된 메시지를 수신한 상기 차량들(4224, 4226)은 상기 RSU 2(4220)의 공개 키(Public key)로 상기 암호화된 메시지를 해독함으로써, 데이터의 무결성을 확인하고, 그에 따라 충돌 회피 또는 사고 예방을 위한 조작을 할 수 있다.
그리고, 상기 차량들(4224, 4226)은 서빙 RSU 2(4220)로부터 브로드캐스트된 브로드캐스트 메시지에서 이웃 RSU들(RSU 3(4230), RSU 4(4240))에서 사용되는 사전 암호화 키도 미리 알고 있으므로, 이웃 RSU들로 진입하자 마자 발생된 메시지를 미리 획득된 사전 암호화 키를 통해 암호화하거나, 해독화함으로써 해독/암호화에 따라 시간 지연을 최소화 할 수 있다.
도 43은 일 실시 예에 따른 수신 차량의 동작 흐름도이다.
동작(S4301)에서 수신 차량은 경고 메시지를 수신하면, 동작(S4303)에서 수신된 메시지가 암호화가 되었는지를 검사하고, 암호화가 되었다면(S4303의 YES), 동작(S4305)에서 정해진 암호화 알고리즘(대칭 암호화 키, 비매칭 암호화 키)을 이용하여 메시지를 해독하고, 동작(S4307)에서 상기 수신된 경고 메시지에 포함된 RSU ID가 자신이 기보유한 RSU ID(주행 경로 상에 위치한 RSU들의 ID들 포함)에 포함되는지를 확인한다.
동작(S4309)에서 수신 차량은 상기 수신한 경고 메시지에 포함된 RSU ID가 기 보유한 RSU ID에 포함되어 있지 않았다면(S4309의 NO), 동작(S4311)에서 해당 메시지를 무시하고, 상기 수신한 경고 메시지에 포함된 RSU ID가 기 보유한 RSU ID에 포함되어 있다면(S4309의 YES), 동작(S4313)에서 경고 메시지에 포함된 이벤트를 고려하여 충돌 예방이나 사고를 방지하기 위한 차량 조작을 수행한다.
동작(S4315)에서 수신 차량은 경고 메시지를 다른 차량이나 도로 상의 인프라스트력쳐들(RSU 등)으로 전달할 필요가 있다고 결정되면, 동작(S4317)에서 암호화 정책에 따라 암호화를 수행한 후, 동작(S4319)에서 메시지를 V2V 채널 및/또는 V2R(R2V 채널)을 통해 전달한다. 상기 경고 메시지를 V2V 채널 및/또는 V2R(R2V 채널)을 통해 전달하는 과정을 동시에 이루어질 수 있다.
동작(S4321)에서 수신 차량은 상기 경로 메시지를 수신한 수신측으로부터 응답 메시지가 수신되지 않는다면(S4321의 NO), 동작(S4319)에서 메시지를 다시 전달한다.
도 44은 일 실시 예에 따른 수신 차량의 동작 흐름도이다.
동작(S4401)에서 수신 차량은 새로운 RSU의 커버리지에 진입했음을 식별함에 기반하여, 동작(S4403)에서 새로 진입한 RSU로부터 브로드캐스트 메시지를 수신한다. 그리고, 동작(S4405)에서 상기 수신된 브로드캐스트 메시지에 포함된 RSU 관련 정보를 통해 RSU 관련 내용을 갱신하고, 동작(S4407)에서 경고 메시지가 수신되면, 동작(S4409)에서 경고 메시지에 대해 해독이 필요한지를 판단한다.
동작(S4409)에서 해독이 필요하다고 판단되면(S4409의 YES), 수신 차량은 동작(S4411)에서 현재 진입한 RSU 커버리지내에 통신을 위해 적용된 암호 방식을 식별하고, 대칭 키 알고리즘이 적용되었다면, 동작(S4413)에서 대칭 키 알고리즘으로 상기 수신된 경고 메시지를 해독하고, 공개 키 알고리즘이 적용되었다면, 동작(S4413)에서 공개 키 알고리즘으로 상기 수신된 경고 메시지를 해독한다.
동작(S4417)에서 경고 메시지가 해독되면, 수신 차량은 동작(S4419)에서 수신 차량의 진행 방향을 판단한다. 동작(S4421)에서 수신 차량은 경고 메시지에 포함된 이벤트가 발생한 위치 또는 상기 경고 메시지를 송신한 RSU가 자신의 진행 방향과 동일하다면(S4421의 YES), 동작(S4423)에서 상기 수신된 경고 메시지를 근거로 수신 차량의 사고 예방을 위한 조작을 수행하고, 동작(S4427)에서 경고 메시지의 전달이 필요한 경우, V2V 및/또는 V2R(R2V) 통신을 통해 경고 메시지를 전달한다.
반면, 동작(S4421)에서 수신 차량은 경고 메시지에 포함된 이벤트가 발생한 위치 또는 상기 경고 메시지를 송신한 RSU가 자신의 진행 방향과 동일하지 않다면(S4421의NO), 동작(S4425)에서 상기 수신된 경고 메시지를 무시한다.
또한, 소스 차량의 전자 장치(4900)에서 프로세서(4902)는 상기 생성된 경고 메시지에 대해 암호화가 필요하다면, 암호 키를 사용하여 해당 메시지를 암호화하도록 암호화/해독화 부(4912)를 제어하고, 암호화된 메시지를 V2V 통신부(4908) 및/또는 V2R(R2V) 통신부(4910)를 통해 타 차량 및/또는 RSU로 송신하도록 제어한다.
상술한 일 실시 예에 따라 차량과 통신하는 도로 인프라스트력쳐로서, RSU를 예로서 사용하였으나, 이에 한정되지 않고, 차량과 셀룰러 네트워크를 통해 역 방향 채널을 차량에게 할당하고, 스케줄링을 수행할 수 있는 엔티디(Entity)라먼 모두 가능하다.
도 50은 다양한 실시예들에 따른 전자 장치를 포함하는 차량의 예를 도시한다. 예를 들면, 상기 차량은 도 39 내에 도시된 차량 일 수 있다.
도 51은 다양한 실시예들에 따른 전자 장치의 기능적 구성의 예를 도시한다. 이러한 기능적 구성은, 도 29 내에 도시된 전자 장치 2900 내에 포함될 수 있다.
도 52는 다양한 실시예들에 따른 전자 장치와 관련된 게이트웨이의 예를 도시한다. 이러한 게이트웨이는, 도 29 내에 도시된 전자 장치 2900와 관련될 수 있다.
도 50 및 도 51을 참조하면, 다양한 실시예들에 따른 제어 장치 5100(예: 도 29의 전자 장치 2900)은 차량 5000에 장착될 수 있다.
다양한 실시예들에서, 제어 장치 5100은 메모리 5122와 프로세서 5124를 포함하는 컨트롤러 5120, 센서 5130을 포함할 수 있다.
다양한 실시예들에 따르면, 컨트롤러 5120은 차량의 제조사에 의해 제조 시 구성되거나 또는 제조 후에 자율 주행의 기능 수행을 위해 추가 구성될 수 있다. 또는 제조 시 구성된 컨트롤러 5120의 업그레이드를 통해 지속적인 부가 기능 수행을 위한 구성이 포함될 수 있다.
컨트롤러 5120은 제어 신호를 차량 내 다른 구성들로 포함된 센서 5110, 엔진 5006, 사용자 인터페이스 5008, 무선 통신 장치 5130, LIDAR 5140, 및 카메라 모듈 5150에 전달할 수 있다. 또한, 도시되지는 않았으나, 컨트롤러 5120은 차량의 주행과 관련되는 가속 장치, 브레이킹 시스템, 조향 장치, 또는 네비게이션 장치에도 제어 신호를 전달할 수 있다.
다양한 실시예들에서, 컨트롤러 5120은 엔진 5006을 제어할 수 있으며 예를 들어 자율 주행 차량 5000이 주행 중인 도로의 제한 속도를 감지하고 주행 속도가 제한 속도를 초과하지 않도록 엔진 5006을 제어하거나, 제한 속도를 초과하지 않는 범위 내에서 자율 주행 차량 5000의 주행 속도를 가속하도록 엔진 5006을 제어할 수 있다. 또한 부가적으로 차량 외부의 환경을 센싱 모듈 5004a, 5004b, 5004c, 5004d이 감지하여 센서 5110로 전달하면 컨트롤러 5120은 이를 수신하여 엔진 5006 또는 조향 장치(미도시)를 제어하는 신호를 생성하여 차량의 주행을 제어할 수 있다.
컨트롤러 5120은 차량의 전방에 다른 차량 또는 방해물이 존재하는 경우에는 주행 차량을 감속하도록 엔진 5006 또는 브레이킹 시스템을 제어할 수 있으며, 속도 외에도 궤적, 운행 경로, 조향 각을 제어할 수 있다. 또는 컨트롤러 5120은 차량의 주행 차선, 주행 신호 등 기타 외부 환경의 인식 정보에 따라 필요한 제어 신호를 생성하여 차량의 주행을 제어할 수 있다.
컨트롤러 5120은 자체적인 제어 신호의 생성 외에 주변 차량 또는 중앙 서버와의 통신을 수행하고 수신된 정보를 통해 주변 장치들을 제어하기 위한 명령을 전송함으로써, 차량의 주행을 제어하는 것도 가능하다.
또한, 컨트롤러 5120은 카메라 모듈 5150의 위치가 변경되거나 화각이 변경될 경우, 정확한 차량 또는 차선 인식이 어려울 수 있으므로, 이를 방지하기 위해 카메라 모듈 5150의 캘리브레이션(calibration)을 수행하도록 제어하는 제어 신호를 생성할 수도 있다. 다시 말해, 컨트롤러 5120은 카메라 모듈 5150에게 캘리브레이션 제어 신호를 발생시킴으로써, 자율주행차량 5000의 움직임에 따라 발생되는 진동 또는 충격 등에 의해 카메라 모듈 5150의 장착 위치가 변경되더라도, 카메라 모듈 5150의 정상적인 장착 위치, 방향, 화각 등을 지속적으로 유지할 수 있다. 컨트롤러 5120은 미리 저장된 카메라 모듈 5120의 최초 장착 위치, 방향, 화각 정보와 자율주행차량 5000의 주행 중에 측정되는 카메라 모듈 5120의 최초 장착 위치, 방향, 화각 정보 등이 임계 값 이상으로 달라질 경우, 카메라 모듈 5120의 캘리브레이션을 수행하도록 제어 신호를 발생할 수 있다.
다양한 실시예들에 따르면, 컨트롤러 5120은 메모리 5122와 프로세서 5124를 포함할 수 있다. 프로세서 5124는 메모리 5122에 저장된 소프트웨어를 컨트롤러 5120의 제어 신호에 따라 실행시킬 수 있다. 구체적으로, 컨트롤러 5120은 다양한 실시예들에 따른 오디오 데이터를 스크램블링하기 위한 데이터 및 명령들은 메모리 5122에 저장하고, 명령들은 여기에 개시된 하나 이상의 방법들을 구현하기 위해 프로세서 5124에 의해 실행될 수 있다.
다양한 실시예들에서, 메모리 5122는 프로세서 5124에서 실행 가능한 기록 매체에 저장될 수 있다. 메모리 5122는 적절한 내 외부 장치를 통해 소프트웨어와 데이터를 저장할 수 있다. 메모리 5122는 RAM(random access memory), ROM(read only memory), 하드디스크, 동글과 연결된 장치로 구성될 수 있다.
메모리 5122는 운영체제(OS, Operating system), 사용자 어플리케이션, 실행 가능한 명령들을 적어도 저장할 수 있다. 메모리 5122는 어플리케이션 데이터, 배열 데이터 구조들도 저장할 수 있다.
프로세서 5124는 마이크로 프로세서 또는 적절한 전자적 프로세서로 컨트롤러, 마이크로 컨트롤러 또는 스테이트 머신 일 수 있다.
프로세서 5124는 컴퓨팅 장치들의 조합으로 구현될 수 있으며, 컴퓨팅 장치는 디지털 신호 프로세서, 마이크로프로세서 이거나 이들의 적절한 조합으로 구성될 수 있다.
또한, 다양한 실시예들에 따르면, 제어 장치 2100은 적어도 하나 이상의 센서 5110으로 자율 주행 차량 5000의 내외부의 특징을 모니터링하고 상태를 감지할 수 있다.
센서 5110은 적어도 하나 이상의 센싱 모듈 5004(예: 센서 5004a, 센서 5004b, 센서 5004c, 및 센서 5004d)로 구성될 수 있으며, 센싱 모듈 5004는, 감지 목적에 따라 자율 주행 차량 5000의 특정 위치에 구현될 수 있다. 예를 들면, 센싱 모듈 5004는, 자율 주행 차량 5000의 하부, 후단, 전단, 상단, 또는 측단에 위치할 수 있으며, 차량의 내부 부품 또는 타이어 등에도 위치될 수 있다.
이를 통해 센싱 모듈 5004는 차량의 내부 정보로서 엔진 5006, 타이어, 조향각, 속도, 차량의 무게 등 주행과 관련된 정보들을 감지할 수 있다. 또한, 적어도 하나 이상의 센싱모듈 5004는 가속도 센서, 자이로스코프, 이미지 센서, RADAR, 초음파 센서, LiDAR 센서 등으로 구성될 수 있으며, 자율 주행 차량 5000의 움직임 정보를 감지할 수 있다.
센싱모듈 5004는 외부 정보로서 자율 주행 차량 5000이 위치하는 도로의 상태 정보, 주변 차량 정보, 날씨 등 외부 환경 상태에 대한 특정 데이터를 수신하고, 이에 따른 차량의 파라미터를 감지하는 것도 가능하다. 감지된 정보는 일시적 또는 장기적으로 목적에 따라 메모리 5122에 저장할 수 있다.
다양한 실시예들에 따르면, 센서 5110은 자율 주행 차량 5000의 내 외부에서 발생되는 정보를 수집하기 위한 센싱 모듈 5004들의 정보를 통합하여 수집할 수 있다.
제어 장치 5100은 무선 통신 장치 5130을 더 포함할 수 있다.
무선 통신 장치 5130은 자율 주행 차량 5000 간의 무선 통신을 구현하기 위해 구성된다. 예를 들어, 사용자의 모바일 폰, 또는 다른 무선 통신 장치 5130, 다른 차량, 중앙 장치(교통 제어 장치), 서버 등과 자율 주행 차량 5000이 통신할 수 있도록 한다. 무선 통신 장치 5130은 무선 신호를 접속 무선 프로토콜에 따라 송수신할 수 있다. 무선 통신 프로토콜은 Wi-Fi, Bluetooth, Long-Term Evolution (LTE), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Global Systems for Mobile Communications (GSM)일 수 있으며, 통신 프로토콜은 이에 제한되지 않는다.
또한 다양한 실시예들에 따르면, 자율 주행 차량 5000은 무선 통신 장치 5130을 통해 차량 간 통신을 구현하는 것도 가능하다. 즉, 무선 통신 장치 5130은 차량 대 차량 간(V2V) 통신(vehicle-to-vehicle communication, 또는 V2X)으로 도로 상의 다른 차량 및 다른 차량들과 통신을 수행할 수 있다. 자율 주행 차량 5000은 주행 경고, 교통 정보와 같은 정보를 챠량 간 통신으로 통해 송수신할 수 있으며, 다른 차량에게 정보를 요청하거나 요청을 수신하는 것도 가능하다. 예를 들어, 무선 통신 장치(5130)는 V2V 통신을 지정 단 거리 통신(DSRC, dedicated short-range communication) 장치 또는 C-V2V(Celluar-V2V) 장치로 수행할 수 있다. 또한 차량 간의 통신 외에 차량과 다른 사물(예컨대 보행자가 휴대하는 전자 기기 등) 간의 통신(V2X, Vehicle to Everything communication)도 무선 통신 장치 5130을 통해 구현할 수 있다.
또한, 제어 장치 5100은 LIDAR 장치 5140을 포함할 수 있다. LIDAR 장치 5140은 LIDAR 센서를 통해 센싱된 데이터를 이용하여 자율 주행 차량 5000 주변의 객체를 동작 중에 탐지할 수 있다. LIDAR 장치 5140은 탐지된 정보를 컨트롤러 5120으로 전송하고, 컨트롤러 5120은 탐지 정보에 따라 자율 주행 차량 5000을 동작시킬 수 있다. 예를 들어 컨트롤러 5120은 탐지 정보에 저속 주행하는 전방 차량이 있는 경우 엔진 5006을 통해 차량이 속도를 줄이도록 명령할 수 있다. 또는 차량이 진입하는 커브의 곡률에 따라 진입 속도를 줄이도록 명령할 수 있다.
제어 장치 5100은 카메라 모듈 5150을 더 포함할 수 있다. 컨트롤러 5120은 카메라 모듈 5150에서 촬영되는 외부 이미지로부터 객체 정보를 추출하고 이에 대한 정보를 컨트롤러 5120이 처리하도록 할 수 있다.
또한, 제어 장치 5100은 외부 환경을 인식하기 위한 이미징 장치들이 더욱 포함할 수 있다. LIDAR 5140 외에 RADAR, GPS 장치, 주행 거리 측정 장치(Odometry) 및 기타 컴퓨터 비전 장치들이 이용될 수 있으며, 이들의 장치는 필요에 따라 선택 또는 동시에 동작하여 보다 정밀한 감지가 가능하도록 한다.
자율 주행 차량 5000은 상술한 제어 장치 5100에 대한 사용자의 입력을 위한 사용자 인터페이스 5008을 더 포함할 수 있다. 사용자 인터페이스 5008은 적절한 상호작용으로 사용자가 정보를 입력하도록 할 수 있다. 예를 들어 터치스크린, 키패드, 조작 버튼 등으로 구현될 수 있다. 사용자 인터페이스 5008은 입력 또는 명령을 컨트롤러 5120에 전송하고, 컨트롤러 5120은 입력 또는 명령에 대한 응답으로 차량의 제어 동작을 수행할 수 있다.
또한, 사용자 인터페이스 5008은 자율 주행 차량 5000 외부의 장치로 무선 통신 장치 5130를 통해 자율 주행 차량 5000과 통신을 수행하도록 할 수 있다. 예를 들어 사용자 인터페이스 5008는 모바일 폰, 태블릿, 또는 기타 컴퓨터 장치와 연동 가능하도록 할 수 있다.
나아가, 다양한 실시예들에 따르면, 자율 주행 차량 5000은 엔진 5006을 포함하는 것으로 설명하였으나, 다른 타입의 추진 시스템을 포함하는 것도 가능하다. 예를 들어 차량은 전기 에너지로 운행될 수 있으며, 수소 에너지 또는 이들을 조합한 하이브리드 시스템을 통해 운행될 수 있다. 따라서 컨트롤러 5120은 자율 주행 차량 5000의 추진 시스템에 따른 추진 메커니즘을 포함하고, 이에 따른 제어 신호를 각 추진 메커니즘의 구성들에 제공할 수 있다.
이하, 도 51을 참조하여 다양한 실시예들에 따른 오디오 데이터를 스크램블링하기 위한 제어 장치 5100의 세부 구성에 대하여 보다 상세히 설명한다.
제어 장치 5100은 프로세서 5124를 포함한다. 프로세서 5124는 범용 단일 또는 다중 칩 마이크로프로세서, 전용 마이크로프로세서, 마이크로제어기, 프로그램가능 게이트 어레이 등일 수도 있다. 프로세서는 중앙 처리 장치(CPU)로 지칭될 수도 있다. 또한 다양한 실시예들에 따르면, 프로세서 5124는 복수의 프로세서들의 조합으로 사용되는 것도 가능하다.
제어 장치 5100은 또한 메모리 5122를 포함한다. 메모리 5122는 전자 정보를 저장할 수 있는 임의의 전자 컴포넌트일 수도 있다. 메모리 5122 역시 단일 메모리 외에 메모리 5122들의 조합을 포함할 수 있다.
다양한 실시예들에 따르면, 오디오 데이터를 스크램블링하기 위한 데이터 및 명령어 5122a들은 메모리 5122에 저장될 수도 있다. 프로세서 5124가 명령어 5122a들을 실행할 때, 명령어 5122a들과 명령의 수행에 필요한 데이터 5122b의 전부 또는 일부가 프로세서 5124 상으로 로딩(예: 명령어 5124a, 데이터 5124b)될 수도 있다.
제어 장치 5100는 신호들의 송신 및 수신을 허용하기 위한 송신기 5130a, 수신기 5130b 또는 트랜시버 5130c를 포함할 수도 있다. 하나 이상의 안테나 5132a, 5132b들은 송신기 5130a, 수신기 5130b 또는 각 트랜시버 5130c에 전기적으로 연결될 수도 있으며 추가적으로 안테나들을 포함할 수도 있다.
제어 장치 5100은 디지털 신호 프로세서(DSP) 5170을 포함할 수도 있다. DSP 5170을 통해 디지털 신호를 차량이 빠르게 처리할 수 있도록 할 수 있다.
제어 장치 5100은 통신 인터페이스 5180을 포함할 수도 있다. 통신 인터페이스 5180은 다른 장치들을 제어 장치 5100과 연결하기 위한 하나 이상의 포트들 및/또는 통신 모듈 들을 포함할 수도 있다. 통신 인터페이스 5180은 사용자와 제어 장치 5100이 상호작용할 수 있게 할 수 있다.
제어 장치 5100의 다양한 구성들은 함께 하나 이상의 버스 5190들에 의해 연결될 수도 있고, 버스 5190들은 전력 버스, 제어 신호 버스, 상태 신호 버스, 데이터 버스 등을 포함할 수도 있다. 프로세서 5124의 제어에 따라 구성들은 버스 5190을 통해 상호 정보를 전달하고 목적하는 기능을 수행하도록 할 수 있다.
한편, 다양한 실시예들에서, 제어 장치 5100은 보안 클라우드와의 통신을 위해 게이트웨이와 관련될 수 있다. 예를 들어, 도 52를 참조하면, 제어 장치 5100은 차량 5200의 구성 요소들 5201 내지 5204 중 적어도 하나로부터 획득되는 정보를 보안 클라우드 5206에게 제공하기 위한 게이트웨이 5205와 관련될 수 있다. 예를 들면, 게이트웨이 5205는 제어 장치 5100 내에 포함될 수 있다. 다른 예를 들면, 게이트웨이 5205는 제어 장치 5100과 구별되는 차량 5200 내의 별도의 장치로 구성될 수도 있다. 게이트웨이 5205는 서로 다른 네트워크를 갖는 소프트웨어 관리 클라우드 5209, 보안 클라우드 5206 및 차 내 보안 소프트웨어 5210에 의해 보안화된 차량 5200 내 네트워크를 통신 가능하도록 연결한다.
예를 들면, 구성 요소 5201은, 센서일 수 있다. 예를 들면, 상기 센서는 차량 5200의 상태 또는 차량 5200 주변의 상태 중 적어도 하나에 대한 정보를 획득하기 위해 이용될 수 있다. 예를 들면, 구성 요소 5201은, 센서 5210을 포함할 수 있다.
예를 들면, 구성 요소 5202는, ECU(electronic control unit)들일 수 있다. 예를 들면, 상기 ECU들은 엔진 제어, 변속기의 제어, 에어백의 제어, 타이어 공기압 관리를 위해 이용될 수 있다.
예를 들면, 구성 요소 5203은, 인스트루먼트 클러스터(instrument cluster)일 수 있다. 예를 들면, 상기 인스트루먼트 클러스터는, 대시 보드(dashboard) 중 운전석 정면에 위치된 패널을 의미할 수 있다. 예를 들면, 상기 인스트루먼트 클러스터는 운전에 필요한 정보를 운전자(또는 탑승자)에게 보여주기 위해 구성될 수 있다. 예를 들면, 상기 인스트루먼트 클러스터는, 엔진의 분당 회전수(RPM, revolutions per minute 또는 rotate per minute)를 지시하기 위한 시각적 요소들, 차량 5200의 속도를 지시하기 위한 시각적 요소들, 잔여 연료량을 지시하기 위한 시각적 요소들, 기어의 상태를 지시하기 위한 시각적 요소들, 또는 구성 요소 5201을 통해 획득된 정보를 지시하기 위한 시각적 요소들 중 적어도 하나를 표시하기 위해, 이용될 수 있다.
예를 들면, 구성 요소 5204는, 텔레매틱스(telematics) 장치일 수 있다. 예를 들면, 상기 텔레매틱스 장치는, 무선 통신 기술과 GPS(global positioning system) 기술을 결합하여 차량 5200 내에서 위치 정보, 안전 운전 등의 다양한 이동통신 서비스를 제공하는 장치를 의미할 수 있다. 예를 들면, 상기 텔레매틱스 장치는, 운전자, 클라우드(예: 보안 클라우드 5206), 및/또는 주변 환경과 차량 5200을 연결하기 위해 이용될 수 있다. 예를 들면, 상기 텔레매틱스 장치는, 5G NR 규격의 기술(예: 5G NR의 V2X 기술)을 위해, 고대역폭과 저지연을 지원하도록, 구성될 수 있다. 예를들어, 상기 텔레매틱스 장치는, 차량 5200의 자율 주행을 지원하도록, 구성될 수 있다.
예를 들면, 게이트웨이 5205는, 차량 5200 내 네트워크와 차량 외 네트워크인 소프트웨어 관리 클라우드 5209와 보안 클라우드 5206을 연결하기 위해 이용될 수 있다. 예를 들면, 소프트웨어 관리 클라우드 5209는, 차량 5200의 주행 및 관리에 필요한 적어도 하나의 소프트웨어를 갱신하거나 관리하기 위해 이용될 수 있다. 예를 들면, 소프트웨어 관리 클라우드 5209는, 차량 내에 설치된 차 내 보안 소프트웨어(in-car security software) 5210과 연동될 수 있다. 예를 들면, 차 내 보안 소프트웨어 5210은, 차량 5200 내의 보안 기능을 제공하기 위해 이용될 수 있다. 예를 들면, 차 내 보안 소프트웨어 2210은 차량 내 네트워크의 암호화를 위해 외부의 공인된(authorized) 서버로부터 획득된 암호화 키를 이용하여 차 내 네트워크를 통해 송수신되는 데이터들을 암호화할 수 있다. 다양한 실시예들에서, 차 내 보안 소프트웨어 5210에 의해 이용되는 상기 암호화 키는, 차량의 식별 정보(차량 번호판, 차 VIN(vehicle identification number)) 또는 사용자 별로 고유하게 부여된 정보(에: 사용자 식별 정보)에 대응하여 생성될 수 있다.
다양한 실시예들에서, 게이트웨이 5205는, 상기 암호화 키에 기반하여 차 내 보안 소프트웨어 5210에 의해 암호화된 데이터들을, 소프트웨어 관리 클라우드 5209 및/또는 보안 클라우드 5206으로 송신할 수 있다. 소프트웨어 관리 클라우드 5209 및/또는 보안 클라우드 5206는 차 내 보안 소프트웨어 5210의 상기 암호화 키(Encryption Key)에 의해 암호화된 상기 데이터를 해독할 수 있는 해독 키(Decryption Key)를 이용하여 해독함으로써, 상기 데이터가 어떤 차량 또는 어떤 사용자로부터 수신된 데이터인지를 식별할 수 있다. 예를 들면, 상기 해독 키는 상기 암호화 키에 대응되는 고유의 키이기 때문에, 소프트웨어 관리 클라우드 5209 및/또는 보안 클라우드 5206는 상기 해독 키를 통해 해독된 상기 데이터에 기반하여 상기 데이터의 송신 주체(예: 상기 차량 또는 상기 사용자)를 식별할 수 있다.
예를 들면, 게이트웨이 5205는, 차 내 보안 소프트웨어 5210을 지원할 수 있도록 구성되고, 제어 장치 5200과 관련될 수 있다. 예를 들면, 게이트웨이 5205는, 보안 클라우드 5206와 연결된 클라이언트 장치 5207와 제어 장치 5100 사이의 연결을 지원하기 위해, 제어 장치 5100과 관련될 수 있다. 다른 예를 들면, 게이트웨이 5205는, 보안 클라우드 5206과 연결된 써드 파티 클라우드 5208와 제어 장치 5100 사이의 연결을 지원하기 위해, 제어장치 5100과 관련될 수 있다. 하지만, 이에 제한되지 않는다.
다양한 실시예들에서, 게이트웨이 5205는, 차량 5200의 운영 소프트웨어를 관리하기 위한 소프트웨어 관리 클라우드 5209와 차량 5200을 연결하기 위해 이용될 수 있다. 예를 들면, 소프트웨어 관리 클라우드 5209는, 차량 5200의 운영 소프트웨어의 갱신이 요구되는지 여부를 모니터링하고, 차량 5200의 운영 소프트웨어의 갱신이 요구됨을 모니터링하는 것에 기반하여 게이트웨이 5205를 통해 차량 5200의 운영 소프트웨어를 갱신하기 위한 데이터를 제공할 수 있다. 다른 예를 들면, 소프트웨어 관리 클라우드 5209는, 차량 5200의 운영 소프트웨어의 갱신을 요구하는 사용자 요청을 차량 5200으로부터 게이트웨이 5205를 통해 수신하고, 상기 수신에 기반하여 차량 5200의 운영 소프트웨어를 갱신하기 위한 데이터를 제공할 수 있다. 하지만, 이에 제한되지 않는다. 상술한 실시 예에서 설명된 클라우드는 네트워크에 접속된 서버 장치들로 구현될 수 있다.
도 53은 일 실시 예에 따른 차량의 자율 주행 시스템의 동작 흐름도이다.
동작(S5301)에서 자율 주행 시스템은 자율 주행 모드로 동작하고, 동작(S5303)에서 도로 영역/비 도로 영역(경계석 등)을 계속 인식하면서 자율 주행을 수행한다.
동작(S5305)에서 자율 주행 시스템은 전방에 비도로 영역의 불연속 지점이 존재한다면(S5305의 Yes), 동작(S5307)에서 차량 속도를 감속시킨다. 이때 상기 비도로 영역의 불연속 지점이라 하면, 사거리 등의 교차로, 회전 교차로 등과 같이 다른 도로들간이 서로 연결되는 구간을 포함한다.
동작(S5311)에서 자율 주행 시스템은 획득된 영상에 타 차량의 존재를 검출하면 (S5311의 Yes), 동작(S5313)에서 검출된 차량의 진행 방향이 자차량의 예상 진행 방향 상에 위치하는지 여부를 판단한다.
동작(S5313)에서 자율 주행 시스템은 상기 검출된 차량의 진행 방향이 자차량의 예상 진행 방향 상에 위치한다면, 동작(S5315)에서 검출된 차량을 추종하여(following) 비 도로 영역이 존재하는 도로의 불연속 지점을 통과한다.
동작(S5305)에서 자율 주행 시스템은 전방에 비도로 영역의 불연속 지점이 존재하지 않는다면(S5305의 No), 동작(S5309)에서 도로 영역으로 자율 주행을 계속 수행한다.
동작(S5311)에서 자율 주행 시스템은 획득된 영상에 타 차량이 검출되지 않는다면 (S5311의 No), 동작(S5323)에서 경로에 따라 자율 주행을 수행한다.
동작(S5313)에서 자율 주행 시스템은 상기 검출된 차량의 진행 방향이 자차량의 예상 진행 방향 상에 위치하지 않고(S5313의 No), 동작(S5317)에서 검출된 차량의 진행 방향이 자차량의 진행 방향을 통과하지 않는다면(S5317의 No), 동작(S5323)에서 경로에 따라 자율 주행을 수행한다.
동작(S5317)에서 검출된 차량의 진행 방향이 자차량의 진행 방향을 통과하고 (S5317의 Yes), 동작(S5319)에서 자율 주행 시스템은 동작(S5319)에서 자차와 충돌 가능성이 존재한다면, 동작(S5321)에서 충돌 회피를 위한 감속 또는 조향 장치를 조절한다.
Ⅳ. UAM(Urban Air Mobility)
이하의 본 발명의 일 실시 예에서는 UAM관련해서 총 3가지 기술 분야를 기술할 것이다.
첫 번째로는 UAM을 이용하여 사람, 화물을 운송하는 서비스를 제공하는 기술 분야와 UAM을 관제하는 기술 분야로, UAM을 운영하는 방법에 관련된 기술이다.
두 번째로는 UAM이 비행하기 위해 필요한 항공 지도를 생성하는 방법에 관련된 것이다.
세 번째로는 UAM 설계 및 구조에 관련된 기술이다.
또한, 도심과 같이 고층 건물, 저층 건물, 도로, 산 등과 같은 다양한 지형 지물 상을 비행해야 하는 UAM을 운용하기 위해서는 가장 중요하게 고려될 요소가 바로 승객 및 UAM의 안전(Safety)이다. 향후 UAM의 운용을 위해 고려될 안전 사항들은 UAM 간의 공중 추돌 예방, UAM의 비상 상황 발생시 대처, UAM의 추락 등의 비행 조정 장애 시 대처 등이 있을 수 있다. 그 중 제한된 도심 상공을 매우 많은 수의 UAM이 비행하는 상황에서는 공중 충돌을 예방해야 하는 것이 매우 중요한 사항이다.
그렇기 위해서 본 발명에서는 UAM의 무인. 유인 조종과는 상관 없이, UAM이 공중에서 비행하기 위한 항로를 증강 현실(AR)상으로 표시부에 표시함으로써, 탑승객들에게 심리적 안정감을 주는 것도 매우 중요할 것으로 판단된다.
이때는 승객이 탑승한 UAM의 항로 뿐 아니라, 탑승한 UAM 주변을 비행하는 UAM들 중 일정 반경 이내를 비행하는 UAM들의 비행 경로도 AR로 표시함으로써, 충돌이 발생하지 않는 항로로 비행하고 있는 것을 승객들에게도 시각적으로 제공하는 것도 바람직할 것으로 보인다.
따라서, UAM은 UAM의 비행 경로 및 주변 환경을 AR(Augmented Reality)로 제공하는 것이 바람직할 것이다.
UAM의 도입 초기에는 UAM에 조종사가 탑승한 상태로 비행을 수행하는 것이 바람직할 것이다. 그러나, 기술의 발전으로 인해 차량과 같이 UAM에도 자율 비행 기술이 도입될 것이고, 구체적으로 이미 상용 항공기에 적용된 자동 항법 기술에 도심지의 특성(고층 빌딩, 전선, 새, 돌풍, 구름 등을 회피)을 추가로 고려하는 방식으로 개발되는 것이 바람직하다.
그러나, UAM을 조종사가 없이 자율 비행으로 운행할 경우, UAM에 탑승한 탑승자들은 불안감을 느낄 수 있으므로, UAM이 안전하게 비행하고 있다는 정보들을 직관적으로 제공하는 것이 중요하다.
따라서, 일 실시 예에서는 UAM의 비행 경로 및 주변 정보를 AR를 통해 제공하는 것을 개시한다. 본 발명에서는 UAM 상에서 탑승객들에게 UAM의 비행 경로를 AR로 표시하기 위해 UAM의 비행 고로를 고려하여 AR를 표시하는 것이 필요하다. 이는 UAM 상에 가상의 구를 생성하고, 이를 통해 구현된 가상의 지점에 AR 지시선을 매핑함으로써 사용자에게 자연스러운 UAM의 비행 경로에 대한 AR 지시선을 표시할 수 있다.
도 54는 일 실시 예에 따라 UAM에서 비행을 위해 필요한 정보와 비행 경로를 표시하는 화면을 도시한 도면이다.
참조번호 5402는 UAM의 비행 경로 상 비행에 존재하는 장애물을 표시한 것으로, 식별된 객체를 시각적으로 강조하여 표시한 것을 볼 수 있다. 참조번호 5404는 상기 검출된 장애물(5402)까지의 거리 정보를 AR로 표시하는 것을 보여준다. 참조번호 5406은 UAM의 비행 중 비행 경로에 대한 정보(속도, 도착 예정 시간, 턴 정보 등)을 표시하는 것이고, 참조번호 5408은 비행 경로 상에서 존재하는 POI(Point of Interest)가 표시된 것을 보여준다. 여기서의 POI는 UAM의 착륙이 가능한 버티포트(Vertiport) 또는 경유지 등이 될 수 있다.
참조번호 5410은 UAM의 비행 경로를 AR을 통해 표시하는 것을 보여주고, 참조번호 5412는 UAM의 비행에 영향을 줄 수 있는 날씨, 온도, 고도 정보 등을 AR을 통해 표시하는 것을 보여준다.
참조번호 5414는 UAM의 조종사(pilot)에게 UAM의 비행을 위해 필요한 각종 정보들을 표시하는 계기판을 도시한 것이다.
참조번호 5414a는 UAM의 피치(pitch), 롤(roll), 요(yaw)을 확인함으로써, UAM의 진행 방향 및 UAM의 비행 자세 등을 확인할 수 있는 정보를 표시한다. 참조번호 5414b는 UAM의 비행 동력원(예를 들어 4개의 로터(rotor)들로 비행하는 쿼드콥터(quadcopter))의 각 로터들의 동작 상태, 이상 유무 등에 대한 정보를 실시간으로 표시하는 것을 보여준다.
참조번호 5414c는 UAM에 장착된 카메라를 통해 획득된 UAM의 전방 영상에 UAM의 비행 경로를 AR로 중첩하여 표시하는 것을 보여주고, 참조번호 5414d는 UAM에 장착된 레이더(RADAR)를 통해 UAM의 진행 방향 상에 존재하는 장애물(object)들의 방향과 거리를 표시하는 것을 보여준다.
도 55는 일 실시 예에 따라 UAM의 비행에 영향을 미칠 수 있는 기상 정보(예컨대 강풍(gale))을 AR로 표시하는 것을 보여준다.
참조번호 5502는 UAM의 비행에 영향을 미치는 요소들 중 하나인 강풍(gale)이 비행 경로 상에 발생했음을 나타내는 표시이며, 참조번호 5504는 강풍이 발생한 위치를 나타낸다.
이하에서는 일 실시 예에 따라 UAM을 관제하고, 사용자에게 UAM 서비스를 제공하기 위한 아키텍쳐를 설명하기로 한다.
바람직한 실시 예에서는 특정 도심을 일정한 구역(area)로 분할하고, UAM이 비행하는 일정 고도 사의 면(비행 면)을 레이어(layer)로 정의하고, 해당 레이어 상에서 UAM이 비행하는 경로를 일정 간격 마다 웨이 포인트(way point)로 표시하는 것이 바람직하다.
이러한 레이어를 생성하기 위해서는 먼저 UAM이 비행할 비행 대상 지역에 위치한 각종 구조물(건물, 도로, 교량 등)과 그 구조물의 높이가 모두 측정되어 데이터 베이스에 저장되어 있어야 하며, 이러한 정보는 주기적/비주기적으로 업데이트될 수 있다. 이렇게 데이터 베이스에 취합된 데이터로부터 UAM이 비행할 지역의 UAM이 비행 제한 고도를 설정할 수 있고, 이러한 정보로부터 각 UAM이 비행할 수 있는 레이어를 설정할 수 있다.
도 56은 일 실시 예에 따라 UAM의 비행 경로를 고도 별로 비행 통로인 회랑(corridor)을(5602)을 설정하고, 설정된 비행 통로(5602)를 통해서만 UAM이 비행하는 것을 설명하기 위한 도면이다.
도 56에서와 같이 UAM은 사전에 UAM 운항 시스템을 통해 허가된 비행 통로를 통해서만 비행함으로써, 타 UAM과의 충돌을 방지하는 것이 중요하다.
도 57은 일 실시 예에 따라 UAM이 버티포트에 이착륙하기 위해 할당된 비행 통로를 설명하기 위한 도면이다.
도 57에와 같이 UAM을 운영하기 위해서는 UAM이 비행할 대상 지역 내에 UAM이 승객/화물을 싣거나, 내릴 수 있는 지역인 버티포트(Vertiport)(5702)가 미리 지정되어 있는 것이 바람직하다. 이 버티포트(5702)는 UAM의 승객/화물을 싣고 내리기 위한 이륙/착륙 목적 뿐 아니라, UAM의 비상 상황 시 착륙을 위한 용도 또는 UAM의 유지 보수 목적을 위한 용도로 사용될 수도 있으며, 주로 고층 건물에 위치하는 것이 바람직할 것이다.
도 57에서 참조번호 5710a는 비행 통로(5750)으로부터 UAM이 버티포트(5702)에 착륙하기 위해 할당된 비행 통로인 회랑이고, 참조번호 5720a는 타 UAM의 비행 통로(5750)과 겹치지 않게 UAM이 버티포트(5702)에 착륙하기 위해 할당된 비행 경로를 나타낸다.
도 58은 일 실시 예에 따라 UAM에게 추천된 비행 경로를 일정 간격 마다 웨이 포인트(way point)(5810)로 표시하는 것을 보여준다.
도 59는 일 실시 예에 따라 버티포트(5970, 5980)에서 출발한 UAM들마다 상이한 비행 고도를 갖는 비행 통로(5930, 5950를 설정하는 것을 보여준다. 이러한 UAM의 비행 통로들(5930, 5950)은 고고도를 비행하는 상용 항공기의 비행 경로(5910)와 충돌하지 않도록 설정하는 것이 바람직하다.
도 60은 일 실시 예에 따라 버티포트들(6002, 6004)간을 비행하는 UAM에 대해 할당된 비행 경로를 도시한 도면이다.
도 60에서 참조번호 6002와 6004는 UAM이 이륙 및 착륙할 수 있는 버티포트를 나타내고, 참조번호 6006은 UAM이 버티포트(6002)에 이륙/착륙하기 위해 설정된 비행 통로(corridor)의 형태를 보여준다.
도 61은 일 실시 예에 따른 UAM의 블록 구성도이며, 각 구성요소들은 전자적인 방식 또는 기계적인 방식으로 연결될 수 있다.
도 61을 참조하면, 일 실시예에 따른 UAM(6150)는 제어부(6100), GPS 수신부(6102), 기압 센서(6104), 영상 센서부(6106), 전파 고도 센서부(6108), 초음파 센서부(6110), 메모리부(6112), 가속도 센서(6114), 페이로드 구동부(6116), 통신부(6118), 비행 구동부(6120), 지자기 센서(6122), 및 자이로스코프 센서(6124)를 포함하여 이루어질 수 있다.
GPS 수신부(6102)는 GPS 위성으로부터 신호를 수신하여 현재 위치를 측정할 수 있으며, 이를 통해 제어부(6100)는 UAM(6150)의 위치를 파악할 수 있다. 제어부(6100)는 일반적인 목적의 프로세서인 적어도 하나 이상의 중앙 처리 장치(Central processing unit) 및/또는 ASIC(Application Specific Integrated Circuit), FPGA(Field-programmable gate array) 또는 DSP(Digital Signal Processor)와 같은 전용 프로세서들(Dedicated processor)을 포함할 수 있다.
기압 센서(6104)는 UAM(6150)의 주변 대기압을 측정하여 그 값을 제어부(6100)로 전달하여 UAM(6150)의 비행 고도를 측정할 수 있다.
영상 센서부(6106)는 카메라와 같은 광학 장비를 통해 피사체들을 촬영하고, 촬영된 피사체로부터 입사된 광학 영상 신호를 전기 영상 신호로 변환하여 제어부(6100)로 전달할 수 있다.
전파 고도 센서부(6108)는 마이크로파(Microwave)를 지표면으로 송출하고, 지표면으로부터 반사 되는 신호에 따른 전파 도달 시간에 기초하여 거리를 측정할 수 있다. 그리고 측정된 값을 제어부(6100)로 전달하며, 초음파 센서부 또는 합성개구레이더(Synthetic Aperture Radar, SAR) 등을 사용할 수 있다. 이에 따라 무인 비행체(6150)의 제어부(6100)는 전파 고도 센서부(6108)를 통해 고도 측정을 수행함과 동시에 지상물과 지표면에 대한 관찰을 수행할 수 있다.
초음파 센서부(6110)는 초음파를 송신하는 송신부와 초음파를 수신하는 수신부로 구성되며, 송신된 초음파가 수신될 때까지의 시간을 측정하고, 이를 제어부(6100)로 송신함으로써 제어부(6100)는 UAM(6150)의 주변에 물체의 유무를 파악할 수 있다. 따라서, 제어부(6100)는 초음파 센서(6110)가 측정한 측정값을 통해 무인 비행체(6150) 주변에 장애물이 존재하는 경우, 충돌 회피를 위해 비행 구동부(flight actuation unit)(6120)를 제어하여 위치 및 속도를 제어하게 된다.
메모리부(6112)는 UAM(6150)의 동작에 필요한 정보(프로그램 명령어들), 항로 지도 및 자율비행에 관련된 비행 정보, 비행 중에 파악되는 각종 비행 정보들을 저장할 수 있다. 또한, 메모리부(6112)는 각 웨이포인트마다 측정된 해상도 높이 정보와 전파 고도 센서 측정값을 저장할 수 있다.
가속도 센서(Accelerometer)(6114)는 UAM(6150)의 가속도를 측정하는 센서로, UAM(6150)의 x축, y축, z축 방향의 가속도를 측정하여 제어부(6100)로 전달할 수 있다.
통신부(6118)는 무선 통신을 통해 지상의 관제 센터와 UAM(6150)의 운영 회사와 통신을 수행하며, 주기적으로 비행 정보 및 제어 정보를 관제 센터와 운영회사로 송수신한다. 또한, 통신부(6118)는 주변의 이동 통신 기지국을 통해 이동 통신망에 접속하여 관제 센터 또는 운영회사와 통신을 수행할 수도 있다. 제어부(6100)는 통신부(6118)를 통해 운영 시스템 또는 관제 시스템과의 통신을 수행하며, 운영 시스템으로부터 원격 제어 명령이 수신되는 경우에는 수신되는 원격 제어 명령에 따라 UAM(6150)의 비행을 제어하기 위해 제어 신호를 비행 구동부(6120)로 전달하거나 물체를 수거하거나 배달하기 위해 페이로드 구동부(6116)를 구동시키기 위한 제어 신호를 페이로드 구동부(6116)로 발생시킬 수 있다.
또한, 제어부(6100)는 영상 센서부(6106)를 통해 수집된 영상을 통신부(6118)를 통해 운영 시스템 또는 관제 시스템으로 송신할 수도 있다.
지자기 센서(6122)는 지구 자기장을 측정하는 센서로서, 측정값을 제어부(6100)로 전달하여 UAM(6150)의 방위측정에 사용될 수 있다.
그리고 자이로(Gyro) 센서(6122)는 UAM(6150)의 각속도를 측정하여 제어부(6100)로 전달하고, 제어부(6100)는 UAM(6150)의 기울기를 측정할 수 있다.
제어부(6100)는 일 실시예에 따라 UAM(6150)의 전반적인 기능들을 제어한다. 제어부(6100)는 메모리부(6112)에 저장된 항로(corridor)에 따라 UAM(6150)가 비행하도록 전반적인 제어를 수행하며, 미리 설정된 웨이포인트마다 전파 고도 센서(6108)가 측정한 고도 값과 영상 센서부(6106)로부터 획득한 해상도 높이를 비교하여, 웨이포인트 상에 지상물이 존재할 경우에도 무인 비행체(6150)가 정해진 비행 고도를 유지할 수 있도록 한다.
그리고, 제어부(6100)는 페이로드 구동부(6116)를 제어하여 UAM(6150)의 페이로드에 탑재된 화물 등을 특정 지점에서 수거하거나 특정 지점으로 배달할 때 의 화물 배송 방식에 따라 화물을 떨어뜨리거나 수거할 수 있다.
이때 UAM(6150)의 페이로드 구동부(6116)에 호이스트(Hoist)가 포함되어 있을 경우, 화물을 떨어뜨리거나 수거할 때 제어부(6100)는 호이스트(Hoist)를 이용하여 화물을 배달 지점까지 하강시키거나, 수거 지점에서 화물을 수거하도록 페이로드 구동부(6116)를 제어할 수 있다. 더 구체적으로 UAM(6150)가 정해진 레이어에 해당되는 비행 고도를 유지하면서 호이스트를 이용하여 화물을 배달지점까지 배달시키기 위해 비행 고도와 배달지점까지의 거리만큼 화물이 고정된 로프(Rope)를 내림으로써 배달이 가능하다. 그리고 화물을 수거하는 경우에도 비행 고도와 수거 지점까지의 거리만큼 로프를 내린 후, 화물이 로프의 후크(Hook)에 고정되는 것이 확인되면, 제어부(6100)는 호이스트가 로프를 감아 올리도록 페이로드 구동부(3016)를 제어할 수 있다.
또한, 제어부(6100)는 비행 구동부(6120)를 제어하여 UAM(6150)의 양력 및 비행 속도를 제어할 수 있다. 전파 고도 센서부(6108)가 측정한 비행 고도와 해상도 높이를 고려하여 현재 비행 고도가 정해진 레이어를 벗어나지 않도록 비행 구동부(6120)를 제어할 수 있다.
그리고, 제어부(6100)는 비행 구동부(6020)를 제어하여 레이어 변경 가능 구간으로 이동하고, 레이어 변경 가능 구간으로 이동한 후에는 레이어 이동 정보에 포함된 정보에 따라 레이어 변경 절차를 위한 비행을 수행하도록 비행 구동부(6020)를 제어할 수 있다.
비행 구동부(6020)는 UAM(6150)의 양력 및 비행력을 발생시키며, 다수 개의 프로펠러들 또는 각 프로펠러들을 조절하기 위한 모터 또는 엔진을 포함할 수 있다. 비행 구동부(6120)는 제어부(6100)의 제어에 의해 UAM(6150)의 3가지 운동 방향인 롤(roll)-요(yaw)-피치(pich)를 조절함으로써 UAM(6150)의 이동 방향, 자세 유지 및 비행 고도를 유지할 수 있다.
도 62는 일 실시 예에 따른 UAM의 비행을 관리하기 위한 시스템의 아키텍쳐를 설명하기 위한 도면이다.
UAM 운영 시스템(6205)은 고객의 수요에 맞추어 UAM 항공기를 사용하여 유상으로 여객이나 화물을 운송하는 서비스 등을 제공한다. UAM 운영 시스템(6205)은 운영증명서와 운영기준(Operations Specifications)에서 제시된 사항을 준수해야 한다. UAM 기단(Fleet)의 감항성 유지 등을 포함하여 실제 UAM 운항의 모든 측면을 책임진다. 또한 비행계획 수립·제출·공유, UAM 기단(Fleet)의 상태 정보 (비행준비, 이륙, 순항, 착륙, 정상·고장·결함 등) 공유, UAM 항공기 보안관리, 지상서비스와 승객 예약, 탑승, 안전관리 등에 관한 책임을 갖는다. UAM 운항자는 비상상황에 대비하여 규정에 부합하는 비상착륙장을 비행계획에 반영하여야 한다. UAM 운항자는 UAM 교통관리서비스 제공자를 통해 운항 중인 UAM 항공기의 상태·성능 정보 등을 관련 이해관계자들과 공유한다.
UAM 교통관리서비스 제공자는 UAM 운항자가 UAM 회랑 내에서 안전하고 효율적인 운항을 하기 위한 교통관리 서비스를 제공하며, 이를 위하여 회랑 주변에 항행안전시설(버티포트 관련 시설은 제외한다)을 구축·운용·유지한다. UAM 교통관리서비스 제공자는 UAM 항공기가 항행 중에 회랑을 이탈할 경우 관련 정보를 항공교통관제기관에 즉시 전달한다. 이 경우 이탈공역이 관제공역에 해당되면 해당 UAM 항공기의 교통관리 업무에 대해 항공교통관제기관의 지휘를 받을 수 있다. 필요시 동일 지역 또는 회랑의 UAM 교통관리 서비스를 복수의 UAM 교통관리서비스 제공자가 제공할 수 있다.
UAM 교통관리서비스 제공자는 회랑 내 UAM 항공기 운용상태, 공역제한 여부, 기상상황 등과 같은 운항 안전정보를 UAM 운항자 및 관련 이해관계자들과 지속해서 공유한다. UAM 교통관리서비스 제공자는 UAM 운용상의 비정상상황 발생 등으로 전술적 분리가 필요한 경우, UAM 운항자, 기장 등과 협력하고, 신속한 분리·회피 대응을 지원한다. UAM 교통관리서비스 제공자는 UAM 항공기의 안전한 착륙을 위해 버티포트 운영자에게 버티포트 가용성(FATO, 하기장 등)을 확인하여 관련 이해관계자들과 해당 정보를 공유한다. UAM 교통관리서비스 제공자는 필요시 항공교통관제사 및 UAS 교통관리서비스 제공자와 운항 안전정보를 공유한다. UAM 교통관리서비스 제공자는 제도수립·개선 및 사고조사 등 공공의 목적을 위해 수집한 운항정보를 저장할 수 있다. UAM 교통관리서비스 제공자는 이 정보를 PSU간 네트워크를 통해 공유할 수 있어야 한다.
UAM 교통관리서비스 제공자는 운항 안전정보 등을 이용하여 UAM 운항자가 제출한 비행계획의 승인 여부를 판단한다13. UAM 교통관리서비스 제공자는 PSU간 네트워크를 통해 타 UAM 교통관리서비스 제공자와 비행계획 등의 다양한 정보14를 공유하고 비행계획을 조율한다. UAM 교통관리서비스 제공자는 필요시 UAS 교통관리서비스 제공자와 비행계획을 서로 공유하고 조율할 수 있다. UAM 교통관리서비스 제공자는 UAM 항공기의 항적, 속도, 비행계획 대비 일치성 등을 상시 감시한다. 불일치 사항이 발견되면 해당 UAM 항공기에 후속 조치를 안내하고 그 정보를 항공교통관제사, UAM 운항자, 타 UAM 교통관리서비스 제공자 및 버티포트 운영자 등과 공유한다.
또한, UAM 운영 교통 관리 서비스 제공 시스템 또는 UAM 운영 시스템은 UAM간의 통신을 통해 각 UAM의 예정된 비행 경로를 수집할 수 있으며, 이를 비행 중인 UAM으로 전송함으로써, UAM이 비행 중 충돌 가능성을 회피하거나, 다른 UAM의 비행 경로를 시각적으로 분리하여 AR 지시선으로 표시하도록 할 수 있다.
운항지원정보 제공자는 안전하고 효율적인 UAM 운용과 교통관리를 위해 UAM 운항자 및 UAM 교통관리서비스 제공자 등 관련 이해관계자들에게 지형, 장애물, 기상 상황 및 기상 예측 정보, UAM 운용소음 상황 등의 운항지원 정보를 제공한다. 이러한 정보는 비행계획 단계는 물론 비행 중인 상황에서도 업데이트하여 제공한다.
또한, 일 실시 예에서는 사용자의 스마트 폰과 같은 모바일 기기로, UAM의 탑승을 예약하고, UAM의 요금도 결재하는 시스템을 구현할 수 있다.
만약, 사용자가 서버에 연결된 모바일 기기를 사용하여 이동하고자 하는 지점(목적지)을 검색하면, 서버는 사용자 주변에 위치한 포트 중 목적지까지 비행이 예정되어 있는 UAM을 검색한 후, 사용자의 모바일 기기로 UAM의 위치 및 사용자가 탑승할 포트의 위치 및 출발 시간 등에 대한 정보를 제공할 수 있다.
본 발명의 실시 예에 따른 UAM 관제 시스템은, 각 도심 지역 단위로 설치하여 운용할 수도 있으며, 전국 단위로 설치하여 운용할 수도 있다.
기본적으로, UAM은 유인 조정으로 가능한 형태로 제작될 가능성이 크지만, 향후 더 많은 승객/화물을 싣기 위해서는 자율 비행 또는 원격 제어 비행이 가능한 형태로 개발될 가능성이 크다.
UAM의 안정적인 비행과 UAM에 대한 각 상태 모니터링을 위해서는 UAM 관제 시스템은 각 UAM과 직접적인 통신이 가능하도록 통신 인프라를 각 비행 구역에 구축하거나, 각각의 UAM들이 서로 통신을 위한 데이터 링크를 통해 데이터를 공유하거나, 이러한 데이터를 UAM 관제 시스템과 가장 가까운 위치에 위치한 UAM이 관제 시스템으로 제공하는 일종의 ad hoc 네트워크를 구성할 수도 있다.
또한, UAM 서비스를 제공하기 위해서는 UAM 탑승 서비스를 제공하는 서비스 제공 시스템은 사용자 모바일 기기에서 UAM 탑승 서비스에 대한 요금 결재가 가능하도록 금융 인프라를 갖추어야 할 뿐 아니라, 사용자에게 UAM 예약 및 탑승에 관련된 정보 제공이 가능함으로써, 사용자는 자신이 탑승할 UAM의 포트 위치와 탑승 시간 및 목적지까지의 도착 예정 시간 등의 정보를 모바일 기기의 UX를 통해 확인이 가능할 수 있다.
도 63은 일 실시 예에 따라 사용자가 전자 기기를 통해 사용자가 원하는 지점까지 운행하는 UAM을 예약하기 위한 UX 화면을 도시한 도면이다.
도 64는 일 실시 예에 따라 사용자가 예약한 UAM에 관련된 정보를 전자 기기를 통해 제공하는 UX 화면을 도시한 도면이다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.

Claims (20)

  1. 차량용 영상 촬영 장치의 주차장 안내 서비스 제공 방법에 있어서,
    촬영에 따른 주차장 영상을 획득하는 단계;
    상기 주차장 영상을 이용하여 주차장 내 주차 공간의 정보를 포함하는 주차장 데이터를 생성하는 단계; 및
    상기 생성된 주차장 데이터를 주차장 안내 서비스 제공 서버에 전송하는 단계;를 포함하고,
    상기 주차장 데이터는 상기 주차장 안내 서비스 제공 서버에서 서비스 제공을 위한 주차장 모델을 생성하는데 이용되는 것을 특징으로 하는 주차장 안내 서비스 제공 방법.
  2. 제1항에 있어서,
    상기 주차장 데이터를 생성하는 단계는,
    상기 주차장 영상으로부터 상기 주차장 내 주차 공간의 위치를 식별 가능하게 하는 위치 식별자 및 상기 주차 공간에 주차된 주차 차량을 인식하는 단계;
    상기 인식된 위치 식별자를 기초로 상기 주차 공간의 위치 정보를 생성하는 단계; 및
    상기 인식된 주차 차량의 위치에 따라 상기 주차 공간에 포함된 주차칸의 주차 여부 정보를 생성하는 단계;를 포함하는 것을 특징으로 하는 주차장 안내 서비스 제공 방법.
  3. 제2항에 있어서,
    상기 주차장 데이터를 생성하는 단계는,
    상기 인식된 주차 차량에 대한 차량의 종류 정보 및 차량 번호 정보 중 적어도 하나를 포함하는 주차 차량 정보를 생성하는 단계;를 더 포함하고,
    상기 주차 차량 정보는 주차 공간을 구성하는 복수의 주차칸 별로 분류되어 생성되는 것을 특징으로 하는 주차장 안내 서비스 제공 방법.
  4. 제1항에 있어서,
    상기 주차 공간에 포함된 주차칸에서 주차 차량이 출차하거나 또는 타 차량이 상기 주차 공간에 포함된 주차칸에 입차함에 따른 상기 주차장 영상의 변화를 감지하여 주차장 데이터의 업데이트 필요 여부를 판단하는 단계;를 더 포함하는 것을 특징으로 하는 주차장 안내 서비스 제공 방법.
  5. 제1항에 있어서,
    자차의 주변에서 주차 중인 주차 차량의 충격 이벤트 발생 여부를 판단하는 단계;
    상기 주차 차량에 충격 이벤트가 발생한 것으로 판단되면, 상기 주차장 데이터를 업데이트하는 단계; 및
    상기 업데이트된 주차장 데이터를 상기 주차장 안내 서비스 제공 서버로 전송하는 단계;를 더 포함하고,
    상기 업데이트된 주차장 데이터는 상기 충격 이벤트 발생 시점의 소정 시간 전 및 후의 데이터를 포함하는 것을 특징으로 하는 주차장 안내 서비스 제공 방법.
  6. 차량용 영상 촬영 장치에 있어서,
    통신부;
    촬영에 따른 주차장 영상을 획득하는 촬영부;
    상기 주차장 영상을 이용하여 주차장 내 주차 공간의 정보를 포함하는 주차장 데이터를 생성하는 주차장 데이터 생성부;
    상기 생성된 주차장 데이터를 주차장 안내 서비스 제공 서버에 전송하도록 상기 통신부를 제어하는 제어부;를 포함하고,
    상기 주차장 데이터는 상기 주차장 안내 서비스 제공 서버에서 서비스 제공을 위한 주차장 모델을 생성하는데 이용되는 것을 특징으로 하는 차량용 영상 촬영 장치.
  7. 제6항에 있어서,
    상기 주차장 데이터 생성부는,
    상기 주차장 영상으로부터 상기 주차장 내 주차 공간의 위치를 식별 가능하게 하는 위치 식별자 및 상기 주차 공간에 주차된 주차 차량을 인식하는 이미지 처리부; 및
    상기 인식된 위치 식별자를 기초로 상기 주차 공간의 위치 정보를 생성하고, 상기 인식된 주차 차량의 위치에 따라 상기 주차 공간에 포함된 주차칸의 주차 여부 정보를 생성하는 주차 공간 정보 생성부;를 포함하는 것을 특징으로 하는 차량용 영상 촬영 장치.
  8. 제7항에 있어서,
    상기 주차장 데이터 생성부는,
    상기 인식된 주차 차량에 대한 차량의 종류 정보 및 차량 번호 정보 중 적어도 하나를 포함하는 주차 차량 정보를 생성하는 주차 차량 정보 생성부;를 더 포함하고,
    상기 주차 차량 정보는 주차 공간을 구성하는 복수의 주차칸 별로 분류되어 생성되는 것을 특징으로 하는 차량용 영상 촬영 장치.
  9. 제6항에 있어서,
    상기 제어부는,
    상기 주차 공간에 포함된 주차칸에서 주차 차량이 출차하거나 또는 타 차량이 상기 주차 공간에 포함된 주차칸에 입차함에 따른 상기 주차장 영상의 변화를 감지하여 주차장 데이터의 업데이트 필요 여부를 판단하는 것을 특징으로 하는 차량용 영상 촬영 장치.
  10. 제6항에 있어서,
    상기 제어부는,
    자차의 주변에서 주차 중인 주차 차량의 충격 이벤트 발생 여부를 판단하고, 상기 주차 차량에 충격 이벤트가 발생한 것으로 판단되면 상기 주차장 데이터를 업데이트하도록 상기 주자창 데이터 생성부를 제어하고, 상기 업데이트된 주차장 데이터를 상기 주차장 안내 서비스 제공 서버로 전송하도록 상기 통신부를 제어하며,
    상기 업데이트된 주차장 데이터는 상기 충격 이벤트 발생 시점의 소정 시간 전 및 후의 데이터를 포함하는 것을 특징으로 하는 차량용 영상 촬영 장치.
  11. 서버의 주차장 안내 서비스 제공 방법에 있어서,
    차량에 구비된 차량용 영상 촬영 장치로부터 주차장 내 주차 공간의 정보를 포함하는 주차장 데이터를 수신하는 단계;
    상기 수신된 주차장 데이터를 기초로 상기 주차장의 실시간 주차 상황을 이미지로 나타내는 주차장 모델을 생성하는 단계; 및
    상기 생성된 주차장 모델을 이용하여 사용자 단말 장치에 주차장 안내 서비스를 제공하는 단계;를 포함하는 주차장 안내 서비스 제공 방법.
  12. 제11항에 있어서,
    상기 주차 공간의 정보는 상기 주차 공간의 위치 정보 및 상기 주차 공간을 구성하는 주차칸의 주차 여부 정보를 포함하고,
    상기 주차장 모델을 생성하는 단계는,
    상기 주차 공간의 위치 정보를 기초로 상기 주차장에서 상기 주차 공간의 위치를 판단하는 단계;
    상기 주차칸의 주차 여부 정보를 기초로 상기 주차칸에 차량 모델을 배치할지 여부를 판단하는 단계; 및
    상기 판단 결과에 따라 상기 주차칸에 상기 차량 모델을 배치한 주차장 모델을 생성하는 단계;를 포함하는 것을 특징으로 하는 주차장 안내 서비스 제공 방법.
  13. 제12항에 있어서,
    상기 주차장 데이터는 주차 차량의 종류 정보 및 주차 차량의 번호 정보 중 적어도 하나를 포함하는 주차 차량 정보를 포함하고,
    상기 주차장 모델을 생성하는 단계는,
    상기 주차 차량 정보를 기초로 번호판 및 차량 종류 중 적어도 하나를 반영한 차량 모델을 생성하는 단계;를 더 포함하는 것을 특징으로 하는 주차장 안내 서비스 제공 방법.
  14. 제11항에 있어서,
    상기 생성된 주차장 모델은 3D 형상의 모델인 것을 특징으로 하는 주차장 안내 서비스 제공 방법.
  15. 제11항에 있어서,
    상기 생성된 주차장 모델을 업데이트하는 단계;를 더 포함하고,
    상기 업데이트 하는 단계는 기 생성된 주차장 모델과 이 후 생성된 주차장 모델 간의 차이 부분만을 추출하고, 상기 추출된 차이 부분만을 반영하여 상기 주차장 모델의 업데이트를 수행하는 것을 특징으로 하는 주차장 안내 서비스 제공 방법.
  16. 제11항에 있어서,
    상기 주차장 안내 서비스를 제공하는 단계는,
    상기 서버에 접속한 사용자 단말 장치 사용자의 차량이 주차된 주차장에 대응되는 상기 주차장 모델 및 상기 주차장 데이터를 검출하는 단계; 및
    상기 검출된 주차장 모델 및 상기 주차장 데이터를 이용하여 주차 가능 위치 안내 서비스, 차량 주차 위치 안내 서비스 및 주차장 경로 안내 서비스 중 적어도 하나를 상기 사용자 단말 장치에 제공하는 단계;를 포함하는 것을 특징으로 하는 주차장 안내 서비스 제공 방법.
  17. 제11항에 있어서,
    상기 주차장 안내 서비스를 제공하는 단계는,
    주차장에 주차된 제1 차량에 충격 이벤트가 발생한 경우, 상기 제1 차량 주변에 위치한 제2 차량의 차량용 영상 촬영 장치에 제1 차량 충격 이벤트 발생 알림을 전송하는 단계;
    상기 알림에 따라 제2 차량의 차량용 영상 촬영 장치로부터 주차 데이터를 수신하는 단계;
    상기 제2 차량의 차량용 영상 촬영 장치로부터 주차 데이터를 기초로 상기 제1 차량의 충격 상황에 대한 충격 정보를 생성하는 단계; 및
    상기 생성된 충격 정보를 기초로 주차 충격 이벤트 안내 서비스를 제공하는 단계;를 포함하는 것을 특징으로 하는 주차장 안내 서비스 제공 방법.
  18. 주차장 안내 서비스 제공 서버에 있어서,
    차량에 구비된 차량용 영상 촬영 장치로부터 주차장 내 주차 공간의 정보를 포함하는 주차장 데이터를 수신하는 통신부;
    상기 수신된 주차장 데이터를 기초로 상기 주차장의 실시간 주차 상황을 이미지로 나타내는 주차장 모델을 생성하는 주차장 모델 생성부; 및
    상기 생성된 주차장 모델을 이용하여 사용자 단말 장치에 주차장 안내 서비스를 제공하는 제어부;를 포함하는 주차장 안내 서비스 제공 서버.
  19. 제18항에 있어서,
    상기 주차 공간의 정보는 상기 주차 공간의 위치 정보 및 상기 주차 공간을 구성하는 주차칸의 주차 여부 정보를 포함하고,
    상기 주차장 모델 생성부는,
    상기 주차 공간의 위치 정보를 기초로 상기 주차장에서 상기 주차 공간의 위치를 판단하고,
    상기 주차칸의 주차 여부 정보를 기초로 상기 주차칸에 차량 모델을 배치할지 여부를 판단하며,
    상기 판단 결과에 따라 상기 주차칸에 상기 차량 모델을 배치한 주차장 모델을 생성하는 것을 특징으로 하는 주차장 안내 서비스 제공 서버.
  20. 제19항에 있어서,
    상기 주차장 데이터는 주차 차량의 종류 정보 및 주차 차량의 번호 정보 중 적어도 하나를 포함하는 주차 차량 정보를 포함하고,
    상기 주차장 모델 생성부는,
    상기 주차 차량 정보를 기초로 번호판 및 차량 종류 중 적어도 하나를 반영한 차량 모델을 생성하는 것을 특징으로 하는 주차장 안내 서비스 제공 서버.
KR1020220030865A 2021-03-14 2022-03-11 전자 장치, 전자 장치의 제어 방법, 컴퓨터 프로그램 및 컴퓨터 판독 가능한 기록 매체 KR20220128588A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20210033061 2021-03-14
KR1020210033061 2021-03-14

Publications (1)

Publication Number Publication Date
KR20220128588A true KR20220128588A (ko) 2022-09-21

Family

ID=83194957

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220030865A KR20220128588A (ko) 2021-03-14 2022-03-11 전자 장치, 전자 장치의 제어 방법, 컴퓨터 프로그램 및 컴퓨터 판독 가능한 기록 매체

Country Status (2)

Country Link
US (1) US20220292971A1 (ko)
KR (1) KR20220128588A (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11847432B2 (en) * 2021-07-17 2023-12-19 Vmware, Inc. System and method for generating accessible user experience design guidance materials
EP4358057A1 (en) * 2022-10-20 2024-04-24 Industry-Academic Cooperation Foundation Dankook University System for providing autonomous driving safety map service
CN115835161A (zh) * 2022-11-29 2023-03-21 重庆长安汽车股份有限公司 车辆的程序刷写方法、服务器、车辆、系统及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10169993B1 (en) * 2018-01-11 2019-01-01 Conduent Business Services, Llc Forecasting with matrix powers
US20220114893A1 (en) * 2020-10-08 2022-04-14 Thinkware Corporation Image capturing apparatus of vehicle, server, user terminal apparatus and method for providing parking lot guidance service using them

Also Published As

Publication number Publication date
US20220292971A1 (en) 2022-09-15

Similar Documents

Publication Publication Date Title
US11874663B2 (en) Systems and methods for computer-assisted shuttles, buses, robo-taxis, ride-sharing and on-demand vehicles with situational awareness
US11077850B2 (en) Systems and methods for determining individualized driving behaviors of vehicles
US10928826B2 (en) Sensor fusion by operations-control vehicle for commanding and controlling autonomous vehicles
US11816981B2 (en) Traffic monitoring and management systems and methods
CN114370883B (zh) 用于操纵车辆的方法和系统
US11521371B2 (en) Systems and methods for semantic map-based adaptive auto-exposure
CN110431037B (zh) 包括运用部分可观察马尔可夫决策过程模型示例的自主车辆操作管理
US11608060B1 (en) Speed planning for autonomous vehicles
CN110603497B (zh) 自主车辆操作管理控制的自主车辆和方法
KR102527245B1 (ko) 드론 및 그 제어 방법
CN111708358A (zh) 紧急情况下运载工具的操作
KR20220128588A (ko) 전자 장치, 전자 장치의 제어 방법, 컴퓨터 프로그램 및 컴퓨터 판독 가능한 기록 매체
US20200021961A1 (en) Vehicle on-board unit for connected and automated vehicle systems
CN110582802A (zh) 载运工具行为监测系统和方法
JP7205204B2 (ja) 車両の制御装置及び自動運転システム
CN113968216A (zh) 一种车辆碰撞检测方法、装置及计算机可读存储介质
US11964673B2 (en) Systems and methods for autonomous vehicle controls
US11688278B1 (en) Traffic drone system
CN111179617A (zh) 一种智能网联车的车载单元
EP3996063A1 (en) Safety performance evaluation device, safety performance evaluation method, information processing device, and information processing method
WO2020129688A1 (ja) 車両制御装置、車両制御方法、車両、情報処理装置、情報処理方法、及び、プログラム
US20220137615A1 (en) Systems and Methods for Dynamic Data Buffering for Autonomous Vehicle Remote Assistance
US11922805B1 (en) Systems and methods for intelligent traffic control
CN114503177A (zh) 信息处理装置、信息处理系统和信息处理方法
JP2020101960A (ja) 情報処理装置、情報処理方法及びプログラム