KR101524393B1 - 인코딩 방법 및 장치, 디코딩 방법 및 장치, 및 컴퓨터 판독가능 저장 매체 - Google Patents

인코딩 방법 및 장치, 디코딩 방법 및 장치, 및 컴퓨터 판독가능 저장 매체 Download PDF

Info

Publication number
KR101524393B1
KR101524393B1 KR1020137020499A KR20137020499A KR101524393B1 KR 101524393 B1 KR101524393 B1 KR 101524393B1 KR 1020137020499 A KR1020137020499 A KR 1020137020499A KR 20137020499 A KR20137020499 A KR 20137020499A KR 101524393 B1 KR101524393 B1 KR 101524393B1
Authority
KR
South Korea
Prior art keywords
motion information
motion
predictors
predictor
motion vector
Prior art date
Application number
KR1020137020499A
Other languages
English (en)
Other versions
KR20130105907A (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 KR20130105907A publication Critical patent/KR20130105907A/ko
Application granted granted Critical
Publication of KR101524393B1 publication Critical patent/KR101524393B1/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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • 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/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • H04N19/895Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder in combination with error concealment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

디지털 이미지 시퀀스가 비트스트림으로 인코드되며, 이미지의 하나 이상의 영역은 참조 이미지 영역에 대한 움직임 보상에 의해 인코드된다. 움직임 정보 예측자들의 목표 개수(Nmax)가 획득된다. 상기 목표 개수를 이용하여 조정된 다이버시티를 갖는 움직임 정보 예측자 집합이 생성된다. 인코드할 상기 이미지 영역에 대한 움직임 정보 예측자가 생성된 상기 움직임 정보 예측자 집합에서 선택된다. 상기 목표 개수는 선택된 상기 움직임 정보 예측자에 관한 정보와 함께 상기 비트스트림에서 시그널링된다.

Description

인코딩 방법 및 장치, 디코딩 방법 및 장치, 및 컴퓨터 판독가능 저장 매체{ENCODING METHOD AND DEVICE, DECODING METHOD AND DEVICE, AND COMPUTER-READABLE STORAGE MEDIUM}
본 발명은 디지털 이미지 시퀀스(a sequence of digital images)를 인코딩하는 방법 및 장치 및 대응하는 비트스트림을 디코딩하는 방법 및 장치에 관한 것이다.
본 발명은 디지털 신호 처리 분야, 특히 움직임 보상(motion compensation)을 이용하여 비디오 스트림 내의 공간적 및 시간적 리던던시(redundancies)를 감소하는 비디오 압축 분야에 속한다.
많은 비디오 압축 포맷, 예를 들어 H.263, H.264, MPEG-1, MPEG-2, MPEG-4, SVC는 블록 기반(block-based) 이산 코사인 변환(DCT) 및 움직임 보상을 이용하여 공간적 및 시간적 리던던시를 제거한다. 이들 포맷은 예측(predictive) 비디오 포맷으로 지칭될 수 있다. 비디오 신호의 각 프레임 또는 이미지는 슬라이스들(slices)로 분할되어 인코드되고, 이 슬라이스들은 독립적으로 디코드될 수 있다. 슬라이스는 전형적으로 프레임의 직사각형 부분, 또는 좀 더 일반적으로는, 프레임의 일부분 또는 프레임 전체에 해당한다. 또한, 각 슬라이스는 매크로블록들(MBs)로 분할되고, 각 매크로블록은 블록들, 전형적으로 8×8 픽셀 블록들로 더 분할된다. 인코드된 프레임은 두 가지 형태, 즉 (P 프레임으로 불리는 하나의 참조 프레임(reference frame)으로부터 예측된 또는 B 프레임으로 불리는 두 개의 참조 프레임으로부터 예측된) 시간적 예측 프레임 및 (인트라(Intra) 프레임 즉 I 프레임으로 불리는) 비시간적 예측 프레임을 갖는다.
시간적 예측은 비디오 시퀀스의 이전 또는 미래 프레임 중 하나인 참조 프레임에서 인코드할 블록에 가장 근접한 이미지 영역(image portion) 또는 참조 영역을 찾는 것이다. 이러한 단계는 움직임 추정(motion estimation)으로 알려져 있다. 다음에, 인코드할 블록과 참조 영역 간의 차가, 움직임 보상에 사용할 참조 영역을 나타내는 움직임 벡터(motion vector)에 대한 움직임 정보 항목(item)과 함께 인코드(움직임 보상)된다.
움직임 정보를 인코딩하는 비용을 더 절감하기 위해, 전형적으로 인코드할 블록의 주변 블록들의 움직임 벡터들로부터 산출된 움직임 벡터 예측자(predictor)와의 차에 의해 움직임 벡터를 인코드하는 것이 제안되었다.
H.264에서, 움직임 벡터들은, 인코드할 블록의 인과 이웃(causal neighbourhood)에 위치한 움직임 벡터들로부터, 예를 들어 인코드할 블록의 상단과 좌측에 위치한 블록들로부터 산출된 메디안 예측자(median predictor)에 대해 인코드된다. 잔여(residual) 움직임 벡터로도 불리는, 메디안 예측자와 현재 블록 움직임 벡터 간의 차만 인코드된다.
잔여 움직임 벡터를 이용한 인코딩은 약간의 비트레이트를 절감해주지만, 디코드할 블록의 움직임 벡터값을 디코드하기 위해 디코더가 움직임 벡터 예측자와 동일한 연산을 수행하는 것을 필요로 한다.
최근에, 복수의 잠재적인 움직임 벡터 예측자를 이용하는 것과 같은 개선책이 추가로 제안되었다. 움직임 벡터 경쟁(competition)으로 불리는 이러한 방법은, 여러 움직임 벡터 예측자 또는 후보들(candidates) 중에서 잔여 움직임 정보의 인코딩 비용, 전형적으로 율-왜곡 비용(rate-distortion cost)을 최소화하는 움직임 벡터 예측자를 결정하는 것이다. 잔여 움직임 정보는 잔여 움직임 벡터, 즉 인코드할 블록의 실제 움직임 벡터와 선택된 움직임 벡터 예측자간의 차, 및 선택된 움직임 벡터 예측자를 나타내는 정보 항목, 예를 들어, 선택된 움직임 벡터 예측자의 인코드된 인덱스(index) 값을 포함한다.
현재 표준화 중에 있는 고효율 비디오 코딩(HEVC)에서는, 도 1에 모식적으로 예시된 바와 같은 복수의 움직임 벡터 예측자, 즉 인코드할 블록의 이웃에 위치한 블록들에서 선택된 소위 3개의 공간적 움직임 벡터 예측자 V1, V2, V3, 3개의 공간적 움직임 벡터 예측자 V1, V2, V3 성분에 기초하여 산출된 메디안 움직임 벡터 예측자, 및 해당 시퀀스의 이전 이미지 내 동일 위치에 있는 블록(예컨대, 이미지 N의 '코딩 중인(Being coded)' 블록과 동일한 공간적 위치에 배치된 이미지 N-1의 블록)의 움직임 벡터인 시간적 움직임 벡터 예측자 V0를 이용하는 것이 제안되었다. 현재 HEVC에서, 3개의 공간적 움직임 벡터 예측자는 미리 정해진 가용성 규칙에 따라 인코드할 블록의 좌측에 위치한 블록(V3), 상단에 위치한 블록(V2) 및 인코드할 블록의 각 모서리에 위치한 블록들 중 하나에서 선택된다. 이러한 움직임 벡터 예측자 선택 방식은 진보된 움직임 벡터 예측(AMVP)으로 불린다. 도 1의 예에서, 좌측 상단에 위치한 블록의 벡터 V1이 선택된다.
마지막으로, 공간적 예측자 및 시간적 예측자를 혼합한 5개인 움직임 벡터 예측자 후보들의 집합(a set of 5 motion vector predictor candidates)이 획득된다. 비트스트림에서 움직임 벡터 예측자를 시그널링하는 오버헤드(overhead)를 줄이기 위해, 중복(duplicated) 움직임 벡터, 즉 동일 값을 갖는 움직임 벡터들을 제거함으로써 움직임 벡터 예측자 집합이 축소된다. 예를 들면, 도 1의 예시에서, V1 및 V2는 같고, V0 및 V3도 같으므로, 이들 중 단지 두 개, 예를 들어 V0 및 V1만 움직임 벡터 예측 후보로서 유지되어야 한다. 이 경우, 움직임 벡터 예측자의 인덱스를 디코더에 표시하기 위해 단지 1비트만 필요하다.
이러한 예측자의 값들에 기초하여 움직임 벡터 예측자 집합이 더 축소될 수 있다. 일단 최적의 움직임 벡터 예측자가 선택되고 움직임 벡터 잔여분(residual)이 산출되면, 움직임 벡터 잔여분 및 인코더의 비용 최적화 기준을 알았다면 선택되지 않았을 후보를 예측 집합에서 더 제거하는 것이 가능하다. 예측자 집합을 충분히 축소하면 선택된 움직임 벡터 예측자의 표시자(indication)가 더 적은 수의 비트를 이용하여 인코드될 수 있기 때문에 시그널링 오버헤드 면에서 이득을 가져온다. 극단적으로, 후보 집합은, 예를 들어 움직임 벡터 예측자들이 동일한 경우 1로 축소될 수 있고, 따라서 선택된 움직임 벡터 예측자에 대한 어떤 정보도 비트스트림에 삽입할 필요가 없다.
요약하면, 움직임 벡터 예측자 후보의 개수 축소와 함께 움직임 벡터 예측자와의 차에 의해 움직임 벡터를 인코드하면 압축 이득을 가져온다. 그러나, 전술한 바와 같이, 인코드할 소정 블록의 경우, 움직임 벡터 예측자 후보의 개수를 축소하는 것은 그 집합의 움직임 벡터 예측자에서 취한 값들, 특히 이웃 블록의 움직임 벡터들과 동일 위치에 있는 블록의 움직임 벡터의 값들을 바탕으로 한다. 또한, 디코더는, 선택된 움직임 벡터 예측자를 표시하는 데 사용되는 비트량을 추론하고, 움직임 벡터 예측자의 인덱스를 디코드하고, 마지막으로 수신된 움직임 벡터 잔여분을 이용하여 움직임 벡터를 디코드하기 위해, 잠재적인 움직임 벡터 예측자 집합에 대해 인코더와 동일한 분석을 적용할 필요가 있다. 도 1의 예를 참조하면, '코딩 중인' 블록의 움직임 벡터 예측자 집합은 인코더에 의해 V0 및 V1로 축소되므로, 그 인덱스는 하나의 단일 비트로 인코드된다. 만일 전송 중에 이미지 N-1의 '동일 위치(Co-located)'의 블록이 분실되면, 디코더는 V0의 값을 획득할 수 없으므로 V0와 V3가 동일하다는 것을 알 수 없다. 따라서, 디코더는 '코딩 중인' 블록에 대한 움직임 벡터 예측자의 인덱스를 인코드하는 데 비트가 얼마나 사용되었는지를 알 수 없고, 결과적으로 디코더는 인덱스 인코딩이 중단되고 비디오 데이터의 인코딩이 시작하는 위치를 알지 못하기 때문에 해당 슬라이스에 대한 데이터를 정확히 파싱(parsing)할 수 없다.
따라서, 움직임 벡터 예측자를 시그널링하는 데 사용되는 비트의 수가 움직임 벡터 예측자에서 취한 값들에 좌우된다는 사실은 비트스트림이 손실이 있는(lossy) 통신 네트워크 상의 디코더로 전송된 경우 이러한 방법을 전송 오류에 매우 취약하게 만든다. 실제로, 이러한 방법은 디코더에서 비트스트림을 정확하게 파싱하기 위해 움직임 벡터 예측자의 값들을 알 필요가 있다. 패킷 손실이 있는 경우, 일부의 움직임 벡터 잔여 값들이 손실되면, 디코더가 움직임 벡터 예측자를 나타내는 인덱스를 인코드하는데 비트가 얼마나 사용되었는지를 판단할 수 없으므로, 비트스트림을 정확하게 파싱할 수 없다. 이러한 오류는 전파될 수 있어 예측 없이 인코드된 후속 동기화(synchronization) 이미지가 디코더에 수신될 때까지 디코더의 비동기화를 야기할 수 있다.
일부 재동기화 또는 오류 은닉(error concealment)을 나중에 적용할 수 있도록, 패킷 손실이 있는 경우에도 적어도 디코더에서 인코드된 비트스트림을 파싱할 수 있는 것이 바람직할 것이다.
K. Sato에 의해 Joint Collaborative Team on Video Coding(JTC-VC) of Guangzhou, 7-15 of October 2010의 제3차 회의에서 발표한 JCTVC-C166r1, 'TE11: Study on motion vector coding(experiment 3.3a and 3.3c)'라는 문헌에서, 예측자 집합에서 동일한 슬라이스에서 비롯된 공간적 움직임 벡터 예측자들만을 이용하는 것을 제안하였다. 이러한 해결책은 슬라이스 손실이 있는 경우 디코더에서 파싱하는 문제를 해결한다. 그러나, 시간적 움직임 벡터 예측자가 더 이상 사용되지 않기 때문에 코딩 효율이 현저히 떨어진다. 그러므로, 이러한 해결책은 압축 성능 면에서 만족스럽지 못하다.
한가지 이상의 종래 기술의 단점을 해결하는 것이 바람직하다.
본 발명의 일 양태에 따르면, 디지털 이미지 시퀀스(a sequence of digital images)를 비트스트림(bitstream)으로 인코딩하는 인코딩 방법이 제공되며, 이미지의 하나 이상의 영역은 참조 이미지 영역(reference image portion)에 대한 움직임 보상(motion compensation)에 의해 인코드되고, 상기 인코딩 방법은 인코드할 상기 이미지 영역에 대해 움직임 정보 예측자들의 목표 개수(a target number of motion information predictors)를 획득하는 단계; 상기 목표 개수를 이용하여 움직임 정보 예측자 집합(a set of motion information predictors)을 생성하는 단계; 및 인코드할 상기 이미지 영역에 대한 움직임 정보 예측자를 생성된 상기 움직임 정보 예측자 집합에서 선택하고, 상기 비트스트림에서 상기 목표 개수 및 선택된 상기 움직임 정보 예측자에 관한 정보를 시그널링하는 단계를 포함한다.
본 발명의 다른 양태에 따르면, 인코드된 디지털 이미지 시퀀스를 포함하는 비트스트림을 디코딩하는 디코딩 방법이 제공되며, 이미지의 하나 이상의 영역은 참조 이미지에 대한 움직임 보상에 의해 인코드되고, 상기 디코딩 방법은 디코드할 이미지 영역에 대한 움직임 정보 예측자들의 목표 개수를 상기 비트스트림으로부터 획득하는 단계; 상기 목표 개수를 이용하여 움직임 정보 예측자 집합을 생성하는 단계; 및 디코드할 상기 이미지 영역에 대한 움직임 정보 예측자를 생성된 상기 움직임 정보 예측자 집합으로부터 결정하는 단계를 포함한다.
본 발명의 또 다른 양태에 따르면, 디지털 이미지 시퀀스를 비트스트림으로 인코딩하는 인코딩 장치가 제공되며, 이미지의 하나 이상의 영역은 참조 이미지 영역에 대한 움직임 보상에 의해 인코드되고, 상기 인코딩 장치는 움직임 정보 예측자들의 목표 개수(Nmax)를 획득하는 수단; 상기 목표 개수를 이용하여 움직임 정보 예측자 집합을 생성하는 수단; 및 인코드할 상기 이미지 영역에 대한 움직임 정보 예측자를 생성된 상기 움직임 정보 예측자 집합에서 선택하고, 상기 비트스트림에서 상기 목표 개수 및 선택된 상기 움직임 정보 예측자에 관한 정보를 시그널링하는 수단을 포함한다.
본 발명의 또 다른 양태에 따르면, 인코드된 디지털 이미지 시퀀스를 포함하는 비트스트림을 디코딩하는 디코딩 장치가 제공되며, 이미지의 하나 이상의 영역은 참조 이미지에 대한 움직임 보상에 의해 인코드되고, 상기 디코딩 장치는 움직임 정보 예측자들의 목표 개수(Nmax)를 상기 비트스트림으로부터 획득하는 수단; 상기 목표 개수를 이용하여 움직임 정보 예측자 집합을 생성하는 수단; 및 디코드할 이미지 영역에 대한 움직임 정보 예측자를 생성된 상기 움직임 정보 예측자 집합으로부터 결정하는 수단을 포함한다.
본 발명의 또 다른 양태는 컴퓨터에서 실행할 때 상기 컴퓨터가 전술한 바와 같은 디지털 비디오 신호를 인코딩하는 인코딩 방법 및 전술한 바와 같은 비트스트림을 디코딩하는 디코딩 방법을 실행하도록 하는 컴퓨터 프로그램을 제공한다. 각 경우에, 상기 프로그램은 컴퓨터 판독가능한 저장 매체에 저장될 수 있다.
또한, 전송 손실에 의해 비트스트림이 손상되는 경우에도 우수한 압축 효율을 유지하면서 디코더에서 정확한 파싱을 가능하게 하는 방법을 제공하는 것이 바람직하다.
그러한 목적을 위해, 본 발명은 디지털 이미지 시퀀스를 비트스트림으로 인코딩하는 방법과 관련되며, 이미지의 하나 이상의 영역은 참조 이미지 영역에 대한 움직임 보상에 의해 인코드된다. 이 방법은, 인코드할 하나 이상의 이미지 영역에 대해,
- 인코드할 이미지 영역에 사용될 움직임 정보 예측자들의 목표 개수를 획득하는 단계, 및
- 움직임 정보 예측자들의 목표 개수로 이루어진 움직임 정보 예측자 집합을 생성하는 단계 - 생성된 집합의 각 움직임 정보 예측자는 생성된 집합의 어떤 다른 움직임 정보 예측자와도 다름 - 를 포함한다.
유리하게, 상기한 본 발명의 방법은, 이미지 영역과 연관된 움직임 벡터와 같은 움직임 정보를 인코딩하는 데 사용될 움직임 정보 예측자들의 목표 개수를 체계적으로 결정하는 것을 가능하게 하며, 모두 서로 다른 움직임 정보 예측자 집합을 생성함으로써 압축을 유리하게 향상시킨다. 움직임 정보 예측자들의 일정한 목표 개수를 이용하는 잠재적인 오버헤드는 압축률의 향상을 돕는 다양한 예측자들을 선택함으로써 보상된다. 서로 다른 움직임 정보 예측자들의 목표 개수는 인코드할 현재 이미지 영역에 대한 움직임 정보 예측자들로 선택된 움직임 벡터와 같은 움직임 정보 항목들의 실제값들과 상관없이 결정되고 일정하다.
본 발명의 실시예는, 예를 들어 AMVP가 사용된 경우처럼 초기에 생성되는 움직임 정보 예측자들의 개수가 사전에 알려지지 않은 경우에 효과적이다. 예를 들어, 만일 초기 집합의 축소가 수행되고, 그러한 축소 처리에 의해 제거된 초기 예측자들의 개수가 사전에 알려지지 않은 경우, 본 발명의 실시예는 움직임 정보 예측자들의 최종 집합이 확실하게 움직임 정보 예측자들의 목표 개수로 이루어지도록 사용될 수 있다.
일 실시예에 따르면, 상기한 인코딩 방법은,
- 인코드할 이미지 영역에 대한 움직임 정보 예측자를 생성된 움직임 정보 예측자 집합에서 선택하는 단계, 및
- 획득한 목표 개수에 따라 선택된 움직임 정보 예측자를 나타내는 정보 항목을 인코딩하는 단계를 더 포함한다.
유리하게, 인코드할 현재 블록에 대한 움직임 정보 예측자가 선택될 수 있으며 선택된 움직임 벡터 예측자는 결정된 움직임 정보 예측자들의 개수에 따라 인코드될 수 있다. 움직임 정보 예측자들의 개수는 디코더에 의해 체계적으로 검색될 수 있으므로, 인코드된 비트스트림은 손실이 있는 경우에도 디코더에서 체계적으로 파싱될 수 있다.
일 실시예에 따르면, 선택된 움직임 벡터 예측자를 나타내는 정보 항목은 생성된 움직임 정보 예측자 집합에서 선택된 움직임 벡터 예측자의 인덱스이며, 인덱스는 획득한 목표 개수에 좌우되는 비트 수로 인코드된다.
일 실시예에 따르면, 인코드할 이미지 영역에 사용될 움직임 정보 예측자들의 목표 개수를 획득하는 단계에서, 목표 개수는 디지털 이미지 시퀀스의 인코드할 어떤 이미지 영역에 대해 미리 정해진 값으로 설정된다.
본 실시예의 이점은 움직임 정보 예측자들의 목표 개수를 인코더 또는 디코더에서 어떠한 부가 연산 또는 시그널링 오버헤드 없이도 쉽게 획득할 수 있다는 것이다.
또 다른 실시예에 따르면, 인코드할 이미지 영역에 사용될 움직임 정보 예측자들의 목표 개수를 획득하는 단계에서, 목표 개수는 인코드할 소정의 이미지 영역에 대해 인코드할 소정의 이미지 영역의 인코딩 정보에 따라 결정된다.
유리하게, 이러한 인코딩 정보는, 예를 들어, 처리를 위해 이미지가 가변 크기의 매크로블록들로 분할되는 경우, 인코드할 이미지 영역이 속하는 매크로블록의 크기와 같은 인코딩 파라미터일 수 있다. 이러한 인코딩 정보는 또한 예를 들어 인코드할 이미지 영역과 연관된 인코딩 모드일 수 있다.
또 다른 양태에 따르면, 본 발명은 디지털 이미지 시퀀스를 비트스트림으로 인코딩하는 장치와 관련되며, 이미지의 하나 이상의 영역은 참조 이미지 영역에 대한 움직임 보상에 의해 인코드된다. 이 장치는, 인코드할 하나 이상의 이미지영역에 대해,
- 인코드할 이미지 영역에 사용될 움직임 정보 예측자들의 목표 개수를 획득하는 수단, 및
- 움직임 정보 예측자들의 목표 개수로 이루어진 움직임 정보 예측자 집합을 생성하는 수단 - 생성된 집합의 각 움직임 정보 예측자는 생성된 집합의 어떤 다른 움직임 정보 예측자와도 다름 - 을 포함한다.
또 다른 양태에 따르면, 본 발명은 또한 프로그램가능 장치에 로딩될 수 있는 컴퓨터 프로그램과 관련되며, 이 컴퓨터 프로그램은, 프로그램이 프로그램가능 장치에 로딩되고 그 장치에 의해 실행될 때 앞에서 간략히 설명한 바와 같은 디지털 이미지 시퀀스를 인코딩하는 방법을 구현하는 명령어 시퀀스를 포함한다. 이러한 컴퓨터 프로그램은 일시적(transitory) 또는 비일시적(non-transitory)일 수 있다. 일 구현예에서, 컴퓨터 프로그램은 비일시적인 컴퓨터 판독가능한 캐리어 매체에 저장될 수 있다.
저장 수단 및 컴퓨터 프로그램 제품의 디지털 이미지 시퀀스를 인코딩하는 장치의 특정한 특성 및 이점은 디지털 비디오 신호 인코딩 방법과 유사하므로, 이에 대해서는 여기서 반복되지 않는다.
또 다른 양태에 따르면, 본 발명은 또한 인코드된 디지털 이미지 시퀀스를 포함하는 비트스트림을 디코딩하는 방법과 관련되며, 이미지의 하나 이상의 영역은 참조 이미지에 대한 움직임 보상에 의해 인코드된다. 디코드할 하나 이상의 이미지 영역에 대해, 상기한 방법은,
- 디코드할 이미지 영역에 사용될 움직임 정보 예측자들의 목표 개수를 획득하는 단계, 및
- 움직임 정보 예측자들의 목표 개수로 이루어진 움직임 정보 예측자 집합을 생성하는 단계 - 생성된 집합의 각 움직임 정보 예측자는 생성된 집합의 어떤 다른 움직임 정보 예측자와도 다름 - 를 포함한다.
비트 스트림을 디코딩하는 방법은 움직임 정보 예측자들의 목표 개수를 결정하는 것과 그러한 개수의 서로 다른 움직임 정보 예측자들을 이용하는 것을 가능하게 하는 이점이 있다. 움직임 정보 예측자들의 목표 개수는 체계적으로 검색될 수 있으며, 결과적으로 비트스트림은 전송 오류가 있는 경우에도 체계적으로 파싱될 수 있다. 또 다른 이점은 모든 경우에 비트스트림의 파싱이 간단하고, 특히 디코더에서 획득할 수 있는 미리 정해진 목표 개수를 이용하는 대신 움직임 정보 예측자들의 개수를 적응적으로 감소하는 종래 기술의 방법보다 간단하다.
일 실시예에 따르면, 상기한 방법은 획득한 목표 개수에 따라 디코드할 이미지 영역에 대한 선택된 움직임 정보 예측자를 나타내는 정보 항목을 디코딩하는 단계를 더 포함한다.
유리하게, 움직임 정보 예측자들의 개수에 좌우되는 인코딩이 디코더에 적용된 경우, 디코드할 이미지 영역에 대한 선택된 움직임 정보 예측자를 나타내는 정보 항목은 전송 오류가 있는 경우에도 체계적으로 디코드될 수 있다.
또 다른 양태에 따르면, 본 발명은 또한 인코드된 디지털 이미지 시퀀스를 포함하는 비트스트림을 디코딩하는 장치와 관련되며, 이미지의 하나 이상의 영역은 참조 이미지 영역에 대한 움직임 보상에 의해 인코드된다. 장치는 디코드할 적어도 하나 이상의 이미지 영역에 대해,
- 디코드할 이미지 영역에 사용될 움직임 정보 예측자들의 목표 개수를 획득하는 수단, 및
- 움직임 정보 예측자들의 목표 개수로 이루어진 움직임 정보 예측자 집합을 생성하는 수단 - 생성된 집합의 각 움직임 정보 예측자는 생성된 집합의 어떤 다른 움직임 정보 예측자와도 다름 - 을 포함한다.
또 다른 양태에 따르면, 본 발명은 또한 컴퓨터 또는 마이크로프로세서에 의해 판독될 수 있는 정보 저장 수단과 관련되며, 이 저장 수단은 탈착가능하고, 앞에서 간략히 설명한 바와 같은 비트스트림을 디코딩하는 방법의 구현을 위한 컴퓨터 프로그램의 명령어를 저장한다.
또 다른 양태에 따르면, 본 발명은 또한 프로그램가능 장치에 로딩될 수 있는 컴퓨터 프로그램과 관련되며, 컴퓨터 프로그램은, 프로그램이 프로그램가능 장치에 로딩되고 그 장치에 의해 실행될 때 앞에서 간략히 설명한 바와 같은 비트스트림을 디코딩하는 방법을 구현하는 명령어 시퀀스를 포함한다. 이러한 컴퓨터 프로그램은 일시적 또는 비일시적일 수 있다. 일 구현예에서, 컴퓨터 프로그램은 비일시적인 컴퓨터 판독가능한 캐리어 매체에 저장될 수 있다.
저장 수단 및 컴퓨터 프로그램 제품의 비트스트림을 디코딩하는 장치의 특정한 특성 및 이점은 상기한 디코딩 방법과 유사하므로, 이에 대해서는 여기서 반복되지 않는다.
본 발명의 또 다른 양태에 따르면, 디지털 이미지 시퀀스를 비트스트림으로 인코딩하는 방법이 제공되며, 이미지의 하나 이상의 영역은 참조 이미지 영역에 대한 움직임 보상에 의해 인코드되고, 방법은 조정된 다이버시티를 갖는 움직임 정보 예측자 집합을 생성하는 단계 및 인코드할 이미지 영역에 대한 움직임 정보 예측자를 생성된 움직임 정보 예측자 집합에서 선택하는 단계를 포함한다.
조정된 다이버시티를 갖는 이러한 집합의 움직임 정보 예측자들이 서로 다르지만 이들 중 하나 이상이 실제 움직임 정보와 통계적으로 근접할 가능성이 있으므로 잔여분(실제 움직임 정보와 관련 예측자 간의 차)이 작아서 효율적으로 압축가능하다는 것을 의미한다.
상기한 방법은,
제1 움직임 정보 예측자를 생성하는 단계;
하나 이상의 제1 움직임 정보 예측자를 시드(seed) 예측자로서 식별하는 단계;
시드 예측자(들)에 기초하여 하나 이상의 제2 움직임 정보 예측자를 생성하는 단계; 및
움직임 정보 예측자 집합을 제1 및/또는 제2 움직임 정보 예측자로부터 구성하는 단계를 포함한다.
이 경우, 제1 움직임 정보 예측자는 압축 효율 면에서 통계적으로 우수한 결과를 가져올 것으로 예상되는 예측자일 수 있다. 그래서, 제1 예측자를 기반으로 하는 제2 움직임 정보 예측자는 제1 예측자에 이웃하는 예측자 공간에서 다른 예측자를 구조화된 또는 체계적인 방식으로 조사하는 데 사용될 수 있다. 이러한 예측자는 또한 우수한 결과를 가져올 것으로 예상될 수 있으며 검사된 예측자가 많을수록 실제 움직임 정보와 우수하게 일치하는 것(match)을 찾는 기회가 더 많아진다.
일 실시예에서, 하나 이상의 제1 움직임 정보 예측자는, 관련된 제1 움직임 예측자의 중요도(importance)에 기초하여 그러한 시드 예측자로서 식별된다.
중요도는 관련된 제1 움직임 정보 예측자가 제1 움직임 정보 예측자들 사이에서 나타나는 횟수에 좌우될 수 있다. 횟수가 클수록 예측자의 중요도가 더 큰 것으로 간주되며 그 예측자가 집합에 사용될 가능성이 크다. 동일한 예측자들(중복)을 찾는 것뿐만 아니라, 근접한 일치를 찾는 것 또한 역시 효과적일 수 있다.
대안으로, 중요도는 관련된 제1 움직임 정보 예측자가 전체적으로 제1 움직임 정보 예측자들을 얼마나 대표하는지에 대한 척도에 좌우될 수 있다. 예를 들어, 만일 제1 움직임 정보 예측자들이 평균되면, 평균 예측자와 소정의 제1 움직임 정보 예측자 간의 차 또는 거리는, 소정의 예측자가 전체적으로 제1 움직임 정보 예측자들을 얼마나 대표하는지에 대한 척도이다.
다이버시티를 조정하는 한가지 방식은 시드 예측자들 중 하나에서 오프셋을 더하거나 뺌으로써 하나 이상의 제2 움직임 정보 예측자를 생성하는 것이다. 오프셋은 일정할 수 있다. 또한, 오프셋은 동일한 시드값이 인코더에 대한 디코더에 이용가능한 한 의사 랜덤(pseudo-random) 값일 수 있다. 만일 시드 예측자가 벡터이면, 시드 예측자에 일정한 크기와 시드 예측자의 방향에 대해 미리 정해진 방향을 갖는 다른 벡터를 더함으로써 다이버시티를 조정하는 것도 가능하다.
동일한 시드 예측자에 따라 복수의 제2 움직임 정보 예측자가 생성될 수 있다. 만일 움직임 정보 예측자들이 각각 X 및 Y 성분을 갖는 벡터들인 경우, 복수의 제2 움직임 정보 예측자들은 동일한 시드 예측자의 하나 또는 둘 다의 성분들에/에서 오프셋을 더하고 및/또는 뺌으로써 획득될 수 있다. 예를 들어, 동일한 오프셋이 동일 시드 예측자에 더해지고 그 동일 시드 예측자에서 뺄 수 있다. 만일 시드 예측자가 X 및 Y 성분을 갖는 벡터이면, 동일 시드 예측자의 X 및 Y 성분 중 하나 또는 둘 다에/에서 오프셋을 더하고/빼는 많은 순열(permutations)이 존재한다. 이는 큰 처리 부담없이 조정된 다이버시티를 생성하는 효율적인 방식이다.
다이버시티를 조정하는 또 다른 방식은 제1 움직임 정보 예측자들의 서로 다른 쌍들(또는 다른 조합들)의 평균을 냄으로써 복수의 제2 움직임 정보 예측자들을 생성하는 것이다. 예를 들어, 만일 제1 움직임 정보 예측자들이 V1, V2 및 V3이면, 세 개의 제2 움직임 정보 예측자들이 V1와 V2, V2와 V3, 및 V3와 V1의 평균으로 구성될 수 있다. 또한, 동일한 제1 움직임 정보 예측자들의 다른 가중치 조합을 다른 제2 움직임 정보 예측자로서 구성하는 것도 가능할 것이다.
제1 움직임 정보 예측자들은 각각 인코드되는 이미지 영역과 미리 정해진 공간적 및/또는 시간적 관계를 갖는 이미지 영역과 연관된 움직임 정보 예측자들이거나 그 움직임 정보 예측자들을 포함할 수 있다. 예를 들어, AMVP에 사용된 움직임 정보 예측자들은 제1 움직임 정보 예측자들일 수 있다. 이들은 우수한 시드 예측자 소스가 된다.
또 다른 실시예에서, 상기한 방법은,
제1 움직임 정보 예측자들을 생성하는 단계;
생성된 제1 움직임 정보 예측자들 간의 차를 확인하는 단계; 및
상기 차에 따라 움직임 정보 예측자 집합에서 하나 이상의 제1 움직임 정보 예측자를 제외하는 단계를 포함한다.
제1 움직임 정보 예측자들 간의 차를 고려하면, 집합의 움직임 정보 예측자들의 다이버시티를 조정하는 것이 가능하다. 이 경우, 제1 움직임 정보 예측자들 사이에서 시드 예측자를 식별하고 시드 예측자에 따라 제2 움직임 정보 예측자들을 생성할 필요가 없다. 이는, 예를 들어, 충분히 많은 수의 제1 움직임 정보 예측자들이 초기에 이용가능한 경우에 효과적일 수 있다.
예를 들어, 다이버시티를 조정하는 방식으로서, 다른 제1 움직임 정보 예측자와의 차가 최저인 제1 움직임 정보 예측자가 제거될 수 있다. 이러한 처리는 필요에 따라 덜 다양한 예측자들을 연속적으로 제거하기 위해 다시 반복될 수 있다.
이와 같은 본 발명의 양태에서, 집합의 움직임 정보 예측자들의 개수가 가변적일 수 있다는 것을 주목하는 것이 중요하다.
그러나, 본 발명의 다른 기본적인 양태에서처럼, 상기한 집합의 움직임 정보 예측자들의 개수는, 적어도 인코드할 소정의 이미지 영역에 대하여 또는 심지어 모든 이미지 영역들(목표 개수)에 대하여 미리 정해질 수 있다. 이로써 집합의 예측자들 사이에서 다이버시티의 조정을 성취할 뿐만 아니라 도입부에서 주목한 파싱 문제를 해결하는 것도 가능하다.
이와 같은 본 발명의 양태는 또한 대응하는 디코딩 방법 및 대응하는 인코딩 및 디코딩 장치뿐만 아니라, 그러한 인코딩 및 디코딩을 유발하는 프로그램을 제공한다.
또 다른 양태에 따르면, 본 발명은 디지털 이미지 시퀀스를 비트스트림으로 인코딩하는 방법과 관련되며, 이미지의 하나 이상의 영역은 참조 이미지 영역에 대한 움직임 보상에 의해 인코드된다. 이 방법은, 인코드할 하나 이상의 이미지 영역에 대해,
- 인코드할 이미지 영역에 사용될 움직임 벡터 예측자들의 제1 집합을 획득하는 단계, 및
- 움직임 벡터 예측자들의 제1 집합으로부터 움직임 벡터 예측자들의 제2 집합을 생성하는 단계 - 생성된 집합의 각 움직임 벡터 예측자는 생성된 움직임 벡터 예측자들의 제2 집합의 어떤 다른 움직임 벡터 예측자와 다르고, 제2 집합의 하나 이상의 움직임 벡터 예측자는 제1 집합의 선택된 움직임 벡터 예측자로부터 산출됨 - 를 포함한다.
유리하게, 움직임 벡터 예측자들의 제2 집합은 인코드할 이미지의 영역과 연관된 움직임 벡터를 인코딩하는 데 사용된다. 움직임 벡터 예측자들의 제2 집합은 압축 효율을 향상시키기 위해 생성된(및 아마도 선택된) 서로 다른 다양한 움직임 벡터 예측자들을 포함한다.
일 실시예에 따르면, 제1 집합의 움직임 벡터 예측자는 선택 단계에서 중요도 값(importance value)에 따라 선택된다.
일 실시예에 따르면, 인코딩 방법은 상기 제1 집합의 각 움직임 벡터 예측자와 연관된 중요도 값을 산출하는 단계를 포함한다.
일 실시예에 따르면, 제1 집합의 움직임 벡터 예측자는 선택 단계에서 제1 집합의 움직임 벡터 예측자들 간의 거리에 따라 선택된다.
움직임 벡터 예측자를 선택하여 다른 추가적인 또는 가상 움직임 벡터 예측자를 생성하는 다양한 실시예는 다이버시티 조정 선택(controlled diversity selection)을 적용하는 것을 가능하게 하여, 압축 효율을 향상시키는 이점이 있다. 실제로, 초기 집합의 중요한 움직임 벡터 예측자들로부터 산출된 움직임 벡터 예측자들을 이용하면 인코드할 현재 이미지 영역의 움직임 벡터를 좀 더 정확하게 나타내는 것이 가능하다. 다시, 최종 집합의 예측자들을 일정 개수 또는 목표 개수 갖는 것이 필수적인 것은 아니다.
일 실시예에 따르면, 움직임 벡터 예측자들의 제1 집합의 움직임 벡터 예측자들은 인코드되는 이미지 및/또는 참조 이미지의 인코드할 이미지 영역들과 연관된 움직임 벡터들이다. 제1 집합은 AMVP에 사용된 예측자들로 구성되거나, 또는 그러한 예측자들을 포함할 수 있다.
다른 특징 및 이점은 오직 비제한적인 예를 통해서만 제시되고 첨부의 도면을 참조하여 이루어진 다음의 설명에서 나타날 것이다.
도 1은 이미 설명된 것으로 움직임 벡터 예측 방식에 사용된 움직임 벡터 예측자 집합을 모식적으로 예시한다.
도 2는 본 발명의 일 실시예를 구현하도록 구성된 처리 장치의 도면이다.
도 3은 본 발명의 일 실시예에 따른 인코더의 블록도이다.
도 4는 본 발명의 일 실시예에 따른 디코더의 블록도를 예시한다.
도 5는 제1 실시예에 따른 움직임 벡터 예측자 집합을 결정하는 것에 대해 상세히 설명한다.
도 6은 제2 실시예에 따른 움직임 벡터 예측자 집합을 결정하는 것에 대해 상세히 설명한다.
도 7은 움직임 벡터 예측자들의 제2 집합을 예시한다.
도 8은 좌표계에서 움직임 벡터를 모식적으로 예시한다.
도 2는 본 발명의 일 실시예를 구현하도록 구성된 처리 장치(1000)의 도면을 예시한다. 장치(1000)는 예를 들어 마이크로 컴퓨터, 워크스테이션 또는 휴대용 광 장치이다.
장치(1000)는 통신 버스(1113)를 포함하고, 바람직하게 이 통신 버스에는,
- 마이크로프로세서와 같은 CPU로 표시된 중앙 처리 유닛(1111);
- 본 발명을 구현하는 컴퓨터 프로그램을 포함할 수 있는, ROM으로 표시된 판독 전용 메모리(1107);
- 본 발명의 방법의 실행가능한 코드뿐만 아니라 디지털 이미지 시퀀스(a sequence of digital images)를 인코딩하는 방법 및/또는 비트스트림(bitstream)을 디코딩하는 방법을 구현하는 데 필요한 변수 및 파라미터를 기록/저장하도록 구성된 레지스터를 포함할 수 있는 RAM으로 표시된 랜덤 액세스 메모리(1112); 및
- 처리될 디지털 데이터가 전송되는, 통신 네트워크(1103)에 연결된 통신 인터페이스(1102)가 연결된다.
선택적으로, 장치(1000)는 또한 다음과 같은 컴포넌트, 즉
- 본 발명을 구현하는 프로그램 및 본 발명의 구현 동안 사용되거나 생성된 데이터를 담을 수 있는 하드 디스크와 같은 데이터 저장 수단(1104);
- 디스크(1106)로부터 데이터를 판독하거나 디스크에 데이터를 기록하도록 구성된 디스크(1106)용 디스크 드라이브(1105);
- 데이터를 디스플레이하고 및/또는 키보드(1110) 또는 어떤 다른 포인팅 수단에 의해 사용자와의 그래픽 인터페이스로 기능하는 화면(1109)을 구비할 수 있다.
장치(1000)는 다양한 주변장치, 예를 들어, 디지털 카메라(1100) 또는 마이크로폰(1108)에 연결될 수 있으며, 그 각각은 입/출력 카드(미도시)에 연결되어 멀티미디어 데이터를 장치(1000)로 제공한다.
통신 버스는 장치(1000)에 포함되거나 그 장치에 연결된 각종 구성 요소들 간의 통신 및 상호운용성(interoperability)을 제공한다. 이러한 버스의 표현은 제한되지 않고 특히 중앙 처리 유닛은 명령어를 장치(1000)의 어떤 구성 요소에 직접 또는 장치(1000)의 다른 구성 요소를 통해 전달할 수 있다.
디스크(1106)는 예를 들어 재기록가능하거나 재기록가능하지 않는 콤팩트 디스크(CD-ROM), ZIP 디스크 또는 메모리 카드와 같은 어떤 정보 매체로 그리고 일반적으로 장치에 통합되거나 통합되지 않는, 구현되는 본 발명에 따라 디지털 이미지 시퀀스를 인코딩하는 방법 및/또는 비트스트림을 디코딩하는 방법의 실행을 가능하게 하는 하나 이상의 프로그램을 저장하도록 구성되고 탈착가능한, 마이크로컴퓨터 또는 마이크로프로세서에 의해 판독될 수 있는 임의의 정보 저장 수단으로 대체될 수 있다.
실행가능한 코드는 판독 전용 메모리(1107), 하드 디스크(1104) 또는 예를 들어 전술한 바와 같은 디스크(1106)와 같은 탈착가능한 디지털 매체에 저장될 수 있다. 변형예에 따르면, 프로그램의 실행가능한 코드는 인터페이스(1102)를 매개로 하여 통신 네트워크(1103)를 통해 수신되어, 실행되기 전에 하드 디스크(1104)와 같은 장치(1000)의 저장 수단 중 하나에 저장될 수 있다.
중앙 처리 유닛(1111)은 본 발명에 따라 명령어 또는 전술한 저장 수단 중 하나에 저장된 명령어인 프로그램 또는 프로그램들의 소프트웨어 코드의 일부의 실행을 제어하고 지시하도록 구성된다. 전원 공급시, 비휘발성 메모리, 예를 들어 하드 디스크(1104) 또는 판독 전용 메모리(1107)에 저장된 프로그램 또는 프로그램들은, 랜덤 액세스 메모리(1112)에 전달되고, 이러한 메모리는 프로그램 또는 프로그램들의 실행가능한 코드뿐만 아니라, 본 발명을 구현하는 데 필요한 변수 및 파라미터를 저장하는 레지스터를 포함한다.
본 실시예에서, 본 장치는 소프트웨어를 이용하여 본 발명을 구현하는 프로그램가능 장치이다. 그러나, 대안으로, 본 발명은 하드웨어로(예컨대, 주문형 반도체 즉 ASIC의 형태로) 구현될 수 있다.
도 3은 본 발명의 일 실시예에 따른 인코더의 블록도를 예시한다. 인코더는 연결형 모듈들로 나타내고, 각 모듈은 본 발명의 실시예를 구현하는 방법의 대응하는 단계를, 예를 들어 장치(1000)의 CPU(1111)에 의해 실행가능한 프로그래밍 명령어 형태로 구현하도록 구성된다.
원(original) 디지털 이미지 시퀀스 i0 내지 in(301)은 인코더(30)에 입력으로서 수신된다. 각 디지털 이미지는 픽셀들로 알려진 샘플들의 집합으로 표현된다.
비트스트림(310)은 인코더(30)에서 출력된다.
비트스트림(310)은 복수의 인코딩 유닛 또는 슬라이스를 포함하고, 각 슬라이스는 그 슬라이스 및 인코드된 비디오 데이터를 포함하는 슬라이스 바디(body)를 인코드하는 데 사용된 인코딩 파라미터 값들을 인코딩하는 슬라이스 헤더(header)를 포함한다.
입력 디지털 이미지는 블록들로 분할되며(302), 그 블록들은 이미지 영역들이고 가변 크기(예컨대, 4×4, 8×8, 16×16, 32×32)를 가질 수 있다. 각 입력 블록마다 코딩 모드가 선택된다. 두 가지 계열의 코딩 모드, 즉 공간적 예측 코딩 또는 인트라(Intra) 코딩, 및 시간적 예측 코딩 또는 인터(Inter) 코딩이 있다. 가능한 코딩 모드가 검사된다.
모듈(303)은 인코드할 소정의 블록을 인코드할 블록의 이웃 픽셀들로부터 산출된 예측자(predictor)에 의해 예측하는 인트라 예측(Intra prediction)을 구현한다. 만일 인트라 코딩이 선택되면, 선택된 인트라 예측자 및 소정의 블록과 그의 예측자 간의 차에 대한 표시자가 인코드된다.
시간적 예측(Temporal prediction)은 모듈(304 및 305)에 의해 구현된다. 먼저, 참조 이미지들의 집합(316) 중에서 하나의 참조 이미지가 선택되고, 인코드할 소정의 블록에 가장 근접한 영역인 참조 영역으로도 불리는 참조 이미지의 일부가 움직임 추정 모듈(304)에 의해 선택된다. 잔여 블록(residual block)으로도 불리는 선택된 참조 영역과 소정의 블록 간의 차가 움직임 보상 모듈(305)에 의해 계산된다. 선택된 참조 영역은 움직임 벡터로 나타낸다.
만일 인터 예측(Inter prediction)이 선택되면, 움직임 벡터 및 잔여 블록에 대한 정보가 인코드된다. 비트레이트를 더 줄이기 위해, 움직임 벡터는 움직임 벡터 예측자와 관련된 차에 의해 인코드된다. 움직임 정보 예측자로도 불리는 움직임 벡터 예측자 집합은 움직임 벡터 예측 및 코딩 모듈(317)에 의해 움직임 벡터 필드(motion vectors field)(318)로부터 획득된다.
유리하게, 최적의 움직임 벡터 예측자를 선택하여 현재 움직임 벡터를 인코드하는 데 사용되는 움직임 벡터 예측자 집합은 도 5 및 도 6과 관련하여 이하에서 더욱 상세히 설명된 바와 같이 생성된다. 인코드할 소정의 현재 블록의 경우, 미리 정해진 움직임 벡터 예측자 수 Nmax가 설정되고, 결과적으로 선택된 움직임 벡터 예측자를 나타내는 정보 항목인 선택된 움직임 벡터 예측자의 인덱스가, 미리 정해진 비트 수를 이용하여 인코드될 수 있다. 이와 같은 미리 정해진 비트 수는 손실이 있는 경우에도 디코더에 의해 검색될 수도 있으므로, 디코더가 오류 또는 손실이 있는 경우에도 확실하게 비트스트림을 파싱할 수 있을 것이다. Nmax개의 움직임 벡터 예측자는 압축 효율을 향상시키기 위해 다양한 실시예에 따라 모두 서로 다르게 선택된다.
미리 정해진 움직임 벡터 예측자 개수 Nmax 및 움직임 벡터 예측자의 인덱스를 인코드하기 위한 대응하는 비트 수를 선택하는 것은 블록 크기 또는 인코딩 모드와 같은 인코딩 파라미터에 따라 시퀀스 전체, 또는 그 시퀀스의 이미지 그룹, 또는 블록 레벨에 적용될 수 있다. 예를 들어, 움직임 벡터 예측자들의 미리 정해진 제1 개수 Nmax1은 잔여 블록을 인코드하는 인터 예측을 이용하여 인코드된 블록에 사용될 수 있으며, 움직임 벡터 예측자들의 미리 정해진 제2 개수 Nmax2는 움직임 벡터만 인코드하고, 어떠한 잔여 블록도 인코드하지 않는 스킵(SKIP) 모드를 이용하여 인코드된 블록에 사용될 수 있다. 각 움직임 벡터 예측자 개수 Nmax1 및 Nmax2는, 예를 들어, 이들을 슬라이스 헤더와 같은 헤더, 또는 어떤 적절한 메타데이터(metadata) 필드에 삽입함으로써 비트스트림으로 시그널링될 수 있다.
인코더(30)는 율-왜곡(rate-distortion) 기준과 같은 인코딩 비용 기준을 이용하여 공간적 예측 모드 및 시간적 예측 모드 중에서 어느 것이 최적의 모드인지를 판단하는 코딩 모드 선택 모듈(306)을 더 포함한다. 변환(307)은 잔여 블록에 적용되고, 다음에 획득한 변환 데이터는 모듈(308)에 의해 양자화되고 모듈(309)에 의해 엔트로피 인코드된다. 마지막으로, 인코드할 현재 블록의 인코드된 잔여 블록은 사용된 예측자에 대한 정보와 함께 비트스트림(310)에 삽입된다. 'SKIP' 모드에서 인코드된 블록의 경우, 비트스트림에는, 어떠한 잔여 블록 없이 해당 예측자에 대한 참조 사항(reference)만 인코드된다.
인코더(30)는 인코드된 이미지의 디코딩을 추가로 수행하여 후속 이미지의 움직임 예측을 위한 참조 이미지를 생성한다. 모듈(311)은 양자화된 데이터를 역양자화한 다음, 역변환(312)을 수행한다. 역 움직임 예측 모듈(313)은 예측 정보를 이용하여 소정의 블록에 어느 예측자를 사용할지를 판단하고 역 움직임 보상 모듈(314)은 실제로 모듈(312)에서 획득한 잔여분을 참조 이미지 집합(316)으로부터 획득한 참조 영역에 더한다. 선택적으로, 디블록킹 필터(315)는 블록킹 효과를 제거하여 디코드된 이미지의 시각적 품질을 향상시키는데 적용된다. 만일 전송 손실이 없는 경우, 인코더 및 디코더는 동일한 처리를 적용하도록 디코더에서도 동일한 디블록킹 필터가 적용된다.
도 4는 본 발명의 일 실시예에 따른 디코더의 블록도를 예시한다. 디코더는 연결형 모듈들로 나타내고, 각 모듈은 본 발명의 일 실시예를 구현하는 방법의 대응하는 단계를, 예를 들어 장치(1000)의 CPU(1111)에 의해 실행가능한 프로그래밍 명령어의 형태로 구현하도록 구성된다.
디코더(40)는 각각의 하나가 인코딩 파라미터에 대한 정보를 포함하는 헤더 및 인코드된 비디오 데이터를 포함하는 바디로 구성된 인코딩 유닛들을 포함하는 비트스트림(401)을 수신한다. 도 3과 관련하여 설명된 바와 같이, 인코드된 비디오 데이터는 엔트로피 인코드되고, 움직임 벡터 예측자의 인덱스는 소정의 블록에 대해 미리 정해진 비트 수로 인코드된다. 수신된 인코드된 비디오 데이터는 엔트로피 디코드되고(402), 역양자화되고(403) 그런 다음 역변환(404)이 적용된다.
특히, 수신된 인코드된 비디오 데이터가 디코드할 현재 블록의 잔여 블록에 해당하면, 디코더 역시 비트스트림으로부터 움직임 예측 정보를 디코드하여 인코더에 사용된 참조 영역을 찾는다.
모듈(410)은 움직임 예측에 의해 인코드된 각 현재 블록에 대해 움직임 벡터 디코딩을 적용하는 것으로, 이는 사용된 움직임 벡터 예측자의 개수 Nmax를 결정하고 Nmax에 좌우되는 비트 수로 인코드된 움직임 벡터 예측자 인덱스를 검색하는 것을 포함한다. 도 3의 모듈(317)과 유사하게, 움직임 벡터 디코딩 모듈(410)은 Nmax개의 움직임 벡터 예측자 집합을 생성한다. 도 5 및 도 6과 관련하여 이하에서 설명되는 실시예도 유사하게 적용된다. 만일 비트스트림이 손실없이 수신된다면, 디코더는 인코더와 정확히 동일한 움직임 벡터 예측자 집합을 생성한다. 손실이 있는 경우, 움직임 벡터 예측자 집합을 생성하지 못하므로 현재 블록과 연관된 움직임 벡터를 정확하게 디코드하지 못할 수 있다. 그러나, 움직임 벡터 예측자의 인덱스를 인코드하는 데 사용된 비트 수가 디코더에 의해 체계적으로 검색될 수 있기 때문에, 손실이 있는 경우에도 비트스트림의 파싱이 언제든지 가능하다.
일단 현재 블록에 대한 움직임 벡터 예측자의 인덱스가 획득되었다면, 손실이 발생하지 않은 경우, 현재 블록과 연관된 움직임 벡터의 실제값이 디코드되어 역 움직임 보상(406)을 적용하는 데 사용될 수 있다. 디코드된 움직임 벡터로 나타낸 참조 영역은 참조 이미지(408)로부터 추출되어 마지막으로 역 움직임 보상(406)이 적용된다.
인트라 예측이 적용된 경우, 모듈(405)에 의해 역 인트라 예측이 적용된다.
마지막으로, 디코드된 블록이 획득된다. 인코더에 적용된 디블록킹 필터(315)와 마찬가지로, 디블록킹 필터(407)가 적용된다. 마지막으로, 디코더(40)에서 디코드된 비디오 신호(409)가 제공된다.
도 5는 본 발명의 제1 실시예에서 움직임 벡터 예측자 또는 움직임 벡터 후보 집합을 생성하는 것에 대해 상세히 설명한다. 도 5에 나타낸 알고리즘의 모든 단계는 소프트웨어로 구현되고 장치(1000)의 중앙 처리 유닛(1111)에 의해 실행될 수 있다.
도 5는 참조 이미지에서 참조 영역을 지정한 움직임 벡터를 연관시킨 인코드할 소정의 현재 블록에 적용된 흐름도를 나타낸다.
단계(S500)에서, 먼저 움직임 벡터 예측자들의 초기 집합 L1을 획득한다. 집합 L1은 N개의 후보들로 구성된다. 일 실시예에서, 움직임 벡터 예측자들의 초기 집합은 이미 도 1을 참조하여 설명된 움직임 벡터 예측 방식 AMVP에 따라 선택된 움직임 벡터 후보, 예를 들어 도 1의 벡터 V0 내지 V3, 및 V1, V2 및 V3으로부터 산출된 메디안 벡터를 포함한다. 따라서, N은 최대 5이다.
바람직하게는, 움직임 벡터 예측자들의 초기 집합 L1은 단지 서로 다른 움직임 벡터들만을 포함한다. 도 1의 예를 들면, 단지 움직임 벡터 V0, V1 및 메디안 벡터만 L1으로 유지되어야 하고, 움직임 벡터 예측자의 개수는 N=3이다.
대안의 실시예에서, 이미 산출된 움직임 벡터를 선택하고 이용가능한 것들과 다른 움직임 벡터를 산출하여 움직임 벡터 예측자들의 초기 집합 L1을 구성하는 임의의 다른 방식도 적용될 수 있다.
또 다른 대안의 실시예에서, 움직임 벡터 예측자들의 초기 집합 L1은 빈 상태(empty)이고 N=0이다.
다음 단계(S502)에서, 사용할 후보 움직임 벡터 예측자들의 목표 개수 Nmax를 획득한다. Nmax는 인코드할 전체 디지털 이미지 시퀀스에 대해 미리 결정되거나, 예를 들어 Nmax=4이거나, 인코드할 현재 블록 또는 인코드할 현재 블록이 속하는 인코딩 유닛(예컨대 슬라이스)의 인코딩 파라미터에 따라 선택될 수 있다.
예를 들어, 개수 Nmax는 처리되는 현재 블록이 속하는 매크로블록(macroblock)에 적용된 변환 크기에 좌우될 수 있으며, 예를 들어 2p+1×2p+1의 블록에 적용된 변환의 경우 Nmax=p이다.
일 실시예에서, 움직임 벡터 예측자의 인덱스를 인코딩하는 데 사용할 비트 수 k는 Nmax(k=INTsup(log2(Nmax)))에 직접 관련되며, 여기서 INTsup(x)는 x값에 직접 좌우되는 정수이다. 바람직하게는, Nmax는 k개의 비트로 인코드될 수 있는 모든 인덱스를 이용하도록 2의 거듭제곱, 즉 Nmax=2k이어야 한다. 유리하게, 시그널링용으로 사용된 모든 비트들은 다양한 움직임 벡터 예측자를 지정하여 압축을 향상시킬 수 있도록 사용된다.
대안으로, 서로 다른 움직임 벡터 예측자들의 개수 Nmax가 결정된 후, 움직임 벡터 예측자를 나타내는 인덱스에 대해 어떤 형태의 인코딩이라도 사용될 수 있다. 특히, 허프만(Huffman) 인코딩 또는 산술 인코딩과 같은 어떤 형태의 엔트로피 인코딩이라도 사용될 수 있다. 또한, 인덱스는 라이스 골롬(Rice-Golomb) 또는 단항(unary) 코드와 같은 프리픽스(prefix)형 코드를 이용하여 인코드될 수도 있다.
다음에, 단계(S503)에서, 집합 L1의 움직임 벡터 예측자들의 개수 N이 Nmax보다 큰지를 검사한다.
긍정적인 답변의 경우, 검사(S503)에 뒤이어 단계(S504)에서 움직임 벡터 예측자 후보를 L1에서 선택하고, 이어서 단계(S506)에서, 선택된 움직임 벡터 예측자 후보를 L1에서 제거하여, 움직임 벡터 예측자들의 수정된 집합 L2를 구성한다.
단계(S504)의 선택은 제거 기준, 예를 들어 거리 기준에 따라 적용된다. 예를 들어, 집합 L1은 움직임 벡터 예측자들{V1,....,VN}을 포함하며, 여기서 각 움직임 벡터 예측자는 도 8에 나타낸 바와 같은 좌표계에서 X축 및 Y축 상의 해당 움직임 벡터 예측자의 성분 또는 좌표로 나타낸 벡터이다.
일 실시예에서, 단계(S504)에서 각 벡터 Vk와 Vk 자신과 다른 L1의 각각의 다른 벡터 Vn 간의 거리를 결정하고, 그 거리는
Figure 112013070140291-pct00001
와 같이 계산되고, 여기서
Figure 112013070140291-pct00002
는 a의 절대값을 나타낸다. 도 8의 예를 들면, 벡터 V는 좌표(3,2)를 갖고, 벡터 V'는 좌표(4,2)를 갖고, 그리고 V"는 좌표(3,3)를 갖는다. 이 예에서, d(V,V')=d(V,V")=1이므로, V' 및 V"는 벡터 V에서 동일한 거리만큼 떨어져 있는 반면, d(V',V")=2이다.
이러한 거리를 계산하는 데에는 어떠한 형태의 메트릭(metric)도 대안으로 적용될 수 있다.
구한 최소 거리 d(Vp,Vq)는 집합 L1 중에서 가장 근접한 두 벡터 Vp, Vq를 나타내고, 따라서 이들 두 벡터 중 하나는 선택적으로 제거된다. 이들 두 벡터 중 하나의 선택은 이들 중 각 하나부터 수정된 집합 L1에서 나머지 움직임 예측 벡터들까지의 거리를 바탕으로 할 수 있고, 즉 집합 L1의 또 다른 벡터까지 최단거리인 Vp와 Vq 간의 벡터가 선택적으로 제거된다.
이러한 효과는 수정된 집합 L2의 나머지 벡터들 간의 거리를 확실하게 최소로 하여 움직임 벡터 예측자들을 가능한 가변적이거나 다양하게 사용가능하게 하기 위함이다.
선택된 벡터를 제거한 후, N값은 감소되고(S508), 다음에 N은 Nmax와 비교된다(S510). 만일 N값이 아직 Nmax에 도달하지 않았다면(검사(S510)에 대한 답변 '아니오'), 단계들(S504 내지 S510)이 반복된다. 그렇지 않고, 만일 N이 Nmax에 도달하였다면, 단계(S510)는 이하에서 설명되는 단계(S522)로 이어진다.
만일 검사(S503)에 대한 답변이 '아니오'이면, 검사(S512)는 N이 Nmax보다 적은지를 확인한다. 부정적인 답변의 경우, 즉, 만일 N=Nmax이면, 검사(S512)는 이하에서 설명되는 단계(S522)로 이어진다.
만일 검사(S512)에 대한 답변이 '예'이면, 즉, 만일 N이 정확히 Nmax보다 적으면, 검사(S512)는 단계(S514)로 이어져 추가 움직임 벡터 예측자 후보를 획득하거나 생성한다. 실제로, 움직임 벡터 예측자들의 초기 집합 L1에서 시작하면, 다른 후보들을 미리 정해진 순서로 움직임 벡터 예측자로 추가하여, 움직임 벡터 예측자들의 수정된 집합 L2를 구성하는 것이 가능하다. 도 7의 예를 들면, 블록들(710, 720, 730 및 740)의 움직임 벡터는 잠재적인 움직임 벡터 예측자로 추가될 수 있다. 또한, (S500)에서 선택되지 않았던 (770, 760, 750) 중에서 2개의 예측자가 잠재적인 움직임 벡터 예측자로 추가될 수 있다.
각각의 잠재적인 움직임 벡터 예측자 후보 MV마다, 그 움직임 벡터 예측자 MV가 집합 L2에 이미 저장되어 있는 모든 움직임 벡터 예측자 후보들과 다른지를 확인한다.
만일 예를 들어 도 7의 블록들(710, 720, 730, 740, 750, 760 및 770)의 움직임 벡터로 고려된 각각의 잠재적인 움직임 벡터 후보가 집합 L2의 움직임 벡터 예측자와 같은 경우, 단계(S514)에서 새로운 '가상(virtual)' 움직임 벡터 후보들을 산출한다.
이러한 움직임 벡터 예측자 후보들은 현재 이미지 또는 참조 이미지의 다른 블록들의 움직임 벡터가 아니기 때문에 가상적이라고 한다. 가상 움직임 벡터 예측자들은, 예를 들어 오프셋(offsets)을 더함으로써 기존의 움직임 벡터 예측자들로부터 산출된다. 예를 들면, 후보(MVx, MVy) 집합 L2의 움직임 벡터 MV로부터, 그의 후보들에 오프셋 off를 더하고/뺌으로써 네 개의 가상 움직임 벡터 예측자, 즉 MV'(MVx±off, MVy±off)를 산출하는 것이 가능하다. 전형적으로 off는 1 또는 2일 수 있다.
대안으로, 기존의 움직임 벡터 예측자에서 시작하여 다양한 움직임 벡터 예측자들을 획득함으로써 압축 효율을 높이기 위해 가상 움직임 벡터 예측자를 획득하는 움직임 벡터 예측자 MV 성분의 다른 수정도 적용될 수 있다.
예를 들어, 움직임 벡터 MV 성분은 두 값들 offx 및 offy를 각각 이용하여 독립적으로 수정될 수 있으며, offx 또는 ofy는 0으로 설정될 수 있다.
일 실시예에서, offx 및 offy는 둘 다 대응하는 성분 offx=aMVx 및 offy=bMVy에 비례하며, 여기서 a 및 b는 전형적으로 0.5보다 작다. 필요하다면, 수정된 좌표 MVx 및 MVy는 픽셀 그리드 상의 변위를 나타내도록 가장 근접한 정수값으로 반올림된다.
일 실시예에서, 벡터 MV에 미리 정해진 놈(norm)의 부가 움직임 벡터가 더해지며, 도 8에 나타낸 바와 같이 부가 벡터는 움직임 벡터 MV와 동일한 방향을 가지며, 벡터(820)에 부가 벡터(850)가 더해진다.
또 다른 대안의 실시예에서, 집합 L2의 움직임 벡터들의 분산(variance)이 다음과 같이, 즉
Figure 112013070140291-pct00003
와 같이 계산되고, 여기서
Figure 112013070140291-pct00004
는 L2의 벡터들의 MVx 좌표의 평균값(mean value)을 나타내고
Figure 112013070140291-pct00005
는 L2의 벡터들의 MVy 좌표의 평균값을 나타낸다. 다음에, 오프셋 off는 계산된 값 var과 미리 정해진 임계치 T를 비교하여 선택된다. T는 50/L2일 수 있다. 만일 var이 T보다 작으면, off 값은 작고, 예를 들어 off=1이고, 만일 var이 T보다 크면, off는 더 큰 값, 예를 들어 off=3으로 설정된다. 또한, 이 실시예에서도, 각 성분마다 차별화된 값 offx 또는 offy가 산출될 수 있다.
단계(S516)에서, 단계(S514)에서 획득한 하나의 움직임 벡터 예측자를 움직임 벡터 예측자 집합 L2에 추가하고, 개수 N을 1 증가한다(단계(S518)).
다음에, 단계(S520)에서 N이 Nmax와 같은지를 확인한다. 부정적인 답변의 경우, 단계들(S514 내지 S520)이 반복된다.
긍정적인 답변의 경우, 움직임 벡터 예측자 후보들의 미리 정해진 목표 개수 Nmax에 도달하였고, 단계(S520)는 인코더에서 단계(S522)로 이어져 현재 블록에 최적인 움직임 벡터 예측자를 집합 L2에서 선택한다. 예를 들어, 율-왜곡 최적화 기준은 최적의 움직임 벡터 예측자 MVi를 선택하여 현재 블록의 움직임 벡터를 인코드하는데 적용된다.
인코더에서, 단계(S524)에서 움직임 잔여분, 즉, 현재 블록의 움직임 벡터와 선택된 움직임 벡터 예측자 간의 차뿐만 아니라, 선택된 움직임 벡터 예측자의 표시자를 인코드한다. 예를 들어, L2의 선택된 움직임 벡터 예측자 MVi의 인덱스 i는 k=INTsup(log2(Nmax)) 비트를 이용하여 인코드된다.
대안으로, 인덱스 i의 엔트로피 인코딩이 적용될 수 있다.
또 다른 대안예에서, 인덱스 i는 각 i값을 '1'들 다음에 '0'이 오는 i를 이용하여 인코드하는 라이스 골롬 코드와 같은 프리픽스형 코드를 이용하여 인코드될 수 있다.
도 5의 알고리즘은 또한 디코더에 의해 소정의 블록에 대해 단계들(S522 및 S524) 없이 움직임 벡터 예측자 또는 움직임 벡터 후보 집합을 생성하도록 구현될 수 있다.
디코더에서, 디코드할 소정의 블록에 대해 선택된 움직임 벡터 예측자 MVi의 인덱스 i는 Nmax 그에 따라 인덱스 i를 인코드한 비트 수 k를 알면 비트스트림으로부터 획득된다. 단계들(S500 내지 S518)은 움직임 벡터 예측자 집합 L2를 획득하여, 비트스트림으로부터 디코드된 인덱스 i가 인코더에 실제로 사용된 움직임 벡터 예측자를 지정하도록 유사하게 구현된다.
전송 중에 손실이 있는 경우, 개수 Nmax는 디코더에 의해 대칭적으로 검색될 수 있기 때문에, 수신된 비트스트림을 체계적으로 파싱하여 비록 디코더에서 분실된 패킷에 따라 완전한 움직임 벡터 예측자 집합 L2를 획득할 수 없더라도 선택된 움직임 벡터 예측자를 지정한 인덱스 i를 추출할 수 있다.
도 6은 본 발명의 제2 실시예에서 움직임 벡터 예측자 또는 움직임 벡터 후보 집합을 생성하는 것에 대해 상세히 설명한다. 도 6에 나타낸 알고리즘의 모든 단계들은 소프트웨어로 구현되고 장치(1000)의 중앙 처리 유닛(1111)에 의해 실행될 수 있다.
도 6은 참조 이미지에서 참조 영역을 지정하는 움직임 벡터를 연관시킨 인코드할 소정의 현재 블록에 적용된 흐름도를 나타낸다.
먼저, 도 5의 단계(S502)와 마찬가지로, 단계(S600)에서 사용할 움직임 벡터 예측자 후보들의 목표 개수 Nmax를 결정한다.
일 실시예에서, Nmax는 2k개이므로, k 비트로 코딩될 수 있는 각 인덱스 값은 잠재적인 움직임 벡터 예측자에 해당한다.
예를 들어, 5개의 움직임 벡터 예측자를 제안하는 AMVP 방식의 모든 움직임 벡터 예측자를 이용하기 위해, 움직임 벡터 예측자의 인덱스를 인코드하는데 3비트가 필요하다. 이 경우, 바람직하게는 Nmax=23=8이다.
단계(S602)에서 움직임 벡터 예측자 후보들의 초기 집합 L1을 획득한다. 예를 들면, AMVP의 N=5개의 움직임 벡터 예측자들의 초기 집합이 선택된다.
중복을 제거하여 N1개의 요소를 포함하는 축소된 움직임 벡터 예측자 집합을 획득하기 위해, 움직임 벡터 예측자들의 초기 집합에 축소 처리(reduction process)가 적용된다. 바람직하게는, 축소 처리 후 각각의 나머지 벡터의 중복수가 이하에서 설명되는 단계(S612)에서 나중에 사용하기 위해 메모리에 기록 및 저장된다.
다음에, (검사(S606)에서) N1이 움직임 벡터 예측자들의 목표 개수인 Nmax보다 크거나 같은지를 확인한다. 이 검사에서 알고리즘이 Nmax보다 많은 개수의 움직임 벡터를 갖는 움직임 벡터 예측자들의 제1 집합으로 시작하는 경우에만 긍정적인 결과가 발생한다고 말할 수 있다. 긍정적인 답변의 경우, 단계(S606)는 단계(S630)로 이어져 집합 L1의 Nmax개의 제1 움직임 벡터 예측자 후보를 선택하여 움직임 벡터 예측자 집합 L2를 구성한다.
부정적인 답변의 경우, 즉, 만일 N1이 Nmax보다 작으면, 움직임 벡터 예측자 집합은 추가 움직임 벡터 예측자로 보충되어야 한다.
단계(S608)에서는, 움직임 벡터 예측자 후보들의 제2 집합 L1'을 획득한다.
움직임 벡터 예측자들의 제2 집합 L1'은 제1 집합 L1의 나머지 움직임 벡터 예측자와, 예를 들어 도 7에 나타낸 참조 이미지의 블록들(710, 720, 730 및 740)의 움직임 벡터에 해당하는 추가 움직임 벡터로 구성된다. 또한, (S600)에서 선택되지 않았던 (770, 760, 750) 중 2개의 예측자는 잠재적인 움직임 벡터 예측자로 추가될 수 있다. 집합 L1'의 각 움직임 벡터 예측자는 대응하는 인덱스를 갖는다.
다음에, 단계(S610)에서 움직임 벡터 예측자들의 제2 집합에 축소 처리를 적용하여 N2개의 벡터들로 이루어진 축소된 움직임 벡터 예측자들의 제2 집합 L1"을 획득한다. 축소 처리는 L1"의 모든 움직임 벡터 예측자들이 서로 다르도록 중복을 제거한다. L1"에 유지된 각 벡터의 중복 개수는 이하에서 설명되는 단계(S612)에서 나중에 사용하기 위해 메모리에 기록 및 저장된다.
다음에, 단계(S628)에서 움직임 벡터 예측자들의 개수 N2가 Nmax보다 크거나 같은지를 확인한다. 긍정적인 답변의 경우, 단계(S628)는 이미 설명된 단계(S630)로 이어진다.
부정적인 답변의 경우, 축소된 움직임 벡터 예측자들의 제2 집합 L1"에 더 많은 움직임 벡터 예측자를 추가하여 Nmax개의 움직임 벡터 예측자들의 최종 집합을 획득하는 것이 필요하다.
검사(S628)에 따라, 부정적인 답변의 경우, 단계(S612)에서 축소된 움직임 벡터 예측자들의 제2 집합 L1"의 각각의 나머지 움직임 벡터 예측자 후보에 중요도 값(importance value)을 할당한다.
대안의 실시예에서, 검사(S606)에 대한 부정적인 답변의 경우, 단계(S612)는 검사(S606) 바로 뒤이어 온다.
이 실시예에서 중요도 값은 단계(S604 및 S610) 동안 산출 및 저장된 소정의 움직임 벡터 예측자의 중복 개수를 이용하여 소정의 움직임 벡터 예측자의 중복 개수로서 산출된다. 도 1의 예를 들면, 두 벡터 V0 및 V3는 동일하므로, 벡터 V0는 중요도 값이 2이다.
대안의 실시예에서, 중요도 값은 해당 집합의 벡터들의 평균값 또는 해당 집합의 벡터들의 중간값(median)과 같이, 고려된 벡터 집합의 대표 벡터까지의 거리의 함수로서 산출될 수 있다. 다음에, 중요도는 해당 집합의 소정 벡터 Vn의 대표 벡터까지의 거리의 역으로서 산출될 수 있으며, 벡터 Vn이 해당 집합의 대표 벡터에 근접할수록, Vn의 중요도가 더 높다.
다음에, 단계(S614)에서 중요도 값이 낮아지는 순서에 따라 N2개의 나머지 움직임 벡터 예측자 후보들을 순서화한다. 만일 여러 움직임 벡터 예측자들이 동일한 중요도 값을 갖는다면, 이들은 자신들의 인덱스가 높아지는 순서에 따라 순서화될 수 있다.
재순서화된 움직임 벡터 예측자들에는 증가하는 인덱스{V0,V1,...,VN2-1}가 재할당된다.
다음 단계(S616)에서, 변수 n을 0으로 초기화하고 변수 N을 재순서화된 집합에서 움직임 벡터 예측자들의 현재 개수인 N2로 초기화한다.
다음에, 단계(S616)에 뒤이은 단계(S618)에서, 재순서화된 집합에 가상 움직임 벡터 예측자 후보들을 추가한다. 이 실시예에서, 가상 움직임 벡터 예측자들은 자신들의 중요도에 따라 순서화된 나머지 움직임 벡터 예측자들로부터 산출된다. 좌표(Vnx, Vny)의 Vn인, 재순서화된 집합의 인덱스 n의 움직임 벡터 예측자가 고려된다. 다음과 같은 자신들의 좌표들로 규정된 8개의 가상 움직임 벡터 예측자들의 목록, 즉 {(Vnx+off, Vny), (Vnx-off, Vny), (Vnx+off, Vny+off), (Vnx+off, Vny-off), (Vnx-off, Vny+off), (Vnx-off, Vny-off), (Vnx, Vny+off), (Vnx, Vny-off)}이 하나 또는 두 개의 좌표에 +off 및 -off를 연속적으로 더함으로써 Vn으로부터 산출될 수 있다.
움직임 벡터 예측자 Vn부터 시작하는 가상 움직임 벡터 예측자들의 어떤 대안적인 산출, 특히 도 5의 단계(S514)와 관련하여 전술한 대안예가 사용될 수 있다.
이와 같은 가상 움직임 벡터 예측자들의 목록은 현재의 움직임 벡터 예측자 집합에 추가된다.
단계(S620)에서 중복을 제거한다.
잠재적인 중복을 제거한 후, 단계(S622)에서 N값을 움직임 벡터 예측자들의 잔여 개수로 갱신한다.
다음에, 단계(S624)에서 N이 Nmax보다 크거나 같은지를 확인한다. 부정적인 답변의 경우, 단계(S624)는 단계(S626)로 이어져 n값을 1 증가시키고 단계들(S618 내지 S624)이 반복된다.
단계(S624)에서 긍정적인 답변의 경우, 충분한 움직임 벡터 예측자들이 획득된다. 단계(S624)는 단계(S630)로 진행되어 Nmax개의 제1 움직임 벡터 후보들을 선택하여 Nmax개의 벡터들로 이루어진 움직임 벡터 예측자들의 최종 집합 L2를 구성한다.
인코더에서, 단계(S630)는 도 5의 단계(S522)와 유사한 단계(S632)로 이어져 율-왜곡 기준과 같은 미리 정해진 기준에 따라 현재 블록에 대한 움직임 벡터 예측자 집합 중에서 최적의 움직임 벡터 예측자 MVi를 선택한다.
단계(S632)는 단계(S634)로 이어져 도 5의 단계(S524)와 마찬가지로 움직임 벡터 예측자 MVi를 이용하여 현재 블록의 움직임 벡터를 인코딩한다. 예를 들어, 움직임 벡터 예측자 MVi의 인덱스 i는 k 비트를 이용하여 인코드되며, k는 Nmax로부터 산출되며, 즉 k=INTsup(log2(Nmax))이다.
대안으로, 인덱스 i의 엔트로피 인코딩이 적용될 수 있다.
또 다른 대안예에서, 인덱스 i는 각 i값을 '1'들 다음에 '0'이 오는 i를 이용하여 인코드하는 라이스 골롬 코드와 같은 프리픽스형 코드를 이용하여 인코드될 수 있다.
도 6의 알고리즘은 또한 디코더에 의해 소정 블록에 대한 움직임 벡터 예측자 또는 움직임 벡터 후보 집합을 생성하도록 구현될 수 있으며, 다만 디코드측에서 단계들(S632 및 S634)은 생략된다.
디코더에서, 디코드할 소정 블록에 대해 선택된 움직임 벡터 예측자 MVi의 인덱스 i는 Nmax와 그에 따라 인덱스 i를 인코드한 비트 수 k를 알면 비트스트림으로부터 획득된다. 단계들(S600 내지 S630)은 움직임 벡터 예측자 집합 L2를 획득하여, 비트스트림으로부터 디코드된 인덱스 i가 인코더에 실제로 사용된 움직임 벡터 예측자를 지정하도록 마찬가지로 구현된다.
전송 중에 손실이 있는 경우, 개수 Nmax는 디코더에 의해 체계적으로 검색될 수 있기 때문에, 비록 디코더에서 손실된 패킷에 따라 완전한 움직임 벡터 예측자 집합 L2를 획득할 수 없더라도 수신된 비트스트림을 체계적으로 파싱하여 선택된 움직임 벡터 예측자를 지정한 인덱스 i를 추출할 수 있다.
전술한 실시예는 입력 이미지의 블록 분할을 기반으로 하지만, 좀 더 일반적으로는, 인코드 또는 디코드할 어떤 형태의 이미지 영역도, 특히 직사각형 영역 또는 좀 더 일반적으로는 기하학적 영역도 고려될 수 있다.
예를 들어, 움직임 벡터 예측자 후보들의 큰 집합부터 시작하여, 결정된 움직임 벡터 예측자들의 목표 개수 Nmax보다 큰 벡터 개수 N을 포함하고 클러스터링 형태의 알고리즘을 적용하여 벡터 집합을 축소하는 것과 같은 다른 대안의 실시예도 예상될 수 있다. 예를 들면, 해당 집합의 벡터들 간의 사전 규정된 거리에 따라 해당 집합을 그 집합의 가장 대표적인 Nmax개의 벡터들로 축소하는 보로노이(
Figure 112013070140291-pct00006
) 분할이 적용될 수 있다.
좀 더 일반적으로, 당업자가 쉽게 생각할 수 있는 전술한 실시예의 모든 변형 또는 개선사항도 본 발명의 범주 내에 속하는 것으로 간주되어야 한다.
본원은 2011년 1월 12일 출원된 영국 특허 출원 제1100462.9호인 우선권을 주장하며, 그 전체 내용은 본 명세서에 참조로 원용된다.

Claims (31)

  1. 디지털 이미지 시퀀스(a sequence of digital images)를 비트스트림(bitstream)으로 인코딩하는 인코딩 방법으로서, 이미지의 하나 이상의 영역은 참조 이미지 영역(reference image portion)에 대한 움직임 보상(motion compensation)에 의해 인코드되며, 상기 인코딩 방법은,
    인코드할 상기 이미지 영역에 대해 움직임 정보 예측자들의 목표 개수(a target number of motion information predictors)(Nmax)를 획득하는 단계;
    상기 목표 개수를 이용하여 움직임 정보 예측자 집합(a set of motion information predictors)을 생성하는 단계; 및
    인코드할 상기 이미지 영역에 대한 움직임 정보 예측자를 생성된 상기 움직임 정보 예측자 집합에서 선택하고, 상기 비트스트림에서 상기 목표 개수 및 상기 선택된 움직임 정보 예측자에 관한 정보를 시그널링하는 단계
    를 포함하고,
    상기 목표 개수는 상기 비트스트림에 포함된 슬라이스 헤더(slice header)에 시그널링되는 인코딩 방법.
  2. 제1항에 있어서,
    제1 인코딩 모드에서 적용가능한 움직임 정보 예측자들의 제1 목표 개수(Nmax1)를 획득하는 단계;
    제2 인코딩 모드에서 적용가능한 움직임 정보 예측자들의 제2 목표 개수(Nmax2)를 획득하는 단계; 및
    상기 제1 인코딩 모드가 적용되면 상기 비트스트림에서 상기 제1 목표 개수를 시그널링하고, 상기 제2 인코딩 모드가 적용되면 상기 비트스트림에서 상기 제2 목표 개수를 시그널링하는 단계를 포함하는 인코딩 방법.
  3. 제1항에 있어서,
    상기 움직임 정보 예측자 집합을 생성하는 단계는,
    움직임 정보 예측자들의 초기 집합(an initial set of motion information predictors)을 획득하는 단계(S500, S602, S604);
    상기 초기 집합의 움직임 정보 예측자들의 개수(N; N1)가 획득한 상기 목표 개수(Nmax)보다 적은지를 검사하고(S512, S606), 만일 그렇다면, 상기 초기 집합에 하나 이상의 움직임 정보 예측자를 추가하는(S514, S516, S608-S630) 단계를 포함하는 인코딩 방법.
  4. 제3항에 있어서, 상기 초기 집합의 움직임 정보 예측자들은 인코드되는 상기 이미지 또는 참조 이미지의 이미지 영역들로부터 획득한 움직임 벡터들(motion vectors)을 갖는 실제 움직임 정보 예측자들이며, 추가할 잠재적인 움직임 정보 예측자들은 하나 이상의 추가 실제 움직임 정보 예측자를 포함하고 또한 인코드되는 상기 이미지 또는 참조 이미지의 이미지 영역들로부터 획득한 움직임 벡터들을 갖지 않는 하나 이상의 가상(virtual) 움직임 정보 예측자를 포함하는 인코딩 방법.
  5. 제4항에 있어서, 하나 이상의 상기 가상 움직임 정보 예측자는 기존의 움직임 정보 예측자로부터 산출되는 인코딩 방법.
  6. 제5항에 있어서, 기존의 움직임 정보 예측자의 움직임 벡터에 부가 벡터를 추가하고, 상기 부가 벡터는 상기 기존의 움직임 정보 예측자의 움직임 벡터의 방향에 대해 미리 정해진 방향을 갖는 인코딩 방법.
  7. 제6항에 있어서, 상기 부가 벡터의 크기는 상기 기존의 움직임 정보 예측자의 움직임 벡터의 크기에 의존하는 인코딩 방법.
  8. 제6항에 있어서, 상기 부가 벡터는 상기 기존의 움직임 정보 예측자의 움직임 벡터의 각각의 대응하는 성분에 비례하는 성분(aMVx, bMVy)을 갖는 인코딩 방법.
  9. 제3항에 있어서, 상기 초기 집합에서 중복(duplicates)을 제거하는 단계(S604)를 포함하는 인코딩 방법.
  10. 제1항에 있어서, 상기 움직임 정보 예측자 집합의 움직임 정보 예측자의 개수는 상기 목표 개수와 동등한 인코딩 방법.
  11. 제1항에 있어서, 생성된 상기 움직임 정보 예측자 집합은 조정된 다이버시티를 갖는 인코딩 방법.
  12. 인코드된 디지털 이미지 시퀀스를 포함하는 비트스트림을 디코딩하는 디코딩 방법으로서, 이미지의 하나 이상의 영역은 참조 이미지에 대한 움직임 보상에 의해 인코드되며, 상기 디코딩 방법은,
    디코드할 이미지 영역에 대한 움직임 정보 예측자들의 목표 개수(Nmax)를 상기 비트스트림에 포함된 슬라이스 헤더로부터 획득하는 단계;
    상기 목표 개수를 이용하여 움직임 정보 예측자 집합을 생성하는 단계; 및
    디코드할 상기 이미지 영역에 대한 움직임 정보 예측자를 생성된 상기 움직임 정보 예측자 집합으로부터 결정하는 단계
    를 포함하는 디코딩 방법.
  13. 제12항에 있어서,
    디코드할 상기 이미지 영역에 대한 선택된 움직임 정보 예측자를 나타내는 정보 항목을 디코딩하는 단계를 더 포함하는 디코딩 방법.
  14. 제13항에 있어서,
    디코드된 상기 정보 항목을 이용하여 선택된 상기 움직임 정보 예측자를 생성된 상기 움직임 정보 예측자 집합에서 검색하는 단계를 더 포함하는 디코딩 방법.
  15. 제12항에 있어서,
    제1 인코딩 모드가 적용되면, 상기 비트스트림으로부터 제1 목표 개수(Nmax1)를 획득하는 단계; 및
    제2 인코딩 모드가 적용되면, 상기 비트스트림으로부터 제2 목표 개수(Nmax2)를 획득하는 단계를 포함하는 디코딩 방법.
  16. 제12항에 있어서, 상기 움직임 정보 예측자 집합을 생성하는 단계는,
    움직임 정보 예측자들의 초기 집합을 획득하는 단계(S500, S602, S604);
    상기 초기 집합의 움직임 정보 예측자들의 개수(N; N1)가 획득한 상기 목표 개수(Nmax)보다 적은지를 검사하고(S512, S606), 만일 그렇다면, 상기 초기 집합에 하나 이상의 움직임 정보 예측자를 추가하는(S514, S516, S608-S630) 단계를 포함하는 디코딩 방법.
  17. 제16항에 있어서, 상기 초기 집합의 움직임 정보 예측자들은 디코드되는 상기 이미지 또는 참조 이미지의 이미지 영역들로부터 획득한 움직임 벡터들을 갖는 실제 움직임 정보 예측자들이며, 추가할 잠재적인 움직임 정보 예측자들은 하나 이상의 추가 실제 움직임 정보 예측자를 포함하고 또한 디코드되는 상기 이미지 또는 참조 이미지의 이미지 영역들로부터 획득한 움직임 벡터들을 갖지 않는 하나 이상의 가상 움직임 정보 예측자를 포함하는 디코딩 방법.
  18. 제17항에 있어서, 하나 이상의 상기 가상 움직임 정보 예측자는 기존의 움직임 정보 예측자로부터 산출되는 디코딩 방법.
  19. 제17항에 있어서, 기존의 움직임 정보 예측자의 움직임 벡터에 부가 벡터를 추가하고, 상기 부가 벡터는 상기 기존의 움직임 정보 예측자의 움직임 벡터의 방향에 대해 미리 정해진 방향을 갖는 디코딩 방법.
  20. 제19항에 있어서, 상기 부가 벡터의 크기는 상기 기존의 움직임 정보 예측자의 움직임 벡터의 크기에 의존하는 디코딩 방법.
  21. 제19항에 있어서, 상기 부가 벡터는 상기 기존의 움직임 정보 예측자의 움직임 벡터의 각각의 대응하는 성분에 비례하는 성분(aMVx, bMVy)을 갖는 디코딩 방법.
  22. 제16항에 있어서, 상기 초기 집합에서 중복을 제거하는 단계(S604)를 포함하는 디코딩 방법.
  23. 제12항에 있어서, 상기 움직임 정보 예측자 집합의 움직임 정보 예측자의 개수는 상기 목표 개수와 동등한 디코딩 방법.
  24. 제12항에 있어서, 생성된 상기 움직임 정보 예측자 집합은 조정된 다이버시티를 갖는 디코딩 방법.
  25. 디지털 이미지 시퀀스를 비트스트림으로 인코딩하는 인코딩 장치로서, 이미지의 하나 이상의 영역은 참조 이미지 영역에 대한 움직임 보상에 의해 인코드되며, 상기 인코딩 장치는,
    움직임 정보 예측자들의 목표 개수를 획득하는 수단;
    상기 목표 개수를 이용하여 움직임 정보 예측자 집합을 생성하는 수단; 및
    인코드할 상기 이미지 영역에 대한 움직임 정보 예측자를 생성된 상기 움직임 정보 예측자 집합에서 선택하고, 상기 비트스트림에서 상기 목표 개수 및 선택된 상기 움직임 정보 예측자에 관한 정보를 시그널링하는 수단
    을 포함하고,
    상기 목표 개수는 상기 비트스트림에 포함된 슬라이스 헤더에 시그널링되는 인코딩 장치.
  26. 인코드된 디지털 이미지 시퀀스를 포함하는 비트스트림을 디코딩하는 디코딩 장치로서, 이미지의 하나 이상의 영역은 참조 이미지에 대한 움직임 보상에 의해 인코드되며, 상기 디코딩 장치는,
    움직임 정보 예측자들의 목표 개수(Nmax)를 상기 비트스트림에 포함된 슬라이스 헤더로부터 획득하는 수단;
    상기 목표 개수를 이용하여 움직임 정보 예측자 집합(a set of motion information predictors)을 생성하는 수단; 및
    디코드할 상기 이미지 영역에 대한 움직임 정보 예측자를 생성된 상기 움직임 정보 예측자 집합으로부터 결정하는 수단
    을 포함하는 디코딩 장치.
  27. 컴퓨터에서 실행할 때 상기 컴퓨터가 제1항에 따른 디지털 비디오 신호를 인코딩하는 인코딩 방법 또는 제12항에 따른 비트스트림을 디코딩하는 디코딩 방법을 실행하도록 하는 컴퓨터 프로그램을 저장한 컴퓨터 판독가능 저장 매체.
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
KR1020137020499A 2011-01-12 2012-01-11 인코딩 방법 및 장치, 디코딩 방법 및 장치, 및 컴퓨터 판독가능 저장 매체 KR101524393B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1100462.9A GB2487200A (en) 2011-01-12 2011-01-12 Video encoding and decoding with improved error resilience
GB1100462.9 2011-01-12
PCT/EP2012/050390 WO2012095465A1 (en) 2011-01-12 2012-01-11 Video encoding and decoding with improved error resilience

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020147033307A Division KR101837803B1 (ko) 2011-01-12 2012-01-11 오류 내성을 향상시킨 비디오 인코딩 및 디코딩

Publications (2)

Publication Number Publication Date
KR20130105907A KR20130105907A (ko) 2013-09-26
KR101524393B1 true KR101524393B1 (ko) 2015-05-29

Family

ID=43664110

Family Applications (15)

Application Number Title Priority Date Filing Date
KR1020197002489A KR20190014111A (ko) 2011-01-12 2012-01-11 인코딩 방법 및 장치, 디코딩 방법 및 장치, 및 컴퓨터 판독가능 저장 매체
KR1020197011196A KR102019640B1 (ko) 2011-01-12 2012-01-11 오류 내성을 향상시킨 비디오 인코딩 및 디코딩
KR1020187032216A KR101972030B1 (ko) 2011-01-12 2012-01-11 오류 내성을 향상시킨 비디오 인코딩 및 디코딩
KR1020137020499A KR101524393B1 (ko) 2011-01-12 2012-01-11 인코딩 방법 및 장치, 디코딩 방법 및 장치, 및 컴퓨터 판독가능 저장 매체
KR1020137020515A KR101524394B1 (ko) 2011-01-12 2012-01-11 인코딩 방법 및 장치, 디코딩 방법 및 장치 및 컴퓨터 판독가능한 저장 매체
KR1020147033236A KR101797805B1 (ko) 2011-01-12 2012-01-11 디코딩 방법, 디코딩 장치, 및 컴퓨터 판독가능한 저장 매체
KR1020197005305A KR101999091B1 (ko) 2011-01-12 2012-01-11 오류 내성을 향상시킨 비디오 인코딩 및 디코딩
KR1020137020498A KR20130105906A (ko) 2011-01-12 2012-01-11 인코딩 방법 및 장치, 디코딩 방법 및 장치, 컴퓨터 판독가능한 기록 매체
KR1020147033181A KR101798280B1 (ko) 2011-01-12 2012-01-11 오류 내성을 향상시킨 비디오 인코딩 및 디코딩
KR1020187006496A KR101953520B1 (ko) 2011-01-12 2012-01-11 오류 내성을 향상시킨 비디오 인코딩 및 디코딩
KR1020177032220A KR101918437B1 (ko) 2011-01-12 2012-01-11 오류 내성을 향상시킨 비디오 인코딩 및 디코딩
KR1020147033307A KR101837803B1 (ko) 2011-01-12 2012-01-11 오류 내성을 향상시킨 비디오 인코딩 및 디코딩
KR1020177032478A KR101943787B1 (ko) 2011-01-12 2012-01-11 오류 내성을 향상시킨 비디오 인코딩 및 디코딩
KR1020137020517A KR101525341B1 (ko) 2011-01-12 2012-01-11 인코딩 방법 및 장치, 디코딩 방법 및 장치, 및 컴퓨터 판독가능 기록매체
KR1020177032290A KR101944289B1 (ko) 2011-01-12 2012-01-11 인코딩 방법 및 장치, 디코딩 방법 및 장치, 및 컴퓨터 판독가능 저장 매체

Family Applications Before (3)

Application Number Title Priority Date Filing Date
KR1020197002489A KR20190014111A (ko) 2011-01-12 2012-01-11 인코딩 방법 및 장치, 디코딩 방법 및 장치, 및 컴퓨터 판독가능 저장 매체
KR1020197011196A KR102019640B1 (ko) 2011-01-12 2012-01-11 오류 내성을 향상시킨 비디오 인코딩 및 디코딩
KR1020187032216A KR101972030B1 (ko) 2011-01-12 2012-01-11 오류 내성을 향상시킨 비디오 인코딩 및 디코딩

Family Applications After (11)

Application Number Title Priority Date Filing Date
KR1020137020515A KR101524394B1 (ko) 2011-01-12 2012-01-11 인코딩 방법 및 장치, 디코딩 방법 및 장치 및 컴퓨터 판독가능한 저장 매체
KR1020147033236A KR101797805B1 (ko) 2011-01-12 2012-01-11 디코딩 방법, 디코딩 장치, 및 컴퓨터 판독가능한 저장 매체
KR1020197005305A KR101999091B1 (ko) 2011-01-12 2012-01-11 오류 내성을 향상시킨 비디오 인코딩 및 디코딩
KR1020137020498A KR20130105906A (ko) 2011-01-12 2012-01-11 인코딩 방법 및 장치, 디코딩 방법 및 장치, 컴퓨터 판독가능한 기록 매체
KR1020147033181A KR101798280B1 (ko) 2011-01-12 2012-01-11 오류 내성을 향상시킨 비디오 인코딩 및 디코딩
KR1020187006496A KR101953520B1 (ko) 2011-01-12 2012-01-11 오류 내성을 향상시킨 비디오 인코딩 및 디코딩
KR1020177032220A KR101918437B1 (ko) 2011-01-12 2012-01-11 오류 내성을 향상시킨 비디오 인코딩 및 디코딩
KR1020147033307A KR101837803B1 (ko) 2011-01-12 2012-01-11 오류 내성을 향상시킨 비디오 인코딩 및 디코딩
KR1020177032478A KR101943787B1 (ko) 2011-01-12 2012-01-11 오류 내성을 향상시킨 비디오 인코딩 및 디코딩
KR1020137020517A KR101525341B1 (ko) 2011-01-12 2012-01-11 인코딩 방법 및 장치, 디코딩 방법 및 장치, 및 컴퓨터 판독가능 기록매체
KR1020177032290A KR101944289B1 (ko) 2011-01-12 2012-01-11 인코딩 방법 및 장치, 디코딩 방법 및 장치, 및 컴퓨터 판독가능 저장 매체

Country Status (13)

Country Link
US (14) US10165279B2 (ko)
EP (10) EP2664142B1 (ko)
JP (12) JP5847844B2 (ko)
KR (15) KR20190014111A (ko)
CN (17) CN107105284A (ko)
BR (2) BR112013016702B1 (ko)
ES (7) ES2834135T3 (ko)
GB (3) GB2487200A (ko)
HU (5) HUE052346T2 (ko)
PL (5) PL3174297T3 (ko)
RU (6) RU2600530C2 (ko)
TR (1) TR201907405T4 (ko)
WO (4) WO2013041244A1 (ko)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101459714B1 (ko) * 2009-10-28 2014-11-13 에스케이텔레콤 주식회사 공간 분할을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101768207B1 (ko) * 2010-01-19 2017-08-16 삼성전자주식회사 축소된 예측 움직임 벡터의 후보들에 기초해 움직임 벡터를 부호화, 복호화하는 방법 및 장치
GB2487200A (en) * 2011-01-12 2012-07-18 Canon Kk Video encoding and decoding with improved error resilience
GB2493755B (en) 2011-08-17 2016-10-19 Canon Kk Method and device for encoding a sequence of images and method and device for decoding a sequence of images
GB2511288A (en) * 2013-01-09 2014-09-03 Canon Kk Method, device, and computer program for motion vector prediction in scalable video encoder and decoder
GB2512829B (en) 2013-04-05 2015-05-27 Canon Kk Method and apparatus for encoding or decoding an image with inter layer motion information prediction according to motion information compression scheme
CN103475883B (zh) * 2013-09-26 2016-07-06 北京航空航天大学 一种基于运动区域划分的hevc运动估计提前终止方法
CN104410864B (zh) * 2014-11-07 2018-08-14 太原科技大学 Hevc中基于残差能量的错误隐藏方法
US9955160B1 (en) * 2015-04-27 2018-04-24 Harmonic, Inc. Video encoding using adaptive pre-filtering
US9787987B2 (en) 2015-04-27 2017-10-10 Harmonic, Inc. Adaptive pre-filtering based on video complexity and output bit rate
US10271064B2 (en) * 2015-06-11 2019-04-23 Qualcomm Incorporated Sub-prediction unit motion vector prediction using spatial and/or temporal motion information
JP6727791B2 (ja) * 2015-11-05 2020-07-22 キヤノン株式会社 追尾制御装置および追尾制御方法、撮像装置
CN111556323B (zh) 2016-02-06 2022-05-13 华为技术有限公司 图像编解码方法及装置
DE102016223079B4 (de) * 2016-11-23 2024-03-28 Robert Bosch Gmbh Verfahren und Vorrichtung zur Ermittlung einer Zuordnung zwischen einem Matrixelement einer Matrix und einem Vergleichsmatrixelement einer Vergleichsmatrix mittels Korrespondenztabelle
US10735761B2 (en) 2017-05-19 2020-08-04 Mediatek Inc Method and apparatus of video coding
CN109495738B (zh) * 2017-09-12 2023-02-07 华为技术有限公司 一种运动信息的编解码方法和装置
SG11202001307SA (en) 2017-10-06 2020-03-30 Nestle Sa Container, preparation machine and system using a binary code for encoding preparation information
KR102486879B1 (ko) 2018-04-12 2023-01-11 삼성디스플레이 주식회사 디스플레이 장치 및 그 제조방법
BR112021003917A2 (pt) * 2018-08-28 2021-05-18 Huawei Technologies Co., Ltd. método e aparelho para construir lista de informações de movimentos de candidatos, método de inter predição, e aparelho
CN111083489B (zh) 2018-10-22 2024-05-14 北京字节跳动网络技术有限公司 多次迭代运动矢量细化
EP3857879A4 (en) 2018-11-12 2022-03-16 Beijing Bytedance Network Technology Co., Ltd. SIMPLIFICATION OF COMBINED INTER-INTRA PREDICTION
JP7241870B2 (ja) 2018-11-20 2023-03-17 北京字節跳動網絡技術有限公司 部分的な位置に基づく差分計算
JP7433038B2 (ja) 2018-12-19 2024-02-19 キヤノンメディカルシステムズ株式会社 医用情報匿名化システム、及び匿名化方法設定装置
WO2020177756A1 (en) * 2019-03-06 2020-09-10 Beijing Bytedance Network Technology Co., Ltd. Size dependent inter coding
KR102184913B1 (ko) * 2019-03-12 2020-12-01 한양대학교 산학협력단 원형의 직교 진폭 변조 신호 성상도를 생성하는 방법 및 장치
EP3989572A4 (en) * 2019-06-21 2023-04-12 Samsung Electronics Co., Ltd. APPARATUS AND METHOD FOR ENCODING AND DECODING MOTION INFORMATION USING PROXIMITY MOTION INFORMATION
WO2021006773A1 (en) 2019-07-11 2021-01-14 Huawei Technologies Co., Ltd. Motion field storage optimization for the line buffer
WO2023194603A1 (en) * 2022-04-08 2023-10-12 Interdigital Ce Patent Holdings, Sas Motion information candidates re-ordering

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009115901A2 (en) * 2008-03-19 2009-09-24 Nokia Corporation Combined motion vector and reference index prediction for video coding

Family Cites Families (107)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1100461A (en) 1963-10-02 1968-01-24 Automatic Telephone & Elect Improvements in or relating to magnetic core matrix data storage devices
JP3265590B2 (ja) * 1991-07-24 2002-03-11 松下電器産業株式会社 画像の動きベクトル検出装置及び画像揺れ補正装置
JPH0620050A (ja) * 1992-07-03 1994-01-28 Matsushita Electric Ind Co Ltd 動画像信号の復号化装置と推定動きベクトル算出方法
JPH0730896A (ja) 1993-06-25 1995-01-31 Matsushita Electric Ind Co Ltd 動きベクトル符号化及び復号化方法
US5552673A (en) 1994-10-04 1996-09-03 Kenwood; Michael Theft resistant compact fluorescent lighting system
US5675382A (en) 1996-04-08 1997-10-07 Connectix Corporation Spatial compression and decompression for video
JP3263807B2 (ja) * 1996-09-09 2002-03-11 ソニー株式会社 画像符号化装置および画像符号化方法
EP0919099B1 (en) * 1997-03-14 2001-11-21 CSELT Centro Studi e Laboratori Telecomunicazioni S.p.A. Circuit for motion estimation in digitised video sequence encoders
JP4573366B2 (ja) * 1997-09-25 2010-11-04 株式会社大宇エレクトロニクス 動きベクトル符号化方法及び符号化装置
JPH11112985A (ja) * 1997-09-29 1999-04-23 Sony Corp 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法、および、伝送媒体
JP3407287B2 (ja) * 1997-12-22 2003-05-19 日本電気株式会社 符号化復号システム
JP2001520846A (ja) * 1998-02-13 2001-10-30 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ビデオ画像を符号化する方法及び装置
JP3841132B2 (ja) * 1998-06-01 2006-11-01 株式会社ソニー・コンピュータエンタテインメント 入力位置検出装置及びエンタテインメントシステム
WO2000018129A1 (en) * 1998-09-22 2000-03-30 Matsushita Electric Industrial Co., Ltd. Video signal encoding method, video signal encoder, and program recorded medium
US7327791B1 (en) 1999-02-22 2008-02-05 Mitsubishi Denki Kabushiki Kaisha Video decoding method performing selective error concealment and resynchronization
US6738423B1 (en) 2000-01-21 2004-05-18 Nokia Mobile Phones Ltd. Method for encoding and decoding video information, a motion compensated video encoder and a corresponding decoder
US6552673B2 (en) 2000-02-25 2003-04-22 Texas Instruments Incorporated Efficient table access for reversible variable length code decoding using a hash function
EP1152621A1 (en) * 2000-05-05 2001-11-07 STMicroelectronics S.r.l. Motion estimation process and system.
US20050207663A1 (en) * 2001-07-31 2005-09-22 Weimin Zeng Searching method and system for best matching motion vector
US7787746B2 (en) * 2001-10-23 2010-08-31 Thomson Licensing Fast motion trick mode using non-progressive dummy bidirectional predictive pictures
US20040125204A1 (en) 2002-12-27 2004-07-01 Yoshihisa Yamada Moving picture coding apparatus and moving picture decoding apparatus
US7248741B2 (en) 2002-01-09 2007-07-24 Hiroshi Akimoto Video sequences correlation and static analysis and scene changing forecasting in motion estimation
KR100628489B1 (ko) 2002-01-18 2006-09-26 가부시끼가이샤 도시바 동화상 부호화방법 및 장치와 컴퓨터 독출가능 매체
KR100492127B1 (ko) * 2002-02-23 2005-06-01 삼성전자주식회사 적응형 움직임 추정장치 및 추정 방법
KR100474285B1 (ko) * 2002-04-08 2005-03-08 엘지전자 주식회사 모션벡터결정방법
CN101631248B (zh) 2002-04-18 2011-09-14 株式会社东芝 运动图像编码/解码方法和装置
JP2004023458A (ja) 2002-06-17 2004-01-22 Toshiba Corp 動画像符号化/復号化方法及び装置
US6925123B2 (en) * 2002-08-06 2005-08-02 Motorola, Inc. Method and apparatus for performing high quality fast predictive motion search
JP4617644B2 (ja) 2003-07-18 2011-01-26 ソニー株式会社 符号化装置及び方法
US7577198B2 (en) 2003-09-07 2009-08-18 Microsoft Corporation Number of reference fields for an interlaced forward-predicted field
US7620106B2 (en) 2003-09-07 2009-11-17 Microsoft Corporation Joint coding and decoding of a reference field selection and differential motion vector information
US8064520B2 (en) 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
CN1225127C (zh) * 2003-09-12 2005-10-26 中国科学院计算技术研究所 一种用于视频编码的编码端/解码端双向预测方法
CN100353768C (zh) * 2003-11-26 2007-12-05 联发科技股份有限公司 在视频压缩系统中进行运动估测的方法及相关装置
CA2547628C (en) 2003-12-01 2013-03-05 Samsung Electronics Co., Ltd. Method and apparatus for scalable video encoding and decoding
CA2557534A1 (en) * 2004-02-27 2005-09-09 Td Vision Corporation S.A. De C.V. Method and system for digital decoding 3d stereoscopic video images
EP1578137A2 (en) * 2004-03-17 2005-09-21 Matsushita Electric Industrial Co., Ltd. Moving picture coding apparatus with multistep interpolation process
US7676722B2 (en) 2004-03-31 2010-03-09 Sony Corporation Multimedia content delivery using pre-stored multiple description coded video with restart
US7852938B2 (en) 2004-07-20 2010-12-14 Qualcomm Incorporated Method and apparatus for motion vector processing
CN101005620B (zh) 2004-09-03 2011-08-10 微软公司 为隔行扫描和逐行扫描视频编码和解码宏块和运动信息中的革新
CN1256686C (zh) * 2004-09-15 2006-05-17 哈尔滨工业大学 一种运动估计方法和应用该方法的运动估计电路
US8073053B2 (en) * 2004-09-22 2011-12-06 Panasonic Corporation Image encoding device that encodes an arbitrary number of moving pictures
KR100679022B1 (ko) * 2004-10-18 2007-02-05 삼성전자주식회사 계층간 필터링을 이용한 비디오 코딩 및 디코딩방법과,비디오 인코더 및 디코더
US20060153300A1 (en) * 2005-01-12 2006-07-13 Nokia Corporation Method and system for motion vector prediction in scalable video coding
EP1703736A1 (en) 2005-03-14 2006-09-20 BRITISH TELECOMMUNICATIONS public limited company Global motion estimation
WO2006100820A1 (ja) 2005-03-22 2006-09-28 Mitsubishi Denki Kabushiki Kaisha 画像符号化記録読出装置
KR100736041B1 (ko) 2005-06-30 2007-07-06 삼성전자주식회사 에러 은닉 방법 및 장치
RU2368095C1 (ru) 2005-07-22 2009-09-20 Мицубиси Электрик Корпорейшн Кодер изображения и декодер изображения, способ кодирования изображения и способ декодирования изображения, программа кодирования изображения и программа декодирования изображения и компьютерно-считываемый носитель записи, на котором записана программа кодирования изображения, и компьютерно-считываемый носитель записи, на котором записана программа декодирования изображения
JP2007067731A (ja) 2005-08-30 2007-03-15 Sanyo Electric Co Ltd 符号化方法
JP2007074592A (ja) 2005-09-09 2007-03-22 Sony Corp 画像処理装置および方法、プログラム、並びに記録媒体
KR100712532B1 (ko) 2005-09-10 2007-04-30 삼성전자주식회사 단일표현과 다중표현 전환을 이용한 동영상 변환부호화장치 및 방법
US20070064805A1 (en) 2005-09-16 2007-03-22 Sony Corporation Motion vector selection
US7620108B2 (en) 2005-09-16 2009-11-17 Sony Corporation Integrated spatial-temporal prediction
US8165205B2 (en) 2005-09-16 2012-04-24 Sony Corporation Natural shaped regions for motion compensation
US8879857B2 (en) 2005-09-27 2014-11-04 Qualcomm Incorporated Redundant data encoding methods and device
JP2007097028A (ja) * 2005-09-30 2007-04-12 Oki Electric Ind Co Ltd 動きベクトル検出方法および動きベクトル検出回路
US8325822B2 (en) 2006-01-20 2012-12-04 Qualcomm Incorporated Method and apparatus for determining an encoding method based on a distortion value related to error concealment
JP5004150B2 (ja) 2006-02-24 2012-08-22 Kddi株式会社 画像符号化装置
US8320450B2 (en) 2006-03-29 2012-11-27 Vidyo, Inc. System and method for transcoding between scalable and non-scalable video codecs
JP5188033B2 (ja) 2006-04-24 2013-04-24 株式会社日立製作所 記録再生装置、送出装置及び伝送システム。
CN101064849A (zh) 2006-04-29 2007-10-31 鲁海宁 动态图像编码方法、装置和计算机可读记录介质
US20080002770A1 (en) 2006-06-30 2008-01-03 Nokia Corporation Methods, apparatus, and a computer program product for providing a fast inter mode decision for video encoding in resource constrained devices
CN100576919C (zh) 2006-08-08 2009-12-30 佳能株式会社 运动矢量检测设备及运动矢量检测方法
DE102006043707A1 (de) * 2006-09-18 2008-03-27 Robert Bosch Gmbh Verfahren zur Datenkompression in einer Videosequenz
CN101155311B (zh) 2006-09-27 2012-09-05 中兴通讯股份有限公司 一种视频通信中的视频码流错误检测和处理方法
KR101383540B1 (ko) * 2007-01-03 2014-04-09 삼성전자주식회사 복수의 움직임 벡터 프리딕터들을 사용하여 움직임 벡터를추정하는 방법, 장치, 인코더, 디코더 및 복호화 방법
JP2008193627A (ja) 2007-01-12 2008-08-21 Mitsubishi Electric Corp 画像符号化装置、画像復号装置、および画像符号化方法、画像復号方法
JP5026092B2 (ja) * 2007-01-12 2012-09-12 三菱電機株式会社 動画像復号装置および動画像復号方法
TW200836130A (en) * 2007-02-16 2008-09-01 Thomson Licensing Bitrate reduction method by requantization
JP5025286B2 (ja) * 2007-02-28 2012-09-12 シャープ株式会社 符号化装置及び復号装置
CN101267567A (zh) * 2007-03-12 2008-09-17 华为技术有限公司 帧内预测、编解码方法及装置
CN101682769B (zh) * 2007-04-12 2016-11-09 汤姆森特许公司 用于视频编码和解码的跳过-直接模式的取决于环境的合并的方法和装置
JP2008283560A (ja) * 2007-05-11 2008-11-20 Canon Inc 画像処理装置およびその方法
US8254450B2 (en) 2007-08-23 2012-08-28 Nokia Corporation System and method for providing improved intra-prediction in video coding
CN100542299C (zh) * 2007-08-31 2009-09-16 广东威创视讯科技股份有限公司 视讯图像错误的掩盖方法
EP2048886A1 (en) 2007-10-11 2009-04-15 Panasonic Corporation Coding of adaptive interpolation filter coefficients
CN100579231C (zh) 2007-12-18 2010-01-06 北京中星微电子有限公司 一种运动矢量预测方法及装置
CN101466036A (zh) * 2007-12-21 2009-06-24 北京中电华大电子设计有限责任公司 基于avs的运动矢量预测流水并行设计方法
CN101252422B (zh) 2008-03-20 2013-06-05 中兴通讯股份有限公司 物理混合重传指示信道的分配方法
JP4990927B2 (ja) 2008-03-28 2012-08-01 三星電子株式会社 動きベクトル情報の符号化/復号化方法及び装置
US20090268821A1 (en) * 2008-04-29 2009-10-29 The Hong Kong University Of Science And Technology Block parallel and fast motion estimation in video coding
JP2010028221A (ja) 2008-07-15 2010-02-04 Sony Corp 動きベクトル検出装置、動きベクトル検出方法、画像符号化装置及びプログラム
US20100020877A1 (en) 2008-07-23 2010-01-28 The Hong Kong University Of Science And Technology Multiple reference frame motion estimation in video coding
CN101350927B (zh) 2008-07-29 2011-07-13 北京中星微电子有限公司 帧内预测选择最优预测模式的方法及装置
JP5422168B2 (ja) * 2008-09-29 2014-02-19 株式会社日立製作所 動画像符号化方法および動画像復号化方法
JP5401071B2 (ja) * 2008-10-09 2014-01-29 株式会社Nttドコモ 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、動画像符号化プログラム、動画像復号プログラム、動画像処理システムおよび動画像処理方法
WO2010043806A2 (fr) * 2008-10-14 2010-04-22 France Telecom Codage et decodage avec elimination d'un ou plusieurs predicteurs predetermines
WO2010067505A1 (ja) 2008-12-08 2010-06-17 パナソニック株式会社 画像復号化装置および画像復号化方法
KR101590511B1 (ko) * 2009-01-23 2016-02-02 에스케이텔레콤 주식회사 움직임 벡터 부호화/복호화 장치 및 방법과 그를 이용한 영상 부호화/복호화 장치 및 방법
US8737475B2 (en) 2009-02-02 2014-05-27 Freescale Semiconductor, Inc. Video scene change detection and encoding complexity reduction in a video encoder system having multiple processing devices
WO2010146314A1 (fr) * 2009-06-19 2010-12-23 France Telecom Codage de vecteurs mouvement par competition de predicteurs
CN101931803B (zh) * 2009-06-26 2013-01-09 华为技术有限公司 视频图像运动信息获取方法、装置及设备、模板构造方法
KR20110008653A (ko) 2009-07-20 2011-01-27 삼성전자주식회사 움직임 벡터 예측 방법과 이를 이용한 영상 부호화/복호화 장치 및 방법
US9060176B2 (en) 2009-10-01 2015-06-16 Ntt Docomo, Inc. Motion vector prediction in video coding
US20110090965A1 (en) 2009-10-21 2011-04-21 Hong Kong Applied Science and Technology Research Institute Company Limited Generation of Synchronized Bidirectional Frames and Uses Thereof
CN101860754B (zh) 2009-12-16 2013-11-13 香港应用科技研究院有限公司 运动矢量编码和解码的方法和装置
CN101777963B (zh) 2009-12-29 2013-12-11 电子科技大学 一种基于反馈模式的帧级别编码与译码方法
US9036692B2 (en) 2010-01-18 2015-05-19 Mediatek Inc. Motion prediction method
WO2011095260A1 (en) * 2010-02-05 2011-08-11 Telefonaktiebolaget L M Ericsson (Publ) Managing predicted motion vector candidates
CN101931821B (zh) * 2010-07-21 2014-12-10 中兴通讯股份有限公司 一种视频传输的差错控制方法及系统
US8736767B2 (en) 2010-09-29 2014-05-27 Sharp Laboratories Of America, Inc. Efficient motion vector field estimation
US20120082228A1 (en) * 2010-10-01 2012-04-05 Yeping Su Nested entropy encoding
US10104391B2 (en) * 2010-10-01 2018-10-16 Dolby International Ab System for nested entropy encoding
US8976873B2 (en) 2010-11-24 2015-03-10 Stmicroelectronics S.R.L. Apparatus and method for performing error concealment of inter-coded video frames
JP5796289B2 (ja) 2010-11-26 2015-10-21 ソニー株式会社 二次電池セル、電池パック及び電力消費機器
GB2487200A (en) * 2011-01-12 2012-07-18 Canon Kk Video encoding and decoding with improved error resilience
ES2779226T3 (es) 2011-05-31 2020-08-14 Sun Patent Trust Procedimiento de descodificación de vídeo y dispositivo de descodificación de vídeo

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009115901A2 (en) * 2008-03-19 2009-09-24 Nokia Corporation Combined motion vector and reference index prediction for video coding

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Jingjing Dai et al: "Motion Vector Coding Based on Optimal Predictor Selection", PCM 2009,pp.1040-1047. *
Laroche G et al: "RD Optimized Coding for Motion Vector Predictor Selection", IEEE Trans. on Cir. and Sys. for video tech., vol.18, no.9, Sep. 2008, pp.1247-1257. *

Also Published As

Publication number Publication date
KR20180123186A (ko) 2018-11-14
PL3518544T3 (pl) 2020-07-13
ES2835311T3 (es) 2021-06-22
BR122019026393B1 (pt) 2022-05-24
CN103314586B (zh) 2017-09-22
JP2014503157A (ja) 2014-02-06
ES2753760T3 (es) 2020-04-14
JP6207576B2 (ja) 2017-10-04
CN106851310A (zh) 2017-06-13
KR20190014111A (ko) 2019-02-11
CN107529063B (zh) 2020-03-31
EP2664142B1 (en) 2016-12-28
EP3070944B1 (en) 2019-04-03
US20190098314A1 (en) 2019-03-28
CN107105272A (zh) 2017-08-29
JP6336170B2 (ja) 2018-06-06
CN107454398A (zh) 2017-12-08
KR101999091B1 (ko) 2019-07-10
PL3244613T3 (pl) 2020-02-28
GB201100462D0 (en) 2011-02-23
RU2013137437A (ru) 2015-02-20
CN106851309A (zh) 2017-06-13
GB2487261A (en) 2012-07-18
KR102019640B1 (ko) 2019-09-06
PL3174297T3 (pl) 2021-03-08
EP3598756A1 (en) 2020-01-22
EP3244613A1 (en) 2017-11-15
WO2012095465A1 (en) 2012-07-19
PL3550841T3 (pl) 2021-04-06
KR101953520B1 (ko) 2019-02-28
KR20150006015A (ko) 2015-01-15
CN107105285A (zh) 2017-08-29
RU2762933C2 (ru) 2021-12-24
JP2015164322A (ja) 2015-09-10
GB2487200A (en) 2012-07-18
US20210144385A1 (en) 2021-05-13
EP3550841B1 (en) 2020-10-07
KR101525341B1 (ko) 2015-06-02
JP5847844B2 (ja) 2016-01-27
RU2709158C1 (ru) 2019-12-16
EP3518544A1 (en) 2019-07-31
US9386312B2 (en) 2016-07-05
ES2726048T3 (es) 2019-10-01
CN107529063A (zh) 2017-12-29
WO2012095466A1 (en) 2012-07-19
JP6513154B2 (ja) 2019-05-15
CN103314593A (zh) 2013-09-18
KR20130119468A (ko) 2013-10-31
EP3174297A1 (en) 2017-05-31
BR112013016702B1 (pt) 2022-08-16
GB2487253A (en) 2012-07-18
EP3550841A1 (en) 2019-10-09
KR20170128610A (ko) 2017-11-22
JP6779954B2 (ja) 2020-11-04
ES2615828T3 (es) 2017-06-08
TR201907405T4 (tr) 2019-06-21
EP2664142A1 (en) 2013-11-20
JP2014506439A (ja) 2014-03-13
US20180352236A1 (en) 2018-12-06
KR101524394B1 (ko) 2015-05-29
CN107454398B (zh) 2020-03-03
ES2583407T3 (es) 2016-09-20
KR101918437B1 (ko) 2018-11-13
CN107105284A (zh) 2017-08-29
EP3518544B1 (en) 2020-03-11
CN106210734A (zh) 2016-12-07
RU2019137968A (ru) 2021-05-25
JP2018152878A (ja) 2018-09-27
JP2016054538A (ja) 2016-04-14
HUE046362T2 (hu) 2020-03-30
CN103314586A (zh) 2013-09-18
GB201104032D0 (en) 2011-04-20
JP2017143556A (ja) 2017-08-17
KR101943787B1 (ko) 2019-01-29
RU2600530C2 (ru) 2016-10-20
EP2664145A1 (en) 2013-11-20
EP3070944A1 (en) 2016-09-21
KR20150006014A (ko) 2015-01-15
CN107483958B (zh) 2020-03-03
US20130287112A1 (en) 2013-10-31
KR101797805B1 (ko) 2017-11-14
KR20190021492A (ko) 2019-03-05
JP2017201802A (ja) 2017-11-09
KR20180030223A (ko) 2018-03-21
EP2664152A1 (en) 2013-11-20
JP2019024241A (ja) 2019-02-14
HUE043611T2 (hu) 2019-08-28
HUE049745T2 (hu) 2020-10-28
JP2014506440A (ja) 2014-03-13
KR101972030B1 (ko) 2019-04-24
US20130287113A1 (en) 2013-10-31
RU2015120774A (ru) 2015-11-20
CN103314593B (zh) 2016-12-21
RU2016136342A (ru) 2018-03-15
ES2834135T3 (es) 2021-06-16
JP2018026826A (ja) 2018-02-15
US20180316921A1 (en) 2018-11-01
ES2786998T3 (es) 2020-10-14
JP6120900B2 (ja) 2017-04-26
KR20170128613A (ko) 2017-11-22
HUE052346T2 (hu) 2021-04-28
EP3174297B1 (en) 2020-10-21
US20180242001A1 (en) 2018-08-23
US20190098315A1 (en) 2019-03-28
US10499060B2 (en) 2019-12-03
KR20170128614A (ko) 2017-11-22
JP6545318B2 (ja) 2019-07-17
EP2666294A1 (en) 2013-11-27
KR20130105906A (ko) 2013-09-26
RU2651181C2 (ru) 2018-04-18
RU2019137968A3 (ko) 2021-05-25
KR20130119467A (ko) 2013-10-31
CN103329528A (zh) 2013-09-25
RU2556386C2 (ru) 2015-07-10
KR101798280B1 (ko) 2017-11-15
US20190098313A1 (en) 2019-03-28
CN107483958A (zh) 2017-12-15
EP3244613B1 (en) 2019-09-25
CN106851307A (zh) 2017-06-13
JP2014503158A (ja) 2014-02-06
US10609380B2 (en) 2020-03-31
US10506236B2 (en) 2019-12-10
CN107454399A (zh) 2017-12-08
BR112013016702A2 (pt) 2016-10-04
JP6165219B2 (ja) 2017-07-19
JP5847845B2 (ja) 2016-01-27
US20180242000A1 (en) 2018-08-23
CN106210734B (zh) 2020-01-14
KR101944289B1 (ko) 2019-01-31
US11146792B2 (en) 2021-10-12
KR20190044128A (ko) 2019-04-29
KR20130105907A (ko) 2013-09-26
KR101837803B1 (ko) 2018-03-12
JP5847843B2 (ja) 2016-01-27
US20130279596A1 (en) 2013-10-24
CN103329528B (zh) 2016-12-21
EP3598756B1 (en) 2021-03-10
CN107454423A (zh) 2017-12-08
WO2012095464A1 (en) 2012-07-19
CN106851308A (zh) 2017-06-13
JP2016054539A (ja) 2016-04-14
US10165279B2 (en) 2018-12-25
KR20150006021A (ko) 2015-01-15
GB201111866D0 (en) 2011-08-24
US20180241999A1 (en) 2018-08-23
EP2666294B1 (en) 2016-05-18
PL3070944T3 (pl) 2019-09-30
US20130294521A1 (en) 2013-11-07
RU2016136342A3 (ko) 2018-03-15
WO2013041244A1 (en) 2013-03-28
HUE052669T2 (hu) 2021-05-28
US20160277744A1 (en) 2016-09-22
US9979968B2 (en) 2018-05-22
CN103314585A (zh) 2013-09-18
RU2688252C1 (ru) 2019-05-21

Similar Documents

Publication Publication Date Title
KR101524393B1 (ko) 인코딩 방법 및 장치, 디코딩 방법 및 장치, 및 컴퓨터 판독가능 저장 매체

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
A107 Divisional application of patent
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180425

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190515

Year of fee payment: 5