KR20140073527A - 수신된 비디오 안정화 기법 - Google Patents

수신된 비디오 안정화 기법 Download PDF

Info

Publication number
KR20140073527A
KR20140073527A KR1020147009716A KR20147009716A KR20140073527A KR 20140073527 A KR20140073527 A KR 20140073527A KR 1020147009716 A KR1020147009716 A KR 1020147009716A KR 20147009716 A KR20147009716 A KR 20147009716A KR 20140073527 A KR20140073527 A KR 20140073527A
Authority
KR
South Korea
Prior art keywords
frame
motion
video signal
camera
displacement
Prior art date
Application number
KR1020147009716A
Other languages
English (en)
Other versions
KR101912977B1 (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 KR20140073527A publication Critical patent/KR20140073527A/ko
Application granted granted Critical
Publication of KR101912977B1 publication Critical patent/KR101912977B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/681Motion detection
    • H04N23/6812Motion detection based on additional sensors, e.g. acceleration sensors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/527Global motion vector estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/681Motion detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/682Vibration or motion blur correction
    • H04N23/683Vibration or motion blur correction performed by a processor, e.g. controlling the readout of an image memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Studio Devices (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Adjustment Of Camera Lenses (AREA)

Abstract

본 발명에 따르면, 수신된 비디오 신호를 안정화하기 위한 방법, 디바이스 및 컴퓨터 프로그램 제품이 제공된다. 비디오 신호의 복수의 프레임이 카메라를 사용하여 캡처된다. 비디오 신호는 인코딩된 비트스트림으로서 전송된다. 연속적인 프레임들 사이에서의 카메라의 변위가 비트스트림 내의 모션 표시로부터 결정된다. 결정된 변위는 카메라의 모션에 의해 야기된 연속적인 프레임들 사이에서의 비디오 신호 내의 모션을 보상하도록 사용되며, 그에 따라 비디오 신호를 안정화한다.

Description

수신된 비디오 안정화 기법{RECEIVED VIDEO STABILISATION}
본 발명은 비디오 신호의 안정화와 관련된다. 특히, 본 발명은 카메라를 이용하여 비디오 신호의 프레임을 캡처하고 카메라의 모션을 보상(compensation)함으로써 비디오 신호를 안정화하는 것과 관련된다.
카메라는 비디오 신호의 프레임으로서 사용될 이미지들의 시퀀스를 캡처하도록 사용될 수 있다. 카메라는 안정된 물체에 고정될 수 있는데, 예를 들어 카메라는 비디오 프레임이 캡처되는 동안 카메라가 움직이지 않게 유지되도록 삼각대와 같은 스탠드 상에 장착될 수 있다. 그러나, 종종 카메라는 모바일 디바이스 내에 구현될 수 있고 반드시 고정된 물체에 장착되는 것은 아니며, 예를 들어 카메라는 휴대용일 수 있거나 또는 차량과 같은 움직이는 물체 상에 존재할 수 있다. 카메라가 비디오 신호의 프레임을 캡처하는 동안 카메라의 움직임은 비디오 신호 자체 내에 원치 않는 움직임을 발생시킬 수 있다.
이미지 안정화(image stabilisation)는 비디오 신호 내의 원치 않는 움직임을 보상하도록 사용될 수 있는 방법이다. 일부 시스템은 이미지 안정화 프로세스에 의해 사용되는 모션 벡터를 생성하기 위해 모션 평가(motion estimation)를 수행한다. 이러한 일 시스템은 Junlan Yang 등에 의한 "Online Video Stabilization Based on Particle Filters"에 기술되었다. 이미지 안정화 알고리즘은 모션 평가, 모션 스무딩(smoothing) 및 모션 보상의 세 개의 메인 부분으로 이루어질 수 있다. 모션 평가 블록은 비디오 신호 내의 로컬 모션 벡터를 평가할 수 있으며, 이러한 로컬 평가에 기초하여 글로벌 모션 벡터를 계산할 수 있다. 모션 스무딩 블록은 계산된 값을 스무딩하고 앞서 계산된 모션 벡터들 사이에서의 바람직하지 않은 큰 차이를 방지하도록 평가된 글로벌 모션 벡터의 필터링을 처리할 수 있다. 안정화를 통해, 이미지는 자신의 모션이 필터링된 모션과 동일하도록 모션 보상 블록에서 시프팅(shifting)된다. 모션 보상 블록은 회전, 와핑(warping) 또는 줌잉(zooming)과 같은 정교한 변화를 고려할 수 있다.
전술된 바와 같이 모션 벡터에 기초하여 이미지 안정화를 수행하는 것은 많은 양의 프로세싱 리소스를 필요로 할 수 있다. 비디오 신호가 실시간으로 안정화되려 할 때, 즉 비디오 신호가 캡처되는 것과 동시에 비디오 신호의 안정화된 버전이 사용되려 할 때 (예컨대, 비디오 호출 내에서 전송되거나 디바이스로부터 출력되려 할 때) 문제가 발생할 수 있다.
앞서 인용된 발명은 인코딩 및 전송에 앞서 비디오 신호를 안정화하는 것을 논의한다.
본 출원인은 통신 시스템의 수신측(receive side)에서 비디오 안정화를 달성함으로써 상당한 장점이 획득될 수 있음을 인지하였다.
본 발명의 제 1 측면에 따르면, 카메라에 의해 생성되어 인코딩된 비트스트림으로서 전송되는 비디오 신호를 안정화하는 방법이 제공되며, 이 방법은:
인코딩된 비트스트림을 수신하는 단계와,
인코딩된 비트스트림으로부터 비디오 신호의 복수의 프레임을 디코딩하는 단계와,
인코딩된 비트스트림으로부터 카메라의 모션 표시를 결정하는 단계와,
카메라에 의해 캡처된 연속적인 프레임들 사이에서의 카메라의 변위(displacement)를 결정하도록 모션 표시를 이용하는 단계와,
카메라의 모션에 의해 야기된 연속적인 프레임들 사이에서의 상기 디코딩된 비디오 신호 내의 모션을 보상하도록 상기 결정된 변위를 이용함으로써 디코딩된 비디오 신호를 안정화하는 단계를 포함한다.
본 발명의 제 2 측면은 비디오 신호를 안정화하는 디바이스를 제공하며, 이러한 디바이스는:
인코딩된 비트스트림을 수신하도록 구성된 인터페이스와,
비트스트림으로부터 비디오 신호의 복수의 프레임을 디코딩하도록 구성된 디코더와,
카메라에 의해 캡처된 연속적인 프레임들 사이에서의 카메라의 변위를 결정하기 위해 비트스트림 내에서 수신된 모션 표시를 이용하도록 구성된 변위 결정 블록과,
카메라의 모션에 의해 야기된 연속적인 프레임들 사이에서의 디코딩된 비디오 신호 내의 모션을 보상하기 위해 결정된 변위를 이용함으로써 디코딩된 비디오 신호를 안정화하도록 구성된 모션 보상 블록을 포함한다.
모션의 표시는 모션 벡터에 기초하여 디코딩될 수 있다. 이러한 본 발명의 실시예는 비디오 신호를 전달하는 인코딩된 비트스트림이 모션 벡터를 포함한다는 사실을 이용하며, 이는 프레임들이 수신측에서 생성될 수 있게 한다. 이러한 모션 벡터는, 비디오 신호의 각각의 그리고 모든 프레임을 인코딩해야 하는 필요성을 없애도록, 효율성을 위해 비디오 신호를 인코딩하는데에 사용된다. 당업계에서 알려진 바와 같이, 비디오 신호는 기준 프레임 및 모션 벡터를 이용하여 인코딩되며, 중간 프레임이 기준 프레임 및 모션 벡터로부터 생성되도록 한다.
수신측에서 비디오 신호를 안정화함으로써, 모션 벡터 복잡성을 이용하는 것이 근본적으로 제거될 수 있다. 모션 벡터를 비트스트림 내에서 미리 재사용할 때 가장 비용이 높은 단계(모션 평가)가 제거되기 때문에, 디코더 안정화는 계산 복잡성을 거의 갖지 않는다. 이는 비디오 신호를 캡처하는 카메라가 소형의 모바일 디바이스이지만, 예를 들어 더 높은 프로세싱 성능을 갖는 넷북, 랩탑 또는 개인 컴퓨터의 형태인 사용자 단말에 비디오 신호가 전송되는 경우에 상당히 유리할 수 있다.
일반적으로, 프레임은 복수의 블록을 나타내는 매크로블록을 갖는 블록들로 분할된다. 모션 벡터는 기준 프레임 내의 위치에 대한 중간 프레임 내의 매크로블록의 위치를 정의한다.
다른 뚜렷한 장점은, 본 발명의 실시예가 기존의 인코딩된 비디오 신호로 동작한다는 것이다. 본 발명의 실시예가 비디오 신호를 인코딩하도록 통상적으로 사용되는 모션 벡터를 이용할 수 있기 때문에, 전송측은 수신측 상에서 실행되는 안정화에 대해 인식할 필요가 없다. 따라서, 본 발명의 실시예는 카메라 소프트웨어의 현존하는 버전 및 그외의 비디오 신호 생성 클라이언트와 동작할 수 있다.
이 방법은, 카메라의 모션을 나타내는 복수의 샘플을 생성하도록 카메라와 연관된 모션 센서를 이용하는 단계 및 비디오 신호의 제 1 프레임과 비디오 신호의 제 2 프레임 사이에서 카메라의 변위를 결정하도록 샘플을 이용하는 단계를 더 포함할 수 있으며, 이때 결정된 변위는 픽셀 변위를 결정하도록 사용된다.
즉, 모션의 표시는 카메라의 모션을 나타내는 복수의 샘플을 생성하는 카메라와 연관된 모션 센서로부터의 샘플로부터 결정될 수 있다. 모션 센서는 자이로스코프 모션 센서일 수 있다. 디바이스는 모바일 디바이스일 수 있다.
모션 센서를 이용하여 생성된 샘플들의 샘플 레이트는 비디오 신호의 프레임 레이트보다 더 높을 수 있다. 또한, 카메라 및 모션 센서는 모바일 디바이스 내에 위치될 수 있다.
카메라의 모션에 의해 야기된 연속적인 프레임들 사이에서의 비디오 신호 내의 모션을 보상하기 위해 결정된 변위를 이용하는 단계는: 카메라의 결정된 변위에 의해 야기된 제 1 프레임과 제 2 프레임 사이에서의 비디오 신호 내의 모션을 나타내는 픽셀 변위를 결정하는 단계; 픽셀 변위를 필터링하는 단계; 및 비디오 신호를 안정화하기 위해 필터링된 픽셀 변위에 따라서 제 1 프레임과 제 2 프레임 중 적어도 하나의 이미지를 시프팅하는 단계를 포함할 수 있다. 픽셀 변위를 필터링하는 단계는: 제 2 프레임에 대해 결정된 픽셀 변위에 기초하여 누적된 픽셀 변위를 결정하는 단계; 및 제 2 프레임에 대한 결정된 누적된 픽셀 변위와 제 1 프레임에 대한 필터링된 누적 픽셀 변위의 가중합(weighted sum)에 기초하여 제 2 프레임에 대한 필터링된 누적 픽셀 변위를 결정하는 단계를 포함한다.
수신된 프레임은 제 1 프레임을 따를 수 있다. 그러나, 수신측 상에서 안정화를 수행하는 것의 추가적인 장점은 지연 기회를 가질 수 있다는 것인데, 이 지연은 수신측 상에서 임의의 방식으로 지터 버퍼(jitter buffer) 내에 적용되거나 의도적으로 도입되어, 제 2 프레임은 제 1 프레임을 따르는 후속 프레임일 필요가 없고, 수신측 상에서 더 일찍 수신되어 지연되는 프레임일 수 있다.
본 발명은 (i) 캡처된 복수의 프레임 및 (ii) 생성된 복수의 샘플 중 적어도 하나에 타임 오프셋을 추가하는 단계를 더 포함할 수 있으며, 그 결과 캡처된 복수의 프레임의 타이밍이 생성된 복수의 샘플의 타이밍과 일치한다.
이 방법은 픽셀 변위에 따라 연속적인 프레임들 중 적어도 하나의 이미지를 시프팅함으로써 비디오 신호를 안정화하는 것을 포함할 수 있으며, 이때 이미지는 이미지의 메모리 공간을 나타내는 스트라이드 값, 복수의 픽셀 값, 이미지의 제 1 픽셀의 위치를 나타내는 포인터 및 이미지의 폭을 나타내는 폭의 값을 포함하고, 이러한 이미지의 시프팅은 스트라이드 값을 조정하지 않고 포인터 및 폭의 값을 조정하는 것을 포함한다.
이러한 방식으로, 스트라이드 값을 일정하게 유지하는 동시에 단순히 포인터와 폭의 값을 변경함으로써 이미지가 시프팅 및 리사이징될 수 있다. 이러한 방식에서, 메모리 내의 데이터의 복사가 필요하지 않다. 다시 말하면, 크로핑 영역을 (복잡한 프로세스일 수 있는) 새로운 메모리 영역으로 복사하는 대신, 독립적인 폭과 스트라이드 값을 허용하는 이미지 표현이 사용된다. 이러한 방식으로, 새로운 이미지가 포인터 및 폭의 값을 변경함으로써 생성될 수 있는 한편 스트라이드가 그대로 유지된다(이것은 크로핑 영역을 새로운 메모리 영역에 복사하는 것보다 더 간단한 프로세스이다).
이미지는 각각의 이미지 평면(image plane)이 각각의 복수의 픽셀 값, 이미지 평면의 제 1 픽셀의 위치를 나타내는 각각의 포인터 및 이미지 평면의 폭을 나타내는 각각의 폭의 값에 의해 표현되는 복수의 이미지 평면을 포함할 수 있으며, 이미지 평면은 스트라이드 값을 조정하지 않고 각각의 포인터 및 폭의 값을 조정함으로써 함께 시프팅될 수 있다.
이 방법은 또한 결정된 픽셀 변위를 정수-픽셀 변위로 반올림하는 것을 더 포함할 수 있다.
본 발명의 제 3 측면에 따르면 비디오 신호를 안정화하는 컴퓨터 프로그램 제품이 제공되며, 이 컴퓨터 프로그램 제품은 비일시적 컴퓨터 판독가능한 매체 상에서 구현되고 디바이스의 프로세서 상에서 실행되었을 때 본 명세서에 기술된 임의의 방법의 단계들을 수행하도록 구성된다.
본 발명에 대한 보다 나은 이해를 제공하고 이것이 구현되는 방식을 보여주기 위해서, 예시적인 방식으로 아래의 도면에 대한 참조가 이루어질 것이다:
도 1은 바람직한 실시예에 따른 디바이스를 도시한 도면;
도 2는 바람직한 실시예에 따라 비디오 신호를 안정화하는 프로세스에 대한 순서도;
도 3은 시간에 따른 카메라의 셔터 위치의 예시적인 그래픽 표현을 도시한 도면;
도 4는 시간에 따른 카메라의 각속도의 예시적인 그래픽 표현을 도시한 도면;
도 5는 크로핑 프로세스(cropping process) 전후의 이미지의 표현을 도시한 도면.
본 발명의 바람직한 실시예가 단지 예시적인 방식으로 기술될 것이다.
도 1은 비디오 신호를 생성하는 디바이스(100)를 도시한다. 디바이스(100)는 예를 들어 이동전화 또는 핸드헬드 디바이스와 같은 모바일 디바이스일 수 있다. 디바이스(100)는 카메라(102), 모션 센서(104), CPU(106) 및 메모리(108)를 포함한다. 카메라(102)는 이미지를 캡처하도록 구성된다. 캡처된 이미지는 비디오 신호를 형성하도록 사용될 수 있으며, 이때 각 이미지는 비디오 신호의 프레임으로서 사용되고, 이미지들은 비디오 신호의 프레임 레이트(frame rate)로 캡처된다. 프레임 레이트는 예를 들어 초당 25 프레임일 수 있지만, 카메라는 다른 프레임 레이트로 동작할 수도 있다. 움직이는 이미지(moving image)의 인지(perception)를 달성하기 위한 최소 프레임 레이트는 초당 약 15 프레임이지만, 이는 비디오 신호를 보는 사람과 비디오 신호 내의 콘텐츠에 (즉, 비디오 신호의 주제 내에 얼마나 많은 모션이 존재하는지에) 의존할 수 있다. 당업계에서 알려져 있는 바와 같이, CPU(106)는 디바이스(100) 상의 컴퓨터 프로세스를 수행하도록 구성된다. 당업계에서 알려져 있는 바와 같이, 메모리(108)는 디바이스(100) 내에 데이터를 저장하도록 사용된다. 당업계에 알려져 있는 바와 같이, 블록(102, 104, 106, 108)은 (도 1에 도시되지 않은) 디바이스(100)의 버스를 통해 데이터를 전송함으로써 서로 통신할 수 있다. 특히, CPU(106)는 비디오 프레임을 인터페이스를 통해 카메라로부터 전송하기에 적합한 비트스트림(109)으로 인코딩하는 책임을 갖는다. 인터페이스는 유선 또는 무선일 수 있다. 일부 실시예에서, 비트스트림(109)은 패킷-기반 네트워크 상에서 비디오 신호를 수신하여 보기 위한 수신 디바이스에 공급되도록, 패킷 형태로의 전송이 준비될 수 있다. 수신 디바이스는 이후에 보다 상세하게 논의된다.
카메라(102)는 비디오 신호의 프레임으로 사용될 이미지를 캡처한다. 예를 들어, 카메라(102)는 비디오 신호의 하나의 프레임에 할당된 시간 동안 센서 상에 입사되는 광의 레벨을 기록하는 광센서 어레이를 구비할 수 있다. 카메라(102)의 셔터는 프레임들을 시간 맞춰 분리하도록 사용되며, 각 프레임 동안에 셔터는 일정 기간 동안 열리고 나머지 기간 동안 닫힌다. 비디오 신호의 캡처된 프레임은 (예로서 프로세싱 블록에서 CPU(106)에 의해 구현되는) 프리-프로세서(pre-processor)에 제공된다. 프리-프로세서는 당업자에게 알려져 있는 비디오 인코딩 기술을 이용하여 비디오 신호의 프레임을 인코딩하도록 동작한다. 이러한 비디오 인코딩 기술에서, 비디오 이미지의 기준 프레임(reference frame) 및 기준 프레임과 중간 프레임(intermediate frame) 사이의 블록들 또는 매크로블록들의 변위(displacement)를 나타내는 모션 벡터를 포함하는 인코딩된 비트스트림이 생성된다. 중간 프레임은 이전의 또는 이후의 프레임일 수 있으며, 인접하거나 인접하지 않을 수 있다. 인코딩 효율성을 위해서, 비디오 이미지의 모든 프레임들이 전송을 위해 준비되는 것은 아니며, 대신 기준 프레임이 모션 벡터와 함께 전송되어 기준 프레임과 모션 벡터로부터 중간 프레임이 생성될 수 있다. 모션 벡터는 프레임들 사이에서의 픽셀 변위를 나타내는 정보를 포함한다. 프레임들은 하나 이상의 모션 벡터를 이용하여 표현될 수 있으며, 만약 프레임이 블록들 또는 매크로블록들로 분할되면 각 블록 또는 매크로블록이 모션 벡터와 연관될 수 있다.
도 2는 수신기 디바이스의 개략적인 블록도이다. 수신기 디바이스는 인코딩된 비트스트림(109)을 수신하는 인터페이스(207), 비트스트림을 프로세싱하는 프로세서(206) 및 디코딩된 비트스트림을 수신하여 디스플레이하는 디스플레이(211)를 포함한다. 인터페이스(107)와 같이, 수신기 디바이스는 패킷-기반일 수 있는 임의의 적절한 유선 또는 무선 네트워크와 접속할 수 있다. 이는 CPU(206)에 의해 프로세싱되도록 준비된 비디오 비트스트림 내의 연속적인 프레임들을 수신하기 위한 버퍼링을 포함할 수 있다.
도 2a는 비디오 이미지의 안정화와 관련된 디코딩 프로세스에서의 단계들을 도시하는 개략적인 기능 블록도이다. 당업계에서 알려진 바와 같이 비디오 스트림의 디코딩 프로세스에 다른 단계들이 존재할 수 있음을 쉽게 이해할 것이다.
비트스트림(109)은 디코딩 기능(201)에 공급된다. 디코딩 기능(201)은 비트스트림(109) 내의 기준 프레임과 모션 벡터를 수신하며, 중간 프레임을 생성하기 위한 모션 벡터를 이용하여, 카메라에 의해 캡처되는 순간에 생성된 프레임들을 나타내는 프레임들의 시퀀스인 디코딩된 이미지를 제공한다. 디코딩된 이미지는 디스플레이 상에서 보여질 수 있지만, 본 발명의 실시예에서 이것은 먼저 안정화를 거친다. 디코딩된 이미지는 모션 벡터와 함께 픽셀 변위 기능(203)에 공급되며, 이것은 카메라의 모션을 나타내는 모션 벡터 픽셀 변위로부터 파생된다. 이러한 픽셀 변위가 예를 들어 프레임 내의 모든 모션 벡터들의 중간값으로서 직접 파생될 수 있음을 이해할 것이다. 그러나, 다른 프레임 정보를 이용하여 글로벌 모션 추정을 향상시키는 것이 가능할 수 있다. 예를 들어, 모션 정보가 정확하지 않은 영역을 결정하는 것이다(예를 들어, 일부 노이즈를 갖는 플랫 영역은 전형적으로 상당히 랜덤한 모션 벡터 필드를 생성한다).
블록(203)에 의해 결정되는 픽셀 변위는 (이미지의 주제에서의 모션과는 반대로) 카메라(102)의 모션으로부터 발생된 비디오 신호의 프레임들의 이미지 내의 모션을 나타낸다.
필터 블록(205)에서 픽셀 변위가 필터링된다. 필터링은 높은 주파수 모션(흔들림(shaking))을 제거하는 한편 부드러운 카메라 모션을 보존할 것이다. 이러한 방식으로, 모션이 완만해진다. 그 다음 이미지들이 완만해진 버전으로 정렬된다. 이미지 안정화 프로세스에서 비디오 신호에 적용된 변화는 이들이 (반대 방향으로) 러프하게 흔들림을 나타낼 때 완만하지 않다. 픽셀 변위를 필터링하도록 사용되는 필터는, 예를 들어 카메라(102)에 의해 캡처된 이미지의 해상도, 비디오 신호에 적용될 수 있는 허용가능한 지연 및 오리지널 비디오 신호의 이미지에 적용될 수 있는 크로핑의 허용량에 의존하여 서로 다른 방식으로 설계될 수 있다. 예를 들어, 더 높은 해상도 비디오 프레임들이 이미지 안정화 프로세스에서 적용된 픽셀 변위에 대한 고주파수 변화의 보다 넓은 필터 약화로부터 이익을 얻을 수 있다. 다른 한편으로, 크로핑의 양은 최대 필터 약화에 대한 하드 리미트(hard limit)를 설정한다.
아래의 식에 따라서 픽셀 변위를 필터링하는 지수적 필터가 사용될 수 있고:
Figure pct00001
이때 n은 비디오 신호의 프레임 수를 나타내고, x는 블록(203)에서 결정된 픽셀 변위에 따른 누적된 이동(또는 "위치")을 나타내며, x_filt는 이후에 안정화를 위해 입력 이미지를 정렬하는 방식을 결정하도록 사용되는 필터링된 누적된 변위를 나타내고, 이는 아래에서 더 상세하게 논의되었다. 이러한 방식으로 필터는 지수적 필터로서의 동작한다. 모션이 정지하면, x_filt-x는 이미지에 시프트가 존재하지 않음을 의미하는 0으로 수렴할 것이다. 필터는 필터링된 픽셀 변위를 블록(203) 내의 현재 프레임에 대해 결정된 픽셀 변위뿐 아니라 이전 프레임의 상응하는 필터링된 픽셀 변위에 기초함으로써, 시간에 걸쳐 결정된 픽셀 변위에 대한 변경을 스무드-아웃(smooth out)한다. 이전 프레임의 필터링된 픽셀 변위에 적용되는 가중이 (1-w)인 반면, 현재 프레임에 대해 결정된 픽셀 변위에 적용되는 가중은 w이다. 따라서 가중 파라미터 w를 조정하는 것은 필터가 픽셀 변위(x) 내의 변경에 대해 어떻게 응답하지를 조정할 것이다. 클립된 값이 다시 필터 루프에 공급되고 x_filt의 후속하는 출력의 클립핑 경향을 낮게 만들기 때문에, 출력 x_filt가 범위 [x-crop, x+crop] 내에 있도록 클립될 때 순환(무한 임펄스 응답(Infinite Impulse Response; IIR)) 필터는 유한 임펄스 응답(Finite Impulse Response; FIR)보다 잘 맞는다.
가중 파라미터 w는 Hertz로 측정되는 일정한 물리적 컷오프 주파수를 획득하기 위해서 비디오 신호의 즉각적인 프레임 레이트 및 해상도에 적응된다. 만약 필터가 이상적인 필터라면, 물리적 컷오프 주파수는 x_filt로 통합될 x에 대한 변경의 가장 높은 주파수 구성요소를 정의할 것이다. 컷오프 주파수보다 높은 주파수를 갖는 x에 대한 변경은 이상적인 필터에 의해 감쇠될 것이며 x_filt에 존재하지 않을 것이다. 그러나, 필터는 이상적인 필터가 아니며, 그와 같은 컷오프 주파수는 필터에 의해 적용되는 감쇠가 3dB 아래인 가장 높은 주파수를 정의한다. 이상적인 필터가 아닌 한 컷오프 주파수 아래의 일부 감쇠가 있을 것이며, 컷오프 주파수 위의 완벽한 감쇠는 존재하지 않을 것이다. 필터 출력은 x_filt와 x 사이의 차이가 프레임 크로핑 사이즈보다 크지 않도록 클립(clipped)된다. w는 물리적인 컷오프 주파수가 예로서 0.5Hz로 일정하도록 적응된다. 필터 트랜스퍼 기능으로부터, 물리적 컷오프 주파수 fc를 w에 맵핑하는 함수 w(fc, fs)가 파생될 수 있다. 샘플링 주파수(프레임 레이트) fs가 변할 때, fc가 일정하다고 할지라도 w 또한 변경된다. 전술된 필터식에 따른 필터는 다른 필터와 비교하여 컷오프 주파수의 즉각적인 변경(w 변경)에 잘 맞는다.
모션 보상 블록(207)에서, 제 2 프레임(프레임 2)의 이미지가 블록(205)으로부터 필터링된 픽셀 변위를 이용하여 시프팅된다. 이러한 방식으로 카메라(102)의 모션으로 인해 (제 1 프레임에 대한) 제 2 프레임의 이미지 내의 모션이 약화된다. 다시 말하면, 필터링된 픽셀 변위는 카메라의 모션에 의해 야기된 제 1 프레임과 제 2 프레임 사이의 비디오 신호 내의 모션을 보상하도록 이용되며, 그에 따라 비디오 신호를 안정화한다.
필터링된 픽셀 변위는 풀-픽셀 변위(즉, 정수-픽셀 변위)로 반올림된다. 이것은 제 2 프레임의 이미지를 시프팅하기 위한 간단한 방법이 이용될 수 있게 한다. 이미지는 이미지의 메모리 공간을 나타내는 스트라이드 값, 복수의 픽셀 값, 이미지의 제 1 픽셀의 위치를 나타내는 포인터 및 이미지의 폭을 나타내는 폭의 값을 이용하여 표현된다. 이미지의 시프팅은 스트라이드 값을 조정하지 않고 포인터 및 폭의 값을 조정하는 것을 포함한다. 폭의 값은 스트라이드 값에 대해 독립적이며, 이는 이미지의 폭이 이미지의 스트라이드에 영향을 미치지 않고 변경되는 것을 가능케 한다는 것을 알 수 있다. 따라서 (예컨대 메모리(208) 내의) 디코딩된 이미지의 메모리 공간은 이미지가 시프팅(및/또는 리사이징)될 때 변경될 필요가 없다. 이는 이러한 접근법에서 메모리(208) 내의 데이터 복사가 필요하지 않음을 의미한다. 이것은 이미지의 크롭 영역이 새로운 메모리 영역으로 복사되는 종래의 이미지의 크로핑 방법과 상반된다. 특히 이러한 방법이 CPU(206)가 이용가능한 프로세싱 리소스가 제한될 수 있는 모바일 디바이스 상에서 구현될 때 크롭 영역을 복사하는 것은 계산적으로 복잡할 수 있으며 이것은 해로울 수 있다. 본 명세서에 기술된 방법에서, 폭의 값이 스트라이드 값에 대해 독립적이기 때문에 스트라이드를 유지하는 한편 포인터 및 폭을 변경함으로써 새로운 시프팅된 이미지가 생성될 수 있다.
만약 안정화가 전송기 측에서 수행되면, 안정화 및 크로핑은 인코딩 전에 적용되어야 한다.
만약 수신기에서 안정화가 수행되면 크로핑 또한 반드시 수신기에서 수행되어야만 하며, 따라서 크로핑된 픽셀들은 인코딩된 스트림 내에 존재한다.
이미지는 예를 들어 루마 평면(luma plane)(Y) 및 두 개의 크로마 평면(chroma plane)(U 및 V)과 같은 복수의 이미지 평면에 의해 표현될 수 있다. 입력 이미지의 이미지 평면들은 간단히 루마 평면과 크로마 평면으로의 포인터를 변경함으로써 시프팅(shifting) 및 리사이징(resizing)될 수 있으며, 그에 따라 이미지 평면들의 폭을 수정하는 한편 스트라이드를 그대로 유지한다. 시프팅된 이미지 평면들이 시프팅된 이미지를 나타내도록 함께 사용될 수 있음을 보장하기 위해서 이미지 평면들은 동일한 양만큼 시프팅된다.
이러한 이미지 시프팅 프로세스가 구현되기 위해서, 이미지 평면들은 각각의 포인터를 필요로 하며, 즉 이미지 평면들이 모두 동일한 하나의 포인터에 의해서 표현될 수는 없다. 또한, 전술된 바와 같이 이미지가 독립적인 폭 및 스트라이드 값을 갖는 것이 필요하다.
도 3은 시프팅 및 크로핑 프로세스 전후의 이미지 표현이다. 오리지널 이미지는 참조번호(302)로 표기되었으며, 시프팅 및 크로핑된 이미지는 참조번호(304)로 표기되었다. 이미지의 스트라이드 값(stride value)은 변하지 않은 채로 남아있는 반면, 이미지의 폭(width)은 감소되었음을 볼 수 있다. 또한, 오리지널 포인터는 오리지널 이미지의 왼쪽 상단 픽셀을 포인팅하는 반면, 조정된 포인터는 (오리지널 이미지의 좌측 상단 픽셀과는 상이한 위치에 있는) 시프팅 및 크로핑된 이미지의 왼쪽 상단 픽셀을 포인팅한다. 이러한 방식으로, 이미지는 단순히 폭의 값과 포인터를 변경함으로써 시프팅 및 크로핑된다.
예로서 도 2a를 참조하여 전술된 방법의 요약에서, 들어오는 비트스트림으로부터 디코딩한 후에 비디오 신호의 프레임의 이미지를 안정화하기 위해서 아래의 단계들이 수신 측(receive side)에서 구현된다:
1. 각 프레임의 이미지의 픽셀 변위가 비트스트림 내에서 수신된 모션 벡터로부터 파생된다;
2. 픽셀 변위의 시퀀스(또는 전술된 바와 같은 누적된 픽셀 변위 프레임)에 필터를 적용함으로써 이미지 내의 의도되지 않은 모션이 제거된다;
3. 프레임에 대한 안정화된 이미지는 필터에 의해 계산된 위치에 이미지를 시프팅함으로써 생성된다. 프레임에 대한 안정화된 이미지의 프레임 치수는 프레임에 대한 오리지널 이미지의 상응하는 치수와 같거나 더 작다. 다시 말하면, 비디오 신호의 안정화된 이미지는 카메라(102)에 의해 캡처된 비디오 신호의 오리지널 이미지 내의 움직이는 경계를 커팅 아웃(cutting out) 함으로써 구축된다.
전술된 실시예에서, 프레임에 대한 픽셀 변위는 인코딩된 비트스트림 내에서 수신된 모션 벡터로부터 결정된다. 예를 들어, 각각의 프레임을 후속하는 프레임과 비교함으로써 디코딩된 이미지의 프레임으로부터 직접 픽셀 변위를 얻음으로써 본 발명의 실시예를 구현하는 것 또한 가능하다.
또 다른 실시예에서, 카메라의 모션의 표시는 인코딩된 비트스트림 내의 부가 정보(side information)에 의해 공급될 수 있다. 예를 들어, 부가 정보는 카메라(102)를 포함하는 디바이스(100)의 모션을 나타내는 샘플을 생성하도록 구성된 (도 1에서의 모션 센서(104)와 같은) 모션 센서로부터의 정보를 포함할 수 있다.
예를 들어, 모션 센서(104)는 자이로스코프와 같은 회전 운동(rotational motion) 센서일 수 있다. 자이로스코프(104)는 디바이스(100)의 각속도를 측정하여 특정한 구간(interval)에서의 각속도를 나타내는 샘플을 출력한다. 구간은 규칙적인 구간일 수 있거나 규칙적인 구간이 아닐 수 있다. 바람직하게는, 평균적으로 자이로스코프(104)로부터 출력된 샘플들의 샘플 레이트가 비디오 신호의 프레임 레이트보다 더 높지만, 반드시 그래야만 하는 것은 아니다. 예를 들어, 자이로스코프(104)로부터 출력된 샘플 레이트는 초당 60 샘플일 수 있으며, 이는 디바이스(100)의 최대 일반 진동 주파수의 두 배를 반영하며 현재 프레임 레이트에 대해 독립적이다. 자이로스코프(104)에 의해 생성된 샘플은 비트스트림(109) 내의 비디오 신호와 전송된다.
비디오 신호의 두 프레임(프레임 1 및 프레임 2) 사이의 카메라(102)의 각변위는 수신측에서 결정될 수 있다. 이러한 결정은 CPU(206)의 프로세싱 블록에 의해 수행될 수 있다. 자이로스코프(104)로부터의 데이터를 이용하여 두 개의 프레임 사이의 각변위(angular displacement)를 효율적으로 결정하기 위해, 발명자는 카메라(102)에 의해 캡처된 프레임들의 노출 시간의 중간점들 사이의 시간 간격에 걸쳐 각속도를 적분하는 것이 유용하다는 것을 식별하였다. 또한 발명자는 특히:
- 카메라(102)가 자연광(available light)에 의존하여 노출 시간을 조정하도록 마련되었을 때;
- 카메라(102)에 의해 제공된 비디오 신호의 프레임에 대한 타임 스탬프가 셔터가 닫히는 시간(즉, 프레임의 노출시간의 중간점과 대조적으로, 프레임의 종료시간)과 관련될 때; 그리고
- 자이로스코프 데이터가 프레임의 노출 시간의 중간점에서 이용가능하지 않을 때, 자이로스코프(104)의 샘플링 레이트를 카메라(102)의 프레임 레이트와 동기화하는 것이 가능하지 않을 수도 있기 때문에 이것이 특히 문제가 될 수 있다고 결정하였다.
픽셀 변위 기능(203)은 디코딩된 비디오 프레임을 수신하며 또한 자이로스코프 샘플을 수신한다. 자이로스코프(104)로부터의 샘플은 적어도 카메라(102)에 의해 캡처된 비디오 신호의 프레임 레이트와 대등한 레이트로 제공된다. 자이로스코프(104) 내에서 더 높은 샘플링 레이트를 사용하는 것은, 보다 정확한 각 평가를 부여하지만 CPU가 더 사용될 수 있다.
카메라(102)에 의해서 비디오 신호의 제 1 프레임(프레임 1)에 제공된 타임 스탬프 t1은 프레임의 종료시간, 즉 카메라(102)의 셔터가 프레임 1을 종료하기 위해 닫히는 시간을 나타낸다. 유사하게, 카메라(102)에 의해서 비디오 신호의 제 2 프레임(프레임 2)에 제공된 타임 스탬프 t2는 프레임의 종료시간, 즉 카메라(102)의 셔터가 프레임 2를 종료하기 위해 닫히는 시간을 나타낸다. 제 1 프레임과 제 2 프레임 사이의 디바이스(100)의 각변위(Δθ)를 결정하기 위해서, 프레임의 시간을 표기하기 위해 프레임의 타임 스탬프를 이용하기보다는, 프레임 1과 프레임 2의 노출 시간의 중간점을 이용하는 것이 더 정확하다. 제 1 및 제 2 프레임의 노출 시간은 e1 및 e2로 표기된다. 각변위는 시간 t1-0.5e1과 시간 t2-0.5e2 사이의 디바이스(100)의 (자이로스코프(104)로부터 출력된 샘플에 의해 표현되는) 각속도를 적분함으로써 결정된다. 따라서, 프레임 1과 프레임 2 사이의 각변위는 다음과 같이 주어진다:
Figure pct00002
시간 스탬프는 비트 스트림(109) 내의 인코딩된 프레임과 전송된다.
도 4는 시간에 따른 카메라(102)의 셔터 위치의 예시적인 그래픽 표현이다. 카메라(102)의 셔터는 프레임 1의 끝에서 시간 t1에 닫힌다. 셔터는 프레임 2를 캡처하도록 카메라(102)를 위해 다시 열리며, 프레임 2의 끝에서 시간 t2에 닫힌다. 도 4에서 프레임 1의 노출 시간은 e1로서 도시되었고 프레임 2의 노출 시간은 e2로서 도시되었다. 도 4에서 각속도가 적분되는 시간은 T12로 표기되었다. 시간 T12에 걸쳐 적분하는 것은 제 1 프레임의 노출 시간의 중간점(시간 t1-0.5e1)과 제 2 프레임의 노출 시간의 중간점(시간 t2-0.5e2) 사이를 적분한 것과 일치한다는 것을 도 4로부터 이해할 수 있을 것이다. 도 4는 셔터의 개방 시간이 셔터가 닫힌 시간과 동일한 것으로 도시되었지만, 이것은 단지 하나의 예시이다. (짧은 노출 시간을 구현하는) 일부 실시예에서, 셔터가 개방되어 있는 시간은 셔터가 닫혀있는 시간보다 더 짧다. 반대로, (긴 노출 시간을 구현하는) 다른 실시예에서, 셔터가 개방되어 있는 시간은 셔터가 닫혀있는 시간보다 더 길다.
자이로스코프(104)의 샘플이 카메라(102)에 의해 캡처된 비디오 신호의 프레임의 타이밍과 동기화되지 않았기 때문에, 자이로스코프(104)는 프레임들(프레임 1 및 프레임 2)의 중간점에서 샘플을 생성하지 않을 수도 있다. 이러한 경우에, 프레임들의 중간점에서의 디바이스(100)의 각속도는 자이로스코프(104)에 의해 생성된 샘플들에 의해 나타내어지는 각속도를 보간(interpolate)함으로써 결정될 수 있다. 각속도는 임의의 순간에 보간함으로써 평가되며, 프레임의 노출 시간의 중간점은 전술된 수식에 따라 각변위를 계산할 때 사용되는 적분 구간을 정의한다.
도 5는 시간에 따른 카메라(102)의 각속도의 예시적인 그래픽 표현이다. 자이로스코프(104)에 의해 생성된 디바이스(100)의 각속도를 나타내는 샘플들이 도 5에서 샘플(502, 504, 506, 508, 510)로서 도시되었다. 도 5에 도시된 예시에서, 자이로스코프(104)의 샘플들의 타이밍이 규칙적이지 않음을 볼 수 있다. 예를 들어, 샘플(504)과 샘플(506) 사이의 시간은 샘플(506)과 샘플(508) 사이의 시간보다 더 짧다. 도 5의 샘플들을 연결하는 점선은 자이로스코프(104)에 의해 생성된 샘플들에 의해 표현되는 각속도를 보간함으로써 시간의 함수로서 결정될 수 있는 각속도의 값을 나타낸다. (점선에 의해 도시된) 보간된 각속도는 제 1 프레임과 제 2 프레임 사이의 카메라(102)의 각변위를 결정하기 위해 시간(t1-0.5e1)과 시간(t2-0.5e2) 사이에서 적분될 수 있다. 도 5는 자이로스코프(104)로부터의 샘플들 사이의 단순한 선형 보간을 도시한다. 다른 실시예에서, 더 진보된 보간이 사용될 수 있다.
카메라(102) 및 자이로스코프(104)에 대해 사용되는 하드웨어의 동작의 타이밍은 일치하지 않을 수 있다. 이것은 카메라(102) 및 자이로스코프(104)가 독립적인 하드웨어 칩에서 구현되기 때문일 수 있다. 따라서, 자이로스코프(104)에 의해 생성된 샘플들 또는 비디오 신호의 프레임들(또는 둘 모두)의 타임 스탬프에 대한 오프셋을 추가하는 것이 바람직할 수 있다. 이러한 방식으로, 자이로스코프(104)로부터의 샘플들의 타이밍은 비디오 신호의 프레임들의 타이밍과 정확하게 일치될 수 있다. 오프셋은 하드웨어 칩들의 특정 조합에 대해 일정하다. 따라서 지연(delay)은 오프라인으로 컴퓨팅될 수 있으며 본 명세서에서 기술되는 방법에 대한 프로세싱 불이익을 초래하지 않고 디바이스(100)에서 사용될 수 있다.
일반적으로, 카메라(102)의 회전은 이미지 내의 물체까지의 거리와 독립적으로 비디오 신호의 프레임의 이미지에 걸쳐 거의 일정한 픽셀 변위를 발생시킨다. 이것은 픽셀 변위가 물체까지의 거리의 함수인 선형 카메라 모션과 대조된다. 디바이스(100)의 회전을 픽셀 변위에 맵핑하는 함수(또는 알고리즘)는 카메라(102)의 파라미터(예로서, 카메라(102)의 렌즈의 폭과 초점 길이) 및 카메라(102)에 의해 캡처된 이미지의 해상도에 의존한다.
일부 실시예에서, 비디오 신호 내에 모션 블러(motion blur)가 존재할 때 이미지 안정화가 감소될 수 있다. 카메라(102)가 높은 레벨의 모션을 경험할 때, 비디오 내에 모션 블러가 나타날 것이다. 따라서, 만약 본 명세서에 기술된 이미지 안정화가 비디오 신호의 프레임에 적용되면, 결과적인 비디오 신호는 모션이 아닌 모션 블러를 포함할 것이며, 사용자는 이를 비정상적이거나 이상한 것으로 인식할 수 있다.
일 실시예에서, 예를 들어 시간 간격 [t1-e1, t1]과 같이 카메라 셔터가 개방되어 있는 시간 간격(즉, 비디오 신호의 프레임의 노출 시간) 동안 카메라(102)의 모션에 대한 보상이 이루어지지 않는다. 만약 노출 시간이 매우 짧다면(즉, 셔터가 닫혀있는 시간보다 훨씬 더 짧은 시간 동안 개방된다면), 이것은 뚜렷한 차이를 만들지 않을 것이다. 그러나, 만약 노출 시간이 매우 길다면(즉, 셔터가 닫혀있는 시간보다 훨씬 더 긴 시간 동안 개방된다면), 비디오 신호에 이미지 안정화가 거의 적용되지 않을 것이다. 이러한 방식으로 모션 블러가 항상 비디오 신호 내에 상응하는 모션을 가질 것임이 보장되며, 이는 비디오 신호의 뷰어에게 보다 자연스러운 것으로 인식된다.
자이로스코프(104)에 의해 생성된 샘플로부터 카메라(102)의 모션을 결정하는 것과 셔터 속도를 결정하는 것은, 이러한 정보가 추가적인 계산 복잡도를 추가하지 않고 비디오 신호가 경험할 수 있는 모션 블러를 고려해서 이미지 안정화를 적용할지 여부를 결정하는데에 이용될 수 있기 때문에 특히 바람직하다.
전술된 실시예에서, 모션 센서(104)는 디바이스(100)의 회전 운동을 나타내는 샘플들을 생성하는 자이로스코프이다. 다른 실시예에서, 모션 센서(104)는 병진 운동(translational motion)과 같은 다른 타입의 모션을 감지할 수 있으며, 디바이스(100)의 병진 운동을 나타내는 샘플들을 생성할 수 있다. 이러한 샘플들은 비디오 신호를 안정화하기 위해 회전 운동과 관련하여 전술된 것과 동일한 방식으로 사용될 수 있다. 그러나, 전술된 바와 같이 병진 운동에서 픽셀 변위는 이미지 내의 물체까지의 거리에 의존할 것이며, 따라서 픽셀 변위를 결정할 때 이것이 반드시 고려되어야만 한다. 예를 들어, 복수의 가속도계가 회전 운동을 평가하는 것이 가능할 수 있으며, 이러한 경우에 가속도계는 추가의 수정 없이 사용될 수 있다. 보다 일반적인 병진 안정화를 위해서, 이미지 내의 서로 다른 영역들이 서로 다른 양의 픽셀만큼 이동하기 때문에 본 명세서에 기술된 방법을 구현하는 것이 더욱 어려워질 수 있다. 그러나, 만약 물체까지의 거리가 일정하다면(그리고 알려져 있다면), 병진 운동에서 방법을 구현하는 것이 간단할 수 있다. 물체까지의 거리가 일정하지 않다고 해도(그러나 여전히 알려져 있다면) 병진 운동에서 방법을 구현하는 것이 가능할 수 있지만, 카메라(102)의 병진 운동에 의해 야기된 픽셀 변위를 결정하는데에 추가적인 문제가 추가된다.
도 2a에 도시된 기능 블록들은 디바이스(200)에서 소프트웨어 또는 하드웨어로 구현될 수 있다. 예를 들어, CPU(206)는 기능들을 구현하기 위한 프로세싱 블록들을 실행할 수 있다. 예를 들어, 비디오 신호를 안정화하기 위한 컴퓨터 프로그램 제품이 제공될 수 있으며, 이것은 메모리(208) 내에 저장되어 CPU(206)에 의해 실행될 수 있다. 컴퓨터 프로그램 제품은 CPU(206) 상에서 실행되었을 때 블록(203, 205, 207)의 기능을 구현하기 위한 방법 단계들을 수행하도록 구성될 수 있다. 이와 달리, 하드웨어 블록이 디바이스(200) 내에 구현될 수 있다.
또한, 본 발명이 바람직한 실시예를 참조하여 구체적으로 도시되고 기술되었지만, 첨부된 특허청구범위에 의해 정의되는 본 발명의 범주로부터 벗어나지 않고 형식 및 세부사항에서의 다양한 변경이 이루어질 수 있음을 당업자는 이해할 것이다.

Claims (10)

  1. 카메라에 의해 생성되어 인코딩된 비트스트림으로서 전송되는 비디오 신호를 안정화(stabilising)하는 방법으로서,
    상기 인코딩된 비트스트림을 수신하는 단계와,
    상기 인코딩된 비트스트림으로부터 상기 비디오 신호의 복수의 프레임을 디코딩하는 단계와,
    상기 인코딩된 비트스트림으로부터 상기 카메라의 모션의 표시를 결정하는 단계와,
    상기 모션 표시를 이용하여 상기 카메라에 의해 캡처된 연속적인 프레임들 사이에서의 상기 카메라의 변위(displacement)를 결정하는 단계와,
    상기 결정된 변위를 이용하여 상기 카메라의 상기 모션에 의해 야기된 상기 연속적인 프레임들 사이에서의 상기 디코딩된 비디오 신호 내의 모션을 보상(compensate)함으로써 상기 디코딩된 비디오 신호를 안정화하는 단계를 포함하는
    방법.
  2. 제 1 항에 있어서,
    상기 모션의 표시를 결정하는 단계는, 상기 인코딩된 비트스트림에서 수신된 모션 벡터를 처리하는 단계를 포함하는
    방법.
  3. 제 1 항에 있어서,
    상기 모션의 표시를 결정하는 단계는, 상기 카메라와 연관된 모션 센서로부터 상기 비트스트림 내에서 제공되는 샘플을 수신하는 단계를 포함하는
    방법.
  4. 제 1 항에 있어서,
    상기 결정된 변위를 이용하여 상기 카메라의 상기 모션에 의해 야기된 상기 연속적인 프레임들 사이에서의 상기 비디오 신호 내의 모션을 보상하는 것은,
    상기 카메라의 상기 결정된 변위에 의해 야기된 제 1 프레임과 제 2 프레임 사이에서의 상기 비디오 신호 내의 모션을 나타내는 픽셀 변위를 결정하는 것과,
    상기 픽셀 변위를 필터링하는 것과,
    상기 필터링된 픽셀 변위에 따라서 상기 제 1 프레임과 상기 제 2 프레임 중 적어도 하나의 이미지를 시프팅(shifting)함으로써 상기 비디오 신호를 안정화하는 것을 포함하는
    방법.
  5. 제 4 항에 있어서,
    상기 픽셀 변위를 필터링하는 것은,
    상기 제 2 프레임에 대해 상기 결정된 픽셀 변위에 기초하여 누적된 픽셀 변위를 결정하는 것과,
    상기 제 2 프레임에 대한 상기 결정된 누적된 픽셀 변위와 상기 제 1 프레임에 대한 필터링된 누적 픽셀 변위의 가중합(weighted sum)에 기초하여 상기 제 2 프레임에 대한 필터링된 누적 픽셀 변위를 결정하는 것을 포함하는
    방법.
  6. 제 4 항 또는 제 5 항에 있어서,
    상기 제 2 프레임은 상기 제 1 프레임 후에 수신되는
    방법.
  7. 제 4 항 또는 제 5 항에 있어서,
    상기 제 1 프레임은 상기 제 2 프레임 후에 수신되며, 상기 제 2 프레임은 상기 제 1 프레임이 수신될 때까지 버퍼링되는
    방법.
  8. 비디오 신호를 안정화하는 디바이스로서,
    인코딩된 비트스트림을 수신하도록 구성된 인터페이스와,
    상기 비트스트림으로부터 상기 비디오 신호의 복수의 프레임을 디코딩하도록 구성된 디코더와,
    카메라에 의해 캡처된 연속적인 프레임들 사이에서의 상기 카메라의 변위를 결정하기 위해 상기 비트스트림 내에서 수신된 모션 표시를 이용하도록 구성된 변위 결정 블록과,
    상기 카메라의 상기 모션에 의해 야기된 상기 연속적인 프레임들 사이에서의 상기 디코딩된 비디오 신호 내의 모션을 보상하기 위해 상기 결정된 변위를 이용함으로써 상기 디코딩된 비디오 신호를 안정화하도록 구성되는 모션 보상 블록(motion compensation block)을 포함하는
    디바이스.
  9. 제 8 항에 있어서,
    상기 디바이스는 모바일 디바이스이고,
    상기 디바이스는 상기 디코딩되고 안정화된 비디오 신호를 디스플레이하도록 구성된 디스플레이를 포함하는
    디바이스.
  10. 비일시적 컴퓨터 판독가능한 매체 상에서 구현되고, 디바이스의 프로세서 상에서 실행되었을 때 제 1 항 내지 제 7 항 중 임의의 항에 따른 단계들을 수행하도록 구성되는, 비디오 신호를 안정화하기 위한 컴퓨터 프로그램 제품.
KR1020147009716A 2011-10-14 2012-10-14 수신된 비디오 안정화 기법 KR101912977B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
GB1117774.8A GB2497507B (en) 2011-10-14 2011-10-14 Received video stabilisation
GB1117774.8 2011-10-14
US13/339,879 US9762799B2 (en) 2011-10-14 2011-12-29 Received video stabilization
US13/339,879 2011-12-29
PCT/US2012/060167 WO2013056202A1 (en) 2011-10-14 2012-10-14 Received video stabilisation

Publications (2)

Publication Number Publication Date
KR20140073527A true KR20140073527A (ko) 2014-06-16
KR101912977B1 KR101912977B1 (ko) 2019-01-14

Family

ID=45219728

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147009716A KR101912977B1 (ko) 2011-10-14 2012-10-14 수신된 비디오 안정화 기법

Country Status (7)

Country Link
US (1) US9762799B2 (ko)
EP (1) EP2759124B1 (ko)
JP (1) JP6140171B2 (ko)
KR (1) KR101912977B1 (ko)
CN (1) CN103139446B (ko)
GB (1) GB2497507B (ko)
WO (1) WO2013056202A1 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2492529B (en) 2011-05-31 2018-01-10 Skype Video stabilisation
GB201116566D0 (en) 2011-09-26 2011-11-09 Skype Ltd Video stabilisation
GB2497507B (en) 2011-10-14 2014-10-22 Skype Received video stabilisation
KR101939628B1 (ko) * 2012-05-30 2019-01-17 삼성전자주식회사 모션 검출 방법 및 모션 검출기
US9554042B2 (en) * 2012-09-24 2017-01-24 Google Technology Holdings LLC Preventing motion artifacts by intelligently disabling video stabilization
KR101652658B1 (ko) * 2014-02-07 2016-08-30 가부시키가이샤 모르포 화상 처리 장치, 화상 처리 방법, 화상 처리 프로그램 및 기록 매체
US10283031B2 (en) * 2015-04-02 2019-05-07 Apple Inc. Electronic device with image processor to reduce color motion blur
CN106296725B (zh) * 2015-06-12 2021-10-19 富泰华工业(深圳)有限公司 运动目标实时检测与跟踪方法及目标检测装置
CN107925722B (zh) 2015-11-16 2020-05-12 谷歌有限责任公司 用于补偿相机运动的方法和设备
US9473758B1 (en) * 2015-12-06 2016-10-18 Sliver VR Technologies, Inc. Methods and systems for game video recording and virtual reality replay
US10027893B2 (en) * 2016-05-10 2018-07-17 Nvidia Corporation Real-time video stabilization for mobile devices based on on-board motion sensing
US10506163B2 (en) * 2016-06-10 2019-12-10 Invensense, Inc. Systems and methods for synchronizing sensor data
CN109711421A (zh) * 2017-10-25 2019-05-03 腾讯科技(深圳)有限公司 一种数据处理方法和装置
CN109544630B (zh) * 2018-11-30 2021-02-02 南京人工智能高等研究院有限公司 位姿信息确定方法和装置、视觉点云构建方法和装置
US11706507B2 (en) * 2020-12-30 2023-07-18 Waymo Llc Systems, apparatus, and methods for generating enhanced images

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005236662A (ja) * 2004-02-19 2005-09-02 Mitsubishi Electric Corp 撮像方法、撮像装置及び撮像システム
JP2007522772A (ja) * 2004-02-13 2007-08-09 クゥアルコム・インコーポレイテッド 適応的画像安定
JP2009532990A (ja) * 2006-04-04 2009-09-10 クゥアルコム・インコーポレイテッド 適応符号器支援フレーム・レート・アップコンバージョン

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3634414C2 (de) 1986-10-09 1994-12-08 Thomson Brandt Gmbh Fernsehkamera mit einem Target
US4959725A (en) 1988-07-13 1990-09-25 Sony Corporation Method and apparatus for processing camera an image produced by a video camera to correct for undesired motion of the video camera
JP3227173B2 (ja) 1991-06-24 2001-11-12 キヤノン株式会社 撮像装置及びその方法
US5438361A (en) 1992-04-13 1995-08-01 Hughes Aircraft Company Electronic gimbal system for electronically aligning video frames from a video sensor subject to disturbances
US5835138A (en) * 1995-08-30 1998-11-10 Sony Corporation Image signal processing apparatus and recording/reproducing apparatus
JPH1198420A (ja) 1997-09-22 1999-04-09 Sony Corp 電子式手振れ補正装置
US6982746B1 (en) 1998-02-24 2006-01-03 Canon Kabushiki Kaisha Apparatus and method for correcting shake by controlling sampling timing of shake signal
KR20020001087A (ko) 2000-06-24 2002-01-09 송희상 인터넷을 이용한 보험 중개 사업 방법
KR100683849B1 (ko) 2000-06-28 2007-02-15 삼성전자주식회사 디지털 영상 안정화기능을 갖는 디코더 및 디지털영상안정화방법
KR100343780B1 (ko) * 2000-07-31 2002-07-20 한국전자통신연구원 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및분할방법
JP3865125B2 (ja) 2002-02-08 2007-01-10 ソニー株式会社 画像処理装置および方法、記録媒体、並びにプログラム
EP1377040A1 (en) 2002-06-19 2004-01-02 STMicroelectronics S.r.l. Method of stabilizing an image sequence
US7639889B2 (en) 2004-11-10 2009-12-29 Fotonation Ireland Ltd. Method of notifying users regarding motion artifacts based on image analysis
US7649539B2 (en) 2004-03-10 2010-01-19 Microsoft Corporation Image formats for video capture, processing and display
US7933333B2 (en) 2004-06-30 2011-04-26 Pelco, Inc Method and apparatus for detecting motion in MPEG video streams
US7649549B2 (en) 2004-09-27 2010-01-19 Texas Instruments Incorporated Motion stabilization in video frames using motion vectors and reliability blocks
JP4179279B2 (ja) 2004-12-28 2008-11-12 セイコーエプソン株式会社 撮像装置並びにこれを備えた携帯機器及び携帯電話機
EP1679884B1 (en) 2004-12-28 2008-01-23 Seiko Epson Corporation Imaging apparatus and portable device and portable telephone using the same
JP4390068B2 (ja) 2004-12-28 2009-12-24 ソニー株式会社 撮像画像信号の歪み補正方法および撮像画像信号の歪み補正装置
US20060185431A1 (en) 2005-02-23 2006-08-24 Henryk Birecki Camera motion detection system
CN101180874B (zh) * 2005-05-25 2010-09-08 松下电器产业株式会社 成像装置、显示控制装置、显示装置、打印控制装置、以及打印装置
US7693405B2 (en) 2005-11-25 2010-04-06 Seiko Epson Corporation Image pickup device, method of controlling image pickup device, and recording medium
JP4509925B2 (ja) 2005-12-27 2010-07-21 株式会社メガチップス 画像処理装置及びカメラシステム並びに画像処理方法及び動画像表示方法
JP3956991B2 (ja) 2006-01-20 2007-08-08 ソニー株式会社 撮像装置
US7840085B2 (en) 2006-04-06 2010-11-23 Qualcomm Incorporated Electronic video image stabilization
JP4671430B2 (ja) * 2006-06-02 2011-04-20 キヤノン株式会社 撮像装置、撮像装置の制御方法、プログラム及び記録媒体
FR2903200B1 (fr) 2006-06-29 2008-12-19 Thales Sa Stabilisation hybride d'images pour camera video
US7626612B2 (en) 2006-06-30 2009-12-01 Motorola, Inc. Methods and devices for video correction of still camera motion
TWI422958B (zh) 2006-07-13 2014-01-11 Pentax Ricoh Imaging Co Ltd 防震裝置
JP4241814B2 (ja) 2006-12-06 2009-03-18 三洋電機株式会社 画像補正装置及び方法並びに電子機器
US8358345B1 (en) 2007-03-19 2013-01-22 Monitoring Technology Corporation System and method of video capture for sports applications
JP4958610B2 (ja) * 2007-04-06 2012-06-20 キヤノン株式会社 画像防振装置、撮像装置及び画像防振方法
US20090135264A1 (en) 2007-11-28 2009-05-28 Motorola, Inc. Motion blur detection using metadata fields
JP5111088B2 (ja) 2007-12-14 2012-12-26 三洋電機株式会社 撮像装置及び画像再生装置
JP4640456B2 (ja) 2008-06-25 2011-03-02 ソニー株式会社 画像記録装置、画像記録方法、画像処理装置、画像処理方法、プログラム
US7920179B2 (en) 2008-08-05 2011-04-05 Sony Ericsson Mobile Communications Ab Shadow and reflection identification in image capturing devices
US8194152B2 (en) 2008-09-05 2012-06-05 CSR Technology, Inc. Image processing under flickering lighting conditions using estimated illumination parameters
US20100220215A1 (en) 2009-01-12 2010-09-02 Jorge Rubinstein Video acquisition and processing systems
US8896697B2 (en) 2009-04-07 2014-11-25 Chen Golan Video motion compensation and stabilization gimbaled imaging system
JP2010273038A (ja) 2009-05-20 2010-12-02 Hoya Corp 撮像装置
US8416277B2 (en) 2009-12-10 2013-04-09 Apple Inc. Face detection as a metric to stabilize video during video chat session
DE102009058597B4 (de) 2009-12-17 2012-04-19 Siemens Aktiengesellschaft Bildaufnahmesystem zur Aufnahme und Übertragung digitaler Videobilder, Bilddatenverarbeitungssystem zum Empfangen und Verarbeiten digitaler Bilddaten, Bildstabilisierungssystem und Verfahren zum Generieren verwacklungsarmer digitaler Videobilder
US9124804B2 (en) 2010-03-22 2015-09-01 Microsoft Technology Licensing, Llc Using accelerometer information for determining orientation of pictures and video images
JP5778998B2 (ja) * 2010-06-04 2015-09-16 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 撮像装置、画像生成方法およびコンピュータプログラム
US8488010B2 (en) 2010-09-21 2013-07-16 Hewlett-Packard Development Company, L.P. Generating a stabilized video sequence based on motion sensor data
US9041817B2 (en) 2010-12-23 2015-05-26 Samsung Electronics Co., Ltd. Method and apparatus for raster output of rotated interpolated pixels optimized for digital image stabilization
GB2492529B (en) 2011-05-31 2018-01-10 Skype Video stabilisation
GB201116566D0 (en) 2011-09-26 2011-11-09 Skype Ltd Video stabilisation
GB2497507B (en) 2011-10-14 2014-10-22 Skype Received video stabilisation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007522772A (ja) * 2004-02-13 2007-08-09 クゥアルコム・インコーポレイテッド 適応的画像安定
JP2005236662A (ja) * 2004-02-19 2005-09-02 Mitsubishi Electric Corp 撮像方法、撮像装置及び撮像システム
JP2009532990A (ja) * 2006-04-04 2009-09-10 クゥアルコム・インコーポレイテッド 適応符号器支援フレーム・レート・アップコンバージョン

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
일본 공표특허공보 특표2007-522772호(2007.08.09.) 1부. *
일본 공표특허공보 특표2009-532990호(2009.09.10.) 1부. *

Also Published As

Publication number Publication date
GB201117774D0 (en) 2011-11-30
US20130093906A1 (en) 2013-04-18
GB2497507B (en) 2014-10-22
CN103139446B (zh) 2016-12-21
CN103139446A (zh) 2013-06-05
GB2497507A (en) 2013-06-19
JP6140171B2 (ja) 2017-05-31
JP2015501580A (ja) 2015-01-15
KR101912977B1 (ko) 2019-01-14
EP2759124A1 (en) 2014-07-30
EP2759124B1 (en) 2017-01-11
US9762799B2 (en) 2017-09-12
WO2013056202A1 (en) 2013-04-18

Similar Documents

Publication Publication Date Title
KR101912977B1 (ko) 수신된 비디오 안정화 기법
CN106101566B (zh) 视频稳定化
EP2742680B1 (en) Video stabilisation
JP3505199B2 (ja) ビデオカメラジッタ補正装置、データ圧縮装置、データ伸長装置、データ圧縮方法及びデータ伸長方法
KR101426095B1 (ko) 화상 처리 장치, 촬상 장치 및 화상 처리 방법
CN110475067B (zh) 图像处理方法和装置、电子设备、计算机可读存储介质
CN102957869B (zh) 视频稳定
CN110351508B (zh) 基于录像模式的防抖处理方法和装置、电子设备
KR102003460B1 (ko) 왜곡제거장치 및 방법
Wus et al. Toward experiential mobile media processing
JP4406517B2 (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