KR20160146542A - 비디오 처리 시스템 - Google Patents

비디오 처리 시스템 Download PDF

Info

Publication number
KR20160146542A
KR20160146542A KR1020160070722A KR20160070722A KR20160146542A KR 20160146542 A KR20160146542 A KR 20160146542A KR 1020160070722 A KR1020160070722 A KR 1020160070722A KR 20160070722 A KR20160070722 A KR 20160070722A KR 20160146542 A KR20160146542 A KR 20160146542A
Authority
KR
South Korea
Prior art keywords
resolution
frame
pixel data
reference frame
data representing
Prior art date
Application number
KR1020160070722A
Other languages
English (en)
Other versions
KR102669366B1 (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 KR20160146542A publication Critical patent/KR20160146542A/ko
Application granted granted Critical
Publication of KR102669366B1 publication Critical patent/KR102669366B1/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/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/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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
    • 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/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/182Methods 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 pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • 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/423Methods 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 characterised by memory arrangements
    • 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/53Multi-resolution motion estimation; Hierarchical motion estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Television Systems (AREA)

Abstract

비디오 처리 시스템(31)은 모두가 외부 메모리(33)에 대한 액세스를 갖는, 비디오 처리 유닛(VPU)(32)과 한 개 이상의 디스플레이 처리 유닛 34, 35를 포함한다. 표시될 프레임들을 나타내는 비디오 데이터가 생성된다. VPU(32)는 프레임들을 나타내는 픽셀 데이터를 생성하고, 그것을 메모리(33)에 저장한다. 그 후에, 디스플레이 처리 유닛 34, 35는 픽셀 데이터를 판독해서 프레임들을 표시한다. VPU(32)는 참조 프레임의 전해상도 LO 및 또한 전해상도보다 낮은 적어도 한 개의 해상도 L1, L2로 비디오 프레임들의 시퀀스에 대한 참조 프레임들을 나타내는 픽셀 데이터를 메모리(33)에 생성해서 저장하도록 구성된다.

Description

비디오 처리 시스템{VIDEO PROCESSING SYSTEM}
본 발명은 비디오 데이터의 처리에 관한 것이다. 특히, 본 발명은 비디오 데이터의 프레임들을 처리하는 방법 및 장치에 관한 것이다.
비디오 처리 시스템이 일반적으로 전자 디스플레이 위에 제공하기 위한, 비디오 데이터의 프레임들을 생성하는 것이 본 기술분야에 알려져 있다. 비디오 프레임은 일반적으로 화상을 나타내는 화소들(픽처 소자들)의 직사각형 어레이로서 표시되어 있고, 여기서 각 픽셀에 대해서 사용되는 컬러 값은 적절한 색 공간, 예를 들면 RGB 색 공간을 이용해서 표시된다.
다수의 비디오 프레임에 대한 픽셀 데이터를 저장하는 것은 다량의 메모리를 필요로 한다. 따라서, 다수의 비디오 인코딩 방법은 비디오 프레임들을 나타내는 픽셀 데이터가 압축된 형태로 저장될 수 있도록 발전되었다.
많은 그러한 비디오 인코딩 방법에 의하면, 비디오 프레임들의 시퀀스에 있어서의 프레임들은 전해상도(full resolution) 픽셀 데이터가 저장되는 프레임이며, 또 다른 프레임을 참조하여 정의되지 않은, 소위 "참조 프레임"에 대하여(그들의 차이점에 관해서) 다르게 인코딩된다. 일반적으로, 비디오 프레임들의 시퀀스의 복수의 프레임은 비교적 단일 참조 프레임에 대해서 정의되어 있고, 이 구성은 비디오 프레임들의 시퀀스를 통해서 반복된다.
그러한 하나의 비디오 인코딩 방법은 소위 "움직임 추정(motion estimation)"을 이용하고, 여기서 주어진 프레임이 예를 들면 16×16 픽셀들의 복수의 블록으로 분할되고, 픽셀들의 각 블록은 참조 프레임 내의 픽셀들의 대응하는 블록을 가리키는 벡터 값(소위 "움직임 벡터")과, 참조 프레임 내의 대응하는 픽셀 블록과 현재의 프레임 픽셀 블록 간의 차이를 서술하는 데이터(소위 "잔여")로 인코딩된다. 이것에 의해 현재의 프레임의 픽셀 블록에 대한 픽셀 데이터가 픽셀 데이터와 현재의 비디오 프레임의 픽셀 데이터 간의 차이를 서술하는 잔여 데이터와 움직임 벡터에 의해 가리키는 참조 프레임 내의 픽셀 블록에 대한 픽셀 데이터로부터 구성될 수 있다.
참조 프레임들을 이용하는 비디오 인코딩 방법들을 이용하면 비디오 프레임들의 시퀀스 내의 각 프레임 및 모든 프레임에 대하여 원시 픽셀 값들이 저장되는 구성에 비해서 메모리 요구량이 상당히 감소될 수 있다.
일반적으로, 신규 참조 프레임은, 주기적으로, 예를 들면 프레임들의 시퀀스 내의 모든 N 프레임마다 생성된다. 그 다음에, 참조 프레임은 시스템이 사용하는 메모리에 저장된다.
예를 들면, 현재의 참조 프레임에 대한 픽셀 데이터는, 예를 들면, 참조 프레임에 의존해서 인코딩되는 프레임들에 대한 잔여 값들과 움직임 벡터들을 얻기 위해서, 비디오 프레임들의 시퀀스를 인코딩할 때 사용하기 위해 생성되어 저장될 것이다. (일반적으로, 신규 참조 프레임은 메모리 내의 현존하는 참조 프레임을 대신할 것이다.
예를 들면, 비디오 프레임들의 시퀀스를 표시하기 위해서, 비디오 프레임들의 시퀀스를 디코딩할 때, 현재의 참조 프레임은 인코딩된 비디오 데이터로부터 생성될 것이고, 예를 들면, 참조 프레임에 의존하는 시퀀스 내의 다른 프레임들을 디코딩할 때 사용하기 위해서 표시되고 또한 저장될 것이다. (서로 다르게 인코딩된 비디오 프레임들을 정확하게 디코딩하기 위해서, 전해상도 참조 프레임은 디코딩 과정 중에 사용될 메모리에 생성되어 저장된다.)
본 출원인은 비디오 처리 시스템 내의 비디오 데이터의 프레임들을 처리하는 방법 및 장치에 개선의 여지가 남아 있다고 믿는다.
본 발명의 제1 국면에 의하면, 비디오 프레임들의 시퀀스 내의 한 개 이상의 프레임들에 대한 데이터가 참조 프레임에 대하여 정의되어 있는, 비디오 처리 시스템에서 비디오 데이터의 프레임들을 처리하는 방법이 제공되고, 상기 방법은,
상기 비디오 프레임들의 시퀀스에 대한 참조 프레임의 모두 또는 일부가 상기 비디오 프레임들의 시퀀스를 디코딩할 때 사용되는 경우,
제1 해상도로 상기 참조 프레임의 모두 또는 일부를 나타내는 픽셀 데이터를 메모리에 생성해서 저장하는 단계와,
상기 제1 해상도와 다른 적어도 한 개의 해상도로 상기 참조 프레임의 모두 또는 일부를 나타내는 픽셀 데이터를 메모리에 생성해서 저장하는 단계를 포함한다.
본 발명의 제2 국면에 의하면, 비디오 프레임들의 시퀀스 내의 한 개 이상의 프레임들에 대한 데이터가 참조 프레임에 대하여 정의되어 있는, 비디오 처리 시스템에서 비디오 데이터의 프레임들을 처리하는 장치가 제공되고, 상기 장치는,
비디오 프레임들의 시퀀스에 대한 참조 프레임의 모두 또는 일부가 상기 비디오 프레임들의 시퀀스를 디코딩할 때 사용되는 경우,
제1 해상도로 상기 참조 프레임의 모두 또는 일부를 나타내는 픽셀 데이터를 메모리에 생성해서 저장하고,
상기 제1 해상도와 다른 적어도 한 개의 해상도로 상기 참조 프레임의 모두 또는 일부를 나타내는 픽셀 데이터를 메모리에 생성해서 저장하도록 구성된 참조 프레임 생성 스테이지를 구비한다.
본 발명은 차동 인코딩(differential encoding)을 이용하고, 즉 비디오 프레임들의 시퀀스 내의 한 개 이상의 프레임이 이 시퀀스 내의 참조 프레임에 대하여 정의되어 있는, 비디오 처리 시스템에서 비디오 데이터의 프레임들을 처리하는 방법 및 장치에 관한 것이다.
본 발명에 있어서, 참조 프레임의 모두 또는 일부가 비디오 프레임들의 시퀀스를 디코딩하기 위해 필요한 경우, 제1 해상도로 참조 프레임의 모두 또는 일부를 나타내는 픽셀 데이터가 메모리에 생성되어 저장됨으로써, 예를 들면 그것은 그들의 차이(잔여)에 관하여 비디오 프레임들의 시퀀스 내의 다른(예를 들면, 다음) 프레임들을 정의 및/또는 디코드하기 위해서 사용될 수 있다. 그렇지만, 제1 해상도로 참조 프레임을 나타내는 픽셀 데이터를 생성하여 저장하는 것뿐 아니라, 본 발명은 제1 해상도와 다른 1개 이상의 해상도로 같은 참조 프레임의 모두 또는 일부를 나타내는 픽셀 데이터(또는 그것의 일부)를 생성하여 저장한다.
여기에 기술된 실시예들은 그 중에서도 전체 참조 프레임에 대한 픽셀 데이터를 생성하는 것을 일반적으로 참조한다. 그렇지만, 이것은 필요하지 않다. 본 발명에 있어서, 메모리에 생성되어 저장되는 픽셀 데이터는 제1 해상도 및 적어도 한 개의 다른 해상도로 참조 프레임의 일부만을 나타낼 수 있다(몇몇 실시예에 있어서는 나타낸다).
이하에 더 설명하는 것처럼, 본 출원인은 적어도 2개의 다른 해상도로 같은 참조 프레임을 나타내는 픽셀 데이터를 제공하는 것이 비디오 처리 시스템의 다양한 스테이지들에서 유리할 수 있고, 예를 들면 전반적으로 더 효율적인 비디오 처리 시스템을 제공할 수 있다는 것을 인식했다. 예를 들면, 이하에 더 설명하는 것처럼, 제1 해상도뿐만 아니라 적어도 한 개의 제2, 예를 들면 저해상도로 참조 프레임을 나타내는 픽셀 데이터를 생성하는 것을 이용해서 나중에 생성된 프레임들의 더 효율적인 압축을 가능하게 하거나, 또는 예를 들면, 표시용 특정 프레임을 스케일링(scaling)할 때 필요한 메모리 액세스의 개수를 줄일 수 있다.
비디오 프레임들의 시퀀스는 참조 프레임에 대하여 정의된(인코딩된) 한 개 이상의 프레임들을 포함한다. 이 시퀀스 내의 프레임들은 어떤 적절한 원하는 순서일 수 있다. 그렇지만, 바람직한 실시예에 있어서는, 프레임들은 표시되는 순서대로 있다.
참조 프레임 자체는 비디오 프레임들의 시퀀스 내의 한 개 이상의 프레임들이 정의되어 있는 임의의 프레임일 수 있다. 바람직한 실시예에 있어서는, 참조 프레임은 비디오 프레임들의 시퀀스 내의 임의의 프레임일 수 있다. 예를 들면, 참조 프레임은 참조 프레임에 대하여 정의되는 프레임들의 시퀀스 내의 전후 프레임 또는 프레임들일 수 있다. 그렇지만, 다른 실시예에 있어서는, 참조 프레임은 참조 프레임에 대하여 정의되는 프레임들의 시퀀스 내의 한 개 이상의 후 프레임 및 한 개 이상의 다른 전 프레임이다.
본 기술분야의 당업자가 알 수 있는 것처럼, 복수의 참조 프레임 및 각 참조 프레임에 대하여 정의된 다른 프레임들을 포함하는, 디코딩될 많은 비디오 프레임의 세트가 있을 수도 있다. 이 경우에, 각 참조 프레임 및 그 관련 프레임들은 본 발명의 방식으로 프레임들의 시퀀스로서 처리될 수 있고, 바람직하게는 처리된다. (그에 대응하여, 비디오 프레임들의 특정한 전체 세트 또는 시퀀스는 본 발명의 형태의 비디오 프레임들의 복수의 시퀀스(로서 처리된다)로 구성되어도 된다.)
비디오 프레임들의 시퀀스를 디코딩할 때 사용되는 참조 프레임을 나타내는 픽셀 데이터는, 참조 프레임이 필요할 때 및 경우에 생성된다(및 메모리에 저장된다). 본 발명의 실시예에 의하면, 비디오 프레임들의 시퀀스를 디코딩하는 것은, 예를 들면, 시퀀스 내의 한 개 이상의 의존적으로 인코딩된 비디오 프레임들을 디코딩하여, (바람직하게는) 참조 프레임 픽셀 데이터를 이용해, 표시용 프레임(들)을 제공하는 것을 포함한다.
제1 해상도로 참조 프레임을 나타내는 픽셀 데이터는, 어떤 적절한 원하는 방식으로든 생성될 수 있다.
바람직한 실시예에 있어서는, 제1 해상도로 참조 프레임을 나타내는 픽셀 데이터를 생성하는 스텝은, 참조 프레임의 픽셀들에 대하여 사용되는 적절한 값들(예를 들면, 컬러 값들)을 판정하는 것을 포함한다.
하나의 바람직한 실시예에 있어서는, 제1 해상도로 참조 프레임을 나타내는 픽셀 데이터를 생성하는 것은, 예를 들면, 텍스처 맵(texture map) 및/또는 다른 렌더링 처리들(rendering processes)을 이용해서, 픽셀 값들을 렌더링하는 것을 포함한다.
또 다른 바람직한 실시예에 있어서는, 참조 프레임에 대한 픽셀 데이터를 생성하는 스텝은, 참조 프레임을 나타내는 인코딩된 데이터를 디코딩하는 것과 그것으로부터 제1 해상도로 참조 프레임을 나타내는 픽셀 데이터를 생성하는 것을 포함한다. 이것은 현재 참조 프레임이 인코딩된 형태로 메모리에 저장되는 경우에 적절할 수 있다. 이와 같이, 바람직한 실시예에 있어서는, 제1 해상도로 참조 프레임을 나타내는 픽셀 데이터를 생성하는 것은, 메모리로부터 현존하는 참조 프레임을 먼저 판독하는 것을 포함한다.
참조 프레임의 해상도는, 참조 프레임을 나타낼 수 있는 세부정보의 양을 차례로 정의하는 참조 프레임 내부의 개개의 픽셀들의 개수에 의존한다는 것이 이해될 것이다.
생성한 픽셀 데이터로 참조 프레임을 나타내는 제1 해상도는, 어떤 적절한 또는 원하는 해상도일 수 있다. 그렇지만, 본 출원인은 가능한 가장 많은 양의 세부정보로 참조 프레임을 나타내는 픽셀 데이터를 정상적으로 생성하는 것이 유용하므로, 예를 들면, 디코딩 목적으로 비디오 처리 시스템이 나중에 사용할 수 있다는 것을 인식했다. 이와 같이, 본 발명의 바람직한 실시예에 의하면, 제1 해상도는 참조 프레임에 대한 픽셀 데이터가 생성되는 가장 높은 해상도이다. 그것은 가능한 최대 해상도이거나, 가장 큰 세부사항으로(예를 들면, 이용 가능한 메모리 등에 의존해서) 참조 프레임을 나타내는 해상도인 것이 바람직하다. 이것은 예를 들면 비디오 처리 시스템이 단일 해상도로만 참조 프레임을 나타내는 픽셀 데이터를 생성하도록 구성되었으면 픽셀 데이터를 생성했던 해상도일 수 있고, 바람직하게는 이다.
제1 해상도와 다른 적어도 한 개의 해상도로 참조 프레임을 나타내는 픽셀 데이터는 어떤 적절한 원하는 방식으로든 생성될 수 있다.
적어도 한 개의 다른 해상도로 참조 프레임을 나타내는 픽셀 데이터는, 제1 해상도로 참조 프레임을 나타내는 픽셀 데이터로부터 개별적으로 및/또는 독립적으로 생성될 수 있다. 예를 들면, 처음으로 참조 프레임이 생성되는 경우, 각 해상도로 참조 프레임을 나타내는 픽셀 데이터를 개별적으로 렌더링하는 것이 가능하다. 이와 같이, 본 발명의 실시예에 의하면, 방법은 제1 해상도로 참조 프레임을 나타내는 픽셀 데이터를 개별적으로 생성, 예를 들면 렌더링하여, 제1 해상도와 다른 적어도 한 개의 해상도로 참조 프레임을 나타내는 픽셀 데이터를 생성, 예를 들면 렌더링하는 것을 포함한다.
그렇지만, 바람직한 실시예에 있어서는, 제1 해상도와 다른 적어도 한 개의 해상도로 참조 프레임을 나타내는 픽셀 데이터는, 제1 해상도로 참조 프레임에 대하여 생성되었던(참조 프레임을 나타내는) 픽셀 데이터에 근거해서 생성된다. 예를 들면, 참조 프레임 생성 스테이지는 (상술한 바와 같이) 제1 해상도로 참조 프레임을 나타내는 픽셀 데이터를 먼저 생성하고, 제1 해상도로 참조 프레임을 나타내는 픽셀 데이터(에 근거해)를 이용해서 제1 해상도와 다른 적어도 한 개의 다른 해상도로 참조 프레임을 나타내는 픽셀 데이터를 생성하도록 구성될 수 있다(바람직하게는 구성된다).
본 발명은 어떤, 예를 들면 주어진 또는 선택된 개수의 다른 해상도로 참조 프레임을 나타내는 픽셀 데이터를 생성할 수 있고, 제1 해상도와 다른 각 해상도는 (그것이 제1 해상도가 아니기만 하면) 어떤 적절한 또는 원하는 해상도일 수 있다.
바람직한 실시예에 있어서는, 본 발명은 참조 프레임의 제1 해상도 버전보다 적은 적어도 한 개의 참조 프레임의 상세 버전을 나타내는 픽셀 데이터를 메모리에 생성해서 저장한다. 이와 같이, 바람직한 실시예에 의하면, 제1 해상도와 다른 적어도 한 개의 다른 해상도는 제1 해상도보다 낮은 적어도 한 개의 해상도를 구비한다. 예를 들면, 참조 프레임에 대해 생성된 픽셀 데이터는, 1080×920 픽셀의 제1 해상도와 720×576 픽셀의 제2 해상도로 참조 프레임을 나타낼 수 있다.
따라서, 저해상도 버전의 참조 프레임을 나타내는 픽셀 데이터는, 제1 해상도의 참조 프레임을 나타내는 통합된(바람직하게는 다운 샘플링된(다운스케일링된)) 버전의 픽셀 데이터인 것이 바람직하다. 이와 같이, 바람직한 실시예에 의하면, 제1 해상도와 다른 적어도 한 개의 해상도의 참조 프레임을 나타내는 픽셀 데이터를 생성하는 스텝은, 제1 해상도의 참조 프레임을 나타내는 픽셀 데이터를 통합하여 제1 해상도보다 낮은 적어도 한 개의 해상도의 참조 프레임을 나타내는 통합된 픽셀 데이터를 생성하는 것을 포함한다.
픽셀 데이터를 통합하는 것은 어떤 적절한 또는 원하는 방식으로든 행해질 수 있다. 제1 해상도보다 낮은 적어도 한 개의 해상도 중의 한 개 이상 또는 모두의 참조 프레임을 나타내는 통합된 픽셀 데이터는, 제1 해상도의 참조 프레임을 나타내는 픽셀 데이터(즉, 통합되지 않은 데이터)로부터 생성될 수 있다. 그 대신에, 제1 해상도보다 낮은 2개 이상의 다른 해상도의 참조 프레임을 나타내는 통합된 픽셀 데이터가 생성되는 경우, 저해상도의 참조 프레임을 나타내는 통합된 픽셀 데이터가, 예들 들면, 원하는 경우, 이전의 고해상도의 참조 프레임을 나타내는 통합된 픽셀 데이터로부터 생성될 수 있다.
바람직한 실시예에 있어서, 픽셀 데이터를 통합하는 것은, 그 고해상도 참조 프레임의 주어진, 예를 들면, 선택된 개수의 픽셀에 대하여 고해상도의 참조 프레임을 나타내기 위해 사용된 픽셀 데이터를 평균하거나 그렇지 않으면 결합(필터링)하는 것을 포함한다. 예를 들면, 픽셀 데이터는 복수의 픽셀 블록으로 분할될 수 있고, 예를 들면, 그러한 4개의 픽셀의 각 블록은, 그 블록 내의 픽셀들의 평균 픽셀(컬러) 값을 갖는 단일 픽셀로 표현된다. 그렇지만, 고해상도 참조 프레임을 나타내는 픽셀 데이터를 서브샘플링(subsampling)하는 등, 다른 기술이, 원한다면, 또한 혹은 대신에 사용될 수 있다.
바람직한 실시예에 있어서는, 적어도 3개의 다른 해상도의 참조 프레임을 나타내는 픽셀 데이터는, 제1 해상도와 다른 적어도 2개의 (바람직하게는 낮은) 해상도로 (즉, 제1 해상도로 ) 생성되어 저장된다.
특히 바람직한 실시예에 있어서는, 제1 및 적어도 한 개의 다른 해상도로 참조 프레임을 나타내는, 생성 및 저장되는 픽셀 데이터는, 참조 프레임을 나타내는 밉맵 세트의 2개 이상 또는 모든 레벨의 형태이다. 마찬가지로, 바람직한 실시예에 있어서는, 참조 프레임 생성 스테이지는 밉맵 세트로서 참조 프레임을 나타내는 픽셀 데이터를 생성하도록 구성된다.
밉맵 세트는 각각이 (같은) 프레임 화상의 점진적으로 낮은 해상도(덜 상세한) 표현인 프레임들의 시퀀스를 포함한다. (밉맵 세트에서의 프레임의 각 버전은 여기에서는 밉맵 레벨이라고 칭한다. 달리 명시하지 않았지만, 여기서 높은 밉맵 레벨 및 낮은 밉맵 레벨에 대한 레퍼런스는 각각 덜 상세한 밉맵 및 더 상세한 밉맵을 나타낸다.)
바람직한 실시예에 있어서, 밉맵 세트의 각 레벨의 높이 및 폭은 그 세트에서의 이전 레벨의 것보다 2배 작고, 각 레벨은 이전 레벨의 (픽셀의 수에 관하여) 해상도의 1/4인 해상도를 갖는다. 예를 들면, 참조 프레임이 제1 해상도의 256 × 256 픽셀의 사이즈를 가지면, 관련 밉맵 세트는 일련의 8 레벨(다른 버전의 참조 프레임)을 포함할 수도 있고, 여기서 각 레벨은 이전 레벨의 전체 면적의 1/4: 128×128 픽셀, 64×64, 32×32, 16×16, 8×8, 4×4, 2×2, 1×1(단일 픽셀)이다.
다른 스케일링 인자들은 원한다면 밉맵 세트에 대해서 사용될 수 있다.
본 출원인은, 이 점에 있어서, 밉맵의 각 레벨이 엄격한 스케일링 순서를 갖는 밉맵 세트가 반드시 참조 프레임을 나타내는 가장 이상적인 해상도의 세트가 아닐 수도 있지만, 밉맵 세트로서 참조 프레임을 나타내는 픽셀 데이터를 생성(및 사용)하는 데 여전히 유리할 수 있다는 것을 인식했다.
예를 들면, 밉맵 레벨의 해상도는 참조 프레임이 표시되는 디스플레이의 해상도와 정확히 매치하지 않을 수도 있지만, 본 출원인은 (다른 임의의 해상도와 비교해) 각각의 밉맵 레벨로서 참조 프레임의 표현을 생성 및 취급 또는 처리하는 비교적 용이함은, 이 형태의 참조 프레임을 제공하는 것이 가질 수도 있는 잠재적인 단점을 능가해야 한다는 것을 인식했다.
본 발명에 따라 생성 및 저장되는 픽셀 데이터는, (즉, 가장 높은 해상도 버전에서 시작해서 단일 픽셀(혹은 그것의 동등한 것)에 이르기까지 각 밉맵 레벨에 대한 각 저해상도 버전을 포함하는) 참조 프레임에 대한 전체 밉맵 세트를 나타낼 수도 있다. 그렇지만, 픽셀 데이터가 밉맵의 각 가능한 레벨을 나타내는 것이 필요하지 않다. 본 발명의 실시예에 있어서는, 밉맵의 2개 이상의 레벨로 참조 프레임을 나타내는 픽셀 데이터는, 메모리에 생성되어 저장된다. 일부 실시예에 있어서는, 밉맵의 모든 다른 레벨로 참조 프레임을 나타내는 픽셀 데이터, 즉 완전한 밉맵을 구성하는 참조 프레임들의 시퀀스 내의 모든 다른 버전의 참조 프레임이, 메모리에 생성되어 저장된다. 다른 실시예에 있어서는, 참조 프레임 생성 스테이지는 참조 프레임에 대한 밉맵의 레벨들의 특정한, 예를 들면, 원하는, 예를 들면 선택된 서브세트만을 나타내는 픽셀 데이터를 생성하도록 구성된다.
하나의 바람직한 실시예에 있어서는, 제1 해상도와 다른 적어도 한 개의 해상도로 전체 참조 프레임을 나타내는 픽셀 데이터가 생성된다. 그렇지만, 이것은 필요하지 않다. 이와 같이, 본 발명의 다른 실시예에 있어서는, 제1 해상도와 다른 적어도 한 개의 해상도로 참조 프레임을 나타내는 픽셀 데이터는, 전체 참조 프레임(화상)의 영역 또는 일부만을 나타낸다. 예를 들면, 참조 프레임 생성 스테이지는 제1 해상도로 참조 프레임을 나타내는 픽셀 데이터의 서브세트만을 통합하도록 구성될 수 있다.
본 발명의 비디오 처리 시스템은 어떤 적절한 또는 원하는 방식으로든(제1 해상도와 다른 적어도 한 개의 해상도로 참조 프레임을 나타내는 픽셀 데이터를 생성하는 것에 관하여) 상술한 실시예를 구현하도록 구성될 수 있다. 예를 들면, 제1 해상도와 다른 적어도 한 개의 해상도로 참조 프레임을 나타내는 픽셀 데이터를 생성하는 프로세스는, 예를 들면, 전체 비디오 처리 시스템의 지식에 의거해서, CPU상의 적절한 드라이버로 트리거될 수 있고(바람직하게는 트리거되고) 구성될 수 있다.
바람직한 실시예에 있어서는, 참조 프레임 픽셀 데이터 생성은, 참조 프레임에 대한 픽셀 데이터를 비디오 처리 시스템이 사용하는 방법에 의거해서 구성된다.
예를 들면, 바람직하게는, 참조 프레임이 생성되는 제1 해상도와 다른 적어도 한 개의 해상도의 한 개 이상 또는 모두는, 비디오 시퀀스가 표시되는 전자 디스플레이 또는 디스플레이들의 해상도에 의거해서 선택된다. 하나의 바람직한 실시예에 있어서는, 제1 해상도와 다른 적어도 한 개의 해상도는 표시될 출력 프레임의 해상도에 대응한다.
추가로 또는 대체로(바람직하게는 추가로), 참조 프레임이 표시되는 다른 해상도의 수는 시스템의 지식에 의거해서 선택되는 것이 바람직하다. 예를 들면, 참조 프레임 생성 스테이지는, 비디오 시퀀스를 표시하는 전체 비디오 처리 시스템에 있어서 상이한 디스플레이들이 있는 만큼 많은 다른 해상도로서, 제1 해상도와 다른 단일 해상도로 참조 프레임을 나타내는 픽셀 데이터를 생성하도록 구성될 수 있다.
참조 프레임을 나타내는 픽셀 데이터는 비디오 처리 시스템의 어떤 적절한 원하는 구성소자에 의해 생성될 수 있다. 바람직한 실시예에 있어서는, 픽셀 데이터는 비디오 처리 시스템의 그래픽 프로세서, 비디오 프로세서(비디오 엔진), 컴포지터(compositor) 또는 디스플레이 프로세서 등, 적절한 프로세서에 의해 생성된다. 이와 같이, 참조 프레임 생성 스테이지는 그래픽 프로세서, 비디오 프로세서(비디오 엔진), 컴포지션 엔진(컴포지터) 또는 디스플레이 컨트롤러를 구비하는 것이 바람직하다. 참조 프레임 생성 스테이지는 원한다면 한 개의 프로세서보다 많이 구비할 수도 있고, 한 개 이상 또는 모든 프로세서는 본 발명의 방식으로 동작 가능할 수도 있다.
참조 프레임 생성 스테이지는, 또한 원한다면(바람직한 실시예에 있어서는 이것이 사실이다), 압축해제 스테이지(디코딩부) 및/또는 압축 스테이지(인코딩부) 등 다른 구성소자들을 포함할 수도 있다.
바람직한 실시예에 있어서는, 제1 해상도와 다른 적어도 한 개의 다른 해상도로 참조 프레임을 나타내는 픽셀 데이터는, 제1 해상도로 참조 프레임을 나타내는 픽셀 데이터를 생성한 비디오 처리 시스템의 같은 프로세서에 의해 생성된다.
그렇지만, 다른 실시예에 있어서는, 제1 해상도 및 적어도 한 개의 다른 해상도로 참조 프레임을 나타내는 픽셀 데이터를 생성하는 태스크(task)는, 복수의 프로세서들 사이에서 분할되고, 그 다음에 주로 병렬로 수행된다. 이 점에서, 주어진 참조 프레임이 표시되는 다른 해상도의 개수만큼 많은 참조 프레임 생성 프로세서로서, 예를 들면, 2개의 참조 프레임 생성 프로세서 등, 원하는 개수의 참조 프레임 생성 프로세서들이 제공될 수 있다.
바람직한 실시예에 있어서는, 적어도 한 개의 다른 해상도로 참조 프레임을 나타내는 픽셀 데이터는, 단일 또는 복수의 참조 프레임 생성 스테이지에 의해 픽셀 데이터가 생성되는지 여부에 관계없이, 제1 해상도 픽셀 데이터와 대체로 같은 시간에 생성된다. 이렇게 하여, 비디오 처리 시스템은, 다른 해상도 프레임이 생성될 때마다보다는, 한 번에 전해상도 참조 프레임을 판독/액세스할 필요가 있다.
특히 바람직한 실시예에 있어서는, 제1 해상도와 다른 적어도 한 개의 해상도의 픽셀 데이터의 생성은, 비디오 처리 시스템의 현존 스테이지에 의해 수행되고, 바람직하게는 (다른 해상도로 같은 참조 프레임을 나타내는 픽셀 데이터를 생성하기 위해서 사용될 수 있는) 스케일링 동작을 그것의 "보통" 처리 동작의 일부로서 통상적으로 수행하는 스테이지에 의해 수행된다.
이 점에 있어서, 본 출원인은 계층적 움직임 추정 등, 움직임 추정의 특정 방법에 대해서, 프레임들이, 프레임들의 사이즈 및 해상도를 감소시키는 스케일링 프로세스를 행할 것이라는 것을 인식했다. 예를 들면, 각각이 어떤 인자에 의해 감소된(축소된) 두 가지 디멘션(dimension)을 갖는, 화상의 몇몇 버전이 구성된다.
이와 같이, 특히 바람직한 실시예에 있어서는, 본 발명의 비디오 처리 시스템은, 움직임 추정 인코딩 중에 스케일링 동작을 수행하는 하드웨어를 구비하는 것이고, 그 하드웨어는 제1 해상도와 다른 적어도 한 개의 해상도로 참조 프레임에 대한 픽셀 데이터를 생성하기 위해서 사용된다. 이와 같이, 바람직한 실시예에 있어서는, 참조 프레임 생성 스테이지는, 계층적 움직임 추정 인코딩에 대하여 사용되는 스케일링 하드웨어를 구비한다.
계층적 움직임 추정 인코딩에 대해 사용된 스케일링 하드웨어는, 스케일링 히드웨어가 비디오 데이터에 대해 스케일링 동작들을 수행하도록 이미 동작했기 때문에, 다른 해상도로 참조 프레임을 나타내는 픽셀 데이터를 생성하기 위한 비디오 처리 시스템의 특히 바람직한 구성소자이다. 이렇게 하여, 계층적 움직임 추정 인코딩에 사용된 스케일링 하드웨어는, (비디오 처리 시스템의 한 개 이상의 참조 프레임 생성 프로세서 등) 비디오 처리 시스템의 다양한 구성소자에 의해 공유(재사용)될 수 있다.
참조 프레임에 대하여 생성된 픽셀 데이터는, 메모리에 저장된다. 그것은 어떤 적절한 메모리, 예를 들면, 바람직하게는 적절한 프레임 버퍼 내에 저장될 수도 있기 때문에, 비디오 처리 시스템 의해 나중에 사용하기 위해서 판독될 수도 있다.
일 실시예에 있어서는, 생성된 픽셀 데이터는, 참조 프레임 생성 스테이지에 대하여, 로컬 메모리 내에, 바람직하게는 적절한 프레임 버퍼 내에 저장된다. 이것은 참조 프레임이 예를 들면 차동 인코드 비디오 프레임들의 시퀀스를 디코드하는 데에 즉시 필요한 경우인 것이 바람직하다.
또 다른 실시예에 있어서는, 픽셀 데이터는, 하드 디스크 또는 디스크들, 또는 고체 상태 디스크 등, 비디오 처리 시스템을 이용하고 있는 호스트 시스템의 메인 메모리와 같은, 비디오 처리 시스템의 메인 메모리 내에 저장되고, 광디스크(DVD 또는 CD-ROM), 플래시 메모리, 하드 드라이브 등, 일부 다른 형태의 외부 기억매체 내에 저장되며, 또는 네트워크 접속 등을 통해서 원격으로 액세스된다.
바람직한 실시예에 있어서, 참조 프레임에 대한 픽셀 데이터는 인코딩된(바람직하게는 압축된) 형태로 저장된다. 특히 바람직한 실시예에 있어서는, 참조 프레임을 나타내는 픽셀 데이터는, 블록 기반 인코딩 포맷을 이용해서 인코딩된다. 예를 들면, 참조 프레임은 프레임의 픽셀들의 복수의 블록(매크로블록)(예를 들면, MPEG 인코딩의 경우에 16×16 픽셀 블록)으로 분할될 수 있고(바람직하게는 분할되고), 각 블록에 대한 픽셀 데이터가 개별적으로 인코딩된다. 바람직하게는, 참조 프레임은 출원인의 US 특허 출원번호 US 2013/036290, 및/또는 US 특허번호 US 8542939에 기재된 방법들 중의 어느 하나에 따라 인코드된다.
이와 같이, 바람직한 실시예에 있어서는, 제1 해상도 및 적어도 한 개의 다른 해상도로 참조 프레임을 나타내는 픽셀 데이터는 압축된 형태로 저장된다. 이에 대응하여, 참조 프레임을 나타내는 밉맵 세트의 2개 이상 또는 모든 레벨은 압축된 형태로 메모리 내에 저장되는 것이 바람직하다.
이 점에 있어서, 픽셀 데이터(예를 들면, 밉맵 세트)는 어떤 적절한 원하는 방식으로든 압축될 수도 있다. 바람직한 실시예에 있어서는, 전해상도로 참조 프레임을 나타내는 (즉, 참조 프레임의 비트이그잭트(bitexact) 버전을 나타내는) 픽셀 데이터(밉맵 세트의 층(예를 들면, 하부층))는 (다음 프레임들을 디코드하기 위해 사용될 수 있도록) 무손실 압축 방식을 이용해서 압축된다. 한 개 이상의 다른, 예를 들면, 저해상도로 참조 프레임을 나타내는 다른 해상도(층(들))에 대해서, 손실 압축 방식이 사용될 수 있다(바람직하게는 사용된다).
밉맵 세트의 각 레벨은 어떤, 예를 들면 선택된 또는 원하는 압축 방식 및/또는 압축률로 압축될 수도 있다. 바람직한 실시예에 있어서는, 출원인의 US 특허출원번호 US 2013/036290, 및/또는 US 특허번호 US 8542939에 기재된 한 이상의 방법들이 픽셀 데이터를 압축하기 위해서 사용된다. 참조 프레임 데이터를 압축하기 위해 사용된 압축 방식 및/또는 압축률은, 압축되어 있는 픽셀 데이터가 (예를 들면, 밉맵의 레벨이 압축되고 있는) 참조 프레임을 나타내는 해상도에 의거해서 선택되어도 된다(일부 실시예에 있어서는 선택된다).
일부 실시예에 있어서는, 참조 프레임 생성 스테이지의 압축 스테이지(인코딩부)는 상이한 압축률로 참조 프레임의 상이한 해상도 버전(밉맵 세트의 상이한 레벨)을 압축하도록 구성된다. 예를 들면, 압축된 형태의 전해상도 층은 데이터의 10비트를 이용해서 표현되면, 다른 층들이 8비트(실제로는, 20%의 보장된 압축) 등, 보다 적은 비트를 이용할 수 있다(일부 실시예에 있어서는 이용할 것이다). 마찬가지로, 저해상도 층(들)은 예를 들면, 4:2:2 샘플링으로부터 4:2:0 샘플링으로 변환(실제로는, 25%의 보장된 압축)함으로써 크로마 정보를 제거할 수 있다.
상술한 실시예에 따른 참조 프레임을 나타내는 픽셀 데이터(예를 들면, 밉맵 세트)를 압축하는 것은, 메모리 대역폭을 더 줄이는 점에서 유리하다. 그것은 또한 (압축을 위해 더 적합하게 만드는, 고주파 콘텐트가 제거되었다는 것을 의미하는) 비디오 콘텐트가 일반적으로 이미 압축되어 있다는 것을 고려하면, 비디오 콘텐트를 처리하기 위한 특히 적합한 구성이다.
상술한 바와 같이, 제1 해상도와 다른 적어도 한 개의 해상도로 참조 프레임을 나타내는 픽셀 데이터는, 비디오 처리 시스템의 다양한 스테이지에서 유리하게 사용될 수 있다.
이와 같이, 바람직한 실시예에 의하면, 본 발명의 방법은, 제1 해상도와 다른 적어도 한 개의 해상도로 참조 프레임을 나타내는 픽셀 데이터를 이용해서, 예를 들면, 표시를 위한, 비디오 프레임들의 시퀀스 내의 적어도 한 개의 프레임을 처리하는 것을 더 포함한다.
따라서, 바람직한 실시예에 있어서, 본 발명의 장치는 제1 해상도와 다른 적어도 한 개의 해상도로 참조 프레임을 나타내는 픽셀 데이터를 이용해서 비디오 프레임들의 시퀀스 내의 적어도 한 개의 프레임을 처리하도록 구성된 프레임 처리 스테이지를 더 구비한다.
이 점에서, 본 출원인은 예를 들면, 비디오 프레임들의 시퀀스가 표시를 위해 처리되고 있는 경우, 상이한 해상도로 참조 프레임을 나타내는 픽셀 데이터가 비디오 프로세스의 디코딩측에 유리하게 사용될 수 있다는 것을 인식했다. 예를 들면, 표시를 위해서 출력 프레임 또는 프레임들을 제공할 때 제1 해상도보다 적어도 한 개의 다른(바람직하게는 낮은) 해상도로 참조 프레임을 나타내는 픽셀 데이터를 이용하는 것이 바람직할 수도 있다(바람직한 실시예에 있어서는, 이것이 행해진다).
이것은 특히 비디오 프레임들의 시퀀스 내의 현재 프레임이 참조 프레임의 제1 해상도와 다른 해상도로 표시되는 구성에 해당될 수도 있다. 이것은 예를 들면, 참조 프레임의 제1 해상도보다 낮은 해상도를 갖는 디스플레이에 표시하기 위한 출력 프레임 또는 프레임들을 제공하는 경우에 해당될 수 있다. 또 다른 예는 전체 디스플레이의 일부(예를 들면, 윈도우)에 표시되는 출력 프레임 또는 프레임들을 제공하는 경우일 것이고, 여기서 디스플레이의 일부는 참조 프레임의 제1 해상도보다 낮은 해상도를 갖는다. 그러한 경우에, 현재 비디오 프레임을 나타내는 출력 프레임은, 참조 프레임의 제1 해상도보다 낮은 해상도를 갖는 픽셀들의 세트에 대응할 것이다. (이와 같이 생성되고 있는 출력 프레임은, 예를 들면 문제의 디스플레이를 완전히 채울 것이고, 또는 디스플레이에 표시되고 있는 윈도우일 수도 있다.)
본 기술분야에서 알려진 것처럼, 표시를 위한 출력 프레임을 제공하는 것은, 픽셀 데이터가 디스플레이에 판독되어 제공될 수 있는 곳에서, 예를 들면, 픽셀 데이터를 적절한 프레임 버퍼로 로딩하는 것을 포함한다. 많은 경우에 있어서, 이것은 대응하는 참조 프레임을 나타내는 적어도 전해상도 픽셀 데이터에 의거해서 출력 프레임에 대한 픽셀 데이터를 생성하는 것을 포함할 것이다.
그렇지만, 본 발명의 실시예에 의하면, 제1, 즉 전해상도 참조 프레임에 대한 픽셀 데이터를 이용해 출력 프레임에 대한 픽셀 데이터를 생성하는 대신에, 현재 프레임이 참조 프레임의 제1 해상도보다 낮은 해상도로 표시되는 경우, 이 목적을 위해서 저해상도 참조 프레임을 나타내는 픽셀 데이터가 사용될 수 있다(바람직하게는 사용된다). 이와 같이, 본 발명의 실시예에 의하면, 비디오 프레임들의 시퀀스에서의 적어도 한 개의 프레임을 처리하는 스텝은, 제1 해상도보다 낮은 적어도 한 개의 해상도로 참조 프레임을 나타내는 픽셀 데이터를 이용해서 표시하기 위한 출력 프레임을 나타내는 픽셀 데이터를 생성하는 것을 포함한다.
일부 실시예에 있어서는, 저해상도 참조 프레임에 대한 픽셀 데이터는 출력 프레임에 대한 픽셀 데이터로서 사용될 수 있다. 예를 들면, 비디오 프레임들의 시퀀스에서의 표시될 현재 프레임이 참조 프레임 자체인(예를 들면, 참조 프레임 자체로서 플래그되는) 경우, 출력 프레임을 생성하기 위해서, 비디오 처리 시스템(바람직하게는 프레임 처리 스테이지)은 참조 프레임에 대한 저해상도 픽셀 데이터만을 이용할 것이다. (이 실시예에 있어서는, 참조 프레임에 대한 저해상도 픽셀 데이터만이 출력 프레임으로서 사용되지만, 비디오 처리 시스템(예를 들면, 비디오 처리 엔진)은, 비디오 프레임들의 시퀀스에서의 다른 프레임들을 디코드하기 위해 사용될 수 있도록 제1, 즉 전해상도로 참조 프레임을 나타내는 픽셀 데이터를 (메모리에 저장한다) 생성할 수도 있고, 바람직하게는 여전히 생성한다는 것을 알 수 있을 것이다.)
이것은 표시될 현재 프레임이 차동 인코딩된 프레임이고, 현재 프레임에 대한 잔여물이 0과 같은 구성의 경우일 수 있다(일부 실시예에 있어서는 경우이다). 예를 들면, 현재 프레임의 주어진 블록이 참조 프레임과 비교해서 변경되지 않으면, 비디오 처리 시스템은, 출력 프레임에 대한 픽셀 데이터로서 참조 프레임(의 저해상도 버전)에서의 대응하는 블록에 대한 픽셀 데이터를 사용할 수 있다(바람직하게는 사용할 것이다).
일 실시예에 있어서는, 참조 프레임에 대한 픽셀 데이터가 생성되는 제1 해상도보다 낮은 적어도 한 개의 해상도 중의 하나는, 표시될 출력 프레임에 필요한 해상도에 대응한다. 그러한 경우에, 출력 프레임 해상도에 대응하는 적어도 한 개의 저해상도로 참조 프레임을 나타내는 픽셀 데이터는, 출력 프레임에 대한 픽셀 데이터로서 바로 사용(예를 들면, 출력)될 수 있다(바람직하게는 사용된다).
이와 같이, 본 발명의 실시예에 의하면, 제1 해상도보다 낮은 적어도 한 개의 해상도로 참조 프레임을 나타내는 픽셀 데이터를 이용해 표시하기 위한 출력 프레임을 나타내는 픽셀 데이터를 생성하는 것은, 출력 프레임으로서 직접 제1 해상도보다 낮은 적어도 한 개의 해상도 중의 하나로 참조 프레임을 나타내는 픽셀 데이터를 출력하는 것을 포함한다.
그렇지만, 생성된 참조 프레임의 저해상도 버전이 출력 프레임(예를 들면, 디스플레이)에 필요한 해상도에 대응하지 않는 구성에서는, 스케일링 동작을 수행하여 출력 프레임에 대한 최종 픽셀 데이터를 도출하는 것이 필요할 수도 있다. 이와 같이, 본 발명의 실시예에 의하면, 제1 해상도보다 낮은 적어도 한 개의 해상도로 참조 프레임을 나타내는 픽셀 데이터를 이용해 표시용 출력 프레임을 나타내는 픽셀 데이터를 생성하는 것은, 출력 프레임에 대한 최종 픽셀 데이터를 도출할 때 제1 해상도보다 낮은 적어도 한 개의 해상도로 참조 프레임을 나타내는 픽셀 데이터에 대해 스케일링 동작을 수행하는 것을 포함한다.
이 경우에, 사용되는 참조 프레임의 저해상도 버전은, 예를 들면, 실제로 필요한 해상도와 가장 가까운 해상도를 이용해서, 필요할 수도 있는 스케일링 처리량을 줄이도록, 예를 들면 최소화하도록 선택되는 것이 바람직하다.
표시될 현재 프레임이 다르게 인코딩된 프레임, 즉 참조 프레임을 나타내는 전해상도 픽셀 데이터에 대하여 인코딩되었던 (0 잔여를 갖지 않는) 프레임인 경우, 표시용 출력 프레임을 정확히 생성하기 위해서, 표시될 다르게 인코딩된 프레임은 보통 전해상도 참조 프레임을 나타내는 픽셀 데이터와 현재 프레임을 나타내는 다르게 인코딩된 픽셀 데이터로부터 디코딩될 것이다. 프레임에 대하여 디코딩된 픽셀 데이터는 예를 들면, 표시부에 의해 그것이 페치될 수 있는 메모리 내에 통상적으로 저장될 것이고, 필요한 경우에는 출력 프레임 해상도에 맞도록 축소될 것이다.
그렇지만, 본 발명의 실시예에 의하면, (전해상도로) 현재 프레임에 대한 픽셀 데이터를 먼저 디코딩하여 그것을 메모리 내에 저장하는 대신에, 프레임 처리 스테이지는 (디코딩된) 현재 프레임을 나타내는 전해상도 픽셀 데이터를 메모리에 저장하지 않도록 구성된다. 대신에, 프레임 처리 스테이지는 저해상도만으로 (디코딩된) 현재 프레임을 나타내는 픽셀 데이터를 생성하여 저장하도록 구성된다.
이것은 참조 프레임을 나타내는 전해상도 픽셀 데이터를 판독하고 이용해서 표시될 현재 프레임을 디코딩하는 것(예를 들면, 프레임 처리 스테이지)에 의해, 또 내부에서 전해상도로 현재 프레임을 나타내는 (디코딩된) 픽셀 데이터를 이용해서 전해상도와 다른 한 개 이상의 해상도로 현재 프레임을 나타내는 픽셀 데이터를 생성함으로써 행해질 수 있다(바람직하게는 행해진다). 전해상도와 다른 한 개 이상의 해상도로 현재 프레임을 나타내는 픽셀 데이터만이 (시스템에 있어서 나중에 사용하기 위한) 메모리에 저장된다.
이와 같이, 본 발명의 실시예에 의하면, 방법은, 표시될 현재 프레임이 참조 프레임에 대하여 인코딩되면,
제1 해상도로 참조 프레임을 나타내는 픽셀 데이터와 현재 프레임에 대하여 인코딩된 픽셀 데이터를 이용해서 현재 프레임을 디코딩하는 것과,
제1 해상도와 다른 적어도 한 개의 해상도로 현재 프레임을 나타내는 픽셀 데이터를 메모리에 생성해서 저장하는 것과,
제1 해상도와 다른 적어도 한 개의 해상도로 현재 프레임을 나타내는 픽셀 데이터를 이용해 출력 프레임을 나타내는 픽셀 데이터를 생성하는 것을 더 구비한다.
바람직한 실시예에 있어서는, 제1(예를 들면, 전) 해상도와 다른 적어도 한 개의 해상도로 현재 프레임을 나타내는 픽셀 데이터를 생성하는 것은, 제1 해상도로 현재 프레임을 나타내는 픽셀 데이터에 대하여 한 개 이상의 스케일링 동작을 수행하는 것을 포함한다.
본 출원인은, 이 실시예가 제1 해상도보다 낮은 해상도로 참조 프레임을 나타내는 픽셀 데이터를 이용하지 않지만, 전해상도 참조 프레임을 이용하여 표시될 현재 프레임의 다중 해상도 버전을 나타내는 픽셀 데이터를 생성하는 이점이 여전히 존재한다는 것을 인식했다. 예를 들면, 표시될 현재 프레임의 저해상도 버전을 가지면, 디스플레이 컨트롤러가 표시될 출력 프레임에 대한 픽셀 데이터를 도출하기 위해서 현재 프레임의 작은 버전(전해상도 버전은 아니다)만을 판독함으로써, 예를 들면, 메모리 액세스의 수 및 메모리 대역폭을 절약할 수 있다. 이것은 적어도 한 개의 저해상도가 디스플레이가 필요로 하는 해상도에 대응하는 경우에 특히 유리하다.
다른 실시예에 있어서는, 비디오 처리 시스템(예를 들면, 프레임 처리 스테이지)은 현재 프레임에 대하여 (다르게) 인코딩된 픽셀 데이터를(즉, 움직임 벡터와 잔여 데이터를 통합함으로써) 저해상도로 먼저 스케일 다운(scale down)한 후에 적어도 한 개의 저해상도로 참조 프레임을 나타내는 픽셀 데이터와 현재 프레임의 "스케일 다운" 버전에 의거해서 출력 프레임에 대한 최종, 즉 디코딩된 픽셀 데이터를 도출해서 생성하도록 구성된다.
이와 같이, 일 실시에에 의하면, 표시용 출력 프레임을 생성하는 것은, 제1 해상도로 표시될 현재 프레임을 나타내는 (다르게 디코딩된) 픽셀 데이터를 통합하여 제1 해상도와 다른 제2 (예를 들면, 낮은) 해상도로 현재 프레임을 나타내는 통합된 픽셀 데이터를 생성하는 것과, 참조 프레임에 대한 픽셀 데이터가 생성되었던 적어도 한 개의 저해상도 중의 하나로 참조 프레임을 나타내는 픽셀 데이터와 현재 프레임을 나타내는 통합된 데이터에 의거해서 출력 프레임에 대한 최종 픽셀 데이터를 도출하는 것을 포함한다.
바람직한 실시예에 있어서는, 현재 (다르게 인코딩된) 프레임의 제1 해상도는 참조 프레임의 제1 해상도와 같고, 및/또는 현재 (다르게 인코딩된) 프레임의 제2 해상도는 참조 프레임에 대한 픽셀 데이터가 생성되었던 적어도 한 개의 저해상도 중의 하나와 같다.
이들 실시예에 의하면, 적어도 한 개의 저해상도 중의 하나로 참조 프레임을 나타내는 픽셀 데이터와 현재 프레임을 나타내는 통합된 데이터에 의거해서 출력 프레임에 대한 픽셀 데이터를 도출하는 것은, 적어도 한 개의 저해상도 중의 하나로 참조 프레임을 나타내는 픽셀 데이터를 이용해 현재 프레임에 대한 통합된 (다르게 인코딩된) 픽셀 데이터를 디코딩하는 것을 포함한다. 디코딩된(통합된) 픽셀 데이터는 그 후에 출력 프레임에 대한 최종 픽셀 데이터로서 직접 (일부 실시예에 있어서는) 사용될 수 있다. 그렇지만, 다른 실시예에 있어서는, 디코딩된 픽셀 데이터는 출력 프레임에 대한 최종 픽셀 데이터를 도출하기 위해서 스케일링된다. 이것은 예를 들면, 디코딩된 픽셀 데이터의 해상도가 출력 프레임 해상도와 같지 않는 경우에 필요하다.
이와 같이, 일 실시예에 의하면, 본 발명은, 표시될 현재 프레임의 디코딩된 버전을 나타내는 픽셀 데이터에 대하여 스케일링 동작을 수행하여, 출력 프레임에 대한 최종 픽셀 데이터를 도출하는 것을 포함한다. 이 스케일링 동작은, 현재 프레임의 디코딩된 버전을 나타내는 픽셀 데이터를 스케일링하여, (원하는) 출력 프레임 해상도로 현재 프레임의 디코딩된 버전을 나타내는 픽셀 데이터를 제공하는 것을 포함한다.
이렇게 해서 표시하기 위한 프레임들을 생성할 때 참조 프레임에 대한 저해상도 픽셀 데이터를 이용하는 것은, 디스플레이 프로세스가 표시될 출력 프레임 또는 프레임들에 대한 픽셀 데이터를 도출하기 위해서 전해상도 버전이 아닌 작은 참조 프레임을 판독하는 것만 필요하므로, 예를 들면, 메모리 액세스의 수, 및 메모리 대역폭을 절약한다는 점에서 유리하다.
상술한 것처럼, 참조 프레임 생성 스테이지는 데이터 처리 시스템의 요건들의 지식에 의거해서 참조 프레임 생성의 양상을 제어하도록 구성될 수 있다. 이와 같이, 필요한 출력 프레임(예를 들면, 디스플레이) 해상도가 데이터 처리 시스템에 알려져 있는 경우, 참조 프레임 생성 스테이지는 디스플레이 출력 프레임 해상도에 의거해서 참조 프레임에 대한 픽셀 데이터를 생성하도록 구성되어도 된다. 마찬가지로, 비디오 처리 시스템이 한 개 이상의 표시부를 구비하는 경우, 참조 프레임 생성 스테이지는 각기 다른 디스플레이 출력 프레임 해상도에 의거해서 참조 프레임을 나타내는 픽셀 데이터를 생성하도록 구성될 수 있다(바람직하게는 구성된다). 이들 경우에, 참조 프레임은 필요한 출력 디스플레이 프레임 해상도로, 및/또는 필요한 출력 디스플레이 프레임 해상도에 더 가까운 해상도로 생성되어도 된다(필요하다면 그 해상도로 스케일링된다).
본 출원인은 상술한 방식으로 동작하도록 구성된 비디오 처리 시스템이 그 자체로 새롭고 유리하다고 믿는다.
이와 같이, 본 발명의 제3 국면에 의하면, 비디오 프레임들의 시퀀스 내의 한 개 이상의 프레임들에 대한 데이터가 참조 프레임을 대하여 정의되어 있는, 비디오 처리 시스템이 제공되고, 이 데이터 처리 시스템은,
메모리와,
비디오 프레임들의 시퀀스에 대한 참조 프레임의 모두 또는 일부가 표시용 출력 프레임을 제공할 때 사용되는 경우,
제1 해상도와 상기 제1 해상도와 다른 적어도 한 개의 해상도로 참조 프레임의 모두 또는 일부를 나타내는 픽셀 데이터를 메모리에 생성해 저장하고,
제1 해상도와 다른 적어도 한 개의 해상도로 상기 참조 프레임의 모두 또는 일부를 나타내는 픽셀 데이터를 메모리로부터 판독하며,
표시될 출력 프레임을 생성할 때 픽셀 데이터를 이용하고,
생성된 출력 프레임을 디스플레이에 출력하도록 구성된 처리부(예를 들면, 비디오 프로세서)를 구비한다.
본 발명의 제4 국면에 의하면, 비디오 프레임들의 시퀀스 내의 한 개 이상의 프레임들에 대한 데이터가 참조 프레임에 대하여 정의되어 있는, 비디오 처리 시스템의 작동방법이 제공되고, 이 방법은,
비디오 프레임들의 시퀀스에 대한 참조 프레임의 모두 또는 일부가 표시용 출력 프레임을 제공할 때 사용되는 경우,
제1 해상도와 상기 제1 해상도와 다른 적어도 한 개의 해상도로 참조 프레임의 모두 또는 일부를 나타내는 픽셀 데이터를 메모리에 생성해 저장하는, 비디오 처리 시스템의 처리부(예를 들면, 비디오 프로세서)와,
제1 해상도와 다른 적어도 한 개의 해상도로 상기 참조 프레임의 모두 또는 일부를 나타내는 픽셀 데이터를 메모리로부터 판독하고,
표시될 출력 프레임을 생성할 때 픽셀 데이터를 이용하며,
생성된 출력 프레임을 디스플레이에 출력하는, 비디오 처리 시스템의 디스플레이 컨트롤러를 구비한다.
본 기술분야의 당업자가 알 수 있는 것처럼, 본 발명의 이들 국면은 여기에 기재된 본 발명의 한 개 이상의 바람직한 선택된 특징들을 적절히 포함할 수 있고 바람직하게는 포함한다. 이와 같이, 예를 들면, 비디오 처리 시스템은 디스플레이를 더 구비하는 것이 바람직하다.
표시용 출력 프레임을 생성하는 경우에 그것의 사용에 더해서, 본 출원인은 제1 해상도와 다른 적어도 한 개의 해상도로 참조 프레임을 나타내는 픽셀 데이터를 갖는 것을 이용해서 예를 들면 표시될 비디오 프레임 또는 프레임들에 대하여 처리 동작들을 수행하는 것을 용이하게 할 수 있다는 것을 인식했다.
그러한 처리 동작은 예를 들면, 표시될 프레임의 스케일링(scaling), 로테이션(rotation) 또는 스큐잉(skewing) 등, 변환 동작을 포함할 수 있다. 이 동작은 그러한 동작들을 수행하는 능력이 있는, 그래픽 프로세서, 컴포지션 엔진(composition engine), CPU, 및/또는 디스플레이 컨트롤러 등, 전체 비디오 및 데이터 처리 시스템의 어떤 적절한 유닛 또는 스테이지에 의해 수행되어도 된다.
이와 같이, 본 발명의 일 실시예에 의하면, 제1 해상도와 다른 적어도 한 개의 (예를 들면, 낮은) 해상도로 참조 프레임을 나타내는 픽셀 데이터를 이용해 비디오 프레임들의 시퀀스 내의 적어도 한 개의 프레임을 처리하는 것은, 제1 해상도와 다른 적어도 한 개의 (예를 들면, 낮은) 해상도로 참조 프레임을 나타내는 픽셀 데이터를 이용해 비디오 프레임들의 시퀀스 내의 적어도 한 개의 프레임에 대하여 변환 동작을 수행하는 것을 포함한다. 마찬가지로, 일 실시예에 의하면, 본 발명의 프레임 처리 스테이지는, 제1 해상도와 다른 적어도 한 개의 (예를 들면, 낮은) 해상도로 참조 프레임을 나타내는 픽셀 데이터를 이용해 비디오 프레임들의 시퀀스 내의 적어도 한 개의 프레임에 대하여 적어도 한 개의 변환 동작을 수행하도록 구성될 수 있고, 또 구성된 프로세서(예를 들면, 그래픽 프로세서)를 구비한다.
바람직한 실시예에 있어서는, 변환 동작은 스케일링, 로테이션 및 스큐잉 동작 중의 적어도 하나를 구비한다. 변환 동작은 비디오 프레임들의 시퀀스의 프레임들 간의 보간(interpolating) 구비할 수 있다(일부 실시에에 있어서는 구비한다).
본 출원인은, 제1 해상도보다 낮은 적어도 한 개의 해상도로 참조 프레임을 나타내는 픽셀 데이터를 생성해서 이용하는 것이, 비디오 처리 시스템이 참조 프레임의 고해상도 버전을 이용하는 경우에 비해 참조 프레임을 판독하는 데 더 적은 메모리 액세스를 필요로 할 것이라는 점에서 처리 동작들을 수행할 때 유익할 수 다는 것을 인식했다.
또한, 본 출원인은 (예를 들면, GPU에) 이용 가능한 참조 프레임의 다중 해상도 버전을 동시에 갖는 것이, 좀 더 효율적이고 및/또는 정교한 방식으로, 스케일링 등, 처리 동작을 수행하는 것을 용이하게 할 수도 있다는 것을 인식했다. 예를 들면, 동시에 이용될 수 있는 참조 프레임의 다중 해상도 버전을 갖는 것이, 디스플레이상에서 프레임들을 시각적으로 훑어보는(flipping through) 동작("커버플로(coverflow)" 형태 동작)을 수행하는 것을 용이하게 할 수도 있다.
본 출원인은 다시 이 방식으로 동작하도록 구성된 비디오 처리 시스템이 그 자체로 새롭고 유리하다고 믿는다.
이와 같이, 본 발명의 또 다른 국면에 의하면, 비디오 프레임들의 시퀀스 내의 한 개 이상의 프레임들에 대한 데이터가 참조 프레임을 대하여 정의되어 있는, 비디오 처리 시스템이 제공되고, 이 데이터 처리 시스템은,
메모리와,
비디오 프레임들의 시퀀스에 대한 참조 프레임의 모두 또는 일부가 표시용 출력 프레임을 제공할 때 사용되는 경우,
제1 해상도와 상기 제1 해상도와 다른 적어도 한 개의 해상도로 참조 프레임의 모두 또는 일부를 나타내는 픽셀 데이터를 메모리에 생성해 저장하도록 구성된 제1 처리부(예를 들면, 비디오 프로세서)와,
제1 해상도와 다른 적어도 한 개의 해상도로 상기 참조 프레임의 모두 또는 일부를 나타내는 픽셀 데이터를 메모리로부터 판독하며,
비디오 프레임들의 시퀀스 내의 프레임에 대하여 처리 동작을 수행하여 처리된 프레임을 나타내는 픽셀 데이터를 생성하는 경우에 픽셀 데이터를 이용하고,
처리된 프레임을 나타내는 픽셀 데이터를 메모리 내에 저장하도록 구성된 제2 처리부(예를 들면, 그래픽 프로세서)를 구비한다.
본 발명의 또 다른 국면에 의하면, 비디오 프레임들의 시퀀스 내의 한 개 이상의 프레임들에 대한 데이터가 참조 프레임에 대하여 정의되어 있는, 비디오 처리 시스템의 작동방법이 제공되고, 이 방법은,
비디오 프레임들의 시퀀스에 대한 참조 프레임의 모두 또는 일부가 표시용 출력 프레임을 제공할 때 사용되는 경우,
제1 해상도와 상기 제1 해상도와 다른 적어도 한 개의 해상도로 참조 프레임의 모두 또는 일부를 나타내는 픽셀 데이터를 메모리에 생성해 저장하는, 비디오 처리 시스템의 제1 처리부(예를 들면, 비디오 프로세서)와,
제1 해상도와 다른 적어도 한 개의 해상도로 상기 참조 프레임의 모두 또는 일부를 나타내는 픽셀 데이터를 메모리로부터 판독하고,
비디오 프레임들의 시퀀스 내의 프레임에 대하여 처리 동작을 수행하여 처리된 프레임을 나타내는 픽셀 데이터를 생성하는 경우에 픽셀 데이터를 이용하고,
처리된 프레임을 나타내는 픽셀 데이터를 메모리 내에 저장하는, 비디오 처리 시스템의 제2 처리부(예를 들면, 그래픽 프로세서)를 구비한다.
본 기술분야의 당업자가 알 수 있는 것처럼, 본 발명의 이들 국면은 여기에 기재된 본 발명의 한 개 이상의 바람직한 선택된 특징들을 적절히 포함할 수 있고 바람직하게는 포함한다. 이와 같이, 예를 들면, 비디오 처리 시스템은 디스플레이를 더 구비하는 것이 바람직하고, 및/또는 상기 시스템은, 처리된 프레임을 나타내는 픽셀 데이터를 메모리로부터 판독하고; 표시될 출력 프레임을 생성할 때 픽셀 데이터를 이용하며; 생성된 출력 프레임을 디스플레이에 출력하도록 구성된 디스플레이 컨트롤러를 더 구비하는 것이 바람직하다.
마찬가지로, 제1 처리부는 비디오 프로세서인 것이 바람직하고, 제2 처리부는 표시될 프레임들에 대해 처리 동작들을 수행하도록 동작 가능한, 그래픽 프로세서, 컴포지션 엔진, 중앙처리장치(CPU), 또는 디스플레이 컨트롤러 중의 하나인 것이 바람직하다. 원하는 경우, 비디오 프레임들의 시퀀스 내의 프레임에 대해 처리 동작을 수행하여 처리된 프레임을 나타내는 픽셀 데이터를 생성할 때 제1 해상도와 다른 적어도 한 개의 해상도로 참조 프레임의 모두 또는 일부를 나타내는 픽셀 데이터를 이용하는 한 개 이상의 "제2" 처리부가 있을 수도 있다.
이에 대응하여, 처리 동작은 표시될 프레임의 스케일링, 로테이션 및/또는 스큐잉 등, 변환 동작을 포함하는 것이 바람직하다.
상기 실시예는 표시용 출력 프레임을 나타내는 픽셀 데이터를 생성하는 것에 대하여 주로 설명했지만, 상기 설명한 원리 및 기술은, 프레임을 나타내는 픽셀 데이터가 참조 프레임을 나타내는 픽셀 데이터에 의거해서 생성되는 곳 어디든지 사용될 수 있다는 것을 알 수 있을 것이다. 예를 들면, 하나의 실시예에 있어서는, 상기 기재한 원리 및 기술은, 또한 메모리 내에 저장된 그들 자신의 참조 프레임들을 각각 갖는 2개 이상의 별개의 소스 프레임들로부터 합성된 프레임들을 나타내는 픽셀 데이터를 도출해 생성하기 위해서, 예를 들면, 컴포지션 엔진에 의해 사용될 수 있다. 그 경우에, 한 개 이상의 소스 프레임들에 대한 저해상도 참조 프레임은 합성된 프레임을 생성하는 데 사용될 수 있다.
본 발명의 비디오 처리 시스템은 참조 프레임의 다수의 상이한 해상도 버전을 제공하는 능력이 있기 때문에, 이것은, 또한 원한다면, 비디오 프레임들의 시퀀스를 디코딩할 때 사용하기 위한 상이한 해상도로 참조 프레임을 나타내는 픽셀 데이터를 제공하기 위해서 사용될 수 있다. 이것은, 예를 들면, 비디오 프레임들의 시퀀스를 인코딩할 때 움직임 추정 동작들을 수행하는 데에 유용할 수 있다.
이와 같이, 본 발명의 일 실시예에 있어서는, 참조 프레임을 나타내는 픽셀 데이터를 이용해 비디오 프레임들의 시퀀스 내의 적어도 한 개의 프레임을 처리하는 것은, 제1 해상보다 상이한, 바람직하게는 낮은 해상도로 참조 프레임을 나타내는 픽셀 데이터를 이용해 비디오 프레임들의 시퀀스 내의 적어도 한 개의 프레임을 인코딩하는 (바람직하게는 움직임 추정을 행하는) 것을 포함한다. 이에 대응하여, 일 실시예에 있어서는, 프레임 처리 스테이지는 인코딩부를 구비한다.
또한, 상술한 실시예들은 프레임 전체에 대해서 설명했지만, 본 발명의 기술 및 원리는 프레임의 일부에만 동일하게 적용될 수 있다(하나의 바람직한 실시예에 있어서는 적용된다). 예를 들면, 제1 해상도와 다른 적어도 한 개의 해상도로 참조 프레임 전체(또는 그것의 일부)를 나타내는 픽셀 데이터는, 비디오 프레임들의 시퀀스 내의 프레임의 일부만 처리하는 데에 사용될 수 있다.
본 발명은 예를 들면 전자 디스플레이상에 표시하기 위한 비디오 데이터의 프레임들을 생성하도록 동작 가능한 어떤 원하는 적절한 데이터 처리 시스템에서든 구현될 수 있다.
이 점에서 프레임 처리 스테이지는, 그래픽 프로세서, 비디오 프로세서, 컴포지터 또는 디스플레이 컨트롤러 등, 적절한 프로세서를 구비하는 것이 바람직하다. 일부 실시예에 있어서는, 프레임 처리 스테이지는 참조 프레임 생성 스테이지와 같은 프로세서 또는 프로세서들을 구비한다.
본 발명은 비디오 프레임들의 시퀀스 내의 참조 프레임들에 관해서 상기에서 설명했지만, 본 발명은 정지 영상(예를 들면, JPEG)을 나타내는 것들과 같은, 데이터의 모든 종류의 프레임에 더 일반적으로 적용 가능하다.
이와 같이, 본 발명의 일 국면에 의하면, 비디오 처리 시스템에서 데이터의 프레임들을 처리하는 장치가 제공되고, 상기 장치는,
프레임의 모두 또는 일부가 추가로 처리하기 위해 사용될 때,
제1 해상도로 프레임의 모두 또는 일부를 나타내는 픽셀 데이터를 생성하고(바람직하게는 내부에 저장하고),
제1 해상도와 다른 적어도 한 개의 해상도로 프레임의 모두 또는 일부를 나타내는 픽셀 데이터를 메모리 내에 생성해 저장하도록 구성된 처리부(예를 들면, 비디오 처리부)를 구비한다.
본 발명의 또 다른 실시예에 의하면, 비디오 처리 시스템에서 데이터의 프레임을 처리하는 방법이 제공되고, 상기 방법은,
프레임의 모두 또는 일부가 추가로 처리하기 위해 사용될 때,
제1 해상도로 프레임의 모두 또는 일부를 나타내는 픽셀 데이터를 생성하는(바람직하게는 내부에 저장하는) 것과,
제1 해상도와 다른 적어도 한 개의 해상도로 프레임의 모두 또는 일부를 나타내는 픽셀 데이터를 메모리 내에 생성해 저장하는 것을 포함한다.
이들 국면은 여기에 설명한 선택적 특징들 및 실시예들 중의 한 개 이상 또는 모두를 포함할 수 있다(바람직하게는 포함한다)는 것을 알 수 있을 것이다.
이와 같이, 예를 들면, 제1 해상도와 다른 적어도 한 개의 해상도는 제1 해상도보다 낮은 해상도인 것이 바람직하다. 마찬가지로, 제1 해상도 및 적어도 한 개의 다른 해상도로 프레임을 나타내고, 생성되는 픽셀 데이터는, 프레임을 나타내는 밉맵 세트의 2개 이상 또는 모든 레벨의 형태인 것이 바람직하다. 마찬가지로, 바람직한 실시예에 있어서는, 처리부는 밉맵 세트로서 프레임을 나타내는 픽셀 데이터를 생성하도록 구성된다. 또, 바람직한 실시예에 있어서는, 밉맵 세트의 각 레벨의 높이 및 폭은 그 세트 내의 이전 레벨의 높이 및 폭보다 2배 작고, 각 레벨은 이전 레벨의 (픽셀의 수에 대하여) 1/4 해상도인 해상도를 갖는다. (그렇지만, 다른 스케일링 인자는 원한다면 밉맵 세트에 대하여 사용될 수 있다.)
생성되어 저장되는 픽셀 데이터는, (즉, 가장 높은 해상도 버전에서 시작해서 단일 픽셀(혹은 그것의 동등한 것)에 이르기까지 각 밉맵 레벨에 대한 각 저해상도 버전을 포함하는) 프레임에 대한 전체 밉맵 세트를 나타낼 수도 있다. 그렇지만, 픽셀 데이터가 밉맵의 각 가능한 레벨을 나타내는 것은 필요하지 않다.
본 발명의 이들 국면 및 실시예에 있어서는, 2개 이상의 상이한 해상도로 데이터의 프레임을 나타내는 픽셀 데이터는, 압축된 형태로, 바람직하게는 상술한 한 개 이상의 방식으로 메모리에 다시 저장되는 것이 바람직하다. 이와 같이, 바람직한 실시예에 있어서는, 처리부는 압축 스테이지(인코딩부)를 구비한다.
하나의 바람직한 실시예에 있어서는, 제1 해상도와 다른 적어도 한 개의 해상도로 전체 프레임을 나타내는 픽셀 데이터가 생성된다. 그렇지만, 이것은 필요하지 않다. 이와 같이, 다른 실시예에 있어서는, 제1 해상도와 다른 적어도 한 개의 해상도로 프레임을 나타내는 픽셀 데이터는, 전체 프레임(화상)의 한 영역 또는 일부만을 나타낸다.
바람직한 실시예에 있어서는, 제1 해상도와 다른 적어도 한 개의 해상도로 프레임을 나타내는 픽셀 데이터가, 제1 해상도의 프레임에 대하여 생성되었던(프레임을 나타내는) 픽셀 데이터에 의거해(예를 들면, 픽셀 데이터를 이용해서) 생성된다.
본 발명의 이들 국면 및 실시예의 바람직한 실시예에 있어서는, 추가로 처리하기 위해 사용되는 프레임은, 또 다른 프레임에 대하여 인코딩되지 않는 정지 화상, 즉 완전하게 정의된 프레임을 나타내는 데이터의 프레임이다. 특히 바람직한 실시예에 있어서는, 프레임은, JPEG(Joint Photographic Experts Group)에 의해 정의된 포맷에 따라 인코딩되는 프레임이다.
본 출원인은, 참조 프레임의 경우와 마찬가지로, 적어도 2개의 다른 해상도로 정지 화상(예를 들면, JPEG 화상)을 나타내는 픽셀 데이터를 제공하는 것이, 비디오 처리 시스템의 다수의 스테이지에 유리할 것이라는 것과, 예를 들면, 전반적으로 더 효율적인 비디오 처리 시스템을 제공할 수 있다는 것을 인식했다.
바람직한 실시예에 의하면, 본 발명의 장치는 제1 해상도와 다른 적어도 한 개의 해상도로 프레임을 나타내는 픽셀 데이터를 이용해, 예를 들면, 표시하기 위한 프레임을 처리하도록 구성된 프레임 처리 스테이지(예를 들면, 그래픽 처리부)를 더 구비한다. 마찬가지로, 바람직한 실시예에 의하면, 본 발명은 제1 해상도와 다른 적어도 한 개의 해상도로 프레임을 나타내는 픽셀 데이터를 이용해, 예를 들면 표시하기 위한 프레임을 처리하는 것을 더 포함한다.
제1 해상도와 다른(예를 들면, 낮은) 적어도 한 개의 해상도로 프레임을 나타내는 픽셀 데이터를 이용하여 프레임을 처리하는 것은, 제1 해상도와 다른(예를 들면 낮은) 적어도 한 개의 해상도로 프레임을 나타내는 픽셀 데이터를 이용해서 프레임에 대하여 변환 동작을 수행하는 것을 포함할 수 있다(바람직하게는 포함한다). 마찬가지로, 일 실시예에 의하면, 본 발명의 프레임 처리 스테이지는, 제1 해상도와 다른(예를 들면, 낮은) 적어도 한 개의 해상도로 참조 프레임을 나타내는 픽셀 데이터를 이용해 프레임에 대하여 적어도 한 개의 변환 동작을 수행할 수 있고 또 수행하도록 구성된 프로세서(예를 들면, 그래픽 처리부 또는 컴포지터(compositor)를 구비한다.
바람직한 실시예에 있어서는, 변환 동작은 스케일링, 로테이션, 및 스큐잉 동작 중의 적어도 하나를 포함한다. 변환 동작은 정지 화상 프레임들의 세트 내의 복수의 프레임들 간의 보간을 포함할 수 있다(일부 실시예에 있어서는 포함한다).
본 출원인은, 처리 시스템이 프레임의 고해상도 버전을 이용하는 경우에 비해 프레임을 판독하는 데에 더 적은 메모리 액세스를 필요로 할 것이라는 점에서 제1 해상도보다 낮은 적어도 한 개의 해상도로 프레임을 나타내는 픽셀 데이터를 생성해 이용하는 것이 처리 동작들을 수행할 때 유익할 수도 있다는 것을 인식했다.
또한, 본 출원인은 동시에 (예를 들면, CPU에) 이용 가능한 프레임의 다중 해상도 버전을 갖는 것이, 더 효율적인 및/또는 정교한 방식으로, 스케일링과 같은, 처리 동작들을 수행하는 것을 용이하게 할 수도 있다는 것을 인식했다. 예를 들면, 동시에 사용될 수 있는 프레임의 다중 해상도 버전을 갖는 것이 디스플레이상에서 프레임들을 시각적으로 훑어보는 동작("커버플로" 형태(회전 평면에 맵핑) 동작)을 수행하는 것을 용이하게 할 수도 있다.
바람직한 실시예에 있어서는, 본 발명은 예를 들면, 그래픽 유저 인터페이스용 윈도우들을 디스플레이 위에 표시하기 위한 시스템 및 바람직하게는 컴포지팅 윈도우(compositing window) 시스템인 데이터 처리 시스템에서 구현된다.
본 발명이 구현되는 데이터(비디오) 처리 시스템은, 어떤 원하는 적절하고 적합한 요소들 및 구성소자들을 포함할 수 있다. 이와 같이, 그것은 CPU, GPU, 비디오 프로세서, 디스플레이 컨트롤러, 디스플레이(예를 들면, LCD 또는 OLED 디스플레이), 및 다양한 프레임들 및 필요한 다른 데이터를 저장하기 위한 적절한 메모리 중의 한 개 이상 및 바람직하게는 모두를 포함할 수도 있고, 바람직하게는 포함한다.
표시될 생성된 프레임(들) 및 표시하기 위한 출력 프레임(및 어떤 다른 소스 표면(프레임들))은 어떤 적절한 원하는 방식으로든 메모리에 저장될 수 있다. 그들은 적절한 버퍼들 내에 저장되는 것이 바람직하다. 예를 들면, 출력 프레임은 출력 프레임 버퍼 내에 저장되는 것이 바람직하다.
출력 프레임 버퍼는 온 칩(on-chip) 버퍼일 수도 있거나 외부 버퍼일 수도 있다. 마찬가지로, 출력 프레임 버퍼는 이 목적을 위한 전용 메모리일 수도 있고, 또는 다른 데이터에 대해서도 사용되는 메모리의 일부일 수도 있다. 일부 실시예에 있어서는, 출력 프레임 버퍼는 프레임을 생성하고 있는 비디오 처리 시스템 및/또는 프레임들이 표시되는 디스플레이에 대한 프레임 버퍼이다.
마찬가지로, 프레임들이 생성(렌더)될 때 생성된 프레임들이 가장 먼저 기록되는 버퍼들은, 어떤 적절한 그러한 버퍼들을 구비할 수도 있고, 어떤 적절한 원하는 방식으로 메모리 내에 구성될 수도 있다. 예를 들면, 그들은 온 칩 버퍼 또는 버퍼들일 수도 있고, 또는 외부 버퍼 또는 버퍼들일 수도 있다. 마찬가지로, 그들은 이 목적을 위한 전용 메모리일 수도 있고, 또는 다른 데이터에 대해서도 사용되는 메모리의 일부일 수도 있다. 입력 프레임 버퍼들은, 예를 들면, 어플리케이션이 필요로 하는 어떤 포맷일 수 있고, 예를 들면 시스템 메모리 내에(예를 들면, 통합된 메모리 구조 내에), 또는 그래픽 메모리 내에(예를 들면, 비통합된(non-unified) 메모리 구조 내에) 저장될 수도 있다.
본 발명은 적절히 구성된 마이크로 프로세서 기반 시스템과 같은, 어떤 적절한 시스템에서 구현될 수 있다. 일부 실시예에 있어서는, 본 발명은 컴퓨터 및/또는 마이크로 프로세서 기반 시스템에서 구현된다.
본 발명의 다양한 기능들은 어떤 원하는 적절한 방식으로든 수행될 수 있다. 예를 들면, 본 발명의 기능들은, 원한다면, 하드웨어 또는 소프트웨어로 구현될 수 있다. 이와 같이, 예를 들면, 본 발명의 다양한 기능요소 및 "수단"은, 원하는 방식으로 동작하도록 프로그램될 수 있는 적절한 전용 하드웨어 요소들(처리 회로) 및/또는 프로그래머블 하드웨어 요소들(처리 회로)과 같은, 다양한 기능 등을 수행하도록 동작 가능한, 적절한 프로세서 또는 프로세서들, 컨트롤러 또는 컨트롤러들, 기능부, 회로, 처리 로직, 마이크로프로세서 장치 등을 구비할 수도 있다.
또한, 본 기술분야의 당업자가 알 수 있는 것처럼, 본 발명의 다양한 기능 등은 주어진 프로세서상에서 병렬로 복제 및/또는 수행될 수도 있다는 것에 유념해야 한다. 마찬가지로, 다양한 처리 스테이지는, 원한다면, 처리 회로 등을 공유할 수도 있다.
본 발명은 바람직하게는 휴대전화 또는 태플릿과 같은, 휴대장치에서 구현되는 것이 바람직하다.
또한, 기술한 본 발명의 실시예의 모두는 여기에 기술된 바람직한 선택적 특징들 중의 한 개 이상 또는 모두를 적절히 포함할 수 있다는 것을 본 기술분야의 당업자가 알 수 있을 것이다.
본 발명에 따른 방법들은 소프트웨어, 예를 들면, 컴퓨터 프로그램들을 이용해서 적어도 부분적으로 구현될 수도 있다. 이와 같이 추가 실시예에서 봤을 때, 본 발명은, 데이터 처리 수단에 설치될 때 여기에 기술된 방법들을 수행하는 데 특히 알맞은 컴퓨터 소프트웨어와, 프로그램 요소가 데이터 처리 수단에서 실행될 때 여기에 기재된 방법들을 수행하기 위한 컴퓨터 소프트웨어 코드부를 포함하는 컴퓨터 프로그램 요소와, 프로그램이 데이터 처리 시스템에서 실행될 때 여기에 기재된 방법 또는 방법들의 모든 스텝을 수행하는 데 알맞은 코드 수단을 포함하는 컴퓨터 프로그램을 제공한다는 것을 알 것이다. 데이터 처리 시스템은 마이크로프로세서, 프로그래머블 FPGA(Field Programmable Gate Array) 등일 수도 있다.
본 발명은 또한 그래픽 프로세서, 렌더러 또는 데이터 처리 수단을 구비하는 다른 시스템을 작동시키기 위해서 사용될 때, 상기 데이터 처리 수단과 함께 상기 프로세서, 렌더러 또는 시스템이 본 발명의 방법들의 스텝들을 실행시키는 그러한 소프트웨어를 포함하는 컴퓨터 소프트웨어 캐리어에 확장된다. 그러한 컴퓨터 소프트웨어 캐리어는 ROM 칩, CD ROM, RAM, 플래시 메모리, 또는 디스크와 같은 물리적 기억매체일 수 있고, 또는 위성 등과 같은, 와이어 상의 전자신호, 광신호 또는 무선 신호 등의 신호일 수 있다.
본 발명의 방법들의 모든 스텝들이 컴퓨터 소프트웨어에 의해서 수행될 필요가 없으므로, 더 넓은 실시예로부터 본 발명은 여기에 설명된 방법들의 스텝들 중의 적어도 하나를 수행하기 위한 컴퓨터 소프트웨어 캐리어 상에 인스톨된 그러한 소프트웨어 및 컴퓨터 소프트웨어를 제공한다는 것을 더 알 수 있을 것이다.
따라서 본 발명은 컴퓨터 시스템과 사용하기 위한 컴퓨터 프로그램 제품으로서 적절히 구현될 수도 있다. 그러한 구현은 컴퓨터 판독 가능한 매체, 예를 들면, 디스켓, CD ROM, ROM, RAM, 플래시 메모리, 또는 하드 디스크 등, 유형의 비일시 매체 위에 고정된 일련의 컴퓨터 판독 가능한 명령들을 포함할 수도 있다. 그것은 또한 광학 또는 아날로그 통신선을 포함하지만 그것에 한정되지 않는, 유형의 매체를 이용해서, 또는 마이크로파, 적외선 또는 다른 송신 기술을 포함하지만 그것에 한정되지 않는, 무형의 무선 기술을 이용해서, 모뎀 또는 다른 인터페이스 디바이스를 통해, 컴퓨터 시스템에 송신 가능한 일련의 컴퓨터 판독 가능한 명령들을 포함할 수 있다. 이 일련의 컴퓨터 판독 가능한 명령들은 여기에 이전에 기술된 기능의 모두 또는 일부를 구현한다.
본 기술분야에 속하는 당업자는, 그러한 컴퓨터 판독 가능한 명령들이 많은 컴퓨터 구조 또는 오퍼레이팅 시스템과 사용하기 위한 다수의 프로그래밍 언어로 기록될 수 있다는 것을 인식할 것이다. 또한, 그러한 명령들은 반도체, 자성(magnetic), 또는 광(optical)을 포함하지만 그것에 한정되지 않는, 현재나 미래에, 어떤 메모리 기술을 이용해서 저장될 수도 있고, 또는 광, 적외선, 또는 마이크로파를 포함하지만 그것에 한정되지 않는, 현재나 미래에, 어떤 통신 기술을 이용해서 송신될 수도 있다. 그러한 컴퓨터 프로그램 제품은, 예를 들면, 시스템 ROM 또는 고정 디스크 위에, 인쇄 또는 전자 문서가 첨부된 이동식 매체, 예를 들면, 컴퓨터 시스템에 프리로드된(pre-loaded), 슈링크 랩 소프트웨어(shrink wrapped software)로서 분포될 수도 있고, 또는 네트워크, 예를 들면 인터넷 또는 월드 와이드 웹(World Wide Web)을 이용해서 서버 또는 전자 게시판으로부터 분포될 수도 있다는 것이 고려된다.
이하, 본 발명의 바람직한 실시예에 대해서 첨부도면을 참조하여 단지 예로서 설명할 것이다.
도 1은 본 발명에 따른 방식으로 비디오 데이터의 프레임들을 처리하도록 구성된 비디오 처리 시스템의 예를 개략적으로 나타낸 것이다.
도 2는 (같은) 참조 프레임 화상의 점진적으로 낮은 해상도 버전의 밉맵 세트로서 표시된 참조 프레임을 개략적으로 나타낸 것이다.
도 3은 본 발명의 기본 동작을 수행할 수 있는 비디오 처리 시스템의 실시예를 개략적으로 나타낸 것이다.
도 4는 본 발명에 따른 방식으로 정지 화상들의 프레임들을 처리하도록 구성된 비디오 프로세서를 갖는 비디오 처리 시스템의 실시예를 개략적으로 나타낸 것이다.
도 5는 본 발명에 따른 방식으로 비디오 프레임들의 시퀀스 내의 적어도 한 개의 프레임을 인코딩하도록 구성된 비디오 처리 시스템의 실시예를 개략적으로 나타낸 것이다.
도 1은 본 발명의 기본 동작을 수행할 수 있는 비디오 처리 시스템(11)의 실시예를 개략적으로 나타낸 것이다.
도 1에 도시한 바와 같이, 비디오 처리 시스템(11)은, 모두가 외부(예를 들면, 오프 칩(off-chip)) 메모리(19)에 대한 액세스를 갖는, CPU(Central Processing Unit)(13), GPU(Graphics Processing Unit)(14), VPU(Video Processing Unit)(15), 디스플레이 처리유닛(16) 및 외부 인터페이스(18)를 포함하는 SoC(System on-Chip)(12)을 구비할 수도 있다. SoC와 외부 메모리와의 구분은 디스플레이 자체(미도시)이다.
GPU(14) 및 VPU(15)는 압축된 형태로 메모리에 저장될 데이터(예를 들면, 프레임)를 인코딩(압축)하는 적절한 압축기(및 대응하는 압축 해제기(de-compressors)를 포함할 수도 있다. 따라서, 디스플레이 처리유닛(16)은 데이터(예를 들면, 표시될 프레임)를 압축 해제하는 압축 해제기를 포함할 수도 있다.
본 실시예에 따르면, (압축된) 비디오 프레임들의 시퀀스는 디코딩용 외부 소스로부터 비디오 엔진에 제공될 것이다. 다른 실시예에 있어서는, 표시될 프레임은 예를 들면, GPU(14) 또는 비디오 엔진(15)에 의해 적절히 렌더(render)됨으로써 원하는 대로 생성된다.
비디오 엔진에 의해 처리되고 있는 현재의 프레임이 소위 참조 프레임이면(그래서 비디오 프레임들의 시퀀스 내의 다른 프레임들을 디코딩할 때 사용되면), 참조 프레임의 전해상도 버전(full resolution version)을 나타내는 픽셀 데이터가 외부 메모리(19) 내부의 버퍼 내에 생성되어서 저장될 것이다. 그렇지만, 전해상도(즉, 원래 의도한 해상도)에서 참조 프레임을 나타내는 픽셀 데이터를 생성하는 것에 더해서, 비디오 엔진은 본 실시예에 따라, 적어도 한 개의 제1 전해상도와 다른 해상도에서 참조 프레임을 나타내는 19개의 픽셀 데이터를 외부 메모리에 생성해서 저장할 것이다.
제1 해상도뿐만 아니라, 적어도 한 개의 제2, 예를 들면 낮은 해상도에서 참조 프레임을 나타내는 픽셀 데이터를 생성하는 것을 이용해서 그 뒤에 생성된 프레임들의 좀 더 효율적인 압축을 가능하게 할 수 있고, 또는 표시용 출력 프레임을 생성할 때 필요한 메모리 액세스들의 개수를 줄일 수 있다.
예를 들면, 복수 해상도에서 참조 프레임을 나타내는 픽셀 데이터가 외부 메모리(19)로부터 페치(fetch)될 수 있고, 비디오 프레임들의 시퀀스 내의 적어도 한 개의 프레임을 인코딩하기 위해서(예를 들면, 움직임 추정을 수행하기 위해서) 적절한 인코딩 유닛(미도시)에 의해 사용될 수 있다. (디코딩 유닛이 도면에 도시되어 있지 않지만, 인코딩 유닛이 SoC 장치 위의 별도의 유닛일 수 있거나, 또는 비디오 처리유닛(15)과 같은, 비디오 처리 시스템의 적절한 구성소자 내에 집적될 수도 있다는 것이 이해될 것이다.)
다른 실시예에 있어서, 다른 해상도로 참조 프레임을 나타내는 픽셀 데이터는, 외부 메모리(19)로부터 페치되고, 표시용 출력 프레임을 생성하기 위해서 사용된다.
예를 들면, 표시될 프레임이 참조 프레임인 경우, 디스플레이를 위한 가장 적절한 해상도로 참조 프레임을 나타내는 픽셀 데이터가 디스플레이 처리유닛(16)에 의해 외부 메모리(19)로부터 페치되어 표시를 위해서 출력될 수도 있다. 몇몇의 경우에는, 디스플레이 처리유닛(16)(또는 예를 들면, GPU(14))은 참조 프레임을 나타내는 픽셀 데이터에 대하여 스케일링 동작을 수행하여 디스플레이 사이즈에 대하여 정확한 해상도로 출력 프레임을 제공할 수도 있다.
표시될 프레임이 참조 프레임으로서 플래그되지(flagged) 않지만 참조 프레임에 대하여 인코딩될 경우, 비디오 처리유닛(15)은 예를 들면 메모리(19)로부터 참조 프레임을 나타내는 픽셀 데이터를 검색하고, 그것을 이용해서 현재의 프레임을 디코딩하고 원하는 해상도(바람직하게는 출력 프레임 해상도)로 현재의 프레임을 나타내는 픽셀 데이터를 생성한다.
도 1의 구성은 2개의 프레임 생성기(GPU(14) 및 비디오 엔진(15))만을 나타내지만, 본 발명의 비디오 처리 시스템은 프레임 생성기들의 임의의 개수(타입)를 적절히 포함할 수 있다는 것을 이해할 것이다.
도 2는 (같은) 참조 프레임 화상의 점진적으로 낮은 해상도 버전의 밉맵 세트로서 나타낸 참조 프레임을 나타낸다.
상기 언급한 것처럼, 특히 바람직한 실시예에 있어서, 제1 해상도 및 적어도 한 개의 다른 해상도로 참조 프레임을 나타내는, 생성되어 저장되는 픽셀 데이터는, 참조 프레임을 나타내는 밉맵 세트의 2개 이상 또는 모든 레벨의 형태이다. 밉맵 세트 내의 프레임의 각 버전은 밉맵 레벨이라고 부르고, 여기서 가장 낮은 레벨, L0(20)은 참조 프레임의 가장 상세한 버전이고, 가장 높은 레벨, L4(24)는 가장 작은 상세한 버전이다.
도 2에 도시한 바와 같이, 이 실시예에 있어서는, 밉맵 세트의 각 레벨의 높이 및 폭은 세트 내의 이전 레벨의 것보다 2배 작고, 각 레벨은 이전 레벨의 해상도의 (픽셀의 개수에 대해서) 1/4인 해상도를 갖는다. 도 2에 나타낸 실시예에 있어서, 참조 프레임은 제1 레벨 L0에서 4096 × 2160 픽셀의 원래의 전해상도를 갖고, 관련된 밉맵 세트는 일련의 5 레벨(LO-L4)을 포함하고, 여기서 각 레벨은 이전 레벨: 2048×1080 픽셀, 1024×540, 512×270, 256×135의 전체 영역의 1/4이다.
본 발명에 따라 생성 및 저장되는 픽셀 데이터가 (즉, 가장 높은 해상도 버전으로부터 시작하고, 한 개의 픽셀(또는 그에 상응하는 픽셀)에 이르기까지 각 밉맵 레벨에 대한 각각의 낮은 해상도 버전을 포함하는) 참조 프레임에 대한 전체 밉맵 세트 또는 참조 프레임에 대한 밉맵의 레벨의 특정한, 예를 들면, 원하는, 예를 들면 선택된, 서브세트만을 나타낼 수도 있다는 것이 이해될 것이다.
본 발명의 몇몇 실시예에 따르면, 전체 참조 프레임의 일부 또는 영역만이 밉맵 세트의 주어진 레벨로 표시된다는 것도 이해될 것이다.
도 3은 본 발명의 기본 동작을 수행할 수 있는 비디오 처리 시스템(31)의 실시예를 개략적으로 나타낸 것이다.
도 3에 도시한 바와 같이, 비디오 처리 시스템은 외부 메모리(33)에 대한 액세스를 각각 갖는, VPU(32), 제1 디스플레이 처리유닛(DPU[0])(34) 및 제2 디스플레이 처리유닛(DPU[1])(35)을 포함한다. 제1 DPU(DPU[0])는 사이즈 L1의 제1 디스플레이 스크린(스크린 0)에 대응하고, 제2 DPU(DPU[1])는 사이즈 L2의 제2 디스플레이 스크린(스크린 1)에 대응한다.
본 발명의 실시예들에 의하면, VPU(32)는 시퀀스 내의 다른 프레임들이 정의되는 참조 프레임을 포함하는, 비디오 프레임들의 시퀀스를 나타내는 압축된 비디오 데이터를 입력으로서 수신한다. 나타낸 실시예에 있어서, 압축된 비디오 데이터는 제1 해상도 LO로 비디오 프레임들의 시퀀스 내의 각 프레임을 나타낸다.
VPU(32)는 압축된 비디오 입력(한 번에 한 개의 프레임)을 압축 해제해서 프레임들을 나타내는 압축 해제된 비디오 데이터를 생성하도록 구성된다. 따라서, VPU(32)는 비디오 데이터(예를 들면, 표시될 프레임)를 압축 해제하기 위한 압축 해제기(미도시)를 포함한다.
(압축된 비디오 데이터의 압축 해제가 원한다면 다른 방식으로 행해질 수 있다는 것을 인식할 것이다. 예를 들면, 압축 해제기를 포함하는 VPU(32) 대신에, 압축된 비디오 데이터를 VPU(32)에 전하기 전에 이 압축된 비디오 데이터를 수신하고 그들을 압축 해제하는 별개의 압축 해제 엔진이 이 시스템에 설치될 수 있다.)
VPU(32)는 제1, 원래 해상도, L0로 참조 프레임을 나타내는 픽셀 데이터를 외부 메모리(33)에 생성해서 저장하도록 구성된다. 이와 같이, 일단 참조를 나타내는 압축된 비디오 데이터가 압축 해제되었으면, 참조 프레임을 나타내는 (압축 해제된) 픽셀 데이터가 메모리(33)에 저장된다. 그렇지만, 본 발명의 실시예에 따르면, VPU(32)는 적어도 하나의 제1 해상도와 다른 해상도로 참조 프레임을 나타내는 픽셀 데이터를 메모리(33)에 생성해서 저장하도록 구성된다. 이것은 예를 들면 (압축 해제된) 참조 프레임에 대해서 적절한 스케일링(scaling) 동작을 수행함으로써 달성되어도 된다.
도 3에 나타낸 실시예에 있어서, VPU(32)에 의해 수신된 비디오 프레임들의 시퀀스 내의 제1 프레임(프레임 1)은 표시하기 위해서 출력될 프레임뿐만 아니라 참조 프레임이다. 따라서, VPU(32)는 제1 해상도 L0로 참조 프레임을 나타내는 픽셀 데이터를 생성하고 그것을 메모리(33)에 저장함으로써, 예를 들면 그것은 비디오 프레임들의 시퀀스 내의 다른 프레임들을 정의해서 디코드하기 위해서 사용될 수 있다. 그렇지만, 이것에 더해서 VPU(32)는 제1 해상도(L0)에 더해서 2개의 상이한 해상도(L1 및 L2)로 참조 프레임을 나타내는 픽셀 데이터를 생성한다. 이것은 제1 및 제2 표시 화면의 정확한 해상도로 참조 프레임을 스케일링함으로써 행해질 수도 있다.
비디오 프레임의 시퀀스 내의 제2 프레임(프레임 2)은 또한 참조 프레임과 출력 프레임으로서 플래그(flagged)됨으로써, 제1, 제2 및 제3 해상도 LO, L1 및 L2로 그 참조 프레임을 나타내는 픽셀 데이터 픽셀도 생성된다.
제3 프레임(프레임 3)은 참조 프레임으로서 플래그되지 않지만, 대신 출력 프레임만으로서 플래그된다. 이 경우에, 전해상도(full resolutuion)로 프레임을 나타내는 전 픽셀 데이터가 요구되지 않음으로써(이것은 시퀀스 내의 어떤 다른 프레임들을 디코드하기 위해서 사용되지 않을 것이므로), VPU(32)는 한 개 이상의 저해상도로 프레임을 나타내는 33개의 픽셀 데이터를 메모리(33)에 생성해서 저장하도록 구성된다. 도시한 특정 예에 있어서는, VPU(32)는 제2 및 제3 해상도, L1 및 L2로 프레임을 나타내는 픽셀 데이터를 생성한다.
(이것은 전해상도로 대응하는 참조 프레임(예를 들면, 프레임 2)을 나타내는 픽셀 데이터를 이용해서 처음으로 프레임을 디코딩하고, (디코딩된) 프레임에 대해 스케일링 동작을 수행해서 한 개 이상의 제1 해상도보다 낮은 해상도로 프레임을 나타내는 픽셀 데이터를 생성함으로써 행해질 수 있다.
메모리에 저장된 프레임들은 그 후에 표시용 적절한 DPU(또는 DPU들)에 의해 검색될 수 있다. 이 점에서, (도 3의 제1, 제2 및 제3 프레임인) 좀 더 작은 버전의 현재 프레임만이 표시를 위해 판독될 필요가 있어, 메모리 대역폭 및 액세스 등을 절약한다는 점에서 프레임들에 대하여 더 낮은 해상도 픽셀 데이터를 갖는 것이 유리하다는 것을 인식할 것이다.
도 3에 나타낸 예에 있어서는, 제1 및 제2 표시유닛, DPU[0] 및 DPU[1] 중의 각 하나는, DPU[0]가 저해상도, L1으로 프레임을 나타내는 데이터만을 판독할 것이고, DPU[1]가 저해상도, L2로 프레임을 나타내는 데이터만 판독할 것이라는 점을 제외하고는, 프레임들을 출력하도록 구성된다.
(도 3은 제1 해상도와 다른 2개의 해상도만으로 참조 프레임을 나타내는 픽셀 데이터를 나타내지만, 얼마든지 서로 다른 해상도를 제1 해상도에 더해서 생성할 수 있다는 것을 이해할 것이다. 예를 들면, VPU는 전 밉맵 세트(full mipmap set)를 생성하도록 구성되어도 된다. 또한, 도 3은 2개의 별개의 표시 처리 유닛을 나타내고, 얼마든지 표시 처리 유닛이 사용될 수 있다. 또, 프레임을 나타내는 픽셀 데이터를 생성하는 한 개 이상의 저해상도는, 한 개 이상의 표시 화면의 해상도에 정확하게 대응할 필요가 없다. 대신에, 한 개 이상의 저해상도는 한 개 이상의 표시 화면의 해상도에 가장 가까운 밉맵의 레벨이 되도록 선택될 수 있고, 필요한 어떤 최종 스케링이든 표시 처리 유닛에서 행해지고 있다.)
도 4는 비디오 프레임들의 시퀀스를 처리하는 대신에, 비디오 프로세서가 정지 화상들의 프레임들을 처리하도록 구성되는 점을 제외하고, 본 발명의 기본 동작을 수행할 수 있는 비디오 처리 시스템(31)의 실시예를 개략적으로 나타낸 것이다.
도 3의 실시예와 마찬가지로, 이 예에 있어서는 비디오 처리 시스템(41)은 예를 들면 디스플레이상에서 VPU(42), 외부 메모리(43), GPU(44) 및 그래픽 유저 인터페이스(45)를 포함한다.
도 4에서 볼 수 있는 것처럼, VPU(42)는 이미지 소스(미도시)로부터 (압축된) 정지 화상 프레임들의 시퀀스를 수신하고, 제1 해상도 및 제1 해상도와 다른 적어도 한 개의 해상도로 각 프레임을 나타내는 픽셀 데이터를 메모리에 생성해서 저장하도록 구성된다.
VPU(43)는 완전한 밉맵으로서 정지 화상들의 시퀀스 내의 각 화상을 나타내는 픽셀 데이터를 메모리(43)에 생성해서 저장하도록 구성된다. 예를 들면, 도 4의 외부 메모리(43)는 연속적으로 저해상도, L0 내지 LN으로 화상을 나타내는 여기에 저장된 픽셀 데이터를 갖는다.
메모리로부터 프레임 또는 프레임들을 나타내는 픽셀 데이터는, 그 후에 메모리로부터 검색되고 GPU(44)에 의해 사용되어 예를 들면, 표시용 한 개 이상의 프레임에 대해 처리 동작을 수행한다.
예를 들면, GPU(44)는 제1 해상도보다 낮은 적어도 한 개의 해상도로 프레임을 나타내는 픽셀 데이터를 판독해 사용하여 스케일링(scaling), 로테이션(rotation) 또는 스큐잉(skewing) 동작 등, 변환 동작을 프레임에 대해 수행하도록 구성되어도 된다. 다른 예에 있어서는, GPU(44)는 제1 해상도보다 낮은 적어도 한 개의 해상도로 한 개의 프레임보다 더 많은 프레임을 나타내는 픽셀 데이터를 판독해 이용해서 그래픽 유저 인터페이스(45)에 대해 프레임들을 시각적으로 훑어보는 동작("커버플로(coverflow)" 형태 동작)을 수행한다.
도 5는 본 발명에 따른 비디오 프레임들의 시퀀스 내의 적어도 하나의 프레임을 인코드하도록 구성되는 비디오 처리 시스템의 실시예를 개략적으로 나타낸 것이다. 비디오 처리 시스템은 계층적 움직임 추정 인코더(54)를 그 내부에 갖는 외부 메모리(52)와 VPU(53)를 구비한다.
VPU(53)는 비디오 프레임들의 시퀀스 내의 특정한 프레임(프레임 1)에 대해 계층적 움직임 추정 인코딩을 수행하도록 구성된다. 도시한 바와 같이, 프레임은 양방향 프레임, 즉 비디오 프레임들의 시퀀스에 있어서의 양쪽 이전 프레임(프레임 0)과 다음 프레임(프레임 2)으로부터 정의되는 프레임으로서 인코딩된다. 도 5의 실시예에 있어서는, 프레임 0 및 프레임 2는 모두 참조 프레임이고, 프레임 1은 출력 프레임만으로서 인코딩될 것이다.
따라서, 제1 해상도 및 적어도 한 개의 다른 해상도로 참조 프레임(프레임 0 및 2)을 나타내는 픽셀 데이터는 외부 메모리(52)에 생성되어 저장된다. 도 5에 나타낸 예에 있어서, 제1 해상도 및 적어도 한 개의 다른 해상도로 참조 프레임(프레임 0 및 2)을 나타내는 픽셀 데이터는, 비디오 처리 시스템의 외부 메모리(52)에 이미 생성되어 저장되었다. (이 특정 예에 있어서는, 다른 구성이 동일하게 가능하지만, 각 참조 프레임은 참조 프레임의 제1, 제2 및 제3 해상도 버전(버전 LO, L1 및 L2, 각각)을 포함하는 (예를 들면, 드문) 밉맵 세트로서 표현된다.)
VPU(53), 보다 구체적으로 VPU(53)의 인코더(54)는, 메모리(52)로부터 참조 프레임들을 나타내는 픽셀 데이터를 판독하고 그것을 이용해서 문제의 프레임(프레임 1)에 대해 계층적 움직임 추정 인코딩을 수행하도록 구성된다. 도 5에 나타낸 실시예에 있어서, 인코더(54)는 밉맵 세트, 바람직하게는 계층적 검색 방식에 의해 사용되고 있는 레벨(즉, 레벨 L0, L1 및 L2)만 포함하는 드문 밉맵 세트로서 프레임을 나타내는 인코딩된 픽셀 데이터를 생성한다.
본 출원인은 메모리에 이미 저장된 참조 프레임의 다수의 해상도 버전을 갖는 것이 더 효율적인 방식으로 움직임 추정 인코딩을 수행하는 데에 유리하다는 것을 인식했다. 특히, 프레임의 다수의 해상도 버전을 갖는 것이, (참조 프레임의 저해상도 버전을 철저하게 조사함으로써) 메모리 대역폭을 줄이면서, 더 긴 움직임 벡터를 찾는 것을 용이하게 한다. 예를 들면, 참조 프레임의 저해상도 버전의 움직임 벡터를 찾고 싶은 경우, VPU(53)는 (전해상도 픽셀 데이터를 먼저 판독하고 그 후에 그것을 축소하는 대신에) 간단히 저해상도로 참조 프레임을 나타내는 픽셀 데이터를 판독할 수 있어, 메모리 액세스 및 대력폭이 절약된다.
도 5의 VPU(53)가 양방향 프레임을 인코딩하고 있지만, 이것이 필요하지 않다는 것을 인식할 것이다. 어떤 압축 방식이든 적절히 사용될 수 있다. 예를 들면, 프레임은 (예를 들면, 단일 참조 프레임으로부터) 포워드 예측 프레임으로서 또는 양방향 예측 프레임으로서 인코드되어도 된다.
상기로부터, 본 발명은, 적어도 그것의 바람직한 실시예에 있어서, 비디오 프레임들의 시퀀스 내의 한 개 이상의 프레임이, 참조 프레임에 대하여 비디오 프레임들의 시퀀스 내의 한 개 이상의 프레임에 대한 데이터가 정의되는 더 효율적인 비디오 처리 시스템을 제공하는 방법을 제공한다는 것을 알 수 있다.
이것은, 적어도 바람직한 실시예에 있어서는, 참조 프레임의 모두 또는 일부가 비디오 프레임들의 시퀀스를 디코딩(또는 인코딩)하는 데 필요한 경우, 제1, 전해상도 및 제1 해상도와 다른 적어도 한 개의 (예를 들면, 낮은) 해상도로 참조 프레임의 모두 또는 일부를 나타내는 픽셀 데이터를 메모리 생성해서 저장함으로써, 달성된다.

Claims (34)

  1. 비디오 프레임들의 시퀀스 내의 한 개 이상의 프레임들에 대한 데이터가 참조 프레임에 대하여 정의되어 있는, 비디오 처리 시스템에서 비디오 데이터의 프레임들을 처리하는 방법으로서, 상기 방법은,
    상기 비디오 프레임들의 시퀀스에 대한 참조 프레임의 모두 또는 일부가 상기 비디오 프레임들의 시퀀스를 디코딩할 때 사용되는 경우,
    제1 해상도로 상기 참조 프레임의 모두 또는 일부를 나타내는 픽셀 데이터를 메모리에 생성해서 저장하는 단계와,
    상기 제1 해상도와 다른 적어도 한 개의 해상도로 상기 참조 프레임의 모두 또는 일부를 나타내는 픽셀 데이터를 메모리에 생성해서 저장하는 단계를 포함하는 것을 특징으로 하는, 처리방법.
  2. 제 1 항에 있어서,
    상기 제1 해상도로 참조 프레임에 대하여 생성된 픽셀 데이터를 이용해서 상기 제1 해상도와 다른 적어도 한 개의 해상도로 참조 프레임을 나타내는 픽셀 데이터를 생성하는 단계를 포함하는 것을 특징으로 하는, 처리방법.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 제1 해상도와 다른 적어도 한 개의 해상도는, 상기 제1 해상도보다 낮은 해상도인 것을 특징으로 하는, 처리방법.
  4. 제 1 항 또는 제 2 항에 있어서,
    제1 해상도 및 적어도 한 개의 다른 해상도로 참조 프레임을 나타내는, 생성되어 저장되는 픽셀 데이터는, 참조 프레임을 나타내는 밉맵 세트(mipmap set)의 2개 이상 또는 모든 레벨의 형태인 것을 특징으로 하는, 처리방법.
  5. 제 1 항 또는 제 2 항에 있어서,
    참조 프레임에 대한 픽셀 데이터를 상기 비디오 처리 시스템이 사용하는 방법에 의거해서 참조 프레임 픽셀 데이터 생성을 구성하는 단계를 더 포함하는 것을 특징으로 하는, 처리방법.
  6. 제 5 항에 있어서,
    비디오 시퀀스가 표시되는 전자 디스플레이 또는 디스플레이들의 해상도에 의거해 참조 프레임을 생성하는 상기 제1 해상도와 다른 적어도 한 개의 해상도의 한 개 이상 또는 모두를 선택하는 단계와,
    비디오 시퀀스가 표시되는 전체 비디오 처리 시스템에서의 상이한 디스플레이의 개수에 의거해 참조 프레임을 표시하는 상이한 해상도의 개수를 선택하는 단계 중의 적어도 하나를 포함하는 것을 특징으로 하는, 처리방법.
  7. 제 1 항 또는 제 2 항에 있어서,
    상기 제1 해상도와 다른 적어도 한 개의 해상도로 참조 프레임을 나타내는 픽셀 데이터를 이용해서 상기 비디오 프레임들의 시퀀스 내의 적어도 한 개의 프레임을 처리하는 단계를 더 포함하는 것을 특징으로 하는, 처리방법.
  8. 제 7 항에 있어서,
    상기 비디오 프레임들의 시퀀스 내의 적어도 한 개의 프레임을 처리하는 단계는,
    상기 제1 해상도보다 낮은 적어도 한 개의 해상도로 참조 프레임을 나타내는 픽셀 데이터를 이용해서 표시하기 위한 출력 프레임을 나타내는 픽셀 데이터를 생성하는 것을 포함하는 것을 특징으로 하는, 처리방법.
  9. 제 1 항 또는 제 2 항에 있어서,
    참조 프레임이 표시되면,
    낮은 해상도 참조 프레임에 대한 픽셀 데이터가 표시된 프레임에 대한 픽셀 데이터로서 사용되는 것을 특징으로 하는, 처리방법.
  10. 제 1 항 또는 제 2 항에 있어서,
    상기 비디오 프레임들의 시퀀스 내의 현재 프레임이 참조 프레임에 대하여 인코딩될 때,
    상기 제1 해상도로 참조 프레임을 나타내는 픽셀 데이터와 현재 프레임에 대한 인코딩된 픽셀 데이터를 이용해서 현재 프레임을 디코딩하는 단계와,
    상기 제1 해상도와 다른 적어도 한 개의 해상도로 현재 프레임을 나타내는 픽셀 데이터를 메모리에 생성하여 저장하는 단계를 더 포함하는 것을 특징으로 하는, 처리방법.
  11. 제 1 항 또는 제 2 항에 있어서,
    상기 제1 해상도와 다른 적어도 한 개의 해상도로 참조 프레임의 모두 또는 일부를 나타내는 픽셀 데이터를 메모리로부터 판독하는 단계와,
    표시될 출력 프레임을 생성할 때 픽셀 데이터를 이용하는 단계와,
    생성된 출력 프레임을 디스플레이에 출력하는 단계를 더 포함하는 것을 특징으로 하는, 처리방법.
  12. 제 1 항 또는 제 2 항에 있어서,
    상기 제1 해상도와 다른 적어도 한 개의 해상도로 참조 프레임의 모두 또는 일부를 나타내는 픽셀 데이터를 메모리로부터 판독하는 단계와,
    상기 비디오 프레임들의 시퀀스 내의 프레임에 대해 처리 동작을 수행할 때 픽셀 데이터를 이용해서 처리된 프레임을 나타내는 픽셀 데이터를 생성하는 단계와,
    처리된 프레임을 나타내는 픽셀 데이터를 메모리에 저장하는 단계를 더 포함하는 것을 특징으로 하는, 처리방법.
  13. 제 1 항 또는 제 2 항에 있어서,
    상기 제1 해상도 및 상기 제1 해상도와 다른 적어도 한 개의 해상도로 참조 프레임의 모두 또는 일부를 나타내는 픽셀 데이터는, 압축된 형태로 메모리에 저장되는 것을 특징으로 하는, 처리방법.
  14. 비디오 프레임들의 시퀀스 내의 한 개 이상의 프레임들에 대한 데이터가 참조 프레임에 대하여 정의되어 있는, 비디오 처리 시스템에서 비디오 데이터의 프레임들을 처리하는 장치로서, 상기 장치는,
    상기 비디오 프레임들의 시퀀스에 대한 참조 프레임의 모두 또는 일부가 상기 비디오 프레임들의 시퀀스를 디코딩할 때 사용되는 경우,
    제1 해상도로 상기 참조 프레임의 모두 또는 일부를 나타내는 픽셀 데이터를 메모리에 생성해서 저장하고,
    상기 제1 해상도와 다른 적어도 한 개의 해상도로 상기 참조 프레임의 모두 또는 일부를 나타내는 픽셀 데이터를 메모리에 생성해서 저장하도록 구성된 참조 프레임 생성 스테이지를 구비하는 것을 특징으로 하는, 처리장치.
  15. 제 14 항에 있어서,
    상기 참조 프레임 생성 스테이지는, 상기 제1 해상도로 참조 프레임에 대해서 생성된 픽셀 데이터를 이용해서 상기 제1 해상도와 다른 적어도 한 개의 해상도로 참조 프레임을 나타내는 픽셀 데이터를 생성하도록 구성되는 것을 특징으로 하는, 처리장치.
  16. 제 14 항 또는 제 15 항에 있어서,
    상기 제1 해상도와 다른 적어도 한 개의 해상도의 각각은 상기 제1 해상도보다 낮은 해상도인 것을 특징으로 하는, 처리장치.
  17. 제 14 항 또는 제 15 항에 있어서,
    제1 해상도 및 적어도 한 개의 다른 해상도로 참조 프레임을 나타내는, 생성되어 저장되는 픽셀 데이터는, 참조 프레임을 나타내는 밉맵(mipmap) 세트의 2개 이상 또는 모든 레벨의 형태인 것을 특징으로 하는, 처리장치.
  18. 제 14 항 또는 제 15 항에 있어서,
    참조 프레임 픽셀 데이터 생성은, 상기 비디오 처리 시스템이 참조 프레임에 대한 픽셀 데이터를 사용하는 방법에 의거해서 구성되는 것을 특징으로 하는, 처리장치.
  19. 제 18 항에 있어서,
    비디오 시퀀스가 표시되는 전자 디스플레이 또는 디스플레이들의 해상도에 의거해 참조 프레임이 생성되는 상기 제1 해상도와 다른 적어도 한 개의 해상도 중의 한 개 이상 또는 모두가 선택되는 것을 특징으로 하는, 처리장치.
  20. 제 14 항 또는 제 15 항에 있어서,
    상기 제1 해상도와 다른 적어도 한 개의 해상도로 참조 프레임을 나타내는 픽셀 데이터를 이용해서 상기 비디오 프레임들의 시퀀스 내의 적어도 한 개의 프레임을 처리하도록 구성된 프레임 처리 스테이지를 더 구비하는 것을 특징으로 하는, 처리장치.
  21. 제 20 항에 있어서,
    상기 프레임 처리 스테이지는,
    상기 제1 해상도보다 낮은 적어도 한 개의 해상도로 참조 프레임을 나타내는 픽셀 데이터를 이용해서 표시하기 위한 출력 프레임을 나타내는 픽셀 데이터를 생성하도록 구성되는 것을 특징으로 하는, 처리장치.
  22. 제 14 항 또는 제 15 항에 있어서,
    참조 프레임이 표시되면,
    낮은 해상도 참조 프레임에 대한 픽셀 데이터가 표시된 프레임에 대한 픽셀 데이터로서 사용되는 것을 특징으로 하는, 처리장치.
  23. 제 14 항 또는 제 15 항에 있어서,
    상기 장치는,
    상기 비디오 프레임들의 시퀀스 내의 현재 프레임이 참조 프레임에 대하여 인코딩될 때,
    상기 제1 해상도로 참조 프레임을 나타내는 픽셀 데이터와 상기 현재 프레임에 대한 인코딩된 픽셀 데이터를 이용해서 상기 현재 프레임을 디코딩하고,
    상기 제1 해상도와 다른 적어도 한 개의 해상도로 상기 현재 프레임을 나타내는 픽셀 데이터를 메모리에 생성해서 저장하도록 구성되는 것을 특징으로 하는, 처리장치.
  24. 제 14 항 또는 제 15 항에 있어서,
    상기 장치는
    상기 제1 해상도 및 상기 제1 해상도와 다른 적어도 한 개의 해상도로 참조 프레임의 모두 또는 일부를 나타내는 픽셀 데이터를 압축된 형태로 메모리에 저장하도록 구성된 압축 스테이지를 더 구비하는 것을 특징으로 하는, 처리장치.
  25. 비디오 프레임들의 시퀀스 내의 한 개 이상의 프레임들에 대한 데이터가 참조 프레임에 대하여 정의되어 있는, 비디오 처리 시스템으로서, 상기 비디오 처리 시스템은,
    메모리와,
    청구항 14 또는 15에 기재된 장치와,
    제1 해상도와 다른 적어도 한 개의 해상도로 참조 프레임의 모두 또는 일부를 나타내는 픽셀 데이터를 메모리로부터 판독하고,
    표시될 출력 프레임을 생성할 때 픽셀 데이터를 이용하며,
    생성된 출력 프레임을 디스플레이에 출력하도록 구성된 디스플레이 컨트롤러를 구비하는 것을 특징으로 하는, 비디오 처리 시스템.
  26. 비디오 프레임들의 시퀀스 내의 한 개 이상의 프레임들에 대한 데이터가 참조 프레임을 대하여 정의되어 있는, 비디오 처리 시스템으로서, 상기 비디오 처리 시스템은,
    메모리와,
    청구항 14 또는 15에 기재된 장치와,
    제1 해상도와 다른 적어도 한 개의 해상도로 참조 프레임의 모두 또는 일부를 나타내는 픽셀 데이터를 메모리로부터 판독하고,
    상기 비디오 프레임들의 시퀀스 내의 프레임에 대하여 처리 동작을 수행할 때 픽셀 데이터를 이용하여 처리된 프레임을 나타내는 픽셀 데이터를 생성하며,
    처리된 프레임을 나타내는 픽셀 데이터를 메모리에 저장하도록 구성된 처리 유닛을 구비하는 것을 특징으로 하는, 비디오 처리 시스템.
  27. 비디오 처리 시스템에서 데이터의 프레임을 처리하는 방법으로서, 상기 방법은,
    상기 프레임의 모두 또는 일부가 추가로 처리하기 위해 사용되는 경우,
    제1 해상도로 상기 프레임의 모두 또는 일부를 나타내는 픽셀 데이터를 메모리에 생성해서 저장하는 단계와,
    상기 제1 해상도와 다른 적어도 한 개의 해상도로 상기 프레임의 모두 또는 일부를 나타내는 픽셀 데이터를 메모리에 생성해서 저장하는 단계를 포함하는 것을 특징으로 하는, 처리방법.
  28. 제 27 항에 있어서,
    상기 추가로 처리하기 위해 사용되는 프레임은, JPEG(Joint Photographic Experts Group)에 의해 정의된 포맷에 따라 인코딩되는 프레임인 것을 특징으로 하는, 처리방법.
  29. 제 27 항 또는 제 28 항에 있어서,
    상기 제1 해상도 및 상기 제1 해상도와 다른 적어도 한 개의 해상도로 상기 프레임의 모두 또는 일부를 나타내는 픽셀 데이터는, 압축된 형태로 메모리에 저장되는 것을 특징으로 하는, 처리방법.
  30. 비디오 처리 시스템에서 데이터의 프레임들을 처리하는 장치로서, 상기 장치는,
    프레임의 모두 또는 일부가 추가로 처리하기 위해 사용되는 경우,
    제1 해상도로 상기 프레임의 모두 또는 일부를 나타내는 픽셀 데이터를 메모리에 생성해서 저장하고,
    상기 제1 해상도와 다른 적어도 한 개의 해상도로 상기 프레임의 모두 또는 일부를 나타내는 픽셀 데이터를 메모리에 생성해서 저장하도록 구성된 처리 유닛을 구비하는 것을 특징으로 하는, 처리장치.
  31. 제 30 항에 있어서,
    상기 추가로 처리하기 위해서 사용되는 프레임은, JPEG(Joint Photographic Experts Group)에 의해 정의된 포맷에 따라 인코딩되는 프레임인 것을 특징으로 하는, 처리장치.
  32. 제 30 항 또는 제 31 항에 있어서,
    상기 장치는,
    상기 제1 해상도 및 상기 제1 해상도와 다른 적어도 한 개의 해상도로 상기 프레임의 모두 또는 일부를 나타내는 픽셀 데이터를 압축된 형태로 메모리에 저장하도록 구성된 압축 스테이지를 더 구비하는 것을 특징으로 하는, 처리장치.
  33. 청구항 1 또는 2의 방법을 컴퓨터에 실행시키는 매체 위에 저장된 컴퓨터 프로그램.
  34. 제 18 항에 있어서,
    비디오 시퀀스가 표시되는 상기 비디오 처리 시스템 전체에서의 상이한 디스플레이의 개수에 의거해서 참조 프레임이 표시되는 상이한 해상도의 개수가 선택되는 것을 특징으로 하는, 처리장치.
KR1020160070722A 2015-06-11 2016-06-08 비디오 처리 시스템 KR102669366B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1510168.6 2015-06-11
GB1510168.6A GB2539241B (en) 2015-06-11 2015-06-11 Video processing system

Publications (2)

Publication Number Publication Date
KR20160146542A true KR20160146542A (ko) 2016-12-21
KR102669366B1 KR102669366B1 (ko) 2024-05-28

Family

ID=53784494

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160070722A KR102669366B1 (ko) 2015-06-11 2016-06-08 비디오 처리 시스템

Country Status (5)

Country Link
US (1) US10440360B2 (ko)
EP (1) EP3104613A1 (ko)
KR (1) KR102669366B1 (ko)
CN (1) CN106254877B (ko)
GB (1) GB2539241B (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019050067A1 (ko) * 2017-09-08 2019-03-14 라인 가부시키가이샤 비디오 품질 제어
KR20190058040A (ko) * 2017-11-21 2019-05-29 (주)루먼텍 Ip를 통한 멀티카메라 비디오 분배 및 결합 시스템 및 그 방법

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10887600B2 (en) * 2017-03-17 2021-01-05 Samsung Electronics Co., Ltd. Method and apparatus for packaging and streaming of virtual reality (VR) media content
GB2583061B (en) * 2019-02-12 2023-03-15 Advanced Risc Mach Ltd Data processing systems
WO2020172809A1 (zh) * 2019-02-27 2020-09-03 深圳市大疆创新科技有限公司 拍摄装置的视频回放方法和拍摄装置
WO2021102880A1 (en) * 2019-11-29 2021-06-03 Alibaba Group Holding Limited Region-of-interest aware adaptive resolution video coding
CN111179403A (zh) * 2020-01-21 2020-05-19 南京芯瞳半导体技术有限公司 并行生成纹理映射Mipmap图像的方法、装置及计算机存储介质
US11570479B2 (en) 2020-04-24 2023-01-31 Samsung Electronics Co., Ltd. Camera module, image processing device and image compression method
KR20230091877A (ko) * 2020-10-19 2023-06-23 퀄컴 인코포레이티드 계층 특성을 우선순위화하는 것에 의한 이미지 데이터의 프로세싱

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008013802A2 (en) * 2006-07-27 2008-01-31 Lsi Corporation Method for video decoder memory reduction
EP2104356A1 (en) * 2008-03-18 2009-09-23 Deutsche Thomson OHG Method and device for generating an image data stream, method and device for reconstructing a current image from an image data stream, image data stream and storage medium carrying an image data stream
EP2800369A1 (en) * 2011-12-27 2014-11-05 Sony Computer Entertainment Inc. Moving image compressing apparatus, image processing apparatus, moving image compressing method, image processing method, and data structure of moving image compressed file

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6108039A (en) * 1996-05-23 2000-08-22 C-Cube Microsystems, Inc. Low bandwidth, two-candidate motion estimation for interlaced video
JPH10257502A (ja) * 1997-03-17 1998-09-25 Matsushita Electric Ind Co Ltd 階層画像符号化方法、階層画像多重化方法、階層画像復号方法及び装置
US6148033A (en) * 1997-11-20 2000-11-14 Hitachi America, Ltd. Methods and apparatus for improving picture quality in reduced resolution video decoders
US6370192B1 (en) * 1997-11-20 2002-04-09 Hitachi America, Ltd. Methods and apparatus for decoding different portions of a video image at different resolutions
US6343098B1 (en) * 1998-02-26 2002-01-29 Lucent Technologies Inc. Efficient rate control for multi-resolution video encoding
JP4502678B2 (ja) * 2004-03-24 2010-07-14 株式会社バンダイナムコゲームス プログラム、情報記憶媒体、及び画像生成システム
KR20070055420A (ko) * 2004-06-08 2007-05-30 쓰리-비 인터내셔날 리미티드 그래픽 텍스쳐들의 디스플레이
US8358701B2 (en) * 2005-04-15 2013-01-22 Apple Inc. Switching decode resolution during video decoding
JP4462132B2 (ja) * 2005-07-04 2010-05-12 ソニー株式会社 画像特殊効果装置,グラフィックスプロセッサ,プログラム
JP4594201B2 (ja) * 2005-09-28 2010-12-08 パナソニック株式会社 画像符号化方法、画像符号化装置、プログラムおよび集積回路
US8068700B2 (en) * 2007-05-28 2011-11-29 Sanyo Electric Co., Ltd. Image processing apparatus, image processing method, and electronic appliance
KR101446771B1 (ko) * 2008-01-30 2014-10-06 삼성전자주식회사 영상 부호화장치 및 영상 복호화장치
TWI362888B (en) * 2008-12-24 2012-04-21 Acer Inc Encoding and decoding method for video screen layout, encoding device, decoding device, and data structure
JP2010288110A (ja) * 2009-06-12 2010-12-24 Sony Corp 画像処理装置および画像処理方法
US8896715B2 (en) 2010-02-11 2014-11-25 Microsoft Corporation Generic platform video image stabilization
KR101444691B1 (ko) * 2010-05-17 2014-09-30 에스케이텔레콤 주식회사 참조영상 구성 및 인덱싱 장치 및 방법
US9467689B2 (en) * 2010-07-08 2016-10-11 Dolby Laboratories Licensing Corporation Systems and methods for multi-layered image and video delivery using reference processing signals
EP2410746A1 (en) * 2010-07-20 2012-01-25 Siemens Aktiengesellschaft Video coding with reference frames of high resolution
KR20140057373A (ko) * 2011-08-30 2014-05-12 노키아 코포레이션 비디오 코딩 및 디코딩을 위한 장치, 방법 및 컴퓨터 프로그램
GB2495301B (en) * 2011-09-30 2018-01-17 Advanced Risc Mach Ltd Method of and apparatus for encoding data
US10250877B2 (en) * 2012-01-13 2019-04-02 Interdigital Madison Patent Holdings Method and device for coding an image block, corresponding decoding method and decoding device
EA201492098A1 (ru) * 2012-05-14 2015-04-30 Лука Россато Кодирование и декодирование на основании смешивания последовательностей выборок с течением времени
GB2514099B (en) * 2013-05-07 2020-09-09 Advanced Risc Mach Ltd A data processing apparatus and method for performing a transform between spatial and frequency domains when processing video data
US20160241884A1 (en) * 2015-02-13 2016-08-18 Tandent Vision Science, Inc. Selective perceptual masking via scale separation in the spatial and temporal domains for use in data compression with motion compensation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008013802A2 (en) * 2006-07-27 2008-01-31 Lsi Corporation Method for video decoder memory reduction
EP2104356A1 (en) * 2008-03-18 2009-09-23 Deutsche Thomson OHG Method and device for generating an image data stream, method and device for reconstructing a current image from an image data stream, image data stream and storage medium carrying an image data stream
EP2800369A1 (en) * 2011-12-27 2014-11-05 Sony Computer Entertainment Inc. Moving image compressing apparatus, image processing apparatus, moving image compressing method, image processing method, and data structure of moving image compressed file

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019050067A1 (ko) * 2017-09-08 2019-03-14 라인 가부시키가이샤 비디오 품질 제어
US11218746B2 (en) 2017-09-08 2022-01-04 Line Corporation Method, system, and non-transitory computer readable record medium for video quality control
KR20190058040A (ko) * 2017-11-21 2019-05-29 (주)루먼텍 Ip를 통한 멀티카메라 비디오 분배 및 결합 시스템 및 그 방법
WO2019103240A1 (ko) * 2017-11-21 2019-05-31 (주)루먼텍 Ip를 통한 멀티카메라 비디오 분배 및 결합 시스템 및 그 방법

Also Published As

Publication number Publication date
US10440360B2 (en) 2019-10-08
KR102669366B1 (ko) 2024-05-28
EP3104613A1 (en) 2016-12-14
CN106254877A (zh) 2016-12-21
CN106254877B (zh) 2023-05-23
GB201510168D0 (en) 2015-07-29
GB2539241A (en) 2016-12-14
GB2539241B (en) 2019-10-23
US20160366408A1 (en) 2016-12-15

Similar Documents

Publication Publication Date Title
KR102669366B1 (ko) 비디오 처리 시스템
US10825128B2 (en) Data processing systems
US6339428B1 (en) Method and apparatus for compressed texture caching in a video graphics system
US6825847B1 (en) System and method for real-time compression of pixel colors
US8559709B1 (en) Method and apparatus for progressive encoding for text transmission
US10395394B2 (en) Encoding and decoding arrays of data elements
US20070047828A1 (en) Image data processing device
JP2008503914A (ja) 2つの高解像度画像をダウンスケール及び混合する装置及び方法
JP2006014341A (ja) Mcuバッファを用いて画像データを格納するための方法及び装置
JPH1013829A (ja) 画像符号化装置及び画像復号装置
US10896536B2 (en) Providing output surface data to a display in data processing systems
CN113170140A (zh) 数据阵列的位平面编码
US10824357B2 (en) Updating data stored in a memory
US20110084982A1 (en) Apparatus and Method for Displaying Image Data With Memory Reduction
US10672367B2 (en) Providing data to a display in data processing systems
KR101811774B1 (ko) 그래픽 처리 장치 및 방법
KR100852958B1 (ko) 서브픽셀 렌더링과 데이터 압축을 이용한 디스플레이드라이버 장치 및 그 제어방법
US8462168B2 (en) Decompression system and method for DCT-base compressed graphic data with transparent attribute
US10262632B2 (en) Providing output surfaces for display in data processing systems
US10592146B2 (en) Data processing systems
JP2008219848A (ja) 画像ファイルの復号表示回路及び画像表示方法
KR20220149124A (ko) 이미지 신호 프로세서, 이미지 신호 프로세서 동작 방법 및 상기 이미지 신호 프로세서를 포함하는 이미지 처리 시스템
CN113962848A (zh) 图像处理方法及装置

Legal Events

Date Code Title Description
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant