KR20080044874A - 비디오 코딩 시의 갱신 연산을 위한 서브 픽셀 보간 방법및 장치 - Google Patents

비디오 코딩 시의 갱신 연산을 위한 서브 픽셀 보간 방법및 장치 Download PDF

Info

Publication number
KR20080044874A
KR20080044874A KR1020087006208A KR20087006208A KR20080044874A KR 20080044874 A KR20080044874 A KR 20080044874A KR 1020087006208 A KR1020087006208 A KR 1020087006208A KR 20087006208 A KR20087006208 A KR 20087006208A KR 20080044874 A KR20080044874 A KR 20080044874A
Authority
KR
South Korea
Prior art keywords
prediction
block
motion vector
flows
sample values
Prior art date
Application number
KR1020087006208A
Other languages
English (en)
Inventor
시앙린 왕
마르타 카르체위츠
저스틴 릿지
이리앙 바오
Original Assignee
노키아 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 노키아 코포레이션 filed Critical 노키아 코포레이션
Publication of KR20080044874A publication Critical patent/KR20080044874A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • 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/523Motion estimation or motion compensation with sub-pixel accuracy
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • H04N19/615Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding using motion compensated temporal filtering [MCTF]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]

Landscapes

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

Abstract

예측 연산 및 갠신 연산을 포함하는, 디지털 비디오 시퀀스의 비디오 인코딩 및 디코딩 시, 갱신 연산은 에너지 배분형 보간을 생성하는 보간을 포함한다. 예측은, 기준 프레임 및 모션 벡터 관련 모션 보상 예측에 기반하여 각 블록에 대해 수행됨으로써 예측 유수들의 해당 블록을 제공하도록 한다. 예측 유수들의 블록 및 역방향 모션 벡터에 대한 모션 보상 예측에 기반하여 참조 비디오 프레임에 대한 갱신이 수행된다. 보간 필터는 모션 벡터에 기초해 정해지고, 서브 픽셀의 샘플 값들은, 예측 유수들의 블록 바깥의 샘플 값들을 0으로 취급함으로써 블록 예측 유수들을 이용해 보간된다. 보간은 일차원 보간 필터를 사용해 수평 방향 및 수직 방향을 따라 따로따로 수행된다.

Description

비디오 코딩 시의 갱신 연산을 위한 서브 픽셀 보간 방법 및 장치{Method and apparatus for sub-pixel interpolation for updating operation in video coding}
본 발명은 일반적으로 비디오 코딩에 관한 것으로, 더 상세히 말하면 모션 보상된 순간 필터링을 이용하는 비디오 코딩에 대한 것이다.
저장 및 방송 목적을 위해서 디지털 비디오가 압축되고 그 결과 압축 비디오가 보다 작은 공간에 저장될 수 있게 된다.
필름에 기록되는 일반 모션 픽처들 같은 디지털 비디오 시퀀스들은 스틸 이미지들의 시퀀스를 포함하며, 모션의 상은 보통 초당 15 내지 30 프레임의 상대적으로 빠른 프레임 레이트로써 이미지들을 하나씩 순서대로 디스플레이함으로써 생성된다. 디지털 비디오를 압축하는 일반적인 방법은 그러한 순차적 이미지들 사이의 중복 (즉, 시간적 중복 (temporal redundancy))을 활용하는 것이다. 주어진 어떤 순간에 일반적인 비디오 내에는, 어떤 이동 오브젝트들과 결합 된 느린 카메라 동작이 존재하거나 그러한 카메라 동작이 존재하지 않으며, 연속 이미지들은 유사한 콘텐츠를 포함한다. 연속 이미지들 사이의 차이만을 전달하는 것이 바람직하게 된다. 예측 에러 프레임 En으로 불리는 차이 (difference) 프레임은 현재의 프레임 In과 참조 프레임 Pn 사이의 차이이다. 따라서 예측 에러 프레임은 다음과 같이 주어진다.
Figure 112008018443787-PCT00001
위에서, n은 프레임 넘버이고 (x,y)는 픽셀 좌표를 나타낸다. 예측 에러 프레임은 예측 유수 프레임 (prediction residue frame)이라고도 불린다. 통상적인 비디오 코덱에서 차이 프레임은 전송 전에 압축된다. 압축은 이산 코사인 변환 (DCT, Discrete Cosine Transform) 및 허프만 (Huffman) 코딩, 또는 그와 유사한 방법들을 통해 수행된다.
압축할 비디오에 모션이 포함되기 때문에, 연속된 두 이미지들의 감산이 항상 미소한 차이로 귀결되는 것은 아니다. 예를 들어, 카메라가 팬 (pan)하고 있을 때, 전체 신(scene)이 바뀌게 된다. 모션을 보상하기 위해, 모션 벡터라 불리는 변위 (displacement)
Figure 112008018443787-PCT00002
가 이전 프레임의 좌표에 더해진다. 그에 따라 예측 에러는 다음과 같게 된다.
Figure 112008018443787-PCT00003
사실상, 비디오 코덱에서 프레임은 블록들로 분할되고 각 블록마다 오직 한 모션 벡터가 전송되어, 동일한 모션 벡터가 한 블록 내 모든 픽셀들에 대해 사용되게 된다. 한 프레임 내 각 블록에 대한 최선의 모션 벡터를 찾는 프로세스를 모션 추정 (motion estimation)이라고 한다. 모션 벡터들이 입수되면,
Figure 112008018443787-PCT00004
를 산출하는 프로세스를 모션 보상이라 부르고 산출된 항목
Figure 112008018443787-PCT00005
을 모션 보상 예측(치)이라고 한다.
상술한 코딩 메커니즘에서, 참조 프레임 Pn은 앞서 코딩된 프레임들 가운데 하나일 수 있다. 이 경우, Pn은 인코더와 디코더 둘 다에 알려져 있다. 그러한 코딩 구조를 폐루프 (closed-loop)라고 한다.
Pn은 또한 오리지널 프레임들 가운데 하나일 수도 있다. 그 경우 코딩 구조를 오픈 루프 (open-loop)라고 한다. 오리지널 프레임은 디코더는 말고 인코더에서만 사용가능하므로, 오픈 루프 구조를 통한 예측 프로세스에는 드리프트 (drift, 편차)가 있을 수 있다. 드리프트는 예측치
Figure 112008018443787-PCT00006
의 불일치 (또는 차이)를 뜻한다. 그럼에도 불구하고, 오픈 루프 구조는 비디오 코딩, 특히 규모가변적 (scalable) 비디오 코딩에 점점 더 자주 사용되고 있는데, 이는 오픈 루프 구조가 모션 보상 순간 필터링 (motion compensated temporal filtering, 즉 MCTF)를 구현하는 리프팅 (lifting) 단계들을 이용하여 비디오의 시간적으로 규모가변적인 표현을 구하는 것을 가능하게 하기 때문이다.
도 1a 및 1b는 리프팅 단계들을 이용하는 MCTF의 기본 구조를 보인 것으로 서, 리프팅 구조를 이용하는 MCTF에 대한 분해 및 합성 둘 모두를 보이고 있다. 이 도면에서, In과 In+1은 이웃하는 오리지널 프레임들이다.
리프팅은 예측 단계 및 갱신 단계의 두 단계들로 이뤄진다. 이들은 각각 도 1a 및 1b에서 PU로 표시되어 있다. 도 1a는 분해 (분석) 프로세스이고 도 1b는 합성 (통합) 프로세스이다. 분해시의 출력 신호들과 합성 프로세스에서의 입력 신호들이 H 및 L 신호들이다. H와 L 신호는 다음과 같이 도출된다:
Figure 112008018443787-PCT00007
예측 단계 P는 모션 보상 단계로 간주 될 수 있다. P의 출력, 즉 P(In)은 모션 보상된 예측치이다. 도 1(a)에서 H는 프레임 In으로부터의 예측에 기반한 프레임 In+1의 시간적 예측 유수 (prediction residue)이다. H 신호는 일반적으로 오리지널 비디오 신호의 시간적 고주파수 성분을 포함한다. 업데이트 단계 U에서, H의 시간적 고주파수 성분이 프레임 In으로 피드백되어 시간적 저주파 성분 L을 생성하게 된다. 이러한 이유로 H와 L을 각각 시간상 고 대역 및 저 대역 신호라고 부른다.
도 1b에 도시된 합성 프로세스에서, 재구성 프레임들 I'n과 I'n +1은 이하의 연산을 통해 도출된다:
Figure 112008018443787-PCT00008
신호들 L과 H가 도 1a 및 1b에 도시된 것 같은 분해 및 합성 프로세스들 사이에서 변하지 않고 유지되면, I'n 및 In+1'은 각자 In 및 In+1과 정확히 동일할 것이다. 이 경우, 상기 리프팅 단계들을 통해 완벽한 재구성이 달성될 수 있다.
도 1a 및 1b에 도시된 구조가 직렬 접속되어, 비디오 시퀀스가 여러 시간상의 레벨들로 분해될 수 있도록 할 수도 있다. 도 2에 도시된 바와 같이, 두 레벨의 리프팅 단계들이 수행된다. 각 분해 레벨에서의 시간상의 저 대역 신호는 시간적 규모가변성을 제공할 수 있다.
MCTF에서, 예측 단계는, 오픈 루프 구조에 기초한다는 것만 빼면, 실질적으로 일반적 모션 보상 프로세스에 해당한다. 그와 같은 프로세스에서, 현재의 프레임에 대한 보상 예측은, 각 매크로블록에 대해 최선으로 추정된 모션 벡터들에 기초해 이뤄진다. 모션 벡터들이 보통 서브-픽셀 단위의 정밀도를 가지기 때문에, 모션 보상시 서브 픽셀 단위 보간이 요구된다. 모션 벡터들은 1/4 픽셀의 정밀도를 가질 수 있다. 이 경우, 픽셀 보간을 위해 가능한 위치들이 도 3에 도시되어 있다. 도 3은 1/4 픽셀로까지 가능한 보간(된) 픽셀 위치들을 보인다. 도 3에서, A, E, U 및 Y는 오리지널 정수 픽셀 위치들을 가리키고, c, k, m, o 및 w는 1/2 (half) 픽셀 위치들을 가리킨다. 다른 모든 위치들은 1/4 픽셀 위치들에 해당한다.
통상적으로, 1/2 픽셀 위치들에서의 값들은 임펄스 응답을 갖는 6-탭 필터 (1/32, -5/32, 20/32, 20/32, -5/32, 1/32)를 사용해 구해진다. 그 필터는 적절할 때 수평 방향 및 수직 방향의 두 방향 모두를 따라 있는 정수 픽셀 값들에 대해 작용한다. 디코더의 단순화를 위해, 6-탭 필터는 일반적으로 1/4 픽셀 값들을 보간하는데는 사용되지 않는다. 대신, 한 정수 위치와 그에 인접하는 1/2 픽셀 위치들을 평균하고, 인접하는 두 1/2 픽셀 위치들을 다음과 같이 평균하여 1/4 위치들이 얻어진다:
b=(A+c)/2, d=(c+E)/2, f=(A+k)/2, g=(c+k)/2, h=(c+m)/2, i=(c+o)/2, j=(E+o)/2, l=(k+m)/2, n=(m+o)/2, p=(U+k)/2, q=(k+w)/2, r=(m+w)/2, s=(w+o)/2, t=(Y+o)/2, v=(w+U)/2, x=(Y+w)/2
모션 예측의 예가 도 4a에 도시되어 있다. 도 4a에서, An은 프레임 In 내 한 블록을 나타내고 An+1은 프레임 In+1 내 같은 위치의 블록을 나타낸다. An이 프레임 In+1 내 한 블록 Bn +1을 예측하는데 사용되고 예측에 사용되는 모션 벡터는 도 4a에 나타낸 것과 같이
Figure 112008018443787-PCT00009
라고 전제한다. 모션 벡터
Figure 112008018443787-PCT00010
에 좌우되어, An이 도 3에 도시된 것과 같은 픽셀 혹은 서브-픽셀 위치에 자리할 수 있다. An이 한 서브 픽셀 위치에 자리하면, 그것이 블록 Bn +1에서 감산 될 예측치로서 사용되기 전에 An 안의 값들의 보간이 필요로 된다.
본 발명은 에너지 분산형 (energy distributed) 보간을 발생하기 위한, 간단하지만 효율적인 갱신 단계 보간을 제안한다. 본 발명에 따른 보간 방식은 블록 베이스로 수행된다. 각 블록에 대해 일차원 보간 필터를 사용해 각각 수평 방향과 수직 방향을 따라 연산이 수행된다. 특히, 참조 비디오 프레임 및 모션 벡터에 대해 모션 보상(된) 예측에 기반하여 각 블록에 대한 예측 연산이 수행되어, 예측 유수들의 해당 블록을 제공하도록 한다. 갱신 연산은, 예측 유수들의 블록 및 역방향 모션 벡터에 대한 모션 보상 예측에 기반하여, 참조 비디오 프레임에 대해 수행된다. 또, 갱신 연산시, 모션 벡터에 기초해 보간 필터가 정해지고, 예측 유수들의 블록 밖의 샘플 값들을 0으로 취급함으로써 그 블록 예측 유수들을 사용해 서브 픽셀의 샘플 값들이 보간된다.
따라서, 본 발명의 제1양태는 모션 보상(된) 순간 필터링을 이용해 디지털 비디오 시퀀스를 인코딩하는 방법으로서, 상기 비디오 시퀀스는 복수의 프레임들을 포함하며, 각각의 프레임은 복수의 블록들로 나눠진 픽셀들의 어레이를 포함한다. 상기 인코딩 방법은 참조 비디오 프레임 및 모션 벡터에 대한 모션 보상 예측에 기반하여 각 블록에 대해 예측 연산을 수행하여 예측 유수들 (residues)의 해당 블록을 제공하도록 하는 단계, 및 예측 유수들 및 역방향 모션 벡터에 대한 모션 보상 예측에 기초해 비디오 참조 프레임을 갱신하는 단계를 포함한다. 갱신 연산은 모션 벡터에 기초해 필터를 결정하는 단계 및, 예측 유수들의 블록 밖의 샘플 값들을 0으로 취급함으로써 예측 유수들의 블록을 사용해 서브 픽셀 위치들의 샘플 값들을 보간하는 단계를 포함한다. 또한, 보간은 일차원 보간 필터를 사용해 각각 수평 방향 및 수직 방향을 따라 수행된다.
본 발명의 제2양태는 여러 프레임들을 포함하는 인코딩된 비디오 시퀀스로부터 디지털 비디오 시퀀스를 디코딩하는 방법으로서, 상기 프레임들 각각은 복수의 블록들로 나눠진 픽셀들의 어레이를 포함한다. 상기 디코딩 방법은, 블록의 모션 벡터 및 블록의 예측 유수들을 디코딩하는 단계, 블록의 예측 유수들 및 역방향 모션 벡터에 대한 모션 보상 예측에 기초해 블록의 참조 비디오 프레임에 대한 갱신 연산을 수행하는 단계, 및 참조 비디오 프레임 및 모션 벡터에 대한 모션 보상 예측에 기초해 블록에 대한 예측 연산을 수행하는 단계를 포함한다. 업데이트 연산은 모션 벡터에 기초해 필터를 결정하는 단계, 및 블록 밖의 샘플 값들을 0으로 처리함으로써 예측 유수들의 블록을 사용해 서브 픽셀 위치들의 샘플 값들을 보간하는 단계를 포함한다. 또, 상기 보간은 일차원 보간 필터를 사용해 각각 수평 방향 및 수직 방향을 따라 수행된다.
본 발명의 제3양태는 모션 보상된 순간 필터링을 이용해 디지털 비디오 시퀀스를 인코딩하기 위한 비디오 인코더로서, 상기 비디오 시퀀스는 복수의 프레임들을 포함하며, 각 프레임은 복수의 블록들로 나눠진 픽셀들의 어레이를 포함한다. 상기 인코더는 참조 비디오 프레임 및 모션 벡터에 대한 모션 보상 예측에 기초하여 각 블록에 대한 예측 연산을 수행하여 예측 유수들의 해당 블록을 제공하기 위한 예측 모듈 및, 예측 유수들의 블록과 역방향 모션 벡터에 대한 모션 보상 예측에 기초하여 비디오 참조 프레임을 갱신하는 갱신 모듈을 포함한다. 갱신 모듈은, 모션 벡터에 기반해 필터를 결정하고, 예측 유수들의 블록 밖의 샘플 값들을 0으로 처리함으로써 예측 유수들의 블록을 사용해 서브 픽셀 위치들의 샘플 값들을 보간하는 소프트웨어 프로그램을 포함한다. 또, 상기 보간은 일차원 보간 필터를 이용해 각각 수평 방향과 수직 방향을 따라 수행된다.
본 발명의 제4양태는 여러 프레임들을 포함하는 인코딩된 비디오 시퀀스로부터 디지털 비디오 시퀀스를 디코딩하는 비디오 디코더로서, 상기 프레임들 각각은 복수의 블록들로 나눠진 픽셀들의 어레이를 포함한다. 디코더는 블록의 모션 벡터 및 블록의 예측 유수들을 디코딩하는 디코딩 모듈, 블록의 예측 유수들 및 역방향 모션 벡터에 대한 모션 보상 예측에 기초해 블록의 참조 비디오 프레임에 대한 갱신 연산을 수행하는 갱신 모듈, 및 참조 비디오 프레임 및 모션 벡터에 대한 모션 보상 예측에 기초해 블록에 대한 예측 연산을 수행하는 예측 모듈을 포함한다. 갱신 모듈은 모션 벡터에 기초해 필터를 결정하고 예측 유수들의 블록 밖의 샘플 값들을 0으로 취급함으로써 예측 유수들의 블록을 이용해 서브 픽셀 위치들의 샘플 값들을 보간하는 소프트웨어 프로그램을 포함한다. 또한, 그 보간은 일차원 보간 필터를 사용해 각각 수평 방향 및 수직 방향을 따라 수행된다.
본 발명의 제5양태는 본 발명의 제3 및 제4양태에 의한 인코더나 디코더를 포함하는 모바일 단말이 된다. 이 모바일 단말은 인코더 및 디코더 둘 모두를 포함할 수 있다.
본 발명의 제6양태는 모션 보상된 순간 필터링을 이용하는 디지털 비디오 시퀀스를 인코딩에 사용할 소프트웨어 어플리케이션을 구비한 저장 매체를 가진 소프트웨어 어플리케이션 생성물로서, 상기 비디오 시퀀스는 복수의 프레임들을 포함하고, 그 프레임들 각각은 복수의 블록들로 나눠진 픽셀들의 어레이를 포함한다. 상기 소프트웨어 어플리케이션은, 참조 비디오 프레임 및 모션 벡터에 대한 모션 보상 예측에 기초하여 각 블록에 대한 예측 연산을 수행하여 예측 유수들의 해당 블록을 제공하기 위한 프로그램 코드 및, 예측 유수들의 블록과 역방향 모션 벡터에 대한 모션 보상 예측에 기초하여 비디오 참조 프레임을 갱신하기 위한 프로그램 코드를 포함한다. 갱신 프로그램은, 모션 벡터에 기반해 필터를 결정하기 위한 프로그램 코드 및, 예측 유수들의 블록 밖의 샘플 값들을 0으로 취급함으로써 예측 유수들의 블록을 사용해 서브 픽셀 위치들의 샘플 값들을 보간하기 위한 프로그램 코드를 포함한다. 또, 상기 보간은 일차원 보간 필터를 이용해 각각 수평 방향과 수직 방향을 따라 수행된다.
본 발명의 제7양태는 복수의 프레임들을 포함하는 인코딩된 비디오 시퀀스로부터 디지털 비디오 시퀀스를 디코딩하는 소프트웨어 어플리케이션을 구비한 저장 매체를 가진 소프트웨어 어플리케이션 생성물로서, 상기 프레임들 각각은 복수의 블록들로 나눠진 픽셀들의 어레이를 포함한다. 상기 소프트웨어 어플리케이션은, 블록의 모션 벡터 및 블록의 예측 유수들을 디코딩하기 위한 프로그램 코드, 블록의 예측 유수들 및 역방향 모션 벡터에 대한 모션 보상 예측에 기초해 블록의 참조 비디오 프레임에 대한 갱신 연산을 수행하기 위한 프로그램 코드, 및 참조 비디오 프레임 및 모션 벡터에 대한 모션 보상 예측에 기초해 블록에 대한 예측 연산을 수행하도록 하는 프로그램 코드를 포함한다. 갱신을 위한 프로그램 코드는, 모션 벡터에 기초해 필터를 결정하기 위한 프로그램 코드, 및 예측 유수들의 블록 밖의 샘플 값들을 0으로 취급함으로써 예측 유수들의 블록을 이용해 서브 픽셀 위치들의 샘플 값들을 보간하기 위한 프로그램 코드를 포함한다. 또한, 그 보간은 일차원 보간 필터를 사용해 각각 수평 방향 및 수직 방향을 따라 수행된다.
본 발명은 도 5 내지 15와 연계된 상세한 내용을 파악할 때, 보다 자명하게 이해될 것이다.
도 1a는 리프팅 구조를 이용하는 MCTF의 분해 프로세스를 보인 것이다.
도 1b는 리프팅 구조를 이용하는 MCTF의 합성 프로세스를 보인 것이다.
도 2는 리프팅 구조를 이용하는 MCTF의 2-단계 분해 프로세스를 보인 것이다.
도 3은 1/4 픽셀까지 가능한 보간 픽셀 위치들을 보인 것이다.
도 4a는 예측 단계에서 사용되는 관련 블록들 및 모션 벡터들의 관계에 대한 예를 보인 것이다.
도 4b는 갱신 단계에서 사용되는 관련 블록들 및 모션 벡터들의 관계를 보인 것이다.
도 5는 예측 단계에 관여된 블록들의 위치들로부터 갱신 단계에 관련된 블록들의 위치들의 부분적 픽셀 차를 보인 것이다.
도 6은 보간 프로세스의 예를 보인 것이다.
도 7은 MCTF 분해 프로세스를 보인 블록도이다.
도 8은 MCTF 합성 프로세스를 보인 블록도이다.
도 9는 MCTF 기반 인코더의 블록도이다.
도 10은 MCTF 기반 디코더의 블록도이다.
도 11은 모션 벡터 필터 모듈을 통한 MCTF 분해 프로세스를 보인 블록도이다.
도 12는 모션 벡터 필터 모듈을 통한 MCTF 합성 프로세스를 보인 블록도이다.
도 13은 본 발명의 일실시예에 따른 인코딩 방법의 일부를 예시한 흐름도이다.
도 14는 본 발명의 일실시예에 따른 디코딩 방법의 일부를 예시한 흐름도이다.
도 15는 본 발명에 따라, MCTF 기반 인코딩 및 디코딩 모듈들 가운데 하나 혹은 둘 모두를 갖출 수 있는 전자 장치의 블록도이다.
모션 보상 순간 필터링 (motion compensated temporal filtering, MCTF)의 분해 및 합성 프로세스들 둘 다 리프팅 (lifting) 구조를 사용할 수 있다. 리프팅은 예측 단계 및 갱신 단계로 이뤄진다.
갱신 단계에서, 블록 Bn +1에서의 예측 유수가 예측 단계에서 사용되는 역방향 모션 벡터들에 따라 참조 블록에 더해질 수 있다. 모션 벡터가
Figure 112008018443787-PCT00011
이면 (도 4a 참조), 그 역방향 역시 모션 벡터라고 할 수 있는
Figure 112008018443787-PCT00012
로 표현될 수 있다. 그렇게 하여, 갱신 단계가 모션 보상 프로세스 역시 포함한다. 예측 단계로부터 구한 예측 유수 프레임이 참조 프레임으로 사용된다고 간주 될 수 있다. 예측 단계에서 그러한 역방향 모션 벡터들이 갱신 단계의 모션 벡터들로서 사용된다. 그러한 참조 프레임 및 모션 벡터들을 가지고, 보상(된) 프레임이 생성될 수 있다. 그런 다음 그 보상 프레임이 프레임 In에 부가되어 프레임 In 내 시간상의 고주파수들의 일부를 제거하도록 된다.
갱신 프로세스는 프레임 In 내 정수 픽셀들에 대해서만 수행된다. An이 서브 픽셀 위치에 자리하면, 실질적으로 그것에서 가장 근접한 정수 위치 블록 A'n이 모션 벡터
Figure 112008018443787-PCT00013
에 따라 갱신된다. 이것이 도 4b에 도시되어 있다. 이 경우, 블록 An과 A'n의 위치 사이에 부분적 픽셀 차가 존재한다. 모션 벡터
Figure 112008018443787-PCT00014
에 따라, 갱신 단계 시 A'n에 대한 참조 블록 (B'n +1로 표시됨)은 정수 픽셀 위치에 위치하지 않는다. 그러나, 블록 Bn +1과 B'n +1의 위치들간에는 동일한 부분 픽셀 차가 존재하게 될 것이다. 그러한 이유로, 블록 B'n +1에서 예측 유수를 얻기 위한 보간이 필요로 된다. 그에 따라, 보간은 보통 갱신 단계에서, 모션 벡터
Figure 112008018443787-PCT00015
가 수평 방향이나 수직 방향에 대해 어떤 정수 픽셀 변위 (displacement)를 갖지 않을 때마다 필요로 된다.
보간은 에너지 분산 방식을 통해 수행될 수 있다. 더 구체적으로 말하면, 보간 프로세스에서, 예측 유수 블록 내 각 픽셀은 개별적으로 처리되고, 갱신 신호에 대한 그 기여분 (contribution)은 블록으로부터 별도로 산출된다. 이것이 도 5에 도시되어 있으며, 도 5에서 흑색점들은 정수 픽셀 위치들을 나타내고, 백색점들은 서브 픽셀 위치들을 가리킨다. 블록 An은 예측 단계에서 블록 Bn +1의 참조 블록이다. 동일한 모션 벡터에 따라, 프레임 In+1 안에 보이는 백색점들은 프레임 In내 정수 픽셀 위치들에 대응된다. 바이리니어 (bilinear) 필터가 갱신 단계의 보간 프로세스 시 사용된다고 가정하면, 블록 Bn +1 내 각 픽셀은 이웃하는 네 개의 서브 픽셀 위치들에서 보간 샘플 값에 대한 기여분을 가질 것이다. 한 픽셀에서 그와 이웃하는 네 서브 픽셀 위치들까지의 기여분 팩터들은 보간 필터 계수들에 의해 정해진다. 블록 내 이웃하는 픽셀들로부터 동일한 서브 픽셀 위치까지의 기여분들이 더해진다. 도 5에 도시된 바와 같이, 예측 유수 블록의 각 픽셀이 처리된 후에, K x K 사이즈의 블록이 (K+1) x (K+1) 사이즈의 갱신 신호를 생성할 것이다.
마찬가지로, 4-탭 필터가 갱신 단계 보간에 사용되면, 블록 Bn +1 내 각 픽셀은 이웃하는 16 (즉, 4 x 4) 개의 서브 픽셀 위치들에서 보간 샘플 값에 대한 기여분을 가질 것이다. 한 픽셀에서 그에 이웃하는 16 (즉, 4 x 4)개의 이웃하는 서브 픽셀 위치들까지의 기여분 팩터들은 보간 필터 계수들에 의해 정해진다. 예측 유수 블록의 각 픽셀이 처리된 후, 사이즈 K x K 블록이 사이즈 (K+3) x (K+3)인 갱신 신호를 생성할 것이다.
보간 후, 예측 단계에 사용된 역방향 모션 벡터에 따라 그 갱신 신호가 다시 저 대역 통과 프레임 (가령, 도 4a 및 4b에서 프레임 In)에 더해진다.
그러한 에너지 분산형 보간에 있어서, 그것이 픽셀 단위로 행해지면, 계산의 복잡도는 전통적인 블록 기반 보간 기법보다 크게 높아질 수 있다.
에너지 분산형 보간과 전통적 보간의 주요한 차이는, 에너지 분산형 보간 프로세스에서는 각각의 예측 유수 블록이 그 블록에 이웃하는 픽셀들에 대한 어떠한 참조도 없이 독자적으로 처리된다는 데 있다. 그러나, 전통적 보간에서는, 현재의 블록의 경계 (boundary)를 따라 필터링 할 때 이웃하는 블록들 안의 픽셀들이 참조된다. 이웃하는 블록들에서의 예측 유수들은 그다지 상관되어 있지 않으므로, 특히 블록들이 서로 다른 모션 벡터들을 가질 때, 에너지 분산형 보간이 앞의 설명에서 언급한 전통적 보간 기법들에서보다 갱신 단계에 대해 더 정확하거나 적합할 수 있다.
본 발명에 따르면, 에너지 분산형 보간은 블록 기반으로 수행되어야 하며, 이때 각 블록마다 공통의 모션 벡터들이 그 블록 내 모든 픽셀에 대해 공유된다. 에너지 분산형 보간 시, 각각의 예측 유수 블록은 이웃하는 블록들 내 픽셀들에 대한 어떠한 참조도 없이 독자적으로 처리된다. 샘플 값들이 보간되어야 하는 서브 픽셀 위치들에는, 주어진 필터를 통한 현재 블록의 보간에 의해 영향을 받을 수 있는 모든 위치들이 포함된다. 필터는 모션 벡터에 기초해 정해진다. 블록의 경계를 따라 필터링을 행할 때, 현재 블록 밖의 픽셀들은 제로 픽셀들 (즉, 0인 값을 가진 픽셀들)로서 간주 된다. 또, 보간 프로세스는 블록 단위 베이스로 수행되는 데, 각 블록마다, 서브 픽셀 위치들이 그 블록의 해당 모션 벡터에 기초해 정해진다. 더 자세히 말하면, 보간 연산이 일차원 보간 필터 (가령, 4-탭 필터)를 사용해 수평 방향과 수직 방향을 따라 따로따로 수행된다. 수평 필터링 및 수직 필터링의 순서는 보간 결과에 영향을 미치지는 않으므로 서로 뒤바뀔 수 있다.
한 예가 도 6에 도시된다. 도 6에서, 예측 유수 블록은 점선의 사각형 안에 있는 검은 점들로 나타낸 4 x 4 블록이라고 전제된다. 4-탭 필터가 현재의 블록에 대한 보간을 위해 선택된다. 이 경우, 현재 블록의 보간에 의해 영향을 받을 수 있는 서브 픽셀 위치들에는 도면에서 흰색 점들로 표시된 (4+3) x (4+3) 위치들이 포함된다. 따라서, 모든 (4+3) x (4+3) 서브 픽셀 값들이 보간 될 필요가 있다. 보간은 주어진 필터를 이용해 수평 방향 및 수직 방향을 따라 따로따로 수행된다. 더 상세히 말해, 수평 필터링이 먼저 수행된다고 전제하면, 도 6에서 별표로 나타낸 위치들에서의 샘플 값들이 먼저 보간된다. 이 값들에 기초해, 도 6에서 흰색 점들로 표시된 (4+3) x (4+3) 서브 픽셀 값들이 수직 필터링을 통해 추가 보간된다.
현재의 블록의 경계를 따라 필터링 할 때, 현재의 블록 밖의 픽셀들은 제로 픽셀들이라고 간주되며, 이들은 도면에서 사각형으로 보여지고 있다. 실제 구현시, 필터링 프로세스에서 제로 픽셀과의 곱셈 연산은 아무 효과가 없기 때문에 생략될 수 있다는 것을 알아야 한다. 예를 들어, 도 6에 나타낸 픽셀 C의 보간 값을 얻기 위해, 4-탭 필터를 이용한 단 한번의 곱셈만이 필요로 된다. 이것은, 필터링 프로세스에 관여하는 네 개의 픽셀들 중 셋이 제로 픽셀들이기 때문에 가능하다. 이러한 블록 기반 에너지 배분형 보간 프로세스는 픽셀 기반 에너지 배분형 보간 방법과 동일한 보간 결과를 발생한다는 것 역시 알아야 한다. 본 발명에 따른 보간은 각각 수평 방향 및 수직 방향을 따라 수행되므로, 일반적으로 보다 낮은 계산 복잡도를 가지게 된다.
MCTF 분해 (또는 분석) 및 MCTF 합성 (또는 통합)의 블록도들이 도 7 및 8에 각각 도시되어 있다. MCTF 모듈이 포함된 인코더 및 디코더 블록도들이 각각 도 9 및 10에 도시된다. MCTF 기술이 사용되든 사용되지 않든, 예측 단계 모션 보상 프로세스는 필요로 되기 때문에, 갱신 단계 모션 보상 프로세스를 위한 MCTF 포함과 더불어 추가 모듈이 요구된다. 도 7 및 8의 사인 (sign) 인버터가 역방향 모션 벡터를 얻기 위해 모션 벡터 성분들의 사인을 변경하는데 사용된다.
도 9는 본 발명의 일 실시예에 따른 MCTF 기반 인코더의 블록도를 보인다. MCTF 분해 모듈은 예측 단계 및 갱신 단계 모두를 포함한다. 이 모듈은 예측 유수 및, 블록 구획, 참조 프레임 인덱스, 모션 벡터 등등을 포함하는 어떤 사이드 정보를 생성한다. 예측 유수는 변환된 후 양자화되고 그런 다음 엔트로피 코딩 모듈로 보내진다. 사이드 정보 역시 엔트로피 코딩 모듈로 보내진다. 엔트로피 코딩 모듈은 모든 정보를 압축(된) 비트스트림으로 인코딩한다. 인코더는 또한 MCTF 분해 프로세스들의 다양한 단계들을 수행하기 위한 소프트웨어 프로그램 모듈을 포함한다. 소프트웨어 프로그램은, 블록의 모션 벡터에 기반해 블록 내 서브 픽셀 위치들을 결정하고, 수평 필터링 및 수직 필터링이 수행되기 전에 블록의 경계 밖 픽셀들의 픽셀 값을 0으로 세팅하는데 사용될 수도 있다.
도 10은 본 발명의 일실시예에 따른 MCTF 기반 디코더의 블록도를 보인다. 엔트로피 디코딩 모듈을 통해, 비트스트림이 압축해제되어, 예측 유수 및, 블록 구획, 참조 프레임 인덱스 및 모션 벡터 등을 포함하는 사이드 정보를 제공한다. 예측 유수는 역양자화 (de-quantized)된 후 역변환되고 그런 다음 MCTF 합성 모듈로 보내진다. MCTF 합성 프로세스를 통해, 비디오 픽처들이 재구성된다. 디코더 역시 MCTF 합성 프로세스들의 다양한 단계들을 수행하기 위한 소프트웨어 프로그램 모듈을 포함한다.
본 발명의 일실시예에 따라, 모션 벡터 필터 모듈을 갖는, MCTF 분해 및 합성 프로세스들이 각각 도 11 및 12에 도시되어 있다.
도 11은 본 발명의 일실시예에 따른 MCTF 분해 프로세스를 보인 블록도이다. 이 프로세스는 예측 단계 및 갱신 단계를 포함한다. 도 11에서, 모션 추정 모듈 및 예측 스텝 모션 보상 모듈이 예측 단계에서 사용된다. 다른 모듈들은 갱신 스텝에서 사용된다. 모션 추정 모듈로부터의 모션 벡터들은, 모션 벡터 필터를 경유하여 사인 인버터에서 수행되는 갱신 스텝에 사용되는 모션 벡터들을 도출하도록 갱신 단계에서도 역시 사용된다. 도시된 바와 같이, 모션 보상 프로세스는 예측 단계 및 갱신 단계 둘 모두에서 수행된다.
도 12는 본 발명의 일실시예에 따른 MCTF 합성 프로세스를 보인 블록도이다. 수신되어 디코딩된 모션 벡터 정보에 기초해, 갱신 모션 벡터들이 모션 벡터 필터를 경유해 사인 인버터에서 도출된다. 그런 다음 MCTF 분해 프로세스에서와 동일한 모션 보상 프로세스들이 수행된다. 도 11과 비교할 때, MCTF 합성은 MCTF 분해 의 역 프로세스라는 것을 알 수 있다.
갱신 연산은 예측 유수 프레임의 코딩 블록들에 따라 수행된다. 인코딩 시, 그 방법이 도 13에 예시되어 있다. 도 13의 흐름도 500에 도시된 것과 같이, 인코딩 모듈이 비디오 프레임의 디지털 비디오 시퀀스를 나타내는 비디오 데이터를 수신하면서 비디오 프레임을 복수의 블록들로 분할하기 시작하다 (510 단계). 예측 유수의 해당 블록들을 제공하기 위해, 참조 비디오 프레임 및 모션 벡터들에 대한 모션 보상 예측에 기반하여 블록들에 대한 예측 연산이 수행된다 (520 단계). 블록의 모션 벡터에 기초해 서브 픽셀 위치들이 정해진다 (530 단계). 블록의 경계 밖 픽셀들의 픽셀 값을 0으로 세팅하여 예측 유수 블록이 이웃하는 블록들의 픽셀들에 대한 어떠한 참조도 없이 독자적으로 처리되도록 한다 (540 단계). 일차원 보간 필터가 사용되어 일차원 보간 필터링을 실행한다 (550 단계). 그와 같거나 다른 일차원 보간 필터가 사용되어 다른 방향의 보간을 수행한다 (560 단계).
디코딩시의 방법이 도 14에 예시된다. 도 14의 흐름도(600)에 도시된 것과 같이, 디코딩 모듈이 비디오 프레임들의 인코딩된 비디오 시퀀스를 나타내는 인코딩된 비디오 데이터를 수신하면서, 인코딩된 비디오 데이터의 비디오 프레임을 복수의 블록들로 분할하기 시작한다 (610 단계). 디코딩 모듈이 블록들의 예측 유수들 및 모션 벡터들을 디코딩한다 (620 단계). 블록들의 참조 프레임이 블록들의 예측 유수들 및 역방향 모션 벡터들에 대한 모션 보상 예측에 기초해 갱신된다 (630 단계). 각 블록의 경계 밖에 있는 픽셀들의 픽셀 값이 0으로 세팅된다 (640 단계). 일차원 보간 필터가 사용되어 일차원 보간 필터링을 수행한다 (650 단계). 그와 같거나 다른 일차원 보간 필터가 사용되어 다른 방향의 보간을 수행한다 (660 단계). 예측 프레임 내 코딩 블록에 따라 예측 연산이 수행된다 (670 단계).
이제 도 15를 참조하면, 도 15는 도 9 및 10에 도시된 것 같은 MCTF 인코딩 모듈 및 MCTF 디코딩 모듈 가운데 적어도 하나를 갖춘 전자 장치를 보이고 있다. 본 발명의 일실시예에 따르면, 이 전자 장치는 모바일 단말에 해당한다. 도 15에 도시된 모바일 장치(10)는 셀룰라 데이터 및 음성 통신 기능을 가진다. 본 발명은 이러한 특정 예에 국한되는 것이 아니고, 그러한 예는 각양각색의 예들 가운데 하나를 나타내는 것에 불과하다는 것을 알아야 한다. 모바일 장치(10)는 (메인) 마이크로프로세서 또는 마이크로 컨트롤러(100) 및 모바일 장치의 동작을 제어하는 상기 마이크로프로세서와 결부된 구성요소들을 포함한다. 그러한 구성요소들에는 디스플레이 모듈(135)과 연결된 디스플레이 제어기(130), 비휘발성 메모리(140), 램 (RAM) 같은 휘발성 메모리(150), 마이크(161), 스피커(162) 및/또는 헤드셋(163)에 연결된 오디오 입출력 (I/O) 인터페이스(160), 키패드(175)나 키보드에 연결된 키패드 제어기(170), 보조 입출력 (I/O) 인터페이스(200), 및 단거리 통신 인터페이스(180)가 포함된다. 상기 장치는 보통 일반화하여 190으로 보여진 다른 장치 서브 시스템들도 포함한다.
모바일 장치(10)는 가령 디지털 셀룰라 네트워크들, 특히 GSM (global system for mobile communication) 또는 UMTS (universal mobile telecommunication system) 같은 형식의 공공 육상 모바일 네트워크 (PLMN, public land mobile network)들과 같이, 음성 네트워크 및/또는 데이터 네트워크를 통해 통신할 수 있다. 보통 음성 및/또는 데이터 통신은, 전파 공간 인터페이스, 즉 셀룰라 통신 인터페이스 서브 시스템을 통해, 추가 구성요소들 (상기 참조)과 협력하여 셀룰라 네트워크의 인프라 구조의 라디오 액세스 네트워크 (RAN, radio access network)의 일부인 노드 B (미도시)나 기지국(BS)까지 작용한다.
도 15에 예시적으로 도시된 바와 같은 셀룰라 통신 인터페이스 서브 시스템은 셀룰라 인터페이스(110), 디지털 시그널 프로세서 (DSP)(120), 수신기 (RX)(121), 송신기 (TX)(122), 및 하나 이상의 로컬 오실레이터들 (LOs)(123)을 구비하며, 하나 이상의 공공 육상 모바일 네트워크들 (PLMNs)과의 통신을 수행한다. 디지털 시그널 프로세서 (DSP)(120)는 송신기 (TX)(122)로 통신 신호들(124)을 전송하고 수신기 (RX)(121)로부터 신호들(125)을 수신한다. 통신 신호들을 처리하는 것 외에, 디지털 시그널 프로세서(120)는 수신기 제어 신호들(126) 및 송신기 제어 신호(127) 또한 제공한다. 예를 들어, 전송될 신호들 및 수신된 신호들의 각기 변조 및 복조 외에, 수신기 (RX)(121) 및 송신기 (TX)(122)의 통신 신호들에 적용되는 이득 레벨들이 디지털 시그널 프로세서 (DSP)(120)에 구현된 자동 이득 제어 알고리즘들을 통해 적응적으로 제어될 수 있다. 보다 정교한 트랜시버(121/122) 제어를 제공하기 위해, 다른 트랜시버 제어 알고리즘들 역시 디지털 시그널 프로세서 (DSP)(120)에서 구현될 수가 있다.
PLMN을 통한 모바일 장치(10) 통신이 단일 주파수나 일련의 근접 간격 주파수대에서 발생하는 경우, 단일 로컬 오실레이터 (LO)(123)가 송신기(TX)(122) 및 수신기(RX)(121)와 함께 사용될 수 있다. 이와 달리, 음성/데이터 통신들이나 전 송과 수신에 서로 다른 주파수들이 활용되면, 복수의 로컬 오실레이터들이 사용되어 대응하는 복수의 주파수들을 생성할 수 있다.
도 15에 도시된 모바일 장치(10)는 다이버시티 (diversity) 안테나 시스템 (미도시)인, 혹은 그를 갖춘 안테나(129)와 함께 사용되지만, 모바일 장치(10)가 신호 수신 및 송신을 위해 하나의 안테나 구조와 함께 사용될 수도 있다. 음성 및 데이터 정보 둘 모두를 포함하는 정보가 디지털 시그널 프로세서 (DSP)(120) 사이의 데이터 링크를 통해 셀룰라 인터페이스(110)로 그리고 그로부터 전송된다. 주파수 대역, 성분 선택, 전력 레벨 등등과 같은 셀룰라 인터페이스(110)의 세부 디자인은 모바일 장치(10)가 운영하고자 하는 무선 네트워크에 따라 좌우될 것이다.
셀룰라 네트워크들 내 등록에 필요한 가입자 식별 모듈 (SIM, subscriber identification module)(210)을 포함할 수 있는 어떤 필요로 되는 등록 혹은 활성화 절차들이 수행완료된 후, 모바일 장치(10)는 무선 네트워크를 통해 음성 및 데이터 신호 모두를 포함하는 통신 신호들을 송수신할 수 있다. 무선 네트워크로부터 안테나(129)를 통해 수신된 신호들은 수신기(121)로 라우팅되고, 수신기는 신호 증폭, 주파수 하향 (down) 변환, 필터링, 채널 선택, 및 아날로그-디지털 변환과 같은 동작들을 지원한다. 수신된 신호의 아날로그-디지털 변환은 디지털 시그널 프로세서 (DSP)(120)를 이용해 디지털 복조 및 디코딩 같은 보다 복잡한 통신 기능들이 수행될 수 있게 한다. 유사한 방식으로, 네트워크로 전송될 신호들이 디지털 시그널 프로세서 (DSP)(120)에 의해 변조 및 인코딩 등을 포함해 처리된 후 디지털-아날로그 변환, 주파수 상향 (up) 변환, 필터링, 증폭, 및 안테나(129)를 통한 무 선 네트워크로의 전송을 위해 송신기(122)로 보내진다.
장치 플랫폼 마이크로프로세서라고도 칭할 수 있는 마이크로프로세서/마이크로 컨트롤러
Figure 112008018443787-PCT00016
(110)가 모바일 장치(10)의 기능들을 관리한다. 이 프로세서(110)에 의해 이용되는 운영 시스템 소프트웨어(149)는 플래시 메모리, 배터리 백업 랩, 어떤 다른 비휘발성 저장 기술이나 이들의 어떤 조합 등으로 구현될 수 있는 비휘발성 메모리(140) 등의 영구 저장부 안에 저장됨이 바람직하다. 모바일 장치(10)의 저 레벨 기능들뿐 아니라 (그래픽) 기본 사용자 인터페이스 기능들 역시 제어하는 운영 시스템(149) 외에, 비휘발성 메모리(140)는 음성 통신 소프트웨어 어플리케이션(142), 데이터 통신 소프트웨어 어플리케이션(141), 체계화 (organizer) 모듈 (미도시), 혹은 다른 타입의 소프트웨어 모듈 (미도시)과 같은 복수의 고 레벨 소프트웨어 어플리케이션 프로그램들이나 모듈들을 포함한다. 이러한 모듈들은 프로세서(100)에 의해 실행되고 모바일 장치(10)의 사용자와 모바일 장치(10) 간 고 레벨 인터페이스를 지원한다. 그 인터페이스는 보통 디스플레이 제어기(130)에 의해 제어되는 디스플레이(135)를 통해 주어지는 그래픽 요소와, 키패드 제어기(170)를 통해 연결된 키패드(175)를 통해 주어지는 입출력 요소들, 보조 입출력 (I/O) 인터페이스(200), 및/또는 단거리 (SR)통신 인터페이스(180)를 포함한다. 보조 I/O 인터페이스(200)는 특히 USB (universal serial bus) 인터페이스, 시리얼 인터페이스, MMC (multimedia card) 인터페이스 및 관련 인터페이스 기술들/표준들, 그리고 기타의 어떤 표준화되거나 사적 소유권의 데이터 통신 버스 기술을 구비하는 반면, 단거리 통신 인터페이스 라디오 주파수 (RF) 저전력 인터페이스는 특히 WLAN (wireless local area network) 및 블루투스 통신 기술 또는 IRDA (infrared data access) 인터페이스를 포함한다. 여기 언급된 RF 저전력 인터페이스 기술은 특히 어떤 IEEE 801.xx 표준 기술을 포함하는 것으로 이해되어야 하며, 그에 대한 내용은 IEEE (Institute of Electrical and Electronics Engineering)로부터 얻을 수 있다. 또한, 보조 I/O 인터페이스(200) 및 단거리 통신 인터페이스(180)는 각각, 각기 하나 이상의 입출력 인터페이스 기술들 및 통신 인터페이스 기술들을 지원하는 하나 이상의 인터페이스들을 나타낸다. 운영 시스템, 특정 장치 소프트웨어 어플리케이션들 혹은 모듈들, 또는 이들의 일부가 (보통 고속 연산을 위해 DRAM (direct random access memory) 기술에 기초해 구현되는) 램 (RAM) 등의 휘발성 저장부(150) 안에 일시적으로 로드될 수 있다. 또, 수신된 통신 신호들 역시, 비휘발성 메모리(140)나 데이터 저장을 위해 보조 I/O 인터페이스를 거쳐 탈부착 가능하게 연결됨이 바람직한 어떤 대량 스토리지 (mass storage) 안에 위치하는 파일 시스템 안에 영구적으로 기록되기 전에 휘발성 메모리(150)에 일실적으로 저장될 수 있다. 상술한 구성요소들은 여기서 셀룰라 전화기의 형태로 구현되는 전통적 모바일 장치(10)의 일반 구성요소들을 나타낸다는 것을 알아야 한다. 본 발명은 단지 예시와 완전성을 위해 여기 묘사된 그러한 특정 구성요소들과 그 구성에만 국한되지 않는다.
모바일 장치(10)의 전형적 소프트웨어 어플리케이션 모듈은 보통 연락처 관리자, 캘린더, 작업 관리자 등등을 포함하는 PDA 기능을 지원하는 개인 정보 관리 자이다. 그러한 개인 정보 관리자는 프로세서(100)에 의해 실행되고, 모바일 장치(10)의 구성요소들을 액세스할 수 있으며, 다른 소프트웨어 어플리케이션 모듈들과 상호교류할 수 있다. 예를 들어, 음성 통신 소프트웨어 어플리케이션과의 상호교류는 전화 통화, 음성 메일 등을 관리할 수 있게 하고, 데이터 통신 소프트웨어 어플리케이션과의 상호교류는 SMS (soft message service), MMS (multimedia service), 이메일 통신 및 기타 데이터 전송을 가능하게 한다. 비휘발성 메모리(140)는 특히 캘린더 입력, 연락처 등등을 포함하는 장치상의 데이터 아이템들의 영구 저장을 도모하기 위해 파일 시스템을 제공함이 바람직하다. 셀룰라 인터페이스, 단거리 통신 인터페이스 또는 보조 I/O 인터페이스 등을 통한 네트워크들과의 데이터 통신 능력이 그러한 네트워크들을 통한 업로드, 다운로드 및 동기화를 가능하게 한다.
어플리케이션 모듈들(141-149)은 프로세서(100)에 의해 실행되도록 구성된 장치 기능들이나 소프트웨어 어플리케이션들을 나타낸다. 알려져 있는 대부분의 모바일 장치들에서, 단일 프로세서가 모바일 장치의 전반적 동작 및 모든 장치 기능들과 소프트웨어 어플리케이션들을 관리 및 제어한다. 그와 같은 개념이 오늘날의 모바일 장치들에 적용될 수 있다. 개선된 멀티미디어 기능들의 구현에, 비디오 스트리밍 어플리케이션들의 재생, 디지털 이미지들의 조작, 및 통합되어 있거나 탈부착 가능한 디지털 카메라 기능을 통한 비디오 시퀀스 캡처 등이 포함된다. 그러한 구현으로는 또한, 세련된 그래픽과 필요한 계산 능력을 갖춘 게임 어플리케이션들 역시 포함될 수 있다. 과거에 추구되어 왔던 계산 능력 요건을 다루기 위한 한 방식이, 강력한 범용 프로세서 코어들을 구현함으로써 계산 능력 증가라는 문제를 해결한다. 계산 능력을 제공하는 또 다른 방식은, 이 분야에 잘 알려진 기술인 둘 이상의 독자 프로세서 코어들을 구현하는 것이다. 여러 독자 프로세서 코어들의 이점들에 대해서는 이 분야의 당업자라면 바로 알 수 있을 것이다. 범용 프로세서가 서로 다른 작업들의 사전 선택에 대한 특수화 없이 여러 상이한 작업들을 수행하도록 설계된 데 반해, 멀티 프로세서 구성은 일련의 소정 작업들을 처리하도록 적응된 하나 이상의 범용 프로세서들을 포함할 수 있다. 그럼에도 불구하고 한 장치, 특히 모바일 장치(10)와 같은 모바일 기기 안에 여러 프로세서들을 구현하는 것은 전통적으로 완전하고도 정교한 구성요소들의 재설계를 요한다.
이하에서, 본 발명은 부가 프로세서 코어들을 기존 프로세싱 장치 구성 안에 병합하게 하여 완전하고도 정교한 값비싼 재설계를 생략할 수 있게 한다는 개념을 제공할 것이다. 본 발명의 개념은 SoC (system-on-a-chip) 디자인을 참조해 설명될 것이다. SoC는 프로세싱 장치의 적어도 상당한 (혹은 모든) 구성요소들을 고집적 단일 칩 안에 통합한다는 개념이다. 그러한 SoC는 디지털, 아날로그, 혼합 신호, 및 흔히 라디오 주파수 함수들을 모두 한 칩 상에 포함할 수 있다. 일반적인 프로세싱 장치는 서로 다른 작업들을 수행하는 여러 집적 회로들을 포함한다. 그러한 집적 회로들은 특히, 마이크로프로세서, 메모리, 범용 비동기 수신기-송신기들 (UARTs, universal asynchronous receiver-transmitters), 직병렬 포트, DMA (direct memory access) 제어기들 등등을 포함할 수 있다. 범용 비동기 수신기-송신기는 데이터의 병렬 비트들과 직렬 비트들을 서로 전환시킨다. 최근의 반도체 기술의 진보가 VLSI (very-large-scale integration) 집적 회로들로 하여금 복잡도 면에서 큰 진전을 가능하게 하여, 시스템의 수많은 구성요소들을 한 칩 안에 집적할 수 있게 하고 있다. 도 15를 참조하면, 그러한 하나 이상의 구성요소들, 가령 컨트롤러들(130 및 170), 메모리 구성요소들(150 및 140), 그리고 하나 이상의 인터페이스들 (200, 180 및 110)이 궁극적으로 SoC를 이루는 신호 칩 안에 프로세서(100)와 함께 집적될 수 있다.
장치(10)는 부가적으로, 본 발명의 진보한 동작에 따라 비디오 데이터의 규모가변적 (scalable) 인코딩(105)과 규모가변적 디코딩(106)을 위한 모듈을 갖춘다. CPU(100)에 의해, 상기 모듈들(105, 106)은 개별적으로 사용될 수 있다. 그러나, 장치(10)는 비디오 데이터 인코딩이나 디코딩을 각기 수행하도록 되어 있다. 상기 비디오 데이터는 장치의 통신 모듈들에 의해 수신되거나, 장치(10) 안의 어떤 상상가능한 스토리지 수단 내에 저장될 수 있다. 비디오 데이터는 장치(10) 및 통신 네트워크 내 다른 전자 장치 사이에서 비트스트림 형태로 전달될 수 있다.
정리하면, 본 발명에 따른 보간 방식은 블록 베이스로 수행된다. 각 블록마다, 일차원 보간 필터를 이용해 수평 방향 및 수직 방향을 따라 각기 연산이 수행된다. 특히, 참조 비디오 프레임 및 모션 벡터에 대한 모션 보상 예측에 기반하여 각각의 블록에 대해 예측 연산이 수행되어, 예측 유수들의 해당 블록을 제공하도록 한다. 예측 유수들의 블록 및 역방향 모션 벡터에 대한 모션 보상 예측에 기반하여 참조 비디오 프레임에 대한 갱신 연산이 수행된다. 또, 갱신 연산시, 모션 벡터에 기반해 보간 필터가 정해지고, 예측 유수들의 블록 밖의 샘플 값들을 0으로 취급함으로써 블록 예측 유수들을 이용해 서브 픽셀의 샘플 값들이 보간된다.
따라서, 본 발명에 따라, 모션 보상된 순간 필터링을 이용해 디지털 비디오 시퀀스를 인코딩하기 위한 방법 및 장치는 참조 비디오 프레임 및 모션 벡터에 대한 모션 보상 예측에 기초하여 각 블록에 대해 예측 연산을 수행하여 예측 유수들의 대응 블록을 제공하도록 하는 예측 모듈 및, 예측 유수들의 블록 및 역방향 모션 벡터에 대한 모션 보상 예측에 기반해 비디오 참조 프레임을 갱신하기 위한 갱신 모듈 사용을 포함한다. 갱신 모듈은, 모션 벡터에 기반해 필터를 결정하고, 예측 유수들의 블록 밖 샘플 값들을 0으로 취급함으로써 그 블록을 사용해 서브 픽셀 위치들의 샘플 값들을 보간하도록 하는 소프트웨어 프로그램을 포함한다. 보간은 에너지 배분형 보간을 발생하기 위한 것이다.
본 발명에 따라, 인코딩된 비디오 시퀀스로부터 디지털 비디오 시퀀스를 디코딩하는 방법 및 장치는, 블록의 모션 벡터 및 블록의 예측 유수들을 디코딩하기 위한 디코딩 모듈, 블록의 예측 유수들 및 역방향 모션 벡터에 대한 모션 보상 예측에 기초하여 블록의 참조 비디오 프레임에 대한 갱신 연산을 수행하는 모듈, 및 참조 비디오 프레임 및 모션 벡터에 대한 모션 보상 예측에 기반해 블록에 대한 예측 연산을 수행하는 예측 모듈 사용을 포함한다. 갱신 모듈은 모션 벡터에 기초해 필터를 결정하고 예측 유수들의 블록 밖의 샘플 값들을 0으로 취급함으로써 그 블록을 이용해 서브 픽셀 위치들의 샘플 값들을 보간하는 소프트웨어 프로그램을 포함한다. 보간은 일차원 보간 필터를 이용해 수평 방향 및 수직 방향을 따라 따로따로 수행된다.
본 발명에 따른 모바일 단말은 상술한 인코더 또는 디코더를 갖출 수 있다. 이 모바일 단말은 인코더 및 디코더 둘 모두를 갖출 수도 있다.
또, 인코딩 및 디코딩 방법들이 한 소프트웨어 어플리케이션을 포함하는 저장 매체를 구비하는 소프트웨어 어플리케이션 생성물에 의해 수행될 수 있다. 인코딩하기 위해, 소프트웨어 어플리케이션은 참조 비디오 프레임 및 모션 벡터에 대한 모션 보상 예측에 기반하여 각 블록에 대해 예측 연산을 수행하여 예측 유수들의 대응 블록을 제공하도록 하기 위한 프로그램 코드, 및 예측 유수들의 블록과 역방향 모션 벡터에 대한 모션 보상 예측에 기반해 비디오 참조 프레임을 갱신하기 위한 프로그램 코드를 포함한다. 갱신 프로그램은 모션 벡터에 기초해 필터를 결정하기 위한 프로그램 코드 및, 예측 유수들의 블록 외부의 샘플 값들을 0으로 취급함으로써 그 블록을 이용해 서브 픽셀 위치들의 샘플 값들을 보간하기 위한 프로그램 코드를 포함한다. 보간은 일차원 보간 필터를 사용해 수평 방향 및 수직 방향을 따라 각각 수행된다.
디코딩을 위해, 소프트웨어 어플리케이션은 블록의 모션 벡터 및 블록의 예측 유수들을 디코딩하기 위한 프로그램 코드, 블록의 예측 유수들 및 역방향 모션 벡터에 대한 모션 보상 예측에 기반해 블록의 참조 비디오 프레임에 대한 갱신 연산을 수행하기 위한 프로그램 코드, 및 참조 비디오 프레임 및 모션 벡터에 대한 모션 보상 예측에 기반해 블록에 대한 예측 연산을 수행하도록 하는 프로그램 코드를 포함한다. 갱신을 위한 프로그램 코드는 모션 벡터에 기초해 필터를 결정하기 위한 프로그램 코드와, 예측 유수들의 블록 바깥의 샘플 값들을 0으로 취급함으로 서 그 블록을 사용해 서브 픽셀 위치들의 샘플 값들을 보간하기 위한 프로그램 코드를 포함한다. 보간은 일차원 보간 필터를 이용해 수평 방향 및 수직 방향으로 각각 수행된다.
일반적으로, 인코딩 방법은, 참조 비디오 프레임 및 모션 벡터에 대한 모션 보상 예측에 기반하여 각 블록에 대해 예측 연산을 수행하여 예측 유수들의 해당 블록을 제공하도록 하는 수단, 및 예측 유수들의 블록과 역방향 모션 벡터에 대한 모션 보상 예측에 기반해 비디오 참조 프레임을 갱신하도록 하는 수단에 의해 수행될 수 있다. 갱신 수단은 모션 벡터에 기초해 필터를 결정하도록 하는 수단 및, 예측 유수들의 블록 외부의 샘플 값들을 0으로 취급함으로써 그 블록을 이용해 서브 픽셀 위치들의 샘플 값들을 보간하도록 하는 수단을 포함한다.
디코딩 방법은, 블록의 모션 벡터 및 블록의 예측 유수들을 디코딩하기 위한 수단, 블록의 예측 유수들 및 역방향 모션 벡터에 대한 모션 보상 예측에 기반해 블록의 참조 비디오 프레임에 대한 갱신 연산을 수행하기 위한 수단, 및 참조 비디오 프레임 및 모션 벡터에 대한 모션 보상 예측에 기반해 블록에 대한 예측 연산을 수행하도록 하는 수단을 포함한다. 갱신 수단은, 모션 벡터에 기초해 필터를 결정하도록 하는 수단과, 예측 유수들의 블록 바깥의 샘플 값들을 0으로 취급함으로서 그 블록을 사용해 서브 픽셀 위치들의 샘플 값들을 보간하도록 하는 수단을 포함한다. 보간은 일차원 보간 필터를 이용해 수평 방향 및 수직 방향으로 각각 수행된다.
본 발명이 그에 대한 하나 이상의 실시예들을 기준으로 기술되었지만, 이 분 야의 당업자라면 본 발명의 범주에서 벗어나지 않으면서 상술한 내용 및 그 형식과 세부 내용에 있어서의 여러 다른 변경, 생략 및 일탈이 있을 수 있다는 것을 알 수 있을 것이다.

Claims (20)

  1. 각각이 복수의 블록들로 분할될 수 있는 픽셀들의 어레이를 포함하는 복수의 프레임들을 구비한 디지털 비디오 시퀀스를 모션 보상(된) 순간 필터링을 이용해 인코딩하여, 인코딩된 비디오 시퀀스를 나타내는 비디오 데이터를 가진 비트스트림을 제공하도록 하는 인코딩 방법에 있어서,
    한 블록에 대해,
    참조 비디오 프레임 및 모션 벡터에 대한 모션 보상 예측에 기초하여 상기 블록에 대해 예측 연산을 수행해, 예측 유수들 (residues)의 해당 블록을 제공하는 단계;
    상기 예측 유수들의 블록 및 상기 역방향 모션 벡터에 대한 모션 보상 예측에 기반하여 상기 비디오 참조 프레임을 갱신하는 단계를 포함하고,
    상기 갱신하는 단계는, 모션 벡터에 기초해 필터를 정하는 단계; 및 상기 예측 유수들의 블록 바깥의 샘플 값들을 0으로 취급함으로써 상기 예측 유수들의 블록을 사용해 서브 픽셀 위치들의 샘플 값들을 보간하는 단계를 포함함을 특징으로 하는 인코딩 방법.
  2. 제1항에 있어서, 상기 보간하는 단계는 일차원 보간 필터를 이용해 수평 방향 및 수직 방향을 따라 따로따로 수행됨을 특징으로 하는 인코딩 방법.
  3. 각각이 복수의 블록들로 분할될 수 있는 픽셀들의 어레이를 포함하는 복수의 프레임들을 구비한 인코딩된 비디오 시퀀스를 나타내는 비트스트림의 비디오 데이터로부터 디지털 비디오 시퀀스를 디코딩하는 방법에 있어서,
    한 블록에 대해,
    블록의 모션 벡터 및 예측 유수들을 디코딩하는 단계;
    블록의 예측 유수들 및 역방향 모션 벡터에 대한 모션 보상 예측에 기반하여 블록의 참조 비디오 프레임에 대한 갱신 연산을 수행하는 단계;
    참조 비디오 프레임 및 모션 벡터에 대한 모션 보상 예측에 기반하여 블록에 대한 예측 연산을 수행하는 단계를 포함하고,
    상기 갱신하기 단계는, 모션 벡터에 기초해 필터를 결정하는 단계, 및 상기 예측 유수들의 블록 밖의 샘플 값들을 0으로 취급함으로써 상기 예측 유수들의 블록을 사용해 서브 픽셀 위치들의 샘플 값들을 보간하는 단계를 포함함을 특징으로 하는 디코딩 방법.
  4. 제3항에 있어서, 상기 보간하는 단계는 일차원 보간 필터를 사용해 수평 방향 및 수직 방향을 따라 따로따로 수행됨을 특징으로 하는 디코딩 방법.
  5. 각각이 복수의 블록들로 분할될 수 있는 픽셀들의 어레이를 포함하는 복수의 프레임들을 구비한 디지털 비디오 시퀀스를 모션 보상(된) 순간 필터링을 이용해 인코딩하여, 인코딩된 비디오 시퀀스를 나타내는 비디오 데이터를 가진 비트스트림 을 제공하도록 하는 비디오 인코더에 있어서,
    참조 비디오 프레임 및 모션 벡터 관련 모션 보상 예측에 기초하여 각 블록에 대한 예측 연산을 수행해, 예측 유수들 (residues)의 해당 블록을 제공하도록 하는 예측 모듈; 및
    상기 예측 유수들의 블록 및 상기 역방향 모션 벡터에 대한 모션 보상 예측에 기반하여 상기 비디오 참조 프레임을 갱신하도록 하는 갱신 모듈을 포함하고,
    상기 갱신 모듈은, 모션 벡터에 기초해 필터를 정하도록 하고, 상기 예측 유수들의 블록 바깥의 샘플 값들을 0으로 취급함으로써 상기 예측 유수들의 블록을 사용해 서브 픽셀 위치들의 샘플 값들을 보간하도록 하는 소프트웨어 프로그램을 포함함을 특징으로 하는 비디오 인코더.
  6. 제5항에 있어서, 상기 보간은 일차원 보간 필터를 이용해 수평 방향 및 수직 방향을 따라 따로따로 수행됨을 특징으로 하는 비디오 인코더.
  7. 각각이 복수의 블록들로 분할될 수 있는 픽셀들의 어레이를 포함하는 복수의 프레임들을 구비한 인코딩된 비디오 시퀀스를 나타내는 비트스트림의 비디오 데이터로부터 디지털 비디오 시퀀스를 디코딩하는 비디오 디코더에 있어서,
    블록의 모션 벡터 및 예측 유수들을 디코딩하도록 하는 모듈;
    블록의 예측 유수들 및 역방향 모션 벡터에 대한 모션 보상 예측에 기반하여 블록의 참조 비디오 프레임에 대한 갱신 연산을 수행하도록 하는 갱신 모듈; 및
    참조 비디오 프레임 및 모션 벡터에 대한 모션 보상 예측에 기반하여 블록에 대해 예측 연산을 수행하도록 하는 예측 모듈을 포함하고,
    상기 갱신 모듈은, 모션 벡터에 기초해 필터를 결정하도록 하고, 상기 예측 유수들의 블록 밖의 샘플 값들을 0으로 취급함으로써 상기 예측 유수들의 블록을 사용해 서브 픽셀 위치들의 샘플 값들을 보간하도록 하는 소프트웨어 프로그램을 포함함을 특징으로 하는 비디오 디코더.
  8. 제7항에 있어서, 상기 보간은 상기 보간은 일차원 보간 필터를 이용해 수평 방향 및 수직 방향을 따라 따로따로 수행됨을 특징으로 하는 비디오 디코더.
  9. 각각이 복수의 블록들로 분할될 수 있는 픽셀들의 어레이를 포함하는 복수의 프레임들을 구비한 디지털 비디오 시퀀스를 모션 보상(된) 순간 필터링을 이용해 인코딩하여, 인코딩된 비디오 시퀀스를 나타내는 비디오 데이터를 가진 비트스트림을 제공하도록 하는데 사용할 소프트웨어 어플리케이션을 포함하는 저장 매체를 구비하는 소프트웨어 어플리케이션 생성물에 있어서,
    상기 소프트웨어 어플리케이션은,
    참조 비디오 프레임 및 모션 벡터 관련 모션 보상 예측에 기초하여 각 블록에 대한 예측 연산을 수행해, 예측 유수들 (residues)의 해당 블록을 제공하도록 하는 프로그램 코드;
    상기 예측 유수들의 블록 및 상기 역방향 모션 벡터에 대한 모션 보상 예측 에 기반하여 상기 비디오 참조 프레임을 갱신하도록 하는 프로그램 코드를 포함하고,
    상기 갱신하도록 하는 프로그램 코드는, 모션 벡터에 기초해 필터를 정하도록 하는 프로그램 코드, 및 상기 예측 유수들의 블록 바깥의 샘플 값들을 0으로 취급함으로써 상기 예측 유수들의 블록을 사용해 서브 픽셀 위치들의 샘플 값들을 보간하도록 하는 프로그램 코드를 포함함을 특징으로 하는 소프트웨어 어플리케이션 생성물.
  10. 제9항에 있어서, 상기 보간은 상기 보간은 일차원 보간 필터를 이용해 수평 방향 및 수직 방향을 따라 따로따로 수행됨을 특징으로 하는 소프트웨어 어플리케이션 생성물.
  11. 각각이 복수의 블록들로 분할될 수 있는 픽셀들의 어레이를 포함하는 복수의 프레임들을 구비한 인코딩된 비디오 시퀀스를 나타내는 비트스트림의 비디오 데이터로부터 디지털 비디오 시퀀스를 디코딩하는데 사용되는 소프트웨어 어플리케이션을 포함하는 저장 매체를 구비한 소프트웨어 어플리케이션 생성물에 있어서,
    각 블록의 모션 벡터 및 예측 유수들을 디코딩하기 위한 프로그램 코드;
    블록의 예측 유수들 및 역방향 모션 벡터에 대한 모션 보상 예측에 기반하여 블록의 참조 비디오 프레임에 대한 갱신 연산을 수행하기 위한 프로그램 코드;
    참조 비디오 프레임 및 모션 벡터에 대한 모션 보상 예측에 기반하여 블록에 대해 예측 연산을 수행하기 위한 프로그램 코드를 포함하고,
    상기 갱신을 위한 프로그램 코드는, 모션 벡터에 기초해 필터를 결정하고, 상기 예측 유수들의 블록 밖의 샘플 값들을 0으로 취급함으로써 상기 예측 유수들의 블록을 사용해 서브 픽셀 위치들의 샘플 값들을 보간하기 위한 프로그램 코드를 포함함을 특징으로 하는 소프트웨어 어플리케이션 생성물.
  12. 제11항에 있어서, 상기 보간은 일차원 보간 필터를 이용해 수평 방향 및 수직 방향을 따라 따로따로 수행됨을 특징으로 하는 소프트웨어 어플리케이션 생성물.
  13. 모바일 단말에 있어서,
    각각이 복수의 블록들로 분할될 수 있는 픽셀들의 어레이를 포함하는 복수의 프레임들을 구비한 디지털 비디오 시퀀스를 모션 보상(된) 순간 필터링을 이용해 인코딩하기 위한 인코더를 포함하고,
    상기 인코더는,
    참조 비디오 프레임 및 모션 벡터 관련 모션 보상 예측에 기초하여 각 블록에 대한 예측 연산을 수행해, 예측 유수들 (residues)의 해당 블록을 제공하도록 하는 예측 모듈; 및
    상기 예측 유수들의 블록 및 상기 역방향 모션 벡터에 대한 모션 보상 예측에 기반하여 상기 비디오 참조 프레임을 갱신하도록 하는 갱신 모듈을 포함하고,
    상기 갱신 모듈은, 모션 벡터에 기초해 필터를 정하도록 하고, 상기 예측 유수들의 블록 바깥의 샘플 값들을 0으로 취급함으로써 상기 예측 유수들의 블록을 사용해 서브 픽셀 위치들의 샘플 값들을 보간하도록 하는 소프트웨어 프로그램을 포함함을 특징으로 하는 모바일 단말.
  14. 제13항에 있어서, 상기 보간은 일차원 보간 필터를 이용해 수평 방향 및 수직 방향을 따라 따로따로 수행됨을 특징으로 하는 모바일 단말.
  15. 각각이 복수의 블록들로 분할될 수 있는 픽셀들의 어레이를 포함하는 복수의 프레임들을 구비한 인코딩된 비디오 시퀀스를 나타내는 비트스트림의 비디오 데이터로부터 디지털 비디오 시퀀스를 수신하도록 된 모바일 단말에 있어서,
    블록의 모션 벡터 및 예측 유수들을 디코딩하도록 하는 모듈;
    블록의 예측 유수들 및 역방향 모션 벡터에 대한 모션 보상 예측에 기반하여 블록의 참조 비디오 프레임에 대한 갱신 연산을 수행하도록 하는 갱신 모듈; 및
    참조 비디오 프레임 및 모션 벡터에 대한 모션 보상 예측에 기반하여 블록에 대해 예측 연산을 수행하도록 하는 예측 모듈을 포함하고,
    상기 갱신 모듈은, 모션 벡터에 기초해 필터를 결정하도록 하고, 상기 예측 유수들의 블록 밖의 샘플 값들을 0으로 취급함으로써 상기 예측 유수들의 블록을 사용해 서브 픽셀 위치들의 샘플 값들을 보간하도록 하는 소프트웨어 프로그램을 포함함을 특징으로 하는 모바일 단말.
  16. 제15항에 있어서, 상기 보간은 상기 보간은 일차원 보간 필터를 이용해 수평 방향 및 수직 방향을 따라 따로따로 수행됨을 특징으로 하는 모바일 단말.
  17. 각각이 복수의 블록들로 분할될 수 있는 픽셀들의 어레이를 포함하는 복수의 프레임들을 구비한 디지털 비디오 시퀀스를 모션 보상(된) 순간 필터링을 이용해 인코딩하는 장치에 있어서,
    참조 비디오 프레임 및 모션 벡터 관련 모션 보상 예측에 기초하여 각 블록에 대한 예측 연산을 수행해, 예측 유수들 (residues)의 해당 블록을 제공하도록 하는 수단; 및
    상기 예측 유수들의 블록 및 상기 역방향 모션 벡터에 대한 모션 보상 예측에 기반하여 상기 비디오 참조 프레임을 갱신하도록 하는 수단을 포함하고,
    상기 갱신하도록 하는 수단은, 모션 벡터에 기초해 필터를 정하도록 하는 ㅅ수단, 및 상기 예측 유수들의 블록 바깥의 샘플 값들을 0으로 취급함으로써 상기 예측 유수들의 블록을 사용해 서브 픽셀 위치들의 샘플 값들을 보간하도록 하는 수단을 포함함을 특징으로 하는 장치.
  18. 제17항에 있어서, 상기 보간은 일차원 보간 필터를 이용해 수평 방향 및 수직 방향을 따라 따로따로 수행됨을 특징으로 하는 장치.
  19. 각각이 복수의 블록들로 분할될 수 있는 픽셀들의 어레이를 포함하는 복수의 프레임들을 구비한 인코딩된 비디오 시퀀스를 나타내는 비트스트림의 비디오 데이터로부터 디지털 비디오 시퀀스를 디코딩하는 장치에 있어서,
    각 블록의 모션 벡터 및 예측 유수들을 디코딩하도록 하는 수단;
    블록의 예측 유수들 및 역방향 모션 벡터에 대한 모션 보상 예측에 기반하여 블록의 참조 비디오 프레임에 대한 갱신 연산을 수행하도록 하는 수단; 및
    참조 비디오 프레임 및 모션 벡터에 대한 모션 보상 예측에 기반하여 블록에 대해 예측 연산을 수행하도록 하는 수단을 포함하고,
    상기 갱신 수단은, 모션 벡터에 기초해 필터를 결정하도록 하는 수단, 및 상기 예측 유수들의 블록 밖의 샘플 값들을 0으로 취급함으로써 상기 예측 유수들의 블록을 사용해 서브 픽셀 위치들의 샘플 값들을 보간하도록 하는 수단을 포함함을 특징으로 하는 장치.
  20. 제19항에 있어서, 상기 보간은 상기 보간은 일차원 보간 필터를 이용해 수평 방향 및 수직 방향을 따라 따로따로 수행됨을 특징으로 하는 장치.
KR1020087006208A 2005-08-15 2006-08-15 비디오 코딩 시의 갱신 연산을 위한 서브 픽셀 보간 방법및 장치 KR20080044874A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US70850905P 2005-08-15 2005-08-15
US60/708,509 2005-08-15

Publications (1)

Publication Number Publication Date
KR20080044874A true KR20080044874A (ko) 2008-05-21

Family

ID=37757341

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087006208A KR20080044874A (ko) 2005-08-15 2006-08-15 비디오 코딩 시의 갱신 연산을 위한 서브 픽셀 보간 방법및 장치

Country Status (5)

Country Link
US (1) US20070110159A1 (ko)
EP (1) EP1915872A1 (ko)
KR (1) KR20080044874A (ko)
CN (1) CN101278563A (ko)
WO (1) WO2007020516A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130170554A1 (en) * 2010-09-30 2013-07-04 Nippon Telegraph And Telephone Corporation Video encoding method, video decoding method, video encoding apparatus, video decoding apparatus, and programs thereof
KR20180125431A (ko) * 2009-06-17 2018-11-23 주식회사 아리스케일 복수의 보간 필터링 방법 및 이를 적용한 부호화 장치

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4736456B2 (ja) * 2005-02-15 2011-07-27 株式会社日立製作所 走査線補間装置、映像表示装置、映像信号処理装置
US8369417B2 (en) * 2006-05-19 2013-02-05 The Hong Kong University Of Science And Technology Optimal denoising for video coding
US8831111B2 (en) * 2006-05-19 2014-09-09 The Hong Kong University Of Science And Technology Decoding with embedded denoising
WO2008148272A1 (en) * 2007-06-04 2008-12-11 France Telecom Research & Development Beijing Company Limited Method and apparatus for sub-pixel motion-compensated video coding
WO2010063881A1 (en) * 2008-12-03 2010-06-10 Nokia Corporation Flexible interpolation filter structures for video coding
GB2471323B (en) * 2009-06-25 2014-10-22 Advanced Risc Mach Ltd Motion vector estimator
KR101847072B1 (ko) * 2010-04-05 2018-04-09 삼성전자주식회사 영상 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
WO2011126309A2 (ko) * 2010-04-06 2011-10-13 삼성전자 주식회사 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
US9219921B2 (en) 2010-04-12 2015-12-22 Qualcomm Incorporated Mixed tap filters
KR102295680B1 (ko) 2010-12-08 2021-08-31 엘지전자 주식회사 인트라 예측 방법과 이를 이용한 부호화 장치 및 복호화 장치
KR20130050149A (ko) * 2011-11-07 2013-05-15 오수미 인터 모드에서의 예측 블록 생성 방법
BR112015029097A2 (pt) * 2013-05-23 2017-07-25 Thomson Licensing método para mapeamento de tons de uma sequência de vídeo
KR102402671B1 (ko) 2015-09-09 2022-05-26 삼성전자주식회사 보간 필터의 연산 복잡도를 조절할 수 있는 영상 처리 장치, 영상 보간 방법 및 영상 부호화 방법
WO2017188652A1 (ko) * 2016-04-26 2017-11-02 인텔렉추얼디스커버리 주식회사 영상 부호화/복호화 방법 및 장치
KR20190043129A (ko) 2016-06-22 2019-04-25 뷰레이 테크놀로지스 인크. 약한 필드 강도에서의 자기 공명 영상화
CN108769682B (zh) * 2018-06-20 2022-08-16 腾讯科技(深圳)有限公司 视频编码、解码方法、装置、计算机设备和存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7620109B2 (en) * 2002-04-10 2009-11-17 Microsoft Corporation Sub-pixel interpolation in motion estimation and compensation
MXPA05000335A (es) * 2002-07-09 2005-03-31 Nokia Corp Metodo y sistema para seleccionar tipo de filtro de interpolacion en codificacion de video.
US7653133B2 (en) * 2003-06-10 2010-01-26 Rensselaer Polytechnic Institute (Rpi) Overlapped block motion compression for variable size blocks in the context of MCTF scalable video coders
US8340177B2 (en) * 2004-07-12 2012-12-25 Microsoft Corporation Embedded base layer codec for 3D sub-band coding
US8442108B2 (en) * 2004-07-12 2013-05-14 Microsoft Corporation Adaptive updates in motion-compensated temporal filtering
US8374238B2 (en) * 2004-07-13 2013-02-12 Microsoft Corporation Spatial scalability in 3D sub-band decoding of SDMCTF-encoded video
CN101213842A (zh) * 2005-06-29 2008-07-02 诺基亚公司 用于使用运动补偿时域滤波的视频编码中的更新步骤的方法和装置
US8483277B2 (en) * 2005-07-15 2013-07-09 Utc Fire & Security Americas Corporation, Inc. Method and apparatus for motion compensated temporal filtering using split update process

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180125431A (ko) * 2009-06-17 2018-11-23 주식회사 아리스케일 복수의 보간 필터링 방법 및 이를 적용한 부호화 장치
US20130170554A1 (en) * 2010-09-30 2013-07-04 Nippon Telegraph And Telephone Corporation Video encoding method, video decoding method, video encoding apparatus, video decoding apparatus, and programs thereof
KR101508367B1 (ko) * 2010-09-30 2015-04-07 니폰덴신뎅와 가부시키가이샤 영상 부호화 방법, 영상 복호 방법, 영상 부호화 장치, 영상 복호 장치 및 그 프로그램
US10298945B2 (en) * 2010-09-30 2019-05-21 Nippon Telegraph And Telephone Corporation Video encoding method, video decoding method, video encoding apparatus, video decoding apparatus, and programs thereof

Also Published As

Publication number Publication date
US20070110159A1 (en) 2007-05-17
WO2007020516A1 (en) 2007-02-22
CN101278563A (zh) 2008-10-01
EP1915872A1 (en) 2008-04-30

Similar Documents

Publication Publication Date Title
KR20080044874A (ko) 비디오 코딩 시의 갱신 연산을 위한 서브 픽셀 보간 방법및 장치
US11805267B2 (en) Motion prediction in video coding
US20070053441A1 (en) Method and apparatus for update step in video coding using motion compensated temporal filtering
US20080240242A1 (en) Method and system for motion vector predictions
KR100931870B1 (ko) 비디오 데이터를 효과적으로 코딩 및 디코딩하는 방법,장치 및 시스템
US20070009050A1 (en) Method and apparatus for update step in video coding based on motion compensated temporal filtering
US20080075165A1 (en) Adaptive interpolation filters for video coding
CA2681210C (en) High accuracy motion vectors for video coding with low encoder and decoder complexity
CN107071415B (zh) 编码设备、解码设备、编码方法和解码方法
US20190098319A1 (en) Method and apparatus for motion compensation prediction
KR20080006607A (ko) 편차 제어를 통한 움직임 보상된 미세 입도 규모 가변성비디오 부호화를 위한 방법 및 시스템
US9280835B2 (en) Method for coding and an apparatus based on a DC prediction value
KR101646856B1 (ko) 감소된 해상도 화소 보간
WO2011130187A1 (en) Mixed tap filters
TW202329691A (zh) 影像編解碼系統中基於模板匹配之移動向量細化

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
NORF Unpaid initial registration fee