KR20160087901A - 이미지 처리 방법 및 장치 - Google Patents

이미지 처리 방법 및 장치 Download PDF

Info

Publication number
KR20160087901A
KR20160087901A KR1020167016912A KR20167016912A KR20160087901A KR 20160087901 A KR20160087901 A KR 20160087901A KR 1020167016912 A KR1020167016912 A KR 1020167016912A KR 20167016912 A KR20167016912 A KR 20167016912A KR 20160087901 A KR20160087901 A KR 20160087901A
Authority
KR
South Korea
Prior art keywords
motion information
reference image
image block
candidate
position range
Prior art date
Application number
KR1020167016912A
Other languages
English (en)
Other versions
KR101779872B1 (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 KR20160087901A publication Critical patent/KR20160087901A/ko
Application granted granted Critical
Publication of KR101779872B1 publication Critical patent/KR101779872B1/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/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
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
    • 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/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Abstract

이미지 처리 방법 및 장치가 제공되며, 이것은 메모리 대역폭에 대한 요구를 감소시킬 수 있다. 본 방법은, 현재의 이미지 블록에 인접한 N개의 인접 이미지 블록으로부터 N개의 모션 정보를 획득하는 단계 - 상기 N개의 인접 이미지 블록은 상기 N개의 모션 정보와 일대일 대응하고, 상기 N개의 모션 정보는 상기 현재의 이미지 블록의 참조 이미지 내의 N개의 참조 이미지 블록을 지시하는 데 사용되며, 상기 N개의 모션 정보는 상기 N개의 참조 이미지 블록과 일대일 대응함 -; 미리 설정된 규칙에 따라서 상기 N개의 모션 정보로부터 후보 모션 정보를 결정하는 단계; 상기 참조 이미지에서, 저장할 픽셀의 위치 범위를 결정하고, 상기 위치 범위 내의 모든 픽셀을 저장하는 단계 - 상기 위치 범위는 후보 참조 이미지 블록의 모든 픽셀을 커버하고, 상기 후보 참조 이미지 블록은 상기 N개의 참조 이미지 블록 중 적어도 하나의 이미지 블록이며, 상기 후보 참조 이미지 블록은 상기 후보 모션 정보에 대응하는 모션 정보임 -; 및 상기 위치 범위 내의 픽셀을 판독하고, 상기 위치 범위 내의 픽셀에 따라서 상기 현재의 이미지 블록에 대한 인코딩 처리를 수행하는 단계를 포함한다.

Description

이미지 처리 방법 및 장치 {METHOD AND DEVICE FOR IMAGE PROCESSING}
본 출원은 2013년 12월 13일에 중국 특허청에 출원된 중국 특허 출원 제201310689002.1호 ('이미지 처리 방법 및 장치')의 우선권을 주장하며 이것은 그 전체가 참조로서 본 명세서 포함된다.
본 발명은 비디오 처리 분야에 관한 것으로, 보다 구체적으로는 이미지 처리 방법 및 장치에 관한 것이다.
인터넷의 급속한 발전, 나날이 부유해지는 인간의 물질 및 정신 문화와 함께, 인터넷 상에서의 비디오에 대한 응용 요구, 특히 고선명(high-definition) 비디오에 대한 응용 요구가 증가하고 있다. 그러나, 고선명 비디오의 데이터 양이 매우 크고, 한정된 대역폭을 갖는 인터넷 상에서 고선명 비디오를 전송하기 위해, 고선명 비디오 압축 인코딩 및 디코딩 문제가 우선적으로 해결되어야 할 문제이다.
현재, 인접한 이미지 블록으로부터 복수 개의 모션 정보가 획득되고, 획득된 복수 개의 모션 정보로부터 최적의 모션 정보가 선택되며, 최적의 모션 정보를 사용하여 현재의 코딩 블록에 대한 모션 보상이 수행된다. 전술한 인접한 이미지 블록은 시간적으로 인접한 이미지 블록이거나 또는 공간적으로 인접한 이미지 블록일 수 있다. 공간적으로 인접한 이미지 블록은 현재 처리된 이미지 블록과 동일한 이미지(예를 들어, 동일한 비디오 프레임)에서 인코딩되거나 또는 디코딩되고, 시간 이미지 블록은 현재 처리된 이미지 블록의 시간-도메인 참조 이미지(time-domain reference image)(예를 들어, 전방 참조 프레임(forward reference frame) 또는 후방 참조 프레임(backward reference frame)에서 인코딩되거나 디코딩된 대응되는 이미지 블록이다. 따라서, 인접한 이미지 블록의 모션 정보는 현재의 코딩 블록의 모션 정보를 데이터 스트림으로 확실하게 기록하지 않고도 현재 처리된 이미지 블록의 모션 정보를 결정하는 데 효과적으로 사용될 수 있다.
그러나, 획득된 복수 개의 모션 정보로부터 최적의 모션 정보를 선택하는 전술한 과정에서, 참조 이미지(또한 참조 이미지 블록이라고도 함)에 있으면서 모션 정보(또는 각 모션 정보가 가리키는 픽셀 블록)에 대응되는 픽셀 블록에 기초하여 계산을 수행할 필요가 있다. 따라서, 참조 이미지로부터, 각 모션 정보가 가리키는 참조 이미지 블록을 판독하고, 전술한 최적의 모션 정보를 계산하는 데 사용하기 위해 참조 이미지 블록을 메모리 내에 저장할 필요가 있다.
특히, 상당히 많은 수의 후보 모션 벡터가 있는 경우, 상당히 많은 수의 참조 이미지 블록의 저장이 요구된다. 결과적으로, 메모리 대역폭에 대한 요구가 더 많이 부과되고, 시스템 비용이 증가된다.
따라서, 메모리 대역폭에 대한 요구를 감소시킬 수 있는 기술의 제공이 요구된다.
본 발명의 실시예는 이미지 처리 방법 및 장치를 제공하며, 이것은 메모리 대역폭에 대한 요구를 감소시킬 수 있다.
제1 측면에 따라서, 이미지 처리 방법이 제공되며, 본 방법은: 현재의 이미지 블록에 인접한 N개의 인접 이미지 블록으로부터 N개의 모션 정보(motion information)를 획득하는 단계 - 상기 N개의 인접 이미지 블록은 상기 N개의 모션 정보와 일대일 대응하고, 상기 N개의 모션 정보는 상기 현재의 이미지 블록의 참조 이미지(reference image) 내의 N개의 참조 이미지 블록을 지시하는 데 사용되며, 상기 N개의 모션 정보는 상기 N개의 참조 이미지 블록과 일대일 대응함 -; 미리 설정된 규칙에 따라서 상기 N개의 모션 정보로부터 후보 모션 정보를 결정하는 단계 - 상기 후보 모션 정보는 상기 N개의 모션 정보 중 적어도 하나의 정보임 -; 상기 참조 이미지에서, 상기 후보 모션 정보에 따라서, 저장할 픽셀(pixel)의 위치 범위(location range)를 결정하고, 상기 위치 범위 내의 모든 픽셀을 저장하는 단계 - 상기 위치 범위는 후보 참조 이미지 블록의 모든 픽셀을 커버(cover)하고, 상기 후보 참조 이미지 블록은 상기 N개의 참조 이미지 블록 중 적어도 하나의 이미지 블록이며, 상기 후보 참조 이미지 블록은 상기 후보 모션 정보에 대응하는 이미지 블록임 -; 및 목표 데이터 스트림을 생성하기 위해, 상기 위치 범위 내의 픽셀을 판독하고, 상기 위치 범위 내의 픽셀에 따라서 상기 현재의 이미지 블록에 대한 인코딩 처리를 수행하는 단계를 포함한다.
가능한 구현예에서, 상기 후보 참조 이미지 블록은 상기 N개의 참조 이미지 블록 중 적어도 두 개의 이미지 블록이고, 상기 후보 모션 정보는 상기 N개의 모션 정보 중 적어도 두 개의 모션 정보이며, 상기 위치 범위 내의 픽셀을 판독하고, 상기 위치 범위 내의 픽셀에 따라서 상기 현재의 이미지 블록에 대한 인코딩 처리를 수행하는 단계는, 상기 후보 참조 이미지 블록을 획득하기 위해, 상기 후보 모션 정보에 따라서 상기 위치 범위 내의 픽셀을 판독하는 단계; 상기 후보 참조 이미지 블록에 따라서 상기 후보 모션 정보로부터 최적의 모션 정보를 결정하는 단계; 및 상기 최적의 모션 정보에 따라서 상기 현재의 이미지 블록에 대한 인코딩 처리를 수행하는 단계를 포함한다.
제1 측면과 제1 가능한 구현예를 참조하여, 제2 가능한 구현예에서, 상기 후보 참조 이미지 블록은 상기 N개의 참조 이미지 블록 중 일부 이미지 블록이다.
제1 측면, 제1 가능한 구현예, 및 제2 가능한 구현예를 참조하여, 제3 가능한 구현예에서, 상기 미리 설정된 규칙에 따라서 상기 N개의 모션 정보로부터 후보 모션 정보를 결정하는 단계는, 가용한 메모리 대역폭 및/또는 상기 현재의 이미지 블록이 속하는 이미지의 속성 정보에 따라서 상기 모션 정보로부터 상기 후보 모션 정보를 결정하는 단계를 포함하며, 상기 속정 정보는, 상기 현재의 이미지 블록이 속하는 상기 이미지의 해상도, 상기 현재의 이미지 블록이 속하는 상기 이미지의 내용, 상기 현재의 이미지 블록이 속하는 상기 이미지의 소스, 또는 상기 현재의 이미지 블록이 속하는 상기 이미지의 제작 스타일을 포함하는 파라미터들 중 적어도 하나를 지시하는 데 사용된다.
제1 측면, 제1 가능한 구현예, 제2 가능한 구현예, 및 제3 가능한 구현예를 참조하여, 제4 가능한 구현예에서, 상기 목표 데이터 스트림을 생성하기 위해, 상기 위치 범위 내의 픽셀을 판독하고, 상기 위치 범위 내의 픽셀에 따라서 상기 현재의 이미지 블록에 대한 인코딩 처리를 수행하는 단계는, 상기 목표 데이터 스트림을 생성하기 위해, 상기 위치 범위 내의 픽셀을 판독하고, 상기 위치 범위 내의 픽셀에 따라서 상기 현재의 이미지 블록에 대한 인코딩 처리를 수행하는 단계를 포함하고, 상기 목표 데이터 스트림은 상기 후보 모션 정보를 지시하는 데 사용되는 제1 인덱스 정보를 포함한다.
제1 측면, 제1 가능한 구현예, 제2 가능한 구현예, 제3 가능한 구현예, 및 제4 가능한 구현예를 참조하여, 제5 가능한 구현예에서, 상기 목표 데이터 스트림을 생성하기 위해, 상기 위치 범위 내의 픽셀을 판독하고, 상기 위치 범위 내의 픽셀에 따라서 상기 현재의 이미지 블록에 대한 인코딩 처리를 수행하는 단계는, 상기 목표 데이터 스트림을 생성하기 위해, 상기 위치 범위 내의 픽셀을 판독하고, 상기 위치 범위 내의 픽셀에 따라서 상기 현재의 이미지 블록에 대한 인코딩 처리를 수행하는 단계를 포함하고, 상기 목표 데이터 스트림은 상기 참조 이미지에서 상기 위치 범위의 위치와 커버리지 범위(coverage range)를 지시하는 데 사용되는 제2 인덱스 정보를 포함한다.
제1 측면, 제1 가능한 구현예, 제2 가능한 구현예, 제3 가능한 구현예, 제4 가능한 구현예 및 제5 가능한 구현예를 참조하여, 제6 가능한 구현예에서, 상기 후보 참조 이미지 블록은 상기 N개의 참조 이미지 블록의 모든 이미지 블록이다.
제2 측면에 따라서, 이미지 처리 방법이 제공되고, 본 방법은: 현재의 이미지 블록에 인접한 N개의 인접 이미지 블록으로부터 N개의 모션 정보를 획득하는 단계 - 상기 N개의 인접 이미지 블록은 상기 N개의 모션 정보와 일대일 대응하고, 상기 N개의 모션 정보는 상기 현재의 이미지 블록의 참조 이미지 내의 N개의 참조 이미지 블록을 지시하는 데 사용되며, 상기 N개의 모션 정보는 상기 N개의 참조 이미지 블록과 일대일 대응함 -; 상기 참조 이미지에서, 저장할 픽셀의 위치 범위를 결정하고, 상기 위치 범위 내의 모든 픽셀을 저장하는 단계 - 상기 위치 범위는 후보 참조 이미지 블록의 모든 픽셀을 커버하며, 상기 후보 참조 이미지 블록은 상기 N개의 참조 이미지 블록 중 적어도 하나의 이미지 블록임 -; 및 현재의 이미지 블록을 재구성하기 위해, 상기 모션 정보 중 후보 모션 정보에 따라서 상기 위치 범위 내의 픽셀을 판독하고, 상기 위치 범위 내의 픽셀에 따라서 목표 데이터 스트림에 대한 디코딩 처리를 수행하는 단계를 포함하고, 상기 후보 모션 정보는 상기 후보 참조 이미지 블록에 대응하는 모션 정보이다.
가능한 구현예에서, 상기 후보 참조 이미지 블록은 상기 N개의 참조 이미지 블록 중 적어도 두 개의 이미지 블록이고, 상기 후보 모션 정보는 상기 N개의 모션 정보 중 적어도 두 개의 모션 정보이며, 상기 모션 정보 중 후보 모션 정보에 따라서 상기 위치 범위 내의 픽셀을 판독하고, 상기 위치 범위 내의 픽셀에 따라서 목표 데이터 스트림에 대한 디코딩 처리를 수행하는 단계는, 상기 모션 정보로부터 상기 후보 모션 정보를 결정하는 단계; 상기 후보 참조 이미지 블록을 획득하기 위해, 상기 후보 모션 정보에 따라서 상기 위치 범위 내의 픽셀을 판독하는 단계; 상기 후보 참조 이미지 블록에 따라서 상기 후보 모션 정보로부터 최적의 모션 정보를 결정하는 단계; 및 상기 최적의 모션 정보에 따라서 상기 목표 데이터 스트림에 대한 디코딩 처리를 수행하는 단계를 포함한다.
제2 측면 및 제1 가능한 구현예를 참조하여, 제2 가능한 구현예에서, 상기 후보 참조 이미지 블록은 상기 N개의 참조 이미지 블록의 모든 이미지 블록이다.
제2 측면, 제1 가능한 구현예, 및 제2 가능한 구현예를 참조하여, 제3 가능한 구현예에서, 상기 후보 참조 이미지 블록은 상기 N개의 참조 이미지 블록 중 일부 이미지 블록이다.
제2 측면, 제1 가능한 구현예, 제2 가능한 구현예, 및 제3 가능한 구현예를 참조하여, 제4 가능한 구현예에서, 상기 참조 이미지에서, 저장할 픽셀의 위치 범위를 결정하는 과정은, 상기 모션 정보로부터 상기 후보 모션 정보를 결정하는 단계; 및 상기 후보 모션 정보에 따라서 상기 참조 이미지에서 상기 위치 범위를 결정하는 단계를 포함한다.
제2 측면, 제1 가능한 구현예, 제2 가능한 구현예, 제3 가능한 구현예 및 제4 가능한 구현예를 참조하여, 제5 가능한 구현예에서, 상기 모션 정보로부터 상기 후보 모션 정보를 결정하는 단계는, 가용한 메모리 대역폭 및/또는 상기 현재의 이미지 블록이 속하는 이미지의 속성 정보에 따라서 상기 모션 정보로부터 상기 후보 모션 정보를 결정하는 단계를 포함하며, 상기 속정 정보는, 상기 현재의 이미지 블록이 속하는 상기 이미지의 해상도, 상기 현재의 이미지 블록이 속하는 상기 이미지의 내용, 상기 현재의 이미지 블록이 속하는 상기 이미지의 소스, 또는 상기 현재의 이미지 블록이 속하는 상기 이미지의 제작 스타일을 포함하는 파라미터들 중 적어도 하나를 지시하는 데 사용된다.
제2 측면, 제1 가능한 구현예, 제2 가능한 구현예, 제3 가능한 구현예, 제4 가능한 구현예, 및 제5 가능한 구현예를 참조하여, 제6 가능한 구현예에서, 상기 모션 정보로부터 상기 후보 모션 정보를 결정하는 단계는, 상기 목표 데이터 스트림으로부터 상기 후보 모션 정보를 지시하는 데 사용되는 제1 인덱스 정보를 획득하는 단계; 및 상기 제1 인덱스 정보에 따라서 상기 모션 정보로부터 상기 후보 모션 정보를 결정하는 단계를 포함한다.
제2 측면, 제1 가능한 구현예, 제2 가능한 구현예, 제3 가능한 구현예, 제4 가능한 구현예, 제5 가능한 구현예, 및 제6 가능한 구현예를 참조하여, 제7 가능한 구현예에서, 상기 참조 이미지에서, 저장할 픽셀의 위치 범위를 결정하는 단계는, 상기 목표 데이터 스트림으로부터, 상기 참조 이미지에서 상기 위치 범위의 위치와 커버리지 범위를 지시하는 데 사용되는 제2 인덱스 정보를 획득하는 단계; 및 상기 제2 인덱스 정보에 따라서 상기 참조 이미지에서 상기 위치 범위를 결정하는 단계를 포함한다.
제3 측면에 따라서, 이미지 처리 장치가 제공되고, 본 장치는: 현재의 이미지 블록에 인접한 N개의 인접 이미지 블록으로부터 N개의 모션 정보를 획득하도록 구성된 획득 유닛 - 상기 N개의 인접 이미지 블록은 상기 N개의 모션 정보와 일대일 대응하고, 상기 N개의 모션 정보는 상기 현재의 이미지 블록의 참조 이미지에서 N개의 참조 이미지 블록을 지시하는 데 사용되며, 상기 N개의 모션 정보는 상기 N개의 참조 이미지 블록과 일대일 대응함 -; 미리 설정된 규칙에 따라서 상기 N개의 모션 정보로부터 후보 모션 정보를 결정하고, 상기 참조 이미지에서, 상기 후보 모션 정보에 따라서, 저장할 픽셀의 위치 범위를 결정하도록 구성된 결정 유닛 - 상기 후보 모션 정보는 상기 N개의 모션 정보 중 적어도 하나의 정보이고, 상기 위치 범위는 후보 참조 이미지 블록의 모든 픽셀을 커버하고, 상기 후보 참조 이미지 블록은 상기 N개의 참조 이미지 블록 중 적어도 하나의 이미지 블록이며, 상기 후보 모션 정보는 상기 후보 참조 이미지 블록에 대응하는 모션 정보임 -; 상기 위치 범위 내의 모든 픽셀을 저장하도록 구성된 저장 유닛; 및 목표 데이터 스트림을 생성하기 위해, 상기 저장 유닛으로부터 상기 위치 범위 내의 픽셀을 판독하고, 상기 위치 범위 내의 픽셀에 따라서 상기 현재의 이미지 블록에 대한 인코딩 처리를 수행하도록 구성된 처리 유닛을 포함한다.
가능한 구현예에서, 상기 후보 참조 이미지 블록은 상기 N개의 참조 이미지 블록 중 적어도 두 개의 이미지 블록이고, 상기 후보 모션 정보는 상기 N개의 모션 정보 중 적어도 두 개의 모션 정보이며, 상기 처리 유닛은 구체적으로, 상기 후보 참조 이미지 블록을 획득하기 위해, 상기 후모 모션 정보에 따라서 상기 저장 유닛으로부터 상기 위치 범위 내의 픽셀을 판독하고, 상기 후보 참조 이미지 블록에 따라서 상기 후보 모션 정보로부터 최적의 모션 정보를 결정하며, 상기 최적의 모션 정보에 따라서 상기 현재의 이미지 블록에 대한 인코딩 처리를 수행하도록 구성된다.
제3 측면 및 제1 가능한 구현예를 참조하여, 제2 가능한 구현예에서, 상기 후보 참조 이미지 블록은 상기 N개의 참조 이미지 블록 중 일부 이미지 블록이다.
제3 측면, 제1 가능한 구현예, 및 제2 가능한 구현예를 참조하여, 제3 가능한 구현예에서, 상기 결정 유닛은 구체적으로 가용한 메모리 대역폭 및/또는 상기 현재의 이미지 블록이 속하는 이미지의 속성 정보에 따라서 상기 모션 정보로부터 상기 후보 모션 정보를 결정하고, 상기 후보 모션 정보에 따라서 상기 참조 이미지에서 상기 위치 범위를 결정하도록 구성되며, 상기 속정 정보는, 상기 현재의 이미지 블록이 속하는 상기 이미지의 해상도, 상기 현재의 이미지 블록이 속하는 상기 이미지의 내용, 상기 현재의 이미지 블록이 속하는 상기 이미지의 소스, 또는 상기 현재의 이미지 블록이 속하는 상기 이미지의 제작 스타일을 포함하는 파라미터들 중 적어도 하나를 지시하는 데 사용된다.
제3 측면, 제1 가능한 구현예, 제2 가능한 구현예, 및 제3 가능한 구현예를 참조하여, 제4 가능한 구현예에서, 상기 처리 유닛은 구체적으로, 상기 목표 데이터 스트림을 생성하기 위해, 상기 저장 유닛으로부터 상기 위치 범위 내의 픽셀을 판독하고, 상기 위치 범위 내의 픽셀에 따라서 상기 현재의 이미지 블록에 대한 인코딩 처리를 수행하도록 구성되며, 상기 목표 데이터 스트림은 상기 후보 모션 정보를 지시하는 데 사용되는 제1 인덱스 정보를 포함한다.
제3 측면, 제1 가능한 구현예, 제2 가능한 구현예, 제3 가능한 구현예, 및 제4 가능한 구현예를 참조하여, 제5 가능한 구현예에서, 상기 처리 유닛은 구체적으로, 상기 목표 데이터 스트림을 생성하기 위해, 상기 저장 유닛으로부터 상기 위치 범위 내의 픽셀을 판독하고, 상기 위치 범위 내의 픽셀에 따라서 상기 현재의 이미지 블록에 대한 인코딩 처리를 수행하도록 구성되며, 상기 목표 데이터 스트림은 상기 참조 이미지에서 상기 위치 범위의 위치와 커버리지 범위를 지시하는 데 사용되는 제2 인덱스 정보를 포함한다.
제3 측면, 제1 가능한 구현예, 제2 가능한 구현예, 제3 가능한 구현예, 제4 가능한 구현예, 및 제5 가능한 구현예를 참조하여, 제6 가능한 구현예에서, 상기 후보 참조 이미지 블록은 상기 N개의 참조 이미지 블록의 모든 이미지 블록이다.
제4 측면에 따라서, 이미지 처리 장치가 제공되고, 본 장치는: 현재의 이미지 블록에 인접한 N개의 인접 이미지 블록으로부터 N개의 모션 정보를 획득하도록 구성된 획득 유닛 - 상기 N개의 인접 이미지 블록은 상기 N개의 모션 정보와 일대일 대응하고, 상기 N개의 모션 정보는 상기 현재의 이미지 블록의 참조 이미지 내의 N개의 참조 이미지 블록을 지시하는 데 사용되며, 상기 N개의 모션 정보는 상기 N개의 참조 이미지 블록과 일대일 대응함 -; 상기 참조 이미지에서, 저장할 픽셀의 위치 범위를 결정하도록 구성된 결정 유닛 - 상기 위치 범위는 후보 참조 이미지 블록의 모든 픽셀을 커버하고, 상기 후보 참조 이미지 블록은 상기 N개의 참조 이미지 블록 중 적어도 하나의 이미지 블록임 -; 상기 위치 범위 내의 모든 픽셀을 저장하도록 구성된 저장 유닛; 및 현재의 이미지 블록을 재구성하기 위해, 상기 모션 정보 중 후보 모션 정보에 따라서 상기 저장 유닛으로부터 상기 위치 범위 내의 픽셀을 판독하고, 상기 위치 범위 내의 픽셀에 따라서 목표 데이터 스트림에 대한 디코딩 처리를 수행하도록 구성된 처리 유닛을 포함하고, 상기 후보 모션 정보는 상기 후보 참조 이미지 블록에 대응하는 모션 정보이다.
가능한 구현예에서, 상기 후보 참조 이미지 블록은 상기 N개의 참조 이미지 블록 중 적어도 두 개의 이미지 블록이고, 상기 후보 모션 정보는 상기 N개의 모션 정보 중 적어도 두 개의 모션 정보이며, 상기 결정 유닛은 상기 모션 정보로부터 상기 후보 모션 정보를 결정하도록 추가로 구성되고, 상기 처리 유닛은 구체적으로, 상기 후보 참조 이미지 블록을 획득하기 위해, 상기 결정 유닛으로부터 상기 후보 모션 정보를 획득하고, 상기 후보 모션 정보에 따라서 상기 위치 범위 내의 픽셀을 판독하며, 상기 후보 참조 이미지 블록에 따라서 상기 후보 모션 정보로부터 최적의 모션 정보를 결정하고, 상기 최적의 모션 정보에 따라서 상기 목표 데이터 스트림에 대한 디코딩 처리를 수행하도록 구성된다.
제4 측면 및 제1 가능한 구현예를 참조하여, 제2 가능한 구현예에서, 상기 후보 참조 이미지 블록은 상기 N개의 참조 이미지 블록의 모든 이미지 블록이다.
제4 측면, 제1 가능한 구현예, 및 제2 가능한 구현예를 참조하여, 제3 가능한 구현예에서, 상기 후보 참조 이미지 블록은 상기 N개의 참조 이미지 블록 중 일부 이미지 블록이다.
제4 측면, 제1 가능한 구현예, 제2 가능한 구현예, 및 제3 가능한 구현예를 참조하여, 제4 가능한 구현예에서, 상기 결정 유닛은 구체적으로 상기 모션 정보로부터 상기 후보 모션 정보를 결정하고, 상기 후보 모션 정보에 따라서 상기 참조 이미지에서 상기 위치 범위를 결정하도록 구성된다.
제4 측면, 제1 가능한 구현예, 제2 가능한 구현예, 제3 가능한 구현예, 및 제4 가능한 구현예를 참조하여, 제5 가능한 구현예에서, 상기 결정 유닛은 구체적으로 가용한 메모리 대역폭 및/또는 상기 현재의 이미지 블록이 속하는 이미지의 속성 정보에 따라서 상기 모션 정보로부터 상기 후보 모션 정보를 결정하도록 구성되며, 상기 속정 정보는, 상기 현재의 이미지 블록이 속하는 상기 이미지의 해상도, 상기 현재의 이미지 블록이 속하는 상기 이미지의 내용, 상기 현재의 이미지 블록이 속하는 상기 이미지의 소스, 또는 상기 현재의 이미지 블록이 속하는 상기 이미지의 제작 스타일을 포함하는 파라미터들 중 적어도 하나를 지시하는 데 사용된다.
제4 측면, 제1 가능한 구현예, 제2 가능한 구현예, 제3 가능한 구현예, 제4 가능한 구현예, 및 제5 가능한 구현예를 참조하여, 제6 가능한 구현예에서, 상기 결정 유닛은 구체적으로 상기 목표 데이터 스트림으로부터 제1 인덱스 정보를 획득하고, 상기 제1 인덱스 정보에 따라서 상기 모션 정보로부터 상기 후보 모션 정보를 결정하도록 구성되며, 상기 제1 인덱스 정보는 상기 후보 모션 정보를 지시하는 데 사용된다.
제4 측면, 제1 가능한 구현예, 제2 가능한 구현예, 제3 가능한 구현예, 제4 가능한 구현예, 제5 가능한 구현예, 및 제6 가능한 구현예를 참조하여, 제7 가능한 구현예에서, 상기 결정 유닛은 구체적으로 상기 목표 데이터 스트림으로부터 제2 인덱스 정보를 획득하고, 상기 제2 인덱스 정보에 따라서 상기 참조 이미지에서 상기 위치 범위를 결정하도록 구성되며, 상기 제2 인덱스 정보는 상기 참조 이미지에서 상기 위치 범위의 위치와 커버리지 범위를 지시하는 데 사용된다.
본 발명의 실시예에 따른 이미지 처리 방법 및 장치에 따르면, 위치 범위가 참조 이미지에서 결정되어, 위치 범위가 적어도 하나의 모션 정보에 대응하는 픽셀을 커버할 수 있으며, 전술한 위치 범위 내의 픽셀이 메모리에서 한 번에 판독되는 경우, 최적의 모션 정보가 각 모션 정보에 대응되는 픽셀을 각각 판독하는 대신에 적어도 하나의 모션 정보로부터 결정될 수 있다. 따라서, 메모리 대역폭에 대한 요구가 감소될 수 있으며, 시스템 요구 및 비용이 감소될 수 있다.
본 발명의 실시예에서의 기술적 해결수단을 더욱 명확히 기술하기 위해, 이하에서 본 발명의 실시예를 설명할 때 필요한 첨부 도면을 간략하게 소개한다. 분명한 것은, 이어질 설명에서 첨부된 도면은 단지 본 발명의 몇 가지 실시예를 나타내며, 통상의 기술자라면 첨부된 도면으로부터 창작 능력 없이도 다른 도면을 도출해 낼 수 있다는 것이다.
도 1은 본 발명의 실시예에 따른 이미지 처리 방법의 개략적인 흐름도이다.
도 2a는 현재의 이미지 블록에 공간적으로 인접한 인접 이미지 블록의 개략적인 구성도이다.
도 2b는 현재의 이미지 블록에 시간적으로 인접한 인접 이미지 블록의 개략적인 구성도이다.
도 3a는 본 발명의 실시예의 이미지 처리 방법에 따라 결정되는 위치 범위의 예의 개략적인 구성도이다.
도 3b는 본 발명의 실시예의 이미지 처리 방법에 따라 결정되는 위치 범위의 다른 예의 개략적인 구성도이다.
도 4는 본 발명의 다른 실시예에 따른 이미지 처리 방법의 개략적인 흐름도이다.
도 5는 본 발명의 실시예에 따른 이미지 처리 장치의 개략적인 구성도이다.
도 6은 본 발명의 다른 실시예에 따른 이미지 처리 장치의 개략적인 구성도이다.
도 7은 본 발명의 실시예에 따른 이미지 처리 인코더의 개략적인 구성도이다.
도 8은 본 발명의 다른 실시예에 따른 이미지 처리 디코더의 개략적인 구성도이다.
이하 본 발명의 실시예에서의 첨부 도면을 참조하여 본 발명의 실시예에서의 기술적 해결수단을 명확하고 완전하게 설명한다. 분명한 것은, 설명되는 실시예는 본 발명의 실시예의 일부에 지나지 않으며 모든 것이 아니다. 창작 능력 없이 본 발명의 실시예에 기초하여 통상의 기술자에 의해 획득되는 모든 다른 실시예는 본 발명의 보호 범위에 속할 것이다.
본 발명의 실시예에 따른 이미지 처리 방법 및 장치는 복수 개의 모션 정보로부터 최적의 모션 정보를 결정하고 최적의 모션 정보에 따라서 현재의 이미지 블록에 대한 모션 보상을 수행함으로써 현재의 이미지 블록에 대한 인코딩 및 디코딩을 구현하는 다양한 기술, 예를 들어, 인접한 이미지 블록의 모션 정보를 사용하여 현재 처리되는 이미지 블록의 모션 정보를 결정하는, DMVD(Decoder-side motion vector derivation) 기술, MERGE 기술, 및 AMVP(Advanced Motion Vector Prediction) 기술에 적용될 수 있다. 쉽게 이해할 수 있도록, 이하 본 발명의 실시예에 따른 이미지 처리 방법 및 장치가 DMVD 기술에 적용되는 예를 사용하여 설명한다.
또한, 본 발명의 실시예에서, 이미지는 비디오 내의 비디오 프레임일 수 있다. 이 경우, 이미지 블록은 비디오 프레임 내의 프레임 블록일 수 있다.
도 1은 본 발명의 실시예에 따라서, 인코더측의 관점에서 도시된, 이미지 처리 방법의 개략적인 흐름도(100)이다. 도 1에 도시된 바와 같이, 본 방법(100)은 다음의 단계를 포함한다.
단계 S110: 현재 이미지 블록에 인접한 N개의 인접 이미지 블록으로부터 N개의 모션 정보를 획득하며, 여기서 N개의 인접 이미지 블록은 N개의 모션 정보에 일대일 대응하고, N개의 모션 정보는 현재의 이미지 블록의 참조 이미지에서 N개의 참조 이미지 블록을 지시하는 데 사용되며, N개의 모션 정보는 N개의 참조 이미지 블록과 일대일 대응된다.
단계 S120: 미리 설정된 규칙에 따라서 N개의 모션 정보로부터 후보 모션 정보를 결정하며, 이 때 후보 모션 정보는 N개의 모션 정보 중 적어도 하나의 정보이다.
단계 S130: 참조 이미지에서, 후보 모션 정보에 따라서 저장할 픽셀의 위치 범위(location range)를 결정하고, 후보 참조 이미지 블록의 모든 픽셀을 커버할 수 있는 그 위치 범위에 모든 픽셀을 저장한다. 여기서 후보 참조 이미지 블록은 N개의 참조 이미지 블록 중 적어도 하나의 이미지 블록이고, 후보 참조 이미지 블록은 후보 모션 정보에 대응되는 이미지 블록이다.
단계 S140: 위치 범위 내의 픽셀을 판독하고, 위치 범위 내의 픽셀에 따라서 현재의 이미지 블록에 대한 인코딩 처리를 수행하여 목표 데이터 스트림을 생성한다.
구체적으로, 인코더측은 양의 정수인 N개의 모션 정보를 획득할 수 있다.
본 발명의 본 실시예에서, 모션 정보는, 단방향 예측과 양방향 예측을 포함할 수 있는 예측 방향(prediction direction), 참조 이미지 인덱스, 또는 모션 벡터를 포함할 수 있으며, 여기서 단방향 예측은 전방 예측과 후방 예측을 포함할 수 있다.
전방 예측은 전방 참조 이미지 목록, 즉, 목록(list) 0 내의 참조 이미지를 사용하여 예측 신호를 생성하는 것을 나타낸다.
후방 예측은 후방 참조 이미지 목록, 즉, 목록 1 내의 참조 이미지를 사용하여 예측 신호를 생성하는 것을 나타낸다. 양방향 예측은 목록 0 내의 참조 이미지와 목록 1 내의 참조 이미지를 동시에 사용하여 예측 신호를 생성하는 것을 나타낸다.
양방향 예측의 경우, 참조 이미지 인덱스는 목록 0 또는 목록 1로부터 선택되는 참조 이미지를 지시하는 데 필요하다. 양방향 예측의 경우, 두 개의 참조 이미지 인덱스는 목록 0에서 선택되는 참조 이미지와 목록 1에서 선택되는 참조 이미지를 각각 지시하는 데 필요하다.
각 모션 벡터는 (x, y)에 의해 나타낼 수 있는 수평 방향 콤포넌트 x와 수직 방향 콤포넌트 y를 포함한다. 양방향 예측의 경우, 모션 벡터는 목록 0 또는 목록 1에서 선택되는 참조 이미지에서 예측 신호의 변위를 지시하는 데 필요하다. 양방향 예측의 경우, 두 개의 모션 벡터는 목록 0에서 선택되는 참조 이미지와 목록 1에서 선택되는 참조 이미지에서 전방 예측 신호와 후방 예측 신호의 변위를 각각 지시하는 데 필요하다.
본 발명의 본 실시예에서, 모션 정보는 현재의 이미지 블록에 인접한 이미지 블록(즉, 인코더측의 경우 인코딩될 이미지 블록과 디코딩측의 경우 디코딩되어 재구성될 이미지 블록)에서 획득되는 모션 정보를 나타낸다. 본 발명의 본 실시예에서, 모션 정보는 공간적 모션 정보와 시간적 모션 정보를 포함할 수 있다.
공간적 모션 정보는 현재의 이미지 블록에 공간적으로 인접한 블록에서 획득되는 모션 정보이고, 시간적 모션 정보는 시간적으로 인접한 블록에서 획득되는 모션 정보를 나타낸다.
도 2a는 DMVD 기술에서 공간적 모션 정보의 소스 위치(획득된 위치)를 도시하고 있고, 도 2b는 DMVD 기술에서 시간적 모션 정보의 소스 위치(획득된 위치)를 도시하고 있다.
도 2a에 도시된 바와 같이, DMVD 기술에서, 공간적 모션 정보는,
현재의 이미지 블록의 좌측에 있는 이미지 블록 A(인접한 블록의 예)의 모션 정보 - 이 모션 정보는 이하 MV#A로 표현됨 -;
현재의 이미지 블록의 상부에 있는 이미지 블록 B(인접한 블록의 다른 예)의 모션 정보 - 이 모션 정보는 이하 MV#B로 표현됨 -;
현재의 이미지 블록의 상부 우측에 있는 이미지 블록 C(인접한 블록의 다른 예)의 모션 정보 - 이 모션 정보는 이하 MV#C로 표현됨 -; 및
현재의 이미지 블록의 상부 좌측에 있는 이미지 블록 D(인접한 블록의 다른 예)의 모션 정보 - 이 모션 정보는 이하 MV#D로 표현됨 -을 포함할 수 있다.
예측 방향이 단방향인 경우, 모션 정보는 참조 이미지 내의 참조 블록을 지시할 수 있고, 예측 방향이 양방향인 경우, 모션 정보는 전방 참조 이미지 내의 참조 블록과 후방 참조 이미지 내의 참조 블록을 지시할 수 있다.
도 2b에 도시된 바와 같이, DMVD 기술에서, 시간적 모션 정보는,
예를 들어, 현재의 이미지 블록에 기초하여 MV#T'에 대한 패닝(panning) 처리를 수행하여 획득되는 모션 정보를 포함할 수 있으며, 여기서 모션 정보는 이하 MV#T로 표현되고, MV#T'는 후방 참조 이미지 내에 있으면서 현재의 이미지 블록에 대응되는 위치에 있는 이미지 블록 E(인접한 블록의 다른 예)의 모션 정보이다.
따라서, 인코더측은 전술한 다섯 개의 모션 정보, 즉, N개의 모션 정보의 예를 포함하는 모션 정보 집합(또는 모션 정보 목록)을 획득할 수 있으며, 여기서 모션 정보 집합은 다음과 같이 표현된다:
{MV#A, MV#B, MV#C, MV#D, MV#T}
N개의 모션 정보를 획득하기 위한 상기 방법은 단지 예시적인 설명에 지나지 않으며, 본 발명은 여기에 한정되지 않는다. 본 발명의 본 실시예에서의 이미지 처리 방법이 적용될 수 있는 기술에 따라서 다른 획득 방법이 사용될 수 있으며, 이것은 본 발명에서 구체적으로 한정되지 않는다.
상기한 바와 같이 N개의 모션 정보를 결정한 후, 인코더측은 참조 이미지에서 각 모션 정보에 대응하는 참조 이미지 블록(또는 각 모션 정보가 가리키는 참조 이미지 블록)을 결정할 수 있다. 예측 방향이 양방향인 경우, 인코더측은 두 개의 참조 이미지(전방 참조 이미지와 후방 참조 이미지)에서 각 모션 벡터에 대응하는 참조 이미지 블록을 각각 결정할 필요가 있다. 일반성을 잃지 않고 설명의 편의를 위해, 이하 후방 참조 이미지에 대한 처리를 예로서 사용하여 설명한다.
다음, 인코더측은 N개의 모션 정보에서 모션 정보(설명의 편의를 위해 이하에서 목표 모션 정보로 칭함)를 결정하여, 인코딩 처리와, 구체적으로는 목표 모션 정보에 따라서 현재의 이미지 블록에 대한 모션 보상 처리를 수행할 필요가 있다. 이러한 처리에 대해서는 추후 상세하게 설명한다.
본 발명의 본 실시예에서, 목표 모션 정보는 미리 설정된 규칙(즉, 방식 1)에 따른 계산 방식으로 계산될 수 있거나, 또는 목표 모션 정보는 현재의 이미지 블록의 속성 및/또는 장치 성능(즉, 방식 2)에 따라서 결정될 수 있다. 전술한 두 가지 경우의 처리 각각에 대해 이하에서 설명한다.
방식 1
선택적으로, 후보 참조 이미지 블록은 N개의 참조 이미지 블록의 모든 이미지 블록이다.
본 발명의 본 실시예에서, N개의 모션 정보 모두는 후보 모션 정보로 사용될 수 있다. 따라서, 최적의 모션 정보는 계산 방식에 따라 N개의 모션 정보에서 결정될 수 있으며, 최적의 모션 정보는 전술한 목표 모션 정보로 사용된다. 계산 과정에서, N개의 모션 정보에 대응하는 참조 이미지에서 참조 이미지 블록(구체적으로, 모션 벡터가 가리키는 참조 이미지 블록)을 획득할 필요가 있으며, 참조 이미지 블록(구체적으로, 참조 이미지 블록 내 픽셀의 픽셀값)에 기초하여 계산이 수행된다.
따라서, 본 발명의 본 실시예에서, 인코더측은 참조 이미지에서 픽셀들의 위치 분포(즉, 각 참조 이미지 블록)를 결정할 수 있으며, 여기서 픽셀들은 저장되어 다음의 처리를 위해 사용될 필요가 있다.
상기 결정된 각 모션 정보가 현재 인코딩될 블록의 인접한(시간적 인접 및/또는 공간적 인접) 이미지 블록에서 획득되기 때문에, 모션 정보(구체적으로, 모션 벡터)들 사이에 매우 강한 상호관계(correlation)(또는 유사성(similarity))이 있다. 따라서, 도 3a와 도 3b에 도시된 바와 같이, 외면적 표현은 참조 이미지 블록이 중첩되어 있거나, 또는 복수의 참조 이미지 블록이 동일한 위치에 픽셀을 포함하는 것이다.
종래 기술에서, 인코더측은, 참조 이미지 블록에서, 각 모션 정보가 가리키는 참조 이미지 블록을 각각 획득하고, 각 참조 이미지 블록(구체적으로, 참조 이미지 블록의 픽셀값)을 메모리 공간에 각각 저장하여, 각 참조 이미지 블록에 기초하여 N개의 모션 정보로부터 최적의 모션 정보를 결정할 필요가 있다. 따라서, 장치의 메모리 대역폭이 N개의 참조 이미지 블록의 판독을 충족하여야 하며, 전술한 중첩 영역이 여러 번 저장되는 경우가 발생할 수 있다. 즉, 최적의 모션 정보가 결정되는 중에, 특정 시간에 N번의 판독을 수행하여 N개의 참조 이미지 블록을 판독함으로써 메모리 대역폭에 대한 비교적 높은 요구가 발생하게 된다.
반면에, 본 발명의 본 실시예에서, 영역(즉, 위치 범위)이, 상기에서 결정된 N개의 모션 정보 사이에 매우 강한 상호관계와 유사성이 있다는 특징에 기초하여 참조 이미지로부터 결정될 수 있기 때문에, 영역의 범위가 N개의 참조 이미지 블록에 의해 포함되는 모든 픽셀을 커버할 수 있다. 예를 들면, N개의 참조 이미지 블록 중에서 최소의 퍼블릭(public) 이미지 블록, 즉 도 3a에서 점선으로 나타낸 영역이 위치 범위로서 사용될 수 있다.
최소의 퍼블릭 이미지 블록은 다음과 같은 방식으로 결정될 수 있다. 즉,
현재 인코딩될 이미지에서 현재의 이미지 블록의 좌표가 (cur_x, cur_y)이고, 그 크기가 (blk_x)×(blk_y) 픽셀인 것을 가정하면, 일반성을 잃지 않고, 참조 이미지에서, 모션 벡터의 수평 콤포넌트는 x로 표현되고, 모션 벡터의 수직 콤포넌트는 y로 표현되며; 참조 이미지에서, MV#A는 {MV#A_x, MV#A_y}로 기록될 수 있고, MV#B는 {MV#B_x, MV#B_y}로 기록될 수 있으며, MV#C는 {MV#C_x, MV#C_y}로 기록될 수 있고, MV#D는 {MV#D_x, MV#D_y}로 기록될 수 있으며, MV#T는 {MV#T_x, MV#T_y}로 기록될 수 있다.
따라서, 각 참조 이미지 블록에서,
목표 이미지 블록에 관한 수평 방향에서의 최소 변위 Δx_min는 min(MV#A_x, MV#B_x, MV#C_x, MV#D_x, MV#T_x)와 같고;
목표 이미지 블록에 관한 수평 방향에서의 최대 변위 Δx_max는 max(MV#A_x, MV#B_x, MV#C_x, MV#D_x, MV#T_x)와 같으며;
목표 이미지 블록에 관한 수직 방향에서의 최소 변위 Δy_min는 min(MV#A_y, MV#B_y, MV#C_y, MV#D_y, MV#T_y)와 같고;
목표 이미지 블록에 관한 수직 방향에서의 최대 변위 Δy_max는 max(MV#A_y, MV#B_y, MV#C_y, MV#D_y, MV#T_y)와 같도록 결정될 수 있다.
이러한 정의에 따라, 참조 이미지에서 한 번에 판독되어 시간적으로 저장되는 위치 범위는 직사각형 영역일 수 있으며, 여기서,
직사각형 영역의 상부 좌측 코너의 픽셀 좌표는 (cur_x+Δx_min, cur_y+Δ_min)이고;
직사각형 영역의 하부 우측 코너의 픽셀 좌표는 (cur_x+Δx_max+blk_x, cur_y+Δy_max+blk_y)이다.
따라서, 위치 범위 내의 각 픽셀의 (픽셀값과 같은) 정보는 최적의 모션 정보를 결정하기 위한 추후의 처리에서의 사용을 위해 판독되어 메모리에 저장할 수 있다.
선택적으로, 참조 이미지에서, 모션 정보의 후보 모션 정보에 따라서 저장할 픽셀의 위치 범위를 결정하기 전에, 본 방법은,
N개의 참조 이미지 블록 중 적어도 두 개의 참조 이미지 블록이 서로 중첩되는지를 판단하는 단계를 더 포함한다.
구체적으로, 각 참조 이미지 블록이 상기한 바와 같이 결정된 후, 먼저 참조 이미지들이 서로 중첩되는지가 결정될 수 있으며, 참조 이미지가 중첩되면, 위치 범위를 결정하고 위치 범위 내의 픽셀의 정보를 저장하는 전술한 과정이 실행될 수 있다.
따라서, 메모리 대역폭에 대한 요구가 종래 기술과 비교하여 감소되는 것을 보장할 수 있다.
선택적으로, 참조 이미지에서, 모션 정보 중 후보 모션 정보에 따라서 저장할 픽셀의 위치 범위를 결정하기 전에, 본 방법은,
N개의 참조 이미지 블록 중 적어도 두 개의 참조 이미지 블록이 서로 중첩되고, 중첩된 참조 이미지 블록의 수량이 미리 설정된 임계 수량 이상이거나, 또는 중첩된 범위가 미리 설정된 임계 범위 이상인지를 판단하는 단계를 더 포함한다.
구체적으로, 각 참조 이미지 블록이 상기한 바와 같이 결정된 후, 참조 이미지가 서로 중첩되는지가 먼저 결정될 수 있고, 참조 이미지가 중첩되면, 중첩 영역의 특징(예를 들어, 중첩된 참조 이미지 블록의 수량 및/또는 중첩된 범위의 크기)이 또한 결정될 수 있으며, 전술한 중첩된 영역의 특징이 미리 설정된 조건을 충족하면, 예를 들어, 중첩된 참조 이미지의 수량이 미리 설정된 임계 수량 이상이거나, 및/또는 중첩된 범위가 미리 설정된 임계 범위 이상임), 위치 범위를 결정하고 위치 범위 내의 픽셀의 정보를 저장하는 전술한 과정이 실행될 수 있다. 전술한 임계 수량은 참조 이미지 블록의 수량(또는 모션 정보의 수량)에 따라서 설정될 수 있다. 예를 들면, 참조 이미지 블록의 수량이 5이면, 임계 수량은 5로 설정될 수 있다. 마찬가지로, 전술한 임계 범위는 참조 이미지 블록의 크기에 따라서 설정될 수 있다.
따라서, 메모리 대역폭에 대한 요구가 종래 기술에 비해 감소되는 것이 또한 보장될 수 있다.
다음, 최적의 모션 정보가 저장된 위치 범위(구체적으로, 위치 범위 내의 픽셀)에 따라서 N개의 모션 정보에서 결정될 수 있다.
즉, 선택적으로, 후보 참조 이미지 블록은 N개의 참조 이미지 블록 중 적어도 두 개의 이미지 블록이고, 후보 모션 정보는 N개의 모션 정보 중 적어도 두 개의 모션 정보이며,
위치 범위 내의 픽셀을 판독하고, 위치 범위 내의 픽셀에 따라서 현재의 이미지 블록에 대한 인코딩 처리를 수행하는 과정은,
후보 이미지 블록을 획득하기 위해, 후보 모션 정보에 따라서 위치 범위 내의 픽셀을 판독하는 단계;
후보 이미지 블록에 따라서 후보 모션 정보에서 최적의 모션 정보를 결정하는 단계; 및
최적의 모션 정보에 따라서 현재의 이미지 블록에 대한 인코딩 처리를 수행하는 단계를 포함한다.
구체적으로, 상기 결정된 위치 범위가 모든 참조 이미지 블록을 커버하기 때문에, 각 모션 정보에 대응하는 참조 이미지 블록(구체적으로, 각 참조 이미지 블록의 픽셀 정보)가 위치 범위 내의 픽셀에 대해 저장된 정보에서 획득될 수 있다. 따라서, 최적의 모션 정보는 참조 이미지 블록에 따라서 모션 정보로부터 결정될 수 있다. 예를 들면, 각 모션 정보에 대응하는 픽셀의 정보에 기초하여 평가가 수행되어, 미리 정의된 기준(criterion)(예를 들어, 왜곡 비율(rate-distortion) 기준)을 적용하여 각 모션 정보에 대응하는 평가값을 획득할 수 있으며, 최소 평가값을 갖는 모션 정보가 최적의 모션 정보, 즉 현재의 이미지 블록에 대한 인코딩 처리(예를 들어, 모션 보상 처리)를 수행하기 위한 모션 정보로서 선택된다.
전술한 미리 정의된 기준은 적용되는 인코딩 기술에 따라서 적절하게 변경될 수 있으며, 본 발명에서 구체적으로 한정되지는 않는다. 예를 들면, DMVD 기술에서, 양방향 예측의 경우, 각 모션 정보는, 전방 참조 이미지 내의 참조 이미지 블록(전방 참조 이미지 블록으로 칭함)을 지시하는 데 사용되는 전방 모션 정보와, 후방 참조 이미지 내의 이미지 블록(후방 참조 이미지 블록으로 칭함)을 지시하는 데 사용되는 후방 모션 정보를 포함하고, 전방 참조 이미지 블록과 후방 참조 이미지 블록의 대응되는 위치에서의 픽셀값의 차의 제곱의 합(sum of squared difference)이 측정 기준으로 사용되면, 최소의 차의 제곱의 합을 갖는 모션 정보가 최적의 모션 정보로 사용될 수 있다.
다음, 인코더측은, 현재의 이미지 블록에 대한 인코딩을 구현하고, 목표 데이터 스트림을 생성하며, 목표 데이터 스트림을 디코더측으로 전송하기 위해, 목표 이미지 블록에 대한 모션 보상 인코딩 동작과 같은 처리를 수행하는 데 최적의 모션 정보를 사용할 수 있다. 여기에서, 인코더측에 의해, 최적의 모션 정보에 따라서 현재의 이미지 블록에 대한 인코딩 처리를 수행하는 과정과 방법은 종래 기술에서와 유사할 수 있다. 중복 설명을 피하기 위해, 여기에서 그에 대한 설명은 생략된다.
선택적으로, 목표 데이터 스트림을 생성하기 위해, 위치 범위 내의 픽셀을 판독하고, 위치 범위 내의 픽셀에 따라서 현재의 이미지 블록에 대한 인코딩 처리를 수행하는 과정은,
목표 데이터 스트림을 생성하기 위해, 위치 범위 내의 픽셀을 판독하고, 위치 범위 내의 픽셀에 따라서 현재의 이미지 블록에 대한 인코딩 처리를 수행하는 단계를 포함하며, 여기서 목표 데이터 스트림은 제2 인덱스 정보를 포함하고, 제2 인덱스 정보는 참조 이미지에서 위치 범위의 위치를 지시하는 데 사용된다.
구체적으로, 본 발명의 본 실시예에서, 상기한 바와 같이 위치 범위를 결정한 후, 인코더측은 생성된 데이터 스트림에 참조 이미지에서의 위치 범위의 위치를 지시하기 위한 정보, 즉 제2 인덱스 정보를 더 추가할 수 있으며, 디코더측은 제2 인덱스 정보에 따라서 참조 이미지에서 위치 범위를 직접 결정할 수 있다. 따라서, 디코더측의 부담이 감소될 수 있고, 디코더측의 전력 소모가 감소될 수 있으며, 디코더측의 처리 효율이 향상될 수 있다.
본 발명의 본 실시예에 따른 이미지 처리 방법에 따르면, 결정된 위치 범위가 모든 참조 이미지를 커버함으로써, 최적의 모션 정보의 획득이 보장될 수 있고, 이미지 처리 효과가 향상될 수 있으며, 또한, 사용자 경험이 향상될 수 있다.
방식 2
선택적으로, 후보 참조 이미지 블록은 N개의 참조 이미지 블록 중 일부 이미지 블록이다.
구체적으로, 인코더측에 대한 장치의 하드웨어, 예를 들어, 메모리 대역폭에 의해 제한됨으로써, 현재 가용한 메모리 대역폭이 전술한 방식 1에서 결정되는 최소의 퍼블릭 이미지 블록의 요구(위치 범위의 예)를 충족시킬 수 없는 경우가 발생할 수 있다.
전술한 문제의 관점에서, 본 발명의 본 실시예는 다음과 같은 기술적 해결수단, 즉, 결정된 위치 범위가 일부 참조 이미지 블록(즉, 후보 참조 이미지 블록의 예)만을 커버할 수 있는 기술적 해결수단을 제공한다. 커버되는 참조 이미지 블록의 수량이 M인 것을 가정하면, 다음과 같이 1≤M<N을 충족한다.
따라서, 위치 범위가 적어도 하나의 완전한 참조 이미지 블록을 커버하는 것, 즉, 적어도 하나의 모션 정보가 가용되는 것이 보장될 수 있으며, 모션 정보를 사용하여 현재의 이미지 블록에 대한 인코딩이 수행되는 것이 보장된다는 전제하에서 메모리 대역폭에 대한 요구가 감소될 수 있다.
이 경우, 영역(즉, 위치 범위)이 참조 이미지 내에서 결정될 수 있으므로, 영역의 범위가 M개의 참조 이미지 블록에 의해 포함되는 모든 픽셀, 즉 도 3b에서 점선에 의해 표시된 영역을 커버할 수 있다.
선택적으로, 미리 설정된 규칙에 따라서 N개의 모션 정보에서 후보 모션 정보를 결정하는 과정은,
가용한 메모리 대역폭 및/또는 현재의 이미지 블록이 속하는 이미지의 속성 정보에 따라서 모션 정보에서 후보 모션 정보를 결정하는 단계를 포함하고, 여기서, 속정 정보는 이하의 파라미터 중 적어도 하나를 지시하는 데 사용되며,
상기한 파라미터는, 현재의 이미지 블록이 속하는 이미지의 해상도, 현재의 이미지 블록이 속하는 이미지의 내용, 현재의 이미지 블록이 속하는 이미지의 소스, 또는 현재의 이미지 블록이 속하는 이미지의 제작 스타일이다.
구체적으로, 본 발명의 본 실시예에서, 가용한 메모리 대역폭 및/또는 현재의 이미지 블록이 속하는 이미지의 속성 정보에 따라서 M개의 후보 참조 이미지 블록이 선택될 수 있거나 또는 M개의 후보 참조 이미지 블록에 대응하는 모션 정보가 선택될 수 있다.
이하, 전술한 파라미터를 사용하는 방법에 대해 각각 설명한다.
A. 현재의 이미지 블록이 속하는 이미지의 내용, 현재의 이미지 블록이 속하는 이미지의 소스, 및 현재의 이미지 블록이 속하는 이미지의 제작 스타일:
예를 들면, 이미지가 내용에 따라서 분류되면, 이미지는 신규 이미지, 스포츠 이미지, 필름-텔레비전 이미지 등일 수 있다. 마찬가지로, 이미지는 또한 소스와 제작 스타일에 따라서 분류될 수 있다. 동일한 유형의 이미지의 최적의 모션 정보(또는 최적의 모션 정보가 오는 인접한 이미지 블록)는 항상 동일하다. 따라서, 본 발명의 본 실시예에서, 각 유형의 이미지의 최우선순위(high-priority) 모션 정보에 대한 통계는 현재의 이미지 블록이 속하는 이미지의 내용, 현재의 이미지 블록이 속하는 이미지의 소스, 현재의 이미지 블록이 속하는 이미지의 제작 스타일 등에 따라서 수집될 수 있으며, 여기서 최우선순위 모션 정보는 이러한 유형의 최적의 모션 정보가 되는 가장 큰 가능성을 갖는다.
따라서, 위치 범위가 결정되는 중에, 위치 범위가 전술한 최우선순위 모션 정보에 대응하는 참조 이미지 블록을 커버하는 것이 보장될 수 있다.
선택적으로, 목표 데이터 스트림을 생성하기 위해, 위치 범위에서 픽셀을 판독하고, 위치 범위 내의 픽셀에 따라서 현재의 이미지 블록에 대한 인코딩 처리를 수행하는 과정은,
목표 데이터 스트림을 생성하기 위해, 위치 범위에서 픽셀을 판독하고, 위치 범위 내의 픽셀에 따라서 현재의 이미지 블록에 대한 인코딩 처리를 수행하는 단계를 포함하며, 여기서 목표 데이터 스트림은 제1 인덱스 정보를 포함하고, 제1 인덱스 정보는 후보 모션 정보를 지시하는 데 사용된다.
구체적으로, 상기한 바와 같이 최우선순위 모션 정보(즉, 후보 모션 정보의 예)를 결정한 후, 인코더측은 생성된 데이터 스트림에 후보 모션 정보를 지시하기 위한 정보, 즉 제1 인덱스 정보를 더 추가할 수 있고, 디코더측은 제1 인덱스 정보에 따라서 N개의 모션 정보에서 후보 모션 정보를 직접 결정함으로써, 후보 각 모션 정보에 대응하는 참조 이미지 블록(즉, 후보 참조 이미지 블록)을 결정할 수 있다. 따라서, 위치 범위가 참조 이미지에서 결정될 수 있고, 위치 범위가 후보 참조 이미지 블록을 커버할 수 있다. 따라서, 디코더측의 부담이 감소될 수 있고, 디코더측의 전력 소보가 감소될 수 있으며, 또한 디코더측의 처리 효율이 향상될 수 있다.
B. 가용한 메모리 대역폭:
본 발명의 본 실시예에서, 판독되고 저장할 수 있는 위치 범위의 크기는 현재 가용한 메모리 대역폭의 크기에 따라서 결정될 수 있다. 따라서, 커버될 수 있는 참조 이미지 블록의 수량과 위치는 위치 범위의 크기에 따라서 결정될 수 있다. 따라서, 후보 이미지 블록과 후보 이미지 블록을 가리키는 후보 모션 정보가 결정될 수 있다.
현재 가용한 메모리 대역폭이 충분히 크면, 위치 범위에 의해 커버되는 참조 이미지 블록의 복수 조합이 있을 수 있다. 예를 들어, 동일한 크기의 위치 범위의 경우, 참조 이미지에서 위치 범위의 위치가 상이하면 커버될 수 있는 참조 이미지 블록의 수량이 상이할 수 있거나, 또는 동일한 크기의 위치 범위의 경우, 참조 이미지에서 위치 범위의 위치가 상이하면 커버될 수 있는 참조 이미지 블록에 대응하는 모션 정보가 상이할 수 있다.
이 경우, 최대 참조 이미지를 커버할 수 있는 범위는 사용 가능한 위치 범위로 사용될 수 있다. 따라서, 비교적 많은 수량의 참조 이미지 블록이 제공될 수 있으며, 최종 결정되어 인코딩 처리용으로 사용되는 모션 정보가 최적화될 수 있다.
다르게는, 상기에서 결정된 최우선순위 모션 정보에 대응하는 참조 이미지 블록을 커버할 수 있는 범위가 사용 가능한 위치 범위로 사용될 수 있다. 따라서, 인코딩 처리가 최우선순위 모션 정보에 따라서 수행되는 것이 보장될 수 있다.
C. 현재 이미지 블록이 속하는 이미지의 해상도:
상이한 이미지 해상도에 따라 인코더측의 하드웨어에 대한 요구가 상이하다. 예를 들면, 비교적 고해상도의 이미지의 경우, 이미지에 대한 인코딩을 구현하기 위해, 통상적으로 매우 높은 성능을 갖는 하드웨어, 예를 들어 매우 높은 메모리 대역폭을 구성해야 한다. 따라서, 저장할 수 있는 위치 범위의 크기는 현재의 이미지 블록이 속하는 이미지의 해상도에 따라서 결정된다. 즉, 해상도가 높으면 위치 범위가 커진다. 따라서, 커버될 수 있는 참조 이미지 블록의 수량과 위치가 위치 범위의 크기에 따라서 결정될 수 있다. 따라서, 후보 이미지 블록과 후보 이미지 블록을 가리키는 후보 모션 정보가 결정될 수 있다.
가용한 메모리 대역폭과 현재의 이미지 블록이 속하는 이미지의 해상도(또는 인코더측의 하드웨어 성능)에 따라서 위치 범위가 결정되는 경우, 위치 범위는 다음과 같은 방식으로 결정될 수 있다. 즉,
현재 인코딩될 이미지에서 현재의 이미지 블록의 좌표가 (cur_x, cur_y)이고, 그 크기가 (blk_x)×(blk_y) 픽셀인 것을 가정하면, 일반성을 잃지 않고, 참조 이미지에서, 모션 벡터의 수평 콤포넌트는 x로 표현되고, 모션 벡터의 수직 콤포넌트는 y로 표현되며; 참조 이미지에서, MV#A는 {MV#A_x, MV#A_y}로 기록될 수 있고, MV#B는 {MV#B_x, MV#B_y}로 기록될 수 있으며, MV#C는 {MV#C_x, MV#C_y}로 기록될 수 있고, MV#D는 {MV#D_x, MV#D_y}로 기록될 수 있으며, MV#T는 {MV#T_x, MV#T_y}로 기록될 수 있다.
따라서, 각 참조 이미지 블록에서,
목표 이미지 블록에 관한 수평 방향에서의 최소 변위 Δx_min는 min(MV#A_x, MV#B_x, MV#C_x, MV#D_x, MV#T_x)와 같고;
목표 이미지 블록에 관한 수평 방향에서의 최대 변위 Δx_max는 max(MV#A_x, MV#B_x, MV#C_x, MV#D_x, MV#T_x)와 같으며;
목표 이미지 블록에 관한 수직 방향에서의 최소 변위 Δy_min는 min(MV#A_y, MV#B_y, MV#C_y, MV#D_y, MV#T_y)와 같고;
목표 이미지 블록에 관한 수직 방향에서의 최대 변위 Δy_max는 max(MV#A_y, MV#B_y, MV#C_y, MV#D_y, MV#T_y)와 같도록 결정될 수 있다.
이러한 정의에 따라, 참조 이미지에서 한 번에 판독되어 시간적으로 저장되는 위치 범위는 직사각형 영역일 수 있으며, 여기서,
직사각형 영역의 상부 좌측 코너의 픽셀 좌표는 (cur_x+max(-Ωx_min, Δx_min), cur_y+max(-Ωy_min, Δy_min))이고;
직사각형 영역의 하부 우측 코너의 픽셀 좌표는 (cur_x+blk_x+min(Ωx_max, Δx_max), cur_y+blk_y+min(Ωy_max, Δy_max))이며,
여기서, Ωx_min, Ωx_max, Ωy_min, 및 Ωy_max의 값은 가용한 메모리 대역폭 또는 인코더의 하드웨어 성능에 따라서 결정될 수 있다.
선택적으로, 목표 데이터 스트림을 생성하기 위해, 위치 범위 내의 픽셀을 판독하고, 위치 범위 내의 픽셀에 따라서 현재의 이미지 블록에 대한 인코딩 처리를 수행하는 과정은,
목표 데이터 스트림을 생성하기 위해, 위치 범위 내의 픽셀을 판독하고, 위치 범위 내의 픽셀에 따라서 현재의 이미지 블록에 대한 인코딩 처리를 수행하는 단계를 포함하며, 여기서 목표 데이터 스트림은 제2 인덱스 정보를 포함하고, 제2 인덱스 정보는 참조 이미지에서 위치 범위의 위치를 지시하는 데 사용된다.
구체적으로, 본 발명의 본 실시예에서, 상기한 바와 같이 위치 범위를 결정한 후, 인코더측은 생성된 데이터 스트림에 참조 이미지에서의 위치 범위의 위치를 지시하기 위한 정보, 즉 제2 인덱스 정보를 더 추가할 수 있으며, 디코더측은 제2 인덱스 정보에 따라서 참조 이미지에서 위치 범위를 직접 결정할 수 있다. 따라서, 디코더측의 부담이 감소될 수 있고, 디코더측의 전력 소모가 감소될 수 있으며, 디코더측의 처리 효율이 향상될 수 있다.
한정이 아닌 예를 들면, 본 발명의 본 실시예에서, 제2 인덱스 정보는 전술한 값인 Ωx_min, Ωx_max, Ωy_min, 및 Ωy_max일 수 있다. 또한, 제2 인덱스 정보는 적절한 문법 요소를 사용하여 데이터 스트림의 상이한 위치에서 인식될 수 있다. 예를 들어, 제2 인덱스 정보는 픽쳐 파라미터 집합(picture parameter set, PPS) 또는 슬라이스 헤더(slice header)에서 인식될 수 있다. 픽쳐 파라미터 집합 또는 슬라이스 헤더가 데이터 스트림에서 나타나는 주기가 비교적 낮기 때문에, 이들 위치에서의 전술한 값인 Ωx_min, Ωx_max, Ωy_min, 및 Ωy_max을 인식함에 기인하는 여분의 대역폭(extra bandwidth)의 영향은 거의 무시될 수 있다.
위치 범위가 상기한 바와 같이 결정된 후, 위치 범위 내의 각 픽셀의 (픽셀값과 같은) 정보가 판독되어 메모리에 저장할 수 있다.
또한, 위치 범위가 한개의 완전한 참조 이미지 블록(즉, 후보 이미지 블록)만을 커버할 수 있는 경우, 인코딩 처리는 후보 참조 이미지 블록과 후보 참조 이미지 블록에 대응하는 모션 정보를 사용하여 직접 현재의 블록에 대해 수행될 수 있다.
위치 범위가 둘 이상의 완전한 참조 이미지 블록(즉, 후보 이미지 블록들)을 커버할 수 있는 경우, 최적의 모션 정보는, 저장된 위치 범위(구체적으로, 위치 범위 내의 픽셀)에 따라서, 둘 이상의 후보 이미지 블록에 대응하는 모션 정보로부터 결정될 수 있다.
즉, 선택적으로, 후보 참조 이미지 블록은 N개의 참조 이미지 블록 중 적어도 두 개의 이미지 블록이고, 후보 모션 정보는 N개의 모션 정보 중 적어도 두 개의 모션 정보이며,
위치 범위 내의 픽셀을 판독하고, 위치 범위 내의 픽셀에 따라서 현재의 이미지 블록에 대한 인코딩 처리를 수행하는 과정은,
후보 이미지 블록을 획득하기 위해, 후보 모션 정보에 따라서 위치 범위 내의 픽셀을 판독하는 단계;
후보 이미지 블록에 따라서 후보 모션 정보에서 최적의 모션 정보를 결정하는 단계; 및
최적의 모션 정보에 따라서 현재의 이미지 블록에 대한 인코딩 처리를 수행하는 단계를 포함한다.
구체적으로, 상기 결정된 위치 범위가 둘 이상의 참조 이미지 블록을 커버하기 때문에, 각 후보 모션 정보에 대응하는 후보 참조 이미지 블록(구체적으로, 각 참조 이미지 블록의 픽셀 정보)가 위치 범위 내의 픽셀에 대해 저장된 정보에서 획득될 수 있다. 따라서, 최적의 모션 정보는 후보 참조 이미지 블록에서 결정될 수 있다. 예를 들면, 후보 모션 정보에 대응하는 픽셀의 정보에 기초하여 평가가 수행되어, 미리 정의된 기준을 적용하여 각 후보 모션 정보에 대응하는 평가값을 획득할 수 있으며, 최소 평가값을 갖는 후보 모션 정보가 최적의 모션 정보, 즉 현재의 이미지 블록에 대한 인코딩 처리(예를 들어, 모션 보상 처리)를 수행하기 위한 모션 정보로서 선택된다.
다음, 인코더측은, 현재의 이미지 블록에 대한 인코딩을 구현하고, 목표 데이터 스트림을 생성하며, 목표 데이터 스트림을 디코더측으로 전송하기 위해, 목표 이미지 블록에 대한 모션 보상 인코딩 동작과 같은 처리를 수행하는 데 최적의 모션 정보를 사용할 수 있다. 여기에서, 인코더측에 의해, 최적의 모션 정보에 따라서 현재의 이미지 블록에 대한 인코딩 처리를 수행하는 과정과 방법은 종래 기술에서와 유사할 수 있다. 중복 설명을 피하기 위해, 여기에서 그에 대한 설명은 생략된다.
본 발명의 본 실시예에 따른 이미지 처리 방법에 따르면, 위치 범위가 참조 이미지에서 결정되어, 위치 범위가 적어도 하나의 모션 정보에 대응하는 픽셀을 커버할 수 있으며, 전술한 위치 범위 내의 픽셀이 메모리에서 한 번에 판독되는 경우, 최적의 모션 정보가 각 모션 정보에 대응되는 픽셀을 각각 판독하는 대신에 적어도 하나의 모션 정보로부터 결정될 수 있다. 따라서, 메모리 대역폭에 대한 요구가 감소될 수 있으며, 시스템 요구 및 비용이 감소될 수 있다.
도 4는 본 발명의 실시예에 따라서, 디코더측 관점에서 도시된 이미지 처리 방법(200)의 개략적인 흐름도이다. 도 4에 도시된 바와 같이, 본 방법(200)은 다음의 단계를 포함한다.
단계 S210: 현재의 이미지 블록에 인접한 N개의 인접 이미지 블록으로부터 N개의 모션 정보를 획득한다. 이 때, N개의 인접 이미지 블록은 N개의 모션 정보와 일대일 대응하고, N개의 모션 정보는 현재의 이미지 블록의 참조 이미지에서 N개의 참조 이미지 블록을 지시하는 데 사용되며, N개의 모션 정보는 N개의 참조 이미지 블록과 일대일 대응된다.
단계 S220: 참조 이미지에서 저장할 픽셀의 위치 범위를 결정하고, 위치 범위 내의 모든 픽셀을 저장한다. 이 때, 위치 범위는 후보 참조 이미지 블록의 모든 픽셀을 커버하며, 후보 참조 이미지 블록은 N개의 참조 이미지 블록 중 적어도 하나의 이미지 블록이다.
단계 S230: 모션 정보 중 후보 모션 정보에 따라서 위치 범위 내의 픽셀을 판독하고, 위치 범위 내의 픽셀에 따라서 목표 데이터 스트림에 대한 디코딩 처리를 수행하여 현재의 이미지 블록을 재구성한다. 이 때, 후보 모션 정보는 후보 참조 이미지 블록에 대응하는 모션 정보이다.
구체적으로, 디코더측은 양의 정수인 N개의 모션 정보를 획득할 수 있다.
본 발명의 본 실시예에서, 모션 정보는 단방향 예측과 양방향 예측을 포함할 수 있는 하나 이상의 예측 방향, 참조 이미지 인덱스, 또는 모션 벡터를 포함할 수 있으며, 여기서 단방향 예측은 전방 예측과 후방 예측을 포함할 수 있다.
전방 예측은 전방 참조 이미지 목록, 즉, 목록(list) 0 내의 참조 이미지를 사용하여 예측 신호를 생성하는 것을 나타낸다.
후방 예측은 후방 참조 이미지 목록, 즉, 목록 1 내의 참조 이미지를 사용하여 예측 신호를 생성하는 것을 나타낸다. 양방향 예측은 목록 0 내의 참조 이미지와 목록 1 내의 참조 이미지를 동시에 사용하여 예측 신호를 생성하는 것을 나타낸다.
양방향 예측의 경우, 참조 이미지 인덱스는 목록 0 또는 목록 1에서 선택되는 참조 이미지를 지시하는 데 필요하다. 양방향 예측의 경우, 두 개의 참조 이미지 인덱스는 목록 0에서 선택되는 참조 이미지와 목록 1에서 선택되는 참조 이미지를 각각 지시하는 데 필요하다.
각 모션 벡터는 (x, y)에 의해 나타낼 수 있는 수평 방향 콤포넌트 x와 수직 방향 콤포넌트 y를 포함한다. 양방향 예측의 경우, 모션 벡터는 목록 0 또는 목록 1에서 선택되는 참조 이미지에서 예측 신호의 변위를 지시하는 데 필요하다. 양방향 예측의 경우, 두 개의 모션 벡터는 목록 0에서 선택되는 참조 이미지와 목록 1에서 선택되는 참조 이미지에서 전방 예측 신호와 후방 예측 신호의 변위를 각각 지시하는 데 필요하다.
본 발명의 본 실시예에서, 모션 정보는 현재의 이미지 블록에 인접한 이미지 블록(즉, 인코더측의 경우 인코딩될 이미지 블록과 디코딩측의 경우 디코딩되어 재구성될 이미지 블록)에서 획득되는 모션 정보를 나타낸다. 본 발명의 본 실시예에서, 모션 정보는 공간적 모션 정보와 시간적 모션 정보를 포함할 수 있다.
공간적 모션 정보는 현재의 이미지 블록에 공간적으로 인접한 블록에서 획득되는 모션 정보이고, 시간적 모션 정보는 시간적으로 인접한 블록에서 획득되는 모션 정보를 나타낸다.
도 2a는 DMVD 기술에서 공간적 모션 정보의 소스 위치(획득된 위치)를 도시하고 있고, 도 2b는 DMVD 기술에서 시간적 모션 정보의 소스 위치(획득된 위치)를 도시하고 있다.
도 2a에 도시된 바와 같이, DMVD 기술에서, 공간적 모션 정보는,
현재의 이미지 블록의 좌측에 있는 이미지 블록 A(인접한 블록의 예)의 모션 정보 - 이 모션 정보는 이하 MV#A로 표현됨 -;
현재의 이미지 블록의 상부에 있는 이미지 블록 B(인접한 블록의 다른 예)의 모션 정보 - 이 모션 정보는 이하 MV#B로 표현됨 -;
현재의 이미지 블록의 상부 우측에 있는 이미지 블록 C(인접한 블록의 다른 예)의 모션 정보 - 이 모션 정보는 이하 MV#C로 표현됨 -; 및
현재의 이미지 블록의 상부 좌측에 있는 이미지 블록 D(인접한 블록의 다른 예)의 모션 정보 - 이 모션 정보는 이하 MV#D로 표현됨 -을 포함할 수 있다.
예측 방향이 단방향인 경우, 모션 정보는 참조 이미지 내의 참조 블록을 지시할 수 있고, 예측 방향이 양방향인 경우, 모션 정보는 전방 참조 이미지 내의 참조 블록과 후방 참조 이미지 내의 참조 블록을 지시할 수 있다.
도 2b에 도시된 바와 같이, DMVD 기술에서, 시간적 모션 정보는,
예를 들어, 현재의 이미지 블록에 기초하여 MV#T'에 대한 패닝(panning) 처리를 수행하여 획득되는 모션 정보를 포함할 수 있으며, 여기서 모션 정보는 이하 MV#T로 표현되고, MV#T'는 후방 참조 이미지 내에 있으면서 현재의 이미지 블록에 대응되는 위치에 있는 이미지 블록 E(인접한 블록의 다른 예)의 모션 정보이다.
따라서, 디코더측은 전술한 다섯 개의 모션 정보, 즉, N개의 모션 정보의 예를 포함하는 모션 정보 집합(또는 모션 정보 목록)을 획득할 수 있으며, 여기서 모션 정보 집합은 다음과 같이 표현된다:
{MV#A, MV#B, MV#C, MV#D, MV#T}
상기 획득되는 모션 정보가 중복되면, 중복되는 모션 정보는 N개의 모션 정보가 서로 상이하다는 것을 보장하기 위해 삭제될 수 있다.
N개의 모션 정보를 획득하기 위한 상기 방법은 단지 예시적인 설명에 지나지 않으며, 본 발명은 여기에 한정되지 않는다. 본 발명의 본 실시예에서의 이미지 처리 방법이 적용될 수 있는 기술에 따라서 다른 획득 방법이 사용될 수 있으며, 이것은 본 발명에서 구체적으로 한정되지 않는다.
상기한 바와 같이 N개의 모션 정보를 결정한 후, 디코더측은 참조 이미지에서 각 모션 정보에 대응하는 참조 이미지 블록(또는 각 모션 정보가 가리키는 참조 이미지 블록)을 결정할 수 있다. 예측 방향이 양방향인 경우, 디코더측은 두 개의 참조 이미지(전방 참조 이미지와 후방 참조 이미지)에서 각 모션 벡터에 대응하는 참조 이미지 블록을 각각 결정할 필요가 있다. 일반성을 잃지 않고 설명의 편의를 위해, 이하 후방 참조 이미지에 대한 처리를 예로서 사용하여 설명한다.
다음, 디코더측은 N개의 모션 정보에서 모션 정보(설명의 편의를 위해 이하에서 목표 모션 정보로 칭함)를 결정하여, 디코딩 처리와, 구체적으로는 목표 모션 정보에 따른 모션 보상 처리를 수행할 필요가 있다. 이러한 처리에 대해서는 추후 상세하게 설명한다.
본 발명의 본 실시예에서, 목표 모션 정보는 미리 설정된 규칙(즉, 방식 3)에 따른 계산 방식으로 계산될 수 있거나, 또는 목표 모션 정보는 현재의 이미지 블록의 속성 및/또는 장치 성능(즉, 방식 4)에 따라서 결정될 수 있다. 전술한 두 가지 경우의 처리 각각에 대해 이하에서 설명한다.
방식 3
선택적으로, 후보 참조 이미지 블록은 N개의 참조 이미지 블록의 모든 이미지 블록이다.
본 발명의 본 실시예에서, 최적의 모션 정보는 계산 방식에 따라 N개의 모션 정보(후보 모션 정보의 예)에서 결정될 수 있으며, 최적의 모션 정보는 전술한 목표 모션 정보로 사용된다. 계산 과정에서, N개의 모션 정보(구체적으로, 모션 벡터가 가리키는 참조 이미지 블록)에 대응하는 참조 이미지 블록(후보 참조 이미지 블록의 예)을 획득할 필요가 있으며, 참조 이미지 블록(구체적으로, 참조 이미지 블록 내 픽셀의 픽셀값)에 기초하여 계산이 수행된다.
따라서, 본 발명의 본 실시예에서, 디코더측은 참조 이미지에서 픽셀들의 위치 분포(즉, 각 참조 이미지 블록)를 결정할 수 있으며, 여기서 픽셀들은 저장되어 다음의 처리를 위해 사용될 필요가 있다.
상기 결정된 각 모션 정보가 디코딩될 필요가 있는 현재의 이미지 블록에 인접한(시간적 인접 및/또는 공간적 인접) 이미지 블록에서 획득되기 때문에, 모션 정보(구체적으로, 모션 벡터)들 사이에 매우 강한 상호관계(또는 유사성)이 있다. 따라서, 도 3a와 도 3b에 도시된 바와 같이, 외면적 표현은 참조 이미지 블록이 중첩되어 있거나, 또는 복수의 참조 이미지 블록이 동일한 위치에 픽셀을 포함하는 것이다.
종래 기술에서, 디코더측은, 참조 이미지 블록에서, 각 모션 정보가 가리키는 참조 이미지 블록을 각각 획득하고, 각 참조 이미지 블록(구체적으로, 참조 이미지 블록의 픽셀값)을 메모리 공간에 각각 저장하여, 각 참조 이미지 블록에 기초하여 N개의 모션 정보로부터 최적의 모션 정보를 결정할 필요가 있다. 따라서, 장치의 메모리 대역폭이 N개의 참조 이미지 블록의 판독 및 저장을 충족할 수 있고, 전술한 중첩 영역이 여러 번 저장되는 경우가 발생할 수 있으므로, 메모리 대역폭에 대한 비교적 높은 요구가 발생하게 된다.
반면에, 본 발명의 본 실시예에서, 영역(즉, 위치 범위)이, 상기에서 결정된 N개의 모션 정보 사이에 매우 강한 상호관계와 유사성이 있다는 특징에 기초하여 참조 이미지로부터 결정될 수 있기 때문에, 영역의 범위가 N개의 참조 이미지 블록에 의해 포함되는 모든 픽셀을 커버할 수 있다. 예를 들면, N개의 참조 이미지 블록 중에서 최소의 퍼블릭 이미지 블록, 즉, 도 3a에서 점선으로 나타낸 영역이 위치 범위로서 사용될 수 있다.
최소의 퍼블릭 이미지 블록은 다음과 같은 방식으로 결정될 수 있다. 즉,
현재 재구성될 이미지에서 현재의 이미지 블록의 좌표가 (cur_x, cur_y)이고, 그 크기가 (blk_x)×(blk_y) 픽셀인 것을 가정하면, 일반성을 잃지 않고, 참조 이미지에서, 모션 벡터의 수평 콤포넌트는 x로 표현되고, 모션 벡터의 수직 콤포넌트는 y로 표현되며; 참조 이미지에서, MV#A는 {MV#A_x, MV#A_y}로 기록될 수 있고, MV#B는 {MV#B_x, MV#B_y}로 기록될 수 있으며, MV#C는 {MV#C_x, MV#C_y}로 기록될 수 있고, MV#D는 {MV#D_x, MV#D_y}로 기록될 수 있으며, MV#T는 {MV#T_x, MV#T_y}로 기록될 수 있다.
따라서, 각 참조 이미지 블록에서,
목표 이미지 블록에 관한 수평 방향에서의 최소 변위 Δx_min는 min(MV#A_x, MV#B_x, MV#C_x, MV#D_x, MV#T_x)와 같고;
목표 이미지 블록에 관한 수평 방향에서의 최대 변위 Δx_max는 max(MV#A_x, MV#B_x, MV#C_x, MV#D_x, MV#T_x)와 같으며;
목표 이미지 블록에 관한 수직 방향에서의 최소 변위 Δy_min는 min(MV#A_y, MV#B_y, MV#C_y, MV#D_y, MV#T_y)와 같고;
목표 이미지 블록에 관한 수직 방향에서의 최대 변위 Δy_max는 max(MV#A_y, MV#B_y, MV#C_y, MV#D_y, MV#T_y)와 같도록 결정될 수 있다.
이러한 정의에 따라, 참조 이미지에서 한 번에 판독되어 시간적으로 저장되는 위치 범위는 직사각형 영역일 수 있으며, 여기서,
직사각형 영역의 상부 좌측 코너의 픽셀 좌표는 (cur_x+Δx_min, cur_y+Δ_min)이고;
직사각형 영역의 하부 우측 코너의 픽셀 좌표는 (cur_x+Δx_max+blk_x, cur_y+Δy_max+blk_y)이다.
따라서, 위치 범위 내의 각 픽셀의 (픽셀값과 같은) 정보는 최적의 모션 정보를 결정하기 위한 추후의 처리에서의 사용을 위해 판독되어 메모리에 저장할 수 있다.
선택적으로, 참조 이미지에서, 모션 정보 중 후보 모션 정보에 따라서 저장할 픽셀의 위치 범위를 결정하기 전에, 본 방법은,
N개의 참조 이미지 블록 중 적어도 두 개의 참조 이미지 블록이 서로 중첩되는지를 판단하는 단계를 더 포함한다.
구체적으로, 각 참조 이미지 블록이 상기한 바와 같이 결정된 후, 먼저 참조 이미지들이 서로 중첩되는지가 결정될 수 있으며, 참조 이미지가 중첩되면, 위치 범위를 결정하고 위치 범위 내의 픽셀의 정보를 저장하는 전술한 과정이 실행될 수 있다.
따라서, 메모리 대역폭에 대한 요구가 종래 기술과 비교하여 감소되는 것을 보장할 수 있다.
선택적으로, 참조 이미지에서, 모션 정보 중 후보 모션 정보에 따라서 저장할 픽셀의 위치 범위를 결정하기 전에, 본 방법은,
N개의 참조 이미지 블록 중 적어도 두 개의 참조 이미지 블록이 서로 중첩되고, 중첩된 참조 이미지 블록의 수량이 미리 설정된 임계 수량 이상이거나, 또는 중첩된 범위가 미리 설정된 임계 범위 이상인지를 판단하는 단계를 더 포함한다.
구체적으로, 각 참조 이미지 블록이 상기한 바와 같이 결정된 후, 참조 이미지가 서로 중첩되는지가 먼저 결정될 수 있고, 참조 이미지가 중첩되면, 중첩 영역의 특징(예를 들어, 중첩된 참조 이미지 블록의 수량 및/또는 중첩된 범위의 크기)이 또한 결정될 수 있으며, 전술한 중첩된 영역의 특징이 미리 설정된 조건을 충족하면, 예를 들어, 중첩된 참조 이미지 블록의 수량이 미리 설정된 임계 수량 이상이거나, 및/또는 중첩된 범위가 미리 설정된 임계 범위 이상임), 위치 범위를 결정하고 위치 범위 내의 픽셀의 정보를 저장하는 전술한 과정이 실행될 수 있다. 전술한 임계 수량은 참조 이미지 블록의 수량(또는 모션 정보의 수량)에 따라서 설정될 수 있다. 예를 들면, 참조 이미지 블록의 수량이 5이면, 임계 수량은 5로 설정될 수 있다. 마찬가지로, 전술한 임계 범위는 참조 이미지 블록의 크기에 따라서 설정될 수 있다.
따라서, 메모리 대역폭에 대한 요구가 종래 기술에 비해 감소되는 것이 또한 보장될 수 있다.
다음, 최적의 모션 정보가 저장된 위치 범위(구체적으로, 위치 범위 내의 픽셀)에 따라서 N개의 모션 정보에서 결정될 수 있다.
즉, 선택적으로, 후보 참조 이미지 블록은 N개의 참조 이미지 블록 중 적어도 두 개의 이미지 블록이고, 후보 모션 정보는 N개의 모션 정보 중 적어도 두 개의 모션 정보이며,
모션 정보 중 후보 모션 정보에 따라서 위치 범위 내의 픽셀을 판독하고, 위치 범위 내의 픽셀에 따라서 목표 데이터 스트림에 대한 디코딩 처리를 수행하는 과정은,
모션 정보에서 후보 모션 정보를 결정하는 단계;
후보 참조 이미지 블록을 획득하기 위해, 후보 모션 정보에 따라서 위치 범위 내의 픽셀을 판독하는 단계;
후보 참조 이미지 블록에 따라서 후보 모션 정보에서 최적의 모션 정보를 결정하는 단계; 및
최적의 모션 정보에 따라서 목표 데이터 스트림에 대한 디코딩 처리를 수행하는 단계를 포함한다.
구체적으로, 상기 결정된 위치 범위가 모든 참조 이미지 블록을 커버하기 때문에, 각 모션 정보에 대응하는 참조 이미지 블록(구체적으로, 각 참조 이미지 블록의 픽셀 정보)가 위치 범위 내의 픽셀에 대해 저장된 정보에서 획득될 수 있다. 따라서, 최적의 모션 정보는 참조 이미지 블록에 따라서 모션 정보로부터 결정될 수 있다. 예를 들면, 각 모션 정보에 대응하는 픽셀의 정보에 기초하여 평가가 수행되어, 미리 정의된 기준(criterion)(예를 들어, 왜곡 비율(rate-distortion) 기준)을 적용하여 각 모션 정보에 대응하는 평가값을 획득할 수 있으며, 최소 평가값을 갖는 모션 정보가 최적의 모션 정보, 즉 현재의 이미지 블록에 대한 디코딩 처리 및 재구성 처리(예를 들어, 모션 보상 처리)를 수행하기 위한 모션 정보로서 선택된다.
전술한 미리 정의된 기준은 적용되는 디코딩 기술에 따라서 적절하게 변경될 수 있으며, 본 발명에서 구체적으로 한정되지는 않는다. 예를 들면, DMVD 기술에서, 양방향 예측의 경우, 각 모션 정보는, 전방 참조 이미지 내의 참조 이미지 블록(전방 참조 이미지 블록으로 칭함)을 지시하는 데 사용되는 전방 모션 정보와, 후방 참조 이미지 내의 이미지 블록(후방 참조 이미지 블록으로 칭함)을 지시하는 데 사용되는 후방 모션 정보를 포함하고, 전방 참조 이미지 블록과 후방 참조 이미지 블록의 대응되는 위치에서의 픽셀값의 차의 제곱의 합(sum of squared difference)이 측정 기준으로 사용되면, 최소의 차의 제곱의 합을 갖는 모션 정보가 최적의 모션 정보로 사용될 수 있다.
다음, 디코더측은, 현재의 이미지 블록에 대한 재구성을 구현하기 위해, 인코더측으로부터의 데이터 스트림에 대한 모션 보상 디코딩 동작과 같은 처리를 수행하는 데 최적의 모션 정보를 사용할 수 있다. 여기에서, 디코더측에 의해, 최적의 모션 정보에 따라서 현재의 이미지 블록에 대한 디코딩 처리를 수행하는 과정과 방법은 종래 기술에서와 유사할 수 있다. 중복 설명을 피하기 위해, 여기에서 그에 대한 설명은 생략된다.
선택적으로, 참조 이미지에서, 조장될 픽셀의 위치 범위를 결정하는 과정은,
목표 데이터 스트림에서, 참조 이미지에서의 위치 범위의 위치와 커버리지 범위(coverage range)를 지시하는 데 사용되는 제2 인덱스 정보를 획득하는 단계; 및
제2 인덱스 정보에 따라서 참조 이미지 내에서 위치 범위를 결정하는 단계를 포함한다.
구체적으로, 본 발명의 본 실시예에서, 인코더측은 데이터 스트림에 참조 이미지에서의 위치 범위의 위치와 범위를 지시하기 위한 정보, 즉 제2 인덱스 정보를 더 추가할 수 있다. 따라서, 디코더측은 데이터 스트림에서 제2 인덱스 정보를 획득하고, 제2 인덱스 정보에 따라서 참조 이미지에서 위치 범위(구체적으로, 메모리에 저장할 필요가 있는 픽셀)을 직접 결정할 수 있다. 따라서, 디코더측의 부담이 감소될 수 있고, 디코더측의 전력 소모가 감소될 수 있으며, 디코더측의 처리 효율이 향상될 수 있다.
본 발명의 본 실시예에 따른 이미지 처리 방법에 따르면, 결정된 위치 범위가 모든 참조 이미지를 커버함으로써, 최적의 모션 정보의 획득이 보장될 수 있고, 이미지 처리 효과가 향상될 수 있으며, 또한, 사용자 경험이 향상될 수 있다.
방식 4
선택적으로, 후보 참조 이미지 블록은 N개의 참조 이미지 블록 중 일부 이미지 블록이다.
구체적으로, 디코더측에 대한 장치의 하드웨어, 예를 들어, 메모리 대역폭에 의해 제한됨으로써, 현재 가용한 메모리 대역폭이 전술한 방식 3에서 결정되는 최소의 퍼블릭 이미지 블록(위치 범위의 예)의 요구를 충족시킬 수 없는 경우가 발생할 수 있다.
전술한 문제의 관점에서, 본 발명의 본 실시예는 다음과 같은 기술적 해결수단, 즉, 결정된 위치 범위가 일부 참조 이미지 블록(즉, 후보 참조 이미지 블록의 예)만을 커버할 수 있는 기술적 해결수단을 제공한다. 커버되는 참조 이미지 블록의 수량이 M인 것을 가정하면, 다음과 같이 1≤M<N을 충족한다.
따라서, 위치 범위가 적어도 하나의 완전한 참조 이미지 블록을 커버하는 것, 즉, 적어도 하나의 모션 정보가 가용되는 것이 보장될 수 있으며, 모션 정보를 사용하여 현재의 이미지 블록에 대한 디코딩 및 재구성이 수행되는 것이 보장된다는 전제하에서 메모리 대역폭에 대한 요구가 감소될 수 있다.
이 경우, 영역(즉, 위치 범위)이 참조 이미지 내에서 결정될 수 있으므로, 영역의 범위가 M개의 참조 이미지 블록에 의해 포함되는 모든 픽셀, 즉 도 3b에서 점선에 의해 표시된 영역을 커버할 수 있다.
선택적으로, 참조 이미지에서, 모션 정보 중 후보 모션 정보에 따라서 저장할 픽셀의 위치 범위를 결정하는 과정은,
가용한 메모리 대역폭 및/또는 현재의 이미지 블록이 속하는 이미지의 속성 정보에 따라서 모션 정보에서 후보 모션 정보를 결정하고, 후보 모션 정보에 따라서 참조 이미지에서 위치 범위를 결정하는 단계를 포함하고, 여기서, 속정 정보는 이하의 파라미터 중 적어도 하나를 지시하는 데 사용되며,
상기한 파라미터는, 현재의 이미지 블록이 속하는 이미지의 해상도, 현재의 이미지 블록이 속하는 이미지의 내용, 현재의 이미지 블록이 속하는 이미지의 소스, 또는 현재의 이미지 블록이 속하는 이미지의 제작 스타일이다.
구체적으로, 본 발명의 본 실시예에서, 가용한 메모리 대역폭 및/또는 현재의 이미지 블록이 속하는 이미지의 속성 정보에 따라서 M개의 후보 참조 이미지 블록이 선택될 수 있거나 또는 M개의 후보 참조 이미지 블록에 대응하는 모션 정보가 선택될 수 있다.
이하, 전술한 파라미터를 사용하는 방법에 대해 각각 설명한다.
A. 현재의 이미지 블록이 속하는 이미지의 내용, 현재의 이미지 블록이 속하는 이미지의 소스, 및 현재의 이미지 블록이 속하는 이미지의 제작 스타일:
예를 들면, 이미지가 내용에 따라서 분류되면, 이미지는 신규 이미지, 스포트 이미지, 필름-텔레비전 이미지 등일 수 있다. 마찬가지로, 이미지는 또한 소스와 제작 스타일에 따라서 분류될 수 있다. 동일한 유형의 이미지의 최적의 모션 정보(또는 최적의 모션 정보가 오는 인접한 이미지 블록)는 항상 동일하다. 따라서, 본 발명의 본 실시예에서, 각 유형의 이미지의 최우선순위(high-priority) 모션 정보에 대한 통계는 현재의 이미지 블록이 속하는 이미지의 내용, 현재의 이미지 블록이 속하는 이미지의 소스, 현재의 이미지 블록이 속하는 이미지의 제작 스타일 등에 따라서 수집될 수 있으며, 여기서 최우선순위 모션 정보는 이러한 유형의 이미지의 최적의 모션 정보가 되는 가장 큰 가능성을 갖는다.
따라서, 위치 범위가 결정되는 중에, 위치 범위가 전술한 최우선순위 모션 정보에 대응하는 참조 이미지 블록을 커버하는 것이 보장될 수 있다.
선택적으로, 모션 정보에서 후보 모션 정보를 결정하는 과정은,
목표 데이터 스트림에서 후보 모션 정보를 지시하는 데 사용되는 제1 인덱스 정보를 획득하는 단계; 및
제1 인덱스 정보에 따라서 모션 정보에서 후보 모션 정보를 결정하는 단계를 포함한다.
구체적으로, 인코더측은 생성된 데이터 스트림에 후보 모션 정보에 대한 정보를 지시하기 위한 정보, 즉 제1 인덱스 정보를 추가할 수 있고, 디코더측은 데이터 스트림에서 제1 인덱스 정보를 획득하여 제1 인덱스 정보에 따라서 N개의 모션 정보에서 후보 모션 정보를 직접 결정함으로써, 후보 각 모션 정보에 대응하는 참조 이미지 블록(즉, 후보 참조 이미지 블록)을 결정할 수 있다. 따라서, 위치 범위가 참조 이미지에서 결정될 수 있고, 위치 범위가 후보 참조 이미지 블록을 커버할 수 있다. 따라서, 디코더측의 부담이 감소될 수 있고, 디코더측의 전력 소보가 감소될 수 있으며, 또한 디코더측의 처리 효율이 향상될 수 있다.
B. 가용한 메모리 대역폭:
본 발명의 본 실시예에서, 판독되고 저장할 수 있는 위치 범위의 크기는 현재 가용한 메모리 대역폭의 크기에 따라서 결정될 수 있다. 따라서, 커버될 수 있는 참조 이미지 블록의 수량과 위치는 위치 범위의 크기에 따라서 결정될 수 있다. 따라서, 후보 이미지 블록과 후보 이미지 블록을 가리키는 모션 정보가 결정될 수 있다.
현재 가용한 메모리 대역폭이 충분히 크면, 위치 범위에 의해 커버되는 참조 이미지 블록의 복수 조합이 있을 수 있다. 예를 들어, 동일한 크기의 위치 범위의 경우, 참조 이미지에서 위치 범위의 위치가 상이하면 커버될 수 있는 참조 이미지 블록의 수량이 상이할 수 있거나, 또는 동일한 크기의 위치 범위의 경우, 참조 이미지에서 위치 범위의 위치가 상이하면 커버될 수 있는 참조 이미지 블록에 대응하는 모션 정보가 상이하다.
이 경우, 최대 참조 이미지를 커버할 수 있는 범위는 사용 가능한 위치 범위로 사용될 수 있다. 따라서, 비교적 많은 수량의 참조 이미지 블록이 제공될 수 있으며, 최종 결정되어 디코딩 처리용으로 사용되는 모션 정보가 최적화될 수 있다.
다르게는, 상기에서 결정된 최우선순위 모션 정보에 대응하는 참조 이미지 블록을 커버할 수 있는 범위가 사용 가능한 위치 범위로 사용될 수 있다. 따라서, 디코딩 처리가 최우선순위 모션 정보에 따라서 수행되는 것이 보장될 수 있다.
C. 현재 이미지 블록이 속하는 이미지의 해상도:
상이한 이미지 해상도에 따라 디코더측의 하드웨어에 대한 요구가 상이하다. 예를 들면, 비교적 고해상도의 이미지의 경우, 이미지에 대한 디코딩을 구현하기 위해, 통상적으로 매우 높은 성능을 갖는 하드웨어, 예를 들어 매우 높은 메모리 대역폭을 구성해야 한다. 따라서, 저장할 수 있는 위치 범위의 크기는 현재의 이미지 블록이 속하는 이미지의 해상도에 따라서 결정된다. 즉, 해상도가 높으면 위치 범위가 커진다. 따라서, 커버될 수 있는 참조 이미지 블록의 수량과 위치가 위치 범위의 크기에 따라서 결정될 수 있다. 따라서, 후보 이미지 블록과 후보 이미지 블록을 가리키는 후보 모션 정보가 결정될 수 있다.
가용한 메모리 대역폭과 현재의 이미지 블록이 속하는 이미지의 해상도(또는 디코더측의 하드웨어 성능)에 따라서 위치 범위가 결정되는 경우, 위치 범위는 다음과 같은 방식으로 결정될 수 있다. 즉,
현재의 이미지에서 현재의 이미지 블록의 좌표가 (cur_x, cur_y)이고, 그 크기가 (blk_x)×(blk_y) 픽셀인 것을 가정하면, 일반성을 잃지 않고, 참조 이미지에서, 모션 벡터의 수평 콤포넌트는 x로 표현되고, 모션 벡터의 수직 콤포넌트는 y로 표현되며; 참조 이미지에서, MV#A는 {MV#A_x, MV#A_y}로 기록될 수 있고, MV#B는 {MV#B_x, MV#B_y}로 기록될 수 있으며, MV#C는 {MV#C_x, MV#C_y}로 기록될 수 있고, MV#D는 {MV#D_x, MV#D_y}로 기록될 수 있으며, MV#T는 {MV#T_x, MV#T_y}로 기록될 수 있다.
따라서, 각 참조 이미지 블록에서,
목표 이미지 블록에 관한 수평 방향에서의 최소 변위 Δx_min는 min(MV#A_x, MV#B_x, MV#C_x, MV#D_x, MV#T_x)와 같고;
목표 이미지 블록에 관한 수평 방향에서의 최대 변위 Δx_max는 max(MV#A_x, MV#B_x, MV#C_x, MV#D_x, MV#T_x)와 같으며;
목표 이미지 블록에 관한 수직 방향에서의 최소 변위 Δy_min는 min(MV#A_y, MV#B_y, MV#C_y, MV#D_y, MV#T_y)와 같고;
목표 이미지 블록에 관한 수직 방향에서의 최대 변위 Δy_max는 max(MV#A_y, MV#B_y, MV#C_y, MV#D_y, MV#T_y)와 같도록 결정될 수 있다.
이러한 정의에 따라, 참조 이미지에서 한 번에 판독되어 시간적으로 저장되는 위치 범위는 직사각형 영역일 수 있으며, 여기서,
직사각형 영역의 상부 좌측 코너의 픽셀 좌표는 (cur_x+max(-Ωx_min, Δx_min), cur_y+max(-Ωy_min, Δy_min))이고;
직사각형 영역의 하부 우측 코너의 픽셀 좌표는 (cur_x+blk_x+min(Ωx_max, Δx_max), cur_y+blk_y+min(Ωy_max, Δy_max))이며,
여기서, Ωx_min, Ωx_max, Ωy_min, 및 Ωy_max의 값은 가용한 메모리 대역폭 또는 디코더의 하드웨어 성능에 따라서 결정될 수 있다.
선택적으로, 참조 이미지에서, 저장할 픽셀의 위치 범위를 결정하는 과정은,
목표 데이터 스트림에서, 참조 이미지에서의 위치 범위의 위치와 커버리지 범위(coverage range)를 지시하는 데 사용되는 제2 인덱스 정보를 획득하는 단계; 및
제2 인덱스 정보에 따라서 참조 이미지에서 위치 범위를 결정하는 단계를 포함한다.
구체적으로, 본 발명의 본 실시예에서, 인코더측은 생성된 데이터 스트림에 참조 이미지에서의 위치 범위의 위치와 범위(또는 커버되는 픽셀)를 지시하기 위한 정보, 즉 제2 인덱스 정보를 더 추가할 수 있다. 따라서, 디코더측은 데이터 스트림에서 제2 인덱스 정보를 획득하고, 제2 인덱스 정보에 따라서 참조 이미지에서 위치 범위을 직접 결정할 수 있다. 따라서, 디코더측의 부담이 감소될 수 있고, 디코더측의 전력 소모가 감소될 수 있으며, 디코더측의 처리 효율이 향상될 수 있다.
한정이 아닌 예를 들면, 본 발명의 본 실시예에서, 제2 인덱스 정보는 전술한 값인 Ωx_min, Ωx_max, Ωy_min, 및 Ωy_max일 수 있다. 또한, 제2 인덱스 정보는 적절한 문법 요소를 사용하여 데이터 스트림의 상이한 위치에서 인식될 수 있다. 예를 들어, 제2 인덱스 정보는 픽쳐 파라미터 집합(picture parameter set, PPS) 또는 슬라이스 헤더(slice header)에서 인식될 수 있다. 픽쳐 파라미터 집합 또는 슬라이스 헤더가 데이터 스트림에서 나타나는 주기가 비교적 낮기 때문에, 이들 위치에서의 전술한 값인 Ωx_min, Ωx_max, Ωy_min, 및 Ωy_max을 인식함에 기인하는 여분의 대역폭(extra bandwidth)의 영향은 거의 무시될 수 있다.
위치 범위가 상기한 바와 같이 결정된 후, 위치 범위 내의 각 픽셀의 (픽셀값과 같은) 정보가 판독되어 메모리에 저장할 수 있다.
또한, 위치 범위가 한개의 완전한 참조 이미지 블록(즉, 후보 이미지 블록)만을 커버할 수 있는 경우, 디코딩 처리는 후보 참조 이미지 블록과 후보 참조 이미지 블록에 대응하는 모션 정보를 사용하여 직접 현재의 블록에 대해 수행될 수 있다.
위치 범위가 둘 이상의 완전한 참조 이미지 블록(즉, 후보 이미지 블록들)을 커버할 수 있는 경우, 최적의 모션 정보는, 저장된 위치 범위(구체적으로, 위치 범위 내의 픽셀)에 따라서, 둘 이상의 후보 이미지 블록에 대응하는 모션 정보로부터 결정될 수 있다.
즉, 선택적으로, 후보 참조 이미지 블록은 N개의 참조 이미지 블록 중 적어도 두 개의 이미지 블록이고, 후보 모션 정보는 N개의 모션 정보 중 적어도 두 개의 모션 정보이며,
모션 정보 중 후보 모션 정보에 따라서 위치 범위 내의 픽셀을 판독하고, 위치 범위 내의 픽셀에 따라서 목표 데이터 스트림에 대한 디코딩 처리를 수행하는 과정은,
모션 정보에서 후보 모션 정보를 결정하는 단계;
후보 참조 이미지 블록을 획득하기 위해, 후보 모션 정보에 따라서 위치 범위 내의 픽셀을 판독하는 단계;
후보 참조 이미지 블록에 따라서 후보 모션 정보에서 최적의 모션 정보를 결정하는 단계; 및
최적의 모션 정보에 따라서 목표 데이터 스트림에 대한 디코딩 처리를 수행하는 단계를 포함한다.
구체적으로, 상기 결정된 위치 범위가 둘 이상의 참조 이미지 블록을 커버하기 때문에, 후보 각 모션 정보에 대응하는 후보 참조 이미지 블록(구체적으로, 각 참조 이미지 블록의 픽셀 정보)가 위치 범위 내의 픽셀에 대해 저장된 정보에서 획득될 수 있다. 따라서, 최적의 모션 정보는 후보 모션 정보에서 결정될 수 있다. 예를 들면, 후보 모션 정보에 대응하는 픽셀의 정보에 기초하여 평가가 수행되어, 미리 정의된 기준을 적용하여 후보 각 모션 정보에 대응하는 평가값을 획득할 수 있으며, 최소 평가값을 갖는 후보 모션 정보가 최적의 모션 정보, 즉 현재의 이미지 블록에 대한 디코딩 처리(예를 들어, 모션 보상 처리)를 수행하기 위한 모션 정보로서 선택된다.
다음, 디코더측은, 현재의 이미지 블록에 대한 재구성을 구현하기 위해, 데이터 스트림에 대한 모션 보상 디코딩 동작과 같은 처리를 수행하는 데 최적의 모션 정보를 사용할 수 있다. 여기에서, 디코더측에 의해, 최적의 모션 정보에 따라서 현재의 이미지 블록에 대한 디코딩 처리를 수행하는 과정과 방법은 종래 기술에서와 유사할 수 있다. 중복 설명을 피하기 위해, 여기에서 그에 대한 설명은 생략된다.
본 발명의 본 실시예에 따른 이미지 처리 방법에 따르면, 위치 범위가 참조 이미지에서 결정되어, 위치 범위가 적어도 하나의 모션 정보에 대응하는 픽셀을 커버할 수 있으며, 전술한 위치 범위 내의 픽셀이 메모리에서 한 번에 판독되는 경우, 최적의 모션 정보가 각 모션 정보에 대응되는 픽셀을 각각 판독하는 대신에 적어도 하나의 모션 정보로부터 결정될 수 있다. 따라서, 메모리 대역폭에 대한 요구가 감소될 수 있으며, 시스템 요구 및 비용이 감소될 수 있다.
상기에서 도 1 내지 도 4를 참조하여 본 발명의 실시예에 따른 이미지 처리 방법에 대해 상세하게 설명하였으며, 이하에서는 도 5 및 도 6을 참조하여 본 발명의 실시예에 따른 이미지 처리 장치에 대해 상세하게 설명한다.
도 5는 본 발명의 실시예에 따른 이미지 처리 장치(300)의 개략적인 구성도이다. 도 5에 도시된 바와 같이, 장치(300)는,
현재 이미지 블록에 인접한 N개의 인접 이미지 블록으로부터 N개의 모션 정보를 획득하도록 구성된 획득 유닛(310) - N개의 인접 이미지 블록은 N개의 모션 정보에 일대일 대응하고, N개의 모션 정보는 현재의 이미지 블록의 참조 이미지에서 N개의 참조 이미지 블록을 지시하는 데 사용되며, N개의 모션 정보는 N개의 참조 이미지 블록과 일대일 대응됨 -;
미리 설정된 규칙에 따라서 N개의 모션 정보로부터 후보 모션 정보를 결정하고, 참조 이미지에서, 후보 모션 정보에 따라서 저장할 픽셀의 위치 범위를 결정하도록 구성된 결정 유닛(320) - 후보 모션 정보는 N개의 모션 정보 중 적어도 하나의 정보이고, 위치 범위는 후보 참조 이미지 블록의 모든 픽셀을 커버하며, 후보 참조 이미지 블록은 N개의 참조 이미지 블록 중 적어도 하나의 이미지 블록이고, 후보 모션 정보는 후보 참조 이미지 블록에 대응하는 모션 정보임 -;
위치 범위 내의 모든 픽셀을 저장하도록 구성된 저장 유닛(330); 및
저장 유닛(330)으로부터 위치 범위 내의 픽셀을 판독하고, 위치 범위 내의 픽셀에 따라서 현재의 이미지 블록에 대한 인코딩 처리를 수행하여 목표 데이터 스트림을 생성하도록 구성된 처리 유닛(340)을 포함한다.
선택적으로, 후보 참조 이미지 블록은 N개의 참조 이미지 블록 중 적어도 두 개의 이미지 블록이고, 후보 모션 정보는 N개의 모션 정보 중 적어도 두 개의 모션 정보이며,
처리 유닛(340)은 구체적으로, 후보 참조 이미지 블록을 획득하기 위해, 후보 모션 정보에 따라서 저장 유닛(330)으로부터 위치 범위에서 픽셀을 판독하고;
후보 참조 이미지 블록에 따라서 후보 모션 정보에서 최적의 모션 정보를 결정하며;
최적의 모션 정보에 따라서 현재의 이미지 블록에 대한 인코딩 처리를 수행하도록 구성된다.
선택적으로, 후보 참조 이미지 블록은 N개의 참조 이미지 블록 중 일부 이미지 블록이다.
선택적으로, 결정 유닛(320)은 구체적으로 가용한 메모리 대역폭 및/또는 현재의 이미지 블록이 속하는 이미지의 속성 정보에 따라서 모션 정보에서 후보 모션 정보를 결정하고, 후보 모션 정보에 따라서 참조 이미지에서 위치 범위를 결정하도록 구성되며, 여기서 속성 정보는 이하의 파라미터 중 적어도 하나를 지시하는 데 사용되고,
상기한 파라미터는, 현재의 이미지 블록이 속하는 이미지의 해상도, 현재의 이미지 블록이 속하는 이미지의 내용, 현재의 이미지 블록이 속하는 이미지의 소스, 또는 현재의 이미지 블록이 속하는 이미지의 제작 스타일이다.
선택적으로, 처리 유닛(340)은 구체적으로 저장 유닛(330)으로부터 위치 범위 내의 픽셀을 판독하고, 목표 데이터 스트림을 생성하기 위해 위치 범위 내의 픽셀에 따라서 현재의 이미지 블록에 대한 인코딩 처리를 수행하도록 구성되며, 여기서 목표 데이터 스트림은 후보 모션 정보를 지시하는 데 사용되는 제1 인덱스 정보를 포함한다.
선택적으로, 처리 유닛(340)은 구체적으로 저장 유닛(330)으로부터 위치 범위 내의 픽셀을 판독하고, 목표 데이터 스트림을 생성하기 위해 위치 범위 내의 픽셀에 따라서 현재의 이미지 블록에 대한 인코딩 처리를 수행하도록 구성되며, 여기서 목표 데이터 스트림은 참조 이미지에서 위치 범위의 위치와 커버리지 범위를 지시하는 데 사용되는 제2 인덱스 정보를 포함한다.
선택적으로, 후보 참조 이미지 블록은 N개의 참조 이미지 블록의 모든 이미지 블록이다.
본 발명의 본 실시예에 따른 이미지 처리 장치(300)는 본 발명의 실시예의 방법에서의 인코더측에 대응될 수 있고, 이미지 처리 장치(300) 중 각 유닛, 즉 각 모듈의 전술한 다른 동작 및/또는 기능은 도 1에서의 방법(100)의 대응되는 과정을 개별적으로 구현하도록 의도되었으며; 설명을 간결하게 하기 위해 여기에서 중복 설명하지 않는다.
본 발명의 본 실시예에 따른 이미지 처리 장치에 따르면, 위치 범위가 참조 이미지에서 결정되어, 위치 범위가 적어도 하나의 모션 정보에 대응하는 픽셀을 커버할 수 있으며, 전술한 위치 범위 내의 픽셀이 메모리에서 한 번에 판독되는 경우, 최적의 모션 정보가 각 모션 정보에 대응되는 픽셀을 각각 판독하는 대신에 적어도 하나의 모션 정보로부터 결정될 수 있다. 따라서, 메모리 대역폭에 대한 요구가 감소될 수 있으며, 시스템 요구 및 비용이 감소될 수 있다.
도 7은 본 발명의 실시예에 따른 이미지 처리 장치(400)의 개략적인 구성도이다. 도 7에 도시된 바와 같이, 장치(400)는,
현재의 이미지 블록에 인접한 N개의 인접 이미지 블록으로부터 N개의 모션 정보를 획득하도록 구성된 획득 유닛(410) - N개의 인접 이미지 블록은 N개의 모션 정보와 일대일 대응하고, N개의 모션 정보는 현재의 이미지 블록의 참조 이미지에서 N개의 참조 이미지 블록을 지시하는 데 사용되며, N개의 모션 정보는 N개의 참조 이미지 블록과 일대일 대응됨 -;
참조 이미지에서, 저장할 픽셀의 위치 범위를 결정하도록 구성된 결정 유닛(420) - 위치 범위는 후보 참조 이미지 블록의 모든 픽셀을 커버하며, 후보 참조 이미지 블록은 N개의 참조 이미지 블록 중 적어도 하나의 이미지 블록임 -;
위치 범위 내의 모든 픽셀을 저장하도록 구성된 저장 유닛(430); 및
모션 정보 중 후보 모션 정보에 따라서 저장 유닛(430)으로부터 위치 범위 내의 픽셀을 판독하고, 위치 범위 내의 픽셀에 따라서 목표 데이터 스트림에 대한 디코딩 처리를 수행하여 현재의 이미지 블록을 재구성하도록 구성된 처리 유닛(440) - 후보 모션 정보는 후보 참조 이미지 블록에 대응하는 모션 정보임 -을 포함한다.
선택적으로, 후보 참조 이미지 블록은 N개의 참조 이미지 블록 중 적어도 두 개의 이미지 블록이고, 후보 모션 정보는 N개의 모션 정보 중 적어도 두 개의 모션 정보이며,
결정 유닛(420)은 모션 정보에서 후보 모션 정보를 결정하도록 추가로 구성되고;
처리 유닛(440)은 구체적으로 결정 유닛(420)으로부터 후보 모션 정보를 획득하고, 후보 참조 이미지 블록을 획득하기 위해 후보 모션 정보에 따라서 위치 범위 내의 픽셀을 판독하며, 후보 참조 이미지 블록에 따라서 후보 모션 정보로부터 최적의 모션 정보를 결정하고, 최적의 모션 정보에 따라서 목표 데이터 스트림에 대한 디코딩 처리를 수행하도록 구성된다.
선택적으로, 후보 참조 이미지 블록은 N개의 참조 이미지 블록의 모든 이미지 블록이다.
선택적으로, 후보 참조 이미지 블록은 N개의 참조 이미지 블록 중 일부 이미지 블록이다.
선택적으로, 결정 유닛(420)은 구체적으로 모션 정보에서 후보 모션 정보를 결정하고, 후보 모션 정보에 따라서 참조 이미지에서 위치 범위를 결정한다.
선택적으로, 결정 유닛(420)은 구체적으로 가용한 메모리 대역폭 및/또는 현재의 이미지 블록이 속하는 이미지의 속성 정보에 따라서 모션 정보에서 후보 모션 정보를 결정하도록 구성되며, 여기서 속성 정보는 이하의 파라미터 중 적어도 하나를 지시하는 데 사용되며,
상기한 파라미터는, 현재의 이미지 블록이 속하는 이미지의 해상도, 현재의 이미지 블록이 속하는 이미지의 내용, 현재의 이미지 블록이 속하는 이미지의 소스, 또는 현재의 이미지 블록이 속하는 이미지의 제작 스타일이다.
선택적으로, 결정 유닛(420)은 구체적으로 목표 데이터 스트림에서 제1 인덱스 정보를 획득하고, 제1 인덱스 정보에 따라서 모션 정보에서 후보 모션 정보를 결정하도록 구성되며, 여기서 제1 인덱스 정보는 후보 모션 정보를 지시하는 데 사용된다.
선택적으로, 결정 유닛(420)은 구체적으로 목표 데이터 스트림에서 제2 인덱스 정보를 획득하고, 제2 인덱스 정보에 따라서 참조 이미지에서 위치 범위를 결정하도록 구성되며, 여기서 제2 인덱스 정보는 참조 이미지 내의 위치 범위의 위치와 커버리지 범위를 지시하는 데 사용된다.
본 발명의 본 실시예에 따른 이미지 처리 장치(400)는 본 발명의 실시예의 방법에서의 디코더측에 대응될 수 있고, 이미지 처리 장치(400) 중 각 유닛, 즉 각 모듈의 전술한 다른 동작 및/또는 기능은 도 4에서의 방법(200)의 대응되는 과정을 개별적으로 구현하도록 의도되었으며; 설명을 간결하게 하기 위해 여기에서 중복 설명하지 않는다.
본 발명의 본 실시예에 따른 이미지 처리 장치에 따르면, 위치 범위가 참조 이미지에서 결정되어, 위치 범위가 적어도 하나의 모션 정보에 대응하는 픽셀을 커버할 수 있으며, 전술한 위치 범위 내의 픽셀이 메모리에서 한 번에 판독되는 경우, 최적의 모션 정보가 각 모션 정보에 대응되는 픽셀을 각각 판독하는 대신에 적어도 하나의 모션 정보로부터 결정될 수 있다. 따라서, 메모리 대역폭에 대한 요구가 감소될 수 있으며, 시스템 요구 및 비용이 감소될 수 있다.
상기에서 도 1 내지 도 4를 참조하여 본 발명의 실시예에 따른 이미지 처리 방법에 대해 상세하게 설명하였으며, 이하에서는 도 7 및 도 8을 참조하여 본 발명의 실시예에 따른 이미지 처리 인코더와 디코더에 대해 상세하게 설명한다.
도 7은 본 발명의 실시예에 따른 이미지 처리 인코더(500)의 개략적인 구성도이다. 도 7에 도시된 바와 같이, 인코더(500)는,
버스(510);
버스에 접속된 프로세서(520); 및
버스에 접속된 메모리(530)를 포함하고,
프로세서(520)는, 버스(510)를 사용하여, 메모리(530)에 저장된 프로그램을 호출하여, 현재 이미지 블록에 인접한 N개의 인접 이미지 블록으로부터 N개의 모션 정보를 획득하며, 여기서, N개의 인접 이미지 블록은 N개의 모션 정보에 일대일 대응하고, N개의 모션 정보는 현재의 이미지 블록의 참조 이미지에서 N개의 참조 이미지 블록을 지시하는 데 사용되며, N개의 모션 정보는 N개의 참조 이미지 블록과 일대일 대응되며,
미리 설정된 규칙에 따라서 N개의 모션 정보로부터, N개의 모션 정보 중 적어도 하나의 정보인 후보 모션 정보를 결정하고, 참조 이미지에서, 후보 모션 정보에 따라서 저장할 픽셀의 위치 범위를 결정하며, 위치 범위 내의 모든 픽셀을 저장하도록 메모리(530)를 제어하고, 여기서, 위치 범위는 후보 참조 이미지 블록의 모든 픽셀을 커버하며, 후보 참조 이미지 블록은 N개의 참조 이미지 블록 중 적어도 하나의 이미지 블록이고, 후보 모션 정보는 후보 참조 이미지 블록에 대응하며
메모리(530)로부터 위치 범위 내의 픽셀을 판독하고, 위치 범위 내의 픽셀에 따라서 현재의 이미지 블록에 대한 인코딩 처리를 수행하여 목표 데이터 스트림을 생성한다.
선택적으로, 후보 참조 이미지 블록은 N개의 참조 이미지 블록 중 적어도 두 개의 이미지 블록이고, 후보 모션 정보는 N개의 모션 정보 중 적어도 두 개의 모션 정보이며,
프로세서(520)는 구체적으로, 후보 참조 이미지 블록을 획득하기 위해, 후보 모션 정보에 따라서 메모리(530)로부터 위치 범위 내의 픽셀을 판독하고;
후보 참조 이미지 블록에 따라서 후보 모션 정보에서 최적의 모션 정보를 결정하며;
최적의 모션 정보에 따라서 현재의 이미지 블록에 대한 인코딩 처리를 수행하도록 구성된다.
선택적으로, 후보 참조 이미지 블록은 N개의 참조 이미지 블록 중 일부 이미지 블록이다.
선택적으로, 프로세서(520)는 구체적으로 가용한 메모리 대역폭 및/또는 현재의 이미지 블록이 속하는 이미지의 속성 정보에 따라서 모션 정보에서 후보 모션 정보를 결정하고, 후보 모션 정보에 따라서 참조 이미지에서 위치 범위를 결정하도록 구성되며, 여기서 속성 정보는 이하의 파라미터 중 적어도 하나를 지시하는 데 사용되고,
상기한 파라미터는, 현재의 이미지 블록이 속하는 이미지의 해상도, 현재의 이미지 블록이 속하는 이미지의 내용, 현재의 이미지 블록이 속하는 이미지의 소스, 또는 현재의 이미지 블록이 속하는 이미지의 제작 스타일이다.
선택적으로, 프로세서(520)는 구체적으로 메모리(530)로부터 위치 범위 내의 픽셀을 판독하고, 목표 데이터 스트림을 생성하기 위해 위치 범위 내의 픽셀에 따라서 현재의 이미지 블록에 대한 인코딩 처리를 수행하도록 구성되며, 여기서 목표 데이터 스트림은 후보 모션 정보를 지시하는 데 사용되는 제1 인덱스 정보를 포함한다.
선택적으로, 프로세서(520)는 구체적으로 메모리(530)로부터 위치 범위 내의 픽셀을 판독하고, 목표 데이터 스트림을 생성하기 위해 위치 범위 내의 픽셀에 따라서 현재의 이미지 블록에 대한 인코딩 처리를 수행하도록 구성되며, 여기서 목표 데이터 스트림은 참조 이미지에서 위치 범위의 위치와 커버리지 범위를 지시하는 데 사용되는 제2 인덱스 정보를 포함한다.
선택적으로, 후보 참조 이미지 블록은 N개의 참조 이미지 블록의 모든 이미지 블록이다.
본 발명의 본 실시예에서, 장치(500)의 콤포넌트는 버스(510)를 사용하여 함께 접속된다. 버스(510)는 데이터 버스에 더하여, 전원 버스, 제어 버스, 및 상태 신호 버스를 포함한다. 그러나, 명확한 설명을 위해, 도면에서 다양한 유형의 버스가 버스(510)로서 도시된다.
프로세서(520)는 본 발명의 방법 실시예에서 개시된 단계와 논리 블록을 구현하거나 실행할 수 있다. 프로세서(520)는 마이크로프로세서일 수 있거나, 또는 프로세서는 임의의 종래의 프로세서, 디코더 등일 수 있다. 본 발명의 실시예를 참조하여 설명된 방법의 단계는 하드웨어 프로세서에 의해 직접 실행되고 완료될 수 있거나, 디코딩 프로세서 내의 하드웨어와 소프트웨어 모듈의 조합을 사용하여 실행되고 완료될 수 있다. 소프트웨어 모듈은 랜덤 액세스 메모리, 플래시 메모리, 리드-온리 메모리, 프로그래머블 리드-온리 메모리, 전기적으로 소거 가능한 프로그래머블 메모리, 또는 레지스터와 같이, 당기술분야의 일반적인 저장 매체에 위치할 수 있다. 저장 매체는 메모리(530)에 위치하며, 프로세서는 메모리(530)로부터 정보를 판독하고, 프로세서의 하드웨어와 결합하여 전술한 방법의 단계를 완료한다.
본 발명의 실시예에서, 프로세서(520)는 중앙 처리 유닛(Central Processing Unit, CPU)일 수 있고, 또는 프로세서(520)는 다른 범용 프로세서, 디지털 신호 처리기(DSP), 주문형 집적 회로(ASIC), 필드 프로그래머블 게이트 어레이(FPGA), 또는 다른 프로그래머블 논리 장치, 이산 게이트(discrete gate) 또는 트랜지스터 논리 장치, 이산 하드웨어 콤포넌트 등일 수 있다는 것이 이해되어져야 한다. 범용 프로세서는 마이크로프로세서일 수 있거나 또는 프로세서는 임의의 종래의 프로세서 등일 수 있다.
메모리(530)는 리드-온리 메모리와 랜덤 액세스 메모리를 포함하고, 프로세서(520)에게 명령 및 데이터를 제공한다. 메모리(530)의 일부는 비휘발성 랜덤 액세스 메모리를 더 포함할 수 있다. 예를 들어, 메모리(530)는 장치 유형 정보를 더 저장할 수 있다.
구현 과정에서, 전술한 방법 단계는 프로세서(520) 내의 하드웨어의 집적된 논리 회로 또는 소프트웨어 형태의 명령에 의해 실행될 수 있다. 본 발명의 실시예를 참조하여 설명된 방법의 단계는 하드웨어 프로세서에 의해 직접 실행되고 완료될 수 있거나, 프로세서 내의 하드웨어와 소프트웨어 모듈의 조합을 사용하여 실행되고 완료될 수 있다. 소프트웨어 모듈은 랜덤 액세스 메모리, 플래시 메모리, 리드-온리 메모리, 프로그래머블 리드-온리 메모리, 전기적으로 소거 가능한 프로그래머블 메모리, 또는 레지스터와 같이, 당기술분야의 일반적인 저장 매체에 위치할 수 있다.
본 발명의 본 실시예에 따른 이미지 처리 인코더(500)는 본 발명의 실시예의 방법에서의 인코더측에 대응될 수 있고, 이미지 처리 인코더(500) 중 각 유닛, 즉 각 모듈의 전술한 다른 동작 및/또는 기능은 도 1에서의 방법(100)의 대응되는 과정을 개별적으로 구현하도록 의도되었으며; 설명을 간결하게 하기 위해 여기에서 중복 설명하지 않는다.
본 발명의 본 실시예에 따른 이미지 처리 인코더에 따르면, 위치 범위가 참조 이미지에서 결정되어, 위치 범위가 적어도 하나의 모션 정보에 대응하는 픽셀을 커버할 수 있으며, 전술한 위치 범위 내의 픽셀이 메모리에서 한 번에 판독되는 경우, 최적의 모션 정보가 각 모션 정보에 대응되는 픽셀을 각각 판독하는 대신에 적어도 하나의 모션 정보로부터 결정될 수 있다. 따라서, 메모리 대역폭에 대한 요구가 감소될 수 있으며, 시스템 요구 및 비용이 감소될 수 있다.
도 8은 본 발명의 실시예에 따른 이미지 처리 디코더(500)의 개략적인 구성도이다. 도 9 도시된 바와 같이, 디코더(600)는,
버스(610);
버스에 접속된 프로세서(620); 및
버스에 접속된 메모리(630)를 포함하고,
프로세서(620)는, 버스(610)를 사용하여, 메모리(630)에 저장된 프로그램을 호출하여, 현재의 이미지 블록에 인접한 N개의 인접 이미지 블록으로부터 N개의 모션 정보를 획득하도록 구성되며, 여기서 N개의 인접 이미지 블록은 N개의 모션 정보와 일대일 대응하고, N개의 모션 정보는 현재의 이미지 블록의 참조 이미지에서 N개의 참조 이미지 블록을 지시하는 데 사용되며, N개의 모션 정보는 N개의 참조 이미지 블록과 일대일 대응하고;
참조 이미지에서, 저장할 픽셀의 위치 범위를 결정하고, 위치 범위 내의 모든 픽셀을 저장하도록 메모리(630)를 제어하며, 여기서, 위치 범위는 후보 참조 이미지 블록의 모든 픽셀을 커버하고, 후보 참조 이미지 블록은 N개의 참조 이미지 블록 중 적어도 하나의 이미지 블록이며;
모션 정보 중 후보 모션 정보에 따라서 메모리(630)로부터 위치 범위 내의 픽셀을 판독하고, 위치 범위 내의 픽셀에 따라서 목표 데이터 스트림에 대한 디코딩 처리를 수행하여 현재의 이미지 블록을 재구성하며, 여기서, 후보 모션 정보는 후보 참조 이미지 블록에 대응하는 모션 정보이다.
선택적으로, 후보 참조 이미지 블록은 N개의 참조 이미지 블록 중 적어도 두 개의 이미지 블록이고, 후보 모션 정보는 N개의 모션 정보 중 적어도 두 개의 모션 정보이며,
프로세서(620)는 구체적으로 모션 정보에서 후보 모션 정보를 결정하고;
후보 참조 이미지 블록을 획득하기 위해 후보 모션 정보에 따라서 메모리(630)로부터 위치 범위 내의 픽셀을 판독하며;
후보 참조 이미지 블록에 따라서 후보 모션 정보로부터 최적의 모션 정보를 결정하고;
최적의 모션 정보에 따라서 목표 데이터 스트림에 대한 디코딩 처리를 수행하도록 구성된다.
선택적으로, 후보 참조 이미지 블록은 N개의 참조 이미지 블록의 모든 이미지 블록이다.
선택적으로, 후보 참조 이미지 블록은 N개의 참조 이미지 블록 중 일부 이미지 블록이다.
선택적으로, 프로세서(620)는 구체적으로 모션 정보에서 후보 모션 정보를 결정하고,
후보 모션 정보에 따라서 참조 이미지에서 위치 범위를 결정하도록 구성된다.
선택적으로, 프로세서(620)는 구체적으로 가용한 메모리 대역폭 및/또는 현재의 이미지 블록이 속하는 이미지의 속성 정보에 따라서 모션 정보에서 후보 모션 정보를 결정하도록 구성되며, 여기서 속성 정보는 이하의 파라미터 중 적어도 하나를 지시하는 데 사용되며,
상기한 파라미터는, 현재의 이미지 블록이 속하는 이미지의 해상도, 현재의 이미지 블록이 속하는 이미지의 내용, 현재의 이미지 블록이 속하는 이미지의 소스, 또는 현재의 이미지 블록이 속하는 이미지의 제작 스타일이다.
선택적으로, 프로세서(620)는 구체적으로 목표 데이터 스트림에서 제1 인덱스 정보를 획득하며, 여기서 제1 인덱스 정보는 후보 모션 정보를 지시하는 데 사용되고,
제1 인덱스 정보에 따라서 모션 정보에서 후보 모션 정보를 결정하도록 구성된다.
선택적으로, 프로세서(620)는 구체적으로 목표 데이터 스트림에서 제2 인덱스 정보를 획득하며, 여기서 제2 인덱스 정보는 참조 이미지 내의 위치 범위의 위치와 커버리지 범위를 지시하는 데 사용되고,
제2 인덱스 정보에 따라서 참조 이미지에서 위치 범위를 결정하도록 구성된다.
본 발명의 본 실시예에서, 장치(600)의 콤포넌트는 버스(610)를 사용하여 함께 접속된다. 버스(610)는 데이터 버스에 더하여, 전원 버스, 제어 버스, 및 상태 신호 버스를 포함한다. 그러나, 명확한 설명을 위해, 도면에서 다양한 유형의 버스가 버스(610)로서 도시된다.
프로세서(620)는 본 발명의 방법 실시예에서 개시된 단계와 논리 블록을 구현하거나 실행할 수 있다. 프로세서(620)는 마이크로프로세서일 수 있거나, 또는 프로세서는 임의의 종래의 프로세서, 디코더 등일 수 있다. 본 발명의 실시예를 참조하여 설명된 방법의 단계는 하드웨어 프로세서에 의해 직접 실행되고 완료될 수 있거나, 디코딩 프로세서 내의 하드웨어와 소프트웨어 모듈의 조합을 사용하여 실행되고 완료될 수 있다. 소프트웨어 모듈은 랜덤 액세스 메모리, 플래시 메모리, 리드-온리 메모리, 프로그래머블 리드-온리 메모리, 전기적으로 소거 가능한 프로그래머블 메모리, 또는 레지스터와 같이, 당기술분야의 일반적인 저장 매체에 위치할 수 있다. 저장 매체는 메모리(630)에 위치하며, 프로세서는 메모리(630)로부터 정보를 판독하고, 프로세서의 하드웨어와 결합하여 전술한 방법의 단계를 완료한다.
본 발명의 실시예에서, 프로세서(620)는 중앙 처리 유닛(Central Processing Unit, CPU)일 수 있고, 또는 프로세서(620)는 다른 범용 프로세서, 디지털 신호 처리기(DSP), 주문형 집적 회로(ASIC), 필드 프로그래머블 게이트 어레이(FPGA), 또는 다른 프로그래머블 논리 장치, 이산 게이트(discrete gate) 또는 트랜지스터 논리 장치, 이산 하드웨어 콤포넌트 등일 수 있다는 것이 이해되어져야 한다. 범용 프로세서는 마이크로프로세서일 수 있거나 또는 프로세서는 임의의 종래의 프로세서 등일 수 있다.
메모리(530)는 리드-온리 메모리와 랜덤 액세스 메모리를 포함하고, 프로세서(620)에게 명령 및 데이터를 제공한다. 메모리(630)의 일부는 비휘발성 랜덤 액세스 메모리를 더 포함할 수 있다. 예를 들어, 메모리(630)는 장치 유형 정보를 더 저장할 수 있다.
구현 과정에서, 전술한 방법 단계는 프로세서(620) 내의 하드웨어의 집적된 논리 회로 또는 소프트웨어 형태의 명령에 의해 실행될 수 있다. 본 발명의 실시예를 참조하여 설명된 방법의 단계는 하드웨어 프로세서에 의해 직접 실행되고 완료될 수 있거나, 프로세서 내의 하드웨어와 소프트웨어 모듈의 조합을 사용하여 실행되고 완료될 수 있다. 소프트웨어 모듈은 랜덤 액세스 메모리, 플래시 메모리, 리드-온리 메모리, 프로그래머블 리드-온리 메모리, 전기적으로 소거 가능한 프로그래머블 메모리, 또는 레지스터와 같이, 당기술분야의 일반적인 저장 매체에 위치할 수 있다.
본 발명의 본 실시예에 따른 이미지 처리 인코더(600)는 본 발명의 실시예의 방법에서의 인코더측에 대응될 수 있고, 이미지 처리 인코더(600) 중 각 유닛, 즉 각 모듈의 전술한 다른 동작 및/또는 기능은 도 4에서의 방법(200)의 대응되는 과정을 개별적으로 구현하도록 의도되었으며; 설명을 간결하게 하기 위해 여기에서 중복 설명하지 않는다.
본 발명의 본 실시예에 따른 이미지 처리 인코더에 따르면, 위치 범위가 참조 이미지에서 결정되어, 위치 범위가 적어도 하나의 모션 정보에 대응하는 픽셀을 커버할 수 있으며, 전술한 위치 범위 내의 픽셀이 메모리에서 한 번에 판독되는 경우, 최적의 모션 정보가 각 모션 정보에 대응되는 픽셀을 각각 판독하는 대신에 적어도 하나의 모션 정보로부터 결정될 수 있다. 따라서, 메모리 대역폭에 대한 요구가 감소될 수 있으며, 시스템 요구 및 비용이 감소될 수 있다.
본 발명의 실시예에서, 인코더측과 디코더측이, 동일한 규칙을 사용하여, 인코딩과 디코딩 처리를 위해 사용되는 위치 범위와 모션 벡터를 미리 결정하는 경우, 인코더측과 디코더측이 위치 범위를 결정하는 방식(즉, 결정된 위치 범위가 모든 또는 일부 참조 이미지 블록을 커버하는 경우)이 일치하는 것이 보장될 필요가 있다.
또한, 상기에서, 위치 범위가 참조 이미지 내에서 직사각형 영역인 실시예가 열거되지만, 본 발명은 여기에 한정되지 않는다. 위치 범위의 형태는, 위치 범위가 후보 참조 이미지 블록을 커버할 수 있는 것이 보장될 수 있는 한 임으로 설정될 수 있으며, 이것은 본 발명에서 구체적으로 한정되지 않는다.
전술한 과정의 순서가 본 발명의 다양한 실시예에서 실행 순서를 의미하지는 않는다는 것이 이해되어져야 한다. 해당 과정의 실행 순서는 과정의 기능과 내부 로직에 따라서 결정되어져야 하며, 본 발명의 실시예의 구현 과정에 대한 어떠한 한정으로 구성되어져서는 안된다.
또한, 메모리 대역폭은 단위 시간에서 메모리에 대한 메모리 공간 액세스의 회수를 평가하는 지시자이다.
통상의 기술자라면, 본 명세서에서 개시된 실시예에 기술된 예시들의 조합에 있어서, 유닛과 알고리즘 단계가 전자 하드웨어 또는 컴퓨터 소프트웨어와 전자 하드웨어의 조합에 의해 구현될 수 있다는 것을 잘 알 것이다. 기능들이 하드웨어에 의해 수행되는지 소프트웨어에 의해 수행되는지는 기술적 해결수단의 구체적인 적용 및 설계 제약 조건에 따라 결정된다. 통상의 기술자라면, 상술한 기능을 각각의 구체적인 적용을 위해 상이한 방법을 사용하여 구현할 수 있지만, 그 또한 본 발명의 보호 범위를 벗어난 것으로 취급되지 않는다.
통상의 기술자라면, 간편하게 기술하기 위한 목적으로, 전술한 시스템, 장치 및 유닛의 구체적인 작동 프로세스에 대해, 전술한 방법 실시예에서의 대응하는 프로세스를 참조하고 상세한 반복 설명은 생략되었다는 것을 이해할 것이다.
본 출원에서 제공된 여러 실시예에서, 개시된 시스템, 장치 및 방법은 다른 방식으로 구현될 수 있다. 예컨대, 기술된 장치 실시예는 단지 예시적이다. 예컨대, 유닛 분할은 단지 논리적 기능 분할이며 실제 구현에서는 다르게 나누어질 수 있다. 예컨대, 복수의 유닛 또는 콤포넌트는 다른 하나의 시스템으로 결합되거나 통합될 수 있고, 또는 일부 특징은 무시되거나 또는 수행되지 않을 수도 있다. 또한, 표시되거나 설명된 상호 간의 연결 또는 직접 연결 또는 통신 연결은 임의의 인터페이스를 통해 구현될 수 있다. 장치 또는 유닛 간의 간접적인 연결 또는 통신 연결은 전자, 기계 또는 다른 형태로 구현될 수 있다.
별개의 부분으로 설명된 유닛은 물리적으로 독립된 것이거나, 물리적으로 독립되지 않은 것일 수 있고, 유닛으로 도시된 부분이 물리적 유닛일 수 있거나 물리적 유닛이 아닐 수 있거나, 또는 한 곳에 위치될 수 있거나, 복수의 네트워크 유닛 상에 분배되어 있을 수 있다. 일부 또는 모든 유닛은, 실시예의 해결수단의 목적을 달성하기 위해 실제 요건에 따라 선택될 수 있다.
또한, 본 발명의 실시예에서의 기능적 유닛은 하나의 처리 유닛으로 통합될 수도 있고, 또는 각 유닛이 물리적으로 독립하여 존재할 수도 있으며, 또는 둘 이상의 유닛이 하나의 유닛으로 통합될 수도 있다.
기능이 소프트웨어 기능 유닛의 형태로 구현되고 독립된 제품으로 판매되거나 사용되는 경우, 그 기능은 컴퓨터에 의해 판독 가능한 저장 매체에 저장할 수 있다. 그러한 사상에 기초하는 경우, 본 발명의 기술적 해결수단은 필수적으로, 또는 종래 기술에 기여하는 부분 또는 그 기술적 해결수단 일부는 소프트웨어 제품의 형태로 구현될 수 있다. 컴퓨터 소프트웨어 제품은 저장 매체에 저장되고, 컴퓨터 장치(개인용 컴퓨터, 서버, 또는 네트워크 장치 등)로 하여금 본 발명의 실시예에서 기술된 방법의 일부 또는 모든 단계를 수행하도록 하는 명령어를 포함한다. 전술한 저장 매체는, USB 플래시 드라이브, 탈착 가능한 하드 디스크, ROM(Read-Only Memory), RAM(Random Access Memory), 자기 디스크 또는 광 디스크와 같은, 프로그램 코드를 저장할 수 있으면 어떤 매체라도 좋다.
전술한 설명은 단지 본 발명의 구체적인 실시예일 뿐이며, 본 발명의 보호 범위를 제한하기 위한 것이 아니다. 통상의 기술자가 본 발명에서 개시된 기술적 범위 내에서 생각해 낼 수 있는 변형 또는 대체는 모두 본 발명의 보호 범위 내에 속한다. 따라서, 본 발명의 보호 범위는 청구범위의 보호 범위에 의해 결정되어야 한다.

Claims (30)

  1. 이미지 처리 방법으로서,
    현재의 이미지 블록에 인접한 N개의 인접 이미지 블록으로부터 N개의 모션 정보(motion information)를 획득하는 단계 - 상기 N개의 인접 이미지 블록은 상기 N개의 모션 정보와 일대일 대응하고, 상기 N개의 모션 정보는 상기 현재의 이미지 블록의 참조 이미지(reference image) 내의 N개의 참조 이미지 블록을 지시하는 데 사용되며, 상기 N개의 모션 정보는 상기 N개의 참조 이미지 블록과 일대일 대응함 -;
    미리 설정된 규칙에 따라서 상기 N개의 모션 정보로부터 후보 모션 정보를 결정하는 단계 - 상기 후보 모션 정보는 상기 N개의 모션 정보 중 적어도 하나의 정보임 -;
    상기 참조 이미지에서, 상기 후보 모션 정보에 따라서, 저장할 픽셀(pixel)의 위치 범위(location range)를 결정하고, 상기 위치 범위 내의 모든 픽셀을 저장하는 단계 - 상기 위치 범위는 후보 참조 이미지 블록의 모든 픽셀을 커버(cover)하고, 상기 후보 참조 이미지 블록은 상기 N개의 참조 이미지 블록 중 적어도 하나의 이미지 블록이며, 상기 후보 참조 이미지 블록은 상기 후보 모션 정보에 대응하는 이미지 블록임 -; 및
    목표 데이터 스트림을 생성하기 위해, 상기 위치 범위 내의 픽셀을 판독하고, 상기 위치 범위 내의 픽셀에 따라서 상기 현재의 이미지 블록에 대한 인코딩 처리를 수행하는 단계
    를 포함하는 이미지 처리 방법.
  2. 제1항에 있어서,
    상기 후보 참조 이미지 블록은 상기 N개의 참조 이미지 블록 중 적어도 두 개의 이미지 블록이고, 상기 후보 모션 정보는 상기 N개의 모션 정보 중 적어도 두 개의 모션 정보이며,
    상기 위치 범위 내의 픽셀을 판독하고, 상기 위치 범위 내의 픽셀에 따라서 상기 현재의 이미지 블록에 대한 인코딩 처리를 수행하는 단계는,
    상기 후보 참조 이미지 블록을 획득하기 위해, 상기 후보 모션 정보에 따라서 상기 위치 범위 내의 픽셀을 판독하는 단계;
    상기 후보 참조 이미지 블록에 따라서 상기 후보 모션 정보로부터 최적의 모션 정보를 결정하는 단계; 및
    상기 최적의 모션 정보에 따라서 상기 현재의 이미지 블록에 대한 인코딩 처리를 수행하는 단계
    를 포함하는, 이미지 처리 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 후보 참조 이미지 블록은 상기 N개의 참조 이미지 블록 중 일부 이미지 블록인,
    이미지 처리 방법.
  4. 제3항에 있어서,
    상기 미리 설정된 규칙에 따라서 상기 N개의 모션 정보로부터 후보 모션 정보를 결정하는 단계는,
    가용한 메모리 대역폭 및/또는 상기 현재의 이미지 블록이 속하는 이미지의 속성 정보에 따라서 상기 모션 정보로부터 상기 후보 모션 정보를 결정하는 단계를 포함하며,
    상기 속정 정보는,
    상기 현재의 이미지 블록이 속하는 상기 이미지의 해상도, 상기 현재의 이미지 블록이 속하는 상기 이미지의 내용, 상기 현재의 이미지 블록이 속하는 상기 이미지의 소스, 또는 상기 현재의 이미지 블록이 속하는 상기 이미지의 제작 스타일
    을 포함하는 파라미터들 중 적어도 하나를 지시하는 데 사용되는,
    이미지 처리 방법.
  5. 제3항 또는 제4항에 있어서,
    상기 목표 데이터 스트림을 생성하기 위해, 상기 위치 범위 내의 픽셀을 판독하고, 상기 위치 범위 내의 픽셀에 따라서 상기 현재의 이미지 블록에 대한 인코딩 처리를 수행하는 단계는,
    상기 목표 데이터 스트림을 생성하기 위해, 상기 위치 범위 내의 픽셀을 판독하고, 상기 위치 범위 내의 픽셀에 따라서 상기 현재의 이미지 블록에 대한 인코딩 처리를 수행하는 단계를 포함하고,
    상기 목표 데이터 스트림은 상기 후보 모션 정보를 지시하는 데 사용되는 제1 인덱스 정보를 포함하는,
    이미지 처리 방법.
  6. 제3항 내지 제5항 중 어느 한 항에 있어서,
    상기 목표 데이터 스트림을 생성하기 위해, 상기 위치 범위 내의 픽셀을 판독하고, 상기 위치 범위 내의 픽셀에 따라서 상기 현재의 이미지 블록에 대한 인코딩 처리를 수행하는 단계는,
    상기 목표 데이터 스트림을 생성하기 위해, 상기 위치 범위 내의 픽셀을 판독하고, 상기 위치 범위 내의 픽셀에 따라서 상기 현재의 이미지 블록에 대한 인코딩 처리를 수행하는 단계를 포함하고,
    상기 목표 데이터 스트림은 상기 참조 이미지에서 상기 위치 범위의 위치와 커버리지 범위(coverage range)를 지시하는 데 사용되는 제2 인덱스 정보를 포함하는,
    이미지 처리 방법.
  7. 제1항 또는 제2항에 있어서,
    상기 후보 참조 이미지 블록은 상기 N개의 참조 이미지 블록의 모든 이미지 블록인,
    이미지 처리 방법.
  8. 이미지 처리 방법으로서,
    현재의 이미지 블록에 인접한 N개의 인접 이미지 블록으로부터 N개의 모션 정보를 획득하는 단계 - 상기 N개의 인접 이미지 블록은 상기 N개의 모션 정보와 일대일 대응하고, 상기 N개의 모션 정보는 상기 현재의 이미지 블록의 참조 이미지 내의 N개의 참조 이미지 블록을 지시하는 데 사용되며, 상기 N개의 모션 정보는 상기 N개의 참조 이미지 블록과 일대일 대응함 -;
    상기 참조 이미지에서, 저장할 픽셀의 위치 범위를 결정하고, 상기 위치 범위 내의 모든 픽셀을 저장하는 단계 - 상기 위치 범위는 후보 참조 이미지 블록의 모든 픽셀을 커버하며, 상기 후보 참조 이미지 블록은 상기 N개의 참조 이미지 블록 중 적어도 하나의 이미지 블록임 -; 및
    현재의 이미지 블록을 재구성하기 위해, 상기 모션 정보 중 후보 모션 정보에 따라서 상기 위치 범위 내의 픽셀을 판독하고, 상기 위치 범위 내의 픽셀에 따라서 목표 데이터 스트림에 대한 디코딩 처리를 수행하는 단계를
    포함하고,
    상기 후보 모션 정보는 상기 후보 참조 이미지 블록에 대응하는 모션 정보인,
    이미지 처리 방법.
  9. 제8항에 있어서,
    상기 후보 참조 이미지 블록은 상기 N개의 참조 이미지 블록 중 적어도 두 개의 이미지 블록이고, 상기 후보 모션 정보는 상기 N개의 모션 정보 중 적어도 두 개의 모션 정보이며,
    상기 모션 정보 중 후보 모션 정보에 따라서 상기 위치 범위 내의 픽셀을 판독하고, 상기 위치 범위 내의 픽셀에 따라서 목표 데이터 스트림에 대한 디코딩 처리를 수행하는 단계는,
    상기 모션 정보로부터 상기 후보 모션 정보를 결정하는 단계;
    상기 후보 참조 이미지 블록을 획득하기 위해, 상기 후보 모션 정보에 따라서 상기 위치 범위 내의 픽셀을 판독하는 단계;
    상기 후보 참조 이미지 블록에 따라서 상기 후보 모션 정보로부터 최적의 모션 정보를 결정하는 단계; 및
    상기 최적의 모션 정보에 따라서 상기 목표 데이터 스트림에 대한 디코딩 처리를 수행하는 단계
    를 포함하는, 이미지 처리 방법.
  10. 제8항 또는 제9에 있어서,
    상기 후보 참조 이미지 블록은 상기 N개의 참조 이미지 블록의 모든 이미지 블록인,
    이미지 처리 방법.
  11. 제8항 또는 제9항에 있어서,
    상기 후보 참조 이미지 블록은 상기 N개의 참조 이미지 블록 중 일부 이미지 블록인,
    이미지 처리 방법.
  12. 제11항에 있어서,
    상기 참조 이미지에서, 저장할 픽셀의 위치 범위를 결정하는 과정은,
    상기 모션 정보로부터 상기 후보 모션 정보를 결정하는 단계; 및
    상기 후보 모션 정보에 따라서 상기 참조 이미지에서 상기 위치 범위를 결정하는 단계
    를 포함하는, 이미지 처리 방법.
  13. 제9항 또는 제12항에 있어서,
    상기 모션 정보로부터 상기 후보 모션 정보를 결정하는 단계는,
    가용한 메모리 대역폭 및/또는 상기 현재의 이미지 블록이 속하는 이미지의 속성 정보에 따라서 상기 모션 정보로부터 상기 후보 모션 정보를 결정하는 단계를 포함하며,
    상기 속정 정보는,
    상기 현재의 이미지 블록이 속하는 상기 이미지의 해상도, 상기 현재의 이미지 블록이 속하는 상기 이미지의 내용, 상기 현재의 이미지 블록이 속하는 상기 이미지의 소스, 또는 상기 현재의 이미지 블록이 속하는 상기 이미지의 제작 스타일
    을 포함하는 파라미터들 중 적어도 하나를 지시하는 데 사용되는,
    이미지 처리 방법.
  14. 제9항 또는 제12항에 있어서,
    상기 모션 정보로부터 상기 후보 모션 정보를 결정하는 단계는,
    상기 목표 데이터 스트림으로부터 상기 후보 모션 정보를 지시하는 데 사용되는 제1 인덱스 정보를 획득하는 단계; 및
    상기 제1 인덱스 정보에 따라서 상기 모션 정보로부터 상기 후보 모션 정보를 결정하는 단계
    를 포함하는, 이미지 처리 방법.
  15. 제8항 내지 제14항 중 어느 한 항에 있어서,
    상기 참조 이미지에서, 저장할 픽셀의 위치 범위를 결정하는 단계는,
    상기 목표 데이터 스트림으로부터, 상기 참조 이미지에서 상기 위치 범위의 위치와 커버리지 범위를 지시하는 데 사용되는 제2 인덱스 정보를 획득하는 단계; 및
    상기 제2 인덱스 정보에 따라서 상기 참조 이미지에서 상기 위치 범위를 결정하는 단계
    를 포함하는, 이미지 처리 방법.
  16. 이미지 처리 장치로서,
    현재의 이미지 블록에 인접한 N개의 인접 이미지 블록으로부터 N개의 모션 정보를 획득하도록 구성된 획득 유닛 - 상기 N개의 인접 이미지 블록은 상기 N개의 모션 정보와 일대일 대응하고, 상기 N개의 모션 정보는 상기 현재의 이미지 블록의 참조 이미지에서 N개의 참조 이미지 블록을 지시하는 데 사용되며, 상기 N개의 모션 정보는 상기 N개의 참조 이미지 블록과 일대일 대응함 -;
    미리 설정된 규칙에 따라서 상기 N개의 모션 정보로부터 후보 모션 정보를 결정하고, 상기 참조 이미지에서, 상기 후보 모션 정보에 따라서, 저장할 픽셀의 위치 범위를 결정하도록 구성된 결정 유닛 - 상기 후보 모션 정보는 상기 N개의 모션 정보 중 적어도 하나의 정보이고, 상기 위치 범위는 후보 참조 이미지 블록의 모든 픽셀을 커버하고, 상기 후보 참조 이미지 블록은 상기 N개의 참조 이미지 블록 중 적어도 하나의 이미지 블록이며, 상기 후보 모션 정보는 상기 후보 참조 이미지 블록에 대응하는 모션 정보임 -;
    상기 위치 범위 내의 모든 픽셀을 저장하도록 구성된 저장 유닛; 및
    목표 데이터 스트림을 생성하기 위해, 상기 저장 유닛으로부터 상기 위치 범위 내의 픽셀을 판독하고, 상기 위치 범위 내의 픽셀에 따라서 상기 현재의 이미지 블록에 대한 인코딩 처리를 수행하도록 구성된 처리 유닛
    을 포함하는 이미지 처리 장치.
  17. 제16항에 있어서,
    상기 후보 참조 이미지 블록은 상기 N개의 참조 이미지 블록 중 적어도 두 개의 이미지 블록이고, 상기 후보 모션 정보는 상기 N개의 모션 정보 중 적어도 두 개의 모션 정보이며,
    상기 처리 유닛은 구체적으로, 상기 후보 참조 이미지 블록을 획득하기 위해, 상기 후모 모션 정보에 따라서 상기 저장 유닛으로부터 상기 위치 범위 내의 픽셀을 판독하고,
    상기 후보 참조 이미지 블록에 따라서 상기 후보 모션 정보로부터 최적의 모션 정보를 결정하며,
    상기 최적의 모션 정보에 따라서 상기 현재의 이미지 블록에 대한 인코딩 처리를 수행하도록 구성된,
    이미지 처리 장치.
  18. 제16항 또는 제17항에 있어서,
    상기 후보 참조 이미지 블록은 상기 N개의 참조 이미지 블록 중 일부 이미지 블록인,
    이미지 처리 장치.
  19. 제18항에 있어서,
    상기 결정 유닛은 구체적으로 가용한 메모리 대역폭 및/또는 상기 현재의 이미지 블록이 속하는 이미지의 속성 정보에 따라서 상기 모션 정보로부터 상기 후보 모션 정보를 결정하고, 상기 후보 모션 정보에 따라서 상기 참조 이미지에서 상기 위치 범위를 결정하도록 구성되며,
    상기 속정 정보는,
    상기 현재의 이미지 블록이 속하는 상기 이미지의 해상도, 상기 현재의 이미지 블록이 속하는 상기 이미지의 내용, 상기 현재의 이미지 블록이 속하는 상기 이미지의 소스, 또는 상기 현재의 이미지 블록이 속하는 상기 이미지의 제작 스타일
    을 포함하는 파라미터들 중 적어도 하나를 지시하는 데 사용되는,
    이미지 처리 장치.
  20. 제18항 또는 제19항에 있어서,
    상기 처리 유닛은 구체적으로, 상기 목표 데이터 스트림을 생성하기 위해, 상기 저장 유닛으로부터 상기 위치 범위 내의 픽셀을 판독하고, 상기 위치 범위 내의 픽셀에 따라서 상기 현재의 이미지 블록에 대한 인코딩 처리를 수행하도록 구성되며,
    상기 목표 데이터 스트림은 상기 후보 모션 정보를 지시하는 데 사용되는 제1 인덱스 정보를 포함하는,
    이미지 처리 장치.
  21. 제18항 내지 제20항 중 어느 한 항에 있어서,
    상기 처리 유닛은 구체적으로, 상기 목표 데이터 스트림을 생성하기 위해, 상기 저장 유닛으로부터 상기 위치 범위 내의 픽셀을 판독하고, 상기 위치 범위 내의 픽셀에 따라서 상기 현재의 이미지 블록에 대한 인코딩 처리를 수행하도록 구성되며,
    상기 목표 데이터 스트림은 상기 참조 이미지에서 상기 위치 범위의 위치와 커버리지 범위를 지시하는 데 사용되는 제2 인덱스 정보를 포함하는,
    이미지 처리 장치.
  22. 제16항 또는 제17항에 있어서,
    상기 후보 참조 이미지 블록은 상기 N개의 참조 이미지 블록의 모든 이미지 블록인,
    이미지 처리 장치.
  23. 이미지 처리 장치로서,
    현재의 이미지 블록에 인접한 N개의 인접 이미지 블록으로부터 N개의 모션 정보를 획득하도록 구성된 획득 유닛 - 상기 N개의 인접 이미지 블록은 상기 N개의 모션 정보와 일대일 대응하고, 상기 N개의 모션 정보는 상기 현재의 이미지 블록의 참조 이미지 내의 N개의 참조 이미지 블록을 지시하는 데 사용되며, 상기 N개의 모션 정보는 상기 N개의 참조 이미지 블록과 일대일 대응함 -;
    상기 참조 이미지에서, 저장할 픽셀의 위치 범위를 결정하도록 구성된 결정 유닛 - 상기 위치 범위는 후보 참조 이미지 블록의 모든 픽셀을 커버하고, 상기 후보 참조 이미지 블록은 상기 N개의 참조 이미지 블록 중 적어도 하나의 이미지 블록임 -;
    상기 위치 범위 내의 모든 픽셀을 저장하도록 구성된 저장 유닛; 및
    현재의 이미지 블록을 재구성하기 위해, 상기 모션 정보 중 후보 모션 정보에 따라서 상기 저장 유닛으로부터 상기 위치 범위 내의 픽셀을 판독하고, 상기 위치 범위 내의 픽셀에 따라서 목표 데이터 스트림에 대한 디코딩 처리를 수행하도록 구성된 처리 유닛
    을 포함하고,
    상기 후보 모션 정보는 상기 후보 참조 이미지 블록에 대응하는 모션 정보인,
    이미지 처리 장치.
  24. 제23항에 있어서,
    상기 후보 참조 이미지 블록은 상기 N개의 참조 이미지 블록 중 적어도 두 개의 이미지 블록이고, 상기 후보 모션 정보는 상기 N개의 모션 정보 중 적어도 두 개의 모션 정보이며,
    상기 결정 유닛은 상기 모션 정보로부터 상기 후보 모션 정보를 결정하도록 추가로 구성되고,
    상기 처리 유닛은 구체적으로, 상기 후보 참조 이미지 블록을 획득하기 위해, 상기 결정 유닛으로부터 상기 후보 모션 정보를 획득하고, 상기 후보 모션 정보에 따라서 상기 위치 범위 내의 픽셀을 판독하며, 상기 후보 참조 이미지 블록에 따라서 상기 후보 모션 정보로부터 최적의 모션 정보를 결정하고, 상기 최적의 모션 정보에 따라서 상기 목표 데이터 스트림에 대한 디코딩 처리를 수행하도록 구성된,
    이미지 처리 장치.
  25. 제23항 또는 제24에 있어서,
    상기 후보 참조 이미지 블록은 상기 N개의 참조 이미지 블록의 모든 이미지 블록인,
    이미지 처리 장치.
  26. 제23항 또는 제24항에 있어서,
    상기 후보 참조 이미지 블록은 상기 N개의 참조 이미지 블록 중 일부 이미지 블록인,
    이미지 처리 장치.
  27. 제26항에 있어서,
    상기 결정 유닛은 구체적으로 상기 모션 정보로부터 상기 후보 모션 정보를 결정하고, 상기 후보 모션 정보에 따라서 상기 참조 이미지에서 상기 위치 범위를 결정하도록 구성된,
    이미지 처리 장치.
  28. 제24항 또는 제27항에 있어서,
    상기 결정 유닛은 구체적으로 가용한 메모리 대역폭 및/또는 상기 현재의 이미지 블록이 속하는 이미지의 속성 정보에 따라서 상기 모션 정보로부터 상기 후보 모션 정보를 결정하도록 구성되며,
    상기 속정 정보는,
    상기 현재의 이미지 블록이 속하는 상기 이미지의 해상도, 상기 현재의 이미지 블록이 속하는 상기 이미지의 내용, 상기 현재의 이미지 블록이 속하는 상기 이미지의 소스, 또는 상기 현재의 이미지 블록이 속하는 상기 이미지의 제작 스타일
    을 포함하는 파라미터들 중 적어도 하나를 지시하는 데 사용되는,
    이미지 처리 장치.
  29. 제24항 또는 제27항에 있어서,
    상기 결정 유닛은 구체적으로 상기 목표 데이터 스트림으로부터 제1 인덱스 정보를 획득하고, 상기 제1 인덱스 정보에 따라서 상기 모션 정보로부터 상기 후보 모션 정보를 결정하도록 구성되며,
    상기 제1 인덱스 정보는 상기 후보 모션 정보를 지시하는 데 사용되는,
    이미지 처리 장치.
  30. 제23항 내지 제29항 중 어느 한 항에 있어서,
    상기 결정 유닛은 구체적으로 상기 목표 데이터 스트림으로부터 제2 인덱스 정보를 획득하고, 상기 제2 인덱스 정보에 따라서 상기 참조 이미지에서 상기 위치 범위를 결정하도록 구성되며,
    상기 제2 인덱스 정보는 상기 참조 이미지에서 상기 위치 범위의 위치와 커버리지 범위를 지시하는 데 사용되는,
    이미지 처리 장치.
KR1020167016912A 2013-12-13 2014-12-12 이미지 처리 방법 및 장치 KR101779872B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201310689002.1A CN104717510B (zh) 2013-12-13 2013-12-13 用于图像处理的方法和装置
CN201310689002.1 2013-12-13
PCT/CN2014/093650 WO2015085945A1 (zh) 2013-12-13 2014-12-12 用于图像处理的方法和装置

Publications (2)

Publication Number Publication Date
KR20160087901A true KR20160087901A (ko) 2016-07-22
KR101779872B1 KR101779872B1 (ko) 2017-09-19

Family

ID=53370638

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167016912A KR101779872B1 (ko) 2013-12-13 2014-12-12 이미지 처리 방법 및 장치

Country Status (6)

Country Link
US (1) US10116934B2 (ko)
EP (1) EP3068137B1 (ko)
JP (1) JP2017505021A (ko)
KR (1) KR101779872B1 (ko)
CN (1) CN104717510B (ko)
WO (1) WO2015085945A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019203513A1 (ko) * 2018-04-16 2019-10-24 엘지전자 주식회사 영상 코딩 시스템에서 dmvd 를 이용한 인터 예측에 따른 영상 디코딩 방법 및 장치

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104717510B (zh) 2013-12-13 2018-08-17 华为技术有限公司 用于图像处理的方法和装置
KR102283545B1 (ko) * 2016-10-10 2021-07-29 삼성전자주식회사 블록 맵을 이용하여 영상을 부호화 또는 복호화하는 방법 및 장치
WO2019087978A1 (ja) * 2017-10-30 2019-05-09 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
EP3794825A1 (en) 2018-06-29 2021-03-24 Beijing Bytedance Network Technology Co. Ltd. Update of look up table: fifo, constrained fifo
JP7460617B2 (ja) 2018-06-29 2024-04-02 北京字節跳動網絡技術有限公司 Lut更新条件
CN114900694A (zh) 2018-06-29 2022-08-12 抖音视界(北京)有限公司 哪个查找表需要更新或不更新
BR112020024142A2 (pt) 2018-06-29 2021-03-02 Beijing Bytedance Network Technology Co., Ltd. método para processamento de vídeo, aparelho para codificação de dados de vídeo, meio de armazenamento e meio de gravação legíveis por computador não transitório
WO2020003282A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Managing motion vector predictors for video coding
EP4322533A3 (en) 2018-06-29 2024-03-06 Beijing Bytedance Network Technology Co., Ltd. Checking order of motion candidates in lut
TWI719525B (zh) 2018-06-29 2021-02-21 大陸商北京字節跳動網絡技術有限公司 Lut與amvp之間的交互
TWI748202B (zh) 2018-07-02 2021-12-01 大陸商北京字節跳動網絡技術有限公司 Lamvr中取整和修剪的順序
WO2020143741A1 (en) 2019-01-10 2020-07-16 Beijing Bytedance Network Technology Co., Ltd. Invoke of lut updating
CN113383554B (zh) 2019-01-13 2022-12-16 北京字节跳动网络技术有限公司 LUT和共享Merge列表之间的交互
CN113302937A (zh) 2019-01-16 2021-08-24 北京字节跳动网络技术有限公司 运动候选推导
EP4216164A1 (en) * 2019-01-28 2023-07-26 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Localization of elements in the space
WO2020192611A1 (en) 2019-03-22 2020-10-01 Beijing Bytedance Network Technology Co., Ltd. Interaction between merge list construction and other tools

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2373035B1 (en) * 2001-11-30 2015-11-25 NTT DoCoMo, Inc. Moving picture encoding device, moving picture decoding device, moving picture encoding method, moving picture decoding method, program, and computer readable recording medium storing program
US20040008779A1 (en) * 2002-06-18 2004-01-15 Lai King Chung Techniques for video encoding and decoding
US7940844B2 (en) 2002-06-18 2011-05-10 Qualcomm Incorporated Video encoding and decoding techniques
US7881376B2 (en) 2004-05-14 2011-02-01 Panasonic Corporation Motion compensation apparatus
KR100681252B1 (ko) * 2004-10-02 2007-02-09 삼성전자주식회사 트랜스코딩을 위해 출력 매크로블록 모드와 출력움직임벡터를 추정하는 방법 및 이를 이용한 트랜스코더
WO2006109205A1 (en) * 2005-04-12 2006-10-19 Koninklijke Philips Electronics N.V. Region- based 3drs motion estimation using dynamic asoect ratio of region
WO2006109209A1 (en) * 2005-04-12 2006-10-19 Koninklijke Philips Electronics N.V. Video processing with region-based multiple-pass motion estimation and update of temporal motion vector candidates
JP4675383B2 (ja) * 2005-11-11 2011-04-20 富士通株式会社 画像復号化装置および方法、画像符号化装置
EP2200326A1 (en) * 2008-12-18 2010-06-23 Thomson Licensing Method and device for encoding a block of an image using a reference block of a further image, data carrier carrying an encoded block of an image and method for decoding a block of an image
JP4350796B2 (ja) * 2009-03-06 2009-10-21 三菱電機株式会社 画像符号化装置およびビットストリーム生成装置
EP2425622B1 (en) * 2009-04-30 2016-10-05 Telefonaktiebolaget LM Ericsson (publ) Efficient internal cache for hardware motion estimation
US8761239B2 (en) * 2009-06-01 2014-06-24 Panasonic Corporation Image coding apparatus, method, integrated circuit, and program
JP2012151576A (ja) * 2011-01-18 2012-08-09 Hitachi Ltd 画像符号化方法、画像符号化装置、画像復号方法及び画像復号装置
TW201246943A (en) * 2011-01-26 2012-11-16 Panasonic Corp Video image encoding method, video image encoding device, video image decoding method, video image decoding device, and video image encoding and decoding device
WO2012119855A1 (en) 2011-03-09 2012-09-13 Siemens Aktiengesellschaft A method for coding a sequence of digitized images
CN103108178B (zh) 2011-11-11 2016-03-30 华为技术有限公司 视频图像编解码的方法及装置
US20130272409A1 (en) * 2012-04-12 2013-10-17 Qualcomm Incorporated Bandwidth reduction in video coding through applying the same reference index
CN103079067B (zh) * 2013-01-09 2016-03-09 华为技术有限公司 运动矢量预测值列表构建方法和视频编解码方法及装置
CN104717510B (zh) 2013-12-13 2018-08-17 华为技术有限公司 用于图像处理的方法和装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019203513A1 (ko) * 2018-04-16 2019-10-24 엘지전자 주식회사 영상 코딩 시스템에서 dmvd 를 이용한 인터 예측에 따른 영상 디코딩 방법 및 장치

Also Published As

Publication number Publication date
JP2017505021A (ja) 2017-02-09
EP3068137A4 (en) 2016-11-16
CN104717510A (zh) 2015-06-17
US10116934B2 (en) 2018-10-30
KR101779872B1 (ko) 2017-09-19
EP3068137A1 (en) 2016-09-14
US20160295213A1 (en) 2016-10-06
EP3068137B1 (en) 2021-04-07
CN104717510B (zh) 2018-08-17
WO2015085945A1 (zh) 2015-06-18

Similar Documents

Publication Publication Date Title
KR101779872B1 (ko) 이미지 처리 방법 및 장치
US11178404B2 (en) Method and apparatus of video coding
US11375226B2 (en) Method and apparatus of video coding with affine motion compensation
US10432856B2 (en) Method and apparatus of video compression for pre-stitched panoramic contents
WO2017148345A1 (en) Method and apparatus of video coding with affine motion compensation
TWI688257B (zh) 視訊編解碼之方法及裝置
WO2015109598A1 (en) Methods for motion parameter hole filling
CN111131837B (zh) 运动补偿修正方法、编码方法、编码器及存储介质
US20220210464A1 (en) Sub-block motion prediction method, coding method, and encoder
US9473787B2 (en) Video coding apparatus and video coding method
TWI652934B (zh) 自適應視頻解碼方法及其裝置
KR102210274B1 (ko) 비디오 신호를 인코딩 및 디코딩하기 위한 장치들, 방법들 및, 컴퓨터 판독 가능 매체
JPWO2011099428A1 (ja) 動きベクトル予測符号化方法、動きベクトル予測復号方法、動画像符号化装置、動画像復号装置およびそれらのプログラム
CN111246212B (zh) 一种基于编解码端的几何划分模式预测方法、装置、存储介质及终端
CN112313958B (zh) 用于编码和解码视频信号的装置和方法
KR20150113713A (ko) 시점 간 움직임 병합 후보 유도 방법 및 장치
JP4404556B2 (ja) 動画像符号化方法とシステム及び動画像復号方法とシステム

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