KR20080056248A - 더 정확한 모션 정보를 이용한 프레임 보간 - Google Patents

더 정확한 모션 정보를 이용한 프레임 보간 Download PDF

Info

Publication number
KR20080056248A
KR20080056248A KR1020087010186A KR20087010186A KR20080056248A KR 20080056248 A KR20080056248 A KR 20080056248A KR 1020087010186 A KR1020087010186 A KR 1020087010186A KR 20087010186 A KR20087010186 A KR 20087010186A KR 20080056248 A KR20080056248 A KR 20080056248A
Authority
KR
South Korea
Prior art keywords
motion
motion information
video frame
skipped
information
Prior art date
Application number
KR1020087010186A
Other languages
English (en)
Other versions
KR100953553B1 (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 KR20080056248A publication Critical patent/KR20080056248A/ko
Application granted granted Critical
Publication of KR100953553B1 publication Critical patent/KR100953553B1/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/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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • 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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/527Global motion vector estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • 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/587Methods 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Systems (AREA)

Abstract

일반적으로, 본 개시는 스킵된 비디오 프레임들의 보다 정확한 보간을 용이하게 하는 인코딩 및 디코딩 기술을 설명한다. 특히, 스킵된 비디오 프레임들을 보간하기 위해 병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 비디오 프레임에 대한 모션을 지시하는 모션 정보를 얻고 모션 정보를 적용하여 스킵된 비디오 프레임들을 보간하는 기술이 설명된다. 모션 정보는 종래의 2 파라미터 병진 모션 벡터 모델에 반해, 예를 들어 3개 이상의 모션 파라미터를 모델화하는 모션 모델을 기초로 모션을 지시할 수도 있다. 더 정확한 모션 정보는 보간을 수행하는 디코더 내에서 생성될 수도 있고 하나 이상의 프레임으로 인코더에 의해 전송될 수도 있다. 어떤 방법이든, 상기 기술은 보간된 프레임에서 인위적 영상의 양을 줄일 수 있다.

Description

더 정확한 모션 정보를 이용한 프레임 보간{FRAME INTERPOLATION USING MORE ACCURATE MOTION INFORMATION}
본 출원은 2005년 9월 27일자 제출된 미국 예비 출원 60/721,346호의 이익을 청구하며, 그 전체 내용이 본원에 참조로 통합된다.
본 개시는 디지털 멀티미디어 인코딩 및 디코딩에 관한 것으로, 보다 구체적으로는 멀티미디어 애플리케이션에 대한 스킵된 프레임들을 보간하는 기술에 관한 것이다.
코딩 디지털 멀티미디어 시퀀스들에 대해 다수의 서로 다른 비디오 인코딩 표준이 확립되었다. 동영상 전문가 그룹(MPEG)은 예를 들어 MPEG-1, MPEG-2 및 MPEG-4를 포함하는 다수의 표준을 개발하였다. 다른 예들은 국제 통신 협회(ITU) H.263 표준, 및 "고급 오디오 코딩(Advanced Audio Coding)"이라는 명칭으로 MPEG-4 파트 10에도 공표되어 있는 신생 ITU H.264 표준을 포함한다. 이러한 비디오 코딩 표준들은 일반적으로 압축 방식으로 데이터를 코딩함으로써 멀티미디어 시퀀스들의 개선된 전송 효율을 지원한다. 압축은 멀티미디어 프레임들의 효율적인 전송을 위해 전송될 필요가 있는 전체 데이터량을 줄인다. 비디오 코딩은 유선 및 무선 전송 매체를 통해 비디오 스트리밍, 비디오 캠코더, 영상 통화(VT) 및 비디오 방송 애플리케이션을 포함하는 여러 상황에서 사용된다.
MPEG-4, ITU H.263 및 ITU H.264 표준은 예를 들어 시간적 또는 프레임간 상관으로 지칭되는 연속한 멀티미디어 프레임들 간의 유사성을 이용하여 프레임간 압축을 제공하는 비디오 코딩 기술을 지원한다. 프레임간 압축 기술은 멀티미디어 프레임들의 픽셀 기반 표현을 모션 표현으로 변환함으로써 프레임들에 걸친 데이터 리던던시를 활용한다. 프레임간 기술을 이용하여 인코딩된 프레임들은 예측("P") 프레임 또는 양방향("B") 프레임으로 지칭된다. 인트라("I") 프레임으로 지칭되는 어떤 프레임들은 공간 압축을 이용하여 인코딩되며, 이는 예측성이 없다. 또한, 어떤 프레임들은 인트라- 및 인터-코딩된 블록의 조합을 포함한다.
낮은 대역폭 요건을 충족시키기 위해, 영상 통화나 비디오 스트리밍과 같은 일부 멀티미디어 애플리케이션들은 프레임 스킵을 이용하여 더 낮은 프레임 레이트로 비디오를 코딩함으로써 비트 레이트를 감소시킨다. 스킵된 프레임은 "S" 프레임으로 지칭될 수 있다. 공교롭게도, 낮은 프레임 레이트의 비디오는 부자연스러운 움직임의 형태로 가공물을 생성할 수 있다. 따라서 디코더에서 프레임 레이트 상향 변환(FRUC)과 같은 프레임 보간이 사용되어 스킵된 프레임들의 내용을 보간한다.
다양한 FRUC 기술이 개발되었고, 두 개의 카테고리로 나누어질 수 있다. 첫 번째 FRUC 카테고리는 프레임 반복(FR) 및 프레임 평균(FA)을 포함하며, 이들 모두 모션을 고려하지 않고 비디오 프레임들의 조합을 이용한다. 이러한 알고리즘들은 모션 없이 받아들일 수 있는 결과를 제공한다. 그러나 상당한 프레임간 모션이 있 을 때 FR은 부자연스러운 움직임을 유발하는 경향이 있는 한편, FA는 객체의 블러링(blurring)을 유발한다. 두 번째 FRUC 카테고리는 모션을 이용하는 진보한 변환 기술에 의존한다. 이 카테고리에서, 보간된 프레임의 품질은 추정된 모션과 실제 객체의 모션 간의 차이에 좌우된다.
일반적으로, 본 개시는 스킵된 비디오 프레임들의 보다 정확한 보간을 용이하게 하는 비디오 인코딩 및 디코딩 기술을 설명한다. 특히, 스킵된 비디오 프레임들을 보간하기 위해 병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 비디오 프레임에 대한 모션을 지시하는 모션 정보를 적용하는 기술이 설명된다. 모션 정보는 종래의 2 파라미터 병진 모션 벡터 모델에 반해, 예를 들어 3개 이상의 모션 파라미터에 기반한 모션 모델을 기초로 모션을 지시할 수도 있다. 상당수의 모션 파라미터를 모델화하는 모션 정보의 이용은 디코더가 스킵된 프레임들을 더 정확히 보간하게 함으로써, 보간된 비디오 정보에서 인위적 영상을 감소시키고 더 효율적인 FRUC 프로세스를 지원한다.
종래의 비디오 디코더에서, 디코더는 병진 모션만을 기초로 스킵된 프레임에 대한 모션을 지시하는 모션 정보를 얻고, 병진 모션 벡터들을 적용하여 스킵된 프레임을 보간한다. 그러나 스킵된 프레임에 대한 모션 벡터는 통상적으로 스킵된 프레임에 인접한 비디오 프레임의 모션 벡터들로부터 얻어지고, 따라서 보간된 프레임에 다양한 가공물을 발생시킬 수 있다. 더욱이, 모션 벡터들은 병진 모션 정보만을 제공하여, 병진 모션 이외의 카메라 모션으로 인해 보간된 프레임에 다른 다양한 가공물을 발생시킨다.
그러나 본 개시의 기술에 따라 프레임 보간을 수행하는 디코더는 더 정확한 모션 정보를 적용하여 스킵된 비디오 프레임들을 보간함으로써 보간된 프레임에서 인위적 영상의 양을 감소시킬 수 있다. 특히, 일부 실시예들에서 디코더는 병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 비디오 프레임에 대한 모션을 지시하는 모션 정보를 얻고, 스킵된 비디오 프레임을 보간하기 위해 모션 정보를 적용한다.
일 실시예에서, 디지털 비디오 데이터를 처리하는 방법은 병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 비디오 프레임에 대한 모션을 지시하는 모션 정보를 얻는 단계, 및 상기 스킵된 비디오 프레임을 보간하기 위해 상기 모션 정보를 적용하는 단계를 포함한다.
다른 실시예에서, 디지털 비디오 데이터를 처리하는 장치는 병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 비디오 프레임에 대한 모션을 지시하는 모션 정보를 얻고, 상기 스킵된 비디오 프레임을 보간하기 위해 상기 모션 정보를 적용하는 보간 모듈을 포함한다.
다른 실시예에서, 디지털 비디오 데이터를 처리하는 프로세서는 병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 비디오 프레임에 대한 모션을 지시하는 모션 정보를 얻고, 상기 스킵된 비디오 프레임을 보간하기 위해 상기 모션 정보를 적용하도록 구성된다.
다른 실시예에서, 디지털 비디오 데이터를 처리하는 디바이스는 병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 비디오 프레임에 대한 모션을 지시하는 모션 정보를 얻고, 상기 스킵된 비디오 프레임을 보간하기 위해 상기 모션 정보를 적용하도록 구성된 프로세서를 포함한다.
추가 실시예에서, 디지털 비디오 데이터를 처리하는 장치는 병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 비디오 프레임에 대한 모션을 지시하는 모션 정보를 얻는 수단, 및 상기 모션 정보를 적용함으로써 상기 스킵된 비디오 프레임을 보간하는 수단을 포함한다.
다른 실시예에서, 기계 판독 가능 매체는 실행시 기계로 하여금 병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 비디오 프레임에 대한 모션을 지시하는 모션 정보를 얻게 하고, 상기 스킵된 비디오 프레임을 보간하기 위해 상기 모션 정보를 적용하게 하는 명령들을 포함한다.
또 다른 실시예에서, 비디오 인코딩 방법은 병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 비디오 프레임에 대한 모션을 지시하는 모션 정보를 생성하는 단계, 및 적어도 하나의 비디오 프레임 내에 상기 모션 정보를 인코딩하는 단계를 포함한다.
다른 실시예에서, 디지털 비디오 데이터를 인코딩하는 장치는 스킵된 비디오 프레임을 분석하여, 병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 상기 스킵된 비디오 프레임에 대한 모션을 지시하는 모션 정보를 생성하는 분석 모듈, 및 적어도 하나의 비디오 프레임 내에 상기 모션 정보를 인코딩하는 어셈블리 모듈을 포함한다.
추가 실시예에서, 디지털 비디오 데이터를 인코딩하는 장치는 병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 비디오 프레임에 대한 모션을 지시하는 모션 정보를 생성하는 수단, 및 적어도 하나의 비디오 프레임 내에 상기 모션 정보를 인코딩하는 프레임들을 어셈블리하는 수단을 포함한다.
다른 실시예에서, 디지털 비디오 데이터를 인코딩하는 프로세서는 병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 비디오 프레임에 대한 모션을 지시하는 모션 정보를 생성하고, 적어도 하나의 비디오 프레임 내에 상기 모션 정보를 인코딩하도록 구성된다.
다른 실시예에서, 기계 판독 가능 매체는 실행시 기계로 하여금 병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 비디오 프레임에 대한 모션을 지시하는 모션 정보를 생성하게 하고, 적어도 하나의 비디오 프레임 내에 상기 모션 정보를 인코딩하게 하는 명령들을 포함한다.
본 개시에서 설명하는 기술들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수 있다. 소프트웨어에 구현된다면, 상기 기술들은 실행시 본원에서 설명하는 방법들 중 하나 이상을 수행하는 명령들을 포함하는 프로그램 코드를 포함하는 기계 판독 가능 매체에 의해 부분적으로 실현될 수 있다. 본 개시에서 설명하는 기술들은 처리 회로에 구현될 수도 있으며, 이는 무선 통신 장치(WCD) 또는 다른 디바이스에 통합하기에 적당한 칩 또는 칩셋에 의해 구현될 수 있다. 일부 실시예에서, 개시는 이러한 회로에 통합하는 디바이스에 관련된다.
하나 이상의 실시예의 상세는 하기의 첨부 도면 및 설명에서 언급된다. 본 개시의 다른 특징, 과제 및 이점은 설명 및 도면으로부터, 그리고 청구범위로부터 명백해질 것이다.
도 1은 스킵된 비디오 프레임들을 보간하기 위해 병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 비디오 프레임들에 대한 모션을 지시하는 모션 정보를 적용하도록 구성된 비디오 인코딩 및 디코딩 시스템을 설명하는 블록도이다.
도 2는 비디오 디코더에 사용하기 위한 예시적인 보간 디코더 모듈을 설명하는 블록도이다.
도 3은 비디오 디코더에 사용하기 위한 다른 예시적인 보간 디코더 모듈을 설명하는 블록도이다.
도 4는 비디오 인코더에 사용하기 위한 프레임 처리 모듈을 설명하는 블록도이다.
도 5는 병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 비디오 프레임들에 대한 모션을 지시하는 모션 정보를 이용하여 스킵된 비디오 프레임을 보간하는 디코더의 예시적인 동작을 설명하는 흐름도이다.
도 6은 어파인 모션 모델을 기초로 스킵된 프레임의 일부에 대한 모션 정보를 생성하는 인코더의 예시적인 동작을 설명하는 흐름도이다.
도 7은 병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 프레임에 대한 모션을 지시하는 모션 정보를 병진 모션만을 기초로 하는 모션 정보로 변환하는 디코더의 예시적인 동작을 설명하는 흐름도이다.
도 8은 스킵된 비디오 프레임들을 보간하기 위해 병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 비디오 프레임들에 대한 모션을 지시하는 모션 정보를 적용하도록 구성된 비디오 인코딩 및 디코딩 시스템을 설명하는 블록도이다.
본 개시는 스킵된("S") 비디오 프레임들의 보다 정확한 보간을 용이하게 하는 인코딩 및 디코딩 기술을 설명한다. 특히, 스킵된 비디오 프레임들을 보간하기 위해 병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 비디오 프레임에 대한 모션을 지시하는 모션 정보를 적용하는 기술이 설명된다. 모션 정보는 종래의 2 파라미터 병진 모션 벡터 모델에 반해, 예를 들어 3개 이상의 모션 파라미터에 기반한 모션 모델을 기초로 모션을 지시할 수도 있다. 상당수의 모션 파라미터를 모델화하는 모션 정보의 이용은 디코더가 스킵된 프레임들을 더 정확히 보간하게 함으로써, 보간된 비디오 정보에서 인위적 영상을 감소시킨다.
종래의 디코더에서, 디코더는 병진 모션만을 기초로 스킵된 프레임에 대한 모션을 지시하는 모션 정보를 얻고, 병진 모션 벡터들을 적용하여 스킵된 프레임을 보간한다. 그러나 스킵된 프레임에 대한 모션 벡터는 통상적으로 스킵된 프레임에 인접한 비디오 프레임의 모션 벡터들로부터 얻어지고, 따라서 보간된 프레임에 다양한 가공물을 발생시킬 수 있다. 더욱이, 모션 벡터들은 병진 모션 정보만을 제공하여, 병진 모션 이외의 카메라 모션으로 인해 보간된 프레임에 다른 다양한 가 공물을 발생시킨다.
그러나 본 개시의 기술에 따라 프레임 보간을 수행하는 디코더는 더 정확한 모션 정보를 적용하여 스킵된 비디오 프레임들을 보간함으로써 보간된 프레임에서 인위적 영상의 양을 감소시킬 수 있다. 특히, 디코더는 병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 비디오 프레임에 대한 모션을 지시하는 모션 정보를 얻고, 스킵된 비디오 프레임을 보간하기 위해 모션 정보를 적용한다.
디코더는 하나 이상의 인접한 비디오 프레임과 관련된 모션 정보를 이용하여 스킵된 비디오 프레임에 대한 더 정확한 모션 정보를 생성할 수 있다. 대안으로, 디코더는 하나 이상의 전송된 비디오 프레임으로 모션 정보를 구현하는 인코더로부터 스킵된 비디오 프레임에 대한 더 정확한 모션 정보를 수신할 수도 있다. 이런 식으로, 인코더는 스킵된 비디오 프레임들과 관련된 모션 정보를 전송하여 스킵된 비디오 프레임들의 보간시 디코더를 보조한다. 다른 경우에, 디코더는 병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 비디오 프레임에 대한 모션을 지시하는 모션 정보를 적용함으로써 스킵된 프레임을 더 정확하게 보간한다.
일 실시예에서, 인코더와 디코더 모두 어파인(affine) 모션 모델에 기반한 모션 모델과 같이, 병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 프레임에 대한 모션을 지시하는 모션 정보의 사용을 지원하도록 구성될 수 있다. 이 경우, 인코더는 어파인 모델을 기초로 모션 정보를 생성하고 모션 정보를 디코더로 전송하여 스킵된 프레임의 보간시 디코더를 보조한다. 인코더는 하나 이상의 인코딩된 프레임 내에서, 예를 들어 스킵된 프레임이 선행하거나 이어지는 P 프레임 내에서, 또는 스킵된 프레임 모션 정보에 전용되고 인코딩된 프레임들과 관계없이 전송되는 비디오 프레임 내에서 스킵된 프레임에 대한 모션 정보를 전송할 수 있다.
다른 실시예에서, 인코더는 병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 프레임에 대한 모션을 지시하는 모션 정보를 생성하도록 구성된다. 그러나 디코더는 이러한 정보를 사용하도록 구성되지 않을 수도 있다. 이 경우, 인코더는 병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 프레임에 대한 모션 정보를 생성하여 전송한다. 디코더는 수신된 모션 정보를 병진 모션만을 기초로 모션을 지시하는 모션 벡터들로 변환하고, 병진 모션 벡터들을 사용하여 스킵된 비디오 프레임을 보간한다.
또 실시예에서, 디코더만이 병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 프레임에 대한 모션을 지시하는 모션 정보를 사용하도록 구성된다. 따라서 디코더는 병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 프레임에 대한 모션을 지시하는 모션 정보를 인코더로부터 수신하지 않는다. 대신, 디코더는 스킵된 비디오 프레임에 인접한 하나 이상의 비디오 프레임들과 관련된 모션 정보로부터 병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 프레임에 대한 모션을 지시하는 모션 정보를 생성한다.
도 1은 스킵된 비디오 프레임들을 보간하기 위해 병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 비디오 프레임들에 대한 모션을 지시하는 모션 정보를 적용하도록 구성된 비디오 인코딩 및 디코딩 시스템(10)을 설명하는 블록도이다. 도 1에 나타낸 것과 같이, 시스템(10)은 송신 채널(15)에 의해 접속된 비디오 인코더(12) 및 비디오 디코더(14)를 포함한다. 비디오 시퀀스와 같이 인코딩된 멀티미디어 시퀀스들은 통신 채널(15)을 통해 비디오 인코더(12)에서 비디오 디코더(14)로 전송될 수 있다. 송신 채널(15)은 유선 매체일 수도 있고 무선 매체일 수도 있다. 결국, 비디오 인코더(12) 및 비디오 디코더(14)는 (도시하지 않은) 수신기 및 송신기를 포함하여 이러한 통신을 용이하게 할 수 있다. 시스템(10)은 예를 들어 영상 통화를 위해 양방향 비디오 송신을 지원할 수도 있다. 상호 인코딩, 디코딩, 멀티플렉싱(MUX) 및 디멀티플렉싱(DEMUX) 컴포넌트들이 송신 채널(15)의 양단에 제공될 수 있다. 일부 실시예에서, 비디오 인코더(12) 및 비디오 디코더(14)는 비디오 스트리밍, 영상 통화, 또는 이 둘 다를 위해 구비된 무선 통신 장치와 같은 비디오 통신 장치 내에 구현될 수 있다.
시스템(10)은 세션 초기화 프로토콜(SIP), ITU H.323 표준, ITU H.324 표준 또는 다른 표준들에 따라 영상 통화를 지원할 수 있다. 비디오 인코더(12)는 MPEG-2, MPEG-4, ITU H.263, 또는 "고급 오디오 코딩"이라는 명칭으로 MPEG-4 파트 10에도 공표되어 있는 ITU H.264와 같은 비디오 압축 표준에 따라 인코딩된 비디오 데이터를 생성한다. 도 1에 도시되진 않았지만, 비디오 인코더(12) 및 비디오 디코더(14)는 오디오 인코더 및 디코더와 각각 통합될 수도 있고, 데이터 스트림의 오디오 및 비디오부를 취급하는 적절한 MUX-DEMUX 모듈들을 포함할 수도 있다. MUX-DEMUX 모듈들은 ITU H.223 멀티플렉서 프로토콜, 또는 사용자 데이터그램 프로토콜(UDP)과 같은 다른 프로토콜들을 따를 수도 있다. 대안으로, 시스템(10)은 SIP 프로토콜을 이용할 수도 있다.
비디오 인코더(12) 및 비디오 디코더(14)는 하나 이상의 프로세서, 디지털 신호 프로세서, 주문형 집적 회로(ASIC), 현장 프로그래밍 가능 게이트 어레이(FPGA), 이산 로직, 소프트웨어, 하드웨어, 펌웨어 또는 이들의 조합으로서 구현될 수도 있다. 비디오 인코더(12) 및 비디오 디코더(14)의 예시된 컴포넌트들은 하나 이상의 인코더 또는 디코더에 포함될 수도 있고, 이들 중 하나는 인코더/디코더(CODEC)의 일부로서 통합될 수도 있다.
인코더(12)는 프레임 스킵을 이용하여 감소한 프레임 레이트로 비디오 정보를 인코딩한다. 더 구체적으로, 인코더(12)는 다수의 비디오 프레임을 인코딩하여 디코더(14)로 전송한다. 다수의 비디오 프레임은 하나 이상의 인트라("I") 프레임, 예측("P") 프레임 또는 양방향("B") 프레임을 포함할 수 있다. 비디오 인코더(12)는 도 1에서 P 프레임(16)을 생성하여 전송하는 것으로 예시되지만, 인코더(12)는 P 프레임뿐만 아니라 하나 이상의 I 프레임 및 B 프레임도 추가로 생성하여 전송할 수 있다. P 프레임(16)은 비디오 디코더(14)가 비디오 정보의 프레임을 디코딩하여 제시하기에 충분한 정보를 포함하는 예측 프레임이다. 특히, 하나 이상의 모션 벡터 및 양자화된 예측 에러가 P 프레임(16)에 대해 인코딩된다. 감소한 프레임 레이트로 비디오 정보를 인코딩하기 위해, 인코더(12)는 송신 채널에 걸쳐 대역폭 변환을 위해 인코딩된 전체 정보량을 감소시키도록 설계된 프레임 스킵 함수에 따라 (스킵된 프레임 또는 S 프레임으로 지칭되는) 특정 프레임들을 스킵할 수 있다. 즉, 인코더(12)는 S 프레임들을 실제로 인코딩하여 전송하지 않는다. 대신, 디코더(14)가 스킵된 프레임을 보간하여 비디오 정보 프레임을 생성한다.
도 1의 예에서, 비디오 인코더(12)는 F1, F2, F3과 같이 수신되는 비디오 정보 프레임을 처리하도록 구성된 프레임 처리 모듈(20)을 포함한다. 수신되는 프레임(F1, F2, F3)의 분석을 기초로, 프레임 처리 모듈(20)은 수신되는 프레임들을 P 프레임으로서 인코딩할지 프레임들을 스킵할지를 결정한다. F2는 스킵될 프레임을 나타내는 반면, 프레임(F1, F3)은 각각 이전 P 프레임 및 다음 P 프레임을 나타낸다.
비디오 디코더(14)는 인코더(12)로부터 인코딩된 비디오 프레임들을 수신하고 비디오 프레임들을 디코딩한다. P 프레임의 디코딩 및 S 프레임의 보간을 처리하기 위해, 비디오 디코더(14)는 표준 디코더 모듈(22) 및 보간 디코더 모듈(24)을 포함한다. 표준 디코더 모듈(22)은 표준 디코딩 기술을 적용하여 인코더(12)에 의해 전송된 P 프레임(16)과 같은 각 P 프레임을 디코딩한다. 상술한 바와 같이, 각 P 프레임으로 인코딩된 정보는 표준 디코더 모듈(22)이 비디오 정보 프레임을 디코딩하여 제시하기에 충분하다. 표준 디코더 모듈(22)은 I 프레임이나 B 프레임과 같이 다른 코딩된 프레임들을 디코딩할 수도 있다.
보간 디코더 모듈(24)은 병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 비디오 프레임에 대한 모션을 지시하는 모션 정보를 적용함으로써 프레임(F2)과 같은 스킵된 비디오 프레임들을 보간한다. 스킵된 프레임이 디코 더(14)에 전송되지 않더라도, 모션 정보는 스킵된 프레임의 내용들의 보간을 지원한다. 병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 프레임에 대한 모션을 지시하는 모션 정보를 이용함으로써, 보간 디코더 모듈(24)은 보간된 프레임에서 인위적 영상을 감소시킴으로써 비디오 출력의 개선된 시각적 품질을 달성할 수 있다.
예로서, 보간 디코더 모듈(24)은 어파인 모델을 기초로 스킵된 비디오 프레임에 대한 모션을 지시하는 모션 정보를 얻고, 모션 정보를 적용하여 스킵된 비디오 프레임을 보간할 수 있다. 어파인 모션 모델은 병진 모션뿐 아니라 회전, 전단(shearing) 및 스케일링 또한 근사화한다. 어파인 모션 모델은 다음 식으로 표현될 수 있다;
Figure 112008030421495-PCT00001
(1) 여기서 (x', y') 및 (x, y)는 각각 전위(displacement) 전후 지점의 이미지 좌표를 나타내고, a1 - a6은 어파인 변환 계수를 나타낸다. 어파인 모션 모델에 기초한 모션 정보는 종래의 병진 모션 벡터들의 2 파라미터 근사화에 반해 스킵된 프레임의 모션의 6-파라미터 근사화를 제공한다.
모션 정보는 어파인 모션 모델 이외의 모션 모델들을 기초로 스킵된 프레임에 대한 모션을 지시할 수도 있다. 모션 정보는 예를 들어 병진 모션 및 스케일링, 전단, 회전, 패닝 및 틸팅 중 적어도 하나를 고려하는 모션 모델들에 기반한 모션을 지시할 수 있다. 예를 들어, 모션 정보는 정밀한(rigid) 모델(3개의 파라 미터), 정밀하고 일정한 비율의 모델(4개의 파라미터), 쌍일차(bilinear) 모델(8개의 파라미터), 또는 병진 모션뿐 아니라 적어도 하나의 다른 모션 파라미터, 예를 들어 평면 호모그래피에 기반한 모션을 지시하는 다른 모션 모델에 기반한 모션을 지시할 수도 있다. 추가로, 모션 정보는 객체 변형 모델이나 픽셀 기반 모션 모델과 같은 비정밀 모션 모델에 기반한 모션을 지시할 수 있다.
일 실시예에서, 보간 디코더 모듈(24)은 병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 비디오 프레임에 대한 모션을 지시하는 모션 정보를 생성한다. 상세히 설명하는 바와 같이, 보간 디코더 모듈(24)은 스킵된 비디오 프레임에 인접한 하나 이상의 비디오 프레임과 관련된 모션 정보를 이용하여 스킵된 프레임에 대한 모션 정보를 생성한다. 예로서, 보간 디코더 모듈(24)은 이전 기준 프레임 및 다음 기준 프레임과 관련된 병진 모션을 이용하여 병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 프레임에 대한 모션을 지시하는 모션 정보를 생성할 수 있다. 대안으로, 보간 디코더 모듈(24)은 이전 기준 프레임 및 다음 기준 프레임과 관련된 병진 모션 및 적어도 하나의 다른 모션 파라미터에 기반한 모션 정보를 이용하여 병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 프레임에 대한 모션을 지시하는 모션 정보를 생성할 수 있다. 이런 식으로, 보간 기술은 디코더 내에서 단독으로 구현된다.
대안으로, 보간 디코더 모듈(24)은 스킵된 프레임을 보간하기 위해 비디오 인코더(12)로부터의 보조에 의존할 수 있다. 특히, 인코더(12)는 S 프레임 모션 정보(18)와 같은 스킵된 프레임에 대한 모션 정보를 생성하고 인코딩하고 보간 디 코더 모듈(24)로 전송하여 스킵된 프레임의 보간을 보조할 수 있다. 인코더(14)는 P 프레임(16)과 같은 하나 이상의 전송된 비디오 프레임 또는 전용 프레임으로 S 프레임 모션 정보(18)를 디코더(14)로 전송할 수 있다. 이런 식으로, 보간 디코더 모듈(24)은 인코더(12)의 보조로 스킵된 프레임을 보간한다. S 프레임 모션 정보(18)는 병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 프레임에 대한 모션을 지시한다. 비디오 인코더(12)는 스킵된 프레임과 이전 프레임, 다음 프레임, 이전 및 다음 프레임 모두, 또는 임의의 개수의 인접한 프레임 간의 모션을 분석함으로써 스킵된 프레임에 대한 모션 정보를 추정할 수 있다. 이런 식으로, 비디오 인코더(12)는 스킵된 프레임과 관련된 정보를 생성하여 전송한다. 대안으로, 비디오 인코더(12)는 이전 프레임과 다음 프레임 간의 모션을 분석함으로써 스킵된 프레임에 대한 모션 정보를 추정할 수 있다.
인코더(12)는 보통 글로벌 모션 정보로 지칭되는 전체 스킵된 비디오 프레임에 대한 모션을 지시하는 S 프레임 모션 정보(18)를 생성하여 전송할 수 있다. 그러나 대역폭 요건을 줄이기 위해, 인코더(12)는 스킵된 프레임의 일부에 대한 S 프레임 모션 정보(18)만을 생성하여 전송하도록 구성될 수 있으며, 이 정보는 객체 기반 또는 로컬 모션 정보로 지칭될 수 있다. 특히, 인코더(12)는 스킵된 프레임 내의 선택된 비디오 블록에 대한 모션을 지시하는 S 프레임 모션 정보(18)를 생성할 수 있다. 이 경우, 인코더(12)는 모션 정보와 관련된 스킵된 비디오 프레임의 일부, 예를 들어 비디오 블록들을 설명하는 위치 정보를 생성할 수도 있다. 따라서 모션 정보는 어파인 모델 근사치 자체는 물론, 객체 또는 비디오 블록 디스크립 션 또한 포함할 수 있다. 스킵된 프레임의 다른 비디오 블록들은 특정 모션 정보에 대한 잠재적 필요성 없이 정확하게 보간될 수 있다. 흔히 매크로블록(MB)으로 지칭되는 비디오 블록들은 통상 스킵된 프레임 내의 4×4, 8×8 또는 16×16 픽셀 블록이다.
더욱이, 인코더(12)는 스킵된 프레임과 관련된 다른 정보를 생성하고 전송하여 스킵된 프레임의 보간시 디코더(14)를 보조할 수 있다. 모션 정보 외에도, 인코더(12)는 예를 들어 스킵된 프레임의 보간시 비디오 디코더(14)에 의해 사용될 특정 보간식, 또는 스킵된 프레임 내의 선택된 비디오 블록, 예를 들어 매크로블록(MB)이나 더 작은 블록에 사용될 특정 보간식을 지정하는 정보를 생성하여 전송할 수 있다.
비디오 디코더(14)는 비디오 인코더(12)에 의해 전송되는 S 프레임 모션 정보(18)를 인지하고 사용하도록 특별히 구성될 수 있다. 그러나 비디오 디코더(14)가 S 프레임 모션 정보(18)를 인지하도록 설비되지 않는다면, 정보는 무시될 수 있고, 보간은 다른 점에서 비디오 디코더(14)에 의해 적용되는 보간 기술에 따라 진행할 수 있다. 예를 들어, 비디오 디코더(14)가 수신된 비디오 프레임들 내에 삽입된 스킵된 프레임 정보를 인지하도록 설비되지 않을 때 비디오 디코더(14)는 스킵된 프레임에 대한 더 정확한 모션 정보를 생성할 수 있다.
다수의 다른 엘리먼트가 인코딩 및 디코딩 시스템(10)에 포함될 수도 있지만, 설명의 간소화 및 용이함을 위해 도 1에는 구체적으로 도시되지 않는다. 여기서 설명하는 기술들은 다양한 다른 구조로 구현될 수 있기 때문에, 도 1에 도시된 구조는 예시일 뿐이다. 더욱이, 도 1에 나타낸 특징들은 하드웨어 및/또는 소프트웨어 컴포넌트들의 임의의 적당한 조합으로 실현될 수 있다.
도 2는 도 1의 비디오 디코더(14)와 같은 비디오 디코더에 사용하기 위한 예시적인 보간 디코더 모듈(30)을 나타내는 블록도이다. 보간 디코더 모듈(30)은 보간된 프레임을 생성하도록 동작하는 보간 모듈(32) 및 모션 추정 모듈(34)을 포함한다. 보간 모듈(32)은 스킵된 비디오 프레임을 보간하기 위해 병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 프레임에 대한 모션을 지시하는 모션 정보를 적용한다.
보간 모듈(32)은 비디오 인코더(12)(도 1)로부터 모션 정보를 수신할 수 있다. 상술한 바와 같이, 비디오 인코더(12)는 병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 프레임에 대한 모션을 지시하는 모션 정보를 생성하고, 하나 이상의 비디오 프레임으로 모션 정보를 인코딩하여 스킵된 비디오 프레임의 보간시 보간 디코더 모듈(30)을 보조할 수 있다. 이 경우, 보간 모듈(32)은 스킵된 프레임에 대한 수신된 모션 정보를 적용하여 스킵된 프레임을 보간한다.
그러나 보간 디코더 모듈(30)은 스킵된 프레임에 대한 모션을 지시하는 모션 정보를 생성할 필요가 있을 수도 있다. 예를 들어, 비디오 인코더(12)는 스킵된 프레임에 대한 모션 정보를 전송하거나 스킵된 프레임에 대한 모션 정보의 일부만을 전송하도록 구성되지 않을 수도 있다. 대안으로, 보간 디코더 모듈(30)은 전송된 비디오 프레임 내에 인코딩된 스킵된 프레임에 대한 모션 정보를 인지하도록 구성되지 않을 수도 있다. 어느 경우에도, 모션 추정 모듈(34)은 스킵된 비디오 프 레임에 인접한 하나 이상의 비디오 프레임들과 관련된 모션 정보를 이용하여 스킵된 프레임에 대한 모션 정보의 적어도 일부를 생성한다. 예를 들어, 모션 추정 모듈(34)은 이전 프레임, 이전 프레임 및 다음 프레임, 또는 2보다 많은 인접한 비디오 프레임들과 같이 하나 이상의 기준 프레임과 관련된 하나 이상의 병진 모션 벡터를 기초로 스킵된 프레임에 대한 모션 정보를 생성할 수도 있다. 추가로, 모션 추정 모듈(34)은 스킵된 비디오 프레임에 인접한 비디오 프레임들에 대한 병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 모션 정보를 생성할 수 있다. 예를 들어, 모션 추정 모듈(34)은 P 프레임(16)에 대한 모션 정보를 생성할 수 있다.
예로서, 디코더(14)에 의해 수신되는 이전 및 다음 기준 프레임은 N개의 매크로블록으로 분할되고 각 매크로블록과 관련된 병진 모션 벡터를 가질 수 있다. 모션 추정 모듈(34)은 기준 프레임의 매크로블록과 관련된 병진 모션 벡터를 기초로 스킵된 비디오 프레임에 대한 병진 모션 벡터를 추정한다. 모션 추정 모듈(34)은 다수의 병진 모션 벡터를 이용하여 어파인 모델의 파라미터들을 추정한다. 각 병진 모션 벡터는 2 파라미터 방정식에 대응한다(즉, x1 = x2 + a, y1 = y2 + c). 일 실시예에서, 모션 추정 모듈(34)은 3만큼 적은 수의 병진 모션 벡터를 이용하는 어파인 모션 모듈을 기초로 모션 정보를 생성할 수 있다. 그러나 모션 추정 모듈(34)은 통상적으로 3보다 훨씬 많은 병진 모션 벡터를 가질 것이다. 다수의 병진 모션 벡터로부터 어파인 모션 파라미터를 유도하기 위해 각종 수학적 모델이 사용될 수 있다. 모션 추정 모듈(34)은 예를 들어 최소 제곱 추정을 이용하여 어파 인 모션 파라미터를 유도할 수 있다. 모션 추정 모듈(34)은 예를 들어 구분적 2차 모션 벡터 필드 근사화의 수행에서 최소 하강을 기초로 어파인 모델을 추정할 수 있다.
대안으로, 모션 추정 모듈(34)은 스킵된 프레임 내에서 특정 객체 또는 매크로블록과 같은 스킵된 프레임의 단지 일부에 대한 모션을 추정할 수 있다. 이 경우, 모션 추정 모듈(34)은 스킵된 프레임의 모든 매크로블록에 대한 병진 모션 벡터들을 생성한다. 모션 추정 모듈(34)은 상술한 바와 같이 병진 모션 벡터로부터 어파인 모션 모델 파라미터를 근사화한다. 각 매크로블록은 생성된 어파인 모션 모델을 이용하여 픽셀 단위로 재구성된다. 추가로, 각 매크로블록은 어파인 모션 파라미터를 근사화하는데 사용되는 병진 모션 벡터들을 이용하여 재구성된다. 어파인 모션 모델 파라미터를 이용하여 재구성되는 매크로블록의 왜곡이 병진 모션 벡터들을 이용하여 재구성된 해당 매크로블록과 비교된다. 왜곡이 미리 결정된 임계치 이상이라면, 큰 왜곡과 관련된 매크로블록을 정확히 근사화하지 않도록 어파인 모션 모델이 결정되고 객체로부터 매크로블록이 제거된다. 즉, 어파인 모델 추정은 특정 매크로블록에 적용되지 않는 것으로 간주한다. 재구성된 모든 매크로블록 간의 왜곡을 분석한 후, 어파인 모션 모델 파라미터들이 결정되어 프레임에서 임계치 이하의 왜곡 값을 갖는 매크로블록에만 적용된다.
도 3은 비디오 디코더에 사용하기 위한 다른 예시적인 보간 디코더 모듈(36)을 설명하는 블록도이다. 보간 디코더 모듈(36)은 실질적으로 도 2의 보간 디코더 모듈(30)에 따르지만, 보간 디코더 모듈(36)은 병진 모션 및 적어도 하나의 다른 모션 파라미터에 기초한 모션 정보를 병진 모션만을 기초로 하는 모션 정보로 변환하는 모션 정보 변환 모듈(38)을 포함한다. 병진 모션 및 적어도 하나의 다른 모션 파라미터에 기초한 모션 정보를 병진 모션 벡터로 변환하는 것은 병진 모션 벡터만을 이용하여 모션 보상을 수행하는 하드웨어 및/또는 소프트웨어 구성을 전개하는 비디오 디코더에서 더 정확한 모션 정보의 사용을 가능하게 한다.
모션 정보 변환 모듈(38)은 모션 추정 모듈(34)로부터 또는 인코더(12)에 의해 전송된 스킵된 비디오 프레임에 인접한 하나 이상의 프레임으로부터 스킵된 프레임에 대한 모션을 지시하는 모션 정보를 얻는다. 병진 모션 및 적어도 하나의 다른 모션 파라미터에 기초한 모션 정보를 병진 모션만을 기초로 하는 모션 정보로 변환하기 위해, 모션 정보 변환 모듈(38)은 스킵된 프레임에 대한 모션 정보를 기초로 관심 있는 블록 내의 하나 이상의 픽셀에 대한 병진 모션 벡터를 생성한다. 모션 정보 변환 모듈(38)은 예를 들어 모션의 어파인 모델 근사화에 픽셀의 좌표를 입력함으로써 각 픽셀에 대한 병진 모션 벡터를 생성할 수 있다. 즉, 어파인 모델 근사화의 출력은 그 특정 픽셀과 관련된 모션 벡터이다.
모션 정보 변환 모듈(38)은 픽셀과 관련된 병진 모션 벡터를 병합하여 관심 있는 블록에 대한 단일 모션 벡터를 생성한다. 모션 정보 변환 모듈(38)은 예를 들어 평균 연산, 중간 연산 또는 다른 비슷한 수학적 연산을 이용하여 픽셀들의 병진 모션 벡터들을 병합한다. 모션 정보 변환 모듈(38)은 더 작은 크기의 여러 블록에 대한 모션 벡터들을 귀납적으로 생성함으로써 더 큰 크기의 블록들에 대한 병진 모션 벡터들을 생성할 수 있다. 모션 정보 변환 모듈(38)은 예를 들어 여러 2 ×2 블록에 대한 병진 모션 벡터들을 귀납적으로 생성한 다음, 2×2 블록들의 모션 벡터들을 병합함으로써 8×8 블록에 대한 모션 벡터들을 생성할 수 있다.
설명한 변환 기술들은 단지 예시를 위한 것이다. 모션 정보 변환 모듈(38)은 다른 변환 기술들을 이용하여 병진 모션 및 적어도 하나의 다른 모션 파라미터에 기초한 모션 정보를 병진 모션 벡터로 변환할 수 있다. 예를 들어, 모션 정보 변환 모듈(38)은 어파인 모델 모션 정보를 기초로 관심 있는 블록 내의 하나 이상의 픽셀에 대한 병진 모션 벡터를 생성할 수 있다. 모션 정보 변환 모듈(38)은 픽셀 병진 모션 벡터를 선택하여 선택된 픽셀 병진 모션 벡터를 관심 있는 블록에 대한 병진 모션 벡터를 출력하는 모션 추정 모듈에 대한 시드(seed) 모션 벡터로서 사용한다. 예를 들어, 관심 있는 매크로블록의 중심 픽셀의 병진 모션 벡터가 매크로블록에 대한 시드 모션 벡터로서 사용될 수 있다. 모션 추정은 매크로블록의 중심 픽셀과 관련된 모션 벡터로부터 시작한다. 따라서 시드 모션 벡터는 특정 검색 범위 내의 최초 검색 지점으로서 작용한다. 어파인 모델은 중심 픽셀의 모션 벡터는 물론 주변 모션 벡터들을 이용한 최소 제곱 적합 알고리즘을 통해 추정될 수 있다.
모션 정보를 병진 모션 벡터로 변환하는 것은 병진 모션 벡터만을 이용하여 모션 보상을 수행하는 하드웨어 및/또는 소프트웨어 구성을 전개하는 비디오 디코더에서 본 개시의 기술의 구현을 가능하게 한다. 병진 모션 및 적어도 하나의 다른 모션 파라미터에 기초한 모션을 지시하는 모션 정보가 사용되지 않더라도, 적용되는 병진 모션 벡터들은 더 정확한 모션 정보, 예를 들어 어파인 모션 모델 근사 치를 기초로 생성되기 때문에 더 정확하다.
도 4는 도 1의 비디오 인코더(12)와 같은 비디오 인코더에 사용하기 위한 프레임 처리 모듈(40)을 설명하는 블록도이다. 프레임 처리 모듈(40)은 프레임 타입 결정 모듈(42), 스킵된 프레임 분석 모듈(44) 및 프레임 어셈블리 모듈(46)을 포함한다. 스킵된 프레임 분석 모듈(44)은 모션 추정 모듈(48) 및 위치 추정 모듈(50)을 더 포함한다. 일반적으로, 스킵된 프레임 분석 모듈(44)은 스킵될 프레임을 분석하고 병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 프레임에 대한 모션을 지시하는 모션 정보를 생성한다. 생성된 모션 정보는 하나 이상의 비디오 프레임 내에서 전송되어 개선된 정확도로 스킵된 프레임 보간시 디코더(14)를 보조한다.
프레임 타입 결정 모듈(42)은 수신되는 비디오 정보가 I, P 또는 B 프레임과 같은 프레임으로 인코딩되어야 하는지 또는 스킵되어야 하는지를 결정한다. 프레임 타입 결정 모듈(42)은 송신 채널(15)(도 1)에 걸쳐 대역폭 변환을 위한 전체 인코딩된 정보량을 감소시키도록 설계된 균일한 또는 불균일한 프레임 스킵 함수에 부분적으로 기초하여 프레임을 스킵하기로 결정할 수 있다. 예를 들어, 프레임 타입 결정 모듈(42)은 N번째 프레임마다 스킵할 수도 있고, 또는 하나 이상의 동적 스킵 기준을 기초로 프레임을 스킵할 수도 있다. 프레임 타입 결정 모듈(42)은 프레임 결정을 프레임 어셈블리 모듈(46)로 전달한다.
스킵된 프레임 분석 모듈(44)은 스킵된 프레임에 대한 모션을 지시하는 모션 정보를 생성한다. 스킵된 프레임 분석 모듈(44)은 모션 추정 정보 및/또는 위치 정보를 생성할 수 있으며, 이들 정보는 각각 인코더에 의해 제공되는 스킵된 프레임 모션 정보의 일부를 형성하여 스킵된 프레임의 보간시 디코더를 보조할 수 있다. 특히, 모션 추정 모듈(48)은 어파인 모션 모델에 기초한 모션 정보와 같이 병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 프레임에 대한 모션을 지시하는 모션 정보를 생성한다. 모션 추정 모듈(48)은 도 1의 이전 프레임(F1) 및 다음 프레임(F3)과 같이 스킵된 프레임에 인접한 하나 이상의 비디오 프레임과 스킵된 프레임 간의 모션에 기초한 모션 정보를 생성할 수 있다. 대안으로, 모션 추정 모듈(48)은 이전 프레임(F1) 및 다음 프레임(F3) 사이의 모션에 기초한 모션 정보를 생성할 수 있다.
모션 추정 모듈(48)은 전체 스킵된 프레임에 대한 모션을 지시하는 모션 정보를 생성할 수 있다. 예를 들어, 스킵될 프레임 및 이전 기준 프레임은 N개의 매크로블록으로 분할될 수 있다. 모션 추정 모듈(48)은 이전 프레임의 각 매크로블록과 스킵될 프레임 간의 병진 모션을 계산할 수 있다. 각 병진 모션 벡터는 2 파라미터 방정식에 대응한다(즉, x1 = x2 + a, y1 = y2 + c). 모션 추정 모듈(48)은 이전 프레임 및 스킵된 프레임을 이용하여 계산된 병진 모션 벡터를 기초로 전체 스킵된 비디오 프레임에 대한 어파인 모션 정보를 생성한다. 모션 추정 모듈(48)은 3만큼 적은 수의 병진 모션 벡터를 이용하는 어파인 모션 모듈을 기초로 모션 정보를 생성할 수 있다. 최소 제곱 추정과 같이 다수의 병진 모션 벡터로부터 어파인 모션 파라미터를 유도하기 위해 각종 수학적 모델이 사용될 수 있다. 이 경 우, 생성된 모션 정보는 전체 스킵된 프레임에 적용되기 때문에 위치 추정 모듈(50)은 위치 정보를 생성할 필요가 없을 수도 있다.
대안으로, 모션 추정 모듈(48)은 스킵된 프레임 내의 특정 객체 또는 비디오 블록에 대한 모션을 지시하는 모션 정보를 생성할 수 있다. 즉, 모션 추정 모듈(48)에 의해 생성된 모션 정보는 프레임의 각 매크로블록이 아니라 대신 프레임의 일부에만 적용될 수 있다. 이 경우, 위치 추정 모듈(50)은 생성된 모션 정보와 관련된 스킵된 비디오 프레임의 일부, 예를 들어 비디오 블록 또는 객체를 설명하는 위치 정보를 생성한다. 위치 추정 모듈(50)은 예를 들어 위치 모션 정보가 적용되는 객체 또는 특정 비디오 블록의 경계를 지시하는 이진 비트맵을 생성할 수 있다. 위치 추정 모듈(50)은 생성된 어파인 모션 모델을 이용하여 픽셀 단위로 각 매크로블록을 재구성한다. 위치 추정 모듈(50)은 어파인 모션 파라미터들을 근사화하는데 사용되는 병진 모션 벡터들을 이용하여 각 매크로블록을 동시에 재구성한다. 위치 추정 모듈(50)은 어파인 모션 모델 파라미터를 이용하여 재구성된 매크로블록 또는 픽셀들과 병진 모션 벡터들을 이용하여 재구성된 해당 매크로블록 또는 픽셀들 간의 왜곡을 비교한다. 왜곡이 미리 결정된 임계치 이상이라면, 어파인 모션 모델은 큰 왜곡과 관련된 매크로블록을 정확히 근사화하지 않도록 결정되고 객체로부터 매크로블록이 제거된다. 즉, 어파인 모델 추정은 특정 매크로블록 또는 픽셀을 적용하지 않는 것으로 간주한다. 재구성된 모든 매크로블록 간의 왜곡을 분석한 후, 어파인 모션 모델 파라미터들은 프레임에서 임계치 이하의 왜곡 값들을 갖는 매크로블록에만 적용되도록 결정된다. 위치 추정 모듈(50)은 위치 모션 정보가 적용되는 블록 또는 픽셀들의 경계를 지시하는 이진 비트맵을 생성할 수 있다. 위치 정보로 식별되지 않는 비디오 블록 또는 객체들은 특정 모션 정보에 대한 잠재적 필요성 없이 보간될 수 있다.
다른 실시예에서, 모션 추정 모듈(48)은 스킵된 프레임에 대한 모션을 지시하는 모션 추정 정보를 생성하지 않을 수도 있다. 그러나 위치 추정 모듈(50)은 모션 정보가 모션 추정 모듈(48)에 의해 생성된 경우에 적용되는 스킵된 프레임의 일부를 식별하는 위치 정보를 생성할 수 있다. 이런 식으로, 디코더(14)는 스킵된 프레임에 대한 모션을 지시하는 모션 정보를 생성하지만, 인코더는 디코더가 생성된 모션 정보를 적용해야 하는 객체 또는 매크로블록을 지시하는 모션 정보를 제공함으로써 스킵된 프레임 보간시 디코더를 보조한다.
프레임 어셈블리 모듈(46)은 인코딩된 프레임으로서 지정된 비디오 정보를 비디오 디코더(14)(도 1)가 비디오 정보 프레임을 디코딩하여 제시하기에 충분한 모션 정보, 블록 모드, 계수 및 다른 정보로 인코딩한다. 프레임 어셈블리 모듈(46)은 프레임 타입 결정 모듈(42)에 의해 스킵된 프레임으로서 지정된 입력되는 비디오 정보를 실제로 인코딩하여 전송하지 않는다. 대신, 프레임 어셈블리 모듈(46)은 스킵된 프레임 분석 모듈(44)로부터 수신된 모션 정보를 비디오 디코더로 전송하기 위한 하나 이상의 비디오 프레임으로 인코딩하여 스킵된 프레임 보간시 비디오 디코더를 보조한다. 프레임 어셈블리 모듈(46)은 스킵된 프레임에 대한 모션 정보를 P 프레임(16)(도 1)과 같이 스킵된 프레임이 선행하거나 이어지는 하나 이상의 인코딩된 프레임 내에 삽입할 수 있다. 즉, 프레임 어셈블리 모듈(46)은 스킵된 프레임에 대한 모션 정보를 스킵되지 않은 비디오 프레임 내에 삽입할 수 있다. 대안으로, 프레임 어셈블리 모듈(46)은 스킵된 프레임 모션 정보에 전용되며 P 프레임과 관계없이 전송되는 비디오 프레임 내에 스킵된 프레임에 대한 모션 정보를 인코딩할 수 있다.
도 5는 병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 프레임에 대한 모션을 지시하는 모션 정보를 이용하여 스킵된 비디오 프레임을 보간하는 비디오 디코더(14)와 같은 디코더의 예시적인 동작을 설명하는 흐름도이다. 디코더(14)는 비디오 인코더로부터 다수의 디지털 비디오 프레임을 수신한다(52). 디코더(14)는 인코더로부터, 예를 들어 하나 이상의 I 프레임, P 프레임 및 B 프레임을 수신할 수 있다.
디코더(14)는 스킵된 비디오 프레임에 대한 모션을 지시하는 모션 정보에 대한 수신 프레임을 분석한다(54). 디코더(14)는 프레임이 스킵된 프레임에 대한 모션 정보를 포함함을 지시하는 프레임 내에서 특정 타입의 프레임 또는 헤더 정보를 식별하도록 구성될 수 있다.
디코더(14)가 수신된 프레임 내에서 스킵된 프레임에 대한 모션 정보를 식별하지 않거나 스킵된 프레임에 대한 불완전한 모션 정보를 식별한다면, 디코더(14)는 스킵된 프레임에 대한 모션 정보를 생성한다(56). 디코더(14)는 수신 프레임들 내에 삽입된 스킵된 프레임들에 대한 모션 정보를 인지하도록 구성되지 않을 수도 있다. 대안으로, 인코더는 상술한 바와 같이 스킵된 프레임에 대한 임의의 모션 정보를 전송하지 않았거나 위치 정보만을 전송했을 수도 있다. 디코더(14)는 스킵 된 비디오 프레임에 인접한 하나 이상의 비디오 프레임, 예를 들어 이전 프레임, 이전 프레임 및 다음 프레임, 또는 2보다 많은 인접한 비디오 프레임과 관련된 모션 정보를 이용하여 병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 프레임에 대한 모션을 지시하는 모션 정보를 생성한다. 예를 들어, 디코더(14)는 이전 기준 프레임의 매크로블록과 관련된 병진 모션 벡터들을 이용하여 어파인 모델의 계수를 근사화할 수 있다.
다음에, 디코더는 병진 모션 및 적어도 하나의 다른 모션 파라미터에 기초한 모션을 지시하는 모션 정보를 병진 모션 벡터로 변환할지를 결정한다(58). 디코더(14)가 어파인 모션 모델에 기초한 모션을 지시하는 모션 정보를 적용하도록 구성된다면, 디코더(14)는 스킵된 프레임에 대한 모션 정보를 변환하지 않고, 대신 병진 모션 및 적어도 하나의 다른 모션 파라미터에 기초한 모션을 지시하는 모션 정보를 적용하여 스킵된 프레임을 보간한다(60).
디코더(14)가 어파인 모션 모델 및 적어도 하나의 다른 모션 파라미터에 기초한 모션을 지시하는 모션 정보를 적용하도록 구성되지 않는다면, 디코더(14)는 모션 정보를 병진 모션 벡터로 변환한다(62). 디코더(14)는 예를 들어 병진 모션 보상만을 수행하도록 구성될 수 있다. 이 경우, 디코더(14)는 스킵된 프레임에 대한 모션 정보를 병진 모션만을 기초로 하는 모션 정보로 변환한다. 디코더(14)는 예를 들어 어파인 모션 정보를 기초로 관심 있는 블록 내의 하나 이상의 픽셀에 대한 병진 모션 벡터를 생성하고 픽셀들의 생성된 병진 모션 벡터들을 병합하여 관심 있는 블록에 대한 모션 벡터를 생성할 수 있다. 디코더(14)는 병진 모션 벡터를 적용하여 스킵된 프레임 또는 스킵된 프레임의 하나 이상의 매크로블록을 보간한다(64). 이런 식으로, 본 개시의 기술들은 병진 모션 보상만을 수행하는 비디오 디코더에 이용될 수 있는 한편, 더 정확한 모션 정보를 기초로 생성된 모션 벡터들을 이용함으로써 보간 정확도를 또 개선할 수 있다.
도 6은 어파인 모션 모델을 기초로 스킵된 프레임의 일부에 대한 모션 정보를 생성하는 인코더(12)와 같은 인코더의 예시적인 동작을 설명하는 흐름도이다. 처음에, 인코더(12)는 스킵된 프레임을 일정한 크기의 블록으로 분할하고 일정한 크기의 블록에 대한 병진 모션 추정을 수행한다(70). 병진 모션 추정은 각 블록과 관련된 하나 이상의 모션 벡터를 제공한다. 인코더(12)는 예를 들어 프레임을 N개의 매크로블록으로 분할하고 하나 이상의 인접한 프레임들의 매크로블록들과 매크로블록들 간의 병진 모션을 지시하는 모션 벡터를 계산할 수 있다.
인코더(12)는 병진 모션 벡터들에 대한 모션 벡터 처리를 수행한다(72). 모션 벡터 처리는 예를 들어 아웃라이어(outlier) 모션 벡터를 제거할 수 있다. N개의 병진 모션 벡터 중 하나가 다른 N-1개의 병진 모션 벡터의 반대 방향을 지시한다면, 상당히 다른 모션 벡터가 제거될 수 있다. 인코더(12)는 모션 벡터들을 병합한다(74). 인코더(12)는 모션 벡터를 평균하고, 중간 모션 벡터 또는 다른 수학적 연산을 계산함으로써 모션 벡터들을 병합할 수 있다. 이런 식으로, 인코더(12)는 전체 매크로블록에 대한 단일 모션 벡터를 생성할 수 있다. 예를 들어, 인코더(12)가 매크로블록에 대한 16개의 4×4 모션 벡터를 생성한다면, 인코더(12)는 이들을 평균하여 16×16 매크로블록에 대한 단일 모션 벡터를 형성할 수 있다. 이 런 식으로, 최소 제곱 적합화된 모션 벡터가 적기 때문에 어파인 추정 프로세스가 간소화될 수 있다. 더욱이, 모션 벡터들의 병합은 모션 벡터들을 평활화하여 매크로블록 내의 일부 불규칙한 모션 벡터들을 제거한다.
인코더(12)는 병진 모션 벡터들을 기초로 스킵된 프레임에 대한 어파인 모션 모델 파라미터들을 추정한다(76). 상술한 바와 같이, 인코더(12)는 3개 이상의 병진 모션 벡터의 최소 제곱 추정치를 찾음으로써 다수의 병진 모션 벡터로부터 어파인 모션 파라미터를 유도할 수 있다.
인코더(12)는 추정된 어파인 모션 모델이 적용되는 특정 객체, 매크로블록 또는 픽셀들을 식별하기 위해 모션 기반 객체 분할을 수행한다(78). 상기에 상세히 설명한 바와 같이, 인코더(12)는 생성된 어파인 모션 모델을 이용하여 픽셀 단위로 각 매크로블록을 재구성하고, 어파인 모션 파라미터들을 근사화하는데 사용되는 병진 모션 벡터들을 사용하여 각 매크로블록을 동시에 재구성하며, 어파인 모션 모델 파라미터를 사용하여 재구성된 매크로블록 또는 픽셀들과 병진 모션 벡터들을 이용하여 재구성된 해당 매크로블록 또는 픽셀들 간의 왜곡을 비교한다. 왜곡이 미리 결정된 임계치 이상이라면, 어파인 모션 모델은 매크로블록 또는 픽셀을 정확히 근사화하지 않도록 결정되고 매크로블록이 객체로부터 제거된다. 큰 왜곡을 가진 모든 매크로블록 또는 픽셀의 제거 후, 나머지 객체, 매크로블록 또는 픽셀은 모션 정보가 적용되는 픽셀이다. 인코더(12)는 이들 나머지 객체, 매크로블록 또는 픽셀을 설명하는 위치 정보를 생성할 수 있다.
인코더(12)는 수축 및 팽창을 수행한다(80). 수축 및 팽창은 객체 아웃라인 을 평활화하고, 작은 홀들을 채우고 작은 돌기/객체를 제거한다. 특히, 팽창은 객체를 팽창시켜, 잠재적으로 작은 홀들을 채우고 흩어진 객체들을 연결한다. 한편, 수축은 객체들의 경계를 에칭함으로써 객체들을 축소한다.
인코더(12)는 식별된 객체에 속하는 매크로블록으로부터의 병진 모션 정보를 기초로 어파인 모션 모델을 업데이트한다(82). 인코더(12)는 더 정확한 어파인 모션 추정치를 얻기 위한 다른 반복을 수행할지 결정한다(84). 인코더(12)는 예를 들어 특정 회수의 반복을 실행할 수 있다. 이 경우, 인코더는 반복 회수를 추적하여 지정된 회수의 반복이 수행될 때까지 계속해서 반복을 실행할 수 있다. 그러나 2 또는 3회의 반복 후 어파인 모델 추정치에 대한 개선은 통상적으로 두드러지지 않는다.
인코더(12)는 예를 들어 인코더가 특정 회수의 반복을 실행한 후 어파인 모션 모델을 기초로 모션 정보를 생성한다. 인코더(12)는 객체 디스크립터를 생성한다(86). 객체 디스크립터는 모션 정보와 관련된 프레임 내에서 객체들의 위치를 식별하는 위치 정보를 기술한다. 상술한 바와 같이, 인코더(12)는 모션 정보가 적용되는 특정 비디오 블록 또는 객체의 경계를 지시하는 이진 비트맵을 생성할 수 있다. 디코더(14)는 객체 디스크립터에서 식별된 객체 또는 매크로블록에 모션 정보를 적용할 것이다. 객체 디스크립터에서 식별되지 않은 비디오 블록 또는 객체들은 특정 모션 정보에 대한 잠재적 필요성 없이 보간될 수 있다.
도 7은 병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 프레임에 대한 모션을 지시하는 모션 정보를 병진 모션만을 기초로 하는 모션 정보로 변환하는 디코더의 예시적인 동작을 설명하는 흐름도이다. 예를 들어, 디코더는 어파인 모션 모델에 기초한 모션을 지시하는 모션 정보를 병진 모션 벡터로 변환할 수 있다. 디코더(14)(도 2)의 모션 정보 변환 모듈(38)과 같은 모션 정보 변환 모듈은 어파인 모션 모델에 기반한 모션을 지시하는 모션 정보를 수신한다(90). 모션 정보 변환 모듈(38)은 예를 들어 모션 추정 모듈(72)로부터 또는 인코더(12)에 의해 전송된 하나 이상의 프레임으로부터 스킵된 프레임에 대한 모션 정보를 수신할 수 있다.
모션 정보 변환 모듈(38)은 어파인 모션 모델을 기초로 관심 있는 블록 내의 하나 이상의 픽셀에 대한 병진 모션 벡터를 생성한다(92). 모션 정보 변환 모듈(38)은 예를 들어 어파인 모델 근사화에 픽셀의 좌표를 입력하고 어파인 모델 근사화의 출력을 그 특정 픽셀과 관련된 모션 벡터로 사용함으로써 각 픽셀에 대한 병진 모션 벡터를 생성할 수 있다.
모션 정보 변환 모듈(38)은 전체 블록에 대한 단일 모션 벡터를 생성하기 위해 관심 있는 블록 내에 다수의 픽셀의 생성된 병진 모션 벡터들을 병합한다(94). 모션 정보 변환 모듈(38)은 예를 들어 평균 연산, 중간 연산 또는 비슷한 수학적 연산을 이용하여 픽셀들의 병진 모션 벡터들을 병합할 수 있다. 모션 정보 변환 모듈(38)은 생성된 블록 모션 벡터에 대한 하나 이상의 후처리 연산을 수행할 수 있다(96). 모션 정보 변환 모듈(38)은 모션 벡터 분류, 모션 벡터 레이버(laboring), 아웃라이어 선택, 윈도우 기반 모션 벡터 평활화를 수행할 수 있다. 예를 들어, 모션 정보 변환 모듈(38)은 다른 병진 모션 벡터들과 상당히 다른 모션 벡터들을 제거함으로써 아웃라이어 모션 벡터들을 제거할 수 있다.
모션 정보 변환 모듈(38)은 보간 모듈(68)(도 3)에 블록 모션 벡터를 출력하여 스킵된 비디오 프레임 또는 스킵된 프레임의 특정 매크로블록의 보간을 보조한다(98). 모션 정보를 병진 모션 벡터로 변환하는 것은 병진 모션 보상만을 수행하는 하드웨어 및/또는 소프트웨어 구성을 전개하는 비디오 디코더에서 본 개시의 기술의 구현을 가능하게 한다. 병진 모션 및 적어도 하나의 다른 모션 파라미터에 기초한 모션을 지시하는 모션 정보가 사용되지 않더라도, 적용되는 병진 모션 벡터들은 어파인 모션 모델을 이용하여 추정된 정보를 기초로 생성되기 때문에 더 정확하다.
상술한 바와 같이, 모션 정보 변환 모듈(38)은 더 작은 크기의 여러 블록에 대한 병진 모션 벡터들을 귀납적으로 생성하고 이들 모션 벡터를 조합하여 더 큰 크기의 블록들에 대한 병진 모션 벡터들을 형성할 수 있다. 모션 정보 변환 모듈(38)은 예를 들어 여러 2×2 블록에 대한 병진 모션 벡터들을 귀납적으로 생성한 다음, 2×2 블록들의 모션 벡터들을 병합함으로써 8×8 블록에 대한 모션 벡터들을 생성할 수 있다.
도 8은 스킵된 비디오 프레임들을 보간하기 위해 병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 비디오 프레임들에 대한 모션을 지시하는 모션 정보를 적용하도록 구성된 비디오 인코딩 및 디코딩 시스템(100)을 설명하는 블록도이다. 시스템(100)은 송신 채널(108)에 의해 접속된 인코딩을 위한 모듈(102) 및 디코딩을 위한 모듈(104)을 포함한다. 비디오 시퀀스와 같이 인코딩된 멀티미디어 시퀀스는 통신 채널(15)을 통해 인코딩을 위한 모듈(102)로부터 디코딩을 위한 모듈(104)로 전송될 수 있다. 인코딩을 위한 모듈(102)은 인코더를 포함할 수 있고 멀티미디어 데이터를 인코딩 및 전송할 수 있는 디지털 비디오 장치의 일부를 형성할 수 있다. 마찬가지로, 디코딩을 위한 모듈(104)은 인코더를 포함할 수 있으며, 멀티미디어 데이터를 수신 및 디코딩할 수 있는 디지털 비디오 장치의 일부를 형성할 수 있다.
인코딩을 위한 모듈(102)은 스킵된 프레임에 대한 모션 정보를 생성하는 모션 정보 생성 모듈(108) 및 생성된 모션 정보를 디코딩을 위한 모듈(104)로 전송하여 스킵된 프레임의 보간시 디코딩을 위한 모듈(104)을 보조하기 위한 하나 이상의 프레임으로 인코딩하는 프레임 어셈블리 모듈(110)을 포함한다. 특히, 모션 정보를 생성하기 위한 모듈(108)은 병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 프레임에 대한 모션을 지시하는 모션 정보를 추정한다. 추가로, 모션 정보를 생성하기 위한 모듈(108)은 모션 추정 프로세스의 일부로서 위치 정보를 생성할 수 있다. 위치 정보는 모션 정보가 적용되는 스킵된 프레임의 특정 객체 또는 매크로블록을 설명할 수 있다. 모션 정보를 생성하기 위한 모듈(108)은 모션 추정 모듈 및 위치 식별 모듈을 포함할 수 있다.
디코딩을 위한 모듈(104)은 인코딩을 위한 모듈(102)로부터 하나 이상의 프레임을 수신하는 수신 모듈(118)을 포함한다. 인코딩을 위한 모듈(102)로부터 수신된 프레임들은 모션 정보를 포함할 수 있다. 이런 식으로, 수신 모듈(118)은 하나 이상의 인접한 비디오 프레임과 관련된 모션 정보를 수신한다. 보간 모듈(116) 은 병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 비디오 프레임에 대한 모션을 지시하는 모션 정보를 적용하여 스킵된 비디오 프레임을 보간한다. 보간 모듈(116)은 수신 모듈(118)을 통해 인코딩을 위한 모듈(102)로부터 스킵된 비디오 프레임에 대한 모션 정보를 수신할 수 있다. 대안으로, 보간 모듈(116)은 모션 정보 생성 모듈(114)로부터 스킵된 프레임으로부터의 일부 또는 모든 모션 정보를 얻을 수 있다. 이런 식으로, 보간 모듈(116)은 모션 정보를 얻기 위한 수단을 포함할 수 있다.
모션 정보를 생성하는 모듈(114)은 병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 비디오 프레임에 대한 모션을 지시하는 모션 정보를 생성한다. 모션 정보를 생성하는 모듈(114)은 스킵된 비디오 프레임에 인접한 하나 이상의 비디오 프레임들과 관련된 모션 정보를 기초로 스킵된 비디오 프레임에 대한 모션 정보를 생성할 수 있다.
일 실시예에서, 보간 모듈(116)은 단지 병진 모션 벡터들을 이용하여 보간을 수행한다. 이 경우, 디코딩을 위한 모듈(104)은 병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 프레임에 대한 모션을 지시하는 모션 정보를 병진 모션만을 기초로 하는 모션을 지시하는 모션 정보로 변환하는 모듈(112)을 포함한다. 즉, 변환 모듈(112)은 스킵된 프레임에 대한 모션 정보를 병진 모션 벡터로 변환한다. 일 실시예에서, 변환 모듈(112)은 인코딩을 위한 모듈(102)로부터 모션 정보를 수신하여 모션 정보를 수신하는 수단을 포함할 수 있다. 보간 모듈(116)은 병진 모션 벡터를 적용하여 스킵된 비디오 프레임을 보간한다.
본 개시에 따라, 병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 비디오 프레임에 대한 모션 정보를 생성하는 수단은 프레임 추리 모듈(20)(도 1), 모션 추정 모듈(34)(도 2 또는 도 3), 모션 추정 모듈(48)(도 4), 위치 추정 모듈(50)(도 4), 스킵된 프레임 분석 모듈(44)(도 4), 모션 정보 생성 모듈(108)(도 8), 모션 정보 생성 모듈(114)(도 8)을 포함할 수 있다. 마찬가지로, 적어도 하나의 비디오 프레임 내에 모션 정보를 인코딩하는 프레임들을 어셈블리하는 수단은 프레임 처리 모듈(20)(도 1), 프레임 어셈블리 모듈(도 4) 또는 프레임 어셈블리 모듈(110)(도 8)을 포함할 수 있다. 변환 수단은 모션 정보 변환 모듈(38)(도 3) 또는 변환 모듈(112)(도 8)을 포함할 수 있다. 보간 수단은 보간 디코더 모듈(24)(도 1), 보간 모듈(32)(도 2 및 도 3) 또는 보간 모듈(116)(도 8)을 포함할 수 있다. 설명을 위해 상기 예가 제공되지만, 개시는 각 수단에 대응하는 구조의 다른 예를 포함할 수 있다.
상기 식(1)으로 표현되는 어파인 모션 모델은 병진 모션은 물론, 회전, 전단 및 스케일링을 근사화한다. 어파인 모션 모델에 기반한 모션 정보는 종래의 병진 모션 벡터들의 2 파라미터 근사화에 반해 스킵된 프레임의 모션의 6-파라미터 근사화를 제공한다. 상술한 바와 같이, 본 개시의 기술은 어파인 근사화보다 많은 또는 적은 파라미터를 기초로 모션을 근사화하는 모션 모델들을 이용하여 모션 정보를 근사화할 수 있다.
여기서 설명하는 기술들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수 있다. 소프트웨어에 구현된다면, 상기 기술들은 실행시 상 술한 방법들 중 하나 이상을 수행하는 명령들을 포함하는 프로그램 코드를 포함하는 기계 판독 가능 매체(또는 기계 판독 가능 매체)에 의해 부분적으로 실현될 수 있다. 이 경우, 컴퓨터 판독 가능 매체는 동기 동적 랜덤 액세스 메모리(SDRAM)와 같은 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 비휘발성 랜덤 액세스 메모리(NVRAM), 전기적으로 삭제 가능한 프로그래밍 가능 판독 전용 메모리(EEPROM), FLASH 메모리, 자기 또는 광 데이터 저장 매체 등을 포함할 수 있다.
프로그램 코드는 하나 이상의 디지털 신호 프로세서(DSP), 범용 마이크로프로세서, 주문형 집적 회로(ASIC), 현장 프로그래밍 가능 로직 어레이(FPGA), 또는 다른 등가 집적 또는 이산 로직 회로와 같은 하나 이상의 프로세서에 의해 실행될 수 있다. 일부 실시예에서, 여기서 설명한 기능은 인코딩 및 디코딩을 위해 구성된 전용 소프트웨어 모듈 또는 하드웨어 모듈 내에 제공될 수도 있고, 또는 조합된 비디오 인코더-디코더(CODEC)에 통합될 수도 있다.
그럼에도, 다음 청구범위의 범위를 벗어나지 않으면서 설명한 기술에 대해 다양한 변형이 이루어질 수 있다. 이에 따라, 상술한 특정 실시예들, 및 다른 실시예들은 다음 청구범위의 범위 내에 있다.

Claims (57)

  1. 디지털 비디오 데이터를 처리하는 방법으로서,
    병진 모션(translational motion) 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 비디오 프레임에 대한 모션을 지시하는 모션 정보를 얻는 단계; 및
    상기 스킵된 비디오 프레임을 보간하기 위해 상기 모션 정보를 적용하는 단계를 포함하는, 디지털 비디오 데이터 처리 방법.
  2. 제 1 항에 있어서,
    상기 모션 정보는 어파인(affine) 모션 모델에 기반한 모션을 지시하는 것을 특징으로 하는 디지털 비디오 데이터 처리 방법.
  3. 제 1 항에 있어서,
    상기 모션 정보를 얻는 단계는 다수의 디지털 비디오 프레임들을 수신하는 단계를 포함하며, 상기 모션 정보는 상기 수신된 비디오 프레임들 중 적어도 하나 내에 인코딩되는 것을 특징으로 하는 디지털 비디오 데이터 처리 방법.
  4. 제 1 항에 있어서,
    상기 모션 정보를 얻는 단계는,
    상기 스킵된 비디오 프레임에 인접한 하나 이상의 비디오 프레임들과 관련된 모션 정보를 수신하는 단계; 및
    상기 스킵된 비디오 프레임에 인접한 비디오 프레임들과 관련된 모션 정보를 기초로 상기 스킵된 비디오 프레임에 대한 모션 정보를 생성하는 단계를 포함하는 것을 특징으로 하는 디지털 비디오 데이터 처리 방법.
  5. 제 1 항에 있어서,
    상기 모션 정보는 제 1 모션 정보를 포함하며, 상기 방법은 상기 스킵된 비디오 프레임에 인접한 하나 이상의 비디오 프레임들과 관련된 제 2 모션 정보를 수신하는 단계를 더 포함하고, 상기 모션 정보를 적용하는 단계는 상기 스킵된 비디오 프레임을 보간하기 위해 상기 제 1 및 제 2 모션 정보를 적용하는 단계를 포함하는 것을 특징으로 하는 디지털 비디오 데이터 처리 방법.
  6. 제 1 항에 있어서,
    상기 모션 정보는 스킵된 전체 비디오 프레임에 대한 모션을 지시하는 것을 특징으로 하는 디지털 비디오 데이터 처리 방법.
  7. 제 1 항에 있어서,
    상기 모션 정보는 상기 스킵된 비디오 프레임의 일부에 대한 모션을 지시하고, 상기 방법은,
    상기 모션 정보와 관련된 상기 스킵된 비디오 프레임의 일부를 기술하는 위 치 정보를 수신하는 단계; 및
    상기 위치 정보에 의해 기술되는 상기 스킵된 비디오 프레임의 일부를 보간하기 위해 상기 모션 정보를 적용하는 단계를 더 포함하는 것을 특징으로 하는 디지털 비디오 데이터 처리 방법.
  8. 제 1 항에 있어서,
    상기 수신된 모션 정보를 병진 모션만을 기초로 상기 스킵된 비디오 프레임에 대한 모션을 지시하는 모션 정보로 변환하는 단계를 더 포함하는 것을 특징으로 하는 디지털 비디오 데이터 처리 방법.
  9. 제 8 항에 있어서,
    상기 수신된 모션 정보를 병진 모션만을 기초로 상기 스킵된 비디오 프레임에 대한 모션을 지시하는 모션 정보로 변환하는 단계는,
    관심 있는 픽셀들의 블록 내에서 하나 이상의 픽셀들에 대해 상기 모션 정보를 기초로 모션 벡터들을 생성하는 단계; 및
    픽셀들의 전체 블록에 대한 모션 벡터를 생성하기 위해 상기 하나 이상의 픽셀들의 모션 벡터들을 병합하는 단계를 포함하는 것을 특징으로 하는 디지털 비디오 데이터 처리 방법.
  10. 제 1 항에 있어서,
    상기 다른 모션 파라미터는 스케일링, 전단(shearing), 회전, 패닝(panning) 및 틸팅(tilting) 중 적어도 하나를 포함하는 것을 특징으로 하는 디지털 비디오 데이터 처리 방법.
  11. 디지털 비디오 데이터를 처리하는 프로세서로서,
    병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 비디오 프레임에 대한 모션을 지시하는 모션 정보를 얻고, 상기 스킵된 비디오 프레임을 보간하기 위해 상기 모션 정보를 적용하도록 구성되는, 프로세서.
  12. 제 11 항에 있어서,
    상기 프로세서는 어파인 모션 모델에 기반한 모션을 지시하는 모션 정보를 얻도록 구성되는 것을 특징으로 하는 프로세서.
  13. 제 11 항에 있어서,
    상기 프로세서는 적어도 하나의 수신된 비디오 프레임 내에 인코딩되는 모션 정보를 수신하도록 구성되는 것을 특징으로 하는 프로세서.
  14. 제 11 항에 있어서,
    상기 프로세서는,
    상기 스킵된 비디오 프레임에 인접한 하나 이상의 비디오 프레임들과 관련된 모션 정보를 수신하고;
    상기 스킵된 비디오 프레임에 인접한 비디오 프레임들과 관련된 모션 정보를 기초로 상기 스킵된 비디오 프레임에 대한 모션 정보를 생성하도록 구성되는 것을 특징으로 하는 프로세서.
  15. 제 11 항에 있어서,
    상기 모션 정보는 제 1 모션 정보를 포함하며, 상기 프로세서는 상기 스킵된 비디오 프레임에 인접한 하나 이상의 비디오 프레임들과 관련된 제 2 모션 정보를 수신하고, 상기 스킵된 비디오 프레임을 보간하기 위해 상기 제 1 및 제 2 모션 정보를 적용하도록 구성되는 것을 특징으로 하는 프로세서.
  16. 제 11 항에 있어서,
    상기 프로세서는 상기 스킵된 비디오 프레임의 일부에 대한 모션을 지시하는 모션 정보를 수신하고, 상기 모션 정보와 관련된 상기 스킵된 비디오 프레임의 일부를 기술하는 위치 정보를 수신하고, 상기 모션 정보를 적용하여 상기 위치 정보에 의해 기술되는 상기 스킵된 비디오 프레임의 일부를 보간하도록 구성되는 것을 특징으로 하는 프로세서.
  17. 제 11 항에 있어서,
    상기 프로세서는 상기 수신된 모션 정보를 병진 모션만을 기초로 상기 스킵 된 비디오 프레임에 대한 모션을 지시하는 모션 정보로 변환하도록 구성되는 것을 특징으로 하는 프로세서.
  18. 제 11 항에 있어서,
    상기 프로세서는 무선 통신 장치 내에 포함되고, 상기 장치는 디지털 비디오 프레임들을 수신하는 수신기를 더 포함하며, 상기 디지털 비디오 프레임들 중 적어도 하나는 상기 스킵된 비디오 프레임을 보간하기 위해 상기 프로세서에 의해 사용되는 것을 특징으로 하는 프로세서.
  19. 디지털 비디오 데이터를 처리하는 장치로서,
    병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 비디오 프레임에 대한 모션을 지시하는 모션 정보를 얻고, 상기 스킵된 비디오 프레임을 보간하기 위해 상기 모션 정보를 적용하는 보간 모듈을 포함하는, 디지털 비디오 데이터 처리 장치.
  20. 제 19 항에 있어서,
    상기 보간 모듈은 어파인 모션 모델에 기반한 모션을 지시하는 모션 정보를 얻는 것을 특징으로 하는 디지털 비디오 데이터 처리 장치.
  21. 제 19 항에 있어서,
    상기 보간 모듈은 적어도 하나의 수신된 비디오 프레임 내에 인코딩되는 모션 정보를 수신하는 것을 특징으로 하는 디지털 비디오 데이터 처리 장치.
  22. 제 19 항에 있어서,
    상기 스킵된 비디오 프레임에 인접한 하나 이상의 비디오 프레임들과 관련된 모션 정보를 수신하고, 상기 스킵된 비디오 프레임에 인접한 비디오 프레임들과 관련된 모션 정보를 기초로 상기 스킵된 비디오 프레임에 대한 모션 정보를 생성하는 모션 추정 모듈을 더 포함하며, 상기 보간 모듈은 상기 모션 추정 모듈로부터 상기 모션 정보를 얻는 것을 특징으로 하는 디지털 비디오 데이터 처리 장치.
  23. 제 19 항에 있어서,
    상기 모션 정보를 병진 모션만을 기초로 상기 스킵된 비디오 프레임에 대한 모션을 지시하는 모션 정보로 변환하는 모션 정보 변환 모듈을 더 포함하는 것을 특징으로 하는 디지털 비디오 데이터 처리 장치.
  24. 디지털 비디오 데이터를 처리하는 장치로서,
    병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 비디오 프레임에 대한 모션을 지시하는 모션 정보를 얻는 수단; 및
    상기 모션 정보를 적용함으로써 상기 스킵된 비디오 프레임을 보간하는 수단을 포함하는, 디지털 비디오 데이터 처리 장치.
  25. 제 24 항에 있어서,
    상기 모션 정보는 어파인 모션 모델에 기반한 모션을 지시하는 것을 특징으로 하는 디지털 비디오 데이터 처리 장치.
  26. 제 24 항에 있어서,
    다수의 비디오 프레임들을 수신하는 수단을 더 포함하며, 상기 모션 정보는 상기 수신된 비디오 프레임들 중 적어도 하나 내에 인코딩되는 것을 특징으로 하는 디지털 비디오 데이터 처리 장치.
  27. 제 24 항에 있어서,
    상기 스킵된 비디오 프레임에 인접한 하나 이상의 비디오 프레임들과 관련된 모션 정보를 수신하는 수단; 및
    상기 스킵된 비디오 프레임에 인접한 비디오 프레임들과 관련된 모션 정보를 기초로 상기 스킵된 비디오 프레임에 대한 모션 정보를 생성하는 수단을 더 포함하는 것을 특징으로 하는 디지털 비디오 데이터 처리 장치.
  28. 제 24 항에 있어서,
    상기 모션 정보는 상기 스킵된 비디오 프레임의 일부에 대한 모션을 지시하고, 상기 장치는 상기 모션 정보와 관련된 상기 스킵된 비디오 프레임의 일부를 기 술하는 위치 정보를 수신하는 수단을 더 포함하며, 상기 보간 수단은 상기 모션 정보를 적용하여 상기 위치 정보에 의해 기술되는 상기 스킵된 비디오 프레임의 일부를 보간하는 것을 특징으로 하는 디지털 비디오 데이터 처리 장치.
  29. 제 24 항에 있어서,
    상기 수신된 모션 정보를 병진 모션만을 기초로 상기 스킵된 비디오 프레임에 대한 모션을 지시하는 모션 정보로 변환하는 수단을 더 포함하는 것을 특징으로 하는 디지털 비디오 데이터 처리 장치.
  30. 기계 판독 가능 매체로서,
    실행시 기계로 하여금,
    병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 비디오 프레임에 대한 모션을 지시하는 모션 정보를 얻게 하는 명령들; 및
    상기 스킵된 비디오 프레임을 보간하기 위해 상기 모션 정보를 적용하게 하는 명령들을 포함하는, 기계 판독 가능 매체.
  31. 제 30 항에 있어서,
    상기 기계로 하여금 상기 모션 정보를 얻게 하는 명령들은 다수의 디지털 비디오 프레임들을 수신하기 위한 명령들을 포함하며, 상기 모션 정보는 상기 수신된 비디오 프레임들 중 적어도 하나 내에 인코딩되는 것을 특징으로 하는 기계 판독 가능 매체.
  32. 제 30 항에 있어서,
    상기 기계로 하여금 상기 모션 정보를 얻게 하는 명령들은,
    상기 스킵된 비디오 프레임에 인접한 하나 이상의 비디오 프레임들과 관련된 모션 정보를 수신하기 위한 명령들; 및
    상기 스킵된 비디오 프레임에 인접한 비디오 프레임들과 관련된 모션 정보를 기초로 상기 스킵된 비디오 프레임에 대한 모션 정보를 생성하기 위한 명령들을 포함하는 것을 특징으로 하는 기계 판독 가능 매체.
  33. 제 30 항에 있어서,
    상기 수신된 모션 정보를 병진 모션만을 기초로 상기 스킵된 비디오 프레임에 대한 모션을 지시하는 모션 정보로 변환하기 위한 명령들을 더 포함하는 것을 특징으로 하는 기계 판독 가능 매체.
  34. 비디오 인코딩 방법으로서,
    병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 비디오 프레임에 대한 모션을 지시하는 모션 정보를 생성하는 단계; 및
    적어도 하나의 비디오 프레임 내에 상기 모션 정보를 인코딩하는 단계를 포함하는, 비디오 인코딩 방법.
  35. 제 34 항에 있어서,
    상기 모션 정보를 생성하는 단계는 어파인 모션 모델에 기반한 모션을 지시하는 모션 정보를 생성하는 단계를 포함하는 것을 특징으로 하는 비디오 인코딩 방법.
  36. 제 34 항에 있어서,
    상기 모션 정보를 생성하는 단계는 상기 스킵된 비디오 프레임의 일부에 대한 모션을 지시하는 모션 정보를 생성하는 단계를 포함하고, 상기 방법은,
    상기 모션 정보와 관련된 상기 스킵된 비디오 프레임의 일부를 기술하는 위치 정보를 생성하는 단계; 및
    상기 비디오 프레임 내에 상기 위치 정보를 인코딩하는 단계를 더 포함하는 것을 특징으로 하는 비디오 인코딩 방법.
  37. 제 36 항에 있어서,
    상기 위치 정보를 생성하는 단계는,
    병진 모션 외의 다른 모션으로 상기 스킵된 프레임 내의 객체들을 식별하기 위해 모션 분할을 수행하는 단계; 및
    상기 식별된 객체들에 대한 병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 상기 모션 정보를 생성하는 단계를 포함하는 것을 특징으로 하는 비디오 인코딩 방법.
  38. 제 34 항에 있어서,
    상기 병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 비디오 프레임에 대한 모션을 지시하는 모션 정보를 생성하는 단계는 병진 모션 및 스케일링, 전단, 회전, 패닝 및 틸팅 중 적어도 하나를 기초로 스킵된 비디오 프레임에 대한 모션을 지시하는 모션 정보를 생성하는 단계를 포함하는 것을 특징으로 하는 비디오 인코딩 방법.
  39. 제 34 항에 있어서,
    상기 적어도 하나의 비디오 프레임 내에 상기 모션 정보를 인코딩하는 단계는 스킵되지 않은 비디오 프레임 내에 상기 모션 정보를 인코딩하는 단계를 포함하는 것을 특징으로 하는 비디오 인코딩 방법.
  40. 제 34 항에 있어서,
    상기 스킵된 비디오 프레임의 보간시 비디오 디코더를 보조하기 위해 상기 비디오 프레임을 상기 비디오 디코더에 전송하는 단계를 더 포함하는 것을 특징으로 하는 비디오 인코딩 방법.
  41. 디지털 비디오 데이터를 인코딩하는 장치로서,
    스킵된 비디오 프레임을 분석하여, 병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 상기 스킵된 비디오 프레임에 대한 모션을 지시하는 모션 정보를 생성하는 분석 모듈; 및
    적어도 하나의 비디오 프레임 내에 상기 모션 정보를 인코딩하는 어셈블리 모듈을 포함하는, 디지털 비디오 데이터 인코딩 장치.
  42. 제 41 항에 있어서,
    상기 분석 모듈은 어파인 모션 모델에 기반한 모션을 지시하는 모션 정보를 생성하는 것을 특징으로 하는 디지털 비디오 데이터 인코딩 장치.
  43. 제 41 항에 있어서,
    상기 분석 모듈은 상기 스킵된 비디오 프레임의 일부에 대한 모션을 지시하는 모션 정보를 생성하고, 상기 모션 정보와 관련된 상기 스킵된 비디오 프레임의 일부를 기술하는 위치 정보를 생성하며, 상기 비디오 프레임 내에 상기 위치 정보를 인코딩하는 것을 특징으로 하는 디지털 비디오 데이터 인코딩 장치.
  44. 제 41 항에 있어서,
    상기 스킵된 비디오 프레임의 보간시 비디오 디코더를 보조하기 위해 상기 비디오 프레임을 상기 비디오 디코더에 전송하는 송신기를 더 포함하는 것을 특징으로 하는 디지털 비디오 데이터 인코딩 장치.
  45. 제 41 항에 있어서,
    상기 분석 모듈은 병진 모션 및 스케일링, 전단, 회전, 패닝 및 틸팅 중 적어도 하나를 기초로 스킵된 비디오 프레임에 대한 모션을 지시하는 모션 정보를 생성하는 것을 특징으로 하는 디지털 비디오 데이터 인코딩 장치.
  46. 디지털 비디오 데이터를 인코딩하는 장치로서,
    병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 비디오 프레임에 대한 모션을 지시하는 모션 정보를 생성하는 수단; 및
    적어도 하나의 비디오 프레임 내에 상기 모션 정보를 인코딩하는 프레임들을 어셈블리하는 수단을 포함하는, 디지털 비디오 데이터 인코딩 장치.
  47. 제 46 항에 있어서,
    상기 생성 수단은 상기 스킵된 비디오 프레임의 일부에 대한 모션을 지시하는 모션 정보를 생성하고, 상기 모션 정보와 관련된 상기 스킵된 비디오 프레임의 일부를 기술하는 위치 정보를 생성하며, 상기 비디오 프레임 내에 상기 위치 정보를 인코딩하는 것을 특징으로 하는 디지털 비디오 데이터 인코딩 장치.
  48. 제 47 항에 있어서,
    상기 생성 수단은 병진 모션을 기초로 모션 정보를 생성하고, 병진 모션 외 의 다른 모션으로 상기 스킵된 프레임 내의 객체들을 식별하기 위해 모션 분할을 수행하며, 상기 식별된 객체들에 대한 병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 상기 모션 정보를 생성하는 것을 특징으로 하는 디지털 비디오 데이터 인코딩 장치.
  49. 제 46 항에 있어서,
    상기 생성 수단은 병진 모션 및 스케일링, 전단, 회전, 패닝 및 틸팅 중 적어도 하나를 기초로 스킵된 비디오 프레임에 대한 모션을 지시하는 모션 정보를 생성하는 것을 특징으로 하는 디지털 비디오 데이터 인코딩 장치.
  50. 디지털 비디오 데이터를 인코딩하는 프로세서로서,
    병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 비디오 프레임에 대한 모션을 지시하는 모션 정보를 생성하고;
    적어도 하나의 비디오 프레임 내에 상기 모션 정보를 인코딩하도록 구성되는, 프로세서.
  51. 제 50 항에 있어서,
    상기 프로세서는 어파인 모션 모델에 기반한 모션을 지시하는 모션 정보를 생성하도록 구성되는 것을 특징으로 하는 프로세서.
  52. 제 50 항에 있어서,
    상기 프로세서는,
    상기 모션 정보와 관련된 상기 스킵된 비디오 프레임의 일부를 기술하는 위치 정보를 생성하고;
    상기 비디오 프레임 내에 상기 위치 정보를 인코딩하도록 구성되는 것을 특징으로 하는 프로세서.
  53. 제 50 항에 있어서,
    상기 프로세서는 스킵되지 않은 비디오 프레임 내에 상기 모션 정보를 인코딩하도록 구성되는 것을 특징으로 하는 프로세서.
  54. 기계 판독 가능 매체로서,
    실행시 기계로 하여금,
    병진 모션 및 적어도 하나의 다른 모션 파라미터를 기초로 스킵된 비디오 프레임에 대한 모션을 지시하는 모션 정보를 생성하게 하는 명령들; 및
    적어도 하나의 비디오 프레임 내에 상기 모션 정보를 인코딩하게 하는 명령들을 포함하는, 기계 판독 가능 매체.
  55. 제 54 항에 있어서,
    상기 모션 정보는 어파인 모션 모델에 기반한 모션을 지시하는 것을 특징으 로 하는 기계 판독 가능 매체.
  56. 제 54 항에 있어서,
    상기 기계로 하여금 모션 정보를 생성하게 하는 명령들은 상기 스킵된 비디오 프레임의 일부에 대한 모션을 지시하는 모션 정보를 생성하기 위한 명령들을 포함하고, 상기 기계 판독 가능 매체는,
    상기 모션 정보와 관련된 상기 스킵된 비디오 프레임의 일부를 기술하는 위치 정보를 생성하기 위한 명령들; 및
    상기 비디오 프레임 내에 상기 위치 정보를 인코딩하기 위한 명령들을 더 포함하는 것을 특징으로 하는 기계 판독 가능 매체.
  57. 제 54 항에 있어서,
    상기 기계로 하여금 스킵되지 않은 비디오 프레임 내에 상기 모션 정보를 인코딩하게 하는 명령들을 더 포함하는 것을 특징으로 하는 기계 판독 가능 매체.
KR1020087010186A 2005-09-27 2006-09-27 더 정확한 모션 정보를 이용한 프레임 보간 KR100953553B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US72134605P 2005-09-27 2005-09-27
US60/721,346 2005-09-27

Publications (2)

Publication Number Publication Date
KR20080056248A true KR20080056248A (ko) 2008-06-20
KR100953553B1 KR100953553B1 (ko) 2010-04-22

Family

ID=37900475

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087010186A KR100953553B1 (ko) 2005-09-27 2006-09-27 더 정확한 모션 정보를 이용한 프레임 보간

Country Status (8)

Country Link
US (1) US20070076796A1 (ko)
EP (1) EP1929788B1 (ko)
JP (2) JP4838312B2 (ko)
KR (1) KR100953553B1 (ko)
CN (1) CN101313590B (ko)
AR (1) AR058069A1 (ko)
TW (1) TW200731810A (ko)
WO (1) WO2007038697A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170027509A (ko) * 2015-09-02 2017-03-10 삼성전자주식회사 보충 정보를 이용한 영상 프레임의 보간 방법 및 장치

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2573990A1 (en) * 2004-07-15 2006-02-23 Qualcomm Incorporated H.264 spatial error concealment based on the intra-prediction direction
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
US8229983B2 (en) 2005-09-27 2012-07-24 Qualcomm Incorporated Channel switch frame
US8670437B2 (en) * 2005-09-27 2014-03-11 Qualcomm Incorporated Methods and apparatus for service acquisition
WO2008061164A2 (en) 2006-11-14 2008-05-22 Qualcomm Incorporated Systems and methods for channel switching
BRPI0718810A2 (pt) * 2006-11-15 2013-12-03 Qualcomm Inc Sistemas e métodos para aplicativos utilizando quadros de comutação de canal
US8483551B2 (en) * 2006-12-04 2013-07-09 Electronics And Telecommunications Research Institute Method for generating double-speed IDR-unit for trick play, and trick play system and method using the same
US8848793B2 (en) * 2007-10-31 2014-09-30 Broadcom Corporation Method and system for video compression with integrated picture rate up-conversion
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
KR100955430B1 (ko) 2008-12-18 2010-05-04 (주)휴맥스 인터폴레이션 방법 및 장치
ES2386327T3 (es) * 2008-08-21 2012-08-17 Vestel Elektronik Sanayi Ve Ticaret A.S. Método y aparato para aumentar la frecuencia de trama de una señal de video
US8391365B2 (en) * 2009-03-20 2013-03-05 National Cheng Kung University Motion estimator and a motion estimation method
TWI566586B (zh) 2009-10-20 2017-01-11 湯姆生特許公司 一序列形象的現時區塊之寫碼方法和重建方法
CN102111613B (zh) * 2009-12-28 2012-11-28 中国移动通信集团公司 图像处理方法和装置
US8797414B2 (en) 2010-12-23 2014-08-05 Samsung Electronics Co., Ltd. Digital image stabilization device
US8792549B2 (en) * 2011-02-28 2014-07-29 Sony Corporation Decoder-derived geometric transformations for motion compensated inter prediction
WO2013036218A1 (en) 2011-09-06 2013-03-14 Intel Corporation Analytics assisted encoding
CA2883484A1 (en) 2011-09-08 2013-03-14 Paofit Holdings Pte Ltd System and method for visualizing synthetic objects withinreal-world video clip
US9811914B2 (en) 2013-06-17 2017-11-07 Immedia Semiconductor, Inc. Multi-window image processing and motion compensation
JP7233027B2 (ja) * 2013-09-30 2023-03-06 サン パテント トラスト 画像復号装置及び画像符号化装置
WO2015183194A1 (en) * 2014-05-30 2015-12-03 Paofit Technology Pte Ltd Systems and methods for motion-vector-aided video interpolation using real-time smooth video playback speed variation
MY190198A (en) * 2015-03-10 2022-04-04 Huawei Tech Co Ltd Picture prediction method and related apparatus
US9704298B2 (en) 2015-06-23 2017-07-11 Paofit Holdings Pte Ltd. Systems and methods for generating 360 degree mixed reality environments
US10404996B1 (en) * 2015-10-13 2019-09-03 Marvell International Ltd. Systems and methods for using multiple frames to adjust local and global motion in an image
WO2021006614A1 (ko) * 2019-07-08 2021-01-14 현대자동차주식회사 인터 예측을 이용하여 비디오를 부호화 및 복호화하는 방법 및 장치
US20220385748A1 (en) * 2021-05-27 2022-12-01 Qualcomm Incorporated Conveying motion data via media packets

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3679426B2 (ja) * 1993-03-15 2005-08-03 マサチューセッツ・インスティチュート・オブ・テクノロジー 画像データを符号化して夫々がコヒーレントな動きの領域を表わす複数の層とそれら層に付随する動きパラメータとにするシステム
JPH07264594A (ja) * 1994-03-23 1995-10-13 Nippon Telegr & Teleph Corp <Ntt> 動画像の動き補償予測符号化方法
JPH0865679A (ja) * 1994-08-22 1996-03-08 Sharp Corp 動画像符号化装置及び動画像復号装置
US5751377A (en) * 1994-11-04 1998-05-12 Matsushita Electric Industrial Co., Ltd. Picture coding apparatus and decoding apparatus
KR0181027B1 (ko) * 1995-03-20 1999-05-01 배순훈 화소 단위 움직임 추정을 이용하는 영상처리 시스템
JPH0984017A (ja) * 1995-09-14 1997-03-28 Nippon Telegr & Teleph Corp <Ntt> 動画像の動き補償予測符号化方法
JPH0998424A (ja) * 1995-09-29 1997-04-08 Matsushita Electric Ind Co Ltd アフィン変換パラメータ抽出方法及び装置
JPH09182083A (ja) * 1995-12-27 1997-07-11 Matsushita Electric Ind Co Ltd ビデオ画像符号化方法及び復号化方法とその装置
JP2001506472A (ja) * 1997-09-23 2001-05-15 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 動作評価及び動作補償された補間
JP2000224593A (ja) * 1999-01-28 2000-08-11 Nippon Telegr & Teleph Corp <Ntt> フレーム補間方法および装置およびこの方法を記録した記録媒体
US7558320B2 (en) * 2003-06-13 2009-07-07 Microsoft Corporation Quality control in frame interpolation with motion analysis
RU2370909C2 (ru) * 2004-07-01 2009-10-20 Квэлкомм Инкорпорейтед Способ и устройство для использования способов преобразования кадров с повышением частоты кадров при кодировании масштабируемого видео
US8018998B2 (en) * 2005-05-20 2011-09-13 Microsoft Corporation Low complexity motion compensated frame interpolation method
US9258519B2 (en) * 2005-09-27 2016-02-09 Qualcomm Incorporated Encoder assisted frame rate up conversion using various motion models

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170027509A (ko) * 2015-09-02 2017-03-10 삼성전자주식회사 보충 정보를 이용한 영상 프레임의 보간 방법 및 장치

Also Published As

Publication number Publication date
JP2009510929A (ja) 2009-03-12
KR100953553B1 (ko) 2010-04-22
EP1929788A2 (en) 2008-06-11
CN101313590A (zh) 2008-11-26
JP4838312B2 (ja) 2011-12-14
JP2012010381A (ja) 2012-01-12
US20070076796A1 (en) 2007-04-05
JP5619692B2 (ja) 2014-11-05
TW200731810A (en) 2007-08-16
CN101313590B (zh) 2011-11-02
WO2007038697A2 (en) 2007-04-05
WO2007038697A3 (en) 2007-09-13
EP1929788B1 (en) 2014-10-15
AR058069A1 (es) 2008-01-23

Similar Documents

Publication Publication Date Title
KR100953553B1 (ko) 더 정확한 모션 정보를 이용한 프레임 보간
US9503739B2 (en) Encoder-assisted adaptive video frame interpolation
US7848425B2 (en) Method and apparatus for encoding and decoding stereoscopic video
KR100422389B1 (ko) 비디오 프레임 속도를 증가시키기 위한 방법 및 장치
US9258519B2 (en) Encoder assisted frame rate up conversion using various motion models
CA2565670A1 (en) Method and apparatus for motion compensated frame rate up conversion
JP2006279573A (ja) 符号化装置と方法、ならびに復号装置と方法
JP2000512091A (ja) 動作ベクトル処理
US8098946B2 (en) Apparatus and method for image encoding and decoding using prediction
Kuo et al. Kalman filtering based rate-constrained motion estimation for very low bit rate video coding
JP2000023164A (ja) デジタルビデオ処理方式
KR20090065195A (ko) 동영상 부호화를 위한 미세 움직임 추정 방법 및 장치
KR100671040B1 (ko) 영상 보간 장치 및 방법
JPH07298270A (ja) 動き補償フレーム間予測符号化装置
JPH08107558A (ja) 動画符号化および復号の方法および装置
Baldor et al. MPEG− 2 to H. 263 Transcoder System Modeling and Implementation
GB2368220A (en) Compression of motion vectors
JP2005323252A (ja) 画像符号化装置及び画像復号化装置
JP2002135785A (ja) 動きベクトル変換方法及び変換装置
KR19990003316A (ko) 개선된 윤곽선 움직임 벡터 부호화 장치

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
FPAY Annual fee payment

Payment date: 20130329

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160330

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170330

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180329

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee