KR102166812B1 - 복수의 이미지 프레임을 인코딩하기 위한 방법 및 장치 - Google Patents

복수의 이미지 프레임을 인코딩하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR102166812B1
KR102166812B1 KR1020190126095A KR20190126095A KR102166812B1 KR 102166812 B1 KR102166812 B1 KR 102166812B1 KR 1020190126095 A KR1020190126095 A KR 1020190126095A KR 20190126095 A KR20190126095 A KR 20190126095A KR 102166812 B1 KR102166812 B1 KR 102166812B1
Authority
KR
South Korea
Prior art keywords
image data
encoder
image
encoding
encoded
Prior art date
Application number
KR1020190126095A
Other languages
English (en)
Other versions
KR20200069213A (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 KR20200069213A publication Critical patent/KR20200069213A/ko
Application granted granted Critical
Publication of KR102166812B1 publication Critical patent/KR102166812B1/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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/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
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding 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/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/14Coding unit complexity, e.g. amount of activity or edge presence 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/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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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
    • 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/177Methods 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 a group of pictures [GOP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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/57Motion estimation characterised by a search window with variable size or shape
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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

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

본 발명은 이미지 인코딩 분야에 관한 것이다. 특히, 이는 두개의 개별 인코더를 사용하여 복수의 이미지 프레임을 인코딩하는 방법 및 장치에 관한 것으로, 여기서 각각의 이미지 프레임은 두개의 부분으로 분할되어 두개의 인코더 중 하나에 의해 각각 인코딩되고, 여기서 두개의 부분 사이의 경계는 인코더 중 하나의 검색 윈도우의 크기에 따라 이미지 프레임 사이에서 오프셋된다. 결과적으로, 움직임 검색의 목적을 위해 픽셀 데이터를 복사하는 것은 제1 및 제2 인코더 사이에서 한 방향으로만 요구된다.

Description

복수의 이미지 프레임을 인코딩하기 위한 방법 및 장치{METHOD AND DEVICE FOR ENCODING A PLURALITY OF IMAGE FRAMES}
본 발명은 이미지 인코딩 분야에 관한 것이다. 특히, 두개의 개별 인코더를 사용하여 복수의 이미지 프레임들을 인코딩하는 방법 및 장치에 관한 것으로, 각각의 이미지 프레임은 두개의 인코더 중 하나에 의해 각각 인코딩되도록 두개의 부분으로 분할된다.
최근에는 네트워크 카메라 모니터링 시스템과 같은 모니터링 카메라의 수가 증가하고 있다. 유사하게, 모니터링 카메라의 이미지 센서에 의해 캡처된 이미지의 가능한 이미지 해상도가 증가되고 있다. 이는 모니터링된 장면에서 더 많은 세부 사항이 캡처될 수 있기 때문에 모니터링 관점에서 유리하다. 그러나, 인코더 관점에서, 이러한 발전은 고해상도 이미지 센서에 의해 캡처된 이미지가 하나의 인코더(인코더 칩)가 허용 가능한 프레임 레이트(frame rate)로 인코딩하기에 너무 클 수 있다는 결과를 가져온다. 바람직하게, 예를 들어 H.265 인코딩에서의 타일(tile)/슬라이스(slice)의 개념은 둘 이상의 인코더에 의해 인코딩된 이미지 데이터로부터 단일 인코딩된 이미지를 생성하기 위해 사용될 수 있다.
모션 벡터(motion vector)가 발견될 때 문제가 발생하는데, 이는 이론적으로 두개의 인코더가 두개의 인코더 사이에 양방향 복사가 필요한 전체 기준 프레임(reference frame)에 액세스(access)할 수 있어야 한다는 것을 의미한다. 실제로, 모션 벡터 검색은 원하는 프레임 레이트를 유지하기에 충분한 시간 내에 검색이 완료되도록 하기 위해, 전체 기준 프레임에서 수행되는 것이 아니라 제한된 검색 윈도우(search window)에서 수행된다. 따라서, 하나의 인코더에서 다른 인코더로 전체 기준 프레임 슬라이스 또는 타일을 복사할 필요는 없지만, 검색 윈도우를 수용하기에 충분히 큰 부분만 복사하면 된다.
제1 인코더에서 제2 인코더로 이미지 데이터를 복사하는 것은 번거롭다. 새로운 이미지 프레임의 인코딩이 시작되기 전에 두개의 인코더가 모두 이전 이미지 프레임을 완료하는 것을 보장하기 위해 동기화될 필요가 있다.
따라서 이러한 맥락에서 개선이 필요하다.
상기를 고려하여, 본 발명의 목적은 상기 논의된 문제점을 극복하거나 적어도 완화하는 것이다. 특히, 예측 인코딩을 위한 모션 검색을 목적으로 하기 위해 픽셀 데이터를 복사하는 것이 제1 및 제2 인코더 사이의 일 방향으로만 요구되는 장치 및 방법을 제공하는 것이 목적이다.
본 발명의 제1 양태에 따르면, 제1 이미지 프레임 및 제2 이미지 프레임을 포함하는 복수의 이미지 프레임들을 인코딩하기 위한 방법이 제공되며, 각각의 이미지 프레임은 제1 및 제2 인코더를 사용하여 인코딩되고, 상기 제1 인코더는 블록 매칭을 위해 정의된 크기의 제1 검색 윈도우를 가지며, 상기 방법은:
상기 제1 이미지 프레임의 이미지 데이터를 수평 또는 수직 방향인 제1 방향으로 분할하여 이미지 데이터의 제1 및 제2 부분을 형성하는 단계;
상기 제1 인코더를 사용하여 이미지 데이터의 상기 제1 부분을 인코딩하고, 상기 제2 인코더를 사용하여 이미지 데이터의 상기 제2 부분을 인코딩하는 단계;
상기 제2 이미지 프레임의 이미지 데이터를 상기 제1 방향으로 분할하여 이미지 데이터의 제3 및 제4 부분을 형성하는 단계 - 상기 제2 이미지 프레임에서 이미지 데이터의 상기 제3 및 제4 부분 사이의 경계의 위치는 상기 제1 이미지 프레임에서 이미지 데이터의 상기 제1 및 제2 부분 사이의 경계 위치에 대해 오프셋되어, 이미지 데이터의 상기 제3 부분의 크기가 이미지 데이터의 상기 제1 부분의 크기에 비해 작고,
상기 제1 방향이 수평 방향이면, 상기 오프셋은 상기 제1 검색 윈도우 높이의 절반이고, 상기 경계는 수직 방향으로 오프셋되며;
상기 제1 방향이 수직 방향이면, 상기 오프셋은 상기 제1 검색 윈도우의 폭의 절반이고, 상기 경계는 수평 방향으로 오프셋됨 -;
상기 제1 인코더를 사용하여 이미지 데이터의 상기 제3 부분을 인코딩하고, 상기 제2 인코더를 사용하여 이미지 데이터의 상기 제4 부분을 인코딩함으로써 상기 제2 이미지 프레임을 인코딩하는 단계를 포함한다.
본 명세서에서, "제1(제2, 제3 등) 이미지 프레임의 이미지 데이터를 제1 방향으로 분할"이라는 용어는 일반적으로 이미지 데이터의 부분들 사이의 경계가 일반적인 방향(general direction)을 갖지만, 상기 경계는 직선 또는 계단식일 수 있음을 나타낸다. 예를 들어, 이미지 프레임의 이미지 데이터에서 특정 행 또는 열의 매크로블록(CTU)에 대해, 매크로블록의 일부는 이미지 데이터의 상기 제1 부분의 부분일 수 있고, 나머지 매크로블록은 이미지 데이터의 상기 제2 부분의 부분일 수 있다. 일반적으로, 상기 이미지 데이터의 분할은 이미지 데이터의 두개의 코히어런트 부분(coherent portion)을 생성하고, 여기서 이미지 데이터의 상기 제1 부분은 제1 타일 또는 슬라이스를 나타낼 수 있고, 이미지 데이터의 상기 제2 부분은 제2 타일 또는 슬라이스를 나타낼 수 있다.
본 발명자들은 상기 제1 인코더 및 상기 제2 인코더 사이에서 이미지 데이터를 복사하는 계산 부담이 예를 들어, 상기 이미지 프레임의 75%는 상기 제1 인코더에서 인코딩되고 25%는 상기 제2 인코더에서 인코딩되도록 연속적인 이미지 프레임들의 스트림의 이미지 프레임들 사이의 동적 슬라이스 또는 타일 경계를 이용함으로써, 완화될 수 있음을 인지하였다. 그런 다음 이미지 데이터의 상기 두개의 부분들 사이의 경계는 상기 검색 윈도우의 크기에 비례하고 상기 경계의 방향에 수직인 다음 프레임에 대해 약간 (오프셋) 이동된다. 이는 상기 제2 이미지 프레임에 대해, 상기 제1 인코더에 의해 인코딩되는 상기 이미지 데이터의 부분(즉, 이미지 데이터의 제3 부분)의 크기가 상기 제1 이미지 프레임에 대해 상기 제1 인코더에 의해 인코딩되는 이미지 데이터의 부분(즉, 이미지 데이터의 제1 부분)의 크기보다 작음을 의미하고, 상기 경계의 방향에 따라 감소되는 것을 의미한다. 따라서, 상기 제2 인코더에 의해 인코딩되는 이미지 데이터 부분의 크기는 상기 제1 및 상기 제2 이미지 프레임 사이에서 증가된다. 따라서, 상기 제2 이미지 프레임에 대해, 예를 들어 75%에서 상기 제1 인코더의 검색 윈도우 절반을 뺀 것이 상기 제1 인코더에서 인코딩되고, 25%에서 상기 제1 인코더의 검색 윈도우 절반을 더한 것이 상기 제2 인코더에서 인코딩된다. 전술한 바와 같이, 상기 이미지 데이터가 수평 또는 수직 방향으로 분할되는지에 따라, 상기 검색 윈도우의 높이 또는 폭이 오프셋을 정의하기 위해 사용되고, 상기 경계는 이미지 데이터의 부분들 사이의 경계의 방향에 수직인 방향으로 오프셋된다. 이미지 데이터의 두 부분들 사이에서 경계를 동적으로 이동시키는 이러한 방식은 슬라이스 또는 타일을 점차적으로 감소시키는 인코딩인 (제1) 인코더가 인터 프레임 인코딩을 위해 다른 (제2) 인코더로부터 임의의 데이터를 필요로 하지 않는다는 것이다. 상기 실시 형태에서, 상기 제1 인코더에 대해, 상기 경계의 이전 배치로(예를 들어, 복수의 이미지 프레임들 중에서 이전 이미지 프레임 또는 기준 프레임에 대해) 상기 제1 인코더에 의해 인코딩된 이미지 데이터를 사용하여, 전체 검색 윈도우에 해당하는 픽셀 데이터가 상기 제1 인코더에서 이미 이용 가능하다는 것이 보장된다.
또한, 상기 실시 형태는 두개의 인코더 사이의 동기화 요건이 완화되는 것으로 나타날 수 있다. 두개의 인코더가 인터 인코딩 목적을 위해 다른 인코더로부터 이미지 데이터를 필요로 하는 경우, 두개의 인코더는 이미지 데이터를 다른 인코더로 복사하기 전에 기준 프레임의 적어도 관련 영역을 인코딩하는 것을 완료해야 한다. 상기 제1 인코더가 다른 인코더로부터 (인코딩된 후 디코딩되는) 이미지 데이터를 필요로 하지 않는 상기 실시 형태들에서, 동기화 요건은 따라서 이하에서 추가로 설명될 바와 같이 완화된다.
상기 실시 형태의 유리한 부작용은 상기 제1 및 상기 제2 이미지 프레임의 각각의 부분에 대한 디블로킹(deblocking)이 상기 제1 및 상기 제2 이미지 프레임 사이에서 서로와 관련하여 이동하여, 이미지의 이후 디코딩된 스트림의 시각적 품질이 개선된다는 것이다.
본 실시 형태의 또 다른 이점은 (참조 인코딩 목적으로) 별도의 버퍼 메모리를 갖는 별도의 인코더(칩)가 사용될 수 있어, 복잡성과 비용을 감소시킬 수 있다는 것이다.
일부 실시 형태들에 따르면, 상기 제2 이미지 프레임은 인터 프레임 인코딩되고, 상기 제2 인코더는 블록 매칭을 위해 정의된 크기의 제2 검색 윈도우를 가지며, 상기 방법은:
이미지 데이터의 상기 제1 부분을 상기 제1 방향으로 분할하여, 이미지 데이터의 제1 및 제2 서브-부분을 형성하는 단계 - 상기 제1 서브-부분은 이미지 데이터의 제2 부분에 인접한 이미지 데이터의 제1 부분의 이미지 데이터로 구성됨 -를 더 포함하고,
상기 제1 방향이 수평 방향이면, 상기 제1 서브-부분은 상기 제1 검색 윈도우의 높이의 절반에 상기 제2 검색 윈도우의 높이의 절반을 더한 높이를 가지며;
상기 제1 방향이 수직 방향이면, 상기 제1 서브-부분은 상기 제1 검색 윈도우의 폭의 절반에 상기 제2 검색 윈도우의 폭의 절반을 더한 폭을 가지고;
상기 제1 인코더를 사용하여 이미지 데이터의 상기 제1 부분을 인코딩하는 단계는 인코딩된 이미지 데이터의 제1 서브-부분을 형성하기 위해 이미지 데이터의 상기 제1 서브-부분을 인코딩하며,
상기 방법은:
상기 제1 인코더에 의해, 인코딩된 이미지 데이터의 제1 서브-부분을 디코딩하여, 디코딩된 데이터의 제1 서브-부분을 형성하고, 디코딩된 이미지 데이터의 상기 제1 서브-부분을 상기 제1 인코더로부터 상기 제2 인코더로 복사하는 단계를 더 포함한다.
전술한 바와 같이, 상기 제2 인코더는 이미지 데이터의 상기 제4 부분의 인터 인코딩 목적을 위해 상기 제1 인코더로부터 데이터를 필요로 할 것이다. 상기 실시 형태에 의해, 충분한 이미지 데이터(상기 제1 및 제2 인코더의 검색 윈도우 크기 및 이미지 프레임들의 이미지 데이터가 분할되는 방향과 관련하여)를 상기 제2 인코더로 복사하기 위한 복잡성이 낮은 프로세스가 달성된다. 복사된 데이터(이미지 데이터의 인코딩된 제1 서브-부분의 디코딩된 버전)는 이미지 데이터의 인코딩된 제2 부분의 디코딩된 버전과 함께 인터 인코딩을 위해 사용되는 제2 인코더에서의 버퍼 메모리(참조 버퍼 메모리(reference buffer memory), 참조 메모리 등)에 저장되고, 이는 그런 다음 이미지 데이터의 상기 제4 부분을 인터 인코딩할 때 기준 데이터(reference data)로서 사용될 수 있다. 전술한 바와 같이, 상기 제1 인코더에 대해, 이미지 데이터의 상기 제3 부분의 인터 인코딩의 목적을 위해 이미지 데이터의 인코딩된 제1 부분의 디코딩된 버전을 사용하는 것으로 충분하다. 상기 제1 및 제2 검색 윈도우의 크기는 동일하거나, 상이할 수 있다.
일부 실시 형태들에 따르면, 디코딩된 이미지 데이터의 상기 제1 서브-부분을 상기 제1 인코더로부터 상기 제2 인코더로 복사하는 단계 후에, 상기 제1 및 제2 인코더는 각각 이미지 데이터의 제3 및 제4 부분을 인코딩할 때 서로 독립적으로 작동한다.
본 발명에서, "제1 및 제2 인코더는 서로 독립적으로 작동한다"라는 문구는 일반적으로 정의된 목적을 위해(즉, 이미지 데이터의 상기 제3 및 제4 부분의 인코딩) 상기 제1 및 제2 인코더 사이에 데이터의 추가 통신 또는 전송이 필요하지 않음을 의미한다. 즉, 이미지 데이터의 상기 제2 부분 및 이미지 데이터의 상기 제1 서브-부분(다시 인코딩 및 디코딩)만이 이미지 데이터의 상기 제4 부분의 인터-프레임 인코딩을 수행할 때 블록 매칭을 위해 기준 데이터로서 사용될 수 있다. 전술한 바와 같이, 상기 제1 인코더에 대해, 이미지 데이터의 상기 제3 부분의 인터 인코딩의 목적을 위해 이미지 데이터의 인코딩된 제1 부분의 디코딩된 버전을 사용하는 것으로 충분하다. 결과적으로, 디코딩된 이미지 데이터의 상기 제1 서브-부분을 상기 제1 인코더로부터 상기 제2 인코더로 복사한 후에, 상기 제1 및 제2 인코더는 이미지 데이터의 상기 제3 및 제4 부분을 인터 인코딩할 때(및 이러한 프로세스를 사용하여 인코딩된 임의의 후속 이미지 프레임들에 대해 유사함) 서로 독립적으로 작동할 수 있다.
일부 실시 형태들에 따르면, 상기 제1 인코더에 의해, 인코딩된 이미지 데이터의 상기 제1 서브-부분을 디코딩하여 디코딩된 데이터의 제1 서브-부분을 형성하고, 디코딩된 이미지 데이터의 상기 제1 서브-부분을 상기 제1 인코더로부터 상기 제2 인코더로 복사하는 단계는 상기 제1 인코더에 의해 이미지 데이터의 상기 제1 서브-부분의 인코딩이 완료되자마자 수행된다. 전술한 바와 같이, 바람직하게, 상기 제1 및 제2 인코더 사이의 동기화 요건이 본 발명에 의해 완화될 수 있다. 가능한 빨리 복사를 수행함으로써, 상기 제2 인코더는 이미지 데이터의 상기 제4 부분을 가능한 빨리 인터 인코딩하기 시작하여, 인코딩 프로세스에 대한 지연(latency)을 감소시킬 수 있다.
일부 실시 형태들에 따르면, 상기 제1 인코더를 사용하여 이미지 데이터의 상기 제1 부분을 인코딩하는 것은 상기 제2 인코더를 사용하여 이미지 데이터의 상기 제2 부분을 인코딩하기 시작하는 이전 시점에서 시작된다. 상기 제1 인코더는 슬라이스/타일이 상기에 따라 점차적으로 감소되는 동안 상기 제1 이미지 프레임의 제1 부분 또는 임의의 후속 해당 부분을 인코딩하기 위해 상기 제2 인코더로부터 임의의 이미지 데이터를 복사할 필요가 없기 때문에, 동기화 요건이 완화되고 상기 제2 인코더가 상기 제1 이미지 프레임의 이의 부분(이미지 데이터의 제2 부분)을 인코딩 종료될 때까지 상기 제3 부분(제2 이미지 프레임)의 인코딩을 기다릴 필요없이, 상기 제2 인코더가 상기 제2 부분을 인코딩하기 시작하기 전에 상기 제1 인코더가 상기 제1 부분을 인코딩하는 것을 시작할 수 있다. 따라서, 일부 실시 형태들에 따르면, 상기 제1 인코더를 사용하여 이미지 데이터의 상기 제3 부분을 인코딩하는 것은 상기 제2 인코더를 사용하여 이미지 데이터의 상기 제2 부분을 인코딩하는 것이 완료되는 전의 시점에서 시작한다.
일부 실시 형태들에 따르면, 상기 방법은 복수의 이미지 프레임들에서 상기 제1 및 제2 이미지 프레임에 후속하고 제1 및 제2 이미지 프레임으로서 동일한 GOP(Group Of Pictures)의 일부인 이미지 프레임들에 대해 제1 양태에 따른 방법을 반복적으로 수행하는 단계를 포함하여, 상기 GOP의 이미지 프레임들의 이미지 데이터의 두개의 부분 사이의 경계 위치가 상기 GOP의 이미지 프레임들에 대해 점차적으로 이동된다. 이는 상기 GOP의 모든 이미지 프레임에 대해, 상기 제1 인코더에 의해 인코딩되는 상기 GOP의 각각의 이미지 프레임의 이미지 데이터의 부분(일부)이 점차적으로 감소됨을 의미하며, 이는 전체 GOP에 대해, 상기 제2 인코더로부터 상기 제1 인코더로 데이터를 복사할 필요가 없음을 의미한다. 일부 실시 형태들에 따르면, 후속 GOP에 대해, 이러한 후속 GOP의 상기 제1 이미지 프레임의 이미지 데이터의 분할은 이미지의 데이터의 제1 및 제2 부분을 형성하기 위해 동일한 방향으로 그리고 상기 제1 GOP의 제1 이미지 프레임에 대해 동일한 초기 비율을 사용하여 상기 제1 GOP에 대한 상기 제1 이미지 프레임에 대해 수행된다. 다른 실시 형태들에서, 비율 및/또는 방향은 예를 들어, 인코더 간 또는 다른 이유로 작업 균형을 개선하거나 변경하도록 변경된다.
일부 실시 형태들에 따르면, 상기 제1 이미지 프레임은 인트라 프레임 인코딩되고 상기 제1 이미지 프레임은 GOP에서 제1 이미지이다. 바람직하게, 상기 방법은 그런 다음 상기 제1 검색 윈도우의 크기, 상기 제1 방향 및 상기 GOP의 길이에 기초하여 상기 제1 이미지 프레임의 이미지 데이터의 상기 제1 및 제2 부분 사이의 경계 위치를 설정하는 단계를 포함할 수 있어, 상기 제1 및 제2 인코더의 계산 부하가 상기 GOP 동안 균형을 이룬다. 이러한 실시 형태에서, 상기 인코더에 대한 부하는 평균적으로 동일한 양의 작업을 수행하도록 바람직하게 균형을 이룰 수 있다.
일부 실시 형태들에 따르면, 상기 방법은 상기 GOP에서 최종 이미지 프레임에 대해, 상기 제1 인코더에 의해 인코딩되는 이미지 데이터 부분의 크기가 제1 임계값을 초과하도록 상기 제1 검색 윈도우의 크기에 기초하여 상기 GOP 길이를 결정하는 단계를 추가로 포함한다. 바람직하게, 상기 GOP 길이는 상기 제1 및 제2 인코더의 계산 부하가 GOP 동안 균형을 이루도록, 예를 들어 상기 제1 임계값이 이미지 데이터의 제2 부분(상기 GOP의 상기 제1 이미지 프레임에 대한 상기 제2 인코더에 의해 인코딩됨)의 크기에 해당하도록 설정될 수 있다. 다른 실시 형태들에 따르면, 상기 제1 임계값은 계산 부하가 일부 결정에 따라 공유되도록, 즉 상기 제1 인코더가 미리 결정된 비율에 따라 더 많은 작업 또는 더 적은 작업을 수행하도록 설정된다. 이러한 실시 형태에서, 상기 제1 검색 윈도우의 적절한 크기가 정의될 수 있고, 이를 기반으로 상기 GOP 길이가 설정되며, 이는 보다 유연한 인코딩 방법을 제공하게 한다.
일부 실시 형태들에 따르면, 상기 제1 인코더는 상기 제2 인코더에 의해 인코딩되는 이미지 데이터를 수신하고 인코딩된 이미지를 형성하도록 배치되며, 상기 인코딩된 이미지는 제1 타일 또는 제1 슬라이스로서 상기 제1 인코더에 의해 인코딩되는 이미지 데이터 및 제2 타일 또는 제2 슬라이스로서 상기 제2 인코더에 의해 인코딩되는 이미지 데이터를 포함한다. 이러한 실시 형태에서, 두개의 스트림들을 단일 스트림으로 멀티플렉싱(multiplex)하는 것이 제1 인코더이고, 따라서 상기 PCI 버스에 대한 부하가 보다 잘 균형을 이룰 수 있으며, 상기 제1 인코더가 인터 인코딩 목적을 위해 데이터를 상기 제2 인코더로 전송하며, 상기 제2 인코더가 두개의 스트림을 단일 스트림으로 멀티플렉싱하기 위해 인코딩된 데이터를 상기 제1 인코더로 전송하기 때문이다. 또한, 이러한 실시 형태에서 상기 제1 인코더는 마스터 칩으로서 작용할 수 있고, 상기 제2 인코더는 슬레이브 칩(slave chip)으로서 작용할 수 있어, 복수의 이미지 프레임들의 인코딩 목적을 위해 인코더들 사이의 작업의 분할을 단순화시킨다.
본 발명의 제2 양태에 따르면, 상기 목적은 처리 능력을 갖는 장치에 의해 실행될 때, 제1 양태의 방법을 수행하도록 적용된 컴퓨터 코드 명령어를 갖는 컴퓨터 판독 가능 매체를 포함하는 컴퓨터 프로그램 제품에 의해 달성된다.
본 발명의 제3 양태에 따르면, 상기 목적은 제1 및 제2 인코더를 포함하는 장치에 의해 달성되고, 상기 장치는 제1 이미지 프레임 및 제2 이미지 프레임을 포함하는 복수의 이미지 프레임들을 인코딩하도록 구성되며, 각각의 이미지 프레임은 상기 제1 및 제2 인코더를 사용하여 인코딩되고, 상기 제1 인코더는 블록 매칭을 위해 정의된 크기의 제1 검색 윈도우를 가지며, 상기 장치는:
상기 제1 이미지 프레임의 이미지 데이터를 수평 또는 수직 방향인 제1 방향으로 분할하여 이미지 데이터의 제1 및 제2 부분을 형성하고;
상기 제1 인코더를 사용하여 이미지 데이터의 상기 제1 부분을 인코딩하고, 상기 제2 인코더를 사용하여 이미지 데이터의 상기 제2 부분을 인코딩함으로써 상기 제1 이미지 프레임을 인코딩하며;
상기 제2 이미지 프레임의 이미지 데이터를 상기 제1 방향으로 분할하여 이미지 데이터의 제3 및 제4 부분을 형성하고 - 이미지 데이터의 상기 제3 부분의 크기가 이미지 데이터의 상기 제1 부분의 크기에 비해 작도록, 상기 제2 이미지 프레임에서 이미지 데이터의 상기 제3 및 제4 부분 사이의 경계의 위치는 상기 제1 이미지 프레임에서 이미지 데이터의 상기 제1 및 제2 부분 사이의 경계의 위치와 관련하여 오프셋되고,
상기 제1 방향이 수평 방향이면, 상기 오프셋은 상기 제1 검색 윈도우 높이의 절반이고, 상기 경계는 수직 방향으로 오프셋되며;
상기 제1 방향이 수직 방향이면, 상기 오프셋은 상기 제1 검색 윈도우의 폭의 절반이고, 상기 경계는 수평 방향으로 오프셋됨 -;
상기 제1 인코더를 사용하여 이미지 데이터의 상기 제3 부분을 인코딩하고, 상기 제2 인코더를 사용하여 이미지 데이터의 상기 제4 부분을 인코딩함으로써 상기 제2 이미지 프레임을 인코딩하도록 구성된 프로세서를 포함한다.
본 발명의 제4 양태에 따르면, 상기 목적은:
장면을 묘사하는 비디오 시퀀스를 연속적으로 캡처하도록 적용된 비디오 캡처 장치;
상기 비디오 캡처 장치로부터 이미지 프레임들의 시퀀스를 연속적으로 수신하고, 이미지 프레임들의 시퀀스를 인코딩하며, 인코딩된 이미지 프레임들의 시퀀스를 출력하도록 구성된 제3 양태에 따른 장치를 포함하는 시스템에 의해 달성된다.
일부 실시 형태들에 따르면, 상기 장치는 비디오 캡처 장치에 통합된다.
제2, 제3 및 제4 양태들은 일반적으로 제1 양태와 동일한 특징 및 장점을 가질 수 있다. 또한, 본 발명은 달리 구체적으로 언급되지 않는 한 가능한 모든 특징의 조합에 관한 것이다.
본 발명의 전술한 것뿐만 아니라, 추가적인 목적, 특징 및 장점은 첨부된 도면을 참조하여 이하의 예시적이고 비-제한적인 상세한 설명을 통해 보다 잘 이해될 것이고, 동일한 참조 번호는 유사한 요소에 사용될 것이다.
도 1a-c 각각은 제1 인코더에 의해 인코딩되는 각각의 이미지 프레임의 점차적인 감소 부분 및 제2 인코더에 의해 인코딩되는 각각의 이미지 프레임의 점차적인 확장 부분의 예들을 도시한다.
도 2-3은 실시 형태들에 따른 제1 이미지 프레임 및 제2 이미지 프레임을 포함하는 복수의 이미지 프레임들을 인코딩하는 방법을 도시한다.
도 4 및 5는 실시 형태들에 따른 제1 이미지 프레임 및 제2 이미지 프레임을 포함하는 복수의 이미지 프레임들을 인코딩하기 위한 장치를 도시한다.
이하, 본 발명의 실시 형태가 도시된 첨부 도면을 참조하여 본 발명을 보다 상세하게 설명할 것이다. 본 발명에 개시된 시스템 및 장치는 작동 동안 설명될 것이다.
AVC(Advanced Video Coding)(H.264라고도 함) 및 HEVC(High Efficiency Video Coding)(H.265라고도 함)와 같은 최신 인코딩 방법에서, 타일의 개념(HEVC 인코딩에 지원됨) 및 슬라이스가 도입되고 있다. 타일 및 슬라이스는 이미지가 독립적으로 디코딩/인코딩될 수 있는 직사각형(또는 후술되는 바와 같이 실질적으로 직사각형) 영역의 그리드로 분할될 수 있게 한다. 독립적으로 코딩 가능하게 하기 위해, 하나 이상의 슬라이스 또는 타일로부터 픽셀을 사용한 임의의 예측이 없어야 하고, 예측 결과는 동일한 슬라이스 또는 타일에서만 사용되어야 한다. 이러한 개념은 별도의 인코더 또는 인코더의 코어가 이미지 프레임을 병렬로 인코딩하기 위해 병렬 프로세싱 목적으로 사용될 수 있다. 본 발명에서, 이미지 프레임을 인코딩하기 위해 타일/슬라이스의 개념을 사용하여, 기준 인코딩(인터 인코딩, P-프레임 인코딩, B-프레임 인코딩)을 위한 별도의 버퍼 메모리를 갖는 별도의 인코더(제1 및 제2 인코더)가 사용된다. 이러한 설정에서, 모션 벡터를 찾을 때 문제가 발생하고, 이는 이론적으로 두개의 인코더가 전체 기준 프레임에 액세스하거나, 검색 윈도우의 크기에 따라 적어도 필요한 부분에 액세스할 필요가 있다. 본 발명은 기준 인코딩 목적을 위해 하나의 인코더로부터 다른 인코더로 데이터를 복사하는 것을 요구하지만, 동일한 목적을 위해 다른 방향으로 복사를 요구하지 않는 인코딩 방법을 목표로 한다. 전술한 바와 같이, 본 발명자들은 결정된 수의 이미지 프레임들(예를 들어, GOP, 또는 GOP의 절반 등)에 대해 예를 들어, 제1 인코더에서 인코딩되는 이미지 데이터의 부분이 제1 인코더의 검색 윈도우의 크기에 따라 점차적으로 감소되도록 연속적인 이미지 프레임들의 스트림의 이미지 프레임들 사이에서 동적으로 변하는 슬라이스 또는 타일 경계를 이용함으로써 달성될 수 있음을 인지하였다. 제2 인코더의 경우, 경계가 복수의 이미지 프레임들 전체에 있는 경우보다 제1 인코더로부터 더 많은 데이터가 복사될 필요가 있지만, 다른 방향으로 데이터를 복사할 필요가 없다는 장점이 제1 인코더로부터 제2 인코더로 더 많은 비트 데이터를 복사해야 하는 단점보다 우세하다. 예를 들어, 전술하고 아래에서 더 설명되는 바와 같이, 두개의 인코더 사이의 동기화 요건이 완화된다. 두개의 인코더가 인터 인코딩을 위해 다른 인코더로부터 이미지 데이터를 필요로 하는 경우, 두개의 인코더는 이미지 데이터를 다른 인코더로 복사하기 전에 기준 프레임의 적어도 관련 영역을 인코딩하는 것을 완료할 필요가 있다. 이러한 요건은 본 발명에 설명된 인코딩 방법으로 제거된다.
도 1a-c는 제1 인코더에 의해 인코딩되는 각각의 이미지 프레임의 점차적으로 감소하는 부분 및 제2 인코더에 의해 인코딩되는 각각의 이미지 프레임의 점차적으로 확장하는 부분의 예를 도시한다. 도 1a-c에서, 회색 영역(106)은 제2 인코더에 의해 인코딩되는 이미지 데이터를 나타내고 흰색 영역(104)은 제1 인코더에 의해 인코딩되는 이미지 데이터를 나타낸다. 도 1a에서, 제1 이미지 프레임(102a), 제2 이미지 프레임(102b) 및 n번째 이미지 프레임(102n)이 예로서 도시된다. 이러한 실시 형태에서, 복수의 이미지 프레임들(102a-n)의 이미지 데이터는 수직 방향으로 분할된다. 따라서 제1 이미지 프레임(102a)의 이미지 데이터는 수직 방향으로 분할되어 이미지 데이터의 제1 부분(104a) 및 제2 부분(106a)을 형성한다. 제2 이미지 프레임(102b)에 대해, 이미지 데이터는 수직 방향으로 분할되어 이미지 데이터의 제3 부분(104b) 및 제4 부분(106b)을 형성한다. 제2 이미지 프레임(102b)에서 이미지 데이터의 제3 및 제4 부분 사이의 경계의 위치는 제1 이미지 프레임에서 이미지 데이터의 제1 및 제2 부분 사이의 경계의 위치와 관련하여 오프셋된다. 오프셋은 제2 이미지 프레임(102b)에 점선 영역(110)으로 도시된다. 오프셋(110)은 제1 인코더의 검색 윈도우의 폭(이미지 프레임들(102a-n)의 백색 영역(104)을 인코딩함)의 절반에 해당하고, 경계는 수평 방향으로 오프셋된다. 이는 이미지 데이터의 제3 부분(104b)의 크기가 이미지 데이터의 제1 부분(104a)의 크기에 비해 작다는 것을 의미한다. 이러한 방식으로 경계를 오프셋함으로써, 이미지 데이터의 제3 부분(104b)의 인터 인코딩을 위해 제2 인코더로부터 제1 인코더로 데이터를 복사하는 것이 필요하지 않다.
그러나 이미지 데이터의 제4 부분(106b)의 인터 인코딩을 위해, 제1 인코더로부터 이미지 데이터를 복사하는 것이 필요하다. 결과적으로, 이미지 데이터의 제4 부분(106b)이 인터 인코딩될 실시 형태에서, 이미지 데이터의 제1 부분(104a)은 수직 방향으로 분할되어, 이미지 데이터의 제1 서브-부분(108) 및 제2 서브-부분을 형성하고, 제1 서브-부분(108)은 이미지 데이터의 제2 부분(106a)에 인접하는 이미지 데이터의 제1 부분(104a)의 이미지 데이터로 구성되며, 제2 인코더의 검색 윈도우의 폭의 절반에 제1 인코더의 검색 윈도우의 폭의 절반을 합한 것과 동일한 폭을 갖는다. 이미지 데이터의 서브-부분(108)은 제1 인코더에 의해 다시 인코딩 및 디코딩되고, 이미지 데이터의 제1 부분(104a)의 서브-부분(108)에 해당하는 디코딩된 이미지 데이터가 제2 인코더에 복사되어 이미지 데이터의 제4 부분(106b)의 인터 인코딩을 위해 이미지 데이터의 제2 부분(106a)의 디코딩된 버전과 함께 기준 데이터로서 사용된다.
결과적으로, 전술한 바와 같이 복사 후에, 제1 및 제2 인코더는 제2 이미지 프레임(102b)의 이미지 데이터의 제3 부분(104b) 및 제4 부분(106b)을 인코딩할 때 서로 독립적으로 작동할 수 있고, 이는 인터 인코딩을 위한 모든 필요한 데이터가 별도로 배치된 제1 및 제2 인코더의 각각의 버퍼 메모리에 존재하기 때문이다.
도 1에 도시된 바와 같이, 제2 이미지 프레임(102b)과 n번째 이미지 프레임(102n) 사이의 모든 이미지 프레임들에 대해, 두개의 인코더에 의해 인코딩되는 이미지 데이터의 부분들 사이의 경계의 점차적인 움직임이 반복적으로 수행되어, 이미지 프레임들(102a-n)의 이미지 데이터의 두개의 부분들 사이의 경계의 위치는 이미지 프레임들(102a-n)에 대해 점차적으로 이동된다. 복수의 이미지 프레임들(102a-n)은 일부 실시 형태들에서 GOP에 해당할 수 있다. 일부 실시 형태들에서, 제1 이미지 프레임(102a)은 GOP의 제1 이미지 프레임에 해당하고 인트라-인코딩된 것과 같다.
도 1a에 도시된 바와 같이, n번째 이미지 프레임(102n)에 대해, 두개의 인코더에 의해 인코딩되는 이미지 데이터의 부분(104n, 106n)의 비율이 역전되었다. 예를 들어, 제1 이미지 프레임(102a)의 비율은 이미지 데이터의 80%가 제1 인코더에 의해 인코딩되고 이미지 데이터의 20%가 제2 인코더에 의해 인코딩되며, n번째 이미지 프레임에 대한 비율은 20%와 80%로 역전된다. 이러한 실시 형태에서, 제1 및 제2 인코더의 계산 부하는 복수의 이미지 프레임(102a-n)의 인코딩 동안 균형을 이룬다.
제1 인코더에 의해 사용되는 검색 윈도우의 크기의 절반에 해당하는 경계의 위치를 이동시킴으로써, 제1 인코더는 제1 프레임(102a)을 인코딩 및 디코딩하는 것으로부터 제2 프레임(102b)의 제3 부분(104b)에서 모든 블록을 인코딩하는데 필요한 이미지 데이터에 액세스할 수 있음을 보장한다. 경계 옆의 제3 부분(104b)의 가장 가장자리에 있는 매크로블록조차도 제1 프레임(102a)으로부터 제1 인코더에서 이용 가능한 데이터에서 전체 제1 검색 윈도우에서 검색하는 것이 가능할 것이다. 경계가 검색 윈도우 크기의 절반에 해당하도록 점차적으로 이동함에 따라, 제1 인코더에 의해 인코딩되는 부분이 점차적으로 감소되어, 제1 검색 윈도우를 이용한 검색을 위해 충분한 이미지 데이터가 이전 프레임을 인코딩 및 디코딩하는 것이 이용 가능하다는 것을 보장한다. 경계가 정적인 경우, 경계 옆의 블록들에 대해서도 모션 벡터 검색을 가능하게 하기 위해, 각각의 프레임에 대해 제2 인코더로부터 제1 인코더로 기준 데이터를 복사하는 것이 필요하지만, 하나의 프레임에서 다음으로 검색 윈도우 절반만큼 경계의 위치를 이동시킴으로써, 이러한 복사는 필요하지 않다.
일부 실시 형태에서, 제1 이미지 프레임(102a)의 이미지 데이터 분할의 비율은 최종 이미지 프레임(102n)(GOP의 마지막 이미지 프레임일 수 있음)에 대해, 이미지 데이터의 분할 비율이 역전되도록 이뤄진다. 이러한 실시 형태에서, 이미지 데이터의 제1 부분(104a)과 제2 부분(106a) 사이의 경계가 따라서 제1 인코더의 검색 원도우의 크기(이러한 실시 형태에서, 경계의 방향이 수직이기 때문에 검색 원도우의 폭), 및 다시 시작하기 전에 경계를 점차적으로 이동시켜야 하는 동안 이미지 프레임들의 수(이러한 경우 n)에 기초하여 설정되어, 제1 및 제2 인코더의 계산 부하가 복수의 이미지 프레임들(102a-n)의 인코딩 동안 균형을 이룬다. 그러나, n이 크면, 이는 경계가 이미지 데이터의 다른 쪽 끝으로 이동함을 의미한다. 결과적으로, 일부 실시 형태들에 따르면, n(예를 들어, GOP의 길이)은 복수의 이미지 프레임들(102a-n) 중 최종 이미지 프레임(102n)에 대해 제1 인코더에 대한 정의된 크기의 검색 윈도우에 대해, 제1 인코더에 의해 인코딩되는 이미지 데이터 부분의 크기가 제1 임계값을 초과하도록 설정된다. 일부 실시 형태들에 따르면, n은 제1 및 제2 인코더의 계산 부하가 복수의 이미지 프레임들(102a-n) 동안 균형을 이루도록 설정된다. 예를 들어, 도 1a에서, 제1 인코더의 검색 윈도우의 폭이 제1 인코더에 의해 인코딩되는 이미지 데이터의 부분이 각각의 이미지 프레임에 대해 5%로 감소되도록 경계가 이동될 것이고, 제1 이미지 프레임(102a)의 비율은 이미지 데이터의 70%가 제1 인코더에 의해 인코딩되며 이미지 데이터의 30%가 제2 인코더에 의해 인코딩되는 것을 반영하며, 제1 임계값은 30%로 설정되는 것을 의미한다면(제1 및 제2 인코더의 계산 부하는 복수의 이미지 프레임들 동안 균형을 이룸), n이 9일 것이다. 제1 인코더에 의해 인코딩되는 이미지 데이터의 부분은 각각의 이미지 프레임에 대해 10%로 감소되면, n은 5와 같을 것이다.
도 1b는 도 1b와 동일한 시나리오를 도시하지만, 각각의 이미지 프레임에서 이미지 데이터의 분할은 수평 방향으로 이루어진다.
도 1a-b에서, 제1 및 제2 인코더에 의해 인코딩되는 이미지 데이터의 부분들 사이의 경계는 직선 경계로 도시된다. 그러나, 계단식 경계가 동일하게 가능하며, 이는 도 1c에 도시된다. H.264 및 H.265는 이러한 형상의 슬라이스/타일을 지지하고, 결과적으로 본 발명에서 설명된 바와 같이 이미지 데이터 부분은 사각형의 형상으로 제한되지 않는다. 도 1c에 도시된 바와 같이, 이미지 프레임의 이미지 데이터에서 특정 행의 매크로블록/CTU(도 1c에서 사각형으로 도시됨)에 대해, 매크로블록 중 일부는 이미지 데이터의 제1 부분의 부분일 수 있고, 나머지 매크로블록은 이미지 데이터의 제2 부분의 부분일 수 있다. 예를 들어, 제1 이미지 프레임(102a)에 대해, 제2 행의 매크로블록은 이미지 데이터의 제1 부분과 이미지 데이터의 제2 부분 사이에서 분할된다. 제2 이미지 프레임(102b)에 대해, 경계는 하나의 매크로블록에 의해 이동되고, 결과적으로, 제3 행의 매크로블록은 이미지 데이터의 제3 부분과 이미지 데이터의 제4 부분 사이에서 분할된다. 이러한 실시 형태에서 (예를 들어, GOP의) 최종 이미지 프레임을 나타내는 제3 이미지 프레임(102c)에서, 경계는 수직 방향(즉, 경계의 방향에 수직)으로 또 다른 매크로블록에 의해 이동된다.
도 2는 전술한 바와 같이 복수의 이미지 프레임들을 인코딩하기 위한 인코딩 방법의 단계들의 타임라인(timeline)을 예로서 도시한다. 제1 인코더에 의해 수행되는 단계는 도 2의 오른쪽(점선의 오른쪽으로)에 도시되고 제2 인코더에 의해 수행하는 단계는 도 2의 왼쪽(점선의 왼쪽으로)에 도시된다.
인코딩 방법의 장점 중 하나는 제2 인코더로부터 제1 인코더로 데이터를 복사하는 요건을 제거함으로써, 제1 및 제2 인코더 사이의 동기화 요건이 완화된다는 것이다. 이는 도 2에 예시된다. 또한, 도 2의 예에서, 제1 인코더는 제1 인코더가 제2 인코더에 의해 인코딩되는 이미지 데이터를 수신하고(S208, S217, S222), 인코딩되는 이미지를 형성하도록(S210, S218, S224) 배치되는 마스터 인코더로서 작용하며, 인코딩된 이미지는 제1 타일 또는 제1 슬라이스로서 제1 인코더에 의해 인코딩되는 이미지 데이터 및 제2 타일 또는 제2 슬라이스로서 제2 인코더에 의해 인코딩되는 이미지 데이터를 포함한다. 도 2에서, 멀티플렉싱 기능(S210, S218, S224)은 제1 인코더에서 별도의 코어(core)/스레드(thread)에 의해 수행되므로, 예를 들어 제2 이미지 프레임의 제1 부분의 인코딩(S212)을 지연시키지 않는다. 이는 선택적 특징이며, 다른 실시 형태에 따르면, 멀티플렉싱 기능(S210, S217, S224)은 제1 인코더에 의한 이미지 프레임들의 인코딩 사이에서 수행된다.
도 2의 실시 형태에서, 제1 인코더를 사용하여 이미지 데이터의 제1 부분을 인코딩(S202)하는 단계는 제2 인코더를 사용하여 이미지 데이터의 제2 부분을 인코딩(S204) 시작하기 전의 시점에서 시작된다. 도 2에서, 제1 인코더를 사용하여 이미지 데이터의 제3 부분(도 2에서 제2 이미지 프레임의 제1 부분으로 지칭됨)을 인코딩(S212)하는 단계는 제2 인코더를 사용하여 이미지 데이터의 제2 부분을 인코딩(S204)하는 단계가 완료되기 전의 시점에서 시작된다. 일부 실시 형태들에서, 제1 인코더를 사용하여 이미지 데이터의 제3 부분을 인코딩(S212)하는 단계는 제2 인코더를 사용하여 이미지 데이터의 제2 부분의 인코딩(S204)이 시작되는 시점과 동일한 시점에서 또는 제2 인코더를 사용하여 이미지 데이터의 제2 부분이 시작되는 이전에서도 시작된다. 이는 전술한 바와 같이, 인터 인코딩을 위해 제1 인코더가 제2 인코더로부터 복사된 임의의 데이터를 필요로 하지 않기 때문에 가능하다.
도 2의 방법은 기준 인코딩을 위해 제1 인코더로부터 제2 인코더로 데이터를 복사하는 단계(S206, S216)를 더 포함한다. 일부 실시 형태들에 따르면, 복사(S206, S216)하는 단계는 제1 인코더에서 이미지 데이터의 필요한 부분의 인코딩이 완료되자마자, 즉, 제1 인코더에 의해 이미지 데이터의 전체 부분의 인코딩(S202, S212)하는 단계가 완료되기 전에 수행될 수 있다. 바람직하게, 이에 의해 지연이 감소될 수 있다.
제1 및 제2 인코더를 포함하는 장치로서, (상기에 따라) 제1 이미지 프레임 및 제2 이미지 프레임을 포함하는 복수의 이미지 프레임들을 인코딩하도록 구성된 장치가 도 3-5와 관련하여 추가로 설명될 것이다. 이러한 장치(405, 505)의 실시 형태들은 도 4-5에 도시되며, 여기서 장치(405, 505)는 도 3의 방법 및 전술한 다른 실시 형태들을 수행하도록 적용된다. 도 4 및 도 5에서, 장치(405, 505)는 비디오 캡처 장치(400, 500)에 통합된다. 그러나, 다른 실시 형태들에 따르면, 장치는 비디오 캡처 장치와 별도로 배치되고, 비디오 캡처 장치와, 예를 들어 유선 또는 무선 네트워크를 통해 연결된다. 아무튼, 도 4-5의 예에서, 장치(405, 505)는 비디오 캡처 장치(400, 500)로부터 이미지 프레임들(102)의 시퀀스를 연속적으로 수신하도록 구성된다(즉, 비디오 캡처 장치(400, 500)의 이미지 센서(402)에 의해 캡처되고 장면을 묘사함). 다른 실시 형태들에서, 장치는 미리 기록된 이미지 프레임들의 시퀀스를 수신하고, 본 발명에서 설명된 바와 같이 이를 인코딩한다.
장치(405, 505)는 예를 들어, 도 3에서 예로서 기술된 방법을 수행하고, 본 발명에서 설명된 바와 같이 복수의 이미지 프레임들(102)을 인코딩하기 위해 장치(405, 505)의 두개의 인코더(408, 410)를 제어하도록 구성되는 적어도 하나의 프로세서(미도시)를 포함한다.
선택적으로, 프로세서는 제1 검색 윈도우의 크기에 기초하여 전술한 바와 같이 GOP 길이를 결정(S302)하도록 구성되어, GOP의 최종 이미지 프레임에 대해, 제1 인코더(408)에 의해 인코딩되는 이미지 데이터 부분의 크기가 제1 임계값을 초과한다.
선택적으로, 프로세서는 제1 검색 윈도우의 크기, 제1 방향 및 GOP의 길이에 기초하여 제1 이미지 프레임의 이미지 데이터의 제1 및 제2 부분 사이의 경계 위치를 설정(S303)하도록 구성되어, 제1 및 제2 인코더의 계산 부하는 GOP 동안 균형이 이루어지게 한다.
프로세서는 이미지 데이터의 제1 부분(104) 및 제2 부분(106)을 형성하도록 수평 또는 수직 방향인 제1 방향으로 제1 이미지 프레임의 이미지 데이터를 분할(S304)하도록 구성된다.
프로세서는 제1 인코더를 사용하여 이미지 데이터의 제1 부분(104)을 인코딩하고, 제2 인코더를 사용하여 이미지 데이터의 제2 부분(106)을 인코딩함으로써 제1 이미지 프레임의 인코딩(S306)을 제어하도록 추가로 구성된다.
도 4에서, 제1 인코더(408)로부터 인코딩된 데이터(414) 및 제2 인코더로부터 인코딩된 데이터(416)는 인코딩된 이미지 스트림(420)을 형성(멀티플렉싱)하기 위해 별도의 멀티플렉서(418)로 전송되며, 인코딩된 이미지 스트림(420)에서의 각각의 이미지는 제1 타일 또는 제1 슬라이스로서 제1 인코더(408)에 의해 인코딩되는 이미지 데이터(104) 및 제2 타일 또는 제2 슬라이스로서 제2 인코더(410)에 의해 인코딩되는 이미지 데이터(106)를 포함한다.
도 5의 실시 형태에서, 제1 인코더는 멀티플렉서(418)로서 작용한다. 이러한 실시 형태에서, 프로세서는 인코딩된 데이터(416)를 제1 인코더로 전송하도록 제2 인코더(410)를 제어하도록 구성된다. 다시 말해서, 도 5의 실시 형태에서, 제1 인코더는 제2 인코더에 의해 인코딩되는 이미지 데이터(416)를 수신하고 인코딩된 이미지 스트림(420)을 형성하도록 배치되고, 인코딩된 이미지 스트림(420)에서 각각의 인코딩된 이미지는 제1 타일 또는 제1 슬라이스로서 제1 인코더에 의해 인코딩되는 이미지 데이터(104) 및 제2 타일 또는 제2 슬라이스로서 제2 인코더에 의해 인코딩되는 이미지 데이터(106)를 포함한다.
또한, 프로세서는 전술한 바와 같이, 제1 인코더(408)로부터 제2 인코더(410)로 기준 이미지 데이터(412)를 복사(S308)하도록 추가로 구성될 수 있다.
인코더들(408, 410) 각각은 기준 인코딩(인터 인코딩, P-프레임, B-프레임 등)에 사용되는 이미지 데이터가 저장되고 연속적으로 대체되는 별도의 버퍼 메모리(미도시)를 포함한다.
또한, 개시된 실시 형태들에 대한 변형은 도면, 명세서 및 첨부된 청구 범위의 연구로부터 청구된 발명을 실시할 때 당업자에 의해 이해되고 영향을 받을 수 있다. 예를 들어, 본 발명에서 설명된 이미지 센서(402)는 이미지 프레임 당 15-20 메가픽셀 크기의 이미지 데이터를 캡처하도록 적용될 수 있으며, 이 크기에 대해 본 발명의 방법이 특히 바람직하다. 그러나, 캡처된 이미지의 다른 크기가 적용될 수 있다.
또한, 본 발명은 하나의 이미지를 둘 이상의 부분으로 분할하는 맥락에서 설명되었지만, 동일한 원리가 둘 이상의 이미지 센서로부터 하나의 이미지를 생성하는데 사용될 수 있다.
설명 및 도면에서, 두개의 인코더가 사용된다. 그러나, 인코딩은 둘 이상의 인코더를 사용하여 이미지 데이터를 둘 이상의 슬라이스 또는 타일로 분할하여 수행될 수 있다.
제1 검색 윈도우와 제2 검색 윈도우의 크기는 동일할 수 있다. 그러나, 일부 경우에, 작은 검색 윈도우를 사용하여 하나의 인코더에서 검색을 제한하고 다른 인코더가 더 큰 검색 윈도우에서 검색하도록 허용하는 것이 유리할 수 있는데, 이는 하나의 인코더에 대한 부하가 다른 인코더에서 보다 큰 경우이다.
제1 및 제2 검색 윈도우은 각각 고정된 크기일 수 있지만, 동적으로 변하는 검색 윈도우 크기를 사용할 수도 있다. 하나 이상의 이미지 프레임들에서 인코딩되는 모션 벡터의 길이는 후속 이미지 프레임들에 대한 검색 윈도우의 크기를 결정하는데 사용될 수 있다. 예를 들어, 인코딩되는 모션 벡터가 임계 길이 이하인 경우, 검색 윈도우 크기는 감소될 수 있고, GOP 길이는 인코딩 효율을 향상시키기 위해 증가될 수 있다.
또한, 도면 및 명세서에서, 본 발명의 바람직한 실시 형태 및 예가 개시되고, 특정 용어가 사용되더라도, 이들은 포괄적이고 설명적인 의미로만 사용되며 제한을 목적으로 하지 않으며, 본 발명의 범위는 하기의 청구 범위에서 주장된다. 청구 범위에서, "포함하는"이라는 단어는 다른 요소 또는 단계를 배제하지 않으며, 부정 관사 "하나" 또는 "하나의"는 복수를 배제하지 않는다.

Claims (15)

  1. 제1 이미지 프레임 및 제2 이미지 프레임을 포함하는 복수의 이미지 프레임들을 인코딩하는 방법으로서, 각각의 이미지 프레임은 제1 인코더 및 제2 인코더를 사용하여 인코딩되고, 상기 제1 인코더는 블록 매칭을 위해 정의된 크기의 제1 검색 윈도우를 가지며, 상기 방법은:
    상기 제1 이미지 프레임의 이미지 데이터를 수평 또는 수직 방향인 제1 방향으로 분할하여 이미지 데이터의 제1 부분 및 제2 부분을 형성하는 단계;
    상기 제1 인코더를 사용하여 이미지 데이터의 상기 제1 부분을 인코딩하고, 상기 제2 인코더를 사용하여 이미지 데이터의 상기 제2 부분을 인코딩함으로써 상기 제1 이미지 프레임을 인코딩하는 단계;
    상기 제2 이미지 프레임의 이미지 데이터를 상기 제1 방향으로 분할하여 이미지 데이터의 제3 부분 및 제4 부분을 형성하는 단계;
    상기 제1 인코더를 사용하여 이미지 데이터의 상기 제3 부분을 인코딩하고, 상기 제2 인코더를 사용하여 이미지 데이터의 상기 제4 부분을 인코딩함으로써, 상기 제2 이미지 프레임을 인코딩하는 단계를 포함하고,
    상기 제2 이미지 프레임에서 이미지 데이터의 상기 제3 부분과 제4 부분 사이의 경계의 위치는 상기 제1 이미지 프레임에서 이미지 데이터의 상기 제1 및 제2 부분 사이의 경계의 위치에 관련하여 오프셋되어, 이미지 데이터의 상기 제3 부분의 크기가 이미지 데이터의 상기 제1 부분의 크기에 비해 작으며,
    상기 제1 방향이 수평 방향이면, 상기 오프셋은 상기 제1 검색 윈도우의 높이의 절반이고, 상기 경계는 수직 방향으로 오프셋되고,
    상기 제1 방향이 수직 방향이면, 상기 오프셋은 상기 제1 검색 윈도우의 폭의 절반이고, 상기 경계는 수평 방향으로 오프셋되는 것을 특징으로 하는 방법.
  2. 제1항에 있어서, 상기 제2 이미지 프레임은 인터 프레임 인코딩되고, 상기 제2 인코더는 블록 매칭을 위해 정의된 크기의 제2 검색 윈도우를 가지며, 상기 방법은:
    이미지 데이터의 상기 제1 부분을 상기 제1 방향으로 분할하여, 이미지 데이터의 제1 서브-부분 및 제2 서브-부분을 형성하는 단계 - 상기 제1 서브 부분은 이미지 데이터의 상기 제2 부분과 인접한 이미지 데이터의 상기 제1 부분의 이미지 데이터로 구성됨 -를 더 포함하고,
    상기 제1 방향이 수평 방향이면, 상기 제1 서브-부분은 상기 제1 검색 윈도우의 높이의 절반에 상기 제2 검색 윈도우의 높이의 절반을 더한 높이를 가지며;
    상기 제1 방향이 수직 방향이면, 상기 제1 서브-부분은 상기 제1 검색 윈도우의 폭의 절반에 상기 제2 검색 윈도우의 폭의 절반을 더한 폭을 가지고;
    상기 제1 인코더를 사용하여 이미지 데이터의 상기 제1 부분을 인코딩하는 단계는 이미지 데이터의 상기 제1 서브-부분을 인코딩하여 인코딩된 이미지 데이터의 제1 서브-부분을 형성하는 단계를 포함하며,
    상기 방법은:
    상기 제1 인코더에 의해, 인코딩된 이미지 데이터의 상기 제1 서브-부분을 디코딩하여 디코딩된 데이터의 제1 서브-부분을 형성하고, 디코딩된 이미지 데이터의 상기 제1 서브-부분을 상기 제1 인코더로부터 상기 제2 인코더로 복사하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  3. 제2항에 있어서, 상기 제1 인코더로부터 상기 제2 인코더로 디코딩된 이미지 데이터의 상기 제1 서브-부분을 복사하는 단계 후에, 상기 제1 및 제2 인코더는 각각 이미지 데이터의 상기 제3 및 제4 부분을 인코딩할 때 서로 독립적으로 작동하는 것을 특징으로 하는 방법.
  4. 제2항에 있어서, 상기 제1 인코더에 의해, 인코딩된 이미지 데이터의 상기 제1 서브-부분을 디코딩하여 디코딩된 데이터의 제1 서브-부분을 형성하고, 디코딩된 이미지 데이터의 상기 제1 서브-부분을 상기 제1 인코더로부터 상기 제2 인코더로 복사하는 단계는 상기 제1 인코더에 의해 이미지 데이터의 상기 제1 서브-부분의 인코딩이 완료되자마자 수행되는 것을 특징으로 하는 방법.
  5. 제1항에 있어서, 상기 제1 인코더를 사용하여 이미지 데이터의 상기 제1 부분을 인코딩하는 단계는 상기 제2 인코더를 사용하여 이미지 데이터의 상기 제2 부분을 인코딩하는 것을 시작하기 전의 시점에서 시작하는 것을 특징으로 하는 방법.
  6. 제1항에 있어서, 상기 제1 인코더를 사용하여 이미지 데이터의 상기 제3 부분을 인코딩하는 단계는 상기 제2 인코더를 사용하여 이미지 데이터의 상기 제2 부분을 인코딩하는 것을 완료하기 전의 시점에서 시작하는 것을 특징으로 하는 방법.
  7. 제1항에 있어서, 상기 복수의 이미지 프레임들에서 상기 제1 및 제2 이미지 프레임에 후속하고 상기 제1 및 제2 이미지 프레임으로서 GOP와 동일한 부분인 이미지 프레임들에 대해 상기 방법을 반복적으로 수행하는 단계를 포함하여, 상기 GOP의 이미지 프레임들의 이미지 데이터의 두개 부분 사이의 경계 위치가 상기 GOP의 이미지 프레임에 대해 점차적으로 이동되는 것을 특징으로 하는 방법.
  8. 제1항에 있어서, 상기 제1 이미지 프레임은 인트라 프레임 인코딩되고, 상기 제1 이미지 프레임은 GOP에서 제1 이미지인 것을 특징으로 하는 방법.
  9. 제8항 또는 제7항에 있어서, 상기 제1 및 제2 인코더의 계산 부하가 상기 GOP 동안 균형을 이루도록 상기 제1 검색 윈도우의 크기, 상기 제1 방향 및 상기 GOP의 길이에 기초하여 상기 제1 이미지 프레임의 이미지 데이터의 상기 제1 부분 및 상기 제2 부분 사이의 경계의 위치를 설정하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  10. 제8항 또는 제7항에 있어서, 상기 GOP에서의 최종 이미지 프레임에 대해 상기 제1 인코더에 의해 인코딩되는 이미지 데이터 부분의 크기가 제1 임계값을 초과하도록, 상기 제1 검색 윈도우의 크기에 기초하여 상기 GOP의 길이를 결정하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  11. 제1항에 있어서, 상기 제1 인코더는 상기 제2 인코더에 의해 인코딩되는 이미지 데이터를 수신하고, 인코딩된 이미지를 형성하도록 배치되며, 상기 인코딩된 이미지는 제1 타일 또는 제1 슬라이스로서 상기 제1 인코더에 의해 인코딩되는 이미지 데이터 및 제2 타일 또는 제2 슬라이스로서 상기 제2 인코더에 의해 인코딩되는 이미지 데이터를 포함하는 것을 특징으로 하는 방법.
  12. 처리 능력을 갖는 장치에 의해 실행될 때, 상기 장치가 제1항의 방법을 수행하도록 적용된 컴퓨터 코드 명령어를 갖는 컴퓨터 판독 가능 매체.
  13. 제1 인코더 및 제2 인코더를 포함하는 장치로서, 상기 장치는 제1 이미지 프레임 및 제2 이미지 프레임을 포함하는 복수의 이미지 프레임들을 인코딩하도록 구성되고, 각각의 이미지 프레임은 상기 제1 및 제2 인코더를 사용하여 인코딩되며, 상기 제1 인코더는 블록 매칭을 위해 정의된 크기의 제1 검색 윈도우를 가지고, 상기 장치는:
    상기 제1 이미지 프레임의 이미지 데이터를 수평 또는 수직 방향인 제1 방향으로 분할하여 이미지 데이터의 제1 부분 및 제2 부분을 형성하고;
    상기 제1 인코더를 사용하여 이미지 데이터의 상기 제1 부분을 인코딩하며, 상기 제2 인코더를 사용하여 이미지 데이터의 상기 제2 부분을 인코딩함으로써 상기 제1 이미지 프레임을 인코딩하고;
    상기 제2 이미지 프레임의 이미지 데이터를 상기 제1 방향으로 분할하여 이미지 데이터의 제3 부분 및 제4 부분을 형성하며;
    상기 제1 인코더를 사용하여 이미지 데이터의 상기 제3 부분을 인코딩하고, 상기 제2 인코더를 사용하여 이미지 데이터의 상기 제4 부분을 인코딩함으로써 상기 제2 이미지 프레임을 인코딩;하도록 구성된 프로세서를 포함하고,
    상기 제2 이미지 프레임에서 이미지 데이터의 상기 제3 부분과 제4 부분 사이의 경계 위치가 상기 제1 이미지 프레임에서 이미지 데이터의 상기 제1 부분 및 제2 부분 사이의 경계 위치와 관련하여 오프셋되어, 이미지 데이터의 상기 제3 부분의 크기가 이미지 데이터의 상기 제1 부분의 크기에 비해 작으며,
    상기 제1 방향이 수평 방향이면, 상기 오프셋은 상기 제1 검색 윈도우의 높이의 절반이고, 상기 경계는 수직 방향으로 오프셋되고,
    상기 제1 방향이 수직 방향이면, 상기 오프셋은 상기 제1 검색 윈도우의 폭의 절반이고, 상기 경계는 수평 방향으로 오프셋되는 것을 특징으로 하는 장치.
  14. 장면을 묘사하는 비디오 시퀀스를 연속적으로 캡처하도록 적용된 비디오 캡처 장치;
    상기 비디오 캡처 장치로부터 이미지 프레임들의 시퀀스를 연속적으로 수신하고, 이미지 프레임들의 시퀀스를 인코딩하며, 인코딩된 이미지 프레임들의 시퀀스를 출력하도록 적용된 제12항에 따른 컴퓨터 판독 가능 매체를 포함하는 시스템.
  15. 제14항에 있어서, 상기 장치는 상기 비디오 캡처 장치에 통합되는 시스템.
KR1020190126095A 2018-12-06 2019-10-11 복수의 이미지 프레임을 인코딩하기 위한 방법 및 장치 KR102166812B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP18210628.6 2018-12-06
EP18210628.6A EP3664451B1 (en) 2018-12-06 2018-12-06 Method and device for encoding a plurality of image frames

Publications (2)

Publication Number Publication Date
KR20200069213A KR20200069213A (ko) 2020-06-16
KR102166812B1 true KR102166812B1 (ko) 2020-10-16

Family

ID=64650196

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190126095A KR102166812B1 (ko) 2018-12-06 2019-10-11 복수의 이미지 프레임을 인코딩하기 위한 방법 및 장치

Country Status (6)

Country Link
US (1) US10904560B2 (ko)
EP (1) EP3664451B1 (ko)
JP (1) JP6917433B2 (ko)
KR (1) KR102166812B1 (ko)
CN (1) CN111294597B (ko)
TW (1) TWI733259B (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6356589B1 (en) 1999-01-28 2002-03-12 International Business Machines Corporation Sharing reference data between multiple encoders parallel encoding a sequence of video frames
US20120263225A1 (en) 2011-04-15 2012-10-18 Media Excel Korea Co. Ltd. Apparatus and method for encoding moving picture
EP2775716A1 (en) 2011-10-31 2014-09-10 Mitsubishi Electric Corporation Moving picture encoding device, moving picture decoding device, moving picture encoding method, and moving picture decoding method

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7830960B2 (en) * 2005-01-13 2010-11-09 Qualcomm Incorporated Mode selection techniques for intra-prediction video encoding
US8223845B1 (en) 2005-03-16 2012-07-17 Apple Inc. Multithread processing of video frames
JP2007166192A (ja) * 2005-12-13 2007-06-28 Toshiba Corp 情報処理装置、制御方法およびプログラム
JP5002286B2 (ja) 2006-04-27 2012-08-15 キヤノン株式会社 画像符号化装置、画像符号化方法、プログラム及び記憶媒体
CN101150719B (zh) * 2006-09-20 2010-08-11 华为技术有限公司 并行视频编码的方法及装置
CN101755462A (zh) * 2008-05-20 2010-06-23 松下电器产业株式会社 图像编码装置以及图像编码方法
US8041132B2 (en) * 2008-06-27 2011-10-18 Freescale Semiconductor, Inc. System and method for load balancing a video signal in a multi-core processor
GB2477527B (en) * 2010-02-04 2015-12-23 Advanced Risc Mach Ltd Parallel parsing in a video decoder
JPWO2012120840A1 (ja) 2011-03-07 2014-07-17 パナソニック株式会社 画像復号方法、画像符号化方法、画像復号装置および画像符号化装置
GB2488830B (en) 2011-03-10 2015-07-29 Canon Kk Method and device for encoding image data and method and device for decoding image data
US8767824B2 (en) * 2011-07-11 2014-07-01 Sharp Kabushiki Kaisha Video decoder parallelization for tiles
US9549180B2 (en) * 2012-04-20 2017-01-17 Qualcomm Incorporated Disparity vector generation for inter-view prediction for video coding
JP2015106747A (ja) 2013-11-28 2015-06-08 富士通株式会社 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
KR102273670B1 (ko) 2014-11-28 2021-07-05 삼성전자주식회사 움직임 보상 정보를 수정하는 데이터 처리 시스템과 데이터 처리 방법
US10306258B2 (en) 2016-01-29 2019-05-28 Google Llc Last frame motion vector partitioning
US11593632B2 (en) * 2016-12-15 2023-02-28 WaveOne Inc. Deep learning based on image encoding and decoding
EP3668096A1 (en) * 2018-12-11 2020-06-17 Axis AB Method and device for encoding a sequence of image frames using a first and a second encoder
EP3713235B1 (en) * 2019-03-19 2023-08-02 Axis AB Methods and devices for encoding a video stream using a first and a second encoder

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6356589B1 (en) 1999-01-28 2002-03-12 International Business Machines Corporation Sharing reference data between multiple encoders parallel encoding a sequence of video frames
US20120263225A1 (en) 2011-04-15 2012-10-18 Media Excel Korea Co. Ltd. Apparatus and method for encoding moving picture
EP2775716A1 (en) 2011-10-31 2014-09-10 Mitsubishi Electric Corporation Moving picture encoding device, moving picture decoding device, moving picture encoding method, and moving picture decoding method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JCTVC-M0235

Also Published As

Publication number Publication date
EP3664451A1 (en) 2020-06-10
US10904560B2 (en) 2021-01-26
JP6917433B2 (ja) 2021-08-11
TWI733259B (zh) 2021-07-11
CN111294597A (zh) 2020-06-16
TW202038618A (zh) 2020-10-16
JP2020113967A (ja) 2020-07-27
CN111294597B (zh) 2021-04-30
KR20200069213A (ko) 2020-06-16
EP3664451B1 (en) 2020-10-21
US20200186824A1 (en) 2020-06-11

Similar Documents

Publication Publication Date Title
TWI415446B (zh) 用於視頻壓縮的並行處理裝置
KR102144881B1 (ko) 비디오 처리를 위한 송신 장치 및 방법
US9948941B2 (en) Circuit, method and video decoder for video decoding
KR20210077799A (ko) 부호화 장치, 부호화 방법 및 프로그램
US10820010B2 (en) Methods and devices for encoding a video stream using a first and a second encoder
US9392278B2 (en) Image encoding or decoding apparatus, system, method, and storage medium for encoding or decoding a plurality of images in parallel
CN111314696B (zh) 用于对图像帧的序列进行编码的方法和设备
JP6569665B2 (ja) 画像復号装置、画像復号方法、及び集積回路
JP2024102275A (ja) ビデオデコーダ、復号のための方法、ビデオエンコーダ、符号化のための方法、および非一時的なコンピュータ可読媒体
JP5087016B2 (ja) 符号化装置及びその制御方法、コンピュータプログラム
JP5100572B2 (ja) 符号化装置
KR102166812B1 (ko) 복수의 이미지 프레임을 인코딩하기 위한 방법 및 장치
JP6206280B2 (ja) 動画像符号化装置及び動画像符号化器
TWI493942B (zh) 動畫像編碼方法、動畫像編碼裝置及動畫像編碼程式
JP2020113967A5 (ko)
JP2010050833A (ja) 映像符号化装置
JP2007208802A (ja) 画像符号化装置及び画像符号化方法
JP2017060019A (ja) 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム
WO2016011961A1 (zh) 非因果预测的信号编码方法、解码方法
JP2015171117A (ja) 画像符号化装置
CA2258505A1 (en) Video coding method and apparatus with periodic refresh
WO2016143093A1 (ja) 動画像符号化装置及びそれに用いるIntra予測符号化方法、及び動画像復号化装置
JPH07264414A (ja) 画像圧縮方法
JP2010068219A (ja) 動画像符号化装置

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant