KR101579472B1 - 이미지 데이터 스트림의 생성을 위한 방법 및 디바이스, 현재의 이미지를 이미지 데이터 스트림으로부터 재구성하기위한 방법 및 디바이스, 이미지 데이터 스트림 및 이미지 데이터 스트림을 지니는 저장 매체 - Google Patents

이미지 데이터 스트림의 생성을 위한 방법 및 디바이스, 현재의 이미지를 이미지 데이터 스트림으로부터 재구성하기위한 방법 및 디바이스, 이미지 데이터 스트림 및 이미지 데이터 스트림을 지니는 저장 매체 Download PDF

Info

Publication number
KR101579472B1
KR101579472B1 KR1020090022650A KR20090022650A KR101579472B1 KR 101579472 B1 KR101579472 B1 KR 101579472B1 KR 1020090022650 A KR1020090022650 A KR 1020090022650A KR 20090022650 A KR20090022650 A KR 20090022650A KR 101579472 B1 KR101579472 B1 KR 101579472B1
Authority
KR
South Korea
Prior art keywords
image
macroblocks
data stream
source
reference image
Prior art date
Application number
KR1020090022650A
Other languages
English (en)
Other versions
KR20090100279A (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 KR20090100279A publication Critical patent/KR20090100279A/ko
Application granted granted Critical
Publication of KR101579472B1 publication Critical patent/KR101579472B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • 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/53Multi-resolution motion estimation; Hierarchical motion estimation
    • 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
    • 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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • 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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

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

본 발명은 이미지 데이터 스트림의 생성 및 이미지 데이터 스트림으로부터의 이미지의 재구성과 관련이 있다.
이미지 데이터 스트림을 생성하기 위한 방법은 (a) 기준 이미지 내의 검색 영역들(SRM#0, SRM#1, ..., SRM#8)을 현재 이미지의 소스 매크로 블록들(SMB#0, SMB#1, SMB#n)로 할당하는 단계; (b) 상기 검색 영역들(SRM#0, SRM#1, ..., SRM#8) 내에서 최고 부합값(best match)들 및 그에 대응하는 잔존값(residual)들을 결정하는 단계 그리고 (c) 상기 결정된 잔존값들을 데이터 스트림 내에서 부호화하는 단계를 포함한다. 상기 방법의 다른 특징은, 단계 (b) 및 (c) 중의 적어도 한 단계 내의 처리 순서가 기준 이미지 내의 할당된 검색 영역들의 위치에 의존한다는 사실과 관련이 있다.
처리 순서의 변경은 부호화기 편에서의 최고 부합값들의 더욱 효율적인 결정 및/또는 복호화기 편에서의 감소된 처리 요구사항을 허용한다.

Description

이미지 데이터 스트림의 생성을 위한 방법 및 디바이스, 현재의 이미지를 이미지 데이터 스트림으로부터 재구성하기 위한 방법 및 디바이스, 이미지 데이터 스트림 및 이미지 데이터 스트림을 지니는 저장 매체{METHOD AND DEVICE FOR GENERATING AN IMAGE DATA STREAM, METHOD AND DEVICE FOR RECONSTRUCTING A CURRENT IMAGE FROM AN IMAGE DATA STREAM, IMAGE DATA STREAM AND STORAGE MEDIUM CARRYING AN IMAGE DATA STREAM}
본 발명은 이미지 데이터 스트림의 생성 및 이미지 데이터 스트림으로부터의 이미지의 재구성 것과 관련이 있다. 더욱 상세하게, 본 발명은 기준 이미지의 도움에 의한 현재 이미지의 부호화 그리고 부호화된 현재 이미지의 복호화와 관련이 있다.
이 기술 분야에 알려진 부호화 기술들은 이전에(previously) 부호화된 기준 이미지(reference image)를 사용한다. 이는, 기준 매크로 블록(reference macro block)과 소스 매크로 블록(source macro block) 사이의 잔존값(residual)을 최소화하도록, 현재 이미지의 각각의 소스 매크로 블록에 대해 기준 이미지(reference image) 내의 최고 부합 기준 매크로 블록(best matching reference macro block)을 검색함으로써 수행된다. 그러면, 잔존값 및, 소스 매크로 블록과 최고 부합 기준 매크로 블록 사이의 공간적(spatial) 관계를 지시하는, 동작 벡터(motion vector)의 도움에 의해 소스 매크로 블록이 부호화된다. 최고 부합 기준 매크로 블록을 검색하는 과정은 또한 동작 추정(motion estimation)으로 알려져있다.
최고 부합 기준 매크로 블록은 기준 이미지 내의 어느 곳에나 위치할 수 있으므로, 최고 부합 기준 매크로 블록을 찾는 것은 계산적으로 비용이 많이 드는(expensive) 작업이다.
이러한 계산적 수고를 감소시키기 위한 한 방법은 계층적(hierarchical) 동작 추정이다.
계층적 동작 추정은 다음의 생각(idea)들을 기초로 한다:
제 1 단계에서, 소스 이미지와 기준 이미지는 픽셀 병합(merge) 또는 부분 샘플링(subsampling)에 의해 축소된다(downscaled).
그 다음 단계 동안, 축소된 이미지들에 대해 완전한(full) 동작 추정이 수행된다. 축소된 이미지들은 오직 몇 개의 매크로 블록들로 구성되기 때문에, 축소된 소스 이미지의 각각의 소스 블록과 축소된 기준 이미지의 모든 기준 매크로 블록들의 부합값들을 계산하고 그 부합값들 중에서의 최고 부합값(best match) 및 이에 대응하는 예비 동작 벡터(preliminary motion vector)를 결정하는 것은 대단히 계산적으로 격렬한(computation intensive) 것은 아니다.
축소된 소스 이미지의 모든 소스 블록들의 예비 동작 벡터는 완전한 해상도(full resolution)의 이미지들의 동작 벡터들을 예측하기 위해 사용된다. 완전한 해상도의 기준 이미지의 최고 부합 기준 매크로 블록은, 그 후, 예비 동작 벡터의 도움에 의해 결정된, 오직 작은 검색 영역 내에서만 검색된다. 그러므로, 완전한 해상도의 이미지들에 대한 동작 벡터들의 계산을 위한 계산 수고는 중대하게 감소될 수 있다.
상기 접근방법은 공간적으로(spatially) 또는 시간적으로(temporally) 인접한 매크로 블록들의 동작 벡터들을 기초로 하여 몇 개의 예비 동작 벡터들을 결정함으로써 더욱 개선될 수도 있다.
이러한 접근 방법은 반복될(iterated) 수 있다. 즉, 축소된 이미지들은 더욱 더 축소될 수도 있으며, 제 1 수준(first level)의 예비 동작 벡터들이 더욱 더 축소된 이미지들 내의 완전한 검색의 도움에 의해 결정되고, 축소된 이미지들 내의 제 2 수준(second level)의 예비 동작 벡터들을 검색하는 것은 제 1 수준의 예비 동작 벡터들의 도움에 의해 결정되는 검색 영역들로 제한될 수도 있다. 그러면, 제 2 수준의 예비 동작 벡터들은 완전한 해상도의 이미지들 내의 동작 벡터들을 예측하기 위해 사용된다.
빠르기는(fast) 하지만, 계층적 동작 추정은 큰 대역폭을 요구한다. 만일 기준 이미지를 지니는(carrying), 기초가 되는(underlying) 저장 매체가, 매크로 블록 정렬 저장 구성(macro block aligned storage organization)을 가지고 있다면 그 대역폭은 더욱 더 커야 한다.
매크로 블록 정렬 저장 구성은 규칙적인(regular) 위치에 있는 기준 매크로 블록들로의 직접적인(direct), 따라서 빠른 액세스의 이점을 갖는다. 이러한 이점 은 규칙적인 위치 이외의 다른 위치에 있는 매크로 블록들은 직접 액세스 할 수 없다는 결점이 따른다. 비규칙적으로(non-regularly) 위치하는 매크로 블록의 재구성은, 그 비규칙적으로 위치하는 매크로 블록을 교차(intersect)하는 최대 네 개의 규칙적으로 위치하는 매크로 블록들의 검색(retrieval) 및 규칙적으로 위치하는 매크로 블록들의 부분으로부터의 비규칙적으로 위치하는 매크로 블록들의 구성을 요구한다.
그러므로, 빠르고, 더 적은 대역폭을 요구하는 이미지 스트림(image stream) 생성 방법을 제공하는 것이 바람직하다.
따라서, 본 발명은 이미지 데이터 스트림을 생성하기 위한 방법 및 디바이스를 제안하며, 상기 방법은 청구항 1의 특징들을 포함하고, 상기 디바이스는 청구항 7의 특징들을 포함한다. 본 발명은 현재의 이미지를 이미지 스트림으로부터 재구성하기 위한 방법 및 디바이스를 더 제안하며, 상기 재구성 방법은 청구항 9의 특징들을 포함하며 상기 재구성 디바이스는 청구항 10의 특징들을 포함한다. 본 발명은 청구항 8의 특징들을 포함하는 이미지 데이터 스트림 및 청구항 11에 따르는 저장 매체를 또한 더 제안하며, 상기 저장 매체는 상기 제안된 이미지 데이터 스트림을 지닌다.
이미지 데이터 스트림을 생성하기 위한 방법은 (a) 기준 이미지 내의 검색 영역들을 현재 이미지의 소스 매크로 블록들로 할당하는 단계; (b) 검색 영역 내에서 최고 부합값들 및 그에 대응하는 잔존값들을 결정하는 단계; (c) 결정된 잔존값들을 데이터 스트림 내에서 부호화하는 단계를 포함한다. 상기 방법의 다른 특징들은, 단계 (b) 또는 (c) 중의 적어도 한 단계의 매크로 블록 처리 순서가 기준 이미지 내의 상기 검색 영역의 위치에 의존한다는 사실과 관련이 있다.
최고 부합값 결정에서의 처리 순서의 변화는 연속된 두 개의 상이한 소스 매크로 블록들로 할당된 검색 영역 내에서의 최고 부합값 검색의 수행을 허용하며, 그러므로 두 개의 검색 매크로 블록들로 할당된 검색 영역은 오직 한 번만 불러질(loaded) 필요가 있다.
부호화 도중의 처리 순서의 변화는, 그 어떤 재정렬(re-order)의 필요 없이, 복호화기가 기준 매크로 블록들의 교차 부분을 오직 한 번 검색하는 것을 가능하게 한다. 그러므로, 더욱 효율적인 최고 부합값들의 결정이 가능해지며, 그리고/또는 복호화기 편에서의 처리 요구사항은 부호화의 순서에 의해 감소된다.
한 실시예에서, 상기 방법은 기준 이미지를 하향 샘플링(down sampling)하거나 또는 기준 이미지의 픽셀들을 병합함으로써 낮은 해상도의 이미지를 생성하는 단계를 더 포함하며, 여기서 단계 (a)는 상기 낮은 해상도의 이미지 내의 소스 매크로 블록들의 예비 부합값들의 도움에 의해 예비 동작 벡터들을 결정하는 단계와 예비 동작 벡터들의 도움에 의해 검색 영역을 결정하는 단계를 더 포함한다.
이는 검색 영역 결정의 한 효과적인 방법이다.
다른 실시예에서, 단계 (b)의 처리 순서는 검색 영역들의 공통부 분(intersection)들에 의존한다.
또 다른 실시예에서, 상기 방법은 기준 이미지를 제 1 부분(first segment) 및 적어도 하나의 제 2 부분(second segment)으로 분할하는 단계를 포함하며, 제 1 부분 내에 포함되는 검색 영역들을 갖는 소스 매크로 블록들 및/또는 최고 부합값들은, 적어도 하나의 제 2 부분 내에 포함되는 검색 영역들을 갖는 소스 매크로 블록들 및/또는 최고 부합값들보다 앞서서, 단계 (b) 및/또는 (c)에서 처리된다.
그 이상의 다른 실시예에서, 제 1 소스 매크로 블록은 제 2 소스 매크로 블록의 검색 영역과 가장 큰 공통부분(intersection)을 갖는 검색 영역을 가지며, 만일 제 3 소스 매크로 블록의 검색 영역이 상기 가장 큰 공통부분에 포함된다면, 제 3 소스 매크로 블록의 최고 부합값은 제 1 소스의 최고 부합값을 결정하는 단계와 제 2 소스 매크로 블록의 최고 부합값을 결정하는 단계 사이에서 결정된다.
서로 교차하는 검색 영역의 후속 처리는 공통부분이 두 번 검색되는 것을 피하며 따라서 처리를 가속화한다.
그 외의 또 다른 실시예에서, 기준 이미지는 매크로 블록 단위로 액세스 가능한(macro block-wise accessible) 저장 디바이스에 저장되며, 임의의 검색 영역의 재구성은 저장 디바이스로부터의 한 집합의 매크로 블록들의 검색을 요구하고, 제 4 소스 매크로 블록의 검색 영역을 재구성하기 위해 요구되는 매크로 블록들의 제 1 집합은 제 5 소스 매크로 블록의 검색 영역을 재구성하기 위해 요구되는 매크로 블록들의 제 2 집합과 가장 많은 수의 공통적인 매크로 블록들을 가지며, 만일 제 6 매크로 집합의 최고 부합값이 상기 공통적인 매크로 블록들로부터 재구성 가 능하다면, 상기 제 6 소스 매크로 집합의 최고 부합값은 제 4 소스 매크로 블록의 최고 부합값을 결정하는 단계와 제 5 소스 매크로 블록의 최고 부합값을 결정하는 단계 사이에서 결정된다.
다른 실시예에서, 제 7 소스 매크로 블록의 최고 부합값은 제 8 소스 매크로 블록의 최고 부합값과 가장 큰 공통부분을 가지며, 만일 제 9 소스 매크로 블록의 최고 부합값이 상기 가장 큰 공통부분에 포함된다면, 상기 제 9 소스 매크로 블록의 잔존값은, 제 7 소스 매크로 블록의 잔존값을 부호화하는 단계와 제 8 소스 매크로 블록의 잔존값을 부호화하는 단계 사이에서 부호화된다.
또 다른 실시예에서, 기준 이미지는 매크로 블록 단위로 액세스 가능한 저장 디바이스에 저장되며, 임의의 매크로 블록을 재구성하는 단계는 저장 디바이스로부터 최대 네 개의 매크로 블록의 집합을 더 검색하는 단계를 요구하고, 제 10 소스 매크로 블록의 최고 부합값을 재구성하기 위해 요구되는 다른 제 1 집합은 제 11 소스 매크로 블록의 최고 부합값을 재구성하기 위해 요구되는 다른 제 2 집합과 가장 많은 공통적인 매크로 블록들을 가지며, 만일 제 12 소스 매크로 블록의 최고 부합값이 상기 공통적인 매크로 블록들로부터 재구성 가능하면, 제 12 소스 매크로 블록의 잔존값은 제 10 소스 매크로 블록의 잔존값을 부호화하는 단계와 제 11 소스 매크로 블록의 잔존값을 부호화하는 단계 사이에서 부호화된다.
그 외의 다른 실시예에서, 소스 매크로 블록의 위치의 정보 및/또는 최고 부합값의 위치의 정보는 잔존값과 함께 부호화된다.
본 발명의 예시적인 실시예들이 도면들에서 설명되며, 다음의 설명에서 더욱 자세하게 설명된다.
본 발명은 부호화기 및 복호화기에서의 낮은 온칩(on-chip) 메모리 요구사항 및 낮은 대역폭 요구사항과 복호화기에서의 동작 보상(motion compensation)에 대한 빠른 처리 시간을 결합시킨다.
계층적 동작 추정은 먼저 도 1의 도움에 의해 설명될 것이다.
제 1 단계에서, 축소된 소스 이미지들 및 기준 이미지들의 피라미드(pyramid)는 도 1에서 예시적으로 도시된 대로 만들어진다. 예컨대, 2의 축소 인수(scaling factor)가 적용되며 완전한 해상도의 수준 0(level 0)으로부터 가장 낮은 해상도의 수준 n(level n)까지의 이미지 수준들의 피라미드를 초래한다. 도시된 예시에서, 수준 0은 720 x 576 화소를 가지며 n은 4이다:
수준 LvL0 (완전한 해상도): 720 x 576 화소
수준 LvL1: 360 x 288 화소
수준 LvL2: 180 x 144 화소
수준 LvL3: 90 x 72 화소
수준 LvL4: 45 x 36 화소
그 다음 단계 동안, 소스 피라미드의 가장 높은 수준(LvL4)을 위해 동작 추정이 수행된다. 이러한 수준(LvL4)은 오직 몇 개의 매크로 블록들로 구성되므로, 각각의 소스 블록들과 모든 기준 블록들의 부합값들을 계산하고 그 부합값들 중 최 고 부합값과 그에 대응하는 동작 벡터를 결정하는 것은 대단히 계산적으로 격렬하지는 않다. 즉, 기준 피라미드의 전체의 최상위 수준이 검색 영역으로서 사용된다.
최상위 수준 n으로부터의 결과적인 동작 벡터들은 n-1 수준에 대한 동작 벡터들을 예측하기 위해 사용된다. 그러면, n-1 수준에 대한 동작 벡터들의 검색은 최상위 수준 n으로부터의 동작 벡터들에 의해 지시되는 위치를 둘러싸는(surrounding) 검색 영역으로 제한된다. n-1 수준에 대한 동작 벡터들을 예측할 때 공간적으로 인접한 매크로 블록들로부터의 최상위 수준의 동작 벡터들을 더 고려하는 것이 또한 가능하다. 추가적으로 또는 대안적으로, 바로 이전 이미지의 매크로 블록들에 대해 결정된 동작 벡터들이 고려될 수도 있다. 최상위 수준 및/또는 이전 이미지로부터 예측되는 동작 벡터들 중에서, 가장 낮은 왜곡(distortion)을 갖는 동작 벡터가 선택된다. 또는, 동작 벡터 예측에 의해 지시되는 일부의 또는 모든 영역을 포함하는 더 큰 검색 영역이 형성된다.
이러한 접근방법은 완전한 해상도 수준(LvL0)(완전한 해상도)이 도달될 때까지 수 차례 반복된다.
만일 하나 이상의 동작 벡터 예측이 사용된다면, 최고 부합 동작 벡터를 찾기 위해 각각의 수준 내의 각각의 소스 매크로 블록에 대한 적어도 두 개의 처리 단계가 요구된다:
제 1 단계에서, 예측기 시도 명령(Predictor Try command)의 한 집합이 계산되며, 각각의 예측기 시도 명령은 한 동작 벡터 예측에 대응한다. 한 예측기 시도 명령을 실행할 때, 한 소스 매크로 블록에 대한 왜곡 함수(distortion function)가 기준 이미지의 단지 하나의 검색 매크로 블록에 대해 계산되며, 상기 검색 매크로 블록은 그에 대응하는 동작 벡터 예측에 의해 결정된다.
그 후, 예측기 시도 명령의 집합이 실행되고 최소 왜곡을 산출하는 최고 부합 동작 벡터 예측이 결정된다.
제 2 단계에서, 최고 부합 동작 벡터 예측의 주위에서, 완전한 검색 명령(Full Search command)의 한 집합이 계산되며, 완전한 검색 명령들의 각각은 최고 부합 동작 벡터 예측을 둘러싸는 작은 검색 영역 내의 한 검색 매크로 블록 위치에 대응한다.
그 후, 완전한 검색 명령의 집합이 실행되며 현재 수준에 대한 최소 왜곡을 산출하는 최고 부합 동작 벡터가 결정된다.
이러한 알고리즘(algorithm)은 기준 피라미드가 저장되는 기준 메모리에 대해 매우 큰 대역폭을 요구한다. 수준 0(원래의 해상도)에서의 각각의 소스 매크로 블록에 대해 평균적으로 8 개의 예측 시도 명령이 요구된다고 가정하자. 25 Hz에서 1920x1080 픽셀을 갖는 HD 포맷에 대해, 이는, 기준 데이터를 불러오는 데에, 1980 * 1080 * 8 * 25 바이트 = 428 메가바이트/초의 최소한의 대역폭을 초래한다. 이것은, 기준 검색 매크로 블록의 기준 이미지 내의 위치 및 메모리 내의 위치로부터 독립적인 기준 검색 매크로 블록을 정확하게 액세스하는 것이 가능한 이상적인 경우임을 주의해야 한다. 기준 데이터의 매크로 블록 정렬 저장 구성이 주어졌을 때, 임의적으로 위치하는 기준 매크로 블록들의 검색은 훨씬 높은 요구되는 대역폭을 초래할 것이다. 매크로 블록 정렬 저장 구성 수단은 정렬된 기준 매크로 블록들 전 체로의 빠른 액세스를 허용하지만(즉, 증가하는 어드레스들을 갖는 연속적인 메모리 액세스의 버스트를 이용), 그러나 이미지의 어디에나 위치할 수도 있으며 매크로 블록 정렬 구조(macro block aligned structure)에 맞지 않는 비정렬(non-aligned) 기준 검색 매크로 블록을 액세스하는 것은 어렵다.
기준 데이터에 대한 그러한 매크로 블록 정렬 구성을 가정하면, 도 2는 선택된 매크로 블록(SRM)을 검색하는 것에 대해, 4 개의 이웃한 그리고 정렬된 기준 매크로 블록들(ARM1, ARM2, ARM3, ARM4)이 비정렬 기준 검색 매크로 블록(SRM)을 만들기 위해 메모리로부터 불러져야 할 가능성이 가장 크다는 것을 도시한다. 이는 단일 기준 프레임(frame)에 대해 1.7 기가바이트/초의 요구되는 최고 메모리 대역폭을 초래한다. 만일 다수의 기준 프레임이 그 검색 내에 포함되어야 한다면, 그 대역폭 요구사항은 그에 따라 증가한다. 이는, 즉 3 개의 기준 프레임에 대해 5.1 기가바이트/초가 그저 계층적 동작 추정의 예측기 시도 명령 집합을 수행하기 위해 요구된다는 것을 의미한다.
외부 메모리로 그러한 대역폭을 구현하는 것은 대단히 어렵다. 그러므로, 계층적 동작 추정은 요구되는 대역폭을 제공하는 큰 온칩(on-chip) 메모리로 만들어진다. 그러나, 완전한 기준 프레임들이 저장되어야 하므로, 이러한 온칩 메모리들의 형판 크기(die size)는 중요하다.
종래 기술에서, 예측기 시도 명령들은 소스 매크로 블록들이 속한 순서대로 실행된다. 이는, 처음에는 소스 매크로 블록(SMB#0)에 대한 모든 예측기 시도{PTC()}가 계산되며, 그리고 나서 소스 매크로 블록(SMB#1)에 대한 모든 예측기 시도가 계산되는 등의 방식이라는 것을 의미한다. 이것은 도 3에 도시된다.
본 발명은, 예측기 시도 명령 시퀀스들이 지시하는 기준 검색 매크로 블록에 의존하는, 예측기 시도 명령 시퀀스의 재정렬을 제안한다.
예측 시도 명령 시퀀스의 재정렬을 수행하기 위해, 기준 화상(reference picture)은, 도 4에서 k=4로 예시된 것과 같이, k 개의 부분으로 나누어진다. 그러면, 예측기 시도 명령들{PTC()}은, 특정한 부분들(SEG1, SEG2, SEG3, SEG4) 내에 위치하는 기준 검색 매크로 블록(SRM)을 지시하는 목록들이 하나의 목록으로 분류될(sorted) 수 있도록, k 개의 목록(L1, L2, L3, L4)으로 재정렬된다. 예측기 시도 {PTC(SMB#m, SRM#l)}가 부분들(SEG1, SEG2, SEG3, SEG4) 중 두 개에 위치하는 기준 검색 매크로 블록(SRM)을 지시하는 것을 피하기 위해, 도 5에 예시적으로 도시된 것과 같이, 부분들의 겹침(overlap)이 요구된다. 수직으로 겹치는 부분들 없이, 부분(SEG1)의 경계(border)에 위치하는 기준 검색 매크로 블록들은 또한 수직적으로 인접한 부분(SEG2)에 부분적으로 위치할 수도 있다. 기준 검색 매크로 블록들의 수직적 크기의 예시적 수직 부분 겹침의 도움에 의해, 각각의 기준 검색 매크로 블록은 적어도 하나의 부분(SEG1', SEG2') 내에 완전하게 위치한다.
예측기 시도 명령들에 대한 분류 알고리즘의 예시적 실시예의 순서도가 도 6에 예시적으로 도시된다. 상기 도면은 예측기 시도 명령들의 분류는 대단히 단순하며 빠른 처리라는 것을 도시한다.
단계(START)에서, k 개의 목록(L1, L2, L3, L4)의 집합이 초기화되는데, k는 겹치는 부분들(SEG1', SEG2')의 수이며, 상기 겹치는 부분들로 이미지들이 분할된 다(portioned). 다음 단계(LG)에서, m번째의 소스 매크로 블록(SMB#m)과 l(L의 소문자 표기)번째의 선택된 기준 매크로 블록(SRM#l)을 비교하기 위해, 예측기 시도 명령{PTC(SMB#m,SRM#l)}이 생성되거나 또는 이미 생성된 예측기 시도 명령{PTC(SMB#m,SRM#l)}이 불러진다(loaded). 그러면, 단계(INIT)에서, 카운터 변수(counter variable)(N)가 0(zero)으로 설정되며 위치 변수(P)는 선택된 기준 매크로 블록(SRM#l)의 위치로 초기화된다. 계속해서, 루프(loop) 내에서, P는 부분의 넓이(S) 만큼 감소되며(diminished), 만일 상기 감소에 의해 P가 0 밑으로 떨어지면 상기 루프는 종료된다. 만일 그렇지 않다면, N은 1만큼 증가되며, P는 다시 S만큼 감소된다. 루프를 종료한 후, 예측기 시도 명령{PTC(SMB#m,SRM#l)}은 목록(N)으로 첨부된다. 그러면, 단계(LAST)에서, 예측기 시도 명령{PTC(SMB#m,SRM#l)}이 불러지거나 또는 생성될 수 있는 다른 비교들이 존재하는지를 체크한다. 만일 그렇다면, 상기 방법은 단계(LG)로 복귀한다. 만일 그렇지 않다면, 분류는 종료된다.
분류 처리의 종료 단계에서, 예측기 시도 명령{PTC(SMB#m,SRM#l)}의 k 개의 목록이 생성되었다. 이전의 분류 단계는, 그 목록 내의 모든 예측기 시도 명령{PTC()}은 동일한 기준 이미지 부분(SEG1', SEG2')이 처리되도록 요구하는 것을 보장하기 때문에, 각각의 목록의 처리를 위해 기준 프레임들의 오직 하나의 부분(SEG1', SEG2')이 지역 메모리(local memory)에 저장되어야 한다. 이는 k의 인수만큼 온칩 메모리 요구사항을 감소시킨다.
기준 데이터 부분(k)의 처리 도중에 기준 데이터 부분(k+1)을 지역 메모리로 불러오는(load) 것이 가능하다는 것을 주목해야 한다. 따라서, 목록(k+1)의 계산은 목록(k)의 계산이 완료된 이후에 즉시 시작될 수 있다. 이는 온칩 메모리 크기를 두 배로 늘리는 것을 요구하며, 이는 부분들의 개수(number of segments)를 증가시킴으로서 잘 보상될 수 있다.
기준 데이터를 불러오기 위해 요구되는 메모리 대역폭을 감소시키기 위한 정확히 동일한 생각(idea)이 계층적 동작 추정의 제 2 단계에 적용될 수 있으며, 이는 최고 부합 예측기 시도 주위에서의 작은 완전 검색(Full Search)이다. 완전 검색 명령들이 지시하는 기준 이미지 부분에 대해 완전 검색 명령의 시퀀스를 분류하는 단계는 예측기 시도 명령의 분류와 유사한 양의 온칩 메모리 감소를 가능하게 한다. 이러한 접근방법을 위해 완전 검색 명령들의 시퀀스는 k 개의 명령들의 목록으로 분류되어야 하며, 각각의 목록은 동일한 기준 데이터 부분(SEG1, SEG2, SEG3, SEG4)을 지시하는 완전 검색 명령을 포함한다. 그러면, 온칩 메모리 요구사항은 인수 k의 차수(order)만큼 감소한다. 또한, 만일 부분(segment)의 크기가 예측기 시도 명령들의 처리에 대한 것과 동일하도록 선택된다면, 동일한 지역 메모리들이 사용될 수도 있다.
끝으로, 위의 접근방법은 계층적 동작 추정을 위한 효과적인 병렬 처리를 가능하게 한다는 것을 주목해야 한다. 예측기 시도{PTC(SMB#m,SRM#l)} 또는 완전 검색 명령들의 다수의 목록들(L1, L2, L3, L4)은 기준 데이터 부분들(SEG1, SEG2, SEG3, SEG4)과 함께, 셀 BE(Cell BE) 다중 프로세서의 상승작용적 처리 요소들(Synergistic Processing Elements)과 같은, 다수의 처리 요소들로 배포(distributed)될 수도 있다. 그러면, 처리 요소들의 최대 활용을 이용한 계층적 동작 추정 알고리즘의 독립적 병렬 처리가 수행될 수 있다.
일반적으로, 소스 매크로 블록들의 잔존값들은, 소스 이미지 내의 그들의 위치에 따라, 이미지 데이터 스트림 내의 결정된 동작 벡터들과 함께 부호화된다. 이미지 데이터 스트림 내의 인접한 두 개의 잔존값들은 알려진 대로 현재 이미지 내의 두 개의 인접한 소스 매크로 블록들을 참조한다. 동작 벡터들이 예측 불가능한 방법으로 기준 이미지 내의 어느 곳이라도 지시할 수 있으므로, 동작 보상(motion compensation)을 위한 기준 매크로 블록들로의 메모리 액세스는 동작 추정에 대해 이전에 설명된 것과 같은 대역폭 논쟁을 야기한다.
그러므로, 복호화기는 먼저 현재 이미지와 관련된 모든 잔존값들 및 동작 벡터들을 수신할 것이며, 각각의 목록 내의 상기 잔존값들 및 동작 벡터들이 모두 기준 이미지의 동일한 부분(SEG1, SEG2, SEG3, SEG4)과 관련되도록, 상기 잔존값들 및 동작 벡터들을 목록들로 분류할 것이다. 그러면, 상기 목록들 중 한 목록의 잔존값들 및 동작 벡터들과 관련된 매크로 블록들의 재구성 도중에, 전체 기준 이미지 대신, 기준 이미지의 오직 한 부분(SEG1, SEG2, SEG3, SEG4)이 지역 메모리 또는 캐쉬(cache)에 제공되어야 하며, 따라서 그 크기는 작을 것이다.
복호화기 내에서의 재정렬 단계는 부호화기 내에서의 재정렬 단계와 동일하므로, 복호화기 내에서의 재정렬 단계는, 재정렬 된 잔존값들 및 동작 벡터들을 송신함으로써 중복(redundant)이 될 수 있다. 즉, 부호화기 편에서 동작 추정을 위해 그 어떤 재정렬도 적용되지 않더라도, 복호화기 편에서의 재정렬 단계를 이루는 송신을 위한, 부호화기의 재정렬 단계는 유익할 수도 있다.
그러므로 본 발명은 동일한 부분(SEG1, SEG2, SEG3, SEG4)과 관련된 잔존값들 및 이에 대응하는 동작 벡터들이 이미지 데이터 스트림의 분리된 연속적인 부분들(separated contiguous sections) 내에서 부호화되는 것을 제안한다. 그러면 각각의 소부분(subsection)의 복호화 도중, 전체 기준 이미지 대신, 기준 이미지의 오직 한 부분(SEG1, SEG2, SEG3, SEG4)이 지역 메모리 또는 캐쉬 내에 제공되어야 하며, 그 크기는 작을 수도 있다. 부호화기에 대한 것과 유사하게, 외부 메모리로의 온칩 메모리 요구사항 및 대역폭 요구사항은 처리 순서의 재정렬을 통해 중대하게 감소된다.
잔존값들이 속하는 소스 매크로 블록의 위치가 더 이상 이미지 데이터 스트림 내의 잔존값의 위치로부터 빼질(deducted) 수 없으므로, 소스 이미지 내의 소스 매크로 블록들의 위치와 관련된 정보들은 이미지 데이터 스트림 내에 포함된다. 이러한 정보는 이전에 참조된 기준 매크로 블록에 대한 현재 참조되는 기준 매크로 블록의 상대적 위치에 의해 형성될 수 있다. 현재의 소스 매크로 블록의 위치는 그 후 동작 벡터의 도움에 의해 빼질 수 있다. 이는 위치 정보를 송신하기 위한 추가적인 대역폭을 최소화한다.
그 후, 부호화기는, 주로, 제안된 방법으로 동작 추정에 대한 매크로 블록들의 처리를 재정렬 해야 한다. 이는 그 뒤에 처리되는 매크로 블록들의 동작 벡터들이 동일한 기준 영역을 지시하는 것을 보장한다. 만일 지금 정확히 그 순서로 잔존값들이 송신된다면, 복호화기에서의 그 어떠한 재정렬 단계도 요구되지 않는다. 이러한 제안은 부호화기 및 복호화기에서의 낮은 온칩 메모리 요구사항 및 낮은 대역 폭 요구사항과 복호화기에서의 동작 보상에 대한 빠른 처리 시간을 결합시킨다.
본 발명은 이미지 데이터 스트림의 생성 및 이미지 데이터 스트림으로부터 이미지를 재구성하는 것에 이용 가능하다. 더욱 상세하게, 본 발명은 기준 이미지의 도움에 의한 현재 이미지의 부호화 및 상기 부호화된 현재 이미지의 복호화에 이용 가능하다.
도 1은 축소된 이미지들의 예시적인 피라미드(pyramid)를 도시하는 도면.
도 2는 매크로 블록 정렬 저장 구성(macro block aligned organization)을 갖는 저장소로부터 직접 검색 가능한 기준 매크로 블록들에 대한, 선택된 기준 매크로 블록의 위치를 예시적으로 도시하는 도면.
도 3은 소스 매크로 블록들의 한 집합 및 일부 기준 매크로 블록들 그리고 예측기 시도 명령(Predictor Try commands)의 예시적 단일 목록을 도시하는 도면.
도 4는 소스 매크로 블록들의 한 집합 및 일부 기준 매크로 블록들 그리고 예측기 시도 명령의 다른 예시적 집합을 도시하는 도면.
도 5는 겹치는(overlapping) 부분들의 개념을 예시적으로 도시하는 도면.
도 6은 예측기 시도 명령의 재정렬의 한 예시적 실시예의 순서도를 도시하는 도면.

Claims (11)

  1. 계층적 동작 추정(hierarchical motion estimation)을 이용하여 이미지 데이터 스트림을 생성하기 위한 방법으로서,
    상기 방법은:
    a) 현재 이미지의 각 소스 매크로 블록에 대해, 낮은 해상도 기준 이미지 내의 대응하는 낮은 해상도 소스 매크로 블록들의 예비 부합값들(preliminary matches)에 의해 기준 이미지의 상기 낮은 해상도 버전 내의 예비 동작 벡터를 결정하는 단계;
    b) 상기 예비 동작 벡터들에 기초하여, 상기 낮은 해상도 기준 이미지보다 높은 해상도를 갖는 상기 기준 이미지의 보다 높은 해상도 버전 내의 대응하는 검색 영역들을 상기 현재 이미지의 소스 매크로 블록들에 할당하고, 상기 보다 높은 해상도 기준 이미지를, 각 부분(segment)이 상기 보다 높은 해상도 기준 이미지의 매크로 블록들의 부분(part)을 포함하는 여러 부분들(several segments)로 분할하는, 할당 및 분할 단계;
    c) 상기 보다 높은 해상도 기준 이미지 내의 검색 영역 내의 최고 부합값을 각 소스 매크로 블록에 대해 결정하고, 대응하는 동작 벡터와 대응하는 잔존값 블록을 결정하는 단계로서, 상기 소스 매크로 블록들의 상기 최고 부합값 결정에 대한 처리 순서(processing order)는, 소스 매크로 블록의 최고 부합값 위치에 대한 검색이 상기 부분들(segments) 중 제 1 부분에 속하는 관련된 검색 영역 매크로 블록들에서 시작하여, 상기 보다 높은 해상도 기준 이미지 내에서 부분 단위로(segment by segment) 계속되는 순서에 대응하는, 최고 부합값을 결정하고 대응하는 동작 벡터와 대응하는 잔존값 블록을 결정하는 단계;
    d) 각 소스 매크로 블록에 대한 상기 최고 부합값에 따라, 데이터 스트림 내의 상기 현재 이미지의 상기 소스 매크로 블록들의 동작 벡터들 및 잔존값 블록들을 부호화하는 단계;
    e) 다음의 이미지에 대해, 단계 a) 내지 단계 d)를 반복하는 단계를
    포함하는, 이미지 데이터 스트림을 생성하기 위한 방법.
  2. 제 1항에 있어서,
    상기 기준 이미지를 하향 샘플링(down sampling) 함으로써 또는 상기 기준 이미지의 픽셀들을 병합함으로써, 상기 낮은 해상도 기준 이미지를 생성하는 단계를 더 포함하는, 이미지 데이터 스트림을 생성하기 위한 방법.
  3. 제 1항 또는 제 2항에 있어서,
    단계 c)에서의 처리 순서는 검색 영역들의 공통부분들(intersections)에 더 의존하는, 이미지 데이터 스트림을 생성하기 위한 방법.
  4. 제 1항에 있어서,
    - 보다 높은 해상도 기준 이미지는 매크로 블록 단위로 액세스 가능한(macro block-wise accessible) 저장 디바이스에 저장되며, 임의의 검색 영역의 검색(retrieving)은 저장 디바이스로부터의 매크로 블록들의 한 집합의 검색을 요구하며;
    - 제 1 소스 매크로 블록의 검색 영역을 검색하기 위해 요구되는 보다 높은 해상도 기준 이미지 매크로 블록들의 제 1 집합은 제 2 소스 매크로 블록의 검색 영역을 검색하기 위해 요구되는 보다 높은 해상도 기준 이미지 매크로 블록들의 제 2 집합과 공통적인 가장 많은 수의 매크로 블록들을 가지며;
    - 제 3 소스 매크로 블록의 잔존값은, 만일 상기 제 3 소스 매크로 블록의 최고 부합값이 공통적인 상기 매크로 블록들로부터 검색 가능하다면, 제 1 소스 매크로 블록의 최고 부합값의 잔존값과 제 2 소스 매크로 블록의 잔존값 사이의 이미지 데이터 스트림에서 부호화되는, 이미지 데이터 스트림을 생성하기 위한 방법.
  5. 제 1항 또는 제 2항에 있어서,
    소스 매크로 블록의 위치에 관한 정보 또는 최고 부합값의 위치에 관한 정보는 이미지 데이터 스트림 내에 포함되는, 이미지 데이터 스트림을 생성하기 위한 방법.
  6. 계층적 동작 추정을 이용하여 이미지 데이터 스트림을 생성하기 위한 디바이스로서,
    상기 디바이스는:
    a) 현재 이미지의 각 소스 매크로 블록에 대해, 낮은 해상도 기준 이미지 내의 대응하는 낮은 해상도 소스 매크로 블록들의 예비 부합값들에 의해 기준 이미지의 상기 낮은 해상도 버전 내의 예비 동작 벡터를 결정하기 위한 제 1 결정 수단;
    b) 상기 예비 동작 벡터들에 기초하여, 상기 낮은 해상도 기준 이미지보다 높은 해상도를 갖는 상기 기준 이미지의 보다 높은 해상도 버전 내의 대응하는 검색 영역들을 상기 현재 이미지의 소스 매크로 블록들에 할당하고, 상기 보다 높은 해상도 기준 이미지를, 각 부분이 상기 보다 높은 해상도 기준 이미지의 매크로 블록들의 부분을 포함하는 여러 부분들로 분할하기 위한, 할당 및 분할 수단;
    c) 상기 보다 높은 해상도 기준 이미지 내의 검색 영역 내의 최고 부합값을 각 소스 매크로 블록에 대해 결정하고, 대응하는 동작 벡터와 대응하는 잔존값 블록을 결정하기 위한 제 2 결정 수단으로서, 상기 소스 매크로 블록들의 상기 최고 부합값 결정에 대한 처리 순서는, 소스 매크로 블록의 최고 부합값 위치에 대한 검색이 상기 부분들 중 제 1 부분에 속하는 관련된 검색 영역 매크로 블록들에서 시작하여, 상기 보다 높은 해상도 기준 이미지 내에서 부분 단위로 계속되는 순서에 대응하는, 제 2 결정 수단;
    d) 각 소스 매크로 블록에 대한 상기 최고 부합값에 따라, 데이터 스트림 내의 상기 현재 이미지의 상기 소스 매크로 블록들의 동작 벡터들 및 잔존값 블록들을 부호화하기 위한 부호화 수단, 그리고
    상기 제 1 결정 수단 및 상기 제 2 결정 수단에서의 결정 처리(processings)와, 상기 할당 및 분할 수단에서의 할당 및 분할 처리와, 상기 부호화 수단에서의 부호화 처리를 각각 반복하기 위한 수단을
    포함하는, 이미지 데이터 스트림을 생성하기 위한 디바이스.
  7. 제1항의 방법에 의해 생성된 이미지 데이터 스트림으로부터 현재 이미지를 재구성하기 위한 방법으로서,
    현재 이미지는 이전에 부호화된 기준 이미지를 사용하여 부호화되었으며,
    상기 방법은:
    - 이미지 데이터 스트림으로부터 소스 매크로 블록들에 관련된 동작 벡터들 및 잔존값을 복호화하는 단계;
    - 기준 이미지의 기준 매크로 블록들을 검색하고, 잔존값 및 기준 매크로 블록들을 사용하여 상기 현재 이미지의 소스 매크로 블록들을 재구성하기 위해, 상기 동작 벡터들을 사용하는 단계로서, 처리 순서는 동작 벡터들이 가리키는 상기 기준 이미지의 부분들에 의존하는, 상기 동작 벡터들을 사용하는 단계를
    포함하는, 현재 이미지를 재구성하기 위한 방법.
  8. 제 1항의 방법에 의해 생성된 이미지 데이터 스트림으로부터 현재 이미지를 재구성하기 위한 디바이스로서,
    현재 이미지는 이전에 부호화된 기준 이미지를 사용하여 부호화되었으며,
    상기 디바이스는:
    - 이미지 데이터 스트림으로부터 소스 매크로 블록들에 관련된 동작 벡터들 및 잔존값을 복호화하기 위한 수단;
    - 기준 이미지의 기준 매크로 블록들을 검색하고, 잔존값 및 기준 매크로 블록들을 사용하여 상기 현재 이미지의 소스 매크로 블록들을 재구성하기 위해, 상기 동작 벡터들을 사용하기 위한 수단으로서, 처리 순서는 동작 벡터들이 가리키는 상기 기준 이미지의 부분들에 의존하는, 상기 동작 벡터들을 사용하기 위한 수단을
    포함하는, 현재 이미지를 재구성하기 위한 디바이스.
  9. 컴퓨터 판독 가능한 저장 매체로서,
    컴퓨터에 의해 실행될 때, 컴퓨터가 제 1항 또는 제 2항에 따른 방법을 수행하게 하는 명령어들(instructions)을 포함하는 컴퓨터 프로그램이 저장된, 컴퓨터 판독 가능한 저장 매체.
  10. 컴퓨터 판독 가능한 저장 매체로서,
    컴퓨터에 의해 실행될 때, 컴퓨터가 제 7항에 따른 방법을 수행하게 하는 명령어들을 포함하는 컴퓨터 프로그램이 저장된, 컴퓨터 판독 가능한 저장 매체.
  11. 삭제
KR1020090022650A 2008-03-18 2009-03-17 이미지 데이터 스트림의 생성을 위한 방법 및 디바이스, 현재의 이미지를 이미지 데이터 스트림으로부터 재구성하기위한 방법 및 디바이스, 이미지 데이터 스트림 및 이미지 데이터 스트림을 지니는 저장 매체 KR101579472B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP08102732A EP2104356A1 (en) 2008-03-18 2008-03-18 Method and device for generating an image data stream, method and device for reconstructing a current image from an image data stream, image data stream and storage medium carrying an image data stream
EP08102732.8 2008-03-18

Publications (2)

Publication Number Publication Date
KR20090100279A KR20090100279A (ko) 2009-09-23
KR101579472B1 true KR101579472B1 (ko) 2015-12-23

Family

ID=39934653

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090022650A KR101579472B1 (ko) 2008-03-18 2009-03-17 이미지 데이터 스트림의 생성을 위한 방법 및 디바이스, 현재의 이미지를 이미지 데이터 스트림으로부터 재구성하기위한 방법 및 디바이스, 이미지 데이터 스트림 및 이미지 데이터 스트림을 지니는 저장 매체

Country Status (5)

Country Link
US (1) US8619862B2 (ko)
EP (2) EP2104356A1 (ko)
JP (1) JP5266096B2 (ko)
KR (1) KR101579472B1 (ko)
CN (1) CN101540911B (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010082904A1 (en) * 2009-01-15 2010-07-22 Agency For Science, Technology And Research Image encoding methods, image decoding methods, image encoding apparatuses, and image decoding apparatuses
US9877033B2 (en) * 2009-12-21 2018-01-23 Qualcomm Incorporated Temporal and spatial video block reordering in a decoder to improve cache hits
KR101484171B1 (ko) * 2011-01-21 2015-01-23 에스케이 텔레콤주식회사 예측 움직임벡터 색인부호화에 기반한 움직임정보 생성/복원 장치 및 방법, 및 그것을 이용한 영상 부호화/복호화 장치 및 방법
CN102223543B (zh) * 2011-06-13 2013-09-04 四川虹微技术有限公司 参考像素读取存储系统
FI4164224T3 (fi) 2011-06-28 2024-05-07 Lg Electronics Inc Videodekoodauslaitteisto ja videokoodauslaitteisto
US8897355B2 (en) * 2011-11-30 2014-11-25 Avago Technologies General Ip (Singapore) Pte. Ltd. Cache prefetch during motion estimation
CN104144520A (zh) 2013-05-07 2014-11-12 李东舸 一种设备间建立连接的方法、装置与系统
CN104142939B (zh) * 2013-05-07 2019-07-02 杭州智棱科技有限公司 一种基于运动特征信息匹配特征码的方法与设备
GB2539241B (en) 2015-06-11 2019-10-23 Advanced Risc Mach Ltd Video processing system
CN106650778B (zh) * 2016-10-14 2019-08-06 北京邮电大学 一种词袋模型优化和图像识别的方法及装置
WO2022110131A1 (zh) * 2020-11-30 2022-06-02 深圳市大疆创新科技有限公司 帧间预测方法、装置、编码器、解码器和存储介质
DE102021101749A1 (de) 2021-01-27 2022-07-28 Carl Zeiss Industrielle Messtechnik Gmbh Schnittstellenanordnung zur kopplung von systemkomponenten einer messvorrichtung

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004165803A (ja) 2002-11-11 2004-06-10 Matsushita Electric Ind Co Ltd 動き検出方法、装置、プログラムおよび記録媒体
KR100786426B1 (ko) 2006-03-17 2007-12-17 주식회사 팬택앤큐리텔 다 해상도 탐색 방법을 이용한 움직임 벡터 추출 방법 및장치
JP2008053875A (ja) 2006-08-23 2008-03-06 Sony Corp 画像処理装置および方法、プログラム、並びにプログラム格納媒体

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999016252A1 (en) * 1997-09-19 1999-04-01 Sony Electronics Inc. Motion compensated digital video decoding with buffered picture storage memory map
AU9482698A (en) 1997-09-29 1999-04-23 Medsim Advanced Radiology Medical Simulation Ltd. Interventional radiology guidance system
US6163576A (en) * 1998-04-13 2000-12-19 Lsi Logic Corporation Video encoder having reduced memory bandwidth requirements
US6195389B1 (en) * 1998-04-16 2001-02-27 Scientific-Atlanta, Inc. Motion estimation system and methods
EP1061747A1 (en) * 1999-05-25 2000-12-20 Deutsche Thomson-Brandt Gmbh Method and apparatus for block motion estimation
EP1056293A1 (en) * 1999-05-25 2000-11-29 Deutsche Thomson-Brandt Gmbh Method and apparatus for block motion estimation
EP1152621A1 (en) * 2000-05-05 2001-11-07 STMicroelectronics S.r.l. Motion estimation process and system.
DE60204447T2 (de) * 2001-02-13 2006-04-27 Koninklijke Philips Electronics N.V. Verfahren zur codierung und decodierung von bewegungsschätzungen
US6687301B2 (en) * 2001-03-19 2004-02-03 Fulvio Moschetti Method for block matching motion estimation in digital video sequences
US7242717B2 (en) * 2001-06-08 2007-07-10 Sharp Laboratories Of America, Inc. Wavelet domain motion compensation system
US20050207663A1 (en) * 2001-07-31 2005-09-22 Weimin Zeng Searching method and system for best matching motion vector
US7453940B2 (en) * 2003-07-15 2008-11-18 Lsi Corporation High quality, low memory bandwidth motion estimation processor
DE102004017145B4 (de) * 2004-04-07 2006-02-16 Micronas Gmbh Verfahren und Vorrichtung zur Ermittlung von Bewegungvektoren, die Bildbereichen eines Bildes zugeordnet sind
TWI243600B (en) * 2004-09-17 2005-11-11 Primax Electronics Ltd Selected area comparison method with high-operational efficient
KR100694058B1 (ko) * 2004-09-30 2007-03-12 삼성전자주식회사 멀티 타임 스캔 방식에 기초한 인트라 모드 인코딩 및디코딩 방법 및 장치
CN101147396B (zh) * 2005-03-21 2011-12-14 皇家飞利浦电子股份有限公司 使用循环缓存存储器以曲折扫描顺序处理数据阵列的方法和设备
KR100763182B1 (ko) * 2005-05-02 2007-10-05 삼성전자주식회사 다계층 기반의 가중 예측을 이용한 비디오 코딩 방법 및장치
US8009923B2 (en) * 2006-03-14 2011-08-30 Celestial Semiconductor, Inc. Method and system for motion estimation with multiple vector candidates
US9307122B2 (en) * 2006-09-27 2016-04-05 Core Wireless Licensing S.A.R.L. Method, apparatus, and computer program product for providing motion estimation for video encoding
US20080137741A1 (en) * 2006-12-05 2008-06-12 Hari Kalva Video transcoding
JP5082548B2 (ja) * 2007-03-30 2012-11-28 富士通株式会社 画像処理方法、符号化器および復号化器

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004165803A (ja) 2002-11-11 2004-06-10 Matsushita Electric Ind Co Ltd 動き検出方法、装置、プログラムおよび記録媒体
KR100786426B1 (ko) 2006-03-17 2007-12-17 주식회사 팬택앤큐리텔 다 해상도 탐색 방법을 이용한 움직임 벡터 추출 방법 및장치
JP2008053875A (ja) 2006-08-23 2008-03-06 Sony Corp 画像処理装置および方法、プログラム、並びにプログラム格納媒体

Also Published As

Publication number Publication date
CN101540911A (zh) 2009-09-23
EP2104356A1 (en) 2009-09-23
US20090238282A1 (en) 2009-09-24
JP5266096B2 (ja) 2013-08-21
US8619862B2 (en) 2013-12-31
CN101540911B (zh) 2014-09-17
EP2104357A2 (en) 2009-09-23
KR20090100279A (ko) 2009-09-23
JP2009225442A (ja) 2009-10-01
EP2104357A3 (en) 2009-11-11

Similar Documents

Publication Publication Date Title
KR101579472B1 (ko) 이미지 데이터 스트림의 생성을 위한 방법 및 디바이스, 현재의 이미지를 이미지 데이터 스트림으로부터 재구성하기위한 방법 및 디바이스, 이미지 데이터 스트림 및 이미지 데이터 스트림을 지니는 저장 매체
RU2708440C1 (ru) Устройство и способ кодирования изображения, устройство и способ декодирования изображения и носители данных
CN112715027B (zh) 神经网络驱动型编解码器
JP4338654B2 (ja) 動きベクトル検出装置及び方法、及びその動きベクトル検出装置を利用可能な画像符号化装置
US9167260B2 (en) Apparatus and method for video processing
JP2012514429A (ja) 差分モーションベクトルの進歩的な空間フィルタリングを伴う多重候補モーション推定
US20100020877A1 (en) Multiple reference frame motion estimation in video coding
US20140301446A1 (en) Motion vector coding apparatus, method and program for coding motion vector, motion vector decoding apparatus, and method and program for decoding motion vector
CN106851298B (zh) 一种高效视频编码方法及装置
US10999586B2 (en) Image encoding method and equipment for implementing the method
US11057637B1 (en) Efficient video motion estimation by reusing a reference search region
CN110971896B (zh) 一种h.265编码方法和装置
CN108337508B (zh) 帧内预测装置和方法
TWI442775B (zh) 執行移動評估之低功率高效能視頻編碼方法
JP2000069469A (ja) 動画像符号化方法とシステム及び動画像復号方法とシステム
JP2006025431A (ja) ブロックセットの符号化のために動きベクトルを選択する方法及び装置
JP5906993B2 (ja) 符号化装置、符号化方法、及びプログラム
CN101061722A (zh) 采用自适应搜索策略的快速多帧运动估计
JP2012129791A (ja) 画像符号化装置
JP4383367B2 (ja) 動きベクトル検出装置
CN103327340A (zh) 一种整数搜索方法及装置
US20240056601A1 (en) Hierarchical motion search processing
WO2022021310A1 (zh) 编码方法、装置、计算处理设备、计算机程序及存储介质
CN113676737A (zh) 一种基于gpu的高效视频编码器及编码方法
CN117440157A (zh) 视频编码方法、装置、设备及存储介质

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