KR20180048127A - 전자 장치, 그의 영상 압축 방법 및 비일시적 컴퓨터 판독가능 기록매체 - Google Patents

전자 장치, 그의 영상 압축 방법 및 비일시적 컴퓨터 판독가능 기록매체 Download PDF

Info

Publication number
KR20180048127A
KR20180048127A KR1020160145313A KR20160145313A KR20180048127A KR 20180048127 A KR20180048127 A KR 20180048127A KR 1020160145313 A KR1020160145313 A KR 1020160145313A KR 20160145313 A KR20160145313 A KR 20160145313A KR 20180048127 A KR20180048127 A KR 20180048127A
Authority
KR
South Korea
Prior art keywords
data
value
data value
bits
offset
Prior art date
Application number
KR1020160145313A
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 삼성전자주식회사
Priority to KR1020160145313A priority Critical patent/KR20180048127A/ko
Priority to US15/659,097 priority patent/US10304420B2/en
Publication of KR20180048127A publication Critical patent/KR20180048127A/ko

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/02Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
    • G09G5/026Control of mixing and/or overlay of colours in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2330/00Aspects of power supply; Aspects of display protection and defect management
    • G09G2330/10Dealing with defective pixels
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/02Handling of images in compressed format, e.g. JPEG, MPEG
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/06Colour space transformation
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2350/00Solving problems of bandwidth in display systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

전자 장치, 그의 영상 압축 방법 및 비일시적 컴퓨터 판독가능 기록매체가 제공된다. 본 개시의 일 실시 예에 따른 전자 장치는 영상 데이터를 수신하는 영상 입력부, 데이터를 저장하는 메모리 및 상기 영상 입력부에서 수신된 영상 데이터를 구성하는 프레임의 픽셀 값을 기설정된 알고리즘을 이용하여 제1 데이터 값으로 변환하고, 상기 변환된 제1 데이터 값의 범위를 기초로 상기 제1 데이터 값의 비트 수를 줄일 수 있는 오프셋을 결정하고, 상기 결정된 오프셋을 상기 제1 데이터 값에 더하여 제2 데이터 값을 생성하고, 상기 생성된 제2 데이터 값을 압축한 압축 데이터를 상기 메모리에 저장하는 프로세서를 포함하고, 상기 압축 데이터의 헤더는 상기 제2 데이터 값의 비트 수 및 상기 결정된 오프셋에 대한 정보를 포함할 수 있다.

Description

전자 장치, 그의 영상 압축 방법 및 비일시적 컴퓨터 판독가능 기록매체{ELECTRONIC APPARATUS, IMAGE COMPRESSING METHOD OF THEREOF AND NON-TRANSITORY COMPUTER READABLE RECORDING MEDIUM}
본 개시는 전자 장치, 그의 영상 압축 방법 및 비일시적 컴퓨터 판독가능 기록매체에 관한 것으로, 더욱 구체적으로는, 프로세싱 사이클을 증가시키지 않으면서도 압축률을 향상시킬 수 있는 전자 장치, 그의 영상 압축 방법 및 비일시적 컴퓨터 판독가능 기록매체에 관한 것이다.
영상 기술의 발전에 따라 영상 데이터의 크기 역시 빠르게 증가하고 있다. 이에 따라 영상 데이터를 압축하는 기술은 필수적으로 사용되고 있다. 예를 들어, 전자 장치는 HEVC(High Efficiency Video Coding)와 같은 코덱을 이용하여 압축된 영상 데이터를 외부 소스로부터 수신할 수 있다.
전자 장치는 화질 처리 등을 위하여 내부 IP 또는 GPU 등과 같은 구성요소들에 복원된 영상 데이터를 전송할 필요가 있다. 내부에서 영상 데이터가 전달될 경우에도 사용되는 대역폭(bandwidth)을 줄이기 위하여, 전자 장치는 영상 데이터를 압축할 필요가 있다. 예를 들어, 영상 데이터 압축에는 기존의 STB(Significant Bit Truncation) 방식과 같은 압축 알고리즘이 이용될 수 있다.
하지만, STB의 경우 비트 길이 헤더(Bit Length Header, BLH)가 표현할 수 있는 인덱스를 모두 사용하지 않는다. 그리고, 압축 대상 픽셀 그룹 내의 픽셀 값들의 편차에 따라, 픽셀 값을 표현하기 위한 비트 수가 커지는 문제점이 존재한다.
본 개시는 상술한 문제점을 해결하기 위한 것으로, 픽셀 값의 범위에 따라 압축률을 향상시킬 수 있는 오프셋을 도입하고, 오프셋 값을 비트 길이 헤더(BLH)의 사용되지 않는 인덱스를 이용하여 전송할 수 있는 전자 장치, 그의 영상 압축 방법 및 비일시적 컴퓨터 판독가능 기록매체를 제공함을 목적으로 한다.
상기 목적을 달성하기 위한 본 개시의 일 실시 예에 따른 전자 장치는, 영상 데이터를 수신하는 영상 입력부, 데이터를 저장하는 메모리 및 상기 영상 입력부에서 수신된 영상 데이터를 구성하는 프레임의 픽셀 값을 기설정된 알고리즘을 이용하여 제1 데이터 값으로 변환하고, 상기 변환된 제1 데이터 값의 범위를 기초로 상기 제1 데이터 값의 비트 수를 줄일 수 있는 오프셋을 결정하고, 상기 결정된 오프셋을 상기 제1 데이터 값에 더하여 제2 데이터 값을 생성하고, 상기 생성된 제2 데이터 값을 압축한 압축 데이터를 상기 메모리에 저장하는 프로세서를 포함하고, 상기 압축 데이터의 헤더는 상기 제2 데이터 값의 비트 수 및 상기 결정된 오프셋에 대한 정보를 포함할 수 있다.
그리고, 상기 제2 데이터 값의 비트 수는 상기 제1 데이터 값의 비트 수보다 적을 수 있다.
또한, 상기 메모리는, 영상 데이터의 스트림 비트 수 및 제1 데이터 값의 범위에 대응되는 설정 가능한 오프셋들이 포함된 인덱스 테이블을 저장하고, 상기 프로세서는, 상기 저장된 인덱스 테이블을 검색하여, 상기 설정 가능한 오프셋들 중에서 상기 제1 데이터 값의 비트 수를 줄일 수 있는 오프셋을 결정할 수 있다.
그리고, 상기 설정 가능한 오프셋들의 개수는 상기 영상 데이터의 스트림 비트 수에 따라 결정될 수 있다.
또한, 상기 헤더는, 상기 제2 데이터 값의 비트 수 및 오프셋 정보를 나타내는 인덱스 값을 포함할 수 있다.
그리고, 상기 프로세서는, 무손실 압축 알고리즘을 이용하여 상기 제2 데이터 값을 압축할 수 있다.
또한, 상기 무손실 압축 알고리즘은, 상기 생성된 제2 데이터 값의 중복되는 비트 헤더를 삭제하고, 상기 생성된 제2 데이터 값의 비트 수 및 상기 결정된 오프셋에 대한 정보를 포함하는 헤더를 붙여 상기 생성된 제2 데이터 값을 압축할 수 있다.
그리고, 상기 프로세서는, 주변 픽셀 값에 기초하여 상기 수신된 영상 데이터를 구성하는 프레임의 각각의 픽셀 값에 대해 예측 픽셀 값을 결정하고, 상기 수신된 영상 데이터를 구성하는 프레임의 픽셀 값에서 상기 결정된 예측 픽셀 값을 차분하여 상기 제1 데이터 값으로 변환할 수 있다.
또한, 상기 영상 입력부에서 수신된 영상 데이터를 저장하는 버퍼를 더 포함하고, 상기 프로세서는, 기설정된 단위로 상기 버퍼에 저장된 영상 데이터를 나누어 수신할 수 있다.
한편, 본 개시의 일 실시 예에 따른 전자 장치의 영상 압축 방법은, 영상 데이터를 수신하는 단계, 상기 수신된 영상 데이터를 구성하는 프레임의 픽셀 값을 기설정된 알고리즘을 이용하여 제1 데이터 값으로 변환하는 단계, 상기 변환된 제1 데이터 값의 범위를 기초로 상기 제1 데이터 값의 비트 수를 줄일 수 있는 오프셋을 결정하는 단계, 상기 결정된 오프셋을 상기 제1 데이터 값에 더하여 제2 데이터 값을 생성하는 단계 및 상기 생성된 제2 데이터 값을 압축한 압축 데이터를 생성하여 저장하는 단계를 포함하고, 상기 압축 데이터의 헤더는 상기 제2 데이터 값의 비트 수 및 상기 결정된 오프셋에 대한 정보를 포함할 수 있다.
그리고, 상기 제2 데이터 값의 비트 수는 상기 제1 데이터 값의 비트 수보다 적을 수 있다.
또한, 영상 데이터의 스트림 비트 수 및 제1 데이터 값의 범위에 대응되는 설정 가능한 오프셋들이 포함된 인덱스 테이블을 저장하는 단계를 더 포함하고, 상기 오프셋을 결정하는 단계는, 상기 저장된 인덱스 테이블을 검색하여, 상기 설정 가능한 오프셋들 중에서 상기 제1 데이터 값의 비트 수를 줄일 수 있는 오프셋을 결정할 수 있다.
그리고, 상기 설정 가능한 오프셋들의 개수는 상기 영상 데이터의 스트림 비트 수에 따라 결정될 수 있다.
또한, 상기 헤더는, 상기 제2 데이터 값의 비트 수 및 오프셋 정보를 나타내는 인덱스 값을 포함할 수 있다.
그리고, 상기 압축 데이터를 생성하여 저장하는 단계는, 무손실 압축 알고리즘을 이용하여 상기 제2 데이터 값을 압축할 수 있다.
또한, 상기 무손실 압축 알고리즘은, 상기 생성된 제2 데이터 값의 중복되는 비트 헤더를 삭제하고, 상기 생성된 제2 데이터 값의 비트 수 및 상기 결정된 오프셋에 대한 정보를 포함하는 헤더를 붙여 상기 생성된 제2 데이터 값을 압축할 수 있다.
그리고, 상기 제1 데이터 값으로 변환하는 단계는, 주변 픽셀 값에 기초하여 상기 수신된 영상 데이터를 구성하는 프레임의 각각의 픽셀 값에 대해 예측 픽셀 값을 결정하는 단계 및 상기 수신된 영상 데이터를 구성하는 프레임의 픽셀 값에서 상기 결정된 예측 픽셀 값을 차분하여 상기 제1 데이터 값으로 변환하는 단계를 포함할 수 있다.
또한, 상기 영상 데이터를 수신하는 단계는, 수신된 영상 데이터를 버퍼에 저장하는 단계 및 기설정된 단위로 상기 버퍼에 저장된 영상 데이터를 나누어 수신하는 단계를 포함할 수 있다.
한편, 상기 목적을 달성하기 위한 본 개시의 일 실시 예에 따른 전자 장치의 영상 압축 방법을 실행하기 위한 프로그램을 포함하는 비일시적 컴퓨터 판독가능 기록매체는, 영상 데이터를 수신하는 단계, 상기 수신된 영상 데이터를 구성하는 프레임의 픽셀 값을 기설정된 알고리즘을 이용하여 제1 데이터 값으로 변환하는 단계, 상기 변환된 제1 데이터 값의 범위를 기초로 상기 제1 데이터 값의 비트 수를 줄일 수 있는 오프셋을 결정하는 단계, 상기 결정된 오프셋을 상기 제1 데이터 값에 더하여 제2 데이터 값을 생성하는 단계 및 상기 생성된 제2 데이터 값을 압축한 압축 데이터를 생성하여 저장하는 단계를 포함하고, 상기 압축 데이터의 헤더는 상기 제2 데이터 값의 비트 수 및 상기 결정된 오프셋에 대한 정보를 포함하는 영상 압축 방법을 포함할 수 있다.
이상과 같은 본 개시의 다양한 실시 예에 따르면, 오프셋을 도입하여 압축률을 향상시키면서도 비트 길이 헤더(BLH)의 사용되지 않았던 인덱스를 이용하여 오프셋 정보를 저장함에 따라, 프로세싱 사이클을 증가시키기 않으면서도 압축률이 향상될 수 있다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치의 구성을 설명하기 위한 개략적인 블럭도,
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 구성을 상세히 설명하기 위한 블럭도,
도 3 및 도 4는 본 개시의 일 실시 예에 따른 제1 데이터 생성 방법을 설명하기 위한 도면,
도 5는 본 개시의 일 실시 예에 따른 오프셋을 적용하지 않은 경우를 도시한 도면,
도 6은 본 개시의 일 실시 예에 따른 오프셋을 적용한 경우를 도시한 도면,
도 7은 본 개시의 일 실시 예에 따른 영상 압축 방법을 설명하기 위한 흐름도, 그리고,
도 8은 본 개시의 일 실시 예에 따른 영상 복원 방법을 설명하기 위한 흐름도이다.
이하에서는 본 개시의 바람직한 실시 예가 첨부된 도면을 참조하여 상세히 설명한다. 본 개시를 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다. 그리고 후술되는 용어들은 본 개시에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되지는 않는다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 항목들의 조합 또는 복수의 관련된 항목들 중의 어느 하나의 항목을 포함한다.
본 명세서에서 사용한 용어는 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 제한 및/또는 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 숫자, 동작, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 동작, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
실시 예에 있어서 '모듈' 혹은 '부'는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어 또는 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 '모듈' 혹은 복수의 '부'는 특정한 하드웨어로 구현될 필요가 있는 '모듈' 혹은 '부'를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.
이하에서는 첨부된 도면을 이용하여 본 개시에 대하여 구체적으로 설명한다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치(100)의 구성을 설명하기 위한 개략적인 블럭도이다. 도 1을 참조하면, 전자 장치(100)는 영상 입력부(110), 메모리(120) 및 프로세서(130)를 포함할 수 있다.
영상 입력부(110)는 다양한 소스로부터 영상 데이터를 수신할 수 있다. 예를 들어, 영상 입력부(110)는 외부의 방송국으로부터 방송 데이터를 수신할 수 있다. 다른 예로, 영상 입력부(110)ms 외부 장치(ex. 셋탑박스, DVD 플레이어)로부터 영상 데이터를 수신하거나, 외부 서버로부터 영상 데이터를 스트리밍 받을 수 있다.
메모리(120)는 전자 장치(100)에서 이용되는 데이터를 저장할 수 있다. 예를 들어, 메모리(120)는 프로세서(130)에서 압축된 영상 데이터를 저장할 수 있다. 그 밖에 메모리(120)는 전자 장치(100)를 구동하기 위한 다양한 모듈, 소프트웨어, 데이터를 저장할 수 있다.
프로세서(130)는 전자 장치(100)의 전반적인 구성을 제어한다. 예를 들어 프로세서(130)는 영상 데이터를 압축하여 메모리(120)에 저장할 수 있고, 메모리(120)로부터 압축된 영상 데이터를 읽어들여 복원할 수 있다. 프로세서(130)는 단일 CPU로 구현되어 제어 동작, 압축/복원 동작 등을 수행할 수도 있고, 복수의 프로세서 및 특정 기능을 수행하는 IP, 회로로 구성될 수도 있다.
본 개시의 일 실시 예에 따르면, 프로세서(130)는 수신된 영상 데이터를 구성하는 프레임의 픽셀 값을 압축하여 저장할 수 있다. 프로세서(130)는 수신된 영상 데이터의 픽셀 값에 대한 예측 픽셀 값을 생성할 수 있다. 그리고, 프로세서(130)는 수신된 영상 데이터의 픽셀 값(original)에서 예측 픽셀 값(predicted)을 차분하여 제1 데이터 값을 생성할 수 있다. 예를 들어, 제1 데이터 값은 2의 보수 표현법(two's complement representation)으로 기재될 수 있다.
프로세서(130)는 제1 데이터 값에 더해줄 경우 압축 데이터의 비트 수가 줄어드는 효과를 얻을 수 있는 오프셋을 결정할 수 있다. 오프셋 결정 방법은 이하에서 다시 구체적으로 설명하기로 한다.
프로세서(130)는 결정된 오프셋을 제1 데이터 값에 더하여 제2 데이터 값을 생성할 수 있다. 그리고, 프로세서(130)는 제2 데이터 값을 압축하고 비트 길이 헤더(BLH)를 붙여 압축 데이터를 생성할 수 있다. 제2 데이터 값의 비트 수(제2 데이터 값을 표현하기 위한 비트 수)는 제1 데이터의 비트 수보다 적기 때문에, 프로세서(130)는 기존의 압축 효과에 더하여 비트 수 감소로 인한 추가 압축 효과를 얻을 수 있다.
비트 길이 헤더(BLH)에는 비트 길이에 관한 정보 및 오프셋 값이 포함될 수 있다. 프로세서(130)는 오프셋 값에 대한 정보를 비트 길이 헤더(BLH)의 사용되지 않는 인덱스에 매핑하여 전송할 수 있다. 따라서, 비트 길이 헤더(BLH)의 비트 수가 증가하지 않고도 추가 정보가 포함될 수 있는 효과가 있다.
또한, 프로세서(130)는 상술한 압축 단계를 역순으로 적용하여 압축 데이터를 원본 영상 데이터로 복원할 수 있다. 구체적인 복원 방법은 이하에서 다시 설명하기로 한다.
도 2는 본 개시의 일 실시 예에 따른 전자 장치(100)의 구성을 상세히 설명하기 위한 블럭도이다. 도 2를 참조하면, 전자 장치(100)는 영상 입력부(110), 메모리(120), 프로세서(130), 버퍼(140), 후처리부(150) 및 디스플레이부(160)를 포함할 수 있다. 도 2의 실시 예는 본 개시의 일 예 일뿐이며, 사용자 입력부(미도시), 통신부(미도시)와 같은 추가 구성이 포함될 수도 있다. 또한, 도 2에 도시된 일부 구성이 생략될 수도 있고, 일부 구성이 다른 구성의 기능을 포함하여 수행할 수도 있다.
영상 입력부(110)는 다양한 소스로부터 영상 데이터를 수신할 수 있다. 그리고, 영상 입력부(110)는 수신한 영상 데이터를 후술할 버퍼(140)에 임시 저장할 수 있다. 예를 들어, 영상 입력부(110)는 YUV 포맷의 영상 데이터를 수신할 수 있다. YUV 포맷은 명암을 나타내는 Y 데이터와 컬러를 나타내는 U, V 데이터로 구성된다. 영상 데이터는 Y, U, V를 나타내는 각각의 픽셀 영역으로 구분될 수 있다.
메모리(120)는 전자 장치(100)의 동작에 필요한 각종 프로그램 및 데이터를 저장할 수 있다. 예를 들어, 메모리(120)는 프로세서(130)에서 압축된 영상 데이터를 저장할 수 있다. 그리고, 메모리(120)는 영상 데이터의 스트림 비트 수 및 변환된 픽셀 값의 범위에 대응되는 설정 가능한 오프셋들이 포함된 인덱스 테이블을 저장할 수 있다. 인덱스 테이블은 비트 길이 헤더(BLH)의 인덱스들에 비트 길이, 오프셋 값을 매핑한 것일 수 있다.
그 밖에 메모리(120)는 전자 장치(100)를 구동하기 위한 다양한 모듈, 소프트웨어, 데이터를 저장할 수 있다. 예를 들어, 메모리(120)는 압축/복원 어플리케이션을 저장할 수 있다. 압축/복원 어플리케이션은 프로세서(130)에 의해 구동되어 영상 데이터를 압축/복원할 수 있도록 하는 명령어들을 포함하는 컴퓨터 프로그램 또는 어플리케이션일 수 있다.
메모리(120)는 플래시 메모리, 하드디스크 등의 형태로 구현 가능하다. 예를 들어, 메모리(120)는 전자 장치(100)의 동작 수행을 위한 프로그램을 저장하기 위한 ROM, 전자 장치(100)의 동작 수행에 따른 데이터를 일시적으로 저장하기 위한 RAM 등을 구비할 수 있다. 또한, 각종 참조 데이터를 저장하기 위한 EEPROM(Electrically Erasable and Programmable ROM) 등을 더 구비할 수 있다
버퍼(140)는 영상 입력부(110)에서 수신된 영상 데이터를 저장할 수 있다. 그리고, 프로세서(130)는 버퍼(140)에 저장된 영상 데이터를 기설정된 단위로 나누어 수신할 수 있다. 버퍼(140)는 데이터 처리 속도, 처리 단위 등이 서로 다른 구성 요소들 사이에서 데이터를 주고받기 위한 목적으로 사용되는 임시 저장공간이다. 예를 들어, 프로세서(130)는 1회에 영상 압축을 처리할 수 있는 데이터 크기 단위로 버퍼(140)에 저장된 영상 데이터를 나누어 읽어올 수 있다.
후처리부(150)는 프로세서(130)에서 복원된 영상 데이터에 대한 후처리를 진행할 수 있다. 예를 들어, 후처리부(150)는 복원된 영상 데이터에 대한 스케일링, 노이즈 필터링, 프레임 레이트 변환, 해상도 변환과 같은 다양한 이미지 처리를 수행할 수 있다.
디스플레이부(160)는 후처리부(150)에서 이미지 처리된 영상 데이터를 표시할 수 있다. 또한, 디스플레이부(160)는 전자 장치(100)에서 제공하는 사용자 인터페이스 창 등을 표시할 수 있다. 예를 들어, 사용자 인터페이스 창은 안내 메시지, 알림 메시지, 기능 설정 메뉴, 동작 실행 버튼 등을 포함할 수 있다. 이러한 디스플레이부(160)는 LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diodes), AM-OLED(Active-Matrix Organic Light-Emitting Diode), PDP(Plasma Display Panel) 등과 같은 다양한 형태로 구현될 수 있다.
이하에서는 도면을 참조하여 프로세서(130)의 동작에 대해 보다 상세히 설명하기로 한다. 이하의 설명에서 영상 데이터는 YUV 포맷의 데이터임을 가정하여 설명하기로 한다. 하지만, 영상 데이터의 포맷이 항상 YUV 포맷인 것으로 한정하는 것은 아니다.
YUV 포맷은 명암을 나타내는 Y 데이터와 컬러를 나타내는 U, V 데이터로 구성된다. U가 명암에서의 파란 색 성분을 나타내고, V가 명암에서 빨간 색 성분을 나타내가 때문에, U, V를 각각 Cb, Cr로 표현하기도 한다. 영상 데이터는 Y, U, V를 나타내는 각각의 픽셀 영역으로 구분될 수 있다. 예를 들어, YUV 420 포맷의 경우 Y가 4 byte 존재하면, U와 V가 각각 1 byte 씩 존재한다. 그리고, 4개의 Y 픽셀 값이 U와 V의 픽셀 값을 공유하는 형태로 구성될 수 있다.
본 개시의 일 실시 예에 따른 전자 장치(100)는 YUV의 각 영역을 나누어 각각의 영역을 구성하는 픽셀 값들에 대해 압축을 수행할 수 있다. 예를 들어, 도 3에 도시된 4 X 4 크기의 픽셀은 Y, U, V 중 하나의 픽셀 영역의 일 부분에 해당할 수 있다.
프로세서(130)는 영상 입력부(110) 또는 버퍼(140)에서 수신된 원본 영상 데이터(original)를 구성하는 프레임의 픽셀 값을 기설정된 알고리즘을 이용하여 제1 데이터 값으로 변환할 수 있다. 예를 들어, 프로세서(130)는 주변 픽셀 값을 이용한 공간적 예측으로 원본 영상 데이터의 픽셀 값 각각에 대한 예측 픽셀 값을 결정한다. 그리고, 프로세서(130)는 원본 영상 데이터의 픽셀 값에서 예측 픽셀 값을 차분하여 제1 데이터 값을 생성할 수 있다. 제1 데이터 값은 예측 에러 값(prediction error)으로도 불릴 수 있다.
이러한 과정을 통해 프로세서(130)는 픽셀 값을 나타내는 데이터의 절대치를 줄여줄 수 있다. 도 3 및 도 4를 참조하여, 상술한 제1 데이터 생성 과정을 상세히 설명하기로 한다.
도 3의 좌측에 도시된 4 X 4 픽셀 값은 영상 데이터를 구성하는 프레임의 일 영역에 대한 픽셀 값이다. 픽셀 값은 0 ~ 255까지의 값으로 표현될 수 있다. 프로세서(130)는 다양한 기설정된 알고리즘을 이용하여 원본 픽셀 값에 대한 예측 픽셀 값을 결정할 수 있다. 이하에서 설명할 도 3에 적용된 알고리즘은 일 실시 예에 불과할 뿐, 반드시 아래에 설명된 알고리즘에 의해 예측 픽셀 값이 결정되어야 하는 것은 아니다.
프로세서(130)는 영상 처리를 위한 픽셀 단위(예를 들어, 4 X 4)의 좌측 최상단에 위치한 픽셀 값을 베이스 픽셀 값으로 결정할 수 있다. 결정된 베이스 픽셀 값은 이후에 압축된 영상 데이터를 복원하기 위하여 사용된다. 프로세서(130)는 베이스 픽셀 값을 압축된 영상 데이터와 함께 메모리(120)에 저장할 수 있다.
도 3의 예에서, 프로세서(130)는 좌측 최상단 픽셀의 값인 30을 베이스 픽셀 값으로 결정할 수 있다. 그리고, 프로세서(130)는 우선 최상단 행 및 최좌측 열에 대한 예측 픽셀 값을 결정할 수 있다. 최상단 행을 예로 들면, 프로세서(130)는 (1,1)에 위치한 픽셀의 원래 픽셀 값 30을 (1,2)에 위치한 픽셀의 예측 픽셀 값으로 결정할 수 있다. 그리고, 프로세서(130)는 (1,2)에 위치한 픽셀의 원래 픽셀 값 32을 (1,3)에 위치한 픽셀의 예측 픽셀 값으로 결정할 수 있다. 이러한 방식으로 프로세서(130)는 최상단 행 및 최좌측 열에 대한 예측 픽셀 값을 결정할 수 있다.
다음으로, 프로세서(130)는 나머지 픽셀들에 대한 예측 픽셀 값을 결정할 수 있다. 프로세서(130)는 예측 대상 픽셀의 상단 및 좌측에 위치한 2개의 픽셀 값의 평균 값(정수 부분 이하는 버림)을 예측 대상 픽셀의 예측 픽셀 값으로 결정할 수 있다. (2,2) 픽셀을 예로 들면, 프로세서(130)는 상단의 (1,2) 픽셀의 원본 픽셀 값 32와 좌측의 (2,1) 픽셀의 원본 픽셀 값 35의 평균 값인 33을 (2,2) 픽셀에 대한 예측 픽셀 값으로 결정할 수 있다.
상술한 본 개시의 일 실시 예에 따른 알고리즘을 적용하여, 프로세서(130)는 원본 픽셀 값에 대한 예측 픽셀 값을 결정할 수 있다. 도 3의 좌측에 도시된 원본 픽셀 값에 대한 예측 픽셀 값은 우측에 도시되어 있다.
그리고, 프로세서(140)는 원본 픽셀 값에서 예측 픽셀 값을 차분하여 도 4와 같은 제1 데이터 값(또는 예측 에러 값)으로 변환할 수 있다. 도 4와 같이 차분된 픽셀 값은 0 값에 가까운 값들로 구성되기 때문에, 프로세서(130)는 픽셀 데이터의 절대치를 줄일 수 있다.
프로세서(130)는 영상 압축 처리의 효율을 위하여 기설정된 크기로 제1 데이터 값을 나누어 사용할 수 있다. 예를 들어, 프로세서(130)는 4 X 2 크기의 픽셀 영역 단위로 영상 압축을 수행할 수 있다. 이하의 예에서는 도 4의 하단 4 X 2 영역인 [3, 2, -1, 0, 4, 0, 5, 2]를 이용하여 설명하기로 한다.
도 5는 본 개시의 일 실시 예에 따른 오프셋을 적용하지 않은 경우를 도시한 도면이다. 프로세서(130)는 무손실 압축 알고리즘을 이용하여 데이터를 압축할 수 있다. 손실 압축 알고리즘은 각 단계를 거치며 에러 값이 전파 확산되기 때문에, 영상 데이터에 사용되기 적합하지 않다. 이하에서는 무손실 압축 알고리즘의 일 예를 통해 픽셀 데이터를 압축하는 방법을 설명하기로 한다.
도 5를 참조하면, 프로세서(130)는 제1 데이터 값을 2의 보수 표현 방식으로 기재할 수 있다. 2의 보수 표현 방식은, 양수 값에 대해서는 2진수로 표현하고, 음수 값에 대해서는 2진수의 2의 보수 값으로 표현하는 방식을 말한다. 예를 들어, 3에 대한 2의 보수 표현은, 3을 2진수로 표현한 0000000011이다. 다른 예로, -1에 대한 2의 보수 표현은, 1을 2진수로 표현한 0000000001의 2의 보수인 1111111111이다. 도 5의 실시 예에서는 영상 데이터 스트림이 10 bit인 것을 가정하였기 때문에, 각 픽셀 값을 2의 보수 표현으로 기재한 수의 길이가 10이 된다.
프로세서(130)는 각각의 픽셀 값을 구분하기 위해 필요한 비트 수를 결정할 수 있다. 도 5의 예에서, 프로세서(130)는 마지막 4개의 비트만을 가지고 있으면 픽셀 값을 구분할 수 있다. 프로세서(130)는 중복되는 비트 헤더를 삭제하여 픽셀 값을 압축할 수 있다.
그리고, 프로세서(130)는 중복된 비트를 제외한 유효 비트 수를 표시하기 위해 압축되는 영상 데이터의 헤더에 비트 길이 헤더(BLH)를 패킹할 수 있다. 도 5의 예에서, 유효 비트 길이인 4를 표현하는 0100라는 인덱스를 갖는 BLH가 패킹된 것을 확인할 수 있다.
이와 같이 프로세서(130)는 중복된 비트를 제거하여 픽셀 값을 압축할 수 있다. 하지만, 이하에서 설명할 오프셋을 적용하는 방법을 통하여 추가적인 압축 효과를 얻을 수 있다.
도 6은 본 개시의 일 실시 예에 따른 오프셋을 적용한 경우를 도시한 도면이다. 도 6을 이용하여 오프셋을 결정하는 방법, 오프셋 적용하는 방법, 오프셋 정보를 비트 길이 헤더(BLH)에 실어주는 방법을 설명하기로 한다.
프로세서(130)는 제1 데이터의 범위를 기초로 제1 데이터 값의 비트 수를 줄일 수 있는 오프셋을 결정할 수 있다. 프로세서(130)는 제1 데이터의 최대 값 및 최소 값을 검출하여 제1 데이터의 범위를 판단할 수 있다. 그리고, 프로세서(130)는 제1 데이터의 범위에 대응되는 오프셋을 인덱스 테이블을 검색하여 결정할 수 있다. 인덱스 테이블은 영상 데이터의 스트림 비트 수 및 제1 데이터 값의 범위에 대응하여 설정 가능한 오프셋들이 포함된 매핑 테이블이다. 프로세서(130)는 미리 데이터 압축 실험 결과 등을 이용하여 각각의 제1 데이터 값 범위에 따라 최적의 오프셋을 결정하여 매핑 테이블에 저장할 수 있다.
매핑 테이블에 저장될 수 있는 설정 가능한 오프셋들의 개수는 영상 데이터의 스트림 비트 수에 따라 결정된다. 본 개시의 일 실시 예에 따르면, 오프셋 정보를 비트 길이 헤더(BLH)의 사용하지 않는 인덱스에 매핑시키기 때문이다. 비트 길이 헤더(BLH)의 비트 수는 고정된 비트 수를 갖는다. 예를 들어, 도 5 및 도 6에서 비트 길이 헤더(BLH)는 4 비트의 고정된 비트 수를 갖는다.
4비트의 비트 수를 이용하면 비트 길이 헤더(BLH)는 0 ~ 15의 인덱스를 포함할 수 있다. 그리고, 영상 데이터의 스트림 비트 수만큼은 유효 비트 수를 표현하기 위한 인덱스로 매핑되어 있다. 예를 들어, 10비트 데이터 스트림의 경우 비트 길이 헤더(BLH)의 0 ~ 9의 인덱스는 1 ~ 10까지의 유효 비트 수를 매핑하는데 사용된다. 그리고, 10 ~ 15의 인덱스는 사용되지 않는 인덱스에 해당한다. 프로세서(130)는 이러한 사용되지 않는 인덱스에 유효 비트 수와 오프셋을 함께 매핑시킬 수 있다. 이에 따라, 본 발명은 데이터 크기를 증가시키지 않고도 오프셋 정보를 저장할 수 있다.
도 6의 예에서, 프로세서(130)는 제1 데이터 값의 최대 값인 5와 최소 값인 -1을 통해 제1 데이터 값의 범위를 판단할 수 있다. 그리고, 프로세서(130)는 유효 비트 수를 줄일수 있는 오프셋 값을 결정할 수 있다. 오프셋은 제1 데이터 값에 더해질 경우, 보다 0에 가까운 값들로 변환할 수 있는 값일 수 있다. 도 6의 예에서, 프로세서(130)는 오프셋을 -3으로 결정할 수 있다.
프로세서(130)는 제1 데이터 값에 오프셋을 더하여 제2 데이터 값을 생성할 수 있다. 도 6에서 제2 데이터 값인 [0, -1, -4, -3, 1, -3, 1, -3, 2, -1]은 상술한 압축 알고리즘에 의해 2의 보수 표현으로 기재될 경우 3개의 유효 비트만을 가지고도 픽셀 값을 구분할 수 있게 된다. 즉, 오프셋을 적용하여, 프로세서(130)는 제1 데이터 값의 비트 수보다 적은 비트 수를 갖는 제2 데이터 값을 생성할 수 있다.
프로세서(130)는 생성된 제2 데이터 값의 중복되는 비트 헤더를 삭제하여 영상 데이터를 압축할 수 있다. 도 6의 예에서, 프로세서(130)는 마지막 3개의 비트만을 가지고 있으면 픽셀 값을 구분할 수 있다. 프로세서(130)는 중복되는 비트 헤더를 삭제하여 픽셀 값을 압축할 수 있다.
그리고, 프로세서(130)는 비트 길이 헤더(BLH)에 제2 데이터 값의 비트 수 및 결정된 오프셋에 대한 정보를 패킹할 수 있다. 도 6의 예에서 비트 길이 헤더(BLH)의 사용되지 않던 인덱스인 1111에는 유효 비트 수는 3이며 오프셋은 -3이라는 정보가 매핑될 수 있다.
오프셋이 적용되지 않은 도 5의 예에 비하여, 오프셋이 적용된 도 6의 예에서는 각 픽셀 값을 표현하는데 1 비트씩이 덜 사용되었다. 이와 같이, 프로세서(130)는 제1 데이터 값의 범위에 따라 적절한 오프셋 값을 적용함으로써 압축 효율을 더욱 향상시킬 수 있다.
도 7은 본 개시의 일 실시 예에 따른 전자 장치(100)의 영상 압축 방법을 설명하기 위한 흐름도이다. 우선 전자 장치(100)는 외부 소스로부터 영상 데이터를 수신할 수 있다(S710). 그리고, 전자 장치(100)는 수신된 영상 데이터의 각 프레임에 대한 픽셀 값을 압축할 수 있다. 전자 장치(100)는 YUV 포맷의 영상 데이터에서 Y, U, V 데이터 각각의 픽셀 영역에 대해 모두 압축을 수행할 수 있다.
전자 장치(100)는 수신된 영상 데이터를 구성하는 프레임의 픽셀 값을 기설정된 알고리즘을 이용하여 제1 데이터 값으로 변환할 수 있다(S720). 구체적으로, 전자 장치(100)는 주변 픽셀 값에 기초하여 각각의 픽셀 값에 대해 예측 픽셀 값을 결정할 수 있다. 그리고, 전자 장치(100)는 수신된 영상 데이터의 원본 픽셀 값에서 예측 픽셀 값을 차분하여 제1 데이터 값을 구할 수 있다. 제1 데이터 값은 원본 픽셀 값에 비해 0에 가까운 값들로 구성되기 때문에, 전자 장치(100)는 픽셀 데이터의 절대치를 줄일 수 있다.
그리고, 전자 장치(100)는 제1 데이터 값의 범위를 기초로 제1 데이터 값의 비트 수를 줄일 수 있는 오프셋을 결정할 수 있다(S730). 예를 들어, 전자 장치(100)는 제1 데이터 값의 최대/최소 값을 이용하여 범위를 결정하고, 결정된 범위에 대응하여 기결정된 오프셋 값을 검색할 수 있다. 이어서 전자 장치(100)는 제1 데이터 값에 오프셋을 더하여 제2 데이터 값을 생성할 수 있다(S740). 생성된 제2 데이터 값은 제1 데이터 값보다 0에 가까운 값들로 구성되어 있기 때문에, 각각의 픽셀 값을 구분하여 나타내는데 필요한 유효 비트 수가 줄어드는 효과가 발생한다.
전자 장치(100)는 제2 데이터 값을 압축하여 압축 데이터를 생성할 수 있다(S750). 그리고, 전자 장치는 생성된 압축 데이터를 메모리에 저장할 수 있다(S760). 구체적으로, 전자 장치(100)는 제2 데이터 값에서 각각의 값들을 구분하는데 불필요한 중복 비트 헤더를 제거할 수 있다. 그리고, 전자 장치(100)는 유효 비트 수 및 오프셋 정보를 비트 길이 헤더(BLH)의 사용되지 않던 인덱스에 매핑할 수 있다. 따라서, 비트 길이 헤더(BLH)의 크기 변화 없이도, 전자 장치(100)는 오프셋 정보를 추가할 수 있다. 오프셋에 의해 유효 비트 수를 줄이는 효과를 얻을 수 있음에도, 비트 길이 헤더(BLH)의 크기는 유지된다는 점에서, 전자 장치(100)는 압축률을 기존에 비해 향상시킬 수 있다.
도 8은 본 개시의 일 실시 예에 따른 전자 장치(100)의 영상 복원 방법을 설명하기 위한 흐름도이다. 전자 장치(100)는 압축 데이터에 상술한 영상 압축 방법을 역순으로 적용하여 원본 영상 데이터를 복원할 수 있다.
우선 전자 장치(100)는 메모리에 저장된 압축 데이터를 정해진 유효 비트만큼 파싱할 수 있다(S810). 비트 길이 헤더(BLH)에 유효 비트 수(제2 데이터 값의 비트 수)가 포함되어 있기 때문에, 전자 장치(100)는 유효 비트 수만큼씩 복원할 데이터를 파싱할 수 있다.
전자 장치(100)는 파싱된 데이터를 압축 해제하여 제2 데이터를 생성할 수 있다(S820). 예를 들어, 전자 장치(100)는 3 비트로 압축되었던 데이터에 중복 비트 헤더를 확장하여 본래의 10 비트 데이터로 변환할 수 있다. 그리고, 전자 장치(100)는 비트 길이 헤더(BLH)에 저장된 오프셋 값을 제2 데이터 값에서 빼서 제1 데이터 값을 생성할 수 있다(S830).
전자 장치(100)는 제1 데이터 값으로부터 수신된 영상 데이터를 복원할 수 있다(S840). 전자 장치(100)는 제1 데이터 값과 압축 과정에서 저장된 베이스 픽셀 값을 이용하여 원본 픽셀 값을 복원할 수 있다. 알고리즘의 종류에 따라서, 전자 장치(100)는 제1 데이터 값과 저장된 베이스 픽셀 값을 이용하여 원복 픽셀 값과 예측 픽셀 값을 동시에 복원해야할 수도 있다. 그리고, 전자 장치(100)는 복원된 영상 데이터를 후처리하여 디스플레이할 수 있다(S850).
상술한 바와 같은 다양한 실시 예에 따르면, 유효 비트 수를 줄일 수 있는 오프셋을 결정하고, 결정된 오프셋을 비트 길이 헤더(BLH)의 사용되지 않던 부분에 저장함으로써, 오프셋을 사용하지 않는 경우에 비하여 압축률이 향상되는 효과가 발생한다.
상기에서 설명된 방법들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광 기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기의 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 개시는 비록 한정된 실시 예와 도면에 의해 설명되었으나, 본 개시는 상기의 실시 예에 한정되는 것은 아니며, 본 개시가 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 그러므로, 본 개시의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100: 전자 장치 110: 영상 입력부
120: 메모리 130: 프로세서
140: 버퍼 150: 후처리부
160: 디스플레이부

Claims (19)

  1. 전자 장치에 있어서,
    영상 데이터를 수신하는 영상 입력부;
    데이터를 저장하는 메모리; 및
    상기 영상 입력부에서 수신된 영상 데이터를 구성하는 프레임의 픽셀 값을 기설정된 알고리즘을 이용하여 제1 데이터 값으로 변환하고, 상기 변환된 제1 데이터 값의 범위를 기초로 상기 제1 데이터 값의 비트 수를 줄일 수 있는 오프셋을 결정하고, 상기 결정된 오프셋을 상기 제1 데이터 값에 더하여 제2 데이터 값을 생성하고, 상기 생성된 제2 데이터 값을 압축한 압축 데이터를 상기 메모리에 저장하는 프로세서;를 포함하고,
    상기 압축 데이터의 헤더는 상기 제2 데이터 값의 비트 수 및 상기 결정된 오프셋에 대한 정보를 포함하는 전자 장치.
  2. 제1항에 있어서,
    상기 제2 데이터 값의 비트 수는 상기 제1 데이터 값의 비트 수보다 적은 전자 장치.
  3. 제1항에 있어서,
    상기 메모리는,
    영상 데이터의 스트림 비트 수 및 제1 데이터 값의 범위에 대응되는 설정 가능한 오프셋들이 포함된 인덱스 테이블을 저장하고,
    상기 프로세서는,
    상기 저장된 인덱스 테이블을 검색하여, 상기 설정 가능한 오프셋들 중에서 상기 제1 데이터 값의 비트 수를 줄일 수 있는 오프셋을 결정하는 전자 장치.
  4. 제3항에 있어서,
    상기 설정 가능한 오프셋들의 개수는 상기 영상 데이터의 스트림 비트 수에 따라 결정되는 전자 장치.
  5. 제1항에 있어서,
    상기 헤더는,
    상기 제2 데이터 값의 비트 수 및 오프셋 정보를 나타내는 인덱스 값을 포함하는 전자 장치.
  6. 제1항에 있어서,
    상기 프로세서는,
    무손실 압축 알고리즘을 이용하여 상기 제2 데이터 값을 압축하는 전자 장치.
  7. 제6항에 있어서,
    상기 무손실 압축 알고리즘은,
    상기 생성된 제2 데이터 값의 중복되는 비트 헤더를 삭제하고, 상기 생성된 제2 데이터 값의 비트 수 및 상기 결정된 오프셋에 대한 정보를 포함하는 헤더를 붙여 상기 생성된 제2 데이터 값을 압축하는 전자 장치.
  8. 제1항에 있어서,
    상기 프로세서는,
    주변 픽셀 값에 기초하여 상기 수신된 영상 데이터를 구성하는 프레임의 각각의 픽셀 값에 대해 예측 픽셀 값을 결정하고,
    상기 수신된 영상 데이터를 구성하는 프레임의 픽셀 값에서 상기 결정된 예측 픽셀 값을 차분하여 상기 제1 데이터 값으로 변환하는 전자 장치.
  9. 제1항에 있어서,
    상기 영상 입력부에서 수신된 영상 데이터를 저장하는 버퍼;를 더 포함하고,
    상기 프로세서는,
    기설정된 단위로 상기 버퍼에 저장된 영상 데이터를 나누어 수신하는 전자 장치.
  10. 전자 장치의 영상 압축 방법에 있어서,
    영상 데이터를 수신하는 단계;
    상기 수신된 영상 데이터를 구성하는 프레임의 픽셀 값을 기설정된 알고리즘을 이용하여 제1 데이터 값으로 변환하는 단계;
    상기 변환된 제1 데이터 값의 범위를 기초로 상기 제1 데이터 값의 비트 수를 줄일 수 있는 오프셋을 결정하는 단계;
    상기 결정된 오프셋을 상기 제1 데이터 값에 더하여 제2 데이터 값을 생성하는 단계; 및
    상기 생성된 제2 데이터 값을 압축한 압축 데이터를 생성하여 저장하는 단계;를 포함하고,
    상기 압축 데이터의 헤더는 상기 제2 데이터 값의 비트 수 및 상기 결정된 오프셋에 대한 정보를 포함하는 영상 압축 방법.
  11. 제10항에 있어서,
    상기 제2 데이터 값의 비트 수는 상기 제1 데이터 값의 비트 수보다 적은 영상 압축 방법.
  12. 제10항에 있어서,
    영상 데이터의 스트림 비트 수 및 제1 데이터 값의 범위에 대응되는 설정 가능한 오프셋들이 포함된 인덱스 테이블을 저장하는 단계;를 더 포함하고,
    상기 오프셋을 결정하는 단계는,
    상기 저장된 인덱스 테이블을 검색하여, 상기 설정 가능한 오프셋들 중에서 상기 제1 데이터 값의 비트 수를 줄일 수 있는 오프셋을 결정하는 영상 압축 방법.
  13. 제12항에 있어서,
    상기 설정 가능한 오프셋들의 개수는 상기 영상 데이터의 스트림 비트 수에 따라 결정되는 영상 압축 방법.
  14. 제10항에 있어서,
    상기 헤더는,
    상기 제2 데이터 값의 비트 수 및 오프셋 정보를 나타내는 인덱스 값을 포함하는 영상 압축 방법.
  15. 제10항에 있어서,
    상기 압축 데이터를 생성하여 저장하는 단계는,
    무손실 압축 알고리즘을 이용하여 상기 제2 데이터 값을 압축하는 영상 압축 방법.
  16. 제15항에 있어서,
    상기 무손실 압축 알고리즘은,
    상기 생성된 제2 데이터 값의 중복되는 비트 헤더를 삭제하고, 상기 생성된 제2 데이터 값의 비트 수 및 상기 결정된 오프셋에 대한 정보를 포함하는 헤더를 붙여 상기 생성된 제2 데이터 값을 압축하는 영상 압축 방법.
  17. 제10항에 있어서,
    상기 제1 데이터 값으로 변환하는 단계는,
    주변 픽셀 값에 기초하여 상기 수신된 영상 데이터를 구성하는 프레임의 각각의 픽셀 값에 대해 예측 픽셀 값을 결정하는 단계; 및
    상기 수신된 영상 데이터를 구성하는 프레임의 픽셀 값에서 상기 결정된 예측 픽셀 값을 차분하여 상기 제1 데이터 값으로 변환하는 단계;를 포함하는 영상 압축 방법.
  18. 제10항에 있어서,
    상기 영상 데이터를 수신하는 단계는,
    수신된 영상 데이터를 버퍼에 저장하는 단계; 및
    기설정된 단위로 상기 버퍼에 저장된 영상 데이터를 나누어 수신하는 단계;를 포함하는 영상 압축 방법.
  19. 전자 장치의 영상 압축 방법을 실행하기 위한 프로그램을 포함하는 비일시적 컴퓨터 판독가능 기록매체에 있어서,
    상기 영상 압축 방법은,
    영상 데이터를 수신하는 단계;
    상기 수신된 영상 데이터를 구성하는 프레임의 픽셀 값을 기설정된 알고리즘을 이용하여 제1 데이터 값으로 변환하는 단계;
    상기 변환된 제1 데이터 값의 범위를 기초로 상기 제1 데이터 값의 비트 수를 줄일 수 있는 오프셋을 결정하는 단계;
    상기 결정된 오프셋을 상기 제1 데이터 값에 더하여 제2 데이터 값을 생성하는 단계; 및
    상기 생성된 제2 데이터 값을 압축한 압축 데이터를 생성하여 저장하는 단계;를 포함하고,
    상기 압축 데이터의 헤더는 상기 제2 데이터 값의 비트 수 및 상기 결정된 오프셋에 대한 정보를 포함하는 비일시적 컴퓨터 판독가능 기록매체.
KR1020160145313A 2016-11-02 2016-11-02 전자 장치, 그의 영상 압축 방법 및 비일시적 컴퓨터 판독가능 기록매체 KR20180048127A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020160145313A KR20180048127A (ko) 2016-11-02 2016-11-02 전자 장치, 그의 영상 압축 방법 및 비일시적 컴퓨터 판독가능 기록매체
US15/659,097 US10304420B2 (en) 2016-11-02 2017-07-25 Electronic apparatus, image compression method thereof, and non-transitory computer readable recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160145313A KR20180048127A (ko) 2016-11-02 2016-11-02 전자 장치, 그의 영상 압축 방법 및 비일시적 컴퓨터 판독가능 기록매체

Publications (1)

Publication Number Publication Date
KR20180048127A true KR20180048127A (ko) 2018-05-10

Family

ID=62022494

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160145313A KR20180048127A (ko) 2016-11-02 2016-11-02 전자 장치, 그의 영상 압축 방법 및 비일시적 컴퓨터 판독가능 기록매체

Country Status (2)

Country Link
US (1) US10304420B2 (ko)
KR (1) KR20180048127A (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11367385B2 (en) * 2020-02-28 2022-06-21 Apple Inc. Power saving by reordering bit sequence of image data
US11706468B1 (en) * 2020-12-31 2023-07-18 CSC Holdings, LLC CPE monitor and data collection with signature-based event analysis
CN114615209B (zh) * 2022-03-11 2024-03-08 山东云海国创云计算装备产业创新中心有限公司 一种动态适应的图像压缩方法、装置、设备及可读介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0151021B1 (ko) 1995-02-16 1998-10-15 김광호 디지탈 비디오 테이프 레코더의 비트스트림 배치/복원방법 및 그에 적합한 데이타압축장치 및 복원장치
JP2001298368A (ja) 2000-04-14 2001-10-26 Sakai Yasue 圧縮方法及び装置、伸長方法及び装置、圧縮伸長システム、記録媒体
JP4689545B2 (ja) 2006-07-05 2011-05-25 富士フイルム株式会社 データ圧縮装置およびデータ圧縮プログラム
JP6226863B2 (ja) 2012-04-13 2017-11-08 三菱電機株式会社 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
WO2014163240A1 (ko) 2013-04-02 2014-10-09 주식회사 칩스앤미디어 동영상 처리 방법 및 장치
US9589496B2 (en) 2013-08-27 2017-03-07 Samsung Display Co., Ltd. Temporal dithering technique used in accumulative data compression
WO2015105489A1 (en) * 2014-01-09 2015-07-16 Halliburton Energy Services, Inc. Drilling operations that use compositional properties of fluids derived from measured physical properties
US9686560B2 (en) * 2015-02-23 2017-06-20 Teledyne Dalsa, Inc. Lossless data compression and decompression apparatus, system, and method

Also Published As

Publication number Publication date
US20180122340A1 (en) 2018-05-03
US10304420B2 (en) 2019-05-28

Similar Documents

Publication Publication Date Title
US11012489B2 (en) Picture file processing method, picture file processing device, and storage medium
CN111989918B (zh) 视频解码的方法、装置及存储介质
ES2966479T3 (es) Un codificador, un decodificador y métodos correspondientes para la intrapredicción
US9414068B2 (en) Image processing apparatus and method
JP5529685B2 (ja) 画像符号化方法、画像復号化方法、画像符号化装置及び画像復号化装置
US20170006285A1 (en) Method and Device for Coding Image and Method and Device for Decoding Image
CN115118997A (zh) 使用dst-vii变换核对视频序列进行编码的方法和设备
US8682091B2 (en) Real-time image compression
US11395010B2 (en) Massive picture processing method converting decimal element in matrices into binary element
CN116016913A (zh) 视频编解码的方法、视频编解码器以及计算机可读介质
WO2020063294A1 (zh) 点云编解码方法及编解码器
JP7420991B2 (ja) ビデオ符号化のための方法、及び装置
US10602174B2 (en) Lossless pixel compression for random video memory access
KR20180048127A (ko) 전자 장치, 그의 영상 압축 방법 및 비일시적 컴퓨터 판독가능 기록매체
JP2017005456A (ja) 画像圧縮方法、画像圧縮装置及び撮像装置
EP4300958A1 (en) Video image encoding method, video image decoding method and related devices
US10887616B2 (en) Image processing devices having enhanced frame buffer compressors therein
US11677932B2 (en) Image processing device
TWI505717B (zh) 彩色影像之接合純量嵌入圖形寫碼
CN115428461A (zh) 用于视频编解码的方法和装置
US11153586B2 (en) Image processing device and frame buffer compressor
US11095876B2 (en) Image processing device
US20170201759A1 (en) Method and device for image encoding and image decoding
CN109474826B (zh) 图片压缩方法、装置、电子设备及存储介质
US20180352243A1 (en) Techniques for compressing multiple-channel images

Legal Events

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