KR20190043465A - 보조 프레임을 지원하는 비디오 코딩 포맷으로 비디오 스트림을 인코딩하기 위한 인코더 및 방법 - Google Patents

보조 프레임을 지원하는 비디오 코딩 포맷으로 비디오 스트림을 인코딩하기 위한 인코더 및 방법 Download PDF

Info

Publication number
KR20190043465A
KR20190043465A KR1020180111561A KR20180111561A KR20190043465A KR 20190043465 A KR20190043465 A KR 20190043465A KR 1020180111561 A KR1020180111561 A KR 1020180111561A KR 20180111561 A KR20180111561 A KR 20180111561A KR 20190043465 A KR20190043465 A KR 20190043465A
Authority
KR
South Korea
Prior art keywords
frame
image data
image
encoding
video
Prior art date
Application number
KR1020180111561A
Other languages
English (en)
Other versions
KR102161888B1 (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 KR20190043465A publication Critical patent/KR20190043465A/ko
Application granted granted Critical
Publication of KR102161888B1 publication Critical patent/KR102161888B1/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/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/184Methods 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 bits, e.g. of the compressed video stream
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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
    • H04N19/172Methods 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 the region being a picture, frame or field
    • 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
    • H04N19/176Methods 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 the region being a block, e.g. a macroblock
    • 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
    • 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/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/60Noise processing, e.g. detecting, correcting, reducing or removing noise
    • H04N25/61Noise processing, e.g. detecting, correcting, reducing or removing noise the noise originating only from the lens unit, e.g. flare, shading, vignetting or "cos4"

Abstract

본 발명은 비디오 인코딩의 분야에 관한 것이다. 특히, 본 발명은 보조 프레임을 지원하는 비디오 코딩 포맷으로 비디오 스트림을 인코딩하는 방법 및 인코더에 관한 것이다. 본 발명은, 비디오 캡쳐 장치에 의해 캡처된 제 1 이미지 데이터를 수신하는 단계, 상기 제 1 이미지 데이터를 제 1 보조 프레임의 이미지 데이터로서 사용하는 단계, 상기 제 1 보조 프레임을 인트라 프레임으로 인코딩하는 단계, 및 제 1 프레임을 상기 제 1 보조 프레임을 참조하는 인터 프레임으로 인코딩하는 단계를 포함하고, 상기 제 1 프레임의 모션 벡터는 상기 제 1 이미지 데이터에 적용되는 제 1 이미지 변환을 나타내는 것을 특징으로 하는 방법을 제공한다.

Description

보조 프레임을 지원하는 비디오 코딩 포맷으로 비디오 스트림을 인코딩하기 위한 인코더 및 방법{Method and encoder for encoding a video stream in a video coding format supporting Auxiliary frames}
본 발명은 비디오 인코딩 분야에 관한 것이다. 특히, 이는 보조 프레임을 지원하는 비디오 코딩 포맷에서 비디오 스트림을 인코딩하기 위한 인코더 및 방법에 관한 것이다.
비디오 캡처 장치 또는 비디오 카메라는, 디지털 이미지 또는 프레임의 스트림을 캡처하는데 사용되며, 이는 표시되거나 또는 소프트웨어에 의해 추가 처리될 디스플레이로 전송되기 전에 인코딩 및 디코딩될 수 있다. 비디오 캡처 장치의 광학 시스템의 불완전성 또는 한계로 인해, 디코딩된 디지털 이미지는 기하학적 왜곡을 나타낼 수있다. 바람직하지 않은 왜곡의 다른 예는 비디오 캡처 장치의 진동에 의해 야기 될 수있다. 이러한 유형의 왜곡은 운영자의 작업 품질 또는 비디오 분석 소프트웨어의 출력이 디코딩된 비디오 스트림의 품질에 의존하는 감시 상황에서 불리 할 수 있다.
오늘날 많은 감시 시스템은 비디오 스트림을 인코딩하기 전에 캡처 된 비디오 스트림에서 디지털 이미지의 복잡한 변형을 허용한다. 이러한 복잡한 변환의 예에는 스티칭, 디와핑(dewarping), 디지털 팬 틸트 줌(DPTZ), 전기 이미지 안정화 (EIS), 배럴 왜곡 보정(BDC) 등이 있다. 이러한 변환에는 특수 하드웨어가 필요하며 메모리 대역폭과 같은 감시 시스템 리소스에 많은 부하가 걸린다. 부작용으로서, 이러한 변환은 디지털 이미지의 왜곡된 부분뿐만 아니라 캡처된 디지털 이미지의 원래 시야의 부분을 제거 할 수 있다.
따라서 이러한 맥락에서 개선이 필요하다.
위와 같은 관점에서, 본 발명의 목적은 전술한 문제점들을 극복하거나 적어도 완화시키는 것이다. 특히, 비디오 스트림의 캡처된 프레임의 복소 변환이 요구되고 원래 캡처된 이미지 데이터의 회수를 용이하게 할 때 비디오 캡처 시스템의 자원에 대한 부하를 감소시키는 인코딩 방법 및 인코더를 제공하는 것이 목적이다 .
본 발명의 제1 실시예에 따르면, 상술한 목적을 달성하기 위한 방법은,
비디오 코딩 포맷에서 비디오 스트림을 인코딩하는 방법으로서,
상기 비디오 코딩 포맷은 인코딩된 비디오 스트림 내에 보조 프레임을 포함하고,
상기 보조 프레임은 상기 인코딩된 비디오 스트림 내의 다른 프레임에 의해 참조되고 상기 다른 프레임을 보완하는 이미지 데이터를 포함하며,
상기 보조 프레임의 이미지 데이터는 상기 인코딩된 비디오 스트림을 디코딩할 때 표시되지 않고, 그 대신에 상기 다른 프레임의 데이터와 함께 사용되어 표시될 이미지 데이터를 얻고,
상기 방법은,
비디오 캡처 장치에 의해 캡처된 원시 이미지 데이터(raw image data)인 제1 이미지 데이터를 수신하는 단계,
상기 제1 이미지 데이터를 제1 보조 프레임의 이미지 데이터로서 사용하는 단계,
상기 제1 보조 프레임을 인트라 프레임으로 인코딩하는 단계 및,
제1 프레임을 상기 제1 보조 프레임을 참조하는 인터 프레임으로 인코딩하는 단계를 포함하고,
상기 제1 프레임의 모션 벡터는 상기 제 1이미지 데이터에 적용되는 제1 이미지 변환을 나타낸다.
보조 프레임은 일반적으로 인코딩된 비디오 스트림에서 다른 프레임 (마스터 이미지라고도 함)을 보완하는 이미지 데이터를 저장하는 것을 의미한다. 다시 말해, 상기 다른 프레임은 상기 보조 프레임을 참조한다. 상기 보조 프레임은 이를 보완하는 프레임을 표시하는 데 도움을주기 위해 다양한 형태로 사용될 수 있지만 일반적으로 그렇게 표시되지는 않는다. 상기 보조 프레임은 보조 이미지, 보조 이미지 아이템, 비-표시 프레임, 보조 사진 등으로도 지칭될 수있다. 보조 프레임의 공지 된 응용예는이를 알파 플레인 또는 뎁스 맵을 위해 사용하는 것을 포함한다.
상기 제1 프레임(및 이하 제2 프레임, 제3 등)은 또한 마스터 이미지 또는 마스터 프레임이라 지칭될 수 있다.
"상기 제1 프레임의 모션 벡터는 상기 제1 프레임 데이터에 적용되는 제1 이미지 변환을 나타낸다"(및 제2, 제3 등에 대한 비슷한 표현)은 일반적으로 모션 벡터가 통상적으로 연속적인 이미지 변환에서 특정 좌표에 대한 이미지 변환을 샘플링하는 것을 의미한다. 상기 샘플링 좌표는 일반적으로 이하에서 더 설명되는 바와 같이 제 1 프레임에 대해 사용 된 매크로 블록 크기 (들)에 의해 결정된다.
예를 들어 H.265 인코딩 표준 (및 Google의 VP10과 같은 새로운 인코딩 표준) 내에서 프레임은 "표시 없음"으로 태그를 지정할 수 있다. 즉 프레임이 사용자에게 표시되지 않아야한다. 예를 들어, H.265에서 슬라이스 헤더의 pic_output_flag를 false로 설정하거나 SEI 헤더의 no_display 플래그를 true로 설정하여 태깅을 수행할 수 있다.
발명자들은 (비디오 캡처 장치에 의해 캡처 된) 미가공 이미지 데이터상의 복잡한 이미지 변환이 요구되는 비디오 스트림의 효율적인 인코딩을 제공하기 위해, 이러한 보조 프레임은 보조 프레임을 참조하는 프레임과 관련하여, 통상의 인코딩 / 압축 데이터에 부가하여, 복합 이미지 변환과 관련된 데이터를 저장하기 위해 사용될 수 있음을 알게 되었다. 본 실시 예에서, 인코딩 프로세스가 시작되기 전에 미가공 이미지 데이터가 사전 처리 될 필요가 없으며 (예를 들어 배럴 왜곡 보정 또는 유사), 예를 들어, 이러한 전처리 단계를 수행하는 하드웨어 또는 소프트웨어의 필요성을 제거한다.
본 발명의 실시예는 상기 비디오 코딩 포맷의 표준을 따르기 때문에 인코더에 의해 사용되는 비디오 코딩 포맷을 지원하는 표준 비디오 스트림 디코더에 의해 인코딩 된 비디오 스트림이 디코딩 될 수 있다는 점에서 더 유리할 수 있다. 또 다른 이점은, 보조 프레임의 이미지 데이터가 비디오 캡처 장치에 의해 캡처된 미가공 이미지 데이터이기 때문에, 이 데이터는 인코딩된 비디오 스트림에 포함되고 필요하다면 커스텀 디코더에 의해 나중에 회수(retrieved )될 수 있다는 것이다.
본 발명의 일부 실시예에 따르면, 본 발명에 따른 방법은,
상기 비디오 캡처 장치에 의해 캡처된 원시 이미지 데이터 인 제2 이미지 데이터를 수신하는 단계,
제2 보조 프레임을 상기 제1 보조 프레임을 참조하는 인터 프레임으로 인코딩하는 단계 및, - 상기 제2 보조 프레임의 인코딩은 상기 제2 이미지 데이터와 상기 제1 이미지 데이터의 비교에 기초하여 이루어짐-
제2 프레임을 상기 제2 보조 프레임을 참조하는 인터 프레임으로 인코딩하는 단계 - 상기 제2 프레임의 모션 벡터는 상기 제 2 이미지 데이터에 적용될 제 2 이미지 변환을 나타냄 -
를 더 포함할 수 있다.
본 명세서에 기술 된 비디오 인코딩 포맷과 같은 일부 비디오 압축 표준은 인트라 프레임(예로서 I- 프레임 ) 및 및 인터 프레임(예로서 P 프레임 또는 B 프레임)의 관점에서 구현되는 시간적 비디오 압축을 규정한다. 인트라 프레임은 기본적으로 인코딩될 이미지 프레임의 정보만을 사용하여 인코딩되는 이미지 프레임이다. 또한, 인트라 - 프레임은 인코딩 될 이미지 프레임에 대해 캡처 된 모든 이미지 데이터로부터 계산된다. 따라서 인트라 프레임을 전체 프레임이라고 부르기도 한다. 예측 프레임 또는 차분 프레임이라고도 하는 인터 - 프레임은 이전에 (그리고 선택적으로 나중에) 인코딩된 이미지 프레임뿐만 아니라 현재 인코딩 된 프레임의 정보에 기초하며, 즉, 인터 - 프레임은 이전 (및 선택적으로 이후의) 이미지 프레임에서 시간적으로 중복되는 정보를 이용하는 것으로 설명 될 수 있다. 이러한 유형의 코덱 (압축 표준)을 구현하는 인코더는 전형적으로 미리 결정된 수의 인터 - 프레임이 이어지는 인트라 - 프레임을 생성한 다음 동일한 수의 인터 - 프레임이 뒤 따르는 새로운 인트라 - 프레임을 생성한다. 다수의 인터 - 프레임이 뒤 따르는 인트라 - 프레임의 이러한 시퀀스의 길이는 종종 Group of Pictures length (GOP 길이)로 지칭된다. 일부 압축 표준, 예를 들어. H.265의 경우 GOP 길이는 인코딩 중에 조정할 수 있다.
본 실시 예에서, 제 2 보조 프레임의 인코딩은 시간적 비디오 압축을 이용한다. 따라서, 제 2 보조 프레임의 인코딩은 이전의 제 1 보조 프레임에서 시간적으로 중복되는 정보를 이용한다. 따라서, 인코딩 된 제 2 보조 프레임은 제 1 보조 프레임의 이미지 데이터(즉, 제1 이미지 데이터) 및 제 1 보조 프레임에 존재하지 않는 이미지 컨텐트를 기술하는 이미지 데이터 및 예측 에러(잔여값(residual values)이라고도 함)와 관련하여 제 2 이미지 데이터의 모션 벡터 변위 모두를 포함할 수 있다.
상술한 실시예는 정의된 GOP 길이에 따라 비디오 캡처 장치에 의해 캡처된 제 3, 제 4 등의 이미지 데이터에 대해 반복 될 수 있음을 의미하는 반복 방식으로 수행 될 수 있다. 그 후, 당업자가 이해하는 바와 같이, 다수의 인터 - 프레임이 뒤 따르는 인트라 - 프레임의 새로운 시퀀스가 시작될 수 있다.
본 발명의 일실시예에 따르면, 제 2 이미지 변환은 제 1 이미지 변환과 동일하다. 상기 실시예는 제 2 프레임의 모션 벡터가 제 1 프레임의 모션 벡터와 동일 할 수 있으므로 다시 결정 / 계산 될 필요가 없다는 점에서 제 2 프레임을 인코딩 할 때 유리할 수 있다. 결과적으로, 인코딩 프로세스의 복잡성이 감소 될 수 있다. 예를 들어, 일부 실시예들에서, 제 2 프레임을 인코딩하는 단계는 제 1 프레임을 복사하고 제 1 프레임의 복사본을 제 2 보조 프레임에 참조하는 단계를 포함한다. 다른 실시 예에서, 제 1 프레임의 모션 벡터는 복사되고 제 2 프레임의 모션 벡터로서 사용된다. 제 1 및 제 2 프레임의 모션 벡터가 사전 계산 된 또 다른 실시 예에서, 제 1 및 제 2 프레임을 각각 인코딩하는 단계는 사전 계산 된 모션 벡터를 회수 (예를 들어, 인코더의 메모리 또는 인코더에 연결된 장치의 메모리로부터)하는 단계를 포함한다. 제 1 및 제 2 영상 변환이 동일하기 때문에 (예를 들어, 비디오 기록 장치의 일정한 렌즈 왜곡으로 인해), 특정 비디오 기록 장치에 대한 움직임 벡터는 미리 계산되어, 그것에 의해 기록 된 모든 영상 데이터에 대해 사용될 수 있다.
일부 실시 예에 따르면, 제 1 및 제 2 이미지 변환은 비디오 기록 장치의 렌즈에 의해 야기 된 제 1 및 제 2 이미지 데이터의 왜곡을 적어도 부분적으로 중립화한다. 이러한 왜곡의 예로는 배럴 왜곡, 핀쿠션 왜곡, 콧수염 왜곡 및 비디오 기록 장치의 광각 렌즈에 의한 왜곡이 있다. 이 실시 예에서, 제 1 및 제 2 이미지 변환은 전형적으로 동일하지만, 작은 차이가 발생할 수있다. 이는 비디오 캡처 장치의 이미지 센서의 기능상의 불규칙성으로 인해 발생합니다. 일부 실시 예에서, 이러한 불규칙성은 무시되며, 제 1 및 제 2 이미지 변환이 동일하다고 가정한다.
일부 실시 예에 따르면, 제 2 이미지 변환은 제 1 이미지 변환과 상이하다. 이 방법에 의하면 인코딩 방법의 유연성이 향상된다.
일부 실시예에 따르면, 제 1 및 제 2 이미지 변환은 전자식 이미지 안정화 (EIS) 및 디지털 팬 틸트 줌 (DPTZ)의 목록 중 하나에 관한 것이다.
일부 실시 예에 따르면, 상기 제1 프레임을 인코딩하는 단계는, 상기 제1 이미지 데이터에 적용되는 제1 이미지 변환을 결정하는 단계 및 상기 제1 프레임의 모션 벡터에 대해 결정된 매크로블록 사이즈에 따라 상기 제1 이미지 변환을 샘플링하는 것에 의해 상기 제1 이미지 변환을 나타내는 모션 벡터를 계산하는 단계를 포함한다. 이 실시 예는 물론 제 2, 제 3 등의 프레임에도 적용될 수있다. 이 실시 예에서, 이미지 변환은 샘플링 프로세스의 복잡성을 감소시킬 수있는 전체 이미지 영역에 걸쳐 균일한 방식으로 샘플링된다.
일부 실시예에 따르면, 상기 제1 프레임을 인코딩하는 단계는, 상기 제1 이미지 데이터에 적용되는 제1 이미지 변환을 결정하는 단계 및, 상기 제1 프레임의 모션 벡터에 대해 결정된 복수의 매크로블록 사이즈에 따라 제1 이미지 변환을 샘플링하는 것에 의해 제1 이미지 변환을 나타내는 모션 벡터를 계산하는 단계를 포함한다. 이 실시 예는 물론 제 2, 제 3 등의 프레임에도 적용될 수있다. 이 실시 예에서, 이미지 변환은 샘플링 프로세스의 유연성 및 적응성 (예를 들어, 이미지 변환의 특성에 기초하여)을 증가시킬 수 있는 전체 이미지 영역에 걸쳐 불균일한 방식으로 샘플링된다.
일부 실시예에서, 상기 비디오 코딩 포맷은 고효율 영상 파일 포맷, 고급 비디오 코딩, H.264, 고효율 비디오 코딩, H.265, H.266, VP9, VP10 및 AV1 가운데 하나이다. 그러나, 본 명세서에서 설명 된 보조 프레임을 지원하는 임의의 비디오 코딩 포맷이 본 발명의 범위에 포함됨을 주목해야 한다.
본 발명의 두번째 실시 태양에 따르면, 상기 목적은, 처리 능력을 갖는 장치에 의해 실행될 때 제1항의 방법을 수행하는 명령을 갖는 컴퓨터 판독 저장 매체를 포함하는 컴퓨터 프로그램 제품에 의해 달성된다.
세번째 실시태양에 따르면, 상기 목적은, 비디오 코딩 포맷에서 비디오 캡처 장치에 의해 캡처된 비디오 스트림을 인코딩하기 위한 인코더에 있어서,
상기 비디오 코딩 포맷은 인코딩된 비디오 스트림 내에 보조 프레임을 포함하고,
상기 보조 프레임은 상기 인코딩된 비디오 스트림 내의 다른 프레임에 의해 참조되고 상기 다른 프레임을 보완하는 이미지 데이터를 포함하며,
상기 보조 프레임의 이미지 데이터는 상기 인코딩된 비디오 스트림을 디코딩할 때 표시되지 않고, 그 대신에 상기 다른 프레임의 데이터와 함께 사용되어 표시될 이미지 데이터를 얻고,
상기 인코더는,
비디오 캡처 장치에 의해 캡처된 원시 이미지 데이터(raw image data)인 제1 이미지 데이터를 수신하는 단계,
상기 제1 이미지 데이터를 제1 보조 프레임의 이미지 데이터로서 사용하는 단계,
상기 제1 보조 프레임을 인트라 프레임으로 인코딩하는 단계 및,
제1 프레임을 상기 제1 보조 프레임을 참조하는 인터 프레임으로 인코딩하는 단계를 포함하고,
상기 제1 프레임의 모션 벡터는 상기 제 1이미지 데이터에 적용되는 제1 이미지 변환을 나타내는 인코더에 의해 달성된다.
제 2 및 제 3 실시 태양은 일반적으로 제 1 실시 태양과 동일한 특징 및 이점을 가질 수 있다. 또한, 본 발명은 달리 명시 적으로 언급되지 않는 한 특징들의 모든 가능한 조합에 관한 것이다.
본 발명의 상기 목적 및 추가적인 목적, 특징 및 이점은, 첨부 된 도면을 참조하여 본 발명의 바람직한 실시예에 대한 다음의 예시적이고 비 제한적인 상세한 설명을 통해 더 잘 이해 될 것이며, 여기서 유사한 참조 부호는 유사한 요소에 대해 사용될 것이다.
도 1은 영상 취득 장치의 렌즈에 의한 영상 데이터의 왜곡의 일례를 모식 적으로 나타낸 도면이고,
도 2는 도 1의 이미지 데이터의 왜곡을 중화하기 위해 계산 된 모션 벡터를 개략적으로 도시하고, 
도 3은 보조 프레임을 지원하는 비디오 코딩 포맷으로 비디오 스트림을 인코딩하는 방법의 제 1 실시 예를 개략적으로 도시하고,
도 4는 보조 프레임을 지원하는 비디오 코딩 포맷으로 비디오 스트림을 인코딩하는 방법의 제 2 실시 예를 개략적으로 도시하고,
도 5는 보조 프레임을 지원하는 비디오 코딩 포맷으로 비디오 스트림을 인코딩하는 방법의 제 3 실시 예를 개략적으로 도시하며,
도 6은 보조 프레임을 지원하는 비디오 코딩 포맷으로 비디오 스트림을 인코딩하는 방법의 제 4 실시 예를 개략적으로 도시한다.
이하, 첨부 된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 여기에 개시된 시스템 및 장치는 동작 중에 설명 될 것이다.
본 발명은 인코딩 된 비디오 스트림에 보조 프레임을 포함하는 것을 지원하는 비디오 코딩 포맷을 위해, 인코더에서 이미지 데이터의 복잡한 변환을 처리하는 새로운 방법을 제공하는 것을 목적으로 한다. 이러한 복잡한 변환의 예는 이미지 데이터를 캡처하는 비디오 캡처 장치의 렌즈에 의해 야기된 이미지 데이터의 (적어도 부분적으로) 중화 왜곡을 위한 변환을 포함한다. 하학적 인 광학에서, 왜곡은 직선 투영으로부터의 편차이며, 투영은 장면의 직선이 이미지에서 직선으로 유지되는 것이다. 이러한 왜곡은 배럴 왜곡 (Barrel distortion)이라 불리는 일종의 왜곡이 도시된 도 1에 예시되어있다. 장면 (102)은 직선의 그리드로 단순화된다. 카메라 (104)가 장면을 캡처할 때, 출력 또는 이미지 데이터 (106)는 그리드가 구 (또는 배럴) 주위에 매핑 된 것처럼 보인다. 비디오 캡처 장치 (106)의 렌즈에 의해 야기되는 다른 유형의 유사한 왜곡은 핀쿠션 왜곡, 콧수염 왜곡 및 비디오 캡처 장치의 광각 렌즈 (어안 렌즈)로 인한 왜곡을 포함한다. 이러한 유형의 왜곡은 종종 정적이다. 즉, 캡처된 첫 번째 프레임(또는 이미지)이 나중에 캡처된 프레임과 같은 방식으로 왜곡된다. 그러나 예를 들어 비디오 캡처 장치 (104)의 이미지 센서의 기능상의 불규칙성에 따라 왜곡에 약간의 차이가 발생할 수 있다.
종래 기술에서, 렌즈 왜곡 또는 아래에서 정교화된 다른 유형의 왜곡은 종종 인코딩 프로세스가 시작되기 전에 왜곡된 이미지 데이터 (106)를 캡처된 장면과 유사한 것으로 다시 변환시키는 특별한 하드웨어에 의해 완화된다. 이 방법은 자원 집약적일 뿐만 아니라 캡처된 장면의 일부가 손실될 수도 있다.
도 2는 일례로서 왜곡 된 이미지 데이터 (106)와 원래의 씬(102) 사이의 맵핑 스킴(mapping scheme) (202)을 도시한다. 맵핑 스킴(202)에서 화살표의 길이 및 방향은 비디오 캡처 장치 (104)의 렌즈에 의해 야기 된 왜곡을 중화하기 위해 화살표의 원점에서의 픽셀 / 매크로 블록이 어떻게 이동되어야 하는지를 나타낸다.   도 2의 매핑 방식 (202)은 완전하지 않다는 것을 알아야 한다.
도 3-4는 도 1의 예(즉, 배럴 왜곡)에 따라 캡처된 장면을 왜곡시키는 카메라 시스템에 대해, 인코딩 된 비디오 스트림에 보조 프레임을 포함하는 것을 지원하는 비디오 코딩 포맷으로 비디오 스트림을 인코딩하는 방법의 실시 예를 예시 할 것이다. 이 예시는 다른 유형의 렌즈 왜곡으로 쉽게 전송 될 수 있다.
도 3은 비디오 캡처 장치 (104)에 의해 캡처 된 장면 (302)을 도시하며, 비디오 스트림 (304a-d)의 캡처 된 이미지 데이터는 비디오 캡처 장치의 렌즈로 인해 배럴 왜곡을 겪은 비디오 스트림 (304a-d)을 생성한다. 도 3의 하부는 본 발명에 따라 배럴 왜곡 보정 (BDC)이 이루어지는 비디오 캡처 장치 (104)에 의해 캡처 된 제 1 이미지 데이터 (또는 프레임, 이미지 등) (304a)의 인코딩을 도시한다.
인코더 (306)는 제 1 이미지 데이터 (304a)를 수신한다. 제 1 영상 데이터 (304a)는 인트라 프레임으로 부호화 된 제 1 보조 프레임 (308a)의 영상 데이터로 사용된다. 인코더는 또한 제 1 보조 프레임 (308a)을 참조하는 제 1 프레임 (310a)을 인코딩한다. 상술 한 바와 같이, 제 1 프레임 (310a)이 나중에 디코딩 될 때, 제 1 보조 프레임 (308a)의 이미지 데이터 (즉, 제 1 이미지 데이터 (304a))는 제 1 프레임 (310a)의 데이터를 보완하게 된다. 제 1 프레임 (310a)은 보조 프레임 (308a)을 참조하는 인터 프레임으로 인코딩된다. 제 1 프레임 (310a)의 모션 벡터 (도 3의 제 1 프레임 (310a)에서 화살표로 개략적으로 도시 됨)는 제 1 이미지 데이터 (304a)를 원하는대로 표시되도록 제 1 이미지 데이터 (304a) (이 경우 배럴 왜곡 보정)에 적용해야 하는 이미지 변환 (영상 변환, 영상 변환 방정식 등)에 관한 정보를 사용하여 결정되고, 여기서 모션 벡터(310)는 이미지 변환을 나타낸다.
제 1 프레임 (310a) (제 2, 제 3 프레임 등)의 움직임 벡터는 많은 방법으로 결정될 수 있다. 일부 실시 예에 따르면, 모션 벡터는 제 1 이미지 데이터(이 경우 역 배럴 왜곡)에 적용될 제 1 이미지 변환을 결정함으로써, 및 상기 제 1 프레임의 모션 벡터에 대한 결정된 매크로 블록 크기에 따라 상기 제 1 이미지 변환을 샘플링 함으로써 상기 제 1 이미지 변환을 나타내는 모션 벡터를 계산하는 것에 의해 결정된다. 예를 들어, 이미지 변환으로 인해 특정 픽셀을 오른쪽으로 5 픽셀, 아래로 3 픽셀 이동해야 하는 경우, 이 픽셀의 실제 움직임은 샘플링 크기 (매크로 블록 크기) 및 인접 픽셀에 대한 변환을 기반으로 결정된다. 다른 실시 예에 따르면, 다수의 매크로 블록 크기가 샘플링에 사용되며, 매핑 방식의 특정 영역에 사용되는 매크로 블록 크기는 이미지 변환이 해당 영역에 대해 어떻게 보이는지에 달려있다. 예를 들어, 매크로 블록 크기는 16x16에서 4x4까지 다양 할 수 있다. 이 실시 예는 모션 벡터에 대한 비트 레이트의 비용을 낮추고, 매우 불규칙한 이미지 변환의 로컬 영역에 대해 대부분의 비트를 효율적으로 사용할 수 있으며, 변환이 더 균일 한 로컬 영역에 대해서는 더 적은 비트를 사용한다.
모션 벡터에 대한 비트 전송률의 비용을 더욱 낮추기 위해 샘플링을 더 희박하게 만들 수 있으며,(메크로블록의 크기를 증가시킴) 보조 프레임들에서 이미지 데이터의보다 부드러운 변환을 달성하기 위해, 더 작은 크기의 매크로 블록들에 대한 모션 벡터들을 계산하기 위해 수신 된 모션 벡터들 사이를 보간하도록(interpolate) 디코더에 남겨진다. 이는 인코딩 된 비트 스트림에 보간 파라미터를 포함 시키거나 인터 프레임 등의 헤더에 플래그를 설정함으로써 달성 될 수 있다.
다른 실시 예에 따르면, 모션 벡터를 얻기 위한 이미지 변환의 샘플링은 보조 프레임 내의 이미지 데이터의 대응하는 영역에서의 디테일 레벨에 기초하여 이루어진다. 예를 들어, 높은 직선 (임의의 적합한 에지 검출 알고리즘을 사용하여 결정될 수 있음)을 포함하는 이미지 데이터의 로컬 영역에 대해, 이미지 변환에서 대응하는 영역에 대해 더 조밀 한 샘플링 (더 작은 매크로 블록 크기)이 필요할 수 있다. 낮은 차수의 영역의 경우, 더 희박한 샘플링이 사용될 수 있다.
샘플링은 가장 가까운 이웃 샘플링, 바이 리니어 샘플링 또는 바이 큐빅 샘플링에 의해 수행 될 수 있다. 이들 2 개의 실시 예는 비디오 캡처 장치 (104)에 의해 캡처 된 이미지 데이터의 왜곡이 시간에 따라 변할 수 있고, 모션 벡터를 계산하는 유연한 방법을 제공하는 경우에 유리할 수 있다.
일부 실시예에 따르면, 제 1 프레임 (310a)의 모션 벡터는 사전 계산된다. 도 3의 예에서, 비디오 기록 장치 (104)의 렌즈에 의해 발생 된 배럴 왜곡은 미리 알 수 있다. 이 경우, 배럴 왜곡을 중화하는 모션 벡터 (따라서, BDC를 제공함)는 사전 계산 될 수 있으며, 예를 들어, 인코더에 의해 액세스 가능한 메모리에 저장 될 수 있다. 이때, 제 1 프레임 (310a)을 부호화하는 단계는 미리 계산된 움직임 벡터를 회수(retrieving)하여 제 1 프레임 (310a)의 움직임 벡터로 사용하는 단계를 포함한다. 이 실시예는 덜 복잡한 인코딩 프로세스를 제공하는데, 이는 또한 시간 효율적일 수 있다.
전술 한 바와 같이, 본 발명의 이점은 인코더 (예컨대, H.265)에 의해 사용되는 비디오 코딩 포맷을 지원하는 표준 디코더가 도 3에 따라 비디오 스트림을 디코딩할 수 있다는 것이다. 디코더는 제 1 프레임 (310a)의 모션 벡터를 제 1 보조 프레임 (308a)의 왜곡 된 이미지 데이터에 적용하여 제 1 보조 프레임 (308a)의 이미지 데이터의 BDC를 달성하고 따라서 캡처 된 씬 (302)과 유사한 것으로 끝날 것이다. 또한, 제 1 보조 프레임 (308)의 이미지 데이터는 비디오 캡처 장치 (104)에 의해 캡처된 미가공 이미지 데이터이므로, 필요하다면 이 데이터는 나중에 커스텀 디코더에 의해 회수(retrieved)될 수 있다. 이것은, 예를 들어 비디오 캡처 장치 (104)에 의해 캡처 된 원시 이미지 데이터의 일부가 BDC 동안 제거되는 감시 상황에서 유리할 수 있으며, 이러한 제거 된 부분에는 잠재적으로 관심있는 정보가 포함될 수 있다.
도 4는 비디오 스트림 (304a-d)의 4 개의 캡처된 이미지 프레임 (이미지 데이터)이 모두 인코더 (306)에 의해 인코딩되는 도 3에 설명 된 방법의 확장을 도시한다. 도 4에서, 제 1 이미지 데이터 (304a)는 도 3에서 설명한 바와 같이 인코딩되어 제 1 인코딩 된 프레임 (310a) 및 인코딩 된 제 1 보조 프레임 (308a)을 얻는다.  제 1 이미지 데이터 (304a)를 인코딩한 후에, 인코더 (306)는 비디오 캡처 장치 (104)에 의해 캡처 된 제 2 이미지 데이터 (304b)를 수신한다. 제 2 보조 프레임 (308b)은 이전 이미지 프레임들, 이 경우 제 1 보조 프레임 (308a)에서 시간 중복 정보를 이용하기 위해 제 1 보조 프레임 (308a)을 참조하는 인터 프레임 (예를 들어, P- 프레임)으로서 인코딩되는 것이 유리하다. 따라서, 제 2 보조 데이터 프레임의 인코딩은 제 2 이미지 데이터 (304b)와 제 1 이미지 데이터 (304a) 사이의 비교에 기초하여 이루어진 일부 실시예에 따른다. 도 4에서, 인코딩 된 제 2 보조 프레임 (308b)은 모션 벡터에 의해 개략적으로 표현되지만, 제 1 보조 프레임의 이미지 데이터 (304a)에는 존재하지 않지만 제 2 이미지 데이터 (304b)에 존재하는 이미지 컨텐트를 기술하는 이미지 데이터 및 / 또는 예측 에러 (잔여 값이라고도 함) 또한 인코딩 된 제 2 보조 프레임 (308b)에 포함될 수 있다.
다른 실시예에 따르면, 또한 제 2 보조 프레임 (308b)은 I- 프레임으로서 인코딩된다.
인코더 (306)는 제 2 프레임 (310b)의 모션 벡터가 제 2 이미지 데이터 (304b)에 적용될 제 2 이미지 변환을 나타내는 제 2 프레임 (310b)을 제 2 보조 프레임 (308b)을 참조하는 인터 프레임으로 인코딩함으로써 계속된다. 전술 한 바와 같이, 제 2 이미지 데이터 (304b)에 적용될 이미지 변환은 제 1 이미지 데이터 (304a)에 적용될 이미지 변환, 예를 들어 BDC와 동일 할 수 있다. 이 경우, 제 2 프레임 (310b)을 인코딩하는 단계는 제 1 프레임 (310a)을 복사하고 제 1 프레임의 복사본을 제 2 보조 프레임 (308b)을 참조하는 단계를 포함할 수 있다. 이는 효율적이고 낮은 복잡도의 인코딩 프로세스를 제공 할 수 있다. 다른 실시 예에 따르면, 제 2 프레임 (310b)의 모션 벡터는 전술 한 바와 같이 사전 계산되며, 제 2 프레임 (310b)을 인코딩하는 단계는 미리 계산 된 모션 벡터를 회수하는 단계를 포함한다. 모션 벡터는 물론 도 6과 관련하여 이하에서 더 설명되는 제 2 프레임 (310b)에 대해서도 (위에서 설명한 바와 같이) 개별적으로 계산될 수 있다.
도 3에서, 제 2 이미지 데이터 (304b)에 대한 상기 인코딩 프로세스는 제 3 이미지 데이터 (304c)에 대해 반복된다. 전술 한 바와 같이, 인트라 인코딩된 보조 프레임에 이어지는 인트라 프레임 인코딩된 보조 프레임의 수는 인코더 (306)에 대한 화상 그룹 길이 (GOP- 길이)에 대한 설정에 의해 결정될 수 있다.
이 경우 GOP 길이는 두 개의 전체 이미지 (I- 프레임, 인트라 프레임) 사이의 거리가 2임을 정의한다.
제 4 이미지 데이터 (304d)에 대해, 도 3과 관련하여 상술한 인코딩 프로세스가 다시 이용되어, 인트라 프레임 인코딩 된 제 4 보조 프레임 (308d)을 유도한다.
도 4에서, 괄호 내의 숫자는 인코딩 된 보조 프레임 (308) (AF) 및 "정규"프레임 (310) (RF)이 인코딩 된 비디오 스트림에 포함되는 순서를 나타낸다. 도 4의 예에서, 순서는 AF1 (308a), RF1 (310a), AF2 (308b), RF2 (310b), AF3 (308c), RF3 (310c), AF4 (308d), RF4 (310d)이다.
도 5-6은 비디오 캡처 장치 (104)에 의해 캡처 된 이미지 데이터 (504a-b)에 적용될 필요가 있는 다른 유형의 이미지 변환을 설명한다. 도 5-6의 예에서 전자 이미지 안정화 (EIS)가 적용됩니다. 예를 들어 바쁜 도로 근처의 높은 극이나 거리 표지판과 같이 노출된 위치에 설치된 감시 카메라의 경우 필요할 수 있다.   이 경우 카메라는 바람이나 통행을 통해 흔들릴 수 있다. 도 5의 상부에 도시 된 바와 같이, 장면 (502) (수직 방향으로 움직이지 않는)의 피사체는 EIS가 적용되지 않는 경우에 비디오를 흐리게 할 수 있는 제 1 캡처 이미지 데이터 (504a)와 제 2 캡처 이미지 데이터 (504b) 사이에서 수직 방향으로 이동된다.
도 5의 하부에는 제 1 이미지 데이터 (504a)의 인코딩 프로세스가 도시되어 있다. 인코딩 프로세스는 도 3의 제 1 이미지 데이터 (304a)에 대해 설명 된 것과 다르지 않지만, 이 경우 모션 벡터는 인코딩하는 동안 계산 될 필요가 있다는 점이 다르다. EIS를 달성하기 위해 적용될 필요가있는 이미지 변환은 엑시스 커뮤니케이션즈 (Axis Communications)에 의해 개발 된 EIS 알고리즘 또는 당업자에게 공지된 임의의 다른 적절한 알고리즘을 사용하여 계산 될 수 있다. 그런 다음 모션 벡터는 위에서 설명한대로 이미지 변환을 샘플링하여 결정될 수 있다.
도 6은 캡처 된 이미지 데이터 (504a-b) 모두에 대해 인코더 (306)에 의해 수행되는 인코딩 프로세스를 도시한다. 도 6에 도시 된 바와 같이, 제 1 이미지 프레임 (602a)에 대한 모션 벡터는 제 2 이미지 프레임 (602b)에 대한 모션 벡터와 상이하다. 즉, 제 1 및 제 2 이미지 변환이 상이하다. 이 경우 첫 번째 및 두 번째 이미지 변환은 EIS와 관련이 있지만 디지털 팬 틸트 줌 (DPTZ)과 같은 다른 이미지 변환도 마찬가지로 가능하다.   이 외에도 인코딩 프로세스는 도 4와 관련하여 설명된 프로세스와 유사하다.
따라서, 인코더 (306)는 상술 한 바와 같이 비디오 스트림 (304a-d, 504a-b)을 인코딩하도록 구성된다. 인코더 (306)는 비디오 캡처 장치 (104)에 직접 제공되거나 비디오 캡처 장치 (104)에 유선 또는 무선 연결되어 비디오 스트림 (304a-d, 504a-b)의 이미지 데이터를 수신 할 수 있다. 인코더 (306)는 사전 계산 된 모션 벡터를 검색하기 위해 메모리를 포함하거나 이에 접속 될 수 있다. 인코더 (306)는 이미지 변환을 계산하기 위한 프로세싱 유닛 및 / 또는 이미지 변환으로부터 샘플 모션 벡터를 포함 할 수 있다. 선택적으로, 또는 부가 적으로, 인코더는 이러한 이미지 변환 및 / 또는 모션 벡터를 계산 / 결정하도록 구성된 별도의 계산 유닛으로부터 이미지 변환 및 / 또는 모션 벡터를 수신할 수 있다. 인코더는 전형적으로 전술 한 바와 같이 수신 된 이미지 데이터를 인코딩하기 위한 하나 또는 다수의 프로세싱 유닛 (예를 들어, CPU)을 포함한다. CPU는, 예를 들어, 컴퓨터 판독 가능 저장 매체로부터 인스톨 된 소프트웨어를, CPU에 의해 실행될 때 상술 한 실시 예들 중 임의의 것의 인코딩 방법을 수행하는 명령으로 실행하도록 구성 될 수 있다. 인코더는 또한 인코딩 된 비디오 스트림을 디코딩하는 디코더에 무선 또는 유선으로 인코딩 된 비디오 스트림을 (예를 들어 인터넷을 통해) 전송할 수 있다.
상술 된 시스템 (예를 들어, 인코더 (306)) 및 방법은 소프트웨어, 펌웨어, 하드웨어 또는 이들의 조합으로서 구현 될 수 있다. 하드웨어 구현에서, 상기 설명에서 언급 된 기능적 유닛들 또는 컴포넌트들 간의 태스크들의 분할은 반드시 물리적 유닛들로의 분할에 대응하지는 않는다; 반대로, 하나의 물리적 구성 요소는 다수의 기능을 가질 수 있고, 하나의 태스크는 협력하여 몇몇 물리적 구성 요소에 의해 수행 될 수 있다. 특정 구성 요소 또는 모든 구성 요소는 디지털 신호 프로세서 또는 마이크로 프로세서에 의해 실행되는 소프트웨어로 구현되거나 하드웨어 또는 특정 용도의 집적 회로로 구현 될 수 있다. 이러한 소프트웨어는 컴퓨터 저장 매체 (또는 비 일시적 매체) 및 통신 매체 (또는 임시 매체)를 포함 할 수 있는 컴퓨터 판독 가능 매체 상에 분산 될 수 있다. 당업자에게 잘 알려진 바와 같이, 컴퓨터 저장 매체라는 용어는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현 된 휘발성 및 비 휘발성, 분리형 및 비 분리형 매체 모두를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, DVD (digital versatile disk) 또는 다른 광학 디스크 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 다른 자기 저장 장치들, 또는 원하는 정보를 저장하는데 사용될 수 있고 컴퓨터에 의해 액세스 될 수 있는 임의의 다른 매체일 수 있다.
당업자는 여러 가지 방식으로 상기 실시 예를 변형 할 수 있고 상기 실시 예에 도시 된 바와 같이 본 발명의 이점을 여전히 사용할 수 있음을 알 것이다. 예를 들어, 보조 프레임을 인코딩하는 순서 및 보조 프레임을 보완하는 프레임은 임의의 적절한 방식으로 변경 될 수 있다. 예를 들어, GOP 내의 모든 보조 프레임은 인코딩 된 비디오 스트림에서 인코딩 된 보조 프레임과 인터레이스하는(interlacing) 보조 프레임을 참조하는 인터 코딩 된 프레임을 포함하기 전에 먼저 인코딩 될 수 있다. 또한, 비디오 기록 장치의 렌즈 (예를 들어, BCD)에 의해 야기 된 이미지 데이터의 왜곡을 적어도 부분적으로 중화시키는 이미지 변환과, 다른 이미지 변환 (들) (예를 들어, EIS) 모두가 특정 이미지 데이터에 적용되어야 할 수도 있다. 따라서, 본 발명은 도시 된 실시 예들로 제한되어서는 안되며 첨부 된 청구 범위에 의해서만 정의되어야 한다. 또한, 당업자가 이해하는 바와 같이, 도시 된 실시 예들은 결합 될 수 있다.

Claims (14)

  1. 비디오 코딩 포맷에서 비디오 스트림을 인코딩하는 방법으로서,
    상기 비디오 코딩 포맷은 인코딩된 비디오 스트림 내에 보조 프레임을 포함하고,
    상기 보조 프레임은 상기 인코딩된 비디오 스트림 내의 다른 프레임에 의해 참조되고 상기 다른 프레임을 보완하는 이미지 데이터를 포함하며,
    상기 보조 프레임의 이미지 데이터는 상기 인코딩된 비디오 스트림을 디코딩할 때 표시되지 않고, 그 대신에 상기 다른 프레임의 데이터와 함께 사용되어 표시될 이미지 데이터를 얻고,
    상기 방법은,
    비디오 캡처 장치에 의해 캡처된 원시 이미지 데이터(raw image data)인 제1 이미지 데이터를 수신하는 단계,
    상기 제1 이미지 데이터를 제1 보조 프레임의 이미지 데이터로서 사용하는 단계,
    상기 제1 보조 프레임을 인트라 프레임으로 인코딩하는 단계 및,
    제1 프레임을 상기 제1 보조 프레임을 참조하는 인터 프레임으로 인코딩하는 단계를 포함하고,
    상기 제1 프레임의 모션 벡터는 상기 제 1이미지 데이터에 적용되는 제1 이미지 변환을 나타내는 방법.
  2. 제1항에 있어서,
    상기 비디오 캡처 장치에 의해 캡처된 원시 이미지 데이터 인 제2 이미지 데이터를 수신하는 단계,
    제2 보조 프레임을 상기 제1 보조 프레임을 참조하는 인터 프레임으로 인코딩하는 단계 및, - 상기 제2 보조 프레임의 인코딩은 상기 제2 이미지 데이터와 상기 제1 이미지 데이터의 비교에 기초하여 이루어짐-
    제2 프레임을 상기 제2 보조 프레임을 참조하는 인터 프레임으로 인코딩하는 단계 - 상기 제2 프레임의 모션 벡터는 상기 제 2 이미지 데이터에 적용될 제 2 이미지 변환을 나타냄 -
    를 더 포함하는 방법.
  3. 제2항에 있어서,
    상기 제2 이미지 변환은 상기 제1 이미지 변환과 동일한 것인 방법.
  4. 제2항에 있어서,
    상기 제1 및 제2 이미지 변환은 다른 것인 방법.
  5. 제2항에 있어서,
    제1 및 제2 이미지 변환은 비디오 기록 장치의 렌즈에 의해 야기된 상기 제1 및 제2 이미지 데이터의 왜곡(distortion)을 적어도 부분적으로 중립화시키는(neutralize) 방법.
  6. 제5항에 있어서,
    상기 왜곡은 배럴 왜곡, 핀쿠션 왜곡, 콧수염 왜곡(mustache distortion) 및 비디오 기록 장치의 광각(wide-angle) 렌즈에 의해 야기된 왜곡 가운데 하나인 방법.
  7. 제3항에 있어서,
    상기 제2 프레임을 인코딩하는 단계는,
    상기 제1 프레임을 복사하고 상기 제1 프레임의 사본을 상기 제2 보조 프레임에 참조하는 단계를 포함하는 방법.
  8. 제2항에 있어서,
    상기 제1 및 제2 이미지 변환은 전자 이미지 안정화 및 디지털 팬 틸트 줌(DPTZ) 가운데 하나에 관한 것인 방법.
  9. 제1항에 있어서,
    상기 제1 프레임을 인코딩하는 단계는
    상기 제1 이미지 데이터에 적용되는 제1 이미지 변환을 결정하는 단계 및
    상기 제1 프레임의 모션 벡터에 대해 결정된 매크로블록 사이즈에 따라 상기 제1 이미지 변환을 샘플링하는 것에 의해 상기 제1 이미지 변환을 나타내는 모션 벡터를 계산하는 단계를 포함하는 방법.
  10. 제1항에 있어서,
    상기 제1 프레임을 인코딩하는 단계는,
    상기 제1 이미지 데이터에 적용되는 제1 이미지 변환을 결정하는 단계 및,
    상기 제1 프레임의 모션 벡터에 대해 결정된 복수의 매크로블록 사이즈에 따라 제1 이미지 변환을 샘플링하는 것에 의해 제1 이미지 변환을 나타내는 모션 벡터를 계산하는 단계를 포함하는 방법.
  11. 제3항에 있어서,
    상기 제1 및 제2 프레임의 모션 벡터는 미리 계산되고, 제1 및 제2 프레임을 인코딩하는 단계는 각각, 미리 계산된 모션 벡터를 회수하는 단계(retrieving)를 포함하는 방법.
  12. 제1항에 있어서,
    상기 비디오 코딩 포맷은 고효율 영상 파일 포맷, 고급 비디오 코딩, H.264, 고효율 비디오 코딩, H.265, H.266, VP9, VP10 및 AV1 가운데 하나인 방법.
  13. 처리 능력을 갖는 장치에 의해 실행될 때 제1항의 방법을 수행하는 명령을 갖는 컴퓨터 판독 저장 매체를 포함하는 컴퓨터 프로그램 제품.
  14. 비디오 코딩 포맷에서 비디오 캡처 장치에 의해 캡처된 비디오 스트림을 인코딩하기 위한 인코더에 있어서,
    상기 비디오 코딩 포맷은 인코딩된 비디오 스트림 내에 보조 프레임을 포함하고,
    상기 보조 프레임은 상기 인코딩된 비디오 스트림 내의 다른 프레임에 의해 참조되고 상기 다른 프레임을 보완하는 이미지 데이터를 포함하며,
    상기 보조 프레임의 이미지 데이터는 상기 인코딩된 비디오 스트림을 디코딩할 때 표시되지 않고, 그 대신에 상기 다른 프레임의 데이터와 함께 사용되어 표시될 이미지 데이터를 얻고,
    상기 인코더는,
    비디오 캡처 장치에 의해 캡처된 원시 이미지 데이터(raw image data)인 제1 이미지 데이터를 수신하는 단계,
    상기 제1 이미지 데이터를 제1 보조 프레임의 이미지 데이터로서 사용하는 단계,
    상기 제1 보조 프레임을 인트라 프레임으로 인코딩하는 단계 및,
    제1 프레임을 상기 제1 보조 프레임을 참조하는 인터 프레임으로 인코딩하는 단계를 포함하고,
    상기 제1 프레임의 모션 벡터는 상기 제 1이미지 데이터에 적용되는 제1 이미지 변환을 나타내는 인코더.
KR1020180111561A 2017-10-18 2018-09-18 보조 프레임을 지원하는 비디오 코딩 포맷으로 비디오 스트림을 인코딩하기 위한 인코더 및 방법 KR102161888B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP17197036.1 2017-10-18
EP17197036.1A EP3474548A1 (en) 2017-10-18 2017-10-18 Method and encoder for encoding a video stream in a video coding format supporting auxiliary frames

Publications (2)

Publication Number Publication Date
KR20190043465A true KR20190043465A (ko) 2019-04-26
KR102161888B1 KR102161888B1 (ko) 2020-10-05

Family

ID=60186021

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180111561A KR102161888B1 (ko) 2017-10-18 2018-09-18 보조 프레임을 지원하는 비디오 코딩 포맷으로 비디오 스트림을 인코딩하기 위한 인코더 및 방법

Country Status (6)

Country Link
US (1) US10798418B2 (ko)
EP (1) EP3474548A1 (ko)
JP (1) JP6975121B2 (ko)
KR (1) KR102161888B1 (ko)
CN (1) CN109688413B (ko)
TW (1) TWI743402B (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3745706B1 (en) * 2019-05-29 2021-06-30 Axis AB System and method for video processing with picture stabilization and predictive compression
EP3796655B1 (en) * 2019-09-20 2021-11-03 Axis AB Video privacy mask in forward predicted video frame
EP3796652B1 (en) 2019-09-23 2022-05-18 Axis AB Video encoding method and method for reducing file size of encoded video
CN111131857A (zh) * 2019-12-31 2020-05-08 北京金山云网络技术有限公司 图像压缩方法、装置及电子设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1178666A1 (en) * 2000-08-02 2002-02-06 Eastman Kodak Company Producing a final modified digital image using a source digital image and a difference digital image

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62299187A (ja) * 1986-06-18 1987-12-26 Fujitsu Ltd 動画像符号化処理方式
CA2208950A1 (en) 1996-07-03 1998-01-03 Xuemin Chen Rate control for stereoscopic digital video encoding
US6757326B1 (en) * 1998-12-28 2004-06-29 Motorola, Inc. Method and apparatus for implementing wavelet filters in a digital system
US6414992B1 (en) 1999-01-27 2002-07-02 Sun Microsystems, Inc. Optimal encoding of motion compensated video
US6795585B1 (en) * 1999-07-16 2004-09-21 Eastman Kodak Company Representing digital images in a plurality of image processing states
CN101399986B (zh) * 2001-10-17 2010-12-22 松下电器产业株式会社 动态图像解码方法及装置
US7646817B2 (en) * 2003-03-28 2010-01-12 Microsoft Corporation Accelerating video decoding using a graphics processing unit
US7706626B2 (en) * 2005-12-20 2010-04-27 Carestream Health, Inc. Digital image reconstruction using inverse spatial filtering
CN101127900A (zh) * 2006-08-17 2008-02-20 上海乐金广电电子有限公司 利用基本层的图像信号的编码/解码方法及装置
EP2070325B1 (en) * 2006-10-02 2019-12-04 Telefonaktiebolaget LM Ericsson (publ) Multimedia management
US8023562B2 (en) * 2007-09-07 2011-09-20 Vanguard Software Solutions, Inc. Real-time video coding/decoding
JP5154361B2 (ja) 2008-10-20 2013-02-27 三星電子株式会社 撮像装置及び撮像装置の制御方法
JP2010199656A (ja) * 2009-02-23 2010-09-09 Panasonic Corp 動画撮像装置
US8542737B2 (en) * 2010-03-21 2013-09-24 Human Monitoring Ltd. Intra video image compression and decompression
JP5631229B2 (ja) 2011-01-31 2014-11-26 キヤノン株式会社 撮像装置、その制御方法及びプログラム
CN103167283B (zh) * 2011-12-19 2016-03-02 华为技术有限公司 一种视频编码方法及设备
JPWO2013111551A1 (ja) 2012-01-27 2015-05-11 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 動画像符号化方法、動画像符号化装置、動画像復号方法、および、動画像復号装置
US9807411B2 (en) * 2014-03-18 2017-10-31 Panasonic Intellectual Property Management Co., Ltd. Image coding apparatus, image decoding apparatus, image processing system, image coding method, and image decoding method
US9609275B2 (en) * 2015-07-08 2017-03-28 Google Inc. Single-stream transmission method for multi-user video conferencing
AU2015207825A1 (en) 2015-07-28 2017-02-16 Canon Kabushiki Kaisha Method, apparatus and system for encoding video data for selected viewing conditions
JP6539580B2 (ja) * 2015-12-28 2019-07-03 Kddi株式会社 インター予測装置、インター予測方法、動画像符号化装置、動画像復号装置及びコンピュータ可読記録媒体
EP3429204B1 (en) * 2016-03-07 2020-04-15 Sony Corporation Encoding device and encoding method
US20180130022A1 (en) * 2016-11-04 2018-05-10 Ihab Ayoub Message management system and method
EP3396952B1 (en) * 2017-04-25 2019-04-17 Axis AB Method and image processing unit for forming a video stream
US10728573B2 (en) * 2017-09-08 2020-07-28 Qualcomm Incorporated Motion compensated boundary pixel padding
EP3499870B1 (en) * 2017-12-14 2023-08-23 Axis AB Efficient blending using encoder
EP3591972A1 (en) * 2018-07-02 2020-01-08 Axis AB Method and system for encoding video with overlay

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1178666A1 (en) * 2000-08-02 2002-02-06 Eastman Kodak Company Producing a final modified digital image using a source digital image and a difference digital image

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
K. Hwang, et al. Correction of lens distortion using point correspondence. Proc. of IEEE Region 10 Conf. TENCON 99, Sep. 1999, pp.690-693 *
Y. Altunbasak, et al. A fast parametric motion estimation algorithm with illumination and lens distortion correction. IEEE Trans. on Image Processing. Apr. 2003, Vol.12, No.4, pp.395-408 *

Also Published As

Publication number Publication date
JP2019097157A (ja) 2019-06-20
CN109688413B (zh) 2021-10-22
EP3474548A1 (en) 2019-04-24
TWI743402B (zh) 2021-10-21
TW201924352A (zh) 2019-06-16
KR102161888B1 (ko) 2020-10-05
CN109688413A (zh) 2019-04-26
US20190116382A1 (en) 2019-04-18
JP6975121B2 (ja) 2021-12-01
US10798418B2 (en) 2020-10-06

Similar Documents

Publication Publication Date Title
KR102161888B1 (ko) 보조 프레임을 지원하는 비디오 코딩 포맷으로 비디오 스트림을 인코딩하기 위한 인코더 및 방법
US10616592B2 (en) Method and encoder for encoding a video stream in a video coding format supporting auxiliary frames
US20230362410A1 (en) Method and apparatus of encoding/decoding image data based on tree structure-based block division
CN107646194B (zh) 用于视频运动补偿的装置和方法
US8204120B2 (en) Method for intra prediction coding of image data
CN109804631B (zh) 一种用于编码和解码视频信号的装置和方法
JP4574444B2 (ja) 画像復号装置及び方法、画像符号化装置及び方法、コンピュータプログラム及び記憶媒体
JP6209026B2 (ja) 画像符号化装置及びその制御方法
JP2015050661A (ja) 符号化装置、符号化装置の制御方法、及び、コンピュータプログラム
CN114157870A (zh) 编码方法、介质及电子设备
JP7324065B2 (ja) 動きベクトル検出装置、撮像装置、動きベクトル検出方法、及びプログラム
CN116723183A (zh) 一种基于轻量化的视频文件设备及处理方法
JP6539580B2 (ja) インター予測装置、インター予測方法、動画像符号化装置、動画像復号装置及びコンピュータ可読記録媒体
US11202082B2 (en) Image processing apparatus and method
JP6942504B2 (ja) 符号化装置、撮像装置、符号化方法、及びプログラム
KR102459813B1 (ko) 영상스위칭 기반의 주기적 화질보정 영상처리 방법
JP2021044706A (ja) 画像符号化装置及びその制御方法及びプログラム
JP2018082250A (ja) 画像符号化装置及びその制御方法
JP2006165927A (ja) 映像符号化装置、映像復号化装置

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant