KR101524015B1 - 실행취소/재실행 메커니즘을 제공하는 방법 및 장치 - Google Patents

실행취소/재실행 메커니즘을 제공하는 방법 및 장치 Download PDF

Info

Publication number
KR101524015B1
KR101524015B1 KR1020097014259A KR20097014259A KR101524015B1 KR 101524015 B1 KR101524015 B1 KR 101524015B1 KR 1020097014259 A KR1020097014259 A KR 1020097014259A KR 20097014259 A KR20097014259 A KR 20097014259A KR 101524015 B1 KR101524015 B1 KR 101524015B1
Authority
KR
South Korea
Prior art keywords
value
time
recorded
continuous
history
Prior art date
Application number
KR1020097014259A
Other languages
English (en)
Other versions
KR20090100387A (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 코닌클리케 필립스 엔.브이.
Publication of KR20090100387A publication Critical patent/KR20090100387A/ko
Application granted granted Critical
Publication of KR101524015B1 publication Critical patent/KR101524015B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals

Abstract

연속적인 실행취소/재실행 메커니즘을 제공하는 방법이 기술된다. 이 방법은, - 연속 가역 사용자 동작에 기초하여 복수의 시간 스탬핑된 이벤트의 히스토리를 기록하는 단계, - 연속적인 사용자 입력 디바이스를 이용하여 상기 히스토리를 항해하는 단계, - 연속적인 사용자 입력 디바이스의 위치를 한 시점으로 변환하는 단계, - 이 시점에 기초하여 상기 히스토리의 중간 상태를 식별하고 디스플레이하는 단계를 포함한다.
어플리케이션, 실행취소, 다시실행, 명령어, 의료

Description

실행취소/재실행 메커니즘을 제공하는 방법 및 장치{METHOD AND APPARATUS FOR PROVIDING AN UNDO/REDO MECHANISM}
본 발명은 실행취소/재실행 메커니즘을 제공하는 방법, 소프트웨어 및 장치에 대한 것이다.
실행취소/재실행 메커니즘이 많은 컴퓨터 어플리케이션의 사용자 인터페이스에서 제공된다. 이들은 실행되었던 작업을 "실행취소"하는 능력을 제공하는데, 실행취소 버튼을 반복적으로 누름으로써 이루어지고, 실행취소 버튼은 어플리케이션으로 하여금 역순서로 하나씩 명령어를 실행취소를 야기한다. 여기까지, 사용자 동작의 히스토리가 컴퓨터 어플리케이션에 의해 저장된다. 실행취소 명령어를 포함하는 대부분의 사용자 인터페이스는 또한 재실행 명령어를 포함하며, 이 재실행 명령어는 사용자가 방금 실행취소했던 마지막 명령어를 재실행하는 것을 허용한다. 이러한 방식으로, 사용자는 적당한 점까지 되돌릴 때까지 반복적으로 실행취소 버튼을 누를 수 있으며, 이후 사용자가 너무 되돌렸다면, 또는 사용자가 방금 실행취소 한 작업을 재실행하기로 결정한다면 재실행 버튼을 누를 수 있다. 이 히스토리의 항해를 위해 마우스 클릭을 사용하는 대신에, 히스토리(웹 브라우저 히스토리) 리스트를 스크롤하고 이 웹브라우저 히스토리로부터 한 아이템을 선택하는 것이 또한 알려져 있다. 실행취소/재실행은 제한된 양의 실행취소/재실행 동작에 대하여 잘 작용한다. 만일 예를 들면 연속적인 변화의 경우에서, 즉 측량(surveying), 탐색(exploring), 계량(measuring), 또는 드로잉(drawing)에서 발생하는 것과 같은 연속적인 변화의 경우, 동작의 수가 너무 많으면, 개별 동작을 항해함으로써 실행취소는 실행될 수 없다.
본 발명의 목적은 특히 연속적인 변화를 갖는 응용에 적합한 개선된 방법 및 장치를 제공하는 것이다.
본 발명의 이러한 목적 및 다른 목적은 청구항 1에 따른 방법, 청구항 11에 따른 컴퓨터 프로그램 및 청구항 14에 따른 장치에 의해 달성된다. 선호되는 실시예는 종속 청구항 2 내지 10, 12 내지 13 및 15 내지 16에 의해 한정된다.
본 발명의 측면에 따르면, 연속적인 실행취소/재실행 메커니즘을 제공하는 방법이 제공된다. 이 방법은, 연속 가역(reversible) 사용자 동작에 기초하여 히스토리를 기록하는 단계와, 슬라이더 또는 노브(knob)와 같은 연속적인 사용자 입력 디바이스를 이용하여 상기 히스토리를 항해하는 단계와, 상기 연속적인 사용자 입력 디바이스의 위치에 기초하여 상기 히스토리의 중간 상태를 식별하고 디스플레이하는 단계를 포함한다. 연속성이 임의의 원하는 정도까지 근사될 수 있으므로, 따라서 본 발명에 따라 사용자는 임의의 원하는 정밀도로 동작을 실행취소/재실행할 수 있다. 내부 컴퓨터 표현(representation)의 제한된 정확성은 이 연속성의 정확성을 제한할 수 있다. 그러나, 본 설명에서 "연속적인" 실행취소/재실행 메커니즘이라는 용어의 사용은 이 실행취소/재실행 메커니즘이 사용자에 의해 연속적인 것으로 인식된다는 것을 의미한다.
본 발명은 특히 자연적인 입도(natural granularity)를 가지지 않는 모든 응용에 유효하다. 모든 현재 알려진 실행취소/재실행 기술은 이들이 연속적으로 활동을 기록하지 않고 단지 이 활동의 스냅샷을 취함으로써 많은 히스토리를 버리는 점에서 불완전하다. 본 발명이 유리하게 사용될 수 있는 응용의 예는 드로잉/스켓칭(drawing/sketching)이다. 드로잉 또는 스켓칭 시, 사용자는 스트로크의 종료와 같은 실수를 되살려, 이에 의해 사용자가 만족할 때까지 이 스트로크를 효과적이고 연속적으로 짧게 하길 원할 수 있다. 추가적인 예는 탐색(exploration)이다. 탐색은 심장의 심방벽에서의 비정상적인 타이밍 거동의 장소를 발견하기 위해 카테터를 주위로 이동시킴으로써 심장 내의 부정맥 소스에 대한 국소화를 위해 사용된다. 탐색자는 그가 잘못된 트랙에 있음을 결정하고 일부 시점으로 역추적하여 대안적인 탐색 루트를 시도하길 원할 수 있다.
미국특허번호 제US 6,459,442B1호는 도 12에서 이벤트 히스토리에서 시점을 지정하기 위해 시간 슬라이더 툴의 사용을 개시한다. 그러나, 이 특허에서 기술된 실행취소/재실행 메커니즘은 불연속적이다(discrete). 이는 완전한 스트로크의 삭제 및 스트로크 집합의 삭제만을 허용한다.
또한 WO 2006/051962호는 도 32에서 히스토리 상태들을 스크롤하기 위한 슬라이더를 개시한다. 그러나, 개시된 실행취소/재실행 메커니즘은 불연속적인데, 이는 그것이 워드 프로세서에서의 문자들과 같은 불연속 동작들의 삭제만을 허용하기 때문이다.
바람직하게는, 본 발명에서, 기록된 히스토리는 시간 증가/감소 함수의 값과 함께 기록된 복수의 이벤트를 포함한다. 슬라이더 또는 노브로부터의 아날로그 입력과 같은 연속적인 사용자 입력 디바이스의 위치는 시간 증가/감소 함수의 값으로 변환된다. 중간 상태는 이 값에 기초하여 식별되고 디스플레이된다. 히스토리 이벤트와 함께 충분하게 유연한 단조성의 시간 증가/감소 함수의 값의 기록은 본 발명에 따라 연속적인 실행취소/재실행 메커니즘을 구현하는 매우 효과적인 방식이며, 여기서 이벤트의 순서는 보존된다.
시간 증가/감소 함수는 시간 그 자체일 수 있으며 이 함수의 기록된 값은 시간값일 수 있다. 본 실시예는 구현하기에 단순하다. 이 시간값은 이벤트의 시간 스탬프 또는 이벤트 사이의 시간 스텝일 수 있다.
기본적으로 실행취소/재실행 메커니즘에 대한 히스토리를 기록하는 2가지 방식이 있다. 제 1 방식은 가역 사용자 동작 및 가능하게는 외부적인 이벤트를 기록하는 것이다. 이들은 사용자 동작이며, 이 사용자 동작은 가능하게는 특히 실행취소를 허용해야만 할 필요가 있는 정보로 증대된다. 한 예는 게임하는 경우인데, 즉 경주 게임에서 충돌로부터 복귀하기 위해, 사용자 동작뿐만 아니라 이 게임에 존재하는 객체의 위치 및 속도와 같은 게임 상태를 기록할 필요가 있다. 외부적인 값은 또한 측정값일 수 있다. 이의 예가 심장 내의 부정맥 소스에 대한 국소화를 위해 사용되는 위에 기술된 탐색 시술이다.
제 2 방식은 모든 중간 상태의 기록이다. 이러한 제 2 방식은 탐색 응용의 경우에 유용하지만 드로잉/스켓칭에서는 덜 유용하다. 이러한 응용에서, 각 중간 상태는 많은 데이터를 포함하며, 이는 가능하게는 결국 느린 응답을 야기할 것이다.
기록된 히스토리는 연속적일 수 있다. 본 발명의 관점에서 보아, 연속적인 히스토리는 기록된 시간 스탬프된 이벤트는 최소한의 인식가능한 사용자 동작과 대응하는 것을 의미한다. 객체의 이동의 경우, 이는 디스플레이의 해상도에 의존적일 수 있으며, 또는 대안적으로는, 마우스와 같은 사용자 입력 디바이스의 정밀도에 의존적일 수 있다.
추가적인 실시예에 따르면, 시간 증가/감소 함수의 결정된 값과 대응하는 중간 상태에 가장 근접하게 기록된 이벤트가 식별되고 디스플레이된다. 기록된 히스토리가 연속적인 경우에서, 이러한 방식으로, 사용자에 의해 연속적인 것으로 인식되는 실행취소/재실행 메커니즘이 제공된다.
대안적인 실시예에 따르면, 시간 증가/감소 함수의 값에 가장 근접한 더이르고 더 늦은 이벤트가 결정된다. 보간 알고리즘이 이 값에 대응하는 중간 상태를 식별하기 위해 사용된다. 이러한 대안적인 실시예에 따라, 기록된 히스토리는 연속적인 것이 아니고, 이에 의해 더 적은 수의 이벤트의 기록을 허용한다. 이러한 방식으로, 메모리가 더 적게 요구되고, 더 빠른 응답을 획득하는 것이 가능하다. 본 실시예는 직선을 드로잉 또는 객체를 직선으로 이동시키는 것과 같은 "예측 가능한" 사용자 동작의 경우에 특히 유용하다. 물론, 기록된 이벤트의 밀도는 너무 낮게 선택되지 않아야 하는데, 왜냐하면 이는 요구되는 정밀도에 영향을 미치기 때문이다.
추가적인 선호되는 실시예에서, 연속적인 사용자 입력 디바이스의 위치에 가장 근접한 상태는 히스토리를 항해하는 동안 연속적으로 보여진다. 따라서, 사용자는 키 누르기 또는 마우스 버튼 클릭하기 등에 의해 원하는 히스토리 상태를 선택할 필요가 없다. 이러한 방식에서, 사용자는 원하는 위치까지 정확하게 항해하기 위해 필요한 정보를 항상 직접적으로 제공받는다.
바람직하게는, 본 발명에 따른 방법은 컴퓨터 프로그램을 이용하여 구현된다.
본 발명의 추가적인 측면에 따르면, 연속적인 실행취소/재실행 메커니즘을 제공하는 장치가 제공되며, 이 장치는, 가역 사용자 동작에 기초하여 히스토리를 기록하는 기록 수단; 상기 히스토리를 항해하는 연속적인 사용자 입력 디바이스; 연속적인 사용자 입력 디바이스의 위치에 기초하여 상기 히스토리의 중간 상태를 식별하고 디스플레이하는 식별 및 디스플레이 수단을 포함한다.
바람직하게는, 이 장치는 전기 생리학적 수술을 실행하기 위한 의료 장치이다. 전기 생리학적 수술에서, 본 발명에 따른 장치에 의해 제공되는 연속적인 실행취소/재실행 메커니즘을 허용하는 사용자 인터페이스에 대한 강한 필요성이 있다.
본 발명의 이들 측면 및 다른 측면은 이후 기술되는 실시예로부터 명백할 것이고 이 실시예를 참조하면 명료해질 것이다.
본 발명은 첨부된 설명과 함께 이하의 도면을 참조함으로써 당업자에게 잘 이해될 것이고 그 많은 목적과 이점이 더 명백하게 될 것이다.
도 1은 본 발명에 따른 방법의 구현을 위해 사용된 메모리 구조를 보여주는 도면.
도 2는 본 발명에 따른 방법에서의 사용을 위한 슬라이더를 보여주는 도면.
도 3은 본 발명에 따른 방법이 유리하게 구현될 수 있는 제 1 응용을 보여주 는 도면.
도 4는 본 발명에 따른 방법이 유리하게 구현될 수 있는 제 2 응용을 보여주는 도면.
도면 전체에 걸쳐 유사 참조 번호는 유사 구성요소를 지시한다.
본 발명에 따라, 연속적인 실행취소/재실행(undo/redo) 방법이 제공된다.
이 방법은 컴퓨터상에 로딩되는 컴퓨터 프로그램을 이용하여 구현될 수 있다.
본 방법에 따라 가역 사용자 동작에 기초하여 히스토리가 기록된다. 이 히스토리는 복수의 이벤트로 구성된다. 히스토리를 기록하기 위해 기본적으로 2가지 방식이 있다:
제 1 방식은 가역 사용자 동작 및 가능하게는 외부적인 이벤트를 기록하는 것이다. 이들은 가능하게는 실행취소만을 특히 허용할 필요가 있는 정보로 증대되는 사용자 동작이다. 한 예는 게임하기의 경우인데, 즉 경주 게임에서 충돌로부터 복구하기 위해, 사용자 동작뿐만 아니라 이 게임에 존재하는 객체의 위치 및 속도와 같은 게임 상태를 기록할 필요가 있다. 이 외부적인 값은 또한 측정값일 수 있다. 이의 예는 심장에서의 부정맥 소스에 대한 국소화를 위해 사용된 위에 기술된 탐색 수술이다.
제 2 방식은 완전하게 모든 중간 상태를 기록하는 것이다.
도 1은 히스토리를 기록하는 단계를 구현하기 위해 사용되는 메모리 구 조(10)를 개략적으로 도시한다. 메모리 구조(10)는 이 히스토리 이벤트를 저장하는 제 1 부(20)를 포함한다. 이 히스토리 이벤트는 이 구현예에 따라 사용자 동작 또는 중간 상태일 수 있다. 시간 증가 함수의 값이 메모리의 제 2 부(30)에 저장되는데, 이들 값은 제 1 부(20) 내에 있는 히스토리 이벤트와 링크된다. 대안적으로는, 시간 감소 함수의 값이 사용될 수 있다. 이 저장된 값은 히스토리 이벤트 또는 이 벤트 사이의 스텝 값(step values)에 대응하는 함수의 값일 수 있다. 시간 증가 함수는 단순하게 시간 그 자체일 수 있는데, 왜냐하면 이는 구현하기에 단순하기 때문이다. 이 경우에서, 이벤트에 대응하는 시간 스탬프 또는 이 이벤트 사이의 시간 스텝이 저장될 수 있다. 그러나, 임의의 다른 충분하게 단조로운 시간 증가 함수가 사용될 수 있으며, 여기서 사용자 이벤트의 순서는 보존된다. 이의 예는 많은 사용자 이벤트의 기간에서는 비교적 빠르게 증가하고 적은 수의 사용자 이벤트의 기간에서는 느리게 증가하는 시간 함수이다. 이는 히스토리를 항해하는 때 사용자가 빠르게 히스토리에서의 "조용한" 기간을 통과하는 것을 허용한다.
이제 이 방법은 시간 증가 함수가 시간 그 자체이고 히스토리 이벤트가 대응하는 시간 스탬프와 함께 기록되는 경우를 위하여 추가로 설명된다.
제 1 예에 따르면, 기록된 히스토리는 연속적이다. 이는 기록된 시간 스탬프된 이벤트가 가장 작은 인식가능한 사용자 동작에 대응하는 것을 의미한다. 객체의 이동의 경우에, 이는 디스플레이의 해상도에 의존할 수 있고, 대안적으로는, 마우스와 같은 사용자 입력 디바이스의 정밀도에 의존할 수 있다.
도 2에 도시된 연속적인 사용자 입력 디바이스(40)가 히스토리를 항해하기 위해 사용자에게 제공된다. 도시된 사용자 입력 디바이스(40)는 슬라이더이지만, 그러나 또한 노브(knob)와 같은 다른 연속적인 사용자 입력 디바이스가 사용될 수 있다. 사용자는 슬라이더를 이동시킴으로써 히스트리의 앞쪽으로 또는 뒤쪽으로 이동시킬 수 있다. 만일 사용자가 뒤쪽으로 이동시키면, 이는 결국 모든 이전 동작이 실행취소가 되는 것을 야기한다. 만일 사용자가 앞으로 이동시키면, 이전에 실행취소되었던 임의 동작은 또한 재실행된다. 이 슬라이더는 물리적 디바이스로서 구현될 수 있지만, 그러나 또한 그래픽 사용자 인터페이스 상의 버튼으로서 구현될 수 있다.
슬라이더로부터의 아날로그 입력은 한 시점으로 변환된다. 실행취소 메커니즘은 이후 선택된 시점에 가장 근접한 저장된 사용자 동작 또는 중간 상태를 식별한다.
근접성의 임의 측정이 원칙적으로 사용될 수 있다. 기본적으로는, 이 시점은 사용자를 위한 인과성 및 연속감(a sense of continuity)을 보존하기 위해, 시간 상으로 근접성과, 상태 상으로는 많지 않은 근접성을 사용하는 것이다. 이 시스템은 그 시점에 속하는 중간 상태를 디스플레이한다.
이 시스템은 히스토리를 항해하면서 연속적으로 선택된 위치에 가능 근접한 상태를 보여준다. 이러한 방식에서, 사용자가 키 누르기 또는 마우스 버튼 클릭과 같은 추가적인 사용자 입력 동작에 의해 선택된 중간 상태를 활성화해야하는 것이 회피된다.
설명된 방법에 따르면, 실행취소/재실행 메커니즘이 제공되며, 이는 사용자에 의해 연속적인 것으로 인식된다.
대안적인 예에서, 슬라이더의 위치에 대응하는 시점 보다 더 이전의 가장 근접한 시간 스탬프된 이벤트가 결정되고 이 슬라이더의 위치에 대응하는 시점 보다 더 이후의 가장 근접한 시간 스탬프된 이벤트가 결정된다. 보간 알고리즘이 이후 이 시점에 대응하는 중간 상태를 식별하기 위해 사용된다. 이러한 중간 상태가 디스플레이된다. 이는 기록된 히스토리 이벤트의 밀도가 감소되는 것을 허용한다. 이 대안적인 예는 직선으로 객체의 이동 또는 직선의 드로잉, 또는 객체의 회전과 같은 일부 사용자 동작에 대하여, 매우 밀도 높게 기록된 히스토리를 가질 필요가 없다는 통찰에 기초된다. 이들 동작의 예측 가능성으로 인해, 여전히 사용자에 의해 연속적인 것으로 인식되는 실행취소/재실행 메커니즘을 제공하기 위해 보간이 사용될 수 있다. 더욱이, 사용자는 실제적으로 기록되지 않았던 상태(의 근사)로 심지어 되돌아갈 수 있다.
보간의 사용은 히스토리가 다루기 힘들게 커지는 것을 피하기 위해 시간에 따라 일시적 해상도의 저하를 허용하는데, 즉 히스토리의 더 오래된 부분은 가장 최근 히스토리를 위해 요구된 일시적 해상도를 요구하지 않을 수 있다. 예로서, 마지막 10초는 10msec 간격으로 기록되며, 그 이전의 마지막 100초는 100msec 간격으로 기록되고, 그 이전의 마지막 1000초는 1초 간격으로 기록되는 것과 같이 진행한다.
이 방법은 자연적인 입도(natural granularity)를 가지지 않는 모든 응용에 대하여 사용될 수 있다. 이의 예는 의료 시스템의 영역이고, 특히 전기 생리학적 수술의 영역이다. 전기 생리학적 수술의 예는 심장에서의 부정맥 소스에 대한 국소화이다. 이는 심장의 심방벽(atrium wall)에서 비정상적인(anomalous) 타이밍 거동을 갖는 위치를 발견하기 위해 카테터를 주위로 이동시킴으로써 이루어질 수 있다. 이는 상이한 위치에서 반복적으로 심장 조직의 활성화(이 활성화는 소스에 더 근접할수록, 시간상으로 더 이전일 것임)에 대한 상대적 타이밍을 측정함으로써 보통 이루어진다. 도 3은 개략적으로 카테터가 이동되는 의료 시스템의 블럭도를 도시한다. 카테터(100) 이외에도, 이 시스템은 푸시 와이어(110)와 구동 메커니즘(120)을 포함한다. 의료진은 컴퓨터(130) 상의 명령어를 발생시킴으로써 이동을 제어할 수 있다. 이 컴퓨터는 특히 카테터의 위치를 보여주기 위한 디스플레이(140)와, 카테터를 이동시키기 위한 키보드(150) 및 마우스(160)로 구성된 입력 수단을 포함한다. 이 컴퓨터는 더욱이 연속적인 실행취소/재실행을 위한 슬라이더(40)를 포함한다. 또한 컴퓨터(130)는 프로세서, 메모리 등(미도시)과 같은 다른 알려진 구성요소를 포함한다.
부정맥 소스의 국소화를 위한 카테터의 이동은 역추적이 매우 중요한 탐색 프로세스이다. 동작자는 그가 잘못된 트랙에 있고 여전히 OK였던 알려진 점까지 되돌아가서 대안적인 탐색 루트를 시작할 필요가 있음을 결정할 수 있다.
이 방법은 또한 유리하게는 등록과 같은 의료 분야에서의 다른 응용을 위해 사용된다. 등록은 상이한 소스로부터의 2개 이미지(예를 들면, X-레이 및 MR)를 정렬하여 양쪽 이미지에서의 해부학적 특징이 일치하도록 하는 프로세스이다. 이는 필수적으로는 사용자에게 피드백을 주기 위해 2D 프로젝션(그래픽 디스플레이)을 이용하여, 6 자유도(3 평행 이동 + 3 회전)를 따라 3D 물체를 이동시키는 단계를 포함하므로, 이는 사용자에게 어려운 작업이다.
이는 개략적으로는 도 4에 도시된다. 이는 2차원 객체(50)와 3차원 객체(60)를 보여준다. 사용자는 화살표(70)로 표시된 바와 같이 연속적인 스케일 상으로 CT-객체(50) 및 화살표(80)로 표시된 바와 같이 연속적인 스케일 상으로 MRI-객체(60)를 이동시킬 수 있다. 이러한 이동은 예를 들면 마우스를 이용하여 객체를 선택하고 이들을 드래그함으로써 잘 알려진 방식으로 사용자에 의해 실행된다. 이 도면에서, 객체 둘 다의 다수의 상이한 위치가 연속적인 이동 동안 보여진다. 최종적으로는, 여기에 기술된 연속적인 실행취소/재실행 메커니즘이 유리하게는 하나의 다른 객체상으로 완전하게 매핑될 때까지 연속적인 스케일상으로 대상 중 하나를 미세 튜닝하기 위해 사용될 수 있다.
본 발명은 하이킹과 같은 탐색을 수반하는 응용에 적용될 수 있는데, 즉 GPS 디바이스는 보통 전체 여행을 기록한다. 위에 기술된 방법을 이용하면, 사용자는 여행의 마지막 부분(사용자가 잘못된 선회를 하는 부분)을 지우고 역추적하여 마지막 알려진 양호한 점으로 복귀할 수 있다.
추가 응용은 다차원("예술적인(Artistic)") 디자인이며, 즉 다차원 매개변수식(parametric) 디자인을 조작하는 때, 항해식 절차(navigation procedure)를 위해 기술된 바와 같이 동일하게 발생할 수 있으며, 즉 이 항해식 절차는 "바로 적절한(just right)" 디자인이 통과되고 사용자는 너무 늦은 조작을 멈추는 것이다.
물론, 이 방법은 또한 드로잉/스켓칭 응용에서 사용될 수 있는데, 즉 드로잉 또는 스켓칭시, 사용자는 스트로크의 종료(end of a stroke)와 같은 실수를 실행취소하여 이에 의해 사용자가 만족할 때까지 연속적으로 이 스트로크를 짧게 하길 원한다.
본 발명이 사용될 수 있는 추가적인 응용은 컴퓨터 게임/시뮬레이션인데, 즉 많은 게임에서, 사용자는 시간상의 특정 순간으로 되돌아갈 수 있도록 "게임 저장(save gaeme)"을 이용할 수 있다. 이는 귀찮은 일이며(게임을 저장하는 것은 추가적인 일이므로, 사람들은 게임 플레이를 잊고 자신의 게임의 저장하는 것을 잊을 수 있다), 이는 본 발명의 방법을 이용하면 회피될 수 있다.
여기에서 사용자가 올바른 방향으로 포인팅하는 제어를 이용하여 게임 플레이를 재시작하는 것을 허용하는 것이 중요하다. 만일 사용자가 경주 게임에서 그의 차를 충돌시켰다면, 위에 기술된 방법을 이용하여 사용자는 그 행위를 되돌릴 수 있다. 그러나 일단 게임이 재시작하면, 바퀴가 옳바른 방향에서 포인팅하고, 가속도 페달은 단지 옳은 양만큼만 눌려지는 것 등을 보장할 필요가 있다. 솔루션은 힘 피드백 기술일 수 있는데, 즉 게임 플레이를 재시작하기 전에 옳은 방향으로 바퀴를 선회하고 페달을 옳은 깊이까지 이동시키는 것이다.
당업자에 의해 인식되는 바와 같이, 본 발명에 기술된 혁신적인 개념은 수정될 수 있고 넓은 범위의 응용에 대하여 변화될 수 있다.
따라서, 특허 대상의 범위는 논의된 특정 예시적인 가르침 중 어느 하나에 제한되지 않아야 하지만, 대신에 다음 청구항에 의해 제한된다.
청구항에서 임의 괄호 기호는 이의 범위를 제한하는 것으로 이해되지 않아야 한다.
본 발명은 실행취소/재실행 메커니즘을 제공하는 방법, 소프트웨어 및 장치에 이용 가능하다. 이 방법은, 연속 가역 사용자 동작에 기초하여 히스토리를 기록하는 단계와, 슬라이더 또는 노브(knob)와 같은 연속적인 사용자 입력 디바이스를 이용하여 상기 히스토리를 항해하는 단계와, 상기 연속적인 사용자 입력 디바이스의 위치에 기초하여 상기 히스토리의 중간 상태를 식별하고 디스플레이하는 단계를 포함한다.

Claims (16)

  1. 연속적인 실행취소/재실행 메커니즘(undo/redo mechanism)을 제공하는 방법으로서,
    a. 연속적이고 가역(reversible)적인 사용자의 동작에 기초하여 히스토리를 기록하는 단계로서, 기록된 히스토리는 시간에 관한 증가/감소 함수의 값과 함께 기록되는 복수의 이벤트(20, 30)를 포함하는, 기록 단계;
    b. 연속적인 사용자 입력 디바이스(40)를 이용하여 상기 히스토리를 항해하는 단계;
    c. 상기 연속적인 사용자 입력 디바이스의 위치에 기초하여 상기 히스토리의 중간 상태를 식별하고 디스플레이하는 단계로서, 연속적인 사용자 입력 디바이스(40)의 위치는 시간에 관한 증가/감소 함수의 값으로 변환되고, 중간 상태는 상기 값에 기초하여 식별 및 디스플레이되고, 단계("c")는 시간에 관한 증가/감소 함수의 값에 가장 가까운 값과 함께 기록된 기록 이벤트를 식별하는 단계로서, 상기 가장 가까운 값은 연속적인 사용자 입력 디바이스(40)의 위치에서 해석된 시간에 관한 증가/감소 함수의 값에 가장 가까운, 식별하는 단계와, 식별된 기록 이벤트에 대응하는 중간 상태를 결정하고 디스플레이하는 단계를 포함하는, 식별하고 디스플레이하는 단계
    를 포함하는, 연속적인 실행취소/재실행 메커니즘을 제공하는 방법.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 시간에 관한 증가/감소 함수의 값은 시간이고, 상기 함수의 기록된 값은 시간값인, 연속적인 실행취소/재실행 메커니즘을 제공하는 방법.
  4. 제 3 항에 있어서,
    상기 함수의 기록된 값은 이벤트의 시간 스탬프인, 연속적인 실행취소/재실행 메커니즘을 제공하는 방법.
  5. 제 3 항에 있어서,
    상기 함수의 기록된 값은 상기 이벤트 사이의 시간 스텝인, 연속적인 실행취소/재실행 메커니즘을 제공하는 방법.
  6. 제 1 항에 있어서,
    상기 이벤트는 가역적인 사용자 동작인, 연속적인 실행취소/재실행 메커니즘을 제공하는 방법.
  7. 제 1 항에 있어서,
    상기 이벤트는 히스토리의 중간 상태인, 연속적인 실행취소/재실행 메커니즘을 제공하는 방법.
  8. 삭제
  9. 제 1 항에 있어서,
    단계("c")는 연속적으로 실행되는, 연속적인 실행취소/재실행 메커니즘을 제공하는 방법.
  10. 제 1 항에 있어서,
    단계("c")는 a) 더 앞선 이벤트 및 더 이후의 이벤트를 결정하는 단계로서, 더 앞선 이벤트는 연속적인 사용자 입력 디바이스(40)의 위치에서 해석된 시간에 관한 증가/감소 함수의 값에 대해 시간에 관한 증가/감소 함수의 값에 가장 가깝게 앞선 값과 함께 기록되며, 더 이후의 이벤트는 연속적인 사용자 입력 디바이스(40)의 위치에서 해석된 시간에 관한 증가/감소 함수의 값에 대해 시간에 관한 증가/감소 함수의 값에 가장 가까운 이후의 값과 함께 기록되는, 결정하는 단계와,
    b) 상기 값에 대응하는 중간 상태를 식별하기 위해 보간 알고리즘을 사용하는 단계와,
    c) 그 결과 발생하는 중간 상태를 디스플레이하는 단계를 포함하는, 연속적인 실행취소/재실행 메커니즘을 제공하는 방법.
  11. 컴퓨터 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체로서,
    프로그램이 컴퓨터에서 실행되는 때, 제 1 항, 제 3 항 내지 제 7 항, 제 9 항 및 제 10 항 중 어느 한 항에 따른 방법을 실행하도록 적응되는 컴퓨터 프로그램 코드 수단을 포함하는, 컴퓨터 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체.
  12. 삭제
  13. 삭제
  14. 연속적인 실행취소/재실행 메커니즘을 제공하는 장치로서,
    a. 연속적이고 가역적인 사용자 동작에 기초하여 히스토리를 기록하는 기록 수단(10)으로서, 기록된 히스토리는 시간에 관한 증가/감소 함수의 값과 함께 기록되는 복수의 이벤트(20, 30)를 포함하는, 기록 수단(10);
    b. 상기 히스토리를 항해하는 연속적인 사용자 입력 디바이스(40);
    c. 연속적인 사용자 입력 디바이스(40)의 위치에 기초하여 상기 히스토리의 중간 상태를 식별하고 디스플레이하는 식별 및 디스플레이 수단(140)으로서, 연속적인 사용자 입력 디바이스(40)의 위치는 시간에 관한 증가/감소 함수의 값으로 변환되고, 중간 상태는 상기 값에 기초하여 식별 및 디스플레이되고, 식별 및 디스플레이 수단(140)은 시간에 관한 증가/감소 함수의 값에 가장 가까운 값과 함께 기록된 기록 이벤트를 추가로 식별하고, 상기 가장 가까운 값은 연속적인 사용자 입력 디바이스(40)의 위치에서 해석된 시간에 관한 증가/감소 함수의 값에 가장 가깝고, 식별 및 디스플레이 수단(140)은 식별된 기록 이벤트에 대응하는 중간 상태를 결정하고 디스플레이하는, 식별 및 디스플레이 수단(140)
    을 포함하는, 연속적인 실행취소/재실행 메커니즘을 제공하는 장치.
  15. 제 14 항에 있어서,
    상기 장치는 의료 장치인, 연속적인 실행취소/재실행 메커니즘을 제공하는 장치.
  16. 제 14 항에 있어서,
    상기 장치는 전기 생리학적 수술을 실행하기에 적응되는, 연속적인 실행취소/재실행 메커니즘을 제공하는 장치.
KR1020097014259A 2007-01-11 2008-01-08 실행취소/재실행 메커니즘을 제공하는 방법 및 장치 KR101524015B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP07100370.1 2007-01-11
EP07100370 2007-01-11
PCT/IB2008/050044 WO2008084437A1 (en) 2007-01-11 2008-01-08 Method and apparatus for providing an undo/redo mechanism

Publications (2)

Publication Number Publication Date
KR20090100387A KR20090100387A (ko) 2009-09-23
KR101524015B1 true KR101524015B1 (ko) 2015-05-29

Family

ID=39295887

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097014259A KR101524015B1 (ko) 2007-01-11 2008-01-08 실행취소/재실행 메커니즘을 제공하는 방법 및 장치

Country Status (6)

Country Link
US (1) US8793577B2 (ko)
EP (1) EP2104890B1 (ko)
JP (1) JP5898830B2 (ko)
KR (1) KR101524015B1 (ko)
CN (2) CN105224313A (ko)
WO (1) WO2008084437A1 (ko)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101524015B1 (ko) * 2007-01-11 2015-05-29 코닌클리케 필립스 엔.브이. 실행취소/재실행 메커니즘을 제공하는 방법 및 장치
US8418060B2 (en) * 2008-03-03 2013-04-09 International Business Machines Corporation Method, apparatus and computer program product for capturing and viewing stored web resource interactions
US20100313158A1 (en) * 2009-06-08 2010-12-09 Lg Electronics Inc. Method for editing data in mobile terminal and mobile terminal using the same
CA2684540A1 (en) 2009-11-05 2011-05-05 Ibm Canada Limited - Ibm Canada Limitee Navigation through historical stored interactions associated with a multi-user view
US9417754B2 (en) 2011-08-05 2016-08-16 P4tents1, LLC User interface system, method, and computer program product
US9311623B2 (en) 2012-02-09 2016-04-12 International Business Machines Corporation System to view and manipulate artifacts at a temporal reference point
WO2013169845A1 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for scrolling nested regions
WO2013169877A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for selecting user interface objects
CN108052264B (zh) 2012-05-09 2021-04-27 苹果公司 用于移动和放置用户界面对象的设备、方法和图形用户界面
WO2013169851A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for facilitating user interaction with controls in a user interface
WO2013169843A1 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for manipulating framed graphical objects
WO2013169875A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for displaying content associated with a corresponding affordance
EP3185116B1 (en) 2012-05-09 2019-09-11 Apple Inc. Device, method and graphical user interface for providing tactile feedback for operations performed in a user interface
DE112013002409T5 (de) 2012-05-09 2015-02-26 Apple Inc. Vorrichtung, Verfahren und grafische Benutzeroberfläche für die Anzeige zusätzlicher Informationen in Reaktion auf einen Benutzerkontakt
WO2013169854A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for providing feedback for changing activation states of a user interface object
WO2013169865A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for moving a user interface object based on an intensity of a press input
WO2013169849A2 (en) 2012-05-09 2013-11-14 Industries Llc Yknots Device, method, and graphical user interface for displaying user interface objects corresponding to an application
KR101823288B1 (ko) 2012-05-09 2018-01-29 애플 인크. 제스처에 응답하여 디스플레이 상태들 사이를 전이하기 위한 디바이스, 방법, 및 그래픽 사용자 인터페이스
WO2013169842A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for selecting object within a group of objects
US8832551B2 (en) * 2012-05-10 2014-09-09 Dassault Systemes Americas Corp. Video-based undo and redo operations
CN102819429B (zh) * 2012-06-29 2015-04-29 广东威创视讯科技股份有限公司 三维场景设计中撤销操作的实现方法及其装置
WO2014105279A1 (en) * 2012-12-29 2014-07-03 Yknots Industries Llc Device, method, and graphical user interface for switching between user interfaces
KR102001332B1 (ko) 2012-12-29 2019-07-17 애플 인크. 콘텐츠를 스크롤할지 선택할지 결정하기 위한 디바이스, 방법 및 그래픽 사용자 인터페이스
EP3467634B1 (en) 2012-12-29 2020-09-23 Apple Inc. Device, method, and graphical user interface for navigating user interface hierarchies
CN104903835B (zh) 2012-12-29 2018-05-04 苹果公司 用于针对多接触手势而放弃生成触觉输出的设备、方法和图形用户界面
EP2939098B1 (en) 2012-12-29 2018-10-10 Apple Inc. Device, method, and graphical user interface for transitioning between touch input to display output relationships
WO2014105277A2 (en) 2012-12-29 2014-07-03 Yknots Industries Llc Device, method, and graphical user interface for moving a cursor according to a change in an appearance of a control icon with simulated three-dimensional characteristics
US9304508B2 (en) * 2013-04-24 2016-04-05 Mitsubishi Electric Research Laboratories, Inc. System and method for performing undo and redo operations during machining simulation
US9703637B2 (en) * 2013-07-30 2017-07-11 Apple Inc. Undo system
US9632664B2 (en) 2015-03-08 2017-04-25 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US10048757B2 (en) 2015-03-08 2018-08-14 Apple Inc. Devices and methods for controlling media presentation
US10095396B2 (en) 2015-03-08 2018-10-09 Apple Inc. Devices, methods, and graphical user interfaces for interacting with a control object while dragging another object
US9645732B2 (en) 2015-03-08 2017-05-09 Apple Inc. Devices, methods, and graphical user interfaces for displaying and using menus
US9990107B2 (en) 2015-03-08 2018-06-05 Apple Inc. Devices, methods, and graphical user interfaces for displaying and using menus
US9785305B2 (en) 2015-03-19 2017-10-10 Apple Inc. Touch input cursor manipulation
US9639184B2 (en) 2015-03-19 2017-05-02 Apple Inc. Touch input cursor manipulation
US10067653B2 (en) 2015-04-01 2018-09-04 Apple Inc. Devices and methods for processing touch inputs based on their intensities
US20170045981A1 (en) 2015-08-10 2017-02-16 Apple Inc. Devices and Methods for Processing Touch Inputs Based on Their Intensities
US9830048B2 (en) 2015-06-07 2017-11-28 Apple Inc. Devices and methods for processing touch inputs with instructions in a web page
US10200598B2 (en) 2015-06-07 2019-02-05 Apple Inc. Devices and methods for capturing and interacting with enhanced digital images
US10346030B2 (en) 2015-06-07 2019-07-09 Apple Inc. Devices and methods for navigating between user interfaces
US9860451B2 (en) 2015-06-07 2018-01-02 Apple Inc. Devices and methods for capturing and interacting with enhanced digital images
US9891811B2 (en) 2015-06-07 2018-02-13 Apple Inc. Devices and methods for navigating between user interfaces
US10248308B2 (en) 2015-08-10 2019-04-02 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interfaces with physical gestures
US10235035B2 (en) 2015-08-10 2019-03-19 Apple Inc. Devices, methods, and graphical user interfaces for content navigation and manipulation
US9880735B2 (en) 2015-08-10 2018-01-30 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US10416800B2 (en) 2015-08-10 2019-09-17 Apple Inc. Devices, methods, and graphical user interfaces for adjusting user interface objects
US10007352B2 (en) 2015-08-21 2018-06-26 Microsoft Technology Licensing, Llc Holographic display system with undo functionality
KR102548083B1 (ko) * 2016-03-14 2023-06-27 삼성전자주식회사 전자 장치 및 그 제어 방법
US10664557B2 (en) 2016-06-30 2020-05-26 Microsoft Technology Licensing, Llc Dial control for addition and reversal operations
CN111026714A (zh) * 2019-11-07 2020-04-17 维沃移动通信有限公司 一种重命名方法及电子设备
KR20220017105A (ko) * 2020-08-04 2022-02-11 삼성전자주식회사 데이터 처리 장치 및 방법

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2577681B1 (fr) * 1985-02-15 1987-09-04 Thomson Csf Procede d'extension de la gamme des frequences des recurrences radar acceptables par un transformateur numerique d'images et moyens de mise en oeuvre de ce procede
US5247651A (en) 1990-04-17 1993-09-21 At&T Bell Laboratories Interactive computer program specification and simulation system
US5483630A (en) * 1990-07-12 1996-01-09 Hitachi, Ltd. Method and apparatus for representing motion of multiple-jointed object, computer graphic apparatus, and robot controller
AU6161594A (en) * 1993-02-26 1994-09-14 Taligent, Inc. Collaborative work system
EP0754333A4 (en) * 1994-04-04 2001-07-18 Alive Inc GRAPHIC VIEW OF CALCULATION RESULTS
JPH0844796A (ja) * 1994-07-27 1996-02-16 Hitachi Ltd マルチメディアドクターズワークステーションおよび診察データ表示方法
GB9517115D0 (en) * 1995-08-21 1995-10-25 Philips Electronics Uk Ltd Animation control apparatus
JP3591129B2 (ja) * 1996-05-16 2004-11-17 ブラザー工業株式会社 ディスプレイの表示特性関数決定方法と、ディスプレイの表示特性関数決定装置、γ値決定装置及びプリンタシステム
JPH10149357A (ja) * 1996-09-20 1998-06-02 Nippon Steel Corp アンドゥ処理装置及びアンドゥ処理方法
SE510050C2 (sv) * 1997-07-21 1999-04-12 Ericsson Telefon Ab L M Metod för insamlande av logginformation vid förändring av databas
US6222541B1 (en) * 1998-01-20 2001-04-24 International Business Machines Corporation Method and apparatus for fast-path location and selection of links
US6111575A (en) * 1998-09-24 2000-08-29 International Business Machines Corporation Graphical undo/redo manager and method
US6807306B1 (en) * 1999-05-28 2004-10-19 Xerox Corporation Time-constrained keyframe selection method
US6459442B1 (en) * 1999-09-10 2002-10-01 Xerox Corporation System for applying application behaviors to freeform data
US20030194720A1 (en) * 2001-09-12 2003-10-16 Roberds Steven L. Human ion channels
US7035462B2 (en) * 2002-08-29 2006-04-25 Eastman Kodak Company Apparatus and method for processing digital images having eye color defects
US20060158459A1 (en) * 2004-07-20 2006-07-20 Ferguson Stuart H Systems and methods for creating user interfaces
US7728823B2 (en) * 2004-09-24 2010-06-01 Apple Inc. System and method for processing raw data of track pad device
WO2006051962A1 (ja) 2004-11-12 2006-05-18 Justsystems Corporation データ処理装置およびデータ処理方法
KR101524015B1 (ko) * 2007-01-11 2015-05-29 코닌클리케 필립스 엔.브이. 실행취소/재실행 메커니즘을 제공하는 방법 및 장치
US9554770B2 (en) * 2008-09-29 2017-01-31 Siemens Medical Solutions Usa, Inc. High pulse repetition frequency for detection of tissue mechanical property with ultrasound

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Jeffrey Hill, Photoshop Manual, 2006년08월31일 *
Jeffrey Hill, Photoshop Manual, 2006년08월31일*

Also Published As

Publication number Publication date
CN101578582A (zh) 2009-11-11
JP2010515516A (ja) 2010-05-13
WO2008084437A1 (en) 2008-07-17
US20100050188A1 (en) 2010-02-25
EP2104890B1 (en) 2019-04-03
CN105224313A (zh) 2016-01-06
EP2104890A1 (en) 2009-09-30
KR20090100387A (ko) 2009-09-23
US8793577B2 (en) 2014-07-29
JP5898830B2 (ja) 2016-04-06

Similar Documents

Publication Publication Date Title
KR101524015B1 (ko) 실행취소/재실행 메커니즘을 제공하는 방법 및 장치
US10511778B2 (en) Method and apparatus for push interaction
Yu et al. Gaze-supported 3d object manipulation in virtual reality
TWI524210B (zh) 基於自然姿勢之使用者介面方法及系統
JP5696545B2 (ja) 作業支援装置、および作業支援プログラム
CN110428485A (zh) 二维动画编辑方法及装置、电子设备、存储介质
Zhai et al. In search of the ‘magic carpet’: Design and experimentation of a bimanual 3d navigation interface
Ertugrul et al. On attaining user-friendly hand gesture interfaces to control existing GUIs
Kim et al. The effects of finger-walking in place (FWIP) for spatial knowledge acquisition in virtual environments
US20040243538A1 (en) Interaction with a three-dimensional computer model
CN110402578A (zh) 图像处理装置、方法和程序
JPH09224922A (ja) 体感入力装置
KR20240011560A (ko) 의료 단면 이미지의 제공 방법 및 장치
Flasar et al. Manipulating objects behind obstacles
Ahlström et al. Improving Mouse Navigation—A Walk through the “Hilly Screen Landscape”
JP2005522294A (ja) イメージデータの記憶再生装置
Liang Interactive cartoon-style motion generation of avatar
CN116149482A (zh) 手势交互方法、装置、电子设备及可存储介质
Boschian et al. How can people with disabilities navigate in virtual reality with an input device they can use?
Pinho et al. Virtual bicycle: an user interface tool for navigation in virtual worlds
Murphy et al. Assessment of gesture-based natural interface systems in serious games
Guébert et al. Suturing simulation based on complementarity constraints
JPH1195930A (ja) ポインター移動制御装置及びその移動制御方法
van de Camp et al. Dynamic Gaussian Force Field Controlled Kalman Filtering For Pointing Interaction
JPH0863325A (ja) ユーザインターフェース

Legal Events

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

Payment date: 20190515

Year of fee payment: 5