KR20050029117A - 고속 블럭 모션 검출을 위한 방법 및 장치 - Google Patents

고속 블럭 모션 검출을 위한 방법 및 장치 Download PDF

Info

Publication number
KR20050029117A
KR20050029117A KR1020047015165A KR20047015165A KR20050029117A KR 20050029117 A KR20050029117 A KR 20050029117A KR 1020047015165 A KR1020047015165 A KR 1020047015165A KR 20047015165 A KR20047015165 A KR 20047015165A KR 20050029117 A KR20050029117 A KR 20050029117A
Authority
KR
South Korea
Prior art keywords
feature
image
reference image
instance
instances
Prior art date
Application number
KR1020047015165A
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 KR20050029117A publication Critical patent/KR20050029117A/ko

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/004Predictors, e.g. intraframe, interframe coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • 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/537Motion estimation other than block-based
    • H04N19/54Motion estimation other than block-based using feature points or meshes
    • 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/537Motion estimation other than block-based
    • H04N19/543Motion estimation other than block-based using regions

Landscapes

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

Abstract

기준 이미지에 존재하는 동일한 블록에 대한 포인터에 의해 효율적으로 코드화될 수 있는 픽셀들을 갖는 블럭 또는 영역을 이미지내에서 신속하게 검출하기 위한 방법, 시스템 및/또는 장치가 개시된다. 기준 이미지는 인코더와 대응 디코더사이게 공유된다. 인코더의 일실시예는, (a) 픽셀들보다 이미지에서 실질적으로 더 적은 특징들이 존재하도록 특징을 정의하고, (b) 이미지의 특징을 기준 이미지내의 대응 특징에 상관시키고, (c) 상관된 특징의 변위를 나타내는 변위 벡터를 산정하고, (d) 변위된 블록내에서 블록을 성장시킬 시드 지점을 산정하고, e) 변위된 블록을 성장시켜 그의 크기, 모양 및/또는 차원을 판단함으로써, 이미지내에서 이러한 블록을 신속하게 검출한다.

Description

고속 블럭 모션 검출을 위한 방법 및 장치{Method and apparatus for fast block motion matching}
일반적으로 본 발명은 실시간으로 디스플레이 스크린의 콘텐트를 인코딩하는 방법에 관한 것이다. 구체적으로는, 본발명의 한 실시예는 기준 이미지 에 그대로(verbatim) 존재하는 이미지 내의 블록을 검출하는 방법 및/또는 장치를 제공하는 것으로, 상기 기준 이미지는 인코더(encoder)와 디코더(decoder)간에 공유되어지며 상기 블록은 선행 어커런스(occurrence)에 대한 포인터에 의해 효과적으로 코딩될 수 있다.
원격 접근 소프트웨어 및 스크린 레코딩 소프트웨어와 같은 많은 애플리케이션은 종종 컴퓨터 스크린의 콘텐트를 실시간으로 코딩할 수 있다. 이러한 애플리케이션은 일반적으로 밴드폭이나 저장장치가 제한되기 때문에 가능한한 밀집하게(compactly) 스크린의 콘텐트를 나타낼 수 있어야 한다.
컴퓨터 스크린의 콘텐트를 인코딩하는 소프트웨어(인코더)는 다른 위치 또는 이후 시간에 인코딩된 콘텐트를 디코딩하고 디스플레이하는 소프트웨어에 의해 자연스럽게 보완(complement)이 된다. 인코더는 컴퓨터 스크린의 콘텐트를 1) 라이브러리 또는 디바이스 드라이버의 레벨에서 그래픽 기능 호출과 같은 출력 이벤트가 인터셉트되는(intercepted) 방식 또는 2)랜더링된(renderd) 선 또는 원과 같은 출력 이벤트의 효과(effect)를 이미지로서 스크린으로부터 다시 읽는 방식의 두가지 방식 중 한 방식으로 얻는다. 첫 번째 경우에, 스크린 콘텐트는 일반적으로 출력 이벤트의 시퀀스로서 인코딩되며, 두 번째 경우에는, 다수의 출력 이벤트가 단일 이미지에 의해 종종 인코딩되고 스크린 콘텐트는 이미지의 시퀀스로 나타난다.
예를들어, 미국특허 제 5,241,625에는 그래픽 호출과 같은 출력 이벤트를 인터셉트하여 컴퓨터 스크린 상에 디스플레이된 정보를 원격적으로 제어하는 시스템이 개시되어 있다. 컴퓨터 윈도우 시스템을 구동하는 그래픽 명령(command)은 저장된 레코드로서 포획되고(captured) 저장되거나 다른 컴퓨터로 보내진다. 메시지 번역 프로그램은 지정된 컴퓨터 상에 재생(playback)하기 위해 포획된 메시지를 번역한다.
미국특허 제 5,796,566호에는, 호스트 CPU로부터 비디오 제어기로 전송된(forwarded) 비디오 스크린의 시퀀스가 저장되며 이어서 호스트 CPU로부터 이격된 단말기에 의해 복구(retrieve)되는 시스템이 기재되어 있다. 특히, 디스플레이 데이터는 디스플레이 데이터를 프레임별로 저장하는 로컬 프레임 버퍼에 포획된다. 디스플레이 데이터의 선행 프레임 또는 스크린은 디스플레이 데이터의 현재의 프레임 또는 스크린과 비교하여 변경이 존재하는지 여부를 판단한다. 상기 변경은 이후에 저장된다.
미국특허 제 6,331,855호에는, 소정의 간격으로 프레임 버퍼내에 현재 디스플레이된 이미지의 일부를 시스템 메모리내에 저장된 이전에 디스플레이된 이미지의 대응하는 부분과 비교하여 이전에 디스플레이된 이미지가 변경되었는지를 판단하는 시스템이 개시되어 있다. 변경된 경우에는 정확한 변경의 정도를 결정하고 이를 저장 및/또는 원격 컴퓨터로 전송한다.
출력 이벤트를 인터셉트하고 이러한 이벤트의 관점에서 스크린의 콘텐트를 나타내는 것은 종종 합리적으로 크기의 표현형태(representation)로 도출된다. 이는, 그와같은 이벤트가 일반적으로 하이-레벨이어서 변경을 밀집하기 기술(compact description)하기 때문이다. 그러나, 이러한 방법을 구현하는 것은 종종 다른 플랫폼으로 용이하게 포트되지(ported) 않고, 관리특권을 필요로 하며(예를들어 디스플레이 드라이버 접근이 종종 제한되는 것과 같은), 재부팅을 요구하고/요구하거나(예를들어, 새로운 디바이스 드라이버를 설치하는 것과 같은) 전체 시스템의 안정성을 저하(예를들어, 대부분의 원격 제어 패키지가 상호간에 방해하는 것과 같은)시키기 때문이다. 한편 이미지 시퀀스로 스크린 콘텐트를 나타내는 것은 매우 거대한 표현 형태를 도출해 낸다. 거대한 표현방식은 일반적으로 전체 시스템 성능을 방해한다(즉, 인지할 수 있는 지연을 야기함).
이미지 시퀀스의 크기는 복잡한 데이터 압축으로 사실상 감소될 수 있다. 특히 공간-효율적인 형태의 데이터 압축은, 인코딩된 것과 동일한 스크린상의 블록의 더 초기의 어커런스로 포인터에 의해 픽셀의 전체 블록을 나타내고 있다.
예를들어, 윈도우를 움직이거나 그 콘텐트를 스크롤링(scrolling)하는 것은, 일반적으로 각각의 이미지가 선행 스크린 상에 그대로 존재하는 큰 블록을 포함하는 이미지의 시퀀스를 만들어낸다.
포인터에 의해 선행 스크린에 그대로 존재하는 블록을 인코딩하는 것이 매우 공간-효율적인데, 일반적인 경우에는 이러한 작업은 소모적인 서치(search)이므로 시기적절한 방법으로 이를 실행하는 것이 연산적으로 요구되고 있다.
관련된 문제는, 모션 추정법이 사용되어 현재의 프레임을 예측하고 현재의 프레임과 예측치 사이의 차를 인코딩하는 모션-보상된(motion-compensated) 비디오 신호 코딩이다. 일반적으로 모션 벡터는, 예를들어 픽셀의 희소 그리드(sparse grid)와 같은픽셀의 서브셋에 대해 결정되고 코딩되어야만 한다. 남아있는 픽셀에 대한 모션 벡터는 예를들어 프레임을 블록으로 분할하고 동일한 모션 벡터를 각블록의 모든 픽셀로 할당함에 의해 모션 벡터의 제 1 세트로부터 추정된다. 비디오 신호의 경우에 로칼 윈도우내의 픽셀 레벨이 일반적으로 평활(smooth)하기 때문에 모션 필드(field)는 역효과 없이 삽입될 수 있다.
예를들어, 미국 특허 제 5,751,362호에는 1)선행 프레임과 현재 프레임의 블록을 비교함으로써 모션의 영역(region)을 식별하고 2)그리드 및/또는 에지(edge) 검출을 이용하여 선행 프레임으로부터 픽셀의 제 1 세트, 즉 특징(features)을 선택하고 3) 예를들어 블록 매칭 알고리즘(block matching algorithm : BMA)을 이용하여 모션 벡터의 제 1 세트를 결정하고 4)중첩되지 않은 다각형(non-overlapping polygon)의 경우(예를들어 삼각형)에는 밀접하게 연관된(affine) 변형을 연산함으로써 모든 남아있는 픽셀에 대한 모션 벡터를 추정한다. 다각형은 특징 포인트를 연결함으로써 얻어지는데 이는 소정의 방식으로 현재 프레임내로 번역된다.
미국 특허 제 5,751,362호에서는 다음과 같은 BMA가 이용되었다. 주어진 현재 프레임내의 블록에서, BMA는 예를들어 최소 평균 제곱근 오류(minimum mean square error)와 같은 기준에 따라서 선행 프레임 내의 가장 잘 매칭되는 블록을 찾는다.
온 더 플라이(on-the-fly)식으로 인코딩하는 경우에 소모적인 서치는 지나치게 느린 반면, 최대 변위를 제한하고 모든 후보 블록의 서브셋만을 반복적으로 평가하는 것과 각 단계에서 로컬 최적화(local optimum)의 방향으로 진행하는 것은 사실상 연산 부담을 감소시킨다. 이러한 최적화는, 블록은 일발적으로 단지 몇 개의 픽셀씩만 이동한다는 것과 선행 프레임과 현재 프레임 사이의 왜곡은 서치 윈도우를 통해 평활화된다는 두가지 가정을 근거로 한다. 이것은 비디오 신호의 경우에는 일반적이지만, 스크린 콘텐트(예를들어, 그래픽 컴퓨터 인터페이스, 디스플레이 윈도우 등)는 본질적으로 상이하다.
따라서, 일반적인 스크린 콘텐트의 구별되는 특성을 이용하여 기준 이미지 내에 그대로 존재하는 이미지 내 가변 크기의 블록을 빨리 검출하는 장치 및 방법이 요구된다.
도 1은 본발명의 장치와 방법의 한 실시예가 이용된 원격 접근 시스템의 일예를 도시한 것이다.
도 2는 도 1에 도시된 원격 접근 시스템에서 본발명의 오퍼레이션을 나타내는 블록도다.
도 3은 본발명의 한실시예에 따라 두개의 프레임간의 차를 인코딩하기 위한 장치의 일예를 도시한 블록도이다.
도 4A, 4B. 4C 및 4D는 본발명의 일측면에 따라서 어떻게 블록 모션이 예시적인 이미지 내에서 발견되어 선행 프레임과 선행 프레임에 관련된 현재 프레임간의 차이를 완전히 묘사하는지를 예시한다.
도 5는 본발명의 예시적인 일실시예에 따라 블록 모션 검출로 이미지를 인코딩하는 방법을 도시한 블록도이다.
도 6은 본발명의 일 구현예에 따라서 어떻게 블록 모션이 검출되는지를 도시한 블록도이다.
도 7A는 본발명의 한측면의 일실시예에 따라 특징이 어떻게 정의될 수 있는지를 도시한다.
도 7B는 도 7A에 예시된 특징의 정의를 이용하여 이미지의 일예에 존재하는 모든 특징을 나타낸다.
도 8은 드물게 존재하는 특징들이 신속하게 결정되고 액세스될 수 있도록 메모리내에 특징을 저장하는 데이터 구조의 일실시예를 도시한다.
도 9는 본발명의 일측면에 따라 특징을 매칭시키는 기술의 일실시예를 도시한 것이다.
도 10A는 본발명의 일측면에 따라 블록 결정 프로세스의 일실시예를 도시한 것이다.
도 10B는 본발명의 일측면에 따라 도 10A에 나타난 블록 결정 프로세스의 일 구현예를 도시한 흐름도이다.
도 11은 본발명의 일실시예에 따라 어떻게 매칭 블록이 주어진 시드 지점(seed point)와 주어진 변위벡터하에서 그의 번역으로부터 성장하는지를 도시한 것이다.
본발명의 한 측면은, 제한된 숫자의 기준 이미지 중의 하나에서 그대로(또는 개연론적으로 또는 대략적으로) 존재할 수 있는 동일한 블록에 대한 포인터에 의해 효율적으로 코딩될 수 있는 픽셀을 가진 이미지내의 블록을 신속하게 검출하는 방법, 시스템 및/또는 장치에 관한 것이다. 기준 이미지가 인코더와 대응하는 디코더 상에 공유되어야만 한다는 것을 제외하고는 기준 이미지에는 어떠한 제한도 없다. 인코더는 이미지내에서 이러한 블록들을, (a) 픽셀보다 실질적으로 적은 수의 특징들이 이미지내에 존재하도록 특징 - 특징은 이미지의 특성을 나타내며 2개의 이미지내의 특징들은 결코 비정렬되지 않음 -을 정의하고, (b) 이미지내의 각 특징을 기준 이미지중 하나의 이미지내의 특징에 매핑시켜서 이러한 특징 쌍을 둘러싸는 대응 픽셀들이 매칭될 가능성이 있도록 하고, (c) 픽셀 레벨에서 그의 크기를 판단하기전에 이러한 매핑에 근거하여 가장 큰 블록내에 포함된 픽셀 위치와 기준 이미지중 하나의 이미지에 있는 그의 대응 픽셀 위치를 반복적으로 산정함으로써, 신속하게 검출한다.
구체적으로, (a) 인코더는 기준 이미지중 하나에서 비교적 덜 빈번하게 존재하는 특징의 인스턴스들을 소스 이미지내의 동일한 특징의 인스턴스들과 상관시키고(즉, 매핑 또는 매칭시키고), (b) 이러한 매핑들에 대한 상대적 오프셋을 계산하고, (c) 이러한 오프셋을 집단화(cluster)하고, (d) 유력한(predominant) 클러스터를 지지하는 특징들의 중앙에 실질적으로 고정되어(anchored), 상기 이미지 및 기준 이미지중 하나 모두에 존재하는 블럭을, 반복적으로 성장시킨다.
후술하는 본발명의 상세한 설명에는, 본발명의 완전한 이해를 제공하기 위하여 다수의 특정 세부사항이 기술되어 있다. 그러나, 본발명은 이러한 특정 세부사항없이 실행될 수도 있음을 인식해야만 한다. 다른 실예에서 본발명의 양상들을 불필요하게 모호하게 만들지 않기 위하여 공지된 방법, 절차 및/또는 컴포넌트는 상세하게 기술하지 않았다.
이러한 설명 전체에 걸쳐 '블록’이란 용어는 임의형태의 디스플레이 영역 또는 픽셀의 영역을 의미한다. ‘프레임’이란 용어는 버퍼 또는 스크린 콘텐트, 이미지 및/또는 디스플레이의 다른 표현방식을 의미한다. ‘특징(feature)’은 이미지내 픽셀의 수보다 이미지 내에서 사실상 더 적게 존재하는 이미지의 임의의 특성을 의미한다. 블록 매칭 또는 피처 연관에서와 같이 ‘매치(match)' 또는 ‘매칭(matching)' 및 '연관(correlate)' 또는 ‘연관되어 있는(correlating)'이란 용어는 그대로, 문자적인, 개연론적인, 통계적인, 대략적인 및/또는 경험적인 매칭 및/또는 연관을 포함한다. 이러한 용어들 중 하나(예를들어 그대로)가 사용될 때마다 상기 열거된 다른 용어중 어떤 것이라도 본발명의 실시예에서 사용될 수 있다.
본발명의 한 측면은 인코더와 디코더 간에 공유된 다른 이미지를 참조함으로써 이미지 내 픽셀의 전체 블록을 신속하고 효율적으로 인코딩하는 시스템, 장치 및/또는 방법을 제공한다. 이는 일반적인 스크린 콘텐트의 일시적인 자체-유사성(self-similarity)의 이점을 취하기 때문에 컴퓨터 스크린의 콘텐트를 인코딩하기에 특히 적합하고, 온 더 플라이식으로(또는 비현실적으로 또는 인지할 수 없을 정도의 지연으로) 스크린의 콘텐트를 인코딩하기에 충분할 정도로 빠르며, 사실상 CPU의 이용을 증가시키지 않거나 또는 다른 애플리케이션에 영향을 주지 않는다.
더욱이, 본발명은 이미지상에서 조작되므로 장애가 되는(intrusive) 시스템-레벨 수정을 필요로하지 않으며 다양한 플랫폼(즉, 프로세싱 시스템, 아커텍쳐, 및/또는 오퍼레이팅 환경)에서 구현될 수 있다.
도 1은 본발명의 애플리케이션의 일예를 나타낸다. 나타난바와 같이, 소스 시스템(122)의 스크린 상의 콘텐트는 통신 매체 또는 저장 매체를 통해 상기 콘텐트가 다른 스크린에 디스플레이되는 원격 시스템(126)으로 전송된다.
도 2를 참조하면, 소스 시스템은 픽셀의 형태로 소스 시스템 스크린의 콘텐트를 저장하는 프레임 버퍼(202)를 구비한다. 나타난 바와 같이, 프레임 버퍼(202)의 콘텐트는 예를들어 주기적으로 또는 변경이 검출되거나 다른 트리거링 이벤트가 발생하면 인코더(204)로 공급된다. 인코더(204)는 현재의 프레임 L10을 변형시키고 채널(206)을 통해 디코더(208)로 그의 인코딩된 것을 전송(forward)하거나 표현형태(representation) L11을 전송(transfer)한다. 채널(206)은 네트워크, 전화선, 자기 저장장치, 무선 통신 매체등과 같은 임의의 통신 또는 저장 매체일 수 있다. 디코더(208)는 역변형을 그의 입력 신호 L12로 공급하고(apply) 재구성된(reconstructed) 프레임 L13을 프레임 버퍼 210으로 출력한다.
본발명의 한 구현예에 따르면 인코더(204)는 선행 프레임을 기준으로하여 변경된 현재 프레임의 구역(area)을 결정하고 전송하기 위해 변경된 영역에서 픽셀을 코딩한다. 도3은 본발명의 일실시예에 따른 인코더(204)의 블록도이다. 선행 프레임(이전의 이미지를 포함하는)의 픽셀은 메모리(300)내에 저장된다. 비교기(310)는 L10의 현재 프레임(즉, 새로운/현재의 이미지를 포함하는)에서 어느 픽셀이 변경되었는지를 판단한다. 변경된 구역내에 존재하는 픽셀은 메모리(340)에 저장된다. 현재 프레임(L10)내의 구역 또는 영역이 선행 프레임(300)으로부터 변경되었는지가 판단되면, 이어서 변경된 구역(L17)은 가변 크기의 이미지를 위해 인코더(360)로 공급된다. 한 구현예에서, 변경된 영역 또는 구역의 윤곽, 크기 및/또는 위치가 식별되고(320) 변경된 이미지 구역/블록은 현재 프레임(L16)으로부터 추출되어 프레임 갱신 메모리(340)로 복사된다.
도 3에 예시된 본발명의 한 측면은 현제 프레임(현재 이미지)(L10)과 선행 프레(이전의 이미지)(300) 간에 변경된 구역 또는 영역을 식별하여 현재와 선행 프레임(이미지)간의 서치 구역을 감소시키도록 돕는다. 그러나, 본발명의 다른 측면(즉, 블록 모션(360)을 구비한 인코더)은 서치 영역을 감소시키지 않고 실행되거나, 서치 영역을 다른 방식으로 감소시키고 실행될 수도 있다.
도 4A-D는 도 3에 나타난 인코더 블록도의 오퍼레이션을 예시한다. 도 4A는 제 1 이미지 블록(410)을 가진 L10에서 현재 프레임(400)의 일예를 나타낸다. 도 4B는 다른 위치에서 메모리(300)내에 저장된 동일한 제 1 이미지 블록 410'을 가진 선행 프레임(420)의 일예를 나타낸다. 도 4C는 프레임(400과 420) 모두에 공통인, 제 1 이미지 블록(450)(이전에 410과 410'로 언급됨)을 포함하는 현재와 선행 프레임(400 및420) 간의 변경된 픽셀(440)의 결과적인 영역을 나타낸다. 한 실시예에서 블록(450)을 포함하는 영역(440)은 프레임 갱신 메모리(340)내에 저장된다(도 3). 도4D는 블록 모션(360)을 구비한 인코더(도 3)가 어떻게 세 블록(현재 및 선행 프레임 (400과 420)에서 발견된 제 1 이미지 블록(450) 및 프레임(400과 420) 모두에 공통이지는 않는 영역을 표현하는 두 블록(470 및 480) 에서 변경된 영역(440)을 나타낼 수 있는지를 예시한다.
일 실시에 따르면, 변경된 픽셀(440)의 최종 영역은 현재 프레임(current frame)(이미지)(400)에서 변경된 영역(440)의 위치를 참조하기 위하여 위치 벡터(445)와 함께 (340;도 3)에 저장된다. 또 다른 실시에서, 현재 프레임(400)은 변경된 픽셀 영역을 나타내는 파라미터(들)과 함께 프레임 갱신부(frame update:340)에 저장된다. 이는 블록 모션(block motion)을 이용하는 인코더(encoder:360)에 의한 후처리를 변경된 픽셀(440) 영역에 집중시킬 수 있다. 본 발명을 벗어나지 않으며 변경된 영역을 확인하기 위한 다른 등가 표현 역시 가능하다.
이하의 다양한 실시예(들)에서 "변경된 이미지 영역(changed image region)"이라는 용어는 (440)과 같은 변경된 픽셀 영역을 설명하기 위해 이용된다. 그러나, 블록 모션을 이용하는 인코더(360)는 변경된 픽셀 영역에 대한 사전 확인이 있거나 없거나 구현될 수 있다는 것을 분명하게 알 수 있다.
도 5는 본 발명의 예시적인 실시에 따른 고속 블록 모션 검출(fast block motion detection)을 이용하여 가변-크기 이미지를 축소하기 위한 인코더(360)의 일 구현을 나타내는 블록도이다. 도시된 바와 같이, (L17)상의 변경된 이미지 영역(즉, 440)은 블록 모션 검출부(block motion detection : 510)와 블록 모션 보상부(block motion compensation : 520) 모두에 공급된다. 블록 모션 검출부(510)는 메모리(500)에 그대로(verbatim) 존재하는 변경된 영역 또는 이미지(L17)의 블록을 결정한다. 기준 이미지 메모리(reference image memory:500)에 그대로 존재하는 변경된 영역(L17)의 부분들에 대하여, 하나 이상의 블록과 각 블록 또는 블록 그룹 에 대한 하나의 소스 위치가 (L21)을 통해 블록 모션 보상부(520)에 전송된다. 메모리(500)는 인코더(204) 및 디코더(208) 모두에 공유되거나 공통인 제한된 개수의 이미지를 저장한다. 예를 들면, 일 실시예에서, 메모리(500)는 하나의 기준 이미지가 특징 매칭을 수행하기 위해 선택되는 다수의 이미지 또는 이미지 라이브러리(library)를 저장한다. 상이한 특징들의 매칭을 위해 동일한 기준 이미지 또는 상이한 기준 이미지가 이미지 라이브러리로부터 선택될 수 있다.
블록 모션 보상부(520)는 (L17)상의 현재 이미지를 메모리(500)로부터 복사될 수 있는 블록과 가공되지 않은 픽셀 블록(raw pixel block)에 의하여 소스 이미지를 설명하는 표현(representation)으로 변환한다. 도 4c에 도시된 이미지가 (L17)을 통해 검색되고, 도 4b에 도시된 이미지(즉, 사전 프레임)가 기준 이미지 메모리(500)에 저장된다고 가정하면, 블록 모션 검출부(510)는, 예를 들면, 윈도우(450)가 기준 이미지 메모리(500)에 또한 존재함을 판단한다. 이 정보가 주어지면, 예를 들어, 블록 모션 보상부(520)는 (L17)상의 변경된 영역(도 4의 440)을 세 개의 블록(도 4d의 450, 470, 및 480)으로 분할하며, 여기서, 블록(470,480)은 가공되지 않은 픽셀로 표시되며, 블록(450)은 메모리(500)내의 자체 어커런스(occurrence)에 대한 포인터(pointer)로 표시된다.
인코더(530)는 변환된 이미지(즉, 일부가 기준 이미지 메모리(500)내의 매칭 블록에 대한 포인터로 표시되는 블록들로 원래의 이미지를 분할한 것)로 코드화하고, 그것을 (L11)을 통해 인코더-내부 디코딩 장치(encoder-internal decoding apparatus: 570)와 디코더(도 2의 208)로 전달한다. 후자(208)는 인코더(360)의 내부 디코딩 장치(570)와 유사하게 구성되고 동일한 방법으로 작동하며, 여기서, (L13)은 (L24)에서 분기된다.
인코더(530)는 변경된 이미지 영역(L17)과 기준 이미지 메모리(500) 사이의 변경을 코드화하기 위해, 형태(shape), 위치(location) 및 변위(displacement)에 의해 변위되고/되거나 변위될 수 있는 영역(들)을 확인한다. 본 발명의 일 실시예에서, 이러한 파라미터들은 인터넷 엔지니어링 태스크 포스(Internet Engineering Task Force)에서 Request for Comments(RFC) No. 1951, Peter Deutsch에 의해 "DEFLATE Compressed Data Format Specification"에 개시된 수축 알고리즘(deflate algorithm)과 같은 임의의 일반적인 방법으로 인코딩되며, 픽셀은 IETF, RFC No.2083에 Tom Boutell등에 의해 "PNG(Portable Network Graphics) Specification"에 개시된 휴대용 네트워크 그래픽(Portable Network Graphics:PNG)과 같은 이미지를 압축하기 위한 임의의 방법으로 인코딩된다. 다양한 실시예에서, 인코더(530)는 손실 없는 인코더 또는 손실 있는 인코더일 수 있다. 손실 없는 인코더(530)가 이용되는 일 구현에서는, 디코딩된 이미지(L17)가 직접 얻어질 수 있기 때문에 이미지 디코더(540)가 필요하지 않을 수 있다.
디코더(540)는 인코더(530)에 대한 대응물(counterpart)로, 인코더(530)에서 코딩된 변경(L11)을 수신한다. 본 실시에서의 디코더(540)는, (L23)을 통해 메모리(500)로부터 그들의 픽셀을 검색함으로써 복사된 블록을 디코딩하고, (L24)상에 디코딩된 이미지를 제공한다. 메모리 관리 유닛(memory management unit:560)은 디코딩된 이미지를 이용하여 메모리(500)를 갱신할 수 있다.
본 발명의 바람직한 실시예에서, 메모리(500)는 도 2에 도시된 프레임 버퍼(210)에 나타날 때 사전-디코딩된 프레임만을 저장하고, 메모리 관리 유닛(560)은 프레임 버퍼(210)가 갱신될 때 메모리(500)를 갱신한다. 이에 따라, 인코더(204) 및 디코더(208)는 프레임 버퍼(210) 및 메모리(500)내에 중복 이미지(duplicate image) 또는 프레임 버퍼(들)을 보존할 수 있다. 다른 실시예에서, 메모리 관리 유닛(560)은 디코더(도 2의 208)에서, 또다른 저장매체상의 사본으로서 가능하게, 예를 들어, 디스크상에 다수의 이미지를 저장할 수 있고 또한 이용될 수 있는 보조 메모리(550)를 이용하여 메모리(500)를 갱신한다. 사전 프레임의 다수의 이미지를 보존하는 것은, 예를 들어, 사용자가 둘 이상의 윈도우들(예를 들면, 어플리케이션 또는 그래픽 사용자 인터페이스) 사이에서 전환할 때, 효과적인 이미지 압축(image compression)을 가능하게 한다. 일 실시예에서, 메모리(500)에 대한 모든 변경은 (L27)을 통해 블록 모션 검출부(510)에 또한 직접 전달되어, 블록 모션 검출부(510)가 그 내부 데이터 구조를 최신으로 유지할 수 있도록 해준다. 게다가, 일 실시예에서, 메모리 관리 유닛(560)은 L23에 의해 기준 이미지 메모리(500)에 연결되어 그 내부에 저장된 이미지(들)을 추적하거나(track) 모니터링할 수 있다.
도 6은 예시적인 블록 모션 검출 유닛(도 5의 510)의 일 구현을 도시하는 블록도이다. 일반적으로, 블록 모션 검출부(510)는 네 개의 단계인 1)특징 추출(feature extraction : 600), 2)특징 매칭(feature matching:620), 3)블록 렌더링(block rendering:630), 및 4)특징 관리(feature management :640)를 포함한다. 메모리(500)내의 기준 이미지는 쉽게 추적할 수 있는 특징을 이용하여 인덱싱되며 인덱싱된 특징(L45)은 특징 메모리(610)에 저장된다. 유사하게, 현재 이미지(L17)에 대하여 특징 추출(600)이 수행되어 그 특징(L41)을 확인한다. 기준 이미지(L20) 및 현재 이미지(L17) 모두에서 특징을 확인함으로써 블록들이 매칭될 가능성이 있는 (기준 이미지내의) 소스 및 (현재 이미지내의) 목적지 위치에서 매칭하는 특징 쌍(620)을 찾을 수 있다. 기준 및 현재 이미지(L20, L17)와 함께, (L41과 L42에서 파생된) 매칭된 특징 쌍(L43)은 메모리(500)의 이미지내에, 그대로(verbatim), 또는 문자그대로(literally), 또는 개연적으로(probabilistically), 또는 통계적으로(statistically), 또는 대략적으로(approximately), 또는 경험적으로(empirically) 존재하고/하거나 존재할 가능성이 있는 블록(630)을 신속하게 판단하기 위한 근거를 마련한다. 이미지내의 특징 개수를 이미지내의 픽셀의 개수에 비교하여 적게 유지하고 각 이미지에 대해 그것을 재-연산하는 대신 점진적으로 갱신되는 특징 메모리(610)를 유지함으로써, 블록 모션이 실시간으로 또는 적어도 주목되거나 허용될 수 없을 정도의 지연없이 검출될 수 있다.
특징 관리 유닛(640)은 기준 이미지(L20)과 기준 이미지(L27)에 대한 새로운 변경을 (메모리 관리 유닛(560)으로부터의) 수신하고, 특징 메모리 인덱스(610)를 점진적으로 갱신할 수 있는 역할을 한다. 일 구현에서, 특징 관리 유닛(640)은 최근에 인덱싱된 특징을 액세스하기 위해 특징 메모리(610)에 연결될 수 있다. 특징 관리 유닛(640)은 하나 이상의 기준이미지가 갱신될 때 특징 메모리(610)를 점진적으로 갱신할 수 있다. 이에 따라, 특징 관리 유닛(640)은 임의의 특징 또는 특징의 인스턴스를 (그들이 대응 이미지로부터 제거된 때) 제거하거나 삭제할 수 있고, 또는 기준 이미지 메모리(500)가 변하거나 새로운 이미지 또는 영역이 추가될 때 새로운 특징 또는 특징의 인스턴스를 삽입하거나 추가할 수 있다.
특징으로 간주되는 것을 정의하기 위해 다양한 방식 또는 프레임워크(frame work)가 이용될 수 있다. 더욱이, 특징에 대한 정의는 미리 정해지거나 동적으로 선택될 수 있다. 본 발명의 일 측면의 일 실시에 따르면, 특징은 템플릿(template)(예를 들면, 픽셀의 스트링(string))에 존재하는 하나이상의 픽셀로 정의될 수 있다. 예를 들어, 특징은 2차원 레이아웃의 픽셀로부터 산출된 값으로 정의될 수 있다. 또한, 일 실시예에서, 특징 정의는 템플릿 자체가 임의의 특정 픽셀 구성의 컨텍스트(context)에서 존재할 것을 필요로 할 수 있다. 탬플릿 및 그의 콘텍스트는 겹칠 수 있다(overlap). 다양한 구성에서, 컨텍스트의 크기 및/또는 구성이 고정될 필요는 없지만, 예를 들어, 컨텍스트 자체의 초기 픽셀(예를 들면, 다른 픽셀)에 따를 수 있다. 유사하게, 템플릿의 크기 및/또는 구성은 자신의 콘텍스트 및/또는 템플릿 자체내의 초기 픽셀에 따를 수 있다. 템플릿에 존재하는 픽셀들은 순서하되거나(order) 순서화되지 않을 수 있다(unorder). 다른 실시예에서, 특징은 템플릿에 존재하는 픽셀의 해쉬 코드(hash code)로 정의된다. 이 목적을 위해 임의의 해시함수(hash function)가 이용될 수 있다. 따라서, 특징은 절대 픽셀값, 상대 픽셀값, 또는 모두의 정적 또는 동적 배열의 콘텍스트에 존재하는 픽셀의 템플릿에 근거하여 정의될 수 있다.
도 7a는 32-픽셀 스트링(32-pixel string)에 근거한 특징 정의에 대한 실예를 도시한다. 도시된 실시에서, 32-픽셀 스트링은 픽셀(710, 720, 730, 및 740)과 같이 배열되는 동일한 컬러의 네 개의 픽셀 컨텍스트에 존재하도록 요구되며, 서 일어나도록 규정되며, 제1 픽셀(700)은 그 왼쪽 픽셀(710)과 상이하다. 이 예에서, 특징(32-픽셀 스트링)은 픽셀(710)에서 시작하고 픽셀(750)에서 끝난다. 특징 자체는 픽셀(710)에서 시작하고 픽셀(750)에서 끝나는 32-픽셀 스트링의 해시코드로서 표현하는 것을 포함하여, 다수의 다양한 방법으로 표현될 수 있다.
본 발명의 다른 실시예에서, 특징을 정의하기 위해, 상이한 크기, 구성 및/또는 특성의 상이한 컨텍스트 및/또는 템플릿이 이용될 수 있다. 또한, 다수의 다른 방법으로 특징이 정의될 수 있다. 예를 들면, 특징은 임의의 컨텍스트에 존재하는 N개의 순차 픽셀까지의 사이에서 거리 함수로 정의될 수 있으며, 여기서 N은 정수이다.
본 발명의 다른 측면에 따라, 이미지내의 전체 픽셀 개수와 비교하여 상대적으로 드문 컨텍스트를 이용하는 것이 바람직하다. 이는 특징에 대한 상대적 유일성을 유지하면서 상관된 특징(들)의 개수를 줄여준다. 이에 따라, 특징이 인스턴스에 대한 해시된 값으로 표현되는 경우에, 변경된 이미지 영역 (L41)에서 추출된 특징은 특징 메모리(610)내의 특징(L42)에 신속하게 매칭될 수 있다.
메모리(도 5의 500)의 이미지에 존재하는 모든 또는 일부 특징의 위치는 특징 메모리(610)에 캐싱된다(cash). 본 발명의 일실시예에서, 특징 메모리(610)는 메모리(500)내의 동일한 특징에 대한 인스턴스 목록에 특징을 매핑하는 해시 테이블(hash table)로 구현된다. 본 발명의 바람직한 실시에서, 특징은 처음부터 해시된다. 즉, 특징의 기초가 되는 정의는 0과 K-1사이의 정수값으로 변환되며, 여기서, K는 정수이다. 이 경우, 예를 들면, 도 8에 도시된 바와 같이, 메모리(610)는 어레이(800)에 의해 구현될 수 있다. 각각의 어레이 요소는 특징(즉, 정수값) 리스에 저장하는데, 리스트의 헤드는 후속 메모리(500)내에 있는 동일한 특징의 인스턴스(850)의 개수를 저장한다. 도 8에서, 네 번째 어레이 요소(810)는 정수값(3)의 특징을 헤드(820)와 두개의 요소(830, 840)를 갖는 리스트에 매핑한다. 각 요소(830, 840)는 이미지 식별자(870) 및 이미지내에서의 위치(880, 890)에 의해 메모리(500)내의 특징에 대한 인스턴스를 참조한다. 다중 이미지가 메모리(500)에 저장된다면, 별도의 어레이가 각각의 이미지를 위해 사용될 수 있거나 하나의 어레이가 모든 이미지를 위해 이용될 수 있다.
도 6을 다시 참조하면, 블록 모션 검출에 대한 첫번째 단계는 특징 추출(600)이다. 즉, 특징을 찾기 위해 (L17)상의 변경된 이미지 영역이 스캐닝된다. 본 발명의 일 실시예에서, (L17)상의 변경된 이미지 영역은 상부에서 하부, 왼쪽에서 오른쪽으로 스캐닝된다. 도 7a에서 전술한 4-픽셀 컨텍스트를 이용하여, 도 7b는 순서(775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 및 785)를 도시하는데, 예시된 이미지에서 특징이 파악된다.
두 번째 단계는 특징 매칭(620)이다. 즉, 변경된 이미지 영역(L17)에서 발견되고 (L41)에 제공된 특징의 인스턴스 각각이 메모리(610)에 캐싱되고 (L42)에 제공되는 동일한 특징의 인스턴스로 매핑된다. 특징 상관관계는 변경된 이미지 영역(L17)에서 특징 인스턴스를 둘러싸는 픽셀이 메모리(500)내의 이미지 중 하나에서 그 대응부분을 둘러싸는 대응 픽셀에 매칭될 수 있도록 되어야 한다. 일 구현에서, 이러한 특징 상관관계는, 특징 메모리(610)의 구성에 따라, 메모리(500)내의 하나이상의 이미지내의 각 특징의 발생(ocurrence) 개수로부터 도출된다.
본 발명의 일 실시예에서, 변경된 이미지 영역(L17)에 소정의 특징에 대한 각 인스턴스에 대하여, 동일한 특징에 대한 가장 적은 인스턴스 개수를 갖는 (임의의 임계 개수보다는 적되 0개보다는 많은) 기준 이미지가 메모리(500)내의 복수의 기준 이미지들중에서 특징 매칭을 위해 선택된다. 선택된 기준 이미지의 임의의 인스턴스는 이미지 영역(L17)내의 인스턴스와 상관된다. 변경된 이미지 영역(L17)내의 특징에 대한 각각의 상이한 인스턴스에 대하여, 전술한 기준에 따라 상이한 기준 이미지가 선택될 수도 있다. 본 발명의 일 구현에서, 변경된 이미지영역내의 임계 비율의 인스턴스를 동일한 기준 이미지내의 인스턴스에 상관시키는 것은 채용된 특징의 유일성에 의존할 수 있다. 게다가, 다양한 구현예에서, 상이한 이미지 블록이 상이한 기준 이미지들로부터 복사되거나 성장될 수 있다.
도 9는 본 발명의 일 측면에 따라 특징을 매칭시키기 위한 기술의 일실시예를 나타내는 흐름도이다. 도 8에 도시된 것과 유사한 어레이가 메모리(500)내의 각각의 이미지에 대하여 유지된다면, 특징의 인스턴스 개수는 이러한 각각의 어레이에서 찾아진다(look up). 이제부터 0이 아닌 가장 작은 개수의 특징을 부여하는 어레이가 이용된다. 매칭될 특징의 개수를 줄임으로써 특징 매칭 프로세스를 신속하게 처리할 수 있다. 도 8에 도시된 바와 같이, 인스턴스(850)의 개수가 리스트(815) 각각의 헤드(820)에 저장되기 때문에 빨리 액세스된다. 대안적으로, 어레이의 세트가 순서화될 수 있으며, 임의의 임계치보다 작은 계수를 부여하는 제1 어레이가 선택될 수 있다. 다른 구현들에서, 본 발명을 벗어남이 없이 2개 이상의 특인덱스 또는 어레이로부터 하나의 인덱스 또는 어레이를 선택하기 위해 다른 방식이 이용될 수 있다.
일단 특징 메모리(610)에서 특징 인덱스 또는 어레이(800)가 선택되었거나 단일 어레이가 이용되면, 변경된 영역(L17)내의 각 특징(L41)이 선택된 특징 어레이(800)내의 특징(L42)과 상관될 수 있다. 특징(L41)을 이용하여, 메모리(500)내의 이미지중 하나의 이미지내에 존재하는 동일한 특징의 인스턴스(815) 리스트가 어레이(800)에서 찾아진다(910). 특징에 대한 인스턴스의 개수(850, 정수인 N)는 임의의 임계치(THR)와 비교된다(920). 인스턴스 개수(850, 즉, 리스트의 길이)가 임계치보다 적다면, 리스트(815)내의 특징의 하나의 어커런스가 선택되고(930) 변경된 영역으로부터 (L41)의 대응 특징에 상관된다. 일 구현에서, 리스트(815)내 특징에 대한 제1 인스턴스(830)가 임의적으로 선택된다.
다른 구현예에서, 변경된 영역내의 특징(810)에 대한 인스턴스가 해싱된 픽셀들이 리스트(815)에 저장된 메모리(500)내의 그의 인스턴스중 하나에 대응하는 픽셀들에 비교된다. 픽셀들이 매칭된다면, 그리고 픽셀이 매칭되는 경우에만, 두개의 인스턴스가 상관된다. 픽셀대 픽셀 비교의 일목적은, 특징(해시값)이 매칭되더라도, 그들 정수값이 해싱된 픽셀들이 동일하지 않은 가능성 없는 이벤트를 검사하기 위한 것이다. 이러한 검사는 해시코드가 아닌, 픽셀들 사이의 그대로의 또는 정확한 매칭을 보장하기 위한 것이다. 또 다른 구현에서, 변경된 영역(L17)과 메모리(500)에서의 이미지내의 특징들간에, 통계적으로(statistically), 개연적으로(probabilistically), 또는 개략적으로(approximately) 정확한 매칭을 확인하기 위해,특징 픽셀들의 일부 집합만이 비교된다.
또다른 구현에서, 특징은 매칭되지만 그들의 기본이 되는 픽셀들이 매칭되지 않는 경우에, 완전한 매칭이 발견되거나 리스트의 끝에 도달될 때까지 리스트(815)내의 다른 인스턴스가 선정된 순서 또는 임의적으로 검사될 수 있다. 일실시예에서, 특징에 대한 매칭이 발견되지 않는다면, 변경된 영역(L17)내의 특징은 무시된다.
비교적 유일한 컨텍스트가 이용되고 특징이 충분히 긴 픽셀 스트링(즉, 32-픽셀 스트링)으로 정의된다면, 특징 인덱스 또는 어레이에서 발견되는 특징에 대한 인스턴스가 하나 이상일 가능성은 비교적 작음을 주목한다.
일단 특징에 대한 인스턴스가 (특징 인덱스) 메모리(610)에 저장되는 메모리(500)내의 이미지중 하나의 이미지내에 동일한 특징에 대한 인스턴스와 상관된다면(940), 도 9에 도시된 그들의 위치(950)로부터 변위 벡터가 계산된다. 변위 벡터는 전자(사전) 인스턴스에 대한 후자(현재) 인스턴스를 (예를 들면, <이미지 식별자, 델타 x, 델타 y> 트리플(triple)로서) 표현한다.
변경된 이미지 영역(L17)에서 발견된 특징들의 모든 인스턴스들이 처리되면, 매칭된 특징들의 결과 쌍이 L43상에 제공되고, 변경된 영역(L17) 및 메모리(500)내의 이미지중 하나의 이미지 모두에 존재하는 블록을 판단하기 위해 이용된다. 일 구현에서, L43의 각 특징 쌍은 기준 이미지(500)내의 특징 위치 및 변경된 이미지 영역(L17)내의 매칭된 특징의 변위를 나타내는 벡터에 의해 표현된다.
도 10A는 본 발명의 일특징에 따른 블록 렌더링(rendering, 도 6의 630) 프로세스를 일반적으로 도시한 흐름도이다. 변경된 영역에 존재하거나 맞추어질 수 있고 메모리(500)내의 이미지중 하나에 그대로 또한 존재하는 가장 큰 블록(최대 블록 크기)에 대응하는 변위 벡터(V)가 추측되거나 어림된다(1010). 변경된 영역에 존재하는 최대 크기 블록내에 포함되며 메모리(500)내의 이미지중 하나에 그대로 또한 존재하는 (변위 벡터(V)만큼 떨어진) 지점(P)이 어림된다(1020). 이 지점(P)을 실제로 포함하는 최대 블록의 치수가 어림된다(1030). 필요하면, 이러한 절차는 변경된 영역 및 메모리(500)내의 이미지 모두에 그대로 존재하는 복수개의 블록을 얻기 위해 여러 번 반복될 수 있다. 이러한 방법으로, 현재 이미지 및 기준(이전) 이미지 모두에 존재하는 변경 또는 변위된 영역이 효율적으로 확인되고/되거나, 그의 모양, 위치 및 변위에 의해 표현될 수 있다.
본 명세서에서 용어 “최대 블록”은 변경된 영역(L17)내에 맞추어질 수 있고 메모리(500)내의 선택된 이미지내에 또한 존재하는 가능한 가장 큰 블록을 반드시 의미하는 것은 아니다. 대신, “최대 블록”은 어카운트(account) 시간 필요조건, 처리 리소스 및 각 구현의 소정의 목표를 고려하여 적당한 크기로 성장, 렌더링 또는 생성될 수 있는 블록을 의미한다. 도 10a에 도시된 프로세스의 일 구현이 도 10b에 도시되어 있다. 변경된 영역 및 메모리(500)내 이미지중 하나에 그대로 존재하는 가장 큰 블록의 변위를 나타내기 위해 유력(predominant) 변위 벡터가 선택된다(1060). 유력 변위 벡터는 모든 나머지 벡터들의 일정 임계치를 설명하는 값이다. 즉, 변위 벡터가 계산된 모든 다른 변위 벡터들의 특정 비율을 대표한다면, 이것이 유력 벡터로 선택될 수 있다. 예를 들어, 소정의 변위 벡터가 계산된 변위 벡터들의 50 퍼센트 이상과 동일한 상대적인 변위를 나타낸다면 그것이 유력 벡터로 선택될 수 있다. (도 6의 특징 매칭(L43)을 위해) 하나 이상의 사전에 계산된 변위 벡터들이 유력 변위 벡터를 선택하는데 채용될 수 있다.
다음에, 변경된 영역에 존재하고, 유력 변위 벡터만큼 떨어져, 메모리(500)내의 이미지중 하나에 또한 그대로 존재하는 지점이 선택된다(1070). 일 구현에서, 선택된 지점은 유력 변위 벡터를 지지하는 변경된 영역내의 모든 매칭된 특징들의 중앙에 사실상 위치하는 특징에 대응한다. 선택된 특징은 최대 블록을 성장시킬 시드(seed) 지점으로서 기능한다.
마지막으로, 선택된 지점을 포함하는 최대 블록의 치수가 어림 또는 판단된다. 일구현에서, 최대 블록내에 포함되어 있는 선택된 지점은 시드 지점으로 이용되고 블록 치수는 시드 지점로부터 시작하는 픽셀 블록을 성장시킴으로써 어림 또는 판단된다(1080). 일구현에서, 변경된 영역을 효율적으로 확인하고/하거나 나타내기 위해, 단일의 최대 블록이 성장되고 위치 및 변위 벡터에 연관된다. 다른 실시예에서, 변경된 영역을 효율적으로 확인하고/하거나 나타내기 위해, 선택된 하나 이상의 시드 지점에 근거하여 복수개의 블록들이 성장되고 하나 이상의 유력 벡터와 연관될 수 있다.
본 발명의 일부 구현에서, 전부는 아니지만 하나 이상의 인코딩 파라미터(즉, 변위 벡터, 영역 모양, 크기, 치수(dimensions), 및/또는 시드 지점)가 본 발명을 구현하기 이전에 알려질 수 있다. 없는(missing) 파라미터들을 제공하고 변경된 영역을 효율적으로 인코딩하기 위해서도 본 발명의 일부 또는 특징이 구현될 수 있다. 예를 들어, 변위 벡터 또는 변위 크기가 미리 알려져 있다면, 공통 영역의 모양 및 위치는 전술한 바와 같이 판단될 수 있다. 따라서, 본 발명의 일부 실시예에서, 본 발명의 단계 또는 구성요소들중 일부가 본 발명을 벗어남없이 생략될 수 있다.
용어 “성장시킴” 및 “성장됨”은 어떻게 블록 영역이 소정의 시드 지점으로부터 하나 이상의 방향으로 확장함으로써 생성되거나 렌더링되는지를 언급하기 위해 혼용되어 이용된다. 전형적으로, 영역은 소정의 시드 지점으로부터 시작하는 2차원 평면을 따라 확장함으로써 성장된다. 그러나, 영역은 소정의 평면에서 특정 방향으로 다른 방향보다 더 잘 성장된다. 또다른 구현에서, 영역은 시드 지점으로부터 2가지 방향으로만 성장될 수 있다.
도 11은 블록(1112)이 본 발명의 일실시예에 따라 변위 벡터(1120)하에서 선택된 시드 지점으로부터 블록(1112)이 어떻게 성장될 수 있는지를 보여준다. 현재 이미지(1100) 및 기준 이미지(1130)는 상이한 위치에 있는 동일한 블록(1112)으로 도시된다. 픽셀(1102)이 시드 지점으로서 역할을 하여, 블록(영역의 일부)이 각 사분면(1104, 1106, 1108 및 1110)에서 성장된다. 그런 후에, 단일 블록(1112)은 이들 4개의 블록(1104, 1106, 1108 및 1110)에 의해 커버되는 영역으로 맞추어진다. 현재 프레임내의 단일 블록(1112) 또는 이미지(1110)는 기준 이미지(1130)내에 (1112')로서, 그러나, 각 사분면(1104', 1106', 1108', 1110')대한 대응 블록과 함께 또한 도시된다. 이 예에서, 변위 벡터(1120)는 기준 이미지(1130)의 픽셀 위치(1132)로부터 현재 이미지(1110)의 픽셀 위치(1102)로 시드 지점의 위치 변경을 나타낸다. 다른 실시예에서, 시드 지점(1102)이외의 다른 지점이 변위 벡터(1120)를 참조하기 위해 선택될 수 있다. 예를 들어, 시드 지점이 블록(1112)의 중앙에 실질적으로 위치할 수 있지만, 기준 또는 또다른 지점은 블록(1112)의 어느 지점에도 위치할 수 있다.
일 구현에 따르면, 각 블록(1104, 1106, 1108 및 1110)이, 현재 이미지(1100)의 행(또는 열)을 변위 벡터(1120)에 의해 참조되는 메모리(500)내 이미지(1130)의 대응 행(또는 열)과 비교함으로써, 한번에 하나의 행 및/또는 열씩, 성장된다. 양쪽 이미지(1100 및 1130)의 대응 행(또는 열)이 동일하다면(즉, 동일한 픽셀값을 포함한다면), 블록(1104, 1106, 1108 또는 1110)은 계속해서 성장될 수 있다. 행(또는 열)이 동일하지 않다면, 블록(1104, 1106, 1108 또는 1110)의 한계값(최대 범위)이 명시된다(marked). 블록 성장은 블록((1104, 1106, 1108 및 1110)에 대한 한계값을 구하기 위해 양쪽 방향(축)으로 수행된다. 또다른 구현에서, 블록(1104, 1106, 1108 및 1110) 각각에 대하여 폭과 높이의 모든 조합이 시도된다. 4개 블록(1104, 1106, 1108 및 1110)에 대한 블록 한계값이 확정되면, 단일 블록 또는 영역(1112)이 이들 4개 블록의 결합으로 형성된다.
다른 구현에서, 픽셀별 및/또는 행별 또는 열별 매치 대신에, 블록이 성장시에, 현재 이미지와 기준 이미지간에 특정 비율의 픽셀들을 매칭시킴으로써 개연적 방식으로 블록(즉, 1104, 1106, 1108 및 1110)이 성장된다. 예를 들어, 임의의 매칭 기준이 더 이상 충족되지 않을 때까지 블록이 성장되면서 행이 건너 뛰어질수 있다. 매칭될 픽셀은 블록 성장시에 임의로 선택될 수 있다.
단일 블록 또는 영역(예, 1112)을 정의하는 다양한 방식이 본 발명을 벗어나지 않는 범위에서 채용될 수 있다. 예를 들어, 사분면 블록(예, 1104, 1106, 1108 및 1110)은 유력 변위 벡터와 상이한 상대적 변위의 변위 벡터와 연관된 특징의 인스턴스가 블록내에 포함될 때까지 1 유닛(예, N개의 픽셀들)만큼 성장될 수 있으며, 그 지점에서, 블록은 1 유닛만큼 줄어든다. 이러한 방식은 정확한 매칭이 이루어질 수도 있지만 보장되지는 않는다는 점에서 개연적이다.
다른 구현에서, 사분면 블록의 크기는 단일 블록(예, 1112)의 크기를 최대화하도록 조정될 수 있다. 즉, 다수의 경우에, 사분면 블록을 다른 방향으로 성장시킬(확장시킬) 수 있도록 허용하기 위해 한 방향으로 사분면 블록의 치수(예, 폭)를 줄이는 것이 가능하다. 따라서, 단일 블록(예, 1112)의 전체 크기는 단일 블록(예, 1112)을 제한하는 복수의 블록(예, 사분면 블록(1104, 1106, 1108 및 1110))의 치수를 조정함으로써 최대화될 수 있다.
다른 구현에서, 상이한 개수의 블록 또는 상이한 모양의 영역이 처음에 성장될 수 있으며, 본 발명을 벗어나지 않고서도 상이한 블록 성장 방식들이 채용될 수 있다.
또 다른 구현에서, 단지 단일 블록 또는 직선으로 둘러싸인 영역이 아닌 상이한 모양의 영역들도 현재 이미지와 메모리(500)내의 하나의 이미지 모두에서 그대로이거나 정확한 사본이 발견되는 초기 영역으로 맞추어질 수 있다. 예를 들어, 단일 블록(예, 1112)을 4개의 사분면 블록(예, 1104, 1106, 1108 및 1110)으로 맞추는 대신에, 변경된 영역(또는 현재 이미지)와 메모리(500)내의 하나의 이미지 모두에서 그대로이거나 정확한 사본이 발견되는 영역을 정의하기 위해 4개의 블록 자체가 사용될 수 있다.
변경된 영역(또는 현재 이미지) 및 메모리(500)내의 하나의 이미지 모두에 존재하는 하나 이상의 블록(예, 1112)을 정의한 후에, 이러한 블록각각(즉, 1112)에 대해, 현재 이미 및/또는 메모리(500)내의 기준 이미지중 하나 또는 모두에 블록의 크기 및 그 위치를 회복하고, 재구성하고, 재생성하고/하거나 식별하기에 충분한 정보를 포함하는 복사 명령어가 L21에 생성된다. 예를 들어, 복사 명령어는 모양 또는 영역(즉, 블럭(1112)), 모양 또는 영역의 위치 및 절대적/상대적인 변위 벡터(즉, 벡터(1120))를 정의하는 파라미터를 포함할 수 있다.
도 5을 참조하면, 메모리 관리 유닛(560)은 메모리(500)내의 이미지중 일부를 변경 또는 삭제하거나, 블록 모션(510)에 대해 새로운 이미지가 검사되기 이전에 새로운 이미지를 추가할 수 있다. 예를 들어, 메모리(500)가 L11상의 인코딩된 이미지가 디코더(208)에 의해 처리될 때까지 프레임 버퍼(도 2의 210)내에 나타나게 될 프레임을 저장한다고 가정하면, 디코더(도 5의 540)에 의해 처리된 이미지는 메모리(500)내에 저장된 프레임으로 복사될 수 있어서, 메모리(500)내의 프레임 버퍼(210)의 콘텐트를 효과적으로 반영할(mirroring) 수 있다. 메모리(500)가 L27을 통해 갱신되는 것에 응답하여, 블록 모션 검출 유닛(510)은 그의 내부 데이터 구조를 조정할 수 있다.
본 발명의 바람직한 실시예에서, 도 5에 도시된 특징 관리 유닛(640)은 도 9에 도시된 데이터 구조를 다음과 같이 갱신한다. 우선, 그것은 모든 리스트(815)를 거쳐 반복하고 특징 인스턴스들의 기초가 되는(underlying) 픽셀들이 수정되었기(겹쳐쓰여졌기) 때문에 메모리(500)내에 더 이상 존재하지 않는 특징들의 모든 인스턴스들을 제거한다. 메모리(500)로부터 삭제되었거나 완전히 겹쳐쓰여진 이미지의 특징들을 인덱싱하는 어레이(800)는 더 이상의 검사없이 파괴 또는 제거될 수 있다. 다음에, 메모리(500)내의 이미지의 모든 변경된 부분/블록들 및 새로이 추가된 이미지들이 특징에 대해 검사(scan)되어, 그의 기초가 되는 픽셀들이 이러한 부분/블록 내에 부분적으로만 포함되는 특징들도 또한 발견되도록 한다. 각각의 새롭게 발견된 특징에 대하여, 어레이(800)에서 리스트(815)가 찾아지고 특징은 해당 리스트(815)의 시작부분에 신속하게 삽입된다.
본 발명의 다양한 특징은 검색 공간을 세가지 방식으로 감소시키고 이와 동시에 데이터 압축에 대하여 철저한 검색의 효율성을 거의 완전히 보유함으로써 블록 모션의 검출을 실질적으로 가속화시킨다. 우선, 현재 이미지 및 메모리(500)내의 모든 이미지들이, 픽셀들이 있는 것보다, 실질적으로 더 적게 그러나 특징적인 위치에서, 특징의 임의의 정의에 따라 샘플링된다. 두번째, 현재 이미지내에 있는 특징의 인스턴스와 메모리(500)내의 하나의 이미지에서 무작위로 선택된 인스턴스가 더 큰 매칭 블록에 포함될 확률이 미리-계산되고 증진적으로 갱신되는 어커런스(occurrence)의 총수(count)에 의해 어림되고, 변위 벡터는 그것이 주위의 픽셀들에 적용될 가능성이 있는 경우에만 계산된다. 세 번째, 메모리(500)내의 이미지중 하나의 이미지내에 그대로(또는, 개연적으로, 통계적으로, 대략적으로) 존재하고/하거나 존재할 가능성이 있는 블록들이 일정 파라미터들의 특징-레젤 어림치에 근거하여 판단된다.
본 발명의 실시예들이 특정의 바람직한 실시예들 측면에서 설명되었지만, 본 발명의 범위 내에 다른 실시예들도 또한 존재한다.
예를 들어, 블록 모션은 개연적 방식으로도 검출될 수 있다. 즉, 블록은 그의 변위 벡터에 의해 참조되는 위치에 그대로 존재할 가능성이 있지만 보장되는 것은 아니다. 일 구현에서, 블록의 크기 및/또는 모양은 전적으로 특징 레벨에서 판단되며, 픽셀 레벨에서는 검증되지 않는다. 도 2 및 3을 참조하면, 오류가 있는 블록 모션은, 예를 들어, 프레임 버퍼(210)내의 원래 프레임 대신에 프레임 버퍼(210)내의 디코딩된 버퍼를 메모리(300)에 복사하고 해당 프레임을 코드화될 다음 프레임과 비교함(310)으로써, 그 후에 정정될 수 있다.
또한, 다른 구현들은 현재 이미지로부터 모든 특징들(600)을 추출하지 않고/않거나 메모리(500)내에 저장된 이미지에 존재하는 모든 특징들을메모리(610)내애 캐싱하지(cache)는 않는다.
또다른 실시예에서, 그들의 변위 벡터에 의해 참조되는 위치에 그대로 존재하지 않는 블록들이 판단될 수 있으며, 이러한 블록의 실제 픽셀과 근사적으로 매칭되는 블록의 픽셀들간의 차이가 블록의 치수 및 변위 벡터에 부가하여 코드화될 수 있다. 일 구현에서, 대략적으로 매칭되는 블록들은 매칭 블록의 비율이 임의의 임계치 이하로 떨어질 때까지 성장될 수 있다(1030). 나머지는 손실있는 또는 손실없는 알고리즘을 이용하여 코드화될 수 있다(530). 이미지 인코더(530)는 영역들의 모양, 크기 또는 다른 특성에 따라 상이한 영역들을 상이하게 코드화할 수 있다.
특정의 예시적인 실시예들이 설명되었고 첨부된 도면들에 도시되었지만, 이러한 실시예들은 단순히 예시적이고 광범위한 발명을 제한하는 것은 아니며, 본 발명은 이제까지 도시되고 설명된 특정한 구성 및 배열에 한정되는 것은 아니다. 또한, 본 발명 또는 본 발명의 특징중 일부를 하드웨어, 프로그래머블 장치, 펌웨어, 소프트웨어 또는 이들의 조합으로 구현하는 것이 가능하다. 또한, 본 발명 또는 본 발명의 일부는 자기 저장매체(예, 하드 드라이브, 플로피 드라이브), 광저장매체(예, CD, DVD 등), 또는 (휘발성 및 비휘발성) 반도체 저장 매체와 같은 프로세서-판독가능 저장매체 또는 머신-판독가능 저장매체에 구현될 수 있다.

Claims (56)

  1. 적어도 제1 이미지내의 제1 특징의 제1 인스턴스를 기준 이미지내의 상기 제1 특징의 인스턴스와 상관시키는 단계와,
    상기 제1 이미지와 상기 기준 이미지사이의 변경을 코드화하기 위해 적어도 상기 제1 이미지내의 상기 제1 특징의 제1 인스턴스와 상기 기준 이미지내의 상기 제1 특징의 상기 제1 인스턴스간의 상관관계에 근거하여, 상기 제1 이미지 및 상기 기준 이미지 모두에 존재하는 제1 영역을 판단하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 이미지내에 픽셀이 있는 것보다 특징 인스턴스들이 실질적으로 적게 상기 이미지내에 존재하도록 특징이 정의되는 방법.
  3. 제1항에 있어서, 특징은 픽셀 템플릿으로부터 해싱된(hashed) 값으로 정의되는 방법.
  4. 제1항에 있어서, 특징은 고정길이의 수평적 픽셀 흐름(a fixed-length horizontal run of pixels)으로부터 계산된 값으로 정의되는 방법.
  5. 제1항에 있어서, 특징은 픽셀값의 특정 배열의 콘텍스트(context)에서 존재하는 픽셀 템플릿에 근거하여 정의되는 방법.
  6. 제5항에 있어서, 상기 제1 특징은 콘텍스트 - 상기 콘텍스트를 정의하는 픽셀들은 동일한 제1 색상을 가짐-에 존재하고, 상기 제1 특징의 제1 픽셀은 상기 제1 색상과 상이한 색상을 갖는 방법.
  7. 제1항에 있어서, 하나 이상의 특징들의 하나 이상의 인스턴스에 대하여 상기 제1 이미지를 검사(scan)하는 단계를 더 포함하는 방법.
  8. 제1항에 있어서, 상기 제1 이미지 및 상기 기준 이미지 모두에 존재하는 상기 제1 영역은 상기 제1 이미지와 상기 기준 이미지 사이에서 변위될 가능성이 있는(possibly displaced) 방법.
  9. 제1항에 있어서, 상기 제1 이미지 및 상기 기준 이미지 모두에 존재하는 상기 제1 영역을 판단하는 상기 단계는 그대로의(verbatim), 개연적인 또는 대략적인 판단 프로세스중 하나인 방법.
  10. 제1항에 있어서,
    상기 제1 이미지내의 제2 특징의 인스턴스를 상기 기준 이미지내의 상기 제2 특징의 인스턴스와 상관시키는 단계를 더 포함하고, 상기 제1 영역의 판단은 상기 제1 이미지 및 상기 기준 이미지에서 발견되는 상기 제1 특징의 상기 제1 인스턴스 및 상기 제2 특징의 인스턴스의 상관관계에 적어도 근거하는 방법.
  11. 제1항에 있어서,
    상기 제1 이미지내의 하나 이상의 특징의 하나 이상의 다른 인스턴스를 하나 이상의 기준 이미지내의 하나 이상의 특징의 인스턴스에 상관시키는 단계를 더 포함하고, 상기 제1 영역의 판단은 상기 제1 이미지 및 상기 하나 이상의 기준 이미지에서 발견되는 상기 제1 특징과 상기 하나 이상의 다른 특징의 하나 이상의 상관된 인스턴스중 일부에 근거하는 방법.
  12. 제1항에 있어서, 상기 제1 특징의 제1 인스턴스는 상기 변경된 이미지 및 기준 이미지에서 상기 인스턴스를 둘러싸는 더 큰 영역이 매칭될 가능성이 있도록 상기 동일한 특징의 임의의 인스턴스에 상관되는 방법.
  13. 제12항에 있어서, 상기 변경된 이미지내에서 상기 제1 인스턴스를 둘러싸는 상기 더 큰 영역과 상기 기준 이미지내의 상기 임의의 인스턴스는 상기 기준 이미지내의 상기 제1 특징의 인스턴스 개수가 특정 임계 개수보다 적은 경우에 매칭될 가능성이 있는 방법.
  14. 제1항에 있어서,
    드물게 존재하는 특징들의 식별을 신속하게 하기 위해 상기 기준 이미지내의 특징들의 하나 이상의 인스턴스의 위치를 포함하는 테이블을 유지하는 단계를 더 포함하는 방법.
  15. 제14항에 있어서,
    상기 상관 프로세스를 신속하게 하기 위해 상기 기준 이미지 변경들로 상기 테이블을 증진적으로(incrementally) 갱신하는 단계를 더 포함하는 방법.
  16. 제1항에 있어서, 상기 상관 단계는,
    상기 기준 이미지내에 존재하는 상기 제1 특징의 인스턴스 개수를 임계 개수와 비교하는 단계와,
    상기 제1 특징의 인스턴스 개수가 상기 임계 개수보다 작다면 상기 기준 이미지내의 특징들을 매핑하는 테이블에서 상기 제1 특징의 임의의 인스턴스를 찾는(look up) 단계
    를 포함하는 방법.
  17. 제1항에 있어서, 상기 상관 단계는,
    상기 제1 특징의 인스턴스 개수가 상기 임계 개수보다 적다면, 상기 제1 특징의 상기 제1 인스턴스의 기초를 이루는 픽셀들을 상기 기준 이미지내의 상기 제1 특징의 임의의 인스턴스의 기초를 이루는 픽셀들과 비교하는 단계를 포함하는 방법.
  18. 제1항에 있어서, 상기 제1 이미지 및 상기 기준 이미지 모두에 존재하는 상기 제1 영역은 모양, 위치 및 변위에 의해 식별되는 방법.
  19. 제1항에 있어서, 상기 제1 영역은 하나 이상의 블록을 포함하고, 상기 하나 이상의 블록은 영역의 모양을 정의하는 방법.
  20. 제1항에 있어서, 상기 제1 영역을 판단하는 단계는,
    상기 제1 이미지 및 상기 기준 이미지 모두에서 발견될 수 있는 하나 이상의 블록 크기를 반복적으로 성장시킴으로써 상기 제1 영역의 크기를 최대화시키는 단계를 포함하는 방법.
  21. 제20항에 있어서, 하나 이상의 블록 크기를 반복적으로 성장시키는 단계는 상기 제1 이미지 및 기준 이미지 모두에서 픽셀들을 증진적으로 매칭시키는 단계를 포함하는 방법.
  22. 제21항에 있어서, 상기 제1 이미지 및 기준 이미지 모두에서 픽셀을 매칭시키는 단계에서 각 블록의 픽셀들의 일부만이 매칭되는 방법.
  23. 제1항에 있어서, 상기 제1 영역의 제1 변위 벡터는 상기 기준 이미지내에서 자신과 상관된 인스턴스에 대한 상기 제1 이미지내의 제1 특징의 제1 인스턴스의 변위에 적어도 근거하여 판단되는 방법.
  24. 제23항에 있어서, 상기 제1 변위 벡터는 상기 제1 이미지 및 상기 기준 이미지 모두에서 발견되는 특징의 하나 이상의 상관된 인스턴스들에 대한 임계 비율의 상대적 변위 벡터를 나타내는 방법.
  25. 제1항에 있어서, 상기 제1 영역의 모양은 선택된 시드 지점으로부터 성장되는 방법.
  26. 제25항에 있어서, 상기 시드 지점은 상기 제1 영역의 상기 제1 변위 벡터와 상기 제1 변위 벡터를 지지하는 하나 이상의 특징들의 하나 이상의 인스턴스로부터 결정되는 방법.
  27. 제1항에 있어서,
    어떠한 기준 이미지가 특징의 인스턴스 개수를 (0보다는 크지만) 가장 적게 갖는지를 판단함으로써, 복수개의 기준 이미지들중에서, 특징의 각 인스턴스에 대해 기준 이미지를 선택하는 단계
    를 더 포함하는 방법.
  28. 제27항에 있어서, 드물게 존재하는 특징들의 식별을 신속하게 하기 위해 상기 복수개의 기준 이미지들내의 특징들은 하나 이상의 테이블내에서 인덱싱되는 방법.
  29. 현재 이미지의 하나 이상의 특징들의 하나 이상의 인스턴스들을 기준 이미지내의 동일한 특징의 인스턴스와 상관시킴으로써 현재 이미지 및 기준 이미지 모두에서 발견되는 영역에서 모션(motion)을 검출하도록 구성된 특징 매칭 유닛과,
    상기 특징 매칭 유닛에 연결된 블록 렌더링(block rendering) 유닛 - 상기 블록 유닛 렌더링 유닛은 현재 이미지와 기준 이미지 사이의 변경을 코드화하기 위해 현재 이미지 및 기준 이미지 모두에서 발견되는 하나 이상의 특징들의 하나 이상의 인스턴스의 상관관계에 적어도 근거하여 현재 이미지 및 기준 이미지 모두에 존재하는 제1 영역을 정의하도록 구성됨-
    을 포함하는 장치.
  30. 제29항에 있어서, 상기 특징 매칭 유닛은 상기 기준 이미지와 상기 현재 이미지 사이의 특징 인스턴스의 가능한 변위에 대응하여 상기 특징의 하나 이상의 상관된 인스턴스에 대한 변위 벡터를 생성하도록 구성되는 장치.
  31. 제29항에 있어서, 변경된 이미지 및 기준 이미지내의 인스턴스를 둘러싸는 좀더 큰 영역이 매칭될 가능성이 있도록 제1 특징의 제1 인스턴스는 동일한 제1 특징의 임의의 인스턴스에 상관되는 장치.
  32. 제29항에 있어서, 상기 특징 매칭 유닛은,
    상기 기준 이미지내의 특징들의 특징 테이블내의 상관된 제1 특징의 인스턴스 개수를 임계 개수에 비교하고, 상기 기준 이미지내의 상기 제1 특징의 인스턴스 개수가 상기 임계 개수보다 적다면 상기 특징 테이블내의상기 제1 특징의 임의의 인스턴스를 찾음으로써, 영역의 모션을 검출하는 장치.
  33. 제29항에 있어서, 상기 특징 매칭 유닛은 상기 기준 이미지내의 제1 특징의 인스턴스 개수가 임계 개수보다 적다면 상기 기준 이미지내의 상기 제1 특징의 임의의 인스턴스의 기초가 되는 픽셀들을 상기 현재 이미지의 상기 제1 특징의 제1 인스턴스의 기초가 되는 픽셀들과 비교함으로써 영역의 모션을 검출하는 장치.
  34. 제29항에 있어서, 상기 현재 이미지로부터 특징의 인스턴스를 추출하고 상기 특징 매칭 유닛에 상기 인스턴스를 제공하는 특징 추출기를 더 포함하는 장치.
  35. 제29항에 있어서, 상기 기준 이미지내에서 발견되는 특징의 인스턴스의 특징 테이블을 유지하고 상기 특징 매칭 유닛에 상기 특징 테이블에 대한 액세스를 제공하는 특징 관리자를 더 포함하는 장치.
  36. 제35항에 있어서, 특징의 하나 이상의 인스턴스에 대하여 상기 특징 테이블내에 해당 인스턴스에 대한 위치가 유지되는 장치.
  37. 제35항에 있어서, 상기 특징 테이블은 특징의 인스턴스의 상관을 신속하게 하기 위해 상기 기준 이미지 변경으로서 증진적으로 갱신되는 장치.
  38. 제29항에 있어서, 상기 블록 렌더링 유닛은 상기 현재 및 기준 이미지의 상관된 특징에 대한 임계 비율의 변위 벡터를 대표하는 유력 변위 벡터를 산정하는(estimate) 장치.
  39. 제29항에 있어서, 상기 블록 렌더링 유닛은 유력 변위 벡터를 지지하는 특징의 하나 이상의 인스턴스에 근거하여 시드 지점을 산정하는 장치.
  40. 제29항에 있어서, 상기 제1 영역을 정의하는데 있어서 상기 블록 렌더링 유닛이 시드 지점 위치로부터 하나 이상의 블록- 상기 하나 이상의 블록은 상기 현재 이미지 및 상기 기준 이미지 모두에서 발견될 수 있음-을 성장시키고, 상기 하나 이상의 블록 각각의 크기를 반복적으로 증가시킴으로써 상기 제1 영역을 성장시키는 장치.
  41. 제40항에 있어서, 하나 이상의 블록을 성장시키는 것은 상기 시드 지점으로부터 상기 현재 이미지 및 기준 이미지 모두에서 픽셀들을 증진적으로 매칭시키는 것을 포함하는 장치.
  42. 제29항에 있어서,
    하나 이상의 기준 이미지에 존재하는 특징을 관리하기 위한 특징 관리자와,
    상기 특징 관리자에 연결된 기준 이미지 라이브러리 - 상기 기준 이미지 라이브러리는 복수의 이미지들을 저장함-를 더 포함하고,
    상기 현재 이미지의 특징의 각 인스턴스에 대하여 기준 이미지가 선택되는 장치.
  43. 제29항에 있어서, 모양, 위치 및 변위에 의해 상기 제1 영역을 식별하기 위해 상기 블록 렌더링 유닛에 연결된 이미지 인코더를 더 포함하는 장치.
  44. 제1 이미지의 하나 이상의 특징의 하나 이상의 인스턴스를 기준 이미지의 동일한 특징의 인스턴스에 상관시키고,
    상기 제1 이미지와 상기 기준 이미지 모두에 존재하지만 상기 제1 이미지와 상기 기준 이미지 사이에 변위될 가능성이 있는 제1 영역을 상기 제1 이미지의 특징과 상기 기준 이미지내의 동일한 특징의 인스턴스간의 상관관계에 근거하여 판단하도록 구성된 인코더와,
    상기 인코더로부터 정보를 수신하고,
    상기 제1 영역을 재구성하기 위해 상기 기준 이미지의 사본을 이용함으로써 제2 이미지를 갱신하도록 구성된 디코더
    를 포함하는 시스템.
  45. 제44항에 있어서, 상기 인코더는,
    상기 현재 이미지로부터 특징의 인스턴스를 추출하고,
    상기 기준 이미지내에서 발견되는 특징의 인스턴스의 특징 테이블을 유지하도록 또한 구성된 시스템.
  46. 제44항에 있어서, 상기 인코더는, 상기 기준 이미지내의 상관된 제1 특징의 인스턴스의 개수를 임계 개수와 비교하고, 상기 기준 이미지내의 제1 특징의 인스턴스 개수가 상기 임계 개수보다 적은 경우에 상기 기준 이미지에 대한 특징 테이블에서 상기 제1 특징의임의의 인스턴스를 찾음으로써, 특징의 인스턴스를 상관시키는 시스템.
  47. 제44항에 있어서, 상기 인코더는, 상기 기준 이미지내의 제1 특징의 인스턴스 개수가 임계 개수보다 작은 경우에 상기 제1 이미지내의 제1 특징의 제1 인스턴스의 기초가 되는 픽셀들을 상기 기준 이미지내의 상기 제1 특징의 임의의 인스턴스의 기초가 되는 픽셀들과 비교함으로써, 특징의 상관된 인스턴스를 검증하는 시스템.
  48. 제44항에 있어서,
    상기 인코더는 상기 제1 이미지와 상기 기준 이미지 사이의 변경을 코드화하고 출력하기 위해, 변위될 가능성이 있는 제1 영역을, 모양, 위치 및 변위에 의해 식별하도록 또한 구성되고,
    상기 디코더는 상기 모양, 위치 및 변위를 수신하고 그들을 이용하여 상기 제1 영역을 재구성하도록 또한 구성되는 시스템.
  49. 인코더에 있어서,
    현재 이미지와 기준 이미지 모두에서 발견되는 하나 이상의 영역의 모션을 상기 현재 이미지의 하나 이상의 특징의 인스턴스를 상기 기준 이미지내의 동일한 특징의 인스턴스에 상관시킴으로써 검출하기 위한 수단과,
    상기 현재 이미지와 상기 기준 이미지 사이의 변경을 코드화하기 위해 상기 현재 이미지의 하나 이상의 특징의 인스턴스와 상기 기준 이미지내의 동일한 특징의 인스턴스의 상관관계에 근거하여 상기 현재 이미지와 상기 기준 이미지 모두에 존재하지만 상기 현재 이미지와 상기 기준 이미지 사이에서 변위될 가능성이 있는 제1 영역을 식별하기 위한 수단
    을 포함하는 인코더.
  50. 제49항에 있어서,
    상기 현재 이미지로부터 특징 인스턴스를 추출하고 상기 인스턴스를 상기 모션 검출 수단에 제공하기 위한 수단과,
    상기 기준 이미지에서 발견되는 특징 인스턴스에 대한 특징 테이블을 유지하고 상기 모션 검출 수단에 상기 특징 테이블에 대한 액세스를 제공하기 위한 수단
    을 더 포함하는 인코더.
  51. 제50항에 있어서,
    상기 기준 이미지 변경으로서 상기 특징 테이블을 증진적으로 갱신시키기 위한 수단을 더 포함하는 인코더.
  52. 제49항에 있어서, 상기 제1 영역을 정의하기 위한 수단은,
    상기 현재 이미지 및 기준 이미지의 상관된 인스턴스의 변위에 대응하는 임계 비율의 변위 벡터를 나타내는 유력 변위 벡터를 산정하기 위한 수단을 포함하는 인코더.
  53. 제49항에 있어서, 상기 제1 영역을 정의하기 위한 수단은,
    유력 변위 벡터를 지지하는 하나 이상의 특징에 근거하여 시드 지점을 판단하기 위한 수단을 포함하는 인코더.
  54. 제1항에 있어서, 상기 제1 영역을 식별하기 위한 수단은,
    시드 지점 이치로부터 하나 이상의 블록 - 상기 하나 이상의 블록은 상기 현재 이미지 및 기준 이미지 모두에서 발견될 수 있음- 을 성장시키기 위한 수단과,
    상기 하나 이상의 블록의 결합으로부터 상기 제1 영역을 렌더링하기 위한 수단
    을 포함하는 인코더.
  55. 제49항에 있어서,
    복수개의 이미지를 저장하는 기준 이미지 라이브러리를 저장하기 위한 수단을 더 포함하고, 상기 현재 이미지의 특징의 인스턴스 각각에 대하여 기준 이미지가 선택되는, 인코더.
  56. 제49항에 있어서,
    상기 현재 이미지와 기준 이미지 사이에서 모양, 위치 및 변위에 의하여 상기 제1 영역을 식별하기 위한 수단을 더 포함하는 인코더.
KR1020047015165A 2002-03-25 2003-03-14 고속 블럭 모션 검출을 위한 방법 및 장치 KR20050029117A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/107,981 2002-03-25
US10/107,981 US6983020B2 (en) 2002-03-25 2002-03-25 Method and apparatus for fast block motion detection

Publications (1)

Publication Number Publication Date
KR20050029117A true KR20050029117A (ko) 2005-03-24

Family

ID=28040993

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047015165A KR20050029117A (ko) 2002-03-25 2003-03-14 고속 블럭 모션 검출을 위한 방법 및 장치

Country Status (8)

Country Link
US (2) US6983020B2 (ko)
EP (1) EP1488638A4 (ko)
JP (1) JP2005522083A (ko)
KR (1) KR20050029117A (ko)
AU (1) AU2003214170A1 (ko)
CA (1) CA2479966A1 (ko)
IL (1) IL164243A0 (ko)
WO (1) WO2003084070A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190138121A (ko) 2018-06-04 2019-12-12 에스케이플래닛 주식회사 부분 마스킹 기반의 효율적 캐시를 이용한 클라우드 스트리밍 서비스 방법 및 이를 위한 장치

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7117239B1 (en) 2000-07-28 2006-10-03 Axeda Corporation Reporting the state of an apparatus to a remote computer
US7185014B1 (en) 2000-09-22 2007-02-27 Axeda Corporation Retrieving data from a server
US8108543B2 (en) * 2000-09-22 2012-01-31 Axeda Corporation Retrieving data from a server
US7254601B2 (en) 2001-12-20 2007-08-07 Questra Corporation Method and apparatus for managing intelligent assets in a distributed environment
US6983020B2 (en) * 2002-03-25 2006-01-03 Citrix Online Llc Method and apparatus for fast block motion detection
US7178149B2 (en) 2002-04-17 2007-02-13 Axeda Corporation XML scripting of soap commands
US7966418B2 (en) 2003-02-21 2011-06-21 Axeda Corporation Establishing a virtual tunnel between two computer programs
US7715479B2 (en) * 2003-07-21 2010-05-11 International Business Machines Corporation Power-aware on-chip memory management for video coding algorithms
US7870504B1 (en) * 2003-10-01 2011-01-11 TestPlant Inc. Method for monitoring a graphical user interface on a second computer display from a first computer
DE10351778A1 (de) * 2003-11-06 2005-06-09 Daimlerchrysler Ag Verfahren zur Korrespondenzanalyse in Bilddatensätzen
JP2005284694A (ja) * 2004-03-30 2005-10-13 Fujitsu Ltd 3次元モデルデータ提供プログラム、3次元モデルデータ提供サーバ、及び3次元モデルデータ転送方法
US7523098B2 (en) * 2004-09-15 2009-04-21 International Business Machines Corporation Systems and methods for efficient data searching, storage and reduction
US8725705B2 (en) * 2004-09-15 2014-05-13 International Business Machines Corporation Systems and methods for searching of storage data with reduced bandwidth requirements
KR100677562B1 (ko) * 2005-02-03 2007-02-02 삼성전자주식회사 움직임 추정 방법 및 장치
US8787460B1 (en) * 2005-07-28 2014-07-22 Teradici Corporation Method and apparatus for motion vector estimation for an image sequence
US8370479B2 (en) * 2006-10-03 2013-02-05 Axeda Acquisition Corporation System and method for dynamically grouping devices based on present device conditions
US8065397B2 (en) 2006-12-26 2011-11-22 Axeda Acquisition Corporation Managing configurations of distributed devices
GB0707276D0 (en) * 2007-04-16 2007-05-23 Adventiq Ltd Video data transmission
JP4375449B2 (ja) * 2007-06-28 2009-12-02 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置、画像処理プログラム、および画像処理方法
JP5003521B2 (ja) * 2008-02-14 2012-08-15 日本電気株式会社 動き補償に伴う更新領域検出装置
WO2009102010A1 (ja) * 2008-02-14 2009-08-20 Nec Corporation 移動領域検出装置
JP4935705B2 (ja) * 2008-02-14 2012-05-23 日本電気株式会社 動き補償に伴う更新領域検出装置
WO2009102013A1 (ja) * 2008-02-14 2009-08-20 Nec Corporation 移動ベクトル検出装置
EP2277317B1 (en) * 2008-05-19 2021-01-27 Citrix Systems, Inc. Systems and methods for enhanced image encoding
JP2011040808A (ja) * 2009-08-06 2011-02-24 Nec Personal Products Co Ltd 情報処理装置、制御方法及びプログラム
US8417039B2 (en) * 2010-06-03 2013-04-09 Microsoft Corporation Motion detection techniques for improved image remoting
JP5664289B2 (ja) * 2011-01-31 2015-02-04 富士通株式会社 情報処理装置、画像送信プログラムおよび画像表示方法
US9153207B2 (en) * 2011-11-03 2015-10-06 Cisco Technology, Inc. Utilizing scrolling detection for screen content encoding
US8934055B1 (en) * 2013-06-14 2015-01-13 Pixelworks, Inc. Clustering based motion layer detection
EP3061233B1 (en) 2013-10-25 2019-12-11 Microsoft Technology Licensing, LLC Representing blocks with hash values in video and image coding and decoding
EP3061253A1 (en) * 2013-10-25 2016-08-31 Microsoft Technology Licensing, LLC Hash-based block matching in video and image coding
WO2015131325A1 (en) 2014-03-04 2015-09-11 Microsoft Technology Licensing, Llc Hash table construction and availability checking for hash-based block matching
US10368092B2 (en) 2014-03-04 2019-07-30 Microsoft Technology Licensing, Llc Encoder-side decisions for block flipping and skip mode in intra block copy prediction
CN105706450B (zh) 2014-06-23 2019-07-16 微软技术许可有限责任公司 根据基于散列的块匹配的结果的编码器决定
KR102358276B1 (ko) 2014-09-30 2022-02-04 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 비디오 코딩을 위한 해시 기반 인코더 결정
US9875552B1 (en) 2016-07-26 2018-01-23 Teradici Corporation Content independent method of motion determination using sparse matrices
US10390039B2 (en) 2016-08-31 2019-08-20 Microsoft Technology Licensing, Llc Motion estimation for screen remoting scenarios
US11095877B2 (en) 2016-11-30 2021-08-17 Microsoft Technology Licensing, Llc Local hash-based motion estimation for screen remoting scenarios
US11202085B1 (en) 2020-06-12 2021-12-14 Microsoft Technology Licensing, Llc Low-cost hash table construction and hash-based block matching for variable-size blocks

Family Cites Families (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2953712B2 (ja) * 1989-09-27 1999-09-27 株式会社東芝 移動物体検知装置
JP2863818B2 (ja) * 1990-08-31 1999-03-03 工業技術院長 動画像の変化点検出方法
US5241625A (en) * 1990-11-27 1993-08-31 Farallon Computing, Inc. Screen image sharing among heterogeneous computers
JP2927082B2 (ja) * 1990-11-28 1999-07-28 株式会社日立製作所 液体サンプル用分析方法および分析装置
JPH06284411A (ja) * 1993-03-25 1994-10-07 Matsushita Electric Ind Co Ltd 符号化装置
JP2576771B2 (ja) * 1993-09-28 1997-01-29 日本電気株式会社 動き補償予測装置
US5577188A (en) * 1994-05-31 1996-11-19 Future Labs, Inc. Method to provide for virtual screen overlay
US5623603A (en) * 1994-11-02 1997-04-22 Fls Acquistion Corporation Method of transferring data at adjustable levels of priorities to provide optimum response to user demands
KR100235343B1 (ko) * 1994-12-29 1999-12-15 전주범 영역분할 기법을 이용한 동영상신호 부호화기의 움직임 벡터 측정장치
KR0171146B1 (ko) * 1995-03-18 1999-03-20 배순훈 특징점을 이용한 움직임 벡터 검출 장치
KR0171143B1 (ko) * 1995-03-20 1999-03-20 배순훈 육각그리드에서의 삼각구조 형성 장치
KR0181036B1 (ko) * 1995-04-08 1999-05-01 배순훈 움직임 영상의 이동 물체 분할 및 그 움직임 추정방법
KR0171120B1 (ko) * 1995-04-29 1999-03-20 배순훈 특징점 기반 움직임 보상을 이용한 비디오 신호 부호화에서의 움직임 영역 설정방법 및 장치
US5936673A (en) * 1995-05-26 1999-08-10 Intel Corporation Temporal tile staggering for block based video compression
NZ320501A (en) 1995-11-02 1999-11-29 British Telecomm Service creation apparatus for a communications network
US6167432A (en) * 1996-02-29 2000-12-26 Webex Communications, Inc., Method for creating peer-to-peer connections over an interconnected network to facilitate conferencing among users
US6343313B1 (en) * 1996-03-26 2002-01-29 Pixion, Inc. Computer conferencing system with real-time multipoint, multi-speed, multi-stream scalability
US5796566A (en) * 1996-08-16 1998-08-18 Compaq Computer Corporation Printed circuit board having conductors which can be decoupled for isolating inactive integrated circuits connected thereto
JP2836681B2 (ja) * 1997-01-14 1998-12-14 日本電気株式会社 パタンマッチング符号化方法及び符号化装置
JPH10210473A (ja) * 1997-01-16 1998-08-07 Toshiba Corp 動きベクトル検出装置
AU1700299A (en) * 1997-11-18 1999-06-07 Stellar Computing Method for establishing a communication connection between two or more users viaa network of interconnected computers
US6289461B1 (en) * 1998-06-09 2001-09-11 Placeware, Inc. Bi-directional process-to-process byte stream protocol
US6278466B1 (en) * 1998-06-11 2001-08-21 Presenter.Com, Inc. Creating animation from a video
US6338086B1 (en) * 1998-06-11 2002-01-08 Placeware, Inc. Collaborative object architecture
US6307550B1 (en) * 1998-06-11 2001-10-23 Presenter.Com, Inc. Extracting photographic images from video
US6233353B1 (en) * 1998-06-29 2001-05-15 Xerox Corporation System for segmenting line drawings from text within a binary digital image
EP1135722A4 (en) * 1998-07-27 2005-08-10 Webtv Networks Inc ACCESS TO A REMOTE COMPUTER
US6601087B1 (en) * 1998-11-18 2003-07-29 Webex Communications, Inc. Instant document sharing
US6331855B1 (en) * 1999-04-28 2001-12-18 Expertcity.Com, Inc. Method and apparatus for providing remote access, control of remote systems and updating of display information
US6654032B1 (en) * 1999-12-23 2003-11-25 Webex Communications, Inc. Instant sharing of documents on a remote server
US6473522B1 (en) * 2000-03-14 2002-10-29 Intel Corporation Estimating text color and segmentation of images
US6597736B1 (en) * 2000-03-29 2003-07-22 Cisco Technology, Inc. Throughput enhanced video communication
JP4612760B2 (ja) * 2000-04-25 2011-01-12 キヤノン株式会社 画像処理装置およびその方法
US6763501B1 (en) * 2000-06-09 2004-07-13 Webex Communications, Inc. Remote document serving
US7958185B2 (en) * 2000-09-18 2011-06-07 Bentley Systems, Inc. Spatial data enabled engineering, construction, and operations computer-aided design (CAD) project system, method and computer program product
US7203755B2 (en) * 2000-12-29 2007-04-10 Webex—Communications, Inc. System and method for application sharing in collaborative setting
US20030167418A1 (en) * 2000-12-29 2003-09-04 Min Zhu Fault-tolerant server for collaborative computing
US6901448B2 (en) * 2000-12-29 2005-05-31 Webex Communications, Inc. Secure communications system for collaborative computing
US6567813B1 (en) * 2000-12-29 2003-05-20 Webex Communications, Inc. Quality of service maintenance for distributed collaborative computing
US20030164853A1 (en) * 2000-12-29 2003-09-04 Min Zhu Distributed document sharing
US7069298B2 (en) * 2000-12-29 2006-06-27 Webex Communications, Inc. Fault-tolerant distributed system for collaborative computing
US6925645B2 (en) * 2000-12-29 2005-08-02 Webex Communications, Inc. Fault tolerant server architecture for collaborative computing
US20030167302A1 (en) * 2000-12-29 2003-09-04 Min Zhu Scalable distributed network system for collaborative computing
WO2002054264A1 (en) * 2000-12-29 2002-07-11 Webex Communications, Inc. Distributed network system architecture for collaborative computing
US20030167304A1 (en) * 2000-12-29 2003-09-04 Min Zhu Distributed meeting management
US6751362B2 (en) * 2001-01-11 2004-06-15 Micron Technology, Inc. Pixel resampling system and method for text
US20020165922A1 (en) * 2001-04-13 2002-11-07 Songxiang Wei Application based screen sampling
US20030085922A1 (en) * 2001-04-13 2003-05-08 Songxiang Wei Sharing DirectDraw applications using application based screen sampling
US20020174181A1 (en) * 2001-04-13 2002-11-21 Songxiang Wei Sharing OpenGL applications using application based screen sampling
US6810488B2 (en) * 2001-05-22 2004-10-26 Webex Communications, Inc. Adaptive selective retransmission of packets
US20030018662A1 (en) * 2001-07-19 2003-01-23 Sheng Li Synchronizing multimedia data
US7216172B2 (en) * 2001-09-25 2007-05-08 Webex Communications, Inc. Systems and methods for establishing quasi-persistent HTTP connections
US6961467B2 (en) * 2001-10-17 2005-11-01 Intel Corporation Identifying image content
US20030084169A1 (en) * 2001-10-31 2003-05-01 Min Zhu System and method for accessing a target computer from a remote location using a remote computer
US7054367B2 (en) * 2001-12-31 2006-05-30 Emc Corporation Edge detection based on variable-length codes of block coded video
US7636754B2 (en) * 2002-03-21 2009-12-22 Cisco Technology, Inc. Rich multi-media format for use in a collaborative computing system
US6983020B2 (en) * 2002-03-25 2006-01-03 Citrix Online Llc Method and apparatus for fast block motion detection
US7213051B2 (en) * 2002-03-28 2007-05-01 Webex Communications, Inc. On-line conference recording system
US6954501B2 (en) * 2003-02-17 2005-10-11 Xvd Corporation Method and apparatus for object based motion compensation

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190138121A (ko) 2018-06-04 2019-12-12 에스케이플래닛 주식회사 부분 마스킹 기반의 효율적 캐시를 이용한 클라우드 스트리밍 서비스 방법 및 이를 위한 장치

Also Published As

Publication number Publication date
EP1488638A4 (en) 2007-08-22
CA2479966A1 (en) 2003-10-09
WO2003084070A3 (en) 2004-03-18
US6983020B2 (en) 2006-01-03
US20030179951A1 (en) 2003-09-25
IL164243A0 (en) 2005-12-18
WO2003084070A2 (en) 2003-10-09
JP2005522083A (ja) 2005-07-21
EP1488638A2 (en) 2004-12-22
AU2003214170A1 (en) 2003-10-13
US20060039477A1 (en) 2006-02-23

Similar Documents

Publication Publication Date Title
KR20050029117A (ko) 고속 블럭 모션 검출을 위한 방법 및 장치
CN111052189B (zh) 用于生成压缩点云的系统、方法和计算机可读介质
US8787460B1 (en) Method and apparatus for motion vector estimation for an image sequence
US11394970B2 (en) Image encoding and decoding method and device
US6031940A (en) System and method for efficiently encoding video frame sequences
US8681870B2 (en) Motion vector detection device
US6195462B1 (en) Image compression
US7295704B2 (en) Image compression usable with animated images
US20050286781A1 (en) Method, system, and program for error recovery while decoding compressed data
CN107087184B (zh) 一种多媒体数据再压缩方法
US9875552B1 (en) Content independent method of motion determination using sparse matrices
US9179143B2 (en) Compressed video
US8629936B2 (en) Moving region detection device
JP2007179554A (ja) ディスプレイ画面の複写システム及び方法
US20120236199A1 (en) Information processing apparatus, image transmitting program, image transmitting method and image display method
US20180255317A1 (en) Method for reconstructing video stream
CN114153411B (zh) 面向远程终端管控的图像优化传输系统
JP2019110376A (ja) デコードエラー検出推定装置、映像復号装置、及びこれらのプログラム
WO2004063992A1 (en) Video frame correlation for motion estimation
WO2021145105A1 (ja) データ圧縮装置、およびデータ圧縮方法
CN110868599B (zh) 一种远程桌面的视频压缩方法
KR20170053714A (ko) 대상-중심적 압축을 수행하기 위한 시스템 및 방법
KR100742518B1 (ko) 정보의 압축 저장
US6658156B1 (en) Information processing apparatus and method
US7773815B2 (en) System and method for compressing compressed data

Legal Events

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