KR101015888B1 - Method and Apparatus for computing the distortion value of the video packet for priority assignment in scalable video coding - Google Patents

Method and Apparatus for computing the distortion value of the video packet for priority assignment in scalable video coding Download PDF

Info

Publication number
KR101015888B1
KR101015888B1 KR1020080089997A KR20080089997A KR101015888B1 KR 101015888 B1 KR101015888 B1 KR 101015888B1 KR 1020080089997 A KR1020080089997 A KR 1020080089997A KR 20080089997 A KR20080089997 A KR 20080089997A KR 101015888 B1 KR101015888 B1 KR 101015888B1
Authority
KR
South Korea
Prior art keywords
packet
snr
distortion
distortion value
gop
Prior art date
Application number
KR1020080089997A
Other languages
Korean (ko)
Other versions
KR20090027181A (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 한국전자통신연구원
Publication of KR20090027181A publication Critical patent/KR20090027181A/en
Application granted granted Critical
Publication of KR101015888B1 publication Critical patent/KR101015888B1/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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability

Landscapes

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

Abstract

본 발명은 스케일러블비디오 코딩에서 각 프레임에 우선순위를 할당하기 위해 비디오 패킷의 왜곡값을 계산하는 장치에 관한 것이다. 본 발명의 패킷 왜곡값계산장치는 적절한 중간조건을 설정한 후, 한 가지 유형의 왜곡값 만을 계산하는 것을 특징으로 한다. 이로써, 왜곡값 저장에 요구되는 메모리를 줄일 수 있고 또한 한 개의 서버가 동시에 많은 비트스트림을 처리할 수 있다.

Figure R1020080089997

우선순위, SVC, 왜곡값

The present invention relates to an apparatus for calculating a distortion value of a video packet to assign priority to each frame in scalable video coding. The packet distortion value calculating apparatus of the present invention is characterized in that after setting an appropriate intermediate condition, only one type of distortion value is calculated. This reduces the memory required to store the distortion value and allows one server to process many bitstreams at the same time.

Figure R1020080089997

Priority, SVC, Distortion

Description

스케일러블비디오 코딩에서 우선순위를 할당하기 위해 비디오 패킷의 왜곡값을 계산하는 장치 및 방법{Method and Apparatus for computing the distortion value of the video packet for priority assignment in scalable video coding}{Method and Apparatus for computing the distortion value of the video packet for priority assignment in scalable video coding}

본 발명은 스케일러블 비디오 코딩에서 효율적인 우선순위 할당 방법에 관한 것이다. 보다 상세히, 스케일러블비디오 코딩에서 각 프레임에 우선순위를 할당하기 위해 비디오 패킷의 왜곡값을 계산하는 방법 및 장치에 관한 것이다. The present invention relates to an efficient priority allocation method in scalable video coding. More particularly, the present invention relates to a method and apparatus for calculating a distortion value of a video packet to assign priority to each frame in scalable video coding.

본 발명은 정보통신부의 IT성장동력핵심기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2005-S-103-03, 과제명: 통방융합 환경에서의 유비쿼터스 콘텐츠 서비스 기술 개발]The present invention is derived from the research conducted as part of the IT growth engine core technology development project of the Ministry of Information and Communication [Task management number: 2005-S-103-03, Title: Development of ubiquitous content service technology in the convergence environment]

스케일러블 비디오 코딩(Scalable vidio coding, SVC)은 멀티미디어 통신에서 유용하게 사용되는 비디오 압축 방식이다. SVC는 AVC(Advanced video coding) 방식을 확장한 것으로서 높은 압축 효율을 지니고, 다양한 비트율로 압축이 가능하다. Scalable video coding (SVC) is a video compression method that is usefully used in multimedia communication. SVC is an extension of AVC (Advanced video coding) method, has high compression efficiency, and can be compressed at various bit rates.

스케일러블 비디오 코딩은 공간, 시간, SNR 스케일러빌리티라는 세 측면에서 스케일러빌리티를 제공한다. SVC 비트스트림은 다양한 단말이나 네트워크의 특성에 따라 여러가지 방식으로 쉽게 변형하여 사용하거나 축출할 수 있는 특징이 있다. Scalable video coding provides scalability in three aspects: spatial, temporal, and SNR scalability. The SVC bitstream has a feature that can be easily modified or used in various ways according to the characteristics of various terminals or networks.

또한, 스케일러블비디오 부호화 방식 중 특히 SVC 부호화 방식은 부호화된 비트스트림을 축출하는데 유연성을 제공한다. 이에 대해 여러 방면에서 최적 적응을 위한 전략 및 솔루션에 대한 요구는 필수 불가결해 졌다. In addition, among the scalable video coding schemes, in particular, the SVC coding scheme provides flexibility in extracting an encoded bitstream. In many ways, the need for strategies and solutions for optimal adaptation is indispensable.

이러한 연구의 예로는 MPEG-4 FGS 비디오의 적응 관련 분야, SVC 비트스트림이 공간-시간-SNR 의 스케일러빌리티를 이용하여 적응되는 MPEG-21기반 적응 시스템의 개발 등 이 있다. 또한, T. C. Thang, D. S. Lee, J. W. Kang, Y. M. Ro, "Optimal Multi-layer Adaptation of SVC Video over Heterogeneous Environments" , Proc. Int. ACM IWCMC2007, 8월. 2007. 에서 멀티캐스팅 시나리오를 대상으로 다중 계층 축출을 위한 프레임워크가 제안되었다.Examples of such research include the field of adaptation of MPEG-4 FGS video and the development of an MPEG-21 based adaptation system in which an SVC bitstream is adapted using scalability of space-time-SNR. See also T. C. Thang, D. S. Lee, J. W. Kang, Y. M. Ro, “Optimal Multi-layer Adaptation of SVC Video over Heterogeneous Environments”, Proc. Int. ACM IWCMC2007, August. In 2007. a framework for multi-layer eviction was proposed for multicasting scenarios.

이러한 기술들의 이점은 리소스 제한의 변화에 대해 최적의 적응을 제공하는데 유연하다는 것이다. 그러나, 전체 시스템에서 적응 노드들을 구현하는 비용이 단점이 될 수 있다. 즉, 적응 노드를 단순화시키기 위해서, SVC는 우선순위 메커니즘을 제공하여 비디오 패킷을 패킷 헤더의 priority_id 값에 따라 축출할 수 있도록 하였으나, 제공자 측에서 priority_id를 할당하는데 있어서 높은 복잡도는 또다른 단점으로 작용하게 된다.The advantage of these techniques is that they are flexible to provide optimal adaptation to changes in resource limits. However, the cost of implementing adaptive nodes in the overall system can be a disadvantage. In other words, to simplify the adaptation node, SVC provides a priority mechanism to allow video packets to be evicted according to the priority_id value of the packet header, but the high complexity in assigning priority_id on the provider side is another disadvantage. do.

본 발명에서는 기존 기술에서 우선순위를 할당함에 있어 발생한 높은 복잡도를 감소시키는 방법을 제안한다. The present invention proposes a method for reducing the high complexity incurred in assigning priorities in the existing technology.

본 발명에서는 적정조건(moderate condition)하에서 한가지 유형의 왜곡값만으로 우선순위를 설정하는 방법을 제안한다. The present invention proposes a method of setting the priority by using only one type of distortion value under a moderate condition.

본 발명은 스케일러블 비디오 코딩에서 단순한 처리에 의해 SVC 비트스트림의 일부를 축출할 수 있도록 하는 우선순위 결정시 필요한 왜곡값 계산 방법에 관한 것으로서, 종래 기술을 사용하여 왜곡값을 계산할 경우 요구되는 복잡도를 감소시켰다. 또한, 왜곡값 저장에 요구되는 메모리를 줄일 수 있는 이점도 있으며, 이는 한 개의 서버가 동시에 많은 비트스트림을 처리해야 하는 경우에 유용하다.The present invention relates to a method for calculating a distortion value required for prioritization that allows a part of an SVC bitstream to be evicted by simple processing in scalable video coding. The present invention relates to a method for calculating a distortion value using conventional techniques. Reduced. In addition, there is an advantage of reducing the memory required for storing the distortion value, which is useful when one server needs to process many bitstreams at the same time.

본 발명의 바람직한 일 실시예에서, 스케일러블비디오 코딩에서 각 프레임에 우선순위를 할당하기 위해 비디오 패킷의 왜곡값을 계산하는 장치는 SNR(Signal to Noise Ratio) 향상계층의 개수가 N 이고, N/2 보다 작은 가장 큰 정수값을 n 이라고 할 때, 하나의 GOP 내에서 다른 프레임에 n 개의 SNR_향상계층이 존재한다고 가정하는 단일조건설정부; 및 하나의 GOP 내에서 크기가 같고, SNR_향상계층과 시간계층이 동일한 패킷의 경우, 동일한 왜곡값을 지니는 것으로 추정하는 추정부;를 포함한다. In a preferred embodiment of the present invention, an apparatus for calculating a distortion value of a video packet to assign priority to each frame in scalable video coding has a number of signal to noise ratio (SNR) enhancement layers N, and N / Assuming that the largest integer value smaller than 2 is n, a single condition setting unit assumes that there are n SNR_ enhancement layers in another frame within one GOP; And an estimator for estimating that a packet having the same size and having the same SNR_ enhancement layer and time layer in one GOP has the same distortion value.

상기 실시예에서, 패킷왜곡값계산 장치는 또한, 하나의 GOP 내에서 크기가 상이하고, SNR_향상계층과 시간계층이 동일한 패킷의 경우, 상기 크기의 상이한 비율을 반영하여 왜곡값을 보상하는 보상부;를 더 포함한다. In the above embodiment, the packet distortion value calculating apparatus also compensates for the distortion value by reflecting different ratios of the magnitudes in the case of packets having different sizes in the one GOP and having the same SNR_ enhancement layer and time layer. It further includes;

본 발명의 또 다른 바람직한 일 실시예에서, 패킷왜곡값계산장치는 하나의 GOP 내에서 다른 프레임에 SNR_향상계층의 개수의 반보다 작은 가장 큰 정수값만큼의 SNR_향상계층이 존재한다고 설정하는 단일조건설정부; 하나의 GOP 내에 SNR_향상계층과 시간계층이 동일한 패킷의 경우, 동일한 왜곡값을 지니는 것으로 추정하는 추정부; 및 상기 패킷의 크기가 상이한 경우, 크기의 상이한 비율을 반영하여 상기 왜곡값을 보상하는 보상부;를 포함한다. In another preferred embodiment of the present invention, the packet distortion value calculating apparatus sets that there is an SNR_ enhancement layer having the largest integer value less than half of the number of SNR_ enhancement layers in another frame within one GOP. Single condition setting unit; An estimator for estimating that the SNR_ enhancement layer and the time layer have the same distortion value in one GOP, when the packet is the same; And a compensator for compensating the distortion value by reflecting different ratios of sizes when the sizes of the packets are different.

본 발명의 또 다른 바람직한 일 실시예에서, 스케일러블비디오 코딩에서 각 프레임에 우선순위를 할당하기 위해 비디오 패킷의 왜곡값을 계산하는 방법은 하나의 GOP 내에서 다른 프레임에 SNR_향상계층의 개수의 반보다 작은 가장 큰 정수값만큼의 SNR_향상계층이 존재한다고 설정하는 단일조건설정단계; 하나의 GOP 내에서 크기가 같고, SNR_향상계층과 시간계층이 동일한 패킷의 경우, 동일한 왜곡값을 지니는 것으로 추정하는 추정단계;를 포함한다. In another preferred embodiment of the present invention, a method of calculating a distortion value of a video packet to assign priority to each frame in scalable video coding is performed by the number of SNR_enhancement layers in another frame within one GOP. A single condition setting step of setting that there exists an SNR_enhancement layer by the largest integer value smaller than half; An estimation step of estimating that a packet having the same size and having the same SNR_ enhancement layer and the time layer in one GOP has the same distortion value.

상기 실시예에서, 패킷왜곡값계산 방법은 또한 하나의 GOP 내에서 크기가 상이하고, SNR_향상계층과 시간계층이 동일한 패킷의 경우, 상기 크기의 상이한 비율을 반영하여 왜곡값을 보상하는 보상단계;를 더 포함한다. In the above embodiment, the packet distortion value calculation method also includes a compensation step of compensating for the distortion value by reflecting different ratios of the magnitudes in the case of packets having different sizes in the one GOP and having the same SNR_ enhancement layer and time layer. It further includes;

이하 본 발명의 바람직한 실시예가 첨부된 도면들을 참조하여 설명될 것이다. 도면들 중 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 참조번호들 및 부호들로 나타내고 있음에 유의해야 한다. 하기에서 본 발명을 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings. It should be noted that the same elements among the drawings are denoted by the same reference numerals and symbols as much as possible even though they are shown in different drawings. In the following description of the present invention, if it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted.

스케일러블 비디오 코딩(SVC)은 비트스트림의 일부분을 단순히 축출함으로써 3-차원의 스케일러빌리티를 제공할 수 있다. 스케일러블 비디오 코딩은 공간, 시간, SNR 스케일러빌리티라는 세 측면에서 스케일러빌리티를 제공한다. Scalable video coding (SVC) can provide three-dimensional scalability by simply evicting a portion of the bitstream. Scalable video coding provides scalability in three aspects: spatial, temporal, and SNR scalability.

스케일러블 비디오 코딩은 시간, 공간, SNR 스케일러빌리티라는 세 측면에서 스케일러빌리티를 제공한다. 시간적 스케일러빌리티는 hierarchical B 프레임 구조에 의해 가능하며, 공간 스케일러빌리티는 다계층 부호화 기법에 의해 제공된다. 또한, SNR 스케일러빌리티는 다음의 방식에 의해 가능하다. 다계층 부호화 방식과 동일하나 하위 계층과 동일한 공간화질을 사용하여 부호화 하는 CGS(coarse grain scalability) 방식, 서브-비트플레인(sub-bitplane) 코딩 개념에 기반한 FGS(fine grained scalability) 방식 그리고 연속적인 양자화 에러 감소 과정에 기반한 MGS(medium grained scalability) 방식이 그것이다. Scalable video coding provides scalability in three aspects: time, space, and SNR scalability. Temporal scalability is enabled by hierarchical B frame structure, and spatial scalability is provided by multi-layer coding technique. In addition, SNR scalability is possible by the following scheme. Coarse grain scalability (CGS), which is the same as multi-layer coding, but uses the same spatial resolution as the lower layer, fine grained scalability (GFS) based on the concept of sub-bitplane coding, and continuous quantization Medium grained scalability (MGS) based on the error reduction process.

SVC 비트스트림은 NAL(network abstraction layer) 유닛들로 구성된다. 각 NAL 유닛은 헤더에 기술되어 있는 세 개의 주요 파라미터로 특징지을 수 있다. 세 개의 주요 파라미터는 공간계층 또는 CGS 계층을 나타내는 식별자인 dependency_id(D), 시간계층의 레벨을 나타내는 식별자인 temporal_id(T), 및 SNR 계층을 나타내는 식별자인 quality_id (Q)이다. 예를 들어, FGS 또는 MGS의 경우, 다른 Q 값을 가지며, Q 값이 다르다는 것은 SNR 계층이 다르다는 것을 의미한다. The SVC bitstream is composed of network abstraction layer (NAL) units. Each NAL unit can be characterized by three main parameters described in the header. The three main parameters are dependency_id (D), which is an identifier indicating a spatial layer or CGS layer, temporal_id (T), which is an identifier indicating a level of a temporal layer, and quality_id (Q), which is an identifier indicating an SNR layer. For example, in the case of FGS or MGS, having different Q values and different Q values means different SNR layers.

NAL 유닛의 헤더는 세 개의 주요 파라미터 D, T 및 Q와 더불어 패킷(NAL 유닛)의 중요도를 나타내는 우선순위를 식별자인 priority_id를 또한 포함한다. 즉, NAL 유닛의 헤더에 포함된 priority_id를 이용하여 특정NAL 유닛을 버림으로써 SVC 비트스트림의 일부를 추출할 수 있다. The header of the NAL unit also includes three main parameters D, T, and Q, with priority_id being an identifier indicating the priority of the packet (NAL unit). That is, a part of the SVC bitstream may be extracted by discarding a specific NAL unit by using priority_id included in the header of the NAL unit.

먼저, 본 발명에서 사용될 용어를 정의하면 다음과 같다. Frame(프레임) 은 동일한 타임 스탬프를 갖는 모든 부호화된 데이터를 나타낸다. 한 개의 프레임은 한 개의 기본 품질 패킷(base quality packet)과 SNR 향상을 위한 다수의 패킷(SE(SNR enhancement) 패킷)들로 이루어진다. 각 SE 패킷은 하나의 SE 계층에 해당된다.First, the terms to be used in the present invention are defined as follows. Frame represents all coded data having the same time stamp. One frame consists of one base quality packet and a plurality of packets for SNR enhancement (SNR enhancement). Each SE packet corresponds to one SE layer.

SVC에서 우선순위설정의 기본 개념은 특정한 D, T, Q 값과 프레임 번호 F를 갖는 모든 패킷에 priority_id 요소에 의해 기술되는 우선순위값 P를 설정한다. 그 후, 상황에 따라, 비트스트림이 제한된 비트율을 만족할 때까지 패킷은 우선순위값이 높은 순으로 또는 낮은 순으로 제거될 수 있다. The basic concept of prioritization in SVC sets the priority value P described by the priority_id element to all packets having a specific D, T, Q value and frame number F. Then, depending on the situation, packets may be removed in order of high priority or low order until the bitstream satisfies the limited bit rate.

이와 같이, priority_id 요소를 이용하여 축출하는 과정은 매우 간단해 보인다. 그러나, 각 패킷에 priority_id 값을 할당하는 과정은 매우 복잡한 문제점이 있다. 예를 들어, 현재 JSVM reference 소프트웨어에서 사용되고 있는 priority_id 값 할당방식은 두 단계로 나뉜다. As such, the process of evicting using the priority_id element seems very simple. However, assigning a priority_id value to each packet has a very complicated problem. For example, the priority_id value assignment method currently used in the JSVM reference software is divided into two steps.

첫 번째는 각 패킷에 대해 R-D 정보(rate-distortion, 왜곡율)를 계산하는 단계이다. 두 번째는 R-D 기울기에 따라 패킷을 정렬한 후 미리 정해진 priority- id 세트대로 분류하는 단계이다. 이 두 단계 중 R-D 정보를 계산하는 과정은 많은 시간이 소요되는 문제점이 있다. The first step is to calculate R-D information (rate-distortion) for each packet. The second step is to sort packets according to the R-D slope and classify them according to a predetermined priority-id set. Among these two steps, the process of calculating R-D information takes a long time.

또한, GOP 내의 프레임간에 의존도(dependency)가 존재하기 때문에, 한 개의 패킷에서 발생한 왜곡은 단지 해당 프레임을 복원하는데만 영향을 주는 것이 아니라 관련된 프레임(그 패킷에 의존도가 있는 프레임)을 복원하는데도 영향을 준다. Also, because there is a dependency between frames within a GOP, the distortion in one packet does not only affect the restoring that frame, but also affects restoring the associated frame (the frame that depends on that packet). give.

도 1 은 GOP 내의 일부 프레임이 드랍되는 경우 다른 프레임에 미치는 영향을 도시한다. 1 illustrates the effect on some frames when some frames in the GOP are dropped.

도 1 에서 x 축은 하나의 GOP 내의 각 프레임 번호를 나타내고, y 축은 Temporal ID를 도시한다. 그리고, 도 1의 각 프레임은 각각 3개의 SE 패킷을 갖는다. 도 1 에 도시된 바와 같이 추출된 패킷(101, 102)에 대해 의존적인 프레임들의 그룹을 점선으로 표시하였다(103, 104). 예를 들어, 프레임 4에서 하나의 패킷(101)을 축출하는 것에 대해, 프레임 4, 1, 2, 3, 5, 6, 7 에 대해 계산되어야 한다. In FIG. 1, the x axis represents each frame number in one GOP, and the y axis represents a Temporal ID. Each frame of FIG. 1 has three SE packets, respectively. As shown in FIG. 1, groups of frames dependent on the extracted packets 101 and 102 are indicated by dotted lines 103 and 104. For example, for evicting one packet 101 in frame 4, it should be calculated for frames 4, 1, 2, 3, 5, 6, 7.

이와 같이, 기존의 기술에서 한 개의 패킷에 대해 계산된 최종 왜곡값은 두 가지 유형의 왜곡값의 평균값이다. As such, in the prior art, the final distortion value calculated for one packet is an average value of two types of distortion values.

첫 번째 유형의 왜곡 값은 (Td, Qd)에서 축출된 패킷에 대해 {T < Td 인 경우, Q <= Qd } and {T > Td 인 경우, Q <= Qd -1, } 인 모든 SE 패킷을 유지하는 상태에서 계산된 값이다. 예를 들면, Td=2, Qd=3인 NAL 유닛이 추출될 경우의 왜곡을 계산하기 위해서, T<2 인 0번과 8번 프레임의 경우, Q<=3 인 모든 SE 패킷들을 포함하게 하고, T>2 인 경우 1, 2, 3, 5, 6, 7 번 프레임의 경우 Q<=2 인 모든 SE 패킷들을 포함하게 하여 (즉, Q=3인 SE 패킷들은 제외) 왜곡값을 계산한다.The first type of distortion value is {T <T d for packets evicted at (Td, Qd). If Q <= Q d } and {T> T d , then Q <= Q d -1,} This value is calculated while maintaining all SE packets. For example, to calculate the distortion when a NAL unit with Td = 2 and Qd = 3 is extracted, for frames 0 and 8 with T <2, include all SE packets with Q <= 3. Compute the distortion value by including all SE packets with Q <= 2 for frames 1, 2, 3, 5, 6, and 7 if T> 2 (ie, excluding SE packets with Q = 3). .

두 번째 유형의 왜곡 값은 SE 패킷이 다른 프레임(즉, {Q <= Qd, ∀ T ≠ Td})에 존재하지 않는 상태에서 계산된 값이다. 예를 들면, T= 2 인 경우(SE 패킷을 3개 포함)를 제외한 다른 프레임들은 SE 패킷이 존재하지 않는다고 가정하고 왜곡 값을 계산한다.The second type of distortion value is calculated when the SE packet is not present in another frame (ie {Q <= Q d , ∀ T ≠ T d }). For example, other frames except T = 2 (including three SE packets) assume that there are no SE packets and calculate distortion values.

그러나, 이와 같은 두 가지 유형의 왜곡값은 실제와 매우 다르고 일관성이 없는 문제가 있다. 따라서, 한 가지 왜곡 유형내에서도 편차를 초래할 뿐만 아니라, 두 가지 왜곡 유형사이에서도 큰 차이를 초래한다. However, these two types of distortions have very different and inconsistent problems. Thus, not only does a deviation occur within one distortion type, but also a large difference between the two distortion types.

본 발명에서는 이상에서 서술된 문제점을 해결하기 위하여, 기존과 같이 극단적인 두 가지 조건하에서 두 가지 유형의 왜곡값을 구하여 평균값을 구하는 것이 아니라, 적정조건(moderate condition)하에서 한가지 유형의 왜곡값만으로 우선순위를 설정하는 방법을 제안한다. In the present invention, in order to solve the problems described above, instead of obtaining the average value by calculating two types of distortion values under two extreme conditions as before, only one type of distortion value is preferred under moderate conditions. Suggest how to set the rank.

본 발명에서 제안한 방법은 한 가지 종류의 왜곡만을 필요로 하므로 인해 계산 복잡도를 기존의 방법에 비해 반으로 줄어든다. 또한, 왜곡 값을 저장하기 위해 필요한 메모리도 반으로 줄어드는 이점이 있다. 이러한 특성은 특히, 한 개의 서버가 동시에 많은 비트스트림을 처리해야 하는 경우에 유용하다.Since the proposed method requires only one type of distortion, the computational complexity is reduced by half compared to the conventional method. In addition, the memory required to store the distortion value is also reduced in half. This feature is particularly useful when one server needs to process many bitstreams at the same time.

도 2 는 본 발명에서 제시하는 우선순위 할당방식을 설정하기 위해 왜곡값을 정하는 일 예를 도시한다.2 illustrates an example of determining a distortion value in order to set a priority allocation scheme according to the present invention.

먼저, 본 발명에서 제안하는 적정조건이란, SNR_향상계층(SE)의 수를 N이라 할 때, 프레임의 왜곡 계산시에는 n 개의 SE 계층들이 다른 프레임들에 존재하는 경우를 고려하는 것을 의미한다. 여기서, n 은 수학식 1과 같이 정의된다. First, the appropriate condition proposed in the present invention means that when the number of SNR_enhancement layers SE is N, the case where n SE layers exist in different frames when calculating the distortion of a frame is considered. . Here, n is defined as in Equation 1.

n=FLOOR(N/2)n = FLOOR (N / 2)

그리고, FLOOR(x) 는 x보다 작은 가장 큰 정수값을 의미한다.And FLOOR (x) means the largest integer value smaller than x.

예를 들어, N=3, 즉 3 개의 SE 계층을 갖는 비트스트림의 경우, n=FLOOR(3/2)=1 이 되어, 다른 프레임들은 하나의 SE 계층만을 포함하여야 한다. 이에 대해서, 도 2 를 참고한다. 이러한 조건은 이상에서 서술한 두 가지 유형의 왜곡 조건과 비교할 때보다 적합하고, 전체 과정에서 동일하게 적용되므로 전체 프레임에서 일관된 왜곡이 가능하다. For example, in the case of a bitstream having N = 3, that is, three SE layers, n = FLOOR (3/2) = 1, so that other frames should include only one SE layer. In this regard, reference is made to FIG. 2. These conditions are more suitable than the two types of distortion conditions described above, and apply the same throughout the entire process, so that a consistent distortion is possible in the entire frame.

또한, 한 개의 GOP 내에서 동일한 Q와 T 값을 가진 패킷들의 경우 왜곡값은 서로 유사하거나 연관된다. 따라서, 한 개의 GOP내에서 동일한 QT 값을 가진 모든 패킷의 경우, 최초 패킷에 대해서만 왜곡값을 계산하고, 그 외의 다른 프레임들의 왜곡갓은 최초 패킷의 왜곡값을 이용하여 추측된다. In addition, for packets having the same Q and T values in one GOP, the distortion values are similar or associated with each other. Therefore, for all packets having the same Q and T values in one GOP, the distortion value is calculated only for the first packet, and the distortion values of other frames are estimated using the distortion value of the first packet.

예를 들어, 도 2 에서 비트레이트의 차이가 없는 경우, 4번 프레임(210)과 12번 프레임(220)의 왜곡값은 유사하다는 가정하에, 4번 프레임(210)의 왜곡값 만을 계산하고, 12 번 프레임(220)의 왜곡값은 4번 프레임(210)의 왜곡값을 이용하여 결정한다. For example, if there is no difference in bit rate in FIG. 2, assuming that the distortion values of the frame 4 and the frame 12 are similar, only the distortion value of the frame 4 is calculated. The distortion value of the 12th frame 220 is determined using the distortion value of the 4th frame 210.

Dist1, Size1 가 각각 제 1 패킷의 왜곡과 크기를 나타내고, Distk, Sizek 가 동일한 Q 와 T값을 갖는 제 2 패킷의 왜곡과 크기를 나타낸다고 하면, Distk 의 추측값은 수학식 2와 같다.If Dist 1 and Size 1 represent the distortion and size of the first packet, respectively, and Dist k and Size k represent the distortion and size of the second packet having the same Q and T values, the estimated value of Dist k is represented by Equation 2 Same as

Distk = Dist1 Dist k = Dist 1

다만, 이 경우 GOP에 있는 프레임들이 유사하다고 가정한다. GOP에 있는 프레임들이 상이한 경우는 수학식 3을 이용하여 변화를 보상한다.  In this case, however, the frames in the GOP are assumed to be similar. If the frames in the GOP are different, Equation 3 is used to compensate for the change.

Distk = Dist1 * Sizek / Size1 Dist k = Dist 1 * Size k / Size 1

일반적으로, 수학식 2는 비트레이트의 차이가 적은 경우, GOP에 있는 프레임들이 유사한 경우에 사용되고, 수학식 3은 비트레이트의 차이가 큰 경우, 상이한 GOP의 변화를 보상할 때 사용된다.In general, Equation 2 is used when the frames in the GOP are similar when the bitrate difference is small, and Equation 3 is used when compensating for the change in the different GOP when the bitrate difference is large.

이상에서 서술된, 본 발명에서 제시하는 방식은 높은 시간 레벨에서 전부가 아닌 몇 개의 프레임만을 복호화하여 왜곡을 계산한다. 즉, 본 발명에서 제시하는 방식을 이용할 경우 원하는 프레임에 대해서 하나의 왜곡 유형만을 계산할 수 있는 이점이 있다. The method described in the present invention described above calculates distortion by decoding only a few frames, not all, at a high temporal level. That is, when using the scheme proposed in the present invention, only one distortion type can be calculated for a desired frame.

도 1 의 경우를 예를 들면 다음과 같다. 도 1 에서, 시간레벨이 3인 경우(T=3), 프레임 2의 왜곡만이 계산되고, 프레임 6, 10, 14 는 프레임 2의 왜곡값과 같은 값을 갖게 된다. 따라서, T=3 인 SE 패킷이 추출될 경우의 왜곡값 계산을 위해서 나머지 프레임들을 이미 계산된 프레임들의 왜곡값으로부터 추정할 수 있으므로, 프레임 16, 8, 4, 2, 1 그리고 3 만이 복호화된다. 도 1 에서 프레임 0은 다른 GOP에 속하는 것으로 가정한다. 따라서, 시간 레벨이 높을수록 처리시간이 줄어들게 된다.For example, the case of FIG. 1 is as follows. In FIG. 1, when the time level is 3 (T = 3), only the distortion of frame 2 is calculated, and frames 6, 10, and 14 have the same value as the distortion value of frame 2. Therefore, the distortion value calculation when the SE packet with T = 3 is extracted. In order to estimate the remaining frames from the distortion values of the already calculated frames, only frames 16, 8, 4, 2, 1 and 3 are decoded. In FIG. 1, it is assumed that frame 0 belongs to another GOP. Therefore, the higher the time level, the shorter the processing time.

도 3 은 본 발명에서 제시하는 스케일러블 비디오 코딩에서 효율적인 우선순위 할당 방법을 수행하기 위하여 프레임에 대해 빠른 왜곡을 계산하는 방식에 대한 Syntax 를 도시한다. 3 illustrates a syntax for a method of calculating fast distortion on a frame in order to perform an efficient priority allocation method in scalable video coding according to the present invention.

도 3 에서 k는 프레임 번호를, n 은 실제로 계산할 퀄리티-계층의 개수, 그리고 N 은 향상 계층의 개수를 각각 나타낸다. In FIG. 3, k denotes a frame number, n denotes the number of quality-layers to be actually calculated, and N denotes the number of enhancement layers, respectively.

도 4 는 본 발명에서 제시하는 패킷왜곡값계산장치의 개념도를 개략적으로 도시한다. 4 schematically illustrates a conceptual diagram of a packet distortion value calculating apparatus according to the present invention.

패킷왜곡값계산장치는 단일조건설정부(410), 추정부(420) 및 보상부(430)를 포함한다. The packet distortion value calculator includes a single condition setting unit 410, an estimating unit 420, and a compensating unit 430.

단일조건설정부(410)는 수학식 1 에 따라 SNR_향상계층의 개수가 N 인 경우, 하나의 GOP 내의 다른 프레임에 n 개의 SNR_향상계층이 존재한다고 가정한다. 이로써, 적합한 단일 유형 조건을 설정하게 됨으로써 종래에는 두 가지 왜곡 유형에서 계산하여야 하는 문제점을 해결할 수 있다. When the number of SNR_ enhancement layers is N according to Equation 1, the single condition setting unit 410 assumes that n SNR_ enhancement layers exist in another frame in one GOP. As a result, by setting an appropriate single type condition, the problem of conventionally calculating the two distortion types can be solved.

추정부(420)는 단일조건설정부(410)가 설정한 조건 하에서, 하나의 GOP 내에 크기가 같고, SNR_향상계층과 시간계층이 동일한 패킷이 존재하는 경우, 이 패킷들의 왜곡값은 첫 번째 왜곡값을 계산한 패킷과 동일한 것으로 추정한다. 추정부(420)의 일 예는 수학식 2와 같다.The estimation unit 420, under the condition set by the single condition setting unit 410, if there are packets of the same size and the same SNR_ enhancement layer and the time layer, the distortion value of these packets is the first It is assumed that the distortion value is the same as that of the calculated packet. An example of the estimator 420 is shown in Equation 2 below.

보상부(430)는 단일조건설정부(410)가 설정한 조건 하에서,하나의 GOP 내에서 크기가 상이하고, SNR_향상계층과 시간계층이 동일한 패킷의 경우, 상기 크기의 상이한 비율을 반영하여 왜곡값을 보상한다. 보상부(430)의 일 예는 수학식 3과 같다.The compensation unit 430 reflects different ratios of the sizes in the case of packets having different sizes in one GOP and having the same SNR_enhancement layer and time layer under the conditions set by the single condition setting unit 410. Compensate for the distortion. An example of the compensation unit 430 is shown in Equation 3 below.

본 발명에서 패킷의 왜곡값을 계산할 때에는 추정부(420)와 보상부(430)가 각각 독립적으로 또는 함께 사용될 수 있다.In the present invention, the estimator 420 and the compensator 430 may be used independently or together when calculating a packet distortion value.

본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. The invention can also be embodied as computer readable code on a computer readable recording medium. Computer-readable recording media include all kinds of recording devices that store data that can be read by a computer system.

컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플라피 디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like, which are also implemented in the form of carrier waves (for example, transmission over the Internet). It also includes. The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.

이상 도면과 명세서에서 최적 실시예들이 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. The best embodiments have been disclosed in the drawings and specification above. Although specific terms have been used herein, they are used only for the purpose of describing the present invention and are not used to limit the scope of the present invention as defined in the meaning or claims.

그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.Therefore, those skilled in the art will understand that various modifications and equivalent other embodiments are possible from this. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.

도 1 은 GOP 내의 일부 프레임이 드랍되는 경우 다른 프레임에 미치는 영향을 도시한다. 1 illustrates the effect on some frames when some frames in the GOP are dropped.

도 2 는 본 발명에서 제시하는 우선순위 할당방식을 설정하기 위해 왜곡값을 정하는 일 예를 도시한다.2 illustrates an example of determining a distortion value in order to set a priority allocation scheme according to the present invention.

도 3 은 본 발명에서 제시하는 스케일러블 비디오 코딩에서 효율적인 우선순위 할당 방법을 수행하기 위하여 프레임에 대해 빠른 왜곡을 계산하는 방식에 대한 Syntax 를 도시한다. 3 illustrates a syntax for a method of calculating fast distortion on a frame in order to perform an efficient priority allocation method in scalable video coding according to the present invention.

도 4 는 본 발명에서 제시하는 패킷왜곡값계산장치의 개념도를 개략적으로 도시한다. 4 schematically illustrates a conceptual diagram of a packet distortion value calculating apparatus according to the present invention.

Claims (10)

스케일러블비디오 코딩에서 각 프레임에 우선순위를 할당하기 위해 비디오 패킷의 왜곡값을 계산하는 장치로서, An apparatus for calculating a distortion value of a video packet to assign priority to each frame in scalable video coding. SNR(Signal to Noise Ratio) 향상계층의 개수가 N 이고, N/2 보다 작은 정수값 중 가장 큰 정수값을 n 이라고 할 때, 하나의 GOP 내에서 다른 프레임에 n 개의 SNR_향상계층이 존재한다고 가정하는 단일조건설정부; 및When the number of signal to noise ratio (SNR) enhancement layers is N and the largest integer value smaller than N / 2 is n, n SNR_ enhancement layers exist in another frame within one GOP. A single condition setting unit to assume; And 상기 하나의 GOP 내의 패킷들 중 크기, SNR_향상계층 및 시간계층이 동일한 패킷은 동일한 왜곡값을 지니는 것으로 추정하는 추정부;를 포함하는 것을 특징으로 하는 패킷왜곡값계산장치. And an estimator for estimating that packets having the same size, SNR_ enhancement layer, and time layer among the packets in the one GOP have the same distortion value. 제 1 항에 있어서, The method of claim 1, 상기 하나의 GOP 내에서 크기만 상이하고, SNR_향상계층과 시간계층이 동일한 패킷의 경우, 상기 크기의 상이한 비율을 반영하여 왜곡값을 보상하는 보상부;를 더 포함하는 것을 특징으로 하는 패킷왜곡값계산장치. Packet distortion, characterized in that it further comprises a compensation unit for compensating for the distortion value by reflecting a different ratio of the size of the packet, the size is different only in the one GOP, SNR_ enhancement layer and the time layer is the same Value calculator. 하나의 GOP 내에서 다른 프레임에 SNR_향상계층의 개수의 반보다 작은 정수값 중 가장 큰 정수값 만큼의 SNR_향상계층이 존재한다고 설정하는 단일조건설정부; A single condition setting unit for setting that as many SNR_ enhancement layers as the largest integer among integer values smaller than half of the number of SNR_ enhancement layers exist in another frame in one GOP; 상기 하나의 GOP 내의 패킷들 중 SNR_향상계층 및 시간계층이 동일한 패킷은 동일한 왜곡값을 지니는 것으로 추정하는 추정부; 및 An estimator for estimating that packets having the same SNR_ enhancement layer and time layer among the packets in the one GOP have the same distortion value; And 상기 패킷의 크기만 상이한 경우, 크기의 상이한 비율을 반영하여 상기 왜곡값을 보상하는 보상부;를 포함하는 것을 특징으로 하는 패킷왜곡값계산장치.And a compensation unit for compensating for the distortion value by reflecting a different ratio of the size when only the size of the packet is different from the packet distortion value calculating device. 제 1 항 또는 제 3 항에 있어서, 상기 SNR_향상계층은 FGS, MGS, 또는 FGS 및 MGS의 프래그먼트 중 적어도 어느 하나에 해당 될 수 있는 것을 특징으로 하는 패킷왜곡값계산장치.The apparatus of claim 1 or 3, wherein the SNR_ enhancement layer may correspond to at least one of FGS, MGS, or a fragment of FGS and MGS. 삭제delete 삭제delete 스케일러블비디오 코딩에서 각 프레임에 우선순위를 할당하기 위해 비디오 패킷의 왜곡값을 계산하는 방법으로서, A method of calculating distortion values of a video packet to assign priority to each frame in scalable video coding. 하나의 GOP 내에서 다른 프레임에 SNR_향상계층의 개수의 반보다 작은 정수값 중 가장 큰 정수값 만큼의 SNR_향상계층이 존재한다고 설정하는 단일조건설정단계; A single condition setting step of setting that there is an SNR_ enhancement layer having the largest integer value among integers smaller than half of the number of SNR_ enhancement layers in another frame in one GOP; 상기 하나의 GOP 내의 패킷들 중 크기, SNR_향상계층 및 시간계층이 동일한 패킷은 동일한 왜곡값을 지니는 것으로 추정하는 추정단계;를 포함하는 패킷왜곡값계산방법.And estimating a packet having the same size, SNR_ enhancement layer, and time layer among the packets in the one GOP having the same distortion value. 제 7 항에 있어서, The method of claim 7, wherein 상기 하나의 GOP 내에서 크기만 상이하고, SNR_향상계층과 시간계층이 동일한 패킷의 경우, 상기 크기의 상이한 비율을 반영하여 왜곡값을 보상하는 보상단계;를 더 포함하는 것을 특징으로 하는 패킷왜곡값계산방법. In the case of a packet having only a different size and having the same SNR_enhancement layer and time layer in the one GOP, a compensation step of compensating a distortion value by reflecting a different ratio of the size; packet distortion further comprising a Value calculation method. 제 7 항에 있어서, 상기 추정단계는 8. The method of claim 7, wherein the estimating step 비트레이트의 차이가 적은 경우에 적용되는 것을 특징으로 하는 패킷왜곡값계산방법. A packet distortion value calculation method, which is applied when the difference in bit rate is small. 제 8 항에 있어서, 상기 보상단계는The method of claim 8, wherein the compensation step 비트레이트의 차이가 큰 경우에 적용되는 것을 특징으로 하는 패킷왜곡값계산방법. A packet distortion value calculation method, which is applied when the difference in bit rate is large.
KR1020080089997A 2007-09-11 2008-09-11 Method and Apparatus for computing the distortion value of the video packet for priority assignment in scalable video coding KR101015888B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020070092142 2007-09-11
KR20070092142 2007-09-11

Publications (2)

Publication Number Publication Date
KR20090027181A KR20090027181A (en) 2009-03-16
KR101015888B1 true KR101015888B1 (en) 2011-02-23

Family

ID=40694889

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080089997A KR101015888B1 (en) 2007-09-11 2008-09-11 Method and Apparatus for computing the distortion value of the video packet for priority assignment in scalable video coding

Country Status (1)

Country Link
KR (1) KR101015888B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2529502A1 (en) 2010-01-28 2012-12-05 Thomson Licensing A method and apparatus for retransmission decision making
EP2627054B1 (en) * 2012-02-10 2018-12-19 Polycom, Inc. System and method for handling the loss of critical packets in multi-hop rtp streaming

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070096726A (en) * 2006-03-27 2007-10-02 삼성전자주식회사 Method for assigning priority for controlling bit-rate of bitstream, method for controlling bit-rate of bitstream, video decoding method, and apparatus thereof
KR20070096884A (en) * 2006-03-24 2007-10-02 한국전자통신연구원 Coding method of reducing interlayer redundancy using mition data of fgs layer and device thereof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070096884A (en) * 2006-03-24 2007-10-02 한국전자통신연구원 Coding method of reducing interlayer redundancy using mition data of fgs layer and device thereof
KR20070096726A (en) * 2006-03-27 2007-10-02 삼성전자주식회사 Method for assigning priority for controlling bit-rate of bitstream, method for controlling bit-rate of bitstream, video decoding method, and apparatus thereof

Also Published As

Publication number Publication date
KR20090027181A (en) 2009-03-16

Similar Documents

Publication Publication Date Title
KR100848310B1 (en) Method and apparatus for scalable video adaptation using adaptation operators for scalable video
KR100995201B1 (en) Packetization of fgs/pfgs video bitstreams
US8599919B2 (en) Moving image coding/decoding system and moving image coding apparatus and moving image decoding apparatus used therein
WO2001062010A1 (en) System and method with advance predicted bit-plane coding for progressive fine-granularity scalable (pfgs) video coding
KR20010021879A (en) Apparatus and method for macroblock based rate control in a coding system
CN101077011A (en) System and method for real-time transcoding of digital video for fine-granular scalability
JP2006520554A (en) Method and system for transferring video over a network including multiple paths
US20060159352A1 (en) Method and apparatus for encoding a video sequence
US20060072661A1 (en) Apparatus, medium, and method generating motion-compensated layers
JP2011147120A (en) Method and apparatus for transmitting scalable video in accordance with priority
CN103250411A (en) Method for bit rate control within scalable video coding system and system therefor
WO2005029867A1 (en) System and method for providing video content and concealment dependent error protection and scheduling algorithms
KR20050085780A (en) System and method for drift-free fractional multiple description channel coding of video using forward error correction codes
KR101015888B1 (en) Method and Apparatus for computing the distortion value of the video packet for priority assignment in scalable video coding
US20100027428A1 (en) Scheduling method of providing multimedia service
Changuel et al. End-to-end stochastic scheduling of scalable video overtime-varying channels
AU2016203305A1 (en) Method, apparatus and system for encoding and decoding video data
Kim et al. Error-resilient 3-D wavelet video coding with duplicated lowest sub-band coefficients and two-step error concealment method
KR20050012765A (en) System and method for enhancing videos from drift-free scalable bitstream
Zakerinasab et al. Dependency-aware unequal error protection for layered video coding
Sun et al. Rate-smoothed schedule with tolerable data dropping for video coding stream
KR100285703B1 (en) Video data partitioning apparatus and method using rate-distortion characteristics
Lima et al. Optimal rate allocation for p2p video streaming
KR101388591B1 (en) Fec packet allocating method and apparataus, and server and client apparatus employing the same
Gallucci et al. Content-adaptive robust h. 264/svc video communications over 802.11 e networks

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: 20140123

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee