亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? owngsmamr.h

?? G.711,G.723.1,G.726,G.729,GSM CODEC C/C++ code
?? H
?? 第 1 頁 / 共 2 頁
字號:
/*/////////////////////////////////////////////////////////////////////////////
//
//                  INTEL CORPORATION PROPRIETARY INFORMATION
//     This software is supplied under the terms of a license agreement or
//     nondisclosure agreement with Intel Corporation and may not be copied
//     or disclosed except in accordance with the terms of that agreement.
//          Copyright(c) 2005 Intel Corporation. All Rights Reserved.
//
//     Intel(R) Integrated Performance Primitives
//     USC - Unified Speech Codec interface library
//
// By downloading and installing USC codec, you hereby agree that the
// accompanying Materials are being provided to you under the terms and
// conditions of the End User License Agreement for the Intel(R) Integrated
// Performance Primitives product previously accepted by you. Please refer
// to the file ipplic.htm located in the root directory of your Intel(R) IPP
// product installation for more information.
//
// A speech coding standards promoted by ITU, ETSI, 3GPP and other
// organizations. Implementations of these standards, or the standard enabled
// platforms may require licenses from various entities, including
// Intel Corporation.
//
//
// Purpose: GSMAMR speech codec: internal header file.
//
*/

#ifndef __OWNGSMAMR_H__
#define __OWNGSMAMR_H__
#include <stdio.h>
#include <stdlib.h>
#include "gsmamr.h"
#include "gsmamrapi.h"

#include "scratchmem.h"

#define ENC_KEY 0xecdaaa
#define DEC_KEY 0xdecaaa

/* GSMAMR constant definitions.
   Constant names are kept same as IETF GSM AMR */
#define SPEECH_BUF_SIZE          320
#define LP_WINDOW_SIZE           240
#define FRAME_SIZE_GSMAMR        160
#define SUBFR_SIZE_GSMAMR         40
#define LP_ORDER_SIZE             10
#define LP1_ORDER_SIZE     (LP_ORDER_SIZE+1)
#define LSF_GAP                  205
#define LP_ALL_FRAME       (4*LP1_ORDER_SIZE)
#define PITCH_MIN_LAG             20
#define PITCH_MAX_LAG            143
#define FLT_INTER_SIZE        (10+1)
#define PITCH_SHARP_MAX        13017
#define PITCH_SHARP_MIN            0

#define MAX_OFFSET   (PITCH_MAX_LAG +LP1_ORDER_SIZE)
#define MAX_NUM_PRM               57
#define PITCH_GAIN_CLIP        15565        /* Pitch gain clipping = 0.95               */
#define PG_NUM_FRAME               7
#define NUM_MEM_LTPG               5
#define NUM_SUBBANDS_VAD           9
#define DTX_HIST_SIZE              8
#define ENERGY_HIST_SIZE          60
#define CBGAIN_HIST_SIZE           7
#define NUM_PRED_TAPS              4
#define MIN_ENERGY            -14336         /* -14 dB  */
#define MIN_ENERGY_M122        -2381          /* -14 dB / (20*log10(2)) */
#define PSEUDO_NOISE_SEED 0x70816958L
#define INIT_BACKGROUND_NOISE    150
#define INIT_LOWPOW_SEGMENT    13106

/* Constants for pitch detection */
#define LOW_THRESHOLD              4
#define NUM_THRESHOLD              4
#define MAX_MED_SIZE               9
#define LTP_GAIN_LOG10_1        2721 /* 1.0 / (10*log10(2)) */
#define LTP_GAIN_LOG10_2        5443 /* 2.0 / (10*log10(2)) */
#define MAX_UPSAMPLING             6
#define LEN_INTERPOL_10    (FLT_INTER_SIZE-1)
#define LEN_FIRFLT     (MAX_UPSAMPLING*LEN_INTERPOL_10+1)
#define EXP_CONST_016           5243               /* 0.16 */
#define EXP_CONST_084          27525               /* 0.84 */
#define LTP_GAIN_MEM_SIZE          5
#define LTP_THRESH1             9830                /* 0.6  */
#define LTP_THRESH2            14746               /* 0.9  */
#define THRESH_ENERGY_LIMIT    17578         /* 150 */
#define LOW_NOISE_LIMIT           20            /* 5 */
#define UPP_NOISE_LIMIT         1953            /* 50 */
#define LEN_QNT_GAIN              32
#define LEN_QNT_PITCH             16
#define VEC_QNT_M475_SIZE        256
#define VEC_QNT_HIGHRATES_SIZE   128
#define VEC_QNT_LOWRATES_SIZE     64
#define ALPHA_09               29491                  /* 0.9 */
#define ONE_ALPHA               3277                      /* 1.0-ALPHA */
enum enDTXStateType {SPEECH = 0, DTX, DTX_MUTE, DTX_NODATA};
#define DTX_MAX_EMPTY_THRESH      50
#define DTX_ELAPSED_FRAMES_THRESH (24 + 7 -1)
#define DTX_HANG_PERIOD            7

#define dVADState void
typedef struct {
   short vSinceLastSid;
   short vDTXHangCount;
   short vExpireCount;
   short vDataUpdated;

} sDecoderSidSync;

/* post filter memory */
typedef struct{
   short a_MemSynPst[LP_ORDER_SIZE];
   short vMemPrevRes;
   short vPastGainScale;
   short a_SynthBuf[LP_ORDER_SIZE];
} sPostFilterSt;

typedef struct {
  short a_GainMemory[LTP_GAIN_MEM_SIZE];
  short vPrevState;
  short vPrevGain;
  short vFlagLockGain;
  short vOnSetGain;
} sPhaseDispSt;

typedef struct {
    short vExpPredCBGain;
    short vFracPredCBGain;
    short vExpTargetEnergy;
    short vFracTargetEnergy;
    short a_ExpEnCoeff[5];
    short a_FracEnCoeff[5];
    short *pGainPtr;
    short a_PastQntEnergy[4];
    short a_PastQntEnergy_M122[4];
    short a_PastUnQntEnergy[4];
    short a_PastUnQntEnergy_M122[4];
    short vOnSetQntGain;
    short vPrevAdaptOut;
    short vPrevGainCode;
    short a_LTPHistoryGain[NUM_MEM_LTPG];

} sGainQuantSt;

typedef struct {
   short a_LSPHistory[LP_ORDER_SIZE * DTX_HIST_SIZE];
   short a_LogEnergyHistory[DTX_HIST_SIZE];
   short vHistoryPtr;
   short vLogEnergyIndex;
   short vLSFQntIndex;
   short a_LSPIndex[3];
   /* DTX handler */
   short vDTXHangoverCt;
   short vDecExpireCt;
} sDTXEncoderSt;

typedef struct {
   short vLastSidFrame;
   short vSidPeriodInv;
   short vLogEnergy;
   short vLogEnergyOld;
   int   vPerfSeedDTX_long;
   short a_LSP[LP_ORDER_SIZE];
   short a_LSP_Old[LP_ORDER_SIZE];
   short a_LSFHistory[LP_ORDER_SIZE*DTX_HIST_SIZE];
   short a_LSFHistoryMean[LP_ORDER_SIZE*DTX_HIST_SIZE];
   short vLogMean;
   short a_LogEnergyHistory[DTX_HIST_SIZE];
   short vLogEnergyHistory;
   short vLogEnergyCorrect;
   short vDTXHangoverCt;
   short vDecExpireCt;
   short vFlagSidFrame;
   short vFlagValidData;
   short vDTXHangAdd;
   short vSidUpdateCt;
   enum  enDTXStateType eDTXPrevState;
   short vFlagDataUpdate;

   short vSinceLastSid;
   short vDTXHangCount;
   short vExpireCount;
   short vDataUpdated;

} sDTXDecoderSt;


/* Decoder part */
/********************************************************
*            array & table declarations
*********************************************************/
#define N_MODES     9

extern CONST short TableHammingWindow[LP_WINDOW_SIZE];
extern CONST short TablePastLSFQnt[80];
extern CONST short TableMeanLSF_3[10];
extern CONST short TableDecCode1LSF_3[256*3];
extern CONST short TableDecCode2LSF_3[512*3];
extern CONST short TableDecCode3LSF_3[512*4];
extern CONST short TableMeanLSF_5[10];
extern CONST short TableQuantGainPitch[16];
extern CONST short TableLSPInitData[LP_ORDER_SIZE]; /* removed const for BE code */
extern CONST short TableParamPerModes[N_MODES];
extern CONST short *TableBitAllModes[N_MODES];
extern CONST IppSpchBitRate mode2rates[N_MODES];

/********************************************************
*               function declarations
*********************************************************/

void  ownVADPitchDetection_GSMAMR(IppGSMAMRVad1State *st, short *pTimeVec, short *vLagCountOld, short *vLagOld);

void  ownUpdateLTPFlag_GSMAMR(IppSpchBitRate rate, int L_Rmax, int L_R0, Ipp16s *vFlagLTP);

void  ownLog2_GSMAMR_norm (int inVal, short exp, short *expPart, short *fracPart);

void  ownLog2_GSMAMR(int inVal, short *expPart, short *fracPart);

int   ownPow2_GSMAMR(short expPart, short fracPart);

int   ownSqrt_Exp_GSMAMR(int inVal, short *exp);

void  ownReorderLSFVec_GSMAMR(short *lsf, short minDistance, short len);

short ownGetMedianElements_GSMAMR(short *pPastGainVal, short num);

short ownCtrlDetectBackgroundNoise_GSMAMR (short *excitation, short excEnergy, short *exEnergyHist,
                                           short vVoiceHangover, short prevBFI, short carefulFlag);

short ownComputeCodebookGain_GSMAMR(short *pTargetVec2, short *pFltVector);

void  ownGainAdaptAlpha_GSMAMR(short *vOnSetQntGain, short *vPrevAdaptOut, short *vPrevGainCode,
                    short *a_LTPHistoryGain, short ltpg, short gainCode, short *alpha);

short ownCBGainAverage_GSMAMR(short *a_GainHistory, short *vHgAverageVar, short *vHgAverageCount, IppSpchBitRate rate,
                              short gainCode, short *lsp, short *lspAver, short badFrame, short vPrevBadFr,
                              short pdfi, short vPrevDegBadFr, short vBackgroundNoise, short vVoiceHangover);

short ownCheckLSPVec_GSMAMR(short *count, short *lsp);

int   ownSubframePostProc_GSMAMR(short *pSpeechVec, IppSpchBitRate rate, short numSubfr,
      short gainPitch, short gainCode, short *pAQnt, short *pLocSynth, short *pTargetVec,
      short *code, short *pAdaptCode, short *pFltVector, short *a_MemorySyn, short *a_MemoryErr,
      short *a_Memory_W0, short *pLTPExc, short *vFlagSharp);

void  ownPredExcMode3_6_GSMAMR (short *pLTPExc, short T0, short frac, short lenSubfr, short flag3);

void  ownPhaseDispersion_GSMAMR (sPhaseDispSt *state, IppSpchBitRate rate, short *x, short cbGain,
                                short ltpGain, short *innovVec, short pitchFactor, short tmpShift);


short ownSourceChDetectorUpdate_GSMAMR (short *a_EnergyHistVector, short *vCountHangover, short *ltpGainHist, short *pSpeechVec, short *vVoiceHangover);

void  ownCalcUnFiltEnergy_GSMAMR(short *pLPResVec, short *exc, short *code, short gainPitch, short lenSubfr, short *fracEnergyCoeff,
                          short *expEnergyCoeff, short *ltpg);

void  ownCalcFiltEnergy_GSMAMR(IppSpchBitRate rate, short *pTargetVec, short *pTargetVec2, short *pAdaptCode, short *pFltVector, short *fracEnergyCoeff,
                        short *expEnergyCoeff, short *optFracCodeGain, short *optExpCodeGain);
void  ownCalcTargetEnergy_GSMAMR(short *pTargetVec, short *optExpCodeGain, short *optFracCodeGain);

void  ownConvertDirectCoeffToReflCoeff_GSMAMR(short *pDirectCoeff, short *pReflCoeff);

void  ownScaleExcitation_GSMAMR(short *pInputSignal, short *pOutputSignal);

void  ownPredEnergyMA_GSMAMR(short *a_PastQntEnergy, short *a_PastQntEnergy_M122, IppSpchBitRate rate, short *code,
        short *expGainCodeCB, short *fracGainCodeCB, short *fracEnergyCoeff, short *frac_en);

short ownQntGainCodebook_GSMAMR(IppSpchBitRate rate, short expGainCodeCB, short fracGainCodeCB, short *gain,
                                short *pQntEnergyErr_M122, short *pQntEnergyErr);
short ownQntGainPitch_M7950_GSMAMR(short gainPitchLimit, short *gain, short *pGainCand, short *pGainCind);

short ownQntGainPitch_M122_GSMAMR(short gainPitchLimit, short gain);

void  ownUpdateUnQntPred_M475(short *a_PastQntEnergy, short *a_PastQntEnergy_M122,
      short expGainCodeCB, short fracGainCodeCB, short optExpCodeGain, short optFracCodeGain);

short ownGainQnt_M475(short *a_PastQntEnergy, short *a_PastQntEnergy_M122, short vExpPredCBGain,
      short vFracPredCBGain, short *a_ExpEnCoeff, short *a_FracEnCoeff, short vExpTargetEnergy,
      short vFracTargetEnergy, short *codeNoSharpSF1, short expGainCodeSF1, short fracGainCodeSF1,
      short *expCoeffSF1, short *fracCoeffSF1, short expTargetEnergySF1, short fracTargetEnergySF1,
      short gainPitchLimit, short *gainPitSF0, short *gainCodeSF0, short *gainPitSF1, short *gainCodeSF1);

void  ownGainQuant_M795_GSMAMR(short *vOnSetQntGain, short *vPrevAdaptOut, short *vPrevGainCode, short *a_LTPHistoryGain, short *pLTPRes,
      short *pLTPExc, short *code, short *fracEnergyCoeff, short *expEnergyCoeff, short expCodeEnergy, short fracCodeEnergy,
      short expGainCodeCB, short fracGainCodeCB, short lenSubfr, short optFracCodeGain, short optExpCodeGain, short gainPitchLimit,
      short *gainPitch, short *gainCode, short *pQntEnergyErr_M122, short *pQntEnergyErr, short **ppAnalysisParam);

short ownGainQntInward_GSMAMR(IppSpchBitRate rate, short expGainCodeCB, short fracGainCodeCB, short *fracEnergyCoeff, short *expEnergyCoeff,
      short gainPitchLimit, short *gainPitch, short *gainCode, short *pQntEnergyErr_M122, short *pQntEnergyErr);

int   ownGainQuant_GSMAMR(sGainQuantSt *st, IppSpchBitRate rate, short *pLTPRes, short *pLTPExc, short *code, short *pTargetVec,
      short *pTargetVec2, short *pAdaptCode, short *pFltVector, short even_subframe, short gainPitchLimit, short *gainPitSF0,
      short *gainCodeSF0, short *gainPitch, short *gainCode, short **ppAnalysisParam);

void  ownDecodeFixedCodebookGain_GSMAMR(short *a_PastQntEnergy, short *a_PastQntEnergy_M122, IppSpchBitRate rate,
                                       short index, short *code, short *gainCode);

void  ownDecodeCodebookGains_GSMAMR(short *a_PastQntEnergy, short *a_PastQntEnergy_M122, IppSpchBitRate rate, short index,
                                   short *code, short evenSubfr, short * gainPitch, short * gain_cod);

void  ownConcealCodebookGain_GSMAMR(short *a_GainBuffer, short vPastGainCode, short *a_PastQntEnergy,
                                   short *a_PastQntEnergy_M122, short state, short *gainCode);

void  ownConcealCodebookGainUpdate_GSMAMR(short *a_GainBuffer, short *vPastGainCode, short *vPrevGainCode,   /* i   : flag: frame is bad               */
                                         short badFrame, short vPrevBadFr, short *gainCode);

void  ownConcealGainPitch_GSMAMR(short *a_LSFBuffer, short vPastGainZero, short state, short *pGainPitch);

void  ownConcealGainPitchUpdate_GSMAMR(short *a_LSFBuffer, short *vPastGainZero, short *vPrevGainZero,      /* i   : flag: frame is bad                */
                                      short badFrame, short vPrevBadFr, short *gain_pitch);

int   ownCloseLoopFracPitchSearch_GSMAMR(short *vTimePrevSubframe, short *a_GainHistory, IppSpchBitRate rate, short frameOffset,
      short *pLoopPitchLags, short *pImpResVec, short *pLTPExc, short *pPredRes, short *pTargetVec, short lspFlag, short *pTargetVec2,
      short *pAdaptCode, short *pExpPitchDel, short *pFracPitchDel, short *gainPitch, short **ppAnalysisParam, short *gainPitchLimit);

short ownGenNoise_GSMAMR(int *pShiftReg, short numBits);

void  ownBuildCNCode_GSMAMR(int *seed, short *pCNVec);

void  ownBuildCNParam_GSMAMR(short *seed, const short numParam, const short *pTableSizeParam, short *pCNParam);

void  ownDecLSPQuantDTX_GSMAMR(short *a_PastQntPredErr, short *a_PastLSFQnt, short BadFrInd, short *indice, short *lsp1_q);

int   ownDTXDecoder_GSMAMR(sDTXDecoderSt *st, short *a_MemorySyn, short *a_PastQntPredErr, short *a_PastLSFQnt,
      short *a_PastQntEnergy, short *a_PastQntEnergy_M122, short *vHgAverageVar, short *vHgAverageCount,
      enum enDTXStateType newState, GSMAMR_Rate_t rate, short *pParmVec, short *pSynthSpeechVec,
      short *pA_LP);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品一区二区成人精品| 免费成人结看片| 欧美日本韩国一区| 国产一区二区伦理| 亚洲国产中文字幕| 国产视频一区二区在线观看| 欧美日韩一区二区在线观看 | 成人精品亚洲人成在线| 亚洲国产成人tv| 中文字幕免费观看一区| 3atv在线一区二区三区| 97se亚洲国产综合在线| 久88久久88久久久| 亚洲国产精品久久一线不卡| 国产精品久久三区| 日韩欧美成人一区| 欧美在线观看视频一区二区 | 青娱乐精品视频在线| 中文字幕一区二区视频| 欧美精品一区二区三区蜜桃| 欧美日韩情趣电影| 91小视频免费看| 国产a区久久久| 蓝色福利精品导航| 亚洲一区二区三区四区在线免费观看| 久久午夜羞羞影院免费观看| 7777精品伊人久久久大香线蕉超级流畅| 国产精品久久久久影院亚瑟| 精品国产乱码久久久久久图片| 91福利在线导航| 99视频精品在线| 豆国产96在线|亚洲| 国产一区二区免费视频| 裸体在线国模精品偷拍| 奇米亚洲午夜久久精品| 日本怡春院一区二区| 日韩精品成人一区二区三区| 亚洲电影一区二区三区| 一区二区在线观看免费视频播放| 亚洲视频一区二区在线| 亚洲免费在线观看视频| 中文字幕一区免费在线观看| 亚洲欧洲精品天堂一级| 最新热久久免费视频| 国产精品久久久久久久午夜片| 中文幕一区二区三区久久蜜桃| 中文字幕精品三区| 日本一区二区不卡视频| 国产精品久久久久久久浪潮网站 | 国产福利一区在线| 成人一区二区在线观看| 成人精品在线视频观看| 91亚洲精品久久久蜜桃网站| 色噜噜偷拍精品综合在线| 欧美在线免费视屏| 欧美挠脚心视频网站| 日韩欧美国产成人一区二区| 久久综合九色综合欧美98| 中文字幕欧美三区| 最新国产の精品合集bt伙计| 一区二区三区毛片| 免费久久精品视频| 国产成人在线视频免费播放| 99在线精品视频| 精品视频一区二区不卡| 日韩一级完整毛片| 26uuu精品一区二区在线观看| 久久久精品免费网站| 国产精品天美传媒沈樵| 亚洲一区二区影院| 亚洲大片在线观看| 极品少妇一区二区三区精品视频| 成人中文字幕合集| 91国内精品野花午夜精品| 欧美一级二级三级蜜桃| 国产精品视频一二三| 亚洲成人高清在线| 捆绑调教一区二区三区| 成人动漫一区二区| 欧美日韩精品欧美日韩精品| 欧美不卡一区二区三区| 最新热久久免费视频| 青青草国产成人99久久| 粉嫩一区二区三区在线看| 欧美亚洲综合网| 精品国产网站在线观看| 中文字幕在线观看不卡视频| 日本免费新一区视频| heyzo一本久久综合| 日韩一区二区三区高清免费看看| 国产精品国产a| 奇米精品一区二区三区在线观看 | 久久天天做天天爱综合色| 亚洲视频在线观看三级| 美女在线一区二区| 色婷婷精品久久二区二区蜜臀av| 日韩欧美视频一区| 一区二区在线免费| 国产成人亚洲精品青草天美| 欧美日韩国产在线观看| 欧美韩日一区二区三区| 日韩高清中文字幕一区| 91一区二区三区在线播放| 精品成人一区二区| 日韩专区在线视频| 99久精品国产| 久久伊99综合婷婷久久伊| 亚洲va欧美va国产va天堂影院| 国产福利91精品一区二区三区| 欧美丰满美乳xxx高潮www| 自拍偷拍国产亚洲| 国产精品中文字幕一区二区三区| 正在播放亚洲一区| 一区二区三区成人在线视频| 波多野结衣亚洲| 国产色婷婷亚洲99精品小说| 秋霞午夜鲁丝一区二区老狼| 91久久精品一区二区三| 中文字幕在线播放不卡一区| 国产激情精品久久久第一区二区| 欧美成人免费网站| 美女精品自拍一二三四| 制服.丝袜.亚洲.另类.中文| 亚洲电影中文字幕在线观看| 在线欧美一区二区| 亚洲欧美日韩国产中文在线| 播五月开心婷婷综合| 欧美国产精品久久| 粉嫩在线一区二区三区视频| 国产无一区二区| 国产99精品在线观看| 久久免费美女视频| 国产精品自在欧美一区| 精品久久久久久久久久久久久久久| 亚洲成人动漫一区| 欧美日韩在线一区二区| 亚洲成人福利片| 91精品国产色综合久久不卡电影| 日本一区中文字幕| 91麻豆精品国产综合久久久久久| 亚洲成人动漫在线免费观看| 欧美日本一区二区三区四区| 亚洲成人av在线电影| 欧美日本高清视频在线观看| 日韩主播视频在线| 欧美一区日韩一区| 久久av中文字幕片| 久久天天做天天爱综合色| 成人免费毛片高清视频| 亚洲国产精品成人综合| 不卡一区中文字幕| 亚洲免费av高清| 欧美电影一区二区| 久久精品国产99国产| 久久久亚洲国产美女国产盗摄 | 97精品国产97久久久久久久久久久久| 国产精品视频一二| 欧洲人成人精品| 三级欧美韩日大片在线看| 日韩免费福利电影在线观看| 国产一区在线看| 亚洲日本va午夜在线影院| 在线电影国产精品| 韩国精品主播一区二区在线观看| 久久久99精品免费观看| 色综合色综合色综合| 轻轻草成人在线| 亚洲国产经典视频| 欧美伊人精品成人久久综合97| 美女视频第一区二区三区免费观看网站| 2020日本不卡一区二区视频| 97超碰欧美中文字幕| 日韩黄色免费网站| 欧美激情一二三区| 欧美三级在线播放| 国产专区综合网| 一区二区三区在线视频观看58| 欧美电影免费观看高清完整版| 成人在线视频一区二区| 午夜精品久久久久久久久 | 亚洲午夜视频在线观看| xf在线a精品一区二区视频网站| 成年人网站91| 久久精品国产色蜜蜜麻豆| 中文字幕一区二区不卡| 日韩一区二区在线看| 成人h版在线观看| 日韩va欧美va亚洲va久久| 中文字幕中文字幕在线一区| 91精品国产色综合久久不卡蜜臀 | 风间由美一区二区三区在线观看 | 国产99久久久精品| 亚洲成人av在线电影| 国产精品乱码久久久久久| 7777精品伊人久久久大香线蕉经典版下载 | 国产精品久久久久久妇女6080| 911精品产国品一二三产区| 成人av在线资源网| 久久国产精品99久久人人澡| 怡红院av一区二区三区|