KR101950945B1 - 모션 캡쳐 시스템의 모션 영상 생성 장치 및 그 방법 - Google Patents

모션 캡쳐 시스템의 모션 영상 생성 장치 및 그 방법 Download PDF

Info

Publication number
KR101950945B1
KR101950945B1 KR1020180056209A KR20180056209A KR101950945B1 KR 101950945 B1 KR101950945 B1 KR 101950945B1 KR 1020180056209 A KR1020180056209 A KR 1020180056209A KR 20180056209 A KR20180056209 A KR 20180056209A KR 101950945 B1 KR101950945 B1 KR 101950945B1
Authority
KR
South Korea
Prior art keywords
data
motion
frame
list
frame interval
Prior art date
Application number
KR1020180056209A
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 (주)코어센스
Priority to KR1020180056209A priority Critical patent/KR101950945B1/ko
Application granted granted Critical
Publication of KR101950945B1 publication Critical patent/KR101950945B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0083Formatting with frames or packets; Protocol or part of protocol for error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Image Analysis (AREA)

Abstract

본 발명의 실시예에 따른 모션 영상 생성 장치는 수신된 센싱 데이터의 데이터 프레임을 파싱(parsing)하여 신체 부위별 모션 데이터를 생성하는 신호 처리부, 상기 모션 데이터를 리스트(list)에 저장하는 데이터 관리부, 기 설정된 주기마다 상기 리스트에 저장된 모션 데이터를 이용하여 모션 영상의 프레임 간격을 설정하는 프레임 설정부, 그리고 상기 리스트에 저장된 모션 데이터를 이용하여 상기 설정된 프레임 간격에 따라 모션 영상을 생성하는 모션 생성부를 포함한다.

Description

모션 캡쳐 시스템의 모션 영상 생성 장치 및 그 방법{APPARATUS FOR PRODUCIING MOTION IMAGE OF MOTION CAPTURE SYSTEM AND MTEHOD THEREOF}
실시 예는 모션 영상 생성 장치 및 그 방법에 관한 것이다.
모션 캡쳐 기법은 사람이나 동물 등의 움직임을 추출하여 얻어낸 3차원 데이터를 컴퓨터에 의해 모델링된 캐릭터에 적용하여 자연스러운 모션 영상을 생성하는 영상 기법이다. 이를 위해 사람 등이 광학 센서나 자기 센서를 신체에 부착한 후 동작을 하면 각 센서는 위치와 각도를 기록하게 되는데, 이러한 센싱 데이터를 3D 캐릭터에 적용시켜 캐릭터의 동작을 구현하게 된다. 이때, 캐릭터의 동작을 최대한 자연스럽게 구하기 위해서는 신체 각 관절 부위의 움직임을 모두 기록해야 하므로 신체에는 많은 센서가 부착되어야 한다.
도 1은 센서식 모션 캡쳐 시스템의 통신 시스템 구성을 나타낸 도면이다.
도 1의 (a) 내지 (c)에 나타난 바와 같이, 신체 각 부위에 부착된 무선 모듈(모션 센서)들이 유선 또는 무선을 통신을 통해 PC에 설치된 모션 캡쳐 프로그램으로 센싱 데이터를 전송한다. 상세하게는 도 1의 (a)와 같이 무선통신을 통해 모선 모듈이 PC로 직접 센싱 데이터를 전송하거나, 도 1의 (b)나 (c)와 같이 메인 모듈이 유선통신을 통해 센싱 데이터를 수집한 후 PC로 유선 또는 무선통신을 통해 센싱 데이터가 수집된 수집데이터를 전송할 수도 있다. 유선통신의 경우 데이터 전송이 안정적이라는 장점이 있으나 신체 움직임이 제한된다는 문제점으로 있어, 무선통신을 이용한 센싱 데이터 전송이 일반적으로 이용된다.
하지만, 무선통신 과정에서 센싱 데이터가 손실되거나 노이즈가 발생하는 경우가 빈번히 일어난다. 이로 인해, 수신된 센싱 데이터에 유효 데이터가 없는 경우가 생기는데, 유효 데이터의 부존재는 영상 프레임의 단절 문제를 유발하게 된다.
또한, 도 1에서 알 수 있듯이, 모션 캡쳐 시스템은 서로 다른 무선 모듈이 다양하게 존재함으로 인하여 수신단에서 센싱 데이터의 정확한 길이를 알 수 없는 문제점이 발생한다. 이를 해결하고자 충분한 길이의 수신 버퍼를 생성하여 센싱 데이터를 저장한 후 유효 데이터만을 추출하는 방법을 주로 이용한다. 그러나 유효 데이터 추출 과정에서 데이터의 손실이 발생하며, 이로 인해 영상 프레임이 끊기는 경우가 발생한다.
다른 한편으로, 모션 영상 생성 중 리스트에서 모션 데이터를 가져다 쓰는 타이밍과 저장되는 타이밍이 어긋나는 경우, 프레임이 끊기는 경우가 발생하게 된다.
따라서, 위와 같은 모션 캡쳐 시스템에서의 프레임 단절 문제를 해결하기 위한 방법이 요구된다.
본 발명의 실시예에 따른 모션 영상 생성 장치 및 그 방법은 모션 캡쳐 시스템의 3차원 모션 영상 생성시 영상의 프레임 단절을 방지하기 위한 것이다.
본 발명의 실시예에 따른 모션 영상 생성 장치는 수신된 센싱 데이터의 데이터 프레임을 파싱(parsing)하여 신체 부위별 모션 데이터를 생성하는 신호 처리부, 상기 모션 데이터를 리스트(list)에 저장하는 데이터 관리부, 기 설정된 주기마다 상기 리스트에 저장된 모션 데이터를 이용하여 모션 영상에 대한 프레임 간격을 설정하는 프레임 설정부, 그리고 상기 리스트에 저장된 모션 데이터를 이용하여 상기 설정된 프레임 간격에 따라 모션 영상을 생성하는 모션 생성부를 포함한다.
상기 센싱 데이터는, 센서 식별자, 메시지 식별자 및 데이터 길이에 대한 정보를 포함하며, 상기 신호 처리부는, 상기 센서 식별자를 통해 상기 센싱 데이터에 대응하는 신체 부위를 검출하고, 상기 메시지 식별자를 통해 상기 센싱 데이터의 데이터 종류를 검출하고, 상기 데이터 길이와 상기 센싱 데이터의 데이터 필드(data field)의 길이를 비교하여 상기 센싱 데이터가 유효한지 여부를 판단하고, 유효하다고 판단된 센싱 데이터의 데이터 필드 값에 상기 검출된 신체 부위 및 데이터 종류를 인덱싱(indexing)하여 모션 데이터를 생성할 수 있다.
상기 데이터 관리부는, 상기 설정된 프레임 간격마다 모션 데이터를 상기 모션 생성부로 전송하고, 상기 모션 생성부로 전송된 모션 데이터를 상기 리스트에서 삭제할 수 있다.
상기 모션 생성부는, 상기 설정된 프레임 간격마다 상기 데이터 관리부로부터 수신한 모션 데이터를 모션 생성 모델의 대응하는 신체 부위에 적용하여 모션 영상을 생성할 수 있다.
상기 프레임 설정부는, 상기 리스트에 저장된 모션 데이터의 개수에 따라 상기 모션 영상의 프레임 간격을 설정할 수 있다.
상기 프레임 설정부는, 아래의 수학식을 이용하여 모션 영상의 초당 프레임 수(Tframe)를 산출하고, 산출된 초당 프레임 수를 통해 프레임 간격을 설정할 수 있다.
Figure 112018048409750-pat00001
여기서, Slist는 상기 리스트에 저장된 모션 데이터의 개수를 의미하고, Smin은 상기 리스트의 최소 데이터 저장 개수를 의미하고, Tgap은 기 설정된 프레임 간격을 의미하고, Tmin은 기 설정된 최소 프레임 간격을 의미한다.
본 발명의 실시예에 따른 모션 영상 생성 장치를 이용한 모션 영상 생성 방법에 있어서, 모션 영상 생성 방법은 신호 처리부가 수신된 센싱 데이터의 데이터 프레임을 파싱(parsing)하여 신체 부위별 모션 데이터를 생성하는 단계, 데이터 관리부가 상기 모션 데이터를 리스트(list)에 저장하는 단계, 프레임 설정부가 기 설정된 주기마다 상기 리스트에 저장된 모션 데이터를 이용하여 모션 영상에 대한 프레임 간격을 설정하는 단계, 그리고 모션 생성부가 상기 리스트에 저장된 모션 데이터를 이용하여 상기 설정된 프레임 간격에 따라 모션 영상을 생성하는 단계를 포함한다.
상기 센싱 데이터는, 센서 식별자, 메시지 식별자 및 데이터 길이에 대한 정보를 포함하며, 상기 모션 데이터를 생성하는 단계는, 상기 신호 처리부가 상기 센서 식별자를 통해 상기 센싱 데이터에 대응하는 신체 부위를 검출하는 단계, 상기 신호 처리부가 상기 메시지 식별자를 통해 상기 센싱 데이터의 데이터 종류를 검출하는 단계, 상기 신호 처리부가 상기 데이터 길이와 상기 센싱 데이터의 데이터 필드(data field)의 길이를 비교하여 상기 센싱 데이터가 유효한지 여부를 판단하는 단계, 그리고 상기 신호 처리부가 유효하다고 판단된 센싱 데이터의 데이터 필드 값에 상기 검출된 신체 부위 및 데이터 종류를 인덱싱(indexing)하여 모션 데이터를 생성하는 단계를 포함한다.
상기 데이터 관리부가 상기 설정된 프레임 간격마다 모션 데이터를 상기 모션 생성부로 전송하는 단계, 그리고, 상기 데이터 관리부가 상기 모션 생성부로 전송된 모션 데이터를 상기 리스트에서 삭제하는 단계를 더 포함할 수 있다.
상기 모션 영상을 생성하는 단계는, 상기 모션 생성부가 상기 설정된 프레임 간격마다 상기 데이터 관리부로부터 수신한 모션 데이터를 모션 생성 모델의 대응하는 신체 부위에 적용하여 모션 영상을 생성할 수 있다.
상기 프레임 간격을 설정하는 단계는, 상기 프레임 설정부가 상기 리스트에 저장된 모션 데이터의 개수에 따라 상기 모션 영상의 프레임 간격을 설정할 수 있다.
상기 프레임 간격을 설정하는 단계는, 프레임 설정부가 아래의 수학식을 이용하여 모션 영상의 초당 프레임 수(Tframe)를 산출하고, 산출된 초당 프레임 수를 통해 프레임 간격을 설정할 수 있다.
Figure 112018048409750-pat00002
여기서, Slist는 상기 리스트에 저장된 모션 데이터의 개수를 의미하고, Smin은 상기 리스트의 최소 데이터 저장 개수를 의미하고, Tgap은 기 설정된 프레임 간격을 의미하고, Tmin은 기 설정된 최소 프레임 간격을 의미한다.
본 발명의 실시예에 따르면, 리스트에 저장된 모션 데이터의 양에 따라 구현되는 모션 영상의 프레임 간격을 유동적으로 조절하므로 프레임 단절 현상을 방지할 수 있다.
또한, 모션 영상의 구현 여부와 무관하게 수신된 센싱 데이터를 파싱하여 모션 데이터를 생성 및 저장하는 프로세스가 수행되므로, 모션 영상 구현과 모션 데이터 저장 사이의 타이밍이 어긋남에 따라 발생하는 프레임 단절 현상을 방지할 수 있다.
본 발명의 다양하면서도 유익한 장점과 효과는 상술한 내용에 한정되지 않으며, 본 발명의 구체적인 실시형태를 설명하는 과정에서 보다 쉽게 이해될 수 있을 것이다.
도 1은 센서식 모션 캡쳐 시스템의 통신 시스템 구성을 나타낸 도면이다.
도 2는 본 발명의 실시예에 따른 모션 영상 생성 장치의 구성도이다.
도 3은 본 발명의 실시예에 따른 모션 영상 생성 장치를 이용한 모션 영상 생성 방법의 순서도이다.
도 4는 본 발명의 실시예에 따른 센싱 데이터의 데이터 프레임을 나타낸 도면이다.
도 5는 도 3의 S220 단계를 상세하게 나타낸 순서도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제2, 제1 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
본 실시예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(field-programmable gate array) 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.
이하, 첨부된 도면을 참조하여 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 대응하는 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
본 발명의 실시예에 따른 모션 영상 생성 장치 및 이를 이용한 모션 영상 생성 방법은 모션 캡쳐 시스템(motion capture system)에서 대상자의 움직임을 센싱한 센싱 데이터를 처리하여 모션 영상을 구현하는 장치 및 방법이다.
먼저, 도 2를 통해 본 발명의 실시예에 따른 모션 영상 생성 장치에 대해 구체적으로 살펴보도록 한다.
도 2는 본 발명의 실시예에 따른 모션 영상 생성 장치의 구성도이다.
도 2에 도시된 바와 같이, 본 발명의 실시예에 따른 모션 영상 생성 장치(100)는 신호 처리부(110), 데이터 관리부(120), 프레임 설정부(130) 및 모션 생성부(140)를 포함한다. 도 2에 도시된 신호 처리부(110), 데이터 관리부(120), 프레임 설정부(130) 및 모션 생성부(140)는 각각 스레드(thread)로 구현될 수 있다.
신호 처리부(110)는 수신된 센싱 데이터의 데이터 프레임을 파싱(parsing)하여 신체 부위별 모션 데이터를 생성한다.
여기서, 센싱 데이터는 센서 식별자, 메시지 식별자 및 데이터 길이에 대한 정보를 포함한다.
모션 데이터를 생성하기 위하여, 신호 처리부(110)는 우선 센서 식별자를 통해 센싱 데이터에 대응하는 신체 부위를 검출한다. 그리고, 신호 처리부(110)는 메시지 식별자를 통해 센싱 데이터의 데이터 종류를 검출한다. 또한, 신호 처리부(110)는 데이터 길이와 센싱 데이터의 데이터 필드(data field)의 길이를 비교하여 센싱 데이터가 유효한지 여부를 판단한다. 그러면, 신호 처리부(110)는 유효하다고 판단된 센싱 데이터의 데이터 필드 값에 검출된 신체 부위 및 데이터 종류를 인덱싱(indexing)하여 모션 데이터를 생성한다.
데이터 관리부(120)는 모션 데이터를 리스트(list)에 저장한다. 또한, 데이터 관리부(120)는 설정된 프레임 간격마다 모션 데이터를 모션 생성부(140)로 전송하고, 모션 생성부(140)로 전송된 모션 데이터를 리스트에서 삭제한다.
프레임 설정부(130)는 기 설정된 주기마다 리스트에 저장된 모션 데이터를 이용하여 모션 영상의 프레임 간격을 설정한다.
이때, 프레임 설정부(130)는 리스트에 저장된 모션 데이터의 개수에 따라 모션 영상의 프레임 간격을 설정할 수 있다.
모션 생성부(140)는 리스트에 저장된 모션 데이터를 이용하여 설정된 프레임 간격에 따라 모션 영상을 생성한다.
구체적으로, 모션 생성부(140)는 설정된 프레임 간격마다 데이터 관리부(120)로부터 수신한 모션 데이터를 모션 생성 모델의 대응하는 신체 부위에 적용하여 모션 영상을 생성할 수 있다.
이하에서는 도 3 내지 도 5를 통해 본 발명의 실시예에 따른 모션 영상 생성 장치를 이용한 모션 영상 생성 방법에 대해 살펴보도록 한다.
도 3은 본 발명의 실시예에 따른 모션 영상 생성 장치를 이용한 모션 영상 생성 방법의 순서도이다.
도 3에 도시된 바와 같이, 우선, 신호 처리부(110)는 모션 센서로부터 센싱 데이터를 수신한다(S210). 신호 처리부(110)는 도 1에서와 같이, 센싱 데이터를 신체 각 부위에 부착된 모션 센서로부터 직접 수신하거나, 통합 모듈이 복수의 모션 센서로부터 센싱 데이터를 취합하면 통합 모듈로부터 수신할 수도 있다. 신호 처리부(110)는 버퍼를 생성하고, 센싱 데이터를 수신된 순서대로 버퍼에 저장할 수 있다.
이때, 신호 처리부(110)는 모션 센서의 모션 캡쳐 속도에 따라 센싱 데이터를 수신한다. 예를 들어, 모션 센서가 100FPS로 모션을 캡쳐하는 경우, 1초당 100개의 센싱 데이터가 해당 모션 센서에서 신호 처리부(110)로 전송될 수 있다.
그리고, 신호 처리부(110)는 센싱 데이터의 데이터 프레임을 파싱(parsing)하여 신체 부위별 모션 데이터를 생성한다(S220).
도 4는 본 발명의 실시예에 따른 센싱 데이터의 데이터 프레임을 나타낸 도면이다.
도 4에 도시된 바와 같이, 센싱 데이터의 데이터 프레임은 헤더 필드(Header Field), 데이터 필드(Data Field) 및 종료 바이트(End Bytes)로 구성될 수 있다.
우선, 헤더 필드는 프리앰블(Preamble), 버스 식별자(BID, Bus Identifier), 센서 식별자(SID, Sensor Identifier), 메시지 식별자(MID, Message Identifier), 데이터 길이(LEN)에 대한 정보를 포함할 수 있다.
프리앰블 및 버스 식별자는 데이터 프레임의 시작을 구분하는 정보이다. 센싱 데이터에는 노이즈나 다른 센싱 데이터와 같은 불필요한 데이터가 포함될 수 있으며, 이로 인해 정확한 데이터 값을 검출하지 못하는 문제가 발생할 수 있다. 따라서, 센싱 데이터는 데이터의 시작 지점을 검출하기 위하여 도 4에서와 같이 특정값의 프리앰블(0xFA)을 및 버스 식별자(0xEF)를 포함할 수 있다.
센서 식별자는 해당 센싱 데이터가 생성된 모션 센서의 ID 정보이다. 도 1에서와 같이, 모션 캡쳐 시스템은 신체 각 부위에 부착된 복수의 모션 센서를 통해 센싱 데이터를 수신할 수 있으므로, 해당 센싱 데이터가 어느 부위의 센싱값인지 구별할 필요가 있다. 이러한 문제를 해결하고자, 센싱 데이터는 생성된 모션 센서의 고유 아이디 정보를 삽입하여 센싱 데이터의 검출 위치를 표시한다.
메시지 식별자는 해당 센싱 데이터의 종류에 대한 정보이다. 여기서 데이터의 종류는 데이터 필드가 나타내는 센싱값의 형태, 즉 센싱 데이터의 포멧을 의미한다. 예를 들어, 메시지 식별자는 센싱 데이터가 오일러 앵글(Euler Angle) 포멧으로 생성된 것인지, 사원수(Quarternion) 포멧으로 생성된 것인지, 모션 센서의 로 데이터(Raw data) 포멧으로 생성된 것인지를 나타낼 수 있다.
데이터 길이는 센싱 데이터의 데이터 필드 길이를 나타낸다. 데이터 필드는 복수로 형성될 수 있으며, 데이터 필드가 복수인 경우 데이터 길이는 복수의 데이터 필드 전체 길이를 나타낸다.
데이터 필드에는 센서에서 검출한 센싱값이 기록되며, 복수로 생성될 수 있다. 데이터 필드는 데이터 필드 식별자(DATA ID), 필드에서 데이터 길이(DATA LEN), 데이터 필드의 데이터(DATA) 정보를 포함할 수 있다.
종료 바이트는 센싱 데이터의 수신이 종료되었음을 확인하는 정보이다.
도 4를 통해 설명한 데이터 프레임의 구조는 일 실시예로서 상기의 구성에 한정되지 않으며, 상기에서 설명한 요소(element) 이외에도 다른 요소의 정보를 더 포함하여 생성될 수 있다.
도 5는 도 3의 S220 단계를 상세하게 나타낸 순서도이다.
우선, 신호 처리부(110)는 프리앰블 및 버스 식별자를 통해 센싱 데이터의 시작 지점을 구별한다(S221). 식별 기준이 되는 프리앰블 값과 버스 식별자 값은 신호 처리부(110)에 기 설정될 수 있으며, 신호 처리부(110)는 센싱 데이터 파싱을 통해 검출한 프리앰블 및 버스 식별자와 기 설정된 기준 프리앰블 및 기준 버스 식별자를 비교하여 센싱 데이터의 시작 지점을 구별할 수 있다.
그러면, 신호 처리부(110)는 센서 식별자를 통해 센싱 데이터에 대응하는 신체 부위를 검출한다(S222). 구체적으로, 신호 처리부(110)는 센싱 데이터의 센서 식별자를 검출하고, 센서 식별자의 값을 통해 해당 센싱 데이터를 생성한 모션 센서가 부착된 신체 부위를 검출할 수 있다.
또한, 신호 처리부(110)는 메시지 식별자를 통해 센싱 데이터를 데이터 종류를 검출한다(S223). 구체적으로, 신호 처리부(110)는 센싱 데이터의 메시지 식별자를 검출하고, 메시지 식별자의 값을 통해 센싱 데이터의 포멧, 즉 센싱 데이터의 종류를 검출할 수 있다.
그리고, 신호 처리부(110)는 데이터 길이와 센싱 데이터의 데이터 필드(data field)의 길이를 비교하여 센싱 데이터가 유효한지 여부를 판단한다(S224). S224 단계를 구체적으로 살펴보면, 우선, 신호 처리부(110)는 센싱 데이터의 종료 바이트가 확인되면, 센싱 데이터가 수신 완료된 것으로 판단한다. 그리고, 신호 처리부(110)는 센싱 데이터의 데이터 필드 길이를 검출하여 센싱 데이터 길이와 비교한다. 비교 결과 서로 일치하면, 신호 처리부(110)는 센싱 데이터가 유효한 것, 즉 오류가 없는 데이터로 판단한다. 반면, 서로 불일치하면, 센싱 데이터가 유효하지 않은 것, 즉 오류가 있는 데이터로 판단한다. 신호 처리부(110)는 유효하지 않은 센싱 데이터를 모션 데이터 생성에 이용하지 않고 삭제할 수 있다.
본 발명의 실시예에 따르면, S222 단계 내지 S224 단계는 상기에서 설명한 것과 다른 순서로 수행될 수 있으며, 동시에 수행될 수도 있다.
신호 처리부(110)는 유효하다고 판단된 센싱 데이터의 데이터 필드 값에 판단된 신체 부위 및 데이터 종류를 인덱싱(indexing)하여 모션 데이터를 생성한다(S225). 구체적으로, 신호 처리부(110)는 유효하다고 판단된 센싱 데이터의 데이터 필드 값을 검출하고, 검출된 데이터 필드 값에 신체 부위 정보 및 데이터 종류 정보를 인덱싱하여 모션 데이터를 생성할 수 있다. 따라서, 모션 데이터는 신체 부위, 데이터 종류 및 데이터 필드를 포함하는 데이터 프레임을 가질 수 있다. 이때, 신체 부위, 데이터 종류, 데이터 필드의 값들은 센싱 데이터의 센서 식별자, 메시지 식별자 및 데이터 필드의 값을 그대로 이용할 수 있으며, 센싱 데이터의 값에 대응하는 별도의 값을 이용할 수도 있다.
다음으로, 데이터 관리부(120)는 생성된 신체 부위별 모션 데이터를 생성 순서에 따라 리스트(list)에 저장한다(S230). 구체적으로, 신호 처리부(110)가 모션 데이터를 생성 순서에 따라 전송하면, 데이터 관리부(120)는 이를 수신하여 리스트에 저장한다.
본 발명의 일 실시예에 따르면, 데이터 관리부(120)는 핸들러(handler)를 통해 신호 처리부(110)로부터 모션 데이터를 수신하고, 모션 데이터를 메시지큐(message queue)에 저장할 수 있다. 그리고, 메시지큐는 저장된 모션 데이터를 입력된 순서에 따라 출력할 수 있다. 즉, 메시지큐는 새로운 모션 데이터가 입력(enqueuer)되면 가장 먼저 입력된 모션 데이터를 출력(dequeuer)할 수 있다. 그리고, 메시지큐에서 출력된 모션 데이터는 핸들러에 의해 리스트에 저장될 수 있다.
한편, S220 및 S230 단계는 모션 영상의 생성 여부와 무관하게 센싱 데이터가 수신되면 수행된다.
다음으로, 프레임 설정부(130)는 리스트에 저장된 모션 데이터를 이용하여 모션 영상의 프레임 간격을 설정한다(S240). 구체적으로, 프레임 설정부(130)는 리스트에 저장된 모션 데이터의 개수에 따라 모션 영상의 프레임 간격을 설정한다. 예를 들어, 프레임 설정부(130)는 모션 데이터의 개수가 적을수록 프레임 간격을 넓게 설정하고, 모션 데이터의 개수가 많을수록 프레임 간격을 좁게 설정할 수 있다.
프레임 설정부(130)는 아래의 수학식 1을 이용하여 모션 영상에 대한 초당 프레임 수(Tframe)를 산출하고, 산출된 초당 프레임 수를 통해 프레임 간격을 설정할 수 있다.
Figure 112018048409750-pat00003
여기서, Slist는 리스트에 저장된 모션 데이터의 개수를 의미하고, Smin은 리스트의 최소 데이터 저장 개수를 의미하고, Tgap은 기 설정된 프레임 간격을 의미하고, Tmin은 기 설정된 최소 프레임 간격을 의미한다. 리스트의 최소 데이터 저장 개수(Smin), 프레임 간격(Tgap), 최소 프레임 간격(Tmin)은 당업자에 의해 설정될 수 있다.
예를 들어, 최소 데이터 저장 개수(Smin)가 10, 기 설정된 프레임 간격(Tgap)이 7 FPS, 기 설정된 최소 프레임(Tmin)이 30 FPS이라고 가정한다.
이때, 리스트에 저장된 모션 데이터의 개수(Slist)가 22이면, 모션 영상의 프레임 간격(Tframe)은 72FPS(=0.5*(22-10)*7+30)이 된다. 그러면, 프레임 간격은 1/72ms로 설정될 수 있다.
이때, 프레임 설정부(130)는 기 설정된 주기마다 모션 영상의 프레임 간격을 설정할 수 있다. 예를 들어, 1초 주기가 설정된 경우, 프레임 설정부(130)는 1초마다 모션 영상의 프레임 간격을 설정할 수 있다. 설정되는 주기는 사용자에 의해 설계 변경이 가능하다.
S240 단계에서 프레임 설정부(130)가 모션 영상의 프레임 간격을 설정하면, 데이터 관리부(120)는 설정된 프레임 간격에 따라 리스트에 저장된 모션 데이터를 모션 생성부(140)에 전송한다(S250). 그리고 데이터 관리부(120)는 전송한 모션 데이터를 리스트에서 삭제한다(S260). 여기서, 모션 데이터는 리스트에 저장된 순서에 따라 전송될 수 있다.
이때, 데이터 관리부(120)에서 프레임 간격마다 전송하는 모션 데이터는 각 신체부위별 모션 데이터를 포함할 수 있다. 예를 들어, 모션 센서가 머리, 전완 및 좌완에 부착되어 있으며, 프레임 간격이 1/20초로 설정되었다고 가정한다. 그러면, 데이터 관리부(120)는 머리, 전완 및 좌완의 3개 신체부위의 모션 데이터를 1/20초마다 모션 생성부(140)에 전송할 수 있다.
모션 생성부(140)는 리스트에 저장된 모션 데이터를 이용하여 설정된 프레임 간격에 따라 모션 영상을 생성한다(S270). 구체적으로, 모션 생성부(140)는 설정된 프레임 간격마다 데이터 관리부(120)로부터 전송된 모션 데이터를 모션 생성 모델의 대응하는 신체 부위에 적용하여 모션 영상을 생성한다. 여기서, 모션 생성 모델이란 모션 데이터의 정보에 따라 움직이는 캐릭터 영상을 모델링하는 모델을 의미한다.
예를 들어, 프레임 간격이 1/30초로 설정된 경우, 모션 생성부(140)는 1/30초마다 데이터 관리부(120)로부터 모션 데이터를 수신한다. 그리고, 모션 생성부(140)는 수신한 모션 데이터를 모션 생성 모델에 적용하여 1/30초마다 하나의 모션 영상 프레임을 생성한다.
본 발명의 실시예에 따르면, 리스트에 저장된 모션 데이터의 양에 따라 구현되는 모션 영상의 프레임 간격을 유동적으로 조절하므로 프레임 단절 현상을 방지할 수 있다.
또한, 모션 영상의 구현 여부와 무관하게 수신된 센싱 데이터를 파싱하여 모션 데이터를 생성 및 저장하는 프로세스가 수행되므로, 모션 영상 구현과 모션 데이터 저장 사이의 타이밍이 어긋남에 따라 발생하는 프레임 단절 현상을 방지할 수 있다.
이상에서 실시예를 중심으로 설명하였으나 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 예를 들어, 실시예에 구체적으로 나타난 각 구성 요소는 변형하여 실시할 수 있는 것이다. 그리고 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.
100 : 모션 영상 생성 장치 110 : 신호 처리부
120 : 데이터 관리부 130 : 프레임 설정부
140 : 모션 생성부

Claims (12)

  1. 센서 식별자, 메시지 식별자 및 데이터 길이에 대한 정보를 포함하는 센싱 데이터의 데이터 프레임을 파싱(parsing)하여 신체 부위별 모션 데이터를 생성하는 신호 처리부,
    상기 모션 데이터를 리스트(list)에 저장하는 데이터 관리부,
    기 설정된 주기마다 상기 리스트에 저장된 모션 데이터를 이용하여 모션 영상에 대한 프레임 간격을 설정하는 프레임 설정부, 그리고
    상기 리스트에 저장된 모션 데이터를 이용하여 상기 설정된 프레임 간격에 따라 모션 영상을 생성하는 모션 생성부를 포함하되,
    상기 신호 처리부는,
    상기 센서 식별자를 통해 상기 센싱 데이터에 대응하는 신체 부위를 검출하고,
    상기 메시지 식별자를 통해 상기 센싱 데이터의 데이터 종류를 검출하고,
    상기 데이터 길이와 상기 센싱 데이터의 데이터 필드(data field)의 길이를 비교하여 상기 센싱 데이터가 유효한지 여부를 판단하고,
    유효하다고 판단된 센싱 데이터의 데이터 필드 값에 상기 검출된 신체 부위 및 데이터 종류를 인덱싱(indexing)하여 모션 데이터를 생성하는 모션 영상 생성 장치.
  2. 삭제
  3. 제1항에 있어서,
    상기 데이터 관리부는,
    상기 설정된 프레임 간격마다 모션 데이터를 상기 모션 생성부로 전송하고, 상기 모션 생성부로 전송된 모션 데이터를 상기 리스트에서 삭제하는 모션 영상 생성 장치.
  4. 제3항에 있어서,
    상기 모션 생성부는,
    상기 설정된 프레임 간격마다 상기 데이터 관리부로부터 수신한 모션 데이터를 모션 생성 모델의 대응하는 신체 부위에 적용하여 모션 영상을 생성하는 모션 영상 생성 장치.
  5. 제1항에 있어서,
    상기 프레임 설정부는,
    상기 리스트에 저장된 모션 데이터의 개수에 따라 상기 모션 영상의 프레임 간격을 설정하는 모션 영상 생성 장치.
  6. 제5항에 있어서,
    상기 프레임 설정부는,
    아래의 수학식을 이용하여 상기 모션 영상에 대한 초당 프레임 수(Tframe)를 산출하고, 산출된 초당 프레임 수를 통해 상기 모션 영상에 대한 프레임 간격을 설정하는 모션 영상 생성 장치;
    Figure 112018048409750-pat00004

    여기서, Slist는 상기 리스트에 저장된 모션 데이터의 개수를 의미하고, Smin은 상기 리스트의 최소 데이터 저장 개수를 의미하고, Tgap은 기 설정된 프레임 간격을 의미하고, Tmin은 기 설정된 최소 프레임 간격을 의미한다.
  7. 모션 영상 생성 장치를 이용한 모션 영상 생성 방법에 있어서,
    신호 처리부가 센서 식별자, 메시지 식별자 및 데이터 길이에 대한 정보를 포함하는 센싱 데이터의 데이터 프레임을 파싱(parsing)하여 신체 부위별 모션 데이터를 생성하는 단계,
    데이터 관리부가 상기 모션 데이터를 리스트(list)에 저장하는 단계,
    프레임 설정부가 기 설정된 주기마다 상기 리스트에 저장된 모션 데이터를 이용하여 모션 영상에 대한 프레임 간격을 설정하는 단계, 그리고
    모션 생성부가 상기 리스트에 저장된 모션 데이터를 이용하여 상기 설정된 프레임 간격에 따라 모션 영상을 생성하는 단계를 포함하되,
    상기 모션 데이터를 생성하는 단계는,
    상기 신호 처리부가 상기 센서 식별자를 통해 상기 센싱 데이터에 대응하는 신체 부위를 검출하는 단계,
    상기 신호 처리부가 상기 메시지 식별자를 통해 상기 센싱 데이터의 데이터 종류를 검출하는 단계,
    상기 신호 처리부가 상기 데이터 길이와 상기 센싱 데이터의 데이터 필드(data field)의 길이를 비교하여 상기 센싱 데이터가 유효한지 여부를 판단하는 단계, 그리고
    상기 신호 처리부가 유효하다고 판단된 센싱 데이터의 데이터 필드 값에 상기 검출된 신체 부위 및 데이터 종류를 인덱싱(indexing)하여 모션 데이터를 생성하는 단계를 포함하는 모션 영상 생성 방법.
  8. 삭제
  9. 제7항에 있어서,
    상기 데이터 관리부가 상기 설정된 프레임 간격마다 모션 데이터를 상기 모션 생성부로 전송하는 단계, 그리고,
    상기 데이터 관리부가 상기 모션 생성부로 전송된 모션 데이터를 상기 리스트에서 삭제하는 단계를 더 포함하는 모션 영상 생성 방법.
  10. 제9항에 있어서,
    상기 모션 영상을 생성하는 단계는,
    상기 모션 생성부가 상기 설정된 프레임 간격마다 상기 데이터 관리부로부터 수신한 모션 데이터를 모션 생성 모델의 대응하는 신체 부위에 적용하여 모션 영상을 생성하는 모션 영상 생성 방법.
  11. 제7항에 있어서,
    상기 프레임 간격을 설정하는 단계는,
    상기 프레임 설정부가 상기 리스트에 저장된 모션 데이터의 개수에 따라 상기 모션 영상의 프레임 간격을 설정하는 모션 영상 생성 방법.
  12. 제11항에 있어서,
    상기 프레임 간격을 설정하는 단계는,
    프레임 설정부가 아래의 수학식을 이용하여 상기 모션 영상에 대한 초당 프레임 수(Tframe)를 산출하고, 산출된 초당 프레임 수를 통해 상기 모션 영상에 대한 프레임 간격을 설정하는 모션 영상 생성 방법;
    Figure 112018048409750-pat00005

    여기서, Slist는 상기 리스트에 저장된 모션 데이터의 개수를 의미하고, Smin은 상기 리스트의 최소 데이터 저장 개수를 의미하고, Tgap은 기 설정된 프레임 간격을 의미하고, Tmin은 기 설정된 최소 프레임 간격을 의미한다.
KR1020180056209A 2018-05-16 2018-05-16 모션 캡쳐 시스템의 모션 영상 생성 장치 및 그 방법 KR101950945B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180056209A KR101950945B1 (ko) 2018-05-16 2018-05-16 모션 캡쳐 시스템의 모션 영상 생성 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180056209A KR101950945B1 (ko) 2018-05-16 2018-05-16 모션 캡쳐 시스템의 모션 영상 생성 장치 및 그 방법

Publications (1)

Publication Number Publication Date
KR101950945B1 true KR101950945B1 (ko) 2019-02-25

Family

ID=65584986

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180056209A KR101950945B1 (ko) 2018-05-16 2018-05-16 모션 캡쳐 시스템의 모션 영상 생성 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR101950945B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070066651A (ko) * 2005-12-22 2007-06-27 엘지전자 주식회사 디지털 비디오 레코더에서의 녹화 프레임 레이트 변경방법및 재생방법
KR20070101996A (ko) * 2006-04-13 2007-10-18 주식회사 유엠비컴 디지털 영상 저장방법
KR101654156B1 (ko) * 2015-06-12 2016-09-05 ㈜리커시브소프트 센서 모듈의 데이터 송수신을 이용한 모션 캡쳐 시스템 및 이를 이용한 모션 캡쳐 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070066651A (ko) * 2005-12-22 2007-06-27 엘지전자 주식회사 디지털 비디오 레코더에서의 녹화 프레임 레이트 변경방법및 재생방법
KR20070101996A (ko) * 2006-04-13 2007-10-18 주식회사 유엠비컴 디지털 영상 저장방법
KR101654156B1 (ko) * 2015-06-12 2016-09-05 ㈜리커시브소프트 센서 모듈의 데이터 송수신을 이용한 모션 캡쳐 시스템 및 이를 이용한 모션 캡쳐 방법

Similar Documents

Publication Publication Date Title
CN107707446B (zh) 一种基于fpga的sent总线解码、触发和分析方法
JP6094903B2 (ja) 受信装置及び受信側画像処理方法
CN110782433B (zh) 基于时序的动态信息暴力抛物检测方法、装置及存储介质
JP2007532050A5 (ko)
US10575717B2 (en) Capsule endoscope, capsule endoscope system, and method for controlling capsule endoscope
CN111553234B (zh) 融合人脸特征与Re-ID特征排序的行人跟踪方法及装置
CN112511859B (zh) 一种视频处理方法、装置和存储介质
JPWO2020044869A1 (ja) 動物情報管理システム、及び、動物情報管理方法
CN115471916A (zh) 吸烟检测方法、装置、设备及存储介质
CN109753158B (zh) 一种vr设备延时的确定方法及控制终端
US10098328B2 (en) Method of monitoring the physical condition and/or suitability of animal feed of ruminant animals
KR101950945B1 (ko) 모션 캡쳐 시스템의 모션 영상 생성 장치 및 그 방법
JP7115579B2 (ja) 情報処理装置、情報処理方法、及びプログラム
CN113869137A (zh) 事件检测方法、装置、终端设备及存储介质
CN112752100A (zh) 录像完整性的确定方法、装置及可读存储介质
JP2020021421A (ja) データ分割装置、データ分割方法およびプログラム
CN113615166B (zh) 事故检测装置及事故检测方法
JP2020198133A (ja) 動作特定装置、動作特定方法及び動作特定プログラム
US10819896B1 (en) Computer readable recording medium can perform image sensing system control method and image sensing system
CN109146916B (zh) 一种运动物体跟踪方法及装置
CN111898518A (zh) 一种摔倒检测方法、电子设备和存储介质
CN104639892B (zh) 视频记录系统以及用于处理主系统中的图像的方法和设备
KR20160062665A (ko) 동작 인식 장치 및 방법
CN109963075A (zh) 智能型运动侦测装置及其相关判断方法
CN113286140B (zh) 一种视频编解码测试方法、装置及存储介质

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant