KR20170068396A - 비디오 인코더. 비디오 디코더 및 비디오 디스플레이 시스템 - Google Patents

비디오 인코더. 비디오 디코더 및 비디오 디스플레이 시스템 Download PDF

Info

Publication number
KR20170068396A
KR20170068396A KR1020160166732A KR20160166732A KR20170068396A KR 20170068396 A KR20170068396 A KR 20170068396A KR 1020160166732 A KR1020160166732 A KR 1020160166732A KR 20160166732 A KR20160166732 A KR 20160166732A KR 20170068396 A KR20170068396 A KR 20170068396A
Authority
KR
South Korea
Prior art keywords
frame
intra
coefficients
decoded
frames
Prior art date
Application number
KR1020160166732A
Other languages
English (en)
Inventor
데일 에프. 스톨리츠카
닝 루
Original Assignee
삼성디스플레이 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성디스플레이 주식회사 filed Critical 삼성디스플레이 주식회사
Publication of KR20170068396A publication Critical patent/KR20170068396A/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/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
    • H04N19/426Methods 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 using memory downsizing methods
    • H04N19/428Recompression, e.g. by spatial or temporal decimation
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/124Quantisation
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • 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/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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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/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

Landscapes

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

Abstract

비디오 인코더는, 오리지널 프레임 및 하나 이상의 참조 프레임을 수신하며 수신한 오리지널 프레임 및 하나 이상의 참조 프레임을 이용하여 코딩된 데이터를 생성하는 코딩 데이터 생성기, 그리고 하나 이상의 디코딩된 참조 프레임을 수신하며 수신한 하나 이상의 디코딩된 참조 프레임을 압축 및 압축 해제하여 하나 이상의 참조 프레임을 코딩 데이터 생성기에게 제공하는 참조 프레임 생성기를 포함한다.

Description

비디오 인코더. 비디오 디코더 및 비디오 디스플레이 시스템{A VIDEO ENCODER, A VIDEO DECODER, AND A VIDEO DISPLAY SYSTEM}
본 발명은 비디오 인코더, 비디오 디코더 및 비디오 디스플레이 시스템에 관한 것이다. 본 발명은 또한 비디오 코덱에서 압축된 참조 프레임들을 사용하는 시스템 및 방법에 관한 것이다.
본원은 2015년 12월 8일에 출원된 "SYSTEMS AND METHOD OF USING COMPRESSED REFERENCE FRAMES IN VIDEO CODECS"의 발명의 명칭을 가진 미국 가출원번호 제62/264,757호에 대한 우선권을 주장하며, 이 문헌의 전체 내용은 참조로서 본 명세서에 포함된다.
비디오 데이터 분배에 있어서, 데이터 대역폭은 항상 중요한 고려사항이었다. 온-라인 비디오 스트리밍에서부터 고화질 동영상 전송에 이르기까지, 통신 대역폭의 성장과 디스플레이 해상도 증가 간의 경쟁은 비디오 데이터 압축에 대한 더욱더 많은 요구사항들을 만들어 내고 있다.
예를 들어, 데이터 압축 방식은, 높은 압축비 및 높은 시각적 품질을 제공하면서, 또한 낮은 구현 비용 및 낮은 레이턴시를 제공해야 한다.
보다 낮은 구현 비용을 달성하는 하나의 방식은 메모리 요구사항들을 줄이거나 최소화하는 것이다. 그러나, 프레임 해상도에 대한 증가는 시간적 참조 프레임들(temporal reference frames)의 저장 비용이 매우 높아지게 만들고 있다. 또한, 고급 비디오 코덱들(advanced video codecs)은 점점 더 많은 수의 참조 프레임을 이용하고 있다.
본 배경 섹션에 개시된 상기 정보는 본 발명의 배경에 대한 이해를 높이기 위한 것일 뿐이므로, 종래 기술을 구성하지 않는 정보를 포함할 수도 있다.
본 발명의 몇몇 예시적인 실시예들에 따르면, 압축된 포맷들로 참조 프레임들을 저장함으로써, 참조 프레임 버퍼 사이즈를 감소시키는 시스템 및 방법이 제공된다.
본 발명의 몇몇 예시적인 실시예들에 따르면, 디코딩된 이미지들(예를 들어, 먼저 인트라 인코딩되고 그 후에 인트라 디코딩되는 이미지들)이 인코딩을 위해 사용되고, 디코더 엔드에서 동일한 프로세스가 복제되어 동일하거나 실질적으로 동일한 디코딩된 이미지들이 인코더 엔드에서 인코딩을 위해 그리고 디코더 엔드에서의 디코딩을 위해 사용된다. 예를 들어, 이전에 디코딩된 이미지 프레임들을 사용하는 대신에, 재-인코딩된(re-encoded) 참조 프레임들의 새롭게 디코딩된 이미지 프레임들이 참조 프레임들로서 사용될 수 있다.
본 발명의 몇몇 예시적인 실시예들에 따르면, 예측된 프레임들이 참조 프레임들로서 사용된다. 즉, 이전에 디코딩된 프레임은 다른 프레임들을 디코딩하는데 사용되는 참조 프레임으로서 그리고 디스플레이 프레임을 생성하는데 사용되는 예측된 프레임으로서 사용될 수 있다.
본 발명에 따른 예시적인 실시예들은, 표준 코덱인 MPEG-2, H.264(AVC) 및 H.265(HEVC)를 비롯한, 참조 프레임들을 사용하는 모든 적절한 비디오 코덱들에 적용될 수 있다. 예시적인 실시예들은 임의의 적절한 기존 압축 기술들에 대한 추가 또는 확장을 제공할 수 있다.
본 발명의 몇몇 예시적인 실시예들에 따르면, 인코딩하기 전에 변환(transformation)이 적용된다. 이러한 방식으로, 픽셀들에 대해서가 아니라 변환 계수들(transformation coefficients)에 대한 압축이 수행된다.
본 발명의 몇몇 예시적인 실시예들에 따르면, 계수들이 양자화를 이용하는 대신에, 비트플레인들(bitplanes)에서 인코딩된다 (예를 들면, 최상위 비트(most significant bit)로부터 최하위 비트(least significant bit)까지). 이것은 양자화기들로서 2의 제곱수(powers)를 사용하는 것과 동등할 수 있다. 이러한 방식으로, 전체 값을 양자화하여 송신하는 것이 아니라, 상위 비트들에 대응하는 (즉, 최상위 비트에서 순차적으로 시작하는) 비트플레인들이 송신될 수 있다.
본 발명의 몇몇 예시적인 실시예들에 따르면, 인코더 및 디코더가 동일한 규칙을 따르는 한, 예측된 프레임의 이미지 영역들이 일정한 그레이(예를 들면, 플랫(flat) 값 또는 제로(zero) 값)로 차례로 주기적으로 설정된다 (이것은 인트라 리프레시로서 인트라-코딩된 이미지 영역들을 삽입하는 것과 동등함). 즉, 균일한 그레이 픽처(uniform gray picture)(예를 들면, 플랫 값 또는 제로 값 같이 균일하게 동일한 그레이 값들을 가진 픽처)가 참조 프레임으로서 사용될 수 있다.
본 발명의 몇몇 예시적인 실시예들에 따르면, 비디오 인코더는, 오리지널 프레임(original frame) 및 하나 이상의 참조 프레임을 수신하며 상기 오리지널 프레임 및 상기 하나 이상의 참조 프레임을 이용하여 코딩된 데이터를 생성하는 코딩 데이터 생성기, 그리고 하나 이상의 디코딩된 프레임을 수신하며 상기 하나 이상의 디코딩된 프레임을 압축 및 압축 해제하여 상기 하나 이상의 참조 프레임로서 상기 코딩 데이터 생성기에게 제공하는 참조 프레임 생성기를 포함한다. 상기 하나 이상의 디코딩된 프레임을 압축 및 압축 해제하는 것은 상기 하나 이상의 디코딩된 프레임을 인트라 인코딩(intra encoding) 및 인트라 디코딩(intra decoding)하는 것을 포함할 수 있다.
상기 참조 프레임 생성기는 상기 하나 이상의 디코딩된 프레임을 인코딩하는 인트라 인코더(intra encoder) 및 상기 인트라 인코더에 의해 인코딩된 상기 하나 이상의 디코딩된 프레임을 디코딩하는 인트라 디코더(intra decoder)를 포함할 수 있다.
상기 압축 및 압축 해제되는 하나 이상의 디코딩된 프레임은 예측된 프레임 및 상기 하나 이상의 참조 프레임 모두로서 이용될 수 있다.
상기 코딩 데이터 생성기는 상기 오리지널 프레임을 수신하여, 상기 오리지널 프레임과 예측된 프레임 사이의 차분(difference)을 계산하는 대신에, 잔여 계수들(residual coefficients)을 생성하는 변환 계수 생성기를 포함할 수 있다.
상기 코딩 데이터 생성기는 상기 잔여 계수들의 양자화된 값들을 생성하는 양자화기(quantizer) 또는 상기 잔여 계수들의 비트플레인들을 생성하는 비트플레인 스캐너(bitplane scanner)를 더 포함할 수 있다.
상기 코딩 데이터 생성기는 상기 오리지널 프레임에 대응하는 변환 계수들(transformation coefficients)을 생성하는 변환 계수 생성기, 그리고 상기 변환 계수들의 양자화된 값들을 생성하는 양자화기와 상기 변환 계수들의 비트플레인들을 생성하는 비트플레인 스캐너 중 적어도 하나를 포함할 수 있다.
상기 비디오 인코더는 전체 화면을 인트라-코딩된(intra-coded) 블록들로 주기적으로 리프레시(refresh)할 수 있다.
본 발명에 따른 다른 예시적인 실시예에서, 비디오 디코더는, 코딩된 데이터를 수신하며 상기 코딩된 데이터를 사용하여 이미지 프레임을 생성하는 이미지 프레임 생성기, 그리고 상기 이미지 프레임을 수신하며 상기 이미지 프레임을 압축 및 압축 해제하여 디스플레이 프레임을 생성하는 비디오 압축기를 포함한다.
상기 비디오 디코더는 압축된 프레임들을 저장하는 프레임 버퍼 메모리를 더 포함할 수 있으며, 상기 프레임 버퍼 메모리의 크기는 상기 압축된 프레임들의 수와 같은 프레임들의 수를 저장하기 위해 필요한 것보다 작다.
상기 비디오 압축기는 상기 이미지 프레임을 압축하는 인트라 인코더, 그리고 상기 압축된 이미지 프레임을 압축 해제하는 인트라 디코더를 포함할 수 있다.
상기 비디오 디코더는 상기 압축된 이미지 프레임 및 압축된 참조 프레임을 저장하는 프레임 버퍼 메모리를 더 포함할 수 있다.
상기 비디오 디코더는 비트플레인들에서의 잔여물(residual)을 잔여 계수들로 변환하는 비트플레인 컨버터(bitplane converter)를 더 포함할 수 있다.
상기 비디오 디코더는 코딩된 인트라 계수들(coded intra coefficients)을 수신하며 상기 코딩된 인트라 계수들을 사용하여 디스플레이 프레임을 생성하는 프레임 버퍼 메모리를 더 포함할 수 있다.
상기 프레임 버퍼 메모리는 상기 코딩된 인트라 계수들을 디코딩하는 인트라 디코더, 그리고 상기 디코딩된 인트라 계수들을 이용하여 상기 디스플레이 프레임을 생성하는 역 변환기(inverse transformer)를 포함할 수 있다.
본 발명에 따른 다른 예시적인 실시예에서, 비디오 디스플레이 시스템은, 인코딩하기 전에 오리지널 픽셀 프레임을 변환하여 변환 계수들을 생성하는 인코더, 그리고 디스플레이하기 바로 전에 디코딩된 계수들을 역 변환하여 디스플레이 프레임을 생성하는 디코더를 포함한다.
상기 인코더는 디코딩된 잔여 계수들을 수신하며 디코딩된 계수들을 생성하는 계수 압축기를 포함할 수 있다.
상기 계수 압축기는 상기 디코딩된 잔여 계수들을 인코딩하여 코딩된 인트라 계수들을 생성하는 인트라 인코더, 그리고 상기 코딩된 인트라 계수들을 디코딩하여 상기 디코딩된 계수들을 생성하는 인트라 디코더를 포함할 수 있다.
상기 디코더는 상기 디코딩된 계수들을 저장하는 메모리를 포함할 수 있다.
상기 메모리는 코딩된 인트라 계수들을 수신하며 상기 코딩된 인트라 계수들을 디코딩하여 상기 디코딩된 계수들을 생성하는 인트라 디코더, 그리고 상기 디코딩된 계수들을 수신하며 상기 디코딩된 계수들을 역 변환하여 상기 디스플레이 프레임을 생성하는 역 변환기를 포함할 수 있다.
하나 이상의 예시적인 실시예 및/또는 그 특징들을 조합하여, 더욱 컴팩트한 디코딩 시스템이 구현될 수 있다.
본 발명의 상기 및 다른 양태들과 특징들은 첨부 도면들을 참조하는 다음의 예시적 실시예들에 대한 상세한 설명으로부터 당업자에게 더욱 명백해질 것이다.
도 1은 관련 기술에 따른 비디오 인코딩을 도시하는 개략도이다.
도 2는 관련 기술에 따른 비디오 디코딩을 도시하는 개략도이다.
도 3은 본 발명의 예시적인 실시예들에 따른 비디오 인코딩/디코딩 시스템의 개략도이다.
도 4는 본 발명의 예시적인 실시예들에 따른 비디오 인코딩을 도시하는 개략도이다.
도 5는 본 발명의 예시적인 실시예들에 따른 비디오 디코딩을 도시하는 개략도이다.
도 6은 본 발명의 다른 예시적인 실시예들에 따른 비디오 인코딩을 도시하는 개략도이다.
도 7은 본 발명의 다른 예시적인 실시예들에 따른 비디오 디코딩을 도시하는 개략도이다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세히 설명하며, 도면 전반에 걸쳐 동일한 참조 부호는 동일한 구성요소를 지칭한다. 그러나, 본 발명은 다양한 형태로 구체화될 수 있으며, 여기에 예시된 실시예들로 한정되는 것으로 해석되어서는 안된다. 오히려, 이들 실시예는 본 발명이 철저하고 완전하게 되도록 하며, 또한 본 발명의 양태들과 특징들을 당업자에게 충분히 전달할 수 있도록 하는 예로서 제공된다. 따라서 본 발명의 양태들 및 특징들의 완전한 이해를 위해 당업자에게 불필요한 프로세스들, 구성요소들 및 기술들은 설명되지 않을 수도 있다. 다른 언급이 없는 한, 첨부 도면 및 상세한 설명 전반에 걸쳐 동일한 참조 부호는 동일한 구성요소를 나타내며, 따라서 그 설명은 반복하지 않을 것이다. 도면에서, 구성요소, 층 및 영역의 상대적 크기는 명확성을 위해 과장될 수도 있다.
"제1", "제2", "제3" 등의 용어가 본 명세서에서 다양한 구성요소들(elements), 컴포넌트들(components), 영역들(regions), 층들(layers) 및/또는 섹션들(sections)을 설명하기 위해 사용될 수 있지만, 이들 구성요소, 컴포넌트, 영역, 층 및/또는 섹션이 이러한 용어에 의해 제한되지 않는다는 것을 이해할 것이다. 이들 용어는 하나의 구성요소, 컴포넌트, 영역, 층 또는 섹션을 다른 구성요소, 컴포넌트, 영역, 층 또는 섹션과 구별하기 위해서만 사용된다. 따라서 이하에서 논의되는 제 1 구성요소, 컴포넌트, 영역, 층 또는 섹션은 본 발명의 사상 및 범위를 벗어나지 않는 범위 내에서 제 2 구성요소, 컴포넌트, 영역, 층 또는 섹션으로 지칭될 수 있다.
본 명세서에서 사용되는 용어는 단지 특정 실시예들을 설명하기 위한 것이며, 본 발명의 개념을 제한하려는 것은 아니다. 본 명세서에서 사용되는 단수 형태 "일" 및 "하나"는 문맥상 다르게 지시하지 않는 한, 복수 형태도 포함하는 것으로 의도된다. 본 명세서에서 사용되는 용어 "포함하다" 및 "포함하는"은 명시된 특징, 정수(integer), 단계, 동작, 구성요소 및/또는 컴포넌트의 존재를 나타내지만, 하나 이상의 다른 특징, 정수, 단계, 동작, 구성요소, 컴포넌트 및/또는 이들의 그룹의 존재 또는 추가를 배제하지는 않는다는 것이 또한 이해될 것이다. 본 명세서에서 사용되는 용어 "및/또는"은 하나 이상의 관련 열거된 항목들의 임의 및 모든 조합을 포함한다. "적어도 하나"와 같은 표현이 구성요소 목록의 앞에 있을 경우, 이것은 구성요소들의 목록 전체를 수식하는 것이며, 그 목록의 개별 구성요소들을 수식하는 것은 아니다. 
본 명세서에 사용되는 용어 "실질적으로", "약" 및 이와 유사한 용어들은 정도의 용어가 아닌 근사의 용어로서 사용된 것이며, 당업자가 인식할 수 있는 측정 또는 계산된 값들에 있어서의 고유 편차를 고려하는 것으로 의도된다. 또한, 본 발명의 실시예들을 설명할 때 "할 수 있다"를 사용하는 것은 "본 발명의 하나 이상의 실시예"를 의미한다. 본 명세서에서 사용되는 용어 "사용하다", "사용하는" 및 "사용되는"은 각각 "이용하다", "이용하는" 및 "이용되는"과 동의어로 간주될 수 있다.
달리 정의되지 않는 한, 본 명세서에서 사용된 모든 용어(기술 및 과학 용어 포함)는 본 발명이 속하는 기술 분야의 당업자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 일반적으로 사용되는 사전에서 정의된 용어와 같은 용어는 관련 기술 및/또는 본 명세서와 관련하여 그 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명시적으로 그렇게 정의되지 않는 한, 이상적이거나 지나치게 형식적인 의미로 해석되어서는 안된다.
도 1은 관련 기술에 따른 인코더(10)에서의 비디오 인코딩을 나타내는 개략도이다. 인코더(10)는 예측 프레임 결정기(predicted frame determiner)(16), 차분 계산기(difference calculator)(20), 변환 계수 생성기(transformation coefficients generator)(24), 양자화기(quantizer)(28), 엔트로피 코더(entropy coder)(32) 및 프레임 디코더(frame decode)(38)를 포함한다.
인코더(10)에서, 오리지널 프레임(12) 및 하나 이상의 참조 프레임(14)이 예측 프레임(18)을 결정하기 위해 예측 프레임 결정기(16)에 제공된다. 그 다음, 오리지널 프레임(12)과 예측 프레임(18) 간의 차분(difference)이 잔여 프레임(22)을 생성하기 위해 차분 계산기(20)에 의해 취득된다. 잔여 프레임(22)은 변환 계수 생성기(24)에 제공되어 변환 계수들(26)을 생성하며, 이 변환 계수들(26)은 양자화된 값들(30)을 생성하기 위해 양자화기(28)에 의해 양자화된다.
양자화된 값들(30)은 엔트로피 코더(32)에 제공되어 코딩된 데이터(34)를 생성한다. 따라서 코딩된 데이터(34)는 변환 계수를 생성하도록 변환되고, 양자화되고, 엔트로피-코딩된 잔여물들(또는 잔여 프레임)을 포함한다. 새로운 참조 프레임이 인코딩을 위해 사용되어야 하는 것으로 결정되는 경우(36), 양자화된 값들(30)이 프레임 디코더(38)에 또한 제공되어 새로운 참조 프레임(또는 참조 프레임들)을 생성한다.
도 2는 관련 기술에 따른 디코더(50)에서의 비디오 디코딩을 나타내는 개략도이다. (예를 들어, 도 1의 인코더(10)로부터) 코딩된 데이터(34)는 송신 매체(40)를 통해 디코더(50)에 제공된다.
디코더(50)는 엔트로피 디코더(52), 역 양자화기(dequantizer)(54), 역 변환기(inverse transformer)(58), 결합기(combiner)(62), 예측 프레임 결정기(68) 및 프레임 버퍼 메모리(70)를 포함한다.
코딩된 데이터(34)는 먼저 디코더(50)에서 엔트로피 디코더(52)에 의해 엔트로피-디코딩되어 양자화된 값들(56)을 복원하며, 양자화된 값들(56)은 역 양자화기(54)에 의해 역 양자화되어, 변환 계수들(60)을 복원한다. 변환 계수들(60)은 역 변환기(58)에 의해 역 변환되어 잔여 프레임(64)을 복원한다. 잔여 프레임(64)은 결합기(62)에 의해 예측된 프레임(66)과 결합되어 디코딩된 프레임(74)을 생성한다. 예측된 프레임(66)은 하나 이상의 참조 프레임(72)을 사용하여 예측 프레임 결정기(68)에 의해서 결정된다. 디코딩된 프레임(74) 및 하나 이상의 참조 프레임(72)은 프레임 버퍼 메모리(70)에 저장된다. 그 다음, 디코딩된 프레임(74)은 디스플레이 프레임(90)으로서 제공된다.
도 3에 도시된 바와 같이, 본 발명의 예시적인 실시예들에 따르면, 인코딩/디코딩 시스템(100)은 인코더(101)를 포함한다. 인코더(101)는 비디오 소스(102)에 의해 제공되는 비디오를 인코딩하고, 송신 매체(103)를 통해 인코딩된 비디오 데이터를 송신한다. 송신 매체(103)는 제한될 수 있는 대역폭을 가진 하나 이상의 통신 네트워크들을 포함할 수 있다. 인코딩된 비디오 데이터는 나중에 디스플레이(105)에 제공되어 디스플레이될 비디오 데이터를 복원하는 디코더(104)에 의해 수신된다. 본 발명의 몇몇 실시예들에 따르면, 디스플레이(105)는 임의의 적절한 디스플레이 디바이스 또는 컴퓨터 시스템, 예를 들어 개인용 컴퓨터, 태블릿 또는 터치 스크린 컴퓨터 시스템, 이동 전화, 스마트 폰 등에 통합될 수 있다.
전자 또는 전기 디바이스들 및/또는 본 명세서에서 설명된 본 발명의 실시예들에 따른 임의의 다른 관련 디바이스들 또는 컴포넌트들, 예를 들어, 인코더(101) 및 디코더(104) 또는 임의의 다른 인코더들 및/또는 디코더들, 그리고 거기에 포함된 임의의 모든 컴포넌트들 등은 임의의 적절한 하드웨어, 펌웨어(예를 들어, 주문형 집적 회로), 소프트웨어를 이용하거나, 또는 소프트웨어, 펌웨어 및 하드웨어의 조합을 이용하여 구현될 수 있다. 예를 들어, 이들 디바이스의 다양한 컴포넌트들은 하나의 집적 회로(IC) 칩 상에 또는 개별 IC 칩들 상에 형성될 수 있다. 또한, 이들 디바이스들의 다양한 컴포넌트들은 가요성 인쇄 회로 필름(FPCF), 테이프 캐리어 패키지(TCP), 인쇄 회로 기판(PCB) 상에 구현되거나, 하나의 기판 상에 형성될 수도 있다. 또한, 이들 디바이스의 다양한 컴포넌트들은, 하나 이상의 컴퓨팅 디바이스에서 하나 이상의 프로세서에서 작동하고, 컴퓨터 프로그램 명령들을 실행하고, 여기서 설명된 다양한 기능들을 수행하기 위해 다른 시스템 컴포넌트들과 상호작용하는 프로세스 또는 스레드(thread)일 수 있다. 컴퓨터 프로그램 명령들은 표준 메모리 디바이스, 예를 들어, 랜덤 액세스 메모리(RAM) 등을 사용하여 컴퓨팅 디바이스에서 구현될 수 있는 메모리에 저장된다. 컴퓨터 프로그램 명령들은 또한 다른 비-일시적 컴퓨터 판독 가능 매체, 예를 들어, CD-ROM, 플래시 드라이브 등에 저장될 수도 있다. 또한, 당업자는 다양한 컴퓨팅 디바이스들의 기능이 조합되거나 단일 컴퓨팅 디바이스에 통합될 수 있고, 또는 특정 컴퓨팅 디바이스의 기능이 본 발명의 예시적인 실시예들의 사상 및 범위를 벗어나지 않고 하나 이상의 다른 컴퓨팅 디바이스에 걸쳐 분포할 수 있다는 것을 인식해야 한다.
도 4는 본 발명의 예시적인 실시예들에 따른 인코더(또는 비디오 인코더)에서의 비디오 인코딩을 나타내는 개략도이다. 인코더(110)는 예측 프레임 결정기(116), 차분 계산기(120), 변환 계수 생성기(또는 변환기)(124), 양자화기(128), 엔트로피 코더(132), 프레임 디코더(138) 및 참조 프레임 생성기(131)를 포함한다. 참조 프레임 생성기(131)는 인트라 인코더(133) 및 인트라 디코더(137)를 포함한다. 예측 프레임 결정기(116), 차분 계산기(120), 변환 계수 생성기(124), 양자화기(128) 및 엔트로피 코더(132) 중 두 개 이상의 것은 여기서 코딩 데이터 생성기로서 함께 지칭될 수 있다.
인코더(110)에 있어서, 오리지널 프레임(112) 및 참조 프레임(또는 예측 타입에 의존하는 참조 프레임들)(114)이 예측 프레임 결정기(116)에 제공되어 예측된 프레임(118)을 결정한다. 몇몇 예시적인 실시예들에서, 오리지널 프레임(112)은 예측 프레임 결정기(116)에 제공되지 않을 수도 있다. 처음에, 참조 프레임(114)은 플랫(flat)(예를 들어, 제로 값 또는 균일한 그레이 값을 갖는 프레임)인 것으로 가정될 수 있다. 참조 프레임이 플랫이기 때문에, 디코딩되는 제1 프레임은 본질적으로 인트라-코딩된다.
예측된 프레임(118)은 참조 프레임(또는 다중 참조 프레임들)(114)인 (예를 들어, 참조 프레임 생성기(131)에서) 재-인코딩되고 디코딩된 프레임일 수 있으며, 또는 플랫 프레임일 수 있다. 인터-코딩(inter-coding)의 경우, 예측된 프레임(118)은 참조 프레임(또는 다중 참조 프레임들)(114)이다. 인트라-코딩(intra-coding)의 경우, 예측된 프레임(118)은 플랫 프레임(예를 들어, 0 값 또는 일정/균일한 그레이 값을 갖는 모든 픽셀들)이다. 따라서 예측 프레임 결정기(116)에 의해 행해지는 예측은 참조 프레임을 사용할지 안할지의 여부에 대한 결정이며, 이에 따라 참조 프레임 또는 플랫 프레임이 인코딩을 위해 복제되어 사용되도록 한다.
그 다음, 차분 계산기(120)가 오리지널 프레임(112)과 예측된 프레임(118) 간의 차분을 취득하여 잔여 프레임(122)을 생성한다. 잔여 프레임(122)이 오리지널 프레임(112)과 예측된 프레임(118) 간의 차분을 나타내기 때문에, 인트라-코딩의 경우 오리지널 프레임(112)이 잔여 프레임(122)이 된다.
그 다음, 잔여 프레임(122)이 변환 계수 생성기(124)에 제공되어 변환 계수들(126)을 생성하며, 이것이 양자화기(128)에 의해 양자화되어 양자화된 값들(130)을 생성한다. 변환 계수 생성기는 당업자에게 알려진 임의의 적절한 변환 방법, 알고리즘 및/또는 디바이스를 사용하여, 변환 계수들을 생성한다. 예를 들어, 변환 계수 생성기(124)는 웨이블릿 변환(wavelet transformation), 이산 코사인 변환(discrete cosine transformation; DCT) 등을 사용하여, 변환 계수들을 생성할 수 있다.
양자화된 값들(130)이 엔트로피 코더(132)에 제공되어 코딩된 데이터(134)를 생성한다. 예를 들어, 당업자들이 인식하는 바와 같이, 엔트로피 코딩은 더 빈번하게 발생하는 패턴들을 더 적은 빈도로 발생하는 패턴들보다 적은 비트들로 나타냄으로써 디지털 데이터를 압축하는 무손실 코딩 타입이다. 엔트로피 코더(132)는 당업자에게 알려진 임의의 적절한 엔트로피 코딩 타입, 방법 및/또는 알고리즘을 사용할 수 있다. 엔트로피 코딩 후, 코딩된 데이터(134)는 변환, 양자화 및 엔트로피-코딩된 잔여물(또는 잔여 프레임)을 포함한다.
새로운 참조 프레임이 사용되어야 하는 것으로 결정되는 경우(136), 양자화된 값들이 프레임 디코더(138)에 또한 제공되어 새로운 참조 프레임(또는 참조 프레임들)을 결정한다. 여기서, 인트라/인터 코딩 결정은 어떤 코딩 타입이 더 나은 품질을 제공하는지에 기초하여 인코더(110)에 의해서 행해질 수 있다. 대부분의 경우, 현재 이미지와 인접 이미지(들) 또는 참조 이미지 간의 차분을 사용하는 인터-코딩이 인트라-코딩보다 바람직하거나 더 적합할 수 있다. 이미지들 간의 차분이 중요한 경우, 예를 들어, 변경사항들이 없는 경우에는 인터-코딩이 더 적절할 수 있다. 그러나, 장면들(scenes) 이 너무 많이 바뀌는 경우에는 인트라-코딩이 인터-코딩보다 바람직할 수 있다.
본 발명에 따른 예시적인 실시예들에서, 인터-코딩을 사용할 경우에는 에러들이 도입되거나 전파될 수 있기 때문에, 인코더(110)는 때때로 인트라-코딩을 사용하도록 강제되거나 프로그래밍된다. 때때로 인트라-코딩을 사용함으로써, 코딩 메커니즘이 리프레시(refresh)된다. 몇몇 예시적인 실시예들에 따르면, 예를 들어, 전체 화면이 몇 초마다 리프레시될 수 있도록, 인트라 블록들(intra blocks)이 점진적으로 사용(또는 전송)된다. 인트라-코딩이 사용될 경우 임의의 이전 에러들이 사라진다. 통상적으로 인트라-코딩이 항상 사용되는 것은 아니기 때문에, 인트라 블록들이 시간이 지남에 따라 확산된다.
몇몇 예시적인 실시예들에서는, 예를 들어, 새로운 참조 프레임을 사용하는 결정이, 당업자가 알 수 있는 바와 같이, 현재 프레임과 기존의 참조 프레임 간의 차분이 실질적이거나 중요하다고 (예를 들어, 설정된 임계값 또는 한계를 초과) 결정되는 경우에 행해질 수도 있다.
본 발명의 예시적인 실시예들에 따르면, 하나 이상의 참조 프레임(114)이 참조 프레임 생성기(131)에 의해서 생성된다. 참조 프레임 생성기(131)의 인트라 인코더(133)는 디코더(138)에 의해 디코딩되는 하나 이상의 참조 프레임을 인트라 코딩하여 코딩된 인트라 프레임들(135)을 생성하는데 사용된다. 그 다음, 코딩된 인트라 프레임들(135)은 참조 프레임 생성기(131)의 인트라 디코더(137)에 의해서 인트라 디코딩되어 하나 이상의 참조 프레임(114)을 복원한다. 인코딩을 위해 디코딩된 이미지들(예를 들어, 먼저 인트라 인코딩되고 그 후에 인트라 디코딩되는 이미지들)을 사용하고, 또한 디코더 엔드에서 동일한 프로세스를 복제함으로써, 동일하거나 실질적으로 동일한 디코딩된 이미지들이 인코더 엔드에서의 인코딩 및 디코더 엔드에서의 디코딩을 위해 사용될 수 있다. 예를 들어, 이전에 디코딩된 이미지 프레임들을 사용하는 대신에, 재-인코딩된 참조 프레임들의 새롭게 디코딩된 이미지 프레임들이 참조 프레임들로서 사용될 수 있다.
다시 말해서, 프레임 디코더(138)에 의해 디코딩되는 하나 이상의 참조 프레임을 인트라 인코딩하고 후속적으로 인트라 디코딩함으로써, 본 발명의 실시예들에 따른 인코딩/디코딩 시스템은 인코더(110)에 의해 사용되는 하나 이상의 참조 프레임이 디코더(예를 들어, 도 5의 디코더(150))에 의해 사용되는 하나 이상의 참조 프레임과 동일하거나 실질적으로 동일하게 되는 것을 보장한다.
도 5는 본 발명의 예시적인 실시예들에 따른 디코더(또는 비디오 디코더)(150)에서의 비디오 디코딩을 나타내는 개략도이다. 디코더(150)는 엔트로피 디코더(152), 역 양자화기(154), 역 변환기(158), 결합기(162), 예측 프레임 결정기(168) 및 프레임 압축기(180)를 포함한다. 프레임 압축기(180)는 인트라 디코더(182), 프레임 디코더(184), 인트라 인코더(186), 인트라 디코더(188) 및 프레임 버퍼 메모리(170)를 포함한다. 엔트로피 디코더(152), 역 양자화기(154), 역 변환기(158), 결합기(162), 및 예측 프레임 결정기(168) 중 두 개 이상의 것은 여기서 이미지 프레임 생성기(또는 디코딩 프레임 생성기)로서 함께 지칭될 수 있다.
코딩된 데이터(134)가 송신 매체(140)를 통하여 디코더(150)에 제공된다. 송신 매체(140)는 하나 이상의 통신 네트워크를 포함하며, 네트워크의 타입, 네트워크 상의 디바이스들 등과 같은 요인들에 의해 제한되는 대역폭을 가질 수 있다.
엔트로피 디코더(152)는 먼저 코딩된 데이터(134)를 엔트로피-디코딩하여 양자화된 값들(156)을 복원한다. 엔트로피 디코더(152)는 당업자가 인식하는 바와 같이, 도 4의 엔트로피 코더(132)에 의해 사용되는 것과 동일하거나 대응하는 엔트로피 코딩 타입, 방법 및/또는 알고리즘을 사용한다.
역 양자화기(154)는 양자화된 값들(156)을 역-양자화하여 변환 계수들(160)을 복원한다. 그 다음, 역 변환기(158)는 변환 계수들(160)을 변환하여 잔여 프레임(또는 잔여물)(164)을 복원한다. 결합기(162)는 잔여 프레임(164)을 예측된 프레임(166)과 결합하여 결합된 프레임을 생성한다. 결합된 프레임은 예측된 프레임 및/또는 참조 프레임이다.
예측 프레임 결정기(168)는 예측된 프레임들을 생성하기 위해 어떤 프레임 또는 프레임들이 잔여 프레임들(164)과 결합되어야 하는지에 대한 결정을 한다. 인트라-코딩을 사용하여 생성되는 잔여 프레임들의 경우, 결합기(162)에 의해 사용되는 프레임은 플랫 프레임(예를 들어, 0 값 또는 일정/균일한 그레이 값들을 갖는 프레임)일 수 있다. 또한, 인터-코딩을 사용하여 생성되는 잔여 프레임들의 경우, 결합기(162)에 의해 사용되는 프레임은 하나 이상의 참조 프레임일 수 있다.
예시적인 실시예들에 따르면, 인트라 디코더(182)는 프레임 버퍼 메모리(170)에 저장되어 있는 하나 이상의 압축된 참조 프레임(172)을 사용하여 하나 이상의 참조 프레임을 생성한다. 프레임 버퍼 메모리(170)는 하나 이상의 압축된 참조 프레임(172) 및 압축된 프레임(174)을 저장한다. 그 다음, 인트라 디코더(182)로부터의 하나 이상의 참조 프레임이, 예측된 프레임의 결정을 위해, 예측 프레임 결정기(168)에게 송신되거나 예측 프레임 결정기(168)에 의해 수신될 수 있다.
프레임 디코더(184)는 결합기(162)에 의해 생성되는 결합된 프레임(예를 들어, 예측된 프레임 및/또는 참조 프레임)을 디코딩한다. 프레임 디코더(184)의 출력은 압축되지 않은 형태이며, 그 이후에, 프레임 버퍼 압축을 위한 시스템에 의해 사용되는 인트라 인코더(186)(압축기로도 지칭될 수 있음)에 의해 압축된다. 몇몇 실시예들에서는 프레임 디코더(184)가 필요하지 않거나 사용되지 않을 수도 있다. 인트라 인코더(186)는 디코딩되고 결합된 프레임을 인트라 인코딩하여 압축된 프레임(174)을 생성한다. 그 다음, 인트라 디코더(188)는 압축된 프레임(174)을 인트라-디코딩하여 디스플레이될 디스플레이 프레임(190)을 생성한다. 이러한 방식으로, 도 4의 인코더(110)에서의 인코딩을 위해 디코딩된 이미지들(예를 들어, 먼저 인트라 인코딩된 이후에 인트라 디코딩되는 이미지들)을 사용하는 프로세스가 디코더(150)에서 실질적으로 복제됨으로써, 동일하거나 실질적으로 동일한 디코딩된 이미지들이 인코더 엔드에서의 인코딩 및 디코더 엔드에서의 디코딩을 위해 사용될 수 있다.
따라서 본 발명에 따른 예시적인 실시예들에서, 디코더(150)는, 프레임 버퍼 메모리(170)에 저장되는 참조 및 디스플레이 프레임들을 압축하기 위해, 인트라 디코더(182), 프레임 디코더(184), 인트라 인코더(186) 및 인트라 디코더(188)를 포함하는 프레임 압축기(180)를 포함한다. 이러한 방식으로, SRAM을 사용하여 구현될 수 있는 프레임 버퍼 메모리(170)의 크기가 (전체 프레임 이미지들을 저장하는 종래의 디코더들에서의 프레임 버퍼 메모리와 비교하여) 감소되거나 최소화될 수 있다. 예를 들어, 프레임 버퍼 메모리(170)의 압축비는 고정적일 수 있으며, 압축비는 예시적인 실시예들에 따라 2:1, 3:1 또는 4:1일 수 있다.
도 6의 인코더(또는 비디오 인코더)(210)는 본 발명에 따른 하나 이상의 실시예의 특징들을 포함한다. 인코더(210)는 변환 계수 생성기(216), 차분 계산기(220), 비트플레인 스캐너(224), 엔트로피 코더(228), 잔여 디코더(232) 및 계수 압축기(coefficients compressor)(235)를 포함한다. 계수 압축기(235)는 인트라 인코더(236) 및 인트라 디코더(239)를 포함한다.
인코더(210)는 먼저 오리지널 픽셀 프레임(또는 오리지널 프레임)(212)을 수신한다. 변환 계수 생성기(216)는 오리지널 픽셀 프레임(212)을 변환하여 변환 계수들(218)을 생성한다. 따라서 예시적인 실시예들에서, 이 변환은 인코딩 이전의 처음에 적용되고, 디스플레이 직전에 역 변환이 사용된다. 이러한 방식으로, 인코딩이 변환된 도메인에서 행해질 수 있다. 이러한 방식으로, 변환된 도메인에서 디코딩이 또한 행해질 수 있기 때문에, 디코딩이 행해질 시에, 디코딩이 픽셀들에 대하여 완전하게 행해질 필요가 없다. 이러한 방식으로, 재-인코딩된 인트라 계수들(또는 코딩된 인트라 계수들)을 디코더 엔드의 프레임 버퍼 메모리에 저장할 시에, 역 변환이 요구되지 않는다.
차분 계산기(220)는 (인트라 디코더(239)로부터) 변환 계수들(218) 및 디코딩된 계수들(214)을 수신하여 잔여 계수들(222)을 생성한다. 차분 계산기(220)는 변환 계수들(218)과 디코딩된 계수들(214) 간의 차분을 취득하여 잔여 계수들(222)을 생성한다. 따라서 오리지널 픽셀 프레임(또는 이것의 변환 계수들)이 인트라-코딩될 경우, 디코딩된 계수들(214)이 잔여 계수들(222)의 값들에 영향을 주지 않으므로, 잔여 계수들(222)이 변환 계수들(218)과 동일하거나 실질적으로 동일하게 된다.
비트플레인 스캐너(224)는 잔여 계수들(222)을 수신하여 비트플레인들에서의 잔여물(226)을 생성한다. 비트플레인 스캐너(224)는 이미지들에 대응하는 비트플레인들을 생성한다. 예를 들어, 최상위 비트에 대응하는 비트플레인은 전체 이미지에 걸쳐 최상위 비트에 대응하는 1 및 0의 것을 포함하게 된다.
당업자는 숫자(예를 들어, 그레이 레벨)가 통상적으로 이진수 형태로 표현될 수 있다는 것을 인식할 것이다. 예를 들어, 숫자 100은 64, 32 및 4 비트 위치들에서 웨이트(weight)를 갖는 것으로 기록될 수 있다. 따라서 숫자 100은 최상위 비트로부터 최하위 비트까지 1100100로서 7 비트로 기록될 수 있다. 여기서, 이진수의 각 자릿수는 자신의 비트플레인 상에 있는 것으로 간주될 수 있다. 예를 들어, 이진수가 2로 나누어질 경우에는, 비트들의 위치가 오른쪽으로 1만큼 시프트되어서, 6 비트(110010)만이 사용 또는 전송될 수 있으며, 이진수가 4로 나누어질 경우에는, 비트들의 위치가 오른쪽으로 2만큼 시프트되어, 5 비트(11001)만이 사용 또는 전송될 수 있다.
경우에 따라서는 2로 나누는 것이 너무 적을 수 있지만, 4로 나누는 것은 너무 많을 수도 있다. 몇몇 양자화 방법들에서는, JPEG를 사용하는 경우와 같이, 통상적으로 숫자가 더 정확하게 3으로 나누어질 수 있다. 그러나, 비트플레인들이 사용될 경우에는, 2의 제곱값만이 이 나눗셈에 사용될 수 있기 때문에, 3으로 나누는 것이 정확하게 수행될 수가 없다. 여기서, 데이터가 2로 나누어질 경우에는, 비트플레인들을 사용하여 정확한 양자화를 수행할 수가 있다. 그러나, 데이터가 3으로 나누어질 경우에는, 비트플레인들을 사용하여 정확한 양자화를 수행할 수가 없으며, 따라서 4로 나누는 것이 사용될 수 있다. 비트들이 최상위 비트로부터 최하위 비트로의 순서로 전송되기 때문에, 비트플레인들을 사용하는 것이 2의 제곱에 의한 양자화와 동일하므로 양자화 나눗셈은 필요하지 않다. 비트플레인들이 사용되는 경우, 상위 비트들은 전송되지만 하위 비트들은 전송되지 않을 것이어서 무시될 수 있으며, 이것은 데이터 압축의 한 방식이다. 디코더 엔드에서는 누락 비트들(예를 들어, 전송되지 않은 비트들)이 재생성될 수 있다.
다른 예시적인 실시예들에서, 양자화기가 비트플레인 스캐너 대신에 사용되어 잔여 계수들을 양자화하고, 비트 프레인들에서의 잔여물 대신에 양자화된 값들을 생성할 수 있다.
그 다음, 엔트로피 코더(228)는 비트플레인들에서의 잔여물(또는 잔여 비트플레인들)(226)을 엔트로피 코딩하여 코딩된 데이터(230)를 생성한다. 엔트로피 코더(228)는 당업자에게 알려진 임의의 적절한 엔트로피 코딩 타입, 알고리즘 및/또는 방법을 사용할 수 있다. 잔여 디코더(232)는 코딩된 데이터를 수신하여 디코딩된 잔여물(234)을 생성하며, 디코딩된 잔여물(234)은 그 후에 인트라 인코더(236)에서 인트라 인코딩된다. 인트라 인코더(236)는 코딩된 인트라 계수들(238)을 생성하며, 코딩된 인트라 계수들(238)은 그 후에 인트라 디코더(239)에 의해 인트라 디코딩되어 디코딩된 계수들(214)을 생성한다.
도 7의 디코더(또는 비디오 디코더)(250)는 엔트로피 디코더(252), 비트플레인 컨버터(bitplane converter)(256), 결합기(260), 인트라 인코더(264) 및 프레임 버퍼 메모리(270)를 포함한다.
디코더(250)는 송신 매체(240)를 통하여 코딩된 데이터(230)를 수신한다. 송신 매체(240)는 통신 네트워크들 중의 하나 이상을 포함할 수 있으며, 설정된 또는 제한된 대역폭을 가질 수 있다. 엔트로피 디코더(252)는 코딩된 데이터(230)를 디코딩하여 비트플레인들에서의 잔여물(254)을 복원한다. 코딩된 데이터(230)(예를 들어, 도 6의 인코더에서 생성되는 코딩된 데이터(230))를 디코딩하기 위해, 당업자라면 알 수 있는 바와 같이, 엔트로피 디코더(252)는 도 6의 엔트로피 코더(228)와 동일하거나 대응하는 엔트로피 코딩 타입, 방법 및/또는 알고리즘을 사용한다.
비트플레인 컨버터(256)는 비트플레인들에서의 잔여물(254)을 잔여 계수들(258)로 변환한다. 예를 들어, 비트플레인 컨버터(256)는 잔여 비트플레인들에서의 각 픽셀에 대응하는 비트 값들을 결합함으로써 잔여 계수들(258)을 복원한다. 결합기(260)는 잔여 계수들(258)을 코딩된 인트라 계수들(266)과 결합하여 디코딩된 계수들(262)을 생성한다. 인트라 인코더(264)는 디코딩된 계수들(262)을 인트라 인코딩하여 코딩된 인트라 계수들(266)을 생성한다.
코딩된 인트라 계수들(266)은 프레임 버퍼 메모리(270)에 또한 제공되어 거기에 저장된다. 프레임 버퍼 메모리(270)에서, 인트라 디코더(272)는 코딩된 인트라 계수들(266)을 인트라-디코딩한다. 그 다음, 디코딩된 인트라 계수들이 역 변환기(274)에 제공되어 디스플레이 프레임(290)을 생성한다. 전체 프레임들이 아니라, 압축된 코딩 인트라 계수들을 프레임 버퍼 메모리(270)에 저장함으로써, 디코더(250)가 필요로 하는 메모리(예를 들어, SRAM)의 양은 전체 프레임 이미지들을 저장하는 종래의 디코더들과 비교하여 최소화되거나 감소될 수 있다. 또한, 역 변환이 디스플레이 직전에 한번 수행되어 디스플레이 프레임(290)을 생성할 수가 있다.
본 발명이 예시적인 실시예들을 참조하여 설명되었지만, 당업자라면 본 발명의 사상 및 범위를 벗어나지 않고 설명된 실시예들에 대한 다양한 변경 및 수정이 수행될 수 있음을 인식할 것이다. 또한, 다양한 기술 분야의 당업자는 여기에 설명된 본 발명이 다른 응용들에 대한 다른 작업들 및 적응들에 대한 해결책을 제안함을 인식할 것이다. 본 출원인의 의도는 본 발명의 사상 및 범위를 벗어나지 않는 모든, 본 명세서의 청구범위, 본 발명의 모든 그러한 용도, 그리고 여기서 개시의 목적으로 선택된 본 발명의 예시적인 실시예들에 대해 행해질 수 있는 변경 및 수정에 의해 포괄하는 것이다. 따라서 본 발명의 예시적인 실시예들은 모든 면에서 제한이 아닌 설명적인 것으로서 고려되어야 하며, 본 발명의 사상 및 범위는 첨부된 청구범위 및 그 균등물에 의해 나타난다. 또한, 당업자는 본 발명의 하나 이상의 실시예에 따른 하나 이상의 특징이, 본 발명의 사상 및 범위를 벗어나지 않고, 본 발명의 하나 이상의 다른 실시예에 따른 하나 이상의 다른 특징과 결합될 수 있다는 것을 이해할 것이다.

Claims (20)

  1. 오리지널 프레임 및 하나 이상의 참조 프레임을 수신하며, 상기 오리지널 프레임 및 상기 하나 이상의 참조 프레임을 이용하여 코딩된 데이터를 생성하는 코딩 데이터 생성기, 그리고
    하나 이상의 디코딩된 프레임을 수신하며, 상기 하나 이상의 디코딩된 프레임을 압축 및 압축 해제하여 상기 코딩 데이터 생성기에게 상기 하나 이상의 참조 프레임으로서 제공하는 참조 프레임 생성기
    를 포함하는 비디오 인코더.
  2. 제1항에 있어서,
    상기 하나 이상의 디코딩된 프레임을 압축 및 압축 해제하는 것은 상기 하나 이상의 디코딩된 프레임을 인트라 인코딩(intra encoding) 및 인트라 디코딩(intra decoding)하는 것을 포함하는 비디오 인코더.
  3. 제1항에 있어서,
    상기 참조 프레임 생성기는 상기 하나 이상의 디코딩된 프레임을 인코딩하는 인트라 인코더, 그리고 상기 인트라 인코더에 의해 인코딩된 상기 하나 이상의 디코딩된 프레임들을 디코딩하는 인트라 디코더(intra decoder)를 포함하는 비디오 인코더.
  4. 제1항에 있어서,
    상기 압축 및 압축 해제되는 하나 이상의 디코딩된 프레임은 예측된 프레임 및 상기 하나 이상의 참조 프레임 모두로서 이용되는 비디오 인코더.
  5. 제1항에 있어서,
    상기 코딩 데이터 생성기는 상기 오리지널 프레임을 수신하여, 상기 오리지널 프레임과 예측된 프레임 사이의 차분을 계산하는 대신에, 잔여 계수들을 생성하는 변환 계수 생성기를 포함하는 비디오 인코더.
  6. 제5항에 있어서,
    상기 코딩 데이터 생성기는 상기 잔여 계수들의 양자화된 값들을 생성하는 양자화기 또는 상기 잔여 계수들의 비트플레인들을 생성하는 비트플레인 스캐너(bitplane scanner)를 더 포함하는 비디오 인코더.
  7. 제1항에 있어서,
    상기 코딩 데이터 생성기는 상기 오리지널 프레임에 대응하는 변환 계수들을 생성하는 변환 계수 생성기, 그리고 상기 변환 계수들의 양자화된 값들을 생성하는 양자화기와 상기 변환 계수들의 비트플레인들을 생성하는 비트플레인 스캐너 중 적어도 하나를 포함하는 비디오 인코더.
  8. 제1항에 있어서,
    상기 비디오 인코더는 전체 화면을 인트라-코딩된 블록들로 주기적으로 리프레시하는 비디오 인코더.
  9. 코딩된 데이터를 수신하며, 상기 코딩된 데이터를 사용하여 이미지 프레임을 생성하는 이미지 프레임 생성기, 그리고
    상기 이미지 프레임을 수신하며, 상기 이미지 프레임을 압축 및 압축 해제하여 디스플레이 프레임을 생성하는 비디오 압축기
    를 포함하는 비디오 디코더.
  10. 제9항에 있어서,
    압축된 프레임들을 저장하는 프레임 버퍼 메모리를 더 포함하며, 상기 프레임 버퍼 메모리의 크기는 상기 압축된 프레임들의 수와 같은 프레임들의 수를 저장하기 위해 필요한 것보다 작은 비디오 디코더.
  11. 제9항에 있어서,
    상기 비디오 압축기는 상기 이미지 프레임을 압축하는 인트라 인코더, 그리고 상기 압축된 이미지 프레임을 압축 해제하는 인트라 디코더를 포함하는 비디오 디코더.
  12. 제11항에 있어서,
    상기 압축된 이미지 프레임 및 압축된 참조 프레임을 저장하는 프레임 버퍼 메모리를 더 포함하는 비디오 디코더.
  13. 제9항에 있어서,
    비트플레인들에서의 잔여물을 잔여 계수들로 변환하는 비트플레인 컨버터를 더 포함하는 비디오 디코더.
  14. 제13항에 있어서,
    코딩된 인트라 계수들을 수신하며, 상기 코딩된 인트라 계수들을 사용하여 디스플레이 프레임을 생성하는 프레임 버퍼 메모리를 더 포함하는 비디오 디코더.
  15. 제14항에 있어서,
    상기 프레임 버퍼 메모리는 상기 코딩된 인트라 계수들을 디코딩하는 인트라 디코더, 그리고 상기 디코딩된 인트라 계수들을 이용하여 상기 디스플레이 프레임을 생성하는 역 변환기를 포함하는, 비디오 디코더.
  16. 인코딩하기 전에 오리지널 픽셀 프레임을 변환하여 변환 계수들을 생성하는 인코더, 그리고
    디스플레이하기 바로 전에 디코딩된 계수들을 역 변환하여 디스플레이 프레임을 생성하는 디코더
    를 포함하는 비디오 디스플레이 시스템.
  17. 제16항에 있어서,
    상기 인코더는 디코딩된 잔여 계수들을 수신하며 디코딩된 계수들을 생성하는 계수 압축기를 포함하는 비디오 디스플레이 시스템.
  18. 제17항에 있어서,
    상기 계수 압축기는 상기 디코딩된 잔여 계수들을 인코딩하여 코딩된 인트라 계수들을 생성하는 인트라 인코더, 그리고 상기 코딩된 인트라 계수들을 디코딩하여 상기 디코딩된 계수들을 생성하는 인트라 디코더를 포함하는 비디오 디스플레이 시스템.
  19. 제18항에 있어서,
    상기 디코더는 상기 디코딩된 계수들을 저장하는 메모리를 포함하는 비디오 디스플레이 시스템.
  20. 제19항에 있어서,
    상기 메모리는 코딩된 인트라 계수들을 수신하며 상기 코딩된 인트라 계수들을 디코딩하여 상기 디코딩된 계수들을 생성하는 인트라 디코더, 그리고 상기 디코딩된 계수들을 수신하며 상기 디코딩된 계수들을 역 변환하여 상기 디스플레이 프레임을 생성하는 역 변환기를 포함하는 비디오 디스플레이 시스템.
KR1020160166732A 2015-12-08 2016-12-08 비디오 인코더. 비디오 디코더 및 비디오 디스플레이 시스템 KR20170068396A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201562264757P 2015-12-08 2015-12-08
US62/264,757 2015-12-08
US15/344,444 2016-11-04
US15/344,444 US20170163988A1 (en) 2015-12-08 2016-11-04 Systems and method of using compressed reference frames in video codecs

Publications (1)

Publication Number Publication Date
KR20170068396A true KR20170068396A (ko) 2017-06-19

Family

ID=58798642

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160166732A KR20170068396A (ko) 2015-12-08 2016-12-08 비디오 인코더. 비디오 디코더 및 비디오 디스플레이 시스템

Country Status (2)

Country Link
US (1) US20170163988A1 (ko)
KR (1) KR20170068396A (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110149514B (zh) * 2019-05-31 2023-05-05 上海联影医疗科技股份有限公司 扫描数据的压缩方法、装置、采集***及医学成像***
EP3751852A1 (en) * 2019-06-12 2020-12-16 intoPIX s.a. Encoder and method of encoding a sequence of frames
JP7359653B2 (ja) * 2019-11-06 2023-10-11 ルネサスエレクトロニクス株式会社 動画像符号化装置
US11949920B2 (en) * 2021-10-20 2024-04-02 Mediatek Inc. Method and apparatus for contorlling coefficient transmission by early determining whether to decode information that inverse transform needs

Also Published As

Publication number Publication date
US20170163988A1 (en) 2017-06-08

Similar Documents

Publication Publication Date Title
US11792440B2 (en) Temporal signalling for video coding technology
US11765390B2 (en) Non-transform coding
EP1768415A1 (en) Adaptive scan order of DCT coefficients and its signaling
KR20180069818A (ko) 넌-4:4:4 크로마 서브-샘플링의 디스플레이 스트림 압축 (dsc) 을 위한 엔트로피 코딩 기법들
KR20130070574A (ko) 메모리 요건을 완화한 영상 전송 시스템
KR20170068396A (ko) 비디오 인코더. 비디오 디코더 및 비디오 디스플레이 시스템
US11627321B2 (en) Adaptive coding of prediction modes using probability distributions
US20140294073A1 (en) Apparatus and method of providing recompression of video
KR20090113103A (ko) 영상의 복호화 방법 및 장치
JP2022031120A (ja) 映像圧縮および格納システムと映像圧縮および解凍方法
CN104581173A (zh) 软解码验证模型平台
KR20100089546A (ko) 단계적인 영상 부호화, 복호화 방법 및 장치
KR100598093B1 (ko) 낮은 메모리 대역폭을 갖는 동영상 압축 장치와 그 방법
KR20080004855A (ko) 문맥 기반 적응적 가변 길이 부호화 인코더 및 디코더,문맥 기반 적응성 가변 길이 부호화하는 방법과 복호화하는방법 및 이를 이용한 동영상 전송 시스템.
KR100670495B1 (ko) 동영상 압축 부호화 장치 및 방법
KR100656645B1 (ko) 동영상 부호화 장치와 방법
Chujoh Tool Experiment 2 on IBDI and memory compression
US11736731B2 (en) Encoding and decoding a sequence of pictures
EP1750452B1 (en) Apparatus for intra coding video data
JP2006270392A (ja) 画像予測符号化装置
KR20040092522A (ko) 차영상을 사용한 동영상 압축 및 복원 시스템
KR20060034269A (ko) 낮은 메모리 대역폭을 갖는 동영상 압축 장치와 그 방법
KR20040031869A (ko) 동영상 부호화기 및 이를 이용한 부호화 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal