KR101289881B1 - 무손실 영상 압축 장치 및 방법 - Google Patents

무손실 영상 압축 장치 및 방법 Download PDF

Info

Publication number
KR101289881B1
KR101289881B1 KR1020120020032A KR20120020032A KR101289881B1 KR 101289881 B1 KR101289881 B1 KR 101289881B1 KR 1020120020032 A KR1020120020032 A KR 1020120020032A KR 20120020032 A KR20120020032 A KR 20120020032A KR 101289881 B1 KR101289881 B1 KR 101289881B1
Authority
KR
South Korea
Prior art keywords
prediction error
context
pixel
error value
current pixel
Prior art date
Application number
KR1020120020032A
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 KR1020120020032A priority Critical patent/KR101289881B1/ko
Application granted granted Critical
Publication of KR101289881B1 publication Critical patent/KR101289881B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/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/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
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

무손실 영상 압축 장치는 입력되는 현재 화소에 대해 주변 화소를 이용하여 컨텍스트 정수를 계산하고, 상기 현재 화소에 대한 컨텍스트 상수와 이전 화소에 대한 컨텍스트 상수가 동일한 경우 상기 컨텍스트 정수에 해당하는 제1 변수로 사용할 복수의 예측 변수를 생성하고, 상기 복수의 예측 변수를 이용하여 상기 현재 화소에 대한 복수의 예측 오차 값을 계산하며, 복수의 예측 오차 값 중 하나의 예측 오차 값을 선택하고 선택한 하나의 예측 오차 값을 이용하여 상기 컨텍스트 상수에 해당하는 제1 변수를 업데이트한다. 이렇게 하면 매 클럭마다 입력되는 화소를 압축 처리할 수 있다.

Description

무손실 영상 압축 장치 및 방법{APPARATUS AND METHOD FOR LOSSLESS IMAGE COMPRESSION}
본 발명은 무손실 영상 압축 장치 및 방법에 관한 것이다.
영상이 디지털화되어 산업에 응용되기 시작하면서부터 많은 양의 영상 데이터의 보관 및 전송을 용이하게 하기 위하여 여러 가지 영상 압축 기술이 개발되기 시작하였다.
영상 압축 기술은 크게 무손실 압축 기법과 손실 압축 기법으로 나눌 수 있으며, 무손실 압축 기법은 압축 후 복원하는 과정에서 원 영상을 거의 손실 없이 복원하는 장점이 있지만 압축률이 낮은 단점이 있다. 반면 손실 압축 기법은 압축 후 복원하는 과정에서 원시 영상에 대한 손실이 발생하는 단점이 있지만 압축률이 높은 장점이 있다. 따라서 무손실 압축 기법은 의료 영상과 같이 복원에 의해 원래 데이터가 완전히 재생 되어야 하는 영상에 주로 사용된다.
무손실 압축 기법에서 주로 사용되는 JPEG-LS(Joint Photographic Expert Group-Lossless)는 선형 예측 기반의 무손실 압축 방법으로, 영상의 화질 변화 없이 압축하여 저장할 수 있는 기법이다. 이러한 JPEG-LS 기법은 주로 HD(High Definition)급 영상의 실시간 무손실 압축을 위해 사용되고 있다.
JPEG-LS 기법에서 한 프레임의 영상은 첫 번째 화소부터 순차적으로 압축이 진행되며 한 화소에 대해 압축 모드 결정, 컨텍스트 정수 결정, 예측, 예측 오차 계산 및 변수 업데이트 등의 과정을 거쳐서 압축이 이루어진다. 예측은 컨텍스트 정수에 해당하는 소정의 변수를 이용하며, 변수 업데이트는 예측 오차 계산 결과를 이용하여 이루어진다. 이때 압축 모드 결정, 컨텍스트 정수 결정, 예측, 예측 오차 계산 및 변수 업데이트가 각각 한 클럭의 시간이 요구된다면 화소간 입력 시간의 간격은 적어도 두 클럭 이상이 되어야 하므로, 압축에 소요되는 시간이 길어진다. 특히 화소 수가 많은 영상 예를 들어 4K(3840x2160)-UHD(Ultra High Definition)급 영상의 경우 압축 시간이 더 길어지게 된다.
본 발명이 해결하고자 하는 기술적 과제는 영상의 화질 변화 없이 UHD급 영상의 압축 처리 시간을 줄일 수 있는 무손실 영상 압축 장치 및 방법을 제공하는 것이다.
본 발명의 한 실시 예에 따르면, 무손실 영상 압축 장치에서 영상을 압축하는 방법이 제공된다. 무손실 영상 압축 방법은 입력되는 현재 화소에 대해 주변 화소를 이용하여 컨텍스트 정수를 계산하는 단계, 상기 주변 화소를 이용하여 상기 현재 화소의 예측 값을 계산하는 단계, 상기 현재 화소에 대한 컨텍스트 상수와 이전 화소에 대한 컨텍스트 상수가 동일한 경우, 상기 컨텍스트 상수에 해당하는 제1 변수로 사용할 복수의 예측 변수를 생성하는 단계, 상기 복수의 예측 변수를 이용하여 상기 현재 화소에 대한 복수의 예측 오차 값을 계산하는 단계, 상기 현재 화소에 대한 하나의 예측 오차 값을 이용하여 상기 컨텍스트 상수에 해당하는 제1 변수를 업데이트하는 단계, 그리고 상기 복수의 예측 오차 값 중 하나의 예측 오차 값을 압축하는 단계를 포함한다.
상기 무손실 영상 압축 방법은 상기 현재 화소에 대한 컨텍스트 상수와 이전 화소에 대한 컨텍스트 상수가 동일하지 않은 경우, 이전 화소에서 업데이트된 상기 컨텍스트 상수에 해당하는 제1 변수를 이용하여 상기 하나의 예측 오차 값을 생성하는 단계를 더 포함할 수 있다.
상기 복수의 예측 오차 값을 계산하는 단계는 이전 화소에 대한 하나의 예측 오차 값을 이용하여 상기 컨텍스트 상수에 해당하는 제1 변수를 업데이트하는 단계를 포함할 수 있고, 상기 현재 화소에 대한 하나의 예측 오차 값을 이용하여 상기 컨텍스트 상수에 해당하는 제1 변수를 업데이트하는 단계는 상기 복수의 예측 오차 값 중 상기 이전 화소에 대한 하나의 예측 오차 값을 이용하여 업데이트된 제1 변수에 해당하는 예측 오차 값을 상기 하나의 예측 오차 값으로 선택하는 단계를 포함할 수 있다.
상기 무손실 영상 압축 방법은 상기 한 프레임 영상을 상기 복수의 블록 영상으로 분할하는 단계를 더 포함할 수 있으며, 상기 현재 화소는 상기 복수의 블록 중에서 각각 하나의 화소를 포함할 수 있다.
상기 계산하는 단계는 매 클럭마다 순차적으로 화소를 입력 받는 단계를 포함할 수 있다.
본 발명의 다른 실시 예에 따르면, 무손실 영상 압축 장치가 제공된다. 무손실 영상 압축 장치는 컨텍스트 결정부, 일반 모드 구동부, 그리고 코딩부를 포함한다. 상기 컨텍스트 결정부는 입력되는 현재 화소에 대해 주변 화소를 이용하여 컨텍스트 정수를 계산한다. 상기 일반 모드 구동부는 상기 현재 화소에 대한 컨텍스트 상수와 이전 화소에 대한 컨텍스트 상수가 동일하지 않은 경우 상기 컨텍스트 정수에 해당하는 제1 변수를 이용하여 하나의 예측 오차 값을 계산하고, 상기 현재 화소에 대한 컨텍스트 상수와 이전 화소에 대한 컨텍스트 상수가 동일한 경우 상기 컨텍스트 정수에 해당하는 제1 변수로 사용할 복수의 예측 변수를 생성하고 상기 복수의 예측 변수를 이용하여 상기 현재 화소에 대한 복수의 예측 오차 값을 계산하며 복수의 예측 오차 값 중에서 상기 하나의 예측 오차 값을 선택하여 상기 컨텍스트 상수에 해당하는 제1 변수를 업데이트한다. 그리고 상기 코딩부는 상기 선택한 하나의 예측 오차 값을 이용하여 코딩을 수행한다.
상기 일반 모드 구동부는 상기 복수의 예측 오차 값을 계산하는 동안 이전 화소에 대한 하나의 예측 오차 값을 이용하여 상기 컨텍스트 상수에 해당하는 제1 변수를 업데이트하며, 상기 복수의 예측 오차 값 중 상기 이전 화소에 대한 하나의 예측 오차 값을 이용하여 업데이트된 제1 변수에 해당하는 예측 오차 값을 상기 하나의 예측 오차 값으로 선택할 수 있다.
본 발명의 실시 예에 의하면, JPEG-LS 기법에서 화소간 입력 시간의 간격을 줄일 수 있어서 압축에 소요되는 시간을 단축시킬 수 있다.
또한 멀티 코어 기반 기술을 적용함으로써, 압축 처리 시간을 더 줄일 수 있어서 4K-UHD급 영상도 실시간 압축이 가능해진다.
도 1은 본 발명의 실시 예에 따른 무손실 영상 압축 장치를 개략적으로 나타낸 도면이다.
도 2는 본 발명의 실시 예에 따른 4K-UHD급 영상을 위한 영상 분할 방법의 일 예를 나타낸 도면이다.
도 3은 도 2에 도시된 무손실 영상 압축 장치의 동작을 설명한 흐름도이다.
도 4는 본 발명의 제2 실시 예에 따른 무손실 영상 압축 장치를 나타낸 도면이다.
도 5는 본 발명의 실시 예에 따른 제2 실시 예에 따른 무손실 영상 압축 장치의 동작을 설명한 흐름도이다.
도 6은 본 발명의 제3 실시 예에 따른 무손실 영상 압축 장치를 나타낸 도면이다.
도 7은 본 발명의 실시 예에 따른 영상 분할 방법의 일 예를 나타낸 도면이다.
도 8은 본 발명의 실시 예에 따른 코드 조합기에 의해 생성된 JPEG-LS 스트림의 파일 구조를 나타낸 도면이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 및 청구범위 전체에서, 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.
이제 본 발명의 실시 예에 따른 무손실 영상 압축 장치 및 방법에 대하여 도면을 참고로 하여 상세하게 설명한다.
도 1은 본 발명의 실시 예에 따른 무손실 영상 압축 장치를 개략적으로 나타낸 도면이고, 도 2는 본 발명의 실시 예에 따른 4K-UHD급 영상을 위한 영상 분할 방법의 일 예를 나타낸 도면이다.
도 1을 참고하면, 무손실 영상 압축 장치(200)는 프레임 메모리(100)에 저장되어 있는 영상을 압축 처리한다.
입력되는 영상은 프레임 메모리(100)에 저장되는데, 한 프레임 영상은 복수의 블록으로 나누어져 프레임 메모리(100)에 저장된다.
무손실 영상 압축 장치(200)는 한 프레임 영상을 설정된 코딩 방식으로 코딩하고, 한 프레임 영상의 코딩에 따른 압축 스트림을 생성한다. 무손실 영상 압축 장치(200)는 코딩 방식으로 JPEG-LS(Joint Photographic Expert Group-Lossless)를 사용하여 해당 영상을 무손실 압축할 수 있다.
도 2는 본 발명의 제1 실시 예에 따른 무손실 영상 압축 장치를 세부적으로 나타낸 도면이다.
도 2에 도시한 바와 같이, 압축부(200)는 컨텍스트 결정부(210), 일반 모드(regular mode) 구동부(220), 런 모드(run mode) 구동부(230) 및 골롬 코딩부(240)를 포함하며, JPEG-LS(Joint Photographic Expert Group-Lossless) 방식으로 영상을 압축한다.
컨텍스트 결정부(210)는 국부 기울기(local gradient) 계산부(211), 모드 선택부(212), 양자화부(213) 및 양자화 테이블(214)을 포함한다.
일반 모드 구동부(220)는 에지 검출 예측부(221), 컨텍스트 테이블(222), 예측 보정부(223), 예측 오차 계산부(224), 골롬 코딩 변수 계산부(225), 오차 매핑부(226) 및 변수 업데이트부(227)을 포함한다.
런 모드 구동부(230)는 런 스캐닝부(231) 및 런 인터럽트 계산부(232)를 포함한다.
컨텍스트 결정부(210)에 대해 설명하면, 국부 기울기 계산부(211)는 코딩할 주목 화소(Ix)를 기준으로 복수의 주변 화소 예를 들면, 4개의 주변 화소(Ra, Rb, Rc, Rd)를 이용하여 3개의 변화분(gradient)(이하, "기울기"라 함)을 계산한다.
모드 선택부(212)는 국부 기울기 계산부(211)에 의해 구해진 3개의 기울기를 이용하여 코딩 모드를 선택한다. 모드 선택부(212)는 3개의 기울기가 동일하면 코딩 모드로 런 모드를 선택하고 3개의 기울기가 동일하지 않으면 코딩 모드로 일반 모드를 선택한다.
양자화부(213)는 양자화 테이블(214)을 이용하여 국부 기울기 계산부(211)에 의해 구해진 3개의 기울기를 양자화하여 3개의 양자화 값 Q1, Q2 및 Q3를 구하고 Q1, Q2 및 Q3로부터 컨텍스트 정수(Q)를 계산한다.
양자화 테이블(214)에는 기울기에 따른 양자화 값과 양자화 값에 따른 컨텍스트 정수가 매핑되어 저장되어 있다.
컨텍스트 결정부(210)의 모드 선택부(212)에 의해 코딩 모드가 일반 모드로 선택되면, 일반 모드 구동부(220)가 구동된다.
일반 모드 구동부(220)에 대해 설명하면, 에지 검출 예측부(221)는 주변 화소(Ra, Rb, Rc, Rd)로부터 주목 화소(Ix)의 값(Px)을 예측한다.
컨텍스트 테이블(222)에는 컨텍스트 정수(Q)에 대응하는 변수(N[Q], A[Q], B[Q], C[Q])가 저장되어 있다.
예측 보정부(223)는 컨텍스트 정수(Q)에 대응하는 변수(C[Q])를 이용하여 예측 값(Px)을 보정한다.
예측 오차 계산부(224)는 주목 화소(Ix)과 예측 보정부(223)에 의한 예측 보정 값(Px')으로부터 예측 오차 값(Errval)을 계산한다.
골롬 코딩 변수 계산부(225)는 컨텍스트 정수(Q)에 대응하는 변수(N[Q], A[Q])를 이용하여 골롬 코딩에 필요한 골롬 코딩 변수(k)를 계산한다.
오차 매핑부(226)는 골롬 코딩 변수(k)를 이용하여 예측 오차 값(Errval)을 음이 아닌 값에 매핑하고, 매핑된 예측 오차 값(MErrval)을 골롬 코딩부(240)로 전달한다.
변수 업데이트부(227)는 주목 화소(Ix)의 예측 오차 값(Errval)에 따라서 컨텍스트 테이블(222)의 변수(N[Q], A[Q], B[Q], C[Q])를 업데이트한다. 이렇게 업데이트된 변수(N[Q], A[Q], B[Q], C[Q])는 다음에 입력되는 화소의 코딩을 위해 사용된다.
컨텍스트 결정부(210)의 모드 선택부(212)에 의해 코딩 모드가 런 모드로 선택되면, 런 모드 구동부(230)가 구동된다.
런 모드 구동부(230)에 대해 설명하면, 런 스캐닝부(231)는 코딩 모드가 런 모드인 경우, 입력되는 주목 화소(Ix)로부터 런 길이(RUNcnt)를 결정한다. 즉, 런 스캐닝부(231)는 동일한 화소의 길이(개수)를 계산한다. 이를 위해 런 스캐닝부(231)는 주목 화소(Ix)와 하나의 주변 화소(Ra)가 동일한 경우 런 길이(RUNcnt)를 1씩 증가시키며, 입력되는 주목 화소와 주변 화소(Ra)가 달라질 때까지 동작한다. 또한 런 스캐닝부(231)는 한 라인의 모든 화소가 동일한 경우, 한 라인의 마지막 화소까지만 런 길이(RUNcnt)를 증가시킬 수 있으며, 이 경우 런 길이(RUNcnt)는 하 라인의 화소 개수와 동일해진다.
런 스캐닝부(231)는 결정한 런 길이(RUNcnt)를 골롬 코딩부(240)로 전달한다.
한편, 주목 화소(Ix)와 주변 화소(Ra)가 달라지는 경우, 런 인터럽트 계산부(232)가 동작한다. 런 인터럽트 계산부(232)는 해당 주목 화소(Ix)를 일반 모드와 동일하게 처리하며, 일반 모드 구동부(220)의 하드웨어 자원을 이용할 수 있다. 런 인터럽트 계산부(232)는 해당 주목 화소(Ix)에 대한 매핑된 예측 오차 값(MErrval')을 골롬 코딩부(240)로 전달한다.
골롬 코딩부(240)는 주목 화소(Ix)에 대한 코딩 모드가 일반 모드인 경우 골롬 코딩 함수를 이용하여 코딩하고, 주목 화소(Ix)에 대한 코딩 모드가 런 모드인 경우 런 길이(RUNcnt)를 코딩한다.
골롬 코딩부(240)는 이렇게 하여 주목 화소에 대한 코드 데이터를 생성하며, 한 프레임 영상의 모든 화소에 대한 코드 데이터를 조합하여 JPEG-LS 스트림이 생성한다.
도 3은 도 2에 도시된 무손실 영상 압축 장치의 동작을 설명한 흐름도이다.
도 3을 참고하면, 무손실 영상 압축 장치(200)의 컨텍스트 결정부(210)는 주목 화소(Ix)가 입력되면(S302), 주목 화소(Ix)의 주변 화소들을 이용하여 3개의 기울기를 계산하고(S304), 계산한 기울기로부터 코딩 모드를 선택한다(S306).
코딩 모드가 일반 모드로 선택되면(S308), 일반 모드 구동부(220)가 구동된다. 또한 컨텍스트 결정부(210)는 계산한 기울기를 각각 양자화한 후, 양자화 값을 이용하여 컨텍스트 정수(Q)를 계산한다(S310).
일반 모드 구동부(220)는 주변 화소(Ra, Rb, Rc, Rd)로부터 주목 화소(Ix)의 값(Px)을 예측한다(S312). 그리고 일반 모드 구동부(114)는 컨텍스트 정수(Q)에 대응하는 변수(N[Q], A[Q])를 이용하여 골롬 코딩에 필요한 골롬 코딩 변수(k)를 계산한다(S314).
다음, 일반 모드 구동부(220)는 컨텍스트 정수(Q)에 대응하는 변수(C[Q])를 이용하여 예측 값(Px)을 보정한다(S316). 그런 후에, 일반 모드 구동부(220)는 주목 화소(Ix)과 예측 보정 값(Px')으로부터 예측 오차 값(Errval)을 계산한다(S318).
일반 모드 구동부(220)는 다음 화소의 코딩을 위해 예측 오차 값(Errval)을 이용하여 변수(N[Q], A[Q], B[Q], C[Q])를 업데이트한다(S320).
일반 모드 구동부(220)는 골롬 코딩 변수(k)를 이용하여 예측 오차 값(Errval)을 음이 아닌 값으로의 매핑을 통해서 매핑된 예측 오차 값(MErrval)을 생성한다(S322).
골롬 코딩부(240)는 매핑된 예측 오차 값(MErrval)을 골롬 코딩하여 코드 데이터를 생성한다(S324).
한편, 코딩 모드가 런 모드로 선택되면, 런 모드 구동부(230)가 구동된다.
런 모드 구동부(230)는 주목 화소(Ix)를 일반 모드 구동부(200)의 일반 모드로 처리한다(S326).
이러한 압축 방식에서, 예측 값 보정 단계(S316), 예측 오차 값 계산 단계(S318) 및 변수 업데이트 단계(S320)를 수행하기 위해 각각 한 클럭의 시간이 요구된다면 화소간 입력 시간의 간격은 적어도 두 클럭 이상이 되어야 한다. 즉, 예측 값(Px)이 컨텍스트 정수(Q)에 대응하는 변수(C[Q])를 이용하여 계산되고, 변수 업데이트가 예측 오차 값(Errval)을 이용하여 이루어지므로, 다음 화소가 현재 화소의 예측 오차 값(Errval)을 이용하여 업데이트된 변수를 이용하기 위해서는 적어도 두 클럭의 시간 차가 필요하다. 이로 인해, 압축에 소요되는 시간이 길어진다.
아래에서는 압축에 소요되는 시간을 줄일 수 있는 방법에 대해서 도 4 내지 도 6을 참고로 하여 자세하게 설명한다.
도 4는 본 발명의 제2 실시 예에 따른 무손실 영상 압축 장치를 나타낸 도면이다. 도 4에서는 설명의 편의상 무손실 영상 압축 장치의 일부만을 도시하였다.
도 4를 참고하면, 무손실 영상 압축 장치(200')의 예측 보정부(223')는 현재의 주목 화소(Ix)에 대한 컨텍스트 정수(Q)가 이전 화소에 대한 컨텍스트 정수와 동일한지 판단한다.
예측 보정부(223')는 주목 화소(Ix)에 대한 컨텍스트 정수(Q)가 이전 화소에 대한 컨텍스트 정수와 동일한 경우 이전 화소의 예측 오차 값에 따라서 변수(C[Q])가 업데이트될 때까지 기다리지 않고 컨텍스트 테이블(222)에 현재 저장되어 있는 컨텍스트 정수(Q)에 해당하는 변수(C[Q])를 이용하여 복수의 예측 변수를 생성한다. 컨텍스트 테이블(222)에 현재 저장되어 있는 컨텍스트 정수(Q)에 해당하는 변수(C[Q])는 이전 화소의 그 이전 화소에서 업데이트된 변수(C[Q])에 해당할 수 있다.
예측 보정부(223')는 컨텍스트 테이블(222)에 현재 저장되어 있는 컨텍스트 정수(Q)에 해당하는 변수(C[Q]), 컨텍스트 테이블(222)에 현재 저장되어 있는 컨텍스트 정수(Q)에 해당하는 변수(C[Q])에 1을 더한 변수(C[Q]+1), 컨텍스트 테이블(222)에 현재 저장되어 있는 컨텍스트 정수(Q)에 해당하는 변수(C[Q])에서 1을 뺀 제3 변수(C[Q]-1)를 예측 변수로서 생성할 수 있다.
예측 보정부(223')는 복수의 예측 변수(C[Q], C[Q]+1, C[Q]-1)를 이용하여 주목 화소(Ix)에 대한 복수의 보정 예측 값(Px', Px'_mC, Px'_pC)을 각각 계산한다.
예측 오차 계산부(224')는 주목 화소(Ix)의 보정 예측 값(Px', Px'_mC, Px'_pC)을 이용하여 복수의 예측 오차 값(Errval', Errval'_mC, Errval'_pC)을 계산한다.
변수 업데이트부(227')는 복수의 예측 오차 값(Errval', Errval'_mC, Errval'_pC) 중 하나를 선택하여 변수(N[Q], A[Q], B[Q], C[Q])를 업데이트한다.
주목 화소(Ix)에 대해 변수 업데이트가 시작될 때에는 이전 화소의 보정 예측 값에 의해 변수(N[Q], A[Q], B[Q], C[Q])의 업데이트가 완료된다. 변수 업데이트부(227')는 이전 화소의 보정 예측 값에 의해 업데이트된 변수(C[Q])와 업데이트되기 전 변수(C[Q])를 비교한다. 변수 업데이트부(227')는 업데이트된 변수(C[Q])가 업데이트되기 전 변수(C[Q])와 동일하면 예측 오차 값(Errval')을 선택하고 업데이트된 변수(C[Q])가 업데이트되기 전 변수(C[Q])보다 크면 예측 오차 값(Errval'_mC)을 선택하며, 업데이트된 변수(C[Q])가 업데이트되기 전 변수(C[Q])보다 작으면 예측 오차 값(Errval'_pC)을 선택한다.
변수 업데이트부(227')는 선택한 하나의 예측 오차 값을 이용하여 컨텍스트 테이블(222)의 변수(N[Q], A[Q], B[Q], C[Q])를 업데이트한다.
변수 업데이트부(227')는 선택한 하나의 예측 오차 값을 나타내는 선택 선호(SEL_C)를 오차 매핑부(226')로 전달한다.
오차 매핑부(226')는 선택 선호(SEL_C)에 해당하는 예측 오차 값을 음이 아닌 값에 매핑한다.
이와 같이 하면, 현재의 주목 화소(Ix)에 대한 컨텍스트 정수(Q)가 이전 화소에 대한 컨텍스트 정수(Q)와 동일한 경우에도 매 클럭마다 입력되는 화소를 압축 처리할 수가 있다.
한편, 현재의 주목 화소(Ix)에 대한 컨텍스트 정수(Q)가 이전 화소에 대한 컨텍스트 정수(Q')와 동일하지 않은 경우에는 해당 화소에 대한 예측 오차 값 계산 시에 서로 다른 컨텍스트 정수에 해당하는 변수들이 이용되므로, 무손실 영상 압축 장치(200')는 현재의 주목 화소(Ix)에 대한 컨텍스트 정수(Q)가 이전 화소에 대한 컨텍스트 정수(Q')와 동일하지 않은 경우에는 매 클럭 마다 화소를 압축 처리할 수 있다. 따라서, 무손실 영상 압축 장치(200')는 현재의 주목 화소(Ix)에 대한 컨텍스트 정수(Q)가 이전 화소에 대한 컨텍스트 정수(Q')와 동일하지 않은 경우에는 예측 변수를 별도로 계산하지 않고 도 3에서 설명한 방법을 토대로 해당 주목 화소를 처리한다.
도 5는 본 발명의 실시 예에 따른 제2 실시 예에 따른 무손실 영상 압축 장치의 동작을 설명한 흐름도이다.
도 5에 도시한 바와 같이, 화소는 한 클럭마다 입력되며, 무손실 영상 압축 장치(200')는 매 클럭마다 입력되는 화소를 압축 처리한다.
무손실 영상 압축 장치(200')는 입력되는 한 화소에 대해 각각 예측 값을 계산하고, 예측 오차 값을 계산한 후 예측 오차 값 매핑 및 변수 업데이트를 수행한다.
도 5를 보면, 현재 화소에 대해 예측 오차 값을 구할 때 이전 화소에 대한 변수 업데이트가 이루어지지 않은 상태이다. 따라서, 일반적으로 이전 화소에 대한 변수 업데이트가 이루어질 때까지 대기한다.
그러나 본 발명의 실시 예에 따른 무손실 영상 압축 장치(200')는 이전 화소에서 이용한 컨텍스트 정수에 해당하는 변수(C[Q])를 이용하여 복수의 예측 변수를 생성하고, 복수의 예측 변수를 이용하여 복수의 예측 오차 값을 계산한다. 복수의 예측 오차 값이 계산되고 나면, 이전 화소에서의 변수 업데이트도 완료된다. 따라서 무손실 영상 압축 장치(200')는 이전 화소에서 업데이트된 변수(C[Q])과 이전 화소에서 업데이트 되기 전 변수(C[Q])를 비교하여 복수의 예측 오차 값 중 코딩에 사용할 하나의 예측 오차 값을 선택한다.
무손실 영상 압축 장치(200')는 선택한 하나의 예측 오차 값을 이용하여 변수 업데이트를 수행하며, 선택한 하나의 예측 오차 값을 음이 아닌 수에 매핑한다.
이와 같이, 현재의 주목 화소(Ix)에 대한 컨텍스트 정수(Q)가 이전 화소에 대한 컨텍스트 정수(Q)와 동일한 경우, 컨텍스트 정수(Q)에 해당하는 변수(C[Q])를 미리 예측하여 사용함으로써, 화소를 매 클럭마다 처리할 수 있으며, 이에 따라서 한 프레임 영상에 대한 압축 처리 시간도 줄일 수 있다.
도 6은 본 발명의 제3 실시 예에 따른 무손실 영상 압축 장치를 나타낸 도면이고, 도 7은 본 발명의 실시 예에 따른 영상 분할 방법의 일 예를 나타낸 도면이다.
도 6에 도시한 바와 같이, 압축부(200")는 프레임 분할부(210'), 복수의 인코더(2201~220n) 및 코드 조합기(230')를 포함한다.
프레임 분할부(210')는 입력되는 한 프레임 영상을 복수의 블록 영상으로 나누고, 복수의 블록 영상을 각각 복수의 인코더(2201~220n)로 출력한다. 예를 들어, 도 7에 도시한 바와 같이 한 프레임 영상은 16개의 블록 영상(B11, B12, B13, B14, B12, B22, B23, B14, B31, B32, B33, B34, B41, B42, B43, B44)으로 나누어질 수 있다.
복수의 인코더(2201~220n)는 각각 해당 블록 영상을 입력 받아 동시에 JPEG-LS 방식으로 코딩하여 복수의 코드 스트림을 생성한다. 인코더(2201~220n) 각각은 도 2에 도시한 컨텍스트 결정부(210), 일반 모드(regular mode) 구동부(220), 런 모드(run mode) 구동부(230) 및 골롬 코딩부(240)를 포함할 수 있다. 이때 일반 모드 구동부(220)는 도 4와 같이 구성될 수 있으며, 일반 모드 구동부(220)의 동작은 도 5에서 설명한 바와 같이 동작할 수 있다.
코드 조합기(230')는 복수의 인코더(2201~220n) 각각에서 생성한 복수의 코드 스트림을 조합하여 한 프레임 영상에 대한 JPEG-LS 스트림을 생성한다.
이와 같이, 멀티 코어 구조로 원 영상을 압축하면 압축 처리 시간이 현저하게 줄어들 수 있다. 따라서 화소 수가 많은 영상 예를 들어 4K(3840x2160)-UHD(Ultra High Definition)급 영상 또한 실시간 압축 및 복원도 가능해질 수 있다.
도 8은 본 발명의 실시 예에 따른 코드 조합기에 의해 생성된 JPEG-LS 스트림의 파일 구조를 나타낸 도면이다.
도 8을 참고하면, 한 프레임 영상에 대한 JPEG-LS 스트림의 파일은 파일 헤더와 서브 프레임을 포함한다.
파일 헤더는 JPEG-LS 스트림에 대한 정보를 포함한다. 예를 들어 파일 헤더에는 서브 프레임의 길이, 서브 프레임의 개수, 색 성분의 사양, 색상 성분의 수, 영상의 라인 수, 한 라인당 화소 수 등의 정보가 포함될 수 있다. 파일 헤더는 31 바이트로 이루어질 수 있다.
서브 프레임은 복수의 데이터 필드(D1~Dn)와 각 데이터 필드(D1~Dn) 앞에 위치하는 복수의 서브 헤더(SH1~SHn)를 포함한다.
복수의 데이터 필드(D1~Dn)는 각각 해당 블록 영상의 코드 데이터를 각각 포함한다. 복수의 서브 헤더(SH1~SHn)는 각각 해당 블록 영상의 코드 데이터의 정보를 포함한다. 즉, 복수의 서브 헤더(SH1~SHn)는 각각 블록 영상의 코드 데이터에 대한 JPEG 마커 정보를 포함할 수 있다.
하나의 블록 영상의 코드 데이터는 해당 블록 영상의 라인별 색상에 따른 스트림을 포함한다. 예를 들어, 하나의 블록 영상이 540라인으로 이루어지고, 청색(blue), 녹색(Green) 및 적색(Red)으로 색상이 표현되는 경우, 하나의 블록 영상의 코드 데이터는 540라인에 해당하는 청색, 녹색 및 적색 스트림(B, G, R)으로 구성될 수 있다. 그리고 하나의 블록 영상의 코드 데이터의 크기가 데이터 필드의 크기보다 작은 경우, 코드 조합기(230')는 데이터 필드의 남은 비트는 0으로 채울 수 있다.
이상에서 본 발명의 실시 예에 대하여 상세하게 설명하였지만 본 발명의 권리 범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리 범위에 속하는 것이다.

Claims (6)

  1. 무손실 영상 압축 장치에서 입력되는 현재 화소에 대해 영상을 압축하는 방법으로,
    상기 현재 화소에 대해 주변 화소를 이용하여 컨텍스트 정수를 계산하는 단계,
    상기 주변 화소를 이용하여 상기 현재 화소의 예측 값을 계산하는 단계,
    상기 현재 화소에 대한 컨텍스트 상수와 이전 화소에 대한 컨텍스트 상수가 동일한 경우, 상기 컨텍스트 상수에 해당하는 제1 변수로 사용할 복수의 예측 변수를 생성하는 단계,
    상기 복수의 예측 변수를 이용하여 상기 현재 화소에 대한 복수의 예측 오차 값을 계산하는 단계,
    상기 복수의 예측 오차 값 중 하나의 예측 오차 값을 선택하여 상기 현재 화소에 대한 예측 오차 값으로 설정하는 단계,
    선택된 상기 하나의 예측 오차 값을 이용하여 상기 제1 변수를 업데이트하는 단계, 그리고
    상기 현재 화소에 대한 예측 오차 값을 압축하는 단계
    를 포함하는 무손실 영상 압축 방법.
  2. 제1항에서,
    상기 현재 화소에 대한 컨텍스트 상수와 이전 화소에 대한 컨텍스트 상수가 동일하지 않은 경우, 이전 화소에서 업데이트된 컨텍스트 상수에 해당하는 제1 변수를 이용하여 현재 화소에 대한 예측 오차 값을 생성하는 단계
    를 더 포함하는 무손실 영상 압축 방법.
  3. 제1항에서,
    상기 복수의 예측 오차 값을 계산하는 단계는
    이전 화소에 대한 예측 오차 값을 이용하여 상기 컨텍스트 상수에 해당하는 제1 변수를 업데이트하는 단계를 포함하고,
    상기 업데이트하는 단계는
    상기 복수의 예측 오차 값 중 상기 이전 화소에 대한 예측 오차 값을 이용하여 업데이트된 제1 변수에 해당하는 예측 오차 값을 상기 하나의 예측 오차 값으로 선택하는 단계를 포함하는 무손실 영상 압축 방법.
  4. 제1항에서,
    상기 한 프레임 영상을 복수의 블록으로 분할하는 단계
    를 더 포함하고,
    상기 현재 화소는 상기 복수의 블록 중에서 각각 하나의 화소를 포함하는 무손실 영상 압축 방법.
  5. 무손실 영상 압축 장치로서,
    입력되는 현재 화소에 대해 주변 화소를 이용하여 컨텍스트 정수를 계산하는 컨텍스트 결정부,
    상기 현재 화소에 대한 컨텍스트 상수와 이전 화소에 대한 컨텍스트 상수가 동일하지 않은 경우 상기 컨텍스트 정수에 해당하는 제1 변수를 이용하여 상기 현재 화소에 대한 예측 오차 값을 계산하고, 상기 현재 화소에 대한 컨텍스트 상수와 이전 화소에 대한 컨텍스트 상수가 동일한 경우 상기 컨텍스트 정수에 해당하는 제1 변수로 사용할 복수의 예측 변수를 생성하고 상기 복수의 예측 변수를 이용하여 상기 현재 화소에 대한 복수의 예측 오차 값을 계산하며 복수의 예측 오차 값 중에서 하나의 예측 오차 값을 선택하여 상기 현재 화소에 대한 예측 오차 값으로 사용하며, 상기 하나의 예측 오차 값을 이용하여 상기 컨텍스트 상수에 해당하는 제1 변수를 업데이트하는 일반 모드 구동부, 그리고
    상기 현재 화소에 대한 예측 오차 값을 이용하여 코딩을 수행하는 코딩부
    를 포함하는 무손실 영상 압축 장치.
  6. 제5항에서,
    상기 일반 모드 구동부는
    상기 복수의 예측 오차 값을 계산하는 동안 이전 화소에 대한 예측 오차 값을 이용하여 상기 컨텍스트 상수에 해당하는 제1 변수를 업데이트하며,
    상기 복수의 예측 오차 값 중 상기 이전 화소에 대한 예측 오차 값을 이용하여 업데이트된 제1 변수에 해당하는 예측 오차 값을 상기 하나의 예측 오차 값으로 선택하는 무손실 영상 압축 장치.
KR1020120020032A 2012-02-28 2012-02-28 무손실 영상 압축 장치 및 방법 KR101289881B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120020032A KR101289881B1 (ko) 2012-02-28 2012-02-28 무손실 영상 압축 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120020032A KR101289881B1 (ko) 2012-02-28 2012-02-28 무손실 영상 압축 장치 및 방법

Publications (1)

Publication Number Publication Date
KR101289881B1 true KR101289881B1 (ko) 2013-07-24

Family

ID=48998083

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120020032A KR101289881B1 (ko) 2012-02-28 2012-02-28 무손실 영상 압축 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101289881B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113207004A (zh) * 2021-04-30 2021-08-03 华中科技大学 基于jpeg-ls帧间扩展的遥感图像压缩算法硬件实现方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005252337A (ja) 2004-03-01 2005-09-15 Matsushita Electric Ind Co Ltd 画像符号化装置、画像符号化方法、及びその記憶媒体
KR20070090165A (ko) * 2004-11-15 2007-09-05 스미스 마이크로 소프트웨어, 인코포레이티드 디지털 이미지의 무손실 압축을 위한 시스템 및 방법
JP2008022215A (ja) 2006-07-12 2008-01-31 Matsushita Electric Ind Co Ltd 画像符号化装置、画像符号化方法、及びその記憶媒体

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005252337A (ja) 2004-03-01 2005-09-15 Matsushita Electric Ind Co Ltd 画像符号化装置、画像符号化方法、及びその記憶媒体
KR20070090165A (ko) * 2004-11-15 2007-09-05 스미스 마이크로 소프트웨어, 인코포레이티드 디지털 이미지의 무손실 압축을 위한 시스템 및 방법
JP2008022215A (ja) 2006-07-12 2008-01-31 Matsushita Electric Ind Co Ltd 画像符号化装置、画像符号化方法、及びその記憶媒体

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113207004A (zh) * 2021-04-30 2021-08-03 华中科技大学 基于jpeg-ls帧间扩展的遥感图像压缩算法硬件实现方法
CN113207004B (zh) * 2021-04-30 2024-02-02 华中科技大学 基于jpeg-ls帧间扩展的遥感图像压缩算法硬件实现方法

Similar Documents

Publication Publication Date Title
RU2740034C1 (ru) Линейный кодер для обработки изображений/видео
US20200169732A1 (en) Adjusting quantization/scaling and inverse quantization/scaling when switching color spaces
US11711539B2 (en) Image encoding apparatus, image encoding method and program, image decoding apparatus, and image decoding method and program
JP6310017B2 (ja) マルチレイヤvdr符号化における知覚量子化ビデオコンテンツのデコーディング
US10397536B2 (en) Pixel pre-processing and encoding
US10368092B2 (en) Encoder-side decisions for block flipping and skip mode in intra block copy prediction
CN109479151B (zh) 采用颜色分量的像素处理
US9641850B2 (en) Video compression device
EP3282701A1 (en) Prediction mode selection method, apparatus and device
US11445160B2 (en) Image processing device and method for operating image processing device
TW201722155A (zh) 用於在顯示器串流壓縮中固定點近似之系統及方法
US10368068B2 (en) Encoder and method for video processing
JP6502739B2 (ja) 画像符号化装置、画像処理装置、画像符号化方法
CN114731426A (zh) 张量乘积的b平滑曲线预测器
US20210250575A1 (en) Image processing device
US20140098869A1 (en) Fused Region-Based VDR Prediction
KR101289881B1 (ko) 무손실 영상 압축 장치 및 방법
US9674538B2 (en) Methods for reconstructing an encoded video at a bit-depth lower than at which it was encoded
KR101268588B1 (ko) 무손실 영상 압축 장치 및 방법
JP2009260494A (ja) 画像符号化装置及びその制御方法
US10542269B2 (en) Low-complexity lookup table construction with reduced interpolation error
CN110300303B (zh) 编码装置、显示装置、编码装置的控制方法、及计算机能够读取的记录介质
KR20190091179A (ko) 이미지 처리 장치 및 이미지 처리 장치의 동작 방법
EP2984835B1 (en) Methods for reconstructing an encoded video at a bit-depth lower than at which it was encoded
KR101364084B1 (ko) 영상 부호화 장치 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
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