KR101344171B1 - 데이터 압축 방법 및 시스템, 및 컴퓨터 판독가능한 기록 매체 - Google Patents

데이터 압축 방법 및 시스템, 및 컴퓨터 판독가능한 기록 매체 Download PDF

Info

Publication number
KR101344171B1
KR101344171B1 KR1020087010731A KR20087010731A KR101344171B1 KR 101344171 B1 KR101344171 B1 KR 101344171B1 KR 1020087010731 A KR1020087010731 A KR 1020087010731A KR 20087010731 A KR20087010731 A KR 20087010731A KR 101344171 B1 KR101344171 B1 KR 101344171B1
Authority
KR
South Korea
Prior art keywords
frame
luminance
converted
map
frames
Prior art date
Application number
KR1020087010731A
Other languages
English (en)
Other versions
KR20080069985A (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 KR20080069985A publication Critical patent/KR20080069985A/ko
Application granted granted Critical
Publication of KR101344171B1 publication Critical patent/KR101344171B1/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
    • 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
    • H04N19/88Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving rearrangement of data among different coding units, e.g. shuffling, interleaving, scrambling or permutation of pixel data or permutation of transform coefficient data among different blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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/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/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/57Motion estimation characterised by a search window with variable size or shape
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Color Television Systems (AREA)

Abstract

추가적인 데이터 압축은 예를 들어 MPEG 알고리즘과 같은 인코딩 알고리즘으로 데이터를 송신하기에 앞서, 사전처리 모듈에서 데이터의 공간 및 시간적 상관성을 향상시킴으로써 성취된다. 입력 데이터 프레임은 휘도 프레임 및 두 색도 프레임으로 분해된다. 휘도 프레임은 프레임 내의 복수의 색도 픽셀의 각각을 기반으로 변환되어, 복수의 변환된 휘도 픽셀을 구비하는 변환된 휘도 프레임을 생성한다. 휘도 프레임의 복수의 휘도 픽셀과 변환된 휘도 프레임의 복수의 변환된 휘도 픽셀 간의 관계를 도시하는 맵이 생성된다. 두 색도 프레임은 맵에 따라 변환되어, 두 변환된 색도 프레임을 생성한다. 변환된 휘도 프레임과 두 변환된 색도 프레임이 통합되어 변환된 출력 프레임을 생성한다.
인코딩, 디코딩, 압축, 픽셀, 휘도, 색도, 변환, 블록, 프레임, 맵

Description

데이터 압축 방법 및 시스템, 및 컴퓨터 판독가능한 기록 매체{METHOD AND SYSTEM FOR COMPRESSING DATA, AND COMPUTER-READABLE RECORDING MEDIUM}
관련 출원에 대한 참조
본 출원은 전체적으로 본 명세서에 참고로 포함된, 2005년 10월 6일 출원된 미국 특허출원 제11/245,922호의 연속이다.
본 발명은 디지털 콘텐츠 및 데이터의 분배에 관한 것이다. 특히 본 발명은 분배를 위해 디지털 콘텐츠 및 데이터를 압축하기 위한 시스템 및 방법에 관한 것이다.
디지털 화상은 2차원 화상을 화소 또는 픽셀(pixels)로 불리는 디지털값 집합으로 나타낸 것이다. 픽셀은 종종 래스터 화상(raster image), 2차원 배열의 스몰 정수(small integers)로서 컴퓨터 메모리에 저장된다. 화상의 각 픽셀은 전형적으로 소정의 2차원 영역에서의 특정 "위치(position)"와 관련있으며, 그 위치에 관한 하나 이상의 양(샘플)으로 구성된 값을 가진다.
디지털 컬러 화상은 각 픽셀에 대한 컬러 정보를 포함한다. 시각적으로 수용가능한 결과를 위하여, 소정 컬러 공간에서 좌표로서 번역되는, 각 픽셀에 대한 적어도 세 샘플(컬러 채널)을 제공할 필요가 있다. 컴퓨터 디스플레이는 통상 RGB 컬러공간을 사용하지만, 종종 다른 콘텐츠는 YUV 및 HSV 같은 다른 공간을 사용한다.
디지털 데이터 또는 콘텐츠, 특히 디지털 컬러 화상을 분배시에 대역폭은 매우 크다(premium). 미디어 애플리케이션 및 장치가 디지털 AV(audio/visual) 분배할 수 있도록 사용가능한 MPEG1, JPEG, MPEG2, JPEG2K, 퀵타임(QuickTime) 등과 같은 압축 알고리즘 표준이 개발 및 채택되어 왔다. 이들 압축 표준은 사람이 지각가능한 특성으로 조정되고 비디오 콘텐츠의 공간 및 시간의 중복성(spatial and temporal redundancy)(또는 상관성)을 이용하는 다양하고 상이한 알고리즘을 통하여 대역폭 압축을 성취한다.
고해상 디지털 미디어(고화질 비디오 및 그 이상)와 보다 많은 콘텐츠(예를 들면, 보다 많은 채널)에 대한 필요성은 대역폭의 요건을 증가시킨다. 이 요구는 적어도 두 보완 기술의 개발 노력을 통해 다루어진다. 첫 번째는 소정 매체의 사용가능한 총 대역폭을 증가시키기 위한 복잡한 모듈화 방안의 개발이다(예를 들면, 802.11x 표준, MIMO 모드 등). 두 번째는 보다 높은 비율로 비디오를 압축하는 새로운 압축 알고리즘의 개발이다(예를 들면, MPEG4, AVC, VCl 등).
비압축 디지털 비디오에 대한 대역폭 요건은 예를 들면, 표준 화질을 위한 300 Mbps로부터 고화질을 위한 2Gbps까지 상당할 수 있다. 비디오 압축 알고리즘은 대역폭 요건을 크게 감소시킬 수 있으며, 종종 대역폭 제한 환경에서 동작하는 복수의 비디오 애플리케이션(예를 들면, 공중/케이블/위성 상에서의 방송 TV, 스트리밍, 저장 등)에서는 필수 요소이다.
다행히도, 자연적 비디오는 공간 및 시간적 중복성 또는 상관성이 많다. 모두는 아니지만 대부분의 비디오 압축 알고리즘은 이 상관성을 이용한다. 전형적인 압축 알고리즘의 개별 코딩 이득은 비디오의 공간 및 시간적 상관성을 활용시의 효과성에 크게 의존한다. 그러나 알고리즘은 비디오의 지각적 품질 손실을 최소화하면서 이를 수행할 필요가 있다. 이것은 압축이 비디오에서 지각적 품질 저하로 나타나는 정보 손실을 초래한다는 사실 때문이다. 좋은 압축 알고리즘은 상당한 압축을 얻는 동안 인간 시각계가 쉽게 지각할 수 없는 영역(예를 들면, 고주파 콘텐츠)으로 정보 손실을 제한함으로써 이 트레이드오프(trade-off)의 균형을 맞춘다.
MPEG1, MPEG2 및 MPEG4는 미디어 애플리케이션에서 널리 사용되는 비디오 압축 알고리즘의 일부이다. 최근에 나온 AVC(Advanced Video Coding)(MPEG4-part 10)는 다음으로 주요한 비디오 알고리즘일 수 있다. MPEG2로부터 시작된 각 알고리즘은 코딩 이득(압축) 및 픽처 품질이라는 면에서 상당히 개선되어 왔다. 예를 들면, 최근에 나온 AVC 알고리즘은 동일한 픽처 품질에 대해 MPEG2에 비해 50% 향상된 코딩 이득을 가질 수 있다. 이것은 MPEG2와 비교하여 향상된 움직임 추정 및 보상 방법의 사용 및, AVC의 가변 데이터 블록 크기(예를 들면, 4x4, 8x8, 4x8 등) 사용으로 인해 가능하다. 향상된 움직임 추정 및 보상은 시간적 상관성을 효과적으로 추출할 수 있게 하며, 가변 블록 크기는 공간적 상관성을 보다 잘 활용할 수 있게 한다. 요약하면, 비디오 압축 알고리즘이 보다 높은 압축 이득을 얻기 위해서는 향상된 화상 처리기법에 의존한다.
그러나 이러한 데이터 압축에서의 향상성에도 불구하고, 이 분야에는 더 많은 개선이 필요하다.
추가적인 데이터 압축은 MPEG 알고리즘과 같은 인코딩(encoding) 알고리즘으로 데이터를 송신하기에 앞서 사전처리 모듈에서 데이터의 공간 및 시간적 상관성을 향상시킴으로써 성취된다. 입력 데이터에서 보다 높은 공간 및 시간적 상관성으로 전체 압축이 보다 높아지고 대역폭 요건이 보다 낮아진다.
본 발명의 실시예에 따라서, 복수의 픽셀로 구성된 입력 데이터 프레임은 제1 성분 프레임 및 복수의 추가 성분 프레임으로 분해된다. 제1 성분 프레임 및 복수의 추가 성분 프레임의 각각은 복수의 분해 픽셀(decomposed pixels)로 구성된다.
제1 성분 프레임의 복수의 분해 픽셀은 제1 성분 프레임의 복수의 분해 픽셀의 각각을 기반으로 재배열(reordering)되어, 복수의 변환된 분해 픽셀을 구비하는 제1 변환 프레임을 생성한다.
제1 성분 프레임의 복수의 분해 픽셀과, 제1 변환 프레임의 복수의 변환된 분해 픽셀 간의 관계를 도시하는 맵(map)을 생성한다. 복수의 추가 성분 프레임 각각의 복수의 분해 픽셀은 맵에 따라 재배열되어 복수의 추가 변환 프레임을 생성한다. 제1 변환 프레임과 복수의 추가 변환 프레임이 통합되어 변환된 출력 프레임을 생성한다.
본 발명의 일 양상에서, 제1 성분 프레임의 복수의 분해 픽셀은 휘도 픽셀(luminance pixels)이다.
다른 양상에서, 가변길이 코딩 알고리즘(variable-length coding algorithm) 을 사용해 맵을 인코딩하여 압축 맵(compressed map)을 생성한다.
또 다른 양상에서, 압축 맵 및 변환된 출력 프레임을 인코더로 전송한다.
또 다른 양상에서, 인코더는 MPEG1 인코더, MPEG2 인코더, MPEG4 인코더 또는 AVC 인코더이다.
도 1은 본 발명의 실시예에 따라서 향상된 코딩 이득 방법을 간략히 도시하는 기능적 블록도이다.
도 2는 도 1의 실시예에 따라서 데이터의 공간 및 시간적 상관성을 향상시키는 방법 처리를 간략히 도시하는 도면이다.
도 3은 본 발명의 실시예에 따라서 디코딩 처리를 간략히 도시하는 기능적 블록도이다.
도 4는 도 3의 실시예에 따라서 공간 및 시간적으로 상관된 데이터를 재구성하는 방법 처리를 간략히 도시하는 도면이다.
도 5는 본 발명의 실시예에 따라서 데이터 프레임의 변환을 간략히 도시하는 도면이다.
도 6a 및 도 6b는 본 발명의 다른 실시예에 따라서 데이터 프레임의 변환을 간략히 도시하는 도면이다.
도 7은 본 발명의 실시예에 따라서 수신 장치를 간략히 도시하는 블록도이 다.
도 8은 본 발명의 실시예에 따라서 오디오/비디오 전송 스트림을 생성하는 회로를 간략히 도시하는 블록도이다.
본 발명의 부가적인 양상이 있다. 따라서 전술한 내용은 단순히 본 발명의 소정 실시예 및 양상의 간단한 개요라는 것을 이해해야 할 것이다. 부가적인 실시예 및 양상은 후술될 것이다. 또한 본 발명의 사상 또는 범주를 벗어나지 않고서도 개시된 실시예에 대한 다양한 변경을 행할 수 있음을 이해해야 한다. 따라서 전술한 개요는 본 발명의 범주를 제한하지 않는다. 오히려, 본 발명의 범주는 첨부된 특허청구의 범위 및 그에 상당한 것들에 의해 정해진다.
본 발명의 상기 및/또는 다른 양상 및 장점들은 첨부 도면과 함께 후술되는 소정 실시예의 설명으로부터 명백해지며 보다 쉽게 이해될 것이다.
이제 첨부 도면에 도시된 본 발명의 실시예를 상세히 설명할 것이며, 도면에서 동일 참조번호는 동일 요소를 언급한다. 본 발명의 범주를 벗어나지 않고서도 다른 실시예를 사용할 수 있고, 구조적 및 운용 변경을 행할 수 있음을 이해해야 한다.
추가적인 데이터 압축을 성취하기 위한 시스템 및 방법이 개시된다. 본 발명의 실시예는 예를 들어 MPEG 알고리즘과 같은 인코딩 알고리즘으로 데이터를 송신하기에 앞서 사전처리 모듈에서 데이터의 공간 및 시간적 상관성을 향상시킴으로써 이를 성취한다. 입력 데이터에서 보다 높은 공간 및 시간적 상관성으로 전체 압축이 보다 높아지고 대역폭 요건이 보다 낮아진다.
도 1은 본 발명의 실시예에 따라서 향상된 코딩 이득 방법을 간략히 도시하는 기능적 블록도이다. 사전처리 모듈(102)은 예를 들어 비디오 데이터와 같은 비압축 데이터(104)를 수신하고, 보다 상세히 후술되는 바와 같이, 이 입력 데이터의 공간 및 시간적 상관성 향상을 수행한다. 상관성이 향상된 데이터(106)는 압축 알고리즘 또는 인코더(108)로 입력되고, 압축 알고리즘 또는 인코더(108)는 이 데이터를 보다 효과적으로 압축하여 상관성이 향상된 데이터(110)를 생성한다. 예시적인 압축 알고리즘은 MPEG1, MPEG2, MPEG4, AVC 등을 포함한다. 방법의 코딩 이득은 비압축(정상) 비디오 데이터와 (본 발명의 실시예에 따른) 상관성 향상된 비디오 데이터의 압축에서의 차이이다. 보다 높은 공간 및 시간적 상관성으로 전체 압축이 향상되는 경우, 도 1의 방법은 상당한 코딩 이득을 가져온다.
도 2는 도 1의 실시예에 따라서 데이터의 공간 및 시간적 상관성을 향상시키는 방법 처리를 간략히 도시하는 도면이다. 프레임의 개별 픽셀의 인텐시티 기반 재배열(intensity based reordering)을 사용한다. 이 경우에 입력 데이터인, 비압축 YUV 포맷의 비디오 데이터 프레임(202)이 사전처리 모듈(102)로 입력된다.
YUV 포맷은 하나의 휘도 및 두 색도(chrominace) 성분에 의해 컬러 공간을 정의한다. Y는 휘도(밝기) 성분을 의미하고, U 및 V는 색도(컬러) 성분을 의미한다. 따라서 프레임에서 각 픽셀은 Y 성분인 한 값과 U 및 V 성분인 두 값으로 된 세 값으로 구성된다. YUV 신호는 원래의 RGB(적, 녹, 청) 소스로부터 생성된다. R, G 및 B의 가중치를 함께 가산하여, 그 스폿의 전체 밝기 또는 휘도를 나타내는 단일 Y 신호를 생성한다. 그 후, 원래의 RGB 신호의 청 신호로부터 Y 신호를 감산함으로써 U 신호를 생성하고 이를 스케일링한다. 적 신호로부터 Y 신호를 감산함으로써 V 신호를 생성하고, 상이한 인자에 의해 스케일링한다. 기술된 실시예가 YUV 포맷의 데이터를 사용하지만, 다른 실시예는 다른 데이터 포맷을 사용할 수도 있다.
사전처리 모듈(102)에 수신된 비압축 YUV 데이터의 프레임(202)은 먼저 루마/크로마 분리기(luma/chroma separator; 204)로 향한다. 루마/크로마 분리기(204)는 프레임(202)을, 복수의 휘도 픽셀을 구비하는 휘도 프레임(Y)(206)과 복수의 색도 픽셀을 각각 가진 두 색도 프레임(U, V)(208, 210)으로 분해한다. 그 후, 휘도 프레임(206)에서 복수의 휘도 픽셀은 개별 휘도 픽셀의 각각을 기반으로 변환된다. 입력 휘도 프레임(206) 내의 휘도 픽셀을 재배열하여 변환을 행함으로써, 복수의 변환된 휘도 픽셀을 구비하는 변환된 휘도 프레임(Y)(212)을 생성한다. 환언하면, 예를 들어 입력 비디오 프레임(202)에서 위치 0,0 에서의 픽셀이, 프레임(202)에서 다른 픽셀의 휘도 값에 관련하여 상기 픽셀 휘도 값에 따라 재배열될 때에 상기 픽셀의 휘도 성분이 재배열 또는 변환된 휘도 프레임(Y)(212)에서 위치 8,8 에 배치되도록 휘도 값을 가질 수 있다.
도 5는 이 재배열 처리의 실시예를 도시한다. 도 2의 휘도 프레임(206)(Y)의 일부분 또는 하위 좌측 섹션을 도시한다. 값 240을 가진 예시적인 휘도 픽셀(502)이 (기준인 X-Y 축 그리드 프레임상을 기반으로) 위치 0,0에 위치하고 있다. (8-비트 픽셀 시스템에 대해, 휘도 값은 각 픽셀에 대해 0 ~ 255의 범위이다 .) 휘도 프레임(206)에서 휘도 픽셀을 그들의 값에 따라 재배열한 후에, 변형된 휘도 프레임(212)(Y)(도 2)을 생성한다.
도 5는 휘도값 240에 따라 재배열하거나 혹은 상이한 위치, 이 경우에는 8,8 위치에 배치된 예시적인 휘도 픽셀(502)과 함께 변환된 휘도 프레임(212)의 하위 좌측 부분을 도시한다. 최고 휘도값을 가진 픽셀은 변환 프레임(212)의 하위 좌측 위치(즉, 위치 0,0)에 또는 그 부근에 배치되고, 최저 휘도값을 가진 픽셀은 프레임(212)의 상위 우측 코너(도시되지 않음)에 또는 그 부근에 배치되는 예시적인 재배열 방안에서, 도 5의 경우에 예시적인 픽셀(502)의 우측 및 그 위에 위치한 휘도 픽셀은 예시적인 픽셀(502)의 값 240 보다 작거나 또는 동일한 값을 가진다. 반면에, 예시적인 픽셀(502)의 좌측 및 아래에 위치한 휘도 픽셀은 값 240 보다 크거나 또는 동일한 값을 가진다.
도 2를 다시 참조하면, 휘도 프레임(206)의 복수의 휘도 픽셀과 변환된 휘도 프레임(212)의 복수의 변환된 휘도 픽셀 간의 관계를 도시하는 맵(214)을 생성한다. 환언하면, 예를 들어 원래 0,0 위치에 있던 휘도 픽셀이 위치 8,8 로 변환될 때, 맵(214)은 원할 때 이 휘도 픽셀을 그의 원래 위치 0,0으로 복원할 수 있는 정보를 제공한다. 따라서 이것은 무손실 가역 처리로서 변환된 휘도 프레임(Y)(212) 데이터 및 맵(214)을 사용하여 원래 휘도 화상 프레임(Y)(206)을 재생성할 수 있다는 것을 알 수 있다. 맵(214)은 표, 데이터베이스, 등식, 리스트 등을 포함한, 하나 이상의 임의 수의 데이터 구조 또는 관계일 수 있다.
색도 프레임(U, V)(208, 210)은 변환된 색도 프레임(U, V)(216, 218)을 생성하도록 유사하게 변환된다. 즉 두 색도 프레임의 각각에서의 복수의 색도 픽셀이 재배열된다. 이 변환은 이전에 변환 휘도 프레임(Y)(212)을 위해 생성되었던 맵과 동일 맵(214)을 따른다. 환언하면, 예를 들어 원래 위치 0,0의 예시적인 휘도 픽셀이 변환된 휘도 프레임(212)에서 위치 8,8로 변환될 때, 그 동일 픽셀에 대한 대응하는 U 및 V 값도 미리 생성된 맵(214)의 지시대로 그들 제각기의 변환된 색도 프레임(216, 218)에서 위치 8,8에 배치될 것이다.
전술한 바와 같이, 성분 프레임에서 개별의 분해 픽셀은 각 휘도 픽셀의 값 또는 인텐시티 레벨을 기반으로 재배열되어 변환 프레임에 배치된다. 그러나 다른 실시예에서, 재배열은 개별 휘도 픽셀 보다는 오히려 휘도 픽셀 블록을 기반으로 한다. 입력 성분 프레임은 예를 들어 픽셀의 4x4 블록 또는 8x8 블록 등과 같은 복수의 데이터 블록으로 다루어진다. 이 블록에서 개별 휘도 픽셀의 함수인 단일 블록값이 계산된다. 이 단일 블록값은 블록에서 개별 휘도 픽셀의 합, 개별 휘도 픽셀의 평균 등일 수 있다. 그러면 개별 픽셀을 재배열하기 보다는, 계산된 단일 블록값을 기반으로 데이터 블록 그 자체를 재배열하여 데이터 블록으로서 변환 프레임에 배치한다. 기술한 바와 같이, 맵은 성분 프레임을 재구성하기 위해 생성된다. 이 접근방안의 이점은 변환할 데이터 포인트가 더 적어지고, 결과적으로 보다 신속한 처리가 가능하다는 것이다.
도 6a 및 도 6b는 이러한 픽셀의 블록기반 변환의 실시예를 도시한다. 입력 프레임을 휘도 프레임(602) 및 두 색도 프레임(도시되지 않음)으로 분해함으로써 생성된 데이터의 휘도 프레임(602)(Y)의 일부분 또는 하위 좌측부분을 도시한다. 예시적인 데이터 블록(604)은 프레임(602) 상에서 위치 0,0의 우측 및 그 위까지 연장되는 4x4 휘도 픽셀 블록으로 구성된다. 이 예에서, 예시적인 데이터 블록(604)은 190 내지 240의 값 범위인 16개 휘도 픽셀로 구성된다(도 6b). 단일 블록값은 예시 블록(604)에서 16개 개별 휘도 픽셀의 함수로서 계산된다. 이 경우에, 함수는 단순히 가산 함수이므로, 전체 블록을 나타내는 단일 블록값은 이들 16개 값의 합 또는 3,360이다.
유사하게 4x4 블록을 사용하여 휘도 프레임(602)의 나머지를 계산함으로써, 각 블록에서 16개 휘도값을 나타내는 각 블록에 대해 단일 데이터 블록값을 계산한다. 그 후, 제각기의 데이터 블록값에 따라 4x4 데이터 블록의 재배열을 기반으로 변환된 휘도 프레임(606)을 생성한다. 따라서 원래 휘도 프레임(602)의 예시적인 데이터 블록(604)은 변환 프레임(606)에서 위치 12,12의 우측 및 그 위까지 연장되는 위치로 변환 프레임(606)에 재배치된다. 방금 변환된 예시적인 데이터 블록(604)의 이 위치는 원래 프레임(602)에서 다른 블록에 대한 데이터 블록값에 관한 데이터 블록값 3,360을 기반으로 한다.
따라서 하위 좌측 위치에(즉 0,0에서) 또는 그 부근에 위치한 최고 데이터 블록값과, 변환 프레임(606)의 상위 우측 코너(도시되지 않음)에 또는 그 부근에 위치한 최하 데이터 블록값으로써 변환된 데이터 블록을 재배열하는 재배열 시스템에서, 도 6a의 경우에, 예시적인 변환 데이터 블록(604)의 우측 및 그 위에 위치한 변환 데이터 블록은 3,360과 동일하거나 또는 보다 작은 데이터 블록값을 가지는 반면에, 변환된 예시적인 블록의 하위 및 좌측에 위치한 변환 블록은 3,360과 동일하거나 또는 보다 큰 데이터 블록값을 가진다. 그러나 각 변환된 데이터 블록 내의 개별 휘도 픽셀은 그들의 새로운 위치로 변환됨에 따라 (블록 내의 값 및 상대 위치의 모두에 있어) 여전히 변하지 않는다는 점에 주목한다.
전술한 바와 같이, 휘도 프레임(602)의 복수의 휘도 데이터 블록과 변환된 휘도 프레임(606)의 복수의 변환된 휘도 데이터 블록 간의 관계를 도시하는 맵(도 6a에 도시되지 않음)을 생성하여, 무손실 방식으로 원래 휘도 프레임(602)을 복원할 수 있다. 유사하게, 색도 프레임(U, V)은 동일 맵이 지시하는 대로 데이터 블록 위치를 사용하여 이 4x4 데이터 블록 원리로 변환된다. 즉 두 색도 프레임의 각각의 복수의 색도 데이터 블록은 이 맵에 따라 재배열되어 두 변환된 색도 프레임을 생성한다.
도 2를 다시 참조하면, 모든 변환 프레임(Y, U, V)(212, 216, 218)은 이제 루마/크로마 통합기(luma/chroma integrator; 220)로 전송되고, 여기서 Y, UV 픽셀이 재결합하여, 그들의 변환된 위치에 하나의 변환 비디오 프레임(222)으로 통합된다. 이 통합은 인코더(108)(도 1)에 의해 사용가능한 포맷의 데이터를 배치하는 데 필요하다.
맵(214)의 데이터는 예를 들어 CAVLC(Content-Adaptive Variable length coding) 알고리즘 또는 CABAC(Content-Adaptive Binary Arithmetic Coding) 알고리즘과 같이 가변길이 코딩(VLC) 알고리즘 또는 인코더(224)를 사용하여 부호화된다(즉 압축된다). 따라서 사전처리 모듈(102)의 출력은 변환된 비디오 프레임(222)과 VLC 인코딩된 맵 데이터(226)이고, 이들 모두는 인코더(108)로 보내진다(도 1). VLC 인코딩된 맵 데이터(226)는 더 이상의 연산없이 이 데이터를 통과시킬 압축 알고리즘(108)의 사용자 데이터(즉 "개인(private)" 데이터) 섹션에 포함될 수 있다. 기술된 실시예가 VLC 인코더를 사용하여 맵(214)을 인코딩하는 반면에, 다른 실시예는 다른 유형의 인코더 또는 압축 알고리즘을 사용할 수 있다.
MPEG 표준에 따라서, 알고리즘이 압축을 수행하는 프레임 또는 픽처 유닛은 GOP(Group Of Picture)로 알려져 있다. GOP 내의 압축 픽처는 (예측을 통해) 공간 및 시간적으로 서로 관련된다. MPEG2에서는 세 "픽처 유형"을 정의한다. 픽처 유형은 각 블록을 코딩하는 데 사용될 수 있는 예측 모드를 정의한다.
I-픽처("Intra" pictures)는 다른 픽처를 참조하지 않고 코딩된다. 적당한 압축은 공간적 중복성을 감소시키지만, 시간적 중복성은 감소시키지 않음으로써 달성된다. 이들은 디코딩(decoding)을 시작할 수 있는 비트 스트림에서 액세스점을 제공하기 위해 주기적으로 사용될 수 있다.
P-픽처("Predictive" pictures)는 움직임 보상을 위해 이전 I-픽처 또는 P-픽처를 사용할 수 있으며, 더 나은 예측을 위해 참조로서 사용될 수 있다. P-픽처에서 각 블록은 예측되거나 혹은 인트라-코딩될 수 있다. 공간 및 시간적 중복성을 감소시킴으로써, P-픽처는 I-픽처에 비해 증가된 압축을 제공한다.
B-픽처("Bidirectionally-predictive" pictures)는 움직임 보상을 위해 이전 및 다음 I-픽처 또는 P-픽처를 사용할 수 있고, 최고 압축도를 제공할 수 있다.
상이한 픽처 유형은 전형적으로 GOP인, 반복 시퀀스로 발생된다. 디스플레이 순서에서 전형적인 GOP는:
B1B2I3B4B5P6B7B8P9B10B11P12
대응하는 비트 스트림 순서는:
I3B1B2P6B4B5P9B7B8P12B10B11
정규 GOP 구조는 GOP에서 픽처 또는 프레임의 수인 N 및 P-픽처의 간격인 M의 두 매개변수에 의해 기술될 수 있다. 전술한 예에서 GOP는 N=12 및 M=3으로 기술된다.
본 발명의 실시예에 따라서, GOP 구조가 N 프레임으로 구성될 때, 제1 비디오 프레임, 프레임 번호 1 (즉 위에서 식별되는 프레임 "I3")은 전술한 단계를 행하여 변환된 비디오 프레임 번호 1 및 맵을 생성한다. 그러나 GOP에서 나머지 프레임, 즉 비디오 프레임 2-N은 또 다른 맵의 생성을 선행하며, 단지 다음의 단계에 따른 변환만을 행할 것이다: 먼저 프레임 번호 2에 휘도/색도 분리를 행하여 휘도 및 색도 프레임을 생성한다. 그 후, 이들 프레임의 각각을 비디오 프레임 번호 1에 대해 생성되었던 맵을 기반으로 인텐시티 변환한다. 그 후, 휘도와 색도 프레임을 재결합하여 변환된 비디오 프레임 번호 2를 생성한다. 이 처리는 GOP의 나머지 입력 비디오 프레임 3 내지 N의 각각에 대해 반복됨으로써, 각 프레임은 프레임 번호 1에 대해 생성되었던 맵을 사용하여 변환된다. GOP에서 각 프레임에 대해 동일 맵을 사용함으로써, 데이터 전송이 상당히 감소된다.
이제 도 3을 참조하면, 본 발명의 실시예에 따른 디코딩 처리를 간략히 도시한다. 전술한 방식에서와 같이 사전처리되고, MPEG과 같은 압축 알고리즘을 통해 인코딩된 압축 비디오 데이터(302)가 데이터를 인코딩한 알고리즘에 대응하는 제1 디코더(304)로 입력된다. 예시적인 알고리즘은 MPEG1, MPEG2, MPEG4, AVC 등을 포함할 수 있다. 그 후, 맵 데이터(308) 뿐만 아니라 디코딩된 프레임 데이터(306)는 디코딩된 프레임(306) 및 맵(308)을 기반으로 입력되는 각 프레임을 재구성하기 위해, 그리고 디스플레이 비디오(312)를 생성하기 위하여 전술한 사전처리 방법을 기본적으로 역으로 하는 후처리 모듈(310)로 전송된다.
도 4는 본 발명의 실시예에 따라서 도 3의 후처리 모듈(310)의 동작 흐름을 도시한다. VLC 인코딩된 맵 데이터(308)는 후처리 모듈(310)로 전송되고, 여기서 맵 데이터는 원래 디코딩된 또는 비압축된 맵(404)을 복원하기 위하여 VLC 디코더(402)로 전송된다. 비디오 데이터가 N 프레임의 GOP라고 가정시에, 제1 디코더(304)(도 3)는 N 프레임의 변환 프레임 1(306)을 출력하고, 이 변환 프레임(306)을 루마/크로마 분리기(406)로 전송한다. (이 때, 각 프레임이 전술한 개별 휘도 픽셀에 따라서 각 프레임 내에 재배열되었던 픽셀 데이터를 포함하므로, 프레임 및 그들의 데이터를 "변환된" 것으로 언급된다). 루마/크로마 분리기(406)는 변환된 프레임 번호 1(306)을, 변환된 휘도 픽셀로 구성된 하나의 변환된 휘도 프레임(Y)(408)으로 분해하고, 변환된 색도 픽셀의 두 변환된 색도 프레임(U, V)(410, 412)으로 분해한다.
변환된 휘도 및 색도 프레임(Y, U, V)(408, 410, 412)의 각각의 역 변환에 비압축 맵(404)을 사용하여, 재구성된 휘도 및 색도 프레임(Y, U, V)(414, 416, 418)을 생성한다. 이들 재구성한 휘도 및 색도 프레임을 루마/크로마 통합기(420)로 전송하여, 여기서 이들 프레임을 결합 또는 통합하여, 후처리 모듈(310)의 출력으로서 디스플레이 프레임(312)을 생성한다. GOP의 나머지 변환된 프레임 번호 2-N에서, 더 이상의 맵 데이터를 수신 또는 디코딩하지 않는다는 것을 제외하고는 전술한 처리를 반복한다. 환언하면, 역변환 프레임 번호 1에 사용되었던 동일 맵(404)이 또한 그 GOP의 나머지 변환 프레임 번호 2-N을 역변환하는 데 사용된다. 그러나 다음 GOP의 제1 변환된 프레임을 위해 새로운 맵 데이터를 수신 및 처리하고, 그 후에 전술한 처리를 반복한다.
전술한 바와 같이, 도시된 실시예가 YUV 포맷의 데이터를 사용하지만, 다른 실시예는 다른 데이터 포맷을 사용할 수 있다. 따라서 데이터의 공간 및 시간적 상관성을 향상시키는 방법의 다른 실시예를 설명한다. 복수의 픽셀로 구성된 데이터의 입력 프레임이 제1 성분 프레임 및 복수의 추가 성분 프레임으로 분해된다. 제1 성분 프레임 및 복수의 추가적인 성분 프레임의 각각은 복수의 분해된 픽셀들로 구성된다.
제1 성분 프레임의 복수의 분해된 픽셀은 제1 성분 프레임의 복수의 분해 픽셀의 각각을 기반으로 재배열됨으로써, 복수의 변환된 분해 픽셀을 구비하는 제1 변환된 프레임을 생성한다. 제1 성분 프레임의 복수의 분해 픽셀과 제1 변환된 프레임의 복수의 변환된 분해 픽셀 간의 관계를 도시하는 맵을 생성한다. 맵에 따라서 복수의 추가 성분 프레임의 각각의 복수의 분해 픽셀을 재배열함으로써, 복수의 추가 변환 프레임을 생성한다. 마지막으로, 제1 변환 프레임 및 복수의 추가 변환 프레임을 통합하여 변환된 출력 프레임을 생성한다.
또한 데이터 블록 원리로 데이터를 변환하는 데 YUV 포맷과 다른 데이터 포맷을 사용할 수 있다. 따라서 예를 들어 다른 실시예에서 데이터의 입력 프레임을 제1 성분 프레임 및 복수의 추가 성분 프레임으로 분해하는 데, 이들 프레임의 각각은 복수의 데이터 블록을 구비한다. 복수의 데이터 블록의 각각은 복수의 분해된 픽셀을 구비한다.
제1 성분 프레임의 복수의 데이터 블록의 각각에 대해 데이터 블록값을 계산한다. 각 데이터 블록값은 제1 성분 프레임의 데이터 블록에서 복수의 분해된 픽셀의 함수이다. 데이터 블록값의 각각을 기반으로 제1 성분 프레임의 복수의 데이터 블록을 재배열함으로써, 제1 복수의 변환된 데이터 블록을 구비하는 제1 변환된 프레임을 생성한다.
제1 성분 프레임의 복수의 데이터 블록과 제1 변환된 프레임의 제1 복수의 변환된 데이터 블록 간의 관계를 도시하는 맵을 생성한다. 맵에 따라 복수의 추가 성분 프레임의 각각의 복수의 데이터 블록을 재배열하여, 복수의 추가 변환된 프레임을 생성한다. 마지막으로, 제1 변환된 프레임 및 복수의 추가 변환된 프레임을 통합하여 변환된 출력 프레임을 생성한다.
도 7 및 도 8은 본 발명의 실시예가 동작할 수 있는 예시적인 하드웨어 환경을 도시한다. 도 7은 셋탑 박스(700)인 예시적인 수신장치를 도시한다. 셋탑 박스(700)는 중앙처리장치(CPU)(702) 및 RAM(Random Access Memory), ROM(Read Only Memory) 또는 플래쉬 메모리와 같은 메모리(704), 그리고 하드 드라이브, 플로피 디스크 드라이브, 광 디스크 드라이브와 같은 디스크 드라이브(705)를 포함하거나 혹은 다른 대용량 저장소 또는 전자 저장매체를 수용할 수 있다. 이러한 메모리 및 저장매체는 CPU(702)로 수행할 처리를 위한 프로그램 인스트럭션 뿐만 아니라 데이터를 저장하는 데 적합하다. 전자 저장매체 또는 메모리에 저장된 정보 및 프로그램은 임의 적당한 전송매체를 통해 전송될 수 있다.
셋탑 박스(700)는 오디오 디코딩 및 처리, MPEG(Motion Pictures Experts Group) 표준과 같은 압축 표준에 따라서 압축된 비디오 데이터의 디코딩 및 다른 처리에 적당한 회로를 포함한다. 이들 구성요소가 텔레비전(도시되지 않음)에 병합되어 셋탑 박스(700)를 제거할 수 있다는 점에 주목한다. 또한 컴퓨터가 텔레비전 또는 셋탑 박스(700) 또는 모두를 대신할 수 있다. 컴퓨터는 디지털망, 캐이블 텔레비전망 또는 DSS(digital satellite system)망에 연결된 튜너 카드를 포함한 비디오 매체를 생성할 수 있는 다양한 장치를 포함할 수 있다.
셋탑 박스(700)는 원격 제어부, 적외선 수신기, 무선 주파수 수신기, 유선연결 인터페이스, PDA, 랩탑 컴퓨터, 키보드 또는 컴퓨터 마우스와 같은 셋탑 박스(700)를 제어하는 데 적당한 임의 장치와 사용될 수 있는 입력/출력 인터페이스(706)를 포함한다. 또한 텔레비전 또는 셋탑 박스(700)상에 위치한 제어 패널(도시되지 않음)의 형태인 입력 장치가 제공될 수 있다.
또한 셋탑 박스(700)는 튜너(710)에 연결된 다이얼업 연결, DSL(Digital Subscriber Line) 또는 (예를 들면, 캐이블 모뎀을 사용하는) 전송매체(708)를 포함한 적당한 연결부에 의해 인터넷 서비스 공급자(ISP) 호스트에 결합됨으로써, ISP 및 인터넷으로부터의 서비스 및 콘텐츠에 대한 액세스를 제공할 수 있다. 또 한 셋탑 박스(700)는 인터넷을 통해 원격 서버로부터 정보 및 콘텐츠를 얻기 위하여 인터넷 액세스 장치로서 사용될 수 있다.
도 7을 계속 참조하면, 셋탑 박스(700)는 복조기(712), 디멀티플렉서/디스크램블러(714), 오디오 디코더(716), 변조기(718), 비디오 디코더(720), 후처리 모듈(721), 데이터 디코더(722), 시스템 버스(724) 및 그래픽 프로세서(726)를 더 포함한다. 동축 캐이블과 같은 전송매체(708)는 적당한 인터페이스에 의해 튜너(710)에 연결된다. 튜너(710)는 콘텐츠를 수신하기 위한 방송 인밴드 튜너, 데이터 전송을 수신하기 위한 "OOB(out-of-band)" 튜너 및, 아웃바운드 데이터(outbound data)를 위한 OOB 복귀경로를 제공하는 복귀경로 튜너를 포함할 수 있다. 분리 튜너(도시되지 않음)가 제공되어 종래의 RF 방송 텔레비전 채널을 수신할 수도 있다.
복조기(712)는 MPEG2 포맷 데이터와 같은, 튜너(710)로부터의 임의 변조 정보를 복조할 수 있다. 디멀티플렉서/디스크램블러 회로(714)는 복조된 정보를 프로그래밍의 이산 채널로 분리한다. 프로그래밍은 패킷으로 분할되는 데, 각 패킷은 특정 유형의 데이터(예를 들면, 오디오, 비디오 및 데이터)를 포함한 패킷을 식별하는 패킷 ID(PID)값을 가진다. 또한 디멀티플렉서/디스크램블러 회로(714)는 예를 들어 프로그래밍 콘텐츠에 대한 비허가된 액세스를 방지하기 위해 해독 알고리즘에 따라서 암호화된 정보를 해독한다.
디멀티플렉서/디스크램블러 회로(714)로부터의 오디오 패킷(오디오 PID로써 식별된 것)이 해독되어 오디오 디코더(716)로 입력된다. 오디오 디코더(716)는 스피커 시스템(예를 들면 스테레오 또는 홈시어터 다중채널 오디오 시스템) 또는 다른 오디오 시스템(예를 들면 스테레오 또는 홈시어터 다중채널 증폭기 및 스피커 시스템)을 구동하기 위하여 오디오 패킷을 아날로그 오디오로 변환할 수 있거나, 혹은 단순히 디코딩된 오디오 출력을 제공할 수 있다. 디멀티플렉서/디스크램블러 회로(714)로부터의 비디오 패킷(비디오 PID로써 식별된 것)이 해독되어, 비디오 디코더(720)로 입력된다. 유사하게, 디멀티플렉서/디스크랩블러 회로(714)로부터의 데이터 패킷(데이터 PID로써 식별된 것)이 해독되어 데이터 디코더(722)로 입력된다.
데이터 디코더(722)는 디코딩된 데이터 패킷을 시스템 버스(724)를 통해 CPU(702)로 전송한다. 디코딩된 데이터 패킷 내에 위치한 압축 맵 데이터가 CPU(702)에 의해 식별되어, 시스템 버스(724)를 통해 비디오 디코더(720)로 전송된다. 비디오 디코더(720)는 변환된 비디오 프레임의 형태인 압축 맵 데이터 및 비디오 데이터를 후처리 모듈(721)로 보내고, 앞에서 도 3 및 도 4에서 참조해 일반적으로 설명한 바와 같이, 후처리 모듈(721)은 압축 맵 데이터를 사용하여 변환된 비디오 프레임을 재구성한다. 그 후, 비디오 프레임은 그래픽 처리기(726)로 전송되고, 여기서 그래픽 정보의 신속한 처리를 위해 컴퓨터-최적화된다. 그래픽 처리기(726)는 또한 시스템 버스(724)에 연결되어 CPU(702)의 제어하에 동작한다.
셋탑 박스(700)는 다른 장치와의 상호연결을 위하여 I/O(입력/출력) 인터페이스(706)에서 복수의 I/O 신호중의 임의 신호를 포함할 수 있다. 예를 들면, 시리얼 RS-232 신호를 한 포트에 제공하여 셋탑 박스의 내부 소프트웨어가 지원하는 임의 적당한 시리얼 장치의 상호연결을 가능하게 한다. 유사하게, 적절하게 호환가능한 장치를 가진 통신은 이더넷 포트, USB(Universal Serial Bus) 포트, IEEE 1394(Firewire or I-Link) 포트, S-비디오 포트 또는 적외선 포트를 통한 I/O 인터페이스가 제공될 수 있다. 이들 인터페이스는 저장장치, A/V 장치, 게이밍 장치 및 인터넷 가전기기와 같은 다양한 장치중의 임의 장치와 셋탑 박스(700)를 상호연결하는 데 사용될 수 있다(도시되지 않음).
I/O 인터페이스(706)는 포트에 연결되어 셋탑 박스(700)에 데이터 입력을 가능하게 하는 데 사용될 수 있는 PS/2 또는 다른 키보드/마우스/조이스틱을 더 포함할 수 있다. 또한 셋탑 박스(700)는 텔레비전 수상기로의 직접 연결을 위한 기본 비디오 출력 포트를 포함할 수 있다. 소정 실시예에서, 비디오 출력 포트는 도 7에 도시된 바와 같이 시스템 버스(724)를 통과하기보다는 그래픽 처리기(726) 또는 디멀티플렉서/디스크램블러(714)에 직접 연결될 수 있다.
입력/출력 인터페이스(706)는 적외선 수신기로서 구현될 수 있고, 적외선 원격 제어기, 적외선 키보드 또는 다른 적외선 제어장치로부터의 명령을 수신할 수 있는 적외선 포트를 포함할 수 있다. 도시되진 않았지만 소정 실시예에서는 전면 패널 제어기를 사용하여 I/O 인터페이스(706)에 연결된 전면 제어 인터페이스를 통해 셋탑 박스(700)의 동작을 직접 제어할 수 있다. 전술한 바와 같은 인터페이스 및 그외 인터페이스와 같이 선택된 인터페이스를, 필요하거나 혹은 원하는 대로 다양하게 결합하여 셋탑 박스(700)에 제공할 수 있다.
또한 셋탑 박스(700)는 CPU(702)의 동작을 위한 프로그램(소프트웨어 코드)을 저장할 뿐만 아니라 콘텐츠 및 데이터의 저장을 위한 디스크 드라이브(705)를 포함한다. 셋탑 박스(700)는 또한 플로피 디스크 드라이브, CD ROM 드라이브, CD R/W 드라이브, DVD 드라이브 등과 같은 다른 저장매체를 포함할 수 있다. CPU(702)는 시스템 버스(724)를 통하여 메모리(704)에 연결된다. 메모리(704)는 RAM, ROM, 플래쉬 메모리, EEPROM(Electrically Erasable Programmable ROM) 등을 포함한 임의 적당한 메모리 기술을 포함할 수 있다.
이제 도 8을 참조하면, 본 발명의 실시예에 따라서 오디오/비디오 전송 스트림을 생성하는 데 적당한 회로(800)의 고레벨 블록도가 도시되어 있다. 회로(800)는 비압축 오디오/비디오 데이터를 수신하는 사전처리 모듈(801)을 포함하고, 도 1 및 도 2와 관련하여 일반적으로 기술한 바와 같이 이 데이터의 공간 및 시간적 상관성 향상을 수행한다. 사전처리 모듈(801)은 변형된 프레임 및 압축 맵 데이터(805)를 하나 이상의 인코더(802)로 송신하고, 이 인코더(802)는 MPEG-2 오디오/비디오 압축표준에 따라서 변형된 프레임 데이터를 인코딩한다. 인코더(802)는 MPEG-2 표준에 따라서 오디오, 데이터 및 비디오를 인코딩하고, 적어도 하나의 ES(elementary stream)(806)인 코딩된 비디오, 코딩된 오디오 또는 다른 코딩된 비트 스트림을 출력한다. 원자료(804)는 동화상, 텔레비전 프로그램, 뮤직 비디오, 컴퓨터 게임 또는 MPEG-2 인코딩에 적당한 다른 원자료일 수 있다.
ES(806)는 하나 이상의 패킷타이저(packetizers)(808)(전형적으로 오디오 패킷타이저 및 비디오 패킷타이저)로 전달되는 데, 이 패킷타이저는 ES(806)를 PES(packetized elementary stream)(810)로 패킷화한다. PES(810)는 TS(Transport Stream) 멀티플렉서(812)로 전송되고, 이 멀티플렉서(812)는 PES(810)를 서로 다중화하고, 임의 PSI(Program Specific Information) 표(814)(예를 들면, 비디오 및 오디오 ES의 아이덴티티, 사전처리 모듈(801)에 의해 생성된 맵 데이터, 그리고 역다중화 및, 프로그램을 제공하는데 수신 장치에 필요한 다른 정보를 포함하는 표)와 다중화시킴으로써 TS(Transport Stream)(816)를 생성한다.
따라서 추가적인 데이터 압축을 성취하기 위한 방법 및 시스템을 개시한다. 본 발명의 실시예는 예를 들어 MPEG 알고리즘과 같은 인코딩 알고리즘으로 데이터를 전송하기에 앞서 사전처리 모듈에서 데이터의 공간 및 시간적 상관성을 향상시킴으로써 이를 성취한다. 입력 데이터의 보다 높은 공간 및 시간적 상관성으로 전체 압축이 보다 높아지고 대역폭 요건이 보다 낮아진다.
전술한 내용은 본 발명의 특정 실시예를 언급하였지만, 본 발명의 사상을 벗어나지 않고서도 복수의 변경을 행할 수 있다는 것을 이해할 것이다. 특허청구의 범위는 본 발명의 사상 및 범주 내에 있는 이러한 변형을 포함한다. 따라서 현재 개시된 실시예는 설명을 위한 것으로 이로 제한되지 않는 모든 양상에서 고려되며, 본 발명의 범주는 전술한 설명보다는 특허청구범위에 의해 지시되고, 특허청구범위의 의미 및 등가의 범위 내에 있는 모든 변경이 이에 포함된다.

Claims (37)

  1. 데이터 압축 방법으로서,
    입력 프레임을 제1 성분 프레임과 복수의 추가 성분 프레임으로 분해하는 단계 - 상기 입력 프레임은 복수의 픽셀로 구성되고, 상기 제1 성분 프레임 및 상기 복수의 추가 성분 프레임의 각각은 복수의 분해 픽셀(decomposed pixels)로 구성됨 - 와,
    상기 제1 성분 프레임의 상기 복수의 분해 픽셀의 각각을 기반으로 상기 제1 성분 프레임의 상기 복수의 분해 픽셀을 재배열(reordering)하여 복수의 변환된 분해 픽셀을 구비하는 제1 변환된 프레임(transformed frame)을 생성하는 단계와,
    상기 제1 성분 프레임의 상기 복수의 분해 픽셀과, 상기 제1 변환된 프레임의 상기 복수의 변환된 분해 픽셀 간의 관계를 도시(describing)하는 맵(map)을 생성하는 단계와,
    상기 맵에 따라서 상기 복수의 추가 성분 프레임의 각각의 상기 복수의 분해 픽셀을 재배열하여 복수의 추가 변환된 프레임을 생성하는 단계와,
    상기 제1 변환된 프레임과 상기 복수의 추가 변환된 프레임을 통합하여(integrating) 변환된 출력 프레임을 생성하는 단계
    를 포함하는, 데이터 압축 방법.
  2. 제1항에 있어서,
    상기 제1 성분 프레임의 상기 복수의 분해 픽셀은 휘도 픽셀(luminance pixels)인, 데이터 압축 방법.
  3. 제1항에 있어서,
    상기 맵을 인코딩(encoding)하여 압축 맵(compressed map)을 생성하는 단계를 더 포함하는, 데이터 압축 방법.
  4. 제3항에 있어서,
    상기 맵은 가변길이 코딩 알고리즘(variable-length coding algorithm)을 이용하여 인코딩되는, 데이터 압축 방법.
  5. 제3항에 있어서,
    상기 맵은 CAVLC(Content-Adaptive Variable length coding) 알고리즘 및 CABAC(Content-Adaptive Binary Arithmetic Coding) 알고리즘 중의 하나를 사용하여 인코딩되는, 데이터 압축 방법.
  6. 제1항에 있어서,
    상기 맵을 인코딩하여 압축 맵을 생성하는 단계와,
    상기 압축 맵 및 상기 변환된 출력 프레임을 인코더(encoder)로 전송하는 단계
    를 더 포함하는, 데이터 압축 방법.
  7. 제6항에 있어서,
    상기 인코더는 MPEG1 인코더, MPEG2 인코더, MPEG4 인코더 및 AVC 인코더 중의 하나인, 데이터 압축 방법.
  8. 데이터 압축 방법으로서,
    입력 프레임을 휘도 프레임(a luminance frame)과 두 색도 프레임(two chrominance frames)으로 분해하는 단계 - 상기 휘도 프레임은 복수의 휘도 픽셀을 구비하고, 상기 두 색도 프레임의 각각은 복수의 색도 픽셀을 구비함 - 와,
    상기 복수의 휘도 픽셀의 각각을 기반으로 상기 복수의 휘도 픽셀을 재배열하여 복수의 변환된 휘도 픽셀을 구비하는 변환된 휘도 프레임을 생성하는 단계와,
    상기 휘도 프레임의 상기 복수의 휘도 픽셀과 상기 변환된 휘도 프레임의 상기 복수의 변환된 휘도 픽셀 간의 관계를 도시하는 맵을 생성하는 단계와,
    상기 맵에 따라서 상기 두 색도 프레임의 각각에서 상기 복수의 색도 픽셀을 재배열하여 두 변환된 색도 프레임을 생성하는 단계와,
    상기 변환된 휘도 프레임과 상기 두 변환된 색도 프레임을 통합하여 변환된 출력 프레임을 생성하는 단계
    를 포함하는, 데이터 압축 방법.
  9. 제8항에 있어서,
    상기 맵을 인코딩하여 압축 맵을 생성하는 단계를 더 포함하는, 데이터 압축 방법.
  10. 제9항에 있어서,
    상기 맵은 가변길이 코딩 알고리즘을 이용하여 인코딩되는, 데이터 압축 방법.
  11. 제9항에 있어서,
    상기 맵은 CAVLC 알고리즘 및 CABAC 알고리즘 중의 하나를 사용하여 인코딩되는, 데이터 압축 방법.
  12. 제8항에 있어서,
    상기 맵을 인코딩하여 압축 맵을 생성하는 단계와,
    상기 압축 맵 및 상기 변환된 출력 프레임을 인코더로 전송하는 단계
    를 더 포함하는, 데이터 압축 방법.
  13. 제12항에 있어서,
    상기 인코더는 MPEG1 인코더, MPEG2 인코더, MPEG4 인코더 및 AVC 인코더 중의 하나인, 데이터 압축 방법.
  14. 처리 유닛을 구비하는 장치가 데이터 압축을 위해 사용하기 위한 적어도 하나의 컴퓨터 프로그램을 기록한 컴퓨터 판독가능한 기록 매체로서,
    상기 적어도 하나의 컴퓨터 프로그램은, 상기 장치로 하여금,
    입력 프레임을 휘도 프레임과 두 색도 프레임으로 분해하는 단계 - 상기 휘도 프레임은 복수의 휘도 픽셀을 구비하고, 상기 두 색도 프레임의 각각은 복수의 색도 픽셀을 구비함 - 와,
    상기 복수의 휘도 픽셀의 각각을 기반으로 상기 복수의 휘도 픽셀을 재배열하여 복수의 변환된 휘도 픽셀을 구비하는 변환된 휘도 프레임을 생성하는 단계와,
    상기 휘도 프레임의 상기 복수의 휘도 픽셀과 상기 변환된 휘도 프레임의 상기 복수의 변환된 휘도 픽셀 간의 관계를 도시하는 맵을 생성하는 단계와,
    상기 맵에 따라서 상기 두 색도 프레임의 각각에서 상기 복수의 색도 픽셀을 재배열하여 두 변환된 색도 프레임을 생성하는 단계와,
    상기 변환된 휘도 프레임과 상기 두 변환된 색도 프레임을 통합하여 변환된 출력 프레임을 생성하는 단계를 수행하게 하도록 되어 있는, 컴퓨터 판독가능한 기록 매체.
  15. 데이터 압축 시스템으로서,
    소프트웨어 루틴을 실행할 수 있는 처리 유닛과, 상기 처리 유닛에 의해 실행되는 프로그래밍 논리부(programming logic)를 구비하는 장치
    를 포함하고,
    상기 프로그래밍 논리부는,
    입력 프레임을 휘도 프레임과 두 색도 프레임으로 분해하기 위한 수단 - 상기 휘도 프레임은 복수의 휘도 픽셀을 구비하고, 상기 두 색도 프레임의 각각은 복수의 색도 픽셀을 구비함 - 과,
    상기 복수의 휘도 픽셀의 각각을 기반으로 상기 복수의 휘도 픽셀을 재배열하여 복수의 변환된 휘도 픽셀을 구비하는 변환된 휘도 프레임을 생성하기 위한 수단과,
    상기 휘도 프레임의 상기 복수의 휘도 픽셀과 상기 변환된 휘도 프레임의 상기 복수의 변환된 휘도 픽셀 간의 관계를 도시하는 맵을 생성하기 위한 수단과,
    상기 맵에 따라서 상기 두 색도 프레임의 각각에서 상기 복수의 색도 픽셀을 재배열하여 두 변환된 색도 프레임을 생성하기 위한 수단과,
    상기 변환된 휘도 프레임과 상기 두 변환된 색도 프레임을 통합하여 변환된 출력 프레임을 생성하기 위한 수단을 포함하는, 데이터 압축 시스템.
  16. 데이터 압축 방법으로서,
    제1 입력 프레임을 제1 휘도 프레임과 제1 복수의 색도 프레임으로 분해하는 단계 - 상기 제1 휘도 프레임은 제1 복수의 휘도 픽셀을 구비하고, 상기 제1 복수의 색도 프레임의 각각은 제1 복수의 색도 픽셀을 구비함 - 와,
    상기 제1 복수의 휘도 픽셀의 각각을 기반으로 상기 제1 복수의 휘도 픽셀을 재배열하여 제1 복수의 변환된 휘도 픽셀을 구비하는 제1 변환된 휘도 프레임을 생성하는 단계와,
    상기 제1 휘도 프레임의 상기 제1 복수의 휘도 픽셀과 상기 제1 변환된 휘도 프레임의 상기 제1 복수의 변환된 휘도 픽셀 간의 관계를 도시하는 제1 맵을 생성하는 단계와,
    상기 제1 맵에 따라서 상기 제1 복수의 색도 프레임의 각각에서 상기 제1 복수의 색도 픽셀을 재배열하여 제1 복수의 변환된 색도 프레임을 생성하는 단계와,
    상기 제1 변환된 휘도 프레임과 상기 제1 복수의 변환된 색도 프레임을 통합하여 제1 변환된 출력 프레임을 생성하는 단계와,
    제2 입력 프레임을 제2 휘도 프레임과 제2 복수의 색도 프레임으로 분해하는 단계 - 상기 제2 휘도 프레임은 제2 복수의 휘도 픽셀을 구비하고, 상기 제2 복수의 색도 프레임의 각각은 제2 복수의 색도 픽셀을 구비함 - 와,
    상기 제1 맵에 따라서 상기 제2 복수의 휘도 픽셀을 재배열하여 제2 변환된 휘도 프레임을 생성하는 단계와,
    상기 제1 맵에 따라서 상기 제2 복수의 색도 프레임의 각각에 대해 상기 제2 복수의 색도 픽셀을 재배열하여 제2 복수의 변환된 색도 프레임을 생성하는 단계와,
    상기 제2 변환된 휘도 프레임과 상기 제2 복수의 변환된 색도 프레임을 통합하여 제2 변환된 출력 프레임을 생성하는 단계
    를 포함하는, 데이터 압축 방법.
  17. 제16항에 있어서,
    상기 제1 맵을 인코딩하여 제1 압축 맵을 생성하는 단계를 더 포함하는, 데이터 압축 방법.
  18. 제17항에 있어서,
    상기 제1 맵은 가변길이 코딩 알고리즘을 이용하여 인코딩되는, 데이터 압축 방법.
  19. 제17항에 있어서,
    상기 제1 맵은 CAVLC 알고리즘 및 CABAC 알고리즘 중의 하나를 사용하여 인코딩되는, 데이터 압축 방법.
  20. 제16항에 있어서,
    상기 제1 맵을 인코딩하여 제1 압축 맵을 생성하는 단계와,
    상기 제1 압축 맵 및 상기 제1 변환된 출력 프레임을 인코더로 전송하는 단계와,
    상기 제2 변환된 출력 프레임을 상기 인코더로 전송하는 단계
    를 더 포함하는, 데이터 압축 방법.
  21. 데이터 압축 방법으로서,
    입력 프레임을 제1 성분 프레임과 복수의 추가 성분 프레임으로 분해하는 단계 - 상기 제1 성분 프레임과 상기 복수의 추가 성분 프레임의 각각은 복수의 데이터 블록을 구비하고, 상기 복수의 데이터 블록의 각각은 복수의 분해 픽셀을 구비함 - 와,
    상기 제1 성분 프레임의 상기 복수의 데이터 블록의 각각에 대한 데이터 블록값을 계산하는 단계 - 각 데이터 블록값은 상기 제1 성분 프레임의 각 데이터 블록에서 상기 복수의 분해 픽셀의 함수임 - 와,
    상기 제1 성분 프레임의 상기 복수의 데이터 블록의 상기 데이터 블록값을 기반으로 상기 제1 성분 프레임의 상기 복수의 데이터 블록을 재배열하여 복수의 변환된 데이터 블록을 구비하는 제1 변환된 프레임을 생성하는 단계와,
    상기 제1 성분 프레임의 상기 복수의 데이터 블록과 상기 제1 변환된 프레임의 상기 복수의 변환된 데이터 블록 간의 관계를 도시하는 맵을 생성하는 단계와,
    상기 맵에 따라서 상기 복수의 추가 성분 프레임의 각각의 상기 복수의 데이터 블록을 재배열하여 복수의 추가 변환된 프레임을 생성하는 단계와,
    상기 제1 변환된 프레임과 상기 복수의 추가 변환된 프레임을 통합하여 변환된 출력 프레임을 생성하는 단계
    를 포함하는, 데이터 압축 방법.
  22. 제21항에 있어서,
    상기 제1 성분 프레임의 상기 복수의 분해 픽셀은 복수의 휘도 픽셀인, 데이터 압축 방법.
  23. 제21항에 있어서,
    상기 맵을 인코딩하여 압축 맵을 생성하는 단계를 더 포함하는, 데이터 압축 방법.
  24. 제23항에 있어서,
    상기 맵은 가변길이 코딩 알고리즘을 이용하여 인코딩되는, 데이터 압축 방법.
  25. 제21항에 있어서,
    상기 맵을 인코딩하여 압축 맵을 생성하는 단계와,
    상기 압축 맵 및 상기 변환된 출력 프레임을 인코더로 전송하는 단계
    를 더 포함하는, 데이터 압축 방법.
  26. 데이터 압축 방법으로서,
    입력 프레임을 휘도 프레임과 두 색도 프레임으로 분해하는 단계 - 상기 휘도 프레임은 복수의 휘도 데이터 블록을 구비하고, 상기 복수의 휘도 데이터 블록의 각각은 복수의 휘도 픽셀로 구성되고, 상기 두 색도 프레임의 각각은 복수의 색도 데이터 블록을 구비함 - 와,
    상기 복수의 휘도 데이터 블록에 대한 복수의 데이터 블록값을 계산하는 단계 - 상기 복수의 데이터 블록값의 각각은 각 휘도 데이터 블록에서 상기 복수의 휘도 픽셀의 함수임 - 와,
    상기 복수의 데이터 블록값을 기반으로 상기 복수의 휘도 데이터 블록을 재배열하여 복수의 변환된 휘도 데이터 블록을 구비하는 변환된 휘도 프레임을 생성하는 단계와,
    상기 휘도 프레임의 상기 복수의 휘도 데이터 블록과 상기 변환된 휘도 프레임의 상기 복수의 변환된 휘도 데이터 블록 간의 관계를 도시하는 맵을 생성하는 단계와,
    상기 맵에 따라서 상기 두 색도 프레임의 각각에서 상기 복수의 색도 데이터 블록을 재배열하여 두 변환된 색도 프레임을 생성하는 단계와,
    상기 변환된 휘도 프레임과 상기 두 변환된 색도 프레임을 통합하여 변환된 출력 프레임을 생성하는 단계
    를 포함하는, 데이터 압축 방법.
  27. 제26항에 있어서,
    상기 맵을 인코딩하여 압축 맵을 생성하는 단계를 더 포함하는, 데이터 압축 방법.
  28. 제27항에 있어서,
    상기 맵은 가변길이 코딩 알고리즘을 이용하여 인코딩되는, 데이터 압축 방법.
  29. 제26항에 있어서,
    상기 맵을 인코딩하여 압축 맵을 생성하는 단계와,
    상기 압축 맵 및 상기 변환된 출력 프레임을 인코더로 전송하는 단계
    를 더 포함하는, 데이터 압축 방법.
  30. 처리 유닛을 구비하는 장치가 데이터 압축을 위해 사용하기 위한 적어도 하나의 컴퓨터 프로그램을 기록한 컴퓨터 판독가능한 기록 매체로서,
    상기 적어도 하나의 컴퓨터 프로그램은, 상기 장치로 하여금,
    입력 프레임을 휘도 프레임과 두 색도 프레임으로 분해하는 단계 - 상기 휘도 프레임은 복수의 휘도 데이터 블록을 구비하고, 상기 복수의 휘도 데이터 블록의 각각은 복수의 휘도 픽셀로 구성되고, 상기 두 색도 프레임의 각각은 복수의 색도 데이터 블록을 구비함 - 와,
    상기 복수의 휘도 데이터 블록에 대한 복수의 데이터 블록값을 계산하는 단계 - 상기 복수의 데이터 블록값의 각각은 각 휘도 데이터 블록에서 상기 복수의 휘도 픽셀의 함수임 - 와,
    상기 복수의 데이터 블록값을 기반으로 상기 복수의 휘도 데이터 블록을 재배열하여 복수의 변환된 휘도 데이터 블록을 구비하는 변환된 휘도 프레임을 생성하는 단계와,
    상기 휘도 프레임의 상기 복수의 휘도 데이터 블록과 상기 변환된 휘도 프레임의 상기 복수의 변환된 휘도 데이터 블록 간의 관계를 도시하는 맵을 생성하는 단계와,
    상기 맵에 따라서 상기 두 색도 프레임의 각각에서 상기 복수의 색도 데이터 블록을 재배열하여 두 변환된 색도 프레임을 생성하는 단계와,
    상기 변환된 휘도 프레임과 상기 두 변환된 색도 프레임을 통합하여 변환된 출력 프레임을 생성하는 단계를 수행하게 하도록 되어 있는, 컴퓨터 판독가능한 기록 매체.
  31. 데이터 압축 시스템으로서,
    소프트웨어 루틴을 실행할 수 있는 처리 유닛과, 상기 처리 유닛에 의해 실행되는 프로그래밍 논리부를 구비하는 장치
    를 포함하고,
    상기 프로그래밍 논리부는,
    입력 프레임을 휘도 프레임과 두 색도 프레임으로 분해하기 위한 수단 - 상기 휘도 프레임은 복수의 휘도 데이터 블록을 구비하고, 상기 복수의 휘도 데이터 블록의 각각은 복수의 휘도 픽셀로 구성되고, 상기 두 색도 프레임의 각각은 복수의 색도 데이터 블록을 구비함 - 과,
    상기 복수의 휘도 데이터 블록에 대한 복수의 데이터 블록값을 계산하기 위한 수단 - 상기 복수의 데이터 블록값의 각각은 각 휘도 데이터 블록에서 상기 복수의 휘도 픽셀의 함수임 - 과,
    상기 복수의 데이터 블록값을 기반으로 상기 복수의 휘도 데이터 블록을 재배열하여 복수의 변환된 휘도 데이터 블록을 구비하는 변환된 휘도 프레임을 생성하기 위한 수단과,
    상기 휘도 프레임의 상기 복수의 휘도 데이터 블록과 상기 변환된 휘도 프레임의 상기 복수의 변환된 휘도 데이터 블록 간의 관계를 도시하는 맵을 생성하기 위한 수단과,
    상기 맵에 따라서 상기 두 색도 프레임의 각각에서 상기 복수의 색도 데이터 블록을 재배열하여 두 변환된 색도 프레임을 생성하기 위한 수단과,
    상기 변환된 휘도 프레임과 상기 두 변환된 색도 프레임을 통합하여 변환된 출력 프레임을 생성하기 위한 수단
    을 포함하는, 데이터 압축 시스템.
  32. 데이터 압축 방법으로서,
    변환된 데이터 프레임을 변환된 휘도 프레임과 두 변환된 색도 프레임으로 분해하는 단계 - 상기 변환된 휘도 프레임 및 상기 두 변환된 색도 프레임의 각각은 픽셀 휘도값을 기반으로 각 프레임 내에 배열되는 변환된 픽셀 데이터를 포함함 - 와,
    맵에 따라서 상기 변환된 휘도 프레임과 상기 두 변환된 색도 프레임을 역변환하여 재구성된 휘도 프레임과 재구성된 두 색도 프레임을 생성하는 단계 - 상기 맵은 상기 변환된 휘도 프레임의 상기 변환된 픽셀 데이터와 원래(original) 휘도 프레임의 원래 픽셀 데이터 간의 관계를 도시함 - 와,
    상기 재구성된 휘도 프레임과 상기 재구성된 두 색도 프레임을 통합하여 재구성된 통합 프레임을 생성하는 단계
    를 포함하는, 데이터 압축 방법.
  33. 제32항에 있어서,
    상기 맵은 디코딩 맵이고, 상기 방법은 압축 맵을 디코딩하여 상기 디코딩 맵을 생성하는 단계를 더 포함하는, 데이터 압축 방법.
  34. 제33항에 있어서,
    상기 압축 맵은 가변길이 디코딩 알고리즘을 사용하여 디코딩되는, 데이터 압축 방법.
  35. 제33항에 있어서,
    상기 압축 맵은 CAVLD(Content-Adaptive Variable length decoding) 알고리즘 및 CABAD(Content-Adaptive Binary Arithmetic decoding) 알고리즘 중의 하나를 사용하여 디코딩되는, 데이터 압축 방법.
  36. 처리 유닛을 구비하는 장치가 데이터 압축을 위해 사용하기 위한 적어도 하나의 컴퓨터 프로그램을 기록한 컴퓨터 판독가능한 기록 매체로서,
    상기 적어도 하나의 컴퓨터 프로그램은, 상기 장치로 하여금,
    변환된 데이터 프레임을 변환된 휘도 프레임과 두 변환된 색도 프레임으로 분해하는 단계 - 상기 변환된 휘도 프레임 및 상기 두 변환된 색도 프레임의 각각은 픽셀 휘도값을 기반으로 각 프레임 내에 배열되는 변환된 픽셀 데이터를 포함함 - 와,
    맵에 따라서 상기 변환된 휘도 프레임과 상기 두 변환된 색도 프레임을 역변환하여 재구성된 휘도 프레임과 재구성된 두 색도 프레임을 생성하는 단계 - 상기 맵은 상기 변환된 휘도 프레임의 상기 변환된 픽셀 데이터와 원래 휘도 프레임의 원래 픽셀 데이터 간의 관계를 도시함 - 와,
    상기 재구성된 휘도 프레임과 상기 재구성된 두 색도 프레임을 통합하여 재구성된 통합 프레임을 생성하는 단계를 수행하게 하도록 되어 있는, 컴퓨터 판독가능한 기록 매체.
  37. 데이터 압축 시스템으로서,
    소프트웨어 루틴을 실행할 수 있는 처리 유닛과, 상기 처리 유닛에 의해 실행되는 프로그래밍 논리부를 구비하는 장치
    를 포함하고,
    상기 프로그래밍 논리부는,
    변환된 데이터 프레임을 변환된 휘도 프레임과 두 변환된 색도 프레임으로 분해하기 위한 수단 - 상기 변환된 휘도 프레임 및 상기 두 변환된 색도 프레임의 각각은 픽셀 휘도값을 기반으로 각 프레임 내에 배열되는 변환된 픽셀 데이터를 포함함 - 과,
    맵에 따라서 상기 변환된 휘도 프레임과 상기 두 변환된 색도 프레임을 역변환하여 재구성된 휘도 프레임과 재구성된 두 색도 프레임을 생성하기 위한 수단 - 상기 맵은 상기 변환된 휘도 프레임의 상기 변환된 픽셀 데이터와 원래 휘도 프레임의 원래 픽셀 데이터 간의 관계를 도시함 - 과,
    상기 재구성된 휘도 프레임과 상기 재구성된 두 색도 프레임을 통합하여 재구성된 통합 프레임을 생성하기 위한 수단을 포함하는, 데이터 압축 시스템.
KR1020087010731A 2005-10-06 2008-05-02 데이터 압축 방법 및 시스템, 및 컴퓨터 판독가능한 기록 매체 KR101344171B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/245,922 2005-10-06
US11/245,922 US7860327B2 (en) 2005-10-06 2005-10-06 Systems and methods for enhanced coding gain
PCT/US2006/039425 WO2007044683A2 (en) 2005-10-06 2006-10-04 Systems and methods for enhanced coding gain

Publications (2)

Publication Number Publication Date
KR20080069985A KR20080069985A (ko) 2008-07-29
KR101344171B1 true KR101344171B1 (ko) 2013-12-20

Family

ID=37911051

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087010731A KR101344171B1 (ko) 2005-10-06 2008-05-02 데이터 압축 방법 및 시스템, 및 컴퓨터 판독가능한 기록 매체

Country Status (7)

Country Link
US (1) US7860327B2 (ko)
EP (1) EP1932367A4 (ko)
JP (1) JP5227797B2 (ko)
KR (1) KR101344171B1 (ko)
CN (1) CN101283605A (ko)
CA (1) CA2624674C (ko)
WO (1) WO2007044683A2 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8508672B2 (en) * 2006-12-28 2013-08-13 Texas Instruments Incorporated System and method for improving video image sharpness
JP2010528555A (ja) * 2007-05-29 2010-08-19 エルジー エレクトロニクス インコーポレイティド ビデオ信号の処理方法および装置
CN103686397B (zh) * 2013-11-28 2017-04-19 张翼翔 一种视频显示终端的界面呈现物品属性配置设备及方法
CN107005707A (zh) * 2014-10-31 2017-08-01 三星电子株式会社 用于对图像进行编码或解码的方法和装置
GB2575121B (en) * 2018-06-29 2022-12-28 Imagination Tech Ltd Guaranteed data compression

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020118759A1 (en) 2000-09-12 2002-08-29 Raffi Enficiaud Video coding method
US20040114817A1 (en) 2002-07-01 2004-06-17 Nikil Jayant Efficient compression and transport of video over a network
US20050207495A1 (en) 2004-03-10 2005-09-22 Jayaram Ramasastry Methods and apparatuses for compressing digital image data with motion prediction

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2301972B (en) * 1995-06-06 1999-10-20 Sony Uk Ltd Video compression
US6580829B1 (en) * 1998-09-25 2003-06-17 Sarnoff Corporation Detecting and coding flash frames in video data
US6563953B2 (en) * 1998-11-30 2003-05-13 Microsoft Corporation Predictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock
US6522784B1 (en) * 2000-04-11 2003-02-18 International Business Machines Corporation Enhanced compression of gray-level images
JP2007535267A (ja) * 2004-04-29 2007-11-29 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 画像処理装置及び方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020118759A1 (en) 2000-09-12 2002-08-29 Raffi Enficiaud Video coding method
US20040114817A1 (en) 2002-07-01 2004-06-17 Nikil Jayant Efficient compression and transport of video over a network
US20050207495A1 (en) 2004-03-10 2005-09-22 Jayaram Ramasastry Methods and apparatuses for compressing digital image data with motion prediction

Also Published As

Publication number Publication date
WO2007044683A3 (en) 2007-11-15
WO2007044683A2 (en) 2007-04-19
CA2624674C (en) 2013-06-18
KR20080069985A (ko) 2008-07-29
US7860327B2 (en) 2010-12-28
EP1932367A4 (en) 2011-04-06
EP1932367A2 (en) 2008-06-18
JP2009512284A (ja) 2009-03-19
CA2624674A1 (en) 2007-04-19
CN101283605A (zh) 2008-10-08
JP5227797B2 (ja) 2013-07-03
US20070081592A1 (en) 2007-04-12

Similar Documents

Publication Publication Date Title
US6577679B1 (en) Method and apparatus for transcoding coded picture signals from object-based coding to block-based coding
US10531086B2 (en) Residual transformation and inverse transformation in video coding systems and methods
US20040136457A1 (en) Method and system for supercompression of compressed digital video
EP1725043A2 (en) Selection of and access to MPEG sub-frames without re-encoding
JP2002510177A (ja) デジタル画像の領域ベース情報短縮
US6865229B1 (en) Method and apparatus for reducing the “blocky picture” effect in MPEG decoded images
JP2001285876A (ja) 画像符号化装置とその方法、ビデオカメラ、画像記録装置、画像伝送装置
KR101344171B1 (ko) 데이터 압축 방법 및 시스템, 및 컴퓨터 판독가능한 기록 매체
JP4541896B2 (ja) 多重記述符合化のための装置及び方法
US10735729B2 (en) Residual transformation and inverse transformation in video coding systems and methods
JP2010538575A (ja) 代替え的エントロピー符号化方法
CN110731083A (zh) 视频编码系统和方法中的编码块位流结构和语法
WO2018152750A1 (en) Residual transformation and inverse transformation in video coding systems and methods
Fischer et al. Video coding (mpeg-2, mpeg-4/avc, hevc)
US10887589B2 (en) Block size determination for video coding systems and methods
US11388445B1 (en) Mosquito noise smoothing between different video subsections encoded with different compression methods within a video frame
JP3147636B2 (ja) ビデオデータ配列方法並びにその符号化装置及び復号化装置
JP2008244667A (ja) 画像伝送装置
Reitmeier et al. Video Compression and Its Role in the History of Television
Tozer ’MPEG-2’

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