KR20150111993A - 손실된 비디오 데이터의 조건부 은닉 - Google Patents

손실된 비디오 데이터의 조건부 은닉 Download PDF

Info

Publication number
KR20150111993A
KR20150111993A KR1020157023189A KR20157023189A KR20150111993A KR 20150111993 A KR20150111993 A KR 20150111993A KR 1020157023189 A KR1020157023189 A KR 1020157023189A KR 20157023189 A KR20157023189 A KR 20157023189A KR 20150111993 A KR20150111993 A KR 20150111993A
Authority
KR
South Korea
Prior art keywords
concealment
region
interest
frame
estimate
Prior art date
Application number
KR1020157023189A
Other languages
English (en)
Other versions
KR102185803B1 (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 KR20150111993A publication Critical patent/KR20150111993A/ko
Application granted granted Critical
Publication of KR102185803B1 publication Critical patent/KR102185803B1/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/127Prioritisation of hardware or computational resources
    • 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/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • 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/167Position within a video image, e.g. region of interest [ROI]
    • 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/172Methods 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 picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction

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

수신 장치는 비디오 신호를 수신하는 수신기; 비디오 신호를 화면, 저장 디바이스 또는 추가의 단말로 출력하는 출력부; 및 비디오 신호의 손실된 구역에 은닉 알고리즘을 적용하는 은닉 모듈을 포함한다. 은닉 모듈은 문제의 구역 내의 관심 영역 쪽으로 선택적으로 지향되어 있는 은닉 품질의 추정치를 결정하고, 추정치에 기초하여, 은닉 알고리즘을 적용할지 여부를 결정하도록 구성되어 있다.

Description

손실된 비디오 데이터의 조건부 은닉{CONDITIONAL CONCEALMENT OF LOST VIDEO DATA}
본 발명은 손실된 비디오 데이터의 조건부 은닉에 관한 것이다.
최근의 통신 시스템들에서, 비디오 신호가, 유선 및/또는 무선 네트워크, 종종 패킷 기반 네트워크(인터넷 등)와 같은 매체를 통해, 하나의 단말로부터 또다른 단말로 송신될 수 있다. 전형적으로, 비디오의 프레임들은 네트워크를 통한 전송을 위해 프레임들을 압축하기 위해 전송 단말에서 인코더에 의해 인코딩된다. 주어진 프레임에 대한 인코딩은 해당 블록들이 동일한 프레임 내의 다른 블록들과 관련하여 인코딩되는 인트라 프레임 인코딩(intra frame encoding)을 포함할 수 있다. 이 경우에, 블록은 해당 블록과 이웃 블록 간의 차분(difference)[잔차(residual)]의 측면에서 인코딩된다. 대안적으로, 어떤 프레임들에 대한 인코딩은 대상 프레임(target frame) 내의 블록들이, 전형적으로 움직임 예측(motion prediction)에 기초하여, 선행 프레임(preceding frame) 내의 대응하는 부분들과 관련하여 인코딩되는 인터 프레임 인코딩(inter frame encoding)을 포함할 수 있다. 이 경우에, 블록은 해당 블록과 대응하는 부분(이로부터 블록은 예측될 것임) 사이의 오프셋을 식별해주는 움직임 벡터(motion vector) 및 해당 블록과 대응하는 부분(이로부터 블록은 예측됨) 사이의 차분(잔차)의 측면에서 인코딩된다. 수신기에 있는 대응하는 디코더는, 화면으로 출력하기 위해 수신되는 비디오 신호의 프레임들을 압축 해제하기 위해, 이러한 프레임들을 적절한 유형의 예측에 기초하여 디코딩한다.
그렇지만, 프레임들 또는 프레임들의 일부가 전송 중에 손실될 수 있다. 예를 들어, 전형적으로 패킷 기반 네트워크들은 모든 패킷들의 전달을 보장하지 않는다 - 예컨대, 패킷들 중 하나 이상이 혼잡(congestion)으로 인해 중간의 라우터에서 드랍(drop)될 수 있다 -. 다른 예로서, 데이터가 네트워크 매체의 열악한 조건들(예컨대, 잡음 또는 간섭)로 인해 손상될 수 있다. 인코딩된 비트스트림에 포함된 중복 정보(redundant information)에 기초하여, 손실된 패킷들을 복구하기 위해, 순방향 오류 정정(forward error correction, FEC) 또는 다른 이러한 코딩 기법들이 때때로 사용될 수 있다. 그렇지만, 특정 패킷들이 FEC 후에 여전히 복구되지 않는 경우, 신호의 손실된 부분들이 디코더에서 디코딩될 수 없다.
이것에 대응하기 위해, 현재 프레임 내의 손실된 데이터의 패치(patch)들을 은닉시키기 위해 디코더측에서 은닉(concealment) 알고리즘을 제공하는 것이 공지되어 있다. 은닉 알고리즘은 성공적으로 수신되어 디코딩된 정보로부터 손실된 데이터에 대한 교체물(replacement)을 외삽(extrapolate)하거나 또는 보간(interpolate)하는 것에 의해 - 수신된 선행 프레임으로부터 교체 데이터(replacement data)를 외삽하는 것에 의해; 또는 동일한 프레임의 다른 수신된 부분으로부터 교체 데이터를 외삽하는 것에 의해; 또는 동일한 프레임의 수신된 부분들 사이에서 보간하는 것에 의해 - 동작한다. 즉, 전형적으로 은닉은 디코딩된 데이터(영상, 움직임 벡터)에 대해 작용하고, 동일한 유형의 데이터를 재구성하려고 시도한다. 은닉 알고리즘을 적용하는 것에 대한 대안은 현재 프레임을 단순히 폐기시키고 그 대신에, 사용가능한 후속 프레임이 수신되어 디코딩이 재시작될 수 있을 때까지, 선행 프레임을 프리즈(freeze)하는 것이다. 어떤 때는, 은닉이 이전 프레임을 단지 프리즈하는 것보다 더 나은 품질을 제공하지만, 다른 때는 그렇지 않다. 예컨대, 은닉으로 인해, 단지 프리즈하는 것보다 지각적으로 더 좋지 않은 가시 아티팩트(visible artefact)가 생길 수 있다.
이하에서, 언제 은닉을 적용하고 언제 은닉을 적용하지 않을지를 결정하는 방식이 제공된다. 이러한 결정은 동작 동안 동적으로, 예컨대, 프레임 단위로(on a frame-by-frame basis) 행해질 수 있다. 이것을 하기 위해, 이러한 결정은 수신된 신호로부터 손실된 구역(손실된 프레임 등)에 걸쳐 은닉이 적용되는 경우 획득될 품질의 추정치에 기초한다.
본 명세서에 개시된 실시예들에 따르면, 수신 장치는 비디오 신호를 수신하는 수신기; 비디오 신호를 화면으로 출력하는 출력부(output); 및 손실된 데이터를 가지는 비디오 신호의 구역에 은닉 알고리즘(concealment algorithm)을 적용하는 은닉 모듈(concealment module)을 포함한다. 예를 들어, 비디오 신호는 복수의 프레임들을 포함할 수 있고, 은닉될 가능성이 있는 구역은 손실된 프레임일 수 있다. 은닉 모듈은 문제의 구역 내의 관심 영역 쪽으로 선택적으로 지향되어 있는(directed) 은닉 품질의 추정치를 결정한다. 즉, 추정치는 - 추정치가 관심 영역에만 기초한다는 점에서 또는 추정치가 그 영역 쪽으로 적어도 편향(biased)되어 있다는 점에서 - 손실된 데이터를 가지는 구역보다 더 작은 특정의 영역 쪽으로 지향되어 있다. 이러한 추정치에 기초하여, 은닉 모듈은 은닉 알고리즘을 적용할지 여부를 결정한다. 하나 이상의 실시예들에서, 은닉 모듈은, 추정이 행해진 관심 영역 및 관심 영역 밖의 추가의 영역 둘 다를 포함하는, 고려 중인 구역 전체에 대한 은닉 결정을 행하기 위해 이 추정치를 사용할 수 있다. 즉, 추정치는 은닉 결정이 행해져야 하는 구역보다 더 작은 특정의 관심 영역 쪽으로 지향되어 있을 수 있다. 예컨대, 프레임 내의 더 작은 관심 영역 쪽으로 지향되어 있는 은닉 품질의 추정치에 기초하여, 손실된 프레임 전체에 걸쳐 다양한 패치들을 은닉시킬지에 관한 단일의 결정이 행해질 수 있다.
예시로서, 하나의 예시적인 구현에서, 패킷 기반 네트워크를 통해 제1 사용자의 단말과 제2 사용자의 단말 사이에 라이브 화상 통화(live video call)가 설정될 수 있다. 그 통화의 일부로서, 제1 사용자의 단말은 제2 사용자를 표현하는 복수의 프레임들을 포함하는 라이브 비디오 스트림(live video stream)을, 인코딩된 형태로, 수신할 수 있다. 제1 (수신측) 사용자의 단말에서 실행 중인 코드는 비디오 스트림의 수신되는 프레임들을 디코딩하고, 비디오 스트림을 화면으로 출력하며, 또한 손실된 데이터를 포함하는 비디오 스트림의 대상 프레임에 은닉 알고리즘을 조건부로 적용하기 위해 사용될 수 있으며, 여기서, 적용될 때, 은닉 알고리즘은 대상 프레임의 손실된 데이터를 이전의 수신된 디코딩된 프레임으로부터 투영한다. 은닉 알고리즘의 조건부 적용은, 대상 프레임의 구역 내에서, 제2 사용자의 얼굴의 적어도 일부를 포함하는 관심 영역을 결정하는 것을 포함할 수 있다. 관심 영역 쪽으로 선택적으로 지향되어 있는 은닉 품질의 추정치가 이어서 결정되고; 이 추정치에 기초하여, 은닉 알고리즘을 적용할지 여부에 관한 결정이 대상 프레임 전체에 대해 한번 행해질 수 있다. 은닉 알고리즘이 적용되지 않을 때, 그 대신에, 선행 프레임이 대상 프레임에 대응하는 지속기간 동안 프리즈될 수 있다.
이 발명의 내용은 이하에서 발명을 실시하기 위한 구체적인 내용에 추가로 기술되는 일련의 개념들을 간략화된 형태로 소개하기 위해 제공된다. 이 발명의 내용은 청구된 발명 요지의 주요 특징들 또는 필수적인 특징들을 언급하기 위한 것이 아니며, 청구된 발명 요지의 범주를 제한하기 위해 사용되기 위한 것도 아니다. 청구된 발명 요지가 배경 기술 섹션에서 살펴본 단점들 중 일부 또는 그 전부를 해결하는 구현들로 제한되지도 않는다.
도 1은 비디오 스트림의 개략적 표현을 나타낸 도면.
도 2는 통신 시스템의 개략 블록도.
도 3은 인코딩된 비디오 스트림의 개략적 표현을 나타낸 도면.
도 4는 인코더의 개략 블록도.
도 5는 디코더의 개략 블록도.
도 6은 인코딩될 비디오 영상에서의 관심 영역의 개략적 표현을 나타낸 도면.
도 7은 은닉 품질을 추정하기 위한 예시적인 기법의 개략적 표현을 나타낸 도면.
예컨대, 은닉되는 프레임에 대한 PSNR(peak signal to noise ratio, 피크 신호 대 잡음비)을 추정하는 것에 의해, 은닉되는 프레임의 품질을 추정하기 위해 은닉 품질 추정이 사용될 수 있다. 품질 추정치가 충분히 양호한 경우, 은닉이 적용된다. 그렇지 않은 경우, 수신 단말은 마지막 프레임을 단지 프리즈한다.
그렇지만, 통신 시나리오에서, 얼굴이, 배경 또는 다른 물체들에 비해, 종종 가장 중요하다. 은닉되는 프레임을 디스플레이할지 여부를 결정할 때, 은닉 품질 추정이 콘텐츠를 고려함이 없이 단지 전체 프레임의 품질을 추정하는 경우, 이 결과, 얼굴 구역이 주된 아티팩트들을 포함할지라도, 은닉되는 프레임이 디스플레이될 수 있다. 이와 달리, 배경만이 아티팩트들을 포함하면서 얼굴이 양호한 품질을 가질지라도, 은닉될 가능성이 있는 프레임이 폐기될 수 있다. 따라서, 디스플레이하는 것이 유리할 수 있는 은닉되는 프레임들이 때때로 디스플레이되지 않는 반면, 디스플레이하는 것이 유리하지 않은 은닉되는 프레임들이 디스플레이되어 버리는 잠재적인 문제가 있다.
본 명세서에 개시된 실시예들에서, 은닉 품질 추정을 안내(guide)하기 위해 관심 영역(region of interest, ROI) 또는 지각적 중요도 맵(perceptual importance map)이 수신 단말로 전송된다. 대안적으로, 관심 영역을 추출하기 위해 수신기측에서 얼굴 검출이 실행될 수 있거나, 어떤 수단을 사용하여 사용자에 의해, 예컨대, 양눈이 초점을 맞추고 있는 경우 또는 터치 스크린 상에서 가리키는 것에 의해, ROI가 표시될 수 있을 것이다.
관심 영역을 사용하는 하나의 방식은 개개의 블록들 또는 매크로블록들을, 관심 영역에 위치되어 있는지에 따라, 은닉시킬지를 선택하는 것이다. 즉, 블록들 또는 매크로블록들이 관심 영역 내에 있는(그리고 은닉 품질이 충분히 양호한) 경우에만, 블록들 또는 매크로블록들에 은닉을 적용한다. 그렇지만, 그렇게 하는 것은 꼭 요망되는 것보다 더 많은 복잡도를 야기할 수 있다.
따라서, 실시예들에서, 프레임 전체에 대해 적용되는 예/아니오 결정을 알려주기 위해 관심 영역이 사용된다. 은닉을 적용할지 여부를 결정하기 위해 품질 추정이 편견적 방식으로(in a prejudicial fashion) 관심 영역을 대상으로 행해지지만, 그 결정이 일단 행해지면, 배경과 같은 다른 영역들을 포함할 가능성이 있는, 프레임 전체에 대해 은닉이 적용된다. 즉, 손실된 패치들을 복구하기 위해, 은닉이 항상 국소적으로 적용될 수 있지만, 실시예들에서, 프레임 전체가 폐기되어야만 하기 전에 국소적으로 얼마나 패치(patch)될 수 있는지가 결정된다. 즉, 데이터가 손실되어 있는 그 개개의 패치들만이 은닉되지만, 은닉에 관한 결정은 프레임 단위로 프레임당 한번 적용된다. 하나의 이러한 실시예에서, 얼굴 영역들이 충분히 양호한 경우, 영상의 은닉된 버전이 디스플레이된다. 얼굴 영역이 은닉을 사용하여 너무 많이 열화되는 경우, 그 대신에, 프레임 전체를 폐기하는 것이 더 나을 수 있다.
일부 실시예들에서, 은닉은, 그에 부가하여, ROI가 심각한 아티팩트들을 포함하는 경우에, ROI 밖의 아티팩트들을 약화시키는 수단을 포함할 수 있다. 이것은, 예를 들어, 오염된 영역들을 블러링하거나 그에 잡음을 추가하는 것을 포함할 수 있다.
도 1은 카메라로부터 포착되고, 인코딩된 비트스트림을 생성하기 위해 비디오 인코더에 의해 인코딩될 준비가 된 부분들로 분할되는 입력 비디오 신호의 개략적 예시를 제공한다. 신호는 시간상으로 복수의 프레임들(F) - 각각의 프레임은 상이한 각자의 순간(...t-1, t, t+1...)에서의 영상을 나타냄 - 로 분할되는 동영상 비디오를 포함한다. 각각의 프레임 내에서, 프레임은 공간상으로 복수의 부분들 - 각각의 부분은 복수의 픽셀들을 나타냄 - 로 분할된다. 부분들은, 예를 들어, 블록이라고 지칭될 수 있다. 특정 방식들에서, 프레임이 상이한 레벨의 부분 또는 블록으로 분할되고 세분(sub-divide)된다. 예를 들어, 각각의 프레임이 매크로블록(MB)들로 분할될 수 있고, 각각의 매크로블록은 블록들(b)로 분할될 수 있으며, 예컨대, 각각의 블록은 프레임 내의 8x8 픽셀들의 영역을 나타내고, 각각의 매크로블록은 2x2 블록들(16x16 픽셀들)을 나타낸다. 특정 방식들에서, 각각의 프레임은 또한 슬라이스(slices)들(S)로 분할될 수 있고, 각각의 슬라이스는 복수의 매크로블록들을 포함한다.
입력 신호에서의 블록은 처음에 공간 영역(spatial domain)에서 표현될 수 있고, 여기서 각각의 채널은 블록 내에서의 공간 위치의 함수로서 표현되고, 예컨대, 휘도(luminance)(Y) 및 색도(chrominance)(U, V) 채널들 각각은 직교 좌표 x 및 y의 함수, Y(x,y), U(x,y) 및 V(x,y)이다. 이 표현에서, 각각의 블록 또는 부분은 상이한 공간 좌표들(예컨대, x 및 y 좌표들)에서의 픽셀 값들의 집합에 의해 표현되고, 따라서 색 공간의 각각의 채널은 블록 내의 특정의 위치에서 특정의 값으로 표현되고, 블록 내의 다른 위치에서 다른 값으로 표현되며, 이하 마찬가지이다.
그렇지만, 블록이 인코딩 프로세스의 일부로서 변환 영역 표현(transform domain representation), 전형적으로 공간 주파수 영역 표현(때로는 단지 주파수 영역이라고 지칭됨)으로 변환될 수 있다. 주파수 영역에서, 블록은 블록에 걸쳐 각각의 색 공간 채널에서의 변동, 예컨대, 블록에 걸쳐 휘도(Y) 및 2 개의 색도(U 및 V) 각각에서의 변동을 표현하는 주파수 성분들의 시스템으로 표현된다. 수학적으로 말하면, 주파수 영역에서, 채널들 각각(휘도 및 2 개의 색도 채널들 또는 그러한 것들 각각)은 주어진 방향에서 1/길이의 차원을 가지는 공간 주파수의 함수로서 표현된다. 예를 들어, 이것은 수평 방향 및 수직 방향에서의 파수(wavenumber)(각각, kx 및 ky)에 의해 표시될 수 있고, 따라서 채널들은, 각각, Y(kx, ky), U(kx, ky) 및 V(kx, ky)로서 표현될 수 있다. 블록은 따라서 블록을 구성하는 상이한 공간 주파수 항들의 진폭들을 표현하기 위해 고려될 수 있는 계수들의 집합으로 변환된다. 이러한 변환들에 대한 가능한 것들은 DCT(Discrete Cosine transform), KLT(Karhunen-Loeve Transform) 또는 다른 것들을 포함한다.
다양한 실시예들이 이용될 수 있는 예시적인 통신 시스템이 도 2의 블록도에 개략적으로 예시되어 있다. 통신 시스템은 제1 전송 단말(12) 및 제2 수신 단말(22)을 포함한다. 예를 들어, 각각의 단말(12, 22)은 휴대폰 또는 스마트폰, 태블릿, 랩톱 컴퓨터, 데스크톱 컴퓨터, 또는 텔레비전 세트, 셋톱 박스, 스테레오 시스템 등과 같은 다른 가전 제품 중 하나를 포함할 수 있다. 제1 및 제2 단말들(12, 22) 각각은 통신 네트워크에 결합되어 동작하고, 그에 의해, 제1 전송 단말(12)은 제2 수신 단말(22)에 의해 수신될 신호들을 전송하도록 구성되어 있다. 물론, 전송 단말(12)이 또한 수신 단말(22)로부터 신호들을 수신할 수 있을 것이고 그 반대일 수 있지만, 논의의 목적상, 전송은 본 명세서에서 제1 단말(12)의 관점으로부터 기술되고, 수신은 제2 단말(22)의 관점으로부터 기술된다. 통신 네트워크(32)는, 예를 들어, WAN(wide area network) 및/또는 LAN(local area network)과 같은 패킷 기반 네트워크, 및/또는 모바일 셀룰러 네트워크(mobile cellular network)를 포함할 수 있다.
제1 단말(12)은 플래시 메모리 또는 다른 전자 메모리, 자기 저장 디바이스, 및/또는 광 저장 디바이스와 같은 컴퓨터 판독가능 저장 매체(14)를 포함한다. 제1 단말(12)은 또한 하나 이상의 실행 유닛들을 가지는 프로세서 또는 CPU 형태의 처리 장치(16); 적어도 하나의 송신기(18)를 가지는 유선 또는 무선 모뎀과 같은 송수신기; 및 단말(12)의 나머지와 동일한 케이스(casing) 내에 들어 있을 수 있거나 그렇지 않을 수 있는 비디오 카메라(15)를 포함한다. 저장 매체(14), 비디오 카메라(15) 및 송신기(18) 각각은 처리 장치(16)에 결합되어 동작하고, 송신기(18)는 유선 또는 무선 링크를 통해 네트워크(32)에 결합되어 동작한다. 이와 유사하게, 제2 단말(22)은 전자, 자기, 및/또는 광 저장 디바이스와 같은 컴퓨터 판독가능 저장 매체(24); 및 하나 이상의 실행 유닛들을 가지는 CPU 형태의 처리 장치(26)를 포함한다. 제2 단말은 적어도 하나의 수신기(28)를 가지는 유선 또는 무선 모뎀과 같은 송수신기; 및 단말(22)의 나머지와 동일한 케이스 내에 들어 있을 수 있거나 그렇지 않을 수 있는 화면(25)을 포함한다. 제2 단말의 저장 매체(24), 화면(25) 및 수신기(28) 각각은 각자의 처리 장치(26)에 결합되어 동작하고, 수신기(28)는 유선 또는 무선 링크를 통해 네트워크(32)에 결합되어 동작한다.
제1 단말(12) 상의 저장장치(14)는 처리 장치(16) 상에서 실행되도록 구성된 적어도 비디오 인코더를 저장한다. 실행될 때, 인코더는 비디오 카메라(15)로부터 "원시"(인코딩되지 않은) 입력 비디오 스트림을 수신하고, 비디오 스트림을 인코딩하여 비디오 스트림을 보다 낮은 비트레이트의 스트림으로 압축하며, 송신기(18) 및 통신 네트워크(32)를 통해 제2 단말(22)의 수신기(28)로 전송하기 위해 인코딩된 비디오 스트림을 출력한다. 제2 단말(22) 상의 저장장치(24)는 그 자신의 처리 장치(26) 상에서 실행되도록 구성된 적어도 비디오 디코더를 저장한다. 실행될 때, 디코더는 수신기(28)로부터 인코딩된 비디오 스트림을 수신하고 그를 디코딩하여 화면(25)으로 출력한다. 인코더 및/또는 디코더를 지칭하는 데 사용될 수 있는 일반적인 용어는 코덱이다.
도 3은 전송 단말(12) 상에서 실행 중인 인코더로부터 수신 단말(22) 상에서 실행 중인 디코더로 전송될, 인코딩된 비트스트림(33)의 개략적 표현을 제공한다. 비트스트림(33)은 임의의 움직임 벡터들을 포함하는, 각각의 프레임에 대한 복수의 인코딩된 샘플들(34)을 포함한다. 하나의 응용에서, 비트스트림은 전송 단말(12)과 수신 단말(22) 사이의 VoIP(Voice-over-Internet Protocol) 통화와 같은 라이브(실시간) 화상 전화 통화의 일부로서 전송될 수 있다(VoIP 통화는 또한 비디오를 포함할 수 있음).
도 4는 전송 단말(12) 상에서 구현될 수 있는 것과 같은 인코더를 개략적으로 예시하는 상위 레벨 블록도이다. 인코더는 DCT(discrete cosine transform) 모듈(51), 양자화기(53), 역변환 모듈(inverse transform module)(61), 역양자화기(63), 인트라 예측 모듈(intra prediction module)(41), 인터 예측 모듈(inter prediction module)(43), 스위치(47), 및 감산 스테이지(subtraction stage)(-)(49)를 포함한다. 일부 실시예들에서, 인코더는 또한 관심 영역(ROI) 식별 모듈(57)과, 어쩌면 은닉 품질 추정 모듈(55)을 포함할 수 있다. 이들 모듈 또는 스테이지 각각은 전송 단말의 저장 매체(14) 상에 저장되고 그의 처리 장치(16) 상에서 실행되도록 구성된 코드의 일부분으로서 구현될 수 있지만, 이들 중 일부 또는 전부가 전체적으로 또는 부분적으로 전용 하드웨어 회로에서 구현될 가능성이 배제되지 않는다.
감산 스테이지(49)는 복수의 프레임들(F)에 걸친 복수의 블록들(b)을 포함하는 입력 비디오 신호의 인스턴스를 수신하도록 구성되어 있다. 입력 비디오 스트림은 감산 스테이지(49)의 입력에 결합된 카메라(15)로부터 수신된다. 인트라 예측(41) 또는 인터 예측(43)은 이미 인코딩된 다른 블록 또는 이러한 다른 부분으로부터의 예측에 기초하여 인코딩될 현재 (대상) 블록의 예측된 버전을 생성한다. 예측된 버전은 감산 스테이지(49)의 입력에 공급되고, 그곳에서 예측된 버전이 입력 신호(즉, 실제 신호)로부터 감산되어, 블록의 예측된 버전과 실제 입력 신호에서의 대응하는 블록 사이의 차분을 나타내는 잔차 신호를 생성한다.
인트라 예측 모드에서, 인트라 예측 모듈(41)은 동일한 프레임에서의 다른 이미 인코딩된 블록, 전형적으로 이웃 블록으로부터의 예측에 기초하여 인코딩될 현재 (대상) 블록의 예측된 버전을 생성한다. 인트라 프레임 인코딩을 수행할 때, 발상은 프레임 내의 영상 데이터의 일부분이 그 동일 프레임 내의 다른 부분과 얼마나 상이한지의 척도를 인코딩하여 전송하는 것이다. 그 부분이 이어서 (처음에는 어떤 절대 데이터를 고려하여) 디코더에서 예측될 수 있고, 따라서 실제 데이터 자체보다는 예측과 실제 데이터 사이의 차분을 전송하기만 하면 된다. 차분 신호는 전형적으로 크기가 더 작고, 따라서 인코딩할 비트들을 더 적게 취한다.
인터 예측 모드에서, 인터 예측 모듈(43)은, 인터 예측 모듈(43)에 의해 예측된 움직임 벡터만큼 오프셋되어 있는, 현재 블록과 상이한 프레임에서의 다른 이미 인코딩된 영역으로부터의 예측에 기초하여, 인코딩될 현재 (대상) 블록의 예측된 버전을 생성한다(인터 예측은 또한 움직임 예측이라고도 지칭될 수 있음). 이 경우에, 인터 예측 모듈(43)은, 인트라 프레임 예측 스테이지(41) 대신에, 스위치(47)에 의해 피드백 경로로 스위칭되고, 따라서 피드백 루프가 이와 같이 하나의 프레임의 블록들과 다른 프레임의 블록들 사이에 생성되어, 선행 프레임의 블록들과 관련하여 인터 프레임(inter frame)을 인코딩한다. 이것은 전형적으로 인트라 프레임 인코딩보다 인코딩할 비트들을 훨씬 더 적게 취한다.
잔차 신호의 샘플들(예측이 입력 신호로부터 감산된 후의 잔차 블록들을 포함함)이 감산 스테이지(49)로부터 변환(DCT) 모듈(51)(또는 다른 적당한 변환)(여기서 그의 잔차 값들이 주파수 영역으로 변환됨)을 통해 이어서 양자화기(53)[여기서 변환된 값들이 이산 양자화 인덱스(discrete quantization index)들로 변환됨]로 출력된다. 변환 및 양자화 모듈들(51, 53)에 의해 생성되는 잔차의 양자화된 변환된 인덱스들은 물론, 예측 모듈들(41, 43)에서 사용되는 예측의 표시 및 인터 예측 모듈(43)에 의해 생성되는 임의의 움직임 벡터들 모두가 인코딩된 비디오 스트림(33)에 포함시키기 위해 출력되고[도 3의 요소(34)를 참조]; 전형적으로, 엔트로피 인코더(도시 생략)와 같은 추가의 무손실 인코딩 스테이지를 통해 예측 값들 및 변환된 양자화된 인덱스들이 기술 분야에 공지된 무손실 인코딩 기법들을 사용하여 추가로 압축될 수 있다.
양자화된 변환된 신호의 인스턴스는 또한 역양자화기(63) 및 역변환 모듈(61)을 통해 피드백되어, 선택된 예측 모듈(41 또는 43)이 인코딩될 후속 블록을 예측하는 데 사용하기 위한 (디코더에서 보이게 될) 블록의 예측된 버전을 생성한다. 이와 유사하게, 인코딩되고 있는 현재 대상 블록이 이전에 인코딩된 블록의 역양자화되고 역변환된 버전에 기초하여 예측된다. 스위치(47)는 역양자화기(63)의 출력을, 현재 인코딩되고 있는 프레임 또는 블록에 대해 사용되는 인코딩에 적절한, 인트라 예측 모듈(41) 또는 인터 예측 모듈(43) 중 어느 하나의 입력으로 전달하도록 구성되어 있다.
일부 선택적인 실시예들에서, 은닉 품질 추정 모듈(55)이 인코더측에 포함될 수 있고, 인코더의 입력 및 출력 둘 다에 결합되어 원시(인코딩되지 않은) 입력 샘플들 및 인코딩된 신호의 피드백 둘 다를 수신할 수 있다. 은닉 품질 추정 모듈(55)은 신호의 디코딩된 버전을 생성하여 디코더가 무엇을 보게 될 것인지를 인코더가 볼 수 있게 하도록 구성되어 있는 (곧 논의될) 그의 은닉 모듈(75)을 포함하는 디코더의 인스턴스를 포함한다. 은닉 품질 추정 모듈(55)은 또한 각각의 프레임에 대해 하나 이상의 손실 시나리오들을 실행하도록 구성되어 있다 - 예컨대, 각각의 대상 프레임에 대해, 대상 프레임 또는 그 프레임의 일부가 손실되었지만 선행 프레임이 수신되었고 대상 프레임이 선행 프레임으로부터 외삽된 경우 대응하는 은닉 프레임이 어떻게 보일 것인지를 결정한다 -. 이것에 기초하여, 은닉 품질 추정 모듈(55)은 프레임의 은닉된 버전을 원시 입력 샘플들과 또는 프레임의 디코딩된 버전과 비교하여, 대상 프레임에 대한 은닉 품질의 추정치를 생성한다. 유사한 프로세스가 다른 손실 시나리오들에 대해 실행될 수 있기 때문에, 비록 더 많은 시나리오들이 고려될지라도, 이것은 인코더측에 더 많은 처리 부담을 준다.
은닉 품질 추정 모듈(55)에서 적용되는 비교는, 예를 들어, 샘플들의 은닉된 버전들과 샘플들의 디코딩된(또는 원본) 버전들 간의 평균 오차[MSE(mean square error, 평균 제곱 오차) 등]에; 또는 신호대 잡음 기반 척도(signal to noise based measure)[PSNR(peak signal to noise ratio) 등]에 기초할 수 있다. 예컨대, 2 개의 영상 g(x,y)와 g'(x,y) 사이의 MSE(mean-squared error)는 다음과 같이 계산될 수 있다:
Figure pct00001
또는 PSNR(peak signal to noise ratio)이 영상 범위(image range)에 따라 MSE를 스케일링하고, 예컨대:
Figure pct00002
이며, 여기서 A는 최대 픽셀 값이고, PSNR은 데시벨(dB) 단위로 측정된다. 사용될 차분 척도들의 다른 예들은 SSD(sum of square difference, 제곱 차분 합), SAD(sum of absolute difference, 절대 차분 합), 또는 SSIM(structural similarity index, 구조적 유사성 지표)을 포함한다.
프레임들 각각에 대한 하나 이상의 손실 시나리오들의 하나 이상의 은닉 품질 추정치들(35)은, 예를 들어, 인코딩된 비트스트림에 임베딩(embed)되어(예컨대, 인코딩되는 샘플들과 함께 엔트로피 인코더 스테이지에서 인코딩되어), 수신 단말(22) 상의 디코더로 전송된다. 도 3을 참조하기 바란다. 이것은, 손실이 일어나는 경우, 수신 단말(22)에 있는 디코더가 은닉의 추정된 효과를 결정할 수 있는 하나의 방식을 제공한다.
그렇지만, 유의할 점은, 이 인코더측 은닉 품질 추정이 (초래되는 복잡성 및 비트레이트의 측면에서) 전송 및 비트스트림에 부담을 주고, 이 구현이 결코 필요하지 않다는 것이다. 이하에서 더 상세히 논의될 것인 바와 같이, 덜 복잡한 실시예들에서, 은닉 품질이 그 대신에, 예컨대, 움직임을 고려하여, 하나 이상의 과거에 수신되고 디코딩된 프레임들의 기록(history)을 조사하여, 및/또는 손실된 영역에 인접한 영역들 내의 현재 프레임을 조사하여, 디코더측에서 결정된다.
ROI 추정을 살펴보면, 실시예들에서, ROI 식별 모듈(57)이 인코더측에 제공되고, 인코딩되지 않은 원본 비디오의 인스턴스를 인코더의 입력으로부터 수신하도록 결합되어 있다. 이 경우에, 관심 영역 식별 모듈(57)은 전송을 위해 인코딩되고 있는 비디오에서 관심 영역을 식별하도록 구성되어 있다. 실시예들에서, 이것은 얼굴 인식 알고리즘 - 그의 예들은 그 자체가 기술 분야에 공지되어 있음 - 을 적용하는 것에 의해 행해진다. 얼굴 인식 알고리즘은 인코딩될 비디오 영상에서 얼굴을 인식하고, 이것에 기초하여, 얼굴 또는 얼굴의 적어도 일부(입 및 눈썹과 같은 얼굴 특징들)를 포함하는 영상의 영역을 관심 영역으로서 식별한다. 얼굴 인식 알고리즘은 구체적으로는 사람의 얼굴을 인식하도록 구성될 수 있거나, 하나 이상의 다른 생물들의 얼굴을 인식할 수 있다. 다른 실시예들에서, 얼굴 인식 이외의 다른 것에 기초하여 관심 영역이 식별될 수 있다. 다른 대안들은 움직임 인식 알고리즘과 같은 다른 유형의 영상 인식 알고리즘이 움직이는 물체를 관심 영역으로서 식별하는 것, 또는 사용자 정의 관심 영역이 전송 단말(12)의 사용자에 의해 지정되는 것을 포함한다.
일례가 도 6에 개략적으로 예시되어 있다. 이 도면은, 예컨대, 화상 통화에서 통상적으로 일어나는 것과 같은, "카메라 앞에서 말하는 사람(talking head)" 유형의 비디오 영상의 하나의 프레임을 도시하고 있다. 도 6에서의 상부 예시는 배경 블록들(bb)을 포함하는 블록들(b)로 분할되어 있는 프레임을 도시하고 있다. 유의할 점은, 블록들의 크기가 예시를 위해 (비록 일반적으로 임의의 크기의 블록들이 사용될 수 있지만, 전형적인 비디오 코덱의 블록들에 비해) 과장되어 있다는 것이다. 도 6에서의 하부 예시는 관심 영역(얼굴 또는 전경 블록들)을 형성하는 것으로 식별된 그 블록들(bf), 예컨대, 얼굴의 적어도 일부를 포함하는 임의의 블록, 또는 얼굴의 주요 특징들을 포함하는 일련의 블록들만을 갖는 동일한 프레임을 도시하고 있다. 실시예들에서, ROI 맵(36)은 관심 영역을 구성하는 블록들(bf), 및/또는 관심 영역에 포함되지 않는 블록들(bb)을 (예컨대, 블록 인덱스 또는 좌표들로) 표시할 수 있다.
어느 기법이 사용되든 간에, ROI 식별 모듈(57)은 관심 영역의 표시(36)를 출력하고, 그 표시(36)는, 예컨대, 인코딩된 비트스트림에 삽입되어(예컨대, 인코딩되는 샘플들과 함께 엔트로피 인코더 스테이지에서 인코딩되어), 수신 단말(22)에 있는 디코더로 전송된다. 도 3을 다시 참조하기 바란다.
이것은 수신 단말(22)에 있는 디코더가 관심 영역을 결정할 수 있는 하나의 방식을 제공한다. 실시예들에서, 이 표시는 프레임의 어느 부분들[예컨대, 어느 블록들(bf) 또는 매크로블록들]이 관심 영역을 형성하는지를 식별해주는 지각적 중요도 맵의 형태를 취할 수 있다. ROI 맵(36) 또는 다른 표시가 매 프레임마다 또는 프레임마다 한번 미만(이 경우에, 다음 맵이 송신될 때까지 현재 ROI를 표현하는 것이 고려됨) 송신될 수 있다.
실시예들에서, 대상 프레임 및 그의 은닉 추정치(들) 둘 다가 패킷 손실로 인해 손실될 확률을 감소시키기 위해, 대상 프레임에 대한 ROI 맵(36)[및/또는 임의의 은닉 추정치들(5)]이 그 프레임을 인코딩하는 데 사용되는 하나 이상의 패킷들 이외의 별도의 패킷에서 송신될 수 있다(주의: 도 3은 개략적인 것에 불과함). 그렇지만, 이것이 절대적으로 필수적인 것은 아닌데, 그 이유는 동일한 패킷에서 송신되는 정보가 패킷의 일부에서의 오염으로 인한 손실 또는 다른 패킷에서 송신되는 동일한 프레임의 다른 부분의 손실로부터 여전히 보호될 수 있기 때문이다.
인코더측에 있는 은닉 품질 추정 모듈(55) 및 인코더측에 있는 ROI 식별 모듈(57)을 사용하는 실시예들에서, 은닉 품질 추정 모듈(55)은 그의 비교를 식별된 관심 영역 내의 샘플들에만, 예컨대, 관심 영역을 구성하는 그 블록들 또는 매크로블록들의 샘플들에만 기초할 수 있다. 예를 들어, MSE 또는 PSNR에 대한 상기 계산에서의 비교되는 샘플들 g(x,y) 및 g'(x,y)는 관심 영역 내의 그 샘플들 뿐이다. 대안적으로, 은닉 품질 추정 모듈(55)은 그의 비교를 프레임에서의 모든 샘플들(또는 관심 영역보다 더 넓은 범위의 샘플들)에 기초할 수 있지만, 관심 영역 내의 샘플들에 더 큰 가중치가 적용될 수 있다. 예를 들어, MSE 또는 PSNR에 대한 상기 계산에서의 비교되는 샘플들 g(x,y) 및 g'(x,y)는 프레임에서의 모든 샘플들을 포함할 수 있지만, 합산에서, 각각의 항은 관심 영역 밖에 있는 샘플들보다 관심 영역 내부의 그 샘플들에 더 큰 유의성(significance)을 부여하는 인자 wn,m에 의해 가중될 수 있다. 예컨대, wn,m은 관심 영역에 있는 샘플들에 대한 하나의 미리 결정된 값(말하자면, 1) 및 그 영역 밖의 샘플들에 대한 다른 미리 결정된 값(말하자면, 0.5)을 가질 수 있다.
도 5는 수신 단말(22) 상에서 구현될 수 있는 것과 같은 디코더를 개략적으로 예시하는 상위 레벨 블록도이다. 디코더는 역양자화 스테이지(83), 역DCT 변환 스테이지(81), 스위치(70), 및 인트라 예측 스테이지(73) 및 움직임 보상 스테이지(71)를 포함한다. 디코더는 또한 관심 영역(ROI) 처리 모듈(77)을 포함하는 은닉 모듈(75)을 포함한다. 이들 모듈 또는 스테이지 각각은 수신 단말의 저장 매체(24) 상에 저장되고 그의 처리 장치(26) 상에서 실행되도록 구성된 코드의 일부분으로서 구현될 수 있지만, 이들 중 일부 또는 전부가 전체적으로 또는 부분적으로 전용 하드웨어 회로에서 구현될 가능성이 배제되지 않는다.
역양자화기(83)는, 수신기(28)를 통해, 인코더로부터 인코딩된 신호(33)를 수신하도록 구성되어 있다. 역양자화기(83)는 인코딩된 신호 내의 양자화 인덱스들을 잔차 신호(잔차 블록들을 포함함)의 역양자화된 샘플들로 변환하고, 역양자화된 샘플들을 역DCT 모듈(81)로 전달하고, 역양자화된 샘플들은 역DCT 모듈(81)에서 다시 주파수 영역으로부터 공간 영역으로 변환된다. 스위치(70)는 이어서 역양자화된 공간 영역 잔차 샘플들을, 디코딩되고 있는 현재 프레임 또는 블록에 대해 사용되는 예측 모드에 적절하게, 인트라 예측 모듈(73) 또는 인터 예측 모듈(71)로 전달하고, 여기서 인트라 예측 또는 인터 예측은, 각각, [인코딩된 비트스트림(33)에서 수신되는 예측의 표시 및/또는 임의의 움직임 벡터들을 적절하게 사용하여] 블록들을 디코딩하는 데 사용된다. DCT 모듈(51)의 출력(또는 다른 적당한 정보)은 각각의 프레임에 대한 복수의 변환된 블록들을 포함하는 변환된 잔차 신호이다. 디코딩된 블록들은 수신 단말(22)에 있는 화면(25)으로 출력된다.
은닉 모듈(75)은 수신기(28)로부터의 착신되는 비트스트림(33)에 대한 가시성(visibility)을 갖도록 결합되어 있다. 프레임 또는 프레임의 일부가 (예컨대, 패킷 손실 또는 데이터의 오염으로 인해) 손실되는 경우, 은닉 모듈(75)은 이것을 검출하고 은닉 알고리즘을 적용할지를 선택한다. 은닉 알고리즘이 적용되는 경우, 이것은 수신된 선행 프레임으로부터 프레임의 손실된 패치들(또는 심지어 손실된 프레임 전체)에 대한 교체물을 투영하는 것; 또는 동일한 프레임의 하나 이상의 다른 수신된 부분들로부터 프레임의 손실된 패치들에 대한 교체물을 투영하는 것에 의해 동작한다. 즉, 손실된 프레임 또는 프레임의 손실된 부분을 수신된 선행 프레임으로부터 외삽하는 것에 의해; 또는 프레임의 손실된 부분을 동일한 프레임의 다른 수신된 부분으로부터 외삽하는 것에 의해; 또는 프레임의 손실된 부분을 동일한 프레임의 수신된 부분들 사이에서 보간함으로써 추정하는 것에 의해 동작한다. 은닉 알고리즘 자체에 대한 상세는 기술 분야에 공지되어 있다. 실시예들에서, 은닉 알고리즘은 프레임 전체에 대해 동작하도록 구성되어 있고, 따라서 대상 프레임의 패치들이 손실되는 경우, 은닉 알고리즘은, 수신된 이전 프레임 - 예컨대, 성공적으로 수신된 마지막 프레임 - 으로부터, 프레임 전체의 임의의 부분으로부터의 손실된 패치들의 교체 버전을 투영한다. 게다가, 은닉을 할지 여부에 관한 결정은 프레임 전체에 대해 행해진다 - 즉, 프레임 전체에 걸친 임의의 손실된 패치들이 은닉되거나, 그렇지 않으면 프레임 전체가 은닉되지 않는다 -. 은닉되지 않는 경우, 그 대신에, 마지막으로 수신된, 성공적으로 디코딩된 프레임이 손실을 포함하는 대상 프레임의 지속기간 동안 프리즈된다.
ROI 처리 모듈(77)은 착신되는 비디오 영상에서 관심 영역을 식별하도록 구성되어 있다. 실시예들에서, ROI 처리 모듈(77)은 전송 단말(12)로부터 수신되는 ROI 맵(36)을 사용하여 - 예컨대, 착신되는 비트스트림(33)으로부터 ROI 맵(36)을 추출하여 - 이것을 행한다. 예를 들어, ROI 처리 모듈(77)은 그에 의해 어느 블록들(bf) 또는 매크로블록들이 관심 영역을 구성하는지를 결정할 수 있다. 대안의 실시예들에서, 인코더측에 있는 ROI 식별 모듈(57)이 필요하지 않을 수 있고, 관심 영역을 식별하기 위한 앞서 기술된 기법들 중 임의의 것이 그 대신에 수신 단말(22)에 있는 디코더측에서 적용될 수 있다. 예를 들어, 얼굴 인식 알고리즘 또는 다른 영상 인식 알고리즘이 수신 단말(22)에 있는 디코더의 ROI 처리 모듈(77)에서 적용될 수 있거나, 사용자 정의 관심 영역이 수신 단말(22)의 사용자에 의해 지정될 수 있다. 얼굴 인식 알고리즘과 같은 영상 인식 알고리즘이 디코더측에서 적용되는 경우에, 이것은, 대부분의 경우에, 관심 영역이 하나의 프레임과 다음 프레임 사이에서 그다지 움직이지 않을 것이라는 가정 하에, 이전에 수신된, 성공적으로 디코딩된 프레임에 기초할 것이다.
게다가, 은닉 모듈(75)은 손실된 프레임 또는 그 프레임의 일부에 대한 은닉 품질의 추정치를 결정하도록 구성되어 있다. 은닉 품질은, 은닉 알고리즘을 사용하여 은닉되는 경우, 손실된 구역의 은닉된 버전의 품질의 추정치를 제공한다.
일부 실시예들에서, 은닉 모듈(75)은 전송 단말(12)로부터 수신되는 투기적 추정치(35)(시뮬레이트된 손실 시나리오들에 기초함)를 사용하여, 예컨대, 인코딩된 비트스트림(33)으로부터 그를 추출하여, 은닉 품질을 결정할 수 있을 것이다. 그렇지만, 이하의 실시예들에서, 인코더측 은닉 품질 추정 모듈(55)이 필요하지 않고, 그 대신에, 은닉 품질 추정이 디코더측에 있는 은닉 모듈(75)에 의해 수행된다. 이 경우에, 디코더에 실제 손실된 데이터에 대한 지식이 없기 때문에, 은닉 품질이, 그 대신에, 대상 프레임의 성공적으로 수신된 부분들 및/또는 하나 이상의 이전에 수신된 프레임들에 기초하여 "블라인드 방식으로(blindly)" 추정되어야만 한다.
실시예들에서, 디코더측 모듈(75)은 은닉 품질을 추정하기 위해 손실된 패치(들)에 인접한 현재 프레임의 부분들을 살펴볼 수 있다. 예를 들어, 이 기법은 은닉 품질 추정 모듈(75)이 은닉되는 프레임의 PSNR을 디코더측에서 예측할 수 있게 하기 위해 사용될 수 있다. 품질의 추정이 은닉되는 블록에 인접한 수신된 픽셀들(즉, 현재의 대상 프레임에서의 은닉되는 블록을 둘러싸고 있는 픽셀들)과 은닉되는 블록의 참조 블록의 대응하는 인접 픽셀들(즉, 비디오 신호의 참조 프레임에서의 참조 블록을 둘러싸고 있는 픽셀들) 간의 차분의 분석에 기초할 수 있다. 이 차분은 각각의 블록에 대해 저장될 수 있는 차분 척도(difference measure)[또는 "차분 메트릭(difference metric)"]를 제공하기 위해 측정될 수 있다. 일례가 도 7과 관련하여 논의된다.
도 7은 수신 단말(12)에 수신되는 비디오 신호의 3 개의 연속적인 프레임들을 도시하고 있다. 3 개의 프레임들은 비디오 신호의 프레임들의 시퀀스에서의 위치가 t-2인 프레임 Ft-2(402), 비디오 신호의 프레임들의 시퀀스에서의 위치가 t-1인 프레임 Ft-1(406), 및 비디오 신호의 프레임들의 시퀀스에서의 위치가 t인 프레임 Ft(410)이다. 프레임 Ft의 블록(412)은, 도 7에 도시된 바와 같이, 프레임 Ft-1의 부분(408)을 참조하여 코딩된다. 그렇지만, 전송 단말(12)로부터 수신 단말(22)로의 비디오 신호의 전송 동안, 프레임 Ft-1의 부분(408)이 (예컨대, 패킷 손실 또는 오염으로 인해) 손실되었고, 따라서 프레임 Ft의 블록(412)이 부분(408)을 사용하여 디코딩될 수 없다.
프레임 Ft의 블록(412)의 움직임 벡터가 프레임 Ft-1에 선행하는 프레임 Ft-2로 다시 외삽된다. 도 7에 도시된 바와 같이, 블록(412)의 움직임 벡터가 프레임 Ft-2의 부분(404)으로 외삽된다. 프레임 Ft-2의 부분(404)은 수신 단말(22)에 정확하게 수신되어 디코딩되었다. 따라서, 부분(404)은 블록(412)을 교체하기 위해 프레임 Ft에서 사용하기 위한 은닉되는 블록을 제공하기 위해 사용될 수 있다. 예를 들어, 은닉되는 블록은 프레임 Ft-2의 부분(404)로부터의 픽셀들의 사본일 수 있지만, 외삽된 움직임 벡터만큼 오프셋되어 있을 수 있다.
프레임 Ft에 대한 은닉의 품질이 관심 영역에 있는 블록들에 대한 오류 은닉(error concealment)를 분석하는 것에 의해 결정된다. 은닉되는 블록이 프레임 Ft에서의 블록(412)을 교체하는 것에 의해 제공되는 오류 은닉의 성공의 척도가 결정된다. 이 척도는 프레임 Ft에서의 블록(412)을 둘러싸고 있는 픽셀들의 적어도 일부와 프레임 Ft-2의 부분(404)을 둘러싸고 있는 대응하는 픽셀들 간의 차분의 척도를 포함한다. 높은 차분 척도의 값은 차분이 크다는 것을 나타낸다. 이와 동등하게, 차분 척도가, 일부 실시예들에서, 유사성 척도로서 구현될 수 있고, 여기서 높은 유사성 척도의 값은 차분이 작다(즉, 유사성이 높다)는 것을 나타낸다. 이 결정은 프레임 Ft에서의 블록(412)에 인접한 픽셀들과 참조 프레임 Ft-2에서의 부분(404)에 인접한 대응하는 픽셀들 간의 차분의 추정에 기초한다. 차분 척도는 차분들의 함수로서 구현될 수 있다. 예를 들어, 다양한 실시예들에서, 차분 척도는 SAD(sum of absolute difference), SSD(sum of squared difference) 또는 MSE(mean square error)로서 구현된다. 예컨대, 2 개의 대응하는 픽셀 그룹 g(x,y)와 g'(x,y) 사이의 MSE(mean square error)는 다음과 같이 계산될 수 있다:
Figure pct00003
도 7에서, 비교되는 픽셀들은 음영 처리되어 있다. 블록(412)을 둘러싸고 있는 픽셀들의 적어도 일부가 사용되고, 부분(404)을 둘러싸고 있는 대응하는 픽셀들이 또한 사용된다. 예를 들어, 도 7에 도시된 바와 같이, 블록(412)의 좌측에서 블록(412)에 인접한 픽셀들의 열, 블록(412)의 우측에서 블록(412)에 인접한 픽셀들의 열, 및 블록(412)의 아래쪽에서 블록(412)에 인접한 픽셀들의 행이 부분(404)의 좌측에서 부분(404)에 인접한 픽셀들의 대응하는 열, 부분(404)의 우측에서 부분(404)에 인접한 픽셀들의 열, 및 부분(404)의 아래쪽에서 부분(404)에 인접한 픽셀들의 행과 비교된다.
추정에서 사용되는 주변 픽셀들은 블록(412)[대응하는 부분(404)]을 완전히 둘러쌀 수 있거나 그렇지 않을 수 있다. 예를 들어, 완전히 둘러싸지 않는 경우, 프레임 Ft에서의 인접 픽셀들은, 만약 그 픽셀들이 마지막 2 개 이상의 프레임들에 걸친 그의 움직임 벡터에 기초한 선형성의 임계치를 넘어 비선형 움직임을 갖는 것으로 추정되는 블록(예컨대, 416)에 있다면, 추정으로부터 배제될 수 있다. 또는, 은닉되는 블록(412)이 프레임의 가장자리에 있는 경우, 추정에 포함시킬 그 위쪽의 인접 블록(416)이 아예 없을 수 있다. 대안적으로, 은닉되는 블록 주변 모두(왼쪽, 오른쪽, 위쪽 및 아래쪽)로부터의 인접 픽셀들이 포함될 수 있다. 예컨대, 도 7에서, 이 비교는 또한 블록(412)의 위쪽에서 블록(412)에 인접한 픽셀들의 행이 부분(404)의 위쪽에서 부분(404)에 인접한 픽셀들의 행과 비교되는 것을 포함할 수 있다.
주변 픽셀들은 블록(412)에 인접하여[그리고 대응하는 부분(404)에 인접하여] 블록(412)의 경계 상에[그리고 대응하는 부분(404)의 경계 상에] 있을 수 있다. 주변 픽셀들은 블록(412)의 가장자리로부터[그리고 대응하는 부분(404)의 가장자리로부터] 깊숙이 있는 하나 이상의 픽셀들일 수 있다.
실시예들에서, 프레임 Ft에서의 블록(412)을 교체하는 데 사용되는 은닉되는 블록은 (외삽된 움직임 벡터만큼 오프셋되어 있는) 프레임 Ft-2의 부분(404)의 픽셀들의 사본이다. 프레임 Ft-2가 수신 단말(22)에 정확하게 수신되기 때문에. 부분(404)의 픽셀들과 프레임 Ft-2에서의 주변 픽셀들에 오류가 거의 없거나 전혀 없는 것으로 가정된다. 따라서, 비교에서 사용되는 주변 픽셀들(도 7에서 음영 처리되어 있음)과 부분(404) 사이의 경계는 (예컨대, 휘도 또는 색도의 면에서) 매끄러운 전환을 가진다. 따라서, 프레임 Ft에서의 은닉되는 블록이 비교 단계에서 사용되는 주변 픽셀들(도 7에서 음영 처리되어 있음)과 은닉되는 블록 사이의 경계에서 매끄러운 전환을 갖기 위해, 프레임 Ft에서의 주변 픽셀들은 프레임 Ft-2에서의 주변 픽셀들과 유사하게 되는 경향이 있을 것이다. 따라서, 도 7에서 음영 처리되어 도시되어 있는, 프레임 Ft에서의 주변 픽셀들과 프레임 Ft-2에서의 주변 픽셀들 사이의 차분의 척도는 은닉되는 블록에 의해 제공되는 오류 은닉의 성공에 관한 양호한 표시를 제공할 수 있다. 다양한 실시예들에서, 비교는 대응하는 픽셀들의 값들 사이의 SAD, SSD 또는 MSE를 구하는 것을 포함한다. 픽셀들의 값들은, 예를 들어, 픽셀들의 휘도 또는 색도 값일 수 있다 구해진 차분 값이 블록(412)에 할당된다.
또한, 이전 프레임의 손실된 섹션(예컨대, 손실된 프레임 Ft-1 또는 Ft-2의 섹션)을 참조하여 코딩되고 프레임 Ft의 품질의 추정치를 결정하는 데 고려되어야 하는, 프레임 Ft에서의 관심 영역 내의 임의의 다른 블록들이 있는지가 결정된다. 고려되어야 하는 프레임 Ft에서의 은닉되는 블록들이 더 있는 것으로 결정되는 경우, 본 방법이 새로 고려되는 블록에 대해 반복된다. 은닉 품질의 추정에서 고려될 필요가 있는 프레임 Ft의 은닉되는 블록들이 더 이상 없는 것으로 결정되면, 프레임 Ft의 고려된 은닉되는 블록들에 할당된 MSE(또는 SSD 또는 SAD) 값들 전부를 합산하거나 평균함으로써 관심 영역의 품질의 추정치를 제공하는 것에 의해 본 방법이 계속된다. MSE들, SSD들 또는 SAD들의 합산이 PSNR(peak signal-to-noise ratio)을 구하는 데 사용될 수 있다. 합, 평균 또는 PSNR(또는 기타)이 클수록, 은닉의 품질은 낮다.
따라서, 실시예들에서, 추정치에 대한 임의의 명시적인 지원이 인코더측에서 구현될 필요 없이 그리고 임의의 명시적인 보조 정보가 비트스트림(33)에서 전송됨이 없이, 디코더측에서 은닉 품질의 추정치를 결정하는 것이 가능하다.
다른 이러한 예에서, 오류 은닉 유효성이 디코더측에서 오류 영역들의 경계들에서의 휘도 불연속성을 사용하여 평가될 수 있다. 휘도 불연속성이 미리 결정된 임계치 초과인 경우, 오류 은닉이 효과적이 아닌 것으로 간주된다.
또 다른 예에서, 은닉 품질 추정이 2 개 이상의 성공적으로 수신되어 디코딩된 선행 프레임들 사이의 차분에 기초할 수 있다. 예를 들어, 그 대신에, 관심 영역에서, 2 개의 성공적으로 수신되어 디코딩된 선행 프레임들 또는 그 프레임들의 일부들 사이의 MSE 또는 PSNR이 계산될 수 있다. 그 2 개의 선행 프레임들 사이의 차분이, 현재 프레임이, 수신되는 경우, 어쩌면 유사한 정도만큼 계속 변할 것이라는 가정 하에, 선행 프레임과 현재의 대상 프레임(손실된 프레임) 사이에서 예상되는 변화 정도의 추정치로서 취해질 수 있다. 예컨대, 관심 영역에서 마지막 2 개의 수신된 프레임들 사이의 평균 차분(예컨대, MSE 또는 PSNR의 면에서 측정됨)이 큰 경우, 현재의 대상 프레임이 이 정도의 차분을 계속 나타낼 것이고 은닉이 좋지 않을 가능성이 있다. 그러나, 관심 영역에서 마지막 2 개의 수신된 프레임들 사이의 평균 차분이 단지 작은 경우, 현재의 대상 프레임이 계속하여 그다지 상이하지 않을 것이고 은닉이 비교적 양호한 품질일 가능성이 있다. 다른 대안으로서, 선행 프레임의 움직임 벡터들을 살펴보는 것이 가능하다. 예를 들어, 관심 영역에서의 움직임 벡터들의 평균 크기가 큰 경우, 많은 변화가 예상되고, 은닉이 좋지 않은 품질일 가능성이 있을 것이지만; 움직임 벡터의 평균 크기가 작은 경우, 많지 않은 변화가 예상되고, 은닉은 상당히 양호한 품질을 제공할 가능성이 있을 것이다. 예컨대, 움직임 벡터들이 임계치 초과의 움직임을 나타내는 경우, 오류 은닉이 효과적이 아닌 것으로 간주될 수 있다.
어느 기법에 의해 은닉 품질이 추정되든 간에, 인코더측 추정과 관련하여 논의된 바와 같이, 은닉 품질의 추정치가 - 차분 척도가 (인코더측에서 적용되든 디코더측에서 적용되든 간에), 관심 영역 밖의 것들은 제외하고, 관심 영역에서의 샘플들, 블록들 또는 매크로블록들에만 기초한다는 점에서; 또는 차분 합 또는 평균에서의 항들이, 관심 영역 밖의 것들에 비해, 관심 영역에서의 샘플들, 블록들 또는 매크로블록들에 대해 더 큰 유의성으로 가중된다는 점에서 - 관심 영역에 중점을 두고 있다. 예를 들어, 가중 점수화(weighted scoring)를 사용하여, 즉 중요도 마스크(importance mask) 또는 중요도 중심(centre of importance)에 의해, 선택성(selectivity)이 구현될 수 있다.
따라서, 도 6의 예에서, 은닉 품질 추정치가 주요 얼굴 영역을 포함하는 블록들(bf)에만 기초하여 이루어진다(또는 그 블록들 쪽으로 편향되어 있음).
그렇지만, 그 품질이 추정되고, 은닉 모듈(75)은, 관심 영역에 대한 은닉 품질 추정치에 기초하여, 은닉 알고리즘을 적용할지 여부를 선택하도록 구성되어 있다. 실시예들에서, 은닉 모듈(75)은 은닉 품질 추정치에 임계치를 적용하도록 구성되어 있다. 은닉 품질 추정치가 임계치에 비해 양호한 경우(임계치를 충족시키고 그리고/또는 임계치보다 나은 경우), 은닉 모듈(75)은 은닉 알고리즘을 적용하기로 선택한다. 은닉 품질 추정치가 임계치에 비해 나쁜 경우(임계치보다 더 나쁘고 그리고/또는 임계치보다 낫지 않은 경우), 은닉 모듈(75)은 은닉 알고리즘을 적용하지 않기로 선택한다. 그 대신에, 은닉 모듈(75)은 선행 프레임을 프리즈한다.
실시예들에서, 그 선택이 고려 중인 구역 전체(예컨대, 프레임 전체)에 대해 적용되지만, 은닉 품질 추정치는 그 구역 내의 더 작은 관심 영역, 예컨대, 프레임의 구역보다 더 작은 관심 영역에만 기초하였다(또는 그 구역 내의 관심 영역 쪽으로 적어도 편향됨). 즉, 관심 영역에 대한 은닉 품질의 추정치는 관심 영역 및 관심 영역 밖의 그 구역의 나머지 영역(예컨대, 프레임의 나머지) 둘 다를 포함하는, 구역 전체(예컨대, 프레임 전체)의 은닉된 버전을 생성할지 여부를 결정하는 데 사용된다 - 은닉 알고리즘은 관심 영역 내부의 패치들 및 관심 영역 밖의 패치들 둘 다를 은닉시킴 -. 따라서, 도 6의 예에서, 은닉 품질 추정치가 주요 얼굴 영역을 포함하는 블록들(bf)에만 기초하여 이루어질 수 있지만(또는 그 블록들 쪽으로 편향되어 있음), 전경 블록들(bf) 중에서 손실된 임의의 블록들 및 배경 블록들(bb) 중에서 손실된 임의의 블록들을 포함하는 프레임 전체에 대해 관련성이 있는 것으로 간주되는 은닉 결정을 하는 데 사용될 수 있다. 이것은 개개의 블록들에 대해 블록별 결정하는 데 필요한 것보다 덜 복잡한 해결책을 제공할 수 있으면서, 여전히 ROI 기반 은닉의 이점을 달성한다. 예를 들어, 배경이 은닉 아티팩트들을 포함하는지가 종종 사용자에게는 중요하지 않으며, 따라서 그 블록들을 어떻게 처리할지를 개별적으로 선택할 가치가 없을 수 있다.
이상의 실시예들이 단지 예로서 기술되어 있다는 것을 잘 알 것이다.
예를 들어, 이상의 실시예들이 프레임 전체의 은닉와 관련하여 기술되어 있지만, 그러할 필요는 없다. 그 대신에, 이 발상이 슬라이스와 같은 프레임의 다른 영역에 적용될 수 있을 것이다. 예컨대, 은닉에 관한 결정이 슬라이스보다 더 작은, 슬라이스 내의 관심 영역에 기초하여 행해질 수 있고, 일단 행해지면, 그 결정이 슬라이스 전체에 걸쳐 적용될 수 있다. 게다가, 이상의 설명이 블록 및 매크로블록과 관련하여 기술되어 있지만, 관심 영역이 임의의 특정의 표준의 블록 또는 매크로블록의 단위로 매핑되거나 정의될 필요가 없다. 실시예들에서, 관심 영역이 프레임의 임의의 부분 또는 부분들(심지어 픽셀 단위 레벨까지 내려감)의 단위로 매핑되거나 정의될 수 있고, 관심 영역을 정의하는 데 사용되는 부분들이 예측과 같은 다른 인코딩/디코딩 동작들에 대해 사용되는 구분(division)과 동일할 필요는 없다(그렇지만, 실시예들에서 그들이 동일한 것은 당연하다).
게다가, 손실이 패킷 누락으로 제한되지 않고, 또한, 예를 들어, 오염으로 인한 임의의 손실을 지칭할 수 있을 것이다. 이 경우에, 어떤 데이터가 수신되긴 하지만 유용한 형태로 수신되지 않을 수 있고(즉, 의도된 데이터 모두가 수신된 것은 아님), 이는 정보가 손실되었다는 것을 의미한다. 게다가, 다양한 실시예들이 인코딩된 비디오가 네트워크를 통해 전송되는 응용으로 제한되지 않는다. 예를 들어, 다른 응용에서, 수신하는 것이 또한 광 디스크, 하드 드라이브 또는 다른 자기 저장장치, 또는 "플래시" 메모리 스틱 또는 다른 전자 메모리와 같은 저장 디바이스로부터 비디오를 수신하는 것을 지칭할 수 있다. 이 경우에, 비디오를 전송 디바이스에 있는 저장 매체 상에 저장하는 것, 저장 매체를 분리시키고 그 저장 매체가 검색되는 수신 디바이스에 연결되도록 그 저장 매체를 이동시키는 것에 의해 비디오가 전송될 수 있다. 대안적으로, 수신 디바이스는 이전에 비디오 자체를 로컬 저장장치에 저장했을 수 있다. 단말이 인코딩된 비디오를 하드 드라이브, 광 디스크, 메모리 스틱 등과 같은 저장 매체로부터 수신해야 할 때에도, 저장된 데이터가 여전히 시간의 경과에 따라 오염될 수 있고, 그 결과 정보가 손실될 수 있다.
게다가, 디코더 및/또는 은닉 소프트웨어가 꼭 최종 사용자 단말에 구현될 필요는 없고, 수신 단말에서의 즉각적인 소모를 위해 비디오를 출력할 필요도 없다. 대안의 실시예들에서, 수신 단말이 비디오를 다른 단말로 디코딩된 및/또는 은닉된 형태로 출력하기 위해 또는 나중의 소비를 위해 디코딩된 및/또는 은닉된 비디오를 저장하기 위해 디코더 및/또는 은닉 소프트웨어를 실행하는 서버일 수 있다. 다른 대안에서, 은닉이 디코더로부터 별도로 다운로드될 수 있는, 뷰어(viewer)에 대한 플러그 인의 형태를 취할 수 있다.
실시예들에서, ROI 맵이 전송되는 비트스트림에 삽입될 필요는 없다. 다른 실시예들에서, ROI 맵이 네트워크(32) 또는 다른 네트워크를 통해 별도로 송신될 수 있을 것이다. 예컨대, ROI 정보는 대역내(in-band)(비디오 비트스트림에 삽입됨) 또는 대역외(out-of band)(상위 프로토콜 레벨에서 전송됨)일 수 있다. 대안적으로, 논의된 바와 같이, 다른 추가의 실시예들에서, ROI가 인코더측 대신에 디코더측에서 결정될 수 있다. 이와 유사하게, 실시예들에서, 은닉 추정치가 전송되는 비트스트림에 삽입될 필요는 없고, 다른 실시예들에서, 네트워크(32) 또는 다른 네트워크를 통해 별도로 송신될 수 있거나, 디코더측에서 결정될 수 있다. 본 명세서에서의 개시 내용에서 다루고 있는 시스템의 동작 모드들은 다음과 같은 것들(이들로 제한되지 않음)을 포함한다:
Figure pct00004
ROI의 전송;
Figure pct00005
중요도 맵의 전송;
Figure pct00006
수신기가 이전 프레임에 대해 얼굴 검출 알고리즘을 실행하는 것; 또는
Figure pct00007
수신기가 양자화 파라미터(quantization parameter, QP)들로부터 중요도 맵을 추출하는 것 - QP가 고정되지 않은 경우 보간을 적용함(예컨대, 하나의 프레임으로부터 다른 프레임으로 중요도를 이전시키기 위해 움직임 벡터를 사용함). 덜 복잡한 대안은 건너뛴 매크로블록(skipped macroblock)들을 덜 중요한 것으로 취급하는 것이다.
게다가, 본 개시 내용이 임의의 특정의 은닉 알고리즘의 사용으로 제한되지 않고, 다양한 적당한 은닉 알고리즘들 자체가 통상의 기술자들에게 공지되어 있을 것이다. 앞서 사용된 "투영", "외삽" 또는 "보간"이라는 용어들은 임의의 특정의 수학적 연산으로 제한하도록 의도되어 있지 않다. 일반적으로, 은닉은 (과거의 데이터를 단지 프리즈하는 것과 달리) 공간 및/또는 시간상 근방에 있는 다른 수신된 영상 데이터로부터 투영하는 것에 의해 손실된 데이터에 대한 교체물을 재생성하려고 시도하기 위해 임의의 연산을 사용할 수 있다.
게다가, 은닉 품질의 척도가 관심 영역 쪽으로 선택적으로 지향되어 있다고 말해지는 경우, 이것은 가중된 추정치가 관심 영역 및 다른 영역 둘 다에 기초하지만 관심 영역 쪽으로 편향되어 있을 가능성을 포함할 수 있다. 이것은 품질 추정치에 상이한 영역들을 엄격히 포함시키거나 배제시키는 것으로 단순히 제한하지 않는다. 즉, 이것은 관심 영역에서의 품질 쪽으로 적어도 편견적으로 바라보는 임의의 척도를 포함한다.
본 명세서에 개시된 기법들은 인코더 또는 디코더의 본질적 부분으로서 구현될 수 있거나(예컨대, H.264 또는 H.265와 같은 기존의 표준에 대한 업데이트로서 포함됨), H.264 또는 H.265에 대한 추가 기능(add-on)과 같은 기존의 표준에 대한 추가 기능으로서 구현될 수 있다. 게다가, 본 개시 내용의 범주가 비디오 샘플들의 임의의 특정의 표현으로 구체적으로 제한되지 않는다(RGB, YUV 또는 다른 것으로 되어 있든 관계 없음). 그 범주가 임의의 특정의 양자화로도 DCT 변환으로도 제한되지 않는다. 예컨대, KLT(Karhunen-LoeveTransform)와 같은 대안의 변환이 사용될 수 있거나, 어떤 변환도 사용되지 않을 수 있다. 게다가, 본 개시 내용이 VoIP 통신 또는 임의의 특정의 종류의 네트워크를 통한 통신으로 제한되지 않고, 디지털 데이터를 전달할 수 있는 임의의 네트워크에서, 또는 인코딩된 데이터를 저장 매체에 저장하기 위한 시스템에서 사용될 수 있을 것이다.
일반적으로, 본 명세서에 기술된 기능들 중 임의의 것이 소프트웨어, 펌웨어, 하드웨어[예컨대, 고정 논리 회로(fixed logic circuitry)], 또는 이 구현들의 조합을 사용하여 구현될 수 있다. "모듈", "기능", "구성요소" 및 "논리"라는 용어들은, 본 명세서에서 사용되는 바와 같이, 일반적으로 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 조합을 나타낸다. 소프트웨어 구현의 경우에, 모듈, 기능, 또는 논리는 프로세서(예컨대, CPU 또는 CPU들) 상에서 실행될 때 지정된 작업들을 수행하는 프로그램 코드를 나타낸다. 프로그램 코드는 하나 이상의 컴퓨터 판독가능 메모리 디바이스들에 저장될 수 있다. 이하에 기술된 기법들의 특징들이 플랫폼 독립적(platform-independent)이며, 플랫폼 독립적이라는 것은 기법들이 각종의 프로세서들을 가지는 각종의 상용 컴퓨팅 플랫폼들에서 구현될 수 있다는 것을 의미한다.
예를 들어, 사용자 단말들은 또한 사용자 단말들의 하드웨어로 하여금 동작들(예컨대, 프로세서 기능 블록들 등)을 수행하게 하는 엔터티(예컨대, 소프트웨어)를 포함할 수 있다. 예를 들어, 사용자 단말들은 사용자 단말들, 보다 상세하게는, 사용자 단말들의 운영 체제 및 연관된 하드웨어로 하여금 동작들을 수행하게 하는 명령어들을 유지하도록 구성될 수 있는 컴퓨터 판독가능 매체를 포함할 수 있다. 이와 같이, 명령어들은 운영 체제 및 연관된 하드웨어를 동작들을 수행하도록 구성하는 기능을 하고, 이러한 방식으로 운영 체제 및 연관된 하드웨어를 기능들을 수행하도록 변환시킨다. 명령어들은 각종의 상이한 구성들을 통해 컴퓨터 판독가능 매체에 의해 사용자 단말들에 제공될 수 있다.
컴퓨터 판독가능 매체의 하나의 이러한 구성은 신호 전달 매체(signal bearing medium)이고, 따라서 명령어들을 네트워크를 통하는 등에 의해, (예컨대, 반송파로서) 컴퓨팅 디바이스로 전송하도록 구성되어 있다. 컴퓨터 판독가능 매체는 또한 컴퓨터 판독가능 저장 매체로서 구성될 수 있고, 따라서 신호 전달 매체가 아니다. 컴퓨터 판독가능 저장 매체의 예는 RAM(random-access memory), ROM(read-only memory), 광 디스크, 플래시 메모리, 하드 디스크 메모리, 그리고 명령어들 및 다른 데이터를 저장하기 위해 자기, 광, 및 기타 기법들을 사용할 수 있는 다른 메모리 디바이스를 포함한다.
발명 요지가 구조적 특징들 및/또는 방법적 동작들과 관련하여 기술되어 있지만, 첨부된 청구범위에 한정되어 있는 발명 요지가 앞서 기술된 구체적인 특징들 또는 동작들로 꼭 제한될 필요는 없다는 것을 잘 알 것이다. 오히려, 앞서 기술된 특정의 특징들 및 동작들은 청구항들을 구현하는 예시적인 형태들로서 개시되어 있다.

Claims (10)

  1. 수신 장치로서,
    비디오 신호를 수신하는 수신기;
    상기 비디오 신호를 화면, 저장 디바이스 또는 추가적인 단말로 출력하는 출력부; 및
    손실된 데이터를 갖는 상기 비디오 신호의 구역에 은닉(concealment) 알고리즘을 적용하는 은닉 모듈
    을 포함하고;
    상기 은닉 모듈은, 상기 구역 내의 관심 영역 쪽으로 선택적으로 지향되어 있는(directed) 은닉 품질의 추정치를 결정하고, 상기 추정치에 기초하여, 상기 은닉 알고리즘을 적용할지 여부를 결정하도록 구성된 것인, 수신 장치.
  2. 제1항에 있어서, 상기 은닉 모듈은, 상기 관심 영역 쪽으로 지향되어 있는 상기 추정치에 기초하여, 상기 구역 전체에 대해 상기 은닉 알고리즘을 적용할지 여부에 관한 상기 결정을 행하고, 적용될 때, 상기 관심 영역으로부터 손실된 데이터 및 상기 관심 영역 밖의 추가적인 영역으로부터 손실된 데이터를 은닉시키도록 구성된 것인, 수신 장치.
  3. 제2항에 있어서, 상기 비디오 신호는 복수의 프레임들을 포함하고, 상기 구역은 프레임 전체를 포함하며, 상기 은닉 모듈은, 해당 프레임 내의 상기 관심 영역에 대한 상기 은닉 품질의 추정치에 기초하여, 상기 프레임 전체에 대해 상기 은닉 알고리즘을 적용할지 여부에 관한 상기 결정을 한번 행하는 것인, 수신 장치.
  4. 제1항, 제2항 또는 제3항 중 어느 한 항에 있어서, 상기 관심 영역은 얼굴의 적어도 일부의 영상을 포함한 것인, 수신 장치.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 비디오 신호는 라이브 비디오 스트림을 포함한 것인, 수신 장치.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 은닉 모듈은 상기 비디오 신호를 전송하는 단말로부터 수신된 상기 관심 영역의 표시를 수신하는 것에 의해 상기 관심 영역을 결정하도록 구성된 것인, 수신 장치.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서, 상기 은닉 모듈은 상기 수신 장치에서 영상 인식 알고리즘을 적용하는 것에 의해 상기 관심 영역을 결정하도록 구성된 것인, 수신 장치.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서, 상기 은닉 모듈은 상기 관심 영역에만 기초하여 상기 은닉 품질의 추정치를 결정하고, 상기 추가적인 영역에 대한 은닉 품질을 고려함이 없이 상기 구역에 대해 상기 은닉 알고리즘을 적용할지 여부를 결정하도록 구성된 것인, 수신 장치.
  9. 제1항 내지 제7항 중 어느 한 항에 있어서, 상기 은닉 모듈은 상기 관심 영역 및 상기 추가적인 영역에 기초하여, 그러나 상기 관심 영역 쪽으로 가중치를 부여하여, 상기 은닉 품질의 추정치를 결정하도록 구성된 것인, 수신 장치.
  10. 복수의 프레임들을 포함하는 비디오 신호를 처리하는 컴퓨터 프로그램 제품으로서,
    화면, 저장 디바이스 또는 추가적인 단말로의 출력을 위해 상기 비디오 신호를 처리하는 동작; 및
    손실된 데이터를 가지는 상기 비디오 신호의 구역에 대해 은닉 알고리즘을 조건부로 적용하는 동작
    을, 수신 단말 상에서 실행될 때, 수행하도록 구성되어 있으며, 컴퓨터 판독가능 저장 매체 상에 포함되어 있는 코드
    를 포함하고,
    상기 은닉 알고리즘의 상기 조건부 적용은, 상기 구역 내의 관심 영역 쪽으로 선택적으로 지향되어 있는 은닉 품질의 추정치를 결정하는 것, 및 상기 추정치에 기초하여, 상기 은닉 알고리즘을 적용할지 여부를 결정하는 것을 포함한 것인, 컴퓨터 프로그램 제품.
KR1020157023189A 2013-01-28 2014-01-28 손실된 비디오 데이터의 조건부 은닉 KR102185803B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
GB1301449.3A GB2513090B (en) 2013-01-28 2013-01-28 Conditional concealment of lost video data
GB1301449.3 2013-01-28
US13/803,738 2013-03-14
US13/803,738 US9609321B2 (en) 2013-01-28 2013-03-14 Conditional concealment of lost video data
PCT/US2014/013451 WO2014117182A1 (en) 2013-01-28 2014-01-28 Conditional concealment of lost video data

Publications (2)

Publication Number Publication Date
KR20150111993A true KR20150111993A (ko) 2015-10-06
KR102185803B1 KR102185803B1 (ko) 2020-12-02

Family

ID=47890866

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157023189A KR102185803B1 (ko) 2013-01-28 2014-01-28 손실된 비디오 데이터의 조건부 은닉

Country Status (6)

Country Link
US (1) US9609321B2 (ko)
EP (1) EP2936812B1 (ko)
KR (1) KR102185803B1 (ko)
CN (1) CN105409216B (ko)
GB (1) GB2513090B (ko)
WO (1) WO2014117182A1 (ko)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2497915B (en) 2011-10-25 2015-09-09 Skype Estimating quality of a video signal
JP2014082541A (ja) * 2012-10-12 2014-05-08 National Institute Of Information & Communication Technology 互いに類似した情報を含む複数画像のデータサイズを低減する方法、プログラムおよび装置
US20160205406A1 (en) * 2013-09-30 2016-07-14 Coolpad Software Tech (Shenzhen) Co., Ltd Image encoding and decoding method and system and terminal
US10158889B2 (en) * 2015-01-31 2018-12-18 Intel Corporation Replaying old packets for concealing video decoding errors and video decoding latency adjustment based on wireless link conditions
US10313685B2 (en) 2015-09-08 2019-06-04 Microsoft Technology Licensing, Llc Video coding
US10595025B2 (en) 2015-09-08 2020-03-17 Microsoft Technology Licensing, Llc Video coding
CN105791878B (zh) * 2016-03-04 2019-04-05 广东顺德中山大学卡内基梅隆大学国际联合研究院 图像错误隐藏方法与系统
FI20165256A (fi) * 2016-03-24 2017-09-25 Nokia Technologies Oy Laitteisto, menetelmä ja tietokoneohjelma videokoodaukseen ja -dekoodaukseen
JP6607354B2 (ja) * 2016-11-10 2019-11-20 京セラドキュメントソリューションズ株式会社 画像形成システム、画像形成方法及び画像形成プログラム
US10779011B2 (en) * 2017-07-31 2020-09-15 Qualcomm Incorporated Error concealment in virtual reality system
GB2586941B (en) * 2017-08-01 2022-06-22 Displaylink Uk Ltd Reducing judder using motion vectors
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
CN108574689B (zh) * 2017-11-20 2020-07-03 视联动力信息技术股份有限公司 一种可视通话的方法和装置
US11290515B2 (en) 2017-12-07 2022-03-29 Advanced Micro Devices, Inc. Real-time and low latency packetization protocol for live compressed video data
CN108629749B (zh) * 2018-04-26 2021-10-01 西安空间无线电技术研究所 一种图像压缩和隐藏相结合的方法
US11100604B2 (en) 2019-01-31 2021-08-24 Advanced Micro Devices, Inc. Multiple application cooperative frame-based GPU scheduling
US11418797B2 (en) 2019-03-28 2022-08-16 Advanced Micro Devices, Inc. Multi-plane transmission
US10945029B2 (en) * 2019-05-31 2021-03-09 Qualcomm Incorporated Video frame rendering criteria for video telephony service
US20230319321A1 (en) * 2020-08-26 2023-10-05 Telefonaktiebolaget Lm Ericsson (Publ) Generating and processing video data
US11488328B2 (en) 2020-09-25 2022-11-01 Advanced Micro Devices, Inc. Automatic data format detection
US11483223B1 (en) * 2021-03-30 2022-10-25 Qualcomm Incorporated Continuity of video calls using artificial frames based on identified facial landmarks

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080029511A (ko) * 2006-09-29 2008-04-03 삼성전자주식회사 동영상 복호화시 손실 은폐 방법 및 이를 이용한 복호화장치
KR20100001064A (ko) * 2008-06-26 2010-01-06 주식회사 케이티 아이피티브이에서 이미지 인식을 이용한 컨텐츠 검색 방법및 시스템
WO2011134113A1 (en) * 2010-04-30 2011-11-03 Thomson Licensing Method and apparatus for assessing quality of video stream
US20120170658A1 (en) * 2010-12-30 2012-07-05 Ian Anderson Concealment Of Data Loss For Video Decoding

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001285897A (ja) 2000-03-28 2001-10-12 Ando Electric Co Ltd 動画受信品質評価装置
US7039117B2 (en) 2001-08-16 2006-05-02 Sony Corporation Error concealment of video data using texture data recovery
US6910175B2 (en) 2001-09-14 2005-06-21 Koninklijke Philips Electronics N.V. Encoder redundancy selection system and method
GB2381980A (en) 2001-11-07 2003-05-14 Motorola Inc Error concealment in scalable video transmissions
WO2004008733A2 (en) 2002-07-15 2004-01-22 Nokia Corporation Method for error concealment in video sequences
US7038710B2 (en) 2002-07-17 2006-05-02 Koninklijke Philips Electronics, N.V. Method and apparatus for measuring the quality of video data
US7400774B2 (en) 2002-09-06 2008-07-15 The Regents Of The University Of California Encoding and decoding of digital data using cues derivable at a decoder
US7466755B2 (en) 2002-10-04 2008-12-16 Industrial Technology Research Institute Method for video error concealment by updating statistics
KR100543700B1 (ko) * 2003-01-30 2006-01-20 삼성전자주식회사 영상의 중복 부호화 및 복호화 방법 및 장치
JP3997171B2 (ja) 2003-03-27 2007-10-24 株式会社エヌ・ティ・ティ・ドコモ 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法、及び動画像復号プログラム
US7606313B2 (en) 2004-01-15 2009-10-20 Ittiam Systems (P) Ltd. System, method, and apparatus for error concealment in coded video signals
WO2005084035A2 (en) 2004-02-06 2005-09-09 Apple Computer, Inc. Rate and quality controller for h.264/avc video coder and scene analyzer therefor
EP2770694A1 (en) 2004-02-12 2014-08-27 Core Wireless Licensing S.a.r.l. Classified media quality of experience
WO2007066066A2 (en) 2005-12-05 2007-06-14 British Telecommunications Public Limited Company Non-intrusive video quality measurement
US8150155B2 (en) 2006-02-07 2012-04-03 Qualcomm Incorporated Multi-mode region-of-interest video object segmentation
US20080062322A1 (en) 2006-08-28 2008-03-13 Ortiva Wireless Digital video content customization
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
US9578337B2 (en) 2007-01-31 2017-02-21 Nec Corporation Image quality evaluating method, image quality evaluating apparatus and image quality evaluating program
US8824567B2 (en) 2007-04-04 2014-09-02 Ittiam Systems (P) Ltd. Method and device for tracking error propagation and refreshing a video stream
US20080285651A1 (en) 2007-05-17 2008-11-20 The Hong Kong University Of Science And Technology Spatio-temporal boundary matching algorithm for temporal error concealment
KR20090000502A (ko) 2007-06-28 2009-01-07 삼성전자주식회사 손실된 블록의 주변 블록 특성에 적응적인 에러 은닉 방법및 장치
EP2206303B1 (en) 2007-07-16 2013-03-06 Telchemy, Incorporated Method and system for viewer quality estimation of packet video streams
US8111757B2 (en) * 2007-09-28 2012-02-07 Motorola Mobility, Inc. Method and apparatus for video signal processing
KR20090063406A (ko) 2007-12-14 2009-06-18 삼성전자주식회사 전송 특성을 고려한 실시간 동영상 화질 평가 시스템 및방법
US20100011274A1 (en) 2008-06-12 2010-01-14 Qualcomm Incorporated Hypothetical fec decoder and signalling for decoding control
TWI374672B (en) 2008-07-04 2012-10-11 Univ Nat Taiwan Seamless wireless video transmission for multimedia applications
WO2010042650A2 (en) 2008-10-07 2010-04-15 Motorola, Inc. System and method of optimized bit extraction for scalable video coding
US8532414B2 (en) * 2009-03-17 2013-09-10 Utc Fire & Security Corporation Region-of-interest video quality enhancement for object recognition
FR2944938B1 (fr) * 2009-04-28 2011-10-21 Canon Kk Procede et dispositif de correction d'erreurs.
US10477249B2 (en) 2009-06-05 2019-11-12 Apple Inc. Video processing for masking coding artifacts using dynamic noise maps
TWI401972B (zh) 2009-06-23 2013-07-11 Acer Inc 時間性錯誤隱藏方法
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
US8976873B2 (en) 2010-11-24 2015-03-10 Stmicroelectronics S.R.L. Apparatus and method for performing error concealment of inter-coded video frames
HUE026522T2 (en) 2010-12-10 2016-06-28 Deutsche Telekom Ag Procedure and equipment for objective evaluation of video quality based on continuous pack loss visibility estimation
US20130016775A1 (en) * 2011-07-11 2013-01-17 David Prakash Varodayan Video Encoding Using Visual Quality Feedback
GB2497915B (en) 2011-10-25 2015-09-09 Skype Estimating quality of a video signal

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080029511A (ko) * 2006-09-29 2008-04-03 삼성전자주식회사 동영상 복호화시 손실 은폐 방법 및 이를 이용한 복호화장치
KR20100001064A (ko) * 2008-06-26 2010-01-06 주식회사 케이티 아이피티브이에서 이미지 인식을 이용한 컨텐츠 검색 방법및 시스템
WO2011134113A1 (en) * 2010-04-30 2011-11-03 Thomson Licensing Method and apparatus for assessing quality of video stream
US20120170658A1 (en) * 2010-12-30 2012-07-05 Ian Anderson Concealment Of Data Loss For Video Decoding

Also Published As

Publication number Publication date
EP2936812A1 (en) 2015-10-28
CN105409216A (zh) 2016-03-16
WO2014117182A1 (en) 2014-07-31
KR102185803B1 (ko) 2020-12-02
CN105409216B (zh) 2020-04-07
GB2513090A (en) 2014-10-22
GB2513090B (en) 2019-12-11
US20140211860A1 (en) 2014-07-31
US9609321B2 (en) 2017-03-28
EP2936812B1 (en) 2017-01-11
GB201301449D0 (en) 2013-03-13

Similar Documents

Publication Publication Date Title
KR102185803B1 (ko) 손실된 비디오 데이터의 조건부 은닉
US20140211858A1 (en) Spatially adaptive video coding
EP3001885B1 (en) Region-of-interest aware video coding
US9210420B1 (en) Method and apparatus for encoding video by changing frame resolution
US9414086B2 (en) Partial frame utilization in video codecs
US20140211842A1 (en) Adapting Robustness in Video Coding
US10205953B2 (en) Object detection informed encoding
KR101808327B1 (ko) 영상 코덱에서 패딩을 이용한 영상 부/복호화 방법 및 장치
WO2015105816A2 (en) Representing motion vectors in an encoded bitstream
US11190775B2 (en) System and method for reducing video coding fluctuation
US20140307771A1 (en) Resource for encoding a video signal
KR20160106155A (ko) 화면 콘텐츠 데이터의 비디오 인코딩
US11212536B2 (en) Negative region-of-interest video coding
US9565404B2 (en) Encoding techniques for banding reduction
US9432694B2 (en) Signal shaping techniques for video data that is susceptible to banding artifacts
US10742979B2 (en) Nonlinear local activity for adaptive quantization
CN107409211A (zh) 一种视频编解码方法及装置
Naccari et al. Perceptually optimized video compression
US11089308B1 (en) Removing blocking artifacts in video encoders
KR20180103673A (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