특허_GhiVideo_출원초안_스테이션재생_POI맵핑

특허 출원 초안 — 스테이션 기반 영상 플레이어 (발명 2건)

성격: 특허 출원을 위한 기술 정리 초안입니다. 실제 출원 전 변리사(특허사무소) 검토가 반드시 필요합니다. 청구항은 권리범위를 정하는 핵심이므로 아래 청구항은 방향 제시용 초안이며, 선행기술조사(KIPRIS 등) 후 변리사와 함께 확정하십시오.

구성·용어·그림은 사내 보고서 『스테이션기반 플레이어_260703』(기술개발센터 그래픽스개발팀)을 따랐습니다.


1. 발명의 개요 (프로그램 소개)

드론이 철길 상공을 비행하며 철도 시설물(교량·터널·역사 등)을 촬영한 항공영상을,

  1. 시간(몇 분 몇 초)이 아니라 스테이션(측점 — 선로 위 km 위치) 을 기준으로 재생·탐색하고,
  2. 시설물(POI) 정보를 영상 속 실제 위치에 정합하여 표출하는

스테이션 기반 영상 플레이어에 관한 발명이다. 두 기능은 각각 독립된 발명(발명 1, 발명 2)으로 정리한다.

보통 플레이어(시간 축)와 스테이션 플레이어(측점 축) 비교
[그림 1] 보통 플레이어(시간 축) vs 스테이션 플레이어(측점 축) — 같은 지점을 "3분 12초"가 아닌 "160k"로 지칭·탐색

2. 특허 요지 (한눈 요약)

구분 발명 1 — 측점 기반 재생 발명 2 — POI 영상 정합 표시
해결 과제 시간축 플레이어로는 영상 속 지점이 선로 어디인지 알 수 없음 위경도로 기록된 POI를 좌표 개념이 없는 영상 화면에 표시할 수 없음
핵심 수단 드론 GPS를 측점 기준선에 수직 투영하여 프레임별 측점값 산출 → 시간↔︎측점 대응표 POI 좌표를 높이 보완 → 상대좌표 → 시선 회전 → 핀홀 투영으로 화면 픽셀 위치로 변환
차별 포인트(신규성 후보) 누적 이동거리축 탐색바(정지 시 커서 정지) · 전진/후진 색 구분 · 측점 검색·복수 통과 순환 이동 최근접 측점 실측 표고로 POI 높이 보완(DEM 불필요) · 속도적응 평활 · 드래그 역투영 좌표 보정
청구 형태 방법 + 장치 + 기록매체 방법 + 장치 + 기록매체

3. 입력 데이터의 정의 (필요 데이터)

항목 내용 포맷 기록 주체
드론 영상 드론이 선로를 따라 비행하며 철도 시설물을 촬영한 항공영상 mp4 드론
드론 비행로그 프레임별 위치(위도·경도·고도), 카메라 자세각(yaw·pitch·roll), 초점거리 csv 드론
측점 데이터 측점 목록 — 이정(측점명)·좌표·실측 표고 csv 철도 측량 성과
POI·구조물 교량·터널·지장물·출입문·철도역의 명칭·좌표·속성 (높이 정보 없음) kmz 지도·측량 성과
노선 기본 정보 노선명·방향·시점/종점역 정보, 구조물 위치 보정값 (선택) json 운영자 입력

드론이 촬영과 동시에 기록하는 데이터(영상·비행로그)와, 드론과 무관한 철도 측량 성과(측점·POI)를 소프트웨어적으로 결합(믹싱) 하는 것이 두 발명의 공통 기반이다.


발명 1 — 시간을 스테이션으로: 측점(스테이션) 기반 영상 탐색·재생

4.1 발명의 명칭

선로 측점(스테이션) 기반의 드론 항공영상 탐색 및 재생 방법, 장치 및 기록매체 (영문 예: Chainage(station)-based navigation and playback method and apparatus for UAV railway inspection video)

4.2 기술분야

본 발명은 선로 등 선형 구조물을 따라 촬영한 드론 항공영상을, 재생 시간이 아닌 선로상의 위치값(측점, 스테이션) 을 기준으로 탐색·표시·재생하는 영상 재생 인터페이스 기술에 관한 것이다.

4.3 배경기술

4.4 해결하고자 하는 과제

  1. 영상을 측점(위치) 으로 탐색·이동할 수 있게 한다.
  2. 정지·선회 등 비이동 구간에서 탐색바 커서가 무의미하게 진행되지 않게 한다.
  3. 진행 방향(전진/후진)과 통과 시설물을 위치 기준으로 표시한다.
  4. 동일 측점의 복수 통과, 미도착 종점을 합리적으로 처리한다.

4.5 과제의 해결 수단 (요지)

프레임번호·GPS는 드론이 촬영과 동시에 기록한 데이터이고, 측점은 철도 노선의 측량 데이터이다. 본 발명은 드론 GPS를 측점 기준선(선로)에 수직 투영하여 프레임별 측점값을 산출함으로써 두 데이터를 결합하고, 프레임번호↔︎시간↔︎측점 대응표를 생성한다. 탐색바 가로축을 시간이 아닌 누적 이동거리로 구성하고, 입력 측점값을 대응표로 역산하여 해당 재생 시점으로 이동한다.

시간-측점 대응표 생성 과정: 드론 GPS를 선로 기준선에 수직 투영
[그림 2] 동작 원리 — 드론 GPS를 선로에 수직 투영해 측점값을 산출하고 시간↔측점 대응표를 완성

4.6 발명을 실시하기 위한 구체적인 내용 (실시예)

(1) 측점 기준선(폴리라인) 구성

측점 데이터(이정, 좌표)를 이정 오름차순으로 정렬하여 평면직교좌표로 변환하고, 인접 측점을 연결한 폴리라인(기준선)을 구성한다. 각 정점에 이정값(m)을 부여한다.

(2) 드론 GPS → 연속 측점값 (수직 투영)

프레임의 드론 위치 P를 폴리라인의 각 선분 [A,B]에 수직 투영(수선의 발)한다.

t = clamp( ((P−A)·(B−A)) / |B−A|² , 0, 1 )
투영점(발끝점) C = A + t·(B−A)
측점값 km = km_A + t·(km_B − km_A)

최근접 선분을 선택하고 이정을 선형보간하여 연속 측점값(10m 이하 해상도)을 얻는다. 드론이 선로 옆을 비행해도 수직 투영점으로 측점을 읽으므로, 100m 단위 최근접 측점 방식과 달리 전진/후진 전환 시점이 실제 이동과 일치한다. 선로 수직 이격거리(offset)도 함께 산출할 수 있다.

(3) 프레임번호↔︎시간↔︎측점 대응표 생성

각 프레임에 대해 (프레임번호, 시간 = 프레임번호 ÷ fps, 측점값)을 산출하여 배열로 사전계산·저장한다. 예: "5760번 프레임 ÷ 30fps = 192초 = 160k130". 이 대응표로 시간과 측점을 상호 변환한다.

(4) 누적 이동거리축 탐색바 (스테이션바)

측점값을 이동평균으로 평활한 뒤 프레임간 측점 변화량의 절대값을 누적하여 누적 이동거리를 얻고, 전체값으로 정규화한 진행도(0~1)를 탐색바 가로축으로 사용한다.

(5) 진행 방향 색 구분

평활 측점값의 증감 추세를 히스테리시스로 판정하여, 증가 구간(전진)과 감소 구간(후진)을 서로 다른 색으로 표시하고 방향 전환점을 표기한다.

(6) 시설물의 측점 위치 배치

교량·터널·역사 등 시설물을, 해당 측점값에 대응하는 통과 시점의 탐색바 위치에 마커로 배치한다. 동일 시설물을 복수 회 통과하면 통과마다 마커를 배치한다. 역사(驛舍) 마커는 드론의 수직 투영 측점이 시설물 측점과 허용오차 이내로 일치하는 통과에서만 표시하여, 좌표만 근접하고 측점이 다른 오표시를 방지한다.

(7) 측점 검색 (탐색 이동)

입력 측점값 q에 대해, 대응표에서 |측점값−q| 가 허용오차 이내인 연속 프레임 구간(= 1통과)들을 찾아 각 통과의 시점을 산출하고, 현재 재생 시점 이후의 다음 통과로 이동한다(반복 입력 시 순환). 허용오차 내 통과가 없으면 이동하지 않고 "해당 측점 없음"을 통지한다.

(8) 영상 fps 자동 산출

비행로그의 최대 프레임번호 ÷ 영상 길이(초) 로 fps를 산출하고, 표준 fps(23.976/24/25/29.97/30/50/60 등) 중 근접값에 스냅한다. 영상별로 다른 fps에 자동 대응한다.

(9) 종점 처리 (선택적 실시예)

영상이 종점 측점에 도달하지 못한 경우, 실제 통과 마커는 실제 위치에 유지하고 종점 마커는 탐색바 말단에 '미도착' 표시로 부가한다.

4.7 발명의 효과

4.8 청구범위 (초안)

[청구항 1] (방법) 선형 구조물을 촬영한 항공영상을 탐색·재생하는 방법으로서, (a) 상기 항공영상의 프레임에 대응하는 무인비행체의 위치정보를 획득하는 단계; (b) 위치값(측점)이 부여된 복수의 기준점을 연결한 기준선에 상기 위치정보를 수직 투영하여, 해당 프레임의 연속 위치값을 산출하는 단계; (c) 상기 프레임의 시간정보와 상기 연속 위치값을 대응시킨 매핑(대응표)을 생성하는 단계; 및 (d) 입력된 위치값에 대응하는 시간을 상기 매핑으로부터 산출하여, 상기 항공영상의 재생 위치를 해당 시간으로 이동시키는 단계; 를 포함하는, 항공영상 탐색·재생 방법.

[청구항 2] 제1항에 있어서, 상기 매핑에 기초하여 프레임간 위치값 변화량을 누적한 누적 이동거리를 가로축으로 하는 탐색바를 구성하여, 상기 무인비행체의 비이동 구간에서 상기 탐색바의 커서가 정지하도록 하는 단계를 더 포함하는 방법.

[청구항 3] 제1항에 있어서, 상기 위치값의 증가 구간과 감소 구간을 판별하여 진행 방향을 서로 다른 시각적 속성으로 표시하는 단계를 더 포함하는 방법.

[청구항 4] 제1항에 있어서, 시설물의 위치값에 대응하는 통과 시점을 상기 매핑으로부터 산출하여 상기 시설물을 탐색바의 대응 위치에 표시하되, 동일 시설물의 복수 통과에 대해 각각 표시하는 단계를 더 포함하는 방법.

[청구항 5] 제4항에 있어서, 상기 시설물 중 역사(驛舍)는 상기 무인비행체의 수직 투영 위치값이 상기 역사의 위치값과 허용오차 이내로 일치하는 통과에 대해서만 표시하는 것을 특징으로 하는 방법.

[청구항 6] 제1항에 있어서, 상기 (d) 단계는, 입력된 위치값과 허용오차 이내인 통과가 복수인 경우 현재 재생 시점 이후의 다음 통과로 순환 이동하고, 허용오차 이내의 통과가 존재하지 않는 경우 재생 위치를 이동하지 않고 부존재를 통지하는 것을 특징으로 하는 방법.

[청구항 7] 제1항에 있어서, 프레임번호와 시간의 변환에 사용되는 프레임율을, 비행로그의 최대 프레임번호를 영상 길이로 나눈 값에 기초하여 산출하고 사전 정의된 표준 프레임율 중 근접값으로 결정하는 것을 특징으로 하는 방법.

[청구항 8] (장치·기록매체) 제1항 내지 제7항 중 어느 한 항의 방법을 수행하도록 구성된 프로세서 및 메모리를 포함하는 항공영상 탐색·재생 장치, 및 상기 방법을 컴퓨터에 실행시키는 프로그램이 기록된 컴퓨터로 판독 가능한 기록매체.


발명 2 — POI를 영상 속 자리에: 지리좌표 POI의 영상 내 정합 표시 (좌표 투영)

5.1 발명의 명칭

드론 항공영상에 대한 지리정보(POI) 실시간 정합 및 오버레이 표시 방법, 장치 및 기록매체 (영문 예: Method and apparatus for real-time geo-registration and overlay of POI onto UAV aerial video)

5.2 기술분야

본 발명은 드론으로 촬영한 항공영상 위에, 지도상 좌표(위경도)로 기록된 지리정보 객체(POI — 교량, 터널, 지장물, 출입문, 철도역 등)를 촬영 당시의 카메라 기하에 맞추어 영상 화면의 정확한 픽셀 위치에 실시간으로 겹쳐 표시하는 영상처리 기술에 관한 것이다.

5.3 배경기술

5.4 해결하고자 하는 과제

  1. 별도 마커/실시간 SLAM 없이, 드론 비행로그와 카메라 내부 파라미터만으로 POI를 영상에 정합한다.
  2. 높이 정보가 없는 POI를 외부 지형데이터 없이 3차원 투영 가능하게 한다.
  3. 영상 프레임율과 무관하게 화면 갱신 주기(예: 60fps)로 매끄럽게 라벨이 대상에 붙어 이동하게 한다.
  4. GPS·자세 노이즈에도 라벨이 떨리지 않고 안정적으로 표시되게 한다.
  5. 투영 오차 발생 시 현장에서 즉시 보정할 수 있게 한다.

5.5 과제의 해결 수단 (요지)

① 높이 정보가 없는 POI에 최근접 측점의 실측 표고를 부여하고(외부 지형데이터 불필요), ② POI 좌표를 드론 기준 상대위치(전방·측방·상하 거리)로 변환한 뒤, ③ 비행로그의 자세각(yaw·pitch·roll)을 적용해 카메라 시선 기준으로 회전하고, ④ 핀홀 카메라 모델로 화면 내 위치를 산출한다. 이 계산을 매 프레임 반복하여 드론이 이동·회전해도 POI 표지가 영상 속 실제 위치에 지속 표출되며, 오차 발생 시 표지를 드래그하면 역투영으로 좌표가 보정·저장된다.

POI 투영 과정: 높이 보완, 좌표 변환, 시선 회전, 핀홀 투영
[그림 3] 동작 원리 — 3차원 POI 위치를 그 순간 카메라가 보는 화면의 픽셀로 변환(①높이 보완 ②좌표 변환 ③시선 회전 ④핀홀 투영)

5.6 발명을 실시하기 위한 구체적인 내용 (실시예)

(1) 입력 데이터

(2) POI 높이 보완 — 최근접 측점의 실측 표고 사용

POI에 높이 정보가 없으므로, 측점 데이터(실측 표고 포함) 중 POI에 최근접한 측점의 실측 표고를 해당 POI의 표고로 부여한다. 선로 주변 시설물은 선로 지면 높이에 근접하므로 별도 수치표고모델(DEM) 없이 실용적 정확도를 얻는다. 대상 정표고(EL)에는 지오이드고를 가산하여 드론 고도(타원체고)와 기준면(datum)을 일치시킨다. 필요 시 POI 전용 표고 보정값(오프셋)을 부가한다.

(3) 좌표 변환 — 위경도 → 평면직교(TM) → 드론 기준 상대좌표(ENU)

지구 곡률로 인해 위경도(각도)로는 거리 계산이 부정확하므로, POI와 드론의 위경도를 평면직교좌표계(예: EPSG:5186 한국 TM) 로 변환하여 미터 단위 좌표를 얻고, 드론 기준 상대좌표(동-북-상, ENU)를 산출한다.

rel = (E_o − E_d − offX,  N_o − N_d − offY,  z_o − h_d − offZ)

(offX/offY/offZ 는 드론 위치 미세 보정 파라미터. 예: 드론에서 앞 120m, 옆 15m, 아래 30m)

(4) 시선 회전 — 자세각으로 회전행렬 구성

드론 자세각(yaw, pitch, roll)으로 회전행렬을 구성하고, 상대좌표를 '카메라가 보는 방향' 기준 좌표로 회전한다.

R_b2w = Rz(−yaw) · Rx(pitch) · Ry(roll)
R_align = [[1,0,0],[0,0,−1],[0,1,0]]        (기체좌표 → 카메라좌표 축 정렬)
R_w2c  = R_align · R_b2wᵀ
(Xc, Yc, Zc)ᵀ = R_w2c · rel                  (Zc > 0 이 카메라 전방)

(5) 핀홀 투영 — 정규화 화면좌표 산출

u = 0.5 + cx0 + (Xc / Zc) · (f / sW)      (0=좌, 1=우)
v = 0.5 + cy0 + (Yc / Zc) · (f / sH)      (0=상, 1=하)

즉 "화면 위치 = 중앙 + (옆÷앞) × (초점거리÷센서)". 멀수록(Zc↑) 화면 중심에 가깝고 작게 투영되는 원근이 자연히 반영된다. (u,v)가 표시 허용 범위 내이면 해당 위치에 POI 식별정보를 오버레이한다.

(6) 프레임간 보간 — 매끄러운 추종

영상 프레임율(예: 30fps)보다 화면 갱신 주기(예: 60Hz)가 높을 수 있으므로, 재생 시각에 대응하는 연속 프레임 인덱스에서 인접 프레임의 위치·자세를 선형보간(방위각은 최단각 보간)하여 중간 포즈를 만들고 상기 (3)~(5)를 재수행한다. 라벨이 매 화면 갱신마다 대상에 붙어 매끄럽게 이동한다.

(7) 안정화 — 속도적응 평활 및 이상치 거부

(8) 오차 보정 — 드래그 역투영 (현장 보정)

투영 위치가 실제와 어긋나는 경우, 사용자가 화면에서 POI 라벨을 마우스로 드래그하면, 드래그된 화면 좌표로부터 현재 카메라 기하를 역산(역투영)하여

(9) 영상 fps 자동 산출 및 렌더링 분리

fps는 비행로그의 최대 프레임번호 ÷ 영상 길이로 산출 후 표준값에 스냅(발명 1과 공통). 표시는 화면 갱신 주기로 캔버스에 수행하고, 가시성·겹침 판정 등 고부하 연산은 유휴 시간에 사전계산하여 분리한다.

5.7 발명의 효과

5.8 청구범위 (초안)

[청구항 1] (방법) 무인비행체로 촬영한 항공영상에 지리정보 객체(POI)를 표시하는 방법으로서, (a) 상기 항공영상의 프레임에 대응하는 무인비행체의 위치정보(위도·경도·고도) 및 자세정보(방위각·틸트각·롤각)를 획득하는 단계; (b) 상기 POI의 위경도 좌표를 평면직교좌표계로 변환하고, 상기 무인비행체를 기준으로 한 상대좌표를 산출하는 단계; (c) 상기 자세정보로부터 회전행렬을 구성하여 상기 상대좌표를 카메라 좌표계의 좌표로 변환하는 단계; (d) 상기 카메라 좌표계의 좌표를, 초점거리 및 센서 규격을 포함하는 카메라 파라미터에 기초한 핀홀 카메라 모델로 정규화 화면좌표에 투영하는 단계; 및 (e) 상기 정규화 화면좌표에 대응하는 화면 위치에 상기 POI의 식별정보를 오버레이하여 표시하는 단계; 를 포함하는, 항공영상 지리정보 표시 방법.

[청구항 2] (높이 보완) 제1항에 있어서, 높이 정보가 없는 POI에 대하여, 위치값이 부여된 복수의 측점 중 상기 POI에 최근접한 측점의 실측 표고를 상기 POI의 표고로 부여하고, 정표고에 지오이드고를 가산하여 상기 무인비행체의 고도 기준면과 일치시키는 단계를 더 포함하는 방법.

[청구항 3] (보간) 제1항에 있어서, 재생 시각에 대응하는 연속 프레임 인덱스에서 인접 프레임의 위치 및 자세를 보간하여 중간 포즈를 산출하고, 화면 갱신 주기마다 상기 (b)~(e)를 수행하여 영상 프레임율보다 높은 빈도로 표시 위치를 갱신하는 것을 특징으로 하는 방법.

[청구항 4] (평활) 제1항에 있어서, 상기 정규화 화면좌표에 대해, 화면상 이동속도가 작을수록 강하게 평활하고 클수록 약하게 평활하는 속도적응 평활을 적용하여 표시 위치를 안정화하는 단계를 더 포함하는 방법.

[청구항 5] (역투영 보정) 제1항에 있어서, 표시된 상기 식별정보가 사용자 입력에 의해 화면상에서 이동(드래그)되는 경우, 이동된 화면좌표와 해당 시점의 카메라 기하로부터 역투영 연산을 수행하여 상기 POI의 지리좌표 및 표고 중 적어도 하나를 갱신·저장하는 단계를 더 포함하는 방법.

[청구항 6] (fps 산출) 제1항에 있어서, 프레임번호와 시간의 변환에 사용되는 프레임율을, 비행로그의 최대 프레임번호를 영상 길이로 나눈 값에 기초하여 산출하고 사전 정의된 표준 프레임율 중 근접값으로 결정하는 것을 특징으로 하는 방법.

[청구항 7] (장치·기록매체) 제1항 내지 제6항 중 어느 한 항의 방법을 수행하도록 구성된 프로세서 및 메모리를 포함하는 항공영상 지리정보 표시 장치, 및 상기 방법을 컴퓨터에 실행시키는 프로그램이 기록된 컴퓨터로 판독 가능한 기록매체.


6. 전체 시스템 구성 (공통 실시예 — 통합 출원 시 시스템 청구 근거)

데이터 폴더 1개를 입력하면 드론 기록과 철도 측량 데이터가 자동 파싱·결합되어 스테이션 기반 플레이어로 동작한다.

전체 흐름도: 데이터 폴더 입력, 자동 파싱, 좌표·측점 계산, 화면 출력
[그림 4] 전체 흐름도 — 폴더 1개로 드론 기록과 철도 측량 데이터가 자동 결합되어 측점 기반 플레이어로 동작

통합 출원(안 B) 선택 시, 위 구성(자동 파싱부 + 대응표 생성부 + 투영 연산부 + 표시부)을 하나의 시스템 청구항으로 묶는 방안을 변리사와 협의한다.


7. 요약서 (초안)

발명 1 (측점 기반 재생)

드론 항공영상 각 프레임의 GPS 위치를 측점 기준선에 수직 투영하여 연속 측점값을 산출하고, 프레임번호·시간·측점값의 대응표를 생성한다. 누적 이동거리를 가로축으로 하는 탐색바로 비이동 구간에서 커서가 정지하며, 진행 방향과 시설물을 위치 기준으로 표시하고, 입력 측점값을 시간으로 역산하여 재생 위치를 이동한다. 이로써 시간이 아닌 선로 위치(스테이션)로 영상을 직관적으로 탐색·재생한다.

발명 2 (POI 영상 정합 표시)

드론 비행로그(위치·자세각·초점거리)와 카메라 파라미터를 이용하여, 높이 정보가 없는 POI에 최근접 측점의 실측 표고를 부여하고, 위경도를 평면직교좌표 및 드론 기준 상대좌표로 변환한 뒤 회전행렬과 핀홀 카메라 모델로 정규화 화면좌표에 투영하여 영상에 식별정보를 정합·오버레이한다. 프레임간 보간과 속도적응 평활로 안정 표시하고, 라벨 드래그 시 역투영으로 좌표를 보정·저장한다.


부록 A. 구현 근거 (소스 매핑) — 명세서 뒷받침용

발명 구성요소 구현 파일·함수
GPS→측점 수직 투영, 기준선 구성 client/src/utils/chainage.tsprojectToChain, buildChainLine
시간↔︎측점 대응표·이동거리축 client/src/stationbar/StationBar.tsx — precompute, cumFracAtTime/timeAtFrac
방향색·시설물 마커 배치 StationBar.tsx — barSegments, structureMarks
측점 검색 StationBar.tsx — handleJumpToMileage
위경도→TM, ENU 상대좌표 client/src/utils/geoProjection.tslatLonToTM, buildRelEnu
회전행렬·카메라좌표·핀홀 투영 geoProjection.ts — buildRotation, toCameraCoords, projectPoint
역투영(드래그 보정)·표고 역산 geoProjection.ts — 역투영·표고 역산 함수, StationOverlay.tsx 드래그 처리
프레임 보간·평활 client/src/components/overlay/StationOverlay.tsxposeAt, smoothFrame, smoothStep
fps 자동 산출 VideoPlayer.tsx — effectiveFps
POI 표고 보완(최근접 측점) StationOverlay.tsx — nearestCL

부록 B. 출원 실무 유의사항