KR20170082945A - 영상 안정화 방법 및 장치 - Google Patents

영상 안정화 방법 및 장치 Download PDF

Info

Publication number
KR20170082945A
KR20170082945A KR1020160002314A KR20160002314A KR20170082945A KR 20170082945 A KR20170082945 A KR 20170082945A KR 1020160002314 A KR1020160002314 A KR 1020160002314A KR 20160002314 A KR20160002314 A KR 20160002314A KR 20170082945 A KR20170082945 A KR 20170082945A
Authority
KR
South Korea
Prior art keywords
frame
path
image
frames
matrix
Prior art date
Application number
KR1020160002314A
Other languages
English (en)
Other versions
KR101945233B1 (ko
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 에스케이텔레콤 주식회사
Priority to KR1020160002314A priority Critical patent/KR101945233B1/ko
Publication of KR20170082945A publication Critical patent/KR20170082945A/ko
Application granted granted Critical
Publication of KR101945233B1 publication Critical patent/KR101945233B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00007Time or data compression or expansion
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00166Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised contents recorded on or reproduced from a record carrier, e.g. music or software
    • G11B20/00181Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised contents recorded on or reproduced from a record carrier, e.g. music or software using a content identifier, e.g. an international standard recording code [ISRC] or a digital object identifier [DOI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/915Television signal processing therefor for field- or frame-skip recording or reproducing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00007Time or data compression or expansion
    • G11B2020/00072Time or data compression or expansion the compressed signal including a video signal

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Studio Devices (AREA)

Abstract

영상 안정화 방법 및 장치를 개시한다.
프레임 간의 변화량을 기반으로 카메라 경로를 계산하는 경우 오류가 누적 문제를 해결하고자 각 프레임별 경로를 계산하여 최적화한 후 복원하여 배속 재생되는 영상이 안정화(Stabilization)되도록 하는 영상 안정화 방법 및 장치를 제공한다.

Description

영상 안정화 방법 및 장치{Method and Apparatus for Stabilizing Video}
본 실시예는 영상 안정화 방법 및 장치에 관한 것이다.
이하에 기술되는 내용은 단순히 본 실시예와 관련되는 배경 정보만을 제공할 뿐 종래기술을 구성하는 것이 아니다.
일반적으로 ‘타임-랩스’(Time Lapse)란 인터벌(Interval)을 두고 정지 화상 데이터를 연속적으로 촬영하여 한 개의 동영상 데이터로 기록하는 촬영 방식이다. 예컨대, ‘타임-랩스’는 식물의 성장의 과정이나 날씨 변화를 소정의 시간 간격(인터벌)으로 촬영한 후 한 개의 동영상 데이터로 저장하는 촬영 방식이다.
최근 들어, 핸드헬드(Handheld) 카메라 또는 고프로 히어로(GoPro HERO)와 같은 ‘스포츠’/‘액션’/‘생활’ 캠코더, ‘웨어러블 카메라’ 또는 ‘스마트폰’ 등과 같은 일반적인 촬영 장비가 발전함에 따라 일상생활, 극한의 상황, 촬영 불가능한 스포츠 등을 빈번하게 촬영, 저장 및 공유하고 있는 추세이다. 하지만, 일반적인 촬영 장비(‘스포츠’/‘액션’/‘생활’ 캠코더 또는 ‘스마트폰’)로 촬영한 영상은 나중에 사용자가 시청하기에는 영상이 너무 길거나 복잡하고, 단조로운 문제가 있다.
전술한 문제점을 해결하기 위한 종래기술로는 일반적인 촬영 장비(‘스포츠’/‘액션’/‘생활’ 캠코더 또는 ‘스마트폰’)로 촬영한 영상을 전문가의 편집이 없이 타임-랩스를 적용하여 기 설정된 배속(예컨대, ‘10 배속’)에 해당하는 프레임만을 샘플링하는 기술이 이용되어 왔다. 다시 말해, 전문가가 촬영하여 편집하지 않은 대다수의 비디오는 그 길이가 길고 보기에 단조롭기 때문에 특정 업체에서 비디오 길이를 줄여주는 타임-랩스 기능을 제공하고 있다.
하지만, 단순히 기 설정된 배속에 해당하는 프레임을 샘플링하여 재생(영상 배속 재생)하는 경우, 영상이 흔들려 보이거나 불안정(Shaky)해 보이게 된다. 다시 말해, 타임-랩스는 사용자 지정 배속에 따라 프레임을 스킵(Skip)하게 되는데, 촬영 장비를 안정화하는 전문적인 장비없이 촬영자가 이동하면서 촬영한 영상의 경우, 불안한 카메라 경로를 갖게 되어 시청하기에 불편한 문제가 있다. 특히, 고정형 카메라가 아닌 이동상황에서 촬영한 영상을 배속 재생하는 경우, 타임-랩스가 적용된 최종 결과물에 해당하는 영상이 크게 흔들릴 수 있다.
본 실시예는 프레임 간의 변화량을 기반으로 카메라 경로를 계산하는 경우 오류가 누적 문제를 해결하고자 각 프레임별 경로를 계산하여 최적화한 후 복원하여 배속 재생되는 영상이 안정화(Stabilization)되도록 하는 영상 안정화 방법 및 장치를 제공하는 데 목적이 있다.
본 실시예의 일 측면에 의하면, 영상 배속 재생 장치가 영상을 안정화하는 방법에 있어서, 입력된 영상의 프레임(Frame) 중 일부 선택된 프레임들을 입력받는 입력 과정; 상기 선택된 프레임들마다 프레임별 경로를 생성하는 프레임별 경로 생성과정; 상기 프레임별 경로마다 최적화를 수행한 최적화 경로들을 생성하는 최적화 과정; 상기 최적화 경로들을 매트릭스(Matrix)로 복원(Compose)한 후 안정화 경로를 생성하는 안정화 과정; 및 상기 선택된 프레임에 상기 안정화 경로를 적용하여 안정화된 결과 영상을 출력하는 렌더링 과정을 포함하는 것을 특징으로 하는 영상 안정화 방법을 제공한다.
본 실시에의 다른 측면에 의하면, 하드웨어와 결합되어, 입력된 영상의 프레임 중 일부 선택된 프레임들을 입력받는 입력 과정; 상기 선택된 프레임들마다 프레임별 경로를 생성하는 프레임별 경로 생성과정; 상기 프레임별 경로마다 최적화를 수행한 최적화 경로들을 생성하는 최적화 과정; 상기 최적화 경로들을 매트릭스로 복원한 후 안정화 경로를 생성하는 안정화 과정; 및 상기 선택된 프레임에 상기 안정화 경로를 적용하여 안정화된 결과 영상을 출력하는 렌더링 과정을 실행시키기 위하여 기록매체에 저장된 컴퓨터프로그램을 제공한다.
본 실시에의 다른 측면에 의하면, 입력된 영상의 프레임 중 일부 선택된 프레임들을 입력받는 프레임 입력부; 상기 선택된 프레임들마다 프레임별 경로를 생성하는 프레임별 경로 분해부; 상기 프레임별 경로마다 최적화를 수행한 최적화 경로들을 생성하는 경로 최적화부; 상기 최적화 경로들을 매트릭스로 복원한 후 안정화 경로를 생성하는 복원부; 및 상기 선택된 프레임에 상기 안정화 경로를 적용하여 안정화된 결과 영상을 출력하는 렌더링부를 포함하는 것을 특징으로 하는 영상 배속 재생 장치를 제공한다.
이상에서 설명한 바와 같이 본 실시예에 의하면, 프레임 간의 변화량을 기반으로 카메라 경로를 계산하는 경우 오류가 누적 문제를 해결하고자 각 프레임별 경로를 계산하여 최적화한 후 복원하여 배속 재생되는 영상이 안정화되도록 하는 효과가 있다.
도 1a 및 도 1b는 본 실시예에 따른 영상 배속 재생 장치를 개략적으로 나타낸 블럭 구성도이다.
도 2는 본 실시예에 따른 영상 배속 재생 과정을 전반적으로 설명하기 위한 순서도이다.
도 3a 내지 도 3c는 영상 배속 재생에 따른 일반적인 카메라 경로, 안정화된 카메라 경로를 비교 설명하기 위한 도면이다.
도 4는 본 실시예에 따른 프레임 매칭 과정을 설명하기 위한 순서도이다.
도 5는 본 실시예에 따른 프레임 선택 과정을 설명하기 위한 순서도이다.
도 6은 본 실시예에 따른 경로 안정화 과정을 설명하기 위한 순서도이다.
도 7은 본 실시예에 따른 부드러운 경로에 대해 설명하기 위한 도면이다.
도 8은 본 실시예에 따른 렌더링 과정을 설명하기 위한 순서도이다.
도 9는 본 실시예에 따른 비용 매트릭스를 설명하기 위한 예시도이다.
도 10a 내지 도 10b는 정배속 재생시 프레임 선택과 본 실시예에 따른 프레임 선택을 비교 설명하기 위한 도면이다.
이하, 본 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
본 실시예에 기재된 ‘배속 재생’은 기본적으로 스피드 업 비디오(Seep Up Video)를 제공할 뿐 아니라, 안정된 카메라 모션(Stable Camera Motion)으로 동작하는 영상을 의미한다. 다시 말해, 본 실시예에 기재된 ‘배속 재생’은 안정적인 카메라 경로에서 움직이는 빠른 영상(안정적으로 빠르게 재생되는 영상)을 의미한다.
본 실시예에 기재된 ‘안정적인 영상’이란 전문가가 촬영한 카메라 경로에 부합하는 영상이 출력되는 것을 의미한다. 통상 전문가는 이동하면서 촬영하는 경우에 촬영 보조 기구를 이용하여 영상이 흔들리지 않는 카메라 경로로 촬영한다.
본 실시예에 기재된 ‘상관관계 매트릭스(Homography)’는 인접 프레임 간의 변화량 파라미터를 포함한 매트릭스를 의미한다. ‘상관관계 매트릭스’는 x축 이동량(tx) 파라미터, y축 이동량(ty) 파라미터, 회전 각도(Angle)(θ) 파라미터, 크기(Scale) 파라미터, 종횡비(Aspect Ratio) 파라미터, 전단(Shear) 파라미터 및 사영(Perspective) 파라미터 중 적어도 두 개 이상의 파라미터를 포함한다. ‘상관관계 매트릭스’는 3×3 매트릭스일 수 있다. ‘상관관계 매트릭스’는 한 번만 계산해서 저장하면 다시 계산할 필요가 없다.
본 실시예에 기재된 ‘비용 매트릭스(Cost Matrix)’는 기준 프레임의 상관관계 매트릭스와 나머지 프레임의 상관관계 매트릭스를 비교한 일종의 스칼라값을 의미한다. ‘비용 매트릭스’는 사용자가 입력한 배속에 따라 기 저장된 ‘상관관계 매트릭스’를 이용하여 새롭게 계산된다. ‘비용 매트릭스’를 계산하는 과정에서 연산 속도를 빠르게 하기 위해 인접 프레임 간의 상관관계 매트릭스에 연쇄법칙(Chain Rule)이 적용될 수 있다.
도 1a 및 도 1b는 본 실시예에 따른 영상 배속 재생 장치를 개략적으로 나타낸 블럭 구성도이다.
본 실시예에 따른 영상 배속 재생 장치(100)는 입력부(110), 프레임 매칭부(120), 프레임 선택부(130), 경로 안정화부(140) 및 렌더링부(150)를 포함한다. 영상 배속 재생 장치(100)에 포함된 구성요소는 반드시 이에 한정되는 것은 아니다.
영상 배속 재생 장치(100)에 포함된 각 구성요소는 장치 내부의 소프트웨어적인 모듈 또는 하드웨어적인 모듈을 연결하는 통신 경로에 연결되어 상호 간에 유기적으로 동작할 수 있다. 이러한 구성요소는 하나 이상의 통신 버스, 신호선 또는 무선통신을 이용하여 통신한다.
도 1에 도시된 영상 배속 재생 장치(100)의 각 구성요소는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 소프트웨어적인 모듈, 하드웨어적인 모듈 또는 소프트웨어와 하드웨어의 결합으로 구현될 수 있다.
본 실시예에 기재된 영상 배속 재생 장치(100)는 기본적으로 스피드 업 비디오를 제공할 뿐 아니라, 안정된 카메라 경로로 영상(안정적으로 빠르게 재생되는 영상)을 출력하는 장치를 의미한다.
영상 배속 재생 장치(100)는 (ⅰ) 각종 기기 또는 유무선 네트워크와 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, (ⅱ) 각종 프로그램과 데이터를 저장하기 위한 메모리, (ⅲ) 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치이다. 적어도 일 실시예에 따르면, 메모리는 램(Random Access Memory: RAM), 롬(Read Only Memory: ROM), 플래시 메모리, 광 디스크, 자기 디스크, 솔리드 스테이트 디스크(Solid State Disk: SSD) 등의 컴퓨터로 판독 가능한 기록/저장매체일 수 있다. 적어도 일 실시예에 따르면, 마이크로프로세서는 명세서상에 기재된 동작과 기능을 하나 이상 선택적으로 수행하도록 프로그램될 수 있다. 적어도 일 실시예에 따르면, 마이크로프로세서는 전체 또는 부분적으로 특정한 구성의 주문형반도체(Application Specific Integrated Circuit: ASIC) 등의 하드웨어로써 구현될 수 있다. 영상 배속 재생 장치(100)의 구성 요소가 소프트웨어적인 모듈로 구현된 경우, 메모리 내에 저장될 수 있다.
입력부(110)는 원본 영상을 입력받는다.
프레임 매칭부(120)는 원본 영상의 프레임(Frame) 각각에 대한 특징점(Feature Point)을 서로 비교하는 방식으로 매칭(Matching)하여 상관관계 매트릭스(Homography)를 계산한다. 프레임 매칭부(120)는 특징점 추출부(122), 서술자 확인부(124) 및 상관관계 계산부(126)를 포함한다.
특징점 추출부(122)는 원본 영상에 포함된 모든 프레임 각각에 대한 특징점을 추출한다. 서술자 확인부(124)는 모든 프레임 각각에 대한 특징점 별로 서술자(Descriptor)를 확인한다.
상관관계 계산부(126)는 모든 프레임 중 인접 프레임 간에 서술자들을 서로 비교하는 방식으로 매칭하여 프레임 간의 상관관계 매트릭스를 계산한다. 상관관계 매트릭스는 3×3 매트릭스로서, 인접 프레임 간의 변화량 파라미터로서, x축 이동량(tx) 파라미터, y축 이동량(ty) 파라미터, 회전 각도(θ) 파라미터, 크기 파라미터, 종횡비 파라미터, 전단 파라미터 및 사영 파라미터 중 적어도 두 개 이상의 파라미터를 포함한다. 상관관계 계산부(126)는 인접 프레임 간의 서술자를 비교하는 방식으로 매칭할 때 무작위 샘플 데이터에서 최대 컨센서스(Consensu)를 갖는 모델을 선택하는 알고리즘을 이용하여 오류(Outlier)를 제거하는 과정을 선택적으로 수행한다.
프레임 선택부(130)는 상관관계 매트릭스를 기반으로 프레임 간의 연관성을 비교한 비용 매트릭스(Cost Matrix)를 계산하고, 비용 매트릭스를 기반으로 프레임 간의 연관성이 가장 높은 경로 프레임만을 선택한다. 프레임 선택부(130)는 연관성 계산부(132), 가중치 계산부(134) 및 비용 계산부(136)를 포함한다.
연관성 계산부(132)는 첫 번째 프레임의 상관관계 매트릭스를 기준으로 이후 프레임이 재생 배속의 두 배가 되는 프레임까지의 상관관계 매트릭스를 각각 비교한 변화값들로 프레임 간 연관성을 계산한다. 연관성 계산부(132)는 프레임의 상관관계 매트릭스와 이후 프레임들의 상관관계 매트릭스를 곱하여 프레임 간 연관성을 계산한다.
가중치 계산부(134)는 프레임 별로 사용자가 기 설정한 배속을 만족시키기 위한 값을 계산한다. 가중치 계산부(134)는 i번째 프레임 인덱스(i), j번째 프레임 인덱스(j), 사용자가 설정 배속 재생 값(v), 임계치(τs)에 근거하여 사용자가 기 설정한 배속을 만족시키기 위한 배속 만족값(Cs)을 계산한다.
비용 계산부(136)는 프레임 간 연관성과 사용자가 기 설정한 배속을 만족시키기 위한 값을 조합하여 비용 매트릭스를 계산하고, 비용 매트릭스 중 최소값을 갖는 프레임을 경로 프레임으로 선택하는 과정을 마지막 프레임까지 반복 수행한다. 비용 계산부(136)는 영상 이동량과 겹침 정도에 대한 양(Cm), 배속을 지키는 값에 대한 가중치(λs), 사용자가 기 설정한 배속을 만족시키기 위한 배속 만족값(Cs)에 근거하여 비용 매트릭스를 계산한다.
경로 안정화부(140)는 프레임 선택부(130)로부터 수신된 경로 프레임을 기반으로 카메라 경로를 최적화 및 안정화한다. 경로 안정화부(140)가 영상 배속 재생 장치(100)에 포함되는 것으로 기재하고 있으나, 경로 안정화부(140)는 반드시 이에 한정되는 것은 아니며, 경로 안정화부(140)는 독립적인 모듈(소프트웨어, 하드웨어)로 운용되도록 구현될 수 있다. 또한, 경로 안정화부(140)는 프레임 선택부(130)로부터 수신된 프레임을 기준으로 안정화를 수행하므로, 프레임 매칭부(120)의 상관관계 매트릭스 계산과, 프레임 선택부(130)의 비용 매트릭스의 계산과 무관하게 동작할 수 있다.
경로 안정화부(140)는 프레임 입력부(142), 경로 분해부(144), 경로 최적화부(146) 및 경로 복원부(148)를 포함한다. 프레임 입력부(142)는 프레임 선택부(130)로부터 모든 프레임 중 일부 선택된 경로 프레임들을 입력받는다. 프레임 입력부(142)는 프레임 선택부(130)로부터 모든 프레임 중 가변적인 간격으로 선택된 경로 프레임들을 입력받는다. 경로 분해부(144)는 프레임들마다 프레임별 경로를 생성한다. 경로 분해부(144)는 프레임에 대한 상관관계 매트릭스의 모션 모델을 기반으로 상기 프레임을 분해(Decompose)하여 프레임별 경로를 생성한다. 경로 분해부(144)는 상관관계 매트릭스에 포함된 파라미터의 개수에 대응하는 개수로 경로 프레임을 분해하여 프레임별 경로를 생성한다. 경로 최적화부(146)는 프레임별 경로마다 최적화를 수행한 최적화 경로들을 생성한다. 경로 최적화부(146)는 프레임별 경로마다 라인 피팅(Line Fitting)을 적용하거나 평활화 필터를 적용하여 최적화를 수행한 결과인 부드러운 경로(Smooth Path)를 계산한다. 경로 복원부(148)는 최적화 경로들을 매트릭스(Matrix)로 복원(Compose)한 후 안정화된 경로를 생성한다. 경로 복원부(148)는 프레임별 경로마다 최적화된 부드러운 경로를 매트릭스로 복원한 와핑(Warping) 매트릭스를 계산한다.
렌더링부(150)는 안정화된 카메라 경로를 기반으로 배속 재생을 위한 영상을 렌더링(Rendering)한다. 렌더링부(150)는 경로 프레임의 모든 픽셀값에 와핑 매트릭스(B(t))를 곱해서 출력되는 좌표로 프레임의 픽셀값을 이동하도록 영상을 렌더링한다.
도 2는 본 실시예에 따른 영상 배속 재생 과정을 전반적으로 설명하기 위한 순서도이다.
영상 배속 재생 장치(100)는 원본 영상(촬영된 영상)을 입력받는다(S210). 예컨대, 영상 배속 재생 장치(100)는 1초에 30 FPS(Frame Per Second)를 갖는 1분짜리 동영상의 원본 영상(1,800 개의 프레임)을 입력받는다. 단계 S210에서, 원본 영상은 고정형 카메라가 아닌 일반적인 촬영 장비에서 별도의 안정화 장비 없이 촬영한 영상을 의미한다.
영상 배속 재생 장치(100)는 원본 영상에 포함된 프레임(1,800 개의 프레임) 각각의 특징점(Feature Point)을 추출한다. 영상 배속 재생 장치(100)는 각각의 프레임의 특징점을 이용하여 인접 프레임 간에 매칭을 수행한다(S220). 예컨대, 영상 배속 재생 장치(100)는 모든 프레임(1,800 개의 프레임) 중 인접 프레임(‘1~2번째 프레임’, ‘2~3번째 프레임’, ‘3~4번째 프레임’… ‘1,799~1,800번째 프레임’) 간의 프레임 매칭을 수행한다. 영상 배속 재생 장치(100)는 인접 프레임(‘1~2번째 프레임’, ‘2~3번째 프레임’, ‘3~4번째 프레임’… ‘1,799~1,800번째 프레임’) 간의 상관관계 매트릭스를 계산한다. 인접 프레임 간의 상관관계 매트릭스는 한 번만 계산해 놓으면 다시 계산할 필요가 없다. 단계 S220에서, 영상 배속 재생 장치(100)는 원본 영상의 프레임 각각에 대한 특징점을 서로 비교하는 방식으로 매칭하여 상관관계 매트릭스를 계산한다. 상관관계 매트릭스를 계산하는 구체적인 동작 방법은 이하, 도 4에서 설명하도록 한다.
영상 배속 재생 장치(100)는 매칭된 프레임 중 연관성이 가장 높은 프레임을 경로 프레임으로 선택한다(S230). 단계 S230에서 영상 배속 재생 장치(100)는 상관관계 매트릭스를 기반으로 프레임 간의 연관성을 비교한 비용 매트릭스를 계산한다. 영상 배속 재생 장치(100)는 비용 매트릭스를 이용하여 프레임 간의 연관성이 가장 높은 프레임을 경로 프레임으로 선택한다. 예컨대, 영상 배속 재생 장치(100)는 배속 재생이 16배속으로 설정된 경우, 1번째 프레임(기준 프레임)과 2~32번째 프레임(배속 × 2)을 비교하여 1번째 프레임(기준 프레임)과 연관성이 가장 높은 프레임을 경로 프레임으로 선택한다.
영상 배속 재생 장치(100)는 1번째 프레임(기준 프레임)과 2~32번째 프레임(배속 × 2)의 연관성을 확인하기 위해 비용 매트릭스를 계산한다. 예컨대, 배속 재생이 16배속으로 설정된 경우, 영상 배속 재생 장치(100)는 1번째 프레임(기준 프레임)과 2~32번째 프레임(배속의 2배)까지를 비교하는 비용 매트릭스를 계산한다.
먼저, 영상 배속 재생 장치(100)는 ‘1번째 프레임’과 ‘2번째 프레임’의 변화량을 확인하고, ‘1번째 프레임’과 ‘3번째 프레임’의 변화량을 확인하고, ‘1번째 프레임’과 ‘4번째 프레임’의 변화량을 확인하고, ... ‘1번째 프레임’과 ‘32번째 프레임’의 변화량을 확인한다. 이후, 영상 배속 재생 장치(100)는 변화량 중 최소값을 갖는 프레임이 ‘1번째 프레임’과 연관성이 가장 높은 경로 프레임으로 선택한다. 비용 매트릭스를 계산하는 구체적인 방법은 이하, 도 5에서 설명하도록 한다.
영상 배속 재생 장치(100)는 단계 S220에서 인접 프레임 간의 상관관계 매트릭스를 모두 계산해 놓기 때문에, 단계 S230에서는 사용자가 선택한 배속에 따른 비용 매트릭스만을 계산하여 배속에 따라 연관성이 높은 프레임으로 이루어진 최적 경로를 쉽게 확인할 수 있다.
영상 배속 재생 장치(100)는 연산 속도를 빠르게 하기 위해 인접 프레임 간의 상관관계 매트릭스에 연쇄법칙을 적용할 수 있다. 예컨대, 영상 배속 재생 장치(100)는 ‘1번째 프레임’과 ‘10번째 프레임’이 얼마나 차이가 나는지 확인하고자 하는 경우, ‘1~2번째 프레임의 상관관계 매트릭스’, ‘2~3번째 프레임의 상관관계 매트릭스’, ‘3~4번째 프레임의 상관관계 매트릭스’ ... ‘9~10번째 프레임의 상관관계 매트릭스’를 모두 곱하는 ‘연쇄법칙’을 적용하여 ‘1번째 프레임’과 ‘10번째 프레임’의 차이를 빠르게 계산할 수 있다.
인접 프레임 간의 상관관계 매트릭스는 한 번만 계산해 놓으면 다시 계산할 필요가 없기 때문에, 사용자가 설정하는 배속에 따라서 비용 매트릭스만을 다시 계산하여 사용자가 배속을 조절할 때마다 빠르게 연산 처리를 수행할 수 있다.
영상 배속 재생 장치(100)는 기본 프레임 및 경로 프레임을 기반으로 계산된 최적 경로를 안정화한다(S240).
영상 배속 재생 장치(100)는 안정화된 경로를 기반으로 영상을 렌더링한다(S250). 단계 S250에서 영상 배속 재생 장치(100)는 단계 S240을 경유하지 않고 경로 프레임을 기반으로 배속 재생을 위한 영상을 렌더링할 수 있다.
도 2에서는 단계 S210 내지 단계 S250을 순차적으로 실행하는 것으로 기재하고 있으나, 반드시 이에 한정되는 것은 아니다. 다시 말해, 도 2에 기재된 단계를 변경하여 실행하거나 하나 이상의 단계를 병렬적으로 실행하는 것으로 적용 가능할 것이므로, 도 2는 시계열적인 순서로 한정되는 것은 아니다.
전술한 바와 같이 도 2에 기재된 본 실시예에 따른 영상 배속 재생의 전반적인 동작 과정은 프로그램으로 구현되고 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다. 본 실시예에 따른 영상 배속 재생의 전반적인 동작 과정을 구현하기 위한 프로그램이 기록되고 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.
도 3a 내지 도 3c는 영상 배속 재생에 따른 일반적인 카메라 경로, 안정화된 카메라 경로를 비교 설명하기 위한 도면이다.
도 3a는 일반적인 촬영 방식으로 영상을 촬영한 경우의 카메라 경로를 나타낸 도면이다. 핸드헬드 카메라 또는 고프로 히어로와 같은 촬영 장비로 일상생활, 극한의 상황, 촬영이 불가능한 스포츠 등을 촬영하고, 촬영된 영상을 재생하는 경우, 영상이 너무 길거나 복잡하고, 단조로운 문제가 있다. 다시 말해, 전문적인 보조 장비 없이 일반적인 촬영 장비로 촬영한 영상은 전문가의 편집이 없기 때문에, 도 3a에 도시된 바와 같이, 불안한(Shaky) 카메라 경로를 갖게 된다.
도 3b는 일반적인 촬영 방식으로 촬영한 카메라 경로를 하나의 부드러운 카메라 경로(Smooth Camera Path)로 나타낸 도면이다. 일반적으로 도 3a에 도시된 바와 같은 불안정한 카메라 경로를 안정화하는 경우, 도 3b에 도시된 바와 같이, 부드러운 카메라 경로가 생성된다.
도 3c는 불안한(shaky) 경로가 안정화(Stabilized) 경도를 갖도록 변화된 예시를 나타낸 도면이다. 본 실시예에 기재된 영상 배속 재생 장치(100)는 단순히 기 설정된 배속에 해당하는 프레임을 샘플링하여 재생(영상 배속 재생)하는 것이 아니라, 원본 영상의 프레임 각각에 대한 특징점을 서로 비교하는 방식으로 매칭하여 상관관계 매트릭스를 계산하고, 상관관계 매트릭스를 기반으로 프레임 간의 연관성을 비교한 비용 매트릭스를 계산한 후 비용 매트릭스를 기반으로 프레임 간에 연관성이 가장 높은 경로 프레임만을 선택하기 때문에, 도 3c에 도시된 바와 같이, 부드러운 카메라 경로로 변경된다. 예컨대, 일반적으로 영상에 비디오 안정화를 수행한 후 타임 랩스(예컨대, 10 배속)를 수행하거나 영상을 빠르게 기 설정된 배속으로 재생한 후 영상 안정화를 수행할 수 있으나, 모두 불안정한 카메라 경로가 크게 안정화되지는 않는다. 하지만, 본 실시예에서는 단순히 사용자가 입력한 정배속에 해당하는 프레임만을 샘플링하는 것이 아니라 계산된 상관관계 매트릭스를 이용해 비용 매트릭스를 계산한 후 사용자가 설정한 재생 배속과 프레임간 정합도를 고려하여 가변적인 간격으로 프레임 선택하므로, 불안정한 카메라 경로가 크게 안정화된다. 본 실시예의 경우, 영상 배속 재생 장치(100)가 불안정한 카메라 경로를 안정화시키기 위해 별도의 캘리브레이션(Calibration)을 수행하거나 카메라의 포컬 랭스(Focal Length) 등을 확인할 필요가 없다.
도 4는 본 실시예에 따른 프레임 매칭 과정을 설명하기 위한 순서도이다.
영상 배속 재생 장치(100)는 원본 영상에 포함된 모든 프레임(1,800 개의 프레임) 각각에 대한 특징점을 추출한다(S410). 예컨대, 단계 S410에서, 영상 배속 재생 장치(100)는 1번째 프레임에서 ‘500개’의 특징점을 추출할 수 있고, 2번째 프레임에서 ‘495개’의 특징점을 추출할 수 있고, 3번째 프레임에서 ‘497개’의 특징점을 추출할 수 있고, .... 1,800 번째 프레임에서 ‘490개’의 특징점을 추출할 수 있다.
영상 배속 재생 장치(100)는 모든 프레임 각각에 대한 특징점 별로 서술자(Descriptor)를 확인한다(S420). 서술자는 해당 특징점에 대한 일종의 속성 정보 또는 특징 정보(Uniqueness)를 포함한다. 예컨대, 단계 S420에서, 영상 배속 재생 장치(100)는 1번째 프레임에서 추출한‘500개’의 특징점에 대한 ‘500개’의 서술자를 확인하고, 2번째 프레임에서 추출한 ‘495개’의 특징점에 대한 ‘495개’의 서술자를 확인하고, 3번째 프레임에서 추출한 ‘497개’의 특징점에 대한 ‘497개’의 서술자를 확인하고, ... 1,800 번째 프레임에서 추출한 ‘490개’의 특징점에 대한 ‘490개’의 서술자를 확인한다.
영상 배속 재생 장치(100)는 모든 프레임 중 인접 프레임 간에 서술자들을 서로 비교하는 방식으로 매칭하여 인접 프레임 간의 상관관계 매트릭스를 계산한다(S430). 예컨대, 단계 S430에서, 영상 배속 재생 장치(100)는 인접 프레임인 ‘1~2번째 프레임’, ‘2~3번째 프레임’, ‘3~4번째 프레임’… ‘1,799~1,800번째 프레임’ 간의 서술자 비교하는 방식으로 매칭하여 각 프레임에 대한 상관관계 매트릭스를 계산한 후 저장한다. 영상 배속 재생 장치(100)는 ‘1,800 개의 프레임’에 대해 단계 S430을 수행한 결과로 ‘1,799 개’의 상관관계 매트릭스를 계산하여 저장한다.
단계 S430에서, 영상 배속 재생 장치(100)는 인접 프레임 간의 서술자를 비교하는 방식으로 매칭할 때 무작위 샘플 데이터에서 최대 컨센서스(Consensu)를 갖는 모델을 선택하는 알고리즘(RANSAC(RANdom SAmple Consensu) 알고리즘)을 이용하여 오류(Outlier)를 제거하는 과정을 선택적으로 수행한다.
상관관계 매트릭스는 3×3 매트릭스로서, 3×3 매트릭스에서 1개를 제외한 최대 8개의 변화값 파라미터를 포함한다. 상관관계 매트릭스는 3×3 매트릭스로서, 인접 프레임 간의 변화량 파라미터로서, x축 이동량(tx) 파라미터, y축 이동량(ty) 파라미터, 회전 각도(θ) 파라미터, 크기 파라미터, 종횡비 파라미터, 전단 파라미터 및 사영 파라미터 중 적어도 두 개 이상의 파라미터를 포함한다.
이하, 상관관계 매트릭스(H(t))에 대해 설명한다.
상관관계 매트릭스(H(t))가 2 DOF(Degree Of Freedom)를 포함하는 변환 모션 모델(Translation Motion Model)로 이루어진 경우, x축 이동량(tx) 파라미터, y축 이동량(ty) 파라미터를 포함한다.
Figure pat00001
상관관계 매트릭스(H(t))가 3 DOF를 포함하는 기하학 모션 모델(Euclidean Motion Model)로 이루어진 경우, x축 이동량(tx) 파라미터, y축 이동량(ty) 파라미터, 회전 각도(θ) 파라미터를 포함한다.
Figure pat00002
상관관계 매트릭스(H(t))가 4 DOF를 포함하는 유사성 모션 모델(Similarity Motion Model)로 이루어진 경우, x축 이동량(tx) 파라미터, y축 이동량(ty) 파라미터, 회전 각도(θ) 파라미터, 크기 파라미터를 포함한다.
Figure pat00003
상관관계 매트릭스(H(t))가 6 DOF를 포함하는 어파인 모션 모델(Affine Motion Model)로 이루어진 경우, x축 이동량(tx) 파라미터, y축 이동량(ty) 파라미터, 회전 각도(θ) 파라미터, 크기 파라미터, 종횡비 파라미터, 전단 파라미터를 포함한다. 어파인 모션 모델의 경우 평행선이 보존된다.
Figure pat00004
상관관계 매트릭스(H(t))가 8 DOF를 포함하는 사영 모션 모델(Perspective Motion Model)로 이루어진 경우, x축 이동량(tx) 파라미터, y축 이동량(ty) 파라미터, 회전 각도(θ) 파라미터, 크기 파라미터, 종횡비 파라미터, 전단 파라미터, 사영 파라미터를 포함한다. 사영 모션 모델의 경우 평행선이 보존되지 않는다.
Figure pat00005
도 4에서는 단계 S410 내지 단계 S430을 순차적으로 실행하는 것으로 기재하고 있으나, 반드시 이에 한정되는 것은 아니다. 다시 말해, 도 4에 기재된 단계를 변경하여 실행하거나 하나 이상의 단계를 병렬적으로 실행하는 것으로 적용 가능할 것이므로, 도 4는 시계열적인 순서로 한정되는 것은 아니다.
전술한 바와 같이 도 4에 기재된 본 실시예에 따른 프레임 매칭 과정은 프로그램으로 구현되고 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다. 본 실시예에 따른 프레임 매칭 과정을 구현하기 위한 프로그램이 기록되고 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.
도 5는 본 실시예에 따른 프레임 선택 과정을 설명하기 위한 순서도이다.
영상 배속 재생 장치(100)는 상관관계 매트릭스를 기반으로 프레임 간의 상관관계 매트릭스를 이용하여 프레임 간의 연관성(Cm)을 계산한다(S510). 단계 S510에서, 영상 배속 재생 장치(100)는 프레임 간의 상관관계 매트릭스를 기준으로 첫 번째 프레임과 이후 프레임이 최대 재생 배속의 두 배가 되는 프레임까지의 상관관계 매트릭스를 비교한 변화값들로 프레임 간의 연관성(Cm)을 계산한다. 일반적으로 최대 재생 배속은 16 또는 32의 값을 가진다.
프레임 간의 연관성(관계)을 찾는 과정으로서, 영상 배속 재생 장치(100)가 16배속으로 영상 재생 시 ‘1번째 프레임’과 ‘2~32번째 프레임’을 비교하여 프레임 간의 연관성을 계산한다.
일반적인 방식으로 ‘1번째 프레임’과 ‘10번째 프레임’의 연관성을 확인하기 위해서는 ‘1번째 프레임’에서 추출한 ‘500개’의 특징점과 서술자 조합을 ‘10번째 프레임’에서 추출한 모든 특징점과 서술자 조합을 비교하는 방식으로 매칭하여 매트릭스를 계산해야 한다.
하지만, 본 실시예에서는 단계 S430을 수행하여 미리 계산한 ‘1,799개’의 상관관계 매트릭스를 이용하여 빠르게 사용자가 입력한 배속에 해당하는 비용 매트릭스를 계산할 수 있다.
단계 S510에서 영상 배속 재생 장치(100)는 연산 속도를 빠르게 하기 위해 인접 프레임 간의 상관관계 매트릭스에 연쇄 법칙을 적용할 수 있다. 예컨대, 영상 배속 재생 장치(100)는 ‘1번째 프레임’과 ‘10번째 프레임’이 얼마나 차이가 나는지 확인하고자 하는 경우, ‘1~2번째 프레임의 상관관계 매트릭스’, ‘2~3번째 프레임의 상관관계 매트릭스’, ‘3~4번째 프레임의 상관관계 매트릭스’ ... ‘9~10번째 프레임의 상관관계 매트릭스’를 모두 곱하는 연쇄 법칙을 적용하여 ‘1번째 프레임’과 ‘10번째 프레임’의 차이를 빠르게 계산할 수 있다. 인접 프레임 간의 상관관계 매트릭스는 한 번만 계산해 놓으면 다시 계산할 필요가 없기 때문에, 사용자가 설정하는 배속에 따라서 비용 매트릭스만을 다시 계산하여 사용자가 배속을 조절할 때마다 빠르게 연산 처리를 수행할 수 있다.
일반적인 프레임 비교 방식으로 계산하는 경우 ‘1~2번째 프레임’을 비교하는 방식으로 매칭하여 상관관계 매트릭스 계산하고, ‘1~3번째 프레임’을 비교하는 방식으로 매칭하여 상관관계 매트릭스 계산하는 방식으로 계산할 수 있다. 전술한 방식으로 상관관계 매트릭스를 계산하는 경우 연산량이 많아지게 되므로, 본 실시예와 같은 ‘1,799개’의 상관관계 매트릭스를 계산하는 것이 아니라 ‘57,568개’의 상관관계 매트릭스를 계산해야 한다. 영상 배속 재생 장치(100)는 첫 번째 프레임의 상관관계 매트릭스와 이후 프레임의 상관관계 매트릭스를 곱하여 프레임 각각의 비용 매트릭스를 계산할 수 있다.
단계 S510에서 영상 배속 재생 장치(100)에서 프레임 간의 연관성(Cm)을 계산하는 방법은 [수학식 1]과 같다.
Figure pat00006
Cr: i번째 프레임과 j번째 프레임 사이의 영상 이동량, T: i번째 프레임과 j번째 프레임 사이의 상관관계 함수, i: i번째 프레임 인덱스(Index), j: j번째 프레임 인덱스, C0: i번째 프레임과 j번째 프레임 사이의 영상 겹침 정도에 대한 양, x0: 영상의 중심 x 좌표값, y0: 영상의 중심 y 좌표값, Cm: 프레임 간의 연관성으로서, 영상 이동량과 겹침 정도에 대한 양으로 전체 이동 수준을 결정하는 값, Γ: 최대 임계치. 예컨대, Cr(i,j) 값이 τc 보다 큰 경우 최대값으로 Γ의 값을 사용한다. τc: 임계치(Threshold)
일반적으로 프레임 간의 연관성이 높은 프레임을 계산 방식은 2D 기하학적인 재투영 에러(Geometric Re-projection Error)의 평균값을 사용하기 위해 모든 특징점들에 대한 연산을 수행해야 하며, 빠른 연산을 위한 연쇄법칙을 적용하지 못한다. 본 실시예에 따른 영상 배속 재생 장치(100)는 모션 매트릭스(Motion Matrix)의 기하학적인 dx, dy 매그니튜드(Magnitude)를 특징값으로 사용하기 때문에, ‘연쇄법칙’에 의해 빠른 연산이 가능하다.
영상 배속 재생 장치(100)는 프레임 별로 사용자가 기 설정한 배속을 만족시키기 위한 배속 만족값(Cs)을 계산한다(S520). 단계 S520에서, 영상 배속 재생 장치(100)는 i번째 프레임 인덱스(i), j번째 프레임 인덱스(j), 사용자가 기 설정한 배속 재생 값(v), 임계치(τs)에 근거하여 사용자가 기 설정한 배속을 만족시키기 위한 배속 만족값(Cs)을 계산한다. 보다 구체적으로 영상 배속 재생 장치(100)는 [수학식 2]를 이용하여 사용자가 기 설정한 배속을 만족시키기 위한 배속 만족값(Cs)을 계산한다.
단계 S520에서 영상 배속 재생 장치(100)는 16배속으로 영상을 재생하는 경우, 16배속을 만족시키기 위한 배속 만족값(Cs)을 계산한다. 예컨대, 프레임 간 스킵 정도에 있어서 유사도 만을 고려 해버리면 사용자가 원하는 배속을 만족 시키기 어렵기 때문에, [수학식 2]를 이용하여 종합 비용을 계산한다. 영상 배속 재생 장치(100)가 계산하는 비용 매트릭스의 종합 비용 함수는 [수학식 2]와 같다.
Figure pat00007
i: i번째 프레임 인덱스, j: j번째 프레임 인덱스, v: 사용자가 설정 배속 재생 값. 예컨대, 2, 4, 8, 16 등의 값이 입력된다. Cm: 영상 이동량과 겹침 정도에 대한 양으로 i번째 영상과 j번째 영상 간의 전체 이동 수준을 결정하는 값, λs: 배속을 지키는 값에 대한 가중치로서, 0.0 ~ 1.0 사이의 값을 주로 사용한다. Cs: 사용자가 기 설정한 배속을 만족시키기 위한 배속 보정값. 예컨대, 사용자의 희망 배속이 8인 경우, Cs값은 i와 j의 차이가 8일 때 가장 작은 값이 된다. Cs값이 필요한 이유는 영상 간의 일치도가 가장 인접한 프레임일수록 가장 높을 확률을 갖는데, 가장 인접한 프레임만 선택을 하게 되면 사용자가 원하는 배속을 만족할 수 없기 때문이다. C(i,j,v): 최종적으로 비용 매트릭스에서 사용하는 값. C(i,j,v)값은 영상의 일치도와 프레임 점프(스킵) 수준을 포함하는 값이다. C(i,j,v)값은 추후 최적화 경로 계산을 할 때, C(i,j,v)값을 최소가 되도록 하는 i,j값을 찾아내는 방식으로 이용된다. τs: 임계치(Threshold)로서, 프레임 재생 배속의 가중치 값이 너무 커지면 프레임을 결정하는데 영향을 미치기 때문에 기 설정한 상한값이다. τs는 일반적으로 200의 값을 사용할 수 있으나, 구체적인 수치는 설정에 따라 변경될 수 있다.
영상 배속 재생 장치(100)는 단계 S510에서 계산한 프레임 간의 연관성(Cm)과 단계 S520에서 계산한 배속 만족값(Cs)을 조합하여 비용 매트릭스를 계산한다. 영상 배속 재생 장치(100)는 비용 매트릭스 중 최소값을 갖는 프레임을 경로 프레임으로 선택하는 과정을 마지막 프레임까지 반복하여 경로 프레임만으로 이루어진 최적 경로를 계산한다(S530). 단계 S530에서 영상 배속 재생 장치(100)는 단계 S510에서 계산한 프레임 간의 연관성(Cm), 단계 S520에서 계산한 배속 만족값(Cs)을 조합하여 비용 매트릭스를 계산한다. 보다 구체적으로 영상 배속 재생 장치(100)는 [수학식 2]를 이용하여 비용 매트릭스(C(i,j,v))를 계산한다.
영상 배속 재생 장치(100)는 단계 S530에서 계산된 비용 매트릭스 중 최소값을 갖는 프레임을 경로 프레임으로 선택한다. 영상 배속 재생 장치(100)는 경로 프레임만으로 최적 경로를 계산한다. 예컨대, 영상 배속 재생 장치(100)는 배속 재생이 16배속으로 설정된 경우, 영상 배속 재생 장치(100)는 1번째 프레임과 2~32번째 프레임(배속의 2배)까지를 비교하는 프레임 간 연관성(Cm)을 계산한다.
먼저, 영상 배속 재생 장치(100)는 ‘1번째 프레임’과 ‘2번째 프레임’의 변화량을 확인하고, ‘1번째 프레임’과 ‘3번째 프레임’의 변화량을 확인하고, ‘1번째 프레임’과 ‘4번째 프레임’의 변화량을 확인하고, ... ‘1번째 프레임’과 ‘32번째 프레임’의 변화량을 확인한다.
영상 배속 재생 장치(100)는 프레임 별로 사용자가 기 설정한 배속을 만족시키기 위한 배속 만족값(Cs)을 계산한다. 이후, 영상 배속 재생 장치(100)는 1번째 프레임과 2~32번째 프레임(배속의 2배)까지를 비교하는 프레임 간 연관성(Cm), 배속을 지키는 값에 대한 가중치(λs), 사용자가 기 설정한 배속을 만족시키기 위한 배속 만족값(Cs)에 근거하여 비용 매트릭스를 계산한다.
영상 배속 재생 장치(100)는 1번째 프레임과 2~32번째 프레임까지를 비교한 비용 매트릭스에서 최소값을 갖는 프레임이 ‘1번째 프레임’과 연관성이 가장 높은 경로 프레임으로 선택한다.
영상 배속 재생 장치(100)는 단계 530에서 계산한 최적 경로를 프로그래밍(Greedy Programming)한다. 프로그래밍 예시는 다음과 같다.
Figure pat00008
영상 배속 재생 장치(100)는 [수학식 2]를 이용하여 계산한 비용 매트릭스를 를 기반으로 최적화 경로 계산을 진행한다.
영상 배속 재생 장치(100)는 DTW(Dynamic Time Warping) 방식과는 다르게 탐욕적(Greedy) 방식으로 최적화 경로를 찾아낸다. 탐욕적인 알고리즘의 특성상 완벽한 최적화 값을 계산할 수는 없지만 최적화에 가까운 값을 높은 확률로 효과적으로 찾아낼 수 있다.
도 5에서는 단계 S510 내지 단계 S530을 순차적으로 실행하는 것으로 기재하고 있으나, 반드시 이에 한정되는 것은 아니다. 다시 말해, 도 5에 기재된 단계를 변경하여 실행하거나 하나 이상의 단계를 병렬적으로 실행하는 것으로 적용 가능할 것이므로, 도 5는 시계열적인 순서로 한정되는 것은 아니다.
전술한 바와 같이 도 5에 기재된 본 실시예에 따른 프레임 선택 과정은 프로그램으로 구현되고 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다. 본 실시예에 따른 프레임 선택 과정을 구현하기 위한 프로그램이 기록되고 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.
도 6은 본 실시예에 따른 경로 안정화 과정을 설명하기 위한 순서도이다.
영상 배속 재생 장치(100)는 프레임 선택부(130)로부터 모든 프레임 중 일부 선택된 경로 프레임(가변적인 간격으로 선택된 경로 프레임)들을 입력받는다(S610).
영상 배속 재생 장치(100)는 입력된 프레임들마다 프레임별 경로를 생성한다(S620). 단계 S620에서 영상 배속 재생 장치(100)는 프레임에 대한 상관관계 매트릭스의 모션 모델을 기반으로 상기 프레임을 분해하여 프레임별 경로를 생성한다. 상관관계 매트릭스는 x축 이동량(tx) 파라미터, y축 이동량(ty) 파라미터, 회전 각도(θ) 파라미터, 크기 파라미터, 종횡비 파라미터, 전단 파라미터 및 사영 파라미터 중 적어도 두 개 이상의 파라미터를 포함하는데, 영상 배속 재생 장치(100)는 상관관계 매트릭스에 포함된 파라미터의 개수에 대응하는 개수로 경로 프레임을 분해하여 프레임별 경로를 생성한다.
영상 배속 재생 장치(100)는 입력된 원본 영상의 모든 프레임 중 각각의 인접 프레임 간의 특징점을 추출하고, 특징점 별로 서술자를 확인한다. 영상 배속 재생 장치(100)는 인접 프레임 간에 서술자들을 서로 비교하는 방식으로 매칭(각 특징점들의 대응점을 찾아 매칭)하는 RANSAC 알고리즘을 이용하여 원본 영상 내의 모든 프레임 간의 상관관계 매트릭스를 산출한다.
‘t-1번째 프레임’과 ‘t번째 프레임’ 사이의 상관관계 매트릭스를 H(t-1)이라고 정의하면, 영상 배속 재생 장치(100)는 ‘t번째 프레임’에서의 카메라의 카메라 경로 C(t)를 [수학식 3]을 이용하여 계산한다.
Figure pat00009
C(t): ‘t번째 프레임’의 카메라 경로
C(t-1): ‘t-1번째 프레임’의 카메라 경로
H(t-1): ‘t-1번째 프레임’과 ‘t번째 프레임’ 사이의 상관관계 매트릭스
Total Path: 실제로 경로는 연속적인 값이 아닌 프레임 별로 하나의 값을 갖는 디지털 값의 집합이다. 다시 말해, ‘t번째 프레임’의 카메라 경로(C(t)(는 3×3 매트릭스로 표현되고 전체 프레임인 ‘1번째 프레임’부터 ‘t번째 프레임’까지의 전체 경로는 각각의 카메라 경로인 C(0), C(1), …, C(t)의 집합이라고 할 수 있다. 예컨대, 전체 영상의 x 방향 움직임을 모든 프레임에 대해서 그래프로 표현한다면 C(0)의 (1,3) 원소, C(1)의 (1,3) 원소, …, C(t)의 (1,3) 원소가 그래프로 표현된다. 단, ‘t번째 프레임’의 카메라 경로(C(t))안에 경로 개수는 상관관계 매트릭스를 계산할 때 이용하는 ‘모션 모델’에 따라 달라진다.
예컨대, 상관관계 매트릭스를 계산할 때 2 DOF를 포함하는 변환 모션 모델을 이용하는 경우 2개의 경로가 생성된다. 상관관계 매트릭스를 계산할 때 4 DOF를 포함하는 유사성 모션 모델을 이용하는 경우 4개의 경로가 생성되고, 6 DOF를 포함하는 어파인 모션 모델을 이용하는 경우 6개의 경로가 생성되고, 8 DOF를 포함하는 사영 모션 모델을 이용하는 경우 8개의 경로가 생성된다.
영상 배속 재생 장치(100)는 프레임별 경로마다 최적화를 수행한 최적화 경로들을 생성한다(S630). 단계 S630에서, 영상 배속 재생 장치(100)는 프레임별 경로마다 라인 피팅을 적용하거나 평활화 필터를 적용하여 최적화를 수행한 결과인 부드러운 경로(P(t))를 계산한다.
영상 배속 재생 장치(100)는 최적화 경로들을 매트릭스로 복원한 후 안정화된 경로를 생성한다(S640). 단계 S640에서 영상 배속 재생 장치(100)는 프레임별 경로마다 최적화된 부드러운 경로를 매트릭스로 복원한 와핑 매트릭스를 계산한다.
영상 배속 재생 장치(100)가 [수학식 3]을 이용하여 계산된 카메라 경로(C(t))에 최적화 방법을 적용하는 경우, 도 7a에 도시된 바와 같이 부드러운 경로(P(t))가 계산된다.
영상 배속 재생 장치(100)는 최종적으로 각 프레임(프레임 선택부(130)로부터 수신된 경로 프레임)에 [수학식4]로 계산된 와핑 매트릭스(B(t))를 적용하여 안정화된 결과 영상을 얻는다.
Figure pat00010
C(t), P(t), B(t) 모두 3×3 매트릭스이다.
B(t): ‘t번째 프레임’에서 렌더링시 원본 영상에 적용할 와핑 매트릭스(Warping Matrix), P(t): ‘t번째 프레임’의 부드러운 경로(Smooth path), C(t): ‘t번째 프레임’의 카메라 경로, C-1(t): ‘t번째 프레임’의 카메라 경로의 역행렬
와핑 매트릭스(B(t))는 다음과 같이 표현될 수 있다.
Figure pat00011
B(0): ‘0번째 프레임’의 와핑 매트릭스, B(1): ‘1번째 프레임’의 와핑 매트릭스, B(t-1): ‘t-1번째 프레임’의 와핑 매트릭스, B(t): ‘t번째 프레임’의 와핑 매트릭스, P(0): ‘0번째 프레임’의 부드러운 경로, P(1): ‘1번째 프레임’의 부드러운 경로, P(t-1): ‘t-1번째 프레임’의 부드러운 경로, P(t): ‘t번째 프레임’의 부드러운 경로, C-1(0): ‘0번째 프레임’의 카메라 경로의 역행렬, C-1(1): ‘1번째 프레임’의 카메라 경로의 역행렬, C-1(t-1): ‘t-1번째 프레임’의 카메라 경로의 역행렬, C-1(t): ‘t번째 프레임’의 카메라 경로의 역행렬
일반적인 환경에서 [수학식 4]를 이용한 부드러운 경로(P(t))의 계산이 가능하지만, 본 실시예에서와 같이 영상을 안정화하면서 배속 재생을 위해 모션을 구해야 하는 프레임 간의 간격이 클 경우에는 모션 추정값(Motion Estimation)인 상관관계 매트릭스(H(t))안에 오류(Error)가 필연적으로 발생하게 된다.
상관관계 매트릭스(H(t)) 내에서의 오류는 [수학식 3]과 같이 지속적으로 오류가 누적해서 곱해지는 구조이기 때문에 영상의 길이가 길어질수록 카메라 경로(C(t))는 점점 이탈하게 된다. 오류로 인해 이탈해 버린 카메라 경로(C(t))를 이용하여 부드러운 경로(P(t))를 계산하기 때문에, 계산된 부드러운 경로(P(t)) 역시 많은 오류를 포함하게 된다. 오류를 포함한 부드러운 경로(P(t))로 인해 최종적으로 구해진 와핑 매트릭스(B(t))를 영상에 적용하면 도 7b에 도시된 바와 같이 영상 내에 많은 홀(Hole)이 발생하게 된다.
본 실시예에 따른 영상 배속 재생 장치(100)는 영상 내에 발생하는 홀을 해결하기 위해 프레임 별 경로 최적화(Frame-Wise Path Optimization)를 수행한다. 본 실시예에 따른 영상 배속 재생 장치(100)는 일반적인 영상 처리 방식에서 생성되는 글로벌 경로(Global Path)가 가지고 있는 오류 누적 문제를 해결하고자 각 프레임 별로 경로를 계산한다.
영상 배속 재생 장치(100)는 프레임 선택부(130)로부터 입력된 경로 프레임 별 상관관계 매트릭스를 분해(Decomposieion) 하고 최적화한 후 복원(Compose)하여 와핑(Warping matrix)를 계산하여 상관관계 매트릭스에 오류가 발생하더라도 오류가 누적되지 않도록 한다.
다시 말해, 일반적인 영상 처리 방식에서는 단, 1개의 최적 경로(글로벌 경로)를 이용하여 1개의 부드러운 경로를 구했다면, 본 실시예에 따른 영상 배속 재생 장치(100)가 N개의 프레임에 대한 N개의 경로를 생성하고 각 경로당 한 개의 대표값을 이용하여 부드러운 경로(P(t))를 계산한다. N개의 프레임 각각 경로를 생성하므로 M개의 모션 모델(Motion Model)을 이용할 경우, 본 실시예에는 총 M×N = MN개의 경로를 생성하게 된다. 일반적인 영상 처리 방식은 M 개의 경로만 생성한다.
사용자 지정 윈도우(Window) 사이즈(앞뒤로 얼마나 볼 것인지 설정, r값이 클수록 안정화가 더 많이 되지만 홀이 발생할 가능성이 커짐, 실제 구현상으로는 15를 사용할 수 있다)를 ‘r’이라고 하면 각각의 프레임 t에서의 카메라 경로 Patht,r은 [수학식 6]과 같이 정의할 수 있다.
Figure pat00012
Patht,r : 각각의 프레임에서의 카메라 경로, C(t): ‘t번째 프레임’의 카메라 경로, C(t-1): ‘t-1번째 프레임’의 카메라 경로, C(t-2): ‘t-2번째 프레임’의 카메라 경로, C(t-r): ‘t-r번째 프레임’의 카메라 경로, r: 사용자 지정 윈도우의 사이즈, H-1(t): ‘t번째 프레임’과 ‘t+1번째 프레임’ 간의 상관관계 매트리스의 역행렬, H-1(t+1): ‘t+1번째 프레임’과 ‘t+2번째 프레임’ 간의 상관관계 매트리스의 역행렬, H-1(t+r-1): ‘t+r-1번째 프레임’과 ‘t+r번째 프레임’ 간의 상관관계 매트리스의 역행렬, H(t+r-1): ‘t+r-1번째 프레임’과 ‘t+r번째 프레임’ 간의 상관관계 매트리스, H(t+1): ‘t+1번째 프레임’과 ‘t+2번째 프레임’ 간의 상관관계 매트리스, I3 × 3: 3×3 항등행렬(Identity Matrix)
Figure pat00013
영상 배속 재생 장치(100)는 프레임별 경로 최적화 방법을 사용하여 [수학식 7]과 같이 ‘t번째 프레임’의 카메라 패스(C(t))를 계산한다.
Figure pat00014
영상 배속 재생 장치(100)는 먼저, 3×3 매트릭스내 최대 8개의 경로는 모션 추정 모델에 따라 각기 다른 방식의 최적화 방법을 적용할 수 있다. 이하, 설명하는 방식은 실시예일 뿐이므로, 실제 경로의 개수 및 최적화 방식은 달라질 수 있다.
영상 배속 재생 장치(100)는 상관관계 매트릭스를 추정(Estimation)할 때 3 DOF를 포함하는 기하학 모션 모델을 사용했다고 가정하는 경우, 영상 배속 재생 장치(100)는 x축 이동량(tx) 파라미터, y축 이동량(ty) 파라미터, 회전 각도(θ) 파라미터는 [수학식 8]을 이용하여 분해할 수 있다.
Figure pat00015
회전 각도(θ) 파라미터의 변화가 심할수록 사용자가 느끼기에 영상이 안정적이지 않다고 판단하게 되므로, 영상 배속 재생 장치(100)는 회전 각도(θ) 파라미터에 대응하는 1개의 경로에 대해서는 L1-절대값 선 피팅(L1-Norm Line Fitting)을 적용하여 부드러운 경로(P(t))를 구한다.
단, 부정확하게 계산된 카메라 경로(C(t))로 인해 발생하는 오류를 최소화 하기 위해, 영상 배속 재생 장치(100)는 라인 피팅(Line Fitting)을 계산할 때 n개의 포인트(Point) (n < 2× r + 1)를 랜덤하게 선택하는 RANSAC 알고리즘 및 IRLS(Iteratively Reweighted Least Squares)방식을 사용한다.
또한, 영상 배속 재생 장치(100)는 실제 프레임의 차이는 1이라고 하더라도 라인 필터링에 들어가는 x 위치(Position)에는 적절한 인터벌(Interval)(예컨대, 5)을 곱해주어 세밀한 x 간격으로 인한 영향을 제거해 준다.
또한, x축 이동량(tx) 파라미터, y축 이동량(ty) 파라미터는 로테이션(Rotation)에 비해 그 변화량이 크기 때문에, 영상 배속 재생 장치(100)는 평활화 필터인 사비츠키-골레이 필터(Savitzky-Golay Filter)를 이용하여 최적화를 진행한다.
영상 배속 재생 장치(100)는 최적화를 통해 부드러운 경로(P(t))를 구했다면 최종적으로 결과 영상에 적용할 와핑 매트릭스(B(t))는 [수학식9]를 이용하여 계산할 수 있다.
Figure pat00016
C(t): ‘t번째 프레임’의 카메라 경로, C-1(t): ‘t번째 프레임’의 카메라 경로의 역행렬, I3×3 - 1: 3×3 항등행렬의 역행렬 =
Figure pat00017
, I 3: 3×3 항등행렬 =
Figure pat00018
, P(t): ‘t번째 프레임’의 부드러운 경로, B(t): ‘t번째 프레임’에서 렌더링시 원본 영상에 적용할 와핑 매트릭스
영상 배속 재생 장치(100)는 마지막으로 일반적인 영상 처리 방법에서 많이 사용되는 코너(Corner)점 추출 및 광 흐름 매칭(Optical Flow Matching) 방식은 배속 재생시 모션(Motion)이 큰 환경에서는 적합하지 않기 때문에, 본 실시예에서는 ORB(Oriented FAST and Rotated BRIEF) 알고리즘을 이용하여 빠르게 프레임 각각의 특징점을 추출하고, 특징점 별 서술자를 확인하여 인접 프레임을 서로 비교하는 방식으로 매칭한다.
도 6에서는 단계 S610 내지 단계 S640을 순차적으로 실행하는 것으로 기재하고 있으나, 반드시 이에 한정되는 것은 아니다. 다시 말해, 도 6에 기재된 단계를 변경하여 실행하거나 하나 이상의 단계를 병렬적으로 실행하는 것으로 적용 가능할 것이므로, 도 6은 시계열적인 순서로 한정되는 것은 아니다.
전술한 바와 같이 도 6에 기재된 본 실시예에 따른 경로 안정화 과정은 프로그램으로 구현되고 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다. 본 실시예에 따른 경로 안정화 과정을 구현하기 위한 프로그램이 기록되고 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.
도 8은 본 실시예에 따른 렌더링 과정을 설명하기 위한 순서도이다.
영상 배속 재생 장치(100)는 경로 안정화부(140)로부터 수신된 안정화 경로를 수신하여 디코딩을 수행한다(S810).
영상 배속 재생 장치(100)는 디코딩된 안정화 카메라 경로를 기반으로 배속 재생을 위한 영상을 렌더링한다(S820). 단계 S820에서, 영상 배속 재생 장치(100)는 경로 프레임의 모든 픽셀값에 와핑 매트릭스(B(t))를 곱해서 출력되는 좌표로 프레임의 픽셀값을 이동하도록 영상을 렌더링한다.
단계 S820에서, 영상 배속 재생 장치(100)는 [수학식 9]를 이용하여 와핑 매트릭스(B(t))와 동일한 값을 갖는 부드러운 경로(P(t))를 해당 프레임에 곱해주면 안정화 영상이 출력된다.
영상 배속 재생 장치(100)는 경로 프레임에 해당하는 모든 픽셀값에 부드러운 경로(P(t))의 3×3 매트릭스를 곱해서 출력된 출력되는 좌표로 프레임의 픽셀값을 이동하면 안정화 경로에 해당하는 영상이 출력된다.
단계 S820을 수학식으로 표현하면 [수학식 10]과 같다. [수학식 9]를 이용하여 프레임별 경로를 생성할 경우 부드러운 경로(P(t))와 와핑 매트릭스(B(t))가 동일한 3×3 매트릭스를 나타냄을 확인하였으므로, 최종적으로 안정된 결과 영상을 얻기 위해 와핑 매트릭스(B(t))를 곱하는 것과 부드러운 경로(P(t))를 곱하는 것이 동일한 결과를 얻게 된다.
Figure pat00019
영상 배속 재생 장치(100)는 안정화 경로가 적용된 프레임을 인코딩한다(S830).
도 8에서는 단계 S810 내지 단계 S830을 순차적으로 실행하는 것으로 기재하고 있으나, 반드시 이에 한정되는 것은 아니다. 다시 말해, 도 8에 기재된 단계를 변경하여 실행하거나 하나 이상의 단계를 병렬적으로 실행하는 것으로 적용 가능할 것이므로, 도 8은 시계열적인 순서로 한정되는 것은 아니다.
전술한 바와 같이 도 8에 기재된 본 실시예에 따른 렌더링 과정은 프로그램으로 구현되고 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다. 본 실시예에 따른 렌더링 과정을 구현하기 위한 프로그램이 기록되고 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.
도 9는 본 실시예에 따른 비용 매트릭스를 설명하기 위한 예시도이다.
영상 배속 재생 장치(100)는 입력된 원본 영상에서 모든 프레임의 모션 정보를 계산한다. 일반적인 모션 정보 계산 방법은 HARRIS + BRIEF 방식에 RANSAC 알고리즘을 이용하여 모션 정보를 계산하는 방식이나, 본 실시예에서는 ORB(Oriented FAST and Rotuted BRIEF) 특징점과 RANSAC 알고리즘을 활용하여 모션 정보를 계산하는 방식이다.
영상 배속 재생 장치(100)는 계산한 모션 정보를 기반으로 비용 매트릭스를 계산한다. 영상 배속 재생 장치(100)는 비용 매트릭스 계산에 있어서 기존의 동적 프로그래밍(Dynamic programming) 방식이 아닌 탐욕적인(Greedy) 방식으로 필요한 프레임에 대해서만 계산을 수행한다. 영상 배속 재생 장치(100)는 획득한 경로 정보를 기반으로 안정화된 결과 영상을 생성한다.
영상 배속 재생 장치(100)는 1초에 30 FPS(Frame Per Second)를 갖는 1분짜리 동영상의 원본 영상(1,800 개의 프레임)을 입력받는다. 영상 배속 재생 장치(100)는 원본 영상에 포함된 모든 프레임(1,800 개의 프레임) 각각에 대한 특징점을 추출한다. 영상 배속 재생 장치(100)는 예컨대, 1번째 프레임에서 ‘500개’의 특징점을 추출할 수 있고, 2번째 프레임에서 ‘495개’의 특징점을 추출할 수 있고, 3번째 프레임에서 ‘497개’의 특징점을 추출할 수 있고, .... 1,800 번째 프레임에서 ‘490개’의 특징점을 추출할 수 있다.
영상 배속 재생 장치(100)는 모든 프레임 각각에 대한 특징점 별로 서술자를 확인한다. 영상 배속 재생 장치(100)는 1번째 프레임에서 추출한‘500개’의 특징점에 대한 ‘500개’의 서술자를 확인하고, 2번째 프레임에서 추출한 ‘495개’의 특징점에 대한 ‘495개’의 서술자를 확인하고, 3번째 프레임에서 추출한 ‘497개’의 특징점에 대한 ‘497개’의 서술자를 확인하고, ... 1,800 번째 프레임에서 추출한 ‘490개’의 특징점에 대한 ‘490개’의 서술자를 확인한다.
영상 배속 재생 장치(100)는 모든 프레임 중 인접 프레임 간에 서술자들을 서로 비교하는 방식으로 매칭하여 인접 프레임(‘1~2번째 프레임’, ‘2~3번째 프레임’, ‘3~4번째 프레임’… ‘1,799~1,800번째 프레임’) 간의 상관관계 매트릭스를 계산한다. 영상 배속 재생 장치(100)는 ‘1,800 개의 프레임’중 인접 프레임 간에 서술자들을 서로 비교하는 방식으로 매칭하여 ‘1,799 개’의 상관관계 매트릭스를 계산하여 저장한다. 상관관계 매트릭스는 한 번만 계산해서 저장해 놓으면 다시 계산할 필요가 없다. 이후 사용자가 설정한 배속에 따라서 배속에 따라 비용 매트릭스를 바로바로 계산하여 영상을 렌더링할 수 있다. 일반적인 방식에서는 모든 프레임에 대한 비용 매트릭스 전체를 계산해야 하지만, 본 발명에서는 전체 비용 매트릭스를 계산할 필요가 없는 것이다.
이하, 비용 매트릭스 계산 방식에 대해 설명한다.
도 9에 도시된 바와 같이, 영상 배속 재생 장치(100)는 ‘1번째 프레임’의 상관관계 매트릭스를 기준으로 이후 프레임이 재생 배속의 두 배가 되는 프레임(‘2~32번째 프레임’)까지의 상관관계 매트릭스를 비교한 변화값들로 프레임 간의 연관성(비용 매트릭스)을 계산한다.
도 9에 도시된 바와 같이, 영상 배속 재생 장치(100)는 연산량을 빠르게 처리하기 위해 인접 프레임 간의 상관관계 매트릭스에 연쇄 법칙을 적용할 수 있다. 예컨대, 영상 배속 재생 장치(100)는 ‘1번째 프레임’과 ‘15번째 프레임’이 얼마나 차이가 나는지 확인하고자 하는 경우, ‘1~2번째 프레임의 상관관계 매트릭스’, ‘2~3번째 프레임의 상관관계 매트릭스’, ‘3~4번째 프레임의 상관관계 매트릭스’ ... ‘14~15번째 프레임의 상관관계 매트릭스’를 모두 곱하는 연쇄 법칙을 적용하여 ‘1번째 프레임’과 ‘15번째 프레임’의 차이를 빠르게 계산할 수 있다.
영상 배속 재생 장치(100)는 ‘1번째 프레임’의 상관관계 매트릭스를 기준으로 이후 프레임이 재생 배속의 두 배가 되는 프레임(‘2~32번째 프레임’)까지의 상관관계 매트릭스를 비교한 변화값 중 최소값을 갖는 프레임(‘15번째 프레임’)을 ‘1번째 프레임’과 연관성이 가장 높은 프레임으로 인식하여 경로 프레임으로 선택한다.
이후 도 9에 도시된 바와 같이, 영상 배속 재생 장치(100)는 경로 프레임(‘15번째 프레임’)의 상관관계 매트릭스를 기준으로 이후 프레임이 재생 배속의 두 배가 되는 프레임(‘16~47번째 프레임’)까지의 상관관계 매트릭스를 비교한 변화값들을 비용 매트릭스로 계산한다.
도 9에 도시된 바와 같이, 영상 배속 재생 장치(100)는 연산 속도를 빠르게 하기 위해 인접 프레임 간의 상관관계 매트릭스에 연쇄 법칙을 적용할 수 있다. 예컨대, 영상 배속 재생 장치(100)는 ‘15번째 프레임’과 ‘23번째 프레임’이 얼마나 차이가 나는지 확인하고자 하는 경우, ‘15~16번째 프레임의 상관관계 매트릭스’, ‘16~17번째 프레임의 상관관계 매트릭스’, ‘17~18번째 프레임의 상관관계 매트릭스’ ... ‘23~24번째 프레임의 상관관계 매트릭스’를 모두 곱하는 연쇄 법칙을 적용하여 ‘15번째 프레임’과 ‘23번째 프레임’의 차이를 빠르게 계산할 수 있다.
영상 배속 재생 장치(100)는 경로 프레임(‘15번째 프레임’)의 상관관계 매트릭스를 기준으로 이후 프레임이 재생 배속의 두 배가 되는 프레임(‘16~47번째 프레임’)까지의 상관관계 매트릭스를 비교한 변화값 중 최소값을 갖는 프레임(‘23번째 프레임’)이 비용 매트릭스에서 첫 번째 선택된 경로 프레임(‘15번째 프레임’)과 연관성이 가장 높은 프레임으로 인식하여 두 번째 경로 프레임으로 선택한다.
본 실시예에 따른 영상 배속 재생 장치(100)는 모든 프레임에 대해서 비용 매트릭스를 계산하는 것이 아니라, 선택된 프레임부터 배속의 두 배만큼의 상관관계 매트릭스를 비교하여 비용 매트릭스를 계산하는 방식이다. 일반적인 방식은 16배속으로 가정하는 경우, ‘1번째 프레임’과 ‘2~32번째 프레임’을 비교한 후 다시 ‘2번째 프레임’과 ‘3~32번째 프레임’을 비교하는 과정을 마지막 프레임까지 비교해야 한다. 즉, 모든 비교를 수행해야 한다. 하지만, 본 실시예에 따른 영상 배속 재생 장치(100)는 ‘1번째 프레임’과 ‘2~32번째 프레임’(배속 두 배)을 비교하여 비용 매트릭스를 계산한다. 이후 영상 배속 재생 장치(100)는 ‘1번째 프레임’과 연관성이 높은 프레임을 경로 프레임으로 선택하며, 이후 선택된 경로 프레임과 나머지 프레임의 비용 매트릭스를 계산하는 점에서 연산량을 크게 줄일 수 있는 차이점이 존재한다. 예컨대, 프레임 간의 변화량을 한번 비교하는데 1 MS(Milli-Second)가 소요되는 것으로 가정하더라도 32번을 수행하면, 32 MS가 소요되므로, 비용 매트릭스를 계산하는데 많은 리소스가 소모되어 속도 저하가 발생하게 된다.
도 10a 내지 도 10b는 정배속 재생시 프레임 선택과 본 실시예에 따른 프레임 선택을 비교 설명하기 위한 도면이다.
도 10a는 영상의 배속 재생시 선택된 프레임을 비교 설명하기 위한 도면이다. 도 10a에 도시된 점선은 실제 사람이 런닝(Running)할 때 카메라가 얼마만큼 ‘y축’ 방향으로 움직였는지를 관찰한 값을 토대로 재구성한 그래프이다. 실제 사람이 런닝중이므로, ‘y축’은 ‘50 프레임’ 내에서도 ‘-100 내지 100’의 픽셀 범위로 움직임이 나타나고 있다. 즉, 점선 그래프로 볼 때 영상이 많이 흔들리는 것을 알 수 있다.
도 10a에 도시된 원형점(○)은 정배속으로 프레임을 선택한 경우를 나타낸 그래프이다. 예컨대, ‘8 배속’의 타임 랩스의 경우, ‘16 프레임’, ‘24 프레임’, ‘32 프레임’ 등을 선택하는 경우, 도 10a에 도시된 원형점(○)과 같이 선택된 프레임으로 안정화를 하더라도, 안정화 결과가 좋지 못하다.
도 10a에 도시된 별모양점(*)은 본 실시예에 따른 방식으로 프레임을 선택한 경우를 나타낸 그래프이다. 도 10a에 도시된 별모양점(*)과 같이, 배속 재생을 위해 프레임을 선택할 때 ‘8 배속’이라고 하더라도, 한번은 ‘15 프레임’으로 선택했다가 한번은 ‘30 프레임’으로 선택하여 프레임 간의 연관성이 높은 프레임이 선택되도록 한다. 즉,‘8 배속’보다 좀 지난 후의 위치한 프레임을 선택하거나, 지나지 전의 프레임을 선택하여 프레임 간의 연관성이 높은 프레임을 선택할 수 있다. 다시 말해, 본 실시예에 따른 영상 배속 재생 장치(100)는 프레임을 스킵(Skip)할 때, 정배속 간격으로 선택하는 것이 아니라, 가변적으로 프레임을 선택하게 된다.
도 10b에 도시된 실선 그래프 상의 원형점(○)이 정배속으로 프레임을 선택한 결과이고, 실선 그래프 상의 별모양점(*)이 가변적인 간격으로 프레임을 선택한 결과이다.
도 10b에 도시된 원형점이 표시된 그래프와 별모양점이 표시된 그래프를 비교하는 경우, 가변적인 간격으로 프레임을 선택하는 경우에 안정성이 높은 것을 알 수 있다. 3차원 카메라 패스를 추정하는 경우 정확도를 높일 수 있지만 연산량이 너무 많아서 속도가 너무 느리게 된다. 본 실시예에서는 2차원 방식으로 배속 재생을 구현하지만, 연산량을 줄여서 빠른 계산이 가능하다.
본 실시예에서는 영상 배속 재생 장치(100)가 프레임 간에 연관성이 높은 프레임을 선택하기 위해 도 10b와 같이 비용 매트릭스를 계산한다. 예컨대, 16 배속의 경우, 영상 배속 재생 장치(100)가 1번째 프레임과 2~32번째 프레임까지를 비교(배속의 2배)한다. 영상 배속 재생 장치(100)는 미리 계산된 인접 프레임 간의 상호관계 매트릭스를 기반으로 배속의 2배까지의 프레임과의 변화량을 비용 매트릭스로 계산한다. 이후, 영상 배속 재생 장치(100)는 비용 매트릭스를 이용하여 ‘1번째 프레임’과 ‘2번째 프레임’의 변화량을 확인하고, ‘1번째 프레임’과 ‘3번째 프레임’의 변화량을 확인하고, ‘1번째 프레임’과 ‘4번째 프레임’의 변화량을 확인하고, ... ‘1번째 프레임’과 ‘32번째 프레임’의 변화량을 확인한다. 이때, 각 프레임의 변화량은 인접 프레임 간의 상관관계 매트릭스로 이미 다 계산해 놓는다. 즉, 영상 배속 재생 장치(100) 1번째 프레임과 2~32번째 프레임까지를 확인한 결과 변화량이 가장 적은 프레임을 연관성이 가장 높은 프레임으로 선택하게 되는 것이다.
도 10b에 도시된 바와 같이, 정배속으로 프레임을 선택한 경우의 원형점 그래프와 가변적인 간격으로 프레임을 선택한 별모양점 그래프를 비교하는 경우, 해칭선의 그래프가 배속 재생을 위해 프레임을 선택할 때 ‘16 배속’이라고 하더라도, ‘16 배속’보다 좀 전에 위치한 프레임을 선택하거나, 좀더 지난 후의 프레임을 선택한 것을 알 수 있다.
도 10a의 이점쇄선과 같이 최적 프레임 선택만을 통해서도 y축 이동량의 변화가 적은 안정적인 결과가 생성됨을 확인할 수 있다. 즉, 배속 재생을 위해 프레임을 선택할 때 가변적인 간격으로 프레임을 선택하여 연관성이 높은 프레임을 선택할 수 있으며, 결과적으로 배속 재생시 안정적인 결과물을 출력할 수 있다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
이상에서 설명한 바와 같이 본 실시예는 컴퓨터 그래픽스 분야 중 영상 분석(Scene Analysis) 분야에 적용되어, 각 프레임별 경로를 계산하여 최적화한 후 복원하여 배속 재생되는 영상이 안정화되도록 하는 효과를 발생하는 유용한 발명이다.
100: 배속 재생 장치
110: 입력부 120: 프레임 매칭부
130: 프레임 선택부 140: 경로 안정화부
150: 렌더링부
142: 프레임 입력부 144: 경로 분해부
146: 경로 최적화부 148: 경로 복원부

Claims (8)

  1. 영상 배속 재생 장치가 영상을 안정화하는 방법에 있어서,
    입력된 영상의 프레임(Frame) 중 일부 선택된 프레임들을 입력받는 입력 과정;
    상기 선택된 프레임들마다 프레임별 경로를 생성하는 프레임별 경로 생성과정;
    상기 프레임별 경로마다 최적화를 수행한 최적화 경로들을 생성하는 최적화 과정;
    상기 최적화 경로들을 매트릭스(Matrix)로 복원(Compose)한 후 안정화 경로를 생성하는 안정화 과정; 및
    상기 선택된 프레임에 상기 안정화 경로를 적용하여 안정화된 결과 영상을 출력하는 렌더링 과정
    을 포함하는 것을 특징으로 하는 영상 안정화 방법.
  2. 제 1 항에 있어서,
    상기 경로 생성과정은,
    상기 선택된 프레임에 대한 상관관계 매트릭스(Homography)의 모션 모델(Motion Model)을 기반으로 상기 선택된 프레임을 분해(Decompose)하여 상기 프레임별 경로를 생성하는 것을 특징으로 하는 영상 안정화 방법.
  3. 제 2 항에 있어서,
    상기 상관관계 매트릭스는 x축 이동량(tx) 파라미터, y축 이동량(ty) 파라미터, 회전 각도(Angle)(θ) 파라미터, 크기(Scale) 파라미터, 종횡비(Aspect Ratio) 파라미터, 전단(Shear) 파라미터 및 사영(Perspective) 파라미터 중 적어도 두 개 이상의 파라미터를 포함하며,
    상기 경로 생성과정은 상기 상관관계 매트릭스에 포함된 파라미터의 개수에 대응하는 개수로 상기 선택된 프레임을 분해하여 상기 프레임별 경로를 생성하는 것을 특징으로 하는 영상 안정화 방법.
  4. 제 1 항에 있어서,
    상기 최적화 과정은,
    상기 프레임별 경로마다 라인 피팅(Line Fitting)을 적용하거나 평활화 필터를 적용하여 최적화를 수행한 결과인 부드러운 경로(Smooth Path)(P(t))를 계산하는 것을 특징으로 하는 영상 안정화 방법.
  5. 제 4 항에 있어서,
    상기 안정화 과정은,
    상기 프레임별 경로마다 최적화된 상기 부드러운 경로(P(t))를 매트릭스로 복원한 와핑 매트릭스(Warping Matrix)(B(t))를 계산하는 것을 특징으로 하는 영상 안정화 방법.
  6. 제 5 항에 있어서,
    상기 렌더링 과정은,
    상기 선택된 프레임의 모든 픽셀값에 상기 와핑 매트릭스(B(t))를 곱해서 출력되는 좌표로 상기 선택된 프레임의 픽셀값을 이동하도록 영상을 렌더링하는 것을 특징으로 하는 영상 안정화 방법.
  7. 하드웨어와 결합되어,
    입력된 영상의 프레임 중 일부 선택된 프레임들을 입력받는 입력 과정;
    상기 선택된 프레임들마다 프레임별 경로를 생성하는 프레임별 경로 생성과정;
    상기 프레임별 경로마다 최적화를 수행한 최적화 경로들을 생성하는 최적화 과정;
    상기 최적화 경로들을 매트릭스로 복원한 후 안정화 경로를 생성하는 안정화 과정; 및
    상기 선택된 프레임에 상기 안정화 경로를 적용하여 안정화된 결과 영상을 출력하는 렌더링 과정
    을 실행시키기 위하여 기록매체에 저장된 컴퓨터프로그램.
  8. 입력된 영상의 프레임 중 일부 선택된 프레임들을 입력받는 프레임 입력부;
    상기 선택된 프레임들마다 프레임별 경로를 생성하는 프레임별 경로 분해부;
    상기 프레임별 경로마다 최적화를 수행한 최적화 경로들을 생성하는 경로 최적화부;
    상기 최적화 경로들을 매트릭스로 복원한 후 안정화 경로를 생성하는 복원부; 및
    상기 선택된 프레임에 상기 안정화 경로를 적용하여 안정화된 결과 영상을 출력하는 렌더링부
    를 포함하는 것을 특징으로 하는 영상 배속 재생 장치.
KR1020160002314A 2016-01-07 2016-01-07 영상 안정화 방법 및 장치 KR101945233B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160002314A KR101945233B1 (ko) 2016-01-07 2016-01-07 영상 안정화 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160002314A KR101945233B1 (ko) 2016-01-07 2016-01-07 영상 안정화 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20170082945A true KR20170082945A (ko) 2017-07-17
KR101945233B1 KR101945233B1 (ko) 2019-02-07

Family

ID=59443130

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160002314A KR101945233B1 (ko) 2016-01-07 2016-01-07 영상 안정화 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101945233B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113744277A (zh) * 2020-05-29 2021-12-03 广州汽车集团股份有限公司 一种基于局部路径优化的视频去抖方法及系统
CN113938576A (zh) * 2021-11-30 2022-01-14 国网四川省电力公司南充供电公司 一种基于广角视图的安全帽视频防抖方法及系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102575743B1 (ko) * 2021-10-14 2023-09-06 네이버 주식회사 이미지 번역 방법 및 시스템

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990047793A (ko) * 1997-12-05 1999-07-05 윤종용 비디오 레벨을 이용한 카메라의 경보 장치 및 방법
KR20140042283A (ko) * 2012-09-28 2014-04-07 에스케이텔레콤 주식회사 샘플링된 영상 프레임 기반 영상 안정화 장치 및 그를 이용한 영상 안정화 방법
KR101396838B1 (ko) * 2013-01-24 2014-05-19 전자부품연구원 다수의 모션 모델을 선택적으로 이용하는 영상 안정화 방법 및 시스템
KR20140127049A (ko) * 2013-04-24 2014-11-03 전자부품연구원 흔들림 영상 안정화 방법 및 이를 적용한 영상 처리 장치
KR20150007881A (ko) * 2013-07-12 2015-01-21 삼성테크윈 주식회사 영상 안정화 장치 및 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990047793A (ko) * 1997-12-05 1999-07-05 윤종용 비디오 레벨을 이용한 카메라의 경보 장치 및 방법
KR20140042283A (ko) * 2012-09-28 2014-04-07 에스케이텔레콤 주식회사 샘플링된 영상 프레임 기반 영상 안정화 장치 및 그를 이용한 영상 안정화 방법
KR101396838B1 (ko) * 2013-01-24 2014-05-19 전자부품연구원 다수의 모션 모델을 선택적으로 이용하는 영상 안정화 방법 및 시스템
KR20140127049A (ko) * 2013-04-24 2014-11-03 전자부품연구원 흔들림 영상 안정화 방법 및 이를 적용한 영상 처리 장치
KR20150007881A (ko) * 2013-07-12 2015-01-21 삼성테크윈 주식회사 영상 안정화 장치 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113744277A (zh) * 2020-05-29 2021-12-03 广州汽车集团股份有限公司 一种基于局部路径优化的视频去抖方法及系统
CN113938576A (zh) * 2021-11-30 2022-01-14 国网四川省电力公司南充供电公司 一种基于广角视图的安全帽视频防抖方法及系统

Also Published As

Publication number Publication date
KR101945233B1 (ko) 2019-02-07

Similar Documents

Publication Publication Date Title
US10841494B2 (en) Motion vector estimation for video image stabilization
US7768551B2 (en) Method to stabilize digital video motion
EP3334149B1 (en) Methods and systems for processing a video for stablization using dynamic crop
US7548256B2 (en) Image processing scheme
US9013634B2 (en) Methods and apparatus for video completion
US9854168B2 (en) One-pass video stabilization
US10210620B2 (en) Method and system for generating adaptive fast forward of egocentric videos
US8594488B1 (en) Methods and systems for video retargeting using motion saliency
US7609271B2 (en) Producing animated scenes from still images
US10734025B2 (en) Seamless output video variations for an input video
US9672866B2 (en) Automated looping video creation
US9177406B2 (en) Image mosaicing utilizing motion of scene content between successive images
US10176845B2 (en) Seamless forward-reverse video loops
US20090079836A1 (en) Image processing apparatus, method, and computer program product
US20060215036A1 (en) Method and apparatus for video stabilization
KR101945233B1 (ko) 영상 안정화 방법 및 장치
US7221390B1 (en) Computer-assisted motion compensation of a digitized image
CN102209199B (zh) 图像拍摄装置
KR101945243B1 (ko) 영상을 배속 재생하는 방법 및 장치
JP2016201617A (ja) 動画像再生装置および方法
EP3352133B1 (en) An efficient patch-based method for video denoising
JP2009065619A (ja) 手振れ補正装置及び撮像装置
JP2004274460A (ja) キーフレーム選択装置およびキーフレーム選択方法
KR20070089314A (ko) 피사체 움직임 정보 제공 장치 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant