KR101778420B1 - 캡처된 비디오의 배향을 조정하기 위한 시스템 및 방법 - Google Patents
캡처된 비디오의 배향을 조정하기 위한 시스템 및 방법 Download PDFInfo
- Publication number
- KR101778420B1 KR101778420B1 KR1020157016976A KR20157016976A KR101778420B1 KR 101778420 B1 KR101778420 B1 KR 101778420B1 KR 1020157016976 A KR1020157016976 A KR 1020157016976A KR 20157016976 A KR20157016976 A KR 20157016976A KR 101778420 B1 KR101778420 B1 KR 101778420B1
- Authority
- KR
- South Korea
- Prior art keywords
- orientation
- video
- captured
- capture device
- video capture
- Prior art date
Links
Images
Classifications
-
- H04N5/23267—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/681—Motion detection
- H04N23/6812—Motion detection based on additional sensors, e.g. acceleration sensors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/682—Vibration or motion blur correction
- H04N23/683—Vibration or motion blur correction performed by a processor, e.g. controlling the readout of an image memory
-
- H04N5/23258—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Studio Devices (AREA)
- Television Signal Processing For Recording (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
- Length Measuring Devices With Unspecified Measuring Means (AREA)
Abstract
가속도계와 같은 빌트인 관성 측정 유닛으로부터 수신된 데이터를 이용하는 캡처된 비디오의 배향을 조정하기 위한 시스템 및 방법이 본원에 설명된다. 비디오 캡처 동안, 디바이스는 완전히 수직이거나 수평적이지 않고 따라서 장면의 실제 배향에 일치하지 않는 포지션에서 홀딩될 수도 있다. 이것은, 캡처된 비디오로 하여금, 비디오 캡처 디바이스와 동일한 회전 각도에서 플레이백 동안 회전된 것으로 보이게 할 수 있다. 설명된 시스템은 비디오가 캡처되었던 것과 동일한 시간 동안 캡처된 센서 데이터를 이용함으로써 회전된 비디오의 플레이백 배향을 조정할 수 있다.
Description
본 발명은 일반적으로, 비디오 레코딩 디바이스 안에 구축된 가속도계 데이터를 이용함으로써 장면에서 오브젝트의 캡처된 비디오의 배향을 조정하기 위한 시스템들 및 방법들에 관한 것이다.
통상적으로, 캠코더의 프리뷰에서 또는 비디오 텔레포니 (VT) 애플리케이션의 로컬 뷰에서, 오브젝트의 이미지 배향은 항상, 디바이스의 배향에 관계 없이 장면에서의 오브젝트의 실제 (true) 배향과 동일하다.
그러나, 프레임들이 인코딩되는 경우, 각 프레임에서 오브젝트의 이미지 배향은 프레임이 캡처된 순간에 디바이스의 배향에 의존하고, 이것은 장면에서의 오브젝트의 실제 배향에 반드시 일치할 필요는 없다. 따라서, 오브젝트를 캡처하고 있을 때 디바이스가 각도 (θ) 만큼 회전되면, 레코딩된 비디오에서 오브젝트의 뷰는 또한, 캡처된 장면에서 오브젝트의 실제 배향을 제시하는 대신에 각도 (θ) 만큼 회전될 것이다.
일 실시형태에서, 본 발명은 비디오 캡처 디바이스 상에서 캡처된 비디오를 인코딩하는 방법을 제공한다. 이 방법은, 장면의 비디오가 캡처되고 있을 때 비디오 캡처 디바이스로부터 배향 데이터를 판독하는 단계를 포함한다. 방법은, 배향 데이터에 기초하여 회전 매트릭스를 생성하는 단계를 더 포함한다. 방법은, 캡처된 비디오의 배향을 조정하여 장면의 실제 배향에 일치시키는 단계를 더 포함한다. 방법은, 조정된 캡처 비디오를 인코딩하는 단계를 더 포함한다. 다른 실시형태에서, 본 발명은 비디오 캡처 디바이스 상에서 비디오 캡처를 인코딩하는 시스템을 제공한다. 이 시스템은 장면의 비디오를 캡처하도록 구성된 이미지 센서를 포함한다. 시스템은, 비디오 캡처 디바이스로부터 배향 데이터를 제공하도록 구성된 관성 측정 유닛을 더 포함한다. 시스템은 배향 데이터에 기초하여 회전 매트릭스를 생성하고, 캡처된 비디오의 배향을 조정하여 장면의 실제 배향에 일치시키도록 구성된 회전 모듈을 더 포함한다. 시스템은, 조정된 캡처 비디오를 인코딩하도록 구성된 인코더를 더 포함한다. 다른 실시형태에서, 본 발명은 비디오 캡처 디바이스 상에서 캡처된 비디오를 인코딩하는 시스템을 제공한다. 시스템은, 장면의 비디오가 캡처되고 있을 때 비디오 캡처 디바이스로부터 배향 데이터를 판독하기 위한 수단을 더 포함한다. 시스템은, 배향 데이터에 기초하여 회전 매트릭스를 생성하기 위한 수단을 더 포함한다. 시스템은, 캡처된 비디오의 배향을 조정하여 장면의 실제 배향에 일치시키기 위한 수단을 더 포함한다. 시스템은, 조정된 캡처 비디오를 인코딩하기 위한 수단을 더 포함한다.
도 1 은 본 발명의 일 실시형태에 따른 디스플레이 스크린 상에서 이미지 변환 및 장면 캡처의 예시이다.
도 2 는 본 발명의 일 실시형태에 따른 시스템 레벨 오버뷰의 블록도이다.
도 3 은 캡처된 비디오의 배향 조정을 위한 프로세스의 오버뷰를 나타내는 흐름도이다.
도 4 는 가속도계 유닛으로부터 데이터를 판독하는 프로세스의 오버뷰를 나타내는 흐름도이다.
도 5 는 회전 매트릭스에 기초하여 비디오 배향을 조정하는 프로세스의 오버뷰를 나타내는 흐름도이다.
도 2 는 본 발명의 일 실시형태에 따른 시스템 레벨 오버뷰의 블록도이다.
도 3 은 캡처된 비디오의 배향 조정을 위한 프로세스의 오버뷰를 나타내는 흐름도이다.
도 4 는 가속도계 유닛으로부터 데이터를 판독하는 프로세스의 오버뷰를 나타내는 흐름도이다.
도 5 는 회전 매트릭스에 기초하여 비디오 배향을 조정하는 프로세스의 오버뷰를 나타내는 흐름도이다.
본 발명의 실시형태들은 비디오 캡처 디바이스와 연관된 센서들로부터 수집된 데이터에 기초하여 캡처된 비디오의 배향을 조정하기 위한 시스템들 및 방법들에 관한 것이다. 예를 들어, 캡처된 비디오의 배향은 비디오 캡처 디바이스 안에 구축된 중력 센서, 또는 가속도계 유닛으로부터 캡처된 배향 데이터에 기초하여 조정될 수도 있다. 특히, 가장 현대의 모바일 폰들은 비디오 및 이미지 캡처링 능력들을 갖는 빌트-인 카메라를 포함한다. 예를 들어, 통상적인 현대의 모바일 폰 카메라는 초당 최대 30 프레임들로 비디오들을 레코딩하기 위한 능력을 제공할 수도 있다.
또한, 모바일 폰들은 빈번하게, 사용자 인터페이스 제어를 위한 디바이스 안에 구축된 가속도계를 포함한다. 가속도계는 제 순간에 디바이스에 인가된 힘을 측정한다. 이들 힘들은, 사용자가 어느 방향으로 디바이스를 이동시키고 있는지를 결정하고, 이에 따라 배향 데이터를 제공하는데 사용될 수도 있다. 가속도 값은 X, Y 및 Z 축들에서 가속도 성분들을 나타내는 3 차원 벡터로서 표현된다. 가속도의 배향은, 디바이스가 레벨 테이블 상에서 위를 향하는 경우 Z-축에 -1g 이 인가되고, 디바이스가 테이블 상단에 수직하게 배치되는 경우 Y-축을 따라 -1g 이 인가되도록 디바이스에 대한 것일 수도 있다. 가속도계는 폰의 배향, 또는 디바이스가 사용자에 의해 홀딩되고 있는 방법에 기초하여 디바이스의 스크린 상에 비디오들 또는 이미지들의 가로방향 또는 세로방향 (landscape or portrait) 뷰들을 제시하는데 사용될 수도 있다.
전술된 바와 같이 비디오 레코딩 동안, 캡처된 비디오의 배향은 장면에서 캡처된 오브젝트들의 "실제 배향" 에 반드시 일치하지는 않는다. 예를 들어, 비디오 레코딩 디바이스가 레코딩 동안 각도를 통해 틸트 또는 회전되면, 캡처된 비디오는 디바이스 상에서 다시 플레이될 때와 동일한 각도로 회전될 것이다. 결과적으로, 레코딩된 비디오는, 그 비디오가 통상의 수직 또는 수평 배향으로 홀딩되고 있는 동안 모바일 디바이스 스크린 상에서 다시 플레이되는 경우, "틸트" 또는 "회전" 된 것으로 보일 수 있다. 또한, 비디오가 다른 디바이스 (예컨대, 텔레비전) 상에서 송신되거나 플레이백을 위해 저장되면, 이 비디오는 또한, 모바일 디바이스 상의 레코딩 동안 그것이 틸트되었던 동일한 각도 만큼 회전, 또는 틸트되는 것으로 보인다. 그러나, 본원에 논의된 바와 같이, 실시형태들은 플레이백을 위해 적절히 디바이스를 배향하기 위해 비디오 디바이스 센서들로부터 캡처된 데이터를 사용할 수 있다. 일 예로서, 일단 가속도계 데이터가 판독되면, 그 데이터는 틸트된 비디오 배향을 보정하기 위해 회전 매트릭스를 계산하는데 이용되어, 비디오는 통상의 배향에서 플레이백되는 방식으로 인코딩될 것이다.
도 1 은 비디오 캡처 디바이스 (120) 에 의해 레코딩되고 있는 트리 (110) 의 회전된 배향을 나타내는 장면 (100) 의 일 실시형태의 예시이다. 비디오 캡처 디바이스 (120) 는 모바일 폰, 태블릿 PC, 디지털 카메라, 또는 빌트-인 포지션 센서, 예컨대 가속도계 또는 관성 측정 유닛을 포함하는 임의의 레코딩 디바이스를 포함할 수도 있다.
도시된 바와 같이, 비디오 캡처 디바이스 (120) 는 트리 (110) 를 레코딩하는 동안 일 각도에서 틸트된다. 비디오 캡처 디바이스 (130) 는 비디오 캡처 디바이스 (120) 또는 다른 디바이스와 동일한 디바이스일 수 있고, 비디오 캡처 디바이스 (120) 의 포지션에 기초하여 캡처된 이미지들을 회전시키는 본원에 설명된 실시형태들을 포함할 수 있다. 도시된 바와 같이, 디바이스 (130) 의 배향이 장면 (100) 에서 캡처된 트리의 실제 배향에 일치하도록, 디바이스 (130) 는 트리 (110) 가 임의의 틸트 없이 레코딩되는 것을 나타낸다. 비디오 캡처 디바이스 (120) 의 스크린 (125) 상에 도시된 바와 같이, 트리 (110) 의 배향은, 스크린 (125) 상에 도시된 트리의 상부가 비디오 스크린 (125) 의 상단 좌측부 (128) 를 향해 가리키거나, 회전되도록 배향된다. 본원에 설명된 배향 조정 시스템의 부재 시에, 트리 (110) 의 상단의 이미지는 디바이스가 수직 포지션으로 홀딩되어 있을 때에도 디바이스 (130) 의 상단 좌측부를 계속해서 가리킨다.
따라서, 실시형태들은 비디오 캡처 디바이스의 빌트-인 가속도계 또는 관성 측정 유닛으로부터의 데이터를 판독함으로써 이 디스플레이 결함을 보정한다. 이 데이터는, 최종 비디오가 스크린 상에서 오브젝트의 실제 배향에 일치하도록 비디오 인코딩 동안 캡처된 오브젝트를 회전시키는 회전 매트릭스를 도출하는데 사용될 수도 있다. 디바이스 (130) 에 도시된 바와 같이, 이미지 변환 후에 스크린 (135) 은 오브젝트의 실제 배향에 일치하는 수직 축 (12 시 정각 포지션) 을 따라 상방을 가리키는 트리의 배향을 도시한다.
도 2 는 도 1 의 시스템 (120) 의 블록도이다. 카메라 (210) 는 상이한 프레임 레이트들로 스크린의 이미지, 또는 비디오를 캡처할 능력을 제공한다. 예를 들어, 카메라 (210) 는 초 당 30 프레임들의 프레임 레이트로 비디오를 캡처할 수도 있다. 카메라는 비디오 캡처 디바이스 (120) 의 가속도계 판독값 (reading) 들을 측정하는 가속도계 유닛 (230) 과 함께 작업하는 프로세서 (220) 에 접속된다. 가속도계 유닛 (230) 은 또한, 캡처된 비디오의 배향을 조정하는데 있어서 사용하기 위한 비디오 캡처 디바이스의 공간적 배향을 도출하도록 가속도계 대신에 3-축 자이로스코프로 이루어질 수도 있다.
프로세서 (220) 는 레코딩 동안 비디오 캡처 디바이스의 회전을 보정하기 위해 방향 코사인 매트릭스, 또는 회전 매트릭스를 도출할 수도 있다. 시스템 모듈 (240) 의 세트는, 캡처된 비디오의 배향을 조정하는 많은 기능들을 제공하도록 시스템 내에서 함께 작용하는 것으로 도시된다. 모션 스태빌라이저 모듈 (242) 은 레코딩 동안 이미지 또는 비디오를 안정시키고, 안티-블러 (anti-blur) 기능을 위해 가속도계 유닛 (230) 데이터를 사용할 수도 있다. 이미지 캡처 모듈 (244) 은 카메라 (210) 에 의해 캡처된 비디오의 각 프레임을 프로세싱하고, 회전 모듈 (246) 과 함께 작업하여 현재 프레임의 배향 조정을 위한 회전 매트릭스를 계산할 수도 있다. 회전 모듈 (246) 은 프레임별 단위로 캡처된 비디오의 배향을 조정하는 회전 매트릭스를 도출하기 위해 가속도계 유닛 (230) 으로부터 가속도계 또는 관성 측정 유닛 데이터를 판독하도록 구성될 수도 있다. 디스플레이 디바이스 (250) 는 그 후, 배향 조정된 캡처 비디오를 디스플레이하거나 조정되지 않은 배향 비디오를 디스플레이할 수도 있다.
도 3 은 본원에 논의된 바와 같이, 캡처된 비디오의 배향을 조정하는 프로세스 (300) 의 일 실시형태를 나타내는 흐름도이다. 프로세스 (300) 는 블록 310 에서 시작하고, 여기서 조정될 비디오가 캡처되거나 디바이스에 제공된다. 비디오는 프레임들의 시퀀스로서, 또는 장면의 정적 이미지들로서 제공될 수도 있다. 프로세서 (300) 는 그 후, 프로세스 블록 320 으로 계속되어 가속도계 유닛 데이터를 판독한다. 전술된 바와 같이, 가속도계 유닛은 또한, 회전 매트릭스를 계산하도록 사용된 데이터를 도출하기 위해 가속도계 대신에 3-축 자이로스코프를 포함할 수도 있다. 프로세스 블록 320 에서 취해진 단계들은 이하의 도 4 에 대하여 더 상세히 논의될 것이다.
일단, 프로세스 블록 320 에서 가속도계 데이터가 비디오 캡처 디바이스로부터 판독되면, 프로세스 (300) 는 블록 330 으로 계속되어 캡처된 비디오의 배향을 조정하도록 회전 매트릭스를 계산한다. 도출된 회전 매트릭스는, 레코딩 동안 비디오 캡처 디바이스의 움직임에 따라, 각각의 비디오 프레임에 대해, 또는 소정 수의 프레임들 마다 업데이트될 수도 있다. 가속도계 센서 판독값들은 또한, 지터링 (jittering) 을 제거하기 위해 로우 패스 필터를 사용하여 필터링되고, 그 후 회전 매트릭스를 도출하도록 프로세싱될 수도 있다. 일 예로서, 가속도계 축들은 다음과 같이 정의될 수도 있다: Y-축은 북쪽 (12 시 정각 포지션) 을 대면하는 포지티브 방향으로, 비디오 캡처 디바이스의 수직 방향을 따라 런할 수도 있다; X-축은 동쪽 (3 시 정각 포지션) 을 대면하는 포지티브 방향으로, 비디오 캡처 디바이스의 수평 방향을 따라 런 (run) 할 수도 있다; Z 축은 (디바이스의 회전이 Z-축을 따르도록) 디바이스의 상단을 통해 상방으로 대면하는 포지티브 방향으로, 비디오 캡처 디바이스를 통해 런할 수도 있다.
사용자가 레코딩 동안 비디오 캡처 디바이스를 틸트하고 있는 경우, 본 발명은 단지, X 및 Y 평면을 따른 회전을 수반하고, 따라서 Z-축 가속도계 판독값들은 회전 매트릭스를 도출하는데 있어서 통합될 필요가 없다. 비디오 캡처 디바이스가 표준 포지션에서 홀딩되고, 비디오 캡처 디바이스가 또한, 캡처된 오브젝트의 배향에 일치하도록 배향된다고 가정하면 ("표준" 배향을 나타내고 또한, 캡처된 트리 (110) 의 배향에 일치하는, 도 1 에서 비디오 캡처 디바이스 (130) 의 배향을 참조), 포지티브 Y-축은 중력 방향을 따라 런한다.
따라서, 3-축 가속도계의 Y-축은 수직 방향을 따른 중력 가속도 (대략, 9.8 m/s2) 를 측정한다. 도 1 의 비디오 캡처 디바이스 (130) 에 의해 도시된 바와 같이 표준 배향에서 X-축을 따른 측정은, X 축을 따른 틸트 또는 회전이 존재하지 않기 때문에 0 일 것이다. 따라서, 표준 포지션에서, 가속도계 벡터 판독값은 (0, 9.8 m/s2) 이고 표준화 후에는 (중력 가속도에 의해 X 및 Y 축 양자를 분할) (0, 1) 이다.
다음으로, 비디오 캡처 디바이스가 각도 θ 만큼 시계 방향으로 회전되는 경우, (도 1 의 비디오 캡처 디바이스 (120) 에 의해 도시된 바와 같은) 새로운 배향은 네거티브 x-축을 따른 가속도계 판독값을 갖는다. 각도 θ 에서 사용자에 의한 회전 후에, 비디오 캡처 디바이스는 이제, 새로운 축들 X' 및 Y' 를 정의할 수 있도록 배향되며, 여기서 X' 는 (표준 X-축 "아래" 에서 각도 θ 만큼 회전된) 비디오 캡처 디바이스의 하부를 따라 런하고, Y' 는 (표준 Y-축의 "우측" 으로 각도 θ 만큼 회전된) 비디오 캡처 디바이스의 좌측을 따라 런한다. 원래의 "표준 포지션" 에서 좌표들 (X, Y) 에서 X, Y 평면에서 비디오 캡처 디바이스의 시작 표준 배향과 좌표들 (X', Y') 에서 (도 1 의 120 에 의해 도시된 바와 같은) 회전된 배향 간의 관계는 다음과 같을 수 있다:
따라서, X-Y 평면을 따라 각도 θ 에서 시계 방향으로의 사용자 유도된 회전을 위해, 상기 회전 매트릭스가 사용되어 캡처된 이미지 또는 프레임을 "표준" 또는 "실제 (true)" 배향으로 조정하여 캡처된 장면 또는 캡처된 오브젝트의 "실제 배향" 에 일치시킬 수도 있다. 또한, 상기 매트릭스는, 회전 각도 θ 이 비디오 캡처 디바이스가 장면을 레코딩함에 따라 변할 수도 있기 때문에 프레임 단위로 프레임 상에서 업데이트될 수도 있다. 또한, 유사한 매트릭스는 3-축 자이로스코프를 이용하여 계산될 수도 있고, 이것은 각속도를 측정하여 비디오 캡처 디바이스의 레코딩 동안 회전을 보정하기 위한 매트릭스를 도출할 수도 있다.
프로세스 (300) 는 그 후, 프로세스 블록 340 으로 계속하여, 블록 330 으로부터 계산된 회전 매트릭스에 기초하여 캡처된 비디오를 조정한다. 프로세스 (340) 는 도 5 에 대하여 이하에서 더 상세히 논의될 것이다.
다음으로, 프로세스 (300) 는 블록 350 으로 이동하고, 프로세스 블록 340 으로부터 조정된 배향을 사용하여 비디오를 인코딩한다. 인코딩된 비디오는 로컬 메모리에 저장되거나, 비디오 텔레포니 애플리케이션 또는 디스플레이 목적들을 위해 수신자의 측에서 디코딩하기 위해 네트워크 전체에 걸쳐 송신될 수도 있다. 다음으로, 프로세스 (300) 는 결정 블록 370 으로 이동하여, 원래의 (조정되지 않은) 비디오를 로컬로 디스플레이할지 안할지 여부를 결정한다. 비디오를 디스플레이하지 않는 결정이 이루어지면, 그 후 프로세스 (300) 는 블록 360 으로 이동하여 비디오를 저장 또는 송신한다. 그러나, 결정 상태 (370) 에서 비디오를 디스플레이하도록 결정이 이루어지면, 프로세스 (300) 는 상태 380 으로 이동하고, 여기서 비디오는, 블록 390 에서 프로세스 (300) 가 종료되기 전에 비디오 캡처 디바이스의 빌트인 디스플레이 스크린, 또는 외부 디스플레이 디바이스 상에 디스플레이된다.
도 4 는 가속도계 유닛 데이터를 판독하는 프로세스 (320) 를 더 상세히 나타낸다. 각각의 비디오 프레임의 캡처링 동안, 가속도계의 하나 또는 다수의 판독값이 획득될 수도 있다. 3 축 가속도계에 있어서, 단일 판독은 X, Y, Z 컴포넌트들을 갖는 가속도 벡터를 산출할 것이다. 도 4 에 도시된 바와 같이, X-축 (420), Y-축 (430) 및 Z-축 (440) 은 동시에 또는 개별적으로 판독될 수도 있다. 각각의 축의 방향은 일반적으로, 3 개의 축들이 오른손 법칙을 따르는 한 임의적이다. 가속도계는 디바이스의 가속도, 또는 속도에서의 변화를 측정하고, 가속도 벡터의 대응하는 X, Y 및 Z 컴포넌트를 계산한다. 디바이스가 단지, 단일 축을 따라 가속되고 있지 않으면, 가속도 벡터는 3 개의 방향들 각각에서 컴포넌트들을 쉽게 가질 것이다. 가속도계는, 단일 비디오 프레임의 캡처링 동안 가속도의 적어도 하나의 샘플이 획득될 수도 있는 이러한 샘플링 빈도수 (frequency) 에서 구성될 수도 있다. 단일의 비디오 프레임을 캡처링하는 주기 동안 다수의 가속도 판독들이 이용 가능하면, 로우 패스 필터가 이들 판독에 적용되어 손 움직임들로 야기된 임의의 샘플링 잡음들 또는 지터들을 제거할 수도 있다. 자이로스코프가 또한 이용 가능하면, 그 판독들이 사용되어 손 움직임에 의해 기여된 가속도를 제거할 수도 있다. 그 후, 단일의 비디오 프레임의 캡처링 동안 획득된 다수의 샘플들은 그 비디오 프레임에 대해 단일의 중력 벡터를 생성하도록 평균될 수도 있다. 다음으로, 중력 벡터는 (Z 컴포넌트를 드롭함으로써) 디바이스의 X-Y 평면위로 투영되고 표준화되어, 결과의 유닛 벡터가 회전 매트릭스 또는 회전 각도를 계산하도록 사용될 수도 있다. 전술된 바와 같이, X-Y 평면 안의 중력 컴포넌트는 통상적으로, 회전 매트릭스를 계산하는데 필요한 유일한 데이터이다. 이 실시형태에서, 중력의 Z 컴포넌트는 캡처된 이미지 프레임들을 회전시키는데 사용된 회전 매트릭스를 계산하는데 필요하지 않기 때문에 요구되지 않는다. 통상, X-축으로부터의 유닛 벡터 (블록 420) 는 사인(θ) 이고, Y-축 (블록 430) 을 따라 코사인 (θ) 이며, 여기서 θ 는 반시계 방향으로 회전된 비디오 캡처 디바이스의 회전 각도이다. 다음으로, 프로세스는 블록 450 으로 계속하고, 여기서 유닛 벡터가 이전의 프레임의 유닛 벡터 (저장된 벡터) 와 충분히 상이한지 여부에 관한 결정이 이루어진다. 그 차이가 임계보다 작으면, 프로세스 (320) 는 단계 410 으로 리턴한다. 그 차이가 임계보다 크면, 프로세스 (320) 는 블록 460 으로 이동하고, 여기서 유닛 벡터는 메모리에 저장되고, 회전 매트릭스가 이에 따라 업데이트된다.
도 5 는 계산된 회전 매트릭스에 기초하여 비디오 배향을 조정하는 프로세스 (340) 에 대한 추가의 상세를 제공한다. 프로세스 (340) 는, 회전 매트릭스를 판독하여 현재 디스플레이된 프레임의 배향을 조정하는 블록 510 에서 시작한다. 전술된 바와 같이, 회전 매트릭스 데이터는, 비디오 캡처 디바이스의 배향이 레코딩 동안 변할 수도 있기 때문에 비디오가 캡처되고 있을 때 프레임 단위로 변할 수도 있고, 따라서 대응하는 회전 매트릭스는 또한 프레임 단위로 변할 수도 있다. 프로세스는 그 후, 블록 520 으로 계속하여 캡처되고 있는 현재 프레임을 회전한다.
회전으로 인한 레졸루션 손실을 방지하기 위해, 카메라 또는 비디오 캡처 디바이스는 엑스트라 마진을 갖는 프레임들을 캡처하도록 구성되므로, 각 프레임의 크롭핑은, 관심있는 장면으로부터 중요한 정보를 분실하지 않고 회전 후에 행해질 수도 있다. 예를 들어, (w, h) 의 레졸루션을 갖는 프레임을 캡처하기 위해, 카메라 또는 비디오 캡처 디바이스는 (c, c) 의 레졸루션을 갖는 프레임들을 캡처하도록 구성된다. 따라서, c 의 최소 값, 또는 cmin 은 다음과 같이 계산될 수 있다:
실제로, 엑스트라 마진은 필터링 프로세스 동안 추가될 수도 있고, 여기서 m 은 마진이고, 따라서 c = cmin + m 이다. 회전은 이미지의 기하학적 센터 둘레이다. 하나의 가능한 강화는 회전 오리진 (origin) 이 이미지 센터의 작은 이웃에서 둘레를 이동하는 것을 가능하게 하는 것이므로, 인접한 이미지들은 가능한 한 많은 회전 오리진과 장면에서 동일한 키 포인트를 사용할 수도 있다. 이것은 손 흔들림에 의해 야기된 지터들을 잠재적으로 제거할 수 있다. 이러한 알고리즘은 이미지의 기하학적 센터로 시작할 수도 있고, 일치하는 키 포인트가 발견되지 않는 경우, 이미지의 기하학적 센터로 돌아간다 (fall back).
이미지를 반시계 방향으로 θ의 각도만큼 회전시키기 위해, 결과의 이미지에서 각각의 포인트 (x', y') 에 있어서, 이것은 원래의 이미지에서 일치하는 포인트 (x, y) 를 찾도록 반시계 방향으로 회전 (θ) 된다. (x, y) 에서 원래의 이미지의 값을 추정하고, 그 값을 결과의 이미지에서 포인트 (χ', y') 에 할당하기 위해 보간 방법이 사용된다. 이 프로세스는 전용 하드웨어 블록들, 또는 범용 프로세싱 유닛들, 예컨대 그래픽 프로세싱 유닛 (GPU) 을 사용하여 구현될 수도 있다. 각각의 프레임이 회전 매트릭스 데이터에 기초하여 회전된 후에, 프로세스 (340) 는 블록 530 으로 이동하여 회전된 이미지 또는 프레임을 크롭하므로, 디스플레이 스크린 상에서 적합한 배향으로 보인다. 크롭핑이 수행된 후에, 현재의 프레임은 의도된 출력 레졸루션을 가질 수 있다. 마지막으로, 프레임이 회전 및 크롭된 후에, 프로세스 (340) 는 블록 540 에서, 보정, 또는 조정된 배향을 갖는 현재 프레임을 메모리에 저장할 수 있다.
이 기술은 다수의 다른 범용 또는 특수 목적의 컴퓨팅 시스템 환경들 또는 구성들로 동작 가능하다. 본 발명에 따른 사용에 적합할 수도 있는 잘 알려진 컴퓨팅 시스템들, 환경들, 및/또는 구성들은 퍼스널 컴퓨터들, 서버 컴퓨터들, 핸드-헬드 또는 랩톱 디바이스들, 멀티프로세서 시스템들, 프로세서-기반 시스템들, 프로그래머블 소비자 가전들, 네트워크 PC들, 미이컴퓨터들, 메인프레임 컴퓨터들, 상기 시스템들 또는 디바이스들 중 어느 것을 포함하는 분산형 컴퓨팅 환경들 등을 포함하지만, 이에 한정되지는 않는다.
본원에 사용된 바와 같이, 명령들은 시스템에서 정보를 프로세싱하는 컴퓨터 구현된 단계들을 지칭한다. 명령들은 소프트웨어, 펌웨어 또는 하드웨어에서 구현될 수 있고, 시스템의 컴포넌트들에 의해 착수된 프로그래밍된 단계의 임의의 유형을 포함한다.
프로세서는 임의의 종래의 범용 단일 또는 멀티 칩 프로세서, 예컨대 Pentium® 프로세서, Pentium® Pro 프로세서, 8051 프로세서, MIPS® 프로세서, Power PC® 프로세서, 또는 Alpha® 프로세서일 수도 있다. 또한, 프로세서는 임의의 종래의 특수 목적의 프로세서, 예컨대 디지털 신호 프로세서 또는 그래픽 프로세서일 수도 있다. 프로세서는 통상적으로, 종래의 어드레스 라인들, 종래의 데이터 라인들, 및 하나 이상의 종래의 제어 라인들을 갖는다.
시스템은 상세히 논의된 바와 같이 다양한 모듈들로 이루어진다. 당업자에 의해 알 수 있는 바와 같이, 모듈들 각각은 다양한 서브-루틴들, 절차들 (procedure), 데이터 정의문들 (definitional statement) 및 매크로들을 포함한다. 모듈들 각각은 통상적으로, 별개로 컴파일링되고 단일의 실행가능 프로그램으로 링크된다. 따라서, 모듈들 각각의 설명은 편의상 바람직한 시스템의 기능을 설명하도록 사용된다. 따라서, 모듈들 각각에 의해 착수되는 프로세스들은 다른 모듈들 중 하나에 임의로 재분배되고, 단일 모듈로 함께 결합되거나, 또는 예를 들어 공유 가능한 동적 링크 라이브러리에서 이용 가능해질 수도 있다.
시스템은 다양한 운영 시스템들, 예컨대 Linux®, UNIX® 또는 Microsoft Windows® 와 연계하여 사용될 수도 있다.
시스템은 임의의 종래의 프로그래밍 언어, 예컨대 C, C++, BASIC, Pascal, 또는 Java 로 기입되고, 종래의 운영 시스템 하에서 실행될 수도 있다. C, C++, BASIC, Pascal, Java, 및 FORTRAN 은, 많은 상용 컴파일러들이 실행가능한 코드를 생성하는데 사용될 수 있는 산업 표준 프로그래밍 언어들이다. 시스템은 또한, 해석형 언어들, 예컨대 Perl, Python 또는 Ruby 를 사용하여 기입될 수도 있다.
당업자는 또한, 본원에 개시된 예시적인 실시형태들과 연계하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 회로들, 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 양자 모두의 조합으로서 구현될 수도 있음을 이해할 것이다. 하드웨어와 소프트웨어의 이러한 상호교환성을 명확하게 설명하기 위해, 다양한 예시적인 콤포넌트들, 블록들, 모듈들, 회로들, 및 단계들이 그들의 기능성에 대해 일반적으로 전술되었다. 그러한 기능이 하드웨어 또는 소프트웨어로 구현되는지 여부는 특정 애플리케이션 및 전체 시스템에 부과되는 설계 제약들에 따라 달라진다. 당업자는 설명된 기능성을 각각의 특정 어플리케이션에 대해 다양한 방식으로 구현할 수도 있지만, 이러한 구현 결정은 본 발명의 범위를 벗어나게 하는 것으로 해석되어서는 안된다.
본원에서 개시된 실시형태들과 연계하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 및 회로들은 범용 프로세서, 디지털 신호 프로세서 (DSP), 주문형 집적회로 (ASIC), 필드 프로그래머블 게이트 어레이 (FPGA) 또는 다른 프로그래머블 로직 디바이스, 이산 게이트 혹은 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 본원에 설명된 기능들을 수행하도록 설계된 것들의 임의의 조합에 의해 구현되거나 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대안으로 상기 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 프로세서는 또한, 컴퓨팅 디바이스들의 조합, 예를 들어 DSP 와 마이크로프로세서의 조합, 복수의 마이크로프로세서들, DSP 코어와 연계한 하나 이상의 마이크로프로세서들, 또는 임의의 다른 그러한 구성으로 구현될 수도 있다.
하나 이상의 예시의 실시형태들에서, 설명된 기능들 및 방법들은 하드웨어, 소프트웨어 또는 프로세서 상에서 실행된 펌웨어, 또는 이들의 임의의 조합에서 구현될 수도 있다. 소프트웨어로 구현되는 경우, 기능들은 하나 이상의 명령들 또는 코드로서 컴퓨터 판독가능 매체 상에 저장되거나 또는 송신될 수도 있다. 컴퓨터 판독가능 매체는 한 장소에서 다른 장소로 컴퓨터 프로그램의 전송을 가능하게 하는 임의의 매체를 포함하여 컴퓨터 저장 매체 및 통신 매체 양자를 포함한다. 저장 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 이용 가능한 매체일 수도 있다. 비제한적인 예로서, 이러한 컴퓨터 판독가능 저장 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 저장 디바이스, 자기 디스크 저장 디바이스 또는 다른 자기 저장 디바이스, 또는 원하는 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 반송 또는 저장하는데 사용될 수 있으며 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 접속이 컴퓨터 판독가능 매체라고 적절히 칭해진다. 예를 들어, 소프트웨어가 동축 케이블, 광섬유 케이블, 연선, 디지털 가입자 회선 (DSL), 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들을 사용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 명령들이 송신되면, 동축 케이블, 광섬유 케이블, 연선, DSL, 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들은 매체의 정의 내에 포함된다. 본원에서 사용된 디스크 (disk) 와 디스크 (disc) 는, 컴팩트 디스크 (CD), 레이저 디스크, 광학 디스크, 디지털 다기능 디스크 (DVD), 플로피 디스크, 및 블루레이 디스크를 포함하며, 여기서 디스크 (disk) 들은 통상 자기적으로 데이터를 재생하는 반면, 디스크 (disc) 들은 레이저들을 이용하여 광학적으로 데이터를 재생한다. 상기의 조합들이 또한, 컴퓨터 판독가능 매체들의 범위 내에 포함되어야 한다.
상기 설명은 본원에 개시된 시스템들, 디바이스들, 및 방법들의 소정 실시형태들을 상세히 설명한다. 그러나, 아무리 텍스트에 상기의 것들이 상세히 나타나더라도, 시스템들, 디바이스들, 및 방법들은 많은 방식들로 실시될 수 있다. 또한 전술된 바와 같이, 본 발명의 소정 피처들 또는 양태들을 설명하는 경우 특정 전문어의 사용은, 이 전문어가 연관되는 기술의 피처들 또는 양태들의 임의의 구체적인 특징을 포함하는 것에 제한되도록 그 전문어가 본원에 재-정의되는 것을 암시하도록 취해지지는 않아야 한다.
설명된 기술의 범위로부터 벗어남 없이 다양한 변형들 및 변경들이 이루어질 수도 있음을 당업자는 인지할 것이다. 이러한 변형들 및 변경들은 실시형태들의 범위 내에 있는 것으로 의도된다. 또한, 일 실시형태에 포함된 파트들이 다른 실시형태들과 상호교환 가능하고; 전용 실시형태로부터의 하나 이상의 파트들은 다른 도시된 실시형태들과 임의의 결합으로 포함될 수 있음을 당업자는 인지할 것이다. 예를 들어, 본원에 설명되고/되거나 도면들에 도시된 다양한 컴포넌트들 중 임의의 것은 다른 실시형태들과 결합, 상호교환 또는 이들로부터 배제될 수도 있다.
본원에서의 실질적인 임의의 단수 및/또는 복수 용어들의 사용에 대하여, 당업자는 문맥 및/또는 애플리케이션에 적절하게 복수에서 단수로 및/또는 단수에서 복수로 변경할 수 있을 것이다. 각종 단/복수 치환들이 명확화를 위해 명백히 본원에서 설명될 수도 있다.
당업자는 일반적으로 본원에서 사용된 용어들은 일반적으로, "열린" 용어들로서 의도되며 (예를 들어, 용어 "포함하는" 은 " 포함하지만 제한되지 않는" 으로 해석되어야 하고, 용어 "갖는" 은 "적어도 갖는" 으로 해석되어야 하며, 용어 "포함한다"는 포함하나 제한되지 않는"으로 해석되는 등등) 로서 의도된다는 것이 이해될 것이다. 특정 수의 도입된 청구항 인용이 의도되면, 그러한 의도는 청구항에서 명시적으로 인용될 것이며, 이러한 인용이 없으면 그러한 의도가 없는 것으로 당업자는 더 이해할 수 있을 것이다. 예를 들어, 이해를 돕기 위한 것으로서, 하기의 첨부된 청구항 인용을 도입하기 위해, 도입 구 "적어도 하나" 및 "하나 이상의" 의 사용을 포함할 수도 있다. 그러나, 이러한 구들의 사용은, 부정 관사 "a" 또는 "an" 에 의한 청구항 인용의 도입이, 이러한 도입된 청구항 인용을 포함하는 임의의 특정 청구항을, 그 동일한 청구항이 도입 구들 "하나 이상의" 또는 "적어도 하나" 및 "a" 또는 "an" (예를 들어, "a" 및/또는 "an" 은 통상적으로 "적어도 하나" 또는 "하나 이상" 으로 해석되어야 한다) 과 같은 부정 관사들을 포함하는 경우에도, 단지 하나의 이러한 인용을 포함하는 실시형태들로 제한한다는 것을 의미하는 것으로 이해되어선 안되며; 청구항 인용을 도입하기 위해 정관사를 사용하는 경우에도 마찬가지이다. 또한, 특정 수의 도입된 청구항 인용이 명시적으로 인용되어도, 당업자들은 이러한 인용은 통상적으로 적어도 인용된 수를 의미하는 것으로 해석되어야 한다는 것을 이해할 것이다 (예를 들어, 다른 수정자들이 없는 "2 개의 인용들"의 순수한 인용은 통상적으로 적어도 2 개의 인용들 또는 2 개 이상의 인용들을 의미한다). 또한, "A, B, 및 C 등 중 적어도 하나" 와 통상 유사한 것들이 이용되는 이러한 예들에서, 일반적으로 그러한 구성은 당업자가 종래의 것을 이해할 것이라는 의미로 의도된다 (예를 들어, "A, B, 및 C 중 적어도 하나를 갖는 시스템" 은 A 만 단독으로, B 만 단독으로, C 만 단독으로, A 와 B 를 함께, A 와 C 를 함께, B 와 C 를 함께, 그리고/또는 A, B 와 C 를 함께 갖는 등의 시스템을 포함하나, 이로 제한되지는 않을 것이다). "A, B, 및 C 등 중 적어도 하나" 와 통상 유사한 것들이 이용되는 이들 경우들에서, 일반적으로 그러한 구성은 당업자가 종래의 것을 이해할 것이라는 의미로 의도된다 (예를 들어, "A, B, 및 C 중 적어도 하나를 갖는 시스템" 은 A 만 단독으로, B 만 단독으로, C 만 단독으로, A 와 B 를 함께, A 와 C 를 함께, B 와 C 를 함께, 그리고/또는 A, B 와 C 를 함께 갖는 등의 시스템을 포함하나, 이에 제한되지는 않을 것이다). 상세한 설명, 청구항들, 또는 도면들 어디에서든, 2 개 이상의 대안적인 용어들을 나타내는 사실상 임의의 이접 단어 및/또는 구는 용어들 중 하나, 용어들 중 어느 일방, 또는 용어들 양자 모두를 포함하는 가능성들을 고려한다는 것이 이해되어야 한다는 것이 당업자들에 의해 또한 이해될 것이다. 예를 들어, 구 "A 또는 B" 는 "A" 나 "B", 또는 "A 및 B" 의 가능성들을 포함하는 것으로 이해될 것이다.
다양한 양태들 및 실시형태들이 본원에 개시되었으나, 다른 양태들 및 실시형태들이 당업자에게 자명할 것이다. 본원에 개시된 다양한 양태들 및 실시형태들은 예시의 목적을 위한 것이며 제한하도록 의도되지 않는다.
Claims (24)
- 2 개의 배향들 (orientations) 에서 비디오 캡처 디바이스 상에서 캡처된 비디오를 인코딩하는 방법으로서,
장면의 비디오가 캡처되고 있는 동안 상기 비디오 캡처 디바이스로부터 제 1 배향에 대한 배향 데이터를 판독하는 단계로서, 상기 제 1 배향은 제 1 레졸루션을 갖는, 상기 배향 데이터를 판독하는 단계;
상기 장면의 비디오가 캡처되고 있는 동안 상기 비디오 캡처 디바이스가 제 2 배향으로 회전된다고 결정하는 단계로서, 상기 제 2 배향은 제 2 레졸루션을 갖는, 상기 결정하는 단계;
상기 비디오 캡처 디바이스가 상기 제 2 배향으로 있을 때 상기 장면의 비디오가 캡처되고 있는 동안 상기 비디오 캡처 디바이스로부터 배향 데이터를 판독하는 단계;
상기 제 1 배향과 상기 제 2 배향 사이의 관계에 기초하여 회전 매트릭스를 생성하는 단계;
상기 비디오 캡처 디바이스가 상기 제 2 배향으로 있을 때 캡처된 상기 비디오의 프레임들의 배향을, 상기 비디오 캡처 디바이스가 상기 제 1 배향으로 있을 때 캡처된 상기 비디오의 배향에 일치시키도록 조정하는 단계;
상기 비디오 캡처 디바이스가 상기 제 2 배향으로 있을 때 캡처된 상기 비디오의 조정된 프레임들을 크롭하는 단계로서, 크롭된 상기 프레임들은 상기 제 1 레졸루션을 갖는, 상기 프레임들을 크롭하는 단계; 및
캡처된 상기 비디오의 크롭된 상기 프레임들을 인코딩하는 단계를 포함하는, 비디오를 인코딩하는 방법. - 제 1 항에 있어서,
상기 배향 데이터는 가속도계 또는 자이로스코프로부터의 관성 측정 데이터인, 비디오를 인코딩하는 방법. - 제 1 항에 있어서,
상기 비디오 캡처 디바이스는 모바일 폰 또는 태블릿을 포함하는, 비디오를 인코딩하는 방법. - 제 1 항에 있어서,
조정된 캡처된 상기 비디오를 상기 비디오 캡처 디바이스에서의 메모리에 저장하는 단계를 더 포함하는, 비디오를 인코딩하는 방법. - 제 1 항에 있어서,
조정된 캡처된 상기 비디오는 비디오 디스플레이 능력을 갖는 다른 디바이스로 송신되는, 비디오를 인코딩하는 방법. - 제 1 항에 있어서,
상기 제 1 배향은, 중력 가속도가 상기 비디오 캡처 디바이스의 수직 축과 정렬하는 실제 (true) 배향인, 비디오를 인코딩하는 방법. - 제 1 항에 있어서,
상기 회전 매트릭스는 상기 비디오 캡처 디바이스의 X-Y 평면 위로 연속적인 프레임들의 중력 벡터들을 투영시킴으로써 결정된 회전 각도를 포함하는, 비디오를 인코딩하는 방법. - 제 7 항에 있어서,
상기 중력 벡터들을 투영시키는 것은 상기 중력 벡터의 Z-컴포넌트를 투영시키는 것을 포함하지 않는, 비디오를 인코딩하는 방법. - 제 1 항에 있어서,
상기 회전 매트릭스는 2×2 매트릭스를 포함하는, 비디오를 인코딩하는 방법. - 2 개의 배향들에서 비디오 캡처 디바이스 상에서 캡처된 비디오를 인코딩하기 위한 시스템으로서,
장면의 비디오를 캡처하도록 구성된 이미지 센서;
상기 비디오 캡처 디바이스가 제 1 배향으로 있을 때 장면의 비디오가 캡처되고 있는 동안 상기 비디오 캡처 디바이스로부터의 배향 데이터를 제공하고 상기 비디오 캡처 디바이스가 제 2 배향으로 회전될 때 장면의 비디오가 캡처되고 있는 동안 상기 비디오 캡처 디바이스로부터의 배향을 제공하도록 구성된 가속도계 또는 자이로스코프 중 적어도 하나를 포함하는 관성 측정 유닛으로서, 상기 제 1 배향은 제 1 레졸루션을 갖고 상기 제 2 배향은 제 2 레졸루션을 갖는, 상기 관성 측정 유닛;
회전 모듈을 실행하는 프로세서로서, 상기 회전 모듈은,
상기 제 1 배향과 상기 제 2 배향 사이의 관계에 기초하여 회전 매트릭스를 생성하고,
상기 비디오 캡처 디바이스가 상기 제 2 배향으로 있을 때 캡처된 상기 비디오의 프레임들의 배향을, 상기 비디오 캡처 디바이스가 상기 제 1 배향으로 있을 때 캡처된 상기 비디오의 배향에 일치시키도록 조정하고, 그리고
상기 비디오 캡처 디바이스가 상기 제 2 배향으로 있을 때 캡처된 상기 비디오의 조정된 프레임들을 크롭하는 것으로서, 크롭된 상기 프레임들은 상기 제 1 레졸루션을 갖는, 상기 프레임들을 크롭하도록
구성된, 상기 회전 모듈을 실행하는 프로세서; 및
캡처된 상기 비디오의 크롭된 상기 프레임들을 인코딩하도록 구성된 인코더를 포함하는, 비디오를 인코딩하기 위한 시스템. - 제 10 항에 있어서,
상기 비디오 캡처 디바이스는 모바일 폰 또는 태블릿을 포함하는, 비디오를 인코딩하기 위한 시스템. - 제 10 항에 있어서,
조정된 캡처된 상기 비디오를 저장하도록 구성된 스토리지를 더 포함하는, 비디오를 인코딩하기 위한 시스템. - 제 10 항에 있어서,
조정된 캡처된 상기 비디오를 비디오 디스플레이 능력을 갖는 제 2 디바이스로 송신하기 위한 송신기를 더 포함하는, 비디오를 인코딩하기 위한 시스템. - 2 개의 배향들에서 비디오 캡처 디바이스 상에서 캡처된 비디오를 인코딩하는 시스템으로서,
상기 비디오 캡처 디바이스가 제 1 배향으로 있을 때 장면의 비디오가 캡처되고 있는 동안 상기 비디오 캡처 디바이스로부터 배향 데이터를 판독하기 위한 수단으로서, 상기 제 1 배향은 제 1 레졸루션을 갖는, 상기 배향 데이터를 판독하기 위한 수단;
상기 장면의 비디오가 캡처되고 있는 동안 상기 비디오 캡처 디바이스가 제 2 배향으로 회전된다고 결정하기 위한 수단으로서, 상기 제 2 배향은 제 2 레졸루션을 갖는, 상기 결정하기 위한 수단;
상기 비디오 캡처 디바이스가 상기 제 2 배향으로 있을 때 상기 장면의 비디오가 캡처되고 있는 동안 상기 비디오 캡처 디바이스로부터 배향 데이터를 판독하기 위한 수단;
상기 제 1 배향과 상기 제 2 배향 사이의 관계에 기초하여 회전 매트릭스를 생성하기 위한 수단;
상기 비디오 캡처 디바이스가 상기 제 2 배향으로 있을 때 캡처된 상기 비디오의 프레임들의 배향을, 상기 비디오 캡처 디바이스가 상기 제 1 배향으로 있을 때 캡처된 상기 비디오의 배향에 일치시키도록 조정하기 위한 수단;
상기 비디오 캡처 디바이스가 상기 제 2 배향으로 있을 때 캡처된 상기 비디오의 조정된 프레임들을 크롭하기 위한 수단으로서, 크롭된 상기 프레임들은 상기 제 1 레졸루션을 갖는, 상기 프레임들을 크롭하기 위한 수단; 및
캡처된 상기 비디오의 크롭된 상기 프레임들을 인코딩하기 위한 수단을 포함하는, 캡처된 비디오를 인코딩하는 시스템. - 제 14 항에 있어서,
상기 배향 데이터를 판독하기 위한 수단은 배향 데이터를 제공하도록 구성된 관성 측정 유닛을 포함하는, 캡처된 비디오를 인코딩하는 시스템. - 제 14 항에 있어서,
상기 회전 매트릭스를 생성하기 위한 수단은 프로세스에 의해 동작되도록 구성된 회전 모듈을 포함하는, 캡처된 비디오를 인코딩하는 시스템. - 제 14 항에 있어서,
조정된 캡처된 상기 비디오를 인코딩하기 위한 수단은 비디오 인코더를 포함하는, 캡처된 비디오를 인코딩하는 시스템. - 명령들을 저장하도록 구성된 컴퓨터 판독가능 저장 매체로서,
상기 명령들은, 프로세스에 의해 실행되는 경우,
장면의 비디오가 캡처되고 있는 동안 비디오 캡처 디바이스로부터 제 1 배향에 대한 배향 데이터를 판독하는 단계로서, 상기 제 1 배향은 제 1 레졸루션을 갖는, 상기 배향 데이터를 판독하는 단계;
상기 장면의 비디오가 캡처되고 있는 동안 상기 비디오 캡처 디바이스가 제 2 배향으로 회전된다고 결정하는 단계로서, 상기 제 2 배향은 제 2 레졸루션을 갖는, 상기 결정하는 단계;
상기 비디오 캡처 디바이스가 상기 제 2 배향으로 있을 때 상기 장면의 비디오가 캡처되고 있는 동안 상기 비디오 캡처 디바이스로부터 배향 데이터를 판독하는 단계;
상기 제 1 배향과 상기 제 2 배향 사이의 관계에 기초하여 회전 매트릭스를 생성하는 단계;
상기 비디오 캡처 디바이스가 상기 제 2 배향으로 있을 때 캡처된 상기 비디오의 프레임들의 배향을, 상기 비디오 캡처 디바이스가 상기 제 1 배향으로 있을 때 캡처된 상기 비디오의 배향에 일치시키도록 조정하여, 상기 비디오 캡처 디바이스가 상기 제 2 배향으로 이동한 후에 상기 비디오가 상기 제 1 배향에서 인코딩된 상태가 되는 단계;
상기 비디오 캡처 디바이스가 상기 제 2 배향으로 있을 때 캡처된 상기 비디오의 조정된 프레임들을 크롭하는 단계로서, 크롭된 상기 프레임들은 상기 제 1 레졸루션을 갖는, 상기 프레임들을 크롭하는 단계; 및
캡처된 상기 비디오의 크롭된 상기 프레임들을 인코딩하는 단계
를 포함하는 방법을 수행하는, 컴퓨터 판독가능 저장 매체. - 제 18 항에 있어서,
상기 배향 데이터는 가속도계 또는 자이로스코프로부터의 관성 측정 데이터인, 컴퓨터 판독가능 저장 매체. - 제 18 항에 있어서,
상기 배향 데이터는 가속도계 데이터인, 컴퓨터 판독가능 저장 매체. - 삭제
- 삭제
- 삭제
- 삭제
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/686,466 US9516229B2 (en) | 2012-11-27 | 2012-11-27 | System and method for adjusting orientation of captured video |
US13/686,466 | 2012-11-27 | ||
PCT/US2013/069860 WO2014085090A1 (en) | 2012-11-27 | 2013-11-13 | System and method for adjusting orientation of captured video |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150091112A KR20150091112A (ko) | 2015-08-07 |
KR101778420B1 true KR101778420B1 (ko) | 2017-09-26 |
Family
ID=49679647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020157016976A KR101778420B1 (ko) | 2012-11-27 | 2013-11-13 | 캡처된 비디오의 배향을 조정하기 위한 시스템 및 방법 |
Country Status (11)
Country | Link |
---|---|
US (1) | US9516229B2 (ko) |
EP (1) | EP2926546B1 (ko) |
JP (1) | JP6219400B2 (ko) |
KR (1) | KR101778420B1 (ko) |
CN (1) | CN104838643A (ko) |
AP (1) | AP2015008494A0 (ko) |
EC (1) | ECSP15027581A (ko) |
ES (1) | ES2897432T3 (ko) |
MA (1) | MA38122B1 (ko) |
SA (1) | SA515360486B1 (ko) |
WO (1) | WO2014085090A1 (ko) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9910341B2 (en) | 2005-01-31 | 2018-03-06 | The Invention Science Fund I, Llc | Shared image device designation |
US9325781B2 (en) | 2005-01-31 | 2016-04-26 | Invention Science Fund I, Llc | Audio sharing |
US9489717B2 (en) | 2005-01-31 | 2016-11-08 | Invention Science Fund I, Llc | Shared image device |
US9124729B2 (en) | 2005-01-31 | 2015-09-01 | The Invention Science Fund I, Llc | Shared image device synchronization or designation |
US9082456B2 (en) | 2005-01-31 | 2015-07-14 | The Invention Science Fund I Llc | Shared image device designation |
US9191611B2 (en) | 2005-06-02 | 2015-11-17 | Invention Science Fund I, Llc | Conditional alteration of a saved image |
US9621749B2 (en) * | 2005-06-02 | 2017-04-11 | Invention Science Fund I, Llc | Capturing selected image objects |
US10003762B2 (en) | 2005-04-26 | 2018-06-19 | Invention Science Fund I, Llc | Shared image devices |
US9076208B2 (en) | 2006-02-28 | 2015-07-07 | The Invention Science Fund I, Llc | Imagery processing |
US9451200B2 (en) | 2005-06-02 | 2016-09-20 | Invention Science Fund I, Llc | Storage access technique for captured data |
US20070222865A1 (en) | 2006-03-15 | 2007-09-27 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Enhanced video/still image correlation |
US9967424B2 (en) | 2005-06-02 | 2018-05-08 | Invention Science Fund I, Llc | Data storage usage protocol |
US9819490B2 (en) | 2005-05-04 | 2017-11-14 | Invention Science Fund I, Llc | Regional proximity for shared image device(s) |
DE102013224590B4 (de) * | 2012-12-03 | 2019-07-18 | Canon Kabushiki Kaisha | Anzeigevorrichtung und deren steuerverfahren |
JP6128389B2 (ja) * | 2013-01-24 | 2017-05-17 | パナソニックIpマネジメント株式会社 | 撮像装置 |
US9762848B2 (en) * | 2013-03-15 | 2017-09-12 | Google Inc. | Automatic adjustment of video orientation |
CN104345872A (zh) * | 2013-08-06 | 2015-02-11 | 鸿富锦精密工业(武汉)有限公司 | 移动设备智能横屏方法及系统 |
US20150244938A1 (en) * | 2014-02-25 | 2015-08-27 | Stelios Petrakis | Techniques for electronically adjusting video recording orientation |
US20170193845A1 (en) * | 2015-12-30 | 2017-07-06 | International Business Machines Corporation | Detection of anomalous behavior in digital education settings based on portable device movement |
CN105898594B (zh) * | 2016-04-22 | 2019-03-08 | 北京奇艺世纪科技有限公司 | 控制虚拟现实视频播放的方法和装置 |
US11528402B2 (en) | 2016-05-27 | 2022-12-13 | Hanwha Techwin Co., Ltd. | Terminal and method for setting data protocol for photographed image |
CN106506940A (zh) * | 2016-10-19 | 2017-03-15 | 天津奇幻岛科技有限公司 | 一种补偿相机在直线滑移云台上晃动的方法 |
WO2018093372A1 (en) * | 2016-11-17 | 2018-05-24 | Google Llc | Media rendering with orientation metadata |
US10564425B2 (en) | 2017-02-27 | 2020-02-18 | Snap Inc. | Processing a media content based on device movement |
US10735653B1 (en) * | 2017-03-14 | 2020-08-04 | Ambarella International Lp | Electronic image stabilization to improve video analytics accuracy |
US10547784B2 (en) * | 2017-06-19 | 2020-01-28 | SighTour Technologies, Inc. | Image stabilization |
US11050933B2 (en) * | 2018-04-27 | 2021-06-29 | Continenal Automotive Systems, Inc. | Device and method for determining a center of a trailer tow coupler |
US11659279B2 (en) * | 2019-06-21 | 2023-05-23 | Gopro, Inc. | Systems and methods for stabilizing videos |
CN112492223B (zh) * | 2019-07-23 | 2023-05-12 | 影石创新科技股份有限公司 | 一种相机镜头平滑处理方法、装置及便携式终端 |
JP2023001629A (ja) * | 2021-06-21 | 2023-01-06 | キヤノン株式会社 | 撮像装置、情報処理装置及びその制御方法並びにプログラム |
US20240005452A1 (en) * | 2022-06-29 | 2024-01-04 | Microsoft Technology Licensing, Llc | Camera rotation for multi-posture computing devices |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007306500A (ja) * | 2006-05-15 | 2007-11-22 | Sanyo Electric Co Ltd | 画像傾き補正装置及び画像傾き補正方法 |
JP2008160703A (ja) * | 2006-12-26 | 2008-07-10 | Sky Kk | カメラ及びカメラ用プログラム |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08336069A (ja) * | 1995-04-13 | 1996-12-17 | Eastman Kodak Co | 電子スチルカメラ |
US6011585A (en) * | 1996-01-19 | 2000-01-04 | Apple Computer, Inc. | Apparatus and method for rotating the display orientation of a captured image |
US6597817B1 (en) * | 1997-07-15 | 2003-07-22 | Silverbrook Research Pty Ltd | Orientation detection for digital cameras |
US6262769B1 (en) * | 1997-07-31 | 2001-07-17 | Flashpoint Technology, Inc. | Method and system for auto rotating a graphical user interface for managing portrait and landscape images in an image capture unit |
JP4154025B2 (ja) * | 1998-03-11 | 2008-09-24 | キヤノン株式会社 | 撮像装置 |
US6286873B1 (en) * | 1998-08-26 | 2001-09-11 | Rufus Butler Seder | Visual display device with continuous animation |
US7554578B2 (en) * | 2000-07-11 | 2009-06-30 | Phase One A/S | Digital camera with integrated accelerometers |
GB0116113D0 (en) * | 2001-06-30 | 2001-08-22 | Hewlett Packard Co | Tilt correction of electronic images |
US8508643B2 (en) * | 2003-01-17 | 2013-08-13 | Hewlett-Packard Development Company, L.P. | Method and system for processing an image |
JP2005025268A (ja) * | 2003-06-30 | 2005-01-27 | Toshiba Corp | 電子機器および表示制御方法 |
US20050093891A1 (en) * | 2003-11-04 | 2005-05-05 | Pixel Instruments Corporation | Image orientation apparatus and method |
US7583858B2 (en) | 2004-10-12 | 2009-09-01 | Eastman Kodak Company | Image processing based on direction of gravity |
JP2006148638A (ja) * | 2004-11-22 | 2006-06-08 | Victor Co Of Japan Ltd | ビデオ撮影装置 |
EP1667418B1 (en) * | 2004-12-03 | 2013-01-16 | Nikon Corporation | Digital camera having video file creating function |
JP2007058031A (ja) * | 2005-08-26 | 2007-03-08 | Sony Corp | ディスプレイ装置 |
KR100708178B1 (ko) * | 2005-09-01 | 2007-04-16 | 삼성전자주식회사 | 영상 처리 방법, 장치 및 영상 정보를 기록한 정보저장매체 |
US9001047B2 (en) * | 2007-01-07 | 2015-04-07 | Apple Inc. | Modal change based on orientation of a portable multifunction device |
US20090040308A1 (en) | 2007-01-15 | 2009-02-12 | Igor Temovskiy | Image orientation correction method and system |
JP4930297B2 (ja) * | 2007-09-10 | 2012-05-16 | 株式会社ニコン | 撮像装置 |
JP2010147637A (ja) * | 2008-12-17 | 2010-07-01 | Nikon Corp | 動画再生装置、動画再生方法、および、動画再生プログラム |
US20110128350A1 (en) * | 2009-11-30 | 2011-06-02 | Motorola, Inc. | Method and apparatus for choosing a desired field of view from a wide-angle image or video |
KR20110061063A (ko) * | 2009-12-01 | 2011-06-09 | 삼성전자주식회사 | 휴대 단말기의 이미지 촬영 방법 및 장치 |
US8687070B2 (en) | 2009-12-22 | 2014-04-01 | Apple Inc. | Image capture device having tilt and/or perspective correction |
US20110228098A1 (en) * | 2010-02-10 | 2011-09-22 | Brian Lamb | Automatic motion tracking, event detection and video image capture and tagging |
US9124804B2 (en) | 2010-03-22 | 2015-09-01 | Microsoft Technology Licensing, Llc | Using accelerometer information for determining orientation of pictures and video images |
US8558903B2 (en) | 2010-03-25 | 2013-10-15 | Apple Inc. | Accelerometer / gyro-facilitated video stabilization |
US8743219B1 (en) * | 2010-07-13 | 2014-06-03 | Marvell International Ltd. | Image rotation correction and restoration using gyroscope and accelerometer |
EP2442562B1 (en) | 2010-10-12 | 2017-08-02 | BlackBerry Limited | Method and apparatus for image orientation indication and correction |
CN102162738B (zh) * | 2010-12-08 | 2012-11-21 | 中国科学院自动化研究所 | 摄像头与惯性传感器组合定位定姿系统的标定方法 |
US8723890B2 (en) * | 2010-12-23 | 2014-05-13 | Blackberry Limited | Handheld electronic device having sliding display and position configurable camera |
US8964041B2 (en) | 2011-04-07 | 2015-02-24 | Fr Vision Ab | System and method for video stabilization of rolling shutter cameras |
US20120262540A1 (en) * | 2011-04-18 | 2012-10-18 | Eyesee360, Inc. | Apparatus and Method for Panoramic Video Imaging with Mobile Computing Devices |
US8896713B2 (en) * | 2011-08-15 | 2014-11-25 | Apple Inc. | Motion-based video stabilization |
WO2014141653A1 (ja) * | 2013-03-11 | 2014-09-18 | パナソニック株式会社 | 画像生成装置、撮像装置および画像生成方法 |
TW201536050A (zh) * | 2014-03-13 | 2015-09-16 | Chicony Electronics Co Ltd | 可修正偏移視角的影像擷取方法、電腦程式產品暨其影像擷取裝置 |
-
2012
- 2012-11-27 US US13/686,466 patent/US9516229B2/en active Active
-
2013
- 2013-11-13 ES ES13798479T patent/ES2897432T3/es active Active
- 2013-11-13 MA MA38122A patent/MA38122B1/fr unknown
- 2013-11-13 EP EP13798479.5A patent/EP2926546B1/en active Active
- 2013-11-13 KR KR1020157016976A patent/KR101778420B1/ko active IP Right Grant
- 2013-11-13 CN CN201380060820.3A patent/CN104838643A/zh active Pending
- 2013-11-13 AP AP2015008494A patent/AP2015008494A0/xx unknown
- 2013-11-13 WO PCT/US2013/069860 patent/WO2014085090A1/en active Application Filing
- 2013-11-13 JP JP2015544083A patent/JP6219400B2/ja active Active
-
2015
- 2015-05-27 SA SA515360486A patent/SA515360486B1/ar unknown
- 2015-06-26 EC ECIEPI201527581A patent/ECSP15027581A/es unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007306500A (ja) * | 2006-05-15 | 2007-11-22 | Sanyo Electric Co Ltd | 画像傾き補正装置及び画像傾き補正方法 |
JP2008160703A (ja) * | 2006-12-26 | 2008-07-10 | Sky Kk | カメラ及びカメラ用プログラム |
Also Published As
Publication number | Publication date |
---|---|
MA20150432A1 (fr) | 2015-11-30 |
KR20150091112A (ko) | 2015-08-07 |
ECSP15027581A (es) | 2016-01-29 |
WO2014085090A1 (en) | 2014-06-05 |
MA38122B1 (fr) | 2017-05-31 |
AP2015008494A0 (en) | 2015-05-31 |
SA515360486B1 (ar) | 2017-09-19 |
EP2926546B1 (en) | 2021-10-27 |
JP2016502346A (ja) | 2016-01-21 |
ES2897432T3 (es) | 2022-03-01 |
US20140146205A1 (en) | 2014-05-29 |
JP6219400B2 (ja) | 2017-10-25 |
US9516229B2 (en) | 2016-12-06 |
CN104838643A (zh) | 2015-08-12 |
EP2926546A1 (en) | 2015-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101778420B1 (ko) | 캡처된 비디오의 배향을 조정하기 위한 시스템 및 방법 | |
US11979662B2 (en) | Systems and methods for stabilizing videos | |
KR101707600B1 (ko) | 멀티미디어 클립에 대한 비디오 안정화 적용 | |
US10447926B1 (en) | Motion estimation based video compression and encoding | |
JP2014199964A (ja) | 撮像装置および画像処理装置 | |
US10165186B1 (en) | Motion estimation based video stabilization for panoramic video from multi-camera capture device | |
US9843724B1 (en) | Stabilization of panoramic video | |
US20220417438A1 (en) | Systems and methods for changing stabilization of videos | |
US12081869B2 (en) | Systems and methods for stabilizing videos | |
US20200374459A1 (en) | Systems and methods for stabilizing videos | |
KR20240056757A (ko) | 미래 배향 예측을 이용한 효율적인 배향 추적 | |
US12126903B2 (en) | Systems and methods for changing stabilization of videos | |
US20240040249A1 (en) | Systems and methods for dynamically stabilizing videos |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |