KR20110113555A - Method and apparatus for generating video packets, method and apparatus for reconstructing video - Google Patents

Method and apparatus for generating video packets, method and apparatus for reconstructing video Download PDF

Info

Publication number
KR20110113555A
KR20110113555A KR1020100107018A KR20100107018A KR20110113555A KR 20110113555 A KR20110113555 A KR 20110113555A KR 1020100107018 A KR1020100107018 A KR 1020100107018A KR 20100107018 A KR20100107018 A KR 20100107018A KR 20110113555 A KR20110113555 A KR 20110113555A
Authority
KR
South Korea
Prior art keywords
pixel
packet
pixels
neighboring pixels
values
Prior art date
Application number
KR1020100107018A
Other languages
Korean (ko)
Other versions
KR101699527B1 (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 US13/082,929 priority Critical patent/US9071849B2/en
Priority to PCT/KR2011/002495 priority patent/WO2011126344A2/en
Publication of KR20110113555A publication Critical patent/KR20110113555A/en
Application granted granted Critical
Publication of KR101699527B1 publication Critical patent/KR101699527B1/en

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/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/164Feedback from the receiver or from the transmission channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명의 일실시예는 동영상 프레임의 픽셀들로부터 적어도 하나의 기준 픽셀과 그 기준 픽셀에 인접한 복수개의 이웃 픽셀들로 구성되는 적어도 하나의 픽셀 블록을 생성하고, 그 적어도 하나의 픽셀 블록에서 그 이웃 픽셀들의 픽셀 값들을 그 이웃 픽셀들에 인접한 픽셀들 중 하나의 픽셀 값과 그 이웃 픽셀들의 픽셀 값간의 차이 값인 픽셀 차이 값으로 교체하고, 그 적어도 하나의 기준 픽셀의 픽셀 값 및 그 이웃 픽셀들의 픽셀 차이 값들이 픽셀들의 위치에 따라 상이한 패킷에 할당되도록 구성된 패킷들을 생성한 후, 그 이웃 픽셀들의 픽셀 차이 값들을 포함하는 패킷들 중에서 일부 패킷들에 대하여 엔트로피 코딩을 수행하는 동영상 패킷 생성 방법을 개시한다. An embodiment of the present invention generates at least one pixel block composed of at least one reference pixel and a plurality of neighboring pixels adjacent to the reference pixel from the pixels of the video frame, the neighboring block in the at least one pixel block. Replace the pixel values of the pixels with a pixel difference value that is the difference between the pixel value of one of the pixels adjacent to the neighboring pixels and the pixel value of the neighboring pixels, and the pixel value of the at least one reference pixel and the pixel of the neighboring pixels. A method of generating a moving picture packet in which packets having a difference value are configured to be assigned to different packets according to positions of pixels, and then performing entropy coding on some packets among packets including pixel difference values of neighboring pixels are disclosed. .

Description

동영상 패킷 생성 방법 및 그 장치, 동영상 복원 방법 및 그 장치{Method and apparatus for generating video packets, Method and apparatus for reconstructing video}Method and apparatus for generating video packet, method for restoring video, and apparatus therefor {Method and apparatus for generating video packets, method and apparatus for reconstructing video}

본 발명은 동영상 패킷 생성 방법 및 그 장치, 동영상 복원 방법 및 그 장치에 관한 것이다. The present invention relates to a video packet generating method and apparatus, a video restoring method and apparatus.

최근 컴퓨터 및 유무선 통신 기술의 발달로 인하여 고화질 디지털 동영상 컨텐츠가 급속히 증가하는 추세이다. 이와 관련하여 유무선 통신 시스템은 고화질의 디지털 동영상 컨텐츠를 재생하기 위한 어플리케이션 및 프로그램 등이 추가 제안되는 실정이며, 이에 따른 고화질의 디지털 동영상 컨텐츠등의 서비스 수요는 점점 급증하고 있다.Recently, due to the development of computer and wired / wireless communication technology, high-definition digital video content is rapidly increasing. In connection with this, wired / wireless communication systems are additionally proposed to provide applications and programs for reproducing high-definition digital video contents. Accordingly, demand for services such as high-definition digital video contents is increasing rapidly.

하지만, 동영상 컨텐트를 전송하기 위한 네트워크의 대역폭은 제한되어 있으므로 용량이 큰 동영상 컨텐츠를 효율적으로 전송할 수 있는 방안이 요구된다. However, since the bandwidth of the network for transmitting video content is limited, there is a need for a method for efficiently transmitting a large amount of video content.

본 발명의 목적은 동영상 패킷 생성 방법 및 그 장치, 동영상 복원 방법 및 그 장치를 제공하기 위한 것이다. An object of the present invention is to provide a video packet generating method and apparatus, a video restoring method and apparatus.

상기 목적을 달성하기 위한 본 발명의 일실시예에 따른 동영상 패킷 생성 방법은 동영상 프레임의 픽셀들로부터 적어도 하나의 기준 픽셀과 상기 기준 픽셀에 인접한 복수개의 이웃 픽셀들로 구성되는 적어도 하나의 픽셀 블록을 생성하는 단계; 상기 적어도 하나의 픽셀 블록에서 상기 이웃 픽셀들의 픽셀 값들을 상기 이웃 픽셀들에 인접한 픽셀들 중 하나의 픽셀 값과 상기 이웃 픽셀들의 픽셀 값간의 차이 값(difference values)인 픽셀 차이 값으로 교체하는 단계; 상기 적어도 하나의 기준 픽셀의 픽셀 값 및 상기 이웃 픽셀들의 상기 픽셀 차이 값들이 상기 픽셀들의 위치에 따라 상이한 패킷에 할당되도록 구성된 패킷들을 생성하는 단계; 및 상기 이웃 픽셀들의 상기 픽셀 차이 값들을 포함하는 패킷들 중에서 일부 패킷들에 대하여 엔트로피 코딩(entropy encoding)을 수행하는 단계를 포함한다. The video packet generation method according to an embodiment of the present invention for achieving the above object comprises at least one pixel block consisting of at least one reference pixel and a plurality of neighboring pixels adjacent to the reference pixel from the pixels of the video frame. Generating; Replacing pixel values of the neighboring pixels in the at least one pixel block with a pixel difference value that is a difference value between a pixel value of one of the pixels adjacent to the neighboring pixels and a pixel value of the neighboring pixels; Generating packets configured to assign a pixel value of the at least one reference pixel and the pixel difference values of the neighboring pixels to different packets according to the positions of the pixels; And performing entropy encoding on some packets among the packets including the pixel difference values of the neighboring pixels.

바람직하게는, 상기 엔트로피 코딩을 수행하는 단계는 상기 기준 픽셀을 포함하는 패킷 및 상기 이웃 픽셀들의 상기 픽셀 차이 값들을 포함하는 패킷들 중에서 상기 엔트로피 코딩이 적용되지 않은 패킷들에 대해 PCM(Pulse Code Modulation)코딩을 수행하는 단계를 더 포함한다. Preferably, the performing of the entropy coding may include performing pulse code modulation on a packet including the reference pixel and packets not including the entropy coding among packets including the pixel difference values of the neighboring pixels. Further comprising the step of coding.

바람직하게는, 본 발명의 일실시예에 따른 동영상 패킷 생성 방법은 상기 픽셀 블록의 크기를 결정하는 단계를 더 포함하고, 상기 적어도 하나의 픽셀 블록은 상기 결정된 픽셀 블록의 크기에 기초하여 생성된다. Preferably, the video packet generation method according to an embodiment of the present invention further comprises the step of determining the size of the pixel block, the at least one pixel block is generated based on the size of the determined pixel block.

바람직하게는, 본 발명의 일실시예에 따른 동영상 패킷 생성 방법은 상기 동영상 프레임을 소정 크기의 슬라이스 단위로 분할하여 복수개의 슬라이스들을 생성하는 단계를 더 포함하고, 상기 적어도 하나의 픽셀 블록을 생성하는 단계는 상기 복수개의 슬라이스들에서의 픽셀들에 대하여 수행된다. Preferably, the method for generating a video packet according to an embodiment of the present invention further comprises generating the plurality of slices by dividing the video frame into slice units having a predetermined size, and generating the at least one pixel block. Steps are performed on pixels in the plurality of slices.

바람직하게는, 상기 엔트로피 코딩을 수행하는 단계는 상기 이웃 픽셀들에 대한 패킷별로 상기 패킷에 포함된 이웃 픽셀들의 상기 픽셀 차이 값들 각각에 대하여 엔트로피 코딩을 적용하는 경우에 얻어질 코딩 결과 값의 예측 비트 수를 계산하는 단계; 상기 이웃 픽셀들에 대한 패킷별로 상기 이웃 픽셀들 각각의 상기 픽셀 차이 값에 대한 예측 비트 수를 합산한 예측 비트 수 합계가 상기 이웃 픽셀들 각각의 상기 픽셀 차이 값에 대한 현재 비트 수를 합산한 현재 비트 수 합계 미만인지를 판단하는 단계; 및 상기 이웃 픽셀들에 대한 패킷들 중에서 상기 예측 비트 수 합계가 상기 현재 비트 수 합계 미만인 패킷들에 대해서만 상기 엔트로피 코딩을 수행하는 단계를 포함한다. Preferably, the performing of the entropy coding includes predicting bits of a coding result value to be obtained when entropy coding is applied to each of the pixel difference values of neighboring pixels included in the packet for each packet of the neighboring pixels. Calculating the number; The sum of the prediction bits summed up the number of prediction bits for the pixel difference value of each of the neighboring pixels for each packet for the neighboring pixels, and the current sum of the current bits for the pixel difference value of each of the neighboring pixels. Determining whether the number of bits is less than the sum; And performing the entropy coding only on packets among the packets for the neighboring pixels, wherein the sum of the prediction bits is less than the sum of the current bits.

또한, 상기 목적을 달성하기 위한 본 발명의 일실시예에 따른 동영상 복원 방법은 동영상 프레임의 픽셀들에 관한 복수개의 패킷들을 수신하는 단계; 상기 패킷이 상기 픽셀들의 원본 픽셀 값들을 포함하는 제1 패킷인지, 상기 픽셀들의 픽셀 값들간의 차이 값들인 픽셀 차이 값들에 관한 제2 패킷인지 또는 상기 픽셀 차이 값들에 대해 엔트로피 코딩이 적용된 제3 패킷인지에 기초하여 패킷들을 분류하는 단계; 상기 분류 결과에 기초하여, 상기 제 3 패킷에 대하여 엔트로피 디코딩을 수행하는 단계; 및 상기 제1 패킷의 상기 원본 픽셀들의 픽셀 값들, 상기 제2 패킷의 상기 픽셀 차이 값들 및 상기 디코딩된 제3 패킷의 상기 픽셀 차이 값들에 기초하여 상기 동영상 프레임을 복원하는 단계를 포함한다. In addition, the video restoration method according to an embodiment of the present invention for achieving the above object comprises the steps of receiving a plurality of packets for the pixels of the video frame; Whether the packet is a first packet including original pixel values of the pixels, a second packet relating to pixel difference values that are difference values between pixel values of the pixels, or a third packet to which entropy coding is applied to the pixel difference values Classifying packets based on recognition; Performing entropy decoding on the third packet based on the classification result; And restoring the video frame based on pixel values of the original pixels of the first packet, the pixel difference values of the second packet, and the pixel difference values of the decoded third packet.

바람직하게는, 상기 동영상 프레임을 복원하는 단계는 상기 원본 픽셀의 픽셀 값들과 상기 원본 픽셀들에 인접한 제1 이웃 픽셀들의 픽셀 값들간의 차이 값들인 제1 픽셀 차이 값들을 상기 원본 픽셀의 픽셀 값들에 합산하여 상기 제1 이웃 픽셀들의 픽셀 값들을 복원하는 단계; 상기 제1 이웃 픽셀들의 픽셀 값들과 상기 제1 이웃 픽셀들에 인접한 제2 이웃 픽셀들의 픽셀 값들간의 차이 값들인 제2 픽셀 차이 값들을 상기 제2 이웃 픽셀들에 합산하여 상기 제2 이웃 픽셀들의 픽셀 값들을 복원하는 단계; 및 상기 원본 픽셀의 픽셀 값들, 상기 제1 이웃 픽셀들의 픽셀 값들 및 상기 제2 이웃 픽셀들의 픽셀 값들에 기초하여 상기 동영상 프레임을 복원하는 단계를 포함한다. Advantageously, reconstructing the video frame comprises first pixel difference values, which are difference values between pixel values of the original pixel and pixel values of first neighboring pixels adjacent to the original pixels, to pixel values of the original pixel. Summing to reconstruct pixel values of the first neighboring pixels; The second neighboring pixels of the second neighboring pixels are summed by second pixel difference values that are difference values between pixel values of the first neighboring pixels and pixel values of second neighboring pixels adjacent to the first neighboring pixels. Reconstructing pixel values; And restoring the video frame based on pixel values of the original pixel, pixel values of the first neighboring pixels, and pixel values of the second neighboring pixels.

또한, 상기 목적을 달성하기 위한 본 발명의 또 다른 실시예에 따른 동영상 패킷 생성 장치는 동영상 프레임의 픽셀들로부터 적어도 하나의 기준 픽셀과 상기 기준 픽셀에 인접한 복수개의 이웃 픽셀들로 구성되는 적어도 하나의 픽셀 블록을 생성하는 픽셀 블록 생성부; 상기 적어도 하나의 픽셀 블록에서 상기 이웃 픽셀들의 픽셀 값들을 상기 이웃 픽셀들에 인접한 픽셀들 중 하나의 픽셀 값과 상기 이웃 픽셀들의 픽셀 값간의 차이 값인 픽셀 차이 값으로 교체하는 픽셀 값 관리부; 상기 적어도 하나의 기준 픽셀의 픽셀 값 및 상기 이웃 픽셀들의 상기 픽셀 차이 값들이 상기 픽셀들의 위치에 따라 상이한 패킷에 할당되도록 구성된 패킷들을 생성하는 패킷 생성부; 및 상기 이웃 픽셀들의 상기 픽셀 차이 값들을 포함하는 패킷들 중에서 일부 패킷들에 대하여 엔트로피 코딩을 수행하는 코딩부를 포함한다. In addition, the video packet generating device according to another embodiment of the present invention for achieving the above object is at least one consisting of at least one reference pixel from the pixels of the video frame and a plurality of neighboring pixels adjacent to the reference pixel. A pixel block generation unit generating a pixel block; A pixel value manager which replaces pixel values of the neighboring pixels in the at least one pixel block with a pixel difference value which is a difference value between a pixel value of one of pixels adjacent to the neighboring pixels and a pixel value of the neighboring pixels; A packet generation unit configured to generate packets configured to allocate pixel values of the at least one reference pixel and pixel difference values of the neighboring pixels to different packets according to positions of the pixels; And a coding unit configured to perform entropy coding on some packets among packets including the pixel difference values of the neighboring pixels.

또한, 상기 목적을 달성하기 위한 본 발명의 또 다른 실시예에 따른 동영상 복원 장치는 동영상 프레임의 픽셀들에 관한 복수개의 패킷들을 수신하는 수신부; 상기 패킷이 상기 픽셀들의 원본 픽셀 값들을 포함하는 제1 패킷인지, 상기 픽셀들의 픽셀 값들간의 차이 값들인 픽셀 차이 값들에 관한 제2 패킷인지 또는 상기 픽셀 차이 값들에 대해 엔트로피 코딩이 적용된 제3 패킷인지에 기초하여 패킷들을 분류하는 패킷 분류부; 상기 분류 결과에 기초하여, 상기 제 3 패킷에 대하여 엔트로피 디코딩을 수행하는 디코딩부; 및 상기 제1 패킷의 상기 원본 픽셀들의 픽셀 값들, 상기 제2 패킷의 상기 픽셀 차이 값들 및 상기 디코딩된 제3 패킷의 상기 픽셀 차이 값들에 기초하여 상기 동영상 프레임을 복원하는 복원부를 포함한다. In addition, a video reconstruction device according to another embodiment of the present invention for achieving the above object comprises a receiving unit for receiving a plurality of packets for the pixels of the video frame; Whether the packet is a first packet including original pixel values of the pixels, a second packet relating to pixel difference values that are difference values between pixel values of the pixels, or a third packet to which entropy coding is applied to the pixel difference values A packet classifier that classifies the packets based on the recognition; A decoding unit which performs entropy decoding on the third packet based on the classification result; And a reconstruction unit for reconstructing the video frame based on pixel values of the original pixels of the first packet, the pixel difference values of the second packet, and the pixel difference values of the decoded third packet.

또한, 본 발명의 또 다른 실시예는 상기 목적을 달성하기 위하여 동영상 프레임의 픽셀들로부터 적어도 하나의 기준 픽셀과 상기 기준 픽셀에 인접한 복수개의 이웃 픽셀들로 구성되는 적어도 하나의 픽셀 블록을 생성하는 단계; 상기 적어도 하나의 픽셀 블록에서 상기 이웃 픽셀들의 픽셀 값들을 상기 이웃 픽셀들에 인접한 픽셀들 중 하나의 픽셀 값과 상기 이웃 픽셀들의 픽셀 값간의 차이 값(difference values)인 픽셀 차이 값으로 교체하는 단계; 상기 적어도 하나의 기준 픽셀의 픽셀 값 및 상기 이웃 픽셀들의 상기 픽셀 차이 값들이 상기 픽셀들의 위치에 따라 상이한 패킷에 할당되도록 구성된 패킷들을 생성하는 단계; 및 상기 이웃 픽셀들의 상기 픽셀 차이 값들을 포함하는 패킷들 중에서 일부 패킷들에 대하여 엔트로피 코딩(entropy encoding)을 수행하는 단계를 포함하는 동영상 프레임 생성 방법을 실행시키기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체를 제공한다. In addition, another embodiment of the present invention to generate the at least one pixel block consisting of at least one reference pixel and a plurality of neighboring pixels adjacent to the reference pixel from the pixels of the video frame to achieve the object. ; Replacing pixel values of the neighboring pixels in the at least one pixel block with a pixel difference value that is a difference value between a pixel value of one of the pixels adjacent to the neighboring pixels and a pixel value of the neighboring pixels; Generating packets configured to assign a pixel value of the at least one reference pixel and the pixel difference values of the neighboring pixels to different packets according to the positions of the pixels; And performing entropy encoding on some packets among the packets including the pixel difference values of the neighboring pixels, wherein the program for executing the moving picture frame generation method is recorded. Provide a recording medium.

또한, 본 발명의 또 다른 실시예는 동영상 프레임의 픽셀들에 관한 복수개의 패킷들을 수신하는 단계; 상기 패킷이 상기 픽셀들의 원본 픽셀 값들을 포함하는 제1 패킷인지, 상기 픽셀들의 픽셀 값들간의 차이 값들인 픽셀 차이 값들에 관한 제2 패킷인지 또는 상기 픽셀 차이 값들에 대해 엔트로피 코딩이 적용된 제3 패킷인지에 기초하여 패킷들을 분류하는 단계; 상기 분류 결과에 기초하여, 상기 제 3 패킷에 대하여 엔트로피 디코딩을 수행하는 단계; 및 상기 제1 패킷의 상기 원본 픽셀들의 픽셀 값들, 상기 제2 패킷의 상기 픽셀 차이 값들 및 상기 디코딩된 제3 패킷의 상기 픽셀 차이 값들에 기초하여 상기 동영상 프레임을 복원하는 단계를 포함하는 포함하는 동영상 복원 방법을 실행시키기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체를 제공한다. Further, another embodiment of the present invention includes the steps of receiving a plurality of packets regarding the pixels of the video frame; Whether the packet is a first packet including original pixel values of the pixels, a second packet relating to pixel difference values that are difference values between pixel values of the pixels, or a third packet to which entropy coding is applied to the pixel difference values Classifying packets based on recognition; Performing entropy decoding on the third packet based on the classification result; And restoring the video frame based on pixel values of the original pixels of the first packet, the pixel difference values of the second packet, and the pixel difference values of the decoded third packet. A computer readable recording medium having recorded thereon a program for executing the restoration method is provided.

도 1은 본 발명의 일 실시예에 따른 동영상 패킷 생성 방법을 설명하기 위하여 도시한 흐름도이다.
도 2는 본 발명의 제2 실시예에 따른 동영상 패킷 생성 방법을 설명하기 위하여 도시한 흐름도이다.
도 3은 본 발명의 일실시예에 따라 동영상 프레임으로부터 복수개의 슬라이스들을 생성하는 방법을 설명하기 위하여 도시한 도면이다.
도 4는 본 발명의 일실시예에 따라 이웃 픽셀들에 대한 예측 비트 수를 계산하는 방법을 설명하기 위하여 도시한 도면이다.
도 5는 본 발명의 일실시예에 따른 픽셀 블록들을 설명하기 위하여 도시한 도면이다.
도 6을 본 발명의 일실시예에 따라 이웃 픽셀들의 픽셀 차이 값을 생성하는 방법을 설명하기 위하여 도시한 도면이다.
도 7은 본 발명의 일실시예에 따른 동영상 복원 방법을 설명하기 위하여 도시한 흐름도이다.
도 8은 본 발명의 제2 실시예에 따른 동영상 복원 방법을 설명하기 위하여 도시한 흐름도이다.
도 9는 본 발명의 일 실시예에 따른 동영상 패킷 생성 장치를 설명하기 위하여 도시한 흐름도이다.
도 10은 본 발명의 일 실시예에 따른 동영상 복원 장치를 설명하기 위하여 도시한 도면이다.
1 is a flowchart illustrating a video packet generation method according to an embodiment of the present invention.
2 is a flowchart illustrating a video packet generation method according to a second embodiment of the present invention.
3 is a diagram illustrating a method of generating a plurality of slices from a video frame according to an embodiment of the present invention.
4 is a diagram illustrating a method of calculating a predicted number of bits for neighboring pixels according to an embodiment of the present invention.
5 is a diagram illustrating pixel blocks according to an exemplary embodiment of the present invention.
6 is a diagram illustrating a method of generating pixel difference values of neighboring pixels according to an exemplary embodiment of the present invention.
7 is a flowchart illustrating a video restoration method according to an embodiment of the present invention.
8 is a flowchart illustrating a video reconstruction method according to a second embodiment of the present invention.
9 is a flowchart illustrating a video packet generating apparatus according to an embodiment of the present invention.
FIG. 10 is a diagram illustrating an apparatus for restoring a video, according to an exemplary embodiment.

이하에서는 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 상세히 설명한다. Hereinafter, with reference to the accompanying drawings will be described in detail a preferred embodiment of the present invention.

도 1은 본 발명의 일 실시예에 따른 동영상 패킷 생성 방법을 설명하기 위하여 도시한 흐름도이다. 1 is a flowchart illustrating a video packet generation method according to an embodiment of the present invention.

단계 110에서는, 동영상 프레임의 픽셀들로부터 적어도 하나의 기준 픽셀과 그 기준 픽셀에 인접한 복수개의 이웃 픽셀들로 구성되는 적어도 하나의 픽셀 블록을 생성한다. In operation 110, at least one pixel block including at least one reference pixel and a plurality of neighboring pixels adjacent to the reference pixel is generated from the pixels of the video frame.

이때, 기준 픽셀은 각각의 픽셀 블록마다 단 한개만 존재하는 픽셀로서, 각각의 픽셀 블록에서 2개의 픽셀간의 픽셀 값들의 차이 값을 계산할 때, 가장 먼저 참조되는 픽셀이다. In this case, only one reference pixel exists in each pixel block, and the first pixel is referred to when calculating a difference value between pixel values between two pixels in each pixel block.

다른 실시예에서는, 단계 110을 수행하기 전에 픽셀 블록의 크기를 결정하는 단계가 더 수행될 수 있고, 단계 110에서는 적어도 하나의 픽셀 블록은 그 결정된 픽셀 블록의 크기에 기초하여 생성될 수 있다. In another embodiment, determining the size of the pixel block may be further performed before performing step 110, and in step 110 at least one pixel block may be generated based on the determined size of the pixel block.

예컨대, 픽셀 블록의 크기는 1 픽셀 x 2 픽셀, 2 픽셀 x 2 픽셀, 2 픽셀 x 4 픽셀, 4 픽셀 x 4 픽셀, 4 픽셀 x 8 픽셀, 8 픽셀 x 8 픽셀 등으로 결정될 수 있다. For example, the size of the pixel block may be determined to be 1 pixel x 2 pixels, 2 pixels x 2 pixels, 2 pixels x 4 pixels, 4 pixels x 4 pixels, 4 pixels x 8 pixels, 8 pixels x 8 pixels, or the like.

본 발명의 일 실시예에 따라 적어도 하나의 픽셀 블록을 생성하는 방법은 도 5를 참조하여 후술한다. A method of generating at least one pixel block according to an embodiment of the present invention will be described later with reference to FIG. 5.

단계 120에서는, 그 적어도 하나의 픽셀 블록에서 그 이웃 픽셀들의 픽셀 값들을 그 이웃 픽셀들에 인접한 픽셀들 중 하나의 픽셀 값과 그 이웃 픽셀들의 픽셀 값간의 차이 값인 픽셀 차이 값으로 교체한다. In step 120, the pixel values of the neighboring pixels in the at least one pixel block are replaced with a pixel difference value that is the difference between the pixel value of one of the pixels adjacent to the neighboring pixels and the pixel value of the neighboring pixels.

예컨대, 기준 픽셀의 픽셀 값이 50이고, 기준 픽셀의 오른쪽에 인접한 이웃 픽셀의 픽셀 값이 52라고 한다면, 기준 픽셀의 픽셀 값과 그 오른쪽에 인접한 이웃 픽셀의 픽셀 값간의 차이 값은 +2가 되는데, 최종적으로 그 오른쪽에 인접한 이웃 픽셀의 픽셀 값이 +2로 교체된다. For example, if the pixel value of the reference pixel is 50 and the pixel value of the neighboring pixel adjacent to the right of the reference pixel is 52, the difference between the pixel value of the reference pixel and the pixel value of the neighboring pixel adjacent to the right becomes +2. Finally, the pixel value of the neighboring pixel adjacent to the right thereof is replaced with +2.

단계 130에서는, 그 적어도 하나의 기준 픽셀의 픽셀 값 및 그 이웃 픽셀들의 픽셀 차이 값들이 픽셀들의 위치에 따라 상이한 패킷에 할당되도록 구성된 패킷들을 생성한다. In step 130, generate packets configured such that the pixel value of the at least one reference pixel and the pixel difference values of its neighboring pixels are assigned to different packets according to the position of the pixels.

예컨대, 기준 픽셀의 픽셀 값은 첫 번째 패킷에 포함되고, 기준 픽셀의 오른쪽으로 인접한 이웃 픽셀의 픽셀 차이 값은 두 번째 패킷에 포함되고, 기준 픽셀의 아래쪽으로 인접한 이웃 픽셀의 픽셀 차이 값은 세 번째 패킷에 포함될 수 있다. 수신측에서 이와 같이 3개의 패킷을 수신하게 되면 첫 번째 패킷에 포함된 기준 픽셀의 픽셀 값과 두 번째 패킷 및 세 번째 패킷에 포함된 이웃 픽셀들의 픽셀 차이 값들에 기초하여 이웃 픽셀들의 원래 픽셀 값들을 복원한 후, 그 복원된 이웃 픽셀들의 픽셀 값들과 기준 픽셀의 픽셀 값에 기초하여 동영상 프레임을 복원할 수 있다. For example, the pixel value of the reference pixel is included in the first packet, the pixel difference value of the neighboring pixel to the right of the reference pixel is included in the second packet, and the pixel difference value of the neighboring pixel to the bottom of the reference pixel is the third May be included in the packet. When the receiver receives these three packets, the original pixel values of the neighboring pixels are determined based on the pixel value of the reference pixel included in the first packet and pixel difference values of neighboring pixels included in the second packet and the third packet. After reconstruction, the moving image frame may be reconstructed based on the pixel values of the reconstructed neighboring pixels and the pixel value of the reference pixel.

본 발명의 일실시예는 이와 같이 동영상 프레임에 포함된 픽셀들을 적어도 하나의 픽셀 블록에서의 위치에 따라 상이한 패킷에 할당한 후, 그와 같이 구성된 패킷들을 생성함으로써, 용량이 큰 동영상 컨텐츠라고 하더라도 용량이 작은 패킷 형태로 전송할 수 있게 해주는 효과가 있다. 이를 통해 대역폭이 좁은 네트워크를 통해서도 용량이 큰 고화질의 동영상 컨텐츠에 대한 스트리밍 서비스를 제공할 수 있게 된다.According to an exemplary embodiment of the present invention, the pixels included in the video frame are allocated to different packets according to positions in at least one pixel block, and then, the packets are configured as such, so that even if the video content is large, This has the effect of being able to transmit in the form of small packets. Through this, it is possible to provide streaming service for high-quality video contents with large capacity even through a narrow bandwidth network.

단계 140에서는, 그 이웃 픽셀들의 픽셀 차이 값들을 포함하는 패킷들 중에서 일부 패킷들에 대하여 엔트로피 코딩을 수행한다. In step 140, entropy coding is performed on some packets among the packets including pixel difference values of the neighboring pixels.

이때, 엔트로피 코딩을 적용할 패킷을 결정하는 기준은 다양하다. In this case, the criteria for determining a packet to apply entropy coding is various.

예컨대, 적어도 하나의 픽셀 블록에서의 픽셀들의 위치에 기초하여 엔트로피 코딩을 적용할 패킷을 결정할 수 있다. For example, a packet to apply entropy coding may be determined based on the position of the pixels in the at least one pixel block.

이와 같이 패킷에 엔트로피 코딩이 적용되면 단계 130에서 생성된 패킷의 용량이 줄어들게 된다. 수신측에서 그와 같이 엔트로피 코딩이 적용된 패킷을 수신한 경우에는, 그 패킷에 대해 엔트로피 디코딩을 수행함으로써, 이웃 픽셀들의 픽셀 차이 값들을 복원할 수 있다. 이때, 엔트로피 코딩은 Huffman look-up table, exponential golomb look-up table 등에 기초하여 수행될 수 있다. In this way, if entropy coding is applied to the packet, the capacity of the packet generated in step 130 is reduced. When the receiving side receives a packet to which such entropy coding is applied, by performing entropy decoding on the packet, it is possible to recover pixel difference values of neighboring pixels. In this case, entropy coding may be performed based on a Huffman look-up table, an exponential golomb look-up table, and the like.

도 2는 본 발명의 제2 실시예에 따른 동영상 패킷 생성 방법을 설명하기 위하여 도시한 흐름도이다. 2 is a flowchart illustrating a video packet generation method according to a second embodiment of the present invention.

단계 210에서는, 동영상 프레임을 소정 크기의 슬라이스 단위로 분할하여 복수개의 슬라이스들을 생성한다.In operation 210, a plurality of slices are generated by dividing a video frame into slice units having a predetermined size.

이와 관련된 실시예에 대해서는 도 3을 참조하여 설명한다. An embodiment related to this will be described with reference to FIG. 3.

도 3은 본 발명의 일실시예에 따라 동영상 프레임으로부터 복수개의 슬라이스들을 생성하는 방법을 설명하기 위하여 도시한 도면이다. 3 is a diagram illustrating a method of generating a plurality of slices from a video frame according to an embodiment of the present invention.

도 3을 참조하면, 1920 픽셀 x 1080 픽셀을 가진 동영상 프레임이 8픽셀의 크기를 가지는 슬라이스 단위로 분할되어 있다. 본 실시예에서는 8픽셀 크기를 가지는 슬라이스 단위로 동영상 프레임이 분할되는 것으로 도시되어 있지만, 본 발명은 이에 한정되지 않는다. Referring to FIG. 3, a video frame having 1920 pixels by 1080 pixels is divided into slice units having a size of 8 pixels. In the present exemplary embodiment, the video frame is divided into slice units having a size of 8 pixels, but the present invention is not limited thereto.

단계 220에서는, 복수개의 슬라이스들에서의 픽셀들로부터 적어도 하나의 기준 픽셀과 그 기준 픽셀에 인접한 복수개의 이웃 픽셀로 구성되는 적어도 하나의 픽셀 블록을 생성한다. In operation 220, at least one pixel block is formed from pixels in the plurality of slices, the at least one reference pixel and a plurality of neighboring pixels adjacent to the reference pixel.

단계 230에서는, 그 적어도 하나의 픽셀 블록에서 그 이웃 픽셀들의 픽셀 값들을 그 이웃 픽셀들에 인접한 픽셀들 중 하나의 픽셀 값과 그 이웃 픽셀들의 픽셀 값간의 차이 값인 픽셀 차이 값으로 교체한다. In step 230, the pixel values of the neighboring pixels in the at least one pixel block are replaced with a pixel difference value that is the difference between the pixel value of one of the pixels adjacent to the neighboring pixels and the pixel value of the neighboring pixels.

단계 240에서는, 그 적어도 하나의 기준 픽셀의 픽셀 값 및 그 이웃 픽셀들의 픽셀 차이 값들이 픽셀들의 위치에 따라 상이한 패킷에 할당되도록 구성된 패킷들을 생성한다. In step 240, a packet value is configured in which the pixel value of the at least one reference pixel and the pixel difference values of its neighboring pixels are assigned to different packets according to the position of the pixels.

단계 250에서는, 패킷이 기준 픽셀에 대한 패킷인지를 판단한 후, 만일 그렇다면 단계 260으로 진행하고, 아니라면 단계 270으로 진행한다. In step 250, it is determined whether the packet is a packet for the reference pixel, and if so, the process proceeds to step 260, and if not, to step 270.

단계 260에서는, 패킷이 기준 픽셀에 대한 패킷이라고 판단되면, 그 패킷에 대하여 PCM(Pulse Code Modulation)코딩을 수행한다. In step 260, if it is determined that the packet is a packet for the reference pixel, pulse code modulation (PCM) coding is performed on the packet.

다른 실시예에서는, 그 패킷이 기준 픽셀에 대한 패킷이며 PCM 코딩이 수행된 패킷이라는 패킷 유형 정보가 그 패킷에 기록될 수 있다. In another embodiment, packet type information may be recorded in the packet that the packet is for a reference pixel and that the packet has been subjected to PCM coding.

단계 270에서는, 패킷이 이웃 픽셀들에 대한 패킷이라면 그 이웃 픽셀들에 대한 패킷별로 그 패킷에 포함된 이웃 픽셀들의 픽셀 차이 값들 각각에 대하여 엔트로피 코딩을 적용하는 경우에 얻어질 코딩 결과 값의 예측 비트 수를 계산한다. In step 270, if the packet is a packet for neighboring pixels, a prediction bit of a coding result value to be obtained when entropy coding is applied to each of pixel difference values of neighboring pixels included in the packet for each packet for the neighboring pixels. Calculate the number.

이하에서는 도 4를 참조하여 이웃 픽셀들에 대한 예측 비트 수를 계산하는 방법에 대하여 설명한다. Hereinafter, a method of calculating the number of prediction bits for neighboring pixels will be described with reference to FIG. 4.

도 4는 본 발명의 일실시예에 따라 이웃 픽셀들에 대한 예측 비트 수를 계산하는 방법을 설명하기 위하여 도시한 도면이다. 4 is a diagram illustrating a method of calculating a predicted number of bits for neighboring pixels according to an embodiment of the present invention.

도 4는 exponential golomb 룩업 테이블을 도시한 것으로, 좌측에는 0부터 8까지의 심볼(410)이 표시되어 있고, 우측에는 그 심볼(410)에 대응되는 코드워드(420)가 표시되어 있다. 4 illustrates an exponential golomb lookup table, in which a symbol 410 of 0 to 8 is displayed on the left side, and a codeword 420 corresponding to the symbol 410 is displayed on the right side.

여기서, 심볼(410)은 엔트로피 코딩이 적용되기 전의 원본 값을 나타내고, 코드워드(420)는 심볼(410)에 엔트로피 코딩을 적용하는 경우에 얻어질 코딩 결과 값을 나타낸다. Here, the symbol 410 represents an original value before entropy coding is applied, and the codeword 420 represents a coding result value to be obtained when entropy coding is applied to the symbol 410.

예컨대, 심볼(410)이 0일 때 엔트로피 코딩을 적용하면 코딩 결과 값으로서 1을 얻을 수 있고, 심볼(420)이 1일 때 엔트로피 코딩을 적용하면 010을 코딩 결과 값으로서 얻을 수 있다. For example, if entropy coding is applied when the symbol 410 is 0, 1 may be obtained as the coding result value. If entropy coding is applied when the symbol 420 is 1, 010 may be obtained as the coding result value.

만일, 어느 한 패킷에 4개의 이웃 픽셀들의 픽셀 차이 값들이 포함되어 있는데, 그 픽셀 차이 값들이 각각 0, 1, 2, 3이라고 한다면, 그에 대응되는 코드워드는 1, 010, 011, 00100이 될 것이고, 그 패킷에서의 이웃 픽셀들의 픽셀 차이 값들 각각에 대한 코딩 결과 값의 예측 비트 수는 각각 1비트, 3비트, 3비트, 5비트가 될 것이다. If a packet includes pixel difference values of four neighboring pixels, and the pixel difference values are 0, 1, 2, and 3, respectively, the corresponding codewords are 1, 010, 011, and 00100. The predicted number of bits of the coding result value for each of the pixel difference values of neighboring pixels in the packet will be 1 bit, 3 bits, 3 bits, and 5 bits, respectively.

한편, 도 4에는 심볼(420)이 0에서 8까지만 표시되어 있지만, 심볼(420)의 개수는 이에 한정되지 않는다. Meanwhile, although the symbols 420 are only displayed from 0 to 8 in FIG. 4, the number of symbols 420 is not limited thereto.

단계 280에서는, 이웃 픽셀들에 대한 패킷별로 그 패킷에 포함된 이웃 픽셀들 각각의 픽셀 차이 값에 대한 예측 비트 수를 합산한 예측 비트 수 합계가 그 이웃 픽셀들 각각의 픽셀 차이 값에 대한 현재 비트 수를 합산한 현재 비트 수 합계 미만인지를 판단한 후, 만일 그렇다면 단계 294로 진행하고, 아니라면 단계 292로 진행한다. In operation 280, the sum of the prediction bits for the pixel difference value of each of the neighboring pixels included in the packet for each packet of the neighboring pixels is the sum of the current bits for the pixel difference value of each of the neighboring pixels. After determining that the number is less than the sum of the current number of bits, if yes, go to step 294, and if not, go to step 292.

예컨대, 이웃 픽셀들의 픽셀 차이 값들이 -255에서 255까지의 범위를 가진다면 부호를 나타내기 위한 1비트와 숫자를 나타내기 위한 8비트를 포함하여 하나의 픽셀 차이 값을 나타내는데 총 9비트가 필요하게 된다. 즉, 이웃 픽셀들 각각의 픽셀 차이 값에 대한 현재 비트 수는 9비트가 된다. 만일, +1과 -1을 바이너리 값으로 나타낸다면 000000001, 100000001로 표시될 수 있을 것이다. For example, if the pixel difference values of neighboring pixels are in the range of -255 to 255, a total of 9 bits are needed to represent one pixel difference value including 1 bit for sign and 8 bits for numbers. do. That is, the current number of bits for the pixel difference value of each of the neighboring pixels becomes 9 bits. If +1 and -1 are represented as binary values, they can be represented as 000000001 and 100000001.

이와 같은 상황에서 어느 한 패킷에 4개의 이웃 픽셀들의 픽셀 차이 값들이 포함되어 있는데, 그 픽셀 차이 값들이 각각 0, 1, 2, 3이라고 한다면, 그 이웃 픽셀들 각각의 픽셀 차이 값에 대한 현재 비트 수를 합산한 현재 비트 수 합계는 9+9+9+9가되어 36비트가 된다. 이때, 도 4의 exponential golomb 룩업 테이블에 기초하여 이웃 픽셀들 각각의 픽셀 차이 값에 대한 예측 비트 수를 합산한 예측 비트 수 합계는 1+3+3+5가 되어 12비트가 된다. In such a situation, if a packet includes pixel difference values of four neighboring pixels, and the pixel difference values are 0, 1, 2, and 3, respectively, the current bit for the pixel difference value of each of the neighboring pixels. The sum of the current number of bits summed up adds 9 + 9 + 9 + 9 to 36 bits. At this time, the sum of the prediction bits, which is the sum of the prediction bits for the pixel difference values of the neighboring pixels based on the exponential golomb lookup table of FIG. 4, becomes 1 + 3 + 3 + 5 and becomes 12 bits.

상기 계산 결과를 검토한 결과, 상기 패킷에서는 이웃 픽셀들 각각의 픽셀 차이 값에 대한 예측 비트 수가 12비트로 그 이웃 픽셀들 각각의 픽셀 차이 값에 대한 현재 비트 수 합계 36비트보다 작다. As a result of examining the calculation result, in the packet, the predicted number of bits for the pixel difference value of each of the neighboring pixels is 12 bits, which is less than the sum of the current number of bits for the pixel difference of each of the neighboring pixels.

단계 292에서는, 패킷에 포함된 이웃 픽셀들 각각의 픽셀 차이 값에 대한 예측 비트 수 합계가 현재 비트 수 합계 이상인 경우에는 그 패킷에 대해 PCM 코딩을 수행한다. In step 292, if the sum of predicted bits for the pixel difference value of each of the neighboring pixels included in the packet is greater than or equal to the current number of bits, PCM coding is performed on the packet.

다른 실시예에서는, 그 패킷이 이웃 픽셀들에 대한 패킷이며 PCM 코딩이 수행된 패킷이라는 패킷 유형 정보가 그 패킷에 기록될 수 있다. In another embodiment, packet type information may be recorded in the packet that the packet is for a neighboring pixel and that the packet has been subjected to PCM coding.

단계 294에서는, 패킷에 포함된 이웃 픽셀들 각각의 픽셀 차이 값에 대한 예측 비트 수 합계가 현재 비트 수 합계 미만인 경우에는 그 패킷에 대해 엔트로피 코딩을 수행한다. In operation 294, when the sum of the predicted number of bits for the pixel difference value of each of the neighboring pixels included in the packet is less than the current number of bits, entropy coding is performed on the packet.

이와 같이 패킷에 엔트로피 코딩에 엔트로피 코딩이 수행됨으로써 그 패킷의 용량이 줄어들게 된다. As described above, entropy coding is performed on entropy coding on a packet, thereby reducing the capacity of the packet.

다른 실시예에서는, 그 패킷이 이웃 픽셀들에 대한 패킷이며 엔트로피 코딩이 수행된 패킷이라는 패킷 유형 정보가 그 패킷에 기록될 수 있다. In another embodiment, packet type information may be recorded in the packet that the packet is for a neighbor pixel and that the packet has been subjected to entropy coding.

도 5는 본 발명의 일실시예에 따른 픽셀 블록들을 설명하기 위하여 도시한 도면이다. 5 is a diagram illustrating pixel blocks according to an exemplary embodiment of the present invention.

도 5에는 16개의 픽셀 블록들이 도시되어 있는데, 각각의 픽셀 블록은 2 픽셀 x 2 픽셀의 크기를 가진다. Sixteen pixel blocks are shown in FIG. 5, each pixel block having a size of two pixels by two pixels.

좌측 최상단의 픽셀 블록(502)에 대해서 설명하면, 동그라미 형태로 표시된 Y00은 기준 픽셀을 나타내고, 세모 형태로 표시된 Y01, Y10은 제1 이웃 픽셀들을 나타내고, 네모 형태로 표시된 Y11은 제2 이웃 픽셀을 나타낸다. 여기서, Y00에서 Y01 방향으로 화살표가 표시되어 있는데, 이것은 제1 이웃 픽셀인 Y01의 픽셀 값이 기준 픽셀 Y00의 픽셀 값과 제1 이웃 픽셀 Y01의 픽셀 값간의 차이 값으로서 대체된다는 것을 나타내는 것이다. 제1 이웃 픽셀 Y10의 경우도 제1 이웃 픽셀 Y01과 동일하게 제1 이웃 픽셀 Y10의 픽셀 값이 기준 픽셀 Y00의 픽셀 값과 제1 이웃 픽셀 Y10의 픽셀 값간의 차이 값으로서 대체된다. Referring to the left-most pixel block 502, Y00 in a circle represents a reference pixel, Y01 and Y10 in triangular form represent first neighboring pixels, and Y11 in a square form represents a second neighboring pixel. Indicates. Here, an arrow is shown in the direction of Y00 to Y01, which indicates that the pixel value of the first neighboring pixel Y01 is replaced as the difference value between the pixel value of the reference pixel Y00 and the pixel value of the first neighboring pixel Y01. In the case of the first neighboring pixel Y10, similarly to the first neighboring pixel Y01, the pixel value of the first neighboring pixel Y10 is replaced as a difference value between the pixel value of the reference pixel Y00 and the pixel value of the first neighboring pixel Y10.

한편, 제2 이웃 픽셀 Y11의 경우에는 네모 형태로 표시되어 있는데, 이것은 제2 이웃 픽셀 Y11의 픽셀 차이 값이 기준 픽셀 Y00을 참조하여 생성되는 것이 아니라 제1 이웃 픽셀 Y10을 참조하여 생성된다는 것을 나타낸다. 이에 따라, 수신측에서 제2 이웃 픽셀 Y11의 픽셀 값을 복원하기 위해서는 제1 이웃 픽셀 Y10의 픽셀 값을 먼저 복원한 후에, 그 복원된 이웃 픽셀 Y10의 픽셀 값을 이용하여야 한다. On the other hand, in the case of the second neighboring pixel Y11, it is displayed in a square shape, which indicates that the pixel difference value of the second neighboring pixel Y11 is not generated with reference to the reference pixel Y00, but with reference to the first neighboring pixel Y10. . Accordingly, in order to restore the pixel value of the second neighboring pixel Y11 at the receiving side, the pixel value of the first neighboring pixel Y10 must first be restored, and then the pixel value of the restored neighboring pixel Y10 must be used.

2 픽셀 x 2 픽셀의 크기를 가지는 픽셀 블록에서 제1 이웃 픽셀 및 제2 이웃 픽셀의 픽셀 차이 값을 생성하는 방법에 대해서는 도 6을 참조하여 뒤에서 상세하게 설명한다. A method of generating pixel difference values between the first neighboring pixel and the second neighboring pixel in a pixel block having a size of 2 pixels by 2 pixels will be described in detail later with reference to FIG. 6.

한편, 도 5의 우측에는 기준 픽셀 Y00의 픽셀 값, 제1 이웃 픽셀들 Y01, Y10의 픽셀 차이 값들 제2 이웃 픽셀 Y11의 픽셀 차이 값 각각이 할당될 패킷들이 표시되어 있다. 즉, 좌측 최상단의 픽셀 블록(502)에서 기준 픽셀 Y00의 픽셀 값은 패킷 A에 포함되고, 제1 이웃 픽셀 Y01의 픽셀 값은 패킷 B에 포함되고, 제1 이웃 픽셀 Y10의 픽셀 값은 패킷 C에 포함되고, 제2 이웃 픽셀 Y11의 픽셀 값은 패킷 D에 포함된다. 도 5에서 15개의 나머지 픽셀 블록들에서도 도 5의 좌측 최상단의 픽셀 블록(502)에서와 동일한 방식으로 픽셀들의 픽셀 값들 및 픽셀 차이 값들이 패킷들에 할당된다. 5, packets to which pixel values of the reference pixel Y00, pixel difference values of the first neighboring pixels Y01 and Y10, and pixel difference values of the second neighboring pixel Y11 are respectively assigned. That is, in the pixel block 502 of the upper leftmost pixel, the pixel value of the reference pixel Y00 is included in packet A, the pixel value of the first neighboring pixel Y01 is included in packet B, and the pixel value of the first neighboring pixel Y10 is packet C. And the pixel value of the second neighboring pixel Y11 is included in packet D. In the remaining 15 pixel blocks in FIG. 5, the pixel values and pixel difference values of the pixels are allocated to the packets in the same manner as in the leftmost pixel block 502 of FIG. 5.

이때, 패킷이 생성되는 순서는 패킷들의 중요도에 따라 패킷 A, 패킷 B, 패킷 C 및 패킷 D의 순서일 수 있다. 즉, 수신측에서 패킷들을 수신하였을 때, 가장 중요한 패킷은 기준 픽셀들을 포함하는 패킷 A이므로, 패킷 A가 가장 먼저 생성되어야 하고, 패킷 D에 포함된 이웃 픽셀들은 제3 패킷에 포함된 이웃 픽셀들이 복원된 후에야 복원이 가능한 픽섹들이므로 가장 중요도가 낮아 가장 나중에 생성된다. In this case, the order in which the packets are generated may be in the order of packet A, packet B, packet C, and packet D according to the importance of the packets. That is, when the receiving side receives the packets, the most important packet is the packet A including the reference pixels, so packet A must be generated first, and the neighboring pixels included in the packet D are the neighboring pixels included in the third packet. Since they are only recoverable after they are restored, they are the least important and are created last.

또한, 다른 실시예에서는 패킷들의 중요도에 따라 패킷들에게 차별적 오류 보호(Unequal Error Protection)가 적용될 수 있다. In another embodiment, differential error protection may be applied to the packets according to the importance of the packets.

즉, 전술한 예에서 패킷 A에게 가장 강한 오류 보호가 적용되고, 패킷 D에게 가장 약한 오류 보호가 적용될 수 있다. 예컨대, 오류 복구를 위해 패킷에 할당된 비트 수가 패킷 A, 패킷 B, 패킷 C 및 패킷 D의 순서로 많을 수 있다. That is, in the above example, the strongest error protection may be applied to packet A, and the weakest error protection may be applied to packet D. For example, the number of bits allocated to a packet for error recovery may be as high as Packet A, Packet B, Packet C and Packet D.

한편, 도 5에서는 기준 픽셀의 위치가 각각의 픽셀 블록들에서 좌측 최상단으로 도시되어 있지만, 본 발명은 이에 한정되지 않는다. 예컨대, 기준 픽셀의 위치는 각각의 픽셀 블록들에서 우측 최상단일 수 있다. Meanwhile, in FIG. 5, the position of the reference pixel is shown as the top left of each pixel block, but the present invention is not limited thereto. For example, the position of the reference pixel may be top right in each pixel block.

도 6을 본 발명의 일실시예에 따라 이웃 픽셀들의 픽셀 차이 값을 생성하는 방법을 설명하기 위하여 도시한 도면이다.6 is a diagram illustrating a method of generating pixel difference values of neighboring pixels according to an exemplary embodiment of the present invention.

도 6을 참조하면, 도 6의 좌측에는 기준 픽셀 Y00의 픽셀 값(y00), 제1 이웃 픽셀 Y01의 픽셀 값(y01), 제1 이웃 픽셀 Y10의 픽셀 값(y10) 및 제2 이웃 픽셀 Y11의 픽셀 값(y11)이 도시되어 있다. Referring to FIG. 6, the left side of FIG. 6 includes a pixel value y00 of the reference pixel Y00, a pixel value y01 of the first neighboring pixel Y01, a pixel value y10 of the first neighboring pixel Y10, and a second neighboring pixel Y11. The pixel value y11 of is shown.

도 6의 우측에는 기준 픽셀 Y00의 픽셀 값(y00), 제1 이웃 픽셀 Y01의 픽셀 차이 값(d01), 제1 이웃 픽셀 Y10의 픽셀 차이 값(d10) 및 제2 이웃 픽셀 Y11의 픽셀 차이 값(d11)이 도시되어 있다. 6, the pixel value y00 of the reference pixel Y00, the pixel difference value d01 of the first neighboring pixel Y01, the pixel difference value d10 of the first neighboring pixel Y10, and the pixel difference value of the second neighboring pixel Y11 are shown on the right side of FIG. (d11) is shown.

이때, 제1 이웃 픽셀 Y01의 픽셀 차이 값(d01)은 제1 이웃 픽셀 Y01의 픽셀 값(y01)에서 기준 픽셀 Y00의 픽셀 값(y00)을 차감함으로써 얻어지고, 제1 이웃 픽셀 Y10의 픽셀 차이 값(d10)은 제1 이웃 픽셀 Y10의 픽셀 값(y10)에서 기준 픽셀 Y00의 픽셀 값(y00)을 차감함으로써 얻어진다. 또한, 제2 이웃 픽셀 Y11의 픽셀 차이 값(d11)은 제2 이웃 픽셀 Y11의 픽셀 값(y11)에서 제1 이웃 픽셀 Y10의 픽셀 값(y10)을 차감함으로써 얻어진다. In this case, the pixel difference value d01 of the first neighboring pixel Y01 is obtained by subtracting the pixel value y00 of the reference pixel Y00 from the pixel value y01 of the first neighboring pixel Y01, and the pixel difference of the first neighboring pixel Y10. The value d10 is obtained by subtracting the pixel value y00 of the reference pixel Y00 from the pixel value y10 of the first neighboring pixel Y10. Further, the pixel difference value d11 of the second neighboring pixel Y11 is obtained by subtracting the pixel value y10 of the first neighboring pixel Y10 from the pixel value y11 of the second neighboring pixel Y11.

지금까지는 동영상 패킷을 생성하는 방법에 대해 설명하였다. 이하에서는 그와 같이 생성된 동영상 패킷을 수신하는 수신측에서 동영상을 복원하는 방법에 대하여 설명한다. So far, the method of generating a video packet has been described. Hereinafter, a method of restoring a moving picture at the receiving side which receives the generated video packet will be described.

도 7은 본 발명의 일실시예에 따른 동영상 복원 방법을 설명하기 위하여 도시한 흐름도이다. 7 is a flowchart illustrating a video restoration method according to an embodiment of the present invention.

단계 710에서는, 동영상 프레임의 픽셀들에 관한 복수개의 패킷들을 수신한다. In operation 710, a plurality of packets regarding pixels of a video frame are received.

단계 720에서는, 그 패킷이 픽셀들의 원본 픽셀 값들을 포함하는 제1 패킷인지, 픽셀들의 픽셀 값들간의 차이 값들인 픽셀 차이 값들에 관한 제2 패킷인지 또는 픽셀 차이 값들에 대해 엔트로피 코딩이 적용된 제3 패킷인지에 기초하여 패킷들을 분류한다. In step 720, whether the packet is a first packet containing original pixel values of pixels, a second packet relating to pixel difference values that are difference values between pixel values of pixels, or a third in which entropy coding is applied to the pixel difference values; Classify packets based on whether they are packets.

단계 730에서는, 그 분류 결과에 기초하여, 제 3 패킷에 대하여 엔트로피 디코딩을 수행한다. In step 730, based on the classification result, entropy decoding is performed on the third packet.

단계 740에서는, 제1 패킷의 원본 픽셀들의 픽셀 값들, 제2 패킷의 픽셀 차이 값들 및 디코딩된 제3 패킷의 픽셀 차이 값들에 기초하여 동영상 프레임을 복원한다. In step 740, the video frame is reconstructed based on pixel values of original pixels of the first packet, pixel difference values of the second packet, and pixel difference values of the decoded third packet.

도 6을 참조하여 복원 방법을 설명하면 다음과 같다. The restoration method will be described with reference to FIG. 6.

먼저, 제1 이웃 픽셀 Y01의 픽셀 값 y01은 원본 픽셀 Y00의 픽셀 값 y00과 제1 이웃 픽셀 Y01의 제1 픽셀 차이 값 d01을 합산함으로써 복원된다. First, the pixel value y01 of the first neighboring pixel Y01 is reconstructed by adding the pixel value y00 of the original pixel Y00 and the first pixel difference value d01 of the first neighboring pixel Y01.

또한, 제1 이웃 픽셀 Y10의 픽셀 값 y10은 원본 픽셀 Y00의 픽셀 값 y00과 제1 이웃 픽셀 Y10의 제1 픽셀 차이 값 d10을 합산함으로써 복원된다. Further, the pixel value y10 of the first neighboring pixel Y10 is restored by summing the pixel value y00 of the original pixel Y00 and the first pixel difference value d10 of the first neighboring pixel Y10.

다음으로, 제2 이웃 픽셀 Y11의 픽셀 값 y11은 제1 이웃 픽셀 Y10의 픽셀 값 y10과 그 제2 이웃 픽셀 Y11의 제2 픽셀 차이 값 d11을 합산함으로써 복원된다. Next, the pixel value y11 of the second neighboring pixel Y11 is restored by summing the pixel value y10 of the first neighboring pixel Y10 and the second pixel difference value d11 of the second neighboring pixel Y11.

다른 픽셀 블록들에서도 이와 동일한 복원 과정을 통해 이웃 픽셀들의 픽셀 값들이 복원되면, 그와 같이 복원된 이웃 픽셀들의 픽셀 값들과 기준 픽셀들의 픽셀 값들에 기초하여 동영상 프레임이 복원된다. When the pixel values of the neighboring pixels are restored through the same reconstruction process in other pixel blocks, the video frame is reconstructed based on the pixel values of the restored neighboring pixels and the pixel values of the reference pixels.

도 8은 본 발명의 제2 실시예에 따른 동영상 복원 방법을 설명하기 위하여 도시한 흐름도이다. 8 is a flowchart illustrating a video reconstruction method according to a second embodiment of the present invention.

단계 810에서는, 동영상 프레임의 픽셀들에 관한 복수개의 패킷들을 수신한다. In operation 810, a plurality of packets regarding pixels of a video frame are received.

단계 820에서는, 패킷들로부터 그 패킷에 포함된 패킷 유형 정보를 추출한다. In step 820, packet type information included in the packet is extracted from the packets.

패킷 유형 정보에는 패킷이 픽셀들의 원본 픽셀 값들을 포함하는 제1 패킷인지, 픽셀들의 픽셀 값들간의 차이 값들인 픽셀 차이 값들에 관한 제2 패킷인지 또는 픽셀 차이 값들에 대해 엔트로피 코딩이 적용된 제3 패킷인지에 대한 정보가 포함될 수 있다. The packet type information includes whether the packet is a first packet including original pixel values of pixels, a second packet relating to pixel difference values that are difference values between pixel values of pixels, or a third packet to which entropy coding is applied to pixel difference values. Information about cognition may be included.

단계 830에서는, 그 패킷 유형 정보에 기초하여, 수신된 패킷이 원본 픽셀 값들을 포함하는 제1 패킷인지 판단한 후, 만일 그렇다면 단계 870으로 진행하고, 아니라면 단계 840으로 진행한다. In step 830, based on the packet type information, it is determined whether the received packet is a first packet including original pixel values, and if so, step 870, if not, step 840.

단계 840에서는, 그 패킷 유형 정보에 기초하여, 수신된 패킷이 픽셀들의 픽셀 값들간의 차이 값들인 픽셀 차이 값들에 대해 엔트로피 코딩이 적용되지 않은 제2 패킷인지 판단한 후, 만일 그렇다면 단계 860으로 진행하고, 아니라면 단계 850으로 진행한다. In step 840, based on the packet type information, it is determined whether the received packet is a second packet to which entropy coding is not applied for pixel difference values, which are difference values between pixel values of pixels, and if so, proceeds to step 860; If no, go to Step 850.

단계 850에서는, 수신된 패킷이 픽셀 차이 값들에 대해 엔트로피 코딩이 적용된 패킷인 제3 패킷으로 판단되면, 그 제3 패킷에 대하여 엔트로피 디코딩을 수행한다. In step 850, if it is determined that the received packet is a third packet that is a packet to which entropy coding is applied to pixel difference values, entropy decoding is performed on the third packet.

단계 860에서는, 제1 패킷으로 판단된 패킷에 포함된 기준 픽셀들을 참조하여 제2 패킷으로 판단된 패킷들에 포함된 이웃 픽셀들의 픽셀 값들과 제3 패킷으로 판단되어 엔트로피 디코딩을 거친 제3 패킷에 포함된 이웃 픽셀들의 픽셀 값들을 복원한다. In operation 860, pixel values of neighboring pixels included in the packets determined as the second packet and reference values included in the packet determined as the first packet are included in the third packet that has been entropy decoded as the third packet. Restore pixel values of the included neighbor pixels.

단계 870에서는, 제2 패킷에 해당되는 패킷들 및 디코딩된 제3 패킷에 해당되는 패킷들에 포함된 이웃 픽셀들이 모두 복원되면, 그 복원된 이웃 픽셀들과 제1 패킷에 해당되는 패킷에 포함된 기준 픽셀들을 이용하여 동영상 슬라이스들을 복원한다. In step 870, if all of the packets corresponding to the second packet and the neighboring pixels included in the packets corresponding to the decoded third packet are restored, the restored neighboring pixels and the packet corresponding to the first packet are included. Reconstruct the video slices using the reference pixels.

단계 880에서는, 그 복원된 동영상 슬라이스들에 기초하여 동영상 프레임을 복원한다. In step 880, the video frame is restored based on the restored video slices.

도 9는 본 발명의 일 실시예에 따른 동영상 패킷 생성 장치를 설명하기 위하여 도시한 흐름도이다. 9 is a flowchart illustrating a video packet generating apparatus according to an embodiment of the present invention.

도 9를 참조하면, 본 발명의 일 실시예에 따른 동영상 패킷 생성 장치는 픽셀 블록 생성부(910), 픽셀 값 관리부(920), 패킷 생성부(930) 및 코딩부(940)를 포함한다. Referring to FIG. 9, an apparatus for generating a video packet according to an embodiment of the present invention includes a pixel block generator 910, a pixel value manager 920, a packet generator 930, and a coding unit 940.

픽셀 블록 생성부(910)는 동영상 프레임의 픽셀들로부터 적어도 하나의 기준 픽셀과 그 기준 픽셀에 인접한 복수개의 이웃 픽셀들로 구성되는 적어도 하나의 픽셀 블록을 생성한다. The pixel block generator 910 generates at least one pixel block including at least one reference pixel and a plurality of neighboring pixels adjacent to the reference pixel from the pixels of the video frame.

픽셀 값 관리부(920)는 그 적어도 하나의 픽셀 블록에서 이웃 픽셀들의 픽셀 값들을 그 이웃 픽셀들에 인접한 픽셀들 중 하나의 픽셀 값과 그 이웃 픽셀들의 픽셀 값간의 차이 값인 픽셀 차이 값으로 교체한다. The pixel value manager 920 replaces pixel values of neighboring pixels in the at least one pixel block with a pixel difference value that is a difference between a pixel value of one of pixels adjacent to the neighboring pixels and a pixel value of the neighboring pixels.

패킷 생성부(930)는 픽셀 블록 생성부(910)로부터 전송되는 적어도 하나의 기준 픽셀의 픽셀 값 및 픽셀 값 관리부(920)로부터 전송되는 이웃 픽셀들의 픽셀 차이 값들을 그 픽셀들의 위치에 따라 상이한 패킷에 할당하여 복수개의 패킷들을 생성한다. The packet generator 930 may be configured to determine a pixel value of at least one reference pixel transmitted from the pixel block generator 910 and pixel difference values of neighboring pixels transmitted from the pixel value manager 920 according to positions of the pixels. To generate a plurality of packets.

코딩부(940)는 소정의 기준에 따라 패킷 생성부(930)로부터 전송된 패킷들 중에서 일부 패킷들에 대하여 엔트로피 코딩을 수행한다. The coding unit 940 performs entropy coding on some packets among the packets transmitted from the packet generation unit 930 according to a predetermined criterion.

한편, 본 발명에서는 패킷의 용량을 줄이기 위해 엔트로피 코딩이 사용되었지만, 엔트로피 코딩 외에도 패킷의 용량을 줄여줄 수 있는 다양한 종류의 코딩 방법들이 패킷들에게 적용될 수 있다. Meanwhile, in the present invention, entropy coding is used to reduce the capacity of the packet, but various types of coding methods that can reduce the packet capacity in addition to the entropy coding may be applied to the packets.

도 10은 본 발명의 일 실시예에 따른 동영상 복원 장치를 설명하기 위하여 도시한 도면이다. FIG. 10 is a diagram illustrating an apparatus for restoring a video, according to an exemplary embodiment.

도 10을 참조하면, 본 발명의 일 실시예에 따른 동영상 복원 장치는 수신부(1010), 패킷 분류부(1020), 디코딩부(1030) 및 복원부(1040)를 포함한다. Referring to FIG. 10, the video decompression device according to an embodiment of the present invention includes a receiver 1010, a packet classifier 1020, a decoder 1030, and a decompression unit 1040.

수신부(1010)는 동영상 프레임의 픽셀들에 관한 복수개의 패킷들을 수신한다. The receiver 1010 receives a plurality of packets regarding pixels of a video frame.

패킷 분류부(1020)는 수신된 패킷이 픽셀들의 원본 픽셀 값들을 포함하는 제1 패킷인지, 픽셀들의 픽셀 값들간의 차이 값들인 픽셀 차이 값들에 관한 제2 패킷인지 또는 픽셀 차이 값들에 대해 엔트로피 코딩이 적용된 제3 패킷인지에 기초하여 패킷들을 분류한다. The packet classifier 1020 may entropy code whether the received packet is a first packet including original pixel values of pixels, a second packet relating to pixel difference values that are difference values between pixel values of pixels, or pixel difference values. The packets are classified based on whether they are the applied third packet.

디코딩부(1030)는 그 분류 결과에 기초하여, 제 3 패킷에 대하여 엔트로피 디코딩을 수행한다. The decoding unit 1030 performs entropy decoding on the third packet based on the classification result.

복원부(1040)는 제1 패킷의 원본 픽셀들의 픽셀 값들, 제2 패킷의 픽셀 차이 값들 및 디코딩된 제3 패킷의 픽셀 차이 값들에 기초하여 동영상 프레임을 복원한다. The reconstructor 1040 reconstructs the video frame based on pixel values of original pixels of the first packet, pixel difference values of the second packet, and pixel difference values of the decoded third packet.

한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.Meanwhile, the above-described embodiments of the present invention can be written as a program that can be executed in a computer, and can be implemented in a general-purpose digital computer that operates the program using a computer-readable recording medium.

상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 를 포함한다.The computer-readable recording medium may include a magnetic storage medium (for example, a ROM, a floppy disk, a hard disk, etc.) and an optical reading medium (for example, a CD-ROM, DVD, etc.).

이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far I looked at the center of the preferred embodiment for the present invention. Those skilled in the art will appreciate that the present invention can be implemented in a modified form without departing from the essential features of the present invention. Therefore, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is shown in the claims rather than the foregoing description, and all differences within the scope will be construed as being included in the present invention.

Claims (15)

동영상 프레임의 픽셀들로부터 적어도 하나의 기준 픽셀과 상기 기준 픽셀에 인접한 복수개의 이웃 픽셀들로 구성되는 적어도 하나의 픽셀 블록을 생성하는 단계;
상기 적어도 하나의 픽셀 블록에서 상기 이웃 픽셀들의 픽셀 값들을 상기 이웃 픽셀들에 인접한 픽셀들 중 하나의 픽셀 값과 상기 이웃 픽셀들의 픽셀 값간의 차이 값(difference values)인 픽셀 차이 값으로 교체하는 단계;
상기 적어도 하나의 기준 픽셀의 픽셀 값 및 상기 이웃 픽셀들의 상기 픽셀 차이 값들이 상기 픽셀들의 위치에 따라 상이한 패킷에 할당되도록 구성된 패킷들을 생성하는 단계; 및
상기 이웃 픽셀들의 상기 픽셀 차이 값들을 포함하는 패킷들 중에서 일부 패킷들에 대하여 엔트로피 코딩(entropy encoding)을 수행하는 단계를 포함하는 것을 특징으로 하는 동영상 패킷 생성 방법.
Generating at least one pixel block composed of at least one reference pixel and a plurality of neighboring pixels adjacent to the reference pixel from the pixels of the video frame;
Replacing pixel values of the neighboring pixels in the at least one pixel block with a pixel difference value that is a difference value between a pixel value of one of the pixels adjacent to the neighboring pixels and a pixel value of the neighboring pixels;
Generating packets configured to assign a pixel value of the at least one reference pixel and the pixel difference values of the neighboring pixels to different packets according to the positions of the pixels; And
And performing entropy encoding on some packets among the packets including the pixel difference values of the neighboring pixels.
제1항에 있어서,
상기 엔트로피 코딩을 수행하는 단계는
상기 기준 픽셀을 포함하는 패킷 및 상기 이웃 픽셀들의 상기 픽셀 차이 값들을 포함하는 패킷들 중에서 상기 엔트로피 코딩이 적용되지 않은 패킷들에 대해 PCM(Pulse Code Modulation)코딩을 수행하는 단계를 더 포함하는 것을 특징으로 하는 동영상 패킷 생성 방법.
The method of claim 1,
Performing the entropy coding
And performing Pulse Code Modulation (PCM) coding on packets including the reference pixel and packets including the pixel difference values of the neighboring pixels to which the entropy coding is not applied. Video packet generation method.
제1항에 있어서,
상기 픽셀 블록의 크기를 결정하는 단계를 더 포함하고,
상기 적어도 하나의 픽셀 블록은 상기 결정된 픽셀 블록의 크기에 기초하여 생성되는 것을 특징으로 하는 동영상 패킷 생성 방법.
The method of claim 1,
Determining the size of the pixel block;
The at least one pixel block is generated based on the size of the determined pixel block.
제1항에 있어서,
상기 동영상 프레임을 소정 크기의 슬라이스 단위로 분할하여 복수개의 슬라이스들을 생성하는 단계를 더 포함하고,
상기 적어도 하나의 픽셀 블록을 생성하는 단계는 상기 복수개의 슬라이스들에서의 픽셀들에 대하여 수행되는 것을 특징으로 하는 동영상 패킷 생성 방법.
The method of claim 1,
The method may further include generating a plurality of slices by dividing the video frame into slice units having a predetermined size.
Generating the at least one pixel block is performed on pixels in the plurality of slices.
제1항에 있어서,
상기 엔트로피 코딩을 수행하는 단계는
상기 이웃 픽셀들에 대한 패킷별로 상기 패킷에 포함된 이웃 픽셀들의 상기 픽셀 차이 값들 각각에 대하여 엔트로피 코딩을 적용하는 경우에 얻어질 코딩 결과 값의 예측 비트 수를 계산하는 단계;
상기 이웃 픽셀들에 대한 패킷별로 상기 이웃 픽셀들 각각의 상기 픽셀 차이 값에 대한 예측 비트 수를 합산한 예측 비트 수 합계가 상기 이웃 픽셀들 각각의 상기 픽셀 차이 값에 대한 현재 비트 수를 합산한 현재 비트 수 합계 미만인지를 판단하는 단계; 및
상기 이웃 픽셀들에 대한 패킷들 중에서 상기 예측 비트 수 합계가 상기 현재 비트 수 합계 미만인 패킷들에 대해서만 상기 엔트로피 코딩을 수행하는 단계를 포함하는 것을 특징으로 하는 동영상 패킷 생성 방법.
The method of claim 1,
Performing the entropy coding
Calculating a predicted number of bits of a coding result value to be obtained when entropy coding is applied to each of the pixel difference values of neighboring pixels included in the packet for each packet of the neighboring pixels;
The sum of the prediction bits summed up the number of prediction bits for the pixel difference value of each of the neighboring pixels for each packet for the neighboring pixels, and the current sum of the current bits for the pixel difference value of each of the neighboring pixels. Determining whether the number of bits is less than the sum; And
And performing the entropy coding only on the packets of the neighboring pixels whose sum of prediction bits is less than the current sum of bits.
동영상 프레임의 픽셀들에 관한 복수개의 패킷들을 수신하는 단계;
상기 패킷이 상기 픽셀들의 원본 픽셀 값들을 포함하는 제1 패킷인지, 상기 픽셀들의 픽셀 값들간의 차이 값들인 픽셀 차이 값들에 관한 제2 패킷인지 또는 상기 픽셀 차이 값들에 대해 엔트로피 코딩이 적용된 제3 패킷인지에 기초하여 패킷들을 분류하는 단계;
상기 분류 결과에 기초하여, 상기 제 3 패킷에 대하여 엔트로피 디코딩을 수행하는 단계; 및
상기 제1 패킷의 상기 원본 픽셀들의 픽셀 값들, 상기 제2 패킷의 상기 픽셀 차이 값들 및 상기 디코딩된 제3 패킷의 상기 픽셀 차이 값들에 기초하여 상기 동영상 프레임을 복원하는 단계를 포함하는 것을 특징으로 하는 동영상 복원 방법.
Receiving a plurality of packets relating to pixels of a video frame;
Whether the packet is a first packet including original pixel values of the pixels, a second packet relating to pixel difference values that are difference values between pixel values of the pixels, or a third packet to which entropy coding is applied to the pixel difference values Classifying packets based on recognition;
Performing entropy decoding on the third packet based on the classification result; And
Restoring the video frame based on pixel values of the original pixels of the first packet, the pixel difference values of the second packet, and the pixel difference values of the decoded third packet. How to restore your video.
제6항에 있어서,
상기 동영상 프레임을 복원하는 단계는
상기 원본 픽셀의 픽셀 값들과 상기 원본 픽셀들에 인접한 제1 이웃 픽셀들의 픽셀 값들간의 차이 값들인 제1 픽셀 차이 값들을 상기 원본 픽셀의 픽셀 값들에 합산하여 상기 제1 이웃 픽셀들의 픽셀 값들을 복원하는 단계;
상기 제1 이웃 픽셀들의 픽셀 값들과 상기 제1 이웃 픽셀들에 인접한 제2 이웃 픽셀들의 픽셀 값들간의 차이 값들인 제2 픽셀 차이 값들을 상기 제2 이웃 픽셀들에 합산하여 상기 제2 이웃 픽셀들의 픽셀 값들을 복원하는 단계; 및
상기 원본 픽셀의 픽셀 값들, 상기 제1 이웃 픽셀들의 픽셀 값들 및 상기 제2 이웃 픽셀들의 픽셀 값들에 기초하여 상기 동영상 프레임을 복원하는 단계를 포함하는 것을 특징으로 하는 동영상 복원 방법.
The method of claim 6,
Restoring the video frame
Restore pixel values of the first neighboring pixels by adding first pixel difference values, which are difference values between pixel values of the original pixel and pixel values of first neighboring pixels adjacent to the original pixels, to pixel values of the original pixel. Making;
The second neighboring pixels of the second neighboring pixels are summed by second pixel difference values that are difference values between pixel values of the first neighboring pixels and pixel values of second neighboring pixels adjacent to the first neighboring pixels. Reconstructing pixel values; And
And restoring the video frame based on the pixel values of the original pixel, the pixel values of the first neighboring pixels, and the pixel values of the second neighboring pixels.
동영상 프레임의 픽셀들로부터 적어도 하나의 기준 픽셀과 상기 기준 픽셀에 인접한 복수개의 이웃 픽셀들로 구성되는 적어도 하나의 픽셀 블록을 생성하는 픽셀 블록 생성부;
상기 적어도 하나의 픽셀 블록에서 상기 이웃 픽셀들의 픽셀 값들을 상기 이웃 픽셀들에 인접한 픽셀들 중 하나의 픽셀 값과 상기 이웃 픽셀들의 픽셀 값간의 차이 값인 픽셀 차이 값으로 교체하는 픽셀 값 관리부;
상기 적어도 하나의 기준 픽셀의 픽셀 값 및 상기 이웃 픽셀들의 상기 픽셀 차이 값들이 상기 픽셀들의 위치에 따라 상이한 패킷에 할당되도록 구성된 패킷들을 생성하는 패킷 생성부; 및
상기 이웃 픽셀들의 상기 픽셀 차이 값들을 포함하는 패킷들 중에서 일부 패킷들에 대하여 엔트로피 코딩을 수행하는 코딩부를 포함하는 것을 특징으로 하는 동영상 패킷 생성 장치.
A pixel block generator configured to generate at least one pixel block including at least one reference pixel and a plurality of neighboring pixels adjacent to the reference pixel from pixels of a moving image frame;
A pixel value manager which replaces pixel values of the neighboring pixels in the at least one pixel block with a pixel difference value which is a difference value between a pixel value of one of pixels adjacent to the neighboring pixels and a pixel value of the neighboring pixels;
A packet generation unit configured to generate packets configured to allocate pixel values of the at least one reference pixel and pixel difference values of the neighboring pixels to different packets according to positions of the pixels; And
And a coding unit configured to perform entropy coding on some packets among packets including the pixel difference values of the neighboring pixels.
제8항에 있어서,
상기 코딩부는
상기 기준 픽셀을 포함하는 패킷 및 상기 이웃 픽셀들의 상기 픽셀 차이 값들을 포함하는 패킷들 중에서 상기 엔트로피 코딩이 적용되지 않은 패킷들에 대해 PCM 코딩을 수행하는 것을 특징으로 하는 동영상 패킷 생성 장치.
The method of claim 8,
The coding unit
And performing PCM coding on packets not including the entropy coding among packets including the reference pixel and packets including the pixel difference values of the neighboring pixels.
제8항에 있어서,
상기 픽셀 블록 생성부는
상기 픽셀 블록의 크기를 결정한 후, 상기 결정된 픽셀 블록의 크기에 기초하여 상기 적어도 하나의 픽셀 블록을 생성하는 것을 특징으로 하는 동영상 패킷 생성 장치.
The method of claim 8,
The pixel block generation unit
And determining the size of the pixel block, and generating the at least one pixel block based on the determined size of the pixel block.
제8항에 있어서,
상기 픽셀 블록 생성부는
상기 동영상 프레임을 소정 크기의 슬라이스 단위로 분할하여 복수개의 슬라이스들을 생성한 후, 상기 복수개의 슬라이스들에서의 픽셀들로부터 상기 적어도 하나의 픽셀 블록을 생성하는 것을 특징으로 하는 동영상 패킷 생성 장치.
The method of claim 8,
The pixel block generation unit
And generating the plurality of slices by dividing the moving image frame into slice units of a predetermined size, and generating the at least one pixel block from pixels in the plurality of slices.
제8항에 있어서,
상기 코딩부는
상기 이웃 픽셀들에 대한 패킷별로 상기 패킷에 포함된 이웃 픽셀들의 상기 픽셀 차이 값들 각각에 대하여 엔트로피 코딩을 적용하는 경우에 얻어질 코딩 결과 값의 예측 비트 수를 계산하고, 상기 이웃 픽셀들에 대한 패킷별로 상기 이웃 픽셀들 각각의 상기 픽셀 차이 값에 대한 예측 비트 수를 합산한 예측 비트 수 합계가 상기 이웃 픽셀들 각각의 상기 픽셀 차이 값에 대한 현재 비트 수를 합산한 현재 비트 수 합계 미만인지를 판단한 후, 상기 이웃 픽셀들에 대한 패킷들 중에서 상기 예측 비트 수 합계가 상기 현재 비트 수 합계 미만인 패킷들에 대해서만 상기 엔트로피 코딩을 수행하는 것을 특징으로 하는 동영상 패킷 생성 장치.
The method of claim 8,
The coding unit
Calculates the number of prediction bits of a coding result value to be obtained when entropy coding is applied to each of the pixel difference values of neighboring pixels included in the packet for each packet of the neighboring pixels, and calculates a packet for the neighboring pixels. Determining whether the sum of the number of prediction bits summed up the number of prediction bits for the pixel difference value of each of the neighboring pixels is less than the sum of the current number of bits summating the current number of bits for the pixel difference value of each of the neighboring pixels. And the entropy coding is performed only on packets whose sum of predicted bit numbers is less than the sum of current bits among packets for the neighboring pixels.
동영상 프레임의 픽셀들에 관한 복수개의 패킷들을 수신하는 수신부;
상기 패킷이 상기 픽셀들의 원본 픽셀 값들을 포함하는 제1 패킷인지, 상기 픽셀들의 픽셀 값들간의 차이 값들인 픽셀 차이 값들에 관한 제2 패킷인지 또는 상기 픽셀 차이 값들에 대해 엔트로피 코딩이 적용된 제3 패킷인지에 기초하여 패킷들을 분류하는 패킷 분류부;
상기 분류 결과에 기초하여, 상기 제 3 패킷에 대하여 엔트로피 디코딩을 수행하는 디코딩부; 및
상기 제1 패킷의 상기 원본 픽셀들의 픽셀 값들, 상기 제2 패킷의 상기 픽셀 차이 값들 및 상기 디코딩된 제3 패킷의 상기 픽셀 차이 값들에 기초하여 상기 동영상 프레임을 복원하는 복원부를 포함하는 것을 특징으로 하는 동영상 복원 장치.
A receiver configured to receive a plurality of packets regarding pixels of a video frame;
Whether the packet is a first packet including original pixel values of the pixels, a second packet relating to pixel difference values that are difference values between pixel values of the pixels, or a third packet to which entropy coding is applied to the pixel difference values A packet classifier that classifies the packets based on the recognition;
A decoding unit which performs entropy decoding on the third packet based on the classification result; And
And a reconstruction unit for reconstructing the video frame based on pixel values of the original pixels of the first packet, the pixel difference values of the second packet, and the pixel difference values of the decoded third packet. Video Restoration Device.
제13항에 있어서,
상기 복원부는
상기 원본 픽셀의 픽셀 값들과 상기 원본 픽셀들에 인접한 제1 이웃 픽셀들의 픽셀 값들간의 차이 값들인 제1 픽셀 차이 값들을 상기 원본 픽셀의 픽셀 값들에 합산하여 상기 제1 이웃 픽셀들의 픽셀 값들을 복원하고, 상기 제1 이웃 픽셀들의 픽셀 값들과 상기 제1 이웃 픽셀들에 인접한 제2 이웃 픽셀들의 픽셀 값들간의 차이 값들인 제2 픽셀 차이 값들을 상기 제2 이웃 픽셀들에 합산하여 상기 제2 이웃 픽셀들의 픽셀 값들을 복원한 후, 상기 원본 픽셀의 픽셀 값들, 상기 제1 이웃 픽셀들의 픽셀 값들 및 상기 제2 이웃 픽셀들의 픽셀 값들에 기초하여 상기 동영상 프레임을 복원하는 것을 특징으로 하는 동영상 복원 장치.
The method of claim 13,
The restoration unit
Restore pixel values of the first neighboring pixels by adding first pixel difference values, which are difference values between pixel values of the original pixel and pixel values of first neighboring pixels adjacent to the original pixels, to pixel values of the original pixel. And the second neighboring pixels by adding second pixel difference values, which are difference values between pixel values of the first neighboring pixels and pixel values of second neighboring pixels adjacent to the first neighboring pixels, to the second neighboring pixels. And restoring the video frame based on pixel values of the original pixel, pixel values of the first neighboring pixels, and pixel values of the second neighboring pixels after restoring pixel values of the pixels.
제1항 내지 제7항 중 어느 한 항의 방법을 실행시키기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체.A computer-readable recording medium having recorded thereon a program for executing the method of any one of claims 1 to 7.
KR1020100107018A 2010-04-09 2010-10-29 Method and apparatus for generating video packets, Method and apparatus for reconstructing video KR101699527B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US13/082,929 US9071849B2 (en) 2010-04-09 2011-04-08 Method and apparatus for generating video packets, method and apparatus for restoring video
PCT/KR2011/002495 WO2011126344A2 (en) 2010-04-09 2011-04-08 Method and apparatus for generating video packets, method and apparatus for restoring video

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US28284810P 2010-04-09 2010-04-09
US61/282,848 2010-04-09

Publications (2)

Publication Number Publication Date
KR20110113555A true KR20110113555A (en) 2011-10-17
KR101699527B1 KR101699527B1 (en) 2017-01-25

Family

ID=45028887

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100107018A KR101699527B1 (en) 2010-04-09 2010-10-29 Method and apparatus for generating video packets, Method and apparatus for reconstructing video

Country Status (1)

Country Link
KR (1) KR101699527B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060127668A (en) * 2005-06-08 2006-12-13 엘지전자 주식회사 Method for image compression

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060127668A (en) * 2005-06-08 2006-12-13 엘지전자 주식회사 Method for image compression

Also Published As

Publication number Publication date
KR101699527B1 (en) 2017-01-25

Similar Documents

Publication Publication Date Title
JP5781313B2 (en) Image prediction coding method, image prediction coding device, image prediction coding program, image prediction decoding method, image prediction decoding device, and image prediction decoding program
CN102498719B (en) Based on skip mode, image is carried out the method and apparatus of Code And Decode
KR101425602B1 (en) Method and apparatus for encoding/decoding image
KR102497153B1 (en) Distinct encoding and decoding of stable information and transient/stochastic information
KR20060109249A (en) Method and apparatus for predicting motion vector of a macro block using motion vectors of a picture of base layer when encoding/decoding video signal
KR101798079B1 (en) Method and apparatus for encoding video frame using difference between pixels
JP2014521276A (en) Method, program and computer system for signal processing and inheritance in layered signal quality hierarchy
JP2009017502A (en) Image encoding apparatus and image decoding apparatus
CN111316642A (en) Method and apparatus for signaling image coding and decoding partition information
US20110135009A1 (en) Combined lossy and lossless video compression
US9071849B2 (en) Method and apparatus for generating video packets, method and apparatus for restoring video
JP6038243B2 (en) Image predictive decoding method and image predictive decoding device
KR101775555B1 (en) Method and apparatus for generating video packet
KR20060059769A (en) Method for coding vector refinement for using vectors of base layer picturs and decoding method using the vector refinement
KR20110113555A (en) Method and apparatus for generating video packets, method and apparatus for reconstructing video
JP2010010917A (en) Dynamic image encoding device, dynamic image decoding device, dynamic image encoding method, and dynamic image decoding method
JP6171584B2 (en) Moving picture coding apparatus, moving picture coding method, and moving picture coding program
JP5775959B2 (en) Image prediction coding method, image prediction coding device, image prediction coding program, image prediction decoding method, image prediction decoding device, and image prediction decoding program
WO2012060172A1 (en) Movie image encoding device, movie image decoding device, movie image transmitting system, method of controlling movie image encoding device, method of controlling movie image decoding device, movie image encoding device controlling program, movie image decoding device controlling program, and recording medium
JP4168299B2 (en) Image data conversion apparatus and image data conversion method
JP2007049594A (en) Processing method for image data
JP6486528B2 (en) Image predictive decoding method and image predictive decoding device
JP6310992B2 (en) Image predictive decoding method and image predictive decoding device
WO2012060171A1 (en) Movie image encoding device, movie image decoding device, movie image transmitting system, method of controlling movie image encoding device, method of controlling movie image decoding device, movie image encoding device controlling program, movie image decoding device controlling program, and recording medium
KR101418100B1 (en) Method And Apparatus for Encoding And Decoding Using Contradiction Test

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