ES2205076T3 - Procedimiento para el tratamiento de datos, especialmente para la transmision con velocidad binaria de canal variable. - Google Patents

Procedimiento para el tratamiento de datos, especialmente para la transmision con velocidad binaria de canal variable.

Info

Publication number
ES2205076T3
ES2205076T3 ES96946105T ES96946105T ES2205076T3 ES 2205076 T3 ES2205076 T3 ES 2205076T3 ES 96946105 T ES96946105 T ES 96946105T ES 96946105 T ES96946105 T ES 96946105T ES 2205076 T3 ES2205076 T3 ES 2205076T3
Authority
ES
Spain
Prior art keywords
bit
error
bits
channel
class
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Lifetime
Application number
ES96946105T
Other languages
English (en)
Inventor
Joerg-Martin Mueller
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=7785367&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2205076(T3) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Application granted granted Critical
Publication of ES2205076T3 publication Critical patent/ES2205076T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/007Unequal error protection
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/35Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0054Maximum-likelihood or sequential decoding, e.g. Viterbi, Fano, ZJ algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0098Unequal error protection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Error Detection And Correction (AREA)
  • Communication Control (AREA)
  • Time-Division Multiplex Systems (AREA)

Abstract

PARA LA EDICION DE DATOS, EN PARTICULAR PARA LA TRANSMISION A TRAVES DE UN CANAL DE UNA DETERMINADA SERIE VARIABLE DE DATOS, LOS DATOS SON SEPARADOS EN CLASES BIT QUE ESTAN PROVISTOS DE DIFERENTES REDUNDANCIAS DE ERROR. ADEMAS, ESTAS CLASES BIT SON VALORADAS CON UNOS FACTORES DE PESO. LAS SERIES DE CODIGOS PARA LAS CLASES BIT SE DISTRIBUYEN DEPENDIENDO DE LOS CORRESPONDIENTES FACTORES DE PESO. CON LA INVENCION ES POSIBLE REALIZAR UN CODEC DE CANAL GRADUABLE, CUYA CONFIGURACION DEPENDE UNICAMENTE DE LA SERIE DE BITS DEL CODEC DE CANAL DISPONIBLE. DICHO CODEC DE CANAL PUEDE SER ADAPTADO FACILMENTE A DIFERENTES PROCESOS DE TRANSMISION.

Description

Procedimiento para el tratamiento de datos, especialmente para la transmisión con velocidad binaria de canal variable.
La invención parte de un procedimiento para el tratamiento de datos para la transmisión a través de un canal con velocidad binaria de canal variable.
Estado de la técnica
La Norma H 324 M para aplicaciones de videoteléfono permite todos los sistemas de radio móviles posibles, de manera que la necesidad de velocidades de datos disponibles (velocidad binaria de canal) puede ser diferente. Incluso dentro de un sistema de transmisión puede ser diferente la velocidad binaria disponible para codecs de canal de señales y de canales de vídeo.
Se conoce por el documento DE 41 37 609 A1 un procedimiento para la decodificación de señales binarias acondicionadas de acuerdo con un código de corrección de errores, transmitidas a través de un canal. La probabilidad de error binario es evaluada y se toma una decisión acerca de si los bits recibidos son correctos o erróneos.
Se conoce por el documento EP-A-0643493 un procedimiento de corrección de errores para un sistema de radio celular digital. Los datos son divididos allí en tres clases de bits diferentes con diferente protección de error. Para la división en las diferentes clases de bits se lleva a cabo una evaluación de los valores de muestreo de voz según el "Análisis del Factor A" y con la ayuda de ensayos de comprensión de voz.
Ventajas de la invención
Con las medidas según las características de la reivindicación 1 de la patente se puede conseguir especialmente una adaptación de un codec de canal para procedimientos de transmisión discrecionales. Las otras reivindicaciones muestran configuraciones ventajosas
En oposición a los procedimientos de transmisión convencionales, no tiene que estar previsto un codec de canal específico para cada sistema de transmisión, por ejemplo para cada sistema de radio móvil, por ejemplo un codec de canal específico para GSM o DECT. La invención funciona de una manera fiable, incluso cuando se desconoce la velocidad binaria de canal disponible. La configuración de un codificador de canal y de un decodificador de canal correspondiente depende en la invención solamente de la velocidad binaria del codec de canal disponible. Es posible una transmisión según G.723.1 a través de canales de radio móvil de diferente velocidad binaria de canal sin modificación del codificador o decodificador de canal. El codificador de canal o bien el decodificador de canal solamente tienen que estar configurados de forma escalable, es decir, que se modifica la velocidad de codificación de una manera escalonada en función de la velocidad binaria de canal.
Dibujos
La figura 1 muestra un diagrama de bloques para el acondicionamiento de datos en la invención.
La figura 2 muestra dos propuestas para la distribución binaria sobre las clases de bits y los factores de ponderación de las clases de bits.
La figura 3 muestra la distribución de los bits sobre clases de bits así como la velocidad de codificación para diferentes velocidades binarias de canal y
La figura 4 muestra una distribución del mismo tipo para otro procedimiento de transmisión.
Descripción de ejemplos de realización
Como se representa en la figura 1, los bits de información a acondicionar de un codificador fuente 1, por ejemplo según la norma de transmisión G.723.1, se disponen en la unidad 2 en función de su sensibilidad de error. El bit más sensible se coloca en la primera posición de la corriente de datos ordenada y el bit menos sensible se coloca en la última posición. La determinación de la sensibilidad al error de los bits de información se basa en procedimientos de medición conocidos, que han sido propuestos en colaboración con la Norma G.723.1. La corriente de datos dispuesta de esta manera es dividida ahora en diferentes clases de bits c [i] - bloque 3-, por ejemplo con i = 0, ..., 3, donde c [0] contiene los bits más sensibles a error y c [4] contiene los bits menos sensibles a error. A continuación se asigna a cada clase de bits un factor de ponderación w [i], i = 0, ..., 4 - bloque 4 -, para el control de la asignación de la velocidad binaria (velocidad de codificación) r para las clases de bits individuales. El factor de ponderación w [i] se selecciona en función de la sensibilidad media a error de la clase de bits c [i] respectiva. La velocidad de codificación r indica en este caso la relación del número de los bits de información k con respecto al número de los bits de transmisión n (F. J. Furrer, Fehlerkorrigierende Block-Codierung für die Datenübertragung, Birkhäuser, Basilea, 1981m, página 270:
r = k/n
Si es r = 1, entonces se transmiten los bits de información sin protección. Para r = ½ se provee cada bit de información con un bit redundante de protección de errores. Los bits de la clase 4 no reciben ninguna protección. La clase c [0] contiene c [0] -3 bits de información y tres bits de código de control de paridad (parity check code), que se añaden al final de la clase c [0] dentro de un bloque de datos. Los bloques de datos con las diferentes clases de bits se alojan en un cuadro de transmisión. La clase c [0] es provista siempre con la redundancia máxima de error, por ejemplo con una velocidad mínima de protección de errores (velocidad de codificación r <= ½ ). Las otras clases no tienen una protección de error tan alta.
Con preferencia, se utiliza para la transmisión un código de control de paridad corto (código de control de paridad de 3 bits) que, como código de reconocimiento de errores debe reconocer los errores no corregidos en el decodificador de canal (bad frame detection = detección de cuadros malos). Especialmente en el caso de utilización de un decodificador de Viterbi, la información de salida de la decisión transitoria (soft decision) de la unidad SOVA (Soft Decision Viterbi Algorithm) es utilizada para la detección de cuadros malos ("bad frame detection"). Con una longitud de limitación (Constraint) de 5 (16 estados) y un código de la velocidad de codificación r = 1/3 se puede realizar una transmisión fiable con gasto tolerable del decodificador. Las longitudes de limitación más elevadas no conducen ya a ninguna elevación conveniente de la ganancia de codificación. Las velocidades de codificación elevadas son derivadas a partir del código de partida de la velocidad 1/3 a través de puntuación de código. Los cuatro bits (tail bits = bits de cola) para la terminación del código son colocados siempre en el extremo de la última clase de bits protegida y reciben la misma velocidad de código que esta clase. De ello se deduce un número mínimo de bits de codec de canal por cada cuadro de transmisión:
B_{min} = c \ [0] + 4
El número máximo de bits de codec de canal por cada cuadro de transmisión cuando todas las clases presentan la velocidad de codificación r = 1/3 incluida la protección de errores:
B_{max} = 2 \text{*} \sum\limits^{3}_{i=0} c[i]+4
\vskip1.000000\baselineskip
Cuando están disponibles B > M_{min} bits por cada cuadro de transmisión, se determinan en una primera pasada las velocidades medias de codificación r' [i], i = 0,... 4 de las clases, por ejemplo según la siguiente relación:
r'[i] = \frac{12}{MIN\left[ 36,NINT(12 \text{*} (1+\frac{B= w[i]}{c[i]}))\right]}
\vskip1.000000\baselineskip
NINT significa aquí el redondeo hacia el número entero siguiente. Para la velocidad de codificación de la clase de bits cero, debe aplicarse la siguiente condición:
r'[0] < = 12/24
Debe mantenerse igualmente la condición:
\sum\limits^{4}_{i=0}u[i]=1
\vskip1.000000\baselineskip
Para distribuir de una manera eficiente los bits de codec de canal, especialmente para aplicaciones de radio móvil, se aplica una redundancia adicional para la velocidad de codificación según la relación siguiente:
1
\vskip1.000000\baselineskip
Cuando con las relaciones anteriores se asignan a una clase menos bits que los que corresponden a la capacidad de un bloque en el cuadro de transmisión, es decir, que este bloque no está totalmente lleno, son recibidos en una segunda pasada bits de la clase i (i > 1) en la clase i - 1 con la sensibilidad a error más elevada siguiente hasta que todos los bits están asignados a las clases de bits correspondiente.
Cuando se asignan a una clase de bits más bits que los que corresponden a la capacidad de su bloque en el cuadro de transmisión, se reciben en la segunda pasada bits de la clase i (i < 4) en la clase i + 1, hasta que se ha alcanzado la velocidad de codificación máxima posible.
En la figura 2 se representan dos propuestas posibles para la distribución de los bits y para la evaluación con los factores de ponderación w [i]. La configuración está ligeramente modificada. Los "tail bits" (bits de cola) son transmitidos en la clase con la mínima redundancia de error (ésta es la clase 3, puesto que la clase 4 se transmite sin protección). Los "bits de codificación de control de paridad" (parity check code bits) para la identificación de errores de la primera clase están designados con crc.
La figura 3 muestra una Tabla para las velocidades de datos variables predeterminables (velocidades binarias de canal) 8.0, 9.0, 10.0 y 11.4 Kbit/s con la distribución de los bits y la velocidad de codificación r [i] correspondiente. Para otras normas de transmisión, por ejemplo según G.723.1, se obtienen otras distribuciones de los bits y otras velocidades de codificación (figura 4).
El procedimiento según la invención se realiza especialmente durante una fase de establecimiento de la comunicación en combinación con un codificador de canal 5 y con el decodificador de canal 7 correspondiente o cada vez que se cambia la velocidad binaria de canal variable. Esto es posible teóricamente para cada cuadro de transmisión. El canal de transmisión 6 está previsto entre el codificador de canal 5 y el decodificador de canal 7. El decodificador fuente 9 se conecta en la unidad de Soft-Decision (Decisión Transitoria) 8.
En la invención, la asignación de la redundancia de error para cada una de las clases de bits se modifica de forma continua y en particular en función de la velocidad binaria de canal variable predeterminable. El número de bits redundantes que está disponible en el cuadro de transmisión es distribuido por medio de una especificación de asignación de una manera óptima sobre las clases de bits, pudiendo modificarse el número de los bits redundantes en etapas de 1 bit.

Claims (11)

1. Procedimiento para el tratamiento de datos para la transmisión a través de un canal con velocidad de datos variable predeterminable, donde se realizan las siguientes medidas:
-
los datos son distribuidos (3) en diferentes clases de bits (c [i]) de acuerdo con su sensibilidad a error,
-
las clases de bits (c [i]) distribuidas de esta manera son evaluadas con factores de ponderación (4) y son provistas con diferente redundancia de error, caracterizado por
-
una distribución tal que la/s clase/s de bits (c [i]) con los bits más sensibles a error recibe/n una redundancia de error más elevada,
-
cada clase de bit (c [i]) es evaluada con un factor de ponderación (w [i]) predeterminado, que es seleccionado en función de la sensibilidad media a error de la clase de bits (c [i]) respectiva,
-
la asignación de la velocidad de codificación (r) de las clases individuales se controla en función de los factores de ponderación (w [i]) respectivos.
2. Procedimiento según la reivindicación 1, caracterizado porque la asignación de la redundancia de error para cada clase de bit se modifica de forma continua en función de la velocidad binaria de canal variable predeterminable.
3. Procedimiento según una de las reivindicaciones 1 ó 2, caracterizado porque la redundancia de error para la clase de bit (c [i]) con la máxima sensibilidad a error se selecciona para que la velocidad binaria, es decir, la relación entre los bits de información y los bits de transmisión sea menor que o igual a ½.
4. Procedimiento según una de las reivindicaciones 1 a 3, caracterizado porque para la clase de bit (c [4]) con la mínima sensibilidad a error se selecciona cero para la redundancia de error.
5. Procedimiento según una de las reivindicaciones 1 a 4, caracterizado porque las clases de bits (c [i]) son alojadas ordenadas por bloques en un cuadro de transmisión.
6. Procedimiento según una de las reivindicaciones 1 a 5, caracterizado porque la redundancia de error para una clase de bit solamente se eleva hasta que es posible conseguir una ganancia de codificación todavía más conveniente.
7. Procedimiento según la reivindicación 5 ó 6, caracterizado porque la redundancia de error es alojada, respectivamente, al final de una clase de bit en el bloque correspondiente.
8. Procedimiento según una de las reivindicaciones 5 a 7, caracterizado porque para el caso de que una clase de bit no llene totalmente la capacidad de un bloque en el cuadro de transmisión, son recibidos bits de una clase de bit con sensibilidad a error más baja en la clase de bit con la sensibilidad a error siguiente superior.
9. Procedimiento según una de las reivindicaciones 5 a 7, caracterizado porque para el caso de que sean asignados a una clase de bit más bits que los que corresponde a la capacidad de su bloque en el cuadro de transmisión, son recibidos bits de una clase de bit con sensibilidad a error más alta en la clase de bit con la sensibilidad a error inferior siguiente.
10. Procedimiento según una de las reivindicaciones 1 a 9 para la realización de una fase de establecimiento de la comunicación en un codificador de canal y en el decodificador de canal correspondiente.
11. Procedimiento según una de las reivindicaciones 1 a 9 para la realización de un cambio predeterminado de la velocidad binaria del canal en un codificador de canal (5) y en el decodificador de canal (7) correspondiente.
ES96946105T 1996-02-14 1996-12-19 Procedimiento para el tratamiento de datos, especialmente para la transmision con velocidad binaria de canal variable. Expired - Lifetime ES2205076T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE19605418.4A DE19605418B4 (de) 1996-02-14 1996-02-14 Verfahren zur Aufbereitung von Daten, insbesondere für die Übertragung mit veränderlicher Kanalbitrate
DE19605418 1996-02-14

Publications (1)

Publication Number Publication Date
ES2205076T3 true ES2205076T3 (es) 2004-05-01

Family

ID=7785367

Family Applications (1)

Application Number Title Priority Date Filing Date
ES96946105T Expired - Lifetime ES2205076T3 (es) 1996-02-14 1996-12-19 Procedimiento para el tratamiento de datos, especialmente para la transmision con velocidad binaria de canal variable.

Country Status (9)

Country Link
US (1) US6141781A (es)
EP (1) EP0880836B1 (es)
JP (1) JP3824653B2 (es)
AU (1) AU717999B2 (es)
CA (1) CA2246278C (es)
DE (2) DE19605418B4 (es)
DK (1) DK0880836T3 (es)
ES (1) ES2205076T3 (es)
WO (1) WO1997030530A1 (es)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI103003B (fi) 1997-06-13 1999-03-31 Nokia Corp Suodatusmenetelmä, suodatin ja kannettava päätelaite
EP1345333B1 (en) * 1998-05-27 2004-09-29 Ntt Mobile Communications Network Inc. Error protection method and error protection device
US20010041981A1 (en) * 2000-02-22 2001-11-15 Erik Ekudden Partial redundancy encoding of speech
EP1303918B1 (en) * 2000-07-17 2010-11-03 Koninklijke Philips Electronics N.V. Signalling of signal significance information between an application layer and a channel encoder
DE10057282C2 (de) * 2000-11-17 2003-12-04 Bosch Gmbh Robert Verfahren zur codierten Modulation
US7230978B2 (en) 2000-12-29 2007-06-12 Infineon Technologies Ag Channel CODEC processor configurable for multiple wireless communications standards
US6732321B2 (en) * 2001-03-27 2004-05-04 Motorola, Inc. Method, apparatus, and article of manufacture for error detection and channel management in a communication system
US6904540B2 (en) 2001-10-29 2005-06-07 Hewlett-Packard Development Company, L.P. Targeted data protection
CN101939974B (zh) * 2007-12-10 2014-08-13 法国电信公司 数字音频二进制帧中的二进制误差的处理
US11423202B2 (en) * 2020-08-31 2022-08-23 Siemens Industry Software Inc. Suspect resolution for scan chain defect diagnosis
JP7735703B2 (ja) * 2021-07-27 2025-09-09 セイコーエプソン株式会社 電気光学装置及び電子機器

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5243629A (en) * 1991-09-03 1993-09-07 At&T Bell Laboratories Multi-subcarrier modulation for hdtv transmission
DE4137609C2 (de) * 1991-11-15 1998-04-16 Bosch Gmbh Robert Kombiniertes Sprach- und Kanaldecodierverfahren
US5745532A (en) * 1992-03-12 1998-04-28 Ntp Incorporated System for wireless transmission and receiving of information and method of operation thereof
CA2131674A1 (en) * 1993-09-10 1995-03-11 Kalyan Ganesan High performance error control coding in channel encoders and decoders
US5469471A (en) * 1994-02-01 1995-11-21 Qualcomm Incorporated Method and apparatus for providing a communication link quality indication
DE4408163A1 (de) * 1994-03-11 1995-09-14 Bosch Gmbh Robert Verfahren zum Übertragen von Daten
US5668810A (en) * 1995-04-26 1997-09-16 Scientific-Atlanta, Inc. Data transmission protocol method and apparatus

Also Published As

Publication number Publication date
CA2246278A1 (en) 1997-08-21
EP0880836B1 (de) 2003-08-13
US6141781A (en) 2000-10-31
JP3824653B2 (ja) 2006-09-20
AU1870197A (en) 1997-09-02
DE19605418A1 (de) 1997-08-21
CA2246278C (en) 2005-10-04
DE19605418B4 (de) 2014-11-20
DK0880836T3 (da) 2003-12-01
WO1997030530A1 (de) 1997-08-21
EP0880836A1 (de) 1998-12-02
JP2000504903A (ja) 2000-04-18
DE59610664D1 (de) 2003-09-18
AU717999B2 (en) 2000-04-06

Similar Documents

Publication Publication Date Title
ES2205076T3 (es) Procedimiento para el tratamiento de datos, especialmente para la transmision con velocidad binaria de canal variable.
US6567938B2 (en) Convolution decoding terminated by an error detection block code with distributed parity bits
ES2244638T3 (es) Procedimiento de compresion de encabezamiento para protocolos de red.
US6178535B1 (en) Method for decreasing the frame error rate in data transmission in the form of data frames
US7154917B2 (en) Transmission system for transmitting a main signal and an auxiliary signal
WO2003039057A3 (en) Inner coding of higher priority data within a digital message
PL377355A1 (pl) Ciągła fonia zapasowa
JPH0555932A (ja) 誤り訂正符復号化装置
CA2300835A1 (en) Method for packet transmission using an arq protocol on transmission channels in a digital transmission system
EP0823787A3 (en) A rate 16/17 ENDEC with independent high/low byte decoding
ES2267805T3 (es) Metodo y sistema para transferir tramas de señalizacion semi tasa.
DE69912628D1 (de) Kodierung/dekodierung von zusätzlichen symbolen in einem kommunikationssystem
US6724327B1 (en) Lower latency coding/decoding
ES2273474T3 (es) Codificacion/decodificacion aritmetica de una señal de informacion digital.
US6643817B2 (en) Transmission system with adaptive channel encoder and decoder
EP1237316A3 (en) Apparatus and method for coding / decoding channels in a mobile communication system
US5928377A (en) Method and apparatus for data transmission through manipulation of encoding formats
US5768314A (en) Communications system
JPH11112359A (ja) Crc符号化方法及びcrc符号化装置
US8509359B2 (en) Multi-channel sequential Viterbi decoder
WO2006111792A3 (en) System and method for decoding signalling messages on flo hr channels
KR100282070B1 (ko) 오류검출부호의길쌈부호화및복호화방법
JP2002533013A (ja) フレーム内に構造化された情報の伝送符号化乃至復号化用の方法及び装置
KR100811376B1 (ko) 통신시스템에서의 부호화 및 복호화 방법
KR100455274B1 (ko) 저전력 버스 반전 부호화방법