KR20170068499A - 관심 영역 내의 적응형 양자화 - Google Patents

관심 영역 내의 적응형 양자화 Download PDF

Info

Publication number
KR20170068499A
KR20170068499A KR1020177011778A KR20177011778A KR20170068499A KR 20170068499 A KR20170068499 A KR 20170068499A KR 1020177011778 A KR1020177011778 A KR 1020177011778A KR 20177011778 A KR20177011778 A KR 20177011778A KR 20170068499 A KR20170068499 A KR 20170068499A
Authority
KR
South Korea
Prior art keywords
user
quantization
interest
regions
roi
Prior art date
Application number
KR1020177011778A
Other languages
English (en)
Inventor
루시안 드라그네
한스 피터 헤스
Original Assignee
마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 filed Critical 마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Priority claimed from PCT/US2015/053383 external-priority patent/WO2016054307A1/en
Publication of KR20170068499A publication Critical patent/KR20170068499A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • G06K9/00221
    • G06K9/00375
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/107Static hand or arm
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/4223Cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/44Receiver circuitry for the reception of television signals according to analogue transmission standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4728End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for selecting a Region Of Interest [ROI], e.g. for requesting a higher resolution version of a selected region
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4781Games
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

디바이스는 카메라에 의해 캡처된 장면의 비디오 이미지를 표현하는 비디오 신호를 인코딩하기 위한 인코더, 및 제어기를 포함한다. 인코더는 상기 인코딩의 일부로서 비디오 신호의 양자화를 수행하기 위한 양자화기를 포함한다. 제어기는 장면 내에 있는 사용자의 하나 이상의 골격 특징에 관한 골격 추적 알고리즘으로부터 골격 추적 정보를 수신하고, 이를 기초로 사용자의 하나 이상의 신체 영역에 대응하는 비디오 이미지 내에 하나 이상의 관심 영역을 정의하며, 하나 이상의 관심 영역 외부에서보다 하나 이상의 관심 영역 내부에서 더 세분화된 양자화 입도를 사용하기 위해 양자화를 적응하도록 구성된다.

Description

관심 영역 내의 적응형 양자화{ADAPTING QUANTIZATION WITHIN REGIONS-OF-INTEREST}
비디오 코딩에서, 양자화(quantization)는 비디오 신호의 샘플(전형적으로 변환된 잔차 샘플)을 더 세분화된 입도 스케일(finer granularity scale)의 표현으로부터 더 조악한 입도 스케일(coarser granularity scale)의 표현으로 변환하는 프로세스이다. 많은 경우, 양자화는 효과적 연속-가변 스케일의 값을 실질적 이산 스케일의 값으로 변환하는 것으로 고려될 수 있다. 예를 들어, 입력 신호의 변환된 잔차 YUV 또는 RGB 샘플이 0 내지 255(8 비트)의 스케일 값으로 각각 표현되는 경우, 양자화기는 이들을 0 내지 15(4 비트)의 스케일 값으로 표현되도록 변환할 수 있다. 양자화된 스케일의 최소 및 최대 가능한 값 0 내지 15는 여전히 양자화되지 않은 입력 스케일의 최소 및 최대 가능한 값과 동일한(또는 거의 동일한) 최소 및 최대 샘플 진폭을 여전히 표현하지만, 이제는 이들 사이에 더 적은 계조(gradation)의 레벨들이 있다. 즉, 스텝 크기(step size)가 감소된다. 따라서 비디오의 각각의 프레임으로부터 일부 세부 정보(detail)가 손실되지만, 신호는 프레임 당 더 적은 비트가 발생한다는 점에서 더 작다. 양자화는 때때로 양자화 파라미터(quantization parameter; QP)로 표시되며, 더 낮은 QP는 더 세분화된 입도를 표현하고, 더 높은 QP는 더 조악한 입도를 표현한다.
주목: 양자화는 구체적으로 각각의 주어진 샘플을 표현하는 값을 더 세분화된 입도 스케일의 표현으로부터 더 조악한 입도 스케일의 표현으로 변환하는 프로세스를 지칭한다. 전형적으로 이는 변환 도메인에서 잔차 신호의 각각의 계수의 색상 채널(colour channel)들 중 하나 이상, 예를 들어, 각각의 RGB(레드, 그린 블루) 계수 또는 더욱 통상적으로 YUV(각각 휘도 및 2개의 색차 채널)를 양자화하는 것을 의미한다. 예를 들어, 0 내지 255의 스케일로 입력된 Y 값은 0 내지 15의 스케일로 양자화될 수 있고, 대안의 색상 공간에서 U와 V, 또는 RGB에 대해서도 유사하다(일반적으로 각각의 색상 채널에 적용된 양자화가 동일할 필요는 없음). 단위 면적당 샘플의 개수는 해상도로 지칭되며 이는 개별 개념이다. 양자화라는 용어는 해상도의 변화를 지칭하기 위해 사용되는 것이 아니라 샘플 당 입도의 변화를 지칭한다.
비디오 인코딩은 예를 들어, 인터넷과 같은 패킷 기반 네트워크를 통한 라이브 영상 통화(live video call)의 스트림과 같은 실시간 비디오 스트림을 전송할 때 인코딩된 신호의 크기가 고려 사항인 다수의 애플리케이션에서 사용된다. 더 세분화된 입도 양자화를 사용함에 따라 각각의 프레임에서 왜곡이 줄어들지만(더 작은 정보는 버려짐) 인코딩된 신호에서 더 높은 비트레이트(bitrate)가 발생한다. 역으로, 더 조악한 입도 양자화를 사용함에 따라 더 낮은 비트레이트가 발생하지만 프레임 당 더 많은 왜곡이 도입된다.
일부 코덱은 하나 이상의 하위 영역이 프레임 영역 내에 규정되도록 허용하며, 여기서 양자화 파라미터는 프레임의 나머지 영역보다 더 낮은 값(더 세분화된 양자화 입도)으로 설정될 수 있다. 이러한 하위 영역은 대개 "관심 영역"(region-of-interest; ROI)"으로 지칭되며, 한편 ROI(들) 외부의 나머지 영역은 대개 "배경(background)"으로 지칭된다. 이 기법은 더 많은 액티비티(activity)가 발생할 것으로 예상되고 및/또는 더욱 지각적으로 중요한 각각의 프레임의 영역에서 더 많은 비트가 소모되도록 허용하는 한편 중요도가 덜한 프레임의 부분에서 더 적은 비트를 소모하여 이에 따라 더 세분화된 양자화에 의해 얻어진 품질과 더 조악한 양자화에 의해 절약된 비트레이트 간에 더욱 지능적인 균형이 제공된다. 예를 들어 영상 통화에서 비디오는 통상 정적 배경에 대해 사용자의 머리, 얼굴 및 어깨를 포함하는 "토킹 머리(talking head)" 샷(shot)의 형태를 취한다. 따라서 VoIP 호출과 같은 영상 통화의 일부로서 전송될 비디오를 인코딩하는 경우, ROI는 사용자의 머리 또는 머리와 어깨 주위의 영역에 대응할 수 있다.
일부 경우에, 예를 들어 주요 액티비티(예를 들어, 영상 통화에서의 얼굴)가 프레임의 중앙 직사각형 내에서 대략 발생하는 것을 가정하여 ROI는 단지 프레임 영역 내에서 고정된 형상, 크기 및 위치로 정의된다. 다른 경우에, 사용자는 ROI를 수동으로 선택할 수 있다. 더욱 최근에는, 기법은 타겟 비디오에 적용된 얼굴 인식 알고리즘을 기초로 비디오에 나타나는 사람의 얼굴 주위의 영역으로 ROI를 자동으로 정의하는 것을 제안한다.
그러나 현존 기법의 범위가 제한된다. 단지 "토킹 머리" 이외에 지각적으로 관련될 수 있는 다른 유형의 액티비티를 고려할 수 있는 더 세분화된 양자화를 적용하기 위하여 하나 이상의 관심 영역을 자동으로 정의하는 대안의 기법을 찾는 것이 선호될 수 있고, 이에 따라 더 넓은 범위의 시나리오에 걸쳐 품질과 비트레이트 사이에 더욱 적절한 균형이 이뤄진다.
사용자의 하나 이상의 골격 특징을 추적하기 위하여 적외선 깊이 센서와 같은 하나 이상의 골격 추적 센서 및 골격 추적 알고리즘을 이용하는 최근의 골격 추적 시스템이 이용가능하게 되었다. 전형적으로 이들은 제스처 제어, 예를 들어, 컴퓨터 게임을 제어하기 위하여 사용된다. 그러나, 이러한 시스템은 양자화 목적을 위해 비디오 내에 하나 이상의 관심 영역을 자동으로 정의하는 애플리케이션을 가질 수 있음이 본 명세서에서 인식된다.
본 명세서에 개시된 일 양태에 따라서, 카메라에 의해 캡처된 장면의 비디오 이미지를 표현하는 비디오 신호를 인코딩하기 위한 인코더, 및 인코더를 제어하기 위한 제어기를 포함하는 디바이스가 제공된다. 인코더는 상기 인코딩의 일부로서 비디오 신호의 양자화를 수행하기 위한 양자화기를 포함한다. 제어기는 장면 내에 있는 사용자의 하나 이상의 골격 특징에 관한 골격 추적 알고리즘으로부터 골격 추적 정보를 수신하도록 구성된다. 이를 기초로, 제어기는 사용자의 하나 이상의 신체 영역에 대응하는 비디오 이미지 내에 하나 이상의 관심 영역을 정의하며, 하나 이상의 관심 영역 외부에서보다 하나 이상의 관심 영역 내부에서 더 세분화된 양자화 입도를 사용하기 위해 양자화를 적응한다.
관심 영역은 공간적으로 서로 배제될 수 있거나 또는 중첩될 수 있다. 예를 들어, 당해 개요(scheme)의 일부로서 정의된 신체 영역 각각은 (a) 사용자의 전신; (b) 사용자의 머리, 몸통 및 팔; (c) 사용자의 머리, 흉부 및 팔; (d) 사용자의 머리 및 어깨; (e) 사용자의 머리; (f) 사용자의 몸통; (g) 사용자의 흉부; (h) 사용자의 복부; (i) 사용자의 팔 및 손; (j) 사용자의 어깨; 또는 (k) 사용자의 손 중 하나일 수 있다.
복수의 상이한 관심 영역의 경우에, 더 세분화된 입도 양자화가 동시에 관심 영역의 일부 또는 모두에 적용될 수 있고, 그리고/또는 특정 시간에만 관심 영역의 일부 또는 모두에 적용될 수 있다(상이한 시간에 더 세분화된 입도로 관심 영역 중 상이한 관심 영역의 양자화 가능성을 포함함). 더 세분화된 양자화를 위해 현재 선택된 관심 영역 중 어느 것이 비트레이트 제약을 기초하여 동적으로 적응될 수 있고, 예를 들어, 인코딩된 비디오가 전송될 채널의 현재 대역폭에 의해 제한될 수 있다. 실시 형태에서, 신체 영역은 우선순위의 순서가 할당되고, 상이한 관심 영역이 대응하는 신체 부분의 우선순위의 순서에 따라 선택이 수행된다. 예를 들어, 가용 대역폭이 높을 때, 그 뒤에 (a) 사용자의 전신에 대응하는 ROI가 더 세분화된 입도로 양자화될 수 있는 반면, 가용 폭이 더 낮을 때, 그 뒤에 제어기는 (b) 사용자의 머리, 몸통 및 팔, 또는 (c) 사용자의 머리, 흉부 및 팔, 또는 (d) 사용자의 머리 및 어깨, 또는 심지어 단지 (e) 사용자의 머리에 대응하는 ROI에서만 더 세분화된 입도를 적용하도록 선택될 수 있다.
대안의 또는 추가 실시 형태에서, 제어기는 관심 영역 외부에서보다 각각 더 세분화되는 관심 영역 중 상이한 관심 영역 내에서 상이한 레벨의 양자화 입도를 사용하기 위하여 양자화를 적응하도록 구성될 수 있다. 상이한 레벨은 상이한 관심 영역이 대응하는 신체 영역의 우선순위의 순서에 따라 설정될 수 있다. 예를 들어, 머리가 제1의 가장 높은 양자화 입도로 인코딩될 수 있는 반면, 손, 팔, 어깨, 흉부 및/또는 몸통은 하나 이상의 제2의 다소 더 조악한 레벨의 양자화 입도로 인코딩될 수 있고, 신체의 나머지 부분은 제2 보다 더 조악하지만 ROI 외부에서보다는 여전히 더 세분화된 제3 레벨의 양자화 입도로 인코딩될 수 있다.
이 요약은 아래의 상세한 설명에서 추가로 기재되는 단순화된 형태로 개념의 선택을 소개하기 위해 제공된 것이다. 이 요약은 청구된 요지의 중요한 특징 또는 필수적인 특징을 식별하려는 의도는 없으며, 또한 청구된 요지의 범위를 제한시키려는 의도도 없다. 청구된 요지가 배경 기술 섹션에서 주지된 단점들 중 일부 또는 그 전부를 해결하는 구현으로 제한되지도 않는다.
본 발명의 이해를 돕기 위하여, 그리고 실시 형태가 실시될 수 있는 방법을 보여주기 위해, 다음의 도면을 예로서 참조할 것이다.
도 1은 통신 시스템의 도식적인 블록도.
도 2는 인코더의 도식적인 블록도.
도 3은 디코더의 도식적인 블록도.
도 4는 상이한 양자화 파라미터 값의 도식적인 도면.
도 5는 캡처된 비디오 이미지 내에 복수의 ROI를 정의하는 것을 도식적으로 표현함.
도 5b는 캡처된 비디오 이미지 내에 ROI의 또 다른 도식적 표현.
도 5c는 캡처된 비디오 이미지 내에 ROI의 또 다른 도식적 표현.
도 5d는 캡처된 비디오 이미지 내에 ROI의 또 다른 도식적 표현.
도 6은 사용자 디바이스의 도식적 블록도.
도 7은 사용자 디바이스와 상호작용하는 사용자의 도식적 도면.
도 8a는 방사 패턴의 도식적 도면.
도 8b는 방사 패턴에 의해 조사된 사용자의 도식적 정면도.
도 9는 사용자의 검출된 골격 지점의 도식적 도면.
도 1은 네트워크(101), 제1 사용자 단말기(102) 형태의 제1 디바이스, 및 제2 사용자 단말기(108) 형태의 제2 디바이스를 포함하는 통신 시스템(114)을 도시한다. 실시 형태에서, 제1 및 제2 사용자 단말기(102, 108)는 각각 스마트폰, 태블릿, 랩탑 또는 데스크탑 컴퓨터, 또는 텔레비전 스크린에 접속된 게임 콘솔 또는 셋톱 박스의 형태를 취할 수 있다. 네트워크(101)는 예를 들어 인터넷과 같은 광역 인터네트워크 및/또는 회사 또는 대학과 같은 조직 내의 광역 인트라넷 및/또는 모바일 셀룰러 네트워크와 같은 임의의 다른 유형의 네트워크를 포함할 수 있다. 네트워크(101)는 인터넷 프로토콜(IP) 네트워크와 같은 패킷 기반 네트워크를 포함할 수 있다.
제1 사용자 단말기(102)는 장면(scene, 113)의 라이브 비디오 이미지를 캡처하고, 실시간으로 비디오를 인코딩하고, 네트워크(101)를 통해 설정된 접속을 통하여 실시간으로 인코딩된 비디오를 제2 사용자 단말기(108)에 전송하도록 배열된다. 장면(113)은 적어도 때때로 장면(113)에 있는 (인간) 사용자(100)를 포함한다(실시 형태에서 사용자(100)의 적어도 일부가 장면(113)에 나타나는 것을 의미함). 예를 들어, 장면(113)은 다중 목적 사용자 단말기의 경우에 영상 회의 또는 라이브 영상 통화의 일부로서 제2 사용자 단말기(108)에 인코딩되고 전송되는 "토킹 머리"(얼굴을 머리 및 어깨를 향함)를 포함할 수 있다. 여기에서 "실시간"은 캡처되는 이벤트가 계속 진행되는 동안 인코딩 및 전송이 발생하여 이후 부분이 여전히 인코딩되는 동안 비디오의 이전 부분이 전송되고, 인코딩되고 전송되는 아직 나중의 부분이 연속 스트림으로 장면(113)에서 계속 진행 중인 것을 의미한다. 따라서 "실시간"은 작은 지연(small delay)을 배제하지 않는 것을 주목한다.
제1(전송) 사용자 단말기(102)는 카메라(103), 카메라(103)에 동작 가능하게 연결된 인코더(104) 및 네트워크(101)에 접속하기 위한 네트워크 인터페이스(107)를 포함하며, 네트워크 인터페이스(107)는 적어도 인코더(104)에 동작 가능하게 연결된 전송기를 포함한다. 인코더(104)는 카메라(103)에 의해 캡처된 바와 같이 장면(113)의 비디오 이미지를 표현하는 샘플을 포함하는 카메라(103)로부터의 입력 비디오 신호를 수신하도록 배열된다. 인코더(104)는 아래에서 더 상세히 언급되는 바와 같이 전송을 위해 이 신호를 압축하기 위하여 이 신호를 인코딩하도록 구성된다. 전송기(107)는 인코더(104)로부터 인코딩된 비디오를 수신하고 이를 네트워크(101)를 통해 설정된 채널을 통하여 제2 단말기(102)에 전송하도록 배열된다. 실시 형태에서, 이 전송은 예를 들어, 라이브 영상 통화의 송출 부분(outgoing part)으로서 인코딩된 비디오의 실시간 스트리밍을 포함한다.
본 발명의 실시 형태에 따라서, 사용자 단말기(102)는 또한 인코더(104)에 동작 가능하게 연결되고, 이에 따라 ROI(들)의 내부 및 외부 둘 모두에서 양자화 파라미터(QP)를 제어하고 캡처된 비디오 이미지의 영역 내에 하나 이상의 관심 영역(ROI)을 설정하도록 구성된 제어기(112)를 포함한다. 특히, 제어기(112)는 배경에서보다 하나 이상의 ROI 내부에서 상이한 QP를 사용하도록 인코더(104)를 제어할 수 있다.
게다가, 사용자 단말기(102)는 하나 이상의 전용 골격 추적 센서(105) 및 골격 추적 센서(105)(들)에 동작 가능하게 연결된 골격 추적 알고리즘(106)을 포함한다. 예를 들어, 하나 이상의 골격 추적 센서(105)는 도 7 내지 도 9와 관련하여 후술된 바와 같은 적외선(IR) 깊이 센서와 같은 깊이 센서 및/또는 예를 들어, 전 깊이-인식(거리측정) 카메라 또는 스테레오 카메라와 같은 2D 카메라 또는 3D 카메라일 수 있고 IR과 같은 비가시 광 또는 가시 광의 캡처를 기반으로 작동할 수 있는, 전용 골격 추적 카메라(인코딩되는 비디오를 캡처하기 위해 사용되는 카메라(103)로부터의 개별 카메라)의 또 다른 형태를 포함할 수 있다.
인코더(104), 제어기(112) 및 골격 추적 알고리즘(106) 각각은 사용자 단말기(102)의 하나 이상의 프로세서에서 실행되도록 배열되고 사용자 단말기(102)의 하나 이상의 저장 매체(예를 들어, 하드 디스크와 같은 자기 매체 또는 EEPROM 또는 "플래시(flash)" 메모리와 같은 전자 매체)에 구성된 소프트웨어 코드의 형태로 구현될 수 있다. 대안으로 이들 컴포넌트(104, 112, 106)들 중 하나 이상이 전용 하드웨어, 또는 소프트웨어 및 전용 하드웨어의 조합으로 구현될 수 있다는 것이 배제되지 않는다. 또한 이들이 사용자 단말기(102)의 일부인 것으로 기재될지라도, 실시 형태에서 카메라(103), 골격 추적 센서(105)(들) 및/또는 골격 추적 알고리즘(106)이 유선 또는 무선 접속을 통하여 사용자 단말기(103)와 통신하는 하나 이상의 개별 주변 디바이스에 구현될 수 있는 것을 주목한다.
골격 추적 알고리즘(106)은 골격 추적 센서(105)(들)로부터 수신된 감각 입력을 사용하여 사용자(100)의 하나 이상의 골격 특징(skeletal feature)을 추적하는 골격 추적 정보를 생성하도록 구성된다. 예를 들어, 골격 추적 정보는 사용자의 어깨, 팔꿈치, 손목, 목, 엉덩이 관절, 무릎 및/또는 발목 중 하나 이상과 같은 사용자(100)의 하나 이상의 관절의 위치를 추적할 수 있으며; 및/또는 사용자의 팔뚝, 상부 팔, 목, 넓적다리, 하부 다리, 머리-목, 목-허리(흉부) 및/또는 허리-골반(복부) 중 하나 이상에 의해 형성된 벡터와 같은 신체의 하나 이상의 골에 의해 형성된 벡터 또는 선을 추적할 수 있다. 일부 잠재적 실시 형태에서, 골격 추적 알고리즘(106)은 인코딩되는 이미지를 캡처하기 위해 사용된 것과 동일한 카메라(103)로부터 인코딩되는 동일한 비디오 이미지에 적용된 이미지 인식을 기초로 한 이 골격 추적 정보의 결정을 선택적으로 증강시키도록 선택적으로 구성될 수 있다. 대안으로, 골격 추적은 골격 추적 센서(105)(들)로부터의 입력만을 기초한다. 어느 쪽이든, 골격 추적은 개별 골격 추적 센서(105)(들)를 적어도 부분적으로 기초한다.
골격 추적 알고리즘 자체가 종래 기술에서 이용 가능하다. 예를 들어, 엑스박스 원(Xbox One) SDK(software development kit)는 애플리케이션 개발자가 키넥트 주변장치(Kinect peripheral)로부터의 감각 입력에 기초하여 수신 골격 추적 정보에 액세스할 수 있는 골격 추적 알고리즘을 포함한다. 실시 형태에서, 사용자 단말기(102)는 엑스박스 원 게임 콘솔이고, 골격 추적 센서(105)는 키넥트 센서 주변장치에 구현된 것이고, 골격 추적 알고리즘은 엑스박스 원 SDK의 것이다. 그러나 이는 단지 예시일 뿐이며, 다른 골격 추적 알고리즘 및/또는 센서가 가능하다.
제어기(112)는 골격 추적 알고리즘(106)으로부터 골격 추적 정보를 수신하고, 캡처된 비디오 이미지 내의 사용자의 하나 이상의 대응하는 신체 영역을 식별하도록 구성되며, 상기 신체 영역은 다른 영역보다 지각적으로 중요하며 따라서 인코딩에서 더 많은 비트가 소모되도록 보장하는 영역이다. 따라서, 제어기(112)는 이들 신체 영역을 포함하는(또는 대략적으로 포함하는) 캡처된 비디오 이미지 내의 하나 이상의 대응하는 관심 영역(ROI)을 정의한다. 제어기(112)는 그 뒤에 더 세분화된 양자화가 외부에서보다 ROI(들) 내부에서 적용되도록 인코더(104)에 의해 수행되는 인코딩의 양자화 파라미터(QP)를 적응한다. 이는 아래에서 더 상세히 언급될 것이다.
실시 형태에서, 골격 추적 센서(105)(들) 및 알고리즘(106)은 사용자가 예를 들어, 컴퓨터 게임을 제어하기 위하여 의식적으로 그리고 의도적으로 사용자 단말기(102)를 제어하기 위해 선택하는 명시적 제스처 기반 사용자 입력을 수신하는 목적으로 "내츄럴 사용자 인터페이스(natural user interface)"(NUI)로서 이전에 제공되었다. 그러나, 본 발명의 실시 형태에 따라서, NUI는 비디오를 인코딩할 때 양자화를 암시적으로 적응하기 위한 또 다른 목적으로 이용된다. 사용자는 장면(113)에서 발생하는 이벤트 동안에 그 또는 그녀가 어쨌든 하는 것과 같이, 예를 들어 영상 통화 중에 통상적으로 말하고 몸짓으로 나타내는 것과 같이 자연스럽게 행동할 뿐이며, 그 또는 그녀의 동작이 양자화에 영향을 미치는 것을 인식할 필요는 없다.
수신 측에서, 제2(수신) 사용자 단말기(108)는 스크린(111), 스크린(111)에 동작 가능하게 연결된 디코더(110), 및 네트워크(101)에 접속하기 위한 네트워크 인터페이스(109)를 포함하며, 네트워크 인터페이스(109)는 디코더(110)에 동작 가능하게 연결된 리시버를 적어도 포함한다. 인코딩된 비디오 신호는 제1 사용자 단말기(102)의 전송기(107)와 제2 사용자 단말기(108)의 수신기(109) 사이에 설정된 채널을 통해 네트워크(101)를 통하여 전송된다. 수신기(109)는 인코딩된 신호를 수신하여 이를 디코더(110)에 공급한다. 디코더(110)는 인코딩된 비디오 신호를 디코딩하고, 디코딩된 비디오 신호를 재생할 스크린(111)에 공급한다. 실시 형태에서, 비디오가 수신되고 예를 들어, 라이브 영상 통화의 착신 부분으로서 실시간 스트림으로 재생된다.
주목: 설명의 목적으로, 제1 단말기(102)는 전송 측 컴포넌트(103, 104, 105, 106, 107, 112)를 포함하는 전송 단말기로서 기재되고, 제2 단말기(108)는 수신 측 컴포넌트(109, 110, 111)를 포함하는 수신 단말기로서 기재되지만 실시 형태에서, 제2 단말기(108)는 또한 (골격 추적이 있거나 또는 없는) 전송 측 컴포넌트를 포함할 수 있고, 또한 비디오를 인코딩하여 제1 단말기(102)에 전송할 수 있고, 제1 단말기(102)는 또한 제2 단말기(109)로부터 비디오를 디코딩, 수신 및 재생하기 위한 수신 측 컴포넌트를 포함할 수 있다. 또한, 설명의 목적으로 본 명세서에서의 발명은 주어진 수신 단말기(108)에 비디오를 전송하는 것으로 기재되지만 실시 형태에서 제1 단말기(102)는 실제로 예를 들어, 영상 회의의 일부로서 하나 또는 복수의 제2 수신 사용자 단말기(108)에 인코딩된 비디오를 전송할 수 있는 것을 주목한다.
도 2는 인코더(104)의 예시 구현을 도시한다. 인코더(104)는 카메라(103)로부터 미가공(인코딩되지 않은) 비디오 신호의 샘플을 수신하도록 배열된 제1 입력을 갖는 감산 스테이지(subtraction stage, 201), 감산 스테이지(201)의 제2 입력에 연결된 출력을 갖는 예측 코딩 모듈(prediction coding module, 207), 감산 스테이지(201)의 출력에 동작 가능하게 연결된 입력을 갖는 변환 스테이지(transform stage, 202)(예를 들어, DCT 변환), 변환 스테이지(202)의 출력에 동작 가능하게 연결된 입력을 갖는 양자화기(203), 양자화기(203)의 출력에 연결된 입력을 갖는 무손실 압축 모듈(204)(예를 들어, 엔트로피 인코더), 양자화기(203)의 출력에 또한 동작 가능하게 연결된 입력을 갖는 역 양자화기(205), 및 예측 코딩 모듈(207)의 입력에 동작 가능하게 연결된 출력 및 역 양자화기(205)의 출력에 동작 가능하게 연결된 입력을 갖는 역 변환 스테이지(206)(예를 들어, 역 DCT)를 포함한다.
동작 시에, 카메라(103)로부터의 입력 신호의 각각의 프레임은 복수의 블록(또는 매크로블록 등 - "블록"은 임의의 주어진 표준의 블록 또는 매크로블록으로 지칭될 수 있는 본 명세서의 일반적인 용어로 사용될 것임)으로 분할된다. 감산 스테이지(201)의 입력은 입력 신호로부터 인코딩되는 블록(타겟 블록)을 수신하고, 디코드 측에서 디코딩된 때 기준 부분이 나타날 수 있는 방법을 표현하는 예측 코딩 모듈(207)로부터의 입력을 통하여 수신된 바와 같이 동일한 프레임(인트라 프레임 인코딩) 또는 상이한 프레임(인터 프레임 인코딩)으로 또 다른 블록-크기 부분(기준 부분)의 변환되고 양자화되며 역-양자화되고 역-변환된 버전과 상기 블록 간의 감산을 수행한다. 기준 부분은 전형적으로 인트라-프레임 인코딩의 경우에 또 다른, 종종 인접한 블록인 반면, 인터-프레임 인코딩(모션 예측)의 경우에 기준 부분은 반드시 정수 개의 블록에 의해 오프셋되도록 제약되지 않으며, 일반적으로 모션 벡터(기준 부분과 타겟 블록 사이의 공간 오프셋, 예를 들어 x 및 y 좌표)는 각각의 방향으로 임의의 개수의 픽셀 또는 심지어 분수 정수 개수의 픽셀일 수 있다.
타겟 블록으로부터 기준 부분의 감산은 잔차 신호, 즉 타겟 블록이 디코더(110)에서 예측되는 동일한 프레임 또는 상이한 프레임의 기준 부분과 타겟 블록 간의 차이를 생성한다. 아이디어는 타겟 블록이 절대 방식(absolute terms)이 아니라 타겟 블록과 동일 또는 상이한 프레임의 또 다른 부분의 픽셀 사이의 차이로 인코딩되는 것이다. 차이는 타겟 블록의 절대 표현보다 작은 경향이 있으며, 따라서 인코딩된 신호에서 인코딩하는 데 더 적은 비트를 취한다.
각각의 타겟 블록의 잔차 샘플은 감산 스테이지(201)의 출력으로부터 변환되는 변환 스테이지(202)의 입력으로 출력되어 대응하는 변환된 잔차 샘플을 생성한다. 변환의 역할은 전형적으로 데카르트 x 및 y 좌표의 관점에서 공간 도메인 표현을 변환 도메인 표현, 전형적으로 공간 주파수 도메인 표현(때때로 주파수 도메인으로 불림)으로 변환하는 것이다. 즉, 공간 도메인에서, 각각의 색상 채널(예를 들어, 각각의 RGB 또는 각각의 YUV)은 x 및 y 좌표와 같은 공간 좌표의 함수로서 표현되며, 각각의 샘플은 상이한 좌표에서 각각의 픽셀의 진폭을 표현하고, 반면 주파수 도메인에서 각각의 색상 채널은 치수 1/거리를 갖는 공간 주파수의 함수로서 표현되며, 각각의 샘플은 각각의 공간 주파수 항(spatial frequency term)의 계수를 표현한다. 예를 들어, 변환은 DCT(discrete cosine transform)일 수 있다.
변환된 잔차 샘플은 변환 스테이지(202)의 출력으로부터 양자화되고 변환된 잔차 샘플로 양자화되는 양자화기(203)의 입력으로 출력된다. 전술된 바와 같이, 양자화는 더 높은 입도 스케일의 표현으로부터 더 낮은 입도 스케일의 표현으로 변환하는 프로세스, 즉 큰 입력 값 세트를 더 작은 세트로 매핑하는 프로세스이다. 양자화는 손실이 있는 압축 형태이며, 즉, 세부 정보 "폐기된다". 그러나 이는 또한 각각의 샘플을 표현하는데 필요한 비트 수를 감소시킨다.
양자화되고 변환된 잔차 샘플은 양자화기(203)의 출력으로부터 엔트로피 인코딩과 같은 신호에 대한 추가 무손실 인코딩을 수행하도록 배열된 무손실 압축 스테이지(204)의 입력으로 출력된다. 엔트로피 인코딩은 더 작은 수의 비트로 구성된 코드워드(codeword)로 더욱 통상적으로 발생하는 샘플 값을 인코딩하고 더 큰 수의 비트로 구성된 코드워드로는 좀처럼 발생하지 않는 샘플 값을 인코딩함으로써 작동된다. 그렇게 함으로써, 가능한 모든 샘플 값에 대해 일련의 고정된 길이의 코드워드가 사용된 경우보다 평균적으로 더 작은 수의 비트로 데이터를 인코딩하는 것이 가능하다. 변환(202)의 목적은 변환 도메인(예를 들어, 주파수 도메인)에서, 더 많은 샘플이 전형적으로 공간 도메인에서보다 0 또는 작은 값으로 양자화하는 경향이 있는데 있다. 양자화된 샘플에서 더 많은 0 또는 많은 동일한 작은 수가 발생할 때, 그 뒤에 이들은 무손실 압축 스테이지(204)에 의해 효과적으로 인코딩 될 수 있다.
무손실 압축 스테이지(204)는 네트워크(101)를 통해(제2 단말기(108)의 수신기(110)를 통해) 제2(수신) 단말기(108) 상의 디코더(110)로의 전송을 위해 인코딩된 샘플을 전송기(107)에 출력하도록 배열된다.
양자화기(203)의 출력은 또한 양자화된 샘플을 역 양자화하는 역 양자화기(205)에 피드백되고, 역 양자화기(205)의 출력은 각각의 블록의 역-양자화되고 역-변환된 버전을 생성하기 위하여 변환(202)의 역을 수행하는 역 변환 스테이지(206)(예를 들어, 역 DCT)의 입력에 공급된다. 양자화는 손실 프로세스이기 때문에 각각의 역 양자화되고 역 변환 블록에는 입력 신호의 대응하는 원래의 블록에 대한 일부 왜곡이 포함된다. 이는 디코더(110)가 보게 될 것을 표현한다. 그 뒤에 예측 코딩 모듈(207)은 이를 이용하여 입력 비디오 신호의 추가 타겟 블록에 대한 잔차(residual)를 생성할 수 있다(즉, 예측 코딩은 다음 타겟 블록과 디코더(110)가 예측되는 대응하는 기준 부분을 보는 방법 간의 잔차의 관점에서 인코딩함).
도 3은 디코더(110)의 예시 구현을 도시한다. 디코더(110)는 수신기(109)로부터 인코딩된 비디오 신호의 샘플을 수신하도록 배열된 입력을 갖는 무손실 압축 해제 스테이지(301), 무손실 압축해제 스테이지(301)의 출력에 동작 가능하게 연결된 입력을 갖는 역 양자화기(302), 역 양자화기(302)의 출력에 동작 가능하게 연결된 입력을 갖는 역 변환 스테이지(303)(예를 들어, 역 DCT), 및 역 변환 스테이지(303)의 출력에 동작 가능하게 연결된 입력을 갖는 예측 모듈(304)을 포함한다.
동작 시에, 역 양자화기(302)는 수신된(인코딩된 잔차) 샘플을 역 양자화하고, 이들 역 양자화된 샘플을 역 변환 스테이지(303)의 입력에 공급한다. 역 변환 스테이지(303)는 각각의 블록의 역 양자화되고 역 변환된 버전을 생성하기 위해, 즉 각각의 블록을 재차 공간 도메인으로 변환하기 위해 역 양자화된 샘플에 대해 변환(202)의 역을 수행한다(예를 들어, 역 DCT). 이 단계에서, 이들 블록은 여전히 잔차 신호의 블록임을 주목한다. 이들 잔차 공간 도메인 블록은 역 변환 스테이지(303)의 출력으로부터 예측 모듈(304)의 입력으로 공급된다. 예측 모듈(304)은 역 양자화되고 역 변환된 잔차 블록들을 사용하여 공간 도메인에서 동일한 프레임(인트라 프레임 예측) 또는 상이한 프레임(인터 프레임 예측)으로부터 이의 대응하는 기준 부분의 이미 디코딩된 버전을 더한 그의 잔차로부터 각각의 타겟 블록을 예측한다. 인터 프레임 인코딩(모션 예측)의 경우에, 타겟 블록과 기준 부분 간의 오프셋은 또한 인코딩된 신호에 포함되는 각각의 모션 벡터에 의해 지정된다. 인트라 프레임 인코딩의 경우에, 기준 블록으로서 사용하기 위한 블록은 전형적으로 미리 결정된 패턴에 따라 결정되지만, 대안으로 또한 인코딩된 신호에서 시그널링될 수 있다.
인코드 측에서 제어기(112)의 제어 하에 양자화기(203)의 동작이 이제 더 상세히 언급된다.
양자화기(203)는 제어기(112)로부터 하나 이상의 관심 영역(ROI)의 표시를 수신하고, (적어도 때때로) 외부보다 ROI 내에서 상이한 양자화 파라미터(QP) 값을 적용하도록 동작 가능하다. 실시 형태에서, 양자화기(203)는 다수의 ROI 중 상이한 ROI에서 상이한 QP 값을 적용하도록 동작 가능하다. ROI(들) 및 대응하는 QP 값의 표시는 또한 디코더(110)에 시그널링되어 대응하는 역 양자화가 역 양자화기(302)에 의해 수행될 수 있다.
도 4는 양자화의 개념을 도시한다. 양자화 파라미터(QP)는 양자화에 사용된 스텝 크기(step size)의 표시이다. 낮은 QP는 양자화된 샘플이 더 세분화된 계조, 즉 샘플이 취할 수 있는 가능한 값에서 더욱 근접하게 이격된 스텝(즉, 입력 신호에 비해 양자화가 덜한)을 갖는 스케일로 표현되는 것을 의미하는 반면 높은 QP는 샘플이 더 조악한 계조, 즉 샘플이 취할 수 있는 가능한 값에서 더욱 넓게 이격된 스텝(입력 신호에 비해 더 많은 양자화)을 갖는 스케일로 표현되는 것을 의미한다. 낮은 QP 신호는 낮은 QP 신호보다 더 큰 비트를 발생시키며, 이는 더 큰 수의 비트가 각각의 값을 표현하기 위해 필요하기 때문이다. 스텝 크기는 일반적으로 전체 스케일에 대해 규칙적이지만(균등하게 이격됨) 가능한 모든 실시 형태에서 반드시 이럴 필요는 없는 것을 주목한다. 스텝 크기의 불균일한 변화의 경우, 증가/감소는 예를 들어 스텝 크기의 평균(예를 들어, 중간)의 증가/감소, 또는 단지 스케일의 특정 영역에서 스텝 크기의 증가/감소를 의미할 수 있다.
인코더에 따라 ROI(들)가 다양한 방법으로 지정될 수 있다. 일부 인코더에서 하나 이상의 ROI 각각은 직사각형(예를 들어, 단지 수평 및 수직 경계에 관하여)으로 정의되도록 제한될 수 있거나 또는 다른 인코더에서 개별 블록(또는 매크로블록)이 ROI의 일부를 형성하는 블록 단위(block-by-block basis)(또는 매크로블록 단위 등)로 정의될 수 있다. 일부 실시 형태에서, 양자화기(203)는 각각의 개별 블록(또는 매크로블록)에 대해 특정되는 각각의 QP 값을 지원한다. 이 경우, 각각의 블록(또는 매크로블록 등)에 대한 QP 값은 인코딩된 신호의 일부로서 디코더에 시그널링된다.
전술된 바와 같이, 인코드 측에서의 제어기(112)는 골격 추적 알고리즘(106)으로부터 골격 추적 정보를 수신하고, 이에 기초하여 ROI(들)를 동적으로 정의하여 인코딩 목적으로 가장 지각적으로 중요한 하나 이상의 각각의 신체 특징에 대응하고 이에 따라 ROI(들)에 대한 QP 값(들)을 설정하도록 구성된다. 실시 형태에서, 제어기(112)는 단지 크기, 형상 및/또는 배치 또는 ROI(들)를 적응할 수 있고, QP의 고정된 값이 ROI(들) 내부에서 사용되며 또 다른(더 높은) 고정된 값이 외부에서 사용된다. 이 경우 양자화는 더 낮은 QP(더 세분화된 양자화)가 적용되는 위치와 그렇지 않은 위치의 관점에서만 적응된다. 대안으로, 제어기(112)는 ROI(들) 및 QP 값(들) 모두를 적응하도록 구성될 수 있으며, 즉 ROI(들) 내에서 적용된 QP는 또한 동적으로 적응되는 변수이다(잠재적으로 이는 QP 외부에 있음).
동적 적응은 "온 더 플라이(on the fly)", 즉, 사용자(100)가 장면(113) 내에서 또는 장면(113) 내부 및 외부로 이동함에 따라 현재 인코딩 상태가 이에 따라 적응하는 진행 중의 상태에 응답하는 것을 의미한다. 따라서, 비디오의 인코딩은 레코딩되는 사용자(100)가 하고 있는 것 및/또는 비디오가 캡처되는 시간에 그 또는 그녀가 있는 위치에 따라서 적응된다.
따라서, 본 명세서에서는 NUI 센서(105)(들)로부터의 정보를 사용하여 골격 추적을 수행하고 관심 영역(ROI)(들)을 연산하며, 그 뒤에 관심 영역(ROI)(들)이 프레임의 나머지 부분보다 더 우수한 품질로 인코딩되도록 인코더 내의 QP를 적응하는 기법이 기재된다. ROI가 프레임의 작은 부분이면 이는 대역폭을 절약할 수 있다.
실시 형태에서, 제어기(112)는 인코더(104)의 비트레이트 제어기이다(인코더(104) 및 제어기(112)의 도시는 단지 도식적이고 제어기(112)는 동등하게 인코더(104)의 일부분으로 간주 될 수 있음을 주목한다). 비트레이트 제어기(112)는 특정 비트레이트 제약에 부합되도록 인코딩된 비디오 신호의 비트레이트에 영향을 미칠 인코딩의 하나 이상의 특성들의 제어를 담당한다. 양자화는 하나의 이러한 속성이다: 더 낮은 QP(더 세분화된 양자화)는 비디오의 단위 시간당 더 많은 비트를 발생시키지만 더 높은 QP(더 조악한 양자화)는 비디오의 단위 시간당 더 적은 비트를 발생시킨다.
예를 들어, 비트레이트 제어기(112)는 전송 단말기(102)와 수신 단말기(108) 사이의 채널을 통해 가용 대역폭의 측정을 동적으로 결정하도록 구성될 수 있고, 비트레이트 제약은 이에 의해 제한되는 최대 비트레이트 버짓 - 최대 가용 대역폭과 동일하게 설정되거나 그 중 일부 기능으로 결정됨 - 이다. 대안으로 단순히 최대값 대신에, 비트레이트 제약은 더욱 복잡한 RDO(rate-distortion optimization) 프로세스의 결과일 수 있다. 다양한 RDO 프로세스의 세부 사항은 당업자에게 익숙할 것이다. 어느 경우에나, 실시 형태에서, 제어기(112)는 ROI(들) 및/또는 각각의 QP 값(들)을 적응할 때 비트레이트에 대한 이러한 제약을 고려하도록 구성된다.
예를 들어, 제어기(112)는 대역폭 조건이 열악할 때 및/또는 ROI를 양자화하는데 소모되는 현재의 비트레이트가 거의 이익이 없는 것을 RDO 알고리즘이 나타내는 경우 ROI가 할당된 신체 부분의 개수의 제한 또는 더 작은 ROI를 선택할 수 있지만 이와는 달리 대역폭 조건이 양호하고 및/또는 RDO 알고리즘이 유용하다는 것을 나타내는 경우 제어기(112)는 더 큰 ROI를 선택하거나 또는 더 많은 신체 부분으로 ROI를 할당할 수 있다. 대안으로 또는 추가로, 제어기(112)는 대역폭 조건이 열악하고 및/또는 RDO 알고리즘이 현재 양자화에 더 많은 시간을 소비하는 것이 유용하지 않다는 것을 나타내는 경우 ROI(들)에 대해 더 작은 QP 값을 선택할 수 있지만 이와는 달리 대역폭 조건이 양호하고 및/또는 RDO 알고리즘이 유용하다고 나타낼 경우, 제어기(112)는 ROI(들)에 대해 더 큰 QP 값을 선택할 수 있다.
예를 들어, VoIP 호출 비디오 통신에서 대개 이미지의 품질과 사용되는 네트워크 대역폭 사이에 트레이드-오프(trade-off)가 있어야 한다. 본 발명의 실시 형태는 대역폭을 실현 가능한 레벨로 유지하면서 전송되는 비디오의 인지된 품질을 최대화하려고 시도한다.
게다가, 실시 형태에서, 골격 추적의 사용은 다른 잠재적 방법에 비해 더욱 효과적일 수 있다. 사용자가 장면에서 하는 것을 분석하려고 시도하는 것은 계산 상으로 많은 비용이 소요될 수 있다. 그러나, 일부 디바이스는 예를 들어, 전용 하드에어 또는 예약된 프로세서 사이클과 같이 골격 추적과 같은 특정 그래픽 기능과는 별도로(set aside) 예약된 처리 리소스를 갖는다. 이들이 골격 추적에 기초한 사용자의 모션 분석에 사용된다면, 그 뒤에 이는 예를 들어 VoIP 클라이언트 또는 영상 통화를 수행하는 다른 이러한 통신 클라이언트 애플리케이션의 일부로서 인코더를 실행하는데 사용되는 범용 처리 리소스에 대한 처리 부담을 경감시킬 수 있다.
예를 들어, 도 6에 도시된 바와 같이, 전송 사용자 단말기(102)는 전용 그래픽 프로세서(GPU, 602) 및 범용 프로세서(예를 들어, CPU)(601)를 포함할 수 있고, 그래픽 프로세서(602)는 골격 추적을 포함하는 특정 그래픽 처리 동작을 위해 예약된다. 실시 형태에서, 골격 추적 알고리즘(106)은 그래픽 프로세서(602)에서 실행되도록 배열될 수 있지만, 인코더(104)는 범용 프로세서(601)에서(예를 들어, 범용 프로세서에서 실행되는 VoIP 클라이언트 또는 다른 이러한 영상 통화 클라이언트의 일부로서) 실행되도록 배열될 수 있다. 게다가, 실시 형태에서, 사용자 단말기(102)는 "시스템 공간" 및 개별 "애플리케이션 공간"을 포함할 수 있으며, 이들 공간은 개별 GPU 및 CPU 코어 및 상이한 메모리 리소스 상에 매핑된다. 이러한 경우에, 골격 추적 알고리즘(106)은 시스템 공간에서 실행되도록 배열될 수 있고, 인코더(104)를 포함하는 통신 애플리케이션(예를 들어, VoIP 클라이언트)은 애플리케이션 공간에서 실행된다. 다른 가능한 디바이스가 또한 유사한 배열을 이용할 수 있을지라도 이러한 사용자 단말기의 예시는 엑스박스 원이다.
골격 추적 및 대응 ROI의 선택에 대한 일부 예시 구현이 이제 더 상세히 언급된다.
도 7은 골격 추적 센서(105)가 골격 추적 정보를 검출하는데 사용되는 예시적인 배열을 도시한다. 이 예시에서, 골격 추적 센서(105) 및 인코딩되는 송출 비디오를 캡처하는 카메라(103) 둘 모두는 사용자 단말기(102)에 접속된 동일한 외부 주변 디바이스(703)에 통합되고, 사용자 단말기(102)는 예를 들어, VoIP 클라이언트 애플리케이션의 일부로서 인코더(104)를 포함한다. 예를 들어, 사용자 단말기(102)는 텔레비전 세트(702)에 접속된 게임 콘솔의 형태를 취할 수 있으며, 상기 게임 콘솔을 통해 사용자(100)는 VoIP 호출의 착신 비디오를 시청한다. 그러나, 이 예시는 제한적이지 않는 것으로 이해될 것이다.
실시 형태에서, 골격 추적 센서(105)는 비가시(예를 들어, IR) 방사선을 방출하기 위한 프로젝터(704) 및 동일 유형의 반사된 비가시 방사선을 감지하기 위한 대응하는 감지 소자(706)를 포함하는 능동 센서이다. 프로젝터(704)는 비가지 방사선이 장면(113) 내의 오브젝트(예컨대 사용자(100))로부터 반사된 때에 감지 소자(706)에 의해 검출될 수 있도록 감지 소자(706)의 전방에 비가시 방사선을 투사하도록 배열된다.
감지 소자(706)는 2 차원에 걸쳐 비가시 방사선을 감지하기 위하여 구성 1D 감지 소자의 2D 어레이를 포함한다. 게다가, 프로젝터(704)는 미리 결정된 방사 패턴으로 비가시 방사선을 투사하도록 구성된다. 사용자(100)와 같은 3D 오브젝트로부터 반사된 때에, 이 패턴의 왜곡은 감지 소자(706)가 센서 어레이의 평면에서의 2 차원에 걸쳐 사용자(100)를 감지하는데 사용할 수 있도록 할 뿐만 아니라 감지 소자(706)에 대해 사용자의 신체 상의 다양한 지점의 깊이를 감지하는데 사용할 수 있도록 한다.
도 8a는 프로젝터(706)에 의해 방출된 예시 방사 패턴(800)을 도시한다. 도 8a에 도시된 바와 같이, 방사 패턴은 적어도 2 차원으로 연장되고 체계적으로 불균일하여 교번 강도의 체계적으로 배치된 복수의 영역을 포함한다. 예시로서, 도 8a의 방사 패턴은 실질적으로 균일한 방사 도트 어레이를 포함한다. 방사 패턴은 이 실시 형태에서 적외선(IR) 방사 패턴이며, 감지 소자(706)에 의해 검출될 수 있다. 도 8a의 방사 패턴은 예시적이며, 다른 대안적인 방사 패턴의 사용도 또한 고려되는 것을 주목한다.
이 방사 패턴(800)은 프로젝터(704)에 의해 센서(706)의 전방으로 투사된다. 센서(706)는 그의 시야에 투사된 바와 같이 비가시 방사 패턴의 이미지를 캡처한다. 이들 이미지는 센서(706)의 시야에서 사용자 신체의 깊이를 계산하기 위해 골격 추적 알고리즘(106)에 의해 처리되어, 사용자(100)의 3 차원 표현을 효과적으로 형성하고, 실시 형태에서 이에 따라 또한 다른 사용자 및 이들 사용자의 상이한 각각의 골격 지점을 인식할 수 있다.
도 8b는 골격 추적 센서(105)의 감지 소자(706) 및 카메라(103)에 의해 보이는 바와 같이 사용자(100)의 정면도를 도시한다. 도시된 바와 같이, 사용자(100)는 골격 추적 센서(105)를 향하여 연장된 그 또는 그녀의 왼손으로 포즈를 취한다. 사용자의 머리는 그 또는 그녀의 몸통을 넘어 전방으로 돌출되고, 몸통은 오른팔의 전방에 있다. 방사 패턴(800)은 프로젝터(704)에 의해 사용자에게 투사된다. 물론, 사용자는 다른 방식으로 포즈를 취할 수 있다.
도 8b에 도시된 바와 같이, 이에 따라 사용자(100)는 골격 추적 센서(105)의 감지 소자(706)에 의해 검출된 바와 같이 투사된 방사 패턴(800)을 왜곡시키도록 작용하는 형태로 포즈를 취하고 있고, 프로젝터(704)로부터 더 이격되어 사용자(100)의 일부 상에 투사된 방사 패턴(800)의 일부(즉, 이 경우, 방사 패턴의 도트가 더욱 분리되도록)는 프로젝터(704)에 더 근접한 사용자의 일부 상에 투사된 방사선의 일부(즉, 이 경우, 방사 패턴(800)의 도트가 덜 분리되도록)에 대해 효과적으로 연신되고, 연신의 크기는 프로젝터(704)로부터의 분리에 따라 스케일링되고, 사용자의 상당히 후방으로 오브젝트 상에 투사된 방사 패턴(800)의 일부는 감지 소자(706)에 효과적으로 보이지 않는다. 방사 패턴(800)은 체계적으로 불균질하기 때문에, 사용자의 형태에 의한 그 왜곡은, 골격 추적 센서(105)의 감지 소자(706)에 의해 캡처된 바와 같은 왜곡된 방사 패턴의 이미지를 처리하는 골격 추적 알고리즘(106)에 의해 사용자(100)의 골격 특징을 식별하는 그 형태를 식별하기 위하여 사용될 수 있다. 예를 들어, 감지 소자(706)로부터 사용자의 신체(100)의 영역의 분리는 사용자의 그 영역 내에서 검출된 방사 패턴(800)의 도트의 분리를 측정함으로써 결정될 수 있다.
도 8a 및 도 8b에서, 방사 패턴(800)이 가시적으로 도시되지만, 이는 전적으로 이해를 돕기 위한 것이며, 사실상 실시 형태에서 사용자(100) 상에 투사된 바와 같은 방사 패턴(800)은 사람의 눈에 보이지 않을 것이라는 것을 주목한다.
도 9를 언급하면, 골격 추적 센서(105)의 감지 소자(706)로부터 감지된 센서 데이터는 골격 추적 알고리즘(106)에 의해 처리되어 사용자(100)의 하나 이상의 골격 특징을 검출한다. 그 결과는 소프트웨어 개발자에 의한 사용을 위한 API(application programming interface)에 의해 골격 추적 알고리즘(106)으로부터 인코더(104)의 제어기(112)로 이용가능하게 된다.
골격 추적 알고리즘(106)은 골격 추적 센서(105)의 감지 소자(706)로부터 센서 데이터를 수신하고 이 센서 데이터를 처리하여 골격 추적 센서(105)의 시야 내의 사용자의 수를 결정하고, 당업계에 공지된 골격 검출 기법을 이용하여 각각의 사용자에 대한 각각의 일련의 골격 지점을 식별한다. 각각의 골격 지점은 카메라(103)에 의해 개별적으로 캡처되는 비디오에 대한 대응하는 인간 관절의 대략적인 위치를 표현한다.
일 예시 실시 형태에서, 골격 추적 알고리즘(106)은 골격 추적 센서(105)의 시야 내의 각각의 사용자에 대한 최대 20개의 각각의 골격 지점을 검출할 수 있다(시야 내에 얼마나 많은 사용자의 신체가 나타나는지에 따라). 각각의 골격 지점은 사용자(또는 사용자들)가 센서의 시야 내에서 이동함에 따라 공간과 시간이 각각 변화하는 20개의 인식된 인간 관절 중 하나에 대응한다. 임의의 순간에 이들 관절의 위치는 골격 추적 센서(105)에 의해 검출된 바와 같은 사용자의 3차원 형태를 기초하여 계산된다. 이들 20개의 골격 지점은 도 9에 도시된다: 좌측 발목(922b), 우측 발목(922a), 좌측 팔꿈치(906b), 우측 팔꿈치(906a), 좌측 발(924b), 우측 발(924a), 좌측 손(902b), 우측 손(902a), 머리(910), 엉덩이(916)들 사이의 중심, 좌측 엉덩이(918b), 우측 엉덩이(918a), 좌측 무릎(920b), 우측 무릎(920a), 어깨(912)들 사이의 중심, 좌측 어깨(908b), 우측 어깨(908a), 중간 척추(914), 좌측 손목(904b) 및 우측 손목(704a).
일부 실시 형태에서, 골격 지점은 또한 추적 상태를 가질 수 있다: 이는 관절이 명확하게 보이지 않지만 골격 추적 알고리즘이 그 위치를 추측할 때 및/또는 추적되지 않을 때 추측되는 명확하게 보이는 관절을 명시적으로 추적할 수 있다. 추가 실시 형태에서, 검출된 골격 지점은 대응하는 관절의 우도(likelihood)가 정확하게 검출된 것을 나타내는 각각의 신뢰도 값이 제공될 수 있다. 특정 임계값 미만의 신뢰도 값을 갖는 지점은 임의의 ROI를 결정하기 위해 제어기(112)에 의한 추가 사용으로부터 배제될 수 있다.
특정 시점에서 골격 추적 알고리즘(106)에 의해 보고된 바와 같이 골격 지점의 위치가 그 때에 비디오의 프레임(이미지) 내의 대응하는 인간 관절의 위치에 대응하도록 카메라(103)로부터의 비디오 및 골격 지점이 상관된다. 골격 추적 알고리즘(106)은 이에 따른 사용을 위해 제어기(112)에 골격 추적 정보로서 이들 검출된 골격 지점을 공급한다. 비디오 데이터의 각각의 프레임에 대해, 골격 추적 정보에 의해 공급된 골격 지점 데이터는 예를 들어, 비디오 프레임 크기에 대해 경계가 지정된 좌표계의 데카르트 좌표(x,y)로 표현되는 그 프레임 내의 골격 지점의 위치를 포함한다. 제어기(112)는 사용자(100)에 대해 검출된 골격 지점을 수신하고 그로부터 사용자의 복수의 시각적 신체 특성, 즉 특정 신체 부분 또는 영역을 결정하도록 구성된다. 따라서, 골격 추적 알고리즘(106)에 의해 제공된 하나 이상의 골격 지점으로부터 외삽(extrapolation)에 의해 각각 검출되고 카메라(103)로부터의 비디오의 대응하는 비디오 프레임 내의 영역(즉, 전술된 좌표계 내의 영역으로 정의됨)에 대응하는 골격 추적 정보를 기초하여 제어기(112)에 의해 신체 부분 또는 신체 영역이 검출된다.
이들 시각적 신체적 특성은 캡처된 비디오에서 실제로 볼 수 있고 식별할 수 있는 사용자 신체의 특징을 표현하는 의미에서 시각적인 것으로 주목되어야 하지만 실시 형태에서 상기 특성은 카메라(103)에 의해 캡처된 비디오 데이터에서 "보이지" 않고, 제어기(112)는 골격 추적 알고리즘(106) 및 센서(105)에 의해 제공된 바와 같은 골격 지점의 배열에 기초한(예를 들어, 그 프레임의 이미지 처리를 기초로 하지 않음) 카메라(103)로부터의 비디오의 프레임 내의 이들 특징의(대략적인) 상대 위치, 형상 및 크기를 외삽한다. 예를 들어, 제어기(112)는 신체 부분과 관련된 검출된 골격 지점들의 배열로부터 계산된 위치 및 크기(선택적으로 배향)를 갖는 직사각형(또는 유사한)으로서 각각의 신체 부분을 근사화함으로써 이를 수행할 수 있다.
본 명세서에 개시된 기법은 하나 이상의 관심 영역(ROI)을 계산하기 위해 전술된 것들과 같이(통상적인 비디오 카메라(103)와는 대조적으로) 진보된 활성 골격 추적 비디오 캡처 디바이스의 기능을 사용한다. 따라서 실시 형태에서, 골격 추적은 적어도 두 가지 방식으로 정상적인 얼굴 또는 이미지 인식 알고리즘과 구별되는 것을 주목한다: 골격 추적 알고리즘(106)은 2D가 아닌 3D 공간에서 작동하고, 골격 추적 알고리즘(106)은 가시 색 공간(RGB, YUV 등)이 아닌 적외선 공간에서 작동한다. 언급된 바와 같이, 실시 형태에서 진보된 골격 추적 디바이스(105)(예를 들어, 키넥트)는 적외선 센서를 사용하여 통상 색상 프레임과 함께 깊이 프레임 및 본체 프레임을 생성한다. 이 본체 프레임은 ROI를 연산하는 데 사용될 수 있다. ROI의 좌표는 카메라(103)로부터 색상 프레임의 좌표 공간에 매핑되고, 색상 프레임과 함께 인코더에 전달된다. 그 뒤에, 인코더는 이의 알고리즘의 이들 좌표를 사용하여 원하는 출력 비트레이트를 허용하기 위해 프레임의 상이한 영역에서 사용하는 QP를 결정한다.
ROI는 직사각형의 모음일 수 있거나, 또는 특정 신체 부분, 예를 들어, 머리, 상체 등 주위의 영역일 수 있다. 언급된 바와 같이, 개시된 기법은 비디오 인코더(소프트웨어 또는 하드웨어)를 사용하여 입력 프레임의 상이한 영역에서 상이한 QP를 생성하고, 인코딩된 출력 프레임은 외부에서보다 ROI 내부에서 더 선명하다. 실시 형태에서, 제어기(112)는 상이한 ROI 중 상이한 ROI로 상이한 우선순위를 할당하도록 구성될 수 있고, 이에 따라 배경보다 더 낮은 QP로 양자화되는 상태가 예를 들어, 가용 대역폭이 떨어지는 것과 같이 증가하는 제약이 비트레이트에 주어짐에 따라 우선순위의 역순으로 떨어진다. 대안으로 또는 추가로, ROI에는 몇몇의 상이한 레벨이 있을 수 있는데, 즉, 하나의 영역을 다른 영역보다 더욱 관심을 가질 수 있다. 예를 들어, 더 많은 사람이 프레임에 있는 경우, 이 사람들은 모두 배경보다 더욱 관심이 있지만, 현재 말하는 사람은 다른 사람들보다 더욱 관심이 있다.
일부 예시가 도 5a 내지 도 5d와 관련하여 언급된다. 이들 도면 각각은 사용자(100)(또는 사용자(100)의 적어도 일부)의 이미지를 포함하는 장면(113)의 캡처된 이미지의 프레임(500)을 도시한다. 프레임 영역 내에서, 제어기(112)는 각각의 신체 영역에 각각 대응하는(즉, 캡처된 이미지로 나타나는 바와 같이 각각의 신체 영역을 포함하거나 또는 대략 포함함) 골격 추적 정보를 기초로 하나 이상의 ROI(501)를 정의한다.
도 5a는 각각의 ROI가 단지 수평 및 수직 경계(단지 수평 및 수직 에지만을 가짐)에 의해서 정의된 직사각형인 예시를 도시한다. 주어진 예시에서, 3개의 각각의 신체 영역에 대응하여 정의된 3개의 ROI가 있다: 사용자(100)의 머리에 대응하는 제1 ROI(501a); 사용자(100)의 머리, 몸통 및 팔(손 포함)에 대응하는 제2 ROI(501b); 및 사용자(100)의 전신에 대응하는 제3 ROI(501c). 따라서 예시로 도시된 바와 같이 ROI 및 ROI가 대응하는 신체 영역이 중첩될 수 있는 것을 주목한다. 본 명세서에서 언급된 바와 같은 신체 영역은 단일 뼈 또는 서로 배타적인 신체 부분에 대응할 필요는 없지만 더욱 일반적으로 골격 추적 정보를 기초로 식별된 신체의 임의의 영역을 지칭할 수 있다. 사실, 실시 형태에서 관심이 있을 수 있는 가장 넓은 신체 영역(예를 들어, 전신)으로부터 관심이 있을 수 있는 가장 특별한 신체 영역(예를 들어, 얼굴을 포함하는 머리)으로 좁혀지는 상이한 신체 영역은 계층적이다(hierarchical).
도 5b는 ROI가 직사각형으로 제약되지 않고 임의의 형상(블록 단위, 예를 들어, 매크로블록 단위)으로 정의될 수 있는 유사 예시를 도시한다.
각각의 도 5a 및 5b의 예시에서, 머리에 대응하는 제1 ROI(501a)는 최고 우선순위 ROI이고; 머리, 몸통 및 팔에 대응하는 제2 ROI(501b)는 그 다음으로 높은 우선순위 ROI이며; 전신에 대응하는 제3 ROI(501c)는 최저 우선순위 ROI이다. 이는 다음과 같이 두 가지 중 하나 또는 둘 다를 의미할 수 있다.
우선, 비트레이트 제약이 더욱 엄격해짐에 따라(예를 들어, 채널 상의 가용 네트워크 대역폭이 감소함), 우선순위는 ROI가 낮은 QP(배경보다 낮은)로 양자화되는 것으로부터 밀려나는 순서를 정의할 수 있다. 예를 들어, 엄격한 비트레이트 제약 하에서, 단지 머리 영역(501a)만이 낮은 QP가 주어지며, 다른 ROI(501b, 501c)는 배경(즉, 비 ROI) 영역과 동일하게 높은 QP로 양자화되고; 반면 중간 비트레이트 제약 하에서, (머리 영역(501a)을 포함하는) 머리, 몸통 및 팔 영역(501b)은 낮은 QP가 주어지고, 나머지 전신 ROI(501c)는 배경과 동일하게 높은 QP로 양자화되고; 가장 덜 엄격한 비트레이트 제약 하에서, (머리, 몸통 및 팔(501a, 501b)을 포함하는) 전신 영역(501c)은 낮은 QP가 주어진다. 일부 실시 형태에서, 가장 엄격한 비트레이트 제약 하에서, 심지어 머리 영역(501a)은 높은 배경 QP로 양자화될 수 있다. 따라서, 더 세분화된 양자화가 ROI에서 사용된다고 언급되는 이 예시에서 도시된 바와 같이, 이는 오직 때때로 의미할 수 있는 것을 주목한다. 그럼에도 불구하고, 또한 본 출원의 목적을 위한 ROI의 의미는 이미지에 사용된 가장 높은 QP(또는 더욱 일반적으로 가장 조악한 양자화)보다 더 낮은 QP(또는 더욱 일반적으로 더 세분화된 양자화)가 주어지는 영역(적어도 일부 경우에)인 것을 주목한다. 양자화를 제어하는 것 이외의 목적으로만 정의된 영역은 본 발명의 맥락에서 ROI로 간주되지 않는다.
(501a, 501b, 501c)와 같은 상이한 우선순위 ROI의 제2 응용으로서, 각각의 영역은 상이한 영역이 상이한 레벨(각각은 ROI 외부에서 사용된 가장 조악한 레벨보다 더 세분화되지만 모두가 가장 세분화되지는 않음)의 입도로 양자화되도록 상이한 QP가 할당될 수 있다. 예를 들어, 머리 영역(501a)은 제1 최저 QP로 양자화될 수 있고; 몸체와 팔 영역(501b의 나머지 부분)은 제2 중저 QP로 양자화될 수 있고; 신체 영역의 나머지 부분(501c의 나머지 부분)은 제2 QP보다 높지만 외부에서 사용되는 것보다 더 낮은 제3 다소 낮은 QP로 양자화될 수 있다. 따라서, 이 예시에서 도시된 바와 같이 ROI는 중첩될 수 있는 것을 주목한다. 이 경우에, 중첩 ROI가 또한 이와 연계된 상이한 양자화 레벨을 가지며, QP가 선례(precedent)를 취하는 규칙이 정의될 수 있고, 예를 들어, 여기에서 예시 경우에, 최고 우선순위 영역(501a)의 QP(최저 QP)는 중첩되는 영역을 포함하는 최고 우선순위 영역(501a) 모두에 걸쳐 적용되고, 그 다음으로 가장 높은 QP는 단지 그 하부 영역(501b)의 나머지 부분에 걸쳐서 적용되고 등등이다.
도 5c는 더 많은 ROI가 정의되는 또 다른 예시를 도시한다. 여기서, 머리에 대응하는 제1 ROI(501a), 흉부에 대응하는 제2 ROI(501d), 우측 팔(손을 포함)에 대응하는 제3 ROI(501e), 좌측 팔(손을 포함)에 대응하는 제4 ROI(501f), 복부에 대응하는 제5 ROI(501g), 우측 다리(발 포함)에 대응하는 제6 ROI(50lh) 및 좌측 다리(발 포함)에 대응하는 제7 ROI(501i)가 정의된다. 도 5c에 도시된 예시에서, 각각의 ROI(501)는 도 5a에서와 같이 수평 및 수직 경계에 의해 정의된 직사각형이지만, 대안으로 ROI(501)는 예를 들어 도 5b와 같이 더욱 자유롭게 정의될 수 있다.
재차, 실시 형태에서, 상이한 ROI(501a 및 501d 내지 501i)가 전술된 바와 같이 유사한 방식으로 서로에 대해 특정 우선순위를 할당할 수 있다(상이한 몸체 영역에는 적용되지 않음). 예를 들어, 머리 영역(501a)은 최고 우선순위가 주어질 수 있고, 팔 영역(501e-f)은 그 다음으로 가장 높은 우선순위가 주어지며, 흉부 영역(501d)은 그 이후 다음으로 가장 높고 그 뒤에 다리 및/또는 복부이다. 실시 형태에서, 이는 비트레이트 제약이 더욱 엄격해질 때, 예를 들어, 가용 대역폭이 감소할 때 ROI의 낮은 QP 상태가 떨어지는 순서를 정의할 수 있다. 대안으로 또는 추가로, 이는 ROI의 상대적인 지각적 중요성에 따라 ROI 중 다른 ROI에 할당된 상이한 QP 레벨이 있음을 의미할 수 있다.
도 5d는 또 다른 예시를 도시하며, 이 경우에 머리에 대응하는 제1 ROI(501a), 흉부에 대응하는 제2 ROI(501d), 복부에 대응하는 제3 ROI, 우측 상부 팔에 대응하는 제4 ROI(501j), 좌측 상부 팔에 대응하는 제5 ROI(501k), 우측 하부 팔에 대응하는 제6 ROI(501l), 좌측 하부 팔에 대응하는 제7 ROI(501m), 우측 팔에 대응하는 제8 ROI(501n), 좌측 팔에 대응하는 제9 ROI(501o), 우측 상부 다리에 대응하는 제10 ROI(501p), 좌측 상부 다리에 대응하는 제11 ROI(501q), 우측 하부 다리에 대응하는 제12 ROI(501r), 좌측 다리에 대응하는 제13 ROI(501s), 우측 다리에 대응하는 제14 ROI(501t), 및 좌측 다리에 대응하는 제15 ROI(501u)가 정의된다. 도 5d에 도시된 예시에서, 각각의 ROI(501)는 4개의 경계에 의해 정의되지만 도 5c에서와 같이 수평 및 수직 경계에 반드시 제한되지 않는 직사각형이다. 대안으로, 각각의 ROI(501)는 임의의 4개의 지점을 연결하는 임의의 4계의 경계 에지에 의해 정의된 임의의 사변형 또는 임의의 3개 이상의 임의의 지점을 연결하는 임의의 3개 이상의 경계 에지에 의해 정의된 임의의 다각형으로 정의되도록 허용될 수 있거나, 또는 각각의 ROI(501)는 도 5a에서와 같이 수평 및 수직 경계 에지를 갖는 직사각형으로 제약될 수 있거나 또는 역으로 각각의 ROI(501)는 도 5b에서와 같이 자유롭게 정의될 수 있다. 또한, 이 예시 이전의 예시들처럼, 실시 형태들에서, ROI들(501a, 501d, 501g, 501j-u) 각각에는 제각기의 우선순위가 할당될 수 있다. 예를 들어, 머리 영역(501a)이 최고 우선순위일 수 있고, 손 영역(501n, 501o)이 다음으로 가장 높은 우선순위일 수 있으며, 하부 팔 영역(501l, 501m)이 그 이후 다음으로 가장 높은 우선순위일 수 있고 등등이다.
그러나, 다수의 ROI가 사용되는 위치에서, 상이한 우선순위 할당은 모든 가능한 실시 형태에서 이와 함께 반드시 구현될 필요는 없는 것을 주목한다. 예를 들어, 당해 코덱이 도 5b에서와 같이 임의의 자유롭게 정의가능한 ROI 형상을 지원하지 않는 경우, 그 뒤에 도 5c 및 도 5d에서의 ROI 정의는 여전히 도 5a에서와 같이 사용자(100) 주위에 단일 ROI를 그리는 것보다 더욱 효과적인 비트레이트 구현을 표현할 수 있다. 즉, 도 5c 및 도 5d와 같은 예시는 ROI가 블록 단위(예를 들어, 정의된 매크로블록 단위일 수 없음)로 임의로 정의될 수 없는 경우에 근접한 배경을 양자화하는 많은 비트를 낭비하지 않는, 사용자(100)의 이미지의 더욱 선택적 커버리지(coverage)를 허용한다.
추가 실시 형태에서, 양자화는 ROI로부터 이격된 영역에서 감소될 수 있다. 즉, 제어기는 외부를 향하여 하나 이상의 관심 영역 중 적어도 하나로부터 양자화 입도의 조도(coarseness)의 연속적 증가를 적용하도록 구성된다. 조도의 이 증가(품질 감소)는 점진적 또는 단계적일 수 있다. 이의 일 가능한 구현에서, 코덱은 ROI가 정의될 때, 양자화기(203)에 의해 QP가 ROI와 배경 사이에서 사라질 것을 암시적으로 이해되도록 설계된다. 대안으로, 유사한 효과가, 배경, 예를 들어, 이미지의 에지에서 배경을 향하여 특정 신체 영역을 포함하는 중앙의 주요 ROI로부터 외측을 향해 걸쳐 있는 일련의 동심 ROI와 최고 우선순위 ROI 사이에 일련의 중간 우선순위 ROI를 정의함으로써 제어기(112)에 의해 명시적으로 강제될 수 있다.
추가 실시 형태에서, 제어기(112)는 골격 추적 정보에 기초하여 하나 이상의 대응하는 신체 영역을 따르는 하나 이상의 관심 영역의 모션을 원활하게 하기 위해 스프링 모델(spring model)을 적용하도록 구성된다. 즉, 각각의 프레임에 대해 개별적으로 ROI를 단순히 결정하기보다는 하나의 프레임에서 다음 프레임으로의 ROI의 모션이 탄성 스프링 모델을 기초로 제한된다. 실시 형태에서, 탄성 스프링 모델은 다음과 같이 정의될 수 있다:
Figure pct00001
여기서 m("질량"), k("강성") 및 D("감쇠")는 구성 가능한 상수이고, x(변위)와 t(시간)는 변수이다. 즉, 전환의 가속도가 그 전환의 변위와 속도의 가중치 합에 비례하는 모델이다.
예를 들어, ROI는 프레임 내의 하나 이상의 지점, 즉 ROI의 위치 또는 경계의 하나 이상의 지점에 의해 파라미터화될 수 있다. 이러한 지점의 위치는 ROI가 대응하는 신체 부분을 따라 이동할 때 이동할 것이다. 따라서, 당해 지점은 시간 t2에서의 제2 위치("desiredPosition")가 나중 프레임에서 신체 부분을 포함하는 ROI의 파라미터이고, 시간 t1에서 제1 위치("currentPosition")가 더 이전의 프레임에서 동일한 신체 부분을 포함하는 ROI의 파라미터인 것으로 기재될 수 있다. 매끄러운 모션의 현재 ROI는 다음과 같이 "currentPosition"을 업데이트함으로써 생성될 수 있고, 업데이트된 "currentPosition"은 현재 ROI의 파라미터이다:
velocity = 0
previousTime = 0
currentPosition = <some_constant_initial_value>
UpdatePosition(desiredPosition, time)
{
x = currentPosition - desiredPosition;
force = - stiffness * x - damping * m_velocity;
acceleration = force / mass;
dt = time - previousTime;
velocity += acceleration * dt;
currentPosition += velocity * dt;
previousTime = time;
}
상기 실시 형태는 단지 예시로 기재된 것을 이해할 것이다.
예를 들어, 상기는 변환(202), 양자화(203), 예측 코딩(207, 201) 및 무손실 인코딩(204)을 포함하는 특정 인코더 구현에 관하여 기재되었지만, 대안의 실시 형태에서 본 명세서에 개시된 교시는 또한 반드시 이들 단계 모두를 포함하지 않는 다른 인코더에 적용될 수 있다. 예를 들어, QP를 적응시키는 기법은 변환, 예측 및/또는 무손실 압축 없이 그리고 아마도 단지 양자화기만을 포함하는 인코더에 적용될 수 있다. 게다가 QP는 양자화 입도를 표현하기 위한 유일한 가능 파라미터가 아닌 것을 주목한다.
게다가, 적응은 동적이지만 모든 가능한 실시 형태에서 비디오가 반드시 실시간으로 인코딩, 전송 및/또는 재생될 필요는 없다(단 하나의 애플리케이션임에도 불구하고). 예를 들어, 대안으로, 사용자 단말기(102)는 비디오를 기록할 수 있고, 또한 비디오와 동기화하여 골격 추적을 기록할 수 있으며, 그 뒤에 이를 이용하여 예를 들어, 주변 메모리 키 또는 동글(dongle)과 같은 메모리 디바이스에 저장을 위하여 추후에 인코딩을 수행할 수 있거나 또는 이메일에 첨부할 수 있다.
게다가, 상기 신체 영역 및 ROI는 단지 예시이며 상이한 크기를 갖는 다른 신체 영역에 대응하는 ROI가 상이하게 성형된 ROI인 것과 같이 가능한 것으로 이해될 것이다. 또한 특정 신체 영역의 상이한 정의가 가능할 수 있다. 예를 들어, 팔에 대응하는 ROI를 참조하는 경우, 실시 형태에서 이는 손 및/또는 어깨와 같은 부수적인 특징을 포함할 수 있거나 또는 포함하지 않을 수 있다. 유사하게, 여기에서 다리에 대응하는 ROI를 참조하는 경우, 이는 발과 같은 부수적인 특징을 포함할 수 있거나 또는 포함하지 않을 수 있다.
게다가, 대역폭의 보다 효과적인 사용 또는 처리 리소스의 보다 효과적인 사용에 관해서 이점이 전술되었지만, 이들은 제한적이지 않다. 다른 예시적인 응용으로서, 개시된 기법이 이미지에 "포트레이트" 효과를 적용하는데 사용될 수 있다. 전문 사진 카메라는 "포트레이트 모드"를 가지며, 이에 따라 배경이 흐린 상태에서 렌즈가 피사체의 얼굴을 포커싱한다. 이를 포트레이트 사진이라고 하며, 통상적으로 고가의 카메라 렌즈와 전문 사진가를 필요로 한다. 본 발명의 실시 형태는 QP 및 ROI를 사용하여 영상 통화에서 비디오와 동일하거나 또는 유사한 효과를 달성할 수 있다. 일부 실시 형태는 현재의 포트레이트 사진이 하는 것보다 심지어 더 많은 것을 수행하며, ROI로부터 외측을 향하여 거리가 멀어짐에 따라 점차 흐려지는 레벨을 증가시킴으로써, 피사체로부터 가장 이격된 픽셀이 피사체에 더 근접한 픽셀보다 더욱 흐려진다.
게다가, 상기 기재에서, 골격 추적 알고리즘(106)은 카메라(103)로부터 분리 된 하나 이상의 개별 전용 골격 추적 센서(105)로부터의 센서 입력을 기초로 하여 골격 추적을 수행하는 것을 주목한다(즉, 카메라(103)로부터 인코더(104)에 의해 인코딩되는 비디오 데이터 이외에 골격 추적 센서(105)(들)로부터 센서 데이터를 이용하여). 그럼에도 불구하고, 다른 실시 형태가 가능하다. 예를 들어, 골격 추적 알고리즘(106)은 사실상 인코딩되는 비디오를 캡처하는데 사용되는 동일한 카메라(103)로부터의 비디오 데이터를 기초로 하여 동작하도록 구성될 수 있지만, 이 경우에 골격 추적 알고리즘(106)은 여전히 인코더(104)가 구현하는 범용 처리 리소스와는 별도로 적어도 일부 전용 또는 예약된 그래픽 처리 리소스를 사용하여 구현되며, 예를 들어, 골격 추적 알고리즘(106)은 인코더(104)가 범용 프로세서(601) 상에 구현되는 동안 그래픽 프로세서(602) 상에 구현되거나 또는 인코더(104)가 애플리케이션 공간에서 구현되는 동안 골격 추적 알고리즘(106)이 시스템 공간에서 구현된다. 따라서, 상기 기재에 기재된 것보다 더욱 일반적으로, 골격 추적 알고리즘(106)은 카메라(103) 및/또는 인코더(104) 보다 적어도 일부 개별 하드웨어 - 인코더(104) 보다 인코딩되는 비디오를 캡처하기 위해 사용되는 카메라(103) 이외의 개별 골격 추적 센서 및/또는 개별 처리 리소스를 사용하도록 배열될 수 있다.
발명 요지가 구조적 특징 및/또는 방법적 동작에 구체적인 용어로 기술되어 있지만, 첨부된 청구범위에 정의된 발명 요지가 전술된 구체적인 특징 또는 동작으로 반드시 제한될 필요는 없다는 것으로 이해된다. 오히려, 전술된 특정 특징 및 동작은 청구항을 구현하는 예시적인 형태로서 개시되어 있다.

Claims (15)

  1. 디바이스에 있어서,
    카메라에 의해 캡처된 장면의 비디오 이미지를 표현하는 비디오 신호를 인코딩하기 위한 인코더 - 상기 인코더는 상기 인코딩의 일부로서 상기 비디오 신호에 대한 양자화를 수행하기 위한 양자화기를 포함함 -; 및
    상기 장면 내에 있는 사용자의 하나 이상의 골격 특징에 관한 골격 추적 알고리즘으로부터 골격 추적 정보를 수신하고, 이를 기초로 상기 사용자의 하나 이상의 신체 영역에 대응하는 상기 비디오 이미지 내에 하나 이상의 관심 영역을 정의하며, 상기 하나 이상의 관심 영역 외부에서보다 상기 하나 이상의 관심 영역 내부에서 더 세분화된 양자화 입도(finer quantization granularity)를 사용하기 위해 양자화를 적응하도록 구성된 제어기
    를 포함하는 디바이스.
  2. 제1항에 있어서, 상기 제어기는 사용자의 각각의 신체 영역에 각각 대응하는 복수의 상이한 관심 영역을 정의하고, 복수의 관심 영역 외부에서보다 각각의 상기 복수의 관심 영역 내에서 더 세분화된 양자화 입도를 사용하기 위해 양자화를 적응하도록 구성된 것인 디바이스.
  3. 제2항에 있어서, 상이한 관심 영역 중 하나 이상이 일부 시간에서만 더 세분화된 양자화 입도로 양자화되지만 다른 것들은 그렇지 않은 것인 디바이스.
  4. 제3항에 있어서, 상기 제어기는 현재의 비트레이트 제약에 의존하여 더 세분화된 양자화 입도로 상기 상이한 관심 영역 중 어느 관심 영역이 현재 양자화되는지를 적응적으로 선택하도록 구성된 것인 디바이스.
  5. 제4항에 있어서, 상기 신체 영역은 우선순위의 순서가 할당되고, 상기 제어기는 상기 상이한 관심 영역이 대응하는 상기 신체 영역의 우선순위의 순서에 따라 상기 선택을 수행하도록 구성된 것인 디바이스.
  6. 제2항 내지 제5항 중 어느 한 항에 있어서, 상기 제어기는 상기 복수의 관심 영역 외부에서보다 각각 더 세분화되는 상기 복수의 관심 영역 중 상이한 관심 영역 내에서 상이한 레벨의 양자화 입도를 사용하기 위하여 상기 양자화를 적응하도록 구성된 것인 디바이스.
  7. 제6항에 있어서, 상기 신체 영역에는 우선순위의 순서가 할당되고, 상기 제어기는 상기 상이한 관심 영역이 대응하는 신체 영역의 우선순위의 순서에 따라 상기 상이한 레벨을 설정하도록 구성된 것인 디바이스.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서, 각각의 신체 영역이,
    (a) 사용자의 전신;
    (b) 사용자의 머리, 몸통 및 팔;
    (c) 사용자의 머리, 흉부 및 팔;
    (d) 사용자의 머리 및 어깨;
    (e) 사용자의 머리;
    (f) 사용자의 몸통;
    (g) 사용자의 흉부;
    (h) 사용자의 복부;
    (i) 사용자의 팔 및 손;
    (j) 사용자의 어깨; 또는
    (k) 사용자의 손
    중 하나인 것인 디바이스.
  9. 제5항 및 제8항에 있어서, 상기 우선순위의 순서가,
    (i) 상기 머리;
    (ii) 상기 머리 및 어깨; 또는 머리, 흉부 및 팔; 또는 머리, 몸통 및 팔;
    (iii) 전신이어서,
    (iii)은 상기 비트레이트 제약이 허용되는 경우 더 세분화된 양자화로 양자화되고, 상기 비트레이트 제약이 허용되는 경우 (ii)만이 더 세분화된 양자화로 양자화되지 않고, (i)만이 더 세분화된 양자화로 양자화되지 않는 것인 디바이스.
  10. 제7항 및 제8항에 있어서, 우선순위의 순서가,
    (i) 상기 머리;
    (ii) 상기 손, 팔, 어깨, 흉부 및/또는 몸통;
    (iii) 상기 전신의 나머지 부분이어서,
    (i)은 제1 레벨의 양자화 입도로 양자화되고, (ii)는 하나 이상의 제2 레벨의 양자화 입도로 양자화되며, (iii)은 제3 레벨의 양자화 입도로 양자화되며, 상기 제1 레벨은 상기 하나 이상의 제2 레벨 각각보다 더 세분화되며, 상기 제2 레벨 각각은 상기 제3 레벨보다 더 세분화되며, 상기 제3 레벨은 상기 관심 영역 외부에서보다 더 세분화되는 것인 디바이스.
  11. 제4항 또는 이에 종속된 임의의 항에 있어서, 채널을 통하여 상기 인코딩된 비디오 신호를 적어도 하나의 다른 디바이스에 전송하도록 구성된 전송기를 포함하고, 상기 제어기는 상기 채널의 가용 대역폭을 결정하도록 구성되며, 상기 비트레이트 제약은 상기 가용 대역폭과 동일하거나 또는 이와는 달리 가용 대역폭에 의해 제한된 것인 디바이스.
  12. 제1항 내지 제11항 중 어느 한 항에 있어서, 상기 골격 추적 알고리즘은 상기 디바이스 상에서 구현되며, 상기 카메라 이외의 하나 이상의 개별 센서를 기초로 상기 골격 추적 정보를 결정하도록 구성된 것인 디바이스.
  13. 제1항 내지 제12항 중 어느 한 항에 있어서, 전용 그래픽 처리 리소스 및 범용 처리 리소스를 포함하고, 상기 골격 추적 알고리즘은 상기 전용 그래픽 처리 리소스 내에서 구현되며 상기 인코더는 상기 범용 처리 리소스 내에서 구현된 것인 디바이스.
  14. 제13항에 있어서, 상기 범용 처리 리소스는 범용 프로세서를 포함하고, 상기 전용 그래픽 처리 리소스는 개별 그래픽 프로세서를 포함하고, 상기 인코더는 상기 범용 프로세서에서 실행되도록 배열된 코드의 형태로 구현되고, 상기 골격 추적 알고리즘은 상기 그래픽 프로세서에서 실행되도록 배열된 코드의 형태로 구현된 것인 디바이스.
  15. 컴퓨터 판독가능 매체에 구성된 코드를 포함하는 컴퓨터 프로그램 제품에 있어서,
    하나 이상의 프로세서에서 실행될 때,
    카메라에 의해 캡처된 장면의 비디오 이미지를 표현하는 비디오 신호를 인코딩하는 동작 - 상기 인코딩은 상기 비디오 신호의 양자화를 수행하는 것을 포함함 -;
    상기 장면 내에 있는 사용자의 하나 이상의 골격 특징에 관한 골격 추적 알고리즘으로부터 골격 추적 정보를 수신하는 동작;
    상기 골격 추적 정보를 기초로, 상기 사용자의 하나 이상의 신체 영역에 대응하는 비디오 이미지 내에서 하나 이상의 관심 영역을 정의하는 동작; 및
    상기 하나 이상의 관심 영역 외부에서보다 상기 하나 이상의 관심 영역 내부에서 더 세분화된 양자화 입도를 사용하기 위하여 상기 양자화를 적응하는 동작
    을 수행하도록 구성된 컴퓨터 프로그램 제품.
KR1020177011778A 2014-10-03 2015-10-01 관심 영역 내의 적응형 양자화 KR20170068499A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
GBGB1417536.8A GB201417536D0 (en) 2014-10-03 2014-10-03 Adapting quantization
GB1417536.8 2014-10-03
US14/560,669 US20160100166A1 (en) 2014-10-03 2014-12-04 Adapting Quantization
US14/560,669 2014-12-04
PCT/US2015/053383 WO2016054307A1 (en) 2014-10-03 2015-10-01 Adapting quantization within regions-of-interest

Publications (1)

Publication Number Publication Date
KR20170068499A true KR20170068499A (ko) 2017-06-19

Family

ID=51946822

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177011778A KR20170068499A (ko) 2014-10-03 2015-10-01 관심 영역 내의 적응형 양자화

Country Status (6)

Country Link
US (1) US20160100166A1 (ko)
EP (1) EP3186749A1 (ko)
JP (1) JP2017531946A (ko)
KR (1) KR20170068499A (ko)
CN (1) CN107113429A (ko)
GB (1) GB201417536D0 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021256781A1 (ko) * 2020-06-19 2021-12-23 삼성전자 주식회사 영상을 처리하는 디바이스 및 그 동작 방법

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9575560B2 (en) 2014-06-03 2017-02-21 Google Inc. Radar-based gesture-recognition through a wearable device
US9921660B2 (en) * 2014-08-07 2018-03-20 Google Llc Radar-based gesture recognition
US9811164B2 (en) 2014-08-07 2017-11-07 Google Inc. Radar-based gesture sensing and data transmission
US9588625B2 (en) 2014-08-15 2017-03-07 Google Inc. Interactive textiles
US10268321B2 (en) 2014-08-15 2019-04-23 Google Llc Interactive textiles within hard objects
US11169988B2 (en) 2014-08-22 2021-11-09 Google Llc Radar recognition-aided search
US9778749B2 (en) 2014-08-22 2017-10-03 Google Inc. Occluded gesture recognition
US9600080B2 (en) 2014-10-02 2017-03-21 Google Inc. Non-line-of-sight radar-based gesture recognition
US10016162B1 (en) 2015-03-23 2018-07-10 Google Llc In-ear health monitoring
US9983747B2 (en) 2015-03-26 2018-05-29 Google Llc Two-layer interactive textiles
US9848780B1 (en) 2015-04-08 2017-12-26 Google Inc. Assessing cardiovascular function using an optical sensor
WO2016176574A1 (en) 2015-04-30 2016-11-03 Google Inc. Wide-field radar-based gesture recognition
WO2016176606A1 (en) 2015-04-30 2016-11-03 Google Inc. Type-agnostic rf signal representations
KR102328589B1 (ko) 2015-04-30 2021-11-17 구글 엘엘씨 제스처 추적 및 인식을 위한 rf―기반 마이크로―모션 추적
US10080528B2 (en) 2015-05-19 2018-09-25 Google Llc Optical central venous pressure measurement
US9693592B2 (en) 2015-05-27 2017-07-04 Google Inc. Attaching electronic components to interactive textiles
US10088908B1 (en) 2015-05-27 2018-10-02 Google Llc Gesture detection and interactions
US10376195B1 (en) 2015-06-04 2019-08-13 Google Llc Automated nursing assessment
US10163247B2 (en) * 2015-07-14 2018-12-25 Microsoft Technology Licensing, Llc Context-adaptive allocation of render model resources
US9549101B1 (en) * 2015-09-01 2017-01-17 International Business Machines Corporation Image capture enhancement using dynamic control image
US10817065B1 (en) 2015-10-06 2020-10-27 Google Llc Gesture recognition using multiple antenna
WO2017079484A1 (en) 2015-11-04 2017-05-11 Google Inc. Connectors for connecting electronics embedded in garments to external devices
US10492302B2 (en) 2016-05-03 2019-11-26 Google Llc Connecting an electronic component to an interactive textile
WO2017200570A1 (en) 2016-05-16 2017-11-23 Google Llc Interactive object with multiple electronics modules
US10579150B2 (en) 2016-12-05 2020-03-03 Google Llc Concurrent detection of absolute distance and relative movement for sensing action gestures
JP2018093412A (ja) * 2016-12-06 2018-06-14 株式会社日立製作所 演算装置、送信プログラム、送信方法
US10261595B1 (en) * 2017-05-19 2019-04-16 Facebook Technologies, Llc High resolution tracking and response to hand gestures through three dimensions
KR102343648B1 (ko) 2017-08-29 2021-12-24 삼성전자주식회사 영상 부호화 장치 및 영상 부호화 시스템
JP6961443B2 (ja) * 2017-09-29 2021-11-05 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
US10827173B2 (en) * 2017-11-13 2020-11-03 Electronics And Telecommunications Research Institute Method and apparatus for quantization
CN108174140A (zh) * 2017-11-30 2018-06-15 维沃移动通信有限公司 一种视频通信的方法和移动终端
US10491897B2 (en) 2018-04-13 2019-11-26 Google Llc Spatially adaptive quantization-aware deblocking filter
US10635895B2 (en) 2018-06-27 2020-04-28 Facebook Technologies, Llc Gesture-based casting and manipulation of virtual content in artificial-reality environments
WO2020243906A1 (en) * 2019-06-04 2020-12-10 SZ DJI Technology Co., Ltd. Method, device, and storage medium for encoding video data base on regions of interests
JP2021175035A (ja) * 2020-04-21 2021-11-01 キヤノン株式会社 画像処理装置、画像処理方法
CN112070718A (zh) * 2020-08-06 2020-12-11 北京博雅慧视智能技术研究院有限公司 一种区域量化参数的确定方法、装置、存储介质及终端

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6798834B1 (en) * 1996-08-15 2004-09-28 Mitsubishi Denki Kabushiki Kaisha Image coding apparatus with segment classification and segmentation-type motion prediction circuit
EP2179589A4 (en) * 2007-07-20 2010-12-01 Fujifilm Corp IMAGE PROCESSING DEVICE, IMAGE PROCESSING AND PROGRAM
CN102006472A (zh) * 2010-11-18 2011-04-06 无锡中星微电子有限公司 视频码率控制***及其方法
CN103369602A (zh) * 2012-03-27 2013-10-23 上海第二工业大学 同时根据信源与信道变化调整参数的无线数据传输方法
US9310895B2 (en) * 2012-10-12 2016-04-12 Microsoft Technology Licensing, Llc Touchless input
US9030446B2 (en) * 2012-11-20 2015-05-12 Samsung Electronics Co., Ltd. Placement of optical sensor on wearable electronic device
US20160042227A1 (en) * 2014-08-06 2016-02-11 BAE Systems Information and Electronic Systems Integraton Inc. System and method for determining view invariant spatial-temporal descriptors for motion detection and analysis

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021256781A1 (ko) * 2020-06-19 2021-12-23 삼성전자 주식회사 영상을 처리하는 디바이스 및 그 동작 방법

Also Published As

Publication number Publication date
GB201417536D0 (en) 2014-11-19
EP3186749A1 (en) 2017-07-05
CN107113429A (zh) 2017-08-29
US20160100166A1 (en) 2016-04-07
JP2017531946A (ja) 2017-10-26

Similar Documents

Publication Publication Date Title
KR20170068499A (ko) 관심 영역 내의 적응형 양자화
JP6980137B2 (ja) マルチセグメントリサンプリングを使用した関心領域高速符号化
EP3001885B1 (en) Region-of-interest aware video coding
US10341650B2 (en) Efficient streaming of virtual reality content
CN105814878B (zh) 热管理和功率管理
JP5301645B2 (ja) テレビ電話のための背景のスキッピングを用いた関心領域の符号化
KR100926016B1 (ko) 로 도메인 비트 할당을 사용하는 비디오 전화통신에서의관심-영역 코딩
CN101164341B (zh) 用于视频电话的质量度量偏移的关注区编码
KR20170063935A (ko) 장면 내의 사용자 존재에 기초한 인코딩 특성 적응화
KR20070114796A (ko) 비디오 전화기를 위한 품질 메트릭 바이어싱된 관심 영역코딩
KR20140113855A (ko) 비디오 이미지의 안정화 방법, 후처리 장치 및 이를 포함하는 비디오 디코더
KR102440329B1 (ko) 영상 선택 방법 및 그 장치
US9984504B2 (en) System and method for improving video encoding using content information
WO2016054307A1 (en) Adapting quantization within regions-of-interest
WO2016054306A1 (en) Adapting encoding properties based on user presence in scene
JP2009055236A (ja) 映像符号化装置及び方法
JP4508029B2 (ja) 動画像情報の符号化装置
US8331709B2 (en) Fixed buffer real-time image compression technique
KR20070056229A (ko) 영상 부호기 및 이의 관심 영역 검출방법
JP4747109B2 (ja) 演算量調整装置
US20210092424A1 (en) Adaptive framerate for an encoder