KR102015429B1 - 적응형 프레임 레이트 조절 방법 및 그 장치 - Google Patents

적응형 프레임 레이트 조절 방법 및 그 장치 Download PDF

Info

Publication number
KR102015429B1
KR102015429B1 KR1020170184033A KR20170184033A KR102015429B1 KR 102015429 B1 KR102015429 B1 KR 102015429B1 KR 1020170184033 A KR1020170184033 A KR 1020170184033A KR 20170184033 A KR20170184033 A KR 20170184033A KR 102015429 B1 KR102015429 B1 KR 102015429B1
Authority
KR
South Korea
Prior art keywords
queue
sampling rate
length
sampling
value
Prior art date
Application number
KR1020170184033A
Other languages
English (en)
Other versions
KR20190081466A (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 KR1020170184033A priority Critical patent/KR102015429B1/ko
Publication of KR20190081466A publication Critical patent/KR20190081466A/ko
Application granted granted Critical
Publication of KR102015429B1 publication Critical patent/KR102015429B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234381Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the temporal resolution, e.g. decreasing the frame rate by frame skipping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0127Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level by changing the field or frame frequency of the incoming video signal, e.g. frame rate converter

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Analysis (AREA)

Abstract

본 발명의 일 실시예에 따른 프레임 레이트 조절 방법은, 프레임 레이트 조절 장치가, 시점 t에서 큐에 적재된 데이터의 양을 의미하는 큐의 길이 Q(t)를 측정하는 단계; 상기 프레임 레이트 조절 장치가, 사전에 설정된 큐의 최대 제한 길이 Qmax를 초과하지 않도록, 상기 큐의 길이 Q(t)에 기초하여 샘플링 레이트의 후보군의 집합 X에서 어느 한 샘플링 레이트 x를 선택하는 단계; 및 상기 프레임 레이트 조절 장치가, 상기 선택된 샘플링 레이트 x에 기초하여 데이터를 샘플링 하는 단계를 포함할 수 있다.

Description

적응형 프레임 레이트 조절 방법 및 그 장치 {Method and apparatus for adjusting adaptive frame rate}
본 발명은 적응형 프레임 레이트 조절 방법 및 그 장치에 관한 것이다. 보다 자세하게는 큐를 이용하여 영상을 처리하는 시스템에서, 큐의 상태에 따라 처리 성능을 최적화하는 프레임 레이트 조절 방법 및 그 방법을 수행하는 장치에 관한 것이다.
실시간으로 영상을 분석하는 영상 분석 시스템에서는 샘플링 레이트(sampling rate)가 매우 중요하다. 특히 카메라가 촬영한 영상에서 특정 프레임을 샘플링하여 이미지를 분석하기 위해서는 주로 FIFO 방식의 큐(queue)를 사용하게 되는데, 샘플링 레이트와 영상 분석 시스템의 처리 속도에 따라 문제가 발생할 수 있다.
예를 들어 영상 분석 시스템의 처리 속도보다 샘플링 레이트가 더 빠르면, 미처 이미지를 채 분석하기도 전에 큐에 계속해서 이미지가 쌓이게 되고 종국에는 오버플로가 발생하게 된다. 즉 샘플링 레이트가 처리 속도보다 빠르게 되면 시스템의 이미지 대기 큐가 불안정 해지게 되며 큐가 길어질수록 처리 지연시간이 발생하며 실시간성을 잃게 되며 심할 경우 큐에서 오버플로가 발생하게 된다. 오버플로가 발생하면 분석이 필요한 이미지를 놓치는 문제가 발생할 수 있다.
반대로 영상 분석 시스템의 처리 속도보다 샘플링 레이트가 더 느리게 되면 큐에 이미지가 얼마 쌓이지도 않고 거의 바로 바로 이미지를 처리하게 되어 실시간성을 확보할 수 있다. 대신 큐의 길이의 낭비가 발생하게 되고 다른 한편으로 시스템 처리 능력의 낭비가 발생하게 된다. 또한 샘플링 레이트가 너무 낮게 되면, 영상에서 중간에 분석이 필요한 중요 객체의 움짐임을 놓치는 경우가 발생할 수 있다.
물론 큐의 오버플로가 발생하는 것보다는 다소 자원의 낭비가 발생하는 것이 더 낫기 때문에 종래에는 주로, 시스템의 처리 속도에 비해 매우 낮은 샘플링 레이트를 정적으로 결정하여 이를 사용했다. 하지만 앞서 설명한 것처럼 이와 같은 방법은 큐의 길이, 시스템의 처리 속도를 최적화 하지는 못하므로 이를 해결하기 위한 방법에 대한 요구가 점차 커지고 있다.
본 발명이 해결하고자 하는 기술적 과제는 적응형 프레임 레이트 조절 방법 및 그 장치를 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 프레임 레이트 조절 방법은, 프레임 레이트 조절 장치가, 시점 t에서 큐에 적재된 데이터의 양을 의미하는 큐의 길이 Q(t)를 측정하는 단계; 상기 프레임 레이트 조절 장치가, 사전에 설정된 큐의 최대 제한 길이 Qmax를 초과하지 않도록, 상기 큐의 길이 Q(t)에 기초하여 샘플링 레이트의 후보군의 집합 X에서 어느 한 샘플링 레이트 x를 선택하는 단계; 및 상기 프레임 레이트 조절 장치가, 상기 선택된 샘플링 레이트 x에 기초하여 데이터를 샘플링 하는 단계를 포함할 수 있다.
바람직하게는, 상기 샘플링 레이트의 후보군의 집합 X에서 어느 한 샘플링 레이트 x를 선택하는 단계는, 상기 큐의 길이 Q(t)가 상기 큐의 최대 제한 길이 Qmax에 가까워질수록 상기 샘플링 레이트의 후보군의 집합 X에서 낮은 샘플링 레이트를 가지는 값을 선택하고, 상기 큐의 길이 Q(t)가 상기 큐의 최대 제한 길이 Qmax에 멀어질수록 상기 샘플링 레이트의 후보군의 집합 X에서 높은 샘플링 레이트를 가지는 값을 선택하는 단계를 포함할 수 있다.
바람직하게는, 상기 샘플링 레이트의 후보군의 집합 X에서 어느 한 샘플링 레이트 x를 선택하는 단계는, 상기 큐의 길이 Q(t)가 0인 경우 상기 샘플링 레이트의 후보군의 집합 X에서 가장 높은 샘플링 레이트를 가지는 값을 선택하는 단계를 포함할 수 있다.
바람직하게는, 상기 샘플링 레이트의 후보군의 집합 X에서 어느 한 샘플링 레이트 x를 선택하는 단계는, 상기 큐의 길이 Q(t)가 Qmax인 경우 0의 값을 선택하는 단계를 포함할 수 있다.
바람직하게는, 상기 샘플링 레이트의 후보군의 집합 X에서 어느 한 샘플링 레이트 x를 선택하는 단계는, 다음의 수학식 5에 의해 샘플링 레이트 x를 선택하는 단계를 포함하고,
[수학식 5]
Figure 112017131129199-pat00001
여기서 x*(t)는 시점 t에서 선택된 샘플링 레이트를 의미하고, argmax 는 함수 내의 값을 최대화 하는 x 값을 구하는 함수를 의미하고, p(t)는 시점 t의 이전 사이클에서 분석을 수행한 데이터의 양을 의미하는 것이다.
상기 기술적 과제를 해결하기 위한 본 발명의 다른 실시예에 따른 프레임 레이트 조절 장치는, 시점 t에서 큐에 적재된 데이터의 양을 의미하는 큐의 길이 Q(t)를 측정하는 큐 길이 측정부; 사전에 설정된 큐의 최대 제한 길이 Qmax를 초과하지 않도록, 상기 큐의 길이 Q(t)에 기초하여 샘플링 레이트의 후보군의 집합 X에서 어느 한 샘플링 레이트 x를 선택하는 샘플링 레이트 선택부; 및 상기 선택된 샘플링 레이트 x에 기초하여 데이터를 샘플링 하는 데이터 샘플링부를 포함할 수 있다.
본 발명에서 제안하는 적응형 프레임 레이트 조절 방법에 의하면, 라푸노프 최적화(Lyapunov Optimization)를 이용한 신뢰성 있는 실시간 컴퓨터 비전 시스템을 구축할 수 있다. 이를 통해서 적응형 샘플레이트 조절이 가능하다.
즉 하드웨어의 처리 성능이 불확실한 상황에서 큐를 사용하는 실시간 컴퓨터 비전 시스템에서 큐의 안정성을 보장할 수 있는 한에서 성능을 최대로 하는 최적의 샘플링 레이트를 시스템 동작 중에 동적으로 결정할 수 있다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 적응형 프레임 레이트 조절 장치를 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 적응형 프레임 레이트 조절 방법을 구현하기 위한 의사 코드이다.
도 3a 내지 도 3d는 본 발명의 일 실시예에 따른 적응형 프레임 레이트 조절 방법의 성능을 실험 결과로 설명하기 위한 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 적응형 프레임 레이트 조절 장치를 설명하기 위한 도면이다.
도 1에 대한 설명에 앞서 종래의 샘플링 레이트 설정 방법에 대해서 알아보자. 종래에는 주로 낮은 샘플링 레이트를 이용하여 영상 분석을 수행하였다. 하지만 우선 이를 가능하게하려면 시스템의 처리 속도를 정확하게 예측할 수 있어야 한다.
모바일 시스템이나 임베디드 시스템에서와 같이 시스템의 성능이 크게 변화하는 경우에 예상한 정도보다 시스템의 처리 성능이 크게 저하되면 큐의 안정성을 손실하게 된다. 또한 샘플링 레이트를 필요 이상으로 너무 낮게 설정하면 그만큼 시스템의 성능에 낭비가 발생한다.
예를 들어, 이미지를 처리하는 데 최소 1초에서 최대 5초 정도가 소요되는 시스템을 가정해보자. 이처럼 이미지에 포함된 객체의 수에 따라 하나의 이미지를 처리하는데 소요되는 시간은 가변적일 수 있다. 이때 큐가 비어 있으면 각 이미지당 제한 시간인 5초 이내에 쉽게 처리 할 수 있을 것이다. 그러나 큐에 5개 이상의 이미지가 쌓이면 처리할 마지막 이미지는 대기열 지연으로 인해 처리하는 데 최소 5초 이상 걸리게 된다.
또한 이 불안정한 상태가 지속되면 극단적인 경우에 큐에서 오버플로가 발생할 수 있다. 따라서 고성능 컴퓨터 비전 알고리즘을 개발하는 것뿐만 아니라 실시간 컴퓨터 비전 시스템을 사용하여 큐의 안정성을 보장하는 샘플링 레이트를 설정하는 것도 중요한 것을 알 수 있다. 이러한 문제점을 해결하기 위해서 본 발명은 샘플링 레이트를 시스템의 처리 속도에 따라 동적으로 조절하는 샘플링 레이트 조절 방법을 제안한다.
도 1에서 예시한 실시간 얼굴 인식(FID, Realtime face identification)은 많은 연산 능력을 필요로 하며, 모바일 장치에서 인증을 위해서 사용될 수 있지만 반면에 많은 자원을 소모할 수 있다. 이때, 이미지의 샘플링 레이트가 높으면 높을수록 정확도가 향상되어 거짓 음성(False Negative)를 줄일 수 있다. 그렇다고 무작정 샘플링 레이트를 높일 수는 없으므로 이를 조절할 수 있어야 한다.
도 1을 참고하면 우선 영상을 입력하기 위한 장치로 CCTV와 같은 카메라 장치가 있다. 카메라가 촬영한 영상 중에서 분석이 필요한 데이터를 샘플링한다. 샘플링된 데이터는 영상일 수도 이미지일 수도 있다. 예를 들면 카메라가 영상을 촬영하면 그 중에서 1분동안의 영상은 큐에 저장하고, 4분동안 휴지기를 가진 후 다시 1분 동안의 영상을 큐에 저장할 수 있다. 또는 5초마다 한번씩 이미지를 추출해서 큐에 저장할 수 있다.
도 1의 예에서는 이미지가 적재된 큐의 길이가 5로 예시되어 있다. 본 발명에서는 영상 분석 시스템의 처리 속도를 가늠할 수 있는 이미지가 적재된 큐의 길이와 이미지가 적재되지 않은 큐의 길이를 분석한 큐의 상태를 기준으로 적응적으로 샘플링 레이트를 결정한다.
즉 영상 분석 시스템의 처리 속도가 높으면 큐가 많이 비어 있을 것이고 이 경우에는 샘플링 레이트를 높이는 대신, 영상 분석 시스템의 처리 속도가 낮으면 큐가 점차 차 있을 것이고 이 경우에는 샘플링 레이트를 낮추는 방식이다. 물론 큐가 모두 찬 경우에는 새로운 빈 공간이 생길 때까지 샘플링을 중지한다. 이를 통해서 큐에서 오버플로가 발생하는 것을 예방할 수 있다.
도 1을 참고하면 이렇게 적응적으로 샘플링 레이트를 조절하여 큐의 상태를 제어하면, 영상 분석 시스템에서는 큐에 저장된 이미지를 가져와서 객체를 감지하여 얼굴을 실시간으로 인식하는 과정이 이어지는 것을 볼 수 있다. 이때 신경망을 적용하여 얼굴을 인식할 수 있는데, 이는 많은 연산 능력을 필요로 하므로, 영상 분석 시스템의 처리 속도는 수시로 변할 수 있음을 유의할 필요가 있다. 이러한 점을 고려해서 본 발명에서는 큐의 여유 공간에 따라 적응적으로 샘플링 레이트를 조절한다.
이를 위해서 본 발명에서는 라푸노프 최적화(Lyapunov optimization)를 샘플링 레이트 조절하는 구성에 접목한 방법을 제안한다. 라푸노프 최적화란 제어 분야에서 사용하던 개념으로, 최소화하고 싶은 목적 함수가 있을 때 해당 식의 시평균을 큐의 안정성을 보장하는 한도 내에서 최적값을 구하는 방식이다. 이를 영상 처리에 적용하여 큐의 오버플로를 방지하면서도 영상 분석 시스템의 자원을 최대한 사용할 수 있는 방법을 제안한다.
도 2는 본 발명의 일 실시예에 따른 적응형 프레임 레이트 조절 방법을 구현하기 위한 의사 코드이다.
도 2의 알고리즘을 설명하기 전에 몇가지 용어를 정의하고자 한다. 우선 샘플링 레이트를 x로 하고, 영상 분석 장치의 처리율 예상한 값을 p라고 할 때, 큐의 상태에 따라 샘플링 레이트를 조절하기 위한 기본 방식을 다음의 수학식 1과 같이 정의할 수 있다.
[수학식 1]
Figure 112017131129199-pat00002
수학식 1에서 1 - Qlen/Qmax 가 큐의 상태를 의미하는 지표이다. 수학식 1에서는 큐의 상태에 따라 샘플링 레이트를 결정한다. 즉 큐에 적재된 이미지가 많을수록 샘플링 레이트가 줄어들고, 큐에 적재된 이미지가 적을수록 샘플링 레이트가 올라간다.
예를 들어 큐의 최대 길이가 10이고, 현재 큐에 이미지가 적재된 길이가 3이면 여유 공간은 7에 해당한다. 그리고 이때 영상 처리는 1초에 2개씩 가능하다면, 샘플링 레이트는 2*(1-3/10)=1.4 이면 충분하다. 만약 큐에 이미지가 모두 적재되어 있다면, 샘플링 레이트는 2(1-10/10)=0 으로 큐에 빈 공간이 생길 때까지 샘플링을 멈출 수 있다. 만약 큐에 이미지가 하나도 적재되어 있지 않다면, 샘플링 레이트는 2*(1-0/10)=2 가 된다.
다만, 수학식 1과 같은 모델은 실제 분석 장치의 처리율을 정확히 예측할 수 있어야 적용이 가능하다. 하지만 처리 시간을 정확히 예측할 수 없으므로, 예측 된 처리율인 p를 이용하여 샘플링 레이트를 구하는 수학식 1의 방법은 잠재적인 문제점을 내포하게 된다.
따라서 예상된 처리율인 p를 사용하지 않는 새로운 접근법이 필요하다. 이를 해결하기 위해 라푸노프 최적화를 접목한 알고리즘은 큐의 상태 및 목적 함수에 대한 방정식인 라푸노프 드리프트를 최대화하여 다음 샘플링에 적용할 최적의 샘플링 레이트를 찾을 수 있도록 한다. 이를 위해 라푸노트에서 최적화 할 큐의 상태와 목적 함수 사이의 관계를 다음의 수학식 2와 같이 정의할 수 있다.
[수학식 2]
Figure 112017131129199-pat00003
수학식 2에서 V는 목적식의 최소화와 큐의 안정성 간의 중요도를 트레이트 오프(trade-off)로 나타내기 위한 상수이고, O(x)는 시간 t에서 선택한 샘플링 레이트 x에 따른 최소화하고자 하는 목적식이다. 그리고 Q(t)는 현재 큐의 점유 상태이고 in(x)와 out(x)는 샘플링 레이트 x에 따른 큐에 적재되는 이미지와 큐에서 처리가 되어 삭제되는 이미지의 비율이다.
여기서 O(x)는 영상 분석 시스템이 시간당 처리하는 데이터의 수로 샘플링 레이트와 비례하는 관계를 가진다. 그러므로 O(x)는 x로 대체할 수 있다. 그리고, 시간당 큐에 적재되는 이미지인 in(x)는 샘플링 레이트 x에 비례하므로 x로 대체할 수 있다. 또한 큐에서 처리를 수행하고 삭제된 이미지인 out(x)는 시간 t에서 시스템이 처리한 이미지의 수인 p로 표현하기로 한다. 다만, Q(t)*out(x)는 argmax 함수에는 영향을 미치지 않으므로 무시할 수 있다. 그에 따라 수학식 2는 다음의 수학식 3과 같이 간단히 정리할 수 있다.
[수학식 3]
Figure 112017131129199-pat00004
수학식 3에서 목적 함수의 가중치인 V만 결정하면 라푸노프 최적화를 위한 과정을 마무리 할 수 있다. 우리는 큐에서 오버플로가 발생하는 것을 목적으로 하므로 큐의 안정성은 Qmax, 즉 사용자가 정의한 큐의 한계 길이 내에서 형성되어야 한다. 그러므로 V는 Qmax로 대신하여 사용할 수 있다. 이에 따라 수학식 3은 수학식 4와 같이 다시 쓸 수 있다.
[수학식 4]
Figure 112017131129199-pat00005
수학식 4에서 X는 사용자가 설정한 샘플링 레이트의 후보가 될 수 있는 값의 집합이며 x는 그 중에 임의의 원소이다. Qmax는 큐의 최대 길이이며, Q(t)는 시간 t에서의 큐의 길이이다. argmax는 X에 속한 x의 값 중에서 argmax { }의 값을 최대화 할 수 있는 x를 구하는 함수이다.
수학식 4에 의해서 샘플링 레이트를 조절하면 큐의 안정성을 보장하고 처리율(hit rate)을 최대화 할 수 있다. 그러나 수학식 4를 적용하면 다양한 샘플링 레이트 중에서 항상 최대값만을 선택하기 때문에 불완전한 측면이 있다. 즉 큐에 이미지가 모두 적재되기 전까지는 X에 속한 샘플링 레이트의 후보 중에서 가장 높은 값만을 선택하고, 큐가 모두 고갈된 후에서야 샘플링 레이트를 조절하기 때문에 큐가 없는 시스템과 유사하게 동작하게 된다.
이러면 큐를 사용하는 이점이 없으므로 수학식 4를 변형해서, 큐의 길이가 커지면 커질수록 점진적으로 샘플링 레이트가 낮아지고, 큐가 모두 차면 샘플링 레이트가 0이 되고, 큐가 모두 비면 X에 속한 후보군 중에서 가장 높은 값을 선택하도록 설정할 필요가 있다. 즉 큐가 모두 소모되기 전에 안정적인 지점을 형성하기 위해 큐의 상태, 즉 대기열의 길이에 따라 여러 단계에 걸쳐 적응적으로 샘플링 레이트를 조절해야 한다.
수학식 4에서는 샘플링 속도가 너무 높으면 큐가 빨리 소모될 수 있다는 점을 고려하지 않았다는 점이다. 이에 수학식 2에서 목적 함수 O(x)를 x로 대체하여 수학식 3을 유도하는 과정에서 큐의 상태에 따라 페널티를 줄 수 있는 함수와 x의 곱으로 O(x)를 대체하여, 새로운 수학식을 유도할 필요가 있다.
여기서 페널티 함수를 구하기 위해서 큐에서 미처리 되고 남은 항목의 비율, 즉 입력된 항목과 처리된 항목간의 차이를 고려할 필요가 있다. 이는 1에서 x - p(t+1) 의 값을 p(t+1)의 값으로 나눈 값을 뺀 값, 즉 (2p(t+1) - x)/p(t+1) 의 값을 통해서 구할 수 있다. 다만, t+1 시간에서 영상 분석 시스템이 처리할 이미지의 수는 예측하기가 힘들기 때문에, t 시간에서 영상 분석 시스템이 실제로 처리한 이미지의 수를 측정해서 이를 사용하는 것이 바람직하다.
또한, 큐의 상태에 따라 큐가 더 많이 차면 찰수록 페널티를 더욱 가중하는 것이 페널티 함수의 목적에 부합하므로, 단순 선형 함수보다는 지수 함수적으로 페널티를 줄 수 있도록 큐의 상태를 페널티 함수의 지수로 포함하는 것을 고려할 수 있다. 이를 통해 수학식 4를 페널티 함수를 고려한 다음의 수학식 5와 같이 정리할 수 있다.
[수학식 5]
Figure 112017131129199-pat00006
수학식 5에서 X는 사용자가 설정한 샘플링 레이트의 후보가 될 수 있는 값의 집합이며 x는 그 중에 임의의 원소이다. Qmax는 큐의 최대 길이이며, Q(t)는 시간 t에서의 큐의 길이이다. p(t)는 이전 사이클에서 처리된 데이터의 양을 의미한다.
수학식 4와 수학식 5를 비교해보면 페널티 함수에 해당하는
Figure 112017131129199-pat00007
가 추가된 것을 볼 수 있다. 이를 통해서 큐가 비어있을 때는 후보군 X 중에서 높은 샘플링 레이트가 선택되도록 하고, 큐가 차있을 때는 단계적으로 낮은 샘플링 레이트가 선택되도록 조절할 수 있다.
지금까지의 유도 과정을 통해 수학식 5를 도출한 것을 실제로 구현하면 도 2와 같이 구현할 수 있다. 도 2를 참고하면, 큐의 상태 Q(t)와 이전에 처리한 데이터의 양 p(t)에 따라 수학식 5의 값을 최대로 할 수 있는 샘플링 레이트 x를 선택하여 샘플링을 자동으로 조절하는 것을 볼 수 있다.
도 3a 내지 도 3d는 본 발명의 일 실시예에 따른 적응형 프레임 레이트 조절 방법의 성능을 실험 결과로 설명하기 위한 도면이다.
실험을 시작하기 전에 도 3a와 같이 이미지에 포함된 얼굴의 수에 따라 매순간 하나의 이미지를 처리하는데 소요되는 시간이 변경되는 경우를 테스트 시나리오로 설정한다. 장치의 성능 변동을 강조하기 위해 이미지 당 얼굴 수를 처리 시간의 주요 요인으로 설정하고 매 순간마다 수십 밀리 초 내에 약간의 지연을 부작용으로 부과한다.
도 3a에서 검정색 막대는 매 순간의 이미지에 포함된 얼굴의 수를 나타내고, 빨간색 선은 테스트 장치에서 이 테스트 시나리오에 따라 사전 계산 된 처리 시간 중 하나를 나타낸다 성능 변동을 강조하기 위해 GPU가 아닌 CPU를 사용하기로 한다. 이는 모바일이나 임베디드 시스템과 같이 리소스가 제한적인 환경에서는 이미지에 포함된 얼굴의 수에 따라 처리 속도가 더 급변하는 것을 상정하기 위한 것이다.
여기서 도 3b를 참고하면 도 3a에서 하나의 이미지에 포함된 얼굴의 수가 1이여서 처리 시간이 짧은 0~100 까지의 구간에서는 샘플링 레이트가 4~8 사이의 범위로 조절되다가, 하나의 이미지에 포함된 얼굴의 수가 3이서 처리 시간이 상승한 100~200 까지의 구간에서는 샘플링 레이트가 2~4 사이의 범위에서 조절되는 것을 볼 수 있다. 그러다가 하나의 이미지에 포함된 얼굴의 수가 7이여서 처리 시간이 상승한 200~300 사이의 구간에서는 샘플링 레이트가 2에 가까운 값을 가지도록 조절되는 것을 볼 수 있다.
이와 같이 본 발명에서 제안하는 방법을 이용하면 다음에 소요될 처리 시간을 정확하게 예측할 수 없더라도 이전에 소요된 처리 시간과, 현재 큐의 상태에 따라 최대 설정된 큐의 길이는 넘지 않는 범위에서, 즉 오버플로가 발생하지 않는 범위에서 적응적으로 프레임 레이트를 조절할 수 있다.
도 3c와 도 3d에서는 높은 샘플링 레이트를 고정값으로 사용하는 빨간색 실선(static high sampling rate)의 경우와 낮은 샘플링 레이트를 고정값으로 사용하는 파란색 실선(static high sampling rate)의 경우와 본 발명에서 제안하는 방법에 따라 적응적으로 샘플링 레이트를 변경하는 노란색 실선(dynamic adaptation)의 경우가 도시되어 있다.
도 3c는 각 경우에 따라 큐의 점유율과 오버플로가 발생하는지 여부를 도시한 것으로 높은 샘플링 레이트를 사용하는 경우 오버플로가 발생하는데 비해서 본 발명에서 제안하는 방법이나 낮은 샘플링 레이트를 사용하는 경우에는 오버플로가 없이 안정적으로 큐를 운영하는 것을 확인할 수 있다.
도 3d는 각 경우에 따라서 영상 분석 시스템이 처리한 데이터의 양을 도시한 것으로 높은 샘플링 레이트를 사용하는 빨간색 실선의 처리율 약 35%보다는 낮지만, 낮은 샘플링 레이트를 사용하는 파란색 실선의 10% 보다는 높은 약 15~20% 사이의 처리율을 보이는 것을 확인할 수 있다.
또한 본 발명에서 제안하는 샘플링 레이트 조절 방법은 영상 분석 뿐만 아니라 큐를 기반으로 하여 데이터를 분석하는 모든 시스템에서 적용이 가능하다. 예를 들면 음성 인식이나 음악을 검색하는 시스템에서도 적용할 수 있다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.

Claims (6)

  1. 프레임 레이트 조절 장치가, 시점 t에서 큐에 적재된 데이터의 양을 의미하는 큐의 길이 Q(t)를 측정하는 단계;
    상기 프레임 레이트 조절 장치가, 사전에 설정된 큐의 최대 제한 길이 Qmax를 초과하지 않도록, 상기 큐의 길이 Q(t)에 기초하여 샘플링 레이트의 후보군의 집합 X에서 어느 한 샘플링 레이트 x를 선택하는 단계; 및
    상기 프레임 레이트 조절 장치가, 상기 선택된 샘플링 레이트 x에 기초하여 데이터를 샘플링 하는 단계를 포함하고,
    상기 샘플링 레이트의 후보군의 집합 X에서 어느 한 샘플링 레이트 x를 선택하는 단계는,
    상기 큐의 길이 Q(t)가 상기 큐의 최대 제한 길이 Qmax에 가까워질수록 상기 샘플링 레이트의 후보군의 집합 X에서 낮은 샘플링 레이트를 가지는 값을 선택하고,
    상기 큐의 길이 Q(t)가 상기 큐의 최대 제한 길이 Qmax에 멀어질수록 상기 샘플링 레이트의 후보군의 집합 X에서 높은 샘플링 레이트를 가지는 값을 선택하는 단계를 포함하며,
    다음의 수학식 5에 의해 샘플링 레이트 x를 선택하는 것인,
    [수학식 5]
    Figure 112019030355369-pat00015


    여기서 x*(t)는 시점 t에서 선택된 샘플링 레이트를 의미하고,
    argmax 는 함수 내의 값을 최대화 하는 x 값을 구하는 함수를 의미하고,
    p(t)는 시점 t의 이전 사이클에서 분석을 수행한 데이터의 양을 의미하는,
    프레임 레이트 조절 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 샘플링 레이트의 후보군의 집합 X에서 어느 한 샘플링 레이트 x를 선택하는 단계는,
    상기 큐의 길이 Q(t)가 0인 경우 상기 샘플링 레이트의 후보군의 집합 X에서 가장 높은 샘플링 레이트를 가지는 값을 선택하는 단계를 포함하는,
    프레임 레이트 조절 방법.
  4. 제1항에 있어서,
    상기 샘플링 레이트의 후보군의 집합 X에서 어느 한 샘플링 레이트 x를 선택하는 단계는,
    상기 큐의 길이 Q(t)가 Qmax인 경우 0의 값을 선택하는 단계를 포함하는,
    프레임 레이트 조절 방법.
  5. 삭제
  6. 시점 t에서 큐에 적재된 데이터의 양을 의미하는 큐의 길이 Q(t)를 측정하는 큐 길이 측정부;
    사전에 설정된 큐의 최대 제한 길이 Qmax를 초과하지 않도록, 상기 큐의 길이 Q(t)에 기초하여 샘플링 레이트의 후보군의 집합 X에서 어느 한 샘플링 레이트 x를 선택하는 샘플링 레이트 선택부; 및
    상기 선택된 샘플링 레이트 x에 기초하여 데이터를 샘플링 하는 데이터 샘플링부를 포함하고,
    상기 샘플링 레이트 선택부는,
    상기 큐의 길이 Q(t)가 상기 큐의 최대 제한 길이 Qmax에 가까워질수록 상기 샘플링 레이트의 후보군의 집합 X에서 낮은 샘플링 레이트를 가지는 값을 선택하고,
    상기 큐의 길이 Q(t)가 상기 큐의 최대 제한 길이 Qmax에 멀어질수록 상기 샘플링 레이트의 후보군의 집합 X에서 높은 샘플링 레이트를 가지는 값을 선택하며,
    다음의 수학식 5에 의해 샘플링 레이트 x를 선택하는 것인,
    [수학식 5]

    Figure 112019030355369-pat00016


    여기서 x*(t)는 시점 t에서 선택된 샘플링 레이트를 의미하고,
    argmax 는 함수 내의 값을 최대화 하는 x 값을 구하는 함수를 의미하고,
    p(t)는 시점 t의 이전 사이클에서 분석을 수행한 데이터의 양을 의미하는,
    프레임 레이트 조절 장치.
KR1020170184033A 2017-12-29 2017-12-29 적응형 프레임 레이트 조절 방법 및 그 장치 KR102015429B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170184033A KR102015429B1 (ko) 2017-12-29 2017-12-29 적응형 프레임 레이트 조절 방법 및 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170184033A KR102015429B1 (ko) 2017-12-29 2017-12-29 적응형 프레임 레이트 조절 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20190081466A KR20190081466A (ko) 2019-07-09
KR102015429B1 true KR102015429B1 (ko) 2019-10-21

Family

ID=67261656

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170184033A KR102015429B1 (ko) 2017-12-29 2017-12-29 적응형 프레임 레이트 조절 방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR102015429B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009050017A (ja) * 2008-10-15 2009-03-05 Casio Comput Co Ltd 動画像記録装置及びプログラム
JP2010050784A (ja) * 2008-08-22 2010-03-04 Nikon Corp デジタルカメラ

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010050784A (ja) * 2008-08-22 2010-03-04 Nikon Corp デジタルカメラ
JP2009050017A (ja) * 2008-10-15 2009-03-05 Casio Comput Co Ltd 動画像記録装置及びプログラム

Also Published As

Publication number Publication date
KR20190081466A (ko) 2019-07-09

Similar Documents

Publication Publication Date Title
US20170161607A1 (en) System and method for improved gesture recognition using neural networks
US11044520B2 (en) Handling of video segments in a video stream
US20190294978A1 (en) Inferring digital twins from captured data
US20170054982A1 (en) Real time video stream processing systems and methods thereof
US20140289568A1 (en) Analysis system
KR102144975B1 (ko) 머신 러닝 시스템 및 머신 러닝 시스템의 동작 방법
US20120239627A1 (en) Data storage apparatus and data storage method
CN107590143B (zh) 一种时间序列的检索方法、装置及系统
JP2021119547A (ja) 映像解析装置、映像解析方法、および映像解析プログラム
KR102157765B1 (ko) 영상 변화 추출에 기반한 다채널 영상 분석 시스템 및 그 방법
GB2599348A (en) Method and system for autoscaling containers in a cloud-native core network
KR102015429B1 (ko) 적응형 프레임 레이트 조절 방법 및 그 장치
KR102325762B1 (ko) 공정관리시스템
CN111324392A (zh) 一种自动调节数据处理时间窗口的方法和装置
KR102065362B1 (ko) 연속 촬영 이미지에서의 고조점 이미지 추출 장치 및 방법
KR20200015301A (ko) 동적 탐지모듈 선택을 위한 객체 탐지 장치 및 그 방법
JP5371541B2 (ja) データ処理装置及びその処理方法
KR102097724B1 (ko) 영상 인식용 cnn에서의 최악망각현상의 완화 방법 및 장치
US20160321550A1 (en) Lattice finalization device, pattern recognition device, lattice finalization method, and computer program product
JP4100144B2 (ja) クロック再生装置およびクロック再生方法
JP5686548B2 (ja) 情報処理装置、情報処理方法、プログラム
KR102440073B1 (ko) 최적화 모델 선택 장치 및 방법
JP6662301B2 (ja) 学習装置、識別器、学習方法およびプログラム
JP4154459B2 (ja) デジタル映像処理方法及びその装置
JP2014153837A (ja) 識別装置、データ判別装置、ソフトカスケード識別器を構成する方法、データの識別方法、および、プログラム

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