KR102146583B1 - 오류 전파 추적 및 수신기로부터의 오류 피드백을 이용한 비디오 리프레시 기법 - Google Patents

오류 전파 추적 및 수신기로부터의 오류 피드백을 이용한 비디오 리프레시 기법 Download PDF

Info

Publication number
KR102146583B1
KR102146583B1 KR1020147005587A KR20147005587A KR102146583B1 KR 102146583 B1 KR102146583 B1 KR 102146583B1 KR 1020147005587 A KR1020147005587 A KR 1020147005587A KR 20147005587 A KR20147005587 A KR 20147005587A KR 102146583 B1 KR102146583 B1 KR 102146583B1
Authority
KR
South Korea
Prior art keywords
frames
encoding
distortion
error propagation
frame
Prior art date
Application number
KR1020147005587A
Other languages
English (en)
Other versions
KR20140056316A (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 KR20140056316A publication Critical patent/KR20140056316A/ko
Application granted granted Critical
Publication of KR102146583B1 publication Critical patent/KR102146583B1/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/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/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/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/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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
    • 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
    • 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
    • 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/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

Landscapes

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

Abstract

복수의 프레임 각각에 비디오 이미지를 엔코딩하는 단계―상기 엔코딩 단계는 상기 프레임 중 일부 프레임의 적어도 일부분을 엔코드하기 위해 인터 프레임 엔코딩을 이용함으로써, 엔코드된 비디오 스트림을 생성하는 것을 포함함―와; 디코드된 비디오를 생성하기 위해 상기 엔코드된 비디오 스트림을 수신기에서 디코드될 손실성 채널을 통해 송신하는 단계와; 상기 비디오 이미지의 엔코딩을 리프레시하기 위해, 상기 채널을 통한 손실의 존재시 인터 예측의 영향으로 인해 상기 디코드된 비디오내에 출현하는 오류 전파를 차단하면서 복구 동작을 수행하는 단계를 포함하되, 상기 복구 동작은 손실을 나타내는 상기 수신기로부터 피드백된 보고(report)에 의해 트리거되고, 상기 복구 동작은 상이한 각각의 프레임에서 상이한 부분 프레임 영역의 엔코딩을 리프레싱하면서 복수의 프레임에 대해 수행되는 방법.

Description

오류 전파 추적 및 수신기로부터의 오류 피드백을 이용한 비디오 리프레시 기법{VIDEO REFRESH WITH ERROR PROPAGATION TRACKING AND ERROR FEEDBACK FROM RECEIVER}
본 발명은 오류성 채널을 통한 엔코드된 비디오의 송신에 관한 것이다. 본 발명은 (배타적인 것은 아니지만) 특히 실시간으로 비디오 스트림을 엔코딩할 때 적용 가능한 것으로, 다시 말해서, 예컨대 엔코더가 카메라 등으로부터 비디오 스트림을 수신하는 대로 송신을 위해 이 스트림을 동적으로 엔코드하는 화상 통화(video call)에서처럼 라이브 비디오 스트림(live video stream)에 적용 가능한 것이다.
엔코드될 비디오 데이터의 스트림이 도 1a에 개략적으로 예시된다. 이 스트림은 다중의 프레임(F)을 포함하고, 각각의 프레임은 상이한 각각의 시점에서 비디오 이미지를 나타내고 있다. 당업자에게 익숙한 바와 같이, 엔코딩을 위해 각각의 프레임(F)은 부분들(portions)로 분할되고, 각각의 부분은 다시 더 작은 서브 부분(sub-portions)으로 분할될 수 있으며, 이때 각각의 부분 혹은 서브 부분은 복수의 픽셀을 포함하고 있다. 예를 들어, 어느 한 기술에 따르면, 엔코드될 비디오 스트림의 각 프레임은 매크로블록(MB;macroblock)으로 분할되고, 각각의 매크로블록은 블록 혹은 서브 블록(b)으로 세분되며, 이때 각각의 블록 혹은 서브 블록은 다중의 픽셀을 포함하고 있다. 각각의 프레임은 또한 독립적으로 디코드 가능한 슬라이스(S;slice)로 분할될 수 있는데, 각각의 슬라이스는 하나 이상의 매크로블록을 포함한다. 주의: 도 1a에 도시된 분할은 단지 예시를 위해 개략적으로 도시된 것이며, 이것이 반드시 모든 실제 엔코딩 방식에 해당함을 의미하지는 않으며, 예컨대 각각의 프레임은 더 많은 수의 매크로블록을 포함할 수도 있다.
비디오 코딩이 채용될 수 있는 예시의 통신 시스템이 도 2의 블록도에 개략적으로 예시되어 있다. 통신 시스템은 제 1의 송신 단말기(12)와 제 2 수신 단말기(22)를 포함한다. 예를 들어, 각각의 단말기(12, 22)는 모바일 폰이나 스마트 폰, 태블릿, 랩탑 컴퓨터 또는 데스크탑 컴퓨터를 포함할 수 있고, 혹은 예컨대 텔레비젼 세트, 셋톱 박스, 스테레오 시스템 등과 같은 다른 가정용 전자제품을 포함할 수도 있다. 제 1 및 제 2 단말기(12, 22)는 각기 통신 네트워크(32)와 동작적으로 접속되어 있고, 이로써 제 1 송신 단말기(12)는 제 2 수신 단말기(22)에 의해 수신될 신호를 송신하도록 배열되어 있다. 물론 송신 단말기(12)가 수신 단말기(22)로부터 신호를 수신할 수도 있고, 그 반대의 경우도 가능하지만, 설명을 위해, 본원에서 송신은 제 1 단말기(12)의 관점으로 설명되며, 수신은 제 2 단말기(22)의 관점으로 설명된다. 통신 네트워크(32)는 예를 들어 광역 인터넷 및/또는 근거리 네트워크같은 패킷 기반 네트워크 및/또는 모바일 셀룰러 네트워크를 포함할 수 있다.
제 1 단말기(12)는 예컨대 플래시 메모리나 다른 전자적 메모리, 자기적 저장 장치 및/또는 광학적 저장 장치같은 저장 매체(14)를 포함할 수 있다. 제 1 단말기(12)는 또한 처리 장치(16)를 포함할 수 있는데, 이 처리 장치(16)는 하나 이상의 코어를 갖는 CPU 형태의 처리 장치(16)와, 예컨대 적어도 하나의 송신기(18)를 갖는 유선 혹은 무선 모뎀같은 송수신기와, 단말기(12)의 나머지 부분으로서 동일한 케이싱(casing)에 내장되거나 혹은 외장될 수 있는 비디오 카메라(15)를 포함할 수 있다. 저장 매체(14), 비디오 카메라(15) 및 송신기(18)는 각각 처리 장치(16)와 동작적으로 접속되고, 송신기(18)는 유선 혹은 무선 링크를 통해 네트워크932)에 동작적으로 접속된다. 마찬가지로, 제 2 단말기(22)는 예컨대 전자적, 자기적 및/또는 광학적 저장 장치같은 저장 매체(24)와, 하나 이상의 코어를 갖는 CPU 형태의 처리 장치(26)를 포함할 수 있다. 제 2 단말기는 예컨대 적어도 하나의 수신기(28)를 갖는 유선 혹은 무선 모뎀같은 송수신기와, 단말기(22)의 나머지로서 동일한 케이싱에 내장되거나 외장될 수 있는 스크린(25)을 포함한다. 제 2 단말기의 저장 매체(24), 스크린(25) 및 수신기(28)는 각기 각각의 처리 장치(26)에 동작적으로 접속되고, 수신기(28)는 유선 혹은 무선 링크를 통해 네트워크에 동작적으로 접속된다.
제 1 단말기(12)상의 저장 매체(14)는 처리 장치(16)에서 실행되도록 배열된 적어도 하나의 비디오 엔코더를 저장한다. 실행시, 엔코더는 비디오 카메라(15)로부터 "원시(raw)" (엔코드되지 않은) 입력 비디오 스트림을 수신하여, 이것을 낮은 비트레이트 스트림(lower bitrate stream)으로 압축하기 위해 비디오 스트림을 엔코드하며, 송신기(18)와 통신 네트워크(32)를 통해 제 2 단말기(22)의 수신기(28)로 송신하기 위해 엔코드된 비디오 스트림을 출력한다. 제 2 단말기(22)의 저장 매체는 제 2 단말기 자체의 처리 장치(26)에서 실행되도록 배열된 적어도 하나의 비디오 디코더를 저장한다. 실행시, 디코더는 수신기(28)로부터 엔코드된 비디오 스트림을 수신하고, 스크린(25)에 출력하기 위해 이것을 디코드한다. 엔코더 및/또는 디코더를 지칭하는데 이용될 수 있는 일반적인 용어는 코덱(codec)이다.
일부 시스템에서, 수신 단말기(22)의 디코더는 피드백 채널을 통해 송신 단말기(12)의 엔코더에 피드백을 전송하도록 배열될 수 있는데, 바람직하게는 동일한 패킷 기반 네트워크(32)를 통해 피드백을 전송하도록 배열될 수 있다.
비디오 코덱의 목표는 품질을 가능한 최고로 유지하면서 비디오 신호를 송신하는데 요구되는 비트 레이트를 줄이는 것이다. 이 목표는 통계적 중복성(statistical redundancies)(비디오 신호에서의 유사성)과 (인간의 시각계의 민감성과 관련있는) 지각적 무관성(perceptual irrelevancies)을 잘 활용함으로써 달성된다.
오늘날의 비디오 코덱의 대부분은 다른 픽셀 블록으로부터 픽셀 블록 예측, 예측 잔차(prediction residuals)의 변환, 변환 계수의 양자화 및 양자화 인덱스(quantization index)의 엔트로피 코딩(entropy coding)을 포함하는 아키텍처에 기반한다. 이러한 단계들은 중복성과 무관성을 줄이는데 공헌한다.
예측은 전형적으로 현재 프레임이 아닌 비디오 프레임의 픽셀로부터 수행될 수도 있고(인터 예측(inter prediction)), 동일한 프레임의 픽셀로부터 수행될 수도 있다(인트라 예측(intra prediction)). 즉, 만약에 인트라 프레임 엔코딩을 이용하여 엔코드되면, 프레임의 블록, 서브 블록 혹은 다른 부분(목표 블록 혹은 부분)은 동일한 프레임내의 다른 블록, 서브 블록 또는 이미지 부분(기준 블록 혹은 부분)에 대해 엔코드되고, 만약에 인터 프레임 엔코딩을 이용하여 엔코드되면, 목표 블록 혹은 부분은 다른 프레임의 기준 블록 혹은 부분에 대해 엔코드된다. 이러한 프로세스는 흔히 예측 혹은 예측 코딩으로 불린다. 그러므로 인터 혹은 인트라 예측 모듈은 예컨대 인트라 프레임 엔코딩의 경우에는 이웃 블록 혹은 서브 블록의 표시(indication)의 형태로 예측을 생성하고/하거나, 인터 프레임 엔코딩의 경우에는 움직임 벡터의 형태로 예측을 생성할 것이다. 전형적으로 엔코더는 예측 블록과 실제 블록(혹은 예측 서브 블록과 실제 서브 블록 등등)사이의 "잔류하는(left over)" 차이를 나타내는 잔차 신호도 생성한다. 이후에, 잔차 움직임 벡터와 인트라 예측과 연관된 임의의 요구되는 데이터는 보통 예컨대 양자화 및 엔트로피 엔코더같은 코딩 단계를 통해 엔코드된 비디오 스트림에 출력된다. 그러므로 비디오내의 대부분의 블록은 블록들 사이의 차이와 관련해 엔코드될 수 있고, 이것은 절대 픽셀값을 엔코딩하는 것보다 엔코드에 더 적은 비트를 요구하므로 비트레이트를 절약한다. 인트라 예측 엔코딩은 절대값을 엔코딩하는 동안 절약을 나타내긴 하지만 보통 인터 예측보다 더 많은 비트를 요구한다. 비디오에 대한 적절한 인터 및 인트라 엔코딩 기술의 세부사항들은 당업자에게 익숙할 것이다.
인트라 코딩의 일 예가 도 1b에 개략적으로 예시되며, 인터 코딩의 일 예는 도 1c에 개략적으로 예시된다. 인트라 코딩에서, 목표 블록 혹은 서브 블록 b의 위로부터 또는/및 왼쪽으로의 픽셀(이것은 모두 동일 프레임내에 있음)이 목표 블록 또는 서브 블록의 픽셀의 예측에 이용된다. 이 프로세스는 인트라 예측이라 불린다. 또한, 인트라 예측으로부터의 잔차 역시 변환, 양자화 및 엔트로피 코드화될 수 있다. 인터 엔코딩 예에서, 목표 블록 혹은 서브 블록 b1의 픽셀은 움직임 벡터에 의해 목표 블록 혹은 서브 블록 b1으로부터 오프셋되어(블록의 분수 혹은 픽셀의 분수만큼 오프셋될 가능성과 함께) 이전 프레임내의 대응 에어리어에 기반하여 예측된다. 이 프로세스는 인터 예측으로 불린다. 인터 예측으로부터의 잔차 역시 인트라 예측 잔차와 유사하게 변환, 양자화 및 엔트로피 코드화될 것이다.
다음의 문서들이 참조되었다.
[1] ITU-T, 권고 H.264, "Advanced video coding for generic audiovisual services", 2007
[2] Zhang 등의 "Error resilience video coding in H.264 encoder with potential distortion tracking", In Proc. IEEE International Conference on Image Processing, pp.163-166, 2004
[3] Vadapalli 등의 "Low-complexity frame-level joint source-channel distortion optima;, adaptive intra refresh" In Proc. IEEE Workshop on Multimedia Signal processing, pp474-480, 2008.
종래의 시스템에서, 피드백 채널은 프레임이 수신 단말기(22)에서 손실되는 것을 경험하는 송신 단말기(12)의 엔코더로 신호를 되돌려 보내는데 이용된다(손실 보고(loss report)). 피드백 채널은 또한 프레임이 수신 단말기(22)에 성공적으로 수신된 엔코더로 신호를 되돌려보내는데 이용되기도 한다(확인 응답(acknowledgement)). 전형적으로, 손실 프레임은 디코드된 비디오에 심각한 왜곡을 유발하고, 이것은 조치가 취해지지 않는 한 오랜 시간동안 지속될 수 있다. 이러한 조치중 하나는, 디코더로부터 특정 프레임이 손실된 엔코더로 보고를 한 다음에 이 엔코더에게 "복구 프레임(recovery frame)"을 생성하도록 강제하는 것으로, 이러한 복구 프레임은 수신 및 디코드될 때의 오류 전파를 중지시킬 것이다. 복구 프레임은 예컨대 키 프레임(key-frame)(즉, 모두 인트라 코드화됨)일 수도 있고, 또는 디코더에서 이용 가능한 것으로 알려진(수신시 그 자체가 확인 응답되고 그 이력과 관련한 다른 것도 확인 응답되므로 오류가 없는 것으로 알려진) 비오류 프레임에 대해 인터 코드화된 프레임일 수도 있다. 후자는 일반적으로 전자와 비교할 때 소정의 품질에서 더 낮은 비트레이트를 초래한다. 복구 프레임을 전송하는 것과 관련한 단점들은 비트레이트 오버슈트(bitrate overshoots)(레이트 스파이크(rate spikes))이거나 또는 대안적으로 소스 코딩 왜곡의 증가이다. 비트레이트 오버슈트는 차후에 새로운 손실을 초래하거나 또는 엔코더로 하여금 프레임을 누락시키게 하며, 급격한 증가 소스 코딩 왜곡은 지각적으로 교란을 일으킬 가능성이 있다.
다른 접근법이 Zhang 등[2]에 의해 다루어졌다. Zhang은 복구 프레임을 사용하지 않고 모드 선택 프로세스를 수행하는데, 모드 선택 프로세스는 채널의 선험적인 확률 모델(a priori probabilistic model)에 기반하여 레이트-왜곡 사이의 트레이드 오프(trade-off)를 최적화하려고 시도하는 방식으로 (인트라 모드 및 인터 모드를 포함한) 상이한 엔코딩 모드들을 선택한다.
현대의 코덱은 한 프레임내부의 상이한 부분들에 대해 상이한 예측 엔코딩 모드의 이용을 허용한다. 상이한 코딩 옵션을 갖는 것이 가능하다는 것은 비디오 코덱의 레이트-왜곡 효율을 증가시킨다. 최적의 코딩 표현은 모든 프레임 영역에 대해 발견되어져야 한다. 전형적으로, 이러한 영역은 에컨대 16X16 픽셀의 매크로블록이다. 다시 말해서, 인트라 예측 혹은 인터 예측 모드가 각각의 매크로블록에 대히 개별적으로 선택될 수 있으므로, 동일 프레임 내의 상이한 매크로블록들은 상이한 모드로 엔코드될 수 있다. 또한 일부 코덱에서는 매크로블록을 상이한 레벨로 파티셔닝(partitioning)한 것에 기반하여 상이한 모드를 이용하는 것이 가능한데, 예컨대 매크로블록 내부의 각각의 4X4 서브 블록에 대해 별개의 예측이 수행되는 더 복잡한 모드와, 단지 8X8 블록이나 8X16 블록에만 기반하거나 또는 매크로블록을 통째로 기반하여 예측이 수행되는 보다 덜 복잡한 모드 사이에서 선택하는 것이 가능하다. 이용 가능한 모드들은 예측을 수행하기 위한 상이한 옵션을 포함할 수도 있다. 예를 들면, 도 1b에 개략적으로 예시된 것처럼, 하나의 인트라 모드에서, 4X4 서브 블록의 픽셀들이 바로 위 서브 블록의 이웃 픽셀들로부터 아래로 추론에 의해 결정되거나 혹은 바로 좌측의 서브 블록으로부터 수평으로 추론에 의해 결정될 수 있다. "스킵 모드(skip mode)"로 불리는 다른 특별한 예측 모드도 일부 코덱에서 제공될 수 있는데, 이것은 인터 모드의 대안 유형으로 고려될 수 있다. 스킵 모드(PSkip) 모드에서, 목표의 움직임 벡터는 상부를 향한 움직임 벡터와 좌측을 향한 움직임 벡터레 기반하여 추론되고, 잔차 계수(residual coefficients)의 엔코딩은 존재하지 않는다. 움직임 벡터가 추론되는 방식은 움직임 벡터 예측과 일치하므로, 움직임 벡터 차이는 0이며, 매크로블록이 스킵 블록임을 신호하는 것만이 요구된다.
그러므로 코딩 표현은 블록 파티션 정보(block partition information), 예측 모드, 움직임 벡터, 양자화 정확도 등을 포함할 것이다. 최적의 코딩 옵션은 비디오 콘텐츠, 비트레이트, 초기 코딩 판정 등에 좌우된다. 변환 계수의 양자화의 정확도는 전형적으로 비트레이트 제약조건을 충족하도록 선정된다. 더 나아가, 왜곡은 최소화되어야 한다.
예를 들어, H.264 비디오 코더는 예측 모드 [1]를 선정함에 있어 상당한 유연성을 제공한다. 휘도 성분(luma component)의 인터 예측인 경우, 16X16 픽셀의 매크로블록은 하나의 16X16 픽셀 블록이나 두 개의 16X8 픽셀 블록, 혹은 2개의 8X16 픽셀 블록 또는 4개의 8X8 픽셀 블록으로 표현될 수 있다. 또한, 8X8 블록은 하나의 8X8 픽셀 블록이나 두 개의 8X4 픽셀 서브 블록, 혹은 두 개의 4X8 픽셀 서브 블록, 또는 4개의 4X4 픽셀 서브 블록으로 표현될 수 있다. 매크로블록에서 각각의 허용된 파티션에 대해 인터 예측이 시도된다. 블록의 인터 예측은 기준 프레임과 움직임 벡터(각각의 기준 프레임내의 기준 블록으로부터의 공간적 편이(spatial shift))를 인덱싱함으로써 표현되는데, 이것은 전형적으로 서브 픽셀 예측으로 추정된다. 휘도 성분의 인트라 예측인 경우, 16X16 블록에 대해서는 4개의 가능한 모드가 존재하고, 4X4 서브 블록에 대해서는 9개의 모드가 존재한다. 또한, 채도 성분(chroma component)에 대해서는 4개의 가능한 모드가 존재한다. 가장 양호한 예측 모드는 인터 예측 모드와 인트라 예측 모드의 성능을 비교하여 선정된다.
H.264 AVC [1]같은 비디오 코덱의 레이트 왜곡 성능(rate-distortion performance)은 매크로블록 모드 선택 ο의 성능에 대해 상당 부분 의존한다. 다시 말해서, 매크로블록이 가장 잘 엔코드되었는지를 결정하는 프로시저는 레이트 왜곡면에서 인트라 모드 또는 인터 모드를 이용하여 트레이드 오프를 구현한다. 강건성(robustness) 관점에서, 인트라 코드화된 매크로블록이 유리한데, 그 이유는 인트라 코드화된 매크로블록은 (제한된 인트라 예측의 이용을 가정하면, 즉, 인터 예측된 매크로블록으로부터 인트라 예측이 금지되는 것을 가정하면) 시간적 오류 전파를 중단시키기 때문이다. 그러나, 인트라 부호화된 매크로블록은 일반적으로 레이트면에서 인터 코드화된 매크로블록과 비교했을 때 더 비싸고, 그러므로 소정의 비트 버짓(bit budget) 및 채널 조건을 고려할 때 디코더에서의 왜곡(예컨대 평균 왜곡)이 최소화되도록 인트라 코드화된 매크로블록을 체계적으로 도입하는 것이 중요하다. Zhang 등[2]은 디코더에서 예상되는 평균 SSD(sum of squared differences;오차 제곱합)의 최소화에 기반하여 인트라 코드화된 매크로블록을 도입하기 위해 이러한 체계적 프레임워크를 제안한다. 잠재적인 왜곡을 추적함으로써, Zhang 등은 엔코더 레이트 왜곡 루프 내부의 인터 매크로블록에 대한 희생을 계산할 때 소스 코딩 왜곡에 부가되는 (디코더에서의) 예상된 오류 전파 왜곡과 관련된 바이어스 항목을 계산할 수 있다.
레이트 왜곡 최적화(RDO;rate-distortion optimization) 문제는 비트 레이트 제약조건 R 아래에서 왜곡을 최소화하는 면에서 공식화될 수 있다. 라그랑지 최적화 프레임워크(Lagrangian optimization framework)가 종종 이 문제를 풀기위해 이용되는데, 이에 따르면 최적화 기준은 다음과 같이 공식화될 수 있다.
Figure 112014020365139-pct00001
여기에서 J는 라그랑지 함수이고, D는 왜곡의 척도(모드 ο 및 매크로블록 m 혹은 매크로블록 서브 파티션의 함수)를 나타내며, R은 비트레이트이고, λ는 왜곡과 레이트 사이의 트레이드 오프를 정의하는 파라미터이다. 흔히 이용되는 왜곡의 척도는 원래 픽셀과 재구성된 픽셀 사의 오차 제곱합(SSD)이거나 원래 픽셀과 예측 픽셀 사이의 오차 절대합(SAD;sum of absolute differences)이다.
이 애플리케이션에서, 라그랑지 최적화 문제를 해결하는 것은 라그랑지 함수 J를 최소화하는 엔코딩 모드 ο를 발견하는 것을 의미하고, 여기서 라그랑지 함수 J는 적어도 왜곡을 나타내는 항목, 비트레이트를 나타내는 항목 및 이 둘 사이의 트레이드 오프를 나타내는 인수(factor)를 포함한다. 엔코딩 모드 ο가 완벽한 혹은 더 나은 품질의 엔코딩 모드로 변화되므로, 왜곡 항목 D는 감소할 것이다. 그러나, 동시에 레이트 항목 R은 증가할 것이고, λ에 의존하는 특정 포인트에서, R에서의 증가는 D에서의 감소보다 더 클 것이다. 그러므로, 수식 J은 어떤 최소값을 가질 것이고, 이것이 발생하는 엔코딩 모드 ο는 최적의 엔코딩 모드일 것으로 간주된다.
이런 의미에서, 비트레이트 R 혹은 λR 항목은 최적 엔코딩 모드가 지속적인 품질 증가를 못하게 한다는 점에서 최적화에 제한 사항을 배치한다. 최적 평형이 발견되는 모드는 λ에 좌우되므로, λ는 비트레이트와 왜곡 사이의 트레이드 오프를 나타내는 것으로 간주될 수 있을 것이다.
라그랑지 최적화는 흔히 코딩 판정을 선정하는 프로세스에 이용되고, 모든 프레임 영역(예컨대 모든 16X16 픽셀 매크로블록)에 대해 적용된다. 보통, 왜곡은 모든 프로세싱 단계에 대해 고려되도록 평가될 것이다. 이것은 예측, 변환 및 양자화를 포함한다. 더 나아가, 재구성된 픽셀을 계산하기 위해, 역 양자화, 역 변환 및 역 예측의 단계들이 수행되어져야 한다. SSD는 흔히 왜곡 기준으로 선호되는데, 그 이유는 이것이 SAD와 비교할 때 더 나은 품질을 만들기 때문이다. 통상적으로, 레이트는 예측을 설명하는 파라미터 및 양자화된 변환 계수를 포함하는 모든 필요한 파라미터의 코딩에 고려된다.
[2] Zhang 등에서, 저자는 소스 코딩에서 기인한 것뿐만 아니라 채널 오류,다시 말해서 신호가 채널을 통해 송신될 때 데이터의 손실로 인해 경험되는 오류에서 기인한 디코더에서의 잠재적인 왜곡을 추정한다. 추정된 잠재적인 왜곡은 이후에 모드 선택을 인트라 코딩으로 편향시키는데 간접적으로 이용된다(채널 오류의 가능성이 존재하는 경우). 이런 유형의 접근법을 본원에서는 손실 적응형 레이트-왜곡 최적화(LARDO;loss-adaptive rate-distortion optimization)으로 지칭할 것이다.
Zhang 등의 "종단 대 종단(end to end)" 왜곡 수식은 SSD 왜곡 척도에 기반하고, 매크로블록을 손실하는 베르누이 분포(Bernoulli distribution)를 가정한다. 최적 매크로블록 모드 ο opt 는 다음과 같이 주어진다.
Figure 112014020365139-pct00002
여기에서 D s (m,o)는 매크로블록 m과 매크로블록 모드 o에 대해 원래 픽셀과 재구성 픽셀 사이의 SSD 소스 코딩 왜곡을 나타내고, R은 총 레이트를 나타내며, λ는 왜곡 및 레이트 항목과 연관된 라그랑지 승수(lagrange multiplier)를 나타낸다.
Figure 112014020365139-pct00003
는 오류 전파에서 기인한 디코더내의 기준 매크로블록 내부의 예측된 왜곡을 나타낸다. 그러므로
Figure 112014020365139-pct00004
는 만약에 오류 전파 왜곡이 너무 클 경우에 인트라 코딩쪽으로 최적화를 편향시키는 바이어스 항목을 제공한다.
Figure 112014020365139-pct00005
는 인트라 코드화된 매크로블록 모드에 대해 0이다. 수식
Figure 112014020365139-pct00006
는 라그랑지 함수 J의 인스턴스로 간주될 수 있다. argmin o J의 값이 최소화되기 위한 인수(argument) o의 값을 출력한다.
[2]에서,
Figure 112014020365139-pct00007
항목은 객체의 움직임을 따르고, 현재 움직임 벡터를 이용하여 총 왜곡 맵으로부터 계산된다. 총 예상 오류 전파 왜곡 맵 D ep 는 오류 은폐(error concealment)의 성능으로 유도되며, 각각의 매크로블록 모드 선택 이후에 다음과 같이 갱신된다.
Figure 112014020365139-pct00008
여기에서 n은 프레임 번호이고, m(k)는 k번째 서브 파티션(즉, 매크로블록 m의 블록 혹은 서브 블록)을 나타내며, p는 패킷 손실의 가능성을 나타내고, D ec - rec 는 엔코더에서 재구성된 픽셀과 오류 은폐된 픽셀 사이의 SSD를 나타내고, D ec - ep 는 엔코더와 디코더에서 오류 은폐된 픽셀 사이의 예상 SSD를 나타낸다.
[2]에서, D ep 는 프레임의 각각의 매크로블록에 걸쳐 4X4 그리드, 즉, 매크로블록당 16개 값의 D ep 에 저장되므로, 각각의 매크로블록의 4X4 픽셀 서브 블록당 한 개의 값의 D ep 에 저장된다. 도 1c에 도시된 것처럼,
Figure 112014020365139-pct00009
의 계산, 즉, 시간 n에서 프레임의 매크로블록 m 내부의 서브 블록 k에 대한 예상된 오류 전파 기준 왜곡은 이후에 시간 n-1에서 시작해서 선행 프레임으로부터 4개의 서브 블록으로부터의 D ep 의 값들의 가중치 합으로서 수행된다. 가중치는 해당 블록 m에 대한 움직임 벡터로부터 결정된다. 즉, 다음과 같다.
Figure 112014020365139-pct00010
여기에서 가중치 wi 는 중첩 에어리어에 비례하고, qi(ki)는 선행 프레임 n-1의 매크로블록 qi 의 서브 블록 ki 을 나타낸다.
도 1d는 예시적인 서브 블록 b1 ... b4를 참조하여(이 예에서 k는 b1에 대응하고, i는 b1 ... b4를 계수한다) 움직임 벡터 및 예상 오류 전파 왜곡 맵으로부터의 예상 오류 전파 기준 왜곡의 계산을 예시한다.
Zhang [2]의 RDO 기반 모드 선택 프로세스는 인트라 코딩을 이용하여 임의의 소정 매크로블록을 엔코드하는 것을 결정하게 되므로, 시간이 지나면 이것은 필요시에 프레임을 리프레시하는 경향이 있다. 그러나, LARDO를 이용한 복구는 많은 경우에 충분히 빠르지 않고, 그러므로 손실 보고에 의해 트리거된 복구 프레임을 전송하는 것이 여전히 유익할 것이다. 한편, 복구 프레임을 생성하는 종래의 기술은 높은 비트레이트 스파이크를 초래한다.
Vadapalli [3]는 결정된 특정 규칙성으로 프레임을 강력히 리프레시하는 추가적인 인트라 리프레시 동작으로 Zhang [2]의 모드 선택 프로세스를 보완하는 기술을 개시한다. 인트라 리프레시 동작은 특정한 결정된 시간에 복구 프레임을 생성하지만, 복구 프레임의 비트레이트 희생 문제를 해결하고 Vadapalli에 따른 레이트 스파이크를 막기 위해 각각의 개별 인트라 리프레시 동작이 다수의 프레임에 걸쳐 수행된다. 다시 말해서, 소정의 복구 동작의 경우, 프레임의 상이한 부분 영역들은 프레임의 개수의 각각의 상이한 것들에서 리프레시된다. 또한, 프레임 영역이 리프레시되는 순서는 Zhang [2]의 오류 전파 왜곡 맵에 기반하여 결정되고, 결국 손실성 채널의 Zhang의 선험적인 확률 모델에 기반한 더 큰 오류 전파 왜곡을 갖는 것으로 추정된 영역들이 먼저 리프레시되는 반면, 저 작은 오류 전파 왜곡을 갖는 것으로 추정된 영역들은 나중에 리프레시된다. Vadapalli [3]에서, 복구 동작이 수행되는 시간들은 채널의 선험적 화률 모델에 기반하여 결정되는 규칙성으로 엔코더에 의해 일방적으로 설정된다.
시간에 대해 레이트를 평활하게 하는 다른 대안적인 접근법은 소위 페이신 버퍼(pacing buffer)라고 불리는 것을 이용하는 것이다. 페이싱 버퍼는 비디오 엔코더의 폭주성(bursty) 출력 레이트에 대해 저역 통과 필터처럼 작용하고, 이로써 송신 채널에 대해 보다 고른 레이트를 생성한다. 페이싱 버퍼의 대가는 지연이다.
본 발명의 발명자는 충분히 평활한 비트레이트를 유지하면서 오류 전파의 왜곡 영향을 줄여주는 추가의 범주가 존재한다고 믿는다.
전술한 바와 같이, 피드백 채널은 예를 들어 프레임이 수신기에서 손실되었음을 신호하기 위해 이용될 수 있다. 전형적으로, 손실 프레임은 디코드된 비디오에 심각한 왜곡을 초래하고, 이것은 조치가 취해지지 않는다면 오랜 시간동안 지속될 수 있는데, 이런 조치의 예로서, 디코더로부터 엔코더로 특정 프레임이 손실되었음을 보고한 뒤, 수신 및 디코드될 때의 오류 전파를 중단시킬 복구 프레임, 예컨대 키 프레임(모두 인트라 코드화됨)을 생성하거나 또는 디코더내에서 이용 가능한 것으로 알려진(수신기로부터 피드백된 하나 이상의 확인 응답으로 인해 알려진) 무오류 프레임에 대하여 인터 코드화된 프레임을 생성하도록 엔코더를 강제하는 것을 들 수 있다. 후자는 일반적으로 전자와 비교할 때 소정의 품질에서 더 낮은 비트레이트를 초래한다. 복구 프레임을 전송하는 것과 관련한 단점들은 비트레이트 오버슈트이거나 또는 대안적으로 소스 코딩 왜곡에서의 증가이다. 비트레이트 오버슈트는 차후에 새로운 손실을 초래하거나 또는 엔코더로 하여금 프레임을 누락시키게 하며, 급격한 증가 소스 코딩 왜곡은 지각적으로 교란을 일으킬 가능성이 있다.
전술한 문제를 해결하기 위해, 본 발명은 손실이 보고된 이후에 하나의 완전한 복구 프레임을 생성하는 대신에 일정 시간에 걸쳐 부분적인 복구 프레임을 생성한다. 부분 복구 프레임을 이용하는 것은 다수의 프레임에 대해 분포된 프레임의 상이한 부분 영역들에 대해 적용되는 예컨대 인트라 리프레시같은 기술을 이용하는 것을 의미한다. 인트라 리프레시는 일정 시간에 걸쳐 각각의 프레임내의 다수의 매크로블록의 인트라 코딩을 강제하는 것을 겨냥하는데, 다시 말해서 표준 복구 프레임 시나리오에서처럼 한번에 모든 매크로블록을 코딩하는 것이 아니다. 리프레시 패턴은 특정 시간내에 모든 매크로블록 위치가 인트라 코딩으로(디코더내의 디코드된 화상 버퍼 내부에서 이용 가능한 것으로 알려진 프레임에 대해서는 인터 코딩) 리프레시되도록 바람직하게 배열된다. 이런 유형의 기술은 "소프트 복구" 동작으로 생각할 수도 있다.
본 발명에 따르면, 인트라 리프레시 혹은 다른 이러한 소프트 복구 동작은 채널을 통해 경험한 손실을 보고하는 디코더로부터의 피드백에 의해 트리거된다.
복구 프레임의 생성을 위해 인트라 리프레시 혹은 다른 소프트 복구 기술을 이용하는 것에 덧붙여서, 본 발명의 특히 바람직한 실시예는 엔코더에서 추정된 것처럼 디코더에서 (패킷 손실의 영향을 포함한) 잠재적인 왜곡을 이용하여 인트라 리프레시를 유도한다. 엔코더 내부 디코더에서 잠재적인 왜곡을 추적하는 것은 예컨대 [2]에서 Zhang 등에 의해 개시된 것처럼 구현될 수 있다. Zhang [2]에서 잠재적인 왜곡은 디코더 내부의 오류성 기준과 프레임이 손실된 경우에 도입된 왜곡으로 인해 잠재적인 왜곡의 가중치 합으로 구성되어, 오류 은폐가 적용된다. Zhang에서는 왜곡 맵이 단지 진행중인 모드 선택 프로세스에서 이용되지만, 본 발명의 바람직한 실시예에 따르면, 왜곡 맵의 목적은 소프트 복구 동작에서 블록이 리프레시되는 순서에 우선 순위를 정하거나 혹은 어떤 블록이 함께 리프레시되어야 하는지 우선 순위를 정하는 것이다.
복구의 목적은 모든 오류 전파를 한번에 중단시키는 것이다. 소프트 복구의 목적은 이것을 다소 완화시켜서 복구가 몇개의 프레임내에서 일어나도록 하는 것이다. 그럼에도 불구하고, 소프트 복구는 Zhang [2]의 LARDO 프로세스를 단순히 적용하여 일반적으로 수행하는 것보다 더 빨리 오류 전파 왜곡을 중단시키는데, 다시 말해서, 소프트 복구는 LARDO 프로세스가 프레임의 영역을 복구하도록 일어나는데 걸리는 시간에 비해서 작은 일정 개수의 프레임에 걸친 프레임 에어리어를 리프레시하도록 보장한다. 소프트 복구는 전체 이미지 에어리어 혹은 적어도 이미지의 전체 에어리어를 리프레시하도록 겨냥하는 반면에, RDO는 각각의 개별 블록 혹은 매크로블록에 대해 별개로 모드 선택 판정을 행하고, 문제 에어리어의 체계적인 리프레시를 수행하지는 않는다.
다소 유사한 접근법이 Vadapalli 등 [3]에 의해 제안된다. 그러나 Vadapalli는 이용 가능한 피드백 채널의 가능성을 이용하는 것에 실패했다.
Zhang [2]과 Vadapalli [3]의 프로세스들은 둘다 채널을 통한 손실 가능성에 대해 엔코더에서 전적으로 행해진 선험적 확률 추정에만 기반한다. 다시 말해서, 이들은 각각 채널의 확률 모델을 이용한 모델 기반 접근법에 전적으로 의존한다. 이 왜곡의 추정은 귀납적 경험 지식(a posteriori empirical knowledge)없이 손실 확률 p의 사전 결정된 추정에 의존한다.
또한, Zhang [2]과 달리, 소프트 복구 동작은 보고된 손실 프레임에 의해 트리거될 때 특정 시간에만 발생하는 반면에, Zhang의 접근법과 같은 RDO 접근법은 시간 내내에 발생하는 진행하는 프로세스이다.
그러므로, 본 발명은 채널을 통해 발생하는 손실에 대한 귀납적 정보를 보고하는 수신 단말기로부터의 피드백에 응답하여 트리거되는, 전송 레이트를 평활하게 하기 위한 부분적인 복구 프레임(일괄 복구 프레임(all-at-once recovery frame)과 비교되는)의 생성을 제공한다. 특히 바람직한 실시예에서, 본 발명은 어떤 매크로블록이 리프레시되어야 하는지 그리고 어떤 순서로 수행되어야 하는지 결정하기 위해 디코드된 프레임내의 잠재적인 왜곡에 기반하는 우선 순위 맵(priority map)을 이용한다.
본 발명의 한 양상에 따르면, 복수의 프레임 각각에 비디오 이미지를 엔코딩하는 단계―상기 프레임 중 일부 프레임의 적어도 일부분을 엔코드하기 위해 인터 프레임 엔코딩을 이용하는 것을 포함하고, 상기 엔코딩의 결과로 엔코드된 비디오 스트림을 생성함―와; 디코드된 비디오를 생성하기 위해 상기 엔코드된 비디오 스트림을 수신기에서 디코드될 손실성 채널을 통해 송신하는 단계와; 비디오 이미지의 상기 엔코딩을 리프레시하기 위해, 상기 채널을 통한 손실의 존재시 인터 예측의 영향으로 인해 상기 디코드된 비디오내에 출현하는 오류 전파를 차단하면서 복구 동작을 수행하는 단계를 포함하는 방법이 제공되되, 상기 복구 동작은 손실을 나타내는 수신기로부터 피드백된 보고에 의해 트리거되고, 상기 복구 동작은 상이한 각각의 프레임에서 상이한 부분 프레임 영역의 엔코딩을 리프레싱하면서 복수의 프레임에 대해 수행된다.
일 실시예로, 리프레시 동작은 상기 복수의 프레임에 대해 상기 비디오 이미지 전체의 엔코딩을 리프레시할 수도 있다.
복구 동작은 상기 인터 프레임 엔코딩 대신에 인트라 프레임 엔코딩을 이용하여 하나 이상의 상기 부분 프레임 영역을 엔코딩하는 것을 포함할 수도 있다.
복구 동작은 수신기로부터 피드백된 수취(receipt)의 확인 응답으로 인해 무오류인 것으로 알려진 상기 프레임 중 하나의 일부분에 대해 인터 예측을 이용하여 하나 이상의 상기 부분 프레임 영역을 엔코딩하는 것을 포함할 수도 있다.
본 방법은 상이한 각각의 비디오 이미지 부분들에 대해 상기 오류 전파로 인한 왜곡의 추정을 매핑하는 오류 전파 왜곡 맵을 유지하는 단계를 포함할 수도 있는데, 부분 프레임 영역의 각각은 하나 이상의 상기 부분을 포괄할 수 있으며, 부분 프레임 영역은 상이한 부분들에 대한 오류 전파 왜곡 맵내의 왜곡의 추정에 따라 결정된 우선 순위에 따라 리프레시될 수 있다.
개별 프레임의 각각에서, 오류 전파 왜곡 맵내의 상기 부분들에 대한 추정에 기반하여 오류 전파 왜곡의 가장 큰 추정치에 대응하는 단 하나 혹은 하나의 부분 집합의 부분 프레임 영역이 리프레시될 수 있다.
부분 프레임 영역은 상기 복수의 프레임에 대한 우선 순위의 순서로 리프레시되되, 이때 우선 순위의 순서는 오류 전파 왜곡 맵내의 추정들에 기반하여 결정되며, 그 결과 더 큰 추정된 오류 전파에 대응하는 부분 프레임 영역은 상기 다수의 프레임의 초기에 리프레시되고, 더 작은 추정된 오류 전파에 대응하는 부분 프레임 영역은 상기 다수의 프레임의 말기에 리프레시된다.
비디오 이미지의 부분들 모두는 우선 순위 순서대로 리프레시될 것이다.
상기 프레임의 개수는 비디오 이미지가 에어리어에서 나누어질 수 있는 상기 부분 프레임 영역의 개수와 같거나 더 클 수 있다.
본 방법은 복구 동작에 의한 리프레싱을 반영하도록 오류 전파 맵을 갱신하는 단계를 포함할 수 있다.
상기 부분 프레임 영역의 각각은 복수의 상기 부분들을 포괄하고, 각각의 부분 프레임 영역에 대한 대응하는 추정된 오류 전파 왜곡은 오류 전파 맵내의 복수의 부분의 각각에 대한 추정에 기반하여 결정될 수 있다.
오류 전파 맵내의 추정들은, 목표 부분이 채널을 통해 도착하지 않은 경우에 목표 부분의 예측이 유래하는 목표 부분의 이력(history)내의 기준 부분의 비도착으로 인해 경험된 왜곡의 추정을 나타내는 제 1 기여분(contribution)과, 은폐로 인해 경험된 왜곡의 추정을 나타내는 제 2 기여분에 기반할 것이다.
제 2 기여분은 목표 부분이 채널을 통해 손실된 경우에 목표 부분의 손실을 은폐하는데 이용된 이미지 부분에 대한 목표 부분의 은폐 왜곡의 척도를 나타내는 기여분과, 목표 부분의 은폐가 유래되는 목표 부분의 이력내의 이미지 부분의 손실로 인해 경험된 왜곡의 추정을 나타내는 기여분을 포함할 수 있다.
복구 동작에 덧붙여서, 오류 전파 왜곡 맵은 각각의 이미지 부분에 개별적으로 적용되는 별개의 엔코딩 모드 선택 프로세스에서 추가적으로 이용될 수 있는데, 이것은 디코더로부터의 피드백에 의해 트리거된 것이 아닌 진행중인 프로세스이다.
엔코딩 모드 선택 프로세스는 개별적인 이미지 부분에 대해 인트라 코딩과 인터 코딩중 선택할 것이다.
복구 동작은 모드 선택 프로세스보다 빨리 비디오 이미지의 엔코딩을 리프레시할 것이다.
복구 동작은 상기 복수의 프레임에 의해 정의된 사전 결정된 시간 기간내에 전체 비디오 이미지의 엔코딩을 리프레시하는 반면, 모드 선택 프로세스는 상기 사전 결정된 시간 기간내에 전체 비디오 이미지의 엔코딩을 리프레시하는 것을 보장하지 않을 수 있다.
모드 선택 프로세스는 임의의 사전 결정된 시간 기간내에 전체 비디오 이미지의 엔코딩을 리프레시하는 것을 보장하지 않을 수도 있다.
본 발명의 다른 양상에 따르면, 복수의 프레임 각각에 비디오 이미지를 엔코딩하도록 배열된 엔코더―상기 프레임 중 일부 프레임의 적어도 일부분을 엔코드하기 위해 인터 프레임 엔코딩을 이용하는 것을 포함하고, 그 결과로 엔코드된 비디오 스트림을 생성함―와; 디코드된 비디오를 생성하기 위해 상기 엔코드된 비디오 스트림을 수신 단말기에서 디코드될 손실성 채널을 통해 송신하도록 배열된 송신기를 포함하는 송신 단말기가 제공되되, 상기 엔코더는 비디오 이미지의 엔코딩을 리프레시하기 위해, 상기 채널을 통한 손실의 존재시 인터 예측의 영향으로 인해 상기 디코드된 비디오내에 출현하는 오류 전파를 차단하면서 복구 동작을 수행하도록 구성되고, 상기 엔코더는 상기 복구 동작이 손실을 나타내는 수신 단말기로부터 피드백된 보고에 의해 트리거되도록 구성되며, 상기 엔코더는 상이한 각각의 프레임에서 상이한 부분 프레임 영역의 엔코딩을 리프레싱하면서 복수의 프레임에 대해 상기 복구 동작을 수행하도록 구성된다.
일 실시예에서, 엔코더는 전술한 방법의 특징들중 임의의 특징에 따른 동작을 수행하도록 또한 구성될 수 있다.
본 발명의 또다른 양상에 따르면, 컴퓨터 판독 가능 매체상에 구현되는 컴퓨터 프로그램 제품이 제공되며, 상기 컴퓨터 프로그램 제품은 송신 단말기상에서 실행될 때 복수의 프레임 각각에 비디오 이미지를 엔코딩하는 동작―상기 프레임 중 일부 프레임의 적어도 일부분을 엔코드하기 위해 인터 프레임 엔코딩을 이용하는 것을 포함하고, 그 결과로 엔코드된 비디오 스트림을 생성함―과; 디코드된 비디오를 생성하기 위해 상기 엔코드된 비디오 스트림을 수신기에서 디코드될 손실성 채널을 통해 송신하는 동작과; 비디오 이미지의 상기 엔코딩을 리프레시하기 위해, 상기 채널을 통한 손실의 존재시 인터 예측의 영향으로 인해 상기 디코드된 비디오내에 출현하는 오류 전파를 차단하면서 복구 동작을 수행하는 동작을 수행하도록 구성된 코드를 포함하되, 상기 복구 동작은 손실을 나타내는 수신기로부터 피드백된 보고에 의해 트리거되고, 상기 복구 동작은 상이한 각각의 프레임에서 상이한 부분 프레임 영역의 엔코딩을 리프레싱하면서 복수의 프레임에 대해 수행된다.
일 실시예에서, 상기 코드는 실행시에 전술한 방법의 특징들중 임의의 특징에 따른 동작을 수행하도록 또한 구성될 수 있다.
본 발명의 보다 나은 이해를 위해, 그리고 본 발명이 어떻게 실행되는지 보여주기 위해, 첨부 도면이 예시로서 참조된다.
도 1a는 비디오 스트림의 개략적인 표현이다.
도 1b는 일부 인트라 예측 코딩 모드의 개략적인 표현이다.
도 1c는 인터 예측 코딩에 대한 개략적인 표현이다.
도 1d는 오류 전파 왜곡의 계산에 대한 개략적인 표현이다.
도 2는 통신 시스템의 개략적인 블록도이다.
도 3은 엔코더의 개략적인 블록도이다.
도 4는 오류 전파 왜곡 맵의 개략적인 표현이다.
도 5는 소프트 복구 동작의 트리거링에 대한 개략적인 표현이다.
다음은 수신기로부터 송신기로 이용 가능하는 피드백 채널을 갖는 오류성 채널을 통한 실시간 비디오 송신의 분야에 관한 것이다.
도 2를 다시 참조하면, 수신 단말기(22)상에서 실행되는 디코더는 프레임 혹은 프레임의 일부가 수신 단말기(22)에 수신되지 않아서 채널을 통해 손실되었을 때 송신 단말기(12)에서 실행중인 엔코더에게 보고를 피드백하도록 구성된다. 이러한 손실은 패킷 기반 네트워크를 통한 송신동안에 누락되거나 혹은 데이터가 오염되어 생성할 수 있다. 수신 단말기(22)상의 디코더는 또한 패킷, 프레임 혹은 프레임의 일부가 성공적으로 수신되었을 때 확인 응답을 피드백할 수도 있다.
본 발명의 바람직한 실시예에 따르면, 단일 복구 프레임을 대신해 인트라 리프레시 기반 복구 혹은 다른 이러한 소프트 복구 동작을 이용하는 방법이 설명되는데, 여기서 송신 단말기(12)의 엔코더에서 수행되는 인트라 리프레시 기반 복구 동작은 수신 단말기(22)로부터 역방향으로 수신된 손실 보고에 의해 트리거된다.
인트라 리프레시 기반 복구 방식과 연계하여 많은 도전 과제가 존재한다. 첫째, (심각한) 왜곡의 지속 기간이 최소화되도록 가장 큰 왜곡과 연관된 영역을 먼저 리프레시하는 것이 바람직하다. 둘째, 특정 시간 기간 이후에 (새로운 손실이 출현하지 않는 한) 오류 전파 왜곡의 확률을 낮추도록 보장하는 것이 바람직하다. 이러한 두 개의 문제를 다루기 위해, 엔코더 내부에서 잠재적인 디코더 왜곡을 추적하는 것이 유용하다. 왜곡을 추적하는 한 가지 방법은 Zhang 등 [2]에 의해 설명되었지만 다른 것들이 가능할 수 있다. 추적은 송신 단말기(12)상에서 실행하는 엔코더에 오류 전파 왜곡 맵을 유지하는 것을 포함한다. 이는, 채널을 통해 일어날 수 있는 왜곡의 추정치를 해당 비디오 이미지의 프레임 에어리어의 상이한 각각의 부분들에 매핑하는데, 예를 들면, 각각의 추정된 오류 전파 왜곡 값을 프레임 에어리어의 각각의 매크로블록에 매핑한다.
본 발명은 프레임의 어떤 영역이 소프트 복구 동작에서 리프레시되어야 하는지 우선 순위를 정하기 위해 오류 전파 맵내의 추정된 왜곡 값을 이용하는데, 바람직하게는, 소프트 복구에 포함된 프레임의 전체 개수 중에서 영역들이 리프레시될 우선 순번을 정한다. 오류 전파 왜곡과 관련해 큰 추정치를 갖는 영역들이 먼저 리프레시될 것이고, 낮은 추정치의 오류 전파를 갖는 영역들은 나중에 순서대로 리프레시될 것이다. 그러나, Vadapalli [3]와 달리, 소프트 복구 동작은 채널(예컨대 패킷 기반 네트워크(32)를 통해 설립된 채널)을 통해 손실을 나타내는 수신 단말기(22)로부터 피드백된 보고에 의해 동기된다. 바람직하게는, 트리거는 특정 손실 사례, 예컨대 특정 패킷, 프레임 혹은 프레임의 부분의 손실에 대응하는 보고이다.
프레임의 소정 영역의 리프레싱은 디코더에서 이용 가능한 것으로 알려진(수신되는 즉시 확인 응답되어지고 그 이력내에 관련된 어떤 것이든 확인 응답되어져서 오류가 없는 것으로 알려진) 비오류 프레임에 대해 인트라 엔코딩이나 인터 엔코딩 중 하나를 이용하여 달성될 수 있다.
바람직하게는, 소프트 복구 동작은 전체 프레임 구역의 모든 영역들, 즉, 전체 비디오 이미지의 영역이 리프레시될 때까지 계속된다.
도 4는 수신 단말기(22)로부터의 피드백 보고에 의해 리프레시가 트리거될 시점에 송신 단말기(12)에서 엔코더에 의해 보유되는 오류 전파 맵의 "스냅샷(snapshot)"을 개락적으로 나타낸다.
도 4에는 오류 전파 왜곡 맵내의 복수의 엔트리(entries)가 예시되는데, 각각의 엔트리는 프레임 에어리어 내부의 상이한 개별 위치에서 전체 프레임 영역의 개별 부분에 대응한다. 예를 들어, 맵은 매크로블록 m의 블록 혹은 서브블록 m(k)마다 하나의 엔트리를 보유할 수 있다. 엔트리의 각각은 개별 프레임 부분에 대해 오류 전파 왜곡의 개별 추정을 나타내는 개별값 Dep(m(k))를 저장한다. 이것은 추정된 왜곡이 프레임 영역의 그 부분에서 현재 디코더에서 경험될 가능성이 있음을 나타내는데, 이때 왜곡은 채널을 통해 있을 수 있는 관련된 엔코드된 이미지 데이터의 손실과, 오류 은폐 데이터에 기반하여 인터 코드화된 프레임의 계속적인 디코딩으로 인해 현재 진행중인 프레임을 통해 전파중인 손실의 영향에서 기인한다. 맵은 엔코더에서 구현된 채널의 추정 혹은 모델에 따라 결정된다. 관련 엔트리는 새로운 엔코딩 모드 선택 혹은 프레임 영역의 리프레시가 수행될 때마다 갱신된다.
본 발명의 예시적인 실시예에 따르면, 수신 단말기(22)로부터 피드백된 손실 보고에 의해 트리거될 때 송신 단말기(12)의 엔코더는 오류 전파 맵에서 가장 높은 추정된 오류 전파 왜곡을 갖는 것에 기반하여 프레임 영역의 상이한 부분, 예컨대 상이한 블록 혹은 매크로블록의 리프레싱에 대한 상대적인 우선 순위를 결정한다.
도 5는 엔코드되고 있는 프레임의 시퀀스를 개략적으로 예시한다. 도 5에 도시된 바와 같이, 소프트 복구 동작은 특정 패킷, 프레임 혹은 프레임의 부분의 손실을 보고하는 디코더로부터의 피드백된 손실 보고에 응답하여 트리거된 이후에 소수 개수의 부분 복구 프레임에 대해 수행된다. 바람직하게는, 주어진 복구 동작의 부분 복구 프레임들은 실시간으로 인접한 시퀀스를 형성한다. 소프트 복구가 수행되는 프레임의 개수는 LARDO 모드 선택 프로세스가 전체 프레임을 리프레시하도록 생성되는데 걸리는 시간에 비해 작다. 예시로서, 소프트 복구는 도 5에서 4개의 프레임에 대해 수행되는 것으로 도시되었지만, 다른 개수도 가능함은 인지될 것이다. 일 실시예로, 이 개수는 고정되거나 사전 결정된 개수일 수 있지만 임기 응변적으로 변하는 개수일 가능성도 배제되지 않는다.
결정된 우선 순위에 기반하여, 엔코더는 복구에 할당된 프레임의 내부에서 프레임의 어떤 영역, 예컨대 블록 혹은 매크로블록의 그룹이 리프레시되는지 결정한다.
리프레싱은 프레임 영역의 블록을 인트라 엔코딩하는 것을 포함할 수 있고, 또는 어떠한 오류 전파 왜곡도 없이 디코더에 수신된 것으로 알려진 기준 프레임 혹은 프레임의 일부와 연관해서 블록을 인터 엔코딩하는 것을 포함할 수도 있는데, 그 이유는 기준 프레임이 디코더에 의해 수신된 것으로 확인 응답되고, 이 기준 프레임의 이력과 관련한 모든 것도 수신된 것으로 확인 응답되기 때문이다(즉, 만약 기준 프레임이 선행 기준 프레임으로부터 그 자체가 인터 예측되는 방식이라면, 일련의 모든 기준 프레임은 오류 전파 왜곡이 없음을 보장하기 위해 디코더에 의해 수신되는 즉시 확인 응답될 필요가 있을 것이다). 리프레싱은 상이한 영역에 대해 이러한 두 개의 기술의 조합을 포함할 수도 있다.
예시로서, 도 4에서, 가장 높은 추정된 오류 전파 왜곡값을 갖는 블록들의 집합은 진하게 도시된다.
일 실시예로, 가장 높은 추정된 오류 전파 왜곡을 갖는 이러한 블록 혹은 매크로블록의 집합은 예컨대 각각이 확인 응답된 비오류 프레임 혹은 프레임의 부분에 대해 인터 엔코드됨으로써 먼저 리프레시될 영역을 형성한다. 그러나, 맵에서 가장 높은 추정값을 갖는 블록들이 반드시 서로 인접하는 것은 아닐 수 있고, 이런 블록들은 리프레시되고 있는 영역이 맵 전체에 흩어져 있도록 산포되어 있을 수도 있다. 이것은 만약에 원하는 리프레시 기술이 이런 블록들을 서로에 대해 인트라 엔코딩하는 경우에는 편리하지 않을 것이다.
선택적인 실시예에서, 엔코더는 공간적으로 그룹을 이루고 인접하는 블록들 혹은 매크로블록들(그러나 여전히 프레임의 부분 영역임)로 이루어진 더 큰 영역을 결정하는데, 이때 상기 블록들 혹은 매크로블록들은 일부 집계 척도에 따라 전반적으로 가장 높은 추정된 오류 전파 왜곡을 갖는 것으로, 예컨대 가장 높은 왜곡 블록의 집합의 가장 큰 부분을 포함하거나 또는 그 영역 내부의 블록들의 오류 전파 왜곡값들 중 가장 높은 평균을 갖는다. 이런 영역의 예가 도 4에 대략적으로 도시된다. 엔코더는 필수적으로 개별적으로 가장 높은 왜곡 블록들 모두를 리프레시하기 보다는 이 영역의 블록들을 먼저 리프레시한다.
바람직하게는, 프레임 에어리어가 분할될 수 있는 영역의 개수만큼 많은 복구 프레임이 존재하는 것으로, 이로써 전체 프레임 에어리어는 부분 복구 프레임의 개수내에서 리프레시될 수 있다. 일 실시예에서 이것은 단지 프레임의 최소 개수임을 유의해야 하는데, 그 이유는 리프레시된 부분이 리프레시되지 않은 영역으로부터의 오류 전파로 인해 원칙적으로 다시 오염될 수 있기 때문으로, (약간의 확률로) 오류 전파 왜곡없는 디코딩을 보장하기 위해서는 추가적인 리프레시가 요구될 수도 있다.
리프레시 순위 선정에 대한 하나의 전략에 따르면, 소프트 복구와 연관된 다수의 프레임의 각각에서, 엔코더는 프레임의 개수 전체에 대해 전체 프레임 영역의 완벽한 리프레시를 집행하는 활성 단계를 필수적으로 수행할 필요없이 그 시점에서 가장 높은 추정된 왜곡을 갖는 어떤 영역이든 엔코드할 수 있다. 바람직하게는, 각각의 부분 프레임 영역이 리프레시 된 이후에 오류 전파 왜곡 맵이 갱신되는데, 예컨대 영역이 리프레시되는 즉시 그 영역이 오류 전파 왜곡을 거의 혹은 전혀 갖지 않음이 알려질 수 있다(가능성이 낮긴 하지만 부분 복구 프레임이 채널을 통해 손실될 가능성이 존재하여 디코더에서 리프레싱 효과를 갖지 않을 수 있으므로, 낮지만 0은 아닌 예상된 오류 전파 왜곡이 여전히 지속될 수 있다). 이 경우에, 오로지 가장 큰 추정된 오류 전파 왜곡값을 갖는 영역만을 리프레싱하는 전략은 순서를 명시적으로 할당 혹은 집행함이 없이 전체 프레임 영역을 리프레싱하는 효과를 가질 수 있는데, 그 이유는 각각의 부분 리프레시 이후에 영역의 블록들이 거의 혹은 전혀 왜곡을 갖지 않으므로 다음에 리프레시될 가능성이 거의 없고 이전에 두 번째로 높았던 왜곡 그룹의 블록들은 이제 가장 높은 값이 되는 방식이 되기 때문이다. 그러므로, 이 전략은 특정한 암시적인 우선 순위에 따라 리프레시를 수행할 것이다.
선택적으로, 엔코더는 각각의 복구 프레임의 시간에, 그러나 이미 리프레시된 임의의 영역들의 비교는 배제하는 각각의 연속적인 복구 프레임의 시간에 가장 높은 추정된 왜곡을 갖는 어떤 영역이든 엔코드하도록 구성될 수 있다. 이것은 전체 프레임 영역이 우선 순위 순서로 리프레시되었음을 보장하는 효과를 가지며(프레임 영역이 분할될 수 있는 영역의 개수만큼 많은 복구 프레임이 적어도 존재한다는 가정하에), 따라서 더 높은 추정된 오류 전파 왜곡을 갖는 영역이 먼저 리프레시되고, 더 낮은 추정된 오류 전파 왜곡을 갖는 영역은 나중에 리프레시된다.
또다른 선택적인 전략에서, 소프트 복구가 최초에 트리거되는 동작의 시작점에서, 엔코더는 오류 전파 왜곡 맵의 대응하는 추정들에 기반하여 복수의 영역들 모두에 대해 우선 순위 순서를 계획할 수 있고, 따라서 더 높은 추정된 오류 전파 왜곡을 갖는 영역들은 더 높은 우선 순위에 할당되고, 더 낮은 추정된 오류 전파 왜곡을 갖는 영역들은 더 낮은 우선 순위에 할당된다. 이후에 엔코더는 할당된 우선 순위의 순서대로 영역들을 리프레시한다.
일부 실시예에서, 리프레시되지 않은 영역으로부터의 오류 전파로 인해 리프레시된 부분들이 원칙적으로 다시 오염될 수 있다는 사실을 수용하도록 노력하기 위해, 전술한 전략들 중 임의의 전략은 하나 이상의 영역이 전체적으로 혹은 부분적으로 한 번 이상 리프레시될 수 있도록 또한 적용될 수 있고, 따라서 오류 전파 왜곡없는(약간의 가능성은 가짐) 디코딩을 보장하도록 추가의 리프레시가 요구될 수도 있다. 이 경우에는, 프레임 영역이 분할될 수 있는 상기 부분 프레임 영역의 개수보다 더 많은 프레임에 대해 소프트 리프레시 동작은 실행되게 된다. 전술한 두 번째 혹은 세 번째 전략의 경우, 이것은 가장 높은 추정된 오류 전파 왜곡 혹은 가장 높은 배정 우선 순위를 갖는 하나 이상의 영역에 대해 리프레시가 반복되도록 배열될 수 있다.
논의된 바와 같이, [2]에서, 저자는 디코딩 이후에 엔코더에서 잠재적인 왜곡(소스 코딩 및 채널 오류에서 기인함)을 추정한다. 그들의 작업에서, 추정된 잠재적인 왜곡은 이후에 모드 선택을 인트라 코딩으로 편향시키는데 간접적으로 이용된다(채널 오류의 가능성이 0이 아닌 경우).
그들의 종단 대 종단 왜곡 수식은 SSD 왜곡 척도에 기반하고, 매크로블록을 손실하는 베르누이 분포를 가정한다. 최적의 매크로블록 ο은 다음과 같이 주어진다.
Figure 112014020365139-pct00011
여기에서 D s (m,o)는 매크로블록 m과 매크로블록 모드 o에 대해 원래 픽셀과 재구성 픽셀 사이의 SSD 소스 코딩 왜곡을 나타내고, R은 총 레이트를 나타내며, λ는 왜곡 및 레이트 항목과 연관된 라그랑지 승수를 나타낸다.
Figure 112014020365139-pct00012
는 오류 전파에서 기인한 디코더내의 기준 매크로블록 내부의 예측된 왜곡을 나타낸다.
Figure 112014020365139-pct00013
는 만약에 오류 전파 왜곡이 너무 클 경우에 인트라 코드화된 매크로블록 모드에 대해 0이다(제한된 인트라 예측을 가정하면). [2]에서,
Figure 112014020365139-pct00014
는 움직임을 따르고, 현재 움직임 벡터를 이용해 총 왜곡 맵으로부터 계산된다. 총 예상된 오류 전파 왜곡 맵 D ep 는 오류 은폐의 성능에 의해 유도되고, 각각의 매크로블록 모드 선택 이후에 다음과 같이 갱신된다.
Figure 112014020365139-pct00015
여기서 m(k)는 매크로블록 m의 k번째 서브 블록을 나타내며, p는 패킷 손실의 가능성을 나타내고, D ec - rec 는 엔코더에서 재구성된 픽셀과 오류 은폐된 픽셀 사이의 SSD를 나타내고, D ec - ep 는 엔코더와 디코더에서 오류 은폐된 픽셀 사이의 예상 SSD를 나타낸다.
본 발명의 실시에에서, 수식(2)의 이용은 중요하지 않다. 적절한 수식은 (3) 또는 (3a)인데, 이것은 잠재 왜곡의 추적을 기술한다. 전체 프레임에 대해 수식 (3) 혹은 (3a)가 주어지면, 엔코더는 가장 큰 잠재 왜곡을 갖는 최대 Kmax개 블록중 K를 리프레시하도록 선정할 수 있고, 따라서 심각한 왜곡의 지속 기간을 최소화하는 주요 관심사를 해결한다. 이것은 인트라 리프레시의 맥락에서 Vadapalli 등 [3]에 의해 제안되었던 것과 유사하지만, 이것은 수신기(12)로부터 피드백되는 손실 보고에 의해 트리거된다.
더 나아가, 본 발명의 바람직한 실시예는 프레임에서 프레임으로 왜곡을 추적하므로, 엔코더는 매크로블록의 리프레시가 다음 프레임(혹은 다시 오염된)으로 전파되는 방법을 추정하도록 구성될 수 있고, 이로써 디코드된 화상내의 남아있는 오류 전파 왜곡의 확률을 양호하게 추정한다.
소프트 복구 메커니즘은 LARDO 모드 선택과 함께 혹은 LARDO 모드 선택없이 이용될 수 있는 독립적인 복구법이다. 본 발명의 소프트 복구 동작은 소프트 리프레시 동작이 보고된 손실 프레임에 의해 트리거되는 단지 특정 시간에만 일어난다는 점에서 모드 선택 프로세스와 구별되는 반면, LARDO는 모든 시간 내내 일어나는 계속 진행형 프로세스이다. 도 5를 다시 참조하라. 또한, 소프트 리프레시는 전체 이미지 혹은 적어도 이미지의 전체 청크(chunk)를(다중 매크로블록을 함께) 리프레시하도록 겨냥하는 반면에, LARDO는 각각의 개별 블록 혹은 매크로블록에 대해 별개로 모드 선택 판정을 수행한다.
LARDO 프로세스는 임의의 주어진 매크로블록을 인트라 코딩을 이용해 디코드하도록 생성하고, 그러므로 전체 시간은 필요한 프레임을 리프레시하는 경향을 갖는다(비록 종래에는 피드백없이 수행해지긴 하지만). 그러나, 본 발명자는 LARDO를 이용한 복구가 많은 경우에 충분히 빠르지 않으며, 따라서 손실 보고에 의해 트리거된 복구 프레임을 전송하는 것이 여전히 유리함을 (지각적으로) 경험하였다. 복구 동작의 목적은 모든 오류 전파를 한 번에 차단하는 것이다. 소프트 복구의 목적은 이것을 조금 완하시키는 것과 복구가 한 쌍의 프레임 내부에서 일어나도록 하는 것이다. 그러나 소프트 복구는 여전히 LARDO만을 수행할 때보다 더 빨리 오류 전파 왜곡을 종료시킨다. 바람직하게, 소프트 복구 동작은 소프트 리프레시가 분산된 프레임의 개수에 의해 정의되는 사전 결정된 시간 기간내에 전체 프레임 영역을 리프레시하도록 보장하는 반면, 이것은 LARDO 프로세스가 본질적으로 보장하지 않는 것이다.
본 발명을 구현하기에 적절한 엔코더는 도 3과 관련하여 설명된다.
도 3은 예컨대 송신 단말기(12)에서 구현될 수 있는 엔코더를 개략적으로 예시하는 고 수준의 블록도이다. 엔코더는 DCT(discrete cosine transform) 모듈(51), 양자화기953), 역 변환 모듈(61), 역 양자화기(63), 인드라 예측 모듈(41), 인터 예측 모듈(43) 및 감산 스테이지(-)를 포함한다. 엔코더는 또한 스위치(47)와 제어기(49)도 포함한다. 모듈의 각각은 비록 이들 중 일부 혹은 전부가 전적으로 혹은 부분적으로 전용 하드웨어 회로에 구현될 가능성이 배제되지는 않지만, 송신 단말기의 저장 매체(14)상에 저장된 코드 부분으로 바람직하게 구현되고, 처리 장치(16)상에서 실행되도록 배열된다.
스위치(47)와 모드 제어기(49)의 각각은 복수의 매크로블록 MB을 포함하는 입력 비디오 스트림의 인스턴스를 수신하도록 배열된다. 제어기(49)는 매크로블록이 인트라 엔코딩을 이용하여 엔코드될 것인지 혹은 인터 엔코딩을 이용하여 엔코드될 것인지 선택하도록 배열된다(그리고 일실시예로 제어기는 상이한 인터 모드들 및/또는 상이한 인트라 모드들 중에서 선택할 수 있다). 제어기(49)는 선택된 엔코딩 유형에 적합하게 역 양자화기(63)의 출력을 인트라 예측 모듈(41)과 인터 예측 모듈(43)중 하나의 입력으로 전달하도록 제어하기 위해 멀티플렉서(47)에 동작적으로 결합된다. 제어기(49)는 이 능력을 소프트 복구 동작에 따라 리프레시 프레임 영역의 생성을 제어하는데 이용하는데, 예컨대 소프트 리프레시의 기간동안 인트라 엔코드된 영역을 요구된 상이한 위치에 생성하는데 이용한다. 이를 위해, 제어기(49)는 피드백 채널을 통해 수신 단말기(22)로부터 피드백된 손실의 보고를(그리고 선택 사항으로서 확인 응답도) 수신하도록 연결된다. 만약 Zhang [2]에서처럼 LARDO 모드 선택 프로세스가 소프트 복구 메커니즘과 함께 병행하는 것이 요구된다면, 개별 매크로블록(혹은 그와 유사한 것)에 대한 모드 선택 "ο"는 제어기(49)에 의해 제어될 것이다. 일 실시예로, 제어기949)는 선택 모드 "ο"에 대한 정보를 관련 예측 모듈(41, 43)에 지시하고(예컨대, 4X$ 파티션 모드, 8X8 모드, 스킵 모드 등을 지시함), 다음 프레임에 대해 모드를 선택할 때 이용하기 위해 예측 모듈(41, 43)로부터 피드백된 정보를 수신하도록 배열될 수 있다.
인트라 예측 모듈(41) 혹은 인터 예측 모듈(43)의 출력은 이후에 감산 스테이지(-)의 입력으로 결합되는데, 이 감산 스테이지는 자신의 다른 입력에서 엔코드되지 않은 입력 비디오 스트림을 수신하고 자신의 엔코드되지 않은 대응부분에서 이 예측 블록을 감산하여 잔차 신호를 생성하도록 배열된다. 잔차 블록은 그 잔차값이 주파수 도메인으로 변환되는 DCT 모듈(51)을 통해, 상기 변환된 값들이 이산적인 양자화 인덱스로 변환되는 양자화기(53)로 전달된다. 양자화 및 변환된 신호는 역 양자화기(63)와 역 변환 모듈(61)을 통해 피드백되어, 선택된 예측 모듈(41, 43)에 의해 이용되기 위한 블록 또는 서브 블록(디코더에서 볼 수 있는)의 예측 버전을 생성한다. 예측 모듈(41, 43)에서 이용되는 예측의 지시, 인터 예측 모듈(43)에 의해 생성된 움직임 벡터, 그리고 변환 및 양자화 모듈(51, 53)에 의해 생성된 잔차의 양자화 및 변환된 인덱스는 모두 엔코드된 비디오 스트림에 포함시키기 위한 출력으로, 이것은 전형적으로 예측값과 변환 및 양자화된 인덱스가 공지의 무손실 엔코딩 기술을 이용해 추가로 압축될 수 있는 예컨대 엔트로피 엔코더(도시 안 됨)같은 추가의 무손실 엔코딩 스테이지를 통과한다.
예로서, 오류 전파 왜곡 맵을 보유하는 Zhang의 방법이 이제 상세히 설명된다. 그러나, 채널을 통한 손실로 인해 가능한 왜곡을 모델링하는 다른 방법이 존재할 수 있음이 인지될 것이고, 본 발명은 이러한 특정 접근법에만 한정되지 않음도 인지될 것이다.
전술한 바와 같이, 모드 선택은 라그랑지 유형의 함수를 최적화(최소화)하는 것과 관련 있다.
Figure 112014020365139-pct00016
여기에서 J는 라그랑지 함수이고, D는 왜곡의 척도(모드 ο 및 매크로블록 m 혹은 매크로블록 서브 파티션의 함수)를 나타내며, R은 비트레이트이고, λ는 왜곡과 레이트 사이의 트레이드 오프를 정의하는 파라미터이다.
종래의 경우, 왜곡 항목 D는 예컨대 양자화에 의해 도입되는 왜곡처럼 엔코더의 결함으로 인한 소스 코딩 왜곡만을 고려한다. 이것은 채널을 통한 데이터의 손실로 인해 도입될 수 있는 왜곡, 예컨대 패킷 기반 네트워크(32)를 통한 송신에서 패킷 손실로 인해 도입될 수 있는 왜곡을 고려하지 않는다.
한편, 예컨대 본 발명과 Zhang [2]의 기술에서처럼 손실 적응형 기술은 소스 엔코딩과 채널을 통한 데이터의 손실로 인한 왜곡 모두를 포함하는 "단말 대 단말" 왜곡의 척도를 정의하려고 시도한다. 주어진 (목표) 블록, 매크로블록 또는 서브블록에 대한 단말 대 단말 왜곡은 다음과 같이 설명될 수 있다.
Figure 112014020365139-pct00017
Figure 112014020365139-pct00018
은 목표 블록이 디코더에 도착한 경우에 경험될 왜곡의 추정이고,
Figure 112014020365139-pct00019
는 채널을 통한 패킷 손실로 인해, 예컨대 패킷 기반 네트워크(32)를 통해 블록을 포함하는 패킷을 손실함으로써 목표 블록이 디코더에 도착하지 않은 경우에 경험될 왜곡의 척도이다. 파라미터 p는 손실되고 있는 문제의 블록 혹은 이미지 부분에 초래되는 것으로 채널을 통해 손실이 생기는 확률의 추정인데, 예컨대 패킷 손실의 확률의 추정이다. 편의상, "블록"이라는 용어는 본원에서 일반적으로 프레임 파티션의 관련 수준(예컨대 H.264같은 특정 표준의 블록 혹은 서브 블록)을 지칭하기 위해 이용될 것이다.
Figure 112014020365139-pct00020
은 소스 코딩 왜곡을 나타낼 뿐만 아니라 블록의 과거의 왜곡으로 인해 도입될 왜곡, 즉, 목표 블록이 예측될 하나 이상의 기준 블록에서의 왜곡을 나타낸다. 그러므로
Figure 112014020365139-pct00021
은 소스 코딩 왜곡 항목 D s 와, 예측된 목표 블록의 이력에서의 왜곡(즉, 목표 블록으로 운반할 목표 블록의 기준 블록에서의 왜곡)을 나타내는 오류 전파 왜곡 항목
Figure 112014020365139-pct00022
을 둘다 포함한다.
Figure 112014020365139-pct00023
Figure 112014020365139-pct00024
는 은폐로 인한 손실을 포함한다. 만약 목표 블록이 수신되지 않는다면, 디코더는 이전에 디코드된 블록을 동결하거나 연속적으로 디코드된 하나 이상의 블록(현재 프레임 및/또는 이전 프레임)을 보간 혹은 추론하는 것을 수반하는 은폐 알고리즘을 적용할 것이다. 그러므로
Figure 112014020365139-pct00025
는 이러한 은폐 프로세스로 인한 왜곡으로서 식별될 수 있다.
Figure 112014020365139-pct00026
수식(5)를 검토하면, 항목 D s 는 전혀 손실이 없는 경우에 경험될 왜곡의 추정을 나타내고, 항목 D ec 는 목표 블록이 손실되는 경우에 경험될 왜곡의 추정을 나타내며, 항목
Figure 112014020365139-pct00027
는 목표 블록이 성공적으로 수신되지만 그 이력내의 어떤 것이 손실되는 경우(목표 블록의 기준 블록이 손실되거나 혹은 기준 블록의 기준 블록이 손실되는 등의 경우)에 경험될 왜곡의 추정을 나타낸다.
D s
Figure 112014020365139-pct00028
는 엔코딩 모드 선택 ο의 함수들이다. D ec 는 모드 선택 ο의 함수가 아니므로, 라그랑지 수식에서 누락된다(이것은 손실된 블록이 엔코드된 방식과 무관하며, 블록은 여전히 손실된 것이다). 그러므로, 최적화는 다음과 같다.
Figure 112014020365139-pct00029
D s 는 엔코더에 공지될 있는 정보에 기반하므로, 예컨대 원시 입력 샘플값 s과 재구성된 샘플값
Figure 112014020365139-pct00030
사이의 차이에 기반하므로, 결정성(deterministic)을 갖는다. 엔코더는 엔코더측에서 디코더의 병렬 인스턴스(혹은 그 근사치)를 실행하는데, 도 3에서 인터 예측 모듈(43)을 상세하는 삽입도를 참조하라. 인터 예측 모듈(43)은 움직임 보상 예측(MCP) 블록(44)과, 각각의 샘플 인덱스 i에 대해 예측된 샘플
Figure 112014020365139-pct00031
과 재구성된 잔차
Figure 112014020365139-pct00032
를 조합, 즉,
Figure 112014020365139-pct00033
함으로써, 재구성된 샘플들
Figure 112014020365139-pct00034
을 결정하도록 배열된 가산 스테이지(+)를 포함한다.
인터 엔코딩인 경우, 엔코더에서, 예측된 샘플
Figure 112014020365139-pct00035
은 기준 블록(목표 프레임에 대해 움직임 벡터만큼 오프셋되어 있는 기준 프레임의 기준 블록-도 1c 참조하고, 이것은 다시 짧게 설명될 것이다)
Figure 112014020365139-pct00036
의 샘플과 동일할 수 있다.
그러므로, 엔코더는 엔코더와 디코더 단말에서 보여지는 것처럼 실제 샘플 s와 재구성된 샘플
Figure 112014020365139-pct00037
사이의 차이를 결정할 수 있다(이것은 디코더에서 경험되는 추가 왜곡을 도입할 손실 확률을 어느 정도 무시한다). 그 차이는 문제의 목표 블록의 모든 샘플 인덱스 i에 대해 예컨대 SSD 오류로서 계산될 수 있다.
Figure 112014020365139-pct00038
그러나,
Figure 112014020365139-pct00039
는 추정되도록 남아 있고, 이것은 엔코드된 데이터가 송신될 채널(예컨대 패킷 기반 네트워트(32))과 관련해 일부 추정을 수행하는 것에 기반할 것이다.
이를 달성하기 위해, 엔코더내의 제어기(49)는 가장 최근에 엔코드된 프레임 내부의 각각의 매크로블록 혹은 매크로블록의 파티션의 왜곡을 기술하는 오류 전파 왜곡 맵 D ep 을 유지하도록 구성될 것이다. 제어기(49)는 또한 목표 블록이 예측될 기준 블록을 포함하는 패킷이 채널을 통해 손실될 확률 p를 결정하도록 배열된다(그러므로 패킷 도착하는 확률 1-p를 암시적 또는 명시적으로 결정하도록 배열된다). 확률 p는 통계적 모델링에 기반하여 설계 단계에서 사전 결정될 수 있는데, 이 경우 제어기949)는 메모리(14)로부터 값을 검색함으로써 p를 결정한다. 그러나, 제어기(49)가 수신기(22)로부터의 피드백에 기반하여 p를 결정할 또다른 가능성도 있다.
오류 전파 맵은 다음 수식으로 표현될 수 있다.
Figure 112014020365139-pct00040
오류 전파 맵 D ep 는 가장 최근에 엔코드된 프레임 내부의 매크로블록 m에 대한, 더 바람직하게는 각각의 서브 파티션(블록 혹은 서브 블록) m(k)에 대한 왜곡 추정을 포함한다. 그러므로 이것은 다음과 같이 명확히 기술될 수 있다.
Figure 112014020365139-pct00041
여기서 m(k)는 매크로블록 m의 k번째 서브 파티션(예컨대 서브 블록)을 나타내고, p는 패킷 손실의 확률을 나타낸다.
loss 는 전술한 바와 같이 D ec 와 동일하다.
Figure 112014020365139-pct00042
은 채널에 대한 차이, 즉, 엔코더에서 재구성된 샘플과 디코더에서 재구성된 샘플 사이의 차이를 나타낸다. 예를 들어, 이것은 SSD의 항목으로 양자화될 수 있다.
Figure 112014020365139-pct00043
여기서
Figure 112014020365139-pct00044
는 채널로 인한 왜곡과 소스 코딩 왜곡을 둘다 포함하는 디코더에서 수신된 샘플이다. 다시 말해서,
Figure 112014020365139-pct00045
는 엔코드되지 않은 원시 입력 샘플이고,
Figure 112014020365139-pct00046
는 (예컨대 양자화로 인한) 소스 코딩 왜곡을 포함하는 엔코더에서 재구성된 샘플이며,
Figure 112014020365139-pct00047
는 채널의 손실 영향을 포함하는 총 단말 대 단말 왜곡을 고려한 샘플이므로,
Figure 112014020365139-pct00048
이다.
Figure 112014020365139-pct00049
는 다음과 같이 확장될 수 있다.
Figure 112014020365139-pct00050
여기서
Figure 112014020365139-pct00051
는 재구성된 잔차의 샘플이다. 그러므로 다음과 같다.
Figure 112014020365139-pct00052
수식 (9)에 대입하면, 오류 전파 맵이 다음과 같이 재작성된다.
Figure 112014020365139-pct00053
혹은 다음과 같이 재작성된다.
Figure 112014020365139-pct00054
모드 최적화 문제를 고려하면, 이것은 다시 다음과 같이 작성될 수 있다.
Figure 112014020365139-pct00055
여기서 n은 프레임 수이며, 즉, 이전 시간 n에서 프레임에 대한 현재 사용되는 판정
Figure 112014020365139-pct00056
와 왜곡
Figure 112014020365139-pct00057
매이 주어졌을 때
Figure 112014020365139-pct00058
는 n+1의 시간에서 프레임에 대해 모드 선택을 수행하는데 이용될 오류 전파 맵이다.
Zhang [2]에서 처럼,
Figure 112014020365139-pct00059
항목은 다음과 같이 확장될 수 있다.
Figure 112014020365139-pct00060
여기에서
Figure 112014020365139-pct00061
는 엔코더에서 재구성된 픽셀과 오류 은폐된 픽셀 사이의 SSD를 나타내고, D ec - ep 는 엔코더와 디코더에서 오류 은폐된 픽셀 사이의 예상 SSD를 나타낸다.
수식 (3)을 조사하면, 전술한 바와 같이, 항목
Figure 112014020365139-pct00062
는 목표 블록이 성공적으로 수신되지만 그 이력내의 어떤 것은 손실되는 경우에 경험될 왜곡을 나타낸다(목표 블록의 기준 블록이 손실되거나 또는 기준 블록의 기준 블록이 손실되는 등의 경우). 또한,
Figure 112014020365139-pct00063
는 은폐 알고리즘 그 자체의 특성으로 인한 왜곡의 추정을 나타낸다(예측과 관련한 고유의 소스 코딩 왜곡 D s 와 다소간 유사함).
Figure 112014020365139-pct00064
는 목표 블록이 손실되고(그러므로 디코더에서 은폐될 필요가 있음) 은폐된 목표 블록의 이력내의 어떤 것이 손실된 경우(만약 은폐가 행해질 블록이 손실되거나 또는 예측되거나 은폐될 블록이 손실되는 경우 등)에 경험될 왜곡의 추정을 나타낸다.
따라서 왜곡 맵 D ep 는,
Figure 112014020365139-pct00065
로부터 유래되고
Figure 112014020365139-pct00066
로부터 부분적으로 유래된 새로운 손실로 인한 기여분과,
Figure 112014020365139-pct00067
로부터 유래되고
Figure 112014020365139-pct00068
로부터 부분적으로 유래된 과거의 손실로 인한 기여분을 포함한다.
시퀀스내의 제 1 프레임에 대해, 이 프레임은 인트라 코딩으로 코드화될 것이고, 이 경우에
Figure 112014020365139-pct00069
아므로
Figure 112014020365139-pct00070
이다.
오류 은폐 왜곡 D ec 는 제어기(49)에 의해 계산된다.
Figure 112014020365139-pct00071
항목은 은폐 알고리즘의 인지에 기반하고, 이용된 특정 오류 은폐 알고리즘에 따라 좌우된다.
Figure 112014020365139-pct00072
Figure 112014020365139-pct00073
와 유사한 방식으로 현재 사용되는(가장 최근의) 왜곡 맵에 기반하여 계산되는데, 예를 들면, 기본 은폐 알고리즘의 경우에 공동 위치된 블록의 왜곡을 복사함으로써 계산되거나, 또는 움직임을 추론하도록 시도하는 더 복잡한 은폐가 이용되는 경우에는 다중의 이전에 엔코드된 블록 b1-b4로부터 왜곡의 가중치 합을 계산함으로써 계산된다(도 1c와 관련한 설명과 유사). D ec 를 계산하는 다른 방법이 이용될 수 있는데, 이것은 엔코더내의 재구성된 샘플과 디코더에서 보여질 수 있는 오류 은폐된 샘플(즉, 손실된 프레임 또는 영역을 은폐하기 위해 이전에 수신된 프레임이나 동일 프레임의 수신된 영역으로부터 복사, 보간 또는 추론된 샘플) 사이의 차이에 대한 임의의 추정일 수 있다.
제어기(49)는 각각의 모드 선택 판정 이후에 갱신을 행함으로써 각각의 후속하는 인터 예측된 프레임에 대한 오류 전파 맵을 보유하는데, 이것은 이제 기존의 오류 맵에 대한 지식으로부터
Figure 112014020365139-pct00074
의 계산을 포함한다. 인터 예측(움직임 추정)의 경우, Zhang [2]에 따르면, 이것은 문제의 프레임에 대한 움직임 벡터를 이용하여 행해진다.
이것의 일 예가 도 1c에 예시된다. 4개의 예시적인 블록 b1, b2, b3 및 b4가 기준 프레임 Fn에 도시되고(n-1 시간에), 이때 기준 프레임은 이미 엔코드된 프레임을 갖는다. 목표 프레임 Fn의 블록은 (후속하는 시간 n에서) 기준 프레임 Fn -1로부터 예측되는 것이다. 예를 들어, 목표 플레임 Fn내의 목표 블록 b1을 고려해보자. 이를 위해 움직임 예측 모듈(44)은 목표 프레임 Fn내의 목표 블록과 기준 프레임 Fn - 1내의 기준 블록 사이의 오프셋을 정의하는 움직임 벡터를 결정하고, 기준 블록이 기준 프레임 Fn - 1내의 오프셋 위치로부터 목표 프레임 Fn내의 목표 블록 b1'의 위치로 변환될 때, 이것은 목표 블록 b1의 가장 양호한 추정을 제공한다. 그러므로 여기서 유의해야 할 것은, 점선으로 표시된 기준 블록이 반드시 기준 프레임 Fn - 1내에서 인덱스를 붙일 수 있는 블록일 필요가 없다는 것으로, 다시 말해서, 반드시 기준 프레임의 사전 결정된 세분된 부분일 필요는 없다는 것이며, 이 기준 프레임은 임의의 양만큼 오프셋될 수도 있다(실제로 픽셀의 분수만큼 오프셋될 수도 있다). 그러므로, 기준 블록은 4개의 실제 인덱스를 붙일 수 있는 블록 bq, b2, b3 및 b4으로부터의 기여분으로 구성된다.
따라서, 오류 전파 맵
Figure 112014020365139-pct00075
의 갱신에 이용하기 위한
Figure 112014020365139-pct00076
를 결정하기 위해 제어기(49)에 의해 수행되는 현재 사용되는 계산은 현재 사용되는 맵
Figure 112014020365139-pct00077
에서 블록 혹은 서브 블록 b1 내지 b4에 대해 기록된 왜곡들의 가중치 합을 계산하는 것을 포함한다.
Figure 112014020365139-pct00078
또는 더 명확하게는 다음과 같다.
Figure 112014020365139-pct00079
여기서 wi는 블록 혹은 서브 블록 bi로부터의 기여분을 나타내는 가중치이고,
Figure 112014020365139-pct00080
는 블록 혹은 서브 블록 에 대한 오류 전파 맵 엔트리이다.
전술한 바와 같이, 본 발명의 실시예에서, 모드 선택 수식(2)의 이용은 중요하지 않고, 소프트 복구 메커니즘은 LARDO 모드 선택과 함께 혹은 LARDO 모드 선택없이 이용될 수 있는 독립적인 복구법이다. 관련 수식은 잠재적인 왜곡을 추적하는 것을 설형하는 수식 (3) 또는 (3a)이다. 전체 프레임에 대해 수식 (3) 또는 (3a)이 주어지면, 엔코더는 가장 큰 잠재 왜곡을 이용해 최대 Kmax 블록중에서 K를 리프레시하도록 선정할 수 있고, 따라서 심각한 왜곡의 지곳 기간을 최소화는 주요 관심사를 해결하게 된다.
전술한 실시예는 오로지 예시를 목적으로 설명된 것임을 인지할 것이다.
예를 들어, 위의 내용은 Zhang [2]에서 설정된 것처럼 유지되는 오류 전파 맵과 관련하여 설명된다. 그러나, 오류 전파 맵을 유지하는 다른 기술도 가능할 것이다. 예를 들어, Zhang의 기술은 채널을 통한 손실의 확률 p의 사전 결정된 추정에 기반하지만, 다른 기술들은 예컨대, 디코더에서 경험되는 p의 값을 피드백하고/하거나 실제 왜곡이 알려질 수 있거나 적어도 더 잘 추정될 수 있도록 어떤 실제 프레임 또는 프레임의 부분이 손실되었는지를 피드백하여 무엇이 손실되었는지를 실제로 아는 것에 손실로 인한 왜곡을 기반할 수 있다.
일반적으로, 전술한 내용은 슬라이스, 미크로블록 및 블록 혹은 서브 블록과 관련하여 설명된 반면, 이들 용어들은 반드시 제한적인 의미로 의도된 것은 아니며, 본원에서 설명된 이념은 프레임을 분할하거나 더 세분하는 임의의 특별한 방식으로 제한되는 것이 아니다. 또한, 왜곡 맵은 전체 프레임 혹은 프레임 내부의 영역을 포괄할 수 있으며, 코딩 판정 프로세스는 전체 프레임에 적용될 수도 있고 또는 프레임 내부의 한 영역에만 적용될 수도 있다. 예측 블록의 입도(granularities)가 왜곡 맵 입도와 반드시 동일하거나 또는 연관되는 것은 아니다(그런 가능성을 배제하는 것은 아니다).
SSD는 종종 차이의 척도로서 바람직한데, 그 이유는 SAD와 비교할 때 품질이 더 높기 때문으로, 후자의 가능성이나 다른 가능성이 배제되는 것은 아니며, 일반적으로 본 발명은 양자화 왜곡에 기초한 샘플들간의 차이의 척도를 이용하여 구현될 수 있다.
보통, 레이트의 척도는 예측을 설명하는 파라미터 및 양자화된 변환 계수를 포함해서 모든 필요한 파라미터의 코딩을 포함한다. 이런 유형의 최적화는 완전 레이트 왜곡 최적화(RDO)로서 본원에서 언급될 것이다. 그러나, 덜 복잡한 실시예에서, 왜곡 및/또는 레이트 항목은 모든 처리 스테이지가 아닌 일부 처리 스테이지의 영향을 포함함으로써 근사화될 수 있는데, 예컨대 예측의 영향을 포함함으로써 근사화될 수 있다.
또한, 본 발명이 두 개의 프레임 n-1 및 n, 혹은 n 및 n+1 등과 관련하여 설명되는 경우, 본 발명의 특정 실시예에 따르면, (비록 기존의 코덱에서의 경우일 수 있더라도) 이들 프레임이 반드시 두 개의 인접 프레임을 지칭할 필요는 없다. 일부 실시예에서, 초기 프레임에 대해서도 인터 예측이 수행되는 것이 가능하고, 임의의 이전에 엔코드된 프레임이나 이미지 부분과 예측될 후속하는 프레임이나 부분을 각각 지칭하기 위해 본 발명과 관련하여 예컨대 n-1 및 n, 또는 n 및 n-1이 이용될 수도 있다.
본 출원에서 손실로 인한 기여분이 언급되거나 "만약" 채널 등을 통해 데이터가 손실될 경우 일어나는 일들을 서술하더라도 이것은 오로지 디코더에 의해 경험될 가능성이 있는 것에 대한 엔코더의 확률론적인 가정(예컨대 p)과 관련있으며, 당연히 엔코더는 무슨 일이 일어날지 알지 못함을 다시 한 번 유의하라. 확률론적 가정은 통계적 네트워크 모델링에 기반하여 설계 단계에서 사전 결정될 수 있고/있거나 디코더로부터의 피드백에 기반하여 동적으로 결정될 수도 있다.
본원의 개시물이 제공되면 다른 변형안들이 당업자에게 자명해질 것이다. 본 발명의 범주는 설명된 실시예들에 의해 제한되지 않으며, 다만 첨부된 특허청구범위에 의해서만 제한된다.

Claims (29)

  1. 비디오 송신 방법으로서,
    복수의 프레임 각각에서의 비디오 이미지를 엔코딩하여 엔코드된 비디오 스트림을 생성하는 단계―상기 복수의 프레임 중 일부 프레임의 엔코딩에는 인터 프레임 엔코딩이 사용됨―와,
    상기 엔코드된 비디오 스트림을 손실성 채널(lossy channel)을 통해 송신하는 단계―상기 엔코드된 비디오 스트림은 수신기에서 디코드되어 디코드된 비디오를 생성함―와,
    상기 비디오 이미지의 엔코딩을 리프레시하기 위해, 상기 채널을 통한 손실의 존재시 인터 예측의 영향으로 인해 상기 디코드된 비디오에서 발생한 오류 전파를 차단하는 복구 동작을 수행하는 단계와,
    상기 오류 전파로 인한 왜곡의 하나 이상의 추정치를 상기 비디오 이미지의 상이한 각각의 일부분들에 매핑하는 오류 전파 왜곡 맵을 유지하는 단계
    를 포함하되,
    상기 복구 동작은 상기 수신기로부터 피드백된 손실을 나타내는 보고(report)에 의해 트리거되고,
    상기 복구 동작은 복수의 프레임에 대해 수행되며 상이한 각각의 프레임에서 상이한 부분 프레임 영역의 엔코딩을 리프레시하며, 상기 부분 프레임 영역의 각각은 하나 이상의 상기 일부분을 포괄하며, 상기 부분 프레임 영역은 상기 복수의 프레임에 대해, 적어도 부분적으로 상이한 상기 일부분들에 대한 오류 전파 왜곡 맵 내의 왜곡의 하나 이상의 추정치에 따라 결정된 우선 순위에 따라 리프레시되어, 보다 큰 추정된 오류 전파에 대응하는 부분 프레임 영역이 상기 복수의 프레임 중 보다 초기에 리프레시되고, 보다 작은 추정된 오류 전파에 대응하는 부분 프레임 영역이 상기 복수의 프레임 중 보다 나중에 리프레시되는
    비디오 송신 방법.
  2. 제1항에 있어서,
    상기 리프레시 동작은 상기 복수의 프레임에 대해 상기 비디오 이미지의 전체의 엔코딩을 리프레시하는
    비디오 송신 방법.
  3. 제1항에 있어서,
    상기 복구 동작은 상기 인터 프레임 엔코딩 대신에 인트라 프레임 엔코딩을 이용하여 하나 이상의 상기 부분 프레임 영역을 엔코딩하는 것을 포함하는
    비디오 송신 방법.
  4. 제1항에 있어서,
    상기 복구 동작은 상기 수신기로부터 피드백된 수취(receipt)의 확인 응답으로 인해 무오류인 것으로 알려진 상기 프레임 중 하나의 프레임의 일부분에 대해 인터 예측을 이용하여 하나 이상의 상기 부분 프레임 영역을 엔코딩하는 것을 포함하는
    비디오 송신 방법.
  5. 제1항에 있어서,
    개별 프레임의 각각에서, 오류 전파 왜곡 맵 내의 상기 일부분들에 대한 상기 하나 이상의 추정치에 기반하여, 상기 부분 프레임 영역 중 오류 전파 왜곡의 가장 큰 추정치에 대응하는 하나의 부분 프레임 영역 또는 부분 프레임 영역의 부분 집합이 리프레시되는
    비디오 송신 방법.
  6. 제1항에 있어서,
    상기 프레임의 개수는, 상기 비디오 이미지가 프레임 내에서 분할될 수 있는 상기 부분 프레임 영역의 개수 이상인
    비디오 송신 방법.
  7. 제1항에 있어서,
    상기 복구 동작에 의한 리프레시를 반영하도록 상기 오류 전파 맵을 업데이트하는 단계를 더 포함하는
    비디오 송신 방법.
  8. 제1항에 있어서,
    각각의 상기 부분 프레임 영역은 복수의 상기 일부분을 포괄하며, 각각의 부분 프레임 영역에 대한 대응하는 추정된 오류 전파 왜곡은 상기 오류 전파 맵 내의 복수의 일부분 각각에 대한 추정치에 기반하여 결정되는
    비디오 송신 방법.
  9. 제1항에 있어서,
    상기 오류 전파 맵 내의 하나 이상의 추정치는, 목표 부분(target portion)이 채널을 통해 도착할 경우에, 목표 부분의 예측이 의존하는 목표 부분의 이력(history) 내의 기준 부분의 비도착으로 인해 경험하는 왜곡의 추정을 나타내는 제 1 기여분(contribution)과, 은폐로 인해 경험하는 왜곡의 추정을 나타내는 제 2 기여분에 기반하는
    비디오 송신 방법.
  10. 제9항에 있어서,
    상기 제 2 기여분은, 상기 목표 부분이 상기 채널을 통해 손실되는 경우에 상기 목표 부분의 손실을 은폐하는데 이용되는 이미지 부분에 대한 상기 목표 부분의 은폐 왜곡의 척도를 나타내는 기여분과, 상기 목표 부분의 은폐가 의존하는 상기 목표 부분의 이력 내의 이미지 부분의 손실로 인해 경험하는 왜곡의 추정을 나타내는 기여분을 포함하는
    비디오 송신 방법.
  11. 송신 단말기로서,
    복수의 프레임 각각에서의 비디오 이미지를 엔코딩하여 엔코드된 비디오 스트림을 생성하도록 구성된 엔코더―상기 복수의 프레임 중 일부 프레임의 엔코딩에는 인터 프레임 엔코딩이 사용됨―와;
    상기 엔코드된 비디오 스트림을 손실성 채널을 통해 송신하도록 구성된 송신기―상기 엔코드된 비디오 스트림은 수신 단말기에서 디코드되어 디코드된 비디오를 생성함―를 포함하되,
    상기 엔코더는 상기 비디오 이미지의 엔코딩을 리프레시하기 위해, 상기 채널을 통한 손실의 존재시 인터 예측의 영향으로 인해 상기 디코드된 비디오에서 발생한 오류 전파를 차단하는 복구 동작을 수행하도록 구성되고,
    상기 엔코더는 상기 복구 동작이 상기 수신 단말기로부터 피드백된 손실을 나타내는 보고(report)에 의해 트리거되도록 구성되며,
    상기 엔코더는, 복수의 프레임에 대해 상기 복구 동작을 수행하고 상이한 각각의 프레임에서 상이한 부분 프레임 영역의 엔코딩을 리프레시하도록 구성되고,
    상기 송신 단말기는 상기 오류 전파로 인한 왜곡의 하나 이상의 추정치를 상기 비디오 이미지의 상이한 각각의 일부분들에 매핑하는 오류 전파 왜곡 맵을 유지하도록 구성되며,
    상기 엔코더는, 상기 부분 프레임 영역의 각각이 하나 이상의 상기 일부분을 포괄하고, 상기 부분 프레임 영역이 적어도 부분적으로 상이한 상기 일부분들에 대한 오류 전파 왜곡 맵 내의 왜곡의 하나 이상의 추정치에 따라 결정된 우선 순위에 따라 리프레시되어, 보다 큰 추정된 오류 전파에 대응하는 부분 프레임 영역이 상기 복수의 프레임 중 보다 초기에 리프레시되고, 보다 작은 추정된 오류 전파에 대응하는 부분 프레임 영역이 상기 복수의 프레임 중 보다 나중에 리프레시되는
    송신 단말기.
  12. 제11항에 있어서,
    상기 엔코더는 상기 리프레시 동작이 상기 복수의 프레임에 대해 상기 비디오 이미지의 전체의 엔코딩을 리프레시하도록 구성되는
    송신 단말기.
  13. 제11항에 있어서,
    상기 엔코더는 상기 복구 동작이 상기 인터 프레임 엔코딩 대신에 인트라 프레임 엔코딩을 이용하여 하나 이상의 상기 부분 프레임 영역을 엔코딩하는 것을 포함하도록 구성되는
    송신 단말기.
  14. 제11항에 있어서,
    상기 엔코더는 상기 복구 동작이 상기 수신기로부터 피드백된 수취(receipt)의 확인 응답으로 인해 무오류인 것으로 알려진 상기 프레임 중 하나의 프레임의 일부분에 대해 인터 예측을 이용하여 하나 이상의 상기 부분 프레임 영역을 엔코딩하는 것을 포함하도록 구성되는
    송신 단말기.
  15. 송신 단말기로서,
    적어도 하나의 프로세서와,
    적어도 하나의 컴퓨터로 판독가능한 저장 메모리 장치 상에 구현되어 상기 적어도 하나의 프로세서에 의해 실행될 경우에 동작을 수행하도록 구성된 코드를 포함하되,
    상기 동작은,
    복수의 프레임 각각에서의 비디오 이미지를 엔코딩하여 엔코드된 비디오 스트림을 생성하는 것―상기 복수의 프레임 중 일부 프레임의 엔코딩에는 인터 프레임 엔코딩이 사용됨―과,
    상기 엔코드된 비디오 스트림을 손실성 채널을 통해 송신하는 것―상기 엔코드된 비디오 스트림은 수신기에서 디코드되어 디코드된 비디오를 생성함―과,
    상기 비디오 이미지의 엔코딩을 리프레시하기 위해, 상기 채널을 통한 손실의 존재시 인터 예측의 영향으로 인해 상기 디코드된 비디오에서 발생한 오류 전파를 차단하는 복구 동작을 수행하는 것을 포함하며,
    상기 복구 동작은 상기 수신기로부터 피드백된 손실을 나타내는 보고(report)에 의해 트리거되고,
    상기 복구 동작은 복수의 프레임에 대해 수행되며 상이한 각각의 프레임에서 상이한 부분 프레임 영역의 엔코딩을 리프레시하고,
    상기 부분 프레임 영역은 상기 복수의 프레임에 대해, 적어도 부분적으로 오류 전파 왜곡 맵 내의 하나 이상의 추정치에 기반하여 결정되는 우선 순위에 따라 리프레시되어, 보다 큰 추정된 오류 전파에 대응하는 부분 프레임 영역이 상기 복수의 프레임 중 보다 초기에 리프레시되고, 보다 작은 추정된 오류 전파에 대응하는 부분 프레임 영역이 상기 복수의 프레임 중 보다 나중에 리프레시되는
    송신 단말기.
  16. 제15항에 있어서,
    상기 코드는 또한 상기 리프레시 동작이 상기 복수의 프레임에 대해 상기 비디오 이미지의 전체의 엔코딩을 리프레시하도록 구성되는
    송신 단말기.
  17. 제15항에 있어서,
    상기 코드는 또한 상기 복구 동작이 상기 인터 프레임 엔코딩 대신에 인트라 프레임 엔코딩을 이용하여 하나 이상의 상기 부분 프레임 영역을 엔코딩하는 것을 포함하도록 구성되는
    송신 단말기.
  18. 제15항에 있어서,
    상기 코드는 또한 상기 복구 동작이 상기 수신기로부터 피드백된 수취(receipt)의 확인 응답으로 인해 무오류인 것으로 알려진 상기 프레임 중 하나의 프레임의 일부분에 대해 인터 예측을 이용하여 하나 이상의 상기 부분 프레임 영역을 엔코딩하는 것을 포함하도록 구성되는
    송신 단말기.
  19. 제15항에 있어서,
    상기 코드는 또한 상기 오류 전파로 인한 왜곡의 하나 이상의 추정을 상기 비디오 이미지의 상이한 각각의 일부분들에 매핑함으로써 오류 전파 왜곡 맵을 유지하는 동작을 더 수행하도록 구성되는
    송신 단말기.
  20. 비디오 송신 방법으로서,
    복수의 프레임 각각에서의 비디오 이미지를 엔코딩하여 엔코드된 비디오 스트림을 생성하는 단계―상기 복수의 프레임 중 일부 프레임의 엔코딩에는 인터 프레임 엔코딩이 사용됨―와,
    상기 엔코드된 비디오 스트림을 손실성 채널을 통해 송신하는 단계―상기 엔코드된 비디오 스트림은 수신기에서 디코드되어 디코드된 비디오를 생성함―와,
    상기 비디오 이미지의 엔코딩을 리프레시하기 위해, 상기 채널을 통한 손실의 존재시 인터 예측의 영향으로 인해 상기 디코드된 비디오에서 발생한 오류 전파를 차단하는 복구 동작을 수행하는 단계
    를 포함하되,
    상기 복구 동작은 상기 수신기로부터 피드백된 손실을 나타내는 보고에 의해 트리거되고,
    상기 복구 동작은 복수의 프레임에 대해 수행되고 상이한 각각의 프레임에서 상이한 부분 프레임 영역의 엔코딩을 리프레시하며,
    상기 부분 프레임 영역은 상기 복수의 프레임에 대해, 적어도 부분적으로 오류 전파 왜곡 맵 내의 추정치에 기반하여 결정되는 우선 순위에 따라 리프레시되어, 보다 큰 추정된 오류 전파에 대응하는 부분 프레임 영역이 상기 복수의 프레임 중 보다 초기에 리프레시되고, 보다 작은 추정된 오류 전파에 대응하는 부분 프레임 영역이 상기 복수의 프레임 중 보다 나중에 리프레시되는
    비디오 송신 방법.
  21. 제20항에 있어서,
    상기 리프레시 동작은 상기 복수의 프레임에 대해 상기 비디오 이미지의 전체의 엔코딩을 리프레시하는
    비디오 송신 방법.
  22. 제20항에 있어서,
    상기 복구 동작은 상기 인터 프레임 엔코딩 대신에 인트라 프레임 엔코딩을 이용하여 하나 이상의 상기 부분 프레임 영역을 엔코딩하는 것을 포함하는
    비디오 송신 방법.
  23. 제20항에 있어서,
    상기 복구 동작은 상기 수신기로부터 피드백된 수취(receipt)의 확인 응답으로 인해 무오류인 것으로 알려진 상기 프레임 중 하나의 프레임의 일부분에 대해 인터 예측을 이용하여 하나 이상의 상기 부분 프레임 영역을 엔코딩하는 것을 포함하는
    비디오 송신 방법.
  24. 제20항에 있어서,
    개별 프레임의 각각에서, 오류 전파 왜곡 맵 내의 상기 일부분들에 대한 상기 추정치에 기반하여, 상기 부분 프레임 영역 중 오류 전파 왜곡의 가장 큰 추정치에 대응하는 하나의 부분 프레임 영역 또는 부분 프레임 영역의 부분 집합이 리프레시되는
    비디오 송신 방법.
  25. 제20항에 있어서,
    상기 프레임의 개수는, 상기 비디오 이미지가 프레임 내에서 분할될 수 있는 상기 부분 프레임 영역의 개수 이상인
    비디오 송신 방법.
  26. 제20항에 있어서,
    상기 복구 동작에 의한 리프레시를 반영하도록 상기 오류 전파 맵을 업데이트하는 단계를 더 포함하는
    비디오 송신 방법.
  27. 제20항에 있어서,
    각각의 상기 부분 프레임 영역은 복수의 상기 일부분을 포괄하며, 각각의 부분 프레임 영역에 대한 대응하는 추정된 오류 전파 왜곡은 적어도 부분적으로 상기 오류 전파 맵 내의 복수의 상기 일부분 각각에 대한 추정치에 기반하여 결정되는
    비디오 송신 방법.
  28. 제20항에 있어서,
    상기 오류 전파 맵 내의 추정치는, 목표 부분이 상기 채널을 통해 도착할 경우에 목표 부분의 예측이 의존하는 목표 부분의 이력(history) 내의 기준 부분의 비도착으로 인해 경험하는 왜곡의 추정을 나타내는 제 1 기여분(contribution)과, 은폐로 인해 경험하는 왜곡의 추정을 나타내는 제 2 기여분에 기반하는
    비디오 송신 방법.
  29. 제28항에 있어서,
    상기 제 2 기여분은, 상기 목표 부분이 상기 채널을 통해 손실되는 경우에 상기 목표 부분의 손실을 은폐하는데 이용되는 이미지 부분에 대한 상기 목표 부분의 은폐 왜곡의 척도를 나타내는 기여분과, 상기 목표 부분의 은폐가 의존하는 상기 목표 부분의 이력 내의 이미지 부분의 손실로 인해 경험하는 왜곡의 추정을 나타내는 기여분을 포함하는
    비디오 송신 방법.
KR1020147005587A 2011-09-02 2012-09-02 오류 전파 추적 및 수신기로부터의 오류 피드백을 이용한 비디오 리프레시 기법 KR102146583B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
GB1115209.7A GB2495468B (en) 2011-09-02 2011-09-02 Video coding
GB1115209.7 2011-09-02
US13/274,803 US8908761B2 (en) 2011-09-02 2011-10-17 Video coding
US13/274,803 2011-10-17
PCT/US2012/053580 WO2013033676A1 (en) 2011-09-02 2012-09-02 Video refresh with error propagation tracking and error feedback from receiver

Publications (2)

Publication Number Publication Date
KR20140056316A KR20140056316A (ko) 2014-05-09
KR102146583B1 true KR102146583B1 (ko) 2020-08-21

Family

ID=44882143

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147005587A KR102146583B1 (ko) 2011-09-02 2012-09-02 오류 전파 추적 및 수신기로부터의 오류 피드백을 이용한 비디오 리프레시 기법

Country Status (6)

Country Link
US (2) US8908761B2 (ko)
EP (1) EP2737701B1 (ko)
JP (1) JP6175666B2 (ko)
KR (1) KR102146583B1 (ko)
GB (1) GB2495468B (ko)
WO (1) WO2013033676A1 (ko)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
GB2495469B (en) 2011-09-02 2017-12-13 Skype Video coding
GB2495468B (en) 2011-09-02 2017-12-13 Skype Video coding
US9407923B2 (en) * 2013-05-20 2016-08-02 Gamefly Israel Ltd. Overconing lost IP packets in streaming video in IP networks
EP3047639B1 (en) 2013-09-20 2018-07-18 VID SCALE, Inc. Video encoder and methods providing 3d look-up table coding for color gamut scalability
AU2014362246B2 (en) 2013-12-13 2018-01-25 Vid Scale, Inc. Color gamut scalable video coding device and method for the phase alignment of luma and chroma using interpolation
US9380097B2 (en) * 2014-04-01 2016-06-28 Gamefly Israel Ltd. Overcoming data loss in streaming video in IP networks
GB2536059B (en) 2015-03-06 2017-03-01 Garrison Tech Ltd Secure control of insecure device
JP6558071B2 (ja) * 2015-05-20 2019-08-14 富士通コネクテッドテクノロジーズ株式会社 無線通信装置、無線通信プログラム、及び無線通信方法
JP6642573B2 (ja) 2015-06-24 2020-02-05 ソニー株式会社 符号化装置、復号装置及び伝送制御方法
US20170013274A1 (en) * 2015-07-09 2017-01-12 Microsoft Technology Licensing, Llc Intra-refresh for video streaming
US10003811B2 (en) 2015-09-01 2018-06-19 Microsoft Technology Licensing, Llc Parallel processing of a video frame
US10595025B2 (en) 2015-09-08 2020-03-17 Microsoft Technology Licensing, Llc Video coding
US10313685B2 (en) * 2015-09-08 2019-06-04 Microsoft Technology Licensing, Llc Video coding
US20170085871A1 (en) * 2015-09-22 2017-03-23 Ati Technologies Ulc Real time video coding system with error recovery using earlier reference picture
CN105405155A (zh) * 2015-10-21 2016-03-16 努比亚技术有限公司 一种信息处理方法及移动终端
GB2545010B (en) 2015-12-03 2018-01-03 Garrison Tech Ltd Secure boot device
US10841621B2 (en) * 2017-03-01 2020-11-17 Wyse Technology L.L.C. Fault recovery of video bitstream in remote sessions
US11138076B2 (en) * 2017-06-30 2021-10-05 Redis Ltd. Methods, systems, and media for controlling append-only file rewrites
US10291936B2 (en) * 2017-08-15 2019-05-14 Electronic Arts Inc. Overcoming lost or corrupted slices in video streaming
US20190068983A1 (en) * 2017-08-25 2019-02-28 Advanced Micro Devices, Inc. Sending a Frame Difference or Raw Chunk Based on a Known Acknowledgement
US10523947B2 (en) 2017-09-29 2019-12-31 Ati Technologies Ulc Server-based encoding of adjustable frame rate content
US10594901B2 (en) 2017-11-17 2020-03-17 Ati Technologies Ulc Game engine application direct to video encoder rendering
US11290515B2 (en) 2017-12-07 2022-03-29 Advanced Micro Devices, Inc. Real-time and low latency packetization protocol for live compressed video data
US11109025B2 (en) * 2018-06-04 2021-08-31 Tencent America LLC Method and apparatus for sub-block based temporal motion vector prediction
US10841617B2 (en) 2018-11-27 2020-11-17 Semiconductor Components Industries, Llc Methods and apparatus for successive intra block prediction
US10936055B2 (en) * 2019-01-24 2021-03-02 Dell Products, L.P. Encoding content for virtual, augmented, and mixed reality (xR) applications in connectivity-constrained environments
US11100604B2 (en) 2019-01-31 2021-08-24 Advanced Micro Devices, Inc. Multiple application cooperative frame-based GPU scheduling
US10886943B2 (en) * 2019-03-18 2021-01-05 Samsung Electronics Co., Ltd Method and apparatus for variable rate compression with a conditional autoencoder
US11418797B2 (en) 2019-03-28 2022-08-16 Advanced Micro Devices, Inc. Multi-plane transmission
EP4062638A4 (en) * 2019-12-27 2023-01-11 Zhejiang Dahua Technology Co., Ltd AFFINE PREDICTION PROCESS AND ASSOCIATED DEVICES
US11870575B2 (en) * 2020-05-05 2024-01-09 Google Llc Systems and methods for error detection in transmitted video data
US11488328B2 (en) 2020-09-25 2022-11-01 Advanced Micro Devices, Inc. Automatic data format detection
JPWO2022168516A1 (ko) * 2021-02-08 2022-08-11
CN113347422B (zh) * 2021-05-13 2022-07-12 北京大学 一种粗粒度上下文熵编码方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090252227A1 (en) 2008-04-07 2009-10-08 Qualcomm Incorporated Video refresh adaptation algorithms responsive to error feedback

Family Cites Families (108)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0620303B2 (ja) * 1984-11-08 1994-03-16 日本電信電話株式会社 フレ−ム間符号化方式におけるリフレッシュ処理方式
JP2661122B2 (ja) * 1988-04-07 1997-10-08 日本電気株式会社 フレーム間予測符号化復号化装置
FR2700632B1 (fr) 1993-01-21 1995-03-24 France Telecom Système de codage-décodage prédictif d'un signal numérique de parole par transformée adaptative à codes imbriqués.
JPH10145794A (ja) * 1996-11-11 1998-05-29 Oki Electric Ind Co Ltd 画像符号化方法及び画像符号化装置
JPH11218673A (ja) 1998-01-30 1999-08-10 Olympus Optical Co Ltd カメラシステム
JPH11289542A (ja) * 1998-02-09 1999-10-19 Matsushita Electric Ind Co Ltd 画像符号化装置、画像符号化方法、および画像符号化プログラムを記録した記録媒体
US6434196B1 (en) 1998-04-03 2002-08-13 Sarnoff Corporation Method and apparatus for encoding video information
US6421387B1 (en) 1998-05-15 2002-07-16 North Carolina State University Methods and systems for forward error correction based loss recovery for interactive video transmission
JP3606306B2 (ja) * 1998-10-08 2005-01-05 沖電気工業株式会社 画像符号化装置、画像復号化装置及び画像伝送システム
US6320919B1 (en) 1998-11-30 2001-11-20 Ericsson Inc. Adaptive channel characterization using decoded symbols
US6499060B1 (en) 1999-03-12 2002-12-24 Microsoft Corporation Media coding for loss recovery with remotely predicted data units
US7093028B1 (en) 1999-12-15 2006-08-15 Microsoft Corporation User and content aware object-based data stream transmission methods and arrangements
AU2001286534A1 (en) 2000-08-18 2002-03-04 Bhaskar D. Rao Fixed, variable and adaptive bit rate data source encoding (compression) method
JP4525878B2 (ja) * 2000-10-02 2010-08-18 日本電気株式会社 動画像符号化方法
GB2370452B (en) 2000-12-19 2004-10-20 Inmarsat Ltd Communication method and apparatus
JP2003032287A (ja) 2001-07-16 2003-01-31 Furukawa Electric Co Ltd:The ネットワーク間接続方法、その装置およびその装置を用いたシステム
US7257163B2 (en) 2001-09-12 2007-08-14 Silicon Image, Inc. Method and system for reducing inter-symbol interference effects in transmission over a serial link with mapping of each word in a cluster of received words to a single transmitted word
US20030151513A1 (en) 2002-01-10 2003-08-14 Falk Herrmann Self-organizing hierarchical wireless network for surveillance and control
US7317759B1 (en) 2002-02-28 2008-01-08 Carnegie Mellon University System and methods for video compression mode decisions
US7391807B2 (en) 2002-04-24 2008-06-24 Mitsubishi Electric Research Laboratories, Inc. Video transcoding of scalable multi-layer videos to single layer video
FR2840495B1 (fr) 2002-05-29 2004-07-30 Canon Kk Procede et dispositif de selection d'une methode de transcodage parmi un ensemble de methodes de transcodage
AU2003280512A1 (en) 2002-07-01 2004-01-19 E G Technology Inc. Efficient compression and transport of video over a network
FR2846835B1 (fr) 2002-11-05 2005-04-15 Canon Kk Codage de donnees numeriques combinant plusieurs modes de codage
EP1439712A1 (en) 2002-12-17 2004-07-21 Visiowave S.A. Method of selecting among "Spatial Video CODEC's" the optimum CODEC for a same input signal
CN100499788C (zh) 2003-01-09 2009-06-10 加利福尼亚大学董事会 视频编码设备
US7672523B2 (en) 2003-03-03 2010-03-02 The Hong Kong University Of Science And Technology Efficient rate allocation for multi-resolution coding of data
US7280597B2 (en) 2003-06-24 2007-10-09 Mitsubishi Electric Research Laboratories, Inc. System and method for determining coding modes, DCT types and quantizers for video coding
US7433661B2 (en) 2003-06-25 2008-10-07 Lucent Technologies Inc. Method for improved performance and reduced bandwidth channel state information feedback in communication systems
KR20050061762A (ko) 2003-12-18 2005-06-23 학교법인 대양학원 부호화 모드 결정방법, 움직임 추정방법 및 부호화 장치
JP4031455B2 (ja) 2004-03-29 2008-01-09 株式会社東芝 画像符号化装置
EP1603339A1 (en) 2004-06-01 2005-12-07 STMicroelectronics S.r.l. Method and system for communicating video data in a packet-switched network, related network and computer program product therefor
US7525939B2 (en) 2004-08-31 2009-04-28 Ntt Docomo, Inc. Communication system and method using a relay node
US8948266B2 (en) 2004-10-12 2015-02-03 Qualcomm Incorporated Adaptive intra-refresh for digital video encoding
US20060098573A1 (en) 2004-11-08 2006-05-11 Beer John C System and method for the virtual aggregation of network links
US8634413B2 (en) 2004-12-30 2014-01-21 Microsoft Corporation Use of frame caching to improve packet loss recovery
JP5036559B2 (ja) 2005-01-18 2012-09-26 トムソン ライセンシング チャネルによって引き起こされる歪みを推定する方法及び装置
US9667999B2 (en) 2005-04-25 2017-05-30 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for encoding video data
US20060268976A1 (en) 2005-05-03 2006-11-30 Motorola, Inc. Method and apparatus for determining channel quality and performing adaptive modulation coding within a multi carrier communication system
DE102005029127A1 (de) * 2005-06-23 2007-04-19 On Demand Microelectronics Ag Verfahren und Vorrichtung zur optimierten prädiktiven Videocodierung
US20070030894A1 (en) 2005-08-03 2007-02-08 Nokia Corporation Method, device, and module for improved encoding mode control in video encoding
US8139642B2 (en) 2005-08-29 2012-03-20 Stmicroelectronics S.R.L. Method for encoding signals, related systems and program product therefor
US7916796B2 (en) 2005-10-19 2011-03-29 Freescale Semiconductor, Inc. Region clustering based error concealment for video data
US7242360B2 (en) 2005-11-14 2007-07-10 Northrop Grumman Corporation High power dual band high gain antenna system and method of making the same
CN101371312B (zh) 2005-12-08 2015-12-02 维德约股份有限公司 用于视频通信系统中的差错弹性和随机接入的系统和方法
WO2007070056A1 (en) 2005-12-15 2007-06-21 Thomson Licensing An adaptive joint source and channel coding scheme for h.264 video multicasting over wireless networks
US20090086827A1 (en) 2005-12-22 2009-04-02 Zhenyu Wu Method and Apparatus for Optimization of Frame Selection for Flexible Macroblock Ordering (FMO) Video Encoding
EP1977612A2 (en) 2006-01-09 2008-10-08 Nokia Corporation Error resilient mode decision in scalable video coding
WO2007084475A2 (en) 2006-01-17 2007-07-26 Thomson Licensing Methods and apparatus for low complexity error resilient motion estimation and coding mode selection
US20070285501A1 (en) 2006-06-09 2007-12-13 Wai Yim Videoconference System Clustering
US8395414B2 (en) 2006-06-21 2013-03-12 Element Cxi, Llc Hierarchically-scalable reconfigurable integrated circuit architecture with unit delay modules
US7733913B1 (en) 2006-07-31 2010-06-08 Hewlett-Packard Development Company, L.P. Striping data over transmission channels
JP4845640B2 (ja) 2006-08-23 2011-12-28 富士通株式会社 無線通信システムおよび無線通信方法
WO2008027249A2 (en) 2006-08-28 2008-03-06 Thomson Licensing Method and apparatus for determining expected distortion in decoded video blocks
US8861597B2 (en) 2006-09-18 2014-10-14 Sharp Laboratories Of America, Inc. Distributed channel time allocation for video streaming over wireless networks
US9872045B2 (en) 2006-10-16 2018-01-16 Conversant Wireless Licensing S.A R.L. Method, electronic device, system, computer program product and circuit assembly for reducing error in video coding
US8467448B2 (en) 2006-11-15 2013-06-18 Motorola Mobility Llc Apparatus and method for fast intra/inter macro-block mode decision for video encoding
CN101595736B (zh) 2006-12-15 2013-04-24 汤姆森特许公司 失真度估算
EP2118810B1 (en) 2007-02-05 2012-08-15 Andrew Corporation System and method for optimizing location estimate of mobile unit
EP2135430B1 (en) 2007-03-20 2018-04-11 Thomson Licensing Hierarchically clustered p2p streaming system
US8824567B2 (en) 2007-04-04 2014-09-02 Ittiam Systems (P) Ltd. Method and device for tracking error propagation and refreshing a video stream
KR100898176B1 (ko) 2007-06-12 2009-05-19 한국전자통신연구원 비디오 인코딩을 위한 인터 모드 결정 방법
US20080316364A1 (en) 2007-06-25 2008-12-25 The Hong Kong University Of Science And Technology Rate distortion optimization for video denoising
US8265144B2 (en) 2007-06-30 2012-09-11 Microsoft Corporation Innovations in video decoder implementations
US8254455B2 (en) 2007-06-30 2012-08-28 Microsoft Corporation Computing collocated macroblock information for direct mode macroblocks
US8982947B2 (en) 2007-07-20 2015-03-17 The Hong Kong University Of Science And Technology Rate control and video denoising for noisy video data
CN100566427C (zh) 2007-07-31 2009-12-02 北京大学 用于视频编码的帧内预测编码最佳模式的选取方法及装置
US20090067495A1 (en) 2007-09-11 2009-03-12 The Hong Kong University Of Science And Technology Rate distortion optimization for inter mode generation for error resilient video coding
JP5427785B2 (ja) 2007-09-28 2014-02-26 ドルビー ラボラトリーズ ライセンシング コーポレイション ビデオ圧縮技法及びビデオ伝達技法
US20090103635A1 (en) 2007-10-17 2009-04-23 Peshala Vishvajith Pahalawatta System and method of unequal error protection with hybrid arq/fec for video streaming over wireless local area networks
US20090110062A1 (en) 2007-10-30 2009-04-30 The Hong Kong University Of Science And Technology Optimal heegard-berger coding schemes
US20090135901A1 (en) 2007-11-28 2009-05-28 The Hong Kong University Of Science And Technology Complexity adaptive video encoding using multiple reference frames
CN101459835A (zh) 2007-12-12 2009-06-17 上海摩波彼克半导体有限公司 认知无线电网络中提高跨层多媒体传输质量的方法
FR2925819A1 (fr) 2007-12-21 2009-06-26 Thomson Licensing Sas Procede de codage double passe par macrobloc
US8238427B2 (en) 2008-01-17 2012-08-07 Texas Instruments Incorporated Rate distortion optimized adaptive intra refresh for video coding
US8265171B2 (en) 2008-02-26 2012-09-11 Richwave Technology Corp. Error resilient video transmission using instantaneous receiver feedback and channel quality adaptive packet retransmission
US8798137B2 (en) 2008-02-29 2014-08-05 City University Of Hong Kong Bit rate estimation in data or video compression
JP5400876B2 (ja) 2008-06-16 2014-01-29 ドルビー ラボラトリーズ ライセンシング コーポレイション ビデオ符号化のための、スライス依存性に基づくレート制御モデル適合化
EP2139138B1 (en) 2008-06-24 2013-06-19 Alcatel Lucent Radio link adaption of a channel between a first network element and a second network element in a communication network
US20110182356A1 (en) 2008-07-25 2011-07-28 Satya Ghosh Ammu A method for the estimation of spatio-temporal homogeneity in video sequences
US9479786B2 (en) 2008-09-26 2016-10-25 Dolby Laboratories Licensing Corporation Complexity allocation for video and image coding applications
KR101619972B1 (ko) 2008-10-02 2016-05-11 한국전자통신연구원 이산 여현 변환/이산 정현 변환을 선택적으로 이용하는 부호화/복호화 장치 및 방법
US20100106431A1 (en) 2008-10-29 2010-04-29 Hitachi, Ltd. Apparatus and method for ultrasonic testing
KR101217525B1 (ko) 2008-12-22 2013-01-18 한국전자통신연구원 비터비 디코더와 이를 이용한 음성 인식 방법
US8780821B2 (en) 2009-02-20 2014-07-15 Qualcomm Incorporated Channel interleaver for transmission of multiple code blocks in a wireless communication system
US20100238997A1 (en) 2009-03-17 2010-09-23 Yang En-Hui Method and system for optimized video coding
EP2230849A1 (en) 2009-03-20 2010-09-22 Mitsubishi Electric R&D Centre Europe B.V. Encoding and decoding video data using motion vectors
US8031747B2 (en) 2009-04-29 2011-10-04 Juniper Networks, Inc. Apparatus and method of compensating for clock frequency and phase variations by processing packet delay values
US8270473B2 (en) 2009-06-12 2012-09-18 Microsoft Corporation Motion based dynamic resolution multiple bit rate video encoding
US8477846B2 (en) 2009-10-07 2013-07-02 Ittiam Systems (P) Ltd. System and method for adaptive intra refresh rate setting in a video encoder
US8411750B2 (en) 2009-10-30 2013-04-02 Qualcomm Incorporated Global motion parameter estimation using block-based motion vectors
TWI390503B (zh) 2009-11-19 2013-03-21 Gemtek Technolog Co Ltd Dual channel voice transmission system, broadcast scheduling design module, packet coding and missing sound quality damage estimation algorithm
GB2476271B (en) 2009-12-17 2015-09-02 Skype Coding data streams
US8553796B2 (en) 2009-12-23 2013-10-08 Intel Corporation Distortion-aware multiple input multiple output precoding
WO2011083439A1 (en) 2010-01-08 2011-07-14 Nokia Corporation An apparatus, a method and a computer program for video coding
US20110206118A1 (en) 2010-02-19 2011-08-25 Lazar Bivolarsky Data Compression for Video
EP2543189A1 (en) 2010-03-05 2013-01-09 Thomson Licensing Bit rate adjustment in an adaptive streaming system
US9131238B2 (en) 2010-06-18 2015-09-08 The Trustees Of Princeton University System and method for lossy source-channel coding at the application layer
US9131395B2 (en) 2010-09-08 2015-09-08 Broadcom Corporation Acknowledgment and/or receiver recovery mechanisms for scheduled responses within multiple user, multiple access, and/or MIMO wireless communications
US20120069927A1 (en) 2010-09-17 2012-03-22 Intel Corporation CQI feedback mechanisms for distortion-aware link adaptation toward enhanced multimedia communications
ES2870905T3 (es) 2010-10-20 2021-10-28 Guangdong Oppo Mobile Telecommunications Corp Ltd Optimización de la distorsión de la tasa resistente a errores para codificación de imagen y video
WO2012171113A1 (en) 2011-06-14 2012-12-20 Zhou Wang Method and system for structural similarity based rate-distortion optimization for perceptual video coding
GB2492330B (en) 2011-06-24 2017-10-18 Skype Rate-Distortion Optimization with Encoding Mode Selection
GB2492163B (en) 2011-06-24 2018-05-02 Skype Video coding
GB2492329B (en) 2011-06-24 2018-02-28 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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090252227A1 (en) 2008-04-07 2009-10-08 Qualcomm Incorporated Video refresh adaptation algorithms responsive to error feedback

Also Published As

Publication number Publication date
US20130058394A1 (en) 2013-03-07
GB201115209D0 (en) 2011-10-19
US9307265B2 (en) 2016-04-05
GB2495468A (en) 2013-04-17
KR20140056316A (ko) 2014-05-09
GB2495468B (en) 2017-12-13
JP6175666B2 (ja) 2017-08-09
JP2014528200A (ja) 2014-10-23
WO2013033676A1 (en) 2013-03-07
EP2737701B1 (en) 2021-07-14
EP2737701A1 (en) 2014-06-04
US8908761B2 (en) 2014-12-09
US20150071353A1 (en) 2015-03-12

Similar Documents

Publication Publication Date Title
KR102146583B1 (ko) 오류 전파 추적 및 수신기로부터의 오류 피드백을 이용한 비디오 리프레시 기법
KR102064023B1 (ko) 무-에러 기준 프레임을 이용한 비디오 리프레시 기법
JP6047835B2 (ja) 符号化方法及び送信端末
EP2712481B1 (en) Mode decision with perceptual-based intra switching
US8804836B2 (en) Video coding
EP2712482B1 (en) Low complexity mode selection
EP2710802B1 (en) Rate-distortion optimization for video coding
CN102946534A (zh) 视频编码
CN102946533A (zh) 视频编码
CN102946532A (zh) 视频编码
Yang et al. Rate-distortion optimized reference picture selection

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant