KR101368094B1 - 시각적 무손실 비디오 데이터 압축 - Google Patents

시각적 무손실 비디오 데이터 압축 Download PDF

Info

Publication number
KR101368094B1
KR101368094B1 KR1020080129181A KR20080129181A KR101368094B1 KR 101368094 B1 KR101368094 B1 KR 101368094B1 KR 1020080129181 A KR1020080129181 A KR 1020080129181A KR 20080129181 A KR20080129181 A KR 20080129181A KR 101368094 B1 KR101368094 B1 KR 101368094B1
Authority
KR
South Korea
Prior art keywords
compression
video data
video
block
compressed
Prior art date
Application number
KR1020080129181A
Other languages
English (en)
Other versions
KR20090067067A (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 KR20090067067A publication Critical patent/KR20090067067A/ko
Application granted granted Critical
Publication of KR101368094B1 publication Critical patent/KR101368094B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of 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/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/186Methods 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 colour or a chrominance component
    • 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/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

Abstract

메모리에 저장하기 전에 YUV(또는 YCrCb) 비디오 압축을 수행하고 메모리로부터 블록을 검색할 때 복원을 수행하는 장치 및 방법이 개시된다. 루마 및 크로마 압축 기여분이 각 서브블록마다 다를지라도 비디오 데이터를 희망하는 전체 압축 비율 R로 압축하는 양자화기를 사용하여 압축되며, 각 압축 기여분은 텍스쳐 추정에 따라서 선택되는 것이 바람직하다. 이러한 선택은 압축하는 동안 각 서브블록마다 선형 또는 비선형 양자화를 수행하기 위해 이루어진다. 상기 압축은 압축되는 블록 이외의 블록의 데이터를 이용하지 않고 수행되며, 비디오 블록은 임의의 희망하는 순서로 검색되고 복원될 수 있다. 일 구현 예에서, 인코더는 메모리로부터 블록을 비순차적으로 선택하고, 복원하고 인코드한다. 상기 압축은 본 발명을 일탈하지 않는 다수의 상이한 비디오 전송 및 저장 응용예에서 유익하게 활용될 수 있다.
비디오 압축, 비디오 복원, 선형/비선형 양자화, 루마 압축, 크로마 압축, 서브블록

Description

시각적 무손실 비디오 데이터 압축{VISUALLY LOSSLESS VIDEO DATA COMPRESSION}
관련 출원의 전후 참조
본 출원은 2007년 12월 19일 출원한 미국 가출원 제61/015,174호의 우선권을 주장하며, 그 전체 내용이 본 명세서에서 참조문헌으로 인용된다.
연방 지원 연구 또는 개발에 관한 설명
적용되지 않음
컴팩트 디스크로 제출한 제출물의 참조문헌으로의 인용
적용되지 않음
저작권 보호를 받는 보호물의 표시
보호받음
본 특허 명세서의 일부 내용은 미국 및 타국의 저작권법 하에서 저작권 보호를 받는다. 저작권 소유자는 이것이 미국 특허 상표청에서 일반대중에게 입수가능한 파일 또는 기록물이라면 특허 명세서 또는 특허 개시물 중 어느 것에 의한 복사 재생에는 이의없지만, 그러하지 않고는 모든 저작권은 무엇이든 보호된다. 저작권자는 이로써 37 C.F.R. §1.14에 의거한 권리를 제한하지 않음을 포함하여, 본 특 허 명세서를 비밀로 유지하는 어떠한 권리도 철회하지 않는다.
본 발명은 일반적으로 비디오 처리에 관한 것으로, 특히 비디오 메모리 내에 있는 비디오를 인코딩 또는 출력하기 전의 비디오의 압축 및 복원에 관한 것이다.
전형적인 비디오 아키텍쳐는 비디오 데이터를 전처리한 다음 전형적으로 외부 버스를 통하여 액세스되는 비디오 프레임 메모리에 저장하도록 구현된다. 그런 다음, 비디오 데이터는 인코딩 프로세스 동안 및/또는 출력을 위해 비디오 메모리로부터 검색된다. 버스를 통한 인코더와 비디오 메모리 간의 데이터 전송량은 매우 클 수 있으므로, 큰 용량의 비디오 메모리를 필요로 하고, 큰 메모리 버스 대역폭을 요하며, 결과적으로 큰 전력 소모에 이르게 한다.
도 1은 통상의 비디오 카메라 또는 정지 화상 카메라 아키텍쳐를 도시한다. CCD 또는 CMOS 센서와 같은 입력 장치에 의해 획득된 입력 비디오는 전처리 된 후 외부 메모리에 저장된다. 일반적으로 전처리 과정은 잡음 저감과 RGB(적, 녹, 청)로부터 YUV(하나의 루미넌스 Y, 두개의 크로미넌스 U+V)로의 비디오 데이터 변환을 포함한다. 그런 다음 비디오 인코더 또는 디스플레이 장치와 같은 다른 처리 장치가 비디오 데이터를 비디오 메모리로부터 판독한다.
대체로 비디오 데이터의 양은 크기 때문에, 외부 버스를 통한 비디오 데이터 전송에 필요한 버스 대역폭은 상당히 크다. 특히 HD(고선명) 비디오 응용예와 관련하여, 필요한 버스 대역폭은 광대하며, 이 경우 대역폭 비용뿐만 아니라 전력 소모가 매우 커서 저가의 이미지/비디오 시스템을 구현하기 어렵다.
비디오 카메라 시스템에서 또 다른 기술적인 과제는 필요한 메모리 크기에 관한 것이다. 대부분의 비디오 장치는 SoC(시스템 온 칩)으로 구현된다. 일반적으로, (SDRAM과 같은) 외부 메모리의 비용은 대체로 다른 장치보다 높다. 그러므로, 필요한 메모리 크기를 줄이면 전체 시스템 비용이 줄어든다.
따라서, 비디오 데이터 스트림을 위한, 특히 비디오 인코딩 프로세스 전에 수행될 때, 필요한 저장 대역폭 및 메모리를 줄이는 방법이 필요하다. 본 발명은 전술한 필요뿐만 아니라 다른 필요를 성취하고 종래의 해법에서의 제한을 극복한다.
YUV 비디오 데이터 압축/복원 방법을 이용하는 시각적으로 손실 없는 비디오 데이터 압축을 위한 장치 및 방법이 개시된다. 간략성을 위하여, 본 명세서에서 YUV 비디오라는 용어가 사용될 것이지만, YCrCb 비디오, 또는 다른 유사한 인코딩도 본 명세서의 가르침과 본 명세서에서 청구한 특허청구범위에 동일하게 적용가능하다는 것을 인식하여야 한다. 비디오 입력은 각 프레임을 각 컴포넌트 당 소정 개수의 픽셀(예컨대, Y 당 N 픽셀; U, V 당 M 픽셀)을 갖는 압축된 블록들의 집합으로 분할함으로써 압축된다. 압축 블록은 다른 압축 블록과 겹치지 않으며 따라서 다른 압축 블록으로부터의 정보를 참조할 필요없이 서로 독립적으로 처리 될 수 있으며, 여기서 상기 비디오 데이터는 랜덤하게 액세스될 수 있고, 특히 비디오 인코더에서 사용하기에 매우 적합하다. 그 결과, 압축된 블록의 크기가 더 작기 때문에, 압축 블록을 메모리에 저장하는데 필요한 메모리 스토리지와 버스 대역폭이 더 작아진다. 그 다음, 압축된 비디오 데이터는 임의의 희망 순서로(예를 들어, 비순차적으로) 예컨대 인코더에 의해 메모리로부터 검색되고 복원되며, 및/또는 덜 바람직하게는 디스플레이에 출력된다. 복원은 데이터를 그의 원래 포맷으로 복구하는 것으로, 복원된 데이터를 이용하는 장치 또는 응용예는 데이터가 과거에 압축되었다는 사실을 인식할 필요는 없다.
압축하기 전에 최적의 압축 레벨 및 모드가 결정될 수 있도록 복잡도 추정이 수행되는 것이 바람직하다.
압축 동안, 이전의 픽셀에 근거하여 현재 픽셀값을 예측하는 예측이 이루어지고, 그런 다음 서브블록 사이징(sizing)이 결정되며 서브블록으로 분할된다. 그런 다음, 예컨대, 바람직하게는 각 서브블록마다 양자화의 타입(예를 들어, 선형 또는 비선형)이 결정된다. 비선형 양자화의 경우, 본 발명의 양태는 양자화 파라미터(QP)를 추정하며, QP의 모든 가능한 값이 탐색될 필요가 없다. 그런 다음 전술한 결정에 근거하여 양자화가 수행되고, 최종적으로 압축된 데이터의 서브블록이 블록으로 형성된다. 압축 동안, 본 발명의 일 양태는 크로마(chroma) 압축을 먼저 수행하는데, 여기서 크로마 압축으로부터의 정보가 입수가능하며 루마(luma) 압축 동안 사용된다. 본 발명의 양태는 비디오 데이터의 복잡도 및 유효 비트 수에 따라서 상이한 압축 레벨을 선택한다. 압축된 루마 및 크로마는 최종적으로 압축된 블록으로 결합된다.
양자화의 타입 및 레벨은 데이터의 복잡도에 따라서 결정되기 때문에, 복원 시에 (비록 원래 비디오 데이터와 정확히 일치하지 않을지라도) 압축된 비디오 데이터는 여전히 보는 사람에게 시각적으로 손실없는 것처럼 보인다. 따라서, 본 발명의 장치 및 방법은 메모리 요구조건이 줄어들고 대역폭이 줄어든 채로 동작하면서 시각적으로 손실없이 원하는 품질의 출력을 생성한다.
버스 대역폭 및/또는 메모리 크기를 줄이는 목적은 앞에서 예를 들어 제시된 바이다. 압축 방법의 응용예는 그러한 특정한 응용예에서의 이득으로 국한되지 않고, 비디오 데이터 압축을 요하는 어떤 다른 응용예, 예를 들어 압축된 비디오 데이터를 복원하기 전에 네트워크를 통하여 전송하는 응용예, 또는 압축된 비디오 데이터를 복원하기 전에 어떤 다른 매체 장치, 이를 테면 하드 디스크 또는 메모리에 저장하는 응용예에서 이득을 제공하는데 적용될 수 있다.
본 발명은 다음의 설명으로 한정하는 것은 아니지만 다음의 설명을 포함하는 다수의 방식으로 구체화되는 것으로 변경가능하다.
본 발명의 구현예는 비디오 픽셀 데이터를 하나 이상의 비디오 모듈과 통신하도록 구성된 비디오 메모리 장치이며, 상기 비디오 모듈은: (a) 신호 버스를 통하여 상기 비디오 메모리와 결합된 비디오 압축 모듈로서, 상기 비디오 압축 모듈은 (a)(i) 각 블록 외부의 픽셀로부터 생성된 픽셀 데이터를 이용하지 않고, 양자화기를 사용하여 루미넌스 및 크로미넌스 YUV 입력 비디오 데이터를 픽셀 당 비트 수가 줄어든 압축된 비디오 데이터로 압축하고, (a)(ii) 상기 압축된 비디오 데이터를 상기 비디오 메모리에 저장하도록 구성되며, 및 (b) 상기 압축된 비디오 데이 터의 블록을 임의의 순서로 검색하고 상기 비디오 메모리에 저장된 상기 압축된 비디오 데이터를 상기 비디오 압축 모듈에 의해 수신되고 압축되었던 원래 비디오 데이터와 포맷이 동일하고 상기 원래 비디오 데이터에 근사한 복원된 비디오 데이터로 복원하고 또한 상기 복원된 비디오 데이터를 출력하도록 구성된 비디오 복원 모듈을 포함한다.
비디오 장치에서, 압축은 블록 압축의 정도를 조절하고 비율적으로, 또는 결과 블록에 포함된 비트 수로 표현될 수 있는 전체 압축 비율 R에 따라서 수행되는 것이 바람직하다. 적어도 바람직한 일 실시예에서, 루마 및 크로마의 압축 레벨은 전체 압축 비율 R을 유지하면서 동일하게 또는 다르게 선택된다. 적어도 하나의 바람직한 모드에 있어서, 크로마의 복잡도 레벨이 높지 않다면, 장치에 의해 압축의 정도가 선택되어 크로마에서 비트를 최소한으로 사용하면서, 루마에서 비트를 최적으로 사용한다.
비디오 장치의 적어도 일 구현예에서, 압축하기 전에 압축 블록들의 텍스쳐 복잡도가 추정된다. 압축 공간을 각 블록 내 루마 및 크로마에 할당하는 것, 이를 테면 압축된 블록 내 루마 및 크로마에 비트 수를 할당하는 것은 텍스쳐 복잡도를 추정하는 프로세스에 따라서 결정된다.
적어도 하나의 구현 예에서, 루마 및 크로마 정보는 압축된 비디오 데이터 블록으로 결합되는데, 상기 압축된 비디오 데이터 블록은 압축된 블록의 크기를 일정하게 유지하기 위하여 패딩 비트로 패딩되는 것이 바람직하다.
본 장치의 적어도 하나의 구성에서, 소정 블록의 루마 압축은 그와 동일한 블록의 크로마 압축 프로세스 동안 결정된 정보를 이용한다. 본 발명의 적어도 하나의 모드에서, 비디오 압축은, 예를 들어 선형 및 비선형 양자화의 조합 중에서 비선형 양자화를 이용하여 수행된다. 바람직한 구현예에서, 비선형 양자화를 수행할 때 상이한 정밀도의 양자화 스텝 크기가 이용된다.
본 발명의 적어도 하나의 모드에서, 압축 동안 픽셀 예측이 수행된다. 픽셀 예측은 희망하는 대로 병렬로 처리될 수 있는 우측 및 좌측 예측 방향이 규정된 블록의 중앙에서 선택된 초기 기준 픽셀에서 시작한다. 중앙의 (또는 중앙에 가까운) 픽셀을 예측을 시작하는 픽셀로 선택함으로써, 기준 픽셀은 우측 및 좌측의 예측 방향에서 여전히 그대로 존재한다는 것이 인식될 것이다. 픽셀값의 예측은 이전 픽셀값에 근거하여 현재 픽셀값을 예측함으로써 수행되며, 그 동안 두 방향의 예측은 독립적이므로, 우측 및 좌측 방향의 예측 프로세스가 병렬로 수행되어 필요한 처리 시간이 줄어든다.
적어도 하나의 구현예에서, 희망하는 구성에 따라서 서브블록 분할이 수행된다. 서브블록 분할을 결정하기 위하여, 가능한 서브블록 구성의 적어도 일부에 대하여 서브블록 비용값이 먼저 계산되고, 그 이후 비용이 소정의 비용 임계값, 및/또는 압축된 블록 내에서 유효한 비트 수를 초과하는 서브블록 구성은 폐기된다.
본 발명의 적어도 하나의 실시예에서, 본 장치에 입력되는 입력 비디오 데이터는 예컨대 비디오 카메라 또는 스틸 카메라, 또는 다른 이미징 장치 내에 일체화될 수 있는 이미지 센서로부터 수신된다. 입력 비디오 데이터의 포맷은 루미넌스 및 크로미넌스 정보 둘 다를 포함하도록 구성된다.
본 발명의 적어도 하나의 목적에서, 이를 테면, 전형적으로 비순차적인 (예컨대, 블록 번호 순서가 아닌) 인코더 특정 방식대로 메모리로부터 검색된 블록들을 인코딩하기 전에 수행된 YUV 비디오 데이터 전처리의 형태로서 이용된 압축 및 복원은 버스 대역폭 및/또는 비디오 메모리 요건을 줄이는 방향으로 수행된다. 대안으로, 또는 부가적으로, 본 발명에 따른 압축 및 복원은 압축된 비디오 데이터를 네트워크를 통해 전송한 다음 복원할 때, 또는 비디오 데이터를 매체 장치에 저장한 다음 복원하기 위해 실시될 수 있다.
본 발명의 일 실시예는 YUV 비디오 데이터를 인코딩하는 비디오 인코더 장치이며, 비디오 인코더 장치는: (a) 비디오 픽셀 데이터를 하나 이상의 비디오 모듈과 통신하도록 구성된 비디오 메모리; (b) 신호 버스를 통하여 상기 비디오 메모리와 결합된 비디오 압축 모듈로서, 상기 비디오 압축 모듈은 (b)(i) 다른 블록으로부터 생성된 데이터를 참조하지 않고, 양자화기를 사용하여 루미넌스 및 크로미넌스 YUV 입력 비디오 데이터를 픽셀 당 비트 수가 줄어든 압축된 비디오 데이터로 압축하고; (b)(ii) 상기 압축된 비디오 데이터를 상기 비디오 메모리에 저장하도록 구성되며; (c) 임의의 희망하는 순서로 비디오 메모리로부터 블록을 검색하고 압축된 비디오 데이터를 상기 비디오 압축 모듈에 의해 수신되고 압축되었던 원래 비디오 데이터와 포맷이 동일하고 상기 원래 비디오 데이터에 근사한 복원된 비디오 데이터로 복원하도록 구성되며; 및 (d) 상기 메모리로부터 비디오 데이터 블록을 비순차적으로 선택하고 상기 복원된 비디오 데이터를 수신 및 인코드하는 인코딩 모듈을 포함한다.
본 발명의 일 실시예는 YUV 비디오 데이터를 압축 및 복원하는 방법으로, 상기 방법은, (a) 입력 비디오 데이터를 양자화기를 사용하여 압축 비율 R에 의해 비디오 데이터의 각 블록마다 루마 및/또는 크로마의 비트 수가 줄어든 압축된 비디오 데이터 블록으로 압축하는 단계; (b) 상기 입력 비디오 데이터는 압축되는 블록 외부의 픽셀의 데이터를 이용하지 않고 압축되며; (c) 상기 압축된 비디오 데이터를 비디오 메모리에 저장하는 단계; 및 (d) 상기 비디오 데이터 블록들 중에서 순차적 또는 비순차적 순서대로 선택된 임의의 블록의 압축된 비디오 데이터를 복원하여, 복원된 비디오 데이터 출력을 생성하는 단계를 포함한다. 일 구현 예에서, 압축 및 복원은 비디오 데이터의 인코딩 프로세스와 조합하여 수행되며, 비디오 데이터의 블록은 본 발명에 따라서 메모리로부터 비순차적으로 선택되고, 복원되며 인코딩을 위해 수신된다.
본 발명의 일 실시예는 YUV 비디오 데이터를 압축 및 복원하는 방법이며, 상기 방법은, (a) 입력 비디오 데이터를 양자화기를 사용하여 압축 비율 R에 의해 비디오 데이터의 각 블록마다 루마 및/또는 크로마의 비트 수가 줄어든 압축된 비디오 데이터 블록으로 압축하는 단계; (b) 상기 압축은 압축되는 각 블록 외부의 픽셀의 데이터를 이용하지 않고 비디오의 각 블록에 대해 수행되고; (c) 상기 압축이 수행되는 소정 블록 내 각 서브블록마다 선형 또는 비선형 양자화를 선택하는 단계; (d) 상기 압축된 비디오 데이터를 비디오 메모리에 저장하는 단계; 및 (e) 임의의 순서로 선택되어 비디오 메모리로부터 검색되는, 상기 비디오 데이터 블록 중 임의의 블록의 압축된 비디오 데이터를 복원하여, 복원된 비디오 데이터 출력을 생 성하는 단계를 포함한다.
본 발명의 일 실시예는 YUV 비디오 데이터를 압축 및 복원하는 방법이며, 상기 방법은, (a) 입력 비디오 데이터를 양자화기를 사용하여 압축 비율 R에 의해 비디오 데이터의 각 블록의 루마 및/또는 크로마의 비트 수가 줄어든 압축된 비디오 데이터 블록으로 압축하는 단계; (b) 상기 압축은 압축되는 상기 블록 이외 블록의 데이터를 이용하지 않고 상기 비디오 데이터 블록들에 대해 수행되고; (c) 루마 텍스쳐 복잡도 및 크로마 텍스쳐 복잡도를 추정하는 단계; (d) 전체 압축 비율 R을 유지하면서 루마 및 크로마의 압축 레벨을 동일하게 또는 다르게 선택하는 단계; (e) 블록에서 검출된 특성에 따라 압축이 수행될 소정 블록 내 각 서브블록마다 선형 또는 비선형 양자화를 선택하는 단계; (f) 압축 동안, 상기 루마 압축 프로세스는 동일 블록의 상기 크로마 압축 프로세스로부터의 정보를 이용하며; (g) 상기 압축된 비디오 데이터를 비디오 메모리에 저장하는 단계; (h) 상기 비디오 데이터의 블록을 상기 압축된 비디오 데이터를 저장하는 상기 단계에 후속하여 임의의 시간에 임의의 희망하는 순서로 비디오 메모리로부터 검색하는 단계; 및 (i) 상기 검색된 블록의 상기 압축된 비디오 데이터를 복원하여 복원된 비디오 데이터 출력을 생성하는 단계를 포함한다.
본 발명은 본 발명의 가르침을 일탈하지 않고 개별적으로 또는 임의의 희망하는 조합으로 구현될 수 있는 다수의 유익한 양태를 제공한다.
본 발명의 양태는 YUV 비디오 데이터 블록의 압축 및 복원을 위한 장치 및 방법을 포함한다.
본 발명의 또 다른 양태는 각 압축된 블록이 다른 압축된 블록들과 겹치지 않으며, 각 압축 블록이 다른 블록들로부터의 정보를 참조하지 않고 독립적으로 압축된다는 것이다.
본 발명의 또 다른 양태는, 만일 압축 후 압축된 정보의 비트 수가 희망하는 압축 비율 (R)에 적합한 타겟 비트보다 적다면, 비트 수가 그대로 유지되도록 전체 출력 비트를 희망하는 수까지 확장하는 패딩 비트가 사용된다. 각 압축 블록의 생성된 비트의 크기는 일정하기 때문에, 어떤 위치에서든지 다른 블록 내 정보를 참조하지 않고도 압축된 블록이 액세스되고 복원될 수 있다. 그러므로, 본 발명의 제안된 방법을 사용하면, 예컨대 프레임 내 임의의 영역을 비디오 처리, 또는 인코딩하기 위해 액세스할 필요가 있는 경우, 비디오 데이터로의 액세스가 용이하게 수행될 수 있으며 또한 비디오 내 랜덤한 위치로부터 비디오 블록이 용이하게 복원될 수 있다.
본 발명의 또 다른 양태는 루마 데이터가 크로마 압축의 결과로서 결정된 정보를 이용하여 압축된다는 것이다. 본 방법에서 크로마는 본 발명에 따라서 먼저 압축된다. 크로마 압축 후, 적어도 일부분의 정보는 루마 압축에 대비하여 루마 모듈로 전송된다. 상기 정보 비트는 압축 후 임의의 희망하는 기간 동안 또는 임의의 희망하는 비트 수로 계속 유지될 수 있다. 루마 압축은 압축 시 상기 정보를 이용한다. 마지막으로, 상기 압축된 루마 및 크로마 데이터는 하나의 압축된 블록으로 형성된다. 데이터 크기는 타겟 압축 비율로 특정된 범위 내에 들도록 보장된다.
본 발명의 또 다른 양태는 압축 전에, 루마 및 크로마 압축 블록의 텍스쳐 복잡도가 먼저 추정되는 것이다. 각 (루마 및 크로마) 압축 모듈은 상이한 레벨(정도)(예컨대, 약, 중, 또는 강)의 압축을 자동으로 제공한다. 압축의 정도는 텍스쳐 복잡도에 근거하여 결정되며, 이 경우에는 압축된 블록 내 루마 및 크로마 필드에 다수의 비트가 할당된다.
본 발명의 또 다른 양태는 비디오 블록이 압축되는 전체 범위를 조절하는 전체 압축 비율 R을 이용하는 것이다. R의 값은 소정 블록의 비율(입력 비트의 수/출력 비트의 수)로서 예시된다. 비율 R이 2이면, 압축된 블록은 원래 데이터에 의해 이용된 비트 수의 절반을 갖고 있다는 것을 의미한다. 그러나, 압축은 임의의 희망하는 형태로, 이를 테면 임의의 비율 지정 형태로, 또는 비디오 출력의 블록 당 소정 개수의 비트를 선택하는 것과 관련하여 표현될 수 있음을 인식하여야 한다.
본 발명의 또 다른 양태는 Y, U 및 V가 압축되면서 전체 압축 비율 R을 유지하는 정도를 선택하게 해주는 것이다. 이것은 크로마와 루마 간의 압축 비율이 다름으로 인해 비트를 할당하는 것이 가능하므로, 개개의 압축 블록의 Y, U 및 V 전체에 걸쳐 압축 비율이 일정하다는 것을 의미하지 않음을 알아야 한다.
본 발명의 또 다른 양태는 전체 압축 비율 R을 유지하면서 루마와 크로마 간의 최상의 압축 비율을 자동으로 결정하는 프로세스이다. 개괄적으로 말해서, 사람의 눈은 크로마에서 발생한 신호 잡음보다 루마에서 발생한 신호 잡음에 더욱 민감하다. 그러므로, 바람직한 비트 할당 전략은 크로마에서 비트 사용을 최소화하 고 루마에서 비트 사용을 최대화한다. 그러나, 크로마가 소정 레벨의 복잡도를 갖는 것으로 발견될 때, 특히, 매우 복잡한 것으로 발견될 때, 본 발명의 적어도 일 실시예는 시각적인 아티팩트(artifacts)가 발생하는 것을 방지하기 위하여 크로마에서 충분한 수의 비트가 사용되게 한다. 이로써 루마 및 크로마 텍스쳐 복잡도에 관하여 획득된 정보에 따라서 비트를 최대 및 최소로 사용하는 것이 결정된다.
본 발명의 또 다른 양태는 압축 레벨을 상이하게 선택한다. 예를 들어, 저, 중간 및 고 품질 압축 모드가 규정될 수 있다. 저 품질 모드는 높은 압축 비율을 이용할 때 수행되며, 반면에 고 품질 모드는 낮은 압축 비율을 이용한다. 본 발명의 일 양태에서, 최상의 최종 압축 모드가 결정된다. 압축 레벨은 루마 및 크로마 압축 모두에서 규정될 수 있음을 알아야 하며, 루마에 의해 사용된 블록의 부분과 크로마에 의해 사용된 부분이 결정된다.
본 발명의 또 다른 양태는 텍스쳐 복잡도 및 유효한 비트의 개수에 관하여 획득한 정보에 의해 최상의 압축 모드를 결정하는 결정이 이루어진다는 것이다.
본 발명의 또 다른 양태는 첫 픽셀 대신 일련의 픽셀들 중 가운데 픽셀에서부터 픽셀 예측을 시작하며, 다른 픽셀들은 상기 시작 픽셀과 관련하여 예측된다.두 예측 방향이 계산되며, 필요한 처리 시간이 줄어들 수 있다.
본 발명의 또 다른 양태는 양자화 및 서브블록 구성 결정에 따라서 서브블록으로 분할하는 것이다. 전체 압축 비율 R은 루마 압축을 위해 사용된 픽셀의 수 N 및 크로마 압축을 위해 사용된 픽셀의 수 M(U 및 V, 또는 Cr 및 Cb)에 따라서 결정된다. (N, M)의 루마 및 크로마 압축값이 주어진 경우, 다수의 상이한 서브블록 구 성이 존재한다. 서브블록 크기 결정 모듈, 또는 유사 모듈은 입력들 및 조건들의 집합이 주어질 때 최상의 서브블록 구성을 결정한다.
본 발명의 또 다른 양태는 information_from_chroma, R, 및 QP 정밀도(precision) 등으로부터 수신된 소정 정보에 기반한 가능한 상이한 서브블록 구성(예컨대, 또는 모든 상이한 서브블록 조합 구성)의 적어도 일부의 비용이 계산되는 것이다. 일예로서, 비용은 발생한 출력 비트의 수라는 표현으로 추정될 수 있다. 만일 소정 서브블록 구성의 출력 비트의 수가 바람직하게 유효한 비트 수로 제시된 임계 비용값을 초과하면, 그 서브블록 구성은 폐기되고 다음번의 가능한 서브블록 구성이 체크된다. 적어도 일 구현예에서, 만일 가능한 구성 어느 것도 유효하지 않으면, 원래 압축 블록의 N 픽셀이 서브블록으로서 사용된다.
본 발명의 또 다른 양태는 블록 압축 동안 선형 또는 비선형 양자화를 선택한다.
본 발명의 또 다른 양태는 본 명세서에서 설명된 바와 같이 비선형 양자화에서 사용하기 위한 양자화 파라미터(QP)를 추정한다.
본 발명의 또 다른 양태는 제한 없이 본 발명의 바람직한 실시예를 완전히 개시하려는 목적을 둔 다음의 명세서의 상세한 설명 부분에서 드러날 것이다.
본 발명은 단지 예시적인 목적을 위한 첨부 도면을 참조하여 더욱 완전히 이해될 것이다.
본 발명의 예시적인 목적을 위한 도면을 보다 상세히 참조하면, 본 발명은 도 2 내지 도 17에 전체적으로 도시된 장치에서 구체화된다. 본 명세서에 개시된 바와 같은 기본 개념을 일탈하지 않고, 본 발명의 장치의 구성과 구성요소의 세부사항이 변경될 수 있고, 또한 본 발명 방법의 특정 단계 및 수순이 변경될 수 있음이 인식될 것이다.
YUV 비디오 데이터 압축/복원 방법
도 2는 YUV(또는 YCrCb) 비디오 데이터의 압축 및 복원을 수행하기 위한 본 발명의 실시예(10)를 예시한다. 압축은 예를 들어 버스 대역폭 및 비디오 메모리 요구조건을 줄이기 위하여 소정 응용예와 연관된 어떤 이득이라도 주는데 이용될 수 있다.
본 발명의 장치 및 방법은 비디오 장치(12)로부터 입력을 받고, 데이터를 처리(14)하고, 비디오 데이터를 압축(16)한 다음, 예컨대 버스(18)를 통해 외부 비디오 메모리(20)에 저장한다. 비디오 인코더(24) 또는 디스플레이 장치(28)는 압축된 비디오를 비디오 메모리로부터 검색하고 이를 복원(22, 26)한 다음 비디오 데이터를 이용한다. 비디오 데이터는 압축된 다음 비디오 메모리에 저장되기 때문에, 필요한 버스 대역폭은 원래보다 훨씬 더 작고, 마찬가지로 비디오 메모리(예를 들면, SDRAM)의 필요한 크기도 줄어든다.
도 3은 본 발명에 따라서 압축되는 YUV, 또는 유사 블록의 실시예(30)를 예시한다. 본 발명의 압축 방법에서 압축 블록(32)의 입력 비디오 데이터 포맷은 YUV (또는 YCrCb)이다. 압축 프로세스 동안, (본 예에서 Y, Cr 및 Cb로 구성된) 프레임은 압축 블록들의 집합으로 분할된다. 압축 블록은 도면에 도시된 바와 같 이 루미넌스(Y)(34) 당 N 픽셀과 각 크로미넌스(Cr, Cb)(26, 38) 당 M 픽셀로서 규정된다. 그러므로, 각 압축 블록에서 총 픽셀 수는 (N+2M)이다. 만일 한 픽셀을 표현하는데 B 비트가 사용되면, 총 비트 수는 (N+2M)xB 비트가 될 것이다.
압축 블록은 다른 압축 블록과 겹치지 않으며, 각 압축 블록은 다른 블록의 정보를 참조하지 않고 독립적으로 압축된다.
일단 압축 비율, R이 입력으로 수신되면, 압축 방법(40)의 일 구현 예는 일정 크기의 압축된 블록(42)을 생성한다. 생성된 비트의 수는 다음과 같이 계산된다:
총 출력 비트 = (N + 2M) * B / R
예를 들어, R이 2라면, 생성된 총 출력 비트는 YUV의 원래 비트 수의 절반일 것이다.
만일 압축 후 압축된 정보의 비트 수가 R로 특정된 타겟 비트보다 적다면, 총 출력 비트를 항시 일정한 개수로 유지시키기 위하여 패딩 비트가 삽입되는 것이 바람직하다. 각 압축 블록의 생성된 비트의 크기가 일정하기 때문에, 어느 위치에서도 다른 블록 내 정보를 참조하지 않고도 압축된 블록이 검색될 수 있고 복원될 수 있다. 그러므로, 본 발명의 방법을 이용하여, 임의의 위치에서 (압축 블록 유닛으로서) 비디오 데이터에 액세스하는 것이 가능하다. 이것은 다른 비디오 처리를 위해 프레임 내 임의의 영역을 액세스할 필요가 있는 응용예에서 필요하다.
도 4는 복원 프로세스의 실시예(50)를 도시한다. 복원 방법은 압축 블록(52)을 받아들이고, 이를 예컨대 Y(58) 당 N 픽셀, U(60) 당 M 픽셀, 그리고 V 당 M 픽셀을 갖는 원래의 YUV 해상도로 복구되는 압축 블록(56)으로 복원(54)한다. 복원된 YUV 데이터는 또한 비디오 처리를 위한 다른 장치에서 사용될 수 있다. 복원 후 비디오 데이터의 치수는 원래와 동일하기 때문에, 다른 처리 장치는, 비디오 포맷팅에 따라서, 압축 알고리즘에 의해 발생된 어떤 차이를 인식할 수 없을 것이다.
도 5는 루마 압축 모듈과 크로마 압축 모듈과의 블록 압축 및 관계의 실시예(70)를 예시한다. 적어도 일 구현예에서, 루마 압축은 동일 블록에 대한 크로마의 압축 동안 수신된 정보에 응답하여 수행된다. 크로마(UV) 데이터(72)는 크로마 압축(74)을 위해 먼저 수신되고 있음을 알 것이며, 여기서 크로마 압축으로부터의 정보, Information_from_chroma가 전달되고, 루마 압축(78)을 수행하기 위해 루마(Y) 데이터(76)와 조합하여 사용된다. 따라서 본 발명의 방법에 따라서 크로마 압축이 먼저 수행되는 것이 바람직하다. 크로마로부터의 정보는 어떤 원하는 시간 동안이라도 유지될 수 있고, 또는 예컨대 루마 압축 동안 사용하기 위해 압축 이후의 비트 수를 계속 유지할 수 있음이 인식되어야 한다. 마지막으로, 압축된 루마 및 크로마 데이터는 블록(80)으로 표시한 바와 같이 하나의 압축된 블록(82)으로 형성된다. 적어도 바람직한 일 구현예에 따르면, 데이터 크기는 타겟 압축 비율에 의해 특정된 범위 내에 들도록 보장된다.
도 6은 본 발명의 전체 압축 방법의 실시예(90)를 예시한다. 크로마 압축 블록(92) 및 루마 압축 블록(94)이 수신되는 것으로 도시된다. 압축하기 전에, 크로마의 텍스쳐 복잡도가 추정(96)되고 루마의 텍스쳐 복잡도가 추정(100)된다 (특 정한 순서는 없음). 크로마 압축(98)과 루마 압축(102)은 루마 및 크로마 복잡도 추정으로부터 수신된 데이터와 함께 수행되는 반면, 루마 압축은 추가로 크로마 압축으로부터의 정보를 수신한다. 그런 다음 압축된 루마 및 크로마 데이터가 수신되고 패키지로 형성(104)되고 압축된 블록(106)이 생성된다.
압축 프로세스를 다시 고려하면, 본 발명에서 각 (루마 및 크로마) 압축 모듈은 상이한 압축 레벨(정도) (예를 들어, 약, 중, 강)을 제공할 수 있음이 인식될 것이다. 본 발명의 적어도 일 구현 예에 따르면, 압축의 정도는 텍스쳐 복잡도의 레벨에 따라서 선택되는 것이 바람직하다.
변수 R로 표현된 압축 비율은 Y, U 및 V 압축 블록의 압축 비율을 조절한다. 이것으로부터 Y, U 및 V가 R이라는 고정된 비율로 압축된다고 추론되지 않음을 알아야 할 것인데, 이것은 블록이 전체 압축 비율 R에 따라서 결과적으로 압축되는 한, Y, U 및 V(또는 Y, Cr 및 Cb)가 각기 어떤 원하는 비율로도 개별적으로 압축될 수 있기 때문이다. 그러므로, 크로마와 루마 간의 상이한 압축 비율에 근거하여 비트를 할당하는 것이 가능하다.
본 발명의 일 구현예에서, 본 발명의 구현된 방법은 전체 압축 비율을 R로 유지하면서 루마와 크로마 간의 압축 비율을 최적화하려(즉, 제한된 기술과 이용가능한 정보 범위 내에서 최상의 압축 비율을 찾으려)한다. 본 발명의 이러한 양태는 사람의 눈은 대체로 크로마에서 발생한 잡음 보다는 루마에서 발생한 잡음에 더욱 민감한 것을 고려한다. 그러므로, 바람직한 비트 할당 방법에 있어서, 크로마는 루마 내 비트를 극대화하여 사용할 수 있도록 최소 개수의 비트를 사용한다. 그러나, 예컨대, 크로마가 매우 복잡하다고 인지되는 어떤 경우에 있어서, 본 발명의 모드는 시각적 아티팩트를 방지하기 위하여 크로마에서 충분한 수의 비트가 사용되게 한다.
적어도 일 구현예에서, 비트 할당 비율은 루마 및 크로마 텍스쳐 복잡도의 결정에 따라서 선택된다. 도 6에서 텍스쳐 복잡도는, 예를 들어, 압축 블록의 남은 값(residue)의 평균을 계산함으로써 구해질 수 있다.
도 7은 압축 레벨에 따라서 상이한 압축 품질 모드를 지원하는 본 발명 방법의 실시예(110)를 예시한다. 예를 들어, 압축 블록(112)은 본 발명에 따라서 저 품질 압축 모드(114), 중간 품질 압축 모드(116) 및 고 품질 압축 모드(118)로 압축될 수 있다. 저 품질 모드는 높은 압축 비율을 사용함으로써 초래되는 반면, 고 품질 비디오 모드는 낮은 압축 비율을 사용함으로써 생성된다. 바람직한 일 구현예에서, 최종의 최상의 압축 모드를 선택하는 프로세스(120)가 실행되어 최종의 압축된 블록(122)이 생성된다. 압축 레벨은 루마 및 크로마 압축 모드 둘다에서 규정될 수 있다는 것을 인식하여야 할 것이다.
상이한 압축 레벨(모드)을 구현하는 일예는 출력 양자화의 비트 정밀도를 이용하는 것이다. 낮은 압축 모드의 경우, 더 높은 정밀도가 사용될 수 있는 반면, 더 낮은 정밀도는 높은 압축 모드로 사용될 수 있다. 원하는 압축 비율에 따라서, 양자화 정밀도가 상이한 레벨로 사전결정될 수 있다. 도 7에 도시된 바와 같이, 최상의 압축 모드는 텍스쳐 복잡도 및 유효 비트에 관한 정보에 따라서 시스템에 의해 결정된다.
도 8은 본 발명에 따라서 압축 레벨을 결정하는 예시적인 실시예(130)를 설명한다. 루마(Y) 데이터(132) 및 크로마(UV) 데이터(134)가 각기 루마 텍스쳐 복잡도 추정(136) 및 크로마 텍스쳐 복잡도 추정(138)을 위해 수신된다. 이들 복잡도 추정은 다음 섹션에서 기술된다. 그 다음, 텍스쳐 분석기(140)에 의해 루마 및 크로마 텍스쳐 추정이 사용되고, 텍스쳐 분석기로부터의 출력은 블록(142)에서 압축 레벨을 판단하는데 사용되며, 그런 다음 블록(144)에서 압축 방법을 수행하여 압축된 크로마 데이터를 출력(146)하고 크로마로부터의 정보를 출력(148)하는데 사용된다. 압축 방법은 도 5에 기술되어 있으며, 반면 텍스쳐 분석 및 압축 레벨 판단은 아래에서 기술된다.
루마 텍스쳐 복잡도 추정
다음의 의사 코드는, 예를 들지만 이것으로 한정하지 않고, 루마 텍스쳐 복잡도의 추정을 예시한다. 각 서브블록마다, 루마 텍스쳐 복잡도가 분석되고 복잡도는 다음과 같이 추정된다.
index x: 픽셀 위치의 인덱스
index bp: 서브블록 위치의 인덱스
Luma_Texture_Complexity(LTC)
이 값은 현재 루마 압축 블록의 복잡도를 나타낸다. 세가지 상이한 레벨의 복잡도, 즉, 약, 중간 및 강 복잡도가 규정될 수 있다.
검출 방법:
For each subblock, compute Residual[x] = Current pixel[x] - predicted pixel[x];
For each subblock, find maximum of Residual[x] within subblock, say max_Residual[bp];
Compute average_residue of max_Residue[bp] over whole compression block;
If average_residue < Threshold_1:
The whole luma_block is considered as 'weak complex'.
If average_residue
Figure 112008087000142-pat00001
Threshold_2:
Compute the number of subblocks that max_Residue[bp]>Threshold_3;
If the computed number < Threshold_4;
Then, whole luma_block is considered as 'medium complex block;
Else, the whole luma block is considered as 'strong complex block'.
크로마 텍스쳐 복잡도 추정
다음의 의사 코드는, 예를 들지만 이것으로 한정하지 않고, 크로마 텍스쳐 복잡도의 추정을 예시한다. 각 서브블록마다, 크로마 텍스쳐 복잡도가 분석되고 복잡도는 다음과 같이 추정된다.
Chroma Texture Complexity(CTC)
검출 방법:
For each subblock, compute Residual[x] = Current pixel[x] - predicted pixel[x];
If any Residual[x] < Threshold_1:
If the residue value at the subblock boundary is larger than Threshold_2;
Then, the subblock is considered as 'low_complex'.
Else, the 4x1 chroma subblock is considered as 'high_complex'.
압축 레벨 결정
예를 들지만 이것으로 한정하지 않는, 압축 레벨 결정이 아래와 같은 의사-코드에 따라서 구현될 수 있다.
If(CTC == high)
If(LTC == low)
Chroma_Compression_Level = LOW_COMPRESSION_MODE
Luma_Compression_Level = HIGH_COMPRESSION_MODE
Else if(LTC == medium)
Chroma_Compression_Level = HIGH_COMPRESSION_MODE
Luma_Compression_Level = MIDDLE_COMPRESSION_MODE
Else if(LTC == high)
Chroma_Compression_level = LOW_COMPRESSION_MODE
Luma_Compression_Level = HIGH_COMPRESSION_MODE
Else if(CTC == low)
삭제
If(LTC == low)
Chroma_Compression_Level = LOW_COMPRESSION_MODE
Luma_Compression_Level = HIGH_COMPRESSION_MODE
Else if(LTC == medium)
Chroma_Compression_level = MIDDLE_COMPRESSION_MODE
Luma_Compression_Level = MIDDLE_COMPRESSION_MODE
Else if(LTC == high)
Chroma_Compression_Level = HIGH_COMPRESSION_MODE
Luma_Compression_Level = MIDDLE_COMPRESSION_MODE
각 레벨에서 압축 방법
도 9는 본 발명의 압축 방법의 예시적인 실시예(150)를 설명한다. 현재 픽 셀 값을 이전 픽셀에 근거하여 예측하는 예측 프로세스(154)에 의해 압축 블록(152)이 수신된다. 일단 예측된 값이 획득되면, 남은 값(현재 픽셀과 예측된 픽셀 간의 차)이 예측 프로세스(154)에서 계산된다. 서브블록 크기 결정 프로세스(156)는 텍스쳐 복잡도 및 유효 비트 예상(budget)에 의거하여 최적의 서브블록 크기를 결정한다. 일단 서브블록 크기가 (156)에서 결정되면, 남은 값 데이터의 집합이 블록(158)에서 서브블록들이라 지칭된 작은 크기의 어레이로 분할된다. 출력 비트를 줄이기 위하여 양자화 프로세스(160)가 잔여 데이터의 각 서브블록에 적용된다. 그러므로, 각 서브블록은 고유 QP(양자화 파라미터) 값을 사용하여 양자화될 수 있다. 본 도면은 선형 양자화를 수행(164) 또는 양자화 파라미터(QP)를 추정(162)한 다음 비선형 양자화를 수행(166)하는 결정이 이루어짐을 도시한다. 두 가지 경우 모두, 서브블록의 결과가 패키지로 형성(168)되어 최종의 압축된 블록(170)을 생성한다.
예측은 현재 픽셀이 이전 픽셀로부터 예측된 것을 의미한다. 예측된 픽셀은 실제 현재 픽셀값과 예측값 간의 '남은 값'을 계산하기 위해 사용된다. 본 발명의 방법에서, 후단에서 남은 값이 양자화되고 부호화될 것이다.
x[n]의 예측 = F(x[n-1], x[n-2], . . .)
x[n]의 남은 값 = abs(x[n] - x[n]의 예측)
도 10 및 도 11은 초기 픽셀 예측의 메커니즘(190) 및 두 예측 방향을 지원하는 메커니즘(210)을 각기 도시한다. 픽셀 데이터는 어느 크기로도 될 수 있으며, 간단성을 기하기 위하여 예를 들지만 제한하는 것이 아닌 예시적인 데이터 집 합이 도시된다. 비록 메커니즘이 이차원 데이터에도 적용될 수 있을지라도, 간단한 설명을 위하여, 일차원 데이터 집합이 설명될 것이다. 이들 도면에서, 박스 내의 숫자는 압축 블록 내 픽셀들의 위치를 나타낸다.
도 10에서 예측(190)은 데이터(192) 중 첫 픽셀이 아닌 가운데 픽셀(194)에서 시작된다는 것을 주목하여야 한다. 중앙에 가까운 위치(예컨대, 위치 16)(194)에 있는 픽셀이 초기 기준 픽셀로서 설정되며, 이때 다른 모든 픽셀은 이 픽셀로부터 시작하여 예측된다. 도 11에 도시된 바와 같이, 메커니즘(210)은 우측 방향(212)과 좌측 방향(214)으로서 주어진 두 예측 방향을 지원한다. 기준 픽셀(즉, 위치 16에서의 픽셀)은 변경되지 않기 때문에, 이들 두 방향의 예측은 각기 독립적이다. 그러므로, 예측을 우측 및 좌측 방향에 대해 병렬로 처리하는 것이 가능하며, 이로써 필요로 하는 처리 시간을 상당히 줄일 수 있다.
압축 블록은 서브블록으로 분할된다. 서브블록 분할의 목적은 각 서브블록마다 독립적인 QP를 할당하기 위한 것이다. 양자화로 인해 발생된 잡음을 최소화하기 위해 더 낮은 QP가 사용될 수 있기 때문에, 만일 다수의 더 작은 서브블록으로 분할된다면 전체 품질은 향상될 수 있다. 그러나, 만일 서브블록의 개수가 많으면, QP 값으로 인해 오버헤드가 증가한다.
양자화를 위한 서브블록 분할 및 서브블록 구성 결정
(N, M) 픽셀이 주어지면, 이용될 수 있는 가능한 서브블록 구성이 많다. '서브블록 크기 결정' 모듈은 수신된 파라미터에 따라서 최상의 서브블록 구성을 결정한다.
서브블록 분할의 일예는 크로마 압축 후에 획득된 정보를 기반으로 한다. 본 발명의 일 양태에서, 크로마 압축이 먼저 실행되는데, 이 경우 해당 프로세스로부터의 정보는 루마 압축 동안 사용가능하다. 예를 들어, 크로마 압축 및 크로마 텍스쳐 복잡도에서 사용된 총 비트 수는 information_from_chroma 로서 고려될 수 있다.
도 12는 information_from_chroma, R, QP_precision 를 수신함에 따라서 서브블록 크기 결정 모듈(232)에서 서브블록 크기를 결정하는 실시예(230)를 예시한다. 모듈(232)의 출력은 최상 서브블록 크기, 이를 테면, 2x2, 4x4 및 8x8 등을 포함한다.
도 13은 'subblock_size_decision' 모듈의 한가지 가능한 구현예(250)를 예시한다. 결정 모듈은 각각의 가능한 서브블록 구성마다 information_from_chroma, R, QP_precision 를 수신한다(252). 주어진 정보에 근거하여 각 구성의 비용이 계산된다(254, 260, 266). 비용값은 생성된 출력 비트의 추정된 개수로서 표현될 수 있다. 만일 출력 비트의 수가 이용가능한 수보다 크면, 그 특정 구성이 폐기되고 다음번의 가능한 구성이 체크되는 결정 단계(256, 262)가 도시되어 있다. 이 도면에서는 대안의 출력이 2x2 서브블록(258), 4x4 서브블록(264) 및 분할 없음(N 서브블록) 출력(266)까지 등으로 예시된다. 가능한 구성들의 어느 것도 허용가능하지 않을 때, 원래 압축 블록의 N 픽셀이 분할 없음(268)과 함께 서브블록으로서 사용된다(266)는 것을 알 것이다.
본 발명의 방법은 두 양자화 프로세스, 즉 선형 및 비선형 양자화를 지원하 도록 구성된 것을 인식하여야 한다.
1. 비선형 양자화에서 양자화 파라미터 추정
가능한 QP 값들의 집합이 주어지면, 본 발명의 시스템은 적절한 적합성을 위해 모든 QP 값을 체크할 수 있다. 그러나, QP의 소모적인 탐색으로 인한 계산적인 복잡도는 효율적이지 않으며 구현 비용을 높게 한다.
도 14는 가능한 모든 QP 값을 탐색하지 않고 QP 값을 추정하는 복잡도를 줄인 방법의 실시예(270)를 예시한다. 남은 값 데이터(272)가 QP 추정기(274)에 의해 수신되는 것으로 도시된다. 비선형 Q 프로세스(276)는 추정을 통해 결정된 QP 값과 남은 값 데이터를 둘다 수신한다.
도 15는 상세히 도시된 QP 추정의 실시예(290)를 예시한다. 본 발명의 QP 추정기는 서브블록들에서 최대 남은 값(294)을 찾는데 이용된 서브블록 남은 값 데이터(292)를 갖는 원래 픽셀값을 사용한다. 이 최대 값은 양자화 결정 레벨(296)을 결정하는데 이용된다. 다시 말해서, 최대 남은 값으로부터 최대 결정 레벨을 찾을 수 있고, 이로부터 최상의 QP 값이 결정(298)될 수 있다. 표 1은 최대 결정 레벨 및 QP 값을 매핑한 일예를 도시한다.
2-비트 Q 비선형 양자화의 QP 값을 결정하기 위하여, 4x1 블록 내 원래 데이터를 사용하는 남은 값 데이터 중 최대 데이터가 사용된다(QP 추정). 표 1에서, 추정된 QP와 서브블록 내 max_residual 데이터 간의 매핑이 도시된다.
최대 결정 레벨 및 QP 값의 예시적인 매핑
DL D0 D1 D2 D3 D4 D5 D6 D7
MRR r<4 4≤r<8 8≤r<16 16≤r<32 32≤r<48 48≤r<64 64≤r<128 128≤r<256
E.QP 0 1 2 3 4 5 6 7
DL - 결정 레벨; MRR - 최대 남은 값 범위; E.QP - 추정된 QP
2. 선형/비선형 양자화 결정
본 발명의 본 양태에서, 각 서브블록은 본 발명의 방법에 따른 선형 또는 비선형 양자화의 선택에 따라서 양자화될 수 있다. 예를 들어, 서브블록의 큰 남은 값에 따라서, QP 값 또한 커지는 경향이 있는데, 이 경우 상당한 양자화 잡음이 발생되어 원하지 않는 시각적 아티팩트가 발생되는 결과를 가져온다.
도 16은 잡음과 같은 시각적 아티팩트가 발생하는 것을 방지하기 위하여, 비디오 데이터의 내용에 따라서 비선형 또는 선형 양자화를 선택하는 실시예(310)를 예시한다. 도 16에서, 선택시 이용되는 것으로 도시된 파라미터의 예가 서브블록 남은 값(312) 및 원래 픽셀 데이터(314)로서 도시된다. 그러나, 이 단계에서 이용가능한 어떤 다른 파라미터라도 최종 양자화 방법 결정(318)에 이르는 양자화 결정(316) 내에서도 사용될 수 있다.
도 17은 '비선형/선형 양자화 결정' 모듈의 실시예(330)를 예시한다. 데이터, 즉 서브블록 남은 값(332) 및 원래 서브블록 픽셀 데이터 값(334)은 에지 검출 모듈(336)에서 수신된다. 에지 검출(336)은 원래 픽셀 또는 남은 값, 또는 이와 유사한 값을 이용하는 몇 개의 대안의 방법으로도 구현될 수 있음을 인식하여야 한다. 예를 들어, 만일 서브블록에서 최대 남은 값이 임계치보다 크면, 강한 에지가 존재한다고 고려될 수 있다. 단계(338)에서 만일 강한 에지가 검출되지 않으면, 비선형 양자화를 이용하도록 결정된다(346). 그렇지 않다면, 선형 양자화를 이용하는 비용이 추정되고(340), 그런 다음 (342)에서 비용은 유효 비트 수와 비교되어 선형 양자화를 사용하도록 결정된다(344). 만일 비용이 유효 비트보다 크면, 비선형 양자화(346)가 선택된다.
비록 전술한 설명이 많은 상세 내용을 포함하고 있을지라도, 이것은 본 발명의 범주를 제한하는 것이 아니고 단지 본 발명의 현재의 바람직한 실시예 중 일부를 예시하는 것으로 해석되어야 한다. 그러므로, 본 발명의 범주는 본 기술 분야에서 숙련자에게 자명해질 수 있는 다른 실시예들을 모두 포함하며, 그에 따라서 본 발명의 범주는 첨부의 특허청구범위만으로 제한되며, 이 때 그러하다고 명백하게 언급하지 않는 한 단수의 구성요소가 "하나 및 단지 하나만"을 의미하지 않고 그 보다는 "하나 이상"을 의미하는 것으로 언급하는 것이 인식될 것이다. 본 기술 분야에서 숙련자들에게 공지된 전술한 바람직한 실시예의 구성요소들의 구조적이고 기능적인 등가물은 본 명세서에서 명시적으로 참조문헌으로 통합되며 본 발명의 특허청구범위에 포함되는 것으로 하고자 한다. 또한, 장치 또는 방법이 본 특허청구범위에 포함되기 때문에, 장치 또는 방법이 본 발명이 해결하고자 찾는 각각의 문제 및 모든 문제를 반드시 처리할 필요는 없다. 더욱이, 본 명세서에서 구성요소, 구성성분, 또는 방법의 단계는 그 구성요소, 구성성분 또는 방법의 단계가 특허청구범위에서 명시적으로 청구되어 있는지의 여부에 상관없이 일반 대중에게 전용되는 것으로 의도하지는 않는다. 본 명세서에서 어떠한 특허청구범위도 그 구성요소가 "~하기 위한 수단"이라는 구문을 사용하여 명문화하여 청구되지 않는 한 35 U.S.C. 112, 제6 절(paragraph)의 규정 하에서 해석되지 않을 것이다.
도 1은 이미지 데이터를 전처리한 후 비디오 메모리에 저장하는 것을 도시하는 통상의 비디오 또는 스틸 카메라 아키텍쳐의 블록도.
도 2는 이미지 데이터를 압축한 다음 비디오 메모리에 저장하는 것을 도시하는 본 발명의 양태에 따른 비디오 또는 스틸 카메라 아키텍쳐의 블록도.
도 3은 본 발명의 양태에 따른 압축되는 블록의 블록도.
도 4는 본 발명의 양태에 따른 블록 복원의 블록도.
도 5는 루마 압축 프로세스에서 이용된 크로마 압축으로부터의 정보를 도시하는, 본 발명의 양태에 따른 크로마 및 루마 압축의 흐름도.
도 6은 본 발명의 양태에 따른 전체 압축의 흐름도.
도 7은 본 발명의 양태에 따른 상이한 압축 모드를 지원하는 흐름도.
도 8은 압축 레벨을 판단하고 압축 방법을 수행하는 준비 중에 텍스쳐 복잡도 및 분석의 추정을 도시하는, 본 발명의 양태에 따라 압축 레벨을 결정하는 흐름도.
도 9는 양자화 결정에 따라서 한 블록에 대하여 수행되는 선형 또는 비선형 Q를 도시하는, 본 발명의 양태에 따른 압축 방법의 흐름도.
도 10은 픽셀의 중앙에서 기준 픽셀을 선택하는 것을 도시하는, 본 발명의 양태에 따른 픽셀 예측의 픽셀 도면.
도 11은 도 10에 도시된 바와 같은 기준 픽셀의 선택에 따른 우측 및 좌측 예측 방향의 픽셀 도면.
도 12는 본 발명의 양태에 따른 서브블록 크기를 선택하는 블록도.
도 13은 본 발명의 양태에 따른 서브블록 크기를 결정하는 흐름도.
도 14는 본 발명의 양태에 따른 추정된 QP 값 및 남은 값 데이터에 따른 비선형 양자화의 흐름도.
도 15는 남은 값 데이터의 결정에 따라서 수행된 것을 도시하는, 본 발명의 양태에 따른 QP 추정의 흐름도.
도 16은 본 발명의 양태에 따른 선형 또는 비선형 양자화를 선택하는 블록도.
도 17은 본 발명의 양태에 따른 선형 또는 비선형 양자화를 결정하는 흐름도.
<도면의 주요 부분에 대한 부호의 설명>
12: 입력 장치
14: 처리 소자
18: 외부 버스
20: 비디오 메모리(SDRAM)
24: 비디오 인코더
28: 디스플레이(LCD)

Claims (25)

  1. YUV 비디오 데이터를 압축하고 복원하기 위한 장치로서,
    비디오 픽셀 데이터를 하나 이상의 비디오 모듈과 통신하도록 구성된 비디오 메모리와,
    신호 버스를 통해 상기 비디오 메모리와 결합된 비디오 압축 모듈 - 상기 비디오 압축 모듈은,
    양자화기를 사용하여 루마 및 크로마 YUV 입력 비디오 데이터의 블록을 픽셀 당 비트 수가 줄어든 압축된 비디오 데이터의 압축 블록으로 압축하고 - 블록 압축은 각 블록 외부의 픽셀 데이터를 이용하지 않고 수행됨 - ,
    상기 압축된 비디오 데이터를 상기 비디오 메모리 내에 저장하도록 구성됨 - 과,
    압축된 비디오 데이터의 블록을 임의의 순서로 검색하고 상기 비디오 메모리에 저장된 상기 압축된 비디오 데이터를 동일한 포맷을 갖고 상기 비디오 압축 모듈에 의해 수신되고 압축되었던 원래 비디오 데이터처럼 복원된 비디오 데이터로 복원하도록 구성되고, 상기 복원된 비디오 데이터를 출력하도록 구성된 비디오 복원 모듈을 포함하고,
    상기 장치는, 또한 상기 블록의 중앙에서 선택된 초기의 기준 픽셀에서 시작하여, 희망하는 대로 병렬로 처리될 수 있는 우측 및 좌측 예측 방향을 규정하는 픽셀 예측을 압축 동안 수행하도록 구성되며,
    상기 기준 픽셀은 우측 및 좌측의 예측 방향에 대해 동일하게 유지되는 YUV 비디오 데이터 압축 및 복원 장치.
  2. 제1항에 있어서,
    상기 압축은 블록 압축의 정도를 조절하는 전체 압축 비율 R에 따라서 수행되는 YUV 비디오 데이터 압축 및 복원 장치.
  3. 제2항에 있어서,
    상기 전체 압축 비율 R은 비율적으로(ratiometrically) 표현될 수 있거나, 상기 결과 블록 내에 포함된 비트 수로 표현될 수 있는 YUV 비디오 데이터 압축 및 복원 장치.
  4. 제2항에 있어서,
    상기 전체 압축 비율 R을 유지하면서 루마 및 크로마의 압축 레벨을 동일하게 또는 다르게 선택하는 것을 더 포함하는 YUV 비디오 데이터 압축 및 복원 장치.
  5. 제4항에 있어서,
    크로마가, 미리 정해진 낮은 레벨 추정을 만족하는 복잡도를 갖는 경우, 상기 압축의 정도는 크로마에서 비트 사용을 최소화하고, 루마에서 비트 사용을 최대화하도록 선택되는 YUV 비디오 데이터 압축 및 복원 장치.
  6. 제1항에 있어서,
    상기 압축 전에 압축 블록의 텍스쳐 복잡도를 추정하는 것을 더 포함하는 YUV 비디오 데이터 압축 및 복원 장치.
  7. 제6항에 있어서,
    상기 압축된 블록 내 루마 및 크로마에 할당될 비트 수는 텍스쳐 복잡도의 추정에 따라 결정되는 YUV 비디오 데이터 압축 및 복원 장치.
  8. 제1항에 있어서,
    상기 압축된 블록의 크기를 일정하게 유지하기 위하여 상기 압축된 비디오 데이터를 패딩 비트로 패딩하는 것더 포함하는 YUV 비디오 데이터 압축 및 복원 장치.
  9. 제1항에 있어서,
    소정 블록의 루마 압축은 동일 블록에 대한 크로마 압축으로부터의 정보를 이용하는 YUV 비디오 데이터 압축 및 복원 장치.
  10. 삭제
  11. 제1항에 있어서,
    상기 픽셀 값의 예측은 이전 픽셀 값에 근거하여 현재 픽셀 값을 예측하는 YUV 비디오 데이터 압축 및 복원 장치.
  12. 제1항에 있어서,
    상기 픽셀 값의 예측 동안, 상기 두 방향의 예측은 독립적이며, 우측 및 좌측 방향의 예측 프로세스는 병렬로 수행되고 이에 필요한 처리 시간은 절반으로 줄어드는 YUV 비디오 데이터 압축 및 복원 장치.
  13. 제1항에 있어서,
    희망하는 구성에 따라서 서브블록으로 분할하는 것을 더 포함하는 YUV 비디오 데이터 압축 및 복원 장치.
  14. 제11항에 있어서,
    가능한 서브블록 구성의 적어도 일부분의 서브블록 비용값을 계산하는 것과, 비용이 임계값, 또는 유효 비트 수를 초과하는 서브블록 구성을 폐기하는 것을 더 포함하는 YUV 비디오 데이터 압축 및 복원 장치.
  15. 제1항에 있어서,
    상기 입력 비디오 데이터는 이미지 센서로부터 수신되는 YUV 비디오 데이터 압축 및 복원 장치.
  16. 제1항에 있어서,
    상기 장치는 비디오 또는 스틸 카메라 내에 통합되는 YUV 비디오 데이터 압축 및 복원 장치.
  17. 제1항에 있어서,
    상기 입력 비디오 데이터는 Y, Cr 및 Cb 형태로 된 루마 및 크로마 YUV 정보를 갖는 포맷을 포함하는 YUV 비디오 데이터 압축 및 복원 장치.
  18. 제1항에 있어서,
    상기 압축 및 복원은 비디오 데이터를 인코딩할 때 버스 대역폭 및 비디오 메모리 요건을 줄이도록 수행되는 YUV 비디오 데이터 압축 및 복원 장치.
  19. 제1항에 있어서,
    상기 장치는 비디오 인코딩 전에 비디오 데이터를 압축 및 복원하고, 복원 전에 압축된 비디오 데이터를 네트워크를 통하여 전송, 또는 복원 전에 비디오 데이터를 미디어 장치에 저장하도록 구성된 YUV 비디오 데이터 압축 및 복원 장치.
  20. 제1항에 있어서,
    상기 비디오 압축은 비선형 양자화를 이용하여 수행되며,
    상기 비선형 양자화를 수행할 때 다른 정밀도의 양자화 단계 크기가 이용되는 YUV 비디오 데이터 압축 및 복원 장치.
  21. YUV 비디오 데이터를 인코딩하는 비디오 인코더 장치로서,
    비디오 픽셀 데이터를 하나 이상의 비디오 모듈과 통신하도록 구성된 신호 버스를 포함하여 구성된 비디오 메모리와,
    상기 신호 버스를 통하여 상기 비디오 메모리에 결합된 비디오 압축 모듈 - 상기 비디오 압축 모듈은,
    각 블록 외부의 픽셀의 픽셀 데이터를 이용하지 않고, 양자화기를 사용하여 루마 및 크로마 YUV 입력 비디오 데이터를 픽셀당 비트 수가 줄어든 압축된 비디오 데이터로 압축하고,
    상기 압축된 비디오 데이터를 상기 비디오 메모리에 저장하도록 구성됨 - 과,
    상기 비디오 메모리에 저장된 상기 압축된 비디오 데이터를 검색하고 동일한 포맷을 갖고 상기 비디오 압축 모듈에 의해 수신되고 압축되었던 원 비디오 데이터처럼 복원된 비디오 데이터로 복원하도록 구성된 비디오 복원 모듈과,
    비디오 데이터 블록이 상기 비디오 복원 모듈에 의해 검색되도록 비순차적으로 선택하고 상기 복원 모듈로부터 출력된 상기 복원된 비디오 데이터를 인코드하도록 구성된 인코딩 모듈을 포함하고,
    상기 장치는, 또한 상기 블록의 중앙에서 선택된 초기의 기준 픽셀에서 시작하여, 희망하는 대로 병렬로 처리될 수 있는 우측 및 좌측 예측 방향을 규정하는 픽셀 예측을 압축 동안 수행하도록 구성되며,
    상기 기준 픽셀은 우측 및 좌측의 예측 방향에 대해 동일하게 유지되는 비디오 인코더 장치.
  22. YUV 비디오 데이터를 압축 및 복원하는 방법으로서,
    입력 비디오 데이터를 양자화기를 이용하여 압축 비율 R로 비디오 데이터의 각 블록마다 루마 및 크로마 중 적어도 하나의 비트 수를 줄인 압축된 비디오 데이터 블록으로 압축하는 단계 - 상기 입력 비디오 데이터의 압축은 압축되는 상기 블록 외부의 픽셀의 데이터를 이용하지 않고 수행됨 - 와,
    상기 압축된 비디오 데이터를 비디오 메모리에 저장하는 단계와,
    상기 비디오 메모리로부터 임의의 희망하는 순서로 검색되는 상기 비디오 데이터 블록들 중 임의의 블록의 상기 압축된 비디오 데이터를 복원하여 복원된 비디오 데이터 출력을 생성하는 단계와,
    상기 블록의 중앙에서 선택된 초기의 기준 픽셀에서 시작하여, 희망하는 대로 병렬로 처리될 수 있는 우측 및 좌측 예측 방향을 규정하는 픽셀 예측을 압축 동안 수행하는 단계를 포함하며,
    상기 기준 픽셀은 우측 및 좌측의 예측 방향에 대해 동일하게 유지되는 YUV 비디오 데이터 압축 및 복원 방법.
  23. 제22항에 있어서,
    상기 메모리로부터 비디오 데이터의 블록을 비순차적으로 선택하는 것에 따라서 상기 비디오 데이터를 인코딩하는 단계 및 상기 복원된 비디오 데이터를 수신하는 단계를 더 포함하는 YUV 비디오 데이터 압축 및 복원 방법.
  24. YUV 비디오 데이터를 압축 및 복원하는 방법으로서,
    입력 비디오 데이터를 양자화기를 사용하여 압축 비율 R로 비디오 데이터의 각 블록마다 루마 및 크로마 중 적어도 하나의 비트 수가 줄어든 압축된 비디오 데이터 블록으로 압축하는 단계 - 상기 압축은 압축되는 상기 블록 외부의 픽셀의 데이터를 이용하지 않고 상기 비디오 데이터에 대해 수행됨 - 와,
    상기 압축이 수행되는 소정 블록 내 각 서브블록마다 선형 또는 비선형 양자화를 선택하는 단계와,
    상기 압축된 비디오 데이터를 비디오 메모리에 저장하는 단계와,
    상기 비디오 메모리로부터 임의의 희망하는 순서로 검색되는, 상기 비디오 데이터 블록 중 임의의 블록의 상기 압축된 비디오 데이터를 복원하여 복원된 비디오 데이터 출력을 생성하는 단계와,
    상기 블록의 중앙에서 선택된 초기의 기준 픽셀에서 시작하여, 희망하는 대로 병렬로 처리될 수 있는 우측 및 좌측 예측 방향을 규정하는 픽셀 예측을 압축 동안 수행하는 단계를 포함하며,
    상기 기준 픽셀은 우측 및 좌측의 예측 방향에 대해 동일하게 유지되는 YUV 비디오 데이터 압축 및 복원 방법.
  25. YUV 비디오 데이터를 압축 및 복원하는 방법으로서,
    입력 비디오 데이터를 양자화기를 사용하여 압축 비율 R로 비디오 데이터의 각 블록의 루마 및 크로마 중 적어도 하나의 비트 수가 줄어든 압축된 비디오 데이터 블록으로 압축하는 단계 - 상기 압축은 압축되는 상기 블록 외부의 픽셀의 데이터를 이용하지 않고 상기 비디오 데이터 블록에 대해 수행됨 - 와,
    루마 텍스쳐 복잡도 및 크로마 텍스쳐 복잡도를 추정하는 단계와,
    전체 압축 비율 R을 유지하면서 루마 및 크로마의 압축 레벨을 개별적으로 선택하는 단계와,
    블록 특성에 따라 상기 압축이 수행될 소정 블록 내 각 서브블록마다 선형 또는 비선형 양자화를 선택하는 단계 - 상기 압축 동안, 상기 루마 압축 프로세스는 동일 블록에 대한 상기 크로마 압축 프로세스로부터의 정보를 이용함 - 와,
    상기 압축된 비디오 데이터를 비디오 메모리에 저장하는 단계와,
    상기 압축된 비디오 데이터를 저장하는 상기 단계의 다음에 언제든지 임의의 희망하는 순서로 상기 비디오 데이터의 블록을 상기 비디오 메모리로부터 검색하는 단계와,
    상기 검색된 블록의 상기 압축된 비디오 데이터를 복원하여 복원된 비디오 데이터 출력을 생성하는 단계와,
    상기 블록의 중앙에서 선택된 초기의 기준 픽셀에서 시작하여, 희망하는 대로 병렬로 처리될 수 있는 우측 및 좌측 예측 방향을 규정하는 픽셀 예측을 압축 동안 수행하는 단계를 포함하며,
    상기 기준 픽셀은 우측 및 좌측의 예측 방향에 대해 동일하게 유지되는 YUV 비디오 데이터 압축 및 복원 방법.
KR1020080129181A 2007-12-19 2008-12-18 시각적 무손실 비디오 데이터 압축 KR101368094B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US1517407P 2007-12-19 2007-12-19
US61/015,174 2007-12-19
US12/103,419 2008-04-15
US12/103,419 US8401071B2 (en) 2007-12-19 2008-04-15 Virtually lossless video data compression

Publications (2)

Publication Number Publication Date
KR20090067067A KR20090067067A (ko) 2009-06-24
KR101368094B1 true KR101368094B1 (ko) 2014-02-28

Family

ID=40566336

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080129181A KR101368094B1 (ko) 2007-12-19 2008-12-18 시각적 무손실 비디오 데이터 압축

Country Status (6)

Country Link
US (1) US8401071B2 (ko)
EP (1) EP2073555A3 (ko)
JP (1) JP5247412B2 (ko)
KR (1) KR101368094B1 (ko)
RU (1) RU2504107C2 (ko)
TW (1) TW200939786A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023048464A1 (ko) * 2021-09-23 2023-03-30 엘지전자 주식회사 영상 부호화/복호화 방법, 비트스트림을 전송하는 방법 및 비트스트림을 저장한 기록 매체

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1828335B1 (en) 2005-01-21 2010-03-10 Commonwealth Scientific And Industrial Research Organisation Activation method using modifying agent
US8194732B2 (en) * 2007-07-30 2012-06-05 Broadcom Corporation Integrated circuit with conversion capability for portable media player
US8194736B2 (en) * 2008-04-15 2012-06-05 Sony Corporation Video data compression with integrated lossy and lossless compression
US8432974B2 (en) * 2009-07-10 2013-04-30 The United States Of America As Represented By The Secretary Of The Navy Method and system for compression of hyperspectral or multispectral imagery with a global optimal compression algorithm (GOCA)
US8509489B2 (en) 2009-10-05 2013-08-13 The United States Of America, As Represented By The Secretary Of The Navy System and method for estimating velocity from image sequence with first order continuity
US9172960B1 (en) 2010-09-23 2015-10-27 Qualcomm Technologies, Inc. Quantization based on statistics and threshold of luminanceand chrominance
US8559763B2 (en) 2010-12-14 2013-10-15 The United States Of America As Represented By The Secretary Of The Navy Method and apparatus for motion-compensated interpolation (MCI) with conservative motion model
US9547911B2 (en) 2010-12-14 2017-01-17 The United States Of America, As Represented By The Secretary Of The Navy Velocity estimation from imagery using symmetric displaced frame difference equation
US20120281756A1 (en) * 2011-05-04 2012-11-08 Roncero Izquierdo Francisco J Complexity change detection for video transmission system
JP5597175B2 (ja) * 2011-09-26 2014-10-01 株式会社東芝 画像圧縮装置及び画像処理システム
CN102568434A (zh) * 2011-12-29 2012-07-11 四川虹欧显示器件有限公司 用于显示器的数据存储方法和装置
US9106936B2 (en) 2012-01-25 2015-08-11 Altera Corporation Raw format image data processing
US10230959B2 (en) 2012-06-01 2019-03-12 Nxp Usa, Inc. Method and apparatus for performing compression of image data
WO2015038569A2 (en) 2013-09-10 2015-03-19 Rambus Inc. Oversampled image sensor with conditional pixel readout
JP6362317B2 (ja) * 2013-10-17 2018-07-25 キヤノン株式会社 映像処理装置、映像処理装置の制御方法
US10142642B2 (en) * 2014-06-04 2018-11-27 Qualcomm Incorporated Block adaptive color-space conversion coding
CN105578190B (zh) * 2016-02-03 2018-05-04 珠海全志科技股份有限公司 应用于视频硬解码的无损压缩方法及系统
RU2654126C2 (ru) * 2016-09-09 2018-05-16 Общество с ограниченной ответственностью "Спирит Корп" Способ и устройство высокоэффективного сжатия мультимедийной информации большого объема по критериям ее ценности для запоминания в системах хранения данных
CA2942257C (en) * 2016-09-19 2022-09-06 Pleora Technologies Inc. Methods and systems for balancing compression ratio with processing latency
RU169308U1 (ru) * 2016-11-07 2017-03-14 Федеральное государственное бюджетное образовательное учреждение высшего образования "Юго-Западный государственный университет" (ЮЗГУ) Устройство для оперативного восстановления видеосигнала RGB-модели
US10440376B2 (en) * 2017-01-05 2019-10-08 Nokia Of America Corporation Compressive sensing with joint signal compression and quality control
KR102523959B1 (ko) * 2018-01-26 2023-04-20 삼성전자주식회사 이미지 처리 장치 및 이미지 처리 장치의 동작 방법
US10819965B2 (en) * 2018-01-26 2020-10-27 Samsung Electronics Co., Ltd. Image processing device and method for operating image processing device
KR102626217B1 (ko) * 2018-11-30 2024-01-16 삼성전자주식회사 프레임 버퍼 컴프레서 및 이를 포함하는 이미지 처리 장치
CN109672923B (zh) * 2018-12-17 2021-07-02 龙迅半导体(合肥)股份有限公司 一种数据处理方法和装置
US11221778B1 (en) * 2019-04-02 2022-01-11 Pure Storage, Inc. Preparing data for deduplication
CN113709489B (zh) * 2021-07-26 2024-04-19 山东云海国创云计算装备产业创新中心有限公司 一种视频压缩方法、装置、设备及可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003047024A (ja) 2001-05-14 2003-02-14 Nikon Corp 画像圧縮装置および画像圧縮プログラム
JP2003312126A (ja) 2002-04-22 2003-11-06 Nippon Zeon Co Ltd インクジェット記録媒体用重合体ラテックス及びインクジェット記録媒体用塗工組成物
US20060251330A1 (en) * 2003-05-20 2006-11-09 Peter Toth Hybrid video compression method
US20070189620A1 (en) * 2006-02-13 2007-08-16 Novatek Microelectronics Corp. Pixel data compression and decompression method and device thereof

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR930011694B1 (ko) * 1991-03-27 1993-12-18 삼성전자 주식회사 디지탈 영상 데이타의 압축방식 및 장치
GB2266635B (en) * 1992-02-28 1995-11-15 Sony Broadcast & Communication Image data compression
JP3144727B2 (ja) * 1993-03-10 2001-03-12 富士写真フイルム株式会社 ディジタル電子スチルカメラ
US6167086A (en) 1996-12-10 2000-12-26 Thomson Licensing S.A. Overhead data processor in a memory efficient image processing system
US6256347B1 (en) * 1996-12-17 2001-07-03 Thomson Licensing S.A. Pixel block compression apparatus in an image processing system
US6668015B1 (en) * 1996-12-18 2003-12-23 Thomson Licensing S.A. Efficient fixed-length block compression and decompression
JPH11234671A (ja) * 1998-02-12 1999-08-27 Hitachi Ltd 信号処理装置
GB2339989B (en) 1998-05-19 2002-11-27 Lsi Logic Corp Method and apparatus for decoding video data
JP3413720B2 (ja) * 1998-06-26 2003-06-09 ソニー株式会社 画像符号化方法及び装置、並びに画像復号方法及び装置
US6674479B2 (en) * 2000-01-07 2004-01-06 Intel Corporation Method and apparatus for implementing 4:2:0 to 4:2:2 and 4:2:2 to 4:2:0 color space conversion
JP2002111989A (ja) 2000-10-02 2002-04-12 Mega Chips Corp 画像処理回路
US6831947B2 (en) * 2001-03-23 2004-12-14 Sharp Laboratories Of America, Inc. Adaptive quantization based on bit rate prediction and prediction error energy
CN101616330B (zh) * 2003-07-16 2012-07-04 三星电子株式会社 用于色彩图像的视频编码/解码装置和方法
JP4617644B2 (ja) * 2003-07-18 2011-01-26 ソニー株式会社 符号化装置及び方法
US20050129130A1 (en) * 2003-12-10 2005-06-16 Microsoft Corporation Color space coding framework
JP4973871B2 (ja) 2005-10-14 2012-07-11 日本電気株式会社 画像符号化方法及び、これを用いた装置とコンピュータプログラム
JP2007312126A (ja) * 2006-05-18 2007-11-29 Toshiba Corp 画像処理回路

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003047024A (ja) 2001-05-14 2003-02-14 Nikon Corp 画像圧縮装置および画像圧縮プログラム
JP2003312126A (ja) 2002-04-22 2003-11-06 Nippon Zeon Co Ltd インクジェット記録媒体用重合体ラテックス及びインクジェット記録媒体用塗工組成物
US20060251330A1 (en) * 2003-05-20 2006-11-09 Peter Toth Hybrid video compression method
US20070189620A1 (en) * 2006-02-13 2007-08-16 Novatek Microelectronics Corp. Pixel data compression and decompression method and device thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023048464A1 (ko) * 2021-09-23 2023-03-30 엘지전자 주식회사 영상 부호화/복호화 방법, 비트스트림을 전송하는 방법 및 비트스트림을 저장한 기록 매체

Also Published As

Publication number Publication date
EP2073555A2 (en) 2009-06-24
EP2073555A3 (en) 2009-09-09
KR20090067067A (ko) 2009-06-24
US20090161753A1 (en) 2009-06-25
JP5247412B2 (ja) 2013-07-24
RU2504107C2 (ru) 2014-01-10
JP2009153138A (ja) 2009-07-09
RU2008150330A (ru) 2010-06-27
TW200939786A (en) 2009-09-16
US8401071B2 (en) 2013-03-19

Similar Documents

Publication Publication Date Title
KR101368094B1 (ko) 시각적 무손실 비디오 데이터 압축
EP2988499B1 (en) High dynamic range codecs
US5398066A (en) Method and apparatus for compression and decompression of digital color images
JP4870743B2 (ja) デジタルイメージに対する選択的なクロミナンスデシメーション
WO2010004726A1 (ja) 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、プログラム、及び集積回路
US20050276496A1 (en) Image compression for rapid high-quality imaging
JP6141295B2 (ja) 知覚的に無損失のおよび知覚的に強調された画像圧縮システムならびに方法
EP1997316A2 (en) Image encoding/decoding method and apparatus
EP1997317A1 (en) Image encoding/decoding method and apparatus
JP2003517796A (ja) 「ムラのあるピクチャ」効果を減らす方法
WO2007093923A1 (en) Image processing apparatus using partial encryption
WO2002091282A2 (en) Color video codec method and system
CA2644379C (en) Visually lossless video data compression
EP1769459B1 (en) Image compression for rapid high-quality imaging
US20070253629A1 (en) Image Processing Device and Image Forming Device Provided therewith
EP1211896A2 (en) System and method of providing data in one of a plurality of digital formats using an active disk
PHYO et al. DCT Based Image Compression using Arithmetic Encoding Technique

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee