KR20080055965A - Encoder assisted frame rate up conversion using various motion models - Google Patents
Encoder assisted frame rate up conversion using various motion models Download PDFInfo
- Publication number
- KR20080055965A KR20080055965A KR1020087010199A KR20087010199A KR20080055965A KR 20080055965 A KR20080055965 A KR 20080055965A KR 1020087010199 A KR1020087010199 A KR 1020087010199A KR 20087010199 A KR20087010199 A KR 20087010199A KR 20080055965 A KR20080055965 A KR 20080055965A
- Authority
- KR
- South Korea
- Prior art keywords
- information
- motion
- video
- frame
- partitions
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/01—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
- H04N7/0135—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes
- H04N7/0137—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes dependent on presence/absence of motion, e.g. of motion zones
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/01—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/20—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
- H04N19/23—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding with coding of regions that are present throughout a whole video segment, e.g. sprites, background or mosaic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/521—Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/527—Global motion vector estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/537—Motion estimation other than block-based
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/537—Motion estimation other than block-based
- H04N19/543—Motion estimation other than block-based using regions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/587—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
본 특허 출원은 (a) 2005년 9월 27일에 제출된 "서로 다른 모션 모델들을 사용하는 인코더 보조 프레임 레이트 상향 변환 방법"이라는 명칭의 임시 출원 번호 60/721,375 및 (b) 2005년 9월 27일에 제출된 "인코더 보조 프레임 레이트 상향 변환을 위한 방법 및 장치"라는 명칭의 임시 출원 번호 60/721,376에 우선권을 청구하며, 본 명세서에서 참조로서 통합된다.This patent application contains the provisional application number 60 / 721,375 entitled (a) Method of Encoder Auxiliary Frame Rate Upconversion Using Different Motion Models, filed September 27, 2005 and (b) September 27, 2005. Priority is filed in Provisional Application No. 60 / 721,376, entitled "Methods and Apparatus for Encoder Auxiliary Frame Rate Upconversion," filed on May, incorporated herein by reference.
본 개시물은 비디오 데이터를 인코딩하기 위한 방법 및 장치에 관한 것이다.This disclosure relates to a method and apparatus for encoding video data.
오늘날 다양한 프레임 레이트들을 지원하는 비디오 포맷들이 존재한다. 다음 포맷들은 현재 가장 널리 사용되고 있는 것들로서, 초당 지원되는 프레임들(fps)에 따라 순서대로 열거된다: 24(필름 네거티브), 25(PAL), 30(일반적으로 인터레이싱된(interlaced) 비디오), 및 60(고해상도(HD), 예컨대 720p). 상기 프레임들은 대부분의 애플리케이션들에 적합하지만, 이동 핸드셋 비디오 통신들에 필요한 낮은 대역폭을 달성하기 위해 프레임 레이트들은 때때로 15, 10, 7.5 또는 3 fps 만큼 낮은 레이트들로 감소된다. 상기 낮은 레이트들이 몇몇 비디오를 디스플레이하기 위해 더 낮은 계산 능력들을 가지는 로우 엔드 디바이스들을 허용하지만, 결과적인 비디오 품질은 모션에서 부드럽기보다 오히려 "단속동작(jerkiness)"(즉, 슬라이드 쇼 효과를 가지는)을 경험한다. 또한, 감소된 프레임들은 종종 비디오 내의 모션의 양을 정확히 트래킹하지 않는다. 예를 들어, 더 적은 프레임들은 스포츠 이벤트에서 발생하는 것과 같은 "하이 모션" 비디오 컨텐츠 부분들 동안 감소되어야 하지만, 더 많은 프레임들은 토크쇼에서 발생하는 것과 같은 "로우 모션" 비디오 컨텐츠 부분들 동안 감소될 수 있다. 비디오 압축은 컨텐트에 따라 결정되며, 비디오 압축 효율을 개선하기 위해 코딩될 시퀀스 내의 움직임 및 텍스처 특징들을 분석하여 통합할 수 있다. Today there are video formats that support various frame rates. The following formats are currently most widely used, listed in order of supported frames per second (fps): 24 (film negative), 25 (PAL), 30 (generally interlaced video), And 60 (high resolution (HD), such as 720p). The frames are suitable for most applications, but the frame rates are sometimes reduced to rates as low as 15, 10, 7.5 or 3 fps to achieve the low bandwidth required for mobile handset video communications. While the low rates allow low end devices with lower computational capabilities to display some video, the resulting video quality may not be “jerkiness” (ie, with a slide show effect) rather than smooth in motion. Experience. Also, reduced frames often do not accurately track the amount of motion in the video. For example, fewer frames should be reduced during "high motion" video content portions such as those occurring at sporting events, while more frames may be reduced during "low motion" video content portions such as those occurring at talk shows. have. Video compression is content dependent and can be integrated by analyzing motion and texture features in the sequence to be coded to improve video compression efficiency.
프레임 레이트 상향 변환(FRUC)은 재구성된 비디오의 프레임 레이트를 증가시키기 위해 비디오 디코더에서 비디오 보간을 사용하는 프로세스이다. FRUC에서, 보간된 프레임들은 레퍼런스들로서 수신된 프레임들을 사용하여 생성된다. 현재, FRUC 프레임 보간을 구현하는 시스템들은 모션 보상 보간과 전송된 모션 벡터들의 프로세싱에 기반한 접근법들을 포함한다. FRUC는 또한 다양한 비디오 포맷들 사이에서의 변환을 위해 사용된다. 예를 들어, 필름 및 비디오 사이의 각각의 컬러 프레임 레이트 차이들을 조정하는 필름-대-비디오 테입 전달 기법인, 텔레시네(Telecine) 및 역 텔레시네 애플리케이션들에서, 프로그레시브 비디오(24 프레임/초)는 NTSC 인터레이스된 비디오(29. 97 프레임/초)로 변환된다. Frame Rate Up Conversion (FRUC) is a process that uses video interpolation in a video decoder to increase the frame rate of reconstructed video. In FRUC, interpolated frames are generated using the frames received as references. Currently, systems implementing FRUC frame interpolation include approaches based on motion compensation interpolation and processing of transmitted motion vectors. FRUC is also used for conversion between various video formats. For example, in telecine and reverse telecine applications, which are film-to-video tape delivery techniques that adjust respective color frame rate differences between film and video, progressive video (24 frames / second) is NTSC interlaced. Is converted into video (29.97 frames / second).
다른 FRUC 접근법은 모션 추정 및 블록 기반 프로세싱의 결함들에 의해 야기되는 블록 압축 가공물(artifact)들을 줄이기 위해 가중-적응 모션 보상 보간(WAMCI)을 이용한다. 이러한 접근은 다수의 모션 보상 보간(MCI) 이미지들의 가 중합에 의한 보간에 기초한다. 블록 경계들에 있는 블록 압축 가공물들은 또한 오버랩된 블록 모션 보상(OBMC)과 유사한 기법을 적용함으로써 제안된 방법에서 줄어들게 된다. 구체적으로, 오버랩된 영역들을 처리하면서 블러링(blurring)을 줄이기 위해서, 상기 방법은 블록 모션 타입을 결정하도록 모션 분석을 이용하고 적응적으로 OBMC를 적용한다. 실험에 의거한 결과들은 제안된 접근법이 블록 압축 가공물들을 상당하게 줄여서 결과들을 향상시킨다고 제시하고 있다. Another FRUC approach uses weighted-adaptive motion compensation interpolation (WAMCI) to reduce block compression artifacts caused by defects in motion estimation and block-based processing. This approach is based on interpolation by additive polymerization of multiple motion compensated interpolation (MCI) images. Block compression artifacts at the block boundaries are also reduced in the proposed method by applying a technique similar to overlapped block motion compensation (OBMC). Specifically, to reduce blurring while processing overlapping areas, the method uses motion analysis to adaptively determine the block motion type and adaptively applies OBMC. Experimental results suggest that the proposed approach improves the results by significantly reducing block compression artifacts.
또다른 FRUC 접근법은 인코더로부터 부정확하게 전송된 임의의 모션 벡터들의 사용에 의해 야기되는 압축 가공물들을 줄이기 위해 벡터 신뢰성 분석을 이용한다. 이러한 접근법에서, 프레임 해석을 위한 가장 바람직한 접근법을 결정하기 위해 전송된 모션 벡터들과 비교되는 모션 벡터들을 구성하도록 모션 추정이 이용된다. 모션 추정을 이용하는 기존의 상향 변환 알고리즘들에서, 추정 프로세스는 프레임이 보간되도록 허용하는 모션 벡터들을 구성하기 위해 두 개의 인접한 디코딩된 프레임들을 이용하여 수행된다. 그러나, 이러한 알고리즘들은 모션 추정 연산을 위해 요구되는 계산의 양에 대한 고려 없이 전송 대역폭의 활용을 향상시키도록 시도한다. 이와 비교하여, 전송된 모션 벡터들을 이용하는 상향 변환 알고리즘들에서는, 보간된 프레임들의 품질은 인코더에 의해 획득된 모션 벡터들에 크게 의존한다. 이러한 두가지 접근법들의 조합을 이용하여, 전송된 모션 벡터들은 먼저 이들이 보간 프레임들을 구성하는데 사용될 수 있는지 여부를 결정하기 위해 분석된다. 그 다음에 보간을 위해 사용되는 상기 방법은 적응적으로 세 가지 방법들로부터 선택된다: 로컬 모션-보상 보간, 글로벌(global) 모션-보상 보간 및 프레임-반 복 보간. Another FRUC approach uses vector reliability analysis to reduce compression artifacts caused by the use of any motion vectors incorrectly transmitted from the encoder. In this approach, motion estimation is used to construct motion vectors that are compared to the transmitted motion vectors to determine the most desirable approach for frame interpretation. In existing upconversion algorithms using motion estimation, the estimation process is performed using two adjacent decoded frames to construct motion vectors that allow the frame to be interpolated. However, these algorithms attempt to improve the utilization of transmission bandwidth without considering the amount of computation required for motion estimation operations. In comparison, in up-conversion algorithms using transmitted motion vectors, the quality of the interpolated frames is highly dependent on the motion vectors obtained by the encoder. Using a combination of these two approaches, the transmitted motion vectors are first analyzed to determine whether they can be used to construct interpolated frames. The method used for interpolation is then adaptively selected from three methods: local motion-compensation interpolation, global motion-compensation interpolation and frame-repeat interpolation.
FRUC 기술들은 일반적으로 비디오 디코더의 후-처리 기능들로서 구현됨에도 불구하고, 그리하여 비디오 인코더는 전형적으로 이러한 동작에 포함되지 않는다. 그러나, 인코더-보조(encoder-assisted) FRUC(EA-FRUC)로서 지칭되는 접근법에서는, 여전히 디코더가 제거되는 벡터 또는 잔여 데이터 없이 독립적으로 프레임들의 중요 부분들을 재생성하도록 허용하면서, 인코더는 모션 벡터들 또는 기준 프레임들(예를 들어, 잔여 데이터)과 관련된 특정 정보의 전송이 제거될 있는지 여부를 결정할 수 있다. 예를 들어, 양방향 예측 비디오 코딩 방법은 MPEG-2에서 B-프레임 코딩을 향상시킨 방법으로서 소개되어 있다. 이러한 방법에서, 모션-보상 예측 코딩에서 실제 모션 벡터들의 애플리케이션을 인에이블하기 위해 에러 기준의 사용이 제안된다. 왜곡 측정은 절대차 합계(SAD)에 기반하지만, 이러한 왜곡 측정은 특히 시퀀스에 있는 두 개의 프레임들 사이의 모션 양이 한정되어야 할 필요가 있는 실제 왜곡 측정을 제공하는데 있어서는 불충분하다고 알려져 있다. 또한, 임계치 변동에 대한 분류들은 가급적이면 컨텐트 종속적이기 때문에, 이러한 임계치들이 가변적이어야 하는 경우에 임계치들의 변화는 고정된 임계치들을 이용하여 분류된다. Although FRUC techniques are generally implemented as post-processing functions of a video decoder, a video encoder is therefore typically not included in this operation. However, in an approach referred to as encoder-assisted FRUC (EA-FRUC), the encoder is still capable of generating motion vectors or motion vectors while still allowing the decoder to regenerate significant portions of frames independently without the vector or residual data being removed. It may be determined whether the transmission of specific information related to the reference frames (eg, residual data) is to be removed. For example, the bidirectional predictive video coding method has been introduced as a method for improving B-frame coding in MPEG-2. In this method, the use of an error criterion is proposed to enable the application of real motion vectors in motion-compensated predictive coding. Distortion measurements are based on absolute difference sum (SAD), but such distortion measurements are known to be insufficient in providing actual distortion measurements, especially where the amount of motion between two frames in a sequence needs to be limited. Also, since classifications for threshold variations are preferably content dependent, changes in thresholds are sorted using fixed thresholds when those thresholds should be variable.
FRUC 비디오 압축 기술들은 인코더 개선 정보를 사용하는 것을 포함하며, 비디오 프레임들 내의 오브젝트들의 모션을 모델링하기 위해 이동하는 모션 모델들과 함께 블럭-기반의 모션 예측을 사용한다. 블럭-기반의 모션 예측은 비디오 신호들에 고유한 시간 정정 구조를 이용한다. 블럭-기반의 모션 예측에 의해 사용되는 것과 같은 이동하는 모션 모델링은 비디오 포착 디바이스의 렌즈들과 더 평행하거나 덜 평행하는 평면 내에서 이동하는 모션을 관통시키면서 고정된 형태를 유지하는 바디들에 대하여 비디오 신호들 내에서의 시간 중복성을 감소시키거나 제거할 수 있다. 이동하는 모션 모델은 인코딩된 블럭당 2개의 파라미터들을 사용한다.FRUC video compression techniques include using encoder enhancement information, and use block-based motion prediction with moving motion models to model the motion of objects within video frames. Block-based motion prediction uses a time correction structure inherent to video signals. Moving motion modeling, such as used by block-based motion prediction, allows video to move through a motion that moves in a plane that is more parallel or less parallel to the lenses of the video capture device while maintaining a fixed shape. Time redundancy within the signals can be reduced or eliminated. The moving motion model uses two parameters per encoded block.
하이브리드 비디오 압축에 기초한 모션-보상 예측 및 변환 코딩에서, 비디오 프레임들은 이동하는 모션 모델의 사용에 따라 종래의 인코더들에 의해 분할되며, 상기 경우에 분할들은 이동하는 모션을 경험하면서 고정된 형태를 유지하는 오브젝트 바디들의 위치를 결정하기 위해 생성된다. 예를 들어, 자동차가 지나가는 동안 카메라를 호출하는 사람의 비디오 시퀀스는 시퀀스의 고정된 배경을 표시하는 스틸 이미지, 호출하는 사람의 머리 부분을 표시하는 비디오 오브젝트, 사람과 관련된 음성을 표시하는 오디오 오브젝트, 및 직사각형의 지원 영역을 가지는 쪽화면(sprite)으로 움직이는 자동차를 표시하는 또다른 비디오 오브젝트를 포함하는 오브젝트들로 분할될 수 있다. 스틸 이미지에서 쪽화면의 위치는 일시적으로 이동할 수 있다.In motion-compensated prediction and transform coding based on hybrid video compression, video frames are partitioned by conventional encoders according to the use of a moving motion model, in which case the partitions remain fixed while experiencing the moving motion. To determine the location of the object bodies. For example, a video sequence of a person calling a camera while a car is passing can include a still image showing the fixed background of the sequence, a video object showing the head of the caller, an audio object showing the voice associated with the person, And another video object representing a moving car on a sprite having a rectangular support area. In still images, the position of the page can be moved temporarily.
공교롭게, 이동하는 모델 모션 예측은 블럭 당 2개 이상의 파라미터들을 요구하는 모션에서 오브젝트들에 대한 모션을 정확히 예측하거나 설명할 수 없다. 카메라 모션 및 초점 거리 변화와 결합하여 독립적으로 이동하는 오브젝트들은 모션 예측을 위해 효율적으로 근사화되어야 하는 복잡한 모션 벡터를 발생한다. 따라서, 나머지 신호(예측 에러라 공지됨)는 고려할만한 전력을 가지며, 따라서 상기 이동을 포함하는 비디오 프레임들은 압축에 비효율적이다. 상기 오브젝트들을 포 함하는 비디오 프레임들이 블럭-기반의 모션 예측을 사용하여 보간될 때, 보간된 프레임의 주관적인 또는 객관적인 품질 모두는 블럭 모션 다이내믹들을 설명하기 위해 이동하는 모션 모델 기본구조의 제한들로 인해 낮다. 또한, 비디오 시퀀스들이 이동하는 모델 모션 예측에 따라 분할될 때, 임의의 움직임 및 변형들을 경험하는 오브젝트의 보간들을 처리하는 알고리즘의 효율이 제한된다.Unfortunately, moving model motion prediction cannot accurately predict or account for motion for objects in a motion that requires two or more parameters per block. Independently moving objects in combination with camera motion and focal length changes generate complex motion vectors that must be efficiently approximated for motion prediction. Thus, the rest of the signal (known as a prediction error) has power to be considered, so video frames containing the movement are inefficient for compression. When video frames containing the objects are interpolated using block-based motion prediction, both the subjective or objective quality of the interpolated frame is due to the limitations of the motion model infrastructure that move to account for block motion dynamics. low. In addition, when video sequences are partitioned according to moving model motion prediction, the efficiency of the algorithm for processing interpolations of an object that experiences arbitrary movement and deformations is limited.
보간을 수행하기 위한 정보를 전송하는데 필요한 대역폭의 양을 감소시키면서 이동하는 오브젝트들을 적절히 모델링하는 디코더 디바이스에서 고품질의 보간된 프레임들을 제공하고, 저전력 처리에 의존하는 멀티미디어 이동 디바이스들에 적합하도록 상기 프레임들을 생성하는데 필요한 계산양을 감소시키는 접근 방식이 바람직하다. Provide high quality interpolated frames in a decoder device that properly models moving objects while reducing the amount of bandwidth required to transmit information to perform interpolation, and provide the frames for multimedia mobile devices that rely on low power processing. An approach that reduces the amount of computation needed to produce is desirable.
본 명세서에 개시된 특정 양상들은 이동하는 오브젝트들의 모델링, 압축 효율 및 재구성된 비디오 품질을 개선하기 위해 디코더 내에서 발생할 FRUC 프로세싱을 활용하기 위해 비디오 인코더에서 비디오 코딩 및 사전-처리 동작들에 부가하여 다양한 모션 모델들을 사용하는 인코더 보조 프레임 레이트 상향 변환(EA-FRUC)을 제공한다. Certain aspects disclosed herein provide a variety of motion in addition to video coding and pre-processing operations in a video encoder to utilize FRUC processing that will occur within a decoder to improve modeling, compression efficiency, and reconstructed video quality of moving objects. Provides encoder assisted frame rate up-conversion (EA-FRUC) using models.
일 양상에서, 멀티미디어 데이터 처리 방법이 개시된다. 상기 방법은 제 1 및 제 2 비디오 프레임들 중 적어도 하나를 다수의 분할(partition)들로 분할하는 단계, 상기 분할들 중 적어도 하나 내의 적어도 하나의 오브젝트에 대한 모델링 정보 - 상기 모델링 정보는 상기 제 1 및 제 2 비디오 프레임들과 연관됨 - 를 결정하는 단계, 상기 모델링 정보에 기초하여 보간 프레임을 생성하는 단계, 및 상기 보간 프레임에 기초하여 인코딩 정보 - 상기 인코딩 정보는 상기 보간 프레임과 일시적으로 함께 위치된(co-located) 비디오 프레임을 생성하기 위해 사용됨 - 를 생성하는 단계를 포함한다. In one aspect, a method of processing multimedia data is disclosed. The method comprises partitioning at least one of the first and second video frames into a plurality of partitions, modeling information for at least one object in at least one of the partitions, wherein the modeling information is the first one. And associated with second video frames, generating an interpolation frame based on the modeling information, and encoding information based on the interpolation frame, wherein the encoding information is temporarily located with the interpolation frame. Used to generate a co-located video frame.
또다른 양상에서, 멀티미디어 데이터 처리 장치가 개시된다. 상기 장치는 제 1 및 제 2 비디오 프레임들 중 적어도 하나를 다수의 분할(partition)들로 분할하는 수단, 상기 다수의 분할들 중 적어도 하나 내의 적어도 하나의 오브젝트에 대한 모델링 정보 - 상기 모델링 정보는 상기 제 1 및 제 2 비디오 프레임들과 연관됨 - 를 결정하는 수단, 상기 모델링 정보에 기초하여 보간 프레임을 생성하는 수단, 및 상기 보간 프레임에 기초하여 인코딩 정보 - 상기 인코딩 정보는 상기 보간 프레임과 일시적으로 함께 위치된(co-located) 비디오 프레임을 생성하기 위해 사용됨 - 를 생성하는 수단을 포함한다.In another aspect, an apparatus for processing multimedia data is disclosed. The apparatus comprises means for dividing at least one of the first and second video frames into a plurality of partitions, modeling information for at least one object in at least one of the plurality of partitions, the modeling information being the Means for determining an associated with first and second video frames, means for generating an interpolation frame based on the modeling information, and encoding information based on the interpolation frame, the encoding information being temporarily associated with the interpolation frame. Means for generating a co-located video frame.
추가 양상에서, 멀티미디어 데이터 처리 장치가 개시된다. 상기 장치는 제 1 및 제 2 비디오 프레임들 중 적어도 하나를 다수의 분할(partition)들로 분할하도록 구성된 분할 모듈, 상기 다수의 분할들 중 적어도 하나 내의 적어도 하나의 오브젝트에 대한 모델링 정보 - 상기 모델링 정보는 상기 제 1 및 제 2 비디오 프레임들과 연관됨 - 를 결정하도록 구성된 모델링 모듈, 상기 모델링 정보에 기초하여 보간 프레임을 생성하도록 구성된 프레임 생성 모듈, 상기 보간 프레임에 기초하여 인코딩 정보를 생성하도록 구성된 인코딩 모듈, 및 상기 인코딩 정보를 디코더로 전송하도록 구성된 전송 모듈을 포함한다. In a further aspect, an apparatus for processing multimedia data is disclosed. The apparatus comprises a partitioning module configured to partition at least one of the first and second video frames into a plurality of partitions, modeling information for at least one object in at least one of the plurality of partitions-the modeling information A modeling module configured to determine an associated with the first and second video frames, a frame generation module configured to generate an interpolated frame based on the modeling information, and an encoding configured to generate encoding information based on the interpolated frame. A module, and a sending module, configured to send the encoding information to a decoder.
또다른 양상에서, 멀티미디어 데이터를 처리하기 위한 명령들을 포함하는 기계 판독가능한 매체가 개시된다. 상기 명령들은 실행시 기계가 제 1 및 제 2 비디오 프레임들 중 적어도 하나를 다수의 분할(partition)들로 분할하고, 상기 분할들 중 적어도 하나 내의 적어도 하나의 오브젝트에 대한 모델링 정보 - 상기 모델링 정보는 상기 제 1 및 제 2 비디오 프레임들과 연관됨 - 를 결정하고, 상기 모델링 정보에 기초하여 보간 프레임을 생성하며, 그리고 상기 보간 프레임에 기초하여 인코딩 정보 - 상기 인코딩 정보는 상기 보간 프레임과 일시적으로 함께 위치된(co-located) 비디오 프레임을 생성하기 위해 사용됨 - 를 생성하도록 한다. In another aspect, a machine readable medium is disclosed that includes instructions for processing multimedia data. The instructions may cause the machine to divide at least one of the first and second video frames into a plurality of partitions, the modeling information for at least one object in at least one of the partitions, the modeling information being Determine an associated with the first and second video frames, generate an interpolated frame based on the modeling information, and encode information based on the interpolated frame—the encoding information is temporarily associated with the interpolated frame. Used to generate a co-located video frame.
또다른 양상에서 멀티미디어 데이터를 처리하기 위한 프로세서가 개시된다. 프로세서는 제 1 및 제 2 비디오 프레임들 중 적어도 하나를 다수의 분할(partition)들로 분할하고, 상기 분할들 중 적어도 하나 내의 적어도 하나의 오브젝트에 대한 모델링 정보 - 상기 모델링 정보는 상기 제 1 및 제 2 비디오 프레임들과 연관됨 - 를 결정하고, 상기 모델링 정보에 기초하여 보간 프레임을 생성하며, 그리고 상기 보간 프레임에 기초하여 인코딩 정보 - 상기 인코딩 정보는 상기 보간 프레임과 일시적으로 함께 위치된(co-located) 비디오 프레임을 생성하기 위해 사용됨 - 를 생성하도록 구성된다. In another aspect, a processor for processing multimedia data is disclosed. The processor divides at least one of the first and second video frames into a plurality of partitions, and modeling information for at least one object in at least one of the partitions, wherein the modeling information is determined by the first and second images. Is associated with two video frames, generates an interpolated frame based on the modeling information, and encodes information based on the interpolated frame, the encoding information being temporarily co-located with the interpolated frame. located) is used to generate a video frame.
다른 목적들, 특징들 및 장점들이 하기의 상세한 설명에서 당업자에게 명백할 것이다. 그러나, 상세한 설명 및 특정 예들은 예시적인 양상들을 표시하면서 설명을 위해 제공되고 제한되지 않음이 이해되어야 한다. 하기의 설명에서 다양한 변경들 및 수정들이 본 발명의 사상을 벗어나지 않고 실행될 수 있다. Other objects, features and advantages will be apparent to those skilled in the art from the following detailed description. However, it is to be understood that the detailed description and specific examples are provided by way of illustration and not limitation, displaying illustrative aspects. Various changes and modifications can be made in the following description without departing from the spirit of the invention.
도 1A는 스트리밍 비디오의 전달을 위한 일 양상에 따라 다양한 모션 모델들을 사용하여 인코더 보조 프레임 레이트 상향 변환(EA-FRUC) 시스템을 구현하는 통신 시스템의 일 예의 설명이다.1A is an illustration of an example of a communication system implementing an encoder assisted frame rate up-conversion (EA-FRUC) system using various motion models in accordance with an aspect for delivery of streaming video.
도 1B는 스트리밍 비디오의 전달을 위한 일 양상에 따라 다양한 모션 모델들을 사용하도록 구성된 EA-FRUC 디바이스의 일 예의 설명이다.1B is an illustration of an example of an EA-FRUC device configured to use various motion models in accordance with an aspect for delivery of streaming video.
도 2는 다양한 모델들을 사용하도록 구성된 도 1A의 EA-FRUC 시스템의 동작을 설명하는 흐름도이다.2 is a flow diagram illustrating the operation of the EA-FRUC system of FIG. 1A configured to use various models.
도 3은 오브젝트 기반의 모델링 정보 및 디코더 정보를 사용하여 업샘플링하기 위한 인코딩 비디오 데이터를 설명하는 흐름도이다.3 is a flowchart illustrating encoded video data for upsampling using object-based modeling information and decoder information.
도 4는 본 발명의 일 양상에 따른 비디오 프레임 내의 오브젝트들에 대한 모델링 정보를 결정하는 것을 설명하는 흐름도이다.4 is a flow diagram illustrating determining modeling information for objects in a video frame in accordance with an aspect of the present invention.
도 5는 아핀 모델들을 사용하여 비디오 프레임 내의 오브젝트들에 대한 모션 벡터 침식 정보를 결정하는 것을 설명하는 흐름도이다.5 is a flow diagram illustrating determining motion vector erosion information for objects in a video frame using affine models.
도 6은 본 발명의 특정 양상들에 따라 이동하는 모션 모델 기본구조 내의 모션 모델들을 디코딩하도록 구성된 디코딩 디바이스를 사용하여 오브젝트 기반의 모델링 정보 및 디코더 정보를 사용하여 업샘플링된 인코딩된 비디오 데이터 비트스트림을 디코딩하는 것을 설명하는 흐름도이다.6 illustrates an upsampled encoded video data bitstream using object-based modeling information and decoder information using a decoding device configured to decode motion models within a moving motion model infrastructure in accordance with certain aspects of the present invention. This is a flowchart illustrating decoding.
본 명세서에 개시된 것과 같은 인코더 보조-FRUC(EA-FRUC) 시스템의 일 양상 에서, 인코더는 디코더에서 사용되는 FRUC 알고리즘을 미리 알고 있을 뿐만 아니라 소스 프레임들에 액세스한다. 인코더는 추가로 소스 프레임들 내에서 이동하는 오브젝트들을 정확히 모델링하기 위해 이동하는 모션 모델들을 포함하는 다양한 모션 모델들을 사용하도록 구성된다. 그와 함께 생성된 보간 프레임을 사용하는 인코더는 FRUC를 수행할 때 디코더를 보조하고 보간 동안 실행되는 결정들을 개선하기 위해 추가 정보를 전송한다. FRUC가 디코더 내에서 수행될 것이라는 지식을 이용하여, EA-FRUC 시스템은 압축 효율을 개선하고(따라서 전송 대역폭의 사용을 개선하고), 재구성된 비디오 품질(재구성된 이동하는 오브젝트들의 표시를 포함함)을 개선하기 위해 다양한 모션 모델들, 즉 비디오 인코더에서의 비디오 코딩 및 사전-처리 동작들을 사용한다. 특히, 아핀 모션 모델링과 같이 인코더로부터의 다양한 모션 모델 정보는 일반적으로 인코더에 의해 전송되어 디코더에 제공되는 정보를 보충하거나 대체하여 모션 모델링 정보가 인코더 보조 FRUC 내에서 사용될 수 있도록 한다.In one aspect of an encoder assisted-FRUC (EA-FRUC) system as disclosed herein, the encoder knows in advance the FRUC algorithm used in the decoder as well as accesses the source frames. The encoder is further configured to use various motion models, including moving motion models, to accurately model moving objects within the source frames. The encoder using the interpolated frame generated therewith sends additional information to assist the decoder when performing FRUC and to improve the decisions made during interpolation. Using the knowledge that FRUC will be performed within the decoder, the EA-FRUC system improves compression efficiency (and thus improves the use of transmission bandwidth), and reconstructed video quality (including the representation of reconstructed moving objects). We use various motion models, namely video coding and pre-processing operations in the video encoder to improve the performance. In particular, various motion model information from the encoder, such as affine motion modeling, is generally transmitted by the encoder to supplement or replace the information provided to the decoder so that the motion modeling information can be used within the encoder assisted FRUC.
일 양상에서, 인코더에 의해 제공되는 정보는 디코더에서 보간될 이미지의 공간(예컨대, 세부조정들, 모델 결정들, 이웃 특징들) 및 시간(예컨대, 모션 벡터(들) 결정들) 특징들뿐만 아니라 FRUC 프로세스에 의해 생성된 정규 예측(B 또는 P) 프레임 코딩 및 보간된 프레임과 관련하여 서로 다른 정보와 같은 파라미터들을 포함한다. 인코더에 의해 제공되는 정보는 추가로 원래의 비디오 스트림으로부터 이동하는 오브젝트들을 정확하고 효율적으로 표현하기 위해 선택된 다양한 모션 모델들을 포함한다. In one aspect, the information provided by the encoder is not only the spatial (eg, refinements, model decisions, neighbor features) and time (eg, motion vector (s) determinations) features of the image to be interpolated at the decoder. Parameters such as normal information (B or P) frame coding generated by the FRUC process and different information with respect to interpolated frames. The information provided by the encoder further includes various motion models selected to accurately and efficiently represent the moving objects from the original video stream.
몇몇 모션 예측 기술들은 이동하는 모션에 부가하여 비디오 압축을 위해 사용될 수 있다. 추가의 모션 타입들은 회전 모션; 줌-인 및 줌-아웃 모션; 견고한 바디의 가정 하에 구조들의 변경 및 장면 오브젝트들의 형태 위반이 발생하는 변형들; 아핀 모션; 글로벌 모션; 및 오브젝트 기반의 모션을 포함한다. 아핀 모션 모델들은 이동 모션, 회전 모션, 잘라내기, 평행이동, 변형들 및 줌-인 및 줌-아웃 시나리오들을 위한 오브젝트 스케일링을 포함하는 다수의 모션 타입들을 지원한다. 아핀 모션 모델은 다른 모션 타임들을 통합하기 때문에 이동 모델보다 다용도로 사용된다. 아핀 모션 모델은 회전, 스케일링 및 잘라내기를 고려하여 인코딩된 블럭당 6개 파라미터들을 사용한다. 따라서 장면 내의 오브젝트들의 실제 동적 모션에 더 높은 적응성을 허용한다.Some motion prediction techniques can be used for video compression in addition to moving motion. Additional motion types include rotational motion; Zoom-in and zoom-out motion; Deformations where changes in structures and shape violations of scene objects occur under the assumption of a rigid body; Affine motion; Global motion; And object-based motion. Affine motion models support a number of motion types including moving motion, rotational motion, cropping, translation, transformations and object scaling for zoom-in and zoom-out scenarios. The affine motion model is more versatile than the moving model because it incorporates different motion times. The affine motion model uses six parameters per encoded block, taking into account rotation, scaling and truncation. Thus allowing higher adaptability to the actual dynamic motion of the objects in the scene.
오브젝트 기반의 모션 예측 기술은 서로 다른 모션 타입들을 경험하는 다수의 오브젝트들을 포함하는 장면에 대한 비디오 프레임들을 위해 사용된다. 상기 상환들에서, 어떠한 단일 모션 모델도 서로 다른 다이내믹들(dynamics)을 캡처할 수 없지만 대신에 모델들의 크기가 사용될 수 있으며, 상기 경우에 개별 모델들이 장면 내의 각각의 오브젝트에 대하여 명확하게 제작된다. Object-based motion prediction techniques are used for video frames for a scene that includes multiple objects that experience different motion types. In the above reimbursements, no single motion model can capture different dynamics, but instead the size of the models can be used, in which case separate models are explicitly made for each object in the scene.
본 명세서에서 논의되는 인코더 디바이스의 특정 양상들은 인코딩 디바이스에 의해 인코딩되는 데이터를 디코딩하는데 사용될 디코더 디바이스의 속성들을 평가하며, 프레임들을 보간할 때 디코더 디바이스에서 압축 효율, 성능, 오브젝트 렌더링을 개선하기 위해 비디오 데이터의 인코딩을 최적화한다. 예를 들어, 디코더 디바이스는 FRUC 또는 에러 숨김을 개선할 수 있다. 일 양상에서, 비디오 프레임 들은 동작들, 시간 변경 다이내믹들 또는 고유하게 식별가능한 오브젝트들에 기초하여 불균일한 크기와 불균일한 형태의 영역들의 집합으로 분할된다. 특정 양상들에 따라, 인코더 디바이스는 글로벌 모션의 위치를 결정하기 위해 비디오 데이터를 분석한다(변화하는 지속 기간의 세그먼트들 내에서). 글로벌 모션의 위치가 결정되면, 관련된 모델 파라미터들 및 신호들은 아핀 모션 모델들과 같은 다양한 모션 모델들을 사용하여 추정된다. 각각의 오브젝트 또는 분할들에 대하여 이동하고, 회전하고, 스케일링하고, 형태학적으로 변화하는 변환들을 설명하는 아핀 모션 모델이 그 후에 생성된다. 분할 정보는 연관된 모델들과 함께 잔여 신호의 전력을 감소시킬 수 있는 예측 신호를 생성하기 위해 사용될 수 있다. 연관된 모델과 함께 분할 맵은 타입 및 파라미터 정보를 포함하며, 디코더 디바이스로 전송된다. 나머지 신호는 더 높은 품질 재구성을 가능하도록 개별적으로 압축되어 디코더 디바이스로 전송될 수 있다. 특정 양상들에서, 디코더 디바이스는 수정된 이동하는 모션 모델 기본구조 내의 인코딩된 모션 모델에서의 정보를 사용하여 인코딩된 데이터를 분석할 수 있다.Certain aspects of the encoder device discussed herein evaluate properties of a decoder device to be used to decode data encoded by the encoding device, and to improve compression efficiency, performance, object rendering at the decoder device when interpolating frames. Optimize the encoding of the data. For example, the decoder device may improve FRUC or error concealment. In one aspect, video frames are divided into a set of regions of non-uniform size and non-uniform shape based on operations, time varying dynamics or uniquely identifiable objects. According to certain aspects, the encoder device analyzes the video data (in segments of varying duration) to determine the location of global motion. Once the position of the global motion is determined, the relevant model parameters and signals are estimated using various motion models, such as affine motion models. An affine motion model is then created that describes the moving, rotating, scaling, and morphologically changing transforms for each object or partitions. The partitioning information can be used with the associated models to generate a predictive signal that can reduce the power of the residual signal. The partition map along with the associated model contains type and parameter information and is sent to the decoder device. The remaining signals can be individually compressed and sent to the decoder device to enable higher quality reconstruction. In certain aspects, the decoder device may analyze the encoded data using the information in the encoded motion model within the modified moving motion model framework.
특정 양상들은 인코딩이 디코더 디바이스에서 오브젝트들을 렌더링하는데 필요한 정보의 양을 상당히 감소시키는 오브젝트들을 식별하는 프로세스를 설명한다. 상기 양상들 중 몇몇에서, 하나의 배경 오브젝트 및 임의의 수의 전경 오브젝트들은 이미지 세분화, 그래프 기반 기술들 또는 장면 구성 정보를 사용하여 식별된다. 배경 오브젝트는 그 후에 분류된다. 전술된 2개 단계들을 포함하는 오브젝트 기반의 장면 분석이 비디오 시퀀스의 세부 부분 또는 전체 비디오 시퀀스에 수행되어 종료되면, 각각의 오브젝트의 전개(evolution) 및 그 다이내믹 동작은 적절한 모션-변형 모델에 의해 정확히 설명될 수 있다. 예를 들어, 균일한 이동 모션을 경험하는 오브젝트에 대하여, 전체 궤도는 모션 벡터(공칭 프레임간 간격과 관련하여 정규화된)에 의해 간단히 설명될 수 있다. 상기 정보는 상기 오브젝트의 단일 스냅샷의 시각 데이터와 결합하여 오브젝트가 장면 밖으로 이동하거나 그 모션 또는 시각적 특성들의 일부가 변화할 때까지 디코더 디바이스에서 오브젝트를 정확히 렌더링하는데 사용될 수 있다. 오브젝트의 모션 또는 시각적 특성들 중 하나에서의 변경은 오브젝트에 대한 최소 불균일 시각적 샘플링 패턴을 식별하는데 사용될 수 있다. 유사한 방식으로, 잠정적으로 어느 정도 복잡한 모션 궤도들(trajectories) 및 폐쇄(occlusion) 속성들은 장면 내에서 이전에 식별된 오브젝트들에 대하여 결정될 수 있다.Certain aspects describe a process for identifying objects in which encoding significantly reduces the amount of information needed to render the objects at the decoder device. In some of the above aspects, one background object and any number of foreground objects are identified using image segmentation, graph based techniques or scene configuration information. The background object is then classified. If object-based scene analysis, including the two steps described above, is performed on a detailed or complete video sequence of the video sequence, then the evolution of each object and its dynamic behavior are accurately determined by the appropriate motion-deformation model. Can be explained. For example, for an object that experiences uniform moving motion, the overall trajectory can simply be described by a motion vector (normalized with respect to the nominal interframe spacing). The information can be used in conjunction with the visual data of a single snapshot of the object to accurately render the object at the decoder device until the object moves out of the scene or some of its motion or visual characteristics change. Changes in one of the motion or visual characteristics of the object may be used to identify a minimal non-uniform visual sampling pattern for the object. In a similar manner, potentially complex motion trajectories and occlusion properties can be determined for previously identified objects in the scene.
하기의 설명에서, 본원 발명의 양상들의 충분한 이해를 제공하기 위해 특정 세부 설명들이 주어진다. 그러나, 상기 앙샹들은 상기 특정 세부 설명들 없이 실행될 수 있음이 당업자에 의해 인식될 것이다. 예를 들어, 전자 소자들은 불필요한 설명에서 양상들을 불명료하지 않도록 하기 위해 블럭 다이어그램으로 도시될 수 있다. 다른 경우들에서, 상기 소자들, 다른 구조들 및 기술들은 상기 양상들을 추가로 설명하기 위해 상세히 도시될 수 있다.In the following description, specific details are given to provide a thorough understanding of aspects of the present invention. However, it will be appreciated by those skilled in the art that the features may be practiced without the specific details. For example, electronic components may be shown in block diagrams in order not to obscure aspects in unnecessary description. In other instances, the devices, other structures and techniques may be shown in detail to further illustrate the aspects.
본원 발명의 양상들은 흐름도, 흐름 다이어그램, 구조 다이어그램 또는 블럭 다이어그램으로 도시된 프로세스로서 설명될 수 있다. 흐름도는 순차적인 프로세스로서 동작들을 설명할 있지만, 상기 동작들 다수는 동시에 또는 순차적으로 수행 될 수 있고, 상기 프로세스는 반복될 수 있다. 또한, 동작들의 순서는 재배열될 수 있다. 프로세스는 동작들이 종료될 때 종료된다. 프로세스는 방법, 기능, 절차, 서브루틴, 서브프로그램 등등에 상응할 수 있다. 프로세스가 하나의 기능에 해당할 때, 그 종료는 상기 기능의 호출 기능 또는 주요 기능으로의 복귀에 해당한다. Aspects of the invention may be described as a process depicted in a flow diagram, flow diagram, structure diagram or block diagram. Although the flowchart describes the operations as a sequential process, many of the operations may be performed simultaneously or sequentially, and the process may be repeated. In addition, the order of the operations may be rearranged. The process ends when the operations end. Processes may correspond to methods, functions, procedures, subroutines, subprograms, and so forth. When a process corresponds to one function, the end corresponds to the return of the function or the main function of the function.
도 1A는 스트리밍 비디오의 전달을 위한 일 양상에 따라 다양한 모션 모델들을 사용하여 인코더 보조 프레임 레이트 상향 변환(EA-FRUC) 시스템을 구현하는 통신 시스템의 일 예의 설명이다. 시스템(100)은 인코더 디바이스(105) 및 디코더 디바이스(110)를 포함한다.1A is an illustration of an example of a communication system implementing an encoder assisted frame rate up-conversion (EA-FRUC) system using various motion models in accordance with an aspect for delivery of streaming video.
인코더 디바이스(105)는 프레임 생성기(115), 모델러(120), 분할기(160), 멀티미디어 인코더(125), 메모리 컴포넌트(130), 프로세서(135), 및 수신기/송신기(140)를 포함한다. 프로세서(135)는 일반적으로 예시적인 인코더 디바이스(105)의 전체 동작을 제어한다.
분할기 컴포넌트(160)는 비디오 프레임들을 서로 다른 블럭들로 분할하여 모션 모델들이 비디오 프레임의 서브 세트 영역들과 연관될 수 있게 한다. 모션-변형 정보의 분석은 초기 장면/프레임을 분할하는데 성공적으로 사용될 수 있고, 전송된 프레임들의 데이터에 기초하여 성공적으로 보간될 수 있는 프레임들과는 대조적으로 압축되어 전송될 필요가 있는 프레임들의 최소 시간 샘플링을 결정하는데 사용될 수 있다. 특정 양상들에서, 샘플링 인스턴스들의 (최소) 개수는 모션-변형 다이내믹들이 변화들을 경험하는 시점에 기초한다. 따라서 적절한 프레임 보간은 모션-변형 다이내믹들의 적절한 분할에 기초하여 실행될 수 있다.The
모델러 컴포넌트(120)는 모션 모델들을 결정하여 이들을 장면을 포함하는 비디오 프레임들 내에서 발견되는 오브젝트들과 연관시키도록 구성된다.The
프레임 생성기 컴포넌트(115)는 인코더 디바이스(105)에 의해 전송된 데이터를 디코딩하는데 사용될 디코더에서의 정보뿐만 아니라 원래의 비디오 스트림으로부터의 데이터를 사용하는 보간된 프레임들을 생성한다. 보간된 프레임들을 생성하기 위한 시스템 및 방법들은 "비디오 압축을 위한 인코더 보조-프레임 레이트 상향변환(EA-FRUC)을 위한 방법 및 장치"라는 명칭의 미국 특허 공개공보 2006/0165176에 개시되며, 본 명세서에서 참조로서 통합된다.
멀티미디어 인코더(125)는 공간 도메인으로부터 DCT(이산 코사인 변환)의 경우에 주파수 도메인과 같은 또 다른 도메인으로 비디오(또는 오디오 또는 비공개 캡션 텍스트)데이터를 변환 및/또는 양자화하는 변환기/양자화기 컴포넌트를 포함하는 서브 컴포넌트들을 포함할 수 있다. 멀티미디어 인코더는 엔트로피(entropy) 인코더 컴포넌트를 포함할 수 있다. 엔트로피 인코더 컴포넌트는 컨텍스트-적응형(context-adaptive) 가변 길이 코딩(CAVLC)을 사용할 수 있다. 인코딩된 데이터는 양자화된 데이터, 변환된 데이터, 압축된 데이터 또는 이들의 임의의 조합을 사용할 수 있다. 메모리 컴포넌트(130)는 인코딩될 로우 비디오 데이터, 전송될 인코딩된 비디오 데이터, 헤더 정보, 헤더 디렉토리 또는 다양한 인코더 컴포넌트들에 의해 동작되는 중간 데이터와 같은 정보를 저장하기 위해 사용된다.
상기 예에서, 수신기/송신기 컴포넌트(140)는 외부 소스(145)로부터 인코딩 될 데이터를 수신하기 위해 사용되는 회로 및/또는 로직을 포함한다. 외부 소스(145)는 예를 들면, 외부 메모리, 인터넷, 라이브 비디오 및/또는 오디오 피드(feed)가 될 수 있고, 데이터를 수신하는 것은 유선 및/또는 무선 통신들을 포함할 수 있다. 송신기(140)는 또한 네트워크(150)를 통해 인코딩된 데이터를 전송(Tx)하기 위한 송신기와 같은 회로 및/또는 로직을 포함한다. 네트워크(150)는 전화기, 케이블 및 광섬유 또는 무선 시스템과 같은 유선 시스템의 일부가 될 수 있다. 무선 통신 시스템들의 경우에, 네트워크(150)는 코드 분할 다중 접속(CDMA 또는 CDMA 2000) 통신 시스템의 일부를 포함할 수 있거나, 선택적으로 시스템은 주파수 분할 다중 접속(FDMA) 시스템, 직교 주파수 분할 다중 접속(OFDMA) 시스템, GSM/GPRS(범용 패킷 무선 서비스)/EDGE(개선된 데이터 GSM 환경) 또는 서비스 산업을 위한 TETRA(지상 중계 회선의 무선) 이동 전화기 기술과 같은 시간 분할 다중 접속(TDMA) 시스템, 광대역 코드 분할 다중 접속(WCDMA), 높은 데이터 레이트(1xEV-DO 또는 1xEV-DO 골드(Gold) 멀티캐스트) 시스템 또는 상기 기술들의 조합을 사용하는 임의의 무선 통신 시스템이 될 수 있다. 전송된 데이터는 비디오, 오디오 및/또는 비공개 캡션과 같은 다수의 비트 스트림들을 포함할 수 있다. In the above example, receiver /
도 1에 도시된 인코더 디바이스(105)중 하나 또는 그이상의 엘리먼트들은 생략, 재배치 및/또는 결합될 수 있다. 예를 들어, 프로세서 컴포넌트(135)는 인코더 디바이스(105)의 외부 장치가 될 수 있다.One or more elements of the
디코더 디바이스(110)는 멀티미디어 디코더(165), 메모리 컴포넌트(170), 수신기(175) 및 프로세서(180)를 포함하여 인코더 디바이스(105)와 유사한 컴포넌트 들을 포함한다. 디코더 디바이스(110)는 네트워크(150)를 통하거나 외부 저장장치(185)로부터 전송된 인코딩된 멀티미디어 데이터를 수신한다. 수신기(175)는 네트워크(150)와 결합하여 인코딩된 데이터를 수신하기(Rx) 위해 사용되는 회로 및/또는 로직뿐만 아니라 외부 저장장치(185)로부터 인코딩된 데이터를 수신하기 위한 로직을 포함한다. 외부 저장장치(185)는 예를 들면, 외부 RAM 또는 ROM 또는 원격 서버가 될 수 있다.
멀티미디어 디코더(165)는 수신된 인코딩된 멀티미디어 비트스트림들을 디코딩할 때 사용되는 회로 및/또는 로직을 포함한다. 멀티미디어 디코더(165)의 서브 컴포넌트들은 역양자화 컴포넌트, 역변환 컴포넌트 및 다양한 에러 복원 컴포넌트들을 포함할 수 있다. 에러 복원 컴포넌트들은 더 낮은 레벨의 에러 검출 및 정정 컴포넌트들(리드-솔로몬(Reed-Solomon) 코딩 및/또는 터보-코딩) 뿐만 아니라 더 낮은 계층의 방법들에 의해 정정할 수 없는 데이터를 대체 및/또는 숨기기 위해 사용되는 상위 계층 에러 복원 및/또는 에러 숨김을 포함할 수 있다.The
디코딩된 멀티미디어 데이터는 디스플레이 컴포넌트(190)를 사용하여 디스플레이되거나, 외부 저장 장치(185) 내에 저장되거나 내부 메모리 컴포넌트(170) 내에 저장될 있다. 디스플레이 컴포넌트(190)는 디코더 디바이스(110)의 통합된 부분이 될 수 있다. 디스플레이 컴포넌트(190)는 디스플레이 스크린 및/또는 스피커들을 포함하여 비디오 및/또는 오디오 디스플레이 하드웨어 및 로직과 같은 부분들을 포함한다. 디스플레이 컴포넌트(190)는 또한 외부 주변 디바이스들이 될 수 있다. 상기 예에서, 수신기(175)는 외부 저장 컴포넌트(185) 또는 디스플레이 컴포 넌트(190)에 디코딩된 멀티미디어 데이터를 통신하기 위해 사용된 로직을 포함한다.Decoded multimedia data may be displayed using
도 1에 도시된 디코더 디바이스(110)의 일 또는 그 이상의 엘리먼트들은 생략되거나, 재배치되거나 및/또는 결합될 수 있는 것이 주지되어야 한다. 예를 들어, 프로세서(180)는 디코더 디바이스(110)의 외부 장치가 될 수 있다.It should be noted that one or more elements of
도 1B는 스트리밍 비디오의 전달을 위한 일 양상에 따라 다양한 모션 모델들을 사용하도록 구성된 EA-FRUC 디바이스(155)의 일 예의 설명이다. 다양한 모션 모델들을 사용하도록 구성된 EA-FRUC 디바이스(100)는 제 1 및 제 2 비디오 스트림들을 분할하기 위한 모듈(161), 모델링 정보를 결정하기 위한 모듈(121), 보간 프레임을 생성하기 위한 모듈(116) 및 인코딩 정보를 생성하기 위한 모듈(126)을 포함한다.1B is an illustration of an example of an EA-
일 양상에서, 제 1 및 제 2 비디오 프레임들 중 적어도 하나를 다수의 분할들로 분할하기 위한 수단은 제 1 및 제 2 비디오 프레임들을 분할하기 위한 모듈(161)을 포함한다. 일 양상에서, 상기 다수의 분할들 중 적어도 하나 내의 적어도 하나의 오브젝트에 대한 모델링 정보를 결정하기 위한 수단은 모델링 정보를 결정하기 위한 모듈(121)을 포함한다. 일 양상에서, 모델링 정보에 기초하여 보간 프레임을 생성하기 위한 수단은 보간 프레임을 생성하기 위한 모듈(116)을 포함한다. 일 양상에서, 보가 프레임에 기초하여 인코딩 정보를 생성하기 위한 수단은 인코딩 정보를 생성하기 위한 모듈(126)을 포함한다.In one aspect, means for dividing at least one of the first and second video frames into a plurality of partitions includes a
도 2는 다양한 모션 모델들을 사용하도록 구성된 도 1A의 EA-FRUC 시스템의 동작을 설명하는 흐름도이다. 먼저, 단계(201)에서, 비디오 데이터는 도 3을 참조항 상세히 설명되는 것과 같이 오브젝트 기반의 모델링 정보 및 디코더 디바이스(110) 상의 정보를 사용하여 업샘플링하기 위해 인코딩된다. 다음에, 단계 202에서, 인코딩된 정보는 디코더 디바이스(110)로 전송된다. 특정 양상들에서, 인코딩된 정보는 인코더 디바이스(105)의 송신기 모듈(140)로부터 디코더 디바이스(110)의 수신기(175)로 전송된다. 인코딩된 정보를 수신하면, 단계(203)에서 프로세스는 디코더 디바이스(110)가 인코딩된 오브젝트 기반의 모델링 정보를 사용하여 원래의 비디오 데이터의 압축된 버전을 재생성하여 인코딩된 정보를 디코딩할 때 종료한다. 단계(203)는 도 6을 참조하여 추가로 설명될 것이다.2 is a flow diagram illustrating operation of the EA-FRUC system of FIG. 1A configured to use various motion models. First, in
도 3은 오브젝트 기반의 모델링 정보 및 디코더 정보를 사용하여 업샘플링하기 위해 비디오 데이터를 인코딩하는 것을 설명하는 흐름도이다. 먼저, 단계 301에서, 모델링 정보는 도 4를 참조하여 추가로 설명되는 것과 같이 비디오 프레임 내의 오브젝트들에 대하여 결정된다. 다음에, 단계 302에서, 인코딩된 비디오 데이터를 디코딩하도록 사용될 디코딩 시스템에서의 정보는 인코딩된 비디오를 업샘플링하기 위해 추가로 사용된다. 마지막으로, 단계 303에서, 인코딩된 비디오 비트스트림은 "스케일가능한 비디오 코딩에서 프레임 레이트 상향 변환 기술들을 사용하기 위한 방법 및 장치"라는 명칭의 미국 특허 공개공보 2006/0002465에서 논의되는 것과 같이 생성되며, 상기 특허는 본 명세서에서 참조로서 통합된다.3 is a flow diagram illustrating encoding video data for upsampling using object based modeling information and decoder information. First, in
도 4는 본 발명의 일 양상에 따라 비디오 프레임 내의 오브젝트들에 대한 모델링 정보를 결정하는 것을 설명하는 흐름도이다. 설명되는 양상에서, 이동하는 오브젝트들은 임의의 모션들 및 변형들을 경험하는 오브젝트들을 인식하는 것과 관련된 본 명세서의 특정 기술들을 사용하여 식별된다. 다른 양상들에서, 오브젝트들은 종래 기술에서 공지된 것과 같이 각각의 비디오 프레임에 하이브리드 비디오 압축 방식에 기초한 모션-보상된 예측 및 변환 코딩을 균일하게 적용함으로써 식별될 수 있다. 또한, 논의되는 양상에서, 오브젝트-기반의 아핀 모델 또는 로컬 GMC로 공통으로 지칭되는 아핀 모델들은 비디오 프레임의 일부분을 커버하기 위해 사용된다. 상기 경우에서, 인코더 디바이스(105)는 모션 내의 오브젝트들의 위치를 결정하기 위해 오브젝트 분할을 수행하며, 그후에 아핀 모델 자체와 오브젝트 서술자를 사용하여 아핀 모델 추정을 업데이트한다. 예를 들어, 이진 비트맵은 비디오 프레임 내의 서술된 오브젝트의 경계를 표시할 수 있다. 아핀 모델이 전체 비디오 프레임을 커버하는 양상들에서, 글로벌 움직임 보상(GMC)이 사용된다. GMC 경우들을 위해, 아핀 모델 모션에서 사용되는 6개 파라미터들은 프레임의 모션을 설명하기 위해 사용되며, 비트 스트림 내에 포함된 임의의 다른 모션 정보 없이 디코더 디바이스(110)로 전송된다. 또다른 양상들에서, 아핀 모델들과 다른 모션 모델들이 사용될 수 있다. 4 is a flow diagram illustrating determining modeling information for objects in a video frame in accordance with an aspect of the present invention. In the aspect described, moving objects are identified using specific techniques herein related to recognizing objects experiencing certain motions and deformations. In other aspects, objects may be identified by uniformly applying motion-compensated prediction and transform coding based on a hybrid video compression scheme to each video frame as is known in the art. Also in the aspects discussed, affine models commonly referred to as object-based affine models or local GMC are used to cover a portion of the video frame. In this case, the
먼저, 단계 401에서, 비디오 프레임은 블럭들로 분할된다. 특정 양상들에서, 블럭들은 고정된 크기와 형태를 갖는다. 다른 양상들에서, 프레임은 두드러지는 모션-변형 행동들, 영역들 내의 시간 변화 다이내믹들, 고유하게 식별할 수 있는 오브젝트들을 포함하는 인자들 중 하나 또는 조합에 기초하여 불균일한 크기 및/또는 불균일한 형태의 블럭들로 분할될 수 있다.First, in
다음에, 단계 402에서, 하나의 배경 오브젝트가 식별되고 제로 또는 그 이상의 전경 오브젝트들이 식별된다. 특정 양상들에서, 이미지 분할을 사용하여 식별이 실행될 수 있다. 이미지 분할은 임계화와 결합하여 밝기 및 컬러 값들과 같은 픽셀 도메인 특성들뿐만 아니라 영역-기반 방법들과 결합하여 상기 특성들의 특정 통계치들, 예컨대 평균, 분산, 표준 편차, 최소-최대, 중간값 및 다른 통계들을 분석하는 것을 포함한다. 다른 양상들에서, 식별은 Markov 랜덤 필드 또는 Fractals를 사용하여 실행될 수 있다. 다른 양상들에서, 식별은 기울기 이미지들 및 형태 모델들로의 Watershed 변환을 포함하는 에지/윤곽 검출을 사용하여 실행된다. 추가 양상들에서, 식별은 일반적으로 활성 윤곽 모델이라 지칭되는 접속-유지 완화-기반의 분할 방법들을 사용하여 실행될 수 있다. 다른 양상들에서, 식별은 모션 필드들과 같은 시간 정보를 사용하여 실행될 수 있다. 특정 양상들에서, 이미지 분할은 단일 기본 구조 내에서의 전술된 이미지 분할 접근 방식들 중 몇몇 또는 전부의 조합을 사용하여 발생할 수 있다.Next, in
특정 양상들에서, 오브젝트들은 국부 및 전역, 의미론적 및 통계학적(강도/텍스처) 그룹 규들(CUES)과 같은 그래프-기반의 기술들을 사용하여 식별될 수 있다. 추가 양상들에서, 전술된 오브젝트들의 식별은 창작-툴로부터 사용가능한 장면 구성 정보를 사용하여 실행될 수 있다. 특정 양상들에서, 배경 오브젝트 및 임의의 전경 오브젝트는 단일 기본구조 내에서의 전술된 식별 접근 방식들 중 몇몇 또는 전부의 조합을 사용하여 식별될 수 있다.In certain aspects, objects may be identified using graph-based techniques such as local and global, semantic and statistical (strength / texture) group rules (CUES). In further aspects, the identification of the above-described objects may be performed using scene composition information available from the creation-tool. In certain aspects, the background object and any foreground object may be identified using a combination of some or all of the aforementioned identification approaches within a single infrastructure.
그후에, 단계 403에서, 배경 오브젝트가 분류된다. 특정 양상들에서, 배경 오브젝트는 배경 오브젝트의 일 전송이 디코더 디바이스(110)에서의 향후 프레임 보간 및/도는 디코딩/재구성 작업들에 만족하는 스틸 이미지로 분류될 수 있다. 다른 양상들에서, 배경 오브젝트는 팬, 스크롤, 회전, 줌-인 또는 줌-아웃 모션과 같은 정체 모션을 경험하는 스틸(거의 고정적인) 이미지로 분류된다. 상기 경우에, 인코더 디바이스(105)는 글로벌 모션 모델의 설명과 결합하여 배경 이미지의 특정 샘플 상태들을 전송할 것을 적절히 선택한다. 전송은 디코더 디바이스(110)에서 프레임 보간 및/또는 디코딩/재구성 작업들에 대하여 만족할 수 있다. 추가 양상들에서, 배경 오브젝트의 분류는 전술된 2개의 클래스들 중 하나에 속하지 않을 수 있으며, 그 경우에 배경 이미지의 상태들의 잠정적으로 높은 밀도의 시간 샘플링은 디코더 디바이스(110)에서의 성공적인 프레임 보간 및/또는 디코딩/재구성을 지원하기 위해 인코더 디바이스(105)에 의해 전송될 수 있다. Then, in
다음에, 단계(404)에서, 비디오 데이터로부터 식별된 오브젝트들에 대한 모션 벡터 정보가 처리된다. 모센 벡터 정보는 "모션 벡터 처리를 위한 방법 및 장치"라는 명칭의 미국 특허 공개공보 2006/0018382에 개시된 시스템들 및 방법들을 사용하여 처리될 수 있고, 본 명세서에 참조로서 통합된다. 단계 405에서, 추정된 아핀 모델들은 이동하는 오브젝트들과 연관된다. 아핀 모델은 구분적인 평면 모션 벡터 필드 근사화의 수행시 최소한의 감소에 기초하여 추정될 수 있다. 각각의 식별된 이동하는 오브젝트와 연관된 각각의 아핀 모델은 도 5를 참조하여 하기에서 설명되는 것과 같이 모션 벡터 침식 정보를 사용하여 단계(406)에서 특정되고, 그후에 모션 기반의 오브젝트 분할을 사용하여 단계(407)에서 추가로 특정된다. 상 기 추가 특정들은 단계(408)에서 가각의 개별 아핀 모델을 업데이트하기 위해 사용되고, 결국 프로세스는 단계(409)에서 오브젝트 서술자가 아핀 모델들을 위해 생성될 때 종료한다.Next, in
도 5는 아피 모델들을 사용하여 비디오 프레임 내의 오브젝트들에 대한 모션 벡터 침식 정보를 결정하는 것을 설명하는 흐름도이다. 먼저, 단계 501에서, 인코더 디바이스(105)는 이동하는 오브젝트와 연관하기 위한 아핀 모델을 결정한다. 인코더 디바이스(105)는 그 후에 단계 502에서 비디오 프레임에 대한 오브젝트 맵의 제 1 마크로 블럭으로 진행하며, 단계 503에서, 오브젝트 맵의 각각의 마크로 블럭에 대하여 인코더 디바이스(105)는 결정 단계 504에서 마크로 블럭이 단계(501)로부터 결정된 아핀 모델이 정합하는지를 결정한다. 만약 마크로 블럭이 아핀 모델과 정합하지 않으면, 단계 505에서 정합하는 마크로 블럭을 사용하여 아핀 모델 기반의 오브젝트 맵이 업데이트된다. 인코더 디바이스(105)는 단계(503)로 복귀함으로써 단계(506)에서 다음 마크로 블럭으로 진행한다. 그러나 만약 마크로 블럭이 아핀 모델과 정합하지 않으면, 디코더 디바이스는 단계(503)로 복귀함으로써 단계(506)에서 다음 마크로 블럭으로 즉시 진행한다. 그렇지않으면, 프로세스는 종료한다.FIG. 5 is a flow diagram illustrating determining motion vector erosion information for objects in a video frame using api models. First, at
이동하는 모델을 사용하는 블럭 기반의 모션 보상이 디코더 디바이스들(디바이스들의 소프트웨어 또는 하드웨어 양상들)에서 광범위하게 전개되지만, EA-FRUC가 디코더 디바이스들 내에서 구현될 서로 다른 모션 모델들을 사용하기 위해, 인코더 디바이스(105)로부터의 모션 정보는 이동하는 블럭 기반의 모션 벡터 기본구 조 내에서 설명된다. 특정 양상들에서, 디코더 디바이스(110)의 이동하는 블럭 기반의 모션 기본구조 내의 서로 다른 모션 모델을 설명하는 프로세스는 더 큰 블럭 사이즈르 위한 모션 벡터를 생성하기 위해 더 작은 블럭 사이즈들의 블럭 모션 벡터들을 위해 재귀적으로 실행될 수 있다.While block-based motion compensation using a moving model is widely deployed in decoder devices (software or hardware aspects of devices), for EA-FRUC to use different motion models to be implemented within decoder devices, Motion information from the
비디오 비트 스트림 내에 인코딩된 모션 모델에서의 정보를 사용할 때, 디코더 디바이스(110)는 원래의 비디오 내의 오브젝트를 디스플레이하기 위해 사용된 다수의 픽셀들의 일부분을 사용하여 선택된 이동하는 오브젝트들에 대한 모션 벡터들을 생성한다. 특정 양상들에서, 선택된 픽셀들은 블럭 내에 균일하게 분포될 수 있다. 다른 양상들에서, 픽셀들은 블럭으로부터 랜덤하게 선택될 수 있다. When using the information in the motion model encoded in the video bit stream,
특정 양상들에서, 블럭들의 다수의 모션 벡터들은 그후에 블럭을 표시하는 단일 모션 벡터를 생성하도록 통합되고, 상기 모션 벡터는 추가로 전술된 것과 같은 벡터 평탄화와 같은 후속 처리가 수행될 수 있다. 다른 양상들에서, 선택된 픽셀 또는 오브젝트 모션 벡터는 관심 있는 블럭을 표시하는 모션 벡터를 생성하기 위해 모션 추정 모듈에 대한 시드(seed) 모션 벡터로서 사용될 수 있다. In certain aspects, multiple motion vectors of the blocks are then integrated to produce a single motion vector representing the block, which motion vector may further be subjected to subsequent processing such as vector planarization as described above. In other aspects, the selected pixel or object motion vector can be used as a seed motion vector for the motion estimation module to generate a motion vector indicative of the block of interest.
도 6은 본 발명의 특정 양상들에 따라 이동하는 모션 모델 기본구조 내의 모션 모델들을 디코딩하도록 구성된 디코더 디바이스를 사용하여 오브젝트 기반의 모델링 정보 및 디코더 정보를 사용하여 업샘플링된 인코딩된 비디오 데이터 비트스트림을 디코딩하는 것을 설명하는 흐름도이다.6 illustrates an upsampled encoded video data bitstream using object-based modeling information and decoder information using a decoder device configured to decode motion models within a moving motion model framework in accordance with certain aspects of the present invention. This is a flowchart illustrating decoding.
단계 601에서, 디코더 디바이스(110)는 2개의 기준 프레임들을 포함하는 비디오 비트스트림에 대하여 인코딩된 정보를 수신한다. 다음에, 결정 단계(602)에 서, 디코더 디바이스(110)는 비트 스트림이 인코더 개선된 보간 프레임을 포함하는지의 여부를 결정한다. 만약 인코더 개선된 보간 프레임이 포함되면, 단계(603)에서 디코더 디바이스는 보간된 프레임과 일시적으로 공용인(co-terminal) 비디오 프레임을 생성하기 위해 기준 프레임에 부가하여 다양한 모션 모델들과 관련된 인코더 개선된 정보를 포함하는 보간 프레임을 사용한다. 다시 말해서, 디코더 디바이스는 보간 프레임을 대신하는 비디오 프레임을 생성하기 위해 인코더 개선된 보간 프레임과 함께 그 연관된 기준 프레임을 사용한다. 그러나, 만약 단계(602)에서 디코더 디바이스(110)가 인코더 개선된 보간된 프레임 정보가 비트 스트림내에 포함되지 않는다고 결정하면, 단계(604)에서 디코더 디바이스(110)는 양방향 프레임(B-프레임)을 생성하기 위해 기준 프레임을 사용할 것이다.In
당업자는 정보 및 신호들이 임의의 다수의 상이한 기술들 및 테크닉들을 사용하여 표현될 수 있음을 인식할 것이다. 예를 들어, 상기 설명을 통해 참조될 수 있는 데이터, 지시들, 명령들, 정보, 신호들, 비트들, 심볼들 및 칩들은 전압들, 전류들, 전자기파들, 전자기장들, 또는 전자기 입자들, 광학계들 또는 광학 입자들, 또는 그들의 임의의 조합에 의해 표시될 수 있다. Those skilled in the art will appreciate that information and signals may be represented using any of a number of different technologies and techniques. For example, data, instructions, instructions, information, signals, bits, symbols, and chips that may be referenced throughout the description may include voltages, currents, electromagnetic waves, electromagnetic fields, or electromagnetic particles, By optical systems or optical particles, or any combination thereof.
당업자는 또한 본 명세서에 개시된 실시예들과 관련하여 설명된 논리적인 블럭들, 모듈들, 회로들, 및 알고리즘 단계들이 전자하드웨어, 컴퓨터 소프트웨어, 또는 그들의 조합으로서 실행될 수 있음을 인식할 것이다. 상기 하드웨어 및 소프트웨어의 상호교환가능성을 명백히 설명하기 위해, 다양한 요소들, 블럭들, 모듈들, 회로들, 및 단계들이 그들의 기능성에 관련하여 전술되었다. 상기 기능성이 하드웨어로 실행되는지 또는 소프트웨어로 실행되는지의 여부는 전체 시스템에 부과된 특정 애플리케이션 및 설계 제약에 따라 결정한다. 당업자는 각각의 특정 애플리케이션을 위해 다양한 방식들로 설명된 기능성을 실행할 수 있지만, 상기 실행 결정들은 본 발명의 영역으로부터 벗어나는 것으로 해석될 수 없다.Those skilled in the art will also recognize that the logical blocks, modules, circuits, and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or a combination thereof. To clearly illustrate the interchangeability of the hardware and software, various elements, blocks, modules, circuits, and steps have been described above with regard to their functionality. Whether the functionality is implemented in hardware or software is determined by the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
본 명세서에서 개시된 실시예와 관련하여 다양하게 설명되는 논리 블럭들, 모듈들, 및 회로들은 범용 프로세서, 디지털 신호 처리기(DSP), 응용 집적 회로(ASIC), 현장 프로그램가능한 게이트 어레이(FPGA), 또는 다른 프로그램가능한 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 요소들, 또는 본 명세서에 개시된 기능을 수행하도록 설계된 그들의 임의의 조합을 사용하여 실행되거나 수행될 수 있다. 범용 프로세서는 마이크로프로세서가 될 수 있지만, 선택적으로 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 기계가 될 수 있다. 프로세서는 또한 예를 들어, DSP 및 마이크로프로세서의 조합, 복수의 마이크로프로세서, DSP 코어와 결합된 하나 또는 그이상의 마이크로프로세서, 또는 임의의 다른 구성과 같은 컴퓨팅 장치들의 조합으로서 실행될 수 있다.The various logical blocks, modules, and circuits described in connection with the embodiments disclosed herein may be general purpose processors, digital signal processors (DSPs), application integrated circuits (ASICs), field programmable gate arrays (FPGAs), or It may be executed or performed using other programmable logic devices, discrete gate or transistor logic, discrete hardware elements, or any combination thereof designed to perform the functions disclosed herein. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, eg, a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other configuration.
본 명세서에 개시된 실시예와 관련하여 설명되는 방법 또는 알고리즘의 단계는 하드웨어에서, 프로세서에 의해 실행되는 소프트웨어 모듈에서, 또는 그들의 조합에서 즉시 구현될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 하드디스크, 제거가능한 디스크, CD-ROM 또는 임의의 다른 저장 매체 형태로 당업자에게 공지된다. 예시적인 저장 매체는 저장매체로부터 정보를 판독하고 정보를 기록할 수 있는 프로세서에 접속된다. 선택적으로, 저장 매체는 프로세서의 필수 구성요소이다. 프로세서 및 저장 매체는 ASIC 내에 상주할 수 있다. ASIC은 사용자 터미널 내에 상주할 수 있다. 선택적으로, 프로세서 및 저장 매체는 사용자 디바이스내에서 이산요소들로서 상주할 수 있다.The steps of a method or algorithm described in connection with the embodiments disclosed herein may be immediately implemented in hardware, in a software module executed by a processor, or in a combination thereof. Software modules are known to those skilled in the art in the form of RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, removable disk, CD-ROM or any other storage medium. Exemplary storage media are connected to a processor capable of reading information from and recording information from the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside within an ASIC. The ASIC can reside in a user terminal. In the alternative, the processor and the storage medium may reside as discrete components in a user device.
개시된 실시예의 전술된 설명은 당업자가 본 발명을 구현하고 이용하기에 용이하도록 하기 위하여 제공되었다. 이들 실시예에 대한 여러 가지 변형은 당업자에게 자명하며, 여기서 한정된 포괄적인 원리는 본 발명의 사용 없이도 다른 실시예에 적용될 수 있다. 따라서, 본 발명은 설명된 실시예에 한정되는 것이 아니며, 여기에 개시된 원리 및 신규한 특징에 나타낸 가장 넓은 범위에 따른다.The foregoing description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without the use of the present invention. Accordingly, the invention is not limited to the described embodiments but is to be accorded the widest scope indicated in the principles and novel features disclosed herein.
Claims (20)
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US72137505P | 2005-09-27 | 2005-09-27 | |
US72137605P | 2005-09-27 | 2005-09-27 | |
US60/721,375 | 2005-09-27 | ||
US60/721,376 | 2005-09-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080055965A true KR20080055965A (en) | 2008-06-19 |
KR100957322B1 KR100957322B1 (en) | 2010-05-12 |
Family
ID=37814085
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020087010199A KR100957322B1 (en) | 2005-09-27 | 2006-09-27 | Encoder assisted frame rate up conversion using various motion models |
Country Status (7)
Country | Link |
---|---|
US (1) | US9258519B2 (en) |
EP (1) | EP1941743A2 (en) |
JP (1) | JP2009510939A (en) |
KR (1) | KR100957322B1 (en) |
AR (1) | AR055184A1 (en) |
TW (1) | TW200737985A (en) |
WO (1) | WO2007038728A2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101436700B1 (en) * | 2011-12-22 | 2014-09-02 | 인텔 코포레이션 | Complexity scalable frame rate up-conversion |
Families Citing this family (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1779673A1 (en) * | 2004-07-15 | 2007-05-02 | Qualcomm Incorporated | H.264 spatial error concealment based on the intra-prediction direction |
US9532069B2 (en) | 2004-07-30 | 2016-12-27 | Euclid Discoveries, Llc | Video compression repository and model reuse |
US9578345B2 (en) | 2005-03-31 | 2017-02-21 | Euclid Discoveries, Llc | Model-based video encoding and decoding |
WO2010042486A1 (en) | 2008-10-07 | 2010-04-15 | Euclid Discoveries, Llc | Feature-based video compression |
US9743078B2 (en) | 2004-07-30 | 2017-08-22 | Euclid Discoveries, Llc | Standards-compliant model-based video encoding and decoding |
US8902971B2 (en) * | 2004-07-30 | 2014-12-02 | Euclid Discoveries, Llc | Video compression repository and model reuse |
US9055298B2 (en) * | 2005-07-15 | 2015-06-09 | Qualcomm Incorporated | Video encoding method enabling highly efficient partial decoding of H.264 and other transform coded information |
US20070076796A1 (en) * | 2005-09-27 | 2007-04-05 | Fang Shi | Frame interpolation using more accurate motion information |
US8670437B2 (en) * | 2005-09-27 | 2014-03-11 | Qualcomm Incorporated | Methods and apparatus for service acquisition |
US8229983B2 (en) * | 2005-09-27 | 2012-07-24 | Qualcomm Incorporated | Channel switch frame |
US9247260B1 (en) * | 2006-11-01 | 2016-01-26 | Opera Software Ireland Limited | Hybrid bitmap-mode encoding |
AU2007319261B2 (en) | 2006-11-14 | 2010-12-16 | Qualcomm Incorporated | Systems and methods for channel switching |
RU2009122503A (en) * | 2006-11-15 | 2010-12-20 | Квэлкомм Инкорпорейтед (US) | SYSTEMS AND METHODS FOR APPLICATIONS USING CHANNEL SWITCHING FRAMES |
US8605786B2 (en) * | 2007-09-04 | 2013-12-10 | The Regents Of The University Of California | Hierarchical motion vector processing method, software and devices |
US8767831B2 (en) * | 2007-10-31 | 2014-07-01 | Broadcom Corporation | Method and system for motion compensated picture rate up-conversion using information extracted from a compressed video stream |
US8514939B2 (en) * | 2007-10-31 | 2013-08-20 | Broadcom Corporation | Method and system for motion compensated picture rate up-conversion of digital video using picture boundary processing |
US8953685B2 (en) * | 2007-12-10 | 2015-02-10 | Qualcomm Incorporated | Resource-adaptive video interpolation or extrapolation with motion level analysis |
ES2386327T3 (en) * | 2008-08-21 | 2012-08-17 | Vestel Elektronik Sanayi Ve Ticaret A.S. | Method and apparatus for increasing the frame rate of a video signal |
KR101548269B1 (en) * | 2008-12-02 | 2015-08-31 | 삼성전자주식회사 | Apparatus and method for estimating motion by block segmentation and combination |
US20100178038A1 (en) * | 2009-01-12 | 2010-07-15 | Mediatek Inc. | Video player |
KR101611437B1 (en) * | 2009-10-28 | 2016-04-26 | 삼성전자주식회사 | Method and apparatus for encoding/decoding image by referencing to a plurality of frames |
US9807424B2 (en) | 2011-01-10 | 2017-10-31 | Qualcomm Incorporated | Adaptive selection of region size for identification of samples in a transition zone for overlapped block motion compensation |
EP2792143A4 (en) * | 2011-12-12 | 2015-12-02 | Intel Corp | Capturing multiple video channels for video analytics and encoding |
US9819965B2 (en) * | 2012-11-13 | 2017-11-14 | Intel Corporation | Content adaptive transform coding for next generation video |
CN104737542B (en) | 2013-01-30 | 2018-09-25 | 英特尔公司 | Content-adaptive entropy coding for next-generation video |
US9177245B2 (en) | 2013-02-08 | 2015-11-03 | Qualcomm Technologies Inc. | Spiking network apparatus and method with bimodal spike-timing dependent plasticity |
EP3591980A1 (en) * | 2013-10-11 | 2020-01-08 | SONY Corporation | Reception device and reception method of video streams with changing frame rates |
US9813730B2 (en) * | 2013-12-06 | 2017-11-07 | Mediatek Inc. | Method and apparatus for fine-grained motion boundary processing |
US9438908B1 (en) * | 2014-02-25 | 2016-09-06 | Pixelworks, Inc. | Motion vector interpolation based on true motion and layer information |
US10091507B2 (en) | 2014-03-10 | 2018-10-02 | Euclid Discoveries, Llc | Perceptual optimization for model-based video encoding |
US10097851B2 (en) | 2014-03-10 | 2018-10-09 | Euclid Discoveries, Llc | Perceptual optimization for model-based video encoding |
US9621917B2 (en) | 2014-03-10 | 2017-04-11 | Euclid Discoveries, Llc | Continuous block tracking for temporal prediction in video encoding |
US10194163B2 (en) * | 2014-05-22 | 2019-01-29 | Brain Corporation | Apparatus and methods for real time estimation of differential motion in live video |
US9939253B2 (en) | 2014-05-22 | 2018-04-10 | Brain Corporation | Apparatus and methods for distance estimation using multiple image sensors |
US9713982B2 (en) | 2014-05-22 | 2017-07-25 | Brain Corporation | Apparatus and methods for robotic operation using video imagery |
US9848112B2 (en) | 2014-07-01 | 2017-12-19 | Brain Corporation | Optical detection apparatus and methods |
US10057593B2 (en) | 2014-07-08 | 2018-08-21 | Brain Corporation | Apparatus and methods for distance estimation using stereo imagery |
US10055850B2 (en) | 2014-09-19 | 2018-08-21 | Brain Corporation | Salient features tracking apparatus and methods using visual initialization |
CN107809642B (en) | 2015-02-16 | 2020-06-16 | 华为技术有限公司 | Method for encoding and decoding video image, encoding device and decoding device |
US10197664B2 (en) | 2015-07-20 | 2019-02-05 | Brain Corporation | Apparatus and methods for detection of objects using broadband signals |
US10742954B2 (en) * | 2015-07-31 | 2020-08-11 | Versitech Limited | Multi-overlay variable support and order kernel-based representation for image deformation and view synthesis |
CN109274974B (en) | 2015-09-29 | 2022-02-11 | 华为技术有限公司 | Image prediction method and device |
US20170359575A1 (en) * | 2016-06-09 | 2017-12-14 | Apple Inc. | Non-Uniform Digital Image Fidelity and Video Coding |
CN106210767B (en) * | 2016-08-11 | 2020-01-07 | 上海交通大学 | Video frame rate up-conversion method and system for intelligently improving motion fluency |
US10354394B2 (en) | 2016-09-16 | 2019-07-16 | Dolby Laboratories Licensing Corporation | Dynamic adjustment of frame rate conversion settings |
US10778999B2 (en) * | 2016-09-30 | 2020-09-15 | Qualcomm Incorporated | Frame rate up-conversion coding mode with affine motion model |
US10412462B2 (en) * | 2016-11-08 | 2019-09-10 | Ati Technologies Ulc | Video frame rate conversion using streamed metadata |
US10999602B2 (en) | 2016-12-23 | 2021-05-04 | Apple Inc. | Sphere projected motion estimation/compensation and mode decision |
US11259046B2 (en) | 2017-02-15 | 2022-02-22 | Apple Inc. | Processing of equirectangular object data to compensate for distortion by spherical projections |
US10924747B2 (en) | 2017-02-27 | 2021-02-16 | Apple Inc. | Video coding techniques for multi-view video |
US10553091B2 (en) | 2017-03-31 | 2020-02-04 | Qualcomm Incorporated | Methods and systems for shape adaptation for merged objects in video analytics |
US11093752B2 (en) | 2017-06-02 | 2021-08-17 | Apple Inc. | Object tracking in multi-view video |
US10754242B2 (en) | 2017-06-30 | 2020-08-25 | Apple Inc. | Adaptive resolution and projection format in multi-direction video |
US10977809B2 (en) * | 2017-12-11 | 2021-04-13 | Dolby Laboratories Licensing Corporation | Detecting motion dragging artifacts for dynamic adjustment of frame rate conversion settings |
US10728542B2 (en) * | 2018-04-09 | 2020-07-28 | Tencent America LLC | Methods and apparatuses for sub-block motion vector prediction |
KR20220026426A (en) * | 2020-08-25 | 2022-03-04 | 삼성전자주식회사 | Method and apparatus for video quality improvement |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3679426B2 (en) * | 1993-03-15 | 2005-08-03 | マサチューセッツ・インスティチュート・オブ・テクノロジー | A system that encodes image data into multiple layers, each representing a coherent region of motion, and motion parameters associated with the layers. |
JPH08149479A (en) * | 1994-11-24 | 1996-06-07 | Matsushita Electric Ind Co Ltd | Extremely low bit rate video encoding method |
JP3781194B2 (en) * | 1995-10-20 | 2006-05-31 | ノキア コーポレイション | Motion vector field coding |
KR100582856B1 (en) * | 1997-09-23 | 2006-05-24 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | Motion estimation and motion-compensated interpolation |
US6553069B1 (en) * | 1999-06-17 | 2003-04-22 | Samsung Electronics Co., Ltd. | Digital image segmenting method and device |
US6618439B1 (en) * | 1999-07-06 | 2003-09-09 | Industrial Technology Research Institute | Fast motion-compensated video frame interpolator |
CN1193620C (en) * | 2000-01-21 | 2005-03-16 | 诺基亚有限公司 | Motion estimation method and system for video coder |
EP1376471A1 (en) * | 2002-06-19 | 2004-01-02 | STMicroelectronics S.r.l. | Motion estimation for stabilization of an image sequence |
US7095786B1 (en) * | 2003-01-11 | 2006-08-22 | Neo Magic Corp. | Object tracking using adaptive block-size matching along object boundary and frame-skipping when object motion is low |
US7558320B2 (en) * | 2003-06-13 | 2009-07-07 | Microsoft Corporation | Quality control in frame interpolation with motion analysis |
KR100580628B1 (en) * | 2003-11-08 | 2006-05-16 | 삼성전자주식회사 | A heading direction estimation method and system for a mobile body |
WO2006007527A2 (en) * | 2004-07-01 | 2006-01-19 | Qualcomm Incorporated | Method and apparatus for using frame rate up conversion techniques in scalable video coding |
EP2194720A1 (en) * | 2004-07-20 | 2010-06-09 | Qualcom Incorporated | Method and apparatus for encoder assisted-frame rate up conversion (EA-FRUC) for video compression |
-
2006
- 2006-09-25 US US11/527,304 patent/US9258519B2/en active Active
- 2006-09-27 JP JP2008533643A patent/JP2009510939A/en active Pending
- 2006-09-27 WO PCT/US2006/037997 patent/WO2007038728A2/en active Application Filing
- 2006-09-27 AR ARP060104244A patent/AR055184A1/en not_active Application Discontinuation
- 2006-09-27 EP EP06815758A patent/EP1941743A2/en not_active Withdrawn
- 2006-09-27 TW TW095135798A patent/TW200737985A/en unknown
- 2006-09-27 KR KR1020087010199A patent/KR100957322B1/en not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101436700B1 (en) * | 2011-12-22 | 2014-09-02 | 인텔 코포레이션 | Complexity scalable frame rate up-conversion |
Also Published As
Publication number | Publication date |
---|---|
JP2009510939A (en) | 2009-03-12 |
WO2007038728A3 (en) | 2007-05-31 |
US20070071100A1 (en) | 2007-03-29 |
WO2007038728A2 (en) | 2007-04-05 |
KR100957322B1 (en) | 2010-05-12 |
AR055184A1 (en) | 2007-08-08 |
EP1941743A2 (en) | 2008-07-09 |
TW200737985A (en) | 2007-10-01 |
US9258519B2 (en) | 2016-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100957322B1 (en) | Encoder assisted frame rate up conversion using various motion models | |
US10944966B2 (en) | Method for determining predictor blocks for a spatially scalable video codec | |
US9414086B2 (en) | Partial frame utilization in video codecs | |
US8433184B2 (en) | Method for decoding image block | |
US7733963B2 (en) | Method for encoding and decoding video signal | |
RU2377737C2 (en) | Method and apparatus for encoder assisted frame rate up conversion (ea-fruc) for video compression | |
US8290058B2 (en) | Method and device for coding and decoding | |
US20150312575A1 (en) | Advanced video coding method, system, apparatus, and storage medium | |
US20060062299A1 (en) | Method and device for encoding/decoding video signals using temporal and spatial correlations between macroblocks | |
KR100790178B1 (en) | Method for converting frame rate of moving picturer | |
KR101482896B1 (en) | Optimized deblocking filters | |
US11743475B2 (en) | Advanced video coding method, system, apparatus, and storage medium | |
JP2002514866A (en) | Method and apparatus for increasing video frame rate | |
KR20060105409A (en) | Method for scalably encoding and decoding video signal | |
WO2007115325A2 (en) | Apparatus and method of enhanced frame interpolation in video compression | |
US20060062298A1 (en) | Method for encoding and decoding video signals | |
CN107646194B (en) | Apparatus and method for video motion compensation | |
CN101313582A (en) | Encoder assisted frame rate up conversion using various motion models | |
US10432946B2 (en) | De-juddering techniques for coded video | |
Segall et al. | Super-resolution from compressed video | |
KR20120004874A (en) | Apparatus and method for upconverting frame rates of decoded video frames | |
US11647228B2 (en) | Method and apparatus for encoding and decoding video signal using transform domain prediction for prediction unit partition | |
Nakagawa et al. | Dynamic resolution conversion method for low bit rate video transmission | |
Kim et al. | Exploiting pseudo-quadtree structure for accelerating HEVC spatial resolution downscaling transcoder | |
JP2005323252A (en) | Image encoding device and image decoding device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |