KR101351730B1 - 디코딩된 비디오 블록에서 예상 왜곡을 결정하기 위한 방법및 장치 - Google Patents

디코딩된 비디오 블록에서 예상 왜곡을 결정하기 위한 방법및 장치 Download PDF

Info

Publication number
KR101351730B1
KR101351730B1 KR1020097004321A KR20097004321A KR101351730B1 KR 101351730 B1 KR101351730 B1 KR 101351730B1 KR 1020097004321 A KR1020097004321 A KR 1020097004321A KR 20097004321 A KR20097004321 A KR 20097004321A KR 101351730 B1 KR101351730 B1 KR 101351730B1
Authority
KR
South Korea
Prior art keywords
distortion
block
motion vector
expected
macroblock
Prior art date
Application number
KR1020097004321A
Other languages
English (en)
Other versions
KR20090060994A (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 KR20090060994A publication Critical patent/KR20090060994A/ko
Application granted granted Critical
Publication of KR101351730B1 publication Critical patent/KR101351730B1/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/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/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/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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/164Feedback from the receiver or from the transmission channel
    • H04N19/166Feedback from the receiver or from the transmission channel concerning the amount of transmission errors, e.g. bit error rate [BER]
    • 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/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/19Methods 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 using optimisation based on Lagrange multipliers
    • 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/196Methods 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 being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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/196Methods 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 being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/197Methods 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 being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter
    • 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/567Motion estimation based on 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/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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • 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/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness

Landscapes

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

Abstract

디코딩된 비디오 블록에서 예상 왜곡을 결정하기 위한 방법 및 장치가 제공된다. 이 장치는 모션 벡터가 비정수 값을 가질 때에 이미지 블록에 대한 모션 벡터를 사용하여, 비디오 시퀀스 픽처에 포함되고 손실 채널상으로 송신되는 이미지 블록에 대한 예상 왜곡을 계산하기 위해 왜곡 계산기(1050)를 포함한다. 왜곡 계산기(1050)는 비정수 값을 가진 모션 벡터에 관하여 기준 픽처에서 적어도 두 이웃한 정수 픽셀 위치의 전파 왜곡을 기반으로 예상 왜곡을 계산한다. 이미지 블록을 인터 모드 또는 SKIP 모드로 코딩된다.
예상 왜곡, 에러 은닉, 모션 벡터, 코딩 모드, 이미지 블록, 인터 모드

Description

디코딩된 비디오 블록에서 예상 왜곡을 결정하기 위한 방법 및 장치{METHOD AND APPARATUS FOR DETERMINING EXPECTED DISTORTION IN DECODED VIDEO BLOCKS}
관련 출원에 대한 상호참조
본 출원은 2006년 8월 28일에 출원된 미국 가출원 제60/823,748호의 우선권을 주장하며, 상기 출원의 전체 내용은 본 명세서에 참조 인용된다.
본 발명은 전반적으로 비디오 인코딩 및 왜곡(distortion) 계산에 관한 것으로, 특히 디코딩된 비디오 블록에서 예상 왜곡(expected distortion)을 결정하기 위한 방법 및 장치에 관한 것이다.
예를 들면 ITU-T(International Telecommunication Union, Telecommunication Sector) H.261 권고안, ITU-T H.263 권고안, ISO/IEC(International Organization for Standardization/International Electrotechnical Commission) MPEG-1(Moving Picture Experts Group-1) 표준, ISO/IEC MPEG2 표준, 그리고 ISO/IEC MPEG-4 Part 10 AVC(Advanced Video Coding) 표준/ITU-T H.264 권고안(이후로부터 "MPEG-4 AVC 표준")에 따르는 것들과 같은 전형적인 비디오 인코더에서, 비디오 프레임은 매크로블록(macroblocks)으로 분할되고, 각 매크로블록(MB)는 몇몇 코딩 모드중의 한 코딩 모드로 코딩될 수 있다. 인 터 모드(inter mode)에서, 먼저, 미리 코딩된 프레임에서 최상 매칭 블록을 가리키는 모션 벡터(motion vector, MV)를 알아내고, 그 후에 이 매크로블록과 그의 최상 매칭 블록 간의 차이를 코딩한다. 다른 인터 모드는 매크로블록을 위해 단지 하나의 모션 벡터을 허용하는 대신에 매크로블록을 몇몇 서브블록으로 분할될 수 있게 하여, 각 서브블록을 위한 개별 모션 벡터를 추정한다. 또한 인코더는 현 프레임을 바로 선행하는 프레임을 사용하는 대신에 가능한 몇몇 이전에 인코딩된 프레임들 중에서 선택할 수 있다. (특정 서브블록 구조에 대응한) 주어진 인터 모드의 경우, 모션 추정 처리는 모션 추정 표준을 최소화함으로써 각 매크로블록 또는 서브블록을 위한 대응한 모션 벡터 및 최상의 기준 프레임 인덱스를 결정한다. SKIP 모드에서, 인코더는 모션 벡터를 0으로 추정하거나, 혹은 이 매크로블록을 위한 모션 벡터를 코딩되었던 선택된 이웃 매크로블록의 모션 벡터로부터 예측하고, 그리고 예측 에러(prediction error)를 코딩하지 않는다. 인코딩된 블록은 (0일 수 있는) 예측 모션 벡터를 기반으로 한 간단한 모션 보상 블록이다. 인트라 모드(intra mode)에서, 매크로블록은 (인트라 예측이라 불리는) 동일 프레임에서 미리 코딩된 소정 픽셀로부터 예측되거나 또는 직접 코딩된다. 각각이 상이한 인트라 모드에 대응하는 인트라 예측을 위해 가능한 몇가지 이웃 패턴(neighborhood pattern)이 있다. 인코더는 마지막으로 프리셋 모드(preset mode) 결정 표준을 기반으로 모든 가능한 모드 중에서 최적의 한 모드를 선택한다.
레이트-왜곡(rate-distortion) 최적화된 모션 추정 및 모드 선택시에, 모션 추정 및 모드 결정 표준의 모두는 디코딩된 매크로블록의 왜곡의 가중치 합과 사용 된 비트 수이다. 기본 전송 네트워크를 신뢰할 수 없을 때, 전송된 비디오 비트 스트림이 손실(lost)될 수 있다. 해결할 문제는 디코더에서 예상된 왜곡을 결정하는 방법이다.
전술한 레이트-왜곡 최적화된 모션 추정 및 모드 결정 처리는 예측 에러를 코딩시에 필요한 비트 수와 양자화 왜곡을 결정하기 위하여, 각 후보 옵션(candidate option)에 대한 예측 에러를 양자화 및 코딩할 필요가 있다. 레이트-제한된(rate-constrained) 모션 추정에서, 모션 검색에 사용되는 표준은 예측 에러 그 자체를 포함하는 대신에 예측 에러를 코딩하는 데 필요한 비트를 포함하지 않는다.
모션 추정 및 모드 결정의 이전 작업의 대부분에서, 검색 표준은 인코더에서 양자화기가 일으킨 왜곡만을 고려한다(또한 여기서 "양자화 왜곡"으로 참조). 특히 검색 표준은 모드 정보, (인터 모드를 선택시에) 모션 벡터, 그리고 예측 에러 신호(또는 인트라 모드가 인트라 예측을 이용하지 않는다면 원 픽셀)를 포함한, 후보 모드를 사용하여 매크로블록을 코딩하는 데 필요한 비트 수 및 양자화 왜곡의 가중치 합이다. 이러한 방법은 보통 레이트-왜곡 최적화 모드 선택으로 참조된다. 가중치는 라그랑즈 승수(Langrangian multiplier)로서 언급된다. 모션 추정의 경우, 인터-예측 에러의 가중치 합과 모션 벡터를 코딩하는 데 필요한 비트 수를 사용하는 간단한 검색 표준이 또한 제안되었다. 이러한 방법은 보통 레이트-제한된 모션 추정으로 언급된다.
압축 비디오 스트림이 비트 에러 및/또는 패킷 손실을 경험할 수 있는 네트 워크에 걸쳐 전달될 때, 디코더에서 보이는 왜곡은 인코더에서 보이는 왜곡과 상이하다. 레이트-왜곡 최적화된 모션 추정 및 모드 선택에서의 주된 도전과제는 후보 코딩 모드와 모션 벡터가 주어진 매크로블록에 대한 예상 디코더 왜곡을 결정하는 방법이다. ROPE 방법으로 알려진 종래 방법은 인코더에서 과거 디코딩된 프레임에서의 각 픽셀에 대한 1 차 및 2차 순간을 순환적으로 계산 및 기록한다. 이전 프레임에서 기록된 이들 1차 및 2차 순간을 기반으로, 인코더는 각 후보 코딩 모드 동안에 각 매크로블록에 대한 예상 왜곡을 계산할 수 있다. ROPE 방법의 문제는 모션 추정 정확성이 서브펠(sub-pel)일 때, 또는 다수 기준 프레임이 모션 보상을 위해 허용될 때, 또는 인코더가 디블록킹 필터링(deblocking filtering)을 적용할 때에는 적용될 수 없다는 것이다. ROPE 방법은 프레임 카피(frame copy)로서 알려진 에러 은닉(error concealment) 유형에만 적용될 수 있다. 또한 ROPE 방법은 모든 픽셀에서 채널 왜곡을 추적하는 것을 포함하므로 강한 계산을 필요로 한다. 서브펠 모션 보상을 고려하기 위해 ROPE 확장이 제안되었지만, 이러한 확장은 사실상 원 ROPE 방법보다 더 많은 계산을 요구한다. 모션 추정에 대한 ROPE 방법의 또다른 확장이 고려되었지만, 이 확장은 여전히 정수-펠(integer-pel) 모션 벡터와 프레임 카피 에러 은닉 방법의 사용을 가정한다.
(이하에서 "종래 제1 접근방안"으로 언급되는) 종래 접근방안은 모드 결정시에 채널 유도 왜곡을 고려하고, 후보 모드 동안에 각 매크로블록에 대한 예상 왜곡을 계산한다. 제1 종래 접근방안은 I-프레임 후에 미리 코딩된 모든 프레임에서 모든 매크로블록의 은닉 왜곡의 저장을 요구하는 예상 왜곡을 결정하기 위한 방법 을 사용한다. ROPE 방법과 같이, 제1 종래 접근방안은 서브펠 모션 보상, 모션 보상을 위한 다수 기준 프레임 및 디블록킹 필터링을 고려하지 않는다.
블록-레벨 디코더 왜곡 모델을 포함한 제2 종래 접근방안은 매크로블록 레벨에서 예상 디코더 왜곡을 또한 순환적으로 계산하도록 제안되었다. 제2 종래 접근방안은 이전 프레임에서 대응한 매칭 블록을 수신 및 손실할 때의 경우를 개별적으로 고려함으로써 현 매크로블록의 왜곡을 결정한다. 그러나 제2 종래 접근방안은 인코더 모션 벡터가 에러 은닉을 위해 디코더에서 사용가능할 때에만 적용될 수 있다. 또한 제2 종래 접근방안은 지난 프레임 각각에서 각 매크로블록에 대해, 블록을 수신시의 왜곡, 블록 손실시의 왜곡을 개별적으로 추적할 필요가 있고, 따라서 상당한 양의 계산 및 메모리 공간을 필요로 한다. 또한 제2 종래 접근방안은 모션 추정 및 모드 결정보다는 오히려 인코더 선택 모션 벡터 및 코딩 모드를 기반으로 각 매크로블록에 대한 예상 왜곡을 추정하는 데 사용된다.
디코딩된 비디오 블록에서 예상 왜곡을 결정하기 위한 방법 및 장치에 대한 본 발명은 종래기술의 상기 및 다른 단점들을 다룬다.
본 발명 원리의 일 측면에 따른 장치가 제공된다. 이 장치는 모션 벡터가 비정수(non-integer) 값을 가질 때에 이미지 블록을 위한 모션 벡터를 사용하여, 비디오 시퀀스 픽처에 포함되고 손실 채널(lossy channel)상으로 송신되는 이미지 블록에 대한 예상 왜곡을 계산하기 위해 왜곡 계산기를 포함한다. 왜곡 계산기는 비정수 값을 가진 모션 벡터에 관하여 기준 픽처에서 적어도 두 이웃한 정수 픽셀 위치의 전파 왜곡(propagated distortion)을 기반으로 예상 왜곡을 계산한다. 이미지 블록은 인터 모드 또는 SKIP 모드로 코딩된다.
본 발명 원리의 다른 측면에 따른 방법이 제공된다. 이 방법은 모션 벡터가 비정수 값을 가질 때에 이미지 블록을 위한 모션 벡터를 사용하여, 비디오 시퀀스 픽처에 포함되고 손실 채널상으로 송신되는 이미지 블록에 대한 예상 왜곡을 계산하는 단계를 포함한다. 계산 단계는 비정수 값을 가진 모션 벡터에 관하여 기준 픽처에서 적어도 두 이웃한 정수 픽셀 위치의 전파 왜곡을 기반으로 예상 왜곡을 계산한다. 이미지 블록을 인터 모드 또는 SKIP 모드로 코딩된다.
본 발명 원리의 또다른 측면에 따른 장치에 제공된다. 이 장치는 디블록킹 필터링 동작이 이미지 블록에 적용될 때에 비디오 시퀀스 픽처에 포함되고 손실 채널상으로 송신되는 이미지 블록에 대한 예상 왜곡을 계산하기 위한 왜곡 계산기를 포함한다. 왜곡 계산기는 디블록킹 필터링 동작에 사용되는 픽셀 위치에 관하여 기준 픽처에서 적어도 두 이웃한 정수 픽셀의 전파 왜곡을 기반으로 예상 왜곡을 계산한다. 이미지 블록을 인터 모드 또는 SKIP 모드로 코딩된다.
본 발명 원리의 또다른 측면에 따른 방법이 제공된다. 이 방법은 디블록킹 필터링 동작이 이미지 블록에 적용될 때에 비디오 시퀀스 픽처에 포함되고 손실 채널상으로 송신되는 이미지 블록에 대한 예상 왜곡을 계산하는 단계를 포함한다. 계산 단계는 디블록킹 필터링 동작에 사용되는 픽셀에 관하여 기준 픽처에서 적어도 두 이웃한 정수 픽셀 위치의 전파 왜곡을 기반으로 예상 왜곡을 계산한다. 이미지 블록은 인터 모드 또는 SKIP 모드로 코딩된다.
본 발명 원리의 또다른 측면에 따른 장치가 제공된다. 이 장치는 인터 코딩된 블록의 모션 벡터 및 디블록킹 필터 동작을 이용하여 비디오 시퀀스 픽처에 포함되고 손실 채널상으로 송신되는 인터 코딩된 블록에 대한 예상 왜곡을 계산하기 위해 인코더를 포함한다. 인코더는 디블록킹 필터 동작에 사용되는 인터 코딩된 블록의 이웃 블록에서 픽셀 위치로부터 왜곡 영향을 기반으로 예상 왜곡을 계산한다.
본 발명 원리의 또다른 측면에 따른 방법이 제공된다. 이 방법은 코딩된 블록의 모션 벡터 및 디블록킹 필터 동작을 이용하여 비디오 시퀀스 픽처에 포함되고 손실 채널상으로 송신되는 인터 코딩된 블록의 예상 왜곡을 계산하는 단계를 포함한다. 인코더는 디블록킹 필터 동작에 사용되는 인터 코딩된 블록의 이웃 블록에서 픽셀 위치로부터의 왜곡 영향을 기반으로 예상 왜곡을 계산한다.
본 발명 원리의 또다른 측면에 따른 장치가 제공된다. 이 장치는 비디오 시퀀스 픽처에 포함되고 손실 채널상으로 송신되는 블록의 예상 왜곡을 계산하기 위해 인코더를 포함한다. 인코더는 블록을 위한 모션 벡터 및 코딩 모드를 기반으로, 디코더 에러 은닉 동작을 이용하여 예상 왜곡을 계산한다. 블록을 위한 모션 벡터는 비정수 값을 가진다.
본 발명 원리의 또다른 측면에 따른 방법이 제공된다. 이 방법은 비디오 시퀀스 픽처에 포함되고 손실 채널상으로 송신되는 블록에 대한 예상 왜곡을 계산하는 단계를 포함한다. 이 계산 단계는 블록을 위한 모션 벡터 및 코딩 모드를 기반으로 디코더 에러 은닉 동작을 이용하여 예상 왜곡을 계산하고, 여기서 블록을 위한 모션 벡터는 비정수 값을 가진다.
본 발명의 상기 및 다른 측면, 특징 및 장점들은 첨부도면과 함께 판독되는 대표적 실시예의 후속되는 상세한 설명으로부터 보다 명백해질 것이다.
다음의 예시 도면을 참조하면 본 발명을 보다 잘 이해할 수 있을 것이다.
도 1a는 본 발명 원리의 실시예에 따라서, 본 발명 원리를 적용할 수 있는 대표적 비디오 인코더의 블록도.
도 1b는 본 발명 원리의 실시예에 따라서, 본 발명 원리를 적용할 수 있는 비디오 코딩 환경의 블록도.
도 2는 본 발명 원리의 실시예에 따라서, 주어진 코딩 옵션에 대한
Figure 112009012459521-pct00001
을 결정하기 위한 대표적 방법의 흐름도.
도 3은 본 발명 원리의 실시예에 따라서, 디코더가 에러 은닉 방법 EC2를 사용할 때에 주어진 코딩 옵션에 대한
Figure 112009012459521-pct00002
을 결정하기 위한 방법의 흐름도.
도 4는 본 발명 원리의 실시예에 따라서, 디코더가 에러 은닉 방법 EC3를 사용일 때에 주어진 후보 코딩 옵션에 대한
Figure 112009012459521-pct00003
을 결정하기 위한 방법의 흐름도.
도 5는 본 발명 원리의 실시예에 따라서, 디코더가 에러 은닉 방법 EC2를 사용할 때, 레이트-왜곡 최적화된 모션 추정 및 모드 결정을 위해 주어진 매크로블록(MB)에 대한 라그랑즈 비용에서 총 예상 왜곡
Figure 112009012459521-pct00004
을 결정하기 위한 대표적 방법의 흐름도.
도 6은 본 발명 원리의 실시예에 따라서, 디코더가 에러 은닉 방법 EC3를 사용할 때, 레이트-왜곡 최적화된 모션 추정 및 모드 결정을 위해 주어진 매크로블록(MB)에 대한 라그랑즈 비용에서
Figure 112009012459521-pct00005
을 결정하기 위한 대표적 방법의 흐름도.
도 7은 본 발명 원리의 실시예에 따라서, 디코더가 에러 은닉 방법 EC3를 사용할 때, 주어진 매크로블록(MB)을 위해 선택된 코딩 옵션 o에 대한 총 예상 왜곡
Figure 112009012459521-pct00006
및 채널 왜곡
Figure 112009012459521-pct00007
을 결정하기 위한 대표적 방법의 흐름도.
본 발명 원리는 디코딩된 비디오 블록에서 예상 왜곡을 결정하기 위한 방법 및 장치에 관한 것이다. 예상 왜곡은 상이한 후보 모션 벡터 및 코딩 모드에 관하여 결정될 수 있다. 유리하게도, 본 발명 원리의 다양한 실시예는 디코더에 사용될 수 있는 적어도 세 상이한 에러 은닉 기법중의 하나 이상에 관하여 구현될 수 있다.
본 설명은 본 발명의 원리를 설명한다. 따라서 당업자는 여기에 명백히 기술 및 도시되지 않을지라도 본 발명의 원리를 구현하고 그의 사상 및 범주내에 포함되는 다양한 장치를 고안할 수 있을 것이라는 것을 알 것이다.
여기에 열거되는 모든 예 및 조건 언어는 본 발명의 원리 및, 본 기술분야를 위해 발명자에 의해 제공되는 개념을 이해시에 판독자를 돕기 위한 교육학적 목적을 위한 것이며, 특별히 열거되는 이러한 예 및 조건으로 제한되지 않도록 구성된다.
또한 본 발명의 원리, 측면 및 실시예를 열거하는 여기의 모든 진술뿐만 아니라 이의 특정 예는 이의 구조적 및 기능적 등가물을 포함하는 것이다. 부가적으로, 이러한 등가물은 현재 알려진 등가물뿐만 아니라 장래에 개발되는 등가물, 즉 구조에 관계없이 동일한 기능을 수행하도록 개발된 임의 요소들을 포함한다.
따라서 예를 들면 당업자는 여기에 제시되는 블록도가 본 발명의 원리를 구현하는 설명적 회로의 개념적 뷰를 나타낸다는 것을 이해할 것이다. 유사하게, 임의 흐름도, 흐름 다이아그램, 상태 천이도, 의사코드등은 컴퓨터 판독가능 매체에서 사실상 나타날 수 있고, 이러한 컴퓨터 또는 프로세서가 명백히 도시되든지 그렇지 않든지, 컴퓨터 또는 프로세서에 의해 실행될 수 있는 다양한 처리를 나타낸다.
도면에 도시된 다양한 요소의 기능은 전용 하드웨어뿐만 아니라 적절한 소프트웨어와 함께 소프트웨어를 실행할 수 있는 하드웨어를 사용하여 제공될 수 있다. 프로세서에 의해 제공될 때, 기능은 단일 전용 프로세서에 의해, 단일 공유 프로세서에 의해, 또는 일부가 공유될 수 있는 다수의 개별 프로세서에 의해 제공될 수 있다. 또한 용어 "프로세서" 또는 "제어기"의 명확한 사용은 소프트웨어를 실행할 수 있는 하드웨어를 배타적으로 언급하도록 구성되어서는 안되고, 그리고 DSP(digital signal processor) 하드웨어, 소프트웨어를 저장하기 위한 ROM(read-only memory), RAM(random access memory), 그리고 비휘발성 저장소를 함축적으로 포함하지만 이로 제한되지 않는다.
전형적 및/또는 통상적인 다른 하드웨어가 또한 포함될 수 있다. 유사하게, 도면에 도시된 임의 스위치는 단지 개념적이다. 그들 기능은 프로그램 논리부의 동작을 통해, 전용 논리부를 통해, 프로그램 제어 및 전용 논리부의 상호작용을 통해, 또는 심지어 수동으로 수행될 수 있고, 특정 기법은 문맥으로부터 보다 명확히 이해되는 바와 같이 구현자에 의해 선택될 수 있다.
이의 청구항에서, 명시된 기능을 구현하기 위한 수단으로서 표현된 임의 요소는 예를 들면 가) 이 기능을 수행하는 회로 요소 결합, 또는 나) 기능을 수행하기 위한 소프트웨어를 실행하기 위한 적절한 회로와 결합한, 펌웨어, 마이크로코드 등을 포함한 임의 형태의 소프트웨어를 포함하는 기능을 수행하기 위한 임의 방식을 포함하려는 것이다. 이러한 청구항에 의해 정의되는 본 발명은 열거된 다양한 수단에 의해 제공되는 기능성이 청구항이 요구하는 방식으로 조합 및 함께 결합된다는 사실에 있다. 따라서 이들 기능성을 제공할 수 있는 임의 수단은 여기에 도시된 바와 동등하게 간주된다.
본 발명 원리의 "일 실시예" 또는 "실시예"에 대한 명세서에서의 참조는 실시예와 함께 기술된 특정 특징, 구조, 특성 등이 본 발명 원리의 적어도 한 실시예에 포함된다는 것을 의미한다. 따라서 명세서에 걸쳐 다양한 위치에 나타나는 구문" 일 실시예" 또는 "실시예"의 출현의 모두가 반드시 동일 실시예를 참조하는 것은 아니다.
여기에 사용되는 바와 같이, 이웃한 정수 픽셀 위치는 비정수값 모션 벡터로 언급되는 비정수 위치에 가장 근접한 정수 픽셀 위치이다.
도 1a를 참조하면, 본 발명 원리가 적용될 수 있는 대표적 비디오 인코더가 참조번호(100)에 의해 일반적으로 표시된다.
비디오 인코더(100)로의 입력은 결합기(110)의 비반적 입력과 신호통신하여 연결된다. 결합기(110)의 출력은 변환기/양자화기(120)와 신호통신하여 연결된다. 변환기/양자화기(120)의 출력은 엔트로피 코더(entropy coder)(140)와 신호통신하여 연결된다. 엔트로피 코더(140)의 출력은 인코더(100)의 출력으로 사용될 수 있다.
변환기/양자화기(120)의 출력은 역 변환기/양자화기(150)와 신호통신하여 더 연결된다. 역 변환기/양자화기(150)의 출력은 디블록 필터(deblock filter)(160)의 입력과 신호통신하여 연결된다. 디블록 필터(160)의 출력은 기준 픽처 저장소(170)와 신호통신하여 연결된다. 기준 픽처 저장소(170)의 제1 출력은 모션 추정기(180)의 제1 입력과 신호통신하여 연결된다. 인코더(100)의 입력은 모션 추정기(180)의 제2 입력과 신호통신하여 연결된다. 모션 추정기(180)의 출력은 모션 보상기(190)의 제1 입력과 신호통신하여 연결된다. 기준 픽처 저장소(170)의 제2 출력은 모션 보상기(190)의 제2 입력과 신호통신하여 연결된다. 모션 보상기(190)의 출력은 결합기(110)의 반전입력과 신호통신하여 연결된다.
도 1b를 참조하면, 본 발명 원리가 적용될 수 있는 비디오 코딩 환경이 일반적으로 참조번호(1000)에 의해 표시된다.
비디오 코딩 환경(1000)은 왜곡 계산기(1050)의 제1 입력, 기준 픽처 저장소(1020)의 입력, 그리고 손실 채널(1030)의 입력과 신호통신하여 연결된 출력을 가진 인코더(1010)를 포함한다. 기준 픽처 저장소(1020)의 출력은 인코더(1010)의 제1 입력과 신호통신하여 연결된다. 손실 채널의 제1 출력은 왜곡 계산기(1050)의 제2 입력과 신호통신하여 연결된다. 왜곡 계산기의 출력은 왜곡된 기준 픽처 저장소(1060)의 입력과 신호통신하여 연결된다. 기준 픽처 저장소(1060)의 출력은 왜곡 계산기(1050)의 제3 입력과 신호통신하여 연결된다.
손실 채널의 제2 출력은 디코더(1040)의 입력과 신호통신하여 연결된다. 인코더(1010)의 제2 입력은 비디오 코딩 환경의 입력으로 사용될 수 있다. 디코더(1040)의 출력은 비디오 코딩 시스템(1000)의 출력으로 사용될 수 있다.
왜곡 계산기(1050)가 인코더(1010)로부터 분리된 것으로 도시되었지만, 다른 실시예에서는 왜곡 계산기(1050)가 본 발명 원리의 사상을 유지하는 한에서 인코더(1050)내에 포함될 수 있다는 것을 알 것이다. 즉, 여기에 제공된 본 발명 원리의 개념이 주어지면, 본 기술 및 관련 기술의 당업자는 본 발명 원리의 사상을 유지하면서 여기에 도시된 상기 및 다양한 다른 구성 및 변형을 고려할 것이다.
비디오 블록에서 왜곡을 결정하기 위해 본 발명 원리에 따른 방법 및 장치가제공된다. 실시예에서, 후보 코딩 모드 및 모션 벡터에 대응한 매크로블록에 대한 예상 왜곡이 추정된다. 또한 실시예에서, 마지막 선택된 코딩 모드 동안에 각 매크로블록에 대한 예상 채널 왜곡이 또한 추정되고, 이는 다음 프레임에서 매크로블록에 대한 총 왜곡을 계산하는데 사용된다. 현 프레임에서 후보 코딩 모드 및 모션 벡터를 위한 새 매크로블록에 대한 예상되는 총 왜곡은 모션 보상을 위해 사용되는 기준 프레임으로부터 전달 채널 왜곡의 가중치 합이고, 이 매크로블록에 대한 은닉 왜곡은 이 매크로블록만의 손실이여야 한다.
추정 방법의 변형에 관한 각 대표적 실시예가 프레임 카피, 현 프레임의 모션 벡터 사용, 이전 프레임에서 공동위치된 매크로블록의 모션 벡터 사용인 세 유형의 에러 은닉 방법에 대해 기술된다. 본 발명 원리의 실시예는 인코더가 서브펠 모션 벡터를 사용할 때에 사용될 수 있다. 또한 본 발명 원리의 실시예는 다수 기준 프레임이 사용될 때에 사용될 수 있다. 또한 본 발명 원리의 실시예는 디블록킹 필터링이 사용될 때에 사용될 수 있다. 또한 본 발명 원리의 실시예는 디코더가 상이한 유형의 에러 은닉 방법을 사용할 때에 사용될 수 있다. 본 발명 원리의 실시예는 모든 픽셀에서 채널 왜곡의 추적이 필요하지 않으므로 ROPE 방법보다 사실상 간단하다. 또한 본 발명 원리의 실시예는 전술한 제2 종래 접근방안보다 적은 계산 및 메모리 공간을 요구한다. 전술한 바와 같이, 본 발명 원리의 범주를 유지하면서 당업자에 의해 쉽게 결정되는 바와 같이, 다양한 실시예의 다양한 측면뿐만 아니라 다양한 실시예가 쉽게 결합될 수 있다.
도시 및 명료성을 위하여, 이제 본 발명 원리의 다양한 실시예의 개요뿐만 아니라 여기에 사용된 소정의 표기 및 가정을 설명할 것이다.
프레임 n에서 픽셀 i에 대한 원 값을 표기하기 위해
Figure 112009012459521-pct00008
, 인코더에서 재구성값을 표기하기 위해
Figure 112009012459521-pct00009
, 디코더에서 재구성값을 표기하기 위해
Figure 112009012459521-pct00010
을 사용한다. 프레임 n에서 j번째 매크로블록에 대해 디코더에서 예상되는 총 왜곡은
Figure 112009012459521-pct00011
로서 정의되고, 여기서 예상 연산자 {.}는 주어진 패킷 손실율에 대한 모든 가능한 패킷 손실 구현을 맡는다. 양자화 왜곡은
Figure 112009012459521-pct00012
으로 정의되고, 임의 선택된 코딩 모드 및 모션 벡터에 대해 인코더에서 정확히 계산될 수 있다. 예상되는 채널 왜곡은
Figure 112009012459521-pct00013
으로 정의된다. 아래에 제시된 소정 수학식에서,
Figure 112009012459521-pct00014
인 가정을 사용한다.
P-프레임에서 각 매크로블록은 각 패킷이 전체 프레임 또는 고정된 수의 매크로블록을 포함하는 경우의 패킷 손실율과 동일한 손실율 P를 가진다고 가정한다.
레이트-왜곡 최적화된 모션 추정 및 모드 결정시에, (다수 기준 프레임이 허용된다면 기준 프레임 인덱스를 포함한) 모션 벡터와 코딩 모드는 다음과 같이 라그랑즈 비용 함수를 최소화함으로써 결정된다:
Figure 112009012459521-pct00015
여기서 o는 (인터 모드 동안의 모션 벡터와 후보 기준 프레임 인덱스, 그리고 코딩 모드를 포함한) 후보 코딩 옵션을 나타내고,
Figure 112009012459521-pct00016
는 코딩 옵션 o를 사용하여 프레임 n에서 매크로블록 j에 대해 예상되는 총 왜곡을 나타내고, 그리고
Figure 112009012459521-pct00017
는 옵션 o를 사용하여 이 매크로블록을 코딩하는 데 필요한 총 비트 수이다. 각 후보 인터 모드의 경우, 예상되는 왜곡
Figure 112009012459521-pct00018
과, 따라서 모든 가능한 기준 프레임 인덱스 및 모션 벡터에 대응한 라그랑즈 비용을 먼저 결정하고, 최소 라그랑즈 비용을 가진 최상의 기준 프레임 인덱스와 모션 벡터가 선택된다. 모든 가능한 인트라 모드 및 SKIP 모드 동안에 예상되는 왜곡과 라그랑즈 비용이 또한 계산된다. 마지막으로, 최소 라그랑즈 비용을 가진 코딩 모드가 선택된다.
매크로블록에 대한 손실율이 P일 때, 예상되는 왜곡
Figure 112009012459521-pct00019
은 일반적으로 다음과 같이 계산된다:
Figure 112009012459521-pct00020
Figure 112009012459521-pct00021
는 매크로블록이 수신될 때에 왜곡을 나타내며 코딩 옵션에 의존한다. 항
Figure 112009012459521-pct00022
은 매크로블록이 손실될 때의 왜곡을 표시하고, 가정된 에러 은닉 방법 및 코딩 옵션에 의존한다. 인터 모드와 SKIP 모드 동안에
Figure 112009012459521-pct00023
을 결정하기 위해, 그리고 에러 은닉이 모션 보상 예측을 사용할 때에
Figure 112009012459521-pct00024
을 결정하기 위해 본 발명 원리의 다양한 실시예에 따른 방법이 제공된다.
인트라 모드 동안에
Figure 112009012459521-pct00025
의 계산뿐만 아니라 에러 은닉이 프레임 카피를 사용할 때에
Figure 112009012459521-pct00026
의 계산도 종래기술 분야에 알려져 있다, 그러나 완성도를 위해 여기에 그들 계산을 기술한다.
설명을 위하여, (여기에서 "EC1"으로도 언급되는) 프레임 카피, (여기에서 "EC2"로도 언급되는) 현 프레임의 모션 벡터 사용, 그리고 (여기에서 "EC3"로도 언급되는) 이전 프레임에 공동위치된 매크로블록의 모션 벡터 사용의 상이한 세 에러 은닉 방법을 고려한다. EC2의 경우, 매크로블록을 위해 선택된 코딩 모드와 모션 벡터는 이 매크로블록이 손실될 때에 왜곡에 영향을 줄 것이다. 레이트-왜곡 최적화된 모션 추정과 모드 결정을 위하여, 수학식 2를 사용하여 계산한 이 매크로블록
Figure 112009012459521-pct00027
에 대한 총 예상 왜곡과 수학식 1에서 라그랑즈 비용을 사용할 것이다.
여기서, 상이한 후보 코딩 옵션에 대응한 예상 왜곡
Figure 112009012459521-pct00028
을 추정하기 위한 방법을 제공한다. 그 후에, 에러 은닉 방법 EC1 및 EC2에 대한 예상 왜곡
Figure 112009012459521-pct00029
을 추정하기 위한 방법을 제공한다.
EC3의 경우, 매크로블록을 위해 선택된 코딩 모드 및 모션 벡터는 프레임 n+1에 공동위치된 매크로블록이 손실될 때에 왜곡에 영향을 줄 것이다. 레이트-왜곡 최적화된 모션 추정과 모드 결정을 위해, 다음과 같은 다른 라그랑즈 비용을 사용하도록 제안한다:
Figure 112009012459521-pct00030
Figure 112009012459521-pct00031
Figure 112009012459521-pct00032
는 다양한 코딩 모드에 대해 후술되는 바와 같이 여전히 계산될 수 있다. 항
Figure 112009012459521-pct00033
는 코딩 옵션 o로부터 도출된 기준 프레임 인덱스 및 모션 벡터를 사용하여, 프레임 n+1에서 공동위치된 매크로블록에 대한 예상 왜곡이다.
Figure 112009012459521-pct00034
Figure 112009012459521-pct00035
의 계산은 후술된다.
여기에서 후술된 실시예에 대하여, 주어진 인터 모드 동안에 레이트-제한된 모션 추정 방법을 제시한다. 새로운 라그랑즈 비용 함수가 도입되어 채널 왜곡을 고려한다. 다양한 실시예에 따라서, 상이한 에러 은닉 방법에 대한 이 새로운 비용 함수에서 항을 계산하기 위한 방법이 제공된다. 이 새로운 측정치를 기반으로 한 모션 추정은 여기에 또한 기술된 레이트-왜곡 최적화된 모션 추정보다 적은 계산을 요구한다.
여기에 제시된 소정 방법에서, 각 블록에 대한 예상 채널 왜곡은 과거 M 프레임으로부터 결정되고, 여기서 M은 인코더에 의해 사용되는 최대 임시 예측 거리이다. 그러나 실시예에서, 마지막 선택된 모션 벡터 및 코딩 모드를 기반으로 현재 코딩된 프레임에서 임의 매크로블록에 대한 예상 채널 왜곡을 결정하기 위한 방법이 제공된다.
본 발명 원리는 인트라 모드에서 인트라 예측이 인트라-코딩된 매크로블록에서 미리 코딩된 픽셀만을 사용한다고 가정한다. 이것은 MPEG-4 AVC 표준에서 제한된 인트라 예측으로 알려져 있다. 본 발명 원리에 따라 여기에 제공되는 표기는 P-프레임만을 위한 코딩 옵션 결정 및 에러 은닉을 고려하고, 여기서 매크로블록은 미리 코딩된 M 프레임으로부터 선택된 미리 코딩된 한 프레임으로부터 예측된다. 표기 편리성을 위하여 P-프레임을 연속적으로 순서화하는데, 즉 프레임 n이 P-프레임이라면, 다음 P-프레임은 n+1이다. 그러나 이 실시예에 따른 방법은 I-프레임(모든 매크로블록이 인트라 모드중의 하나에 의해 코딩)과 B-프레임(양방향 예측 모드가 인트라, 인터 및 SKIP 모드에 추가적으로 사용될 수 있음)에서 모드 결정을 고려하도록 확장될 수 있다.
상이한 후보 모드 동안에 수신 매크로블록에 대한 예상 왜곡을 계산하기 위한 방법
이제 상이한 후보 코딩 모드 동안에 수신 매크로블록에 대한 예상 왜곡을 계 산하기 위한 본 발명 원리의 다양한 실시예에 따른 다양한 방법에 관해 설명할 것이다. 특히 매크로블록이 상이한 코딩 모드 동안에 수신될 때에 예상 왜곡, 수학식 2에서
Figure 112009012459521-pct00036
을 계산하기 위한 다양한 방법이 기술된다.
도 2를 참조하면, 주어진 코딩 옵션에 대해
Figure 112009012459521-pct00037
을 결정하기 위한 대표적 방법이 참조번호(200)에 의해 일반적으로 표시된다.
방법(200)은 기능 블록(205)을 포함한다. 기능 블록(205)은 코딩 모드를 기반으로 전환을 수행하고, 제어를 기능 블록(210), 기능 블록(220) 및 기능 블록(235)으로 넘긴다.
기능 블록(210)은 기준 프레임 인덱스 m 및 모션 벡터(MV)v로써 INTER와 동일한 코딩 모드를 설정하고, 제어를 기능 블록(215)으로 넘긴다.
기능 블록(215)은 수학식 5을 사용하여
Figure 112009012459521-pct00038
을 계산하고, 제어를 종료 블록(299)으로 넘긴다.
기능 블록(220)은 SKIP 모드와 동일한 코딩 모드를 설정하고, 제어를 기능 블록(225)으로 넘긴다. 기능블록(225)은 me=1, Ve=0을 설정하거나, 혹은 미리 코딩된 매크로블록(MB)을 기반으로 me, ve를 예측하고, 제어를 기능 블록(230)으로 넘긴다. 기능 블록(230)은 수학식 7 또는 수학식 9를 사용하여
Figure 112009012459521-pct00039
을 계산하고, 제어를 종료 블록(299)으로 넘긴다.
기능 블록(235)은 인트라 모드 인덱스 m으로써 INTRA와 동일한 코딩 모드를 설정하고, 제어를 기능 블록(240)으로 넘긴다. 기능 블록(240)은 수학식 11을 사 용하여
Figure 112009012459521-pct00040
을 계산하고, 제어를 종료 블록(299)으로 넘긴다.
인터 모드
상이한 후보 코딩 모드 동안에 수신 매크로블록에 대한 예상 왜곡을 계산하기 위한 방법을 제공하는 것에 관하여, 먼저 인터-예측 모드를 고려하고, 여기서 단일 MV(motion vector)가 전체 매크로블록을 위해 사용된다. 통상, 기준 프레임은 임의 이전 M 프레임으로부터 선택될 수 있다. 후보 기준 프레임 인덱스 m(1<=m<=M) 및 후보 모션 벡터 v의 경우, 왜곡은 다음과 같이 계산된다:
Figure 112009012459521-pct00041
여기서,
Figure 112009012459521-pct00042
는 후보 기준 프레임 인덱스 m 및 모션 벡터 v를 사용하여 매크로블록 j에 대한 평균제곱 양자화 에러이다.
Figure 112009012459521-pct00043
는 프레임 n에서 매크로블록 j에 대해, r(j,v)에 의해 인덱스되는 프레임 n-m에서 모션-보상 블록에서의 예상 평균 채널 왜곡을 표시한다. 이전 M 프레임에서 각 매크로블록에서의 각 평균 채널 왜곡은 미리 결정 및 기록되었다고 가정한다는 것을 기억한다. 즉,
Figure 112009012459521-pct00044
는 모든 m 및 j에 대해 사용가능하다고 가정한다. 통상 블록 r(j,v)는 정규 매크로블록 경계와 정렬되지 않을 수 있고, 프레임 n-m에서 4 매크로블록까지 오버랩될 수 있다.
Figure 112009012459521-pct00045
는 오버랩된 매크로블록에서 각 채널 왜곡의 가중치 평균에 의해 결정될 수 있고, 여기서 가중치는 오버랩 영역에 비례한다.
수학식 5에서 항
Figure 112009012459521-pct00046
는 매크로블록 j가 수신될 때 프레임 n-m으로부터의 전파 왜곡을 표기한다. 인터-코딩된 매크로블록에서 임시 에러 전달을 고려하는 방법은 종래기술과 다르며, 종래기술에 비해 유리한 특징을 제공한다. 계수는 서브펠 모션 벡터가 사용될 때에 디블록킹 필터링 및 보간 동작으로 인하여 에러 전파의 쇠퇴를 설명하는 감쇠 인자이다. 수학적으로, 이 블록에 적용되는 실제 디플록킹 필터에 따라, (보간에 사용되는 픽셀 수 및 보간 필터를 결정하는) 후보 모션 벡터, 그리고 이웃 픽셀에서 채널 유도 에러들 간의 상관관계가 모션 보상 및 디블록킹 필터링에 관련되었다. 후보 모션 벡터가 정수 벡터인 특별한 경우에, a=1. 보다 일반적으로, a의 값은 (0 내지 1) 범위에 있다. a의 특정 정의와 수신한 인터-코딩된 매크로블록에 대한 전파 왜곡을 계산하기 위해
Figure 112009012459521-pct00047
를 사용하는 것은 종래기술 접근방안의 확장이다. 또한 트레이닝 데이터(training data)를 기반으로 매개변수를 추정하기 위해 종래기술 방법을 확장한다. 또한 트레이닝 데이터를 기반으로 매개변수를 추정하기 위해 종래기술 방법을 확장한다. 본 발명 원리의 실시예에서 풀-펠 위치(full-pel positions)를 요구하는 종래기술에 비해 한가지 차이로는 서브펠 정확성을 가진 모든 후보 모션 벡터를 위해 사전추정 값을 사용할 수 있다. 또한 종래기술과 달리, 이러한 상황에 디블록킹 필터를 사용할 수 있다.
대응한 기준 프레임과 관련된 개별 모션 벡터를 각각 가진, 매크로블록을 보다 작은 다수 서브블록으로 분할하는 인터-모드를 고려하기 위하여, 수학식 5를 사용하여 대응한 후보 기준 프레임 인덱스 및 모션 벡터에 대해 각 서브블록을 위한 왜곡
Figure 112009012459521-pct00048
를 계산할 필요가 있고, 모든 서브블록에 대한 평균을 계산한다.
SKIP 모드
상이한 후보 코딩 모드 동안에 수신된 매크로블록에 대한 예상 왜곡을 계산하기 위한 방법을 제공하는 것에 관하여, 이제 SKIP 모드를 고려한다. SKIP 모드에서, 인코더는 모션 벡터가 0이거나 또는 선택된 미리 코딩된 매크로블록의 모션 벡터를 기반으로 모션 벡터를 예측하고, 예측 에러 신호를 계산하지만 예측 에러 신호를 코딩하지 않는다. 인코더에 의해 재구성된 블록은 (인코더는 모션 벡터가 0이라고 가정한 경우) 이전 프레임에 공동위치된 매크로블록, 또는 예측 모션 벡터를 기반으로 모션 보상 블록을 간단히 한다. 매크로블록을 수신시에 왜곡은 기준 프레임으로부터 전파된 채널 에러를 예측 에러와 플러스한 예측 에러이다. 여기서 SKIP 모드의 경우, 인코더는 모션 벡터뿐만 아니라 기준 프레임 인덱스를 예측할 수 있지만, 단지 하나의 모션 벡터가 전체 매크로블록을 위해 사용된다. MPEG-4 AVG 표준으로써, 단지 이전 프레임이 기준 프레임으로서 허용되고, 본 발명 원리의 실시예에 따라 여기서 간주되는 특별한 경우이다. me 및 ve는 (이전 이웃 매크로블록을 위해 선택한 기준 프레임 인덱스와 모션 벡터의 함수인) 인코더 예측 기준 프레임 인덱스와 모션 벡터를 표시한다. 예상 왜곡은 다음과 같다:
Figure 112009012459521-pct00049
Figure 112009012459521-pct00050
은 현 매크로블록에서 원래 픽셀과, 모션 벡터 v를 기반으로 인코딩된 프레임 n-m으로부터 그들 예측 값 간의 DFD(displaced frame difference) 제곱 평균을 나타낸다.
Figure 112009012459521-pct00051
프레임 n에서 픽셀 i에 대한 예측값을 표기하는 항
Figure 112009012459521-pct00052
로써, 모션 벡터 v를 사용하여 미리 인코딩된 프레임 n-m으로부터 인코더에 의해 계산된다.
me=1, ve=0인 특별한 경우에,
Figure 112009012459521-pct00053
,
Figure 112009012459521-pct00054
Figure 112009012459521-pct00055
은 프레임 n-1에 공동위치된 인코딩값과 현 매크로블록에서 원 픽셀 사이의 FD(frame difference) 제곱 평균을 나타내고, 다음과 같이 계산된다:
Figure 112009012459521-pct00056
인트라 모드
상이한 후보 코딩 모드 동안에 수신한 매크로블록에 대한 예상 왜곡을 계산 하기 위한 방법을 제공하는것에 관하여, 이제 인트라 모드를 고려한다. 인트라 모드는 직접 한 블록을 코딩하거나, 혹은 한 유형의 인트라-예측 패턴을 사용할 수 있다. 후자 경우에, 인트라-코딩된 매크로블록에서 미리 코딩된 픽셀만을 인트라 예측에 사용하는 제한된 인트라 예측을 고려한다. 매크로블록이 양자화 왜곡과 동일할 때에 인트라 모드 동안에 예상 왜곡은 다음과 같다:
Figure 112009012459521-pct00057
여기서,
Figure 112009012459521-pct00058
은 인트라 모드(I,m)를 사용하여 재구성된 값을 표기하는
Figure 112009012459521-pct00059
로써 수학식 6을 사용하여 계산될 수 있다.
에러 은닉 방법 EC1 및 EC2를 사용하여 손실된 매크로블록에 대한 예상 왜곡을 계산하기 위한 방법
이제 본 발명의 다양한 실시예에 따라서 에러 은닉 방법 EC1 및 EC2를 위해 손실 매크로블록에 대해 수학식 2에서 예상 왜곡
Figure 112009012459521-pct00060
을 추정하기 위한 방법을 기술한다.
프레임 카피(EC1)
에러 은닉 방법 EC1 및 EC2를 사용하여 손실 매크로블록에 대한 예상 왜곡을 계산하는 방법을 제공함에 있어, 먼저 디코더가 모든 손실 매크로블록에 대한 에러 은닉을 위해 이전 프레임에 공동위치된 매크로블록을 카피할 때인 경우를 고려한다. 이 경우는 EC1으로 표시된다.
이 경우, 왜곡은 코딩 모드에 관계없이 동일하다. 왜곡은 다음과 같이 계산된다:
Figure 112009012459521-pct00061
인코더 코딩 모드 및 모션 벡터 사용(EC2)
에러 은닉 방법 EC1 및 EC2를 사용하여 손실 매크로블록에 대한 예상 왜곡을 계산하기 위한 방법 제공에 있어서, 이제 여기서 EC2로서 언급되는 인코더 코딩 모드 및 모션 벡터를 사용하는 경우이다. 이 경우, 매크로블록의 코딩 모드 및 모션 벡터 정보는 텍스처 정보(인트라-예측 및 인터-예측 에러의 DCT 계수)가 손실될지라도 사용가능하도록 하는 방식으로 코딩 및 전송된다. 예를 들면 인코더는 이러한 불균등 보호를 실현하기 위하여 여분 슬라이스에, 또는 개별 데이터 분할에 코딩 모드 및 모션 벡터 정보를 포함할 수 있다. 이 경우, 텍스처 정보가 손실된다면, 디코더는 인코더 코딩 모드 및 대응하는 기준 프레임 인덱스 및 모션 벡터를 사용하여 모션 보상된 에러 은닉을 수행할 것이다. 매크로블록이 인트라 모드 또는 SKIP 모드를 사용하여 코딩될 때, 디코더는 모션 벡터가 (프레임 카피와 동등한) 0이라고 가정하거나, 또는 미리 코딩된 매크로블록의 모션 벡터를 기반으로 예측 모션 벡터를 사용하여 에러 은닉을 수행할 수 있다. 인코더는 이들 매크로블록을 위한 동일한 예측 모션 벡터를 생성할 수 있고, 따라서 어느 한 옵션으로써 은닉 왜곡을 정확하게 추정할 수 있다. 이 에러 은닉 방법은 EC2로서 언급된다.
도 3을 참조하면, 디코더가 오류 은닉 방법 EC2를 사용할 때에 주어진 코딩 옵션에 대해
Figure 112009012459521-pct00062
을 결정하기 위한 방법은 일반적으로 참조번호(300)에 의해 표시된다. 방법(300)은 기능블록(305)을 포함한다. 기능블록(305)은 코딩 모드를 기반으로 전환을 수행하고, 제어를 기능블록(310), 기능블록(320) 및 기능블록(335)으로 넘긴다.
기능블록(310)은 기준 프레임 인덱스 m 및 모션 벡터(MV)v로써 INTER와 동일한 코딩 모드로 설정하고, 제어를 기능블록(315)으로 넘긴다.
기능블록(315)은 md=m, vd=v로 설정하고, 제어를 기능블록(330)으로 넘긴다.
기능블록(330)은 md=1 및 vd=0일 때에 수학식 12를 사용하여
Figure 112009012459521-pct00063
를 결정하고, 그렇지 않으면 수학식 13을 사용하여
Figure 112009012459521-pct00064
를 결정하고, 제어를 종료블록(399)으로 넘긴다.
기능블록(320)은 SKIP 모드와 동일한 코딩 모드를 설정하고, 제어를 기능블록(325)으로 넘긴다. 기능블록(325)은 md=1, vd=0으로 설정하거나, 혹은 미리 코딩된 매크로블록(MB)을 기반으로 md, vd를 예측하고, 제어를 기능블록(330)을 넘긴다.
기능블록(335)은 인트라 모드 인덱스 m으로써 INTRA과 동일한 코딩 모드를 설정하고, 제어를 기능블록(340)으로 넘긴다. 기능블록(340)은 md=1, vd=0으로 설정하거나, 혹은 미리 코딩된 매크로블록(MB)을 기반으로 md, vd를 예측하고, 제어를 기능블록(330)을 넘긴다.
코딩 모드의 경우, 디코더로서 사용되는 기준 프레임 인덱스와 모션 벡터를 md 및 vd에 의해 표시한다고 하면, 은닉된 매크로블록의 왜곡은 다음과 같이 계산된다:
Figure 112009012459521-pct00065
Figure 112009012459521-pct00066
Figure 112009012459521-pct00067
은 전술한 바와 같이 계산된다.
인터 모드의 경우, 디코더에 사용되는 기준 프레임 인덱스 및 모션 벡터, md, vd가 인코더에 사용되는 것과 동일하다. 인트라 및 SKIP 모드의 경우, 디코더가 미리 디코딩된 매크로블록을 기반으로 기준 프레임 인덱스 및 모션 벡터를 예측한다면, md 및 vd는 미리 인코딩된 매크로블록을 기반으로 한 인코더 예측 기준 프레임 인덱스 및 모션 벡터와 동일하다. 디코더가 에러 은닉을 위해 프레임 카피를 사용한다면, md = 1, vd = 0. 이 경우에, 수학식 13은 수학식 12로 감소된다.
이전 프레임에 대한 코딩 모드 및 모션 벡터를 카피하는 에러 은닉 방법을 사용하여 예상 왜곡을 계산하기 위한 방법(EC3)
모드 정보 및 모션 벡터가 텍스처 데이터와 달리 보호되지 않는 애플리케이션에서, 디코더는 임시 에러 은닉을 위해 손실 매크로블록을 위한 모션 벡터를 추정해야만 한다. 손실 매크로블록을 은닉하기 위한 한가지 간단한 접근방안은 이전 프레임에 공동위치된 매크로블록의 모션 벡터를 사용하는 것이다. 프레임 n에서 공동위치된 매크로블록이 m 프레임 떨어진 기준 프레임을 사용한다면, 프레임 n+1 에서 동일 매크로블록을 위한 임시 은닉은 프레임 n+1-m을 기반으로 한다. 이전 프레임에 공동위치된 매크로블록이 인트라 모드 또는 SKIP 모드를 사용하여 코딩된다면, 에러 은닉은 모션 벡터가 0이라고 가정하거나, 혹은 이전에 디코딩된 인터-코딩 매크로블록의 복구된 모션 벡터를 기반으로 모션 벡터를 예측할 수 있다. 어느 경우든, 인코더는 이들 매크로블록을 위해 동일한 예측 모션을 생성할 수 있고, 따라서 어느 한 옵션으로써 은닉 왜곡을 정확하게 추정할 수 있다. 이 에러 은닉 방법은 EC3로 언급된다. 현 매크로블록을 위해 선택된 코딩 모드 및 모션 벡터는 다음 프레임에 공동위치된 매크로블록의 은닉 왜곡에 영향을 줄 것이므로, 수학식 1에서 통상적 라그랑즈 비용 함수를 수학식 4에서 정의되는
Figure 112009012459521-pct00068
Figure 112009012459521-pct00069
의 계산을 포함하는 수학식 3에서의 함수로 변형시킨다. 항
Figure 112009012459521-pct00070
는 다양한 코딩 모드 동안에 전술한 바와 같이 여전히 계산될 수 있다.
도 4를 참조하면, 디코더가 에러 은닉 방법 EC3를 사용할 때에 주어진 후보 코딩에 대해
Figure 112009012459521-pct00071
를 결정하기 위한 대표적 방법이 참조번호(400)에 의해 표시된다. 방법(400)은 기능블록(405)을 포함한다. 기능블록(405)은 코딩 모드를 기반으로 전환을 수행하고, 제어를 기능블록(410), 기능블록(420) 및 기능블록(435)으로 넘긴다.
기능블록(410)은 기준 프레임 인덱스 m 및 모션 벡터(MV)v로써 INTER와 동일한 코딩 모드를 설정하고, 제어를 기능블록(415)으로 넘긴다.
기능블록(415)은 md = m, vd = v로 설정하고, 제어를 기능블록(430)으로 넘 긴다.
기능블록(430)은 md =1, vd = 0일 때 수학식 14를 사용하여
Figure 112009012459521-pct00072
를 결정하거나, 혹은 md > 1 또는 md =1 이지만 프레임 n에서 MB r(j,Vd)가 미리 코딩되었을 때 수학식 16을 사용하여
Figure 112009012459521-pct00073
를 결정하거나, 혹은 그렇지 않으면 수학식 18을 사용하여
Figure 112009012459521-pct00074
를 결정하고, 제어를 종료블록(499)으로 넘긴다.
기능블록(420)은 SKIP 모드와 동일한 코딩 모드를 설정하고, 제어를 기능블록(425)로 넘긴다. 기능블록(425)은 md = 1, vd = 0으로 설정하거나, 또는 미리 코딩된 매크로블록(MB)을 기반으로 md , vd를 예측하고, 제어를 기능블록(430)으로 넘긴다.
기능블록(435)은 인트라 모드 인덱스 m으로써 INTRA와 동일한 코딩 모드를 설정하고, 제어를 기능블록(440)으로 넘긴다. 기능블록(440)은 md = 1, vd = 0로 하거나, 또는 미리 코딩된 매크로블록(MB)을 기반으로 md , vd을 예측하고, 제어를 기능블록(430)으로 넘긴다.
은닉 매크로블록의 왜곡 추정
프레임 n에서 매크로블록 j를 위한 후보 코딩 모드, 기준 프레임 인덱스 및 모션 벡터를 기반으로 인코더에 의해 도출될 수 있는 이 매크로블록을 위한 디코더로서 사용되는 기준 프레임 인덱스 및 모션 벡터를 md 및 vd로 표시한다.
Figure 112009012459521-pct00075
을 표시하기 위해
Figure 112009012459521-pct00076
를 사용할 것이다.
md 및 vd의 값에 따라,
Figure 112009012459521-pct00077
는 예를 들면 다음에 기술한 세 대표적 방식으로 계산될 수 있다.
만약 md=1 및 vd=0이면,
Figure 112009012459521-pct00078
Figure 112009012459521-pct00079
여기서,
Figure 112009012459521-pct00080
은 현 후보 모드 및 모션 벡터를 사용하여 매크로블록 j 및 프레임 n에서 픽셀에 대한 인코더 재구성값을 표시한다. 이 경우는 디코더가 이러한 블록의 은닉을 위해 프레임 카피 사용을 선택한다면 인트라 및 SKIP 모드에 적용된다는 점에 주목한다.
md > 1 또는 md = 1이지만 프레임 n에서 매크로블록 r(j,vd)가 이미 코딩되었다면,
Figure 112009012459521-pct00081
여기서
Figure 112009012459521-pct00083
는 모션 벡터가 v라고 가정하여 프레임 n+1-m에서 인코딩된 픽셀로부터 프레임 n+1에서 픽셀에 대한 예측 값을 표시하고, .
만약 프레임 n에서 md = 1이고 매크로블록 r(j,vd)가 코딩되지 않았다면, 왜곡은 다음과 같이 계산된다:
Figure 112009012459521-pct00084
Figure 112009012459521-pct00085
은 다음과 같이 계산된다:
Figure 112009012459521-pct00086
여기서,
Figure 112009012459521-pct00087
는 모션 벡터를 v로 가정시에 프레임 n+1에서 원 픽셀로부터 프레임 n+1에서 픽셀 i에 대한 예측값을 표시한다.
상수 aq는 a와 동일한 방식으로 사전추정될 수있는 매개변수이고, 일반적으로 aq <= a이다. 후보 모션 벡터가 정수 벡터일 때, aq = a = 1.
Figure 112009012459521-pct00088
Figure 112009012459521-pct00089
는 아직 코딩되지 않았던 프레임 n에서 블록 r(j,v)에 대한 양자화 왜곡 및 예상 채널 왜곡이다. 이들 두 항을 추정하는 방법은 후술된다.
매크로블록을 코딩하기전 매크로블록에 대한 양자화 및 채널 왜곡 추정
블록 r(j,v)가 아직 코딩되지 않을 때에 수학식 18에서
Figure 112009012459521-pct00090
를 결정하기 위해, 이 프레임 또는 이전 프레임에서 미리 코딩된 매크로블록에 대한 평균 양자화 왜곡을 사용할 수 있다. 이 대신에, 이 프레임을 위해 사용되는 양자화 단계 크기를 기반으로 결정된 평균 양자화 왜곡을 사용할 수 있다.
블록 r(j,v)이 아직 코딩되지 않았을 때 수학식 18에서
Figure 112009012459521-pct00091
를 결정하기 위해, 이 프레임에서 미리 코딩된 MB에 대해 계산된
Figure 112009012459521-pct00092
의 평균을 사용할 수 있다. 이 대신에, 예를 들면 프레임 n에 대한 평균 채널 왜곡을 계산하기 위해 종래기술 프레임-레벨 채널 왜곡을 사용할 수 있고, 임의 미코딩 매크로블록에 대한 채널 왜곡을 근사화하기 위해 평균 채널 왜곡을 사용할 수 있다. 특히, 프레임 n에서 평균 인트라 레이트를 βn로 표기한다면, 평균 채널 왜곡은 다음을 사용하여 순환적으로 계산될 수 있다:
Figure 112009012459521-pct00093
여기서 h는 a와 유사한 인자이지만 에러 은닉에 사용되는 모션 벡터의 분산에 의존한다. EC3의 경우, 에러 은닉은 하나가 h=a로 설정될 수 있도록 인코더로서 동일 모션 벡터 집합을 사용한다. 이 프레임을 코딩하기전에 인트라 레이트 βn을 추정하기 위해, 하나는 미리 코딩된 프레임에 사용되는 평균 인트라율일 수 있다. 항 DECP,n은 이전 프레임에서 채널 유도 에러가 없을 시에 프레임 n에 대한 평균 은닉 왜곡을 나타낸다. EC3의 경우, 프레임 n-1에 공동위치된 매크로블록 j에 대해 마지막 선택된 기준 프레임 인덱스가
Figure 112009012459521-pct00094
이고, 선택된 모션 벡터가
Figure 112009012459521-pct00095
라면, 매크로블록 j에 대한 은닉 왜곡은
Figure 112009012459521-pct00096
, 여기서
Figure 112009012459521-pct00097
는 전술한 바와 같이 계산될 수 있고,
Figure 112009012459521-pct00098
는 수학식 8을 사용하여 계산될 수 있다. 왜곡 DECP,n은 모든 매크로블록에 대한
Figure 112009012459521-pct00099
의 평균이다.
채널 왜곡을 고려하는 레이트-제한된 모션 추정
라그랑즈 비용에서 레이트 항
Figure 112009012459521-pct00100
을 계산하기 위해, 인코더는 모션 벡터 및 예측 에러를 나타내는 데 필요한 레이트를 결정하도록 각 후보 모드 및 모션 벡터에 대응한 예측 에러를 양자화 및 코딩할 필요가 있다. 계산을 감소시키기 위하여, 예측 에러를 코딩하는 데 필요한 레이트를 알 필요가 없고 단지 모드 및 모션 벡터를 나타내는 레이트만 필요한 비용 함수를 사용할 수 있다. 이것은 통상 레이트-제한된 모션 추정으로서 알려져 있다. 이 영역에서 종래기술이 단지 양자화 왜곡만을 고려했다는 것을 알 것이다. 채널 왜곡을 고려하기 위해, 라그랑즈 비용을 다음과 같이 변형한다:
Figure 112009012459521-pct00101
여기서 λMV 및 λc는 총 레이트 제한 또는 양자화 매개변수(QP)를 위해 적당히 선택된 값이다. 항
Figure 112009012459521-pct00102
는 수학식 8에서 정의된 바와 같고, Rv(m,v)는 기준 프레임 인덱스 m과 모션 벡터 v를 코딩하는 데 필요한 총 비트 수이다.
EC1 및 EC2의 경우, 항
Figure 112009012459521-pct00103
는 프레임 n에서 매크로블록 j가 손실 및 은 닉될 때 예상 왜곡이다. 이 항은 EC1로써 수학식 12를 사용하여, EC2로써 수학식 13을 사용하여 계산될 수 있다.
EC3의 경우,
Figure 112009012459521-pct00104
는 m 및 v에 대한 후보값에 따라서 수학식 14, 수학식 16 또는 수학식 18을 사용하여 계산된
Figure 112009012459521-pct00105
에 의해 대체된다.
선택된 모드 및 모션 벡터에 대한 채널 왜곡 추정
이전에 여기에 제시된 방법은 이전의 최대 M 프레임까지 모든 매크로블록에 대한 예상 채널 왜곡을 알고 있다고 가정하였다. 여기서 일단 그의 마지막 코딩 모드 및 모션 벡터가 선택되면 매크로블록에 대한 예상 채널 왜곡을 계산하는 방법을 고려한다. 이 계산은 프레임 n에서 각 매크로블록을 코딩시에 모션 추정 및 모드 결정 처리의 종료시에 행해진다.
(코딩 모드, 그리고 인터모드인 경우에 기준 프레임 인덱스 및 모션 벡터를 포함한) 매크로블록 j에 대한 마지막 코딩 옵션을 o*로 표기한다고 하자. 이 코딩 옵션에 대응한 예상되는 총 왜곡이
Figure 112009012459521-pct00106
이고 양자화 왜곡이
Figure 112009012459521-pct00107
라면, 이 매크로블록에 대한 예상 채널 왜곡은 다음과 같다:
Figure 112009012459521-pct00108
다양한 코딩 모드 동안에 계산된
Figure 112009012459521-pct00109
Figure 112009012459521-pct00110
을 기반으로 한 EC1 및 EC2의 경우, o*을 포함한 모든 가능한 코딩 옵션에 대해 수학식 2를 사용하여 총 예상 왜곡
Figure 112009012459521-pct00111
를 도출할 수 있다. 유사하게,
Figure 112009012459521-pct00112
가 다양한 코딩 모드 동안에 계산되었다. SKIP 모드의 경우,
Figure 112009012459521-pct00113
. 따라서 수학식 22는 채널 왜곡을 계산하는 데 직접 사용될 수 있다.
EC3의 경우, 다양한 코딩 옵션 동안에 손실이 있는 경우에 프레임 n+1에서 매크로블록 j에 대한 예상 왜곡
Figure 112009012459521-pct00114
만을 계산하였다. 또한
Figure 112009012459521-pct00115
를 결정하기 위해
Figure 112009012459521-pct00116
를 계산할 필요가 있는데, 여기서 현 매크로블록의 은닉이
Figure 112009012459521-pct00117
에 의존하므로,
Figure 112009012459521-pct00118
는 프레임 n-1에서 매크로블록에 대해 선택된 코딩 옵션을 표시한다. 통상
Figure 112009012459521-pct00119
를 기반으로 하여, 프레임 n에서 매크로블록 j에 대한 에러 은닉을 위해 디코더에 의해 사용될 기준 프레임 인덱스 md 및 모션 벡터 vd를 도출할 수 있다. 이 매크로블록이 손실 및 은닉될 때의 왜곡은 다음을 사용하여 계산될 수 있다:
Figure 112009012459521-pct00120
인트라 및 SKIP 모드의 경우, 디코더 에러 은닉은 프레임 카피를 사용하고, 그 후 전술한 수학식은 수학식 12로 단순화된다.
그 후, 총 예상 왜곡
Figure 112009012459521-pct00121
는 이전에 계산된
Figure 112009012459521-pct00122
, 수학식 2를 사용하여 새롭게 계산된
Figure 112009012459521-pct00123
로부터 결정될 수 있다.
도 5를 참조하면, 디코더가 에러 은닉 방법 EC2를 사용할 때에 레이트-왜곡 최적화된 모션 추정 및 모드 결정을 위해 주어진 매크로블록(MB)에 대한 라그랑즈 비용에서 총 예상 왜곡
Figure 112009012459521-pct00124
을 결정하기 위한 대표적 방법이 참조번호(500)에 의해 일반적으로 표시된다. 방법(500)은 기능블록(505)을 포함한다. 기능블록(505)은 매크로블록에서 픽셀값, 그의 위치 인덱스 j, 그리고 프레임 인덱스 n, 후보 코딩 모드, 후보 모드가 INTER 모드인 경우에 후보 기준 프레임 인덱스 m 및 모션 벡터(MV)v, 프레임 n-M 내지 n-1에서 모든 매크로블록(MB)에서 인코딩된 픽셀값과 평균 채널 왜곡, 매크로블록 손실율 P를 입력하고, 제어를 기능블록(510)으로 넘긴다. 기능블록 (510)은 (예를 들면 도 2에 관해 기술한 바와 같이)
Figure 112009012459521-pct00125
를 결정하고, 제어를 기능블록(515)으로 넘긴다. 기능블록(515)은 (예를 들면 도 3에 관해 기술한 바와 같이)
Figure 112009012459521-pct00126
을 결정하고, 제어를 기능블록(520)으로 넘긴다. 기능블록(520)은
Figure 112009012459521-pct00127
을 사용하여
Figure 112009012459521-pct00128
을 결정하고, 제어를 기능블록(525)으로 넘긴다. 기능블록(525)은
Figure 112009012459521-pct00129
을 출력하고 제어를 종료블록(599)으로 넘긴다.
도 6을 참조하면, 디코더가 에러 은닉 방법 EC3를 사용할 때에 레이트-왜곡 최적화된 모션 추정과 모드 결정을 위해 주어진 매크로블록(MB)에 대한 라그랑즈 비용에서
Figure 112009012459521-pct00130
를 결정하기 위한 대표적 방법이 일반적으로 참조번호(600)에 의해 표시된다. 방법(600)은 기능블록(605)을 포함한다. 기능블록(605)은 매크로블록에서 픽셀값, 그의 위치 인덱스 j, 그리고 프레임 인덱스 n, 후보 코딩 모드, 후보 모드가 INTER 모드인 경우에 후보 기준 프레임 인덱스 m 및 모션 벡터(MV)v, 프레임 n-M 내지 n-1에서 모든 매크로블록(MB)에서 인코딩된 픽셀값과 평균 채널 왜곡, 매크로블록 손실율 P를 입력하고, 제어를 기능블록(610)으로 넘긴다. 기능블록(610)은 (예를 들면 도 2에 관해 기술된 바와 같이)
Figure 112009012459521-pct00131
를 결정하고, 제어를 기능블록(615)로 넘긴다. 기능블록(615)은 (예를 들면 도 4에 관해 기술한 바와 같이)
Figure 112009012459521-pct00132
를 결정하고, 제어를 기능블록(620)으로 넘긴다. 기능블록(620)은
Figure 112009012459521-pct00133
를 사용하여
Figure 112009012459521-pct00134
를 결정하고, 제어를 기능블록(625)으로 넘긴다. 기능블록(625)은
Figure 112009012459521-pct00135
를 출력하고 제어를 종료블록(699)으로 넘긴다.
도 7을 참조하면, 디코더가 에러 은닉 방법 EC3을 사용할 때에 주어진 매크로블록(MB)을 위해 선택된 코딩 옵션 o에 대해 총 예상 왜곡
Figure 112009012459521-pct00136
및 채널 왜곡
Figure 112009012459521-pct00137
을 결정하기 위한 대표적 방법이 참조번호(700)에 의해 일반적으로 표시된다. 방법(700)은 기능블록(705)을 포함한다. 기능블록(705)은 매크로블록에서 픽셀값, 그의 위치 인덱스 j 및 프레임 인덱스 n, 후보 코딩 모드, 후보 모드가 INTER 모드인 경우에 후보 기준 프레임 인덱스 m 및 모션 벡터(MV)v, 프레임 n-m 내지 n-1에서 모든 매크로블록(MB)에서 인코딩된 픽셀값 및 평균 채널 왜곡, 매크로블록 손실율 P을 입력하고, 제어를 기능블록(710)으로 넘긴다. 기능블록(710)은 (예를 들면 도 2에 관하여 기술한 바와 같이)
Figure 112009012459521-pct00138
를 결정하고, 제어를 기능블록(715)으로 넘긴다. 기능블록(715)은 이 매크로블록을 위해 디코더에 사용할 기준 프레임 인덱스 md 및 MVvd를 결정하고, 제어를 기능블록(720)으로 넘긴다. 기능블록(715)에 관련하여, 프레임 n-1에 공동위치된 매크로블록(MB)이 기준 프레임 인덱스 m 및 모션 벡터(MV)v로써 INTER 모드를 사용하는 경우, 기능블록(715)은 md = m, vd = v를 설정한다. 그렇지 않으면, md, vd는 프레임 n-1에서 이웃 매크로블록에서 기준 프레임 인덱스 및 모션 벡터를 기반으로 예측된다.
기능블록(720)은
Figure 112009012459521-pct00139
을 결정하고 제어를 기능블록(725)으로 넘긴다. 기능블록(720)에 관련하여
Figure 112009012459521-pct00140
를 결정한다. md = 1, vd = 0인 경우, 수학식 12를 사용한다. 그렇지 않으면, 수학식 13을 사용한다.
기능블록(725)은
Figure 112009012459521-pct00141
을 사용하여
Figure 112009012459521-pct00142
을 결정하고, 제어를 기능블록(730)으로 넘긴다. 기능블록(730)은
Figure 112009012459521-pct00143
를 결정하고 제어를 기능블록(735)로 넘긴다.
기능블록(730)에 관련하여, INTER 및 INTRA 모드의 경우에는 수학식 6을 사용한다. SKIP 모드인 경우, 다음을 사용한다:
Figure 112009012459521-pct00144
기능블록(735)은
Figure 112009012459521-pct00145
를 사용하여
Figure 112009012459521-pct00146
을 결정하고, 제어를 기능블록(740)으로 넘긴다. 기능블록(740)은
Figure 112009012459521-pct00147
,
Figure 112009012459521-pct00148
를 출력하고 ,제어를 종료블록(799)으로 넘긴다.
이제 일부 전술하였던 본 발명의 다수의 이점/특징중 일부를 기술할 것이다. 예를들면 한가지 이점/특징은 모션 벡터가 비정수값일 때 이미지 블록을 위해 모션 벡터를 사용하여 비디오 시퀀스 픽처에 포함되며 손실 채널상으로 송신되는 이미지 블록에 대한 예상 왜곡을 계산하기 위한 왜곡 계산기를 가진 장치이다. 왜 곡 계산기는 비정수값을 가진 모션 벡터에 관하여 기준 픽처에서 적어도 두 이웃한 정수 픽셀 위치의 전파 왜곡을 기반으로 예상 왜곡을 계산한다. 이미지 블록은 인터 모드 또는 SKIP 모드로 코딩된다.
다른 이점/특징은 전술한 바와 같이 왜곡 계산기를 가진 장치이며, 여기서 왜곡 계산기는 적어도 두 이웃한 정수 픽셀 위치의 왜곡, 0과 1사이 값을 가진 스케일링 인자를 적용함으로써 예상 왜곡을 계산한다.
또다른 이점/특징은 스케일링 인자를 적용함으로써 예상 왜곡을 계산하는 왜곡 계산기를 가진 장치로, 여기서 스케일링 인자는 비정수 값을 가진 블록을 대한 모든 후보 모션 벡터에 관하여 사전추정된다.
또다른 이점/특징은 전술한 바와 같이 왜곡 계산기를 가진 장치로, 여기서 왜곡 계산기는 비디오 인코더에 포함된다.
또다른 이점/특징은 디블록킹 필터링 동작이 이미지 블록에 적용될 때에 비디오 시퀀스 픽처에 포함되고 손실 채널상으로 송신되는 이미지 블록에 대한 예상 왜곡을 계산하기 위한 왜곡 계산기를 가진 장치이다. 왜곡 계산기는 디블록킹 필터링 동작에 사용되는 픽셀 위치에 관하여 기준 픽처에서 적어도 두 이웃한 정수 픽셀 위치의 전파 왜곡을 기반으로 예상 왜곡을 계산한다. 이미지 블록은 인터 모드 또는 SKIP 모드에서 코딩된다.
또다른 이점/특징은 전술한 바와 같이 왜곡 계산기를 가진 장치이고, 여기서 장치는 이미지 블록이 인터 코딩되어, 미리 디코딩된 픽처에 공동위치된 모션 벡터 및 디코딩된 코딩 모드를 사용하여 손실 매크로블록에 대해 모션 보상된 임시 예측 을 수행하는 디코더에 수신될 때에 예상 왜곡을 포함한 라그랑즈 비용함수를 계산하기 위한 인코더를 더 포함한다.
부가적으로, 또다른 이점/특징은 인터 코딩된 블록의 모션 벡터 및 디블록킹 필터 동작을 이용하여, 비디오 시퀀스 픽처에 포함되고 손실 채널상으로 송신되는, 인터 코딩된 블록의 예상 왜곡을 계산하기 위한 인코더를 가진 장치이다. 인코더는 디블록킹 필터 동작에 사용되는 인터 코딩된 블록의 이웃 블록에서 픽셀 위치로부터 왜곡 영향을 기반으로 예상 왜곡을 계산한다.
또다른 이점/특징은 비디오 시퀀스 픽처에 포함되고 손실 채널상으로 송신되는 블록의 예상 왜곡을 계산하기 위한 인코더를 가진 장치이다. 인코더는 블록에 대한 코딩 모드 및 모션 벡터를 기반으로, 디코더 에러 은닉 동작을 사용하여 예상 왜곡을 계산하고, 여기서 블록을 위한 모션 벡터는 비정수값을 가진다.
또다른 이점/특징은 전술한 바와 같이 인코더를 가진 장치이고,여기서 디코더 에러 은닉 동작은 프레임 카피 동작이다.
또다른 이점/특징은 전술한 바와 같이 인코더를 가진 장치이고, 여기서 디코더 에러 은닉 동작은 블록에 대한 인코더 코딩 모드 및 인코더 모션 벡터를 사용한다.
부가적으로, 또다른 이점/특징은 전술한 바와 같이 인코더를 가진 장치이고, 여기서 디코더 에러 은닉 동작은 이전 픽처에 대응한 인코더 코딩 모드 및 인코더 모션 벡터를 카피한다.
또다른 이점/특징은 전술한 바와 같은 인코더를 가진 장치이고, 여기서 에러 은닉 동작은 모션 보상된 임시 예측을 사용하고, 인코더는 블록만이 픽처에서 손실될 때에 디코더 에러 은닉 동작을 사용하여 계산된 은닉 왜곡과, 블록에 대한 모션 벡터에 의해 지시되는 기준 픽처에서 모션 보상된 블록에서의 채널 왜곡을 합산함으로써 예상 왜곡을 계산하고, 채널 왜곡은 스케일링 인자에 의해 스케일다운되고, 은닉 왜곡은 기준 픽처에서 모션 보상된 블록에서의 인코딩된 픽셀값을 기반으로 계산된다.
본 발명의 상기 및 다른 특징과 이점은 여기의 티칭을 기반으로 적절한 분야의 당업자에 의해 쉽게 확인될 수 있다. 본 발명의 티칭은 하드웨어, 소프트웨어, 펌웨어, 특용 프로세서 또는 이의 결합의 다양한 형태로 구현될 수 있다는 것을 알 것이다.
보다 바람직하게는, 본 발명의 티칭은 하드웨어와 소프트웨어의 결합으로서 구현된다. 또한 소프트웨어는 프로그램 저장유닛상에 실체적으로 구현된 애플리케이션 프로그램으로 구현될 수 있다. 애플리케이션 프로그램은 임의 적당한 구조를 포함한 머신으로 업로딩되어 이에 의해 실행될 수 있다. 바람직하게는, 머신은 하나 이상의 CPU, RAM(random access memory), 및 입력/출력(I/O) 인터페이스와 같은 하드웨어를 가진 컴퓨터 플랫폼상에서 구현된다. 컴퓨터 플랫폼은 운영체제 및 마이크로인스트럭션 코드를 포함할 수 있다. 여기에 기술된 다양한 처리 및 기능은 CPU에 의해 실행될 수 있는 마이크로인스트럭션 코드 부분 또는 애플리케이션 프로그램 부분, 또는 이의 임의 결합일 수 있다. 또한 다양한 다른 주변 유닛이 추가 데이터 저장유닛 및 인쇄유닛과 같이 컴퓨터 플랫폼에 연결될 수 있다.
첨부 도면에 도시된 소정 구성 시스템 구성소자 및 방법은 바람직하게 소프트웨어로 구현되므로, 시스템 구성소자들 또는 처리기능 블록들 간의 실제 연결은 본 발명이 프로그램되는 방식에 따라 상이할 수 있다는 것을 알 것이다. 여기의 티칭이 주어지면, 당업자는 본 발명의 상기 및 유사한 구현 또는 구성을 고려할 수 있을 것이다.
여기에 첨부 도면을 참조한 설명적 실시예가 기술되었지만, 본 발명은 이들 정확한 실시예로 제한되지 않으며, 다양한 변경 및 변형이 본 발명의 사상 또는 범주를 벗어나지 않고 당업자에 의해 행해질 수 있다는 것을 알 것이다. 이러한 모든 변경 및 변형은 첨부도면에 설명된 바와 같이 본 발명의 범주내에 포함되는 것이다.

Claims (25)

  1. 이미지 블록에서 예상 왜곡(expected distortion)을 결정하기 위한 장치로서,
    모션 벡터(motion vector)가 비정수(non-integer) 값을 가질 때에 이미지 블록에 대한 상기 모션 벡터를 사용하여, 비디오 시퀀스 픽처에 포함되고 손실 채널(lossy channel)을 통해 송신되는 상기 이미지 블록에 대한 예상 왜곡을 계산하기 위한 왜곡 계산기(1050)를 포함하고,
    상기 왜곡 계산기는, 기준 프레임을 이용하는 매크로 블록에 대한 평균 제곱 양자화 에러, 및 비정수 값 모션 벡터로 언급되는 비정수 위치에 가장 근접한 위치를 갖는 적어도 2개의 정수 픽셀을 이용하는 기준 프레임의 모션 보상 블록의 가중 예상 평균 채널 왜곡에 기초하여 상기 픽처의 매크로블록의 예상 왜곡을 계산하고,
    상기 이미지 블록은 인터 모드(inter mode) 또는 SKIP 모드로 코딩되는, 이미지 블록에서 예상 왜곡을 결정하기 위한 장치.
  2. 제1항에 있어서,
    상기 왜곡 계산기(1050)는 상기 적어도 두 이웃한 정수 픽셀 위치의 왜곡에, 0과 1 사이의 값을 가진 스케일링 인자를 적용함으로써 상기 예상 왜곡을 계산하는, 이미지 블록에서 예상 왜곡을 결정하기 위한 장치.
  3. 제2항에 있어서,
    상기 스케일링 인자는 비정수 값을 가진 상기 블록에 대한 모든 후보 모션 벡터에 대하여 사전추정되는, 이미지 블록에서 예상 왜곡을 결정하기 위한 장치.
  4. 제1항에 있어서,
    상기 왜곡 계산기(1050)는 비디오 인코더에 포함되는, 이미지 블록에서 예상 왜곡을 결정하기 위한 장치.
  5. 이미지 블록에서 예상 왜곡을 결정하기 위한 방법으로서,
    모션 벡터가 비정수 값을 가질 때에 이미지 블록에 대한 모션 벡터를 사용하여, 비디오 시퀀스 픽처에 포함되고 손실 채널을 통해 송신되는 이미지 블록에 대한 예상 왜곡을 계산하는 단계(230)를 포함하고,
    상기 계산 단계는, 기준 프레임을 이용하는 매크로 블록에 대한 평균 제곱 양자화 에러, 및 비정수 값 모션 벡터로 언급되는 비정수 위치에 가장 근접한 위치를 갖는 적어도 2개의 정수 픽셀을 이용하는 기준 프레임의 모션 보상 블록의 가중 예상 평균 채널 왜곡에 기초하여 상기 픽처의 매크로블록의 예상 왜곡을 계산하고,
    상기 이미지 블록은 인터 모드 또는 SKIP 모드로 코딩되는, 이미지 블록에서 예상 왜곡을 결정하기 위한 방법.
  6. 제5항에 있어서,
    상기 계산 단계는 상기 적어도 두 이웃한 정수 픽셀 위치의 왜곡에, 0과 1 사이의 값을 가진 스케일링 인자를 적용함으로써 상기 예상 왜곡을 계산하는(330), 이미지 블록에서 예상 왜곡을 결정하기 위한 방법.
  7. 제6항에 있어서,
    상기 스케일링 인자는 비정수 값을 가진 상기 블록에 대한 모든 후보 모션 벡터에 대해 사전추정되는(330), 이미지 블록에서 예상 왜곡을 결정하기 위한 방법.
  8. 제5항에 있어서,
    상기 방법은 비디오 인코더에 의해 수행되는, 이미지 블록에서 예상 왜곡을 결정하기 위한 방법.
  9. 이미지 블록에서 예상 왜곡을 결정하기 위한 장치로서,
    디블록킹 필터링(deblocking filtering) 동작이 이미지 블록에 적용될 때에 비디오 시퀀스 픽처에 포함되고 손실 채널을 통해 송신되는 상기 이미지 블록에 대한 예상 왜곡을 계산하기 위한 왜곡 계산기(1050)를 포함하고,
    상기 왜곡 계산기는, 기준 프레임을 이용하는 매크로 블록에 대한 평균 제곱 양자화 에러, 및 상기 디블록킹 필터링 동작에 사용되는 픽셀 위치에 가장 근접한 위치를 갖는 적어도 2개의 정수 픽셀을 이용하는 기준 프레임의 모션 보상 블록의 가중 예상 평균 채널 왜곡에 기초하여 상기 픽처의 매크로블록의 예상 왜곡을 계산하고,
    상기 이미지 블록은 인터 모드 또는 SKIP 모드로 코딩되는, 이미지 블록에서 예상 왜곡을 결정하기 위한 장치.
  10. 제9항에 있어서,
    상기 이미지 블록이 인터 코딩되고, 미리 디코딩된 픽처에 공동위치된 블록에 대해 모션 벡터 및 디코딩된 코딩 모드를 사용하여 손실 매크로블록에 대한 모션 보상된 임시 예측을 수행하는 디코더에 수신될 때에 상기 예상 왜곡을 포함한 라그랑즈 비용 함수(Lagrangian cost function)를 계산하기 위한 인코더(1010)를 더 포함하는, 이미지 블록에서 예상 왜곡을 결정하기 위한 장치.
  11. 이미지 블록에서 예상 왜곡을 결정하기 위한 방법으로서,
    디블록킹 필터링 동작이 이미지 블록에 적용될 때에 비디오 시퀀스 픽처에 포함되고 손실 채널상으로 송신되는 이미지 블록에 대한 예상 왜곡을 계산하는 단계(330)를 포함하고,
    상기 계산 단계는, 기준 프레임을 이용하는 매크로 블록에 대한 평균 제곱 양자화 에러, 및 상기 디블록킹 필터링 동작에 사용되는 픽셀 위치에 가장 근접한 위치를 갖는 적어도 2개의 정수 픽셀을 이용하는 기준 프레임의 모션 보상 블록의 가중 예상 평균 채널 왜곡에 기초하여 상기 픽처의 매크로블록의 예상 왜곡을 계산하고, 상기 이미지 블록은 인터 모드 또는 SKIP 모드로 코딩되는, 이미지 블록에서 예상 왜곡을 결정하기 위한 방법.
  12. 제11항에 있어서,
    상기 이미지 블록이 인터 코딩되고, 미리 디코딩된 픽처에 공동위치된 블록에 대해 모션 벡터 및 디코딩된 코딩 모드를 사용하여 손실 매크로블록에 대한 모션 보상된 임시 예측을 수행하는 디코더에 수신될 때에 상기 예상 왜곡을 포함한 라그랑즈 비용 함수를 계산하는 단계(330)를 더 포함하는, 이미지 블록에서 예상 왜곡을 결정하기 위한 방법.
  13. 제12항에 있어서,
    상기 라그랑즈 비용 함수를 계산하는 상기 단계는 비디오 인코더에 의해 수행되는, 이미지 블록에서 예상 왜곡을 결정하기 위한 방법.
  14. 이미지 블록에서 예상 왜곡을 결정하기 위한 장치로서,
    인터 코딩된 블록의 모션 벡터 및 디블록킹 필터 동작을 사용하여, 비디오 시퀀스 픽처에 포함되고 손실 채널을 통해 송신되는 인터 코딩된 블록의 예상 왜곡을 계산하기 위한 인코더(100)를 포함하고,
    상기 인코더는, 기준 프레임을 이용하는 매크로 블록에 대한 평균 제곱 양자화 에러, 및 상기 디블록킹 필터링 동작에 사용되고, 비정수 값 모션 벡터로 언급되는 비정수 위치에 가장 근접한 위치를 갖는 적어도 2개의 정수 픽셀을 이용하는 기준 프레임의 모션 보상 블록의 가중 예상 평균 채널 왜곡에 기초하여 상기 픽처의 매크로블록의 예상 왜곡을 계산하고,
    상기 이미지 블록은 인터 모드 또는 SKIP 모드로 코딩되는, 이미지 블록에서 예상 왜곡을 결정하기 위한 장치.
  15. 이미지 블록에서 예상 왜곡을 결정하기 위한 방법으로서,
    인터 코딩된 블록의 모션 벡터 및 디블록킹 필터 동작을 사용하여, 비디오 시퀀스 픽처에 포함되고 손실 채널을 통해 송신되는 인터 코딩된 블록의 예상 왜곡을 계산하는 단계(330)를 포함하고,
    상기 계산 단계는, 기준 프레임을 이용하는 매크로 블록에 대한 평균 제곱 양자화 에러, 및 상기 디블록킹 필터링 동작에 사용되고, 비정수 값 모션 벡터로 언급되는 비정수 위치에 가장 근접한 위치를 갖는 적어도 2개의 정수 픽셀을 이용하는 기준 프레임의 모션 보상 블록의 가중 예상 평균 채널 왜곡에 기초하여 상기 픽처의 매크로블록의 예상 왜곡을 계산하고,
    상기 이미지 블록은 인터 모드 또는 SKIP 모드로 코딩되는, 이미지 블록에서 예상 왜곡을 결정하기 위한 방법.
  16. 이미지 블록에서 예상 왜곡을 결정하기 위한 장치로서,
    비디오 시퀀스 픽처에 포함되고 손실 채널을 통해 송신되는 블록의 예상 왜곡을 계산하기 위한 인코더(100)를 포함하고,
    상기 인코더는 상기 블록에 대한 모션 벡터 및 코딩 모드를 기반으로 하고 디코더 에러 은닉 동작(decoder error concealment operation)을 사용하여 상기 예상 왜곡을 계산하고, 상기 블록에 대한 모션 벡터는 비정수 값이고, 상기 은닉으로부터의 왜곡은 예상 채널 왜곡 및 원래 픽셀(original pixel)과 기준 프레임 및 상기 모션 벡터를 이용하는 예측 값간의 DFD(displaced frame difference) 제곱 평균에 기초하는, 이미지 블록에서 예상 왜곡을 결정하기 위한 장치.
  17. 제16항에 있어서,
    상기 디코더 에러 은닉 동작은 프레임 카피(frame copy) 동작인, 이미지 블록에서 예상 왜곡을 결정하기 위한 장치.
  18. 제16항에 있어서,
    상기 디코더 에러 은닉 동작은 상기 블록에 대한 인코더 모션 벡터 및 인코더 코딩 모드를 사용하는, 이미지 블록에서 예상 왜곡을 결정하기 위한 장치.
  19. 제16항에 있어서,
    상기 디코더 에러 은닉 동작은 이전 픽처에 대응한 인코더 모션 벡터 및 인코더 코딩 모드를 카피하는, 이미지 블록에서 예상 왜곡을 결정하기 위한 장치.
  20. 제16항에 있어서,
    상기 디코더 에러 은닉 동작은 모션 보상된 임시 예측을 사용하고, 상기 인코더(100)는 상기 블록이 픽처에서 손실될 때에만 상기 디코더 에러 은닉 동작을 사용하여 계산된 은닉 왜곡과, 상기 블록에 대한 모션 벡터에 의해 지시되는 기준 픽처에서 모션 보상된 블록에서의 채널 왜곡을 합산함으로써 상기 예상 왜곡을 계산하고, 상기 채널 왜곡은 스케일링 인자에 의해 스케일 다운되고, 상기 은닉 왜곡은 상기 기준 픽처에서 상기 모션 보상된 블록에서의 인코딩된 픽셀값을 기반으로 계산되는, 이미지 블록에서 예상 왜곡을 결정하기 위한 장치.
  21. 이미지 블록에서 예상 왜곡을 결정하기 위한 방법으로서,
    비디오 시퀀스 픽처에 포함되고 손실 채널을 통해 송신되는 블록의 예상 왜곡을 계산하는 단계(330)를 포함하고,
    상기 계산 단계는 상기 블록에 대한 모션 벡터 및 코딩 모드를 기반으로 하며 디코더 에러 은닉 동작을 사용하여 상기 예상 왜곡을 계산하고, 상기 블록을 위한 모션 벡터는 비정수 값을 가지고, 상기 은닉으로부터의 왜곡은 예상 채널 왜곡 및 원래 픽셀과 기준 프레임 및 상기 모션 벡터를 이용하는 예측 값간의 DFD 제곱 평균에 기초하는, 이미지 블록에서 예상 왜곡을 결정하기 위한 방법.
  22. 제21항에 있어서,
    상기 디코더 에러 은닉 동작은 프레임 카피 동작인(315), 이미지 블록에서 예상 왜곡을 결정하기 위한 방법.
  23. 제21항에 있어서,
    상기 디코더 에러 은닉 동작은 상기 블록에 대한 인코더 모션 벡터 및 인코더 코딩 모드를 사용하는(310), 이미지 블록에서 예상 왜곡을 결정하기 위한 방법.
  24. 제21항에 있어서,
    상기 디코더 에러 은닉 동작은 이전 픽처에 대응한 인코더 코딩 모드와 인코더 모션 벡터를 카피하는(430), 이미지 블록에서 예상 왜곡을 결정하기 위한 방법.
  25. 제21항에 있어서,
    상기 디코더 에러 은닉 동작은 모션-보상된 임시 예측을 사용하고, 상기 계산 단계는 상기 블록이 상기 픽처에서 손실될 때에만 상기 디코더 에러 은닉 동작을 사용하여 계산된 은닉 왜곡과, 상기 블록에 대한 모션 벡터에 의해 지시되는 기준 픽처에서 모션 보상된 블록에서의 채널 왜곡을 합산함으로써 상기 예상 왜곡을 계산하고, 상기 채널 왜곡은 스케일링 인자에 의해 스케일링 다운되고, 상기 은닉 왜곡은 상기 기준 픽처에서 상기 모션 보상된 블록에서 인코딩된 픽셀값을 기반으로 계산되는(430), 이미지 블록에서 예상 왜곡을 결정하기 위한 방법.
KR1020097004321A 2006-08-28 2007-08-21 디코딩된 비디오 블록에서 예상 왜곡을 결정하기 위한 방법및 장치 KR101351730B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US82374806P 2006-08-28 2006-08-28
US60/823,748 2006-08-28
PCT/US2007/018480 WO2008027249A2 (en) 2006-08-28 2007-08-21 Method and apparatus for determining expected distortion in decoded video blocks

Publications (2)

Publication Number Publication Date
KR20090060994A KR20090060994A (ko) 2009-06-15
KR101351730B1 true KR101351730B1 (ko) 2014-01-16

Family

ID=38984247

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097004321A KR101351730B1 (ko) 2006-08-28 2007-08-21 디코딩된 비디오 블록에서 예상 왜곡을 결정하기 위한 방법및 장치

Country Status (7)

Country Link
US (1) US8457202B2 (ko)
EP (1) EP2057845A2 (ko)
JP (2) JP2010503264A (ko)
KR (1) KR101351730B1 (ko)
CN (3) CN102752597A (ko)
BR (1) BRPI0715952A2 (ko)
WO (1) WO2008027249A2 (ko)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8213509B2 (en) 2006-10-06 2012-07-03 Calos Fund Limited Liability Company Video coding on parallel processing systems
WO2009084868A2 (en) * 2007-12-27 2009-07-09 Lg Electronics Inc. Method of transmitting data in wireless communication system
FR2932050B1 (fr) * 2008-06-03 2010-05-21 Canon Kk Procede et dispositif de transmission de donnees video
US8184705B2 (en) * 2008-06-25 2012-05-22 Aptina Imaging Corporation Method and apparatus for motion compensated filtering of video signals
WO2010010942A1 (ja) * 2008-07-25 2010-01-28 ソニー株式会社 画像処理装置および方法
US8385404B2 (en) 2008-09-11 2013-02-26 Google Inc. System and method for video encoding using constructed reference frame
KR20100095992A (ko) 2009-02-23 2010-09-01 한국과학기술원 비디오 부호화에서의 분할 블록 부호화 방법, 비디오 복호화에서의 분할 블록 복호화 방법 및 이를 구현하는 기록매체
US8600179B2 (en) * 2009-09-17 2013-12-03 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding image based on skip mode
KR101064883B1 (ko) * 2009-10-06 2011-09-16 한국과학기술원 왜곡 측정 방법
US20120243611A1 (en) * 2009-12-22 2012-09-27 Sony Corporation Image processing apparatus and method as well as program
KR101813189B1 (ko) * 2010-04-16 2018-01-31 에스케이 텔레콤주식회사 영상 부호화/복호화 장치 및 방법
US8503528B2 (en) 2010-09-15 2013-08-06 Google Inc. System and method for encoding video using temporal filter
US8976856B2 (en) * 2010-09-30 2015-03-10 Apple Inc. Optimized deblocking filters
US8638854B1 (en) 2011-04-07 2014-01-28 Google Inc. Apparatus and method for creating an alternate reference frame for video compression using maximal differences
US9154799B2 (en) 2011-04-07 2015-10-06 Google Inc. Encoding and decoding motion via image segmentation
GB2492330B (en) 2011-06-24 2017-10-18 Skype Rate-Distortion Optimization with Encoding Mode Selection
GB2492329B (en) * 2011-06-24 2018-02-28 Skype Video coding
GB2492163B (en) * 2011-06-24 2018-05-02 Skype Video coding
GB2493777A (en) 2011-08-19 2013-02-20 Skype Image encoding mode selection based on error propagation distortion map
GB2495467B (en) 2011-09-02 2017-12-13 Skype Video coding
GB2495468B (en) 2011-09-02 2017-12-13 Skype Video coding
GB2495469B (en) 2011-09-02 2017-12-13 Skype Video coding
GB2495990A (en) * 2011-10-28 2013-05-01 Canon Kk Motion compensated image coding with omission of coding mode cost calculation for a motion predictor in a set.
KR20130050403A (ko) * 2011-11-07 2013-05-16 오수미 인터 모드에서의 복원 블록 생성 방법
KR101830352B1 (ko) 2011-11-09 2018-02-21 에스케이 텔레콤주식회사 스킵모드를 이용한 동영상 부호화 및 복호화 방법 및 장치
US9036573B2 (en) * 2012-03-09 2015-05-19 Neocific, Inc. Multi-carrier modulation with hierarchical resource allocation
US9609341B1 (en) 2012-04-23 2017-03-28 Google Inc. Video data encoding and decoding using reference picture lists
WO2013162980A2 (en) 2012-04-23 2013-10-31 Google Inc. Managing multi-reference picture buffers for video data coding
US9014266B1 (en) 2012-06-05 2015-04-21 Google Inc. Decimated sliding windows for multi-reference prediction in video coding
US10904551B2 (en) * 2013-04-05 2021-01-26 Texas Instruments Incorporated Video coding using intra block copy
US10003792B2 (en) 2013-05-27 2018-06-19 Microsoft Technology Licensing, Llc Video encoder for images
US9756331B1 (en) 2013-06-17 2017-09-05 Google Inc. Advance coded reference prediction
US20160249069A1 (en) * 2013-10-22 2016-08-25 Vid Scale, Inc. Error concealment mode signaling for a video transmission system
US10136140B2 (en) 2014-03-17 2018-11-20 Microsoft Technology Licensing, Llc Encoder-side decisions for screen content encoding
US10924743B2 (en) 2015-02-06 2021-02-16 Microsoft Technology Licensing, Llc Skipping evaluation stages during media encoding
US10038917B2 (en) 2015-06-12 2018-07-31 Microsoft Technology Licensing, Llc Search strategies for intra-picture prediction modes
US10136132B2 (en) 2015-07-21 2018-11-20 Microsoft Technology Licensing, Llc Adaptive skip or zero block detection combined with transform size decision
US10425656B2 (en) * 2016-01-19 2019-09-24 Peking University Shenzhen Graduate School Method of inter-frame prediction for video encoding and decoding
US10511853B2 (en) * 2016-11-24 2019-12-17 Ecole De Technologie Superieure Method and system for parallel rate-constrained motion estimation in video coding
US10735736B2 (en) 2017-08-29 2020-08-04 Google Llc Selective mixing for entropy coding in video compression
US10469869B1 (en) * 2018-06-01 2019-11-05 Tencent America LLC Method and apparatus for video coding
WO2020242738A1 (en) * 2019-05-26 2020-12-03 Alibaba Group Holding Limited Ai-assisted programmable hardware video codec
US11388415B2 (en) * 2020-05-12 2022-07-12 Tencent America LLC Substitutional end-to-end video coding

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006078595A2 (en) * 2005-01-18 2006-07-27 Thomson Licensing Method and apparatus for estimating channel induced distortion

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6414992B1 (en) * 1999-01-27 2002-07-02 Sun Microsystems, Inc. Optimal encoding of motion compensated video
GB2362533A (en) * 2000-05-15 2001-11-21 Nokia Mobile Phones Ltd Encoding a video signal with an indicator of the type of error concealment used
CN1134174C (zh) * 2001-06-08 2004-01-07 清华大学 地面数字电视广播中的视频差错隐藏方法
WO2004064373A2 (en) * 2003-01-09 2004-07-29 The Regents Of The University Of California Video encoding methods and devices
JP2006157668A (ja) * 2004-11-30 2006-06-15 Ntt Advanced Technology Corp 映像品質測定装置および映像品質測定方法ならびにそのプログラム
US20070030894A1 (en) * 2005-08-03 2007-02-08 Nokia Corporation Method, device, and module for improved encoding mode control in video encoding
US7944965B2 (en) * 2005-12-19 2011-05-17 Seiko Epson Corporation Transform domain based distortion cost estimation
WO2007084475A2 (en) 2006-01-17 2007-07-26 Thomson Licensing Methods and apparatus for low complexity error resilient motion estimation and coding mode selection
EP2266318B1 (en) * 2008-03-19 2020-04-22 Nokia Technologies Oy Combined motion vector and reference index prediction for video coding

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006078595A2 (en) * 2005-01-18 2006-07-27 Thomson Licensing Method and apparatus for estimating channel induced distortion
WO2006078595A3 (en) * 2005-01-18 2006-11-09 Thomson Licensing Method and apparatus for estimating channel induced distortion

Also Published As

Publication number Publication date
CN102098517A (zh) 2011-06-15
CN101513071A (zh) 2009-08-19
US8457202B2 (en) 2013-06-04
US20100239015A1 (en) 2010-09-23
EP2057845A2 (en) 2009-05-13
JP2014039321A (ja) 2014-02-27
CN101513071B (zh) 2013-09-11
CN102752597A (zh) 2012-10-24
WO2008027249A3 (en) 2008-04-17
JP2010503264A (ja) 2010-01-28
CN102098517B (zh) 2014-05-07
BRPI0715952A2 (pt) 2013-07-30
WO2008027249A2 (en) 2008-03-06
KR20090060994A (ko) 2009-06-15

Similar Documents

Publication Publication Date Title
KR101351730B1 (ko) 디코딩된 비디오 블록에서 예상 왜곡을 결정하기 위한 방법및 장치
RU2740783C1 (ru) Кодирование и декодирование видео
KR101313956B1 (ko) 스위칭된 보간 필터들에서의 오프셋 계산
JP5261774B2 (ja) 動画像スケーラブル符号化方法及び復号方法、それらの装置、それらのプログラム並びにプログラムを記録した記録媒体
JP4724351B2 (ja) 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法、および通信装置
EP1980115B1 (en) Method and apparatus for determining an encoding method based on a distortion value related to error concealment
JP5547198B2 (ja) 補間フィルタおよびオフセットを用いたデジタルビデオコーディング
JP4659823B2 (ja) 予測フレームにおける重み付き予測に関する方法及び装置
CN102823250B (zh) 图像编码装置、图像解码装置、图像编码方法以及图像解码方法
JP5303470B2 (ja) 歪みの推定
US7822116B2 (en) Method and system for rate estimation in a video encoder
US9571851B2 (en) Inter prediction method and apparatus using adjacent pixels, and image encoding/decoding method and apparatus using same
KR20090034697A (ko) 부화소 움직임 추정을 이용한 인터 예측 부호화, 복호화방법 및 장치
MXPA06010360A (es) Metodos y aparato para tomar decisiones en modo rapido en codecs de video.
JP5100658B2 (ja) ビデオ画像符号化方法及び装置
JP5670226B2 (ja) 動画像符号化装置、動画像符号化方法、およびプログラム
CN112075078A (zh) 合成式预测及限制性合并
JP2007251815A (ja) 再符号化装置及び再符号化用プログラム
JP5513333B2 (ja) 動画像符号化装置、動画像符号化方法、およびプログラム
JP4375143B2 (ja) 動画像符号化装置
JP4697802B2 (ja) 動画像予測符号化方法および装置
KR101527150B1 (ko) 동영상 부호화/복호화 장치 및 그를 위한 화소 기반 적응중첩 블록 움직임 보상 장치 및 방법
KR101379189B1 (ko) 움직임 보상 프레임의 필터링을 이용한 영상 부호화/복호화 방법 및 장치
KR20070109556A (ko) 부호화 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee