KR20080049789A - 블록 기반의 비디오에서 움직임 프로젝션 에러 은폐 기술을위한 방법 및 장치 - Google Patents

블록 기반의 비디오에서 움직임 프로젝션 에러 은폐 기술을위한 방법 및 장치 Download PDF

Info

Publication number
KR20080049789A
KR20080049789A KR1020087007478A KR20087007478A KR20080049789A KR 20080049789 A KR20080049789 A KR 20080049789A KR 1020087007478 A KR1020087007478 A KR 1020087007478A KR 20087007478 A KR20087007478 A KR 20087007478A KR 20080049789 A KR20080049789 A KR 20080049789A
Authority
KR
South Korea
Prior art keywords
block
picture
correctly received
lost
error concealment
Prior art date
Application number
KR1020087007478A
Other languages
English (en)
Inventor
젠유 우
질 맥도날드 보이세
Original Assignee
톰슨 라이센싱
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 톰슨 라이센싱 filed Critical 톰슨 라이센싱
Publication of KR20080049789A publication Critical patent/KR20080049789A/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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation

Landscapes

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

Abstract

블록 기반의 에러 은폐를 위한 방법 및 장치가 제공된다. 상기 장치는 결과로서 생기는 프로젝션을 획득하기 위해 정확하게 수신된 비디오 시퀀스 화상에서의 적어도 하나의 블록 위치를 정확하게 수신된 화상에서의 적어도 하나의 블록의 움직임 벡터를 사용하여 상실된 화상(lost picture)의 현재 블록 위치에 프로젝션하고, 상기 결과로서 생기는 프로젝션에서의 오버랩의 양에 기초하여 정확하게 수신된 화상에서 적어도 하나의 블록 중에서 하나를 선택함으로써 비디오 시퀀스의 상실된 화상에서 현재 블록을 은폐하기 위한 에러 은폐 모듈(177)을 포함한다. 상기 상실된 화상에서의 현재 블록은 그 다음, 상기 정확하게 수신된 화상에서의 적어도 하나의 블록 중 선택된 하나의 움직임 벡터를 사용하여 감춰진다.

Description

블록 기반의 비디오에서 움직임 프로젝션 에러 은폐 기술을 위한 방법 및 장치{METHOD AND APPARATUS FOR MOTION PROJECTION ERROR CONCEALMENT IN BLOCK-BASED VIDEO}
본 출원은 2005년 9월 29일자에 "METHOD AND APPARATUS FOR MOTION PROJECTION ERROR CONCEALMENT IN BLOCK BASED VIDEO"의 명칭으로 미국에 가출원된 일련번호 60/721,892의 이점을 주장하며, 상기 가출원은 참조문헌으로 본 명세서에서 완전히 병합된다.
본 발명은 일반적으로 비디오 디코딩 기술 특히, 블록 기반의 비디오에서 움직임 프로젝션 에러 은폐 기술을 위한 방법 및 장치에 관한 것이다.
압축된 비디오 콘텐트는 전송 동안에 채널 손상(channel impairment)을 종종 받는다. 일부 적용에서, 훼손된 비디오 비트스트림이 비디오 디코더에 도달할 수 있다. 이러한 일이 발생하는 경우, 어떠한 조치도 적절하게 취해지지 않는다면, 전송된 비디오의 품질은 심각하게 저하될 것이다. 에러 은폐(error concealment)는 이러한 경우에 대비하여 비디오 디코더에 의해 흔히 사용되는 기술이다. 에러 은폐 는 압축된 비트스트림 내의 잔여 리던던시(redundancy)를 이용함으로써 상실되거나 손상된 비디오 정보를 회복시킨다.
슬라이스 손실 에러 은폐(slice loss error concealment) 기술은 종래 기술에서 고려되고 구현되었다. 그러나 이 에러 은폐 기술을 적용하기 위하여 각각의 상실된 프레임에 대해 적어도 하나의 슬라이스가 수신되어야 한다. 그러므로 비디오 프레임이 완전히 상실되면, 상기 슬라이스 손실 에러 은폐는 적용 불가능하다. 그러나 많은 적용 특히, 3세대 무선 네트워크와 같은 느린 비트 속도에서의 동작하는 적용에서, 부호화된 프레임은 전송 유닛으로 캡슐화된다. 이러한 전송 유닛이 전송 동안에 상실된 경우, 대응하는 프레임도 상실된다. 슬라이스 손실 에러 은폐는 이러한 적용에서 실패한다.
전체 프레임 손실을 처리할 수 있는 현존하는 간단한 에러 은폐 알고리즘이 일부 존재한다. 예컨대, 상실된 프레임을 재구성하기 위해 주어진 기준 프레임에서 픽셀 단위로의 복사를 간단히 실행하는 방식인 "프레임 복사"("Frame Copy")(FC)가 하나의 기술이다. 상기 FC는 움직임이 거의 없는 정지된 비디오 시퀀스에 효과적이다. 그러나 활발한 움직임을 소유한 비디오 시퀀스를 위해, FC는 현저한 에러 전파(error propagation)뿐만 아니라 낮은 PSNR 값을 종종 생성시킨다.
"Motion Copy"(MC)는 상실된 프레임을 은폐시킬 수 있는 또 다른 간단한 에러 은폐 기술이다. MC는 상실된 프레임에 대한 주어진 기준 프레임의 움직임 필드를 복사하고서 상기 상실된 프레임을 재건하기 위해 움직임 보상을 실행한다. MC는 카메라 패닝(camera panning)에서 일어나는 것과 같은 동질적인(homogeneous) 움직 임 필드를 소유하는 비디오 시퀀스에 효과적이다. 그러나 MC는 비디오 시퀀스에서 심한 무질서 움직임이 존재하는 경우에, 은폐 아티팩트(concealment artifact)를 초래할 수 있다.
약간 더 정교한 에러 은폐 알고리즘은 상실된 프레임을 은폐하도록 제안되어 왔다. 이러한 에러 은폐 알고리즘은 일반적으로, 블록-레벨 및 픽셀-레벨 알고리즘으로 나눠질 수 있다. 하나의 이러한 픽셀-레벨 에러 은폐 알고리즘은 마지막으로 수신된 프레임으로부터의 각 픽셀에서 움직임 벡터(MV)를 보간한다(extrapolate). 그 다음, 현재에 분실한 프레임의 각 픽셀에 대해, 에러 은폐 알고리즘은 중복되는 마크로블록(MB:macroblock) 모두의 MV를 평균화하거나 이전의 프레임에서 동일 위치의 MV로부터 그것을 복사함으로써 MV를 측정한다.
다른 이러한 픽셀-레벨 에러 은폐 알고리즘에서, 광학 흐름에 기초한 움직임 측정이 제안되었다. 측정된 움직임 벡터(MV)는 과도한 불연속성을 피하는 공간적인 조정(spatial regularization) 이후에, 상실된 프레임 상에 프로젝션된다. 상실된 프레임의 채워지지 않은(unfilled) 픽셀은 그 다음, 공간적으로 보간된다.
모든 상기 알고리즘은 각 픽셀 마다 MV를 측정하고서 움직임 보상을 실행하는 픽셀-레벨로 동작한다. 이러한 알고리즘은 현존하는 데이터 구조를 바꾸어 기능 모듈을 현존하는 비디오 디코딩 다이어그램에 추가하는 것을 일반적으로 요구한다. 더욱이, 이러한 알고리즘은 실질적인 양의 추가 계산을 요구한다. 대조적으로, 각 블록 마다 MV를 측정하는 블록-레벨로 동작하는 알고리즘이 존재한다. 블록-레벨 에러 은폐 알고리즘은 일반적으로, 훨씬 더 적은 복잡도 또는 부담을 요구한다.
하나의 이러한 블록-레벨 에러 은폐 알고리즘에서, 16 X 16 또는 4 X 4 블록 각각에 대해, 획득되는 MV의 일관성(consistency)은 제1 및 제2 오더 모멘트(order moment)를 계산함으로써 검사된다. 그러나 상기 블록-레벨의 에러 은폐 알고리즘은 성능을 손상시키는 검사를 저버리는 이러한 블록에 대한 해결책을 제공하지 않는다.
선행 기술의 이러한 및 다른 단점과 불이익은 블록 기반의 비디오에서의 움직임 프로젝션 에러 은폐를 위한 방법 및 장치에 관한 본 발명에 의해 다루어진다.
본 발명의 측면에 따르면, 블록 기반의 에러 은폐를 위한 장치가 제공된다. 이 장치는 결과로서 생기는 프로젝션을 획득하기 위해 비디오 정확하게 수신된 비디오 시퀀스의 화상에서의 적어도 하나의 블록 위치를 정확하게 수신된 화상에서의 적어도 하나의 블록의 움직임 벡터를 사용하여 상실된 화상(lost picture)의 현재 블록 위치에 프로젝션하고, 상기 결과로서 생기는 프로젝션에서의 오버랩의 양에 기초하여 정확하게 수신된 화상에서 적어도 하나의 블록 중에서 하나를 선택함으로써 비디오 시퀀스의 상실된 화상에서 현재 블록을 은폐하기 위한 에러 은폐 모듈(177)을 포함한다. 상기 상실된 화상에서의 현재 블록은 그 다음, 상기 정확하게 수신된 화상에서의 적어도 하나의 블록 중 선택된 하나의 움직임 벡터를 사용하여 감춰진다.
본 발명의 또 다른 측면에 따르면, 비디오 시퀀스의 상실한 화상에서 현재 블록을 은폐하기 위한 방법이 제공된다. 이 방법은 결과로서 생기는 프로젝션을 획득하기 위해 비디오 정확하게 수신된 비디오 시퀀스의 화상에서의 적어도 하나의 블록 위치를 정확하게 수신된 화상에서의 적어도 하나의 블록의 움직임 벡터를 사용하여 상실된 화상(lost picture)의 현재 블록 위치에 프로젝션하는 단계를 포함한다. 또한 상기 방법은 상기 결과로서 생기는 프로젝션에서의 오버랩의 양에 기초하여 정확하게 수신된 화상에서 적어도 하나의 블록 중에서 하나를 선택하는 단계를 포함한다. 상기 방법은 정확하게 수신된 화상에서의 적어도 하나의 블록 중 선택된 하나의 움직임 벡터를 사용하여 상실된 화상에서의 현재 블록을 은폐하는 단계를 더 포함한다.
본 발명의 이러한 및 다른 측면, 특징 및 이점은 다음의 예시적인 실시예의 세부적인 설명으로부터 분명해질 것이며, 상기 예시적인 실시예의 설명은 첨부되는 도면과 연계하여 읽혀져야 한다.
본 발명은 다음의 예시적인 도면에 따르면 더 잘 이해될 수 있다.
도 1은 본 발명의 원리의 실시예에 따라 본 발명의 원리가 적용될 수 있는 예시적인 디코더에 관한 블록도.
도 2는 본 발명의 원리의 실시예에 따라 비디오 디코딩 프로세스에서 블록을 프로젝션하기 위한 예시적인 방법에 관한 흐름도.
도 3은 본 발명의 원리의 실시예에 따라 도 2의 방법의 예시적인 실시를 도 시하는 도면.
도 4는 본 발명의 원리의 실시예에 따라 상실된 비디오 프레임의 커버링되지 않는 영역 및 충돌 영역을 위한 중간 필터링(median filtering)에 대한 예시적인 방법의 흐름도.
도 5는 본 발명의 원리의 실시예에 따라 비디오 디코더에서 블록-레벨 에러 은폐를 위한 예시적인 방법에 대한 흐름도.
본 발명은 블록 기반의 비디오에서 움직임 프로젝션 에러 은폐를 위한 방법 및 장치에 관한 것이다. 예시적인 목적으로, 본 발명은 "the International Organization for Standardization/International Electrotechnical Commission(ISO/IEC) Moving Picture Experts Group-4(MPEG-4) Part 10 Advanced Video Coding(AVC) standard/international Telecommunication Union, Telecommunication Sector(ITU-T) H.264 표준"(이후에는, "MPEG4/H.264 표준"또는 간단하게 "H.264 표준")을 준수하며, 비트스트림에 대하여 본 명세서에서 설명된다. 그러나 본 발명이 H.264 표준을 준수하는 비트스트림에 완전히 제한되는 것이 아니므로, 다른 블록 기반의 비트스트림에 똑같이 적용될 수 있다는 것을 이해해야 한다. 더욱이, 본 발명이 비디오 프레임의 이미지 블록에 관하여 본 명세서에서 설명되지만, 본 발명이 비디오 필드, 화상, 슬라이스 및 그 밖의 유사물의 이미지 블록에 똑같이 적용될 수 있으므로, 본 명세서에서 사용되는 바와 같이 "프레임"이라 는 단어는 포괄적인 의미로 해석되어야 한다는 사실을 이해해야 한다. 더욱이, "이미지 구조"라는 말은 또한, 비디오 프레임, 필드, 화상, 슬라이스 및 그 밖의 유사물에서 임의의 것을 집합적으로 표시하기 위해 본 명세서에서 사용된다. 또한, 본 명세서에서 사용된 바와 같이, 상기 용어 "상실된" 및 "상실한"은 또한, 이미지 구조에 관하여 사용되는 경우에, 손상되거나 그렇지 않으면 디코딩될 수 없는 이미지 구조를 포함하도록 의도된다.
본 발명의 상세한 설명은 본 발명의 원리를 예시한다. 그러므로 당업자가 명시적으로 본 명세서에서 설명되거나 도시되지 않을지라도, 본 발명의 원리를 구체화하여 본 발명의 정신과 범위 내에 포함되는 다양한 배열을 수정할 수 있을 것이라는 점을 이해할 것이다.
본 명세서에서 언급된 모든 예와 조건어(conditional language)는 본 발명의 원리와 종래 기술을 진전시키는데 있어서 본 발명자에 의해 공헌된 구상을 이해하는 점에서 독자를 돕기 위해 가르침 용도목적으로 의도되며, 이처럼 세부적으로 언급되는 예와 상황에 제한되지 않고 존재하는 것으로 해석되어야 한다.
더욱이, 본 발명의 구체적인 예뿐만 아니라 본 발명의 원리, 측면 및 실시예를 본 명세서에서 언급하는 모든 설명은 본 발명의 구조적이고 기능적인 동등물을 포함하도록 의도된다. 또한, 상기 설명은, 이러한 동등물이 구조에 상관없이, 미래에 개발된 동등물 즉, 동일한 기능을 실행하는 개발된 임의의 구성요소뿐만 아니라 현재 알려진 동등물을 포함하는 것으로 의도된다.
그러므로 예컨대, 본 명세서에서 나타낸 블록도가 본 발명의 원리를 구체화 하는 예시적인 회로의 개념상의 관점을 나타낸다는 것을 당업자는 이해할 것이다. 마찬가지로, 임의의 흐름 차트, 흐름도, 상태 전이도, 유사부호 및 그 밖의 유사물이 컴퓨터 또는 프로세서가 명시적으로 도시되지 않더라도, 컴퓨터 판독가능 매체에 실질적으로 나타내어질 수 있어서 이러한 컴퓨터 또는 프로세서에 의해 실행될 수 있는 다양한 프로세스를 나타낸다는 것을 이해할 것이다.
도면에서 도시된 다양한 구성요소의 기능은 적절한 소프트웨어와 공동하여 소프트웨어를 실행할 수 있는 하드웨어뿐만 아니라 전용 하드웨어를 사용함으로써 제공될 수 있다. 프로세서에 의해 제공되는 경우, 상기 기능은 단일의 전용 프로세서, 단일의 공용 프로세서 또는, 일부는 공유될 수 있는 복수의 개별적인 프로세서에 의해 제공될 수 있다. 더욱이, "프로세서"또는 "컨트롤러"의 명시적인 용어 사용은 소프트웨어를 실행할 수 있는 오로지 하드웨어에만 관한 것으로 해석되어서는 안 되고, 제한 없이, 디지털 신호 프로세서("DSP") 하드웨어, 소프트웨어 저장용 읽기 전용 메모리("ROM"), 랜덤 액세스 메모리("RAM") 및 비휘발성 기억 장치를 암시적으로 포함할 수 있다.
다른 하드웨어, 즉, 종래의 하드웨어 및/또는 주문형 하드웨어도 또한 포함될 수 있다. 마찬가지로, 도면에 도시된 임의의 스위치는 오로지 개념적이다. 이들의 기능은, 문맥으로부터 더 구체적으로 이해되는 바와 같이 프로그램 논리 동작, 전용 논리, 프로그램 제어와 전용 논리 간의 상호동작 또는 심지어 수동으로, 구현자에 의해 선택될 수 있는 특정 기술을 통해 실행될 수 있다.
본 발명의 청구범위에서, 구체화된 기능을 실행하기 위한 수단으로서 표현된 임의의 구성요소는 예컨대,
a)그 기능을 실행하는 회로 구성요소의 결합물, 또는
b)임의의 형태의 소프트웨어로서, 이 소프트웨어가 상기 기능을 실행하도록 하는 적절한 회로와 결합된 펌웨어, 마이크로부호 또는 그 밖의 유사물을 포함하는, 소프트웨어를
포함하는 그 기능을 실행하는 임의의 방법을 포함하도록 의도된다. 이러한 청구범위에 의해 한정되는 대로 본 발명은, 언급된 다양한 수단에 의해 제공되는 기능성(functionalities)이 청구범위가 요구하는 방식으로 결합되어 소집되는 사실에 있다. 그러므로 이러한 기능성을 제공할 수 있는 임의의 수단이 본 명세서에서 도시된 것과 동등하다고 간주된다.
도 1로 가서, 본 발명의 원리가 적용될 수 있는 예시적인 디코더는 전반에 걸쳐 참조번호 100으로 표시된다. 비디오 디코더(100)는 엔트로피 디코더(110)를 포함한다. 엔트로피 디코더(110)의 제1 출력단은 신호 통신 시, 역 양자화기/변환기(120)의 입력단과 연결된다. 역 양자화기/변환기(120)의 출력단은 신호 통신 시, 써밍 정션(140)의 제1 입력단과 연결된다.
써밍 정션(140)의 출력단은 신호 통신 시, 비 블록화 필터(190)와 연결된다. 비 블록화 필터(190)의 출력단은 신호 통신 시, 기준 화상 스토리지(150)와 연결된다. 기준 화상 스토리지(150)는 신호 통신 시, 움직임 보상기(160)의 제1 입력단과 연결된다. 움직임 보상기(160)의 출력단은 신호 통신 시, 써밍 정션(140)의 제2 입력단과 연결된다.
엔트로피 디코더(110)의 제2 출력단은 신호 통신 시, 움직임 벡터(MV) 스토리지(176)의 입력단과 움직임 보상기(160)의 제2 입력단과 연결된다. 움직임 벡터 스토리지(176)의 출력단은 에러 신호 통신 시에, 에러 은폐 모듈(177)의 입력단과 연결된다. 에러 은폐 모듈(177)의 출력단은 움직임 신호 통신 시, 움직임 보상기(160)의 제3 입력단과 연결된다. 비 블록화 필터(190)의 출력단은 비디오 디코더(100)의 출력단을 제공한다.
본 발명 원리의 실시예에 따라, fc를 상실된 프레임으로 그리고 fr을 이의 기준 프레임으로 표시한다. fc가 움직임 필드를 먼저 측정함으로써 은폐되고 그 다음 움직임 보상이 이어지는데, 상기 둘은 fc에 기초한다고 간주한다. fc의 움직임 필드는 다음의 일반적인 공식에 따라 그것의 상실된 움직임 정보를 회복하도록 fc상에 프로젝트될 수 있다:
Figure 112008022353704-PCT00001
여기서, (i,j)는 프레임에서의 픽셀(또는 블록) 좌표이고,
Figure 112008022353704-PCT00002
Figure 112008022353704-PCT00003
는 fc와 fr 각각의 위치 (i,j)에서 움직임 벡터이고,
Figure 112008022353704-PCT00004
는 프로젝션에 의해 야기되는 가능성 있는 이동(displacement)이다.
일반적으로, 다른 "Motion Projection"(MP) 알고리즘을 갖도록 하기위해 상기 이동을 한정하는 다양한 방법이 존재한다. 실시예에서, 하나의 중요한 프로젝션은 다음의 형태에 의해 표현된다:
Figure 112008022353704-PCT00005
이러한 형태에서, MP는, 움직임이 움직임 궤도를 따라 일정하게 유지된다는 사실을 가정한다. 반대로, MC가, 움직임이 프레임 마다 임의의 위치에서 일정하게 유지된다는 사실을 가정하는 반면에, FC는 정지 움직임 모델을 가정한다. 명백하게도, 상기 MP에 의해 취해진 모델은 FC와 MC의 모델보다 더 현실적이다. 그러나 실제로, MP에 의한 두개의 움직임 필드 사이에서의 가능성 있는 비 일대일(non-one-to-one) 맵핑으로 인해, 프로젝션에 의해 야기된 적용범위가 전혀 없거나 다중의 적용범위(coverages)를 갖는 영역이 존재할 수 있는데, 이는 픽셀 기반의 방식에서 문제가 안 된다. 더욱이, 프로젝트될 움직임은 움직이는 물체의 실제 움직임을 흔히 나타내지 못한다. 그러므로 상기 참고된 선행 기술의 블록-레벨의 에러 은폐 알고리즘을 직접적으로 적용한다면, 이러한 어플리케이션은 원하지 않는 불연속성을 갖는 움직임 필드를 생성할 수 있는데, 이는 성능을 손상시킨다. 그러므로, 본 발명의 원리에 따라, 선행 기술의 관련 문제 즉, 블록 기반의 에러 은폐를 다루는 움직임 프로젝션 방식이 설명된다.
본 발명의 원리는 블록 기반의 에러 은폐 방식을 사용한다. 일반적으로, 위 에서 서술된 바와 같이, 비록 H.264 표준 순응 비트스트림에 관하여 예시적인 목적으로 본 명세서에서 설명되었음에도 불구하고, 본 발명의 원리는 임의의 블록 기반의 비디오 압축 표준에 적용 가능하다.
가장 미세한 가능성 있는 전송 손실 특성(granularity)에 대해, 사용 중인 비디오 압축 표준에 의해 허가된 가장 작은 움직임 블록 크기가 사용되어야 한다. 4 X 4가 H.264 표준에 의해 지원되는 가장 작은 블록 크기이므로, 본 발명 의 원리의 실시예는 은폐된 프레임(또는, 상기에서 서술된 바와 같이, 본 발명의 범위를 여전히 유지하면서, 은폐된 필드, 화상, 슬라이스 등이 사용될 수 있음)에서 각각의 4 X 4 블록에 움직임 벡터를 할당한다. 또한, 다중 기준 움직임 보상이 상기 H.264 표준에서 허용되므로, 프레임에서의 움직임 벡터는 다른 기준 지수를 가질 수 있다. 본 발명의 원리의 이후의 구현 단계(본 명세서에서는 앞으로 "후-처리 단계"로 기재됨)에서, 이웃하는 공간 정보를 충분히 이용하기 위해, 움직임 벡터와 이동이 하나의 기준 프레임에 관한 것이라는 사실은 바람직하다. 그러므로 움직임 벡터와 이동 모두는 필요시에, R(fc,fr)로 리크기 조정되는데(나눠진다), 상기 R(fc,fr)은 프레임 fc와 fr 사이의 시간 거리이다. 아래에서는, 상기 크기 조정이 적용되었고 모든 움직임 벡터와 이동이 동일한 기준 프레임에 관한 것이라는 사실이 가정된다.
실시예에서, 본 발명의 원리 방식은 움직임-프로젝션과 후-처리 두 단계로 나뉜다. Bc를 fc에서 4 X 4 블록으로 표시하고 Br을 fr로부터 프로젝트될 블록으로 표시하는데, 상기 Br은 H.264 표준에 의해 지원되는 임의의 블록 크기를 가질 수 있다. 만일 Br이 내부 모드에서 코딩되면, Br에 대한 상실된 움직임 정보가 그 이웃으로부터, SKIP_P 모드에서 이를 할당함으로써 측정될 수 있다는 사실을 주지한다. 프로젝션 전에, fc에서의 모든 블록{ Bc}은 임의의 프로젝션된 블록(Br)에 의해 커버링되지 않도록 초기화된다. 모든 가능성 있는 결과를 고려해볼 때, 다음의 가능성 있는 3개의 상태 즉, (1)블록이 유니크하고 지배적인 프로젝트된 블록에 의해 커버링되는 경우, "커버링되는 상태"와, (2)지배적인 적용범위가 전혀 없는 다중의 프로젝트된 블록에 의해 상기 블록이 커버링되는 경우, "충돌 상태"와, (3)상기 블록이 임의의 프로젝트된 블록에 의해 커버링되지 않는 경우, "커버링되지 않는 상태"가 프로젝션 이후, 각각의 Bc에 대해 정의된다.
r로부터 블록 Br을 취해, 이를 fc에 프로젝트하고, 상기 프로젝트된 블록을
Figure 112008022353704-PCT00006
로 표시한다. {Bc}가,
Figure 112008022353704-PCT00007
을 지닌 넌-제로 오버랩 영역을 갖는 fr에서 4X4 블록 세트가 되게 한다. 각 Br에 대해, 프로젝션 절차 한 세트는 Br의 MV를 {Bc}에 할당하도록 설계된다. 이러한 절차 세트는 도 2에 도시된다.
도 2로 돌아가면, 비디오 디코딩 프로세스에서 블록을 프로젝트하기 위한 예시적인 방법은 전반에 걸쳐 참조번호 200으로 표시된다. 상기 방법(200)은 상기 세트{Bc}의 블록을 통해 루핑(loop)하고, 기능 블록(210)으로 제어 신호를 전달하는 루프 제한 블록(205)을 포함한다. 상기 기능 블록(210)은 Br 및Bc의 오버랩 영역을 계산하고, 결정 블록(215)으로 제어 신호를 전달시킨다. 상기 결정 블록(215)은 오버랩 영역이 임계값(Th1)을 초과하는지에 대한 여부를 결정한다. 만일 초과하는 경우, 기능 블록(220)으로 제어 신호가 전달된다. 그렇지 않을 경우, 결정 블록(235)으로 제어 신호가 전달된다. 결정 블록(215)에 의해 주어지는 결정에 대한 "예"결과는 커버링된 상태에 있는 Bc에 대응하고, "아니오"결과는 커버링된 상태 및/또는 충돌 상태에 있는 Bc에 대응한다는 사실을 이해해야 한다.
기능 블록(220)은 Bc에 움직임 벡터를 할당하고, 기능 블록(225)으로 제어 신호를 전달한다. 기능 블록(225)은 커버링된 상태에서 Bc를 설정하고, 적용범위 영역을 기록하고 루프 제한 블록(230)으로 제어 신호를 전달한다. 상기 루프 제한 블록(230)은 상기 세트{Bc}의 블록을 위해 루프를 마치고, 루프 제한 블록(205)으로 제어를 반환한다.
결정 블록(235)은 새로운 영역이 이전(오버랩) 영역을 초과하는지 또는 이와 동일한지를 결정한다. 만일 초과한다면, 기능 블록(240)으로 제어 신호를 전달한다. 초과하지 않는다면, 결정 블록(250)으로 제어 신호를 전달한다.
상기 기능 블록(240)은 fc의 {Bc}에 움직임 벡터를 할당하고(Bc를 오버랩하는 fr로부터의 프로젝트된 블록 Br에 기초하여), 기능 블록(245)에 제어 신호를 전 달한다. 기능 블록(245)은 이전의 오버랩 영역을 새로운 오버랩 영역으로 교체하고, 결정 블록(250)으로 제어 신호를 전달한다.
상기 결정 블록(250)은 새로운 영역 마이너스(-) 이전 영역의 값이 임계값(Th2) 이하인지 또는 이와 동일한지에 대한 여부를 결정한다. 만일 임계값 미만인 경우, 제어 신호는 기능 블록(255)으로 전달된다. 아닐 경우, 루프 제한 블록(230)으로 제어 신호가 전달된다.
기능 블록(255)은 충돌 상태에서 Bc를 설정한다.
명백하듯이, fc에 있는 각각의 4 X 4 블록에 대한 MV는 각각의 4 X 4 블록을 오버랩하는 fr으로부터 프로젝트된 블록(Br)에 기초하여 할당된다. 각각의 4 X 4 블록에 대해, 움직임 벡터의 신뢰도는 프로젝트된 블록(Br)의 적용범위 영역으로 표현된다. 더 큰 적용범위 영역에 대해, 신뢰도는 더 높아지고, 더 작은 적용범위 영역에 대해, 신뢰도는 더 낮아진다. 이와 반대로, 4 X 4 블록을 커버링하는 다중의 프로젝트된 블록이 존재하는 경우, 블록이 충돌 상태에 존재하는 것으로 선언되고, 이는 제2 단계에서 재방문을 필요로 한다. 이것은 또한, fr로부터의 임의의 프로젝트된 블록에 의해 커버링되지 않는 4 X 4 블록에 대해서 사실이다.
도 3으로 돌아가면, 도 2의 예시적인 방법 구현은 전반에 걸쳐 참조번호 300으로 표시된다. 예컨대, 4 X 4 블록(8,11,12)은, 이들이 고유하게 그리고 지배적으로 블록 B에 의해 커버링되기 때문에 블록 B의 MV를 할당받는다. 블록(7)이 블록 A 및 B에 의해 커버링되지만, 블록(B)은 주된 적용범위를 취한다. 그러므로 블록(7)은 블록(B)으로부터의 MV를 할당받는다. 그 사이에, 블록(14)이 블록(B 및 C)에 의해 부분적으로 커버링되지만, 임계값(Th1)이 높게 설정되는 경우, 둘 다 지배적인 적용범위를 갖지 못한다. 그러므로 블록(14)은 커버링되지 않는 상태에 설정될 수 있다. 블록(4)으로 프로젝트되는 블록이 전혀 없기 때문에, 블록(4)도 또한, 커버링되지 않는 상태에 설정된다.
상기 단계 이후,
Figure 112008022353704-PCT00008
에 의해 커버링되는 전체 영역이 최초의 크기보다 훨씬 작을 경우, 프로젝션은 실패한 것으로 간주된다. 실패한 프로젝션은 프로젝션 단계 마지막에, 더 많은 커버링되지 않는 영역 또는 충돌 영역을 fc에 생산할 가능성이 있다. 이러한 문제를 해결하기 위해, 상기 실패한 프로젝션이 발생하는 경우, Br은 (0,0)의 전위로 프로젝트된다. 이는 블록에 "Motion Copy"를 적용하는 것과 같고, 이는 완전한 적용범위 영역을 보장한다. 상기 절차는 움직임-프로젝션 단계를 완료하기 위해 fr의 각 블록(Br)에 적용된다.
상기 움직임-프로젝션 단계 이후에, fc의 움직임 필드 측정값이 나온다. 그러나 상기 필드는 충돌 상태 또는 커버링되지 않는 상태를 갖는 영역을 포함할 수 있다. 이러한 영역에 있어서, 관련된 움직임 벡터가 전혀 존재하지 않거나 관련된 움직임 벡터가 부정확할 가능성이 있으며, 상기 두 벡터는 은폐 성능을 떨어뜨릴 수 있다. 그러므로 이러한 문제를 다루기 위해 본 발명의 원리에 따라 후-처리 단 계가 제공된다.
후-처리 단계에서, fc,의 충돌 상태 또는 커버링되지 않는 상태를 갖는 블록의 움직임 벡터가 먼저 다시 측정된다. 이 재측정은 중간 필터링을 이용하는, 공간적으로 신뢰성 있는 이웃 블록에 기초한다. 더 상세하게, 상기 상태를 갖는 블록에 있어서, (4 X 4 블록 단위로) 3 X 3 윈도우 크기를 갖는 중간 필터가 적용된다. 오로지 적합한 블록의 이웃만이 필터링하는데 선택된다. 절차의 세트는 필터링될 각 블록에 대해 상기 선택과 필터링을 실행하도록 설계되고, 이는 도 4와 관련해서 도시된다.
도 4로 돌아가서, 상실된 비디오 프레임의 커버링되지 않는 영역과 충돌 영역을 위한 중간 필터링에 대한 예시적인 방법은 전반에 걸쳐 참조번호 400으로 표시된다. 상기 방법(400)은 카운터를 재설정하고 루프 제한 블록(410)으로 제어 신호를 전달하는 기능 블록(405)을 포함한다. 상기 루프 제한 블록(410)은 필터링될 블록의 이웃 블록을 통해 루핑하고, 결정 블록(415)으로 제어 신호를 전달한다. 상기 결정 블록(415)은 적용범위 영역이 임계값(Th3) 미만인지 아닌지에 대한 여부를 결정한다. 미만일 경우, 기능 블록(420)으로 제어 신호가 전달된다. 미만이 아닐 경우, 루프 제한 블록(425)으로 제어 신호가 전달된다.
상기 기능 블록(420)은 카운터를 증가시키고, 루프 제한 블록(425)에 제어 신호를 전달한다. 상기 루프 제한 블록(425)은 필터링될 블록의 이웃 블록의 루프를 끝내고, 결정 블록(430)에 제어 신호를 전달한다. 상기 결정 블록(430)은 카운 터의 현재 값이 임계값(Th4)을 초과하는지에 대한 여부를 결정한다. 만일 초과한다면, 기능 블록(435)으로 제어 신호를 전달한다. 초과하지 않을 경우, 기능 블록(445)으로 제어 신호를 전달한다.
기능 블록(435)은 {예컨대, (예컨대, 3 X 3 블록 영역의) 블록과 이의 모든 이웃 블록의 움직임 벡터에 관하여 중간 필터링을 실행함으로써} 블록과 이의 모든 이웃 블록의 움직임 벡터에 대한 변화량을 감소시키고, 기능 블록(440)으로 제어 신호를 전달한다. 상기 기능 블록(440)은 16 미만이고 Th4보다 더 큰 적용범위 영역을 블록에 할당하고, 다음 선택되는 블록을 프로세싱하는 기능 블록(455)에 제어 신호를 전달한다.
기능 블록(445)은 입력 블록의 움직임 벡터를 기준 프레임에서의 공동-위치된 블록의 움직임 벡터로 교체하고, 기능 블록(450)으로 제어 신호를 전달한다. 상기 기능 블록(450)은 Th4 미만의 적용범위 영역을 블록에 할당하고, 기능 블록(455)으로 제어 신호를 전달한다.
상기 프로세스 이후에, 더 완벽하고 신뢰성 있는 움직임 벡터 필드가 획득된다. 그러나 이러한 움직임 벡터 필드는 처리되지 않고 남겨진 경우 움직임 보상 이후에, 성가신 블록 아티팩트를 초래할 수 있는 상당한 양의 불연속 영역을 포함할 수 있다. 이러한 문제를 완화하기 위해, 공간적 조정 프로세스가 움직임 벡터 필드에 적용될 수 있다. 움직임 벡터 필드의 과도한 블러링 현상을 피하기 위해 오로지 선택된 영역만이 프로세싱된다. 구체적으로, 완전한 적용범위 영역을 소유하지 않 는 4 X 4 블록만이 예컨대, 필터링된다. 상기 단계로부터, 이러한 영역은 대부분, 다시 측정된 블록과 움직이는 물체의 경계에 대응하는데, 이 경계는 불연속이 주로 발생하는 곳이다. 중간 필터가 복잡도와 성능 사이의 양호한 절충안으로 인하여 조정을 위해 선택된다. 각각 선택된 4 X 4 영역에 있어서, (4 X 4 블록 단위로) 3 X 3 윈도우 크기를 갖는 중간 필터가 적용된다. 이것은 후-처리 단계를 완성한다.
움직임-프로젝션 및 후-처리 단계 이후에, 상실된 프레임의 움직임 필드 측정값이 획득된다. 그 다음, 이 움직임 정보가 상기 상실된 프레임을 재구성하기 위해 정상적인 디코딩 프로세스에 입력된다.
도 5로 돌아가면, 비디오 디코더에서의 블록-레벨 에러 은폐를 위한 예시적인 방법은 전반에 걸쳐 참조번호 500으로 표시된다. 단계 515에서 535는 상기 방법(500)의 움직임 프로젝션 단계(588)에 관한 것이지만, 단계 (540에서 555)는 상기 방법(500)의 후-처리 단계(599)에 관한 것이다.
상기 방법(500)은 기능 블록(510)에 제어 신호를 전달하는 시작 블록(505)을 포함한다. 이 기능 블록(510)은 움직임 벡터와 전위를 위해 기준 프레임에서 재 크기조정을 실행하고, 루프 제한 블록(515)으로 제어 신호를 전달한다. 이 루프 제한 블록(515)은 현재 수신되는 프레임에서의 블록을 통하여 루핑하고, 기능 블록(520)에 제어 신호를 전달한다. 이 기능 블록(520)은 프로젝션 절차에 따라 블록을 프로젝트하고, 결정 블록(525)에 제어 신호를 전달한다. 상기 결정 블록(525)은 프로젝션이 성공적인지에 대한 여부를 결정한다. 만일 성공적이라면, 제어 신호는 루프 제한 블록(527)으로 전달된다. 만일 성공적이지 않다면, 제어 신호는 기능 블 록(530)으로 전달된다.
상기 루프 제한 블록(527)은 가장 큰 적용범위 영역을 갖는 블록의 움직임 벡터(MV)를 갖고, 기능 블록(530)에 제어 신호를 전달한다.
상기 기능 블록(530)은 (0,0)의 전위로 블록을 다시 프로젝트하고, 루프 제한 블록(535)으로 제어 신호를 전달한다. 상기 루프 제한 블록(535)은 정확하게 수신되는 프레임을 통한 블록 루프를 종료하고, 루프 제한 블록(515)으로 제어 신호를 반환하고 또한, 루프 한계 블록(540)으로 제어 신호를 전달한다. 루프 제한 블록(540)은 커버링되지 않는 상태와 충돌 상태를 갖는 블록을 통하여 루핑하고, 기능 블록(545)에 제어 신호를 전달한다. 기능 블록(545)은 이의 이웃에 따라 블록을 위한 움직임 벡터를 다시 측정하고, 루프 제한 블록(550)에 제어 신호를 전달한다. 상기 루프 제한 블록(550)은 커버링되지 않는 상태와 충돌 상태에 있는 블록을 통하여 루핑하고, 기능 블록(555)에 제어 신호를 전달한다. 기능 블록(555)은 프레임에서 선택된 블록에 대한 공간적인 조정을 실행하고, 기능 블록(560)에 제어 신호를 전달한다.기능 블록(560)은 움직임 보상을 수행하고 제어를 기능 블록(565)에 전달한다. 기능 블록(565)은 비블록화(deblocking) 필터링을 실행하고, 종료 블록(570)에 제어 신호를 전달한다.
현존하는 다른 접근법과는 달리, 본 발명의 원리에 따른 접근법은 명시적으로 MV 프로젝션과 정정을 두 단계로 분리시킨다. 움직임 프로젝션 단계에서, 오로지 가장 신뢰성 있는 MV만이 은폐된 프레임에서의 블록으로 프로젝션되어 할당된다. 후-처리 단계에서, 선택된 블록의 MV는 공간적으로 신뢰성 있는 이웃 블록에 기초하여 다시 측정된다. 상기 접근법을 두 단계로 나눔으로써, 오로지 하나의 MV만이 은폐된 프레임에서의 각각의 블록에 대해 매번 유지될 필요가 있다. 상기 블록 기반의 아키텍쳐와 함께, 대부분의 알고리즘이 현존하는 데이터 구조와 디코더에서의 기능을 재사용할 수 있다. 그러므로 본 발명의 원리에 대한 실시예는 단지 최소한 양의 계산(computation)과 구현 부담(implementation overhead)을 사용할 수 있으며, 이는 엄격한 실시간 처리와 복잡도 제약 사항을 갖는 억제로 어플리케이션에 유익하다.
앞서 설명된 바와 같이, Frame Copy와 Motion Copy는 각각 정지되고 일관적인 움직임 필드를 갖는 비디오에 효과적이다. 본 발명의 원리의 접근법은 더 현실적인 움직임 모델을 가정함으로서, 활발하고 무질서한 움직임을 갖는 비디오에 더 나은 에러 은폐를 성능을 약간의 복잡도 부담을 손해보고 제공할 수 있다. 그러므로 상기 방식은 실제 선택적으로 예로서 인용된다. 예컨대, 실시예에서, 절차는 입력 비디오의 특성에 따라 최상의 에러 은폐 방식을 호출하도록 구현될 수 있다. 예컨대, 기준 프레임의 움직임 필드가 상기 에러 은폐 전에 분석될 수 있다. 움직임이 일부 미리 정의된 임계값과 비교해 볼 때 확실히 무질서한지 아닌지를 결정하기 위해 움직임 벡터의 평균 크기, 방향 및 변이의 통계치를 수집한다. 만일 상기 기준 프레임이 움직임이 거의 없는 경우, 가장 간단한 Frame Copy가 호출된다. 한편, 기준 프레임이 일관적인 움직임 필드를 갖고 있는 경우, Motion Copy가 사용될 수 있다. 뿐만 아니라, 본 발명의 원리에 따른 실시예는 무질서한 움직임 필드를 갖는 장면을 위해 예로서 인용된다. 물론, 본 명세서에서 제공되는 본 발명의 원리에 대 한 가르침이 제공되면, 본 발명의 다른 구성과 실시예는 본 발명의 원리의 범위를 유지하면서 당업자에 의해 쉽게 구현될 수 있다.
지금부터 본 발명의 일부 부수적인 많은 이점/특징에 관한 설명이 주어질 것이며, 이들의 일부는 앞서 언급되었다. 예컨대, 하나의 이점/특징은 블록 기반의 에러 은폐를 위한 장치이다. 이 장치는 결과로서 생기는 프로젝션을 획득하기 위해 정확하게 수신된 비디오 시퀀스 화상에서의 적어도 하나의 블록 위치를 정확하게 수신된 화상에서의 적어도 하나의 블록의 움직임 벡터를 사용하여 상실된 화상(lost picture)의 현재 블록 위치에 프로젝션하고, 상기 결과로서 생기는 프로젝션에서의 오버랩 양에 기초하여 정확하게 수신된 화상에서 적어도 하나의 블록 중에서 하나를 선택함으로써 비디오 시퀀스의 상실된 화상에서 현재 블록을 은폐하기 위한 에러 은폐 모듈을 포함한다. 그 다음 상기 상실된 화상에서의 현재 블록은 정확하게 수신된 화상의 적어도 하나의 블록 중 선택된 하나의 움직임 벡터를 사용하여 은폐된다.
또 다른 이점/특징은 앞에서 설명된 바와 같은 에러 은폐 모듈을 갖는 장치이되, 정확하게 수신된 화상의 적어도 하나의 블록은 상실된 화상에서의 현재 블록에 관한 공동-위치된 블록을 포함하고, 상기 공동-위치된 블록에 관한 공간적으로 이용 가능한 이웃 블록을 더 포함하며, 상기 에러 은폐 모듈은 정확하게 수신된 화상에서의 적어도 하나의 블록을 선택하는 단계에 후속하는 후-처리 단계에서, 정확하게 수신된 화상에서의 공간적으로 이용 가능한 이웃 블록의 움직임 벡터에 대한 변화량(variation)을 감소시킨다.
그러나 또 다른 이점/특징은 앞서 설명된 바와 같은 공간적으로 이용 가능한 이웃 블록의 움직임 벡터에 대한 변화량을 줄이는 에러 은폐 모듈을 갖는 장치이되, 상기 에러 은폐 모듈은 움직임 벡터에 대한 변화량을 감소시키기 위해 공간적으로 이용 가능한 이웃 블록의 움직임 벡터에 선택식 중간 필터를 적용한다.
여전히, 또 다른 이점/특징은 앞서 설명된 바와 같은 공간적으로 이용 가능한 이웃 블록의 움직임 벡터에 대한 변화량을 줄이는 에러 은폐 모듈을 갖는 장치이되, 정확하게 수신된 화상에서의 적어도 하나의 블록은 상실된 화상에서의 현재 블록에 관한 공동-위치된 블록을 포함하고, 상기 공동-위치된 블록에 관한 공간적으로 이용 가능한 이웃 블록을 더 포함하며, 상기 에러 은폐 모듈은 정확하게 수신된 화상에서의 적어도 하나의 블록을 선택하는 단계에 후속하는 후-처리 단계에서, 정확하게 수신된 화상에서의 공동-위치된 블록과 공간적으로 이용 가능한 이웃 블록의 움직임 벡터에 대한 변화량(variation)을 감소시킨다.
더욱이, 또 다른 이점/특징은 앞서 설명된 바와 같은 공동 위치된 블록과 공간적으로 이용 가능한 이웃 블록의 움직임 벡터에 대한 변화량을 줄이는 에러 은폐 모듈을 갖는 장치이되, 상기 에러 은폐 모듈은 움직임 벡터에 대한 변화량을 감소시키기 위해 공동-위치한 블록과 공간적으로 이용 가능한 이웃 블록의 움직임 벡터에 선택식 중간 필터를 적용한다.
또한, 또 다른 이점/특징은 앞서 설명된 바와 같은 에러 은폐 모듈을 갖는 장치이되, 상기 장치는 크기 조정이 불가능한(non-scalable), 블록 기반의 비디오 디코더에서 사용되고, 정확하게 수신된 화상에서의 적어도 하나의 블록 중 선택된 하나의 움직임 벡터는 상기 크기 조정이 불가능한(non-scalable), 블록 기반의 비디오 디코더에 의해 움직임 보상 동작 시 사용된다.
추가적으로, 또 다른 이점/특징은 앞서 설명된 바와 같은 에러 은폐 모듈을 갖는 장치이되, 상기 에러 은폐 모듈은 상실된 화상과 정확하게 수신된 화상 간의 상대적인 시간 거리에 기초하여, 정확하게 수신된 화상에서의 적어도 하나의 블록 중 선택된 하나의 움직임 벡터를 크기 조정한다.
이뿐만 아니라, 또 다른 이점/특징은 앞서 설명된 바와 같은 에러 은폐 모듈을 갖는 장치이되, 상기 에러 은폐 모듈은 비디오 시퀀스에서의 움직임량에 기초하여, 결과로서 생기는 프로젝션을 획득하는 것 대신에 프레임 반복 동작을 선택적으로 실행한다.
본 발명의 이러한 및 다른 특징과 이점은 본 명세서에서의 가르침에 기초하여 당업자에 의해 쉽게 확인될 수 있다. 본 발명의 가르침이 하드웨어, 소프트웨어, 펌웨어, 특수 목적의 프로세서 또는 이들의 결합의 다양한 형태로 구현될 수 있다는 사실을 이해해야 한다.
더 바람직하게는, 본 발명의 가르침은 하드웨어와 소프트웨어의 결합으로서 구현된다. 더욱이, 이 소프트웨어는 프로그램 저장 유닛 상에서 명백하게 구체화된 어플리케이션 프로그램으로서 구현될 수 있다. 이 어플리케이션 프로그램은 임의의 적합한 아키텍쳐를 포함하는 기계로 업로딩되어 이에 의해 실행될 수 있다. 바람직하게는, 이 기계는 하나 이상의 중앙 프로세싱 유닛("CPU"), 랜덤 액세스 메모리("RAM") 및 입력/출력("I/O") 인터페이스와 같은 하드웨어를 갖는 컴퓨터 플랫폼 상에서 구현될 수 있다. 이 컴퓨터 플랫폼은 또한, 운영 체계와 마이크로지시 코드를 포함할 수 있다. 본 명세서에서 설명된 다양한 프로세스와 기능은 마이크로지시 코드 부분 또는 어플리케이션 프로그램 부분 또는 이들의 임의의 결합 중 어느 하나가 될 수 있으며, 이들은 CPU에 의해 실행될 수 있다. 게다가, 다양한 다른 주변 유닛은 부가적인 데이터 저장 유닛과 프린팅 유닛과 같은 컴퓨터 플랫폼에 연결될 수 있다.
첨부되는 도면에서 예시된 구성하는 시스템 구성요소와 방법 중 일부가 바람직하게 소프트웨어로 구현되기 때문에, 상기 시스템 구성요소 또는 프로세스 기능 블록 간의 실제 연결이 본 발명이 프로그래밍되는 방식에 따라 다를 수 있음을 더 이해해야 한다. 본 명세서에서의 가르침이 주어지는 경우, 당업자는 본 발명의 이러한 및 유사한 구현 또는 구성을 예상할 수 있다.
예시적인 실시예가 첨부되는 도면을 참조하여 본 명세서에서 설명되었지만, 본 발명이 본 발명의 정확한 실시예에 제한되지 않고, 다양한 변화와 수정이 본 발명의 정신 또는 범위에서 벗어나지 않고 당업자에 의해 실행될 수 있음을 이해해야 한다. 모든 이러한 변화와 수정은 첨부된 청구범위에서 전개되는 바와 같이 본 발명의 범위 안에서 포함되도록 의도된다.
상술한 바와 같이, 본 발명은 일반적으로 비디오 디코딩 기술 특히, 블록 기반의 비디오에서 움직임 프로젝션 에러 은폐 기술을 위한 방법 및 장치에 이용가능 하다.

Claims (17)

  1. 블록 기반의 에러 은폐를 위한 장치에 있어서,
    결과로서 생기는 프로젝션을 획득하기 위해 정확하게 수신된 비디오 시퀀스 화상에서의 적어도 하나의 블록 위치를 정확하게 수신된 화상에서의 적어도 하나의 블록의 움직임 벡터를 사용하여 상실된 화상(lost picture)의 현재 블록 위치에 프로젝션하고, 상기 결과로서 생기는 프로젝션에서의 오버랩의 양에 기초하여 정확하게 수신된 화상에서 적어도 하나의 블록 중에서 하나를 선택함으로써 비디오 시퀀스의 상실된 화상에서 현재 블록을 은폐하기 위한 에러 은폐 모듈(177)을 포함하되,
    상기 상실된 화상에서의 현재 블록은 정확하게 수신된 화상에서의 적어도 하나의 블록 중 선택된 하나의 움직임 벡터를 이용하여 은폐되는, 블록 기반의 에러 은폐를 위한 장치.
  2. 제 1항에 있어서,
    정확하게 수신된 화상에서의 적어도 하나의 블록은 상실된 화상에서의 현재 블록에 관한 공동-위치된 블록을 포함하고, 상기 공동-위치된 블록에 관한 공간적으로 이용 가능한 이웃 블록을 더 포함하고, 상기 에러 은폐 모듈(177)은 정확하게 수신된 화상에서의 적어도 하나의 블록을 선택하는 단계에 후속하는 후-처리 단계에서, 정확하게 수신된 화상에서의 공간적으로 이용 가능한 이웃 블록의 움직임 벡 터에 대한 변화량(variation)를 감소시키는, 블록 기반의 에러 은폐를 위한 장치.
  3. 제 2항에 있어서,
    상기 에러 은폐 모듈(177)은 움직임 벡터에 대한 변화량을 감소시키기 위해 공간적으로 이용 가능한 이웃 블록의 움직임 벡터에 선택식 중간 필터를 적용하는, 블록 기반의 에러 은폐를 위한 장치.
  4. 제 1항에 있어서,
    정확하게 수신된 화상에서의 적어도 하나의 블록은 상실된 화상에서의 현재 블록에 관한 공동-위치된 블록을 포함하고, 상기 공동-위치된 블록에 관한 공간적으로 이용 가능한 이웃 블록을 더 포함하고, 상기 에러 은폐 모듈(177)은 정확하게 수신된 화상에서의 적어도 하나의 블록을 선택하는 단계에 후속하는 후-처리 단계에서, 정확하게 수신된 화상에서의 공동-위치된 블록과 공간적으로 이용 가능한 이웃 블록의 움직임 벡터에 대한 변화량(variation)을 감소시키는, 블록 기반의 에러 은폐를 위한 장치.
  5. 제 4항에 있어서,
    상기 에러 은폐 모듈(177)은 움직임 벡터에 대한 변화량을 감소시키기 위해 공동-위치한 블록과 공간적으로 이용 가능한 이웃 블록의 움직임 벡터에 선택식 중간 필터를 적용하는, 블록 기반의 에러 은폐를 위한 장치.
  6. 제 1항에 있어서,
    상기 장치는 크기 조정이 불가능한(non-scalable), 블록 기반의 비디오 디코더에서 사용되고, 정확하게 수신된 화상에서의 적어도 하나의 블록 중 선택된 하나의 움직임 벡터는 상기 크기 조정이 불가능한(non-scalable), 블록 기반의 비디오 디코더에 의해 움직임 보상 동작 시 사용되는, 블록 기반의 에러 은폐를 위한 장치.
  7. 제 1항에 있어서,
    상기 에러 은폐 모듈(177)은 상실된 화상과 정확하게 수신된 화상 간의 상대적인 시간 거리에 기초하여, 정확하게 수신된 화상에서의 적어도 하나의 블록 중 선택된 하나의 움직임 벡터를 크기 조정하는, 블록 기반의 에러 은폐를 위한 장치.
  8. 제 1항에 있어서,
    상기 에러 은폐 모듈(177)은 비디오 시퀀스에서의 움직임량에 기초하여, 결과로서 생기는 프로젝션을 획득하는 것 대신에 프레임 반복 동작을 선택적으로 실행하는, 블록 기반의 에러 은폐를 위한 장치.
  9. 비디오 시퀀스의 잃어버린 화상에서 현재의 블록을 은폐하는 방법으로서,
    - 결과로서 생기는 프로젝션을 획득하기 위해 정확하게 수신된 비디오 시퀀 스 화상에서의 적어도 하나의 블록 위치를 정확하게 수신된 화상에서의 적어도 하나의 블록의 움직임 벡터를 사용하여 상실된 화상(lost picture)의 현재 블록 위치에 프로젝션하는 단계(520)와,
    - 상기 결과로서 생기는 프로젝션에서의 오버랩의 양에 기초하여 정확하게 수신된 화상에서 적어도 하나의 블록 중에서 하나를 선택하는 단계(527)와,
    - 정확하게 수신된 화상에서의 적어도 하나의 블록 중 선택된 하나의 움직임 벡터를 사용하여 상실된 화상에서 현재의 블록을 은폐하는 단계(560)를
    포함하는, 비디오 시퀀스의 잃어버린 화상에서 현재의 블록을 은폐하는 방법.
  10. 제 9항에 있어서,
    정확하게 수신된 화상에서의 적어도 하나의 블록은 상실된 화상에서의 현재 블록에 관한 공동-위치된 블록을 포함하고, 상기 공동-위치된 블록에 관한 공간적으로 이용 가능한 이웃 블록을 더 포함하며, 상기 방법은 정확하게 수신된 화상에서의 적어도 하나의 블록을 선택하는 단계에 후속하는 후-처리 단계에서, 정확하게 수신된 화상에서 공간적으로 이용 가능한 이웃 블록의 움직임 벡터에 대한 변화량(variation)을 감소시키는 단계(435)를 더 포함하는, 비디오 시퀀스의 잃어버린 화상에서 현재의 블록을 은폐하는 방법.
  11. 제 10항에 있어서,
    상기 감소 단계는 공간적으로 이용 가능한 이웃 블록의 움직임 벡터에 선택식 중간 필터를 적용하는 단계(435)를 포함하는, 비디오 시퀀스의 잃어버린 화상에서 현재의 블록을 은폐하는 방법.
  12. 제 9항에 있어서,
    정확하게 수신된 화상에서의 적어도 하나의 블록은 상실된 화상에서의 현재 블록에 관한 공동-위치된 블록을 포함하고, 상기 공동-위치된 블록에 관한 공간적으로 이용 가능한 이웃 블록을 더 포함하며, 상기 방법은 정확하게 수신된 화상에서의 적어도 하나의 블록을 선택하는 단계에 후속하는 후-처리 단계에서, 정확하게 수신된 화상에서 공동-위치된 블록과 공간적으로 이용 가능한 이웃 블록의 움직임 벡터에 대한 변화량(variation)을 감소시키는 단계(435)를 더 포함하는, 비디오 시퀀스의 잃어버린 화상에서 현재의 블록을 은폐하는 방법.
  13. 제 10항에 있어서,
    상기 감소 단계는 공동 위치된 블록과 공간적으로 이용 가능한 이웃 블록의 움직임 벡터에 선택식 중간 필터를 적용하는 단계(435)를 포함하는, 비디오 시퀀스의 잃어버린 화상에서 현재의 블록을 은폐하는 방법.
  14. 제 9항에 있어서,
    상기 방법은 크기 조정이 불가능한(non-scalable), 블록 기반의 비디오 디코 더에서 사용되고, 정확하게 수신된 화상에서의 적어도 하나의 블록 중 선택된 하나의 움직임 벡터는 상기 크기 조정이 불가능한(non-scalable), 블록 기반의 비디오 디코더에 의해 움직임 보상 동작 시 사용되는, 비디오 시퀀스의 잃어버린 화상에서 현재의 블록을 은폐하는 방법.
  15. 제 9항에 있어서,
    상실된 화상과 정확하게 수신된 화상 간의 상대적인 시간 거리에 기초하여 움직임 벡터를 크기 조정하는 단계(510)를 더 포함하는, 비디오 시퀀스의 잃어버린 화상에서 현재의 블록을 은폐하는 방법.
  16. 제 9항에 있어서,
    비디오 시퀀스에서의 움직임량에 기초하여, 상기 프로젝트 단계, 선택 단계와 은폐 단계 대신에 프레임 반복 동작을 선택적으로 실행함으로써, 상실된 화상에서 현재 블록을 은폐하는 단계(530)를 더 포함하는, 비디오 시퀀스의 잃어버린 화상에서 현재의 블록을 은폐하는 방법.
  17. 비디오 시퀀스의 잃어버린 화상에서 현재의 블록을 은폐하는 장치로서,
    - 결과로서 생기는 프로젝션을 획득하기 위해 정확하게 수신된 비디오 시퀀스 화상에서의 적어도 하나의 블록 위치를 정확하게 수신된 화상에서의 적어도 하나의 블록의 움직임 벡터를 사용하여 상실된 화상(lost picture)의 현재 블록 위치 에 프로젝션하기 위한 수단(520)과,
    - 상기 결과로서 생기는 프로젝션에서의 오버랩의 양에 기초하여 정확하게 수신된 화상에서 적어도 하나의 블록 중에서 하나를 선택하기 위한 수단(527)과,
    - 정확하게 수신된 화상에서의 적어도 하나의 블록 중 선택된 하나의 움직임 벡터를 사용하여 상실된 화상에서 현재의 블록을 은폐하기 위한 수단(560)을
    포함하는, 비디오 시퀀스의 잃어버린 화상에서 현재의 블록을 은폐하는 장치.
KR1020087007478A 2005-09-29 2006-09-07 블록 기반의 비디오에서 움직임 프로젝션 에러 은폐 기술을위한 방법 및 장치 KR20080049789A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US72189205P 2005-09-29 2005-09-29
US60/721,892 2005-09-29

Publications (1)

Publication Number Publication Date
KR20080049789A true KR20080049789A (ko) 2008-06-04

Family

ID=37846097

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087007478A KR20080049789A (ko) 2005-09-29 2006-09-07 블록 기반의 비디오에서 움직임 프로젝션 에러 은폐 기술을위한 방법 및 장치

Country Status (6)

Country Link
US (1) US8391363B2 (ko)
EP (1) EP1946564A2 (ko)
JP (1) JP2009510906A (ko)
KR (1) KR20080049789A (ko)
CN (1) CN101278564A (ko)
WO (1) WO2007040889A2 (ko)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8074248B2 (en) 2005-07-26 2011-12-06 Activevideo Networks, Inc. System and method for providing video content associated with a source image to a television in a communication network
US9826197B2 (en) 2007-01-12 2017-11-21 Activevideo Networks, Inc. Providing television broadcasts over a managed network and interactive content over an unmanaged network to a client device
WO2008088741A2 (en) 2007-01-12 2008-07-24 Ictv, Inc. Interactive encoded content system including object models for viewing on a remote device
WO2009040904A1 (ja) * 2007-09-26 2009-04-02 Fujitsu Microelectronics Limited ビデオデコーダおよびデジタル放送受信装置
TWI353562B (en) * 2008-02-04 2011-12-01 Mstar Semiconductor Inc A video processing apparatus and related method to
FR2936925B1 (fr) * 2008-10-03 2011-08-12 Canon Kk Procede et dispositif de decodage d'images d'une sequence d'images encodee selon un format predictif avec restauration de donnees manquantes
US8411754B2 (en) * 2008-11-10 2013-04-02 Activevideo Networks, Inc. System, method, and computer program product for translating an element of a static encoded image in the encoded domain
AU2011315950B2 (en) 2010-10-14 2015-09-03 Activevideo Networks, Inc. Streaming digital video between video devices using a cable television system
WO2012138660A2 (en) 2011-04-07 2012-10-11 Activevideo Networks, Inc. Reduction of latency in video distribution networks using adaptive bit rates
US8837582B2 (en) 2011-06-22 2014-09-16 Blackberry Limited Compressing image data
US8768082B2 (en) 2011-06-22 2014-07-01 Blackberry Limited Compressing image data
EP2815582B1 (en) 2012-01-09 2019-09-04 ActiveVideo Networks, Inc. Rendering of an interactive lean-backward user interface on a television
US9800945B2 (en) 2012-04-03 2017-10-24 Activevideo Networks, Inc. Class-based intelligent multiplexing over unmanaged networks
US9123084B2 (en) 2012-04-12 2015-09-01 Activevideo Networks, Inc. Graphical application integration with MPEG objects
CN104396238B (zh) * 2012-07-17 2016-12-28 汤姆逊许可公司 比特流级别的视频质量评估
WO2014145921A1 (en) 2013-03-15 2014-09-18 Activevideo Networks, Inc. A multiple-mode system and method for providing user selectable video content
US9219922B2 (en) 2013-06-06 2015-12-22 Activevideo Networks, Inc. System and method for exploiting scene graph information in construction of an encoded video sequence
EP3005712A1 (en) 2013-06-06 2016-04-13 ActiveVideo Networks, Inc. Overlay rendering of user interface onto source video
US9294785B2 (en) 2013-06-06 2016-03-22 Activevideo Networks, Inc. System and method for exploiting scene graph information in construction of an encoded video sequence
KR20180081846A (ko) * 2013-10-22 2018-07-17 브이아이디 스케일, 인크. 비디오 송신 시스템에 대한 에러 은닉 모드 시그널링
US9788029B2 (en) 2014-04-25 2017-10-10 Activevideo Networks, Inc. Intelligent multiplexing using class-based, multi-dimensioned decision logic for managed networks
US11439014B2 (en) * 2019-07-26 2022-09-06 Eaton Intelligent Power Limited Solid state circuit breaker assembly

Also Published As

Publication number Publication date
CN101278564A (zh) 2008-10-01
EP1946564A2 (en) 2008-07-23
US8391363B2 (en) 2013-03-05
WO2007040889A2 (en) 2007-04-12
JP2009510906A (ja) 2009-03-12
US20100166071A1 (en) 2010-07-01
WO2007040889A3 (en) 2007-06-21

Similar Documents

Publication Publication Date Title
KR20080049789A (ko) 블록 기반의 비디오에서 움직임 프로젝션 에러 은폐 기술을위한 방법 및 장치
CN111741289B (zh) 处理立方体面图像的方法和装置
CN108012155B (zh) 预拼接图像的视频编码方法、视频解码方法和相关的装置
US11496732B2 (en) Video image encoding and decoding method, apparatus, and device
US20180054613A1 (en) Video encoding method and apparatus with in-loop filtering process not applied to reconstructed blocks located at image content discontinuity edge and associated video decoding method and apparatus
US11212497B2 (en) Method and apparatus for producing 360 degree image content on rectangular projection by selectively applying in-loop filter
CN111937392B (zh) 视频编解码的神经网络方法和装置
CN111131837B (zh) 运动补偿修正方法、编码方法、编码器及存储介质
US20220030234A1 (en) Method and apparatus for signaling adaptive loop filter parameters in video coding
Wu et al. An error concealment scheme for entire frame losses based on H. 264/AVC
KR102162856B1 (ko) 비디오 모션 보상을 위한 장치 및 방법
KR102094222B1 (ko) 참조 영상 인코딩 방법, 참조 영상 디코딩 방법, 참조 영상 인코딩 디바이스 및 참조 영상 디코딩 디바이스
US11412253B2 (en) Methods for combining decoder side motion vector refinement with wrap-around motion compensation
US11785237B2 (en) Methods for signaling video coding data
EP4085610A1 (en) Methods for signaling virtual boundaries and wrap-around motion compensation
JP2023507911A (ja) ピクチャに対して漸進的復号化リフレッシュ処理を行うための方法及びシステム
KR20010075465A (ko) 이미지 포인트로 디지털 이미지를 처리하는 방법 및 장치
US10992942B2 (en) Coding method, decoding method, and coding device
RU2771955C2 (ru) Устройство, оборудование, способ кодирования и декодирования видеоизображений
US11228780B2 (en) Inter prediction apparatus and method for video coding
WO2022110131A1 (zh) 帧间预测方法、装置、编码器、解码器和存储介质
Lin et al. L 1-norm minimization in pixel recovery for H. 264 video transmission

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid