KR100929078B1 - 코딩 왜곡 제거 방법 - Google Patents

코딩 왜곡 제거 방법 Download PDF

Info

Publication number
KR100929078B1
KR100929078B1 KR1020037010016A KR20037010016A KR100929078B1 KR 100929078 B1 KR100929078 B1 KR 100929078B1 KR 1020037010016 A KR1020037010016 A KR 1020037010016A KR 20037010016 A KR20037010016 A KR 20037010016A KR 100929078 B1 KR100929078 B1 KR 100929078B1
Authority
KR
South Korea
Prior art keywords
block
coding distortion
image
pixels
coding
Prior art date
Application number
KR1020037010016A
Other languages
English (en)
Other versions
KR20040054605A (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 파나소닉 주식회사
Priority claimed from PCT/JP2002/012488 external-priority patent/WO2003047267A1/ja
Publication of KR20040054605A publication Critical patent/KR20040054605A/ko
Application granted granted Critical
Publication of KR100929078B1 publication Critical patent/KR100929078B1/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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/112Selection of coding mode or of prediction mode according to a given display mode, e.g. for interlaced or progressive display mode
    • 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/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/16Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter for a given display mode, e.g. for interlaced or progressive display mode
    • 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/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/174Methods 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 slice, e.g. a line of blocks or a group of 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • 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/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness

Abstract

압축된 비디오 신호를 재생했을 경우, 모자이크 형태의 블록 잡음이 발생한다. 이 블록 잡음이 제거될 수 있지만, 모든 블록에 대하여 디블로킹 필터에 의한 블록 잡음의 제거를 실행하면, 디블로킹 필터의 부하가 커진다. 그러므로, 코딩 왜곡 제거 처리(디블로킹)가 필요한지 아닌지를 판단하고, 필요할 경우에만 디블로킹 필터를 실행함으로써, 상기한 부하를 줄일 수 있다.
코딩 왜곡, 디블로킹, 디코딩, 블록

Description

코딩 왜곡 제거 방법{Coding distortion removal method}
본 발명은, 화상 신호를 코딩했을 때에 발생하는 코딩 왜곡을 제거하는 코딩 왜곡 제거 방법, 및 코딩 왜곡 제거 방법을 이용해서 압축률을 높일 수 있는 인코딩 방법 및 디코딩 방법과, 이것을 소프트웨어로 실시하기 위한 프로그램이 저장된 기록 매체에 관한 것이다.
음성, 화상, 그 밖의 화소 스트림(pixel streams)을 단일 전송 스트림(single transmission stream)으로 통합하는 디지털 기술의 발전을 통하여, 종래의 정보 미디어, 즉, 신문, 잡지, 텔레비전, 라디오, 전화와 같은 정보를 사람에게 전달하는 수단이 멀티미디어 통신의 대상으로서 취급되어 왔다. 일반적으로, 멀티미디어란 단일 전송 스트림에 함께 연결된 텍스트, 그래픽, 음성 및 화상 등을 말하지만, 종래의 정보 미디어는 멀티미디어 포맷으로 취급하기에 앞서서, 먼저 디지털화 되어야 한다.
상기 종래의 정보 미디어가 갖는 정보를 디지털 데이터로 변환했을 때에 저장을 위해 요구되는 정보량을 추정해 보면, 텍스트의 경우 문자당 정보량은 1∼2 바이트(byte)인 반면, 음성의 경우 전화 품질로 1초당 64k 비트(bit)이고, 비디오의 경우 현재의 텔레비전 수신 품질로 1초당 100M 비트나 된다. 따라서, 상기 정보 미디어로 이러한 방대한 양을 디지털 형식으로 처리하는 것은 비현실적이다. 예를 들면, 비디오 전화 서비스(video telephony service)는 64kbps ∼ 1.5Mbps의 전송 속도를 갖는 종합 정보 통신망(ISDN:Integreted Services Digital Network)에 의해 이미 실용화되어 있지만, 텔레비전 카메라의 영상을 ISDN 라인을 통해 보내는 것은 불가능하다.
따라서, 데이터 압축 기술이 요구되어 왔다. 예를 들면, 비디오 전화 서비스의 경우, ITU-T(국제 전기통신 연합 전기통신 표준화 부문)에서 국제 표준화된 H.261이나 H.263 규격의 비디오 압축 기술이 이용되고 있다. 또한, MPEG-1 규격의 데이터 압축 기술에 의하면, 통상의 음악용 CD(Compact Disc)에 오디오 정보와 함께 비디오 정보를 넣는 것도 가능해 진다.
MPEG(Moving Picture Experts Group)은 동화상 신호(비디오)를 디지털적으로 압축하는 국제 규격이다. MPEG-1은 비디오 신호를 1.5 Mbps까지 압축할 수 있는데, 즉 텔레비전 신호에서 정보를 약 100분의 1까지 압축할 수 있다. 또한, MPEG-1 비디오에 대한 전송 속도가 주로 약 1.5 Mbps로 제한되기 때문에, 더욱 고화질의 요구를 충족시키는 규격인 MPEG-2에서는 동화상 신호를 2∼15 Mbps로 압축할 수 있다.
MPEG-1과 MPEG-2의 표준화를 진행시킨 작업 그룹(ISO/IEC JTCl/SC291/WGll)에 의해, 더욱 압축률이 높은 MPEG-4가 규격화되었다. MPEG-4에서는 낮은 비트율에서 높은 효율의 코딩을 할 수 있을 뿐만 아니라, 전송로(transmission path)에 오류가 발생해도 주관적인 화질 열화(subjective image degradation)를 작게 할 수 있는 강력한 오류 내성 기술(error resistance technology)도 도입되어 있다. 또한, ITU-T에서는 차세대 화상 코딩 방식으로서, H.26L의 표준화 활동을 진행하고 있다.
종래의 비디오 코딩과는 달리, H.26L에서는 코딩 왜곡을 제거하기 위해서 복잡한 처리를 수반하는 코딩 왜곡 제거 방법을 사용하고 있다. 비디오 코딩으로 널리 사용되는 DCT 기술과 같은 직교 변환(orthogonal transform)을 이용한 블록 단위 코딩 방법에서는, 블록의 경계에 블록 왜곡(block distortion)이라고 불리는 격자형 왜곡(grid-like distortion)이 나타나는 것으로 알려져 있다. 저주파 성분의 화질 열화는 고주파 성분의 화질 열화보다도 더 눈에 잘 띄기 때문에, 블록 단위 코딩에서는 주로 고주파 성분보다도 저주파 성분을 충실하게 코딩한다. 또한, 카메라 등으로 촬영한 자연 화상에서는, 고주파 성분보다도 저주파 성분을 많이 포함하기 때문에, 코딩 블록은 고주파 성분보다 저주파 성분을 더 많이 포함한다. 그 결과, 코딩 블록은 실질적으로 고주파 성분을 가지지 않고, 블록 내에서 인접하는 화소에서는 거의 같은 화소값을 갖는 경향이 있다.
한편, 블록 단위로 코딩하기 때문에, 각 블록 내에서 화소값이 실질적으로 동일하더라도, 인접하는 블록간의 경계에서는 화소값이 실질적으로 동일할 것이라고 보장할 수 없는데, 즉, 블록 경계에서는 화소값이 연속적으로 변화할 것이라고 보장할 수 없다. 그 결과, 코딩 왜곡 제거 방법의 개념을 설명하는 도 31에 나타낸 바와 같이, 도 31(a)에서 점선으로 표시한 블록 경계에서 화소값이 원활하고 연속적으로 변화되는 반면, 원화상(source image)에 대해 블록 단위의 코딩을 실행한 후에는, 도 31(b)에 표시한 바와 같이 각 블록 내에서는 화소값이 연속적으로 변화되고, 블록의 경계에서만 화소값의 불연속이 발생한다. 따라서, 도 31(c)와 같이 블록 경계에서 화소값이 연속으로 되도록 보정함으로써, 코딩에 기인하는 심각한 화질 문제점인 블록 왜곡을 저감할 수 있다. 이 블록 왜곡을 저감하는 처리를 코딩 왜곡 제거["디블로킹(deblocking)"이라고도 함] 방법이라고 부른다.
디블로킹을 비디오 디코딩에 이용할 경우, 도 32의 종래의 디코딩 방법을 사용하는 비디오 디코더(video decoder)의 블록도에 나타낸 바와 같은 포스트 필터(post filter)를 사용할 수 있고, 또는 도 33의 종래의 디코딩 방법을 사용하는 비디오 디코더의 블록도에 나타낸 바와 같은 인루프 필터(in-loop filter)를 사용할 수도 있다. 이하, 각 블록도의 구성을 설명한다.
도 32의 종래의 디코딩 방법을 이용한 화상 디코더의 블록도에서, 가변 길이 디코더(52)는 코딩된 신호(Str)를 가변 길이 디코딩하고, 주파수 코드 성분 DCoef를 출력한다. 역(逆) 지그재그 스캔부(de-zigzag scanning unit)(54)는 주파수 코드 성분 DCoef의 주파수 성분을 2차원의 블록으로 재배열하고, 블록 단위의 주파수 성분인 주파수 성분 FCoef를 출력한다. 역(逆) 코사인 변환부(reverse cosine transform unit)(56)는 주파수 성분 FCoef에 대해 역(逆) 양자화(dequantization) 및 역DCT를 실행하고, 차분(差分) 화상(DifCoef)으로서 출력한다.
움직임 보상부(60)는, 메모리(64)에 축적된 참조 화상(Ref)으로부터 외부에서 입력되는 움직임 벡터(MV)에 의해 나타나는 위치의 화소를, 움직임 보상 화상(MCpel)으로서 출력한다. 가산부(58)는, 차분 화상(DifCoef)과 움직임 보상 화상(Mcpel)을 가산하여, 재생 화상(Coef)으로서 출력한다. 디블로킹 필터(62)는 재생 화상(Coef)에 대하여 코딩 왜곡 제거를 실행하고, 디코딩된 화상 신호(Vout)를 출력한다. 재생 화상(Coef)은 메모리(64)에 저장되어, 후속하는 화상 디코딩을 위한 참조 화상(Ref)으로 사용된다.
도 33의 종래의 디코딩 방법을 이용한 비디오 디코더의 블록도는, 도 32의 종래의 디코딩 방법을 이용한 비디오 디코더의 블록도와 대부분 같은 구성이지만, 디블로킹 필터(62)의 위치가 다르다. 즉, 도 33으로부터 알 수 있듯이, 디블로킹 필터(62)로부터의 디코딩된 화상 신호(Vout)가 메모리(64)에 저장된다.
도 32의 종래의 디코딩 방법을 이용한 비디오 디코더의 블록도는 MPEG-1, MPEG-2, MPEG-4 및 H.263에서 사용되는 구성 및 방법을 나타낸다. 도 33의 종래의 디코딩 방법을 이용한 비디오 디코더의 블록도는 H.261 및 H.26L TM8에서 사용되는 구성 및 방법을 나타낸다.
도 32의 종래의 디코딩 방법을 이용한 비디오 디코더의 블록도에서는, 메모리(64)에 저장된 재생 화상(Coef)이 디블로킹 필터(62)의 방법에 의존하지 않는다. 이것은 복잡하지만 고성능의 필터뿐만 아니라 상대적으로 효과가 작은 간단한 필터를 포함하는, 여러 종류의 디블로킹 필터(62)를 유용한 하드웨어 및 특정 어플리케이션에 따라 개발 및 실현할 수 있도록 해준다. 그 장점은 기기마다 적절한 디블로킹 필터(62)를 사용할 수 있다는 것이다.
한편, 도 33의 종래의 디코딩 방법을 이용한 비디오 디코더의 블록도는, 메모리(64)에 저장된 디코딩된 화상 신호(Vout)가 디블로킹 필터(62)의 방법에 의존한다. 따라서, 필터를 하드웨어나 어플리케이션에 따라 적절한 것으로서 변경할 수 없다고 하는 문제가 있지만, 어떤 기기라도 동일한 코딩 왜곡 제거 결과를 보장할 수 있다는 이점이 있다.
도 34는 종래의 코딩 왜곡 제거 방법을 이용한 코딩 왜곡 제거부의 블록도다. 도 34는 도 32 및 도 33의 디블로킹 필터(62)의 구조를 상세히 나타낸 것이다. 코딩 왜곡을 포함하는 화상 신호로부터 코딩 왜곡만을 효율적으로 제거하기 위해서는, 화상 신호에 포함되는 코딩 왜곡의 크기나 경향을 특정하고, 적절한 필터 처리를 실행함으로써, 본래의 화상 신호를 열화시키지 않는 것이 중요하다. 코딩 왜곡은 고주파 성분을 많이 포함하기 때문에, 화상 신호 내에서 고주파 성분이 포함되는 비율을 조사하고, 화상 신호에 원래 고주파 성분이 포함되어 있지 않다고 생각되는 화소에 고주파 성분이 있으면 코딩 왜곡이라고 판단하여, 고주파 성분 억압(high frequency component suppression) 필터를 실행하는 것이, 코딩 왜곡 제거의 일반적인 개념이다. 화상 신호는 인접 화소간의 상관(correlation)이 높기 때문에, 고주파 성분을 포함하는 화소 위치는 에지 부분에 집중하고 있고, 이산적(離散的) 고주파 성분은 코딩 왜곡이라고 생각할 수 있다.
이러한 디블로킹 필터(62)는 ITU_T 규격 H.26L의 TML8에 기재되어 있는 내용을 기초로 본원 발명자가 만든 것이다.
필터 대상 화소수 제어기(84)는 재생 화상(Coef)을 이용하여, 코딩 왜곡을 포함하는 화소 위치를 결정하고, 필터 대상 화소수(FtrPel)를 출력한다. 필터 계수 제어기(86)는 필터 대상 화소수(FtrPel)와 재생 화상(Coef)을 이용하고, 이 화소의 코딩 왜곡 제거에 적절한 필터 계수[필터 탭(filter tap)의 수도 포함]를 결정하고, 필터 계수(FtrTap)로서 출력한다. 필터 처리기(88)는 필터 계수 FtrTap로 나타낸 필터 계수로 재생 화상(Coef)에서 코딩 왜곡을 제거하는 필터링을 실행하고, 디코딩된 화상 신호(Vout)를 출력한다.
상기한 종래의 코딩 왜곡 제거 방법은, 코딩 왜곡 제거 효과는 크지만 처리가 대단히 복잡하고 실현이 어렵다는 문제점이 있다.
또한, 단위 시간당 처리량이 많다고 하는 문제가 있다.
또한, 아무리 효과적인 코딩 왜곡 제거 방법을 이용해도, 특별한 부가 정보 없이 화상 신호와 코딩 왜곡을 정확하게 구별하는 것은 불가능하기 때문에, 코딩 왜곡 제거를 실행함으로써 화상 신호의 화질을 떨어뜨릴 가능성이 있다. 이것은 도 33의 종래의 디코딩 방법을 이용한 비디오 디코더의 블록도와 같이, 디블로킹을 실행한 결과를 참조 화상으로 사용할 경우 후속 화상의 코딩 결과에도 영향을 주기 때문에, 문제점이 특히 커진다.
그러므로, 본 발명의 목적은 간단한 코딩 왜곡 제거 방법을 제공하는 것이다.
또한, 본 발명의 다른 목적은 종래보다도 화상 신호의 화질을 떨어뜨릴 가능 성이 적은 고성능의 코딩 왜곡 제거를 실행함으로써, 화상 신호의 화질을 떨어뜨릴 가능성을 낮출 수 있는 코딩 왜곡 제거 방법, 코딩 방법 및 디코딩 방법을 제공하는 것이다.
이러한 목적을 달성하기 위해서, 본 발명에 따른 화상으로부터 코딩 왜곡을 제거하는 코딩 왜곡 제거 방법에서는, 움직임 보상 단위가 코딩 단위보다도 클 경우에, 움직임 보상 단위 경계와 코딩 단위 경계가 일치하는 경계와, 움직임 보상 단위의 경계와 코딩 단위의 경계가 다른 경계에서, 서로 다른 방법을 사용한다.
움직임 보상 단위의 경계에서의 코딩 왜곡과, 코딩 단위의 경계에서의 코딩 왜곡의 성질이 다르기 때문에, 각 단위에 의해 디블로킹에 이용하는 필터를 바꿈으로써, 코딩 왜곡을 포함하는 화상 신호로부터 코딩 왜곡만을 효율적으로 제거할 수 있다.
또한, 코딩된 움직임 보상 오차가 0일 때, 움직임 보상 단위 경계에서만 코딩 왜곡을 제거하는 것이 바람직하다.
또한, 본 발명은 화상으로부터 코딩 왜곡을 제거하는 코딩 왜곡 제거 방법으로서, 코딩 왜곡을 포함하는 화상으로부터 화상 파라미터를 추출하는 단계와, 상기 화상 파라미터를 이용하여 코딩 왜곡을 제거하는 화소를 특정하는 제1 단계와, 상기 화상 파라미터를 이용하여 코딩 왜곡을 제거하는 방법을 특정하는 제2 단계와, 제2 단계에서 특정한 코딩 왜곡 제거 방법을 이용하여 제1 단계에서 특정한 화소로부터 코딩 왜곡을 제거하는 제3 단계를 포함한다.
코딩 왜곡을 제거하는 화소를 특정하는 제1 단계와, 코딩 왜곡을 제거하는 방법을 특정하는 제2 단계를 모두 이용할 수 있는 화상 파라미터를 미리 계산함으로써, 제1 단계 및 제2 단계에서 실행되는 처리를 이러한 공통의 화상 파라미터를 사용하여 간단하게 하여, 화질을 열화하지 않으면서 코딩 왜곡 제거 방법의 처리를 줄일 수 있다.
또한, 본 발명은 화상으로부터 코딩 왜곡을 제거하는 코딩 왜곡 제거 방법으로서, 블록 단위로 코딩 왜곡을 제거할 것인지 아닌지를 판단하고, 상기 판단에 의해 제거해야 할 블록에서의 각 화소마다 코딩 왜곡을 제거해야 할 것인지 아닌지를 판단하여, 코딩 왜곡 제거 처리를 실행할 화소를 결정한다.
따라서, 우선 블록 단위로 코딩 왜곡의 제거가 필요한지 아닌지를 판정하고, 디블로킹이 불필요한 블록은 화소 단위의 판정을 생략할 수 있어서, 코딩 왜곡 제거 방법의 처리량을 줄일 수 있다. 화상 코딩 정보를 사용하면, 디블로킹이 불필요한 블록(예를 들면, 정지하고 있어서 참조 화상과 화소가 완전히 일치하는 블록)을 용이하게 판정할 수 있다.
또한, 본 발명은 동화상을 구성하는 복수의 블록을 갖는 화상에서, 인접하는 제1 블록과 제2 블록의 경계선의 양측에 있는 영역에서 코딩 왜곡을 제거하는 코딩 왜곡 제거 방법으로서, 상기 제1 블록의 화소에서의 화소값과 상기 제2 블록의 화소에서의 화소값의 차분값과, 상기 제1 블록에서의 양자화 파라미터와 상기 제2 블록에서의 양자화 파라미터의 평균값에 대응하는 코딩 왜곡을 제거하는 방법을 결정하는 파라미터를 비교하는 비교 단계와, 상기 비교 단계에서의 비교 결과에 기초하여 코딩 왜곡을 제거하는 제거 단계를 갖는다.
이것은 다른 양자화 파라미터 사이의 블록 경계에서의 코딩 왜곡 제거 처리에서, 인접하는 블록의 양자화 파라미터의 평균값을 블록 경계의 양측 모두를 필터링 처리할 때에 이용할 수 있도록 해준다.
또한, 본 발명은 동화상을 구성하는 복수의 블록을 갖는 화상에서, 인접하는 제1 블록과 제2 블록의 경계선의 양측에 있는 영역에서 코딩 왜곡을 제거하는 코딩 왜곡 제거 방법으로서, 코딩 왜곡을 제거할 때에 문턱값(threshold)을 결정하기 위한 파라미터를 디코딩하는 디코딩 단계와, 상기 제1 블록의 화소에서의 화소값과 상기 제2 블록의 화소에서의 화소값과의 차분값과, 상기 디코딩된 파라미터에 근거한 소정의 문턱값을 비교하는 비교 단계와, 상기 비교 단계에서의 비교 결과에 기초하여 코딩 왜곡의 제거 방법을 전환하는 제거 단계를 가진다.
따라서, 코딩 왜곡 제거에 사용되는 문턱값 파라미터를 미리 각각의 코딩된 신호에 중첩시키고, 코딩 왜곡 제거에 앞서 각 코딩된 신호에 적절한 문턱값을 검출하고 이것을 코딩 왜곡 제거에 사용함으로써, 코딩 왜곡을 포함하는 화상 신호로부터 효율적으로 코딩 왜곡을 제거할 수 있다.
또한, 상기 동화상은 복수의 블록으로 구성되는 슬라이스(slice)를 포함하고, 상기 파라미터는 상기 동화상에 대응하는 화상 데이터를 코딩해서 얻을 수 있는 코드 스트림에서의 슬라이스의 헤더(header) 정보에 포함된다.
또한, 본 발명은 복수의 참조 화상으로부터 적어도 하나를 참조하여 코딩하는 화상 코딩 장치로서, 복수의 방법을 사용하여 코딩 왜곡을 제거해서 얻어진 복수의 코딩 화상을 참조 화상으로 한다.
따라서, 적어도 2가지 방법으로 디블로킹된 복수의 화상을 참조 화상으로 사용하고, 참조용으로 적절한 하나를 순차적으로 선택함으로써, 코딩 왜곡을 포함하는 화상 신호로부터 효율적으로 코딩 왜곡을 제거할 수 있는 화상이 참조 화상으로서 사용될 수 있어, 동화상 코딩의 압축률이 증가될 수 있다.
또한, 상기 복수의 방법 중에서 제1 방법은 상기 코딩된 화상에 대하여 코딩 왜곡을 제거하지 않는 방법이고, 제2 방법은 상기 코딩 화상에 대하여 코딩 왜곡을 제거하는 방법이다.
또한, 본 발명은 복수의 참조 화상으로부터 적어도 하나를 참조하여 디코딩하는 동화상 디코딩 장치로서, 복수의 방법을 사용하여 코딩 왜곡을 제거해서 얻어진 복수의 디코딩된 화상을 참조 화상으로 한다.
따라서, 적어도 2가지 방법으로 디블로킹된 복수의 화상을 참조 화상으로서 사용하고, 적절한 하나를 참조용으로 순차적으로 선택함으로써, 코딩 왜곡을 포함하는 화상 신호로부터 효율적으로 코딩 왜곡을 제거할 수 있는 화상이 참조 화상으로서 사용될 수 있어, 코딩된 신호가 바르게 디코딩될 수 있다.
또한, 상기 복수의 방법 중에서 제1 방법은 상기 디코딩된 화상에 대하여 코딩 왜곡을 제거하지 않는 방법이며, 제2 방법은 상기 디코딩된 화상에 대하여 코딩 왜곡을 제거하는 방법이다.
또한, 본 발명은 홀수 라인의 화소와 짝수 라인의 화소로 구성되는 인터레이스 화상(interlaced picture)의 코딩 왜곡을 제거하는 코딩 왜곡 제거 방법으로서, 소정수의 상기 홀수 라인의 화소와 소정수의 상기 짝수 라인의 화소를 갖는 프레임 구조의 블록을 포함하는 화상인지, 소정수의 상기 홀수 라인의 화소로 구성되는 한쪽의 필드 구조의 블록을 포함하는 화상 또는 소정수의 상기 짝수 라인의 화소로부터 구성되는 다른 쪽의 필드 구조의 블록을 포함하는 화상인지를 판단하는 판단 단계와; 코딩 왜곡을 제거하는 대상 블록이, 모든 블록이 상기 프레임 구조의 블록인 화상의 블록일 경우, 인접하는 상기 프레임 구조 블록 사이에서 코딩 왜곡을 제거하고, 코딩 왜곡을 제거하는 대상 블록이, 모든 블록이 상기 필드 구조 블록인 화상의 블록일 경우, 인접하는 상기 필드 구조 블록 사이에서 코딩 왜곡을 제거하는 제거 단계를 포함한다.
따라서, 프레임 구조 블록의 화상인지 필드 구조 블록의 화상인지를 근거로 하여, 코딩 왜곡을 제거하는 대상 블록의 처리를 전환할 수 있다.
코딩 왜곡을 제거하는 대상 블록이 상기 프레임 구조 블록과 상기 필드 구조 블록을 포함하는 화상의 블록일 경우, 상기 코딩 왜곡 제거 방법은 상기 필드 구조 블록을 상기 프레임 구조 블록으로 변환하는 변환 단계와; 상기 필드 구조 블록의 화소에서의 화소값과 상기 변환된 블록의 화소에서의 화소값과의 차분값을, 소정의 문턱값과 비교하는 비교 단계와; 상기 비교 단계에서의 비교 결과를 근거로 하여 코딩 왜곡을 제거하는 제거 단계를 더 포함하는 것이 바람직하다.
동화상을 구성하는 복수의 블록을 갖는 화상에서, 인접하는 제1 블록과 제2 블록 사이의 경계선의 양측에 있는 영역에서의 코딩 왜곡을 제거하는 또 다른 코딩 왜곡 제거 방법으로서, 상기 제1 블록은 홀수 라인 화소와 짝수 라인 화소로 구성되는 인터레이스 화상에서, 소정수의 상기 홀수 라인의 화소와 소정수의 상기 짝수 라인의 화소를 갖는 프레임 구조 블록이고, 상기 제2 블록은 홀수 라인의 화소와 짝수 라인의 화소로 구성되는 인터레이스 화상에서 소정수의 상기 홀수 라인의 화소로 구성되는 한쪽의 필드와, 홀수 라인의 화소와 짝수 라인의 화소로 구성되는 인터레이스 화상에서 소정수의 상기 짝수 라인의 화소로 구성되는 다른 쪽의 필드를 갖는 필드 구조 블록이다. 상기 코딩 왜곡 제거 방법은 프레임 구조의 상기 제1 블록을 필드 구조 블록으로 변환하는 변환 단계와; 필드 구조의 상기 제2 블록의 화소에서의 화소값과 상기 변환된 블록의 화소에서의 화소값의 차분값을, 소정의 문턱값과 비교하는 비교 단계와; 상기 비교 단계에서의 비교의 결과에 근거하여, 코딩 왜곡을 제거하는 제거 단계를 포함한다.
따라서, 프레임 구조 블록과 필드 구조 블록이 인접할 때에, 적응적으로 코딩 왜곡을 제거하는 대상 블록의 처리를 실행할 수 있다.
프레임 구조의 상기 제1 블록으로부터 상기 필드 구조 블록으로의 변환은, 매크로 블록 단위 또는 상하로 인접하는 2개의 매크로 블록 단위로 전환하는 것이 바람직하다.
필드 구조의 상기 제2 블록은, 상기 프레임 구조 블록으로 변환하지 않는 것이 바람직하다.
동화상을 구성하는 복수의 블록을 갖는 화상에서, 인접하는 제1 블록과 제2 블록 사이의 경계선의 양측에 있는 영역에서의 코딩 왜곡을 제거하는 또 다른 코딩 왜곡 제거 방법으로서, 상기 제1 블록은 홀수 라인 화소와 짝수 라인 화소로 구성되는 인터레이스 화상에서, 소정수의 상기 홀수 라인의 화소와 소정수의 상기 짝수 라인의 화소를 갖는 프레임 구조 블록이고, 상기 제2 블록은 홀수 라인의 화소와 짝수 라인의 화소로 구성되는 인터레이스 화상에서 소정수의 상기 홀수 라인의 화소로 구성되는 한쪽의 필드와, 홀수 라인의 화소와 짝수 라인의 화소로 구성되는 인터레이스 화상에서 소정수의 상기 짝수 라인의 화소로 구성되는 다른 쪽의 필드를 갖는 필드 구조 블록이다. 상기 코딩 왜곡 제거 방법은, 코딩 왜곡을 제거하는 대상 블록이 프레임 구조 블록인가 필드 구조의 블록인가를 판단하는 판단 단계와; 상기 대상 블록이 필드 구조의 상기 제2 블록일 경우, 프레임 구조의 상기 제1 블록을 필드 구조 블록으로 변환하고, 상기 대상 블록이 프레임 구조의 상기 제1 블록일 경우, 필드 구조의 상기 제2 블록을 프레임 구조 블록으로 변환하는 변환 단계와; 상기 대상 블록의 화소에서의 화소값을 소정의 문턱값과 비교하는 비교 단계와; 상기 비교 단계에서의 비교의 결과에 근거하여 코딩 왜곡을 제거하는 제거 단계를 포함한다.
따라서, 프레임 구조 블록과 필드 구조 블록이 인접할 때에, 적응적으로 코딩 왜곡을 제거하는 대상 블록의 처리를 실행할 수 있다.
상기 전환 단계에서의 상기 프레임 구조 블록으로부터 상기 필드 구조 블록으로의 변환은, 상기 프레임 구조 블록에서의 홀수 라인의 화소로부터 변환 후의 한쪽의 필드를 생성하고, 상기 프레임 구조의 블록에서의 짝수 라인의 화소로부터 변환 후의 다른 쪽의 필드를 생성하고; 상기 비교 단계에서의 상기 차분값과 상기 문턱값의 비교는, 상기 제2 블록의 한쪽의 필드의 화소에서의 화소값과 상기 제1 블록의 상기 변환 후의 한쪽의 필드의 화소에서의 화소값을 비교하거나, 또는, 상기 제2 블록의 다른 쪽의 필드의 화소에서의 화소값과 상기 제1 블록의 상기 변환 후의 다른 쪽의 필드의 화소에서의 화소값을 비교하는 것이 바람직하다.
동화상을 구성하는 복수의 블록을 갖는 화상에서, 인접하는 제1 블록과 제2 블록 사이의 경계선의 양측에 있는 영역에서의 코딩 왜곡을 제거하는 또 다른 코딩 왜곡 제거 방법으로서, 상기 제1 블록은 홀수 라인 화소와 짝수 라인 화소로 구성되는 인터레이스 화상에서, 소정수의 상기 홀수 라인의 화소와 소정수의 상기 짝수 라인의 화소를 갖는 프레임 구조 블록이고, 상기 제2 블록은 홀수 라인의 화소와 짝수 라인의 화소로 구성되는 인터레이스 화상에서 소정수의 상기 홀수 라인의 화소로 구성되는 한쪽의 필드와, 홀수 라인의 화소와 짝수 라인의 화소로 구성되는 인터레이스 화상에서 소정수의 상기 짝수 라인의 화소로 구성되는 다른 쪽의 필드를 갖는 필드 구조 블록이다. 상기 코딩 왜곡 제거 방법은, 필드 구조의 상기 제2 블록을 프레임 구조 블록으로 변환하는 변환 단계와; 프레임 구조의 상기 제1 블록의 화소에서의 화소값과 상기 변환된 블록의 화소에서의 화소값과의 차분값을, 소정의 문턱값과 비교하는 비교 단계와; 상기 비교 단계에서의 비교 결과에 근거하여 코딩 왜곡을 제거하는 제거 단계를 포함한다.
따라서, 프레임 구조 블록과 필드 구조 블록이 인접할 때에, 적응적으로 코딩 왜곡을 제거하는 대상 블록의 처리를 실행할 수 있다.
필드 구조의 상기 제2 블록으로부터 프레임 구조 블록으로의 변환은, 매크로 블록 단위 또는 상하로 인접하는 2개의 매크로 블록 단위로 전환하는 것이 바람직 하다.
필드 구조의 상기 제2 블록은 프레임 구조 블록으로 변환하지 않는 것이 바람직하다.
상기 변환 단계에서의 필드 구조 블록으로부터 프레임 구조 블록으로의 변환은, 상기 한쪽의 필드의 블록에서의 화소와 상기 다른 쪽의 필드의 블록에서의 화소로부터 변환된 프레임을 생성하고, 상기 제1 블록의 홀수 라인의 화소에서의 화소값과 상기 제2 블록의 변환 후의 홀수 라인의 화소에서의 화소값을 비교하거나, 또는 상기 제1 블록의 짝수 라인의 화소에서의 화소값과 상기 제2 블록의 변환 후의 짝수 라인의 화소에서의 화소값을 비교하는 것이 바람직하다.
상기 비교 단계는, 상기 경계선에 대하여 대칭 위치에 있는, 상기 경계선과 동일 방향으로 정렬된 복수의 화소의 그룹별로, 상기 차분값과 상기 문턱값을 비교하는 것이 바람직하다.
이것은 복수 화소의 그룹으로 코딩 왜곡의 제거를 할 수 있게 한다.
또한, 본 발명은 화상 코딩 장치로서, 코딩된 차분 화상을 디코딩하고, 차분 화상을 출력하는 디코딩부와; 참조 화상으로부터 움직임 보상 화상을 출력하는 움직임 보상부와; 상기 차분 화상과 상기 움직임 보상 화상을 가산하여 합성 화상을 출력하는 가산부와; 상기 합성 화상이 갖는 코딩 왜곡을 제거하여 재생 화상을 출력하는 코딩 왜곡 제거부와; 상기 재생 화상을 상기 참조 화상으로서 저장하는 메모리를 포함한다. 상기 코딩 왜곡 제거부는 상기한 본 발명의 코딩 왜곡 제거 방법 중 어느 것에 의해 코딩 왜곡을 제거한다.
또한, 본 발명은 화상으로부터 코딩 왜곡을 제거하는 프로그램으로서, 본 발명의 상기한 코딩 왜곡 제거 방법 중 어느 것에 의해 코딩 왜곡을 제거한다.
본 발명은 화상을 코딩하는 프로그램으로서, 코딩된 차분 화상을 디코딩하고 차분 화상을 출력하는 디코딩부와; 참조 화상으로부터 움직임 보상 화상을 출력하는 움직임 보상부와; 상기 차분 화상과 상기 움직임 보상 화상을 가산하여 합성 화상을 출력하는 가산부와; 상기 합성 화상이 갖는 코딩 왜곡을 제거하여 재생 화상을 출력하는 코딩 왜곡 제거부와; 상기 재생 화상을 상기 참조 화상으로서 저장하는 메모리를 사용하여 화상 코딩을 한다. 상기 코딩 왜곡 제거부는 상기한 본 발명의 코딩 왜곡 제거 방법 중 어느 것에 의해 코딩 왜곡을 제거한다.
본 발명의 완전한 이해와 더불어 본 발명의 다른 목적 및 성취에 대해서는 첨부한 도면을 참조로 한 다음의 상세한 설명 및 청구범위로부터 명백히 이해될 수 있을 것이다.
도 1은 본 발명에 의한 디코딩 방법을 이용한 비디오 디코딩 장치의 블록도.
도 2는 본 발명의 제1 실시예에 따른 코딩 왜곡 제거 방법을 이용한 코딩 왜곡 제거부의 블록도.
도 3(a), 3(b), 3(c), 3(d), 3(e), 3(f), 3(g)는 움직임 보상 블록 크기의 일례를 나타내는 도면.
도 4는, 본 발명의 제2 실시예에 따른 코딩 왜곡 제거 방법의 흐름도.
도 5는 본 발명의 제2 실시예에 따른 양자화 파라미터(QP)와 코딩 왜곡 제거 파라미터 사이의 상관을 나타내는 도면.
도 6은 본 발명의 제2 실시예에 따른 코딩 왜곡 제거 방법에서의 필터 대상 화소수를 결정하는 흐름도.
도 7은 본 발명의 제2 실시에 따른 코딩 왜곡 제거 방법에서의 필터 계수를 결정하는 흐름도.
도 8(a), 8(b)는 본 발명의 제2 실시예에 따른 코딩 왜곡 제거 방법을 이용한 코딩 왜곡 제거부의 블록도, 및 화소 배열을 나타내는 도면.
도 9는 본 발명의 제3 실시예에 따른 코딩 방법을 이용한 코딩 장치의 블록도.
도 10은 본 발명의 제3 실시예에 따른 디코딩 방법을 이용한 디코딩 장치 블록도.
도 11은 본 발명의 제4 실시예에 따른 코딩 왜곡 제거 방법을 이용한 코딩 왜곡 제거부의 블록도.
도 12(a), 12(b), 12(c), 12(d)는 본 발명의 제4 실시예에 따른 코딩 왜곡 제거 방법에서의 코딩된 신호(Str)의 구성을 나타내는 도면.
도 13은 루프 필터를 사용하는 비디오 인코딩 처리를 나타내는 블록도.
도 14는 비디오 인코딩 루프에서의 자동 문턱값 선택(automatic threshold value selection)의 배치를 나타내는 블록도.
도 15는 최적의 문턱값을 찾기 위해 데이터를 수집하는 방법을 나타내는 흐름도.
도 16은 최적의 문턱값을 찾기 위해 데이터를 수집하는 다른 방법을 나타내는 흐름도.
도 17은 최적의 문턱값을 선택하는 방법을 나타내는 흐름도.
도 18은 디블로킹을 생략할 수 있도록 공통 경계를 갖는 블록의 부근을 나타내는 도면.
도 19는 복수 화소를 포함하는 그룹을 나타내는 설명도.
도 20(a)은 프레임 구조, 도 20(b)은 필드 구조의 설명도.
도 21(a)는 하나의 화상에 프레임 구조와 필드 구조가 혼재하고 있을 경우의 설명도이고, 도 21(b), 21(c)는 프레임 구조와 필드 구조의 경계부에서의 코딩 왜곡 제거 처리의 단계를 나타내는 설명도.
도 22는 프레임 구조와 필드 구조가 혼재하고 있을 경우의 코딩 왜곡 제거 처리의 흐름도.
도 23은 도22에서 단계 64와 67이 통합된 흐름도.
도 24는 도23에서 단계 65와 68이 통합된 흐름도.
도 25는 프레임 구조의 블록과 필드 구조의 블록이 경계선을 사이에 두고 양측에 있을 경우의 처리의 흐름도.
도 26(a), 26(b), 26(c)은 제1 실시예 및 제2 실시예의 가변길이 코딩 방법 및 가변 길이 디코딩 방법을 실현하는 컴퓨터 실행 프로그램을 저장하는, 본 발명의 제6 실시예에 따른 기억 매체에 관한 설명도.
도 27은 콘텐츠 공급 시스템의 전체 구성을 나타내는 블록도.
도 28은 비디오 인코딩 방법, 비디오 디코딩 방법을 이용한 휴대전화기의 일례를 나타낸 도면.
도 29는 휴대 전화의 블록도.
도 30은 디지털 방송 시스템의 일례를 나타낸 도면.
도 31(a), 31(b), 31(c)는 코딩 왜곡 제거 방법의 개념을 설명하기 위해, 화소의 신호 레벨을 나타낸 도면.
도 32는 종래의 디코딩 방법을 이용한 비디오 디코딩 장치의 블록도.
도 33은 종래의 디코딩 방법을 이용한 비디오 디코딩 장치의 블록도.
도 34는 종래의 코딩 왜곡 제거 방법을 이용한 코딩 왜곡 제거부의 블록도.
첨부한 도면을 참조하여, 본 발명의 바람직한 실시예에 대해 설명한다.
(제1 실시예)
비디오 디코딩 방법을 이용한 비디오 디코딩 장치의 블록도에서, 가변길이 디코딩부(52)는 코딩된 신호(Str)를 가변길이 디코딩하고, 주파수 코드 성분 DCoef를 출력한다. 역 지그재그 스캔부(De-zigzag scanning unit)(54)는 주파수 코드 성분 DCoef의 주파수 성분을 2차원의 블록으로 재배열하고, 블록 단위의 주파수 성분인 주파수 성분 FCoef를 출력한다. 역 코사인 변환부(reverse cosine transform unit)(56)는 주파수 성분 FCoef에 대해 역 양자화(dequantization) 및 역DCT를 실행하고, 차분 화상(difference image) DifCoef로 출력한다.
움직임 보상기(60)는, 외부에서 입력되는 움직임 벡터(MV)에 의해 표시되는 위치의 화소를, 메모리(64)에 축적된 참조 화상(Ref)으로부터 움직임 보상 화상(MCpel)으로서 출력하고, 움직임 보상 블록의 크기를 나타내는 움직임 보상 블록 크기(Mcsize)를 출력한다. 가산부(58)는 차분 화상(DifCoef)과 움직임 보상 화상(MCpel)을 가산하고, 재생 화상(Coef)으로서 출력한다.
디블로킹 필터(62)는 재생 화상(Coef), 움직임 보상 블록 크기(MCsize), 차분 화상(DifCoef)을 받아서, 코딩 왜곡 제거를 실행하고, 디코딩된 화상 신호(Vout)를 출력한다. 재생 화상(Coef)은 메모리(64)에 저장되고, 후속하는 화상 디코딩을 위한 참조 화상(Ref)으로서 사용된다.
도 2는 본 발명의 코딩 왜곡 제거 방법을 이용한 디블로킹 필터(62)(코딩 왜곡 제거부라고도 함)의 블록도이다. 이 디블로킹 필터(62)는 ITU-T 규격 H.26L TML8에 기재되어 있는 디블로킹 필터의 내용을 참조해서 본원 발명자가 발명한 것이다.
필터 대상 화소수 제어기(4)는 입력되는 재생 화상 Coef마다 코딩 왜곡을 포함하는 화소 위치를 결정하고, 필터 대상 화소수(FtrPel)로서 출력한다. 즉, 필터 대상 화소수(FtrPel)는 필터 처리를 해야 하는 화소 위치를 나타낸다. 필터 계수 제어기(6)는 필터 대상 화소수(FtrPel)와 재생 화상(Coef)을 이용하여, 표시된 화소의 코딩 왜곡 제거에 적절한 필터 계수(필터 탭의 수도 포함)를 결정하고, 필터 계수 FtrTap로서 출력한다.
필터 처리기(8)는, 필터 계수 FtrTap로 나타낸 필터의 계수를 사용하여 재생 화상(Coef)에 코딩 왜곡을 제거하는 필터 처리를 실행하고, 디코딩된 화상 신호(Vout)를 출력한다.
움직임 보상 블록 경계 판정부(2)는 차분 화상(DifCoef)과 움직임 보상 블록 크기(MCsize)를 입력으로 하고, 이 처리 대상 블록의 차분 화상(DifCoef)이 소정값 이하인지, 예를 들어 0인지 아닌지를 판정하고, 움직임 보상 블록의 경계를 검출하고, 움직임 보상 블록 경계 플래그(IsEdge)를 출력한다.
도 3은 ITU-T 규격 H.26L TML8에 채용되어 있는 움직임 보상 블록 크기의 일례를 나타낸다. 상기 예에서는, 움직임 보상 블록 크기의 최대값이 16 ×16 화소이며, 매크로 블록(macroblock)이라고 불리는 것과 크기와 일치한다. 도 3(a)~3(g)는 각각 움직임 보상 블록 크기가 4 ×4, 4 ×8, 8 ×4, 8 ×8, 8 ×16, 16 ×8, 16 ×16에 해당한다. ITU-T 규격 H.26L TML8에서는 상기 7개의 움직임 보상 블록 크기로부터 매크로 블록 단위로 적절한 것을 선택해서 코딩 및 디코딩에 사용한다. 이것은 상하로 인접하는 2개의 매크로 블록의 적절한 단위로 코딩 및 디코딩할 수 있음을 나타내고, 이 매크로 블록의 단위를 "매크로 블록 쌍(macroblock pair)"이라고 한다.
한편, ITU-T 규격 H.26L TML8에서는, 주파수 변환 및 코딩의 단위는 4 ×4 화소이다. 이 4 ×4 화소의 단위를 "코딩 단위(coding unit)"라고 한다. 도 3(a)에 나타낸 것과 같이 A∼P의 16 블록의 각각은, 4 ×4 화소 블록으로 구성되어 있다. 4 ×4 화소 코딩 단위는 도 3(a)에 나타낸 경우에만 움직임 보상 블록 크기와 일치한다. 코딩 왜곡으로서 특히 시각적으로 방해가 되는 블록 왜곡은 코딩 단위인 최소 4 ×4 화소에서 발생하기 때문에, 종래의 코딩 왜곡 제거 방법에서는 항상 4 ×4 화소 단위로 처리를 실행하고 있다.
움직임 보상 코딩한 후, 화상간의 상관이 특히 강할 경우에는, 화상간의 코딩된 움직임 보상 오차는 0이 된다. 이 경우에는, 4 ×4 화소 단위로 코딩 및 디코딩해야 할 차분 화상(DifCoef)도 0이기 때문에, 움직임 보상의 블록의 경계부 이외에는 코딩 및 디코딩 중에 코딩 왜곡으로 인한 화소값의 불연속은 발생되지 않을 수도 있다. 따라서, 도 3(b)과 같이 움직임 보상 블록이 선택된 경우는, 도 3(a)의 블록 AC, BD, EG, FH, IK, JL, MO, NP 사이에서 점선으로 표시한 4 ×4 화소 단위 경계에서 코딩 왜곡 제거 처리는 불필요하다. 마찬가지로, 도 3(a)의 블록 AB, CD, EF, GH, IJ, KL, MN, OP의 4 ×4 화소 단위 경계에서 디블로킹은 불필요하다. 4 ×4 화소 단위로 코딩/디코딩해야 할 차분 화상(DifCoef)도 0인 경우에는, 움직임 보상 블록의 경계에서만 디블로킹을 실행하고, 움직임 보상 블록 내의 4 ×4 화소 단위에서의 경계에서는 실행하지 않는다. 이로써, 모든 블록 경계에서 디블로킹하는 것에 비해 코딩 왜곡 제거 처리에서의 연산 횟수를 감소시킬 수 있다.
처리 대상 블록의 차분 화상(DifCoef)은 0이며 움직임 보상 블록의 경계가 아닐 경우, 움직임 보상 블록 경계 검출부(2)는 선택기(10a, 10b)를 오프(OFF)(실선으로 표시)하고, 선택기(10b)는 재생 화상(Coef)을 디코딩된 화상 신호(Ⅴout)로서 출력한다. 상기 선택기(10a, 10b)는 움직임 보상 블록 경계 플래그(IsEdge)의 설정에 의해 전환된다. 따라서, 필터 대상 화소수 제어기(4), 필터 계수 제어기(6), 필터 처리기(8)에 의한 처리는 선택기(10a, 10b)의 오프 전환에 의해 생략할 수 있다. 또한, 상기 이외의 경우에는, 선택기(10a, 10b)를 온(ON)(점선으로 표시)으로 하고, 선택기(10b)는 필터 처리기(8)의 출력을 디코딩된 화상 신호(Vout)로서 출력한다. 이 선택기의 상태도 움직임 보상 블록 경계 플래그(IsEdge)를 적용하여 설정된다.
이상과 같이, 본 발명에서는 움직임 보상 블록 경계 플래그(IsEdge)를 적절히 설정함으로써, 필터 대상 화소수 제어기(4), 필터 계수 제어기(6), 필터 처리기(8)의 처리를 생략하는 기능을 도입하고, 이러한 구성 요소의 생략에 의해 처리 속도를 증가시킬 수 있고, 이러한 처리에 소비되는 전력 절감 효과를 얻을 수 있다.
또한, 본 실시예에서는, 단순히 코딩 왜곡 제거 처리를 실행하지 않는 예를 설명하였지만, 코딩 왜곡 제거 처리를 생략하는 대신에 간단한 코딩 왜곡 제거 처리를 사용할 수도 있고, 복잡한 코딩 왜곡 제거 처리를 4 ×4 화소 단위의 코딩 왜곡 제거 처리로 바꿀 수도 있다.
(제2 실시예)
본 발명에 따른 코딩 왜곡 제거 방법을 나타내는 도 4의 흐름도를 참조하여, 본 실시예에서는 코딩 왜곡 제거 방법을 쉽게 실현하는 구체적인 처리 과정을 설명한다.
단계 S18에서, 대상 블록이 코딩 왜곡 제거 블록인가 아닌가를 판정한다. 코딩 왜곡 제거 대상 블록이면 단계 S19로 진행하고, 대상 블록이 아니면 단계 S24로 진행한다.
단계 S19에서는 적절한 코딩 왜곡 제거 필터를 선택하고, 단계 S20에서는 선택한 필터를 사용하여 코딩 왜곡 제거 처리를 실행하고, 단계 S21에서 대상 화소를 상기 블록에서의 다음의 미처리 화소로 변경한다. 상기 블록에서 미처리 화소가 존재하지 않을 경우(단계 22는 "아니오"로 리턴)에는, 단계 S24로 진행한다. 미처리 화소가 존재하면(단계 22는 "예"로 리턴), 단계 S19로 루프 백(loop back)하여 상기 처리를 반복한다.
단계 S24에서는 상기 화상에 미처리 블록이 존재하는지 아닌지를 판정한다. 미처리 블록이 있으면 단계 S23으로 진행한다. 모든 블록이 처리되었으면(단계 S24는 "아니오"로 리턴), 상기 화상의 코딩 왜곡 제거 처리를 종료한다.
단계 S23에서는 대상 블록을 다음의 미처리 블록으로 변경하고, 단계 S18로 루프 백하여, 상기 처리를 반복한다.
도 6은 본 발명의 코딩 왜곡 제거 방법에서의 필터링할 화소의 수(이하, "필터 대상 화소수"라 함)를 결정하는 흐름도이다. 상기 흐름도는 도 2에 나타낸 필터 대상 화소수 제어기(4)의 일례를 설명한다. 도 6은 움직임 보상 블록이 도 8(a)에 나타낸 것일 경우를 나타낸다. 코딩 왜곡 제거 대상 화소값은, 도 8(b)에 나타낸 바와 같이,
p3, p2, p1, p0, q0, ql, q2, q3이라고 하고,
코딩 왜곡 제거한 후의 화소값은
P3, P2, P1, PO, Q0, Q1, Q2, Q3이라고 한다.
여기에서, 각 화소값은 화소의 위치에 따라 동일한 순서로 연속해서 할당한 것이고, p0∼p3과 PO∼P3은 동일 블록에서 대응하는 화소를 나타내고, q0∼q3과 Q0 ∼Q3은 동일 블록에서 대응하는 화소를 나타낸다.
양자화 파라미터(QP)가 클수록 양자화 단계가 더 커지고[거침(coarse)], 코딩 왜곡의 크기도 커진다. 따라서, 양자화 파라미터(QP)의 크기에 따라서 필터를 바꾸는 것이 유효하다. 도 5는 양자화 파라미터(QP)와 코딩 왜곡 제거 파라미터 사이의 상관을 나타내는 표이다. 필터 대상 화소수를 나타내는 파라미터 n을 결정하는 위한 디블로킹 처리 파라미터 π, Ω, n 사이의 상관을 아래의 표 1에 나타내었다. 화소값의 차가 큰 경우에는 에지이기 때문에 필터링을 해서는 안 되므로, 화소값의 차가 π미만의 화소의 사이에서는 필터링을 하지 않도록 π를 설정하는 것이 바람직하다. 또한, 화소값의 차가 작을 경우에는, 그 차가 매우 작은지(Ω미만) 약간 작은지(2 ×Ω미만)에 따라, 차가 작을수록 에지가 아닐 수 있으므로 강력한 필터(n이 큰 것)를 실행하도록 Ω를 설정하는 것이 바람직하다.
(표 1)
조건 A 조건 B n
difla > π dif2a < Ω 0
difla > π Ω ≤dif2a ≤2xΩ 0
difla > π dif2a ≥2xΩ 0
difla ≤π dif2a < Ω 2
difla ≤π Ω ≤dif2a ≤2xΩ 1
difla ≤π dif2a ≥2xΩ 0
여기서, difl = pO-qO
dif2 = pl-ql
difla = |dif1|
dif2a = |dif2| 로 한다.
즉, 도 6의 본 발명의 코딩 왜곡 제거 방법에서의 필터 대상 화소수를 결정하는 흐름도는 표 1을 바탕으로 정리한 것이다.
단계 S27은 코딩 왜곡 제거 처리로 반복 계산되는 파라미터인 화소 차분값( DifPel)을 계산한다. 화소 차분값(DifPel)은 단계 S27에서 계산된 difla와 dif2a이다.
단계 S28에서는 difla와 π을 비교하고, difla가 π보다 크면 단계 S29에서 n=0로 하고, 코딩 왜곡 제거 처리를 실행하지 않고 처리를 종료한다. difla이 π이하이면 단계 S30으로 진행한다.
단계 S30에서는 dif2a를 Ω와 비교하고, dif2a가 Ω미만이면 단계 S31에서 n=2(즉, 각 인접 블록의 경계에서 두 번째의 화소까지 코딩 왜곡 제거 처리를 실행)로 하고, 처리를 종료한다. dif2a이 Ω이상이면 단계 S32로 진행한다.
단계 S32에서는 dif2a를 2 ×Ω와 비교하고, dif2a가 2 ×Ω미만이면 단계 S33에서 n=1(즉, 각 인접 블록 경계에서 첫 번째의 화소까지 코딩 왜곡 제거 처리를 실행)로 하고, 처리를 종료한다. dif2a이 2 ×Ω이상이면 단계 S34에서 n=0(즉, 코딩 왜곡 제거 처리를 하지 않음)로 하여, 처리를 종료한다. dif2은 경계 근방의 화소값 차분의 절대값이며, 이 차분값이 작을수록 경계 근방에서 고주파 성분이 적기 때문에, dif2가 작을수록 디블로킹을 실행하는 화소수를 증가함으로써, 효율적으로 경계부의 코딩 왜곡을 제거할 수 있다.
도 7은 본 발명의 코딩 왜곡 제거 방법에서의 필터 계수를 결정하는 흐름도이며, 도 2에 나타내는 필터 계수 제어기(6)의 동작에 대한 일례이다.
단계 S37에서는, n과 difla, dif2a 및 φ를 이용해서 3가지 조건을 비교한다. 3가지 조건이 모두 만족되었을 경우에는, 단계 S39에서 3탭 필터 처리를 실행하도록 설정한다. 즉, φ는 필터의 탭수를 결정하는 문턱값이며, 고주파 성분이 적은 경우(n=2)와 경계부에서 화소값의 변화가 적은 경우(|dif2a-difla|<φ)에 3탭 필터가 된다. 보통, 3탭 필터는 1탭 필터보다도 고주파 성분을 강하게 억압한다. 또한, n의 값에 의해 필터 처리를 전환할 수 있기 때문에, 파라미터 n은 필터가 실행되는 화소수 대신에 필터 종류를 변경하는데 사용될 수 있다. 따라서, 이와 같이 구해진 파라미터 n은 필터링된 화소수와, 필터의 종류를 모두 전환하기 위해 사용될 수 있다.
단계 S37에서 3가지 조건이 만족되지 않을 경우는, 단계 S38에서 n의 값이 검출된다. n이 1 이상이면 단계 S40에서 1탭 필터 처리를 실행하도록 설정한다. 한편, n이 0이라면 단계 S42에서 필터 처리를 실행하지 않도록 설정한다.
양자화 파라미터(QP)는 블록마다 변경될 수 있다. 그러나, 양자화 파라미터(QP)가 다른 블록 사이의 경계에서는, 코딩 왜곡 제거 처리가 더욱 복잡해진다. 이것을 막기 위해서, 본 발명에서는 경계 블록에서 양자화 파라미터(QP)가 변화되는 경우에 다음 중 하나를 경계 양측에서의 블록 필터링을 위한 양자화 파라미터로서 사용한다.
* 인접 블록의 양자화 파라미터(QP)의 평균값[우수리(fractions)는 버릴 수 있음]
* 인접 블록의 양자화 파라미터(QP)의 최대값
* 인접 블록의 양자화 파라미터(QP)의 최소값
* 왼쪽 혹은 위쪽 인접 블록의 양자화 파라미터(QP)
상기 4가지의 양자화 파라미터(QP)의 선택에 의한 차이는 근소하여, 미리 선택한 1 가지를 사용할 수도 있다.
이상과 같은 방법에 의해, 코딩 왜곡의 제거를 간단히 실시할 수 있다.
이어서, 도 8(a)는 도 1에 나타낸 디블로킹 필터(62)의 다른 실시예를 나타내는 블록도이고, 도 2에 나타낸 점선으로 둘러싸인 부분의 별도의 실시예이다. 도 8에서, 도 34의 종래의 코딩 왜곡 제거 방법을 이용한 코딩 왜곡 제거부의 블록도에 기재되어 있는 것과 동일한 부분에는 동일한 참조번호를 부여했으며, 그 설명은 생략한다.
화소차분 계산기(20)는 재생 화상(Coef)으로부터 블록 경계의 화소 차분값을 계산하고, 화소 차분값(DifPel)을 출력한다. 화소 차분값(DifPel)은 difla 및 dif2a에 상당하는 신호를 포함하고 있다. 화소 차분값(DifPel)은, 예를 들면, 도 8(b)에 나타낸 것과 같이, 코딩 단위 블록의 경계에 대하여 좌우 대칭의 위치, 또는 상하 대칭의 위치에 있는 화소끼리 비교하고, 그 차(색차 또는 휘도차)인 d1, d2, d3, d4로부터 구한다. 이들의 차의 평균값[예를 들면 (dl+d2+d3+d4)/4]이 일정값 이하이면, d4를 구한 폭의 범위 내에는 화상 경계선이 존재하지 않을 가능성이 있으므로, 디블로킹 필터를 실행시킨다. 한편, 평균값이 일정값 이상이면, 화상 경계선이 존재하므로, 디블로킹 필터를 실행하지 않도록 제어한다. 이러한 비교는 d1, d2, d3, d4 중의 어느 하나, 어느 둘 또는 어느 셋을 사용할 수 있다. 또한, 평균값이 아니고, 차이값 중에서 가장 큰 것을 일정값과 비교할 수도 있다.
필터 대상 화소수 제어부(4)의 동작에 대한 일례로서 필터 대상 화소수를 결정하는 흐름도를 사용할 수 있다. 본 실시예의 필터 계수 제어기(6)의 일례로서는 도 7에 나타낸 필터 계수를 결정하는 흐름도가 있다. 그리고 도 8(b)에 나타낸 화소 차분값(DifPel)을 참조함으로써, 화소 차분을 계산하는 횟수를 필터 대상 화소수 제어기(4) 및 필터 계수 제어기(6) 모두에 대해 줄일 수 있다. 따라서, 필터 대상 화소수 제어기(4) 및 필터 계수 제어기(6)에서 재생 화상(Coef)을 참조하지 않고 필터 대상 화소수 및 필터 계수를 결정할 수 있다.
이상과 같이, 화소 차분(DifPel)으로 계산한 값을 반복해서 사용함으로써, 계산량을 줄일 수 있다.
(제3 실시예)
본 실시예에서는, 다른 실시예에 나타낸 코딩 왜곡 제거 방법을 실현할 수 있는 인코딩 장치 및 디코딩 장치에 대해서 설명한다.
도 9는 인코딩 장치의 블록도이다.
움직임 검출부(30)는 제1 메모리(38) 및 제2 메모리(40)로부터 출력되는 참조 화상 Refl과 참조 화상 Ref2를 각각 화상 신호(Vin)와 비교하고, 참조 화상에 대한 화상 신호(Vin)의 움직임량인 움직임 벡터(MV)를 검출한다. 참조 화상 Refl 또는 참조 화상 Ref2 중 어느 화상을 참조한 경우에 예측 오차가 적어질 것인지를 나타내는 정보도 움직임 벡터(MV)에 포함하여 움직임 보상부(32)에 통지한다. 움직임 보상부(32)는 움직임 벡터(MV)로 나타낸 위치의 화상을 참조 화상 Refl 또는 참조 화상 Ref2로부터 추출하고, 움직임 보상 화상(MCpel)으로서 출력한다.
감산기(42)는 화상 신호(Vin)로 움직임 보상 화상(MCpel)의 차분값을 계산해서 코사인 변환부(DCT)(46)로 출력한다. 코사인 변환부(46)는 입력된 차분값을 DCT 변환 및 양자화하고, 주파수 성분 FCoef를 출력한다. 지그재그 스캔부(48)는 주파수 성분 FCoef의 순번을 정렬한 주파수 코드 성분 DCoef를 출력하고, 가변길이 코딩부(50)는 주파수 코드 성분 DCoef를 가변길이 코딩해서 코딩 신호(Str)를 출력한다.
한편, DCT부(코사인 변환부)(46)의 출력은 역 DCT부(역 코사인 변환부)(44)로 입력된다. 주파수 성분 FCoef와 움직임 보상부(32)로부터 출력된 움직임 보상 화상(Mcpel)이 합성기(synthesizer)(34)에서 합성되고, 합성 화상(Coef)이 출력된다. 출력된 합성 화상은 한편으로는 제1 메모리(38)에 출력되고, 다른 한편으로는 디블로킹 필터(36)에서 처리된 후, 코딩 왜곡이 제거된 디코딩된 영상 신호(Vout)가 제2 메모리(40)에 저장된다.
도 10은 디코딩 장치를 나타내는 블록도이다. 상기 디코딩 장치는 도 9에 나타낸 인코딩 장치에 의해 코딩한 인코딩 신호(Str)를 바르게 디코딩한다. 도 10에서, 도 32 또는 도 33에 나타낸 것과 동일한 부분은 동일한 참조번호를 붙였으며, 그 설명은 생략한다. 역 DCT부(역 코사인 변환부)(56)는 주파수 성분 FCoef를 역 양자화 및 역DCT를 실행해서 차분 화상(DifCoef)를 출력하고, 가산부(58)에서 차분 화상(DifCoef)과 움직임 보상 화상(MCpel)을 가산함으로써 재생 화상(Coef)을 구한다. 재생 화상(Coef)은 제1 메모리(64)에 저장되고, 디블로킹 필터(62)에서 재생 화상(Coef)으로부터 코딩 왜곡이 제거된 디코딩된 화상 신호(Vout)는 제2 메모리(66)에 저장된다.
이상의 동작에 의해, 제1 메모리 38 및 제1 메모리 64에는 코딩 왜곡이 제거되지 않은 화상, 제2 메모리 40 및 제2 메모리 66에는 코딩 왜곡이 제거된 화상이 저장되게 된다. 코딩 왜곡의 제거 처리는 반드시 코딩 왜곡만을 제거하는 것은 아니고, 본래의 화상 신호의 일부를 잃을 수도 있다. 따라서, 도 9에 나타낸 인코딩 장치는, 움직임 검출부(30)에서 제1 메모리(38) 및 제2 메모리(40)의 양쪽 모두로부터 항상 최적인 것을 선택할 수 있도록 구성된다.
이러한 구성에 의해, 코딩 왜곡을 제거함으로써 본래의 화상 신호의 일부를 잃어버렸을 경우라도 제1 메모리(38)를 참조함으로써 적절한 참조 화상을 선택할 수 있다. 마찬가지로 도 10에 나타낸 디코딩 장치에서도 적절한 참조 화상을 선택할 수 있다.
또한, 본 실시예서는 직교변환으로서 DCT를 이용했지만, 하다마드 변환(Hadamard transform)이나 웨이브릿 변환(wavelet transform)을 이용할 수도 있다.
(제4 실시예)
도 11은 본 발명의 바람직한 실시예에 따른 코딩 왜곡 제거부를 나타내는 블 록도이며, 예를 들어 도 1에 나타낸 디블로킹 필터(62)에 대응한다. 이러한 코딩 왜곡 제거부는 필터를 설정하기 위해 문턱값을 정하는 것을 특징으로 한다. 도 11에서, 도 34에 나타낸 종래의 코딩 왜곡 제거부의 블록도에 기재되어 있는 것과 동일한 동작을 하는 부분은 동일한 참조번호를 붙였으며, 그 설명은 생략한다.
필터 설정 파라미터 디코더(filter setting parameter decoder)(22)는 필터 설정 파라미터 신호(FtrStr)를 디코딩하고, 필터 파라미터(FtrPrm)를 출력한다. 필터 설정 파라미터 신호(FtrStr)는 문턱값이 아니고, 문턱값을 설정하기 위한 파라미터이다. 필터 파라미터(FtrPrm)는 도 5의 π, Ω, φ에 해당한다. 이들 파라미터 π, Ω, φ를 화상마다 최적화한 데이터를 필터 설정 파라미터 신호(FtrStr)로부터 디코딩하여 구함으로써, 이 화상에 적합한 코딩 왜곡 제거를 실행할 수 있다.
도 12는 본 발명의 코딩 왜곡 제거 방법에서의 코딩된 신호(Str)의 구성도이다. 도 12(a)는 1 화상에 대한 인코딩 신호이며, 1 화상의 데이터를 갖는 화상 데이터(PicData)와 1 화상의 모든 데이터에 공통인 화상 헤더(PicHdr)로 구성된다. 화상 헤더(PicHdr)에는 필터 설정 파라미터 신호(FtrStr)가 포함되어 있다.
도 12(b)는 화상 데이터(PicData)의 구조이며, 화상 데이터(PicData)는 복수의 블록 단위의 그룹으로 구성되는 슬라이스(slice)의 코딩된 신호인 슬라이스 신호(SliceStr)를 포함하고 있다.
도 12(c)는 슬라이스 신호(SliceStr)의 구조이며, 1 슬라이스의 데이터인 슬라이스 데이터(SliceData)와 1 슬라이스의 모든 데이터에 공통인 슬라이스 헤더(SliceHdr)로 구성된다. 슬라이스 헤더(SliceHdr)에 필터 설정 파라미터 신호(FtrStr)가 기록됨으로써, 슬라이스 데이터(SliceData) 단위로 수신한 코딩된 신호를 바르게 디코딩할 수 있다.
또한, 화상 데이터(PicData)에 복수의 슬라이스 신호(SliceStr)가 포함되어 있을 경우는, 모든 슬라이스 헤더(SliceHdr)에 필터 설정 파라미터 신호(FtrStr)를 기록하는 대신에, 슬라이스 헤더(SliceHdr)의 일부에만 필터 설정 파라미터 신호(FtrStr)를 기록할 수도 있다. 필터 설정 파라미터 신호(FtrStr)의 내용이 각 슬라이스에서 공통이면, 도 12(c)에 나타낸 것 같이, 슬라이스 헤더(SliceHdr)에 필터 설정 파라미터 신호(FtrStr)가 없을 경우는, 다른 슬라이스 헤더(SliceHdr)의 필터 설정 파라미터 신호(FtrStr)로 대용함으로써, 필터 설정 파라미터 신호(FtrStr)의 반복에 의한 비트수의 증가를 억제할 수 있다.
코딩된 신호(Str)가 연속한 단일 비트스트림 대신에 패킷과 같은 작은 데이터의 단위로 전송되는 경우는, 헤더와 헤더 이외의 부분을 분리해서 전송할 수도 있다. 이 경우는, 도 12와 같이 헤더와 데이터부가 단일 비트스트림이 되지는 않을 것이다. 그러나, 헤더와 데이터부의 전송 순서가 연속하지 않아도, 특정 데이터 패킷에 대한 헤드는 다른 패킷으로 간단히 전송되고, 설령 단일 비트스트림으로 전송이 되지 않을 경우에도 도 12에 나타낸 비트스트림과 개념이 동일하다.
도 13은, 인코딩 장치의 블록도를 나타낸다. 도 13에서, 도 9에 나타낸 것과 동일한 동작을 하는 부분에는 동일한 참조번호를 붙였으며, 그 설명은 생략한다.
메모리(217)는 인코딩 대상의 화상 신호인 입력 화상 신호(Vin)를 저장한다.
화질 비교부(216)는 메모리(217)로부터 판독한 인코딩 대상의 화상 신호와 디코딩된 화상(Vout)을 비교한다. 화질 비교부(216)에서 비교한 결과로부터 구한 오차의 크기는 디코딩된 화상에 대응하는 디블로킹 필터의 문턱값과 함께 비교 메모리(218)에 기억된다. 선택부(219)는 비교 메모리(218)에 기억된 오차 내에서 오차의 크기가 가장 작을 경우에 해당하는 디블로킹 필터의 문턱값을 최적 문턱값으로 선택한다. 선택된 최적 문턱값은 대응하는 화상의 비트스트림에 관련되도록 부가된 비트스트림으로서 다중화(multiplexed)된다. 선택부(219)에서 출력한 최적 문턱값을 바탕으로, 문턱값 제어부(215)는 다음 화상의 디블로킹 필터에 대한 문턱값의 후보를 생성하고, 디블로킹 필터(36)에 통지해서 코딩 왜곡의 제거 처리의 문턱값을 변경하는 동시에, 비교 메모리(218)에 현재 사용 중인 문턱값을 통지한다.
도 14는 도 13에 나타낸 특정 인코딩 장치를 개념적으로 나타낸 것이다. 도 14에서, 최적 문턱값 선택기(226)는 도 13에서 지그재그 스캐너(48), 가변길이 코딩부(50) 및 문턱값 부가부(220)를 제외한 부분의 동작을 실행하는데, 메모리(217), 화질 비교부(216), 비교 메모리(218), 선택부(219) 및 문턱값 제어부(215)의 동작에 상당하는 부분에 해당한다. 비디오 인코더(227)는 도 13의 메모리(217), 화질 비교부(216), 비교 메모리(218), 선택부(219), 문턱값 제어부(215)를 제외한 부분의 동작에 대응한다. 문턱값(228)은 상기 최적 문턱값에 상당한다.
최적 문턱값 선택기(226)는 최적 문턱값을 선택한다. 이러한 최적 문턱값은 도 5에 나타낸 양자화 파라미터(QP)마다 결정된 π, Ω, φ의 세트에 상당한다. 선택된 최적 문턱값은 메모리(228)에 저장되어, 필터 설정 파라미터 신호(Ftrstr)로 서 비디오 인코더(227)에 인가된다. 또한, 코딩된 필터 설정 파라미터 신호(FtrStr)는 디코더에서, 예를 들어, 도 11에 나타낸 필터 설정 파라미터 디코더(22)에서 처리된다.
최적 문턱값은 도 13에 나타낸 문턱값 제어부(215) 내의 메모리에 저장되어, 문턱값 제어부(215)에 의해 문턱값 데이터가 문턱값 부가부(220)로 보내지도록 할 수 있다.
이어서, 코딩 왜곡을 제거할 때에 필터 설정 파라미터 신호(FtrStr)를 결정하는 동작을 설명한다. 도 15, 도 16, 도 17은, 도 13, 도 14로 설명한 인코딩 장치의 동작을 나타내는 흐름도이다.
도 15는 화질의 측정을 하기 위한 동작의 흐름도이다.
우선, 목표 프레임(target_frame)을 설정하고, 최초의 화상을 출력한다(단계 229). 여기서 목표 프레임(target_frame)이란 문턱값을 도출할 때에 사용하는 화상이다.
이어서, 문턱값 제어부(215)에서 문턱값의 범위를 설정하고(단계 230), 이 범위의 한쪽 단의 값을 초기 문턱값으로 문턱값 제어부(215)로부터 출력한다(단계 231).
이어서, 문턱값의 초기값을 이용해서 디블로킹 필터(36)에서 코딩 왜곡의 제거를 실행하고, 목표 프레임(target_frame)의 화상의 코딩을 시작하고(단계 232), 코딩된 첫 번째의 화상과 입력 화상 신호(Vin)의 화질을 화질 비교기(216)에서 측정한다(단계 233).
이 비교 결과는 비교 메모리(218)에 기록되어(단계 234), 현재의 프레임 번호(current_frame)가 증가된다(단계 235). 즉, 처리할 화상을 최초 화상으로부터 다음 화상으로 바꾸고, 다음 화상을 예를 들어 도 14에 나타낸 최적 문턱값 선택기(226) 및 비디오 인코더(227), 혹은 도 13에 나타낸 메모리(217), 움직임 보상부(30) 및 감산부(42)로 출력한다.
단계 236에서, 현재의 프레임 번호(current_frame)가 목표 프레임(target_frame)에 도달한 것인지 아닌지를 판단한다. 도달하지 않았다면, 단계 233에서 235까지 반복된다. 입력되는 화상에 대한 화질이 화질 비교부(216)에서 측정되고, 측정 결과가 메모리(218)에 저장된다. 현재의 프레임 번호(current_frame)가 목표 프레임(target_frame)에 도달하였다면, 단계 237에 진행되고, 현재 프레임 번호(current_frame)는 최초 화상으로 복귀된다.
문턱값 제어부(215)에서, 문턱값을 증가시킨다(단계 238A). 즉, 문턱값을 다음값으로 설정한다. 여기에서 "다음값"이란, 초기값으로부터 소정의 증가량을 가산한 값이다.
설정된 범위에서 다른 쪽 단에서의 문턱값에 이르는 모든 문턱값에 대해서 테스트가 실행된 것인지 아닌지를 판단한다(단계 238B). 모든 문턱값에 대해서 테스트가 실행된 경우라면 최적 문턱값을 선택하기 위한 처리를 종료한다. 모든 문턱값에 대해서 테스트가 실행되지 않은 경우라면 단계 232로 되돌아오고, 다시 목표 프레임(target_frame)의 화상을 코딩한다.
이렇게, 하나의 문턱값을 사용하여 모든 목표 프레임(target_frame)에 대해 서 화질을 측정한 후, 문턱값을 소정량 증가시키고, 다시 모든 목표 프레임(target_ frame)에 대해서 화질을 측정함으로써, 화질의 측정을 할 수 있다.
이어서, 도 16의 흐름도를 참조하여, 하나의 화상에 대하여, 설정한 문턱값 범위 내에 있는 모든 문턱값을 사용하여 화질을 측정하고, 계속하여 다음 화상에 대하여, 설정한 문턱값 범위 내에 있는 모든 문턱값을 사용하여 화질을 측정하는 방법에 대해서 설명한다.
우선, 목표 프레임(target_frame)을 설정하고, 최초의 화상을 출력한다(단계 239). 그리고, 현재 프레임 번호(current_frame)를 0으로 초기화한다(단계240).
이어서, 문턱값 제어부(215)에서, 문턱값의 범위를 설정하고(단계 241), 디블로킹 필터(36)에 대하여 문턱값을 설정한다(단계 242).
최초 화상에 대하여 문턱값의 초기값을 이용해서 코딩(코딩 왜곡 제거 처리)을 실행하고(단계 243), 코딩된 화상의 화질을 화질 비교부(216)에서 측정한다(단계244).
화질 비교부(216)에서 출력된 결과를 메모리(218)에 저장하고(단계 245), 문턱값 제어부(215)에서 문턱값을 다음값으로 증가시킨다(단계 246A).
그리고, 모든 문턱값이 테스트된 것인지 아닌지를 판단한다(단계 246B). 모든 문턱값이 테스트되지 않았다면, 단계 242로 되돌아오고, 동일한 화상에 대하여 다른 문턱값을 사용하여 화질을 측정한다. 모든 문턱값에 대해서 화질이 측정이 되었다면 단계 247로 진행한다.
단계 247에서, 현재의 프레임 번호(current_frame)를 증가시킨다. 즉, 최초 의 프레임인 첫 번째 화상으로부터 다음 프레임인 두 번째의 화상으로 처리될 화상을 바꾸고, 다음 화상을, 예를 들어 도 14에 나타낸 최적 문턱값 선택기(226) 및 비디오 인코더(227), 또는 도 13에 나타낸 메모리(217), 움직임 보상부(30) 및 감산부(42)로 출력한다.
단계 248에서, 현재의 프레임 번호(current_frame)가 목표 프레임(target_frame)에 도달했는지 아닌지를 판단한다. 만일 도달하지 않았다면, 단계 241에서 단계 247을 반복한다. 만일 현재의 프레임 번호(current_frame)가 목표 프레임(target_frame)과 같다면, 화질 측정을 종료한다.
도 17은, 도 15 또는 도 16에서 설명한 문턱값과 그 문턱값에 대한 화질의 측정 결과에 근거하여, 최적 문턱값을 선택하는 방법에 대해서 설명하는 흐름도이다.
도 17의 단계 249에서, 선택부(219)는 화질 측정 결과와, 대응하는 문턱값 데이터를 얻는다.
다음으로, 측정 결과를 소정의 순번으로 배열한다(단계 250).
소정의 조건에 근거하여 최적 화질을 갖는 화상을 선택하고(단계 251), 그 화상에 대응하는 문턱값을 최적 문턱값으로 선택한다. 이러한 소정의 조건은, 예를 들어, SN비가 작은 것, 재생 화상(상기 문턱값에서 디블로킹된 화상)과 원화상[(입력 화상 신호(Vin)] 사이의 차가 가장 낮은 것, 상기 차의 평균 제곱이 가장 낮은 것 중에서, 하나 또는 조합하여 할 수 있다.
다음으로, 선택된 최적 문턱값을 필터 설정 파라미터 신호(FtrStr)로서, 예를 들어, 도 14에 나타낸 비디오 인코더(227)로 출력한다(단계 252).
이와 같이, 도 17을 참조하여 설명한 방법을 이용하여, 최적 문턱값을 선택할 수 있다.
또한, 상기한 실시예에서는, 특정 범위의 모든 문턱값에 대해서 화질을 측정하고, 화질 측정 결과를 수집하고, 그 결과 중에서 최적의 문턱값을 선택한다. 또한, 문턱값 범위의 모든 문턱값에 대해서 차례로 화질을 측정하고, 최적의 화질 측정 결과가 검출된 시점에서 화질 측정을 종료하고, 그 화질 측정 결과에 대응하는 문턱값을 최적 문턱값으로 선택할 수도 있다. 이러한 방법은 화질 측정 횟수를 감소시킬 수 있다.
주어진 블록에 대한 코딩 왜곡의 제거 처리는, 그 블록의 화소값과 인접 블록의 화소값을 비교한다. 이 경우, 인접 블록은 코딩 왜곡의 제거 처리가 종료하고, 화소값의 수정이 종료한 블록이다.
예를 들면, 도 18에서 블록 G의 코딩 왜곡을 제거할 경우, 블록 G에 인접하는 4개의 블록 E, D, H, M 각각과 비교하여 코딩 왜곡을 제거할 수 있다. 이 경우, 이미 코딩 왜곡의 제거 처리가 종료한 블록을 사용함으로써, 더욱 정확하게 코딩 왜곡을 제거할 수 있다.
코딩 왜곡은 선형 순서(linear sequence)로, 스캐닝 순(scanning order)으로 제거하는 것이 바람직하다. 즉, 코딩 왜곡은 수평 스캔 라인 순서로 화상의 수평 스캔 라인의 스캔 방향으로 제거된다.
즉, 도 18에서, 첫 번째의 스캔 라인의 블럭 A, B, E, F가 코딩 왜곡 제거 처리를 먼저 실행하고, 다음 라인의 블럭 C, D, G, H가 처리되고, 이어서 차례로 처리된다. 각 블록에 대해서 4개의 경계선이 있지만, 그 중에서 위쪽 경계선과 좌측 경계선과 접하고 있는 인접 블록을 사용하여 코딩 왜곡 제거 처리를 실행하는 것이 바람직하다.
이 경우, 블록 A에 대해서는, 위쪽 경계선과 좌측 경계선에 접하고 있는 인접 블록이 존재하지 않으므로, 코딩 왜곡의 제거를 실행하지 않는다.
또한, 블록 B에 대해서는, 위쪽 경계선에 접하고 있는 인접 블록은 존재하지 않으므로, 좌측 경계선에 접하고 있는 인접 블록 A를 사용하여 디블로킹을 실행한다.
또한, 블록 G에 대해서는, 위쪽 경계선과 좌측 경계선과 접하고 있는 인접 블록은 블록 E, D이므로, 블록 E, D를 사용하여 블록 G로부터 코딩 왜곡을 제거하고, 블록 H, M은 사용하지 않는다.
이와 같이, 새로운 블록과, 코딩 왜곡이 이미 제거된 인접 블록과의 사이에서 코딩 왜곡 제거를 실행하고, 아직 코딩 왜곡의 제거가 종료하지 않은 인접 블록을 참조하지 않음으로써, 더욱 정확하게 코딩 왜곡 제거 처리를 실행할 수 있다.
(제5 실시예)
본 실시예에서는, 예를 들어 일렬로 늘어선 4 화소를 1 그룹으로 하는 것과 같이, 복수의 화소 그룹으로 화소를 분리하고, 그룹을 쌍으로 하고, 그룹 쌍에 대해 코딩 왜곡의 제거 처리를 하는 것에 대해 설명한다. 여기에서 말하는 코딩 왜곡 제거 처리란, 블록 경계의 양쪽 영역에서 디블로킹을 실행할 것인지 아닌지의 판단 과 디블로킹 동작 그 자체 중에서 어느 하나 또는 양쪽 모두를 말한다. 또한, 블록이란 코딩 처리 단위인 4 ×4의 16 화소를 포함하는 블록, 또는 도 3에서 설명한 움직임 보상을 실행하는 블록 중 어느 하나를 말한다.
도 19에 나타낸 것과 같이 1 그룹을 구성하는 4 화소는, 블록의 경계선과 같은 방향으로 배열된 4 화소의 그룹이다. 도 19에는 4 화소를 포함하는 그룹 r1, r2, r3, r4가 나타나 있다. 그룹 r1, r2, r3, r4의 데이터는, 각각 4개의 레지스터(예를 들어 SIMD 레지스터)에 저장할 수 있다. 그룹 rl, r2는 경계선에 대하여 좌우 대칭의 위치에 있다. 그룹 r3, r4도 경계선에 대하여 좌우 대칭의 위치에 있다. 그룹 rl에 있는 화소값과 그룹 r2에 있는 화소값이 비교되고, 그 차에 의해 코딩 왜곡의 제거 처리를 실행한다.
더욱 상세하게 설명하면, 그룹 rl의 상단 화소와 그룹 r2의 상단 화소와의 차 1, 그룹 rl의 상단 화소 아래의 화소와 그룹 r2의 상단 화소 아래의 화소와의 차 2, 그룹 rl의 하단 화소 위의 화소와 그룹 r2의 하단 화소 위의 화소와의 차 3, 그룹 rl의 하단 화소와 그룹 r2의 하단 화소와의 차 4를 구하고, 이들 차 1, 차 2, 차 3, 차 4의 평균값, 또는 이들 차 1, 차 2, 차 3, 차 4의 절대값의 합 등을 대표 차(representative difference)로서 나타내고, 대표차를 소정의 문턱값과 비교한다. 다른 방법도 가능하다. 같은 그룹의 4 화소 단위로 연산을 실행하기 때문에, 각 화소 단위로 연산을 실행할 경우에 비해, 출력이 매우 빠른 병렬 연산이 가능하다.
상기한 설명에서는 그룹 rl과 그룹 r2가 비교되는 경우를 설명했지만, 정확 성이 요구되는 경우는, 그룹 r3에 있는 화소의 휘도(luminance)와, 그룹 r4에 있는 화소의 휘도를 비교하고, 그룹 r1, r2에서 얻어진 비교 결과의 대표차를 그룹 r3, r4의 대표차와 가산하거나 평균함으로써, 코딩 왜곡을 제거할 수 있다.
상기에서는 경계선이 세로 방향에 있을 경우에 대해 설명했지만, 가로 방향을 따라 4 화소의 가로 그룹으로 간단히 조합함으로써 가로 방향에 대해서도 동일한 필수 연산이 실행될 수 있다.
도 20(a), (b)는, 각각 화면 상의 스캔 라인이 인터레이스(interlace) 되었을 경우를 나타낸다. 인터레이스 화상은 1개의 프레임이 시각이 다른 2개의 필드로 구성되는 화상이다. 인터레이스 화상의 코딩이나 디코딩에서는, 1개의 프레임을 프레임 그대로 처리하거나, 2개의 필드로서 처리하거나, 프레임 내의 블록마다 프레임 구조 또는 필드 구조로서 처리할 수 있다. 도 20에서, 회색의 작은 사각형은 홀수 라인의 화소를 나타내고, 백색의 작은 사각형은 짝수 라인의 화소를 나타낸다. 즉, 홀수 라인으로 구성되는 회색의 화소로서 프레임의 1 필드를 구성하고, 짝수 라인으로 구성되는 백색의 화소로서 동일 프레임의 다른 필드가 구성되어 있다.
인터레이스 화상 신호에서는, 1개의 프레임이 시각이 다른 2개의 필드(짝수 필드와 홀수 필드)로 구성된다. 정지 화상의 경우는 시각에 따라 화소값이 변화되지 않으므로, 프레임의 상하로 인접하는 라인의 상관이 필드의 상하로 인접하는 라인의 상관보다 강하다. 그러나, 동화상에서는 시각에 따라 화상이 크게 변화되기 때문에, 2개의 필드의 화소값이 크게 다르고, 필드의 상하로 인접하는 라인의 상관이 프레임의 상하로 인접하는 라인의 상관보다 강해진다. 따라서, 정지 화상은 프레임으로, 동화상은 필드로서 처리하는 것이 효율적이다.
인터레이스 화상에서, (1) 블록이 모두 프레임 구조 블록(프레임 구조에 대해서는 후술함), (2) 블록이 모두 필드 구조 블록(필드 구조에 대해서는 후술함), 또는 (3) 블록이 프레임 구조와 필드 구조의 블록 둘 다를 포함하는 경우가 고려된다.
화상이 모두 프레임 구조 블록일 경우(1), 모두 프레임 구조 단위로 디블로킹을 실행한다. 화상이 모두 필드 구조 블록일 경우(2), 모두 필드 구조 단위로 디블로킹을 실행한다. 화상이 프레임 구조 및 필드 구조 블록을 모두 포함하는 경우(3), 필드 구조로부터 프레임 구조로 또는 프레임 구조로부터 필드 구조로 적응적으로 변환해서 디블로킹을 실행한다. 이하, 각각에 대해서 구체적으로 설명한다.
정지 혹은 움직임이 작은 인터레이스 화상은, 도 20(a)에 나타낸 것과 같은 홀수 필드와 짝수 필드로 이루어지는 1 프레임 단위로 처리된다("프레임 구조"라고 함). 프레임 구조에서는, 도 20(a)의 오른쪽에 나타낸 것과 같이, 16화소로 구성되는 하나의 블록에 홀수 라인의 화소와 짝수 라인의 화소가 포함된다. 코딩 왜곡 제거 처리는 프레임 구조를 갖는 블록 사이에서 실행된다. 즉, 도 8(b)를 참조하여 설명한 바와 같이, 블록의 경계에서 코딩 왜곡 제거 처리가 실행된다.
큰 움직임의 인터레이스 화상은, 도 20(b)에 나타낸 것과 같이 홀수 필드와 짝수 필드로 나누어지는 1 필드 단위로 처리된다("필드 구조"라고 함). 도 20(b)의 오른쪽에 나타낸 바와 같이, 화상은 홀수 라인으로 구성되는 홀수 필드와, 짝수 라인으로 구성되는 짝수 필드로 나눌 수 있고, 홀수 필드에는 홀수 라인으로 구성되는 블록이 포함되고, 짝수 필드는 짝수 라인으로 구성되는 블록이 포함된다. 코딩 왜곡 제거 처리는, 필드 구조를 갖는 홀수 라인의 블록 사이에서만 또는 짝수 라인의 블록 사이에서만 실행된다.
도 21(a)은, 인터레이스 화상의 일부가 프레임 구조로 형성되고, 다른 일부가 필드 구조로 형성된 일례를 나타낸다. 화상에서 동화상 부분은 필드 구조로 형성되고, 정지 화상 부분은 프레임 구조로 형성되는 것이 바람직하다. 필드 구조 또는 프레임 구조로 형성되는 최소 단위는 DCT 등의 직교 변환 혹은 움직임 보상이 실행되는 최대 단위인 매크로 블록[또는 다수의 매크로 블록을 통합한 수퍼-매크로 블록(super-macroblocks)]이다. 여기서는, 도 21(a)의 자동차를 포함하는 사각형 부분이 필드 구조 블록을 포함하고, 화상의 나머지의 부분이 프레임 구조 블록을 포함하는 것으로 가정한다.
필드 구조 부분과 프레임 구조 부분 사이의 경계에서 코딩 왜곡 제거 처리를 어떻게 실행할 것인지에 대해 설명한다.
도 21(b)에서, 칼럼 Cl, C2, C3, C4에 포함되는 블록은 자동차가 있는 화상 영역에 속하고, 이 화상 영역에서는 움직임 때문에 필드 구조로 형성된다. 칼럼 C5, C6, C7, C8에 포함되는 블록은 자동차가 없는 영역에 속하고, 정지 화상 영역으로서 효율적인 프레임 구조로 형성된다. 또한, 이 예에서는 매크로 블록은 한쪽당 16 화소이며, 블록은 한쪽당 4 화소이다. 도 21(b)에서, 칼럼 C4와 C5는 떨어져서 나타나 있지만, 화상에서는 실제로 인접하고 있다. 칼럼 C3과 C4의 사이에 있는 블록 경계 및 칼럼 C5와 C6의 사이에 있는 블록 경계에 대해서는, 도 8(b)로 나타낸 코딩 왜곡 제거 처리가 실행된다.
칼럼 C4와 칼럼 C5와의 사이에 있는 블록 경계에 대하여는, 도 21(c)에 나타낸 바와 같이, 우선 칼럼 C5에 있는 프레임 구조의 블록이 필드 구조의 블록으로 변환된다. 이 변환은, 예를 들어, 도 21(b)에 나타낸 칼럼 C5의 홀수 라인의 화소를 도 21(c)에 나타낸 칼럼 C5의 회색의 화소의 블록으로 변환하고, 도 21(b)에 나타낸 칼럼 C5의 짝수 라인의 화소를 도 21(c)에 나타낸 컬럼 C5의 백색 화소의 블록으로 변환한다. 계속해서, 칼럼 C4와 C5와의 사이에 있는 블록 경계에 대하여, 도 8(b)에서와 같은 코딩 왜곡 제거 처리를 실행한다.
이와 같이, 프레임 구조의 블록을 필드 구조의 블록으로 변환하는 것은, 움직임이 있을 경우에 필드 구조의 블록을 프레임 구조의 블록으로 하면 수직방향의 화소의 상관을 잃어버리기 때문에, 수직방향의 코딩 왜곡 제거 처리를 실행하면 부자연스러운 열화가 발생하기 때문이다. 한편, 정지 화상의 경우에 프레임 구조의 블록을 필드 구조로 하면 수직방향의 고주파 성분에서의 코딩 오차의 억압 효과는 작아지지만, 수직방향의 화소의 상관을 잃어버리지 않고 부자연스러운 화질 열화가 쉽게 발생하지 않는다.
상기 예에서는, 처리량을 줄이기 위해서(프레임을 필드로 변환만 함) 프레임 구조의 블록을 필드 구조의 블록으로 변환한다고 한다. 그러나, 처리량을 고려하지 않으면, 프레임은 필드로 변환하고, 필드를 프레임으로 변환하는 다른 방법을 사용할 수 있어서, 이전의 경우와 비교하면 필드를 프레임으로 변환하는 만큼의 처리가 처리량을 증가시킨다. 구체적으로, 코딩 왜곡 제거 처리의 대상이 되는 화소(디블로킹에 의해 화소값을 변경하려고 하는 현재 화소)가, 프레임 구조의 블록 내에 있는지, 필드 구조의 블록 내에 있는지를 판단하고, 코딩 왜곡 제거 처리의 대상이 되는 화소가 필드 구조의 블록 내에 있으면, 프레임 구조의 블록을 필드 구조의 블록(코딩 왜곡 제거 처리의 대상이 되는 화소의 블록 형태)으로 변환하고, 코딩 왜곡 제거 처리의 대상이 되는 화소가 프레임 구조의 블록 내에 있으면, 필드 구조의 블록을 프레임 구조 블록(코딩 왜곡 제거 처리의 대상이 되는 화소의 블록 형태)으로 변환한다.
이하, 도 22의 흐름도에 따라, 프레임 구조와 필드 구조가 혼재할 경우의 동작에 대해서 설명한다.
인터레이스 화상 신호 스트림의 프레임은 서로 다른 시각으로 스캐닝되는 2개의 필드로 구성된다. 따라서, 프레임은 2개의 필드를 단일 코딩 단위(프레임 구조의 코딩)로 조합하여 프레임 코딩될 수 있거나, 또는, 2개의 필드를 개별로 코딩하고 취급하여(필드 구조의 코딩) 필드 코딩될 수 있다. 또한, 이들 코딩 방법은 아래의 2개의 카테고리(categories) 그룹, 즉 고정 코딩(fixed coding)과 적응 코딩(adaptive coding)으로 나눌 수 있다. 고정 코딩은 화면 전체를 프레임 코딩과 필드 코딩 중 어느 하나로 바꾸어서 코딩하는 것이고, 적응 코딩은 화면을 복수의 블록으로 분할하고, 각 블록은 프레임 코딩과 필드 코딩 중 어느 하나를 하게 된다.
고정 코딩에는 프레임 구조 블록을 실행하는 프레임 고정 코딩(frame-fixed coding)과, 필드 구조 블록을 실행하는 필드 고정 코딩이 있다. 고정 코딩에서는, 인터레이스 비디오 시퀀스가 콘텐츠(contents)에 관계없이 프레임 코딩 또는 필드 코딩 중 어느 하나로 항상 코딩된다.
그러나, 적응 코딩에서는, 콘텐츠, 화상, 또는 화상 내의 블록 단위를 근거로 프레임 코딩 또는 필드 코딩 중 어느 하나를 적응적으로 선택할 수 있다. 이러한 화상 내의 코딩 블록은 매크로 블록 레벨만큼 작게 할 수 있다. 따라서, 적응 코딩에서는, 매크로 블록이 프레임 코딩 또는 필드 코딩 중 어느 하나를 사용하여 코딩 될 수 있다. 이하의 설명에서는, 매크로 블록을 코딩 단위로서 사용한다.
프레임 코딩된 블록, 즉 프레임 구조를 갖는 블록에서는, 논-인터레이스 비디오(non-interlace video)의 경우와 동일한 방법을 사용하여 코딩 왜곡 제거가 실행된다.
필드 코딩된 블록, 즉 필드 구조를 갖는 블록에서는, 필드를 짝수 필드 및 홀수 필드로 나눌 수 있고, 각 필드는 개별 화상으로서 취급되어서, 각 필드 마다 디블로킹이 실행된다.
도 22의 흐름도를 참조하여, 대상 블록이 필드 코딩될 것인지, 아니면 프레임 코딩될 것인지를 판단한다(단계 63). 블록이 필드 코딩되었을 경우에는, 단계 64∼69가 실행된다. 블록이 프레임 코딩되었을 경우에는, 단계 70∼72가 실행된다.
단계 64∼66에서는 짝수 필드 구조의 블록이 처리되고, 단계 67∼69에서는 홀수 필드 구조의 블록이 처리된다. 단계 64∼66에서는, 도 21(b)의 칼럼 C3과 C4의 사이의 경계에서의 백색 화소간의 코딩 왜곡을 제거한다. 또한, 단계 67∼69에 서는, 도 21(b)의 칼럼 C3과 C4의 사이의 경계에서의 회색 화소간의 코딩 왜곡을 제거한다.
구체적으로, 단계 64에서 화소간의 휘도가 비교되어, 코딩 왜곡 제거가 필요한지 아닌지를 판단한다. 단계 65에서 필터링 해야 할 화소의 수가 결정된다. 단계 66에서 필드 모드로 코딩 왜곡이 제거된다.
단계 67, 68, 69에서는, 단계 64, 65, 66과 동일한 동작이 실행된다.
단계 70∼72에서는 프레임 구조의 블록이 처리되어, 도 21(b)의 칼럼 C5와 C6의 사이의 경계에서의 코딩 왜곡을 제거한다. 구체적으로, 단계 70에서 화소간의 휘도가 비교되고, 코딩 왜곡 제거가 필요한지 아닌지를 판단한다. 단계 71에서 필터링 해야 할 화소의 수가 결정된다. 단계 72에서 프레임 모드에서 코딩 왜곡이 제거된다.
단계 73에서 모든 블록이 처리된 것인지 아닌지를 판단하고, 처리를 종료한다.
도 23은, 도 22의 단계 64와 67이 단일화되었을 경우를 나타낸다. 즉, 짝수 필드의 블록과 홀수 필드의 블록의 양쪽에 대하여 코딩 왜곡 제거가 필요한지 아닌지를 판단하고, 만일 필요하다면, 짝수 필드와 홀수 필드의 블록 모두에 대해 디블로킹이 실행된다. 이로써, 코딩 왜곡 제거 처리를 간략화할 수 있다.
도 24는, 도 23의 단계 65와 68이 단일화되었을 경우를 나타낸다. 즉, 짝수 필드의 블록과 홀수 필드의 블록의 양쪽에 대하여 디블로킹 해야 할 화소의 수를 결정한다. 그 결과에 따라, 짝수 필드와 홀수 필드의 블록에 대해 코딩 왜곡 제거 가 실행된다. 이로써, 코딩 왜곡 제거 처리를 간략화할 수 있다.
도 25는 하나의 화상에 프레임 코딩 블록과 필드 코딩 블록이 혼재하고 있을 경우에 사용되는 처리의 흐름도로서, 프레임 구조 블록과 필드 구조 블록 사이에 블록 경계가 있다.
단계 95에서, 코딩 왜곡 제거를 실행하는 블록 사이의 경계가 특정한 경계선, 즉 경계선의 한쪽에 프레임 구조 블록이 있고 다른 쪽에 필드 구조 블록이 있는 경계선인지 아닌지가 판단된다. 이 판단은, 도 21(b)에서의 칼럼 C4와 C5의 사이의 경계선인지 아닌지를 결정하는 것에 상당한다. 특정한 경계선이라고 판단되었을 경우에는, 단계 96으로 옮겨간다.
경계선의 한쪽에 있는 프레임 구조 블록을 필드 구조 블록으로 변환한다(단계 96). 이 변환은, 도 21(b)의 칼럼 C5에 나타낸 블록으로부터 도 21(c)의 칼럼 C5에 나타낸 블록으로의 변환에 상당한다. 변환된 블록을 "변환 블록(conversion block)"이라 한다.
단계 97에서, 경계선의 다른 쪽에 있는 필드 구조 블록과 변환 블록과의 사이에 코딩 왜곡 제거가 필요한지 아닌지를 판단한다. 이 판단은, 도 21(c)에서의 칼럼 C4와 C5의 사이의 경계에서의 판단에 상당한다. 필요하다고 판단되면, 단계 98로 진행된다.
다음으로, 필터링 해야 할 화소의 수를 결정하고(단계 98), 필드 모드로 코딩 왜곡이 제거된다(단계 99).
도 25에서는, 적응 코딩된 프레임 구조와 필드 구조의 블록이 인접할 경우 에, 프레임 구조 블록을 필드 구조 블록으로 변환하고 필드로부터 코딩 왜곡을 제거하는 것을 나타내었지만, 이와 반대로 필드 구조 블록을 프레임 구조 블록으로 변환하고, 프레임에 대해 코딩 왜곡을 제거할 수도 있다.
도 25와 같이 필드에서 코딩 왜곡을 제거하면, 움직임이 빠른 화상 신호라도 동일한 시각의 화소만을 사용하여 코딩 왜곡을 제거하기 때문에, 부자연스러운 화질 열화에 대항할 수 있는 장점이 있다. 그러나, 움직임이 작은 화상 신호에서는 수직방향의 화소 상관이 프레임에서 더 강하기 때문에, 프레임에서 디블로킹하는 것이 필드에서 디블로킹하는 것보다 고주파 성분의 열화가 적어지는 장점이 있다. 따라서, 두 방법이 모두 장점이 있으므로, 기기를 제조할 때에 한쪽을 선택할 수 있도록 하거나, 혹은 사용자가 한쪽을 선택할 수 있도록 할 수 있다.
또한, 적응 코딩의 경우라도, 블록 단위 대신에 화상 단위(프레임 또는 필드)로 코딩 왜곡 제거 처리를 실행할 수도 있다. 화상 단위로 필드 모드 혹은 프레임 모드 디블로킹 필터 중 하나를 제공함으로써, 디블로킹이 간단해질 수 있다. 상기 필터는 필드 모드 혹은 프레임 모드 중 어느 한 쪽에 고정할 수도 있고, 또는 화상마다 전환할 수도 있다. 필터를 화상마다 전환할 수 있도록 할 경우, 어느 쪽의 모드가 적절한 것이지를 코딩 장치로 판단하고, 디코딩 장치의 디블로킹 필터가 어느 쪽 모드에서 동작해야 할지를 나타내는 식별 신호(identification signal)를 코드 스트림 헤더에 포함시켜서 전송할 수도 있다.
또한, 블록 단위로 필드/프레임 모드 동작이 전환 가능할 경우에는, 필드를 근거로 디블로킹 및 전환이 금지되고(예를 들어, 화상에서의 전환을 금지하는 화상 파라미터를 설정함), 코딩 왜곡은 프레임 단위로 제거될 수 있다.
또한, 제1 실시예에서 제5 실시예에 나타낸 디블로킹 필터는 도 32에 나타낸 포스트 필터(post filter) 또는 도 33에 나타낸 인-루프 필터(in-loop filter)로서 사용할 수 있다.
인-루프 필터에서는, 디블로킹 처리를 실행하기 전의 데이터를 메모리(64)에 저장함으로써, 블록 왜곡이 제거되지 않고 있는 화상이 예측 화상(predictive image)으로서 참조되고, 디블로킹된 화상을 예측 화상으로서 참조하는 경우에 비해 코딩된 화질이 약간 더 열화된다.
한편, 포스트 필터에서는, 코딩 왜곡 제거 처리의 결과가 참조 화상으로서 사용되지 않기 때문에, 사용되는 디블로킹 필터(62)의 종류에 관계없이 디코딩된 화상이 크게 열화되는 일은 없다. 예를 들면, 소비 전력의 절감이 우선인 휴대 전화기에서는 디블로킹 필터(62)로서 가장 작은 연산량의 단순 필터를 사용하고, 화질이 최우선인 오락용 고정 기기에서는 고정밀도의 고화질 필터를 디블로킹 필터(62)로서 사용할 수 있다.
(제6 실시예)
상기 각 실시예로 나타낸 코딩 왜곡 제거 방법, 코딩 방법 및 디코딩 방법의 구성을 실현하기 위한 프로그램을 플로피디스크와 같은 컴퓨터 판독 가능 기록 매체에 기록하도록 함으로써, 상기 각 실시예에서 나타낸 처리를 독립한 컴퓨터 시스템에서 간단히 실시할 수 있다.
도 26은, 상기 제1 실시예에서 제5 실시예의 코딩 왜곡 제거 방법, 코딩 방 법 및 디코딩 방법을 저장한 데이터 기록 매체(본 예에서는 플로피디스크)를 이용하여 달성한 본 발명의 또 다른 실시예로서의 컴퓨터 시스템을 나타낸다.
도 26(b)는 플로피디스크의 정면에서 본 외관, 단면구조, 및 플로피디스크를 나타내고, 도 26(a)은, 기록 매체 본체인 플로피디스크의 물리적 포맷의 일례를 나타낸다. 플로피디스크(FD)는 케이스(F)에 내장되어, 그 디스크의 표면에는 동심원 형상으로 외주에서 내주를 향하는 복수의 트랙(Tr)이 형성되고, 각 트랙은 각도 방향(angular direction)으로 16 섹터(Se)로 분할되어 있다. 따라서, 본 발명에 따른 상기 프로그램을 저장한 플로피디스크에서는, 상기 플로피디스크(FD) 위에 특별히 할당된 영역에 컴퓨터 실행가능 프로그램으로서 기록된 본 발명의 코딩 왜곡 제거 방법, 코딩 방법 및 디코딩 방법을 갖는다.
또한, 도 26(c)은, 플로피디스크(FD)에 상기 프로그램의 기록 재생을 실행하는 장치를 나타낸다. 상기 프로그램을 플로피디스크(FD)에 기록할 경우는, 컴퓨터 시스템(Cs)이 상기 프로그램으로서의 코딩 왜곡 제거 방법, 코딩 방법 및 디코딩 방법을 플로피 디스크 드라이브(FDD)를 통해서 기록한다.
또한, 플로피디스크(FD) 내의 프로그램에 의해 상기 코딩 왜곡 제거 방법, 코딩 방법 및 디코딩 방법을 실행할 경우는, 플로피디스크 드라이브에 의해 프로그램을 플로피디스크로부터 판독하고, 컴퓨터 시스템에 전송한다.
또한, 상기한 설명에서는, 기록 매체로서 플로피디스크를 이용해서 설명을 실행했지만, 광디스크를 이용해도 마찬가지로 실행할 수 있다. 또한, 기록 매체는 이에 한정되지 않고, CD-ROM, 메모리 카드, ROM 카세트 등, 프로그램을 기록할 수 있는 것이면 마찬가지로 실시할 수 있다.
다음으로, 본 발명의 실시예에 다른 비디오 코딩 방법이나 비디오 디코딩 방법을 응용하는 시스템에 대해 설명한다.
도 27은, 콘텐츠 송신 서비스(content distribution service)를 실현하는 콘텐츠 공급 시스템(content supply system)(ex100)의 전체 구성을 나타낸 블록도이다. 이러한 통신 서비스의 제공 영역은 필요한 크기의 셀(cell)로 분할되고, 각 셀 내에 기지국(고정 무선국)(ex107∼ex11O)이 각각 설치되어 있다.
이 콘텐츠 공급 시스템(ex100)은, 예를 들면, 인터넷(ex101)에 인터넷 서비스 공급자(ex102), 전화망(ex104) 및 기지국(ex107∼ex110)을 통해, 컴퓨터(ex111), PDA(Personal Digital Assistant)(ex112), 카메라(ex113), 휴대전화기(ex114), 카메라 부착 휴대전화기(ex115) 등의 각 기기가 접속된다.
그러나, 콘텐츠 공급 시스템(ex100)은 도 27과 같은 구성으로 한정되지 않고, 원하는 장치를 선택적으로 접속할 수도 있다. 또한, 고정된 기지국(ex107∼ex110)을 통하지 않고, 각 기기가 전화망(ex104)에 직접 접속될 수도 있다.
카메라(ex113)는 디지털 비디오카메라와 같은 비디오 촬영이 가능한 기기다. 또한, 휴대전화기는 PDC(Personal Digital Communications) 방식, CDMA(Code Division Multiple Access) 방식, W-CDMA(Wideband-Code Division Multiple Access) 방식, 혹은 GSM(Global System for Mobile Communications) 방식 및 PHS(Personal Handyphone System) 등을 포함하는 여러 프로토콜 중 어느 것이라도 사용할 수 있다.
카메라(ex113)는 기지국(ex109) 및 전화망(ex104)을 통해 스트리밍 서버(ex103)에 접속되어 있고, 카메라(ex113)를 이용해서 사용자가 송신하는 코딩 된 콘텐츠에 근거한 라이브 방송(live broadcast)이 스트리밍할 수 있다. 카메라(ex116)로부터 수신한 콘텐츠는 카메라(ex113) 또는 서버에 의해 코딩될 수 있다. 또한, 카메라(ex116)로 촬영한 비디오 데이터는 컴퓨터(ex111)를 통해서 스트리밍 서버(ex103)에 송신될 수도 있다. 카메라(ex116)는 디지털 카메라와 같이 정지 화상과 비디오 모두를 촬영할 수 있는 기기이다. 이 경우, 카메라(ex116)로부터 수신한 비디오 데이터는 카메라(ex116) 또는 컴퓨터(ex111)에 의해 코딩될 수 있다. 어느 경우에나, 비디오 데이터는 컴퓨터(ex111)나 카메라(ex116)에서의 LSI 소자(ex117)에 의해 처리된다. 또한, 비디오 코딩 및 디코딩용의 소프트웨어는 컴퓨터(ex111)가 액세스할 수 있는 컴퓨터 판독 가능 기록 매체(CD--ROM 디스크, 플로피 디스크, 하드 디스크 등)에 저장되도록 할 수 있다.
카메라 부착 휴대전화기(ex115)로 비디오 데이터를 송신할 수도 있다. 이 때의 비디오 데이터는 휴대전화기(ex115)가 갖는 LSI 소자에 의해 코딩된다.
이러한 콘텐츠 공급 시스템(ex100)에서는, 사용자가 카메라(ex113), 카메라 (ex116) 등으로 기록하는 콘텐츠(예를 들면, 음악회의 라이브 기록 등)를 상기 실시예에서와 마찬가지로 코딩해서 스트리밍 서버(ex103)로 송신한다. 이 때, 스트리밍 서버(ex103)는 데이터를 요구하는 클라이언트(client)에 대하여 상기 콘텐츠 데이터를 스트림 송신한다. 클라이언트로서는, 상기 코딩된 콘텐츠를 디코딩할 수 있는 컴퓨터(ex111), PDA(ex112), 카메라(ex113), 휴대전화기(ex114) 등이 있다. 따라서, 콘텐츠 공급 시스템(ex100)은 코딩된 콘텐츠 데이터를 클라이언트가 수신해서 재생할 수 있도록 하고, 또한 실시간으로 콘텐츠를 수신해서 디코딩하고, 재생할 수 있도록 함으로써, 개인 방송도 실현할 수 있는 시스템이 된다.
상기한 실시예들에서 설명한 본 발명의 비디오 코딩 장치와 비디오 디코딩 장치는 상기한 콘텐츠 공급 시스템(ex100)에서의 개개의 기기를 코딩 및 디코딩을 위해 사용할 수 있다.
이러한 콘텐츠 공급 시스템(ex10)의 일례로서 휴대전화기에 대해서 설명한다.
도 28은, 본 발명에 따른 상기 실시예에서 설명한 비디오 코딩 방법과 비디오 디코딩 방법을 이용한 휴대전화기(ex115)를 나타내는 도면이다. 도 28에서, 카메라가 부착된 휴대전화기(ex115)는, 기지국(ex110)과의 사이에 RF 신호를 송수신하기 위한 안테나(ex201), CCD 카메라와 같은 비디오 및 정지 화상을 찍을 수 있는 카메라(ex203), 카메라(ex203)에서 촬영한 영상 또는 안테나(ex201)로 수신한 영상 등이 디코딩된 데이터를 표시하는 액정 디스플레이와 같은 표시부(ex202), 키패드(keypad)와 제어판을 갖는 조작 패널(ex204), 음성 출력을 하기 위한 스피커(ex208)와 같은 음성 출력부, 음성 입력을 하기 위한 마이크(ex205)와 같은 음성 입력부, 카메라(ex203)로 촬영한 비디오 혹은 정지 화상의 데이터, 수신한 메일의 데이터, 또는 다른 비디오 또는 정지 화상의 데이터와 같은 코딩된 데이터 또는 디코딩된 데이터를 저장하기 위한 기록 매체(ex207), 휴대전화기(ex115)에 기록 매체(ex207)를 장착하기 위한 슬롯(ex206)을 가지고 있다. 기록 매체(ex207)는 SD 카드 또는 플라스틱 케이스 내에 싸인 EEPROM(Electrically Erasable and Programmable Read Only Memory)과 같은 일종의 플래시 메모리 소자일 수 있다.
휴대전화기(ex115)에 대해서 도 29를 이용해서 더 설명한다. 표시부(ex202) 및 키패드(ex204)를 갖춘 휴대전화기(ex115)의 각 부분을 시스템적으로 제어하는 주제어기(ex311)에 대하여, 전원공급부(ex310), 조작입력 제어기(ex304), 화상 코딩부(ex312), 카메라 인터페이스(ex303), LCD(Liquid Crystal Display) 제어부(ex302), 화상 디코딩부(ex309), 멀티플렉서/디멀티플렉서(ex308), 기록 재생부(ex307), 변복조부(ex306) 및 음성 처리부(ex305)가 동기 버스(ex313)를 통해서 서로 접속되어 있다.
전원공급부(ex310)는, 사용자가 종료 및 전원 버튼을 온(on) 상태로 설정하면, 배터리 팩(battery pack)으로부터 휴대전화기(ex310)의 각 부분에 대하여 전력을 공급함으로써, 카메라 부착 디지털 휴대전화기(ex115)를 동작 가능한 상태로 기동한다.
휴대전화기(ex115)는 CPU, ROM 및 RAM을 포함하는 주제어기(ex311)의 제어에 따라, 음성통화 모드(talk mode) 때에 마이크로폰(ex205)에서 집음(集音)한 오디오 신호를 음성 처리부(ex305)에 의해 디지털 오디오 데이터로 변환한다. 변복조부(ex306)는 음성 처리부(ex305) 출력을 스펙트럼 확산 처리하고, 송수신 회로부(ex301)에서 디지털/아날로그 변환처리 및 주파수 변환 처리를 실시한 후에, 안테나(ex201)를 통해서 송신한다. 또한 휴대전화기(ex115)는 음성통화 모드 때에 안테나(ex201)로 수신한 수신 신호를 증폭해서 주파수 변환 처리 및 아날로그/디지털 변환 처리를 실시하고, 변복조부(ex306)에서 스펙트럼 역확산처리하고, 음성 처리부(ex305)에 의해 아날로그 오디오 신호로 변환한 후, 이것을 스피커(ex208)를 통해서 출력한다.
또한, 데이터 통신 모드 때에 전자 메일을 송신할 경우, 키패드(ex204)의 조작에 의해 입력된 전자 메일의 텍스트 데이터는 조작입력 제어기(ex304)를 통해서 주제어부(ex311)로 송출된다. 주제어부(ex311)는 텍스트 데이터를 변복조부(ex306)에서 스펙트럼 확산 처리하고, 송수신 회로부(ex301)에서 디지털/아날로그 변환처리 및 주파수 변환 처리를 실시한 후에, 안테나(ex201)를 통해서 기지국(ex110)으로 송신한다.
데이터 통신 모드 때에 화상 데이터를 송신할 경우, 카메라(ex203)에서 촬상된 화상 데이터를 카메라 인터페이스(ex303)를 통해서 화상 코딩부(ex312)에 공급한다. 또한, 화상 데이터를 송신하지 않을 경우에는, 카메라(ex203)에서 촬상한 화상 데이터를 카메라 인터페이스(ex303) 및 LCD 제어부(ex302)를 통해서 표시부(ex202)에 직접 표시할 수도 있다.
화상 코딩부(ex312는), 본 발명에 따른 화상 코딩 장치의 구성을 가지며, 카메라(ex203)로부터 공급된 화상 데이터를 상술한 실시예로 설명한 화상 코딩 장치에 이용한 코딩 방법에 의해 압축 코딩함으로써, 코딩된 화상 데이터로 변환하고, 이것을 멀티플렉서/디멀티플렉서(ex308)에 송출한다. 동시에, 휴대전화기(ex115)는 카메라(ex203)에서 기록 중에 마이크로폰(ex205)에서 집음한 음성을 음성 처리부(ex305)를 통해서 디지털 오디오 데이터로서 멀티플렉서/디멀티플렉서 (ex308)에 송출한다.
멀티플렉서/디멀티플렉서(ex308)는 화상 코딩부(ex312)로부터 공급된 코딩 화상 데이터와 음성 처리부(ex305)로부터 공급된 오디오 데이터를, 소정의 방식으로 다중화하고, 그 결과 얻을 수 있는 다중화 데이터(multiplexed data)를 변복조부(ex306)에서 스펙트럼 확산 처리하고, 송수신 회로부(ex301)에서 디지털/아날로그 변환처리 및 주파수 변환 처리를 실시한 후에, 안테나(ex201)를 통해서 송신한다.
데이터통신 모드에서, 인터넷 상의 웹페이지로부터 액세스된 비디오 파일의 데이터를 수신할 경우, 안테나(ex201)를 통해서 기지국(ex110)으로부터 수신한 수신 신호를 변복조부(ex306)에서 스펙트럼 역확산처리하고, 그 결과 얻을 수 있는 다중화 데이터를 멀티플렉서/디멀티플렉서(ex308)에 송출한다.
또한, 안테나(ex201)를 통해서 수신된 다중화 데이터를 디코딩하기 위해서, 멀티플렉서/디멀티플렉서(ex308)는 다중화 데이터를 디멀티플렉싱(demultiplexing)함으로써, 코딩된 비디오 데이터 비트스트림과 코딩된 오디오 데이터 비트스트림으로 분리하고, 동기 버스(ex313)를 통해서 코딩된 비디오 데이터 비트스트림을 화상 디코딩부(ex309)에 공급하고, 동시에 코딩된 오디오 데이터 비트스트림을 음성처리부(ex305)에 공급한다.
이어서, 화상 디코딩부(ex309)는 상기한 실시예에서 설명한 화상 디코딩 장치와 동일한 구성이며, 상기한 코딩 방법에 대응한 디코딩 방법을 사용하여 코딩된 비디오 데이터 비트스트림을 디코딩함으로써 재생 비디오 데이터를 생성하고, 이것을 LCD 제어부(ex302)를 통해서 표시부(ex202)에 공급한다. 이로써, 예를 들면, 인 터넷 상의 웹페이지에 액세스된 비디오 파일에 포함되는 비디오 데이터가 표시된다. 동시에, 음성처리부(ex305)는 오디오 데이터를 아날로그 오디오 신호로 변환한 후, 이것을 스피커(ex208)에 공급한다. 이로써, 예를 들면, 인터넷 상의 웹페이지에 액세스된 비디오 파일에 포함되는 오디오 데이터가 재생된다.
본 발명의 통신 시스템은 상기한 구성에 한정되는 것은 아니다. 이러한 시스템은, 예를 들어 도 30에 나타낸 것과 같이, 디지털 방송용 시스템에도 적용될 수 있어서, 본 발명의 화상 코딩 장치 및/또는 화상 디코딩 장치를 사용하여, 위성 또는 지상파 네트워크를 통해 전송되는 디지털 방송 액세스할 수 있다.
구체적으로, 방송국(ex409)에서는 코딩된 비디오 데이터 비트스트림이 전파를 통해서 통신 또는 방송 위성(ex410)으로 전송된다. 이것을 받은 방송 위성(ex410)은 방송용 신호를 발신하고, 이 신호를 위성방송 수신 설비를 갖춘 가정의 안테나(ex406)로 수신하고, 텔레비전 수상기(ex401) 또는 셋톱 박스(STB)(ex407) 등의 장치에 의해 코딩된 비트스트림을 디코딩해서 재생한다.
또한, CD나 DVD 또는 다른 저장 매체와 같은 기록매체(ex402)에 기록한 코딩된 비트스트림을 판독하고 디코딩하는 재생장치(ex403)에도 본 발명의 비디오 디코딩 장치를 실장할 수 있다. 이 경우, 재생된 비디오 신호는 모니터(ex404)에 표시된다.
또한, 위성 또는 지상파 방송의 안테나(ex406)에 접속된 셋톱 박스(ex407)나 케이블 텔레비전용의 케이블 안테나(ex405)에 본 발명의 화상 디코딩 장치를 실장할 수 있다. 이것을 텔레비전의 모니터(ex408)에서 재생할 수도 있다.
화상 디코딩 장치는 셋톱 박스 대신에 텔레비전 내에 설치할 수도 있다.
또한, 안테나(ex411)를 갖는 자동차(ex412)로 위성(ex410) 또는 기지국(ex107)으로부터 신호를 수신하고, 자동차(ex412)에 갖춰진 차량 항법 시스템(car navigation)(ex413)의 표시장치에 코딩된 비디오를 재생할 수도 있다.
또한, 본 발명이 실시예에 따른 비디오 코딩 장치에 의해 화상 신호를 코딩하고, 데이터 기록 매체에 기록할 수도 있다. 구체적으로, DVD 디스크(ex421)에 화상 신호를 기록하는 DVD 레코더(recorder)나, 화상 신호를 기록하는 하드 디스크 레코더(ex420) 등이 있다. 이와 달리, SD 카드(ex422)에 화상 신호를 기록할 수도 있다. 레코더(ex420)가 본 발명의 비디오 디코딩 장치를 가지고 있으면, DVD 디스크(ex421)나 SD 카드(ex422)에 기록한 비디오 신호를 재생하고, 모니터(ex408)에 표시할 수 있다.
또한, 차량 항법 시스템(ex413)은, 예를 들면 도 29에 나타낸 구성 중에서, 카메라(ex203), 카메라 인터페이스(ex303), 화상 코딩부(ex312)를 제외하고 구성할 수 있다. 이것도 컴퓨터(ex111)나 텔레비전(수신기)(ex401)에 적용된다.
또한, 상기 휴대전화기(ex114)와 같은 단말기는 상기한 인코더 및 디코더를 모두 갖는 송수신형 단말기(transceiver terminal)이나, 인코더만을 갖는 송신 단말기, 디코더만을 갖는 수신 단말기일 수 있다.
본 발명의 인코딩 장치 및 디코딩 장치는 상기한 제1 실시예에서 제6 실시예에 나타낸 구성으로 한정되지 않고, 다양한 방법으로 변경할 수 있다.
상기 실시예에서 설명한 비디오 인코딩 방법 및 비디오 디코딩 방법은 상술 한 어느 하나의 기기 및 시스템에 이용할 수 있으므로, 상기 실시예에서 설명한 효과를 얻을 수 있다.
이상과 같이, 본 발명에 따른 코딩 왜곡 제거 방법은, 처리가 간단한 코딩 왜곡 제거 방법, 코딩 왜곡 제거를 실행함으로써 화상 신호의 화질을 감소시킬 가능성이 적은 코딩 왜곡 제거 방법, 코딩 왜곡 제거를 실행함으로써 화상 신호의 화질을 떨어뜨릴 가능성을 줄일 수 있는 코딩 방법 및 디코딩 방법을 제공할 수 있고, 그 실용적 가치는 매우 높다.
본 발명은 첨부한 도면을 참조하여 바람직한 실시예에 의해 설명되었지만, 이 기술분야의 전문가라면 다양한 변형 및 수정을 할 수 있음은 명백하다. 이러한 변형 및 수정은 첨부한 청구범위에 의해 정해지는 본 발명의 범위 내에서 벗어나는 것이 아니라면, 본 발명의 범위 내에 있는 것으로 해석될 것이다.

Claims (15)

  1. 필드 구조 블록과 프레임 구조 블록으로 이루어지는 화상에서 코딩 왜곡을 제거하기 위한 코딩 왜곡 제거 방법에 있어서, 상기 방법은
    코딩 왜곡을 제거하는 대상 블록이, 필드 구조 블록 또는 프레임 구조 블록 중 어느 것으로 코딩되었는지를 검출하는 단계와,
    상기 대상 블록이 필드 구조 블록으로서 코딩된 것으로 검출되었을 경우, 상기 대상 블록의 짝수 필드 화소에 대해 코딩 왜곡 제거 처리를 실행하고, 또한 개별적으로 상기 대상 블록의 홀수 필드 화소에 대해 코딩 왜곡 제거 처리를 실행하는 단계와,
    상기 대상 블록이 프레임 구조 블록으로서 코딩된 것으로 검출되었을 경우, 상기 대상 블록의 짝수 필드 화소와 홀수 필드 화소를 구분하지 않고, 상기 대상 블록에 대해 코딩 왜곡 제거 처리를 실행하는 단계를 포함하며,
    상기 코딩 왜곡 제거 처리는, 코딩 왜곡 제거가 필요한지의 여부를 결정하는 단계와, 처리될 화소의 수를 결정하는 단계와, 코딩 왜곡을 제거하는 단계를 포함하고,
    처리될 화소의 수는 블록 경계로부터 계수(count)된 화소의 수이고, 또한, 처리될 화소의 수는 블록 경계에 인접한 화소간의 화소값의 차(difference)에 근거하여 결정되는 것을 특징으로 하는 코딩 왜곡 제거 방법.
  2. 필드 구조 블록과 프레임 구조 블록으로 이루어지는 화상에서 코딩 왜곡을 제거하기 위한 코딩 왜곡 제거 방법에 있어서, 상기 방법은
    코딩 왜곡을 제거하는 대상 블록이, 프레임 구조 블록에 인접한 필드 구조 블록인지를 검출하는 단계와,
    필드 구조 블록과 프레임 구조 블록에 대해 코딩 왜곡 제거 처리를 실행하는 단계를 포함하며,
    상기 코딩 왜곡 제거 처리는, 필드 구조 블록과 프레임 구조 블록 둘 다의 짝수 필드에 대해 처리될 화소의 수와 더불어, 필드 구조 블록과 프레임 구조 블록 둘 다의 홀수 필드에 대해 처리될 화소의 수를 결정하는 단계를 포함하는 것을 특징으로 하는 코딩 왜곡 제거 방법.
  3. 청구항 2에 있어서,
    상기 짝수 필드에 대해 처리할 화소의 수는, 상기 홀수 필드에 대해 처리할 화소의 수와는 독립적으로 결정되는 것을 특징으로 하는 코딩 왜곡 제거 방법.
  4. 청구항 1에 있어서,
    상기 블록 경계가 필드 구조 블록과 프레임 구조 블록 사이의 경계일 경우, 상기 필드 구조 블록과 상기 프레임 구조 블록 둘 다의 짝수 필드에 대해 처리될 화소의 수는, 상기 필드 구조 블록과 상기 프레임 구조 블록 둘 다의 홀수 필드에 대해 처리될 화소의 수와는 독립적으로 결정되는 것을 특징으로 하는 코딩 왜곡 제거 방법.
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
KR1020037010016A 2001-11-29 2002-11-29 코딩 왜곡 제거 방법 KR100929078B1 (ko)

Applications Claiming Priority (15)

Application Number Priority Date Filing Date Title
US33376301P 2001-11-29 2001-11-29
US33376701P 2001-11-29 2001-11-29
US60/333,767 2001-11-29
US60/333,763 2001-11-29
JP2002008859 2002-01-17
JPJP-P-2002-00008859 2002-01-17
JP2002110748 2002-04-12
JPJP-P-2002-00110748 2002-04-12
JPJP-P-2002-00127101 2002-04-26
JP2002127101 2002-04-26
US39431202P 2002-07-09 2002-07-09
US60/394,312 2002-07-09
JPJP-P-2002-00291264 2002-10-03
JP2002291264 2002-10-03
PCT/JP2002/012488 WO2003047267A1 (en) 2001-11-29 2002-11-29 Coding distortion removal method, moving picture coding method, moving picture decoding method, and apparatus for realizing the same, program

Publications (2)

Publication Number Publication Date
KR20040054605A KR20040054605A (ko) 2004-06-25
KR100929078B1 true KR100929078B1 (ko) 2009-11-30

Family

ID=32034339

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020037010017A KR100958982B1 (ko) 2001-11-29 2002-11-29 코딩 왜곡 제거 방법
KR1020037010016A KR100929078B1 (ko) 2001-11-29 2002-11-29 코딩 왜곡 제거 방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020037010017A KR100958982B1 (ko) 2001-11-29 2002-11-29 코딩 왜곡 제거 방법

Country Status (6)

Country Link
US (15) US20040062310A1 (ko)
EP (5) EP2320661B8 (ko)
KR (2) KR100958982B1 (ko)
DK (2) DK2938071T3 (ko)
ES (2) ES2467940T3 (ko)
PT (2) PT2938071T (ko)

Families Citing this family (122)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100525785B1 (ko) * 2001-06-15 2005-11-03 엘지전자 주식회사 이미지 화소 필터링 방법
EP2320661B8 (en) * 2001-11-29 2015-09-02 Godo Kaisha IP Bridge 1 Coding distortion removal method
EP1978747B1 (en) 2001-11-29 2014-05-21 Panasonic Corporation Coding distortion removal method
CN101448162B (zh) * 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
US8284844B2 (en) 2002-04-01 2012-10-09 Broadcom Corporation Video decoding system supporting multiple standards
BRPI0307119B1 (pt) 2002-11-25 2018-02-14 Godo Kaisha Ip Bridge 1 “Método e aparelho de decodificação de imagem móvel”
US7809252B2 (en) * 2003-04-09 2010-10-05 Corel Inc. Systems and methods for caching multimedia data
GB2417360B (en) * 2003-05-20 2007-03-28 Kagutech Ltd Digital backplane
US10554985B2 (en) 2003-07-18 2020-02-04 Microsoft Technology Licensing, Llc DC coefficient signaling at small quantization step sizes
KR100995445B1 (ko) * 2003-08-19 2010-11-18 파나소닉 주식회사 동영상 부호화 방법 및 동영상 복호화 방법
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US7519274B2 (en) 2003-12-08 2009-04-14 Divx, Inc. File format for multiple track digital data
US8472792B2 (en) 2003-12-08 2013-06-25 Divx, Llc Multimedia distribution system
JP2006101228A (ja) * 2004-09-29 2006-04-13 Toshiba Corp 映像処理装置
EP1646243B1 (en) * 2004-09-30 2009-06-24 Kabushiki Kaisha Toshiba Information processing apparatus and program for use in the same
US7620261B2 (en) * 2004-11-23 2009-11-17 Stmicroelectronics Asia Pacific Pte. Ltd. Edge adaptive filtering system for reducing artifacts and method
US20060133507A1 (en) * 2004-12-06 2006-06-22 Matsushita Electric Industrial Co., Ltd. Picture information decoding method and picture information encoding method
KR100686141B1 (ko) * 2005-01-21 2007-02-23 엘지전자 주식회사 이동형 방송 수신기의 디블로킹 필터 및 필터링 방법
JP4784188B2 (ja) * 2005-07-25 2011-10-05 ソニー株式会社 画像処理装置、画像処理方法およびプログラム
US8625914B2 (en) 2013-02-04 2014-01-07 Sony Corporation Image processing system, image processing method and program
KR100710338B1 (ko) * 2005-08-29 2007-04-23 엘지전자 주식회사 멀티 포맷 비디오 디코더 및 디블로킹 필터링 방법
WO2007077841A1 (ja) * 2005-12-27 2007-07-12 Matsushita Electric Industrial Co., Ltd. 音声復号装置および音声復号方法
US7873224B2 (en) * 2006-03-01 2011-01-18 Qualcomm Incorporated Enhanced image/video quality through artifact evaluation
JP5058152B2 (ja) 2006-03-10 2012-10-24 パナソニック株式会社 符号化装置および符号化方法
EP1999883A4 (en) 2006-03-14 2013-03-06 Divx Llc FEDERATED DIGITAL RIGHTS MANAGEMENT SYSTEM COMPRISING CONFIDENCE SYSTEMS
JP5513740B2 (ja) 2006-03-27 2014-06-04 パナソニック株式会社 画像復号化装置、画像符号化装置、画像復号化方法、画像符号化方法、プログラムおよび集積回路
US20070291839A1 (en) * 2006-06-15 2007-12-20 Faraday Technology Corp. Method and device for multimedia processing
US7865030B2 (en) * 2006-09-13 2011-01-04 Broadcom Corporation Method and system for motion compensated temporal filtering using both FIR and IIR filtering
US20080063064A1 (en) * 2006-09-13 2008-03-13 Macinnis Alexander Method and System for Motion Compensated Temporal Filtering Using IIR Filtering
JP2008160724A (ja) * 2006-12-26 2008-07-10 Toshiba Corp 映像信号処理装置及び映像信号処理方法並びに放送受信装置
CN103561278B (zh) 2007-01-05 2017-04-12 索尼克知识产权股份有限公司 包含连续播放的视频分配系统
KR101365443B1 (ko) 2007-01-11 2014-03-03 삼성전자주식회사 디블록킹 필터링 방법 및 장치
WO2008084996A1 (en) * 2007-01-11 2008-07-17 Samsung Electronics Co, . Ltd. Method and apparatus for deblocking-filtering video data
JP2008293378A (ja) * 2007-05-25 2008-12-04 Panasonic Corp プログラム書き換え装置
CN100578179C (zh) * 2007-08-21 2010-01-06 友达光电(苏州)有限公司 测量发光画面亮度均匀性的方法
JPWO2009037817A1 (ja) * 2007-09-19 2011-01-06 パナソニック株式会社 輪郭補正装置、輪郭補正方法、映像表示装置
US20090080517A1 (en) * 2007-09-21 2009-03-26 Yu-Ling Ko Method and Related Device for Reducing Blocking Artifacts in Video Streams
US8331717B2 (en) * 2007-10-03 2012-12-11 Panasonic Corporation Method and apparatus for reducing block noise
KR101512833B1 (ko) * 2007-10-16 2015-04-16 톰슨 라이센싱 비트 깊이 확장성을 위한 아티팩트 제거를 위한 방법 및 장치
CN101861583B (zh) 2007-11-16 2014-06-04 索尼克Ip股份有限公司 用于多媒体文件的分级及简化索引结构
US8515052B2 (en) 2007-12-17 2013-08-20 Wai Wu Parallel signal processing system and method
US8743972B2 (en) * 2007-12-20 2014-06-03 Vixs Systems, Inc. Coding adaptive deblocking filter and method for use therewith
JP2009232333A (ja) * 2008-03-25 2009-10-08 Fujitsu Ltd 画像暗号化装置および画像復号化装置
JP5137687B2 (ja) * 2008-05-23 2013-02-06 キヤノン株式会社 復号装置及び復号方法、プログラム
US8625681B2 (en) * 2008-07-09 2014-01-07 Intel Corporation Rate-distortion cost reducing video encoding techniques
KR101489785B1 (ko) 2008-07-22 2015-02-06 에스케이 텔레콤주식회사 웨이블렛 변환 계수 부호화를 위한 적응적 필터 탭 결정장치와 방법, 그것을 이용한 웨이블렛 변환 장치와 방법,및 그를 위한 기록 매체
BRPI0822716A2 (pt) * 2008-08-21 2015-07-07 Hewlett Packard Development Co Computador com sistema de iluminação integrado
US8548041B2 (en) * 2008-09-25 2013-10-01 Mediatek Inc. Adaptive filter
TWI463878B (zh) 2009-02-19 2014-12-01 Sony Corp Image processing apparatus and method
JP5597968B2 (ja) 2009-07-01 2014-10-01 ソニー株式会社 画像処理装置および方法、プログラム、並びに記録媒体
WO2011003326A1 (en) * 2009-07-06 2011-01-13 Mediatek Singapore Pte. Ltd. Single pass adaptive interpolation filter
JP5604825B2 (ja) 2009-08-19 2014-10-15 ソニー株式会社 画像処理装置および方法
JP5746193B2 (ja) * 2009-10-15 2015-07-08 トムソン ライセンシングThomson Licensing 映像符号化及び復号化のための効率的な適応フィルタリングの方法及び装置
CN104935934B (zh) 2009-10-21 2018-04-03 Sk电信有限公司 视频编码装置
EP3337171A1 (en) * 2009-10-22 2018-06-20 Thomson Licensing Methods and apparatus for dc intra prediction mode for video encoding and decoding
JP4703759B2 (ja) * 2009-11-27 2011-06-15 株式会社東芝 画像処理装置および同装置における画像処理方法
CA2782825C (en) 2009-12-04 2016-04-26 Divx, Llc Elementary bitstream cryptographic material transport systems and methods
CA2784291A1 (en) 2009-12-18 2011-06-23 Sharp Kabushiki Kaisha Image filter, encoding device, decoding device, and data structure
US8995530B2 (en) 2010-03-09 2015-03-31 Panasonic Intellectual Property Management Co., Ltd. Moving image decoding apparatus, moving image coding apparatus, moving image decoding circuit, and moving image decoding method
EP4024865B1 (en) 2010-06-10 2023-10-25 InterDigital VC Holdings, Inc. Methods and apparatus for determining quantization parameter predictors from a plurality of neighboring quantization parameters
JP2012044535A (ja) * 2010-08-20 2012-03-01 Toshiba Corp 動画像符号化装置及び動画像符号化方法
CN103141096A (zh) 2010-09-28 2013-06-05 三星电子株式会社 自适应滤波方法和设备
US8976856B2 (en) * 2010-09-30 2015-03-10 Apple Inc. Optimized deblocking filters
US8787443B2 (en) 2010-10-05 2014-07-22 Microsoft Corporation Content adaptive deblocking during video encoding and decoding
US20120106622A1 (en) * 2010-11-03 2012-05-03 Mediatek Inc. Method and Apparatus of Slice Grouping for High Efficiency Video Coding
WO2012090413A1 (ja) * 2010-12-27 2012-07-05 日本電気株式会社 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法及びプログラム
US10244239B2 (en) 2010-12-28 2019-03-26 Dolby Laboratories Licensing Corporation Parameter set for picture segmentation
US9247312B2 (en) 2011-01-05 2016-01-26 Sonic Ip, Inc. Systems and methods for encoding source media in matroska container files for adaptive bitrate streaming using hypertext transfer protocol
US20120183234A1 (en) * 2011-01-14 2012-07-19 Sony Corporation Methods for parallelizing fixed-length bitstream codecs
CN102907097B (zh) 2011-02-22 2016-01-20 太格文-Ii有限责任公司 滤波方法、动态图像编码装置、动态图像解码装置和动态图像编码解码装置
WO2012114725A1 (ja) 2011-02-22 2012-08-30 パナソニック株式会社 画像符号化方法、画像復号化方法、画像符号化装置、画像復号化装置および画像符号化復号化装置
WO2012127578A1 (ja) * 2011-03-18 2012-09-27 富士通株式会社 画像処理装置、画像処理方法及び画像処理用コンピュータプログラム
US9042458B2 (en) 2011-04-01 2015-05-26 Microsoft Technology Licensing, Llc Multi-threaded implementations of deblock filtering
WO2012134046A2 (ko) * 2011-04-01 2012-10-04 주식회사 아이벡스피티홀딩스 동영상의 부호화 방법
US20130101027A1 (en) * 2011-06-20 2013-04-25 Matthias Narroschke Deblocking control by individual quantization parameters
US8812662B2 (en) 2011-06-29 2014-08-19 Sonic Ip, Inc. Systems and methods for estimating available bandwidth and performing initial stream selection when streaming content
EP2736253B1 (en) * 2011-07-19 2020-03-11 Tagivan Ii Llc Filtering method, moving image decoding method, moving image encoding method, moving image decoding apparatus, moving image encoding apparatus, and moving image encoding/decoding apparatus
US9467708B2 (en) 2011-08-30 2016-10-11 Sonic Ip, Inc. Selection of resolutions for seamless resolution switching of multimedia content
WO2013033458A2 (en) 2011-08-30 2013-03-07 Divx, Llc Systems and methods for encoding and streaming video encoded using a plurality of maximum bitrate levels
US8799647B2 (en) 2011-08-31 2014-08-05 Sonic Ip, Inc. Systems and methods for application identification
US8787570B2 (en) 2011-08-31 2014-07-22 Sonic Ip, Inc. Systems and methods for automatically genenrating top level index files
US8909922B2 (en) 2011-09-01 2014-12-09 Sonic Ip, Inc. Systems and methods for playing back alternative streams of protected content protected using common cryptographic information
US8964977B2 (en) 2011-09-01 2015-02-24 Sonic Ip, Inc. Systems and methods for saving encoded media streamed using adaptive bitrate streaming
JP2014526818A (ja) * 2011-09-09 2014-10-06 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 低複雑度のデブロッキングフィルタ決定
US9584819B2 (en) * 2011-10-24 2017-02-28 Qualcomm Incorporated Grouping of tiles for video coding
US9161046B2 (en) * 2011-10-25 2015-10-13 Qualcomm Incorporated Determining quantization parameters for deblocking filtering for video coding
KR20130049522A (ko) 2011-11-04 2013-05-14 오수미 인트라 예측 블록 생성 방법
KR20130050405A (ko) 2011-11-07 2013-05-16 오수미 인터 모드에서의 시간 후보자 결정방법
CN108471532B (zh) 2011-11-25 2021-06-29 太阳专利托管公司 图像解码方法及图像解码装置
US20130179199A1 (en) 2012-01-06 2013-07-11 Rovi Corp. Systems and methods for granting access to digital content using electronic tickets and ticket tokens
AR092786A1 (es) * 2012-01-09 2015-05-06 Jang Min Metodos para eliminar artefactos de bloque
CN110234012B (zh) * 2012-01-17 2021-12-31 华为技术有限公司 用于高性能视频编码中的无损编码模式的环内滤波的装置
MX2013015089A (es) 2012-05-25 2014-02-21 Panasonic Corp Metodo de codificacion de imagenes en movimiento, metodo de decodificacion de imagenes en movimiento, aparato de codificacion de imagenes en movimiento, aparato de decodificacion de imágenes en movimiento y aparato de codificacion y decodificacion de imagenes en movimiento.
RU2679984C2 (ru) 2012-05-25 2019-02-14 Вилос Медиа Интернэшнл Лимитед Способ кодирования изображений, устройство кодирования изображений, способ декодирования изображений, устройство декодирования изображений и устройство кодирования и декодирования изображений
WO2013175736A1 (ja) 2012-05-25 2013-11-28 パナソニック株式会社 動画像符号化方法、動画像符号化装置、動画像復号方法、動画像復号装置、および、動画像符号化復号装置
KR102060617B1 (ko) 2012-06-04 2019-12-30 선 페이턴트 트러스트 동화상 부호화 방법, 동화상 부호화 장치, 동화상 복호 방법, 및, 동화상 복호 장치
US9936267B2 (en) 2012-08-31 2018-04-03 Divx Cf Holdings Llc System and method for decreasing an initial buffering period of an adaptive streaming system
US9313510B2 (en) 2012-12-31 2016-04-12 Sonic Ip, Inc. Use of objective quality measures of streamed content to reduce streaming bandwidth
US9191457B2 (en) 2012-12-31 2015-11-17 Sonic Ip, Inc. Systems, methods, and media for controlling delivery of content
US8855214B2 (en) * 2013-02-04 2014-10-07 Faroudja Enterprises, Inc. Multidimensional video processing
US9906785B2 (en) 2013-03-15 2018-02-27 Sonic Ip, Inc. Systems, methods, and media for transcoding video data according to encoding parameters indicated by received metadata
US10397292B2 (en) 2013-03-15 2019-08-27 Divx, Llc Systems, methods, and media for delivery of content
US9094737B2 (en) 2013-05-30 2015-07-28 Sonic Ip, Inc. Network video streaming with trick play based on separate trick play files
US9100687B2 (en) 2013-05-31 2015-08-04 Sonic Ip, Inc. Playback synchronization across playback devices
US9380099B2 (en) 2013-05-31 2016-06-28 Sonic Ip, Inc. Synchronizing multiple over the top streaming clients
AU2014294215B2 (en) * 2013-07-22 2018-10-04 Sony Corporation Image processing device and method
US9589206B2 (en) * 2013-12-05 2017-03-07 Hochschule Pforzheim Optimizing an image filter
US9386067B2 (en) 2013-12-30 2016-07-05 Sonic Ip, Inc. Systems and methods for playing adaptive bitrate streaming content by multicast
US9866878B2 (en) 2014-04-05 2018-01-09 Sonic Ip, Inc. Systems and methods for encoding and playing back video at different frame rates using enhancement layers
JP6410495B2 (ja) * 2014-07-07 2018-10-24 ルネサスエレクトロニクス株式会社 画像符号化装置、画像復号装置、および画像通信システム
CA2952847A1 (en) 2014-08-07 2016-02-11 Sonic Ip, Inc. Systems and methods for protecting elementary bitstreams incorporating independently encoded tiles
JP6944371B2 (ja) 2015-01-06 2021-10-06 ディビックス, エルエルシー コンテンツを符号化し、デバイス間でコンテンツを共有するためのシステムおよび方法
CN107251008B (zh) 2015-02-27 2020-11-13 帝威视有限公司 在实况视频编码和流传输中进行帧复制和帧扩展的系统和方法
US10499056B2 (en) * 2016-03-09 2019-12-03 Sony Corporation System and method for video processing based on quantization parameter
US10075292B2 (en) 2016-03-30 2018-09-11 Divx, Llc Systems and methods for quick start-up of playback
US10129574B2 (en) 2016-05-24 2018-11-13 Divx, Llc Systems and methods for providing variable speeds in a trick-play mode
US10231001B2 (en) 2016-05-24 2019-03-12 Divx, Llc Systems and methods for providing audio content during trick-play playback
US10148989B2 (en) 2016-06-15 2018-12-04 Divx, Llc Systems and methods for encoding video content
US10498795B2 (en) 2017-02-17 2019-12-03 Divx, Llc Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming
EP3777192A1 (en) * 2018-03-29 2021-02-17 FRAUNHOFER-GESELLSCHAFT zur Förderung der angewandten Forschung e.V. Refined block-based predictive coding and decoding of a picture
EP3942437B1 (en) 2019-03-21 2024-01-10 DivX, LLC Systems and methods for multimedia swarms
US11616589B2 (en) 2020-06-25 2023-03-28 Sony Interactive Entertainment LLC Methods and systems for performing and recording live music near live with no latency

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0714209A2 (en) * 1994-11-24 1996-05-29 Victor Company Of Japan, Ltd. Method and device for decoding image data
JPH08172628A (ja) * 1994-12-20 1996-07-02 Victor Co Of Japan Ltd 変換符号化された画像データの復号化時に生じる量子化ノイズの低減方法及び変換符号化された画像データの復号化装置

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US239360A (en) * 1881-03-29 Automatic gate
US95787A (en) * 1869-10-12 Improved railway-track clearer
US36320A (en) * 1862-08-26 Improvement in cylinders for polishing gunpowder
US479211A (en) * 1892-07-19 Pile-wire
US654759A (en) * 1899-09-22 1900-07-31 John B O'donnell Duplex steam-engine.
US796875A (en) * 1905-02-11 1905-08-08 Arthur E Smith Match-box.
US946421A (en) * 1909-03-12 1910-01-11 Lafayette T Bow Cotton-sampler's cabinet.
US4876260A (en) 1987-10-28 1989-10-24 State Of Israel, Israel Institute Of Biological Research Oxathiolanes
JPH04180381A (ja) 1990-11-14 1992-06-26 Matsushita Electric Ind Co Ltd 画像信号の復号化装置
US5436665A (en) * 1992-03-03 1995-07-25 Kabushiki Kaisha Toshiba Motion picture coding apparatus
WO1993018618A1 (en) * 1992-03-03 1993-09-16 Kabushiki Kaisha Toshiba Time-varying image encoder
JP3365784B2 (ja) 1992-04-30 2003-01-14 オリンパス光学工業株式会社 画像信号復号化装置
US5479211A (en) 1992-04-30 1995-12-26 Olympus Optical Co., Ltd. Image-signal decoding apparatus
JP3165296B2 (ja) * 1992-12-25 2001-05-14 三菱電機株式会社 フレーム間符号化処理方式及びフレーム間符号化処理方法及び符号化制御方式
JP2673778B2 (ja) 1994-02-22 1997-11-05 国際電信電話株式会社 動画像の復号化における雑音低減装置
JP2940422B2 (ja) 1994-11-24 1999-08-25 日本ビクター株式会社 変換符号化された画像データの復号化時に生じるブロック歪の低減方法及び変換符号化された画像データの復号化装置
US5654759A (en) * 1995-02-15 1997-08-05 Hitachi America Ltd. Methods and apparatus for reducing blockiness in decoded video
SE9501189D0 (sv) * 1995-03-31 1995-03-31 Pharmacia Ab Protein formulation
JP4014223B2 (ja) * 1995-10-04 2007-11-28 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 受信機及び改善されたフォーマットでデータを提供する方法
US5796875A (en) 1996-08-13 1998-08-18 Sony Electronics, Inc. Selective de-blocking filter for DCT compressed images
KR100229796B1 (ko) * 1996-08-30 1999-11-15 전주범 열화영상에 대한 보상기능을 갖는 영상 복호화 시스템
JP3466032B2 (ja) 1996-10-24 2003-11-10 富士通株式会社 動画像符号化装置および復号化装置
JP3961600B2 (ja) 1996-12-27 2007-08-22 ソニー株式会社 ブロック歪低減方法及び装置
US6188799B1 (en) * 1997-02-07 2001-02-13 Matsushita Electric Industrial Co., Ltd. Method and apparatus for removing noise in still and moving pictures
JPH10224790A (ja) 1997-02-07 1998-08-21 Matsushita Electric Ind Co Ltd 圧縮伸張された画像中のブロック状ノイズを除去するフィルタおよびフィルタ方法
FI106071B (fi) 1997-03-13 2000-11-15 Nokia Mobile Phones Ltd Mukautuva suodatin
JPH10336668A (ja) 1997-06-02 1998-12-18 Sharp Corp 動きベクトル検出装置
KR100269125B1 (ko) 1997-10-25 2000-10-16 윤덕용 양자화효과감소를위한영상데이터후처리방법및장치
JPH11205792A (ja) 1998-01-14 1999-07-30 Sony Corp ブロック歪低減方法及び装置
RU2154918C1 (ru) 1998-08-01 2000-08-20 Самсунг Электроникс Ко., Лтд. Способ и устройство для цикл-фильтрации данных изображения
KR100331331B1 (ko) * 1998-11-02 2002-05-09 윤덕용 영상데이터 루프필터링 방법
US6236764B1 (en) 1998-11-30 2001-05-22 Equator Technologies, Inc. Image processing circuit and method for reducing a difference between pixel values across an image boundary
KR100720841B1 (ko) 1999-02-16 2007-05-25 코닌클리케 필립스 일렉트로닉스 엔.브이. 블록 효과 감소를 위해 필터링 단계를 사용한 비디오 복호화 장치 및 방법
JP2001275110A (ja) 2000-03-24 2001-10-05 Matsushita Electric Ind Co Ltd 動的なループ及びポストフィルタリングのための方法及び装置
US7203234B1 (en) * 2000-03-31 2007-04-10 Sharp Laboratories Of America, Inc. Method of directional filtering for post-processing compressed video
TWI259039B (en) 2001-03-16 2006-07-21 Tani Denki Kogyo Kk Identification tag and identified article
EP2320661B8 (en) 2001-11-29 2015-09-02 Godo Kaisha IP Bridge 1 Coding distortion removal method
EP1978747B1 (en) * 2001-11-29 2014-05-21 Panasonic Corporation Coding distortion removal method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0714209A2 (en) * 1994-11-24 1996-05-29 Victor Company Of Japan, Ltd. Method and device for decoding image data
JPH08172628A (ja) * 1994-12-20 1996-07-02 Victor Co Of Japan Ltd 変換符号化された画像データの復号化時に生じる量子化ノイズの低減方法及び変換符号化された画像データの復号化装置

Also Published As

Publication number Publication date
EP2320661B8 (en) 2015-09-02
US20110103488A1 (en) 2011-05-05
US20170134757A1 (en) 2017-05-11
US20130195207A1 (en) 2013-08-01
KR20040054606A (ko) 2004-06-25
US9118899B2 (en) 2015-08-25
PT2938071T (pt) 2018-01-08
US20080069245A1 (en) 2008-03-20
DK2938071T3 (en) 2018-01-22
ES2467940T3 (es) 2014-06-13
EP2938071B1 (en) 2017-11-15
US20150195579A1 (en) 2015-07-09
EP2320660B1 (en) 2015-08-05
US7899123B2 (en) 2011-03-01
US20080056602A1 (en) 2008-03-06
US20070104269A1 (en) 2007-05-10
US8488683B2 (en) 2013-07-16
US20070098066A1 (en) 2007-05-03
US20080056353A1 (en) 2008-03-06
US9888258B2 (en) 2018-02-06
KR20040054605A (ko) 2004-06-25
EP2320660A2 (en) 2011-05-11
EP2320660A3 (en) 2011-12-07
EP3282699A1 (en) 2018-02-14
ES2650593T3 (es) 2018-01-19
US10992962B2 (en) 2021-04-27
US7792195B2 (en) 2010-09-07
US8369421B2 (en) 2013-02-05
EP2938072A1 (en) 2015-10-28
US20080056603A1 (en) 2008-03-06
US8254468B2 (en) 2012-08-28
EP2320661B1 (en) 2015-07-29
EP2320661A3 (en) 2011-11-30
EP2938071A1 (en) 2015-10-28
US7782962B2 (en) 2010-08-24
KR100958982B1 (ko) 2010-05-20
US20150201194A1 (en) 2015-07-16
EP2320661A2 (en) 2011-05-11
DK1978747T3 (da) 2014-06-10
US20040062310A1 (en) 2004-04-01
US10958940B2 (en) 2021-03-23
US7742531B2 (en) 2010-06-22
US8345770B2 (en) 2013-01-01
EP3282699B1 (en) 2019-10-23
US20150195535A1 (en) 2015-07-09
US20070092002A1 (en) 2007-04-26
EP2320660B8 (en) 2015-09-09
US20080063084A1 (en) 2008-03-13
PT1978747E (pt) 2014-07-24

Similar Documents

Publication Publication Date Title
KR100929078B1 (ko) 코딩 왜곡 제거 방법
JP5469761B2 (ja) 符号化歪除去方法
KR100973909B1 (ko) 코딩 왜곡 제거 반도체
JP2007143178A (ja) 符号化歪除去方法
JP4009650B2 (ja) 符号化歪除去方法、動画像符号化方法、動画像復号化方法、およびそれらを実現する装置、プログラム
JP4562785B6 (ja) 符号化歪除去方法
JP4105218B2 (ja) 受信装置及び送信装置
JP3769534B6 (ja) 復号化方法
JP3769534B2 (ja) 復号化方法

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
FPAY Annual fee payment

Payment date: 20121102

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131101

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20141104

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20151016

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20161019

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20171110

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20181113

Year of fee payment: 10